[cimg] 01/11: Imported Upstream version 1.6.5+dfsg

Andreas Tille tille at debian.org
Tue May 3 09:03:05 UTC 2016


This is an automated email from the git hooks/post-receive script.

tille pushed a commit to branch master
in repository cimg.

commit 7a4a98a4b20f159477734a3b753258d89132d9fe
Author: Andreas Tille <tille at debian.org>
Date:   Tue May 3 09:11:50 2016 +0200

    Imported Upstream version 1.6.5+dfsg
---
 CImg.h                                             | 51731 ++++++++++++
 Licence_CeCILL-C_V1-en.txt                         |   508 +
 Licence_CeCILL_V2-en.txt                           |   504 +
 README.md                                          |    24 +
 README.txt                                         |   176 +
 examples/CImg_demo.cpp                             |  1690 +
 examples/CMakeLists.txt                            |   310 +
 examples/Makefile                                  |   609 +
 examples/captcha.cpp                               |   163 +
 examples/curve_editor2d.cpp                        |   356 +
 examples/dtmri_view3d.cpp                          |   562 +
 examples/edge_explorer2d.cpp                       |   218 +
 examples/fade_images.cpp                           |    94 +
 examples/gaussian_fit1d.cpp                        |   172 +
 examples/generate_loop_macros.cpp                  |   353 +
 examples/hough_transform2d.cpp                     |   146 +
 examples/image2ascii.cpp                           |   157 +
 examples/image_registration2d.cpp                  |   216 +
 examples/image_surface3d.cpp                       |   140 +
 examples/img/CImg_demo.h                           | 31909 ++++++++
 examples/img/logo.bmp                              |   Bin 0 -> 90534 bytes
 examples/img/milla.bmp                             |   Bin 0 -> 153966 bytes
 examples/img/odykill.h                             | 79162 +++++++++++++++++++
 examples/img/parrot.ppm                            |   Bin 0 -> 739676 bytes
 examples/img/parrot_mask.pgm                       |   Bin 0 -> 246569 bytes
 examples/img/sh0r.pgm                              |   256 +
 examples/img/sh1r.pgm                              |   243 +
 examples/img/tetris.h                              |  2313 +
 examples/jawbreaker.cpp                            |   232 +
 examples/mcf_levelsets2d.cpp                       |   120 +
 examples/mcf_levelsets3d.cpp                       |   180 +
 examples/odykill.cpp                               |   229 +
 examples/pde_TschumperleDeriche2d.cpp              |   231 +
 examples/pde_heatflow2d.cpp                        |   114 +
 examples/plotter1d.cpp                             |    73 +
 examples/radon_transform2d.cpp                     |   379 +
 examples/scene3d.cpp                               |   142 +
 examples/spherical_function3d.cpp                  |   113 +
 examples/tetris.cpp                                |   208 +
 examples/tron.cpp                                  |   190 +
 examples/tutorial.cpp                              |   133 +
 examples/use_RGBclass.cpp                          |   138 +
 examples/use_chlpca.cpp                            |    70 +
 examples/use_cimgIPL.cpp                           |   155 +
 examples/use_cimgmatlab.cpp                        |   102 +
 examples/use_cimgmatlab.m                          |    33 +
 examples/use_draw_gradient.cpp                     |   138 +
 examples/use_jpeg_buffer.cpp                       |   109 +
 examples/use_nlmeans.cpp                           |   125 +
 examples/use_patchmatch.cpp                        |   103 +
 examples/use_skeleton.cpp                          |   119 +
 examples/use_tiff_stream.cpp                       |    81 +
 examples/use_tinymatwriter.cpp                     |   135 +
 examples/wavelet_atrous.cpp                        |   195 +
 html/CImg.doxygen                                  |  1473 +
 html/CImg_documentation.h                          |  1055 +
 html/download.shtml                                |    45 +
 html/favicon.ico                                   |   Bin 0 -> 1406 bytes
 html/favicon.png                                   |   Bin 0 -> 520 bytes
 html/footer.html                                   |    47 +
 html/footer_reference.html                         |    45 +
 html/header.html                                   |    79 +
 html/header_reference.html                         |    78 +
 html/images/centre.jpg                             |   Bin 0 -> 13504 bytes
 html/images/centre_no_repeat.jpg                   |   Bin 0 -> 13504 bytes
 html/images/footer.jpg                             |   Bin 0 -> 4855 bytes
 html/images/header.jpg                             |   Bin 0 -> 12668 bytes
 html/images/header_bis.jpg                         |   Bin 0 -> 10526 bytes
 html/images/header_bleu.jpg                        |   Bin 0 -> 17284 bytes
 html/images/header_gris.jpg                        |   Bin 0 -> 16474 bytes
 html/images/header_rouge.jpg                       |   Bin 0 -> 17576 bytes
 html/images/header_vert.jpg                        |   Bin 0 -> 16625 bytes
 html/images/tab_02.jpg                             |   Bin 0 -> 3082 bytes
 html/images/tab_04.jpg                             |   Bin 0 -> 2239 bytes
 html/img/CImgLogo.jpg                              |   Bin 0 -> 47685 bytes
 html/img/CImgLogo2.jpg                             |   Bin 0 -> 27014 bytes
 html/img/CImg_flyer.jpg                            |   Bin 0 -> 421624 bytes
 html/img/curve_editor.jpg                          |   Bin 0 -> 52164 bytes
 html/img/item_authors.jpg                          |   Bin 0 -> 1209 bytes
 html/img/item_chat.gif                             |   Bin 0 -> 2146 bytes
 html/img/item_clickvideo.jpg                       |   Bin 0 -> 1992 bytes
 html/img/item_clickvideo2.jpg                      |   Bin 0 -> 1885 bytes
 html/img/item_copyrights.jpg                       |   Bin 0 -> 1461 bytes
 html/img/item_debian_package.jpg                   |   Bin 0 -> 2613 bytes
 html/img/item_debian_package2.jpg                  |   Bin 0 -> 2559 bytes
 html/img/item_description.jpg                      |   Bin 0 -> 946 bytes
 html/img/item_download.gif                         |   Bin 0 -> 2037 bytes
 html/img/item_extensibility.jpg                    |   Bin 0 -> 1687 bytes
 html/img/item_file.jpg                             |   Bin 0 -> 659 bytes
 html/img/item_freedom.jpg                          |   Bin 0 -> 1536 bytes
 html/img/item_genericity.jpg                       |   Bin 0 -> 1376 bytes
 html/img/item_guestbook.jpg                        |   Bin 0 -> 2384 bytes
 html/img/item_howtohelp.jpg                        |   Bin 0 -> 1794 bytes
 html/img/item_intro.gif                            |   Bin 0 -> 2985 bytes
 html/img/item_learnmore.jpg                        |   Bin 0 -> 1489 bytes
 html/img/item_licenses.jpg                         |   Bin 0 -> 1246 bytes
 html/img/item_links.gif                            |   Bin 0 -> 1508 bytes
 html/img/item_news.gif                             |   Bin 0 -> 2716 bytes
 html/img/item_portability.jpg                      |   Bin 0 -> 1721 bytes
 html/img/item_precompiled.jpg                      |   Bin 0 -> 3018 bytes
 html/img/item_precompiled2.jpg                     |   Bin 0 -> 2856 bytes
 html/img/item_quickhistory.jpg                     |   Bin 0 -> 1700 bytes
 html/img/item_screenshots.gif                      |   Bin 0 -> 2196 bytes
 html/img/item_simplicity.jpg                       |   Bin 0 -> 1572 bytes
 html/img/item_sources.jpg                          |   Bin 0 -> 2928 bytes
 html/img/item_sources2.jpg                         |   Bin 0 -> 2793 bytes
 html/img/item_standard_package.jpg                 |   Bin 0 -> 2711 bytes
 html/img/item_standard_package2.jpg                |   Bin 0 -> 2623 bytes
 html/img/item_usefulness.jpg                       |   Bin 0 -> 1593 bytes
 html/img/logoCNRS.gif                              |   Bin 0 -> 3273 bytes
 html/img/logoGMIC.ppm                              |   Bin 0 -> 6785 bytes
 html/img/logoGREYC.gif                             |   Bin 0 -> 2495 bytes
 html/img/logoIMAGE.gif                             |   Bin 0 -> 3473 bytes
 html/img/logoINRIA.gif                             |   Bin 0 -> 1837 bytes
 html/img/logoODYSSEE.jpg                           |   Bin 0 -> 1639 bytes
 html/img/postcard1.jpg                             |   Bin 0 -> 33985 bytes
 html/img/postcard10.jpg                            |   Bin 0 -> 47516 bytes
 html/img/postcard11.jpg                            |   Bin 0 -> 114479 bytes
 html/img/postcard12.jpg                            |   Bin 0 -> 98927 bytes
 html/img/postcard13.jpg                            |   Bin 0 -> 103513 bytes
 html/img/postcard14.jpg                            |   Bin 0 -> 130890 bytes
 html/img/postcard15.jpg                            |   Bin 0 -> 92032 bytes
 html/img/postcard16.jpg                            |   Bin 0 -> 125066 bytes
 html/img/postcard17.jpg                            |   Bin 0 -> 100482 bytes
 html/img/postcard18.jpg                            |   Bin 0 -> 105155 bytes
 html/img/postcard19.jpg                            |   Bin 0 -> 33526 bytes
 html/img/postcard2.jpg                             |   Bin 0 -> 32177 bytes
 html/img/postcard20.jpg                            |   Bin 0 -> 23574 bytes
 html/img/postcard21.jpg                            |   Bin 0 -> 73230 bytes
 html/img/postcard22.jpg                            |   Bin 0 -> 15553 bytes
 html/img/postcard23.jpg                            |   Bin 0 -> 16614 bytes
 html/img/postcard24.jpg                            |   Bin 0 -> 21545 bytes
 html/img/postcard25.jpg                            |   Bin 0 -> 14460 bytes
 html/img/postcard26.jpg                            |   Bin 0 -> 26100 bytes
 html/img/postcard27.jpg                            |   Bin 0 -> 28887 bytes
 html/img/postcard28.jpg                            |   Bin 0 -> 107344 bytes
 html/img/postcard29.jpg                            |   Bin 0 -> 111353 bytes
 html/img/postcard3.jpg                             |   Bin 0 -> 161009 bytes
 html/img/postcard30.jpg                            |   Bin 0 -> 20984 bytes
 html/img/postcard31.jpg                            |   Bin 0 -> 70777 bytes
 html/img/postcard32.jpg                            |   Bin 0 -> 88699 bytes
 html/img/postcard33.jpg                            |   Bin 0 -> 27590 bytes
 html/img/postcard34.jpg                            |   Bin 0 -> 192499 bytes
 html/img/postcard35.jpg                            |   Bin 0 -> 30788 bytes
 html/img/postcard36.jpg                            |   Bin 0 -> 41640 bytes
 html/img/postcard37.jpg                            |   Bin 0 -> 125786 bytes
 html/img/postcard38.jpg                            |   Bin 0 -> 19505 bytes
 html/img/postcard39.jpg                            |   Bin 0 -> 101721 bytes
 html/img/postcard4.jpg                             |   Bin 0 -> 121337 bytes
 html/img/postcard40.jpg                            |   Bin 0 -> 12872 bytes
 html/img/postcard41.jpg                            |   Bin 0 -> 13553 bytes
 html/img/postcard42.jpg                            |   Bin 0 -> 16241 bytes
 html/img/postcard43.jpg                            |   Bin 0 -> 17167 bytes
 html/img/postcard44.jpg                            |   Bin 0 -> 21761 bytes
 html/img/postcard45.jpg                            |   Bin 0 -> 106388 bytes
 html/img/postcard46.jpg                            |   Bin 0 -> 77339 bytes
 html/img/postcard47.jpg                            |   Bin 0 -> 89065 bytes
 html/img/postcard48.jpg                            |   Bin 0 -> 33683 bytes
 html/img/postcard49.jpg                            |   Bin 0 -> 28317 bytes
 html/img/postcard5.jpg                             |   Bin 0 -> 160804 bytes
 html/img/postcard50.jpg                            |   Bin 0 -> 20224 bytes
 html/img/postcard51.jpg                            |   Bin 0 -> 125339 bytes
 html/img/postcard52.jpg                            |   Bin 0 -> 20127 bytes
 html/img/postcard53.jpg                            |   Bin 0 -> 21563 bytes
 html/img/postcard6.jpg                             |   Bin 0 -> 150731 bytes
 html/img/postcard7.jpg                             |   Bin 0 -> 153359 bytes
 html/img/postcard8.jpg                             |   Bin 0 -> 104499 bytes
 html/img/postcard9.jpg                             |   Bin 0 -> 137613 bytes
 html/img/reference/ref_box3d.jpg                   |   Bin 0 -> 2025 bytes
 html/img/reference/ref_colormap_cool.jpg           |   Bin 0 -> 2979 bytes
 html/img/reference/ref_colormap_cube.jpg           |   Bin 0 -> 3518 bytes
 html/img/reference/ref_colormap_default.jpg        |   Bin 0 -> 5586 bytes
 html/img/reference/ref_colormap_flag.jpg           |   Bin 0 -> 8929 bytes
 html/img/reference/ref_colormap_hot.jpg            |   Bin 0 -> 2907 bytes
 html/img/reference/ref_colormap_hsv.jpg            |   Bin 0 -> 3403 bytes
 html/img/reference/ref_colormap_jet.jpg            |   Bin 0 -> 3280 bytes
 html/img/reference/ref_colormap_lines.jpg          |   Bin 0 -> 8356 bytes
 html/img/reference/ref_cone3d.jpg                  |   Bin 0 -> 3655 bytes
 html/img/reference/ref_constructor1.jpg            |   Bin 0 -> 1856 bytes
 html/img/reference/ref_constructor2.jpg            |   Bin 0 -> 11519 bytes
 html/img/reference/ref_contrast_LUT256.jpg         |   Bin 0 -> 6877 bytes
 html/img/reference/ref_cut.jpg                     |   Bin 0 -> 7326 bytes
 html/img/reference/ref_cylinder3d.jpg              |   Bin 0 -> 2883 bytes
 html/img/reference/ref_default_LUT256.jpg          |   Bin 0 -> 2781 bytes
 html/img/reference/ref_elevation3d.jpg             |   Bin 0 -> 12060 bytes
 html/img/reference/ref_ellipsoid3d.jpg             |   Bin 0 -> 3102 bytes
 html/img/reference/ref_equalize.jpg                |   Bin 0 -> 43170 bytes
 html/img/reference/ref_histogram.jpg               |   Bin 0 -> 9982 bytes
 html/img/reference/ref_image.jpg                   |   Bin 0 -> 19475 bytes
 html/img/reference/ref_index.jpg                   |   Bin 0 -> 16297 bytes
 html/img/reference/ref_isoline3d.jpg               |   Bin 0 -> 8909 bytes
 html/img/reference/ref_isosurface3d.jpg            |   Bin 0 -> 9029 bytes
 html/img/reference/ref_label_regions.jpg           |   Bin 0 -> 11588 bytes
 html/img/reference/ref_map.jpg                     |   Bin 0 -> 47340 bytes
 html/img/reference/ref_noise.jpg                   |   Bin 0 -> 12159 bytes
 html/img/reference/ref_norm.jpg                    |   Bin 0 -> 36408 bytes
 html/img/reference/ref_normalize.jpg               |   Bin 0 -> 32312 bytes
 html/img/reference/ref_normalize2.jpg              |   Bin 0 -> 6697 bytes
 html/img/reference/ref_operator_comma.jpg          |   Bin 0 -> 13678 bytes
 html/img/reference/ref_operator_eq.jpg             |   Bin 0 -> 16529 bytes
 html/img/reference/ref_operator_less.jpg           |   Bin 0 -> 19448 bytes
 html/img/reference/ref_operator_minus.jpg          |   Bin 0 -> 10924 bytes
 html/img/reference/ref_operator_plus.jpg           |   Bin 0 -> 11887 bytes
 html/img/reference/ref_operator_plus1.jpg          |   Bin 0 -> 6579 bytes
 html/img/reference/ref_plane3d.jpg                 |   Bin 0 -> 5166 bytes
 html/img/reference/ref_quantize.jpg                |   Bin 0 -> 10301 bytes
 html/img/reference/ref_rainbow_LUT256.jpg          |   Bin 0 -> 3860 bytes
 html/img/reference/ref_sphere3d.jpg                |   Bin 0 -> 2925 bytes
 html/img/reference/ref_sqr.jpg                     |   Bin 0 -> 45941 bytes
 html/img/reference/ref_sqrt.jpg                    |   Bin 0 -> 10380 bytes
 html/img/reference/ref_threshold.jpg               |   Bin 0 -> 12088 bytes
 html/img/reference/ref_torus3d.jpg                 |   Bin 0 -> 2482 bytes
 html/img/ss_blobs.jpg                              |   Bin 0 -> 17426 bytes
 html/img/ss_bubble.jpg                             |   Bin 0 -> 7258 bytes
 html/img/ss_bump.jpg                               |   Bin 0 -> 61110 bytes
 html/img/ss_demomenu.jpg                           |   Bin 0 -> 34928 bytes
 html/img/ss_dtmri.jpg                              |   Bin 0 -> 86565 bytes
 html/img/ss_fourier.jpg                            |   Bin 0 -> 10124 bytes
 html/img/ss_hough.jpg                              |   Bin 0 -> 58712 bytes
 html/img/ss_imgfade.jpg                            |   Bin 0 -> 6373 bytes
 html/img/ss_jawbreaker.jpg                         |   Bin 0 -> 49169 bytes
 html/img/ss_landscape.jpg                          |   Bin 0 -> 13751 bytes
 html/img/ss_mandelbrot.jpg                         |   Bin 0 -> 73565 bytes
 html/img/ss_metaballs.jpg                          |   Bin 0 -> 131447 bytes
 html/img/ss_mini_000000.jpg                        |   Bin 0 -> 9060 bytes
 html/img/ss_mini_000001.jpg                        |   Bin 0 -> 20980 bytes
 html/img/ss_mini_000002.jpg                        |   Bin 0 -> 5767 bytes
 html/img/ss_mini_000003.jpg                        |   Bin 0 -> 6884 bytes
 html/img/ss_mini_000004.jpg                        |   Bin 0 -> 13191 bytes
 html/img/ss_mini_000005.jpg                        |   Bin 0 -> 11659 bytes
 html/img/ss_mini_000006.jpg                        |   Bin 0 -> 7356 bytes
 html/img/ss_mini_000007.jpg                        |   Bin 0 -> 9267 bytes
 html/img/ss_mini_000008.jpg                        |   Bin 0 -> 10395 bytes
 html/img/ss_mini_000009.jpg                        |   Bin 0 -> 13076 bytes
 html/img/ss_mini_000010.jpg                        |   Bin 0 -> 5385 bytes
 html/img/ss_mini_000011.jpg                        |   Bin 0 -> 6295 bytes
 html/img/ss_mini_000012.jpg                        |   Bin 0 -> 1099 bytes
 html/img/ss_mini_000013.jpg                        |   Bin 0 -> 1473 bytes
 html/img/ss_mini_000014.jpg                        |   Bin 0 -> 1291 bytes
 html/img/ss_mini_000015.jpg                        |   Bin 0 -> 2106 bytes
 html/img/ss_mini_000016.jpg                        |   Bin 0 -> 1915 bytes
 html/img/ss_mini_000017.jpg                        |   Bin 0 -> 1897 bytes
 html/img/ss_mini_000018.jpg                        |   Bin 0 -> 6948 bytes
 html/img/ss_mini_000019.jpg                        |   Bin 0 -> 15670 bytes
 html/img/ss_mini_000020.jpg                        |   Bin 0 -> 1153 bytes
 html/img/ss_mini_000021.jpg                        |   Bin 0 -> 9197 bytes
 html/img/ss_mini_000022.jpg                        |   Bin 0 -> 8121 bytes
 html/img/ss_mini_000023.jpg                        |   Bin 0 -> 8458 bytes
 html/img/ss_mini_000024.jpg                        |   Bin 0 -> 27697 bytes
 html/img/ss_mini_000025.jpg                        |   Bin 0 -> 9597 bytes
 html/img/ss_mini_000026.jpg                        |   Bin 0 -> 3739 bytes
 html/img/ss_mini_000027.jpg                        |   Bin 0 -> 8340 bytes
 html/img/ss_odykill.jpg                            |   Bin 0 -> 15496 bytes
 html/img/ss_optflow.jpg                            |   Bin 0 -> 55045 bytes
 html/img/ss_paint.jpg                              |   Bin 0 -> 10593 bytes
 html/img/ss_plasma.jpg                             |   Bin 0 -> 14476 bytes
 html/img/ss_puzzle.jpg                             |   Bin 0 -> 276130 bytes
 html/img/ss_reflection.jpg                         |   Bin 0 -> 25852 bytes
 html/img/ss_render3d.jpg                           |   Bin 0 -> 10918 bytes
 html/img/ss_restoration.jpg                        |   Bin 0 -> 63829 bytes
 html/img/ss_rotozoom.jpg                           |   Bin 0 -> 11087 bytes
 html/img/ss_shadebobs.jpg                          |   Bin 0 -> 34204 bytes
 html/img/ss_surface.jpg                            |   Bin 0 -> 22095 bytes
 html/img/ss_tetris.jpg                             |   Bin 0 -> 11459 bytes
 html/img/ss_triangle.jpg                           |   Bin 0 -> 43314 bytes
 html/img/ss_volume3d.jpg                           |   Bin 0 -> 13007 bytes
 html/img/ss_waves.jpg                              |   Bin 0 -> 13656 bytes
 html/img/tutorial.jpg                              |   Bin 0 -> 104446 bytes
 html/img/video_blobs.html                          |     1 +
 html/img/video_bubble.html                         |     1 +
 html/img/video_bump.html                           |     1 +
 html/img/video_cimgdemo.html                       |     1 +
 html/img/video_curveeditor.html                    |     2 +
 html/img/video_doubletorus.html                    |     1 +
 html/img/video_dtmri.html                          |     1 +
 html/img/video_fourier.html                        |     1 +
 html/img/video_imagesurface.html                   |     1 +
 html/img/video_jawbreaker.html                     |     1 +
 html/img/video_landscape.html                      |     1 +
 html/img/video_mandelbrot.html                     |     1 +
 html/img/video_menu.html                           |     1 +
 html/img/video_metaballs.html                      |     1 +
 html/img/video_minipaint.html                      |     1 +
 html/img/video_plasma.html                         |     1 +
 html/img/video_reflection.html                     |     1 +
 html/img/video_shadebobs.html                      |     1 +
 html/img/video_tetris.html                         |     1 +
 html/img/video_waves.html                          |     1 +
 html/index.shtml                                   |   358 +
 html/links.shtml                                   |    42 +
 html/screenshots.shtml                             |   356 +
 html/style.css                                     |   148 +
 plugins/add_fileformat.h                           |    79 +
 plugins/bayer.h                                    |   212 +
 plugins/chlpca.h                                   |   322 +
 plugins/cvMat.h                                    |   343 +
 plugins/draw_gradient.h                            |   269 +
 plugins/inpaint.h                                  |   500 +
 plugins/ipl.h                                      |   309 +
 plugins/ipl_alt.h                                  |   122 +
 plugins/jpeg_buffer.h                              |   376 +
 plugins/loop_macros.h                              | 24166 ++++++
 plugins/matlab.h                                   |   287 +
 plugins/nlmeans.h                                  |   242 +
 plugins/patchmatch.h                               |   227 +
 plugins/skeleton.h                                 |   587 +
 plugins/tiff_stream.h                              |   192 +
 plugins/tinymatwriter.h                            |   109 +
 plugins/vrml.h                                     |   894 +
 plugins/vtk.h                                      |   103 +
 resources/CImg.pc                                  |     8 +
 resources/cimg_buildpackage                        |   159 +
 resources/compile_win_icl.bat                      |    15 +
 resources/compile_win_visualcpp.bat                |    15 +
 resources/debian/changelog                         |     5 +
 resources/debian/cimg-dev.dirs                     |     3 +
 resources/debian/cimg-dev.install                  |     3 +
 resources/debian/cimg-dev.links                    |     3 +
 resources/debian/compat                            |     1 +
 resources/debian/control                           |    22 +
 resources/debian/copyright                         |  1035 +
 resources/debian/docs                              |     1 +
 resources/debian/rules                             |    80 +
 .../project_win_visualcpp.sln                      |    20 +
 .../project_win_visualcpp.suo                      |   Bin 0 -> 7168 bytes
 .../project_win_visualcpp.vcproj                   |   200 +
 326 files changed, 210515 insertions(+)

diff --git a/CImg.h b/CImg.h
new file mode 100644
index 0000000..5ba4839
--- /dev/null
+++ b/CImg.h
@@ -0,0 +1,51731 @@
+/*
+ #
+ #  File            : CImg.h
+ #                    ( C++ header file )
+ #
+ #  Description     : The C++ Template Image Processing Toolkit.
+ #                    This file is the main component of the CImg Library project.
+ #                    ( http://cimg.eu )
+ #
+ #  Project manager : David Tschumperle.
+ #                    ( http://tschumperle.users.greyc.fr/ )
+ #
+ #                    A complete list of contributors is available in file 'README.txt'
+ #                    distributed within the CImg package.
+ #
+ #  Licenses        : This file is 'dual-licensed', you have to choose one
+ #                    of the two licenses below to apply.
+ #
+ #                    CeCILL-C
+ #                    The CeCILL-C license is close to the GNU LGPL.
+ #                    ( http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html )
+ #
+ #                or  CeCILL v2.0
+ #                    The CeCILL license is compatible with the GNU GPL.
+ #                    ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed either by the CeCILL or the CeCILL-C license
+ #  under French law and abiding by the rules of distribution of free software.
+ #  You can  use, modify and or redistribute the software under the terms of
+ #  the CeCILL or CeCILL-C licenses as circulated by CEA, CNRS and INRIA
+ #  at the following URL: "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL and CeCILL-C licenses and that you accept its terms.
+ #
+*/
+
+// Set version number of the library.
+#ifndef cimg_version
+#define cimg_version 165
+
+/*-----------------------------------------------------------
+ #
+ # Test and possibly auto-set CImg configuration variables
+ # and include required headers.
+ #
+ # If you find that the default configuration variables are
+ # not adapted to your system, you can override their values
+ # before including the header file "CImg.h"
+ # (use the #define directive).
+ #
+ ------------------------------------------------------------*/
+
+// Include standard C++ headers.
+// This is the minimal set of required headers to make CImg-based codes compile.
+#include <cstdio>
+#include <cstdlib>
+#include <cstdarg>
+#include <cstring>
+#include <cmath>
+#include <climits>
+#include <ctime>
+#include <exception>
+
+// Detect/configure OS variables.
+//
+// Define 'cimg_OS' to: '0' for an unknown OS (will try to minize library dependencies).
+//                      '1' for a Unix-like OS (Linux, Solaris, BSD, MacOSX, Irix, ...).
+//                      '2' for Microsoft Windows.
+//                      (auto-detection is performed if 'cimg_OS' is not set by the user).
+#ifndef cimg_OS
+#if defined(unix)        || defined(__unix)      || defined(__unix__) \
+ || defined(linux)       || defined(__linux)     || defined(__linux__) \
+ || defined(sun)         || defined(__sun) \
+ || defined(BSD)         || defined(__OpenBSD__) || defined(__NetBSD__) \
+ || defined(__FreeBSD__) || defined (__DragonFly__) \
+ || defined(sgi)         || defined(__sgi) \
+ || defined(__MACOSX__)  || defined(__APPLE__) \
+ || defined(__CYGWIN__)
+#define cimg_OS 1
+#elif defined(_MSC_VER) || defined(WIN32)  || defined(_WIN32) || defined(__WIN32__) \
+   || defined(WIN64)    || defined(_WIN64) || defined(__WIN64__)
+#define cimg_OS 2
+#else
+#define cimg_OS 0
+#endif
+#elif !(cimg_OS==0 || cimg_OS==1 || cimg_OS==2)
+#error CImg Library: Invalid configuration variable 'cimg_OS'.
+#error (correct values are '0 = unknown OS', '1 = Unix-like OS', '2 = Microsoft Windows').
+#endif
+
+// Disable silly warnings on some Microsoft VC++ compilers.
+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning(disable:4127)
+#pragma warning(disable:4311)
+#pragma warning(disable:4312)
+#pragma warning(disable:4512)
+#pragma warning(disable:4571)
+#pragma warning(disable:4640)
+#pragma warning(disable:4706)
+#pragma warning(disable:4710)
+#pragma warning(disable:4800)
+#pragma warning(disable:4804)
+#pragma warning(disable:4820)
+#pragma warning(disable:4996)
+#define _CRT_SECURE_NO_DEPRECATE 1
+#define _CRT_NONSTDC_NO_DEPRECATE 1
+#endif
+
+// Define correct string functions for each compiler and OS.
+#if cimg_OS==2 && defined(_MSC_VER)
+#define cimg_sscanf std::sscanf
+#define cimg_sprintf std::sprintf
+#define cimg_snprintf cimg::_snprintf
+#define cimg_vsnprintf cimg::_vsnprintf
+#else
+#include <stdio.h>
+#if defined(__MACOSX__) || defined(__APPLE__)
+#define cimg_sscanf cimg::_sscanf
+#define cimg_sprintf cimg::_sprintf
+#define cimg_snprintf cimg::_snprintf
+#define cimg_vsnprintf cimg::_vsnprintf
+#else
+#define cimg_sscanf std::sscanf
+#define cimg_sprintf std::sprintf
+#define cimg_snprintf snprintf
+#define cimg_vsnprintf vsnprintf
+#endif
+#endif
+
+// Include OS-specific headers.
+#if cimg_OS==1
+#include <sys/types.h>
+#include <sys/time.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include <dirent.h>
+#include <fnmatch.h>
+#elif cimg_OS==2
+#ifndef NOMINMAX
+#define NOMINMAX
+#endif
+#include <windows.h>
+#ifndef _WIN32_IE
+#define _WIN32_IE 0x0400
+#endif
+#include <shlobj.h>
+#include <process.h>
+#include <io.h>
+#endif
+
+// Look for C++11 features
+#if !defined(cimg_use_cpp11) && __cplusplus>201100
+#define cimg_use_cpp11
+#endif
+#ifdef cimg_use_cpp11
+#include <initializer_list>
+#include <utility>
+#endif
+
+// Configure the 'abort' signal handler (does nothing by default).
+// A typical signal handler can be defined in your own source like this:
+// Without OpenMP support: #define cimg_test_abort() if (is_abort) throw CImgAbortException("")
+//
+// or
+//
+// With OpenMP support: #define cimg_test_abort() if (!omp_get_thread_num() && is_abort) throw CImgAbortException("")
+//
+// where 'is_abort' is a boolean variable.
+#ifndef cimg_test_abort
+#define cimg_test_abort()
+#endif
+
+// Configure filename separator.
+//
+// Filename separator is set by default to '/', except for Windows where it is '\'.
+#ifndef cimg_file_separator
+#if cimg_OS==2
+#define cimg_file_separator '\\'
+#else
+#define cimg_file_separator '/'
+#endif
+#endif
+
+// Configure verbosity of output messages.
+//
+// Define 'cimg_verbosity' to: '0' to hide library messages (quiet mode).
+//                             '1' to output library messages on the console.
+//                             '2' to output library messages on a basic dialog window (default behavior).
+//                             '3' to do as '1' + add extra warnings (may slow down the code!).
+//                             '4' to do as '2' + add extra warnings (may slow down the code!).
+//
+// Define 'cimg_strict_warnings' to replace warning messages by exception throwns.
+//
+// Define 'cimg_use_vt100' to allow output of color messages on VT100-compatible terminals.
+#ifndef cimg_verbosity
+#define cimg_verbosity 2
+#elif !(cimg_verbosity==0 || cimg_verbosity==1 || cimg_verbosity==2 || cimg_verbosity==3 || cimg_verbosity==4)
+#error CImg Library: Configuration variable 'cimg_verbosity' is badly defined.
+#error (should be { 0=quiet | 1=console | 2=dialog | 3=console+warnings | 4=dialog+warnings }).
+#endif
+
+// Configure display framework.
+//
+// Define 'cimg_display' to: '0' to disable display capabilities.
+//                           '1' to use the X-Window framework (X11).
+//                           '2' to use the Microsoft GDI32 framework.
+#ifndef cimg_display
+#if cimg_OS==0
+#define cimg_display 0
+#elif cimg_OS==1
+#if defined(__MACOSX__) || defined(__APPLE__)
+#define cimg_display 1
+#else
+#define cimg_display 1
+#endif
+#elif cimg_OS==2
+#define cimg_display 2
+#endif
+#elif !(cimg_display==0 || cimg_display==1 || cimg_display==2)
+#error CImg Library: Configuration variable 'cimg_display' is badly defined.
+#error (should be { 0=none | 1=X-Window (X11) | 2=Microsoft GDI32 }).
+#endif
+
+// Include display-specific headers.
+#if cimg_display==1
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <X11/keysym.h>
+#include <pthread.h>
+#ifdef cimg_use_xshm
+#include <sys/ipc.h>
+#include <sys/shm.h>
+#include <X11/extensions/XShm.h>
+#endif
+#ifdef cimg_use_xrandr
+#include <X11/extensions/Xrandr.h>
+#endif
+#endif
+#ifndef cimg_appname
+#define cimg_appname "CImg"
+#endif
+
+// Configure OpenMP support.
+// (http://www.openmp.org)
+//
+// Define 'cimg_use_openmp' to enable OpenMP support.
+//
+// OpenMP directives may be used in a (very) few CImg functions to get
+// advantages of multi-core CPUs.
+#ifdef cimg_use_openmp
+#include <omp.h>
+#endif
+
+// Configure OpenCV support.
+// (http://opencv.willowgarage.com/wiki/)
+//
+// Define 'cimg_use_opencv' to enable OpenCV support.
+//
+// OpenCV library may be used to access images from cameras
+// (see method 'CImg<T>::load_camera()').
+#ifdef cimg_use_opencv
+#ifdef True
+#undef True
+#define _cimg_redefine_True
+#endif
+#ifdef False
+#undef False
+#define _cimg_redefine_False
+#endif
+#include <cstddef>
+#include "cv.h"
+#include "highgui.h"
+#endif
+
+// Configure LibPNG support.
+// (http://www.libpng.org)
+//
+// Define 'cimg_use_png' to enable LibPNG support.
+//
+// PNG library may be used to get a native support of '.png' files.
+// (see methods 'CImg<T>::{load,save}_png()'.
+#ifdef cimg_use_png
+extern "C" {
+#include "png.h"
+}
+#endif
+
+// Configure LibJPEG support.
+// (http://en.wikipedia.org/wiki/Libjpeg)
+//
+// Define 'cimg_use_jpeg' to enable LibJPEG support.
+//
+// JPEG library may be used to get a native support of '.jpg' files.
+// (see methods 'CImg<T>::{load,save}_jpeg()').
+#ifdef cimg_use_jpeg
+extern "C" {
+#include "jpeglib.h"
+#include "setjmp.h"
+}
+#endif
+
+// Configure LibTIFF support.
+// (http://www.libtiff.org)
+//
+// Define 'cimg_use_tiff' to enable LibTIFF support.
+//
+// TIFF library may be used to get a native support of '.tif' files.
+// (see methods 'CImg[List]<T>::{load,save}_tiff()').
+#ifdef cimg_use_tiff
+extern "C" {
+#define uint64 uint64_hack_
+#define int64 int64_hack_
+#include "tiffio.h"
+#undef uint64
+#undef int64
+}
+#endif
+
+// Configure LibMINC2 support.
+// (http://en.wikibooks.org/wiki/MINC/Reference/MINC2.0_File_Format_Reference)
+//
+// Define 'cimg_use_minc2' to enable LibMINC2 support.
+//
+// MINC2 library may be used to get a native support of '.mnc' files.
+// (see methods 'CImg<T>::{load,save}_minc2()').
+#ifdef cimg_use_minc2
+#include "minc_io_simple_volume.h"
+#include "minc_1_simple.h"
+#include "minc_1_simple_rw.h"
+#endif
+
+// Configure Zlib support.
+// (http://www.zlib.net)
+//
+// Define 'cimg_use_zlib' to enable Zlib support.
+//
+// Zlib library may be used to allow compressed data in '.cimgz' files
+// (see methods 'CImg[List]<T>::{load,save}_cimg()').
+#ifdef cimg_use_zlib
+extern "C" {
+#include "zlib.h"
+}
+#endif
+
+// Configure libcurl support.
+// (http://curl.haxx.se/libcurl/)
+//
+// Define 'cimg_use_curl' to enable libcurl support.
+//
+// Libcurl may be used to get a native support of file downloading from the network.
+// (see method 'cimg::load_network()'.)
+#ifdef cimg_use_curl
+#include "curl/curl.h"
+#endif
+
+// Configure Magick++ support.
+// (http://www.imagemagick.org/Magick++)
+//
+// Define 'cimg_use_magick' to enable Magick++ support.
+//
+// Magick++ library may be used to get a native support of various image file formats.
+// (see methods 'CImg<T>::{load,save}()').
+#ifdef cimg_use_magick
+#include "Magick++.h"
+#endif
+
+// Configure FFTW3 support.
+// (http://www.fftw.org)
+//
+// Define 'cimg_use_fftw3' to enable libFFTW3 support.
+//
+// FFTW3 library may be used to efficiently compute the Fast Fourier Transform
+// of image data, without restriction on the image size.
+// (see method 'CImg[List]<T>::FFT()').
+#ifdef cimg_use_fftw3
+extern "C" {
+#include "fftw3.h"
+}
+#endif
+
+// Configure LibBoard support.
+// (http://libboard.sourceforge.net/)
+//
+// Define 'cimg_use_board' to enable Board support.
+//
+// Board library may be used to draw 3d objects in vector-graphics canvas
+// that can be saved as '.ps' or '.svg' files afterwards.
+// (see method 'CImg<T>::draw_object3d()').
+#ifdef cimg_use_board
+#ifdef None
+#undef None
+#define _cimg_redefine_None
+#endif
+#include "Board.h"
+#endif
+
+// Configure OpenEXR support.
+// (http://www.openexr.com/)
+//
+// Define 'cimg_use_openexr' to enable OpenEXR support.
+//
+// OpenEXR library may be used to get a native support of '.exr' files.
+// (see methods 'CImg<T>::{load,save}_exr()').
+#ifdef cimg_use_openexr
+#include "ImfRgbaFile.h"
+#include "ImfInputFile.h"
+#include "ImfChannelList.h"
+#include "ImfMatrixAttribute.h"
+#include "ImfArray.h"
+#endif
+
+// Lapack configuration.
+// (http://www.netlib.org/lapack)
+//
+// Define 'cimg_use_lapack' to enable LAPACK support.
+//
+// Lapack library may be used in several CImg methods to speed up
+// matrix computations (eigenvalues, inverse, ...).
+#ifdef cimg_use_lapack
+extern "C" {
+  extern void sgetrf_(int*, int*, float*, int*, int*, int*);
+  extern void sgetri_(int*, float*, int*, int*, float*, int*, int*);
+  extern void sgetrs_(char*, int*, int*, float*, int*, int*, float*, int*, int*);
+  extern void sgesvd_(char*, char*, int*, int*, float*, int*, float*, float*, int*, float*, int*, float*, int*, int*);
+  extern void ssyev_(char*, char*, int*, float*, int*, float*, float*, int*, int*);
+  extern void dgetrf_(int*, int*, double*, int*, int*, int*);
+  extern void dgetri_(int*, double*, int*, int*, double*, int*, int*);
+  extern void dgetrs_(char*, int*, int*, double*, int*, int*, double*, int*, int*);
+  extern void dgesvd_(char*, char*, int*, int*, double*, int*, double*, double*,
+                      int*, double*, int*, double*, int*, int*);
+  extern void dsyev_(char*, char*, int*, double*, int*, double*, double*, int*, int*);
+  extern void dgels_(char*, int*,int*,int*,double*,int*,double*,int*,double*,int*,int*);
+  extern void sgels_(char*, int*,int*,int*,float*,int*,float*,int*,float*,int*,int*);
+}
+#endif
+
+// Check if min/max/PI macros are defined.
+//
+// CImg does not compile if macros 'min', 'max' or 'PI' are defined,
+// because it redefines functions min(), max() and const variable PI in the cimg:: namespace.
+// so it '#undef' these macros if necessary, and restore them to reasonable
+// values at the end of this file.
+#ifdef min
+#undef min
+#define _cimg_redefine_min
+#endif
+#ifdef max
+#undef max
+#define _cimg_redefine_max
+#endif
+#ifdef PI
+#undef PI
+#define _cimg_redefine_PI
+#endif
+
+// Define 'cimg_library' namespace suffix.
+//
+// You may want to add a suffix to the 'cimg_library' namespace, for instance if you need to work
+// with several versions of the library at the same time.
+#ifdef cimg_namespace_suffix
+#define __cimg_library_suffixed(s) cimg_library_##s
+#define _cimg_library_suffixed(s) __cimg_library_suffixed(s)
+#define cimg_library_suffixed _cimg_library_suffixed(cimg_namespace_suffix)
+#else
+#define cimg_library_suffixed cimg_library
+#endif
+
+/*------------------------------------------------------------------------------
+  #
+  # Define user-friendly macros.
+  #
+  # These CImg macros are prefixed by 'cimg_' and can be used safely in your own
+  # code. They are useful to parse command line options, or to write image loops.
+  #
+  ------------------------------------------------------------------------------*/
+
+// Macros to define program usage, and retrieve command line arguments.
+#define cimg_usage(usage) cimg_library_suffixed::cimg::option((char*)0,argc,argv,(char*)0,usage,false)
+#define cimg_help(str) cimg_library_suffixed::cimg::option((char*)0,argc,argv,str,(char*)0)
+#define cimg_option(name,defaut,usage) cimg_library_suffixed::cimg::option(name,argc,argv,defaut,usage)
+
+// Macros to define and manipulate local neighborhoods.
+#define CImg_2x2(I,T) T I[4]; \
+                      T& I##cc = I[0]; T& I##nc = I[1]; \
+                      T& I##cn = I[2]; T& I##nn = I[3]; \
+                      I##cc = I##nc = \
+                      I##cn = I##nn = 0
+
+#define CImg_3x3(I,T) T I[9]; \
+                      T& I##pp = I[0]; T& I##cp = I[1]; T& I##np = I[2]; \
+                      T& I##pc = I[3]; T& I##cc = I[4]; T& I##nc = I[5]; \
+                      T& I##pn = I[6]; T& I##cn = I[7]; T& I##nn = I[8]; \
+                      I##pp = I##cp = I##np = \
+                      I##pc = I##cc = I##nc = \
+                      I##pn = I##cn = I##nn = 0
+
+#define CImg_4x4(I,T) T I[16]; \
+                      T& I##pp = I[0]; T& I##cp = I[1]; T& I##np = I[2]; T& I##ap = I[3]; \
+                      T& I##pc = I[4]; T& I##cc = I[5]; T& I##nc = I[6]; T& I##ac = I[7]; \
+                      T& I##pn = I[8]; T& I##cn = I[9]; T& I##nn = I[10]; T& I##an = I[11]; \
+                      T& I##pa = I[12]; T& I##ca = I[13]; T& I##na = I[14]; T& I##aa = I[15]; \
+                      I##pp = I##cp = I##np = I##ap = \
+                      I##pc = I##cc = I##nc = I##ac = \
+                      I##pn = I##cn = I##nn = I##an = \
+                      I##pa = I##ca = I##na = I##aa = 0
+
+#define CImg_5x5(I,T) T I[25]; \
+                      T& I##bb = I[0]; T& I##pb = I[1]; T& I##cb = I[2]; T& I##nb = I[3]; T& I##ab = I[4]; \
+                      T& I##bp = I[5]; T& I##pp = I[6]; T& I##cp = I[7]; T& I##np = I[8]; T& I##ap = I[9]; \
+                      T& I##bc = I[10]; T& I##pc = I[11]; T& I##cc = I[12]; T& I##nc = I[13]; T& I##ac = I[14]; \
+                      T& I##bn = I[15]; T& I##pn = I[16]; T& I##cn = I[17]; T& I##nn = I[18]; T& I##an = I[19]; \
+                      T& I##ba = I[20]; T& I##pa = I[21]; T& I##ca = I[22]; T& I##na = I[23]; T& I##aa = I[24]; \
+                      I##bb = I##pb = I##cb = I##nb = I##ab = \
+                      I##bp = I##pp = I##cp = I##np = I##ap = \
+                      I##bc = I##pc = I##cc = I##nc = I##ac = \
+                      I##bn = I##pn = I##cn = I##nn = I##an = \
+                      I##ba = I##pa = I##ca = I##na = I##aa = 0
+
+#define CImg_2x2x2(I,T) T I[8]; \
+                      T& I##ccc = I[0]; T& I##ncc = I[1]; \
+                      T& I##cnc = I[2]; T& I##nnc = I[3]; \
+                      T& I##ccn = I[4]; T& I##ncn = I[5]; \
+                      T& I##cnn = I[6]; T& I##nnn = I[7]; \
+                      I##ccc = I##ncc = \
+                      I##cnc = I##nnc = \
+                      I##ccn = I##ncn = \
+                      I##cnn = I##nnn = 0
+
+#define CImg_3x3x3(I,T) T I[27]; \
+                      T& I##ppp = I[0]; T& I##cpp = I[1]; T& I##npp = I[2]; \
+                      T& I##pcp = I[3]; T& I##ccp = I[4]; T& I##ncp = I[5]; \
+                      T& I##pnp = I[6]; T& I##cnp = I[7]; T& I##nnp = I[8]; \
+                      T& I##ppc = I[9]; T& I##cpc = I[10]; T& I##npc = I[11]; \
+                      T& I##pcc = I[12]; T& I##ccc = I[13]; T& I##ncc = I[14]; \
+                      T& I##pnc = I[15]; T& I##cnc = I[16]; T& I##nnc = I[17]; \
+                      T& I##ppn = I[18]; T& I##cpn = I[19]; T& I##npn = I[20]; \
+                      T& I##pcn = I[21]; T& I##ccn = I[22]; T& I##ncn = I[23]; \
+                      T& I##pnn = I[24]; T& I##cnn = I[25]; T& I##nnn = I[26]; \
+                      I##ppp = I##cpp = I##npp = \
+                      I##pcp = I##ccp = I##ncp = \
+                      I##pnp = I##cnp = I##nnp = \
+                      I##ppc = I##cpc = I##npc = \
+                      I##pcc = I##ccc = I##ncc = \
+                      I##pnc = I##cnc = I##nnc = \
+                      I##ppn = I##cpn = I##npn = \
+                      I##pcn = I##ccn = I##ncn = \
+                      I##pnn = I##cnn = I##nnn = 0
+
+#define cimg_get2x2(img,x,y,z,c,I,T) \
+  I[0] = (T)(img)(x,y,z,c), I[1] = (T)(img)(_n1##x,y,z,c), I[2] = (T)(img)(x,_n1##y,z,c), \
+  I[3] = (T)(img)(_n1##x,_n1##y,z,c)
+
+#define cimg_get3x3(img,x,y,z,c,I,T) \
+  I[0] = (T)(img)(_p1##x,_p1##y,z,c), I[1] = (T)(img)(x,_p1##y,z,c), I[2] = (T)(img)(_n1##x,_p1##y,z,c), \
+  I[3] = (T)(img)(_p1##x,y,z,c), I[4] = (T)(img)(x,y,z,c), I[5] = (T)(img)(_n1##x,y,z,c), \
+  I[6] = (T)(img)(_p1##x,_n1##y,z,c), I[7] = (T)(img)(x,_n1##y,z,c), I[8] = (T)(img)(_n1##x,_n1##y,z,c)
+
+#define cimg_get4x4(img,x,y,z,c,I,T) \
+  I[0] = (T)(img)(_p1##x,_p1##y,z,c), I[1] = (T)(img)(x,_p1##y,z,c), I[2] = (T)(img)(_n1##x,_p1##y,z,c), \
+  I[3] = (T)(img)(_n2##x,_p1##y,z,c), I[4] = (T)(img)(_p1##x,y,z,c), I[5] = (T)(img)(x,y,z,c), \
+  I[6] = (T)(img)(_n1##x,y,z,c), I[7] = (T)(img)(_n2##x,y,z,c), I[8] = (T)(img)(_p1##x,_n1##y,z,c), \
+  I[9] = (T)(img)(x,_n1##y,z,c), I[10] = (T)(img)(_n1##x,_n1##y,z,c), I[11] = (T)(img)(_n2##x,_n1##y,z,c), \
+  I[12] = (T)(img)(_p1##x,_n2##y,z,c), I[13] = (T)(img)(x,_n2##y,z,c), I[14] = (T)(img)(_n1##x,_n2##y,z,c), \
+  I[15] = (T)(img)(_n2##x,_n2##y,z,c)
+
+#define cimg_get5x5(img,x,y,z,c,I,T) \
+  I[0] = (T)(img)(_p2##x,_p2##y,z,c), I[1] = (T)(img)(_p1##x,_p2##y,z,c), I[2] = (T)(img)(x,_p2##y,z,c), \
+  I[3] = (T)(img)(_n1##x,_p2##y,z,c), I[4] = (T)(img)(_n2##x,_p2##y,z,c), I[5] = (T)(img)(_p2##x,_p1##y,z,c), \
+  I[6] = (T)(img)(_p1##x,_p1##y,z,c), I[7] = (T)(img)(x,_p1##y,z,c), I[8] = (T)(img)(_n1##x,_p1##y,z,c), \
+  I[9] = (T)(img)(_n2##x,_p1##y,z,c), I[10] = (T)(img)(_p2##x,y,z,c), I[11] = (T)(img)(_p1##x,y,z,c), \
+  I[12] = (T)(img)(x,y,z,c), I[13] = (T)(img)(_n1##x,y,z,c), I[14] = (T)(img)(_n2##x,y,z,c), \
+  I[15] = (T)(img)(_p2##x,_n1##y,z,c), I[16] = (T)(img)(_p1##x,_n1##y,z,c), I[17] = (T)(img)(x,_n1##y,z,c), \
+  I[18] = (T)(img)(_n1##x,_n1##y,z,c), I[19] = (T)(img)(_n2##x,_n1##y,z,c), I[20] = (T)(img)(_p2##x,_n2##y,z,c), \
+  I[21] = (T)(img)(_p1##x,_n2##y,z,c), I[22] = (T)(img)(x,_n2##y,z,c), I[23] = (T)(img)(_n1##x,_n2##y,z,c), \
+  I[24] = (T)(img)(_n2##x,_n2##y,z,c)
+
+#define cimg_get6x6(img,x,y,z,c,I,T) \
+  I[0] = (T)(img)(_p2##x,_p2##y,z,c), I[1] = (T)(img)(_p1##x,_p2##y,z,c), I[2] = (T)(img)(x,_p2##y,z,c), \
+  I[3] = (T)(img)(_n1##x,_p2##y,z,c), I[4] = (T)(img)(_n2##x,_p2##y,z,c), I[5] = (T)(img)(_n3##x,_p2##y,z,c), \
+  I[6] = (T)(img)(_p2##x,_p1##y,z,c), I[7] = (T)(img)(_p1##x,_p1##y,z,c), I[8] = (T)(img)(x,_p1##y,z,c), \
+  I[9] = (T)(img)(_n1##x,_p1##y,z,c), I[10] = (T)(img)(_n2##x,_p1##y,z,c), I[11] = (T)(img)(_n3##x,_p1##y,z,c), \
+  I[12] = (T)(img)(_p2##x,y,z,c), I[13] = (T)(img)(_p1##x,y,z,c), I[14] = (T)(img)(x,y,z,c), \
+  I[15] = (T)(img)(_n1##x,y,z,c), I[16] = (T)(img)(_n2##x,y,z,c), I[17] = (T)(img)(_n3##x,y,z,c), \
+  I[18] = (T)(img)(_p2##x,_n1##y,z,c), I[19] = (T)(img)(_p1##x,_n1##y,z,c), I[20] = (T)(img)(x,_n1##y,z,c), \
+  I[21] = (T)(img)(_n1##x,_n1##y,z,c), I[22] = (T)(img)(_n2##x,_n1##y,z,c), I[23] = (T)(img)(_n3##x,_n1##y,z,c), \
+  I[24] = (T)(img)(_p2##x,_n2##y,z,c), I[25] = (T)(img)(_p1##x,_n2##y,z,c), I[26] = (T)(img)(x,_n2##y,z,c), \
+  I[27] = (T)(img)(_n1##x,_n2##y,z,c), I[28] = (T)(img)(_n2##x,_n2##y,z,c), I[29] = (T)(img)(_n3##x,_n2##y,z,c), \
+  I[30] = (T)(img)(_p2##x,_n3##y,z,c), I[31] = (T)(img)(_p1##x,_n3##y,z,c), I[32] = (T)(img)(x,_n3##y,z,c), \
+  I[33] = (T)(img)(_n1##x,_n3##y,z,c), I[34] = (T)(img)(_n2##x,_n3##y,z,c), I[35] = (T)(img)(_n3##x,_n3##y,z,c)
+
+#define cimg_get7x7(img,x,y,z,c,I,T) \
+  I[0] = (T)(img)(_p3##x,_p3##y,z,c), I[1] = (T)(img)(_p2##x,_p3##y,z,c), I[2] = (T)(img)(_p1##x,_p3##y,z,c), \
+  I[3] = (T)(img)(x,_p3##y,z,c), I[4] = (T)(img)(_n1##x,_p3##y,z,c), I[5] = (T)(img)(_n2##x,_p3##y,z,c), \
+  I[6] = (T)(img)(_n3##x,_p3##y,z,c), I[7] = (T)(img)(_p3##x,_p2##y,z,c), I[8] = (T)(img)(_p2##x,_p2##y,z,c), \
+  I[9] = (T)(img)(_p1##x,_p2##y,z,c), I[10] = (T)(img)(x,_p2##y,z,c), I[11] = (T)(img)(_n1##x,_p2##y,z,c), \
+  I[12] = (T)(img)(_n2##x,_p2##y,z,c), I[13] = (T)(img)(_n3##x,_p2##y,z,c), I[14] = (T)(img)(_p3##x,_p1##y,z,c), \
+  I[15] = (T)(img)(_p2##x,_p1##y,z,c), I[16] = (T)(img)(_p1##x,_p1##y,z,c), I[17] = (T)(img)(x,_p1##y,z,c), \
+  I[18] = (T)(img)(_n1##x,_p1##y,z,c), I[19] = (T)(img)(_n2##x,_p1##y,z,c), I[20] = (T)(img)(_n3##x,_p1##y,z,c), \
+  I[21] = (T)(img)(_p3##x,y,z,c), I[22] = (T)(img)(_p2##x,y,z,c), I[23] = (T)(img)(_p1##x,y,z,c), \
+  I[24] = (T)(img)(x,y,z,c), I[25] = (T)(img)(_n1##x,y,z,c), I[26] = (T)(img)(_n2##x,y,z,c), \
+  I[27] = (T)(img)(_n3##x,y,z,c), I[28] = (T)(img)(_p3##x,_n1##y,z,c), I[29] = (T)(img)(_p2##x,_n1##y,z,c), \
+  I[30] = (T)(img)(_p1##x,_n1##y,z,c), I[31] = (T)(img)(x,_n1##y,z,c), I[32] = (T)(img)(_n1##x,_n1##y,z,c), \
+  I[33] = (T)(img)(_n2##x,_n1##y,z,c), I[34] = (T)(img)(_n3##x,_n1##y,z,c), I[35] = (T)(img)(_p3##x,_n2##y,z,c), \
+  I[36] = (T)(img)(_p2##x,_n2##y,z,c), I[37] = (T)(img)(_p1##x,_n2##y,z,c), I[38] = (T)(img)(x,_n2##y,z,c), \
+  I[39] = (T)(img)(_n1##x,_n2##y,z,c), I[40] = (T)(img)(_n2##x,_n2##y,z,c), I[41] = (T)(img)(_n3##x,_n2##y,z,c), \
+  I[42] = (T)(img)(_p3##x,_n3##y,z,c), I[43] = (T)(img)(_p2##x,_n3##y,z,c), I[44] = (T)(img)(_p1##x,_n3##y,z,c), \
+  I[45] = (T)(img)(x,_n3##y,z,c), I[46] = (T)(img)(_n1##x,_n3##y,z,c), I[47] = (T)(img)(_n2##x,_n3##y,z,c), \
+  I[48] = (T)(img)(_n3##x,_n3##y,z,c)
+
+#define cimg_get8x8(img,x,y,z,c,I,T) \
+  I[0] = (T)(img)(_p3##x,_p3##y,z,c), I[1] = (T)(img)(_p2##x,_p3##y,z,c), I[2] = (T)(img)(_p1##x,_p3##y,z,c), \
+  I[3] = (T)(img)(x,_p3##y,z,c), I[4] = (T)(img)(_n1##x,_p3##y,z,c), I[5] = (T)(img)(_n2##x,_p3##y,z,c), \
+  I[6] = (T)(img)(_n3##x,_p3##y,z,c), I[7] = (T)(img)(_n4##x,_p3##y,z,c), I[8] = (T)(img)(_p3##x,_p2##y,z,c), \
+  I[9] = (T)(img)(_p2##x,_p2##y,z,c), I[10] = (T)(img)(_p1##x,_p2##y,z,c), I[11] = (T)(img)(x,_p2##y,z,c), \
+  I[12] = (T)(img)(_n1##x,_p2##y,z,c), I[13] = (T)(img)(_n2##x,_p2##y,z,c), I[14] = (T)(img)(_n3##x,_p2##y,z,c), \
+  I[15] = (T)(img)(_n4##x,_p2##y,z,c), I[16] = (T)(img)(_p3##x,_p1##y,z,c), I[17] = (T)(img)(_p2##x,_p1##y,z,c), \
+  I[18] = (T)(img)(_p1##x,_p1##y,z,c), I[19] = (T)(img)(x,_p1##y,z,c), I[20] = (T)(img)(_n1##x,_p1##y,z,c), \
+  I[21] = (T)(img)(_n2##x,_p1##y,z,c), I[22] = (T)(img)(_n3##x,_p1##y,z,c), I[23] = (T)(img)(_n4##x,_p1##y,z,c), \
+  I[24] = (T)(img)(_p3##x,y,z,c), I[25] = (T)(img)(_p2##x,y,z,c), I[26] = (T)(img)(_p1##x,y,z,c), \
+  I[27] = (T)(img)(x,y,z,c), I[28] = (T)(img)(_n1##x,y,z,c), I[29] = (T)(img)(_n2##x,y,z,c), \
+  I[30] = (T)(img)(_n3##x,y,z,c), I[31] = (T)(img)(_n4##x,y,z,c), I[32] = (T)(img)(_p3##x,_n1##y,z,c), \
+  I[33] = (T)(img)(_p2##x,_n1##y,z,c), I[34] = (T)(img)(_p1##x,_n1##y,z,c), I[35] = (T)(img)(x,_n1##y,z,c), \
+  I[36] = (T)(img)(_n1##x,_n1##y,z,c), I[37] = (T)(img)(_n2##x,_n1##y,z,c), I[38] = (T)(img)(_n3##x,_n1##y,z,c), \
+  I[39] = (T)(img)(_n4##x,_n1##y,z,c), I[40] = (T)(img)(_p3##x,_n2##y,z,c), I[41] = (T)(img)(_p2##x,_n2##y,z,c), \
+  I[42] = (T)(img)(_p1##x,_n2##y,z,c), I[43] = (T)(img)(x,_n2##y,z,c), I[44] = (T)(img)(_n1##x,_n2##y,z,c), \
+  I[45] = (T)(img)(_n2##x,_n2##y,z,c), I[46] = (T)(img)(_n3##x,_n2##y,z,c), I[47] = (T)(img)(_n4##x,_n2##y,z,c), \
+  I[48] = (T)(img)(_p3##x,_n3##y,z,c), I[49] = (T)(img)(_p2##x,_n3##y,z,c), I[50] = (T)(img)(_p1##x,_n3##y,z,c), \
+  I[51] = (T)(img)(x,_n3##y,z,c), I[52] = (T)(img)(_n1##x,_n3##y,z,c), I[53] = (T)(img)(_n2##x,_n3##y,z,c), \
+  I[54] = (T)(img)(_n3##x,_n3##y,z,c), I[55] = (T)(img)(_n4##x,_n3##y,z,c), I[56] = (T)(img)(_p3##x,_n4##y,z,c), \
+  I[57] = (T)(img)(_p2##x,_n4##y,z,c), I[58] = (T)(img)(_p1##x,_n4##y,z,c), I[59] = (T)(img)(x,_n4##y,z,c), \
+  I[60] = (T)(img)(_n1##x,_n4##y,z,c), I[61] = (T)(img)(_n2##x,_n4##y,z,c), I[62] = (T)(img)(_n3##x,_n4##y,z,c), \
+  I[63] = (T)(img)(_n4##x,_n4##y,z,c);
+
+#define cimg_get9x9(img,x,y,z,c,I,T) \
+  I[0] = (T)(img)(_p4##x,_p4##y,z,c), I[1] = (T)(img)(_p3##x,_p4##y,z,c), I[2] = (T)(img)(_p2##x,_p4##y,z,c), \
+  I[3] = (T)(img)(_p1##x,_p4##y,z,c), I[4] = (T)(img)(x,_p4##y,z,c), I[5] = (T)(img)(_n1##x,_p4##y,z,c), \
+  I[6] = (T)(img)(_n2##x,_p4##y,z,c), I[7] = (T)(img)(_n3##x,_p4##y,z,c), I[8] = (T)(img)(_n4##x,_p4##y,z,c), \
+  I[9] = (T)(img)(_p4##x,_p3##y,z,c), I[10] = (T)(img)(_p3##x,_p3##y,z,c), I[11] = (T)(img)(_p2##x,_p3##y,z,c), \
+  I[12] = (T)(img)(_p1##x,_p3##y,z,c), I[13] = (T)(img)(x,_p3##y,z,c), I[14] = (T)(img)(_n1##x,_p3##y,z,c), \
+  I[15] = (T)(img)(_n2##x,_p3##y,z,c), I[16] = (T)(img)(_n3##x,_p3##y,z,c), I[17] = (T)(img)(_n4##x,_p3##y,z,c), \
+  I[18] = (T)(img)(_p4##x,_p2##y,z,c), I[19] = (T)(img)(_p3##x,_p2##y,z,c), I[20] = (T)(img)(_p2##x,_p2##y,z,c), \
+  I[21] = (T)(img)(_p1##x,_p2##y,z,c), I[22] = (T)(img)(x,_p2##y,z,c), I[23] = (T)(img)(_n1##x,_p2##y,z,c), \
+  I[24] = (T)(img)(_n2##x,_p2##y,z,c), I[25] = (T)(img)(_n3##x,_p2##y,z,c), I[26] = (T)(img)(_n4##x,_p2##y,z,c), \
+  I[27] = (T)(img)(_p4##x,_p1##y,z,c), I[28] = (T)(img)(_p3##x,_p1##y,z,c), I[29] = (T)(img)(_p2##x,_p1##y,z,c), \
+  I[30] = (T)(img)(_p1##x,_p1##y,z,c), I[31] = (T)(img)(x,_p1##y,z,c), I[32] = (T)(img)(_n1##x,_p1##y,z,c), \
+  I[33] = (T)(img)(_n2##x,_p1##y,z,c), I[34] = (T)(img)(_n3##x,_p1##y,z,c), I[35] = (T)(img)(_n4##x,_p1##y,z,c), \
+  I[36] = (T)(img)(_p4##x,y,z,c), I[37] = (T)(img)(_p3##x,y,z,c), I[38] = (T)(img)(_p2##x,y,z,c), \
+  I[39] = (T)(img)(_p1##x,y,z,c), I[40] = (T)(img)(x,y,z,c), I[41] = (T)(img)(_n1##x,y,z,c), \
+  I[42] = (T)(img)(_n2##x,y,z,c), I[43] = (T)(img)(_n3##x,y,z,c), I[44] = (T)(img)(_n4##x,y,z,c), \
+  I[45] = (T)(img)(_p4##x,_n1##y,z,c), I[46] = (T)(img)(_p3##x,_n1##y,z,c), I[47] = (T)(img)(_p2##x,_n1##y,z,c), \
+  I[48] = (T)(img)(_p1##x,_n1##y,z,c), I[49] = (T)(img)(x,_n1##y,z,c), I[50] = (T)(img)(_n1##x,_n1##y,z,c), \
+  I[51] = (T)(img)(_n2##x,_n1##y,z,c), I[52] = (T)(img)(_n3##x,_n1##y,z,c), I[53] = (T)(img)(_n4##x,_n1##y,z,c), \
+  I[54] = (T)(img)(_p4##x,_n2##y,z,c), I[55] = (T)(img)(_p3##x,_n2##y,z,c), I[56] = (T)(img)(_p2##x,_n2##y,z,c), \
+  I[57] = (T)(img)(_p1##x,_n2##y,z,c), I[58] = (T)(img)(x,_n2##y,z,c), I[59] = (T)(img)(_n1##x,_n2##y,z,c), \
+  I[60] = (T)(img)(_n2##x,_n2##y,z,c), I[61] = (T)(img)(_n3##x,_n2##y,z,c), I[62] = (T)(img)(_n4##x,_n2##y,z,c), \
+  I[63] = (T)(img)(_p4##x,_n3##y,z,c), I[64] = (T)(img)(_p3##x,_n3##y,z,c), I[65] = (T)(img)(_p2##x,_n3##y,z,c), \
+  I[66] = (T)(img)(_p1##x,_n3##y,z,c), I[67] = (T)(img)(x,_n3##y,z,c), I[68] = (T)(img)(_n1##x,_n3##y,z,c), \
+  I[69] = (T)(img)(_n2##x,_n3##y,z,c), I[70] = (T)(img)(_n3##x,_n3##y,z,c), I[71] = (T)(img)(_n4##x,_n3##y,z,c), \
+  I[72] = (T)(img)(_p4##x,_n4##y,z,c), I[73] = (T)(img)(_p3##x,_n4##y,z,c), I[74] = (T)(img)(_p2##x,_n4##y,z,c), \
+  I[75] = (T)(img)(_p1##x,_n4##y,z,c), I[76] = (T)(img)(x,_n4##y,z,c), I[77] = (T)(img)(_n1##x,_n4##y,z,c), \
+  I[78] = (T)(img)(_n2##x,_n4##y,z,c), I[79] = (T)(img)(_n3##x,_n4##y,z,c), I[80] = (T)(img)(_n4##x,_n4##y,z,c)
+
+#define cimg_get2x2x2(img,x,y,z,c,I,T) \
+  I[0] = (T)(img)(x,y,z,c), I[1] = (T)(img)(_n1##x,y,z,c), I[2] = (T)(img)(x,_n1##y,z,c), \
+  I[3] = (T)(img)(_n1##x,_n1##y,z,c), I[4] = (T)(img)(x,y,_n1##z,c), I[5] = (T)(img)(_n1##x,y,_n1##z,c), \
+  I[6] = (T)(img)(x,_n1##y,_n1##z,c), I[7] = (T)(img)(_n1##x,_n1##y,_n1##z,c)
+
+#define cimg_get3x3x3(img,x,y,z,c,I,T) \
+  I[0] = (T)(img)(_p1##x,_p1##y,_p1##z,c), I[1] = (T)(img)(x,_p1##y,_p1##z,c), \
+  I[2] = (T)(img)(_n1##x,_p1##y,_p1##z,c), I[3] = (T)(img)(_p1##x,y,_p1##z,c), I[4] = (T)(img)(x,y,_p1##z,c), \
+  I[5] = (T)(img)(_n1##x,y,_p1##z,c), I[6] = (T)(img)(_p1##x,_n1##y,_p1##z,c), I[7] = (T)(img)(x,_n1##y,_p1##z,c), \
+  I[8] = (T)(img)(_n1##x,_n1##y,_p1##z,c), I[9] = (T)(img)(_p1##x,_p1##y,z,c), I[10] = (T)(img)(x,_p1##y,z,c), \
+  I[11] = (T)(img)(_n1##x,_p1##y,z,c), I[12] = (T)(img)(_p1##x,y,z,c), I[13] = (T)(img)(x,y,z,c), \
+  I[14] = (T)(img)(_n1##x,y,z,c), I[15] = (T)(img)(_p1##x,_n1##y,z,c), I[16] = (T)(img)(x,_n1##y,z,c), \
+  I[17] = (T)(img)(_n1##x,_n1##y,z,c), I[18] = (T)(img)(_p1##x,_p1##y,_n1##z,c), I[19] = (T)(img)(x,_p1##y,_n1##z,c), \
+  I[20] = (T)(img)(_n1##x,_p1##y,_n1##z,c), I[21] = (T)(img)(_p1##x,y,_n1##z,c), I[22] = (T)(img)(x,y,_n1##z,c), \
+  I[23] = (T)(img)(_n1##x,y,_n1##z,c), I[24] = (T)(img)(_p1##x,_n1##y,_n1##z,c), I[25] = (T)(img)(x,_n1##y,_n1##z,c), \
+  I[26] = (T)(img)(_n1##x,_n1##y,_n1##z,c)
+
+// Macros to perform various image loops.
+//
+// These macros are simpler to use than loops with C++ iterators.
+#define cimg_for(img,ptrs,T_ptrs) \
+  for (T_ptrs *ptrs = (img)._data, *_max##ptrs = (img)._data + (img).size(); ptrs<_max##ptrs; ++ptrs)
+#define cimg_rof(img,ptrs,T_ptrs) for (T_ptrs *ptrs = (img)._data + (img).size() - 1; ptrs>=(img)._data; --ptrs)
+#define cimg_foroff(img,off) for (unsigned long off = 0, _max##off = (img).size(); off<_max##off; ++off)
+
+#define cimg_for1(bound,i) for (int i = 0; i<(int)(bound); ++i)
+#define cimg_forX(img,x) cimg_for1((img)._width,x)
+#define cimg_forY(img,y) cimg_for1((img)._height,y)
+#define cimg_forZ(img,z) cimg_for1((img)._depth,z)
+#define cimg_forC(img,c) cimg_for1((img)._spectrum,c)
+#define cimg_forXY(img,x,y) cimg_forY(img,y) cimg_forX(img,x)
+#define cimg_forXZ(img,x,z) cimg_forZ(img,z) cimg_forX(img,x)
+#define cimg_forYZ(img,y,z) cimg_forZ(img,z) cimg_forY(img,y)
+#define cimg_forXC(img,x,c) cimg_forC(img,c) cimg_forX(img,x)
+#define cimg_forYC(img,y,c) cimg_forC(img,c) cimg_forY(img,y)
+#define cimg_forZC(img,z,c) cimg_forC(img,c) cimg_forZ(img,z)
+#define cimg_forXYZ(img,x,y,z) cimg_forZ(img,z) cimg_forXY(img,x,y)
+#define cimg_forXYC(img,x,y,c) cimg_forC(img,c) cimg_forXY(img,x,y)
+#define cimg_forXZC(img,x,z,c) cimg_forC(img,c) cimg_forXZ(img,x,z)
+#define cimg_forYZC(img,y,z,c) cimg_forC(img,c) cimg_forYZ(img,y,z)
+#define cimg_forXYZC(img,x,y,z,c) cimg_forC(img,c) cimg_forXYZ(img,x,y,z)
+
+#define cimg_rof1(bound,i) for (int i = (int)(bound) - 1; i>=0; --i)
+#define cimg_rofX(img,x) cimg_rof1((img)._width,x)
+#define cimg_rofY(img,y) cimg_rof1((img)._height,y)
+#define cimg_rofZ(img,z) cimg_rof1((img)._depth,z)
+#define cimg_rofC(img,c) cimg_rof1((img)._spectrum,c)
+#define cimg_rofXY(img,x,y) cimg_rofY(img,y) cimg_rofX(img,x)
+#define cimg_rofXZ(img,x,z) cimg_rofZ(img,z) cimg_rofX(img,x)
+#define cimg_rofYZ(img,y,z) cimg_rofZ(img,z) cimg_rofY(img,y)
+#define cimg_rofXC(img,x,c) cimg_rofC(img,c) cimg_rofX(img,x)
+#define cimg_rofYC(img,y,c) cimg_rofC(img,c) cimg_rofY(img,y)
+#define cimg_rofZC(img,z,c) cimg_rofC(img,c) cimg_rofZ(img,z)
+#define cimg_rofXYZ(img,x,y,z) cimg_rofZ(img,z) cimg_rofXY(img,x,y)
+#define cimg_rofXYC(img,x,y,c) cimg_rofC(img,c) cimg_rofXY(img,x,y)
+#define cimg_rofXZC(img,x,z,c) cimg_rofC(img,c) cimg_rofXZ(img,x,z)
+#define cimg_rofYZC(img,y,z,c) cimg_rofC(img,c) cimg_rofYZ(img,y,z)
+#define cimg_rofXYZC(img,x,y,z,c) cimg_rofC(img,c) cimg_rofXYZ(img,x,y,z)
+
+#define cimg_for_in1(bound,i0,i1,i) \
+ for (int i = (int)(i0)<0?0:(int)(i0), _max##i = (int)(i1)<(int)(bound)?(int)(i1):(int)(bound) - 1; i<=_max##i; ++i)
+#define cimg_for_inX(img,x0,x1,x) cimg_for_in1((img)._width,x0,x1,x)
+#define cimg_for_inY(img,y0,y1,y) cimg_for_in1((img)._height,y0,y1,y)
+#define cimg_for_inZ(img,z0,z1,z) cimg_for_in1((img)._depth,z0,z1,z)
+#define cimg_for_inC(img,c0,c1,c) cimg_for_in1((img)._spectrum,c0,c1,c)
+#define cimg_for_inXY(img,x0,y0,x1,y1,x,y) cimg_for_inY(img,y0,y1,y) cimg_for_inX(img,x0,x1,x)
+#define cimg_for_inXZ(img,x0,z0,x1,z1,x,z) cimg_for_inZ(img,z0,z1,z) cimg_for_inX(img,x0,x1,x)
+#define cimg_for_inXC(img,x0,c0,x1,c1,x,c) cimg_for_inC(img,c0,c1,c) cimg_for_inX(img,x0,x1,x)
+#define cimg_for_inYZ(img,y0,z0,y1,z1,y,z) cimg_for_inZ(img,x0,z1,z) cimg_for_inY(img,y0,y1,y)
+#define cimg_for_inYC(img,y0,c0,y1,c1,y,c) cimg_for_inC(img,c0,c1,c) cimg_for_inY(img,y0,y1,y)
+#define cimg_for_inZC(img,z0,c0,z1,c1,z,c) cimg_for_inC(img,c0,c1,c) cimg_for_inZ(img,z0,z1,z)
+#define cimg_for_inXYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_inZ(img,z0,z1,z) cimg_for_inXY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_inXYC(img,x0,y0,c0,x1,y1,c1,x,y,c) cimg_for_inC(img,c0,c1,c) cimg_for_inXY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_inXZC(img,x0,z0,c0,x1,z1,c1,x,z,c) cimg_for_inC(img,c0,c1,c) cimg_for_inXZ(img,x0,z0,x1,z1,x,z)
+#define cimg_for_inYZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_inC(img,c0,c1,c) cimg_for_inYZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_inXYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) \
+  cimg_for_inC(img,c0,c1,c) cimg_for_inXYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+#define cimg_for_insideX(img,x,n) cimg_for_inX(img,n,(img)._width - 1 - (n),x)
+#define cimg_for_insideY(img,y,n) cimg_for_inY(img,n,(img)._height - 1 - (n),y)
+#define cimg_for_insideZ(img,z,n) cimg_for_inZ(img,n,(img)._depth  - 1 - (n),z)
+#define cimg_for_insideC(img,c,n) cimg_for_inC(img,n,(img)._spectrum - 1 - (n),c)
+#define cimg_for_insideXY(img,x,y,n) cimg_for_inXY(img,n,n,(img)._width - 1 - (n),(img)._height - 1 - (n),x,y)
+#define cimg_for_insideXYZ(img,x,y,z,n) \
+  cimg_for_inXYZ(img,n,n,n,(img)._width - 1 - (n),(img)._height - 1 - (n),(img)._depth - 1 - (n),x,y,z)
+#define cimg_for_insideXYZC(img,x,y,z,c,n) \
+  cimg_for_inXYZ(img,n,n,n,(img)._width - 1 - (n),(img)._height - 1 - (n),(img)._depth - 1 - (n),x,y,z)
+
+#define cimg_for_out1(boundi,i0,i1,i) \
+ for (int i = (int)(i0)>0?0:(int)(i1) + 1; i<(int)(boundi); ++i, i = i==(int)(i0)?(int)(i1) + 1:i)
+#define cimg_for_out2(boundi,boundj,i0,j0,i1,j1,i,j) \
+ for (int j = 0; j<(int)(boundj); ++j) \
+ for (int _n1j = (int)(j<(int)(j0) || j>(int)(j1)), i = _n1j?0:(int)(i0)>0?0:(int)(i1) + 1; i<(int)(boundi); \
+  ++i, i = _n1j?i:(i==(int)(i0)?(int)(i1) + 1:i))
+#define cimg_for_out3(boundi,boundj,boundk,i0,j0,k0,i1,j1,k1,i,j,k) \
+ for (int k = 0; k<(int)(boundk); ++k) \
+ for (int _n1k = (int)(k<(int)(k0) || k>(int)(k1)), j = 0; j<(int)(boundj); ++j) \
+ for (int _n1j = (int)(j<(int)(j0) || j>(int)(j1)), i = _n1j || _n1k?0:(int)(i0)>0?0:(int)(i1) + 1; i<(int)(boundi); \
+  ++i, i = _n1j || _n1k?i:(i==(int)(i0)?(int)(i1) + 1:i))
+#define cimg_for_out4(boundi,boundj,boundk,boundl,i0,j0,k0,l0,i1,j1,k1,l1,i,j,k,l) \
+ for (int l = 0; l<(int)(boundl); ++l) \
+ for (int _n1l = (int)(l<(int)(l0) || l>(int)(l1)), k = 0; k<(int)(boundk); ++k) \
+ for (int _n1k = (int)(k<(int)(k0) || k>(int)(k1)), j = 0; j<(int)(boundj); ++j) \
+ for (int _n1j = (int)(j<(int)(j0) || j>(int)(j1)), i = _n1j || _n1k || _n1l?0:(int)(i0)>0?0:(int)(i1) + 1; \
+  i<(int)(boundi); ++i, i = _n1j || _n1k || _n1l?i:(i==(int)(i0)?(int)(i1) + 1:i))
+#define cimg_for_outX(img,x0,x1,x) cimg_for_out1((img)._width,x0,x1,x)
+#define cimg_for_outY(img,y0,y1,y) cimg_for_out1((img)._height,y0,y1,y)
+#define cimg_for_outZ(img,z0,z1,z) cimg_for_out1((img)._depth,z0,z1,z)
+#define cimg_for_outC(img,c0,c1,c) cimg_for_out1((img)._spectrum,c0,c1,c)
+#define cimg_for_outXY(img,x0,y0,x1,y1,x,y) cimg_for_out2((img)._width,(img)._height,x0,y0,x1,y1,x,y)
+#define cimg_for_outXZ(img,x0,z0,x1,z1,x,z) cimg_for_out2((img)._width,(img)._depth,x0,z0,x1,z1,x,z)
+#define cimg_for_outXC(img,x0,c0,x1,c1,x,c) cimg_for_out2((img)._width,(img)._spectrum,x0,c0,x1,c1,x,c)
+#define cimg_for_outYZ(img,y0,z0,y1,z1,y,z) cimg_for_out2((img)._height,(img)._depth,y0,z0,y1,z1,y,z)
+#define cimg_for_outYC(img,y0,c0,y1,c1,y,c) cimg_for_out2((img)._height,(img)._spectrum,y0,c0,y1,c1,y,c)
+#define cimg_for_outZC(img,z0,c0,z1,c1,z,c) cimg_for_out2((img)._depth,(img)._spectrum,z0,c0,z1,c1,z,c)
+#define cimg_for_outXYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) \
+  cimg_for_out3((img)._width,(img)._height,(img)._depth,x0,y0,z0,x1,y1,z1,x,y,z)
+#define cimg_for_outXYC(img,x0,y0,c0,x1,y1,c1,x,y,c) \
+  cimg_for_out3((img)._width,(img)._height,(img)._spectrum,x0,y0,c0,x1,y1,c1,x,y,c)
+#define cimg_for_outXZC(img,x0,z0,c0,x1,z1,c1,x,z,c) \
+  cimg_for_out3((img)._width,(img)._depth,(img)._spectrum,x0,z0,c0,x1,z1,c1,x,z,c)
+#define cimg_for_outYZC(img,y0,z0,c0,y1,z1,c1,y,z,c) \
+  cimg_for_out3((img)._height,(img)._depth,(img)._spectrum,y0,z0,c0,y1,z1,c1,y,z,c)
+#define cimg_for_outXYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) \
+ cimg_for_out4((img)._width,(img)._height,(img)._depth,(img)._spectrum,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c)
+#define cimg_for_borderX(img,x,n) cimg_for_outX(img,n,(img)._width - 1 - (n),x)
+#define cimg_for_borderY(img,y,n) cimg_for_outY(img,n,(img)._height - 1 - (n),y)
+#define cimg_for_borderZ(img,z,n) cimg_for_outZ(img,n,(img)._depth - 1 - (n),z)
+#define cimg_for_borderC(img,c,n) cimg_for_outC(img,n,(img)._spectrum - 1 - (n),c)
+#define cimg_for_borderXY(img,x,y,n) cimg_for_outXY(img,n,n,(img)._width - 1 - (n),(img)._height - 1 - (n),x,y)
+#define cimg_for_borderXYZ(img,x,y,z,n) \
+  cimg_for_outXYZ(img,n,n,n,(img)._width - 1 - (n),(img)._height - 1 - (n),(img)._depth - 1 - (n),x,y,z)
+#define cimg_for_borderXYZC(img,x,y,z,c,n) \
+ cimg_for_outXYZC(img,n,n,n,n,(img)._width - 1 - (n),(img)._height - 1 - (n), \
+                  (img)._depth - 1 - (n),(img)._spectrum - 1 - (n),x,y,z,c)
+
+#define cimg_for_spiralXY(img,x,y) \
+ for (int x = 0, y = 0, _n1##x = 1, _n1##y = (img).width()*(img).height(); _n1##y; \
+      --_n1##y, _n1##x+=(_n1##x>>2) - ((!(_n1##x&3)?--y:((_n1##x&3)==1?(img)._width - 1 - ++x:\
+      ((_n1##x&3)==2?(img)._height - 1 - ++y:--x))))?0:1)
+
+#define cimg_for_lineXY(x,y,x0,y0,x1,y1) \
+ for (int x = (int)(x0), y = (int)(y0), _sx = 1, _sy = 1, _steep = 0, \
+      _dx=(x1)>(x0)?(int)(x1) - (int)(x0):(_sx=-1,(int)(x0) - (int)(x1)), \
+      _dy=(y1)>(y0)?(int)(y1) - (int)(y0):(_sy=-1,(int)(y0) - (int)(y1)), \
+      _counter = _dx, \
+      _err = _dx>_dy?(_dy>>1):((_steep=1),(_counter=_dy),(_dx>>1)); \
+      _counter>=0; \
+      --_counter, x+=_steep? \
+      (y+=_sy,(_err-=_dx)<0?_err+=_dy,_sx:0): \
+      (y+=(_err-=_dy)<0?_err+=_dx,_sy:0,_sx))
+
+#define cimg_for2(bound,i) \
+ for (int i = 0, _n1##i = 1>=(bound)?(int)(bound) - 1:1; \
+      _n1##i<(int)(bound) || i==--_n1##i; \
+      ++i, ++_n1##i)
+#define cimg_for2X(img,x) cimg_for2((img)._width,x)
+#define cimg_for2Y(img,y) cimg_for2((img)._height,y)
+#define cimg_for2Z(img,z) cimg_for2((img)._depth,z)
+#define cimg_for2C(img,c) cimg_for2((img)._spectrum,c)
+#define cimg_for2XY(img,x,y) cimg_for2Y(img,y) cimg_for2X(img,x)
+#define cimg_for2XZ(img,x,z) cimg_for2Z(img,z) cimg_for2X(img,x)
+#define cimg_for2XC(img,x,c) cimg_for2C(img,c) cimg_for2X(img,x)
+#define cimg_for2YZ(img,y,z) cimg_for2Z(img,z) cimg_for2Y(img,y)
+#define cimg_for2YC(img,y,c) cimg_for2C(img,c) cimg_for2Y(img,y)
+#define cimg_for2ZC(img,z,c) cimg_for2C(img,c) cimg_for2Z(img,z)
+#define cimg_for2XYZ(img,x,y,z) cimg_for2Z(img,z) cimg_for2XY(img,x,y)
+#define cimg_for2XZC(img,x,z,c) cimg_for2C(img,c) cimg_for2XZ(img,x,z)
+#define cimg_for2YZC(img,y,z,c) cimg_for2C(img,c) cimg_for2YZ(img,y,z)
+#define cimg_for2XYZC(img,x,y,z,c) cimg_for2C(img,c) cimg_for2XYZ(img,x,y,z)
+
+#define cimg_for_in2(bound,i0,i1,i) \
+ for (int i = (int)(i0)<0?0:(int)(i0), \
+      _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1; \
+      i<=(int)(i1) && (_n1##i<(int)(bound) || i==--_n1##i); \
+      ++i, ++_n1##i)
+#define cimg_for_in2X(img,x0,x1,x) cimg_for_in2((img)._width,x0,x1,x)
+#define cimg_for_in2Y(img,y0,y1,y) cimg_for_in2((img)._height,y0,y1,y)
+#define cimg_for_in2Z(img,z0,z1,z) cimg_for_in2((img)._depth,z0,z1,z)
+#define cimg_for_in2C(img,c0,c1,c) cimg_for_in2((img)._spectrum,c0,c1,c)
+#define cimg_for_in2XY(img,x0,y0,x1,y1,x,y) cimg_for_in2Y(img,y0,y1,y) cimg_for_in2X(img,x0,x1,x)
+#define cimg_for_in2XZ(img,x0,z0,x1,z1,x,z) cimg_for_in2Z(img,z0,z1,z) cimg_for_in2X(img,x0,x1,x)
+#define cimg_for_in2XC(img,x0,c0,x1,c1,x,c) cimg_for_in2C(img,c0,c1,c) cimg_for_in2X(img,x0,x1,x)
+#define cimg_for_in2YZ(img,y0,z0,y1,z1,y,z) cimg_for_in2Z(img,z0,z1,z) cimg_for_in2Y(img,y0,y1,y)
+#define cimg_for_in2YC(img,y0,c0,y1,c1,y,c) cimg_for_in2C(img,c0,c1,c) cimg_for_in2Y(img,y0,y1,y)
+#define cimg_for_in2ZC(img,z0,c0,z1,c1,z,c) cimg_for_in2C(img,c0,c1,c) cimg_for_in2Z(img,z0,z1,z)
+#define cimg_for_in2XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in2Z(img,z0,z1,z) cimg_for_in2XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in2XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in2C(img,c0,c1,c) cimg_for_in2XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in2YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in2C(img,c0,c1,c) cimg_for_in2YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in2XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) \
+  cimg_for_in2C(img,c0,c1,c) cimg_for_in2XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for3(bound,i) \
+ for (int i = 0, _p1##i = 0, \
+      _n1##i = 1>=(bound)?(int)(bound) - 1:1; \
+      _n1##i<(int)(bound) || i==--_n1##i; \
+      _p1##i = i++, ++_n1##i)
+#define cimg_for3X(img,x) cimg_for3((img)._width,x)
+#define cimg_for3Y(img,y) cimg_for3((img)._height,y)
+#define cimg_for3Z(img,z) cimg_for3((img)._depth,z)
+#define cimg_for3C(img,c) cimg_for3((img)._spectrum,c)
+#define cimg_for3XY(img,x,y) cimg_for3Y(img,y) cimg_for3X(img,x)
+#define cimg_for3XZ(img,x,z) cimg_for3Z(img,z) cimg_for3X(img,x)
+#define cimg_for3XC(img,x,c) cimg_for3C(img,c) cimg_for3X(img,x)
+#define cimg_for3YZ(img,y,z) cimg_for3Z(img,z) cimg_for3Y(img,y)
+#define cimg_for3YC(img,y,c) cimg_for3C(img,c) cimg_for3Y(img,y)
+#define cimg_for3ZC(img,z,c) cimg_for3C(img,c) cimg_for3Z(img,z)
+#define cimg_for3XYZ(img,x,y,z) cimg_for3Z(img,z) cimg_for3XY(img,x,y)
+#define cimg_for3XZC(img,x,z,c) cimg_for3C(img,c) cimg_for3XZ(img,x,z)
+#define cimg_for3YZC(img,y,z,c) cimg_for3C(img,c) cimg_for3YZ(img,y,z)
+#define cimg_for3XYZC(img,x,y,z,c) cimg_for3C(img,c) cimg_for3XYZ(img,x,y,z)
+
+#define cimg_for_in3(bound,i0,i1,i) \
+ for (int i = (int)(i0)<0?0:(int)(i0), \
+      _p1##i = i - 1<0?0:i - 1, \
+      _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1; \
+      i<=(int)(i1) && (_n1##i<(int)(bound) || i==--_n1##i); \
+      _p1##i = i++, ++_n1##i)
+#define cimg_for_in3X(img,x0,x1,x) cimg_for_in3((img)._width,x0,x1,x)
+#define cimg_for_in3Y(img,y0,y1,y) cimg_for_in3((img)._height,y0,y1,y)
+#define cimg_for_in3Z(img,z0,z1,z) cimg_for_in3((img)._depth,z0,z1,z)
+#define cimg_for_in3C(img,c0,c1,c) cimg_for_in3((img)._spectrum,c0,c1,c)
+#define cimg_for_in3XY(img,x0,y0,x1,y1,x,y) cimg_for_in3Y(img,y0,y1,y) cimg_for_in3X(img,x0,x1,x)
+#define cimg_for_in3XZ(img,x0,z0,x1,z1,x,z) cimg_for_in3Z(img,z0,z1,z) cimg_for_in3X(img,x0,x1,x)
+#define cimg_for_in3XC(img,x0,c0,x1,c1,x,c) cimg_for_in3C(img,c0,c1,c) cimg_for_in3X(img,x0,x1,x)
+#define cimg_for_in3YZ(img,y0,z0,y1,z1,y,z) cimg_for_in3Z(img,z0,z1,z) cimg_for_in3Y(img,y0,y1,y)
+#define cimg_for_in3YC(img,y0,c0,y1,c1,y,c) cimg_for_in3C(img,c0,c1,c) cimg_for_in3Y(img,y0,y1,y)
+#define cimg_for_in3ZC(img,z0,c0,z1,c1,z,c) cimg_for_in3C(img,c0,c1,c) cimg_for_in3Z(img,z0,z1,z)
+#define cimg_for_in3XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in3Z(img,z0,z1,z) cimg_for_in3XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in3XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in3C(img,c0,c1,c) cimg_for_in3XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in3YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in3C(img,c0,c1,c) cimg_for_in3YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in3XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) \
+  cimg_for_in3C(img,c0,c1,c) cimg_for_in3XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for4(bound,i) \
+ for (int i = 0, _p1##i = 0, _n1##i = 1>=(bound)?(int)(bound) - 1:1, \
+      _n2##i = 2>=(bound)?(int)(bound) - 1:2; \
+      _n2##i<(int)(bound) || _n1##i==--_n2##i || i==(_n2##i = --_n1##i); \
+      _p1##i = i++, ++_n1##i, ++_n2##i)
+#define cimg_for4X(img,x) cimg_for4((img)._width,x)
+#define cimg_for4Y(img,y) cimg_for4((img)._height,y)
+#define cimg_for4Z(img,z) cimg_for4((img)._depth,z)
+#define cimg_for4C(img,c) cimg_for4((img)._spectrum,c)
+#define cimg_for4XY(img,x,y) cimg_for4Y(img,y) cimg_for4X(img,x)
+#define cimg_for4XZ(img,x,z) cimg_for4Z(img,z) cimg_for4X(img,x)
+#define cimg_for4XC(img,x,c) cimg_for4C(img,c) cimg_for4X(img,x)
+#define cimg_for4YZ(img,y,z) cimg_for4Z(img,z) cimg_for4Y(img,y)
+#define cimg_for4YC(img,y,c) cimg_for4C(img,c) cimg_for4Y(img,y)
+#define cimg_for4ZC(img,z,c) cimg_for4C(img,c) cimg_for4Z(img,z)
+#define cimg_for4XYZ(img,x,y,z) cimg_for4Z(img,z) cimg_for4XY(img,x,y)
+#define cimg_for4XZC(img,x,z,c) cimg_for4C(img,c) cimg_for4XZ(img,x,z)
+#define cimg_for4YZC(img,y,z,c) cimg_for4C(img,c) cimg_for4YZ(img,y,z)
+#define cimg_for4XYZC(img,x,y,z,c) cimg_for4C(img,c) cimg_for4XYZ(img,x,y,z)
+
+#define cimg_for_in4(bound,i0,i1,i) \
+ for (int i = (int)(i0)<0?0:(int)(i0), \
+      _p1##i = i - 1<0?0:i - 1, \
+      _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+      _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2; \
+      i<=(int)(i1) && (_n2##i<(int)(bound) || _n1##i==--_n2##i || i==(_n2##i = --_n1##i)); \
+      _p1##i = i++, ++_n1##i, ++_n2##i)
+#define cimg_for_in4X(img,x0,x1,x) cimg_for_in4((img)._width,x0,x1,x)
+#define cimg_for_in4Y(img,y0,y1,y) cimg_for_in4((img)._height,y0,y1,y)
+#define cimg_for_in4Z(img,z0,z1,z) cimg_for_in4((img)._depth,z0,z1,z)
+#define cimg_for_in4C(img,c0,c1,c) cimg_for_in4((img)._spectrum,c0,c1,c)
+#define cimg_for_in4XY(img,x0,y0,x1,y1,x,y) cimg_for_in4Y(img,y0,y1,y) cimg_for_in4X(img,x0,x1,x)
+#define cimg_for_in4XZ(img,x0,z0,x1,z1,x,z) cimg_for_in4Z(img,z0,z1,z) cimg_for_in4X(img,x0,x1,x)
+#define cimg_for_in4XC(img,x0,c0,x1,c1,x,c) cimg_for_in4C(img,c0,c1,c) cimg_for_in4X(img,x0,x1,x)
+#define cimg_for_in4YZ(img,y0,z0,y1,z1,y,z) cimg_for_in4Z(img,z0,z1,z) cimg_for_in4Y(img,y0,y1,y)
+#define cimg_for_in4YC(img,y0,c0,y1,c1,y,c) cimg_for_in4C(img,c0,c1,c) cimg_for_in4Y(img,y0,y1,y)
+#define cimg_for_in4ZC(img,z0,c0,z1,c1,z,c) cimg_for_in4C(img,c0,c1,c) cimg_for_in4Z(img,z0,z1,z)
+#define cimg_for_in4XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in4Z(img,z0,z1,z) cimg_for_in4XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in4XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in4C(img,c0,c1,c) cimg_for_in4XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in4YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in4C(img,c0,c1,c) cimg_for_in4YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in4XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) \
+  cimg_for_in4C(img,c0,c1,c) cimg_for_in4XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for5(bound,i) \
+ for (int i = 0, _p2##i = 0, _p1##i = 0, \
+      _n1##i = 1>=(bound)?(int)(bound) - 1:1, \
+      _n2##i = 2>=(bound)?(int)(bound) - 1:2; \
+      _n2##i<(int)(bound) || _n1##i==--_n2##i || i==(_n2##i = --_n1##i); \
+      _p2##i = _p1##i, _p1##i = i++, ++_n1##i, ++_n2##i)
+#define cimg_for5X(img,x) cimg_for5((img)._width,x)
+#define cimg_for5Y(img,y) cimg_for5((img)._height,y)
+#define cimg_for5Z(img,z) cimg_for5((img)._depth,z)
+#define cimg_for5C(img,c) cimg_for5((img)._spectrum,c)
+#define cimg_for5XY(img,x,y) cimg_for5Y(img,y) cimg_for5X(img,x)
+#define cimg_for5XZ(img,x,z) cimg_for5Z(img,z) cimg_for5X(img,x)
+#define cimg_for5XC(img,x,c) cimg_for5C(img,c) cimg_for5X(img,x)
+#define cimg_for5YZ(img,y,z) cimg_for5Z(img,z) cimg_for5Y(img,y)
+#define cimg_for5YC(img,y,c) cimg_for5C(img,c) cimg_for5Y(img,y)
+#define cimg_for5ZC(img,z,c) cimg_for5C(img,c) cimg_for5Z(img,z)
+#define cimg_for5XYZ(img,x,y,z) cimg_for5Z(img,z) cimg_for5XY(img,x,y)
+#define cimg_for5XZC(img,x,z,c) cimg_for5C(img,c) cimg_for5XZ(img,x,z)
+#define cimg_for5YZC(img,y,z,c) cimg_for5C(img,c) cimg_for5YZ(img,y,z)
+#define cimg_for5XYZC(img,x,y,z,c) cimg_for5C(img,c) cimg_for5XYZ(img,x,y,z)
+
+#define cimg_for_in5(bound,i0,i1,i) \
+ for (int i = (int)(i0)<0?0:(int)(i0), \
+      _p2##i = i - 2<0?0:i - 2, \
+      _p1##i = i - 1<0?0:i - 1, \
+      _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+      _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2; \
+      i<=(int)(i1) && (_n2##i<(int)(bound) || _n1##i==--_n2##i || i==(_n2##i = --_n1##i)); \
+      _p2##i = _p1##i, _p1##i = i++, ++_n1##i, ++_n2##i)
+#define cimg_for_in5X(img,x0,x1,x) cimg_for_in5((img)._width,x0,x1,x)
+#define cimg_for_in5Y(img,y0,y1,y) cimg_for_in5((img)._height,y0,y1,y)
+#define cimg_for_in5Z(img,z0,z1,z) cimg_for_in5((img)._depth,z0,z1,z)
+#define cimg_for_in5C(img,c0,c1,c) cimg_for_in5((img)._spectrum,c0,c1,c)
+#define cimg_for_in5XY(img,x0,y0,x1,y1,x,y) cimg_for_in5Y(img,y0,y1,y) cimg_for_in5X(img,x0,x1,x)
+#define cimg_for_in5XZ(img,x0,z0,x1,z1,x,z) cimg_for_in5Z(img,z0,z1,z) cimg_for_in5X(img,x0,x1,x)
+#define cimg_for_in5XC(img,x0,c0,x1,c1,x,c) cimg_for_in5C(img,c0,c1,c) cimg_for_in5X(img,x0,x1,x)
+#define cimg_for_in5YZ(img,y0,z0,y1,z1,y,z) cimg_for_in5Z(img,z0,z1,z) cimg_for_in5Y(img,y0,y1,y)
+#define cimg_for_in5YC(img,y0,c0,y1,c1,y,c) cimg_for_in5C(img,c0,c1,c) cimg_for_in5Y(img,y0,y1,y)
+#define cimg_for_in5ZC(img,z0,c0,z1,c1,z,c) cimg_for_in5C(img,c0,c1,c) cimg_for_in5Z(img,z0,z1,z)
+#define cimg_for_in5XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in5Z(img,z0,z1,z) cimg_for_in5XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in5XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in5C(img,c0,c1,c) cimg_for_in5XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in5YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in5C(img,c0,c1,c) cimg_for_in5YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in5XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) \
+  cimg_for_in5C(img,c0,c1,c) cimg_for_in5XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for6(bound,i) \
+ for (int i = 0, _p2##i = 0, _p1##i = 0, \
+      _n1##i = 1>=(bound)?(int)(bound) - 1:1, \
+      _n2##i = 2>=(bound)?(int)(bound) - 1:2, \
+      _n3##i = 3>=(bound)?(int)(bound) - 1:3; \
+      _n3##i<(int)(bound) || _n2##i==--_n3##i || _n1##i==--_n2##i || i==(_n3##i = _n2##i = --_n1##i); \
+      _p2##i = _p1##i, _p1##i = i++, ++_n1##i, ++_n2##i, ++_n3##i)
+#define cimg_for6X(img,x) cimg_for6((img)._width,x)
+#define cimg_for6Y(img,y) cimg_for6((img)._height,y)
+#define cimg_for6Z(img,z) cimg_for6((img)._depth,z)
+#define cimg_for6C(img,c) cimg_for6((img)._spectrum,c)
+#define cimg_for6XY(img,x,y) cimg_for6Y(img,y) cimg_for6X(img,x)
+#define cimg_for6XZ(img,x,z) cimg_for6Z(img,z) cimg_for6X(img,x)
+#define cimg_for6XC(img,x,c) cimg_for6C(img,c) cimg_for6X(img,x)
+#define cimg_for6YZ(img,y,z) cimg_for6Z(img,z) cimg_for6Y(img,y)
+#define cimg_for6YC(img,y,c) cimg_for6C(img,c) cimg_for6Y(img,y)
+#define cimg_for6ZC(img,z,c) cimg_for6C(img,c) cimg_for6Z(img,z)
+#define cimg_for6XYZ(img,x,y,z) cimg_for6Z(img,z) cimg_for6XY(img,x,y)
+#define cimg_for6XZC(img,x,z,c) cimg_for6C(img,c) cimg_for6XZ(img,x,z)
+#define cimg_for6YZC(img,y,z,c) cimg_for6C(img,c) cimg_for6YZ(img,y,z)
+#define cimg_for6XYZC(img,x,y,z,c) cimg_for6C(img,c) cimg_for6XYZ(img,x,y,z)
+
+#define cimg_for_in6(bound,i0,i1,i) \
+ for (int i = (int)(i0)<0?0:(int)(i0), \
+      _p2##i = i - 2<0?0:i - 2, \
+      _p1##i = i - 1<0?0:i - 1, \
+      _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+      _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+      _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3; \
+      i<=(int)(i1) && \
+      (_n3##i<(int)(bound) || _n2##i==--_n3##i || _n1##i==--_n2##i || i==(_n3##i = _n2##i = --_n1##i)); \
+      _p2##i = _p1##i, _p1##i = i++, ++_n1##i, ++_n2##i, ++_n3##i)
+#define cimg_for_in6X(img,x0,x1,x) cimg_for_in6((img)._width,x0,x1,x)
+#define cimg_for_in6Y(img,y0,y1,y) cimg_for_in6((img)._height,y0,y1,y)
+#define cimg_for_in6Z(img,z0,z1,z) cimg_for_in6((img)._depth,z0,z1,z)
+#define cimg_for_in6C(img,c0,c1,c) cimg_for_in6((img)._spectrum,c0,c1,c)
+#define cimg_for_in6XY(img,x0,y0,x1,y1,x,y) cimg_for_in6Y(img,y0,y1,y) cimg_for_in6X(img,x0,x1,x)
+#define cimg_for_in6XZ(img,x0,z0,x1,z1,x,z) cimg_for_in6Z(img,z0,z1,z) cimg_for_in6X(img,x0,x1,x)
+#define cimg_for_in6XC(img,x0,c0,x1,c1,x,c) cimg_for_in6C(img,c0,c1,c) cimg_for_in6X(img,x0,x1,x)
+#define cimg_for_in6YZ(img,y0,z0,y1,z1,y,z) cimg_for_in6Z(img,z0,z1,z) cimg_for_in6Y(img,y0,y1,y)
+#define cimg_for_in6YC(img,y0,c0,y1,c1,y,c) cimg_for_in6C(img,c0,c1,c) cimg_for_in6Y(img,y0,y1,y)
+#define cimg_for_in6ZC(img,z0,c0,z1,c1,z,c) cimg_for_in6C(img,c0,c1,c) cimg_for_in6Z(img,z0,z1,z)
+#define cimg_for_in6XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in6Z(img,z0,z1,z) cimg_for_in6XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in6XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in6C(img,c0,c1,c) cimg_for_in6XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in6YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in6C(img,c0,c1,c) cimg_for_in6YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in6XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) \
+  cimg_for_in6C(img,c0,c1,c) cimg_for_in6XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for7(bound,i) \
+ for (int i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+      _n1##i = 1>=(bound)?(int)(bound) - 1:1, \
+      _n2##i = 2>=(bound)?(int)(bound) - 1:2, \
+      _n3##i = 3>=(bound)?(int)(bound) - 1:3; \
+      _n3##i<(int)(bound) || _n2##i==--_n3##i || _n1##i==--_n2##i || i==(_n3##i = _n2##i = --_n1##i); \
+      _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, ++_n1##i, ++_n2##i, ++_n3##i)
+#define cimg_for7X(img,x) cimg_for7((img)._width,x)
+#define cimg_for7Y(img,y) cimg_for7((img)._height,y)
+#define cimg_for7Z(img,z) cimg_for7((img)._depth,z)
+#define cimg_for7C(img,c) cimg_for7((img)._spectrum,c)
+#define cimg_for7XY(img,x,y) cimg_for7Y(img,y) cimg_for7X(img,x)
+#define cimg_for7XZ(img,x,z) cimg_for7Z(img,z) cimg_for7X(img,x)
+#define cimg_for7XC(img,x,c) cimg_for7C(img,c) cimg_for7X(img,x)
+#define cimg_for7YZ(img,y,z) cimg_for7Z(img,z) cimg_for7Y(img,y)
+#define cimg_for7YC(img,y,c) cimg_for7C(img,c) cimg_for7Y(img,y)
+#define cimg_for7ZC(img,z,c) cimg_for7C(img,c) cimg_for7Z(img,z)
+#define cimg_for7XYZ(img,x,y,z) cimg_for7Z(img,z) cimg_for7XY(img,x,y)
+#define cimg_for7XZC(img,x,z,c) cimg_for7C(img,c) cimg_for7XZ(img,x,z)
+#define cimg_for7YZC(img,y,z,c) cimg_for7C(img,c) cimg_for7YZ(img,y,z)
+#define cimg_for7XYZC(img,x,y,z,c) cimg_for7C(img,c) cimg_for7XYZ(img,x,y,z)
+
+#define cimg_for_in7(bound,i0,i1,i) \
+ for (int i = (int)(i0)<0?0:(int)(i0), \
+      _p3##i = i - 3<0?0:i - 3, \
+      _p2##i = i - 2<0?0:i - 2, \
+      _p1##i = i - 1<0?0:i - 1, \
+      _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+      _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+      _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3; \
+      i<=(int)(i1) && \
+      (_n3##i<(int)(bound) || _n2##i==--_n3##i || _n1##i==--_n2##i || i==(_n3##i = _n2##i = --_n1##i)); \
+      _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, ++_n1##i, ++_n2##i, ++_n3##i)
+#define cimg_for_in7X(img,x0,x1,x) cimg_for_in7((img)._width,x0,x1,x)
+#define cimg_for_in7Y(img,y0,y1,y) cimg_for_in7((img)._height,y0,y1,y)
+#define cimg_for_in7Z(img,z0,z1,z) cimg_for_in7((img)._depth,z0,z1,z)
+#define cimg_for_in7C(img,c0,c1,c) cimg_for_in7((img)._spectrum,c0,c1,c)
+#define cimg_for_in7XY(img,x0,y0,x1,y1,x,y) cimg_for_in7Y(img,y0,y1,y) cimg_for_in7X(img,x0,x1,x)
+#define cimg_for_in7XZ(img,x0,z0,x1,z1,x,z) cimg_for_in7Z(img,z0,z1,z) cimg_for_in7X(img,x0,x1,x)
+#define cimg_for_in7XC(img,x0,c0,x1,c1,x,c) cimg_for_in7C(img,c0,c1,c) cimg_for_in7X(img,x0,x1,x)
+#define cimg_for_in7YZ(img,y0,z0,y1,z1,y,z) cimg_for_in7Z(img,z0,z1,z) cimg_for_in7Y(img,y0,y1,y)
+#define cimg_for_in7YC(img,y0,c0,y1,c1,y,c) cimg_for_in7C(img,c0,c1,c) cimg_for_in7Y(img,y0,y1,y)
+#define cimg_for_in7ZC(img,z0,c0,z1,c1,z,c) cimg_for_in7C(img,c0,c1,c) cimg_for_in7Z(img,z0,z1,z)
+#define cimg_for_in7XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in7Z(img,z0,z1,z) cimg_for_in7XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in7XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in7C(img,c0,c1,c) cimg_for_in7XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in7YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in7C(img,c0,c1,c) cimg_for_in7YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in7XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) \
+  cimg_for_in7C(img,c0,c1,c) cimg_for_in7XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for8(bound,i) \
+ for (int i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+      _n1##i = 1>=(bound)?(int)(bound) - 1:1, \
+      _n2##i = 2>=(bound)?(int)(bound) - 1:2, \
+      _n3##i = 3>=(bound)?(int)(bound) - 1:3, \
+      _n4##i = 4>=(bound)?(int)(bound) - 1:4; \
+      _n4##i<(int)(bound) || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+      i==(_n4##i = _n3##i = _n2##i = --_n1##i); \
+      _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i)
+#define cimg_for8X(img,x) cimg_for8((img)._width,x)
+#define cimg_for8Y(img,y) cimg_for8((img)._height,y)
+#define cimg_for8Z(img,z) cimg_for8((img)._depth,z)
+#define cimg_for8C(img,c) cimg_for8((img)._spectrum,c)
+#define cimg_for8XY(img,x,y) cimg_for8Y(img,y) cimg_for8X(img,x)
+#define cimg_for8XZ(img,x,z) cimg_for8Z(img,z) cimg_for8X(img,x)
+#define cimg_for8XC(img,x,c) cimg_for8C(img,c) cimg_for8X(img,x)
+#define cimg_for8YZ(img,y,z) cimg_for8Z(img,z) cimg_for8Y(img,y)
+#define cimg_for8YC(img,y,c) cimg_for8C(img,c) cimg_for8Y(img,y)
+#define cimg_for8ZC(img,z,c) cimg_for8C(img,c) cimg_for8Z(img,z)
+#define cimg_for8XYZ(img,x,y,z) cimg_for8Z(img,z) cimg_for8XY(img,x,y)
+#define cimg_for8XZC(img,x,z,c) cimg_for8C(img,c) cimg_for8XZ(img,x,z)
+#define cimg_for8YZC(img,y,z,c) cimg_for8C(img,c) cimg_for8YZ(img,y,z)
+#define cimg_for8XYZC(img,x,y,z,c) cimg_for8C(img,c) cimg_for8XYZ(img,x,y,z)
+
+#define cimg_for_in8(bound,i0,i1,i) \
+ for (int i = (int)(i0)<0?0:(int)(i0), \
+      _p3##i = i - 3<0?0:i - 3, \
+      _p2##i = i - 2<0?0:i - 2, \
+      _p1##i = i - 1<0?0:i - 1, \
+      _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+      _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+      _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+      _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4; \
+      i<=(int)(i1) && (_n4##i<(int)(bound) || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+      i==(_n4##i = _n3##i = _n2##i = --_n1##i)); \
+      _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i)
+#define cimg_for_in8X(img,x0,x1,x) cimg_for_in8((img)._width,x0,x1,x)
+#define cimg_for_in8Y(img,y0,y1,y) cimg_for_in8((img)._height,y0,y1,y)
+#define cimg_for_in8Z(img,z0,z1,z) cimg_for_in8((img)._depth,z0,z1,z)
+#define cimg_for_in8C(img,c0,c1,c) cimg_for_in8((img)._spectrum,c0,c1,c)
+#define cimg_for_in8XY(img,x0,y0,x1,y1,x,y) cimg_for_in8Y(img,y0,y1,y) cimg_for_in8X(img,x0,x1,x)
+#define cimg_for_in8XZ(img,x0,z0,x1,z1,x,z) cimg_for_in8Z(img,z0,z1,z) cimg_for_in8X(img,x0,x1,x)
+#define cimg_for_in8XC(img,x0,c0,x1,c1,x,c) cimg_for_in8C(img,c0,c1,c) cimg_for_in8X(img,x0,x1,x)
+#define cimg_for_in8YZ(img,y0,z0,y1,z1,y,z) cimg_for_in8Z(img,z0,z1,z) cimg_for_in8Y(img,y0,y1,y)
+#define cimg_for_in8YC(img,y0,c0,y1,c1,y,c) cimg_for_in8C(img,c0,c1,c) cimg_for_in8Y(img,y0,y1,y)
+#define cimg_for_in8ZC(img,z0,c0,z1,c1,z,c) cimg_for_in8C(img,c0,c1,c) cimg_for_in8Z(img,z0,z1,z)
+#define cimg_for_in8XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in8Z(img,z0,z1,z) cimg_for_in8XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in8XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in8C(img,c0,c1,c) cimg_for_in8XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in8YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in8C(img,c0,c1,c) cimg_for_in8YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in8XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) \
+  cimg_for_in8C(img,c0,c1,c) cimg_for_in8XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for9(bound,i) \
+  for (int i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+       _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+       _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+       _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+       _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4; \
+       _n4##i<(int)(bound) || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+       i==(_n4##i = _n3##i = _n2##i = --_n1##i); \
+       _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i)
+#define cimg_for9X(img,x) cimg_for9((img)._width,x)
+#define cimg_for9Y(img,y) cimg_for9((img)._height,y)
+#define cimg_for9Z(img,z) cimg_for9((img)._depth,z)
+#define cimg_for9C(img,c) cimg_for9((img)._spectrum,c)
+#define cimg_for9XY(img,x,y) cimg_for9Y(img,y) cimg_for9X(img,x)
+#define cimg_for9XZ(img,x,z) cimg_for9Z(img,z) cimg_for9X(img,x)
+#define cimg_for9XC(img,x,c) cimg_for9C(img,c) cimg_for9X(img,x)
+#define cimg_for9YZ(img,y,z) cimg_for9Z(img,z) cimg_for9Y(img,y)
+#define cimg_for9YC(img,y,c) cimg_for9C(img,c) cimg_for9Y(img,y)
+#define cimg_for9ZC(img,z,c) cimg_for9C(img,c) cimg_for9Z(img,z)
+#define cimg_for9XYZ(img,x,y,z) cimg_for9Z(img,z) cimg_for9XY(img,x,y)
+#define cimg_for9XZC(img,x,z,c) cimg_for9C(img,c) cimg_for9XZ(img,x,z)
+#define cimg_for9YZC(img,y,z,c) cimg_for9C(img,c) cimg_for9YZ(img,y,z)
+#define cimg_for9XYZC(img,x,y,z,c) cimg_for9C(img,c) cimg_for9XYZ(img,x,y,z)
+
+#define cimg_for_in9(bound,i0,i1,i) \
+  for (int i = (int)(i0)<0?0:(int)(i0), \
+       _p4##i = i - 4<0?0:i - 4, \
+       _p3##i = i - 3<0?0:i - 3, \
+       _p2##i = i - 2<0?0:i - 2, \
+       _p1##i = i - 1<0?0:i - 1, \
+       _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+       _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+       _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+       _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4; \
+       i<=(int)(i1) && (_n4##i<(int)(bound) || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+       i==(_n4##i = _n3##i = _n2##i = --_n1##i)); \
+       _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i)
+#define cimg_for_in9X(img,x0,x1,x) cimg_for_in9((img)._width,x0,x1,x)
+#define cimg_for_in9Y(img,y0,y1,y) cimg_for_in9((img)._height,y0,y1,y)
+#define cimg_for_in9Z(img,z0,z1,z) cimg_for_in9((img)._depth,z0,z1,z)
+#define cimg_for_in9C(img,c0,c1,c) cimg_for_in9((img)._spectrum,c0,c1,c)
+#define cimg_for_in9XY(img,x0,y0,x1,y1,x,y) cimg_for_in9Y(img,y0,y1,y) cimg_for_in9X(img,x0,x1,x)
+#define cimg_for_in9XZ(img,x0,z0,x1,z1,x,z) cimg_for_in9Z(img,z0,z1,z) cimg_for_in9X(img,x0,x1,x)
+#define cimg_for_in9XC(img,x0,c0,x1,c1,x,c) cimg_for_in9C(img,c0,c1,c) cimg_for_in9X(img,x0,x1,x)
+#define cimg_for_in9YZ(img,y0,z0,y1,z1,y,z) cimg_for_in9Z(img,z0,z1,z) cimg_for_in9Y(img,y0,y1,y)
+#define cimg_for_in9YC(img,y0,c0,y1,c1,y,c) cimg_for_in9C(img,c0,c1,c) cimg_for_in9Y(img,y0,y1,y)
+#define cimg_for_in9ZC(img,z0,c0,z1,c1,z,c) cimg_for_in9C(img,c0,c1,c) cimg_for_in9Z(img,z0,z1,z)
+#define cimg_for_in9XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in9Z(img,z0,z1,z) cimg_for_in9XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in9XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in9C(img,c0,c1,c) cimg_for_in9XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in9YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in9C(img,c0,c1,c) cimg_for_in9YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in9XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) \
+  cimg_for_in9C(img,c0,c1,c) cimg_for_in9XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for2x2(img,x,y,z,c,I,T) \
+  cimg_for2((img)._height,y) for (int x = 0, \
+   _n1##x = (int)( \
+   (I[0] = (T)(img)(0,y,z,c)), \
+   (I[2] = (T)(img)(0,_n1##y,z,c)), \
+   1>=(img)._width?(img).width() - 1:1);  \
+   (_n1##x<(img).width() && ( \
+   (I[1] = (T)(img)(_n1##x,y,z,c)), \
+   (I[3] = (T)(img)(_n1##x,_n1##y,z,c)),1)) || \
+   x==--_n1##x; \
+   I[0] = I[1], \
+   I[2] = I[3], \
+   ++x, ++_n1##x)
+
+#define cimg_for_in2x2(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+  cimg_for_in2((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+   _n1##x = (int)( \
+   (I[0] = (T)(img)(x,y,z,c)), \
+   (I[2] = (T)(img)(x,_n1##y,z,c)), \
+   x + 1>=(int)(img)._width?(img).width() - 1:x + 1); \
+   x<=(int)(x1) && ((_n1##x<(img).width() && (  \
+   (I[1] = (T)(img)(_n1##x,y,z,c)), \
+   (I[3] = (T)(img)(_n1##x,_n1##y,z,c)),1)) || \
+   x==--_n1##x); \
+   I[0] = I[1], \
+   I[2] = I[3], \
+   ++x, ++_n1##x)
+
+#define cimg_for3x3(img,x,y,z,c,I,T) \
+  cimg_for3((img)._height,y) for (int x = 0, \
+   _p1##x = 0, \
+   _n1##x = (int)( \
+   (I[0] = I[1] = (T)(img)(_p1##x,_p1##y,z,c)), \
+   (I[3] = I[4] = (T)(img)(0,y,z,c)), \
+   (I[6] = I[7] = (T)(img)(0,_n1##y,z,c)), \
+   1>=(img)._width?(img).width() - 1:1); \
+   (_n1##x<(img).width() && ( \
+   (I[2] = (T)(img)(_n1##x,_p1##y,z,c)), \
+   (I[5] = (T)(img)(_n1##x,y,z,c)), \
+   (I[8] = (T)(img)(_n1##x,_n1##y,z,c)),1)) || \
+   x==--_n1##x; \
+   I[0] = I[1], I[1] = I[2], \
+   I[3] = I[4], I[4] = I[5], \
+   I[6] = I[7], I[7] = I[8], \
+   _p1##x = x++, ++_n1##x)
+
+#define cimg_for_in3x3(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+  cimg_for_in3((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+   _p1##x = x - 1<0?0:x - 1, \
+   _n1##x = (int)( \
+   (I[0] = (T)(img)(_p1##x,_p1##y,z,c)), \
+   (I[3] = (T)(img)(_p1##x,y,z,c)), \
+   (I[6] = (T)(img)(_p1##x,_n1##y,z,c)), \
+   (I[1] = (T)(img)(x,_p1##y,z,c)), \
+   (I[4] = (T)(img)(x,y,z,c)), \
+   (I[7] = (T)(img)(x,_n1##y,z,c)), \
+   x + 1>=(int)(img)._width?(img).width() - 1:x + 1); \
+   x<=(int)(x1) && ((_n1##x<(img).width() && ( \
+   (I[2] = (T)(img)(_n1##x,_p1##y,z,c)), \
+   (I[5] = (T)(img)(_n1##x,y,z,c)), \
+   (I[8] = (T)(img)(_n1##x,_n1##y,z,c)),1)) || \
+   x==--_n1##x);	    \
+   I[0] = I[1], I[1] = I[2], \
+   I[3] = I[4], I[4] = I[5], \
+   I[6] = I[7], I[7] = I[8], \
+   _p1##x = x++, ++_n1##x)
+
+#define cimg_for4x4(img,x,y,z,c,I,T) \
+  cimg_for4((img)._height,y) for (int x = 0, \
+   _p1##x = 0, \
+   _n1##x = 1>=(img)._width?(img).width() - 1:1, \
+   _n2##x = (int)( \
+   (I[0] = I[1] = (T)(img)(_p1##x,_p1##y,z,c)), \
+   (I[4] = I[5] = (T)(img)(0,y,z,c)), \
+   (I[8] = I[9] = (T)(img)(0,_n1##y,z,c)), \
+   (I[12] = I[13] = (T)(img)(0,_n2##y,z,c)), \
+   (I[2] = (T)(img)(_n1##x,_p1##y,z,c)), \
+   (I[6] = (T)(img)(_n1##x,y,z,c)), \
+   (I[10] = (T)(img)(_n1##x,_n1##y,z,c)), \
+   (I[14] = (T)(img)(_n1##x,_n2##y,z,c)), \
+   2>=(img)._width?(img).width() - 1:2); \
+   (_n2##x<(img).width() && ( \
+   (I[3] = (T)(img)(_n2##x,_p1##y,z,c)), \
+   (I[7] = (T)(img)(_n2##x,y,z,c)), \
+   (I[11] = (T)(img)(_n2##x,_n1##y,z,c)), \
+   (I[15] = (T)(img)(_n2##x,_n2##y,z,c)),1)) || \
+   _n1##x==--_n2##x || x==(_n2##x = --_n1##x); \
+   I[0] = I[1], I[1] = I[2], I[2] = I[3], \
+   I[4] = I[5], I[5] = I[6], I[6] = I[7], \
+   I[8] = I[9], I[9] = I[10], I[10] = I[11], \
+   I[12] = I[13], I[13] = I[14], I[14] = I[15], \
+   _p1##x = x++, ++_n1##x, ++_n2##x)
+
+#define cimg_for_in4x4(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+  cimg_for_in4((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+   _p1##x = x - 1<0?0:x - 1, \
+   _n1##x = x + 1>=(int)(img)._width?(img).width() - 1:x + 1, \
+   _n2##x = (int)( \
+   (I[0] = (T)(img)(_p1##x,_p1##y,z,c)), \
+   (I[4] = (T)(img)(_p1##x,y,z,c)), \
+   (I[8] = (T)(img)(_p1##x,_n1##y,z,c)), \
+   (I[12] = (T)(img)(_p1##x,_n2##y,z,c)), \
+   (I[1] = (T)(img)(x,_p1##y,z,c)), \
+   (I[5] = (T)(img)(x,y,z,c)), \
+   (I[9] = (T)(img)(x,_n1##y,z,c)), \
+   (I[13] = (T)(img)(x,_n2##y,z,c)), \
+   (I[2] = (T)(img)(_n1##x,_p1##y,z,c)), \
+   (I[6] = (T)(img)(_n1##x,y,z,c)), \
+   (I[10] = (T)(img)(_n1##x,_n1##y,z,c)), \
+   (I[14] = (T)(img)(_n1##x,_n2##y,z,c)), \
+   x + 2>=(int)(img)._width?(img).width() - 1:x + 2); \
+   x<=(int)(x1) && ((_n2##x<(img).width() && ( \
+   (I[3] = (T)(img)(_n2##x,_p1##y,z,c)), \
+   (I[7] = (T)(img)(_n2##x,y,z,c)), \
+   (I[11] = (T)(img)(_n2##x,_n1##y,z,c)), \
+   (I[15] = (T)(img)(_n2##x,_n2##y,z,c)),1)) || \
+   _n1##x==--_n2##x || x==(_n2##x = --_n1##x)); \
+   I[0] = I[1], I[1] = I[2], I[2] = I[3], \
+   I[4] = I[5], I[5] = I[6], I[6] = I[7], \
+   I[8] = I[9], I[9] = I[10], I[10] = I[11], \
+   I[12] = I[13], I[13] = I[14], I[14] = I[15], \
+   _p1##x = x++, ++_n1##x, ++_n2##x)
+
+#define cimg_for5x5(img,x,y,z,c,I,T) \
+ cimg_for5((img)._height,y) for (int x = 0, \
+   _p2##x = 0, _p1##x = 0, \
+   _n1##x = 1>=(img)._width?(img).width() - 1:1, \
+   _n2##x = (int)( \
+   (I[0] = I[1] = I[2] = (T)(img)(_p2##x,_p2##y,z,c)), \
+   (I[5] = I[6] = I[7] = (T)(img)(0,_p1##y,z,c)), \
+   (I[10] = I[11] = I[12] = (T)(img)(0,y,z,c)), \
+   (I[15] = I[16] = I[17] = (T)(img)(0,_n1##y,z,c)), \
+   (I[20] = I[21] = I[22] = (T)(img)(0,_n2##y,z,c)), \
+   (I[3] = (T)(img)(_n1##x,_p2##y,z,c)), \
+   (I[8] = (T)(img)(_n1##x,_p1##y,z,c)), \
+   (I[13] = (T)(img)(_n1##x,y,z,c)), \
+   (I[18] = (T)(img)(_n1##x,_n1##y,z,c)), \
+   (I[23] = (T)(img)(_n1##x,_n2##y,z,c)),  \
+   2>=(img)._width?(img).width() - 1:2); \
+   (_n2##x<(img).width() && ( \
+   (I[4] = (T)(img)(_n2##x,_p2##y,z,c)), \
+   (I[9] = (T)(img)(_n2##x,_p1##y,z,c)), \
+   (I[14] = (T)(img)(_n2##x,y,z,c)), \
+   (I[19] = (T)(img)(_n2##x,_n1##y,z,c)), \
+   (I[24] = (T)(img)(_n2##x,_n2##y,z,c)),1)) || \
+   _n1##x==--_n2##x || x==(_n2##x = --_n1##x); \
+   I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], \
+   I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], \
+   I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], \
+   I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], \
+   I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], \
+   _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x)
+
+#define cimg_for_in5x5(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in5((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+   _p2##x = x - 2<0?0:x - 2, \
+   _p1##x = x - 1<0?0:x - 1, \
+   _n1##x = x + 1>=(int)(img)._width?(img).width() - 1:x + 1, \
+   _n2##x = (int)( \
+   (I[0] = (T)(img)(_p2##x,_p2##y,z,c)), \
+   (I[5] = (T)(img)(_p2##x,_p1##y,z,c)), \
+   (I[10] = (T)(img)(_p2##x,y,z,c)), \
+   (I[15] = (T)(img)(_p2##x,_n1##y,z,c)), \
+   (I[20] = (T)(img)(_p2##x,_n2##y,z,c)), \
+   (I[1] = (T)(img)(_p1##x,_p2##y,z,c)), \
+   (I[6] = (T)(img)(_p1##x,_p1##y,z,c)), \
+   (I[11] = (T)(img)(_p1##x,y,z,c)), \
+   (I[16] = (T)(img)(_p1##x,_n1##y,z,c)), \
+   (I[21] = (T)(img)(_p1##x,_n2##y,z,c)), \
+   (I[2] = (T)(img)(x,_p2##y,z,c)), \
+   (I[7] = (T)(img)(x,_p1##y,z,c)), \
+   (I[12] = (T)(img)(x,y,z,c)), \
+   (I[17] = (T)(img)(x,_n1##y,z,c)), \
+   (I[22] = (T)(img)(x,_n2##y,z,c)), \
+   (I[3] = (T)(img)(_n1##x,_p2##y,z,c)), \
+   (I[8] = (T)(img)(_n1##x,_p1##y,z,c)), \
+   (I[13] = (T)(img)(_n1##x,y,z,c)), \
+   (I[18] = (T)(img)(_n1##x,_n1##y,z,c)), \
+   (I[23] = (T)(img)(_n1##x,_n2##y,z,c)), \
+   x + 2>=(int)(img)._width?(img).width() - 1:x + 2); \
+   x<=(int)(x1) && ((_n2##x<(img).width() && ( \
+   (I[4] = (T)(img)(_n2##x,_p2##y,z,c)), \
+   (I[9] = (T)(img)(_n2##x,_p1##y,z,c)), \
+   (I[14] = (T)(img)(_n2##x,y,z,c)), \
+   (I[19] = (T)(img)(_n2##x,_n1##y,z,c)), \
+   (I[24] = (T)(img)(_n2##x,_n2##y,z,c)),1)) || \
+   _n1##x==--_n2##x || x==(_n2##x = --_n1##x)); \
+   I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], \
+   I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], \
+   I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], \
+   I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], \
+   I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], \
+   _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x)
+
+#define cimg_for6x6(img,x,y,z,c,I,T) \
+ cimg_for6((img)._height,y) for (int x = 0, \
+   _p2##x = 0, _p1##x = 0, \
+   _n1##x = 1>=(img)._width?(img).width() - 1:1, \
+   _n2##x = 2>=(img)._width?(img).width() - 1:2, \
+   _n3##x = (int)( \
+   (I[0] = I[1] = I[2] = (T)(img)(_p2##x,_p2##y,z,c)), \
+   (I[6] = I[7] = I[8] = (T)(img)(0,_p1##y,z,c)), \
+   (I[12] = I[13] = I[14] = (T)(img)(0,y,z,c)), \
+   (I[18] = I[19] = I[20] = (T)(img)(0,_n1##y,z,c)), \
+   (I[24] = I[25] = I[26] = (T)(img)(0,_n2##y,z,c)), \
+   (I[30] = I[31] = I[32] = (T)(img)(0,_n3##y,z,c)), \
+   (I[3] = (T)(img)(_n1##x,_p2##y,z,c)), \
+   (I[9] = (T)(img)(_n1##x,_p1##y,z,c)), \
+   (I[15] = (T)(img)(_n1##x,y,z,c)), \
+   (I[21] = (T)(img)(_n1##x,_n1##y,z,c)), \
+   (I[27] = (T)(img)(_n1##x,_n2##y,z,c)), \
+   (I[33] = (T)(img)(_n1##x,_n3##y,z,c)), \
+   (I[4] = (T)(img)(_n2##x,_p2##y,z,c)), \
+   (I[10] = (T)(img)(_n2##x,_p1##y,z,c)), \
+   (I[16] = (T)(img)(_n2##x,y,z,c)), \
+   (I[22] = (T)(img)(_n2##x,_n1##y,z,c)), \
+   (I[28] = (T)(img)(_n2##x,_n2##y,z,c)), \
+   (I[34] = (T)(img)(_n2##x,_n3##y,z,c)), \
+   3>=(img)._width?(img).width() - 1:3); \
+   (_n3##x<(img).width() && ( \
+   (I[5] = (T)(img)(_n3##x,_p2##y,z,c)), \
+   (I[11] = (T)(img)(_n3##x,_p1##y,z,c)), \
+   (I[17] = (T)(img)(_n3##x,y,z,c)), \
+   (I[23] = (T)(img)(_n3##x,_n1##y,z,c)), \
+   (I[29] = (T)(img)(_n3##x,_n2##y,z,c)), \
+   (I[35] = (T)(img)(_n3##x,_n3##y,z,c)),1)) || \
+   _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n3## x = _n2##x = --_n1##x); \
+   I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], \
+   I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], \
+   I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], \
+   I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], \
+   I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], \
+   I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], \
+   _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x)
+
+#define cimg_for_in6x6(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+  cimg_for_in6((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)x0, \
+   _p2##x = x - 2<0?0:x - 2, \
+   _p1##x = x - 1<0?0:x - 1, \
+   _n1##x = x + 1>=(int)(img)._width?(img).width() - 1:x + 1, \
+   _n2##x = x + 2>=(int)(img)._width?(img).width() - 1:x + 2, \
+   _n3##x = (int)( \
+   (I[0] = (T)(img)(_p2##x,_p2##y,z,c)), \
+   (I[6] = (T)(img)(_p2##x,_p1##y,z,c)), \
+   (I[12] = (T)(img)(_p2##x,y,z,c)), \
+   (I[18] = (T)(img)(_p2##x,_n1##y,z,c)), \
+   (I[24] = (T)(img)(_p2##x,_n2##y,z,c)), \
+   (I[30] = (T)(img)(_p2##x,_n3##y,z,c)), \
+   (I[1] = (T)(img)(_p1##x,_p2##y,z,c)), \
+   (I[7] = (T)(img)(_p1##x,_p1##y,z,c)), \
+   (I[13] = (T)(img)(_p1##x,y,z,c)), \
+   (I[19] = (T)(img)(_p1##x,_n1##y,z,c)), \
+   (I[25] = (T)(img)(_p1##x,_n2##y,z,c)), \
+   (I[31] = (T)(img)(_p1##x,_n3##y,z,c)), \
+   (I[2] = (T)(img)(x,_p2##y,z,c)), \
+   (I[8] = (T)(img)(x,_p1##y,z,c)), \
+   (I[14] = (T)(img)(x,y,z,c)), \
+   (I[20] = (T)(img)(x,_n1##y,z,c)), \
+   (I[26] = (T)(img)(x,_n2##y,z,c)), \
+   (I[32] = (T)(img)(x,_n3##y,z,c)), \
+   (I[3] = (T)(img)(_n1##x,_p2##y,z,c)), \
+   (I[9] = (T)(img)(_n1##x,_p1##y,z,c)), \
+   (I[15] = (T)(img)(_n1##x,y,z,c)), \
+   (I[21] = (T)(img)(_n1##x,_n1##y,z,c)), \
+   (I[27] = (T)(img)(_n1##x,_n2##y,z,c)), \
+   (I[33] = (T)(img)(_n1##x,_n3##y,z,c)), \
+   (I[4] = (T)(img)(_n2##x,_p2##y,z,c)), \
+   (I[10] = (T)(img)(_n2##x,_p1##y,z,c)), \
+   (I[16] = (T)(img)(_n2##x,y,z,c)), \
+   (I[22] = (T)(img)(_n2##x,_n1##y,z,c)), \
+   (I[28] = (T)(img)(_n2##x,_n2##y,z,c)), \
+   (I[34] = (T)(img)(_n2##x,_n3##y,z,c)), \
+   x + 3>=(int)(img)._width?(img).width() - 1:x + 3); \
+   x<=(int)(x1) && ((_n3##x<(img).width() && ( \
+   (I[5] = (T)(img)(_n3##x,_p2##y,z,c)), \
+   (I[11] = (T)(img)(_n3##x,_p1##y,z,c)), \
+   (I[17] = (T)(img)(_n3##x,y,z,c)), \
+   (I[23] = (T)(img)(_n3##x,_n1##y,z,c)), \
+   (I[29] = (T)(img)(_n3##x,_n2##y,z,c)), \
+   (I[35] = (T)(img)(_n3##x,_n3##y,z,c)),1)) || \
+   _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n3## x = _n2##x = --_n1##x)); \
+   I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], \
+   I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], \
+   I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], \
+   I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], \
+   I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], \
+   I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], \
+   _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x)
+
+#define cimg_for7x7(img,x,y,z,c,I,T) \
+  cimg_for7((img)._height,y) for (int x = 0, \
+   _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+   _n1##x = 1>=(img)._width?(img).width() - 1:1, \
+   _n2##x = 2>=(img)._width?(img).width() - 1:2, \
+   _n3##x = (int)( \
+   (I[0] = I[1] = I[2] = I[3] = (T)(img)(_p3##x,_p3##y,z,c)), \
+   (I[7] = I[8] = I[9] = I[10] = (T)(img)(0,_p2##y,z,c)), \
+   (I[14] = I[15] = I[16] = I[17] = (T)(img)(0,_p1##y,z,c)), \
+   (I[21] = I[22] = I[23] = I[24] = (T)(img)(0,y,z,c)), \
+   (I[28] = I[29] = I[30] = I[31] = (T)(img)(0,_n1##y,z,c)), \
+   (I[35] = I[36] = I[37] = I[38] = (T)(img)(0,_n2##y,z,c)), \
+   (I[42] = I[43] = I[44] = I[45] = (T)(img)(0,_n3##y,z,c)), \
+   (I[4] = (T)(img)(_n1##x,_p3##y,z,c)), \
+   (I[11] = (T)(img)(_n1##x,_p2##y,z,c)), \
+   (I[18] = (T)(img)(_n1##x,_p1##y,z,c)), \
+   (I[25] = (T)(img)(_n1##x,y,z,c)), \
+   (I[32] = (T)(img)(_n1##x,_n1##y,z,c)), \
+   (I[39] = (T)(img)(_n1##x,_n2##y,z,c)), \
+   (I[46] = (T)(img)(_n1##x,_n3##y,z,c)), \
+   (I[5] = (T)(img)(_n2##x,_p3##y,z,c)), \
+   (I[12] = (T)(img)(_n2##x,_p2##y,z,c)), \
+   (I[19] = (T)(img)(_n2##x,_p1##y,z,c)), \
+   (I[26] = (T)(img)(_n2##x,y,z,c)), \
+   (I[33] = (T)(img)(_n2##x,_n1##y,z,c)), \
+   (I[40] = (T)(img)(_n2##x,_n2##y,z,c)), \
+   (I[47] = (T)(img)(_n2##x,_n3##y,z,c)), \
+   3>=(img)._width?(img).width() - 1:3); \
+   (_n3##x<(img).width() && ( \
+   (I[6] = (T)(img)(_n3##x,_p3##y,z,c)), \
+   (I[13] = (T)(img)(_n3##x,_p2##y,z,c)), \
+   (I[20] = (T)(img)(_n3##x,_p1##y,z,c)), \
+   (I[27] = (T)(img)(_n3##x,y,z,c)), \
+   (I[34] = (T)(img)(_n3##x,_n1##y,z,c)), \
+   (I[41] = (T)(img)(_n3##x,_n2##y,z,c)), \
+   (I[48] = (T)(img)(_n3##x,_n3##y,z,c)),1)) || \
+   _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n3##x = _n2##x = --_n1##x); \
+   I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], \
+   I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], \
+   I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], \
+   I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], \
+   I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], \
+   I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], \
+   I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], \
+   _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x)
+
+#define cimg_for_in7x7(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+  cimg_for_in7((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+   _p3##x = x - 3<0?0:x - 3, \
+   _p2##x = x - 2<0?0:x - 2, \
+   _p1##x = x - 1<0?0:x - 1, \
+   _n1##x = x + 1>=(int)(img)._width?(img).width() - 1:x + 1, \
+   _n2##x = x + 2>=(int)(img)._width?(img).width() - 1:x + 2, \
+   _n3##x = (int)( \
+   (I[0] = (T)(img)(_p3##x,_p3##y,z,c)), \
+   (I[7] = (T)(img)(_p3##x,_p2##y,z,c)), \
+   (I[14] = (T)(img)(_p3##x,_p1##y,z,c)), \
+   (I[21] = (T)(img)(_p3##x,y,z,c)), \
+   (I[28] = (T)(img)(_p3##x,_n1##y,z,c)), \
+   (I[35] = (T)(img)(_p3##x,_n2##y,z,c)), \
+   (I[42] = (T)(img)(_p3##x,_n3##y,z,c)), \
+   (I[1] = (T)(img)(_p2##x,_p3##y,z,c)), \
+   (I[8] = (T)(img)(_p2##x,_p2##y,z,c)), \
+   (I[15] = (T)(img)(_p2##x,_p1##y,z,c)), \
+   (I[22] = (T)(img)(_p2##x,y,z,c)), \
+   (I[29] = (T)(img)(_p2##x,_n1##y,z,c)), \
+   (I[36] = (T)(img)(_p2##x,_n2##y,z,c)), \
+   (I[43] = (T)(img)(_p2##x,_n3##y,z,c)), \
+   (I[2] = (T)(img)(_p1##x,_p3##y,z,c)), \
+   (I[9] = (T)(img)(_p1##x,_p2##y,z,c)), \
+   (I[16] = (T)(img)(_p1##x,_p1##y,z,c)), \
+   (I[23] = (T)(img)(_p1##x,y,z,c)), \
+   (I[30] = (T)(img)(_p1##x,_n1##y,z,c)), \
+   (I[37] = (T)(img)(_p1##x,_n2##y,z,c)), \
+   (I[44] = (T)(img)(_p1##x,_n3##y,z,c)), \
+   (I[3] = (T)(img)(x,_p3##y,z,c)), \
+   (I[10] = (T)(img)(x,_p2##y,z,c)), \
+   (I[17] = (T)(img)(x,_p1##y,z,c)), \
+   (I[24] = (T)(img)(x,y,z,c)), \
+   (I[31] = (T)(img)(x,_n1##y,z,c)), \
+   (I[38] = (T)(img)(x,_n2##y,z,c)), \
+   (I[45] = (T)(img)(x,_n3##y,z,c)), \
+   (I[4] = (T)(img)(_n1##x,_p3##y,z,c)), \
+   (I[11] = (T)(img)(_n1##x,_p2##y,z,c)), \
+   (I[18] = (T)(img)(_n1##x,_p1##y,z,c)), \
+   (I[25] = (T)(img)(_n1##x,y,z,c)), \
+   (I[32] = (T)(img)(_n1##x,_n1##y,z,c)), \
+   (I[39] = (T)(img)(_n1##x,_n2##y,z,c)), \
+   (I[46] = (T)(img)(_n1##x,_n3##y,z,c)), \
+   (I[5] = (T)(img)(_n2##x,_p3##y,z,c)), \
+   (I[12] = (T)(img)(_n2##x,_p2##y,z,c)), \
+   (I[19] = (T)(img)(_n2##x,_p1##y,z,c)), \
+   (I[26] = (T)(img)(_n2##x,y,z,c)), \
+   (I[33] = (T)(img)(_n2##x,_n1##y,z,c)), \
+   (I[40] = (T)(img)(_n2##x,_n2##y,z,c)), \
+   (I[47] = (T)(img)(_n2##x,_n3##y,z,c)), \
+   x + 3>=(int)(img)._width?(img).width() - 1:x + 3); \
+   x<=(int)(x1) && ((_n3##x<(img).width() && ( \
+   (I[6] = (T)(img)(_n3##x,_p3##y,z,c)), \
+   (I[13] = (T)(img)(_n3##x,_p2##y,z,c)), \
+   (I[20] = (T)(img)(_n3##x,_p1##y,z,c)), \
+   (I[27] = (T)(img)(_n3##x,y,z,c)), \
+   (I[34] = (T)(img)(_n3##x,_n1##y,z,c)), \
+   (I[41] = (T)(img)(_n3##x,_n2##y,z,c)), \
+   (I[48] = (T)(img)(_n3##x,_n3##y,z,c)),1)) || \
+   _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n3##x = _n2##x = --_n1##x)); \
+   I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], \
+   I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], \
+   I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], \
+   I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], \
+   I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], \
+   I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], \
+   I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], \
+   _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x)
+
+#define cimg_for8x8(img,x,y,z,c,I,T) \
+  cimg_for8((img)._height,y) for (int x = 0, \
+   _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+   _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+   _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+   _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+   _n4##x = (int)( \
+   (I[0] = I[1] = I[2] = I[3] = (T)(img)(_p3##x,_p3##y,z,c)), \
+   (I[8] = I[9] = I[10] = I[11] = (T)(img)(0,_p2##y,z,c)), \
+   (I[16] = I[17] = I[18] = I[19] = (T)(img)(0,_p1##y,z,c)), \
+   (I[24] = I[25] = I[26] = I[27] = (T)(img)(0,y,z,c)), \
+   (I[32] = I[33] = I[34] = I[35] = (T)(img)(0,_n1##y,z,c)), \
+   (I[40] = I[41] = I[42] = I[43] = (T)(img)(0,_n2##y,z,c)), \
+   (I[48] = I[49] = I[50] = I[51] = (T)(img)(0,_n3##y,z,c)), \
+   (I[56] = I[57] = I[58] = I[59] = (T)(img)(0,_n4##y,z,c)), \
+   (I[4] = (T)(img)(_n1##x,_p3##y,z,c)), \
+   (I[12] = (T)(img)(_n1##x,_p2##y,z,c)), \
+   (I[20] = (T)(img)(_n1##x,_p1##y,z,c)), \
+   (I[28] = (T)(img)(_n1##x,y,z,c)), \
+   (I[36] = (T)(img)(_n1##x,_n1##y,z,c)), \
+   (I[44] = (T)(img)(_n1##x,_n2##y,z,c)), \
+   (I[52] = (T)(img)(_n1##x,_n3##y,z,c)), \
+   (I[60] = (T)(img)(_n1##x,_n4##y,z,c)), \
+   (I[5] = (T)(img)(_n2##x,_p3##y,z,c)), \
+   (I[13] = (T)(img)(_n2##x,_p2##y,z,c)), \
+   (I[21] = (T)(img)(_n2##x,_p1##y,z,c)), \
+   (I[29] = (T)(img)(_n2##x,y,z,c)), \
+   (I[37] = (T)(img)(_n2##x,_n1##y,z,c)), \
+   (I[45] = (T)(img)(_n2##x,_n2##y,z,c)), \
+   (I[53] = (T)(img)(_n2##x,_n3##y,z,c)), \
+   (I[61] = (T)(img)(_n2##x,_n4##y,z,c)), \
+   (I[6] = (T)(img)(_n3##x,_p3##y,z,c)), \
+   (I[14] = (T)(img)(_n3##x,_p2##y,z,c)), \
+   (I[22] = (T)(img)(_n3##x,_p1##y,z,c)), \
+   (I[30] = (T)(img)(_n3##x,y,z,c)), \
+   (I[38] = (T)(img)(_n3##x,_n1##y,z,c)), \
+   (I[46] = (T)(img)(_n3##x,_n2##y,z,c)), \
+   (I[54] = (T)(img)(_n3##x,_n3##y,z,c)), \
+   (I[62] = (T)(img)(_n3##x,_n4##y,z,c)), \
+   4>=((img)._width)?(img).width() - 1:4); \
+   (_n4##x<(img).width() && ( \
+   (I[7] = (T)(img)(_n4##x,_p3##y,z,c)), \
+   (I[15] = (T)(img)(_n4##x,_p2##y,z,c)), \
+   (I[23] = (T)(img)(_n4##x,_p1##y,z,c)), \
+   (I[31] = (T)(img)(_n4##x,y,z,c)), \
+   (I[39] = (T)(img)(_n4##x,_n1##y,z,c)), \
+   (I[47] = (T)(img)(_n4##x,_n2##y,z,c)), \
+   (I[55] = (T)(img)(_n4##x,_n3##y,z,c)), \
+   (I[63] = (T)(img)(_n4##x,_n4##y,z,c)),1)) || \
+   _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n4##x = _n3##x = _n2##x = --_n1##x); \
+   I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], \
+   I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], \
+   I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], \
+   I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], \
+   I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], \
+   I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], \
+   I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], \
+   I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], \
+   _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x)
+
+#define cimg_for_in8x8(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+  cimg_for_in8((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+   _p3##x = x - 3<0?0:x - 3, \
+   _p2##x = x - 2<0?0:x - 2, \
+   _p1##x = x - 1<0?0:x - 1, \
+   _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+   _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+   _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+   _n4##x = (int)( \
+   (I[0] = (T)(img)(_p3##x,_p3##y,z,c)), \
+   (I[8] = (T)(img)(_p3##x,_p2##y,z,c)), \
+   (I[16] = (T)(img)(_p3##x,_p1##y,z,c)), \
+   (I[24] = (T)(img)(_p3##x,y,z,c)), \
+   (I[32] = (T)(img)(_p3##x,_n1##y,z,c)), \
+   (I[40] = (T)(img)(_p3##x,_n2##y,z,c)), \
+   (I[48] = (T)(img)(_p3##x,_n3##y,z,c)), \
+   (I[56] = (T)(img)(_p3##x,_n4##y,z,c)), \
+   (I[1] = (T)(img)(_p2##x,_p3##y,z,c)), \
+   (I[9] = (T)(img)(_p2##x,_p2##y,z,c)), \
+   (I[17] = (T)(img)(_p2##x,_p1##y,z,c)), \
+   (I[25] = (T)(img)(_p2##x,y,z,c)), \
+   (I[33] = (T)(img)(_p2##x,_n1##y,z,c)), \
+   (I[41] = (T)(img)(_p2##x,_n2##y,z,c)), \
+   (I[49] = (T)(img)(_p2##x,_n3##y,z,c)), \
+   (I[57] = (T)(img)(_p2##x,_n4##y,z,c)), \
+   (I[2] = (T)(img)(_p1##x,_p3##y,z,c)), \
+   (I[10] = (T)(img)(_p1##x,_p2##y,z,c)), \
+   (I[18] = (T)(img)(_p1##x,_p1##y,z,c)), \
+   (I[26] = (T)(img)(_p1##x,y,z,c)), \
+   (I[34] = (T)(img)(_p1##x,_n1##y,z,c)), \
+   (I[42] = (T)(img)(_p1##x,_n2##y,z,c)), \
+   (I[50] = (T)(img)(_p1##x,_n3##y,z,c)), \
+   (I[58] = (T)(img)(_p1##x,_n4##y,z,c)), \
+   (I[3] = (T)(img)(x,_p3##y,z,c)), \
+   (I[11] = (T)(img)(x,_p2##y,z,c)), \
+   (I[19] = (T)(img)(x,_p1##y,z,c)), \
+   (I[27] = (T)(img)(x,y,z,c)), \
+   (I[35] = (T)(img)(x,_n1##y,z,c)), \
+   (I[43] = (T)(img)(x,_n2##y,z,c)), \
+   (I[51] = (T)(img)(x,_n3##y,z,c)), \
+   (I[59] = (T)(img)(x,_n4##y,z,c)), \
+   (I[4] = (T)(img)(_n1##x,_p3##y,z,c)), \
+   (I[12] = (T)(img)(_n1##x,_p2##y,z,c)), \
+   (I[20] = (T)(img)(_n1##x,_p1##y,z,c)), \
+   (I[28] = (T)(img)(_n1##x,y,z,c)), \
+   (I[36] = (T)(img)(_n1##x,_n1##y,z,c)), \
+   (I[44] = (T)(img)(_n1##x,_n2##y,z,c)), \
+   (I[52] = (T)(img)(_n1##x,_n3##y,z,c)), \
+   (I[60] = (T)(img)(_n1##x,_n4##y,z,c)), \
+   (I[5] = (T)(img)(_n2##x,_p3##y,z,c)), \
+   (I[13] = (T)(img)(_n2##x,_p2##y,z,c)), \
+   (I[21] = (T)(img)(_n2##x,_p1##y,z,c)), \
+   (I[29] = (T)(img)(_n2##x,y,z,c)), \
+   (I[37] = (T)(img)(_n2##x,_n1##y,z,c)), \
+   (I[45] = (T)(img)(_n2##x,_n2##y,z,c)), \
+   (I[53] = (T)(img)(_n2##x,_n3##y,z,c)), \
+   (I[61] = (T)(img)(_n2##x,_n4##y,z,c)), \
+   (I[6] = (T)(img)(_n3##x,_p3##y,z,c)), \
+   (I[14] = (T)(img)(_n3##x,_p2##y,z,c)), \
+   (I[22] = (T)(img)(_n3##x,_p1##y,z,c)), \
+   (I[30] = (T)(img)(_n3##x,y,z,c)), \
+   (I[38] = (T)(img)(_n3##x,_n1##y,z,c)), \
+   (I[46] = (T)(img)(_n3##x,_n2##y,z,c)), \
+   (I[54] = (T)(img)(_n3##x,_n3##y,z,c)), \
+   (I[62] = (T)(img)(_n3##x,_n4##y,z,c)), \
+   x + 4>=(img).width()?(img).width() - 1:x + 4); \
+   x<=(int)(x1) && ((_n4##x<(img).width() && ( \
+   (I[7] = (T)(img)(_n4##x,_p3##y,z,c)), \
+   (I[15] = (T)(img)(_n4##x,_p2##y,z,c)), \
+   (I[23] = (T)(img)(_n4##x,_p1##y,z,c)), \
+   (I[31] = (T)(img)(_n4##x,y,z,c)), \
+   (I[39] = (T)(img)(_n4##x,_n1##y,z,c)), \
+   (I[47] = (T)(img)(_n4##x,_n2##y,z,c)), \
+   (I[55] = (T)(img)(_n4##x,_n3##y,z,c)), \
+   (I[63] = (T)(img)(_n4##x,_n4##y,z,c)),1)) || \
+   _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n4##x = _n3##x = _n2##x = --_n1##x)); \
+   I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], \
+   I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], \
+   I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], \
+   I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], \
+   I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], \
+   I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], \
+   I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], \
+   I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], \
+   _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x)
+
+#define cimg_for9x9(img,x,y,z,c,I,T) \
+  cimg_for9((img)._height,y) for (int x = 0, \
+   _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+   _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+   _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+   _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+   _n4##x = (int)( \
+   (I[0] = I[1] = I[2] = I[3] = I[4] = (T)(img)(_p4##x,_p4##y,z,c)), \
+   (I[9] = I[10] = I[11] = I[12] = I[13] = (T)(img)(0,_p3##y,z,c)), \
+   (I[18] = I[19] = I[20] = I[21] = I[22] = (T)(img)(0,_p2##y,z,c)), \
+   (I[27] = I[28] = I[29] = I[30] = I[31] = (T)(img)(0,_p1##y,z,c)), \
+   (I[36] = I[37] = I[38] = I[39] = I[40] = (T)(img)(0,y,z,c)), \
+   (I[45] = I[46] = I[47] = I[48] = I[49] = (T)(img)(0,_n1##y,z,c)), \
+   (I[54] = I[55] = I[56] = I[57] = I[58] = (T)(img)(0,_n2##y,z,c)), \
+   (I[63] = I[64] = I[65] = I[66] = I[67] = (T)(img)(0,_n3##y,z,c)), \
+   (I[72] = I[73] = I[74] = I[75] = I[76] = (T)(img)(0,_n4##y,z,c)), \
+   (I[5] = (T)(img)(_n1##x,_p4##y,z,c)), \
+   (I[14] = (T)(img)(_n1##x,_p3##y,z,c)), \
+   (I[23] = (T)(img)(_n1##x,_p2##y,z,c)), \
+   (I[32] = (T)(img)(_n1##x,_p1##y,z,c)), \
+   (I[41] = (T)(img)(_n1##x,y,z,c)), \
+   (I[50] = (T)(img)(_n1##x,_n1##y,z,c)), \
+   (I[59] = (T)(img)(_n1##x,_n2##y,z,c)), \
+   (I[68] = (T)(img)(_n1##x,_n3##y,z,c)), \
+   (I[77] = (T)(img)(_n1##x,_n4##y,z,c)), \
+   (I[6] = (T)(img)(_n2##x,_p4##y,z,c)), \
+   (I[15] = (T)(img)(_n2##x,_p3##y,z,c)), \
+   (I[24] = (T)(img)(_n2##x,_p2##y,z,c)), \
+   (I[33] = (T)(img)(_n2##x,_p1##y,z,c)), \
+   (I[42] = (T)(img)(_n2##x,y,z,c)), \
+   (I[51] = (T)(img)(_n2##x,_n1##y,z,c)), \
+   (I[60] = (T)(img)(_n2##x,_n2##y,z,c)), \
+   (I[69] = (T)(img)(_n2##x,_n3##y,z,c)), \
+   (I[78] = (T)(img)(_n2##x,_n4##y,z,c)), \
+   (I[7] = (T)(img)(_n3##x,_p4##y,z,c)), \
+   (I[16] = (T)(img)(_n3##x,_p3##y,z,c)), \
+   (I[25] = (T)(img)(_n3##x,_p2##y,z,c)), \
+   (I[34] = (T)(img)(_n3##x,_p1##y,z,c)), \
+   (I[43] = (T)(img)(_n3##x,y,z,c)), \
+   (I[52] = (T)(img)(_n3##x,_n1##y,z,c)), \
+   (I[61] = (T)(img)(_n3##x,_n2##y,z,c)), \
+   (I[70] = (T)(img)(_n3##x,_n3##y,z,c)), \
+   (I[79] = (T)(img)(_n3##x,_n4##y,z,c)), \
+   4>=((img)._width)?(img).width() - 1:4); \
+   (_n4##x<(img).width() && ( \
+   (I[8] = (T)(img)(_n4##x,_p4##y,z,c)), \
+   (I[17] = (T)(img)(_n4##x,_p3##y,z,c)), \
+   (I[26] = (T)(img)(_n4##x,_p2##y,z,c)), \
+   (I[35] = (T)(img)(_n4##x,_p1##y,z,c)), \
+   (I[44] = (T)(img)(_n4##x,y,z,c)), \
+   (I[53] = (T)(img)(_n4##x,_n1##y,z,c)), \
+   (I[62] = (T)(img)(_n4##x,_n2##y,z,c)), \
+   (I[71] = (T)(img)(_n4##x,_n3##y,z,c)), \
+   (I[80] = (T)(img)(_n4##x,_n4##y,z,c)),1)) || \
+   _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n4##x = _n3##x = _n2##x = --_n1##x); \
+   I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], \
+   I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], \
+   I[16] = I[17], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], \
+   I[24] = I[25], I[25] = I[26], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], \
+   I[32] = I[33], I[33] = I[34], I[34] = I[35], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], \
+   I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[45] = I[46], I[46] = I[47], I[47] = I[48], \
+   I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[54] = I[55], I[55] = I[56], \
+   I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[63] = I[64], \
+   I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], \
+   I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], \
+   I[79] = I[80], \
+   _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x)
+
+#define cimg_for_in9x9(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+  cimg_for_in9((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+   _p4##x = x - 4<0?0:x - 4, \
+   _p3##x = x - 3<0?0:x - 3, \
+   _p2##x = x - 2<0?0:x - 2, \
+   _p1##x = x - 1<0?0:x - 1, \
+   _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+   _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+   _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+   _n4##x = (int)( \
+   (I[0] = (T)(img)(_p4##x,_p4##y,z,c)), \
+   (I[9] = (T)(img)(_p4##x,_p3##y,z,c)), \
+   (I[18] = (T)(img)(_p4##x,_p2##y,z,c)), \
+   (I[27] = (T)(img)(_p4##x,_p1##y,z,c)), \
+   (I[36] = (T)(img)(_p4##x,y,z,c)), \
+   (I[45] = (T)(img)(_p4##x,_n1##y,z,c)), \
+   (I[54] = (T)(img)(_p4##x,_n2##y,z,c)), \
+   (I[63] = (T)(img)(_p4##x,_n3##y,z,c)), \
+   (I[72] = (T)(img)(_p4##x,_n4##y,z,c)), \
+   (I[1] = (T)(img)(_p3##x,_p4##y,z,c)), \
+   (I[10] = (T)(img)(_p3##x,_p3##y,z,c)), \
+   (I[19] = (T)(img)(_p3##x,_p2##y,z,c)), \
+   (I[28] = (T)(img)(_p3##x,_p1##y,z,c)), \
+   (I[37] = (T)(img)(_p3##x,y,z,c)), \
+   (I[46] = (T)(img)(_p3##x,_n1##y,z,c)), \
+   (I[55] = (T)(img)(_p3##x,_n2##y,z,c)), \
+   (I[64] = (T)(img)(_p3##x,_n3##y,z,c)), \
+   (I[73] = (T)(img)(_p3##x,_n4##y,z,c)), \
+   (I[2] = (T)(img)(_p2##x,_p4##y,z,c)), \
+   (I[11] = (T)(img)(_p2##x,_p3##y,z,c)), \
+   (I[20] = (T)(img)(_p2##x,_p2##y,z,c)), \
+   (I[29] = (T)(img)(_p2##x,_p1##y,z,c)), \
+   (I[38] = (T)(img)(_p2##x,y,z,c)), \
+   (I[47] = (T)(img)(_p2##x,_n1##y,z,c)), \
+   (I[56] = (T)(img)(_p2##x,_n2##y,z,c)), \
+   (I[65] = (T)(img)(_p2##x,_n3##y,z,c)), \
+   (I[74] = (T)(img)(_p2##x,_n4##y,z,c)), \
+   (I[3] = (T)(img)(_p1##x,_p4##y,z,c)), \
+   (I[12] = (T)(img)(_p1##x,_p3##y,z,c)), \
+   (I[21] = (T)(img)(_p1##x,_p2##y,z,c)), \
+   (I[30] = (T)(img)(_p1##x,_p1##y,z,c)), \
+   (I[39] = (T)(img)(_p1##x,y,z,c)), \
+   (I[48] = (T)(img)(_p1##x,_n1##y,z,c)), \
+   (I[57] = (T)(img)(_p1##x,_n2##y,z,c)), \
+   (I[66] = (T)(img)(_p1##x,_n3##y,z,c)), \
+   (I[75] = (T)(img)(_p1##x,_n4##y,z,c)), \
+   (I[4] = (T)(img)(x,_p4##y,z,c)), \
+   (I[13] = (T)(img)(x,_p3##y,z,c)), \
+   (I[22] = (T)(img)(x,_p2##y,z,c)), \
+   (I[31] = (T)(img)(x,_p1##y,z,c)), \
+   (I[40] = (T)(img)(x,y,z,c)), \
+   (I[49] = (T)(img)(x,_n1##y,z,c)), \
+   (I[58] = (T)(img)(x,_n2##y,z,c)), \
+   (I[67] = (T)(img)(x,_n3##y,z,c)), \
+   (I[76] = (T)(img)(x,_n4##y,z,c)), \
+   (I[5] = (T)(img)(_n1##x,_p4##y,z,c)), \
+   (I[14] = (T)(img)(_n1##x,_p3##y,z,c)), \
+   (I[23] = (T)(img)(_n1##x,_p2##y,z,c)), \
+   (I[32] = (T)(img)(_n1##x,_p1##y,z,c)), \
+   (I[41] = (T)(img)(_n1##x,y,z,c)), \
+   (I[50] = (T)(img)(_n1##x,_n1##y,z,c)), \
+   (I[59] = (T)(img)(_n1##x,_n2##y,z,c)), \
+   (I[68] = (T)(img)(_n1##x,_n3##y,z,c)), \
+   (I[77] = (T)(img)(_n1##x,_n4##y,z,c)), \
+   (I[6] = (T)(img)(_n2##x,_p4##y,z,c)), \
+   (I[15] = (T)(img)(_n2##x,_p3##y,z,c)), \
+   (I[24] = (T)(img)(_n2##x,_p2##y,z,c)), \
+   (I[33] = (T)(img)(_n2##x,_p1##y,z,c)), \
+   (I[42] = (T)(img)(_n2##x,y,z,c)), \
+   (I[51] = (T)(img)(_n2##x,_n1##y,z,c)), \
+   (I[60] = (T)(img)(_n2##x,_n2##y,z,c)), \
+   (I[69] = (T)(img)(_n2##x,_n3##y,z,c)), \
+   (I[78] = (T)(img)(_n2##x,_n4##y,z,c)), \
+   (I[7] = (T)(img)(_n3##x,_p4##y,z,c)), \
+   (I[16] = (T)(img)(_n3##x,_p3##y,z,c)), \
+   (I[25] = (T)(img)(_n3##x,_p2##y,z,c)), \
+   (I[34] = (T)(img)(_n3##x,_p1##y,z,c)), \
+   (I[43] = (T)(img)(_n3##x,y,z,c)), \
+   (I[52] = (T)(img)(_n3##x,_n1##y,z,c)), \
+   (I[61] = (T)(img)(_n3##x,_n2##y,z,c)), \
+   (I[70] = (T)(img)(_n3##x,_n3##y,z,c)), \
+   (I[79] = (T)(img)(_n3##x,_n4##y,z,c)), \
+   x + 4>=(img).width()?(img).width() - 1:x + 4); \
+   x<=(int)(x1) && ((_n4##x<(img).width() && ( \
+   (I[8] = (T)(img)(_n4##x,_p4##y,z,c)), \
+   (I[17] = (T)(img)(_n4##x,_p3##y,z,c)), \
+   (I[26] = (T)(img)(_n4##x,_p2##y,z,c)), \
+   (I[35] = (T)(img)(_n4##x,_p1##y,z,c)), \
+   (I[44] = (T)(img)(_n4##x,y,z,c)), \
+   (I[53] = (T)(img)(_n4##x,_n1##y,z,c)), \
+   (I[62] = (T)(img)(_n4##x,_n2##y,z,c)), \
+   (I[71] = (T)(img)(_n4##x,_n3##y,z,c)), \
+   (I[80] = (T)(img)(_n4##x,_n4##y,z,c)),1)) || \
+   _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n4##x = _n3##x = _n2##x = --_n1##x)); \
+   I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], \
+   I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], \
+   I[16] = I[17], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], \
+   I[24] = I[25], I[25] = I[26], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], \
+   I[32] = I[33], I[33] = I[34], I[34] = I[35], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], \
+   I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[45] = I[46], I[46] = I[47], I[47] = I[48], \
+   I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[54] = I[55], I[55] = I[56], \
+   I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[63] = I[64], \
+   I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], \
+   I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], \
+   I[79] = I[80], \
+   _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x)
+
+#define cimg_for2x2x2(img,x,y,z,c,I,T) \
+ cimg_for2((img)._depth,z) cimg_for2((img)._height,y) for (int x = 0, \
+   _n1##x = (int)( \
+   (I[0] = (T)(img)(0,y,z,c)), \
+   (I[2] = (T)(img)(0,_n1##y,z,c)), \
+   (I[4] = (T)(img)(0,y,_n1##z,c)), \
+   (I[6] = (T)(img)(0,_n1##y,_n1##z,c)), \
+   1>=(img)._width?(img).width() - 1:1); \
+   (_n1##x<(img).width() && ( \
+   (I[1] = (T)(img)(_n1##x,y,z,c)), \
+   (I[3] = (T)(img)(_n1##x,_n1##y,z,c)), \
+   (I[5] = (T)(img)(_n1##x,y,_n1##z,c)), \
+   (I[7] = (T)(img)(_n1##x,_n1##y,_n1##z,c)),1)) || \
+   x==--_n1##x; \
+   I[0] = I[1], I[2] = I[3], I[4] = I[5], I[6] = I[7], \
+   ++x, ++_n1##x)
+
+#define cimg_for_in2x2x2(img,x0,y0,z0,x1,y1,z1,x,y,z,c,I,T) \
+ cimg_for_in2((img)._depth,z0,z1,z) cimg_for_in2((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+   _n1##x = (int)( \
+   (I[0] = (T)(img)(x,y,z,c)), \
+   (I[2] = (T)(img)(x,_n1##y,z,c)), \
+   (I[4] = (T)(img)(x,y,_n1##z,c)), \
+   (I[6] = (T)(img)(x,_n1##y,_n1##z,c)), \
+   x + 1>=(int)(img)._width?(img).width() - 1:x + 1); \
+   x<=(int)(x1) && ((_n1##x<(img).width() && ( \
+   (I[1] = (T)(img)(_n1##x,y,z,c)), \
+   (I[3] = (T)(img)(_n1##x,_n1##y,z,c)), \
+   (I[5] = (T)(img)(_n1##x,y,_n1##z,c)), \
+   (I[7] = (T)(img)(_n1##x,_n1##y,_n1##z,c)),1)) || \
+   x==--_n1##x); \
+   I[0] = I[1], I[2] = I[3], I[4] = I[5], I[6] = I[7], \
+   ++x, ++_n1##x)
+
+#define cimg_for3x3x3(img,x,y,z,c,I,T) \
+ cimg_for3((img)._depth,z) cimg_for3((img)._height,y) for (int x = 0, \
+   _p1##x = 0, \
+   _n1##x = (int)( \
+   (I[0] = I[1] = (T)(img)(_p1##x,_p1##y,_p1##z,c)), \
+   (I[3] = I[4] = (T)(img)(0,y,_p1##z,c)),  \
+   (I[6] = I[7] = (T)(img)(0,_n1##y,_p1##z,c)), \
+   (I[9] = I[10] = (T)(img)(0,_p1##y,z,c)), \
+   (I[12] = I[13] = (T)(img)(0,y,z,c)), \
+   (I[15] = I[16] = (T)(img)(0,_n1##y,z,c)), \
+   (I[18] = I[19] = (T)(img)(0,_p1##y,_n1##z,c)), \
+   (I[21] = I[22] = (T)(img)(0,y,_n1##z,c)), \
+   (I[24] = I[25] = (T)(img)(0,_n1##y,_n1##z,c)), \
+   1>=(img)._width?(img).width() - 1:1); \
+   (_n1##x<(img).width() && ( \
+   (I[2] = (T)(img)(_n1##x,_p1##y,_p1##z,c)), \
+   (I[5] = (T)(img)(_n1##x,y,_p1##z,c)), \
+   (I[8] = (T)(img)(_n1##x,_n1##y,_p1##z,c)), \
+   (I[11] = (T)(img)(_n1##x,_p1##y,z,c)), \
+   (I[14] = (T)(img)(_n1##x,y,z,c)), \
+   (I[17] = (T)(img)(_n1##x,_n1##y,z,c)), \
+   (I[20] = (T)(img)(_n1##x,_p1##y,_n1##z,c)), \
+   (I[23] = (T)(img)(_n1##x,y,_n1##z,c)), \
+   (I[26] = (T)(img)(_n1##x,_n1##y,_n1##z,c)),1)) || \
+   x==--_n1##x; \
+   I[0] = I[1], I[1] = I[2], I[3] = I[4], I[4] = I[5], I[6] = I[7], I[7] = I[8], \
+   I[9] = I[10], I[10] = I[11], I[12] = I[13], I[13] = I[14], I[15] = I[16], I[16] = I[17], \
+   I[18] = I[19], I[19] = I[20], I[21] = I[22], I[22] = I[23], I[24] = I[25], I[25] = I[26], \
+   _p1##x = x++, ++_n1##x)
+
+#define cimg_for_in3x3x3(img,x0,y0,z0,x1,y1,z1,x,y,z,c,I,T) \
+ cimg_for_in3((img)._depth,z0,z1,z) cimg_for_in3((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+   _p1##x = x - 1<0?0:x - 1, \
+   _n1##x = (int)( \
+   (I[0] = (T)(img)(_p1##x,_p1##y,_p1##z,c)), \
+   (I[3] = (T)(img)(_p1##x,y,_p1##z,c)),  \
+   (I[6] = (T)(img)(_p1##x,_n1##y,_p1##z,c)), \
+   (I[9] = (T)(img)(_p1##x,_p1##y,z,c)), \
+   (I[12] = (T)(img)(_p1##x,y,z,c)), \
+   (I[15] = (T)(img)(_p1##x,_n1##y,z,c)), \
+   (I[18] = (T)(img)(_p1##x,_p1##y,_n1##z,c)), \
+   (I[21] = (T)(img)(_p1##x,y,_n1##z,c)), \
+   (I[24] = (T)(img)(_p1##x,_n1##y,_n1##z,c)), \
+   (I[1] = (T)(img)(x,_p1##y,_p1##z,c)), \
+   (I[4] = (T)(img)(x,y,_p1##z,c)),  \
+   (I[7] = (T)(img)(x,_n1##y,_p1##z,c)), \
+   (I[10] = (T)(img)(x,_p1##y,z,c)), \
+   (I[13] = (T)(img)(x,y,z,c)), \
+   (I[16] = (T)(img)(x,_n1##y,z,c)), \
+   (I[19] = (T)(img)(x,_p1##y,_n1##z,c)), \
+   (I[22] = (T)(img)(x,y,_n1##z,c)), \
+   (I[25] = (T)(img)(x,_n1##y,_n1##z,c)), \
+   x + 1>=(int)(img)._width?(img).width() - 1:x + 1); \
+   x<=(int)(x1) && ((_n1##x<(img).width() && ( \
+   (I[2] = (T)(img)(_n1##x,_p1##y,_p1##z,c)), \
+   (I[5] = (T)(img)(_n1##x,y,_p1##z,c)), \
+   (I[8] = (T)(img)(_n1##x,_n1##y,_p1##z,c)), \
+   (I[11] = (T)(img)(_n1##x,_p1##y,z,c)), \
+   (I[14] = (T)(img)(_n1##x,y,z,c)), \
+   (I[17] = (T)(img)(_n1##x,_n1##y,z,c)), \
+   (I[20] = (T)(img)(_n1##x,_p1##y,_n1##z,c)), \
+   (I[23] = (T)(img)(_n1##x,y,_n1##z,c)), \
+   (I[26] = (T)(img)(_n1##x,_n1##y,_n1##z,c)),1)) || \
+   x==--_n1##x); \
+   I[0] = I[1], I[1] = I[2], I[3] = I[4], I[4] = I[5], I[6] = I[7], I[7] = I[8], \
+   I[9] = I[10], I[10] = I[11], I[12] = I[13], I[13] = I[14], I[15] = I[16], I[16] = I[17], \
+   I[18] = I[19], I[19] = I[20], I[21] = I[22], I[22] = I[23], I[24] = I[25], I[25] = I[26], \
+   _p1##x = x++, ++_n1##x)
+
+#define cimglist_for(list,l) for (int l = 0; l<(int)(list)._width; ++l)
+#define cimglist_for_in(list,l0,l1,l) \
+  for (int l = (int)(l0)<0?0:(int)(l0), _max##l = (unsigned int)l1<(list)._width?(int)(l1):(int)(list)._width - 1; \
+  l<=_max##l; ++l)
+
+#define cimglist_apply(list,fn) cimglist_for(list,__##fn) (list)[__##fn].fn
+
+// Macros used to display error messages when exceptions are thrown.
+// You should not use these macros is your own code.
+#define _cimgdisplay_instance "[instance(%u,%u,%u,%c%s%c)] CImgDisplay::"
+#define cimgdisplay_instance _width,_height,_normalization,_title?'\"':'[',_title?_title:"untitled",_title?'\"':']'
+#define _cimg_instance "[instance(%u,%u,%u,%u,%p,%sshared)] CImg<%s>::"
+#define cimg_instance _width,_height,_depth,_spectrum,_data,_is_shared?"":"non-",pixel_type()
+#define _cimglist_instance "[instance(%u,%u,%p)] CImgList<%s>::"
+#define cimglist_instance _width,_allocated_width,_data,pixel_type()
+
+/*------------------------------------------------
+ #
+ #
+ #  Define cimg_library:: namespace
+ #
+ #
+ -------------------------------------------------*/
+//! Contains <i>all classes and functions</i> of the \CImg library.
+/**
+   This namespace is defined to avoid functions and class names collisions
+   that could happen with the inclusion of other C++ header files.
+   Anyway, it should not happen often and you should reasonnably start most of your
+   \CImg-based programs with
+   \code
+   #include "CImg.h"
+   using namespace cimg_library;
+   \endcode
+   to simplify the declaration of \CImg Library objects afterwards.
+**/
+namespace cimg_library_suffixed {
+
+  // Declare the four classes of the CImg Library.
+  template<typename T=float> struct CImg;
+  template<typename T=float> struct CImgList;
+  struct CImgDisplay;
+  struct CImgException;
+
+  // Declare cimg:: namespace.
+  // This is an uncomplete namespace definition here. It only contains some
+  // necessary stuffs to ensure a correct declaration order of the classes and functions
+  // defined afterwards.
+  namespace cimg {
+
+    // Define ascii sequences for colored terminal output.
+#ifdef cimg_use_vt100
+    const char t_normal[] = { 0x1b, '[', '0', ';', '0', ';', '0', 'm', 0 };
+    const char t_black[] = { 0x1b, '[', '0', ';', '3', '0', ';', '5', '9', 'm', 0 };
+    const char t_red[] = { 0x1b, '[', '0', ';', '3', '1', ';', '5', '9', 'm', 0 };
+    const char t_green[] = { 0x1b, '[', '0', ';', '3', '2', ';', '5', '9', 'm', 0 };
+    const char t_yellow[] = { 0x1b, '[', '0', ';', '3', '3', ';', '5', '9', 'm', 0 };
+    const char t_blue[] = { 0x1b, '[', '0', ';', '3', '4', ';', '5', '9', 'm', 0 };
+    const char t_magenta[] = { 0x1b, '[', '0', ';', '3', '5', ';', '5', '9', 'm', 0 };
+    const char t_cyan[] = { 0x1b, '[', '0', ';', '3', '6', ';', '5', '9', 'm', 0 };
+    const char t_white[] = { 0x1b, '[', '0', ';', '3', '7', ';', '5', '9', 'm', 0 };
+    const char t_bold[] = { 0x1b, '[', '1', 'm', 0 };
+    const char t_underscore[] = { 0x1b, '[', '4', 'm', 0 };
+#else
+    const char t_normal[] = { 0 };
+    const char *const t_black = cimg::t_normal,
+      *const t_red = cimg::t_normal,
+      *const t_green = cimg::t_normal,
+      *const t_yellow = cimg::t_normal,
+      *const t_blue = cimg::t_normal,
+      *const t_magenta = cimg::t_normal,
+      *const t_cyan = cimg::t_normal,
+      *const t_white = cimg::t_normal,
+      *const t_bold = cimg::t_normal,
+      *const t_underscore = cimg::t_normal;
+#endif
+
+    inline std::FILE* output(std::FILE *file=0);
+    inline void info();
+
+    //! Avoid warning messages due to unused parameters. Do nothing actually.
+    template<typename T>
+    inline void unused(const T&, ...) {}
+
+    // [internal] Lock/unlock a mutex for managing concurrent threads.
+    // 'lock_mode' can be { 0=unlock | 1=lock | 2=trylock }.
+    // 'n' can be in [0,31] but mutex range [0,15] is reserved by CImg.
+    inline int mutex(const unsigned int n, const int lock_mode=1);
+
+    inline unsigned int& _exception_mode(const unsigned int value, const bool is_set) {
+      static unsigned int mode = cimg_verbosity;
+      cimg::mutex(0);
+      if (is_set) mode = value;
+      cimg::mutex(0,0);
+      return mode;
+    }
+
+    // Mandatory because Microsoft's _snprintf() and _vsnprintf() do not add the '\0' character
+    // at the end of the string.
+#if cimg_OS==2 && defined(_MSC_VER)
+    inline int _snprintf(char *const s, const size_t size, const char *const format, ...) {
+      va_list ap;
+      va_start(ap,format);
+      const int result = _vsnprintf(s,size,format,ap);
+      va_end(ap);
+      return result;
+    }
+
+    inline int _vsnprintf(char *const s, const size_t size, const char *const format, va_list ap) {
+      int result = -1;
+      cimg::mutex(6);
+      if (size) result = _vsnprintf_s(s,size,_TRUNCATE,format,ap);
+      if (result==-1) result = _vscprintf(format,ap);
+      cimg::mutex(6,0);
+      return result;
+    }
+
+    // Mutex-protected version of sscanf, sprintf and snprintf.
+    // Used only MacOSX, as it seems those functions are not re-entrant on MacOSX.
+#elif defined(__MACOSX__) || defined(__APPLE__)
+    inline int _sscanf(const char *const s, const char *const format, ...) {
+      cimg::mutex(6);
+      va_list args;
+      va_start(args,format);
+      const int result = std::vsscanf(s,format,args);
+      va_end(args);
+      cimg::mutex(6,0);
+      return result;
+    }
+
+    inline int _sprintf(char *const s, const char *const format, ...) {
+      cimg::mutex(6);
+      va_list args;
+      va_start(args,format);
+      const int result = std::vsprintf(s,format,args);
+      va_end(args);
+      cimg::mutex(6,0);
+      return result;
+    }
+
+    inline int _snprintf(char *const s, const size_t n, const char *const format, ...) {
+      cimg::mutex(6);
+      va_list args;
+      va_start(args,format);
+      const int result = std::vsnprintf(s,n,format,args);
+      va_end(args);
+      cimg::mutex(6,0);
+      return result;
+    }
+
+    inline int _vsnprintf(char *const s, const size_t size, const char* format, va_list ap) {
+      cimg::mutex(6);
+      const int result = std::vsnprintf(s,size,format,ap);
+      cimg::mutex(6,0);
+      return result;
+    }
+#endif
+
+    //! Set current \CImg exception mode.
+    /**
+       The way error messages are handled by \CImg can be changed dynamically, using this function.
+       \param mode Desired exception mode. Possible values are:
+       - \c 0: Hide library messages (quiet mode).
+       - \c 1: Print library messages on the console.
+       - \c 2: Display library messages on a dialog window (default behavior).
+       - \c 3: Do as \c 1 + add extra debug warnings (slow down the code!).
+       - \c 4: Do as \c 2 + add extra debug warnings (slow down the code!).
+     **/
+    inline unsigned int& exception_mode(const unsigned int mode) {
+      return _exception_mode(mode,true);
+    }
+
+    //! Return current \CImg exception mode.
+    /**
+       \note By default, return the value of configuration macro \c cimg_verbosity
+    **/
+    inline unsigned int& exception_mode() {
+      return _exception_mode(0,false);
+    }
+
+    // Display a simple dialog box, and wait for the user's response.
+    inline int dialog(const char *const title, const char *const msg, const char *const button1_label="OK",
+                      const char *const button2_label=0, const char *const button3_label=0,
+                      const char *const button4_label=0, const char *const button5_label=0,
+                      const char *const button6_label=0, const bool centering=false);
+
+    // Evaluate math expression.
+    inline double eval(const char *const expression,
+                       const double x=0, const double y=0, const double z=0, const double c=0);
+  }
+
+  /*---------------------------------------
+    #
+    # Define the CImgException structures
+    #
+    --------------------------------------*/
+  //! Instances of \c CImgException are thrown when errors are encountered in a \CImg function call.
+  /**
+     \par Overview
+
+      CImgException is the base class of all exceptions thrown by \CImg (except \b CImgAbortException).
+      CImgException is never thrown itself. Derived classes that specify the type of errord are thrown instead.
+      These classes can be:
+
+      - \b CImgAbortException: Thrown when a computationally-intensive function is aborted by an external signal.
+        This is the only \c non-derived exception class.
+
+      - \b CImgArgumentException: Thrown when one argument of a called \CImg function is invalid.
+      This is probably one of the most thrown exception by \CImg.
+      For instance, the following example throws a \c CImgArgumentException:
+      \code
+      CImg<float> img(100,100,1,3); // Define a 100x100 color image with float-valued pixels.
+      img.mirror('e');              // Try to mirror image along the (non-existing) 'e'-axis.
+      \endcode
+
+      - \b CImgDisplayException: Thrown when something went wrong during the display of images in CImgDisplay instances.
+
+      - \b CImgInstanceException: Thrown when an instance associated to a called \CImg method does not fit
+      the function requirements. For instance, the following example throws a \c CImgInstanceException:
+      \code
+      const CImg<float> img;           // Define an empty image.
+      const float value = img.at(0);   // Try to read first pixel value (does not exist).
+      \endcode
+
+      - \b CImgIOException: Thrown when an error occured when trying to load or save image files.
+      This happens when trying to read files that do not exist or with invalid formats.
+      For instance, the following example throws a \c CImgIOException:
+      \code
+      const CImg<float> img("missing_file.jpg");  // Try to load a file that does not exist.
+      \endcode
+
+      - \b CImgWarningException: Thrown only if configuration macro \c cimg_strict_warnings is set, and
+      when a \CImg function has to display a warning message (see cimg::warn()).
+
+      It is not recommended to throw CImgException instances by yourself,
+      since they are expected to be thrown only by \CImg.
+      When an error occurs in a library function call, \CImg may display error messages on the screen or on the
+      standard output, depending on the current \CImg exception mode.
+      The \CImg exception mode can be get and set by functions cimg::exception_mode() and
+      cimg::exception_mode(unsigned int).
+
+      \par Exceptions handling
+
+      In all cases, when an error occurs in \CImg, an instance of the corresponding exception class is thrown.
+      This may lead the program to break (this is the default behavior), but you can bypass this behavior by
+      handling the exceptions by yourself,
+      using a usual <tt>try { ... } catch () { ... }</tt> bloc, as in the following example:
+      \code
+      #define "CImg.h"
+      using namespace cimg_library;
+      int main() {
+        cimg::exception_mode(0);                                    // Enable quiet exception mode.
+        try {
+          ...                                                       // Here, do what you want to stress CImg.
+        } catch (CImgException &e) {                                // You succeeded: something went wrong!
+          std::fprintf(stderr,"CImg Library Error: %s",e.what());   // Display your custom error message.
+          ...                                                       // Do what you want now to save the ship!
+          }
+        }
+      \endcode
+  **/
+  struct CImgException : public std::exception {
+#define _cimg_exception_err(etype,disp_flag) \
+  std::va_list ap; va_start(ap,format); cimg_vsnprintf(_message,16384,format,ap); va_end(ap); \
+  if (cimg::exception_mode()) { \
+    std::fprintf(cimg::output(),"\n%s[CImg] *** %s ***%s %s\n",cimg::t_red,etype,cimg::t_normal,_message); \
+    if (cimg_display && disp_flag && !(cimg::exception_mode()%2)) try { cimg::dialog(etype,_message,"Abort"); } \
+    catch (CImgException&) {} \
+    if (cimg::exception_mode()>=3) cimg_library_suffixed::cimg::info(); \
+  }
+
+    char *_message;
+    CImgException() { _message = new char[16384]; *_message = 0; }
+    CImgException(const char *const format, ...) {
+      _message = new char[16384]; *_message = 0; _cimg_exception_err("CImgException",true);
+    }
+    CImgException(const CImgException& e) {
+      _message = new char[16384]; strncpy(_message,e._message,16383); _message[16383] = 0;
+    }
+    ~CImgException() throw() { delete[] _message; }
+    CImgException& operator=(const CImgException& e) {
+      strncpy(_message,e._message,16383); _message[16383] = 0;
+      return *this;
+    }
+    //! Return a C-string containing the error message associated to the thrown exception.
+    const char *what() const throw() { return _message; }
+  };
+
+  // The CImgAbortException class is used to throw an exception when
+  // a computationally-intensive function has been aborted by an external signal.
+  struct CImgAbortException : public std::exception {
+    char *_message;
+    CImgAbortException() { _message = new char[16384]; *_message = 0; }
+    CImgAbortException(const char *const format, ...) {
+      _message = new char[16384]; *_message = 0; _cimg_exception_err("CImgAbortException",true);
+    }
+    CImgAbortException(const CImgAbortException& e) {
+      _message = new char[16384]; strncpy(_message,e._message,16383); _message[16383] = 0;
+    }
+    ~CImgAbortException() throw() { delete[] _message; }
+    CImgAbortException& operator=(const CImgAbortException& e) {
+      strncpy(_message,e._message,16383); _message[16383] = 0;
+      return *this;
+    }
+    //! Return a C-string containing the error message associated to the thrown exception.
+    const char *what() const throw() { return _message; }
+  };
+
+  // The CImgArgumentException class is used to throw an exception related
+  // to invalid arguments encountered in a library function call.
+  struct CImgArgumentException : public CImgException {
+    CImgArgumentException(const char *const format, ...) { _cimg_exception_err("CImgArgumentException",true); }
+  };
+
+  // The CImgDisplayException class is used to throw an exception related
+  // to display problems encountered in a library function call.
+  struct CImgDisplayException : public CImgException {
+    CImgDisplayException(const char *const format, ...) { _cimg_exception_err("CImgDisplayException",false); }
+  };
+
+  // The CImgInstanceException class is used to throw an exception related
+  // to an invalid instance encountered in a library function call.
+  struct CImgInstanceException : public CImgException {
+    CImgInstanceException(const char *const format, ...) { _cimg_exception_err("CImgInstanceException",true); }
+  };
+
+  // The CImgIOException class is used to throw an exception related
+  // to input/output file problems encountered in a library function call.
+  struct CImgIOException : public CImgException {
+    CImgIOException(const char *const format, ...) { _cimg_exception_err("CImgIOException",true); }
+  };
+
+  // The CImgWarningException class is used to throw an exception for warnings
+  // encountered in a library function call.
+  struct CImgWarningException : public CImgException {
+    CImgWarningException(const char *const format, ...) { _cimg_exception_err("CImgWarningException",false); }
+  };
+
+  /*-------------------------------------
+    #
+    # Define cimg:: namespace
+    #
+    -----------------------------------*/
+  //! Contains \a low-level functions and variables of the \CImg Library.
+  /**
+     Most of the functions and variables within this namespace are used by the \CImg library for low-level operations.
+     You may use them to access specific const values or environment variables internally used by \CImg.
+     \warning Never write <tt>using namespace cimg_library::cimg;</tt> in your source code. Lot of functions in the
+     <tt>cimg:: namespace</tt> have the same names as standard C functions that may be defined in the global
+     namespace <tt>::</tt>.
+  **/
+  namespace cimg {
+
+    // Define traits that will be used to determine the best data type to work in CImg functions.
+    //
+    template<typename T> struct type {
+      static const char* string() {
+        static const char* s[] = { "unknown",   "unknown8",   "unknown16",  "unknown24",
+                                   "unknown32", "unknown40",  "unknown48",  "unknown56",
+                                   "unknown64", "unknown72",  "unknown80",  "unknown88",
+                                   "unknown96", "unknown104", "unknown112", "unknown120",
+                                   "unknown128" };
+        return s[(sizeof(T)<17)?sizeof(T):0];
+      }
+      static bool is_float() { return false; }
+      static bool is_inf(const T) { return false; }
+      static bool is_nan(const T) { return false; }
+      static T min() { return ~max(); }
+      static T max() { return (T)(1UL<<(8*sizeof(T) - 1)); }
+      static T inf() { return max(); }
+      static T cut(const double val) { return val<(double)min()?min():val>(double)max()?max():(T)val; }
+      static const char* format() { return "%s"; }
+      static const char* format(const T& val) { static const char *const s = "unknown"; cimg::unused(val); return s; }
+    };
+
+    template<> struct type<bool> {
+      static const char* string() { static const char *const s = "bool"; return s; }
+      static bool is_float() { return false; }
+      static bool is_inf(const bool) { return false; }
+      static bool is_nan(const bool) { return false; }
+      static bool min() { return false; }
+      static bool max() { return true; }
+      static bool inf() { return max(); }
+      static bool is_inf() { return false; }
+      static bool cut(const double val) { return val<(double)min()?min():val>(double)max()?max():(bool)val; }
+      static const char* format() { return "%s"; }
+      static const char* format(const bool val) { static const char* s[] = { "false", "true" }; return s[val?1:0]; }
+    };
+
+    template<> struct type<unsigned char> {
+      static const char* string() { static const char *const s = "unsigned char"; return s; }
+      static bool is_float() { return false; }
+      static bool is_inf(const unsigned char) { return false; }
+      static bool is_nan(const unsigned char) { return false; }
+      static unsigned char min() { return 0; }
+      static unsigned char max() { return (unsigned char)-1; }
+      static unsigned char inf() { return max(); }
+      static unsigned char cut(const double val) {
+        return val<(double)min()?min():val>(double)max()?max():(unsigned char)val; }
+      static const char* format() { return "%u"; }
+      static unsigned int format(const unsigned char val) { return (unsigned int)val; }
+    };
+
+#if defined(CHAR_MAX) && CHAR_MAX==255
+    template<> struct type<char> {
+      static const char* string() { static const char *const s = "char"; return s; }
+      static bool is_float() { return false; }
+      static bool is_inf(const char) { return false; }
+      static bool is_nan(const char) { return false; }
+      static char min() { return 0; }
+      static char max() { return (char)-1; }
+      static char inf() { return max(); }
+      static char cut(const double val) {
+        return val<(double)min()?min():val>(double)max()?max():(unsigned char)val; }
+      static const char* format() { return "%u"; }
+      static unsigned int format(const char val) { return (unsigned int)val; }
+    };
+#else
+    template<> struct type<char> {
+      static const char* string() { static const char *const s = "char"; return s; }
+      static bool is_float() { return false; }
+      static bool is_inf(const char) { return false; }
+      static bool is_nan(const char) { return false; }
+      static char min() { return ~max(); }
+      static char max() { return (char)((unsigned char)-1>>1); }
+      static char inf() { return max(); }
+      static char cut(const double val) { return val<(double)min()?min():val>(double)max()?max():(char)val; }
+      static const char* format() { return "%d"; }
+      static int format(const char val) { return (int)val; }
+    };
+#endif
+
+    template<> struct type<signed char> {
+      static const char* string() { static const char *const s = "signed char"; return s; }
+      static bool is_float() { return false; }
+      static bool is_inf(const signed char) { return false; }
+      static bool is_nan(const signed char) { return false; }
+      static signed char min() { return ~max(); }
+      static signed char max() { return (signed char)((unsigned char)-1>>1); }
+      static signed char inf() { return max(); }
+      static signed char cut(const double val) {
+        return val<(double)min()?min():val>(double)max()?max():(signed char)val; }
+      static const char* format() { return "%d"; }
+      static int format(const signed char val) { return (int)val; }
+    };
+
+    template<> struct type<unsigned short> {
+      static const char* string() { static const char *const s = "unsigned short"; return s; }
+      static bool is_float() { return false; }
+      static bool is_inf(const unsigned short) { return false; }
+      static bool is_nan(const unsigned short) { return false; }
+      static unsigned short min() { return 0; }
+      static unsigned short max() { return (unsigned short)-1; }
+      static unsigned short inf() { return max(); }
+      static unsigned short cut(const double val) {
+        return val<(double)min()?min():val>(double)max()?max():(unsigned short)val; }
+      static const char* format() { return "%u"; }
+      static unsigned int format(const unsigned short val) { return (unsigned int)val; }
+    };
+
+    template<> struct type<short> {
+      static const char* string() { static const char *const s = "short"; return s; }
+      static bool is_float() { return false; }
+      static bool is_inf(const short) { return false; }
+      static bool is_nan(const short) { return false; }
+      static short min() { return ~max(); }
+      static short max() { return (short)((unsigned short)-1>>1); }
+      static short inf() { return max(); }
+      static short cut(const double val) { return val<(double)min()?min():val>(double)max()?max():(short)val; }
+      static const char* format() { return "%d"; }
+      static int format(const short val) { return (int)val; }
+    };
+
+    template<> struct type<unsigned int> {
+      static const char* string() { static const char *const s = "unsigned int"; return s; }
+      static bool is_float() { return false; }
+      static bool is_inf(const unsigned int) { return false; }
+      static bool is_nan(const unsigned int) { return false; }
+      static unsigned int min() { return 0; }
+      static unsigned int max() { return (unsigned int)-1; }
+      static unsigned int inf() { return max(); }
+      static unsigned int cut(const double val) {
+        return val<(double)min()?min():val>(double)max()?max():(unsigned int)val; }
+      static const char* format() { return "%u"; }
+      static unsigned int format(const unsigned int val) { return val; }
+    };
+
+    template<> struct type<int> {
+      static const char* string() { static const char *const s = "int"; return s; }
+      static bool is_float() { return false; }
+      static bool is_inf(const int) { return false; }
+      static bool is_nan(const int) { return false; }
+      static int min() { return ~max(); }
+      static int max() { return (int)((unsigned int)-1>>1); }
+      static int inf() { return max(); }
+      static int cut(const double val) { return val<(double)min()?min():val>(double)max()?max():(int)val; }
+      static const char* format() { return "%d"; }
+      static int format(const int val) { return val; }
+    };
+
+    template<> struct type<unsigned long> {
+      static const char* string() { static const char *const s = "unsigned long"; return s; }
+      static bool is_float() { return false; }
+      static bool is_inf(const unsigned long) { return false; }
+      static bool is_nan(const unsigned long) { return false; }
+      static unsigned long min() { return 0; }
+      static unsigned long max() { return (unsigned long)-1; }
+      static unsigned long inf() { return max(); }
+      static unsigned long cut(const double val) {
+        return val<(double)min()?min():val>(double)max()?max():(unsigned long)val; }
+      static const char* format() { return "%lu"; }
+      static unsigned long format(const unsigned long val) { return val; }
+    };
+
+    template<> struct type<long> {
+      static const char* string() { static const char *const s = "long"; return s; }
+      static bool is_float() { return false; }
+      static bool is_inf(const long) { return false; }
+      static bool is_nan(const long) { return false; }
+      static long min() { return ~max(); }
+      static long max() { return (long)((unsigned long)-1>>1); }
+      static long inf() { return max(); }
+      static long cut(const double val) { return val<(double)min()?min():val>(double)max()?max():(long)val; }
+      static const char* format() { return "%ld"; }
+      static long format(const long val) { return val; }
+    };
+
+    template<> struct type<double> {
+      static const char* string() { static const char *const s = "double"; return s; }
+      static bool is_float() { return true; }
+      static bool is_inf(const double val) {
+#ifdef isinf
+        return (bool)isinf(val);
+#else
+        return !is_nan(val) && (val<cimg::type<double>::min() || val>cimg::type<double>::max());
+#endif
+      }
+      static bool is_nan(const double val) {
+#ifdef isnan
+        return (bool)isnan(val);
+#else
+        return !(val==val);
+#endif
+      }
+      static double min() { return -1.7E308; }
+      static double max() { return  1.7E308; }
+      static double inf() { return max()*max(); }
+      static double nan() { const double val_nan = -std::sqrt(-1.0); return val_nan; }
+      static double cut(const double val) { return val<min()?min():val>max()?max():val; }
+      static const char* format() { return "%.16g"; }
+      static double format(const double val) { return val; }
+    };
+
+    template<> struct type<float> {
+      static const char* string() { static const char *const s = "float"; return s; }
+      static bool is_float() { return true; }
+      static bool is_inf(const float val) {
+#ifdef isinf
+        return (bool)isinf(val);
+#else
+        return !is_nan(val) && (val<cimg::type<float>::min() || val>cimg::type<float>::max());
+#endif
+      }
+      static bool is_nan(const float val) {
+#ifdef isnan
+        return (bool)isnan(val);
+#else
+        return !(val==val);
+#endif
+      }
+      static float min() { return -3.4E38f; }
+      static float max() { return  3.4E38f; }
+      static float inf() { return (float)cimg::type<double>::inf(); }
+      static float nan() { return (float)cimg::type<double>::nan(); }
+      static float cut(const double val) { return val<(double)min()?min():val>(double)max()?max():(float)val; }
+      static const char* format() { return "%.16g"; }
+      static double format(const float val) { return (double)val; }
+    };
+
+    template<typename T, typename t> struct superset { typedef T type; };
+    template<> struct superset<bool,unsigned char> { typedef unsigned char type; };
+    template<> struct superset<bool,char> { typedef char type; };
+    template<> struct superset<bool,signed char> { typedef signed char type; };
+    template<> struct superset<bool,unsigned short> { typedef unsigned short type; };
+    template<> struct superset<bool,short> { typedef short type; };
+    template<> struct superset<bool,unsigned int> { typedef unsigned int type; };
+    template<> struct superset<bool,int> { typedef int type; };
+    template<> struct superset<bool,unsigned long> { typedef unsigned long type; };
+    template<> struct superset<bool,long> { typedef long type; };
+    template<> struct superset<bool,float> { typedef float type; };
+    template<> struct superset<bool,double> { typedef double type; };
+    template<> struct superset<unsigned char,char> { typedef short type; };
+    template<> struct superset<unsigned char,signed char> { typedef short type; };
+    template<> struct superset<unsigned char,unsigned short> { typedef unsigned short type; };
+    template<> struct superset<unsigned char,short> { typedef short type; };
+    template<> struct superset<unsigned char,unsigned int> { typedef unsigned int type; };
+    template<> struct superset<unsigned char,int> { typedef int type; };
+    template<> struct superset<unsigned char,unsigned long> { typedef unsigned long type; };
+    template<> struct superset<unsigned char,long> { typedef long type; };
+    template<> struct superset<unsigned char,float> { typedef float type; };
+    template<> struct superset<unsigned char,double> { typedef double type; };
+    template<> struct superset<signed char,unsigned char> { typedef short type; };
+    template<> struct superset<signed char,char> { typedef short type; };
+    template<> struct superset<signed char,unsigned short> { typedef int type; };
+    template<> struct superset<signed char,short> { typedef short type; };
+    template<> struct superset<signed char,unsigned int> { typedef long type; };
+    template<> struct superset<signed char,int> { typedef int type; };
+    template<> struct superset<signed char,unsigned long> { typedef long type; };
+    template<> struct superset<signed char,long> { typedef long type; };
+    template<> struct superset<signed char,float> { typedef float type; };
+    template<> struct superset<signed char,double> { typedef double type; };
+    template<> struct superset<char,unsigned char> { typedef short type; };
+    template<> struct superset<char,signed char> { typedef short type; };
+    template<> struct superset<char,unsigned short> { typedef int type; };
+    template<> struct superset<char,short> { typedef short type; };
+    template<> struct superset<char,unsigned int> { typedef long type; };
+    template<> struct superset<char,int> { typedef int type; };
+    template<> struct superset<char,unsigned long> { typedef long type; };
+    template<> struct superset<char,long> { typedef long type; };
+    template<> struct superset<char,float> { typedef float type; };
+    template<> struct superset<char,double> { typedef double type; };
+    template<> struct superset<unsigned short,char> { typedef int type; };
+    template<> struct superset<unsigned short,signed char> { typedef int type; };
+    template<> struct superset<unsigned short,short> { typedef int type; };
+    template<> struct superset<unsigned short,unsigned int> { typedef unsigned int type; };
+    template<> struct superset<unsigned short,int> { typedef int type; };
+    template<> struct superset<unsigned short,unsigned long> { typedef unsigned long type; };
+    template<> struct superset<unsigned short,long> { typedef long type; };
+    template<> struct superset<unsigned short,float> { typedef float type; };
+    template<> struct superset<unsigned short,double> { typedef double type; };
+    template<> struct superset<short,unsigned short> { typedef int type; };
+    template<> struct superset<short,unsigned int> { typedef long type; };
+    template<> struct superset<short,int> { typedef int type; };
+    template<> struct superset<short,unsigned long> { typedef long type; };
+    template<> struct superset<short,long> { typedef long type; };
+    template<> struct superset<short,float> { typedef float type; };
+    template<> struct superset<short,double> { typedef double type; };
+    template<> struct superset<unsigned int,char> { typedef long type; };
+    template<> struct superset<unsigned int,signed char> { typedef long type; };
+    template<> struct superset<unsigned int,short> { typedef long type; };
+    template<> struct superset<unsigned int,int> { typedef long type; };
+    template<> struct superset<unsigned int,unsigned long> { typedef unsigned long type; };
+    template<> struct superset<unsigned int,long> { typedef long type; };
+    template<> struct superset<unsigned int,float> { typedef float type; };
+    template<> struct superset<unsigned int,double> { typedef double type; };
+    template<> struct superset<int,unsigned int> { typedef long type; };
+    template<> struct superset<int,unsigned long> { typedef long type; };
+    template<> struct superset<int,long> { typedef long type; };
+    template<> struct superset<int,float> { typedef float type; };
+    template<> struct superset<int,double> { typedef double type; };
+    template<> struct superset<unsigned long,char> { typedef long type; };
+    template<> struct superset<unsigned long,signed char> { typedef long type; };
+    template<> struct superset<unsigned long,short> { typedef long type; };
+    template<> struct superset<unsigned long,int> { typedef long type; };
+    template<> struct superset<unsigned long,long> { typedef long type; };
+    template<> struct superset<unsigned long,float> { typedef double type; };
+    template<> struct superset<unsigned long,double> { typedef double type; };
+    template<> struct superset<long,float> { typedef double type; };
+    template<> struct superset<long,double> { typedef double type; };
+    template<> struct superset<float,double> { typedef double type; };
+
+    template<typename t1, typename t2, typename t3> struct superset2 {
+      typedef typename superset<t1, typename superset<t2,t3>::type>::type type;
+    };
+
+    template<typename t1, typename t2, typename t3, typename t4> struct superset3 {
+      typedef typename superset<t1, typename superset2<t2,t3,t4>::type>::type type;
+    };
+
+    template<typename t1, typename t2> struct last { typedef t2 type; };
+
+#define _cimg_Tt       typename cimg::superset<T,t>::type
+#define _cimg_Tfloat   typename cimg::superset<T,float>::type
+#define _cimg_Ttfloat  typename cimg::superset2<T,t,float>::type
+#define _cimg_Ttdouble typename cimg::superset2<T,t,double>::type
+
+    // Define variables used internally by CImg.
+#if cimg_display==1
+    struct X11_info {
+      unsigned int nb_wins;
+      pthread_t *events_thread;
+      pthread_cond_t wait_event;
+      pthread_mutex_t wait_event_mutex;
+      CImgDisplay **wins;
+      Display *display;
+      unsigned int nb_bits;
+      bool is_blue_first;
+      bool is_shm_enabled;
+      bool byte_order;
+#ifdef cimg_use_xrandr
+      XRRScreenSize *resolutions;
+      Rotation curr_rotation;
+      unsigned int curr_resolution;
+      unsigned int nb_resolutions;
+#endif
+      X11_info():nb_wins(0),events_thread(0),display(0),
+                 nb_bits(0),is_blue_first(false),is_shm_enabled(false),byte_order(false) {
+#ifdef __FreeBSD__
+        XInitThreads();
+#endif
+        wins = new CImgDisplay*[1024];
+        pthread_mutex_init(&wait_event_mutex,0);
+        pthread_cond_init(&wait_event,0);
+#ifdef cimg_use_xrandr
+        resolutions = 0;
+        curr_rotation = 0;
+        curr_resolution = nb_resolutions = 0;
+#endif
+      }
+
+      ~X11_info() {
+        delete[] wins;
+        /*
+          if (events_thread) {
+          pthread_cancel(*events_thread);
+          delete events_thread;
+          }
+          if (display) { } // XCloseDisplay(display); }
+          pthread_cond_destroy(&wait_event);
+          pthread_mutex_unlock(&wait_event_mutex);
+          pthread_mutex_destroy(&wait_event_mutex);
+        */
+      }
+    };
+#if defined(cimg_module)
+    X11_info& X11_attr();
+#elif defined(cimg_main)
+    X11_info& X11_attr() { static X11_info val; return val; }
+#else
+    inline X11_info& X11_attr() { static X11_info val; return val; }
+#endif
+#define cimg_lock_display() cimg::mutex(15)
+#define cimg_unlock_display() cimg::mutex(15,0)
+
+#elif cimg_display==2
+    struct Win32_info {
+      HANDLE wait_event;
+      Win32_info() { wait_event = CreateEvent(0,FALSE,FALSE,0); }
+    };
+#if defined(cimg_module)
+    Win32_info& Win32_attr();
+#elif defined(cimg_main)
+    Win32_info& Win32_attr() { static Win32_info val; return val; }
+#else
+    inline Win32_info& Win32_attr() { static Win32_info val; return val; }
+#endif
+#endif
+
+    struct Mutex_info {
+#if cimg_OS==2
+      HANDLE mutex[32];
+      Mutex_info() { for (unsigned int i = 0; i<32; ++i) mutex[i] = CreateMutex(0,FALSE,0); }
+      void lock(const unsigned int n) { WaitForSingleObject(mutex[n],INFINITE); }
+      void unlock(const unsigned int n) { ReleaseMutex(mutex[n]); }
+      int trylock(const unsigned int) { return 0; }
+#elif defined(_PTHREAD_H)
+      pthread_mutex_t mutex[32];
+      Mutex_info() { for (unsigned int i = 0; i<32; ++i) pthread_mutex_init(&mutex[i],0); }
+      void lock(const unsigned int n) { pthread_mutex_lock(&mutex[n]); }
+      void unlock(const unsigned int n) { pthread_mutex_unlock(&mutex[n]); }
+      int trylock(const unsigned int n) { return pthread_mutex_trylock(&mutex[n]); }
+#else
+      Mutex_info() {}
+      void lock(const unsigned int) {}
+      void unlock(const unsigned int) {}
+      int trylock(const unsigned int) { return 0; }
+#endif
+    };
+#if defined(cimg_module)
+    Mutex_info& Mutex_attr();
+#elif defined(cimg_main)
+    Mutex_info& Mutex_attr() { static Mutex_info val; return val; }
+#else
+    inline Mutex_info& Mutex_attr() { static Mutex_info val; return val; }
+#endif
+
+#if defined(cimg_use_magick)
+    static struct Magick_info {
+      Magick_info() {
+        Magick::InitializeMagick("");
+      }
+    } _Magick_info;
+#endif
+
+#if cimg_display==1
+    // Define keycodes for X11-based graphical systems.
+    const unsigned int keyESC        = XK_Escape;
+    const unsigned int keyF1         = XK_F1;
+    const unsigned int keyF2         = XK_F2;
+    const unsigned int keyF3         = XK_F3;
+    const unsigned int keyF4         = XK_F4;
+    const unsigned int keyF5         = XK_F5;
+    const unsigned int keyF6         = XK_F6;
+    const unsigned int keyF7         = XK_F7;
+    const unsigned int keyF8         = XK_F8;
+    const unsigned int keyF9         = XK_F9;
+    const unsigned int keyF10        = XK_F10;
+    const unsigned int keyF11        = XK_F11;
+    const unsigned int keyF12        = XK_F12;
+    const unsigned int keyPAUSE      = XK_Pause;
+    const unsigned int key1          = XK_1;
+    const unsigned int key2          = XK_2;
+    const unsigned int key3          = XK_3;
+    const unsigned int key4          = XK_4;
+    const unsigned int key5          = XK_5;
+    const unsigned int key6          = XK_6;
+    const unsigned int key7          = XK_7;
+    const unsigned int key8          = XK_8;
+    const unsigned int key9          = XK_9;
+    const unsigned int key0          = XK_0;
+    const unsigned int keyBACKSPACE  = XK_BackSpace;
+    const unsigned int keyINSERT     = XK_Insert;
+    const unsigned int keyHOME       = XK_Home;
+    const unsigned int keyPAGEUP     = XK_Page_Up;
+    const unsigned int keyTAB        = XK_Tab;
+    const unsigned int keyQ          = XK_q;
+    const unsigned int keyW          = XK_w;
+    const unsigned int keyE          = XK_e;
+    const unsigned int keyR          = XK_r;
+    const unsigned int keyT          = XK_t;
+    const unsigned int keyY          = XK_y;
+    const unsigned int keyU          = XK_u;
+    const unsigned int keyI          = XK_i;
+    const unsigned int keyO          = XK_o;
+    const unsigned int keyP          = XK_p;
+    const unsigned int keyDELETE     = XK_Delete;
+    const unsigned int keyEND        = XK_End;
+    const unsigned int keyPAGEDOWN   = XK_Page_Down;
+    const unsigned int keyCAPSLOCK   = XK_Caps_Lock;
+    const unsigned int keyA          = XK_a;
+    const unsigned int keyS          = XK_s;
+    const unsigned int keyD          = XK_d;
+    const unsigned int keyF          = XK_f;
+    const unsigned int keyG          = XK_g;
+    const unsigned int keyH          = XK_h;
+    const unsigned int keyJ          = XK_j;
+    const unsigned int keyK          = XK_k;
+    const unsigned int keyL          = XK_l;
+    const unsigned int keyENTER      = XK_Return;
+    const unsigned int keySHIFTLEFT  = XK_Shift_L;
+    const unsigned int keyZ          = XK_z;
+    const unsigned int keyX          = XK_x;
+    const unsigned int keyC          = XK_c;
+    const unsigned int keyV          = XK_v;
+    const unsigned int keyB          = XK_b;
+    const unsigned int keyN          = XK_n;
+    const unsigned int keyM          = XK_m;
+    const unsigned int keySHIFTRIGHT = XK_Shift_R;
+    const unsigned int keyARROWUP    = XK_Up;
+    const unsigned int keyCTRLLEFT   = XK_Control_L;
+    const unsigned int keyAPPLEFT    = XK_Super_L;
+    const unsigned int keyALT        = XK_Alt_L;
+    const unsigned int keySPACE      = XK_space;
+    const unsigned int keyALTGR      = XK_Alt_R;
+    const unsigned int keyAPPRIGHT   = XK_Super_R;
+    const unsigned int keyMENU       = XK_Menu;
+    const unsigned int keyCTRLRIGHT  = XK_Control_R;
+    const unsigned int keyARROWLEFT  = XK_Left;
+    const unsigned int keyARROWDOWN  = XK_Down;
+    const unsigned int keyARROWRIGHT = XK_Right;
+    const unsigned int keyPAD0       = XK_KP_0;
+    const unsigned int keyPAD1       = XK_KP_1;
+    const unsigned int keyPAD2       = XK_KP_2;
+    const unsigned int keyPAD3       = XK_KP_3;
+    const unsigned int keyPAD4       = XK_KP_4;
+    const unsigned int keyPAD5       = XK_KP_5;
+    const unsigned int keyPAD6       = XK_KP_6;
+    const unsigned int keyPAD7       = XK_KP_7;
+    const unsigned int keyPAD8       = XK_KP_8;
+    const unsigned int keyPAD9       = XK_KP_9;
+    const unsigned int keyPADADD     = XK_KP_Add;
+    const unsigned int keyPADSUB     = XK_KP_Subtract;
+    const unsigned int keyPADMUL     = XK_KP_Multiply;
+    const unsigned int keyPADDIV     = XK_KP_Divide;
+
+#elif cimg_display==2
+    // Define keycodes for Windows.
+    const unsigned int keyESC        = VK_ESCAPE;
+    const unsigned int keyF1         = VK_F1;
+    const unsigned int keyF2         = VK_F2;
+    const unsigned int keyF3         = VK_F3;
+    const unsigned int keyF4         = VK_F4;
+    const unsigned int keyF5         = VK_F5;
+    const unsigned int keyF6         = VK_F6;
+    const unsigned int keyF7         = VK_F7;
+    const unsigned int keyF8         = VK_F8;
+    const unsigned int keyF9         = VK_F9;
+    const unsigned int keyF10        = VK_F10;
+    const unsigned int keyF11        = VK_F11;
+    const unsigned int keyF12        = VK_F12;
+    const unsigned int keyPAUSE      = VK_PAUSE;
+    const unsigned int key1          = '1';
+    const unsigned int key2          = '2';
+    const unsigned int key3          = '3';
+    const unsigned int key4          = '4';
+    const unsigned int key5          = '5';
+    const unsigned int key6          = '6';
+    const unsigned int key7          = '7';
+    const unsigned int key8          = '8';
+    const unsigned int key9          = '9';
+    const unsigned int key0          = '0';
+    const unsigned int keyBACKSPACE  = VK_BACK;
+    const unsigned int keyINSERT     = VK_INSERT;
+    const unsigned int keyHOME       = VK_HOME;
+    const unsigned int keyPAGEUP     = VK_PRIOR;
+    const unsigned int keyTAB        = VK_TAB;
+    const unsigned int keyQ          = 'Q';
+    const unsigned int keyW          = 'W';
+    const unsigned int keyE          = 'E';
+    const unsigned int keyR          = 'R';
+    const unsigned int keyT          = 'T';
+    const unsigned int keyY          = 'Y';
+    const unsigned int keyU          = 'U';
+    const unsigned int keyI          = 'I';
+    const unsigned int keyO          = 'O';
+    const unsigned int keyP          = 'P';
+    const unsigned int keyDELETE     = VK_DELETE;
+    const unsigned int keyEND        = VK_END;
+    const unsigned int keyPAGEDOWN   = VK_NEXT;
+    const unsigned int keyCAPSLOCK   = VK_CAPITAL;
+    const unsigned int keyA          = 'A';
+    const unsigned int keyS          = 'S';
+    const unsigned int keyD          = 'D';
+    const unsigned int keyF          = 'F';
+    const unsigned int keyG          = 'G';
+    const unsigned int keyH          = 'H';
+    const unsigned int keyJ          = 'J';
+    const unsigned int keyK          = 'K';
+    const unsigned int keyL          = 'L';
+    const unsigned int keyENTER      = VK_RETURN;
+    const unsigned int keySHIFTLEFT  = VK_SHIFT;
+    const unsigned int keyZ          = 'Z';
+    const unsigned int keyX          = 'X';
+    const unsigned int keyC          = 'C';
+    const unsigned int keyV          = 'V';
+    const unsigned int keyB          = 'B';
+    const unsigned int keyN          = 'N';
+    const unsigned int keyM          = 'M';
+    const unsigned int keySHIFTRIGHT = VK_SHIFT;
+    const unsigned int keyARROWUP    = VK_UP;
+    const unsigned int keyCTRLLEFT   = VK_CONTROL;
+    const unsigned int keyAPPLEFT    = VK_LWIN;
+    const unsigned int keyALT        = VK_LMENU;
+    const unsigned int keySPACE      = VK_SPACE;
+    const unsigned int keyALTGR      = VK_CONTROL;
+    const unsigned int keyAPPRIGHT   = VK_RWIN;
+    const unsigned int keyMENU       = VK_APPS;
+    const unsigned int keyCTRLRIGHT  = VK_CONTROL;
+    const unsigned int keyARROWLEFT  = VK_LEFT;
+    const unsigned int keyARROWDOWN  = VK_DOWN;
+    const unsigned int keyARROWRIGHT = VK_RIGHT;
+    const unsigned int keyPAD0       = 0x60;
+    const unsigned int keyPAD1       = 0x61;
+    const unsigned int keyPAD2       = 0x62;
+    const unsigned int keyPAD3       = 0x63;
+    const unsigned int keyPAD4       = 0x64;
+    const unsigned int keyPAD5       = 0x65;
+    const unsigned int keyPAD6       = 0x66;
+    const unsigned int keyPAD7       = 0x67;
+    const unsigned int keyPAD8       = 0x68;
+    const unsigned int keyPAD9       = 0x69;
+    const unsigned int keyPADADD     = VK_ADD;
+    const unsigned int keyPADSUB     = VK_SUBTRACT;
+    const unsigned int keyPADMUL     = VK_MULTIPLY;
+    const unsigned int keyPADDIV     = VK_DIVIDE;
+
+#else
+    // Define random keycodes when no display is available.
+    // (should rarely be used then!).
+    const unsigned int keyESC        = 1U;   //!< Keycode for the \c ESC key (architecture-dependent).
+    const unsigned int keyF1         = 2U;   //!< Keycode for the \c F1 key (architecture-dependent).
+    const unsigned int keyF2         = 3U;   //!< Keycode for the \c F2 key (architecture-dependent).
+    const unsigned int keyF3         = 4U;   //!< Keycode for the \c F3 key (architecture-dependent).
+    const unsigned int keyF4         = 5U;   //!< Keycode for the \c F4 key (architecture-dependent).
+    const unsigned int keyF5         = 6U;   //!< Keycode for the \c F5 key (architecture-dependent).
+    const unsigned int keyF6         = 7U;   //!< Keycode for the \c F6 key (architecture-dependent).
+    const unsigned int keyF7         = 8U;   //!< Keycode for the \c F7 key (architecture-dependent).
+    const unsigned int keyF8         = 9U;   //!< Keycode for the \c F8 key (architecture-dependent).
+    const unsigned int keyF9         = 10U;  //!< Keycode for the \c F9 key (architecture-dependent).
+    const unsigned int keyF10        = 11U;  //!< Keycode for the \c F10 key (architecture-dependent).
+    const unsigned int keyF11        = 12U;  //!< Keycode for the \c F11 key (architecture-dependent).
+    const unsigned int keyF12        = 13U;  //!< Keycode for the \c F12 key (architecture-dependent).
+    const unsigned int keyPAUSE      = 14U;  //!< Keycode for the \c PAUSE key (architecture-dependent).
+    const unsigned int key1          = 15U;  //!< Keycode for the \c 1 key (architecture-dependent).
+    const unsigned int key2          = 16U;  //!< Keycode for the \c 2 key (architecture-dependent).
+    const unsigned int key3          = 17U;  //!< Keycode for the \c 3 key (architecture-dependent).
+    const unsigned int key4          = 18U;  //!< Keycode for the \c 4 key (architecture-dependent).
+    const unsigned int key5          = 19U;  //!< Keycode for the \c 5 key (architecture-dependent).
+    const unsigned int key6          = 20U;  //!< Keycode for the \c 6 key (architecture-dependent).
+    const unsigned int key7          = 21U;  //!< Keycode for the \c 7 key (architecture-dependent).
+    const unsigned int key8          = 22U;  //!< Keycode for the \c 8 key (architecture-dependent).
+    const unsigned int key9          = 23U;  //!< Keycode for the \c 9 key (architecture-dependent).
+    const unsigned int key0          = 24U;  //!< Keycode for the \c 0 key (architecture-dependent).
+    const unsigned int keyBACKSPACE  = 25U;  //!< Keycode for the \c BACKSPACE key (architecture-dependent).
+    const unsigned int keyINSERT     = 26U;  //!< Keycode for the \c INSERT key (architecture-dependent).
+    const unsigned int keyHOME       = 27U;  //!< Keycode for the \c HOME key (architecture-dependent).
+    const unsigned int keyPAGEUP     = 28U;  //!< Keycode for the \c PAGEUP key (architecture-dependent).
+    const unsigned int keyTAB        = 29U;  //!< Keycode for the \c TAB key (architecture-dependent).
+    const unsigned int keyQ          = 30U;  //!< Keycode for the \c Q key (architecture-dependent).
+    const unsigned int keyW          = 31U;  //!< Keycode for the \c W key (architecture-dependent).
+    const unsigned int keyE          = 32U;  //!< Keycode for the \c E key (architecture-dependent).
+    const unsigned int keyR          = 33U;  //!< Keycode for the \c R key (architecture-dependent).
+    const unsigned int keyT          = 34U;  //!< Keycode for the \c T key (architecture-dependent).
+    const unsigned int keyY          = 35U;  //!< Keycode for the \c Y key (architecture-dependent).
+    const unsigned int keyU          = 36U;  //!< Keycode for the \c U key (architecture-dependent).
+    const unsigned int keyI          = 37U;  //!< Keycode for the \c I key (architecture-dependent).
+    const unsigned int keyO          = 38U;  //!< Keycode for the \c O key (architecture-dependent).
+    const unsigned int keyP          = 39U;  //!< Keycode for the \c P key (architecture-dependent).
+    const unsigned int keyDELETE     = 40U;  //!< Keycode for the \c DELETE key (architecture-dependent).
+    const unsigned int keyEND        = 41U;  //!< Keycode for the \c END key (architecture-dependent).
+    const unsigned int keyPAGEDOWN   = 42U;  //!< Keycode for the \c PAGEDOWN key (architecture-dependent).
+    const unsigned int keyCAPSLOCK   = 43U;  //!< Keycode for the \c CAPSLOCK key (architecture-dependent).
+    const unsigned int keyA          = 44U;  //!< Keycode for the \c A key (architecture-dependent).
+    const unsigned int keyS          = 45U;  //!< Keycode for the \c S key (architecture-dependent).
+    const unsigned int keyD          = 46U;  //!< Keycode for the \c D key (architecture-dependent).
+    const unsigned int keyF          = 47U;  //!< Keycode for the \c F key (architecture-dependent).
+    const unsigned int keyG          = 48U;  //!< Keycode for the \c G key (architecture-dependent).
+    const unsigned int keyH          = 49U;  //!< Keycode for the \c H key (architecture-dependent).
+    const unsigned int keyJ          = 50U;  //!< Keycode for the \c J key (architecture-dependent).
+    const unsigned int keyK          = 51U;  //!< Keycode for the \c K key (architecture-dependent).
+    const unsigned int keyL          = 52U;  //!< Keycode for the \c L key (architecture-dependent).
+    const unsigned int keyENTER      = 53U;  //!< Keycode for the \c ENTER key (architecture-dependent).
+    const unsigned int keySHIFTLEFT  = 54U;  //!< Keycode for the \c SHIFTLEFT key (architecture-dependent).
+    const unsigned int keyZ          = 55U;  //!< Keycode for the \c Z key (architecture-dependent).
+    const unsigned int keyX          = 56U;  //!< Keycode for the \c X key (architecture-dependent).
+    const unsigned int keyC          = 57U;  //!< Keycode for the \c C key (architecture-dependent).
+    const unsigned int keyV          = 58U;  //!< Keycode for the \c V key (architecture-dependent).
+    const unsigned int keyB          = 59U;  //!< Keycode for the \c B key (architecture-dependent).
+    const unsigned int keyN          = 60U;  //!< Keycode for the \c N key (architecture-dependent).
+    const unsigned int keyM          = 61U;  //!< Keycode for the \c M key (architecture-dependent).
+    const unsigned int keySHIFTRIGHT = 62U;  //!< Keycode for the \c SHIFTRIGHT key (architecture-dependent).
+    const unsigned int keyARROWUP    = 63U;  //!< Keycode for the \c ARROWUP key (architecture-dependent).
+    const unsigned int keyCTRLLEFT   = 64U;  //!< Keycode for the \c CTRLLEFT key (architecture-dependent).
+    const unsigned int keyAPPLEFT    = 65U;  //!< Keycode for the \c APPLEFT key (architecture-dependent).
+    const unsigned int keyALT        = 66U;  //!< Keycode for the \c ALT key (architecture-dependent).
+    const unsigned int keySPACE      = 67U;  //!< Keycode for the \c SPACE key (architecture-dependent).
+    const unsigned int keyALTGR      = 68U;  //!< Keycode for the \c ALTGR key (architecture-dependent).
+    const unsigned int keyAPPRIGHT   = 69U;  //!< Keycode for the \c APPRIGHT key (architecture-dependent).
+    const unsigned int keyMENU       = 70U;  //!< Keycode for the \c MENU key (architecture-dependent).
+    const unsigned int keyCTRLRIGHT  = 71U;  //!< Keycode for the \c CTRLRIGHT key (architecture-dependent).
+    const unsigned int keyARROWLEFT  = 72U;  //!< Keycode for the \c ARROWLEFT key (architecture-dependent).
+    const unsigned int keyARROWDOWN  = 73U;  //!< Keycode for the \c ARROWDOWN key (architecture-dependent).
+    const unsigned int keyARROWRIGHT = 74U;  //!< Keycode for the \c ARROWRIGHT key (architecture-dependent).
+    const unsigned int keyPAD0       = 75U;  //!< Keycode for the \c PAD0 key (architecture-dependent).
+    const unsigned int keyPAD1       = 76U;  //!< Keycode for the \c PAD1 key (architecture-dependent).
+    const unsigned int keyPAD2       = 77U;  //!< Keycode for the \c PAD2 key (architecture-dependent).
+    const unsigned int keyPAD3       = 78U;  //!< Keycode for the \c PAD3 key (architecture-dependent).
+    const unsigned int keyPAD4       = 79U;  //!< Keycode for the \c PAD4 key (architecture-dependent).
+    const unsigned int keyPAD5       = 80U;  //!< Keycode for the \c PAD5 key (architecture-dependent).
+    const unsigned int keyPAD6       = 81U;  //!< Keycode for the \c PAD6 key (architecture-dependent).
+    const unsigned int keyPAD7       = 82U;  //!< Keycode for the \c PAD7 key (architecture-dependent).
+    const unsigned int keyPAD8       = 83U;  //!< Keycode for the \c PAD8 key (architecture-dependent).
+    const unsigned int keyPAD9       = 84U;  //!< Keycode for the \c PAD9 key (architecture-dependent).
+    const unsigned int keyPADADD     = 85U;  //!< Keycode for the \c PADADD key (architecture-dependent).
+    const unsigned int keyPADSUB     = 86U;  //!< Keycode for the \c PADSUB key (architecture-dependent).
+    const unsigned int keyPADMUL     = 87U;  //!< Keycode for the \c PADMUL key (architecture-dependent).
+    const unsigned int keyPADDIV     = 88U;  //!< Keycode for the \c PADDDIV key (architecture-dependent).
+#endif
+
+    const double PI = 3.14159265358979323846;   //!< Value of the mathematical constant PI
+
+    // Define a 12x13 font (small size).
+    const char *const data_font12x13 =
+"                          .wjwlwmyuw>wjwkwbwjwkwRxuwmwjwkwmyuwJwjwlx`w      Fw                         mwlwlwuwnwuynwuwmyTwlwkwuwmwuwnwlwkwuwmwuw_wuxl"
+"wlwkwuwnwuynwuwTwlwlwtwnwtwnw my     Qw   +wlw   b{ \\w  Wx`xTw_w[wbxawSwkw  nynwky<x1w `y    ,w  Xwuw   CxlwiwlwmyuwbwuwUwiwlwbwiwrwqw^wuwmxuwnwiwlwmy"
+"uwJwiwlw^wnwEymymymymy1w^wkxnxtxnw<| gybwkwuwjwtwowmxswnxnwkxlxkw:wlymxlymykwn{myo{nymy2ykwqwqwm{myozn{o{mzpwrwpwkwkwswowkwqwqxswnyozlyozmzp}pwrwqwqwq"
+"wswswsxsxqwqwp}qwlwiwjybw`w[wcw_wkwkwkwkw mw\"wlwiw=wtw`xIw awuwlwm{o{mylwn|pwtwtwoy`w_w_wbwiwkxcwqwpwkznwuwjzpyGzqymyaxlylw_zWxkxaxrwqxrwqyswowkwkwkwk"
+"wkwkwk}qyo{o{o{o{owkwkwkwkznxswnymymymymyayuwqwrwpwrwpwrwpwrwqwqwpwkwtwlwkwlwuwnwuynwuwmyTwkwlwuwmwuwnwkwlwuwmwuwkxlwuxmwkwlwuwnwuynwuwTwkwlwuwmwuwlwm"
+"wkwtwUwuwuwowswowswowswowsw;wqwtw_ymzp~py>w bwswcwkwuwjwuwozpwtwuwnwtwowkwjwmwuwuwkwIxmxuxowuwmwswowswmxnwjwhwowswowsw0wmwowswuwnwrwowswpwswowkwjwrwqw"
+"rwpwkwkwtwnwkxsxqxswowswpwswnwswpwswowrwnwmwrwqwqwqwswswrwswowswjwpwlxjwkxuxLw[wcw_wSwkw mw\"wlwiw=wtwmxlwFw cwswnwuwnwkwjwswo{pwrwpwtwtwpwswby`w`yUwlw"
+"twpwqwpwswowlw\\wrwrxuwHwrwfwuwjwlwlwTyuwVwlwtwawswowswowswcwuwmwuwmwuwmwuwmwuwlwkwuwnwswpwkwkwkwkwkwkwkwkwswoxswowswowswowswowswowswowrwpwswpwrwpwrwpw"
+"rwpwrwpwswoznwtw  Ww (wGwtwtwqwqwqwuwuwuwqwswuwqwqw=wqxtw`{nzp~q{ozowrwnxmwtwow bzawkwuwl}rwuwnwtwuwnwtwowkwjwlyjwIwlwswmwiwkwnwuwnwkwhwnwswowswowkwew"
+"ewixnwsytwswuwnwrwpwkwrwpwkwkwkwrwpwkwkwuwmwkxsxqwuwtwpwqwqwswowqwqwswowiwmwrwpwswowtwtwpwuwmwuwjwowkwjwlxsxXynzmymznyozlzoznwkwkwtwnwkzuyrzmynzmzowux"
+"myozmwswpwrwowtwtwrwrwpwrwp{mwlwiwHyuwpwtwkwmxlynzoxswmwmwswnwswowtxq|owtwtwpym{p{owswnwuwmwlwkwqwqxuwuxqwrwpwtwtwqwqwowlwuwuwkwmwlwtwowuwuwdwjznwl{nw"
+"uwnwkx_wtxtwswtwlwtwWwuytwgyjwmwjwawswoyuwVwlwtwnwtwmwtwnwtwmwuwmwlwuwmwuwmwuwmwuwmwuwmwuwmxuwowkwkwkwkwkwkwkwkwkwrwpwuwtwpwqwqwqwqwqwqwqwqwqwowtwpwsw"
+"uwqwrwpwrwpwrwpwrwowuwnwswowuwlymymymymymymyuyqymymymymynwkwkwkwjynzmymymymymykwmzowswowswowswowswpwrwozowrwW}q}qwtwtwqwtwtwqwtwtwA}rwuw_{p~r~r}pwtwow"
+"rwnxmwtwow aw_w]wtwpwuwmxuwmybwjwlyjwIwlwswmwiwnynwtwnznzkwmynwswTyp}pylwmwtwtwtwswuwn{owkwrwp{o{owk|pwkwkxlwkwuwuwuwqwuwtwpwqwqwswowqwqwswoykwmwrwpws"
+"wowuwuwuwowkwjwnwkwjwDwowswowkwswowswowkwswowswowkwkwuwmwkwswswswswowswowswowswoxlwswowkwswpwrwowtwtwqwtwowrwlwoxkwhxVxuxpwtypwuwjwnwtwnwkwswowtxnxmws"
+"wowqwqwtwuxqwtwnwtwtwqwswowswmwm{nwuwlxnwkwqwqwtwtwqwrwpwtwtwqwuyuwpwiwhwnwmwrwnwbwkwuwlwlwswoxuxowlwtw`wuwrwszmwtwo}dwuwtwuw[}qymx`wswoyuwow_ylxlwtwo"
+"yuwoyuwoyuwmwlwuwmwuwmwuwmwuwmwuwmwuwmwt{swk{o{o{o{owkwkwkwlztwpwuwtwpwqwqwqwqwqwqwqwqwqwnxowtwtwqwrwpwrwpwrwpwrwnwmwswowuwiwkwkwkwkwkwkwswswkwswowswo"
+"wswowswowkwkwkwkwswowswowswowswowswowswowswcwtxowswowswowswowswpwrwowswpwrwWwtwtwqwqwqwuwuwuwqwuwswqwqw>wowuw`}q~q|q}qwrwpwrwowtwnwtwo~ izaw]wtwoykwux"
+"qwtwswfwjwmwuwuwn}eyaxlwswmwjwjwpwswjwowswmwmwswnzWy]ypwlwtwtwuwswswowrwpwkwrwpwkwkwsyqwrwpwkwkwuwmwkwuwuwuwqwtwuwpwqwqznwqwqzkynwmwrwowuwnwuwuwuwowkw"
+"jwnwkxkwGzowswowkwswo{owkwswowswowkwkxlwkwswswswswowswowswowswowjxmwkwswowtwnwuwuwuwpxmwtwlwlwlwiwlytwewtwtwqwswowtxoznwswnxmwswnwuwmwuwnwswowtwtwqwtw"
+"twqwtwnwtwtwqwswowswmwmwswowswmwmwkwqwqwtwtwqwrwowuwuwpwuyuwq~own~own~owbwkwuwmznwswmwbwswawuwrwgwtwhwdwuytwXwJwswnxuw=wtwmwswowtxowswqxmwswowswowswow"
+"swowswowswnwtwowkwkwkwkwkwkwkwkwkwrwpwtwuwpwqwqwqwqwqwqwqwqwqwnxowtwtwqwrwpwrwpwrwpwrwnwmwswowtwmznznznznznzn~swk{o{o{o{owkwkwkwkwswowswowswowswowswow"
+"swowswo}qwuwuwowswowswowswowswowtwnwswowtwUwuwuwowswowswowswowsw@}qx`}q~pzo{pwrwpwrwowtwnwtwow aw_w_}owuwmwuwtwrwswuwewjwkwiwJwkwswmwkwiwp|kwowswmwmws"
+"wkwWym}mypwlwszr{owrwpwkwrwpwkwkwqwqwrwpwkwkwtwnwkwtwtwqwtwuwpwqwqwkwqwqwtwiwnwmwrwowuwnwuwuwuwpwuwlwkwmwjwkwHwswowswowkwswowkwkwswowswowkwkwuwmwkwsws"
+"wswswowswowswowswowhwnwkwswowtwnwuwuwuwpxmwtwmwkwlwiwmwtydwtwtwqwswowswowtwnwswowkwswnwuwnwtwnwswowtwtwqwtwtwqwtwnwtwtwqwswowswmwmwswowswnwlwkwqwqxuwu"
+"xqwrwnyowqwpwiwhwpwuwuwowrwpwuwuwdwkwuwlwlwswo{owkxuwawtxtwszmwtwiwdwuwtwuwXwJwswmwuwKzmwtwlwtxowrwpwtxrxl{o{o{o{o{o{o{owkwkwkwkwkwkwkwkwkwrwpwtwuwpwq"
+"wqwqwqwqwqwqwqwqwowtwpwuwswqwrwpwrwpwrwpwrwnwmznwswowswowswowswowswowswowswowswowkwkwkwkwkwkwkwkwkwswowswowswowswowswowswowswcwuwuwowswowswowswowswowt"
+"wnwswowtwTymymymymy=wmw^wuwuwmxlxmyowrwowtwnwtwmxmw bwswIwuwmwuwmwuwtwrxswdwjw]wJwkxuxmwlwlwswlwjwowswmwmwswlwSycyawlwswowrwowswpwswowkwjwrwqwrwpwkwkw"
+"swowkwqwqwsxowswpwjwswpwswowrwnwmxtxnwlwswpwswmwlwlwjwkwHwswowswowkwswowswowkwswowswowkwkwtwnwkwswswswswowswowswowswowkwswowkwswnxlwswpwtwmxmwjwlwiwTx"
+"uxpwtxowswowtwnwswowkwswnynwtwnwswowtwtwqxuwuxqwtwnwtwtwqwswowswmwlwuwnwswowkwjwswo{pwrwmwmwswnwjwiwnymwtwnycwkwuwlwl{mwmwiw_wrwdwtwVwrw*wswmwuw?wtwlw"
+"tzqwrwpwtzswkwswowswowswowswowswowswowswnwswpwkwkwkwkwkwkwkwkwswowsxowswowswowswowswowswowrwpwswpxtxpxtxpxtxpxtxnwmwkwswowswowswowswowswowswowswowtxow"
+"kwswowswowswowswowkwkwkwkwswowswowswowswowswowswowswlwnxtwowswowswowswowswnxmwswnx >wlw\\wkx`wnwrwoznwtwmxl| gybw^wtwozmwsxpzuxfxlx]wnw_wlxjyn{o{nykwnz"
+"mymwkynymwkwewewjwjwrwswqwp{myozn{owizpwrwpwkwkwrwp{owqwqwsxnyowiyowrwozmwlzmwlwswqxsxnwm}qwjxlwGzozmymznynwjzowswowkwkwswowkwswswswswnynzmzowjymxlznx"
+"lwswqwrwnwm{mwlwiwHxuxpzmxlymynwswmwnwrwozmxuxo{pwtxn{pzmykwmyo}p{owkyuynwnwrwmwly`w_w_wbwjzo{pwqwnwmwhw_z>zY}M|nwuw2wqwqwryrwqwqyowqwqwqwqwqwqwqwqwqw"
+"qwqwqwr{qyo{o{o{o{owkwkwkwkznwsxnymymymymycwuynznznznzmwmwkwuynznznznznznznyuzrymymymymynwkwkwkwjynwswnymymymymybzmznznznznwlzmw     hwHwlwSwTw <w8z ]"
+"x tx Zxjwmx RwWw/wgw pw_ynwky=wCwmwaw\\w_wnw  1wIwlz 'wiwuwaw  mw    Pw   swlwjw     hw        f| pyWx/wgw rxSw/wCwmwaw\\w_wnw  1w  AwRx  nw    Pw   txk"
+"wlxm";
+
+    // Define a 20x23 font (normal size).
+    const char *const data_font20x23 =
+"                                                9q\\q^r_rnp`qnq`plp7q\\q^q_qmqbq\\q^q_qmqHqmp_q\\q^r_rnp`qnq7q\\q^q_qmq_q \"r                               "
+"                        Mq^q^qnq`pnr`qnq`plp6q^q^pmp`qmqaq^q^pmp`qmqIpmq]q^q^qnq`pnr`qnq6q^q^pmp`qmq`q \"plp         'q     5qmq               Vq      "
+"               Xq    [plp      3qYq_p^rnpLplp8qYq_qNqYq_q4rmpaqYq_q_rmp%qYq^pGq  Irc|!pKp]raqjq`p   HtNq_qmq\\plqbp_shpdscq[q^q[p [q]s_r`uau]rbv`tcxbua"
+"t LsZucrav_udwcxdw`udqiqeq]q]qjreq]sksgrjqbtcv_tcvaud{eqiqgqfqgqjsjqlrjrhrirfzfs`q[sZqMqJqCqNsLq]q]q]q]q   .scq]s \\sKt%r  [s^raxdxat_qazgqlqlqctJqIqIq"
+"LqHsOqiqOtaqmq\\uft nufu`sLs`t\\qKv<r\\rLrepirepitgpeq]r^r^r^r^r^r^{gudxdxdxdxdq]q]q]q]wcrjqbt`t`t`t`tLtlpgqiqeqiqeqiqeqiqgrireq[s_q[q_pnp_pnr`qnq`plp7q["
+"q_s`qmqcq[q_s`qmq]pkpbpmr`q[q_s`pmraqmq8q[q^pnp_qnq^qaq\\qnq !pnqd{!pJp^tdunucr _y  dvOq_qmq\\plpap_pmpipdudq[p\\p_plplp _q^ubtawcw^rbvavdxcwcw Ou]yerawb"
+"xeyexdwbxeqiqeq]q]qkrdq]sksgrjqdxewbxewcwe{eqiqfqhqfqjsjqkqjqfqiqezfs`q[s[sMpJqCqOtLq]q]q]q]q  q 1tcq]t ^vaq_w&r  \\u_raxdxcxcuczgqlqlqexMsJqJsMq[p^uPq"
+"iqdq]uaqmq]qkqcq!qkqguaqmqNpkp\\p]pKtmp:p]plpKpfpfpfpcpipdq]r^r^r^r^r^r^{ixexdxdxdxdq]q]q]q]yerjqdxdxdxdxdxPwnpfqiqeqiqeqiqeqiqfqiqdq\\u_p[p^pnpKqnq_r5p"
+"[p^pmp`qmqbp[p^pmp`qmq]tKp[p^pmpLqmq7p[p]pnp_qnq^p`q\\qnq5uauauauaucq`qhq4p]pKr_ueunucr `q  \\rkpOq_qmq\\plpctbqmqkqerlpdq\\q\\q_qnpnq\\q%q^qkqcqnqapjrdpjr`"
+"sbq]rkp^qcrkrerkq Oplr`sirgtbqkrdripeqjsfq]q]ripeqiqeq]q]qlrcq]sksgskqerjrfqkrdrjrfqkrerjp`q`qiqfqhqeqkskqiqlqdqkq\\qeq]qZq\\qmqNqKqCqOqIq5q]q  q 1q`qZq"
+" _rlqbtaqjp$q  ^qkqatbr^q]rjrewdqhqgqlqlqfrjrOuKqKu8p_rlpOqkqcq]qFpgpcp\"pgpTpkp\\q^p\\p^qLump:p^pjpLpgpepgpbpjpPt`t`t`t`t`qnq_qnqcripeq]q]q]q]q]q]q]q]qj"
+"sfskqerjrfrjrfrjrfrjrfrjrRrjrfqiqeqiqeqiqeqiqeqkqcvbrlq`q]q_plp Iq]q_qmqNq]q_qmqKtIq]q_qmq ^q]q^plpKq`q mqkqcqkqcqkqcqkqcqkqdq`qhq5q^qLt`ueunudtasbqip"
+"`q`pipcq  [qIq_qmq`{gvcqmqkpdq_q\\q\\q]rZq%q_rkraqZq]qaqnqbq]qXqcqiqeqiq1pSpXq`qfrhqnqbqjqdq]qhqfq]q]q]qiqeq]q]qmrbq]qnqmqnqgskqeqhqfqjqdqhqfqjqeqYq`qiq"
+"frjreqkskqirnrdrmr]qdq]qZq]qkq)qCqOqIq5q]q  q 1q`qZq _qkq_qaq mq  ^qkqaqnqar_q]qhqfrnqnreqhqgqlqlqfqhqPwLqLw9p_q_phqdqkqcq]qGplslpiu#pmtlpUpkp\\q_q_r8u"
+"mp:p^pjpLpgpepgperipcq^qnq`qnq`qnq`qnq`qnq`qnq`qmqcq]q]q]q]q]q]q]q]q]qhqfskqeqhqfqhqfqhqfqhqfqhqdphpfqirfqiqeqiqeqiqeqiqermrcwcqkq    [q 3qZp Oq nqmqm"
+"qeqiqeqiqeqiqeqiqeq_piq4q^pLvatd|evdvcqipasaqkqdq  [qHq_qmq`{hrnpmpcqmqlpcq_q\\pZp]rZq%q_qiqaqZq]qapmqbq^qWqcqiqeqiqdq]qUsSs[qaqdqhqnqbqjqeq\\qgqgq]q^q\\"
+"qiqeq]q]qnraq]qnqmqnqgqnqlqfqfqgqjqeqfqgqjqeqYq`qiqeqjqdqlqmqlqhqnqbqmq]rdq]qZq^pgp=taqns`s`snqatdv_snqcqnsbq]q]qkqcq]qnsmshqns`saqnsasnqcqnr`tbvaqjqe"
+"qiqdqkqkqjrkreqiqdw`q`qZq#tnreqkq^qatauaqnsdqiq`raqjqdqiqdpmrcxdqmqmqatbxfyeqiqbqnq`r`q^qfqhrmqmrfqhqgqlqlqgqfqep[pnqnp[p`q`pipbpnqnpNq]taq^qnqnqbqmqb"
+"q\\qIqmpkpmqkqkp$qmpkpmqVqmq\\q`q[pLqjqeump:p^pjpLphpdphpapkpbq^qnq`qnq`qnq`qnq`qnq`qnq`qmqdq\\q]q]q]q]q]q]q]q]qgqgqnqlqfqfqhqfqhqfqhqfqhqfqfrjrhqiqnqgqi"
+"qeqiqeqiqeqiqdqmqbqkrdqmsbt`t`t`t`t`t`tlsfs_t`t`t`tbq]q]q]q[tbqns`s_s_s_s_s\\q`smpdqjqdqjqdqjqdqjqeqiqdqnscqiq;qlqlqgqgqgqnqmqnqgqjqnqgqgqfq_qjq<{fpjpL"
+"vatd|fxeqkqdqipasaqkqdp  \\yNqGplqeqmp`qmqmqcrLqZq`qnpnq\\q%q_qiqaqZq^rbqmqbubqms^qaqkqdqiqdq]qXuf{fu_q`qlrnqlqjqlqcqkreq\\qgqgq]q^q\\qiqeq]q]t`q]qnqmqnqg"
+"qnqlqfqfqgqkreqfqgqkres[q`qiqeqjqdqlqmqlqhs`s]rcq]qZq#vbwcvbwcwev`wcwcq]q]qlqbq]vnthwcwcwcwcubwcvaqjqdqkqcqkqkqiqkqdqiqdw`q`qZq7smsfxdqlr^qavdvawdqkq_"
+"raqjqdpgpeqntdxdqmqmqcwdyfyeqiqcqlq`raq^qfqhqlqlqfqhqgqlqlqgqfqfrZqZraqarkraqLq^vbq^wbqmqbq]tKpmpfpkpjp_plp9plpkplpUs[qaqZpLqjqeump:p^pjpaplp_piqdpiqa"
+"plqbq_qlqbqlqbqlqbqlqbqlqbqlqbrmqdq\\q]q]q]q]q]q]q]q]qgqgqnqlqfqfqhqfqhqfqhqfqhqfqerlrgqjqmqgqiqeqiqeqiqeqiqcsaqjqdqnq`vbvbvbvbvbvbvnuivbwcwcwcwcq]q]q]"
+"q]wcwcwcwcwcwcwOwcqjqdqjqdqjqdqjqeqiqdwdqiq;pkqkpgpepgpmumpgpjrmpgpepfq_qkq;{hrkpLxdxf|fxepipdqipas`pkpcp  ZqHqGplpdt_pmplpmshsMqZqaplplp]q&q^qiqaq[qa"
+"t`plqbvcx_q`ucrkr:uc{cucq`qlvlqjqlqcwdq\\qgqgxdvcqjtfyeq]q]s_q]qmsmqgqmqmqfqfqgwdqfqgwcv_q`qiqdqlqbqmqmqmqfr`s]qbq\\q[q#pjqcrlrdqkpcrlrcqkrdq^rlrcrlrdq]"
+"q]qmqaq]rlrlqirlrdqkqcrlrerlrcr_qjpbq]qjqdqkqcqlslqhqmqbqkq^q_q`qZq_tjpSqmsmpgrlsdqnsaqmqbqkqdq\\rlrdqlq_raqjqeqgqgrnqnrdqlqcqmqmqcqkqerkq`qaycqlq_rbq^"
+"qfqhqlqlqfqhqgqlqlqgqnvnqgrYqYrbqbrirbqLq_rnpmpdwaqmqcydq^qlqLpmpfpkpkq`plpa{RpltkpB{gpXpLqjqdtmpcqHp]plp_plp`pipjpipipmsfplpjphr_qlqbqlqbqlqbqlqbqlqb"
+"qlqbqlxkq\\xdxdxdxdq]q]q]q_vjqgqmqmqfqfqhqfqhqfqhqfqhqfqdrnrfqkqlqgqiqeqiqeqiqeqiqcsaqjqdqnq`pjqcpjqcpjqcpjqcpjqcpjqcpjrlrjqkpbqkrdqkrdqkrdqkrdq]q]q]q]"
+"qkrdrlrdqkqcqkqcqkqcqkqcqkqOqkqcqjqdqjqdqjqdqjqdqkqcrlrdqkq:pnwnpgpnwnpgplslpgpkrlpgpkqkpfq^qlq6qaqlpMzfzfzfzgqipdqipbqmp`qmqc|  fqHqHqlpcuasmplpmpiul"
+"qSqZq]p^{+q^qiqaq\\q`ubqlqbpkrdrkrarawcx<tEteq`qlqlqlqjqlqcwdq\\qgqgxdvcqjtfyeq]q]t`q]qmsmqgqmqmqfqfqgvcqfqgv_t`q`qiqdqlqbqmqmqmqgs_q]qaq\\q[q\"vcqjqeq]qj"
+"qdqiqdq^qjqcqjqdq]q]qnq`q]qkqkqiqjqeqiqdqjqeqjqcq^s^q]qjqdqkqbqmsmqgqmqbqkq_qas_qYsc{Spkqkphqkrcqntcvcqiqeq\\qjqdqmr`tbqjqeqgqgqmqmqdqlqcqmqmqdqiqfqiqa"
+"qaycqlq_qaq^qfqhqlqlqfqhqfqmqmqfqnvnqh}cqc}cqc}cqLq_qmpawbqkqasaq^qkqMpmpfpjsnpaplp`{RplpmqkpB{huatKqjqbrmpcqJt^r]plpctlpjqktlpmpkpltlpjqhq^qlqbqlqbql"
+"qbqlqbqlqcrlrcqlxkq\\xdxdxdxdq]q]q]q_vjqgqmqmqfqfqhqfqhqfqhqfqhqfqcteqlqkqgqiqeqiqeqiqeqiqbq`qkrdqmravbvbvbvbvbvbvjqkq]qiqeqiqeqiqeqiqdq]q]q]q^qiqdqjqe"
+"qiqeqiqeqiqeqiqeqiqd{hqkpnqdqjqdqjqdqjqdqjqdqkqcqjqdqkq:pnwnpgpnwnpgplslpgplrkpgpkqkpfq^qlq6qaqmqMzg|fxdxfqipdqipbqmqaqmqcp  \\wLqK{dt]qmqmqkrmrnrSqZqK"
+"{TtKq^qiqaq]r\\rdqkq\\qdqiqaqarkrcsmq<tEtfq_qlqlqlqkqjqdqjqeq\\qgqgq]q^qgqfqiqeq]q]qnraq]qmsmqgqlqnqfqfqgq^qfqgqkq]raq`qiqdqlqbqnqkqnqgt`q^raq\\q[q#wcqjqe"
+"q]qjqdydq^qjqcqjqdq]q]s_q]qkqkqiqjqeqiqdqjqeqjqcq]uaq]qjqcqmqaqmpmpmqfs`qmq_ras_qYscpjtRpkqkphqkrcqkreqlrcqiqcr_qjqdqmq_qnqbqjqeqlqlqgqmqmqdqlqcqmqmqd"
+"qiqfqiqaqaqiqdqjqaq`q^qfqhqlqlqfqhqfrnqnrfqfqh}cqc}cqc}cqLq_qmp_q^qkq`qMrlqMpmpfpWplpUqRplplqlp=q&qjq`pmp _plp]qkpnpdqhpeqkpnpiq^qjqdqjqdqjqdqjqdqjqdq"
+"jqdqkqdq\\q]q]q]q]q]q]q]q]qgqgqlqnqfqfqhqfqhqfqhqfqhqfqbrdqmqjqgqiqeqiqeqiqeqiqbq`wcqlrcwcwcwcwcwcwc~kq]yeyeyeydq]q]q]q^qiqdqjqeqiqeqiqeqiqeqiqeqiqd{hq"
+"lpmqdqjqdqjqdqjqdqjqcqmqbqjqcqmq9pkqkpgpepgpmumpgpmrjpgpepfq]pmq:{epmpLzg|evbveqipdqipbqmqaqmpbq  [qHqK{cpmq^plqmqkqktRqZqFqOtKq^qiqaq^rZqdy^qdqiqaqaq"
+"iq]q:uc{cudq_qlqlqmqjxdqiqfq\\qgqgq]q^qgqfqiqeq]q]qmrbq]qlqlqgqlqnqfqfqgq^qfqgqkr]qaq`qiqcqnqaqnqkqnqhrnq`q_r`q\\q[q$qjqcqjqeq]qjqdydq^qjqcqjqdq]q]s_q]q"
+"kqkqiqjqeqiqdqjqeqjqcqZsbq]qjqcqmqaqnqmqnqfs`qmq`r^r`qZr9pkqkphqkrcqjqeqkqcqiqet_qjqcqnq`rnqbqjqeqlqlqgqmqmqdqlqcqmqmqdqiqfqiqaqaqiqdqjqbr`q]qhqgrmqmr"
+"fqhqeweqfqgrYqYrdpnqnpdrirdpnqnpNq_qmp_q]qmqcyPrmqMqmpkpmqkvaplpVqRqmpkpmq=q&qjq`pmp(v_plp\\pkpmpdphqepkpmpjq]xdxdxdxdxdxdwdq\\q]q]q]q]q]q]q]q]qgqgqlqnq"
+"fqfqhqfqhqfqhqfqhqfqcteqnqiqgqiqeqiqeqiqeqiqbq`vbqjqeqjqdqjqdqjqdqjqdqjqdqjqdqjxkq]yeyeyeydq]q]q]q^qiqdqjqeqiqeqiqeqiqeqiqeqiqQqmplqdqjqdqjqdqjqdqjqcq"
+"mqbqjqcqmq9qlqlqgqgqgqnqmqnqgqnqjqgqgqfq]qnq:{eqnpLzg|dt`tdqipcpipbpkp`sbq  Zq plq`pmq_pkqmqkqjrQqZqFq'q]rkraq_rYqdy^qdqiqbq`qiq^q6uf{fuaq_qlyjzeqiqeq"
+"]qhqfq]q]qhqfqiqeq]q]qlrcq]qlqlqgqkseqhqfq]qhqfqjq]qaq`qiqcqnq`skshrmraq_q_q[q\\q$qjqcqjqeq]qjqdq\\q^qjqcqjqdq]q]qnq`q]qkqkqiqjqeqiqdqjqeqjqcqXqbq]qjqcq"
+"mqaqnqmqnqgqmq`s_q\\q`qZq7pmpnqmpgqkrcqjqeqkpbqiqeq\\qjqcs_qlqcqjqeqlqlqgqmqmqdqlqcqmqmqdqiqfqiqaq`qkqdrjrdr_q]riqfrnqnreqhqducqhqerZqZrdwdrkrdwOq_qmp_q"
+"^w`q`q[sKplslpTplpWqQpmpkqnp<q&qjq`pmp aplp\\pkplpephqepkplpjq^zfzfzfzfzfzfxcq]q]q]q]q]q]q]q]q]qhqfqkseqhqfqhqfqhqfqhqfqhqcrnreriqfqiqeqiqeqiqeqiqbq`q]"
+"qjqeqjqdqjqdqjqdqjqdqjqdqjqdqjqdq]q]q]q]q\\q]q]q]q^qiqdqjqeqiqeqiqeqiqeqiqeqiqQqnpkqdqjqdqjqdqjqdqjqbsaqjqbs7qmqmqeqiqeqiqeqiqeqiqeq]qnp7q]rJrnpnresnpn"
+"sct_rcqipcqkqcqkqasaq  [rkp&plpcplpnr`qkqmqkrltRqZqFq'q\\qkq`q`r_pjr^qcpjrcqkrbq`rkrdpkr3sSsLrlrnrhqhqeqjreripeqjsfq]q]riqfqiqeq]q]qkrdq]qgqgqkserjrfq]"
+"rjrfqjrfpiraq_qkqbt`skshqkqaq`q^q[q\\q$qkrcrlrdqkpcrlrcqipdq^rlrcqjqdq]q]qmqaq]qkqkqiqjqdqkqcrlrerlrcq^pjqbq]rlrbs_rkrfqmq`s`r\\q`qZq6qlrfrmscrlrepkqbrk"
+"qdqkpaqjqcs`rlqcrlrernsnrgrnqnrdqlqcrnqnrdrkqdqkraq`qkqdqhqer^q\\rkqdwdqhqbqarjrdpYqYpbubpipbuNq_rnpmpbq^qnqnq`q`qZqIpgpRplp7pgp;q&rlr`pmp bplp[pkufpiq"
+"dpkukrlpcqhqfqhqfqhqfqhqfqhqfqhqfqjqcripeq]q]q]q]q]q]q]q]qjsfqkserjrfrjrfrjrfrjrfrjrdrlrfrjreqkqcqkqcqkqcqkqaq`q]qnplqeqkrdqkrdqkrdqkrdqkrdqkrdqksjpjq"
+"kpbqipdqipdqipdqipdq]q]q]q]qkqcqjqdqkqcqkqcqkqcqkqcqkq^qbqkqcrlrdrlrdrlrdrlrbsarlrbs6qkqcqkqcqkqcqkqcqkqdq\\r7q\\qFp\\p]r^rcqipcvbqkqas`r  \\vOqIqlpcw_pip"
+"mpivnrRpZpEqbqIq^q[ubwdxdw]qcwbwaq_wcvbq]qRpSp[q^q^qhqexcxeyexdq\\xeqiqeq]q]qjrexdqgqgqjrdxeq\\xeqiqfx`q_war_ririqiqbqazfq[q\\q$xcwcvbwcxdq]wcqjqdq]q]qlq"
+"bq]qkqkqiqjqdwcwcwcq^wbu`wbs_rkrgqkq`q`w`q`qZq$yewdqmq`wdvaqjqbr`qkqcyeyewcqlsdwcxdw`sauczexdq^umteucqhqbq`xLqJsKsMq^vdxdpgpaq`qYqIqkq bqkq?{+yapmp Jp"
+"fpfpipcpfpiucqhqfqhqfqhqfqhqfqhqfqhqfqjxixexdxdxdxdq]q]q]q]yeqjrdxdxdxdxdxdrjrgpnwdwcwcwcwaq`q]qnuexdxdxdxdxdxdvnwjvbxdxdxdxdq]q]q]q]wcqjqdwcwcwcwcw^q"
+"bwbwcwcwcwaq`w`q4uauauauaucq\\r7p[qFp\\p\\p\\pbqipasapip`q^y  ctNqIqmqbu_phsgslrSq\\qEqbqIq^qZsawdxcu\\qbt^taq]uataq]q q]qgpiqfqfw`udwcxdqZudqiqeq]q]qirfxdq"
+"gqgqjrbtcqZtcqirfv_q]s_r_rirjrircqazfq[q\\q#tnqcqns`s`snqaucq\\snqcqjqdq]q]qkqcq]qkqkqiqjqbsaqnsasnqcq]t_t_snqaq^rkrhrkraq`w`q`qZq#smrevbs^t`s`qjqbq`qiq"
+"dqnrmqdrmrcubqkrcubqntat^r`sc|fxdq^umtcqaqhqbq^tJqIqIqLq]tcxLq`qYqHu `u>{+qnrmqapmp Kpepgpiuhpephscqfqhqfqhqfqhqfqhqfqhqfqhqixgudxdxdxdxdq]q]q]q]wcqjr"
+"bt`t`t`t`taphpgplt`s_s_s_s_q`q]qmsctnqctnqctnqctnqctnqctnqbsktgs_uauauaucq]q]q]q[saqjqbs_s_s_s_sNpms_snqbsnqbsnqbsnqaq`qns_q !p Zp      jp#q\\q6q7q   l"
+"q [sjq  Qq -q  OqZq]q  Cq;q HqWq $rIq`qZq _q iqbqKqFqIq`q     hp$q]u   JqYpmpLp   .p        jp    ]p Xr`q[r !p       Tp\"p\\p6q6q   mq Yx  Qr -r  Ps\\q_s"
+"  Ipkq:q HqWq $qHq`qZq _q iqbqKqFqIq`q     hp$q]t   IqYpmpLq   /q        kq     Fq_q[q #s       Tp\"q^q6p   1p Vu  Rs    YsJsMy &v<s HqWq &sHtcq]t _q i"
+"qbqKqFqIq`q     hp$q   2q2q   /q        kq     Hs_q]s \"q                (r     Xy %t;r GqWq &rFscq]s ^q iqbqKqFqIq`q         ,q4r   0r        lr     G"
+"r^q                               *q                                                                                   kr               i";
+
+    // Define a 47x53 font (extra-large size).
+    const char *const data_font47x53 =
+"                                                                                                                                                      "
+"        9])]2_2]T\\8^U^3]  E])]2`4^U^>])]2_4^U^ 6^T\\5])]1_2]T\\8^U^  K])]2`4^V^3]                                                                       "
+"                                                                                                                    U]*\\2a4`V\\8^U^5a  F]*\\1\\X\\4^U^=]*\\"
+"2a5^U^ 7aV\\4]*\\1a4`V\\8^U^  J]*\\1\\X\\4^V^3\\                                                                                                             "
+"                                                                              S],\\1\\W\\5g8^U^6c  F],\\1\\V\\5^U^<],\\2]W]6^U^ 8h3],\\0\\W\\5g8^U^  I],\\1\\V\\5^V"
+"^4\\      ;]                                                                                                                                           "
+"                                         :\\-]2\\U\\6\\V`7^U^7]U]  F\\-]2\\T\\6^U^;\\-]3]U]7^U^ 8\\Va1\\-]1\\U\\6\\V`7^U^  H\\-]2\\T\\6^V^5]      =a                  "
+"              J]                                                                                                                                      "
+"              N\\/]2\\S\\7\\T]6^U^7\\S\\  E\\/]2\\R\\7^U^:\\/]3]S]8^U^ 8\\T^/\\/]1\\S\\7\\T]6^U^  G\\/]2\\R\\7^V^6]      =c                                L^           "
+"                                                         *^                            U`                                         O^             )\\S\\ "
+"                    !^$^3\\  E]U\\  K^$^4^ G^$^4]   J^$^3\\   #^$^3\\ 4^            B[                                                                    "
+"&^                            Xe                                         S^             (\\S\\               )Z      Q^&^3^2]S\\ A\\S\\  K^&^3^ F^&^4_  >]S"
+"\\9^&^3^2]S\\   W^&^3^ 6^        Q]    M[               ?`   ![1^H]?` =]4](\\    %` >b4c  Bb ?`2a    .a   Ib   Pb      Aa <a @b      Fb =b  F^ :] '] Da A"
+"].].].].]            <_:]._    Xh ?c   W^       @`   La   Pa        Sa   Va5^U^ @`   \"f4_ >`0`*^   $^.` <^F]F^F]G`G]     F\\S\\ ;b        %a2a2a2a2a <bR"
+"\\     D`4^(^3`4`U\\8^V^6\\S\\  J^(^3`4^U^@^(^3_4^U^/^/`U\\8^(^3`4`U\\8^V^  K^(^3`4^V^1^9]+^V^      ?`    O\\  D\\6]M]            We D]1]T] 9[3bJ\\@e<])]2])\\  "
+"  T]0d3_7h9i/_;k5f?n:f7e    3g :_8i3h at h9n?l5iB]H]C].].]J^B].`I`H_J]<g?g1g?g4hAuB]H]G]C]F]K_K]S^J^F^G^CrBb7]*b'_ D] :] '] Fc A].].].].]            >a:]"
+".a   !^T_ Bg   `       Dd2_8n?m7g3]:rD]P]P]@g <] 8] 8] B] 3e J^K^ If7^U^+b at d   Fb at f5a Ad4e-] :f  Ra0d AaF\\HaF\\HeJ\\?]._0_0_0_0_2\\U\\0tHh at n?n?n?n?].].].]"
+"-h:_J]<g8g8g8g8g BhV]G]H]C]H]C]H]C]H]G^G^B]*d5](]2\\X\\4aW]8^V^6\\S\\  I](]3]X]5^U^?](]3\\W\\5^U^.^R[9aW]7](]2\\X\\4aW]8^V^  J](]2\\X\\4^V^1]8]+^V^      ?a>w   "
+"P[ 9[/a:aQa7[    Wl      \"h E]1]T]+\\R\\;[4dL]Ag=])]2])\\    U^1f8c8k;j1`;k7h?n;h9g    5i*b:_8k6kBl=n?l7mD]H]C].].]L_A].`I`H`K]>kAj6kAj9kBuB]H]F]E]E^L_L^"
+"R^L^D^I^BrBb7^+b(a D] ;] '] Gd A].].].].]      ;]     (b:].b   #^Q] Dj  !a       Ff3_8n?m8i4]:rD]P]P]Bk ?_ 9] 9_ C]&[0f I]K]=]0g7^U^-fC\\S]   IfBf6c B["
+"S]5[S].] <i  R\\W\\1]T] B\\W\\G]H\\W\\G]H[S]K]?]._0_0_0_0_2c1uIkBn?n?n?n?].].].]-l>`K]>k<k<k<k<k EoF]H]C]H]C]H]C]H]F^I^A],h6]*]2\\V\\6]Wa7^V^6\\S\\  H]*]2\\V]6^U"
+"^>]*]3]W]6^U^._V_;]Wa5]*]2\\V\\6]Wa7^V^  I]*]2\\V\\5^V^2]7]+^V^      @]W\\=v   P[ 9\\1c<cSd:]   \"o      #_S^ F]1]T],]S];[5^V^N]A_T]=]*]0]*\\    U]1^T^;e8`S_<"
+"^R_2`;k8^R]?n<_T_;^S^    6^S_.i>_8m:`R`Cn?n?l9`QaE]H]C].].]M_@].aKaH`K]?`S`Bk8`S`Bk;_R_BuB]H]F]E]D]MaM]P]L]B^K^ArB]1]&])c D] <] '] G] :].].].].]      "
+";]     (^6]*^   #]P^ E^P\\   V^       H^T^4_8n?m:`S`6]:rD]P]P]C`S` Aa :] :a D]&[1^S\\ I^M^=]0^R[7^U^/^R^EZO\\   L^R^ N]U] :],\\0] <j  M\\2]R] >\\H]B\\H]=\\M]>"
+"]._0_0_0_0_0_/uK`R`Cn?n?n?n?].].].]-n@`K]?`S`>`S`>`S`>`S`>`S` H`ScE]H]C]H]C]H]C]H]E^K^@],^T^5],]1\\V\\6\\U`7^V^6]U\\  F],]2\\T\\6^U^=],]2\\U\\6^U^-e9\\U`4],]1\\"
+"V\\6\\U`7^V^  H],]1\\V\\5^V^3]6]+^V^  B`1`1`1`1`6]W]>u   P[ 9]2e>eUf;^   %q      $^O\\ F]1]T],]S];[5]T]N\\@]P[=]*]0]2ZR\\RZ   $]2]P]<_W]8]N]<ZL^4a;]+]MZ/]<^P"
+"^=^Q^    7\\O]1nAa9]N_<_M]C]NaA].]+_L^E]H]C].].]N_?].aKaHaL]@^M^C]P_:^M^C]P_=^M\\6]6]H]F^G^D]MaM]P^N^B^K^-^B]1]&]*e D] =] '] H] 9].].].].]      ;]     )"
+"^5])^   %^O]8^3]LZ   U]       I^R^6a9_0]+^M^7]:]H]D]P]P]D^M^ Cc ;] ;c E]&[2^PZ H]M]<]1^-^U^1]L];[   N]L] Q]S] :\\,\\1] <dU\\  M\\2\\P\\ >\\H\\A\\H\\<\\M\\=]/a2a2a"
+"2a2a1_/]V];_M]C].].].].].].].]-]ObBaL]@^M^@^M^@^M^@^M^@^M^ J^N`D]H]C]H]C]H]C]H]E^K^@]-^Q]5].]1\\T\\7\\S]6^V^5c  E].]2]S\\7^U^<].]2\\S\\7^U^,a6\\S]2].]1\\T\\7\\S"
+"]6^V^  G].]1\\T\\6^V^4]5]+^V^  De6e6e6e6e9\\U\\>u   P[ :_3f at gVf<_   &r      $]M[ F]1]T],\\R]>d<^T^P]A^OZ=]+].]4]T\\T]   &^3^P^=[S]8[K].]4\\X];],]!]<]N]>^O^  "
+"  8ZM^3`P`Ba9]M^=^J\\C]K_B].],^H\\E]H]C].].]O_>].aKaHaL]A^K^D]N^<^K^D]N^>]JZ6]6]H]E]G]C]MaM]O^P^@^M^-^A]1]&]+_W_ D] >] '] H] 9]  B].]      ;]     )]4](]"
+"   %]N]:c6]   G]       J^P^7a8_1],^K^;c=]H]D]P]P]E^K^ Ee <] <e F]&[2] =^O^<]1] 0\\H\\<\\   P\\H\\ R\\Q\\+]3\\,\\2] <eU\\  M\\3]P\\ >\\I]A\\I]<\\N]=]/a2a2a2a2a2a1]U]<"
+"^J\\C].].].].].].].]-]K_CaL]A^K^B^K^B^K^B^K^B^K^ K]K^D]H]C]H]C]H]C]H]D^M^?]-]P]4]0]1\\R\\  Ha  C]0]2]R] E]0]2\\Q\\ 9c 9]0]1\\R\\   !]0]1\\R\\ ?]4]   Di:i:i:i:i"
+";\\6]G]   P\\ :`5g at gWh>a   (_       J]KZ F]1]T],\\R\\?h>]R]P\\@]1]+].]3^V\\V^.]   T]2]N]5]8ZJ]-]6]X];]-]!^=]L]?]M]    *]5_J_Ec:]L^>]H[C]I^C].],]F[E]H]C].].]"
+"P_=].]X]M]X]HbM]A]I]D]M]<]I]D]M]?]%]6]H]E]G]C^NaN^N]Q^>^O^-^@]0]'],_U_  &] '] H] 9]  B].]      ;]     )]4](]   %]N]:d7]   F]       K]N]8c8^1],]I]>i@]H"
+"]D]P]P]E]I] Fg =] =g G]&[2] <]O];]1] 1\\F\\=\\   Q\\F\\ S\\Q\\+]3\\.]  IeU\\  M\\3\\N\\ ?\\I\\@\\I\\=]M\\<]0c4c4c4c4c3a1]U]<]H[C].].].].].].].]-]J_DbM]A]I]B]I]B]I]B]I]"
+"B]I] L]J_E]H]C]H]C]H]C]H]C^O^>].]N]    .]        '`X_           I]   FbWa=bWa=bWa=bWa=bWa<\\6^I^  ?Z2[ :a5gAiXh?c   *^       H] 7]1]T]-]S]Aj>]R]Q]@]1],"
+"],\\1^X\\X^,]   T]3]L]6]'].]7]W];]-]!]<]L]?]M^    +]6^F^F]W]:]K]?]FZC]H^D].]-]DZE]H]C].].]Q_<].]X]M]X]H]X]M]B]G]E]M^>]G]E]M^@]%]6]H]E^I^B]O^X]O]M^R^=]O^"
+"-^@]0]']-_S_  '] '] H] 9]  B].]      ;]     )]4](]   %]N]:e8_   H]       L]M]8]W]7^2]-]G]AmB]H]D]P]P]F]G] Hi >] >i  J[3] ;^Q^;]1] 2\\RbT\\Ge   R\\VdR\\ T\\"
+"Q\\+]4\\2a  IfU\\  M\\3\\N\\ ?\\J\\?\\J\\AaM\\ G]W]4]W]4]W]4]W]4]W]4c3^U]=]FZC].].].].].].].]-]H]D]X]M]B]G]D]G]D]G]D]G]D]G]A[H[B]J`E]H]C]H]C]H]C]H]B]O^>g8]N]    "
+"         1]T_      3[    9]   G_O^?_O^?_O^?_O^?_O^=\\5]I^  @\\3[ ;c6gAy?d7`8]L]7^7]L]>^       H] 6]1]T]-]S]B_W[U]>]R]R]?]1],],]0d*]   T]3]L]6]'].]7\\V];]"
+".] ]<]L]@]K]  7Z PZ X]7^D^G]W]:]K]?]/]G]D].]-]/]H]C].].]R_;].]X^O^X]H]X^N]B]G]E]L]>]G]E]L]@]%]6]H]D]I]A]O]W]O]L^T^<^Q^-^?]0]'].^O^  Sb7]U`2b4`U]8a8])`"
+"7]T_  M].]%_O_ at _2`0`3`/_3c9]     )]4](]   N_6]N]3^7a/c0_ <^  D[U^  Ga  N]L]9]W]6^3]-]G]B`W]W`C]H]D]P]P]F]G] I_X]X_ ?] ?_X]X_  Nb7]2ZFZ=]Q]:]0] 3[SfU[I"
+"g   R[UfS[ T\\Q\\+]5]2a  IfU\\  M\\3\\N\\ ?\\K]?\\K]AaN] G]W]4]W]4]W]4]W]4]W]4]W]3]T]=]/].].].].].].].]-]G]E]X^N]B]G]D]G]D]G]D]G]D]G]B]J]C]KbF]H]C]H]C]H]C]H]B"
+"^Q^=j;]P_9b3b3b3b3b3b3bN`Bb3a2a2a2a    V_2_2`1`1`1`1` ;aU]    :]U`   S^T]U^A^L^A^L^A^L^A^L^?]5]I]  @^5\\ <e7gAy at f;e:]L]8`8^N^?^       G] 6]1]T]-\\R\\A]U["
+"RZ>]R]R\\>]1],],].`(]   U^3]L]6]'].]8]V];].]!^<]L]@]K]  :] P]#^8^A]I^W^;]K]@].]G^E].].].]H]C].].]S_:].]W]O]W]H]W]N]C]E]F]L]?]E]F]L]@]%]6]H]D]J^A]O]W]O]"
+"L^U^:^S^-^>]0^(]/^M^  Wh:]Wd6f8dW]:e>h2dW]?]Vd<].].]O_>].]WdScK]Vd8f;]Wd7dW]?]Wa6h>h6]L]B]I]A]P`P]K^L^B^K^@l4]4](]   PdU]A]N]2^8e5g;]Vd?^J^8]6]L] E]V`"
+">pA]S]S]:e6kDo>]L]:^W^6^4].]E]D_U]U_D]H]D]P]P]G]E] K_W]W_ @] @_W]W_  Qf9]3\\H\\>^S^:]0_ 6[ThT[K]Q\\   S[T\\R]S[ U]S]+]6],] ?]L]@fU\\  M\\3\\N\\ ?\\K\\>\\K\\;]O\\ G"
+"^W^6^W^6^W^6^W^6^W^5]W]4^T]>].].].].].].].].]-]G^F]W]N]C]E]F]E]F]E]F]E]F]E]D_L_E]K]W]F]H]C]H]C]H]C]H]A^S^<k<]Ra<h9h9h9h9h9h9hTeFf7e6e6e6e;].].].]\"^;]V"
+"d8f7f7f7f7f/^6eX]@]L]?]L]?]L]?]L]B^K^?]Wd>^K^  O]S]S]B]I]B]I]B]I]B]I]@]5^K^  @]4[ ;f8gAyAg<h<]L]8`7]N]>]       F] 6]1]T]-\\R\\B]T[6]R]S]>^2]-]*\\.`(]   U"
+"]2]L]6]'].]9]U];].]!];]L]@]K]  =` P`'^7]?\\I]U];]K]@].]F]E].].].]H]C].].]T_9].]W]O]W]H]W^O]C]E]F]L]?]E]F]L]@]%]6]H]C]K]@^P]W]P^K^V^9]S]-^=]/](]0^K^  Xi"
+";]Xf9h9fX]<h?h3fX]?]Xg=].].]P_=].]XfVfL]Xg:h<]Xf9fX]?]Xb7i>h6]L]A]K]@^Q`Q^J^N^@]K]?l4]4](]   QfW^A]O^1]6f9h;]Xg at _K]7]6]L]=]G]C^Wc at pA]S]S]<h9mDo>]L]:]U"
+"]5^5].]E]E^S]S^E]H]D]P]P]G]E]@Z+]V]V^-Z4]5ZKZ:]V]V^  Sh9]4^J^>]S]9]._ 8[U_Q[T[L]P\\   S[T\\Q]T[ T]U]*]7]*] @]L]@fU\\  M\\3\\N\\ ?\\L]>\\L]:]Q]:]1]U]6]U]6]U]6]"
+"U]6]U]6^W^5]S]>].].].].].].].].]-]F]F]W^O]C]E]F]E]F]E]F]E]F]E]C_N_D]L^W]F]H]C]H]C]H]C]H]@]S];]P_=]S^8i:i:i:i:i:i:iVgIh9h9h9h9h<].].].]'d<]Xg:h9h9h9h9h"
+"0^8k?]L]?]L]?]L]?]L]A]K]>]Xf>]K]  O]R]R]D]G]D]VZOZV]D]KZV]D]G]A]4]K]  @]3[ <g7fAyBi>j=]L]8`7]N]?]       F^ 6]1]T]5uI]T[6]R]S\\<^3]-]*]1d*]   U]3]J]7]']"
+".]9\\T];].\\Ua-^;]L]@]K^?].] Uc Pc+_8]>]J]U];]K]@].]F]E].].].]H]C].].]U_8].]W^Q^W]H]V]O]C]E]F]L]?]E]F]L]@^&]6]H]C]K]?]Q^V]Q]I^X^8^U^.^<]/](]1^I^  ]R_<aT"
+"_;_R\\:^Tb=_S^@h4_Ub?bT^=].].]Q_<].aT_X]T^LbT^;_T_=aT_;^Tb?aTZ8_R]>h6]L]A]K]?]Q`Q]H^P^?]K]?l4]4](]   R^U^W]@]O]0^7g;_S];bT^@`L]8_7]L]>]E]E^W]V]@pA]S]S]"
+"=_T_<oDo?]K^;]U]5_6].\\D]E]R]R]E]H]D]P]P]G]E]A\\+[U]U\\,\\6]6\\L\\;[U]U\\  S_W[V\\9]3^V`V^=^U^9]/a :[T]G[M\\O\\1ZQZ  M[S\\P\\S[ Ud)]8](\\ @]L]@fU\\  M\\3\\N\\9ZQZ0\\L\\="
+"\\L\\8\\Q\\9]1]U]6]U]6]U]6]U]6]U]6]U]5]S]>].].].].].].].].]-]F]F]V]O]C]E]F]E]F]E]F]E]F]E]B_P_C]L]V^G]H]C]H]C]H]C]H]@^U^;]N^>]T]6]R_;]R_;]R_;]R_;]R_;]R_;]R"
+"_X_T^K_R\\:_S^;_S^;_S^;_S^=].].].]*h=bT^;_T_;_T_;_T_;_T_;_T_1^9_T`>]L]?]L]?]L]?]L]A]K]>aT_?]K]  P]Q]R]E]F]E]V\\Q\\W]E]K\\W]E]F]A]4^L]  A^@ZN\\ =i8e at yCk?^R^"
+"=]L]9b8]O^?]       Im B]1]T]5uI]T[6]S^T]<^3]-]*]3^X\\X^,]   V^3]J]7](^/]9]T];e7]We/]9]N]?]K^?].] Wd Nd._8]O`U\\T\\K]S]<]L^A]-]F^F].]/]-]H]C].].]V_7].]V]Q"
+"]V]H]V^P]D]C]G]L]@]C]G]L]?^']6]H]C^M^?]Q]U]Q]Ic6^W^._<]/^)]2^G^ !ZM^=`Q^=^NZ;^Q`>^P^=].^Q`?`Q^>].].]R_;].`R^X\\R^M`Q^=^P^>`Q^=^Q`?`1]MZ;].]L]A^M^?]Q`Q]"
+"G^R^>^M^1^4]4](]  D]P^A]R^X]@]P^/]9^Vb=^NZ;`Q^AaN^8_7]L]>]E]F^V]U]>]P]>]S]S]>^P^>`T`7]6]J]<]S]5^6]/]C]G]Q]Q]F]H]D]P]P]H]C]C^&]TZ,^7]7^N^6]TZ H]/^U[TZ9"
+"]2n;]U]8]0d <[U]F[M\\P]2[R[  M[S\\P\\S[ Tb(]9]'\\ @]L]@fU\\  M\\3]P]9[R[1\\M\\<\\M\\7\\R\\8]2]S]8]S]8]S]8]S]8]S]7]U]6]R]?]-].].].].].].].]-]F]F]V^P]D]C]H]C]H]C]H]"
+"C]H]C]B_R_C]L]T]G]H]C]H]C]H]C]H]?^W^:]M]>]U^6ZM^<ZM^<ZM^<ZM^<ZM^<ZM^<ZMbP]M^NZ;^P^=^P^=^P^=^P^>].].].]+i=`Q^=^P^=^P^=^P^=^P^=^P^2^:^P^>]L]?]L]?]L]?]L]"
+"A^M^>`Q^@^M^  P]Q]Q]F]E]F]W^S^W]F]L^W]F]E]B]3]M^  B^B^O[ =k8d?xClA^P^>]L]9]X]8^P]>\\       Hl A] 9uI]T[5]T]T]:^ =]*]5^V\\V^.]   V]2]J]7](]/^:]S];h:]Xg0]"
+"9^P^?]K^?].]!e Je2_7\\PdW\\S\\L]S]<]M^@]-]E]F].]/]-]H]C].].]X_5].]V]Q]V]H]U^Q]D]C]G]L]@]C]G]M^?`)]6]H]B]M]>]Q]U]Q]Hb5c-^;].])]   B]=_O]=].]O_>]N^>].]O_?_"
+"O]>].].]S_:]._P`P]M_O]=]N]>_O]=]O_?_1]-].]L]@]M]>]RbR]G^R^=]M]1^3]4](]  FaSaD^Qa?]R_.]9]R`>]._O]>^N]8`7]L]>]E]G^U]U^?]P]>]S]S]>]N]>^P^7]6]J]<]S]4^7]/]"
+"C]G]Q]Q]F]H]D]P]P]H]C]D_&]&_8]8_N_7] B]/]T[3]1l:^W^8]1]W` >\\U\\E\\N\\P]3\\S\\  N\\S\\P\\S\\ S_']:]&\\ @]L]@fU\\  M\\2\\P\\8\\S\\2\\N]<\\N]7\\S]8]2]S]8]S]8]S]8]S]8]S]8]S]"
+"7]R]?]-].].].].].].].]-]E]G]U^Q]D]C]H]C]H]C]H]C]H]C]A_T_B]M]S]G]H]C]H]C]H]C]H]>c9]M^?]U]'].].].].].].`O^N].]N^>]N^>]N^>]N^?].].].],_R^>_O]=]N]=]N]=]N]"
+"=]N]=]N]2^:]O_?]L]?]L]?]L]?]L]@]M]=_O]?]M]  O\\P]Q]F\\D]F\\U^U^V]F\\L^V]F\\D]B]3]M]  RuJ`O[ >m9c>wCmA]N]>]L]9]X]7]P]?]       Im A] 2\\R\\A]T[5^V^T\\:` ?](\\6]T"
+"\\T]/]   V]2]J]7])^1_9]S];i;bS^2^8^S_>]K^?].]$e at u@e6_7]QfX\\S\\M^S^=]N^?]-]E]F].]/]-]H]C].].c4].]U]S]U]H]T]Q]D]C]G]M^@]C]G]M]=c-]6]H]B]M]>^R]U]R^G`4c.^:]"
+".])]   B]=^M]?^/]M^?]L]>]/]M^?^N^?].].]T_9].^O_O^N^N^?]M^?^M]?]M^?^0]-].]L]@]M]>^S]X]S^F^T^<^O^2_3]4](]  GcUcE]Pa?]Vb-]:]O_?].^N^>]O^8a8]L]?]C]H]T]T]?"
+"]P]>]S]S]?]L]@^N^8]6]J]=^S^4^8]/]C]H^Q]Q^G]H]D]P]P]H]C]E_%]%_9]9_L_8] B]0^T[3]0_T_>cWc=]1]U_ ?[U\\C[N]R^4]T]  N[R\\Q]R[ 'uG]&] @]L]?eU\\  M\\2]R]8]T]3\\N\\;"
+"\\N\\7]S\\7]3^S^:^S^:^S^:^S^:^S^9]S]8^R]?]-].].].].].].].]-]E]G]T]Q]D]C]H]C]H]C]H]C]H]C]@_V_A]N]R]G]H]C]H]C]H]C]H]>c9]L]?]U]'].].].].].]._M]O^/]L]?]L]?]L"
+"]?]L]?].].].]-^O]>^N^?]M^?]M^?]M^?]M^?]M^ I]O`?]L]?]L]?]L]?]L]@^O^=^M]@^O^  P]P]P\\G]C\\G]T^W^T\\G]M^T\\G]C\\B]3^O^  RuJ[X]P[ >o=\\XaX]BwDoC]L\\>]L]:^X^8]P]?"
+"]       E] 5] 3]S]A^U[4dT];b @](]6ZR\\RZ.]   V]2]J]7]*^7d8]R];]R_<aQ^3]5f<^M_?].]'e=u=e:_6\\Q^S`S]N]Q]=l>]-]E]Fm>k=]-rC].].b3].]U]S]U]H]T^R]D]C]G]M]?]C]"
+"G]N^<f1]6]H]B^O^=]S^U^S]F_2a.^9].])]   A]>^M]?].]M^?]L]>]/]M^?^M]?].].]U_8].^N^N]N^M]?]L]?^M]?]M^?^0]-].]L]@^O^=]S]X]S]D^V^:]O]2_2]4](]  H\\U^W]U\\E]Pa?"
+"]Vb-];]M^?].^M]>^P]7a8]L]?]C]H]T]T]?]P]>]S]S]?]L]@]L]8]6p=]Q]3^9]/]C]H]P]P]G]H]C]Q]Q]G]ViV]F_$]$_:]:_J_9] B]0]S[3]0]P]>o=]2]S_ @[U\\C[M]T_5^U^;u O[R\\R]"
+"Q[ 'uH]/ZQ] ?]L]?eU\\  M\\1]T]7^U^4\\O]O]I\\O]T`MZQ]S]O]E]3]Q]:]Q]:]Q]:]Q]:]Q]:^S^9]QmO]-m>m>m>m>].].].]1hL]G]T^R]D]C]H]C]H]C]H]C]H]C]?_X_@]O]Q]G]H]C]H]C]"
+"H]C]H]=a8]L]?]U]&].].].].].].^M]O].]L]?]L]?]L]?]L]?].].].].^M]?^M]?]L]?]L]?]L]?]L]?]L] I]Pa?]L]?]L]?]L]?]L]?]O]<^M]?]O]  O]P]P\\G]C\\G]ScS\\G]N^S\\G]P]P\\B"
+"]2]O]  QuF]Q[ >oAqDuDqD]L]?]L]:^X^8^R^?\\       D] 5] 3]S]@`X[3bS\\R^G]W^N] P](].\\&]   W]1]J]7]*^7c8]Q];ZM^=`O^4]4d:]M_?].])d:u:d=_5\\R]O^R\\N]Q]=j<]-]E]F"
+"m>k=]-rC].].a2].]U^U^U]H]S]R]D]C]G]N^?]C]G]P_:g3]6]H]A]O]<]S]S]S]E^1_.^8]-]*]   A]>^M]?]/^M^?]K]?]0^M^?]L]?].].]V_7].]M]M]N]L]@^L]?^M]@^M^?]/]-].]L]?]"
+"O]<]S]X]S]C^X^9]O]2^1]4](]0_IZ O[R\\X]S\\G^O_>]Vd9_U];]L]?].]L]=]P]8]X^9]L]?]C]I^T]S]@]P]>]S]S]?]L]@]L^9]6p=]Q]3^9]/]C]H]P]P]G]H]C]Q]Q]G]ViV]G_#]#_;];_H"
+"_:] B]0]S[3]0\\N\\>o=]2]Q^ A[U\\C[LcX\\6]T]9u O[RfP[ 'uIf7e >]L]>dU\\<] :f5d4]T]:fT\\O^NfT\\UdOeR\\O^F^3]Q]:]Q]:]Q]:]Q]:]Q]:]Q]:^QmO]-m>m>m>m>].].].]1hL]G]S]R"
+"]D]C]H]C]H]C]H]C]H]C]>d?]P^Q]G]H]C]H]C]H]C]H]<_7]L]?]U^'].].].].].].^L]P].]K]@]K]@]K]@]K]@].].].].]L]?]L]@^L]@^L]@^L]@^L]@^L] I]Q]X^@]L]?]L]?]L]?]L]?]"
+"O]<^M]?]O]  O\\WmX]H\\WmX]H\\QaR]H\\N^R]H\\O]P]C]2]O]  QuF]R\\ ?qCsDtDrE]L]?]L]:]V]7]R]>x      '] 5] 3\\R\\?e3^R\\SbJ^V^O] P](].\\&]   W]1]J]7]+^6e:]Q]-^>_M]5^6"
+"h<^O`  Qe8u8e@^5]R\\M]R\\O^Q^>m?]-]E]Fm>k=]KdFrC].].b3].]T]U]T]H]S^S]D]C]G]P_>]C]Gk6f5]6]H]A^Q^<]S]S]S]F_1_/_8]-]*]   A]>]K]A].]K]@]J]?]0]K]?]L]?].].]W_"
+"6].]M]M]N]L]@]J]@]K]A]K]?]/^.].]L]?]O]<]T^W]T]C^X^9^Q^3^1]3]']3dN\\ P\\R`Q[G]N_>]Q`;bW];\\K^?]/]L]=]Q^8]W]9]L]?]C]I]S]S]@]P]>]S]S]@]J]B^L^9]6p>^Q^4^9]/]C"
+"]H]P]P]G]H]C]Q]Q]G]ViV]H_\"]\"_<]<_F_;] B]1]R[3]1]N]8a6]2]P^ B[U\\C[K`V\\7]T]8u O[RdN[ 'uIf5a <]L]=cU\\<] :f3`1]T];fU\\N^NfU\\T[S]NaQ\\N^G^3^Q^<^Q^<^Q^<^Q^<^Q"
+"^;]Q]:]PmO]-m>m>m>m>].].].]1hL]G]S^S]D]C]H]C]H]C]H]C]H]C]=b>]P]P]G]H]C]H]C]H]C]H]<_7]L]?]U_(].].].].].].]K]Q].]J]A]J]A]J]A]J]@].].].].]L]?]L]@]J]A]J]A"
+"]J]A]J]A]J] K]P\\V]@]L]?]L]?]L]?]L]?^Q^<]K]@^Q^  O\\WmX]H\\WmX]H\\P_Q]H\\O^Q]H\\O]P]C]2^Q^  D^<]R[ >qDuEsCqD]L]?]L]:]V]7]R]>x      '] 5] 3\\R\\=f+]TdL^T^P] P]"
+"(].\\2u  *]1]J]7],^-_=]P],]>_M]5]7_R^<^Qa  Sd .dC^4\\R]M]R\\O]O]>]N_@]-]E]F].]/]KdF]H]C].].]X^4].]T]U]T]H]R]S]D]C]Gk=]C]Gj1c6]6]H]@]Q];^T]S]T^Ga1].^7]-]*"
+"]   Lh>]K]A].]K]@]J]?]0]K]?]L]?].].]X_5].]M]M]N]L]@]J]@]K]A]K]?]._0].]L]>]Q];^U]V]U^Bb7]Q]3^1^3]'^6iS^ P[P^P[G]N_>]N^=dX]<]J]>^1]L]=^R]8^W]9]L]@]A]J]S"
+"]S]@]P]>]S]S]@]J]B]J]9]6]J]>]O]5^8]/]C]H]P]P]G]H]B]R]R]F]C]Iz<]<z=]=z<] B]1]R[7j:\\L\\7_5]2]P^ B[U\\C[ V]T]7u O[R\\U^O[  T]   ]L];aU\\<]   I]T],]O[X\\>]K]@]"
+"O[X\\I`3]O]<]O]<]O]<]O]<]O]<]O];]P]?]-].].].].].].].]-]E]G]R]S]D]C]H]C]H]C]H]C]H]C]<`=]Q]O]G]H]C]H]C]H]C]H];]6]L]?]T_4h9h9h9h9h9h9hK]Q].]J]A]J]A]J]A]J]"
+"@].].].]/]J]@]L]@]J]A]J]A]J]A]J]A]J]?tG]Q\\U]@]L]?]L]?]L]?]L]>]Q];]K]?]Q]  N\\WmX]H\\WmX]H\\P_Q]H\\P^P]H\\O]P]C]1]Q]  C]:]S[ ?sEvEqAoC]L]?]L];^V^8^T^>x     "
+" '] 5] 4]S]<g-\\T^V^M]S_Q\\ O](].\\2u Se =^1]J]7]-^*^?]O],^?^K]7^7]N]<^Sb  Sa (aC]3\\R\\K\\R\\P^O^?]L^A]-]E]F].]/]KdF]H]C].].]W^5].]T^W^T]H]R^T]D]C]Gj<]C]Gj-"
+"`7]6]H]@]Q]:]U^S^U]Fb2]/^6]-^+]   Nj>]K]A].]K]@p?]0]K]?]L]?].].b3].]M]M]N]L]@]J]@]K]A]K]?].c4].]L]>]Q]:]U]V]U]@`6^S^4^5b2]&b<u P[O]P\\H]N^=]M]>^Ua<]J]="
+"c7]L]<]S^8]V^:]L]@]A]J]S]S]@]P]>]S]S]@]J]B]J]9]6]J]?^O^7^7]/]C]H]P]P]G]H]B]R]R]F]C]Iz<]<z=]=z<] B]1]R[7j:\\L\\7_ C^P] B[U\\C[ W]T] W] O[R\\T^P[  T]   ]L]7"
+"]U\\<]   H]T]-\\O\\X\\>\\I\\@\\O\\X\\J`3^O^>^O^>^O^>^O^>^O^=]O]<^P]?]-].].].].].].].]-]E]G]R^T]D]C]H]C]H]C]H]C]H]C];^<]R]N]G]H]C]H]C]H]C]H];]6]L]?]S`8j;j;j;j;j"
+";j;|Q].pApApAp@].].].]/]J]@]L]@]J]A]J]A]J]A]J]A]J]?tG]R]U]@]L]?]L]?]L]?]L]>^S^;]K]?^S^  N\\WmX]H\\WmX]H\\QaR]H\\Q^O]H\\O]P]C]1^S^  D]9]T\\ ?sFwDo?nC]L]?]L];"
+"]T]7]T]=]       Hj ?] 4]S]8d/]T]T]N^R_R\\ O](] =u Se =]0]J]7].^(]?]O]+]?^K]7]7]L]<gX]  Sa (aC]3\\R\\K\\R\\P]M]?]K]A]-]E]F].]/]D]F]H]C].].]V^6].]S]W]S]H]Q]T"
+"]D]C]Gg9]C]G]Q_,^7]6]H]@^S^:]U]Q]U]G^X]2]0^5],]+]   Pl>]K]A].]K]@p?]0]K]?]L]?].].a2].]M]M]N]L]@]J]@]K]A]K]?]-f8].]L]>^S^:]U]V]U]?^4]S]4^4`0]$`<^Si O[O"
+"\\O\\H]N^=]M^@^S`<]J]=c7]L]<]S]8^U]:]L]@]O]O]J]S]S]@]P]>]S]S]@]J]B]J]9]6]J]?]M]7]6]/^E^H]P]P]G]H]A]S]S]E]C]Iz<]<z=]=z<] B]1]R[7j:\\L\\6] A^Q] B[U\\C[Ni:]T]"
+" V] O[R\\S]P[  T]   ]L]6\\U\\<]  Dh2]T]/]P\\W\\?]I\\A]P\\W\\K`2]M]>]M]>]M]>]M]>]M]>^O^=]O]?]-].].].].].].].]-]E]G]Q]T]D]C]H]C]H]C]H]C]H]C]<`=]S]M]G]H]C]H]C]H]"
+"C]H];]6]M^?]R`;l=l=l=l=l=l=~Q].pApApAp@].].].]/]J]@]L]@]J]A]J]A]J]A]J]A]J]?tG]S]T]@]L]?]L]?]L]?]L]=]S]:]K]>]S]  M]P]P\\G]C\\G]ScS\\G]S^N\\G]P]P\\B]0]S]  D]"
+"7\\T[ >sFwCn?mB]L]?]L];]T]7]T]=]       Hi >] 4]S]7[Xa1]T^T^O]P_T] O](] =u Se =]0]J]7]/^'^A]N]+]?^K]7]8^L^<eW]  Sd .dC]3\\R\\K\\R\\P]M]?]K]A]-]E]F].]/]D]F]H"
+"]C].].]U^7].]ScS]H]Q^U]D]C]G]/]C]G]O^,^8]6]H]?]S]9]U]Q]U]H^W^3]1^4],]+]   Q`P]>]K]A].]K]@p?]0]K]?]L]?].].b3].]M]M]N]L]@]J]@]K]A]K]?]+e9].]L]=]S]9]V]T]"
+"V]@_4]S]5_4b2]&b<\\Nd M[O]P\\H]N^=]L]@]Q_<]J]?e7]L];]T]8]T]:]L]@]O]O]J]S]S]@]P]>]S]S]@]J]B]J]9]6]J]?]M]8^6].]E]G]P]Q^G]H]A^T]T^E]C]Iz<]<z=]=z<] B]1]R[3]"
+"1\\L\\6] A_R] B\\U\\E\\Ni:]T] V] O\\S\\R]R\\  T]   ]L]6\\U\\<]  Dh2]T]/\\O[V\\?\\H\\A\\O[V\\L`1]M]>]M]>]M]>]M]>]M]>]M]>^O]?]-].].].].].].].]-]E]G]Q^U]D]C]H]C]H]C]H]C]"
+"H]C]=b>]T]L]G]H]C]H]C]H]C]H];]6]M]>]Qa>`P]>`P]>`P]>`P]>`P]>`P]>`PoQ].pApApAp@].].].]/]J]@]L]@]J]A]J]A]J]A]J]A]J]?tG]T]S]@]L]?]L]?]L]?]L]=]S]:]K]>]S]  "
+"L\\P]P\\F\\C\\F\\T^W^T\\F\\T^M\\F\\C\\B]0]S]  E^7]U[ >sFwBl=kA]L]?]L]<^T^8^V^=]       Ij >] <u=[U^1\\S]R]O]O_U\\ N](] 1] Ge =]0]J]7]0_&]A]N]+]?^K]8^8]J]:aU\\  Pe 4"
+"eA]3\\R\\K\\R\\Qo@]J]A].]F^F].].]E]F]H]C].].]T^8].]RaR]H]P]U]C]E]F].]E]F]N^,]8]6]H]?]S]9^V]Q]V^H^V^4]2_4],]+]   Q]M]>]K]A].]K]@],]0]K]?]L]?].].c4].]M]M]N]"
+"L]@]J]@]K]A]K]?](d;].]L]=]S]9^W]T]W^@`5^U^5^/_3]'_8ZJ` K[O]P\\H]N^=]L]@]P];]J]@_0]L];]U^9^T^;]L]@]O]O]J]S]S]@]P]>]S]S]@]J]B]J]9]6]J]@^M^:^5].]E]F]Q]Q]F"
+"]H]@^U]U^C]E]G_\"]\"_BZT]TZB_F_;] B]1]R[3]1\\L\\?o I_S] A[U]F[ V]T] W] N[S\\R]R[  S]   ]L]6\\U\\   ']T]/\\O\\V\\@\\H\\A\\O\\V\\M_0o at o@o at o@o?m>l>].].].].].].].].]-]F^"
+"G]P]U]C]E]F]E]F]E]F]E]F]E]=d?^V]L]F]H]C]H]C]H]C]H];]6]N^>]O`?]M]>]M]>]M]>]M]>]M]>]M]>]M]?].].].].]-].].].]/]J]@]L]@]J]A]J]A]J]A]J]A]J] K]U]R]@]L]?]L]?"
+"]L]?]L]=^U^:]K]>^U^  L\\P]Q]F\\D]F\\U^U^V]F\\U^M]F\\D]B\\/^U^  OuD]V[ =sFwBk;i@]L]?]L]<]R]7]V];]       F^   Nu=[T^3]S]R]O]N_V\\ N](] 1]   ].]L]6]1_%]Aq0]>]K]"
+"8]7]J]/]  Md:u:d>]3\\R\\K\\S\\Po@]J]A].]F]E].].]E]F]H]C].].]S^9].]RaR]H]P^V]C]E]F].]E]F]M],]8]6]H]>]U^8]W^Q^W]H^U^4]2^3]+],]   R^M]>]K]A].]K]@],]0]K]?]L]?"
+"].].]X_5].]M]M]N]L]@]J]@]K]A]K]?]$`;].]L]=^U^8]W]T]W]@b5]U]5^,]3]']  J\\Q_Q[G]N^=]L]A]O];]J]@].]L];]U]8]R];]L]@]O]O]J]S]S]@]P]>]S]S]@]J]B]J]9]5]L]?]K];"
+"^4].^G^F]Q]Q]F]H]?_W]W_B]E]F_#]#_B\\U]U\\B_H_A\\U]U[ H]1]R[3]1]N]?o H`V] @[T]G[ U]T] X] N[S\\Q]S[  S]   ]L]6\\U\\   (]T]/]P\\U\\A]I]B]P\\U\\M^/o at o@o at o@o at o@m>].]"
+".].].].].].].]-]F]F]P^V]C]E]F]E]F]E]F]E]F]E]>_X_?]W^L]F]H]C]H]C]H]C]H];]6]P_=]M^@^M]?^M]?^M]?^M]?^M]?^M]?^M]?].].].].]-].].].]/]J]@]L]@]J]A]J]A]J]A]J]"
+"A]J] K]U\\Q]@]L]?]L]?]L]?]L]<]U]9]K]=]U]  K]Q]Q]F]E]F]W^S^W]F]W^L]F]E]B\\.]U]  NuC\\V[ =eXZXdFgXhAi9h@]L]?]L]<]R]7]V];]       E]   Nu=[S]3\\R]R]O]M_X\\ M]("
+"] 1]   ].]L]6]2_$]Aq0]>]K]8]7]J]/]  Ke=u=e<]3\\R\\K\\S\\Po@]J]A].]F]E].].]E]F]H]C].].]R^:].]RaR]H]O^W]C]E]F].]E]F]M^-]8]6]H]>]U]7]W]O]W]I^S^5]3^2]+],]   R"
+"]L]>]K]A].]K]@],]0]K]?]L]?].].]W_6].]M]M]N]L]@]J]@]K]A]K]?]\"_<].]L]<]U]7]W]T]W]Ac5^W^6^+^4](]  H[R\\X]S\\G]N^=]L]A]O];]J]A^.]L]:]W^9^R];]L]@]O]O]J]S]S]@"
+"]P]>]S]S]@]J]B]J]9]5]L]?]K];^4]-]G]D]R]R]E]H]>kA]E]E_$]$_B^V]V^B_J_A^V]V] I]1]R[3]0\\N\\>o G`X] ?\\U_Q[T\\ T]T] ] N\\T\\Q]T\\  S]   ]L]6\\U\\   )]T].\\P\\T\\A\\I]A"
+"\\P\\T\\N^.o at o@o at o@o at o@m>].].].].].].].].]-]F]F]O^W]C]E]F]E]F]E]F]E]F]E]?_V_@]W]K]F]H]C]H]C]H]C]H];]6k<]L^A]L]?]L]?]L]?]L]?]L]?]L]?]L]?].].].].]-].].].]/"
+"]J]@]L]@]J]A]J]A]J]A]J]A]J] K]V\\P]@]L]?]L]?]L]?]L]<^W^9]K]=^W^  J]R]R]D]G]D]W\\Q\\W]D]W\\L]D]G]A\\.^V]  NuC]W[ <cWZXdEfXh at g8g?]L]?]L]=^R^8^X^:]       F]  "
+" G\\R\\5[S]4]R]R]O]Lb M](\\ 0]   ].]L]6]3_#]Aq0]>]K]9]6]J]/]  He at u@e H\\R]M]T]Q^J]A]J]@]/]G^E].]-]F]F]H]C].].]Q^;].]Q_Q]H]N]W]B]G]E]-]G^F]L]-]8]6]I^>^W^7]"
+"W]O]W]I^R^6]4^1]+],]   R]M^>^M^@]/^M^?]-]0^M^?]L]?].].]V_7].]M]M]N]L]@^L]?^M^A^M^?] ]<].]L]<]U]7]X]R]X]B^W^5]W]6^)]4](]  H\\T]W]U\\F]O_=]L]A]P^;^L^A]-]L"
+"]:]W]8]P]<]L]@]O]O]J^T]T]?]P]>]S]S]@^L]A^L]8]5]L]@^J]=^3]-^I^D^S]S^E]H]<g>]G]C_%]%_A_W]W_A_L_ at _W]W_ J]0]S[3]0]P]5]4],b =[ThT[ R]T]!] M[T\\P]U[  R]   ]L"
+"]6\\U\\   *]T].]P[S\\B]J]A]P[S\\N].^J]B^J]B^J]B^J]B^J]B^K^A]M]=]/].].].].].].].]-]G^F]N]W]B]G]D]G]D]G]D]G]D]G]?_T_AbK]E]I^C]I^C]I^C]I^;]6j;]K]A]M^?]M^?]M^"
+"?]M^?]M^?]M^?]M_?].].].].].].].].]/]J]@]L]@^L]@^L]@^L]@^L]@^L] J^X]Q]?]L]?]L]?]L]?]L];]W]8^M^<]W]  I]R]S]C]H]C]VZOZW]C]VZL]C]H]@\\-]W]  MuC]X[ ;cWZWbDe"
+"WZXe>e6e>]L]?]L]=]P]8^X^:]       F^   H\\R\\5[S]5]Q]R]O^L` K]*] 0]  !^.]L]6]4_\"]2],^>^M]8]6]J]0]  DeCuCe E]R\\M]T\\P]I]A]J]@]/]G]D].]-]F]F]H]C].].]P^<].]Q"
+"_Q]H]N^X]B]G]E]-]G]E]L^.]8]5]J]<]W]6^X]O]X^J^Q^6]5^0]+^-]   R]M^>^M]?].]M^?]-]/]M^?]L]?].].]U_8].]M]M]N]L]?]L]?^M]?]M^?] ]<].]M^<^W^6aRbB^V^6]W]7^(]4]"
+"(]  GcUcE]P_=]L]A]P]9]L]@]-]L]:^X]9^P]<]M^@]P^O]I]T]T]?]P]>]S]S]@^L]@]L]8]5]M]?]I]>^2],]I]B_U]U_D]H]:c<]G]B_&]&_?_X]X_?_N_>_X]X_ I]0]S[3]0_T_5]4]+` ;["
+"SfU[ P^U^#] L[U\\P]V[  Q]   ]M^6\\U\\   ,^U^-\\P\\S\\B\\J]@\\P\\S\\N].]I]B]I]B]I]B]I]B]I]B]I]B^M]=]/].].].].].].].]-]G]E]N^X]B]G]D]G]D]G]D]G]D]G]@_R_A`J]D]J]A]J"
+"]A]J]A]J]:]6g8]K]A]M^?]M^?]M^?]M^?]M^?]M^?]M_?].].].].].].].].].]L]?]L]?]L]?]L]?]L]?]L]?]L]3^;aP]?]M^?]M^?]M^?]M^;]W]8^M];]W]  H]S]T^B]J^B]J^B]J^B]J^@"
+"\\-]W]  G^1_ :aW[V`BcW[Wc<d5c=]L]>]N]<]P]7]X]8]       F]KZ   X]S]5[S]5\\P]R]N]K_ K]*] 0]  !],]N]5]5_\"]1],]<]M]9^6^L^0]  Ad Nd A\\R]O^U\\P^I^B]K^?]H[C]H^D]"
+".],]G]F]H]C].].]O^=].]P^Q]H]M]X]A]I]D],]I^E]K]AZH^8]5]J]<]W]5bObJ^O^7]6_0]*]-]   R]M^>^M]?^/]M^?^.]/]M^?]L]?].].]T_9].]M]M]N]L]?]L]?^M]?]M^?] ]<].]M^;"
+"]W]5aRaB^U^6c8_(]4](]  FaSaD]P_=]M]@]P]9]L]@]-]L]9b9]O^=^N^?\\P_Q]H]T]T]?]P]=]T]T]?^L]@]L]8]4]N]@^I^?]1],^K^A`W]W`C]H]7]8]I]@^&]&^=i=^N^<i H]0^T[3]1l6]"
+"4])_ <\\RbT\\ O]T]#] L\\V\\O]X\\     M^N^6\\U\\   ,]T]-\\OhF\\J]@\\OhQ]/^I^D^I^D^I^D^I^D^I^C]I]B]L]<]H[C].].].].].].].]-]H]D]M]X]A]I]B]I]B]I]B]I]B]I]@_P_B_J]C]J"
+"]A]J]A]J]A]J]:]6].]K]A]M^?]M^?]M^?]M^?]M^?]M^?]M_?^/^/^/^/^/].].].].]L]?]L]?]L]?]L]?]L]?]L]?]L]3^;`O]?]M^?]M^?]M^?]M^;c8^M];c  G^U]U^@^M^@^M^@^M^@^M^?"
+"\\-c  H^0_ 9^U[U^@aV[Va:b3a<]L]>^P^=^P]7]X]8_       H^M[ F] 6]S]>ZQ[T^6]P]S^N^K^ K]*] 0]:] 8]0],]O^5]6_2ZI]1]-^<^O^9]4]L]0]<].] Uc Pc1]2\\Q^S`W^P]G]B]K]"
+">^J\\C]I^C].],^H]F]H]C].].]N^>].]C]H]MbA^K^D],^K^D]K^B[I]7]5^L^<c5aMaJ^N]7]6^/]*]-]   R^O_>_O]=].]O_>].].]O_?]L]?].].]S_:].]M]M]N]L]>]N]>_O]=]O_?] ]<]-"
+"]O_;]X^5aRaC^S^6a8_']4](]  D]P^B^Ra>^N]@]Q]7]N]?^.]L]9a8]N]=^N^?]Q_Q]G]U]U]>]P]=]T]T]?_N]>]N]7]4^P^@]G]@^1]+^M^?mB]H]7]8^K^?\\%]%\\;g;\\L\\:g G]/]T[3]2n7]"
+"4]'^ <\\F\\ M\\S\\  J\\F\\     L^N^6\\U\\   ,\\S\\-]OhG]K]@]OhQ]LZ=]G]D]G]D]G]D]G]D]G]D]G]D^L]<^J\\C].].].].].].].]-]J_D]MbA^K^B^K^B^K^B^K^B^K^A_N_B^K]B^L^A^L^A^"
+"L^A^L^:]6].]K]A^O_?^O_?^O_?^O_?^O_?^O_?^Oa?].].].].]/].].].]-]N]>]L]>]N]=]N]=]N]=]N]=]N]2^;_O]=]O_>]O_>]O_>]O_:a7_O]9a  E^P_>^P_>^P_>^P_>^P_>\\,a  H^.]"
+" /[5]T[S\\8a1`<]L]=^R^<]O^8b7_       H^O\\ F] 6\\R\\=[R[U^5\\N]T]L^M` L]*] 0]:] 8]1^+]P]4]7_1[L_1]<ZL^:^Q^8]4^N^>ZM];].] R` P`.]2]QfXaN]G]B]L^=^L]C]K_B].]+"
+"_J]F]H]C].].]M^?].]C]H]La@^M^C]+^M^C]J]B]L^7]4^N^:a4aMaK^M^8]7^.]*^.]   Q]P`>`Q^=^NZ;^Q`>_LZ>].^Q`?]L]?].].]Q^;].]M]M]N]L]>^P^>`Q^=^Q`?]/ZL];]-^Q`:a4`"
+"P`D^Q^7a8^&]4](]   S]Sb>_P^@]R^7^P^>^MZ<]L]9a9]M]=_P`XZB]Q_Q]G^V]V^>]P]=^U]U^?`P^>^P^6]4]Q^?]G]A^0]*^O^<i@]H]7]7^M^=Z$]%Z8e9ZKZ7e F]/^U[TZ9]3^V`V^8]4]"
+"&^ <\\H\\ K[R[  I\\H\\     K_P`XZ9\\U\\   ,[R[,\\E\\D\\K]?\\E\\M]O\\=]G]D]G]D]G]D]G]D]G]D]G]D]K];^L]C].].].].].].].]-]K_C]La@^M^@^M^@^M^@^M^@^M^A_L_C`N^A^N^?^N^?^"
+"N^?^N^9]6].]L]?]P`>]P`>]P`>]P`>]P`>]P`>]P]X^LZN^NZ;_LZ>_LZ>_LZ>_LZ?].].].]-^P^>]L]>^P^=^P^=^P^=^P^=^P^2^:^P^=^Q`>^Q`>^Q`>^Q`:a7`Q^9a  Dk<k<k<k<k>],a  "
+"H]-] /[,[._0_;]L]=j<]N]7`5a       J_S^ F] 6\\R\\=^U[W_5]N^V^K_Rd L],] /]:] 8]1])^T^3]8_0^Q`0]<]Q_8^S^8^3_R_=]R^:].] O] P]+]1\\PdW`N^G^C]N_;`R`C]NaA].]*`O"
+"`F]H]C].].]L^@].]C]H]La?`S`B]*`S`B]J]B`Q_6]3_R_9a4aMaL^K^9]8^-])].]   Q_Tb>aS^;_R\\:^Sa=`Q]>]-^Sa?]L]?].].]P^<].]M]M]N]L]=_T_=aS^;^Sa?]/^R_:]-^Sa:a3_P_"
+"C^P^7_8^%]4](]   S_V^X^?aS^>]T^5_T_=`R]<]L]8_8]M^>`SdA]SaS]E^W]W^=]P^=_W]W_>]X]T_<_T_5^4^T^?^G^C^/])^Q^8c=]H]7]6`S` ?] ;c >c E]._W[V\\9]4^J^9]4]%] ;]L]"
+" IZQZ  H]L] !u  ,`Sd9\\U\\   ,ZQZ,]E\\E]L]?]E\\M_S^>^G^F^G^F^G^F^G^F^G^F^G^F^K]:`R`C].].].].].].].]-]ObB]La?`S`>`S`>`S`>`S`>`S`?]J]CcS`?_R_=_R_=_R_=_R_8]6"
+"].]V[R^?_Tb>_Tb>_Tb>_Tb>_Tb>_Tb>_T^V_Q]M_R\\:`Q]=`Q]=`Q]=`Q]?].].].],_T_=]L]=_T_;_T_;_T_;_T_;_T_1^:`T_;^Sa=^Sa=^Sa=^Sa9_6aS^7_  Bi:i:i:i:i=]+`  I],] /["
+",[-].]:]L]<h;]N]7`3q      \"h E] 7]S]=k5]LdIjW^ M],] /]:] 8]1](f9k?n?l/]<j6g7]1j<h9].] LZ PZ(]1]O`U]K]E]Cm8kBn?n?](nE]H]C].].]K^Am>]C]H]K`>kA])kA]J^Cm5"
+"]2j7_2`M`K^J]9]8tC])].]   PgX]>]Xf9h9fX]<k>],fX]?]L]?].].]O^=].]M]M]N]L]<h<]Xf9fX]?]/j9d4gX]:a3_P_D^O^7_8m4]4](]   RfXaBk=^V^3h;j<]L]8_9^L]>qA^U]W]U^D"
+"i<]O`?k=]Xg:h3a7f>uCn?]/eSe;]:]H]7]5k >] :a <a D]-h>n?\\H\\8]4]%] 9^R^   *^R^  Xu  ,q9\\U\\    /]D\\F]LfH]D\\Li>]E]F]E]F]E]F]E]F]E]F]E]F]JnIkBn?n?n?n?].].]."
+"]-n@]K`>k<k<k<k<k=[H[Co<j;j;j;j7]6].]Vf=gX]=gX]=gX]=gX]=gX]=gX]=gTjLh9k<k<k<k?].].].]+h<]L]<h9h9h9h9h Fk:gX]=gX]=gX]=gX]9_6]Xf6_  @e6e6e6e6e;]+_  G\\+["
+" /].]-[,[9]L];e:^N^8`2p       e D] 7]S]<i4\\JbGgT^ M\\,\\ .]:] 8]1]'d8k?n>i-]<i4e6]0h;g8].]   I]0]3]E]Cl6h at l=n?]&jC]H]C].].]J^Bm>]C]H]K`<g?]'g?]I]Bj3]1h6"
+"_2_K_L^I^:]8tC])].]   OdV]>]Wd6f8dW]:i>]+dW]?]L]?].].]N^>].]M]M]N]L];f;]Wd7dW]?]/i7c3dV]9_2_P_E^M^8_8m4]4](]   QdV`B]Xe;d1f8h<]L]8_9]K]>]XdW_ at eWeBg;]O"
+"`=g;]Vd8f1`6d=uCn?]/eSe;]:]H]7]3g <] 9_ :_ C]+f>n>ZFZ7]4]%] 7f   &f  Vu  ,]XdW_9\\U\\    /\\C\\F\\KfH\\C\\Kg=]E]F]E]F]E]F]E]F]E]F]E]F]JnHh at n?n?n?n?].].].]-l>"
+"]K`<g8g8g8g8g J]Vh:h9h9h9h6]6].]Ve;dV]<dV]<dV]<dV]<dV]<dV]<eRiJf7i:i:i:i?].].].]*f;]L];f7f7f7f7f F]Xe7dV]<dV]<dV]<dV]9_6]Wd5_  <\\-\\-\\-\\-\\6]+_  FZ*[ /]"
+".],Z+Z9]L]8`8]L]7^.m       W` A] 7\\R\\7b2]H^BaP_ O].] .]:\\ 7]2^%`6k?n:b*]9c/a5],b6b5].\\   H]/\\4]C]Di0b=h9n?]#c?]H]C].].]I_Dm>]C]H]J_9a<]$d?]I^?c0].b3_2"
+"_K_M^G^;]8tC](]/]   M`T]>]U`2b4`U]7c;])`U]?]L]?].].]M^?].]M]M]N]L]8`8]U`3`U]?],c2a0_T]9_2^N^F^K^8]7m4]4](]   O`R^B]Va8b-`3d:]L]7]9^J]?]V`T]>cUc?c9]N_:"
+"a8]T`3`-_4`<wDn?]/eSe;]:]H]7]0a 9] 8] 8] B])b<n @]4]&^ 5b   \"b  Tu  ,]V`T]8\\U\\    0].].]0b;]C]H]C]H]C]H]C]H]C]H^E^H^JnEb=n?n?n?n?].].].]-h:]J_9a2a2a2a"
+"2a G\\Rb4b3b3b3b3]6].]Vc7`T]:`T]:`T]:`T]:`T]:`T]:aMcEb2c4c4c4c<].].].]'`8]L]8`1`1`1`1` D]Ua2_T]9_T]9_T]9_T]8]5]U`2]      =]                       &[   "
+"O].]  E]  E]         ']    S]        R]      ^       (](]/]        C]  S]    '] V]      F^ 7]4](]   %])[  4]7] @])_Q_:] 9]6]                6[   S]0[R"
+"^           H]%\\U\\ A\\            @\\             /Z            <\\             ,[    M^5](^      =]                       &[   N]0]  D\\  D]         '\\  "
+"  Q^DZ       1]      _       )](]/]        D^  S]    '] V]      F] 6]4](]   %]   ;]7] @] /] 9]6]                6[   S]0g           H]%\\U\\ @\\         "
+"   @\\                          J\\                  X]4](]      <]                       &[   N]0]  D\\  E^         '\\    P^G]       2]      X^       )]"
+"(^0]        D]  R]    '] V]      G^ 6]4](]   %]   ;]7] @] /] 9]6]                6[   S]0e           F]%\\U\\ ?[            ?[                          "
+"I[                  ^4])^      @ZV]                       &[   M]2]  D]  E]         ']    O_K_       3]      V^       *b,]5b        E^  R]    '] V]   "
+"   G^ 6^5])^   %]   ;]7] @] /] 9]6]                6[   S].a           D]%\\U\\ ?\\            @\\                          J\\                 !^4])^     "
+" B\\V]                       &[   M]2]  D\\            G\\    L`P`       2]      U^       +b =b        RZN^  R^    '] V]      H^ 4^6]*^   $]   ;]7] @] /]"
+" 9]6]                6[   S]            J]  :\\            @\\                          J\\                 \"^3]*^      A\\V\\                       %[   L"
+"]4]                   Vm       2^      S^       ,b =b        R\\Q_  R]    &] V]      I^ 3b:].b   $]   ;]7] @] /] 9]6]                6[   S]           "
+" J]  @ZU]            FZU]                          PZU]                 #^2]+^      @b                       %[                       Si       4b     "
+"                  %i  Ua    &] V]      Mb 2a:].a   #]   ;]7] @] /] 9]6]                   .]            J]  @b            Fb                          "
+"Pb                 'b2]       E`                                               Qb       1a                       $g  S`    %] V]      Ma /_:]._   !]  "
+" ;]7] @] /] 9]6]                   .]            J]  @a            Ea                          Oa                 &a1]       D^                       "
+"                                X^                 Ip      Fc  Q^    #] V]      M_  A]    )]   ;]7] @] /] 9]6]                                T]  @`  "
+"          D`                          N`                 %_/]       BZ                                                                        Ap      "
+"                 6]                                                                                                                                   "
+"                                                        p                       6]                                                                    "
+"                                                                                                                                                      "
+"                                                F]']2]    +]']2^ D]']3_   E]']1]   \"]']2^ 8]                             H";
+
+    // Define a 90x103 font (huge size).
+    const char *const _data_font90x103[] = {  // Defined as an array to avoid MS compiler limit about constant string (65Kb).
+      // Start of first string.
+"                                                                                                                                                      "
+"                                                                                                                                                      "
+"                                                                        HX     4V         >X       IX           *W             FW                     "
+"                                                                                                                                                      "
+"                                                                                                                                                      "
+"                                                                                                                     HX  W 4Z 3VCT   <Z     >X  W 4Z  "
+" HX  W 4Z     'VCT ;X  W 3Y 2UCT       KX  W 3Y   0W                                                                                                  "
+"                                                                                                                                                      "
+"                                                                                                                                                      "
+"                                    @W !W 4\\ 5YET ?XHX 8]     >W !W 4\\ 7XGX KW !W 4\\ 7XHX   +YET :W !W 3[ 5ZFT ?XGX     EW !W 3[ 7XGX 5W              "
+"                                                                                                                                                      "
+"                                                                                                                                                      "
+"                                                                                                                        >W \"V 3\\ 7]HU ?XHX 9`     ?W \""
+"V 3\\ 7XGX JW \"V 3\\ 7XHX   -]HU 9W \"V 3] 7]HT ?XGX     DW \"V 3] 8XGX 5V                                                                                "
+"                                                                                                                                                      "
+"                                                                                                                                                      "
+"                                                      <W $V 3VNV 8_KV ?XHX 9`     >W $V 3VNV 8XGX IW $V 3VNV 8XHX   -_KV 8W $V 2] 7_KU ?XGX     CW $V "
+"2] 8XGX 6V                                                                                                                                            "
+"                                                                                                                                                      "
+"                                                                                                                                                :W &W "
+"4VLV :j >XHX :VJV     >W &W 4VLV 9XGX HW &W 4VLV 9XHX   .j 6W &W 3VMV 9i >XGX     BW &W 3VMV 9XGX 7W               MW                                 "
+"                                                                                                                                                      "
+"                                                                                                                                                      "
+"                                                                                      CV 'W 4VJV ;j >XHX ;UGV     >V 'W 4VJV :XGX GV 'W 4VJV :XHX   .j"
+" 5V 'W 3VKV :i >XGX     AV 'W 3VKV :XGX 8W               N[                                                                                           "
+"                                                                                                                                                      "
+"                                                                                                                                                      "
+"                            DV )W 4VHU <VK_ =XHX ;TEU     =V )W 4VHU :XGX FV )W 4VHU :XHX   /VK_ 3V )W 3VIV <UK_ =XGX     @V )W 3VIV ;XGX 9W          "
+"     N]                                                                                                                                               "
+"                                                                                                                                                      "
+"                                                                                                                              DV *V 3UFU =UH\\ <XHX <UD"
+"T     <V *V 3UFU ;XGX EV *V 3UFU ;XHX   /UH\\ 1V *V 2UGU <TH] =XGX     ?V *V 2UGU ;XGX 9V               a                                              "
+"                                                                                                                                                      "
+"                                                                                                                                                      "
+"                                                                         EV ,V 3UDU >TEY ;XHX <TBT     <V ,V 3UDU <XGX DV ,V 3UDU <XHX   /TEY /V ,V 2U"
+"EU =TFZ <XGX     >V ,V 2UEU <XGX :V               Na                                                                                                  "
+"                                                                                                                                                      "
+"                                                                                                                                                      "
+"                     DU -V 3VDV ?TCV :XHX <TBT     ;U -V 3VDV =XGX CU -V 3VDV =XHX   /TCV -U -V 2UCU >TCU :XGX     =U -V 2UCU =XGX ;V               NV"
+"IV                                                                          \"W                                                                        "
+"                                                                                                                                                      "
+"                                                                                                                          JU /V 3VBV     ETBT     :U /"
+"V 3VBV   FU /V 3VBV       (U /V 2UAU         DU /V 2UAU   @V               NVGV                                                                       "
+"   $X                                                                                                                                                 "
+"              *X                                                                                                                                      "
+"                           JX                                GTBT                                                   MX  GX 7V     :UEU     DX  GX 7V  "
+" JX  GX 7W       4X  GX 6V         GX  GX 5V   (X                            &X                                                                       "
+"                                                                                        )X                                                     8V     "
+"                                                                                                      ;X                                FTBT          "
+"                                         LX  IX 7X     <UCU     DX  IX 7X   JX  IX 6W       3X  IX 6X         GX  IX 5X   *X                          "
+"  &Y                                                                                                                                                  "
+"             (X                                                     9V                                                                                "
+"                           <X                                ETBT                                                   KX  KX 6X 1TBT   BTAT     CX  KX 6"
+"Y   JX  KX 6Y     (TBT BX  KX 5X 1TBT       LX  KX 4X   +X                            %T                                                    #W 9W     "
+"                                                                                          3a   :a     <W   2W    >W   E\\   AW ,W ,W ,W ,W             "
+"                HY GV +Y         4Z           NX                 @X                                                                  %W               "
+"                 DUDU                                                 =Y 7W  KW 6Z 4XDT   BTAT     BW  KW 6Z   IW  KW 6[   ,Y )XDT AW  KW 5Z 4XDT     "
+"  KW  KW 4Z   ,W BW                 8V         (S                                             <S       9V 7V                                          "
+"                                                     3a   :a     ;W   3W    >W   H_   AW ,W ,W ,W ,W                             L] GV +]         ;a  "
+"        #[                 F^                                           8XGX                      +W                                BTEU              "
+"                      *R            9a :W  MW 6\\ 6ZET ?XHX <TAT     AW  MW 6\\ 7XGX LW  MW 5[ 7XGX .Y +ZET @W  MW 5\\ 6ZET ?XHX     DW  MW 4\\ 7XHX 0W AW"
+" &XHX               MZ         +T                                   $Y         BS 1W,V MY   8W 7W  T           9X   5Z /[     0Z   8Z /Y           GY "
+"      .\\       <\\               [   4[   :\\              -a   :a     :W   4W    >W   Ja   AW ,W ,W ,W ,W                             N_ GV +_         "
+"?e   8]       J]                 Jb       8[       <[                  $Y       FY 7XGX   =Z         Di 5W   8Z .Y !W         FW *Y   4W)V*W)V-Y(V    "
+"        <UFU   3\\                    +[ 0[ 0[ 0[ 0[   4[=T            <e ;W  W 5\\ 7\\FT ?XHX <TAT     @W  W 6^ 8XGX KW  W 5] 8XGX .Z at R ?\\FT ?W  W 4\\ 7\\"
+"FT ?XHX     CW  W 3\\ 7XHX 1W @W &XHX               N\\         ,T     :U :U5U                            `   EX 2VFV   .S 4]0W\"b DV  V 5V  T         7W"
+" .` 3[ 7c 8d )Z Dq 8b Hy Bb 7`           Na   /Z @k .d Kj ?x Mt 7f MX/X'X -X -X2Z&X -]0]0[3X Dc Ii -c Ij 4f N~W$X/X.X&X.X4Y4XDY/Y/Y,Y'~S%a >W $a  MY  "
+" EW   5W    >W   Kb   AW ,W ,W ,W ,W                            !a GV +a         Ch   =f       ^                 Mf 2Z @x Mx <c 3X C~Q)X?X?X Kc   2T  "
+" .V   .T   CX   $a  !W.W   N` ;XGX ![ Lb       &Z Mi 7[   >a 5a &W   0g    #\\ -_   <\\*V.\\*V0a-V\"X )Z /Z /Z /Z /Z 4WJV 1~U+d Kx Mx Mx Mx MX -X -X -X ,j"
+" @[3X Dc 8c 8c 8c 8c   <cBV.X/X'X/X'X/X'X/X/Y,Y$X &h ;W \"W 5VNV 8]HU ?XHX <TAT     ?W \"W 5VNV 8XGX JW \"W 5VMV 9XGX -ZDV @]HU >W \"W 4VNV 8]HU ?XHX     "
+"BW \"W 3VNV 8XHX 2W ?W &XHX               ^ K~\\       >S   3Q +[ @[;[ ;Q                          ;e   HX 2VFV #VBV FS 6`1V#g GV !V 3V !T         7W 0d"
+" :` ;j ?k -[ Dq :g Ky Df ;d          $f   1Z @o 5j Np Ex Mt :m\"X/X'X -X -X3Z%X -]0]0\\4X Gi Lm 4i Ln ;m#~W$X/X-X(X-X4Y4XCY1Y-Y.Y&~S%a >W $a  N[   EV   "
+"5W    >W   Lc   AW ,W ,W ,W ,W                            \"b GV +a         Dk   Aj      \"_                 h 3Z @x Mx ?i 6X C~Q)X?X?X Ni   6V   /V   /"
+"V   DX   &f  #W0W   e >XGX %c#e       +b\"i 9_   Be 9d 'V   3k    %^ /c   @^*V0^*V2d.V\"X )Z /Z /Z /Z /Z 3b 1~U.j Nx Mx Mx Mx MX -X -X -X ,p F\\4X Gi >i "
+">i >i >i   BiEV.X/X'X/X'X/X'X/X.Y.Y#X 'j ;V \"V 5VLV :_IT >XHX <TAT     >V \"V 5VLV 9XGX IV \"V 4VMV 9XGX ,ZHY A_IT <V \"V 4VLV :_IT >XHX     AV \"V 3VLV 9"
+"XHX 2V >W &XHX              !_ K~[       >T   4R -_ D_?_ >S         =t                Fh   IX 2VFV #VBV FS 7c4V#i HV \"W 3V !T         7V 0f @e >o Co 0"
+"\\ Dq <j Ly Fj ?h          (i  \\ ?Z @r :o\"s Hx Mt <q$X/X'X -X -X4Z$X -]0]0\\4X Im Np 9m Np ?q%~W$X/X-X(X,W5[6XAX1X+X.X%~S%a =V $a  ]   EV   6W    >W   M"
+"d   AW ,W ,W ,W ,W               HW             1b GV +b         Fm   Dm      #`                \"j 4Z @x Mx Am 8X C~Q)X?X?X!m   9X   0V   0X   EX   'h"
+"  $W0W  \"h ?XGX 'g%g       0h%i :a   Cf :f *V   4m    %^ 0e   A^+V/^+V1f1V!X )Z /Z /Z /Z /Z 2` 1~V0o\"x Mx Mx Mx MX -X -X -X ,t J\\4X Im Bm Bm Bm Bm   F"
+"mHV-X/X'X/X'X/X'X/X-X.X\"X (l ;V $V 4UJU :ULXLU >XHX <UCU     =V $V 5VJV :XGX HV $V 4VKV :XGX +ZL\\ AULXLU ;V $V 3UJU :ULXLU >XHX     @V $V 2UJU 9XHX 3V"
+" =W &XHX              !` K~Z       >T   4S /a FaAa @T         @w                Hl   KX 2VFV $WCV ES 8e5V$j HV \"V 1V \"T         7V 2j Eh ?q Dp 1\\ Dq >"
+"l Ly Hn Bj          +l %e E\\ At >s$v Kx Mt >u&X/X'X -X -X5Z#X -^2^0]5X Jo q ;o r Br%~W$X/X-X(X,X6[6XAY3Y+Y0Y%~S%W 3V  IW !_   FW   7W    >W   Md   AW "
+",W ,W ,W ,W               HW             2[ ?V #[         Hn   En      #`                #l 6\\ Ax Mx Cp 9X C~Q)X?X?X\"o   ;Z   1V   1Z   FX  KS 0i  #W2"
+"W LV ,i ?XGX *l'h       3l'i ;c   Dg ;g ,W   6o    %^ 1g   B^,V.^,V0g3V X *\\ 1\\ 1\\ 1\\ 1\\ 2^ 0~V2s$x Mx Mx Mx MX -X -X -X ,v L]5X Jo Do Do Do Do   HpKW"
+"-X/X'X/X'X/X'X/X-Y0Y\"X )n <W &W 5VJV ;TI_ >XHX ;UEU     <W &W 5VIV ;XGX HW &W 5VIV ;XGX *g ?TI_ ;W &W 4VJV ;TI_ >XHX     @W &W 3VJV :XHX 4W =W &XHX   "
+"  1\\ 1\\ 1\\ 1\\ 1\\ =XMV K~Y       =S   4U 1c IdCc AU         Dz                In   LX 2VFV $VBV ES 9g7V$k HV #W 1W #T         8W 3l Fh ?r Eq 3] Dq ?m L"
+"y Ip Em          -n )k H\\ Au Av%x Mx Mt ?x(X/X'X -X -X6Z\"X -^2^0]5X Ls\"s ?s\"s Et%~W$X/X,X*X+X6[6X at Y5Y)Y2Y$~S%W 3W  JW \"a   FW   8W    >W   NZ   6W ,W "
+",W ,W ,W               HW             2X <V  X         H[G[   Go       KZ                %[H[ 7\\ Ax Mx Ds ;X C~Q)X?X?X$s   >\\   2V   2\\   GX  KS 1j  #"
+"W2W LV -j ?XGX +ZEZ)VGY       5ZDZ)i <e   EUFY <UFX -W   7q    %VMU 2YIY   CVMU,V.VMU,V0UFX3V X *\\ 1\\ 1\\ 1\\ 1\\ 1\\ 0~W4v%x Mx Mx Mx MX -X -X -X ,x N]5X"
+" Ls Hs Hs Hs Hs   LsMW,X/X'X/X'X/X'X/X,Y2Y!X *\\G[ <W (W 4UHU <UH] =XHX ;VGV     ;W (W 5VHV ;XGX GW (W 4UGU ;XGX )c =UH] 9W (W 3UHU <UH] =XHX     ?W (W"
+" 2UHU :XHX 5W <W &XHX     5c 8c 8c 8c 8c @WKU J~X       >T   5V 2e KfEe CW         G|                Jp   MX 2VFV $VBV ES 9XIX8V$l HV #V /V #T        "
+" 8V 3n Gh ?s Fr 5^ Dq @n Lx Ir Go          .o -q L^ Bv Cx&z x Mt A{)X/X'X -X -X7Z!X -^2^0^6X Mu#t Au#t Gu%~W$X/X,X*X+X6[6X?X5X'X2X#~S%W 2V  JW #c   FW"
+"   9W    >W   NX   4W ,W ,W ,W ,W               HW             2W ;V  NW         IZCY   Hp       JY                &ZDZ 9^ Bx Mx Eu <X C~Q)X?X?X%u   @"
+"^   3V   3^   HX  KS 2k  \"W4W KV -ZGW ?XGX -X=X+R at W       8X<X  .XIX   FQ at W <Q at W /W   7dGU    %QHU 3XEX   DQHU-V-QHU-V/Q at W5V NX +^ 3^ 3^ 3^ 3^ 2\\ 0~W5"
+"x&x Mx Mx Mx MX -X -X -X ,z!^6X Mu Ju Ju Ju Ju   N}+X/X'X/X'X/X'X/X+X2X X +ZBY ;W *W 4UFU =TF\\ =XHX :VIV     9W *W 5VFV <XGX FW *W 4VGV <XGX (_ :TF\\ 8"
+"W *W 3UFU =TF\\ =XHX     >W *W 2UFU ;XHX 6W ;W &XHX     7h =h =h =h =h DWJV K~X       >T   5W 4g MgFg EY         J~                K]FZ   MX 2VFV $VBV "
+"ES :XGX9V%\\GX HV $W /W 3PATAP         GV 3[H[ Gh ?]F] GZE^ 6^ Dq A]FX Lx I\\F\\ G\\G[          /[H] 0u N^ Bw E_D^&{!x Mt B`C_)X/X'X -X -X8Z X -_4_0_7X N^"
+"E^$u C^E^$u H^E\\%~W$X/X,Y,Y*W7]8X>Y7Y'Y4Y#~S%W 2V  JW $e   FV   9W    >W   NW   3W ,W ,W ,W ,W               HW             2W ;V  NW         IY at X >X "
+"4[AV       IX                &X at X 9^ Bx Mx F^E^ =X C~Q)X?X?X&^E^   B`   4V   4`   IX  KS 3\\GW  \"W4W KV .YBT ?XGX .V7V,P=W       :W8W  /VEV   3V +V /V "
+"  7eGU     KU 3WCW   ;U-V$U-V LV5V NX +^ 3^ 3^ 3^ 3^ 3^ 1~W6_D^&x Mx Mx Mx MX -X -X -X ,{\"_7X N^E^ L^E^ L^E^ L^E^ L^E^  !^Ed*X/X'X/X'X/X'X/X+Y4Y X +Y?"
+"X ;V *V 4UDU >TEZ <XHX 9a     7V *V 4UDV =XGX EV *V 4VEV =XGX )] 7TEZ 6V *V 3UDU >TEZ <XHX     =V *V 2UDU <XHX 6V :W &XHX     9k @k @k @k @k EWJV K~W "
+"      >T   5Y 5g MhHi G[         M~Q                L\\AW   MX 2VFV $VCV DS :WEW:V%ZAU HV $V -V 3RCTCR         HW 4ZDZ H\\LX ?Y?[ HV>\\ 8_ DX )[?T -Y J[B"
+"[ I[CZ          0WAZ 2x ^ BX>^ G]=Z&X=b#X -X '];[)X/X'X -X -X:[ NX -_4_0_7X \\?\\%X@^ E\\?\\%X?] J[=X =X <X/X+X,X)X8]8X=Y9Y%Y6Y )Y$W 2W  KW %ZMZ   FV   :W"
+"    >W   X   3W     4W ,W               HW             3X ;V  NX         KY?X Ca 9Y:R       HX                (X>X :VNV BZ /X '\\?\\ A^ FX0X)X?X?X'\\?\\  "
+" Db   5V   5b   JX  KS 3ZBT  !W6W JV .X?R   4V4U HV       ;V4V  1VCV   4V *U 0V   7fGU     KU 4WAW   <U.V#U.V JU6V MX +^ 3^ 3^ 3^ 3^ 3^ 2XIX F]=Z&X -X"
+" -X -X -X -X -X -X ,X=b$_7X \\?\\ N\\?\\ N\\?\\ N\\?\\ N\\?\\  #\\?`)X/X'X/X'X/X'X/X*Y6Y NX ,Y=W :V ,V 3UDU >TDX   ;a     6V ,V 4UBU   GV ,V 3UCU   0` 6TDX 4V ,V"
+" 2UDU >TDX       >V ,V 1UDU   :V 9W       (o Do Do Do Do GWIU J~V       >T   6Z 6i jIj I\\         N~R                M[=U   MX 2VFV %VBV H] AWCW;V%Y=R"
+" HV %W -V 4UETEU         IV 4ZBZ IWGX ?V;[ IS9Z 9VNX DX *Z;R -X JZ>Y JZ?Y          1U>Z 5`C_#` CX;[ H[7W&X9_$X -X (\\6X)X/X'X -X -X;[ MX -_4_0`8X![;[&X"
+"=[ F[;[&X<[ LZ8U =X <X/X+X,X)X8]8X<X9X#X6X )Z$W 1V  KW &ZKZ   FV   ;W    >W   W   2W     4W ,W               HW             3W :V  MW         KX=W Cc "
+";X7P       HX                (W<W ;WNW BY /X ([;[ Gg JX0X)X?X?X([;[   Fd   6V   6d   KX  KS 4Y>R  !X8X JV /X<P   6V1U IV       <U0U  2UAU   3U *U 1V  "
+" 6fGU     KU 4V?V   <U/V\"U/V IU7V LX ,` 5` 5` 5` 5` 5` 3XIX G[7W&X -X -X -X -X -X -X -X ,X9_%`8X![;[![;[![;[![;[![;[  %[;](X/X'X/X'X/X'X/X)X6X MX ,X;W"
+" :V .V 3UBU ?TBT   7]     3V .V 4VAU   GV .V 3UAU   4d 7TBT 1V .V 2UBU ?TBT       ;V .V 1UBU   <V 8W       )r Gr Gr Gr Gr IVHR GX+W       =S   5[ 7i!k"
+"Jk I]        !^                )Y:T   MX 2VFV %VBV Le EVAV<V$X:P HV %W -W 6WFTFV         IV 4X?Y IRBX ?T7Y IP5Z :VNX DX +Z8P .Y JY<Y KY=X          1S;"
+"Y 6];\\$WNW CX9Z J[4U&X6]%X -X )[2V)X/X'X -X -X<[ LX -XNV6VNX0`8X\"Z7Z'X;Z HZ7Z'X;Z LY4R =X <X/X*X.X(X8]8X<Y;Y#Y8Y *Z#W 1V  KW 'ZIZ   FV   <W    >W   W "
+"  2W     4W ,W               HW             3W :V  MW         KW<X Dd <W       -W                )W;X <WNW AY 0X )Z7Z Jl MX0X)X?X?X)Z7Z   Hf   7V   7f"
+"   LX  KS 4X;P   W8W IV /W   \"V.U JV       >U.U  4VAV &V 5U *U 2V   6gGU     KU 5W?W   =U/V\"U/V IU7V LX ,WNW 5WNW 5WNW 5WNW 5WNW 5WNW 4XHX H[4U&X -X -"
+"X -X -X -X -X -X ,X6]&`8X\"Z7Z#Z7Z#Z7Z#Z7Z#Z7Z  'Z8['X/X'X/X'X/X'X/X)Y8Y MX ,W:W 9V 0V 3U at U     ?[     1V 0V 3U at V   GV 0V 3U?U   8h   1V 0V 2U at U       "
+"  CV 0V 1U at U   >V 7W       *`L` I`L` I`L` I`L` I`L` JV =X,X       >T   6] 9k\"lKl K_        #\\                'Y8S   MX 2VFV %VBV Nk IVAV=V$X 1V %V +V "
+"6YHTHY -V       EW 5Y>Y :X ?R5Z .Y ;VMX DX +Y  DX IY<Y LY;X          2Q8Y 8[5[&WNW CX8Y KZ1T&X4\\&X -X *Z.T)X/X'X -X -X=[ KX -XNV6VNX0a9X#Z5Z(X:Y IZ5Z("
+"X:Z NY1P =X <X/X*X.X'W9WNV:X:Y=Y!Y:Y *Z\"W 1W  LW (ZGZ      -W    >W   W   2W     4W ,W               HW             3W :V  MW         KW;W De =W      "
+" -X                *W:W <VLV @Y 1X *Z5Z Mp X0X)X?X?X*Z5Z   Jh   8V   8h   MX  KS 5Y   :X:X IV /W   #U+T JV       ?U+T  5U?U &V 5U +V     AgGU     KU 5"
+"V=V   =U0V!U0V IV8V KX ,WNW 5WNW 5WNW 5WNW 5WNW 5WNW 4XHX IZ1T&X -X -X -X -X -X -X -X ,X4\\'a9X#Z5Z%Z5Z%Z5Z%Z5Z%Z5Z  )Z5Z(X/X'X/X'X/X'X/X(Y:Y LX -X:W  "
+"        !W                    2\\LZ                          EW       +[@[ K[@[ K[@[ K[@[ K[@[ KV <X-X     /P 0T   7^ 9k\"lLm La        %Z              "
+"  %Z6Q   MX 2VFV %VCV n KWAW>V$X 1V &W +W 5XITIX +V       EV 4X<X :X ?P2Y -X <WMX DX ,Y  CX JY:Y MX9W          2P7Y :Z0Z(WLW DX7X KY.R&X2Z&X -X *Y+R)X"
+"/X'X -X -X>[ JX -XNW8WNX0a9X#Y3Y(X9Y JY3Y(X9Y NX  LX <X/X*X.X'X:VMV:X9X=X NX:X *Z!W 0V  LW )ZEZ      .W    >W   W   2W     4W ,W               HW     "
+"        3W :V  MW         LX;W Df >W       ,W                +W8W >WLW @Y 2X +Z3Z!t\"X0X)X?X?X*Y3Y   Kj   9V   9j     AS 5X   8W:W HV /W   #T)T KV     "
+"  @T(T  6U?U &V 5T +V     AhGU     KU 5V=V   =U0V!U0V JV7V   WLW 7WLW 7WLW 7WLW 7WLW 7XNX 6XGX IY.R&X -X -X -X -X -X -X -X ,X2Z'a9X#Y3Y%Y3Y%Y3Y%Y3Y%Y3"
+"Y  )Y3Z)X/X'X/X'X/X'X/X'X:X Ki >W8V                               *XHZ                          FW       ,Z<Z MZ<Z MZ<Z MZ<Z MZ<Z LV <X.X     .R 2S   "
+"7` :k#nMm Mb        &Z                $Y4P   MX 2VFV &VBV!o KV?V?V#W 0V &V )V 3XKTKX )V       EV 5X:X ;X  X -Y =VLX DX -Y  CY JY:Y NY9X           HX ;"
+"Z-Y)WLW DX7Y MY,Q&X1Z'X -X +Y)Q)X/X'X -X -X?[ IX -XMV8VMX0XNX:X$Y1Y)X9Y KY1Y)X8X NX  LX <X/X)X0X&X:VMV:X9Y?Y NY<Y *Y W 0V  LW *ZCZ      /W    >W   W  "
+" 2W     4W ,W               HW             3W :V  MW         LW:W Dg ?W       ,X                ,W8W >WLW ?Y 3X +Y1Y\"v#X0X)X?X?X+Y1Y   MYNVNY   :V   :"
+"YNVNY     BS 5X   8X<X HV /W   $T?ZBT*c       AT&T  7U?U &V 6U -W     @hGU     KU 6V;V   >U1V U1V KW7V   NWLW 7WLW 7WLW 7WLW 7WLW 7WLW 6XGX JY,Q&X -X "
+"-X -X -X -X -X -X ,X1Z(XNX:X$Y1Y'Y1Y'Y1Y'Y1Y'Y1Y P)P$Y3[)X/X'X/X'X/X'X/X'Y<Y Km BW8W                               +UDZ               7P          1W  "
+"     -Y8Y Y8Y Y8Y Y8Y Y8Y MV ;W.X     /T 4T   7a ;k#nMn Nc 6P :W4W ?Z ?X6X KY                #Y   0X 2VFV &VBV\"p KV?V?V#W 0V 'W )W 2XMTMX 'V       FW "
+"5X:X ;X  Y -X >VKX DX -X  BX IX8X NX7W      KP  1P  =X <Y)X+XLX EX6X NY*P&X0Z(X -X ,Y'P)X/X'X -X -X at Z GX -XMV8VMX0XNX:X%Y/Y*X8X LY/Y*X8Y!X  KX <X/X)X0"
+"X&X:VMV:X8YAY LY>Y *Z W 0W  MW +ZAZ      0W    >W   W   2W     4W ,W               HW             3W :V  MW         LW:W DSF[ @X       -X             "
+"   -X8W ?WJW ?Y 4X ,Y/Y%z%X0X)X?X?X,Y/Y   YMVMY   ;V   ;YMVMY     CS 5X 5P*Q JW<W GV /W   %TBbET/g       BTGb?T  8U?U &V 7U 5_     ?hGU     KU 6V;V   "
+">U2V NU2V$_7V   NXLX 9XLX 9XLX 9XLX 9XLX 8WLW 6XGX KY*P&X -X -X -X -X -X -X -X ,X0Z)XNX:X%Y/Y)Y/Y)Y/Y)Y/Y)Y/Y\"R+R&Y3]*X/X'X/X'X/X'X/X&Y>Y Jp EW:Y     "
+"                          +R at Y               7Q          2W       .XEVFY\"X5Y\"X5Y\"X5Y\"X5Y NV ;X/X     0V 5T   8c <k#nNo e >^ AW4W ?Z >W6W KY           "
+"     \"Y   0X 2VFV &VCW#[LSKZ KV?V at V\"W 0V 'W )W 1XNTNX &V       FW 6Y:Y <X  NX -X ?WKX DX .Y  CY IX8X NX7W      NS  1S  @X =X&X,WJW EX6X NY /X/Y(X -X ,"
+"Y /X/X'X -X -XAZ FX -XMW:WMX0XMX;X%Y/Y*X8Y MY/Y*X8Y!X  KX <X/X)Y1X%W;WMW;W6XAX JX>X *Z NW 0W  MW ,Z?Z      1W    >W   W   2W     4W ,W               H"
+"W             3W :V  MW         LW:W DPAY ?Y       .W                -W6W @WJW >Y 5X ,X-X&_MXM_&X0X)X?X?X,Y/Y  !YLVLY   <V   <YLVLY     DS 6Y 6R,R JX>"
+"W FV /X   'TCfFT2i       CUGfBT  9U?U &V 7U 5]     >iGU     KU 6V;V   >U2V NU2V$]5V   NWJW 9WJW 9WJW 9WJW 9WJW 9WJW 8XFX KY /X -X -X -X -X -X -X -X ,X"
+"/Y)XMX;X%Y/Y)Y/Y)Y/Y)Y/Y)Y/Y#T-T'Y3]*X/X'X/X'X/X'X/X%X>X Ir GW=\\                                GY               9S          3W       /XDVDX$X2X$X2X$X"
+"2X$X2X V ;X0X     0X 7T   8d <k#~`!g Bd DW4W ?[ ?X7W LY                !X   /X 2VFV &VCV#ZJSGV KV?VAV!W 0V 'V 'V /d $V       FV 5X8X <X  NX -X ?VJX DX"
+" .X  BX HX8X Y7X     #V  1V  CX >X$X-WJW EX6X Y .X.Y)X -X -Y .X/X'X -X -XBZ EX -XLV:VLX0XMX;X&Y-Y+X7X NY-Y+X7X!X  KX <X/X(X2X$X<VKV<X6YCY JY at Y +Z MW /"
+"V  MW -Y;Y    \"Z ;WDX 0Z 2XDW >Z <W !X :WDY     IW ,W  HX8X MY 3Z *X 3X &X 7] <W             3W :V  MW       ;X :W:W 4Y @[ )\\ (Y   6X     8QEV     :[ "
+"    JW6W @VIW =Y 6X -Y-Y(]JXJ]'X0X)X?X?X-Y-Y  #YKVKY   =V   =YKVKY     IZ 9X 6T.T JW>W FV .X   (TDgFT3j       CTFhDT  9U?U &V 8U 4\\     =iGU     KU 6V"
+";V   >U3V MU3V#\\5V   MWJW 9WJW 9WJW 9WJW 9WJW 9WJW 8XFX LY .X -X -X -X -X -X -X -X ,X.Y*XMX;X&Y-Y+Y-Y+Y-Y+Y-Y+Y-Y%V/V)Y3_+X/X'X/X'X/X'X/X%Y at Y Is HW?^ "
+"?Z /Z /Z /Z /Z /Z /Z6Y NZ 0Z /Z /Z /Z         8Y 1Y 3Z /Z /Z /Z /Z   3ZCV          5WDX       DXCVCW%X0W%X0W%X0W%X0W V :X1X     0X 7T   9f =k#~`\"h Cf "
+"EW4W @\\ ?X8X LX                !Y   /X 2VFV 'VBV#XHSET KV?VAV!W 0V (W 'W .` \"V       GW 5X8X <X  NX -X @VIX DX .X  BX HX8X X5W     &Y  1Y  FX >W\"W.XJX"
+" FX6X X -X.Y)X -X -X -X/X'X -X -XCZ DX -XLV:VLX0XLX<X&X+X+X7X NX+X+X7X!X  KX <X/X(X2X$X<VKV<X5YEY HYBY +Z LW /W  NW .Y9Y    'b ?WG^ 7b 9^GW A` Gl 2_GW"
+" MWG_ DW ,W ,W8Y MW ,WG^>^4WG_ 9` @WG^ 9^GW MWG\\ ;f Gm <W6W#X2X#W;X;W5Y7Y#W1X\"u 6W :V  MW       >^BV\"W:W 3X ?^ 0e AWG_ KV.X ?X <W6W   HTG[ K}!WCWCW Ca"
+" 7p&{ NW6W AWHW >Z 7X -X+X)\\HXH\\(X0X)X?X?X-X+X  $YJVJY   >V   >YJVJY     Ma =X 7V0V JW at W EV .Y   *TEiET5k       DTEiDT  :VAV &V 9U 3_   ;W6W NiGU     "
+"KU 6V;V   >U3V MU3V#_8V   NXJX ;XJX ;XJX ;XJX ;XJX ;XJX :XEX LX -X -X -X -X -X -X -X -X ,X.Y*XLX<X&X+X+X+X+X+X+X+X+X+X&X1X*X3`+X/X'X/X'X/X'X/X$YBY Ht "
+"IW at _ Cb 7b 7b 7b 7b 7b 7b>a'b 7` 5` 5` 5` AW ,W ,W ,W  DY EWG_ 9` 5` 5` 5` 5` (Z <`GV W6W MW6W MW6W MW6W#W1X NWG^ HW1X     NWBVBW&W.W&WJP:PJW&W4PJW&W."
+"W!V :X2X     0X 6S   8g >k#~`#j Fj GW4W @\\ >W8W LX                 X   .X 2VFV 'VBV$XGSCR KV?VBV X 1V (W 'W ,\\  V       GW 5X8X <X  NX -X AWIX DX /X  "
+"BY HX8X X5W     ([  1[  HX ?W W/WHW FX6X!Y -X-Y*X -X .Y -X/X'X -X -XDZ CX -XLW<WLX0XKW<X'Y+X+X7X Y+X+X7X!X  KX <X/X'X4X#X<VKV<X4XFY FXBX *Y KW /W  NW "
+"/Y7Y    +g AWIb ;f =bIW De Il 3bIW MWIc FW ,W ,W9Y LW ,WIbBb6WIc >f CWIb =bIW MWI^ =j Im <W6W\"W2W\"W<Z<W4X7X!W2W!u 6W :V  MW       @bEW\"W:W 2X @c 8j CW"
+"Ic MX0W =W <W6W IW/W\"VI^ L}!WCWCW Ee =t&{ W4W BWHW =Y 7X .X*Y*ZFXFZ(X0X)X?X?X.Y+X  #WIVIW   =V   =WIVIW     f ?X 8X2X KW at W EV .Z   +SE[GVDS6ZDV       "
+"DSDVDXDS  9UAU %V :U 2`   <W6W NiGU     KU 6V;V   >U4V LU4V\"`:V GX /WHW ;WHW ;WHW ;WHW ;WHW ;WHW :XEX MY -X -X -X -X -X -X -X -X ,X-Y+XKW<X'Y+X,Y+X,Y+"
+"X,Y+X,Y+X'Z3Z,Y4WNY,X/X'X/X'X/X'X/X#XBX Gu JWB\\ Ag <g <g <g <g <g <gBe+f <e :e :e :e CW ,W ,W ,W  Mc FWIc >f ;f ;f ;f ;f +Z >eJU NW6W MW6W MW6W MW6W\"W"
+"2W MWIb IW2W     NWAVAW(W,W(WJR<RJW(W4RJW(W,W\"V 9W2X     1X 6T   9i ?k#~`#k Hl HW4W @] ?X9W LW                 NX   .X 2VFV 'VCW$WFSAP KV?VBV NW 1V (V"
+" &W *X  MV       GV 5X6X =X  NX -X AVHX DX /X  BX GX8X X5X     ,^  1^  LX ?W MW0WHW FX6X!X ,X-Y*X -X .X ,X/X'X -X -XEZ BX -XKV<VKX0XKX=X'Y+Y,X7X Y+Y,X"
+"7X!X  KX <X/X'X4X\"W=WKV<W3YGY FYDY +Z KW .V  NW 0Y5Y    /l CWJe ?j AeJW Eh Kl 5eJW MWJe GW ,W ,W:Y KW ,WJdDd7WJe @h DWJe AeJW MWJ_ ?l Im <W6W\"W2W!W=Z="
+"W2X9X W2W!u 6W :V  MW       BeFV!W;X 1W ?f =k CWJe NY2X =X =W6W JW-W$WI` N}!WCWCW Gi Av&{ W4W BVGW <Y 8X .X)X+ZEXEZ)X0X)X?X?X.Y+Y  #UHVHU   <V   <UHVH"
+"U    !j AX 9Z4Z KWBW DV -Z   -TFY at RDT8XAV       ETDVBWET  :VCV %V ;V )X   =W6W NiGU     KU 6V;V   >U5V KU5V GX<V FX /WHW ;WHW ;WHW ;WHW ;WHW ;WHW :WDX"
+" MX ,X -X -X -X -X -X -X -X ,X-Y+XKX=X'Y+Y-Y+Y-Y+Y-Y+Y-Y+Y'Z5Z+Y5WMY,X/X'X/X'X/X'X/X#YDY GX@^ KWCZ Al Al Al Al Al Al AlFh.j ?h =h =h =h EW ,W ,W ,W !g"
+" GWJe @h =h =h =h =h ,Z @hLV NW6W MW6W MW6W MW6W\"W2W MWJe KW2W     W at VAW)W+W)WJT>TKW)W4TKW)W+W\"V 9X3X     2X 5T   :k ?i\"~`$m Jn IW4W A^ ?X:X MW       "
+"          NY   .X 2VFV 7~X2XFS <V?VCV MX 2V )W %W +X  MV       GV 5X6X =X  NX -X BVGX DX /X  BX GX8X X5X LX -X  7a  1a  X @W KW2XHX GX6X!X ,X,X*X -X ."
+"X ,X/X'X -X -XFZ AX -XKV<VKX0XJW=X'X)X,X7X X)X,X7X!X  KX <X/X'X4X\"X>VIV>X2YIY DYFY +Z JW .V  NW 1Y3Y    1n DWLh Bm ChLW Gk Ll 6hLW MWKg HW ,W ,W;Y JW "
+",WKfGg8WKg Cl FWLh ChLW MWK` @m Im <W6W\"X4X!W=Z=W1X;X NW3X!u 6W :V  MW       CgGV!W;W 0X ?g Am CWKg [4X >Y =W6W JW-W&YJb }!WCWCW Hk Dx&{ W4W CWFW <Y 9"
+"X /Y)X,ZDXDZ*X0X)X?X?X.X)X P #SGVGS %P 7V 9P0P CSGVGS    !l BX 8ZGWFZ JWCX DV ,Z   .SEW<PCS8V?V .P>P     JSCVAVDS  :WEV $V <V &W   >W6W NiGU     KU 6V"
+";V BP>P /U5V KU5V EW=V FX 0XHX =XHX =XHX =XHX =XHX =XHX <XDX MX ,X -X -X -X -X -X -X -X ,X,X+XJW=X'X)X-X)X-X)X-X)X-X)X&Z7Z*X5WKX,X/X'X/X'X/X'X/X\"YFY F"
+"X=[ KWDY @n Cn Cn Cn Cn Cn CnHj1m Bk @k @k @k FW ,W ,W ,W $j GWKg Cl Al Al Al Al .Z Bs MW6W MW6W MW6W MW6W\"W3X MWLh LW3X     V?V at W*V)W*VJV at VKW*V4VKW*V"
+")W#V 9X4X     2X 4S   :l ?i\"~`%o Lp JW4W A^ >W:X MW                 NX   -X 2VFV 7~X2WES <V?VDV LX 2V )W %W -\\  V       HW 5X6X =X  NX .X BWGX DX 0X  "
+"BY FX:X NX5X LX -X  :d  1d $Y @V IV2WFW GX6X\"Y ,X,Y+X -X /Y ,X/X'X -X -XH[ @X -XKW>WKX0XJX>X(Y)X,X7X!Y)X,X7X!Y  LX <X/X&X6X!X>VIV>X1YKY BXFX +Z IW .W "
+" W 2Y1Y    2o EWMj Dn DjMW Hn Nl 7jMW MWLi IW ,W ,W<Y IW ,WLhIi9WLi En GWMj EjMW MWLa An Im <W6W!W4W W=Z=W1Y=Y MW4W u 6W :V  MW       DiIV W;W /W =g C"
+"m CWLi![4W =Y =W6W KW+W(ZKd!}!WCWCW Im Fy&{ W4W CWFW ;Y :X /X'X-YCXCY*X0X)X?X?X/Y)X!R #QFVFQ $R 9V :R1R DQFVFQ    \"n BX 7ZJ\\JZ HWDW CV +[   1TFW.T:W?V"
+" /Q?Q     KTCVAWET  :XIX $V =V #U   >W6W NiGU     KU 6V;V BQ?Q 0U6V JU6V BU>V EX 0WFW =WFW =WFW =WFW =WFW =WFW <XDX NY ,X -X -X -X -X -X -X -X ,X,Y,XJ"
+"X>X(Y)X.Y)X.Y)X.Y)X.Y)X%Z9Z*Y6WJX,X/X'X/X'X/X'X/X!XFX EX;Z LWDX ?o Do Do Do Do Do DoKn4n Cn Cn Cn Cn HW ,W ,W ,W %l HWLi En Cn Cn Cn Cn /Z Cs LW6W MW6"
+"W MW6W MW6W!W4W LWMj LW4W     W?V?V+W(V+WKXBXKV+W5XKV+W(V$W 8W4X     2X 5T   ;n ?g!~_%p LZDZ JW4W A^ >W:W MW                 MX   -X 2VFV 7~X2WES <WAW"
+"DV KX 3V )W %W /` \"V       HV 4X6X =X  Y .X BVFX DX 0X  BX EX:X NX5X LX -X  <e  /e 'Y @V GV4XFX HX7X!X +X+X+X -X /X +X/X'X -X -XI[ ?X -XJV>VJX0XIW>X(X"
+"'X-X7X!X'X-X7X!Y  LX <X/X&X6X!X>VIV>X1YKY AXHX +Z HW -V  W 3Y/Y    3p FWMk Fo EkMW Io Nl 8kMW MWMk JW ,W ,W=Y HW ,WMjJj:WMk Gp HWMk GkMW MWMb Bo Im <W"
+"6W!W4W W>\\>W0X=X LW5X u 6W :V  MW       EkJV W<X /W >j Fn CWMk\"\\6X =Z >W6W KW+W)[Ke\"}!WCWCW Jo Hz&{ W4W DWDW ;Y ;X /X'X.YBXBY+X0X)X?X?X/X'X#T  HV  IT "
+":V ;T3T :V   CV +o BX 6ZM`MZ GXFX CV *\\   3SFW,S:V>V 0R at R     KSBV at VDS  9e #V ?W \"V   ?W6W NiGU     KU 6V;V BR at R 1U6V JU6V BV?V EX 1XFX ?XFX ?XFX ?XFX"
+" ?XFX ?XFW =XCX NX +X -X -X -X -X -X -X -X ,X+X,XIW>X(X'X/X'X/X'X/X'X/X'X%Z;Z)X5VHX-X/X'X/X'X/X'X/X XHX DX:Y LWEX >p Ep Ep Ep Ep Ep EpMp6o Do Do Do Do"
+" HW ,W ,W ,W 'o IWMk Gp Ep Ep Ep Ep 0Z Ds KW6W MW6W MW6W MW6W!W5X LWMk MW5X     V>V?W,V'W,VKZDYKW,V5YKW,V'W%W 8X5W     2X 4T   ;o @g ~^%q NY at Y KW4W B`"
+" ?X<X MV                 LX   -X 2VFV 7~X2WES ;VAVDV JY 4V )V $W 1d $V       HV 4X6X =X  X .Y CWFX DXLY =XEX 'Y EY<X MX5X LX -X  ?e  )e +Y ?V:X6V4WDW "
+"HX7X!X +X+X+X -X /X +X/X'X -X -XJ[ >X -XJW at WJX0XIX?X(X'X-X7X!X'X-X8Y Y  MX <X/X%W6X W?WIV>W/YMY @YJY +Y GW -V  W 4X+X    4YE\\ FWNXG\\ H]EX F\\GXNW J\\F[ "
+"GW ,\\GXNW MWNXG[ JW ,W ,W?Z GW ,WNXH[KXH[:WNXG[ H]H] IWNXG\\ I\\GXNW MWNXFQ C\\CW CW ,W6W!X6X NW?\\?W.X?X JW6W 1X 6W :V  MW     9X=X\"[IZKW W=Y /W @m H]DV "
+"CWNXG[\"\\6W =[ >W6W LW)W*ZJWKY\"}!WCWCW K\\H] J{&{ V3W DWDW :Y <X /X'X.XAXAX+X0X)X?X?X/X'X$V  IV  JV ;V <V5V ;V   CV ,^MSKW BX 5x EWFW BV ,_   5TFW,S:V?W"
+" 1SAS     LTBV at VDS  9d \"V @W  U   ?W6W NiGU     KU 5V=V ASAS 2U7V IU7V @U at V DX 1WDW ?WDW ?WDW ?WDW ?WDW ?XFX >XCX NX +X -X -X -X -X -X -X -X ,X+X,XIX?"
+"X(X'X/X'X/X'X/X'X/X'X$Z=Z(X6WHX-X/X'X/X'X/X'X/X YJY DX9Y MWEW =YE\\ EYE\\ EYE\\ EYE\\ EYE\\ EYE\\ EYE]N\\G[7]EX E\\F[ F\\F[ F\\F[ F\\F[ IW ,W ,W ,W (p IWNXG[ H]H"
+"] G]H] G]H] G]H] G]H] 1Z E]H^ JW6W MW6W MW6W MW6W W6W KWNXG\\ MW6W     NV>V>V,V&V,VJZFYIV,V6YIV,V&V%W 7W6X     3X LR:T   ;q @e N~^&s!Y>Y LW4W B` >W<X N"
+"W                $x   FX 2VFV 7~X2WES ;VAVEW IY 5V *W #W 4XNTNX &V       IW 5X5X =X  X .X CWEX Di AXH_ +X CX<X MX5X LX -X  Be  #e /Z @V<^IUDV5WDW HX8Y"
+"!X +X+X+X -X /X +X/X'X -X -XK[ =X -XIV at VIX0XHW?X(X'X-X7X!X'X-X8X NZ  NX <X/X%X8X NX at VGV@X.c >XJX +Z GW -W !W 5X)X    5U>Z G_CZ I[>T FZC_ KZAZ HW -ZB_ "
+"M^BZ KW ,W ,W at Z FW ,^CZMVCZ;^BZ IZBZ I_CZ IZC_ M^ 5Y<S CW ,W6W W6W MW?\\?W.YAY JW6W 2Y 6W :V  MW     ;\\A\\%YDYLV NW>Y .W AXJa IZ<Q C^BZ MX8X =\\ ?W6W LW)"
+"W+YIXJY LW=W JWCWCW LZBZ K]F] ;W >W2W EWDW 9Y =X /X'X/YAXAY,X0X)X?X?X/X'X%X  JV  KX <V =X7X <V   CV -\\JSHT BX 4v DXHX BV -b   7SEV*S;V?W 2TBT     LSAV"
+"@VCS  9b !V AV  MU   ?W6W MhGU     KU 5V=V ATBT 3U8V HU8V ?UAV CX 1WDW ?WDW ?WDW ?WDW ?WDW ?WDW ?XBX NX +X -X -X -X -X -X -X -X ,X+X,XHW?X(X'X/X'X/X'X"
+"/X'X/X'X#Z?Z'X7WGX-X/X'X/X'X/X'X/X NXJX CX9Y MWFW <U>Z FU>Z FU>Z FU>Z FU>Z FU>Z FU>eBZ9[>T FZAZ HZAZ HZAZ HZAZ JW ,W ,W ,W )r J^BZ IZBZ GZBZ GZBZ GZBZ"
+" GZBZ 1Z EZB[ JW6W MW6W MW6W MW6W W6W K_CZ MW6W     V=V>V-V%V-VHZHYHV-V6YHV-V%V%W 7X7X     4X NU:T   <s Ae N~^'u\"X<X LW4W BWNW >W<W MW                "
+"$w   EX   2~X2WES ;WCWEV GY   9W #W 5XMTMX 'V       IV 4X4X >X !Y 0Y BVDX Dk CXJc -X BX>X LX5Y MX -X  Ee   Le 3Z ?U=bKUCU6XDX IX9Y X +X+X+X -X /X +X/X"
+"'X -X -XL[ <X -XIV at VIX0XHX@X(X'X-X8Y!X'X-X8X N[  X <X/X%X8X NX at VGV@X.c =XLX +Z FW ,V !W       AR9Y H]?Y KZ:R GY?] LY=Y IW -Y?] M]@Y KW ,W ,WAY DW ,]@X"
+"NV at X;]@Y JY>Y J]?Y KY?] M] 4X8P CW ,W6W X8X MW?\\?W-XAX IW7X 3Y 5W :V  MW     =_C_(YBXLV NW?Z -W CXC\\ KY ,]@Y LW8X >] ?W6W LW)W,YHWHY MW=W JWCWCW MY>Y "
+"L[B[ ;W >W2W FWBW 9Y >X 0X%X0X at X@X,X0X)X?X?X/X'X&Y  JV  KY =V >Y7Y =V   CV .[HSFR BX 3t BWHW AV .WN\\   9SFV)S;V?W 3UCU     LSAV at VCS  7_  V BV  LU   ?W"
+"6W MhGU     KU 5W?W AUCU 4U8V HU8V ?UAV CX 2XDX AXDX AXDX AXDX AXDX AXDX @XBX NX +X -X -X -X -X -X -X -X ,X+X,XHX at X(X'X/X'X/X'X/X'X/X'X\"ZAZ&X8WFX-X/X'"
+"X/X'X/X'X/X MXLX BX8X MWFW <R9Y GR9Y GR9Y GR9Y GR9Y GR9Y GR9a>Y;Z:R GY=Y JY=Y JY=Y JY=Y KW ,W ,W ,W *]E[ J]@Y JY>Y IY>Y IY>Y IY>Y IY>Y 2Z FY>Y JW6W MW"
+"6W MW6W MW6W W7X K]?Y NW7X     V=V=U-V$U-VGZJYFU-V7YFU-V$U%W 7X8X    &~X/X:T   =t @c L~\\'v\"W:W LW4W CXNX ?X>X MV                $x   EX   2~X2WES :VDW"
+"EV FZ   :W #W 7XKTKX )V       IV 4X4X >X !X 0Y BWDX Dm FXKf /Y AYBY KX5Y MX -X  Gd ~X d 5Y ?V>dLUCU6WBW IX;Z Y +X+Y,X -X 0Y +X/X'X -X -XM[ ;X -XIWBWIX"
+"0XGW at X)Y'Y.X8X!Y'Y.X9Y M] #X <X/X$X:X MX at VGV@X-a <YNY ,Z EW ,V !W       AP6X H\\=Y LY7P HY=\\ LX;X IW .Y=\\ M[=X KW ,W ,WBY CW ,[=]=W;[=X KY<Y K\\=Y MY=\\ "
+"M\\ 4X *W ,W6W NW8X MW at VNV@W,XCX GW8W 3Y 4W :V  MW     >aEa)X at XNW NWA[ ,W DW?[ LX +[=X KW:X =] ?W6W MW'W-XGWGX MW=W JWCWCW MX<Y NZ>Z <W >W2W FWBW 9Z ?X"
+" 0X%X0X at X@X,X0X(X at X@X/Y'Y(Y  IV  JY >V ?Y5Y >V   CV .YFSDP BX 2q @XJX AV /WK[   :SFV)S;V at X 4VDV     LSAV at VCS  6\\  MV CV  KU   ?W6W MhGU     KU 4V?V @V"
+"DV 5U9V GU9V >UBV BX 2WBW AWBW AWBW AWBW AWBW AXDX @XBX Y +X -X -X -X -X -X -X -X ,X+Y-XGW at X)Y'Y1Y'Y1Y'Y1Y'Y1Y'Y\"ZCZ&Y9WEY.X/X'X/X'X/X'X/X MYNY BX8Y N"
+"WFW <P6X GP6X GP6X GP6X GP6X GP6X GP6_<X;Y7P GX;X JX;X JX;X JX;X KW ,W ,W ,W *Z?Y K[=X KY<Y KY<Y KY<Y KY<Y KY<Y 3Z GY<Y KW6W MW6W MW6W MW6W NW8W J\\=Y "
+"NW8W     NV=V=V.V$V.VFZLYEV.V8YEV.V$V&W 6W8X    &~X2\\<T   =v Ab K~\\(x$W8W MW4W CXNX ?X>X NW                $w   DX   $VBV#XFS :WFXEV H]   ;W #W 9XITIX"
+" +V       JW 4X4X >X \"Y 3[ BWCX Dn GXLi 1X ?ZFZ JY7Z MX -X  Je M~X Me 9Y >U?gMUCV7WBW IX>\\ NX *X*X,X -X 0X *X/X'X -X -XNZ 9X -XHVBVHX0XGXAX)X%X.X9Y!X%"
+"X.X:Y La 'X <X/X$X:X LWAWGV at W+_ :XNX ,Z DW ,W \"W       &W H[;X MY .X;[ MX9X JW .X;[ M[<X LW ,W ,WCY BW ,Z<\\<X<[<X LX:X K[;X MX;[ M[ 3W )W ,W6W NW8W KW"
+"AVNVAW*XEX FW9X 4Y 3W :V  MW     ?cGc+Y?WNV MWD] +W DV=Z LX +Z;X LW:X >_ @W6W MW'W.YGWFX NW=W JWCWCW NX:X NY<Y <W >W2W FWBW 8Z @X 0X%X0X at X@X,X0X(X at X@X"
+"/X%X)Y  HV  IY ?V @Y3Y ?V   CV /YES 6X 1\\H[ JcJc LV 0WI\\   =TFV)S;WAX 5WEW     MTAVAWCS  3W 4~W.W  KV   ?W6W LgGU     KU 4WAW @WEW 6U9V GU9V ?VBV BX 2"
+"WBW AWBW AWBW AWBW AWBW AWBW AXAX X *X -X -X -X -X -X -X -X ,X*X-XGXAX)X%X1X%X1X%X1X%X1X%X!ZEZ%X9WCX.X/X'X/X'X/X'X/X LXNX AX7X NWFW !W ,W ,W ,W ,W ,W "
+",]:X=Y .X9X LX9X LX9X LX9X LW ,W ,W ,W +Z=X K[<X LX:X KX:X KX:X KX:X KX:X 3Z GX<Z KW6W MW6W MW6W MW6W NW9X J[;X NW9X     NU<V=V.U#V.UDZNYDV.U8YDV.U#V&"
+"V 5X9W    %~X3]<T   >x A` J~\\(y%W8W MW4W CXMW >W>W MV                $x   DX   $VCV\"XFS 9XIXEV H_   <W #W ;YHTHY -V       JV 3X4X >X #Y ?g AVBX Do HXM"
+"k 3Y >l HX7Z MX -X  Me J~X Je =Y >V?hNUBU8XBX Ju MX *X*X,w Lq IX *~R'X -X -c 8X -XHVBVHX0XFWAX)X%X.X9Y!X%X.X;Z Ke ,X <X/X$X:X LXBVEVBX+_ 9` +Y CW +V \""
+"W       %W IZ9X NX .X9Z MW7W JW /X9Z MZ;X LW ,W ,WDY AW ,Z;[;W<Z;X MY:Y LZ9X X9Z MZ 2W )W ,W6W NX:X KWAVNVAW*YGY EW:W 4Z 3W :V  MW     ?XMYIe,X>WNV MW"
+"Ib +W EW;Y MW *Z;X KV:W =_ @W6W NW%W/XFWFX NW=W JWCWCW NW8X!Y:Y =W >| GW at W 8Y @X 0X%X1Y at X@Y-X0X(X at X@X/XImIX*Y  GV  HY @V AY1Y @V   CV /XDS 6X 0YDY JdL"
+"d LV 1WF[   >SFV'S<WBY 6XFX     MS at VAVAS    @~W/W  JU   >W6W LgGU     KU 3WCW ?XFX 7U:V FU:V >UBV AX 3XBX CXBX CXBX CXBX CXBX CXBX BXAw?X *w Lw Lw Lw "
+"LX -X -X -X ,X*X-XFWAX)X%X1X%X1X%X1X%X1X%X ZGZ$X:WBX.X/X'X/X'X/X'X/X K` @X7X NWFW  W ,W ,W ,W ,W ,W ,[8W=X -W7W LW7W LW7W LW7W LW ,W ,W ,W ,Y:X LZ;X M"
+"Y:Y MY:Y MY:Y MY:Y MY:Y  \"Y=\\ LW6W MW6W MW6W MW6W MW:W IZ9X NW:W     NV<V=V/V#V/VCcCV/V9YCV/V=X>V&V 4W:X    %~X2TNV<S   =y KWM^LW$~Z({&W7V MW4W CWLX ?"
+"X?W MV                 KX   ,X   %VBV!XGS 9gFV Ha   >W \"W ;WFTFW -V       JV 3X4X >X #Y ?f AWBX Dp IXNm 4X <j GX7Z MX -X !e G~X Ge AY =U?ZH^BU8W at W Jt "
+"LX *X*X,w Lq IX *~R'X -X -b 7X -XHWDWHX0XFXBX)X%X.X:Y X%X.X<Z Ih 0X <X/X#X<X KXBVEVBX*] 8` ,Z CW +V \"W       %W IZ9X X -X9Z NX7X KW /X9Z MY9W LW ,W ,W"
+"EY @W ,Y:Z:W<Y9W MX8X LZ9X X9Z MY 1W )W ,W6W MW:W JWAVNVAW)XGX DW:W 4Y 3X :V  MW     @VHXKWGV,W<^ MWIa *W FW9Y NW *Y9W KW<X >` @W6W NW%W/WEWEW NW=W JW"
+"CWCW X8X!X8X =W >| GW at W 7Y AX 0X%X1X?X?X-X0X(X at X@X/XImIX+Y  FV  GY AV BY/Y AV   DX 1XCS 6X 0W at X KdLd LV 1VCZ   ?SFV'S;WE[ 7XFX G~X  .S at VBWAS    @~W0W "
+".P>W   >W6W KfGU     KU 3XEX >XFX 8U;V:W3U;VCZ9P>WCV:W/Y 3W at W CW at W CW at W CW at W CW at W CXBX CX at w?X *w Lw Lw Lw LX -X -X -X 5p9X-XFXBX)X%X1X%X1X%X1X%X1X%X N"
+"ZIZ#X:VAX.X/X'X/X'X/X'X/X K` @X7X NWFW  W ,W ,W ,W ,W ,W ,[8X?X -X7X NX7X NX7X NX7X MW ,W ,W ,W ,X9X LY9W MX8X MX8X MX8X MX8X MX8X  \"X=] LW6W MW6W MW6"
+"W MW6W MW:W IZ9X NW:W     NVLuKU/VLuKU/VBaAU/V:YAU/V=X=U&V 4X;X    %~X2RLW>T   >{!z'~Z)}(W6W NW4W DXLX ?X at X MV                 KX   ,X   %VBV!YHS 8eEV"
+" Ic   ?W !W ;UETEU ,V       KW 3X4X >X $Y >c ?WAX DWD^ JbG] 5X 9d DY9[ MX -X #d D~X Dd DY <U at YD\\BU9X at X Kq IX *X*X,w Lq IX *~R'X -X -a 6X -XGVDVGX0XEWB"
+"X)X%X.X;Z X%X.X?\\ Gk 4X <X/X#X<X KXBVEVBX)[ 6^ ,Z BW +W #W       %W IY7W X -W7Y NW5W KW 0X7Y MY9W LW ,W ,WFY ?W ,Y:Z:W<Y9W MW6W LY7W W7Y MY 1W )W ,W6W"
+" MW:W JWBVLVBW(XIX CW;X 5Y 2X :V  MX     BUDVKVDU.X<] LWI_ :WEW FV7X NW *Y9W JV<X >a AW6W NW%W0XEWEX W=W JWCWCW W6W!X8X =W >| HX at X 7Y BX 0X%X1X?X?X-X0"
+"X(X at X@X/XImIX,Y  EV  FY BV CY-Y BV   DX 1XCS 6X 1W>W KeNe LV 1VB[   ASFV'S;YI] 9YGY F~X  .S at VDX@S    @~W1V ,TEZ   >W6W JeGU IX   +U 2YIY <YGY :U;V:W3U"
+";VGa<TEZCV:W/X 3X at X EX at X EX at X EX at X EX at X EX at X DX at w?X *w Lw Lw Lw LX -X -X -X 5p9X-XEWBX)X%X1X%X1X%X1X%X1X%X MZKZ\"X;WAX.X/X'X/X'X/X'X/X J^ ?X7X NWFX !W "
+",W ,W ,W ,W ,W ,Z6W?X -W5W NW5W NW5W NW5W MW ,W ,W ,W -X7W LY9W MW6W MW6W MW6W MW6W MW6W  \"W=^ LW6W MW6W MW6W MW6W MW;X IY7W NW;X     NVLuKU/VLuKU/VA_"
+"@U/V;Y at U/V=X=U&V 4X<X    $~X,W>T   ?|\"}(~X)~(W6W NW4W DXKW >W at X MV                 KX   ,X   %VBV!ZIS 7cEV IYNZ8W  0W !W :RCTCR +V       KW 3X4X >X %Y"
+" =b >V at X DS=\\ K`C[ 6Y 8b BX9[     Nd A~X Ad HY <VAX at ZBV:X?W Kq IX *X*X,w Lq IX *~R'X -X -a 6X -XGVDVGX0XEXCX)X%X.X=[ NX%X.u Fl 6X <X/X\"W<W IWCWEVBW([ "
+"5\\ ,Z AW +W #W       $V IY7X\"X -X7Y NW5W KW 0X7Y MX8X MW ,W ,WHZ >W ,X8X8W=X8X X6X MY7X\"X7Y MX 0W )W ,W6W MX<X IWCVLVCW&XKX AW<W 5Y 1W 9V  LW  4P  /TB"
+"VMVBT.X;\\ LWI` =\\HW GW7X NW *X8X KV=X >XMW AW6W NW%W0XEWDW W=W JWCWCW!X6X#X6X >W >| HW>W 6Y CX 0X%X1X?X?X-X0X'XAXAX.XImIX-Y  DV  EY CV DY+Y CV   DX 2X"
+"BS 6X 1V<V KeNe LV 2V?Y   ASFV'S:dNV :XFY E~X  .S at i?S    @~W2i >h   =W6W JeGU IX   4g :g :YFX DgEV:X<gEVHe>hCV:X/X 3X?W EX?W EX?W EX?W EX?W EX at X EX?w?"
+"X *w Lw Lw Lw LX -X -X -X 5p9X-XEXCX)X%X1X%X1X%X1X%X1X%X LZMZ!X<W at X.X/X'X/X'X/X'X/X I\\ >X7X NWFY !V +V +V +V +V +V +Y6W at X ,W5W NW5W NW5W NW5W MW ,W ,W"
+" ,W -X7X MX8X X6X X6X X6X X6X X6X  $X=_ MW6W MW6W MW6W MW6W LW<W HY7X NW<W     MVLuKU/VLuKU/V@]?U/V<Y?U/V=X=U&V 3W<X    $~X+V>S   >}%~R)~V(~P)W6W NW4W"
+" DWJX ?XAW L~^               $X   ,X   %VCV N\\LS 6aDVAW0XLZ9W  0W !W :PATAP +V       KV 2X4X >X &Z =e BW at X DP8[ L^?Z 7X :h EY;\\    \"d >~X ?e LY ;U at W>Y"
+"AU:W>W Ks KX *X*X,w Lq IX6f+~R'X -X -b 7X -XGWFWGX0XDWCX)X%X.X@^ NX%X.s Bl 8X <X/X\"X>X IXDVCVDX)[ 4\\ -Z @W *V #W       $W JX5W\"X -W5X W4W KW 0W5X MX7W"
+" MW ,W ,WIZ =W ,X8X8W=X7W W4W MX5W\"W5X MX 0X *W ,W6W LW<W HWCVLVCW&YMY AW=X 6Y 1X 9V  LX 1X.Q  /TA]AU/W:\\ LWIb A`JW GV5X NW +X7W KW>X >XMX BW6W W#W1WD"
+"WDW W=W JWCWCW!W4W#X6X >W >| HW>W 7Y BX 0X%X1X?X?X-X0X'XAXAX.XImIX.Y  CV  DY DV EY)Y DV   DX 2XBS 6X 2W<W =^ =V 2V>Y   BSFV'S9bMV ;XFY D~X  .S at h>S    "
+"@~W2i >g   <W6W HcGU IX   4g 9e 8YFX EgEV;Y<gEVHf?gBV;Y0Y 3W>W EW>W EW>W EW>W EW>W EW>W EX?w?X *w Lw Lw Lw LX -X -X -X 5p9X-XDWCX)X%X1X%X1X%X1X%X1X%X "
+"Ke X=W?X.X/X'X/X'X/X'X/X I\\ >X7X NWEY \"W ,W ,W ,W ,W ,W ,X5W at X -W4W W4W W4W W4W MW ,W ,W ,W -W6X MX7W W4W W4W W4W W4W W4W  $W=VMW MW6W MW6W MW6W MW6W "
+"LW=X HX5W NW=X     MVLuKU/VLuKU/V?[>U/V=Y>U/V=X=U&V 3X=W     7X FW at T   ?~&~T*~V)~R*W5V NW4W EXJX ?XBX L~^               $X   ,X   &VBV Mb 4]CVC]4XJZ:W"
+"  0W !W +T  KV       KV 2X4X >X 'Z <g EW?X +Z L]=Z 9Y <l GZ=]    %e    e!Y :UAW<XAU;X>X Lu MX *X*X,w Lq IX6f+~R'X -X -c 8X -XFVFVFX0XDXDX)X%X.u MX%X.r"
+" ?l :X <X/X\"X>X IXDVCVDX)\\ 4Z ,Y ?W *V #W       $W JX5W\"W ,W5X W3W LW 0W5X MX7W MW ,W ,WJY ;W ,X8X8W=X7W W4W MX5W\"W5X MX 0X *W ,W6W LW<W HWCVKUCW%XMX "
+"?W>W 6Y 0X 9V  LX 5`3R  0T?[?T/W:[ KWId DbKW HW5X NW +X7W JV>W =WLX BW6W W#W1WDWDW W=W JWCWCW!W4W#W4W >W >| IX>X 9Y AX 0X%X1X?X?X-X0X'XAXAX.XImIX/Y  B"
+"V  CY EV FY'Y EV   DX 2WAS ?r CV:V =^ =V 2V=Y   CSFV'S8`LV <XFX B~X  .S at e;S    @~W2i >e   :W6W GbGU IX   4g 8c 5XFX FgFV:Y<gFVGg at eAV:Y1Y 3X>X GX>X GX>"
+"X GX>X GX>X GX>X FX?w?X *w Lw Lw Lw LX -X -X -X 5p9X-XDXDX)X%X1X%X1X%X1X%X1X%X Jc NX>W>X.X/X'X/X'X/X'X/X HZ =X7X NWEZ #W ,W ,W ,W ,W ,W ,X4WAW ,W3W!W3"
+"W!W3W!W3W NW ,W ,W ,W .X5W MX7W W4W W4W W4W W4W W4W  $W>VLW MW6W MW6W MW6W MW6W KW>W GX5W MW>W     LVLuKU/VLuKU/V>Z>U/V>Y=U/V=X=U&V 2W>X     8Y FW at T  "
+" ?~P(~V*~T(~Q)V4V NW4W EXJX >WBX L~^               $X   ,X   &VBV Ld 4WAVD`6XHZ;W  0W !W +T  KV       LW 2X4X >X 'Y ;i GV>X *Z M\\;Y 9X =p HZ?^    'd  "
+"  Id$Y 9UAW<XAU;W<W Lw X *X*X,w Lq IX6f+~R'X -X -d 9X -XFVFVFX0XCWDX)X%X.t LX%X.p ;k ;X <X/X!X at X HXDVCVDX*^ 4X ,Z ?W *W $W       $W JX5W\"W ,W5X W3W LW"
+" 0W5X MW6W MW ,W ,WKY :W ,W7W7W=W6W W4W MX5W\"W5X MX /Y ,W ,W6W LX>X GWEVJVEW#a >W>W 7Y 1Y 8V  KY 9e8T  0T?Z>T0X:[ KWIf GdLW HW4W MW ,W6W JV?X >XKW BW6"
+"W W#W2XDWDX!W=W JWCWCW!W4W#W4W >W >| IW<W :Y @X 0X%X1X?X?X-X0X&XBXBX-XImIX0Y  AV  BY FV GY%Y FV   DX 2WAS ?r DW:W =\\ <V 2V;W   CSFV'S7]JV =XFX A~X  .S"
+"@d:S    (V Ii <a   8W6W FaGU IX   4g 6_ 2XFX GgGV:Z<gGVFUFY?a at V:Z2Y 2W<W GW<W GW<W GW<W GW<W GX>X GX>w?X *w Lw Lw Lw LX -X -X -X 5p9X-XCWDX)X%X1X%X1X%",
+// Start of second string.
+"X1X%X1X%X Ia MX?W=X.X/X'X/X'X/X'X/X GX <X7X NWDZ $W ,W ,W ,W ,W ,W ,X4WAW ,W3W!W3W!W3W!W3W NW ,W ,W ,W .W4W MW6W W4W W4W W4W W4W W4W  $W?VKW MW6W MW6W"
+" MW6W MW6W KW>W GX5W MW>W     LVLuKU/VLuKU/V?\\?U/V?Y<U/V=X=U&V 2W>X     8X DWBT   ?~Q)~W)~R&~(V4V NW4W EWHW >WBW K~^               $X   ,X   &VBV Kg \""
+"VEc8WFZ=W  /W !W +T 4~W      5V 1X4X >X (Y -] IW>X )Y M[9X 9X >\\F\\ H[C`    'a    Ca$Y 9UAV:WAU;W<W LX<\\!X *X*X,X -X 0X6f+X/X'X -X -XN[ :X -XEVHVEX0XCX"
+"EX)X%X.s KX%X.o 6h <X <X/X!X at X GWDVCVDW*_ 4X -Z >W )V $W       6i JX5X$X -X5X V2W LW 1W3W MW6W MW ,W ,WLY 9W ,W7W7W=W6W!X4X NX5X$X5X MW .[ .W ,W6W KW>"
+"W FWEVJVEW#a >W?X 8Z 4\\ 8V  K[ =i<V  0S=Y=S0X:[ KW@^ IfMW HW4W MY .W6W JW at W =XKX CW6W W#W2WCWCW!W=W JWCWCW\"X4X%X4X ?W >W2W IW<W :Y @X 0X%X1X?X?X-X0X&X"
+"BXBX-X%X1~` GV H~` GV H~` GV   DX 3XAS ?r DV8V =\\ <V 2V;X   DSFV'S4W /XFX @~X  .S at VIX;S    (V Ii 8Z   5W6W D_GU IX   4g 3Y .XFX HgGV;TNU<gGVFQ at W;Z=V;T"
+"NU3Y 1W<W GW<W GW<W GW<W GW<W GW<W GX>X X *X -X -X -X -X -X -X -X ,X*X-XCXEX)X%X1X%X1X%X1X%X1X%X H_ LX at W<X.X/X'X/X'X/X'X/X GX <X7X NWD\\ 8i >i >i >i >i"
+" >i >i3WBX ,V2W!V2W!V2W!V2W NW ,W ,W ,W .W4W MW6W!X4X\"X4X\"X4X\"X4X\"X4X M~Y2X at VIW NW6W MW6W MW6W MW6W KW?X GX5X NW?X     LVLuKU/VLuKU/V@^@U/V at Y;U/V=X=U&"
+"V 2X?W     8X CWBT   ?~R*~X)~Q%}(V4W W4W FXHX ?XDX K~^               $X   ,X   'WCV Ii &VEe:XEZ>W  /W !W +T 4~W      5V 1X4X >X )Y )[ KW=X (Y N[9Y ;Y "
+"?Z at Z I]Gb    '^    =^$X 9U at V:WAU<X<X MX9Z\"X *X*X,X -X 0X6f+X/X'X -X -XM[ ;X -XEVHVEX0XBWEX)X%X.r JX%X.q 4e =X <X/X!X at X GXFVAVFX*` 5X .Z =W )V $W      "
+" :m JW3W$W ,W3W!W2W LW 1W3W MW6W MW ,W ,WMY 8W ,W7W7W=W6W!W2W NW3W$W3W MW -^ 2W ,W6W KX at X FWEVJVEW\"_ <W at W 7Y :b 7V  Jb FmAX  0S<W<S0W8Y JW<[ KYHVMV GV"
+"3X MZ 0W6W IVAX >XIW CW6W!W!W3WCWCW!W=W JWCWCW\"W2W%W3X ?W >W2W JW;X <Y ?X 0X&Y1X?X?X-X0X&YCXCY-X%X2~a GV H~a HV I~b HV   DX 3W at S ?r DV8V <Z ;V 2W;W   "
+"DSFV'S  <XFX  =V  .S at VGW<S    (V      \"W6W A\\GU IX       2XFX *V;TMU LV2V V;TMU4Z 2X<X IX<X IX<X IX<X IX<X IX<X IX=X X *X -X -X -X -X -X -X -X ,X*X-XB"
+"WEX)X%X1X%X1X%X1X%X1X%X G] KX at V;X.X/X'X/X'X/X'X/X GX <X8Y NWC\\ =m Bm Bm Bm Bm Bm Bm3WBW ,W2W\"W2W\"W2W\"W2W NW ,W ,W ,W /X4X NW6W!W2W\"W2W\"W2W\"W2W\"W2W M~Y"
+"2W at VHW NW6W MW6W MW6W MW6W JW at W FW3W MW at W     KVLuKU/VLuKU/VA`AU/VAY:U/V=X=U&V 1W at X     9X BWBS   >~R+~Z*~P#{'V4W W4W FXHX ?XDX K~^               $X  "
+" ,X   'VBV Gi (VFg;WCZ?W  /W !W +T 4~W      6W 1X4X >X *Y &Z LW=X (Y NZ7X ;X ?Z>Z ImNX    '[    8\\%Y 9UAW:WAU<W:W MX7Y#X *X*X,X -X 0X6f+X/X'X -X -XL[ "
+"<X -XEWJWEX0XBXFX)X%X.p HX%X.r 0a >X <X/X XBX FXFVAVFX+b 6X /Z <W )W %W       =p JW3W$W ,W3W!| LW 1W3W MW6W MW ,W ,WNY 7W ,W7W7W=W6W!W2W NW3W$W3W MW -"
+"b 6W ,W6W JW at W EWFVHVFW!] ;WAX 8Y 9` 5V  H` HrG[  0S<W<S0W8Y JW:Y KXF^ HW2W Kc ;W6W IVAX >XIW CW6W!W!W3WCWCW!W=W JWCWCW\"W2W%W2W ?W >W2W JW:W =Y >X 0Y'"
+"X0X?X?X-X0X%XCXCX,X%X2~a GV H~a HV I~b HV   DX 3W at S ?r DV8V <Z   FW;W   DSFV'S  =XFX  <V  .S at VFW=S    (V      \"W6W <WGU IX       1XFX +V;SLU LV2V V;SL"
+"U5Z 1W:W IW:W IW:W IW:W IW:W IX<X IX=X X *X -X -X -X -X -X -X -X ,X*X-XBXFX)X%X1X%X1X%X1X%X1X%X F[ JXAW;X.X/X'X/X'X/X'X/X GX <X8X MWB] Bp Ep Ep Ep Ep "
+"Ep E~eBW ,|\"|\"|\"| NW ,W ,W ,W /W2W NW6W!W2W\"W2W\"W2W\"W2W\"W2W M~Y2WAWHW NW6W MW6W MW6W MW6W JWAX FW3W MWAX     KV<V=V/V#V/VBbCV/VBY:V/V=X>V&V 1XAW     9"
+"X @WDT   ?~S+~Z)}!y'W4W W4W FWFW >WDW J~^               *r   ?V   &VBV Eh *VEXIX<XBZ at W  /W !W +T 4~W  5f   8V 0X4X >X +Y $Z NW<X 'X NZ7X ;X ?X:X HkMX "
+"   '[    7[%X 8UAV8VAU=X:X NX6X#X *X*X,X -X 0X6f+X/X'X -X -XK[ =X -XDVJVDX0XAWFX)X%X.m EX%X.XA\\ -^ ?X <X/X XBX FXFVAVFX,c 6X /Y ;W (V %W       ?r JW3W"
+"$W ,W3W!| LW 1W3W MW6W MW ,W ,a 6W ,W7W7W=W6W!W2W NW3W$W3W MW ,e :W ,W6W JW at W DWGVHVGW N[ 9WBW 8Y 8^ 3V  F^ I~X  0S;U;T1W8Y JW8X MXC\\ HW2W Ia ;W6W IWB"
+"W >XHX DW6W!W<W<W3WCWCW!W=W JWCWCW\"W2W%W2W ?W >W2W KX:X ?Y =X /X'X0Y at X@Y-X0X%YDXDY,X%X2~a GV H~a HV I~b HV   DX 3W at S ?r DV8V ;X   DW;V   DSFV'S  >XFX "
+" ;V  .S at VFW=S    (V      \"W6W :UGU IX       0XFX -V;TLU MV0U!V;TLU6Y 0X:X KX:X KX:X KX:X KX:X KX:X JW<X X *X -X -X -X -X -X -X -X ,X*X-XAWFX)X%X1X%X1X"
+"%X1X%X1X%X F[ JXBW:X.X/X'X/X'X/X'X/X GX <X9Y MWA] Er Gr Gr Gr Gr Gr G~gBW ,|\"|\"|\"| NW ,W ,W ,W /W2W NW6W!W2W\"W2W\"W2W\"W2W\"W2W M~Y2WBWGW NW6W MW6W MW6W "
+"MW6W IWBW EW3W LWBW     IU<V=V.U#V.UCdDV.UCY9V.U=X>V&V 1XBX     :X ?WDT   ?~S,~[({ x&W4W W4W FWFX ?XFX JV                \"q   >V   &VBV Af -VEXGX=W at ZB"
+"W  .W !W +T 4~W  5f   8V 0X4X >X ,Y \"Y W;X 'X NZ7X <Y @Y:Y HiLX    '^    =^%X 8UAV8VAU=X:X NX5X$X *X*X,X -X 0X(X+X/X'X -X -XJ[ >X -XDVJVDX0XAXGX)X%X.i"
+" AX%X.X>Z ,\\ ?X <X/X NWBW DWFVAVFW+XMY 7X 0Z ;W (V %W       @s JW3W$W ,W3W!| LW 1W3W MW6W MW ,W ,` 5W ,W7W7W=W6W!W2W NW3W$W3W MW +g =W ,W6W JXBX DWGVH"
+"VGW N[ 9WBW 9Y 7^ 3V  F^ I[Gr  /S;U;T1W8X IW7X NWA[ HW2W F^ ;W6W HVCX >XGW DW6W!W<W<W3WCWCW!W=W JWCWCW\"W2W%W2W ?W >W2W KW9X ?Y =X /X'X/X at X@X,X0X$YEXEY"
+"+X%X2~a GV H~a HV I~b HV   DX 3W at S 6X 3V8V ;X   DX<V   DTFV)T  >WEW  :V  .TAVEW?T    (V      \"W6W :UGU IX       /WEW .V;TKU NV/U\"V;TKU7Y /X:X KX:X KX:"
+"X KX:X KX:X KX:X KX<X X *X -X -X -X -X -X -X -X ,X*X-XAXGX)X%X1X%X1X%X1X%X1X%X G] KXCW9X.X/X'X/X'X/X'X/X GX <X9Y MW?] Hs Hs Hs Hs Hs Hs H~hBW ,|\"|\"|\"|"
+" NW ,W ,W ,W /W2W NW6W!W2W\"W2W\"W2W\"W2W\"W2W M~Y2WBVFW NW6W MW6W MW6W MW6W IWBW EW3W LWBW     IU<V=V.U#V.UDYMZEV.UDY8V.U#V&V 0WBX     ;X >WDS   >~T-~\\(y"
+" Mw&W4W W4W GXFX ?XFX JV                #r   >V   'WCV <c .VEWEW=W?ZCW  .W !W   :~W  5f   9W 0X4X >X -Y  Y!W;X 'Y Y5X =X @Y8Y HgKX    'a    Ca%X 8UAV8"
+"VAU=W8W NX4X%X *X+Y,X -X 0X(X+X/X'X -X -XI[ ?X -XDWLWDX0X at WGX)X&Y.X 0X&Y.X=Y *[ @X <X/X NXDX DXHW at VHX,YMZ 8X 1Z :W (W &W       At JW3W$W ,W3W!| LW 1W3"
+"W MW6W MW ,W ,` 5W ,W7W7W=W6W!W2W NW3W$W3W MW )g ?W ,W6W IWBW CWGVHVGW MY 8WCX :Y 6` 5V  H` IW at m  -S;V<T1W8X IW7X W@[ HW2W Ia ;W6W HVCW >XFX EW6W!W<W<"
+"W3WCWCW!W=W JWCWCW\"W2W%W2W ?W >W2W KW8W @Y <X /X'X/X at X@X,X0X#YFXFY*X&Y2~a GV H~a HV I~b HV   DX 3W at S 6X 3V8V ;X   CX=V   CSFV)S  =WEW  :V  -SAVDW at S   "
+" 'V      \"W6W :UGU IX       /WEW .V<TJU NV/U\"V<TJU8Z /W8W KW8W KW8W KW8W KW8W KX:X KX<X X *X -X -X -X -X -X -X -X ,X+Y-X at WGX)X&Y1X&Y1X&Y1X&Y1X&Y H_ LX"
+"DW9Y.X/X'X/X'X/X'X/X GX <X:Y LW>] Jt It It It It It I~iBW ,|\"|\"|\"| NW ,W ,W ,W /W2W NW6W!W2W\"W2W\"W2W\"W2W\"W2W M~Y2WCVEW NW6W MW6W MW6W MW6W IWCX EW3W L"
+"WCX     IV=V=V.V$V.VFYKZFV.VFY7V.V$V&V 0XCW     ;Y =WFT   >~T-~\\'w Ku%W4W W4W GXEW >WFW IV                #q   =V   6~X JSN^ /VEWCW?W=ZDW  .W !W   :~W"
+"  5f   9V /X4X >X .Y  MX\"W:X &X Y5X >Y @X6X FcJX    &d    Id%X 8UAV8VAU>X8X X4X$X +X+X+X -X /X)X+X/X'X -X -XH[ @X -XCVLVCX0X at XHX(X'X-X /X'X-X<Y *Z @X "
+"<X/X NXDX DXHV?VHX-YKY 8X 2Z 9W 'V &W       B]?W JW3W$W ,W3W!| LW 1W3W MW6W MW ,W ,a 6W ,W7W7W=W6W!W2W NW3W$W3W MW 'g AW ,W6W IWBW CWHVFVHW NZ 7WDW :Z"
+" 6a 6V  Jb IU;i  ,S;V<S0W7W IW6W W?Z HW2W Kc ;W6W HWEX >XFX EW6W!W<W<W3WCWCW!W=W JWCWCW\"W2W%W2W ?W =V2V KX8X BY ;X /Y)Y/X at X@X,X0X#YFXGZ)X'X0~` GV H~` "
+"GV H~` GV   DX 3W at S 6X 3V8V M|  &Z?V   CSFV)S:m AXFX  ;V  -SAVDW at S    'V      \"W6W :UGU      *m 5XFX /V;SIU V.T\"V;SIU9Z /X8X MX8X MX8X MX8X MX8X MX8X "
+"MX;X NX +X -X -X -X -X -X -X -X ,X+X,X at XHX(X'X/X'X/X'X/X'X/X'X Ha LXFW8X-X/X'X/X'X/X'X/X GX <X;Z LW<\\ L]?W J]?W J]?W J]?W J]?W J]?W J]?{BW ,|\"|\"|\"| NW"
+" ,W ,W ,W /W2W NW6W!W2W\"W2W\"W2W\"W2W\"W2W M~Y2WDVDW NW6W MW6W MW6W MW6W HWDW DW3W KWDW     HV=V>V-V%V-VGYIZHV-VGY7V-V%V%V /WDX     ;X <WFT   >~T-~\\'v Is"
+"$W4W W4W GWDX ?XGW HV                %r   =V   6~X JSJ[ 0VEVAV?W<ZFW  -W !W   \"V   Lf   9V /X5X =X /Z  MX\"V9X &X NX5X >X ?X6X D`IX    $d    Ne#X 8UAV8"
+"VBU=x X4X$X +X+X+X -X /X)X+X/X'X -X -XG[ AX -XCVLVCX0X?WHX(X'X-X /X'X-X;Y *Y @X <X/X MXFX CXHV?VHX-XIY 9X 3Z 8W 'V &W       CZ;W JW3W$W ,W3W!| LW 1W3W"
+" MW6W MW ,W ,b 7W ,W7W7W=W6W!W2W NW3W$W3W MW %f BW ,W6W IXDX BWIVFVIW N\\ 8WEX :Y .[ 7V  K\\ BT8e  *S<X=S0W7V HW6X\"W=X GW2W Me ;W6W GVEX >WDW EW6W!W<W<W"
+"3WCWCW!W=W JWCWCW\"W2W%W2W ?W =W4W KW6W CY :X .X)X.YAXAY,X0X\"ZHXHZ(X'X/Y  AV  BY FV GY%Y FV   DX 3W at S 6X 2V:V L|  %ZAV   BSEV*S:m @XFX  <V  -SAVCWAS   "
+" 'V      \"W6W :UGU      *m 6XFX .V<TIU V/U\"V<TIU9Y .x Mx Mx Mx Mx Mx Mu NX +X -X -X -X -X -X -X -X ,X+X,X?WHX(X'X/X'X/X'X/X'X/X'X Ic MXGW7X-X/X'X/X'X/"
+"X'X/X GX <X=[ KW:[ NZ;W KZ;W KZ;W KZ;W KZ;W KZ;W KZ;{BW ,|\"|\"|\"| NW ,W ,W ,W /W2W NW6W!W2W\"W2W\"W2W\"W2W\"W2W  &WEVCW NW6W MW6W MW6W MW6W HWEX DW3W KWEX "
+"    GV>V>V,V&V,VIYGZIV,VIY6V,V&V&W /XEW     N~X'VGT   =~T-~\\&u Ir#W4W NV4W HXDX ?XHX HV                 KX   ,V   6~X JSHZ 2VDVAV?W;ZGW  -W !W   \"V   "
+"Lf   :W .X6X =X 0Z  LY#~ /X NX5X >X @X5Y AYFX    !d >~X >d X 8UAV8VBU>z!X3X%X +X+X+X -X /X)X+X/X'X -X -XF[ BX -XCWNWCX0X?XIX(X'X-X /X'X-X:X )Y AX <X/X"
+" MXFX BWHV?VHW-YIY 9X 3Y 7W 'W 'W       CX9W JW3W$W ,W3W!W 'W 1W3W MW6W MW ,W ,WNZ 8W ,W7W7W=W6W!W2W NW3W$W3W MW !c CW ,W6W HWDW AWIVFVIW N] 8WFW :Y *"
+"Y 8V  KY ?R3`  (S<X=S0W7V HW5W\"W=X GW2W N[ 0W6W GWFW >XDX FW6W!W<W<W3WCWCW!W=W JWCWCW\"W2W%W2W ?W =W4W LX6X DY :X .X)X-XAXAX+X0X!ZIXIZ'X'X.Y  BV  CY EV"
+" FY'Y EV   DX 3W at S 6X 2V:V L|  $[CV   BTFW,T:m ?XFX  =V  -TBVBVBT    'V      \"W6W :UGU      *m 7XFX .V<THU!V/U\"V<THU:Y .z z z z z Nx Nv NX +X -X -X -X"
+" -X -X -X -X ,X+X,X?XIX(X'X/X'X/X'X/X'X/X'X Je NXGV6X-X/X'X/X'X/X'X/X GX <X@^ KW9[ X9W KX9W KX9W KX9W KX9W KX9W KX9W MW ,W ,W ,W ,W )W ,W ,W ,W /W2W N"
+"W6W!W2W\"W2W\"W2W\"W2W\"W2W  &WFVBW NW6W MW6W MW6W MW6W GWFW CW3W JWFW     FV>V?W,V'W,VJYEZKW,VJY6W,V'W&W /XFX     N~X'WHT   =~T-~\\%s Gp\"W4W NV4V GXCW >WH"
+"X HW                 LX   ,V   6~X JSGY 3VDWAW at W:ZIW  ,W !W   \"V   Lf   :W .X6X =X 1Z  JX#~ /X NX5X ?Y @X4X .X     Md A~X Ad LX 8UAV8VBU>z!X3X%X +X+X+"
+"X -X /X)X+X/X'X -X -XE[ CX -XBVNVBX0X>WIX(X'X-X /X'X-X9X *Y AX <X/X MXFX BXJW?WJX.YGY :X 4Z 7W 'W 'W       DX8W JW3W$W ,W3W!W 'W 1W3W MW6W MW ,W ,WLY "
+"9W ,W7W7W=W6W!W2W NW3W$W3W MW  K_ DW ,W6W HXFX AWIVFVIW ^ 8WFW ;Y (Y 9V  LY >Q.X  $T>Z?T0W8W HW5W\"W<W GW2W Y -W6W GWGX >WCX FW6W!W<W<W3WCWCW!W=W JWCWC"
+"W\"W2W%W2W ?W =W4W LX6X EY 9X .Y+Y-YBXBY+X0X ZJXJZ&X'X-Y  CV  DY DV EY)Y DV   DX 3W at S 6X 2W<W L|  #\\FW   ASFW,S9m >XFX  >V  ,SBVBWCS    &V      \"W6W :U"
+"GU      *m 8XFX .V<TGU\"V.U#V<TGU;Y -z z z z z z v NX +X -X -X -X -X -X -X -X ,X+X,X>WIX(X'X/X'X/X'X/X'X/X'X KZMZ XHW6X-X/X'X/X'X/X'X/X GX <u JW7Y!X8W "
+"LX8W LX8W LX8W LX8W LX8W LX8W MW ,W ,W ,W ,W )W ,W ,W ,W /W2W NW6W!W2W\"W2W\"W2W\"W2W\"W2W  &WGWBW NW6W MW6W MW6W MW6W GWFW CW3W JWFW     FW?V?V+W(V+WKXCY"
+"KV+WKX5V+W(V%W .WFX     N~X'WHT   =~T-~\\$q Eo\"W4W NV4V GWBW >XIW GW                 LX       ;~X JSFX 3VDV?V at W9ZJW  +V \"W   !V       V -X6X =X 2Z  IX#"
+"~ /X NX5X ?X ?X4X .X     Jd D~X Dd IX 8UAV8VCV>z!X3X%Y ,X,Y+X -X /Y*X+X/X'X -X -XD[ DX -XBVNVBX0X>XJX(Y)X,X /Y)X,X9Y *X AX <X/X LXHX AXJV=VJX.XEY ;X 5"
+"Z 6W &V 'W       DW7W JW3W$W ,W3W!W 'W 1W3W MW6W MW ,W ,WKY :W ,W7W7W=W6W!W2W NW3W$W3W MW  H\\ DW ,W6W GWFW @WJVDVJW!` 9WGX <Y &X 9V  LX =P   (T?\\@T0W8"
+"X IW5W\"W<W GW2W X ,W6W FVGW >XBW FW6W!W<W<W3WCWCW!W=W JWCWCW\"W2W%W2W ?W =W4W LW4W FY 8X -X+X+YCXCY*X0X N\\MXM\\%Y)X+Y  DV  EY NQFVFQ Y+Y CV   DX 3W at S 6X"
+" 1V<V K|  ![HW   @TFW.T9m =XFX  ?V  ,TCVAVDT    &V      \"W6W :UGU      *m 9XFX -V<SFU\"V/U\"V<SFU;X ,z z z z z z v NY ,X -X -X -X -X -X -X -X ,X,Y,X>XJX"
+"(Y)X.Y)X.Y)X.Y)X.Y)X KZKZ!YJW6X,X/X'X/X'X/X'X/X GX <t IW6Y\"W7W LW7W LW7W LW7W LW7W LW7W LW7W MW ,W ,W ,W ,W )W ,W ,W ,W /W2W NW6W!W2W\"W2W\"W2W\"W2W\"W2W "
+" &WHWAW NW6W MW6W MW6W MW6W GWGX CW3W JWGX     EV?V at W*V)W*VJVAWKW*VJV5W*V)W%W .XGW     M~X&WJT   <~S,kNn#o Cm!W4W NV4V HXBX ?XJX FW                 MY"
+"       <~X JSEX 5VCV?V at W8ZLW  *W #W   !V       V -X6X =X 3Z  HX#~ /X NX5X @Y ?X4X /X     Ge G~X Ge GX 8UAV9WCU>|\"X3X$X ,X,X*X -X .X*X+X/X'X -X -XC[ EX"
+" -XA\\AX0X=WJX'X)X,X .X)X,X8X *X AX <X/X LXHX AXJV=VJX/YEY ;X 6Z 5W &V 'W       DW7W JW3W$W ,W3W!W 'W 1W3W MW6W MW ,W ,WJY ;W ,W7W7W=W6W!W2W NW3W$W3W M"
+"W  EZ EW ,W6W GWFW ?WKVDVKW!b 9WHW <Y $W 9V  LW     BTAVNUAT/W8X IW5W#W;V FW2W!X +W6W FWIX >XBX GW6W!W<W<W3WCWCW!W=W JWCWCW\"W2W%W2W ?W =W4W MX4X HY 7X"
+" -Y-Y+ZDXDZ*X0X Mt#X)X*Y  EV  FY NSGVGS Y-Y MQFVFQ   X 3W at S 6X 1W>W 9X   =\\KW   >SEW<PCS  6XFX  @V  +SCVAWES    %V      \"W6W :UGU        &XFX -V<TFU#V"
+"/U\"V<TFU<X ,|\"|\"|\"|\"|\"|\"w MX ,X -X -X -X -X -X -X -X ,X,X+X=WJX'X)X-X)X-X)X-X)X-X)X LZIZ!XKW5X,X/X'X/X'X/X'X/X GX <s HW5X\"W7W LW7W LW7W LW7W LW7W LW7W"
+" LW7W MW ,W ,W ,W ,W )W ,W ,W ,W /W2W NW6W!W2W\"W2W\"W2W\"W2W\"W2W  &WIW at W NW6W MW6W MW6W MW6W FWHW BW3W IWHW     DW at VAW)W+W)WJT?UKW)WJT5W)W+W$W -WHX     "
+"M~X&WJT   ;eMQMe+jNQNj!m Bl W4W NW6W HXBX >WJX FW                 LX       <~X JSEX 6WCV?V at W7ZMW  *W #W   !V      !W -X6X =X 4Z  GX#~ /X NX5X @X >X4X "
+"/X     De J~X Je DX 8U at V:WDV>|\"X3X$X ,X-Y*X -X .X*X+X/X'X -X -XB[ FX -XA\\AX0X=XKX'X*Y,X .X*Y,X8Y +X AX <Y1Y KWHW ?WJV=VJW/YCY <X 7Z 4W &W (W       EW6"
+"W JX5X$X -X5X!X (W 0W5X MW6W MW ,W ,WIY <W ,W7W7W=W6W!X4X NX5X$X5X MW  CX EW ,W6W GXHX ?WKVDVKW!XNY :WIX =Y #X :V  MX     BUCVMVBT/W9Y IW5W#W<W FW3X!W"
+" *W6W EVIX ?X at W GW6W!W=Y=W3XDWDX!W=W JWCWCW\"X4X%X4W >W <W6W LX4X HY 7X ,X-X)ZEXEZ)X0X Lr\"X)X)Y  FV  GY NUHVHU Y/Y MSGVGS  !X 3XAS 6X 0W at W 8X   ;\\NW   "
+"=TEX at RDT  5XFY  BV  +TDV at WGT    %V      \"W6W :UGU        (YFX ,V=TEU#V0U!V=TEU<X ,|\"|\"|\"|\"|\"|\"w MX ,X -X -X -X -X -X -X -X ,X-Y+X=XKX'X*Y-X*Y-X*Y-X*Y-"
+"X*Y MZGZ\"XLW5Y,Y1Y'Y1Y'Y1Y'Y1Y GX <r GW4X$W6W MW6W MW6W MW6W MW6W MW6W MW6X NX -X -X -X -X *W ,W ,W ,W /W2W NW6W!X4X\"X4X\"X4X\"X4X\"X4X  &WIV at X NW6W MW6W"
+" MW6W MW6W FWIX BX5X IWIX     CWAVAW(W,W(WJR=SJW(WJR4W(W,W$W -XIX     M~X&WJS   :dLQLd+iMQNj!l @j NW4W NW6W HW at W >WJW DW                 MX       .VCV"
+" :SDW 6VBV?V at W6b  )W #W   !V      !V +X8X <X 5Z  FX#~ /X MW5X @X >X4X /X     Ad L~X Ld AX 8VAV:WDU=|\"X3X$Y -X-Y*X -X .Y+X+X/X'X -X -XA[ GX -XA\\AX0X<WK"
+"X'Y+X+X .Y+Y,X7X +X AX ;X1X JXJX ?XLW=WLX/XAY =X 7Y 3W %V (W       EW7X JX5W\"W ,W5X W (W 0W5X MW6W MW ,W ,WHY =W ,W7W7W=W6W W4W MX5W\"W5X MW  BX FW ,W6"
+"W FWHW >WKVDVKW\"XLX 9WJW =Z #X :V  MX     AUEVKVDU/X:Y IW5W#W<W EW4W!X *W6W EVJX >X at W GW6W!W=Y=W2WDWDW W=W JWCWCW\"X4W#W4W >W <W6W LW2W IY 6X ,Y/Y(ZFXF"
+"Z(X0X Kp!Y+X'Y  GV  HY NWIVIW Y1Y MUHVHU  \"X 2WAS 6X 0YDY 8X   :c   <TE[FUDS  3XFY  CV  *SDV at WGS    $V      \"W6W :UGU        )YFX ,V=TDU$V0V\"V=TDU=X +"
+"|\"|\"|\"|\"|\"|#x MY -X -X -X -X -X -X -X -X ,X-Y+X<WKX'Y+X,Y+X,Y+X,Y+X,Y+X MZEZ#YNW4X*X1X%X1X%X1X%X1X FX <p EW4X$W7X MW7X MW7X MW7X MW7X MW7X MW7Y MW ,W "
+",W ,W ,W *W ,W ,W ,W .W4W MW6W W4W W4W W4W W4W W4W  $WKV?W MW6W MW6W MW6W MW6W EWJW AX5W GWJW     BXBVBW'X.W'XJP;QJW'XJP4W'X.W#V ,XIW     L~X%WLT   :d"
+"LQLc*iMQMi k ?i NW4W NW6W IX at X ?XLX DW                 MY       0VBV :SDW 7VAV?V at X6a  )W #W   !V      !V +X8X <X 6Z  EX#~ 0Y MW5X AY >X4X 0X     =d ~X"
+" d   LUAW<XEV>X2X#X3X#X -X.Y)X -X -X+X+X/X'X -X -X@[ HX -X at Z@X0X<XLX&X+X+X -X+X+X7Y ,X AX ;X1X JXJX ?XLV;VLX0YAY =X 8Z 3W %V (W       EW7X JX5W\"W ,W5X"
+" W (W 0W5X MW6W MW ,W ,WGY >W ,W7W7W=W6W W4W MX5W\"W5X MW  BX FW ,W7X FWHW >WLVBVLW#YKX :WJW =Y !W :V  MW     @VHXJWHV-W:Y IW5W#W<W EW4W!W )W6W EWKX ?X"
+"?X HW6W!X>Y>W1WDWDW W=W JWCWCW\"X4W#W4W >W <W6W MX2X KY 5X +Y1Y'[GXH\\(X0X Jn NX+X&Y  HV  IY NYJVJY Y3Y MWIVIW  #X 2WAS 6X 0[H[ 8X :V %`   :TEiET  2YGY "
+" DV  *TEV?WIT    $V      \"W6W :UGU        *YGY ,V<SCU%V0V\"V<SCU=X ,X2X$X2X$X2X$X2X$X2X$X2X$X8X LX -X -X -X -X -X -X -X -X ,X.Y*X<XLX&X+X+X+X+X+X+X+X+X"
+"+X NZCZ#`3X*X1X%X1X%X1X%X1X FX <m BW3W$W7X MW7X MW7X MW7X MW7X MW7X MW7Y MW ,W ,W ,W ,W *W ,W ,W ,W .W4W MW6W W4W W4W W4W W4W W4W 5Z IWLV>W MW7X MW7X "
+"MW7X MW7X EWJW AX5W GWJW     AXCVCW%X0W%X0W%X0W%X0W\"V +WJX     ?X 2WLT   9bKQKb)gLQMh Mi =g MW4W MV6W IX at X ?XLX CW                 MX       0VBV :SDW "
+"7VAV?V at X5_  (W #W   !V      \"W +X8X <X 7Z  DX 5X 'X LX7X @X =X4X 0X     ;e   Le   JUAW<XFV=X1W#X3X#Y .X.Y)X -X -Y,X+X/X'X -X -X?[ IX -X at Z@X0X;XMX&Y-Y+"
+"X -Y-Y+X6X ,X AX ;X1X IXLX >XLV;VLX1Y?Y >X 9Z 2W %W )W       EW7X JX5W\"X -W5X X )W 0X7Y MW6W MW ,W ,WFY ?W ,W7W7W=W6W W4W MX5W\"W5X MW  AW FW ,W7X FXJX"
+" =WMVBVMW#YJY ;WKX >Y  W :V  MW     ?dId,W;Z IW5W#W=W DW4W!W )W6W DVKW >X>W HW6W W>Y>W1WDWDW W=W JWCWDX\"X4W#W4W >W ;V7W LX2X LY 4X *X1X%]JXJ]'X0X Hj L"
+"Y-Y%Y  IV  JY LYKVKY MY5Y MYJVJY  $X 2XBS 6X 2q 9X :V #\\   7TDgFT  /XFX  EV  )TFV>VJT    #V      \"W6W :UGU        +XFX *V=TCU%V1V!V=TCU=X ,X1W$X1W$X1W"
+"$X1W$X1W$X2X%X7X LY .X -X -X -X -X -X -X -X ,X.Y*X;XMX&Y-Y+Y-Y+Y-Y+Y-Y+Y-Y ZAZ$_3Y*X1X%X1X%X1X%X1X FX <i >W3W$W7X MW7X MW7X MW7X MW7X MW7X MW7Z NX -X "
+"-X -X -X +W ,W ,W ,W .W4W MW6W W4W W4W W4W W4W W4W 5Z IWMV=W MW7X MW7X MW7X MW7X EWKX AX5W GWKX     @XDVDX$X2X$X2X$X2X$X2X\"V +XKW     ?X 1WMT   7`JQKa"
+"'fLQLf Kg <f LW4W MW8W HW>W >WLW BX                 NY       1VBV :SDW 8V at V?V?W4]  &V $W    V      \"V *Y:Y <X 8Z  DY 5X 'X KW7X @X =X5Y 1Y     8e  #e "
+"  GU at W>YGW>X0X$X4Y\"Y /X/Y(X -X ,Y-X+X/X'X -X -X>[ JX -X at Z@X0X;XMX%Y/Y*X ,Y/Y*X6Y -X AX ;Y3Y IXLX =WLV;VLW0X=Y ?X :Z 1W $V )W       EW8Y JY7X\"X -X7Y X "
+")W 0X7Y MW6W MW ,W ,WEY @W ,W7W7W=W6W X6X MY7X\"X7Y MW  AW FW ,X8X EWJW <WMVBVMW#XHX :WLW >Y  NW :V  MW     >bGc,W;[ JW6X#W=W DX6X!W )W6W DVLX >W=X IW7"
+"X W>Y>W1XEWEX W=W IWDWDW!Y6X#X6X >W ;W8W MX0X MY 4X *Y3Y$^LXL^&X0X Ff IY/Y#Y  JV  KY JYLVLY KY7Y KYKVKY  #X 2XBS 6X 3t ;X :V ![   8TCfFT  .XFX  FV  )U"
+"GV>WKT            MW7X :UGU        ,XFX *V=TBU&V2W!V=TBU=X -X0X&X0X&X0X&X0X&X0X&X0W%X7X KY /X -X -X -X -X -X -X -X ,X/Y)X;XMX%Y/Y)Y/Y)Y/Y)Y/Y)Y/Y Z?Z$"
+"^4Y)Y3Y%Y3Y%Y3Y%Y3Y FX <X -W3W$W8Y MW8Y MW8Y MW8Y MW8Y MW8Y MW8[ NX -X -X -X -X +W ,W ,W ,W .X6X MW6W X6X X6X X6X X6X X6X 5Z I_=X MX8X MX8X MX8X MX8X "
+"DWLW @Y7X FWLW     >XEVFY\"X5Y\"X5Y\"X5Y\"X5Y!V *WLX     @X /WNT   7`JQJ_&eKQKe Je :d KW4W MW8W HW>X ?XNX AX                 Y       1VCV 9SDW 9V?V?V?X4\\ "
+" &W %W    V      \"V )X:X ;X 9Z  CX 4X (Y KW7X AX <Y6Y 1X     4e  )e   DVAX at ZHW=X0X$X4Y\"Y*P&X0Z(X -X ,Y-X+X/X'X -X -X=[ KX -X?X?X0X:XNX%Y/Y*X ,Y/Y*X5X "
+".Y AX :X3X HXLX =XNW;WNX1Y=Y ?X ;Z 0W $V )W       EW8Y JY7W W ,W7Y NX *W /W8Z MW6W MW ,W ,WDY AW ,W7W7W=W6W NW6W LY7W W7Y MW  AW FW ,X9Y EWJW <WMVBVMW"
+"$XFX ;WMX ?Y  MW :V  MW     =`Ea+X<[ JW6W\"W>W BW6W W )W6W DWMX ?X=X IX8X W?[?W0WEWEW NW=W IWDWDW!Y6W!W6W =W ;W8W MX0X NY 3X )Y5Y\"z%X0X C` FY/Y\"X  JV  "
+"KX HYMVMY IX7X IYLVLY  \"X 1XCS 6X 4v <X :V  [   8TBbET  ,WEW  FV  (T$T            LX8X :UGU        ,WEW )V=m,V3W V=mCX -X0X&X0X&X0X&X0X&X0X&X0X&X7X KY"
+"*P&X -X -X -X -X -X -X -X ,X0Z)X:XNX%Y/Y)Y/Y)Y/Y)Y/Y)Y/Y!Z=Z%]3Y(X3X#X3X#X3X#X3X EX <X -W3W$W8Y MW8Y MW8Y MW8Y MW8Y MW8Y MW8[ MW ,X -X -X -X ,W ,W ,W "
+",W -W6W LW6W NW6W MW6W MW6W MW6W MW6W 4Z H^=W LX9Y MX9Y MX9Y MX9Y DWMX @Y7W EWMX     =Y8Y Y8Y Y8Y Y8Y Y8Y V *WLX     AX .WNT   6^IQI]$cKRJc Id 8c KW4W"
+" MX:X IX>X ?XNX AY                 Y4P       VBV 9SDW 9V?V?V?Y4Z  %W %W    V      #W )X:X ;X :Z  CY 4X (Y KX9Y AX ;X6X 1Y     1e  /e   @U at XB[JX<X/W$X4"
+"X Y,Q&X1Z'X -X +Y.X+X/X'X -X -X<[ LX -X?X?X0X:XNX$Y1Y)X +Y1Y)X5Y /X @X :X4Y GXNX <XNV9VNX2Y;Y @X ;Y /W $W *W       EW9Z JZ9X X -X9Z NX *W /X9Z MW6W MW"
+" ,W ,WCY BW ,W7W7W=W6W NX8X LZ9X X9Z MW  AW FW +W9Y EXLX <WNV at VNW%YEX ;WNW ?Y  LW :V  MW     <^C_)W=\\ JX7W\"W>W BX8X W )W6W CVNX >W;W IX8X X@[@X0XFWEW "
+"NW=W IWDWEX!Z8X!X8X =W :W:W LX0X Y 2X (Y7Y Nv#X0X ?X AY1Y V  IV  JV FYNVNY GV5V GYMVMY  !X 1XCS 6X 5x =X :V  MZ   8T?ZBT  *VDV  FV  'T&T            KX"
+"8X :UGU        ,VDV )V<m-V3V NV<mCX -X/W&X/W&X/W&X/W&X/W&X0X'X6X JY,Q&X -X -X -X -X -X -X -X ,X1Z(X:XNX$Y1Y'Y1Y'Y1Y'Y1Y'Y1Y!Z;Z%[3Y'X4Y#X4Y#X4Y#X4Y EX"
+" <X -W3W$W9Z MW9Z MW9Z MW9Z MW9Z MW9Z MW9] NX -X -X -X -X ,W ,W ,W ,W -X8X LW6W NX8X MX8X MX8X MX8X MX8X 4Z H]=X KW9Y LW9Y LW9Y LW9Y CWNW ?Z9X DWNW   "
+"  ;Y;Z MY;Z MY;Z MY;Z MY;Z NV *XMW     AY -[   3ZHRH[\"aJRI` Fb 6a JW4W LW:W HX=W >WNX @Y                !Z6Q       VBV KP>SEW 9V>WAW>X3Z  &W %W    V  "
+"    #V 'X<X :X ;Z  BY 4X )Y IW9X AY ;Y8Y 2Y     .d  1d   >U?ZH^MZ<X.X%X5Y NY.R&X2Z&X -X *Y/X+X/X'X -X -X;[ MX -X&X0X9a$Z3Y(X *Y3Y(X4X$P-Y @X :Y5Y GXNX"
+" <XNV9VNX2X9Y AX <Z /W #V *W       EX:Z JZ9X NX .X9Z MX +W .X;[ MW6W MW ,W ,WBY CW ,W7W7W=W6W NX9Y LZ9X X9Z MW  AW FW +W:Z DWLW :^@^$XDY <WNW @Z  LW :"
+"V  MW     ;\\@['X>\\ JX8X\"W?W AX9Y X *W6W CVNX ?X;X JX9Y NW@[@W/XFWFX NW=W IXEWEX!Z8X!X8W ;W ;W;X MX.X\"Y 1X 'Y9Y Lt\"X0X ?X @Y3Y MT  HV  IT Dj ET3T EYNVN"
+"Y   X 0XDS 6X 6ZM`LY >X :V  LY   7T)T  (UCU     ET(T            JX9Y :UGU        ,UCU )V;m.V3V NV;mCY7P HX.X(X.X(X.X(X.X(X.X(X.X(X6X IY.R&X -X -X -X -"
+"X -X -X -X ,X2Z'X9a$Z3Y&Z3Y&Z3Y&Z3Y&Z3Y!Z9Z&Z3Y&Y5Y#Y5Y#Y5Y#Y5Y EX <X -W3W$X:Z MX:Z MX:Z MX:Z MX:Z MX:Z MX:^ NX -X -X -X -X -W ,W ,W ,W -X8X LW6W NX9Y"
+" MX9Y MX9Y MX9Y MX9Y 4Z H\\=Y KW:Z LW:Z LW:Z LW:Z CWNW ?Z9X DWNW     :[@[ K[@[ K[@[ K[@[ K[@[ MV )WNX     AX ,[   1WGRFW N_IRH^ Da 5_ IW4W LX<X HW<W >`"
+" >Y                !Y8S   MX   +VBV KQ?SFX 9V=VAV=Y6]  &V &W    NV BX   1X 1V 'Y>Y :X <Z  BY 3X GP3Z IX;Y AX :Y9Z 2X GX -X  7a  1a .X 6V at iNa;X.X%X6Z N"
+"Z1T&X4\\&X -X *Z0X+X/X'X -X -X:[ NX -X&X0X9a#Z5Z(X *Z5Z(X4Y%R/Y @X 9Y7Y EWNW :WNV9VNW2Y9Y AX =Z .W #V *W       EX;[ J[;X MY .X;[ MY2P JW .Y=\\ MW6W MW ,"
+"W ,WAY DW ,W7W7W=W6W MX:X K[;X MX;[ MW /P4X FX ,X<[ DXNX :^@^%XBX <` @Y  KW :V  MW     8V;W%X?^ KY9X!V at X @X:X NX *W6W C_ >X:W JY;Z NXB]BX.XGWGX MW=W H"
+"XFWFX [:X NX:X ;W :W<W LX.X\"Y 1X &Y;Y Ip X0X ?X @Z5Z LR  GV  HR Bh CR1R Cj   NX 0YES 6X 7ZJ\\IY ?X :V  KY   8U+U  'TBT     DU+T            IY;Z :UGU   "
+"     ,TBT (V;m.V4V MV;mCY8Q HX.X(X.X(X.X(X.X(X.X(X.X)X5X IZ1T&X -X -X -X -X -X -X -X ,X4\\'X9a#Z5Z%Z5Z%Z5Z%Z5Z%Z5Z\"Z7Z&Z5Z%Y7Y!Y7Y!Y7Y!Y7Y DX <X -W4X$X"
+";[ MX;[ MX;[ MX;[ MX;[ MX;[ MX;`3P=Y .Y2P LY2P LY2P LY2P LW ,W ,W ,W ,X:X KW6W MX:X KX:X KX:X KX:X KX:X 3Z GZ<X JX<[ LX<[ LX<[ LX<[ C` ?[;X C`     9_J"
+"_ I_J_ I_J_ I_J_ I_J_ LV )`     AX +Z    S <[GRFZ A_ 4^ HW4W KX>X HX<X ?` =Z                \"Y:T   MX   +VCV JSASFX :V<VAV<Y8_  'W 'W    NV BX   1X 2W"
+" &X>X 9X =Z 1P2Z 3X GQ5Z GX=Y @X 9Y:Y KP8Z GX -X  4^  1^ +X 5U?gM_9W,W%X7Z L[4U&X6]%X -X )[2X+X/X'X -X -X9[ X -X&X0X8`\"Z7Z'X )Z7Z'X3X%T2Y ?X 9Z9Z E` :"
+"_9_3Y7Y BX >Z -W #W +W       DX=\\ J\\=Y LY7P HY=\\ LY5R JW -Y?] MW6W MW ,W ,W at Y EW ,W7W7W=W6W MY<Y K\\=Y MY=\\ MW /R6W DW ,Y=[ CWNW 9^@^&X at X <^ @Y  JW :V "
+" MW       HXA` LZ;X V at W ?Y<Y MX +W6W B^ ?X9W JZ<Z NXB]BX.YHWHY MW=W HYGWGY \\<Y NY<X :W :X>X LX.X#Y 0X %Y=Z Gl MX0X ?X ?Z7Z JP  FV  GP @f AP/P Ah   MX "
+"/YFSDP BX 8ZFVEY @X :V  JX   7V.U  %SAS     CU.U            HZ<Z :UGU        ,SAS (V:m/V5W MV:mBY;S HW,W(W,W(W,W(W,W(W,W(X.X)X5X H[4U&X -X -X -X -X -X"
+" -X -X ,X6]&X8`\"Z7Z#Z7Z#Z7Z#Z7Z#Z7Z\"Z5Z&[8Z$Z9Z!Z9Z!Z9Z!Z9Z DX <X -W4W\"X=\\ LX=\\ LX=\\ LX=\\ LX=\\ LX=\\ LX=b6R<Y7P GY5R KY5R KY5R KY5R LW ,W ,W ,W ,Y<Y KW"
+"6W MY<Y KY<Y KY<Y KY<Y KY<Y 3Z GY<Y JY=[ LY=[ LY=[ LY=[ B^ >\\=Y B^     7r Gr Gr Gr Gr KV (_     BX )Y    S 8RBSCR <] 2\\ GW4W KZBZ HX;W >_ <[          "
+"      $[=U   MX   ,VBV JUCSHY :V;WCW<[<b  (W 'W    NV BX   1X 2W &Y at Y 9X >Z 0R5Z 2X GT9[ GY?Z AY 9[>[ KR;Z FX -X  1[  1[ (X 5V>dL^9X,X&X9[ J[7W&X9_$X "
+"-X (\\6Z+X/X'X -X -X8[!X -X&X0X8`![;[&X ([;[&X3Y&W7[ ?X 8Z;Z D` :^7^3X5Y CX ?Z ,W #W +W       DY?] J]?Y KZ:R GY?] LZ8T JW -ZA^ MW6W MW ,W ,W?Y FW ,W7W7"
+"W=W6W LY>Y J]?Y KY?] MW /T9X DX ,Y@] CWNW 9]>]'Y at Y =^ AY  IW :V  MW       HYCXNW L\\>Y VAX >Y>Y LY ,W6W B] >X9X K[>[ MXDVMVDX,YIWIY LW=W GYHWHY N]>Y LY"
+">Y :X :X at X LX,X%Y /X $ZAZ Ch KX0X ?X >[;[   ?V   6d   >f   LX /[HSFR BX 9Z3Y AX :V  IX   7V1V  #R at R     BU0U            G[>[ :UGU        ,R at R 'V(U)V6W"
+" LV(U<Z>U IX,X*X,X*X,X*X,X*X,X*X,X*W4X G[7W&X -X -X -X -X -X -X -X ,X9_%X8`![;[![;[![;[![;[![;[\"Z3Z(];[\"Z;Z NZ;Z NZ;Z NZ;Z CX <X -WJP;X\"Y?] LY?] LY?] "
+"LY?] LY?] LY?] LY?XNZ9T<Z:R GZ8T KZ8T KZ8T KZ8T LW ,W ,W ,W +Y>Y JW6W LY>Y IY>Y IY>Y IY>Y IY>Y 2Z FY>Y HY@] KY@] KY@] KY@] B^ >]?Y A^     6o Do Do Do "
+"Do IV (_     CX (Y    S (S ,[ 0[ GW4W J\\H\\ GW:W >^ :\\                %[@W   MX   ,VBV JXFSIZ :V:WEW:\\@e  (V 'V    MV BX   1X 2V $ZDZ 8X ?Z /U;] 2X GV="
+"\\ EZC[ @X 7[@[ JT?[ EX -X  /Y  1Y &X 5V=bK\\7X,X&X<^ I]=Z&X=b#X -X ']:\\+X/X'X -X -X7[\"X -X&X0X7_ \\?\\%X '\\?\\%X2X&Z<\\ >X 7[?[ B^ 9^7^4Y5Y CX ?Y +W \"V +W "
+"      DZB_ J_CZ I[>T G[C_ K[=W JW ,\\GXNW MW6W MW ,W ,W>Y GW ,W7W7W=W6W KZBZ I_CZ J[C_ MW /W>Z DZ .ZB^ C` 8\\>\\&X>Y =\\ AY  HW :V  MW       GZFYNY N]AZ N"
+"WCX <ZBZ JZ:Q EW6W B] ?X7W K\\A^ NYFWMWFY,ZJWJY KW=X H[JWJ[ N_BZ JZBZ 8Y <ZDZ LX,X&Y .X #ZCZ >_ FX0X ?X =\\?\\   >V   5b   <d   KX .\\JSHT BX 8X2X @X :V  "
+"IX   5V4U   Q?Q     AV4V            F\\A^ ;UGU        ,Q?Q 'V'U*V6W LV'U<[AW IX,X*X,X*X,X*X,X*X,X*X,X+X4X F]=Z&X -X -X -X -X -X -X -X ,X=b$X7_ \\?\\ N\\?\\"
+" N\\?\\ N\\?\\ N\\?\\ X1X(`?\\ [?[ L[?[ L[?[ L[?[ BX <X -WJS at Z\"ZB_ LZB_ LZB_ LZB_ LZB_ LZB_ LZBYM\\>W;[>T F[=W J[=W J[=W J[=W LW ,W ,W ,W *ZBZ IW6W KZBZ GZBZ "
+"GZBZ GZBZ GZBZ 1Z F[BZ GZB^ KZB^ KZB^ KZB^ A\\ =_CZ ?\\     3l Al Al Al Al HV (^     BX (X    NS (S ,Z .Y FW4W In GX:X ?^ 9_                (]FZ   MX   "
+",VBV J[ISL\\ :V9XGX9^Fi  )W )W    MV BX   1X 3W #[H[ Et Mx MZC_ 1X GZD^ C[G\\ @Y 7^F] IXF] DX -X  ,V  1V #X 4V<^IY5X*X'y G_D^&{!y NX &`B`+X/X'X -X -X6[#"
+"w LX&X0X7_ N^E^$X &^E^$X2Y'^C^ =X 7^E^ B^ 8]7]4Y3Y DX @~U&W \"W ,W       C\\HYNW JWNXG\\ H]EX F\\GXNW J]D[ JW +kMW MW6W MW ,W ,W=Y HW ,W7W7W=W6W K]H] IWNX"
+"G\\ I\\GXNW MW /[E\\ Be 9[GXNW B^ 7\\>\\'X<X =\\ AX  GW :V  MW       G\\IYM^$`F\\ MWEX ;]H] J]BV EW6W A\\ ?X7X L_GaKP#ZJYMYJZ*[LWL[ KW=Y H\\LWL\\ MWNXG] J]H\\ 7a "
+"C[H[ L~W'x MX 1iEi HX CX0X ?X <^E^   =V   4`   :b   JX -^MSLX Lz V0V ?X :V  HW   4V7V   MP>P     @W8W    3~W      :_GaKP @UGU        ,P>P 'V&U+V6V KV&"
+"U;]GZ JX*X,X*X,X*X,X*X,X*X,Y,Y,X4y7_D^&y Ny Ny Ny NX -X -X -X ,{\"X7_ N^E^ L^E^ L^E^ L^E^ L^E^ MV/V(dE^ N^E^ L^E^ L^E^ L^E^ BX <X -WJWF[ \\HYNW K\\HYNW K"
+"\\HYNW K\\HYNW K\\HYNW K\\HYNW K\\H[K^E[:]EX E]D[ I]D[ I]D[ I]D[ LW ,W ,W ,W )[F[ HW6W K]H] G]H] G]H] G]H] G]H] 1Z F]G] F[GXNW J[GXNW J[GXNW J[GXNW A\\ =WNX"
+"G\\ ?\\     1h =h =h =h =h FV ']     AV &W    T )T +X -X EW4W Hl FX9W ?^ 8~R                Jp   MX   ,VCV It 9V8XIX7sLZ  *W )W    MV BX   1X 3W #n Et M"
+"x Mu 0X Gs Ao @X 5t In CX -X  )S  1S  X 4V9XFU1X*X'x Ex&z y NX %|*X/X'X -X -X5[$w LX&X0X6^ Mu#X %u#X1X'y =X 6u A^ 8]7]4X1X DX @~U&W \"W ,W       ClMW J"
+"WMk Fo EkMW Is JW *jMW MW6W MW ,W ,W<Y IW ,W7W7W=W6W Jp HWMk GkMW MW /q Ae 9kMW B^ 7\\=[(Y;X >\\ Av 6W :V  MW       FkL]$u LXGX 9p Hp EW6W A[ ?X6X LpN\\#"
+"hKh)s JW<] Lu LWNm Hp 6` Bl K~W'x MX 1iEi HX CX0X ?X ;u   <V   3^   8`   IX ,o Lz NT.T >X :V  HW   3X=X        )X<X    2~W      :pN\\ @UGU           V&"
+"U+V7i.V&U:o JX*X,X*X,X*X,X*X,X*X,X*X-X3y6x&y Ny Ny Ny NX -X -X -X ,z!X6^ Mu Ju Ju Ju Ju KT-T(} Lu Ju Ju Ju AX <X -WJk NlMW KlMW KlMW KlMW KlMW KlMW Kn"
+"Is9o Ds Hs Hs Hs LW ,W ,W ,W )p HW6W Jp Ep Ep Ep Ep   Ls EkMW JkMW JkMW JkMW A\\ =WMk >\\     /c 8c 8c 8c 8c CV '\\     ?T %W    U *T *W ,V DW4W Gj EW8W "
+">\\ 5~P                In   LX   -VBV Is 9V7g6qJZ  *V )V    LV BX   1X 3V !l Dt Mx Mt /X Gr ?m ?X 4r Hm BX -X  &P  1P  LX 3V 3X*X'w Cv%x My NX #x(X/X'X"
+" -X -X4[%w LX&X0X5] Ls\"X $s\"X1Y(w ;X 5s ?\\ 7\\5\\5Y1Y EX @~U&W !V ,W       BjLW JWMj Dn DjMW Hr JW )hLW MW6W MW ,W ,W;Y JW ,W7W7W=W6W In GWMj EjMW MW /p"
+" ?d 8iLW B^ 6Z<[)Y:Y >Z @v 6W :V  MW       EiK]$t JYLZ 7n Fo EW6W A[ ?X5W LWNfM\\\"gKg'q IW<] Ks KWMk Fn 5` Aj J~W'x MX 1iEi HX CX0X ?X :s   ;V   2\\   6"
+"^   HX +n Lz MR,R =X :V  HW   1ZEZ        %ZDZ    0~W      :WNfM\\ @UGU          !V%U,V6i/V%U9n JX*X,X*X,X*X,X*X,X*X,X*X-X3y5v%y Ny Ny Ny NX -X -X -X ,"
+"x NX5] Ls Hs Hs Hs Hs IR+R(WMs Js Hs Hs Hs @X <X -WJk MjLW JjLW JjLW JjLW JjLW JjLW JmHr8n Cr Gr Gr Gr LW ,W ,W ,W (n GW6W In Cn Cn Cn Cn   Ls CiLW Ii"
+"LW IiLW IiLW @Z <WMj <Z     +] 2] 2] 2] 2] @V &[     >R $V    NU *U *U *U DW4W Fh DW8X ?\\ 4~                Hl   KX   -VBV Hp 8V5e4nGZ  +W +W    LV BX"
+"   1X 3V  j Ct Mx Mr -X Gq =j >Y 3p Gl AX -X       2X 3W 5X(X(u ?s$v Ky NX \"v'X/X'X -X -X3[&w LX&X0X5] Kq!X #p X0X(v :X 4p =\\ 7\\5\\6Y/Y FX @~U&W !V ,W "
+"      AhKW JWLh Bm ChLW Gq JW (eJW MW6W MW ,W ,W:Y KW ,W7W7W=W6W Hl FWLh ChLW MW /o >d 7gKW A\\ 5Z<Z(X8X >Z @v 6W :V  MW       DgI\\$s He 5l Dn EW6W @Y "
+">W4X MWMeM\\!eIe%o HW<] Jq JWLi Dk 2_ @h J~Y(x MX 1iEi HX CX0X ?X 9q   :V   1Z   4\\   GX *m Lz LP*P <X :V  HW   0m        \"l    .~W      :WMeM\\ @UGU   "
+"       !V%U,V6i/V%U8l JX(X.X(X.X(X.X(X.X(X.Y)X/X2y3s$y Ny Ny Ny NX -X -X -X ,v LX5] Kq Fq Fq Fq Fq GP)P'VKp Gp Ep Ep Ep >X <X -WJj KhKW IhKW IhKW IhKW"
+" IhKW IhKW IjEq7m Bq Fq Fq Fq LW ,W ,W ,W &j EW6W Hl Al Al Al Al   Ls AgKW HgKW HgKW HgKW @Z <WLh ;Z               MV &[     =P \"U    V +V )S (S CW4W "
+"De DX8X ?\\ 2|                Fh   IX   -VBV Ek 6V4c1kEZ  +V +V    KV BW   0X 4W  Mf At Mx Mq ,X Go :h =X 0l Ej ?X -W       1X 2W 6X(X(s ;o\"s Hy NX  r%"
+"X/X'X -X -X2['w LX&X0X4\\ Im NX !m NX0Y(t 9X 2m ;Z 5[5[5X-X FX @~U&W !W -W       @fJW JWJe ?j AeJW En IW 'cIW MW6W MW ,W ,W9Y LW ,W7W7W=W6W Fh DWJe AeJ"
+"W MW .m ;b 6eJW A\\ 5Z<Z)X6X >X ?v 6W :V  MW       CeG[$r Fc 2h Am EW6W @Y ?X3W MWMdL\\ cGc#m GW;\\ Hm HWKg Ah /] ?f I~Y(x MX 1iEi HX CX0X ?X 7m   8V   0"
+"X   2Z   FX (j Kz   AX :V  HW   -g         Lh    ,~W      :WMdL\\ @UGU          \"V$U-V5i0V$U7i HX(X.X(X.X(X.X(X.X(X.X(X/X2y1o\"y Ny Ny Ny NX -X -X -X ,t"
+" JX4\\ Im Bm Bm Bm Bm  %VHm Dm Bm Bm Bm =X <X -WJh HfJW HfJW HfJW HfJW HfJW HfJW HhBn4j ?n Cn Cn Cn KW ,W ,W ,W %h DW6W Fh =h =h =h =h   KVMi >eJW GeJW"
+" GeJW GeJW ?X ;WJe 9X               MW &Z       =U    W ,W *R &Q BW4W B` AW6W >[ /y                Dd   GX   -VCV Af 5V2a.gBZ  ,W -W    KV CX   0X 4V "
+" Kd @t Mx Km *X Ek 6d ;X .h Bh >X .X       1X 1W 7X(X(q 7j Np Ey NX  Mm\"X/X'X -X -X1[(w LX&X0X4\\ Gi LX  Ni LX/X$n 7X 0i 9Z 5[5[6Y-Y GX @~U&W  V -W    "
+"   >cIW JWIb <g =bIW Ci FW %_GW MW6W MW ,W ,W8Y MW ,W7W7W=W6W Ef CWIb =bIW MW +h 8a 5cIW @Z 4Y:Y*Y5X ?X ?v 6W :V  MW       AbDY$WMf Ca 0f >k EW6W @Y ?"
+"W2W MWK`I[ NaEa i EW;\\ Fi FWIc >e ,\\ =b G~Y(x MX 1iEi HX CX0X ?X 5i   6V   /V   0X   EX &f Iz   AX :V /P;W   *c         Gb    )~W      :WK`I[ @UGU    "
+"      #V#U.V4i1V#U6f FX(X.X(X.X(X.X(X.X(X.X(X/X2y/j Ny Ny Ny Ny NX -X -X -X ,p FX4\\ Gi >i >i >i >i  $VEi @i >i >i >i ;X <X -WIf EcIW FcIW FcIW FcIW Fc"
+"IW FcIW Fd>i0g ;i >i >i >i HW ,W ,W ,W #d BW6W Ef ;f ;f ;f ;f   JUJe ;cIW FcIW FcIW FcIW ?X ;WIb 7X               MW %Y       =T    X -X )P %P AW4W ?Z"
+" >W6X ?Z ,w                B`   EX   .VBV <] 1V0]*b?[  -W -W    KV CW   /X 4V  I` >t Mx Hg 'X Bf 2` :X +d =b ;X .W       0X 1X 9X&X)m 0d Kj ?y NX  Jg "
+"NX/X'X -X -X0[)w LX&X0X3[ Dc IX  Kf LX/Y!g 4X .e 7Z 5Z3Z7Y+Y HX @~U&W  V -W       =`GW JWG^ 7b 9^GW Ad CW \"YDW MW6W MW ,W ,W7Y NW ,W7W7W=W6W B` @WG^ 9"
+"^GW MW (c 2] 3_GW @Z 3X:X*Y4Y @X ?v 6W :V  MW       ?_AW$WKb @^ +` 9g CW6W ?W ?X2X NWJ^GY K]B^ Ke CW:[ Dd CWG_ 9` 'Y ;^ F~[)x MX 1iEi HX CX0X ?X 2c   "
+"3V   .T   .V   DX $b Gz   AX :V /R>X   &[         ?Z    %~W      :WJ^GY ?UGU          #V +V +V 1b EX&X0X&X0X&X0X&X0X&X0Y'X1X1y,d Ky Ny Ny Ny NX -X -X "
+"-X ,j @X3[ Dc 8c 8c 8c 8c  !VBc ;e :e :e :e 9X <X -WFa B`GW E`GW E`GW E`GW E`GW E`GW D`:d*b 7d 9d 9d 9d EW ,W ,W ,W !` @W6W B` 5` 5` 5` 5`   HVHa 7_GW"
+" D_GW D_GW D_GW ?X ;WG^ 5X               MW         7S                   @r                >Y         BS .V,W#Z   ;V -V     7W     ;W  EX     ;\\   6] "
+"+Z   5\\ 5Z   <W         7X     %\\       <]    \"X         ([   4c   E]   /[          (W  W .W       :Y #X 0Z 2X *\\   $W    &W         .Z =WDX 3XDW   I["
+"   0Y       8W   -W :V  MW       <Z ;WH[ 9Y &Z 1]  LW ?W   >WGXBU FX=X E` \"W >] @WDY 3Z   2X               C[           >T     :[       KV /TAY       "
+"                   EWGXBU =UGU   BT       6V +V +V ,Y               ?\\                    +[ 0[ 0[ 0[ 0[   KT=[ 2[ 0[ 0[ 0[     7Z ;Y .Y .Y .Y .Y .Y -"
+"Y2\\\"Z /\\ 1\\ 1\\ 1\\         CZ   3Z /Z /Z /Z /Z   FVCZ 1Y .Y .Y .Y ,W :WDX 2W               LW         7R                                             #S"
+"       >W /W     8W     :V                      \"W         5X                  )X             &Z                  CW  NV .W                   :W    %W"
+"           @W  :W              -X   -W :V  MW         LW        FW ?W   >W    NW   0W =W                                      3S       GV /XGZ        "
+"                  DW  HUGU   AT                            %T                               'R                             JT                         "
+"      #T         (X :W  NX               LW                                                       7S       =V /V     7W     :V                      \"W"
+"         4X'Q                 &Y             %Z                  DW  NV .W                   :W    %W           @W  :W              -W   ,W :V  MW    "
+"     LW        FW ?W   >W    NW   0W =W                                      3S       GV /j                          CW  HUGU   @T                    "
+"        %T                               'P                             HT                               \"Q         'W 9W  NW               KW        "
+"                                               7S       =W 1W     7V     :W                      \"V         2X)R                 &X             #Z    "
+"              EW  NW /W                   :W    %W           @W  :W              -W   ,X ;V  NX         LW        FW ?W   >W    NW   0W =W            "
+"                          3S       GV /j                          CW  HUGU   @U                            &U                                         "
+"                    U                               \"P         'W 9W  NW               KV                                                       6S    "
+"   <V 1V     6V     :V                      !V         1Y-U                 'X             \"Z                  FW  MV /W                   ;X    %W   "
+"        @W  :W              .X   +W ;V  NW         KW        FW ?W   >W    NW   0W =W                                      3S       GV /h             "
+"             AW  HUGU   ?T                            %T                                                             NT                               "
+"          )X 9W  X               KV                                                       6S       <W 3V     6V     9V                      \"V        "
+" /Z1X                 (X             !Z                  Ga (V 9a                   ;W    $W           @W  :W              .W   *W ;V  NW         KW  "
+"      FW ?W   >W    NW   0W =W                                      3S       GV .f                          @W  HUGU   ?U                            &"
+"U                                                             U                                         *W 8W  W               JV                     "
+"                                  6S       ;V 3V     6V     :W                      \"V         .[5[                 *Y              Z                 "
+" Ha (W :a                   <X    $W           @W  :W              /X   *X <V  X         KW        FW ?W   >W    NW   0W =W                           "
+"           3S       GV +a                          >W  HUGU   >T                            %T                                                        "
+"     NT                                         +X 8W !X              (VIV                                                       6S       :V 5V     5U"
+"     9W                      \"U         +\\;]                 )X              MZ                  Ia (W :a                   =Y    %W           ?W  :W "
+"             /W   )[ ?V #[         KW        FW ?W   >W    NW   0W =W                                      3S       GV 'Z                          ;W "
+" HUGU   >U                            &U                                                             U                                         ,W 7W !"
+"W              'VIV                                                       6S       :V 6W     6V                            4V         *_C`            "
+"     )Y              LZ                  Ja   :a                  (P7Y    $W           ?W  :W              0X   (b GV +b         JW        FW ?W   >W "
+"   NW   0W =W                                      3S       GV                            7W  HUGU   >U                            &U                 "
+"                                            U                                         -X 7W \"X              'VJW                                      "
+"                 6S       9V 7V     5U                            3U         'x                 (Z              KZ                  Ka   :a           "
+"       (R:Z    $W           ?W  :W              0X   (b GV +b         JW        FW ?W   >W    NW   0W =W                                      3S      "
+" GV                            7W     #U                            &U                                                             U                  "
+"                       -X 7W \"X              &UJW                                                       6S       9W 9W                                "
+"            Bu                 ([              IZ                  La   :a                  (T>[    $X           ?W  :W              1X   &a GV +a    "
+"     IW        FW ?W   >W    NW   0W =W                                      3S       GV                            7W     $V                         "
+"   'V                                                            !V                                         .X 6W #X              %VLW                "
+"                                       5S                                                     2p                 -a                                   "
+"                    8XE]    %Y           >W  :W              3Z   $_ GV +_         GW        FW ?W   >W    NW   0W =W                                 "
+"     3S       GV                            7W     /QGW                            2QGW                                                            ,QG"
+"W                                         0Z 6W %Z              %a                                                       5S                           "
+"                          0l                 +a                                                       8p    +_           >W  :W              ;a   !] G"
+"V +]         EW        FW ?W   >W    NW   0W =W                                      3S       GV                            7W     /`                 "
+"           1`                                                            +`                                         7a 5W -a              #`          "
+"                                                                                                   >e                 '`                              "
+"                         7o    *^           =W  :W              ;`    KY GV +Y         AW        FW ?W   >W    NW   0W =W                             "
+"         3S       GV                            7W     /`                            1`                                                            +` "
+"                                        7` 4W -`              \"_                                                                                      "
+"                       8\\                 #_                                       \"}              3n    )^           =W  :W              ;`     9V   "
+"        BW        FW ?W   >W    NW   0W =W                                             'V                            7W     /_                        "
+"    0_                                                            *_                                         6` 4W -`              !]                 "
+"                                                                                                              -]                                      "
+"  }              3l    ']           <W  :W              ;_     8V           BW        FW ?W   >W    NW   0W =W                                        "
+"     'V                            7W     /^                            /^                                                            )^              "
+"                           5_ 3W -_               N[                                                                                                  "
+"                             ,[                                        M}              2j    &\\           ;W  :W              ;^     7V           BW  "
+"      FW ?W   >W    NW   0W =W                                                                          7W     -Y                            *Y       "
+"                                                     $Y                                         2^ 2W -^               LX                             "
+"                                                                                                  *X                                        J}        "
+"      /d    #Z           9W  :W              ;\\     5V           BW        FW ?W   >W    NW   0W =W                                                   "
+"                       7W                                                                                                                             "
+"            /\\ 0W                 HT                                                                                                                  "
+"                                                      I}              *[     NW           6W  :W              ;Z     3V           BW        FW ?W   >W"
+"    NW   0W =W                                                                          7W                                                            "
+"                                                                             /Z .W                                                                    "
+"                                                                                                                     =}                               "
+"                                                                                                                                                      "
+"                                                                                                                              D" };
+
+    // Define a 40x38 'danger' color logo (used by cimg::dialog()).
+    const unsigned char logo40x38[4576] = {
+      177,200,200,200,3,123,123,0,36,200,200,200,1,123,123,0,2,255,255,0,1,189,189,189,1,0,0,0,34,200,200,200,
+      1,123,123,0,4,255,255,0,1,189,189,189,1,0,0,0,1,123,123,123,32,200,200,200,1,123,123,0,5,255,255,0,1,0,0,
+      0,2,123,123,123,30,200,200,200,1,123,123,0,6,255,255,0,1,189,189,189,1,0,0,0,2,123,123,123,29,200,200,200,
+      1,123,123,0,7,255,255,0,1,0,0,0,2,123,123,123,28,200,200,200,1,123,123,0,8,255,255,0,1,189,189,189,1,0,0,0,
+      2,123,123,123,27,200,200,200,1,123,123,0,9,255,255,0,1,0,0,0,2,123,123,123,26,200,200,200,1,123,123,0,10,255,
+      255,0,1,189,189,189,1,0,0,0,2,123,123,123,25,200,200,200,1,123,123,0,3,255,255,0,1,189,189,189,3,0,0,0,1,189,
+      189,189,3,255,255,0,1,0,0,0,2,123,123,123,24,200,200,200,1,123,123,0,4,255,255,0,5,0,0,0,3,255,255,0,1,189,
+      189,189,1,0,0,0,2,123,123,123,23,200,200,200,1,123,123,0,4,255,255,0,5,0,0,0,4,255,255,0,1,0,0,0,2,123,123,123,
+      22,200,200,200,1,123,123,0,5,255,255,0,5,0,0,0,4,255,255,0,1,189,189,189,1,0,0,0,2,123,123,123,21,200,200,200,
+      1,123,123,0,5,255,255,0,5,0,0,0,5,255,255,0,1,0,0,0,2,123,123,123,20,200,200,200,1,123,123,0,6,255,255,0,5,0,0,
+      0,5,255,255,0,1,189,189,189,1,0,0,0,2,123,123,123,19,200,200,200,1,123,123,0,6,255,255,0,1,123,123,0,3,0,0,0,1,
+      123,123,0,6,255,255,0,1,0,0,0,2,123,123,123,18,200,200,200,1,123,123,0,7,255,255,0,1,189,189,189,3,0,0,0,1,189,
+      189,189,6,255,255,0,1,189,189,189,1,0,0,0,2,123,123,123,17,200,200,200,1,123,123,0,8,255,255,0,3,0,0,0,8,255,255,
+      0,1,0,0,0,2,123,123,123,16,200,200,200,1,123,123,0,9,255,255,0,1,123,123,0,1,0,0,0,1,123,123,0,8,255,255,0,1,189,
+      189,189,1,0,0,0,2,123,123,123,15,200,200,200,1,123,123,0,9,255,255,0,1,189,189,189,1,0,0,0,1,189,189,189,9,255,
+      255,0,1,0,0,0,2,123,123,123,14,200,200,200,1,123,123,0,11,255,255,0,1,0,0,0,10,255,255,0,1,189,189,189,1,0,0,0,2,
+      123,123,123,13,200,200,200,1,123,123,0,23,255,255,0,1,0,0,0,2,123,123,123,12,200,200,200,1,123,123,0,11,255,255,0,
+      1,189,189,189,2,0,0,0,1,189,189,189,9,255,255,0,1,189,189,189,1,0,0,0,2,123,123,123,11,200,200,200,1,123,123,0,11,
+      255,255,0,4,0,0,0,10,255,255,0,1,0,0,0,2,123,123,123,10,200,200,200,1,123,123,0,12,255,255,0,4,0,0,0,10,255,255,0,
+      1,189,189,189,1,0,0,0,2,123,123,123,9,200,200,200,1,123,123,0,12,255,255,0,1,189,189,189,2,0,0,0,1,189,189,189,11,
+      255,255,0,1,0,0,0,2,123,123,123,9,200,200,200,1,123,123,0,27,255,255,0,1,0,0,0,3,123,123,123,8,200,200,200,1,123,
+      123,0,26,255,255,0,1,189,189,189,1,0,0,0,3,123,123,123,9,200,200,200,1,123,123,0,24,255,255,0,1,189,189,189,1,0,0,
+      0,4,123,123,123,10,200,200,200,1,123,123,0,24,0,0,0,5,123,123,123,12,200,200,200,27,123,123,123,14,200,200,200,25,
+      123,123,123,86,200,200,200,91,49,124,118,124,71,32,124,95,49,56,114,52,82,121,0 };
+
+    //! Get/set default output stream for the \CImg library messages.
+    /**
+       \param file Desired output stream. Set to \c 0 to get the currently used output stream only.
+       \return Currently used output stream.
+    **/
+    inline std::FILE* output(std::FILE *file) {
+      cimg::mutex(1);
+      static std::FILE *res = stderr;
+      if (file) res = file;
+      cimg::mutex(1,0);
+      return res;
+    }
+
+    // Return number of available CPU cores.
+    inline unsigned int nb_cpus() {
+      unsigned int res = 1;
+#if cimg_OS==2
+      SYSTEM_INFO sysinfo;
+      GetSystemInfo(&sysinfo);
+      res = (unsigned int)sysinfo.dwNumberOfProcessors;
+#else
+      res = (unsigned int)sysconf(_SC_NPROCESSORS_ONLN);
+#endif
+      return res?res:1U;
+    }
+
+    // Lock/unlock mutex for CImg multi-thread programming.
+    inline int mutex(const unsigned int n, const int lock_mode) {
+      switch (lock_mode) {
+      case 0 : cimg::Mutex_attr().unlock(n); return 0;
+      case 1 : cimg::Mutex_attr().lock(n); return 0;
+      default : return cimg::Mutex_attr().trylock(n);
+      }
+    }
+
+    //! Display a warning message on the default output stream.
+    /**
+       \param format C-string containing the format of the message, as with <tt>std::printf()</tt>.
+       \note If configuration macro \c cimg_strict_warnings is set, this function throws a
+       \c CImgWarningException instead.
+       \warning As the first argument is a format string, it is highly recommended to write
+       \code
+       cimg::warn("%s",warning_message);
+       \endcode
+       instead of
+       \code
+       cimg::warn(warning_message);
+       \endcode
+       if \c warning_message can be arbitrary, to prevent nasty memory access.
+    **/
+    inline void warn(const char *const format, ...) {
+      if (cimg::exception_mode()>=1) {
+        char *const message = new char[16384];
+        std::va_list ap;
+        va_start(ap,format);
+        cimg_vsnprintf(message,16384,format,ap);
+        va_end(ap);
+#ifdef cimg_strict_warnings
+        throw CImgWarningException(message);
+#else
+        std::fprintf(cimg::output(),"\n%s[CImg] *** Warning ***%s%s",cimg::t_red,cimg::t_normal,message);
+#endif
+        delete[] message;
+      }
+    }
+
+    // Execute an external system command.
+    /**
+       \param command C-string containing the command line to execute.
+       \param module_name Module name.
+       \return Status value of the executed command, whose meaning is OS-dependent.
+       \note This function is similar to <tt>std::system()</tt>
+       but it does not open an extra console windows
+       on Windows-based systems.
+    **/
+    inline int system(const char *const command, const char *const module_name=0) {
+      cimg::unused(module_name);
+#ifdef cimg_no_system_calls
+      return -1;
+#else
+#if cimg_OS==1
+      const unsigned int l = std::strlen(command);
+      if (l) {
+        char *const ncommand = new char[l + 16];
+        std::strncpy(ncommand,command,l);
+        std::strcpy(ncommand + l," 2> /dev/null"); // Make command silent.
+        const int out_val = std::system(ncommand);
+        delete[] ncommand;
+        return out_val;
+      } else return -1;
+#elif cimg_OS==2
+      PROCESS_INFORMATION pi;
+      STARTUPINFO si;
+      std::memset(&pi,0,sizeof(PROCESS_INFORMATION));
+      std::memset(&si,0,sizeof(STARTUPINFO));
+      GetStartupInfo(&si);
+      si.cb = sizeof(si);
+      si.wShowWindow = SW_HIDE;
+      si.dwFlags |= SW_HIDE | STARTF_USESHOWWINDOW;
+      const BOOL res = CreateProcess((LPCTSTR)module_name,(LPTSTR)command,0,0,FALSE,0,0,0,&si,&pi);
+      if (res) {
+        WaitForSingleObject(pi.hProcess, INFINITE);
+        CloseHandle(pi.hThread);
+        CloseHandle(pi.hProcess);
+        return 0;
+      } else return std::system(command);
+#endif
+#endif
+    }
+
+    //! Return a reference to a temporary variable of type T.
+    template<typename T>
+    inline T& temporary(const T&) {
+      static T temp;
+      return temp;
+    }
+
+    //! Exchange values of variables \c a and \c b.
+    template<typename T>
+    inline void swap(T& a, T& b) { T t = a; a = b; b = t; }
+
+    //! Exchange values of variables (\c a1,\c a2) and (\c b1,\c b2).
+    template<typename T1, typename T2>
+    inline void swap(T1& a1, T1& b1, T2& a2, T2& b2) {
+      cimg::swap(a1,b1); cimg::swap(a2,b2);
+    }
+
+    //! Exchange values of variables (\c a1,\c a2,\c a3) and (\c b1,\c b2,\c b3).
+    template<typename T1, typename T2, typename T3>
+    inline void swap(T1& a1, T1& b1, T2& a2, T2& b2, T3& a3, T3& b3) {
+      cimg::swap(a1,b1,a2,b2); cimg::swap(a3,b3);
+    }
+
+    //! Exchange values of variables (\c a1,\c a2,...,\c a4) and (\c b1,\c b2,...,\c b4).
+    template<typename T1, typename T2, typename T3, typename T4>
+    inline void swap(T1& a1, T1& b1, T2& a2, T2& b2, T3& a3, T3& b3, T4& a4, T4& b4) {
+      cimg::swap(a1,b1,a2,b2,a3,b3); cimg::swap(a4,b4);
+    }
+
+    //! Exchange values of variables (\c a1,\c a2,...,\c a5) and (\c b1,\c b2,...,\c b5).
+    template<typename T1, typename T2, typename T3, typename T4, typename T5>
+    inline void swap(T1& a1, T1& b1, T2& a2, T2& b2, T3& a3, T3& b3, T4& a4, T4& b4, T5& a5, T5& b5) {
+      cimg::swap(a1,b1,a2,b2,a3,b3,a4,b4); cimg::swap(a5,b5);
+    }
+
+    //! Exchange values of variables (\c a1,\c a2,...,\c a6) and (\c b1,\c b2,...,\c b6).
+    template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6>
+    inline void swap(T1& a1, T1& b1, T2& a2, T2& b2, T3& a3, T3& b3, T4& a4, T4& b4, T5& a5, T5& b5, T6& a6, T6& b6) {
+      cimg::swap(a1,b1,a2,b2,a3,b3,a4,b4,a5,b5); cimg::swap(a6,b6);
+    }
+
+    //! Exchange values of variables (\c a1,\c a2,...,\c a7) and (\c b1,\c b2,...,\c b7).
+    template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7>
+    inline void swap(T1& a1, T1& b1, T2& a2, T2& b2, T3& a3, T3& b3, T4& a4, T4& b4, T5& a5, T5& b5, T6& a6, T6& b6,
+                     T7& a7, T7& b7) {
+      cimg::swap(a1,b1,a2,b2,a3,b3,a4,b4,a5,b5,a6,b6); cimg::swap(a7,b7);
+    }
+
+    //! Exchange values of variables (\c a1,\c a2,...,\c a8) and (\c b1,\c b2,...,\c b8).
+    template<typename T1, typename T2, typename T3, typename T4, typename T5, typename T6, typename T7, typename T8>
+    inline void swap(T1& a1, T1& b1, T2& a2, T2& b2, T3& a3, T3& b3, T4& a4, T4& b4, T5& a5, T5& b5, T6& a6, T6& b6,
+                     T7& a7, T7& b7, T8& a8, T8& b8) {
+      cimg::swap(a1,b1,a2,b2,a3,b3,a4,b4,a5,b5,a6,b6,a7,b7); cimg::swap(a8,b8);
+    }
+
+    //! Return the endianness of the current architecture.
+    /**
+       \return \c false for <i>Little Endian</i> or \c true for <i>Big Endian</i>.
+    **/
+    inline bool endianness() {
+      const int x = 1;
+      return ((unsigned char*)&x)[0]?false:true;
+    }
+
+    //! Reverse endianness of all elements in a memory buffer.
+    /**
+       \param[in,out] buffer Memory buffer whose endianness must be reversed.
+       \param size Number of buffer elements to reverse.
+    **/
+    template<typename T>
+    inline void invert_endianness(T* const buffer, const unsigned long size) {
+      if (size) switch (sizeof(T)) {
+      case 1 : break;
+      case 2 : { for (unsigned short *ptr = (unsigned short*)buffer + size; ptr>(unsigned short*)buffer; ) {
+        const unsigned short val = *(--ptr);
+        *ptr = (unsigned short)((val>>8)|((val<<8)));
+      }
+      } break;
+      case 4 : { for (unsigned int *ptr = (unsigned int*)buffer + size; ptr>(unsigned int*)buffer; ) {
+        const unsigned int val = *(--ptr);
+        *ptr = (val>>24)|((val>>8)&0xff00)|((val<<8)&0xff0000)|(val<<24);
+      }
+      } break;
+      default : { for (T* ptr = buffer + size; ptr>buffer; ) {
+        unsigned char *pb = (unsigned char*)(--ptr), *pe = pb + sizeof(T);
+        for (int i = 0; i<(int)sizeof(T)/2; ++i) swap(*(pb++),*(--pe));
+      }
+      }
+      }
+    }
+
+    //! Reverse endianness of a single variable.
+    /**
+       \param[in,out] a Variable to reverse.
+       \return Reference to reversed variable.
+    **/
+    template<typename T>
+    inline T& invert_endianness(T& a) {
+      invert_endianness(&a,1);
+      return a;
+    }
+
+    // Conversion functions to get more precision when trying to store unsigned ints values as floats.
+    inline unsigned int float2uint(const float f) {
+      int tmp = 0;
+      std::memcpy(&tmp,&f,sizeof(float));
+      if (tmp>=0) return (unsigned int)f;
+      unsigned int u;
+      // use memcpy instead of assignment to avoid undesired optimizations by C++-compiler.
+      std::memcpy(&u,&f,sizeof(float));
+      return ((u)<<1)>>1; // set sign bit to 0.
+    }
+
+    inline float uint2float(const unsigned int u) {
+      if (u<(1U<<19)) return (float)u;  // Consider safe storage of unsigned int as floats until 19bits (i.e 524287).
+      float f;
+      const unsigned int v = u|(1U<<(8*sizeof(unsigned int)-1)); // set sign bit to 1.
+      // use memcpy instead of simple assignment to avoid undesired optimizations by C++-compiler.
+      std::memcpy(&f,&v,sizeof(float));
+      return f;
+    }
+
+    //! Return the value of a system timer, with a millisecond precision.
+    /**
+       \note The timer does not necessarily starts from \c 0.
+    **/
+    inline unsigned long time() {
+#if cimg_OS==1
+      struct timeval st_time;
+      gettimeofday(&st_time,0);
+      return (unsigned long)(st_time.tv_usec/1000 + st_time.tv_sec*1000);
+#elif cimg_OS==2
+      SYSTEMTIME st_time;
+      GetLocalTime(&st_time);
+      return (unsigned long)(st_time.wMilliseconds + 1000*(st_time.wSecond + 60*(st_time.wMinute + 60*st_time.wHour)));
+#else
+      return 0;
+#endif
+    }
+
+    // Implement a tic/toc mechanism to display elapsed time of algorithms.
+    inline unsigned long tictoc(const bool is_tic);
+
+    //! Start tic/toc timer for time measurement between code instructions.
+    /**
+       \return Current value of the timer (same value as time()).
+    **/
+    inline unsigned long tic() {
+      return cimg::tictoc(true);
+    }
+
+    //! End tic/toc timer and displays elapsed time from last call to tic().
+    /**
+       \return Time elapsed (in ms) since last call to tic().
+    **/
+    inline unsigned long toc() {
+      return cimg::tictoc(false);
+    }
+
+    //! Sleep for a given numbers of milliseconds.
+    /**
+       \param milliseconds Number of milliseconds to wait for.
+       \note This function frees the CPU ressources during the sleeping time.
+       It can be used to temporize your program properly, without wasting CPU time.
+    **/
+    inline void sleep(const unsigned int milliseconds) {
+#if cimg_OS==1
+      struct timespec tv;
+      tv.tv_sec = milliseconds/1000;
+      tv.tv_nsec = (milliseconds%1000)*1000000;
+      nanosleep(&tv,0);
+#elif cimg_OS==2
+      Sleep(milliseconds);
+#endif
+    }
+
+    inline unsigned int _wait(const unsigned int milliseconds, unsigned long& timer) {
+      if (!timer) timer = cimg::time();
+      const unsigned long current_time = cimg::time();
+      if (current_time>=timer + milliseconds) { timer = current_time; return 0; }
+      const unsigned long time_diff = timer + milliseconds - current_time;
+      timer = current_time + time_diff;
+      cimg::sleep(time_diff);
+      return (unsigned int)time_diff;
+    }
+
+    //! Wait for a given number of milliseconds since the last call to wait().
+    /**
+       \param milliseconds Number of milliseconds to wait for.
+       \return Number of milliseconds elapsed since the last call to wait().
+       \note Same as sleep() with a waiting time computed with regard to the last call
+       of wait(). It may be used to temporize your program properly, without wasting CPU time.
+    **/
+    inline unsigned int wait(const unsigned int milliseconds) {
+      cimg::mutex(3);
+      static unsigned long timer = 0;
+      if (!timer) timer = cimg::time();
+      cimg::mutex(3,0);
+      return _wait(milliseconds,timer);
+    }
+
+    // Random number generators.
+    // CImg may use its own Random Number Generator (RNG) if configuration macro 'cimg_use_rng' is set.
+    // Use it for instance when you have to deal with concurrent threads trying to call std::srand()
+    // at the same time!
+#ifdef cimg_use_rng
+
+#include <stdint.h>
+
+    // Use a custom RNG.
+    inline unsigned int _rand(const unsigned int seed=0, const bool set_seed=false) {
+      static unsigned long next = 0xB16B00B5;
+      cimg::mutex(4);
+      if (set_seed) next = (unsigned long)seed;
+      next = next*1103515245 + 12345U;
+      cimg::mutex(4,0);
+      return (unsigned int)(next&0xFFFFFFU);
+    }
+
+    inline void srand() {
+      const unsigned int t = (unsigned int)cimg::time();
+#if cimg_OS==1
+      cimg::_rand(t + (unsigned int)getpid(),true);
+#elif cimg_OS==2
+      cimg::_rand(t + (unsigned int)_getpid(),true);
+#else
+      cimg::_rand(t,true);
+#endif
+    }
+
+    inline void srand(const unsigned int seed) {
+      _rand(seed,true);
+    }
+
+    inline double rand() {
+      return cimg::_rand()/16777215.;
+    }
+
+#else
+
+    // Use the system RNG.
+    inline void srand() {
+      const unsigned int t = (unsigned int)cimg::time();
+#if cimg_OS==1
+      std::srand(t + (unsigned int)getpid());
+#elif cimg_OS==2
+      std::srand(t + (unsigned int)_getpid());
+#else
+      std::srand(t);
+#endif
+    }
+
+    inline void srand(const unsigned int seed) {
+      std::srand(seed);
+    }
+
+    //! Return a random variable between [0,1] with respect to an uniform distribution.
+    /**
+    **/
+    inline double rand() {
+      return (double)std::rand()/RAND_MAX;
+    }
+#endif
+
+    //! Return a random variable between [-1,1] with respect to an uniform distribution.
+    /**
+    **/
+    inline double crand() {
+      return 1 - 2*cimg::rand();
+    }
+
+    //! Return a random variable following a gaussian distribution and a standard deviation of 1.
+    /**
+    **/
+    inline double grand() {
+      double x1, w;
+      do {
+        const double x2 = 2*cimg::rand() - 1.0;
+        x1 = 2*cimg::rand() - 1.0;
+        w = x1*x1 + x2*x2;
+      } while (w<=0 || w>=1.0);
+      return x1*std::sqrt((-2*std::log(w))/w);
+    }
+
+    //! Return a random variable following a Poisson distribution of parameter z.
+    /**
+    **/
+    inline unsigned int prand(const double z) {
+      if (z<=1.0e-10) return 0;
+      if (z>100) return (unsigned int)((std::sqrt(z) * cimg::grand()) + z);
+      unsigned int k = 0;
+      const double y = std::exp(-z);
+      for (double s = 1.0; s>=y; ++k) s*=cimg::rand();
+      return k - 1;
+    }
+
+    //! Bitwise-rotate value on the left.
+    template<typename T>
+    inline T rol(const T& a, const unsigned int n=1) {
+      return n?(T)((a<<n)|(a>>((sizeof(T)<<3) - n))):a;
+    }
+
+    inline float rol(const float a, const unsigned int n=1) {
+      return (float)rol((int)a,n);
+    }
+
+    inline double rol(const double a, const unsigned int n=1) {
+      return (double)rol((long)a,n);
+    }
+
+    //! Bitwise-rotate value on the right.
+    template<typename T>
+    inline T ror(const T& a, const unsigned int n=1) {
+      return n?(T)((a>>n)|(a<<((sizeof(T)<<3) - n))):a;
+    }
+
+    inline float ror(const float a, const unsigned int n=1) {
+      return (float)ror((int)a,n);
+    }
+
+    inline double ror(const double a, const unsigned int n=1) {
+      return (double)ror((long)a,n);
+    }
+
+    //! Return absolute value of a value.
+    template<typename T>
+    inline T abs(const T& a) {
+      return a>=0?a:-a;
+    }
+    inline bool abs(const bool a) {
+      return a;
+    }
+    inline unsigned char abs(const unsigned char a) {
+      return a;
+    }
+    inline unsigned short abs(const unsigned short a) {
+      return a;
+    }
+    inline unsigned int abs(const unsigned int a) {
+      return a;
+    }
+    inline unsigned long abs(const unsigned long a) {
+      return a;
+    }
+    inline double abs(const double a) {
+      return std::fabs(a);
+    }
+    inline float abs(const float a) {
+      return (float)std::fabs((double)a);
+    }
+    inline int abs(const int a) {
+      return std::abs(a);
+    }
+
+    //! Return square of a value.
+    template<typename T>
+    inline T sqr(const T& val) {
+      return val*val;
+    }
+
+    //! Return <tt>1 + log_10(x)</tt> of a value \c x.
+    inline int xln(const int x) {
+      return x>0?(int)(1 + std::log10((double)x)):1;
+    }
+
+    //! Return the minimum between two values.
+    template<typename t1, typename t2>
+    inline typename cimg::superset<t1,t2>::type min(const t1& a, const t2& b) {
+      typedef typename cimg::superset<t1,t2>::type t1t2;
+      return (t1t2)(a<=b?a:b);
+    }
+
+    //! Return the minimum between three values.
+    template<typename t1, typename t2, typename t3>
+    inline typename cimg::superset2<t1,t2,t3>::type min(const t1& a, const t2& b, const t3& c) {
+      typedef typename cimg::superset2<t1,t2,t3>::type t1t2t3;
+      return (t1t2t3)cimg::min(cimg::min(a,b),c);
+    }
+
+    //! Return the minimum between four values.
+    template<typename t1, typename t2, typename t3, typename t4>
+    inline typename cimg::superset3<t1,t2,t3,t4>::type min(const t1& a, const t2& b, const t3& c, const t4& d) {
+      typedef typename cimg::superset3<t1,t2,t3,t4>::type t1t2t3t4;
+      return (t1t2t3t4)cimg::min(cimg::min(a,b,c),d);
+    }
+
+    //! Return the maximum between two values.
+    template<typename t1, typename t2>
+    inline typename cimg::superset<t1,t2>::type max(const t1& a, const t2& b) {
+      typedef typename cimg::superset<t1,t2>::type t1t2;
+      return (t1t2)(a>=b?a:b);
+    }
+
+    //! Return the maximum between three values.
+    template<typename t1, typename t2, typename t3>
+    inline typename cimg::superset2<t1,t2,t3>::type max(const t1& a, const t2& b, const t3& c) {
+      typedef typename cimg::superset2<t1,t2,t3>::type t1t2t3;
+      return (t1t2t3)cimg::max(cimg::max(a,b),c);
+    }
+
+    //! Return the maximum between four values.
+    template<typename t1, typename t2, typename t3, typename t4>
+    inline typename cimg::superset3<t1,t2,t3,t4>::type max(const t1& a, const t2& b, const t3& c, const t4& d) {
+      typedef typename cimg::superset3<t1,t2,t3,t4>::type t1t2t3t4;
+      return (t1t2t3t4)cimg::max(cimg::max(a,b,c),d);
+    }
+
+    //! Return the sign of a value.
+    template<typename T>
+    inline T sign(const T& x) {
+      return (x<0)?(T)(-1):(x==0?(T)0:(T)1);
+    }
+
+    //! Return the nearest power of 2 higher than given value.
+    template<typename T>
+    inline unsigned long nearest_pow2(const T& x) {
+      unsigned long i = 1;
+      while (x>i) i<<=1;
+      return i;
+    }
+
+    //! Return the sinc of a given value.
+    inline double sinc(const double x) {
+      return x?std::sin(x)/x:1;
+    }
+
+    //! Return the modulo of a value.
+    /**
+       \param x Input value.
+       \param m Modulo value.
+       \note This modulo function accepts negative and floating-points modulo numbers, as well as variables of any type.
+    **/
+    template<typename T>
+    inline T mod(const T& x, const T& m) {
+      const double dx = (double)x, dm = (double)m;
+      return (T)(dx - dm * std::floor(dx / dm));
+    }
+    inline int mod(const bool x, const bool m) {
+      return m?(x?1:0):0;
+    }
+    inline int mod(const char x, const char m) {
+#if defined(CHAR_MAX) && CHAR_MAX==255
+      return x%m;
+#else
+      return x>=0?x%m:(x%m?m + x%m:0);
+#endif
+    }
+    inline int mod(const short x, const short m) {
+      return x>=0?x%m:(x%m?m + x%m:0);
+    }
+    inline int mod(const int x, const int m) {
+      return x>=0?x%m:(x%m?m + x%m:0);
+    }
+    inline int mod(const long x, const long m) {
+      return x>=0?x%m:(x%m?m + x%m:0);
+    }
+    inline int mod(const unsigned char x, const unsigned char m) {
+      return x%m;
+    }
+    inline int mod(const unsigned short x, const unsigned short m) {
+      return x%m;
+    }
+    inline int mod(const unsigned int x, const unsigned int m) {
+      return (int)(x%m);
+    }
+    inline int mod(const unsigned long x, const unsigned long m) {
+      return (long)(x%m);
+    }
+
+    //! Return the min-mod of two values.
+    /**
+       \note <i>minmod(\p a,\p b)</i> is defined to be:
+       - <i>minmod(\p a,\p b) = min(\p a,\p b)</i>, if \p a and \p b have the same sign.
+       - <i>minmod(\p a,\p b) = 0</i>, if \p a and \p b have different signs.
+    **/
+    template<typename T>
+    inline T minmod(const T& a, const T& b) {
+      return a*b<=0?0:(a>0?(a<b?a:b):(a<b?b:a));
+    }
+
+    //! Return base-2 logarithm of a value.
+    inline double log2(const double x) {
+      const double base = std::log(2.0);
+      return std::log(x)/base;
+    }
+
+    //! Return rounded value.
+    /**
+       \param x Value to be rounded.
+       \param y Rounding precision.
+       \param rounding_type Type of rounding operation (\c 0 = nearest, \c -1 = backward, \c 1 = forward).
+       \return Rounded value, having the same type as input value \c x.
+    **/
+    template<typename T>
+    inline T round(const T& x, const double y=1, const int rounding_type=0) {
+      if (y<=0) return x;
+      const double sx = (double)x/y, floor = std::floor(sx), delta =  sx - floor;
+      return (T)(y*(rounding_type<0?floor:rounding_type>0?std::ceil(sx):delta<0.5?floor:std::ceil(sx)));
+    }
+
+    inline double _pythagore(double a, double b) {
+      const double absa = cimg::abs(a), absb = cimg::abs(b);
+      if (absa>absb) { const double tmp = absb/absa; return absa*std::sqrt(1.0 + tmp*tmp); }
+      else { const double tmp = absa/absb; return absb==0?0:absb*std::sqrt(1.0 + tmp*tmp); }
+    }
+
+    inline bool _is_self_expr(const char *expression) {
+      if (!expression || *expression=='>' || *expression=='<') return false;
+      for (const char *s = expression; *s; ++s)
+        if ((*s=='i' || *s=='j') && (s[1]=='(' || s[1]=='[')) {
+          const char opening = s[1], ending = opening=='('?')':']';
+          const char *ns;
+          int level = 0;
+          for (ns = s + 2; *ns; ++ns) { // Find ending ')' or ']'.
+            if (*ns==ending && !level) break;
+            if (*ns==opening) ++level; else if (*ns==ending) --level;
+          }
+          if (*ns && (ns[1]!='=' || ns[2]=='=')) return true;
+        }
+      return false;
+    }
+
+    //! Convert ascii character to lower case.
+    inline char uncase(const char x) {
+      return (char)((x<'A'||x>'Z')?x:x - 'A' + 'a');
+    }
+
+    //! Convert C-string to lower case.
+    inline void uncase(char *const str) {
+      if (str) for (char *ptr = str; *ptr; ++ptr) *ptr = uncase(*ptr);
+    }
+
+    //! Read value in a C-string.
+    /**
+       \param str C-string containing the float value to read.
+       \return Read value.
+       \note Same as <tt>std::atof()</tt> extended to manage the retrieval of fractions from C-strings,
+       as in <em>"1/2"</em>.
+    **/
+    inline double atof(const char *const str) {
+      double x = 0, y = 1;
+      return str && cimg_sscanf(str,"%lf/%lf",&x,&y)>0?x/y:0;
+    }
+
+    //! Compare the first \p l characters of two C-strings, ignoring the case.
+    /**
+       \param str1 C-string.
+       \param str2 C-string.
+       \param l Number of characters to compare.
+       \return \c 0 if the two strings are equal, something else otherwise.
+       \note This function has to be defined since it is not provided by all C++-compilers (not ANSI).
+    **/
+    inline int strncasecmp(const char *const str1, const char *const str2, const int l) {
+      if (!l) return 0;
+      if (!str1) return str2?-1:0;
+      const char *nstr1 = str1, *nstr2 = str2;
+      int k, diff = 0; for (k = 0; k<l && !(diff = uncase(*nstr1) - uncase(*nstr2)); ++k) { ++nstr1; ++nstr2; }
+      return k!=l?diff:0;
+    }
+
+    //! Compare two C-strings, ignoring the case.
+    /**
+       \param str1 C-string.
+       \param str2 C-string.
+       \return \c 0 if the two strings are equal, something else otherwise.
+       \note This function has to be defined since it is not provided by all C++-compilers (not ANSI).
+    **/
+    inline int strcasecmp(const char *const str1, const char *const str2) {
+      if (!str1) return str2?-1:0;
+      const int
+        l1 = (int)std::strlen(str1),
+        l2 = (int)std::strlen(str2);
+      return cimg::strncasecmp(str1,str2,1 + (l1<l2?l1:l2));
+    }
+
+    //! Remove delimiters on the start and/or end of a C-string.
+    /**
+       \param[in,out] str C-string to work with (modified at output).
+       \param delimiter Delimiter character code to remove.
+       \param is_symmetric Tells if the removal is done only if delimiters are symmetric
+       (both at the beginning and the end of \c s).
+       \param is_iterative Tells if the removal is done if several iterations are possible.
+       \return \c true if delimiters have been removed, \c false otherwise.
+   **/
+    inline bool strpare(char *const str, const char delimiter=' ',
+                        const bool is_symmetric=false, const bool is_iterative=false) {
+      if (!str) return false;
+      const int l = (int)std::strlen(str);
+      int p, q;
+      if (is_symmetric) for (p = 0, q = l - 1; p<q && str[p]==delimiter && str[q]==delimiter; ) {
+          --q; ++p; if (!is_iterative) break;
+        } else {
+        for (p = 0; p<l && str[p]==delimiter; ) { ++p; if (!is_iterative) break; }
+        for (q = l - 1; q>p && str[q]==delimiter; ) { --q; if (!is_iterative) break; }
+      }
+      const int n = q - p + 1;
+      if (n!=l) { std::memmove(str,str + p,(unsigned int)n); str[n] = 0; return true; }
+      return false;
+    }
+
+    //! Replace reserved characters (for Windows filename) by another character.
+    /**
+       \param[in,out] str C-string to work with (modified at output).
+       \param[in] c Replacement character.
+    **/
+    inline void strwindows_reserved(char *const str, const char c='_') {
+      for (char *s = str; *s; ++s) {
+        const char i = *s;
+        if (i=='<' || i=='>' || i==':' || i=='\"' || i=='/' || i=='\\' || i=='|' || i=='?' || i=='*') *s = c;
+      }
+    }
+
+    //! Replace escape sequences in C-strings by their binary ascii values.
+    /**
+       \param[in,out] str C-string to work with (modified at output).
+    **/
+    inline void strunescape(char *const str) {
+#define cimg_strunescape(ci,co) case ci : *nd = co; ++ns; break;
+      unsigned int val = 0;
+      for (char *ns = str, *nd = str; *ns || (bool)(*nd=0); ++nd) if (*ns=='\\') switch (*(++ns)) {
+            cimg_strunescape('a','\a');
+            cimg_strunescape('b','\b');
+            cimg_strunescape('e',0x1B);
+            cimg_strunescape('f','\f');
+            cimg_strunescape('n','\n');
+            cimg_strunescape('r','\r');
+            cimg_strunescape('t','\t');
+            cimg_strunescape('v','\v');
+            cimg_strunescape('\\','\\');
+            cimg_strunescape('\'','\'');
+            cimg_strunescape('\"','\"');
+            cimg_strunescape('\?','\?');
+          case 0 : *nd = 0; break;
+          case '0' : case '1' : case '2' : case '3' : case '4' : case '5' : case '6' : case '7' :
+            cimg_sscanf(ns,"%o",&val); while (*ns>='0' && *ns<='7') ++ns;
+            *nd = (char)val; break;
+          case 'x' :
+            cimg_sscanf(++ns,"%x",&val);
+            while ((*ns>='0' && *ns<='7') || (*ns>='a' && *ns<='f') || (*ns>='A' && *ns<='F')) ++ns;
+            *nd = (char)val; break;
+          default : *nd = *(ns++);
+          } else *nd = *(ns++);
+    }
+
+    // Return a temporary string describing the size of a memory buffer.
+    inline const char *strbuffersize(const unsigned long size);
+
+    // Return string that identifies the running OS.
+    inline const char *stros() {
+#if defined(linux) || defined(__linux) || defined(__linux__)
+      const char *const str = "Linux";
+#elif defined(sun) || defined(__sun)
+      const char *const str = "Sun OS";
+#elif defined(BSD) || defined(__OpenBSD__) || defined(__NetBSD__) || defined(__FreeBSD__) || defined (__DragonFly__)
+      const char *const str = "BSD";
+#elif defined(sgi) || defined(__sgi)
+      const char *const str = "Irix";
+#elif defined(__MACOSX__) || defined(__APPLE__)
+      const char *const str = "Mac OS";
+#elif defined(unix) || defined(__unix) || defined(__unix__)
+      const char *const str = "Generic Unix";
+#elif defined(_MSC_VER) || defined(WIN32)  || defined(_WIN32) || defined(__WIN32__) || \
+  defined(WIN64) || defined(_WIN64) || defined(__WIN64__)
+      const char *const str = "Windows";
+#else
+      const char
+        *const _str1 = std::getenv("OSTYPE"),
+        *const _str2 = _str1?_str1:std::getenv("OS"),
+        *const str = _str2?_str2:"Unknown OS";
+#endif
+      return str;
+    }
+
+    //! Return the basename of a filename.
+    inline const char* basename(const char *const s, const char separator=cimg_file_separator)  {
+      const char *p = 0, *np = s;
+      while (np>=s && (p=np)) np = std::strchr(np,separator) + 1;
+      return p;
+    }
+
+    // Return a random filename.
+    inline const char* filenamerand() {
+      cimg::mutex(6);
+      static char randomid[9] = { 0 };
+      cimg::srand();
+      for (unsigned int k = 0; k<8; ++k) {
+        const int v = (int)std::rand()%3;
+        randomid[k] = (char)(v==0?('0' + (std::rand()%10)):(v==1?('a' + (std::rand()%26)):('A' + (std::rand()%26))));
+      }
+      cimg::mutex(6,0);
+      return randomid;
+    }
+
+    // Convert filename as a Windows-style filename (short path name).
+    inline void winformat_string(char *const str) {
+      if (str && *str) {
+#if cimg_OS==2
+        char *const nstr = new char[MAX_PATH];
+        if (GetShortPathNameA(str,nstr,MAX_PATH)) std::strcpy(str,nstr);
+        delete[] nstr;
+#endif
+      }
+    }
+
+    //! Open a file.
+    /**
+       \param path Path of the filename to open.
+       \param mode C-string describing the opening mode.
+       \return Opened file.
+       \note Same as <tt>std::fopen()</tt> but throw a \c CImgIOException when
+       the specified file cannot be opened, instead of returning \c 0.
+    **/
+    inline std::FILE *fopen(const char *const path, const char *const mode) {
+      if (!path)
+        throw CImgArgumentException("cimg::fopen(): Specified file path is (null).");
+      if (!mode)
+        throw CImgArgumentException("cimg::fopen(): File '%s', specified mode is (null).",
+                                    path);
+      std::FILE *res = 0;
+      if (*path=='-' && (!path[1] || path[1]=='.')) {
+        res = (*mode=='r')?stdin:stdout;
+#if cimg_OS==2
+        if (*mode && mode[1]=='b') { // Force stdin/stdout to be in binary mode.
+          if (_setmode(_fileno(res),0x8000)==-1) res = 0;
+        }
+#endif
+      } else res = std::fopen(path,mode);
+      if (!res) throw CImgIOException("cimg::fopen(): Failed to open file '%s' with mode '%s'.",
+                                      path,mode);
+      return res;
+    }
+
+    //! Close a file.
+    /**
+       \param file File to close.
+       \return \c 0 if file has been closed properly, something else otherwise.
+       \note Same as <tt>std::fclose()</tt> but display a warning message if
+       the file has not been closed properly.
+    **/
+    inline int fclose(std::FILE *file) {
+      if (!file) warn("cimg::fclose(): Specified file is (null).");
+      if (!file || file==stdin || file==stdout) return 0;
+      const int errn = std::fclose(file);
+      if (errn!=0) warn("cimg::fclose(): Error code %d returned during file closing.",
+                        errn);
+      return errn;
+    }
+
+    //! Check if a path is a directory.
+    /**
+       \param path Specified path to test.
+    **/
+    inline bool is_directory(const char *const path) {
+      if (!path || !*path) return false;
+#if cimg_OS==1
+      struct stat st_buf;
+      return (!stat(path,&st_buf) && S_ISDIR(st_buf.st_mode));
+#elif cimg_OS==2
+      const unsigned int res = (unsigned int)GetFileAttributesA(path);
+      return res==INVALID_FILE_ATTRIBUTES?false:(res&16);
+#endif
+    }
+
+    //! Check if a path is a file.
+    /**
+       \param path Specified path to test.
+    **/
+    inline bool is_file(const char *const path) {
+      if (!path || !*path) return false;
+      std::FILE *const file = std::fopen(path,"rb");
+      if (!file) return false;
+      std::fclose(file);
+      return !is_directory(path);
+    }
+
+    //! Get last write time of a given file or directory.
+    /**
+       \param path Specified path to get attributes from.
+       \param attr Type of requested time attribute.
+                   Can be { 0=year | 1=month | 2=day | 3=day of week | 4=hour | 5=minute | 6=second }
+       \return -1 if requested attribute could not be read.
+    **/
+    inline int fdate(const char *const path, const unsigned int attr) {
+      int res = -1;
+      if (!path || !*path || attr>6) return -1;
+      cimg::mutex(6);
+#if cimg_OS==2
+      HANDLE file = CreateFileA(path,GENERIC_READ,0,0,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,0);
+      if (file!=INVALID_HANDLE_VALUE) {
+        FILETIME _ft;
+        SYSTEMTIME ft;
+        if (GetFileTime(file,0,0,&_ft) && FileTimeToSystemTime(&_ft,&ft))
+          res = (int)(attr==0?ft.wYear:attr==1?ft.wMonth:attr==2?ft.wDay:attr==3?ft.wDayOfWeek:
+                      attr==4?ft.wHour:attr==5?ft.wMinute:ft.wSecond);
+        CloseHandle(file);
+      }
+#else
+      struct stat st_buf;
+      if (!stat(path,&st_buf)) {
+        const time_t _ft = st_buf.st_mtime;
+        const struct tm& ft = *std::localtime(&_ft);
+        res = (int)(attr==0?ft.tm_year + 1900:attr==1?ft.tm_mon + 1:attr==2?ft.tm_mday:attr==3?ft.tm_wday:
+                    attr==4?ft.tm_hour:attr==5?ft.tm_min:ft.tm_sec);
+      }
+#endif
+      cimg::mutex(6,0);
+      return res;
+    }
+
+    //! Get current local time.
+    /**
+       \param attr Type of requested time attribute.
+                   Can be { 0=year | 1=month | 2=day | 3=day of week | 4=hour | 5=minute | 6=second }
+    **/
+    inline int date(const unsigned int attr) {
+      int res = -1;
+      cimg::mutex(6);
+#if cimg_OS==2
+      SYSTEMTIME st;
+      GetLocalTime(&st);
+      res = (int)(attr==0?st.wYear:attr==1?st.wMonth:attr==2?st.wDay:attr==3?st.wDayOfWeek:
+                  attr==4?st.wHour:attr==5?st.wMinute:st.wSecond);
+#else
+      time_t _st;
+      std::time(&_st);
+      struct tm *st = std::localtime(&_st);
+      res = (int)(attr==0?st->tm_year + 1900:attr==1?st->tm_mon + 1:attr==2?st->tm_mday:attr==3?st->tm_wday:
+                  attr==4?st->tm_hour:attr==5?st->tm_min:st->tm_sec);
+#endif
+      cimg::mutex(6,0);
+      return res;
+    }
+
+    // Get/set path to store temporary files.
+    inline const char* temporary_path(const char *const user_path=0, const bool reinit_path=false);
+
+    // Get/set path to the <i>Program Files/</i> directory (Windows only).
+#if cimg_OS==2
+    inline const char* programfiles_path(const char *const user_path=0, const bool reinit_path=false);
+#endif
+
+    // Get/set path to the ImageMagick's \c convert binary.
+    inline const char* imagemagick_path(const char *const user_path=0, const bool reinit_path=false);
+
+    // Get/set path to the GraphicsMagick's \c gm binary.
+    inline const char* graphicsmagick_path(const char *const user_path=0, const bool reinit_path=false);
+
+    // Get/set path to the XMedcon's \c medcon binary.
+    inline const char* medcon_path(const char *const user_path=0, const bool reinit_path=false);
+
+    // Get/set path to the FFMPEG's \c ffmpeg binary.
+    inline const char *ffmpeg_path(const char *const user_path=0, const bool reinit_path=false);
+
+    // Get/set path to the \c gzip binary.
+    inline const char *gzip_path(const char *const user_path=0, const bool reinit_path=false);
+
+    // Get/set path to the \c gunzip binary.
+    inline const char *gunzip_path(const char *const user_path=0, const bool reinit_path=false);
+
+    // Get/set path to the \c dcraw binary.
+    inline const char *dcraw_path(const char *const user_path=0, const bool reinit_path=false);
+
+    // Get/set path to the \c wget binary.
+    inline const char *wget_path(const char *const user_path=0, const bool reinit_path=false);
+
+    // Get/set path to the \c curl binary.
+    inline const char *curl_path(const char *const user_path=0, const bool reinit_path=false);
+
+    //! Split filename into two C-strings \c body and \c extension.
+    /**
+       filename and body must not overlap!
+    **/
+    inline const char *split_filename(const char *const filename, char *const body=0) {
+      if (!filename) { if (body) *body = 0; return 0; }
+      const char *p = 0; for (const char *np = filename; np>=filename && (p=np); np = std::strchr(np,'.') + 1) {}
+      if (p==filename) {
+        if (body) std::strcpy(body,filename);
+        return filename + std::strlen(filename);
+      }
+      const unsigned int l = (unsigned int)(p - filename - 1);
+      if (body) { if (l) std::memcpy(body,filename,l); body[l] = 0; }
+      return p;
+    }
+
+    //! Generate a numbered version of a filename.
+    inline char* number_filename(const char *const filename, const int number,
+                                 const unsigned int digits, char *const str) {
+      if (!filename) { if (str) *str = 0; return 0; }
+      char *const format = new char[1024], *const body = new char[1024];
+      const char *const ext = cimg::split_filename(filename,body);
+      if (*ext) cimg_snprintf(format,1024,"%%s_%%.%ud.%%s",digits);
+      else cimg_snprintf(format,1024,"%%s_%%.%ud",digits);
+      cimg_sprintf(str,format,body,number,ext);
+      delete[] format; delete[] body;
+      return str;
+    }
+
+    //! Read data from file.
+    /**
+       \param[out] ptr Pointer to memory buffer that will contain the binary data read from file.
+       \param nmemb Number of elements to read.
+       \param stream File to read data from.
+       \return Number of read elements.
+       \note Same as <tt>std::fread()</tt> but may display warning message if all elements could not be read.
+    **/
+    template<typename T>
+    inline int fread(T *const ptr, const unsigned long nmemb, std::FILE *stream) {
+      if (!ptr || !stream)
+        throw CImgArgumentException("cimg::fread(): Invalid reading request of %u %s%s from file %p to buffer %p.",
+                                    nmemb,cimg::type<T>::string(),nmemb>1?"s":"",stream,ptr);
+      if (!nmemb) return 0;
+      const unsigned long wlimitT = 63*1024*1024, wlimit = wlimitT/sizeof(T);
+      unsigned long to_read = nmemb, al_read = 0, l_to_read = 0, l_al_read = 0;
+      do {
+        l_to_read = (to_read*sizeof(T))<wlimitT?to_read:wlimit;
+        l_al_read = (unsigned long)std::fread((void*)(ptr + al_read),sizeof(T),l_to_read,stream);
+        al_read+=l_al_read;
+        to_read-=l_al_read;
+      } while (l_to_read==l_al_read && to_read>0);
+      if (to_read>0)
+        warn("cimg::fread(): Only %u/%u elements could be read from file.",
+             al_read,nmemb);
+      return (int)al_read;
+    }
+
+    //! Write data to file.
+    /**
+       \param ptr Pointer to memory buffer containing the binary data to write on file.
+       \param nmemb Number of elements to write.
+       \param[out] stream File to write data on.
+       \return Number of written elements.
+       \note Similar to <tt>std::fwrite</tt> but may display warning messages if all elements could not be written.
+    **/
+    template<typename T>
+    inline int fwrite(const T *ptr, const unsigned long nmemb, std::FILE *stream) {
+      if (!ptr || !stream)
+        throw CImgArgumentException("cimg::fwrite(): Invalid writing request of %u %s%s from buffer %p to file %p.",
+                                    nmemb,cimg::type<T>::string(),nmemb>1?"s":"",ptr,stream);
+      if (!nmemb) return 0;
+      const unsigned long wlimitT = 63*1024*1024, wlimit = wlimitT/sizeof(T);
+      unsigned long to_write = nmemb, al_write = 0, l_to_write = 0, l_al_write = 0;
+      do {
+        l_to_write = (to_write*sizeof(T))<wlimitT?to_write:wlimit;
+        l_al_write = (unsigned long)std::fwrite((void*)(ptr + al_write),sizeof(T),l_to_write,stream);
+        al_write+=l_al_write;
+        to_write-=l_al_write;
+      } while (l_to_write==l_al_write && to_write>0);
+      if (to_write>0)
+        warn("cimg::fwrite(): Only %u/%u elements could be written in file.",
+             al_write,nmemb);
+      return (int)al_write;
+    }
+
+    //! Create an empty file.
+    /**
+       \param file Input file (can be \c 0 if \c filename is set).
+       \param filename Filename, as a C-string (can be \c 0 if \c file is set).
+    **/
+    inline void fempty(std::FILE *const file, const char *const filename) {
+      if (!file && !filename)
+        throw CImgArgumentException("cimg::fempty(): Specified filename is (null).");
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"wb");
+      if (!file) cimg::fclose(nfile);
+    }
+
+    // Try to guess format from an image file.
+    inline const char *ftype(std::FILE *const file, const char *const filename);
+
+    // Load file from network as a local temporary file.
+    inline char *load_network(const char *const url, char *const filename_local,
+                              const unsigned int timeout=0, const bool try_fallback=false);
+
+    //! Return options specified on the command line.
+    inline const char* option(const char *const name, const int argc, const char *const *const argv,
+                              const char *const defaut, const char *const usage, const bool reset_static) {
+      static bool first = true, visu = false;
+      if (reset_static) { first = true; return 0; }
+      const char *res = 0;
+      if (first) {
+        first = false;
+        visu = cimg::option("-h",argc,argv,(char*)0,(char*)0,false)!=0;
+        visu |= cimg::option("-help",argc,argv,(char*)0,(char*)0,false)!=0;
+        visu |= cimg::option("--help",argc,argv,(char*)0,(char*)0,false)!=0;
+      }
+      if (!name && visu) {
+        if (usage) {
+          std::fprintf(cimg::output(),"\n %s%s%s",cimg::t_red,cimg::basename(argv[0]),cimg::t_normal);
+          std::fprintf(cimg::output(),": %s",usage);
+          std::fprintf(cimg::output()," (%s, %s)\n\n",__DATE__,__TIME__);
+        }
+        if (defaut) std::fprintf(cimg::output(),"%s\n",defaut);
+      }
+      if (name) {
+        if (argc>0) {
+          int k = 0;
+          while (k<argc && std::strcmp(argv[k],name)) ++k;
+          res = (k++==argc?defaut:(k==argc?argv[--k]:argv[k]));
+        } else res = defaut;
+        if (visu && usage) std::fprintf(cimg::output(),"    %s%-16s%s %-24s %s%s%s\n",
+                                        cimg::t_bold,name,cimg::t_normal,res?res:"0",
+                                        cimg::t_green,usage,cimg::t_normal);
+      }
+      return res;
+    }
+
+    inline const char* option(const char *const name, const int argc, const char *const *const argv,
+                              const char *const defaut, const char *const usage=0) {
+      return option(name,argc,argv,defaut,usage,false);
+    }
+
+    inline bool option(const char *const name, const int argc, const char *const *const argv,
+                       const bool defaut, const char *const usage=0) {
+      const char *const s = cimg::option(name,argc,argv,(char*)0);
+      const bool res = s?(cimg::strcasecmp(s,"false") && cimg::strcasecmp(s,"off") && cimg::strcasecmp(s,"0")):defaut;
+      cimg::option(name,0,0,res?"true":"false",usage);
+      return res;
+    }
+
+    inline int option(const char *const name, const int argc, const char *const *const argv,
+                      const int defaut, const char *const usage=0) {
+      const char *const s = cimg::option(name,argc,argv,(char*)0);
+      const int res = s?std::atoi(s):defaut;
+      char *const tmp = new char[256];
+      cimg_snprintf(tmp,256,"%d",res);
+      cimg::option(name,0,0,tmp,usage);
+      delete[] tmp;
+      return res;
+    }
+
+    inline char option(const char *const name, const int argc, const char *const *const argv,
+                       const char defaut, const char *const usage=0) {
+      const char *const s = cimg::option(name,argc,argv,(char*)0);
+      const char res = s?*s:defaut;
+      char tmp[8] = { 0 };
+      *tmp = res;
+      cimg::option(name,0,0,tmp,usage);
+      return res;
+    }
+
+    inline float option(const char *const name, const int argc, const char *const *const argv,
+                        const float defaut, const char *const usage=0) {
+      const char *const s = cimg::option(name,argc,argv,(char*)0);
+      const float res = s?(float)cimg::atof(s):defaut;
+      char *const tmp = new char[256];
+      cimg_snprintf(tmp,256,"%g",res);
+      cimg::option(name,0,0,tmp,usage);
+      delete[] tmp;
+      return res;
+    }
+
+    inline double option(const char *const name, const int argc, const char *const *const argv,
+                         const double defaut, const char *const usage=0) {
+      const char *const s = cimg::option(name,argc,argv,(char*)0);
+      const double res = s?cimg::atof(s):defaut;
+      char *const tmp = new char[256];
+      cimg_snprintf(tmp,256,"%g",res);
+      cimg::option(name,0,0,tmp,usage);
+      delete[] tmp;
+      return res;
+    }
+
+    //! Print information about \CImg environement variables.
+    /**
+       \note Output is done on the default output stream.
+    **/
+    inline void info() {
+      std::fprintf(cimg::output(),"\n %s%sCImg Library %u.%u.%u%s, compiled %s ( %s ) with the following flags:\n\n",
+                   cimg::t_red,cimg::t_bold,cimg_version/100,(cimg_version/10)%10,cimg_version%10,
+                   cimg::t_normal,__DATE__,__TIME__);
+
+      std::fprintf(cimg::output(),"  > Operating System:       %s%-13s%s %s('cimg_OS'=%d)%s\n",
+                   cimg::t_bold,
+                   cimg_OS==1?"Unix":(cimg_OS==2?"Windows":"Unknow"),
+                   cimg::t_normal,cimg::t_green,
+                   cimg_OS,
+                   cimg::t_normal);
+
+      std::fprintf(cimg::output(),"  > CPU endianness:         %s%s Endian%s\n",
+                   cimg::t_bold,
+                   cimg::endianness()?"Big":"Little",
+                   cimg::t_normal);
+
+      std::fprintf(cimg::output(),"  > Verbosity mode:         %s%-13s%s %s('cimg_verbosity'=%d)%s\n",
+                   cimg::t_bold,
+                   cimg_verbosity==0?"Quiet":
+                   cimg_verbosity==1?"Console":
+                   cimg_verbosity==2?"Dialog":
+                   cimg_verbosity==3?"Console+Warnings":"Dialog+Warnings",
+                   cimg::t_normal,cimg::t_green,
+                   cimg_verbosity,
+                   cimg::t_normal);
+
+      std::fprintf(cimg::output(),"  > Stricts warnings:       %s%-13s%s %s('cimg_strict_warnings' %s)%s\n",
+                   cimg::t_bold,
+#ifdef cimg_strict_warnings
+                   "Yes",cimg::t_normal,cimg::t_green,"defined",
+#else
+                   "No",cimg::t_normal,cimg::t_green,"undefined",
+#endif
+                   cimg::t_normal);
+
+      std::fprintf(cimg::output(),"  > Using VT100 messages:   %s%-13s%s %s('cimg_use_vt100' %s)%s\n",
+                   cimg::t_bold,
+#ifdef cimg_use_vt100
+                   "Yes",cimg::t_normal,cimg::t_green,"defined",
+#else
+                   "No",cimg::t_normal,cimg::t_green,"undefined",
+#endif
+                   cimg::t_normal);
+
+      std::fprintf(cimg::output(),"  > Display type:           %s%-13s%s %s('cimg_display'=%d)%s\n",
+                   cimg::t_bold,
+                   cimg_display==0?"No display":cimg_display==1?"X11":cimg_display==2?"Windows GDI":"Unknown",
+                   cimg::t_normal,cimg::t_green,
+                   cimg_display,
+                   cimg::t_normal);
+
+#if cimg_display==1
+      std::fprintf(cimg::output(),"  > Using XShm for X11:     %s%-13s%s %s('cimg_use_xshm' %s)%s\n",
+                   cimg::t_bold,
+#ifdef cimg_use_xshm
+                   "Yes",cimg::t_normal,cimg::t_green,"defined",
+#else
+                   "No",cimg::t_normal,cimg::t_green,"undefined",
+#endif
+                   cimg::t_normal);
+
+      std::fprintf(cimg::output(),"  > Using XRand for X11:    %s%-13s%s %s('cimg_use_xrandr' %s)%s\n",
+                   cimg::t_bold,
+#ifdef cimg_use_xrandr
+                   "Yes",cimg::t_normal,cimg::t_green,"defined",
+#else
+                   "No",cimg::t_normal,cimg::t_green,"undefined",
+#endif
+                   cimg::t_normal);
+#endif
+      std::fprintf(cimg::output(),"  > Using OpenMP:           %s%-13s%s %s('cimg_use_openmp' %s)%s\n",
+                   cimg::t_bold,
+#ifdef cimg_use_openmp
+                   "Yes",cimg::t_normal,cimg::t_green,"defined",
+#else
+                   "No",cimg::t_normal,cimg::t_green,"undefined",
+#endif
+                   cimg::t_normal);
+      std::fprintf(cimg::output(),"  > Using PNG library:      %s%-13s%s %s('cimg_use_png' %s)%s\n",
+                   cimg::t_bold,
+#ifdef cimg_use_png
+                   "Yes",cimg::t_normal,cimg::t_green,"defined",
+#else
+                   "No",cimg::t_normal,cimg::t_green,"undefined",
+#endif
+                   cimg::t_normal);
+      std::fprintf(cimg::output(),"  > Using JPEG library:     %s%-13s%s %s('cimg_use_jpeg' %s)%s\n",
+                   cimg::t_bold,
+#ifdef cimg_use_jpeg
+                   "Yes",cimg::t_normal,cimg::t_green,"defined",
+#else
+                   "No",cimg::t_normal,cimg::t_green,"undefined",
+#endif
+                   cimg::t_normal);
+
+      std::fprintf(cimg::output(),"  > Using TIFF library:     %s%-13s%s %s('cimg_use_tiff' %s)%s\n",
+                   cimg::t_bold,
+#ifdef cimg_use_tiff
+                   "Yes",cimg::t_normal,cimg::t_green,"defined",
+#else
+                   "No",cimg::t_normal,cimg::t_green,"undefined",
+#endif
+                   cimg::t_normal);
+
+      std::fprintf(cimg::output(),"  > Using Magick++ library: %s%-13s%s %s('cimg_use_magick' %s)%s\n",
+                   cimg::t_bold,
+#ifdef cimg_use_magick
+                   "Yes",cimg::t_normal,cimg::t_green,"defined",
+#else
+                   "No",cimg::t_normal,cimg::t_green,"undefined",
+#endif
+                   cimg::t_normal);
+
+      std::fprintf(cimg::output(),"  > Using FFTW3 library:    %s%-13s%s %s('cimg_use_fftw3' %s)%s\n",
+                   cimg::t_bold,
+#ifdef cimg_use_fftw3
+                   "Yes",cimg::t_normal,cimg::t_green,"defined",
+#else
+                   "No",cimg::t_normal,cimg::t_green,"undefined",
+#endif
+                   cimg::t_normal);
+
+      std::fprintf(cimg::output(),"  > Using LAPACK library:   %s%-13s%s %s('cimg_use_lapack' %s)%s\n",
+                   cimg::t_bold,
+#ifdef cimg_use_lapack
+                   "Yes",cimg::t_normal,cimg::t_green,"defined",
+#else
+                   "No",cimg::t_normal,cimg::t_green,"undefined",
+#endif
+                   cimg::t_normal);
+
+      char *const tmp = new char[1024];
+      cimg_snprintf(tmp,1024,"\"%.1020s\"",cimg::imagemagick_path());
+      std::fprintf(cimg::output(),"  > Path of ImageMagick:    %s%-13s%s\n",
+                   cimg::t_bold,
+                   tmp,
+                   cimg::t_normal);
+
+      cimg_snprintf(tmp,1024,"\"%.1020s\"",cimg::graphicsmagick_path());
+      std::fprintf(cimg::output(),"  > Path of GraphicsMagick: %s%-13s%s\n",
+                   cimg::t_bold,
+                   tmp,
+                   cimg::t_normal);
+
+      cimg_snprintf(tmp,1024,"\"%.1020s\"",cimg::medcon_path());
+      std::fprintf(cimg::output(),"  > Path of 'medcon':       %s%-13s%s\n",
+                   cimg::t_bold,
+                   tmp,
+                   cimg::t_normal);
+
+      cimg_snprintf(tmp,1024,"\"%.1020s\"",cimg::temporary_path());
+      std::fprintf(cimg::output(),"  > Temporary path:         %s%-13s%s\n",
+                   cimg::t_bold,
+                   tmp,
+                   cimg::t_normal);
+
+      std::fprintf(cimg::output(),"\n");
+      delete[] tmp;
+    }
+
+    // Declare LAPACK function signatures if LAPACK support is enabled.
+#ifdef cimg_use_lapack
+    template<typename T>
+    inline void getrf(int &N, T *lapA, int *IPIV, int &INFO) {
+      dgetrf_(&N,&N,lapA,&N,IPIV,&INFO);
+    }
+
+    inline void getrf(int &N, float *lapA, int *IPIV, int &INFO) {
+      sgetrf_(&N,&N,lapA,&N,IPIV,&INFO);
+    }
+
+    template<typename T>
+    inline void getri(int &N, T *lapA, int *IPIV, T* WORK, int &LWORK, int &INFO) {
+      dgetri_(&N,lapA,&N,IPIV,WORK,&LWORK,&INFO);
+    }
+
+    inline void getri(int &N, float *lapA, int *IPIV, float* WORK, int &LWORK, int &INFO) {
+      sgetri_(&N,lapA,&N,IPIV,WORK,&LWORK,&INFO);
+    }
+
+    template<typename T>
+    inline void gesvd(char &JOB, int &M, int &N, T *lapA, int &MN,
+                      T *lapS, T *lapU, T *lapV, T *WORK, int &LWORK, int &INFO) {
+      dgesvd_(&JOB,&JOB,&M,&N,lapA,&MN,lapS,lapU,&M,lapV,&N,WORK,&LWORK,&INFO);
+    }
+
+    inline void gesvd(char &JOB, int &M, int &N, float *lapA, int &MN,
+                      float *lapS, float *lapU, float *lapV, float *WORK, int &LWORK, int &INFO) {
+      sgesvd_(&JOB,&JOB,&M,&N,lapA,&MN,lapS,lapU,&M,lapV,&N,WORK,&LWORK,&INFO);
+    }
+
+    template<typename T>
+    inline void getrs(char &TRANS, int &N, T *lapA, int *IPIV, T *lapB, int &INFO) {
+      int one = 1;
+      dgetrs_(&TRANS,&N,&one,lapA,&N,IPIV,lapB,&N,&INFO);
+    }
+
+    inline void getrs(char &TRANS, int &N, float *lapA, int *IPIV, float *lapB, int &INFO) {
+      int one = 1;
+      sgetrs_(&TRANS,&N,&one,lapA,&N,IPIV,lapB,&N,&INFO);
+    }
+
+    template<typename T>
+    inline void syev(char &JOB, char &UPLO, int &N, T *lapA, T *lapW, T *WORK, int &LWORK, int &INFO) {
+      dsyev_(&JOB,&UPLO,&N,lapA,&N,lapW,WORK,&LWORK,&INFO);
+    }
+
+    inline void syev(char &JOB, char &UPLO, int &N, float *lapA, float *lapW, float *WORK, int &LWORK, int &INFO) {
+      ssyev_(&JOB,&UPLO,&N,lapA,&N,lapW,WORK,&LWORK,&INFO);
+    }
+
+    template<typename T>
+    inline void sgels(char & TRANS, int &M, int &N, int &NRHS, T* lapA, int &LDA,
+		      T* lapB, int &LDB, T* WORK, int &LWORK, int &INFO){
+      dgels_(&TRANS, &M, &N, &NRHS, lapA, &LDA, lapB, &LDB, WORK, &LWORK, &INFO);
+    }
+
+    inline void sgels(char & TRANS, int &M, int &N, int &NRHS, float* lapA, int &LDA,
+		      float* lapB, int &LDB, float* WORK, int &LWORK, int &INFO){
+      sgels_(&TRANS, &M, &N, &NRHS, lapA, &LDA, lapB, &LDB, WORK, &LWORK, &INFO);
+    }
+
+#endif
+
+    // End of the 'cimg' namespace
+  }
+
+  /*------------------------------------------------
+   #
+   #
+   #   Definition of mathematical operators and
+   #   external functions.
+   #
+   #
+   -------------------------------------------------*/
+
+#define _cimg_create_ext_operators(typ) \
+  template<typename T> \
+  inline CImg<typename cimg::superset<T,typ>::type> operator+(const typ val, const CImg<T>& img) { \
+    return img + val; \
+  } \
+  template<typename T> \
+  inline CImg<typename cimg::superset<T,typ>::type> operator-(const typ val, const CImg<T>& img) { \
+    typedef typename cimg::superset<T,typ>::type Tt; \
+    return CImg<Tt>(img._width,img._height,img._depth,img._spectrum,val)-=img; \
+  } \
+  template<typename T> \
+  inline CImg<typename cimg::superset<T,typ>::type> operator*(const typ val, const CImg<T>& img) { \
+    return img*val; \
+  } \
+  template<typename T> \
+  inline CImg<typename cimg::superset<T,typ>::type> operator/(const typ val, const CImg<T>& img) { \
+    return val*img.get_invert(); \
+  } \
+  template<typename T> \
+  inline CImg<typename cimg::superset<T,typ>::type> operator&(const typ val, const CImg<T>& img) { \
+    return img & val; \
+  } \
+  template<typename T> \
+  inline CImg<typename cimg::superset<T,typ>::type> operator|(const typ val, const CImg<T>& img) { \
+    return img | val; \
+  } \
+  template<typename T> \
+  inline CImg<typename cimg::superset<T,typ>::type> operator^(const typ val, const CImg<T>& img) { \
+    return img ^ val; \
+  } \
+  template<typename T> \
+  inline bool operator==(const typ val, const CImg<T>& img) {   \
+    return img == val; \
+  } \
+  template<typename T> \
+  inline bool operator!=(const typ val, const CImg<T>& img) { \
+    return img != val; \
+  }
+
+  _cimg_create_ext_operators(bool)
+  _cimg_create_ext_operators(unsigned char)
+  _cimg_create_ext_operators(char)
+  _cimg_create_ext_operators(signed char)
+  _cimg_create_ext_operators(unsigned short)
+  _cimg_create_ext_operators(short)
+  _cimg_create_ext_operators(unsigned int)
+  _cimg_create_ext_operators(int)
+  _cimg_create_ext_operators(unsigned long)
+  _cimg_create_ext_operators(long)
+  _cimg_create_ext_operators(float)
+  _cimg_create_ext_operators(double)
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> operator+(const char *const expression, const CImg<T>& img) {
+    return img + expression;
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> operator-(const char *const expression, const CImg<T>& img) {
+    return CImg<_cimg_Tfloat>(img._width,img._height,img._depth,img._spectrum,expression,true)-=img;
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> operator*(const char *const expression, const CImg<T>& img) {
+    return img*expression;
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> operator/(const char *const expression, const CImg<T>& img) {
+    return expression*img.get_invert();
+  }
+
+  template<typename T>
+  inline CImg<T> operator&(const char *const expression, const CImg<T>& img) {
+    return img & expression;
+  }
+
+  template<typename T>
+  inline CImg<T> operator|(const char *const expression, const CImg<T>& img) {
+    return img | expression;
+  }
+
+  template<typename T>
+  inline CImg<T> operator^(const char *const expression, const CImg<T>& img) {
+    return img ^ expression;
+  }
+
+  template<typename T>
+  inline bool operator==(const char *const expression, const CImg<T>& img) {
+    return img == expression;
+  }
+
+  template<typename T>
+  inline bool operator!=(const char *const expression, const CImg<T>& img) {
+    return img != expression;
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> sqr(const CImg<T>& instance) {
+    return instance.get_sqr();
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> sqrt(const CImg<T>& instance) {
+    return instance.get_sqrt();
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> exp(const CImg<T>& instance) {
+    return instance.get_exp();
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> log(const CImg<T>& instance) {
+    return instance.get_log();
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> log2(const CImg<T>& instance) {
+    return instance.get_log2();
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> log10(const CImg<T>& instance) {
+    return instance.get_log10();
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> abs(const CImg<T>& instance) {
+    return instance.get_abs();
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> sign(const CImg<T>& instance) {
+    return instance.get_sign();
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> cos(const CImg<T>& instance) {
+    return instance.get_cos();
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> sin(const CImg<T>& instance) {
+    return instance.get_sin();
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> sinc(const CImg<T>& instance) {
+    return instance.get_sinc();
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> tan(const CImg<T>& instance) {
+    return instance.get_tan();
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> acos(const CImg<T>& instance) {
+    return instance.get_acos();
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> asin(const CImg<T>& instance) {
+    return instance.get_asin();
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> atan(const CImg<T>& instance) {
+    return instance.get_atan();
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> cosh(const CImg<T>& instance) {
+    return instance.get_cosh();
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> sinh(const CImg<T>& instance) {
+    return instance.get_sinh();
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> tanh(const CImg<T>& instance) {
+    return instance.get_tanh();
+  }
+
+  template<typename T>
+  inline CImg<T> transpose(const CImg<T>& instance) {
+    return instance.get_transpose();
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> invert(const CImg<T>& instance) {
+    return instance.get_invert();
+  }
+
+  template<typename T>
+  inline CImg<_cimg_Tfloat> pseudoinvert(const CImg<T>& instance) {
+    return instance.get_pseudoinvert();
+  }
+
+  /*-----------------------------------
+   #
+   # Define the CImgDisplay structure
+   #
+   ----------------------------------*/
+  //! Allow to create windows, display images on them and manage user events (keyboard, mouse and windows events).
+  /**
+     CImgDisplay methods rely on a low-level graphic library to perform: it can be either \b X-Window
+     (X11, for Unix-based systems) or \b GDI32 (for Windows-based systems).
+     If both libraries are missing, CImgDisplay will not be able to display images on screen, and will enter
+     a minimal mode where warning messages will be outputed each time the program is trying to call one of the
+     CImgDisplay method.
+
+     The configuration variable \c cimg_display tells about the graphic library used.
+     It is set automatically by \CImg when one of these graphic libraries has been detected.
+     But, you can override its value if necessary. Valid choices are:
+     - 0: Disable display capabilities.
+     - 1: Use \b X-Window (X11) library.
+     - 2: Use \b GDI32 library.
+
+     Remember to link your program against \b X11 or \b GDI32 libraries if you use CImgDisplay.
+  **/
+  struct CImgDisplay {
+    unsigned long _timer, _fps_frames, _fps_timer;
+    unsigned int _width, _height, _normalization;
+    float _fps_fps, _min, _max;
+    bool _is_fullscreen;
+    char *_title;
+    unsigned int _window_width, _window_height, _button, *_keys, *_released_keys;
+    int _window_x, _window_y, _mouse_x, _mouse_y, _wheel;
+    bool _is_closed, _is_resized, _is_moved, _is_event,
+      _is_keyESC, _is_keyF1, _is_keyF2, _is_keyF3, _is_keyF4, _is_keyF5, _is_keyF6, _is_keyF7,
+      _is_keyF8, _is_keyF9, _is_keyF10, _is_keyF11, _is_keyF12, _is_keyPAUSE, _is_key1, _is_key2,
+      _is_key3, _is_key4, _is_key5, _is_key6, _is_key7, _is_key8, _is_key9, _is_key0,
+      _is_keyBACKSPACE, _is_keyINSERT, _is_keyHOME, _is_keyPAGEUP, _is_keyTAB, _is_keyQ, _is_keyW, _is_keyE,
+      _is_keyR, _is_keyT, _is_keyY, _is_keyU, _is_keyI, _is_keyO, _is_keyP, _is_keyDELETE,
+      _is_keyEND, _is_keyPAGEDOWN, _is_keyCAPSLOCK, _is_keyA, _is_keyS, _is_keyD, _is_keyF, _is_keyG,
+      _is_keyH, _is_keyJ, _is_keyK, _is_keyL, _is_keyENTER, _is_keySHIFTLEFT, _is_keyZ, _is_keyX,
+      _is_keyC, _is_keyV, _is_keyB, _is_keyN, _is_keyM, _is_keySHIFTRIGHT, _is_keyARROWUP, _is_keyCTRLLEFT,
+      _is_keyAPPLEFT, _is_keyALT, _is_keySPACE, _is_keyALTGR, _is_keyAPPRIGHT, _is_keyMENU, _is_keyCTRLRIGHT,
+      _is_keyARROWLEFT, _is_keyARROWDOWN, _is_keyARROWRIGHT, _is_keyPAD0, _is_keyPAD1, _is_keyPAD2, _is_keyPAD3,
+      _is_keyPAD4, _is_keyPAD5, _is_keyPAD6, _is_keyPAD7, _is_keyPAD8, _is_keyPAD9, _is_keyPADADD, _is_keyPADSUB,
+      _is_keyPADMUL, _is_keyPADDIV;
+
+    //@}
+    //---------------------------
+    //
+    //! \name Plugins
+    //@{
+    //---------------------------
+
+#ifdef cimgdisplay_plugin
+#include cimgdisplay_plugin
+#endif
+#ifdef cimgdisplay_plugin1
+#include cimgdisplay_plugin1
+#endif
+#ifdef cimgdisplay_plugin2
+#include cimgdisplay_plugin2
+#endif
+#ifdef cimgdisplay_plugin3
+#include cimgdisplay_plugin3
+#endif
+#ifdef cimgdisplay_plugin4
+#include cimgdisplay_plugin4
+#endif
+#ifdef cimgdisplay_plugin5
+#include cimgdisplay_plugin5
+#endif
+#ifdef cimgdisplay_plugin6
+#include cimgdisplay_plugin6
+#endif
+#ifdef cimgdisplay_plugin7
+#include cimgdisplay_plugin7
+#endif
+#ifdef cimgdisplay_plugin8
+#include cimgdisplay_plugin8
+#endif
+
+    //@}
+    //--------------------------------------------------------
+    //
+    //! \name Constructors / Destructor / Instance Management
+    //@{
+    //--------------------------------------------------------
+
+    //! Destructor.
+    /**
+       \note If the associated window is visible on the screen, it is closed by the call to the destructor.
+    **/
+    ~CImgDisplay() {
+      assign();
+      delete[] _keys;
+      delete[] _released_keys;
+    }
+
+    //! Construct an empty display.
+    /**
+       \note Constructing an empty CImgDisplay instance does not make a window appearing on the screen, until
+       display of valid data is performed.
+       \par Example
+       \code
+       CImgDisplay disp;  // Does actually nothing.
+       ...
+       disp.display(img); // Construct new window and display image in it.
+       \endcode
+    **/
+    CImgDisplay():
+      _width(0),_height(0),_normalization(0),
+      _min(0),_max(0),
+      _is_fullscreen(false),
+      _title(0),
+      _window_width(0),_window_height(0),_button(0),
+      _keys(new unsigned int[128]),_released_keys(new unsigned int[128]),
+      _window_x(0),_window_y(0),_mouse_x(-1),_mouse_y(-1),_wheel(0),
+      _is_closed(true),_is_resized(false),_is_moved(false),_is_event(false) {
+      assign();
+    }
+
+    //! Construct a display with specified dimensions.
+    /** \param width Window width.
+        \param height Window height.
+        \param title Window title.
+        \param normalization Normalization type
+        (<tt>0</tt>=none, <tt>1</tt>=always, <tt>2</tt>=once, <tt>3</tt>=pixel type-dependent, see normalization()).
+        \param is_fullscreen Tells if fullscreen mode is enabled.
+        \param is_closed Tells if associated window is initially visible or not.
+        \note A black background is initially displayed on the associated window.
+    **/
+    CImgDisplay(const unsigned int width, const unsigned int height,
+                const char *const title=0, const unsigned int normalization=3,
+                const bool is_fullscreen=false, const bool is_closed=false):
+      _width(0),_height(0),_normalization(0),
+      _min(0),_max(0),
+      _is_fullscreen(false),
+      _title(0),
+      _window_width(0),_window_height(0),_button(0),
+      _keys(new unsigned int[128]),_released_keys(new unsigned int[128]),
+      _window_x(0),_window_y(0),_mouse_x(-1),_mouse_y(-1),_wheel(0),
+      _is_closed(true),_is_resized(false),_is_moved(false),_is_event(false) {
+      assign(width,height,title,normalization,is_fullscreen,is_closed);
+    }
+
+    //! Construct a display from an image.
+    /** \param img Image used as a model to create the window.
+        \param title Window title.
+        \param normalization Normalization type
+        (<tt>0</tt>=none, <tt>1</tt>=always, <tt>2</tt>=once, <tt>3</tt>=pixel type-dependent, see normalization()).
+        \param is_fullscreen Tells if fullscreen mode is enabled.
+        \param is_closed Tells if associated window is initially visible or not.
+        \note The pixels of the input image are initially displayed on the associated window.
+    **/
+    template<typename T>
+    explicit CImgDisplay(const CImg<T>& img,
+                         const char *const title=0, const unsigned int normalization=3,
+                         const bool is_fullscreen=false, const bool is_closed=false):
+      _width(0),_height(0),_normalization(0),
+      _min(0),_max(0),
+      _is_fullscreen(false),
+      _title(0),
+      _window_width(0),_window_height(0),_button(0),
+      _keys(new unsigned int[128]),_released_keys(new unsigned int[128]),
+      _window_x(0),_window_y(0),_mouse_x(-1),_mouse_y(-1),_wheel(0),
+      _is_closed(true),_is_resized(false),_is_moved(false),_is_event(false) {
+      assign(img,title,normalization,is_fullscreen,is_closed);
+    }
+
+    //! Construct a display from an image list.
+    /** \param list The images list to display.
+        \param title Window title.
+        \param normalization Normalization type
+        (<tt>0</tt>=none, <tt>1</tt>=always, <tt>2</tt>=once, <tt>3</tt>=pixel type-dependent, see normalization()).
+        \param is_fullscreen Tells if fullscreen mode is enabled.
+        \param is_closed Tells if associated window is initially visible or not.
+        \note All images of the list, appended along the X-axis, are initially displayed on the associated window.
+    **/
+    template<typename T>
+    explicit CImgDisplay(const CImgList<T>& list,
+                         const char *const title=0, const unsigned int normalization=3,
+                         const bool is_fullscreen=false, const bool is_closed=false):
+      _width(0),_height(0),_normalization(0),
+      _min(0),_max(0),
+      _is_fullscreen(false),
+      _title(0),
+      _window_width(0),_window_height(0),_button(0),
+      _keys(new unsigned int[128]),_released_keys(new unsigned int[128]),
+      _window_x(0),_window_y(0),_mouse_x(-1),_mouse_y(-1),_wheel(0),
+      _is_closed(true),_is_resized(false),_is_moved(false),_is_event(false) {
+      assign(list,title,normalization,is_fullscreen,is_closed);
+    }
+
+    //! Construct a display as a copy of an existing one.
+    /**
+        \param disp Display instance to copy.
+        \note The pixel buffer of the input window is initially displayed on the associated window.
+    **/
+    CImgDisplay(const CImgDisplay& disp):
+      _width(0),_height(0),_normalization(0),
+      _min(0),_max(0),
+      _is_fullscreen(false),
+      _title(0),
+      _window_width(0),_window_height(0),_button(0),
+      _keys(new unsigned int[128]),_released_keys(new unsigned int[128]),
+      _window_x(0),_window_y(0),_mouse_x(-1),_mouse_y(-1),_wheel(0),
+      _is_closed(true),_is_resized(false),_is_moved(false),_is_event(false) {
+      assign(disp);
+    }
+
+#if cimg_display==0
+
+    static void _no_display_exception() {
+      throw CImgDisplayException("CImgDisplay(): No display available.");
+    }
+
+    //! Destructor - Empty constructor \inplace.
+    /**
+       \note Replace the current instance by an empty display.
+    **/
+    CImgDisplay& assign() {
+      return flush();
+    }
+
+    //! Construct a display with specified dimensions \inplace.
+    /**
+    **/
+    CImgDisplay& assign(const unsigned int width, const unsigned int height,
+                        const char *const title=0, const unsigned int normalization=3,
+                        const bool is_fullscreen=false, const bool is_closed=false) {
+      cimg::unused(width,height,title,normalization,is_fullscreen,is_closed);
+      _no_display_exception();
+      return assign();
+    }
+
+    //! Construct a display from an image \inplace.
+    /**
+    **/
+    template<typename T>
+    CImgDisplay& assign(const CImg<T>& img,
+                        const char *const title=0, const unsigned int normalization=3,
+                        const bool is_fullscreen=false, const bool is_closed=false) {
+      _no_display_exception();
+      return assign(img._width,img._height,title,normalization,is_fullscreen,is_closed);
+    }
+
+    //! Construct a display from an image list \inplace.
+    /**
+    **/
+    template<typename T>
+    CImgDisplay& assign(const CImgList<T>& list,
+                        const char *const title=0, const unsigned int normalization=3,
+                        const bool is_fullscreen=false, const bool is_closed=false) {
+      _no_display_exception();
+      return assign(list._width,list._width,title,normalization,is_fullscreen,is_closed);
+    }
+
+    //! Construct a display as a copy of another one \inplace.
+    /**
+    **/
+    CImgDisplay& assign(const CImgDisplay &disp) {
+      _no_display_exception();
+      return assign(disp._width,disp._height);
+    }
+
+#endif
+
+    //! Return a reference to an empty display.
+    /**
+       \note Can be useful for writing function prototypes where one of the argument (of type CImgDisplay&)
+       must have a default value.
+       \par Example
+       \code
+       void foo(CImgDisplay& disp=CImgDisplay::empty());
+       \endcode
+    **/
+    static CImgDisplay& empty() {
+      static CImgDisplay _empty;
+      return _empty.assign();
+    }
+
+#define cimg_fitscreen(dx,dy,dz) CImgDisplay::_fitscreen(dx,dy,dz,128,-85,false), \
+                                 CImgDisplay::_fitscreen(dx,dy,dz,128,-85,true)
+    static unsigned int _fitscreen(const unsigned int dx, const unsigned int dy, const unsigned int dz,
+                                   const int dmin, const int dmax,const bool return_y) {
+      const unsigned int _nw = dx + (dz>1?dz:0), _nh = dy + (dz>1?dz:0);
+      unsigned int nw = _nw?_nw:1, nh = _nh?_nh:1;
+      const unsigned int
+        sw = (unsigned int)CImgDisplay::screen_width(),
+        sh = (unsigned int)CImgDisplay::screen_height(),
+        mw = dmin<0?(unsigned int)(sw*-dmin/100):(unsigned int)dmin,
+        mh = dmin<0?(unsigned int)(sh*-dmin/100):(unsigned int)dmin,
+        Mw = dmax<0?(unsigned int)(sw*-dmax/100):(unsigned int)dmax,
+        Mh = dmax<0?(unsigned int)(sh*-dmax/100):(unsigned int)dmax;
+      if (nw<mw) { nh = nh*mw/nw; nh+=(nh==0?1:0); nw = mw; }
+      if (nh<mh) { nw = nw*mh/nh; nw+=(nw==0?1:0); nh = mh; }
+      if (nw>Mw) { nh = nh*Mw/nw; nh+=(nh==0?1:0); nw = Mw; }
+      if (nh>Mh) { nw = nw*Mh/nh; nw+=(nw==0?1:0); nh = Mh; }
+      if (nw<mw) nw = mw;
+      if (nh<mh) nh = mh;
+      return return_y?nh:nw;
+    }
+
+    //@}
+    //------------------------------------------
+    //
+    //! \name Overloaded Operators
+    //@{
+    //------------------------------------------
+
+    //! Display image on associated window.
+    /**
+       \note <tt>disp = img</tt> is equivalent to <tt>disp.display(img)</tt>.
+    **/
+    template<typename t>
+    CImgDisplay& operator=(const CImg<t>& img) {
+      return display(img);
+    }
+
+    //! Display list of images on associated window.
+    /**
+       \note <tt>disp = list</tt> is equivalent to <tt>disp.display(list)</tt>.
+    **/
+    template<typename t>
+    CImgDisplay& operator=(const CImgList<t>& list) {
+      return display(list);
+    }
+
+    //! Construct a display as a copy of another one \inplace.
+    /**
+       \note Equivalent to assign(const CImgDisplay&).
+     **/
+    CImgDisplay& operator=(const CImgDisplay& disp) {
+      return assign(disp);
+    }
+
+    //! Return \c false if display is empty, \c true otherwise.
+    /**
+       \note <tt>if (disp) { ... }</tt> is equivalent to <tt>if (!disp.is_empty()) { ... }</tt>.
+    **/
+    operator bool() const {
+      return !is_empty();
+    }
+
+    //@}
+    //------------------------------------------
+    //
+    //! \name Instance Checking
+    //@{
+    //------------------------------------------
+
+    //! Return \c true if display is empty, \c false otherwise.
+    /**
+    **/
+    bool is_empty() const {
+      return !(_width && _height);
+    }
+
+    //! Return \c true if display is closed (i.e. not visible on the screen), \c false otherwise.
+    /**
+       \note
+       - When a user physically closes the associated window, the display is set to closed.
+       - A closed display is not destroyed. Its associated window can be show again on the screen using show().
+    **/
+    bool is_closed() const {
+      return _is_closed;
+    }
+
+    //! Return \c true if associated window has been resized on the screen, \c false otherwise.
+    /**
+    **/
+    bool is_resized() const {
+      return _is_resized;
+    }
+
+    //! Return \c true if associated window has been moved on the screen, \c false otherwise.
+    /**
+    **/
+    bool is_moved() const {
+      return _is_moved;
+    }
+
+    //! Return \c true if any event has occured on the associated window, \c false otherwise.
+    /**
+    **/
+    bool is_event() const {
+      return _is_event;
+    }
+
+    //! Return \c true if current display is in fullscreen mode, \c false otherwise.
+    /**
+    **/
+    bool is_fullscreen() const {
+      return _is_fullscreen;
+    }
+
+    //! Return \c true if any key is being pressed on the associated window, \c false otherwise.
+    /**
+       \note The methods below do the same only for specific keys.
+    **/
+    bool is_key() const {
+      return _is_keyESC || _is_keyF1 || _is_keyF2 || _is_keyF3 ||
+        _is_keyF4 || _is_keyF5 || _is_keyF6 || _is_keyF7 ||
+        _is_keyF8 || _is_keyF9 || _is_keyF10 || _is_keyF11 ||
+        _is_keyF12 || _is_keyPAUSE || _is_key1 || _is_key2 ||
+        _is_key3 || _is_key4 || _is_key5 || _is_key6 ||
+        _is_key7 || _is_key8 || _is_key9 || _is_key0 ||
+        _is_keyBACKSPACE || _is_keyINSERT || _is_keyHOME ||
+        _is_keyPAGEUP || _is_keyTAB || _is_keyQ || _is_keyW ||
+        _is_keyE || _is_keyR || _is_keyT || _is_keyY ||
+        _is_keyU || _is_keyI || _is_keyO || _is_keyP ||
+        _is_keyDELETE || _is_keyEND || _is_keyPAGEDOWN ||
+        _is_keyCAPSLOCK || _is_keyA || _is_keyS || _is_keyD ||
+        _is_keyF || _is_keyG || _is_keyH || _is_keyJ ||
+        _is_keyK || _is_keyL || _is_keyENTER ||
+        _is_keySHIFTLEFT || _is_keyZ || _is_keyX || _is_keyC ||
+        _is_keyV || _is_keyB || _is_keyN || _is_keyM ||
+        _is_keySHIFTRIGHT || _is_keyARROWUP || _is_keyCTRLLEFT ||
+        _is_keyAPPLEFT || _is_keyALT || _is_keySPACE || _is_keyALTGR ||
+        _is_keyAPPRIGHT || _is_keyMENU || _is_keyCTRLRIGHT ||
+        _is_keyARROWLEFT || _is_keyARROWDOWN || _is_keyARROWRIGHT ||
+        _is_keyPAD0 || _is_keyPAD1 || _is_keyPAD2 ||
+        _is_keyPAD3 || _is_keyPAD4 || _is_keyPAD5 ||
+        _is_keyPAD6 || _is_keyPAD7 || _is_keyPAD8 ||
+        _is_keyPAD9 || _is_keyPADADD || _is_keyPADSUB ||
+        _is_keyPADMUL || _is_keyPADDIV;
+    }
+
+    //! Return \c true if key specified by given keycode is being pressed on the associated window, \c false otherwise.
+    /**
+       \param keycode Keycode to test.
+       \note Keycode constants are defined in the cimg namespace and are architecture-dependent. Use them to ensure
+       your code stay portable (see cimg::keyESC).
+       \par Example
+       \code
+       CImgDisplay disp(400,400);
+       while (!disp.is_closed()) {
+         if (disp.key(cimg::keyTAB)) { ... }  // Equivalent to 'if (disp.is_keyTAB())'.
+         disp.wait();
+       }
+       \endcode
+    **/
+    bool is_key(const unsigned int keycode) const {
+#define _cimg_iskey_test(k) if (keycode==cimg::key##k) return _is_key##k;
+      _cimg_iskey_test(ESC); _cimg_iskey_test(F1); _cimg_iskey_test(F2); _cimg_iskey_test(F3);
+      _cimg_iskey_test(F4); _cimg_iskey_test(F5); _cimg_iskey_test(F6); _cimg_iskey_test(F7);
+      _cimg_iskey_test(F8); _cimg_iskey_test(F9); _cimg_iskey_test(F10); _cimg_iskey_test(F11);
+      _cimg_iskey_test(F12); _cimg_iskey_test(PAUSE); _cimg_iskey_test(1); _cimg_iskey_test(2);
+      _cimg_iskey_test(3); _cimg_iskey_test(4); _cimg_iskey_test(5); _cimg_iskey_test(6);
+      _cimg_iskey_test(7); _cimg_iskey_test(8); _cimg_iskey_test(9); _cimg_iskey_test(0);
+      _cimg_iskey_test(BACKSPACE); _cimg_iskey_test(INSERT); _cimg_iskey_test(HOME);
+      _cimg_iskey_test(PAGEUP); _cimg_iskey_test(TAB); _cimg_iskey_test(Q); _cimg_iskey_test(W);
+      _cimg_iskey_test(E); _cimg_iskey_test(R); _cimg_iskey_test(T); _cimg_iskey_test(Y);
+      _cimg_iskey_test(U); _cimg_iskey_test(I); _cimg_iskey_test(O); _cimg_iskey_test(P);
+      _cimg_iskey_test(DELETE); _cimg_iskey_test(END); _cimg_iskey_test(PAGEDOWN);
+      _cimg_iskey_test(CAPSLOCK); _cimg_iskey_test(A); _cimg_iskey_test(S); _cimg_iskey_test(D);
+      _cimg_iskey_test(F); _cimg_iskey_test(G); _cimg_iskey_test(H); _cimg_iskey_test(J);
+      _cimg_iskey_test(K); _cimg_iskey_test(L); _cimg_iskey_test(ENTER);
+      _cimg_iskey_test(SHIFTLEFT); _cimg_iskey_test(Z); _cimg_iskey_test(X); _cimg_iskey_test(C);
+      _cimg_iskey_test(V); _cimg_iskey_test(B); _cimg_iskey_test(N); _cimg_iskey_test(M);
+      _cimg_iskey_test(SHIFTRIGHT); _cimg_iskey_test(ARROWUP); _cimg_iskey_test(CTRLLEFT);
+      _cimg_iskey_test(APPLEFT); _cimg_iskey_test(ALT); _cimg_iskey_test(SPACE); _cimg_iskey_test(ALTGR);
+      _cimg_iskey_test(APPRIGHT); _cimg_iskey_test(MENU); _cimg_iskey_test(CTRLRIGHT);
+      _cimg_iskey_test(ARROWLEFT); _cimg_iskey_test(ARROWDOWN); _cimg_iskey_test(ARROWRIGHT);
+      _cimg_iskey_test(PAD0); _cimg_iskey_test(PAD1); _cimg_iskey_test(PAD2);
+      _cimg_iskey_test(PAD3); _cimg_iskey_test(PAD4); _cimg_iskey_test(PAD5);
+      _cimg_iskey_test(PAD6); _cimg_iskey_test(PAD7); _cimg_iskey_test(PAD8);
+      _cimg_iskey_test(PAD9); _cimg_iskey_test(PADADD); _cimg_iskey_test(PADSUB);
+      _cimg_iskey_test(PADMUL); _cimg_iskey_test(PADDIV);
+      return false;
+    }
+
+    //! Return \c true if key specified by given keycode is being pressed on the associated window, \c false otherwise.
+    /**
+       \param keycode C-string containing the keycode label of the key to test.
+       \note Use it when the key you want to test can be dynamically set by the user.
+       \par Example
+       \code
+       CImgDisplay disp(400,400);
+       const char *const keycode = "TAB";
+       while (!disp.is_closed()) {
+         if (disp.is_key(keycode)) { ... }  // Equivalent to 'if (disp.is_keyTAB())'.
+         disp.wait();
+       }
+       \endcode
+    **/
+    bool& is_key(const char *const keycode) {
+      static bool f = false;
+      f = false;
+#define _cimg_iskey_test2(k) if (!cimg::strcasecmp(keycode,#k)) return _is_key##k;
+      _cimg_iskey_test2(ESC); _cimg_iskey_test2(F1); _cimg_iskey_test2(F2); _cimg_iskey_test2(F3);
+      _cimg_iskey_test2(F4); _cimg_iskey_test2(F5); _cimg_iskey_test2(F6); _cimg_iskey_test2(F7);
+      _cimg_iskey_test2(F8); _cimg_iskey_test2(F9); _cimg_iskey_test2(F10); _cimg_iskey_test2(F11);
+      _cimg_iskey_test2(F12); _cimg_iskey_test2(PAUSE); _cimg_iskey_test2(1); _cimg_iskey_test2(2);
+      _cimg_iskey_test2(3); _cimg_iskey_test2(4); _cimg_iskey_test2(5); _cimg_iskey_test2(6);
+      _cimg_iskey_test2(7); _cimg_iskey_test2(8); _cimg_iskey_test2(9); _cimg_iskey_test2(0);
+      _cimg_iskey_test2(BACKSPACE); _cimg_iskey_test2(INSERT); _cimg_iskey_test2(HOME);
+      _cimg_iskey_test2(PAGEUP); _cimg_iskey_test2(TAB); _cimg_iskey_test2(Q); _cimg_iskey_test2(W);
+      _cimg_iskey_test2(E); _cimg_iskey_test2(R); _cimg_iskey_test2(T); _cimg_iskey_test2(Y);
+      _cimg_iskey_test2(U); _cimg_iskey_test2(I); _cimg_iskey_test2(O); _cimg_iskey_test2(P);
+      _cimg_iskey_test2(DELETE); _cimg_iskey_test2(END); _cimg_iskey_test2(PAGEDOWN);
+      _cimg_iskey_test2(CAPSLOCK); _cimg_iskey_test2(A); _cimg_iskey_test2(S); _cimg_iskey_test2(D);
+      _cimg_iskey_test2(F); _cimg_iskey_test2(G); _cimg_iskey_test2(H); _cimg_iskey_test2(J);
+      _cimg_iskey_test2(K); _cimg_iskey_test2(L); _cimg_iskey_test2(ENTER);
+      _cimg_iskey_test2(SHIFTLEFT); _cimg_iskey_test2(Z); _cimg_iskey_test2(X); _cimg_iskey_test2(C);
+      _cimg_iskey_test2(V); _cimg_iskey_test2(B); _cimg_iskey_test2(N); _cimg_iskey_test2(M);
+      _cimg_iskey_test2(SHIFTRIGHT); _cimg_iskey_test2(ARROWUP); _cimg_iskey_test2(CTRLLEFT);
+      _cimg_iskey_test2(APPLEFT); _cimg_iskey_test2(ALT); _cimg_iskey_test2(SPACE); _cimg_iskey_test2(ALTGR);
+      _cimg_iskey_test2(APPRIGHT); _cimg_iskey_test2(MENU); _cimg_iskey_test2(CTRLRIGHT);
+      _cimg_iskey_test2(ARROWLEFT); _cimg_iskey_test2(ARROWDOWN); _cimg_iskey_test2(ARROWRIGHT);
+      _cimg_iskey_test2(PAD0); _cimg_iskey_test2(PAD1); _cimg_iskey_test2(PAD2);
+      _cimg_iskey_test2(PAD3); _cimg_iskey_test2(PAD4); _cimg_iskey_test2(PAD5);
+      _cimg_iskey_test2(PAD6); _cimg_iskey_test2(PAD7); _cimg_iskey_test2(PAD8);
+      _cimg_iskey_test2(PAD9); _cimg_iskey_test2(PADADD); _cimg_iskey_test2(PADSUB);
+      _cimg_iskey_test2(PADMUL); _cimg_iskey_test2(PADDIV);
+      return f;
+    }
+
+    //! Return \c true if specified key sequence has been typed on the associated window, \c false otherwise.
+    /**
+       \param keycodes_sequence Buffer of keycodes to test.
+       \param length Number of keys in the \c keycodes_sequence buffer.
+       \param remove_sequence Tells if the key sequence must be removed from the key history, if found.
+       \note Keycode constants are defined in the cimg namespace and are architecture-dependent. Use them to ensure
+       your code stay portable (see cimg::keyESC).
+       \par Example
+       \code
+       CImgDisplay disp(400,400);
+       const unsigned int key_seq[] = { cimg::keyCTRLLEFT, cimg::keyD };
+       while (!disp.is_closed()) {
+         if (disp.is_key_sequence(key_seq,2)) { ... }  // Test for the 'CTRL+D' keyboard event.
+         disp.wait();
+       }
+       \endcode
+    **/
+    bool is_key_sequence(const unsigned int *const keycodes_sequence, const unsigned int length,
+                         const bool remove_sequence=false) {
+      if (keycodes_sequence && length) {
+        const unsigned int
+          *const ps_end = keycodes_sequence + length - 1,
+          *const pk_end = (unsigned int*)_keys + 1 + 128 - length,
+          k = *ps_end;
+        for (unsigned int *pk = (unsigned int*)_keys; pk<pk_end; ) {
+          if (*(pk++)==k) {
+            bool res = true;
+            const unsigned int *ps = ps_end, *pk2 = pk;
+            for (unsigned int i = 1; i<length; ++i) res = (*(--ps)==*(pk2++));
+            if (res) {
+              if (remove_sequence) std::memset((void*)(pk - 1),0,sizeof(unsigned int)*length);
+              return true;
+            }
+          }
+        }
+      }
+      return false;
+    }
+
+#define _cimg_iskey_def(k) \
+    bool is_key##k() const { \
+      return _is_key##k; \
+    }
+
+    //! Return \c true if the \c ESC key is being pressed on the associated window, \c false otherwise.
+    /**
+       \note Similar methods exist for all keys managed by \CImg (see cimg::keyESC).
+    **/
+    _cimg_iskey_def(ESC); _cimg_iskey_def(F1); _cimg_iskey_def(F2); _cimg_iskey_def(F3);
+    _cimg_iskey_def(F4); _cimg_iskey_def(F5); _cimg_iskey_def(F6); _cimg_iskey_def(F7);
+    _cimg_iskey_def(F8); _cimg_iskey_def(F9); _cimg_iskey_def(F10); _cimg_iskey_def(F11);
+    _cimg_iskey_def(F12); _cimg_iskey_def(PAUSE); _cimg_iskey_def(1); _cimg_iskey_def(2);
+    _cimg_iskey_def(3); _cimg_iskey_def(4); _cimg_iskey_def(5); _cimg_iskey_def(6);
+    _cimg_iskey_def(7); _cimg_iskey_def(8); _cimg_iskey_def(9); _cimg_iskey_def(0);
+    _cimg_iskey_def(BACKSPACE); _cimg_iskey_def(INSERT); _cimg_iskey_def(HOME);
+    _cimg_iskey_def(PAGEUP); _cimg_iskey_def(TAB); _cimg_iskey_def(Q); _cimg_iskey_def(W);
+    _cimg_iskey_def(E); _cimg_iskey_def(R); _cimg_iskey_def(T); _cimg_iskey_def(Y);
+    _cimg_iskey_def(U); _cimg_iskey_def(I); _cimg_iskey_def(O); _cimg_iskey_def(P);
+    _cimg_iskey_def(DELETE); _cimg_iskey_def(END); _cimg_iskey_def(PAGEDOWN);
+    _cimg_iskey_def(CAPSLOCK); _cimg_iskey_def(A); _cimg_iskey_def(S); _cimg_iskey_def(D);
+    _cimg_iskey_def(F); _cimg_iskey_def(G); _cimg_iskey_def(H); _cimg_iskey_def(J);
+    _cimg_iskey_def(K); _cimg_iskey_def(L); _cimg_iskey_def(ENTER);
+    _cimg_iskey_def(SHIFTLEFT); _cimg_iskey_def(Z); _cimg_iskey_def(X); _cimg_iskey_def(C);
+    _cimg_iskey_def(V); _cimg_iskey_def(B); _cimg_iskey_def(N); _cimg_iskey_def(M);
+    _cimg_iskey_def(SHIFTRIGHT); _cimg_iskey_def(ARROWUP); _cimg_iskey_def(CTRLLEFT);
+    _cimg_iskey_def(APPLEFT); _cimg_iskey_def(ALT); _cimg_iskey_def(SPACE); _cimg_iskey_def(ALTGR);
+    _cimg_iskey_def(APPRIGHT); _cimg_iskey_def(MENU); _cimg_iskey_def(CTRLRIGHT);
+    _cimg_iskey_def(ARROWLEFT); _cimg_iskey_def(ARROWDOWN); _cimg_iskey_def(ARROWRIGHT);
+    _cimg_iskey_def(PAD0); _cimg_iskey_def(PAD1); _cimg_iskey_def(PAD2);
+    _cimg_iskey_def(PAD3); _cimg_iskey_def(PAD4); _cimg_iskey_def(PAD5);
+    _cimg_iskey_def(PAD6); _cimg_iskey_def(PAD7); _cimg_iskey_def(PAD8);
+    _cimg_iskey_def(PAD9); _cimg_iskey_def(PADADD); _cimg_iskey_def(PADSUB);
+    _cimg_iskey_def(PADMUL); _cimg_iskey_def(PADDIV);
+
+    //@}
+    //------------------------------------------
+    //
+    //! \name Instance Characteristics
+    //@{
+    //------------------------------------------
+
+#if cimg_display==0
+
+    //! Return width of the screen (current resolution along the X-axis).
+    /**
+    **/
+    static int screen_width() {
+      _no_display_exception();
+      return 0;
+    }
+
+    //! Return height of the screen (current resolution along the Y-axis).
+    /**
+    **/
+    static int screen_height() {
+      _no_display_exception();
+      return 0;
+    }
+
+#endif
+
+    //! Return display width.
+    /**
+       \note The width of the display (i.e. the width of the pixel data buffer associated to the CImgDisplay instance)
+       may be different from the actual width of the associated window.
+    **/
+    int width() const {
+      return (int)_width;
+    }
+
+    //! Return display height.
+    /**
+       \note The height of the display (i.e. the height of the pixel data buffer associated to the CImgDisplay instance)
+       may be different from the actual height of the associated window.
+    **/
+    int height() const {
+      return (int)_height;
+    }
+
+    //! Return normalization type of the display.
+    /**
+       The normalization type tells about how the values of an input image are normalized by the CImgDisplay to be
+       correctly displayed. The range of values for pixels displayed on screen is <tt>[0,255]</tt>.
+       If the range of values of the data to display is different, a normalization may be required for displaying
+       the data in a correct way. The normalization type can be one of:
+       - \c 0: Value normalization is disabled. It is then assumed that all input data to be displayed by the
+       CImgDisplay instance have values in range <tt>[0,255]</tt>.
+       - \c 1: Value normalization is always performed (this is the default behavior).
+       Before displaying an input image, its values will be (virtually) stretched
+       in range <tt>[0,255]</tt>, so that the contrast of the displayed pixels will be maximum.
+       Use this mode for images whose minimum and maximum values are not prescribed to known values
+       (e.g. float-valued images).
+       Note that when normalized versions of images are computed for display purposes, the actual values of these
+       images are not modified.
+       - \c 2: Value normalization is performed once (on the first image display), then the same normalization
+       coefficients are kept for next displayed frames.
+       - \c 3: Value normalization depends on the pixel type of the data to display. For integer pixel types,
+       the normalization is done regarding the minimum/maximum values of the type (no normalization occurs then
+       for <tt>unsigned char</tt>).
+       For float-valued pixel types, the normalization is done regarding the minimum/maximum value of the image
+       data instead.
+    **/
+    unsigned int normalization() const {
+      return _normalization;
+    }
+
+    //! Return title of the associated window as a C-string.
+    /**
+       \note Window title may be not visible, depending on the used window manager or if the current display is
+       in fullscreen mode.
+    **/
+    const char *title() const {
+      return _title?_title:"";
+    }
+
+    //! Return width of the associated window.
+    /**
+       \note The width of the display (i.e. the width of the pixel data buffer associated to the CImgDisplay instance)
+       may be different from the actual width of the associated window.
+    **/
+    int window_width() const {
+      return (int)_window_width;
+    }
+
+    //! Return height of the associated window.
+    /**
+       \note The height of the display (i.e. the height of the pixel data buffer associated to the CImgDisplay instance)
+       may be different from the actual height of the associated window.
+    **/
+    int window_height() const {
+      return (int)_window_height;
+    }
+
+    //! Return X-coordinate of the associated window.
+    /**
+       \note The returned coordinate corresponds to the location of the upper-left corner of the associated window.
+    **/
+    int window_x() const {
+      return _window_x;
+    }
+
+    //! Return Y-coordinate of the associated window.
+    /**
+       \note The returned coordinate corresponds to the location of the upper-left corner of the associated window.
+    **/
+    int window_y() const {
+      return _window_y;
+    }
+
+    //! Return X-coordinate of the mouse pointer.
+    /**
+       \note
+       - If the mouse pointer is outside window area, \c -1 is returned.
+       - Otherwise, the returned value is in the range [0,width()-1].
+    **/
+    int mouse_x() const {
+      return _mouse_x;
+    }
+
+    //! Return Y-coordinate of the mouse pointer.
+    /**
+       \note
+       - If the mouse pointer is outside window area, \c -1 is returned.
+       - Otherwise, the returned value is in the range [0,height()-1].
+    **/
+    int mouse_y() const {
+      return _mouse_y;
+    }
+
+    //! Return current state of the mouse buttons.
+    /**
+       \note Three mouse buttons can be managed. If one button is pressed, its corresponding bit in the returned
+       value is set:
+       - bit \c 0 (value \c 0x1): State of the left mouse button.
+       - bit \c 1 (value \c 0x2): State of the right mouse button.
+       - bit \c 2 (value \c 0x4): State of the middle mouse button.
+
+       Several bits can be activated if more than one button are pressed at the same time.
+       \par Example
+       \code
+       CImgDisplay disp(400,400);
+       while (!disp.is_closed()) {
+         if (disp.button()&1) { // Left button clicked.
+           ...
+         }
+         if (disp.button()&2) { // Right button clicked.
+           ...
+         }
+         if (disp.button()&4) { // Middle button clicked.
+           ...
+         }
+         disp.wait();
+       }
+       \endcode
+    **/
+    unsigned int button() const {
+      return _button;
+    }
+
+    //! Return current state of the mouse wheel.
+    /**
+       \note
+       - The returned value can be positive or negative depending on whether the mouse wheel has been scrolled
+       forward or backward.
+       - Scrolling the wheel forward add \c 1 to the wheel value.
+       - Scrolling the wheel backward substract \c 1 to the wheel value.
+       - The returned value cumulates the number of forward of backward scrolls since the creation of the display,
+       or since the last reset of the wheel value (using set_wheel()). It is strongly recommended to quickly reset
+       the wheel counter when an action has been performed regarding the current wheel value.
+       Otherwise, the returned wheel value may be for instance \c 0 despite the fact that many scrolls have been done
+       (as many in forward as in backward directions).
+       \par Example
+       \code
+       CImgDisplay disp(400,400);
+       while (!disp.is_closed()) {
+         if (disp.wheel()) {
+           int counter = disp.wheel();  // Read the state of the mouse wheel.
+           ...                          // Do what you want with 'counter'.
+           disp.set_wheel();            // Reset the wheel value to 0.
+         }
+         disp.wait();
+       }
+       \endcode
+    **/
+    int wheel() const {
+      return _wheel;
+    }
+
+    //! Return one entry from the pressed keys history.
+    /**
+       \param pos Indice to read from the pressed keys history (indice \c 0 corresponds to latest entry).
+       \return Keycode of a pressed key or \c 0 for a released key.
+       \note
+       - Each CImgDisplay stores a history of the pressed keys in a buffer of size \c 128. When a new key is pressed,
+       its keycode is stored in the pressed keys history. When a key is released, \c 0 is put instead.
+       This means that up to the 64 last pressed keys may be read from the pressed keys history.
+       When a new value is stored, the pressed keys history is shifted so that the latest entry is always
+       stored at position \c 0.
+       - Keycode constants are defined in the cimg namespace and are architecture-dependent. Use them to ensure
+       your code stay portable (see cimg::keyESC).
+    **/
+    unsigned int key(const unsigned int pos=0) const {
+      return pos<128?_keys[pos]:0;
+    }
+
+    //! Return one entry from the released keys history.
+    /**
+       \param pos Indice to read from the released keys history (indice \c 0 corresponds to latest entry).
+       \return Keycode of a released key or \c 0 for a pressed key.
+       \note
+       - Each CImgDisplay stores a history of the released keys in a buffer of size \c 128. When a new key is released,
+       its keycode is stored in the pressed keys history. When a key is pressed, \c 0 is put instead.
+       This means that up to the 64 last released keys may be read from the released keys history.
+       When a new value is stored, the released keys history is shifted so that the latest entry is always
+       stored at position \c 0.
+       - Keycode constants are defined in the cimg namespace and are architecture-dependent. Use them to ensure
+       your code stay portable (see cimg::keyESC).
+    **/
+    unsigned int released_key(const unsigned int pos=0) const {
+      return pos<128?_released_keys[pos]:0;
+    }
+
+    //! Return keycode corresponding to the specified string.
+    /**
+       \note Keycode constants are defined in the cimg namespace and are architecture-dependent. Use them to ensure
+       your code stay portable (see cimg::keyESC).
+       \par Example
+       \code
+       const unsigned int keyTAB = CImgDisplay::keycode("TAB");  // Return cimg::keyTAB.
+       \endcode
+    **/
+    static unsigned int keycode(const char *const keycode) {
+#define _cimg_keycode(k) if (!cimg::strcasecmp(keycode,#k)) return cimg::key##k;
+      _cimg_keycode(ESC); _cimg_keycode(F1); _cimg_keycode(F2); _cimg_keycode(F3);
+      _cimg_keycode(F4); _cimg_keycode(F5); _cimg_keycode(F6); _cimg_keycode(F7);
+      _cimg_keycode(F8); _cimg_keycode(F9); _cimg_keycode(F10); _cimg_keycode(F11);
+      _cimg_keycode(F12); _cimg_keycode(PAUSE); _cimg_keycode(1); _cimg_keycode(2);
+      _cimg_keycode(3); _cimg_keycode(4); _cimg_keycode(5); _cimg_keycode(6);
+      _cimg_keycode(7); _cimg_keycode(8); _cimg_keycode(9); _cimg_keycode(0);
+      _cimg_keycode(BACKSPACE); _cimg_keycode(INSERT); _cimg_keycode(HOME);
+      _cimg_keycode(PAGEUP); _cimg_keycode(TAB); _cimg_keycode(Q); _cimg_keycode(W);
+      _cimg_keycode(E); _cimg_keycode(R); _cimg_keycode(T); _cimg_keycode(Y);
+      _cimg_keycode(U); _cimg_keycode(I); _cimg_keycode(O); _cimg_keycode(P);
+      _cimg_keycode(DELETE); _cimg_keycode(END); _cimg_keycode(PAGEDOWN);
+      _cimg_keycode(CAPSLOCK); _cimg_keycode(A); _cimg_keycode(S); _cimg_keycode(D);
+      _cimg_keycode(F); _cimg_keycode(G); _cimg_keycode(H); _cimg_keycode(J);
+      _cimg_keycode(K); _cimg_keycode(L); _cimg_keycode(ENTER);
+      _cimg_keycode(SHIFTLEFT); _cimg_keycode(Z); _cimg_keycode(X); _cimg_keycode(C);
+      _cimg_keycode(V); _cimg_keycode(B); _cimg_keycode(N); _cimg_keycode(M);
+      _cimg_keycode(SHIFTRIGHT); _cimg_keycode(ARROWUP); _cimg_keycode(CTRLLEFT);
+      _cimg_keycode(APPLEFT); _cimg_keycode(ALT); _cimg_keycode(SPACE); _cimg_keycode(ALTGR);
+      _cimg_keycode(APPRIGHT); _cimg_keycode(MENU); _cimg_keycode(CTRLRIGHT);
+      _cimg_keycode(ARROWLEFT); _cimg_keycode(ARROWDOWN); _cimg_keycode(ARROWRIGHT);
+      _cimg_keycode(PAD0); _cimg_keycode(PAD1); _cimg_keycode(PAD2);
+      _cimg_keycode(PAD3); _cimg_keycode(PAD4); _cimg_keycode(PAD5);
+      _cimg_keycode(PAD6); _cimg_keycode(PAD7); _cimg_keycode(PAD8);
+      _cimg_keycode(PAD9); _cimg_keycode(PADADD); _cimg_keycode(PADSUB);
+      _cimg_keycode(PADMUL); _cimg_keycode(PADDIV);
+      return 0;
+    }
+
+    //! Return the current refresh rate, in frames per second.
+    /**
+       \note Returns a significant value when the current instance is used to display successive frames.
+       It measures the delay between successive calls to frames_per_second().
+    **/
+    float frames_per_second() {
+      if (!_fps_timer) _fps_timer = cimg::time();
+      const float delta = (cimg::time() - _fps_timer)/1000.0f;
+      ++_fps_frames;
+      if (delta>=1) {
+        _fps_fps = _fps_frames/delta;
+        _fps_frames = 0;
+        _fps_timer = cimg::time();
+      }
+      return _fps_fps;
+    }
+
+    //@}
+    //---------------------------------------
+    //
+    //! \name Window Manipulation
+    //@{
+    //---------------------------------------
+
+#if cimg_display==0
+
+    //! Display image on associated window.
+    /**
+       \param img Input image to display.
+       \note This method returns immediately.
+    **/
+    template<typename T>
+    CImgDisplay& display(const CImg<T>& img) {
+      return assign(img);
+    }
+
+#endif
+
+    //! Display list of images on associated window.
+    /**
+       \param list List of images to display.
+       \param axis Axis used to append the images along, for the visualization (can be \c x, \c y, \c z or \c c).
+       \param align Relative position of aligned images when displaying lists with images of different sizes
+       (\c 0 for upper-left, \c 0.5 for centering and \c 1 for lower-right).
+       \note This method returns immediately.
+    **/
+    template<typename T>
+    CImgDisplay& display(const CImgList<T>& list, const char axis='x', const float align=0) {
+      if (list._width==1) {
+        const CImg<T>& img = list[0];
+        if (img._depth==1 && (img._spectrum==1 || img._spectrum>=3) && _normalization!=1) return display(img);
+      }
+      CImgList<typename CImg<T>::ucharT> visu(list._width);
+      cimglist_for(list,l) {
+        const CImg<T>& img = list._data[l];
+        img.__get_select(*this,_normalization,(img._width - 1)/2,(img._height - 1)/2,
+                         (img._depth - 1)/2).move_to(visu[l]);
+      }
+      visu.get_append(axis,align).display(*this);
+      return *this;
+    }
+
+#if cimg_display==0
+
+    //! Show (closed) associated window on the screen.
+    /**
+       \note
+       - Force the associated window of a display to be visible on the screen, even if it has been closed before.
+       - Using show() on a visible display does nothing.
+    **/
+    CImgDisplay& show() {
+      return assign();
+    }
+
+    //! Close (visible) associated window and make it disappear from the screen.
+    /**
+       \note
+       - A closed display only means the associated window is not visible anymore. This does not mean the display has
+       been destroyed.
+       Use show() to make the associated window reappear.
+       - Using close() on a closed display does nothing.
+    **/
+    CImgDisplay& close() {
+      return assign();
+    }
+
+    //! Move associated window to a new location.
+    /**
+       \param pos_x X-coordinate of the new window location.
+       \param pos_y Y-coordinate of the new window location.
+       \note Depending on the window manager behavior, this method may not succeed (no exceptions are thrown
+       nevertheless).
+    **/
+    CImgDisplay& move(const int pos_x, const int pos_y) {
+      return assign(pos_x,pos_y);
+    }
+
+#endif
+
+    //! Resize display to the size of the associated window.
+    /**
+       \param force_redraw Tells if the previous window content must be updated and refreshed as well.
+       \note
+       - Calling this method ensures that width() and window_width() become equal, as well as height() and
+       window_height().
+       - The associated window is also resized to specified dimensions.
+    **/
+    CImgDisplay& resize(const bool force_redraw=true) {
+      resize(window_width(),window_height(),force_redraw);
+      return *this;
+    }
+
+#if cimg_display==0
+
+    //! Resize display to the specified size.
+    /**
+       \param width Requested display width.
+       \param height Requested display height.
+       \param force_redraw Tells if the previous window content must be updated and refreshed as well.
+       \note The associated window is also resized to specified dimensions.
+    **/
+    CImgDisplay& resize(const int width, const int height, const bool force_redraw=true) {
+      return assign(width,height,0,3,force_redraw);
+    }
+
+#endif
+
+    //! Resize display to the size of an input image.
+    /**
+       \param img Input image to take size from.
+       \param force_redraw Tells if the previous window content must be resized and updated as well.
+       \note
+       - Calling this method ensures that width() and <tt>img.width()</tt> become equal, as well as height() and
+       <tt>img.height()</tt>.
+       - The associated window is also resized to specified dimensions.
+    **/
+    template<typename T>
+    CImgDisplay& resize(const CImg<T>& img, const bool force_redraw=true) {
+      return resize(img._width,img._height,force_redraw);
+    }
+
+    //! Resize display to the size of another CImgDisplay instance.
+    /**
+       \param disp Input display to take size from.
+       \param force_redraw Tells if the previous window content must be resized and updated as well.
+       \note
+       - Calling this method ensures that width() and <tt>disp.width()</tt> become equal, as well as height() and
+       <tt>disp.height()</tt>.
+       - The associated window is also resized to specified dimensions.
+    **/
+    CImgDisplay& resize(const CImgDisplay& disp, const bool force_redraw=true) {
+      return resize(disp.width(),disp.height(),force_redraw);
+    }
+
+    // [internal] Render pixel buffer with size (wd,hd) from source buffer of size (ws,hs).
+    template<typename t, typename T>
+    static void _render_resize(const T *ptrs, const unsigned int ws, const unsigned int hs,
+                               t *ptrd, const unsigned int wd, const unsigned int hd) {
+      unsigned int *const offx = new unsigned int[wd], *const offy = new unsigned int[hd + 1], *poffx, *poffy;
+      float s, curr, old;
+      s = (float)ws/wd;
+      poffx = offx; curr = 0; for (unsigned int x = 0; x<wd; ++x) {
+        old = curr; curr+=s; *(poffx++) = (unsigned int)curr - (unsigned int)old;
+      }
+      s = (float)hs/hd;
+      poffy = offy; curr = 0; for (unsigned int y = 0; y<hd; ++y) {
+        old = curr; curr+=s; *(poffy++) = ws*((unsigned int)curr - (unsigned int)old);
+      }
+      *poffy = 0;
+      poffy = offy;
+      for (unsigned int y = 0; y<hd; ) {
+        const T *ptr = ptrs;
+        poffx = offx;
+        for (unsigned int x = 0; x<wd; ++x) { *(ptrd++) = *ptr; ptr+=*(poffx++); }
+        ++y;
+        unsigned int dy = *(poffy++);
+        for ( ; !dy && y<hd; std::memcpy(ptrd,ptrd - wd,sizeof(t)*wd), ++y, ptrd+=wd, dy = *(poffy++)) {}
+        ptrs+=dy;
+      }
+      delete[] offx; delete[] offy;
+    }
+
+    //! Set normalization type.
+    /**
+       \param normalization New normalization mode.
+    **/
+    CImgDisplay& set_normalization(const unsigned int normalization) {
+      _normalization = normalization;
+      _min = _max = 0;
+      return *this;
+    }
+
+#if cimg_display==0
+
+    //! Set title of the associated window.
+    /**
+       \param format C-string containing the format of the title, as with <tt>std::printf()</tt>.
+       \warning As the first argument is a format string, it is highly recommended to write
+       \code
+       disp.set_title("%s",window_title);
+       \endcode
+       instead of
+       \code
+       disp.set_title(window_title);
+       \endcode
+       if \c window_title can be arbitrary, to prevent nasty memory access.
+    **/
+    CImgDisplay& set_title(const char *const format, ...) {
+      return assign(0,0,format);
+    }
+
+#endif
+
+    //! Enable or disable fullscreen mode.
+    /**
+       \param is_fullscreen Tells is the fullscreen mode must be activated or not.
+       \param force_redraw Tells if the previous window content must be displayed as well.
+       \note
+       - When the fullscreen mode is enabled, the associated window fills the entire screen but the size of the
+       current display is not modified.
+       - The screen resolution may be switched to fit the associated window size and ensure it appears the largest
+       as possible.
+       For X-Window (X11) users, the configuration flag \c cimg_use_xrandr has to be set to allow the screen
+       resolution change (requires the X11 extensions to be enabled).
+    **/
+    CImgDisplay& set_fullscreen(const bool is_fullscreen, const bool force_redraw=true) {
+      if (is_empty() || _is_fullscreen==is_fullscreen) return *this;
+      return toggle_fullscreen(force_redraw);
+    }
+
+#if cimg_display==0
+
+    //! Toggle fullscreen mode.
+    /**
+       \param force_redraw Tells if the previous window content must be displayed as well.
+       \note Enable fullscreen mode if it was not enabled, and disable it otherwise.
+    **/
+    CImgDisplay& toggle_fullscreen(const bool force_redraw=true) {
+      return assign(_width,_height,0,3,force_redraw);
+    }
+
+    //! Show mouse pointer.
+    /**
+       \note Depending on the window manager behavior, this method may not succeed
+       (no exceptions are thrown nevertheless).
+    **/
+    CImgDisplay& show_mouse() {
+      return assign();
+    }
+
+    //! Hide mouse pointer.
+    /**
+       \note Depending on the window manager behavior, this method may not succeed
+       (no exceptions are thrown nevertheless).
+    **/
+    CImgDisplay& hide_mouse() {
+      return assign();
+    }
+
+    //! Move mouse pointer to a specified location.
+    /**
+       \note Depending on the window manager behavior, this method may not succeed
+       (no exceptions are thrown nevertheless).
+    **/
+    CImgDisplay& set_mouse(const int pos_x, const int pos_y) {
+      return assign(pos_x,pos_y);
+    }
+
+#endif
+
+    //! Simulate a mouse button release event.
+    /**
+       \note All mouse buttons are considered released at the same time.
+    **/
+    CImgDisplay& set_button() {
+      _button = 0;
+      _is_event = true;
+#if cimg_display==1
+      pthread_cond_broadcast(&cimg::X11_attr().wait_event);
+#elif cimg_display==2
+      SetEvent(cimg::Win32_attr().wait_event);
+#endif
+      return *this;
+    }
+
+    //! Simulate a mouse button press or release event.
+    /**
+       \param button Buttons event code, where each button is associated to a single bit.
+       \param is_pressed Tells if the mouse button is considered as pressed or released.
+    **/
+    CImgDisplay& set_button(const unsigned int button, const bool is_pressed=true) {
+      const unsigned int buttoncode = button==1U?1U:button==2U?2U:button==3U?4U:0U;
+      if (is_pressed) _button |= buttoncode; else _button &= ~buttoncode;
+      _is_event = buttoncode?true:false;
+      if (buttoncode) {
+#if cimg_display==1
+        pthread_cond_broadcast(&cimg::X11_attr().wait_event);
+#elif cimg_display==2
+        SetEvent(cimg::Win32_attr().wait_event);
+#endif
+      }
+      return *this;
+    }
+
+    //! Flush all mouse wheel events.
+    /**
+       \note Make wheel() to return \c 0, if called afterwards.
+    **/
+    CImgDisplay& set_wheel() {
+      _wheel = 0;
+      _is_event = true;
+#if cimg_display==1
+      pthread_cond_broadcast(&cimg::X11_attr().wait_event);
+#elif cimg_display==2
+      SetEvent(cimg::Win32_attr().wait_event);
+#endif
+      return *this;
+    }
+
+    //! Simulate a wheel event.
+    /**
+       \param amplitude Amplitude of the wheel scrolling to simulate.
+       \note Make wheel() to return \c amplitude, if called afterwards.
+    **/
+    CImgDisplay& set_wheel(const int amplitude) {
+      _wheel+=amplitude;
+      _is_event = amplitude?true:false;
+      if (amplitude) {
+#if cimg_display==1
+        pthread_cond_broadcast(&cimg::X11_attr().wait_event);
+#elif cimg_display==2
+        SetEvent(cimg::Win32_attr().wait_event);
+#endif
+      }
+      return *this;
+    }
+
+    //! Flush all key events.
+    /**
+       \note Make key() to return \c 0, if called afterwards.
+    **/
+    CImgDisplay& set_key() {
+      std::memset((void*)_keys,0,128*sizeof(unsigned int));
+      std::memset((void*)_released_keys,0,128*sizeof(unsigned int));
+      _is_keyESC = _is_keyF1 = _is_keyF2 = _is_keyF3 = _is_keyF4 = _is_keyF5 = _is_keyF6 = _is_keyF7 = _is_keyF8 =
+        _is_keyF9 = _is_keyF10 = _is_keyF11 = _is_keyF12 = _is_keyPAUSE = _is_key1 = _is_key2 = _is_key3 = _is_key4 =
+        _is_key5 = _is_key6 = _is_key7 = _is_key8 = _is_key9 = _is_key0 = _is_keyBACKSPACE = _is_keyINSERT =
+        _is_keyHOME = _is_keyPAGEUP = _is_keyTAB = _is_keyQ = _is_keyW = _is_keyE = _is_keyR = _is_keyT = _is_keyY =
+        _is_keyU = _is_keyI = _is_keyO = _is_keyP = _is_keyDELETE = _is_keyEND = _is_keyPAGEDOWN = _is_keyCAPSLOCK =
+        _is_keyA = _is_keyS = _is_keyD = _is_keyF = _is_keyG = _is_keyH = _is_keyJ = _is_keyK = _is_keyL =
+        _is_keyENTER = _is_keySHIFTLEFT = _is_keyZ = _is_keyX = _is_keyC = _is_keyV = _is_keyB = _is_keyN =
+        _is_keyM = _is_keySHIFTRIGHT = _is_keyARROWUP = _is_keyCTRLLEFT = _is_keyAPPLEFT = _is_keyALT = _is_keySPACE =
+        _is_keyALTGR = _is_keyAPPRIGHT = _is_keyMENU = _is_keyCTRLRIGHT = _is_keyARROWLEFT = _is_keyARROWDOWN =
+        _is_keyARROWRIGHT = _is_keyPAD0 = _is_keyPAD1 = _is_keyPAD2 = _is_keyPAD3 = _is_keyPAD4 = _is_keyPAD5 =
+        _is_keyPAD6 = _is_keyPAD7 = _is_keyPAD8 = _is_keyPAD9 = _is_keyPADADD = _is_keyPADSUB = _is_keyPADMUL =
+        _is_keyPADDIV = false;
+      _is_event = true;
+#if cimg_display==1
+      pthread_cond_broadcast(&cimg::X11_attr().wait_event);
+#elif cimg_display==2
+      SetEvent(cimg::Win32_attr().wait_event);
+#endif
+      return *this;
+    }
+
+    //! Simulate a keyboard press/release event.
+    /**
+       \param keycode Keycode of the associated key.
+       \param is_pressed Tells if the key is considered as pressed or released.
+       \note Keycode constants are defined in the cimg namespace and are architecture-dependent. Use them to ensure
+       your code stay portable (see cimg::keyESC).
+    **/
+    CImgDisplay& set_key(const unsigned int keycode, const bool is_pressed=true) {
+#define _cimg_set_key(k) if (keycode==cimg::key##k) _is_key##k = is_pressed;
+      _cimg_set_key(ESC); _cimg_set_key(F1); _cimg_set_key(F2); _cimg_set_key(F3);
+      _cimg_set_key(F4); _cimg_set_key(F5); _cimg_set_key(F6); _cimg_set_key(F7);
+      _cimg_set_key(F8); _cimg_set_key(F9); _cimg_set_key(F10); _cimg_set_key(F11);
+      _cimg_set_key(F12); _cimg_set_key(PAUSE); _cimg_set_key(1); _cimg_set_key(2);
+      _cimg_set_key(3); _cimg_set_key(4); _cimg_set_key(5); _cimg_set_key(6);
+      _cimg_set_key(7); _cimg_set_key(8); _cimg_set_key(9); _cimg_set_key(0);
+      _cimg_set_key(BACKSPACE); _cimg_set_key(INSERT); _cimg_set_key(HOME);
+      _cimg_set_key(PAGEUP); _cimg_set_key(TAB); _cimg_set_key(Q); _cimg_set_key(W);
+      _cimg_set_key(E); _cimg_set_key(R); _cimg_set_key(T); _cimg_set_key(Y);
+      _cimg_set_key(U); _cimg_set_key(I); _cimg_set_key(O); _cimg_set_key(P);
+      _cimg_set_key(DELETE); _cimg_set_key(END); _cimg_set_key(PAGEDOWN);
+      _cimg_set_key(CAPSLOCK); _cimg_set_key(A); _cimg_set_key(S); _cimg_set_key(D);
+      _cimg_set_key(F); _cimg_set_key(G); _cimg_set_key(H); _cimg_set_key(J);
+      _cimg_set_key(K); _cimg_set_key(L); _cimg_set_key(ENTER);
+      _cimg_set_key(SHIFTLEFT); _cimg_set_key(Z); _cimg_set_key(X); _cimg_set_key(C);
+      _cimg_set_key(V); _cimg_set_key(B); _cimg_set_key(N); _cimg_set_key(M);
+      _cimg_set_key(SHIFTRIGHT); _cimg_set_key(ARROWUP); _cimg_set_key(CTRLLEFT);
+      _cimg_set_key(APPLEFT); _cimg_set_key(ALT); _cimg_set_key(SPACE); _cimg_set_key(ALTGR);
+      _cimg_set_key(APPRIGHT); _cimg_set_key(MENU); _cimg_set_key(CTRLRIGHT);
+      _cimg_set_key(ARROWLEFT); _cimg_set_key(ARROWDOWN); _cimg_set_key(ARROWRIGHT);
+      _cimg_set_key(PAD0); _cimg_set_key(PAD1); _cimg_set_key(PAD2);
+      _cimg_set_key(PAD3); _cimg_set_key(PAD4); _cimg_set_key(PAD5);
+      _cimg_set_key(PAD6); _cimg_set_key(PAD7); _cimg_set_key(PAD8);
+      _cimg_set_key(PAD9); _cimg_set_key(PADADD); _cimg_set_key(PADSUB);
+      _cimg_set_key(PADMUL); _cimg_set_key(PADDIV);
+      if (is_pressed) {
+        if (*_keys)
+          std::memmove((void*)(_keys + 1),(void*)_keys,127*sizeof(unsigned int));
+        *_keys = keycode;
+        if (*_released_keys) {
+          std::memmove((void*)(_released_keys + 1),(void*)_released_keys,127*sizeof(unsigned int));
+          *_released_keys = 0;
+        }
+      } else {
+        if (*_keys) {
+          std::memmove((void*)(_keys + 1),(void*)_keys,127*sizeof(unsigned int));
+          *_keys = 0;
+        }
+        if (*_released_keys)
+          std::memmove((void*)(_released_keys + 1),(void*)_released_keys,127*sizeof(unsigned int));
+        *_released_keys = keycode;
+      }
+      _is_event = keycode?true:false;
+      if (keycode) {
+#if cimg_display==1
+        pthread_cond_broadcast(&cimg::X11_attr().wait_event);
+#elif cimg_display==2
+        SetEvent(cimg::Win32_attr().wait_event);
+#endif
+      }
+      return *this;
+    }
+
+    //! Flush all display events.
+    /**
+       \note Remove all passed events from the current display.
+    **/
+    CImgDisplay& flush() {
+      set_key().set_button().set_wheel();
+      _is_resized = _is_moved = _is_event = false;
+      _fps_timer = _fps_frames = _timer = 0;
+      _fps_fps = 0;
+      return *this;
+    }
+
+    //! Wait for any user event occuring on the current display.
+    CImgDisplay& wait() {
+      wait(*this);
+      return *this;
+    }
+
+    //! Wait for a given number of milliseconds since the last call to wait().
+    /**
+       \param milliseconds Number of milliseconds to wait for.
+       \note Similar to cimg::wait().
+    **/
+    CImgDisplay& wait(const unsigned int milliseconds) {
+      cimg::_wait(milliseconds,_timer);
+      return *this;
+    }
+
+    //! Wait for any event occuring on the display \c disp1.
+    static void wait(CImgDisplay& disp1) {
+      disp1._is_event = false;
+      while (!disp1._is_closed && !disp1._is_event) wait_all();
+    }
+
+    //! Wait for any event occuring either on the display \c disp1 or \c disp2.
+    static void wait(CImgDisplay& disp1, CImgDisplay& disp2) {
+      disp1._is_event = disp2._is_event = false;
+      while ((!disp1._is_closed || !disp2._is_closed) &&
+             !disp1._is_event && !disp2._is_event) wait_all();
+    }
+
+    //! Wait for any event occuring either on the display \c disp1, \c disp2 or \c disp3.
+    static void wait(CImgDisplay& disp1, CImgDisplay& disp2, CImgDisplay& disp3) {
+      disp1._is_event = disp2._is_event = disp3._is_event = false;
+      while ((!disp1._is_closed || !disp2._is_closed || !disp3._is_closed) &&
+             !disp1._is_event && !disp2._is_event && !disp3._is_event) wait_all();
+    }
+
+    //! Wait for any event occuring either on the display \c disp1, \c disp2, \c disp3 or \c disp4.
+    static void wait(CImgDisplay& disp1, CImgDisplay& disp2, CImgDisplay& disp3, CImgDisplay& disp4) {
+      disp1._is_event = disp2._is_event = disp3._is_event = disp4._is_event = false;
+      while ((!disp1._is_closed || !disp2._is_closed || !disp3._is_closed || !disp4._is_closed) &&
+             !disp1._is_event && !disp2._is_event && !disp3._is_event && !disp4._is_event) wait_all();
+    }
+
+    //! Wait for any event occuring either on the display \c disp1, \c disp2, \c disp3, \c disp4 or \c disp5.
+    static void wait(CImgDisplay& disp1, CImgDisplay& disp2, CImgDisplay& disp3, CImgDisplay& disp4,
+                     CImgDisplay& disp5) {
+      disp1._is_event = disp2._is_event = disp3._is_event = disp4._is_event = disp5._is_event = false;
+      while ((!disp1._is_closed || !disp2._is_closed || !disp3._is_closed || !disp4._is_closed || !disp5._is_closed) &&
+             !disp1._is_event && !disp2._is_event && !disp3._is_event && !disp4._is_event && !disp5._is_event)
+        wait_all();
+    }
+
+    //! Wait for any event occuring either on the display \c disp1, \c disp2, \c disp3, \c disp4, ... \c disp6.
+    static void wait(CImgDisplay& disp1, CImgDisplay& disp2, CImgDisplay& disp3, CImgDisplay& disp4, CImgDisplay& disp5,
+                     CImgDisplay& disp6) {
+      disp1._is_event = disp2._is_event = disp3._is_event = disp4._is_event = disp5._is_event =
+        disp6._is_event = false;
+      while ((!disp1._is_closed || !disp2._is_closed || !disp3._is_closed || !disp4._is_closed || !disp5._is_closed ||
+              !disp6._is_closed) &&
+             !disp1._is_event && !disp2._is_event && !disp3._is_event && !disp4._is_event && !disp5._is_event &&
+             !disp6._is_event) wait_all();
+    }
+
+    //! Wait for any event occuring either on the display \c disp1, \c disp2, \c disp3, \c disp4, ... \c disp7.
+    static void wait(CImgDisplay& disp1, CImgDisplay& disp2, CImgDisplay& disp3, CImgDisplay& disp4, CImgDisplay& disp5,
+                     CImgDisplay& disp6, CImgDisplay& disp7) {
+      disp1._is_event = disp2._is_event = disp3._is_event = disp4._is_event = disp5._is_event =
+        disp6._is_event = disp7._is_event = false;
+      while ((!disp1._is_closed || !disp2._is_closed || !disp3._is_closed || !disp4._is_closed || !disp5._is_closed ||
+              !disp6._is_closed || !disp7._is_closed) &&
+             !disp1._is_event && !disp2._is_event && !disp3._is_event && !disp4._is_event && !disp5._is_event &&
+             !disp6._is_event && !disp7._is_event) wait_all();
+    }
+
+    //! Wait for any event occuring either on the display \c disp1, \c disp2, \c disp3, \c disp4, ... \c disp8.
+    static void wait(CImgDisplay& disp1, CImgDisplay& disp2, CImgDisplay& disp3, CImgDisplay& disp4, CImgDisplay& disp5,
+                     CImgDisplay& disp6, CImgDisplay& disp7, CImgDisplay& disp8) {
+      disp1._is_event = disp2._is_event = disp3._is_event = disp4._is_event = disp5._is_event =
+        disp6._is_event = disp7._is_event = disp8._is_event = false;
+      while ((!disp1._is_closed || !disp2._is_closed || !disp3._is_closed || !disp4._is_closed || !disp5._is_closed ||
+              !disp6._is_closed || !disp7._is_closed || !disp8._is_closed) &&
+             !disp1._is_event && !disp2._is_event && !disp3._is_event && !disp4._is_event && !disp5._is_event &&
+             !disp6._is_event && !disp7._is_event && !disp8._is_event) wait_all();
+    }
+
+    //! Wait for any event occuring either on the display \c disp1, \c disp2, \c disp3, \c disp4, ... \c disp9.
+    static void wait(CImgDisplay& disp1, CImgDisplay& disp2, CImgDisplay& disp3, CImgDisplay& disp4, CImgDisplay& disp5,
+                     CImgDisplay& disp6, CImgDisplay& disp7, CImgDisplay& disp8, CImgDisplay& disp9) {
+      disp1._is_event = disp2._is_event = disp3._is_event = disp4._is_event = disp5._is_event =
+        disp6._is_event = disp7._is_event = disp8._is_event = disp9._is_event = false;
+      while ((!disp1._is_closed || !disp2._is_closed || !disp3._is_closed || !disp4._is_closed || !disp5._is_closed ||
+              !disp6._is_closed || !disp7._is_closed || !disp8._is_closed || !disp9._is_closed) &&
+             !disp1._is_event && !disp2._is_event && !disp3._is_event && !disp4._is_event && !disp5._is_event &&
+             !disp6._is_event && !disp7._is_event && !disp8._is_event && !disp9._is_event) wait_all();
+    }
+
+    //! Wait for any event occuring either on the display \c disp1, \c disp2, \c disp3, \c disp4, ... \c disp10.
+    static void wait(CImgDisplay& disp1, CImgDisplay& disp2, CImgDisplay& disp3, CImgDisplay& disp4, CImgDisplay& disp5,
+                     CImgDisplay& disp6, CImgDisplay& disp7, CImgDisplay& disp8, CImgDisplay& disp9,
+                     CImgDisplay& disp10) {
+      disp1._is_event = disp2._is_event = disp3._is_event = disp4._is_event = disp5._is_event =
+        disp6._is_event = disp7._is_event = disp8._is_event = disp9._is_event = disp10._is_event = false;
+      while ((!disp1._is_closed || !disp2._is_closed || !disp3._is_closed || !disp4._is_closed || !disp5._is_closed ||
+              !disp6._is_closed || !disp7._is_closed || !disp8._is_closed || !disp9._is_closed || !disp10._is_closed) &&
+             !disp1._is_event && !disp2._is_event && !disp3._is_event && !disp4._is_event && !disp5._is_event &&
+             !disp6._is_event && !disp7._is_event && !disp8._is_event && !disp9._is_event && !disp10._is_event)
+        wait_all();
+    }
+
+#if cimg_display==0
+
+    //! Wait for any window event occuring in any opened CImgDisplay.
+    static void wait_all() {
+      return _no_display_exception();
+    }
+
+    //! Render image into internal display buffer.
+    /**
+       \param img Input image data to render.
+       \note
+       - Convert image data representation into the internal display buffer (architecture-dependent structure).
+       - The content of the associated window is not modified, until paint() is called.
+       - Should not be used for common CImgDisplay uses, since display() is more useful.
+    **/
+    template<typename T>
+    CImgDisplay& render(const CImg<T>& img) {
+      return assign(img);
+    }
+
+    //! Paint internal display buffer on associated window.
+    /**
+       \note
+       - Update the content of the associated window with the internal display buffer, e.g. after a render() call.
+       - Should not be used for common CImgDisplay uses, since display() is more useful.
+    **/
+    CImgDisplay& paint() {
+      return assign();
+    }
+
+    //! Take a snapshot of the associated window content.
+    /**
+       \param[out] img Output snapshot. Can be empty on input.
+    **/
+    template<typename T>
+    const CImgDisplay& snapshot(CImg<T>& img) const {
+      cimg::unused(img);
+      _no_display_exception();
+      return *this;
+    }
+#endif
+
+    // X11-based implementation
+    //--------------------------
+#if cimg_display==1
+
+    Atom _wm_window_atom, _wm_protocol_atom;
+    Window _window, _background_window;
+    Colormap _colormap;
+    XImage *_image;
+    void *_data;
+#ifdef cimg_use_xshm
+    XShmSegmentInfo *_shminfo;
+#endif
+
+    static int screen_width() {
+      Display *const dpy = cimg::X11_attr().display;
+      int res = 0;
+      if (!dpy) {
+        Display *const _dpy = XOpenDisplay(0);
+        if (!_dpy)
+          throw CImgDisplayException("CImgDisplay::screen_width(): Failed to open X11 display.");
+        res = DisplayWidth(_dpy,DefaultScreen(_dpy));
+        XCloseDisplay(_dpy);
+      } else {
+#ifdef cimg_use_xrandr
+        if (cimg::X11_attr().resolutions && cimg::X11_attr().curr_resolution)
+          res = cimg::X11_attr().resolutions[cimg::X11_attr().curr_resolution].width;
+        else res = DisplayWidth(dpy,DefaultScreen(dpy));
+#else
+        res = DisplayWidth(dpy,DefaultScreen(dpy));
+#endif
+      }
+      return res;
+    }
+
+    static int screen_height() {
+      Display *const dpy = cimg::X11_attr().display;
+      int res = 0;
+      if (!dpy) {
+        Display *const _dpy = XOpenDisplay(0);
+        if (!_dpy)
+          throw CImgDisplayException("CImgDisplay::screen_height(): Failed to open X11 display.");
+        res = DisplayHeight(_dpy,DefaultScreen(_dpy));
+        XCloseDisplay(_dpy);
+      } else {
+#ifdef cimg_use_xrandr
+        if (cimg::X11_attr().resolutions && cimg::X11_attr().curr_resolution)
+          res = cimg::X11_attr().resolutions[cimg::X11_attr().curr_resolution].height;
+        else res = DisplayHeight(dpy,DefaultScreen(dpy));
+#else
+        res = DisplayHeight(dpy,DefaultScreen(dpy));
+#endif
+      }
+      return res;
+    }
+
+    static void wait_all() {
+      if (!cimg::X11_attr().display) return;
+      pthread_mutex_lock(&cimg::X11_attr().wait_event_mutex);
+      pthread_cond_wait(&cimg::X11_attr().wait_event,&cimg::X11_attr().wait_event_mutex);
+      pthread_mutex_unlock(&cimg::X11_attr().wait_event_mutex);
+    }
+
+    void _handle_events(const XEvent *const pevent) {
+      Display *const dpy = cimg::X11_attr().display;
+      XEvent event = *pevent;
+      switch (event.type) {
+      case ClientMessage : {
+        if ((int)event.xclient.message_type==(int)_wm_protocol_atom &&
+            (int)event.xclient.data.l[0]==(int)_wm_window_atom) {
+          XUnmapWindow(cimg::X11_attr().display,_window);
+          _is_closed = _is_event = true;
+          pthread_cond_broadcast(&cimg::X11_attr().wait_event);
+        }
+      } break;
+      case ConfigureNotify : {
+        while (XCheckWindowEvent(dpy,_window,StructureNotifyMask,&event)) {}
+        const unsigned int nw = event.xconfigure.width, nh = event.xconfigure.height;
+        const int nx = event.xconfigure.x, ny = event.xconfigure.y;
+        if (nw && nh && (nw!=_window_width || nh!=_window_height)) {
+          _window_width = nw; _window_height = nh; _mouse_x = _mouse_y = -1;
+          XResizeWindow(dpy,_window,_window_width,_window_height);
+          _is_resized = _is_event = true;
+          pthread_cond_broadcast(&cimg::X11_attr().wait_event);
+        }
+        if (nx!=_window_x || ny!=_window_y) {
+          _window_x = nx; _window_y = ny; _is_moved = _is_event = true;
+          pthread_cond_broadcast(&cimg::X11_attr().wait_event);
+        }
+      } break;
+      case Expose : {
+        while (XCheckWindowEvent(dpy,_window,ExposureMask,&event)) {}
+        _paint(false);
+        if (_is_fullscreen) {
+          XWindowAttributes attr;
+          XGetWindowAttributes(dpy,_window,&attr);
+          while (attr.map_state!=IsViewable) XSync(dpy,0);
+          XSetInputFocus(dpy,_window,RevertToParent,CurrentTime);
+        }
+      } break;
+      case ButtonPress : {
+        do {
+          _mouse_x = event.xmotion.x; _mouse_y = event.xmotion.y;
+          if (_mouse_x<0 || _mouse_y<0 || _mouse_x>=width() || _mouse_y>=height()) _mouse_x = _mouse_y = -1;
+          switch (event.xbutton.button) {
+          case 1 : set_button(1); break;
+          case 3 : set_button(2); break;
+          case 2 : set_button(3); break;
+          }
+        } while (XCheckWindowEvent(dpy,_window,ButtonPressMask,&event));
+      } break;
+      case ButtonRelease : {
+        do {
+          _mouse_x = event.xmotion.x; _mouse_y = event.xmotion.y;
+          if (_mouse_x<0 || _mouse_y<0 || _mouse_x>=width() || _mouse_y>=height()) _mouse_x = _mouse_y = -1;
+          switch (event.xbutton.button) {
+          case 1 : set_button(1,false); break;
+          case 3 : set_button(2,false); break;
+          case 2 : set_button(3,false); break;
+          case 4 : set_wheel(1); break;
+          case 5 : set_wheel(-1); break;
+          }
+        } while (XCheckWindowEvent(dpy,_window,ButtonReleaseMask,&event));
+      } break;
+      case KeyPress : {
+        char tmp = 0; KeySym ksym;
+        XLookupString(&event.xkey,&tmp,1,&ksym,0);
+        set_key((unsigned int)ksym,true);
+      } break;
+      case KeyRelease : {
+        char keys_return[32];  // Check that the key has been physically unpressed.
+        XQueryKeymap(dpy,keys_return);
+        const unsigned int kc = event.xkey.keycode, kc1 = kc/8, kc2 = kc%8;
+        const bool is_key_pressed = kc1>=32?false:(keys_return[kc1]>>kc2)&1;
+        if (!is_key_pressed) {
+          char tmp = 0; KeySym ksym;
+          XLookupString(&event.xkey,&tmp,1,&ksym,0);
+          set_key((unsigned int)ksym,false);
+        }
+      } break;
+      case EnterNotify: {
+        while (XCheckWindowEvent(dpy,_window,EnterWindowMask,&event)) {}
+        _mouse_x = event.xmotion.x;
+        _mouse_y = event.xmotion.y;
+        if (_mouse_x<0 || _mouse_y<0 || _mouse_x>=width() || _mouse_y>=height()) _mouse_x = _mouse_y = -1;
+      } break;
+      case LeaveNotify : {
+        while (XCheckWindowEvent(dpy,_window,LeaveWindowMask,&event)) {}
+        _mouse_x = _mouse_y = -1; _is_event = true;
+        pthread_cond_broadcast(&cimg::X11_attr().wait_event);
+      } break;
+      case MotionNotify : {
+        while (XCheckWindowEvent(dpy,_window,PointerMotionMask,&event)) {}
+        _mouse_x = event.xmotion.x;
+        _mouse_y = event.xmotion.y;
+        if (_mouse_x<0 || _mouse_y<0 || _mouse_x>=width() || _mouse_y>=height()) _mouse_x = _mouse_y = -1;
+        _is_event = true;
+        pthread_cond_broadcast(&cimg::X11_attr().wait_event);
+      } break;
+      }
+    }
+
+    static void* _events_thread(void *arg) { // Thread to manage events for all opened display windows.
+      Display *const dpy = cimg::X11_attr().display;
+      XEvent event;
+      pthread_setcanceltype(PTHREAD_CANCEL_DEFERRED,0);
+      pthread_setcancelstate(PTHREAD_CANCEL_ENABLE,0);
+      if (!arg) for ( ; ; ) {
+        cimg_lock_display();
+        bool event_flag = XCheckTypedEvent(dpy,ClientMessage,&event);
+        if (!event_flag) event_flag = XCheckMaskEvent(dpy,
+                                                      ExposureMask | StructureNotifyMask | ButtonPressMask |
+                                                      KeyPressMask | PointerMotionMask | EnterWindowMask |
+                                                      LeaveWindowMask | ButtonReleaseMask | KeyReleaseMask,&event);
+        if (event_flag)
+          for (unsigned int i = 0; i<cimg::X11_attr().nb_wins; ++i)
+            if (!cimg::X11_attr().wins[i]->_is_closed && event.xany.window==cimg::X11_attr().wins[i]->_window)
+              cimg::X11_attr().wins[i]->_handle_events(&event);
+        cimg_unlock_display();
+        pthread_testcancel();
+        cimg::sleep(8);
+      }
+      return 0;
+    }
+
+    void _set_colormap(Colormap& _colormap, const unsigned int dim) {
+      XColor *const colormap = new XColor[256];
+      switch (dim) {
+      case 1 : { // colormap for greyscale images
+        for (unsigned int index = 0; index<256; ++index) {
+          colormap[index].pixel = index;
+          colormap[index].red = colormap[index].green = colormap[index].blue = (unsigned short)(index<<8);
+          colormap[index].flags = DoRed | DoGreen | DoBlue;
+        }
+      } break;
+      case 2 : { // colormap for RG images
+        for (unsigned int index = 0, r = 8; r<256; r+=16)
+          for (unsigned int g = 8; g<256; g+=16) {
+            colormap[index].pixel = index;
+            colormap[index].red = colormap[index].blue = (unsigned short)(r<<8);
+            colormap[index].green = (unsigned short)(g<<8);
+            colormap[index++].flags = DoRed | DoGreen | DoBlue;
+          }
+      } break;
+      default : { // colormap for RGB images
+        for (unsigned int index = 0, r = 16; r<256; r+=32)
+          for (unsigned int g = 16; g<256; g+=32)
+            for (unsigned int b = 32; b<256; b+=64) {
+              colormap[index].pixel = index;
+              colormap[index].red = (unsigned short)(r<<8);
+              colormap[index].green = (unsigned short)(g<<8);
+              colormap[index].blue = (unsigned short)(b<<8);
+              colormap[index++].flags = DoRed | DoGreen | DoBlue;
+            }
+      }
+      }
+      XStoreColors(cimg::X11_attr().display,_colormap,colormap,256);
+      delete[] colormap;
+    }
+
+    void _map_window() {
+      Display *const dpy = cimg::X11_attr().display;
+      bool is_exposed = false, is_mapped = false;
+      XWindowAttributes attr;
+      XEvent event;
+      XMapRaised(dpy,_window);
+      do { // Wait for the window to be mapped.
+        XWindowEvent(dpy,_window,StructureNotifyMask | ExposureMask,&event);
+        switch (event.type) {
+        case MapNotify : is_mapped = true; break;
+        case Expose : is_exposed = true; break;
+        }
+      } while (!is_exposed || !is_mapped);
+      do { // Wait for the window to be visible.
+        XGetWindowAttributes(dpy,_window,&attr);
+        if (attr.map_state!=IsViewable) { XSync(dpy,0); cimg::sleep(10); }
+      } while (attr.map_state!=IsViewable);
+      _window_x = attr.x;
+      _window_y = attr.y;
+    }
+
+    void _paint(const bool wait_expose=true) {
+      if (_is_closed || !_image) return;
+      Display *const dpy = cimg::X11_attr().display;
+      if (wait_expose) { // Send an expose event sticked to display window to force repaint.
+        XEvent event;
+        event.xexpose.type = Expose;
+        event.xexpose.serial = 0;
+        event.xexpose.send_event = 1;
+        event.xexpose.display = dpy;
+        event.xexpose.window = _window;
+        event.xexpose.x = 0;
+        event.xexpose.y = 0;
+        event.xexpose.width = width();
+        event.xexpose.height = height();
+        event.xexpose.count = 0;
+        XSendEvent(dpy,_window,0,0,&event);
+      } else { // Repaint directly (may be called from the expose event).
+        GC gc = DefaultGC(dpy,DefaultScreen(dpy));
+#ifdef cimg_use_xshm
+        if (_shminfo) XShmPutImage(dpy,_window,gc,_image,0,0,0,0,_width,_height,1);
+        else XPutImage(dpy,_window,gc,_image,0,0,0,0,_width,_height);
+#else
+        XPutImage(dpy,_window,gc,_image,0,0,0,0,_width,_height);
+#endif
+      }
+    }
+
+    template<typename T>
+    void _resize(T pixel_type, const unsigned int ndimx, const unsigned int ndimy, const bool force_redraw) {
+      Display *const dpy = cimg::X11_attr().display;
+      cimg::unused(pixel_type);
+
+#ifdef cimg_use_xshm
+      if (_shminfo) {
+        XShmSegmentInfo *const nshminfo = new XShmSegmentInfo;
+        XImage *const nimage = XShmCreateImage(dpy,DefaultVisual(dpy,DefaultScreen(dpy)),
+                                               cimg::X11_attr().nb_bits,ZPixmap,0,nshminfo,ndimx,ndimy);
+        if (!nimage) { delete nshminfo; return; }
+        else {
+          nshminfo->shmid = shmget(IPC_PRIVATE,ndimx*ndimy*sizeof(T),IPC_CREAT | 0777);
+          if (nshminfo->shmid==-1) { XDestroyImage(nimage); delete nshminfo; return; }
+          else {
+            nshminfo->shmaddr = nimage->data = (char*)shmat(nshminfo->shmid,0,0);
+            if (nshminfo->shmaddr==(char*)-1) {
+              shmctl(nshminfo->shmid,IPC_RMID,0); XDestroyImage(nimage); delete nshminfo; return;
+            } else {
+              nshminfo->readOnly = 0;
+              cimg::X11_attr().is_shm_enabled = true;
+              XErrorHandler oldXErrorHandler = XSetErrorHandler(_assign_xshm);
+              XShmAttach(dpy,nshminfo);
+              XFlush(dpy);
+              XSetErrorHandler(oldXErrorHandler);
+              if (!cimg::X11_attr().is_shm_enabled) {
+                shmdt(nshminfo->shmaddr);
+                shmctl(nshminfo->shmid,IPC_RMID,0);
+                XDestroyImage(nimage);
+                delete nshminfo;
+                return;
+              } else {
+                T *const ndata = (T*)nimage->data;
+                if (force_redraw) _render_resize((T*)_data,_width,_height,ndata,ndimx,ndimy);
+                else std::memset(ndata,0,sizeof(T)*ndimx*ndimy);
+                XShmDetach(dpy,_shminfo);
+                XDestroyImage(_image);
+                shmdt(_shminfo->shmaddr);
+                shmctl(_shminfo->shmid,IPC_RMID,0);
+                delete _shminfo;
+                _shminfo = nshminfo;
+                _image = nimage;
+                _data = (void*)ndata;
+              }
+            }
+          }
+        }
+      } else
+#endif
+        {
+          T *ndata = (T*)std::malloc(ndimx*ndimy*sizeof(T));
+          if (force_redraw) _render_resize((T*)_data,_width,_height,ndata,ndimx,ndimy);
+          else std::memset(ndata,0,sizeof(T)*ndimx*ndimy);
+          _data = (void*)ndata;
+          XDestroyImage(_image);
+          _image = XCreateImage(dpy,DefaultVisual(dpy,DefaultScreen(dpy)),
+                                cimg::X11_attr().nb_bits,ZPixmap,0,(char*)_data,ndimx,ndimy,8,0);
+        }
+    }
+
+    void _init_fullscreen() {
+      if (!_is_fullscreen || _is_closed) return;
+      Display *const dpy = cimg::X11_attr().display;
+      _background_window = 0;
+
+#ifdef cimg_use_xrandr
+      int foo;
+      if (XRRQueryExtension(dpy,&foo,&foo)) {
+        XRRRotations(dpy,DefaultScreen(dpy),&cimg::X11_attr().curr_rotation);
+        if (!cimg::X11_attr().resolutions) {
+          cimg::X11_attr().resolutions = XRRSizes(dpy,DefaultScreen(dpy),&foo);
+          cimg::X11_attr().nb_resolutions = (unsigned int)foo;
+        }
+        if (cimg::X11_attr().resolutions) {
+          cimg::X11_attr().curr_resolution = 0;
+          for (unsigned int i = 0; i<cimg::X11_attr().nb_resolutions; ++i) {
+            const unsigned int
+              nw = (unsigned int)(cimg::X11_attr().resolutions[i].width),
+              nh = (unsigned int)(cimg::X11_attr().resolutions[i].height);
+            if (nw>=_width && nh>=_height &&
+                nw<=(unsigned int)(cimg::X11_attr().resolutions[cimg::X11_attr().curr_resolution].width) &&
+                nh<=(unsigned int)(cimg::X11_attr().resolutions[cimg::X11_attr().curr_resolution].height))
+              cimg::X11_attr().curr_resolution = i;
+          }
+          if (cimg::X11_attr().curr_resolution>0) {
+            XRRScreenConfiguration *config = XRRGetScreenInfo(dpy,DefaultRootWindow(dpy));
+            XRRSetScreenConfig(dpy,config,DefaultRootWindow(dpy),
+                               cimg::X11_attr().curr_resolution,cimg::X11_attr().curr_rotation,CurrentTime);
+            XRRFreeScreenConfigInfo(config);
+            XSync(dpy,0);
+          }
+        }
+      }
+      if (!cimg::X11_attr().resolutions)
+        cimg::warn(_cimgdisplay_instance
+                   "init_fullscreen(): Xrandr extension not supported by the X server.",
+                   cimgdisplay_instance);
+#endif
+
+      const unsigned int sx = screen_width(), sy = screen_height();
+      if (sx==_width && sy==_height) return;
+      XSetWindowAttributes winattr;
+      winattr.override_redirect = 1;
+      _background_window = XCreateWindow(dpy,DefaultRootWindow(dpy),0,0,sx,sy,0,0,
+                                         InputOutput,CopyFromParent,CWOverrideRedirect,&winattr);
+      const unsigned long buf_size = (unsigned long)sx*sy*(cimg::X11_attr().nb_bits==8?1:
+                                                           (cimg::X11_attr().nb_bits==16?2:4));
+      void *background_data = std::malloc(buf_size);
+      std::memset(background_data,0,buf_size);
+      XImage *background_image = XCreateImage(dpy,DefaultVisual(dpy,DefaultScreen(dpy)),cimg::X11_attr().nb_bits,
+                                              ZPixmap,0,(char*)background_data,sx,sy,8,0);
+      XEvent event;
+      XSelectInput(dpy,_background_window,StructureNotifyMask);
+      XMapRaised(dpy,_background_window);
+      do XWindowEvent(dpy,_background_window,StructureNotifyMask,&event);
+      while (event.type!=MapNotify);
+      GC gc = DefaultGC(dpy,DefaultScreen(dpy));
+#ifdef cimg_use_xshm
+      if (_shminfo) XShmPutImage(dpy,_background_window,gc,background_image,0,0,0,0,sx,sy,0);
+      else XPutImage(dpy,_background_window,gc,background_image,0,0,0,0,sx,sy);
+#else
+      XPutImage(dpy,_background_window,gc,background_image,0,0,0,0,sx,sy);
+#endif
+      XWindowAttributes attr;
+      XGetWindowAttributes(dpy,_background_window,&attr);
+      while (attr.map_state!=IsViewable) XSync(dpy,0);
+      XDestroyImage(background_image);
+    }
+
+    void _desinit_fullscreen() {
+      if (!_is_fullscreen) return;
+      Display *const dpy = cimg::X11_attr().display;
+      XUngrabKeyboard(dpy,CurrentTime);
+#ifdef cimg_use_xrandr
+      if (cimg::X11_attr().resolutions && cimg::X11_attr().curr_resolution) {
+        XRRScreenConfiguration *config = XRRGetScreenInfo(dpy,DefaultRootWindow(dpy));
+        XRRSetScreenConfig(dpy,config,DefaultRootWindow(dpy),0,cimg::X11_attr().curr_rotation,CurrentTime);
+        XRRFreeScreenConfigInfo(config);
+        XSync(dpy,0);
+        cimg::X11_attr().curr_resolution = 0;
+      }
+#endif
+      if (_background_window) XDestroyWindow(dpy,_background_window);
+      _background_window = 0;
+      _is_fullscreen = false;
+    }
+
+    static int _assign_xshm(Display *dpy, XErrorEvent *error) {
+      cimg::unused(dpy,error);
+      cimg::X11_attr().is_shm_enabled = false;
+      return 0;
+    }
+
+    void _assign(const unsigned int dimw, const unsigned int dimh, const char *const ptitle=0,
+                 const unsigned int normalization_type=3,
+                 const bool fullscreen_flag=false, const bool closed_flag=false) {
+      cimg::mutex(14);
+
+      // Allocate space for window title
+      const char *const nptitle = ptitle?ptitle:"";
+      const unsigned int s = std::strlen(nptitle) + 1;
+      char *const tmp_title = s?new char[s]:0;
+      if (s) std::memcpy(tmp_title,nptitle,s*sizeof(char));
+
+      // Destroy previous display window if existing
+      if (!is_empty()) assign();
+
+      // Open X11 display and retrieve graphical properties.
+      Display* &dpy = cimg::X11_attr().display;
+      if (!dpy) {
+        dpy = XOpenDisplay(0);
+        if (!dpy)
+          throw CImgDisplayException(_cimgdisplay_instance
+                                     "assign(): Failed to open X11 display.",
+                                     cimgdisplay_instance);
+
+        cimg::X11_attr().nb_bits = DefaultDepth(dpy,DefaultScreen(dpy));
+        if (cimg::X11_attr().nb_bits!=8 && cimg::X11_attr().nb_bits!=16 &&
+            cimg::X11_attr().nb_bits!=24 && cimg::X11_attr().nb_bits!=32)
+          throw CImgDisplayException(_cimgdisplay_instance
+                                     "assign(): Invalid %u bits screen mode detected "
+                                     "(only 8, 16, 24 and 32 bits modes are managed).",
+                                     cimgdisplay_instance,
+                                     cimg::X11_attr().nb_bits);
+        XVisualInfo vtemplate;
+        vtemplate.visualid = XVisualIDFromVisual(DefaultVisual(dpy,DefaultScreen(dpy)));
+        int nb_visuals;
+        XVisualInfo *vinfo = XGetVisualInfo(dpy,VisualIDMask,&vtemplate,&nb_visuals);
+        if (vinfo && vinfo->red_mask<vinfo->blue_mask) cimg::X11_attr().is_blue_first = true;
+        cimg::X11_attr().byte_order = ImageByteOrder(dpy);
+	XFree(vinfo);
+
+        cimg_lock_display();
+        cimg::X11_attr().events_thread = new pthread_t;
+        pthread_create(cimg::X11_attr().events_thread,0,_events_thread,0);
+      } else cimg_lock_display();
+
+      // Set display variables.
+      _width = cimg::min(dimw,(unsigned int)screen_width());
+      _height = cimg::min(dimh,(unsigned int)screen_height());
+      _normalization = normalization_type<4?normalization_type:3;
+      _is_fullscreen = fullscreen_flag;
+      _window_x = _window_y = 0;
+      _is_closed = closed_flag;
+      _title = tmp_title;
+      flush();
+
+      // Create X11 window (and LUT, if 8bits display)
+      if (_is_fullscreen) {
+        if (!_is_closed) _init_fullscreen();
+        const unsigned int sx = screen_width(), sy = screen_height();
+        XSetWindowAttributes winattr;
+        winattr.override_redirect = 1;
+        _window = XCreateWindow(dpy,DefaultRootWindow(dpy),(sx - _width)/2,(sy - _height)/2,_width,_height,0,0,
+                                InputOutput,CopyFromParent,CWOverrideRedirect,&winattr);
+      } else
+        _window = XCreateSimpleWindow(dpy,DefaultRootWindow(dpy),0,0,_width,_height,0,0L,0L);
+
+      XSelectInput(dpy,_window,
+		   ExposureMask | StructureNotifyMask | ButtonPressMask | KeyPressMask | PointerMotionMask |
+		   EnterWindowMask | LeaveWindowMask | ButtonReleaseMask | KeyReleaseMask);
+
+      XStoreName(dpy,_window,_title?_title:" ");
+      if (cimg::X11_attr().nb_bits==8) {
+        _colormap = XCreateColormap(dpy,_window,DefaultVisual(dpy,DefaultScreen(dpy)),AllocAll);
+        _set_colormap(_colormap,3);
+        XSetWindowColormap(dpy,_window,_colormap);
+      }
+
+      static const char *const _window_class = cimg_appname;
+      XClassHint *const window_class = XAllocClassHint();
+      window_class->res_name = (char*)_window_class;
+      window_class->res_class = (char*)_window_class;
+      XSetClassHint(dpy,_window,window_class);
+      XFree(window_class);
+
+      _window_width = _width;
+      _window_height = _height;
+
+      // Create XImage
+#ifdef cimg_use_xshm
+      _shminfo = 0;
+      if (XShmQueryExtension(dpy)) {
+        _shminfo = new XShmSegmentInfo;
+        _image = XShmCreateImage(dpy,DefaultVisual(dpy,DefaultScreen(dpy)),cimg::X11_attr().nb_bits,
+                                 ZPixmap,0,_shminfo,_width,_height);
+        if (!_image) { delete _shminfo; _shminfo = 0; }
+        else {
+          _shminfo->shmid = shmget(IPC_PRIVATE,_image->bytes_per_line*_image->height,IPC_CREAT|0777);
+          if (_shminfo->shmid==-1) { XDestroyImage(_image); delete _shminfo; _shminfo = 0; }
+          else {
+            _shminfo->shmaddr = _image->data = (char*)(_data = shmat(_shminfo->shmid,0,0));
+            if (_shminfo->shmaddr==(char*)-1) {
+              shmctl(_shminfo->shmid,IPC_RMID,0); XDestroyImage(_image); delete _shminfo; _shminfo = 0;
+            } else {
+              _shminfo->readOnly = 0;
+              cimg::X11_attr().is_shm_enabled = true;
+              XErrorHandler oldXErrorHandler = XSetErrorHandler(_assign_xshm);
+              XShmAttach(dpy,_shminfo);
+              XSync(dpy,0);
+              XSetErrorHandler(oldXErrorHandler);
+              if (!cimg::X11_attr().is_shm_enabled) {
+                shmdt(_shminfo->shmaddr); shmctl(_shminfo->shmid,IPC_RMID,0); XDestroyImage(_image);
+                delete _shminfo; _shminfo = 0;
+              }
+            }
+          }
+        }
+      }
+      if (!_shminfo)
+#endif
+        {
+          const unsigned long buf_size = (unsigned long)_width*_height*(cimg::X11_attr().nb_bits==8?1:
+                                                                        (cimg::X11_attr().nb_bits==16?2:4));
+          _data = std::malloc(buf_size);
+          _image = XCreateImage(dpy,DefaultVisual(dpy,DefaultScreen(dpy)),cimg::X11_attr().nb_bits,
+                                ZPixmap,0,(char*)_data,_width,_height,8,0);
+        }
+
+      _wm_window_atom = XInternAtom(dpy,"WM_DELETE_WINDOW",0);
+      _wm_protocol_atom = XInternAtom(dpy,"WM_PROTOCOLS",0);
+      XSetWMProtocols(dpy,_window,&_wm_window_atom,1);
+
+      if (_is_fullscreen) XGrabKeyboard(dpy,_window,1,GrabModeAsync,GrabModeAsync,CurrentTime);
+      cimg::X11_attr().wins[cimg::X11_attr().nb_wins++]=this;
+      if (!_is_closed) _map_window(); else { _window_x = _window_y = cimg::type<int>::min(); }
+      cimg_unlock_display();
+      cimg::mutex(14,0);
+    }
+
+    CImgDisplay& assign() {
+      if (is_empty()) return flush();
+      Display *const dpy = cimg::X11_attr().display;
+      cimg_lock_display();
+
+      // Remove display window from event thread list.
+      unsigned int i;
+      for (i = 0; i<cimg::X11_attr().nb_wins && cimg::X11_attr().wins[i]!=this; ++i) {}
+      for ( ; i<cimg::X11_attr().nb_wins - 1; ++i) cimg::X11_attr().wins[i] = cimg::X11_attr().wins[i + 1];
+      --cimg::X11_attr().nb_wins;
+
+      // Destroy window, image, colormap and title.
+      if (_is_fullscreen && !_is_closed) _desinit_fullscreen();
+      XDestroyWindow(dpy,_window);
+      _window = 0;
+#ifdef cimg_use_xshm
+      if (_shminfo) {
+        XShmDetach(dpy,_shminfo);
+        XDestroyImage(_image);
+        shmdt(_shminfo->shmaddr);
+        shmctl(_shminfo->shmid,IPC_RMID,0);
+        delete _shminfo;
+        _shminfo = 0;
+      } else
+#endif
+        XDestroyImage(_image);
+      _data = 0; _image = 0;
+      if (cimg::X11_attr().nb_bits==8) XFreeColormap(dpy,_colormap);
+      _colormap = 0;
+      XSync(dpy,0);
+
+      // Reset display variables.
+      delete[] _title;
+      _width = _height = _normalization = _window_width = _window_height = 0;
+      _window_x = _window_y = 0;
+      _is_fullscreen = false;
+      _is_closed = true;
+      _min = _max = 0;
+      _title = 0;
+      flush();
+
+      cimg_unlock_display();
+      return *this;
+    }
+
+    CImgDisplay& assign(const unsigned int dimw, const unsigned int dimh, const char *const title=0,
+                        const unsigned int normalization_type=3,
+                        const bool fullscreen_flag=false, const bool closed_flag=false) {
+      if (!dimw || !dimh) return assign();
+      _assign(dimw,dimh,title,normalization_type,fullscreen_flag,closed_flag);
+      _min = _max = 0;
+      std::memset(_data,0,(cimg::X11_attr().nb_bits==8?sizeof(unsigned char):
+                           (cimg::X11_attr().nb_bits==16?sizeof(unsigned short):sizeof(unsigned int)))*
+                  (unsigned long)_width*_height);
+      return paint();
+    }
+
+    template<typename T>
+    CImgDisplay& assign(const CImg<T>& img, const char *const title=0,
+                        const unsigned int normalization_type=3,
+                        const bool fullscreen_flag=false, const bool closed_flag=false) {
+      if (!img) return assign();
+      CImg<T> tmp;
+      const CImg<T>& nimg = (img._depth==1)?img:(tmp=img.get_projections2d((img._width - 1)/2,
+                                                                           (img._height - 1)/2,
+                                                                           (img._depth - 1)/2));
+      _assign(nimg._width,nimg._height,title,normalization_type,fullscreen_flag,closed_flag);
+      if (_normalization==2) _min = (float)nimg.min_max(_max);
+      return render(nimg).paint();
+    }
+
+    template<typename T>
+    CImgDisplay& assign(const CImgList<T>& list, const char *const title=0,
+                        const unsigned int normalization_type=3,
+                        const bool fullscreen_flag=false, const bool closed_flag=false) {
+      if (!list) return assign();
+      CImg<T> tmp;
+      const CImg<T> img = list>'x', &nimg = (img._depth==1)?img:(tmp=img.get_projections2d((img._width - 1)/2,
+                                                                                           (img._height - 1)/2,
+                                                                                           (img._depth - 1)/2));
+      _assign(nimg._width,nimg._height,title,normalization_type,fullscreen_flag,closed_flag);
+      if (_normalization==2) _min = (float)nimg.min_max(_max);
+      return render(nimg).paint();
+    }
+
+    CImgDisplay& assign(const CImgDisplay& disp) {
+      if (!disp) return assign();
+      _assign(disp._width,disp._height,disp._title,disp._normalization,disp._is_fullscreen,disp._is_closed);
+      std::memcpy(_data,disp._data,(cimg::X11_attr().nb_bits==8?sizeof(unsigned char):
+                                    cimg::X11_attr().nb_bits==16?sizeof(unsigned short):
+                                    sizeof(unsigned int))*(unsigned long)_width*_height);
+      return paint();
+    }
+
+    CImgDisplay& resize(const int nwidth, const int nheight, const bool force_redraw=true) {
+      if (!nwidth || !nheight || (is_empty() && (nwidth<0 || nheight<0))) return assign();
+      if (is_empty()) return assign(nwidth,nheight);
+      Display *const dpy = cimg::X11_attr().display;
+      const unsigned int
+        tmpdimx = (nwidth>0)?nwidth:(-nwidth*width()/100),
+        tmpdimy = (nheight>0)?nheight:(-nheight*height()/100),
+        dimx = tmpdimx?tmpdimx:1,
+        dimy = tmpdimy?tmpdimy:1;
+      if (_width!=dimx || _height!=dimy || _window_width!=dimx || _window_height!=dimy) {
+        show();
+        cimg_lock_display();
+        if (_window_width!=dimx || _window_height!=dimy) {
+          XWindowAttributes attr;
+          for (unsigned int i = 0; i<10; ++i) {
+            XResizeWindow(dpy,_window,dimx,dimy);
+            XGetWindowAttributes(dpy,_window,&attr);
+            if (attr.width==(int)dimx && attr.height==(int)dimy) break;
+            cimg::wait(5);
+          }
+        }
+        if (_width!=dimx || _height!=dimy) switch (cimg::X11_attr().nb_bits) {
+          case 8 :  { unsigned char pixel_type = 0; _resize(pixel_type,dimx,dimy,force_redraw); } break;
+          case 16 : { unsigned short pixel_type = 0; _resize(pixel_type,dimx,dimy,force_redraw); } break;
+          default : { unsigned int pixel_type = 0; _resize(pixel_type,dimx,dimy,force_redraw); }
+          }
+        _window_width = _width = dimx; _window_height = _height = dimy;
+        cimg_unlock_display();
+      }
+      _is_resized = false;
+      if (_is_fullscreen) move((screen_width() - _width)/2,(screen_height() - _height)/2);
+      if (force_redraw) return paint();
+      return *this;
+    }
+
+    CImgDisplay& toggle_fullscreen(const bool force_redraw=true) {
+      if (is_empty()) return *this;
+      if (force_redraw) {
+        const unsigned long buf_size = (unsigned long)_width*_height*
+          (cimg::X11_attr().nb_bits==8?1:(cimg::X11_attr().nb_bits==16?2:4));
+        void *image_data = std::malloc(buf_size);
+        std::memcpy(image_data,_data,buf_size);
+        assign(_width,_height,_title,_normalization,!_is_fullscreen,false);
+        std::memcpy(_data,image_data,buf_size);
+        std::free(image_data);
+        return paint();
+      }
+      return assign(_width,_height,_title,_normalization,!_is_fullscreen,false);
+    }
+
+    CImgDisplay& show() {
+      if (is_empty() || !_is_closed) return *this;
+      cimg_lock_display();
+      if (_is_fullscreen) _init_fullscreen();
+      _map_window();
+      _is_closed = false;
+      cimg_unlock_display();
+      return paint();
+    }
+
+    CImgDisplay& close() {
+      if (is_empty() || _is_closed) return *this;
+      Display *const dpy = cimg::X11_attr().display;
+      cimg_lock_display();
+      if (_is_fullscreen) _desinit_fullscreen();
+      XUnmapWindow(dpy,_window);
+      _window_x = _window_y = -1;
+      _is_closed = true;
+      cimg_unlock_display();
+      return *this;
+    }
+
+    CImgDisplay& move(const int posx, const int posy) {
+      if (is_empty()) return *this;
+      if (_window_x!=posx || _window_y!=posy) {
+        show();
+        Display *const dpy = cimg::X11_attr().display;
+        cimg_lock_display();
+        XMoveWindow(dpy,_window,posx,posy);
+        _window_x = posx; _window_y = posy;
+        cimg_unlock_display();
+      }
+      _is_moved = false;
+      return paint();
+    }
+
+    CImgDisplay& show_mouse() {
+      if (is_empty()) return *this;
+      Display *const dpy = cimg::X11_attr().display;
+      cimg_lock_display();
+      XUndefineCursor(dpy,_window);
+      cimg_unlock_display();
+      return *this;
+    }
+
+    CImgDisplay& hide_mouse() {
+      if (is_empty()) return *this;
+      Display *const dpy = cimg::X11_attr().display;
+      cimg_lock_display();
+      const char pix_data[8] = { 0 };
+      XColor col;
+      col.red = col.green = col.blue = 0;
+      Pixmap pix = XCreateBitmapFromData(dpy,_window,pix_data,8,8);
+      Cursor cur = XCreatePixmapCursor(dpy,pix,pix,&col,&col,0,0);
+      XFreePixmap(dpy,pix);
+      XDefineCursor(dpy,_window,cur);
+      cimg_unlock_display();
+      return *this;
+    }
+
+    CImgDisplay& set_mouse(const int posx, const int posy) {
+      if (is_empty() || _is_closed) return *this;
+      Display *const dpy = cimg::X11_attr().display;
+      cimg_lock_display();
+      XWarpPointer(dpy,0L,_window,0,0,0,0,posx,posy);
+      _mouse_x = posx; _mouse_y = posy;
+      _is_moved = false;
+      XSync(dpy,0);
+      cimg_unlock_display();
+      return *this;
+    }
+
+    CImgDisplay& set_title(const char *const format, ...) {
+      if (is_empty()) return *this;
+      char *const tmp = new char[1024];
+      va_list ap;
+      va_start(ap, format);
+      cimg_vsnprintf(tmp,1024,format,ap);
+      va_end(ap);
+      if (!std::strcmp(_title,tmp)) { delete[] tmp; return *this; }
+      delete[] _title;
+      const unsigned int s = std::strlen(tmp) + 1;
+      _title = new char[s];
+      std::memcpy(_title,tmp,s*sizeof(char));
+      Display *const dpy = cimg::X11_attr().display;
+      cimg_lock_display();
+      XStoreName(dpy,_window,tmp);
+      cimg_unlock_display();
+      delete[] tmp;
+      return *this;
+    }
+
+    template<typename T>
+    CImgDisplay& display(const CImg<T>& img) {
+      if (!img)
+        throw CImgArgumentException(_cimgdisplay_instance
+                                    "display(): Empty specified image.",
+                                    cimgdisplay_instance);
+      if (is_empty()) return assign(img);
+      return render(img).paint(false);
+    }
+
+    CImgDisplay& paint(const bool wait_expose=true) {
+      if (is_empty()) return *this;
+      cimg_lock_display();
+      _paint(wait_expose);
+      cimg_unlock_display();
+      return *this;
+    }
+
+    template<typename T>
+    CImgDisplay& render(const CImg<T>& img, const bool flag8=false) {
+      if (!img)
+        throw CImgArgumentException(_cimgdisplay_instance
+                                    "render(): Empty specified image.",
+                                    cimgdisplay_instance);
+      if (is_empty()) return *this;
+      if (img._depth!=1) return render(img.get_projections2d((img._width - 1)/2,(img._height - 1)/2,
+                                                             (img._depth - 1)/2));
+      if (cimg::X11_attr().nb_bits==8 && (img._width!=_width || img._height!=_height))
+        return render(img.get_resize(_width,_height,1,-100,1));
+      if (cimg::X11_attr().nb_bits==8 && !flag8 && img._spectrum==3) {
+        static const CImg<typename CImg<T>::ucharT> default_colormap = CImg<typename CImg<T>::ucharT>::default_LUT256();
+        return render(img.get_index(default_colormap,1,false));
+      }
+
+      const T
+        *data1 = img._data,
+        *data2 = (img._spectrum>1)?img.data(0,0,0,1):data1,
+        *data3 = (img._spectrum>2)?img.data(0,0,0,2):data1;
+
+      if (cimg::X11_attr().is_blue_first) cimg::swap(data1,data3);
+      cimg_lock_display();
+
+      if (!_normalization || (_normalization==3 && cimg::type<T>::string()==cimg::type<unsigned char>::string())) {
+        _min = _max = 0;
+        switch (cimg::X11_attr().nb_bits) {
+        case 8 : { // 256 colormap, no normalization
+          _set_colormap(_colormap,img._spectrum);
+          unsigned char
+            *const ndata = (img._width==_width && img._height==_height)?(unsigned char*)_data:
+            new unsigned char[(unsigned long)img._width*img._height],
+            *ptrd = (unsigned char*)ndata;
+          switch (img._spectrum) {
+          case 1 :
+            for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy)
+              (*ptrd++) = (unsigned char)*(data1++);
+            break;
+          case 2 : for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+	      const unsigned char R = (unsigned char)*(data1++), G = (unsigned char)*(data2++);
+	      (*ptrd++) = (R&0xf0) | (G>>4);
+	    } break;
+          default : for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+	      const unsigned char
+                R = (unsigned char)*(data1++),
+                G = (unsigned char)*(data2++),
+                B = (unsigned char)*(data3++);
+	      (*ptrd++) = (R&0xe0) | ((G>>5)<<2) | (B>>6);
+	    }
+          }
+          if (ndata!=_data) {
+            _render_resize(ndata,img._width,img._height,(unsigned char*)_data,_width,_height);
+            delete[] ndata;
+          }
+        } break;
+        case 16 : { // 16 bits colors, no normalization
+          unsigned short *const ndata = (img._width==_width && img._height==_height)?(unsigned short*)_data:
+            new unsigned short[(unsigned long)img._width*img._height];
+          unsigned char *ptrd = (unsigned char*)ndata;
+          const unsigned int M = 248;
+          switch (img._spectrum) {
+          case 1 :
+            if (cimg::X11_attr().byte_order)
+              for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                const unsigned char val = (unsigned char)*(data1++), G = val>>2;
+                *(ptrd++) = (val&M) | (G>>3);
+                *(ptrd++) = (G<<5) | (G>>1);
+              } else for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                const unsigned char val = (unsigned char)*(data1++), G = val>>2;
+                *(ptrd++) = (G<<5) | (G>>1);
+                *(ptrd++) = (val&M) | (G>>3);
+              }
+            break;
+          case 2 :
+            if (cimg::X11_attr().byte_order)
+              for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                const unsigned char G = (unsigned char)*(data2++)>>2;
+                *(ptrd++) = ((unsigned char)*(data1++)&M) | (G>>3);
+                *(ptrd++) = (G<<5);
+              } else for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                const unsigned char G = (unsigned char)*(data2++)>>2;
+                *(ptrd++) = (G<<5);
+                *(ptrd++) = ((unsigned char)*(data1++)&M) | (G>>3);
+              }
+            break;
+          default :
+            if (cimg::X11_attr().byte_order)
+              for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                const unsigned char G = (unsigned char)*(data2++)>>2;
+                *(ptrd++) = ((unsigned char)*(data1++)&M) | (G>>3);
+                *(ptrd++) = (G<<5) | ((unsigned char)*(data3++)>>3);
+              } else for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                const unsigned char G = (unsigned char)*(data2++)>>2;
+                *(ptrd++) = (G<<5) | ((unsigned char)*(data3++)>>3);
+                *(ptrd++) = ((unsigned char)*(data1++)&M) | (G>>3);
+              }
+          }
+          if (ndata!=_data) {
+            _render_resize(ndata,img._width,img._height,(unsigned short*)_data,_width,_height);
+            delete[] ndata;
+          }
+        } break;
+        default : { // 24 bits colors, no normalization
+          unsigned int *const ndata = (img._width==_width && img._height==_height)?(unsigned int*)_data:
+            new unsigned int[(unsigned long)img._width*img._height];
+          if (sizeof(int)==4) { // 32 bits int uses optimized version
+            unsigned int *ptrd = ndata;
+            switch (img._spectrum) {
+            case 1 :
+              if (cimg::X11_attr().byte_order==cimg::endianness())
+                for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                  const unsigned char val = (unsigned char)*(data1++);
+                  *(ptrd++) = (val<<16) | (val<<8) | val;
+                }
+              else
+                for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                 const unsigned char val = (unsigned char)*(data1++);
+                  *(ptrd++) = (val<<16) | (val<<8) | val;
+                }
+              break;
+            case 2 :
+              if (cimg::X11_attr().byte_order==cimg::endianness())
+                for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy)
+                  *(ptrd++) = ((unsigned char)*(data1++)<<16) | ((unsigned char)*(data2++)<<8);
+              else
+                for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy)
+                  *(ptrd++) = ((unsigned char)*(data2++)<<16) | ((unsigned char)*(data1++)<<8);
+              break;
+            default :
+              if (cimg::X11_attr().byte_order==cimg::endianness())
+                for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy)
+                  *(ptrd++) = ((unsigned char)*(data1++)<<16) | ((unsigned char)*(data2++)<<8) |
+                    (unsigned char)*(data3++);
+              else
+                for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy)
+                  *(ptrd++) = ((unsigned char)*(data3++)<<24) | ((unsigned char)*(data2++)<<16) |
+                    ((unsigned char)*(data1++)<<8);
+            }
+          } else {
+            unsigned char *ptrd = (unsigned char*)ndata;
+            switch (img._spectrum) {
+            case 1 :
+              if (cimg::X11_attr().byte_order)
+                for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                  *(ptrd++) = 0;
+                  *(ptrd++) = (unsigned char)*(data1++);
+                  *(ptrd++) = 0;
+                  *(ptrd++) = 0;
+                } else for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                  *(ptrd++) = 0;
+                  *(ptrd++) = 0;
+                  *(ptrd++) = (unsigned char)*(data1++);
+                  *(ptrd++) = 0;
+                }
+              break;
+            case 2 :
+              if (cimg::X11_attr().byte_order) cimg::swap(data1,data2);
+              for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                *(ptrd++) = 0;
+                *(ptrd++) = (unsigned char)*(data2++);
+                *(ptrd++) = (unsigned char)*(data1++);
+                *(ptrd++) = 0;
+              }
+              break;
+            default :
+              if (cimg::X11_attr().byte_order)
+                for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                  *(ptrd++) = 0;
+                  *(ptrd++) = (unsigned char)*(data1++);
+                  *(ptrd++) = (unsigned char)*(data2++);
+                  *(ptrd++) = (unsigned char)*(data3++);
+                } else for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                  *(ptrd++) = (unsigned char)*(data3++);
+                  *(ptrd++) = (unsigned char)*(data2++);
+                  *(ptrd++) = (unsigned char)*(data1++);
+                  *(ptrd++) = 0;
+                }
+            }
+          }
+          if (ndata!=_data) {
+            _render_resize(ndata,img._width,img._height,(unsigned int*)_data,_width,_height);
+            delete[] ndata;
+          }
+        }
+        }
+      } else {
+        if (_normalization==3) {
+          if (cimg::type<T>::is_float()) _min = (float)img.min_max(_max);
+          else { _min = (float)cimg::type<T>::min(); _max = (float)cimg::type<T>::max(); }
+        } else if ((_min>_max) || _normalization==1) _min = (float)img.min_max(_max);
+        const float delta = _max - _min, mm = 255/(delta?delta:1.0f);
+        switch (cimg::X11_attr().nb_bits) {
+        case 8 : { // 256 colormap, with normalization
+          _set_colormap(_colormap,img._spectrum);
+          unsigned char *const ndata = (img._width==_width && img._height==_height)?(unsigned char*)_data:
+            new unsigned char[(unsigned long)img._width*img._height];
+          unsigned char *ptrd = (unsigned char*)ndata;
+          switch (img._spectrum) {
+          case 1 : for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+              const unsigned char R = (unsigned char)((*(data1++) - _min)*mm);
+              *(ptrd++) = R;
+            } break;
+          case 2 : for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+              const unsigned char
+                R = (unsigned char)((*(data1++) - _min)*mm),
+                G = (unsigned char)((*(data2++) - _min)*mm);
+            (*ptrd++) = (R&0xf0) | (G>>4);
+          } break;
+          default :
+            for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+              const unsigned char
+                R = (unsigned char)((*(data1++) - _min)*mm),
+                G = (unsigned char)((*(data2++) - _min)*mm),
+                B = (unsigned char)((*(data3++) - _min)*mm);
+              *(ptrd++) = (R&0xe0) | ((G>>5)<<2) | (B>>6);
+            }
+          }
+          if (ndata!=_data) {
+            _render_resize(ndata,img._width,img._height,(unsigned char*)_data,_width,_height);
+            delete[] ndata;
+          }
+        } break;
+        case 16 : { // 16 bits colors, with normalization
+          unsigned short *const ndata = (img._width==_width && img._height==_height)?(unsigned short*)_data:
+            new unsigned short[(unsigned long)img._width*img._height];
+          unsigned char *ptrd = (unsigned char*)ndata;
+          const unsigned int M = 248;
+          switch (img._spectrum) {
+          case 1 :
+            if (cimg::X11_attr().byte_order)
+              for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                const unsigned char val = (unsigned char)((*(data1++) - _min)*mm), G = val>>2;
+                *(ptrd++) = (val&M) | (G>>3);
+                *(ptrd++) = (G<<5) | (val>>3);
+              } else for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                const unsigned char val = (unsigned char)((*(data1++) - _min)*mm), G = val>>2;
+                *(ptrd++) = (G<<5) | (val>>3);
+                *(ptrd++) = (val&M) | (G>>3);
+              }
+            break;
+          case 2 :
+            if (cimg::X11_attr().byte_order)
+              for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                const unsigned char G = (unsigned char)((*(data2++) - _min)*mm)>>2;
+                *(ptrd++) = ((unsigned char)((*(data1++) - _min)*mm)&M) | (G>>3);
+                *(ptrd++) = (G<<5);
+              } else for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                const unsigned char G = (unsigned char)((*(data2++) - _min)*mm)>>2;
+                *(ptrd++) = (G<<5);
+                *(ptrd++) = ((unsigned char)((*(data1++) - _min)*mm)&M) | (G>>3);
+              }
+            break;
+          default :
+            if (cimg::X11_attr().byte_order)
+              for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                const unsigned char G = (unsigned char)((*(data2++) - _min)*mm)>>2;
+                *(ptrd++) = ((unsigned char)((*(data1++) - _min)*mm)&M) | (G>>3);
+                *(ptrd++) = (G<<5) | ((unsigned char)((*(data3++) - _min)*mm)>>3);
+              } else for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                const unsigned char G = (unsigned char)((*(data2++) - _min)*mm)>>2;
+                *(ptrd++) = (G<<5) | ((unsigned char)((*(data3++) - _min)*mm)>>3);
+                *(ptrd++) = ((unsigned char)((*(data1++) - _min)*mm)&M) | (G>>3);
+              }
+          }
+          if (ndata!=_data) {
+            _render_resize(ndata,img._width,img._height,(unsigned short*)_data,_width,_height);
+            delete[] ndata;
+          }
+        } break;
+        default : { // 24 bits colors, with normalization
+          unsigned int *const ndata = (img._width==_width && img._height==_height)?(unsigned int*)_data:
+            new unsigned int[(unsigned long)img._width*img._height];
+          if (sizeof(int)==4) { // 32 bits int uses optimized version
+            unsigned int *ptrd = ndata;
+            switch (img._spectrum) {
+            case 1 :
+              if (cimg::X11_attr().byte_order==cimg::endianness())
+                for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                  const unsigned char val = (unsigned char)((*(data1++) - _min)*mm);
+                  *(ptrd++) = (val<<16) | (val<<8) | val;
+                }
+              else
+                for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                  const unsigned char val = (unsigned char)((*(data1++) - _min)*mm);
+                  *(ptrd++) = (val<<24) | (val<<16) | (val<<8);
+                }
+              break;
+            case 2 :
+              if (cimg::X11_attr().byte_order==cimg::endianness())
+                for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy)
+                  *(ptrd++) =
+                    ((unsigned char)((*(data1++) - _min)*mm)<<16) |
+                    ((unsigned char)((*(data2++) - _min)*mm)<<8);
+              else
+                for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy)
+                  *(ptrd++) =
+                    ((unsigned char)((*(data2++) - _min)*mm)<<16) |
+                    ((unsigned char)((*(data1++) - _min)*mm)<<8);
+              break;
+            default :
+              if (cimg::X11_attr().byte_order==cimg::endianness())
+                for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy)
+                  *(ptrd++) =
+                    ((unsigned char)((*(data1++) - _min)*mm)<<16) |
+                    ((unsigned char)((*(data2++) - _min)*mm)<<8) |
+                    (unsigned char)((*(data3++) - _min)*mm);
+              else
+                for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy)
+                  *(ptrd++) =
+                    ((unsigned char)((*(data3++) - _min)*mm)<<24) |
+                    ((unsigned char)((*(data2++) - _min)*mm)<<16) |
+                    ((unsigned char)((*(data1++) - _min)*mm)<<8);
+            }
+          } else {
+            unsigned char *ptrd = (unsigned char*)ndata;
+            switch (img._spectrum) {
+            case 1 :
+              if (cimg::X11_attr().byte_order)
+                for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                  const unsigned char val = (unsigned char)((*(data1++) - _min)*mm);
+                  (*ptrd++) = 0;
+                  (*ptrd++) = val;
+                  (*ptrd++) = val;
+                  (*ptrd++) = val;
+                } else for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                  const unsigned char val = (unsigned char)((*(data1++) - _min)*mm);
+                  (*ptrd++) = val;
+                  (*ptrd++) = val;
+                  (*ptrd++) = val;
+                  (*ptrd++) = 0;
+                }
+              break;
+            case 2 :
+              if (cimg::X11_attr().byte_order) cimg::swap(data1,data2);
+              for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                (*ptrd++) = 0;
+                (*ptrd++) = (unsigned char)((*(data2++) - _min)*mm);
+                (*ptrd++) = (unsigned char)((*(data1++) - _min)*mm);
+                (*ptrd++) = 0;
+              }
+              break;
+            default :
+              if (cimg::X11_attr().byte_order)
+                for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                  (*ptrd++) = 0;
+                  (*ptrd++) = (unsigned char)((*(data1++) - _min)*mm);
+                  (*ptrd++) = (unsigned char)((*(data2++) - _min)*mm);
+                  (*ptrd++) = (unsigned char)((*(data3++) - _min)*mm);
+                } else for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+                  (*ptrd++) = (unsigned char)((*(data3++) - _min)*mm);
+                  (*ptrd++) = (unsigned char)((*(data2++) - _min)*mm);
+                  (*ptrd++) = (unsigned char)((*(data1++) - _min)*mm);
+                  (*ptrd++) = 0;
+                }
+            }
+          }
+          if (ndata!=_data) {
+            _render_resize(ndata,img._width,img._height,(unsigned int*)_data,_width,_height);
+            delete[] ndata;
+          }
+	}
+        }
+      }
+      cimg_unlock_display();
+      return *this;
+    }
+
+    template<typename T>
+    const CImgDisplay& snapshot(CImg<T>& img) const {
+      if (is_empty()) { img.assign(); return *this; }
+      const unsigned char *ptrs = (unsigned char*)_data;
+      img.assign(_width,_height,1,3);
+      T
+        *data1 = img.data(0,0,0,0),
+        *data2 = img.data(0,0,0,1),
+        *data3 = img.data(0,0,0,2);
+      if (cimg::X11_attr().is_blue_first) cimg::swap(data1,data3);
+      switch (cimg::X11_attr().nb_bits) {
+      case 8 : {
+        for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+          const unsigned char val = *(ptrs++);
+          *(data1++) = (T)(val&0xe0);
+          *(data2++) = (T)((val&0x1c)<<3);
+          *(data3++) = (T)(val<<6);
+        }
+      } break;
+      case 16 : {
+        if (cimg::X11_attr().byte_order) for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+          const unsigned char val0 = *(ptrs++), val1 = *(ptrs++);
+          *(data1++) = (T)(val0&0xf8);
+          *(data2++) = (T)((val0<<5) | ((val1&0xe0)>>5));
+          *(data3++) = (T)(val1<<3);
+          } else for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+          const unsigned short val0 = *(ptrs++), val1 = *(ptrs++);
+          *(data1++) = (T)(val1&0xf8);
+          *(data2++) = (T)((val1<<5) | ((val0&0xe0)>>5));
+          *(data3++) = (T)(val0<<3);
+        }
+      } break;
+      default : {
+        if (cimg::X11_attr().byte_order) for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+          ++ptrs;
+          *(data1++) = (T)*(ptrs++);
+          *(data2++) = (T)*(ptrs++);
+          *(data3++) = (T)*(ptrs++);
+          } else for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+            *(data3++) = (T)*(ptrs++);
+            *(data2++) = (T)*(ptrs++);
+            *(data1++) = (T)*(ptrs++);
+            ++ptrs;
+          }
+      }
+      }
+      return *this;
+    }
+
+    // Windows-based implementation.
+    //-------------------------------
+#elif cimg_display==2
+
+    bool _is_mouse_tracked, _is_cursor_visible;
+    HANDLE _thread, _is_created, _mutex;
+    HWND _window, _background_window;
+    CLIENTCREATESTRUCT _ccs;
+    unsigned int *_data;
+    DEVMODE _curr_mode;
+    BITMAPINFO _bmi;
+    HDC _hdc;
+
+    static int screen_width() {
+      DEVMODE mode;
+      mode.dmSize = sizeof(DEVMODE);
+      mode.dmDriverExtra = 0;
+      EnumDisplaySettings(0,ENUM_CURRENT_SETTINGS,&mode);
+      return (int)mode.dmPelsWidth;
+    }
+
+    static int screen_height() {
+      DEVMODE mode;
+      mode.dmSize = sizeof(DEVMODE);
+      mode.dmDriverExtra = 0;
+      EnumDisplaySettings(0,ENUM_CURRENT_SETTINGS,&mode);
+      return (int)mode.dmPelsHeight;
+    }
+
+    static void wait_all() {
+      WaitForSingleObject(cimg::Win32_attr().wait_event,INFINITE);
+    }
+
+    static LRESULT APIENTRY _handle_events(HWND window, UINT msg, WPARAM wParam, LPARAM lParam) {
+#ifdef _WIN64
+      CImgDisplay *const disp = (CImgDisplay*)GetWindowLongPtr(window,GWLP_USERDATA);
+#else
+      CImgDisplay *const disp = (CImgDisplay*)GetWindowLong(window,GWL_USERDATA);
+#endif
+      MSG st_msg;
+      switch (msg) {
+      case WM_CLOSE :
+        disp->_mouse_x = disp->_mouse_y = -1;
+        disp->_window_x = disp->_window_y = 0;
+        disp->set_button().set_key(0).set_key(0,false)._is_closed = true;
+        ReleaseMutex(disp->_mutex);
+        ShowWindow(disp->_window,SW_HIDE);
+        disp->_is_event = true;
+        SetEvent(cimg::Win32_attr().wait_event);
+        return 0;
+      case WM_SIZE : {
+        while (PeekMessage(&st_msg,window,WM_SIZE,WM_SIZE,PM_REMOVE)) {}
+        WaitForSingleObject(disp->_mutex,INFINITE);
+        const unsigned int nw = LOWORD(lParam),nh = HIWORD(lParam);
+        if (nw && nh && (nw!=disp->_width || nh!=disp->_height)) {
+          disp->_window_width = nw;
+          disp->_window_height = nh;
+          disp->_mouse_x = disp->_mouse_y = -1;
+          disp->_is_resized = disp->_is_event = true;
+          SetEvent(cimg::Win32_attr().wait_event);
+        }
+        ReleaseMutex(disp->_mutex);
+      } break;
+      case WM_MOVE : {
+        while (PeekMessage(&st_msg,window,WM_SIZE,WM_SIZE,PM_REMOVE)) {}
+        WaitForSingleObject(disp->_mutex,INFINITE);
+        const int nx = (int)(short)(LOWORD(lParam)), ny = (int)(short)(HIWORD(lParam));
+        if (nx!=disp->_window_x || ny!=disp->_window_y) {
+          disp->_window_x = nx;
+          disp->_window_y = ny;
+          disp->_is_moved = disp->_is_event = true;
+          SetEvent(cimg::Win32_attr().wait_event);
+        }
+        ReleaseMutex(disp->_mutex);
+      } break;
+      case WM_PAINT :
+        disp->paint();
+        cimg::mutex(15);
+        if (disp->_is_cursor_visible) while (ShowCursor(TRUE)<0); else while (ShowCursor(FALSE)>=0);
+        cimg::mutex(15,0);
+        break;
+      case WM_ERASEBKGND :
+        //        return 0;
+        break;
+      case WM_KEYDOWN :
+        disp->set_key((unsigned int)wParam);
+        SetEvent(cimg::Win32_attr().wait_event);
+        break;
+      case WM_KEYUP :
+        disp->set_key((unsigned int)wParam,false);
+        SetEvent(cimg::Win32_attr().wait_event);
+        break;
+      case WM_MOUSEMOVE : {
+        while (PeekMessage(&st_msg,window,WM_MOUSEMOVE,WM_MOUSEMOVE,PM_REMOVE)) {}
+        disp->_mouse_x = LOWORD(lParam);
+        disp->_mouse_y = HIWORD(lParam);
+#if (_WIN32_WINNT>=0x0400) && !defined(NOTRACKMOUSEEVENT)
+        if (!disp->_is_mouse_tracked) {
+          TRACKMOUSEEVENT tme;
+          tme.cbSize = sizeof(TRACKMOUSEEVENT);
+          tme.dwFlags = TME_LEAVE;
+          tme.hwndTrack = disp->_window;
+          if (TrackMouseEvent(&tme)) disp->_is_mouse_tracked = true;
+        }
+#endif
+        if (disp->_mouse_x<0 || disp->_mouse_y<0 || disp->_mouse_x>=disp->width() || disp->_mouse_y>=disp->height())
+          disp->_mouse_x = disp->_mouse_y = -1;
+        disp->_is_event = true;
+        SetEvent(cimg::Win32_attr().wait_event);
+        cimg::mutex(15);
+	if (disp->_is_cursor_visible) while (ShowCursor(TRUE)<0); else while (ShowCursor(FALSE)>=0);
+        cimg::mutex(15,0);
+      }	break;
+      case WM_MOUSELEAVE : {
+        disp->_mouse_x = disp->_mouse_y = -1;
+        disp->_is_mouse_tracked = false;
+        cimg::mutex(15);
+	while (ShowCursor(TRUE)<0);
+        cimg::mutex(15,0);
+      } break;
+      case WM_LBUTTONDOWN :
+        disp->set_button(1);
+        SetEvent(cimg::Win32_attr().wait_event);
+        break;
+      case WM_RBUTTONDOWN :
+        disp->set_button(2);
+        SetEvent(cimg::Win32_attr().wait_event);
+        break;
+      case WM_MBUTTONDOWN :
+        disp->set_button(3);
+        SetEvent(cimg::Win32_attr().wait_event);
+        break;
+      case WM_LBUTTONUP :
+        disp->set_button(1,false);
+        SetEvent(cimg::Win32_attr().wait_event);
+        break;
+      case WM_RBUTTONUP :
+        disp->set_button(2,false);
+        SetEvent(cimg::Win32_attr().wait_event);
+        break;
+      case WM_MBUTTONUP :
+        disp->set_button(3,false);
+        SetEvent(cimg::Win32_attr().wait_event);
+        break;
+      case 0x020A : // WM_MOUSEWHEEL:
+        disp->set_wheel((int)((short)HIWORD(wParam))/120);
+        SetEvent(cimg::Win32_attr().wait_event);
+      }
+      return DefWindowProc(window,msg,wParam,lParam);
+    }
+
+    static DWORD WINAPI _events_thread(void* arg) {
+      CImgDisplay *const disp = (CImgDisplay*)(((void**)arg)[0]);
+      const char *const title = (const char*)(((void**)arg)[1]);
+      MSG msg;
+      delete[] (void**)arg;
+      disp->_bmi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
+      disp->_bmi.bmiHeader.biWidth = disp->width();
+      disp->_bmi.bmiHeader.biHeight = -disp->height();
+      disp->_bmi.bmiHeader.biPlanes = 1;
+      disp->_bmi.bmiHeader.biBitCount = 32;
+      disp->_bmi.bmiHeader.biCompression = BI_RGB;
+      disp->_bmi.bmiHeader.biSizeImage = 0;
+      disp->_bmi.bmiHeader.biXPelsPerMeter = 1;
+      disp->_bmi.bmiHeader.biYPelsPerMeter = 1;
+      disp->_bmi.bmiHeader.biClrUsed = 0;
+      disp->_bmi.bmiHeader.biClrImportant = 0;
+      disp->_data = new unsigned int[(unsigned long)disp->_width*disp->_height];
+      if (!disp->_is_fullscreen) { // Normal window
+        RECT rect;
+        rect.left = rect.top = 0; rect.right = (LONG)disp->_width - 1; rect.bottom = (LONG)disp->_height - 1;
+        AdjustWindowRect(&rect,WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX,false);
+        const int
+          border1 = (int)((rect.right - rect.left + 1 - disp->_width)/2),
+          border2 = (int)(rect.bottom - rect.top + 1 - disp->_height - border1);
+        disp->_window = CreateWindowA("MDICLIENT",title?title:" ",
+                                     WS_OVERLAPPEDWINDOW | (disp->_is_closed?0:WS_VISIBLE), CW_USEDEFAULT,CW_USEDEFAULT,
+                                     disp->_width + 2*border1, disp->_height + border1 + border2,
+                                     0,0,0,&(disp->_ccs));
+        if (!disp->_is_closed) {
+          GetWindowRect(disp->_window,&rect);
+          disp->_window_x = rect.left + border1;
+          disp->_window_y = rect.top + border2;
+        } else disp->_window_x = disp->_window_y = 0;
+      } else { // Fullscreen window
+        const unsigned int
+          sx = (unsigned int)screen_width(),
+          sy = (unsigned int)screen_height();
+        disp->_window = CreateWindowA("MDICLIENT",title?title:" ",
+                                     WS_POPUP | (disp->_is_closed?0:WS_VISIBLE),
+                                      (sx - disp->_width)/2,
+                                      (sy - disp->_height)/2,
+                                     disp->_width,disp->_height,0,0,0,&(disp->_ccs));
+        disp->_window_x = disp->_window_y = 0;
+      }
+      SetForegroundWindow(disp->_window);
+      disp->_hdc = GetDC(disp->_window);
+      disp->_window_width = disp->_width;
+      disp->_window_height = disp->_height;
+      disp->flush();
+#ifdef _WIN64
+      SetWindowLongPtr(disp->_window,GWLP_USERDATA,(LONG_PTR)disp);
+      SetWindowLongPtr(disp->_window,GWLP_WNDPROC,(LONG_PTR)_handle_events);
+#else
+      SetWindowLong(disp->_window,GWL_USERDATA,(LONG)disp);
+      SetWindowLong(disp->_window,GWL_WNDPROC,(LONG)_handle_events);
+#endif
+      SetEvent(disp->_is_created);
+      while (GetMessage(&msg,0,0,0)) DispatchMessage(&msg);
+      return 0;
+    }
+
+    CImgDisplay& _update_window_pos() {
+      if (_is_closed) _window_x = _window_y = -1;
+      else {
+        RECT rect;
+        rect.left = rect.top = 0; rect.right = (LONG)_width - 1; rect.bottom = (LONG)_height - 1;
+        AdjustWindowRect(&rect,WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX,false);
+        const int
+          border1 = (int)((rect.right - rect.left + 1 - _width)/2),
+          border2 = (int)(rect.bottom - rect.top + 1 - _height - border1);
+        GetWindowRect(_window,&rect);
+        _window_x = rect.left + border1;
+        _window_y = rect.top + border2;
+      }
+      return *this;
+    }
+
+    void _init_fullscreen() {
+      _background_window = 0;
+      if (!_is_fullscreen || _is_closed) _curr_mode.dmSize = 0;
+      else {
+        DEVMODE mode;
+        unsigned int imode = 0, ibest = 0, bestbpp = 0, bw = ~0U, bh = ~0U;
+        for (mode.dmSize = sizeof(DEVMODE), mode.dmDriverExtra = 0; EnumDisplaySettings(0,imode,&mode); ++imode) {
+          const unsigned int nw = mode.dmPelsWidth, nh = mode.dmPelsHeight;
+          if (nw>=_width && nh>=_height && mode.dmBitsPerPel>=bestbpp && nw<=bw && nh<=bh) {
+            bestbpp = mode.dmBitsPerPel;
+            ibest = imode;
+            bw = nw; bh = nh;
+          }
+        }
+        if (bestbpp) {
+          _curr_mode.dmSize = sizeof(DEVMODE); _curr_mode.dmDriverExtra = 0;
+          EnumDisplaySettings(0,ENUM_CURRENT_SETTINGS,&_curr_mode);
+          EnumDisplaySettings(0,ibest,&mode);
+          ChangeDisplaySettings(&mode,0);
+        } else _curr_mode.dmSize = 0;
+
+        const unsigned int
+          sx = (unsigned int)screen_width(),
+          sy = (unsigned int)screen_height();
+        if (sx!=_width || sy!=_height) {
+          CLIENTCREATESTRUCT background_ccs;
+          _background_window = CreateWindowA("MDICLIENT","",WS_POPUP | WS_VISIBLE, 0,0,sx,sy,0,0,0,&background_ccs);
+          SetForegroundWindow(_background_window);
+        }
+      }
+    }
+
+    void _desinit_fullscreen() {
+      if (!_is_fullscreen) return;
+      if (_background_window) DestroyWindow(_background_window);
+      _background_window = 0;
+      if (_curr_mode.dmSize) ChangeDisplaySettings(&_curr_mode,0);
+      _is_fullscreen = false;
+    }
+
+    CImgDisplay& _assign(const unsigned int dimw, const unsigned int dimh, const char *const ptitle=0,
+                         const unsigned int normalization_type=3,
+                         const bool fullscreen_flag=false, const bool closed_flag=false) {
+
+      // Allocate space for window title
+      const char *const nptitle = ptitle?ptitle:"";
+      const unsigned int s = (unsigned int)std::strlen(nptitle) + 1;
+      char *const tmp_title = s?new char[s]:0;
+      if (s) std::memcpy(tmp_title,nptitle,s*sizeof(char));
+
+      // Destroy previous window if existing
+      if (!is_empty()) assign();
+
+      // Set display variables
+      _width = cimg::min(dimw,(unsigned int)screen_width());
+      _height = cimg::min(dimh,(unsigned int)screen_height());
+      _normalization = normalization_type<4?normalization_type:3;
+      _is_fullscreen = fullscreen_flag;
+      _window_x = _window_y = 0;
+      _is_closed = closed_flag;
+      _is_cursor_visible = true;
+      _is_mouse_tracked = false;
+      _title = tmp_title;
+      flush();
+      if (_is_fullscreen) _init_fullscreen();
+
+      // Create event thread
+      void *const arg = (void*)(new void*[2]);
+      ((void**)arg)[0] = (void*)this;
+      ((void**)arg)[1] = (void*)_title;
+      _mutex = CreateMutex(0,FALSE,0);
+      _is_created = CreateEvent(0,FALSE,FALSE,0);
+      _thread = CreateThread(0,0,_events_thread,arg,0,0);
+      WaitForSingleObject(_is_created,INFINITE);
+      return *this;
+    }
+
+    CImgDisplay& assign() {
+      if (is_empty()) return flush();
+      DestroyWindow(_window);
+      TerminateThread(_thread,0);
+      delete[] _data;
+      delete[] _title;
+      _data = 0;
+      _title = 0;
+      if (_is_fullscreen) _desinit_fullscreen();
+      _width = _height = _normalization = _window_width = _window_height = 0;
+      _window_x = _window_y = 0;
+      _is_fullscreen = false;
+      _is_closed = true;
+      _min = _max = 0;
+      _title = 0;
+      flush();
+      return *this;
+    }
+
+    CImgDisplay& assign(const unsigned int dimw, const unsigned int dimh, const char *const title=0,
+                        const unsigned int normalization_type=3,
+                        const bool fullscreen_flag=false, const bool closed_flag=false) {
+      if (!dimw || !dimh) return assign();
+      _assign(dimw,dimh,title,normalization_type,fullscreen_flag,closed_flag);
+      _min = _max = 0;
+      std::memset(_data,0,sizeof(unsigned int)*_width*_height);
+      return paint();
+    }
+
+    template<typename T>
+    CImgDisplay& assign(const CImg<T>& img, const char *const title=0,
+                        const unsigned int normalization_type=3,
+                        const bool fullscreen_flag=false, const bool closed_flag=false) {
+      if (!img) return assign();
+      CImg<T> tmp;
+      const CImg<T>& nimg = (img._depth==1)?img:(tmp=img.get_projections2d((img._width - 1)/2,
+                                                                           (img._height - 1)/2,
+                                                                           (img._depth - 1)/2));
+      _assign(nimg._width,nimg._height,title,normalization_type,fullscreen_flag,closed_flag);
+      if (_normalization==2) _min = (float)nimg.min_max(_max);
+      return display(nimg);
+    }
+
+    template<typename T>
+    CImgDisplay& assign(const CImgList<T>& list, const char *const title=0,
+                        const unsigned int normalization_type=3,
+                        const bool fullscreen_flag=false, const bool closed_flag=false) {
+      if (!list) return assign();
+      CImg<T> tmp;
+      const CImg<T> img = list>'x', &nimg = (img._depth==1)?img:(tmp=img.get_projections2d((img._width - 1)/2,
+                                                                                           (img._height - 1)/2,
+                                                                                           (img._depth - 1)/2));
+      _assign(nimg._width,nimg._height,title,normalization_type,fullscreen_flag,closed_flag);
+      if (_normalization==2) _min = (float)nimg.min_max(_max);
+      return display(nimg);
+    }
+
+    CImgDisplay& assign(const CImgDisplay& disp) {
+      if (!disp) return assign();
+      _assign(disp._width,disp._height,disp._title,disp._normalization,disp._is_fullscreen,disp._is_closed);
+      std::memcpy(_data,disp._data,sizeof(unsigned int)*_width*_height);
+      return paint();
+    }
+
+    CImgDisplay& resize(const int nwidth, const int nheight, const bool force_redraw=true) {
+      if (!nwidth || !nheight || (is_empty() && (nwidth<0 || nheight<0))) return assign();
+      if (is_empty()) return assign(nwidth,nheight);
+      const unsigned int
+        tmpdimx = (nwidth>0)?nwidth:(-nwidth*_width/100),
+        tmpdimy = (nheight>0)?nheight:(-nheight*_height/100),
+        dimx = tmpdimx?tmpdimx:1,
+        dimy = tmpdimy?tmpdimy:1;
+      if (_width!=dimx || _height!=dimy || _window_width!=dimx || _window_height!=dimy) {
+        if (_window_width!=dimx || _window_height!=dimy) {
+          RECT rect; rect.left = rect.top = 0; rect.right = (LONG)dimx - 1; rect.bottom = (LONG)dimy - 1;
+          AdjustWindowRect(&rect,WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX,false);
+          const int cwidth = rect.right - rect.left + 1, cheight = rect.bottom - rect.top + 1;
+          SetWindowPos(_window,0,0,0,cwidth,cheight,SWP_NOMOVE | SWP_NOZORDER | SWP_NOCOPYBITS);
+        }
+        if (_width!=dimx || _height!=dimy) {
+          unsigned int *const ndata = new unsigned int[dimx*dimy];
+          if (force_redraw) _render_resize(_data,_width,_height,ndata,dimx,dimy);
+          else std::memset(ndata,0x80,sizeof(unsigned int)*dimx*dimy);
+          delete[] _data;
+          _data = ndata;
+          _bmi.bmiHeader.biWidth = (LONG)dimx;
+          _bmi.bmiHeader.biHeight = -(int)dimy;
+          _width = dimx;
+          _height = dimy;
+        }
+        _window_width = dimx; _window_height = dimy;
+        show();
+      }
+      _is_resized = false;
+      if (_is_fullscreen) move((screen_width() - width())/2,(screen_height() - height())/2);
+      if (force_redraw) return paint();
+      return *this;
+    }
+
+    CImgDisplay& toggle_fullscreen(const bool force_redraw=true) {
+      if (is_empty()) return *this;
+      if (force_redraw) {
+        const unsigned long buf_size = _width*_height*4UL;
+        void *odata = std::malloc(buf_size);
+        if (odata) {
+          std::memcpy(odata,_data,buf_size);
+          assign(_width,_height,_title,_normalization,!_is_fullscreen,false);
+          std::memcpy(_data,odata,buf_size);
+          std::free(odata);
+        }
+        return paint();
+      }
+      return assign(_width,_height,_title,_normalization,!_is_fullscreen,false);
+    }
+
+    CImgDisplay& show() {
+      if (is_empty() || !_is_closed) return *this;
+      _is_closed = false;
+      if (_is_fullscreen) _init_fullscreen();
+      ShowWindow(_window,SW_SHOW);
+      _update_window_pos();
+      return paint();
+    }
+
+    CImgDisplay& close() {
+      if (is_empty() || _is_closed) return *this;
+      _is_closed = true;
+      if (_is_fullscreen) _desinit_fullscreen();
+      ShowWindow(_window,SW_HIDE);
+      _window_x = _window_y = 0;
+      return *this;
+    }
+
+    CImgDisplay& move(const int posx, const int posy) {
+      if (is_empty()) return *this;
+      if (_window_x!=posx || _window_y!=posy) {
+        if (!_is_fullscreen) {
+          RECT rect;
+          rect.left = rect.top = 0; rect.right = (LONG)_window_width - 1; rect.bottom = (LONG)_window_height - 1;
+          AdjustWindowRect(&rect,WS_CAPTION | WS_SYSMENU | WS_THICKFRAME | WS_MINIMIZEBOX | WS_MAXIMIZEBOX,false);
+          const int
+            border1 = (int)((rect.right - rect.left + 1 -_width)/2),
+            border2 = (int)(rect.bottom - rect.top + 1 - _height - border1);
+          SetWindowPos(_window,0,posx - border1,posy - border2,0,0,SWP_NOSIZE | SWP_NOZORDER);
+        } else SetWindowPos(_window,0,posx,posy,0,0,SWP_NOSIZE | SWP_NOZORDER);
+        _window_x = posx;
+        _window_y = posy;
+        show();
+      }
+      _is_moved = false;
+      return *this;
+    }
+
+    CImgDisplay& show_mouse() {
+      if (is_empty()) return *this;
+      _is_cursor_visible = true;
+      return *this;
+    }
+
+    CImgDisplay& hide_mouse() {
+      if (is_empty()) return *this;
+      _is_cursor_visible = false;
+      return *this;
+    }
+
+    CImgDisplay& set_mouse(const int posx, const int posy) {
+      if (_is_closed || posx<0 || posy<0) return *this;
+      _update_window_pos();
+      const int res = (int)SetCursorPos(_window_x + posx,_window_y + posy);
+      if (res) { _mouse_x = posx; _mouse_y = posy; }
+      return *this;
+    }
+
+    CImgDisplay& set_title(const char *const format, ...) {
+      if (is_empty()) return *this;
+      char *const tmp = new char[1024];
+      va_list ap;
+      va_start(ap, format);
+      cimg_vsnprintf(tmp,1024,format,ap);
+      va_end(ap);
+      if (!std::strcmp(_title,tmp)) { delete[] tmp; return *this; }
+      delete[] _title;
+      const unsigned int s = (unsigned int)std::strlen(tmp) + 1;
+      _title = new char[s];
+      std::memcpy(_title,tmp,s*sizeof(char));
+      SetWindowTextA(_window, tmp);
+      delete[] tmp;
+      return *this;
+    }
+
+    template<typename T>
+    CImgDisplay& display(const CImg<T>& img) {
+      if (!img)
+        throw CImgArgumentException(_cimgdisplay_instance
+                                    "display(): Empty specified image.",
+                                    cimgdisplay_instance);
+      if (is_empty()) return assign(img);
+      return render(img).paint();
+    }
+
+    CImgDisplay& paint() {
+      if (_is_closed) return *this;
+      WaitForSingleObject(_mutex,INFINITE);
+      SetDIBitsToDevice(_hdc,0,0,_width,_height,0,0,0,_height,_data,&_bmi,DIB_RGB_COLORS);
+      ReleaseMutex(_mutex);
+      return *this;
+    }
+
+    template<typename T>
+    CImgDisplay& render(const CImg<T>& img) {
+      if (!img)
+        throw CImgArgumentException(_cimgdisplay_instance
+                                    "render(): Empty specified image.",
+                                    cimgdisplay_instance);
+
+      if (is_empty()) return *this;
+      if (img._depth!=1) return render(img.get_projections2d((img._width - 1)/2,(img._height - 1)/2,
+                                                             (img._depth - 1)/2));
+
+      const T
+        *data1 = img._data,
+        *data2 = (img._spectrum>=2)?img.data(0,0,0,1):data1,
+        *data3 = (img._spectrum>=3)?img.data(0,0,0,2):data1;
+
+      WaitForSingleObject(_mutex,INFINITE);
+      unsigned int
+        *const ndata = (img._width==_width && img._height==_height)?_data:
+        new unsigned int[(unsigned long)img._width*img._height],
+        *ptrd = ndata;
+
+      if (!_normalization || (_normalization==3 && cimg::type<T>::string()==cimg::type<unsigned char>::string())) {
+        _min = _max = 0;
+        switch (img._spectrum) {
+        case 1 : {
+          for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+            const unsigned char val = (unsigned char)*(data1++);
+            *(ptrd++) = (unsigned int)((val<<16) | (val<<8) | val);
+          }
+        } break;
+        case 2 : {
+          for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+            const unsigned char
+              R = (unsigned char)*(data1++),
+              G = (unsigned char)*(data2++);
+            *(ptrd++) = (unsigned int)((R<<16) | (G<<8));
+          }
+        } break;
+        default : {
+          for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+            const unsigned char
+              R = (unsigned char)*(data1++),
+              G = (unsigned char)*(data2++),
+              B = (unsigned char)*(data3++);
+            *(ptrd++) = (unsigned int)((R<<16) | (G<<8) | B);
+          }
+        }
+        }
+      } else {
+        if (_normalization==3) {
+          if (cimg::type<T>::is_float()) _min = (float)img.min_max(_max);
+          else { _min = (float)cimg::type<T>::min(); _max = (float)cimg::type<T>::max(); }
+        } else if ((_min>_max) || _normalization==1) _min = (float)img.min_max(_max);
+        const float delta = _max - _min, mm = 255/(delta?delta:1.0f);
+        switch (img._spectrum) {
+        case 1 : {
+          for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+            const unsigned char val = (unsigned char)((*(data1++) - _min)*mm);
+            *(ptrd++) = (unsigned int)((val<<16) | (val<<8) | val);
+          }
+        } break;
+        case 2 : {
+          for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+            const unsigned char
+              R = (unsigned char)((*(data1++) - _min)*mm),
+              G = (unsigned char)((*(data2++) - _min)*mm);
+            *(ptrd++) = (unsigned int)((R<<16) | (G<<8));
+          }
+        } break;
+        default : {
+          for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+            const unsigned char
+              R = (unsigned char)((*(data1++) - _min)*mm),
+              G = (unsigned char)((*(data2++) - _min)*mm),
+              B = (unsigned char)((*(data3++) - _min)*mm);
+            *(ptrd++) = (unsigned int)((R<<16) | (G<<8) | B);
+          }
+        }
+        }
+      }
+      if (ndata!=_data) { _render_resize(ndata,img._width,img._height,_data,_width,_height); delete[] ndata; }
+      ReleaseMutex(_mutex);
+      return *this;
+    }
+
+    template<typename T>
+    const CImgDisplay& snapshot(CImg<T>& img) const {
+      if (is_empty()) { img.assign(); return *this; }
+      const unsigned int *ptrs = _data;
+      img.assign(_width,_height,1,3);
+      T
+        *data1 = img.data(0,0,0,0),
+        *data2 = img.data(0,0,0,1),
+        *data3 = img.data(0,0,0,2);
+      for (unsigned long xy = (unsigned long)img._width*img._height; xy>0; --xy) {
+        const unsigned int val = *(ptrs++);
+        *(data1++) = (T)(unsigned char)(val>>16);
+        *(data2++) = (T)(unsigned char)((val>>8)&0xFF);
+        *(data3++) = (T)(unsigned char)(val&0xFF);
+      }
+      return *this;
+    }
+#endif
+
+    //@}
+  };
+
+  /*
+   #--------------------------------------
+   #
+   #
+   #
+   # Definition of the CImg<T> structure
+   #
+   #
+   #
+   #--------------------------------------
+   */
+
+  //! Class representing an image (up to 4 dimensions wide), each pixel being of type \c T.
+  /**
+     This is the main class of the %CImg Library. It declares and constructs
+     an image, allows access to its pixel values, and is able to perform various image operations.
+
+     \par Image representation
+
+     A %CImg image is defined as an instance of the container \c CImg<T>, which contains a regular grid of pixels,
+     each pixel value being of type \c T. The image grid can have up to 4 dimensions: width, height, depth
+     and number of channels.
+     Usually, the three first dimensions are used to describe spatial coordinates <tt>(x,y,z)</tt>,
+     while the number of channels is rather used as a vector-valued dimension
+     (it may describe the R,G,B color channels for instance).
+     If you need a fifth dimension, you can use image lists \c CImgList<T> rather than simple images \c CImg<T>.
+
+     Thus, the \c CImg<T> class is able to represent volumetric images of vector-valued pixels,
+     as well as images with less dimensions (1d scalar signal, 2d color images, ...).
+     Most member functions of the class CImg<\c T> are designed to handle this maximum case of (3+1) dimensions.
+
+     Concerning the pixel value type \c T:
+     fully supported template types are the basic C++ types: <tt>unsigned char, char, short, unsigned int, int,
+     unsigned long, long, float, double, ... </tt>.
+     Typically, fast image display can be done using <tt>CImg<unsigned char></tt> images,
+     while complex image processing algorithms may be rather coded using <tt>CImg<float></tt> or <tt>CImg<double></tt>
+     images that have floating-point pixel values. The default value for the template T is \c float.
+     Using your own template types may be possible. However, you will certainly have to define the complete set
+     of arithmetic and logical operators for your class.
+
+     \par Image structure
+
+     The \c CImg<T> structure contains \e six fields:
+     - \c _width defines the number of \a columns of the image (size along the X-axis).
+     - \c _height defines the number of \a rows of the image (size along the Y-axis).
+     - \c _depth defines the number of \a slices of the image (size along the Z-axis).
+     - \c _spectrum defines the number of \a channels of the image (size along the C-axis).
+     - \c _data defines a \a pointer to the \a pixel \a data (of type \c T).
+     - \c _is_shared is a boolean that tells if the memory buffer \c data is shared with
+       another image.
+
+     You can access these fields publicly although it is recommended to use the dedicated functions
+     width(), height(), depth(), spectrum() and ptr() to do so.
+     Image dimensions are not limited to a specific range (as long as you got enough available memory).
+     A value of \e 1 usually means that the corresponding dimension is \a flat.
+     If one of the dimensions is \e 0, or if the data pointer is null, the image is considered as \e empty.
+     Empty images should not contain any pixel data and thus, will not be processed by CImg member functions
+     (a CImgInstanceException will be thrown instead).
+     Pixel data are stored in memory, in a non interlaced mode (See \ref cimg_storage).
+
+     \par Image declaration and construction
+
+     Declaring an image can be done by using one of the several available constructors.
+     Here is a list of the most used:
+
+     - Construct images from arbitrary dimensions:
+         - <tt>CImg<char> img;</tt> declares an empty image.
+         - <tt>CImg<unsigned char> img(128,128);</tt> declares a 128x128 greyscale image with
+         \c unsigned \c char pixel values.
+         - <tt>CImg<double> img(3,3);</tt> declares a 3x3 matrix with \c double coefficients.
+         - <tt>CImg<unsigned char> img(256,256,1,3);</tt> declares a 256x256x1x3 (color) image
+         (colors are stored as an image with three channels).
+         - <tt>CImg<double> img(128,128,128);</tt> declares a 128x128x128 volumetric and greyscale image
+         (with \c double pixel values).
+         - <tt>CImg<> img(128,128,128,3);</tt> declares a 128x128x128 volumetric color image
+         (with \c float pixels, which is the default value of the template parameter \c T).
+         - \b Note: images pixels are <b>not automatically initialized to 0</b>. You may use the function \c fill() to
+         do it, or use the specific constructor taking 5 parameters like this:
+         <tt>CImg<> img(128,128,128,3,0);</tt> declares a 128x128x128 volumetric color image with all pixel values to 0.
+
+     - Construct images from filenames:
+         - <tt>CImg<unsigned char> img("image.jpg");</tt> reads a JPEG color image from the file "image.jpg".
+         - <tt>CImg<float> img("analyze.hdr");</tt> reads a volumetric image (ANALYZE7.5 format) from the
+         file "analyze.hdr".
+         - \b Note: You need to install <a href="http://www.imagemagick.org">ImageMagick</a>
+         to be able to read common compressed image formats (JPG,PNG, ...) (See \ref cimg_files_io).
+
+     - Construct images from C-style arrays:
+         - <tt>CImg<int> img(data_buffer,256,256);</tt> constructs a 256x256 greyscale image from a \c int* buffer
+         \c data_buffer (of size 256x256=65536).
+         - <tt>CImg<unsigned char> img(data_buffer,256,256,1,3,false);</tt> constructs a 256x256 color image
+         from a \c unsigned \c char* buffer \c data_buffer (where R,G,B channels follow each others).
+         - <tt>CImg<unsigned char> img(data_buffer,256,256,1,3,true);</tt> constructs a 256x256 color image
+         from a \c unsigned \c char* buffer \c data_buffer (where R,G,B channels are multiplexed).
+
+         The complete list of constructors can be found <a href="#constructors">here</a>.
+
+     \par Most useful functions
+
+     The \c CImg<T> class contains a lot of functions that operates on images.
+     Some of the most useful are:
+
+     - operator()(): allows to access or write pixel values.
+     - display(): displays the image in a new window.
+  **/
+  template<typename T>
+  struct CImg {
+
+    unsigned int _width, _height, _depth, _spectrum;
+    bool _is_shared;
+    T *_data;
+
+    //! Simple iterator type, to loop through each pixel value of an image instance.
+    /**
+       \note
+       - The \c CImg<T>::iterator type is defined to be a <tt>T*</tt>.
+       - You will seldom have to use iterators in %CImg, most classical operations
+         being achieved (often in a faster way) using methods of \c CImg<T>.
+       \par Example
+       \code
+       CImg<float> img("reference.jpg");                                         // Load image from file.
+       for (CImg<float>::iterator it = img.begin(), it<img.end(); ++it) *it = 0; // Set all pixels to '0', with a CImg iterator.
+       img.fill(0);                                                              // Do the same with a built-in method.
+       \endcode
+   **/
+    typedef T* iterator;
+
+    //! Simple const iterator type, to loop through each pixel value of a \c const image instance.
+    /**
+       \note
+       - The \c CImg<T>::const_iterator type is defined to be a \c const \c T*.
+       - You will seldom have to use iterators in %CImg, most classical operations
+         being achieved (often in a faster way) using methods of \c CImg<T>.
+       \par Example
+       \code
+       const CImg<float> img("reference.jpg");                                    // Load image from file.
+       float sum = 0;
+       for (CImg<float>::iterator it = img.begin(), it<img.end(); ++it) sum+=*it; // Compute sum of all pixel values, with a CImg iterator.
+       const float sum2 = img.sum();                                              // Do the same with a built-in method.
+       \endcode
+    **/
+    typedef const T* const_iterator;
+
+    //! Pixel value type.
+    /**
+       Refer to the type of the pixel values of an image instance.
+       \note
+       - The \c CImg<T>::value_type type of a \c CImg<T> is defined to be a \c T.
+       - \c CImg<T>::value_type is actually not used in %CImg methods. It has been mainly defined for
+         compatibility with STL naming conventions.
+    **/
+    typedef T value_type;
+
+    // Define common types related to template type T.
+    typedef typename cimg::superset<T,bool>::type Tbool;
+    typedef typename cimg::superset<T,unsigned char>::type Tuchar;
+    typedef typename cimg::superset<T,char>::type Tchar;
+    typedef typename cimg::superset<T,unsigned short>::type Tushort;
+    typedef typename cimg::superset<T,short>::type Tshort;
+    typedef typename cimg::superset<T,unsigned int>::type Tuint;
+    typedef typename cimg::superset<T,int>::type Tint;
+    typedef typename cimg::superset<T,unsigned long>::type Tulong;
+    typedef typename cimg::superset<T,long>::type Tlong;
+    typedef typename cimg::superset<T,float>::type Tfloat;
+    typedef typename cimg::superset<T,double>::type Tdouble;
+    typedef typename cimg::last<T,bool>::type boolT;
+    typedef typename cimg::last<T,unsigned char>::type ucharT;
+    typedef typename cimg::last<T,char>::type charT;
+    typedef typename cimg::last<T,unsigned short>::type ushortT;
+    typedef typename cimg::last<T,short>::type shortT;
+    typedef typename cimg::last<T,unsigned int>::type uintT;
+    typedef typename cimg::last<T,int>::type intT;
+    typedef typename cimg::last<T,unsigned long>::type ulongT;
+    typedef typename cimg::last<T,long>::type longT;
+    typedef typename cimg::last<T,float>::type floatT;
+    typedef typename cimg::last<T,double>::type doubleT;
+
+    //@}
+    //---------------------------
+    //
+    //! \name Plugins
+    //@{
+    //---------------------------
+#ifdef cimg_plugin
+#include cimg_plugin
+#endif
+#ifdef cimg_plugin1
+#include cimg_plugin1
+#endif
+#ifdef cimg_plugin2
+#include cimg_plugin2
+#endif
+#ifdef cimg_plugin3
+#include cimg_plugin3
+#endif
+#ifdef cimg_plugin4
+#include cimg_plugin4
+#endif
+#ifdef cimg_plugin5
+#include cimg_plugin5
+#endif
+#ifdef cimg_plugin6
+#include cimg_plugin6
+#endif
+#ifdef cimg_plugin7
+#include cimg_plugin7
+#endif
+#ifdef cimg_plugin8
+#include cimg_plugin8
+#endif
+
+    //@}
+    //---------------------------------------------------------
+    //
+    //! \name Constructors / Destructor / Instance Management
+    //@{
+    //---------------------------------------------------------
+
+    //! Destroy image.
+    /**
+       \note
+       - The pixel buffer data() is deallocated if necessary, e.g. for non-empty and non-shared image instances.
+       - Destroying an empty or shared image does nothing actually.
+       \warning
+       - When destroying a non-shared image, make sure that you will \e not operate on a remaining shared image
+         that shares its buffer with the destroyed instance, in order to avoid further invalid memory access
+         (to a deallocated buffer).
+    **/
+    ~CImg() {
+      if (!_is_shared) delete[] _data;
+    }
+
+    //! Construct empty image.
+    /**
+       \note
+       - An empty image has no pixel data and all of its dimensions width(), height(), depth(), spectrum()
+         are set to \c 0, as well as its pixel buffer pointer data().
+       - An empty image may be re-assigned afterwards, e.g. with the family of
+         assign(unsigned int,unsigned int,unsigned int,unsigned int) methods,
+         or by operator=(const CImg<t>&). In all cases, the type of pixels stays \c T.
+       - An empty image is never shared.
+       \par Example
+       \code
+       CImg<float> img1, img2;      // Construct two empty images.
+       img1.assign(256,256,1,3);    // Re-assign 'img1' to be a 256x256x1x3 (color) image.
+       img2 = img1.get_rand(0,255); // Re-assign 'img2' to be a random-valued version of 'img1'.
+       img2.assign();               // Re-assign 'img2' to be an empty image again.
+       \endcode
+    **/
+    CImg():_width(0),_height(0),_depth(0),_spectrum(0),_is_shared(false),_data(0) {}
+
+    //! Construct image with specified size.
+    /**
+       \param size_x Image width().
+       \param size_y Image height().
+       \param size_z Image depth().
+       \param size_c Image spectrum() (number of channels).
+       \note
+       - It is able to create only \e non-shared images, and allocates thus a pixel buffer data()
+         for each constructed image instance.
+       - Setting one dimension \c size_x,\c size_y,\c size_z or \c size_c to \c 0 leads to the construction of
+         an \e empty image.
+       - A \c CImgInstanceException is thrown when the pixel buffer cannot be allocated
+         (e.g. when requested size is too big for available memory).
+       \warning
+       - The allocated pixel buffer is \e not filled with a default value, and is likely to contain garbage values.
+         In order to initialize pixel values during construction (e.g. with \c 0), use constructor
+         CImg(unsigned int,unsigned int,unsigned int,unsigned int,T) instead.
+       \par Example
+       \code
+       CImg<float> img1(256,256,1,3);   // Construct a 256x256x1x3 (color) image, filled with garbage values.
+       CImg<float> img2(256,256,1,3,0); // Construct a 256x256x1x3 (color) image, filled with value '0'.
+       \endcode
+    **/
+    explicit CImg(const unsigned int size_x, const unsigned int size_y=1,
+                  const unsigned int size_z=1, const unsigned int size_c=1):
+      _is_shared(false) {
+      const unsigned long siz = (unsigned long)size_x*size_y*size_z*size_c;
+      if (siz) {
+        _width = size_x; _height = size_y; _depth = size_z; _spectrum = size_c;
+        try { _data = new T[siz]; } catch (...) {
+          _width = _height = _depth = _spectrum = 0; _data = 0;
+          throw CImgInstanceException(_cimg_instance
+                                      "CImg(): Failed to allocate memory (%s) for image (%u,%u,%u,%u).",
+                                      cimg_instance,
+                                      cimg::strbuffersize(sizeof(T)*size_x*size_y*size_z*size_c),
+                                      size_x,size_y,size_z,size_c);
+        }
+      } else { _width = _height = _depth = _spectrum = 0; _data = 0; }
+    }
+
+    //! Construct image with specified size and initialize pixel values.
+    /**
+       \param size_x Image width().
+       \param size_y Image height().
+       \param size_z Image depth().
+       \param size_c Image spectrum() (number of channels).
+       \param value Initialization value.
+       \note
+       - Similar to CImg(unsigned int,unsigned int,unsigned int,unsigned int),
+         but it also fills the pixel buffer with the specified \c value.
+       \warning
+       - It cannot be used to construct a vector-valued image and initialize it with \e vector-valued pixels
+         (e.g. RGB vector, for color images).
+         For this task, you may use fillC() after construction.
+    **/
+    CImg(const unsigned int size_x, const unsigned int size_y,
+         const unsigned int size_z, const unsigned int size_c, const T& value):
+      _is_shared(false) {
+      const unsigned long siz = (unsigned long)size_x*size_y*size_z*size_c;
+      if (siz) {
+        _width = size_x; _height = size_y; _depth = size_z; _spectrum = size_c;
+        try { _data = new T[siz]; } catch (...) {
+          _width = _height = _depth = _spectrum = 0; _data = 0;
+          throw CImgInstanceException(_cimg_instance
+                                      "CImg(): Failed to allocate memory (%s) for image (%u,%u,%u,%u).",
+                                      cimg_instance,
+                                      cimg::strbuffersize(sizeof(T)*size_x*size_y*size_z*size_c),
+                                      size_x,size_y,size_z,size_c);
+        }
+        fill(value);
+      } else { _width = _height = _depth = _spectrum = 0; _data = 0; }
+    }
+
+    //! Construct image with specified size and initialize pixel values from a sequence of integers.
+    /**
+       Construct a new image instance of size \c size_x x \c size_y x \c size_z x \c size_c,
+       with pixels of type \c T, and initialize pixel
+       values from the specified sequence of integers \c value0,\c value1,\c ...
+       \param size_x Image width().
+       \param size_y Image height().
+       \param size_z Image depth().
+       \param size_c Image spectrum() (number of channels).
+       \param value0 First value of the initialization sequence (must be an \e integer).
+       \param value1 Second value of the initialization sequence (must be an \e integer).
+       \param ...
+       \note
+       - Similar to CImg(unsigned int,unsigned int,unsigned int,unsigned int), but it also fills
+         the pixel buffer with a sequence of specified integer values.
+       \warning
+       - You must specify \e exactly \c size_x*\c size_y*\c size_z*\c size_c integers in the initialization sequence.
+         Otherwise, the constructor may crash or fill your image pixels with garbage.
+       \par Example
+       \code
+       const CImg<float> img(2,2,1,3,      // Construct a 2x2 color (RGB) image.
+                             0,255,0,255,  // Set the 4 values for the red component.
+                             0,0,255,255,  // Set the 4 values for the green component.
+                             64,64,64,64); // Set the 4 values for the blue component.
+       img.resize(150,150).display();
+       \endcode
+       \image html ref_constructor1.jpg
+     **/
+    CImg(const unsigned int size_x, const unsigned int size_y, const unsigned int size_z, const unsigned int size_c,
+         const int value0, const int value1, ...):
+      _width(0),_height(0),_depth(0),_spectrum(0),_is_shared(false),_data(0) {
+#define _CImg_stdarg(img,a0,a1,N,t) { \
+	unsigned long _siz = (unsigned long)N; \
+	if (_siz--) { \
+	  va_list ap; \
+	  va_start(ap,a1); \
+	  T *ptrd = (img)._data; \
+	  *(ptrd++) = (T)a0; \
+	  if (_siz--) { \
+	    *(ptrd++) = (T)a1; \
+	    for ( ; _siz; --_siz) *(ptrd++) = (T)va_arg(ap,t); \
+	  } \
+	  va_end(ap); \
+	} \
+      }
+      assign(size_x,size_y,size_z,size_c);
+      _CImg_stdarg(*this,value0,value1,(unsigned long)size_x*size_y*size_z*size_c,int);
+    }
+
+#ifdef cimg_use_cpp11
+    //! Construct image with specified size and initialize pixel values from an initializer list of integers.
+    /**
+       Construct a new image instance of size \c size_x x \c size_y x \c size_z x \c size_c,
+       with pixels of type \c T, and initialize pixel
+       values from the specified initializer list of integers { \c value0,\c value1,\c ... }
+       \param size_x Image width().
+       \param size_y Image height().
+       \param size_z Image depth().
+       \param size_c Image spectrum() (number of channels).
+       \param { value0, value1, ... } Initialization list
+       \param repeat_values Tells if the value filling process is repeated over the image.
+
+       \note
+       - Similar to CImg(unsigned int,unsigned int,unsigned int,unsigned int), but it also fills
+         the pixel buffer with a sequence of specified integer values.
+       \par Example
+       \code
+       const CImg<float> img(2,2,1,3,      // Construct a 2x2 color (RGB) image.
+                             { 0,255,0,255,    // Set the 4 values for the red component.
+                               0,0,255,255,    // Set the 4 values for the green component.
+                               64,64,64,64 }); // Set the 4 values for the blue component.
+       img.resize(150,150).display();
+       \endcode
+       \image html ref_constructor1.jpg
+    **/
+    template<typename t>
+    CImg(const unsigned int size_x, const unsigned int size_y, const unsigned int size_z, const unsigned int size_c,
+         const std::initializer_list<t> values,
+	 const bool repeat_values=true):
+      _width(0),_height(0),_depth(0),_spectrum(0),_is_shared(false),_data(0) {
+#define _cimg_constructor_cpp11(repeat_values) \
+  auto it = values.begin(); \
+  unsigned long siz = size(); \
+  if (repeat_values) for (T *ptrd = _data; siz--; ) { \
+    *(ptrd++) = (T)(*(it++)); if (it==values.end()) it = values.begin(); } \
+  else { siz = cimg::min(siz,values.size()); for (T *ptrd = _data; siz--; ) *(ptrd++) = (T)(*(it++)); }
+      assign(size_x,size_y,size_z,size_c);
+      _cimg_constructor_cpp11(repeat_values);
+    }
+
+    template<typename t>
+    CImg(const unsigned int size_x, const unsigned int size_y, const unsigned int size_z,
+         std::initializer_list<t> values,
+	 const bool repeat_values=true):
+      _width(0),_height(0),_depth(0),_spectrum(0),_is_shared(false),_data(0) {
+      assign(size_x,size_y,size_z);
+      _cimg_constructor_cpp11(repeat_values);
+    }
+
+    template<typename t>
+    CImg(const unsigned int size_x, const unsigned int size_y,
+         std::initializer_list<t> values,
+	 const bool repeat_values=true):
+      _width(0),_height(0),_depth(0),_spectrum(0),_is_shared(false),_data(0) {
+      assign(size_x,size_y);
+      _cimg_constructor_cpp11(repeat_values);
+    }
+
+    template<typename t>
+    CImg(const unsigned int size_x,
+         std::initializer_list<t> values,
+         const bool repeat_values=true):_width(0),_height(0),_depth(0),_spectrum(0),_is_shared(false),_data(0) {
+      assign(size_x);
+      _cimg_constructor_cpp11(repeat_values);
+    }
+
+    //! Construct single channel 1D image with pixel values and width obtained from an initializer list of integers.
+    /**
+       Construct a new image instance of size \c width x \c 1 x \c 1 x \c 1,
+       with pixels of type \c T, and initialize pixel
+       values from the specified initializer list of integers { \c value0,\c value1,\c ... }. Image width is
+       given by the size of the initializer list.
+       \param { value0, value1, ... } Initialization list
+       \note
+       - Similar to CImg(unsigned int,unsigned int,unsigned int,unsigned int) with height=1, depth=1, and spectrum=1,
+         but it also fills the pixel buffer with a sequence of specified integer values.
+       \par Example
+       \code
+       const CImg<float> img = {10,20,30,20,10 }; // Construct a 5x1 image with one channel, and set its pixel values.
+       img.resize(150,150).display();
+       \endcode
+       \image html ref_constructor1.jpg
+     **/
+    template<typename t>
+    CImg(const std::initializer_list<t> values):
+      _width(0),_height(0),_depth(0),_spectrum(0),_is_shared(false),_data(0) {
+      assign(values.size(),1,1,1);
+      auto it = values.begin();
+      unsigned long siz = _width;
+      for (T *ptrd = _data; siz--; ) *(ptrd++) = (T)(*(it++));
+    }
+
+    template<typename t>
+    CImg<T> & operator=(std::initializer_list<t> values) {
+      _cimg_constructor_cpp11(siz>values.size());
+      return *this;
+    }
+#endif
+
+    //! Construct image with specified size and initialize pixel values from a sequence of doubles.
+    /**
+       Construct a new image instance of size \c size_x x \c size_y x \c size_z x \c size_c, with pixels of type \c T,
+       and initialize pixel values from the specified sequence of doubles \c value0,\c value1,\c ...
+       \param size_x Image width().
+       \param size_y Image height().
+       \param size_z Image depth().
+       \param size_c Image spectrum() (number of channels).
+       \param value0 First value of the initialization sequence (must be a \e double).
+       \param value1 Second value of the initialization sequence (must be a \e double).
+       \param ...
+       \note
+       - Similar to CImg(unsigned int,unsigned int,unsigned int,unsigned int,int,int,...), but
+         takes a sequence of double values instead of integers.
+       \warning
+       - You must specify \e exactly \c dx*\c dy*\c dz*\c dc doubles in the initialization sequence.
+         Otherwise, the constructor may crash or fill your image with garbage.
+         For instance, the code below will probably crash on most platforms:
+         \code
+         const CImg<float> img(2,2,1,1, 0.5,0.5,255,255); // FAIL: The two last arguments are 'int', not 'double'!
+         \endcode
+     **/
+    CImg(const unsigned int size_x, const unsigned int size_y, const unsigned int size_z, const unsigned int size_c,
+         const double value0, const double value1, ...):
+      _width(0),_height(0),_depth(0),_spectrum(0),_is_shared(false),_data(0) {
+      assign(size_x,size_y,size_z,size_c);
+      _CImg_stdarg(*this,value0,value1,(unsigned long)size_x*size_y*size_z*size_c,double);
+    }
+
+    //! Construct image with specified size and initialize pixel values from a value string.
+    /**
+       Construct a new image instance of size \c size_x x \c size_y x \c size_z x \c size_c, with pixels of type \c T,
+       and initializes pixel values from the specified string \c values.
+       \param size_x Image width().
+       \param size_y Image height().
+       \param size_z Image depth().
+       \param size_c Image spectrum() (number of channels).
+       \param values Value string describing the way pixel values are set.
+       \param repeat_values Tells if the value filling process is repeated over the image.
+       \note
+       - Similar to CImg(unsigned int,unsigned int,unsigned int,unsigned int), but it also fills
+         the pixel buffer with values described in the value string \c values.
+       - Value string \c values may describe two different filling processes:
+         - Either \c values is a sequences of values assigned to the image pixels, as in <tt>"1,2,3,7,8,2"</tt>.
+           In this case, set \c repeat_values to \c true to periodically fill the image with the value sequence.
+         - Either, \c values is a formula, as in <tt>"cos(x/10)*sin(y/20)"</tt>.
+           In this case, parameter \c repeat_values is pointless.
+       - For both cases, specifying \c repeat_values is mandatory.
+         It disambiguates the possible overloading of constructor
+         CImg(unsigned int,unsigned int,unsigned int,unsigned int,T) with \c T being a <tt>const char*</tt>.
+       - A \c CImgArgumentException is thrown when an invalid value string \c values is specified.
+       \par Example
+       \code
+       const CImg<float> img1(129,129,1,3,"0,64,128,192,255",true),                   // Construct image filled from a value sequence.
+                         img2(129,129,1,3,"if(c==0,255*abs(cos(x/10)),1.8*y)",false); // Construct image filled from a formula.
+       (img1,img2).display();
+       \endcode
+       \image html ref_constructor2.jpg
+     **/
+    CImg(const unsigned int size_x, const unsigned int size_y, const unsigned int size_z, const unsigned int size_c,
+	 const char *const values, const bool repeat_values):_is_shared(false) {
+      const unsigned long siz = (unsigned long)size_x*size_y*size_z*size_c;
+      if (siz) {
+        _width = size_x; _height = size_y; _depth = size_z; _spectrum = size_c;
+        try { _data = new T[siz]; } catch (...) {
+          _width = _height = _depth = _spectrum = 0; _data = 0;
+          throw CImgInstanceException(_cimg_instance
+                                      "CImg(): Failed to allocate memory (%s) for image (%u,%u,%u,%u).",
+                                      cimg_instance,
+                                      cimg::strbuffersize(sizeof(T)*size_x*size_y*size_z*size_c),
+                                      size_x,size_y,size_z,size_c);
+        }
+        fill(values,repeat_values);
+      } else { _width = _height = _depth = _spectrum = 0; _data = 0; }
+    }
+
+    //! Construct image with specified size and initialize pixel values from a memory buffer.
+    /**
+       Construct a new image instance of size \c size_x x \c size_y x \c size_z x \c size_c, with pixels of type \c T,
+       and initializes pixel values from the specified \c t* memory buffer.
+       \param values Pointer to the input memory buffer.
+       \param size_x Image width().
+       \param size_y Image height().
+       \param size_z Image depth().
+       \param size_c Image spectrum() (number of channels).
+       \param is_shared Tells if input memory buffer must be shared by the current instance.
+       \note
+       - If \c is_shared is \c false, the image instance allocates its own pixel buffer,
+         and values from the specified input buffer are copied to the instance buffer.
+         If buffer types \c T and \c t are different, a regular static cast is performed during buffer copy.
+       - Otherwise, the image instance does \e not allocate a new buffer, and uses the input memory buffer as its
+         own pixel buffer. This case requires that types \c T and \c t are the same. Later, destroying such a shared
+         image will not deallocate the pixel buffer, this task being obviously charged to the initial buffer allocator.
+       - A \c CImgInstanceException is thrown when the pixel buffer cannot be allocated
+         (e.g. when requested size is too big for available memory).
+       \warning
+       - You must take care when operating on a shared image, since it may have an invalid pixel buffer pointer data()
+         (e.g. already deallocated).
+       \par Example
+       \code
+       unsigned char tab[256*256] = { 0 };
+       CImg<unsigned char> img1(tab,256,256,1,1,false), // Construct new non-shared image from buffer 'tab'.
+                           img2(tab,256,256,1,1,true);  // Construct new shared-image from buffer 'tab'.
+       tab[1024] = 255;                                 // Here, 'img2' is indirectly modified, but not 'img1'.
+       \endcode
+    **/
+    template<typename t>
+    CImg(const t *const values, const unsigned int size_x, const unsigned int size_y=1,
+         const unsigned int size_z=1, const unsigned int size_c=1, const bool is_shared=false):_is_shared(false) {
+      if (is_shared) {
+        _width = _height = _depth = _spectrum = 0; _data = 0;
+        throw CImgArgumentException(_cimg_instance
+                                    "CImg(): Invalid construction request of a (%u,%u,%u,%u) shared instance "
+                                    "from a (%s*) buffer (pixel types are different).",
+                                    cimg_instance,
+                                    size_x,size_y,size_z,size_c,CImg<t>::pixel_type());
+      }
+      const unsigned long siz = (unsigned long)size_x*size_y*size_z*size_c;
+      if (values && siz) {
+        _width = size_x; _height = size_y; _depth = size_z; _spectrum = size_c;
+        try { _data = new T[siz]; } catch (...) {
+          _width = _height = _depth = _spectrum = 0; _data = 0;
+          throw CImgInstanceException(_cimg_instance
+                                      "CImg(): Failed to allocate memory (%s) for image (%u,%u,%u,%u).",
+                                      cimg_instance,
+                                      cimg::strbuffersize(sizeof(T)*size_x*size_y*size_z*size_c),
+                                      size_x,size_y,size_z,size_c);
+
+        }
+        const t *ptrs = values; cimg_for(*this,ptrd,T) *ptrd = (T)*(ptrs++);
+      } else { _width = _height = _depth = _spectrum = 0; _data = 0; }
+    }
+
+    //! Construct image with specified size and initialize pixel values from a memory buffer \specialization.
+    CImg(const T *const values, const unsigned int size_x, const unsigned int size_y=1,
+         const unsigned int size_z=1, const unsigned int size_c=1, const bool is_shared=false) {
+      const unsigned long siz = (unsigned long)size_x*size_y*size_z*size_c;
+      if (values && siz) {
+        _width = size_x; _height = size_y; _depth = size_z; _spectrum = size_c; _is_shared = is_shared;
+        if (_is_shared) _data = const_cast<T*>(values);
+        else {
+          try { _data = new T[siz]; } catch (...) {
+            _width = _height = _depth = _spectrum = 0; _data = 0;
+            throw CImgInstanceException(_cimg_instance
+                                        "CImg(): Failed to allocate memory (%s) for image (%u,%u,%u,%u).",
+                                        cimg_instance,
+                                        cimg::strbuffersize(sizeof(T)*size_x*size_y*size_z*size_c),
+                                        size_x,size_y,size_z,size_c);
+          }
+          std::memcpy(_data,values,siz*sizeof(T));
+        }
+      } else { _width = _height = _depth = _spectrum = 0; _is_shared = false; _data = 0; }
+    }
+
+    //! Construct image from reading an image file.
+    /**
+       Construct a new image instance with pixels of type \c T, and initialize pixel values with the data read from
+       an image file.
+       \param filename Filename, as a C-string.
+       \note
+       - Similar to CImg(unsigned int,unsigned int,unsigned int,unsigned int), but it reads the image
+         dimensions and pixel values from the specified image file.
+       - The recognition of the image file format by %CImg higly depends on the tools installed on your system
+         and on the external libraries you used to link your code against.
+       - Considered pixel type \c T should better fit the file format specification, or data loss may occur during
+         file load (e.g. constructing a \c CImg<unsigned char> from a float-valued image file).
+       - A \c CImgIOException is thrown when the specified \c filename cannot be read, or if the file format is not
+         recognized.
+       \par Example
+       \code
+       const CImg<float> img("reference.jpg");
+       img.display();
+       \endcode
+       \image html ref_image.jpg
+    **/
+    explicit CImg(const char *const filename):_width(0),_height(0),_depth(0),_spectrum(0),_is_shared(false),_data(0) {
+      assign(filename);
+    }
+
+    //! Construct image copy.
+    /**
+       Construct a new image instance with pixels of type \c T, as a copy of an existing \c CImg<t> instance.
+       \param img Input image to copy.
+       \note
+       - Constructed copy has the same size width() x height() x depth() x spectrum() and pixel values as the
+         input image \c img.
+       - If input image \c img is \e shared and if types \c T and \c t are the same, the constructed copy is also
+         \e shared, and shares its pixel buffer with \c img.
+         Modifying a pixel value in the constructed copy will thus also modifies it in the input image \c img.
+         This behavior is needful to allow functions to return shared images.
+       - Otherwise, the constructed copy allocates its own pixel buffer, and copies pixel values from the input
+         image \c img into its buffer. The copied pixel values may be eventually statically casted if types \c T and
+         \c t are different.
+       - Constructing a copy from an image \c img when types \c t and \c T are the same is significantly faster than
+         with different types.
+       - A \c CImgInstanceException is thrown when the pixel buffer cannot be allocated
+         (e.g. not enough available memory).
+    **/
+    template<typename t>
+    CImg(const CImg<t>& img):_is_shared(false) {
+      const unsigned long siz = img.size();
+      if (img._data && siz) {
+        _width = img._width; _height = img._height; _depth = img._depth; _spectrum = img._spectrum;
+        try { _data = new T[siz]; } catch (...) {
+          _width = _height = _depth = _spectrum = 0; _data = 0;
+          throw CImgInstanceException(_cimg_instance
+                                      "CImg(): Failed to allocate memory (%s) for image (%u,%u,%u,%u).",
+                                      cimg_instance,
+                                      cimg::strbuffersize(sizeof(T)*img._width*img._height*img._depth*img._spectrum),
+                                      img._width,img._height,img._depth,img._spectrum);
+        }
+        const t *ptrs = img._data; cimg_for(*this,ptrd,T) *ptrd = (T)*(ptrs++);
+      } else { _width = _height = _depth = _spectrum = 0; _data = 0; }
+    }
+
+    //! Construct image copy \specialization.
+    CImg(const CImg<T>& img) {
+      const unsigned long siz = img.size();
+      if (img._data && siz) {
+        _width = img._width; _height = img._height; _depth = img._depth; _spectrum = img._spectrum;
+        _is_shared = img._is_shared;
+        if (_is_shared) _data = const_cast<T*>(img._data);
+        else {
+          try { _data = new T[siz]; } catch (...) {
+            _width = _height = _depth = _spectrum = 0; _data = 0;
+            throw CImgInstanceException(_cimg_instance
+                                        "CImg(): Failed to allocate memory (%s) for image (%u,%u,%u,%u).",
+                                        cimg_instance,
+                                        cimg::strbuffersize(sizeof(T)*img._width*img._height*img._depth*img._spectrum),
+                                        img._width,img._height,img._depth,img._spectrum);
+
+          }
+          std::memcpy(_data,img._data,siz*sizeof(T));
+        }
+      } else { _width = _height = _depth = _spectrum = 0; _is_shared = false; _data = 0; }
+    }
+
+    //! Advanced copy constructor.
+    /**
+       Construct a new image instance with pixels of type \c T, as a copy of an existing \c CImg<t> instance,
+       while forcing the shared state of the constructed copy.
+       \param img Input image to copy.
+       \param is_shared Tells about the shared state of the constructed copy.
+       \note
+       - Similar to CImg(const CImg<t>&), except that it allows to decide the shared state of
+         the constructed image, which does not depend anymore on the shared state of the input image \c img:
+         - If \c is_shared is \c true, the constructed copy will share its pixel buffer with the input image \c img.
+           For that case, the pixel types \c T and \c t \e must be the same.
+         - If \c is_shared is \c false, the constructed copy will allocate its own pixel buffer, whether the input
+           image \c img is shared or not.
+       - A \c CImgArgumentException is thrown when a shared copy is requested with different pixel types \c T and \c t.
+    **/
+    template<typename t>
+    CImg(const CImg<t>& img, const bool is_shared):_is_shared(false) {
+      if (is_shared) {
+        _width = _height = _depth = _spectrum = 0; _data = 0;
+        throw CImgArgumentException(_cimg_instance
+                                    "CImg(): Invalid construction request of a shared instance from a "
+                                    "CImg<%s> image (%u,%u,%u,%u,%p) (pixel types are different).",
+                                    cimg_instance,
+                                    CImg<t>::pixel_type(),img._width,img._height,img._depth,img._spectrum,img._data);
+      }
+      const unsigned long siz = img.size();
+      if (img._data && siz) {
+        _width = img._width; _height = img._height; _depth = img._depth; _spectrum = img._spectrum;
+        try { _data = new T[siz]; } catch (...) {
+          _width = _height = _depth = _spectrum = 0; _data = 0;
+          throw CImgInstanceException(_cimg_instance
+                                      "CImg(): Failed to allocate memory (%s) for image (%u,%u,%u,%u).",
+                                      cimg_instance,
+                                      cimg::strbuffersize(sizeof(T)*img._width*img._height*img._depth*img._spectrum),
+                                      img._width,img._height,img._depth,img._spectrum);
+        }
+        const t *ptrs = img._data; cimg_for(*this,ptrd,T) *ptrd = (T)*(ptrs++);
+      } else { _width = _height = _depth = _spectrum = 0; _data = 0; }
+    }
+
+    //! Advanced copy constructor \specialization.
+    CImg(const CImg<T>& img, const bool is_shared) {
+      const unsigned long siz = img.size();
+      if (img._data && siz) {
+        _width = img._width; _height = img._height; _depth = img._depth; _spectrum = img._spectrum;
+        _is_shared = is_shared;
+        if (_is_shared) _data = const_cast<T*>(img._data);
+        else {
+          try { _data = new T[siz]; } catch (...) {
+            _width = _height = _depth = _spectrum = 0; _data = 0;
+            throw CImgInstanceException(_cimg_instance
+                                        "CImg(): Failed to allocate memory (%s) for image (%u,%u,%u,%u).",
+                                        cimg_instance,
+                                        cimg::strbuffersize(sizeof(T)*img._width*img._height*img._depth*img._spectrum),
+                                        img._width,img._height,img._depth,img._spectrum);
+          }
+          std::memcpy(_data,img._data,siz*sizeof(T));
+        }
+      } else { _width = _height = _depth = _spectrum = 0; _is_shared = false; _data = 0; }
+    }
+
+    //! Construct image with dimensions borrowed from another image.
+    /**
+       Construct a new image instance with pixels of type \c T, and size get from some dimensions of an existing
+       \c CImg<t> instance.
+       \param img Input image from which dimensions are borrowed.
+       \param dimensions C-string describing the image size along the X,Y,Z and C-dimensions.
+       \note
+       - Similar to CImg(unsigned int,unsigned int,unsigned int,unsigned int), but it takes the image dimensions
+         (\e not its pixel values) from an existing \c CImg<t> instance.
+       - The allocated pixel buffer is \e not filled with a default value, and is likely to contain garbage values.
+         In order to initialize pixel values (e.g. with \c 0), use constructor CImg(const CImg<t>&,const char*,T)
+         instead.
+       \par Example
+       \code
+       const CImg<float> img1(256,128,1,3),      // 'img1' is a 256x128x1x3 image.
+                         img2(img1,"xyzc"),      // 'img2' is a 256x128x1x3 image.
+                         img3(img1,"y,x,z,c"),   // 'img3' is a 128x256x1x3 image.
+                         img4(img1,"c,x,y,3",0), // 'img4' is a 3x128x256x3 image (with pixels initialized to '0').
+       \endcode
+     **/
+    template<typename t>
+    CImg(const CImg<t>& img, const char *const dimensions):
+      _width(0),_height(0),_depth(0),_spectrum(0),_is_shared(false),_data(0) {
+      assign(img,dimensions);
+    }
+
+    //! Construct image with dimensions borrowed from another image and initialize pixel values.
+    /**
+       Construct a new image instance with pixels of type \c T, and size get from the dimensions of an existing
+       \c CImg<t> instance, and set all pixel values to specified \c value.
+       \param img Input image from which dimensions are borrowed.
+       \param dimensions String describing the image size along the X,Y,Z and V-dimensions.
+       \param value Value used for initialization.
+       \note
+       - Similar to CImg(const CImg<t>&,const char*), but it also fills the pixel buffer with the specified \c value.
+     **/
+    template<typename t>
+    CImg(const CImg<t>& img, const char *const dimensions, const T& value):
+      _width(0),_height(0),_depth(0),_spectrum(0),_is_shared(false),_data(0) {
+      assign(img,dimensions).fill(value);
+    }
+
+    //! Construct image from a display window.
+    /**
+       Construct a new image instance with pixels of type \c T, as a snapshot of an existing \c CImgDisplay instance.
+       \param disp Input display window.
+       \note
+       - The width() and height() of the constructed image instance are the same as the specified \c CImgDisplay.
+       - The depth() and spectrum() of the constructed image instance are respectively set to \c 1 and \c 3
+         (i.e. a 2d color image).
+       - The image pixels are read as 8-bits RGB values.
+     **/
+    explicit CImg(const CImgDisplay &disp):_width(0),_height(0),_depth(0),_spectrum(0),_is_shared(false),_data(0) {
+      disp.snapshot(*this);
+    }
+
+    // Constructor and assignment operator for rvalue references (c++11).
+    // This avoids an additional image copy for methods returning new images. Can save RAM for big images !
+#ifdef cimg_use_cpp11
+    CImg(CImg<T>&& img):_width(0),_height(0),_depth(0),_spectrum(0),_is_shared(false),_data(0) {
+      swap(img);
+    }
+    CImg<T>& operator=(CImg<T>&& img) {
+      if (_is_shared) return assign(img);
+      return img.swap(*this);
+    }
+#endif
+
+    //! Construct empty image \inplace.
+    /**
+       In-place version of the default constructor CImg(). It simply resets the instance to an empty image.
+    **/
+    CImg<T>& assign() {
+      if (!_is_shared) delete[] _data;
+      _width = _height = _depth = _spectrum = 0; _is_shared = false; _data = 0;
+      return *this;
+    }
+
+    //! Construct image with specified size \inplace.
+    /**
+       In-place version of the constructor CImg(unsigned int,unsigned int,unsigned int,unsigned int).
+    **/
+    CImg<T>& assign(const unsigned int size_x, const unsigned int size_y=1,
+                    const unsigned int size_z=1, const unsigned int size_c=1) {
+      const unsigned long siz = (unsigned long)size_x*size_y*size_z*size_c;
+      if (!siz) return assign();
+      const unsigned long curr_siz = size();
+      if (siz!=curr_siz) {
+	if (_is_shared)
+          throw CImgArgumentException(_cimg_instance
+                                      "assign(): Invalid assignement request of shared instance from specified "
+                                      "image (%u,%u,%u,%u).",
+                                      cimg_instance,
+                                      size_x,size_y,size_z,size_c);
+	else {
+          delete[] _data;
+          try { _data = new T[siz]; } catch (...) {
+            _width = _height = _depth = _spectrum = 0; _data = 0;
+            throw CImgInstanceException(_cimg_instance
+                                        "assign(): Failed to allocate memory (%s) for image (%u,%u,%u,%u).",
+                                        cimg_instance,
+                                        cimg::strbuffersize(sizeof(T)*size_x*size_y*size_z*size_c),
+                                        size_x,size_y,size_z,size_c);
+          }
+        }
+      }
+      _width = size_x; _height = size_y; _depth = size_z; _spectrum = size_c;
+      return *this;
+    }
+
+    //! Construct image with specified size and initialize pixel values \inplace.
+    /**
+       In-place version of the constructor CImg(unsigned int,unsigned int,unsigned int,unsigned int,T).
+    **/
+    CImg<T>& assign(const unsigned int size_x, const unsigned int size_y,
+                    const unsigned int size_z, const unsigned int size_c, const T& value) {
+      return assign(size_x,size_y,size_z,size_c).fill(value);
+    }
+
+    //! Construct image with specified size and initialize pixel values from a sequence of integers \inplace.
+    /**
+       In-place version of the constructor CImg(unsigned int,unsigned int,unsigned int,unsigned int,int,int,...).
+    **/
+    CImg<T>& assign(const unsigned int size_x, const unsigned int size_y,
+                    const unsigned int size_z, const unsigned int size_c,
+                    const int value0, const int value1, ...) {
+      assign(size_x,size_y,size_z,size_c);
+      _CImg_stdarg(*this,value0,value1,(unsigned long)size_x*size_y*size_z*size_c,int);
+      return *this;
+    }
+
+    //! Construct image with specified size and initialize pixel values from a sequence of doubles \inplace.
+    /**
+       In-place version of the constructor CImg(unsigned int,unsigned int,unsigned int,unsigned int,double,double,...).
+    **/
+    CImg<T>& assign(const unsigned int size_x, const unsigned int size_y,
+                    const unsigned int size_z, const unsigned int size_c,
+                    const double value0, const double value1, ...) {
+      assign(size_x,size_y,size_z,size_c);
+      _CImg_stdarg(*this,value0,value1,(unsigned long)size_x*size_y*size_z*size_c,double);
+      return *this;
+    }
+
+    //! Construct image with specified size and initialize pixel values from a value string \inplace.
+    /**
+       In-place version of the constructor CImg(unsigned int,unsigned int,unsigned int,unsigned int,const char*,bool).
+    **/
+    CImg<T>& assign(const unsigned int size_x, const unsigned int size_y,
+                    const unsigned int size_z, const unsigned int size_c,
+                    const char *const values, const bool repeat_values) {
+      return assign(size_x,size_y,size_z,size_c).fill(values,repeat_values);
+    }
+
+    //! Construct image with specified size and initialize pixel values from a memory buffer \inplace.
+    /**
+       In-place version of the constructor CImg(const t*,unsigned int,unsigned int,unsigned int,unsigned int).
+    **/
+    template<typename t>
+    CImg<T>& assign(const t *const values, const unsigned int size_x, const unsigned int size_y=1,
+                    const unsigned int size_z=1, const unsigned int size_c=1) {
+      const unsigned long siz = (unsigned long)size_x*size_y*size_z*size_c;
+      if (!values || !siz) return assign();
+      assign(size_x,size_y,size_z,size_c);
+      const t *ptrs = values; cimg_for(*this,ptrd,T) *ptrd = (T)*(ptrs++);
+      return *this;
+    }
+
+    //! Construct image with specified size and initialize pixel values from a memory buffer \specialization.
+    CImg<T>& assign(const T *const values, const unsigned int size_x, const unsigned int size_y=1,
+                    const unsigned int size_z=1, const unsigned int size_c=1) {
+      const unsigned long siz = (unsigned long)size_x*size_y*size_z*size_c;
+      if (!values || !siz) return assign();
+      const unsigned long curr_siz = size();
+      if (values==_data && siz==curr_siz) return assign(size_x,size_y,size_z,size_c);
+      if (_is_shared || values + siz<_data || values>=_data + size()) {
+        assign(size_x,size_y,size_z,size_c);
+        if (_is_shared) std::memmove(_data,values,siz*sizeof(T));
+        else std::memcpy(_data,values,siz*sizeof(T));
+      } else {
+        T *new_data = 0;
+        try { new_data = new T[siz]; } catch (...) {
+          _width = _height = _depth = _spectrum = 0; _data = 0;
+          throw CImgInstanceException(_cimg_instance
+                                      "assign(): Failed to allocate memory (%s) for image (%u,%u,%u,%u).",
+                                      cimg_instance,
+                                      cimg::strbuffersize(sizeof(T)*size_x*size_y*size_z*size_c),
+                                      size_x,size_y,size_z,size_c);
+        }
+        std::memcpy(new_data,values,siz*sizeof(T));
+        delete[] _data; _data = new_data; _width = size_x; _height = size_y; _depth = size_z; _spectrum = size_c;
+      }
+      return *this;
+    }
+
+    //! Construct image with specified size and initialize pixel values from a memory buffer \overloading.
+    template<typename t>
+    CImg<T>& assign(const t *const values, const unsigned int size_x, const unsigned int size_y,
+                    const unsigned int size_z, const unsigned int size_c, const bool is_shared) {
+      if (is_shared)
+        throw CImgArgumentException(_cimg_instance
+                                    "assign(): Invalid assignment request of shared instance from (%s*) buffer"
+                                    "(pixel types are different).",
+                                    cimg_instance,
+                                    CImg<t>::pixel_type());
+      return assign(values,size_x,size_y,size_z,size_c);
+    }
+
+    //! Construct image with specified size and initialize pixel values from a memory buffer \overloading.
+    CImg<T>& assign(const T *const values, const unsigned int size_x, const unsigned int size_y,
+                    const unsigned int size_z, const unsigned int size_c, const bool is_shared) {
+      const unsigned long siz = (unsigned long)size_x*size_y*size_z*size_c;
+      if (!values || !siz) return assign();
+      if (!is_shared) { if (_is_shared) assign(); assign(values,size_x,size_y,size_z,size_c); }
+      else {
+	if (!_is_shared) {
+	  if (values + siz<_data || values>=_data + size()) assign();
+	  else cimg::warn(_cimg_instance
+                          "assign(): Shared image instance has overlapping memory.",
+                          cimg_instance);
+	}
+	_width = size_x; _height = size_y; _depth = size_z; _spectrum = size_c; _is_shared = true;
+	_data = const_cast<T*>(values);
+      }
+      return *this;
+    }
+
+    //! Construct image from reading an image file \inplace.
+    /**
+       In-place version of the constructor CImg(const char*).
+    **/
+    CImg<T>& assign(const char *const filename) {
+      return load(filename);
+    }
+
+    //! Construct image copy \inplace.
+    /**
+       In-place version of the constructor CImg(const CImg<t>&).
+    **/
+    template<typename t>
+    CImg<T>& assign(const CImg<t>& img) {
+      return assign(img._data,img._width,img._height,img._depth,img._spectrum);
+    }
+
+    //! In-place version of the advanced copy constructor.
+    /**
+       In-place version of the constructor CImg(const CImg<t>&,bool).
+     **/
+    template<typename t>
+    CImg<T>& assign(const CImg<t>& img, const bool is_shared) {
+      return assign(img._data,img._width,img._height,img._depth,img._spectrum,is_shared);
+    }
+
+    //! Construct image with dimensions borrowed from another image \inplace.
+    /**
+       In-place version of the constructor CImg(const CImg<t>&,const char*).
+    **/
+    template<typename t>
+    CImg<T>& assign(const CImg<t>& img, const char *const dimensions) {
+      if (!dimensions || !*dimensions) return assign(img._width,img._height,img._depth,img._spectrum);
+      unsigned int siz[4] = { 0,1,1,1 }, k = 0;
+      CImg<charT> item(256);
+      for (const char *s = dimensions; *s && k<4; ++k) {
+        if (cimg_sscanf(s,"%255[^0-9%xyzvwhdcXYZVWHDC]",item._data)>0) s+=std::strlen(item);
+        if (*s) {
+          unsigned int val = 0; char sep = 0;
+          if (cimg_sscanf(s,"%u%c",&val,&sep)>0) {
+            if (sep=='%') siz[k] = val*(k==0?_width:k==1?_height:k==2?_depth:_spectrum)/100;
+            else siz[k] = val;
+            while (*s>='0' && *s<='9') ++s; if (sep=='%') ++s;
+          } else switch (cimg::uncase(*s)) {
+          case 'x' : case 'w' : siz[k] = img._width; ++s; break;
+          case 'y' : case 'h' : siz[k] = img._height; ++s; break;
+          case 'z' : case 'd' : siz[k] = img._depth; ++s; break;
+          case 'c' : case 's' : siz[k] = img._spectrum; ++s; break;
+          default :
+            throw CImgArgumentException(_cimg_instance
+                                        "assign(): Invalid character '%c' detected in specified dimension string '%s'.",
+                                        cimg_instance,
+                                        *s,dimensions);
+          }
+        }
+      }
+      return assign(siz[0],siz[1],siz[2],siz[3]);
+    }
+
+    //! Construct image with dimensions borrowed from another image and initialize pixel values \inplace.
+    /**
+       In-place version of the constructor CImg(const CImg<t>&,const char*,T).
+    **/
+    template<typename t>
+    CImg<T>& assign(const CImg<t>& img, const char *const dimensions, const T& value) {
+      return assign(img,dimensions).fill(value);
+    }
+
+    //! Construct image from a display window \inplace.
+    /**
+       In-place version of the constructor CImg(const CImgDisplay&).
+    **/
+    CImg<T>& assign(const CImgDisplay &disp) {
+      disp.snapshot(*this);
+      return *this;
+    }
+
+    //! Construct empty image \inplace.
+    /**
+       Equivalent to assign().
+       \note
+       - It has been defined for compatibility with STL naming conventions.
+    **/
+    CImg<T>& clear() {
+      return assign();
+    }
+
+    //! Transfer content of an image instance into another one.
+    /**
+       Transfer the dimensions and the pixel buffer content of an image instance into another one,
+       and replace instance by an empty image. It avoids the copy of the pixel buffer
+       when possible.
+       \param img Destination image.
+       \note
+       - Pixel types \c T and \c t of source and destination images can be different, though the process is
+         designed to be instantaneous when \c T and \c t are the same.
+       \par Example
+       \code
+       CImg<float> src(256,256,1,3,0), // Construct a 256x256x1x3 (color) image filled with value '0'.
+                   dest(16,16);        // Construct a 16x16x1x1 (scalar) image.
+       src.move_to(dest);              // Now, 'src' is empty and 'dest' is the 256x256x1x3 image.
+       \endcode
+    **/
+    template<typename t>
+    CImg<t>& move_to(CImg<t>& img) {
+      img.assign(*this);
+      assign();
+      return img;
+    }
+
+    //! Transfer content of an image instance into another one \specialization.
+    CImg<T>& move_to(CImg<T>& img) {
+      if (_is_shared || img._is_shared) img.assign(*this);
+      else swap(img);
+      assign();
+      return img;
+    }
+
+    //! Transfer content of an image instance into a new image in an image list.
+    /**
+       Transfer the dimensions and the pixel buffer content of an image instance
+       into a newly inserted image at position \c pos in specified \c CImgList<t> instance.
+       \param list Destination list.
+       \param pos Position of the newly inserted image in the list.
+       \note
+       - When optionnal parameter \c pos is ommited, the image instance is transfered as a new
+         image at the end of the specified \c list.
+       - It is convenient to sequentially insert new images into image lists, with no
+         additional copies of memory buffer.
+       \par Example
+       \code
+       CImgList<float> list;             // Construct an empty image list.
+       CImg<float> img("reference.jpg"); // Read image from filename.
+       img.move_to(list);                // Transfer image content as a new item in the list (no buffer copy).
+       \endcode
+    **/
+    template<typename t>
+    CImgList<t>& move_to(CImgList<t>& list, const unsigned int pos=~0U) {
+      const unsigned int npos = pos>list._width?list._width:pos;
+      move_to(list.insert(1,npos)[npos]);
+      return list;
+    }
+
+    //! Swap fields of two image instances.
+    /**
+      \param img Image to swap fields with.
+      \note
+      - It can be used to interchange the content of two images in a very fast way. Can be convenient when dealing
+        with algorithms requiring two swapping buffers.
+      \par Example
+      \code
+      CImg<float> img1("lena.jpg"),
+                  img2("milla.jpg");
+      img1.swap(img2);               // Now, 'img1' is 'milla' and 'img2' is 'lena'.
+      \endcode
+    **/
+    CImg<T>& swap(CImg<T>& img) {
+      cimg::swap(_width,img._width);
+      cimg::swap(_height,img._height);
+      cimg::swap(_depth,img._depth);
+      cimg::swap(_spectrum,img._spectrum);
+      cimg::swap(_data,img._data);
+      cimg::swap(_is_shared,img._is_shared);
+      return img;
+    }
+
+    //! Return a reference to an empty image.
+    /**
+       \note
+       This function is useful mainly to declare optional parameters having type \c CImg<T> in functions prototypes,
+       e.g.
+       \code
+       void f(const int x=0, const int y=0, const CImg<float>& img=CImg<float>::empty());
+       \endcode
+     **/
+    static CImg<T>& empty() {
+      static CImg<T> _empty;
+      return _empty.assign();
+    }
+
+    //@}
+    //------------------------------------------
+    //
+    //! \name Overloaded Operators
+    //@{
+    //------------------------------------------
+
+    //! Access to a pixel value.
+    /**
+       Return a reference to a located pixel value of the image instance,
+       being possibly \e const, whether the image instance is \e const or not.
+       This is the standard method to get/set pixel values in \c CImg<T> images.
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \note
+       - Range of pixel coordinates start from <tt>(0,0,0,0)</tt> to
+         <tt>(width() - 1,height() - 1,depth() - 1,spectrum() - 1)</tt>.
+       - Due to the particular arrangement of the pixel buffers defined in %CImg, you can omit one coordinate if the
+         corresponding dimension is equal to \c 1.
+         For instance, pixels of a 2d image (depth() equal to \c 1) can be accessed by <tt>img(x,y,c)</tt> instead of
+         <tt>img(x,y,0,c)</tt>.
+       \warning
+       - There is \e no boundary checking done in this operator, to make it as fast as possible.
+         You \e must take care of out-of-bounds access by yourself, if necessary.
+         For debuging purposes, you may want to define macro \c 'cimg_verbosity'>=3 to enable additional boundary
+         checking operations in this operator. In that case, warning messages will be printed on the error output
+         when accessing out-of-bounds pixels.
+       \par Example
+       \code
+       CImg<float> img(100,100,1,3,0);                   // Construct a 100x100x1x3 (color) image with pixels set to '0'.
+       const float
+          valR = img(10,10,0,0),                         // Read red value at coordinates (10,10).
+          valG = img(10,10,0,1),                         // Read green value at coordinates (10,10)
+          valB = img(10,10,2),                           // Read blue value at coordinates (10,10) (Z-coordinate can be omitted).
+          avg = (valR + valG + valB)/3;                  // Compute average pixel value.
+       img(10,10,0) = img(10,10,1) = img(10,10,2) = avg; // Replace the color pixel (10,10) by the average grey value.
+       \endcode
+    **/
+#if cimg_verbosity>=3
+    T& operator()(const unsigned int x, const unsigned int y=0,
+                  const unsigned int z=0, const unsigned int c=0) {
+      const unsigned long off = (unsigned long)offset(x,y,z,c);
+      if (!_data || off>=size()) {
+        cimg::warn(_cimg_instance
+                   "operator(): Invalid pixel request, at coordinates (%u,%u,%u,%u) [offset=%u].",
+                   cimg_instance,
+                   x,y,z,c,off);
+        return *_data;
+      }
+      else return _data[off];
+    }
+
+    //! Access to a pixel value \const.
+    const T& operator()(const unsigned int x, const unsigned int y=0,
+                        const unsigned int z=0, const unsigned int c=0) const {
+      return const_cast<CImg<T>*>(this)->operator()(x,y,z,c);
+    }
+
+    //! Access to a pixel value.
+    /**
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \param wh Precomputed offset, must be equal to <tt>width()*\ref height()</tt>.
+       \param whd Precomputed offset, must be equal to <tt>width()*\ref height()*\ref depth()</tt>.
+       \note
+       - Similar to (but faster than) operator()().
+         It uses precomputed offsets to optimize memory access. You may use it to optimize
+         the reading/writing of several pixel values in the same image (e.g. in a loop).
+     **/
+    T& operator()(const unsigned int x, const unsigned int y, const unsigned int z, const unsigned int c,
+                  const unsigned long wh, const unsigned long whd=0) {
+      cimg::unused(wh,whd);
+      return (*this)(x,y,z,c);
+    }
+
+    //! Access to a pixel value \const.
+    const T& operator()(const unsigned int x, const unsigned int y, const unsigned int z, const unsigned int c,
+                        const unsigned long wh, const unsigned long whd=0) const {
+      cimg::unused(wh,whd);
+      return (*this)(x,y,z,c);
+    }
+#else
+    T& operator()(const unsigned int x) {
+      return _data[x];
+    }
+
+    const T& operator()(const unsigned int x) const {
+      return _data[x];
+    }
+
+    T& operator()(const unsigned int x, const unsigned int y) {
+      return _data[x + y*_width];
+    }
+
+    const T& operator()(const unsigned int x, const unsigned int y) const {
+      return _data[x + y*_width];
+    }
+
+    T& operator()(const unsigned int x, const unsigned int y, const unsigned int z) {
+      return _data[x + y*(unsigned long)_width + z*(unsigned long)_width*_height];
+   }
+
+    const T& operator()(const unsigned int x, const unsigned int y, const unsigned int z) const {
+      return _data[x + y*(unsigned long)_width + z*(unsigned long)_width*_height];
+    }
+
+    T& operator()(const unsigned int x, const unsigned int y, const unsigned int z, const unsigned int c) {
+      return _data[x + y*(unsigned long)_width + z*(unsigned long)_width*_height +
+                   c*(unsigned long)_width*_height*_depth];
+    }
+
+    const T& operator()(const unsigned int x, const unsigned int y, const unsigned int z, const unsigned int c) const {
+      return _data[x + y*(unsigned long)_width + z*(unsigned long)_width*_height +
+                   c*(unsigned long)_width*_height*_depth];
+    }
+
+    T& operator()(const unsigned int x, const unsigned int y, const unsigned int z, const unsigned int,
+                  const unsigned long wh) {
+      return _data[x + y*_width + z*wh];
+    }
+
+    const T& operator()(const unsigned int x, const unsigned int y, const unsigned int z, const unsigned int,
+                        const unsigned long wh) const {
+      return _data[x + y*_width + z*wh];
+    }
+
+    T& operator()(const unsigned int x, const unsigned int y, const unsigned int z, const unsigned int c,
+                  const unsigned long wh, const unsigned long whd) {
+      return _data[x + y*_width + z*wh + c*whd];
+    }
+
+    const T& operator()(const unsigned int x, const unsigned int y, const unsigned int z, const unsigned int c,
+                        const unsigned long wh, const unsigned long whd) const {
+      return _data[x + y*_width + z*wh + c*whd];
+    }
+#endif
+
+    //! Implicitely cast an image into a \c T*.
+    /**
+       Implicitely cast a \c CImg<T> instance into a \c T* or \c const \c T* pointer, whether the image instance
+       is \e const or not. The returned pointer points on the first value of the image pixel buffer.
+       \note
+       - It simply returns the pointer data() to the pixel buffer.
+       - This implicit conversion is convenient to test the empty state of images (data() being \c 0 in this case), e.g.
+       \code
+       CImg<float> img1(100,100), img2; // 'img1' is a 100x100 image, 'img2' is an empty image.
+       if (img1) {                      // Test succeeds, 'img1' is not an empty image.
+         if (!img2) {                   // Test succeeds, 'img2' is an empty image.
+           std::printf("'img1' is not empty, 'img2' is empty.");
+         }
+       }
+       \endcode
+       - It also allows to use brackets to access pixel values, without need for a \c CImg<T>::operator[](), e.g.
+       \code
+       CImg<float> img(100,100);
+       const float value = img[99]; // Access to value of the last pixel on the first row.
+       img[510] = 255;              // Set pixel value at (10,5).
+       \endcode
+    **/
+    operator T*() {
+      return _data;
+    }
+
+    //! Implicitely cast an image into a \c T* \const.
+    operator const T*() const {
+      return _data;
+    }
+
+    //! Assign a value to all image pixels.
+    /**
+       Assign specified \c value to each pixel value of the image instance.
+       \param value Value that will be assigned to image pixels.
+       \note
+       - The image size is never modified.
+       - The \c value may be casted to pixel type \c T if necessary.
+       \par Example
+       \code
+       CImg<char> img(100,100); // Declare image (with garbage values).
+       img = 0;                 // Set all pixel values to '0'.
+       img = 1.2;               // Set all pixel values to '1' (cast of '1.2' as a 'char').
+       \endcode
+    **/
+    CImg<T>& operator=(const T& value) {
+      return fill(value);
+    }
+
+    //! Assign pixels values from a specified expression.
+    /**
+       Initialize all pixel values from the specified string \c expression.
+       \param expression Value string describing the way pixel values are set.
+       \note
+       - String parameter \c expression may describe different things:
+         - If \c expression is a list of values (as in \c "1,2,3,8,3,2"), or a formula (as in \c "(x*y)%255"),
+           the pixel values are set from specified \c expression and the image size is not modified.
+         - If \c expression is a filename (as in \c "reference.jpg"), the corresponding image file is loaded and
+           replace the image instance. The image size is modified if necessary.
+       \par Example
+       \code
+       CImg<float> img1(100,100), img2(img1), img3(img1); // Declare three 100x100 scalar images with unitialized pixel values.
+       img1 = "0,50,100,150,200,250,200,150,100,50";      // Set pixel values of 'img1' from a value sequence.
+       img2 = "10*((x*y)%25)";                            // Set pixel values of 'img2' from a formula.
+       img3 = "reference.jpg";                            // Set pixel values of 'img3' from a file (image size is modified).
+       (img1,img2,img3).display();
+       \endcode
+       \image html ref_operator_eq.jpg
+    **/
+    CImg<T>& operator=(const char *const expression) {
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      try {
+        fill(expression,true);
+      } catch (CImgException&) {
+        cimg::exception_mode(omode);
+        load(expression);
+      }
+      cimg::exception_mode(omode);
+      return *this;
+    }
+
+    //! Copy an image into the current image instance.
+    /**
+       Similar to the in-place copy constructor assign(const CImg<t>&).
+    **/
+    template<typename t>
+    CImg<T>& operator=(const CImg<t>& img) {
+      return assign(img);
+    }
+
+    //! Copy an image into the current image instance \specialization.
+    CImg<T>& operator=(const CImg<T>& img) {
+      return assign(img);
+    }
+
+    //! Copy the content of a display window to the current image instance.
+    /**
+       Similar to assign(const CImgDisplay&).
+    **/
+    CImg<T>& operator=(const CImgDisplay& disp) {
+      disp.snapshot(*this);
+      return *this;
+    }
+
+    //! In-place addition operator.
+    /**
+       Add specified \c value to all pixels of an image instance.
+       \param value Value to add.
+       \note
+       - Resulting pixel values are casted to fit the pixel type \c T.
+         For instance, adding \c 0.2 to a \c CImg<char> is possible but does nothing indeed.
+       - Overflow values are treated as with standard C++ numeric types. For instance,
+       \code
+       CImg<unsigned char> img(100,100,1,1,255); // Construct a 100x100 image with pixel values '255'.
+       img+=1;                                   // Add '1' to each pixels -> Overflow.
+       // here all pixels of image 'img' are equal to '0'.
+       \endcode
+       - To prevent value overflow, you may want to consider pixel type \c T as \c float or \c double,
+         and use cut() after addition.
+       \par Example
+       \code
+       CImg<unsigned char> img1("reference.jpg");          // Load a 8-bits RGB image (values in [0,255]).
+       CImg<float> img2(img1);                             // Construct a float-valued copy of 'img1'.
+       img2+=100;                                          // Add '100' to pixel values -> goes out of [0,255] but no problems with floats.
+       img2.cut(0,255);                                    // Cut values in [0,255] to fit the 'unsigned char' constraint.
+       img1 = img2;                                        // Rewrite safe result in 'unsigned char' version 'img1'.
+       const CImg<unsigned char> img3 = (img1 + 100).cut(0,255); // Do the same in a more simple and elegant way.
+       (img1,img2,img3).display();
+       \endcode
+       \image html ref_operator_plus.jpg
+     **/
+    template<typename t>
+    CImg<T>& operator+=(const t value) {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=524288)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)(*ptrd + value);
+      return *this;
+    }
+
+    //! In-place addition operator.
+    /**
+       Add values to image pixels, according to the specified string \c expression.
+       \param expression Value string describing the way pixel values are added.
+       \note
+       - Similar to operator=(const char*), except that it adds values to the pixels of the current image instance,
+         instead of assigning them.
+    **/
+    CImg<T>& operator+=(const char *const expression) {
+      if (is_empty()) return *this;
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      try {
+        const CImg<T> _base = cimg::_is_self_expr(expression)?+*this:CImg<T>(), &base = _base?_base:*this;
+        _cimg_math_parser mp(base,this,expression + (*expression=='>' || *expression=='<'?1:0),"operator+=");
+        T *ptrd = *expression=='<'?end() - 1:_data;
+        if (*expression=='<') cimg_rofXYZC(*this,x,y,z,c) { *ptrd = (T)(*ptrd + mp(x,y,z,c)); --ptrd; }
+        else if (*expression=='>') cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)(*ptrd + mp(x,y,z,c)); ++ptrd; }
+        else {
+#ifdef cimg_use_openmp
+          if (_width>=512 && _height*_depth*_spectrum>=2 && std::strlen(expression)>=6)
+#pragma omp parallel
+            {
+              _cimg_math_parser _mp = omp_get_thread_num()?mp:_cimg_math_parser(), &lmp = omp_get_thread_num()?_mp:mp;
+#pragma omp for collapse(3)
+              cimg_forYZC(*this,y,z,c) {
+                T *ptrd = data(0,y,z,c);
+                cimg_forX(*this,x) { *ptrd = (T)(*ptrd + lmp(x,y,z,c)); ++ptrd; }
+              }
+            }
+          else
+#endif
+            cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)(*ptrd + mp(x,y,z,c)); ++ptrd; }
+        }
+      } catch (CImgException&) {
+        cimg::exception_mode(omode);
+        *this+=CImg<T>(_width,_height,_depth,_spectrum,expression,true);
+      }
+      cimg::exception_mode(omode);
+      return *this;
+    }
+
+    //! In-place addition operator.
+    /**
+       Add values to image pixels, according to the values of the input image \c img.
+       \param img Input image to add.
+       \note
+       - The size of the image instance is never modified.
+       - It is not mandatory that input image \c img has the same size as the image instance.
+         If less values are available in \c img, then the values are added periodically. For instance, adding one
+         WxH scalar image (spectrum() equal to \c 1) to one WxH color image (spectrum() equal to \c 3)
+         means each color channel will be incremented with the same values at the same locations.
+       \par Example
+       \code
+       CImg<float> img1("reference.jpg");                                   // Load a RGB color image (img1.spectrum()==3)
+       const CImg<float> img2(img1.width(),img.height(),1,1,"255*(x/w)^2"); // Construct a scalar shading (img2.spectrum()==1).
+       img1+=img2;                                                          // Add shading to each channel of 'img1'.
+       img1.cut(0,255);                                                     // Prevent [0,255] overflow.
+       (img2,img1).display();
+       \endcode
+       \image html ref_operator_plus1.jpg
+    **/
+    template<typename t>
+    CImg<T>& operator+=(const CImg<t>& img) {
+      const unsigned long siz = size(), isiz = img.size();
+      if (siz && isiz) {
+        if (is_overlapped(img)) return *this+=+img;
+        T *ptrd = _data, *const ptre = _data + siz;
+        if (siz>isiz) for (unsigned long n = siz/isiz; n; --n)
+          for (const t *ptrs = img._data, *ptrs_end = ptrs + isiz; ptrs<ptrs_end; ++ptrd)
+            *ptrd = (T)(*ptrd + *(ptrs++));
+        for (const t *ptrs = img._data; ptrd<ptre; ++ptrd) *ptrd = (T)(*ptrd + *(ptrs++));
+      }
+      return *this;
+    }
+
+    //! In-place increment operator (prefix).
+    /**
+       Add \c 1 to all image pixels, and return a reference to the current incremented image instance.
+       \note
+       - Writing \c ++img is equivalent to \c img+=1.
+     **/
+    CImg<T>& operator++() {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=524288)
+#endif
+      cimg_rof(*this,ptrd,T) ++*ptrd;
+      return *this;
+    }
+
+    //! In-place increment operator (postfix).
+    /**
+       Add \c 1 to all image pixels, and return a new copy of the initial (pre-incremented) image instance.
+       \note
+       - Use the prefixed version operator++() if you don't need a copy of the initial
+         (pre-incremented) image instance, since a useless image copy may be expensive in terms of memory usage.
+     **/
+    CImg<T> operator++(int) {
+      const CImg<T> copy(*this,false);
+      ++*this;
+      return copy;
+    }
+
+    //! Return a non-shared copy of the image instance.
+    /**
+       \note
+       - Use this operator to ensure you get a non-shared copy of an image instance with same pixel type \c T.
+         Indeed, the usual copy constructor CImg<T>(const CImg<T>&) returns a shared copy of a shared input image,
+         and it may be not desirable to work on a regular copy (e.g. for a resize operation) if you have no
+         information about the shared state of the input image.
+       - Writing \c (+img) is equivalent to \c CImg<T>(img,false).
+    **/
+    CImg<T> operator+() const {
+      return CImg<T>(*this,false);
+    }
+
+    //! Addition operator.
+    /**
+       Similar to operator+=(const t), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image may be a superset of the initial pixel type \c T, if necessary.
+     **/
+    template<typename t>
+    CImg<_cimg_Tt> operator+(const t value) const {
+      return CImg<_cimg_Tt>(*this,false)+=value;
+    }
+
+    //! Addition operator.
+    /**
+       Similar to operator+=(const char*), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image may be a superset of the initial pixel type \c T, if necessary.
+     **/
+    CImg<Tfloat> operator+(const char *const expression) const {
+      return CImg<Tfloat>(*this,false)+=expression;
+    }
+
+    //! Addition operator.
+    /**
+       Similar to operator+=(const CImg<t>&), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image may be a superset of the initial pixel type \c T, if necessary.
+     **/
+    template<typename t>
+    CImg<_cimg_Tt> operator+(const CImg<t>& img) const {
+      return CImg<_cimg_Tt>(*this,false)+=img;
+    }
+
+    //! In-place substraction operator.
+    /**
+       Similar to operator+=(const t), except that it performs a substraction instead of an addition.
+     **/
+    template<typename t>
+    CImg<T>& operator-=(const t value) {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=524288)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)(*ptrd - value);
+      return *this;
+    }
+
+    //! In-place substraction operator.
+    /**
+       Similar to operator+=(const char*), except that it performs a substraction instead of an addition.
+     **/
+    CImg<T>& operator-=(const char *const expression) {
+      if (is_empty()) return *this;
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      try {
+        const CImg<T> _base = cimg::_is_self_expr(expression)?+*this:CImg<T>(), &base = _base?_base:*this;
+        _cimg_math_parser mp(base,this,expression + (*expression=='>' || *expression=='<'?1:0),"operator-=");
+        T *ptrd = *expression=='<'?end() - 1:_data;
+        if (*expression=='<') cimg_rofXYZC(*this,x,y,z,c) { *ptrd = (T)(*ptrd - mp(x,y,z,c)); --ptrd; }
+        else if (*expression=='>') cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)(*ptrd - mp(x,y,z,c)); ++ptrd; }
+        else {
+#ifdef cimg_use_openmp
+          if (_width>=512 && _height*_depth*_spectrum>=2 && std::strlen(expression)>=6)
+#pragma omp parallel
+          {
+            _cimg_math_parser _mp = omp_get_thread_num()?mp:_cimg_math_parser(), &lmp = omp_get_thread_num()?_mp:mp;
+#pragma omp for collapse(3)
+            cimg_forYZC(*this,y,z,c) {
+              T *ptrd = data(0,y,z,c);
+              cimg_forX(*this,x) { *ptrd = (T)(*ptrd - lmp(x,y,z,c)); ++ptrd; }
+            }
+          }
+          else
+#endif
+            cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)(*ptrd - mp(x,y,z,c)); ++ptrd; }
+        }
+      } catch (CImgException&) {
+        cimg::exception_mode(omode);
+        *this-=CImg<T>(_width,_height,_depth,_spectrum,expression,true);
+      }
+      cimg::exception_mode(omode);
+      return *this;
+    }
+
+    //! In-place substraction operator.
+    /**
+       Similar to operator+=(const CImg<t>&), except that it performs a substraction instead of an addition.
+     **/
+    template<typename t>
+    CImg<T>& operator-=(const CImg<t>& img) {
+      const unsigned long siz = size(), isiz = img.size();
+      if (siz && isiz) {
+        if (is_overlapped(img)) return *this-=+img;
+        T *ptrd = _data, *const ptre = _data + siz;
+        if (siz>isiz) for (unsigned long n = siz/isiz; n; --n)
+          for (const t *ptrs = img._data, *ptrs_end = ptrs + isiz; ptrs<ptrs_end; ++ptrd)
+            *ptrd = (T)(*ptrd - *(ptrs++));
+        for (const t *ptrs = img._data; ptrd<ptre; ++ptrd) *ptrd = (T)(*ptrd - *(ptrs++));
+      }
+      return *this;
+    }
+
+    //! In-place decrement operator (prefix).
+    /**
+       Similar to operator++(), except that it performs a decrement instead of an increment.
+    **/
+    CImg<T>& operator--() {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=524288)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = *ptrd - (T)1;
+      return *this;
+    }
+
+    //! In-place decrement operator (postfix).
+    /**
+       Similar to operator++(int), except that it performs a decrement instead of an increment.
+    **/
+    CImg<T> operator--(int) {
+      const CImg<T> copy(*this,false);
+      --*this;
+      return copy;
+    }
+
+    //! Replace each pixel by its opposite value.
+    /**
+       \note
+       - If the computed opposite values are out-of-range, they are treated as with standard C++ numeric types.
+         For instance, the \c unsigned \c char opposite of \c 1 is \c 255.
+       \par Example
+       \code
+       const CImg<unsigned char>
+         img1("reference.jpg"),   // Load a RGB color image.
+         img2 = -img1;            // Compute its opposite (in 'unsigned char').
+       (img1,img2).display();
+       \endcode
+       \image html ref_operator_minus.jpg
+     **/
+    CImg<T> operator-() const {
+      return CImg<T>(_width,_height,_depth,_spectrum,(T)0)-=*this;
+    }
+
+    //! Substraction operator.
+    /**
+       Similar to operator-=(const t), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image may be a superset of the initial pixel type \c T, if necessary.
+    **/
+    template<typename t>
+    CImg<_cimg_Tt> operator-(const t value) const {
+      return CImg<_cimg_Tt>(*this,false)-=value;
+    }
+
+    //! Substraction operator.
+    /**
+       Similar to operator-=(const char*), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image may be a superset of the initial pixel type \c T, if necessary.
+    **/
+    CImg<Tfloat> operator-(const char *const expression) const {
+      return CImg<Tfloat>(*this,false)-=expression;
+    }
+
+    //! Substraction operator.
+    /**
+       Similar to operator-=(const CImg<t>&), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image may be a superset of the initial pixel type \c T, if necessary.
+    **/
+    template<typename t>
+    CImg<_cimg_Tt> operator-(const CImg<t>& img) const {
+      return CImg<_cimg_Tt>(*this,false)-=img;
+    }
+
+    //! In-place multiplication operator.
+    /**
+       Similar to operator+=(const t), except that it performs a multiplication instead of an addition.
+     **/
+    template<typename t>
+    CImg<T>& operator*=(const t value) {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=262144)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)(*ptrd * value);
+      return *this;
+    }
+
+    //! In-place multiplication operator.
+    /**
+       Similar to operator+=(const char*), except that it performs a multiplication instead of an addition.
+     **/
+    CImg<T>& operator*=(const char *const expression) {
+      if (is_empty()) return *this;
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      try {
+        const CImg<T> _base = cimg::_is_self_expr(expression)?+*this:CImg<T>(), &base = _base?_base:*this;
+        _cimg_math_parser mp(base,this,expression + (*expression=='>' || *expression=='<'?1:0),"operator*=");
+        T *ptrd = *expression=='<'?end() - 1:_data;
+        if (*expression=='<') cimg_rofXYZC(*this,x,y,z,c) { *ptrd = (T)(*ptrd * mp(x,y,z,c)); --ptrd; }
+        else if (*expression=='>') cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)(*ptrd * mp(x,y,z,c)); ++ptrd; }
+        else {
+#ifdef cimg_use_openmp
+          if (_width>=512 && _height*_depth*_spectrum>=2 && std::strlen(expression)>=6)
+#pragma omp parallel
+          {
+            _cimg_math_parser _mp = omp_get_thread_num()?mp:_cimg_math_parser(), &lmp = omp_get_thread_num()?_mp:mp;
+#pragma omp for collapse(3)
+            cimg_forYZC(*this,y,z,c) {
+              T *ptrd = data(0,y,z,c);
+              cimg_forX(*this,x) { *ptrd = (T)(*ptrd * lmp(x,y,z,c)); ++ptrd; }
+            }
+          }
+          else
+#endif
+            cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)(*ptrd * mp(x,y,z,c)); ++ptrd; }
+        }
+      } catch (CImgException&) {
+        cimg::exception_mode(omode);
+        mul(CImg<T>(_width,_height,_depth,_spectrum,expression,true));
+      }
+      cimg::exception_mode(omode);
+      return *this;
+    }
+
+    //! In-place multiplication operator.
+    /**
+       Replace the image instance by the matrix multiplication between the image instance and the specified matrix
+       \c img.
+       \param img Second operand of the matrix multiplication.
+       \note
+       - It does \e not compute a pointwise multiplication between two images. For this purpose, use
+         mul(const CImg<t>&) instead.
+       - The size of the image instance can be modified by this operator.
+       \par Example
+       \code
+       CImg<float> A(2,2,1,1, 1,2,3,4);   // Construct 2x2 matrix A = [1,2;3,4].
+       const CImg<float> X(1,2,1,1, 1,2); // Construct 1x2 vector X = [1;2].
+       A*=X;                              // Assign matrix multiplication A*X to 'A'.
+       // 'A' is now a 1x2 vector whose values are [5;11].
+       \endcode
+    **/
+    template<typename t>
+    CImg<T>& operator*=(const CImg<t>& img) {
+      return ((*this)*img).move_to(*this);
+    }
+
+    //! Multiplication operator.
+    /**
+       Similar to operator*=(const t), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image may be a superset of the initial pixel type \c T, if necessary.
+    **/
+    template<typename t>
+    CImg<_cimg_Tt> operator*(const t value) const {
+      return CImg<_cimg_Tt>(*this,false)*=value;
+    }
+
+    //! Multiplication operator.
+    /**
+       Similar to operator*=(const char*), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image may be a superset of the initial pixel type \c T, if necessary.
+    **/
+    CImg<Tfloat> operator*(const char *const expression) const {
+      return CImg<Tfloat>(*this,false)*=expression;
+    }
+
+    //! Multiplication operator.
+    /**
+       Similar to operator*=(const CImg<t>&), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image may be a superset of the initial pixel type \c T, if necessary.
+    **/
+    template<typename t>
+    CImg<_cimg_Tt> operator*(const CImg<t>& img) const {
+      if (_width!=img._height || _depth!=1 || _spectrum!=1)
+        throw CImgArgumentException(_cimg_instance
+                                    "operator*(): Invalid multiplication of instance by specified "
+                                    "matrix (%u,%u,%u,%u,%p)",
+                                    cimg_instance,
+                                    img._width,img._height,img._depth,img._spectrum,img._data);
+      CImg<_cimg_Tt> res(img._width,_height);
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>1024 && img.size()>1024) collapse(2)
+      cimg_forXY(res,i,j) {
+        _cimg_Ttdouble value = 0; cimg_forX(*this,k) value+=(*this)(k,j)*img(i,k); res(i,j) = (_cimg_Tt)value;
+      }
+#else
+      _cimg_Tt *ptrd = res._data;
+      cimg_forXY(res,i,j) {
+        _cimg_Ttdouble value = 0; cimg_forX(*this,k) value+=(*this)(k,j)*img(i,k); *(ptrd++) = (_cimg_Tt)value;
+      }
+#endif
+      return res;
+    }
+
+    //! In-place division operator.
+    /**
+       Similar to operator+=(const t), except that it performs a division instead of an addition.
+     **/
+    template<typename t>
+    CImg<T>& operator/=(const t value) {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=32768)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)(*ptrd / value);
+      return *this;
+    }
+
+    //! In-place division operator.
+    /**
+       Similar to operator+=(const char*), except that it performs a division instead of an addition.
+     **/
+    CImg<T>& operator/=(const char *const expression) {
+      if (is_empty()) return *this;
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      try {
+        const CImg<T> _base = cimg::_is_self_expr(expression)?+*this:CImg<T>(), &base = _base?_base:*this;
+        _cimg_math_parser mp(base,this,expression + (*expression=='>' || *expression=='<'?1:0),"operator/=");
+        T *ptrd = *expression=='<'?end() - 1:_data;
+        if (*expression=='<') cimg_rofXYZC(*this,x,y,z,c) { *ptrd = (T)(*ptrd / mp(x,y,z,c)); --ptrd; }
+        else if (*expression=='>') cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)(*ptrd / mp(x,y,z,c)); ++ptrd; }
+        else {
+#ifdef cimg_use_openmp
+          if (_width>=512 && _height*_depth*_spectrum>=2 && std::strlen(expression)>=6)
+#pragma omp parallel
+          {
+            _cimg_math_parser _mp = omp_get_thread_num()?mp:_cimg_math_parser(), &lmp = omp_get_thread_num()?_mp:mp;
+#pragma omp for collapse(3)
+            cimg_forYZC(*this,y,z,c) {
+              T *ptrd = data(0,y,z,c);
+              cimg_forX(*this,x) { *ptrd = (T)(*ptrd / lmp(x,y,z,c)); ++ptrd; }
+            }
+          }
+          else
+#endif
+            cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)(*ptrd / mp(x,y,z,c)); ++ptrd; }
+        }
+      } catch (CImgException&) {
+        cimg::exception_mode(omode);
+        div(CImg<T>(_width,_height,_depth,_spectrum,expression,true));
+      }
+      cimg::exception_mode(omode);
+      return *this;
+    }
+
+    //! In-place division operator.
+    /**
+       Replace the image instance by the (right) matrix division between the image instance and the specified
+       matrix \c img.
+       \param img Second operand of the matrix division.
+       \note
+       - It does \e not compute a pointwise division between two images. For this purpose, use
+         div(const CImg<t>&) instead.
+       - It returns the matrix operation \c A*inverse(img).
+       - The size of the image instance can be modified by this operator.
+     **/
+    template<typename t>
+    CImg<T>& operator/=(const CImg<t>& img) {
+      return (*this*img.get_invert()).move_to(*this);
+    }
+
+    //! Division operator.
+    /**
+       Similar to operator/=(const t), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image may be a superset of the initial pixel type \c T, if necessary.
+    **/
+    template<typename t>
+    CImg<_cimg_Tt> operator/(const t value) const {
+      return CImg<_cimg_Tt>(*this,false)/=value;
+    }
+
+    //! Division operator.
+    /**
+       Similar to operator/=(const char*), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image may be a superset of the initial pixel type \c T, if necessary.
+    **/
+    CImg<Tfloat> operator/(const char *const expression) const {
+      return CImg<Tfloat>(*this,false)/=expression;
+    }
+
+    //! Division operator.
+    /**
+       Similar to operator/=(const CImg<t>&), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image may be a superset of the initial pixel type \c T, if necessary.
+    **/
+    template<typename t>
+    CImg<_cimg_Tt> operator/(const CImg<t>& img) const {
+      return (*this)*img.get_invert();
+    }
+
+    //! In-place modulo operator.
+    /**
+       Similar to operator+=(const t), except that it performs a modulo operation instead of an addition.
+    **/
+    template<typename t>
+    CImg<T>& operator%=(const t value) {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=16384)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)cimg::mod(*ptrd,(T)value);
+      return *this;
+    }
+
+    //! In-place modulo operator.
+    /**
+       Similar to operator+=(const char*), except that it performs a modulo operation instead of an addition.
+    **/
+    CImg<T>& operator%=(const char *const expression) {
+      if (is_empty()) return *this;
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      try {
+        const CImg<T> _base = cimg::_is_self_expr(expression)?+*this:CImg<T>(), &base = _base?_base:*this;
+        _cimg_math_parser mp(base,this,expression + (*expression=='>' || *expression=='<'?1:0),"operator%=");
+        T *ptrd = *expression=='<'?end() - 1:_data;
+        if (*expression=='<') cimg_rofXYZC(*this,x,y,z,c) { *ptrd = (T)cimg::mod(*ptrd,(T)mp(x,y,z,c)); --ptrd; }
+        else if (*expression=='>') cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)cimg::mod(*ptrd,(T)mp(x,y,z,c)); ++ptrd; }
+        else {
+#ifdef cimg_use_openmp
+          if (_width>=512 && _height*_depth*_spectrum>=2 && std::strlen(expression)>=6)
+#pragma omp parallel
+          {
+            _cimg_math_parser _mp = omp_get_thread_num()?mp:_cimg_math_parser(), &lmp = omp_get_thread_num()?_mp:mp;
+#pragma omp for collapse(3)
+            cimg_forYZC(*this,y,z,c) {
+              T *ptrd = data(0,y,z,c);
+              cimg_forX(*this,x) { *ptrd = (T)cimg::mod(*ptrd,(T)lmp(x,y,z,c)); ++ptrd; }
+            }
+          }
+          else
+#endif
+            cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)cimg::mod(*ptrd,(T)mp(x,y,z,c)); ++ptrd; }
+        }
+      } catch (CImgException&) {
+        cimg::exception_mode(omode);
+        *this%=CImg<T>(_width,_height,_depth,_spectrum,expression,true);
+      }
+      cimg::exception_mode(omode);
+      return *this;
+    }
+
+    //! In-place modulo operator.
+    /**
+       Similar to operator+=(const CImg<t>&), except that it performs a modulo operation instead of an addition.
+    **/
+    template<typename t>
+    CImg<T>& operator%=(const CImg<t>& img) {
+      const unsigned long siz = size(), isiz = img.size();
+      if (siz && isiz) {
+        if (is_overlapped(img)) return *this%=+img;
+        T *ptrd = _data, *const ptre = _data + siz;
+        if (siz>isiz) for (unsigned long n = siz/isiz; n; --n)
+          for (const t *ptrs = img._data, *ptrs_end = ptrs + isiz; ptrs<ptrs_end; ++ptrd)
+            *ptrd = cimg::mod(*ptrd,(T)*(ptrs++));
+        for (const t *ptrs = img._data; ptrd<ptre; ++ptrd) *ptrd = cimg::mod(*ptrd,(T)*(ptrs++));
+      }
+      return *this;
+    }
+
+    //! Modulo operator.
+    /**
+       Similar to operator%=(const t), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image may be a superset of the initial pixel type \c T, if necessary.
+    **/
+    template<typename t>
+    CImg<_cimg_Tt> operator%(const t value) const {
+      return CImg<_cimg_Tt>(*this,false)%=value;
+    }
+
+    //! Modulo operator.
+    /**
+       Similar to operator%=(const char*), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image may be a superset of the initial pixel type \c T, if necessary.
+    **/
+    CImg<Tfloat> operator%(const char *const expression) const {
+      return CImg<Tfloat>(*this,false)%=expression;
+    }
+
+    //! Modulo operator.
+    /**
+       Similar to operator%=(const CImg<t>&), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image may be a superset of the initial pixel type \c T, if necessary.
+    **/
+    template<typename t>
+    CImg<_cimg_Tt> operator%(const CImg<t>& img) const {
+      return CImg<_cimg_Tt>(*this,false)%=img;
+    }
+
+    //! In-place bitwise AND operator.
+    /**
+       Similar to operator+=(const t), except that it performs a bitwise AND operation instead of an addition.
+    **/
+    template<typename t>
+    CImg<T>& operator&=(const t value) {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=32768)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)((unsigned long)*ptrd & (unsigned long)value);
+      return *this;
+    }
+
+    //! In-place bitwise AND operator.
+    /**
+       Similar to operator+=(const char*), except that it performs a bitwise AND operation instead of an addition.
+    **/
+    CImg<T>& operator&=(const char *const expression) {
+      if (is_empty()) return *this;
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      try {
+        const CImg<T> _base = cimg::_is_self_expr(expression)?+*this:CImg<T>(), &base = _base?_base:*this;
+        _cimg_math_parser mp(base,this,expression + (*expression=='>' || *expression=='<'?1:0),"operator&=");
+        T *ptrd = *expression=='<'?end() - 1:_data;
+        if (*expression=='<')
+          cimg_rofXYZC(*this,x,y,z,c) { *ptrd = (T)((unsigned long)*ptrd & (unsigned long)mp(x,y,z,c)); --ptrd; }
+        else if (*expression=='>')
+          cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)((unsigned long)*ptrd & (unsigned long)mp(x,y,z,c)); ++ptrd; }
+        else {
+#ifdef cimg_use_openmp
+          if (_width>=512 && _height*_depth*_spectrum>=2 && std::strlen(expression)>=6)
+#pragma omp parallel
+          {
+            _cimg_math_parser _mp = omp_get_thread_num()?mp:_cimg_math_parser(), &lmp = omp_get_thread_num()?_mp:mp;
+#pragma omp for collapse(3)
+            cimg_forYZC(*this,y,z,c) {
+              T *ptrd = data(0,y,z,c);
+              cimg_forX(*this,x) { *ptrd = (T)((unsigned long)*ptrd & (unsigned long)lmp(x,y,z,c)); ++ptrd; }
+            }
+          }
+          else
+#endif
+            cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)((unsigned long)*ptrd & (unsigned long)mp(x,y,z,c)); ++ptrd; }
+        }
+      } catch (CImgException&) {
+        cimg::exception_mode(omode);
+        *this&=CImg<T>(_width,_height,_depth,_spectrum,expression,true);
+      }
+      cimg::exception_mode(omode);
+      return *this;
+    }
+
+    //! In-place bitwise AND operator.
+    /**
+       Similar to operator+=(const CImg<t>&), except that it performs a bitwise AND operation instead of an addition.
+    **/
+    template<typename t>
+    CImg<T>& operator&=(const CImg<t>& img) {
+      const unsigned long siz = size(), isiz = img.size();
+      if (siz && isiz) {
+        if (is_overlapped(img)) return *this&=+img;
+        T *ptrd = _data, *const ptre = _data + siz;
+        if (siz>isiz) for (unsigned long n = siz/isiz; n; --n)
+          for (const t *ptrs = img._data, *ptrs_end = ptrs + isiz; ptrs<ptrs_end; ++ptrd)
+            *ptrd = (T)((unsigned long)*ptrd & (unsigned long)*(ptrs++));
+        for (const t *ptrs = img._data; ptrd<ptre; ++ptrd) *ptrd = (T)((unsigned long)*ptrd & (unsigned long)*(ptrs++));
+      }
+      return *this;
+    }
+
+    //! Bitwise AND operator.
+    /**
+       Similar to operator&=(const t), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image is \c T.
+    **/
+    template<typename t>
+    CImg<T> operator&(const t value) const {
+      return (+*this)&=value;
+    }
+
+    //! Bitwise AND operator.
+    /**
+       Similar to operator&=(const char*), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image is \c T.
+    **/
+    CImg<T> operator&(const char *const expression) const {
+      return (+*this)&=expression;
+    }
+
+    //! Bitwise AND operator.
+    /**
+       Similar to operator&=(const CImg<t>&), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image is \c T.
+    **/
+    template<typename t>
+    CImg<T> operator&(const CImg<t>& img) const {
+      return (+*this)&=img;
+    }
+
+    //! In-place bitwise OR operator.
+    /**
+       Similar to operator+=(const t), except that it performs a bitwise OR operation instead of an addition.
+    **/
+    template<typename t>
+    CImg<T>& operator|=(const t value) {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=32768)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)((unsigned long)*ptrd | (unsigned long)value);
+      return *this;
+    }
+
+    //! In-place bitwise OR operator.
+    /**
+       Similar to operator+=(const char*), except that it performs a bitwise OR operation instead of an addition.
+    **/
+    CImg<T>& operator|=(const char *const expression) {
+      if (is_empty()) return *this;
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      try {
+        const CImg<T> _base = cimg::_is_self_expr(expression)?+*this:CImg<T>(), &base = _base?_base:*this;
+        _cimg_math_parser mp(base,this,expression + (*expression=='>' || *expression=='<'?1:0),"operator|=");
+        T *ptrd = *expression=='<'?end() - 1:_data;
+        if (*expression=='<')
+          cimg_rofXYZC(*this,x,y,z,c) { *ptrd = (T)((unsigned long)*ptrd | (unsigned long)mp(x,y,z,c)); --ptrd; }
+        else if (*expression=='>')
+          cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)((unsigned long)*ptrd | (unsigned long)mp(x,y,z,c)); ++ptrd; }
+        else {
+#ifdef cimg_use_openmp
+          if (_width>=512 && _height*_depth*_spectrum>=2 && std::strlen(expression)>=6)
+#pragma omp parallel
+          {
+            _cimg_math_parser _mp = omp_get_thread_num()?mp:_cimg_math_parser(), &lmp = omp_get_thread_num()?_mp:mp;
+#pragma omp for collapse(3)
+            cimg_forYZC(*this,y,z,c) {
+              T *ptrd = data(0,y,z,c);
+              cimg_forX(*this,x) { *ptrd = (T)((unsigned long)*ptrd | (unsigned long)lmp(x,y,z,c)); ++ptrd; }
+            }
+          }
+          else
+#endif
+            cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)((unsigned long)*ptrd | (unsigned long)mp(x,y,z,c)); ++ptrd; }
+        }
+      } catch (CImgException&) {
+        cimg::exception_mode(omode);
+        *this|=CImg<T>(_width,_height,_depth,_spectrum,expression,true);
+      }
+      cimg::exception_mode(omode);
+      return *this;
+    }
+
+    //! In-place bitwise OR operator.
+    /**
+       Similar to operator+=(const CImg<t>&), except that it performs a bitwise OR operation instead of an addition.
+    **/
+    template<typename t>
+    CImg<T>& operator|=(const CImg<t>& img) {
+      const unsigned long siz = size(), isiz = img.size();
+      if (siz && isiz) {
+        if (is_overlapped(img)) return *this|=+img;
+        T *ptrd = _data, *const ptre = _data + siz;
+        if (siz>isiz) for (unsigned long n = siz/isiz; n; --n)
+          for (const t *ptrs = img._data, *ptrs_end = ptrs + isiz; ptrs<ptrs_end; ++ptrd)
+            *ptrd = (T)((unsigned long)*ptrd | (unsigned long)*(ptrs++));
+        for (const t *ptrs = img._data; ptrd<ptre; ++ptrd) *ptrd = (T)((unsigned long)*ptrd | (unsigned long)*(ptrs++));
+      }
+      return *this;
+    }
+
+    //! Bitwise OR operator.
+    /**
+       Similar to operator|=(const t), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image is \c T.
+    **/
+    template<typename t>
+    CImg<T> operator|(const t value) const {
+      return (+*this)|=value;
+    }
+
+    //! Bitwise OR operator.
+    /**
+       Similar to operator|=(const char*), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image is \c T.
+    **/
+    CImg<T> operator|(const char *const expression) const {
+      return (+*this)|=expression;
+    }
+
+    //! Bitwise OR operator.
+    /**
+       Similar to operator|=(const CImg<t>&), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image is \c T.
+    **/
+    template<typename t>
+    CImg<T> operator|(const CImg<t>& img) const {
+      return (+*this)|=img;
+    }
+
+    //! In-place bitwise XOR operator.
+    /**
+       Similar to operator+=(const t), except that it performs a bitwise XOR operation instead of an addition.
+       \warning
+       - It does \e not compute the \e power of pixel values. For this purpose, use pow(const t) instead.
+    **/
+    template<typename t>
+    CImg<T>& operator^=(const t value) {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=32768)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)((unsigned long)*ptrd ^ (unsigned long)value);
+      return *this;
+    }
+
+    //! In-place bitwise XOR operator.
+    /**
+       Similar to operator+=(const char*), except that it performs a bitwise XOR operation instead of an addition.
+       \warning
+       - It does \e not compute the \e power of pixel values. For this purpose, use pow(const char*) instead.
+    **/
+    CImg<T>& operator^=(const char *const expression) {
+      if (is_empty()) return *this;
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      try {
+        const CImg<T> _base = cimg::_is_self_expr(expression)?+*this:CImg<T>(), &base = _base?_base:*this;
+        _cimg_math_parser mp(base,this,expression + (*expression=='>' || *expression=='<'?1:0),"operator^=");
+        T *ptrd = *expression=='<'?end() - 1:_data;
+        if (*expression=='<')
+          cimg_rofXYZC(*this,x,y,z,c) { *ptrd = (T)((unsigned long)*ptrd ^ (unsigned long)mp(x,y,z,c)); --ptrd; }
+        else if (*expression=='>')
+          cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)((unsigned long)*ptrd ^ (unsigned long)mp(x,y,z,c)); ++ptrd; }
+        else {
+#ifdef cimg_use_openmp
+          if (_width>=512 && _height*_depth*_spectrum>=2 && std::strlen(expression)>=6)
+#pragma omp parallel
+            {
+              _cimg_math_parser _mp = omp_get_thread_num()?mp:_cimg_math_parser(), &lmp = omp_get_thread_num()?_mp:mp;
+#pragma omp for collapse(3)
+              cimg_forYZC(*this,y,z,c) {
+                T *ptrd = data(0,y,z,c);
+                cimg_forX(*this,x) { *ptrd = (T)((unsigned long)*ptrd ^ (unsigned long)lmp(x,y,z,c)); ++ptrd; }
+              }
+            }
+          else
+#endif
+            cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)((unsigned long)*ptrd ^ (unsigned long)mp(x,y,z,c)); ++ptrd; }
+        }
+      } catch (CImgException&) {
+        cimg::exception_mode(omode);
+        *this^=CImg<T>(_width,_height,_depth,_spectrum,expression,true);
+      }
+      cimg::exception_mode(omode);
+      return *this;
+    }
+
+    //! In-place bitwise XOR operator.
+    /**
+       Similar to operator+=(const CImg<t>&), except that it performs a bitwise XOR operation instead of an addition.
+       \warning
+       - It does \e not compute the \e power of pixel values. For this purpose, use pow(const CImg<t>&) instead.
+    **/
+    template<typename t>
+    CImg<T>& operator^=(const CImg<t>& img) {
+      const unsigned long siz = size(), isiz = img.size();
+      if (siz && isiz) {
+        if (is_overlapped(img)) return *this^=+img;
+        T *ptrd = _data, *const ptre = _data + siz;
+        if (siz>isiz) for (unsigned long n = siz/isiz; n; --n)
+          for (const t *ptrs = img._data, *ptrs_end = ptrs + isiz; ptrs<ptrs_end; ++ptrd)
+            *ptrd = (T)((unsigned long)*ptrd ^ (unsigned long)*(ptrs++));
+        for (const t *ptrs = img._data; ptrd<ptre; ++ptrd) *ptrd = (T)((unsigned long)*ptrd ^ (unsigned long)*(ptrs++));
+      }
+      return *this;
+    }
+
+    //! Bitwise XOR operator.
+    /**
+       Similar to operator^=(const t), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image is \c T.
+    **/
+    template<typename t>
+    CImg<T> operator^(const t value) const {
+      return (+*this)^=value;
+    }
+
+    //! Bitwise XOR operator.
+    /**
+       Similar to operator^=(const char*), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image is \c T.
+    **/
+    CImg<T> operator^(const char *const expression) const {
+      return (+*this)^=expression;
+    }
+
+    //! Bitwise XOR operator.
+    /**
+       Similar to operator^=(const CImg<t>&), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image is \c T.
+    **/
+    template<typename t>
+    CImg<T> operator^(const CImg<t>& img) const {
+      return (+*this)^=img;
+    }
+
+    //! In-place bitwise left shift operator.
+    /**
+       Similar to operator+=(const t), except that it performs a bitwise left shift instead of an addition.
+    **/
+    template<typename t>
+    CImg<T>& operator<<=(const t value) {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=65536)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)(((long)*ptrd) << (int)value);
+      return *this;
+    }
+
+    //! In-place bitwise left shift operator.
+    /**
+       Similar to operator+=(const char*), except that it performs a bitwise left shift instead of an addition.
+    **/
+    CImg<T>& operator<<=(const char *const expression) {
+      if (is_empty()) return *this;
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      try {
+        const CImg<T> _base = cimg::_is_self_expr(expression)?+*this:CImg<T>(), &base = _base?_base:*this;
+        _cimg_math_parser mp(base,this,expression + (*expression=='>' || *expression=='<'?1:0),"operator<<=");
+        T *ptrd = *expression=='<'?end() - 1:_data;
+        if (*expression=='<') cimg_rofXYZC(*this,x,y,z,c) { *ptrd = (T)((long)*ptrd << (int)mp(x,y,z,c)); --ptrd; }
+        else if (*expression=='>') cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)((long)*ptrd << (int)mp(x,y,z,c)); ++ptrd; }
+        else {
+#ifdef cimg_use_openmp
+          if (_width>=512 && _height*_depth*_spectrum>=2 && std::strlen(expression)>=6)
+#pragma omp parallel
+          {
+            _cimg_math_parser _mp = omp_get_thread_num()?mp:_cimg_math_parser(), &lmp = omp_get_thread_num()?_mp:mp;
+#pragma omp for collapse(3)
+            cimg_forYZC(*this,y,z,c) {
+              T *ptrd = data(0,y,z,c);
+              cimg_forX(*this,x) { *ptrd = (T)((long)*ptrd << (int)lmp(x,y,z,c)); ++ptrd; }
+            }
+          }
+          else
+#endif
+            cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)((long)*ptrd << (int)mp(x,y,z,c)); ++ptrd; }
+        }
+      } catch (CImgException&) {
+        cimg::exception_mode(omode);
+        *this<<=CImg<T>(_width,_height,_depth,_spectrum,expression,true);
+      }
+      cimg::exception_mode(omode);
+      return *this;
+    }
+
+    //! In-place bitwise left shift operator.
+    /**
+       Similar to operator+=(const CImg<t>&), except that it performs a bitwise left shift instead of an addition.
+    **/
+    template<typename t>
+    CImg<T>& operator<<=(const CImg<t>& img) {
+      const unsigned long siz = size(), isiz = img.size();
+      if (siz && isiz) {
+        if (is_overlapped(img)) return *this^=+img;
+        T *ptrd = _data, *const ptre = _data + siz;
+        if (siz>isiz) for (unsigned long n = siz/isiz; n; --n)
+          for (const t *ptrs = img._data, *ptrs_end = ptrs + isiz; ptrs<ptrs_end; ++ptrd)
+            *ptrd = (T)((long)*ptrd << (int)*(ptrs++));
+        for (const t *ptrs = img._data; ptrd<ptre; ++ptrd) *ptrd = (T)((long)*ptrd << (int)*(ptrs++));
+      }
+      return *this;
+    }
+
+    //! Bitwise left shift operator.
+    /**
+       Similar to operator<<=(const t), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image is \c T.
+    **/
+    template<typename t>
+    CImg<T> operator<<(const t value) const {
+      return (+*this)<<=value;
+    }
+
+    //! Bitwise left shift operator.
+    /**
+       Similar to operator<<=(const char*), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image is \c T.
+    **/
+    CImg<T> operator<<(const char *const expression) const {
+      return (+*this)<<=expression;
+    }
+
+    //! Bitwise left shift operator.
+    /**
+       Similar to operator<<=(const CImg<t>&), except that it returns a new image instance instead of
+       operating in-place.
+       The pixel type of the returned image is \c T.
+    **/
+    template<typename t>
+    CImg<T> operator<<(const CImg<t>& img) const {
+      return (+*this)<<=img;
+    }
+
+    //! In-place bitwise right shift operator.
+    /**
+       Similar to operator+=(const t), except that it performs a bitwise right shift instead of an addition.
+    **/
+    template<typename t>
+    CImg<T>& operator>>=(const t value) {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=65536)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)(((long)*ptrd) >> (int)value);
+      return *this;
+    }
+
+    //! In-place bitwise right shift operator.
+    /**
+       Similar to operator+=(const char*), except that it performs a bitwise right shift instead of an addition.
+    **/
+    CImg<T>& operator>>=(const char *const expression) {
+      if (is_empty()) return *this;
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      try {
+        const CImg<T> _base = cimg::_is_self_expr(expression)?+*this:CImg<T>(), &base = _base?_base:*this;
+        _cimg_math_parser mp(base,this,expression + (*expression=='>' || *expression=='<'?1:0),"operator<<=");
+        T *ptrd = *expression=='<'?end() - 1:_data;
+        if (*expression=='<') cimg_rofXYZC(*this,x,y,z,c) { *ptrd = (T)((long)*ptrd >> (int)mp(x,y,z,c)); --ptrd; }
+        else if (*expression=='>') cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)((long)*ptrd >> (int)mp(x,y,z,c)); ++ptrd; }
+        else {
+#ifdef cimg_use_openmp
+          if (_width>=512 && _height*_depth*_spectrum>=2 && std::strlen(expression)>=6)
+#pragma omp parallel
+          {
+            _cimg_math_parser _mp = omp_get_thread_num()?mp:_cimg_math_parser(), &lmp = omp_get_thread_num()?_mp:mp;
+#pragma omp for collapse(3)
+            cimg_forYZC(*this,y,z,c) {
+              T *ptrd = data(0,y,z,c);
+              cimg_forX(*this,x) { *ptrd = (T)((long)*ptrd >> (int)lmp(x,y,z,c)); ++ptrd; }
+            }
+          }
+          else
+#endif
+            cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)((long)*ptrd >> (int)mp(x,y,z,c)); ++ptrd; }
+        }
+      } catch (CImgException&) {
+        cimg::exception_mode(omode);
+        *this>>=CImg<T>(_width,_height,_depth,_spectrum,expression,true);
+      }
+      cimg::exception_mode(omode);
+      return *this;
+    }
+
+    //! In-place bitwise right shift operator.
+    /**
+       Similar to operator+=(const CImg<t>&), except that it performs a bitwise right shift instead of an addition.
+    **/
+    template<typename t>
+    CImg<T>& operator>>=(const CImg<t>& img) {
+      const unsigned long siz = size(), isiz = img.size();
+      if (siz && isiz) {
+        if (is_overlapped(img)) return *this^=+img;
+        T *ptrd = _data, *const ptre = _data + siz;
+        if (siz>isiz) for (unsigned long n = siz/isiz; n; --n)
+          for (const t *ptrs = img._data, *ptrs_end = ptrs + isiz; ptrs<ptrs_end; ++ptrd)
+            *ptrd = (T)((long)*ptrd >> (int)*(ptrs++));
+        for (const t *ptrs = img._data; ptrd<ptre; ++ptrd) *ptrd = (T)((long)*ptrd >> (int)*(ptrs++));
+      }
+      return *this;
+    }
+
+    //! Bitwise right shift operator.
+    /**
+       Similar to operator>>=(const t), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image is \c T.
+    **/
+    template<typename t>
+    CImg<T> operator>>(const t value) const {
+      return (+*this)>>=value;
+    }
+
+    //! Bitwise right shift operator.
+    /**
+       Similar to operator>>=(const char*), except that it returns a new image instance instead of operating in-place.
+       The pixel type of the returned image is \c T.
+    **/
+    CImg<T> operator>>(const char *const expression) const {
+      return (+*this)>>=expression;
+    }
+
+    //! Bitwise right shift operator.
+    /**
+       Similar to operator>>=(const CImg<t>&), except that it returns a new image instance instead of
+       operating in-place.
+       The pixel type of the returned image is \c T.
+    **/
+    template<typename t>
+    CImg<T> operator>>(const CImg<t>& img) const {
+      return (+*this)>>=img;
+    }
+
+    //! Bitwise inversion operator.
+    /**
+       Similar to operator-(), except that it compute the bitwise inverse instead of the opposite value.
+    **/
+    CImg<T> operator~() const {
+      CImg<T> res(_width,_height,_depth,_spectrum);
+      const T *ptrs = _data;
+      cimg_for(res,ptrd,T) { const unsigned long value = (unsigned long)*(ptrs++); *ptrd = (T)~value; }
+      return res;
+    }
+
+    //! Test if all pixels of an image have the same value.
+    /**
+       Return \c true is all pixels of the image instance are equal to the specified \c value.
+       \param value Reference value to compare with.
+    **/
+    template<typename t>
+    bool operator==(const t value) const {
+      if (is_empty()) return false;
+      typedef _cimg_Tt Tt;
+      bool is_equal = true;
+      for (T *ptrd = _data + size(); is_equal && ptrd>_data; is_equal = ((Tt)*(--ptrd)==(Tt)value)) {}
+      return is_equal;
+    }
+
+    //! Test if all pixel values of an image follow a specified expression.
+    /**
+       Return \c true is all pixels of the image instance are equal to the specified \c expression.
+       \param expression Value string describing the way pixel values are compared.
+    **/
+    bool operator==(const char *const expression) const {
+      if (is_empty()) return !*expression;
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      bool is_equal = true;
+      try {
+        const CImg<T> _base = cimg::_is_self_expr(expression)?+*this:CImg<T>(), &base = _base?_base:*this;
+        _cimg_math_parser mp(base,0,expression + (*expression=='>' || *expression=='<'?1:0),"operator<<=");
+        const T *ptrs = *expression=='<'?end() - 1:_data;
+        if (*expression=='<')
+          cimg_rofXYZC(*this,x,y,z,c) { if (!is_equal) break; is_equal = ((double)*(ptrs--)==mp(x,y,z,c)); }
+        else if (*expression=='>')
+          cimg_forXYZC(*this,x,y,z,c) { if (!is_equal) break; is_equal = ((double)*(ptrs++)==mp(x,y,z,c)); }
+        else cimg_forXYZC(*this,x,y,z,c) { if (!is_equal) break; is_equal = ((double)*(ptrs++)==mp(x,y,z,c)); }
+      } catch (CImgException&) {
+        cimg::exception_mode(omode);
+        is_equal = (*this==CImg<T>(_width,_height,_depth,_spectrum,expression,true));
+      }
+      cimg::exception_mode(omode);
+      return is_equal;
+    }
+
+    //! Test if two images have the same size and values.
+    /**
+       Return \c true if the image instance and the input image \c img have the same dimensions and pixel values,
+       and \c false otherwise.
+       \param img Input image to compare with.
+       \note
+       - The pixel buffer pointers data() of the two compared images do not have to be the same for operator==()
+         to return \c true.
+         Only the dimensions and the pixel values matter. Thus, the comparison can be \c true even for different
+         pixel types \c T and \c t.
+       \par Example
+       \code
+       const CImg<float> img1(1,3,1,1, 0,1,2); // Construct a 1x3 vector [0;1;2] (with 'float' pixel values).
+       const CImg<char> img2(1,3,1,1, 0,1,2);  // Construct a 1x3 vector [0;1;2] (with 'char' pixel values).
+       if (img1==img2) {                       // Test succeeds, image dimensions and values are the same.
+         std::printf("'img1' and 'img2' have same dimensions and values.");
+       }
+       \endcode
+    **/
+    template<typename t>
+    bool operator==(const CImg<t>& img) const {
+      typedef _cimg_Tt Tt;
+      const unsigned long siz = size();
+      bool is_equal = true;
+      if (siz!=img.size()) return false;
+      t *ptrs = img._data + siz;
+      for (T *ptrd = _data + siz; is_equal && ptrd>_data; is_equal = ((Tt)*(--ptrd)==(Tt)*(--ptrs))) {}
+      return is_equal;
+    }
+
+    //! Test if pixels of an image are all different from a value.
+    /**
+       Return \c true is all pixels of the image instance are different than the specified \c value.
+       \param value Reference value to compare with.
+    **/
+    template<typename t>
+    bool operator!=(const t value) const {
+      return !((*this)==value);
+    }
+
+    //! Test if all pixel values of an image are different from a specified expression.
+    /**
+       Return \c true is all pixels of the image instance are different to the specified \c expression.
+       \param expression Value string describing the way pixel values are compared.
+    **/
+    bool operator!=(const char *const expression) const {
+      return !((*this)==expression);
+    }
+
+    //! Test if two images have different sizes or values.
+    /**
+       Return \c true if the image instance and the input image \c img have different dimensions or pixel values,
+       and \c false otherwise.
+       \param img Input image to compare with.
+       \note
+       - Writing \c img1!=img2 is equivalent to \c !(img1==img2).
+    **/
+    template<typename t>
+    bool operator!=(const CImg<t>& img) const {
+      return !((*this)==img);
+    }
+
+    //! Construct an image list from two images.
+    /**
+       Return a new list of image (\c CImgList instance) containing exactly two elements:
+         - A copy of the image instance, at position [\c 0].
+         - A copy of the specified image \c img, at position [\c 1].
+
+       \param img Input image that will be the second image of the resulting list.
+       \note
+       - The family of operator,() is convenient to easily create list of images, but it is also \e quite \e slow
+         in practice (see warning below).
+       - Constructed lists contain no shared images. If image instance or input image \c img are shared, they are
+         inserted as new non-shared copies in the resulting list.
+       - The pixel type of the returned list may be a superset of the initial pixel type \c T, if necessary.
+       \warning
+       - Pipelining operator,() \c N times will perform \c N copies of the entire content of a (growing) image list.
+         This may become very expensive in terms of speed and used memory. You should avoid using this technique to
+         build a new CImgList instance from several images, if you are seeking for performance.
+         Fast insertions of images in an image list are possible with
+         CImgList<T>::insert(const CImg<t>&,unsigned int,bool) or move_to(CImgList<t>&,unsigned int).
+       \par Example
+       \code
+       const CImg<float>
+          img1("reference.jpg"),
+          img2 = img1.get_mirror('x'),
+          img3 = img2.get_blur(5);
+       const CImgList<float> list = (img1,img2); // Create list of two elements from 'img1' and 'img2'.
+       (list,img3).display();                    // Display image list containing copies of 'img1','img2' and 'img3'.
+       \endcode
+       \image html ref_operator_comma.jpg
+    **/
+    template<typename t>
+    CImgList<_cimg_Tt> operator,(const CImg<t>& img) const {
+      return CImgList<_cimg_Tt>(*this,img);
+    }
+
+    //! Construct an image list from image instance and an input image list.
+    /**
+       Return a new list of images (\c CImgList instance) containing exactly \c list.size() \c + \c 1 elements:
+         - A copy of the image instance, at position [\c 0].
+         - A copy of the specified image list \c list, from positions [\c 1] to [\c list.size()].
+
+       \param list Input image list that will be appended to the image instance.
+       \note
+       - Similar to operator,(const CImg<t>&) const, except that it takes an image list as an argument.
+    **/
+    template<typename t>
+    CImgList<_cimg_Tt> operator,(const CImgList<t>& list) const {
+      return CImgList<_cimg_Tt>(list,false).insert(*this,0);
+    }
+
+    //! Split image along specified axis.
+    /**
+       Return a new list of images (\c CImgList instance) containing the splitted components
+       of the instance image along the specified axis.
+       \param axis Splitting axis (can be '\c x','\c y','\c z' or '\c c')
+       \note
+       - Similar to get_split(char,int) const, with default second argument.
+       \par Example
+       \code
+       const CImg<unsigned char> img("reference.jpg"); // Load a RGB color image.
+       const CImgList<unsigned char> list = (img<'c'); // Get a list of its three R,G,B channels.
+       (img,list).display();
+       \endcode
+       \image html ref_operator_less.jpg
+    **/
+    CImgList<T> operator<(const char axis) const {
+      return get_split(axis);
+    }
+
+    //@}
+    //-------------------------------------
+    //
+    //! \name Instance Characteristics
+    //@{
+    //-------------------------------------
+
+    //! Return the type of image pixel values as a C string.
+    /**
+       Return a \c char* string containing the usual type name of the image pixel values
+       (i.e. a stringified version of the template parameter \c T).
+       \note
+       - The returned string may contain spaces (as in \c "unsigned char").
+       - If the pixel type \c T does not correspond to a registered type, the string <tt>"unknown"</tt> is returned.
+    **/
+    static const char* pixel_type() {
+      return cimg::type<T>::string();
+    }
+
+    //! Return the number of image columns.
+    /**
+       Return the image width, i.e. the image dimension along the X-axis.
+       \note
+       - The width() of an empty image is equal to \c 0.
+       - width() is typically equal to \c 1 when considering images as \e vectors for matrix calculations.
+       - width() returns an \c int, although the image width is internally stored as an \c unsigned \c int.
+         Using an \c int is safer and prevents arithmetic traps possibly encountered when doing calculations involving
+         \c unsigned \c int variables.
+         Access to the initial \c unsigned \c int variable is possible (though not recommended) by
+         <tt>(*this)._width</tt>.
+    **/
+    int width() const {
+      return (int)_width;
+    }
+
+    //! Return the number of image rows.
+    /**
+       Return the image height, i.e. the image dimension along the Y-axis.
+       \note
+       - The height() of an empty image is equal to \c 0.
+       - height() returns an \c int, although the image height is internally stored as an \c unsigned \c int.
+         Using an \c int is safer and prevents arithmetic traps possibly encountered when doing calculations involving
+         \c unsigned \c int variables.
+         Access to the initial \c unsigned \c int variable is possible (though not recommended) by
+         <tt>(*this)._height</tt>.
+    **/
+    int height() const {
+      return (int)_height;
+    }
+
+    //! Return the number of image slices.
+    /**
+       Return the image depth, i.e. the image dimension along the Z-axis.
+       \note
+       - The depth() of an empty image is equal to \c 0.
+       - depth() is typically equal to \c 1 when considering usual 2d images. When depth()\c > \c 1, the image
+         is said to be \e volumetric.
+       - depth() returns an \c int, although the image depth is internally stored as an \c unsigned \c int.
+         Using an \c int is safer and prevents arithmetic traps possibly encountered when doing calculations involving
+         \c unsigned \c int variables.
+         Access to the initial \c unsigned \c int variable is possible (though not recommended) by
+         <tt>(*this)._depth</tt>.
+    **/
+    int depth() const {
+      return (int)_depth;
+    }
+
+    //! Return the number of image channels.
+    /**
+       Return the number of image channels, i.e. the image dimension along the C-axis.
+       \note
+       - The spectrum() of an empty image is equal to \c 0.
+       - spectrum() is typically equal to \c 1 when considering scalar-valued images, to \c 3
+         for RGB-coded color images, and to \c 4 for RGBA-coded color images (with alpha-channel).
+         The number of channels of an image instance is not limited. The meaning of the pixel values is not linked
+         up to the number of channels (e.g. a 4-channel image may indifferently stands for a RGBA or CMYK color image).
+       - spectrum() returns an \c int, although the image spectrum is internally stored as an \c unsigned \c int.
+         Using an \c int is safer and prevents arithmetic traps possibly encountered when doing calculations involving
+         \c unsigned \c int variables.
+         Access to the initial \c unsigned \c int variable is possible (though not recommended) by
+         <tt>(*this)._spectrum</tt>.
+    **/
+    int spectrum() const {
+      return (int)_spectrum;
+    }
+
+    //! Return the total number of pixel values.
+    /**
+       Return <tt>width()*\ref height()*\ref depth()*\ref spectrum()</tt>,
+       i.e. the total number of values of type \c T in the pixel buffer of the image instance.
+       \note
+       - The size() of an empty image is equal to \c 0.
+       - The allocated memory size for a pixel buffer of a non-shared \c CImg<T> instance is equal to
+         <tt>size()*sizeof(T)</tt>.
+       \par Example
+       \code
+       const CImg<float> img(100,100,1,3);               // Construct new 100x100 color image.
+       if (img.size()==30000)                            // Test succeeds.
+         std::printf("Pixel buffer uses %lu bytes",
+                     img.size()*sizeof(float));
+       \endcode
+    **/
+    unsigned long size() const {
+      return (unsigned long)_width*_height*_depth*_spectrum;
+    }
+
+    //! Return a pointer to the first pixel value.
+    /**
+       Return a \c T*, or a \c const \c T* pointer to the first value in the pixel buffer of the image instance,
+       whether the instance is \c const or not.
+       \note
+       - The data() of an empty image is equal to \c 0 (null pointer).
+       - The allocated pixel buffer for the image instance starts from \c data()
+         and goes to <tt>data()+\ref size() - 1</tt> (included).
+       - To get the pointer to one particular location of the pixel buffer, use
+         data(unsigned int,unsigned int,unsigned int,unsigned int) instead.
+    **/
+    T* data() {
+      return _data;
+    }
+
+    //! Return a pointer to the first pixel value \const.
+    const T* data() const {
+      return _data;
+    }
+
+    //! Return a pointer to a located pixel value.
+    /**
+       Return a \c T*, or a \c const \c T* pointer to the value located at (\c x,\c y,\c z,\c c) in the pixel buffer
+       of the image instance,
+       whether the instance is \c const or not.
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \note
+       - Writing \c img.data(x,y,z,c) is equivalent to <tt>&(img(x,y,z,c))</tt>. Thus, this method has the same
+         properties as operator()(unsigned int,unsigned int,unsigned int,unsigned int).
+     **/
+#if cimg_verbosity>=3
+    T *data(const unsigned int x, const unsigned int y=0, const unsigned int z=0, const unsigned int c=0) {
+      const unsigned long off = (unsigned long)offset(x,y,z,c);
+      if (off>=size())
+        cimg::warn(_cimg_instance
+                   "data(): Invalid pointer request, at coordinates (%u,%u,%u,%u) [offset=%u].",
+                   cimg_instance,
+                   x,y,z,c,off);
+      return _data + off;
+    }
+
+    //! Return a pointer to a located pixel value \const.
+    const T* data(const unsigned int x, const unsigned int y=0, const unsigned int z=0, const unsigned int c=0) const {
+      return const_cast<CImg<T>*>(this)->data(x,y,z,c);
+    }
+#else
+    T* data(const unsigned int x, const unsigned int y=0, const unsigned int z=0, const unsigned int c=0) {
+      return _data + x + y*(unsigned long)_width + z*(unsigned long)_width*_height +
+        c*(unsigned long)_width*_height*_depth;
+    }
+
+    const T* data(const unsigned int x, const unsigned int y=0, const unsigned int z=0, const unsigned int c=0) const {
+      return _data + x + y*_width + z*(unsigned long)_width*_height + c*(unsigned long)_width*_height*_depth;
+    }
+#endif
+
+    //! Return the offset to a located pixel value, with respect to the beginning of the pixel buffer.
+    /**
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \note
+       - Writing \c img.data(x,y,z,c) is equivalent to <tt>&(img(x,y,z,c)) - img.data()</tt>.
+         Thus, this method has the same properties as operator()(unsigned int,unsigned int,unsigned int,unsigned int).
+       \par Example
+       \code
+       const CImg<float> img(100,100,1,3);      // Define a 100x100 RGB-color image.
+       const long off = img.offset(10,10,0,2);  // Get the offset of the blue value of the pixel located at (10,10).
+       const float val = img[off];              // Get the blue value of this pixel.
+       \endcode
+    **/
+    long offset(const int x, const int y=0, const int z=0, const int c=0) const {
+      return x + y*(long)_width + z*(long)(_width*_height) + c*(long)(_width*_height*_depth);
+    }
+
+    //! Return a CImg<T>::iterator pointing to the first pixel value.
+    /**
+       \note
+       - Equivalent to data().
+       - It has been mainly defined for compatibility with STL naming conventions.
+     **/
+    iterator begin() {
+      return _data;
+    }
+
+    //! Return a CImg<T>::iterator pointing to the first value of the pixel buffer \const.
+    const_iterator begin() const {
+      return _data;
+    }
+
+    //! Return a CImg<T>::iterator pointing next to the last pixel value.
+    /**
+       \note
+       - Writing \c img.end() is equivalent to <tt>img.data() + img.size()</tt>.
+       - It has been mainly defined for compatibility with STL naming conventions.
+       \warning
+       - The returned iterator actually points to a value located \e outside the acceptable bounds of the pixel buffer.
+         Trying to read or write the content of the returned iterator will probably result in a crash.
+         Use it mainly as a strict upper bound for a CImg<T>::iterator.
+       \par Example
+       \code
+       CImg<float> img(100,100,1,3);                                     // Define a 100x100 RGB color image.
+       for (CImg<float>::iterator it = img.begin(); it<img.end(); ++it)  // 'img.end()' used here as an upper bound for the iterator.
+         *it = 0;
+       \endcode
+    **/
+    iterator end() {
+      return _data + size();
+    }
+
+    //! Return a CImg<T>::iterator pointing next to the last pixel value \const.
+    const_iterator end() const {
+      return _data + size();
+    }
+
+    //! Return a reference to the first pixel value.
+    /**
+       \note
+       - Writing \c img.front() is equivalent to <tt>img[0]</tt>, or <tt>img(0,0,0,0)</tt>.
+       - It has been mainly defined for compatibility with STL naming conventions.
+    **/
+    T& front() {
+      return *_data;
+    }
+
+    //! Return a reference to the first pixel value \const.
+    const T& front() const {
+      return *_data;
+    }
+
+    //! Return a reference to the last pixel value.
+    /**
+       \note
+       - Writing \c img.end() is equivalent to <tt>img[img.size() - 1]</tt>, or
+         <tt>img(img.width() - 1,img.height() - 1,img.depth() - 1,img.spectrum() - 1)</tt>.
+       - It has been mainly defined for compatibility with STL naming conventions.
+    **/
+    T& back() {
+      return *(_data + size() - 1);
+    }
+
+    //! Return a reference to the last pixel value \const.
+    const T& back() const {
+      return *(_data + size() - 1);
+    }
+
+    //! Access to a pixel value at a specified offset, using Dirichlet boundary conditions.
+    /**
+       Return a reference to the pixel value of the image instance located at a specified \c offset,
+       or to a specified default value in case of out-of-bounds access.
+       \param offset Offset to the desired pixel value.
+       \param out_value Default value returned if \c offset is outside image bounds.
+       \note
+       - Writing \c img.at(offset,out_value) is similar to <tt>img[offset]</tt>, except that if \c offset
+         is outside bounds (e.g. \c offset<0 or \c offset>=img.size()), a reference to a value \c out_value
+         is safely returned instead.
+       - Due to the additional boundary checking operation, this method is slower than operator()(). Use it when
+         you are \e not sure about the validity of the specified pixel offset.
+    **/
+    T& at(const int offset, const T& out_value) {
+      return (offset<0 || offset>=(int)size())?(cimg::temporary(out_value)=out_value):(*this)[offset];
+    }
+
+    //! Access to a pixel value at a specified offset, using Dirichlet boundary conditions \const.
+    T at(const int offset, const T& out_value) const {
+      return (offset<0 || offset>=(int)size())?out_value:(*this)[offset];
+    }
+
+    //! Access to a pixel value at a specified offset, using Neumann boundary conditions.
+    /**
+       Return a reference to the pixel value of the image instance located at a specified \c offset,
+       or to the nearest pixel location in the image instance in case of out-of-bounds access.
+       \param offset Offset to the desired pixel value.
+       \note
+       - Similar to at(int,const T), except that an out-of-bounds access returns the value of the
+         nearest pixel in the image instance, regarding the specified offset, i.e.
+         - If \c offset<0, then \c img[0] is returned.
+         - If \c offset>=img.size(), then \c img[img.size() - 1] is returned.
+       - Due to the additional boundary checking operation, this method is slower than operator()(). Use it when
+         you are \e not sure about the validity of the specified pixel offset.
+       - If you know your image instance is \e not empty, you may rather use the slightly faster method \c _at(int).
+     **/
+    T& at(const int offset) {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "at(): Empty instance.",
+                                    cimg_instance);
+      return _at(offset);
+    }
+
+    T& _at(const int offset) {
+      const unsigned int siz = (unsigned int)size();
+      return (*this)[offset<0?0:(unsigned int)offset>=siz?siz - 1:offset];
+    }
+
+    //! Access to a pixel value at a specified offset, using Neumann boundary conditions \const.
+    const T& at(const int offset) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "at(): Empty instance.",
+                                    cimg_instance);
+      return _at(offset);
+    }
+
+    const T& _at(const int offset) const {
+      const unsigned int siz = (unsigned int)size();
+      return (*this)[offset<0?0:(unsigned int)offset>=siz?siz - 1:offset];
+    }
+
+    //! Access to a pixel value, using Dirichlet boundary conditions for the X-coordinate.
+    /**
+       Return a reference to the pixel value of the image instance located at (\c x,\c y,\c z,\c c),
+       or to a specified default value in case of out-of-bounds access along the X-axis.
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \param out_value Default value returned if \c (\c x,\c y,\c z,\c c) is outside image bounds.
+       \note
+       - Similar to operator()(), except that an out-of-bounds access along the X-axis returns the specified value
+         \c out_value.
+       - Due to the additional boundary checking operation, this method is slower than operator()(). Use it when
+         you are \e not sure about the validity of the specified pixel coordinates.
+       \warning
+       - There is \e no boundary checking performed for the Y,Z and C-coordinates, so they must be inside image bounds.
+    **/
+    T& atX(const int x, const int y, const int z, const int c, const T& out_value) {
+      return (x<0 || x>=width())?(cimg::temporary(out_value)=out_value):(*this)(x,y,z,c);
+    }
+
+    //! Access to a pixel value, using Dirichlet boundary conditions for the X-coordinate \const.
+    T atX(const int x, const int y, const int z, const int c, const T& out_value) const {
+      return (x<0 || x>=width())?out_value:(*this)(x,y,z,c);
+    }
+
+    //! Access to a pixel value, using Neumann boundary conditions for the X-coordinate.
+    /**
+       Return a reference to the pixel value of the image instance located at (\c x,\c y,\c z,\c c),
+       or to the nearest pixel location in the image instance in case of out-of-bounds access along the X-axis.
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \note
+       - Similar to at(int,int,int,int,const T), except that an out-of-bounds access returns the value of the
+         nearest pixel in the image instance, regarding the specified X-coordinate.
+       - Due to the additional boundary checking operation, this method is slower than operator()(). Use it when
+         you are \e not sure about the validity of the specified pixel coordinates.
+       - If you know your image instance is \e not empty, you may rather use the slightly faster method
+         \c _at(int,int,int,int).
+       \warning
+       - There is \e no boundary checking performed for the Y,Z and C-coordinates, so they must be inside image bounds.
+     **/
+    T& atX(const int x, const int y=0, const int z=0, const int c=0) {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "atX(): Empty instance.",
+                                    cimg_instance);
+      return _atX(x,y,z,c);
+    }
+
+    T& _atX(const int x, const int y=0, const int z=0, const int c=0) {
+      return (*this)(x<0?0:(x>=width()?width() - 1:x),y,z,c);
+    }
+
+    //! Access to a pixel value, using Neumann boundary conditions for the X-coordinate \const.
+    const T& atX(const int x, const int y=0, const int z=0, const int c=0) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "atX(): Empty instance.",
+                                    cimg_instance);
+      return _atX(x,y,z,c);
+    }
+
+    const T& _atX(const int x, const int y=0, const int z=0, const int c=0) const {
+      return (*this)(x<0?0:(x>=width()?width() - 1:x),y,z,c);
+    }
+
+    //! Access to a pixel value, using Dirichlet boundary conditions for the X and Y-coordinates.
+    /**
+       Similar to atX(int,int,int,int,const T), except that boundary checking is performed both on X and Y-coordinates.
+    **/
+    T& atXY(const int x, const int y, const int z, const int c, const T& out_value) {
+      return (x<0 || y<0 || x>=width() || y>=height())?(cimg::temporary(out_value)=out_value):(*this)(x,y,z,c);
+    }
+
+    //! Access to a pixel value, using Dirichlet boundary conditions for the X and Y coordinates \const.
+    T atXY(const int x, const int y, const int z, const int c, const T& out_value) const {
+      return (x<0 || y<0 || x>=width() || y>=height())?out_value:(*this)(x,y,z,c);
+    }
+
+    //! Access to a pixel value, using Neumann boundary conditions for the X and Y-coordinates.
+    /**
+       Similar to atX(int,int,int,int), except that boundary checking is performed both on X and Y-coordinates.
+       \note
+       - If you know your image instance is \e not empty, you may rather use the slightly faster method
+         \c _atXY(int,int,int,int).
+     **/
+    T& atXY(const int x, const int y, const int z=0, const int c=0) {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "atXY(): Empty instance.",
+                                    cimg_instance);
+      return _atXY(x,y,z,c);
+    }
+
+    T& _atXY(const int x, const int y, const int z=0, const int c=0) {
+      return (*this)(x<0?0:(x>=width()?width() - 1:x), y<0?0:(y>=height()?height() - 1:y),z,c);
+    }
+
+    //! Access to a pixel value, using Neumann boundary conditions for the X and Y-coordinates \const.
+    const T& atXY(const int x, const int y, const int z=0, const int c=0) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "atXY(): Empty instance.",
+                                    cimg_instance);
+      return _atXY(x,y,z,c);
+    }
+
+    const T& _atXY(const int x, const int y, const int z=0, const int c=0) const {
+      return (*this)(x<0?0:(x>=width()?width() - 1:x), y<0?0:(y>=height()?height() - 1:y),z,c);
+    }
+
+    //! Access to a pixel value, using Dirichlet boundary conditions for the X,Y and Z-coordinates.
+    /**
+       Similar to atX(int,int,int,int,const T), except that boundary checking is performed both on
+       X,Y and Z-coordinates.
+    **/
+    T& atXYZ(const int x, const int y, const int z, const int c, const T& out_value) {
+      return (x<0 || y<0 || z<0 || x>=width() || y>=height() || z>=depth())?
+        (cimg::temporary(out_value)=out_value):(*this)(x,y,z,c);
+    }
+
+    //! Access to a pixel value, using Dirichlet boundary conditions for the X,Y and Z-coordinates \const.
+    T atXYZ(const int x, const int y, const int z, const int c, const T& out_value) const {
+      return (x<0 || y<0 || z<0 || x>=width() || y>=height() || z>=depth())?out_value:(*this)(x,y,z,c);
+    }
+
+    //! Access to a pixel value, using Neumann boundary conditions for the X,Y and Z-coordinates.
+    /**
+       Similar to atX(int,int,int,int), except that boundary checking is performed both on X,Y and Z-coordinates.
+       \note
+       - If you know your image instance is \e not empty, you may rather use the slightly faster method
+         \c _atXYZ(int,int,int,int).
+    **/
+    T& atXYZ(const int x, const int y, const int z, const int c=0) {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "atXYZ(): Empty instance.",
+                                    cimg_instance);
+      return _atXYZ(x,y,z,c);
+    }
+
+    T& _atXYZ(const int x, const int y, const int z, const int c=0) {
+      return (*this)(x<0?0:x>=width()?width() - 1:x,y<0?0:y>=height()?height() - 1:y,
+                     z<0?0:z>=depth()?depth() - 1:z,c);
+    }
+
+    //! Access to a pixel value, using Neumann boundary conditions for the X,Y and Z-coordinates \const.
+    const T& atXYZ(const int x, const int y, const int z, const int c=0) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "atXYZ(): Empty instance.",
+                                    cimg_instance);
+      return _atXYZ(x,y,z,c);
+    }
+
+    const T& _atXYZ(const int x, const int y, const int z, const int c=0) const {
+      return (*this)(x<0?0:(x>=width()?width() - 1:x),y<0?0:(y>=height()?height() - 1:y),
+                     z<0?0:(z>=depth()?depth() - 1:z),c);
+    }
+
+    //! Access to a pixel value, using Dirichlet boundary conditions.
+    /**
+       Similar to atX(int,int,int,int,const T), except that boundary checking is performed on all
+       X,Y,Z and C-coordinates.
+    **/
+    T& atXYZC(const int x, const int y, const int z, const int c, const T& out_value) {
+      return (x<0 || y<0 || z<0 || c<0 || x>=width() || y>=height() || z>=depth() || c>=spectrum())?
+        (cimg::temporary(out_value)=out_value):(*this)(x,y,z,c);
+    }
+
+    //! Access to a pixel value, using Dirichlet boundary conditions \const.
+    T atXYZC(const int x, const int y, const int z, const int c, const T& out_value) const {
+      return (x<0 || y<0 || z<0 || c<0 || x>=width() || y>=height() || z>=depth() || c>=spectrum())?out_value:
+        (*this)(x,y,z,c);
+    }
+
+    //! Access to a pixel value, using Neumann boundary conditions.
+    /**
+       Similar to atX(int,int,int,int), except that boundary checking is performed on all X,Y,Z and C-coordinates.
+       \note
+       - If you know your image instance is \e not empty, you may rather use the slightly faster method
+         \c _atXYZC(int,int,int,int).
+    **/
+    T& atXYZC(const int x, const int y, const int z, const int c) {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "atXYZC(): Empty instance.",
+                                    cimg_instance);
+      return _atXYZC(x,y,z,c);
+    }
+
+    T& _atXYZC(const int x, const int y, const int z, const int c) {
+      return (*this)(x<0?0:(x>=width()?width() - 1:x), y<0?0:(y>=height()?height() - 1:y),
+                     z<0?0:(z>=depth()?depth() - 1:z), c<0?0:(c>=spectrum()?spectrum() - 1:c));
+    }
+
+    //! Access to a pixel value, using Neumann boundary conditions \const.
+    const T& atXYZC(const int x, const int y, const int z, const int c) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "atXYZC(): Empty instance.",
+                                    cimg_instance);
+      return _atXYZC(x,y,z,c);
+    }
+
+    const T& _atXYZC(const int x, const int y, const int z, const int c) const {
+      return (*this)(x<0?0:(x>=width()?width() - 1:x), y<0?0:(y>=height()?height() - 1:y),
+                     z<0?0:(z>=depth()?depth() - 1:z), c<0?0:(c>=spectrum()?spectrum() - 1:c));
+    }
+
+    //! Return pixel value, using linear interpolation and Dirichlet boundary conditions for the X-coordinate.
+    /**
+       Return a linearly-interpolated pixel value of the image instance located at (\c fx,\c y,\c z,\c c),
+       or a specified default value in case of out-of-bounds access along the X-axis.
+       \param fx X-coordinate of the pixel value (float-valued).
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \param out_value Default value returned if \c (\c fx,\c y,\c z,\c c) is outside image bounds.
+       \note
+       - Similar to atX(int,int,int,int,const T), except that the returned pixel value is approximated by
+         a linear interpolation along the X-axis, if corresponding coordinates are not integers.
+       - The type of the returned pixel value is extended to \c float, if the pixel type \c T is not float-valued.
+       \warning
+       - There is \e no boundary checking performed for the Y,Z and C-coordinates, so they must be inside image bounds.
+    **/
+    Tfloat linear_atX(const float fx, const int y, const int z, const int c, const T& out_value) const {
+      const int
+	x = (int)fx - (fx>=0?0:1), nx = x + 1;
+      const float
+        dx = fx - x;
+      const Tfloat
+        Ic = (Tfloat)atX(x,y,z,c,out_value), In = (Tfloat)atXY(nx,y,z,c,out_value);
+      return Ic + dx*(In - Ic);
+    }
+
+    //! Return pixel value, using linear interpolation and Neumann boundary conditions for the X-coordinate.
+    /**
+       Return a linearly-interpolated pixel value of the image instance located at (\c fx,\c y,\c z,\c c),
+       or the value of the nearest pixel location in the image instance in case of out-of-bounds access along
+       the X-axis.
+       \param fx X-coordinate of the pixel value (float-valued).
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \note
+       - Similar to linear_atX(float,int,int,int,const T) const, except that an out-of-bounds access returns
+         the value of the nearest pixel in the image instance, regarding the specified X-coordinate.
+       - If you know your image instance is \e not empty, you may rather use the slightly faster method
+         \c _linear_atX(float,int,int,int).
+       \warning
+       - There is \e no boundary checking performed for the Y,Z and C-coordinates, so they must be inside image bounds.
+    **/
+    Tfloat linear_atX(const float fx, const int y=0, const int z=0, const int c=0) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "linear_atX(): Empty instance.",
+                                    cimg_instance);
+
+      return _linear_atX(fx,y,z,c);
+    }
+
+    Tfloat _linear_atX(const float fx, const int y=0, const int z=0, const int c=0) const {
+      const float
+        nfx = fx<0?0:(fx>_width - 1?_width - 1:fx);
+      const unsigned int
+        x = (unsigned int)nfx;
+      const float
+        dx = nfx - x;
+      const unsigned int
+        nx = dx>0?x + 1:x;
+      const Tfloat
+        Ic = (Tfloat)(*this)(x,y,z,c), In = (Tfloat)(*this)(nx,y,z,c);
+      return Ic + dx*(In - Ic);
+    }
+
+    //! Return pixel value, using linear interpolation and Dirichlet boundary conditions for the X and Y-coordinates.
+    /**
+       Similar to linear_atX(float,int,int,int,const T) const, except that the linear interpolation and the
+       boundary checking are achieved both for X and Y-coordinates.
+    **/
+    Tfloat linear_atXY(const float fx, const float fy, const int z, const int c, const T& out_value) const {
+      const int
+        x = (int)fx - (fx>=0?0:1), nx = x + 1,
+        y = (int)fy - (fy>=0?0:1), ny = y + 1;
+      const float
+        dx = fx - x,
+        dy = fy - y;
+      const Tfloat
+        Icc = (Tfloat)atXY(x,y,z,c,out_value),  Inc = (Tfloat)atXY(nx,y,z,c,out_value),
+        Icn = (Tfloat)atXY(x,ny,z,c,out_value), Inn = (Tfloat)atXY(nx,ny,z,c,out_value);
+      return Icc + dx*(Inc - Icc + dy*(Icc + Inn - Icn - Inc)) + dy*(Icn - Icc);
+    }
+
+    //! Return pixel value, using linear interpolation and Neumann boundary conditions for the X and Y-coordinates.
+    /**
+       Similar to linear_atX(float,int,int,int) const, except that the linear interpolation and the boundary checking
+       are achieved both for X and Y-coordinates.
+       \note
+       - If you know your image instance is \e not empty, you may rather use the slightly faster method
+         \c _linear_atXY(float,float,int,int).
+    **/
+    Tfloat linear_atXY(const float fx, const float fy, const int z=0, const int c=0) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "linear_atXY(): Empty instance.",
+                                    cimg_instance);
+
+      return _linear_atXY(fx,fy,z,c);
+    }
+
+    Tfloat _linear_atXY(const float fx, const float fy, const int z=0, const int c=0) const {
+      const float
+        nfx = fx<0?0:(fx>_width - 1?_width - 1:fx),
+        nfy = fy<0?0:(fy>_height - 1?_height - 1:fy);
+      const unsigned int
+        x = (unsigned int)nfx,
+        y = (unsigned int)nfy;
+      const float
+        dx = nfx - x,
+        dy = nfy - y;
+      const unsigned int
+        nx = dx>0?x + 1:x,
+        ny = dy>0?y + 1:y;
+      const Tfloat
+        Icc = (Tfloat)(*this)(x,y,z,c),  Inc = (Tfloat)(*this)(nx,y,z,c),
+        Icn = (Tfloat)(*this)(x,ny,z,c), Inn = (Tfloat)(*this)(nx,ny,z,c);
+      return Icc + dx*(Inc - Icc + dy*(Icc + Inn - Icn - Inc)) + dy*(Icn - Icc);
+    }
+
+    //! Return pixel value, using linear interpolation and Dirichlet boundary conditions for the X,Y and Z-coordinates.
+    /**
+       Similar to linear_atX(float,int,int,int,const T) const, except that the linear interpolation and the
+       boundary checking are achieved both for X,Y and Z-coordinates.
+    **/
+    Tfloat linear_atXYZ(const float fx, const float fy, const float fz, const int c, const T& out_value) const {
+      const int
+        x = (int)fx - (fx>=0?0:1), nx = x + 1,
+        y = (int)fy - (fy>=0?0:1), ny = y + 1,
+        z = (int)fz - (fz>=0?0:1), nz = z + 1;
+      const float
+        dx = fx - x,
+        dy = fy - y,
+        dz = fz - z;
+      const Tfloat
+        Iccc = (Tfloat)atXYZ(x,y,z,c,out_value), Incc = (Tfloat)atXYZ(nx,y,z,c,out_value),
+        Icnc = (Tfloat)atXYZ(x,ny,z,c,out_value), Innc = (Tfloat)atXYZ(nx,ny,z,c,out_value),
+        Iccn = (Tfloat)atXYZ(x,y,nz,c,out_value), Incn = (Tfloat)atXYZ(nx,y,nz,c,out_value),
+        Icnn = (Tfloat)atXYZ(x,ny,nz,c,out_value), Innn = (Tfloat)atXYZ(nx,ny,nz,c,out_value);
+      return Iccc +
+        dx*(Incc - Iccc +
+            dy*(Iccc + Innc - Icnc - Incc +
+                dz*(Iccn + Innn + Icnc + Incc - Icnn - Incn - Iccc - Innc)) +
+            dz*(Iccc + Incn - Iccn - Incc)) +
+        dy*(Icnc - Iccc +
+            dz*(Iccc + Icnn - Iccn - Icnc)) +
+        dz*(Iccn - Iccc);
+    }
+
+    //! Return pixel value, using linear interpolation and Neumann boundary conditions for the X,Y and Z-coordinates.
+    /**
+       Similar to linear_atX(float,int,int,int) const, except that the linear interpolation and the boundary checking
+       are achieved both for X,Y and Z-coordinates.
+       \note
+       - If you know your image instance is \e not empty, you may rather use the slightly faster method
+         \c _linear_atXYZ(float,float,float,int).
+    **/
+    Tfloat linear_atXYZ(const float fx, const float fy=0, const float fz=0, const int c=0) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "linear_atXYZ(): Empty instance.",
+                                    cimg_instance);
+
+      return _linear_atXYZ(fx,fy,fz,c);
+    }
+
+    Tfloat _linear_atXYZ(const float fx, const float fy=0, const float fz=0, const int c=0) const {
+      const float
+        nfx = fx<0?0:(fx>_width - 1?_width - 1:fx),
+        nfy = fy<0?0:(fy>_height - 1?_height - 1:fy),
+        nfz = fz<0?0:(fz>_depth - 1?_depth - 1:fz);
+      const unsigned int
+        x = (unsigned int)nfx,
+        y = (unsigned int)nfy,
+        z = (unsigned int)nfz;
+      const float
+        dx = nfx - x,
+        dy = nfy - y,
+        dz = nfz - z;
+      const unsigned int
+        nx = dx>0?x + 1:x,
+        ny = dy>0?y + 1:y,
+        nz = dz>0?z + 1:z;
+      const Tfloat
+        Iccc = (Tfloat)(*this)(x,y,z,c), Incc = (Tfloat)(*this)(nx,y,z,c),
+        Icnc = (Tfloat)(*this)(x,ny,z,c), Innc = (Tfloat)(*this)(nx,ny,z,c),
+        Iccn = (Tfloat)(*this)(x,y,nz,c), Incn = (Tfloat)(*this)(nx,y,nz,c),
+        Icnn = (Tfloat)(*this)(x,ny,nz,c), Innn = (Tfloat)(*this)(nx,ny,nz,c);
+      return Iccc +
+        dx*(Incc - Iccc +
+            dy*(Iccc + Innc - Icnc - Incc +
+                dz*(Iccn + Innn + Icnc + Incc - Icnn - Incn - Iccc - Innc)) +
+            dz*(Iccc + Incn - Iccn - Incc)) +
+        dy*(Icnc - Iccc +
+            dz*(Iccc + Icnn - Iccn - Icnc)) +
+        dz*(Iccn - Iccc);
+    }
+
+    //! Return pixel value, using linear interpolation and Dirichlet boundary conditions for all X,Y,Z,C-coordinates.
+    /**
+       Similar to linear_atX(float,int,int,int,const T) const, except that the linear interpolation and the
+       boundary checking are achieved for all X,Y,Z and C-coordinates.
+    **/
+    Tfloat linear_atXYZC(const float fx, const float fy, const float fz, const float fc, const T& out_value) const {
+      const int
+        x = (int)fx - (fx>=0?0:1), nx = x + 1,
+        y = (int)fy - (fy>=0?0:1), ny = y + 1,
+        z = (int)fz - (fz>=0?0:1), nz = z + 1,
+        c = (int)fc - (fc>=0?0:1), nc = c + 1;
+      const float
+        dx = fx - x,
+        dy = fy - y,
+        dz = fz - z,
+        dc = fc - c;
+      const Tfloat
+        Icccc = (Tfloat)atXYZC(x,y,z,c,out_value), Inccc = (Tfloat)atXYZC(nx,y,z,c,out_value),
+        Icncc = (Tfloat)atXYZC(x,ny,z,c,out_value), Inncc = (Tfloat)atXYZC(nx,ny,z,c,out_value),
+        Iccnc = (Tfloat)atXYZC(x,y,nz,c,out_value), Incnc = (Tfloat)atXYZC(nx,y,nz,c,out_value),
+        Icnnc = (Tfloat)atXYZC(x,ny,nz,c,out_value), Innnc = (Tfloat)atXYZC(nx,ny,nz,c,out_value),
+        Icccn = (Tfloat)atXYZC(x,y,z,nc,out_value), Inccn = (Tfloat)atXYZC(nx,y,z,nc,out_value),
+        Icncn = (Tfloat)atXYZC(x,ny,z,nc,out_value), Inncn = (Tfloat)atXYZC(nx,ny,z,nc,out_value),
+        Iccnn = (Tfloat)atXYZC(x,y,nz,nc,out_value), Incnn = (Tfloat)atXYZC(nx,y,nz,nc,out_value),
+        Icnnn = (Tfloat)atXYZC(x,ny,nz,nc,out_value), Innnn = (Tfloat)atXYZC(nx,ny,nz,nc,out_value);
+      return Icccc +
+        dx*(Inccc - Icccc +
+            dy*(Icccc + Inncc - Icncc - Inccc +
+                dz*(Iccnc + Innnc + Icncc + Inccc - Icnnc - Incnc - Icccc - Inncc +
+                    dc*(Iccnn + Innnn + Icncn + Inccn + Icnnc + Incnc + Icccc + Inncc -
+                        Icnnn - Incnn - Icccn - Inncn - Iccnc - Innnc - Icncc - Inccc)) +
+                dc*(Icccn + Inncn + Icncc + Inccc - Icncn - Inccn - Icccc - Inncc)) +
+            dz*(Icccc + Incnc - Iccnc - Inccc +
+                dc*(Icccn + Incnn + Iccnc + Inccc - Iccnn - Inccn - Icccc - Incnc)) +
+            dc*(Icccc + Inccn - Inccc - Icccn)) +
+        dy*(Icncc - Icccc +
+            dz*(Icccc + Icnnc - Iccnc - Icncc +
+                dc*(Icccn + Icnnn + Iccnc + Icncc - Iccnn - Icncn - Icccc - Icnnc)) +
+            dc*(Icccc + Icncn - Icncc - Icccn)) +
+        dz*(Iccnc - Icccc +
+            dc*(Icccc + Iccnn - Iccnc - Icccn)) +
+        dc*(Icccn  -Icccc);
+    }
+
+    //! Return pixel value, using linear interpolation and Neumann boundary conditions for all X,Y,Z and C-coordinates.
+    /**
+       Similar to linear_atX(float,int,int,int) const, except that the linear interpolation and the boundary checking
+       are achieved for all X,Y,Z and C-coordinates.
+       \note
+       - If you know your image instance is \e not empty, you may rather use the slightly faster method
+         \c _linear_atXYZC(float,float,float,float).
+    **/
+    Tfloat linear_atXYZC(const float fx, const float fy=0, const float fz=0, const float fc=0) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "linear_atXYZC(): Empty instance.",
+                                    cimg_instance);
+
+      return _linear_atXYZC(fx,fy,fz,fc);
+    }
+
+    Tfloat _linear_atXYZC(const float fx, const float fy=0, const float fz=0, const float fc=0) const {
+      const float
+        nfx = fx<0?0:(fx>_width - 1?_width - 1:fx),
+        nfy = fy<0?0:(fy>_height - 1?_height - 1:fy),
+        nfz = fz<0?0:(fz>_depth - 1?_depth - 1:fz),
+        nfc = fc<0?0:(fc>_spectrum - 1?_spectrum - 1:fc);
+      const unsigned int
+        x = (unsigned int)nfx,
+        y = (unsigned int)nfy,
+        z = (unsigned int)nfz,
+        c = (unsigned int)nfc;
+      const float
+        dx = nfx - x,
+        dy = nfy - y,
+        dz = nfz - z,
+        dc = nfc - c;
+      const unsigned int
+        nx = dx>0?x + 1:x,
+        ny = dy>0?y + 1:y,
+        nz = dz>0?z + 1:z,
+        nc = dc>0?c + 1:c;
+      const Tfloat
+        Icccc = (Tfloat)(*this)(x,y,z,c), Inccc = (Tfloat)(*this)(nx,y,z,c),
+        Icncc = (Tfloat)(*this)(x,ny,z,c), Inncc = (Tfloat)(*this)(nx,ny,z,c),
+        Iccnc = (Tfloat)(*this)(x,y,nz,c), Incnc = (Tfloat)(*this)(nx,y,nz,c),
+        Icnnc = (Tfloat)(*this)(x,ny,nz,c), Innnc = (Tfloat)(*this)(nx,ny,nz,c),
+        Icccn = (Tfloat)(*this)(x,y,z,nc), Inccn = (Tfloat)(*this)(nx,y,z,nc),
+        Icncn = (Tfloat)(*this)(x,ny,z,nc), Inncn = (Tfloat)(*this)(nx,ny,z,nc),
+        Iccnn = (Tfloat)(*this)(x,y,nz,nc), Incnn = (Tfloat)(*this)(nx,y,nz,nc),
+        Icnnn = (Tfloat)(*this)(x,ny,nz,nc), Innnn = (Tfloat)(*this)(nx,ny,nz,nc);
+      return Icccc +
+        dx*(Inccc - Icccc +
+            dy*(Icccc + Inncc - Icncc - Inccc +
+                dz*(Iccnc + Innnc + Icncc + Inccc - Icnnc - Incnc - Icccc - Inncc +
+                    dc*(Iccnn + Innnn + Icncn + Inccn + Icnnc + Incnc + Icccc + Inncc -
+                        Icnnn - Incnn - Icccn - Inncn - Iccnc - Innnc - Icncc - Inccc)) +
+                dc*(Icccn + Inncn + Icncc + Inccc - Icncn - Inccn - Icccc - Inncc)) +
+            dz*(Icccc + Incnc - Iccnc - Inccc +
+                dc*(Icccn + Incnn + Iccnc + Inccc - Iccnn - Inccn - Icccc - Incnc)) +
+            dc*(Icccc + Inccn - Inccc - Icccn)) +
+        dy*(Icncc - Icccc +
+            dz*(Icccc + Icnnc - Iccnc - Icncc +
+                dc*(Icccn + Icnnn + Iccnc + Icncc - Iccnn - Icncn - Icccc - Icnnc)) +
+            dc*(Icccc + Icncn - Icncc - Icccn)) +
+        dz*(Iccnc - Icccc +
+            dc*(Icccc + Iccnn - Iccnc - Icccn)) +
+        dc*(Icccn - Icccc);
+    }
+
+    //! Return pixel value, using cubic interpolation and Dirichlet boundary conditions for the X-coordinate.
+    /**
+       Return a cubicly-interpolated pixel value of the image instance located at (\c fx,\c y,\c z,\c c),
+       or a specified default value in case of out-of-bounds access along the X-axis.
+       The cubic interpolation uses Hermite splines.
+       \param fx d X-coordinate of the pixel value (float-valued).
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \param out_value Default value returned if \c (\c fx,\c y,\c z,\c c) is outside image bounds.
+       \note
+       - Similar to linear_atX(float,int,int,int,const T) const, except that the returned pixel value is
+         approximated by a \e cubic interpolation along the X-axis.
+       - The type of the returned pixel value is extended to \c float, if the pixel type \c T is not float-valued.
+       \warning
+       - There is \e no boundary checking performed for the Y,Z and C-coordinates, so they must be inside image bounds.
+    **/
+    Tfloat cubic_atX(const float fx, const int y, const int z, const int c, const T& out_value) const {
+      const int
+        x = (int)fx - (fx>=0?0:1), px = x - 1, nx = x + 1, ax = x + 2;
+      const float
+        dx = fx - x;
+      const Tfloat
+        Ip = (Tfloat)atX(px,y,z,c,out_value), Ic = (Tfloat)atX(x,y,z,c,out_value),
+        In = (Tfloat)atX(nx,y,z,c,out_value), Ia = (Tfloat)atX(ax,y,z,c,out_value);
+      return Ic + 0.5f*(dx*(-Ip + In) + dx*dx*(2*Ip - 5*Ic + 4*In - Ia) + dx*dx*dx*(-Ip + 3*Ic - 3*In + Ia));
+    }
+
+    //! Return damped pixel value, using cubic interpolation and Dirichlet boundary conditions for the X-coordinate.
+    /**
+       Similar to cubic_atX(float,int,int,int,const T) const, except that you can specify the authorized minimum
+       and maximum of the returned value.
+    **/
+    Tfloat cubic_atX(const float fx, const int y, const int z, const int c, const T& out_value,
+                     const Tfloat min_value, const Tfloat max_value) const {
+      const Tfloat val = cubic_atX(fx,y,z,c,out_value);
+      return val<min_value?min_value:val>max_value?max_value:val;
+    }
+
+    //! Return pixel value, using cubic interpolation and Neumann boundary conditions for the X-coordinate.
+    /**
+       Return a cubicly-interpolated pixel value of the image instance located at (\c fx,\c y,\c z,\c c),
+       or the value of the nearest pixel location in the image instance in case of out-of-bounds access
+       along the X-axis. The cubic interpolation uses Hermite splines.
+       \param fx X-coordinate of the pixel value (float-valued).
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \note
+       - Similar to cubic_atX(float,int,int,int,const T) const, except that the returned pixel value is
+         approximated by a cubic interpolation along the X-axis.
+       - If you know your image instance is \e not empty, you may rather use the slightly faster method
+         \c _cubic_atX(float,int,int,int).
+       \warning
+       - There is \e no boundary checking performed for the Y,Z and C-coordinates, so they must be inside image bounds.
+    **/
+    Tfloat cubic_atX(const float fx, const int y=0, const int z=0, const int c=0) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "cubic_atX(): Empty instance.",
+                                    cimg_instance);
+      return _cubic_atX(fx,y,z,c);
+    }
+
+    Tfloat _cubic_atX(const float fx, const int y=0, const int z=0, const int c=0) const {
+      const float
+        nfx = fx<0?0:(fx>_width - 1?_width - 1:fx);
+      const int
+        x = (int)nfx;
+      const float
+        dx = nfx - x;
+      const int
+        px = x - 1<0?0:x - 1, nx = dx>0?x + 1:x, ax = x + 2>=width()?width() - 1:x + 2;
+      const Tfloat
+        Ip = (Tfloat)(*this)(px,y,z,c), Ic = (Tfloat)(*this)(x,y,z,c),
+        In = (Tfloat)(*this)(nx,y,z,c), Ia = (Tfloat)(*this)(ax,y,z,c);
+      return Ic + 0.5f*(dx*(-Ip + In) + dx*dx*(2*Ip - 5*Ic + 4*In - Ia) + dx*dx*dx*(-Ip + 3*Ic - 3*In + Ia));
+    }
+
+    //! Return damped pixel value, using cubic interpolation and Neumann boundary conditions for the X-coordinate.
+    /**
+       Similar to cubic_atX(float,int,int,int) const, except that you can specify the authorized minimum and maximum
+       of the returned value.
+    **/
+    Tfloat cubic_atX(const float fx, const int y, const int z, const int c,
+                     const Tfloat min_value, const Tfloat max_value) const {
+      const Tfloat val = cubic_atX(fx,y,z,c);
+      return val<min_value?min_value:val>max_value?max_value:val;
+    }
+
+    Tfloat _cubic_atX(const float fx, const int y, const int z, const int c,
+                      const Tfloat min_value, const Tfloat max_value) const {
+      const Tfloat val = _cubic_atX(fx,y,z,c);
+      return val<min_value?min_value:val>max_value?max_value:val;
+    }
+
+    //! Return pixel value, using cubic interpolation and Dirichlet boundary conditions for the X and Y-coordinates.
+    /**
+       Similar to cubic_atX(float,int,int,int,const T) const, except that the cubic interpolation and boundary checking
+       are achieved both for X and Y-coordinates.
+    **/
+    Tfloat cubic_atXY(const float fx, const float fy, const int z, const int c, const T& out_value) const {
+      const int
+        x = (int)fx - (fx>=0?0:1), px = x - 1, nx = x + 1, ax = x + 2,
+        y = (int)fy - (fy>=0?0:1), py = y - 1, ny = y + 1, ay = y + 2;
+      const float dx = fx - x, dy = fy - y;
+      const Tfloat
+        Ipp = (Tfloat)atXY(px,py,z,c,out_value), Icp = (Tfloat)atXY(x,py,z,c,out_value),
+        Inp = (Tfloat)atXY(nx,py,z,c,out_value), Iap = (Tfloat)atXY(ax,py,z,c,out_value),
+        Ip = Icp + 0.5f*(dx*(-Ipp + Inp) + dx*dx*(2*Ipp - 5*Icp + 4*Inp - Iap) + dx*dx*dx*(-Ipp + 3*Icp - 3*Inp + Iap)),
+        Ipc = (Tfloat)atXY(px,y,z,c,out_value),  Icc = (Tfloat)atXY(x, y,z,c,out_value),
+        Inc = (Tfloat)atXY(nx,y,z,c,out_value),  Iac = (Tfloat)atXY(ax,y,z,c,out_value),
+        Ic = Icc + 0.5f*(dx*(-Ipc + Inc) + dx*dx*(2*Ipc - 5*Icc + 4*Inc - Iac) + dx*dx*dx*(-Ipc + 3*Icc - 3*Inc + Iac)),
+        Ipn = (Tfloat)atXY(px,ny,z,c,out_value), Icn = (Tfloat)atXY(x,ny,z,c,out_value),
+        Inn = (Tfloat)atXY(nx,ny,z,c,out_value), Ian = (Tfloat)atXY(ax,ny,z,c,out_value),
+        In = Icn + 0.5f*(dx*(-Ipn + Inn) + dx*dx*(2*Ipn - 5*Icn + 4*Inn - Ian) + dx*dx*dx*(-Ipn + 3*Icn - 3*Inn + Ian)),
+        Ipa = (Tfloat)atXY(px,ay,z,c,out_value), Ica = (Tfloat)atXY(x,ay,z,c,out_value),
+        Ina = (Tfloat)atXY(nx,ay,z,c,out_value), Iaa = (Tfloat)atXY(ax,ay,z,c,out_value),
+        Ia = Ica + 0.5f*(dx*(-Ipa + Ina) + dx*dx*(2*Ipa - 5*Ica + 4*Ina - Iaa) + dx*dx*dx*(-Ipa + 3*Ica - 3*Ina + Iaa));
+      return Ic + 0.5f*(dy*(-Ip + In) + dy*dy*(2*Ip - 5*Ic + 4*In - Ia) + dy*dy*dy*(-Ip + 3*Ic - 3*In + Ia));
+    }
+
+    //! Return damped pixel value, using cubic interpolation and Dirichlet boundary conditions for the X,Y-coordinates.
+    /**
+       Similar to cubic_atXY(float,float,int,int,const T) const, except that you can specify the authorized
+       minimum and maximum of the returned value.
+    **/
+    Tfloat cubic_atXY(const float fx, const float fy, const int z, const int c, const T& out_value,
+                      const Tfloat min_value, const Tfloat max_value) const {
+      const Tfloat val = cubic_atXY(fx,fy,z,c,out_value);
+      return val<min_value?min_value:val>max_value?max_value:val;
+    }
+
+    //! Return pixel value, using cubic interpolation and Neumann boundary conditions for the X and Y-coordinates.
+    /**
+       Similar to cubic_atX(float,int,int,int) const, except that the cubic interpolation and boundary checking
+       are achieved for both X and Y-coordinates.
+       \note
+       - If you know your image instance is \e not empty, you may rather use the slightly faster method
+       \c _cubic_atXY(float,float,int,int).
+    **/
+    Tfloat cubic_atXY(const float fx, const float fy, const int z=0, const int c=0) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "cubic_atXY(): Empty instance.",
+                                    cimg_instance);
+      return _cubic_atXY(fx,fy,z,c);
+    }
+
+    Tfloat _cubic_atXY(const float fx, const float fy, const int z=0, const int c=0) const {
+      const float
+        nfx = fx<0?0:(fx>_width - 1?_width - 1:fx),
+        nfy = fy<0?0:(fy>_height - 1?_height - 1:fy);
+      const int x = (int)nfx, y = (int)nfy;
+      const float dx = nfx - x, dy = nfy - y;
+      const int
+        px = x - 1<0?0:x - 1, nx = dx>0?x + 1:x, ax = x + 2>=width()?width() - 1:x + 2,
+        py = y - 1<0?0:y - 1, ny = dy>0?y + 1:y, ay = y + 2>=height()?height() - 1:y + 2;
+      const Tfloat
+        Ipp = (Tfloat)(*this)(px,py,z,c), Icp = (Tfloat)(*this)(x,py,z,c), Inp = (Tfloat)(*this)(nx,py,z,c),
+        Iap = (Tfloat)(*this)(ax,py,z,c),
+        Ip = Icp + 0.5f*(dx*(-Ipp + Inp) + dx*dx*(2*Ipp - 5*Icp + 4*Inp - Iap) + dx*dx*dx*(-Ipp + 3*Icp - 3*Inp + Iap)),
+        Ipc = (Tfloat)(*this)(px,y,z,c),  Icc = (Tfloat)(*this)(x, y,z,c), Inc = (Tfloat)(*this)(nx,y,z,c),
+        Iac = (Tfloat)(*this)(ax,y,z,c),
+        Ic = Icc + 0.5f*(dx*(-Ipc + Inc) + dx*dx*(2*Ipc - 5*Icc + 4*Inc - Iac) + dx*dx*dx*(-Ipc + 3*Icc - 3*Inc + Iac)),
+        Ipn = (Tfloat)(*this)(px,ny,z,c), Icn = (Tfloat)(*this)(x,ny,z,c), Inn = (Tfloat)(*this)(nx,ny,z,c),
+        Ian = (Tfloat)(*this)(ax,ny,z,c),
+        In = Icn + 0.5f*(dx*(-Ipn + Inn) + dx*dx*(2*Ipn - 5*Icn + 4*Inn - Ian) + dx*dx*dx*(-Ipn + 3*Icn - 3*Inn + Ian)),
+        Ipa = (Tfloat)(*this)(px,ay,z,c), Ica = (Tfloat)(*this)(x,ay,z,c), Ina = (Tfloat)(*this)(nx,ay,z,c),
+        Iaa = (Tfloat)(*this)(ax,ay,z,c),
+        Ia = Ica + 0.5f*(dx*(-Ipa + Ina) + dx*dx*(2*Ipa - 5*Ica + 4*Ina - Iaa) + dx*dx*dx*(-Ipa + 3*Ica - 3*Ina + Iaa));
+      return Ic + 0.5f*(dy*(-Ip + In) + dy*dy*(2*Ip - 5*Ic + 4*In - Ia) + dy*dy*dy*(-Ip + 3*Ic - 3*In + Ia));
+    }
+
+    //! Return damped pixel value, using cubic interpolation and Neumann boundary conditions for the X,Y-coordinates.
+    /**
+       Similar to cubic_atXY(float,float,int,int) const, except that you can specify the authorized minimum and
+       maximum of the returned value.
+    **/
+    Tfloat cubic_atXY(const float fx, const float fy, const int z, const int c,
+                      const Tfloat min_value, const Tfloat max_value) const {
+      const Tfloat val = cubic_atXY(fx,fy,z,c);
+      return val<min_value?min_value:val>max_value?max_value:val;
+    }
+
+    Tfloat _cubic_atXY(const float fx, const float fy, const int z, const int c,
+                       const Tfloat min_value, const Tfloat max_value) const {
+      const Tfloat val = _cubic_atXY(fx,fy,z,c);
+      return val<min_value?min_value:val>max_value?max_value:val;
+    }
+
+    //! Return pixel value, using cubic interpolation and Dirichlet boundary conditions for the X,Y and Z-coordinates.
+    /**
+       Similar to cubic_atX(float,int,int,int,const T) const, except that the cubic interpolation and boundary checking
+       are achieved both for X,Y and Z-coordinates.
+    **/
+    Tfloat cubic_atXYZ(const float fx, const float fy, const float fz, const int c, const T& out_value) const {
+      const int
+        x = (int)fx - (fx>=0?0:1), px = x - 1, nx = x + 1, ax = x + 2,
+        y = (int)fy - (fy>=0?0:1), py = y - 1, ny = y + 1, ay = y + 2,
+        z = (int)fz - (fz>=0?0:1), pz = z - 1, nz = z + 1, az = z + 2;
+      const float dx = fx - x, dy = fy - y, dz = fz - z;
+      const Tfloat
+        Ippp = (Tfloat)atXYZ(px,py,pz,c,out_value), Icpp = (Tfloat)atXYZ(x,py,pz,c,out_value),
+        Inpp = (Tfloat)atXYZ(nx,py,pz,c,out_value), Iapp = (Tfloat)atXYZ(ax,py,pz,c,out_value),
+        Ipp = Icpp + 0.5f*(dx*(-Ippp + Inpp) + dx*dx*(2*Ippp - 5*Icpp + 4*Inpp - Iapp) +
+                           dx*dx*dx*(-Ippp + 3*Icpp - 3*Inpp + Iapp)),
+        Ipcp = (Tfloat)atXYZ(px,y,pz,c,out_value),  Iccp = (Tfloat)atXYZ(x, y,pz,c,out_value),
+        Incp = (Tfloat)atXYZ(nx,y,pz,c,out_value),  Iacp = (Tfloat)atXYZ(ax,y,pz,c,out_value),
+        Icp = Iccp + 0.5f*(dx*(-Ipcp + Incp) + dx*dx*(2*Ipcp - 5*Iccp + 4*Incp - Iacp) +
+                           dx*dx*dx*(-Ipcp + 3*Iccp - 3*Incp + Iacp)),
+        Ipnp = (Tfloat)atXYZ(px,ny,pz,c,out_value), Icnp = (Tfloat)atXYZ(x,ny,pz,c,out_value),
+        Innp = (Tfloat)atXYZ(nx,ny,pz,c,out_value), Ianp = (Tfloat)atXYZ(ax,ny,pz,c,out_value),
+        Inp = Icnp + 0.5f*(dx*(-Ipnp + Innp) + dx*dx*(2*Ipnp - 5*Icnp + 4*Innp - Ianp) +
+                           dx*dx*dx*(-Ipnp + 3*Icnp - 3*Innp + Ianp)),
+        Ipap = (Tfloat)atXYZ(px,ay,pz,c,out_value), Icap = (Tfloat)atXYZ(x,ay,pz,c,out_value),
+        Inap = (Tfloat)atXYZ(nx,ay,pz,c,out_value), Iaap = (Tfloat)atXYZ(ax,ay,pz,c,out_value),
+        Iap = Icap + 0.5f*(dx*(-Ipap + Inap) + dx*dx*(2*Ipap - 5*Icap + 4*Inap - Iaap) +
+                           dx*dx*dx*(-Ipap + 3*Icap - 3*Inap + Iaap)),
+        Ip = Icp + 0.5f*(dy*(-Ipp + Inp) + dy*dy*(2*Ipp - 5*Icp + 4*Inp - Iap) +
+                         dy*dy*dy*(-Ipp + 3*Icp - 3*Inp + Iap)),
+        Ippc = (Tfloat)atXYZ(px,py,z,c,out_value), Icpc = (Tfloat)atXYZ(x,py,z,c,out_value),
+        Inpc = (Tfloat)atXYZ(nx,py,z,c,out_value), Iapc = (Tfloat)atXYZ(ax,py,z,c,out_value),
+        Ipc = Icpc + 0.5f*(dx*(-Ippc + Inpc) + dx*dx*(2*Ippc - 5*Icpc + 4*Inpc - Iapc) +
+                           dx*dx*dx*(-Ippc + 3*Icpc - 3*Inpc + Iapc)),
+        Ipcc = (Tfloat)atXYZ(px,y,z,c,out_value),  Iccc = (Tfloat)atXYZ(x, y,z,c,out_value),
+        Incc = (Tfloat)atXYZ(nx,y,z,c,out_value),  Iacc = (Tfloat)atXYZ(ax,y,z,c,out_value),
+        Icc = Iccc + 0.5f*(dx*(-Ipcc + Incc) + dx*dx*(2*Ipcc - 5*Iccc + 4*Incc - Iacc) +
+                           dx*dx*dx*(-Ipcc + 3*Iccc - 3*Incc + Iacc)),
+        Ipnc = (Tfloat)atXYZ(px,ny,z,c,out_value), Icnc = (Tfloat)atXYZ(x,ny,z,c,out_value),
+        Innc = (Tfloat)atXYZ(nx,ny,z,c,out_value), Ianc = (Tfloat)atXYZ(ax,ny,z,c,out_value),
+        Inc = Icnc + 0.5f*(dx*(-Ipnc + Innc) + dx*dx*(2*Ipnc - 5*Icnc + 4*Innc - Ianc) +
+                           dx*dx*dx*(-Ipnc + 3*Icnc - 3*Innc + Ianc)),
+        Ipac = (Tfloat)atXYZ(px,ay,z,c,out_value), Icac = (Tfloat)atXYZ(x,ay,z,c,out_value),
+        Inac = (Tfloat)atXYZ(nx,ay,z,c,out_value), Iaac = (Tfloat)atXYZ(ax,ay,z,c,out_value),
+        Iac = Icac + 0.5f*(dx*(-Ipac + Inac) + dx*dx*(2*Ipac - 5*Icac + 4*Inac - Iaac) +
+                           dx*dx*dx*(-Ipac + 3*Icac - 3*Inac + Iaac)),
+        Ic = Icc + 0.5f*(dy*(-Ipc + Inc) + dy*dy*(2*Ipc - 5*Icc + 4*Inc - Iac) +
+                         dy*dy*dy*(-Ipc + 3*Icc - 3*Inc + Iac)),
+        Ippn = (Tfloat)atXYZ(px,py,nz,c,out_value), Icpn = (Tfloat)atXYZ(x,py,nz,c,out_value),
+        Inpn = (Tfloat)atXYZ(nx,py,nz,c,out_value), Iapn = (Tfloat)atXYZ(ax,py,nz,c,out_value),
+        Ipn = Icpn + 0.5f*(dx*(-Ippn + Inpn) + dx*dx*(2*Ippn - 5*Icpn + 4*Inpn - Iapn) +
+                           dx*dx*dx*(-Ippn + 3*Icpn - 3*Inpn + Iapn)),
+        Ipcn = (Tfloat)atXYZ(px,y,nz,c,out_value),  Iccn = (Tfloat)atXYZ(x, y,nz,c,out_value),
+        Incn = (Tfloat)atXYZ(nx,y,nz,c,out_value),  Iacn = (Tfloat)atXYZ(ax,y,nz,c,out_value),
+        Icn = Iccn + 0.5f*(dx*(-Ipcn + Incn) + dx*dx*(2*Ipcn - 5*Iccn + 4*Incn - Iacn) +
+                           dx*dx*dx*(-Ipcn + 3*Iccn - 3*Incn + Iacn)),
+        Ipnn = (Tfloat)atXYZ(px,ny,nz,c,out_value), Icnn = (Tfloat)atXYZ(x,ny,nz,c,out_value),
+        Innn = (Tfloat)atXYZ(nx,ny,nz,c,out_value), Iann = (Tfloat)atXYZ(ax,ny,nz,c,out_value),
+        Inn = Icnn + 0.5f*(dx*(-Ipnn + Innn) + dx*dx*(2*Ipnn - 5*Icnn + 4*Innn - Iann) +
+                           dx*dx*dx*(-Ipnn + 3*Icnn - 3*Innn + Iann)),
+        Ipan = (Tfloat)atXYZ(px,ay,nz,c,out_value), Ican = (Tfloat)atXYZ(x,ay,nz,c,out_value),
+        Inan = (Tfloat)atXYZ(nx,ay,nz,c,out_value), Iaan = (Tfloat)atXYZ(ax,ay,nz,c,out_value),
+        Ian = Ican + 0.5f*(dx*(-Ipan + Inan) + dx*dx*(2*Ipan - 5*Ican + 4*Inan - Iaan) +
+                           dx*dx*dx*(-Ipan + 3*Ican - 3*Inan + Iaan)),
+        In = Icn + 0.5f*(dy*(-Ipn + Inn) + dy*dy*(2*Ipn - 5*Icn + 4*Inn - Ian) +
+                         dy*dy*dy*(-Ipn + 3*Icn - 3*Inn + Ian)),
+        Ippa = (Tfloat)atXYZ(px,py,az,c,out_value), Icpa = (Tfloat)atXYZ(x,py,az,c,out_value),
+        Inpa = (Tfloat)atXYZ(nx,py,az,c,out_value), Iapa = (Tfloat)atXYZ(ax,py,az,c,out_value),
+        Ipa = Icpa + 0.5f*(dx*(-Ippa + Inpa) + dx*dx*(2*Ippa - 5*Icpa + 4*Inpa - Iapa) +
+                           dx*dx*dx*(-Ippa + 3*Icpa - 3*Inpa + Iapa)),
+        Ipca = (Tfloat)atXYZ(px,y,az,c,out_value),  Icca = (Tfloat)atXYZ(x, y,az,c,out_value),
+        Inca = (Tfloat)atXYZ(nx,y,az,c,out_value),  Iaca = (Tfloat)atXYZ(ax,y,az,c,out_value),
+        Ica = Icca + 0.5f*(dx*(-Ipca + Inca) + dx*dx*(2*Ipca - 5*Icca + 4*Inca - Iaca) +
+                           dx*dx*dx*(-Ipca + 3*Icca - 3*Inca + Iaca)),
+        Ipna = (Tfloat)atXYZ(px,ny,az,c,out_value), Icna = (Tfloat)atXYZ(x,ny,az,c,out_value),
+        Inna = (Tfloat)atXYZ(nx,ny,az,c,out_value), Iana = (Tfloat)atXYZ(ax,ny,az,c,out_value),
+        Ina = Icna + 0.5f*(dx*(-Ipna + Inna) + dx*dx*(2*Ipna - 5*Icna + 4*Inna - Iana) +
+                           dx*dx*dx*(-Ipna + 3*Icna - 3*Inna + Iana)),
+        Ipaa = (Tfloat)atXYZ(px,ay,az,c,out_value), Icaa = (Tfloat)atXYZ(x,ay,az,c,out_value),
+        Inaa = (Tfloat)atXYZ(nx,ay,az,c,out_value), Iaaa = (Tfloat)atXYZ(ax,ay,az,c,out_value),
+        Iaa = Icaa + 0.5f*(dx*(-Ipaa + Inaa) + dx*dx*(2*Ipaa - 5*Icaa + 4*Inaa - Iaaa) +
+                           dx*dx*dx*(-Ipaa + 3*Icaa - 3*Inaa + Iaaa)),
+        Ia = Ica + 0.5f*(dy*(-Ipa + Ina) + dy*dy*(2*Ipa - 5*Ica + 4*Ina - Iaa) +
+                         dy*dy*dy*(-Ipa + 3*Ica - 3*Ina + Iaa));
+      return Ic + 0.5f*(dz*(-Ip + In) + dz*dz*(2*Ip - 5*Ic + 4*In - Ia) + dz*dz*dz*(-Ip + 3*Ic - 3*In + Ia));
+    }
+
+    //! Return damped pixel value, using cubic interpolation and Dirichlet boundary conditions for the XYZ-coordinates.
+    /**
+       Similar to cubic_atXYZ(float,float,float,int,const T) const, except that you can specify the authorized
+       minimum and maximum of the returned value.
+    **/
+    Tfloat cubic_atXYZ(const float fx, const float fy, const float fz, const int c, const T& out_value,
+                       const Tfloat min_value, const Tfloat max_value) const {
+      const Tfloat val = cubic_atXYZ(fx,fy,fz,c,out_value);
+      return val<min_value?min_value:val>max_value?max_value:val;
+    }
+
+    //! Return pixel value, using cubic interpolation and Neumann boundary conditions for the X,Y and Z-coordinates.
+    /**
+       Similar to cubic_atX(float,int,int,int) const, except that the cubic interpolation and boundary checking
+       are achieved both for X,Y and Z-coordinates.
+       \note
+       - If you know your image instance is \e not empty, you may rather use the slightly faster method
+         \c _cubic_atXYZ(float,float,float,int).
+    **/
+    Tfloat cubic_atXYZ(const float fx, const float fy, const float fz, const int c=0) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "cubic_atXYZ(): Empty instance.",
+                                    cimg_instance);
+      return _cubic_atXYZ(fx,fy,fz,c);
+    }
+
+    Tfloat _cubic_atXYZ(const float fx, const float fy, const float fz, const int c=0) const {
+      const float
+        nfx = fx<0?0:(fx>_width - 1?_width - 1:fx),
+        nfy = fy<0?0:(fy>_height - 1?_height - 1:fy),
+        nfz = fz<0?0:(fz>_depth - 1?_depth - 1:fz);
+      const int x = (int)nfx, y = (int)nfy, z = (int)nfz;
+      const float dx = nfx - x, dy = nfy - y, dz = nfz - z;
+      const int
+        px = x - 1<0?0:x - 1, nx = dx>0?x + 1:x, ax = x + 2>=width()?width() - 1:x + 2,
+        py = y - 1<0?0:y - 1, ny = dy>0?y + 1:y, ay = y + 2>=height()?height() - 1:y + 2,
+        pz = z - 1<0?0:z - 1, nz = dz>0?z + 1:z, az = z + 2>=depth()?depth() - 1:z + 2;
+      const Tfloat
+        Ippp = (Tfloat)(*this)(px,py,pz,c), Icpp = (Tfloat)(*this)(x,py,pz,c),
+        Inpp = (Tfloat)(*this)(nx,py,pz,c), Iapp = (Tfloat)(*this)(ax,py,pz,c),
+        Ipp = Icpp + 0.5f*(dx*(-Ippp + Inpp) + dx*dx*(2*Ippp - 5*Icpp + 4*Inpp - Iapp) +
+                           dx*dx*dx*(-Ippp + 3*Icpp - 3*Inpp + Iapp)),
+        Ipcp = (Tfloat)(*this)(px,y,pz,c),  Iccp = (Tfloat)(*this)(x, y,pz,c),
+        Incp = (Tfloat)(*this)(nx,y,pz,c),  Iacp = (Tfloat)(*this)(ax,y,pz,c),
+        Icp = Iccp + 0.5f*(dx*(-Ipcp + Incp) + dx*dx*(2*Ipcp - 5*Iccp + 4*Incp - Iacp) +
+                           dx*dx*dx*(-Ipcp + 3*Iccp - 3*Incp + Iacp)),
+        Ipnp = (Tfloat)(*this)(px,ny,pz,c), Icnp = (Tfloat)(*this)(x,ny,pz,c),
+        Innp = (Tfloat)(*this)(nx,ny,pz,c), Ianp = (Tfloat)(*this)(ax,ny,pz,c),
+        Inp = Icnp + 0.5f*(dx*(-Ipnp + Innp) + dx*dx*(2*Ipnp - 5*Icnp + 4*Innp - Ianp) +
+                           dx*dx*dx*(-Ipnp + 3*Icnp - 3*Innp + Ianp)),
+        Ipap = (Tfloat)(*this)(px,ay,pz,c), Icap = (Tfloat)(*this)(x,ay,pz,c),
+        Inap = (Tfloat)(*this)(nx,ay,pz,c), Iaap = (Tfloat)(*this)(ax,ay,pz,c),
+        Iap = Icap + 0.5f*(dx*(-Ipap + Inap) + dx*dx*(2*Ipap - 5*Icap + 4*Inap - Iaap) +
+                           dx*dx*dx*(-Ipap + 3*Icap - 3*Inap + Iaap)),
+        Ip = Icp + 0.5f*(dy*(-Ipp + Inp) + dy*dy*(2*Ipp - 5*Icp + 4*Inp - Iap) +
+                         dy*dy*dy*(-Ipp + 3*Icp - 3*Inp + Iap)),
+        Ippc = (Tfloat)(*this)(px,py,z,c), Icpc = (Tfloat)(*this)(x,py,z,c),
+        Inpc = (Tfloat)(*this)(nx,py,z,c), Iapc = (Tfloat)(*this)(ax,py,z,c),
+        Ipc = Icpc + 0.5f*(dx*(-Ippc + Inpc) + dx*dx*(2*Ippc - 5*Icpc + 4*Inpc - Iapc) +
+                           dx*dx*dx*(-Ippc + 3*Icpc - 3*Inpc + Iapc)),
+        Ipcc = (Tfloat)(*this)(px,y,z,c),  Iccc = (Tfloat)(*this)(x, y,z,c),
+        Incc = (Tfloat)(*this)(nx,y,z,c),  Iacc = (Tfloat)(*this)(ax,y,z,c),
+        Icc = Iccc + 0.5f*(dx*(-Ipcc + Incc) + dx*dx*(2*Ipcc - 5*Iccc + 4*Incc - Iacc) +
+                           dx*dx*dx*(-Ipcc + 3*Iccc - 3*Incc + Iacc)),
+        Ipnc = (Tfloat)(*this)(px,ny,z,c), Icnc = (Tfloat)(*this)(x,ny,z,c),
+        Innc = (Tfloat)(*this)(nx,ny,z,c), Ianc = (Tfloat)(*this)(ax,ny,z,c),
+        Inc = Icnc + 0.5f*(dx*(-Ipnc + Innc) + dx*dx*(2*Ipnc - 5*Icnc + 4*Innc - Ianc) +
+                           dx*dx*dx*(-Ipnc + 3*Icnc - 3*Innc + Ianc)),
+        Ipac = (Tfloat)(*this)(px,ay,z,c), Icac = (Tfloat)(*this)(x,ay,z,c),
+        Inac = (Tfloat)(*this)(nx,ay,z,c), Iaac = (Tfloat)(*this)(ax,ay,z,c),
+        Iac = Icac + 0.5f*(dx*(-Ipac + Inac) + dx*dx*(2*Ipac - 5*Icac + 4*Inac - Iaac) +
+                           dx*dx*dx*(-Ipac + 3*Icac - 3*Inac + Iaac)),
+        Ic = Icc + 0.5f*(dy*(-Ipc + Inc) + dy*dy*(2*Ipc - 5*Icc + 4*Inc - Iac) +
+                         dy*dy*dy*(-Ipc + 3*Icc - 3*Inc + Iac)),
+        Ippn = (Tfloat)(*this)(px,py,nz,c), Icpn = (Tfloat)(*this)(x,py,nz,c),
+        Inpn = (Tfloat)(*this)(nx,py,nz,c), Iapn = (Tfloat)(*this)(ax,py,nz,c),
+        Ipn = Icpn + 0.5f*(dx*(-Ippn + Inpn) + dx*dx*(2*Ippn - 5*Icpn + 4*Inpn - Iapn) +
+                           dx*dx*dx*(-Ippn + 3*Icpn - 3*Inpn + Iapn)),
+        Ipcn = (Tfloat)(*this)(px,y,nz,c),  Iccn = (Tfloat)(*this)(x, y,nz,c),
+        Incn = (Tfloat)(*this)(nx,y,nz,c),  Iacn = (Tfloat)(*this)(ax,y,nz,c),
+        Icn = Iccn + 0.5f*(dx*(-Ipcn + Incn) + dx*dx*(2*Ipcn - 5*Iccn + 4*Incn - Iacn) +
+                           dx*dx*dx*(-Ipcn + 3*Iccn - 3*Incn + Iacn)),
+        Ipnn = (Tfloat)(*this)(px,ny,nz,c), Icnn = (Tfloat)(*this)(x,ny,nz,c),
+        Innn = (Tfloat)(*this)(nx,ny,nz,c), Iann = (Tfloat)(*this)(ax,ny,nz,c),
+        Inn = Icnn + 0.5f*(dx*(-Ipnn + Innn) + dx*dx*(2*Ipnn - 5*Icnn + 4*Innn - Iann) +
+                           dx*dx*dx*(-Ipnn + 3*Icnn - 3*Innn + Iann)),
+        Ipan = (Tfloat)(*this)(px,ay,nz,c), Ican = (Tfloat)(*this)(x,ay,nz,c),
+        Inan = (Tfloat)(*this)(nx,ay,nz,c), Iaan = (Tfloat)(*this)(ax,ay,nz,c),
+        Ian = Ican + 0.5f*(dx*(-Ipan + Inan) + dx*dx*(2*Ipan - 5*Ican + 4*Inan - Iaan) +
+                           dx*dx*dx*(-Ipan + 3*Ican - 3*Inan + Iaan)),
+        In = Icn + 0.5f*(dy*(-Ipn + Inn) + dy*dy*(2*Ipn - 5*Icn + 4*Inn - Ian) +
+                         dy*dy*dy*(-Ipn + 3*Icn - 3*Inn + Ian)),
+        Ippa = (Tfloat)(*this)(px,py,az,c), Icpa = (Tfloat)(*this)(x,py,az,c),
+        Inpa = (Tfloat)(*this)(nx,py,az,c), Iapa = (Tfloat)(*this)(ax,py,az,c),
+        Ipa = Icpa + 0.5f*(dx*(-Ippa + Inpa) + dx*dx*(2*Ippa - 5*Icpa + 4*Inpa - Iapa) +
+                           dx*dx*dx*(-Ippa + 3*Icpa - 3*Inpa + Iapa)),
+        Ipca = (Tfloat)(*this)(px,y,az,c),  Icca = (Tfloat)(*this)(x, y,az,c),
+        Inca = (Tfloat)(*this)(nx,y,az,c),  Iaca = (Tfloat)(*this)(ax,y,az,c),
+        Ica = Icca + 0.5f*(dx*(-Ipca + Inca) + dx*dx*(2*Ipca - 5*Icca + 4*Inca - Iaca) +
+                           dx*dx*dx*(-Ipca + 3*Icca - 3*Inca + Iaca)),
+        Ipna = (Tfloat)(*this)(px,ny,az,c), Icna = (Tfloat)(*this)(x,ny,az,c),
+        Inna = (Tfloat)(*this)(nx,ny,az,c), Iana = (Tfloat)(*this)(ax,ny,az,c),
+        Ina = Icna + 0.5f*(dx*(-Ipna + Inna) + dx*dx*(2*Ipna - 5*Icna + 4*Inna - Iana) +
+                           dx*dx*dx*(-Ipna + 3*Icna - 3*Inna + Iana)),
+        Ipaa = (Tfloat)(*this)(px,ay,az,c), Icaa = (Tfloat)(*this)(x,ay,az,c),
+        Inaa = (Tfloat)(*this)(nx,ay,az,c), Iaaa = (Tfloat)(*this)(ax,ay,az,c),
+        Iaa = Icaa + 0.5f*(dx*(-Ipaa + Inaa) + dx*dx*(2*Ipaa - 5*Icaa + 4*Inaa - Iaaa) +
+                           dx*dx*dx*(-Ipaa + 3*Icaa - 3*Inaa + Iaaa)),
+        Ia = Ica + 0.5f*(dy*(-Ipa + Ina) + dy*dy*(2*Ipa - 5*Ica + 4*Ina - Iaa) +
+                         dy*dy*dy*(-Ipa + 3*Ica - 3*Ina + Iaa));
+      return Ic + 0.5f*(dz*(-Ip + In) + dz*dz*(2*Ip - 5*Ic + 4*In - Ia) + dz*dz*dz*(-Ip + 3*Ic - 3*In + Ia));
+    }
+
+    //! Return damped pixel value, using cubic interpolation and Neumann boundary conditions for the XYZ-coordinates.
+    /**
+       Similar to cubic_atXYZ(float,float,float,int) const, except that you can specify the authorized minimum and
+       maximum of the returned value.
+    **/
+    Tfloat cubic_atXYZ(const float fx, const float fy, const float fz, const int c,
+                       const Tfloat min_value, const Tfloat max_value) const {
+      const Tfloat val = cubic_atXYZ(fx,fy,fz,c);
+      return val<min_value?min_value:val>max_value?max_value:val;
+    }
+
+    Tfloat _cubic_atXYZ(const float fx, const float fy, const float fz, const int c,
+                        const Tfloat min_value, const Tfloat max_value) const {
+      const Tfloat val = _cubic_atXYZ(fx,fy,fz,c);
+      return val<min_value?min_value:val>max_value?max_value:val;
+    }
+
+    //! Set pixel value, using linear interpolation for the X-coordinates.
+    /**
+       Set pixel value at specified coordinates (\c fx,\c y,\c z,\c c) in the image instance, in a way that
+       the value is spread amongst several neighbors if the pixel coordinates are float-valued.
+       \param value Pixel value to set.
+       \param fx X-coordinate of the pixel value (float-valued).
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \param is_added Tells if the pixel value is added to (\c true), or simply replace (\c false) the current image
+         pixel(s).
+       \return A reference to the current image instance.
+       \note
+       - Calling this method with out-of-bounds coordinates does nothing.
+    **/
+    CImg<T>& set_linear_atX(const T& value, const float fx, const int y=0, const int z=0, const int c=0,
+                            const bool is_added=false) {
+      const int
+        x = (int)fx - (fx>=0?0:1), nx = x + 1;
+      const float
+        dx = fx - x;
+      if (y>=0 && y<height() && z>=0 && z<depth() && c>=0 && c<spectrum()) {
+        if (x>=0 && x<width()) {
+          const float w1 = 1 - dx, w2 = is_added?1:(1 - w1);
+          (*this)(x,y,z,c) = (T)(w1*value + w2*(*this)(x,y,z,c));
+        }
+        if (nx>=0 && nx<width()) {
+          const float w1 = dx, w2 = is_added?1:(1 - w1);
+          (*this)(nx,y,z,c) = (T)(w1*value + w2*(*this)(nx,y,z,c));
+        }
+      }
+      return *this;
+    }
+
+    //! Set pixel value, using linear interpolation for the X and Y-coordinates.
+    /**
+       Similar to set_linear_atX(const T&,float,int,int,int,bool), except that the linear interpolation
+       is achieved both for X and Y-coordinates.
+    **/
+    CImg<T>& set_linear_atXY(const T& value, const float fx, const float fy=0, const int z=0, const int c=0,
+                             const bool is_added=false) {
+      const int
+        x = (int)fx - (fx>=0?0:1), nx = x + 1,
+        y = (int)fy - (fy>=0?0:1), ny = y + 1;
+      const float
+        dx = fx - x,
+        dy = fy - y;
+      if (z>=0 && z<depth() && c>=0 && c<spectrum()) {
+        if (y>=0 && y<height()) {
+          if (x>=0 && x<width()) {
+            const float w1 = (1 - dx)*(1 - dy), w2 = is_added?1:(1 - w1);
+            (*this)(x,y,z,c) = (T)(w1*value + w2*(*this)(x,y,z,c));
+          }
+          if (nx>=0 && nx<width()) {
+            const float w1 = dx*(1 - dy), w2 = is_added?1:(1 - w1);
+            (*this)(nx,y,z,c) = (T)(w1*value + w2*(*this)(nx,y,z,c));
+          }
+        }
+        if (ny>=0 && ny<height()) {
+          if (x>=0 && x<width()) {
+            const float w1 = (1 - dx)*dy, w2 = is_added?1:(1 - w1);
+            (*this)(x,ny,z,c) = (T)(w1*value + w2*(*this)(x,ny,z,c));
+          }
+          if (nx>=0 && nx<width()) {
+            const float w1 = dx*dy, w2 = is_added?1:(1 - w1);
+            (*this)(nx,ny,z,c) = (T)(w1*value + w2*(*this)(nx,ny,z,c));
+          }
+        }
+      }
+      return *this;
+    }
+
+    //! Set pixel value, using linear interpolation for the X,Y and Z-coordinates.
+    /**
+       Similar to set_linear_atXY(const T&,float,float,int,int,bool), except that the linear interpolation
+       is achieved both for X,Y and Z-coordinates.
+    **/
+    CImg<T>& set_linear_atXYZ(const T& value, const float fx, const float fy=0, const float fz=0, const int c=0,
+                              const bool is_added=false) {
+      const int
+        x = (int)fx - (fx>=0?0:1), nx = x + 1,
+        y = (int)fy - (fy>=0?0:1), ny = y + 1,
+        z = (int)fz - (fz>=0?0:1), nz = z + 1;
+      const float
+        dx = fx - x,
+        dy = fy - y,
+        dz = fz - z;
+      if (c>=0 && c<spectrum()) {
+        if (z>=0 && z<depth()) {
+          if (y>=0 && y<height()) {
+            if (x>=0 && x<width()) {
+              const float w1 = (1 - dx)*(1 - dy)*(1 - dz), w2 = is_added?1:(1 - w1);
+              (*this)(x,y,z,c) = (T)(w1*value + w2*(*this)(x,y,z,c));
+            }
+            if (nx>=0 && nx<width()) {
+              const float w1 = dx*(1 - dy)*(1 - dz), w2 = is_added?1:(1 - w1);
+              (*this)(nx,y,z,c) = (T)(w1*value + w2*(*this)(nx,y,z,c));
+            }
+          }
+          if (ny>=0 && ny<height()) {
+            if (x>=0 && x<width()) {
+              const float w1 = (1 - dx)*dy*(1 - dz), w2 = is_added?1:(1 - w1);
+              (*this)(x,ny,z,c) = (T)(w1*value + w2*(*this)(x,ny,z,c));
+            }
+            if (nx>=0 && nx<width()) {
+              const float w1 = dx*dy*(1 - dz), w2 = is_added?1:(1 - w1);
+              (*this)(nx,ny,z,c) = (T)(w1*value + w2*(*this)(nx,ny,z,c));
+            }
+          }
+        }
+        if (nz>=0 && nz<depth()) {
+          if (y>=0 && y<height()) {
+            if (x>=0 && x<width()) {
+              const float w1 = (1 - dx)*(1 - dy)*dz, w2 = is_added?1:(1 - w1);
+              (*this)(x,y,nz,c) = (T)(w1*value + w2*(*this)(x,y,nz,c));
+            }
+            if (nx>=0 && nx<width()) {
+              const float w1 = dx*(1 - dy)*dz, w2 = is_added?1:(1 - w1);
+              (*this)(nx,y,nz,c) = (T)(w1*value + w2*(*this)(nx,y,nz,c));
+            }
+          }
+          if (ny>=0 && ny<height()) {
+            if (x>=0 && x<width()) {
+              const float w1 = (1 - dx)*dy*dz, w2 = is_added?1:(1 - w1);
+              (*this)(x,ny,nz,c) = (T)(w1*value + w2*(*this)(x,ny,nz,c));
+            }
+            if (nx>=0 && nx<width()) {
+              const float w1 = dx*dy*dz, w2 = is_added?1:(1 - w1);
+              (*this)(nx,ny,nz,c) = (T)(w1*value + w2*(*this)(nx,ny,nz,c));
+            }
+          }
+        }
+      }
+      return *this;
+    }
+
+    //! Return a C-string containing a list of all values of the image instance.
+    /**
+       Return a new \c CImg<char> image whose buffer data() is a \c char* string describing the list of all pixel values
+       of the image instance (written in base 10), separated by specified \c separator character.
+       \param separator A \c char character which specifies the separator between values in the returned C-string.
+       \param max_size Maximum size of the returned image.
+       \note
+       - The returned image is never empty.
+       - For an empty image instance, the returned string is <tt>""</tt>.
+       - If \c max_size is equal to \c 0, there are no limits on the size of the returned string.
+       - Otherwise, if the maximum number of string characters is exceeded, the value string is cut off
+         and terminated by character \c '\0'. In that case, the returned image size is <tt>max_size + 1</tt>.
+    **/
+    CImg<charT> value_string(const char separator=',', const unsigned int max_size=0) const {
+      if (is_empty()) return CImg<charT>::string("");
+      CImgList<charT> items;
+      CImg<charT> s_item(256); *s_item = 0;
+      const T *ptrs = _data;
+      unsigned int string_size = 0;
+      for (unsigned long off = 0, siz = (unsigned int)size(); off<siz && string_size<=max_size; ++off) {
+        const unsigned int printed_size = 1U + cimg_snprintf(s_item,s_item._width,
+                                                             cimg::type<T>::format(),cimg::type<T>::format(*(ptrs++)));
+        CImg<charT> item(s_item._data,printed_size);
+        item[printed_size - 1] = separator;
+        item.move_to(items);
+        if (max_size) string_size+=printed_size;
+      }
+      CImg<charT> res;
+      (items>'x').move_to(res);
+      if (max_size && res._width>max_size) res.crop(0,max_size);
+      res.back() = 0;
+      return res;
+    }
+
+    //@}
+    //-------------------------------------
+    //
+    //! \name Instance Checking
+    //@{
+    //-------------------------------------
+
+    //! Test shared state of the pixel buffer.
+    /**
+       Return \c true if image instance has a shared memory buffer, and \c false otherwise.
+       \note
+       - A shared image do not own his pixel buffer data() and will not deallocate it on destruction.
+       - Most of the time, a \c CImg<T> image instance will \e not be shared.
+       - A shared image can only be obtained by a limited set of constructors and methods (see list below).
+    **/
+    bool is_shared() const {
+      return _is_shared;
+    }
+
+    //! Test if image instance is empty.
+    /**
+       Return \c true, if image instance is empty, i.e. does \e not contain any pixel values, has dimensions
+       \c 0 x \c 0 x \c 0 x \c 0 and a pixel buffer pointer set to \c 0 (null pointer), and \c false otherwise.
+    **/
+    bool is_empty() const {
+      return !(_data && _width && _height && _depth && _spectrum);
+    }
+
+    //! Test if image instance contains a 'inf' value.
+    /**
+       Return \c true, if image instance contains a 'inf' value, and \c false otherwise.
+    **/
+    bool is_inf() const {
+      if (cimg::type<T>::is_float()) cimg_for(*this,p,T) if (cimg::type<T>::is_inf((float)*p)) return true;
+      return false;
+    }
+
+    //! Test if image instance contains a 'nan' value.
+    /**
+       Return \c true, if image instance contains a 'nan' value, and \c false otherwise.
+    **/
+    bool is_nan() const {
+      if (cimg::type<T>::is_float()) cimg_for(*this,p,T) if (cimg::type<T>::is_nan((float)*p)) return true;
+      return false;
+    }
+
+    //! Test if image width is equal to specified value.
+    bool is_sameX(const unsigned int size_x) const {
+      return _width==size_x;
+    }
+
+    //! Test if image width is equal to specified value.
+    template<typename t>
+    bool is_sameX(const CImg<t>& img) const {
+      return is_sameX(img._width);
+    }
+
+    //! Test if image width is equal to specified value.
+    bool is_sameX(const CImgDisplay& disp) const {
+      return is_sameX(disp._width);
+    }
+
+    //! Test if image height is equal to specified value.
+    bool is_sameY(const unsigned int size_y) const {
+      return _height==size_y;
+    }
+
+    //! Test if image height is equal to specified value.
+    template<typename t>
+    bool is_sameY(const CImg<t>& img) const {
+      return is_sameY(img._height);
+    }
+
+    //! Test if image height is equal to specified value.
+    bool is_sameY(const CImgDisplay& disp) const {
+      return is_sameY(disp._height);
+    }
+
+    //! Test if image depth is equal to specified value.
+    bool is_sameZ(const unsigned int size_z) const {
+      return _depth==size_z;
+    }
+
+    //! Test if image depth is equal to specified value.
+    template<typename t>
+    bool is_sameZ(const CImg<t>& img) const {
+      return is_sameZ(img._depth);
+    }
+
+    //! Test if image spectrum is equal to specified value.
+    bool is_sameC(const unsigned int size_c) const {
+      return _spectrum==size_c;
+    }
+
+    //! Test if image spectrum is equal to specified value.
+    template<typename t>
+    bool is_sameC(const CImg<t>& img) const {
+      return is_sameC(img._spectrum);
+    }
+
+    //! Test if image width and height are equal to specified values.
+    /**
+       Test if is_sameX(unsigned int) const and is_sameY(unsigned int) const are both verified.
+    **/
+    bool is_sameXY(const unsigned int size_x, const unsigned int size_y) const {
+      return _width==size_x && _height==size_y;
+    }
+
+    //! Test if image width and height are the same as that of another image.
+    /**
+       Test if is_sameX(const CImg<t>&) const and is_sameY(const CImg<t>&) const are both verified.
+    **/
+    template<typename t>
+    bool is_sameXY(const CImg<t>& img) const {
+      return is_sameXY(img._width,img._height);
+    }
+
+    //! Test if image width and height are the same as that of an existing display window.
+    /**
+       Test if is_sameX(const CImgDisplay&) const and is_sameY(const CImgDisplay&) const are both verified.
+    **/
+    bool is_sameXY(const CImgDisplay& disp) const {
+      return is_sameXY(disp._width,disp._height);
+    }
+
+    //! Test if image width and depth are equal to specified values.
+    /**
+       Test if is_sameX(unsigned int) const and is_sameZ(unsigned int) const are both verified.
+    **/
+    bool is_sameXZ(const unsigned int size_x, const unsigned int size_z) const {
+      return _width==size_x && _depth==size_z;
+    }
+
+    //! Test if image width and depth are the same as that of another image.
+    /**
+       Test if is_sameX(const CImg<t>&) const and is_sameZ(const CImg<t>&) const are both verified.
+    **/
+    template<typename t>
+    bool is_sameXZ(const CImg<t>& img) const {
+      return is_sameXZ(img._width,img._depth);
+    }
+
+    //! Test if image width and spectrum are equal to specified values.
+    /**
+       Test if is_sameX(unsigned int) const and is_sameC(unsigned int) const are both verified.
+    **/
+    bool is_sameXC(const unsigned int size_x, const unsigned int size_c) const {
+      return _width==size_x && _spectrum==size_c;
+    }
+
+    //! Test if image width and spectrum are the same as that of another image.
+    /**
+       Test if is_sameX(const CImg<t>&) const and is_sameC(const CImg<t>&) const are both verified.
+    **/
+    template<typename t>
+    bool is_sameXC(const CImg<t>& img) const {
+      return is_sameXC(img._width,img._spectrum);
+    }
+
+    //! Test if image height and depth are equal to specified values.
+    /**
+       Test if is_sameY(unsigned int) const and is_sameZ(unsigned int) const are both verified.
+    **/
+    bool is_sameYZ(const unsigned int size_y, const unsigned int size_z) const {
+      return _height==size_y && _depth==size_z;
+    }
+
+    //! Test if image height and depth are the same as that of another image.
+    /**
+       Test if is_sameY(const CImg<t>&) const and is_sameZ(const CImg<t>&) const are both verified.
+    **/
+    template<typename t>
+    bool is_sameYZ(const CImg<t>& img) const {
+      return is_sameYZ(img._height,img._depth);
+    }
+
+    //! Test if image height and spectrum are equal to specified values.
+    /**
+       Test if is_sameY(unsigned int) const and is_sameC(unsigned int) const are both verified.
+    **/
+    bool is_sameYC(const unsigned int size_y, const unsigned int size_c) const {
+      return _height==size_y && _spectrum==size_c;
+    }
+
+    //! Test if image height and spectrum are the same as that of another image.
+    /**
+       Test if is_sameY(const CImg<t>&) const and is_sameC(const CImg<t>&) const are both verified.
+    **/
+    template<typename t>
+    bool is_sameYC(const CImg<t>& img) const {
+      return is_sameYC(img._height,img._spectrum);
+    }
+
+    //! Test if image depth and spectrum are equal to specified values.
+    /**
+       Test if is_sameZ(unsigned int) const and is_sameC(unsigned int) const are both verified.
+    **/
+    bool is_sameZC(const unsigned int size_z, const unsigned int size_c) const {
+      return _depth==size_z && _spectrum==size_c;
+    }
+
+    //! Test if image depth and spectrum are the same as that of another image.
+    /**
+       Test if is_sameZ(const CImg<t>&) const and is_sameC(const CImg<t>&) const are both verified.
+    **/
+    template<typename t>
+    bool is_sameZC(const CImg<t>& img) const {
+      return is_sameZC(img._depth,img._spectrum);
+    }
+
+    //! Test if image width, height and depth are equal to specified values.
+    /**
+       Test if is_sameXY(unsigned int,unsigned int) const and is_sameZ(unsigned int) const are both verified.
+    **/
+    bool is_sameXYZ(const unsigned int size_x, const unsigned int size_y, const unsigned int size_z) const {
+      return is_sameXY(size_x,size_y) && _depth==size_z;
+    }
+
+    //! Test if image width, height and depth are the same as that of another image.
+    /**
+       Test if is_sameXY(const CImg<t>&) const and is_sameZ(const CImg<t>&) const are both verified.
+    **/
+    template<typename t>
+    bool is_sameXYZ(const CImg<t>& img) const {
+      return is_sameXYZ(img._width,img._height,img._depth);
+    }
+
+    //! Test if image width, height and spectrum are equal to specified values.
+    /**
+       Test if is_sameXY(unsigned int,unsigned int) const and is_sameC(unsigned int) const are both verified.
+    **/
+    bool is_sameXYC(const unsigned int size_x, const unsigned int size_y, const unsigned int size_c) const {
+      return is_sameXY(size_x,size_y) && _spectrum==size_c;
+    }
+
+    //! Test if image width, height and spectrum are the same as that of another image.
+    /**
+       Test if is_sameXY(const CImg<t>&) const and is_sameC(const CImg<t>&) const are both verified.
+    **/
+    template<typename t>
+    bool is_sameXYC(const CImg<t>& img) const {
+      return is_sameXYC(img._width,img._height,img._spectrum);
+    }
+
+    //! Test if image width, depth and spectrum are equal to specified values.
+    /**
+       Test if is_sameXZ(unsigned int,unsigned int) const and is_sameC(unsigned int) const are both verified.
+    **/
+    bool is_sameXZC(const unsigned int size_x, const unsigned int size_z, const unsigned int size_c) const {
+      return is_sameXZ(size_x,size_z) && _spectrum==size_c;
+    }
+
+    //! Test if image width, depth and spectrum are the same as that of another image.
+    /**
+       Test if is_sameXZ(const CImg<t>&) const and is_sameC(const CImg<t>&) const are both verified.
+    **/
+    template<typename t>
+    bool is_sameXZC(const CImg<t>& img) const {
+      return is_sameXZC(img._width,img._depth,img._spectrum);
+    }
+
+    //! Test if image height, depth and spectrum are equal to specified values.
+    /**
+       Test if is_sameYZ(unsigned int,unsigned int) const and is_sameC(unsigned int) const are both verified.
+    **/
+    bool is_sameYZC(const unsigned int size_y, const unsigned int size_z, const unsigned int size_c) const {
+      return is_sameYZ(size_y,size_z) && _spectrum==size_c;
+    }
+
+    //! Test if image height, depth and spectrum are the same as that of another image.
+    /**
+       Test if is_sameYZ(const CImg<t>&) const and is_sameC(const CImg<t>&) const are both verified.
+    **/
+    template<typename t>
+    bool is_sameYZC(const CImg<t>& img) const {
+      return is_sameYZC(img._height,img._depth,img._spectrum);
+    }
+
+    //! Test if image width, height, depth and spectrum are equal to specified values.
+    /**
+       Test if is_sameXYZ(unsigned int,unsigned int,unsigned int) const and is_sameC(unsigned int) const are both
+       verified.
+    **/
+    bool is_sameXYZC(const unsigned int size_x, const unsigned int size_y,
+                     const unsigned int size_z, const unsigned int size_c) const {
+      return is_sameXYZ(size_x,size_y,size_z) && _spectrum==size_c;
+    }
+
+    //! Test if image width, height, depth and spectrum are the same as that of another image.
+    /**
+       Test if is_sameXYZ(const CImg<t>&) const and is_sameC(const CImg<t>&) const are both verified.
+    **/
+    template<typename t>
+    bool is_sameXYZC(const CImg<t>& img) const {
+      return is_sameXYZC(img._width,img._height,img._depth,img._spectrum);
+    }
+
+    //! Test if specified coordinates are inside image bounds.
+    /**
+       Return \c true if pixel located at (\c x,\c y,\c z,\c c) is inside bounds of the image instance,
+       and \c false otherwise.
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \note
+       - Return \c true only if all these conditions are verified:
+         - The image instance is \e not empty.
+         - <tt>0<=x<=\ref width() - 1</tt>.
+         - <tt>0<=y<=\ref height() - 1</tt>.
+         - <tt>0<=z<=\ref depth() - 1</tt>.
+         - <tt>0<=c<=\ref spectrum() - 1</tt>.
+    **/
+    bool containsXYZC(const int x, const int y=0, const int z=0, const int c=0) const {
+      return !is_empty() && x>=0 && x<width() && y>=0 && y<height() && z>=0 && z<depth() && c>=0 && c<spectrum();
+    }
+
+    //! Test if pixel value is inside image bounds and get its X,Y,Z and C-coordinates.
+    /**
+       Return \c true, if specified reference refers to a pixel value inside bounds of the image instance,
+       and \c false otherwise.
+       \param pixel Reference to pixel value to test.
+       \param[out] x X-coordinate of the pixel value, if test succeeds.
+       \param[out] y Y-coordinate of the pixel value, if test succeeds.
+       \param[out] z Z-coordinate of the pixel value, if test succeeds.
+       \param[out] c C-coordinate of the pixel value, if test succeeds.
+       \note
+       - Useful to convert an offset to a buffer value into pixel value coordinates:
+       \code
+       const CImg<float> img(100,100,1,3);      // Construct a 100x100 RGB color image.
+       const unsigned long offset = 1249;       // Offset to the pixel (49,12,0,0).
+       unsigned int x,y,z,c;
+       if (img.contains(img[offset],x,y,z,c)) { // Convert offset to (x,y,z,c) coordinates.
+         std::printf("Offset %u refers to pixel located at (%u,%u,%u,%u).\n",
+                     offset,x,y,z,c);
+       }
+       \endcode
+    **/
+    template<typename t>
+    bool contains(const T& pixel, t& x, t& y, t& z, t& c) const {
+      const unsigned long wh = (unsigned long)_width*_height, whd = wh*_depth, siz = whd*_spectrum;
+      const T *const ppixel = &pixel;
+      if (is_empty() || ppixel<_data || ppixel>=_data + siz) return false;
+      unsigned long off = (unsigned long)(ppixel - _data);
+      const unsigned long nc = off/whd;
+      off%=whd;
+      const unsigned long nz = off/wh;
+      off%=wh;
+      const unsigned long ny = off/_width, nx = off%_width;
+      x = (t)nx; y = (t)ny; z = (t)nz; c = (t)nc;
+      return true;
+    }
+
+    //! Test if pixel value is inside image bounds and get its X,Y and Z-coordinates.
+    /**
+       Similar to contains(const T&,t&,t&,t&,t&) const, except that only the X,Y and Z-coordinates are set.
+    **/
+    template<typename t>
+    bool contains(const T& pixel, t& x, t& y, t& z) const {
+      const unsigned long wh = (unsigned long)_width*_height, whd = wh*_depth, siz = whd*_spectrum;
+      const T *const ppixel = &pixel;
+      if (is_empty() || ppixel<_data || ppixel>=_data + siz) return false;
+      unsigned long off = ((unsigned long)(ppixel - _data))%whd;
+      const unsigned long nz = off/wh;
+      off%=wh;
+      const unsigned long ny = off/_width, nx = off%_width;
+      x = (t)nx; y = (t)ny; z = (t)nz;
+      return true;
+    }
+
+    //! Test if pixel value is inside image bounds and get its X and Y-coordinates.
+    /**
+       Similar to contains(const T&,t&,t&,t&,t&) const, except that only the X and Y-coordinates are set.
+    **/
+    template<typename t>
+    bool contains(const T& pixel, t& x, t& y) const {
+      const unsigned long wh = (unsigned long)_width*_height, siz = wh*_depth*_spectrum;
+      const T *const ppixel = &pixel;
+      if (is_empty() || ppixel<_data || ppixel>=_data + siz) return false;
+      unsigned long off = ((unsigned int)(ppixel - _data))%wh;
+      const unsigned long ny = off/_width, nx = off%_width;
+      x = (t)nx; y = (t)ny;
+      return true;
+    }
+
+    //! Test if pixel value is inside image bounds and get its X-coordinate.
+    /**
+       Similar to contains(const T&,t&,t&,t&,t&) const, except that only the X-coordinate is set.
+    **/
+    template<typename t>
+    bool contains(const T& pixel, t& x) const {
+      const T *const ppixel = &pixel;
+      if (is_empty() || ppixel<_data || ppixel>=_data + size()) return false;
+      x = (t)(((unsigned long)(ppixel - _data))%_width);
+      return true;
+    }
+
+    //! Test if pixel value is inside image bounds.
+    /**
+       Similar to contains(const T&,t&,t&,t&,t&) const, except that no pixel coordinates are set.
+    **/
+    bool contains(const T& pixel) const {
+      const T *const ppixel = &pixel;
+      return !is_empty() && ppixel>=_data && ppixel<_data + size();
+    }
+
+    //! Test if pixel buffers of instance and input images overlap.
+    /**
+       Return \c true, if pixel buffers attached to image instance and input image \c img overlap,
+       and \c false otherwise.
+       \param img Input image to compare with.
+       \note
+       - Buffer overlapping may happen when manipulating \e shared images.
+       - If two image buffers overlap, operating on one of the image will probably modify the other one.
+       - Most of the time, \c CImg<T> instances are \e non-shared and do not overlap between each others.
+       \par Example
+       \code
+       const CImg<float>
+         img1("reference.jpg"),             // Load RGB-color image.
+         img2 = img1.get_shared_channel(1); // Get shared version of the green channel.
+       if (img1.is_overlapped(img2)) {      // Test succeeds, 'img1' and 'img2' overlaps.
+         std::printf("Buffers overlap!\n");
+       }
+       \endcode
+    **/
+    template<typename t>
+    bool is_overlapped(const CImg<t>& img) const {
+      const unsigned long csiz = size(), isiz = img.size();
+      return !((void*)(_data + csiz)<=(void*)img._data || (void*)_data>=(void*)(img._data + isiz));
+    }
+
+    //! Test if the set {\c *this,\c primitives,\c colors,\c opacities} defines a valid 3d object.
+    /**
+       Return \c true is the 3d object represented by the set {\c *this,\c primitives,\c colors,\c opacities} defines a
+       valid 3d object, and \c false otherwise. The vertex coordinates are defined by the instance image.
+       \param primitives List of primitives of the 3d object.
+       \param colors List of colors of the 3d object.
+       \param opacities List (or image) of opacities of the 3d object.
+       \param full_check Tells if full checking of the 3d object must be performed.
+       \param[out] error_message C-string to contain the error message, if the test does not succeed.
+       \note
+       - Set \c full_checking to \c false to speed-up the 3d object checking. In this case, only the size of
+         each 3d object component is checked.
+       - Size of the string \c error_message should be at least 128-bytes long, to be able to contain the error message.
+    **/
+    template<typename tp, typename tc, typename to>
+    bool is_object3d(const CImgList<tp>& primitives,
+                     const CImgList<tc>& colors,
+                     const to& opacities,
+                     const bool full_check=true,
+                     char *const error_message=0) const {
+      if (error_message) *error_message = 0;
+
+      // Check consistency for the particular case of an empty 3d object.
+      if (is_empty()) {
+        if (primitives || colors || opacities) {
+          if (error_message) cimg_sprintf(error_message,
+                                          "3d object (%u,%u) defines no vertices but %u primitives, "
+                                          "%u colors and %lu opacities",
+                                          _width,primitives._width,primitives._width,
+                                          colors._width,(unsigned long)opacities.size());
+          return false;
+        }
+        return true;
+      }
+
+      // Check consistency of vertices.
+      if (_height!=3 || _depth>1 || _spectrum>1) { // Check vertices dimensions.
+        if (error_message) cimg_sprintf(error_message,
+                                        "3d object (%u,%u) has invalid vertex dimensions (%u,%u,%u,%u)",
+                                        _width,primitives._width,_width,_height,_depth,_spectrum);
+        return false;
+      }
+      if (colors._width>primitives._width + 1) {
+        if (error_message) cimg_sprintf(error_message,
+                                        "3d object (%u,%u) defines %u colors",
+                                        _width,primitives._width,colors._width);
+        return false;
+      }
+      if (opacities.size()>primitives._width) {
+        if (error_message) cimg_sprintf(error_message,
+                                        "3d object (%u,%u) defines %lu opacities",
+                                        _width,primitives._width,(unsigned long)opacities.size());
+        return false;
+      }
+      if (!full_check) return true;
+
+      // Check consistency of primitives.
+      cimglist_for(primitives,l) {
+        const CImg<tp>& primitive = primitives[l];
+        const unsigned long psiz = primitive.size();
+        switch (psiz) {
+        case 1 : { // Point.
+          const unsigned int i0 = (unsigned int)primitive(0);
+          if (i0>=_width) {
+            if (error_message) cimg_sprintf(error_message,
+                                            "3d object (%u,%u) refers to invalid vertex indice %u in "
+                                            "point primitive [%u]",
+                                            _width,primitives._width,i0,l);
+            return false;
+          }
+        } break;
+        case 5 : { // Sphere.
+          const unsigned int
+            i0 = (unsigned int)primitive(0),
+            i1 = (unsigned int)primitive(1);
+          if (i0>=_width || i1>=_width) {
+            if (error_message) cimg_sprintf(error_message,
+                                            "3d object (%u,%u) refers to invalid vertex indices (%u,%u) in "
+                                            "sphere primitive [%u]",
+                                            _width,primitives._width,i0,i1,l);
+            return false;
+          }
+        } break;
+        case 2 : // Segment.
+        case 6 : {
+          const unsigned int
+            i0 = (unsigned int)primitive(0),
+            i1 = (unsigned int)primitive(1);
+          if (i0>=_width || i1>=_width) {
+            if (error_message) cimg_sprintf(error_message,
+                                            "3d object (%u,%u) refers to invalid vertex indices (%u,%u) in "
+                                            "segment primitive [%u]",
+                                            _width,primitives._width,i0,i1,l);
+            return false;
+          }
+        } break;
+        case 3 : // Triangle.
+        case 9 : {
+          const unsigned int
+            i0 = (unsigned int)primitive(0),
+            i1 = (unsigned int)primitive(1),
+            i2 = (unsigned int)primitive(2);
+          if (i0>=_width || i1>=_width || i2>=_width) {
+            if (error_message) cimg_sprintf(error_message,
+                                            "3d object (%u,%u) refers to invalid vertex indices (%u,%u,%u) in "
+                                            "triangle primitive [%u]",
+                                            _width,primitives._width,i0,i1,i2,l);
+            return false;
+          }
+        } break;
+        case 4 : // Quadrangle.
+        case 12 : {
+          const unsigned int
+            i0 = (unsigned int)primitive(0),
+            i1 = (unsigned int)primitive(1),
+            i2 = (unsigned int)primitive(2),
+            i3 = (unsigned int)primitive(3);
+          if (i0>=_width || i1>=_width || i2>=_width || i3>=_width) {
+            if (error_message) cimg_sprintf(error_message,
+                                            "3d object (%u,%u) refers to invalid vertex indices (%u,%u,%u,%u) in "
+                                            "quadrangle primitive [%u]",
+                                            _width,primitives._width,i0,i1,i2,i3,l);
+            return false;
+          }
+        } break;
+        default :
+          if (error_message) cimg_sprintf(error_message,
+                                          "3d object (%u,%u) defines an invalid primitive [%u] of size %u",
+                                          _width,primitives._width,l,(unsigned int)psiz);
+          return false;
+        }
+      }
+
+      // Check consistency of colors.
+      cimglist_for(colors,c) {
+        const CImg<tc>& color = colors[c];
+        if (!color) {
+          if (error_message) cimg_sprintf(error_message,
+                                          "3d object (%u,%u) defines no color for primitive [%u]",
+                                          _width,primitives._width,c);
+          return false;
+        }
+      }
+
+      // Check consistency of light texture.
+      if (colors._width>primitives._width) {
+        const CImg<tc> &light = colors.back();
+        if (!light || light._depth>1) {
+          if (error_message) cimg_sprintf(error_message,
+                                          "3d object (%u,%u) defines an invalid light texture (%u,%u,%u,%u)",
+                                          _width,primitives._width,light._width,
+                                          light._height,light._depth,light._spectrum);
+          return false;
+        }
+      }
+
+      return true;
+    }
+
+    //! Test if image instance represents a valid serialization of a 3d object.
+    /**
+       Return \c true if the image instance represents a valid serialization of a 3d object, and \c false otherwise.
+       \param full_check Tells if full checking of the instance must be performed.
+       \param[out] error_message C-string to contain the error message, if the test does not succeed.
+       \note
+       - Set \c full_check to \c false to speed-up the 3d object checking. In this case, only the size of
+         each 3d object component is checked.
+       - Size of the string \c error_message should be at least 128-bytes long, to be able to contain the error message.
+    **/
+    bool is_CImg3d(const bool full_check=true, char *const error_message=0) const {
+      if (error_message) *error_message = 0;
+
+      // Check instance dimension and header.
+      if (_width!=1 || _height<8 || _depth!=1 || _spectrum!=1) {
+        if (error_message) cimg_sprintf(error_message,
+                                        "CImg3d has invalid dimensions (%u,%u,%u,%u)",
+                                        _width,_height,_depth,_spectrum);
+        return false;
+      }
+      const T *ptrs = _data, *const ptre = end();
+      if (!_is_CImg3d(*(ptrs++),'C') || !_is_CImg3d(*(ptrs++),'I') || !_is_CImg3d(*(ptrs++),'m') ||
+          !_is_CImg3d(*(ptrs++),'g') || !_is_CImg3d(*(ptrs++),'3') || !_is_CImg3d(*(ptrs++),'d')) {
+        if (error_message) cimg_sprintf(error_message,
+                                        "CImg3d header not found");
+        return false;
+      }
+      const unsigned int
+        nb_points = cimg::float2uint((float)*(ptrs++)),
+        nb_primitives = cimg::float2uint((float)*(ptrs++));
+
+      // Check consistency of number of vertices / primitives.
+      if (!full_check) {
+        const unsigned long minimal_size = 8UL + 3*nb_points + 6*nb_primitives;
+        if (_data + minimal_size>ptre) {
+          if (error_message) cimg_sprintf(error_message,
+                                          "CImg3d (%u,%u) has only %lu values, while at least %lu values were expected",
+                                          nb_points,nb_primitives,size(),minimal_size);
+          return false;
+        }
+      }
+
+      // Check consistency of vertex data.
+      if (!nb_points) {
+        if (nb_primitives) {
+          if (error_message) cimg_sprintf(error_message,
+                                          "CImg3d (%u,%u) defines no vertices but %u primitives",
+                                          nb_points,nb_primitives,nb_primitives);
+          return false;
+        }
+        if (ptrs!=ptre) {
+          if (error_message) cimg_sprintf(error_message,
+                                          "CImg3d (%u,%u) is an empty object but contains %u value%s "
+                                          "more than expected",
+                                          nb_points,nb_primitives,(unsigned int)(ptre - ptrs),(ptre - ptrs)>1?"s":"");
+          return false;
+        }
+        return true;
+      }
+      if (ptrs + 3*nb_points>ptre) {
+        if (error_message) cimg_sprintf(error_message,
+                                        "CImg3d (%u,%u) defines only %u vertices data",
+                                        nb_points,nb_primitives,(unsigned int)(ptre - ptrs)/3);
+        return false;
+      }
+      ptrs+=3*nb_points;
+
+      // Check consistency of primitive data.
+      if (ptrs==ptre) {
+        if (error_message) cimg_sprintf(error_message,
+                                        "CImg3d (%u,%u) defines %u vertices but no primitive",
+                                        nb_points,nb_primitives,nb_points);
+        return false;
+      }
+
+      if (!full_check) return true;
+
+      for (unsigned int p = 0; p<nb_primitives; ++p) {
+        const unsigned int nb_inds = (unsigned int)*(ptrs++);
+        switch (nb_inds) {
+        case 1 : { // Point.
+          const unsigned int i0 = cimg::float2uint((float)*(ptrs++));
+          if (i0>=nb_points) {
+            if (error_message) cimg_sprintf(error_message,
+                                            "CImg3d (%u,%u) refers to invalid vertex indice %u in point primitive [%u]",
+                                            nb_points,nb_primitives,i0,p);
+            return false;
+          }
+        } break;
+        case 5 : { // Sphere.
+          const unsigned int
+            i0 = cimg::float2uint((float)*(ptrs++)),
+            i1 = cimg::float2uint((float)*(ptrs++));
+          ptrs+=3;
+          if (i0>=nb_points || i1>=nb_points) {
+            if (error_message) cimg_sprintf(error_message,
+                                            "CImg3d (%u,%u) refers to invalid vertex indices (%u,%u) in "
+                                            "sphere primitive [%u]",
+                                            nb_points,nb_primitives,i0,i1,p);
+            return false;
+          }
+        } break;
+        case 2 : case 6 : { // Segment.
+          const unsigned int
+            i0 = cimg::float2uint((float)*(ptrs++)),
+            i1 = cimg::float2uint((float)*(ptrs++));
+          if (nb_inds==6) ptrs+=4;
+          if (i0>=nb_points || i1>=nb_points) {
+            if (error_message) cimg_sprintf(error_message,
+                                            "CImg3d (%u,%u) refers to invalid vertex indices (%u,%u) in "
+                                            "segment primitive [%u]",
+                                            nb_points,nb_primitives,i0,i1,p);
+            return false;
+          }
+        } break;
+        case 3 : case 9 : { // Triangle.
+          const unsigned int
+            i0 = cimg::float2uint((float)*(ptrs++)),
+            i1 = cimg::float2uint((float)*(ptrs++)),
+            i2 = cimg::float2uint((float)*(ptrs++));
+          if (nb_inds==9) ptrs+=6;
+          if (i0>=nb_points || i1>=nb_points || i2>=nb_points) {
+            if (error_message) cimg_sprintf(error_message,
+                                            "CImg3d (%u,%u) refers to invalid vertex indices (%u,%u,%u) in "
+                                            "triangle primitive [%u]",
+                                            nb_points,nb_primitives,i0,i1,i2,p);
+            return false;
+          }
+        } break;
+        case 4 : case 12 : { // Quadrangle.
+          const unsigned int
+            i0 = cimg::float2uint((float)*(ptrs++)),
+            i1 = cimg::float2uint((float)*(ptrs++)),
+            i2 = cimg::float2uint((float)*(ptrs++)),
+            i3 = cimg::float2uint((float)*(ptrs++));
+          if (nb_inds==12) ptrs+=8;
+          if (i0>=nb_points || i1>=nb_points || i2>=nb_points || i3>=nb_points) {
+            if (error_message) cimg_sprintf(error_message,
+                                            "CImg3d (%u,%u) refers to invalid vertex indices (%u,%u,%u,%u) in "
+                                            "quadrangle primitive [%u]",
+                                            nb_points,nb_primitives,i0,i1,i2,i3,p);
+            return false;
+          }
+        } break;
+        default :
+          if (error_message) cimg_sprintf(error_message,
+                                          "CImg3d (%u,%u) defines an invalid primitive [%u] of size %u",
+                                          nb_points,nb_primitives,p,nb_inds);
+          return false;
+        }
+        if (ptrs>ptre) {
+          if (error_message) cimg_sprintf(error_message,
+                                          "CImg3d (%u,%u) has incomplete primitive data for primitive [%u], "
+                                          "%u values missing",
+                                          nb_points,nb_primitives,p,(unsigned int)(ptrs - ptre));
+          return false;
+        }
+      }
+
+      // Check consistency of color data.
+      if (ptrs==ptre) {
+        if (error_message) cimg_sprintf(error_message,
+                                        "CImg3d (%u,%u) defines no color/texture data",
+                                        nb_points,nb_primitives);
+        return false;
+      }
+      for (unsigned int c = 0; c<nb_primitives; ++c) {
+        if (*(ptrs++)!=(T)-128) ptrs+=2;
+        else if ((ptrs+=3)<ptre) {
+          const unsigned int
+            w = (unsigned int)*(ptrs - 3),
+            h = (unsigned int)*(ptrs - 2),
+            s = (unsigned int)*(ptrs - 1);
+          if (!h && !s) {
+            if (w>=c) {
+              if (error_message) cimg_sprintf(error_message,
+                                              "CImg3d (%u,%u) refers to invalid shared sprite/texture indice %u "
+                                              "for primitive [%u]",
+                                              nb_points,nb_primitives,w,c);
+              return false;
+            }
+          } else ptrs+=w*h*s;
+        }
+        if (ptrs>ptre) {
+          if (error_message) cimg_sprintf(error_message,
+                                          "CImg3d (%u,%u) has incomplete color/texture data for primitive [%u], "
+                                          "%u values missing",
+                                          nb_points,nb_primitives,c,(unsigned int)(ptrs - ptre));
+          return false;
+        }
+      }
+
+      // Check consistency of opacity data.
+      if (ptrs==ptre) {
+        if (error_message) cimg_sprintf(error_message,
+                                        "CImg3d (%u,%u) defines no opacity data",
+                                        nb_points,nb_primitives);
+        return false;
+      }
+      for (unsigned int o = 0; o<nb_primitives; ++o) {
+        if (*(ptrs++)==(T)-128 && (ptrs+=3)<ptre) {
+          const unsigned int
+            w = (unsigned int)*(ptrs - 3),
+            h = (unsigned int)*(ptrs - 2),
+            s = (unsigned int)*(ptrs - 1);
+          if (!h && !s) {
+            if (w>=o) {
+              if (error_message) cimg_sprintf(error_message,
+                                              "CImg3d (%u,%u) refers to invalid shared opacity indice %u "
+                                              "for primitive [%u]",
+                                              nb_points,nb_primitives,w,o);
+              return false;
+            }
+          } else ptrs+=w*h*s;
+        }
+        if (ptrs>ptre) {
+          if (error_message) cimg_sprintf(error_message,
+                                          "CImg3d (%u,%u) has incomplete opacity data for primitive [%u]",
+                                          nb_points,nb_primitives,o);
+          return false;
+        }
+      }
+
+      // Check end of data.
+      if (ptrs<ptre) {
+        if (error_message) cimg_sprintf(error_message,
+                                        "CImg3d (%u,%u) contains %u value%s more than expected",
+                                        nb_points,nb_primitives,(unsigned int)(ptre - ptrs),(ptre - ptrs)>1?"s":"");
+        return false;
+      }
+      return true;
+    }
+
+    static bool _is_CImg3d(const T val, const char c) {
+      return val>=(T)c && val<(T)(c + 1);
+    }
+
+    //@}
+    //-------------------------------------
+    //
+    //! \name Mathematical Functions
+    //@{
+    //-------------------------------------
+
+    // Define the math formula parser/compiler and evaluator.
+    struct _cimg_math_parser {
+      CImgList<longT> code;
+      CImg<longT> opcode;
+      const CImg<longT>* p_code;
+      CImgList<charT> labelM;
+      CImg<uintT> level, labelMpos, reserved_label;
+      CImg<doubleT> mem;
+      CImg<charT> expr;
+      const CImg<T>& input;
+      CImg<T> &output;
+      CImg<Tdouble> input_stats;
+      double median_value;
+      bool is_median_value;
+      unsigned int mempos, result;
+      const char *const calling_function;
+      typedef double (*mp_func)(_cimg_math_parser&);
+
+#define _cimg_mp_return(x) { *se = saved_char; return x; }
+#define _cimg_mp_opcode0(op) _cimg_mp_return(opcode0(op));
+#define _cimg_mp_opcode1(op,i1) _cimg_mp_return(opcode1(op,i1));
+#define _cimg_mp_opcode2(op,i1,i2) { const unsigned int _i1 = i1, _i2 = i2; _cimg_mp_return(opcode2(op,_i1,_i2)); }
+#define _cimg_mp_opcode3(op,i1,i2,i3) \
+  { const unsigned int _i1 = i1, _i2 = i2, _i3 = i3; _cimg_mp_return(opcode3(op,_i1,_i2,_i3)); }
+#define _cimg_mp_opcode5(op,i1,i2,i3,i4,i5) \
+  { const unsigned int _i1 = i1, _i2 = i2, _i3 = i3, _i4 = i4, _i5 = i5; \
+        _cimg_mp_return(opcode5(op,_i1,_i2,_i3,_i4,_i5)); }
+#define _cimg_mp_opcode6(op,i1,i2,i3,i4,i5,i6) \
+  { const unsigned int _i1 = i1, _i2 = i2, _i3 = i3, _i4 = i4, _i5 = i5, _i6 = i6; \
+        _cimg_mp_return(opcode6(op,_i1,_i2,_i3,_i4,_i5,_i6)); }
+
+#if defined(_WIN64)
+      // On Win64 and gcc 4.7, sizeof(long)!=sizeof(pointer), so a workaround is needed..
+#define _cimg_mp_enfunc(op) (long)((char*)(op) - (char*)mp_u)
+#define _cimg_mp_defunc(mp) (*(mp_func)((char*)mp_u + (mp).opcode[0]))(mp)
+#else
+#define _cimg_mp_enfunc(op) (long)(op)
+#define _cimg_mp_defunc(mp) (*(mp_func)((mp).opcode[0]))(mp)
+#endif
+
+      // Constructors.
+      _cimg_math_parser():input(CImg<T>::empty()),output(CImg<T>::empty()),
+                          median_value(0),is_median_value(false),calling_function(0) {}
+
+      _cimg_math_parser(const CImg<T>& img_input, CImg<T> *const img_output,
+                        const char *const expression, const char *const funcname=0):
+        input(img_input),output(img_output?*img_output:CImg<T>::empty()),
+        median_value(0),is_median_value(false),calling_function(funcname?funcname:"cimg_math_parser") {
+        if (!expression || !*expression)
+          throw CImgArgumentException("[_cimg_math_parser] "
+                                      "CImg<%s>::%s(): Empty specified expression.",
+                                      pixel_type(),calling_function);
+        CImg<charT>::string(expression).move_to(expr);
+        level.assign(expr._width - 1);
+        int lv = 0; // Count parentheses/brackets level of expression.
+        unsigned int *pd = level._data;
+        for (const char *ps = expr._data; *ps && lv>=0; ++ps)
+          *(pd++) = (unsigned int)(*ps=='('||*ps=='['?lv++:*ps==')'||*ps==']'?--lv:lv);
+        if (lv!=0) {
+          throw CImgArgumentException("[_cimg_math_parser] "
+                                      "CImg<%s>::%s(): Unbalanced parentheses/brackets in expression '%s'.",
+                                      pixel_type(),calling_function,
+                                      expr._data);
+        }
+
+        // Init constant values.
+        mem.assign(512);
+        mem[0] = 0.0;
+        mem[1] = 1.0;
+        mem[2] = 2.0;
+        mem[3] = 3.0;
+        mem[4] = 4.0;
+        mem[5] = 5.0;
+        mem[6] = (double)input._width;
+        mem[7] = (double)input._height;
+        mem[8] = (double)input._depth;
+        mem[9] = (double)input._spectrum;
+        mem[10] = (double)input._is_shared;
+        mem[11] = (double)input._width*input._height;
+        mem[12] = (double)input._width*input._height*input._depth;
+        mem[13] = (double)input._width*input._height*input._depth*input._spectrum;
+        mem[14] = cimg::PI;
+        mem[15] = std::exp(1.0); // Then [16] = x, [17] = y, [18] = z and [19] = c.
+        mempos = 20;
+        labelMpos.assign(8);
+        reserved_label.assign(128,1,1,1,~0U);
+        reserved_label['w'] = 6;
+        reserved_label['h'] = 7;
+        reserved_label['d'] = 8;
+        reserved_label['s'] = 9;
+        reserved_label['r'] = 10;
+        reserved_label[0] = 11; // wh
+        reserved_label[1] = 12; // whd
+        reserved_label[2] = 13; // whds
+        reserved_label[3] = 14; // pi
+        reserved_label['e'] = 15;
+        reserved_label['x'] = 16;
+        reserved_label['y'] = 17;
+        reserved_label['z'] = 18;
+        reserved_label['c'] = 19;
+        result = compile(expr._data,expr._data + expr._width - 1); // Compile formula into a serie of opcodes.
+      }
+
+      // Insert code instructions.
+      unsigned int opcode0(const mp_func op) {
+        if (mempos>=mem._width) mem.resize(-200,1,1,1,0);
+        const unsigned int pos = mempos++;
+        CImg<longT>::vector(_cimg_mp_enfunc(op),pos).move_to(code);
+        return pos;
+      }
+
+      unsigned int opcode1(const mp_func op, const unsigned int arg1) {
+        if (mempos>=mem._width) mem.resize(-200,1,1,1,0);
+        const unsigned int pos = mempos++;
+        CImg<longT>::vector(_cimg_mp_enfunc(op),pos,arg1).move_to(code);
+        return pos;
+      }
+
+      unsigned int opcode2(const mp_func op, const unsigned int arg1, const unsigned int arg2) {
+        if (mempos>=mem._width) mem.resize(-200,1,1,1,0);
+        const unsigned int pos = mempos++;
+        CImg<longT>::vector(_cimg_mp_enfunc(op),pos,arg1,arg2).move_to(code);
+        return pos;
+      }
+
+      unsigned int opcode3(const mp_func op,
+                           const unsigned int arg1, const unsigned int arg2, const unsigned int arg3) {
+        if (mempos>=mem._width) mem.resize(-200,1,1,1,0);
+        const unsigned int pos = mempos++;
+        CImg<longT>::vector(_cimg_mp_enfunc(op),pos,arg1,arg2,arg3).move_to(code);
+        return pos;
+      }
+
+      unsigned int opcode5(const mp_func op,
+                           const unsigned int arg1, const unsigned int arg2, const unsigned int arg3,
+                           const unsigned int arg4, const unsigned int arg5) {
+        if (mempos>=mem._width) mem.resize(-200,1,1,1,0);
+        const unsigned int pos = mempos++;
+        CImg<longT>::vector(_cimg_mp_enfunc(op),pos,arg1,arg2,arg3,arg4,arg5).move_to(code);
+        return pos;
+      }
+
+      unsigned int opcode6(const mp_func op,
+                           const unsigned int arg1, const unsigned int arg2, const unsigned int arg3,
+                           const unsigned int arg4, const unsigned int arg5, const unsigned int arg6) {
+        if (mempos>=mem._width) mem.resize(-200,1,1,1,0);
+        const unsigned int pos = mempos++;
+        CImg<longT>::vector(_cimg_mp_enfunc(op),pos,arg1,arg2,arg3,arg4,arg5,arg6).move_to(code);
+        return pos;
+      }
+
+      // Compilation procedure.
+      unsigned int compile(char *ss, char *se) {
+        if (ss<se) {
+          while (*ss==' ') ++ss;
+          while (se>ss && *(se-1)==' ') --se;
+        }
+        if (se<=ss || !*ss) {
+          throw CImgArgumentException("[_cimg_math_parser] "
+                                      "CImg<%s>::%s(): Missing item in expression '%s'.",
+                                      pixel_type(),calling_function,
+                                      expr._data);
+        }
+        char
+          *const se1 = se - 1, *const se2 = se - 2, *const se3 = se - 3,
+          *const ss1 = ss + 1, *const ss2 = ss + 2, *const ss3 = ss + 3, *const ss4 = ss + 4,
+          *const ss5 = ss + 5, *const ss6 = ss + 6, *const ss7 = ss + 7, *const ss8 = ss + 8;
+        const char saved_char = *se; *se = 0;
+        const unsigned int clevel = level[ss - expr._data], clevel1 = clevel + 1;
+        if (*se1==';') return compile(ss,se1);
+
+        // Look for a single value, variable or variable assignment.
+        char end = 0, sep = 0; double val = 0;
+        int nb = cimg_sscanf(ss,"%lf%c%c",&val,&sep,&end);
+        CImgList<longT> _opcode;
+
+#if cimg_OS==2
+        // Check for +/-NaN and +/-inf as Microsoft's sscanf() version is not able
+        // to read those particular values.
+        if (!nb && (*ss=='+' || *ss=='-' || *ss=='i' || *ss=='I' || *ss=='n' || *ss=='N')) {
+          bool is_positive = true;
+          const char *_ss = ss;
+          if (*_ss=='+') ++_ss; else if (*_ss=='-') { ++_ss; is_positive = false; }
+          if (!cimg::strcasecmp(_ss,"inf")) { val = cimg::type<double>::inf(); nb = 1; }
+          else if (!cimg::strcasecmp(_ss,"nan")) { val = cimg::type<double>::nan(); nb = 1; }
+          if (nb==1 && !is_positive) val = -val;
+        }
+#endif
+
+        if (nb==1) {
+          if (val==0 || val==1 || val==2 || val==3 || val==4 || val==5)
+            _cimg_mp_return((unsigned int)val);
+          if (mempos>=mem._width) mem.resize(-200,1,1,1,0);
+          const unsigned int pos = mempos++;
+          mem[pos] = val;
+          _cimg_mp_return(pos);
+        }
+        if (nb==2 && sep=='%') {
+          if (val==0 || val==100 || val==200 || val==300 || val==400 || val==500)
+            _cimg_mp_return((unsigned int)val/100);
+          if (mempos>=mem._width) mem.resize(-200,1,1,1,0);
+          const unsigned int pos = mempos++;
+          mem[pos] = val/100;
+          _cimg_mp_return(pos);
+        }
+        if (ss1==se) switch (*ss) { // One-char variable.
+          case 'w' : case 'h' : case 'd' : case 's' : case 'r' :
+          case 'x' : case 'y' : case 'z' : case 'c' : case 'e' : _cimg_mp_return(reserved_label[*ss]);
+          case 'u' : if (reserved_label['u']!=~0U) _cimg_mp_return(reserved_label['u']); _cimg_mp_opcode2(mp_u,0,1);
+          case 'g' : if (reserved_label['g']!=~0U) _cimg_mp_return(reserved_label['g']); _cimg_mp_opcode0(mp_g);
+          case 'i' : if (reserved_label['i']!=~0U) _cimg_mp_return(reserved_label['i']); _cimg_mp_opcode0(mp_i);
+          case '?' : _cimg_mp_opcode2(mp_u,0,1);
+          }
+        else if (ss2==se) { // Two-chars variable.
+          if (*ss=='w' && *ss1=='h') _cimg_mp_return(reserved_label[0]); // wh
+          if (*ss=='p' && *ss1=='i') _cimg_mp_return(reserved_label[3]); // pi
+          if (*ss=='i') { // im
+            if (*ss1=='m') {
+              if (!input_stats) input.get_stats().move_to(input_stats);
+              if (reserved_label[4]!=~0U) _cimg_mp_return(reserved_label[4]); _cimg_mp_opcode0(mp_im);
+            }
+            if (*ss1=='M') { // iM
+              if (!input_stats) input.get_stats().move_to(input_stats);
+              if (reserved_label[5]!=~0U) _cimg_mp_return(reserved_label[5]); _cimg_mp_opcode0(mp_iM);
+            }
+            if (*ss1=='a') { // ia
+              if (!input_stats) input.get_stats().move_to(input_stats);
+              if (reserved_label[6]!=~0U) _cimg_mp_return(reserved_label[6]); _cimg_mp_opcode0(mp_ia);
+            }
+            if (*ss1=='v') { // iv
+              if (!input_stats) input.get_stats().move_to(input_stats);
+              if (reserved_label[7]!=~0U) _cimg_mp_return(reserved_label[7]); _cimg_mp_opcode0(mp_iv);
+            }
+            if (*ss1=='s') { // is
+              if (!input_stats) input.get_stats().move_to(input_stats);
+              if (reserved_label[8]!=~0U) _cimg_mp_return(reserved_label[8]); _cimg_mp_opcode0(mp_is);
+            }
+            if (*ss1=='p') { // ip
+              if (!input_stats) input.get_stats().move_to(input_stats);
+              if (reserved_label[9]!=~0U) _cimg_mp_return(reserved_label[9]); _cimg_mp_opcode0(mp_ip);
+            }
+            if (*ss1=='c') { // ic
+              if (!is_median_value && input) { median_value = input.median(); is_median_value = true; }
+              if (reserved_label[10]!=~0U) _cimg_mp_return(reserved_label[10]); _cimg_mp_opcode0(mp_ic);
+            }
+          }
+          if (*ss1=='m') {
+            if (*ss=='x') { // xm
+              if (!input_stats) input.get_stats().move_to(input_stats);
+              if (reserved_label[11]!=~0U) _cimg_mp_return(reserved_label[11]); _cimg_mp_opcode0(mp_xm);
+            }
+            if (*ss=='y') { // ym
+              if (!input_stats) input.get_stats().move_to(input_stats);
+              if (reserved_label[12]!=~0U) _cimg_mp_return(reserved_label[12]); _cimg_mp_opcode0(mp_ym);
+            }
+            if (*ss=='z') { // zm
+              if (!input_stats) input.get_stats().move_to(input_stats);
+              if (reserved_label[13]!=~0U) _cimg_mp_return(reserved_label[13]); _cimg_mp_opcode0(mp_zm);
+            }
+            if (*ss=='c') { // cm
+              if (!input_stats) input.get_stats().move_to(input_stats);
+              if (reserved_label[14]!=~0U) _cimg_mp_return(reserved_label[14]); _cimg_mp_opcode0(mp_cm);
+            }
+          }
+          if (*ss1=='M') {
+            if (*ss=='x') { // xM
+              if (!input_stats) input.get_stats().move_to(input_stats);
+              if (reserved_label[15]!=~0U) _cimg_mp_return(reserved_label[15]); _cimg_mp_opcode0(mp_xM);
+            }
+            if (*ss=='y') { // yM
+              if (!input_stats) input.get_stats().move_to(input_stats);
+              if (reserved_label[16]!=~0U) _cimg_mp_return(reserved_label[16]); _cimg_mp_opcode0(mp_yM);
+            }
+            if (*ss=='z') { // zM
+              if (!input_stats) input.get_stats().move_to(input_stats);
+              if (reserved_label[17]!=~0U) _cimg_mp_return(reserved_label[17]); _cimg_mp_opcode0(mp_zM);
+            }
+            if (*ss=='c') { // cM
+              if (!input_stats) input.get_stats().move_to(input_stats);
+              if (reserved_label[18]!=~0U) _cimg_mp_return(reserved_label[18]); _cimg_mp_opcode0(mp_cM);
+            }
+          }
+        } else if (ss3==se) { // Three-chars variable.
+          if (*ss=='w' && *ss1=='h' && *ss2=='d') _cimg_mp_return(reserved_label[1]); // whd
+        } else if (ss4==se) { // Four-chars variable.
+          if (*ss=='w' && *ss1=='h' && *ss2=='d' && *ss3=='s') _cimg_mp_return(reserved_label[2]); // whds
+        }
+
+        // Look for variable declarations.
+        for (char *s = se2; s>ss; --s)
+          if (*s==';' && level[s - expr._data]==clevel) { compile(ss,s); _cimg_mp_return(compile(s + 1,se)); }
+        for (char *s = ss1, *ps = ss, *ns = ss2; s<se1; ++s, ++ps, ++ns)
+          if (*s=='=' && *ns!='=' && *ps!='=' && *ps!='>' && *ps!='<' && *ps!='!' && level[s - expr._data]==clevel) {
+            CImg<charT> variable_name(ss,(unsigned int)(s - ss + 1));
+            variable_name.back() = 0;
+            cimg::strpare(variable_name);
+            const unsigned int l_variable_name = std::strlen(variable_name);
+            char *const ve1 = ss + l_variable_name - 1;
+
+            if (l_variable_name>2 && (*ss=='i' || *ss=='j')) {
+              const bool is_relative = *ss=='j';
+              if (*ss1=='(' && *ve1==')') { // i/j(_x,_y,_z,_c)=value.
+                unsigned int
+                  indx = is_relative?0U:16U, indy = is_relative?0U:17U,
+                  indz = is_relative?0U:18U, indc = is_relative?0U:19U;
+                if (ss2!=ve1) {
+                  char *s1 = ss2; while (s1<ve1 && (*s1!=',' || level[s1 - expr._data]!=clevel1)) ++s1;
+                  indx = compile(ss2,s1);
+                  if (s1<ve1) {
+                    char *s2 = ++s1; while (s2<ve1 && (*s2!=',' || level[s2 - expr._data]!=clevel1)) ++s2;
+                    indy = compile(s1,s2);
+                    if (s2<ve1) {
+                      char *s3 = ++s2; while (s3<ve1 && (*s3!=',' || level[s3 - expr._data]!=clevel1)) ++s3;
+                      indz = compile(s2,s3);
+                      if (s3<ve1) indc = compile(++s3,ve1);
+                    }
+                  }
+                }
+                const unsigned int value = opcode1(mp_replace,compile(s + 1,se));
+                _cimg_mp_opcode5(is_relative?mp_set_jxyzc:mp_set_ixyzc,indx,indy,indz,indc,value);
+              } else if (*ss1=='[' && *ve1==']') { // i/j[off]=value.
+                unsigned int off = 0;
+                if (ss2!=ve1) off = compile(ss2,ve1);
+                const unsigned int value = opcode1(mp_replace,compile(s + 1,se));
+                _cimg_mp_opcode2(is_relative?mp_set_joff:mp_set_ioff,off,value);
+              }
+            }
+
+            bool is_valid_name = true;
+            if (*variable_name>='0' && *variable_name<='9') is_valid_name = false;
+            else for (const char *ns = variable_name._data + 1; *ns; ++ns)
+                   if ((*ns<'a' || *ns>'z') && (*ns<'A' || *ns>'Z') && (*ns<'0' || *ns>'9') && *ns!='_') {
+                     is_valid_name = false; break;
+                   }
+            if (!is_valid_name) {
+              *se = saved_char;
+              throw CImgArgumentException("[_cimg_math_parser] "
+                                          "CImg<%s>::%s(): Invalid variable name '%s' in expression "
+                                          "'%s%s%s'.",
+                                          pixel_type(),calling_function,
+                                          variable_name._data,
+                                          (ss - 8)>expr._data?"...":"",
+                                          (ss - 8)>expr._data?ss - 8:expr._data,
+                                          se<&expr.back()?"...":"");
+            }
+
+            // Ensure variable gets a new memory slot (makes it updatable).
+            const unsigned int pos = opcode1(mp_replace,compile(s + 1,se));
+
+            // Check for particular case of a reserved variable.
+            if (variable_name[1] && !variable_name[2]) { // Two-chars variable.
+              const char c1 = variable_name[0], c2 = variable_name[1];
+              if (c1=='w' && c2=='h') variable_name.fill((char)0,(char)0); // wh
+              else if (c1=='p' && c2=='i') variable_name.fill(3,0); // pi
+              else if (c1=='i') {
+                if (c2=='m') variable_name.fill(4,0); // im
+                else if (c2=='M') variable_name.fill(5,0); // iM
+                else if (c2=='a') variable_name.fill(6,0); // ia
+                else if (c2=='v') variable_name.fill(7,0); // iv
+                else if (c2=='s') variable_name.fill(8,0); // is
+                else if (c2=='p') variable_name.fill(9,0); // ip
+                else if (c2=='c') variable_name.fill(10,0); // ic
+              } else if (c2=='m') {
+                if (c1=='x') variable_name.fill(11,0); // xm
+                else if (c1=='y') variable_name.fill(12,0); // ym
+                else if (c1=='z') variable_name.fill(13,0); // zm
+                else if (c1=='c') variable_name.fill(14,0); // cm
+              } else if (c2=='M') {
+                if (c1=='x') variable_name.fill(15,0); // xM
+                else if (c1=='y') variable_name.fill(16,0); // yM
+                else if (c1=='z') variable_name.fill(17,0); // zM
+                else if (c1=='c') variable_name.fill(18,0); // cM
+              }
+            } else if (variable_name[1] && variable_name[2] && !variable_name[3]) { // Three-chars variable.
+              const char c1 = variable_name[0], c2 = variable_name[1], c3 = variable_name[2];
+              if (c1=='w' && c2=='h' && c3=='d') variable_name.fill(1,0,0); // whd
+            } else if (variable_name[1] && variable_name[2] && variable_name[3] &&
+                       !variable_name[4]) { // Four-chars variable.
+              const char c1 = variable_name[0], c2 = variable_name[1], c3 = variable_name[2],
+                c4 = variable_name[3];
+              if (c1=='w' && c2=='h' && c3=='d' && c4=='s') variable_name.fill(2,0,0,0); // whds
+            }
+
+            // Set new variable value.
+            if (!variable_name[1]) {
+              const unsigned int var_pos = reserved_label[*variable_name];
+              if (var_pos==~0U) reserved_label[*variable_name] = pos;
+              else {
+                CImg<longT>::vector(_cimg_mp_enfunc(mp_replace),var_pos,pos).move_to(code);
+                _cimg_mp_return(var_pos);
+              }
+            }
+            else {
+              int label_pos = -1;
+              cimglist_for(labelM,i) // Check for existing variable with same name.
+                if (!std::strcmp(variable_name,labelM[i])) { label_pos = i; break; }
+              if (label_pos<0) { // If new variable.
+                if (labelM._width>=labelMpos._width) labelMpos.resize(-200,1,1,1,0);
+                label_pos = labelM.width();
+                variable_name.move_to(labelM);
+                labelMpos[label_pos] = pos;
+              } else { // Existing variable.
+                const unsigned int var_pos = labelMpos[label_pos];
+                CImg<longT>::vector(_cimg_mp_enfunc(mp_replace),var_pos,pos).move_to(code);
+                _cimg_mp_return(var_pos);
+              }
+            }
+            _cimg_mp_return(pos);
+          }
+
+        // Look for unary/binary operators. The operator precedences is defined as in C++.
+        for (char *s = se3, *ns = se2; s>ss; --s, --ns) if (*s=='|' && *ns=='|' && level[s - expr._data]==clevel) {
+            const unsigned int mem_left = compile(ss,s), p_right = code._width, mem_right = compile(s + 2,se);
+            if (mempos>=mem._width) mem.resize(-200,1,1,1,0);
+            const unsigned int pos = mempos++;
+            CImg<longT>::vector(_cimg_mp_enfunc(mp_logical_or),pos,mem_left,mem_right,code._width - p_right).
+              move_to(code,p_right);
+            _cimg_mp_return(pos);
+          }
+        for (char *s = se3, *ns = se2; s>ss; --s, --ns) if (*s=='&' && *ns=='&' && level[s - expr._data]==clevel) {
+            const unsigned int mem_left = compile(ss,s), p_right = code._width, mem_right = compile(s + 2,se);
+            if (mempos>=mem._width) mem.resize(-200,1,1,1,0);
+            const unsigned int pos = mempos++;
+            CImg<longT>::vector(_cimg_mp_enfunc(mp_logical_and),pos,mem_left,mem_right,code._width - p_right).
+              move_to(code,p_right);
+            _cimg_mp_return(pos);
+          }
+        for (char *s = se2; s>ss; --s)
+          if (*s=='|' && level[s - expr._data]==clevel)
+            _cimg_mp_opcode2(mp_bitwise_or,compile(ss,s),compile(s + 1,se));
+        for (char *s = se2; s>ss; --s)
+          if (*s=='&' && level[s - expr._data]==clevel)
+            _cimg_mp_opcode2(mp_bitwise_and,compile(ss,s),compile(s + 1,se));
+        for (char *s = se3, *ns = se2; s>ss; --s, --ns)
+          if (*s=='!' && *ns=='=' && level[s - expr._data]==clevel)
+            _cimg_mp_opcode2(mp_noteq,compile(ss,s),compile(s + 2,se));
+        for (char *s = se3, *ns = se2; s>ss; --s, --ns)
+          if (*s=='=' && *ns=='=' && level[s - expr._data]==clevel)
+            _cimg_mp_opcode2(mp_eqeq,compile(ss,s),compile(s + 2,se));
+        for (char *s = se3, *ns = se2; s>ss; --s, --ns)
+          if (*s=='<' && *ns=='=' && level[s - expr._data]==clevel)
+            _cimg_mp_opcode2(mp_infeq,compile(ss,s),compile(s + 2,se));
+        for (char *s = se3, *ns = se2; s>ss; --s, --ns)
+          if (*s=='>' && *ns=='=' && level[s - expr._data]==clevel)
+            _cimg_mp_opcode2(mp_supeq,compile(ss,s),compile(s + 2,se));
+        for (char *s = se2, *ns = se1, *ps = se3; s>ss; --s, --ns, --ps)
+          if (*s=='<' && *ns!='<' && *ps!='<' && level[s - expr._data]==clevel)
+            _cimg_mp_opcode2(mp_inf,compile(ss,s),compile(s + 1,se));
+        for (char *s = se2, *ns = se1, *ps = se3; s>ss; --s, --ns, --ps)
+          if (*s=='>' && *ns!='>' && *ps!='>' && level[s - expr._data]==clevel)
+            _cimg_mp_opcode2(mp_sup,compile(ss,s),compile(s + 1,se));
+        for (char *s = se3, *ns = se2; s>ss; --s, --ns)
+          if (*s=='<' && *ns=='<' && level[s - expr._data]==clevel)
+            _cimg_mp_opcode2(mp_lsl,compile(ss,s),compile(s + 2,se));
+        for (char *s = se3, *ns = se2; s>ss; --s, --ns)
+          if (*s=='>' && *ns=='>' && level[s - expr._data]==clevel)
+            _cimg_mp_opcode2(mp_lsr,compile(ss,s),compile(s + 2,se));
+        for (char *s = se2, *ps = se3; s>ss; --s, --ps)
+          if (*s=='+' && *ps!='-' && *ps!='+' && *ps!='*' && *ps!='/' && *ps!='%' &&
+              *ps!='&' && *ps!='|' && *ps!='^' && *ps!='!' && *ps!='~' &&
+              (*ps!='e' || !(ps>ss && (*(ps - 1)=='.' || (*(ps - 1)>='0' && *(ps - 1)<='9')))) &&
+              level[s - expr._data]==clevel)
+            _cimg_mp_opcode2(mp_add,compile(ss,s),compile(s + 1,se));
+        for (char *s = se2, *ps = se3; s>ss; --s, --ps)
+          if (*s=='-' && *ps!='-' && *ps!='+' && *ps!='*' && *ps!='/' && *ps!='%' &&
+              *ps!='&' && *ps!='|' && *ps!='^' && *ps!='!' && *ps!='~' &&
+              (*ps!='e' || !(ps>ss && (*(ps - 1)=='.' || (*(ps - 1)>='0' && *(ps - 1)<='9')))) &&
+              level[s - expr._data]==clevel)
+            _cimg_mp_opcode2(mp_sub,compile(ss,s),compile(s + 1,se));
+        for (char *s = se2; s>ss; --s) if (*s=='*' && level[s - expr._data]==clevel) {
+            const unsigned int mem_left = compile(ss,s), p_right = code._width, mem_right = compile(s + 1,se);
+            if (mempos>=mem._width) mem.resize(-200,1,1,1,0);
+            const unsigned int pos = mempos++;
+            CImg<longT>::vector(_cimg_mp_enfunc(mp_mul),pos,mem_left,mem_right,code._width - p_right).
+              move_to(code,p_right);
+            _cimg_mp_return(pos);
+          }
+        for (char *s = se2; s>ss; --s)
+          if (*s=='/' && level[s - expr._data]==clevel)
+            _cimg_mp_opcode2(mp_div,compile(ss,s),compile(s + 1,se));
+        for (char *s = se2, *ns = se1; s>ss; --s, --ns)
+          if (*s=='%' && *ns!='^' && level[s - expr._data]==clevel)
+            _cimg_mp_opcode2(mp_modulo,compile(ss,s),compile(s + 1,se));
+        if (ss<se1) {
+          if (*ss=='+') _cimg_mp_return(compile(ss1,se));
+          if (*ss=='-') _cimg_mp_opcode1(mp_minus,compile(ss1,se));
+          if (*ss=='!') _cimg_mp_opcode1(mp_logical_not,compile(ss1,se));
+          if (*ss=='~') _cimg_mp_opcode1(mp_bitwise_not,compile(ss1,se));
+        }
+        for (char *s = se2; s>ss; --s)
+          if (*s=='^' && level[s - expr._data]==clevel)
+            _cimg_mp_opcode2(mp_pow,compile(ss,s),compile(s + 1,se));
+
+        // Array-like access to image values 'i[offset]' and 'j[offset]'.
+        if (*se1==']') {
+          const bool is_relative = *ss=='j';
+          if ((*ss=='i' || is_relative) && *ss1=='[') {
+            if (*ss2==']') _cimg_mp_opcode0(mp_i);
+            _cimg_mp_opcode1(is_relative?mp_joff:mp_ioff,compile(ss2,se1));
+          }
+        }
+
+        // Look for a function call or a parenthesis.
+        if (*se1==')') {
+          if (*ss=='(') _cimg_mp_return(compile(ss1,se1));
+
+          const bool is_relative = *ss=='j';
+          if ((*ss=='i' || is_relative) && *ss1=='(') {
+            if (*ss2==')') _cimg_mp_opcode0(mp_i);
+            unsigned int
+              indx = is_relative?0U:16U, indy = is_relative?0U:17U,
+              indz = is_relative?0U:18U, indc = is_relative?0U:19U,
+              borders = 0, interpolation = 0;
+            if (ss2!=se1) {
+              char *s1 = ss2; while (s1<se1 && (*s1!=',' || level[s1 - expr._data]!=clevel1)) ++s1;
+              indx = compile(ss2,s1);
+              if (s1<se1) {
+                char *s2 = ++s1; while (s2<se1 && (*s2!=',' || level[s2 - expr._data]!=clevel1)) ++s2;
+                indy = compile(s1,s2);
+                if (s2<se1) {
+                  char *s3 = ++s2; while (s3<se1 && (*s3!=',' || level[s3 - expr._data]!=clevel1)) ++s3;
+                  indz = compile(s2,s3);
+                  if (s3<se1) {
+                    char *s4 = ++s3; while (s4<se1 && (*s4!=',' || level[s4 - expr._data]!=clevel1)) ++s4;
+                    indc = compile(s3,s4);
+                    if (s4<se1) {
+                      char *s5 = ++s4; while (s5<se1 && (*s5!=',' || level[s5 - expr._data]!=clevel1)) ++s5;
+                      interpolation = compile(s4,s5);
+                      if (s5<se1) borders = compile(++s5,se1);
+                    }
+                  }
+                }
+              }
+            }
+            _cimg_mp_opcode6(is_relative?mp_jxyzc:mp_ixyzc,indx,indy,indz,indc,interpolation,borders);
+          }
+          if (!std::strncmp(ss,"sin(",4)) _cimg_mp_opcode1(mp_sin,compile(ss4,se1));
+          if (!std::strncmp(ss,"cos(",4)) _cimg_mp_opcode1(mp_cos,compile(ss4,se1));
+          if (!std::strncmp(ss,"tan(",4)) _cimg_mp_opcode1(mp_tan,compile(ss4,se1));
+          if (!std::strncmp(ss,"log(",4)) _cimg_mp_opcode1(mp_log,compile(ss4,se1));
+          if (!std::strncmp(ss,"exp(",4)) _cimg_mp_opcode1(mp_exp,compile(ss4,se1));
+          if (!std::strncmp(ss,"abs(",4)) _cimg_mp_opcode1(mp_abs,compile(ss4,se1));
+          if (!std::strncmp(ss,"int(",4)) _cimg_mp_opcode1(mp_int,compile(ss4,se1));
+          if (!std::strncmp(ss,"sqr(",4)) _cimg_mp_opcode1(mp_sqr,compile(ss4,se1));
+          if (!std::strncmp(ss,"asin(",5)) _cimg_mp_opcode1(mp_asin,compile(ss5,se1));
+          if (!std::strncmp(ss,"acos(",5)) _cimg_mp_opcode1(mp_acos,compile(ss5,se1));
+          if (!std::strncmp(ss,"atan(",5)) _cimg_mp_opcode1(mp_atan,compile(ss5,se1));
+          if (!std::strncmp(ss,"sinh(",5)) _cimg_mp_opcode1(mp_sinh,compile(ss5,se1));
+          if (!std::strncmp(ss,"cosh(",5)) _cimg_mp_opcode1(mp_cosh,compile(ss5,se1));
+          if (!std::strncmp(ss,"tanh(",5)) _cimg_mp_opcode1(mp_tanh,compile(ss5,se1));
+          if (!std::strncmp(ss,"log2(",5)) _cimg_mp_opcode1(mp_log2,compile(ss5,se1));
+          if (!std::strncmp(ss,"sqrt(",5)) _cimg_mp_opcode1(mp_sqrt,compile(ss5,se1));
+          if (!std::strncmp(ss,"cbrt(",5)) _cimg_mp_opcode1(mp_cbrt,compile(ss5,se1));
+          if (!std::strncmp(ss,"sign(",5)) _cimg_mp_opcode1(mp_sign,compile(ss5,se1));
+          if (!std::strncmp(ss,"sinc(",5)) _cimg_mp_opcode1(mp_sinc,compile(ss5,se1));
+          if (!std::strncmp(ss,"log10(",6)) _cimg_mp_opcode1(mp_log10,compile(ss6,se1));
+
+          if ((*ss=='?' || *ss=='u') && *ss1=='(') { // ?() and u().
+            if (*ss2==')') _cimg_mp_opcode2(mp_u,0,1);
+            char *s1 = ss2; while (s1<se1 && (*s1!=',' || level[s1 - expr._data]!=clevel1)) ++s1;
+            if (s1<se1) _cimg_mp_opcode2(mp_u,compile(ss2,s1),compile(s1 + 1,se1));
+            _cimg_mp_opcode2(mp_u,0,compile(ss2,s1));
+          }
+          if (*ss=='i' && *ss1=='f' && *ss2=='(') { // if().
+            char *s1 = ss3; while (s1<se1 && (*s1!=',' || level[s1 - expr._data]!=clevel1)) ++s1;
+            char *s2 = s1 + 1; while (s2<se1 && (*s2!=',' || level[s2 - expr._data]!=clevel1)) ++s2;
+            const unsigned int
+              mem_cond = compile(ss3,s1),
+              p_left = code._width, mem_left = compile(s1 + 1,s2),
+              p_right = code._width, mem_right = compile(s2 + 1,se1);
+            if (mempos>=mem._width) mem.resize(-200,1,1,1,0);
+            const unsigned int pos = mempos++;
+            CImg<longT>::vector(_cimg_mp_enfunc(mp_if),pos,mem_cond,mem_left,mem_right,
+                                p_right - p_left,code._width - p_right).move_to(code,p_left);
+            _cimg_mp_return(pos);
+          }
+          if (*ss=='f' && *ss1=='o' && *ss2=='r' && *ss3=='(') { // for().
+            char *s1 = ss4; while (s1<se1 && (*s1!=',' || level[s1 - expr._data]!=clevel1)) ++s1;
+            char *s2 = s1 + 1; while (s2<se1 && (*s2!=',' || level[s2 - expr._data]!=clevel1)) ++s2;
+            char *s3 = s2 + 1; while (s3<se1 && (*s3!=',' || level[s3 - expr._data]!=clevel1)) ++s3;
+            compile(ss4,s1);
+            const unsigned int p_cond = code._width, mem_cond = compile(s1 + 1,s2), p_proc = code._width;
+            unsigned int mem_return;
+            if (s3<se1) { mem_return = compile(s3 + 1,se1); compile(s2 + 1,s3); } // Body + proc.
+            else mem_return = compile(s2 + 1,se1); // Proc only.
+            CImg<longT>::vector(_cimg_mp_enfunc(mp_whiledo),mem_return,mem_cond,p_proc - p_cond,code._width - p_proc).
+              move_to(code,p_cond);
+            _cimg_mp_return(mem_return);
+          }
+          if (!std::strncmp(ss,"dowhile(",8)) {
+            char *s1 = ss8; while (s1<se1 && (*s1!=',' || level[s1 - expr._data]!=clevel1)) ++s1;
+            const unsigned int
+              p_proc = code._width, mem_proc = compile(ss8,s1), mem_cond = compile(s1 + 1,se1);
+            CImg<longT>::vector(_cimg_mp_enfunc(mp_dowhile),mem_proc,mem_cond,code._width - p_proc).
+              move_to(code,p_proc);
+            _cimg_mp_return(mem_proc);
+          }
+          if (!std::strncmp(ss,"whiledo(",8)) {
+            char *s1 = ss8; while (s1<se1 && (*s1!=',' || level[s1 - expr._data]!=clevel1)) ++s1;
+            const unsigned int
+              p_cond = code._width, mem_cond = compile(ss8,s1),
+              p_proc = code._width, mem_proc = compile(s1 + 1,se1);
+            CImg<longT>::vector(_cimg_mp_enfunc(mp_whiledo),mem_proc,mem_cond,p_proc - p_cond,code._width - p_proc).
+              move_to(code,p_cond);
+            _cimg_mp_return(mem_proc);
+          }
+          if (!std::strncmp(ss,"min(",4) || !std::strncmp(ss,"max(",4) ||
+              !std::strncmp(ss,"med(",4) || !std::strncmp(ss,"kth(",4) ||
+              !std::strncmp(ss,"arg(",4) ||
+              !std::strncmp(ss,"argmin(",7) || !std::strncmp(ss,"argmax(",7)) {
+            if (mempos>=mem.size()) mem.resize(-200,1,1,1,0);
+            const unsigned int pos = mempos++;
+            const bool is_argm = *ss=='a' && ss[3]!='(';
+            CImg<longT>::vector(_cimg_mp_enfunc(*ss=='a'?(ss[3]=='('?mp_arg:ss[4]=='i'?mp_argmin:mp_argmax):
+                                                *ss=='k'?mp_kth:ss[1]=='i'?mp_min:
+                                                ss[1]=='a'?mp_max:mp_med),pos).
+              move_to(_opcode);
+            for (char *s = is_argm?ss7:ss4; s<se; ++s) {
+              char *ns = s; while (ns<se && (*ns!=',' || level[ns - expr._data]!=clevel1) &&
+                                   (*ns!=')' || level[ns - expr._data]!=clevel)) ++ns;
+              CImg<longT>::vector(compile(s,ns)).move_to(_opcode);
+              s = ns;
+            }
+            (_opcode>'y').move_to(code);
+            _cimg_mp_return(pos);
+          }
+          if (!std::strncmp(ss,"rol(",4) || !std::strncmp(ss,"ror(",4)) {
+            unsigned int value = 0, nb = 1;
+            char *s1 = ss4; while (s1<se1 && (*s1!=',' || level[s1-expr._data]!=clevel1)) ++s1;
+            value = compile(ss4,s1==se2?++s1:s1);
+            if (s1<se1) {
+              char *s2 = s1 + 1; while (s2<se1 && (*s2!=',' || level[s2-expr._data]!=clevel1)) ++s2;
+              nb = compile(s1 + 1,se1);
+            }
+            _cimg_mp_opcode2(*ss2=='l'?mp_rol:mp_ror,value,nb);
+          }
+          if (!std::strncmp(ss,"narg(",5)) {
+            if (*ss5==')') _cimg_mp_return(0);
+            unsigned int nb_args = 0;
+            for (char *s = ss5; s<se; ++s) {
+              char *ns = s; while (ns<se && (*ns!=',' || level[ns - expr._data]!=clevel1) &&
+                                   (*ns!=')' || level[ns - expr._data]!=clevel)) ++ns;
+              ++nb_args; s = ns;
+            }
+            if (nb_args==0 || nb_args==1) _cimg_mp_return(nb_args);
+            if (mempos>=mem.size()) mem.resize(-200,1,1,1,0);
+            const unsigned int pos = mempos++;
+            mem[pos] = nb_args;
+            _cimg_mp_return(pos);
+          }
+          if (!std::strncmp(ss,"atan2(",6)) {
+            char *s1 = ss6; while (s1<se1 && (*s1!=',' || level[s1 - expr._data]!=clevel1)) ++s1;
+            _cimg_mp_opcode2(mp_atan2,compile(ss6,s1),compile(s1 + 1,se1));
+          }
+          if (!std::strncmp(ss,"hypot(",6)) {
+            char *s1 = ss6; while (s1<se1 && (*s1!=',' || level[s1 - expr._data]!=clevel1)) ++s1;
+            _cimg_mp_opcode2(mp_hypot,compile(ss6,s1),compile(s1 + 1,se1));
+          }
+          if (!std::strncmp(ss,"round(",6)) {
+            unsigned int value = 0, round = 1, direction = 0;
+            char *s1 = ss6; while (s1<se1 && (*s1!=',' || level[s1 - expr._data]!=clevel1)) ++s1;
+            value = compile(ss6,s1==se2?++s1:s1);
+            if (s1<se1) {
+              char *s2 = s1 + 1; while (s2<se1 && (*s2!=',' || level[s2 - expr._data]!=clevel1)) ++s2;
+              round = compile(s1 + 1,s2==se2?++s2:s2);
+              if (s2<se1) direction = compile(s2 + 1,se1);
+            }
+            _cimg_mp_opcode3(mp_round,value,round,direction);
+          }
+          unsigned int norm_type = ~0U;
+          if ((cimg_sscanf(ss,"norm%u%c",&norm_type,&sep)==2 && sep=='(') ||
+              !std::strncmp(ss,"norminf(",8)) {
+            if (mempos>=mem.size()) mem.resize(-200,1,1,1,0);
+            const unsigned int pos = mempos++;
+            CImg<longT>::vector(_cimg_mp_enfunc(mp_norm),pos,(longT)(norm_type==~0U?-1:(int)norm_type)).
+              move_to(_opcode);
+            for (char *s = std::strchr(ss5,'(') + 1; s<se; ++s) {
+              char *ns = s; while (ns<se && (*ns!=',' || level[ns - expr._data]!=clevel1) &&
+                                   (*ns!=')' || level[ns - expr._data]!=clevel)) ++ns;
+              CImg<longT>::vector(compile(s,ns)).move_to(_opcode);
+              s = ns;
+            }
+            (_opcode>'y').move_to(code);
+            _cimg_mp_return(pos);
+          }
+          if (!std::strncmp(ss,"date(",5)) {
+            char *s1 = ss5; while (s1<se1 && (*s1!=',' || level[s1 - expr._data]!=clevel1)) ++s1;
+            unsigned int attr;
+            int d = -1;
+            if (cimg_sscanf(ss5,"%u%c",&attr,&sep)==2 && sep==')') {
+              *se1 = 0;
+              d = cimg::date(attr);
+              *se1 = ')';
+            }
+            if (d==0 || d==1) _cimg_mp_return((unsigned int)d);
+            if (mempos>=mem.size()) mem.resize(-200,1,1,1,0);
+            const unsigned int pos = mempos++;
+            mem[pos] = d;
+            _cimg_mp_return(pos);
+          }
+          if (!std::strncmp(ss,"fdate(",6)) {
+            char *s1 = ss6; while (s1<se1 && (*s1!=',' || level[s1 - expr._data]!=clevel1)) ++s1;
+            unsigned int attr;
+            int d = -1;
+            if (cimg_sscanf(ss6,"%u%c",&attr,&(sep=0))==2 && sep) {
+              *se1 = 0;
+              d = cimg::fdate(s1+1,attr);
+              *se1 = ')';
+            }
+            if (d==0 || d==1) _cimg_mp_return((unsigned int)d);
+            if (mempos>=mem.size()) mem.resize(-200,1,1,1,0);
+            const unsigned int pos = mempos++;
+            mem[pos] = d;
+            _cimg_mp_return(pos);
+          }
+          if (!std::strncmp(ss,"print(",6)) {
+            const unsigned int pos = compile(ss6,se1);
+            *se1 = 0;
+            ((CImg<longT>::vector(_cimg_mp_enfunc(mp_print),pos),CImg<longT>::string(ss6).unroll('y'))>'y').
+              move_to(code);
+            *se1 = ')';
+            _cimg_mp_return(pos);
+          }
+
+          // Sub-family of 'is_?()' functions.
+          if (*ss=='i' && *ss1=='s') {
+            if (!std::strncmp(ss,"isin(",5)) {
+              if (mempos>=mem.size()) mem.resize(-200,1,1,1,0);
+              const unsigned int pos = mempos++;
+              CImg<longT>::vector(_cimg_mp_enfunc(mp_isin),pos).move_to(_opcode);
+              for (char *s = ss5; s<se; ++s) {
+                char *ns = s; while (ns<se && (*ns!=',' || level[ns - expr._data]!=clevel1) &&
+                                     (*ns!=')' || level[ns - expr._data]!=clevel)) ++ns;
+                CImg<longT>::vector(compile(s,ns)).move_to(_opcode);
+                s = ns;
+              }
+              (_opcode>'y').move_to(code);
+              _cimg_mp_return(pos);
+            }
+            if (!std::strncmp(ss,"isval(",6)) {
+              double val = 0;
+              if (cimg_sscanf(ss6,"%lf%c%c",&val,&sep,&end)==2 && sep==')') _cimg_mp_return(1);
+              _cimg_mp_return(0);
+            }
+            if (!std::strncmp(ss,"isdir(",6)) {
+              *se1 = 0;
+              const bool is_dir = cimg::is_directory(ss6);
+              *se1 = ')';
+              _cimg_mp_return(is_dir?1U:0U);
+            }
+            if (!std::strncmp(ss,"isfile(",7)) {
+              *se1 = 0;
+              const bool is_file = cimg::is_file(ss7);
+              *se1 = ')';
+              _cimg_mp_return(is_file?1U:0U);
+            }
+            if (!std::strncmp(ss,"isnan(",6)) {
+              if (ss6==se1) _cimg_mp_return(0);
+              _cimg_mp_opcode1(mp_isnan,compile(ss6,se1));
+            }
+            if (!std::strncmp(ss,"isinf(",6)) {
+              if (ss6==se1) _cimg_mp_return(0);
+              _cimg_mp_opcode1(mp_isinf,compile(ss6,se1));
+            }
+            if (!std::strncmp(ss,"isint(",6)) {
+              if (ss6==se1) _cimg_mp_return(0);
+              _cimg_mp_opcode1(mp_isint,compile(ss6,se1));
+            }
+            if (!std::strncmp(ss,"isbool(",7)) {
+              if (ss7==se1) _cimg_mp_return(0);
+              _cimg_mp_opcode1(mp_isbool,compile(ss7,se1));
+            }
+          }
+        }
+
+        // No known item found, assuming this is an already initialized variable.
+        CImg<charT> variable_name(ss,(unsigned int)(se - ss + 1));
+        variable_name.back() = 0;
+        if (variable_name[1]) { // Multi-char variable.
+          cimglist_for(labelM,i) if (!std::strcmp(variable_name,labelM[i])) _cimg_mp_return(labelMpos[i]);
+        } else if (reserved_label[*variable_name]!=~0U) // Single-char variable.
+          _cimg_mp_return(reserved_label[*variable_name]);
+        *se = saved_char;
+        throw CImgArgumentException("[_cimg_math_parser] "
+                                    "CImg<%s>::%s(): Invalid item '%s' in expression '%s%s%s'.",
+                                    pixel_type(),calling_function,
+                                    variable_name._data,
+                                    (ss - 8)>expr._data?"...":"",
+                                    (ss - 8)>expr._data?ss - 8:expr._data,
+                                    se<&expr.back()?"...":"");
+      }
+
+      // Evaluation functions, known by the parser.
+      // Defining these functions 'static' ensures that sizeof(mp_func)==sizeof(ulong), so we can store pointers to them
+      // directly in the opcode vectors.
+      static double mp_u(_cimg_math_parser& mp) {
+        return mp.mem[mp.opcode(2)] + cimg::rand()*(mp.mem[mp.opcode(3)] - mp.mem[mp.opcode(2)]);
+      }
+
+      static double mp_g(_cimg_math_parser& mp) {
+        cimg::unused(mp);
+        return cimg::grand();
+      }
+
+      static double mp_i(_cimg_math_parser& mp) {
+        return (double)mp.input.atXYZC((int)mp.mem[16],(int)mp.mem[17],(int)mp.mem[18],(int)mp.mem[19],0);
+      }
+
+      static double mp_logical_and(_cimg_math_parser& mp) {
+        const bool value_left = (bool)mp.mem[mp.opcode(2)];
+        const CImg<longT> *const p_end = ++mp.p_code + mp.opcode(4);
+        if (!value_left) { mp.p_code = p_end - 1; return 0; }
+        const unsigned int mem_right = (unsigned int)mp.opcode(3);
+        for ( ; mp.p_code<p_end; ++mp.p_code) {
+          cimg_test_abort();
+          const CImg<longT> &op = *mp.p_code;
+          mp.opcode._data = op._data; mp.opcode._height = op._height;
+          const unsigned int target = (unsigned int)mp.opcode[1];
+          mp.mem[target] = _cimg_mp_defunc(mp);
+        }
+        --mp.p_code;
+        return (double)(bool)mp.mem[mem_right];
+      }
+
+      static double mp_logical_or(_cimg_math_parser& mp) {
+        const bool value_left = (bool)mp.mem[mp.opcode(2)];
+        const CImg<longT> *const p_end = ++mp.p_code + mp.opcode(4);
+        if (value_left) { mp.p_code = p_end - 1; return 1; }
+        const unsigned int mem_right = (unsigned int)mp.opcode(3);
+        for ( ; mp.p_code<p_end; ++mp.p_code) {
+          cimg_test_abort();
+          const CImg<longT> &op = *mp.p_code;
+          mp.opcode._data = op._data; mp.opcode._height = op._height;
+          const unsigned int target = (unsigned int)mp.opcode[1];
+          mp.mem[target] = _cimg_mp_defunc(mp);
+        }
+        --mp.p_code;
+        return (double)(bool)mp.mem[mem_right];
+      }
+
+      static double mp_infeq(_cimg_math_parser& mp) {
+        return (double)(mp.mem[mp.opcode(2)]<=mp.mem[mp.opcode(3)]);
+      }
+
+      static double mp_supeq(_cimg_math_parser& mp) {
+        return (double)(mp.mem[mp.opcode(2)]>=mp.mem[mp.opcode(3)]);
+      }
+
+      static double mp_noteq(_cimg_math_parser& mp) {
+        return (double)(mp.mem[mp.opcode(2)]!=mp.mem[mp.opcode(3)]);
+      }
+
+      static double mp_eqeq(_cimg_math_parser& mp) {
+        return (double)(mp.mem[mp.opcode(2)]==mp.mem[mp.opcode(3)]);
+      }
+
+      static double mp_inf(_cimg_math_parser& mp) {
+        return (double)(mp.mem[mp.opcode(2)]<mp.mem[mp.opcode(3)]);
+      }
+
+      static double mp_sup(_cimg_math_parser& mp) {
+        return (double)(mp.mem[mp.opcode(2)]>mp.mem[mp.opcode(3)]);
+      }
+
+      static double mp_add(_cimg_math_parser& mp) {
+        return mp.mem[mp.opcode(2)] + mp.mem[mp.opcode(3)];
+      }
+
+      static double mp_sub(_cimg_math_parser& mp) {
+        return mp.mem[mp.opcode(2)] - mp.mem[mp.opcode(3)];
+      }
+
+      static double mp_mul(_cimg_math_parser& mp) {
+        const double value_left = mp.mem[mp.opcode(2)];
+        const CImg<longT> *const p_end = ++mp.p_code + mp.opcode(4);
+        if (!value_left) { mp.p_code = p_end - 1; return 0; }
+        const unsigned int mem_right = (unsigned int)mp.opcode(3);
+        for ( ; mp.p_code<p_end; ++mp.p_code) {
+          cimg_test_abort();
+          const CImg<longT> &op = *mp.p_code;
+          mp.opcode._data = op._data; mp.opcode._height = op._height;
+          const unsigned int target = (unsigned int)mp.opcode[1];
+          mp.mem[target] = _cimg_mp_defunc(mp);
+        }
+        --mp.p_code;
+        return value_left*(double)mp.mem[mem_right];
+      }
+
+      static double mp_div(_cimg_math_parser& mp) {
+        return mp.mem[mp.opcode(2)] / mp.mem[mp.opcode(3)];
+      }
+
+      static double mp_minus(_cimg_math_parser& mp) {
+        return -mp.mem[mp.opcode(2)];
+      }
+
+      static double mp_logical_not(_cimg_math_parser& mp) {
+        return !mp.mem[mp.opcode(2)];
+      }
+
+      static double mp_bitwise_not(_cimg_math_parser& mp) {
+        return ~(unsigned long)mp.mem[mp.opcode(2)];
+      }
+
+      static double mp_modulo(_cimg_math_parser& mp) {
+        return cimg::mod(mp.mem[mp.opcode(2)],mp.mem[mp.opcode(3)]);
+      }
+
+      static double mp_bitwise_and(_cimg_math_parser& mp) {
+        return ((unsigned long)mp.mem[mp.opcode(2)] & (unsigned long)mp.mem[mp.opcode(3)]);
+      }
+
+      static double mp_bitwise_or(_cimg_math_parser& mp) {
+        return ((unsigned long)mp.mem[mp.opcode(2)] | (unsigned long)mp.mem[mp.opcode(3)]);
+      }
+
+      static double mp_pow(_cimg_math_parser& mp) {
+        const double v = mp.mem[mp.opcode(2)], p = mp.mem[mp.opcode(3)];
+        if (p==0) return 1;
+        if (p==0.5) return std::sqrt(v);
+        if (p==1) return v;
+        if (p==2) return v*v;
+        if (p==3) return v*v*v;
+        if (p==4) return v*v*v*v;
+        return std::pow(v,p);
+      }
+
+      static double mp_sin(_cimg_math_parser& mp) {
+        return std::sin(mp.mem[mp.opcode(2)]);
+      }
+
+      static double mp_cos(_cimg_math_parser& mp) {
+        return std::cos(mp.mem[mp.opcode(2)]);
+      }
+
+      static double mp_tan(_cimg_math_parser& mp) {
+        return std::tan(mp.mem[mp.opcode(2)]);
+      }
+
+      static double mp_asin(_cimg_math_parser& mp) {
+        return std::asin(mp.mem[mp.opcode(2)]);
+      }
+
+      static double mp_acos(_cimg_math_parser& mp) {
+        return std::acos(mp.mem[mp.opcode(2)]);
+      }
+
+      static double mp_atan(_cimg_math_parser& mp) {
+        return std::atan(mp.mem[mp.opcode(2)]);
+      }
+
+      static double mp_sinh(_cimg_math_parser& mp) {
+        return std::sinh(mp.mem[mp.opcode(2)]);
+      }
+
+      static double mp_cosh(_cimg_math_parser& mp) {
+        return std::cosh(mp.mem[mp.opcode(2)]);
+      }
+
+      static double mp_tanh(_cimg_math_parser& mp) {
+        return std::tanh(mp.mem[mp.opcode(2)]);
+      }
+
+      static double mp_log10(_cimg_math_parser& mp) {
+        return std::log10(mp.mem[mp.opcode(2)]);
+      }
+
+      static double mp_log2(_cimg_math_parser& mp) {
+        return cimg::log2(mp.mem[mp.opcode(2)]);
+      }
+
+      static double mp_log(_cimg_math_parser& mp) {
+        return std::log(mp.mem[mp.opcode(2)]);
+      }
+
+      static double mp_exp(_cimg_math_parser& mp) {
+        return std::exp(mp.mem[mp.opcode(2)]);
+      }
+
+      static double mp_sqr(_cimg_math_parser& mp) {
+        return cimg::sqr(mp.mem[mp.opcode(2)]);
+      }
+
+      static double mp_sqrt(_cimg_math_parser& mp) {
+        return std::sqrt(mp.mem[mp.opcode(2)]);
+      }
+
+      static double mp_cbrt(_cimg_math_parser& mp) {
+        return std::pow(mp.mem[mp.opcode(2)],1.0/3);
+      }
+
+      static double mp_hypot(_cimg_math_parser& mp) {
+        double
+          x = cimg::abs(mp.mem[mp.opcode(2)]),
+          y = cimg::abs(mp.mem[mp.opcode(3)]),
+          t;
+        if (x<y) { t = x; x = y; } else t = y;
+        if (x>0) { t/=x; return x*std::sqrt(1+t*t); }
+        return 0;
+      }
+
+      static double mp_norm(_cimg_math_parser& mp) {
+        const unsigned int norm_type = (unsigned int)mp.opcode(2);
+        double res = 0;
+        switch (norm_type) {
+        case 0 : // L0-norm.
+          for (unsigned int i = 3; i<mp.opcode._height; ++i)
+            res+=mp.mem[mp.opcode(i)]==0?0:1;
+          break;
+        case 1 : // L1-norm.
+          for (unsigned int i = 3; i<mp.opcode._height; ++i)
+            res+=cimg::abs(mp.mem[mp.opcode(i)]);
+          break;
+        case 2 : // L2-norm.
+          for (unsigned int i = 3; i<mp.opcode._height; ++i) {
+            const double val = mp.mem[mp.opcode(i)];
+            res+=val*val;
+          }
+          res = std::sqrt(res);
+          break;
+        case ~0U : // Linf-norm.
+          for (unsigned int i = 3; i<mp.opcode._height; ++i) {
+            const double val = cimg::abs(mp.mem[mp.opcode(i)]);
+            if (val>res) res = val;
+          }
+          break;
+        default: // Lp-norm.
+          for (unsigned int i = 3; i<mp.opcode._height; ++i)
+            res+=std::pow(cimg::abs(mp.mem[mp.opcode(i)]),(double)norm_type);
+          res = std::pow(res,1.0/norm_type);
+        }
+        return res>0?res:0.0;
+      }
+
+      static double mp_sign(_cimg_math_parser& mp) {
+        return cimg::sign(mp.mem[mp.opcode(2)]);
+      }
+
+      static double mp_time(_cimg_math_parser& mp) {
+        cimg::unused(mp);
+        return (double)cimg::time();
+      }
+
+      static double mp_abs(_cimg_math_parser& mp) {
+        return cimg::abs(mp.mem[mp.opcode(2)]);
+      }
+
+      static double mp_atan2(_cimg_math_parser& mp) {
+        return std::atan2(mp.mem[mp.opcode(2)],mp.mem[mp.opcode(3)]);
+      }
+
+      static double mp_round(_cimg_math_parser& mp) {
+        return cimg::round(mp.mem[mp.opcode(2)],mp.mem[mp.opcode(3)],(int)mp.mem[mp.opcode(4)]);
+      }
+
+      static double mp_min(_cimg_math_parser& mp) {
+        double val = mp.mem[mp.opcode(2)];
+        for (unsigned int i = 3; i<mp.opcode._height; ++i) val = cimg::min(val,mp.mem[mp.opcode(i)]);
+        return val;
+      }
+
+      static double mp_max(_cimg_math_parser& mp) {
+        double val = mp.mem[mp.opcode(2)];
+        for (unsigned int i = 3; i<mp.opcode._height; ++i) val = cimg::max(val,mp.mem[mp.opcode(i)]);
+        return val;
+      }
+
+      static double mp_med(_cimg_math_parser& mp) {
+        CImg<doubleT> values(mp.opcode._height - 2);
+        double *p = values.data();
+        for (unsigned int i = 2; i<mp.opcode._height; ++i) *(p++) = mp.mem[mp.opcode(i)];
+        return values.median();
+      }
+
+      static double mp_kth(_cimg_math_parser& mp) {
+        CImg<doubleT> values(mp.opcode._height - 3);
+        double *p = values.data();
+        for (unsigned int i = 3; i<mp.opcode._height; ++i) *(p++) = mp.mem[mp.opcode(i)];
+        int ind = (int)cimg::round(mp.mem[mp.opcode(2)]);
+        if (ind<0) ind+=values.width() + 1;
+        ind = cimg::max(1,cimg::min(values.width(),ind));
+        return values.kth_smallest(ind - 1);
+      }
+
+      static double mp_argmin(_cimg_math_parser& mp) {
+        double val = mp.mem[mp.opcode(2)];
+        unsigned int argval = 0;
+        for (unsigned int i = 3; i<mp.opcode._height; ++i) {
+          const double _val = mp.mem[mp.opcode(i)];
+          if (_val<val) { val = _val; argval = i - 2; }
+        }
+        return (double)argval;
+      }
+
+      static double mp_argmax(_cimg_math_parser& mp) {
+        double val = mp.mem[mp.opcode(2)];
+        unsigned int argval = 0;
+        for (unsigned int i = 3; i<mp.opcode._height; ++i) {
+          const double _val = mp.mem[mp.opcode(i)];
+          if (_val>val) { val = _val; argval = i - 2; }
+        }
+        return (double)argval;
+      }
+
+      static double mp_isin(_cimg_math_parser& mp) {
+        double value = mp.mem[mp.opcode(2)];
+        for (unsigned int i = 3; i<mp.opcode._height; ++i)
+          if (value==mp.mem[mp.opcode(i)]) return 1.0;
+        return 0.0;
+      }
+
+      static double mp_isnan(_cimg_math_parser& mp) {
+        const double val = mp.mem[mp.opcode(2)];
+        return cimg::type<double>::is_nan(val);
+      }
+
+      static double mp_isinf(_cimg_math_parser& mp) {
+        const double val = mp.mem[mp.opcode(2)];
+        return cimg::type<double>::is_inf(val);
+      }
+
+      static double mp_isint(_cimg_math_parser& mp) {
+        const double val = mp.mem[mp.opcode(2)];
+        return (double)(cimg::mod(val,1.0)==0);
+      }
+
+      static double mp_isbool(_cimg_math_parser& mp) {
+        const double val = mp.mem[mp.opcode(2)];
+        return (val==0.0 || val==1.0);
+      }
+
+      static double mp_rol(_cimg_math_parser& mp) {
+        return cimg::rol(mp.mem[mp.opcode(2)],(unsigned int)mp.mem[mp.opcode(3)]);
+      }
+
+      static double mp_ror(_cimg_math_parser& mp) {
+        return cimg::ror(mp.mem[mp.opcode(2)],(unsigned int)mp.mem[mp.opcode(3)]);
+      }
+
+      static double mp_lsl(_cimg_math_parser& mp) {
+        return (long)mp.mem[mp.opcode(2)]<<(unsigned int)mp.mem[mp.opcode(3)];
+      }
+
+      static double mp_lsr(_cimg_math_parser& mp) {
+        return (long)mp.mem[mp.opcode(2)]>>(unsigned int)mp.mem[mp.opcode(3)];
+      }
+
+      static double mp_sinc(_cimg_math_parser& mp) {
+        return cimg::sinc(mp.mem[mp.opcode(2)]);
+      }
+
+      static double mp_im(_cimg_math_parser& mp) {
+        return mp.input_stats?mp.input_stats[0]:0;
+      }
+
+      static double mp_iM(_cimg_math_parser& mp) {
+        return mp.input_stats?mp.input_stats[1]:0;
+      }
+
+      static double mp_ia(_cimg_math_parser& mp) {
+        return mp.input_stats?mp.input_stats[2]:0;
+      }
+
+      static double mp_iv(_cimg_math_parser& mp) {
+        return mp.input_stats?mp.input_stats[3]:0;
+      }
+
+      static double mp_is(_cimg_math_parser& mp) {
+        return mp.input_stats?mp.input_stats[12]:0;
+      }
+
+      static double mp_ip(_cimg_math_parser& mp) {
+        return mp.input_stats?mp.input_stats[13]:0;
+      }
+
+      static double mp_ic(_cimg_math_parser& mp) {
+        return mp.is_median_value?mp.median_value:0;
+      }
+
+      static double mp_xm(_cimg_math_parser& mp) {
+        return mp.input_stats?mp.input_stats[4]:0;
+      }
+
+      static double mp_ym(_cimg_math_parser& mp) {
+        return mp.input_stats?mp.input_stats[5]:0;
+      }
+
+      static double mp_zm(_cimg_math_parser& mp) {
+        return mp.input_stats?mp.input_stats[6]:0;
+      }
+
+      static double mp_cm(_cimg_math_parser& mp) {
+        return mp.input_stats?mp.input_stats[7]:0;
+      }
+
+      static double mp_xM(_cimg_math_parser& mp) {
+        return mp.input_stats?mp.input_stats[8]:0;
+      }
+
+      static double mp_yM(_cimg_math_parser& mp) {
+        return mp.input_stats?mp.input_stats[9]:0;
+      }
+
+      static double mp_zM(_cimg_math_parser& mp) {
+        return mp.input_stats?mp.input_stats[10]:0;
+      }
+
+      static double mp_cM(_cimg_math_parser& mp) {
+        return mp.input_stats?mp.input_stats[11]:0;
+      }
+
+      static double mp_arg(_cimg_math_parser& mp) {
+        const int _ind = (int)mp.mem[mp.opcode(2)];
+        const unsigned int nb_args = mp.opcode._height - 2, ind = _ind<0?_ind + nb_args:(unsigned int)_ind;
+        if (ind>=nb_args) return 0;
+        return mp.mem[mp.opcode(ind + 2)];
+      }
+
+      static double mp_int(_cimg_math_parser& mp) {
+        return (double)(long)mp.mem[mp.opcode(2)];
+      }
+
+      static double mp_replace(_cimg_math_parser& mp) {
+        return mp.mem[mp.opcode(2)];
+      }
+
+      static double mp_ioff(_cimg_math_parser& mp) {
+        const long off = (long)mp.mem[mp.opcode(2)];
+        if (off<0 || off>=(long)mp.input.size()) return 0;
+        return (double)mp.input[off];
+      }
+
+      static double mp_joff(_cimg_math_parser& mp) {
+        const int x = (int)mp.mem[16], y = (int)mp.mem[17], z = (int)mp.mem[18], c = (int)mp.mem[19];
+        const long off = mp.input.offset(x,y,z,c) + (long)(mp.mem[mp.opcode(2)]);
+        if (off<0 || off>=(long)mp.input.size()) return 0;
+        return (double)mp.input[off];
+      }
+
+      static double mp_ixyzc(_cimg_math_parser& mp) {
+        const double
+          x = mp.mem[mp.opcode(2)], y = mp.mem[mp.opcode(3)], z = mp.mem[mp.opcode(4)], c = mp.mem[mp.opcode(5)];
+        const int i = (int)mp.mem[mp.opcode(6)], b = (int)mp.mem[mp.opcode(7)];
+        if (i==0) { // Nearest neighbor interpolation.
+          if (b==2) return (double)mp.input.atXYZC(cimg::mod((int)x,mp.input.width()),
+                                                   cimg::mod((int)y,mp.input.height()),
+                                                   cimg::mod((int)z,mp.input.depth()),
+                                                   cimg::mod((int)c,mp.input.spectrum()));
+          if (b==1) return (double)mp.input.atXYZC((int)x,(int)y,(int)z,(int)c);
+          return (double)mp.input.atXYZC((int)x,(int)y,(int)z,(int)c,0);
+        } else { // Linear interpolation.
+          if (b==2) return (double)mp.input.linear_atXYZC(cimg::mod((float)x,(float)mp.input.width()),
+                                                          cimg::mod((float)y,(float)mp.input.height()),
+                                                          cimg::mod((float)z,(float)mp.input.depth()),
+                                                          cimg::mod((float)c,(float)mp.input.spectrum()));
+          if (b==1) return (double)mp.input.linear_atXYZC((float)x,(float)y,(float)z,(float)c);
+          return (double)mp.input.linear_atXYZC((float)x,(float)y,(float)z,(float)c,0);
+        }
+      }
+
+      static double mp_jxyzc(_cimg_math_parser& mp) {
+        const double x = mp.mem[16], y = mp.mem[17], z = mp.mem[18], c = mp.mem[19];
+        const double
+          dx = mp.mem[mp.opcode(2)], dy = mp.mem[mp.opcode(3)], dz = mp.mem[mp.opcode(4)], dc = mp.mem[mp.opcode(5)];
+        const int i = (int)mp.mem[mp.opcode(6)], b = (int)mp.mem[mp.opcode(7)];
+        if (i==0) { // Nearest neighbor interpolation.
+          if (b==2) return (double)mp.input.atXYZC(cimg::mod((int)(x + dx),mp.input.width()),
+                                                   cimg::mod((int)(y + dy),mp.input.height()),
+                                                   cimg::mod((int)(z + dz),mp.input.depth()),
+                                                   cimg::mod((int)(c + dc),mp.input.spectrum()));
+          if (b==1) return (double)mp.input.atXYZC((int)(x + dx),(int)(y + dy),(int)(z + dz),(int)(c + dc));
+          return (double)mp.input.atXYZC((int)(x + dx),(int)(y + dy),(int)(z + dz),(int)(c + dc),0);
+        } else { // Linear interpolation.
+          if (b==2)
+            return (double)mp.input.linear_atXYZC(cimg::mod((float)(x + dx),(float)mp.input.width()),
+                                                  cimg::mod((float)(y + dy),(float)mp.input.height()),
+                                                  cimg::mod((float)(z + dz),(float)mp.input.depth()),
+                                                  cimg::mod((float)(c + dc),(float)mp.input.spectrum()));
+          if (b==1) return (double)mp.input.linear_atXYZC((float)(x + dx),(float)(y + dy),
+                                                          (float)(z + dz),(float)(c + dc));
+          return (double)mp.input.linear_atXYZC((float)(x + dx),(float)(y + dy),(float)(z + dz),(float)(c + dc),0);
+        }
+      }
+
+      static double mp_set_ioff(_cimg_math_parser& mp) {
+        const long off = (long)mp.mem[mp.opcode(2)];
+        const double value = mp.mem[mp.opcode(3)];
+        if (off>=0 && off<(long)mp.output.size()) mp.output._data[off] = (T)value;
+        return value;
+      }
+
+      static double mp_set_joff(_cimg_math_parser& mp) {
+        const int x = (int)mp.mem[16], y = (int)mp.mem[17], z = (int)mp.mem[18], c = (int)mp.mem[19];
+        const long off = mp.output.offset(x,y,z,c) + (long)(mp.mem[mp.opcode(2)]);
+        const double value = mp.mem[mp.opcode(3)];
+        if (off>=0 && off<(long)mp.output.size()) mp.output._data[off] = (T)value;
+        return value;
+      }
+
+      static double mp_set_ixyzc(_cimg_math_parser& mp) {
+        const int
+          x = (int)mp.mem[mp.opcode(2)], y = (int)mp.mem[mp.opcode(3)],
+          z = (int)mp.mem[mp.opcode(4)], c = (int)mp.mem[mp.opcode(5)];
+        const double value = mp.mem[mp.opcode(6)];
+        if (x>=0 && x<mp.output.width() && y>=0 && y<mp.output.height() &&
+            z>=0 && z<mp.output.depth() && c>=0 && c<mp.output.spectrum()) {
+          mp.output(x,y,z,c) = (T)value;
+        }
+        return value;
+      }
+
+      static double mp_set_jxyzc(_cimg_math_parser& mp) {
+        const double
+          dx = mp.mem[mp.opcode(2)], dy = mp.mem[mp.opcode(3)],
+          dz = mp.mem[mp.opcode(4)], dc = mp.mem[mp.opcode(5)];
+        const int
+          x = (int)(dx + mp.mem[16]), y = (int)(dy + mp.mem[17]),
+          z = (int)(dz + mp.mem[18]), c = (int)(dc + mp.mem[19]);
+        const double value = mp.mem[mp.opcode(6)];
+        if (x>=0 && x<mp.output.width() && y>=0 && y<mp.output.height() &&
+            z>=0 && z<mp.output.depth() && c>=0 && c<mp.output.spectrum()) {
+          mp.output(x,y,z,c) = (T)value;
+        }
+        return value;
+      }
+
+      static double mp_if(_cimg_math_parser& mp) {
+        const bool is_cond = (bool)mp.mem[mp.opcode(2)];
+        const unsigned int
+          mem_left = (unsigned int)mp.opcode(3),
+          mem_right = (unsigned int)mp.opcode(4);
+        const CImg<longT>
+          *const p_right = ++mp.p_code + mp.opcode(5),
+          *const p_end = p_right + mp.opcode(6);
+        if (is_cond) {
+          for ( ; mp.p_code<p_right; ++mp.p_code) {
+            cimg_test_abort();
+            const CImg<longT> &op = *mp.p_code;
+            mp.opcode._data = op._data; mp.opcode._height = op._height;
+            const unsigned int target = (unsigned int)mp.opcode[1];
+            mp.mem[target] = _cimg_mp_defunc(mp);
+          }
+          mp.p_code = p_end - 1;
+          return mp.mem[mem_left];
+        }
+        for (mp.p_code = p_right; mp.p_code<p_end; ++mp.p_code) {
+          cimg_test_abort();
+          const CImg<longT> &op = *mp.p_code;
+          mp.opcode._data = op._data; mp.opcode._height = op._height;
+          const unsigned int target = (unsigned int)mp.opcode[1];
+          mp.mem[target] = _cimg_mp_defunc(mp);
+        }
+        --mp.p_code;
+        return mp.mem[mem_right];
+      }
+
+      static double mp_dowhile(_cimg_math_parser& mp) {
+        const unsigned int
+          mem_proc = (unsigned int)mp.opcode(1),
+          mem_cond = (unsigned int)mp.opcode(2);
+        const CImg<longT>
+          *const p_proc = ++mp.p_code,
+          *const p_end = p_proc + mp.opcode(3);
+        do {
+          cimg_test_abort();
+          for (mp.p_code = p_proc; mp.p_code<p_end; ++mp.p_code) { // Evaluate loop iteration + condition.
+            cimg_test_abort();
+            const CImg<longT> &op = *mp.p_code;
+            mp.opcode._data = op._data; mp.opcode._height = op._height;
+            const unsigned int target = (unsigned int)mp.opcode[1];
+            mp.mem[target] = _cimg_mp_defunc(mp);
+          }
+        } while (mp.mem[mem_cond]);
+        --mp.p_code;
+        return mp.mem[mem_proc];
+      }
+
+      static double mp_whiledo(_cimg_math_parser& mp) { // Used also by 'for()'.
+        const unsigned int
+          mem_cond = (unsigned int)mp.opcode(2),
+          mem_proc = (unsigned int)mp.opcode(1);
+        const CImg<longT>
+          *const p_cond = ++mp.p_code,
+          *const p_proc = p_cond + mp.opcode(3),
+          *const p_end = p_proc + mp.opcode(4);
+        bool is_first_iter = true, is_cond = false;
+        do {
+          cimg_test_abort();
+          for (mp.p_code = p_cond; mp.p_code<p_proc; ++mp.p_code) { // Evaluate loop condition.
+            cimg_test_abort();
+            const CImg<longT> &op = *mp.p_code;
+            mp.opcode._data = op._data; mp.opcode._height = op._height;
+            const unsigned target = (unsigned int)mp.opcode[1];
+            mp.mem[target] = _cimg_mp_defunc(mp);
+          }
+          is_cond = (bool)mp.mem[mem_cond];
+          if (is_cond) { // Evaluate loop iteration.
+            for ( ; mp.p_code<p_end; ++mp.p_code) {
+              cimg_test_abort();
+              const CImg<longT> &op = *mp.p_code;
+              mp.opcode._data = op._data; mp.opcode._height = op._height;
+              const unsigned int target = (unsigned int)mp.opcode[1];
+              mp.mem[target] = _cimg_mp_defunc(mp);
+            }
+            is_first_iter = false;
+          }
+        } while (is_cond);
+        mp.p_code = p_end - 1;
+        return is_first_iter?0:mp.mem[mem_proc];
+      }
+
+      static double mp_print(_cimg_math_parser& mp) {
+        const CImg<char> label(mp.opcode);
+        const double val = mp.mem[mp.opcode(1)];
+        std::fprintf(cimg::output(),"\n[_cimg_math_parser] %s = %g",label.data()+2,val);
+        return val;
+      }
+
+      // Evaluation procedure, with image data.
+      double operator()(const double x, const double y, const double z, const double c) {
+        if (!mem) return 0;
+        mem[16] = x; mem[17] = y; mem[18] = z; mem[19] = c;
+        opcode._is_shared = true; opcode._width = opcode._depth = opcode._spectrum = 1;
+        for (p_code = code._data; p_code<code.end(); ++p_code) {
+          cimg_test_abort();
+          const CImg<longT> &op = *p_code;
+          // Allows to avoid parameter passing to evaluation functions.
+          opcode._data = op._data; opcode._height = op._height;
+          const unsigned int target = (unsigned int)opcode[1];
+          mem[target] = _cimg_mp_defunc(*this);
+        }
+        return mem[result];
+      }
+    };
+
+    //! Compute the square value of each pixel value.
+    /**
+       Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by its square value \f$I_{(x,y,z,c)}^2\f$.
+       \note
+       - The \inplace of this method statically casts the computed values to the pixel type \c T.
+       - The \newinstance returns a \c CImg<float> image, if the pixel type \c T is \e not float-valued.
+       \par Example
+       \code
+       const CImg<float> img("reference.jpg");
+       (img,img.get_sqr().normalize(0,255)).display();
+       \endcode
+       \image html ref_sqr.jpg
+    **/
+    CImg<T>& sqr() {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=524288)
+#endif
+      cimg_rof(*this,ptrd,T) { const T val = *ptrd; *ptrd = (T)(val*val); };
+      return *this;
+    }
+
+    //! Compute the square value of each pixel value \newinstance.
+    CImg<Tfloat> get_sqr() const {
+      return CImg<Tfloat>(*this,false).sqr();
+    }
+
+    //! Compute the square root of each pixel value.
+    /**
+       Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by its square root \f$\sqrt{I_{(x,y,z,c)}}\f$.
+       \note
+       - The \inplace of this method statically casts the computed values to the pixel type \c T.
+       - The \newinstance returns a \c CImg<float> image, if the pixel type \c T is \e not float-valued.
+       \par Example
+       \code
+       const CImg<float> img("reference.jpg");
+       (img,img.get_sqrt().normalize(0,255)).display();
+       \endcode
+       \image html ref_sqrt.jpg
+    **/
+    CImg<T>& sqrt() {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=8192)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)std::sqrt((double)*ptrd);
+      return *this;
+    }
+
+    //! Compute the square root of each pixel value \newinstance.
+    CImg<Tfloat> get_sqrt() const {
+      return CImg<Tfloat>(*this,false).sqrt();
+    }
+
+    //! Compute the exponential of each pixel value.
+    /**
+       Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by its exponential \f$e^{I_{(x,y,z,c)}}\f$.
+       \note
+       - The \inplace of this method statically casts the computed values to the pixel type \c T.
+       - The \newinstance returns a \c CImg<float> image, if the pixel type \c T is \e not float-valued.
+    **/
+    CImg<T>& exp() {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=4096)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)std::exp((double)*ptrd);
+      return *this;
+    }
+
+    //! Compute the exponential of each pixel value \newinstance.
+    CImg<Tfloat> get_exp() const {
+      return CImg<Tfloat>(*this,false).exp();
+    }
+
+    //! Compute the logarithm of each pixel value.
+    /**
+       Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by its logarithm
+       \f$\mathrm{log}_{e}(I_{(x,y,z,c)})\f$.
+       \note
+       - The \inplace of this method statically casts the computed values to the pixel type \c T.
+       - The \newinstance returns a \c CImg<float> image, if the pixel type \c T is \e not float-valued.
+    **/
+    CImg<T>& log() {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=262144)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)std::log((double)*ptrd);
+      return *this;
+    }
+
+    //! Compute the logarithm of each pixel value \newinstance.
+    CImg<Tfloat> get_log() const {
+      return CImg<Tfloat>(*this,false).log();
+    }
+
+    //! Compute the base-2 logarithm of each pixel value.
+    /**
+       Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by its base-2 logarithm
+       \f$\mathrm{log}_{2}(I_{(x,y,z,c)})\f$.
+       \note
+       - The \inplace of this method statically casts the computed values to the pixel type \c T.
+       - The \newinstance returns a \c CImg<float> image, if the pixel type \c T is \e not float-valued.
+    **/
+    CImg<T>& log2() {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=4096)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)cimg::log2((double)*ptrd);
+      return *this;
+    }
+
+    //! Compute the base-10 logarithm of each pixel value \newinstance.
+    CImg<Tfloat> get_log2() const {
+      return CImg<Tfloat>(*this,false).log2();
+    }
+
+    //! Compute the base-10 logarithm of each pixel value.
+    /**
+       Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by its base-10 logarithm
+       \f$\mathrm{log}_{10}(I_{(x,y,z,c)})\f$.
+       \note
+       - The \inplace of this method statically casts the computed values to the pixel type \c T.
+       - The \newinstance returns a \c CImg<float> image, if the pixel type \c T is \e not float-valued.
+    **/
+    CImg<T>& log10() {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=4096)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)std::log10((double)*ptrd);
+      return *this;
+    }
+
+    //! Compute the base-10 logarithm of each pixel value \newinstance.
+    CImg<Tfloat> get_log10() const {
+      return CImg<Tfloat>(*this,false).log10();
+    }
+
+    //! Compute the absolute value of each pixel value.
+    /**
+       Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by its absolute value \f$|I_{(x,y,z,c)}|\f$.
+       \note
+       - The \inplace of this method statically casts the computed values to the pixel type \c T.
+       - The \newinstance returns a \c CImg<float> image, if the pixel type \c T is \e not float-valued.
+    **/
+    CImg<T>& abs() {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=524288)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = cimg::abs(*ptrd);
+      return *this;
+    }
+
+    //! Compute the absolute value of each pixel value \newinstance.
+    CImg<Tfloat> get_abs() const {
+      return CImg<Tfloat>(*this,false).abs();
+    }
+
+    //! Compute the sign of each pixel value.
+    /**
+       Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by its sign
+       \f$\mathrm{sign}(I_{(x,y,z,c)})\f$.
+       \note
+       - The sign is set to:
+         - \c 1 if pixel value is strictly positive.
+         - \c -1 if pixel value is strictly negative.
+         - \c 0 if pixel value is equal to \c 0.
+       - The \inplace of this method statically casts the computed values to the pixel type \c T.
+       - The \newinstance returns a \c CImg<float> image, if the pixel type \c T is \e not float-valued.
+    **/
+    CImg<T>& sign() {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=32768)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = cimg::sign(*ptrd);
+      return *this;
+    }
+
+    //! Compute the sign of each pixel value \newinstance.
+    CImg<Tfloat> get_sign() const {
+      return CImg<Tfloat>(*this,false).sign();
+    }
+
+    //! Compute the cosine of each pixel value.
+    /**
+       Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by its cosine \f$\cos(I_{(x,y,z,c)})\f$.
+       \note
+       - Pixel values are regarded as being in \e radian.
+       - The \inplace of this method statically casts the computed values to the pixel type \c T.
+       - The \newinstance returns a \c CImg<float> image, if the pixel type \c T is \e not float-valued.
+    **/
+    CImg<T>& cos() {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=8192)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)std::cos((double)*ptrd);
+      return *this;
+    }
+
+    //! Compute the cosine of each pixel value \newinstance.
+    CImg<Tfloat> get_cos() const {
+      return CImg<Tfloat>(*this,false).cos();
+    }
+
+    //! Compute the sine of each pixel value.
+    /**
+       Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by its sine \f$\sin(I_{(x,y,z,c)})\f$.
+       \note
+       - Pixel values are regarded as being in \e radian.
+       - The \inplace of this method statically casts the computed values to the pixel type \c T.
+       - The \newinstance returns a \c CImg<float> image, if the pixel type \c T is \e not float-valued.
+    **/
+    CImg<T>& sin() {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=8192)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)std::sin((double)*ptrd);
+      return *this;
+    }
+
+    //! Compute the sine of each pixel value \newinstance.
+    CImg<Tfloat> get_sin() const {
+      return CImg<Tfloat>(*this,false).sin();
+    }
+
+    //! Compute the sinc of each pixel value.
+    /**
+       Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by its sinc
+       \f$\mathrm{sinc}(I_{(x,y,z,c)})\f$.
+       \note
+       - Pixel values are regarded as being exin \e radian.
+       - The \inplace of this method statically casts the computed values to the pixel type \c T.
+       - The \newinstance returns a \c CImg<float> image, if the pixel type \c T is \e not float-valued.
+    **/
+    CImg<T>& sinc() {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=2048)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)cimg::sinc((double)*ptrd);
+      return *this;
+    }
+
+    //! Compute the sinc of each pixel value \newinstance.
+    CImg<Tfloat> get_sinc() const {
+      return CImg<Tfloat>(*this,false).sinc();
+    }
+
+    //! Compute the tangent of each pixel value.
+    /**
+       Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by its tangent \f$\tan(I_{(x,y,z,c)})\f$.
+       \note
+       - Pixel values are regarded as being exin \e radian.
+       - The \inplace of this method statically casts the computed values to the pixel type \c T.
+       - The \newinstance returns a \c CImg<float> image, if the pixel type \c T is \e not float-valued.
+    **/
+    CImg<T>& tan() {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=2048)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)std::tan((double)*ptrd);
+      return *this;
+    }
+
+    //! Compute the tangent of each pixel value \newinstance.
+    CImg<Tfloat> get_tan() const {
+      return CImg<Tfloat>(*this,false).tan();
+    }
+
+    //! Compute the hyperbolic cosine of each pixel value.
+    /**
+       Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by its hyperbolic cosine
+       \f$\mathrm{cosh}(I_{(x,y,z,c)})\f$.
+       \note
+       - The \inplace of this method statically casts the computed values to the pixel type \c T.
+       - The \newinstance returns a \c CImg<float> image, if the pixel type \c T is \e not float-valued.
+    **/
+    CImg<T>& cosh() {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=2048)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)std::cosh((double)*ptrd);
+      return *this;
+    }
+
+    //! Compute the hyperbolic cosine of each pixel value \newinstance.
+    CImg<Tfloat> get_cosh() const {
+      return CImg<Tfloat>(*this,false).cosh();
+    }
+
+    //! Compute the hyperbolic sine of each pixel value.
+    /**
+       Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by its hyperbolic sine
+       \f$\mathrm{sinh}(I_{(x,y,z,c)})\f$.
+       \note
+       - The \inplace of this method statically casts the computed values to the pixel type \c T.
+       - The \newinstance returns a \c CImg<float> image, if the pixel type \c T is \e not float-valued.
+    **/
+    CImg<T>& sinh() {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=2048)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)std::sinh((double)*ptrd);
+      return *this;
+    }
+
+    //! Compute the hyperbolic sine of each pixel value \newinstance.
+    CImg<Tfloat> get_sinh() const {
+      return CImg<Tfloat>(*this,false).sinh();
+    }
+
+    //! Compute the hyperbolic tangent of each pixel value.
+    /**
+       Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by its hyperbolic tangent
+       \f$\mathrm{tanh}(I_{(x,y,z,c)})\f$.
+       \note
+       - The \inplace of this method statically casts the computed values to the pixel type \c T.
+       - The \newinstance returns a \c CImg<float> image, if the pixel type \c T is \e not float-valued.
+    **/
+    CImg<T>& tanh() {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=2048)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)std::tanh((double)*ptrd);
+      return *this;
+    }
+
+    //! Compute the hyperbolic tangent of each pixel value \newinstance.
+    CImg<Tfloat> get_tanh() const {
+      return CImg<Tfloat>(*this,false).tanh();
+    }
+
+    //! Compute the arccosine of each pixel value.
+    /**
+       Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by its arccosine
+       \f$\mathrm{acos}(I_{(x,y,z,c)})\f$.
+       \note
+       - The \inplace of this method statically casts the computed values to the pixel type \c T.
+       - The \newinstance returns a \c CImg<float> image, if the pixel type \c T is \e not float-valued.
+    **/
+    CImg<T>& acos() {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=8192)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)std::acos((double)*ptrd);
+      return *this;
+    }
+
+    //! Compute the arccosine of each pixel value \newinstance.
+    CImg<Tfloat> get_acos() const {
+      return CImg<Tfloat>(*this,false).acos();
+    }
+
+    //! Compute the arcsine of each pixel value.
+    /**
+       Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by its arcsine
+       \f$\mathrm{asin}(I_{(x,y,z,c)})\f$.
+       \note
+       - The \inplace of this method statically casts the computed values to the pixel type \c T.
+       - The \newinstance returns a \c CImg<float> image, if the pixel type \c T is \e not float-valued.
+    **/
+    CImg<T>& asin() {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=8192)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)std::asin((double)*ptrd);
+      return *this;
+    }
+
+    //! Compute the arcsine of each pixel value \newinstance.
+    CImg<Tfloat> get_asin() const {
+      return CImg<Tfloat>(*this,false).asin();
+    }
+
+    //! Compute the arctangent of each pixel value.
+    /**
+       Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by its arctangent
+       \f$\mathrm{atan}(I_{(x,y,z,c)})\f$.
+       \note
+       - The \inplace of this method statically casts the computed values to the pixel type \c T.
+       - The \newinstance returns a \c CImg<float> image, if the pixel type \c T is \e not float-valued.
+    **/
+    CImg<T>& atan() {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=8192)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)std::atan((double)*ptrd);
+      return *this;
+    }
+
+    //! Compute the arctangent of each pixel value \newinstance.
+    CImg<Tfloat> get_atan() const {
+      return CImg<Tfloat>(*this,false).atan();
+    }
+
+    //! Compute the arctangent2 of each pixel value.
+    /**
+       Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by its arctangent2
+       \f$\mathrm{atan2}(I_{(x,y,z,c)})\f$.
+       \param img Image whose pixel values specify the second argument of the \c atan2() function.
+       \note
+       - The \inplace of this method statically casts the computed values to the pixel type \c T.
+       - The \newinstance returns a \c CImg<float> image, if the pixel type \c T is \e not float-valued.
+       \par Example
+       \code
+       const CImg<float>
+          img_x(100,100,1,1,"x-w/2",false),   // Define an horizontal centered gradient, from '-width/2' to 'width/2'.
+          img_y(100,100,1,1,"y-h/2",false),   // Define a vertical centered gradient, from '-height/2' to 'height/2'.
+          img_atan2 = img_y.get_atan2(img_x); // Compute atan2(y,x) for each pixel value.
+       (img_x,img_y,img_atan2).display();
+       \endcode
+    **/
+    template<typename t>
+    CImg<T>& atan2(const CImg<t>& img) {
+      const unsigned long siz = size(), isiz = img.size();
+      if (siz && isiz) {
+        if (is_overlapped(img)) return atan2(+img);
+        T *ptrd = _data, *const ptre = _data + siz;
+        if (siz>isiz) for (unsigned long n = siz/isiz; n; --n)
+          for (const t *ptrs = img._data, *ptrs_end = ptrs + isiz; ptrs<ptrs_end; ++ptrd)
+            *ptrd = (T)std::atan2((double)*ptrd,(double)*(ptrs++));
+        for (const t *ptrs = img._data; ptrd<ptre; ++ptrd) *ptrd = (T)std::atan2((double)*ptrd,(double)*(ptrs++));
+      }
+      return *this;
+    }
+
+    //! Compute the arctangent2 of each pixel value \newinstance.
+    template<typename t>
+    CImg<Tfloat> get_atan2(const CImg<t>& img) const {
+      return CImg<Tfloat>(*this,false).atan2(img);
+    }
+
+    //! In-place pointwise multiplication.
+    /**
+       Compute the pointwise multiplication between the image instance and the specified input image \c img.
+       \param img Input image, as the second operand of the multiplication.
+       \note
+       - Similar to operator+=(const CImg<t>&), except that it performs a pointwise multiplication
+         instead of an addition.
+       - It does \e not perform a \e matrix multiplication. For this purpose, use operator*=(const CImg<t>&) instead.
+       \par Example
+       \code
+       CImg<float>
+         img("reference.jpg"),
+         shade(img.width,img.height(),1,1,"-(x-w/2)^2-(y-h/2)^2",false);
+       shade.normalize(0,1);
+       (img,shade,img.get_mul(shade)).display();
+       \endcode
+    **/
+    template<typename t>
+    CImg<T>& mul(const CImg<t>& img) {
+      const unsigned long siz = size(), isiz = img.size();
+      if (siz && isiz) {
+        if (is_overlapped(img)) return mul(+img);
+        T *ptrd = _data, *const ptre = _data + siz;
+        if (siz>isiz) for (unsigned long n = siz/isiz; n; --n)
+          for (const t *ptrs = img._data, *ptrs_end = ptrs + isiz; ptrs<ptrs_end; ++ptrd)
+            *ptrd = (T)(*ptrd * *(ptrs++));
+        for (const t *ptrs = img._data; ptrd<ptre; ++ptrd) *ptrd = (T)(*ptrd * *(ptrs++));
+      }
+      return *this;
+    }
+
+    //! In-place pointwise multiplication \newinstance.
+    template<typename t>
+    CImg<_cimg_Tt> get_mul(const CImg<t>& img) const {
+      return CImg<_cimg_Tt>(*this,false).mul(img);
+    }
+
+    //! In-place pointwise division.
+    /**
+       Similar to mul(const CImg<t>&), except that it performs a pointwise division instead of a multiplication.
+    **/
+    template<typename t>
+    CImg<T>& div(const CImg<t>& img) {
+      const unsigned long siz = size(), isiz = img.size();
+      if (siz && isiz) {
+        if (is_overlapped(img)) return div(+img);
+        T *ptrd = _data, *const ptre = _data + siz;
+        if (siz>isiz) for (unsigned long n = siz/isiz; n; --n)
+          for (const t *ptrs = img._data, *ptrs_end = ptrs + isiz; ptrs<ptrs_end; ++ptrd)
+            *ptrd = (T)(*ptrd / *(ptrs++));
+        for (const t *ptrs = img._data; ptrd<ptre; ++ptrd) *ptrd = (T)(*ptrd / *(ptrs++));
+      }
+      return *this;
+    }
+
+    //! In-place pointwise division \newinstance.
+    template<typename t>
+    CImg<_cimg_Tt> get_div(const CImg<t>& img) const {
+      return CImg<_cimg_Tt>(*this,false).div(img);
+    }
+
+    //! Raise each pixel value to a specified power.
+    /**
+       Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by its power \f$I_{(x,y,z,c)}^p\f$.
+       \param p Exponent value.
+       \note
+       - The \inplace of this method statically casts the computed values to the pixel type \c T.
+       - The \newinstance returns a \c CImg<float> image, if the pixel type \c T is \e not float-valued.
+       \par Example
+       \code
+       const CImg<float>
+         img0("reference.jpg"),           // Load reference color image.
+         img1 = (img0/255).pow(1.8)*=255, // Compute gamma correction, with gamma = 1.8.
+         img2 = (img0/255).pow(0.5)*=255; // Compute gamma correction, with gamma = 0.5.
+       (img0,img1,img2).display();
+       \endcode
+    **/
+    CImg<T>& pow(const double p) {
+      if (is_empty()) return *this;
+      if (p==-4) {
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=32768)
+#endif
+        cimg_rof(*this,ptrd,T) { const T val = *ptrd; *ptrd = (T)(1.0/(val*val*val*val)); }
+        return *this;
+      }
+      if (p==-3) {
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=32768)
+#endif
+        cimg_rof(*this,ptrd,T) { const T val = *ptrd; *ptrd = (T)(1.0/(val*val*val)); }
+        return *this;
+      }
+      if (p==-2) {
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=32768)
+#endif
+        cimg_rof(*this,ptrd,T) { const T val = *ptrd; *ptrd = (T)(1.0/(val*val)); }
+        return *this;
+      }
+      if (p==-1) {
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=32768)
+#endif
+        cimg_rof(*this,ptrd,T) { const T val = *ptrd; *ptrd = (T)(1.0/val); }
+        return *this;
+      }
+      if (p==-0.5) {
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=8192)
+#endif
+        cimg_rof(*this,ptrd,T) { const T val = *ptrd; *ptrd = (T)(1/std::sqrt((double)val)); }
+        return *this;
+      }
+      if (p==0) return fill(1);
+      if (p==0.5) return sqrt();
+      if (p==1) return *this;
+      if (p==2) return sqr();
+      if (p==3) {
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=262144)
+#endif
+        cimg_rof(*this,ptrd,T) { const T val = *ptrd; *ptrd = val*val*val; }
+        return *this;
+      }
+      if (p==4) {
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=131072)
+#endif
+        cimg_rof(*this,ptrd,T) { const T val = *ptrd; *ptrd = val*val*val*val; }
+        return *this;
+      }
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=1024)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)std::pow((double)*ptrd,p);
+      return *this;
+    }
+
+    //! Raise each pixel value to a specified power \newinstance.
+    CImg<Tfloat> get_pow(const double p) const {
+      return CImg<Tfloat>(*this,false).pow(p);
+    }
+
+    //! Raise each pixel value to a power, specified from an expression.
+    /**
+       Similar to operator+=(const char*), except it performs a pointwise exponentiation instead of an addition.
+    **/
+    CImg<T>& pow(const char *const expression) {
+      if (is_empty()) return *this;
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      try {
+        const CImg<T> _base = cimg::_is_self_expr(expression)?+*this:CImg<T>(), &base = _base?_base:*this;
+        _cimg_math_parser mp(base,this,expression + (*expression=='>' || *expression=='<'?1:0),"pow");
+        T *ptrd = *expression=='<'?end() - 1:_data;
+        if (*expression=='<') cimg_rofXYZC(*this,x,y,z,c) { *ptrd = (T)std::pow((double)*ptrd,mp(x,y,z,c)); --ptrd; }
+        else if (*expression=='>')
+          cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)std::pow((double)*ptrd,mp(x,y,z,c)); ++ptrd; }
+        else {
+#ifdef cimg_use_openmp
+          if (_width>=512 && _height*_depth*_spectrum>=2 && std::strlen(expression)>=6)
+#pragma omp parallel
+          {
+            _cimg_math_parser _mp = omp_get_thread_num()?mp:_cimg_math_parser(), &lmp = omp_get_thread_num()?_mp:mp;
+#pragma omp for collapse(3)
+            cimg_forYZC(*this,y,z,c) {
+              T *ptrd = data(0,y,z,c);
+              cimg_forX(*this,x) { *ptrd = (T)std::pow((double)*ptrd,lmp(x,y,z,c)); ++ptrd; }
+            }
+          }
+          else
+#endif
+            cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)std::pow((double)*ptrd,mp(x,y,z,c)); ++ptrd; }
+        }
+      } catch (CImgException&) {
+        CImg<Tfloat> values(_width,_height,_depth,_spectrum);
+        try {
+          values.fill(expression,true);
+        } catch (CImgException&) {
+          cimg::exception_mode(omode);
+          values.load(expression);
+        }
+        pow(values);
+      }
+      cimg::exception_mode(omode);
+      return *this;
+    }
+
+    //! Raise each pixel value to a power, specified from an expression \newinstance.
+    CImg<Tfloat> get_pow(const char *const expression) const {
+      return CImg<Tfloat>(*this,false).pow(expression);
+    }
+
+    //! Raise each pixel value to a power, pointwisely specified from another image.
+    /**
+       Similar to operator+=(const CImg<t>& img), except that it performs an exponentiation instead of an addition.
+    **/
+    template<typename t>
+    CImg<T>& pow(const CImg<t>& img) {
+      const unsigned long siz = size(), isiz = img.size();
+      if (siz && isiz) {
+        if (is_overlapped(img)) return pow(+img);
+        T *ptrd = _data, *const ptre = _data + siz;
+        if (siz>isiz) for (unsigned long n = siz/isiz; n; --n)
+          for (const t *ptrs = img._data, *ptrs_end = ptrs + isiz; ptrs<ptrs_end; ++ptrd)
+            *ptrd = (T)std::pow((double)*ptrd,(double)(*(ptrs++)));
+        for (const t *ptrs = img._data; ptrd<ptre; ++ptrd) *ptrd = (T)std::pow((double)*ptrd,(double)(*(ptrs++)));
+      }
+      return *this;
+    }
+
+    //! Raise each pixel value to a power, pointwisely specified from another image \newinstance.
+    template<typename t>
+    CImg<Tfloat> get_pow(const CImg<t>& img) const {
+      return CImg<Tfloat>(*this,false).pow(img);
+    }
+
+    //! Compute the bitwise left rotation of each pixel value.
+    /**
+       Similar to operator<<=(unsigned int), except that it performs a left rotation instead of a left shift.
+    **/
+    CImg<T>& rol(const unsigned int n=1) {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=32768)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)cimg::rol(*ptrd,n);
+      return *this;
+    }
+
+    //! Compute the bitwise left rotation of each pixel value \newinstance.
+    CImg<T> get_rol(const unsigned int n=1) const {
+      return (+*this).rol(n);
+    }
+
+    //! Compute the bitwise left rotation of each pixel value.
+    /**
+       Similar to operator<<=(const char*), except that it performs a left rotation instead of a left shift.
+    **/
+    CImg<T>& rol(const char *const expression) {
+      if (is_empty()) return *this;
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      try {
+        const CImg<T> _base = cimg::_is_self_expr(expression)?+*this:CImg<T>(), &base = _base?_base:*this;
+        _cimg_math_parser mp(base,this,expression + (*expression=='>' || *expression=='<'?1:0),"rol");
+        T *ptrd = *expression=='<'?end() - 1:_data;
+        if (*expression=='<')
+          cimg_rofXYZC(*this,x,y,z,c) { *ptrd = (T)cimg::rol(*ptrd,(unsigned int)mp(x,y,z,c)); --ptrd; }
+        else if (*expression=='>')
+          cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)cimg::rol(*ptrd,(unsigned int)mp(x,y,z,c)); ++ptrd; }
+        else {
+#ifdef cimg_use_openmp
+          if (_width>=512 && _height*_depth*_spectrum>=2 && std::strlen(expression)>=6)
+#pragma omp parallel
+          {
+            _cimg_math_parser _mp = omp_get_thread_num()?mp:_cimg_math_parser(), &lmp = omp_get_thread_num()?_mp:mp;
+#pragma omp for collapse(3)
+            cimg_forYZC(*this,y,z,c) {
+              T *ptrd = data(0,y,z,c);
+              cimg_forX(*this,x) { *ptrd = (T)cimg::rol(*ptrd,(unsigned int)lmp(x,y,z,c)); ++ptrd; }
+            }
+          }
+          else
+#endif
+            cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)cimg::rol(*ptrd,(unsigned int)mp(x,y,z,c)); ++ptrd; }
+        }
+      } catch (CImgException&) {
+        CImg<Tfloat> values(_width,_height,_depth,_spectrum);
+        try {
+          values.fill(expression,true);
+        } catch (CImgException&) {
+          cimg::exception_mode(omode);
+          values.load(expression);
+        }
+        rol(values);
+      }
+      cimg::exception_mode(omode);
+      return *this;
+    }
+
+    //! Compute the bitwise left rotation of each pixel value \newinstance.
+    CImg<T> get_rol(const char *const expression) const {
+      return (+*this).rol(expression);
+    }
+
+    //! Compute the bitwise left rotation of each pixel value.
+    /**
+       Similar to operator<<=(const CImg<t>&), except that it performs a left rotation instead of a left shift.
+    **/
+    template<typename t>
+    CImg<T>& rol(const CImg<t>& img) {
+      const unsigned long siz = size(), isiz = img.size();
+      if (siz && isiz) {
+        if (is_overlapped(img)) return rol(+img);
+        T *ptrd = _data, *const ptre = _data + siz;
+        if (siz>isiz) for (unsigned long n = siz/isiz; n; --n)
+          for (const t *ptrs = img._data, *ptrs_end = ptrs + isiz; ptrs<ptrs_end; ++ptrd)
+            *ptrd = (T)cimg::rol(*ptrd,(unsigned int)(*(ptrs++)));
+        for (const t *ptrs = img._data; ptrd<ptre; ++ptrd) *ptrd = (T)cimg::rol(*ptrd,(unsigned int)(*(ptrs++)));
+      }
+      return *this;
+    }
+
+    //! Compute the bitwise left rotation of each pixel value \newinstance.
+    template<typename t>
+    CImg<T> get_rol(const CImg<t>& img) const {
+      return (+*this).rol(img);
+    }
+
+    //! Compute the bitwise right rotation of each pixel value.
+    /**
+       Similar to operator>>=(unsigned int), except that it performs a right rotation instead of a right shift.
+    **/
+    CImg<T>& ror(const unsigned int n=1) {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=32768)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (T)cimg::ror(*ptrd,n);
+      return *this;
+    }
+
+    //! Compute the bitwise right rotation of each pixel value \newinstance.
+    CImg<T> get_ror(const unsigned int n=1) const {
+      return (+*this).ror(n);
+    }
+
+    //! Compute the bitwise right rotation of each pixel value.
+    /**
+       Similar to operator>>=(const char*), except that it performs a right rotation instead of a right shift.
+    **/
+    CImg<T>& ror(const char *const expression) {
+      if (is_empty()) return *this;
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      try {
+        const CImg<T> _base = cimg::_is_self_expr(expression)?+*this:CImg<T>(), &base = _base?_base:*this;
+        _cimg_math_parser mp(base,this,expression + (*expression=='>' || *expression=='<'?1:0),"ror");
+        T *ptrd = *expression=='<'?end() - 1:_data;
+        if (*expression=='<')
+          cimg_rofXYZC(*this,x,y,z,c) { *ptrd = (T)cimg::ror(*ptrd,(unsigned int)mp(x,y,z,c)); --ptrd; }
+        else if (*expression=='>')
+          cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)cimg::ror(*ptrd,(unsigned int)mp(x,y,z,c)); ++ptrd; }
+        else {
+#ifdef cimg_use_openmp
+          if (_width>=512 && _height*_depth*_spectrum>=2 && std::strlen(expression)>=6)
+#pragma omp parallel
+          {
+            _cimg_math_parser _mp = omp_get_thread_num()?mp:_cimg_math_parser(), &lmp = omp_get_thread_num()?_mp:mp;
+#pragma omp for collapse(3)
+            cimg_forYZC(*this,y,z,c) {
+              T *ptrd = data(0,y,z,c);
+              cimg_forX(*this,x) { *ptrd = (T)cimg::ror(*ptrd,(unsigned int)lmp(x,y,z,c)); ++ptrd; }
+            }
+          }
+          else
+#endif
+            cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)cimg::ror(*ptrd,(unsigned int)mp(x,y,z,c)); ++ptrd; }
+        }
+      } catch (CImgException&) {
+        CImg<Tfloat> values(_width,_height,_depth,_spectrum);
+        try {
+          values.fill(expression,true);
+        } catch (CImgException&) {
+          cimg::exception_mode(omode);
+          values.load(expression);
+        }
+        ror(values);
+      }
+      cimg::exception_mode(omode);
+      return *this;
+    }
+
+    //! Compute the bitwise right rotation of each pixel value \newinstance.
+    CImg<T> get_ror(const char *const expression) const {
+      return (+*this).ror(expression);
+    }
+
+    //! Compute the bitwise right rotation of each pixel value.
+    /**
+       Similar to operator>>=(const CImg<t>&), except that it performs a right rotation instead of a right shift.
+    **/
+    template<typename t>
+    CImg<T>& ror(const CImg<t>& img) {
+      const unsigned long siz = size(), isiz = img.size();
+      if (siz && isiz) {
+        if (is_overlapped(img)) return ror(+img);
+        T *ptrd = _data, *const ptre = _data + siz;
+        if (siz>isiz) for (unsigned long n = siz/isiz; n; --n)
+          for (const t *ptrs = img._data, *ptrs_end = ptrs + isiz; ptrs<ptrs_end; ++ptrd)
+            *ptrd = (T)cimg::ror(*ptrd,(unsigned int)(*(ptrs++)));
+        for (const t *ptrs = img._data; ptrd<ptre; ++ptrd) *ptrd = (T)cimg::ror(*ptrd,(unsigned int)(*(ptrs++)));
+      }
+      return *this;
+    }
+
+    //! Compute the bitwise right rotation of each pixel value \newinstance.
+    template<typename t>
+    CImg<T> get_ror(const CImg<t>& img) const {
+      return (+*this).ror(img);
+    }
+
+    //! Pointwise min operator between instance image and a value.
+    /**
+       \param val Value used as the reference argument of the min operator.
+       \note Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by
+       \f$\mathrm{min}(I_{(x,y,z,c)},\mathrm{val})\f$.
+     **/
+    CImg<T>& min(const T& val) {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=65536)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = cimg::min(*ptrd,val);
+      return *this;
+    }
+
+    //! Pointwise min operator between instance image and a value \newinstance.
+    CImg<T> get_min(const T& val) const {
+      return (+*this).min(val);
+    }
+
+    //! Pointwise min operator between two images.
+    /**
+       \param img Image used as the reference argument of the min operator.
+       \note Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by
+       \f$\mathrm{min}(I_{(x,y,z,c)},\mathrm{img}_{(x,y,z,c)})\f$.
+     **/
+    template<typename t>
+    CImg<T>& min(const CImg<t>& img) {
+      const unsigned long siz = size(), isiz = img.size();
+      if (siz && isiz) {
+        if (is_overlapped(img)) return min(+img);
+        T *ptrd = _data, *const ptre = _data + siz;
+        if (siz>isiz) for (unsigned long n = siz/isiz; n; --n)
+          for (const t *ptrs = img._data, *ptrs_end = ptrs + isiz; ptrs<ptrs_end; ++ptrd)
+            *ptrd = cimg::min((T)*(ptrs++),*ptrd);
+        for (const t *ptrs = img._data; ptrd<ptre; ++ptrd) *ptrd = cimg::min((T)*(ptrs++),*ptrd);
+      }
+      return *this;
+    }
+
+    //! Pointwise min operator between two images \newinstance.
+    template<typename t>
+    CImg<_cimg_Tt> get_min(const CImg<t>& img) const {
+      return CImg<_cimg_Tt>(*this,false).min(img);
+    }
+
+    //! Pointwise min operator between an image and an expression.
+    /**
+       \param expression Math formula as a C-string.
+       \note Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by
+       \f$\mathrm{min}(I_{(x,y,z,c)},\mathrm{expr}_{(x,y,z,c)})\f$.
+    **/
+    CImg<T>& min(const char *const expression) {
+      if (is_empty()) return *this;
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      try {
+        const CImg<T> _base = cimg::_is_self_expr(expression)?+*this:CImg<T>(), &base = _base?_base:*this;
+        _cimg_math_parser mp(base,this,expression + (*expression=='>' || *expression=='<'?1:0),"min");
+        T *ptrd = *expression=='<'?end() - 1:_data;
+        if (*expression=='<') cimg_rofXYZC(*this,x,y,z,c) { *ptrd = (T)cimg::min(*ptrd,(T)mp(x,y,z,c)); --ptrd; }
+        else if (*expression=='>') cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)cimg::min(*ptrd,(T)mp(x,y,z,c)); ++ptrd; }
+        else {
+#ifdef cimg_use_openmp
+          if (_width>=512 && _height*_depth*_spectrum>=2 && std::strlen(expression)>=6)
+#pragma omp parallel
+          {
+            _cimg_math_parser _mp = omp_get_thread_num()?mp:_cimg_math_parser(), &lmp = omp_get_thread_num()?_mp:mp;
+#pragma omp for collapse(3)
+            cimg_forYZC(*this,y,z,c) {
+              T *ptrd = data(0,y,z,c);
+              cimg_forX(*this,x) { *ptrd = (T)cimg::min(*ptrd,(T)lmp(x,y,z,c)); ++ptrd; }
+            }
+          }
+          else
+#endif
+            cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)cimg::min(*ptrd,(T)mp(x,y,z,c)); ++ptrd; }
+        }
+      } catch (CImgException&) {
+        CImg<T> values(_width,_height,_depth,_spectrum);
+        try {
+          values.fill(expression,true);
+        } catch (CImgException&) {
+          cimg::exception_mode(omode);
+          values.load(expression);
+        }
+        min(values);
+      }
+      cimg::exception_mode(omode);
+      return *this;
+    }
+
+    //! Pointwise min operator between an image and an expression \newinstance.
+    CImg<Tfloat> get_min(const char *const expression) const {
+      return CImg<Tfloat>(*this,false).min(expression);
+    }
+
+    //! Pointwise max operator between instance image and a value.
+    /**
+       \param val Value used as the reference argument of the max operator.
+       \note Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by
+       \f$\mathrm{max}(I_{(x,y,z,c)},\mathrm{val})\f$.
+     **/
+    CImg<T>& max(const T& val) {
+      if (is_empty()) return *this;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=65536)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = cimg::max(*ptrd,val);
+      return *this;
+    }
+
+    //! Pointwise max operator between instance image and a value \newinstance.
+    CImg<T> get_max(const T& val) const {
+      return (+*this).max(val);
+    }
+
+    //! Pointwise max operator between two images.
+    /**
+       \param img Image used as the reference argument of the max operator.
+       \note Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by
+       \f$\mathrm{max}(I_{(x,y,z,c)},\mathrm{img}_{(x,y,z,c)})\f$.
+     **/
+    template<typename t>
+    CImg<T>& max(const CImg<t>& img) {
+      const unsigned long siz = size(), isiz = img.size();
+      if (siz && isiz) {
+        if (is_overlapped(img)) return max(+img);
+        T *ptrd = _data, *const ptre = _data + siz;
+        if (siz>isiz) for (unsigned long n = siz/isiz; n; --n)
+          for (const t *ptrs = img._data, *ptrs_end = ptrs + isiz; ptrs<ptrs_end; ++ptrd)
+            *ptrd = cimg::max((T)*(ptrs++),*ptrd);
+        for (const t *ptrs = img._data; ptrd<ptre; ++ptrd) *ptrd = cimg::max((T)*(ptrs++),*ptrd);
+      }
+      return *this;
+    }
+
+    //! Pointwise max operator between two images \newinstance.
+    template<typename t>
+    CImg<_cimg_Tt> get_max(const CImg<t>& img) const {
+      return CImg<_cimg_Tt>(*this,false).max(img);
+    }
+
+    //! Pointwise max operator between an image and an expression.
+    /**
+       \param expression Math formula as a C-string.
+       \note Replace each pixel value \f$I_{(x,y,z,c)}\f$ of the image instance by
+       \f$\mathrm{max}(I_{(x,y,z,c)},\mathrm{expr}_{(x,y,z,c)})\f$.
+    **/
+    CImg<T>& max(const char *const expression) {
+      if (is_empty()) return *this;
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      try {
+        const CImg<T> _base = cimg::_is_self_expr(expression)?+*this:CImg<T>(), &base = _base?_base:*this;
+        _cimg_math_parser mp(base,this,expression + (*expression=='>' || *expression=='<'?1:0),"max");
+        T *ptrd = *expression=='<'?end() - 1:_data;
+        if (*expression=='<') cimg_rofXYZC(*this,x,y,z,c) { *ptrd = (T)cimg::max(*ptrd,(T)mp(x,y,z,c)); --ptrd; }
+        else if (*expression=='>') cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)cimg::max(*ptrd,(T)mp(x,y,z,c)); ++ptrd; }
+        else {
+#ifdef cimg_use_openmp
+          if (_width>=512 && _height*_depth*_spectrum>=2 && std::strlen(expression)>=6)
+#pragma omp parallel
+          {
+            _cimg_math_parser _mp = omp_get_thread_num()?mp:_cimg_math_parser(), &lmp = omp_get_thread_num()?_mp:mp;
+#pragma omp for collapse(3)
+            cimg_forYZC(*this,y,z,c) {
+              T *ptrd = data(0,y,z,c);
+              cimg_forX(*this,x) { *ptrd = (T)cimg::max(*ptrd,(T)lmp(x,y,z,c)); ++ptrd; }
+            }
+          }
+          else
+#endif
+            cimg_forXYZC(*this,x,y,z,c) { *ptrd = (T)cimg::max(*ptrd,(T)mp(x,y,z,c)); ++ptrd; }
+        }
+      } catch (CImgException&) {
+        CImg<T> values(_width,_height,_depth,_spectrum);
+        try {
+          values.fill(expression,true);
+        } catch (CImgException&) {
+          cimg::exception_mode(omode);
+          values.load(expression);
+        }
+        max(values);
+      }
+      cimg::exception_mode(omode);
+      return *this;
+    }
+
+    //! Pointwise max operator between an image and an expression \newinstance.
+    CImg<Tfloat> get_max(const char *const expression) const {
+      return CImg<Tfloat>(*this,false).max(expression);
+    }
+
+    //! Return a reference to the minimum pixel value.
+    /**
+     **/
+    T& min() {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "min(): Empty instance.",
+                                    cimg_instance);
+      T *ptr_min = _data;
+      T min_value = *ptr_min;
+      cimg_for(*this,ptrs,T) if (*ptrs<min_value) min_value = *(ptr_min=ptrs);
+      return *ptr_min;
+    }
+
+    //! Return a reference to the minimum pixel value \const.
+    const T& min() const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "min(): Empty instance.",
+                                    cimg_instance);
+      const T *ptr_min = _data;
+      T min_value = *ptr_min;
+      cimg_for(*this,ptrs,T) if (*ptrs<min_value) min_value = *(ptr_min=ptrs);
+      return *ptr_min;
+    }
+
+    //! Return a reference to the maximum pixel value.
+    /**
+     **/
+    T& max() {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "max(): Empty instance.",
+                                    cimg_instance);
+      T *ptr_max = _data;
+      T max_value = *ptr_max;
+      cimg_for(*this,ptrs,T) if (*ptrs>max_value) max_value = *(ptr_max=ptrs);
+      return *ptr_max;
+    }
+
+    //! Return a reference to the maximum pixel value \const.
+    const T& max() const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "max(): Empty instance.",
+                                    cimg_instance);
+      const T *ptr_max = _data;
+      T max_value = *ptr_max;
+      cimg_for(*this,ptrs,T) if (*ptrs>max_value) max_value = *(ptr_max=ptrs);
+      return *ptr_max;
+    }
+
+    //! Return a reference to the minimum pixel value as well as the maximum pixel value.
+    /**
+       \param[out] max_val Maximum pixel value.
+    **/
+    template<typename t>
+    T& min_max(t& max_val) {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "min_max(): Empty instance.",
+                                    cimg_instance);
+      T *ptr_min = _data;
+      T min_value = *ptr_min, max_value = min_value;
+      cimg_for(*this,ptrs,T) {
+        const T val = *ptrs;
+        if (val<min_value) { min_value = val; ptr_min = ptrs; }
+        if (val>max_value) max_value = val;
+      }
+      max_val = (t)max_value;
+      return *ptr_min;
+    }
+
+    //! Return a reference to the minimum pixel value as well as the maximum pixel value \const.
+    template<typename t>
+    const T& min_max(t& max_val) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "min_max(): Empty instance.",
+                                    cimg_instance);
+      const T *ptr_min = _data;
+      T min_value = *ptr_min, max_value = min_value;
+      cimg_for(*this,ptrs,T) {
+        const T val = *ptrs;
+        if (val<min_value) { min_value = val; ptr_min = ptrs; }
+        if (val>max_value) max_value = val;
+      }
+      max_val = (t)max_value;
+      return *ptr_min;
+    }
+
+    //! Return a reference to the maximum pixel value as well as the minimum pixel value.
+    /**
+       \param[out] min_val Minimum pixel value.
+    **/
+    template<typename t>
+    T& max_min(t& min_val) {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "max_min(): Empty instance.",
+                                    cimg_instance);
+      T *ptr_max = _data;
+      T max_value = *ptr_max, min_value = max_value;
+      cimg_for(*this,ptrs,T) {
+        const T val = *ptrs;
+        if (val>max_value) { max_value = val; ptr_max = ptrs; }
+        if (val<min_value) min_value = val;
+      }
+      min_val = (t)min_value;
+      return *ptr_max;
+    }
+
+    //! Return a reference to the maximum pixel value as well as the minimum pixel value \const.
+    template<typename t>
+    const T& max_min(t& min_val) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "max_min(): Empty instance.",
+                                    cimg_instance);
+      const T *ptr_max = _data;
+      T max_value = *ptr_max, min_value = max_value;
+      cimg_for(*this,ptrs,T) {
+        const T val = *ptrs;
+        if (val>max_value) { max_value = val; ptr_max = ptrs; }
+        if (val<min_value) min_value = val;
+      }
+      min_val = (t)min_value;
+      return *ptr_max;
+    }
+
+    //! Return the kth smallest pixel value.
+    /**
+       \param k Rank of the search smallest element.
+    **/
+    T kth_smallest(const unsigned int k) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "kth_smallest(): Empty instance.",
+                                    cimg_instance);
+      CImg<T> arr(*this);
+      unsigned int l = 0, ir = size() - 1;
+      for ( ; ; ) {
+        if (ir<=l + 1) {
+          if (ir==l + 1 && arr[ir]<arr[l]) cimg::swap(arr[l],arr[ir]);
+          return arr[k];
+        } else {
+          const unsigned int mid = (l + ir)>>1;
+          cimg::swap(arr[mid],arr[l + 1]);
+          if (arr[l]>arr[ir]) cimg::swap(arr[l],arr[ir]);
+          if (arr[l + 1]>arr[ir]) cimg::swap(arr[l + 1],arr[ir]);
+          if (arr[l]>arr[l + 1]) cimg::swap(arr[l],arr[l + 1]);
+          unsigned int i = l + 1, j = ir;
+          const T pivot = arr[l + 1];
+          for ( ; ; ) {
+            do ++i; while (arr[i]<pivot);
+            do --j; while (arr[j]>pivot);
+            if (j<i) break;
+            cimg::swap(arr[i],arr[j]);
+          }
+          arr[l + 1] = arr[j];
+          arr[j] = pivot;
+          if (j>=k) ir = j - 1;
+          if (j<=k) l = i;
+        }
+      }
+    }
+
+    //! Return the median pixel value.
+    /**
+     **/
+    T median() const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "median(): Empty instance.",
+                                    cimg_instance);
+      const unsigned int s = size();
+      const T res = kth_smallest(s>>1);
+      return (s%2)?res:((res + kth_smallest((s>>1) - 1))/2);
+    }
+
+    //! Return the product of all the pixel values.
+    /**
+     **/
+    double product() const {
+      if (is_empty()) return 0;
+      double res = 1;
+      cimg_for(*this,ptrs,T) res*=(double)*ptrs;
+      return res;
+    }
+
+    //! Return the sum of all the pixel values.
+    /**
+     **/
+    double sum() const {
+      double res = 0;
+      cimg_for(*this,ptrs,T) res+=(double)*ptrs;
+      return res;
+    }
+
+    //! Return the average pixel value.
+    /**
+     **/
+    double mean() const {
+      double res = 0;
+      cimg_for(*this,ptrs,T) res+=(double)*ptrs;
+      return res/size();
+    }
+
+    //! Return the variance of the pixel values.
+    /**
+       \param variance_method Method used to estimate the variance. Can be:
+       - \c 0: Second moment, computed as
+       \f$1/N \sum\limits_{k=1}^{N} (x_k - \bar x)^2 =
+       1/N \left( \sum\limits_{k=1}^N x_k^2 - \left( \sum\limits_{k=1}^N x_k \right)^2 / N \right)\f$
+       with \f$ \bar x = 1/N \sum\limits_{k=1}^N x_k \f$.
+       - \c 1: Best unbiased estimator, computed as \f$\frac{1}{N - 1} \sum\limits_{k=1}^{N} (x_k - \bar x)^2 \f$.
+       - \c 2: Least median of squares.
+       - \c 3: Least trimmed of squares.
+    **/
+    double variance(const unsigned int variance_method=1) const {
+      double foo;
+      return variance_mean(variance_method,foo);
+    }
+
+    //! Return the variance as well as the average of the pixel values.
+    /**
+       \param variance_method Method used to estimate the variance (see variance(const unsigned int) const).
+       \param[out] mean Average pixel value.
+    **/
+    template<typename t>
+    double variance_mean(const unsigned int variance_method, t& mean) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "variance_mean(): Empty instance.",
+                                    cimg_instance);
+
+      double variance = 0, average = 0;
+      const unsigned long siz = size();
+      switch (variance_method) {
+      case 0 : { // Least mean square (standard definition)
+        double S = 0, S2 = 0;
+        cimg_for(*this,ptrs,T) { const double val = (double)*ptrs; S+=val; S2+=val*val; }
+        variance = (S2 - S*S/siz)/siz;
+        average = S;
+      } break;
+      case 1 : { // Least mean square (robust definition)
+        double S = 0, S2 = 0;
+        cimg_for(*this,ptrs,T) { const double val = (double)*ptrs; S+=val; S2+=val*val; }
+        variance = siz>1?(S2 - S*S/siz)/(siz - 1):0;
+        average = S;
+      } break;
+      case 2 : { // Least Median of Squares (MAD)
+        CImg<Tfloat> buf(*this,false);
+        buf.sort();
+        const unsigned long siz2 = siz>>1;
+        const double med_i = (double)buf[siz2];
+        cimg_for(buf,ptrs,Tfloat) {
+          const double val = (double)*ptrs; *ptrs = (Tfloat)cimg::abs(val - med_i); average+=val;
+        }
+        buf.sort();
+        const double sig = (double)(1.4828*buf[siz2]);
+        variance = sig*sig;
+      } break;
+      default : { // Least trimmed of Squares
+        CImg<Tfloat> buf(*this,false);
+        const unsigned long siz2 = siz>>1;
+        cimg_for(buf,ptrs,Tfloat) {
+          const double val = (double)*ptrs; (*ptrs)=(Tfloat)((*ptrs)*val); average+=val;
+        }
+        buf.sort();
+        double a = 0;
+        const Tfloat *ptrs = buf._data;
+        for (unsigned long j = 0; j<siz2; ++j) a+=(double)*(ptrs++);
+        const double sig = (double)(2.6477*std::sqrt(a/siz2));
+        variance = sig*sig;
+      }
+      }
+      mean = (t)(average/siz);
+      return variance>0?variance:0;
+    }
+
+    //! Return estimated variance of the noise.
+    /**
+       \param variance_method Method used to compute the variance (see variance(const unsigned int) const).
+       \note Because of structures such as edges in images it is
+       recommanded to use a robust variance estimation. The variance of the
+       noise is estimated by computing the variance of the Laplacian \f$(\Delta
+       I)^2 \f$ scaled by a factor \f$c\f$ insuring \f$ c E[(\Delta I)^2]=
+       \sigma^2\f$ where \f$\sigma\f$ is the noise variance.
+    **/
+    double variance_noise(const unsigned int variance_method=2) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "variance_noise(): Empty instance.",
+                                    cimg_instance);
+
+      const unsigned long siz = size();
+      if (!siz || !_data) return 0;
+      if (variance_method>1) { // Compute a scaled version of the Laplacian.
+        CImg<Tdouble> tmp(*this);
+        if (_depth==1) {
+          const double cste = 1.0/std::sqrt(20.0); // Depends on how the Laplacian is computed.
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width*_height>=262144 && _spectrum>=2)
+#endif
+          cimg_forC(*this,c) {
+            CImg_3x3(I,T);
+            cimg_for3x3(*this,x,y,0,c,I,T) {
+              tmp(x,y,c) = cste*((double)Inc + (double)Ipc + (double)Icn +
+                                 (double)Icp - 4*(double)Icc);
+            }
+          }
+        } else {
+          const double cste = 1.0/std::sqrt(42.0); // Depends on how the Laplacian is computed.
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width*_height*_depth>=262144 && _spectrum>=2)
+#endif
+          cimg_forC(*this,c) {
+            CImg_3x3x3(I,T);
+            cimg_for3x3x3(*this,x,y,z,c,I,T) {
+              tmp(x,y,z,c) = cste*(
+                                   (double)Incc + (double)Ipcc + (double)Icnc + (double)Icpc +
+                                   (double)Iccn + (double)Iccp - 6*(double)Iccc);
+            }
+          }
+        }
+        return tmp.variance(variance_method);
+      }
+
+      // Version that doesn't need intermediate images.
+      double variance = 0, S = 0, S2 = 0;
+      if (_depth==1) {
+        const double cste = 1.0/std::sqrt(20.0);
+        CImg_3x3(I,T);
+        cimg_forC(*this,c) cimg_for3x3(*this,x,y,0,c,I,T) {
+          const double val = cste*((double)Inc + (double)Ipc +
+                                   (double)Icn + (double)Icp - 4*(double)Icc);
+          S+=val; S2+=val*val;
+        }
+      } else {
+        const double cste = 1.0/std::sqrt(42.0);
+        CImg_3x3x3(I,T);
+        cimg_forC(*this,c) cimg_for3x3x3(*this,x,y,z,c,I,T) {
+          const double val = cste *
+            ((double)Incc + (double)Ipcc + (double)Icnc +
+             (double)Icpc +
+             (double)Iccn + (double)Iccp - 6*(double)Iccc);
+          S+=val; S2+=val*val;
+        }
+      }
+      if (variance_method) variance = siz>1?(S2 - S*S/siz)/(siz - 1):0;
+      else variance = (S2 - S*S/siz)/siz;
+      return variance>0?variance:0;
+    }
+
+    //! Compute the MSE (Mean-Squared Error) between two images.
+    /**
+       \param img Image used as the second argument of the MSE operator.
+    **/
+    template<typename t>
+    double MSE(const CImg<t>& img) const {
+      if (img.size()!=size())
+        throw CImgArgumentException(_cimg_instance
+                                    "MSE(): Instance and specified image (%u,%u,%u,%u,%p) have different dimensions.",
+                                    cimg_instance,
+                                    img._width,img._height,img._depth,img._spectrum,img._data);
+      double vMSE = 0;
+      const t* ptr2 = img._data;
+      cimg_for(*this,ptr1,T) {
+        const double diff = (double)*ptr1 - (double)*(ptr2++);
+        vMSE+=diff*diff;
+      }
+      const unsigned long siz = img.size();
+      if (siz) vMSE/=siz;
+      return vMSE;
+    }
+
+    //! Compute the PSNR (Peak Signal-to-Noise Ratio) between two images.
+    /**
+       \param img Image used as the second argument of the PSNR operator.
+       \param max_value Maximum theoretical value of the signal.
+     **/
+    template<typename t>
+    double PSNR(const CImg<t>& img, const double max_value=255) const {
+      const double vMSE = (double)std::sqrt(MSE(img));
+      return (vMSE!=0)?(double)(20*std::log10(max_value/vMSE)):(double)(cimg::type<double>::max());
+    }
+
+    //! Evaluate math formula.
+    /**
+       \param expression Math formula, as a C-string.
+       \param x Value of the pre-defined variable \c x.
+       \param y Value of the pre-defined variable \c y.
+       \param z Value of the pre-defined variable \c z.
+       \param c Value of the pre-defined variable \c c.
+    **/
+    double eval(const char *const expression,
+                const double x=0, const double y=0, const double z=0, const double c=0) {
+      return _eval(this,expression,x,y,z,c);
+    }
+
+    //! Evaluate math formula \const.
+    double eval(const char *const expression,
+                const double x=0, const double y=0, const double z=0, const double c=0) const {
+      return _eval(0,expression,x,y,z,c);
+    }
+
+    double _eval(CImg<T> *const output, const char *const expression,
+                 const double x=0, const double y=0, const double z=0, const double c=0) const {
+      if (!expression) return 0;
+      if (!expression[1]) switch (*expression) { // Single-char optimization.
+        case 'w' : return (double)_width;
+        case 'h' : return (double)_height;
+        case 'd' : return (double)_depth;
+        case 's' : return (double)_spectrum;
+        case 'r' : return (double)_is_shared;
+        }
+      return _cimg_math_parser(*this,output,expression,"eval")(x,y,z,c);
+    }
+
+
+    //! Evaluate math formula on a set of variables.
+    /**
+       \param expression Math formula, as a C-string.
+       \param xyzc Set of values (x,y,z,c) used for the evaluation.
+    **/
+    template<typename t>
+    CImg<doubleT> eval(const char *const expression, const CImg<t>& xyzc) {
+      return _eval(this,expression,xyzc);
+    }
+
+    //! Evaluate math formula on a set of variables \const.
+    template<typename t>
+    CImg<doubleT> eval(const char *const expression, const CImg<t>& xyzc) const {
+      return _eval(0,expression,xyzc);
+    }
+
+    template<typename t>
+    CImg<doubleT> _eval(CImg<T> *const output, const char *const expression, const CImg<t>& xyzc) const {
+      CImg<doubleT> res(1,xyzc.size()/4);
+      if (!expression) return res.fill(0);
+      _cimg_math_parser mp(*this,output,expression,"eval");
+#ifdef cimg_use_openmp
+#pragma omp parallel if (res._height>=512 && std::strlen(expression)>=6)
+      {
+        _cimg_math_parser _mp = omp_get_thread_num()?mp:_cimg_math_parser(), &lmp = omp_get_thread_num()?_mp:mp;
+#pragma omp for
+        for (unsigned int i = 0; i<res._height; ++i) {
+          const unsigned int i4 = 4*i;
+          const double
+            x = (double)xyzc[i4], y = (double)xyzc[i4 + 1],
+            z = (double)xyzc[i4 + 2], c = (double)xyzc[i4 + 3];
+          res[i] = lmp(x,y,z,c);
+        }
+      }
+#else
+      const t *ps = xyzc._data;
+      cimg_for(res,pd,double) {
+        const double x = (double)*(ps++), y = (double)*(ps++), z = (double)*(ps++), c = (double)*(ps++);
+        *pd = mp(x,y,z,c);
+      }
+#endif
+      return res;
+    }
+
+    //! Compute statistics vector from the pixel values.
+    /*
+       \param variance_method Method used to compute the variance (see variance(const unsigned int) const).
+       \return Statistics vector as
+         <tt>[min; max; mean; variance; xmin; ymin; zmin; cmin; xmax; ymax; zmax; cmax; sum; product]</tt>.
+    **/
+    CImg<Tdouble> get_stats(const unsigned int variance_method=1) const {
+      if (is_empty()) return CImg<doubleT>();
+      const unsigned long siz = size();
+      const T *const odata = _data;
+      const T *pm = odata, *pM = odata;
+      double S = 0, S2 = 0, P = _data?1:0;
+      T m = *pm, M = m;
+      cimg_for(*this,ptrs,T) {
+        const T val = *ptrs;
+        const double _val = (double)val;
+        if (val<m) { m = val; pm = ptrs; }
+        if (val>M) { M = val; pM = ptrs; }
+        S+=_val;
+        S2+=_val*_val;
+        P*=_val;
+      }
+      const double
+        mean_value = S/siz,
+        _variance_value = variance_method==0?(S2 - S*S/siz)/siz:
+        (variance_method==1?(siz>1?(S2 - S*S/siz)/(siz - 1):0):
+         variance(variance_method)),
+        variance_value = _variance_value>0?_variance_value:0;
+      int
+        xm = 0, ym = 0, zm = 0, cm = 0,
+        xM = 0, yM = 0, zM = 0, cM = 0;
+      contains(*pm,xm,ym,zm,cm);
+      contains(*pM,xM,yM,zM,cM);
+      return CImg<Tdouble>(1,14).fill((double)m,(double)M,mean_value,variance_value,
+                                      (double)xm,(double)ym,(double)zm,(double)cm,
+                                      (double)xM,(double)yM,(double)zM,(double)cM,
+                                      S,P);
+    }
+
+    //! Compute statistics vector from the pixel values \inplace.
+    CImg<T>& stats(const unsigned int variance_method=1) {
+      return get_stats(variance_method).move_to(*this);
+    }
+
+    //@}
+    //-------------------------------------
+    //
+    //! \name Vector / Matrix Operations
+    //@{
+    //-------------------------------------
+
+    //! Compute norm of the image, viewed as a matrix.
+    /**
+       \param magnitude_type Norm type. Can be:
+       - \c -1: Linf-norm
+       - \c 0: L2-norm
+       - \c 1: L1-norm
+    **/
+    double magnitude(const int magnitude_type=2) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "magnitude(): Empty instance.",
+                                    cimg_instance);
+      double res = 0;
+      switch (magnitude_type) {
+      case -1 : {
+        cimg_for(*this,ptrs,T) { const double val = (double)cimg::abs(*ptrs); if (val>res) res = val; }
+      } break;
+      case 1 : {
+        cimg_for(*this,ptrs,T) res+=(double)cimg::abs(*ptrs);
+      } break;
+      default : {
+        cimg_for(*this,ptrs,T) res+=(double)cimg::sqr(*ptrs);
+        res = (double)std::sqrt(res);
+      }
+      }
+      return res;
+    }
+
+    //! Compute the trace of the image, viewed as a matrix.
+    /**
+     **/
+    double trace() const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "trace(): Empty instance.",
+                                    cimg_instance);
+      double res = 0;
+      cimg_forX(*this,k) res+=(double)(*this)(k,k);
+      return res;
+    }
+
+    //! Compute the determinant of the image, viewed as a matrix.
+    /**
+     **/
+    double det() const {
+      if (is_empty() || _width!=_height || _depth!=1 || _spectrum!=1)
+        throw CImgInstanceException(_cimg_instance
+                                    "det(): Instance is not a square matrix.",
+                                    cimg_instance);
+
+      switch (_width) {
+      case 1 : return (double)((*this)(0,0));
+      case 2 : return (double)((*this)(0,0))*(double)((*this)(1,1)) - (double)((*this)(0,1))*(double)((*this)(1,0));
+      case 3 : {
+        const double
+          a = (double)_data[0], d = (double)_data[1], g = (double)_data[2],
+          b = (double)_data[3], e = (double)_data[4], h = (double)_data[5],
+          c = (double)_data[6], f = (double)_data[7], i = (double)_data[8];
+        return i*a*e - a*h*f - i*b*d + b*g*f + c*d*h - c*g*e;
+      }
+      default : {
+        CImg<Tfloat> lu(*this);
+        CImg<uintT> indx;
+        bool d;
+        lu._LU(indx,d);
+        double res = d?(double)1:(double)-1;
+        cimg_forX(lu,i) res*=lu(i,i);
+        return res;
+      }
+      }
+    }
+
+    //! Compute the dot product between instance and argument, viewed as matrices.
+    /**
+       \param img Image used as a second argument of the dot product.
+    **/
+    template<typename t>
+    double dot(const CImg<t>& img) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "dot(): Empty instance.",
+                                    cimg_instance);
+      if (!img)
+        throw CImgArgumentException(_cimg_instance
+                                    "dot(): Empty specified image.",
+                                    cimg_instance);
+
+      const unsigned int nb = cimg::min(size(),img.size());
+      double res = 0;
+      for (unsigned int off = 0; off<nb; ++off) res+=(double)_data[off]*(double)img[off];
+      return res;
+    }
+
+    //! Get vector-valued pixel located at specified position.
+    /**
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+    **/
+    CImg<T> get_vector_at(const unsigned int x, const unsigned int y=0, const unsigned int z=0) const {
+      CImg<T> res;
+      if (res._height!=_spectrum) res.assign(1,_spectrum);
+      const unsigned long whd = (unsigned long)_width*_height*_depth;
+      const T *ptrs = data(x,y,z);
+      T *ptrd = res._data;
+      cimg_forC(*this,c) { *(ptrd++) = *ptrs; ptrs+=whd; }
+      return res;
+    }
+
+    //! Get (square) matrix-valued pixel located at specified position.
+    /**
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \note - The spectrum() of the image must be a square.
+     **/
+    CImg<T> get_matrix_at(const unsigned int x=0, const unsigned int y=0, const unsigned int z=0) const {
+      const int n = (int)std::sqrt((double)_spectrum);
+      const T *ptrs = data(x,y,z,0);
+      const unsigned long whd = (unsigned long)_width*_height*_depth;
+      CImg<T> res(n,n);
+      T *ptrd = res._data;
+      cimg_forC(*this,c) { *(ptrd++) = *ptrs; ptrs+=whd; }
+      return res;
+    }
+
+    //! Get tensor-valued pixel located at specified position.
+    /**
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+    **/
+    CImg<T> get_tensor_at(const unsigned int x, const unsigned int y=0, const unsigned int z=0) const {
+      const T *ptrs = data(x,y,z,0);
+      const unsigned long whd = (unsigned long)_width*_height*_depth;
+      if (_spectrum==6)
+        return tensor(*ptrs,*(ptrs + whd),*(ptrs + 2*whd),*(ptrs + 3*whd),*(ptrs + 4*whd),*(ptrs + 5*whd));
+      if (_spectrum==3)
+        return tensor(*ptrs,*(ptrs + whd),*(ptrs + 2*whd));
+      return tensor(*ptrs);
+    }
+
+    //! Set vector-valued pixel at specified position.
+    /**
+       \param vec Vector to put on the instance image.
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+    **/
+    template<typename t>
+    CImg<T>& set_vector_at(const CImg<t>& vec, const unsigned int x, const unsigned int y=0, const unsigned int z=0) {
+      if (x<_width && y<_height && z<_depth) {
+        const t *ptrs = vec._data;
+        const unsigned long whd = (unsigned long)_width*_height*_depth;
+        T *ptrd = data(x,y,z);
+        for (unsigned int k = cimg::min((unsigned int)vec.size(),_spectrum); k; --k) {
+          *ptrd = (T)*(ptrs++); ptrd+=whd;
+        }
+      }
+      return *this;
+    }
+
+    //! Set (square) matrix-valued pixel at specified position.
+    /**
+       \param mat Matrix to put on the instance image.
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+    **/
+    template<typename t>
+    CImg<T>& set_matrix_at(const CImg<t>& mat, const unsigned int x=0, const unsigned int y=0, const unsigned int z=0) {
+      return set_vector_at(mat,x,y,z);
+    }
+
+    //! Set tensor-valued pixel at specified position.
+    /**
+       \param ten Tensor to put on the instance image.
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+    **/
+    template<typename t>
+    CImg<T>& set_tensor_at(const CImg<t>& ten, const unsigned int x=0, const unsigned int y=0, const unsigned int z=0) {
+      T *ptrd = data(x,y,z,0);
+      const unsigned long siz = (unsigned long)_width*_height*_depth;
+      if (ten._height==2) {
+        *ptrd = (T)ten[0]; ptrd+=siz;
+        *ptrd = (T)ten[1]; ptrd+=siz;
+        *ptrd = (T)ten[3];
+      }
+      else {
+        *ptrd = (T)ten[0]; ptrd+=siz;
+        *ptrd = (T)ten[1]; ptrd+=siz;
+        *ptrd = (T)ten[2]; ptrd+=siz;
+        *ptrd = (T)ten[4]; ptrd+=siz;
+        *ptrd = (T)ten[5]; ptrd+=siz;
+        *ptrd = (T)ten[8];
+      }
+      return *this;
+    }
+
+    //! Unroll pixel values along axis \c y.
+    /**
+       \note Equivalent to \code unroll('y'); \endcode.
+    **/
+    CImg<T>& vector() {
+      return unroll('y');
+    }
+
+    //! Unroll pixel values along axis \c y \newinstance.
+    CImg<T> get_vector() const {
+      return get_unroll('y');
+    }
+
+    //! Resize image to become a scalar square matrix.
+    /**
+     **/
+    CImg<T>& matrix() {
+      const unsigned long siz = size();
+      switch (siz) {
+      case 1 : break;
+      case 4 : _width = _height = 2; break;
+      case 9 : _width = _height = 3; break;
+      case 16 : _width = _height = 4; break;
+      case 25 : _width = _height = 5; break;
+      case 36 : _width = _height = 6; break;
+      case 49 : _width = _height = 7; break;
+      case 64 : _width = _height = 8; break;
+      case 81 : _width = _height = 9; break;
+      case 100 : _width = _height = 10; break;
+      default : {
+        unsigned long i = 11, i2 = i*i;
+        while (i2<siz) { i2+=2*i + 1; ++i; }
+        if (i2==siz) _width = _height = i;
+        else throw CImgInstanceException(_cimg_instance
+                                         "matrix(): Invalid instance size %u (should be a square integer).",
+                                         cimg_instance,
+                                         siz);
+      }
+      }
+      return *this;
+    }
+
+    //! Resize image to become a scalar square matrix \newinstance.
+    CImg<T> get_matrix() const {
+      return (+*this).matrix();
+    }
+
+    //! Resize image to become a symmetric tensor.
+    /**
+     **/
+    CImg<T>& tensor() {
+      return get_tensor().move_to(*this);
+    }
+
+    //! Resize image to become a symmetric tensor \newinstance.
+    CImg<T> get_tensor() const {
+      CImg<T> res;
+      const unsigned long siz = size();
+      switch (siz) {
+      case 1 : break;
+      case 3 :
+        res.assign(2,2);
+        res(0,0) = (*this)(0);
+        res(1,0) = res(0,1) = (*this)(1);
+        res(1,1) = (*this)(2);
+        break;
+      case 6 :
+        res.assign(3,3);
+        res(0,0) = (*this)(0);
+        res(1,0) = res(0,1) = (*this)(1);
+        res(2,0) = res(0,2) = (*this)(2);
+        res(1,1) = (*this)(3);
+        res(2,1) = res(1,2) = (*this)(4);
+        res(2,2) = (*this)(5);
+        break;
+      default :
+        throw CImgInstanceException(_cimg_instance
+                                    "tensor(): Invalid instance size (does not define a 1x1, 2x2 or 3x3 tensor).",
+                                    cimg_instance);
+      }
+      return res;
+    }
+
+    //! Resize image to become a diagonal matrix.
+    /**
+       \note Transform the image as a diagonal matrix so that each of its initial value becomes a diagonal coefficient.
+    **/
+    CImg<T>& diagonal() {
+      return get_diagonal().move_to(*this);
+    }
+
+    //! Resize image to become a diagonal matrix \newinstance.
+    CImg<T> get_diagonal() const {
+      if (is_empty()) return *this;
+      CImg<T> res(size(),size(),1,1,0);
+      cimg_foroff(*this,off) res(off,off) = (*this)(off);
+      return res;
+    }
+
+    //! Replace the image by an identity matrix.
+    /**
+       \note If the instance image is not square, it is resized to a square matrix using its maximum
+       dimension as a reference.
+    **/
+    CImg<T>& identity_matrix() {
+      return identity_matrix(cimg::max(_width,_height)).move_to(*this);
+    }
+
+    //! Replace the image by an identity matrix \newinstance.
+    CImg<T> get_identity_matrix() const {
+      return identity_matrix(cimg::max(_width,_height));
+    }
+
+    //! Fill image with a linear sequence of values.
+    /**
+       \param a0 Starting value of the sequence.
+       \param a1 Ending value of the sequence.
+    **/
+    CImg<T>& sequence(const T& a0, const T& a1) {
+      if (is_empty()) return *this;
+      const unsigned int siz = size() - 1;
+      T* ptr = _data;
+      if (siz) {
+        const double delta = (double)a1 - (double)a0;
+        cimg_foroff(*this,l) *(ptr++) = (T)(a0 + delta*l/siz);
+      } else *ptr = a0;
+      return *this;
+    }
+
+    //! Fill image with a linear sequence of values \newinstance.
+    CImg<T> get_sequence(const T& a0, const T& a1) const {
+      return (+*this).sequence(a0,a1);
+    }
+
+    //! Transpose the image, viewed as a matrix.
+    /**
+       \note Equivalent to \code permute_axes("yxzc"); \endcode
+    **/
+    CImg<T>& transpose() {
+      if (_width==1) { _width = _height; _height = 1; return *this; }
+      if (_height==1) { _height = _width; _width = 1; return *this; }
+      if (_width==_height) {
+        cimg_forYZC(*this,y,z,c) for (int x = y; x<width(); ++x) cimg::swap((*this)(x,y,z,c),(*this)(y,x,z,c));
+        return *this;
+      }
+      return get_transpose().move_to(*this);
+    }
+
+    //! Transpose the image, viewed as a matrix \newinstance.
+    CImg<T> get_transpose() const {
+      return get_permute_axes("yxzc");
+    }
+
+    //! Compute the cross product between two \c 1x3 images, viewed as 3d vectors.
+    /**
+       \param img Image used as the second argument of the cross product.
+       \note The first argument of the cross product is \c *this.
+     **/
+    template<typename t>
+    CImg<T>& cross(const CImg<t>& img) {
+      if (_width!=1 || _height<3 || img._width!=1 || img._height<3)
+        throw CImgInstanceException(_cimg_instance
+                                    "cross(): Instance and/or specified image (%u,%u,%u,%u,%p) are not 3d vectors.",
+                                    cimg_instance,
+                                    img._width,img._height,img._depth,img._spectrum,img._data);
+
+      const T x = (*this)[0], y = (*this)[1], z = (*this)[2];
+      (*this)[0] = (T)(y*img[2] - z*img[1]);
+      (*this)[1] = (T)(z*img[0] - x*img[2]);
+      (*this)[2] = (T)(x*img[1] - y*img[0]);
+      return *this;
+    }
+
+    //! Compute the cross product between two \c 1x3 images, viewed as 3d vectors \newinstance.
+    template<typename t>
+    CImg<_cimg_Tt> get_cross(const CImg<t>& img) const {
+      return CImg<_cimg_Tt>(*this).cross(img);
+    }
+
+    //! Invert the instance image, viewed as a matrix.
+    /**
+       \param use_LU Choose the inverting algorithm. Can be:
+       - \c true: LU-based matrix inversion.
+       - \c false: SVD-based matrix inversion.
+    **/
+    CImg<T>& invert(const bool use_LU=true) {
+      if (_width!=_height || _depth!=1 || _spectrum!=1)
+        throw CImgInstanceException(_cimg_instance
+                                    "invert(): Instance is not a square matrix.",
+                                    cimg_instance);
+#ifdef cimg_use_lapack
+      int INFO = (int)use_LU, N = _width, LWORK = 4*N, *const IPIV = new int[N];
+      Tfloat
+        *const lapA = new Tfloat[N*N],
+        *const WORK = new Tfloat[LWORK];
+      cimg_forXY(*this,k,l) lapA[k*N + l] = (Tfloat)((*this)(k,l));
+      cimg::getrf(N,lapA,IPIV,INFO);
+      if (INFO)
+        cimg::warn(_cimg_instance
+                   "invert(): LAPACK function dgetrf_() returned error code %d.",
+                   cimg_instance,
+                   INFO);
+      else {
+        cimg::getri(N,lapA,IPIV,WORK,LWORK,INFO);
+        if (INFO)
+          cimg::warn(_cimg_instance
+                     "invert(): LAPACK function dgetri_() returned error code %d.",
+                     cimg_instance,
+                     INFO);
+      }
+      if (!INFO) cimg_forXY(*this,k,l) (*this)(k,l) = (T)(lapA[k*N + l]); else fill(0);
+      delete[] IPIV; delete[] lapA; delete[] WORK;
+#else
+      const double dete = _width>3?-1.0:det();
+      if (dete!=0.0 && _width==2) {
+        const double
+          a = _data[0], c = _data[1],
+          b = _data[2], d = _data[3];
+        _data[0] = (T)(d/dete); _data[1] = (T)(-c/dete);
+        _data[2] = (T)(-b/dete); _data[3] = (T)(a/dete);
+      } else if (dete!=0.0 && _width==3) {
+        const double
+          a = _data[0], d = _data[1], g = _data[2],
+          b = _data[3], e = _data[4], h = _data[5],
+          c = _data[6], f = _data[7], i = _data[8];
+        _data[0] = (T)((i*e-f*h)/dete), _data[1] = (T)((g*f-i*d)/dete), _data[2] = (T)((d*h-g*e)/dete);
+        _data[3] = (T)((h*c-i*b)/dete), _data[4] = (T)((i*a-c*g)/dete), _data[5] = (T)((g*b-a*h)/dete);
+        _data[6] = (T)((b*f-e*c)/dete), _data[7] = (T)((d*c-a*f)/dete), _data[8] = (T)((a*e-d*b)/dete);
+      } else {
+        if (use_LU) { // LU-based inverse computation
+          CImg<Tfloat> A(*this), indx, col(1,_width);
+          bool d;
+          A._LU(indx,d);
+          cimg_forX(*this,j) {
+            col.fill(0);
+            col(j) = 1;
+            col._solve(A,indx);
+            cimg_forX(*this,i) (*this)(j,i) = (T)col(i);
+          }
+        } else { // SVD-based inverse computation
+          CImg<Tfloat> U(_width,_width), S(1,_width), V(_width,_width);
+          SVD(U,S,V,false);
+          U.transpose();
+          cimg_forY(S,k) if (S[k]!=0) S[k]=1/S[k];
+          S.diagonal();
+          *this = V*S*U;
+        }
+      }
+#endif
+      return *this;
+    }
+
+    //! Invert the instance image, viewed as a matrix \newinstance.
+    CImg<Tfloat> get_invert(const bool use_LU=true) const {
+      return CImg<Tfloat>(*this,false).invert(use_LU);
+    }
+
+    //! Compute the Moore-Penrose pseudo-inverse of the instance image, viewed as a matrix.
+    /**
+    **/
+    CImg<T>& pseudoinvert() {
+      return get_pseudoinvert().move_to(*this);
+    }
+
+    //! Compute the Moore-Penrose pseudo-inverse of the instance image, viewed as a matrix \newinstance.
+    CImg<Tfloat> get_pseudoinvert() const {
+      CImg<Tfloat> U, S, V;
+      SVD(U,S,V);
+      const Tfloat tolerance = (sizeof(Tfloat)<=4?5.96e-8f:1.11e-16f)*cimg::max(_width,_height)*S.max();
+      cimg_forX(V,x) {
+	const Tfloat s = S(x), invs = s>tolerance?1/s:(Tfloat)0;
+	cimg_forY(V,y) V(x,y)*=invs;
+      }
+      return V*U.transpose();
+    }
+
+    //! Solve a system of linear equations.
+    /**
+       \param A Matrix of the linear system.
+       \note Solve \c AX=B where \c B=*this.
+    **/
+    template<typename t>
+    CImg<T>& solve(const CImg<t>& A) {
+      if (_depth!=1 || _spectrum!=1 || _height!=A._height || A._depth!=1 || A._spectrum!=1)
+        throw CImgArgumentException(_cimg_instance
+                                    "solve(): Instance and specified matrix (%u,%u,%u,%u,%p) have "
+                                    "incompatible dimensions.",
+                                    cimg_instance,
+                                    A._width,A._height,A._depth,A._spectrum,A._data);
+      if (_width!=1) {
+        cimg_forX(*this,i) draw_image(i,get_column(i).solve(A));
+        return *this;
+      }
+
+      typedef _cimg_Ttfloat Ttfloat;
+      if (A._width==A._height) {
+#ifdef cimg_use_lapack
+        char TRANS = 'N';
+        int INFO, N = _height, LWORK = 4*N, *const IPIV = new int[N];
+        Ttfloat
+          *const lapA = new Ttfloat[N*N],
+          *const lapB = new Ttfloat[N],
+          *const WORK = new Ttfloat[LWORK];
+        cimg_forXY(A,k,l) lapA[k*N + l] = (Ttfloat)(A(k,l));
+        cimg_forY(*this,i) lapB[i] = (Ttfloat)((*this)(i));
+        cimg::getrf(N,lapA,IPIV,INFO);
+        if (INFO)
+          cimg::warn(_cimg_instance
+                     "solve(): LAPACK library function dgetrf_() returned error code %d.",
+                     cimg_instance,
+                     INFO);
+
+        if (!INFO) {
+          cimg::getrs(TRANS,N,lapA,IPIV,lapB,INFO);
+          if (INFO)
+            cimg::warn(_cimg_instance
+                       "solve(): LAPACK library function dgetrs_() returned error code %d.",
+                       cimg_instance,
+                       INFO);
+        }
+        if (!INFO) cimg_forY(*this,i) (*this)(i) = (T)(lapB[i]); else fill(0);
+        delete[] IPIV; delete[] lapA; delete[] lapB; delete[] WORK;
+#else
+        CImg<Ttfloat> lu(A,false);
+        CImg<Ttfloat> indx;
+        bool d;
+        lu._LU(indx,d);
+        _solve(lu,indx);
+#endif
+      } else { // Least-square solution for non-square systems.
+#ifdef cimg_use_lapack
+	char TRANS = 'N';
+        int INFO, N = A._width, M = A._height, LWORK = -1, LDA = M, LDB = M, NRHS = _width;
+	Ttfloat WORK_QUERY;
+	Ttfloat
+	  * const lapA = new Ttfloat[M*N],
+	  * const lapB = new Ttfloat[M*NRHS];
+	cimg::sgels(TRANS, M, N, NRHS, lapA, LDA, lapB, LDB, &WORK_QUERY, LWORK, INFO);
+	LWORK = (int) WORK_QUERY;
+	Ttfloat *const WORK = new Ttfloat[LWORK];
+        cimg_forXY(A,k,l) lapA[k*M + l] = (Ttfloat)(A(k,l));
+        cimg_forXY(*this,k,l) lapB[k*M + l] = (Ttfloat)((*this)(k,l));
+	cimg::sgels(TRANS, M, N, NRHS, lapA, LDA, lapB, LDB, WORK, LWORK, INFO);
+        if (INFO != 0)
+          cimg::warn(_cimg_instance
+                     "solve(): LAPACK library function sgels() returned error code %d.",
+                     cimg_instance,
+                     INFO);
+	assign(NRHS, N);
+        if (!INFO)
+          cimg_forXY(*this,k,l) (*this)(k,l) = (T)lapB[k*M + l];
+        else
+          assign(A.get_pseudoinvert()*(*this));
+        delete[] lapA; delete[] lapB; delete[] WORK;
+#else
+	assign(A.get_pseudoinvert()*(*this));
+#endif
+      }
+      return *this;
+    }
+
+    //! Solve a system of linear equations \newinstance.
+    template<typename t>
+    CImg<_cimg_Ttfloat> get_solve(const CImg<t>& A) const {
+      return CImg<_cimg_Ttfloat>(*this,false).solve(A);
+    }
+
+    template<typename t, typename ti>
+    CImg<T>& _solve(const CImg<t>& A, const CImg<ti>& indx) {
+      typedef _cimg_Ttfloat Ttfloat;
+      const int N = (int)size();
+      int ii = -1;
+      Ttfloat sum;
+      for (int i = 0; i<N; ++i) {
+        const int ip = (int)indx[i];
+        Ttfloat sum = (*this)(ip);
+        (*this)(ip) = (*this)(i);
+        if (ii>=0) for (int j = ii; j<=i - 1; ++j) sum-=A(j,i)*(*this)(j);
+        else if (sum!=0) ii = i;
+        (*this)(i) = (T)sum;
+      }
+      for (int i = N - 1; i>=0; --i) {
+        sum = (*this)(i);
+        for (int j = i + 1; j<N; ++j) sum-=A(j,i)*(*this)(j);
+        (*this)(i) = (T)(sum/A(i,i));
+      }
+      return *this;
+    }
+
+    //! Solve a tridiagonal system of linear equations.
+    /**
+       \param A Coefficients of the tridiagonal system.
+       A is a tridiagonal matrix A = [ b0,c0,0,...; a1,b1,c1,0,... ; ... ; ...,0,aN,bN ],
+       stored as a 3 columns matrix
+       \note Solve AX=B where \c B=*this, using the Thomas algorithm.
+    **/
+    template<typename t>
+    CImg<T>& solve_tridiagonal(const CImg<t>& A) {
+      const unsigned int siz = (unsigned int)size();
+      if (A._width!=3 || A._height!=siz)
+        throw CImgArgumentException(_cimg_instance
+                                    "solve_tridiagonal(): Instance and tridiagonal matrix "
+                                    "(%u,%u,%u,%u,%p) have incompatible dimensions.",
+                                    cimg_instance,
+                                    A._width,A._height,A._depth,A._spectrum,A._data);
+      typedef _cimg_Ttfloat Ttfloat;
+      const Ttfloat epsilon = 1e-4f;
+      CImg<Ttfloat> B = A.get_column(1), V(*this,false);
+      for (int i = 1; i<(int)siz; ++i) {
+        const Ttfloat m = A(0,i)/(B[i - 1]?B[i - 1]:epsilon);
+        B[i] -= m*A(2,i - 1);
+        V[i] -= m*V[i - 1];
+      }
+      (*this)[siz - 1] = (T)(V[siz - 1]/(B[siz - 1]?B[siz - 1]:epsilon));
+      for (int i = (int)siz - 2; i>=0; --i) (*this)[i] = (T)((V[i] - A(2,i)*(*this)[i + 1])/(B[i]?B[i]:epsilon));
+      return *this;
+    }
+
+    //! Solve a tridiagonal system of linear equations \newinstance.
+    template<typename t>
+    CImg<_cimg_Ttfloat> get_solve_tridiagonal(const CImg<t>& A) const {
+      return CImg<_cimg_Ttfloat>(*this,false).solve_tridiagonal(A);
+    }
+
+    //! Compute eigenvalues and eigenvectors of the instance image, viewed as a matrix.
+    /**
+       \param[out] val Vector of the estimated eigenvalues, in decreasing order.
+       \param[out] vec Matrix of the estimated eigenvectors, sorted by columns.
+    **/
+    template<typename t>
+    const CImg<T>& eigen(CImg<t>& val, CImg<t> &vec) const {
+      if (is_empty()) { val.assign(); vec.assign(); }
+      else {
+        if (_width!=_height || _depth>1 || _spectrum>1)
+          throw CImgInstanceException(_cimg_instance
+                                      "eigen(): Instance is not a square matrix.",
+                                      cimg_instance);
+
+        if (val.size()<(unsigned long)_width) val.assign(1,_width);
+        if (vec.size()<(unsigned long)_width*_width) vec.assign(_width,_width);
+        switch (_width) {
+        case 1 : { val[0] = (t)(*this)[0]; vec[0] = (t)1; } break;
+        case 2 : {
+          const double a = (*this)[0], b = (*this)[1], c = (*this)[2], d = (*this)[3], e = a + d;
+          double f = e*e - 4*(a*d - b*c);
+          if (f<0)
+            cimg::warn(_cimg_instance
+                       "eigen(): Complex eigenvalues found.",
+                       cimg_instance);
+
+          f = std::sqrt(f);
+          const double l1 = 0.5*(e-f), l2 = 0.5*(e+f);
+          const double theta1 = std::atan2(l2-a,b), theta2 = std::atan2(l1-a,b);
+          val[0] = (t)l2;
+          val[1] = (t)l1;
+          vec(0,0) = (t)std::cos(theta1);
+          vec(0,1) = (t)std::sin(theta1);
+          vec(1,0) = (t)std::cos(theta2);
+          vec(1,1) = (t)std::sin(theta2);
+        } break;
+        default :
+          throw CImgInstanceException(_cimg_instance
+                                      "eigen(): Eigenvalues computation of general matrices is limited "
+                                      "to 2x2 matrices.",
+                                      cimg_instance);
+        }
+      }
+      return *this;
+    }
+
+    //! Compute eigenvalues and eigenvectors of the instance image, viewed as a matrix.
+    /**
+       \return A list of two images <tt>[val; vec]</tt>, whose meaning is similar as in eigen(CImg<t>&,CImg<t>&) const.
+    **/
+    CImgList<Tfloat> get_eigen() const {
+      CImgList<Tfloat> res(2);
+      eigen(res[0],res[1]);
+      return res;
+    }
+
+    //! Compute eigenvalues and eigenvectors of the instance image, viewed as a symmetric matrix.
+    /**
+       \param[out] val Vector of the estimated eigenvalues, in decreasing order.
+       \param[out] vec Matrix of the estimated eigenvectors, sorted by columns.
+    **/
+    template<typename t>
+    const CImg<T>& symmetric_eigen(CImg<t>& val, CImg<t>& vec) const {
+      if (is_empty()) { val.assign(); vec.assign(); }
+      else {
+#ifdef cimg_use_lapack
+        char JOB = 'V', UPLO = 'U';
+        int N = _width, LWORK = 4*N, INFO;
+        Tfloat
+          *const lapA = new Tfloat[N*N],
+          *const lapW = new Tfloat[N],
+          *const WORK = new Tfloat[LWORK];
+        cimg_forXY(*this,k,l) lapA[k*N + l] = (Tfloat)((*this)(k,l));
+        cimg::syev(JOB,UPLO,N,lapA,lapW,WORK,LWORK,INFO);
+        if (INFO)
+          cimg::warn(_cimg_instance
+                     "symmetric_eigen(): LAPACK library function dsyev_() returned error code %d.",
+                     cimg_instance,
+                     INFO);
+
+        val.assign(1,N);
+	vec.assign(N,N);
+        if (!INFO) {
+          cimg_forY(val,i) val(i) = (T)lapW[N - 1 -i];
+          cimg_forXY(vec,k,l) vec(k,l) = (T)(lapA[(N - 1 - k)*N + l]);
+        } else { val.fill(0); vec.fill(0); }
+        delete[] lapA; delete[] lapW; delete[] WORK;
+#else
+        if (_width!=_height || _depth>1 || _spectrum>1)
+          throw CImgInstanceException(_cimg_instance
+                                      "eigen(): Instance is not a square matrix.",
+                                      cimg_instance);
+
+	val.assign(1,_width);
+	if (vec._data) vec.assign(_width,_width);
+        if (_width<3) {
+          eigen(val,vec);
+          if (_width==2) { vec[1] = -vec[2]; vec[3] = vec[0]; } // Force orthogonality for 2x2 matrices.
+          return *this;
+        }
+        CImg<t> V(_width,_width);
+        Tfloat M = 0, m = (Tfloat)min_max(M), maxabs = cimg::max((Tfloat)1.0f,cimg::abs(m),cimg::abs(M));
+        (CImg<Tfloat>(*this,false)/=maxabs).SVD(vec,val,V,false);
+        if (maxabs!=1) val*=maxabs;
+
+	bool is_ambiguous = false;
+	float eig = 0;
+	cimg_forY(val,p) {       // check for ambiguous cases.
+	  if (val[p]>eig) eig = (float)val[p];
+          t scal = 0;
+          cimg_forY(vec,y) scal+=vec(p,y)*V(p,y);
+          if (cimg::abs(scal)<0.9f) is_ambiguous = true;
+          if (scal<0) val[p] = -val[p];
+        }
+	if (is_ambiguous) {
+	  ++(eig*=2);
+	  SVD(vec,val,V,false,40,eig);
+	  val-=eig;
+	}
+        CImg<intT> permutations;  // sort eigenvalues in decreasing order
+        CImg<t> tmp(_width);
+        val.sort(permutations,false);
+        cimg_forY(vec,k) {
+          cimg_forY(permutations,y) tmp(y) = vec(permutations(y),k);
+          std::memcpy(vec.data(0,k),tmp._data,sizeof(t)*_width);
+        }
+#endif
+      }
+      return *this;
+    }
+
+    //! Compute eigenvalues and eigenvectors of the instance image, viewed as a symmetric matrix.
+    /**
+       \return A list of two images <tt>[val; vec]</tt>, whose meaning are similar as in
+         symmetric_eigen(CImg<t>&,CImg<t>&) const.
+    **/
+    CImgList<Tfloat> get_symmetric_eigen() const {
+      CImgList<Tfloat> res(2);
+      symmetric_eigen(res[0],res[1]);
+      return res;
+    }
+
+    //! Sort pixel values and get sorting permutations.
+    /**
+       \param[out] permutations Permutation map used for the sorting.
+       \param is_increasing Tells if pixel values are sorted in an increasing (\c true) or decreasing (\c false) way.
+    **/
+    template<typename t>
+    CImg<T>& sort(CImg<t>& permutations, const bool is_increasing=true) {
+      permutations.assign(_width,_height,_depth,_spectrum);
+      if (is_empty()) return *this;
+      cimg_foroff(permutations,off) permutations[off] = (t)off;
+      return _quicksort(0,size() - 1,permutations,is_increasing,true);
+    }
+
+    //! Sort pixel values and get sorting permutations \newinstance.
+    template<typename t>
+    CImg<T> get_sort(CImg<t>& permutations, const bool is_increasing=true) const {
+      return (+*this).sort(permutations,is_increasing);
+    }
+
+    //! Sort pixel values.
+    /**
+       \param is_increasing Tells if pixel values are sorted in an increasing (\c true) or decreasing (\c false) way.
+       \param axis Tells if the value sorting must be done along a specific axis. Can be:
+       - \c 0: All pixel values are sorted, independently on their initial position.
+       - \c 'x': Image columns are sorted, according to the first value in each column.
+       - \c 'y': Image rows are sorted, according to the first value in each row.
+       - \c 'z': Image slices are sorted, according to the first value in each slice.
+       - \c 'c': Image channels are sorted, according to the first value in each channel.
+    **/
+    CImg<T>& sort(const bool is_increasing=true, const char axis=0) {
+      if (is_empty()) return *this;
+      CImg<uintT> perm;
+      switch (cimg::uncase(axis)) {
+      case 0 :
+        _quicksort(0,size() - 1,perm,is_increasing,false);
+        break;
+      case 'x' : {
+        perm.assign(_width);
+        get_crop(0,0,0,0,_width - 1,0,0,0).sort(perm,is_increasing);
+        CImg<T> img(*this,false);
+        cimg_forXYZC(*this,x,y,z,c) (*this)(x,y,z,c) = img(perm[x],y,z,c);
+      } break;
+      case 'y' : {
+        perm.assign(_height);
+        get_crop(0,0,0,0,0,_height - 1,0,0).sort(perm,is_increasing);
+        CImg<T> img(*this,false);
+        cimg_forXYZC(*this,x,y,z,c) (*this)(x,y,z,c) = img(x,perm[y],z,c);
+      } break;
+      case 'z' : {
+        perm.assign(_depth);
+        get_crop(0,0,0,0,0,0,_depth - 1,0).sort(perm,is_increasing);
+        CImg<T> img(*this,false);
+        cimg_forXYZC(*this,x,y,z,c) (*this)(x,y,z,c) = img(x,y,perm[z],c);
+      } break;
+      case 'c' : {
+        perm.assign(_spectrum);
+        get_crop(0,0,0,0,0,0,0,_spectrum - 1).sort(perm,is_increasing);
+        CImg<T> img(*this,false);
+        cimg_forXYZC(*this,x,y,z,c) (*this)(x,y,z,c) = img(x,y,z,perm[c]);
+      } break;
+      default :
+        throw CImgArgumentException(_cimg_instance
+                                    "sort(): Invalid specified axis '%c' "
+                                    "(should be { x | y | z | c }).",
+                                    cimg_instance,axis);
+      }
+      return *this;
+    }
+
+    //! Sort pixel values \newinstance.
+    CImg<T> get_sort(const bool is_increasing=true, const char axis=0) const {
+      return (+*this).sort(is_increasing,axis);
+    }
+
+    template<typename t>
+    CImg<T>& _quicksort(const int indm, const int indM, CImg<t>& permutations,
+                        const bool is_increasing, const bool is_permutations) {
+      if (indm<indM) {
+        const int mid = (indm + indM)/2;
+        if (is_increasing) {
+          if ((*this)[indm]>(*this)[mid]) {
+            cimg::swap((*this)[indm],(*this)[mid]);
+            if (is_permutations) cimg::swap(permutations[indm],permutations[mid]);
+          }
+          if ((*this)[mid]>(*this)[indM]) {
+            cimg::swap((*this)[indM],(*this)[mid]);
+            if (is_permutations) cimg::swap(permutations[indM],permutations[mid]);
+          }
+          if ((*this)[indm]>(*this)[mid]) {
+            cimg::swap((*this)[indm],(*this)[mid]);
+            if (is_permutations) cimg::swap(permutations[indm],permutations[mid]);
+          }
+        } else {
+          if ((*this)[indm]<(*this)[mid]) {
+            cimg::swap((*this)[indm],(*this)[mid]);
+            if (is_permutations) cimg::swap(permutations[indm],permutations[mid]);
+          }
+          if ((*this)[mid]<(*this)[indM]) {
+            cimg::swap((*this)[indM],(*this)[mid]);
+            if (is_permutations) cimg::swap(permutations[indM],permutations[mid]);
+          }
+          if ((*this)[indm]<(*this)[mid]) {
+            cimg::swap((*this)[indm],(*this)[mid]);
+            if (is_permutations) cimg::swap(permutations[indm],permutations[mid]);
+          }
+        }
+        if (indM - indm>=3) {
+          const T pivot = (*this)[mid];
+          int i = indm, j = indM;
+          if (is_increasing) {
+            do {
+              while ((*this)[i]<pivot) ++i;
+              while ((*this)[j]>pivot) --j;
+              if (i<=j) {
+                if (is_permutations) cimg::swap(permutations[i],permutations[j]);
+                cimg::swap((*this)[i++],(*this)[j--]);
+              }
+            } while (i<=j);
+          } else {
+            do {
+              while ((*this)[i]>pivot) ++i;
+              while ((*this)[j]<pivot) --j;
+              if (i<=j) {
+                if (is_permutations) cimg::swap(permutations[i],permutations[j]);
+                cimg::swap((*this)[i++],(*this)[j--]);
+              }
+            } while (i<=j);
+          }
+          if (indm<j) _quicksort(indm,j,permutations,is_increasing,is_permutations);
+          if (i<indM) _quicksort(i,indM,permutations,is_increasing,is_permutations);
+        }
+      }
+      return *this;
+    }
+
+    //! Compute the SVD of the instance image, viewed as a general matrix.
+    /**
+       Compute the SVD decomposition \c *this=U*S*V' where \c U and \c V are orthogonal matrices
+       and \c S is a diagonal matrix. \c V' denotes the matrix transpose of \c V.
+       \param[out] U First matrix of the SVD product.
+       \param[out] S Coefficients of the second (diagonal) matrix of the SVD product.
+         These coefficients are stored as a vector.
+       \param[out] V Third matrix of the SVD product.
+       \param sorting Tells if the diagonal coefficients are sorted (in decreasing order).
+       \param max_iteration Maximum number of iterations considered for the algorithm convergence.
+       \param lambda Epsilon used for the algorithm convergence.
+       \note The instance matrix can be computed from \c U,\c S and \c V by
+       \code
+       const CImg<> A;  // Input matrix (assumed to contain some values).
+       CImg<> U,S,V;
+       A.SVD(U,S,V)
+       \endcode
+    **/
+    template<typename t>
+    const CImg<T>& SVD(CImg<t>& U, CImg<t>& S, CImg<t>& V, const bool sorting=true,
+                       const unsigned int max_iteration=40, const float lambda=0) const {
+      if (is_empty()) { U.assign(); S.assign(); V.assign(); }
+      else {
+        U = *this;
+	if (lambda!=0) {
+	  const unsigned int delta = cimg::min(U._width,U._height);
+	  for (unsigned int i = 0; i<delta; ++i) U(i,i) = (t)(U(i,i) + lambda);
+	}
+        if (S.size()<_width) S.assign(1,_width);
+        if (V._width<_width || V._height<_height) V.assign(_width,_width);
+        CImg<t> rv1(_width);
+        t anorm = 0, c, f, g = 0, h, s, scale = 0;
+        int l = 0, nm = 0;
+
+        cimg_forX(U,i) {
+          l = i + 1; rv1[i] = scale*g; g = s = scale = 0;
+          if (i<height()) {
+            for (int k = i; k<height(); ++k) scale+=cimg::abs(U(i,k));
+            if (scale) {
+              for (int k = i; k<height(); ++k) { U(i,k)/=scale; s+=U(i,k)*U(i,k); }
+              f = U(i,i); g = (t)((f>=0?-1:1)*std::sqrt(s)); h=f*g-s; U(i,i) = f-g;
+              for (int j = l; j<width(); ++j) {
+                s = 0;
+                for (int k=i; k<height(); ++k) s+=U(i,k)*U(j,k);
+                f = s/h;
+                for (int k = i; k<height(); ++k) U(j,k)+=f*U(i,k);
+              }
+              for (int k = i; k<height(); ++k) U(i,k)*=scale;
+            }
+          }
+          S[i]=scale*g;
+
+          g = s = scale = 0;
+          if (i<height() && i!=width() - 1) {
+            for (int k = l; k<width(); ++k) scale+=cimg::abs(U(k,i));
+            if (scale) {
+              for (int k = l; k<width(); ++k) { U(k,i)/= scale; s+=U(k,i)*U(k,i); }
+              f = U(l,i); g = (t)((f>=0?-1:1)*std::sqrt(s)); h = f*g-s; U(l,i) = f-g;
+              for (int k = l; k<width(); ++k) rv1[k]=U(k,i)/h;
+              for (int j = l; j<height(); ++j) {
+                s = 0;
+                for (int k = l; k<width(); ++k) s+=U(k,j)*U(k,i);
+                for (int k = l; k<width(); ++k) U(k,j)+=s*rv1[k];
+              }
+              for (int k = l; k<width(); ++k) U(k,i)*=scale;
+            }
+          }
+          anorm = (t)cimg::max((float)anorm,(float)(cimg::abs(S[i]) + cimg::abs(rv1[i])));
+        }
+
+        for (int i = width() - 1; i>=0; --i) {
+          if (i<width()-1) {
+            if (g) {
+              for (int j = l; j<width(); ++j) V(i,j) =(U(j,i)/U(l,i))/g;
+              for (int j = l; j<width(); ++j) {
+                s = 0;
+                for (int k = l; k<width(); ++k) s+=U(k,i)*V(j,k);
+                for (int k = l; k<width(); ++k) V(j,k)+=s*V(i,k);
+              }
+            }
+            for (int j = l; j<width(); ++j) V(j,i) = V(i,j) = (t)0.0;
+          }
+          V(i,i) = (t)1.0; g = rv1[i]; l = i;
+        }
+
+        for (int i = cimg::min(width(),height()) - 1; i>=0; --i) {
+          l = i + 1; g = S[i];
+          for (int j = l; j<width(); ++j) U(j,i) = 0;
+          if (g) {
+            g = 1/g;
+            for (int j = l; j<width(); ++j) {
+              s = 0; for (int k = l; k<height(); ++k) s+=U(i,k)*U(j,k);
+              f = (s/U(i,i))*g;
+              for (int k = i; k<height(); ++k) U(j,k)+=f*U(i,k);
+            }
+            for (int j = i; j<height(); ++j) U(i,j)*= g;
+          } else for (int j = i; j<height(); ++j) U(i,j) = 0;
+          ++U(i,i);
+        }
+
+        for (int k = width() - 1; k>=0; --k) {
+          for (unsigned int its = 0; its<max_iteration; ++its) {
+            bool flag = true;
+            for (l = k; l>=1; --l) {
+              nm = l - 1;
+              if ((cimg::abs(rv1[l]) + anorm)==anorm) { flag = false; break; }
+              if ((cimg::abs(S[nm]) + anorm)==anorm) break;
+            }
+            if (flag) {
+              c = 0; s = 1;
+              for (int i = l; i<=k; ++i) {
+                f = s*rv1[i]; rv1[i] = c*rv1[i];
+                if ((cimg::abs(f) + anorm)==anorm) break;
+                g = S[i]; h = (t)cimg::_pythagore(f,g); S[i] = h; h = 1/h; c = g*h; s = -f*h;
+                cimg_forY(U,j) { const t y = U(nm,j), z = U(i,j); U(nm,j) = y*c + z*s; U(i,j) = z*c - y*s; }
+              }
+            }
+
+            const t z = S[k];
+            if (l==k) { if (z<0) { S[k] = -z; cimg_forX(U,j) V(k,j) = -V(k,j); } break; }
+            nm = k - 1;
+            t x = S[l], y = S[nm];
+            g = rv1[nm]; h = rv1[k];
+            f = ((y - z)*(y + z)+(g - h)*(g + h))/cimg::max((t)1e-25,2*h*y);
+            g = (t)cimg::_pythagore(f,1.0);
+            f = ((x - z)*(x + z)+h*((y/(f + (f>=0?g:-g))) - h))/cimg::max((t)1e-25,x);
+            c = s = 1;
+            for (int j = l; j<=nm; ++j) {
+              const int i = j + 1;
+              g = rv1[i]; h = s*g; g = c*g;
+              t y = S[i];
+              t z = (t)cimg::_pythagore(f,h);
+              rv1[j] = z; c = f/cimg::max((t)1e-25,z); s = h/cimg::max((t)1e-25,z);
+              f = x*c + g*s; g = g*c - x*s; h = y*s; y*=c;
+              cimg_forX(U,jj) { const t x = V(j,jj), z = V(i,jj); V(j,jj) = x*c + z*s; V(i,jj) = z*c - x*s; }
+              z = (t)cimg::_pythagore(f,h); S[j] = z;
+              if (z) { z = 1/cimg::max((t)1e-25,z); c = f*z; s = h*z; }
+              f = c*g + s*y; x = c*y - s*g;
+              cimg_forY(U,jj) { const t y = U(j,jj); z = U(i,jj); U(j,jj) = y*c + z*s; U(i,jj) = z*c - y*s; }
+            }
+            rv1[l] = 0; rv1[k]=f; S[k]=x;
+          }
+        }
+
+        if (sorting) {
+          CImg<intT> permutations;
+          CImg<t> tmp(_width);
+          S.sort(permutations,false);
+          cimg_forY(U,k) {
+            cimg_forY(permutations,y) tmp(y) = U(permutations(y),k);
+            std::memcpy(U.data(0,k),tmp._data,sizeof(t)*_width);
+          }
+          cimg_forY(V,k) {
+            cimg_forY(permutations,y) tmp(y) = V(permutations(y),k);
+            std::memcpy(V.data(0,k),tmp._data,sizeof(t)*_width);
+          }
+        }
+      }
+      return *this;
+    }
+
+    //! Compute the SVD of the instance image, viewed as a general matrix.
+    /**
+       \return A list of three images <tt>[U; S; V]</tt>, whose meaning is similar as in
+         SVD(CImg<t>&,CImg<t>&,CImg<t>&,bool,unsigned int,float) const.
+    **/
+    CImgList<Tfloat> get_SVD(const bool sorting=true,
+                             const unsigned int max_iteration=40, const float lambda=0) const {
+      CImgList<Tfloat> res(3);
+      SVD(res[0],res[1],res[2],sorting,max_iteration,lambda);
+      return res;
+    }
+
+    // [internal] Compute the LU decomposition of a permuted matrix.
+    template<typename t>
+    CImg<T>& _LU(CImg<t>& indx, bool& d) {
+      const int N = width();
+      int imax = 0;
+      CImg<Tfloat> vv(N);
+      indx.assign(N);
+      d = true;
+      cimg_forX(*this,i) {
+        Tfloat vmax = 0;
+        cimg_forX(*this,j) {
+          const Tfloat tmp = cimg::abs((*this)(j,i));
+          if (tmp>vmax) vmax = tmp;
+        }
+        if (vmax==0) { indx.fill(0); return fill(0); }
+        vv[i] = 1/vmax;
+      }
+      cimg_forX(*this,j) {
+        for (int i = 0; i<j; ++i) {
+          Tfloat sum=(*this)(j,i);
+          for (int k = 0; k<i; ++k) sum-=(*this)(k,i)*(*this)(j,k);
+          (*this)(j,i) = (T)sum;
+        }
+        Tfloat vmax = 0;
+        for (int i = j; i<width(); ++i) {
+          Tfloat sum=(*this)(j,i);
+          for (int k = 0; k<j; ++k) sum-=(*this)(k,i)*(*this)(j,k);
+          (*this)(j,i) = (T)sum;
+          const Tfloat tmp = vv[i]*cimg::abs(sum);
+          if (tmp>=vmax) { vmax=tmp; imax=i; }
+        }
+        if (j!=imax) {
+          cimg_forX(*this,k) cimg::swap((*this)(k,imax),(*this)(k,j));
+          d =!d;
+          vv[imax] = vv[j];
+        }
+        indx[j] = (t)imax;
+        if ((*this)(j,j)==0) (*this)(j,j) = (T)1e-20;
+        if (j<N) {
+          const Tfloat tmp = 1/(Tfloat)(*this)(j,j);
+          for (int i = j + 1; i<N; ++i) (*this)(j,i) = (T)((*this)(j,i)*tmp);
+        }
+      }
+      return *this;
+    }
+
+    //! Compute minimal path in a graph, using the Dijkstra algorithm.
+    /**
+       \param distance An object having operator()(unsigned int i, unsigned int j) which returns distance
+         between two nodes (i,j).
+       \param nb_nodes Number of graph nodes.
+       \param starting_node Indice of the starting node.
+       \param ending_node Indice of the ending node (set to ~0U to ignore ending node).
+       \param previous_node Array that gives the previous node indice in the path to the starting node
+         (optional parameter).
+       \return Array of distances of each node to the starting node.
+    **/
+    template<typename tf, typename t>
+    static CImg<T> dijkstra(const tf& distance, const unsigned int nb_nodes,
+                            const unsigned int starting_node, const unsigned int ending_node,
+                            CImg<t>& previous_node) {
+      if (starting_node>=nb_nodes)
+        throw CImgArgumentException("CImg<%s>::dijkstra(): Specified indice of starting node %u is higher "
+                                    "than number of nodes %u.",
+                                    pixel_type(),starting_node,nb_nodes);
+      CImg<T> dist(1,nb_nodes,1,1,cimg::type<T>::max());
+      dist(starting_node) = 0;
+      previous_node.assign(1,nb_nodes,1,1,(t)-1);
+      previous_node(starting_node) = (t)starting_node;
+      CImg<uintT> Q(nb_nodes);
+      cimg_forX(Q,u) Q(u) = (unsigned int)u;
+      cimg::swap(Q(starting_node),Q(0));
+      unsigned int sizeQ = nb_nodes;
+      while (sizeQ) {
+        // Update neighbors from minimal vertex
+        const unsigned int umin = Q(0);
+        if (umin==ending_node) sizeQ = 0;
+        else {
+          const T dmin = dist(umin);
+          const T infty = cimg::type<T>::max();
+          for (unsigned int q = 1; q<sizeQ; ++q) {
+            const unsigned int v = Q(q);
+            const T d = (T)distance(v,umin);
+            if (d<infty) {
+              const T alt = dmin + d;
+              if (alt<dist(v)) {
+                dist(v) = alt;
+                previous_node(v) = (t)umin;
+                const T distpos = dist(Q(q));
+                for (unsigned int pos = q, par = 0; pos && distpos<dist(Q(par=(pos + 1)/2 - 1)); pos=par)
+                  cimg::swap(Q(pos),Q(par));
+              }
+            }
+          }
+          // Remove minimal vertex from queue
+          Q(0) = Q(--sizeQ);
+          const T distpos = dist(Q(0));
+          for (unsigned int pos = 0, left = 0, right = 0;
+               ((right=2*(pos + 1),(left=right - 1))<sizeQ && distpos>dist(Q(left))) ||
+                 (right<sizeQ && distpos>dist(Q(right)));) {
+            if (right<sizeQ) {
+              if (dist(Q(left))<dist(Q(right))) { cimg::swap(Q(pos),Q(left)); pos = left; }
+              else { cimg::swap(Q(pos),Q(right)); pos = right; }
+            } else { cimg::swap(Q(pos),Q(left)); pos = left; }
+          }
+        }
+      }
+      return dist;
+    }
+
+    //! Return minimal path in a graph, using the Dijkstra algorithm.
+    template<typename tf, typename t>
+    static CImg<T> dijkstra(const tf& distance, const unsigned int nb_nodes,
+                            const unsigned int starting_node, const unsigned int ending_node=~0U) {
+      CImg<uintT> foo;
+      return dijkstra(distance,nb_nodes,starting_node,ending_node,foo);
+    }
+
+    //! Return minimal path in a graph, using the Dijkstra algorithm.
+    /**
+       \param starting_node Indice of the starting node.
+       \param ending_node Indice of the ending node.
+       \param previous_node Array that gives the previous node indice in the path to the starting node
+         (optional parameter).
+       \return Array of distances of each node to the starting node.
+       \note image instance corresponds to the adjacency matrix of the graph.
+    **/
+    template<typename t>
+    CImg<T>& dijkstra(const unsigned int starting_node, const unsigned int ending_node,
+                      CImg<t>& previous_node) {
+      return get_dijkstra(starting_node,ending_node,previous_node).move_to(*this);
+    }
+
+    //! Return minimal path in a graph, using the Dijkstra algorithm \newinstance.
+    template<typename t>
+    CImg<T> get_dijkstra(const unsigned int starting_node, const unsigned int ending_node,
+                         CImg<t>& previous_node) const {
+      if (_width!=_height || _depth!=1 || _spectrum!=1)
+        throw CImgInstanceException(_cimg_instance
+                                    "dijkstra(): Instance is not a graph adjacency matrix.",
+                                    cimg_instance);
+
+      return dijkstra(*this,_width,starting_node,ending_node,previous_node);
+    }
+
+    //! Return minimal path in a graph, using the Dijkstra algorithm.
+    CImg<T>& dijkstra(const unsigned int starting_node, const unsigned int ending_node=~0U) {
+      return get_dijkstra(starting_node,ending_node).move_to(*this);
+    }
+
+    //! Return minimal path in a graph, using the Dijkstra algorithm \newinstance.
+    CImg<Tfloat> get_dijkstra(const unsigned int starting_node, const unsigned int ending_node=~0U) const {
+      CImg<uintT> foo;
+      return get_dijkstra(starting_node,ending_node,foo);
+    }
+
+    //! Return an image containing the ascii codes of the specified  string.
+    /**
+       \param str input C-string to encode as an image.
+       \param is_last_zero Tells if the ending \c '0' character appear in the resulting image.
+    **/
+    static CImg<T> string(const char *const str, const bool is_last_zero=true, const bool is_shared=false) {
+      if (!str) return CImg<T>();
+      return CImg<T>(str,(unsigned int)std::strlen(str) + (is_last_zero?1:0),1,1,1,is_shared);
+    }
+
+    //! Return a \c 1x1 image containing specified value.
+    /**
+       \param a0 First vector value.
+    **/
+    static CImg<T> vector(const T& a0) {
+      CImg<T> r(1,1);
+      r[0] = a0;
+      return r;
+    }
+
+    //! Return a \c 1x2 image containing specified values.
+    /**
+       \param a0 First vector value.
+       \param a1 Second vector value.
+    **/
+    static CImg<T> vector(const T& a0, const T& a1) {
+      CImg<T> r(1,2); T *ptr = r._data;
+      *(ptr++) = a0; *(ptr++) = a1;
+      return r;
+    }
+
+    //! Return a \c 1x3 image containing specified values.
+    /**
+       \param a0 First vector value.
+       \param a1 Second vector value.
+       \param a2 Third vector value.
+    **/
+    static CImg<T> vector(const T& a0, const T& a1, const T& a2) {
+      CImg<T> r(1,3); T *ptr = r._data;
+      *(ptr++) = a0; *(ptr++) = a1; *(ptr++) = a2;
+      return r;
+    }
+
+    //! Return a \c 1x4 image containing specified values.
+    /**
+       \param a0 First vector value.
+       \param a1 Second vector value.
+       \param a2 Third vector value.
+       \param a3 Fourth vector value.
+    **/
+    static CImg<T> vector(const T& a0, const T& a1, const T& a2, const T& a3) {
+      CImg<T> r(1,4); T *ptr = r._data;
+      *(ptr++) = a0; *(ptr++) = a1; *(ptr++) = a2; *(ptr++) = a3;
+      return r;
+    }
+
+    //! Return a \c 1x5 image containing specified values.
+    static CImg<T> vector(const T& a0, const T& a1, const T& a2, const T& a3, const T& a4) {
+      CImg<T> r(1,5); T *ptr = r._data;
+      *(ptr++) = a0; *(ptr++) = a1; *(ptr++) = a2; *(ptr++) = a3; *(ptr++) = a4;
+      return r;
+    }
+
+    //! Return a \c 1x6 image containing specified values.
+    static CImg<T> vector(const T& a0, const T& a1, const T& a2, const T& a3, const T& a4, const T& a5) {
+      CImg<T> r(1,6); T *ptr = r._data;
+      *(ptr++) = a0; *(ptr++) = a1; *(ptr++) = a2; *(ptr++) = a3; *(ptr++) = a4; *(ptr++) = a5;
+      return r;
+    }
+
+    //! Return a \c 1x7 image containing specified values.
+    static CImg<T> vector(const T& a0, const T& a1, const T& a2, const T& a3,
+			  const T& a4, const T& a5, const T& a6) {
+      CImg<T> r(1,7); T *ptr = r._data;
+      *(ptr++) = a0; *(ptr++) = a1; *(ptr++) = a2; *(ptr++) = a3;
+      *(ptr++) = a4; *(ptr++) = a5; *(ptr++) = a6;
+      return r;
+    }
+
+    //! Return a \c 1x8 image containing specified values.
+    static CImg<T> vector(const T& a0, const T& a1, const T& a2, const T& a3,
+			  const T& a4, const T& a5, const T& a6, const T& a7) {
+      CImg<T> r(1,8); T *ptr = r._data;
+      *(ptr++) = a0; *(ptr++) = a1; *(ptr++) = a2; *(ptr++) = a3;
+      *(ptr++) = a4; *(ptr++) = a5; *(ptr++) = a6; *(ptr++) = a7;
+      return r;
+    }
+
+    //! Return a \c 1x9 image containing specified values.
+    static CImg<T> vector(const T& a0, const T& a1, const T& a2, const T& a3,
+			  const T& a4, const T& a5, const T& a6, const T& a7,
+			  const T& a8) {
+      CImg<T> r(1,9); T *ptr = r._data;
+      *(ptr++) = a0; *(ptr++) = a1; *(ptr++) = a2; *(ptr++) = a3;
+      *(ptr++) = a4; *(ptr++) = a5; *(ptr++) = a6; *(ptr++) = a7;
+      *(ptr++) = a8;
+      return r;
+    }
+
+    //! Return a \c 1x10 image containing specified values.
+    static CImg<T> vector(const T& a0, const T& a1, const T& a2, const T& a3,
+                          const T& a4, const T& a5, const T& a6, const T& a7,
+                          const T& a8, const T& a9) {
+      CImg<T> r(1,10); T *ptr = r._data;
+      *(ptr++) = a0; *(ptr++) = a1; *(ptr++) = a2; *(ptr++) = a3;
+      *(ptr++) = a4; *(ptr++) = a5; *(ptr++) = a6; *(ptr++) = a7;
+      *(ptr++) = a8; *(ptr++) = a9;
+      return r;
+    }
+
+    //! Return a \c 1x11 image containing specified values.
+    static CImg<T> vector(const T& a0, const T& a1, const T& a2, const T& a3,
+                          const T& a4, const T& a5, const T& a6, const T& a7,
+                          const T& a8, const T& a9, const T& a10) {
+      CImg<T> r(1,11); T *ptr = r._data;
+      *(ptr++) = a0; *(ptr++) = a1; *(ptr++) = a2; *(ptr++) = a3;
+      *(ptr++) = a4; *(ptr++) = a5; *(ptr++) = a6; *(ptr++) = a7;
+      *(ptr++) = a8; *(ptr++) = a9; *(ptr++) = a10;
+      return r;
+    }
+
+    //! Return a \c 1x12 image containing specified values.
+    static CImg<T> vector(const T& a0, const T& a1, const T& a2, const T& a3,
+                          const T& a4, const T& a5, const T& a6, const T& a7,
+                          const T& a8, const T& a9, const T& a10, const T& a11) {
+      CImg<T> r(1,12); T *ptr = r._data;
+      *(ptr++) = a0; *(ptr++) = a1; *(ptr++) = a2; *(ptr++) = a3;
+      *(ptr++) = a4; *(ptr++) = a5; *(ptr++) = a6; *(ptr++) = a7;
+      *(ptr++) = a8; *(ptr++) = a9; *(ptr++) = a10; *(ptr++) = a11;
+      return r;
+    }
+
+    //! Return a \c 1x13 image containing specified values.
+    static CImg<T> vector(const T& a0, const T& a1, const T& a2, const T& a3,
+                          const T& a4, const T& a5, const T& a6, const T& a7,
+                          const T& a8, const T& a9, const T& a10, const T& a11,
+			  const T& a12) {
+      CImg<T> r(1,13); T *ptr = r._data;
+      *(ptr++) = a0; *(ptr++) = a1; *(ptr++) = a2; *(ptr++) = a3;
+      *(ptr++) = a4; *(ptr++) = a5; *(ptr++) = a6; *(ptr++) = a7;
+      *(ptr++) = a8; *(ptr++) = a9; *(ptr++) = a10; *(ptr++) = a11;
+      *(ptr++) = a12;
+      return r;
+    }
+
+    //! Return a \c 1x14 image containing specified values.
+    static CImg<T> vector(const T& a0, const T& a1, const T& a2, const T& a3,
+                          const T& a4, const T& a5, const T& a6, const T& a7,
+                          const T& a8, const T& a9, const T& a10, const T& a11,
+			  const T& a12, const T& a13) {
+      CImg<T> r(1,14); T *ptr = r._data;
+      *(ptr++) = a0; *(ptr++) = a1; *(ptr++) = a2; *(ptr++) = a3;
+      *(ptr++) = a4; *(ptr++) = a5; *(ptr++) = a6; *(ptr++) = a7;
+      *(ptr++) = a8; *(ptr++) = a9; *(ptr++) = a10; *(ptr++) = a11;
+      *(ptr++) = a12; *(ptr++) = a13;
+      return r;
+    }
+
+    //! Return a \c 1x15 image containing specified values.
+    static CImg<T> vector(const T& a0, const T& a1, const T& a2, const T& a3,
+                          const T& a4, const T& a5, const T& a6, const T& a7,
+                          const T& a8, const T& a9, const T& a10, const T& a11,
+			  const T& a12, const T& a13, const T& a14) {
+      CImg<T> r(1,15); T *ptr = r._data;
+      *(ptr++) = a0; *(ptr++) = a1; *(ptr++) = a2; *(ptr++) = a3;
+      *(ptr++) = a4; *(ptr++) = a5; *(ptr++) = a6; *(ptr++) = a7;
+      *(ptr++) = a8; *(ptr++) = a9; *(ptr++) = a10; *(ptr++) = a11;
+      *(ptr++) = a12; *(ptr++) = a13; *(ptr++) = a14;
+      return r;
+    }
+
+    //! Return a \c 1x16 image containing specified values.
+    static CImg<T> vector(const T& a0, const T& a1, const T& a2, const T& a3,
+                          const T& a4, const T& a5, const T& a6, const T& a7,
+                          const T& a8, const T& a9, const T& a10, const T& a11,
+			  const T& a12, const T& a13, const T& a14, const T& a15) {
+      CImg<T> r(1,16); T *ptr = r._data;
+      *(ptr++) = a0; *(ptr++) = a1; *(ptr++) = a2; *(ptr++) = a3;
+      *(ptr++) = a4; *(ptr++) = a5; *(ptr++) = a6; *(ptr++) = a7;
+      *(ptr++) = a8; *(ptr++) = a9; *(ptr++) = a10; *(ptr++) = a11;
+      *(ptr++) = a12; *(ptr++) = a13; *(ptr++) = a14; *(ptr++) = a15;
+      return r;
+    }
+
+    //! Return a 1x1 matrix containing specified coefficients.
+    /**
+       \param a0 First matrix value.
+       \note Equivalent to vector(const T&).
+    **/
+    static CImg<T> matrix(const T& a0) {
+      return vector(a0);
+    }
+
+    //! Return a 2x2 matrix containing specified coefficients.
+    /**
+       \param a0 First matrix value.
+       \param a1 Second matrix value.
+       \param a2 Third matrix value.
+       \param a3 Fourth matrix value.
+    **/
+    static CImg<T> matrix(const T& a0, const T& a1,
+			  const T& a2, const T& a3) {
+      CImg<T> r(2,2); T *ptr = r._data;
+      *(ptr++) = a0; *(ptr++) = a1;
+      *(ptr++) = a2; *(ptr++) = a3;
+      return r;
+    }
+
+    //! Return a 3x3 matrix containing specified coefficients.
+    /**
+       \param a0 First matrix value.
+       \param a1 Second matrix value.
+       \param a2 Third matrix value.
+       \param a3 Fourth matrix value.
+       \param a4 Fifth matrix value.
+       \param a5 Sixth matrix value.
+       \param a6 Seventh matrix value.
+       \param a7 Eighth matrix value.
+       \param a8 Nineth matrix value.
+    **/
+    static CImg<T> matrix(const T& a0, const T& a1, const T& a2,
+			  const T& a3, const T& a4, const T& a5,
+			  const T& a6, const T& a7, const T& a8) {
+      CImg<T> r(3,3); T *ptr = r._data;
+      *(ptr++) = a0; *(ptr++) = a1; *(ptr++) = a2;
+      *(ptr++) = a3; *(ptr++) = a4; *(ptr++) = a5;
+      *(ptr++) = a6; *(ptr++) = a7; *(ptr++) = a8;
+      return r;
+    }
+
+    //! Return a 4x4 matrix containing specified coefficients.
+    static CImg<T> matrix(const T& a0, const T& a1, const T& a2, const T& a3,
+			  const T& a4, const T& a5, const T& a6, const T& a7,
+			  const T& a8, const T& a9, const T& a10, const T& a11,
+			  const T& a12, const T& a13, const T& a14, const T& a15) {
+      CImg<T> r(4,4); T *ptr = r._data;
+      *(ptr++) = a0; *(ptr++) = a1; *(ptr++) = a2; *(ptr++) = a3;
+      *(ptr++) = a4; *(ptr++) = a5; *(ptr++) = a6; *(ptr++) = a7;
+      *(ptr++) = a8; *(ptr++) = a9; *(ptr++) = a10; *(ptr++) = a11;
+      *(ptr++) = a12; *(ptr++) = a13; *(ptr++) = a14; *(ptr++) = a15;
+      return r;
+    }
+
+    //! Return a 5x5 matrix containing specified coefficients.
+    static CImg<T> matrix(const T& a0, const T& a1, const T& a2, const T& a3, const T& a4,
+                          const T& a5, const T& a6, const T& a7, const T& a8, const T& a9,
+                          const T& a10, const T& a11, const T& a12, const T& a13, const T& a14,
+                          const T& a15, const T& a16, const T& a17, const T& a18, const T& a19,
+                          const T& a20, const T& a21, const T& a22, const T& a23, const T& a24) {
+      CImg<T> r(5,5); T *ptr = r._data;
+      *(ptr++) = a0; *(ptr++) = a1; *(ptr++) = a2; *(ptr++) = a3; *(ptr++) = a4;
+      *(ptr++) = a5; *(ptr++) = a6; *(ptr++) = a7; *(ptr++) = a8; *(ptr++) = a9;
+      *(ptr++) = a10; *(ptr++) = a11; *(ptr++) = a12; *(ptr++) = a13; *(ptr++) = a14;
+      *(ptr++) = a15; *(ptr++) = a16; *(ptr++) = a17; *(ptr++) = a18; *(ptr++) = a19;
+      *(ptr++) = a20; *(ptr++) = a21; *(ptr++) = a22; *(ptr++) = a23; *(ptr++) = a24;
+      return r;
+    }
+
+    //! Return a 1x1 symmetric matrix containing specified coefficients.
+    /**
+       \param a0 First matrix value.
+       \note Equivalent to vector(const T&).
+    **/
+    static CImg<T> tensor(const T& a0) {
+      return matrix(a0);
+    }
+
+    //! Return a 2x2 symmetric matrix tensor containing specified coefficients.
+    static CImg<T> tensor(const T& a0, const T& a1, const T& a2) {
+      return matrix(a0,a1,a1,a2);
+    }
+
+    //! Return a 3x3 symmetric matrix containing specified coefficients.
+    static CImg<T> tensor(const T& a0, const T& a1, const T& a2, const T& a3, const T& a4, const T& a5) {
+      return matrix(a0,a1,a2,a1,a3,a4,a2,a4,a5);
+    }
+
+    //! Return a 1x1 diagonal matrix containing specified coefficients.
+    static CImg<T> diagonal(const T& a0) {
+      return matrix(a0);
+    }
+
+    //! Return a 2x2 diagonal matrix containing specified coefficients.
+    static CImg<T> diagonal(const T& a0, const T& a1) {
+      return matrix(a0,0,0,a1);
+    }
+
+    //! Return a 3x3 diagonal matrix containing specified coefficients.
+    static CImg<T> diagonal(const T& a0, const T& a1, const T& a2) {
+      return matrix(a0,0,0,0,a1,0,0,0,a2);
+    }
+
+    //! Return a 4x4 diagonal matrix containing specified coefficients.
+    static CImg<T> diagonal(const T& a0, const T& a1, const T& a2, const T& a3) {
+      return matrix(a0,0,0,0,0,a1,0,0,0,0,a2,0,0,0,0,a3);
+    }
+
+    //! Return a 5x5 diagonal matrix containing specified coefficients.
+    static CImg<T> diagonal(const T& a0, const T& a1, const T& a2, const T& a3, const T& a4) {
+      return matrix(a0,0,0,0,0,0,a1,0,0,0,0,0,a2,0,0,0,0,0,a3,0,0,0,0,0,a4);
+    }
+
+    //! Return a NxN identity matrix.
+    /**
+       \param N Dimension of the matrix.
+    **/
+    static CImg<T> identity_matrix(const unsigned int N) {
+      CImg<T> res(N,N,1,1,0);
+      cimg_forX(res,x) res(x,x) = 1;
+      return res;
+    }
+
+    //! Return a N-numbered sequence vector from \p a0 to \p a1.
+    /**
+       \param N Size of the resulting vector.
+       \param a0 Starting value of the sequence.
+       \param a1 Ending value of the sequence.
+     **/
+    static CImg<T> sequence(const unsigned int N, const T& a0, const T& a1) {
+      if (N) return CImg<T>(1,N).sequence(a0,a1);
+      return CImg<T>();
+    }
+
+    //! Return a 3x3 rotation matrix along the (x,y,z)-axis with an angle w.
+    /**
+       \param x X-coordinate of the rotation axis, or first quaternion coordinate.
+       \param y Y-coordinate of the rotation axis, or second quaternion coordinate.
+       \param z Z-coordinate of the rotation axis, or third quaternion coordinate.
+       \param w Angle of the rotation axis, or fourth quaternion coordinate.
+       \param is_quaternion Tell is the four arguments denotes a set { axis + angle } or a quaternion.
+     **/
+    static CImg<T> rotation_matrix(const float x, const float y, const float z, const float w,
+                                   const bool is_quaternion=false) {
+      float X,Y,Z,W;
+      if (!is_quaternion) {
+        const float norm = (float)std::sqrt(x*x + y*y + z*z),
+          nx = norm>0?x/norm:0,
+          ny = norm>0?y/norm:0,
+          nz = norm>0?z/norm:1,
+          nw = norm>0?w:0,
+          sina = (float)std::sin(nw/2),
+          cosa = (float)std::cos(nw/2);
+        X = nx*sina;
+        Y = ny*sina;
+        Z = nz*sina;
+        W = cosa;
+      } else {
+        const float norm = (float)std::sqrt(x*x + y*y + z*z + w*w);
+        if (norm>0) { X = x/norm; Y = y/norm; Z = z/norm; W = w/norm; }
+        else { X = Y = Z = 0; W = 1; }
+      }
+      const float xx = X*X, xy = X*Y, xz = X*Z, xw = X*W, yy = Y*Y, yz = Y*Z, yw = Y*W, zz = Z*Z, zw = Z*W;
+      return CImg<T>::matrix((T)(1 - 2*(yy + zz)), (T)(2*(xy + zw)),   (T)(2*(xz - yw)),
+			     (T)(2*(xy - zw)),   (T)(1 - 2*(xx + zz)), (T)(2*(yz + xw)),
+			     (T)(2*(xz + yw)),   (T)(2*(yz - xw)),   (T)(1 - 2*(xx + yy)));
+    }
+
+    //@}
+    //-----------------------------------
+    //
+    //! \name Value Manipulation
+    //@{
+    //-----------------------------------
+
+    //! Fill all pixel values with specified value.
+    /**
+       \param val Fill value.
+    **/
+    CImg<T>& fill(const T& val) {
+      if (is_empty()) return *this;
+      if (val && sizeof(T)!=1) cimg_for(*this,ptrd,T) *ptrd = val;
+      else std::memset(_data,(int)val,sizeof(T)*size());
+      return *this;
+    }
+
+    //! Fill all pixel values with specified value \newinstance.
+    CImg<T> get_fill(const T& val) const {
+      return CImg<T>(_width,_height,_depth,_spectrum).fill(val);
+    }
+
+    //! Fill sequentially all pixel values with specified values.
+    /**
+       \param val0 First fill value.
+       \param val1 Second fill value.
+    **/
+    CImg<T>& fill(const T& val0, const T& val1) {
+      if (is_empty()) return *this;
+      T *ptrd, *ptre = end() - 1;
+      for (ptrd = _data; ptrd<ptre; ) { *(ptrd++) = val0; *(ptrd++) = val1; }
+      if (ptrd!=ptre + 1) *(ptrd++) = val0;
+      return *this;
+    }
+
+    //! Fill sequentially all pixel values with specified values \newinstance.
+    CImg<T> get_fill(const T& val0, const T& val1) const {
+      return CImg<T>(_width,_height,_depth,_spectrum).fill(val0,val1);
+    }
+
+    //! Fill sequentially all pixel values with specified values \overloading.
+    CImg<T>& fill(const T& val0, const T& val1, const T& val2) {
+      if (is_empty()) return *this;
+      T *ptrd, *ptre = end() - 2;
+      for (ptrd = _data; ptrd<ptre; ) { *(ptrd++) = val0; *(ptrd++) = val1; *(ptrd++) = val2; }
+      ptre+=2;
+      switch (ptre - ptrd) {
+      case 2 : *(--ptre) = val1;
+      case 1 : *(--ptre) = val0;
+      }
+      return *this;
+    }
+
+    //! Fill sequentially all pixel values with specified values \newinstance.
+    CImg<T> get_fill(const T& val0, const T& val1, const T& val2) const {
+      return CImg<T>(_width,_height,_depth,_spectrum).fill(val0,val1,val2);
+    }
+
+    //! Fill sequentially all pixel values with specified values \overloading.
+    CImg<T>& fill(const T& val0, const T& val1, const T& val2, const T& val3) {
+      if (is_empty()) return *this;
+      T *ptrd, *ptre = end() - 3;
+      for (ptrd = _data; ptrd<ptre; ) { *(ptrd++) = val0; *(ptrd++) = val1; *(ptrd++) = val2; *(ptrd++) = val3; }
+      ptre+=3;
+      switch (ptre - ptrd) {
+      case 3 : *(--ptre) = val2;
+      case 2 : *(--ptre) = val1;
+      case 1 : *(--ptre) = val0;
+      }
+      return *this;
+    }
+
+    //! Fill sequentially all pixel values with specified values \newinstance.
+    CImg<T> get_fill(const T& val0, const T& val1, const T& val2, const T& val3) const {
+      return CImg<T>(_width,_height,_depth,_spectrum).fill(val0,val1,val2,val3);
+    }
+
+    //! Fill sequentially all pixel values with specified values \overloading.
+    CImg<T>& fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4) {
+      if (is_empty()) return *this;
+      T *ptrd, *ptre = end() - 4;
+      for (ptrd = _data; ptrd<ptre; ) {
+        *(ptrd++) = val0; *(ptrd++) = val1; *(ptrd++) = val2; *(ptrd++) = val3; *(ptrd++) = val4;
+      }
+      ptre+=4;
+      switch (ptre - ptrd) {
+      case 4 : *(--ptre) = val3;
+      case 3 : *(--ptre) = val2;
+      case 2 : *(--ptre) = val1;
+      case 1 : *(--ptre) = val0;
+      }
+      return *this;
+    }
+
+    //! Fill sequentially all pixel values with specified values \newinstance.
+    CImg<T> get_fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4) const {
+      return CImg<T>(_width,_height,_depth,_spectrum).fill(val0,val1,val2,val3,val4);
+    }
+
+    //! Fill sequentially all pixel values with specified values \overloading.
+    CImg<T>& fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5) {
+      if (is_empty()) return *this;
+      T *ptrd, *ptre = end() - 5;
+      for (ptrd = _data; ptrd<ptre; ) {
+        *(ptrd++) = val0; *(ptrd++) = val1; *(ptrd++) = val2; *(ptrd++) = val3; *(ptrd++) = val4; *(ptrd++) = val5;
+      }
+      ptre+=5;
+      switch (ptre - ptrd) {
+      case 5 : *(--ptre) = val4;
+      case 4 : *(--ptre) = val3;
+      case 3 : *(--ptre) = val2;
+      case 2 : *(--ptre) = val1;
+      case 1 : *(--ptre) = val0;
+      }
+      return *this;
+    }
+
+    //! Fill sequentially all pixel values with specified values \newinstance.
+    CImg<T> get_fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5) const {
+      return CImg<T>(_width,_height,_depth,_spectrum).fill(val0,val1,val2,val3,val4,val5);
+    }
+
+    //! Fill sequentially all pixel values with specified values \overloading.
+    CImg<T>& fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5,
+                  const T& val6) {
+      if (is_empty()) return *this;
+      T *ptrd, *ptre = end() - 6;
+      for (ptrd = _data; ptrd<ptre; ) {
+        *(ptrd++) = val0; *(ptrd++) = val1; *(ptrd++) = val2; *(ptrd++) = val3; *(ptrd++) = val4; *(ptrd++) = val5;
+        *(ptrd++) = val6;
+      }
+      ptre+=6;
+      switch (ptre - ptrd) {
+      case 6 : *(--ptre) = val5;
+      case 5 : *(--ptre) = val4;
+      case 4 : *(--ptre) = val3;
+      case 3 : *(--ptre) = val2;
+      case 2 : *(--ptre) = val1;
+      case 1 : *(--ptre) = val0;
+      }
+      return *this;
+    }
+
+    //! Fill sequentially all pixel values with specified values \newinstance.
+    CImg<T> get_fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5,
+                     const T& val6) const {
+      return CImg<T>(_width,_height,_depth,_spectrum).fill(val0,val1,val2,val3,val4,val5,val6);
+    }
+
+    //! Fill sequentially all pixel values with specified values \overloading.
+    CImg<T>& fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5,
+                  const T& val6, const T& val7) {
+      if (is_empty()) return *this;
+      T *ptrd, *ptre = end() - 7;
+      for (ptrd = _data; ptrd<ptre; ) {
+        *(ptrd++) = val0; *(ptrd++) = val1; *(ptrd++) = val2; *(ptrd++) = val3;
+        *(ptrd++) = val4; *(ptrd++) = val5; *(ptrd++) = val6; *(ptrd++) = val7;
+      }
+      ptre+=7;
+      switch (ptre - ptrd) {
+      case 7 : *(--ptre) = val6;
+      case 6 : *(--ptre) = val5;
+      case 5 : *(--ptre) = val4;
+      case 4 : *(--ptre) = val3;
+      case 3 : *(--ptre) = val2;
+      case 2 : *(--ptre) = val1;
+      case 1 : *(--ptre) = val0;
+      }
+      return *this;
+    }
+
+    //! Fill sequentially all pixel values with specified values \newinstance.
+    CImg<T> get_fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5,
+                     const T& val6, const T& val7) const {
+      return CImg<T>(_width,_height,_depth,_spectrum).fill(val0,val1,val2,val3,val4,val5,val6,val7);
+    }
+
+    //! Fill sequentially all pixel values with specified values \overloading.
+    CImg<T>& fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5,
+                  const T& val6, const T& val7, const T& val8) {
+      if (is_empty()) return *this;
+      T *ptrd, *ptre = end() - 8;
+      for (ptrd = _data; ptrd<ptre; ) {
+        *(ptrd++) = val0; *(ptrd++) = val1; *(ptrd++) = val2;
+        *(ptrd++) = val3; *(ptrd++) = val4; *(ptrd++) = val5;
+        *(ptrd++) = val6; *(ptrd++) = val7; *(ptrd++) = val8;
+      }
+      ptre+=8;
+      switch (ptre - ptrd) {
+      case 8 : *(--ptre) = val7;
+      case 7 : *(--ptre) = val6;
+      case 6 : *(--ptre) = val5;
+      case 5 : *(--ptre) = val4;
+      case 4 : *(--ptre) = val3;
+      case 3 : *(--ptre) = val2;
+      case 2 : *(--ptre) = val1;
+      case 1 : *(--ptre) = val0;
+      }
+      return *this;
+    }
+
+    //! Fill sequentially all pixel values with specified values \newinstance.
+    CImg<T> get_fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5,
+                     const T& val6, const T& val7, const T& val8) const {
+      return CImg<T>(_width,_height,_depth,_spectrum).fill(val0,val1,val2,val3,val4,val5,val6,val7,val8);
+    }
+
+    //! Fill sequentially all pixel values with specified values \overloading.
+    CImg<T>& fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5,
+                  const T& val6, const T& val7, const T& val8, const T& val9) {
+      if (is_empty()) return *this;
+      T *ptrd, *ptre = end() - 9;
+      for (ptrd = _data; ptrd<ptre; ) {
+        *(ptrd++) = val0; *(ptrd++) = val1; *(ptrd++) = val2; *(ptrd++) = val3; *(ptrd++) = val4;
+        *(ptrd++) = val5; *(ptrd++) = val6; *(ptrd++) = val7; *(ptrd++) = val8; *(ptrd++) = val9;
+      }
+      ptre+=9;
+      switch (ptre - ptrd) {
+      case 9 : *(--ptre) = val8;
+      case 8 : *(--ptre) = val7;
+      case 7 : *(--ptre) = val6;
+      case 6 : *(--ptre) = val5;
+      case 5 : *(--ptre) = val4;
+      case 4 : *(--ptre) = val3;
+      case 3 : *(--ptre) = val2;
+      case 2 : *(--ptre) = val1;
+      case 1 : *(--ptre) = val0;
+      }
+      return *this;
+    }
+
+    //! Fill sequentially all pixel values with specified values \newinstance.
+    CImg<T> get_fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5,
+                     const T& val6, const T& val7, const T& val8, const T& val9) const {
+      return CImg<T>(_width,_height,_depth,_spectrum).fill(val0,val1,val2,val3,val4,val5,val6,val7,val8,val9);
+    }
+
+    //! Fill sequentially all pixel values with specified values \overloading.
+    CImg<T>& fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5,
+                  const T& val6, const T& val7, const T& val8, const T& val9, const T& val10) {
+      if (is_empty()) return *this;
+      T *ptrd, *ptre = end() - 10;
+      for (ptrd = _data; ptrd<ptre; ) {
+        *(ptrd++) = val0; *(ptrd++) = val1; *(ptrd++) = val2; *(ptrd++) = val3; *(ptrd++) = val4;
+        *(ptrd++) = val5; *(ptrd++) = val6; *(ptrd++) = val7; *(ptrd++) = val8; *(ptrd++) = val9;
+        *(ptrd++) = val10;
+      }
+      ptre+=10;
+      switch (ptre - ptrd) {
+      case 10 : *(--ptre) = val9;
+      case 9 : *(--ptre) = val8;
+      case 8 : *(--ptre) = val7;
+      case 7 : *(--ptre) = val6;
+      case 6 : *(--ptre) = val5;
+      case 5 : *(--ptre) = val4;
+      case 4 : *(--ptre) = val3;
+      case 3 : *(--ptre) = val2;
+      case 2 : *(--ptre) = val1;
+      case 1 : *(--ptre) = val0;
+      }
+      return *this;
+    }
+
+    //! Fill sequentially all pixel values with specified values \newinstance.
+    CImg<T> get_fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5,
+                     const T& val6, const T& val7, const T& val8, const T& val9, const T& val10) const {
+      return CImg<T>(_width,_height,_depth,_spectrum).fill(val0,val1,val2,val3,val4,val5,val6,val7,val8,val9,val10);
+    }
+
+    //! Fill sequentially all pixel values with specified values \overloading.
+    CImg<T>& fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5,
+                  const T& val6, const T& val7, const T& val8, const T& val9, const T& val10, const T& val11) {
+      if (is_empty()) return *this;
+      T *ptrd, *ptre = end() - 11;
+      for (ptrd = _data; ptrd<ptre; ) {
+        *(ptrd++) = val0; *(ptrd++) = val1; *(ptrd++) = val2; *(ptrd++) = val3; *(ptrd++) = val4; *(ptrd++) = val5;
+        *(ptrd++) = val6; *(ptrd++) = val7; *(ptrd++) = val8; *(ptrd++) = val9; *(ptrd++) = val10; *(ptrd++) = val11;
+      }
+      ptre+=11;
+      switch (ptre - ptrd) {
+      case 11 : *(--ptre) = val10;
+      case 10 : *(--ptre) = val9;
+      case 9 : *(--ptre) = val8;
+      case 8 : *(--ptre) = val7;
+      case 7 : *(--ptre) = val6;
+      case 6 : *(--ptre) = val5;
+      case 5 : *(--ptre) = val4;
+      case 4 : *(--ptre) = val3;
+      case 3 : *(--ptre) = val2;
+      case 2 : *(--ptre) = val1;
+      case 1 : *(--ptre) = val0;
+      }
+      return *this;
+    }
+
+    //! Fill sequentially all pixel values with specified values \newinstance.
+    CImg<T> get_fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5,
+                     const T& val6, const T& val7, const T& val8, const T& val9, const T& val10, const T& val11) const {
+      return CImg<T>(_width,_height,_depth,_spectrum).fill(val0,val1,val2,val3,val4,val5,val6,val7,val8,val9,val10,
+                                                           val11);
+    }
+
+    //! Fill sequentially all pixel values with specified values \overloading.
+    CImg<T>& fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5,
+                  const T& val6, const T& val7, const T& val8, const T& val9, const T& val10, const T& val11,
+                  const T& val12) {
+      if (is_empty()) return *this;
+      T *ptrd, *ptre = end() - 12;
+      for (ptrd = _data; ptrd<ptre; ) {
+        *(ptrd++) = val0; *(ptrd++) = val1; *(ptrd++) = val2; *(ptrd++) = val3; *(ptrd++) = val4; *(ptrd++) = val5;
+        *(ptrd++) = val6; *(ptrd++) = val7; *(ptrd++) = val8; *(ptrd++) = val9; *(ptrd++) = val10; *(ptrd++) = val11;
+        *(ptrd++) = val12;
+      }
+      ptre+=12;
+      switch (ptre - ptrd) {
+      case 12 : *(--ptre) = val11;
+      case 11 : *(--ptre) = val10;
+      case 10 : *(--ptre) = val9;
+      case 9 : *(--ptre) = val8;
+      case 8 : *(--ptre) = val7;
+      case 7 : *(--ptre) = val6;
+      case 6 : *(--ptre) = val5;
+      case 5 : *(--ptre) = val4;
+      case 4 : *(--ptre) = val3;
+      case 3 : *(--ptre) = val2;
+      case 2 : *(--ptre) = val1;
+      case 1 : *(--ptre) = val0;
+      }
+      return *this;
+    }
+
+    //! Fill sequentially all pixel values with specified values \newinstance.
+    CImg<T> get_fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5,
+                     const T& val6, const T& val7, const T& val8, const T& val9, const T& val10, const T& val11,
+                     const T& val12) const {
+      return CImg<T>(_width,_height,_depth,_spectrum).fill(val0,val1,val2,val3,val4,val5,val6,val7,val8,val9,val10,
+                                                           val11,val12);
+    }
+
+    //! Fill sequentially all pixel values with specified values \overloading.
+    CImg<T>& fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5,
+                  const T& val6, const T& val7, const T& val8, const T& val9, const T& val10, const T& val11,
+                  const T& val12, const T& val13) {
+      if (is_empty()) return *this;
+      T *ptrd, *ptre = end() - 13;
+      for (ptrd = _data; ptrd<ptre; ) {
+        *(ptrd++) = val0; *(ptrd++) = val1; *(ptrd++) = val2; *(ptrd++) = val3; *(ptrd++) = val4; *(ptrd++) = val5;
+        *(ptrd++) = val6; *(ptrd++) = val7; *(ptrd++) = val8; *(ptrd++) = val9; *(ptrd++) = val10; *(ptrd++) = val11;
+        *(ptrd++) = val12; *(ptrd++) = val13;
+      }
+      ptre+=13;
+      switch (ptre - ptrd) {
+      case 13 : *(--ptre) = val12;
+      case 12 : *(--ptre) = val11;
+      case 11 : *(--ptre) = val10;
+      case 10 : *(--ptre) = val9;
+      case 9 : *(--ptre) = val8;
+      case 8 : *(--ptre) = val7;
+      case 7 : *(--ptre) = val6;
+      case 6 : *(--ptre) = val5;
+      case 5 : *(--ptre) = val4;
+      case 4 : *(--ptre) = val3;
+      case 3 : *(--ptre) = val2;
+      case 2 : *(--ptre) = val1;
+      case 1 : *(--ptre) = val0;
+      }
+      return *this;
+    }
+
+    //! Fill sequentially all pixel values with specified values \newinstance.
+    CImg<T> get_fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5,
+                     const T& val6, const T& val7, const T& val8, const T& val9, const T& val10, const T& val11,
+                     const T& val12, const T& val13) const {
+      return CImg<T>(_width,_height,_depth,_spectrum).fill(val0,val1,val2,val3,val4,val5,val6,val7,val8,val9,val10,
+                                                           val11,val12,val13);
+    }
+
+    //! Fill sequentially all pixel values with specified values \overloading.
+    CImg<T>& fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5,
+                  const T& val6, const T& val7, const T& val8, const T& val9, const T& val10, const T& val11,
+                  const T& val12, const T& val13, const T& val14) {
+      if (is_empty()) return *this;
+      T *ptrd, *ptre = end() - 14;
+      for (ptrd = _data; ptrd<ptre; ) {
+        *(ptrd++) = val0; *(ptrd++) = val1; *(ptrd++) = val2; *(ptrd++) = val3; *(ptrd++) = val4; *(ptrd++) = val5;
+        *(ptrd++) = val6; *(ptrd++) = val7; *(ptrd++) = val8; *(ptrd++) = val9; *(ptrd++) = val10; *(ptrd++) = val11;
+        *(ptrd++) = val12; *(ptrd++) = val13; *(ptrd++) = val14;
+      }
+      ptre+=14;
+      switch (ptre - ptrd) {
+      case 14 : *(--ptre) = val13;
+      case 13 : *(--ptre) = val12;
+      case 12 : *(--ptre) = val11;
+      case 11 : *(--ptre) = val10;
+      case 10 : *(--ptre) = val9;
+      case 9 : *(--ptre) = val8;
+      case 8 : *(--ptre) = val7;
+      case 7 : *(--ptre) = val6;
+      case 6 : *(--ptre) = val5;
+      case 5 : *(--ptre) = val4;
+      case 4 : *(--ptre) = val3;
+      case 3 : *(--ptre) = val2;
+      case 2 : *(--ptre) = val1;
+      case 1 : *(--ptre) = val0;
+      }
+      return *this;
+    }
+
+    //! Fill sequentially all pixel values with specified values \newinstance.
+    CImg<T> get_fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5,
+                     const T& val6, const T& val7, const T& val8, const T& val9, const T& val10, const T& val11,
+                     const T& val12, const T& val13, const T& val14) const {
+      return CImg<T>(_width,_height,_depth,_spectrum).fill(val0,val1,val2,val3,val4,val5,val6,val7,val8,val9,val10,
+                                                           val11,val12,val13,val14);
+    }
+
+    //! Fill sequentially all pixel values with specified values \overloading.
+    CImg<T>& fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5,
+                  const T& val6, const T& val7, const T& val8, const T& val9, const T& val10, const T& val11,
+                  const T& val12, const T& val13, const T& val14, const T& val15) {
+      if (is_empty()) return *this;
+      T *ptrd, *ptre = end() - 15;
+      for (ptrd = _data; ptrd<ptre; ) {
+        *(ptrd++) = val0; *(ptrd++) = val1; *(ptrd++) = val2; *(ptrd++) = val3; *(ptrd++) = val4; *(ptrd++) = val5;
+        *(ptrd++) = val6; *(ptrd++) = val7; *(ptrd++) = val8; *(ptrd++) = val9; *(ptrd++) = val10; *(ptrd++) = val11;
+        *(ptrd++) = val12; *(ptrd++) = val13; *(ptrd++) = val14; *(ptrd++) = val15;
+      }
+      ptre+=15;
+      switch (ptre - ptrd) {
+      case 15 : *(--ptre) = val14;
+      case 14 : *(--ptre) = val13;
+      case 13 : *(--ptre) = val12;
+      case 12 : *(--ptre) = val11;
+      case 11 : *(--ptre) = val10;
+      case 10 : *(--ptre) = val9;
+      case 9 : *(--ptre) = val8;
+      case 8 : *(--ptre) = val7;
+      case 7 : *(--ptre) = val6;
+      case 6 : *(--ptre) = val5;
+      case 5 : *(--ptre) = val4;
+      case 4 : *(--ptre) = val3;
+      case 3 : *(--ptre) = val2;
+      case 2 : *(--ptre) = val1;
+      case 1 : *(--ptre) = val0;
+      }
+      return *this;
+    }
+
+    //! Fill sequentially all pixel values with specified values \newinstance.
+    CImg<T> get_fill(const T& val0, const T& val1, const T& val2, const T& val3, const T& val4, const T& val5,
+                     const T& val6, const T& val7, const T& val8, const T& val9, const T& val10, const T& val11,
+                     const T& val12, const T& val13, const T& val14, const T& val15) const {
+      return CImg<T>(_width,_height,_depth,_spectrum).fill(val0,val1,val2,val3,val4,val5,val6,val7,val8,val9,val10,
+                                                           val11,val12,val13,val14,val15);
+    }
+
+    //! Fill sequentially pixel values according to a given expression.
+    /**
+       \param expression C-string describing a math formula, or a list of values.
+       \param repeat_values In case a list of values is provided, tells if this list must be repeated for the filling.
+       \param allow_formula tells if a formula is allowed or only a list of values.
+    **/
+    CImg<T>& fill(const char *const expression, const bool repeat_values, const bool allow_formula=true) {
+      if (is_empty() || !expression || !*expression) return *this;
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      CImg<charT> is_error;
+
+      if (allow_formula) try { // Try to fill values according to a formula.
+        const CImg<T> _base = cimg::_is_self_expr(expression)?+*this:CImg<T>(), &base = _base?_base:*this;
+        _cimg_math_parser mp(base,this,expression + (*expression=='>' || *expression=='<'?1:0),"fill");
+        T *ptrd = *expression=='<'?end() - 1:_data;
+        if (*expression=='<') cimg_rofXYZC(*this,x,y,z,c) *(ptrd--) = (T)mp(x,y,z,c);
+        else if (*expression=='>') cimg_forXYZC(*this,x,y,z,c) *(ptrd++) = (T)mp(x,y,z,c);
+        else {
+#ifdef cimg_use_openmp
+          if (_width>=512 && _height*_depth*_spectrum>=2 && std::strlen(expression)>=6)
+#pragma omp parallel
+            {
+              _cimg_math_parser _mp = omp_get_thread_num()?mp:_cimg_math_parser(), &lmp = omp_get_thread_num()?_mp:mp;
+#pragma omp for collapse(3)
+              cimg_forYZC(*this,y,z,c) {
+                T *ptrd = data(0,y,z,c);
+                cimg_forX(*this,x) *ptrd++ = (T)lmp(x,y,z,c);
+              }
+            }
+          else
+#endif
+            cimg_forXYZC(*this,x,y,z,c) *(ptrd++) = (T)mp(x,y,z,c);
+        }
+      } catch (CImgException& e) { CImg<charT>::string(e._message).move_to(is_error); }
+
+      // If failed, try to recognize a list of values.
+      if (!allow_formula || is_error) {
+        char *const item = new char[16384], sep = 0;
+        const char *nexpression = expression;
+        unsigned long nb = 0;
+        const unsigned long siz = size();
+        T *ptrd = _data;
+        for (double val = 0; *nexpression && nb<siz; ++nb) {
+          sep = 0;
+          const int err = cimg_sscanf(nexpression,"%16383[ \n\t0-9.eEinfa+-]%c",item,&sep);
+          if (err>0 && cimg_sscanf(item,"%lf",&val)==1 && (sep==',' || sep==';' || err==1)) {
+            nexpression+=std::strlen(item) + (err>1?1:0);
+            *(ptrd++) = (T)val;
+          } else break;
+        }
+        delete[] item;
+        cimg::exception_mode(omode);
+        if (nb<siz && (sep || *nexpression)) {
+          if (is_error) throw CImgArgumentException("%s",is_error._data);
+          else throw CImgArgumentException(_cimg_instance
+                                           "fill(): Invalid sequence of filling values '%s'.",
+                                           cimg_instance,expression);
+        }
+        if (repeat_values && nb && nb<siz)
+          for (T *ptrs = _data, *const ptre = _data + siz; ptrd<ptre; ++ptrs) *(ptrd++) = *ptrs;
+      }
+      cimg::exception_mode(omode);
+      return *this;
+    }
+
+    //! Fill sequentially pixel values according to a given expression \newinstance.
+    CImg<T> get_fill(const char *const expression, const bool repeat_values, const bool allow_formula=true) const {
+      return (+*this).fill(expression,repeat_values,allow_formula);
+    }
+
+    //! Fill sequentially pixel values according to the values found in another image.
+    /**
+       \param values Image containing the values used for the filling.
+       \param repeat_values In case there are less values than necessary in \c values, tells if these values must be
+         repeated for the filling.
+    **/
+    template<typename t>
+    CImg<T>& fill(const CImg<t>& values, const bool repeat_values=true) {
+      if (is_empty() || !values) return *this;
+      T *ptrd = _data, *ptre = ptrd + size();
+      for (t *ptrs = values._data, *ptrs_end = ptrs + values.size(); ptrs<ptrs_end && ptrd<ptre; ++ptrs)
+        *(ptrd++) = (T)*ptrs;
+      if (repeat_values && ptrd<ptre) for (T *ptrs = _data; ptrd<ptre; ++ptrs) *(ptrd++) = *ptrs;
+      return *this;
+    }
+
+    //! Fill sequentially pixel values according to the values found in another image \newinstance.
+    template<typename t>
+    CImg<T> get_fill(const CImg<t>& values, const bool repeat_values=true) const {
+      return repeat_values?CImg<T>(_width,_height,_depth,_spectrum).fill(values,repeat_values):
+        (+*this).fill(values,repeat_values);
+    }
+
+    //! Fill pixel values along the X-axis at a specified pixel position.
+    /**
+       \param y Y-coordinate of the filled column.
+       \param z Z-coordinate of the filled column.
+       \param c C-coordinate of the filled column.
+       \param a0 First fill value.
+    **/
+    CImg<T>& fillX(const unsigned int y, const unsigned int z, const unsigned int c, const int a0, ...) {
+#define _cimg_fill1(x,y,z,c,off,siz,t) { \
+    va_list ap; va_start(ap,a0); T *ptrd = data(x,y,z,c); *ptrd = (T)a0; \
+    for (unsigned long k = 1; k<siz; ++k) { ptrd+=off; *ptrd = (T)va_arg(ap,t); } \
+    va_end(ap); }
+      if (y<_height && z<_depth && c<_spectrum) _cimg_fill1(0,y,z,c,1,_width,int);
+      return *this;
+    }
+
+    //! Fill pixel values along the X-axis at a specified pixel position \overloading.
+    CImg<T>& fillX(const unsigned int y, const unsigned int z, const unsigned int c, const double a0, ...) {
+      if (y<_height && z<_depth && c<_spectrum) _cimg_fill1(0,y,z,c,1,_width,double);
+      return *this;
+    }
+
+    //! Fill pixel values along the Y-axis at a specified pixel position.
+    /**
+       \param x X-coordinate of the filled row.
+       \param z Z-coordinate of the filled row.
+       \param c C-coordinate of the filled row.
+       \param a0 First fill value.
+    **/
+    CImg<T>& fillY(const unsigned int x, const unsigned int z, const unsigned int c, const int a0, ...) {
+      if (x<_width && z<_depth && c<_spectrum) _cimg_fill1(x,0,z,c,_width,_height,int);
+      return *this;
+    }
+
+    //! Fill pixel values along the Y-axis at a specified pixel position \overloading.
+    CImg<T>& fillY(const unsigned int x, const unsigned int z, const unsigned int c, const double a0, ...) {
+      if (x<_width && z<_depth && c<_spectrum) _cimg_fill1(x,0,z,c,_width,_height,double);
+      return *this;
+    }
+
+    //! Fill pixel values along the Z-axis at a specified pixel position.
+    /**
+       \param x X-coordinate of the filled slice.
+       \param y Y-coordinate of the filled slice.
+       \param c C-coordinate of the filled slice.
+       \param a0 First fill value.
+    **/
+    CImg<T>& fillZ(const unsigned int x, const unsigned int y, const unsigned int c, const int a0, ...) {
+      const unsigned long wh = (unsigned long)_width*_height;
+      if (x<_width && y<_height && c<_spectrum) _cimg_fill1(x,y,0,c,wh,_depth,int);
+      return *this;
+    }
+
+    //! Fill pixel values along the Z-axis at a specified pixel position \overloading.
+    CImg<T>& fillZ(const unsigned int x, const unsigned int y, const unsigned int c, const double a0, ...) {
+      const unsigned long wh = (unsigned long)_width*_height;
+      if (x<_width && y<_height && c<_spectrum) _cimg_fill1(x,y,0,c,wh,_depth,double);
+      return *this;
+    }
+
+    //! Fill pixel values along the C-axis at a specified pixel position.
+    /**
+       \param x X-coordinate of the filled channel.
+       \param y Y-coordinate of the filled channel.
+       \param z Z-coordinate of the filled channel.
+       \param a0 First filling value.
+    **/
+    CImg<T>& fillC(const unsigned int x, const unsigned int y, const unsigned int z, const int a0, ...) {
+      const unsigned long whd = (unsigned long)_width*_height*_depth;
+      if (x<_width && y<_height && z<_depth) _cimg_fill1(x,y,z,0,whd,_spectrum,int);
+      return *this;
+    }
+
+    //! Fill pixel values along the C-axis at a specified pixel position \overloading.
+    CImg<T>& fillC(const unsigned int x, const unsigned int y, const unsigned int z, const double a0, ...) {
+      const unsigned long whd = (unsigned long)_width*_height*_depth;
+      if (x<_width && y<_height && z<_depth) _cimg_fill1(x,y,z,0,whd,_spectrum,double);
+      return *this;
+    }
+
+    //! Discard specified sequence of values in the image buffer, along a specific axis.
+    /**
+       \param values Sequence of values to discard.
+       \param axis Axis along which the values are discarded. If set to \c 0 (default value)
+         the method does it for all the buffer values and returns a one-column vector.
+       \note Discarded values will change the image geometry, so the resulting image
+       is returned as a one-column vector.
+    **/
+    template<typename t>
+    CImg<T>& discard(const CImg<t>& values, const char axis=0) {
+      if (is_empty() || !values) return *this;
+      return get_discard(values,axis).move_to(*this);
+    }
+
+    template<typename t>
+    CImg<T> get_discard(const CImg<t>& values, const char axis=0) const {
+      CImg<T> res;
+      if (!values) return +*this;
+      if (is_empty()) return res;
+      const unsigned long vsiz = values.size();
+      const char _axis = cimg::uncase(axis);
+      unsigned long j = 0;
+      unsigned int k = 0;
+      int i0 = 0;
+      res.assign(width(),height(),depth(),spectrum());
+      switch (_axis) {
+      case 'x' : {
+        cimg_forX(*this,i) {
+          if ((*this)(i)!=(T)values[j]) {
+            if (j) --i;
+            res.draw_image(k,get_columns(i0,i));
+            k+=i - i0 + 1; i0 = i + 1; j = 0;
+          } else { ++j; if (j>=vsiz) { j = 0; i0 = i + 1; } }
+        }
+        if (i0<width()) { res.draw_image(k,get_columns(i0,width() - 1)); k+=width() - i0; }
+        res.resize(k,-100,-100,-100,0);
+      } break;
+      case 'y' : {
+        cimg_forY(*this,i) {
+          if ((*this)(0,i)!=(T)values[j]) {
+            if (j) --i;
+            res.draw_image(0,k,get_rows(i0,i));
+            k+=i - i0 + 1; i0 = i + 1; j = 0;
+          } else { ++j; if (j>=vsiz) { j = 0; i0 = i + 1; } }
+        }
+        if (i0<height()) { res.draw_image(0,k,get_rows(i0,height() - 1)); k+=height() - i0; }
+        res.resize(-100,k,-100,-100,0);
+      } break;
+      case 'z' : {
+        cimg_forZ(*this,i) {
+          if ((*this)(0,0,i)!=(T)values[j]) {
+            if (j) --i;
+            res.draw_image(0,0,k,get_slices(i0,i));
+            k+=i - i0 + 1; i0 = i + 1; j = 0;
+          } else { ++j; if (j>=vsiz) { j = 0; i0 = i + 1; } }
+        }
+        if (i0<depth()) { res.draw_image(0,0,k,get_slices(i0,height() - 1)); k+=depth() - i0; }
+        res.resize(-100,-100,k,-100,0);
+      } break;
+      case 'c' : {
+        cimg_forC(*this,i) {
+          if ((*this)(0,0,0,i)!=(T)values[j]) {
+            if (j) --i;
+            res.draw_image(0,0,0,k,get_channels(i0,i));
+            k+=i - i0 + 1; i0 = i + 1; j = 0;
+          } else { ++j; if (j>=vsiz) { j = 0; i0 = i + 1; } }
+        }
+        if (i0<spectrum()) { res.draw_image(0,0,k,get_channels(i0,height() - 1)); k+=spectrum() - i0; }
+        res.resize(-100,-100,-100,k,0);
+      } break;
+      default : {
+        res.unroll('y');
+        cimg_foroff(*this,i) {
+          if ((*this)[i]!=(T)values[j]) {
+            if (j) --i;
+            std::memcpy(res._data + k,_data + i0,(i - i0 + 1)*sizeof(T));
+            k+=i - i0 + 1; i0 = (int)i + 1; j = 0;
+          } else { ++j; if (j>=vsiz) { j = 0; i0 = (int)i + 1; }}
+        }
+        const unsigned long siz = size();
+        if ((unsigned long)i0<siz) { std::memcpy(res._data + k,_data + i0,(siz - i0)*sizeof(T)); k+=siz - i0; }
+        res.resize(1,k,1,1,0);
+      }
+      }
+      return res;
+    }
+
+    //! Discard neighboring duplicates in the image buffer, along the specified axis.
+    CImg<T>& discard(const char axis=0) {
+      return get_discard(axis).move_to(*this);
+    }
+
+    //! Discard neighboring duplicates in the image buffer, along the specified axis \newinstance.
+    CImg<T> get_discard(const char axis=0) const {
+      CImg<T> res;
+      if (is_empty()) return res;
+      const char _axis = cimg::uncase(axis);
+      T current = *_data?0:(T)1;
+      int j = 0;
+      res.assign(width(),height(),depth(),spectrum());
+      switch (_axis) {
+      case 'x' : {
+        cimg_forX(*this,i)
+          if ((*this)(i)!=current) { res.draw_image(j++,get_column(i)); current = (*this)(i); }
+        res.resize(j,-100,-100,-100,0);
+      } break;
+      case 'y' : {
+        cimg_forY(*this,i)
+          if ((*this)(0,i)!=current) { res.draw_image(0,j++,get_row(i)); current = (*this)(0,i); }
+        res.resize(-100,j,-100,-100,0);
+      } break;
+      case 'z' : {
+        cimg_forZ(*this,i)
+          if ((*this)(0,0,i)!=current) { res.draw_image(0,0,j++,get_slice(i)); current = (*this)(0,0,i); }
+        res.resize(-100,-100,j,-100,0);
+      } break;
+      case 'c' : {
+        cimg_forC(*this,i)
+          if ((*this)(0,0,0,i)!=current) { res.draw_image(0,0,0,j++,get_channel(i)); current = (*this)(0,0,0,i); }
+        res.resize(-100,-100,-100,j,0);
+      } break;
+      default : {
+        res.unroll('y');
+        cimg_foroff(*this,i)
+          if ((*this)[i]!=current) res[j++] = current = (*this)[i];
+        res.resize(-100,j,-100,-100,0);
+      }
+      }
+      return res;
+    }
+
+    //! Invert endianness of all pixel values.
+    /**
+     **/
+    CImg<T>& invert_endianness() {
+      cimg::invert_endianness(_data,size());
+      return *this;
+    }
+
+    //! Invert endianness of all pixel values \newinstance.
+    CImg<T> get_invert_endianness() const {
+      return (+*this).invert_endianness();
+    }
+
+    //! Fill image with random values in specified range.
+    /**
+       \param val_min Minimal random value.
+       \param val_max Maximal random value.
+       \note Random samples are following a uniform distribution.
+     **/
+    CImg<T>& rand(const T& val_min, const T& val_max) {
+      const float delta = (float)val_max - (float)val_min + (cimg::type<T>::is_float()?0:1);
+      if (cimg::type<T>::is_float()) cimg_for(*this,ptrd,T) *ptrd = (T)(val_min + cimg::rand()*delta);
+      else cimg_for(*this,ptrd,T) *ptrd = cimg::min(val_max,(T)(val_min + cimg::rand()*delta));
+      return *this;
+    }
+
+    //! Fill image with random values in specified range \newinstance.
+    CImg<T> get_rand(const T& val_min, const T& val_max) const {
+      return (+*this).rand(val_min,val_max);
+    }
+
+    //! Round pixel values.
+    /**
+       \param y Rounding precision.
+       \param rounding_type Rounding type. Can be:
+       - \c -1: Backward.
+       - \c 0: Nearest.
+       - \c 1: Forward.
+    **/
+    CImg<T>& round(const double y=1, const int rounding_type=0) {
+      if (y>0)
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=8192)
+#endif
+        cimg_rof(*this,ptrd,T) *ptrd = cimg::round(*ptrd,y,rounding_type);
+      return *this;
+    }
+
+    //! Round pixel values \newinstance.
+    CImg<T> get_round(const double y=1, const unsigned int rounding_type=0) const {
+      return (+*this).round(y,rounding_type);
+    }
+
+    //! Add random noise to pixel values.
+    /**
+       \param sigma Amplitude of the random additive noise. If \p sigma<0, it stands for a percentage of the
+         global value range.
+       \param noise_type Type of additive noise (can be \p 0=gaussian, \p 1=uniform, \p 2=Salt and Pepper,
+         \p 3=Poisson or \p 4=Rician).
+       \return A reference to the modified image instance.
+       \note
+       - For Poisson noise (\p noise_type=3), parameter \p sigma is ignored, as Poisson noise only depends on
+         the image value itself.
+       - Function \p CImg<T>::get_noise() is also defined. It returns a non-shared modified copy of the image instance.
+       \par Example
+       \code
+       const CImg<float> img("reference.jpg"), res = img.get_noise(40);
+       (img,res.normalize(0,255)).display();
+       \endcode
+       \image html ref_noise.jpg
+    **/
+    CImg<T>& noise(const double sigma, const unsigned int noise_type=0) {
+      if (is_empty()) return *this;
+      const Tfloat vmin = (Tfloat)cimg::type<T>::min(), vmax = (Tfloat)cimg::type<T>::max();
+      Tfloat nsigma = (Tfloat)sigma, m = 0, M = 0;
+      if (nsigma==0 && noise_type!=3) return *this;
+      if (nsigma<0 || noise_type==2) m = (Tfloat)min_max(M);
+      if (nsigma<0) nsigma = (Tfloat)(-nsigma*(M-m)/100.0);
+      switch (noise_type) {
+      case 0 : { // Gaussian noise
+        cimg_rof(*this,ptrd,T) {
+          Tfloat val = (Tfloat)(*ptrd + nsigma*cimg::grand());
+          if (val>vmax) val = vmax;
+          if (val<vmin) val = vmin;
+          *ptrd = (T)val;
+        }
+      } break;
+      case 1 : { // Uniform noise
+        cimg_rof(*this,ptrd,T) {
+          Tfloat val = (Tfloat)(*ptrd + nsigma*cimg::crand());
+          if (val>vmax) val = vmax;
+          if (val<vmin) val = vmin;
+          *ptrd = (T)val;
+        }
+      } break;
+      case 2 : { // Salt & Pepper noise
+        if (nsigma<0) nsigma = -nsigma;
+        if (M==m) { m = 0; M = (Tfloat)(cimg::type<T>::is_float()?1:cimg::type<T>::max()); }
+        cimg_rof(*this,ptrd,T) if (cimg::rand()*100<nsigma) *ptrd = (T)(cimg::rand()<0.5?M:m);
+      } break;
+      case 3 : { // Poisson Noise
+        cimg_rof(*this,ptrd,T) *ptrd = (T)cimg::prand(*ptrd);
+      } break;
+      case 4 : { // Rice noise
+        const Tfloat sqrt2 = (Tfloat)std::sqrt(2.0);
+        cimg_rof(*this,ptrd,T) {
+          const Tfloat
+            val0 = (Tfloat)*ptrd/sqrt2,
+            re = (Tfloat)(val0 + nsigma*cimg::grand()),
+            im = (Tfloat)(val0 + nsigma*cimg::grand());
+          Tfloat val = (Tfloat)std::sqrt(re*re + im*im);
+          if (val>vmax) val = vmax;
+          if (val<vmin) val = vmin;
+          *ptrd = (T)val;
+        }
+      } break;
+      default :
+        throw CImgArgumentException(_cimg_instance
+                                    "noise(): Invalid specified noise type %d "
+                                    "(should be { 0=gaussian | 1=uniform | 2=salt&Pepper | 3=poisson }).",
+                                    cimg_instance,
+                                    noise_type);
+      }
+      return *this;
+    }
+
+    //! Add random noise to pixel values \newinstance.
+    CImg<T> get_noise(const double sigma, const unsigned int noise_type=0) const {
+      return (+*this).noise(sigma,noise_type);
+    }
+
+    //! Linearly normalize pixel values.
+    /**
+       \param min_value Minimum desired value of the resulting image.
+       \param max_value Maximum desired value of the resulting image.
+       \par Example
+       \code
+       const CImg<float> img("reference.jpg"), res = img.get_normalize(160,220);
+       (img,res).display();
+       \endcode
+       \image html ref_normalize2.jpg
+    **/
+    CImg<T>& normalize(const T& min_value, const T& max_value) {
+      if (is_empty()) return *this;
+      const T a = min_value<max_value?min_value:max_value, b = min_value<max_value?max_value:min_value;
+      T m, M = max_min(m);
+      const Tfloat fm = (Tfloat)m, fM = (Tfloat)M;
+      if (m==M) return fill(min_value);
+      if (m!=a || M!=b)
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=65536)
+#endif
+        cimg_rof(*this,ptrd,T) *ptrd = (T)((*ptrd - fm)/(fM - fm)*(b - a) + a);
+      return *this;
+    }
+
+    //! Linearly normalize pixel values \newinstance.
+    CImg<Tfloat> get_normalize(const T& min_value, const T& max_value) const {
+      return CImg<Tfloat>(*this,false).normalize((Tfloat)min_value,(Tfloat)max_value);
+    }
+
+    //! Normalize multi-valued pixels of the image instance, with respect to their L2-norm.
+    /**
+       \par Example
+       \code
+       const CImg<float> img("reference.jpg"), res = img.get_normalize();
+       (img,res.normalize(0,255)).display();
+       \endcode
+       \image html ref_normalize.jpg
+    **/
+    CImg<T>& normalize() {
+      const unsigned long whd = (unsigned long)_width*_height*_depth;
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=512 && _height*_depth>=16)
+#endif
+      cimg_forYZ(*this,y,z) {
+        T *ptrd = data(0,y,z,0);
+        cimg_forX(*this,x) {
+          const T *ptrs = ptrd;
+          float n = 0;
+          cimg_forC(*this,c) { n+=cimg::sqr((float)*ptrs); ptrs+=whd; }
+          n = (float)std::sqrt(n);
+          T *_ptrd = ptrd++;
+          if (n>0) cimg_forC(*this,c) { *_ptrd = (T)(*_ptrd/n); _ptrd+=whd; }
+          else cimg_forC(*this,c) { *_ptrd = (T)0; _ptrd+=whd; }
+        }
+      }
+      return *this;
+    }
+
+    //! Normalize multi-valued pixels of the image instance, with respect to their L2-norm \newinstance.
+    CImg<Tfloat> get_normalize() const {
+      return CImg<Tfloat>(*this,false).normalize();
+    }
+
+    //! Compute Lp-norm of each multi-valued pixel of the image instance.
+    /**
+       \param norm_type Type of computed vector norm (can be \p -1=Linf, or \p>=0).
+       \par Example
+       \code
+       const CImg<float> img("reference.jpg"), res = img.get_norm();
+       (img,res.normalize(0,255)).display();
+       \endcode
+       \image html ref_norm.jpg
+    **/
+    CImg<T>& norm(const int norm_type=2) {
+      if (_spectrum==1 && norm_type) return abs();
+      return get_norm(norm_type).move_to(*this);
+    }
+
+    //! Compute L2-norm of each multi-valued pixel of the image instance \newinstance.
+    CImg<Tfloat> get_norm(const int norm_type=2) const {
+      if (is_empty()) return *this;
+      if (_spectrum==1 && norm_type) return get_abs();
+      const unsigned long whd = (unsigned long)_width*_height*_depth;
+      CImg<Tfloat> res(_width,_height,_depth);
+      switch (norm_type) {
+      case -1 : { // Linf-norm.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=512 && _height*_depth>=16)
+#endif
+        cimg_forYZ(*this,y,z) {
+          const unsigned long off = (unsigned long)offset(0,y,z);
+          const T *ptrs = _data + off;
+          Tfloat *ptrd = res._data + off;
+          cimg_forX(*this,x) {
+            Tfloat n = 0;
+            const T *_ptrs = ptrs++;
+            cimg_forC(*this,c) { const Tfloat val = (Tfloat)cimg::abs(*_ptrs); if (val>n) n = val; _ptrs+=whd; }
+            *(ptrd++) = n;
+          }
+        }
+      } break;
+      case 0 : { // L0-norm.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=512 && _height*_depth>=16)
+#endif
+        cimg_forYZ(*this,y,z) {
+          const unsigned long off = (unsigned long)offset(0,y,z);
+          const T *ptrs = _data + off;
+          Tfloat *ptrd = res._data + off;
+          cimg_forX(*this,x) {
+            unsigned int n = 0;
+            const T *_ptrs = ptrs++;
+            cimg_forC(*this,c) { n+=*_ptrs==0?0:1; _ptrs+=whd; }
+            *(ptrd++) = (Tfloat)n;
+          }
+        }
+      } break;
+      case 1 : { // L1-norm.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=512 && _height*_depth>=16)
+#endif
+        cimg_forYZ(*this,y,z) {
+          const unsigned long off = (unsigned long)offset(0,y,z);
+          const T *ptrs = _data + off;
+          Tfloat *ptrd = res._data + off;
+          cimg_forX(*this,x) {
+            Tfloat n = 0;
+            const T *_ptrs = ptrs++;
+            cimg_forC(*this,c) { n+=cimg::abs(*_ptrs); _ptrs+=whd; }
+            *(ptrd++) = n;
+          }
+        }
+      } break;
+      case 2 : { // L2-norm.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=512 && _height*_depth>=16)
+#endif
+        cimg_forYZ(*this,y,z) {
+          const unsigned long off = (unsigned long)offset(0,y,z);
+          const T *ptrs = _data + off;
+          Tfloat *ptrd = res._data + off;
+          cimg_forX(*this,x) {
+            Tfloat n = 0;
+            const T *_ptrs = ptrs++;
+            cimg_forC(*this,c) { n+=cimg::sqr((Tfloat)*_ptrs); _ptrs+=whd; }
+            *(ptrd++) = (Tfloat)std::sqrt((Tfloat)n);
+          }
+        }
+      } break;
+      default : { // Linf-norm.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=512 && _height*_depth>=16)
+#endif
+        cimg_forYZ(*this,y,z) {
+          const unsigned long off = (unsigned long)offset(0,y,z);
+          const T *ptrs = _data + off;
+          Tfloat *ptrd = res._data + off;
+          cimg_forX(*this,x) {
+            Tfloat n = 0;
+            const T *_ptrs = ptrs++;
+            cimg_forC(*this,c) { n+=std::pow(cimg::abs((Tfloat)*_ptrs),(Tfloat)norm_type); _ptrs+=whd; }
+            *(ptrd++) = (Tfloat)std::pow((Tfloat)n,1/(Tfloat)norm_type);
+          }
+        }
+      }
+      }
+      return res;
+    }
+
+    //! Cut pixel values in specified range.
+    /**
+       \param min_value Minimum desired value of the resulting image.
+       \param max_value Maximum desired value of the resulting image.
+       \par Example
+       \code
+       const CImg<float> img("reference.jpg"), res = img.get_cut(160,220);
+       (img,res).display();
+       \endcode
+       \image html ref_cut.jpg
+    **/
+    CImg<T>& cut(const T& min_value, const T& max_value) {
+      if (is_empty()) return *this;
+      const T a = min_value<max_value?min_value:max_value, b = min_value<max_value?max_value:min_value;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=32768)
+#endif
+      cimg_rof(*this,ptrd,T) *ptrd = (*ptrd<a)?a:((*ptrd>b)?b:*ptrd);
+      return *this;
+    }
+
+    //! Cut pixel values in specified range \newinstance.
+    CImg<T> get_cut(const T& min_value, const T& max_value) const {
+      return (+*this).cut(min_value,max_value);
+    }
+
+    //! Uniformly quantize pixel values.
+    /**
+       \param nb_levels Number of quantization levels.
+       \param keep_range Tells if resulting values keep the same range as the original ones.
+       \par Example
+       \code
+       const CImg<float> img("reference.jpg"), res = img.get_quantize(4);
+       (img,res).display();
+       \endcode
+       \image html ref_quantize.jpg
+    **/
+    CImg<T>& quantize(const unsigned int nb_levels, const bool keep_range=true) {
+      if (!nb_levels)
+        throw CImgArgumentException(_cimg_instance
+                                    "quantize(): Invalid quantization request with 0 values.",
+                                    cimg_instance);
+
+      if (is_empty()) return *this;
+      Tfloat m, M = (Tfloat)max_min(m), range = M - m;
+      if (range>0) {
+        if (keep_range)
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=32768)
+#endif
+          cimg_rof(*this,ptrd,T) {
+            const unsigned int val = (unsigned int)((*ptrd-m)*nb_levels/range);
+            *ptrd = (T)(m + cimg::min(val,nb_levels - 1)*range/nb_levels);
+          } else
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=32768)
+#endif
+          cimg_rof(*this,ptrd,T) {
+            const unsigned int val = (unsigned int)((*ptrd-m)*nb_levels/range);
+            *ptrd = (T)cimg::min(val,nb_levels - 1);
+          }
+      }
+      return *this;
+    }
+
+    //! Uniformly quantize pixel values \newinstance.
+    CImg<T> get_quantize(const unsigned int n, const bool keep_range=true) const {
+      return (+*this).quantize(n,keep_range);
+    }
+
+    //! Threshold pixel values.
+    /**
+       \param value Threshold value
+       \param soft_threshold Tells if soft thresholding must be applied (instead of hard one).
+       \param strict_threshold Tells if threshold value is strict.
+       \par Example
+       \code
+       const CImg<float> img("reference.jpg"), res = img.get_threshold(128);
+       (img,res.normalize(0,255)).display();
+       \endcode
+       \image html ref_threshold.jpg
+    **/
+    CImg<T>& threshold(const T& value, const bool soft_threshold=false, const bool strict_threshold=false) {
+      if (is_empty()) return *this;
+      if (strict_threshold) {
+        if (soft_threshold)
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=32768)
+#endif
+          cimg_rof(*this,ptrd,T) {
+            const T v = *ptrd;
+            *ptrd = v>value?(T)(v-value):v<-(float)value?(T)(v + value):(T)0;
+          }
+        else
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=65536)
+#endif
+          cimg_rof(*this,ptrd,T) *ptrd = *ptrd>value?(T)1:(T)0;
+      } else {
+        if (soft_threshold)
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=32768)
+#endif
+          cimg_rof(*this,ptrd,T) {
+            const T v = *ptrd;
+            *ptrd = v>=value?(T)(v-value):v<=-(float)value?(T)(v + value):(T)0;
+          }
+        else
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=65536)
+#endif
+          cimg_rof(*this,ptrd,T) *ptrd = *ptrd>=value?(T)1:(T)0;
+      }
+      return *this;
+    }
+
+    //! Threshold pixel values \newinstance.
+    CImg<T> get_threshold(const T& value, const bool soft_threshold=false, const bool strict_threshold=false) const {
+      return (+*this).threshold(value,soft_threshold,strict_threshold);
+    }
+
+    //! Compute the histogram of pixel values.
+    /**
+       \param nb_levels Number of desired histogram levels.
+       \param min_value Minimum pixel value considered for the histogram computation.
+         All pixel values lower than \p min_value will not be counted.
+       \param max_value Maximum pixel value considered for the histogram computation.
+         All pixel values higher than \p max_value will not be counted.
+       \note
+       - The histogram H of an image I is the 1d function where H(x) counts the number of occurences of the value x
+         in the image I.
+       - The resulting histogram is always defined in 1d. Histograms of multi-valued images are not multi-dimensional.
+       \par Example
+       \code
+       const CImg<float> img = CImg<float>("reference.jpg").histogram(256);
+       img.display_graph(0,3);
+       \endcode
+       \image html ref_histogram.jpg
+    **/
+    CImg<T>& histogram(const unsigned int nb_levels, const T& min_value, const T& max_value) {
+      return get_histogram(nb_levels,min_value,max_value).move_to(*this);
+    }
+
+    //! Compute the histogram of pixel values \overloading.
+    CImg<T>& histogram(const unsigned int nb_levels) {
+      return get_histogram(nb_levels).move_to(*this);
+    }
+
+    //! Compute the histogram of pixel values \newinstance.
+    CImg<ulongT> get_histogram(const unsigned int nb_levels, const T& min_value, const T& max_value) const {
+      if (!nb_levels || is_empty()) return CImg<ulongT>();
+      const double
+        vmin = (double)(min_value<max_value?min_value:max_value),
+        vmax = (double)(min_value<max_value?max_value:min_value);
+      CImg<ulongT> res(nb_levels,1,1,1,0);
+      cimg_rof(*this,ptrs,T) {
+        const T val = *ptrs;
+        if (val>=vmin && val<=vmax) ++res[val==vmax?nb_levels - 1:(unsigned int)((val - vmin)*nb_levels/(vmax - vmin))];
+      }
+      return res;
+    }
+
+    //! Compute the histogram of pixel values \newinstance.
+    CImg<ulongT> get_histogram(const unsigned int nb_levels) const {
+      if (!nb_levels || is_empty()) return CImg<ulongT>();
+      T vmax = 0, vmin = min_max(vmax);
+      return get_histogram(nb_levels,vmin,vmax);
+    }
+
+    //! Equalize histogram of pixel values.
+    /**
+       \param nb_levels Number of histogram levels used for the equalization.
+       \param min_value Minimum pixel value considered for the histogram computation.
+         All pixel values lower than \p min_value will not be counted.
+       \param max_value Maximum pixel value considered for the histogram computation.
+         All pixel values higher than \p max_value will not be counted.
+       \par Example
+       \code
+       const CImg<float> img("reference.jpg"), res = img.get_equalize(256);
+       (img,res).display();
+       \endcode
+       \image html ref_equalize.jpg
+    **/
+    CImg<T>& equalize(const unsigned int nb_levels, const T& min_value, const T& max_value) {
+      if (!nb_levels || is_empty()) return *this;
+      const T
+        vmin = min_value<max_value?min_value:max_value,
+        vmax = min_value<max_value?max_value:min_value;
+      CImg<ulongT> hist = get_histogram(nb_levels,vmin,vmax);
+      unsigned long cumul = 0;
+      cimg_forX(hist,pos) { cumul+=hist[pos]; hist[pos] = cumul; }
+      if (!cumul) cumul = 1;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (size()>=1048576)
+#endif
+      cimg_rof(*this,ptrd,T) {
+        const int pos = (int)((*ptrd-vmin)*(nb_levels - 1.)/(vmax-vmin));
+        if (pos>=0 && pos<(int)nb_levels) *ptrd = (T)(vmin + (vmax-vmin)*hist[pos]/cumul);
+      }
+      return *this;
+    }
+
+    //! Equalize histogram of pixel values \overloading.
+    CImg<T>& equalize(const unsigned int nb_levels) {
+      if (!nb_levels || is_empty()) return *this;
+      T vmax = 0, vmin = min_max(vmax);
+      return equalize(nb_levels,vmin,vmax);
+    }
+
+    //! Equalize histogram of pixel values \newinstance.
+    CImg<T> get_equalize(const unsigned int nblevels, const T& val_min, const T& val_max) const {
+      return (+*this).equalize(nblevels,val_min,val_max);
+    }
+
+    //! Equalize histogram of pixel values \newinstance.
+    CImg<T> get_equalize(const unsigned int nblevels) const {
+      return (+*this).equalize(nblevels);
+    }
+
+    //! Index multi-valued pixels regarding to a specified colormap.
+    /**
+       \param colormap Multi-valued colormap used as the basis for multi-valued pixel indexing.
+       \param dithering Level of dithering (0=disable, 1=standard level).
+       \param map_indexes Tell if the values of the resulting image are the colormap indices or the colormap vectors.
+       \note
+       - \p img.index(colormap,dithering,1) is equivalent to <tt>img.index(colormap,dithering,0).map(colormap)</tt>.
+       \par Example
+       \code
+       const CImg<float> img("reference.jpg"), colormap(3,1,1,3, 0,128,255, 0,128,255, 0,128,255);
+       const CImg<float> res = img.get_index(colormap,1,true);
+       (img,res).display();
+       \endcode
+       \image html ref_index.jpg
+    **/
+    template<typename t>
+    CImg<T>& index(const CImg<t>& colormap, const float dithering=1, const bool map_indexes=false) {
+      return get_index(colormap,dithering,map_indexes).move_to(*this);
+    }
+
+    //! Index multi-valued pixels regarding to a specified colormap \newinstance.
+    template<typename t>
+    CImg<typename CImg<t>::Tuint>
+    get_index(const CImg<t>& colormap, const float dithering=1, const bool map_indexes=true) const {
+      if (colormap._spectrum!=_spectrum)
+        throw CImgArgumentException(_cimg_instance
+                                    "index(): Instance and specified colormap (%u,%u,%u,%u,%p) "
+                                    "have incompatible dimensions.",
+                                    cimg_instance,
+                                    colormap._width,colormap._height,colormap._depth,colormap._spectrum,colormap._data);
+
+      typedef typename CImg<t>::Tuint tuint;
+      if (is_empty()) return CImg<tuint>();
+      const unsigned long
+        whd = (unsigned long)_width*_height*_depth,
+        pwhd = (unsigned long)colormap._width*colormap._height*colormap._depth;
+      CImg<tuint> res(_width,_height,_depth,map_indexes?_spectrum:1);
+      tuint *ptrd = res._data;
+      if (dithering>0) { // Dithered versions.
+        const float ndithering = (dithering<0?0:dithering>1?1:dithering)/16;
+        Tfloat valm = 0, valM = (Tfloat)max_min(valm);
+        if (valm==valM && valm>=0 && valM<=255) { valm = 0; valM = 255; }
+        CImg<Tfloat> cache = get_crop(-1,0,0,0,_width,1,0,_spectrum - 1);
+        Tfloat *cache_current = cache.data(1,0,0,0), *cache_next = cache.data(1,1,0,0);
+        const unsigned long cwhd = (unsigned long)cache._width*cache._height*cache._depth;
+        switch (_spectrum) {
+        case 1 : { // Optimized for scalars.
+          cimg_forYZ(*this,y,z) {
+            if (y<height() - 2) {
+              Tfloat *ptrc0 = cache_next; const T *ptrs0 = data(0,y + 1,z,0);
+              cimg_forX(*this,x) *(ptrc0++) = (Tfloat)*(ptrs0++);
+            }
+            Tfloat *ptrs0 = cache_current, *ptrsn0 = cache_next;
+            cimg_forX(*this,x) {
+              const Tfloat _val0 = (Tfloat)*ptrs0, val0 = _val0<valm?valm:_val0>valM?valM:_val0;
+              Tfloat distmin = cimg::type<Tfloat>::max(); const t *ptrmin0 = colormap._data;
+              for (const t *ptrp0 = colormap._data, *ptrp_end = ptrp0 + pwhd; ptrp0<ptrp_end; ) {
+                const Tfloat pval0 = (Tfloat)*(ptrp0++) - val0, dist = pval0*pval0;
+                if (dist<distmin) { ptrmin0 = ptrp0 - 1; distmin = dist; }
+              }
+              const Tfloat err0 = ((*(ptrs0++)=val0) - (Tfloat)*ptrmin0)*ndithering;
+              *ptrs0+=7*err0; *(ptrsn0 - 1)+=3*err0; *(ptrsn0++)+=5*err0; *ptrsn0+=err0;
+              if (map_indexes) *(ptrd++) = (tuint)*ptrmin0; else *(ptrd++) = (tuint)(ptrmin0 - colormap._data);
+            }
+            cimg::swap(cache_current,cache_next);
+          }
+        } break;
+        case 2 : { // Optimized for 2d vectors.
+          tuint *ptrd1 = ptrd + whd;
+          cimg_forYZ(*this,y,z) {
+            if (y<height() - 2) {
+              Tfloat *ptrc0 = cache_next, *ptrc1 = ptrc0 + cwhd;
+              const T *ptrs0 = data(0,y + 1,z,0), *ptrs1 = ptrs0 + whd;
+              cimg_forX(*this,x) { *(ptrc0++) = (Tfloat)*(ptrs0++); *(ptrc1++) = (Tfloat)*(ptrs1++); }
+            }
+            Tfloat
+              *ptrs0 = cache_current, *ptrs1 = ptrs0 + cwhd,
+              *ptrsn0 = cache_next, *ptrsn1 = ptrsn0 + cwhd;
+            cimg_forX(*this,x) {
+              const Tfloat
+                _val0 = (Tfloat)*ptrs0, val0 = _val0<valm?valm:_val0>valM?valM:_val0,
+                _val1 = (Tfloat)*ptrs1, val1 = _val1<valm?valm:_val1>valM?valM:_val1;
+              Tfloat distmin = cimg::type<Tfloat>::max(); const t *ptrmin0 = colormap._data;
+              for (const t *ptrp0 = colormap._data, *ptrp1 = ptrp0 + pwhd, *ptrp_end = ptrp1; ptrp0<ptrp_end; ) {
+                const Tfloat
+                  pval0 = (Tfloat)*(ptrp0++) - val0, pval1 = (Tfloat)*(ptrp1++) - val1,
+                  dist = pval0*pval0 + pval1*pval1;
+                if (dist<distmin) { ptrmin0 = ptrp0 - 1; distmin = dist; }
+              }
+              const t *const ptrmin1 = ptrmin0 + pwhd;
+              const Tfloat
+                err0 = ((*(ptrs0++)=val0) - (Tfloat)*ptrmin0)*ndithering,
+                err1 = ((*(ptrs1++)=val1) - (Tfloat)*ptrmin1)*ndithering;
+              *ptrs0+=7*err0; *ptrs1+=7*err1;
+              *(ptrsn0 - 1)+=3*err0; *(ptrsn1 - 1)+=3*err1;
+              *(ptrsn0++)+=5*err0; *(ptrsn1++)+=5*err1;
+              *ptrsn0+=err0; *ptrsn1+=err1;
+              if (map_indexes) { *(ptrd++) = (tuint)*ptrmin0; *(ptrd1++) = (tuint)*ptrmin1; }
+              else *(ptrd++) = (tuint)(ptrmin0 - colormap._data);
+            }
+            cimg::swap(cache_current,cache_next);
+          }
+        } break;
+        case 3 : { // Optimized for 3d vectors (colors).
+          tuint *ptrd1 = ptrd + whd, *ptrd2 = ptrd1 + whd;
+          cimg_forYZ(*this,y,z) {
+            if (y<height() - 2) {
+              Tfloat *ptrc0 = cache_next, *ptrc1 = ptrc0 + cwhd, *ptrc2 = ptrc1 + cwhd;
+              const T *ptrs0 = data(0,y + 1,z,0), *ptrs1 = ptrs0 + whd, *ptrs2 = ptrs1 + whd;
+              cimg_forX(*this,x) {
+                *(ptrc0++) = (Tfloat)*(ptrs0++); *(ptrc1++) = (Tfloat)*(ptrs1++); *(ptrc2++) = (Tfloat)*(ptrs2++);
+              }
+            }
+            Tfloat
+              *ptrs0 = cache_current, *ptrs1 = ptrs0 + cwhd, *ptrs2 = ptrs1 + cwhd,
+              *ptrsn0 = cache_next, *ptrsn1 = ptrsn0 + cwhd, *ptrsn2 = ptrsn1 + cwhd;
+            cimg_forX(*this,x) {
+              const Tfloat
+                _val0 = (Tfloat)*ptrs0, val0 = _val0<valm?valm:_val0>valM?valM:_val0,
+                _val1 = (Tfloat)*ptrs1, val1 = _val1<valm?valm:_val1>valM?valM:_val1,
+                _val2 = (Tfloat)*ptrs2, val2 = _val2<valm?valm:_val2>valM?valM:_val2;
+              Tfloat distmin = cimg::type<Tfloat>::max(); const t *ptrmin0 = colormap._data;
+              for (const t *ptrp0 = colormap._data, *ptrp1 = ptrp0 + pwhd, *ptrp2 = ptrp1 + pwhd,
+                     *ptrp_end = ptrp1; ptrp0<ptrp_end; ) {
+                const Tfloat
+                  pval0 = (Tfloat)*(ptrp0++) - val0,
+                  pval1 = (Tfloat)*(ptrp1++) - val1,
+                  pval2 = (Tfloat)*(ptrp2++) - val2,
+                  dist = pval0*pval0 + pval1*pval1 + pval2*pval2;
+                if (dist<distmin) { ptrmin0 = ptrp0 - 1; distmin = dist; }
+              }
+              const t *const ptrmin1 = ptrmin0 + pwhd, *const ptrmin2 = ptrmin1 + pwhd;
+              const Tfloat
+                err0 = ((*(ptrs0++)=val0) - (Tfloat)*ptrmin0)*ndithering,
+                err1 = ((*(ptrs1++)=val1) - (Tfloat)*ptrmin1)*ndithering,
+                err2 = ((*(ptrs2++)=val2) - (Tfloat)*ptrmin2)*ndithering;
+
+              *ptrs0+=7*err0; *ptrs1+=7*err1; *ptrs2+=7*err2;
+              *(ptrsn0 - 1)+=3*err0; *(ptrsn1 - 1)+=3*err1; *(ptrsn2 - 1)+=3*err2;
+              *(ptrsn0++)+=5*err0; *(ptrsn1++)+=5*err1; *(ptrsn2++)+=5*err2;
+              *ptrsn0+=err0; *ptrsn1+=err1; *ptrsn2+=err2;
+
+              if (map_indexes) {
+                *(ptrd++) = (tuint)*ptrmin0; *(ptrd1++) = (tuint)*ptrmin1; *(ptrd2++) = (tuint)*ptrmin2;
+              } else *(ptrd++) = (tuint)(ptrmin0 - colormap._data);
+            }
+            cimg::swap(cache_current,cache_next);
+          }
+        } break;
+        default : // Generic version
+          cimg_forYZ(*this,y,z) {
+            if (y<height() - 2) {
+              Tfloat *ptrc = cache_next;
+              cimg_forC(*this,c) {
+                Tfloat *_ptrc = ptrc; const T *_ptrs = data(0,y + 1,z,c);
+                cimg_forX(*this,x) *(_ptrc++) = (Tfloat)*(_ptrs++);
+                ptrc+=cwhd;
+              }
+            }
+            Tfloat *ptrs = cache_current, *ptrsn = cache_next;
+            cimg_forX(*this,x) {
+              Tfloat distmin = cimg::type<Tfloat>::max(); const t *ptrmin = colormap._data;
+              for (const t *ptrp = colormap._data, *ptrp_end = ptrp + pwhd; ptrp<ptrp_end; ++ptrp) {
+                Tfloat dist = 0; Tfloat *_ptrs = ptrs; const t *_ptrp = ptrp;
+                cimg_forC(*this,c) {
+                  const Tfloat _val = *_ptrs, val = _val<valm?valm:_val>valM?valM:_val;
+                  dist+=cimg::sqr((*_ptrs=val) - (Tfloat)*_ptrp); _ptrs+=cwhd; _ptrp+=pwhd;
+                }
+                if (dist<distmin) { ptrmin = ptrp; distmin = dist; }
+              }
+              const t *_ptrmin = ptrmin; Tfloat *_ptrs = ptrs++, *_ptrsn = (ptrsn++) - 1;
+              cimg_forC(*this,c) {
+                const Tfloat err = (*(_ptrs++) - (Tfloat)*_ptrmin)*ndithering;
+                *_ptrs+=7*err; *(_ptrsn++)+=3*err; *(_ptrsn++)+=5*err; *_ptrsn+=err;
+                _ptrmin+=pwhd; _ptrs+=cwhd - 1; _ptrsn+=cwhd - 2;
+              }
+              if (map_indexes) {
+                tuint *_ptrd = ptrd++;
+                cimg_forC(*this,c) { *_ptrd = (tuint)*ptrmin; _ptrd+=whd; ptrmin+=pwhd; }
+              }
+              else *(ptrd++) = (tuint)(ptrmin - colormap._data);
+            }
+            cimg::swap(cache_current,cache_next);
+          }
+        }
+      } else { // Non-dithered versions
+        switch (_spectrum) {
+        case 1 : { // Optimized for scalars.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=64 && _height*_depth>=16 && pwhd>=16)
+#endif
+          cimg_forYZ(*this,y,z) {
+            tuint *ptrd = res.data(0,y,z);
+            for (const T *ptrs0 = data(0,y,z), *ptrs_end = ptrs0 + _width; ptrs0<ptrs_end; ) {
+              const Tfloat val0 = (Tfloat)*(ptrs0++);
+              Tfloat distmin = cimg::type<Tfloat>::max(); const t *ptrmin0 = colormap._data;
+              for (const t *ptrp0 = colormap._data, *ptrp_end = ptrp0 + pwhd; ptrp0<ptrp_end; ) {
+                const Tfloat pval0 = (Tfloat)*(ptrp0++) - val0, dist = pval0*pval0;
+                if (dist<distmin) { ptrmin0 = ptrp0 - 1; distmin = dist; }
+              }
+              if (map_indexes) *(ptrd++) = (tuint)*ptrmin0; else *(ptrd++) = (tuint)(ptrmin0 - colormap._data);
+            }
+          }
+        } break;
+        case 2 : { // Optimized for 2d vectors.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=64 && _height*_depth>=16 && pwhd>=16)
+#endif
+          cimg_forYZ(*this,y,z) {
+            tuint *ptrd = res.data(0,y,z), *ptrd1 = ptrd + whd;
+            for (const T *ptrs0 = data(0,y,z), *ptrs1 = ptrs0 + whd, *ptrs_end = ptrs0 + _width; ptrs0<ptrs_end; ) {
+              const Tfloat val0 = (Tfloat)*(ptrs0++), val1 = (Tfloat)*(ptrs1++);
+              Tfloat distmin = cimg::type<Tfloat>::max(); const t *ptrmin0 = colormap._data;
+              for (const t *ptrp0 = colormap._data, *ptrp1 = ptrp0 + pwhd, *ptrp_end = ptrp1; ptrp0<ptrp_end; ) {
+                const Tfloat
+                  pval0 = (Tfloat)*(ptrp0++) - val0, pval1 = (Tfloat)*(ptrp1++) - val1,
+                  dist = pval0*pval0 + pval1*pval1;
+                if (dist<distmin) { ptrmin0 = ptrp0 - 1; distmin = dist; }
+              }
+              if (map_indexes) { *(ptrd++) = (tuint)*ptrmin0; *(ptrd1++) = (tuint)*(ptrmin0 + pwhd); }
+              else *(ptrd++) = (tuint)(ptrmin0 - colormap._data);
+            }
+          }
+        } break;
+        case 3 : { // Optimized for 3d vectors (colors).
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=64 && _height*_depth>=16 && pwhd>=16)
+#endif
+          cimg_forYZ(*this,y,z) {
+            tuint *ptrd = res.data(0,y,z), *ptrd1 = ptrd + whd, *ptrd2 = ptrd1 + whd;
+            for (const T *ptrs0 = data(0,y,z), *ptrs1 = ptrs0 + whd, *ptrs2 = ptrs1 + whd,
+                   *ptrs_end = ptrs0 + _width; ptrs0<ptrs_end; ) {
+              const Tfloat val0 = (Tfloat)*(ptrs0++), val1 = (Tfloat)*(ptrs1++), val2 = (Tfloat)*(ptrs2++);
+              Tfloat distmin = cimg::type<Tfloat>::max(); const t *ptrmin0 = colormap._data;
+              for (const t *ptrp0 = colormap._data, *ptrp1 = ptrp0 + pwhd, *ptrp2 = ptrp1 + pwhd,
+                     *ptrp_end = ptrp1; ptrp0<ptrp_end; ) {
+                const Tfloat
+                  pval0 = (Tfloat)*(ptrp0++) - val0,
+                  pval1 = (Tfloat)*(ptrp1++) - val1,
+                  pval2 = (Tfloat)*(ptrp2++) - val2,
+                  dist = pval0*pval0 + pval1*pval1 + pval2*pval2;
+                if (dist<distmin) { ptrmin0 = ptrp0 - 1; distmin = dist; }
+              }
+              if (map_indexes) {
+                *(ptrd++) = (tuint)*ptrmin0;
+                *(ptrd1++) = (tuint)*(ptrmin0 + pwhd);
+                *(ptrd2++) = (tuint)*(ptrmin0 + 2*pwhd);
+              } else *(ptrd++) = (tuint)(ptrmin0 - colormap._data);
+            }
+          }
+        } break;
+        default : // Generic version.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=64 && _height*_depth>=16 && pwhd>=16)
+#endif
+          cimg_forYZ(*this,y,z) {
+            tuint *ptrd = res.data(0,y,z);
+            for (const T *ptrs = data(0,y,z), *ptrs_end = ptrs + _width; ptrs<ptrs_end; ++ptrs) {
+              Tfloat distmin = cimg::type<Tfloat>::max(); const t *ptrmin = colormap._data;
+              for (const t *ptrp = colormap._data, *ptrp_end = ptrp + pwhd; ptrp<ptrp_end; ++ptrp) {
+                Tfloat dist = 0; const T *_ptrs = ptrs; const t *_ptrp = ptrp;
+                cimg_forC(*this,c) { dist+=cimg::sqr((Tfloat)*_ptrs - (Tfloat)*_ptrp); _ptrs+=whd; _ptrp+=pwhd; }
+                if (dist<distmin) { ptrmin = ptrp; distmin = dist; }
+              }
+              if (map_indexes) {
+                tuint *_ptrd = ptrd++;
+                cimg_forC(*this,c) { *_ptrd = (tuint)*ptrmin; _ptrd+=whd; ptrmin+=pwhd; }
+              }
+              else *(ptrd++) = (tuint)(ptrmin - colormap._data);
+            }
+          }
+        }
+      }
+      return res;
+    }
+
+    //! Map predefined colormap on the scalar (indexed) image instance.
+    /**
+       \param colormap Multi-valued colormap used for mapping the indexes.
+       \param boundary_conditions The border condition type { 0=zero |  1=dirichlet | 2=periodic }.
+       \par Example
+       \code
+       const CImg<float> img("reference.jpg"),
+                         colormap1(3,1,1,3, 0,128,255, 0,128,255, 0,128,255),
+                         colormap2(3,1,1,3, 255,0,0, 0,255,0, 0,0,255),
+                         res = img.get_index(colormap1,0).map(colormap2);
+       (img,res).display();
+       \endcode
+       \image html ref_map.jpg
+    **/
+    template<typename t>
+    CImg<T>& map(const CImg<t>& colormap, const unsigned int boundary_conditions=0) {
+      return get_map(colormap,boundary_conditions).move_to(*this);
+    }
+
+    //! Map predefined colormap on the scalar (indexed) image instance \newinstance.
+    template<typename t>
+    CImg<t> get_map(const CImg<t>& colormap, const unsigned int boundary_conditions=0) const {
+      if (_spectrum!=1 && colormap._spectrum!=1)
+        throw CImgArgumentException(_cimg_instance
+                                    "map(): Instance and specified colormap (%u,%u,%u,%u,%p) "
+                                    "have incompatible dimensions.",
+                                    cimg_instance,
+                                    colormap._width,colormap._height,colormap._depth,colormap._spectrum,colormap._data);
+
+      const unsigned long
+        whd = (unsigned long)_width*_height*_depth,
+        pwhd = (unsigned long)colormap._width*colormap._height*colormap._depth;
+      CImg<t> res(_width,_height,_depth,colormap._spectrum==1?_spectrum:colormap._spectrum);
+      switch (colormap._spectrum) {
+
+      case 1 : { // Optimized for scalars.
+        const T *ptrs = _data;
+        switch (boundary_conditions) {
+        case 2 : // Periodic boundaries.
+          cimg_for(res,ptrd,t) {
+            const unsigned long ind = (unsigned long)*(ptrs++);
+            *ptrd = colormap[ind%pwhd];
+          } break;
+        case 1 : // Neumann boundaries.
+          cimg_for(res,ptrd,t) {
+            const long ind = (long)*(ptrs++);
+            *ptrd = colormap[ind<0?0:ind>=(long)pwhd?pwhd - 1:ind];
+          } break;
+        default : // Dirichlet boundaries.
+          cimg_for(res,ptrd,t) {
+            const unsigned long ind = (unsigned long)*(ptrs++);
+            *ptrd = ind<pwhd?colormap[ind]:(t)0;
+          }
+        }
+      } break;
+
+      case 2 : { // Optimized for 2d vectors.
+        switch (boundary_conditions) {
+        case 2 : { // Periodic boundaries.
+          const t *const ptrp0 = colormap._data, *ptrp1 = ptrp0 + pwhd;
+          t *ptrd0 = res._data, *ptrd1 = ptrd0 + whd;
+          for (const T *ptrs = _data, *ptrs_end = ptrs + whd; ptrs<ptrs_end; ) {
+            const unsigned long _ind = (unsigned long)*(ptrs++), ind = _ind%pwhd;
+            *(ptrd0++) = ptrp0[ind]; *(ptrd1++) = ptrp1[ind];
+          }
+        } break;
+        case 1 : { // Neumann boundaries.
+          const t *const ptrp0 = colormap._data, *ptrp1 = ptrp0 + pwhd;
+          t *ptrd0 = res._data, *ptrd1 = ptrd0 + whd;
+          for (const T *ptrs = _data, *ptrs_end = ptrs + whd; ptrs<ptrs_end; ) {
+            const long _ind = (long)*(ptrs++), ind = _ind<0?0:_ind>=(long)pwhd?(long)pwhd - 1:_ind;
+            *(ptrd0++) = ptrp0[ind]; *(ptrd1++) = ptrp1[ind];
+          }
+        } break;
+        default : { // Dirichlet boundaries.
+          const t *const ptrp0 = colormap._data, *ptrp1 = ptrp0 + pwhd;
+          t *ptrd0 = res._data, *ptrd1 = ptrd0 + whd;
+          for (const T *ptrs = _data, *ptrs_end = ptrs + whd; ptrs<ptrs_end; ) {
+            const unsigned long ind = (unsigned long)*(ptrs++);
+            const bool is_in = ind<pwhd;
+            *(ptrd0++) = is_in?ptrp0[ind]:(t)0; *(ptrd1++) = is_in?ptrp1[ind]:(t)0;
+          }
+        }
+        }
+      } break;
+
+      case 3 : { // Optimized for 3d vectors (colors).
+        switch (boundary_conditions) {
+        case 2 : { // Periodic boundaries.
+          const t *const ptrp0 = colormap._data, *ptrp1 = ptrp0 + pwhd, *ptrp2 = ptrp1 + pwhd;
+          t *ptrd0 = res._data, *ptrd1 = ptrd0 + whd, *ptrd2 = ptrd1 + whd;
+          for (const T *ptrs = _data, *ptrs_end = ptrs + whd; ptrs<ptrs_end; ) {
+            const unsigned long _ind = (unsigned long)*(ptrs++), ind = _ind%pwhd;
+            *(ptrd0++) = ptrp0[ind]; *(ptrd1++) = ptrp1[ind]; *(ptrd2++) = ptrp2[ind];
+          }
+        } break;
+        case 1 : { // Neumann boundaries.
+          const t *const ptrp0 = colormap._data, *ptrp1 = ptrp0 + pwhd, *ptrp2 = ptrp1 + pwhd;
+          t *ptrd0 = res._data, *ptrd1 = ptrd0 + whd, *ptrd2 = ptrd1 + whd;
+          for (const T *ptrs = _data, *ptrs_end = ptrs + whd; ptrs<ptrs_end; ) {
+            const long _ind = (long)*(ptrs++), ind = _ind<0?0:_ind>=(long)pwhd?(long)pwhd - 1:_ind;
+            *(ptrd0++) = ptrp0[ind]; *(ptrd1++) = ptrp1[ind]; *(ptrd2++) = ptrp2[ind];
+          }
+        } break;
+        default : { // Dirichlet boundaries.
+          const t *const ptrp0 = colormap._data, *ptrp1 = ptrp0 + pwhd, *ptrp2 = ptrp1 + pwhd;
+          t *ptrd0 = res._data, *ptrd1 = ptrd0 + whd, *ptrd2 = ptrd1 + whd;
+          for (const T *ptrs = _data, *ptrs_end = ptrs + whd; ptrs<ptrs_end; ) {
+            const unsigned long ind = (unsigned long)*(ptrs++);
+            const bool is_in = ind<pwhd;
+            *(ptrd0++) = is_in?ptrp0[ind]:(t)0; *(ptrd1++) = is_in?ptrp1[ind]:(t)0; *(ptrd2++) = is_in?ptrp2[ind]:(t)0;
+          }
+        }
+        }
+      } break;
+
+      default : { // Generic version.
+        switch (boundary_conditions) {
+        case 2 : { // Periodic boundaries.
+          t *ptrd = res._data;
+          for (const T *ptrs = _data, *ptrs_end = ptrs + whd; ptrs<ptrs_end; ) {
+            const unsigned long _ind = (unsigned long)*(ptrs++), ind = _ind%pwhd;
+            const t *ptrp = colormap._data + ind;
+            t *_ptrd = ptrd++; cimg_forC(res,c) { *_ptrd = *ptrp; _ptrd+=whd; ptrp+=pwhd; }
+          }
+        } break;
+        case 1 : { // Neumann boundaries.
+          t *ptrd = res._data;
+          for (const T *ptrs = _data, *ptrs_end = ptrs + whd; ptrs<ptrs_end; ) {
+            const long _ind = (long)*(ptrs++), ind = _ind<0?0:_ind>=(long)pwhd?(long)pwhd - 1:_ind;
+            const t *ptrp = colormap._data + ind;
+            t *_ptrd = ptrd++; cimg_forC(res,c) { *_ptrd = *ptrp; _ptrd+=whd; ptrp+=pwhd; }
+          }
+        } break;
+        default : { // Dirichlet boundaries.
+          t *ptrd = res._data;
+          for (const T *ptrs = _data, *ptrs_end = ptrs + whd; ptrs<ptrs_end; ) {
+            const unsigned long ind = (unsigned long)*(ptrs++);
+            const bool is_in = ind<pwhd;
+            if (is_in) {
+              const t *ptrp = colormap._data + ind;
+              t *_ptrd = ptrd++; cimg_forC(res,c) { *_ptrd = *ptrp; _ptrd+=whd; ptrp+=pwhd; }
+            } else {
+              t *_ptrd = ptrd++; cimg_forC(res,c) { *_ptrd = (t)0; _ptrd+=whd; }
+            }
+          }
+        }
+        }
+      }
+      }
+      return res;
+    }
+
+    //! Label connected components.
+    /**
+       \param is_high_connectivity Boolean that choose between 4(false)- or 8(true)-connectivity
+       in 2d case, and between 6(false)- or 26(true)-connectivity in 3d case.
+       \param tolerance Tolerance used to determine if two neighboring pixels belong to the same region.
+       \note The algorithm of connected components computation has been primarily done
+       by A. Meijster, according to the publication:
+       'W.H. Hesselink, A. Meijster, C. Bron, "Concurrent Determination of Connected Components.",
+       In: Science of Computer Programming 41 (2001), pp. 173--194'.
+       The submitted code has then been modified to fit CImg coding style and constraints.
+    **/
+    CImg<T>& label(const bool is_high_connectivity=false, const Tfloat tolerance=0) {
+      return get_label(is_high_connectivity,tolerance).move_to(*this);
+    }
+
+    //! Label connected components \newinstance.
+    CImg<unsigned long> get_label(const bool is_high_connectivity=false,
+                                  const Tfloat tolerance=0) const {
+      if (is_empty()) return CImg<unsigned long>();
+
+      // Create neighborhood tables.
+      int dx[13], dy[13], dz[13], nb = 0;
+      dx[nb] = 1; dy[nb] = 0; dz[nb++] = 0;
+      dx[nb] = 0; dy[nb] = 1; dz[nb++] = 0;
+      if (is_high_connectivity) {
+        dx[nb] = 1; dy[nb] = 1; dz[nb++] = 0;
+        dx[nb] = 1; dy[nb] = -1; dz[nb++] = 0;
+      }
+      if (_depth>1) { // 3d version.
+        dx[nb] = 0; dy[nb] = 0; dz[nb++]=1;
+        if (is_high_connectivity) {
+          dx[nb] = 1; dy[nb] = 1; dz[nb++] = -1;
+          dx[nb] = 1; dy[nb] = 0; dz[nb++] = -1;
+          dx[nb] = 1; dy[nb] = -1; dz[nb++] = -1;
+          dx[nb] = 0; dy[nb] = 1; dz[nb++] = -1;
+
+          dx[nb] = 0; dy[nb] = 1; dz[nb++] = 1;
+          dx[nb] = 1; dy[nb] = -1; dz[nb++] = 1;
+          dx[nb] = 1; dy[nb] = 0; dz[nb++] = 1;
+          dx[nb] = 1; dy[nb] = 1; dz[nb++] = 1;
+        }
+      }
+      return _get_label(nb,dx,dy,dz,tolerance);
+    }
+
+    //! Label connected components \overloading.
+    /**
+       \param connectivity_mask Mask of the neighboring pixels.
+       \param tolerance Tolerance used to determine if two neighboring pixels belong to the same region.
+    **/
+    template<typename t>
+    CImg<T>& label(const CImg<t>& connectivity_mask, const Tfloat tolerance=0) {
+      return get_label(connectivity_mask,tolerance).move_to(*this);
+    }
+
+    //! Label connected components \newinstance.
+    template<typename t>
+    CImg<unsigned long> get_label(const CImg<t>& connectivity_mask,
+                                  const Tfloat tolerance=0) const {
+      int nb = 0;
+      cimg_for(connectivity_mask,ptr,t) if (*ptr) ++nb;
+      CImg<intT> dx(nb,1,1,1,0), dy(nb,1,1,1,0), dz(nb,1,1,1,0);
+      nb = 0;
+      cimg_forXYZ(connectivity_mask,x,y,z) if ((x || y || z) &&
+                                               connectivity_mask(x,y,z)) {
+        dx[nb] = x; dy[nb] = y; dz[nb++] = z;
+      }
+      return _get_label(nb,dx,dy,dz,tolerance);
+    }
+
+    CImg<unsigned long> _get_label(const unsigned int nb, const int
+                                   *const dx, const int *const dy, const int *const dz,
+                                   const Tfloat tolerance) const {
+      CImg<unsigned long> res(_width,_height,_depth,_spectrum);
+      cimg_forC(*this,c) {
+        CImg<unsigned long> _res = res.get_shared_channel(c);
+
+        // Init label numbers.
+        unsigned long *ptr = _res.data();
+        cimg_foroff(_res,p) *(ptr++) = p;
+
+        // For each neighbour-direction, label.
+        for (unsigned int n = 0; n<nb; ++n) {
+          const int _dx = dx[n], _dy = dy[n], _dz = dz[n];
+          if (_dx || _dy || _dz) {
+            const int
+              x0 = _dx<0?-_dx:0,
+              x1 = _dx<0?width():width() - _dx,
+              y0 = _dy<0?-_dy:0,
+              y1 = _dy<0?height():height() - _dy,
+              z0 = _dz<0?-_dz:0,
+              z1 = _dz<0?depth():depth() - _dz;
+            const long
+              wh = width()*height(),
+              whd = width()*height()*depth(),
+              offset = _dz*wh + _dy*width() + _dx;
+            for (long z = z0, nz = z0 + _dz, pz = z0*wh; z<z1; ++z, ++nz, pz+=wh) {
+              for (long y = y0, ny = y0 + _dy, py = y0*width() + pz; y<y1; ++y, ++ny, py+=width()) {
+                for (long x = x0, nx = x0 + _dx, p = x0 + py; x<x1; ++x, ++nx, ++p) {
+                  if ((Tfloat)cimg::abs((*this)(x,y,z,c,wh,whd) - (*this)(nx,ny,nz,c,wh,whd))<=tolerance) {
+                    const long q = p + offset;
+                    unsigned long x, y;
+                    for (x = (unsigned long)(p<q?q:p), y = (unsigned long)(p<q?p:q); x!=y && _res[x]!=x; ) {
+                      x = _res[x]; if (x<y) cimg::swap(x,y);
+                    }
+                    if (x!=y) _res[x] = (unsigned long)y;
+                    for (unsigned long _p = (unsigned long)p; _p!=y; ) {
+                      const unsigned long h = _res[_p];
+                      _res[_p] = (unsigned long)y;
+                      _p = h;
+                    }
+                    for (unsigned long _q = (unsigned long)q; _q!=y; ) {
+                      const unsigned long h = _res[_q];
+                      _res[_q] = (unsigned long)y;
+                      _q = h;
+                    }
+                  }
+                }
+              }
+            }
+          }
+        }
+
+        // Resolve equivalences.
+        unsigned long counter = 0;
+        ptr = _res.data();
+        cimg_foroff(_res,p) { *ptr = *ptr==p?counter++:_res[*ptr]; ++ptr; }
+      }
+      return res;
+    }
+
+    // [internal] Replace possibly malicious characters for commands to be called by system() by their escaped version.
+    CImg<T>& _system_strescape() {
+#define cimg_system_strescape(c,s) case c : if (p!=ptrs) CImg<T>(ptrs,(unsigned int)(p-ptrs),1,1,1,false).\
+      move_to(list); \
+      CImg<T>(s,(unsigned int)std::strlen(s),1,1,1,false).move_to(list); ptrs = p + 1; break
+      CImgList<T> list;
+      const T *ptrs = _data;
+      cimg_for(*this,p,T) switch ((int)*p) {
+        cimg_system_strescape('\\',"\\\\");
+        cimg_system_strescape('\"',"\\\"");
+        cimg_system_strescape('!',"\"\\!\"");
+        cimg_system_strescape('`',"\\`");
+        cimg_system_strescape('$',"\\$");
+      }
+      if (ptrs<end()) CImg<T>(ptrs,(unsigned int)(end()-ptrs),1,1,1,false).move_to(list);
+      return (list>'x').move_to(*this);
+    }
+
+    //@}
+    //---------------------------------
+    //
+    //! \name Color Base Management
+    //@{
+    //---------------------------------
+
+    //! Return colormap \e "default", containing 256 colors entries in RGB.
+    /**
+       \return The following \c 256x1x1x3 colormap is returned:
+       \image html ref_colormap_default.jpg
+    **/
+    static const CImg<Tuchar>& default_LUT256() {
+      static CImg<Tuchar> colormap;
+      cimg::mutex(8);
+      if (!colormap) {
+        colormap.assign(1,256,1,3);
+        for (unsigned int index = 0, r = 16; r<256; r+=32)
+          for (unsigned int g = 16; g<256; g+=32)
+            for (unsigned int b = 32; b<256; b+=64) {
+              colormap(0,index,0) = (Tuchar)r;
+              colormap(0,index,1) = (Tuchar)g;
+              colormap(0,index++,2) = (Tuchar)b;
+            }
+      }
+      cimg::mutex(8,0);
+      return colormap;
+    }
+
+    //! Return colormap \e "HSV", containing 256 colors entries in RGB.
+    /**
+       \return The following \c 256x1x1x3 colormap is returned:
+       \image html ref_colormap_hsv.jpg
+    **/
+    static const CImg<Tuchar>& HSV_LUT256() {
+      static CImg<Tuchar> colormap;
+      cimg::mutex(8);
+      if (!colormap) {
+        CImg<Tint> tmp(1,256,1,3,1);
+        tmp.get_shared_channel(0).sequence(0,359);
+        colormap = tmp.HSVtoRGB();
+      }
+      cimg::mutex(8,0);
+      return colormap;
+    }
+
+    //! Return colormap \e "lines", containing 256 colors entries in RGB.
+    /**
+       \return The following \c 256x1x1x3 colormap is returned:
+       \image html ref_colormap_lines.jpg
+    **/
+    static const CImg<Tuchar>& lines_LUT256() {
+      static const unsigned char pal[] = {
+        217,62,88,75,1,237,240,12,56,160,165,116,1,1,204,2,15,248,148,185,133,141,46,246,222,116,16,5,207,226,
+        17,114,247,1,214,53,238,0,95,55,233,235,109,0,17,54,33,0,90,30,3,0,94,27,19,0,68,212,166,130,0,15,7,119,
+        238,2,246,198,0,3,16,10,13,2,25,28,12,6,2,99,18,141,30,4,3,140,12,4,30,233,7,10,0,136,35,160,168,184,20,
+        233,0,1,242,83,90,56,180,44,41,0,6,19,207,5,31,214,4,35,153,180,75,21,76,16,202,218,22,17,2,136,71,74,
+        81,251,244,148,222,17,0,234,24,0,200,16,239,15,225,102,230,186,58,230,110,12,0,7,129,249,22,241,37,219,
+        1,3,254,210,3,212,113,131,197,162,123,252,90,96,209,60,0,17,0,180,249,12,112,165,43,27,229,77,40,195,12,
+        87,1,210,148,47,80,5,9,1,137,2,40,57,205,244,40,8,252,98,0,40,43,206,31,187,0,180,1,69,70,227,131,108,0,
+        223,94,228,35,248,243,4,16,0,34,24,2,9,35,73,91,12,199,51,1,249,12,103,131,20,224,2,70,32,
+        233,1,165,3,8,154,246,233,196,5,0,6,183,227,247,195,208,36,0,0,226,160,210,198,69,153,210,1,23,8,192,2,4,
+        137,1,0,52,2,249,241,129,0,0,234,7,238,71,7,32,15,157,157,252,158,2,250,6,13,30,11,162,0,199,21,11,27,224,
+        4,157,20,181,111,187,218,3,0,11,158,230,196,34,223,22,248,135,254,210,157,219,0,117,239,3,255,4,227,5,247,
+        11,4,3,188,111,11,105,195,2,0,14,1,21,219,192,0,183,191,113,241,1,12,17,248,0,48,7,19,1,254,212,0,239,246,
+        0,23,0,250,165,194,194,17,3,253,0,24,6,0,141,167,221,24,212,2,235,243,0,0,205,1,251,133,204,28,4,6,1,10,
+        141,21,74,12,236,254,228,19,1,0,214,1,186,13,13,6,13,16,27,209,6,216,11,207,251,59,32,9,155,23,19,235,143,
+        116,6,213,6,75,159,23,6,0,228,4,10,245,249,1,7,44,234,4,102,174,0,19,239,103,16,15,18,8,214,22,4,47,244,
+        255,8,0,251,173,1,212,252,250,251,252,6,0,29,29,222,233,246,5,149,0,182,180,13,151,0,203,183,0,35,149,0,
+        235,246,254,78,9,17,203,73,11,195,0,3,5,44,0,0,237,5,106,6,130,16,214,20,168,247,168,4,207,11,5,1,232,251,
+        129,210,116,231,217,223,214,27,45,38,4,177,186,249,7,215,172,16,214,27,249,230,236,2,34,216,217,0,175,30,
+        243,225,244,182,20,212,2,226,21,255,20,0,2,13,62,13,191,14,76,64,20,121,4,118,0,216,1,147,0,2,210,1,215,
+        95,210,236,225,184,46,0,248,24,11,1,9,141,250,243,9,221,233,160,11,147,2,55,8,23,12,253,9,0,54,0,231,6,3,
+        141,8,2,246,9,180,5,11,8,227,8,43,110,242,1,130,5,97,36,10,6,219,86,133,11,108,6,1,5,244,67,19,28,0,174,
+        154,16,127,149,252,188,196,196,228,244,9,249,0,0,0,37,170,32,250,0,73,255,23,3,224,234,38,195,198,0,255,87,
+        33,221,174,31,3,0,189,228,6,153,14,144,14,108,197,0,9,206,245,254,3,16,253,178,248,0,95,125,8,0,3,168,21,
+        23,168,19,50,240,244,185,0,1,144,10,168,31,82,1,13 };
+      static const CImg<Tuchar> colormap(pal,1,256,1,3,false);
+      return colormap;
+    }
+
+    //! Return colormap \e "hot", containing 256 colors entries in RGB.
+    /**
+       \return The following \c 256x1x1x3 colormap is returned:
+       \image html ref_colormap_hot.jpg
+    **/
+    static const CImg<Tuchar>& hot_LUT256() {
+      static CImg<Tuchar> colormap;
+      cimg::mutex(8);
+      if (!colormap) {
+        colormap.assign(1,4,1,3,0);
+        colormap[1] = colormap[2] = colormap[3] = colormap[6] = colormap[7] = colormap[11] = 255;
+        colormap.resize(1,256,1,3,3);
+      }
+      cimg::mutex(8,0);
+      return colormap;
+    }
+
+    //! Return colormap \e "cool", containing 256 colors entries in RGB.
+    /**
+       \return The following \c 256x1x1x3 colormap is returned:
+       \image html ref_colormap_cool.jpg
+    **/
+    static const CImg<Tuchar>& cool_LUT256() {
+      static CImg<Tuchar> colormap;
+      cimg::mutex(8);
+      if (!colormap) colormap.assign(1,2,1,3).fill(0,255,255,0,255,255).resize(1,256,1,3,3);
+      cimg::mutex(8,0);
+      return colormap;
+    }
+
+    //! Return colormap \e "jet", containing 256 colors entries in RGB.
+    /**
+       \return The following \c 256x1x1x3 colormap is returned:
+       \image html ref_colormap_jet.jpg
+    **/
+    static const CImg<Tuchar>& jet_LUT256() {
+      static CImg<Tuchar> colormap;
+      cimg::mutex(8);
+      if (!colormap) {
+        colormap.assign(1,4,1,3,0);
+        colormap[2] = colormap[3] = colormap[5] = colormap[6] = colormap[8] = colormap[9] = 255;
+        colormap.resize(1,256,1,3,3);
+      }
+      cimg::mutex(8,0);
+      return colormap;
+    }
+
+    //! Return colormap \e "flag", containing 256 colors entries in RGB.
+    /**
+       \return The following \c 256x1x1x3 colormap is returned:
+       \image html ref_colormap_flag.jpg
+    **/
+    static const CImg<Tuchar>& flag_LUT256() {
+      static CImg<Tuchar> colormap;
+      cimg::mutex(8);
+      if (!colormap) {
+        colormap.assign(1,4,1,3,0);
+        colormap[0] = colormap[1] = colormap[5] = colormap[9] = colormap[10] = 255;
+        colormap.resize(1,256,1,3,0,2);
+      }
+      cimg::mutex(8,0);
+      return colormap;
+    }
+
+    //! Return colormap \e "cube", containing 256 colors entries in RGB.
+    /**
+       \return The following \c 256x1x1x3 colormap is returned:
+       \image html ref_colormap_cube.jpg
+    **/
+    static const CImg<Tuchar>& cube_LUT256() {
+      static CImg<Tuchar> colormap;
+      cimg::mutex(8);
+      if (!colormap) {
+        colormap.assign(1,8,1,3,0);
+        colormap[1] = colormap[3] = colormap[5] = colormap[7] =
+          colormap[10] = colormap[11] = colormap[12] = colormap[13] =
+          colormap[20] = colormap[21] = colormap[22] = colormap[23] = 255;
+        colormap.resize(1,256,1,3,3);
+      }
+      cimg::mutex(8,0);
+      return colormap;
+    }
+
+    //! Convert pixel values from sRGB to RGB color spaces.
+    CImg<T>& sRGBtoRGB() {
+      cimg_for(*this,ptr,T) {
+        const Tfloat
+          sval = (Tfloat)*ptr,
+          nsval = (sval<0?0:sval>255?255:sval)/255,
+          val = (Tfloat)(nsval<=0.04045f?nsval/12.92f:std::pow((nsval + 0.055f)/(1.055f),2.4f));
+        *ptr = (T)(val*255);
+      }
+      return *this;
+    }
+
+    //! Convert pixel values from sRGB to RGB color spaces \newinstance.
+    CImg<Tfloat> get_sRGBtoRGB() const {
+      return CImg<Tfloat>(*this,false).sRGBtoRGB();
+    }
+
+    //! Convert pixel values from RGB to sRGB color spaces.
+    CImg<T>& RGBtosRGB() {
+      cimg_for(*this,ptr,T) {
+        const Tfloat
+          val = (Tfloat)*ptr,
+          nval = (val<0?0:val>255?255:val)/255,
+          sval = (Tfloat)(nval<=0.0031308f?nval*12.92f:1.055f*std::pow(nval,0.416667f)-0.055f);
+        *ptr = (T)(sval*255);
+      }
+      return *this;
+    }
+
+    //! Convert pixel values from RGB to sRGB color spaces \newinstance.
+    CImg<Tfloat> get_RGBtosRGB() const {
+      return CImg<Tfloat>(*this,false).RGBtosRGB();
+    }
+
+    //! Convert pixel values from RGB to HSV color spaces.
+    CImg<T>& RGBtoHSV() {
+      if (_spectrum!=3)
+        throw CImgInstanceException(_cimg_instance
+                                    "RGBtoHSV(): Instance is not a RGB image.",
+                                    cimg_instance);
+
+      T *p1 = data(0,0,0,0), *p2 = data(0,0,0,1), *p3 = data(0,0,0,2);
+      for (unsigned long N = (unsigned long)_width*_height*_depth; N; --N) {
+        const Tfloat
+          R = (Tfloat)*p1,
+          G = (Tfloat)*p2,
+          B = (Tfloat)*p3,
+          nR = (R<0?0:(R>255?255:R))/255,
+          nG = (G<0?0:(G>255?255:G))/255,
+          nB = (B<0?0:(B>255?255:B))/255,
+          m = cimg::min(nR,nG,nB),
+          M = cimg::max(nR,nG,nB);
+        Tfloat H = 0, S = 0;
+        if (M!=m) {
+          const Tfloat
+            f = (nR==m)?(nG-nB):((nG==m)?(nB-nR):(nR-nG)),
+            i = (Tfloat)((nR==m)?3:((nG==m)?5:1));
+          H = (i-f/(M-m));
+          if (H>=6) H-=6;
+          H*=60;
+          S = (M-m)/M;
+        }
+        *(p1++) = (T)H;
+        *(p2++) = (T)S;
+        *(p3++) = (T)M;
+      }
+      return *this;
+    }
+
+    //! Convert pixel values from RGB to HSV color spaces \newinstance.
+    CImg<Tfloat> get_RGBtoHSV() const {
+      return CImg<Tfloat>(*this,false).RGBtoHSV();
+    }
+
+    //! Convert pixel values from HSV to RGB color spaces.
+    CImg<T>& HSVtoRGB() {
+      if (_spectrum!=3)
+        throw CImgInstanceException(_cimg_instance
+                                    "HSVtoRGB(): Instance is not a HSV image.",
+                                    cimg_instance);
+
+      T *p1 = data(0,0,0,0), *p2 = data(0,0,0,1), *p3 = data(0,0,0,2);
+      for (unsigned long N = (unsigned long)_width*_height*_depth; N; --N) {
+        Tfloat
+          H = cimg::mod((Tfloat)*p1,(Tfloat)360),
+          S = (Tfloat)*p2,
+          V = (Tfloat)*p3,
+          R = 0, G = 0, B = 0;
+        if (H==0 && S==0) R = G = B = V;
+        else {
+          H/=60;
+          const int i = (int)std::floor(H);
+          const Tfloat
+            f = (i&1)?(H - i):(1 - H + i),
+            m = V*(1 - S),
+            n = V*(1 - S*f);
+          switch (i) {
+          case 6 :
+          case 0 : R = V; G = n; B = m; break;
+          case 1 : R = n; G = V; B = m; break;
+          case 2 : R = m; G = V; B = n; break;
+          case 3 : R = m; G = n; B = V; break;
+          case 4 : R = n; G = m; B = V; break;
+          case 5 : R = V; G = m; B = n; break;
+          }
+        }
+        R*=255; G*=255; B*=255;
+        *(p1++) = (T)(R<0?0:(R>255?255:R));
+        *(p2++) = (T)(G<0?0:(G>255?255:G));
+        *(p3++) = (T)(B<0?0:(B>255?255:B));
+      }
+      return *this;
+    }
+
+    //! Convert pixel values from HSV to RGB color spaces \newinstance.
+    CImg<Tuchar> get_HSVtoRGB() const {
+      return CImg<Tuchar>(*this,false).HSVtoRGB();
+    }
+
+    //! Convert pixel values from RGB to HSL color spaces.
+    CImg<T>& RGBtoHSL() {
+      if (_spectrum!=3)
+        throw CImgInstanceException(_cimg_instance
+                                    "RGBtoHSL(): Instance is not a RGB image.",
+                                    cimg_instance);
+
+      T *p1 = data(0,0,0,0), *p2 = data(0,0,0,1), *p3 = data(0,0,0,2);
+      for (unsigned long N = (unsigned long)_width*_height*_depth; N; --N) {
+        const Tfloat
+          R = (Tfloat)*p1,
+          G = (Tfloat)*p2,
+          B = (Tfloat)*p3,
+          nR = (R<0?0:(R>255?255:R))/255,
+          nG = (G<0?0:(G>255?255:G))/255,
+          nB = (B<0?0:(B>255?255:B))/255,
+          m = cimg::min(nR,nG,nB),
+          M = cimg::max(nR,nG,nB),
+          L = (m + M)/2;
+        Tfloat H = 0, S = 0;
+        if (M==m) H = S = 0;
+        else {
+          const Tfloat
+            f = (nR==m)?(nG-nB):((nG==m)?(nB-nR):(nR-nG)),
+            i = (nR==m)?3.0f:((nG==m)?5.0f:1.0f);
+          H = (i-f/(M-m));
+          if (H>=6) H-=6;
+          H*=60;
+          S = (2*L<=1)?((M - m)/(M + m)):((M - m)/(2 - M - m));
+        }
+        *(p1++) = (T)H;
+        *(p2++) = (T)S;
+        *(p3++) = (T)L;
+      }
+      return *this;
+    }
+
+    //! Convert pixel values from RGB to HSL color spaces \newinstance.
+    CImg<Tfloat> get_RGBtoHSL() const {
+      return CImg< Tfloat>(*this,false).RGBtoHSL();
+    }
+
+    //! Convert pixel values from HSL to RGB color spaces.
+    CImg<T>& HSLtoRGB() {
+      if (_spectrum!=3)
+        throw CImgInstanceException(_cimg_instance
+                                    "HSLtoRGB(): Instance is not a HSL image.",
+                                    cimg_instance);
+
+      T *p1 = data(0,0,0,0), *p2 = data(0,0,0,1), *p3 = data(0,0,0,2);
+      for (unsigned long N = (unsigned long)_width*_height*_depth; N; --N) {
+        const Tfloat
+          H = cimg::mod((Tfloat)*p1,(Tfloat)360),
+          S = (Tfloat)*p2,
+          L = (Tfloat)*p3,
+          q = 2*L<1?L*(1 + S):(L + S - L*S),
+          p = 2*L - q,
+          h = H/360,
+          tr = h + 1.0f/3,
+          tg = h,
+          tb = h - 1.0f/3,
+          ntr = tr<0?tr + 1:(tr>1?tr - 1:tr),
+          ntg = tg<0?tg + 1:(tg>1?tg - 1:tg),
+          ntb = tb<0?tb + 1:(tb>1?tb - 1:tb),
+          R = 255*(6*ntr<1?p + (q - p)*6*ntr:(2*ntr<1?q:(3*ntr<2?p + (q - p)*6*(2.0f/3 - ntr):p))),
+          G = 255*(6*ntg<1?p + (q - p)*6*ntg:(2*ntg<1?q:(3*ntg<2?p + (q - p)*6*(2.0f/3 - ntg):p))),
+          B = 255*(6*ntb<1?p + (q - p)*6*ntb:(2*ntb<1?q:(3*ntb<2?p + (q - p)*6*(2.0f/3 - ntb):p)));
+        *(p1++) = (T)(R<0?0:(R>255?255:R));
+        *(p2++) = (T)(G<0?0:(G>255?255:G));
+        *(p3++) = (T)(B<0?0:(B>255?255:B));
+      }
+      return *this;
+    }
+
+    //! Convert pixel values from HSL to RGB color spaces \newinstance.
+    CImg<Tuchar> get_HSLtoRGB() const {
+      return CImg<Tuchar>(*this,false).HSLtoRGB();
+    }
+
+    //! Convert pixel values from RGB to HSI color spaces.
+    CImg<T>& RGBtoHSI() {
+      if (_spectrum!=3)
+        throw CImgInstanceException(_cimg_instance
+                                    "RGBtoHSI(): Instance is not a RGB image.",
+                                    cimg_instance);
+
+      T *p1 = data(0,0,0,0), *p2 = data(0,0,0,1), *p3 = data(0,0,0,2);
+      for (unsigned long N = (unsigned long)_width*_height*_depth; N; --N) {
+        const Tfloat
+          R = (Tfloat)*p1,
+          G = (Tfloat)*p2,
+          B = (Tfloat)*p3,
+          nR = (R<0?0:(R>255?255:R))/255,
+          nG = (G<0?0:(G>255?255:G))/255,
+          nB = (B<0?0:(B>255?255:B))/255,
+          m = cimg::min(nR,nG,nB),
+          theta = (Tfloat)(std::acos(0.5f*((nR - nG) + (nR - nB))/
+                                     std::sqrt(std::pow(nR - nG,2) + (nR - nB)*(nG - nB)))*180/cimg::PI),
+          sum = nR + nG + nB;
+        Tfloat H = 0, S = 0, I = 0;
+        if (theta>0) H = (nB<=nG)?theta:360 - theta;
+        if (sum>0) S = 1 - 3/sum*m;
+        I = sum/3;
+        *(p1++) = (T)H;
+        *(p2++) = (T)S;
+        *(p3++) = (T)I;
+      }
+      return *this;
+    }
+
+    //! Convert pixel values from RGB to HSI color spaces \newinstance.
+    CImg<Tfloat> get_RGBtoHSI() const {
+      return CImg<Tfloat>(*this,false).RGBtoHSI();
+    }
+
+    //! Convert pixel values from HSI to RGB color spaces.
+    CImg<T>& HSItoRGB() {
+      if (_spectrum!=3)
+        throw CImgInstanceException(_cimg_instance
+                                    "HSItoRGB(): Instance is not a HSI image.",
+                                    cimg_instance);
+
+      T *p1 = data(0,0,0,0), *p2 = data(0,0,0,1), *p3 = data(0,0,0,2);
+      for (unsigned long N = (unsigned long)_width*_height*_depth; N; --N) {
+        Tfloat
+          H = cimg::mod((Tfloat)*p1,(Tfloat)360),
+          S = (Tfloat)*p2,
+          I = (Tfloat)*p3,
+          a = I*(1-S),
+          R = 0, G = 0, B = 0;
+        if (H<120) {
+          B = a;
+          R = (Tfloat)(I*(1 + S*std::cos(H*cimg::PI/180)/std::cos((60 - H)*cimg::PI/180)));
+          G = 3*I - (R + B);
+        } else if (H<240) {
+          H-=120;
+          R = a;
+          G = (Tfloat)(I*(1 + S*std::cos(H*cimg::PI/180)/std::cos((60 - H)*cimg::PI/180)));
+          B = 3*I - (R + G);
+        } else {
+          H-=240;
+          G = a;
+          B = (Tfloat)(I*(1 + S*std::cos(H*cimg::PI/180)/std::cos((60 - H)*cimg::PI/180)));
+          R = 3*I - (G + B);
+        }
+        R*=255; G*=255; B*=255;
+        *(p1++) = (T)(R<0?0:(R>255?255:R));
+        *(p2++) = (T)(G<0?0:(G>255?255:G));
+        *(p3++) = (T)(B<0?0:(B>255?255:B));
+      }
+      return *this;
+    }
+
+    //! Convert pixel values from HSI to RGB color spaces \newinstance.
+    CImg<Tfloat> get_HSItoRGB() const {
+      return CImg< Tuchar>(*this,false).HSItoRGB();
+    }
+
+    //! Convert pixel values from RGB to YCbCr color spaces.
+    CImg<T>& RGBtoYCbCr() {
+      if (_spectrum!=3)
+        throw CImgInstanceException(_cimg_instance
+                                    "RGBtoYCbCr(): Instance is not a RGB image.",
+                                    cimg_instance);
+
+      T *p1 = data(0,0,0,0), *p2 = data(0,0,0,1), *p3 = data(0,0,0,2);
+      for (unsigned long N = (unsigned long)_width*_height*_depth; N; --N) {
+        const Tfloat
+          R = (Tfloat)*p1,
+          G = (Tfloat)*p2,
+          B = (Tfloat)*p3,
+          Y = (66*R + 129*G + 25*B + 128)/256 + 16,
+          Cb = (-38*R - 74*G + 112*B + 128)/256 + 128,
+          Cr = (112*R - 94*G - 18*B + 128)/256 + 128;
+        *(p1++) = (T)(Y<0?0:(Y>255?255:Y));
+        *(p2++) = (T)(Cb<0?0:(Cb>255?255:Cb));
+        *(p3++) = (T)(Cr<0?0:(Cr>255?255:Cr));
+      }
+      return *this;
+    }
+
+    //! Convert pixel values from RGB to YCbCr color spaces \newinstance.
+    CImg<Tuchar> get_RGBtoYCbCr() const {
+      return CImg<Tuchar>(*this,false).RGBtoYCbCr();
+    }
+
+    //! Convert pixel values from RGB to YCbCr color spaces.
+    CImg<T>& YCbCrtoRGB() {
+      if (_spectrum!=3)
+        throw CImgInstanceException(_cimg_instance
+                                    "YCbCrtoRGB(): Instance is not a YCbCr image.",
+                                    cimg_instance);
+
+      T *p1 = data(0,0,0,0), *p2 = data(0,0,0,1), *p3 = data(0,0,0,2);
+      for (unsigned long N = (unsigned long)_width*_height*_depth; N; --N) {
+        const Tfloat
+          Y = (Tfloat)*p1 - 16,
+          Cb = (Tfloat)*p2 - 128,
+          Cr = (Tfloat)*p3 - 128,
+          R = (298*Y + 409*Cr + 128)/256,
+          G = (298*Y - 100*Cb - 208*Cr + 128)/256,
+          B = (298*Y + 516*Cb + 128)/256;
+        *(p1++) = (T)(R<0?0:(R>255?255:R));
+        *(p2++) = (T)(G<0?0:(G>255?255:G));
+        *(p3++) = (T)(B<0?0:(B>255?255:B));
+      }
+      return *this;
+    }
+
+    //! Convert pixel values from RGB to YCbCr color spaces \newinstance.
+    CImg<Tuchar> get_YCbCrtoRGB() const {
+      return CImg<Tuchar>(*this,false).YCbCrtoRGB();
+    }
+
+    //! Convert pixel values from RGB to YUV color spaces.
+    CImg<T>& RGBtoYUV() {
+      if (_spectrum!=3)
+        throw CImgInstanceException(_cimg_instance
+                                    "RGBtoYUV(): Instance is not a RGB image.",
+                                    cimg_instance);
+
+      T *p1 = data(0,0,0,0), *p2 = data(0,0,0,1), *p3 = data(0,0,0,2);
+      for (unsigned long N = (unsigned long)_width*_height*_depth; N; --N) {
+        const Tfloat
+          R = (Tfloat)*p1/255,
+          G = (Tfloat)*p2/255,
+          B = (Tfloat)*p3/255,
+          Y = 0.299f*R + 0.587f*G + 0.114f*B;
+        *(p1++) = (T)Y;
+        *(p2++) = (T)(0.492f*(B-Y));
+        *(p3++) = (T)(0.877*(R-Y));
+      }
+      return *this;
+    }
+
+    //! Convert pixel values from RGB to YUV color spaces \newinstance.
+    CImg<Tfloat> get_RGBtoYUV() const {
+      return CImg<Tfloat>(*this,false).RGBtoYUV();
+    }
+
+    //! Convert pixel values from YUV to RGB color spaces.
+    CImg<T>& YUVtoRGB() {
+      if (_spectrum!=3)
+        throw CImgInstanceException(_cimg_instance
+                                    "YUVtoRGB(): Instance is not a YUV image.",
+                                    cimg_instance);
+
+      T *p1 = data(0,0,0,0), *p2 = data(0,0,0,1), *p3 = data(0,0,0,2);
+      for (unsigned long N = (unsigned long)_width*_height*_depth; N; --N) {
+        const Tfloat
+          Y = (Tfloat)*p1,
+          U = (Tfloat)*p2,
+          V = (Tfloat)*p3,
+          R = (Y + 1.140f*V)*255,
+          G = (Y - 0.395f*U - 0.581f*V)*255,
+          B = (Y + 2.032f*U)*255;
+        *(p1++) = (T)(R<0?0:(R>255?255:R));
+        *(p2++) = (T)(G<0?0:(G>255?255:G));
+        *(p3++) = (T)(B<0?0:(B>255?255:B));
+      }
+      return *this;
+    }
+
+    //! Convert pixel values from YUV to RGB color spaces \newinstance.
+    CImg<Tuchar> get_YUVtoRGB() const {
+      return CImg< Tuchar>(*this,false).YUVtoRGB();
+    }
+
+    //! Convert pixel values from RGB to CMY color spaces.
+    CImg<T>& RGBtoCMY() {
+      if (_spectrum!=3)
+        throw CImgInstanceException(_cimg_instance
+                                    "RGBtoCMY(): Instance is not a RGB image.",
+                                    cimg_instance);
+
+      T *p1 = data(0,0,0,0), *p2 = data(0,0,0,1), *p3 = data(0,0,0,2);
+      for (unsigned long N = (unsigned long)_width*_height*_depth; N; --N) {
+        const Tfloat
+          R = (Tfloat)*p1,
+          G = (Tfloat)*p2,
+          B = (Tfloat)*p3,
+          C = 255 - R,
+          M = 255 - G,
+          Y = 255 - B;
+        *(p1++) = (T)(C<0?0:(C>255?255:C));
+        *(p2++) = (T)(M<0?0:(M>255?255:M));
+        *(p3++) = (T)(Y<0?0:(Y>255?255:Y));
+      }
+      return *this;
+    }
+
+    //! Convert pixel values from RGB to CMY color spaces \newinstance.
+    CImg<Tuchar> get_RGBtoCMY() const {
+      return CImg<Tfloat>(*this,false).RGBtoCMY();
+    }
+
+    //! Convert pixel values from CMY to RGB color spaces.
+    CImg<T>& CMYtoRGB() {
+      if (_spectrum!=3)
+        throw CImgInstanceException(_cimg_instance
+                                    "CMYtoRGB(): Instance is not a CMY image.",
+                                    cimg_instance);
+
+      T *p1 = data(0,0,0,0), *p2 = data(0,0,0,1), *p3 = data(0,0,0,2);
+      for (unsigned long N = (unsigned long)_width*_height*_depth; N; --N) {
+        const Tfloat
+          C = (Tfloat)*p1,
+          M = (Tfloat)*p2,
+          Y = (Tfloat)*p3,
+          R = 255 - C,
+          G = 255 - M,
+          B = 255 - Y;
+        *(p1++) = (T)(R<0?0:(R>255?255:R));
+        *(p2++) = (T)(G<0?0:(G>255?255:G));
+        *(p3++) = (T)(B<0?0:(B>255?255:B));
+      }
+      return *this;
+    }
+
+    //! Convert pixel values from CMY to RGB color spaces \newinstance.
+    CImg<Tuchar> get_CMYtoRGB() const {
+      return CImg<Tuchar>(*this,false).CMYtoRGB();
+    }
+
+    //! Convert pixel values from CMY to CMYK color spaces.
+    CImg<T>& CMYtoCMYK() {
+      return get_CMYtoCMYK().move_to(*this);
+    }
+
+    //! Convert pixel values from CMY to CMYK color spaces \newinstance.
+    CImg<Tuchar> get_CMYtoCMYK() const {
+      if (_spectrum!=3)
+        throw CImgInstanceException(_cimg_instance
+                                    "CMYtoCMYK(): Instance is not a CMY image.",
+                                    cimg_instance);
+
+      CImg<Tfloat> res(_width,_height,_depth,4);
+      const T *ps1 = data(0,0,0,0), *ps2 = data(0,0,0,1), *ps3 = data(0,0,0,2);
+      Tfloat *pd1 = res.data(0,0,0,0), *pd2 = res.data(0,0,0,1), *pd3 = res.data(0,0,0,2), *pd4 = res.data(0,0,0,3);
+      for (unsigned long N = (unsigned long)_width*_height*_depth; N; --N) {
+        Tfloat
+	  C = (Tfloat)*(ps1++),
+	  M = (Tfloat)*(ps2++),
+	  Y = (Tfloat)*(ps3++),
+	  K = cimg::min(C,M,Y);
+	if (K>=255) C = M = Y = 0;
+	else { const Tfloat K1 = 255 - K; C = 255*(C - K)/K1; M = 255*(M - K)/K1; Y = 255*(Y - K)/K1; }
+        *(pd1++) = (Tfloat)(C<0?0:(C>255?255:C));
+        *(pd2++) = (Tfloat)(M<0?0:(M>255?255:M));
+        *(pd3++) = (Tfloat)(Y<0?0:(Y>255?255:Y));
+        *(pd4++) = (Tfloat)(K<0?0:(K>255?255:K));
+      }
+      return res;
+    }
+
+    //! Convert pixel values from CMYK to CMY color spaces.
+    CImg<T>& CMYKtoCMY() {
+      return get_CMYKtoCMY().move_to(*this);
+    }
+
+    //! Convert pixel values from CMYK to CMY color spaces \newinstance.
+    CImg<Tfloat> get_CMYKtoCMY() const {
+      if (_spectrum!=4)
+        throw CImgInstanceException(_cimg_instance
+                                    "CMYKtoCMY(): Instance is not a CMYK image.",
+                                    cimg_instance);
+
+      CImg<Tfloat> res(_width,_height,_depth,3);
+      const T *ps1 = data(0,0,0,0), *ps2 = data(0,0,0,1), *ps3 = data(0,0,0,2), *ps4 = data(0,0,0,3);
+      Tfloat *pd1 = res.data(0,0,0,0), *pd2 = res.data(0,0,0,1), *pd3 = res.data(0,0,0,2);
+      for (unsigned long N = (unsigned long)_width*_height*_depth; N; --N) {
+        const Tfloat
+	  C = (Tfloat)*(ps1++),
+	  M = (Tfloat)*(ps2++),
+	  Y = (Tfloat)*(ps3++),
+	  K = (Tfloat)*(ps4++),
+	  K1 = 1 - K/255,
+          nC = C*K1 + K,
+          nM = M*K1 + K,
+          nY = Y*K1 + K;
+        *(pd1++) = (Tfloat)(nC<0?0:(nC>255?255:nC));
+        *(pd2++) = (Tfloat)(nM<0?0:(nM>255?255:nM));
+        *(pd3++) = (Tfloat)(nY<0?0:(nY>255?255:nY));
+      }
+      return res;
+    }
+
+    //! Convert pixel values from RGB to XYZ_709 color spaces.
+    /**
+       \note Uses the standard D65 white point.
+    **/
+    CImg<T>& RGBtoXYZ() {
+      if (_spectrum!=3)
+        throw CImgInstanceException(_cimg_instance
+                                    "RGBtoXYZ(): Instance is not a RGB image.",
+                                    cimg_instance);
+
+      T *p1 = data(0,0,0,0), *p2 = data(0,0,0,1), *p3 = data(0,0,0,2);
+      for (unsigned long N = (unsigned long)_width*_height*_depth; N; --N) {
+        const Tfloat
+          R = (Tfloat)*p1/255,
+          G = (Tfloat)*p2/255,
+          B = (Tfloat)*p3/255;
+        *(p1++) = (T)(0.412453f*R + 0.357580f*G + 0.180423f*B);
+        *(p2++) = (T)(0.212671f*R + 0.715160f*G + 0.072169f*B);
+        *(p3++) = (T)(0.019334f*R + 0.119193f*G + 0.950227f*B);
+      }
+      return *this;
+    }
+
+    //! Convert pixel values from RGB to XYZ_709 color spaces \newinstance.
+    CImg<Tfloat> get_RGBtoXYZ() const {
+      return CImg<Tfloat>(*this,false).RGBtoXYZ();
+    }
+
+    //! Convert pixel values from XYZ_709 to RGB color spaces.
+    CImg<T>& XYZtoRGB() {
+      if (_spectrum!=3)
+        throw CImgInstanceException(_cimg_instance
+                                    "XYZtoRGB(): Instance is not a XYZ image.",
+                                    cimg_instance);
+
+      T *p1 = data(0,0,0,0), *p2 = data(0,0,0,1), *p3 = data(0,0,0,2);
+      for (unsigned long N = (unsigned long)_width*_height*_depth; N; --N) {
+        const Tfloat
+          X = (Tfloat)*p1*255,
+          Y = (Tfloat)*p2*255,
+          Z = (Tfloat)*p3*255,
+          R = 3.240479f*X  - 1.537150f*Y - 0.498535f*Z,
+          G = -0.969256f*X + 1.875992f*Y + 0.041556f*Z,
+          B = 0.055648f*X  - 0.204043f*Y + 1.057311f*Z;
+        *(p1++) = (T)(R<0?0:(R>255?255:R));
+        *(p2++) = (T)(G<0?0:(G>255?255:G));
+        *(p3++) = (T)(B<0?0:(B>255?255:B));
+      }
+      return *this;
+    }
+
+    //! Convert pixel values from XYZ_709 to RGB color spaces \newinstance.
+    CImg<Tuchar> get_XYZtoRGB() const {
+      return CImg<Tuchar>(*this,false).XYZtoRGB();
+    }
+
+    //! Convert pixel values from XYZ_709 to Lab color spaces.
+    CImg<T>& XYZtoLab() {
+#define _cimg_Labf(x) ((x)>=0.008856f?(std::pow(x,(Tfloat)1/3)):(7.787f*(x) + 16.0f/116))
+
+      if (_spectrum!=3)
+        throw CImgInstanceException(_cimg_instance
+                                    "XYZtoLab(): Instance is not a XYZ image.",
+                                    cimg_instance);
+
+      const Tfloat
+        Xn = (Tfloat)(0.412453f + 0.357580f + 0.180423f),
+        Yn = (Tfloat)(0.212671f + 0.715160f + 0.072169f),
+        Zn = (Tfloat)(0.019334f + 0.119193f + 0.950227f);
+      T *p1 = data(0,0,0,0), *p2 = data(0,0,0,1), *p3 = data(0,0,0,2);
+      for (unsigned long N = (unsigned long)_width*_height*_depth; N; --N) {
+        const Tfloat
+          X = (Tfloat)*p1,
+          Y = (Tfloat)*p2,
+          Z = (Tfloat)*p3,
+          XXn = X/Xn, YYn = Y/Yn, ZZn = Z/Zn,
+          fX = (Tfloat)_cimg_Labf(XXn),
+          fY = (Tfloat)_cimg_Labf(YYn),
+          fZ = (Tfloat)_cimg_Labf(ZZn);
+        *(p1++) = (T)cimg::max(0.0f,116*fY - 16);
+        *(p2++) = (T)(500*(fX - fY));
+        *(p3++) = (T)(200*(fY - fZ));
+      }
+      return *this;
+    }
+
+    //! Convert pixel values from XYZ_709 to Lab color spaces \newinstance.
+    CImg<Tfloat> get_XYZtoLab() const {
+      return CImg<Tfloat>(*this,false).XYZtoLab();
+    }
+
+    //! Convert pixel values from Lab to XYZ_709 color spaces.
+    CImg<T>& LabtoXYZ() {
+#define _cimg_Labfi(x) ((x)>=0.206893f?((x)*(x)*(x)):(((x)-16.0f/116)/7.787f))
+
+      if (_spectrum!=3)
+        throw CImgInstanceException(_cimg_instance
+                                    "LabtoXYZ(): Instance is not a Lab image.",
+                                    cimg_instance);
+
+      const Tfloat
+        Xn = (Tfloat)(0.412453f + 0.357580f + 0.180423f),
+        Yn = (Tfloat)(0.212671f + 0.715160f + 0.072169f),
+        Zn = (Tfloat)(0.019334f + 0.119193f + 0.950227f);
+      T *p1 = data(0,0,0,0), *p2 = data(0,0,0,1), *p3 = data(0,0,0,2);
+      for (unsigned long N = (unsigned long)_width*_height*_depth; N; --N) {
+        const Tfloat
+          L = (Tfloat)*p1,
+          a = (Tfloat)*p2,
+          b = (Tfloat)*p3,
+          cY = (L + 16)/116,
+          Y = (Tfloat)(Yn*_cimg_Labfi(cY)),
+          cX = a/500 + cY,
+          X = (Tfloat)(Xn*_cimg_Labfi(cX)),
+          cZ = cY - b/200,
+          Z = (Tfloat)(Zn*_cimg_Labfi(cZ));
+        *(p1++) = (T)(X);
+        *(p2++) = (T)(Y);
+        *(p3++) = (T)(Z);
+      }
+      return *this;
+    }
+
+    //! Convert pixel values from Lab to XYZ_709 color spaces \newinstance.
+    CImg<Tfloat> get_LabtoXYZ() const {
+      return CImg<Tfloat>(*this,false).LabtoXYZ();
+    }
+
+    //! Convert pixel values from XYZ_709 to xyY color spaces.
+    CImg<T>& XYZtoxyY() {
+      if (_spectrum!=3)
+        throw CImgInstanceException(_cimg_instance
+                                    "XYZtoxyY(): Instance is not a XYZ image.",
+                                    cimg_instance);
+
+      T *p1 = data(0,0,0,0), *p2 = data(0,0,0,1), *p3 = data(0,0,0,2);
+      for (unsigned long N = (unsigned long)_width*_height*_depth; N; --N) {
+        const Tfloat
+          X = (Tfloat)*p1,
+          Y = (Tfloat)*p2,
+          Z = (Tfloat)*p3,
+          sum = X + Y + Z,
+          nsum = sum>0?sum:1;
+        *(p1++) = (T)(X/nsum);
+        *(p2++) = (T)(Y/nsum);
+        *(p3++) = (T)Y;
+      }
+      return *this;
+    }
+
+    //! Convert pixel values from XYZ_709 to xyY color spaces \newinstance.
+    CImg<Tfloat> get_XYZtoxyY() const {
+      return CImg<Tfloat>(*this,false).XYZtoxyY();
+    }
+
+    //! Convert pixel values from xyY pixels to XYZ_709 color spaces.
+    CImg<T>& xyYtoXYZ() {
+      if (_spectrum!=3)
+        throw CImgInstanceException(_cimg_instance
+                                    "xyYtoXYZ(): Instance is not a xyY image.",
+                                    cimg_instance);
+
+      T *p1 = data(0,0,0,0), *p2 = data(0,0,0,1), *p3 = data(0,0,0,2);
+      for (unsigned long N = (unsigned long)_width*_height*_depth; N; --N) {
+        const Tfloat
+         px = (Tfloat)*p1,
+         py = (Tfloat)*p2,
+         Y = (Tfloat)*p3,
+         ny = py>0?py:1;
+        *(p1++) = (T)(px*Y/ny);
+        *(p2++) = (T)Y;
+        *(p3++) = (T)((1 - px - py)*Y/ny);
+      }
+      return *this;
+    }
+
+    //! Convert pixel values from xyY pixels to XYZ_709 color spaces \newinstance.
+    CImg<Tfloat> get_xyYtoXYZ() const {
+      return CImg<Tfloat>(*this,false).xyYtoXYZ();
+    }
+
+    //! Convert pixel values from RGB to Lab color spaces.
+    CImg<T>& RGBtoLab() {
+      return RGBtoXYZ().XYZtoLab();
+    }
+
+    //! Convert pixel values from RGB to Lab color spaces \newinstance.
+    CImg<Tfloat> get_RGBtoLab() const {
+      return CImg<Tfloat>(*this,false).RGBtoLab();
+    }
+
+    //! Convert pixel values from Lab to RGB color spaces.
+    CImg<T>& LabtoRGB() {
+      return LabtoXYZ().XYZtoRGB();
+    }
+
+    //! Convert pixel values from Lab to RGB color spaces \newinstance.
+    CImg<Tuchar> get_LabtoRGB() const {
+      return CImg<Tuchar>(*this,false).LabtoRGB();
+    }
+
+    //! Convert pixel values from RGB to xyY color spaces.
+    CImg<T>& RGBtoxyY() {
+      return RGBtoXYZ().XYZtoxyY();
+    }
+
+    //! Convert pixel values from RGB to xyY color spaces \newinstance.
+    CImg<Tfloat> get_RGBtoxyY() const {
+      return CImg<Tfloat>(*this,false).RGBtoxyY();
+    }
+
+    //! Convert pixel values from xyY to RGB color spaces.
+    CImg<T>& xyYtoRGB() {
+      return xyYtoXYZ().XYZtoRGB();
+    }
+
+    //! Convert pixel values from xyY to RGB color spaces \newinstance.
+    CImg<Tuchar> get_xyYtoRGB() const {
+      return CImg<Tuchar>(*this,false).xyYtoRGB();
+    }
+
+    //! Convert pixel values from RGB to CMYK color spaces.
+    CImg<T>& RGBtoCMYK() {
+      return RGBtoCMY().CMYtoCMYK();
+    }
+
+    //! Convert pixel values from RGB to CMYK color spaces \newinstance.
+    CImg<Tfloat> get_RGBtoCMYK() const {
+      return CImg<Tfloat>(*this,false).RGBtoCMYK();
+    }
+
+    //! Convert pixel values from CMYK to RGB color spaces.
+    CImg<T>& CMYKtoRGB() {
+      return CMYKtoCMY().CMYtoRGB();
+    }
+
+    //! Convert pixel values from CMYK to RGB color spaces \newinstance.
+    CImg<Tuchar> get_CMYKtoRGB() const {
+      return CImg<Tuchar>(*this,false).CMYKtoRGB();
+    }
+
+    //@}
+    //------------------------------------------
+    //
+    //! \name Geometric / Spatial Manipulation
+    //@{
+    //------------------------------------------
+
+    static float _cimg_lanczos(const float x) {
+      if (x<=-2 || x>=2) return 0;
+      const float a = (float)cimg::PI*x, b = 0.5f*a;
+      return (float)(x?std::sin(a)*std::sin(b)/(a*b):1);
+    }
+
+    //! Resize image to new dimensions.
+    /**
+       \param size_x Number of columns (new size along the X-axis).
+       \param size_y Number of rows (new size along the Y-axis).
+       \param size_z Number of slices (new size along the Z-axis).
+       \param size_c Number of vector-channels (new size along the C-axis).
+       \param interpolation_type Method of interpolation:
+       - -1 = no interpolation: raw memory resizing.
+       - 0 = no interpolation: additional space is filled according to \p boundary_conditions.
+       - 1 = nearest-neighbor interpolation.
+       - 2 = moving average interpolation.
+       - 3 = linear interpolation.
+       - 4 = grid interpolation.
+       - 5 = cubic interpolation.
+       - 6 = lanczos interpolation.
+       \param boundary_conditions Border condition type.
+       \param centering_x Set centering type (only if \p interpolation_type=0).
+       \param centering_y Set centering type (only if \p interpolation_type=0).
+       \param centering_z Set centering type (only if \p interpolation_type=0).
+       \param centering_c Set centering type (only if \p interpolation_type=0).
+       \note If pd[x,y,z,v]<0, it corresponds to a percentage of the original size (the default value is -100).
+    **/
+    CImg<T>& resize(const int size_x, const int size_y=-100,
+                    const int size_z=-100, const int size_c=-100,
+                    const int interpolation_type=1, const unsigned int boundary_conditions=0,
+                    const float centering_x = 0, const float centering_y = 0,
+                    const float centering_z = 0, const float centering_c = 0) {
+      if (!size_x || !size_y || !size_z || !size_c) return assign();
+      const unsigned int
+        _sx = (unsigned int)(size_x<0?-size_x*width()/100:size_x),
+        _sy = (unsigned int)(size_y<0?-size_y*height()/100:size_y),
+        _sz = (unsigned int)(size_z<0?-size_z*depth()/100:size_z),
+        _sc = (unsigned int)(size_c<0?-size_c*spectrum()/100:size_c),
+        sx = _sx?_sx:1, sy = _sy?_sy:1, sz = _sz?_sz:1, sc = _sc?_sc:1;
+      if (sx==_width && sy==_height && sz==_depth && sc==_spectrum) return *this;
+      if (is_empty()) return assign(sx,sy,sz,sc,(T)0);
+      if (interpolation_type==-1 && sx*sy*sz*sc==size()) {
+	_width = sx; _height = sy; _depth = sz; _spectrum = sc;
+	return *this;
+      }
+      return get_resize(sx,sy,sz,sc,interpolation_type,boundary_conditions,
+                        centering_x,centering_y,centering_z,centering_c).move_to(*this);
+    }
+
+    //! Resize image to new dimensions \newinstance.
+    CImg<T> get_resize(const int size_x, const int size_y = -100,
+                       const int size_z = -100, const int size_c = -100,
+                       const int interpolation_type=1, const unsigned int boundary_conditions=0,
+                       const float centering_x = 0, const float centering_y = 0,
+                       const float centering_z = 0, const float centering_c = 0) const {
+      if (centering_x<0 || centering_x>1 || centering_y<0 || centering_y>1 ||
+          centering_z<0 || centering_z>1 || centering_c<0 || centering_c>1)
+        throw CImgArgumentException(_cimg_instance
+                                    "resize(): Specified centering arguments (%g,%g,%g,%g) are outside range [0,1].",
+                                    cimg_instance,
+                                    centering_x,centering_y,centering_z,centering_c);
+
+      if (!size_x || !size_y || !size_z || !size_c) return CImg<T>();
+      const unsigned int
+        _sx = (unsigned int)(size_x<0?-size_x*width()/100:size_x),
+        _sy = (unsigned int)(size_y<0?-size_y*height()/100:size_y),
+        _sz = (unsigned int)(size_z<0?-size_z*depth()/100:size_z),
+        _sc = (unsigned int)(size_c<0?-size_c*spectrum()/100:size_c),
+        sx = _sx?_sx:1, sy = _sy?_sy:1, sz = _sz?_sz:1, sc = _sc?_sc:1;
+      if (sx==_width && sy==_height && sz==_depth && sc==_spectrum) return +*this;
+      if (is_empty()) return CImg<T>(sx,sy,sz,sc,0);
+      CImg<T> res;
+      switch (interpolation_type) {
+
+        // Raw resizing.
+        //
+      case -1 :
+        std::memcpy(res.assign(sx,sy,sz,sc,0)._data,_data,sizeof(T)*cimg::min(size(),sx*sy*sz*sc));
+        break;
+
+        // No interpolation.
+        //
+      case 0 : {
+        const int
+          xc = (int)(centering_x*((int)sx - width())),
+          yc = (int)(centering_y*((int)sy - height())),
+          zc = (int)(centering_z*((int)sz - depth())),
+          cc = (int)(centering_c*((int)sc - spectrum()));
+
+        switch (boundary_conditions) {
+        case 2 : { // Periodic borders.
+          res.assign(sx,sy,sz,sc);
+          const int
+            x0 = ((int)xc%width()) - width(),
+            y0 = ((int)yc%height()) - height(),
+            z0 = ((int)zc%depth()) - depth(),
+            c0 = ((int)cc%spectrum()) - spectrum();
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=65536)
+#endif
+          for (int c = c0; c<(int)sc; c+=spectrum())
+            for (int z = z0; z<(int)sz; z+=depth())
+              for (int y = y0; y<(int)sy; y+=height())
+                for (int x = x0; x<(int)sx; x+=width())
+                  res.draw_image(x,y,z,c,*this);
+        } break;
+        case 1 : { // Neumann borders.
+          res.assign(sx,sy,sz,sc).draw_image(xc,yc,zc,cc,*this);
+          CImg<T> sprite;
+          if (xc>0) {  // X-backward
+            res.get_crop(xc,yc,zc,cc,xc,yc + height() - 1,zc + depth() - 1,cc + spectrum() - 1).move_to(sprite);
+            for (int x = xc - 1; x>=0; --x) res.draw_image(x,yc,zc,cc,sprite);
+          }
+          if (xc + width()<(int)sx) { // X-forward
+            res.get_crop(xc + width() - 1,yc,zc,cc,xc + width() - 1,yc + height() - 1,
+                         zc + depth() - 1,cc + spectrum() - 1).move_to(sprite);
+            for (int x = xc + width(); x<(int)sx; ++x) res.draw_image(x,yc,zc,cc,sprite);
+          }
+          if (yc>0) {  // Y-backward
+            res.get_crop(0,yc,zc,cc,sx - 1,yc,zc + depth() - 1,cc + spectrum() - 1).move_to(sprite);
+            for (int y = yc - 1; y>=0; --y) res.draw_image(0,y,zc,cc,sprite);
+          }
+          if (yc + height()<(int)sy) { // Y-forward
+            res.get_crop(0,yc + height() - 1,zc,cc,sx - 1,yc + height() - 1,
+                         zc + depth() - 1,cc + spectrum() - 1).move_to(sprite);
+            for (int y = yc + height(); y<(int)sy; ++y) res.draw_image(0,y,zc,cc,sprite);
+          }
+          if (zc>0) {  // Z-backward
+            res.get_crop(0,0,zc,cc,sx - 1,sy - 1,zc,cc + spectrum() - 1).move_to(sprite);
+            for (int z = zc - 1; z>=0; --z) res.draw_image(0,0,z,cc,sprite);
+          }
+          if (zc + depth()<(int)sz) { // Z-forward
+            res.get_crop(0,0,zc  +depth() - 1,cc,sx - 1,sy - 1,zc + depth() - 1,cc + spectrum() - 1).move_to(sprite);
+            for (int z = zc + depth(); z<(int)sz; ++z) res.draw_image(0,0,z,cc,sprite);
+          }
+          if (cc>0) {  // C-backward
+            res.get_crop(0,0,0,cc,sx - 1,sy - 1,sz - 1,cc).move_to(sprite);
+            for (int c = cc - 1; c>=0; --c) res.draw_image(0,0,0,c,sprite);
+          }
+          if (cc + spectrum()<(int)sc) { // C-forward
+            res.get_crop(0,0,0,cc + spectrum() - 1,sx - 1,sy - 1,sz - 1,cc + spectrum() - 1).move_to(sprite);
+            for (int c = cc + spectrum(); c<(int)sc; ++c) res.draw_image(0,0,0,c,sprite);
+          }
+        } break;
+        default : // Dirichlet borders.
+          res.assign(sx,sy,sz,sc,0).draw_image(xc,yc,zc,cc,*this);
+        }
+        break;
+      } break;
+
+        // Nearest neighbor interpolation.
+        //
+      case 1 : {
+        res.assign(sx,sy,sz,sc);
+        CImg<ulongT> off_x(sx), off_y(sy + 1), off_z(sz + 1), off_c(sc + 1);
+        const unsigned long
+          wh = (unsigned long)_width*_height,
+          whd = (unsigned long)_width*_height*_depth,
+          sxy = (unsigned long)sx*sy,
+          sxyz = (unsigned long)sx*sy*sz;
+        if (sx==_width) off_x.fill(1);
+        else {
+          unsigned long *poff_x = off_x._data, curr = 0;
+          cimg_forX(res,x) {
+            const unsigned long old = curr;
+            curr = (unsigned long)((x + 1.0)*_width/sx);
+            *(poff_x++) = curr - old;
+          }
+        }
+        if (sy==_height) off_y.fill(_width);
+        else {
+          unsigned long *poff_y = off_y._data, curr = 0;
+          cimg_forY(res,y) {
+            const unsigned long old = curr;
+            curr = (unsigned long)((y + 1.0)*_height/sy);
+            *(poff_y++) = _width*(curr - old);
+          }
+          *poff_y = 0;
+        }
+        if (sz==_depth) off_z.fill(wh);
+        else {
+          unsigned long *poff_z = off_z._data, curr = 0;
+          cimg_forZ(res,z) {
+            const unsigned long old = curr;
+            curr = (unsigned long)((z + 1.0)*_depth/sz);
+            *(poff_z++) = wh*(curr - old);
+          }
+          *poff_z = 0;
+        }
+        if (sc==_spectrum) off_c.fill(whd);
+        else {
+          unsigned long *poff_c = off_c._data, curr = 0;
+          cimg_forC(res,c) {
+            const unsigned long old = curr;
+            curr = (unsigned long)((c + 1.0)*_spectrum/sc);
+            *(poff_c++) = whd*(curr - old);
+          }
+          *poff_c = 0;
+        }
+
+        T *ptrd = res._data;
+        const T* ptrc = _data;
+        const unsigned long *poff_c = off_c._data;
+        for (unsigned int c = 0; c<sc; ) {
+          const T *ptrz = ptrc;
+          const unsigned long *poff_z = off_z._data;
+          for (unsigned int z = 0; z<sz; ) {
+            const T *ptry = ptrz;
+            const unsigned long *poff_y = off_y._data;
+            for (unsigned int y = 0; y<sy; ) {
+              const T *ptrx = ptry;
+              const unsigned long *poff_x = off_x._data;
+              cimg_forX(res,x) { *(ptrd++) = *ptrx; ptrx+=*(poff_x++); }
+              ++y;
+              unsigned long dy = *(poff_y++);
+              for ( ; !dy && y<dy; std::memcpy(ptrd,ptrd - sx,sizeof(T)*sx), ++y, ptrd+=sx, dy = *(poff_y++)) {}
+              ptry+=dy;
+            }
+            ++z;
+            unsigned long dz = *(poff_z++);
+            for ( ; !dz && z<dz; std::memcpy(ptrd,ptrd-sxy,sizeof(T)*sxy), ++z, ptrd+=sxy, dz = *(poff_z++)) {}
+            ptrz+=dz;
+          }
+          ++c;
+          unsigned long dc = *(poff_c++);
+          for ( ; !dc && c<dc; std::memcpy(ptrd,ptrd-sxyz,sizeof(T)*sxyz), ++c, ptrd+=sxyz, dc = *(poff_c++)) {}
+          ptrc+=dc;
+        }
+      } break;
+
+        // Moving average.
+        //
+      case 2 : {
+        bool instance_first = true;
+        if (sx!=_width) {
+          CImg<Tfloat> tmp(sx,_height,_depth,_spectrum,0);
+          for (unsigned int a = _width*sx, b = _width, c = sx, s = 0, t = 0; a; ) {
+            const unsigned int d = cimg::min(b,c);
+            a-=d; b-=d; c-=d;
+            cimg_forYZC(tmp,y,z,v) tmp(t,y,z,v)+=(Tfloat)(*this)(s,y,z,v)*d;
+            if (!b) {
+              cimg_forYZC(tmp,y,z,v) tmp(t,y,z,v)/=_width;
+              ++t;
+              b = _width;
+            }
+            if (!c) { ++s; c = sx; }
+          }
+          tmp.move_to(res);
+          instance_first = false;
+        }
+        if (sy!=_height) {
+          CImg<Tfloat> tmp(sx,sy,_depth,_spectrum,0);
+          for (unsigned int a = _height*sy, b = _height, c = sy, s = 0, t = 0; a; ) {
+            const unsigned int d = cimg::min(b,c);
+            a-=d; b-=d; c-=d;
+            if (instance_first)
+              cimg_forXZC(tmp,x,z,v) tmp(x,t,z,v)+=(Tfloat)(*this)(x,s,z,v)*d;
+            else
+              cimg_forXZC(tmp,x,z,v) tmp(x,t,z,v)+=(Tfloat)res(x,s,z,v)*d;
+            if (!b) {
+              cimg_forXZC(tmp,x,z,v) tmp(x,t,z,v)/=_height;
+              ++t;
+              b = _height;
+            }
+            if (!c) { ++s; c = sy; }
+          }
+          tmp.move_to(res);
+          instance_first = false;
+        }
+        if (sz!=_depth) {
+          CImg<Tfloat> tmp(sx,sy,sz,_spectrum,0);
+          for (unsigned int a = _depth*sz, b = _depth, c = sz, s = 0, t = 0; a; ) {
+            const unsigned int d = cimg::min(b,c);
+            a-=d; b-=d; c-=d;
+            if (instance_first)
+              cimg_forXYC(tmp,x,y,v) tmp(x,y,t,v)+=(Tfloat)(*this)(x,y,s,v)*d;
+            else
+              cimg_forXYC(tmp,x,y,v) tmp(x,y,t,v)+=(Tfloat)res(x,y,s,v)*d;
+            if (!b) {
+              cimg_forXYC(tmp,x,y,v) tmp(x,y,t,v)/=_depth;
+              ++t;
+              b = _depth;
+            }
+            if (!c) { ++s; c = sz; }
+          }
+          tmp.move_to(res);
+          instance_first = false;
+        }
+        if (sc!=_spectrum) {
+          CImg<Tfloat> tmp(sx,sy,sz,sc,0);
+          for (unsigned int a = _spectrum*sc, b = _spectrum, c = sc, s = 0, t = 0; a; ) {
+            const unsigned int d = cimg::min(b,c);
+            a-=d; b-=d; c-=d;
+            if (instance_first)
+              cimg_forXYZ(tmp,x,y,z) tmp(x,y,z,t)+=(Tfloat)(*this)(x,y,z,s)*d;
+            else
+              cimg_forXYZ(tmp,x,y,z) tmp(x,y,z,t)+=(Tfloat)res(x,y,z,s)*d;
+            if (!b) {
+              cimg_forXYZ(tmp,x,y,z) tmp(x,y,z,t)/=_spectrum;
+              ++t;
+              b = _spectrum;
+            }
+            if (!c) { ++s; c = sc; }
+          }
+          tmp.move_to(res);
+          instance_first = false;
+        }
+      } break;
+
+        // Linear interpolation.
+        //
+      case 3 : {
+        CImg<uintT> off(cimg::max(sx,sy,sz,sc));
+        CImg<floatT> foff(off._width);
+        CImg<T> resx, resy, resz, resc;
+
+        if (sx!=_width) {
+          if (_width==1) get_resize(sx,_height,_depth,_spectrum,1).move_to(resx);
+          else {
+            if (_width>sx) get_resize(sx,_height,_depth,_spectrum,2).move_to(resx);
+            else {
+              const float fx = (!boundary_conditions && sx>_width)?(sx>1?(_width - 1.0f)/(sx - 1):0):(float)_width/sx;
+              resx.assign(sx,_height,_depth,_spectrum);
+              float curr = 0, old = 0;
+              unsigned int *poff = off._data;
+              float *pfoff = foff._data;
+              cimg_forX(resx,x) {
+                *(pfoff++) = curr - (unsigned int)curr;
+                old = curr;
+                curr+=fx;
+                *(poff++) = (unsigned int)curr - (unsigned int)old;
+              }
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (resx.size()>=65536)
+#endif
+              cimg_forYZC(resx,y,z,c) {
+                const T *ptrs = data(0,y,z,c), *const ptrsmax = ptrs + _width - 1;
+                T *ptrd = resx.data(0,y,z,c);
+                const unsigned int *poff = off._data;
+                const float *pfoff = foff._data;
+                cimg_forX(resx,x) {
+                  const float alpha = *(pfoff++);
+                  const T val1 = *ptrs, val2 = ptrs<ptrsmax?*(ptrs + 1):val1;
+                  *(ptrd++) = (T)((1 - alpha)*val1 + alpha*val2);
+                  ptrs+=*(poff++);
+                }
+              }
+            }
+          }
+        } else resx.assign(*this,true);
+
+        if (sy!=_height) {
+          if (_height==1) resx.get_resize(sx,sy,_depth,_spectrum,1).move_to(resy);
+          else {
+            if (_height>sy) resx.get_resize(sx,sy,_depth,_spectrum,2).move_to(resy);
+            else {
+              const float fy = (!boundary_conditions && sy>_height)?(sy>1?(_height - 1.0f)/(sy - 1):0):
+                (float)_height/sy;
+              resy.assign(sx,sy,_depth,_spectrum);
+              float curr = 0, old = 0;
+              unsigned int *poff = off._data;
+              float *pfoff = foff._data;
+              cimg_forY(resy,y) {
+                *(pfoff++) = curr - (unsigned int)curr;
+                old = curr;
+                curr+=fy;
+                *(poff++) = sx*((unsigned int)curr-(unsigned int)old);
+              }
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (resy.size()>=65536)
+#endif
+              cimg_forXZC(resy,x,z,c) {
+                const T *ptrs = resx.data(x,0,z,c), *const ptrsmax = ptrs + (_height - 1)*sx;
+                T *ptrd = resy.data(x,0,z,c);
+                const unsigned int *poff = off._data;
+                const float *pfoff = foff._data;
+                cimg_forY(resy,y) {
+                  const float alpha = *(pfoff++);
+                  const T val1 = *ptrs, val2 = ptrs<ptrsmax?*(ptrs + sx):val1;
+                  *ptrd = (T)((1 - alpha)*val1 + alpha*val2);
+                  ptrd+=sx;
+                  ptrs+=*(poff++);
+                }
+              }
+            }
+          }
+          resx.assign();
+        } else resy.assign(resx,true);
+
+        if (sz!=_depth) {
+          if (_depth==1) resy.get_resize(sx,sy,sz,_spectrum,1).move_to(resz);
+          else {
+            if (_depth>sz) resy.get_resize(sx,sy,sz,_spectrum,2).move_to(resz);
+            else {
+              const float fz = (!boundary_conditions && sz>_depth)?(sz>1?(_depth - 1.0f)/(sz - 1):0):(float)_depth/sz;
+              const unsigned int sxy = sx*sy;
+              resz.assign(sx,sy,sz,_spectrum);
+              float curr = 0, old = 0;
+              unsigned int *poff = off._data;
+              float *pfoff = foff._data;
+              cimg_forZ(resz,z) {
+                *(pfoff++) = curr - (unsigned int)curr;
+                old = curr;
+                curr+=fz;
+                *(poff++) = sxy*((unsigned int)curr - (unsigned int)old);
+              }
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (resz.size()>=65536)
+#endif
+              cimg_forXYC(resz,x,y,c) {
+                const T *ptrs = resy.data(x,y,0,c), *const ptrsmax = ptrs + (_depth - 1)*sxy;
+                T *ptrd = resz.data(x,y,0,c);
+                const unsigned int *poff = off._data;
+                const float *pfoff = foff._data;
+                cimg_forZ(resz,z) {
+                  const float alpha = *(pfoff++);
+                  const T val1 = *ptrs, val2 = ptrs<ptrsmax?*(ptrs + sxy):val1;
+                  *ptrd = (T)((1 - alpha)*val1 + alpha*val2);
+                  ptrd+=sxy;
+                  ptrs+=*(poff++);
+                }
+              }
+            }
+          }
+          resy.assign();
+        } else resz.assign(resy,true);
+
+        if (sc!=_spectrum) {
+          if (_spectrum==1) resz.get_resize(sx,sy,sz,sc,1).move_to(resc);
+          else {
+            if (_spectrum>sc) resz.get_resize(sx,sy,sz,sc,2).move_to(resc);
+            else {
+              const float fc = (!boundary_conditions && sc>_spectrum)?(sc>1?(_spectrum - 1.0f)/(sc - 1):0):
+                (float)_spectrum/sc;
+              const unsigned int sxyz = sx*sy*sz;
+              resc.assign(sx,sy,sz,sc);
+              float curr = 0, old = 0;
+              unsigned int *poff = off._data;
+              float *pfoff = foff._data;
+              cimg_forC(resc,c) {
+                *(pfoff++) = curr - (unsigned int)curr;
+                old = curr;
+                curr+=fc;
+                *(poff++) = sxyz*((unsigned int)curr - (unsigned int)old);
+              }
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (resc.size()>=65536)
+#endif
+              cimg_forXYZ(resc,x,y,z) {
+                const T *ptrs = resz.data(x,y,z,0), *const ptrsmax = ptrs + (_spectrum - 1)*sxyz;
+                T *ptrd = resc.data(x,y,z,0);
+                const unsigned int *poff = off._data;
+                const float *pfoff = foff._data;
+                cimg_forC(resc,c) {
+                  const float alpha = *(pfoff++);
+                  const T val1 = *ptrs, val2 = ptrs<ptrsmax?*(ptrs + sxyz):val1;
+                  *ptrd = (T)((1 - alpha)*val1 + alpha*val2);
+                  ptrd+=sxyz;
+                  ptrs+=*(poff++);
+                }
+              }
+            }
+          }
+          resz.assign();
+        } else resc.assign(resz,true);
+        return resc._is_shared?(resz._is_shared?(resy._is_shared?(resx._is_shared?(+(*this)):resx):resy):resz):resc;
+      } break;
+
+        // Grid interpolation.
+        //
+      case 4 : {
+        CImg<T> resx, resy, resz, resc;
+        if (sx!=_width) {
+          if (sx<_width) get_resize(sx,_height,_depth,_spectrum,1).move_to(resx);
+          else {
+            resx.assign(sx,_height,_depth,_spectrum,0);
+            const int dx = (int)(2*sx), dy = 2*width();
+            int err = (int)(dy + centering_x*(sx*dy/width() - dy)), xs = 0;
+            cimg_forX(resx,x) if ((err-=dy)<=0) {
+              cimg_forYZC(resx,y,z,c) resx(x,y,z,c) = (*this)(xs,y,z,c);
+              ++xs;
+              err+=dx;
+            }
+          }
+        } else resx.assign(*this,true);
+
+        if (sy!=_height) {
+          if (sy<_height) resx.get_resize(sx,sy,_depth,_spectrum,1).move_to(resy);
+          else {
+            resy.assign(sx,sy,_depth,_spectrum,0);
+            const int dx = (int)(2*sy), dy = 2*height();
+            int err = (int)(dy + centering_y*(sy*dy/height() - dy)), ys = 0;
+            cimg_forY(resy,y) if ((err-=dy)<=0) {
+              cimg_forXZC(resy,x,z,c) resy(x,y,z,c) = resx(x,ys,z,c);
+              ++ys;
+              err+=dx;
+            }
+          }
+          resx.assign();
+        } else resy.assign(resx,true);
+
+        if (sz!=_depth) {
+          if (sz<_depth) resy.get_resize(sx,sy,sz,_spectrum,1).move_to(resz);
+          else {
+            resz.assign(sx,sy,sz,_spectrum,0);
+            const int dx = (int)(2*sz), dy = 2*depth();
+            int err = (int)(dy + centering_z*(sz*dy/depth() - dy)), zs = 0;
+            cimg_forZ(resz,z) if ((err-=dy)<=0) {
+              cimg_forXYC(resz,x,y,c) resz(x,y,z,c) = resy(x,y,zs,c);
+              ++zs;
+              err+=dx;
+            }
+          }
+          resy.assign();
+        } else resz.assign(resy,true);
+
+        if (sc!=_spectrum) {
+          if (sc<_spectrum) resz.get_resize(sx,sy,sz,sc,1).move_to(resc);
+          else {
+            resc.assign(sx,sy,sz,sc,0);
+            const int dx = (int)(2*sc), dy = 2*spectrum();
+            int err = (int)(dy + centering_c*(sc*dy/spectrum() - dy)), cs = 0;
+            cimg_forC(resc,c) if ((err-=dy)<=0) {
+              cimg_forXYZ(resc,x,y,z) resc(x,y,z,c) = resz(x,y,z,cs);
+              ++cs;
+              err+=dx;
+            }
+          }
+          resz.assign();
+        } else resc.assign(resz,true);
+
+        return resc._is_shared?(resz._is_shared?(resy._is_shared?(resx._is_shared?(+(*this)):resx):resy):resz):resc;
+      } break;
+
+        // Cubic interpolation.
+        //
+      case 5 : {
+        const Tfloat vmin = (Tfloat)cimg::type<T>::min(), vmax = (Tfloat)cimg::type<T>::max();
+        CImg<uintT> off(cimg::max(sx,sy,sz,sc));
+        CImg<floatT> foff(off._width);
+        CImg<T> resx, resy, resz, resc;
+
+        if (sx!=_width) {
+          if (_width==1) get_resize(sx,_height,_depth,_spectrum,1).move_to(resx);
+          else {
+            if (_width>sx) get_resize(sx,_height,_depth,_spectrum,2).move_to(resx);
+            else {
+              const float fx = (!boundary_conditions && sx>_width)?(sx>1?(_width - 1.0f)/(sx - 1):0):(float)_width/sx;
+              resx.assign(sx,_height,_depth,_spectrum);
+              float curr = 0, old = 0;
+              unsigned int *poff = off._data;
+              float *pfoff = foff._data;
+              cimg_forX(resx,x) {
+                *(pfoff++) = curr - (unsigned int)curr;
+                old = curr;
+                curr+=fx;
+                *(poff++) = (unsigned int)curr - (unsigned int)old;
+              }
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (resx.size()>=65536)
+#endif
+              cimg_forYZC(resx,y,z,c) {
+                const T *const ptrs0 = data(0,y,z,c), *ptrs = ptrs0, *const ptrsmax = ptrs + (_width - 2);
+                T *ptrd = resx.data(0,y,z,c);
+                const unsigned int *poff = off._data;
+                const float *pfoff = foff._data;
+                cimg_forX(resx,x) {
+                  const float t = *(pfoff++);
+                  const Tfloat
+                    val1 = (Tfloat)*ptrs,
+                    val0 = ptrs>ptrs0?(Tfloat)*(ptrs - 1):val1,
+                    val2 = ptrs<=ptrsmax?(Tfloat)*(ptrs + 1):val1,
+                    val3 = ptrs<ptrsmax?(Tfloat)*(ptrs + 2):val2,
+                    val = val1 + 0.5f*(t*(-val0 + val2) + t*t*(2*val0 - 5*val1 + 4*val2 - val3) +
+                                       t*t*t*(-val0 + 3*val1 - 3*val2 + val3));
+                  *(ptrd++) = (T)(val<vmin?vmin:val>vmax?vmax:val);
+                  ptrs+=*(poff++);
+                }
+              }
+            }
+          }
+        } else resx.assign(*this,true);
+
+        if (sy!=_height) {
+          if (_height==1) resx.get_resize(sx,sy,_depth,_spectrum,1).move_to(resy);
+          else {
+            if (_height>sy) resx.get_resize(sx,sy,_depth,_spectrum,2).move_to(resy);
+            else {
+              const float fy = (!boundary_conditions && sy>_height)?(sy>1?(_height - 1.0f)/(sy - 1):0):
+                (float)_height/sy;
+              resy.assign(sx,sy,_depth,_spectrum);
+              float curr = 0, old = 0;
+              unsigned int *poff = off._data;
+              float *pfoff = foff._data;
+              cimg_forY(resy,y) {
+                *(pfoff++) = curr - (unsigned int)curr;
+                old = curr;
+                curr+=fy;
+                *(poff++) = sx*((unsigned int)curr - (unsigned int)old);
+              }
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (resy.size()>=65536)
+#endif
+              cimg_forXZC(resy,x,z,c) {
+                const T *const ptrs0 = resx.data(x,0,z,c), *ptrs = ptrs0, *const ptrsmax = ptrs + (_height - 2)*sx;
+                T *ptrd = resy.data(x,0,z,c);
+                const unsigned int *poff = off._data;
+                const float *pfoff = foff._data;
+                cimg_forY(resy,y) {
+                  const float t = *(pfoff++);
+                  const Tfloat
+                    val1 = (Tfloat)*ptrs,
+                    val0 = ptrs>ptrs0?(Tfloat)*(ptrs - sx):val1,
+                    val2 = ptrs<=ptrsmax?(Tfloat)*(ptrs + sx):val1,
+                    val3 = ptrs<ptrsmax?(Tfloat)*(ptrs + 2*sx):val2,
+                    val = val1 + 0.5f*(t*(-val0 + val2) + t*t*(2*val0 - 5*val1 + 4*val2 - val3) +
+                                       t*t*t*(-val0 + 3*val1 - 3*val2 + val3));
+                  *ptrd = (T)(val<vmin?vmin:val>vmax?vmax:val);
+                  ptrd+=sx;
+                  ptrs+=*(poff++);
+                }
+              }
+            }
+          }
+          resx.assign();
+        } else resy.assign(resx,true);
+
+        if (sz!=_depth) {
+          if (_depth==1) resy.get_resize(sx,sy,sz,_spectrum,1).move_to(resz);
+          else {
+            if (_depth>sz) resy.get_resize(sx,sy,sz,_spectrum,2).move_to(resz);
+            else {
+              const float fz = (!boundary_conditions && sz>_depth)?(sz>1?(_depth - 1.0f)/(sz - 1):0):(float)_depth/sz;
+              const unsigned int sxy = sx*sy;
+              resz.assign(sx,sy,sz,_spectrum);
+              float curr = 0, old = 0;
+              unsigned int *poff = off._data;
+              float *pfoff = foff._data;
+              cimg_forZ(resz,z) {
+                *(pfoff++) = curr - (unsigned int)curr;
+                old = curr;
+                curr+=fz;
+                *(poff++) = sxy*((unsigned int)curr - (unsigned int)old);
+              }
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (resz.size()>=65536)
+#endif
+              cimg_forXYC(resz,x,y,c) {
+                const T *const ptrs0 = resy.data(x,y,0,c), *ptrs = ptrs0, *const ptrsmax = ptrs + (_depth - 2)*sxy;
+                T *ptrd = resz.data(x,y,0,c);
+                const unsigned int *poff = off._data;
+                const float *pfoff = foff._data;
+                cimg_forZ(resz,z) {
+                  const float t = *(pfoff++);
+                  const Tfloat
+                    val1 = (Tfloat)*ptrs,
+                    val0 = ptrs>ptrs0?(Tfloat)*(ptrs - sxy):val1,
+                    val2 = ptrs<=ptrsmax?(Tfloat)*(ptrs + sxy):val1,
+                    val3 = ptrs<ptrsmax?(Tfloat)*(ptrs + 2*sxy):val2,
+                    val = val1 + 0.5f*(t*(-val0 + val2) + t*t*(2*val0 - 5*val1 + 4*val2 - val3) +
+                                       t*t*t*(-val0 + 3*val1 - 3*val2 + val3));
+                  *ptrd = (T)(val<vmin?vmin:val>vmax?vmax:val);
+                  ptrd+=sxy;
+                  ptrs+=*(poff++);
+                }
+              }
+            }
+          }
+          resy.assign();
+        } else resz.assign(resy,true);
+
+        if (sc!=_spectrum) {
+          if (_spectrum==1) resz.get_resize(sx,sy,sz,sc,1).move_to(resc);
+          else {
+            if (_spectrum>sc) resz.get_resize(sx,sy,sz,sc,2).move_to(resc);
+            else {
+              const float fc = (!boundary_conditions && sc>_spectrum)?(sc>1?(_spectrum - 1.0f)/(sc - 1):0):
+                (float)_spectrum/sc;
+              const unsigned int sxyz = sx*sy*sz;
+              resc.assign(sx,sy,sz,sc);
+              float curr = 0, old = 0;
+              unsigned int *poff = off._data;
+              float *pfoff = foff._data;
+              cimg_forC(resc,c) {
+                *(pfoff++) = curr - (unsigned int)curr;
+                old = curr;
+                curr+=fc;
+                *(poff++) = sxyz*((unsigned int)curr - (unsigned int)old);
+              }
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (resc.size()>=65536)
+#endif
+              cimg_forXYZ(resc,x,y,z) {
+                const T *const ptrs0 = resz.data(x,y,z,0), *ptrs = ptrs0, *const ptrsmax = ptrs + (_spectrum - 2)*sxyz;
+                T *ptrd = resc.data(x,y,z,0);
+                const unsigned int *poff = off._data;
+                const float *pfoff = foff._data;
+                cimg_forC(resc,c) {
+                  const float t = *(pfoff++);
+                  const Tfloat
+                    val1 = (Tfloat)*ptrs,
+                    val0 = ptrs>ptrs0?(Tfloat)*(ptrs - sxyz):val1,
+                    val2 = ptrs<=ptrsmax?(Tfloat)*(ptrs + sxyz):val1,
+                    val3 = ptrs<ptrsmax?(Tfloat)*(ptrs + 2*sxyz):val2,
+                    val = val1 + 0.5f*(t*(-val0 + val2) + t*t*(2*val0 - 5*val1 + 4*val2 - val3) +
+                                       t*t*t*(-val0 + 3*val1 - 3*val2 + val3));
+                  *ptrd = (T)(val<vmin?vmin:val>vmax?vmax:val);
+                  ptrd+=sxyz;
+                  ptrs+=*(poff++);
+                }
+              }
+            }
+          }
+          resz.assign();
+        } else resc.assign(resz,true);
+
+        return resc._is_shared?(resz._is_shared?(resy._is_shared?(resx._is_shared?(+(*this)):resx):resy):resz):resc;
+      } break;
+
+        // Lanczos interpolation.
+        //
+      case 6 : {
+        const Tfloat vmin = (Tfloat)cimg::type<T>::min(), vmax = (Tfloat)cimg::type<T>::max();
+        CImg<uintT> off(cimg::max(sx,sy,sz,sc));
+        CImg<floatT> foff(off._width);
+        CImg<T> resx, resy, resz, resc;
+
+        if (sx!=_width) {
+          if (_width==1) get_resize(sx,_height,_depth,_spectrum,1).move_to(resx);
+          else {
+            if (_width>sx) get_resize(sx,_height,_depth,_spectrum,2).move_to(resx);
+            else {
+              const float fx = (!boundary_conditions && sx>_width)?(sx>1?(_width - 1.0f)/(sx - 1):0):(float)_width/sx;
+              resx.assign(sx,_height,_depth,_spectrum);
+              float curr = 0, old = 0;
+              unsigned int *poff = off._data;
+              float *pfoff = foff._data;
+              cimg_forX(resx,x) {
+                *(pfoff++) = curr - (unsigned int)curr;
+                old = curr;
+                curr+=fx;
+                *(poff++) = (unsigned int)curr - (unsigned int)old;
+              }
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (resx.size()>=65536)
+#endif
+              cimg_forYZC(resx,y,z,c) {
+                const T *const ptrs0 = data(0,y,z,c), *ptrs = ptrs0, *const ptrsmin = ptrs0 + 1,
+                  *const ptrsmax = ptrs0 + (_width - 2);
+                T *ptrd = resx.data(0,y,z,c);
+                const unsigned int *poff = off._data;
+                const float *pfoff = foff._data;
+                cimg_forX(resx,x) {
+                  const float
+                    t = *(pfoff++),
+                    w0 = _cimg_lanczos(t + 2),
+                    w1 = _cimg_lanczos(t + 1),
+                    w2 = _cimg_lanczos(t),
+                    w3 = _cimg_lanczos(t - 1),
+                    w4 = _cimg_lanczos(t - 2);
+                  const Tfloat
+                    val2 = (Tfloat)*ptrs,
+                    val1 = ptrs>=ptrsmin?(Tfloat)*(ptrs - 1):val2,
+                    val0 = ptrs>ptrsmin?(Tfloat)*(ptrs - 2):val1,
+                    val3 = ptrs<=ptrsmax?(Tfloat)*(ptrs + 1):val2,
+                    val4 = ptrs<ptrsmax?(Tfloat)*(ptrs + 2):val3,
+                    val = (val0*w0 + val1*w1 + val2*w2 + val3*w3 + val4*w4)/(w1 + w2 + w3 + w4);
+                  *(ptrd++) = (T)(val<vmin?vmin:val>vmax?vmax:val);
+                  ptrs+=*(poff++);
+                }
+              }
+            }
+          }
+        } else resx.assign(*this,true);
+
+        if (sy!=_height) {
+          if (_height==1) resx.get_resize(sx,sy,_depth,_spectrum,1).move_to(resy);
+          else {
+            if (_height>sy) resx.get_resize(sx,sy,_depth,_spectrum,2).move_to(resy);
+            else {
+              const float fy = (!boundary_conditions && sy>_height)?(sy>1?(_height - 1.0f)/(sy - 1):0):
+                (float)_height/sy;
+              resy.assign(sx,sy,_depth,_spectrum);
+              float curr = 0, old = 0;
+              unsigned int *poff = off._data;
+              float *pfoff = foff._data;
+              cimg_forY(resy,y) {
+                *(pfoff++) = curr - (unsigned int)curr;
+                old = curr;
+                curr+=fy;
+                *(poff++) = sx*((unsigned int)curr - (unsigned int)old);
+              }
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (resy.size()>=65536)
+#endif
+              cimg_forXZC(resy,x,z,c) {
+                const T *const ptrs0 = resx.data(x,0,z,c), *ptrs = ptrs0, *const ptrsmin = ptrs0 + sx,
+                  *const ptrsmax = ptrs0 + (_height - 2)*sx;
+                T *ptrd = resy.data(x,0,z,c);
+                const unsigned int *poff = off._data;
+                const float *pfoff = foff._data;
+                cimg_forY(resy,y) {
+                  const float
+                    t = *(pfoff++),
+                    w0 = _cimg_lanczos(t + 2),
+                    w1 = _cimg_lanczos(t + 1),
+                    w2 = _cimg_lanczos(t),
+                    w3 = _cimg_lanczos(t - 1),
+                    w4 = _cimg_lanczos(t - 2);
+                  const Tfloat
+                    val2 = (Tfloat)*ptrs,
+                    val1 = ptrs>=ptrsmin?(Tfloat)*(ptrs - sx):val2,
+                    val0 = ptrs>ptrsmin?(Tfloat)*(ptrs - 2*sx):val1,
+                    val3 = ptrs<=ptrsmax?(Tfloat)*(ptrs + sx):val2,
+                    val4 = ptrs<ptrsmax?(Tfloat)*(ptrs + 2*sx):val3,
+                    val = (val0*w0 + val1*w1 + val2*w2 + val3*w3 + val4*w4)/(w1 + w2 + w3 + w4);
+                  *ptrd = (T)(val<vmin?vmin:val>vmax?vmax:val);
+                  ptrd+=sx;
+                  ptrs+=*(poff++);
+                }
+              }
+            }
+          }
+          resx.assign();
+        } else resy.assign(resx,true);
+
+        if (sz!=_depth) {
+          if (_depth==1) resy.get_resize(sx,sy,sz,_spectrum,1).move_to(resz);
+          else {
+            if (_depth>sz) resy.get_resize(sx,sy,sz,_spectrum,2).move_to(resz);
+            else {
+              const float fz = (!boundary_conditions && sz>_depth)?(sz>1?(_depth - 1.0f)/(sz - 1):0):(float)_depth/sz;
+              const unsigned int sxy = sx*sy;
+              resz.assign(sx,sy,sz,_spectrum);
+              float curr = 0, old = 0;
+              unsigned int *poff = off._data;
+              float *pfoff = foff._data;
+              cimg_forZ(resz,z) {
+                *(pfoff++) = curr - (unsigned int)curr;
+                old = curr;
+                curr+=fz;
+                *(poff++) = sxy*((unsigned int)curr - (unsigned int)old);
+              }
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (resz.size()>=65536)
+#endif
+              cimg_forXYC(resz,x,y,c) {
+                const T *const ptrs0 = resy.data(x,y,0,c), *ptrs = ptrs0, *const ptrsmin = ptrs0 + sxy,
+                  *const ptrsmax = ptrs0 + (_depth - 2)*sxy;
+                T *ptrd = resz.data(x,y,0,c);
+                const unsigned int *poff = off._data;
+                const float *pfoff = foff._data;
+                cimg_forZ(resz,z) {
+                  const float
+                    t = *(pfoff++),
+                    w0 = _cimg_lanczos(t + 2),
+                    w1 = _cimg_lanczos(t + 1),
+                    w2 = _cimg_lanczos(t),
+                    w3 = _cimg_lanczos(t - 1),
+                    w4 = _cimg_lanczos(t - 2);
+                  const Tfloat
+                    val2 = (Tfloat)*ptrs,
+                    val1 = ptrs>=ptrsmin?(Tfloat)*(ptrs - sxy):val2,
+                    val0 = ptrs>ptrsmin?(Tfloat)*(ptrs - 2*sxy):val1,
+                    val3 = ptrs<=ptrsmax?(Tfloat)*(ptrs + sxy):val2,
+                    val4 = ptrs<ptrsmax?(Tfloat)*(ptrs + 2*sxy):val3,
+                    val = (val0*w0 + val1*w1 + val2*w2 + val3*w3 + val4*w4)/(w1 + w2 + w3 + w4);
+                  *ptrd = (T)(val<vmin?vmin:val>vmax?vmax:val);
+                  ptrd+=sxy;
+                  ptrs+=*(poff++);
+                }
+              }
+            }
+          }
+          resy.assign();
+        } else resz.assign(resy,true);
+
+        if (sc!=_spectrum) {
+          if (_spectrum==1) resz.get_resize(sx,sy,sz,sc,1).move_to(resc);
+          else {
+            if (_spectrum>sc) resz.get_resize(sx,sy,sz,sc,2).move_to(resc);
+            else {
+              const float fc = (!boundary_conditions && sc>_spectrum)?(sc>1?(_spectrum - 1.0f)/(sc - 1):0):
+                (float)_spectrum/sc;
+              const unsigned int sxyz = sx*sy*sz;
+              resc.assign(sx,sy,sz,sc);
+              float curr = 0, old = 0;
+              unsigned int *poff = off._data;
+              float *pfoff = foff._data;
+              cimg_forC(resc,c) {
+                *(pfoff++) = curr - (unsigned int)curr;
+                old = curr;
+                curr+=fc;
+                *(poff++) = sxyz*((unsigned int)curr - (unsigned int)old);
+              }
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (resc.size()>=65536)
+#endif
+              cimg_forXYZ(resc,x,y,z) {
+                const T *const ptrs0 = resz.data(x,y,z,0), *ptrs = ptrs0, *const ptrsmin = ptrs0 + sxyz,
+                  *const ptrsmax = ptrs + (_spectrum - 2)*sxyz;
+                T *ptrd = resc.data(x,y,z,0);
+                const unsigned int *poff = off._data;
+                const float *pfoff = foff._data;
+                cimg_forC(resc,c) {
+                  const float
+                    t = *(pfoff++),
+                    w0 = _cimg_lanczos(t + 2),
+                    w1 = _cimg_lanczos(t + 1),
+                    w2 = _cimg_lanczos(t),
+                    w3 = _cimg_lanczos(t - 1),
+                    w4 = _cimg_lanczos(t - 2);
+                  const Tfloat
+                    val2 = (Tfloat)*ptrs,
+                    val1 = ptrs>=ptrsmin?(Tfloat)*(ptrs - sxyz):val2,
+                    val0 = ptrs>ptrsmin?(Tfloat)*(ptrs - 2*sxyz):val1,
+                    val3 = ptrs<=ptrsmax?(Tfloat)*(ptrs + sxyz):val2,
+                    val4 = ptrs<ptrsmax?(Tfloat)*(ptrs + 2*sxyz):val3,
+                    val = (val0*w0 + val1*w1 + val2*w2 + val3*w3 + val4*w4)/(w1 + w2 + w3 + w4);
+                  *ptrd = (T)(val<vmin?vmin:val>vmax?vmax:val);
+                  ptrd+=sxyz;
+                  ptrs+=*(poff++);
+                }
+              }
+            }
+          }
+          resz.assign();
+        } else resc.assign(resz,true);
+
+        return resc._is_shared?(resz._is_shared?(resy._is_shared?(resx._is_shared?(+(*this)):resx):resy):resz):resc;
+      } break;
+
+        // Unknow interpolation.
+        //
+      default :
+        throw CImgArgumentException(_cimg_instance
+                                    "resize(): Invalid specified interpolation %d "
+                                    "(should be { -1=raw | 0=none | 1=nearest | 2=average | 3=linear | 4=grid | "
+                                    "5=cubic | 6=lanczos }).",
+                                    cimg_instance,
+                                    interpolation_type);
+      }
+      return res;
+    }
+
+    //! Resize image to dimensions of another image.
+    /**
+       \param src Reference image used for dimensions.
+       \param interpolation_type Interpolation method.
+       \param boundary_conditions Boundary conditions.
+       \param centering_x Set centering type (only if \p interpolation_type=0).
+       \param centering_y Set centering type (only if \p interpolation_type=0).
+       \param centering_z Set centering type (only if \p interpolation_type=0).
+       \param centering_c Set centering type (only if \p interpolation_type=0).
+     **/
+    template<typename t>
+    CImg<T>& resize(const CImg<t>& src,
+                    const int interpolation_type=1, const unsigned int boundary_conditions=0,
+                    const float centering_x = 0, const float centering_y = 0,
+                    const float centering_z = 0, const float centering_c = 0) {
+      return resize(src._width,src._height,src._depth,src._spectrum,interpolation_type,boundary_conditions,
+                    centering_x,centering_y,centering_z,centering_c);
+    }
+
+    //! Resize image to dimensions of another image \newinstance.
+    template<typename t>
+    CImg<T> get_resize(const CImg<t>& src,
+                       const int interpolation_type=1, const unsigned int boundary_conditions=0,
+                       const float centering_x = 0, const float centering_y = 0,
+                       const float centering_z = 0, const float centering_c = 0) const {
+      return get_resize(src._width,src._height,src._depth,src._spectrum,interpolation_type,boundary_conditions,
+                        centering_x,centering_y,centering_z,centering_c);
+    }
+
+    //! Resize image to dimensions of a display window.
+    /**
+       \param disp Reference display window used for dimensions.
+       \param interpolation_type Interpolation method.
+       \param boundary_conditions Boundary conditions.
+       \param centering_x Set centering type (only if \p interpolation_type=0).
+       \param centering_y Set centering type (only if \p interpolation_type=0).
+       \param centering_z Set centering type (only if \p interpolation_type=0).
+       \param centering_c Set centering type (only if \p interpolation_type=0).
+     **/
+    CImg<T>& resize(const CImgDisplay& disp,
+                    const int interpolation_type=1, const unsigned int boundary_conditions=0,
+                    const float centering_x = 0, const float centering_y = 0,
+                    const float centering_z = 0, const float centering_c = 0) {
+      return resize(disp.width(),disp.height(),_depth,_spectrum,interpolation_type,boundary_conditions,
+                    centering_x,centering_y,centering_z,centering_c);
+    }
+
+    //! Resize image to dimensions of a display window \newinstance.
+    CImg<T> get_resize(const CImgDisplay& disp,
+                       const int interpolation_type=1, const unsigned int boundary_conditions=0,
+                       const float centering_x = 0, const float centering_y = 0,
+                       const float centering_z = 0, const float centering_c = 0) const {
+      return get_resize(disp.width(),disp.height(),_depth,_spectrum,interpolation_type,boundary_conditions,
+                        centering_x,centering_y,centering_z,centering_c);
+    }
+
+    //! Resize image to half-size along XY axes, using an optimized filter.
+    CImg<T>& resize_halfXY() {
+      return get_resize_halfXY().move_to(*this);
+    }
+
+    //! Resize image to half-size along XY axes, using an optimized filter \newinstance.
+    CImg<T> get_resize_halfXY() const {
+      if (is_empty()) return *this;
+      const Tfloat mask[9] = { 0.07842776544f, 0.1231940459f, 0.07842776544f,
+                              0.1231940459f,  0.1935127547f, 0.1231940459f,
+                              0.07842776544f, 0.1231940459f, 0.07842776544f };
+      T I[9] = { 0 };
+      CImg<T> res(_width/2,_height/2,_depth,_spectrum);
+      T *ptrd = res._data;
+      cimg_forZC(*this,z,c) cimg_for3x3(*this,x,y,z,c,I,T)
+        if (x%2 && y%2) *(ptrd++) = (T)
+                          (I[0]*mask[0] + I[1]*mask[1] + I[2]*mask[2] +
+                           I[3]*mask[3] + I[4]*mask[4] + I[5]*mask[5] +
+                           I[6]*mask[6] + I[7]*mask[7] + I[8]*mask[8]);
+      return res;
+    }
+
+    //! Resize image to double-size, using the Scale2X algorithm.
+    /**
+       \note Use anisotropic upscaling algorithm
+       <a href="http://scale2x.sourceforge.net/algorithm.html">described here</a>.
+    **/
+    CImg<T>& resize_doubleXY() {
+      return get_resize_doubleXY().move_to(*this);
+    }
+
+    //! Resize image to double-size, using the Scale2X algorithm \newinstance.
+    CImg<T> get_resize_doubleXY() const {
+#define _cimg_gs2x_for3(bound,i) \
+ for (int i = 0, _p1##i = 0, \
+      _n1##i = 1>=(bound)?(int)(bound) - 1:1; \
+      _n1##i<(int)(bound) || i==--_n1##i; \
+      _p1##i = i++, ++_n1##i, ptrd1+=(res)._width, ptrd2+=(res)._width)
+
+#define _cimg_gs2x_for3x3(img,x,y,z,c,I,T) \
+  _cimg_gs2x_for3((img)._height,y) for (int x = 0, \
+   _p1##x = 0, \
+   _n1##x = (int)( \
+   (I[1] = (T)(img)(_p1##x,_p1##y,z,c)), \
+   (I[3] = I[4] = (T)(img)(0,y,z,c)), \
+   (I[7] = (T)(img)(0,_n1##y,z,c)),	\
+   1>=(img)._width?(img).width() - 1:1); \
+   (_n1##x<(img).width() && ( \
+   (I[2] = (T)(img)(_n1##x,_p1##y,z,c)), \
+   (I[5] = (T)(img)(_n1##x,y,z,c)), \
+   (I[8] = (T)(img)(_n1##x,_n1##y,z,c)),1)) || \
+   x==--_n1##x; \
+   I[1] = I[2], \
+   I[3] = I[4], I[4] = I[5], \
+   I[7] = I[8], \
+   _p1##x = x++, ++_n1##x)
+
+      if (is_empty()) return *this;
+      CImg<T> res(_width<<1,_height<<1,_depth,_spectrum);
+      CImg_3x3(I,T);
+      cimg_forZC(*this,z,c) {
+        T
+          *ptrd1 = res.data(0,0,z,c),
+          *ptrd2 = ptrd1 + res._width;
+        _cimg_gs2x_for3x3(*this,x,y,z,c,I,T) {
+          if (Icp!=Icn && Ipc!=Inc) {
+            *(ptrd1++) = Ipc==Icp?Ipc:Icc;
+            *(ptrd1++) = Icp==Inc?Inc:Icc;
+            *(ptrd2++) = Ipc==Icn?Ipc:Icc;
+            *(ptrd2++) = Icn==Inc?Inc:Icc;
+          } else { *(ptrd1++) = Icc; *(ptrd1++) = Icc; *(ptrd2++) = Icc; *(ptrd2++) = Icc; }
+        }
+      }
+      return res;
+    }
+
+    //! Resize image to triple-size, using the Scale3X algorithm.
+    /**
+       \note Use anisotropic upscaling algorithm
+       <a href="http://scale2x.sourceforge.net/algorithm.html">described here</a>.
+    **/
+    CImg<T>& resize_tripleXY() {
+      return get_resize_tripleXY().move_to(*this);
+    }
+
+    //! Resize image to triple-size, using the Scale3X algorithm \newinstance.
+    CImg<T> get_resize_tripleXY() const {
+#define _cimg_gs3x_for3(bound,i) \
+ for (int i = 0, _p1##i = 0, \
+      _n1##i = 1>=(bound)?(int)(bound) - 1:1; \
+      _n1##i<(int)(bound) || i==--_n1##i; \
+      _p1##i = i++, ++_n1##i, ptrd1+=2*(res)._width, ptrd2+=2*(res)._width, ptrd3+=2*(res)._width)
+
+#define _cimg_gs3x_for3x3(img,x,y,z,c,I,T) \
+  _cimg_gs3x_for3((img)._height,y) for (int x = 0, \
+   _p1##x = 0, \
+   _n1##x = (int)( \
+   (I[0] = I[1] = (T)(img)(_p1##x,_p1##y,z,c)), \
+   (I[3] = I[4] = (T)(img)(0,y,z,c)), \
+   (I[6] = I[7] = (T)(img)(0,_n1##y,z,c)),	\
+   1>=(img)._width?(img).width() - 1:1); \
+   (_n1##x<(img).width() && ( \
+   (I[2] = (T)(img)(_n1##x,_p1##y,z,c)), \
+   (I[5] = (T)(img)(_n1##x,y,z,c)), \
+   (I[8] = (T)(img)(_n1##x,_n1##y,z,c)),1)) || \
+   x==--_n1##x; \
+   I[0] = I[1], I[1] = I[2], \
+   I[3] = I[4], I[4] = I[5], \
+   I[6] = I[7], I[7] = I[8], \
+   _p1##x = x++, ++_n1##x)
+
+      if (is_empty()) return *this;
+      CImg<T> res(3*_width,3*_height,_depth,_spectrum);
+      CImg_3x3(I,T);
+      cimg_forZC(*this,z,c) {
+        T
+          *ptrd1 = res.data(0,0,z,c),
+          *ptrd2 = ptrd1 + res._width,
+          *ptrd3 = ptrd2 + res._width;
+        _cimg_gs3x_for3x3(*this,x,y,z,c,I,T) {
+          if (Icp != Icn && Ipc != Inc) {
+            *(ptrd1++) = Ipc==Icp?Ipc:Icc;
+            *(ptrd1++) = (Ipc==Icp && Icc!=Inp) || (Icp==Inc && Icc!=Ipp)?Icp:Icc;
+            *(ptrd1++) = Icp==Inc?Inc:Icc;
+            *(ptrd2++) = (Ipc==Icp && Icc!=Ipn) || (Ipc==Icn && Icc!=Ipp)?Ipc:Icc;
+            *(ptrd2++) = Icc;
+            *(ptrd2++) = (Icp==Inc && Icc!=Inn) || (Icn==Inc && Icc!=Inp)?Inc:Icc;
+            *(ptrd3++) = Ipc==Icn?Ipc:Icc;
+            *(ptrd3++) = (Ipc==Icn && Icc!=Inn) || (Icn==Inc && Icc!=Ipn)?Icn:Icc;
+            *(ptrd3++) = Icn==Inc?Inc:Icc;
+          } else {
+            *(ptrd1++) = Icc; *(ptrd1++) = Icc; *(ptrd1++) = Icc;
+            *(ptrd2++) = Icc; *(ptrd2++) = Icc; *(ptrd2++) = Icc;
+            *(ptrd3++) = Icc; *(ptrd3++) = Icc; *(ptrd3++) = Icc;
+          }
+        }
+      }
+      return res;
+    }
+
+    //! Mirror image content along specified axis.
+    /**
+       \param axis Mirror axis
+    **/
+    CImg<T>& mirror(const char axis) {
+      if (is_empty()) return *this;
+      T *pf, *pb, *buf = 0;
+      switch (cimg::uncase(axis)) {
+      case 'x' : {
+        pf = _data; pb = data(_width - 1);
+        const unsigned int width2 = _width/2;
+        for (unsigned int yzv = 0; yzv<_height*_depth*_spectrum; ++yzv) {
+          for (unsigned int x = 0; x<width2; ++x) { const T val = *pf; *(pf++) = *pb; *(pb--) = val; }
+          pf+=_width - width2;
+          pb+=_width + width2;
+        }
+      } break;
+      case 'y' : {
+        buf = new T[_width];
+        pf = _data; pb = data(0,_height - 1);
+        const unsigned int height2 = _height/2;
+        for (unsigned int zv = 0; zv<_depth*_spectrum; ++zv) {
+          for (unsigned int y = 0; y<height2; ++y) {
+            std::memcpy(buf,pf,_width*sizeof(T));
+            std::memcpy(pf,pb,_width*sizeof(T));
+            std::memcpy(pb,buf,_width*sizeof(T));
+            pf+=_width;
+            pb-=_width;
+          }
+          pf+=(unsigned long)_width*(_height - height2);
+          pb+=(unsigned long)_width*(_height + height2);
+        }
+      } break;
+      case 'z' : {
+        buf = new T[(unsigned long)_width*_height];
+        pf = _data; pb = data(0,0,_depth - 1);
+        const unsigned int depth2 = _depth/2;
+        cimg_forC(*this,c) {
+          for (unsigned int z = 0; z<depth2; ++z) {
+            std::memcpy(buf,pf,_width*_height*sizeof(T));
+            std::memcpy(pf,pb,_width*_height*sizeof(T));
+            std::memcpy(pb,buf,_width*_height*sizeof(T));
+            pf+=(unsigned long)_width*_height;
+            pb-=(unsigned long)_width*_height;
+          }
+          pf+=(unsigned long)_width*_height*(_depth - depth2);
+          pb+=(unsigned long)_width*_height*(_depth + depth2);
+        }
+      } break;
+      case 'c' : {
+        buf = new T[(unsigned long)_width*_height*_depth];
+        pf = _data; pb = data(0,0,0,_spectrum - 1);
+        const unsigned int _spectrum2 = _spectrum/2;
+        for (unsigned int v = 0; v<_spectrum2; ++v) {
+          std::memcpy(buf,pf,_width*_height*_depth*sizeof(T));
+          std::memcpy(pf,pb,_width*_height*_depth*sizeof(T));
+          std::memcpy(pb,buf,_width*_height*_depth*sizeof(T));
+          pf+=(unsigned long)_width*_height*_depth;
+          pb-=(unsigned long)_width*_height*_depth;
+        }
+      } break;
+      default :
+        throw CImgArgumentException(_cimg_instance
+                                    "mirror(): Invalid specified axis '%c'.",
+                                    cimg_instance,
+                                    axis);
+      }
+      delete[] buf;
+      return *this;
+    }
+
+    //! Mirror image content along specified axis \newinstance.
+    CImg<T> get_mirror(const char axis) const {
+      return (+*this).mirror(axis);
+    }
+
+    //! Mirror image content along specified axes.
+    /**
+       \param axes Mirror axes, as a C-string.
+       \note \c axes may contains multiple characters, e.g. \c "xyz"
+    **/
+    CImg<T>& mirror(const char *const axes) {
+      for (const char *s = axes; *s; ++s) mirror(*s);
+      return *this;
+    }
+
+    //! Mirror image content along specified axes \newinstance.
+    CImg<T> get_mirror(const char *const axes) const {
+      return (+*this).mirror(axes);
+    }
+
+    //! Shift image content.
+    /**
+       \param delta_x Amount of displacement along the X-axis.
+       \param delta_y Amount of displacement along the Y-axis.
+       \param delta_z Amount of displacement along the Z-axis.
+       \param delta_c Amount of displacement along the C-axis.
+       \param boundary_conditions Border condition.
+
+       - \c boundary_conditions can be:
+          - 0: Zero border condition (Dirichlet).
+          - 1: Nearest neighbors (Neumann).
+          - 2: Repeat Pattern (Fourier style).
+    **/
+    CImg<T>& shift(const int delta_x, const int delta_y=0, const int delta_z=0, const int delta_c=0,
+                   const int boundary_conditions=0) {
+      if (is_empty()) return *this;
+      if (delta_x) // Shift along X-axis
+        switch (boundary_conditions) {
+        case 0 :
+          if (cimg::abs(delta_x)>=width()) return fill(0);
+          if (delta_x<0) cimg_forYZC(*this,y,z,c) {
+            std::memmove(data(0,y,z,c),data(-delta_x,y,z,c),(_width + delta_x)*sizeof(T));
+            std::memset(data(_width + delta_x,y,z,c),0,-delta_x*sizeof(T));
+          } else cimg_forYZC(*this,y,z,c) {
+            std::memmove(data(delta_x,y,z,c),data(0,y,z,c),(_width-delta_x)*sizeof(T));
+            std::memset(data(0,y,z,c),0,delta_x*sizeof(T));
+          }
+          break;
+        case 1 :
+          if (delta_x<0) {
+            const int ndelta_x = (-delta_x>=width())?width() - 1:-delta_x;
+            if (!ndelta_x) return *this;
+            cimg_forYZC(*this,y,z,c) {
+              std::memmove(data(0,y,z,c),data(ndelta_x,y,z,c),(_width-ndelta_x)*sizeof(T));
+              T *ptrd = data(_width - 1,y,z,c);
+              const T val = *ptrd;
+              for (int l = 0; l<ndelta_x - 1; ++l) *(--ptrd) = val;
+            }
+          } else {
+            const int ndelta_x = (delta_x>=width())?width() - 1:delta_x;
+            if (!ndelta_x) return *this;
+            cimg_forYZC(*this,y,z,c) {
+              std::memmove(data(ndelta_x,y,z,c),data(0,y,z,c),(_width-ndelta_x)*sizeof(T));
+              T *ptrd = data(0,y,z,c);
+              const T val = *ptrd;
+              for (int l = 0; l<ndelta_x - 1; ++l) *(++ptrd) = val;
+            }
+          }
+          break;
+        default : {
+          const int ml = cimg::mod(-delta_x,width()), ndelta_x = (ml<=width()/2)?ml:(ml-width());
+          if (!ndelta_x) return *this;
+          T *const buf = new T[(unsigned int)cimg::abs(ndelta_x)];
+          if (ndelta_x>0) cimg_forYZC(*this,y,z,c) {
+            std::memcpy(buf,data(0,y,z,c),ndelta_x*sizeof(T));
+            std::memmove(data(0,y,z,c),data(ndelta_x,y,z,c),(_width-ndelta_x)*sizeof(T));
+            std::memcpy(data(_width-ndelta_x,y,z,c),buf,ndelta_x*sizeof(T));
+          } else cimg_forYZC(*this,y,z,c) {
+            std::memcpy(buf,data(_width + ndelta_x,y,z,c),-ndelta_x*sizeof(T));
+            std::memmove(data(-ndelta_x,y,z,c),data(0,y,z,c),(_width + ndelta_x)*sizeof(T));
+            std::memcpy(data(0,y,z,c),buf,-ndelta_x*sizeof(T));
+          }
+          delete[] buf;
+        }
+        }
+
+      if (delta_y) // Shift along Y-axis
+        switch (boundary_conditions) {
+        case 0 :
+          if (cimg::abs(delta_y)>=height()) return fill(0);
+          if (delta_y<0) cimg_forZC(*this,z,c) {
+            std::memmove(data(0,0,z,c),data(0,-delta_y,z,c),_width*(_height + delta_y)*sizeof(T));
+            std::memset(data(0,_height + delta_y,z,c),0,-delta_y*_width*sizeof(T));
+          } else cimg_forZC(*this,z,c) {
+            std::memmove(data(0,delta_y,z,c),data(0,0,z,c),_width*(_height-delta_y)*sizeof(T));
+            std::memset(data(0,0,z,c),0,delta_y*_width*sizeof(T));
+          }
+          break;
+        case 1 :
+          if (delta_y<0) {
+            const int ndelta_y = (-delta_y>=height())?height() - 1:-delta_y;
+            if (!ndelta_y) return *this;
+            cimg_forZC(*this,z,c) {
+              std::memmove(data(0,0,z,c),data(0,ndelta_y,z,c),_width*(_height-ndelta_y)*sizeof(T));
+              T *ptrd = data(0,_height-ndelta_y,z,c), *ptrs = data(0,_height - 1,z,c);
+              for (int l = 0; l<ndelta_y - 1; ++l) { std::memcpy(ptrd,ptrs,_width*sizeof(T)); ptrd+=_width; }
+            }
+          } else {
+            const int ndelta_y = (delta_y>=height())?height() - 1:delta_y;
+            if (!ndelta_y) return *this;
+            cimg_forZC(*this,z,c) {
+              std::memmove(data(0,ndelta_y,z,c),data(0,0,z,c),_width*(_height-ndelta_y)*sizeof(T));
+              T *ptrd = data(0,1,z,c), *ptrs = data(0,0,z,c);
+              for (int l = 0; l<ndelta_y - 1; ++l) { std::memcpy(ptrd,ptrs,_width*sizeof(T)); ptrd+=_width; }
+            }
+          }
+          break;
+        default : {
+          const int ml = cimg::mod(-delta_y,height()), ndelta_y = (ml<=height()/2)?ml:(ml-height());
+          if (!ndelta_y) return *this;
+          T *const buf = new T[(unsigned long)_width*cimg::abs(ndelta_y)];
+          if (ndelta_y>0) cimg_forZC(*this,z,c) {
+            std::memcpy(buf,data(0,0,z,c),_width*ndelta_y*sizeof(T));
+            std::memmove(data(0,0,z,c),data(0,ndelta_y,z,c),_width*(_height-ndelta_y)*sizeof(T));
+            std::memcpy(data(0,_height-ndelta_y,z,c),buf,_width*ndelta_y*sizeof(T));
+          } else cimg_forZC(*this,z,c) {
+            std::memcpy(buf,data(0,_height + ndelta_y,z,c),-ndelta_y*_width*sizeof(T));
+            std::memmove(data(0,-ndelta_y,z,c),data(0,0,z,c),_width*(_height + ndelta_y)*sizeof(T));
+            std::memcpy(data(0,0,z,c),buf,-ndelta_y*_width*sizeof(T));
+          }
+          delete[] buf;
+        }
+        }
+
+      if (delta_z) // Shift along Z-axis
+        switch (boundary_conditions) {
+        case 0 :
+          if (cimg::abs(delta_z)>=depth()) return fill(0);
+          if (delta_z<0) cimg_forC(*this,c) {
+            std::memmove(data(0,0,0,c),data(0,0,-delta_z,c),_width*_height*(_depth + delta_z)*sizeof(T));
+            std::memset(data(0,0,_depth + delta_z,c),0,_width*_height*(-delta_z)*sizeof(T));
+          } else cimg_forC(*this,c) {
+            std::memmove(data(0,0,delta_z,c),data(0,0,0,c),_width*_height*(_depth-delta_z)*sizeof(T));
+            std::memset(data(0,0,0,c),0,delta_z*_width*_height*sizeof(T));
+          }
+          break;
+        case 1 :
+          if (delta_z<0) {
+            const int ndelta_z = (-delta_z>=depth())?depth() - 1:-delta_z;
+            if (!ndelta_z) return *this;
+            cimg_forC(*this,c) {
+              std::memmove(data(0,0,0,c),data(0,0,ndelta_z,c),_width*_height*(_depth-ndelta_z)*sizeof(T));
+              T *ptrd = data(0,0,_depth-ndelta_z,c), *ptrs = data(0,0,_depth - 1,c);
+              for (int l = 0; l<ndelta_z - 1; ++l) {
+                std::memcpy(ptrd,ptrs,_width*_height*sizeof(T)); ptrd+=(unsigned long)_width*_height;
+              }
+            }
+          } else {
+            const int ndelta_z = (delta_z>=depth())?depth() - 1:delta_z;
+            if (!ndelta_z) return *this;
+            cimg_forC(*this,c) {
+              std::memmove(data(0,0,ndelta_z,c),data(0,0,0,c),_width*_height*(_depth-ndelta_z)*sizeof(T));
+              T *ptrd = data(0,0,1,c), *ptrs = data(0,0,0,c);
+              for (int l = 0; l<ndelta_z - 1; ++l) {
+                std::memcpy(ptrd,ptrs,_width*_height*sizeof(T)); ptrd+=(unsigned long)_width*_height;
+              }
+            }
+          }
+          break;
+        default : {
+          const int ml = cimg::mod(-delta_z,depth()), ndelta_z = (ml<=depth()/2)?ml:(ml-depth());
+          if (!ndelta_z) return *this;
+          T *const buf = new T[(unsigned long)_width*_height*cimg::abs(ndelta_z)];
+          if (ndelta_z>0) cimg_forC(*this,c) {
+            std::memcpy(buf,data(0,0,0,c),_width*_height*ndelta_z*sizeof(T));
+            std::memmove(data(0,0,0,c),data(0,0,ndelta_z,c),_width*_height*(_depth-ndelta_z)*sizeof(T));
+            std::memcpy(data(0,0,_depth-ndelta_z,c),buf,_width*_height*ndelta_z*sizeof(T));
+          } else cimg_forC(*this,c) {
+            std::memcpy(buf,data(0,0,_depth + ndelta_z,c),-ndelta_z*_width*_height*sizeof(T));
+            std::memmove(data(0,0,-ndelta_z,c),data(0,0,0,c),_width*_height*(_depth + ndelta_z)*sizeof(T));
+            std::memcpy(data(0,0,0,c),buf,-ndelta_z*_width*_height*sizeof(T));
+          }
+          delete[] buf;
+        }
+        }
+
+      if (delta_c) // Shift along C-axis
+        switch (boundary_conditions) {
+        case 0 :
+          if (cimg::abs(delta_c)>=spectrum()) return fill(0);
+          if (delta_c<0) {
+            std::memmove(_data,data(0,0,0,-delta_c),_width*_height*_depth*(_spectrum + delta_c)*sizeof(T));
+            std::memset(data(0,0,0,_spectrum + delta_c),0,_width*_height*_depth*(-delta_c)*sizeof(T));
+          } else {
+            std::memmove(data(0,0,0,delta_c),_data,_width*_height*_depth*(_spectrum-delta_c)*sizeof(T));
+            std::memset(_data,0,delta_c*_width*_height*_depth*sizeof(T));
+          }
+          break;
+        case 1 :
+          if (delta_c<0) {
+            const int ndelta_c = (-delta_c>=spectrum())?spectrum() - 1:-delta_c;
+            if (!ndelta_c) return *this;
+            std::memmove(_data,data(0,0,0,ndelta_c),_width*_height*_depth*(_spectrum-ndelta_c)*sizeof(T));
+            T *ptrd = data(0,0,0,_spectrum-ndelta_c), *ptrs = data(0,0,0,_spectrum - 1);
+            for (int l = 0; l<ndelta_c - 1; ++l) {
+              std::memcpy(ptrd,ptrs,_width*_height*_depth*sizeof(T)); ptrd+=(unsigned long)_width*_height*_depth;
+            }
+          } else {
+            const int ndelta_c = (delta_c>=spectrum())?spectrum() - 1:delta_c;
+            if (!ndelta_c) return *this;
+            std::memmove(data(0,0,0,ndelta_c),_data,_width*_height*_depth*(_spectrum-ndelta_c)*sizeof(T));
+            T *ptrd = data(0,0,0,1);
+            for (int l = 0; l<ndelta_c - 1; ++l) {
+              std::memcpy(ptrd,_data,_width*_height*_depth*sizeof(T)); ptrd+=(unsigned long)_width*_height*_depth;
+            }
+          }
+          break;
+        default : {
+          const int ml = cimg::mod(-delta_c,spectrum()), ndelta_c = (ml<=spectrum()/2)?ml:(ml-spectrum());
+          if (!ndelta_c) return *this;
+          T *const buf = new T[(unsigned long)_width*_height*_depth*cimg::abs(ndelta_c)];
+          if (ndelta_c>0) {
+            std::memcpy(buf,_data,_width*_height*_depth*ndelta_c*sizeof(T));
+            std::memmove(_data,data(0,0,0,ndelta_c),_width*_height*_depth*(_spectrum-ndelta_c)*sizeof(T));
+            std::memcpy(data(0,0,0,_spectrum-ndelta_c),buf,_width*_height*_depth*ndelta_c*sizeof(T));
+          } else {
+            std::memcpy(buf,data(0,0,0,_spectrum + ndelta_c),-ndelta_c*_width*_height*_depth*sizeof(T));
+            std::memmove(data(0,0,0,-ndelta_c),_data,_width*_height*_depth*(_spectrum + ndelta_c)*sizeof(T));
+            std::memcpy(_data,buf,-ndelta_c*_width*_height*_depth*sizeof(T));
+          }
+          delete[] buf;
+        }
+        }
+      return *this;
+    }
+
+    //! Shift image content \newinstance.
+    CImg<T> get_shift(const int delta_x, const int delta_y=0, const int delta_z=0, const int delta_c=0,
+                          const int boundary_conditions=0) const {
+      return (+*this).shift(delta_x,delta_y,delta_z,delta_c,boundary_conditions);
+    }
+
+    //! Permute axes order.
+    /**
+       \param order Axes permutations, as a C-string of 4 characters.
+       This function permutes image content regarding the specified axes permutation.
+    **/
+    CImg<T>& permute_axes(const char *const order) {
+      return get_permute_axes(order).move_to(*this);
+    }
+
+    //! Permute axes order \newinstance.
+    CImg<T> get_permute_axes(const char *const order) const {
+      const T foo = (T)0;
+      return _get_permute_axes(order,foo);
+    }
+
+    template<typename t>
+    CImg<t> _get_permute_axes(const char *const permut, const t&) const {
+      if (is_empty() || !permut) return CImg<t>(*this,false);
+      CImg<t> res;
+      const T* ptrs = _data;
+      if (!cimg::strncasecmp(permut,"xyzc",4)) return +*this;
+      if (!cimg::strncasecmp(permut,"xycz",4)) {
+	res.assign(_width,_height,_spectrum,_depth);
+        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	cimg_forXYZC(*this,x,y,z,c) res(x,y,c,z,wh,whd) = (t)*(ptrs++);
+      }
+      if (!cimg::strncasecmp(permut,"xzyc",4)) {
+	res.assign(_width,_depth,_height,_spectrum);
+        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	cimg_forXYZC(*this,x,y,z,c) res(x,z,y,c,wh,whd) = (t)*(ptrs++);
+      }
+      if (!cimg::strncasecmp(permut,"xzcy",4)) {
+	res.assign(_width,_depth,_spectrum,_height);
+        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	cimg_forXYZC(*this,x,y,z,c) res(x,z,c,y,wh,whd) = (t)*(ptrs++);
+      }
+      if (!cimg::strncasecmp(permut,"xcyz",4)) {
+	res.assign(_width,_spectrum,_height,_depth);
+        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	cimg_forXYZC(*this,x,y,z,c) res(x,c,y,z,wh,whd) = (t)*(ptrs++);
+      }
+      if (!cimg::strncasecmp(permut,"xczy",4)) {
+	res.assign(_width,_spectrum,_depth,_height);
+        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	cimg_forXYZC(*this,x,y,z,c) res(x,c,z,y,wh,whd) = (t)*(ptrs++);
+      }
+      if (!cimg::strncasecmp(permut,"yxzc",4)) {
+	res.assign(_height,_width,_depth,_spectrum);
+        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	cimg_forXYZC(*this,x,y,z,c) res(y,x,z,c,wh,whd) = (t)*(ptrs++);
+      }
+      if (!cimg::strncasecmp(permut,"yxcz",4)) {
+	res.assign(_height,_width,_spectrum,_depth);
+        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	cimg_forXYZC(*this,x,y,z,c) res(y,x,c,z,wh,whd) = (t)*(ptrs++);
+      }
+      if (!cimg::strncasecmp(permut,"yzxc",4)) {
+	res.assign(_height,_depth,_width,_spectrum);
+        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	cimg_forXYZC(*this,x,y,z,c) res(y,z,x,c,wh,whd) = (t)*(ptrs++);
+      }
+      if (!cimg::strncasecmp(permut,"yzcx",4)) {
+	res.assign(_height,_depth,_spectrum,_width);
+	switch (_width) {
+	case 1 : {
+	  t *ptr_r = res.data(0,0,0,0);
+	  for (unsigned int siz = _height*_depth*_spectrum; siz; --siz) {
+	    *(ptr_r++) = (t)*(ptrs++);
+	  }
+	} break;
+	case 2 : {
+	  t *ptr_r = res.data(0,0,0,0), *ptr_g = res.data(0,0,0,1);
+	  for (unsigned int siz = _height*_depth*_spectrum; siz; --siz) {
+	    *(ptr_r++) = (t)*(ptrs++); *(ptr_g++) = (t)*(ptrs++);
+	  }
+	} break;
+	case 3 : { // Optimization for the classical conversion from interleaved RGB to planar RGB
+	  t *ptr_r = res.data(0,0,0,0), *ptr_g = res.data(0,0,0,1), *ptr_b = res.data(0,0,0,2);
+	  for (unsigned int siz = _height*_depth*_spectrum; siz; --siz) {
+	    *(ptr_r++) = (t)*(ptrs++); *(ptr_g++) = (t)*(ptrs++); *(ptr_b++) = (t)*(ptrs++);
+	  }
+	} break;
+	case 4 : { // Optimization for the classical conversion from interleaved RGBA to planar RGBA
+	  t *ptr_r = res.data(0,0,0,0), *ptr_g = res.data(0,0,0,1), *ptr_b = res.data(0,0,0,2), *ptr_a = res.data(0,0,0,3);
+	  for (unsigned int siz = _height*_depth*_spectrum; siz; --siz) {
+	    *(ptr_r++) = (t)*(ptrs++); *(ptr_g++) = (t)*(ptrs++); *(ptr_b++) = (t)*(ptrs++); *(ptr_a++) = (t)*(ptrs++);
+	  }
+	} break;
+	default : {
+          const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	  cimg_forXYZC(*this,x,y,z,c) res(y,z,c,x,wh,whd) = *(ptrs++);
+          return res;
+	}
+	}
+      }
+      if (!cimg::strncasecmp(permut,"ycxz",4)) {
+	res.assign(_height,_spectrum,_width,_depth);
+        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	cimg_forXYZC(*this,x,y,z,c) res(y,c,x,z,wh,whd) = (t)*(ptrs++);
+      }
+      if (!cimg::strncasecmp(permut,"yczx",4)) {
+	res.assign(_height,_spectrum,_depth,_width);
+        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	cimg_forXYZC(*this,x,y,z,c) res(y,c,z,x,wh,whd) = (t)*(ptrs++);
+      }
+      if (!cimg::strncasecmp(permut,"zxyc",4)) {
+	res.assign(_depth,_width,_height,_spectrum);
+        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	cimg_forXYZC(*this,x,y,z,c) res(z,x,y,c,wh,whd) = (t)*(ptrs++);
+      }
+      if (!cimg::strncasecmp(permut,"zxcy",4)) {
+	res.assign(_depth,_width,_spectrum,_height);
+        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	cimg_forXYZC(*this,x,y,z,c) res(z,x,c,y,wh,whd) = (t)*(ptrs++);
+      }
+      if (!cimg::strncasecmp(permut,"zyxc",4)) {
+	res.assign(_depth,_height,_width,_spectrum);
+        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	cimg_forXYZC(*this,x,y,z,c) res(z,y,x,c,wh,whd) = (t)*(ptrs++);
+      }
+      if (!cimg::strncasecmp(permut,"zycx",4)) {
+	res.assign(_depth,_height,_spectrum,_width);
+        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	cimg_forXYZC(*this,x,y,z,c) res(z,y,c,x,wh,whd) = (t)*(ptrs++);
+      }
+      if (!cimg::strncasecmp(permut,"zcxy",4)) {
+	res.assign(_depth,_spectrum,_width,_height);
+        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	cimg_forXYZC(*this,x,y,z,c) res(z,c,x,y,wh,whd) = (t)*(ptrs++);
+      }
+      if (!cimg::strncasecmp(permut,"zcyx",4)) {
+	res.assign(_depth,_spectrum,_height,_width);
+        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	cimg_forXYZC(*this,x,y,z,c) res(z,c,y,x,wh,whd) = (t)*(ptrs++);
+      }
+      if (!cimg::strncasecmp(permut,"cxyz",4)) {
+	res.assign(_spectrum,_width,_height,_depth);
+	switch (_spectrum) {
+	case 1 : {
+	  const T *ptr_r = data(0,0,0,0);
+	  t *ptrd = res._data;
+	  for (unsigned long siz = (unsigned long)_width*_height*_depth; siz; --siz) *(ptrd++) = (t)*(ptr_r++);
+	} break;
+	case 2 : {
+	  const T *ptr_r = data(0,0,0,0), *ptr_g = data(0,0,0,1);
+	  t *ptrd = res._data;
+	  for (unsigned long siz = (unsigned long)_width*_height*_depth; siz; --siz) {
+	    *(ptrd++) = (t)*(ptr_r++); *(ptrd++) = (t)*(ptr_g++);
+	  }
+	} break;
+	case 3 : { // Optimization for the classical conversion from planar RGB to interleaved RGB
+	  const T *ptr_r = data(0,0,0,0), *ptr_g = data(0,0,0,1), *ptr_b = data(0,0,0,2);
+	  t *ptrd = res._data;
+	  for (unsigned long siz = (unsigned long)_width*_height*_depth; siz; --siz) {
+	    *(ptrd++) = (t)*(ptr_r++); *(ptrd++) = (t)*(ptr_g++); *(ptrd++) = (t)*(ptr_b++);
+	  }
+	} break;
+	case 4 : { // Optimization for the classical conversion from planar RGBA to interleaved RGBA
+	  const T *ptr_r = data(0,0,0,0), *ptr_g = data(0,0,0,1), *ptr_b = data(0,0,0,2), *ptr_a = data(0,0,0,3);
+	  t *ptrd = res._data;
+	  for (unsigned long siz = (unsigned long)_width*_height*_depth; siz; --siz) {
+	    *(ptrd++) = (t)*(ptr_r++); *(ptrd++) = (t)*(ptr_g++); *(ptrd++) = (t)*(ptr_b++); *(ptrd++) = (t)*(ptr_a++);
+	  }
+	} break;
+	default : {
+          const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	  cimg_forXYZC(*this,x,y,z,c) res(c,x,y,z,wh,whd) = (t)*(ptrs++);
+	}
+	}
+      }
+      if (!cimg::strncasecmp(permut,"cxzy",4)) {
+	res.assign(_spectrum,_width,_depth,_height);
+        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	cimg_forXYZC(*this,x,y,z,c) res(c,x,z,y,wh,whd) = (t)*(ptrs++);
+      }
+      if (!cimg::strncasecmp(permut,"cyxz",4)) {
+	res.assign(_spectrum,_height,_width,_depth);
+        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	cimg_forXYZC(*this,x,y,z,c) res(c,y,x,z,wh,whd) = (t)*(ptrs++);
+      }
+      if (!cimg::strncasecmp(permut,"cyzx",4)) {
+	res.assign(_spectrum,_height,_depth,_width);
+        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	cimg_forXYZC(*this,x,y,z,c) res(c,y,z,x,wh,whd) = (t)*(ptrs++);
+      }
+      if (!cimg::strncasecmp(permut,"czxy",4)) {
+	res.assign(_spectrum,_depth,_width,_height);
+        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	cimg_forXYZC(*this,x,y,z,c) res(c,z,x,y,wh,whd) = (t)*(ptrs++);
+      }
+      if (!cimg::strncasecmp(permut,"czyx",4)) {
+	res.assign(_spectrum,_depth,_height,_width);
+        const unsigned long wh = (unsigned long)res._width*res._height, whd = wh*res._depth;
+	cimg_forXYZC(*this,x,y,z,c) res(c,z,y,x,wh,whd) = (t)*(ptrs++);
+      }
+      if (!res)
+        throw CImgArgumentException(_cimg_instance
+                                    "permute_axes(): Invalid specified permutation '%s'.",
+                                    cimg_instance,
+                                    permut);
+      return res;
+    }
+
+    //! Unroll pixel values along specified axis.
+    /**
+       \param axis Unroll axis (can be \c 'x', \c 'y', \c 'z' or c 'c').
+    **/
+    CImg<T>& unroll(const char axis) {
+      const unsigned int siz = size();
+      if (siz) switch (cimg::uncase(axis)) {
+      case 'x' : _width = siz; _height = _depth = _spectrum = 1; break;
+      case 'y' : _height = siz; _width = _depth = _spectrum = 1; break;
+      case 'z' : _depth = siz; _width = _height = _spectrum = 1; break;
+      default : _spectrum = siz; _width = _height = _depth = 1;
+      }
+      return *this;
+    }
+
+    //! Unroll pixel values along specified axis \newinstance.
+    CImg<T> get_unroll(const char axis) const {
+      return (+*this).unroll(axis);
+    }
+
+    //! Rotate image with arbitrary angle.
+    /**
+       \param angle Rotation angle, in degrees.
+       \param interpolation Type of interpolation. Can be <tt>{ 0=nearest | 1=linear | 2=cubic }</tt>.
+       \param boundary Boundary conditions. Can be <tt>{  0=dirichlet | 1=neumann | 2=periodic }</tt>.
+       \note Most of the time, size of the image is modified.
+    **/
+    CImg<T>& rotate(const float angle, const unsigned int interpolation=1, const unsigned int boundary=0) {
+      const float nangle = cimg::mod(angle,360.0f);
+      if (nangle==0.0f) return *this;
+      return get_rotate(angle,interpolation,boundary).move_to(*this);
+    }
+
+    //! Rotate image with arbitrary angle \newinstance.
+    CImg<T> get_rotate(const float angle, const unsigned int interpolation=1, const unsigned int boundary=0) const {
+      if (is_empty()) return *this;
+      CImg<T> res;
+      const float nangle = cimg::mod(angle,360.0f);
+      if (boundary!=1 && cimg::mod(nangle,90.0f)==0) { // Optimized version for orthogonal angles.
+        const int wm1 = width() - 1, hm1 = height() - 1;
+        const int iangle = (int)nangle/90;
+        switch (iangle) {
+        case 1 : { // 90 deg.
+          res.assign(_height,_width,_depth,_spectrum);
+          T *ptrd = res._data;
+          cimg_forXYZC(res,x,y,z,c) *(ptrd++) = (*this)(y,hm1-x,z,c);
+        } break;
+        case 2 : { // 180 deg.
+          res.assign(_width,_height,_depth,_spectrum);
+          T *ptrd = res._data;
+          cimg_forXYZC(res,x,y,z,c) *(ptrd++) = (*this)(wm1-x,hm1-y,z,c);
+        } break;
+        case 3 : { // 270 deg.
+          res.assign(_height,_width,_depth,_spectrum);
+          T *ptrd = res._data;
+          cimg_forXYZC(res,x,y,z,c) *(ptrd++) = (*this)(wm1-y,x,z,c);
+        } break;
+        default : // 0 deg.
+          return *this;
+        }
+      } else { // Generic angle.
+        const Tfloat vmin = (Tfloat)cimg::type<T>::min(), vmax = (Tfloat)cimg::type<T>::max();
+        const float
+          rad = (float)(nangle*cimg::PI/180.0),
+          ca = (float)std::cos(rad),
+          sa = (float)std::sin(rad),
+          ux = cimg::abs(_width*ca), uy = cimg::abs(_width*sa),
+          vx = cimg::abs(_height*sa), vy = cimg::abs(_height*ca),
+          w2 = 0.5f*_width, h2 = 0.5f*_height,
+          dw2 = 0.5f*(ux + vx), dh2 = 0.5f*(uy + vy);
+        res.assign((int)(ux + vx),(int)(uy + vy),_depth,_spectrum);
+        switch (boundary) {
+        case 0 : { // Dirichlet boundaries.
+          switch (interpolation) {
+          case 2 : { // Cubic interpolation.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=2048)
+#endif
+            cimg_forXYZC(res,x,y,z,c) {
+              const Tfloat val = cubic_atXY(w2 + (x-dw2)*ca + (y-dh2)*sa,h2 - (x-dw2)*sa + (y-dh2)*ca,z,c,0);
+              res(x,y,z,c) = (T)(val<vmin?vmin:val>vmax?vmax:val);
+            }
+          } break;
+          case 1 : { // Linear interpolation.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=2048)
+#endif
+            cimg_forXYZC(res,x,y,z,c)
+              res(x,y,z,c) = (T)linear_atXY(w2 + (x-dw2)*ca + (y-dh2)*sa,h2 - (x-dw2)*sa + (y-dh2)*ca,z,c,0);
+          } break;
+          default : { // Nearest-neighbor interpolation.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=2048)
+#endif
+            cimg_forXYZC(res,x,y,z,c)
+              res(x,y,z,c) = atXY((int)(w2 + (x-dw2)*ca + (y-dh2)*sa),(int)(h2 - (x-dw2)*sa + (y-dh2)*ca),z,c,0);
+          }
+          }
+        } break;
+        case 1 : { // Neumann boundaries.
+          switch (interpolation) {
+          case 2 : { // Cubic interpolation.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=2048)
+#endif
+            cimg_forXYZC(res,x,y,z,c) {
+              const Tfloat val = _cubic_atXY(w2 + (x-dw2)*ca + (y-dh2)*sa,h2 - (x-dw2)*sa + (y-dh2)*ca,z,c);
+              res(x,y,z,c) = (T)(val<vmin?vmin:val>vmax?vmax:val);
+            }
+          } break;
+          case 1 : { // Linear interpolation.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=2048)
+#endif
+            cimg_forXYZC(res,x,y,z,c)
+              res(x,y,z,c) = (T)_linear_atXY(w2 + (x-dw2)*ca + (y-dh2)*sa,h2 - (x-dw2)*sa + (y-dh2)*ca,z,c);
+          } break;
+          default : { // Nearest-neighbor interpolation.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=2048)
+#endif
+            cimg_forXYZC(res,x,y,z,c)
+              res(x,y,z,c) = _atXY((int)(w2 + (x-dw2)*ca + (y-dh2)*sa),(int)(h2 - (x-dw2)*sa + (y-dh2)*ca),z,c);
+          }
+          }
+        } break;
+        case 2 : { // Periodic boundaries.
+          switch (interpolation) {
+          case 2 : { // Cubic interpolation.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=2048)
+#endif
+            cimg_forXYZC(res,x,y,z,c) {
+              const Tfloat val = _cubic_atXY(cimg::mod(w2 + (x-dw2)*ca + (y-dh2)*sa,(float)width()),
+                                             cimg::mod(h2 - (x-dw2)*sa + (y-dh2)*ca,(float)height()),z,c);
+              res(x,y,z,c) = (T)(val<vmin?vmin:val>vmax?vmax:val);
+            }
+          } break;
+          case 1 : { // Linear interpolation.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=2048)
+#endif
+            cimg_forXYZC(res,x,y,z,c)
+              res(x,y,z,c) = (T)_linear_atXY(cimg::mod(w2 + (x-dw2)*ca + (y-dh2)*sa,(float)width()),
+                                             cimg::mod(h2 - (x-dw2)*sa + (y-dh2)*ca,(float)height()),z,c);
+          } break;
+          default : { // Nearest-neighbor interpolation.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=2048)
+#endif
+            cimg_forXYZC(res,x,y,z,c)
+              res(x,y,z,c) = (*this)(cimg::mod((int)(w2 + (x-dw2)*ca + (y-dh2)*sa),width()),
+                                     cimg::mod((int)(h2 - (x-dw2)*sa + (y-dh2)*ca),height()),z,c);
+          }
+          }
+        } break;
+	default :
+	  throw CImgArgumentException(_cimg_instance
+                                      "rotate(): Invalid specified border conditions %d "
+                                      "(should be { 0=dirichlet | 1=neumann | 2=periodic }).",
+				      cimg_instance,
+                                      boundary);
+        }
+      }
+      return res;
+    }
+
+    //! Rotate image with arbitrary angle, around a center point.
+    /**
+       \param angle Rotation angle, in degrees.
+       \param cx X-coordinate of the rotation center.
+       \param cy Y-coordinate of the rotation center.
+       \param zoom Zoom factor.
+       \param boundary_conditions Boundary conditions. Can be <tt>{ 0=dirichlet | 1=neumann | 2=periodic }</tt>.
+       \param interpolation_type Type of interpolation. Can be <tt>{ 0=nearest | 1=linear | 2=cubic }</tt>.
+    **/
+    CImg<T>& rotate(const float angle, const float cx, const float cy, const float zoom,
+                    const unsigned int interpolation=1, const unsigned int boundary=3) {
+      return get_rotate(angle,cx,cy,zoom,interpolation,boundary).move_to(*this);
+    }
+
+    //! Rotate image with arbitrary angle, around a center point \newinstance.
+    CImg<T> get_rotate(const float angle, const float cx, const float cy, const float zoom,
+                       const unsigned int interpolation=1, const unsigned int boundary=3) const {
+      if (interpolation>2)
+        throw CImgArgumentException(_cimg_instance
+                                    "rotate(): Invalid specified interpolation type %d "
+                                    "(should be { 0=none | 1=linear | 2=cubic }).",
+                                    cimg_instance,
+                                    interpolation);
+      if (is_empty()) return *this;
+      CImg<T> res(_width,_height,_depth,_spectrum);
+      const Tfloat vmin = (Tfloat)cimg::type<T>::min(), vmax = (Tfloat)cimg::type<T>::max();
+      const float
+        rad = (float)((angle*cimg::PI)/180.0),
+        ca = (float)std::cos(rad)/zoom,
+        sa = (float)std::sin(rad)/zoom;
+      switch (boundary) {
+      case 0 : {
+        switch (interpolation) {
+        case 2 : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=2048)
+#endif
+          cimg_forXYZC(res,x,y,z,c) {
+            const Tfloat val = cubic_atXY(cx + (x-cx)*ca + (y-cy)*sa,cy - (x-cx)*sa + (y-cy)*ca,z,c,0);
+            res(x,y,z,c) = (T)(val<vmin?vmin:val>vmax?vmax:val);
+          }
+        } break;
+        case 1 : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=2048)
+#endif
+          cimg_forXYZC(res,x,y,z,c)
+            res(x,y,z,c) = (T)linear_atXY(cx + (x-cx)*ca + (y-cy)*sa,cy - (x-cx)*sa + (y-cy)*ca,z,c,0);
+        } break;
+        default : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=2048)
+#endif
+          cimg_forXYZC(res,x,y,z,c)
+            res(x,y,z,c) = atXY((int)(cx + (x-cx)*ca + (y-cy)*sa),(int)(cy - (x-cx)*sa + (y-cy)*ca),z,c,0);
+        }
+        }
+      } break;
+      case 1 : {
+        switch (interpolation) {
+        case 2 : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=2048)
+#endif
+          cimg_forXYZC(res,x,y,z,c) {
+            const Tfloat val = _cubic_atXY(cx + (x-cx)*ca + (y-cy)*sa,cy - (x-cx)*sa + (y-cy)*ca,z,c);
+            res(x,y,z,c) = (T)(val<vmin?vmin:val>vmax?vmax:val);
+          }
+        } break;
+        case 1 : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=2048)
+#endif
+          cimg_forXYZC(res,x,y,z,c)
+            res(x,y,z,c) = (T)_linear_atXY(cx + (x-cx)*ca + (y-cy)*sa,cy - (x-cx)*sa + (y-cy)*ca,z,c);
+        } break;
+        default : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=2048)
+#endif
+          cimg_forXYZC(res,x,y,z,c)
+            res(x,y,z,c) = _atXY((int)(cx + (x-cx)*ca + (y-cy)*sa),(int)(cy - (x-cx)*sa + (y-cy)*ca),z,c);
+        }
+        }
+      } break;
+      case 2 : {
+        switch (interpolation) {
+        case 2 : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=2048)
+#endif
+          cimg_forXYZC(res,x,y,z,c) {
+            const Tfloat val = _cubic_atXY(cimg::mod(cx + (x-cx)*ca + (y-cy)*sa,(float)width()),
+                                           cimg::mod(cy - (x-cx)*sa + (y-cy)*ca,(float)height()),z,c);
+            res(x,y,z,c) = (T)(val<vmin?vmin:val>vmax?vmax:val);
+          }
+        } break;
+        case 1 : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=2048)
+#endif
+          cimg_forXYZC(res,x,y,z,c)
+            res(x,y,z,c) = (T)_linear_atXY(cimg::mod(cx + (x-cx)*ca + (y-cy)*sa,(float)width()),
+                                           cimg::mod(cy - (x-cx)*sa + (y-cy)*ca,(float)height()),z,c);
+        } break;
+        default : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=2048)
+#endif
+          cimg_forXYZC(res,x,y,z,c)
+            res(x,y,z,c) = (*this)(cimg::mod((int)(cx + (x-cx)*ca + (y-cy)*sa),width()),
+                                    cimg::mod((int)(cy - (x-cx)*sa + (y-cy)*ca),height()),z,c);
+        }
+        }
+      } break;
+      default :
+        throw CImgArgumentException(_cimg_instance
+                                    "rotate(): Invalid specified border conditions %d "
+                                    "(should be { 0=dirichlet | 1=neumann | 2=periodic }).",
+                                    cimg_instance,
+                                    boundary);
+      }
+      return res;
+    }
+
+    //! Warp image content by a warping field.
+    /**
+       \param warp Warping field.
+       \param mode Can be { 0=backward-absolute | 1=backward-relative | 2=forward-absolute | 3=foward-relative }
+       \param is_relative Tells if warping field gives absolute or relative warping coordinates.
+       \param interpolation Can be <tt>{ 0=nearest | 1=linear | 2=cubic }</tt>.
+       \param boundary_conditions Boundary conditions. Can be <tt>{ 0=dirichlet | 1=neumann | 2=periodic }</tt>.
+    **/
+    template<typename t>
+    CImg<T>& warp(const CImg<t>& warp, const unsigned int mode=0,
+                  const unsigned int interpolation=1, const unsigned int boundary_conditions=0) {
+      return get_warp(warp,mode,interpolation,boundary_conditions).move_to(*this);
+    }
+
+    //! Warp image content by a warping field \newinstance
+    template<typename t>
+    CImg<T> get_warp(const CImg<t>& warp, const unsigned int mode=0,
+                     const unsigned int interpolation=1, const unsigned int boundary_conditions=0) const {
+      if (is_empty() || !warp) return *this;
+      if (mode && !is_sameXYZ(warp))
+        throw CImgArgumentException(_cimg_instance
+                                    "warp(): Instance and specified relative warping field (%u,%u,%u,%u,%p) "
+                                    "have different XYZ dimensions.",
+                                    cimg_instance,
+                                    warp._width,warp._height,warp._depth,warp._spectrum,warp._data);
+
+      CImg<T> res(warp._width,warp._height,warp._depth,_spectrum);
+
+      if (warp._spectrum==1) { // 1d warping.
+        if (mode>=3) { // Forward-relative warp.
+          res.fill(0);
+          if (interpolation>=1) // Linear interpolation.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+            cimg_forYZC(res,y,z,c) {
+              const t *ptrs0 = warp.data(0,y,z); const T *ptrs = data(0,y,z,c);
+              cimg_forX(res,x) res.set_linear_atX(*(ptrs++),x + (float)*(ptrs0++),y,z,c);
+            }
+          else // Nearest-neighbor interpolation.
+            cimg_forYZC(res,y,z,c) {
+              const t *ptrs0 = warp.data(0,y,z); const T *ptrs = data(0,y,z,c);
+              cimg_forX(res,x) {
+                const int X = x + (int)*(ptrs0++);
+                if (X>=0 && X<width()) res(X,y,z,c) = *(ptrs++);
+              }
+            }
+        } else if (mode==2) { // Forward-absolute warp.
+          res.fill(0);
+          if (interpolation>=1) // Linear interpolation.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+            cimg_forYZC(res,y,z,c) {
+              const t *ptrs0 = warp.data(0,y,z); const T *ptrs = data(0,y,z,c);
+              cimg_forX(res,x) res.set_linear_atX(*(ptrs++),(float)*(ptrs0++),y,z,c);
+            }
+          else // Nearest-neighbor interpolation.
+            cimg_forYZC(res,y,z,c) {
+              const t *ptrs0 = warp.data(0,y,z); const T *ptrs = data(0,y,z,c);
+              cimg_forX(res,x) {
+                const int X = (int)*(ptrs0++);
+                if (X>=0 && X<width()) res(X,y,z,c) = *(ptrs++);
+              }
+            }
+        } else if (mode==1) { // Backward-relative warp.
+          if (interpolation==2) { // Cubic interpolation.
+            if (boundary_conditions==2) // Periodic boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_cubic_atX(cimg::mod(x - (float)*(ptrs0++),(float)_width),y,z,c);
+              }
+            else if (boundary_conditions==1) // Neumann boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_cubic_atX(x - (float)*(ptrs0++),y,z,c);
+              }
+            else // Dirichlet boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)cubic_atX(x - (float)*(ptrs0++),y,z,c,0);
+              }
+          } else if (interpolation==1) { // Linear interpolation.
+            if (boundary_conditions==2) // Periodic boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=1048576)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_linear_atX(cimg::mod(x - (float)*(ptrs0++),(float)_width),y,z,c);
+              }
+            else if (boundary_conditions==1) // Neumann boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=1048576)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_linear_atX(x - (float)*(ptrs0++),y,z,c);
+              }
+            else // Dirichlet boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=1048576)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)linear_atX(x - (float)*(ptrs0++),y,z,c,0);
+              }
+          } else { // Nearest-neighbor interpolation.
+            if (boundary_conditions==2) // Periodic boundaries.
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (*this)(cimg::mod(x - (int)*(ptrs0++),(int)_width),y,z,c);
+              }
+            else if (boundary_conditions==1) // Neumann boundaries.
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = _atX(x - (int)*(ptrs0++),y,z,c);
+              }
+            else // Dirichlet boundaries.
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = atX(x - (int)*(ptrs0++),y,z,c,0);
+              }
+          }
+        } else { // Absolute warp.
+          if (interpolation==2) { // Cubic interpolation.
+            if (boundary_conditions==2) // Periodic boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_cubic_atX(cimg::mod((float)*(ptrs0++),(float)_width),0,0,c);
+              }
+            else if (boundary_conditions==1) // Neumann boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_cubic_atX((float)*(ptrs0++),0,0,c);
+              }
+            else // Dirichlet boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)cubic_atX((float)*(ptrs0++),0,0,c,0);
+              }
+          } else if (interpolation==1) { // Linear interpolation.
+            if (boundary_conditions==2) // Periodic boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=1048576)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_linear_atX(cimg::mod((float)*(ptrs0++),(float)_width),0,0,c);
+              }
+            else if (boundary_conditions==1) // Neumann boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=1048576)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_linear_atX((float)*(ptrs0++),0,0,c);
+              }
+            else // Dirichlet boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=1048576)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)linear_atX((float)*(ptrs0++),0,0,c,0);
+              }
+          } else { // Nearest-neighbor interpolation.
+            if (boundary_conditions==2) // Periodic boundaries.
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (*this)(cimg::mod((int)*(ptrs0++),(int)_width),0,0,c);
+              }
+            else if (boundary_conditions==1) // Neumann boundaries.
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = _atX((int)*(ptrs0++),0,0,c);
+              }
+            else // Dirichlet boundaries.
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = atX((int)*(ptrs0++),0,0,c,0);
+              }
+          }
+        }
+
+      } else if (warp._spectrum==2) { // 2d warping.
+        if (mode>=3) { // Forward-relative warp.
+          res.fill(0);
+          if (interpolation>=1) // Linear interpolation.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+            cimg_forYZC(res,y,z,c) {
+              const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); const T *ptrs = data(0,y,z,c);
+              cimg_forX(res,x) res.set_linear_atXY(*(ptrs++),x + (float)*(ptrs0++),y + (float)*(ptrs1++),z,c);
+            }
+          else // Nearest-neighbor interpolation.
+            cimg_forYZC(res,y,z,c) {
+              const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); const T *ptrs = data(0,y,z,c);
+              cimg_forX(res,x) {
+                const int X = x + (int)*(ptrs0++), Y = y + (int)*(ptrs1++);
+                if (X>=0 && X<width() && Y>=0 && Y<height()) res(X,Y,z,c) = *(ptrs++);
+              }
+            }
+        } else if (mode==2) { // Forward-absolute warp.
+          res.fill(0);
+          if (interpolation>=1) // Linear interpolation.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+            cimg_forYZC(res,y,z,c) {
+              const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); const T *ptrs = data(0,y,z,c);
+              cimg_forX(res,x) res.set_linear_atXY(*(ptrs++),(float)*(ptrs0++),(float)*(ptrs1++),z,c);
+            }
+          else // Nearest-neighbor interpolation.
+            cimg_forYZC(res,y,z,c) {
+              const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); const T *ptrs = data(0,y,z,c);
+              cimg_forX(res,x) {
+                const int X = (int)*(ptrs0++), Y = (int)*(ptrs1++);
+                if (X>=0 && X<width() && Y>=0 && Y<height()) res(X,Y,z,c) = *(ptrs++);
+              }
+            }
+        } else if (mode==1) { // Backward-relative warp.
+          if (interpolation==2) { // Cubic interpolation.
+            if (boundary_conditions==2) // Periodic boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_cubic_atXY(cimg::mod(x - (float)*(ptrs0++),(float)_width),
+                                                            cimg::mod(y - (float)*(ptrs1++),(float)_height),z,c);
+              }
+            else if (boundary_conditions==1) // Neumann boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_cubic_atXY(x - (float)*(ptrs0++),y - (float)*(ptrs1++),z,c);
+              }
+            else // Dirichlet boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)cubic_atXY(x - (float)*(ptrs0++),y - (float)*(ptrs1++),z,c,0);
+              }
+          } else if (interpolation==1) { // Linear interpolation.
+            if (boundary_conditions==2) // Periodic boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=1048576)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_linear_atXY(cimg::mod(x - (float)*(ptrs0++),(float)_width),
+                                                             cimg::mod(y - (float)*(ptrs1++),(float)_height),z,c);
+              }
+            else if (boundary_conditions==1) // Neumann boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=1048576)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_linear_atXY(x - (float)*(ptrs0++),y - (float)*(ptrs1++),z,c);
+              }
+            else // Dirichlet boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=1048576)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)linear_atXY(x - (float)*(ptrs0++),y - (float)*(ptrs1++),z,c,0);
+              }
+          } else { // Nearest-neighbor interpolation.
+            if (boundary_conditions==2) // Periodic boundaries.
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (*this)(cimg::mod(x - (int)*(ptrs0++),(int)_width),
+                                                     cimg::mod(y - (int)*(ptrs1++),(int)_height),z,c);
+              }
+            else if (boundary_conditions==1) // Neumann boundaries.
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = _atXY(x - (int)*(ptrs0++),y - (int)*(ptrs1++),z,c);
+              }
+            else // Dirichlet boundaries.
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = atXY(x - (int)*(ptrs0++),y - (int)*(ptrs1++),z,c,0);
+              }
+          }
+        } else { // Absolute warp.
+          if (interpolation==2) { // Cubic interpolation.
+            if (boundary_conditions==2) // Periodic boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_cubic_atXY(cimg::mod((float)*(ptrs0++),(float)_width),
+                                                            cimg::mod((float)*(ptrs1++),(float)_height),0,c);
+              }
+            else if (boundary_conditions==1) // Neumann boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_cubic_atXY((float)*(ptrs0++),(float)*(ptrs1++),0,c);
+              }
+            else // Dirichlet boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)cubic_atXY((float)*(ptrs0++),(float)*(ptrs1++),0,c,0);
+              }
+          } else if (interpolation==1) { // Linear interpolation.
+            if (boundary_conditions==2) // Periodic boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=1048576)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_linear_atXY(cimg::mod((float)*(ptrs0++),(float)_width),
+                                                             cimg::mod((float)*(ptrs1++),(float)_height),0,c);
+              }
+            else if (boundary_conditions==1) // Neumann boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=1048576)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_linear_atXY((float)*(ptrs0++),(float)*(ptrs1++),0,c);
+              }
+            else // Dirichlet boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=1048576)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)linear_atXY((float)*(ptrs0++),(float)*(ptrs1++),0,c,0);
+              }
+          } else { // Nearest-neighbor interpolation.
+            if (boundary_conditions==2) // Periodic boundaries.
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (*this)(cimg::mod((int)*(ptrs0++),(int)_width),
+                                                     cimg::mod((int)*(ptrs1++),(int)_height),0,c);
+              }
+            else if (boundary_conditions==1) // Neumann boundaries.
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = _atXY((int)*(ptrs0++),(int)*(ptrs1++),0,c);
+              }
+            else // Dirichlet boundaries.
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1); T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = atXY((int)*(ptrs0++),(int)*(ptrs1++),0,c,0);
+              }
+          }
+        }
+
+      } else if (warp._spectrum==3) { // 3d warping.
+        if (mode>=3) { // Forward-relative warp.
+          res.fill(0);
+          if (interpolation>=1) // Linear interpolation.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+            cimg_forYZC(res,y,z,c) {
+              const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+              const T *ptrs = data(0,y,z,c);
+              cimg_forX(res,x) res.set_linear_atXYZ(*(ptrs++),x + (float)*(ptrs0++),y + (float)*(ptrs1++),
+                                                    z + (float)*(ptrs2++),c);
+            }
+          else // Nearest-neighbor interpolation.
+            cimg_forYZC(res,y,z,c) {
+              const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+              const T *ptrs = data(0,y,z,c);
+              cimg_forX(res,x) {
+                const int X = x + (int)*(ptrs0++), Y = y + (int)*(ptrs1++), Z = z + (int)*(ptrs2++);
+                if (X>=0 && X<width() && Y>=0 && Y<height() && Z>=0 && Z<depth()) res(X,Y,Z,c) = *(ptrs++);
+              }
+            }
+        } else if (mode==2) { // Forward-absolute warp.
+          res.fill(0);
+          if (interpolation>=1) // Linear interpolation.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+            cimg_forYZC(res,y,z,c) {
+              const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+              const T *ptrs = data(0,y,z,c);
+              cimg_forX(res,x) res.set_linear_atXYZ(*(ptrs++),(float)*(ptrs0++),(float)*(ptrs1++),(float)*(ptrs2++),c);
+            }
+          else // Nearest-neighbor interpolation.
+            cimg_forYZC(res,y,z,c) {
+              const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+              const T *ptrs = data(0,y,z,c);
+              cimg_forX(res,x) {
+                const int X = (int)*(ptrs0++), Y = (int)*(ptrs1++), Z = (int)*(ptrs2++);
+                if (X>=0 && X<width() && Y>=0 && Y<height() && Z>=0 && Z<depth()) res(X,Y,Z,c) = *(ptrs++);
+              }
+            }
+        } else if (mode==1) { // Backward-relative warp.
+          if (interpolation==2) { // Cubic interpolation.
+            if (boundary_conditions==2) // Periodic boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+                T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_cubic_atXYZ(cimg::mod(x - (float)*(ptrs0++),(float)_width),
+                                                             cimg::mod(y - (float)*(ptrs1++),(float)_height),
+                                                             cimg::mod(z - (float)*(ptrs2++),(float)_depth),c);
+              }
+            else if (boundary_conditions==1) // Neumann boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+                T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x)
+                  *(ptrd++) = (T)_cubic_atXYZ(x - (float)*(ptrs0++),y - (float)*(ptrs1++),z - (float)*(ptrs2++),c);
+              }
+            else // Dirichlet boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+                T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x)
+                  *(ptrd++) = (T)cubic_atXYZ(x - (float)*(ptrs0++),y - (float)*(ptrs1++),z - (float)*(ptrs2++),c,0);
+              }
+          } else if (interpolation==1) { // Linear interpolation.
+            if (boundary_conditions==2) // Periodic boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=1048576)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+                T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_linear_atXYZ(cimg::mod(x - (float)*(ptrs0++),(float)_width),
+                                                              cimg::mod(y - (float)*(ptrs1++),(float)_height),
+                                                              cimg::mod(z - (float)*(ptrs2++),(float)_depth),c);
+              }
+            else if (boundary_conditions==1) // Neumann boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=1048576)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+                T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x)
+                  *(ptrd++) = (T)_linear_atXYZ(x - (float)*(ptrs0++),y - (float)*(ptrs1++),z - (float)*(ptrs2++),c);
+              }
+            else // Dirichlet boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=1048576)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+                T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x)
+                  *(ptrd++) = (T)linear_atXYZ(x - (float)*(ptrs0++),y - (float)*(ptrs1++),z - (float)*(ptrs2++),c,0);
+              }
+          } else { // Nearest neighbor interpolation.
+            if (boundary_conditions==2) // Periodic boundaries.
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+                T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (*this)(cimg::mod(x - (int)*(ptrs0++),(int)_width),
+                                                     cimg::mod(y - (int)*(ptrs1++),(int)_height),
+                                                     cimg::mod(z - (int)*(ptrs2++),(int)_depth),c);
+              }
+            else if (boundary_conditions==1) // Neumann boundaries.
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+                T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = _atXYZ(x - (int)*(ptrs0++),y - (int)*(ptrs1++),z - (int)*(ptrs2++),c);
+              }
+            else // Dirichlet boundaries.
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+                T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = atXYZ(x - (int)*(ptrs0++),y - (int)*(ptrs1++),z - (int)*(ptrs2++),c,0);
+              }
+          }
+        } else { // Absolute warp.
+          if (interpolation==2) { // Cubic interpolation.
+            if (boundary_conditions==2) // Periodic boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+                T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_cubic_atXYZ(cimg::mod((float)*(ptrs0++),(float)_width),
+                                                             cimg::mod((float)*(ptrs1++),(float)_height),
+                                                             cimg::mod((float)*(ptrs2++),(float)_depth),c);
+              }
+            else if (boundary_conditions==1) // Neumann boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+                T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_cubic_atXYZ((float)*(ptrs0++),(float)*(ptrs1++),(float)*(ptrs2++),c);
+              }
+            else // Dirichlet boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=4096)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+                T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)cubic_atXYZ((float)*(ptrs0++),(float)*(ptrs1++),(float)*(ptrs2++),c,0);
+              }
+          } else if (interpolation==1) { // Linear interpolation.
+            if (boundary_conditions==2) // Periodic boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=1048576)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+                T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_linear_atXYZ(cimg::mod((float)*(ptrs0++),(float)_width),
+                                                              cimg::mod((float)*(ptrs1++),(float)_height),
+                                                              cimg::mod((float)*(ptrs2++),(float)_depth),c);
+              }
+            else if (boundary_conditions==1) // Neumann boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=1048576)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+                T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)_linear_atXYZ((float)*(ptrs0++),(float)*(ptrs1++),(float)*(ptrs2++),c);
+              }
+            else // Dirichlet boundaries.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (res.size()>=1048576)
+#endif
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+                T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (T)linear_atXYZ((float)*(ptrs0++),(float)*(ptrs1++),(float)*(ptrs2++),c,0);
+              }
+          } else { // Nearest-neighbor interpolation.
+            if (boundary_conditions==2) // Periodic boundaries.
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+                T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = (*this)(cimg::mod((int)*(ptrs0++),(int)_width),
+                                                     cimg::mod((int)*(ptrs1++),(int)_height),
+                                                     cimg::mod((int)*(ptrs2++),(int)_depth),c);
+              }
+            else if (boundary_conditions==1) // Neumann boundaries.
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+                T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = _atXYZ((int)*(ptrs0++),(int)*(ptrs1++),(int)*(ptrs2++),c);
+              }
+            else // Dirichlet boundaries.
+              cimg_forYZC(res,y,z,c) {
+                const t *ptrs0 = warp.data(0,y,z,0), *ptrs1 = warp.data(0,y,z,1), *ptrs2 = warp.data(0,y,z,2);
+                T *ptrd = res.data(0,y,z,c);
+                cimg_forX(res,x) *(ptrd++) = atXYZ((int)*(ptrs0++),(int)*(ptrs1++),(int)*(ptrs2++),c,0);
+              }
+          }
+        }
+      }
+      return res;
+    }
+
+    //! Generate a 2d representation of a 3d image, with XY,XZ and YZ views.
+    /**
+       \param x0 X-coordinate of the projection point.
+       \param y0 Y-coordinate of the projection point.
+       \param z0 Z-coordinate of the projection point.
+    **/
+    CImg<T> get_projections2d(const unsigned int x0, const unsigned int y0, const unsigned int z0) const {
+      if (is_empty() || _depth<2) return +*this;
+      const unsigned int
+        _x0 = (x0>=_width)?_width - 1:x0,
+        _y0 = (y0>=_height)?_height - 1:y0,
+        _z0 = (z0>=_depth)?_depth - 1:z0;
+      const CImg<T>
+        img_xy = get_crop(0,0,_z0,0,_width - 1,_height - 1,_z0,_spectrum - 1),
+        img_zy = get_crop(_x0,0,0,0,_x0,_height - 1,_depth - 1,_spectrum - 1).permute_axes("xzyc").
+        resize(_depth,_height,1,-100,-1),
+        img_xz = get_crop(0,_y0,0,0,_width - 1,_y0,_depth - 1,_spectrum - 1).resize(_width,_depth,1,-100,-1);
+      return CImg<T>(_width + _depth,_height + _depth,1,_spectrum,cimg::min(img_xy.min(),img_zy.min(),img_xz.min())).
+        draw_image(0,0,img_xy).draw_image(img_xy._width,0,img_zy).
+        draw_image(0,img_xy._height,img_xz);
+    }
+
+    //! Construct a 2d representation of a 3d image, with XY,XZ and YZ views \inplace.
+    CImg<T>& projections2d(const unsigned int x0, const unsigned int y0, const unsigned int z0) {
+      if (_depth<2) return *this;
+      return get_projections2d(x0,y0,z0).move_to(*this);
+    }
+
+    //! Crop image region.
+    /**
+       \param x0 = X-coordinate of the upper-left crop rectangle corner.
+       \param y0 = Y-coordinate of the upper-left crop rectangle corner.
+       \param z0 = Z-coordinate of the upper-left crop rectangle corner.
+       \param c0 = C-coordinate of the upper-left crop rectangle corner.
+       \param x1 = X-coordinate of the lower-right crop rectangle corner.
+       \param y1 = Y-coordinate of the lower-right crop rectangle corner.
+       \param z1 = Z-coordinate of the lower-right crop rectangle corner.
+       \param c1 = C-coordinate of the lower-right crop rectangle corner.
+       \param boundary_conditions = Dirichlet (false) or Neumann border conditions.
+    **/
+    CImg<T>& crop(const int x0, const int y0, const int z0, const int c0,
+                  const int x1, const int y1, const int z1, const int c1,
+                  const bool boundary_conditions=false) {
+      return get_crop(x0,y0,z0,c0,x1,y1,z1,c1,boundary_conditions).move_to(*this);
+    }
+
+    //! Crop image region \newinstance.
+    CImg<T> get_crop(const int x0, const int y0, const int z0, const int c0,
+                     const int x1, const int y1, const int z1, const int c1,
+                     const bool boundary_conditions=false) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "crop(): Empty instance.",
+                                    cimg_instance);
+      const int
+        nx0 = x0<x1?x0:x1, nx1 = x0^x1^nx0,
+        ny0 = y0<y1?y0:y1, ny1 = y0^y1^ny0,
+        nz0 = z0<z1?z0:z1, nz1 = z0^z1^nz0,
+        nc0 = c0<c1?c0:c1, nc1 = c0^c1^nc0;
+      CImg<T> res(1U + nx1 - nx0,1U + ny1 - ny0,1U + nz1 - nz0,1U + nc1 - nc0);
+      if (nx0<0 || nx1>=width() || ny0<0 || ny1>=height() || nz0<0 || nz1>=depth() || nc0<0 || nc1>=spectrum()) {
+        if (boundary_conditions) cimg_forXYZC(res,x,y,z,c) res(x,y,z,c) = _atXYZC(nx0 + x,ny0 + y,nz0 + z,nc0 + c);
+        else res.fill(0).draw_image(-nx0,-ny0,-nz0,-nc0,*this);
+      } else res.draw_image(-nx0,-ny0,-nz0,-nc0,*this);
+      return res;
+    }
+
+    //! Crop image region \overloading.
+    CImg<T>& crop(const int x0, const int y0, const int z0,
+                  const int x1, const int y1, const int z1,
+                  const bool boundary_conditions=false) {
+      return crop(x0,y0,z0,0,x1,y1,z1,_spectrum - 1,boundary_conditions);
+    }
+
+    //! Crop image region \newinstance.
+    CImg<T> get_crop(const int x0, const int y0, const int z0,
+                     const int x1, const int y1, const int z1,
+                     const bool boundary_conditions=false) const {
+      return get_crop(x0,y0,z0,0,x1,y1,z1,_spectrum - 1,boundary_conditions);
+    }
+
+    //! Crop image region \overloading.
+    CImg<T>& crop(const int x0, const int y0,
+                  const int x1, const int y1,
+                  const bool boundary_conditions=false) {
+      return crop(x0,y0,0,0,x1,y1,_depth - 1,_spectrum - 1,boundary_conditions);
+    }
+
+    //! Crop image region \newinstance.
+    CImg<T> get_crop(const int x0, const int y0,
+                     const int x1, const int y1,
+                     const bool boundary_conditions=false) const {
+      return get_crop(x0,y0,0,0,x1,y1,_depth - 1,_spectrum - 1,boundary_conditions);
+    }
+
+    //! Crop image region \overloading.
+    CImg<T>& crop(const int x0, const int x1, const bool boundary_conditions=false) {
+      return crop(x0,0,0,0,x1,_height - 1,_depth - 1,_spectrum - 1,boundary_conditions);
+    }
+
+    //! Crop image region \newinstance.
+    CImg<T> get_crop(const int x0, const int x1, const bool boundary_conditions=false) const {
+      return get_crop(x0,0,0,0,x1,_height - 1,_depth - 1,_spectrum - 1,boundary_conditions);
+    }
+
+    //! Autocrop image region, regarding the specified background value.
+    CImg<T>& autocrop(const T& value, const char *const axes="czyx") {
+      if (is_empty()) return *this;
+      for (const char *s = axes; *s; ++s) {
+        const char axis = cimg::uncase(*s);
+        const CImg<intT> coords = _autocrop(value,axis);
+        if (coords[0]==-1 && coords[1]==-1) return assign(); // Image has only 'value' pixels.
+        else switch (axis) {
+        case 'x' : {
+	  const int x0 = coords[0], x1 = coords[1];
+	  if (x0>=0 && x1>=0) crop(x0,x1);
+	} break;
+        case 'y' : {
+	  const int y0 = coords[0], y1 = coords[1];
+	  if (y0>=0 && y1>=0) crop(0,y0,_width - 1,y1);
+	} break;
+        case 'z' : {
+	  const int z0 = coords[0], z1 = coords[1];
+	  if (z0>=0 && z1>=0) crop(0,0,z0,_width - 1,_height - 1,z1);
+	} break;
+        default : {
+	  const int c0 = coords[0], c1 = coords[1];
+	  if (c0>=0 && c1>=0) crop(0,0,0,c0,_width - 1,_height - 1,_depth - 1,c1);
+	}
+        }
+      }
+      return *this;
+    }
+
+    //! Autocrop image region, regarding the specified background value \newinstance.
+    CImg<T> get_autocrop(const T& value, const char *const axes="czyx") const {
+      return (+*this).autocrop(value,axes);
+    }
+
+    //! Autocrop image region, regarding the specified background color.
+    /**
+       \param color Color used for the crop. If \c 0, color is guessed.
+       \param axes Axes used for the crop.
+    **/
+    CImg<T>& autocrop(const T *const color=0, const char *const axes="zyx") {
+      if (is_empty()) return *this;
+      if (!color) { // Guess color.
+        const CImg<T> col1 = get_vector_at(0,0,0);
+        const unsigned int w = _width, h = _height, d = _depth, s = _spectrum;
+        autocrop(col1,axes);
+        if (_width==w && _height==h && _depth==d && _spectrum==s) {
+          const CImg<T> col2 = get_vector_at(w - 1,h - 1,d - 1);
+          autocrop(col2,axes);
+        }
+        return *this;
+      }
+      for (const char *s = axes; *s; ++s) {
+        const char axis = cimg::uncase(*s);
+        switch (axis) {
+        case 'x' : {
+	  int x0 = width(), x1 = -1;
+	  cimg_forC(*this,c) {
+	    const CImg<intT> coords = get_shared_channel(c)._autocrop(color[c],'x');
+	    const int nx0 = coords[0], nx1 = coords[1];
+	    if (nx0>=0 && nx1>=0) { x0 = cimg::min(x0,nx0); x1 = cimg::max(x1,nx1); }
+	  }
+          if (x0==width() && x1==-1) return assign(); else crop(x0,x1);
+	} break;
+        case 'y' : {
+	  int y0 = height(), y1 = -1;
+	  cimg_forC(*this,c) {
+	    const CImg<intT> coords = get_shared_channel(c)._autocrop(color[c],'y');
+	    const int ny0 = coords[0], ny1 = coords[1];
+	    if (ny0>=0 && ny1>=0) { y0 = cimg::min(y0,ny0); y1 = cimg::max(y1,ny1); }
+	  }
+          if (y0==height() && y1==-1) return assign(); else crop(0,y0,_width - 1,y1);
+	} break;
+        default : {
+	  int z0 = depth(), z1 = -1;
+	  cimg_forC(*this,c) {
+	    const CImg<intT> coords = get_shared_channel(c)._autocrop(color[c],'z');
+	    const int nz0 = coords[0], nz1 = coords[1];
+	    if (nz0>=0 && nz1>=0) { z0 = cimg::min(z0,nz0); z1 = cimg::max(z1,nz1); }
+	  }
+	  if (z0==depth() && z1==-1) return assign(); else crop(0,0,z0,_width - 1,_height - 1,z1);
+	}
+        }
+      }
+      return *this;
+    }
+
+    //! Autocrop image region, regarding the specified background color \newinstance.
+    CImg<T> get_autocrop(const T *const color=0, const char *const axes="zyx") const {
+      return (+*this).autocrop(color,axes);
+    }
+
+    //! Autocrop image region, regarding the specified background color \overloading.
+    template<typename t> CImg<T>& autocrop(const CImg<t>& color, const char *const axes="zyx") {
+      return get_autocrop(color,axes).move_to(*this);
+    }
+
+    //! Autocrop image region, regarding the specified background color \newinstance.
+    template<typename t> CImg<T> get_autocrop(const CImg<t>& color, const char *const axes="zyx") const {
+      return get_autocrop(color._data,axes);
+    }
+
+    CImg<intT> _autocrop(const T& value, const char axis) const {
+      CImg<intT> res;
+      switch (cimg::uncase(axis)) {
+      case 'x' : {
+        int x0 = -1, x1 = -1;
+        cimg_forX(*this,x) cimg_forYZC(*this,y,z,c)
+          if ((*this)(x,y,z,c)!=value) { x0 = x; x = width(); y = height(); z = depth(); c = spectrum(); }
+	if (x0>=0) {
+          for (int x = width() - 1; x>=0; --x) cimg_forYZC(*this,y,z,c)
+            if ((*this)(x,y,z,c)!=value) { x1 = x; x = 0; y = height(); z = depth(); c = spectrum(); }
+        }
+	res = CImg<intT>::vector(x0,x1);
+      } break;
+      case 'y' : {
+        int y0 = -1, y1 = -1;
+        cimg_forY(*this,y) cimg_forXZC(*this,x,z,c)
+          if ((*this)(x,y,z,c)!=value) { y0 = y; x = width(); y = height(); z = depth(); c = spectrum(); }
+	if (y0>=0) {
+          for (int y = height() - 1; y>=0; --y) cimg_forXZC(*this,x,z,c)
+            if ((*this)(x,y,z,c)!=value) { y1 = y; x = width(); y = 0; z = depth(); c = spectrum(); }
+        }
+  	res = CImg<intT>::vector(y0,y1);
+      } break;
+      case 'z' : {
+        int z0 = -1, z1 = -1;
+        cimg_forZ(*this,z) cimg_forXYC(*this,x,y,c)
+          if ((*this)(x,y,z,c)!=value) { z0 = z; x = width(); y = height(); z = depth(); c = spectrum(); }
+	if (z0>=0) {
+          for (int z = depth() - 1; z>=0; --z) cimg_forXYC(*this,x,y,c)
+            if ((*this)(x,y,z,c)!=value) { z1 = z; x = width(); y = height(); z = 0; c = spectrum(); }
+        }
+  	res = CImg<intT>::vector(z0,z1);
+      } break;
+      default : {
+        int c0 = -1, c1 = -1;
+        cimg_forC(*this,c) cimg_forXYZ(*this,x,y,z)
+          if ((*this)(x,y,z,c)!=value) { c0 = c; x = width(); y = height(); z = depth(); c = spectrum(); }
+	if (c0>=0) {
+          for (int c = spectrum() - 1; c>=0; --c) cimg_forXYZ(*this,x,y,z)
+            if ((*this)(x,y,z,c)!=value) { c1 = c; x = width(); y = height(); z = depth(); c = 0; }
+        }
+  	res = CImg<intT>::vector(c0,c1);
+      }
+      }
+      return res;
+    }
+
+    //! Return specified image column.
+    /**
+       \param x0 Image column.
+    **/
+    CImg<T> get_column(const int x0) const {
+      return get_columns(x0,x0);
+    }
+
+    //! Return specified image column \inplace.
+    CImg<T>& column(const int x0) {
+      return columns(x0,x0);
+    }
+
+    //! Return specified range of image columns.
+    /**
+       \param x0 Starting image column.
+       \param x1 Ending image column.
+    **/
+    CImg<T>& columns(const int x0, const int x1) {
+      return get_columns(x0,x1).move_to(*this);
+    }
+
+    //! Return specified range of image columns \inplace.
+    CImg<T> get_columns(const int x0, const int x1) const {
+      return get_crop(x0,0,0,0,x1,height() - 1,depth() - 1,spectrum() - 1);
+    }
+
+    //! Return specified image row.
+    CImg<T> get_row(const int y0) const {
+      return get_rows(y0,y0);
+    }
+
+    //! Return specified image row \inplace.
+    /**
+       \param y0 Image row.
+    **/
+    CImg<T>& row(const int y0) {
+      return rows(y0,y0);
+    }
+
+    //! Return specified range of image rows.
+    /**
+       \param y0 Starting image row.
+       \param y1 Ending image row.
+    **/
+    CImg<T> get_rows(const int y0, const int y1) const {
+      return get_crop(0,y0,0,0,width() - 1,y1,depth() - 1,spectrum() - 1);
+    }
+
+    //! Return specified range of image rows \inplace.
+    CImg<T>& rows(const int y0, const int y1) {
+      return get_rows(y0,y1).move_to(*this);
+    }
+
+    //! Return specified image slice.
+    /**
+       \param z0 Image slice.
+    **/
+    CImg<T> get_slice(const int z0) const {
+      return get_slices(z0,z0);
+    }
+
+    //! Return specified image slice \inplace.
+    CImg<T>& slice(const int z0) {
+      return slices(z0,z0);
+    }
+
+    //! Return specified range of image slices.
+    /**
+       \param z0 Starting image slice.
+       \param z1 Ending image slice.
+    **/
+    CImg<T> get_slices(const int z0, const int z1) const {
+      return get_crop(0,0,z0,0,width() - 1,height() - 1,z1,spectrum() - 1);
+    }
+
+    //! Return specified range of image slices \inplace.
+    CImg<T>& slices(const int z0, const int z1) {
+      return get_slices(z0,z1).move_to(*this);
+    }
+
+    //! Return specified image channel.
+    /**
+       \param c0 Image channel.
+    **/
+    CImg<T> get_channel(const int c0) const {
+      return get_channels(c0,c0);
+    }
+
+    //! Return specified image channel \inplace.
+    CImg<T>& channel(const int c0) {
+      return channels(c0,c0);
+    }
+
+    //! Return specified range of image channels.
+    /**
+       \param c0 Starting image channel.
+       \param c1 Ending image channel.
+    **/
+    CImg<T> get_channels(const int c0, const int c1) const {
+      return get_crop(0,0,0,c0,width() - 1,height() - 1,depth() - 1,c1);
+    }
+
+    //! Return specified range of image channels \inplace.
+    CImg<T>& channels(const int c0, const int c1) {
+      return get_channels(c0,c1).move_to(*this);
+    }
+
+    //! Return stream line of a 2d or 3d vector field.
+    CImg<floatT> get_streamline(const float x, const float y, const float z,
+                                const float L=256, const float dl=0.1f,
+                                const unsigned int interpolation_type=2, const bool is_backward_tracking=false,
+                                const bool is_oriented_only=false) const {
+      if (_spectrum!=2 && _spectrum!=3)
+        throw CImgInstanceException(_cimg_instance
+                                    "streamline(): Instance is not a 2d or 3d vector field.",
+                                    cimg_instance);
+      if (_spectrum==2) {
+        if (is_oriented_only) {
+          typename CImg<T>::_functor4d_streamline2d_oriented func(*this);
+          return streamline(func,x,y,z,L,dl,interpolation_type,is_backward_tracking,true,
+                            0,0,0,_width - 1.0f,_height - 1.0f,0.0f);
+        } else {
+          typename CImg<T>::_functor4d_streamline2d_directed func(*this);
+          return streamline(func,x,y,z,L,dl,interpolation_type,is_backward_tracking,false,
+                            0,0,0,_width - 1.0f,_height - 1.0f,0.0f);
+        }
+      }
+      if (is_oriented_only) {
+        typename CImg<T>::_functor4d_streamline3d_oriented func(*this);
+        return streamline(func,x,y,z,L,dl,interpolation_type,is_backward_tracking,true,
+                          0,0,0,_width - 1.0f,_height - 1.0f,_depth - 1.0f);
+      }
+      typename CImg<T>::_functor4d_streamline3d_directed func(*this);
+      return streamline(func,x,y,z,L,dl,interpolation_type,is_backward_tracking,false,
+                        0,0,0,_width - 1.0f,_height - 1.0f,_depth - 1.0f);
+    }
+
+    //! Return stream line of a 3d vector field.
+    /**
+       \param func Vector field function.
+       \param x X-coordinate of the starting point of the streamline.
+       \param y Y-coordinate of the starting point of the streamline.
+       \param z Z-coordinate of the starting point of the streamline.
+       \param L Streamline length.
+       \param dl Streamline length increment.
+       \param interpolation_type Type of interpolation.
+         Can be <tt>{ 0=nearest int | 1=linear | 2=2nd-order RK | 3=4th-order RK. }</tt>.
+       \param is_backward_tracking Tells if the streamline is estimated forward or backward.
+       \param is_oriented_only Tells if the direction of the vectors must be ignored.
+       \param x0 X-coordinate of the first bounding-box vertex.
+       \param y0 Y-coordinate of the first bounding-box vertex.
+       \param z0 Z-coordinate of the first bounding-box vertex.
+       \param x1 X-coordinate of the second bounding-box vertex.
+       \param y1 Y-coordinate of the second bounding-box vertex.
+       \param z1 Z-coordinate of the second bounding-box vertex.
+    **/
+    template<typename tfunc>
+    static CImg<floatT> streamline(const tfunc& func,
+                                   const float x, const float y, const float z,
+                                   const float L=256, const float dl=0.1f,
+                                   const unsigned int interpolation_type=2, const bool is_backward_tracking=false,
+                                   const bool is_oriented_only=false,
+                                   const float x0=0, const float y0=0, const float z0=0,
+                                   const float x1=0, const float y1=0, const float z1=0) {
+      if (dl<=0)
+        throw CImgArgumentException("CImg<%s>::streamline(): Invalid specified integration length %g "
+                                    "(should be >0).",
+                                    pixel_type(),
+                                    dl);
+
+      const bool is_bounded = (x0!=x1 || y0!=y1 || z0!=z1);
+      if (L<=0 || (is_bounded && (x<x0 || x>x1 || y<y0 || y>y1 || z<z0 || z>z1))) return CImg<floatT>();
+      const unsigned int size_L = (unsigned int)cimg::round(L/dl + 1);
+      CImg<floatT> coordinates(size_L,3);
+      const float dl2 = dl/2;
+      float
+        *ptr_x = coordinates.data(0,0),
+        *ptr_y = coordinates.data(0,1),
+        *ptr_z = coordinates.data(0,2),
+        pu = (float)(dl*func(x,y,z,0)),
+        pv = (float)(dl*func(x,y,z,1)),
+        pw = (float)(dl*func(x,y,z,2)),
+        X = x, Y = y, Z = z;
+
+      switch (interpolation_type) {
+      case 0 : { // Nearest integer interpolation.
+        cimg_forX(coordinates,l) {
+          *(ptr_x++) = X; *(ptr_y++) = Y; *(ptr_z++) = Z;
+          const int
+            xi = (int)(X>0?X + 0.5f:X - 0.5f),
+            yi = (int)(Y>0?Y + 0.5f:Y - 0.5f),
+            zi = (int)(Z>0?Z + 0.5f:Z - 0.5f);
+          float
+            u = (float)(dl*func((float)xi,(float)yi,(float)zi,0)),
+            v = (float)(dl*func((float)xi,(float)yi,(float)zi,1)),
+            w = (float)(dl*func((float)xi,(float)yi,(float)zi,2));
+          if (is_oriented_only && u*pu + v*pv + w*pw<0) { u = -u; v = -v; w = -w; }
+          if (is_backward_tracking) { X-=(pu=u); Y-=(pv=v); Z-=(pw=w); } else { X+=(pu=u); Y+=(pv=v); Z+=(pw=w); }
+          if (is_bounded && (X<x0 || X>x1 || Y<y0 || Y>y1 || Z<z0 || Z>z1)) break;
+        }
+      } break;
+      case 1 : { // First-order interpolation.
+        cimg_forX(coordinates,l) {
+          *(ptr_x++) = X; *(ptr_y++) = Y; *(ptr_z++) = Z;
+          float
+            u = (float)(dl*func(X,Y,Z,0)),
+            v = (float)(dl*func(X,Y,Z,1)),
+            w = (float)(dl*func(X,Y,Z,2));
+          if (is_oriented_only && u*pu + v*pv + w*pw<0) { u = -u; v = -v; w = -w; }
+          if (is_backward_tracking) { X-=(pu=u); Y-=(pv=v); Z-=(pw=w); } else { X+=(pu=u); Y+=(pv=v); Z+=(pw=w); }
+          if (is_bounded && (X<x0 || X>x1 || Y<y0 || Y>y1 || Z<z0 || Z>z1)) break;
+        }
+      } break;
+      case 2 : { // Second order interpolation.
+        cimg_forX(coordinates,l) {
+          *(ptr_x++) = X; *(ptr_y++) = Y; *(ptr_z++) = Z;
+          float
+            u0 = (float)(dl2*func(X,Y,Z,0)),
+            v0 = (float)(dl2*func(X,Y,Z,1)),
+            w0 = (float)(dl2*func(X,Y,Z,2));
+          if (is_oriented_only && u0*pu + v0*pv + w0*pw<0) { u0 = -u0; v0 = -v0; w0 = -w0; }
+          float
+            u = (float)(dl*func(X + u0,Y + v0,Z + w0,0)),
+            v = (float)(dl*func(X + u0,Y + v0,Z + w0,1)),
+            w = (float)(dl*func(X + u0,Y + v0,Z + w0,2));
+          if (is_oriented_only && u*pu + v*pv + w*pw<0) { u = -u; v = -v; w = -w; }
+          if (is_backward_tracking) { X-=(pu=u); Y-=(pv=v); Z-=(pw=w); } else { X+=(pu=u); Y+=(pv=v); Z+=(pw=w); }
+          if (is_bounded && (X<x0 || X>x1 || Y<y0 || Y>y1 || Z<z0 || Z>z1)) break;
+        }
+      } break;
+      default : { // Fourth order interpolation.
+        cimg_forX(coordinates,x) {
+          *(ptr_x++) = X; *(ptr_y++) = Y; *(ptr_z++) = Z;
+          float
+            u0 = (float)(dl2*func(X,Y,Z,0)),
+            v0 = (float)(dl2*func(X,Y,Z,1)),
+            w0 = (float)(dl2*func(X,Y,Z,2));
+          if (is_oriented_only && u0*pu + v0*pv + w0*pw<0) { u0 = -u0; v0 = -v0; w0 = -w0; }
+          float
+            u1 = (float)(dl2*func(X + u0,Y + v0,Z + w0,0)),
+            v1 = (float)(dl2*func(X + u0,Y + v0,Z + w0,1)),
+            w1 = (float)(dl2*func(X + u0,Y + v0,Z + w0,2));
+          if (is_oriented_only && u1*pu + v1*pv + w1*pw<0) { u1 = -u1; v1 = -v1; w1 = -w1; }
+          float
+            u2 = (float)(dl2*func(X + u1,Y + v1,Z + w1,0)),
+            v2 = (float)(dl2*func(X + u1,Y + v1,Z + w1,1)),
+            w2 = (float)(dl2*func(X + u1,Y + v1,Z + w1,2));
+          if (is_oriented_only && u2*pu + v2*pv + w2*pw<0) { u2 = -u2; v2 = -v2; w2 = -w2; }
+          float
+            u3 = (float)(dl2*func(X + u2,Y + v2,Z + w2,0)),
+            v3 = (float)(dl2*func(X + u2,Y + v2,Z + w2,1)),
+            w3 = (float)(dl2*func(X + u2,Y + v2,Z + w2,2));
+          if (is_oriented_only && u2*pu + v2*pv + w2*pw<0) { u3 = -u3; v3 = -v3; w3 = -w3; }
+          const float
+            u = (u0 + u3)/3 + (u1 + u2)/1.5f,
+            v = (v0 + v3)/3 + (v1 + v2)/1.5f,
+            w = (w0 + w3)/3 + (w1 + w2)/1.5f;
+          if (is_backward_tracking) { X-=(pu=u); Y-=(pv=v); Z-=(pw=w); } else { X+=(pu=u); Y+=(pv=v); Z+=(pw=w); }
+          if (is_bounded && (X<x0 || X>x1 || Y<y0 || Y>y1 || Z<z0 || Z>z1)) break;
+        }
+      }
+      }
+      if (ptr_x!=coordinates.data(0,1)) coordinates.resize((int)(ptr_x-coordinates.data()),3,1,1,0);
+      return coordinates;
+    }
+
+    //! Return stream line of a 3d vector field \overloading.
+    static CImg<floatT> streamline(const char *const expression,
+                                   const float x, const float y, const float z,
+                                   const float L=256, const float dl=0.1f,
+                                   const unsigned int interpolation_type=2, const bool is_backward_tracking=true,
+                                   const bool is_oriented_only=false,
+                                   const float x0=0, const float y0=0, const float z0=0,
+                                   const float x1=0, const float y1=0, const float z1=0) {
+      _functor4d_streamline_expr func(expression);
+      return streamline(func,x,y,z,L,dl,interpolation_type,is_backward_tracking,is_oriented_only,x0,y0,z0,x1,y1,z1);
+    }
+
+    struct _functor4d_streamline2d_directed {
+      const CImg<T>& ref;
+      _functor4d_streamline2d_directed(const CImg<T>& pref):ref(pref) {}
+      float operator()(const float x, const float y, const float z, const unsigned int c) const {
+        return c<2?(float)ref._linear_atXY(x,y,(int)z,c):0;
+      }
+    };
+
+    struct _functor4d_streamline3d_directed {
+      const CImg<T>& ref;
+      _functor4d_streamline3d_directed(const CImg<T>& pref):ref(pref) {}
+      float operator()(const float x, const float y, const float z, const unsigned int c) const {
+        return (float)ref._linear_atXYZ(x,y,z,c);
+      }
+    };
+
+    struct _functor4d_streamline2d_oriented {
+      const CImg<T>& ref;
+      CImg<floatT> *pI;
+      _functor4d_streamline2d_oriented(const CImg<T>& pref):ref(pref),pI(0) { pI = new CImg<floatT>(2,2,1,2); }
+      ~_functor4d_streamline2d_oriented() { delete pI; }
+      float operator()(const float x, const float y, const float z, const unsigned int c) const {
+#define _cimg_vecalign2d(i,j) \
+        if (I(i,j,0)*I(0,0,0) + I(i,j,1)*I(0,0,1)<0) { I(i,j,0) = -I(i,j,0); I(i,j,1) = -I(i,j,1); }
+        int
+          xi = (int)x - (x>=0?0:1), nxi = xi + 1,
+          yi = (int)y - (y>=0?0:1), nyi = yi + 1,
+          zi = (int)z;
+        const float
+          dx = x - xi,
+          dy = y - yi;
+        if (c==0) {
+          CImg<floatT>& I = *pI;
+          if (xi<0) xi = 0; if (nxi<0) nxi = 0;
+          if (xi>=ref.width()) xi = ref.width() - 1; if (nxi>=ref.width()) nxi = ref.width() - 1;
+          if (yi<0) yi = 0; if (nyi<0) nyi = 0;
+          if (yi>=ref.height()) yi = ref.height() - 1; if (nyi>=ref.height()) nyi = ref.height() - 1;
+          I(0,0,0) = (float)ref(xi,yi,zi,0);   I(0,0,1) = (float)ref(xi,yi,zi,1);
+          I(1,0,0) = (float)ref(nxi,yi,zi,0);  I(1,0,1) = (float)ref(nxi,yi,zi,1);
+          I(1,1,0) = (float)ref(nxi,nyi,zi,0); I(1,1,1) = (float)ref(nxi,nyi,zi,1);
+          I(0,1,0) = (float)ref(xi,nyi,zi,0);  I(0,1,1) = (float)ref(xi,nyi,zi,1);
+          _cimg_vecalign2d(1,0); _cimg_vecalign2d(1,1); _cimg_vecalign2d(0,1);
+        }
+        return c<2?(float)pI->_linear_atXY(dx,dy,0,c):0;
+      }
+    };
+
+    struct _functor4d_streamline3d_oriented {
+      const CImg<T>& ref;
+      CImg<floatT> *pI;
+      _functor4d_streamline3d_oriented(const CImg<T>& pref):ref(pref),pI(0) { pI = new CImg<floatT>(2,2,2,3); }
+      ~_functor4d_streamline3d_oriented() { delete pI; }
+      float operator()(const float x, const float y, const float z, const unsigned int c) const {
+#define _cimg_vecalign3d(i,j,k) if (I(i,j,k,0)*I(0,0,0,0) + I(i,j,k,1)*I(0,0,0,1) + I(i,j,k,2)*I(0,0,0,2)<0) { \
+  I(i,j,k,0) = -I(i,j,k,0); I(i,j,k,1) = -I(i,j,k,1); I(i,j,k,2) = -I(i,j,k,2); }
+        int
+          xi = (int)x - (x>=0?0:1), nxi = xi + 1,
+          yi = (int)y - (y>=0?0:1), nyi = yi + 1,
+          zi = (int)z - (z>=0?0:1), nzi = zi + 1;
+        const float
+          dx = x - xi,
+          dy = y - yi,
+          dz = z - zi;
+        if (c==0) {
+          CImg<floatT>& I = *pI;
+          if (xi<0) xi = 0; if (nxi<0) nxi = 0;
+          if (xi>=ref.width()) xi = ref.width() - 1; if (nxi>=ref.width()) nxi = ref.width() - 1;
+          if (yi<0) yi = 0; if (nyi<0) nyi = 0;
+          if (yi>=ref.height()) yi = ref.height() - 1; if (nyi>=ref.height()) nyi = ref.height() - 1;
+          if (zi<0) zi = 0; if (nzi<0) nzi = 0;
+          if (zi>=ref.depth()) zi = ref.depth() - 1; if (nzi>=ref.depth()) nzi = ref.depth() - 1;
+          I(0,0,0,0) = (float)ref(xi,yi,zi,0); I(0,0,0,1) = (float)ref(xi,yi,zi,1);
+          I(0,0,0,2) = (float)ref(xi,yi,zi,2); I(1,0,0,0) = (float)ref(nxi,yi,zi,0);
+          I(1,0,0,1) = (float)ref(nxi,yi,zi,1); I(1,0,0,2) = (float)ref(nxi,yi,zi,2);
+          I(1,1,0,0) = (float)ref(nxi,nyi,zi,0); I(1,1,0,1) = (float)ref(nxi,nyi,zi,1);
+          I(1,1,0,2) = (float)ref(nxi,nyi,zi,2); I(0,1,0,0) = (float)ref(xi,nyi,zi,0);
+          I(0,1,0,1) = (float)ref(xi,nyi,zi,1); I(0,1,0,2) = (float)ref(xi,nyi,zi,2);
+          I(0,0,1,0) = (float)ref(xi,yi,nzi,0); I(0,0,1,1) = (float)ref(xi,yi,nzi,1);
+          I(0,0,1,2) = (float)ref(xi,yi,nzi,2); I(1,0,1,0) = (float)ref(nxi,yi,nzi,0);
+          I(1,0,1,1) = (float)ref(nxi,yi,nzi,1);  I(1,0,1,2) = (float)ref(nxi,yi,nzi,2);
+          I(1,1,1,0) = (float)ref(nxi,nyi,nzi,0); I(1,1,1,1) = (float)ref(nxi,nyi,nzi,1);
+          I(1,1,1,2) = (float)ref(nxi,nyi,nzi,2); I(0,1,1,0) = (float)ref(xi,nyi,nzi,0);
+          I(0,1,1,1) = (float)ref(xi,nyi,nzi,1);  I(0,1,1,2) = (float)ref(xi,nyi,nzi,2);
+          _cimg_vecalign3d(1,0,0); _cimg_vecalign3d(1,1,0); _cimg_vecalign3d(0,1,0);
+          _cimg_vecalign3d(0,0,1); _cimg_vecalign3d(1,0,1); _cimg_vecalign3d(1,1,1); _cimg_vecalign3d(0,1,1);
+        }
+        return (float)pI->_linear_atXYZ(dx,dy,dz,c);
+      }
+    };
+
+    struct _functor4d_streamline_expr {
+      _cimg_math_parser *mp;
+      ~_functor4d_streamline_expr() { delete mp; }
+      _functor4d_streamline_expr(const char *const expr):mp(0) {
+        mp = new _cimg_math_parser(CImg<T>::empty(),0,expr,"streamline");
+      }
+      float operator()(const float x, const float y, const float z, const unsigned int c) const {
+        return (float)(*mp)(x,y,z,c);
+      }
+    };
+
+    //! Return a shared-memory image referencing a range of pixels of the image instance.
+    /**
+       \param x0 X-coordinate of the starting pixel.
+       \param x1 X-coordinate of the ending pixel.
+       \param y0 Y-coordinate.
+       \param z0 Z-coordinate.
+       \param c0 C-coordinate.
+     **/
+    CImg<T> get_shared_points(const unsigned int x0, const unsigned int x1,
+                              const unsigned int y0=0, const unsigned int z0=0, const unsigned int c0=0) {
+      const unsigned int
+        beg = (unsigned int)offset(x0,y0,z0,c0),
+        end = (unsigned int)offset(x1,y0,z0,c0);
+      if (beg>end || beg>=size() || end>=size())
+        throw CImgArgumentException(_cimg_instance
+                                    "get_shared_points(): Invalid request of a shared-memory subset (%u->%u,%u,%u,%u).",
+                                    cimg_instance,
+                                    x0,x1,y0,z0,c0);
+
+      return CImg<T>(_data + beg,x1 - x0 + 1,1,1,1,true);
+    }
+
+    //! Return a shared-memory image referencing a range of pixels of the image instance \const.
+    const CImg<T> get_shared_points(const unsigned int x0, const unsigned int x1,
+                                    const unsigned int y0=0, const unsigned int z0=0, const unsigned int c0=0) const {
+      const unsigned int
+        beg = (unsigned int)offset(x0,y0,z0,c0),
+        end = (unsigned int)offset(x1,y0,z0,c0);
+      if (beg>end || beg>=size() || end>=size())
+        throw CImgArgumentException(_cimg_instance
+                                    "get_shared_points(): Invalid request of a shared-memory subset (%u->%u,%u,%u,%u).",
+                                    cimg_instance,
+                                    x0,x1,y0,z0,c0);
+
+      return CImg<T>(_data + beg,x1 - x0 + 1,1,1,1,true);
+    }
+
+    //! Return a shared-memory image referencing a range of rows of the image instance.
+    /**
+       \param y0 Y-coordinate of the starting row.
+       \param y1 Y-coordinate of the ending row.
+       \param z0 Z-coordinate.
+       \param c0 C-coordinate.
+    **/
+    CImg<T> get_shared_rows(const unsigned int y0, const unsigned int y1,
+                             const unsigned int z0=0, const unsigned int c0=0) {
+      const unsigned int
+        beg = (unsigned int)offset(0,y0,z0,c0),
+        end = (unsigned int)offset(0,y1,z0,c0);
+      if (beg>end || beg>=size() || end>=size())
+        throw CImgArgumentException(_cimg_instance
+                                    "get_shared_rows(): Invalid request of a shared-memory subset "
+                                    "(0->%u,%u->%u,%u,%u).",
+                                    cimg_instance,
+                                    _width - 1,y0,y1,z0,c0);
+
+      return CImg<T>(_data + beg,_width,y1 - y0 + 1,1,1,true);
+    }
+
+    //! Return a shared-memory image referencing a range of rows of the image instance \const.
+    const CImg<T> get_shared_rows(const unsigned int y0, const unsigned int y1,
+                                   const unsigned int z0=0, const unsigned int c0=0) const {
+      const unsigned int
+        beg = (unsigned int)offset(0,y0,z0,c0),
+        end = (unsigned int)offset(0,y1,z0,c0);
+      if (beg>end || beg>=size() || end>=size())
+        throw CImgArgumentException(_cimg_instance
+                                    "get_shared_rows(): Invalid request of a shared-memory subset "
+                                    "(0->%u,%u->%u,%u,%u).",
+                                    cimg_instance,
+                                    _width - 1,y0,y1,z0,c0);
+
+      return CImg<T>(_data + beg,_width,y1 - y0 + 1,1,1,true);
+    }
+
+    //! Return a shared-memory image referencing one row of the image instance.
+    /**
+       \param y0 Y-coordinate.
+       \param z0 Z-coordinate.
+       \param c0 C-coordinate.
+    **/
+    CImg<T> get_shared_row(const unsigned int y0, const unsigned int z0=0, const unsigned int c0=0) {
+      return get_shared_rows(y0,y0,z0,c0);
+    }
+
+    //! Return a shared-memory image referencing one row of the image instance \const.
+    const CImg<T> get_shared_row(const unsigned int y0, const unsigned int z0=0, const unsigned int c0=0) const {
+      return get_shared_rows(y0,y0,z0,c0);
+    }
+
+    //! Return a shared memory image referencing a range of slices of the image instance.
+    /**
+       \param z0 Z-coordinate of the starting slice.
+       \param z1 Z-coordinate of the ending slice.
+       \param c0 C-coordinate.
+    **/
+    CImg<T> get_shared_slices(const unsigned int z0, const unsigned int z1, const unsigned int c0=0) {
+      const unsigned int
+        beg = (unsigned int)offset(0,0,z0,c0),
+        end = (unsigned int)offset(0,0,z1,c0);
+      if (beg>end || beg>=size() || end>=size())
+        throw CImgArgumentException(_cimg_instance
+                                    "get_shared_slices(): Invalid request of a shared-memory subset "
+                                    "(0->%u,0->%u,%u->%u,%u).",
+                                    cimg_instance,
+                                    _width - 1,_height - 1,z0,z1,c0);
+
+      return CImg<T>(_data + beg,_width,_height,z1 - z0 + 1,1,true);
+    }
+
+    //! Return a shared memory image referencing a range of slices of the image instance \const.
+    const CImg<T> get_shared_slices(const unsigned int z0, const unsigned int z1, const unsigned int c0=0) const {
+      const unsigned int
+        beg = (unsigned int)offset(0,0,z0,c0),
+        end = (unsigned int)offset(0,0,z1,c0);
+      if (beg>end || beg>=size() || end>=size())
+        throw CImgArgumentException(_cimg_instance
+                                    "get_shared_slices(): Invalid request of a shared-memory subset "
+                                    "(0->%u,0->%u,%u->%u,%u).",
+                                    cimg_instance,
+                                    _width - 1,_height - 1,z0,z1,c0);
+
+      return CImg<T>(_data + beg,_width,_height,z1 - z0 + 1,1,true);
+    }
+
+    //! Return a shared-memory image referencing one slice of the image instance.
+    /**
+       \param z0 Z-coordinate.
+       \param c0 C-coordinate.
+    **/
+    CImg<T> get_shared_slice(const unsigned int z0, const unsigned int c0=0) {
+      return get_shared_slices(z0,z0,c0);
+    }
+
+    //! Return a shared-memory image referencing one slice of the image instance \const.
+    const CImg<T> get_shared_slice(const unsigned int z0, const unsigned int c0=0) const {
+      return get_shared_slices(z0,z0,c0);
+    }
+
+    //! Return a shared-memory image referencing a range of channels of the image instance.
+    /**
+       \param c0 C-coordinate of the starting channel.
+       \param c1 C-coordinate of the ending channel.
+    **/
+    CImg<T> get_shared_channels(const unsigned int c0, const unsigned int c1) {
+      const unsigned int
+        beg = (unsigned int)offset(0,0,0,c0),
+        end = (unsigned int)offset(0,0,0,c1);
+      if (beg>end || beg>=size() || end>=size())
+        throw CImgArgumentException(_cimg_instance
+                                    "get_shared_channels(): Invalid request of a shared-memory subset "
+                                    "(0->%u,0->%u,0->%u,%u->%u).",
+                                    cimg_instance,
+                                    _width - 1,_height - 1,_depth - 1,c0,c1);
+
+      return CImg<T>(_data + beg,_width,_height,_depth,c1 - c0 + 1,true);
+    }
+
+    //! Return a shared-memory image referencing a range of channels of the image instance \const.
+    const CImg<T> get_shared_channels(const unsigned int c0, const unsigned int c1) const {
+      const unsigned int
+        beg = (unsigned int)offset(0,0,0,c0),
+        end = (unsigned int)offset(0,0,0,c1);
+      if (beg>end || beg>=size() || end>=size())
+        throw CImgArgumentException(_cimg_instance
+                                    "get_shared_channels(): Invalid request of a shared-memory subset "
+                                    "(0->%u,0->%u,0->%u,%u->%u).",
+                                    cimg_instance,
+                                    _width - 1,_height - 1,_depth - 1,c0,c1);
+
+      return CImg<T>(_data + beg,_width,_height,_depth,c1 - c0 + 1,true);
+    }
+
+    //! Return a shared-memory image referencing one channel of the image instance.
+    /**
+       \param c0 C-coordinate.
+    **/
+    CImg<T> get_shared_channel(const unsigned int c0) {
+      return get_shared_channels(c0,c0);
+    }
+
+    //! Return a shared-memory image referencing one channel of the image instance \const.
+    const CImg<T> get_shared_channel(const unsigned int c0) const {
+      return get_shared_channels(c0,c0);
+    }
+
+    //! Return a shared-memory version of the image instance.
+    CImg<T> get_shared() {
+      return CImg<T>(_data,_width,_height,_depth,_spectrum,true);
+    }
+
+    //! Return a shared-memory version of the image instance \const.
+    const CImg<T> get_shared() const {
+      return CImg<T>(_data,_width,_height,_depth,_spectrum,true);
+    }
+
+    //! Split image into a list along specified axis.
+    /**
+       \param axis Splitting axis. Can be <tt>{ 'x' | 'y' | 'z' | 'c' }</tt>.
+       \param nb Number of splitted parts.
+       \note
+       - If \c nb==0, instance image is splitted into blocs of egal values along the specified axis.
+       - If \c nb<=0, instance image is splitted into blocs of -\c nb pixel wide.
+       - If \c nb>0, instance image is splitted into \c nb blocs.
+    **/
+    CImgList<T> get_split(const char axis, const int nb=-1) const {
+      CImgList<T> res;
+      if (is_empty()) return res;
+      const char _axis = cimg::uncase(axis);
+
+      if (nb<0) { // Split by bloc size.
+        const unsigned int dp = (unsigned int)(nb?-nb:1);
+        switch (_axis) {
+        case 'x': {
+          if (_width>dp) {
+            res.assign(_width/dp + (_width%dp?1:0),1,1);
+            const unsigned int pe = _width - dp;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (res._width>=128 && _height*_depth*_spectrum>=128)
+#endif
+            for (unsigned int p = 0; p<pe; p+=dp)
+              get_crop(p,0,0,0,p + dp - 1,_height - 1,_depth - 1,_spectrum - 1).move_to(res[p/dp]);
+            get_crop((res._width - 1)*dp,0,0,0,_width - 1,_height - 1,_depth - 1,_spectrum - 1).move_to(res.back());
+          } else res.assign(*this);
+        } break;
+        case 'y': {
+          if (_height>dp) {
+            res.assign(_height/dp + (_height%dp?1:0),1,1);
+            const unsigned int pe = _height - dp;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (res._width>=128 && _width*_depth*_spectrum>=128)
+#endif
+            for (unsigned int p = 0; p<pe; p+=dp)
+              get_crop(0,p,0,0,_width - 1,p + dp - 1,_depth - 1,_spectrum - 1).move_to(res[p/dp]);
+            get_crop(0,(res._width - 1)*dp,0,0,_width - 1,_height - 1,_depth - 1,_spectrum - 1).move_to(res.back());
+          } else res.assign(*this);
+        } break;
+        case 'z': {
+          if (_depth>dp) {
+            res.assign(_depth/dp + (_depth%dp?1:0),1,1);
+            const unsigned int pe = _depth - dp;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (res._width>=128 && _width*_height*_spectrum>=128)
+#endif
+            for (unsigned int p = 0; p<pe; p+=dp)
+              get_crop(0,0,p,0,_width - 1,_height - 1,p + dp - 1,_spectrum - 1).move_to(res[p/dp]);
+            get_crop(0,0,(res._width - 1)*dp,0,_width - 1,_height - 1,_depth - 1,_spectrum - 1).move_to(res.back());
+          } else res.assign(*this);
+        } break;
+        case 'c' : {
+          if (_spectrum>dp) {
+            res.assign(_spectrum/dp + (_spectrum%dp?1:0),1,1);
+            const unsigned int pe = _spectrum - dp;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (res._width>=128 && _width*_height*_depth>=128)
+#endif
+            for (unsigned int p = 0; p<pe; p+=dp)
+              get_crop(0,0,0,p,_width - 1,_height - 1,_depth - 1,p + dp - 1).move_to(res[p/dp]);
+            get_crop(0,0,0,(res._width - 1)*dp,_width - 1,_height - 1,_depth - 1,_spectrum - 1).move_to(res.back());
+          } else res.assign(*this);
+        }
+        }
+      } else if (nb>0) { // Split by number of (non-homogeneous) blocs.
+        const unsigned int siz = _axis=='x'?_width:_axis=='y'?_height:_axis=='z'?_depth:_axis=='c'?_spectrum:0;
+        if ((unsigned int)nb>siz)
+          throw CImgArgumentException(_cimg_instance
+                                      "get_split(): Instance cannot be split along %c-axis into %u blocs.",
+                                      cimg_instance,
+                                      axis,nb);
+        if (nb==1) res.assign(*this);
+        else {
+          int err = (int)siz;
+          unsigned int _p = 0;
+          switch (_axis) {
+          case 'x' : {
+            cimg_forX(*this,p) if ((err-=nb)<=0) {
+              get_crop(_p,0,0,0,p,_height - 1,_depth - 1,_spectrum - 1).move_to(res);
+              err+=(int)siz;
+              _p = p + 1U;
+            }
+          } break;
+          case 'y' : {
+            cimg_forY(*this,p) if ((err-=nb)<=0) {
+              get_crop(0,_p,0,0,_width - 1,p,_depth - 1,_spectrum - 1).move_to(res);
+              err+=(int)siz;
+              _p = p + 1U;
+            }
+          } break;
+          case 'z' : {
+            cimg_forZ(*this,p) if ((err-=nb)<=0) {
+              get_crop(0,0,_p,0,_width - 1,_height - 1,p,_spectrum - 1).move_to(res);
+              err+=(int)siz;
+              _p = p + 1U;
+            }
+          } break;
+          case 'c' : {
+            cimg_forC(*this,p) if ((err-=nb)<=0) {
+              get_crop(0,0,0,_p,_width - 1,_height - 1,_depth - 1,p).move_to(res);
+              err+=(int)siz;
+              _p = p + 1U;
+            }
+          }
+          }
+        }
+      } else { // Split by egal values according to specified axis.
+        T current = *_data;
+        switch (_axis) {
+        case 'x' : {
+          int i0 = 0;
+          cimg_forX(*this,i)
+            if ((*this)(i)!=current) { get_columns(i0,i - 1).move_to(res); i0 = i; current = (*this)(i); }
+          get_columns(i0,width() - 1).move_to(res);
+        } break;
+        case 'y' : {
+          int i0 = 0;
+          cimg_forY(*this,i)
+            if ((*this)(0,i)!=current) { get_rows(i0,i - 1).move_to(res); i0 = i; current = (*this)(0,i); }
+          get_rows(i0,height() - 1).move_to(res);
+        } break;
+        case 'z' : {
+          int i0 = 0;
+          cimg_forZ(*this,i)
+            if ((*this)(0,0,i)!=current) { get_slices(i0,i - 1).move_to(res); i0 = i; current = (*this)(0,0,i); }
+          get_slices(i0,depth() - 1).move_to(res);
+        } break;
+        case 'c' : {
+          int i0 = 0;
+          cimg_forC(*this,i)
+            if ((*this)(0,0,0,i)!=current) { get_channels(i0,i - 1).move_to(res); i0 = i; current = (*this)(0,0,0,i); }
+          get_channels(i0,spectrum() - 1).move_to(res);
+        } break;
+        default : {
+          long i0 = 0;
+          cimg_foroff(*this,i)
+            if ((*this)[i]!=current) { CImg<T>(_data + i0,1,i - i0).move_to(res); i0 = (long)i; current = (*this)[i]; }
+          CImg<T>(_data + i0,1,size() - i0).move_to(res);
+        }
+        }
+      }
+      return res;
+    }
+
+    //! Split image into a list of sub-images, according to a specified splitting value sequence and optionnally axis.
+    /**
+       \param values Splitting value sequence.
+       \param axis Axis along which the splitting is performed. Can be '0' to ignore axis.
+       \param keep_values Tells if the splitting sequence must be kept in the splitted blocs.
+     **/
+    template<typename t>
+    CImgList<T> get_split(const CImg<t>& values, const char axis=0, const bool keep_values=true) const {
+      CImgList<T> res;
+      if (is_empty()) return res;
+      const unsigned long vsiz = values.size();
+      const char _axis = cimg::uncase(axis);
+      if (!vsiz) return CImgList<T>(*this);
+      if (vsiz==1) { // Split according to a single value.
+        const T value = *values;
+        switch (_axis) {
+        case 'x' : {
+          unsigned int i0 = 0, i = 0;
+          do {
+            while (i<_width && (*this)(i)==value) ++i;
+            if (i>i0) { if (keep_values) get_columns(i0,i - 1).move_to(res); i0 = i; }
+            while (i<_width && (*this)(i)!=value) ++i;
+            if (i>i0) { get_columns(i0,i - 1).move_to(res); i0 = i; }
+          } while (i<_width);
+        } break;
+        case 'y' : {
+          unsigned int i0 = 0, i = 0;
+          do {
+            while (i<_height && (*this)(0,i)==value) ++i;
+            if (i>i0) { if (keep_values) get_rows(i0,i - 1).move_to(res); i0 = i; }
+            while (i<_height && (*this)(0,i)!=value) ++i;
+            if (i>i0) { get_rows(i0,i - 1).move_to(res); i0 = i; }
+          } while (i<_height);
+        } break;
+        case 'z' : {
+          unsigned int i0 = 0, i = 0;
+          do {
+            while (i<_depth && (*this)(0,0,i)==value) ++i;
+            if (i>i0) { if (keep_values) get_slices(i0,i - 1).move_to(res); i0 = i; }
+            while (i<_depth && (*this)(0,0,i)!=value) ++i;
+            if (i>i0) { get_slices(i0,i - 1).move_to(res); i0 = i; }
+          } while (i<_depth);
+        } break;
+        case 'c' : {
+          unsigned int i0 = 0, i = 0;
+          do {
+            while (i<_spectrum && (*this)(0,0,0,i)==value) ++i;
+            if (i>i0) { if (keep_values) get_channels(i0,i - 1).move_to(res); i0 = i; }
+            while (i<_spectrum && (*this)(0,0,0,i)!=value) ++i;
+            if (i>i0) { get_channels(i0,i - 1).move_to(res); i0 = i; }
+          } while (i<_spectrum);
+        } break;
+        default : {
+          const unsigned long siz = size();
+          unsigned long i0 = 0, i = 0;
+          do {
+            while (i<siz && (*this)[i]==value) ++i;
+            if (i>i0) { if (keep_values) CImg<T>(_data + i0,1,i - i0).move_to(res); i0 = i; }
+            while (i<siz && (*this)[i]!=value) ++i;
+            if (i>i0) { CImg<T>(_data + i0,1,i - i0).move_to(res); i0 = i; }
+          } while (i<siz);
+        }
+        }
+      } else { // Split according to multiple values.
+        unsigned long j = 0;
+        switch (_axis) {
+        case 'x' : {
+          unsigned int i0 = 0, i1 = 0, i = 0;
+          do {
+            if ((*this)(i)==*values) {
+              i1 = i; j = 0;
+              while (i<_width && (*this)(i)==values[j]) { ++i; if (++j>=vsiz) j = 0; }
+              i-=j;
+              if (i>i1) {
+                if (i1>i0) get_columns(i0,i1 - 1).move_to(res);
+                if (keep_values) get_columns(i1,i - 1).move_to(res);
+                i0 = i;
+              } else ++i;
+            } else ++i;
+          } while (i<_width);
+          if (i0<_width) get_columns(i0,width() - 1).move_to(res);
+        } break;
+        case 'y' : {
+          unsigned int i0 = 0, i1 = 0, i = 0;
+          do {
+            if ((*this)(0,i)==*values) {
+              i1 = i; j = 0;
+              while (i<_height && (*this)(0,i)==values[j]) { ++i; if (++j>=vsiz) j = 0; }
+              i-=j;
+              if (i>i1) {
+                if (i1>i0) get_rows(i0,i1 - 1).move_to(res);
+                if (keep_values) get_rows(i1,i - 1).move_to(res);
+                i0 = i;
+              } else ++i;
+            } else ++i;
+          } while (i<_height);
+          if (i0<_height) get_rows(i0,height() - 1).move_to(res);
+        } break;
+        case 'z' : {
+          unsigned int i0 = 0, i1 = 0, i = 0;
+          do {
+            if ((*this)(0,0,i)==*values) {
+              i1 = i; j = 0;
+              while (i<_depth && (*this)(0,0,i)==values[j]) { ++i; if (++j>=vsiz) j = 0; }
+              i-=j;
+              if (i>i1) {
+                if (i1>i0) get_slices(i0,i1 - 1).move_to(res);
+                if (keep_values) get_slices(i1,i - 1).move_to(res);
+                i0 = i;
+              } else ++i;
+            } else ++i;
+          } while (i<_depth);
+          if (i0<_depth) get_slices(i0,depth() - 1).move_to(res);
+        } break;
+        case 'c' : {
+          unsigned int i0 = 0, i1 = 0, i = 0;
+          do {
+            if ((*this)(0,0,0,i)==*values) {
+              i1 = i; j = 0;
+              while (i<_spectrum && (*this)(0,0,0,i)==values[j]) { ++i; if (++j>=vsiz) j = 0; }
+              i-=j;
+              if (i>i1) {
+                if (i1>i0) get_channels(i0,i1 - 1).move_to(res);
+                if (keep_values) get_channels(i1,i - 1).move_to(res);
+                i0 = i;
+              } else ++i;
+            } else ++i;
+          } while (i<_spectrum);
+          if (i0<_spectrum) get_channels(i0,spectrum() - 1).move_to(res);
+        } break;
+        default : {
+          unsigned long i0 = 0, i1 = 0, i = 0;
+          const unsigned long siz = size();
+          do {
+            if ((*this)[i]==*values) {
+              i1 = i; j = 0;
+              while (i<siz && (*this)[i]==values[j]) { ++i; if (++j>=vsiz) j = 0; }
+              i-=j;
+              if (i>i1) {
+                if (i1>i0) CImg<T>(_data + i0,1,i1 - i0).move_to(res);
+                if (keep_values) CImg<T>(_data + i1,1,i - i1).move_to(res);
+                i0 = i;
+              } else ++i;
+            } else ++i;
+          } while (i<siz);
+          if (i0<siz) CImg<T>(_data + i0,1,siz - i0).move_to(res);
+        } break;
+        }
+      }
+      return res;
+    }
+
+    //! Append two images along specified axis.
+    /**
+       \param img Image to append with instance image.
+       \param axis Appending axis. Can be <tt>{ 'x' | 'y' | 'z' | 'c' }</tt>.
+       \param align Append alignment in \c [0,1].
+    **/
+    template<typename t>
+    CImg<T>& append(const CImg<t>& img, const char axis='x', const float align=0) {
+      if (is_empty()) return assign(img,false);
+      if (!img) return *this;
+      return CImgList<T>(*this,true).insert(img).get_append(axis,align).move_to(*this);
+    }
+
+    //! Append two images along specified axis \specialization.
+    CImg<T>& append(const CImg<T>& img, const char axis='x', const float align=0) {
+      if (is_empty()) return assign(img,false);
+      if (!img) return *this;
+      return CImgList<T>(*this,img,true).get_append(axis,align).move_to(*this);
+    }
+
+    //! Append two images along specified axis \const.
+    template<typename t>
+    CImg<_cimg_Tt> get_append(const CImg<T>& img, const char axis='x', const float align=0) const {
+      if (is_empty()) return +img;
+      if (!img) return +*this;
+      return CImgList<_cimg_Tt>(*this,true).insert(img).get_append(axis,align);
+    }
+
+    //! Append two images along specified axis \specialization.
+    CImg<T> get_append(const CImg<T>& img, const char axis='x', const float align=0) const {
+      if (is_empty()) return +img;
+      if (!img) return +*this;
+      return CImgList<T>(*this,img,true).get_append(axis,align);
+    }
+
+    //@}
+    //---------------------------------------
+    //
+    //! \name Filtering / Transforms
+    //@{
+    //---------------------------------------
+
+    //! Correlate image by a mask.
+    /**
+       \param mask = the correlation kernel.
+       \param boundary_conditions = the border condition type (0=zero, 1=dirichlet)
+       \param is_normalized = enable local normalization.
+       \note
+       - The correlation of the image instance \p *this by the mask \p mask is defined to be:
+       res(x,y,z) = sum_{i,j,k} (*this)(x + i,y + j,z + k)*mask(i,j,k).
+    **/
+    template<typename t>
+    CImg<T>& correlate(const CImg<t>& mask, const unsigned int boundary_conditions=1, const bool is_normalized=false) {
+      if (is_empty() || !mask) return *this;
+      return get_correlate(mask,boundary_conditions,is_normalized).move_to(*this);
+    }
+
+    //! Correlate image by a mask \newinstance.
+    template<typename t>
+    CImg<_cimg_Ttfloat> get_correlate(const CImg<t>& mask, const unsigned int boundary_conditions=1,
+                                      const bool is_normalized=false) const {
+      if (is_empty() || !mask) return *this;
+      typedef _cimg_Ttfloat Ttfloat;
+      CImg<Ttfloat> res(_width,_height,_depth,cimg::max(_spectrum,mask._spectrum));
+      if (boundary_conditions && mask._width==mask._height &&
+          ((mask._depth==1 && mask._width<=5) || (mask._depth==mask._width && mask._width<=3))) {
+        // A special optimization is done for 2x2, 3x3, 4x4, 5x5, 2x2x2 and 3x3x3 mask (with boundary_conditions=1)
+        Ttfloat *ptrd = res._data;
+        switch (mask._depth) {
+        case 3 : {
+          T I[27] = { 0 };
+          cimg_forC(res,c) {
+            cimg_test_abort();
+            const CImg<T> _img = get_shared_channel(c%_spectrum);
+            const CImg<t> _mask = mask.get_shared_channel(c%mask._spectrum);
+            if (is_normalized) {
+              const Ttfloat _M = (Ttfloat)_mask.magnitude(2), M = _M*_M;
+              cimg_for3x3x3(_img,x,y,z,0,I,T) {
+                const Ttfloat N = M*(I[ 0]*I[ 0] + I[ 1]*I[ 1] + I[ 2]*I[ 2] +
+                                     I[ 3]*I[ 3] + I[ 4]*I[ 4] + I[ 5]*I[ 5] +
+                                     I[ 6]*I[ 6] + I[ 7]*I[ 7] + I[ 8]*I[ 8] +
+                                     I[ 9]*I[ 9] + I[10]*I[10] + I[11]*I[11] +
+                                     I[12]*I[12] + I[13]*I[13] + I[14]*I[14] +
+                                     I[15]*I[15] + I[16]*I[16] + I[17]*I[17] +
+                                     I[18]*I[18] + I[19]*I[19] + I[20]*I[20] +
+                                     I[21]*I[21] + I[22]*I[22] + I[23]*I[23] +
+                                     I[24]*I[24] + I[25]*I[25] + I[26]*I[26]);
+                *(ptrd++) = (Ttfloat)(N?(I[ 0]*_mask[ 0] + I[ 1]*_mask[ 1] + I[ 2]*_mask[ 2] +
+                                         I[ 3]*_mask[ 3] + I[ 4]*_mask[ 4] + I[ 5]*_mask[ 5] +
+                                         I[ 6]*_mask[ 6] + I[ 7]*_mask[ 7] + I[ 8]*_mask[ 8] +
+                                         I[ 9]*_mask[ 9] + I[10]*_mask[10] + I[11]*_mask[11] +
+                                         I[12]*_mask[12] + I[13]*_mask[13] + I[14]*_mask[14] +
+                                         I[15]*_mask[15] + I[16]*_mask[16] + I[17]*_mask[17] +
+                                         I[18]*_mask[18] + I[19]*_mask[19] + I[20]*_mask[20] +
+                                         I[21]*_mask[21] + I[22]*_mask[22] + I[23]*_mask[23] +
+                                         I[24]*_mask[24] + I[25]*_mask[25] + I[26]*_mask[26])/std::sqrt(N):0);
+              }
+            } else cimg_for3x3x3(_img,x,y,z,0,I,T)
+                     *(ptrd++) = (Ttfloat)(I[ 0]*_mask[ 0] + I[ 1]*_mask[ 1] + I[ 2]*_mask[ 2] +
+                                           I[ 3]*_mask[ 3] + I[ 4]*_mask[ 4] + I[ 5]*_mask[ 5] +
+                                           I[ 6]*_mask[ 6] + I[ 7]*_mask[ 7] + I[ 8]*_mask[ 8] +
+                                           I[ 9]*_mask[ 9] + I[10]*_mask[10] + I[11]*_mask[11] +
+                                           I[12]*_mask[12] + I[13]*_mask[13] + I[14]*_mask[14] +
+                                           I[15]*_mask[15] + I[16]*_mask[16] + I[17]*_mask[17] +
+                                           I[18]*_mask[18] + I[19]*_mask[19] + I[20]*_mask[20] +
+                                           I[21]*_mask[21] + I[22]*_mask[22] + I[23]*_mask[23] +
+                                           I[24]*_mask[24] + I[25]*_mask[25] + I[26]*_mask[26]);
+          }
+        } break;
+        case 2 : {
+          T I[8] = { 0 };
+          cimg_forC(res,c) {
+            cimg_test_abort();
+            const CImg<T> _img = get_shared_channel(c%_spectrum);
+            const CImg<t> _mask = mask.get_shared_channel(c%mask._spectrum);
+            if (is_normalized) {
+              const Ttfloat _M = (Ttfloat)_mask.magnitude(2), M = _M*_M;
+              cimg_for2x2x2(_img,x,y,z,0,I,T) {
+                const Ttfloat N = M*(I[0]*I[0] + I[1]*I[1] +
+                                     I[2]*I[2] + I[3]*I[3] +
+                                     I[4]*I[4] + I[5]*I[5] +
+                                     I[6]*I[6] + I[7]*I[7]);
+                *(ptrd++) = (Ttfloat)(N?(I[0]*_mask[0] + I[1]*_mask[1] +
+                                         I[2]*_mask[2] + I[3]*_mask[3] +
+                                         I[4]*_mask[4] + I[5]*_mask[5] +
+                                         I[6]*_mask[6] + I[7]*_mask[7])/std::sqrt(N):0);
+              }
+            } else cimg_for2x2x2(_img,x,y,z,0,I,T)
+                     *(ptrd++) = (Ttfloat)(I[0]*_mask[0] + I[1]*_mask[1] +
+                                           I[2]*_mask[2] + I[3]*_mask[3] +
+                                           I[4]*_mask[4] + I[5]*_mask[5] +
+                                           I[6]*_mask[6] + I[7]*_mask[7]);
+          }
+        } break;
+        default :
+        case 1 :
+          switch (mask._width) {
+          case 6 : {
+            T I[36] = { 0 };
+            cimg_forC(res,c) {
+              cimg_test_abort();
+              const CImg<T> _img = get_shared_channel(c%_spectrum);
+              const CImg<t> _mask = mask.get_shared_channel(c%mask._spectrum);
+              if (is_normalized) {
+                const Ttfloat _M = (Ttfloat)_mask.magnitude(2), M = _M*_M;
+                cimg_forZ(_img,z) cimg_for6x6(_img,x,y,z,0,I,T) {
+                  const Ttfloat N = M*(I[ 0]*I[ 0] + I[ 1]*I[ 1] + I[ 2]*I[ 2] + I[ 3]*I[ 3] + I[ 4]*I[ 4] +
+                                       I[ 5]*I[ 5] + I[ 6]*I[ 6] + I[ 7]*I[ 7] + I[ 8]*I[ 8] + I[ 9]*I[ 9] +
+                                       I[10]*I[10] + I[11]*I[11] + I[12]*I[12] + I[13]*I[13] + I[14]*I[14] +
+                                       I[15]*I[15] + I[16]*I[16] + I[17]*I[17] + I[18]*I[18] + I[19]*I[19] +
+                                       I[20]*I[20] + I[21]*I[21] + I[22]*I[22] + I[23]*I[23] + I[24]*I[24] +
+                                       I[25]*I[25] + I[26]*I[26] + I[27]*I[27] + I[28]*I[28] + I[29]*I[29] +
+                                       I[30]*I[30] + I[31]*I[31] + I[32]*I[32] + I[33]*I[33] + I[34]*I[34] +
+                                       I[35]*I[35]);
+                  *(ptrd++) = (Ttfloat)(N?(I[ 0]*_mask[ 0] + I[ 1]*_mask[ 1] + I[ 2]*_mask[ 2] + I[ 3]*_mask[ 3] +
+                                           I[ 4]*_mask[ 4] + I[ 5]*_mask[ 5] + I[ 6]*_mask[ 6] + I[ 7]*_mask[ 7] +
+                                           I[ 8]*_mask[ 8] + I[ 9]*_mask[ 9] + I[10]*_mask[10] + I[11]*_mask[11] +
+                                           I[12]*_mask[12] + I[13]*_mask[13] + I[14]*_mask[14] + I[15]*_mask[15] +
+                                           I[16]*_mask[16] + I[17]*_mask[17] + I[18]*_mask[18] + I[19]*_mask[19] +
+                                           I[20]*_mask[20] + I[21]*_mask[21] + I[22]*_mask[22] + I[23]*_mask[23] +
+                                           I[24]*_mask[24] + I[25]*_mask[25] + I[26]*_mask[26] + I[27]*_mask[27] +
+                                           I[28]*_mask[28] + I[29]*_mask[29] + I[30]*_mask[30] + I[31]*_mask[31] +
+                                           I[32]*_mask[32] + I[33]*_mask[33] + I[34]*_mask[34] + I[35]*_mask[35])/
+                                        std::sqrt(N):0);
+                }
+              } else cimg_forZ(_img,z) cimg_for6x6(_img,x,y,z,0,I,T)
+                       *(ptrd++) = (Ttfloat)(I[ 0]*_mask[ 0] + I[ 1]*_mask[ 1] + I[ 2]*_mask[ 2] + I[ 3]*_mask[ 3] +
+                                             I[ 4]*_mask[ 4] + I[ 5]*_mask[ 5] + I[ 6]*_mask[ 6] + I[ 7]*_mask[ 7] +
+                                             I[ 8]*_mask[ 8] + I[ 9]*_mask[ 9] + I[10]*_mask[10] + I[11]*_mask[11] +
+                                             I[12]*_mask[12] + I[13]*_mask[13] + I[14]*_mask[14] + I[15]*_mask[15] +
+                                             I[16]*_mask[16] + I[17]*_mask[17] + I[18]*_mask[18] + I[19]*_mask[19] +
+                                             I[20]*_mask[20] + I[21]*_mask[21] + I[22]*_mask[22] + I[23]*_mask[23] +
+                                             I[24]*_mask[24] + I[25]*_mask[25] + I[26]*_mask[26] + I[27]*_mask[27] +
+                                             I[28]*_mask[28] + I[29]*_mask[29] + I[30]*_mask[30] + I[31]*_mask[31] +
+                                             I[32]*_mask[32] + I[33]*_mask[33] + I[34]*_mask[34] + I[35]*_mask[35]);
+            }
+          } break;
+          case 5 : {
+            T I[25] = { 0 };
+            cimg_forC(res,c) {
+              cimg_test_abort();
+              const CImg<T> _img = get_shared_channel(c%_spectrum);
+              const CImg<t> _mask = mask.get_shared_channel(c%mask._spectrum);
+              if (is_normalized) {
+                const Ttfloat _M = (Ttfloat)_mask.magnitude(2), M = _M*_M;
+                cimg_forZ(_img,z) cimg_for5x5(_img,x,y,z,0,I,T) {
+                  const Ttfloat N = M*(I[ 0]*I[ 0] + I[ 1]*I[ 1] + I[ 2]*I[ 2] + I[ 3]*I[ 3] + I[ 4]*I[ 4] +
+                                       I[ 5]*I[ 5] + I[ 6]*I[ 6] + I[ 7]*I[ 7] + I[ 8]*I[ 8] + I[ 9]*I[ 9] +
+                                       I[10]*I[10] + I[11]*I[11] + I[12]*I[12] + I[13]*I[13] + I[14]*I[14] +
+                                       I[15]*I[15] + I[16]*I[16] + I[17]*I[17] + I[18]*I[18] + I[19]*I[19] +
+                                       I[20]*I[20] + I[21]*I[21] + I[22]*I[22] + I[23]*I[23] + I[24]*I[24]);
+                  *(ptrd++) = (Ttfloat)(N?(I[ 0]*_mask[ 0] + I[ 1]*_mask[ 1] + I[ 2]*_mask[ 2] + I[ 3]*_mask[ 3] +
+                                           I[ 4]*_mask[ 4] + I[ 5]*_mask[ 5] + I[ 6]*_mask[ 6] + I[ 7]*_mask[ 7] +
+                                           I[ 8]*_mask[ 8] + I[ 9]*_mask[ 9] + I[10]*_mask[10] + I[11]*_mask[11] +
+                                           I[12]*_mask[12] + I[13]*_mask[13] + I[14]*_mask[14] + I[15]*_mask[15] +
+                                           I[16]*_mask[16] + I[17]*_mask[17] + I[18]*_mask[18] + I[19]*_mask[19] +
+                                           I[20]*_mask[20] + I[21]*_mask[21] + I[22]*_mask[22] + I[23]*_mask[23] +
+                                           I[24]*_mask[24])/std::sqrt(N):0);
+                }
+              } else cimg_forZ(_img,z) cimg_for5x5(_img,x,y,z,0,I,T)
+                       *(ptrd++) = (Ttfloat)(I[ 0]*_mask[ 0] + I[ 1]*_mask[ 1] + I[ 2]*_mask[ 2] + I[ 3]*_mask[ 3] +
+                                             I[ 4]*_mask[ 4] + I[ 5]*_mask[ 5] + I[ 6]*_mask[ 6] + I[ 7]*_mask[ 7] +
+                                             I[ 8]*_mask[ 8] + I[ 9]*_mask[ 9] + I[10]*_mask[10] + I[11]*_mask[11] +
+                                             I[12]*_mask[12] + I[13]*_mask[13] + I[14]*_mask[14] + I[15]*_mask[15] +
+                                             I[16]*_mask[16] + I[17]*_mask[17] + I[18]*_mask[18] + I[19]*_mask[19] +
+                                             I[20]*_mask[20] + I[21]*_mask[21] + I[22]*_mask[22] + I[23]*_mask[23] +
+                                             I[24]*_mask[24]);
+            }
+          } break;
+          case 4 : {
+            T I[16] = { 0 };
+            cimg_forC(res,c) {
+              cimg_test_abort();
+              const CImg<T> _img = get_shared_channel(c%_spectrum);
+              const CImg<t> _mask = mask.get_shared_channel(c%mask._spectrum);
+              if (is_normalized) {
+                const Ttfloat _M = (Ttfloat)_mask.magnitude(2), M = _M*_M;
+                cimg_forZ(_img,z) cimg_for4x4(_img,x,y,z,0,I,T) {
+                  const Ttfloat N = M*(I[ 0]*I[ 0] + I[ 1]*I[ 1] + I[ 2]*I[ 2] + I[ 3]*I[ 3] +
+                                       I[ 4]*I[ 4] + I[ 5]*I[ 5] + I[ 6]*I[ 6] + I[ 7]*I[ 7] +
+                                       I[ 8]*I[ 8] + I[ 9]*I[ 9] + I[10]*I[10] + I[11]*I[11] +
+                                       I[12]*I[12] + I[13]*I[13] + I[14]*I[14] + I[15]*I[15]);
+                  *(ptrd++) = (Ttfloat)(N?(I[ 0]*_mask[ 0] + I[ 1]*_mask[ 1] + I[ 2]*_mask[ 2] + I[ 3]*_mask[ 3] +
+                                           I[ 4]*_mask[ 4] + I[ 5]*_mask[ 5] + I[ 6]*_mask[ 6] + I[ 7]*_mask[ 7] +
+                                           I[ 8]*_mask[ 8] + I[ 9]*_mask[ 9] + I[10]*_mask[10] + I[11]*_mask[11] +
+                                           I[12]*_mask[12] + I[13]*_mask[13] + I[14]*_mask[14] + I[15]*_mask[15])/
+                                        std::sqrt(N):0);
+                }
+              } else cimg_forZ(_img,z) cimg_for4x4(_img,x,y,z,0,I,T)
+                       *(ptrd++) = (Ttfloat)(I[ 0]*_mask[ 0] + I[ 1]*_mask[ 1] + I[ 2]*_mask[ 2] + I[ 3]*_mask[ 3] +
+                                             I[ 4]*_mask[ 4] + I[ 5]*_mask[ 5] + I[ 6]*_mask[ 6] + I[ 7]*_mask[ 7] +
+                                             I[ 8]*_mask[ 8] + I[ 9]*_mask[ 9] + I[10]*_mask[10] + I[11]*_mask[11] +
+                                             I[12]*_mask[12] + I[13]*_mask[13] + I[14]*_mask[14] + I[15]*_mask[15]);
+            }
+          } break;
+          case 3 : {
+            T I[9] = { 0 };
+            cimg_forC(res,c) {
+              cimg_test_abort();
+              const CImg<T> _img = get_shared_channel(c%_spectrum);
+              const CImg<t> _mask = mask.get_shared_channel(c%mask._spectrum);
+              if (is_normalized) {
+                const Ttfloat _M = (Ttfloat)_mask.magnitude(2), M = _M*_M;
+                cimg_forZ(_img,z) cimg_for3x3(_img,x,y,z,0,I,T) {
+                  const Ttfloat N = M*(I[0]*I[0] + I[1]*I[1] + I[2]*I[2] +
+                                       I[3]*I[3] + I[4]*I[4] + I[5]*I[5] +
+                                       I[6]*I[6] + I[7]*I[7] + I[8]*I[8]);
+                  *(ptrd++) = (Ttfloat)(N?(I[0]*_mask[0] + I[1]*_mask[1] + I[2]*_mask[2] +
+                                           I[3]*_mask[3] + I[4]*_mask[4] + I[5]*_mask[5] +
+                                           I[6]*_mask[6] + I[7]*_mask[7] + I[8]*_mask[8])/std::sqrt(N):0);
+                }
+              } else cimg_forZ(_img,z) cimg_for3x3(_img,x,y,z,0,I,T)
+                       *(ptrd++) = (Ttfloat)(I[0]*_mask[0] + I[1]*_mask[1] + I[2]*_mask[2] +
+                                             I[3]*_mask[3] + I[4]*_mask[4] + I[5]*_mask[5] +
+                                             I[6]*_mask[6] + I[7]*_mask[7] + I[8]*_mask[8]);
+            }
+          } break;
+          case 2 : {
+            T I[4] = { 0 };
+            cimg_forC(res,c) {
+              cimg_test_abort();
+              const CImg<T> _img = get_shared_channel(c%_spectrum);
+              const CImg<t> _mask = mask.get_shared_channel(c%mask._spectrum);
+              if (is_normalized) {
+                const Ttfloat _M = (Ttfloat)_mask.magnitude(2), M = _M*_M;
+                cimg_forZ(_img,z) cimg_for2x2(_img,x,y,z,0,I,T) {
+                  const Ttfloat N = M*(I[0]*I[0] + I[1]*I[1] +
+                                       I[2]*I[2] + I[3]*I[3]);
+                  *(ptrd++) = (Ttfloat)(N?(I[0]*_mask[0] + I[1]*_mask[1] +
+                                           I[2]*_mask[2] + I[3]*_mask[3])/std::sqrt(N):0);
+                }
+              } else cimg_forZ(_img,z) cimg_for2x2(_img,x,y,z,0,I,T)
+                       *(ptrd++) = (Ttfloat)(I[0]*_mask[0] + I[1]*_mask[1] +
+                                             I[2]*_mask[2] + I[3]*_mask[3]);
+            }
+          } break;
+          case 1 :
+            if (is_normalized) res.fill(1);
+            else cimg_forC(res,c) {
+                cimg_test_abort();
+                const CImg<T> _img = get_shared_channel(c%_spectrum);
+                const CImg<t> _mask = mask.get_shared_channel(c%mask._spectrum);
+                res.get_shared_channel(c).assign(_img)*=_mask[0];
+              }
+            break;
+          }
+        }
+      } else { // Generic version for other masks and borders conditions.
+        const int
+          mx2 = mask.width()/2, my2 = mask.height()/2, mz2 = mask.depth()/2,
+          mx1 = mx2 - 1 + (mask.width()%2), my1 = my2 - 1 + (mask.height()%2), mz1 = mz2 - 1 + (mask.depth()%2),
+          mxe = width() - mx2, mye = height() - my2, mze = depth() - mz2;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (res._spectrum>=2)
+#endif
+        cimg_forC(res,c) {
+          cimg_test_abort();
+          const CImg<T> _img = get_shared_channel(c%_spectrum);
+          const CImg<t> _mask = mask.get_shared_channel(c%mask._spectrum);
+          if (is_normalized) { // Normalized correlation.
+            const Ttfloat _M = (Ttfloat)_mask.magnitude(2), M = _M*_M;
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width*_height*_depth>=32768)
+#endif
+            for (int z = mz1; z<mze; ++z)
+              for (int y = my1; y<mye; ++y)
+                for (int x = mx1; x<mxe; ++x) {
+                  Ttfloat val = 0, N = 0;
+                  for (int zm = -mz1; zm<=mz2; ++zm)
+                    for (int ym = -my1; ym<=my2; ++ym)
+                      for (int xm = -mx1; xm<=mx2; ++xm) {
+                        const Ttfloat _val = (Ttfloat)_img(x + xm,y + ym,z + zm);
+                        val+=_val*_mask(mx1 + xm,my1 + ym,mz1 + zm);
+                        N+=_val*_val;
+                      }
+                  N*=M;
+                  res(x,y,z,c) = (Ttfloat)(N?val/std::sqrt(N):0);
+                }
+            if (boundary_conditions)
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=256 && _height*_depth>=128)
+#endif
+              cimg_forYZ(res,y,z)
+                for (int x = 0; x<width();
+                     (y<my1 || y>=mye || z<mz1 || z>=mze)?++x:((x<mx1 - 1 || x>=mxe)?++x:(x=mxe))) {
+                  Ttfloat val = 0, N = 0;
+                  for (int zm = -mz1; zm<=mz2; ++zm)
+                    for (int ym = -my1; ym<=my2; ++ym)
+                      for (int xm = -mx1; xm<=mx2; ++xm) {
+                        const Ttfloat _val = (Ttfloat)_img._atXYZ(x + xm,y + ym,z + zm);
+                        val+=_val*_mask(mx1 + xm,my1 + ym,mz1 + zm);
+                        N+=_val*_val;
+                      }
+                  N*=M;
+                  res(x,y,z,c) = (Ttfloat)(N?val/std::sqrt(N):0);
+                }
+            else
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=256 && _height*_depth>=128)
+#endif
+              cimg_forYZ(res,y,z)
+                for (int x = 0; x<width();
+                     (y<my1 || y>=mye || z<mz1 || z>=mze)?++x:((x<mx1 - 1 || x>=mxe)?++x:(x=mxe))) {
+                  Ttfloat val = 0, N = 0;
+                  for (int zm = -mz1; zm<=mz2; ++zm)
+                    for (int ym = -my1; ym<=my2; ++ym)
+                      for (int xm = -mx1; xm<=mx2; ++xm) {
+                        const Ttfloat _val = (Ttfloat)_img.atXYZ(x + xm,y + ym,z + zm,0,0);
+                        val+=_val*_mask(mx1 + xm,my1 + ym,mz1 + zm);
+                        N+=_val*_val;
+                      }
+                  N*=M;
+                  res(x,y,z,c) = (Ttfloat)(N?val/std::sqrt(N):0);
+                }
+          } else { // Classical correlation.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width*_height*_depth>=32768)
+#endif
+            for (int z = mz1; z<mze; ++z)
+              for (int y = my1; y<mye; ++y)
+                for (int x = mx1; x<mxe; ++x) {
+                  Ttfloat val = 0;
+                  for (int zm = -mz1; zm<=mz2; ++zm)
+                    for (int ym = -my1; ym<=my2; ++ym)
+                      for (int xm = -mx1; xm<=mx2; ++xm)
+                        val+=_img(x + xm,y + ym,z + zm)*_mask(mx1 + xm,my1 + ym,mz1 + zm);
+                  res(x,y,z,c) = (Ttfloat)val;
+                }
+            if (boundary_conditions)
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=256 && _height*_depth>=128)
+#endif
+              cimg_forYZ(res,y,z)
+                for (int x = 0; x<width();
+                     (y<my1 || y>=mye || z<mz1 || z>=mze)?++x:((x<mx1 - 1 || x>=mxe)?++x:(x=mxe))) {
+                  Ttfloat val = 0;
+                  for (int zm = -mz1; zm<=mz2; ++zm)
+                    for (int ym = -my1; ym<=my2; ++ym)
+                      for (int xm = -mx1; xm<=mx2; ++xm)
+                        val+=_img._atXYZ(x + xm,y + ym,z + zm)*_mask(mx1 + xm,my1 + ym,mz1 + zm);
+                  res(x,y,z,c) = (Ttfloat)val;
+                }
+            else
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=256 && _height*_depth>=128)
+#endif
+              cimg_forYZ(res,y,z)
+                for (int x = 0; x<width();
+                     (y<my1 || y>=mye || z<mz1 || z>=mze)?++x:((x<mx1 - 1 || x>=mxe)?++x:(x=mxe))) {
+                  Ttfloat val = 0;
+                  for (int zm = -mz1; zm<=mz2; ++zm)
+                    for (int ym = -my1; ym<=my2; ++ym)
+                      for (int xm = -mx1; xm<=mx2; ++xm)
+                        val+=_img.atXYZ(x + xm,y + ym,z + zm,0,0)*_mask(mx1 + xm,my1 + ym,mz1 + zm);
+                  res(x,y,z,c) = (Ttfloat)val;
+                }
+          }
+        }
+      }
+      return res;
+    }
+
+    //! Convolve image by a mask.
+    /**
+       \param mask = the correlation kernel.
+       \param boundary_conditions = the border condition type (0=zero, 1=dirichlet)
+       \param is_normalized = enable local normalization.
+       \note
+       - The result \p res of the convolution of an image \p img by a mask \p mask is defined to be:
+       res(x,y,z) = sum_{i,j,k} img(x-i,y-j,z-k)*mask(i,j,k)
+    **/
+    template<typename t>
+    CImg<T>& convolve(const CImg<t>& mask, const unsigned int boundary_conditions=1, const bool is_normalized=false) {
+      if (is_empty() || !mask) return *this;
+      return get_convolve(mask,boundary_conditions,is_normalized).move_to(*this);
+    }
+
+    //! Cumulate image values, optionally along specified axis.
+    /**
+       \param axis Cumulation axis. Set it to 0 to cumulate all values globally without taking axes into account.
+    **/
+    CImg<T>& cumulate(const char axis=0) {
+      switch (cimg::uncase(axis)) {
+      case 'x' :
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width>=512 && _height*_depth*_spectrum>=16)
+#endif
+        cimg_forYZC(*this,y,z,c) {
+          T *ptrd = data(0,y,z,c);
+          Tlong cumul = 0;
+          cimg_forX(*this,x) { cumul+=(Tlong)*ptrd; *(ptrd++) = (T)cumul; }
+        }
+        break;
+      case 'y' : {
+        const unsigned long w = (unsigned long)_width;
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_height>=512 && _width*_depth*_spectrum>=16)
+#endif
+        cimg_forXZC(*this,x,z,c) {
+          T *ptrd = data(x,0,z,c);
+          Tlong cumul = 0;
+          cimg_forY(*this,y) { cumul+=(Tlong)*ptrd; *ptrd = (T)cumul; ptrd+=w; }
+        }
+      } break;
+      case 'z' : {
+        const unsigned long wh = (unsigned long)_width*_height;
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_depth>=512 && _width*_depth*_spectrum>=16)
+#endif
+        cimg_forXYC(*this,x,y,c) {
+          T *ptrd = data(x,y,0,c);
+          Tlong cumul = 0;
+          cimg_forZ(*this,z) { cumul+=(Tlong)*ptrd; *ptrd = (T)cumul; ptrd+=wh; }
+        }
+      } break;
+      case 'c' : {
+        const unsigned long whd = (unsigned long)_width*_height*_depth;
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_spectrum>=512 && _width*_height*_depth>=16)
+#endif
+        cimg_forXYZ(*this,x,y,z) {
+          T *ptrd = data(x,y,z,0);
+          Tlong cumul = 0;
+          cimg_forC(*this,c) { cumul+=(Tlong)*ptrd; *ptrd = (T)cumul; ptrd+=whd; }
+        }
+      } break;
+      default : { // Global cumulation.
+        Tlong cumul = 0;
+        cimg_for(*this,ptrd,T) { cumul+=(Tlong)*ptrd; *ptrd = (T)cumul; }
+      }
+      }
+      return *this;
+    }
+
+    //! Cumulate image values, optionally along specified axis \newinstance.
+    CImg<Tlong> get_cumulate(const char axis=0) const {
+      return CImg<Tlong>(*this,false).cumulate(axis);
+    }
+
+    //! Cumulate image values, along specified axes.
+    /**
+       \param axes Cumulation axes, as a C-string.
+       \note \c axes may contains multiple characters, e.g. \c "xyz"
+    **/
+    CImg<T>& cumulate(const char *const axes) {
+      for (const char *s = axes; *s; ++s) cumulate(*s);
+      return *this;
+    }
+
+    //! Cumulate image values, along specified axes \newintance.
+    CImg<Tlong> get_cumulate(const char *const axes) const {
+      return CImg<Tlong>(*this,false).cumulate(axes);
+    }
+
+    //! Convolve image by a mask \newinstance.
+    template<typename t>
+    CImg<_cimg_Ttfloat> get_convolve(const CImg<t>& mask, const unsigned int boundary_conditions=1,
+                                     const bool is_normalized=false) const {
+      if (is_empty() || !mask) return *this;
+      return get_correlate(CImg<t>(mask._data,mask.size(),1,1,1,true).get_mirror('x').
+                           resize(mask,-1),boundary_conditions,is_normalized);
+    }
+
+    //! Erode image by a structuring element.
+    /**
+       \param mask Structuring element.
+       \param boundary_conditions Boundary conditions.
+       \param is_normalized Tells if the erosion is locally normalized.
+    **/
+    template<typename t>
+    CImg<T>& erode(const CImg<t>& mask, const unsigned int boundary_conditions=1,
+                   const bool is_normalized=false) {
+      if (is_empty() || !mask) return *this;
+      return get_erode(mask,boundary_conditions,is_normalized).move_to(*this);
+    }
+
+    //! Erode image by a structuring element \newinstance.
+    template<typename t>
+    CImg<_cimg_Tt> get_erode(const CImg<t>& mask, const unsigned int boundary_conditions=1,
+                             const bool is_normalized=false) const {
+      if (is_empty() || !mask) return *this;
+      typedef _cimg_Tt Tt;
+      CImg<Tt> res(_width,_height,_depth,cimg::max(_spectrum,mask._spectrum));
+      const int
+        mx2 = mask.width()/2, my2 = mask.height()/2, mz2 = mask.depth()/2,
+        mx1 = mx2 - 1 + (mask.width()%2), my1 = my2 - 1 + (mask.height()%2), mz1 = mz2 - 1 + (mask.depth()%2),
+        mxe = width() - mx2, mye = height() - my2, mze = depth() - mz2;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_spectrum>=2)
+#endif
+      cimg_forC(*this,c) {
+        cimg_test_abort();
+        const CImg<T> _img = get_shared_channel(c%_spectrum);
+        const CImg<t> _mask = mask.get_shared_channel(c%mask._spectrum);
+        if (is_normalized) { // Normalized erosion.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width*_height*_depth>=32768)
+#endif
+          for (int z = mz1; z<mze; ++z)
+            for (int y = my1; y<mye; ++y)
+              for (int x = mx1; x<mxe; ++x) {
+                Tt min_val = cimg::type<Tt>::max();
+                for (int zm = -mz1; zm<=mz2; ++zm)
+                  for (int ym = -my1; ym<=my2; ++ym)
+                    for (int xm = -mx1; xm<=mx2; ++xm) {
+                      const t mval = _mask(mx1 + xm,my1 + ym,mz1 + zm);
+                      const Tt cval = (Tt)(_img(x + xm,y + ym,z + zm) + mval);
+                      if (mval && cval<min_val) min_val = cval;
+                    }
+                res(x,y,z,c) = min_val;
+              }
+          if (boundary_conditions)
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=256 && _height*_depth>=128)
+#endif
+            cimg_forYZ(res,y,z)
+              for (int x = 0; x<width(); (y<my1 || y>=mye || z<mz1 || z>=mze)?++x:((x<mx1 - 1 || x>=mxe)?++x:(x=mxe))) {
+                Tt min_val = cimg::type<Tt>::max();
+                for (int zm = -mz1; zm<=mz2; ++zm)
+                  for (int ym = -my1; ym<=my2; ++ym)
+                    for (int xm = -mx1; xm<=mx2; ++xm) {
+                      const t mval = _mask(mx1 + xm,my1 + ym,mz1 + zm);
+                      const Tt cval = (Tt)(_img._atXYZ(x + xm,y + ym,z + zm) + mval);
+                      if (mval && cval<min_val) min_val = cval;
+                    }
+                res(x,y,z,c) = min_val;
+              }
+          else
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=256 && _height*_depth>=128)
+#endif
+            cimg_forYZ(res,y,z)
+              for (int x = 0; x<width(); (y<my1 || y>=mye || z<mz1 || z>=mze)?++x:((x<mx1 - 1 || x>=mxe)?++x:(x=mxe))) {
+                Tt min_val = cimg::type<Tt>::max();
+                for (int zm = -mz1; zm<=mz2; ++zm)
+                  for (int ym = -my1; ym<=my2; ++ym)
+                    for (int xm = -mx1; xm<=mx2; ++xm) {
+                      const t mval = _mask(mx1 + xm,my1 + ym,mz1 + zm);
+                      const Tt cval = (Tt)(_img.atXYZ(x + xm,y + ym,z + zm,0,0) + mval);
+                      if (mval && cval<min_val) min_val = cval;
+                    }
+                res(x,y,z,c) = min_val;
+              }
+
+        } else { // Classical erosion.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width*_height*_depth>=32768)
+#endif
+          for (int z = mz1; z<mze; ++z)
+            for (int y = my1; y<mye; ++y)
+              for (int x = mx1; x<mxe; ++x) {
+                Tt min_val = cimg::type<Tt>::max();
+                for (int zm = -mz1; zm<=mz2; ++zm)
+                  for (int ym = -my1; ym<=my2; ++ym)
+                    for (int xm = -mx1; xm<=mx2; ++xm) {
+                      const Tt cval = (Tt)_img(x + xm,y + ym,z + zm);
+                      if (_mask(mx1 + xm,my1 + ym,mz1 + zm) && cval<min_val) min_val = cval;
+                    }
+                res(x,y,z,c) = min_val;
+              }
+          if (boundary_conditions)
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=256 && _height*_depth>=128)
+#endif
+            cimg_forYZ(res,y,z)
+              for (int x = 0; x<width(); (y<my1 || y>=mye || z<mz1 || z>=mze)?++x:((x<mx1 - 1 || x>=mxe)?++x:(x=mxe))) {
+                Tt min_val = cimg::type<Tt>::max();
+                for (int zm = -mz1; zm<=mz2; ++zm)
+                  for (int ym = -my1; ym<=my2; ++ym)
+                    for (int xm = -mx1; xm<=mx2; ++xm) {
+                      const T cval = (Tt)_img._atXYZ(x + xm,y + ym,z + zm);
+                      if (_mask(mx1 + xm,my1 + ym,mz1 + zm) && cval<min_val) min_val = cval;
+                    }
+                res(x,y,z,c) = min_val;
+              }
+          else
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=256 && _height*_depth>=128)
+#endif
+            cimg_forYZ(res,y,z)
+              for (int x = 0; x<width(); (y<my1 || y>=mye || z<mz1 || z>=mze)?++x:((x<mx1 - 1 || x>=mxe)?++x:(x=mxe))) {
+                Tt min_val = cimg::type<Tt>::max();
+                for (int zm = -mz1; zm<=mz2; ++zm)
+                  for (int ym = -my1; ym<=my2; ++ym)
+                    for (int xm = -mx1; xm<=mx2; ++xm) {
+                      const T cval = (Tt)_img.atXYZ(x + xm,y + ym,z + zm,0,0);
+                      if (_mask(mx1 + xm,my1 + ym,mz1 + zm) && cval<min_val) min_val = cval;
+                    }
+                res(x,y,z,c) = min_val;
+              }
+        }
+      }
+      return res;
+    }
+
+    //! Erode image by a rectangular structuring element of specified size.
+    /**
+       \param sx Width of the structuring element.
+       \param sy Height of the structuring element.
+       \param sz Depth of the structuring element.
+    **/
+    CImg<T>& erode(const unsigned int sx, const unsigned int sy, const unsigned int sz=1) {
+      if (is_empty() || (sx==1 && sy==1 && sz==1)) return *this;
+      if (sx>1 && _width>1) { // Along X-axis.
+        const int L = width(), off = 1, s = (int)sx, _s1 = s/2, _s2 = s - _s1, s1 = _s1>L?L:_s1, s2 = _s2>L?L:_s2;
+        CImg<T> buf(L);
+#ifdef cimg_use_opemp
+#pragma omp parallel for collapse(3) firstprivate(buf) if (size()>524288)
+#endif
+        cimg_forYZC(*this,y,z,c) {
+          T *const ptrdb = buf._data, *ptrd = buf._data, *const ptrde = buf._data + L - 1;
+          const T *const ptrsb = data(0,y,z,c), *ptrs = ptrsb, *const ptrse = ptrs + L*off - off;
+          T cur = *ptrs; ptrs+=off; bool is_first = true;
+          for (int p = s2 - 1; p>0 && ptrs<=ptrse; --p) {
+            const T val = *ptrs; ptrs+=off; if (val<=cur) { cur = val; is_first = false; }}
+          *(ptrd++) = cur;
+          if (ptrs>=ptrse) {
+            T *pd = data(0,y,z,c); cur = cimg::min(cur,*ptrse); cimg_forX(buf,x) { *pd = cur; pd+=off; }
+          } else {
+            for (int p = s1; p>0 && ptrd<=ptrde; --p) {
+              const T val = *ptrs; if (ptrs<ptrse) ptrs+=off; if (val<=cur) { cur = val; is_first = false; }
+              *(ptrd++) = cur;
+            }
+            for (int p = L - s - 1; p>0; --p) {
+              const T val = *ptrs; ptrs+=off;
+              if (is_first) {
+                const T *nptrs = ptrs - off; cur = val;
+                for (int q = s - 2; q>0; --q) { nptrs-=off; const T nval = *nptrs; if (nval<cur) cur = nval; }
+                nptrs-=off; const T nval = *nptrs; if (nval<cur) { cur = nval; is_first = true; } else is_first = false;
+              } else { if (val<=cur) cur = val; else if (cur==*(ptrs-s*off)) is_first = true; }
+              *(ptrd++) = cur;
+            }
+            ptrd = ptrde; ptrs = ptrse; cur = *ptrs; ptrs-=off;
+            for (int p = s1; p>0 && ptrs>=ptrsb; --p) {
+              const T val = *ptrs; ptrs-=off; if (val<cur) cur = val;
+            }
+            *(ptrd--) = cur;
+            for (int p = s2 - 1; p>0 && ptrd>=ptrdb; --p) {
+              const T val = *ptrs; if (ptrs>ptrsb) ptrs-=off; if (val<cur) cur = val; *(ptrd--) = cur;
+            }
+            T *pd = data(0,y,z,c); cimg_for(buf,ps,T) { *pd = *ps; pd+=off; }
+          }
+        }
+      }
+
+      if (sy>1 && _height>1) { // Along Y-axis.
+        const int L = height(), off = width(), s = (int)sy, _s1 = s/2, _s2 = s - _s1, s1 = _s1>L?L:_s1,
+          s2 = _s2>L?L:_s2;
+        CImg<T> buf(L);
+#ifdef cimg_use_opemp
+#pragma omp parallel for collapse(3) firstprivate(buf) if (size()>524288)
+#endif
+        cimg_forXZC(*this,x,z,c) {
+          T *const ptrdb = buf._data, *ptrd = ptrdb, *const ptrde = buf._data + L - 1;
+          const T *const ptrsb = data(x,0,z,c), *ptrs = ptrsb, *const ptrse = ptrs + L*off - off;
+          T cur = *ptrs; ptrs+=off; bool is_first = true;
+          for (int p = s2 - 1; p>0 && ptrs<=ptrse; --p) {
+            const T val = *ptrs; ptrs+=off; if (val<=cur) { cur = val; is_first = false; }
+          }
+          *(ptrd++) = cur;
+          if (ptrs>=ptrse) {
+            T *pd = data(x,0,z,c); cur = cimg::min(cur,*ptrse); cimg_forX(buf,x) { *pd = cur; pd+=off; }
+          } else {
+            for (int p = s1; p>0 && ptrd<=ptrde; --p) {
+              const T val = *ptrs; if (ptrs<ptrse) ptrs+=off; if (val<=cur) { cur = val; is_first = false; }
+              *(ptrd++) = cur;
+            }
+            for (int p = L - s - 1; p>0; --p) {
+              const T val = *ptrs; ptrs+=off;
+              if (is_first) {
+                const T *nptrs = ptrs - off; cur = val;
+                for (int q = s - 2; q>0; --q) { nptrs-=off; const T nval = *nptrs; if (nval<cur) cur = nval; }
+                nptrs-=off; const T nval = *nptrs; if (nval<cur) { cur = nval; is_first = true; } else is_first = false;
+              } else { if (val<=cur) cur = val; else if (cur==*(ptrs-s*off)) is_first = true; }
+              *(ptrd++) = cur;
+            }
+            ptrd = ptrde; ptrs = ptrse; cur = *ptrs; ptrs-=off;
+            for (int p = s1; p>0 && ptrs>=ptrsb; --p) {
+              const T val = *ptrs; ptrs-=off; if (val<cur) cur = val;
+            }
+            *(ptrd--) = cur;
+            for (int p = s2 - 1; p>0 && ptrd>=ptrdb; --p) {
+              const T val = *ptrs; if (ptrs>ptrsb) ptrs-=off; if (val<cur) cur = val; *(ptrd--) = cur;
+            }
+            T *pd = data(x,0,z,c); cimg_for(buf,ps,T) { *pd = *ps; pd+=off; }
+          }
+        }
+      }
+
+      if (sz>1 && _depth>1) { // Along Z-axis.
+        const int L = depth(), off = width()*height(), s = (int)sz, _s1 = s/2, _s2 = s - _s1, s1 = _s1>L?L:_s1,
+          s2 = _s2>L?L:_s2;
+        CImg<T> buf(L);
+#ifdef cimg_use_opemp
+#pragma omp parallel for collapse(3) firstprivate(buf) if (size()>524288)
+#endif
+        cimg_forXYC(*this,x,y,c) {
+          T *const ptrdb = buf._data, *ptrd = ptrdb, *const ptrde = buf._data + L - 1;
+          const T *const ptrsb = data(x,y,0,c), *ptrs = ptrsb, *const ptrse = ptrs + L*off - off;
+          T cur = *ptrs; ptrs+=off; bool is_first = true;
+          for (int p = s2 - 1; p>0 && ptrs<=ptrse; --p) {
+            const T val = *ptrs; ptrs+=off; if (val<=cur) { cur = val; is_first = false; }
+          }
+          *(ptrd++) = cur;
+          if (ptrs>=ptrse) {
+            T *pd = data(x,y,0,c); cur = cimg::min(cur,*ptrse); cimg_forX(buf,x) { *pd = cur; pd+=off; }
+          } else {
+            for (int p = s1; p>0 && ptrd<=ptrde; --p) {
+              const T val = *ptrs; if (ptrs<ptrse) ptrs+=off; if (val<=cur) { cur = val; is_first = false; }
+              *(ptrd++) = cur;
+            }
+            for (int p = L - s - 1; p>0; --p) {
+              const T val = *ptrs; ptrs+=off;
+              if (is_first) {
+                const T *nptrs = ptrs - off; cur = val;
+                for (int q = s - 2; q>0; --q) { nptrs-=off; const T nval = *nptrs; if (nval<cur) cur = nval; }
+                nptrs-=off; const T nval = *nptrs; if (nval<cur) { cur = nval; is_first = true; } else is_first = false;
+              } else { if (val<=cur) cur = val; else if (cur==*(ptrs-s*off)) is_first = true; }
+              *(ptrd++) = cur;
+            }
+            ptrd = ptrde; ptrs = ptrse; cur = *ptrs; ptrs-=off;
+            for (int p = s1; p>0 && ptrs>=ptrsb; --p) {
+              const T val = *ptrs; ptrs-=off; if (val<cur) cur = val;
+            }
+            *(ptrd--) = cur;
+            for (int p = s2 - 1; p>0 && ptrd>=ptrdb; --p) {
+              const T val = *ptrs; if (ptrs>ptrsb) ptrs-=off; if (val<cur) cur = val; *(ptrd--) = cur;
+            }
+            T *pd = data(x,y,0,c); cimg_for(buf,ps,T) { *pd = *ps; pd+=off; }
+          }
+        }
+      }
+      return *this;
+    }
+
+    //! Erode image by a rectangular structuring element of specified size \newinstance.
+    CImg<T> get_erode(const unsigned int sx, const unsigned int sy, const unsigned int sz=1) const {
+      return (+*this).erode(sx,sy,sz);
+    }
+
+    //! Erode the image by a square structuring element of specified size.
+    /**
+       \param s Size of the structuring element.
+    **/
+    CImg<T>& erode(const unsigned int s) {
+      return erode(s,s,s);
+    }
+
+    //! Erode the image by a square structuring element of specified size \newinstance.
+    CImg<T> get_erode(const unsigned int s) const {
+      return (+*this).erode(s);
+    }
+
+    //! Dilate image by a structuring element.
+    /**
+       \param mask Structuring element.
+       \param boundary_conditions Boundary conditions.
+       \param is_normalized Tells if the erosion is locally normalized.
+    **/
+    template<typename t>
+    CImg<T>& dilate(const CImg<t>& mask, const unsigned int boundary_conditions=1,
+                    const bool is_normalized=false) {
+      if (is_empty() || !mask) return *this;
+      return get_dilate(mask,boundary_conditions,is_normalized).move_to(*this);
+    }
+
+    //! Dilate image by a structuring element \newinstance.
+    template<typename t>
+    CImg<_cimg_Tt> get_dilate(const CImg<t>& mask, const unsigned int boundary_conditions=1,
+                              const bool is_normalized=false) const {
+      if (is_empty() || !mask) return *this;
+      typedef _cimg_Tt Tt;
+      CImg<Tt> res(_width,_height,_depth,_spectrum);
+      const int
+        mx2 = mask.width()/2, my2 = mask.height()/2, mz2 = mask.depth()/2,
+        mx1 = mx2 - 1 + (mask.width()%2), my1 = my2 - 1 + (mask.height()%2), mz1 = mz2 - 1 + (mask.depth()%2),
+        mxe = width() - mx2, mye = height() - my2, mze = depth() - mz2;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_spectrum>=2)
+#endif
+      cimg_forC(*this,c) {
+        cimg_test_abort();
+        const CImg<T> _img = get_shared_channel(c%_spectrum);
+        const CImg<t> _mask = mask.get_shared_channel(c%mask._spectrum);
+        if (is_normalized) { // Normalized dilation.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width*_height*_depth>=32768)
+#endif
+          for (int z = mz1; z<mze; ++z)
+            for (int y = my1; y<mye; ++y)
+              for (int x = mx1; x<mxe; ++x) {
+                Tt max_val = cimg::type<Tt>::min();
+                for (int zm = -mz1; zm<=mz2; ++zm)
+                  for (int ym = -my1; ym<=my2; ++ym)
+                    for (int xm = -mx1; xm<=mx2; ++xm) {
+                      const t mval = _mask(mx1 + xm,my1 + ym,mz1 + zm);
+                      const Tt cval = (Tt)(_img(x + xm,y + ym,z + zm) - mval);
+                      if (mval && cval>max_val) max_val = cval;
+                    }
+                res(x,y,z,c) = max_val;
+              }
+          if (boundary_conditions)
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=256 && _height*_depth>=128)
+#endif
+            cimg_forYZ(res,y,z)
+              for (int x = 0; x<width(); (y<my1 || y>=mye || z<mz1 || z>=mze)?++x:((x<mx1 - 1 || x>=mxe)?++x:(x=mxe))) {
+                Tt max_val = cimg::type<Tt>::min();
+                for (int zm = -mz1; zm<=mz2; ++zm)
+                  for (int ym = -my1; ym<=my2; ++ym)
+                    for (int xm = -mx1; xm<=mx2; ++xm) {
+                      const t mval = _mask(mx1 + xm,my1 + ym,mz1 + zm);
+                      const Tt cval = (Tt)(_img._atXYZ(x + xm,y + ym,z + zm) - mval);
+                      if (mval && cval>max_val) max_val = cval;
+                    }
+                res(x,y,z,c) = max_val;
+              }
+          else
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=256 && _height*_depth>=128)
+#endif
+            cimg_forYZ(*this,y,z)
+              for (int x = 0; x<width(); (y<my1 || y>=mye || z<mz1 || z>=mze)?++x:((x<mx1 - 1 || x>=mxe)?++x:(x=mxe))) {
+                Tt max_val = cimg::type<Tt>::min();
+                for (int zm = -mz1; zm<=mz2; ++zm)
+                  for (int ym = -my1; ym<=my2; ++ym)
+                    for (int xm = -mx1; xm<=mx2; ++xm) {
+                      const t mval = _mask(mx1 + xm,my1 + ym,mz1 + zm);
+                      const Tt cval = (Tt)(_img.atXYZ(x + xm,y + ym,z + zm,0,0) - mval);
+                      if (mval && cval>max_val) max_val = cval;
+                    }
+                res(x,y,z,c) = max_val;
+              }
+        } else { // Classical dilation.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width>=256 && _height*_depth>=128)
+#endif
+          for (int z = mz1; z<mze; ++z)
+            for (int y = my1; y<mye; ++y)
+              for (int x = mx1; x<mxe; ++x) {
+                Tt max_val = cimg::type<Tt>::min();
+                for (int zm = -mz1; zm<=mz2; ++zm)
+                  for (int ym = -my1; ym<=my2; ++ym)
+                    for (int xm = -mx1; xm<=mx2; ++xm) {
+                      const Tt cval = (Tt)_img(x + xm,y + ym,z + zm);
+                      if (_mask(mx1 + xm,my1 + ym,mz1 + zm) && cval>max_val) max_val = cval;
+                    }
+                res(x,y,z,c) = max_val;
+              }
+          if (boundary_conditions)
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=256 && _height*_depth>=128)
+#endif
+            cimg_forYZ(res,y,z)
+              for (int x = 0; x<width(); (y<my1 || y>=mye || z<mz1 || z>=mze)?++x:((x<mx1 - 1 || x>=mxe)?++x:(x=mxe))) {
+                Tt max_val = cimg::type<Tt>::min();
+                for (int zm = -mz1; zm<=mz2; ++zm)
+                  for (int ym = -my1; ym<=my2; ++ym)
+                    for (int xm = -mx1; xm<=mx2; ++xm) {
+                      const T cval = (Tt)_img._atXYZ(x + xm,y + ym,z + zm);
+                      if (_mask(mx1 + xm,my1 + ym,mz1 + zm) && cval>max_val) max_val = cval;
+                    }
+                res(x,y,z,c) = max_val;
+              }
+          else
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=256 && _height*_depth>=128)
+#endif
+            cimg_forYZ(res,y,z)
+              for (int x = 0; x<width(); (y<my1 || y>=mye || z<mz1 || z>=mze)?++x:((x<mx1 - 1 || x>=mxe)?++x:(x=mxe))) {
+                Tt max_val = cimg::type<Tt>::min();
+                for (int zm = -mz1; zm<=mz2; ++zm)
+                  for (int ym = -my1; ym<=my2; ++ym)
+                    for (int xm = -mx1; xm<=mx2; ++xm) {
+                      const T cval = (Tt)_img.atXYZ(x + xm,y + ym,z + zm,0,0);
+                      if (_mask(mx1 + xm,my1 + ym,mz1 + zm) && cval>max_val) max_val = cval;
+                    }
+                res(x,y,z,c) = max_val;
+              }
+        }
+      }
+      return res;
+    }
+
+    //! Dilate image by a rectangular structuring element of specified size.
+    /**
+       \param sx Width of the structuring element.
+       \param sy Height of the structuring element.
+       \param sz Depth of the structuring element.
+    **/
+    CImg<T>& dilate(const unsigned int sx, const unsigned int sy, const unsigned int sz=1) {
+      if (is_empty() || (sx==1 && sy==1 && sz==1)) return *this;
+      if (sx>1 && _width>1) { // Along X-axis.
+        const int L = width(), off = 1, s = (int)sx, _s2 = s/2 + 1, _s1 = s - _s2, s1 = _s1>L?L:_s1, s2 = _s2>L?L:_s2;
+        CImg<T> buf(L);
+#ifdef cimg_use_opemp
+#pragma omp parallel for collapse(3) firstprivate(buf) if (size()>524288)
+#endif
+        cimg_forYZC(*this,y,z,c) {
+          T *const ptrdb = buf._data, *ptrd = ptrdb, *const ptrde = buf._data + L - 1;
+          const T *const ptrsb = data(0,y,z,c), *ptrs = ptrsb, *const ptrse = ptrs + L*off - off;
+          T cur = *ptrs; ptrs+=off; bool is_first = true;
+          for (int p = s2 - 1; p>0 && ptrs<=ptrse; --p) {
+            const T val = *ptrs; ptrs+=off; if (val>=cur) { cur = val; is_first = false; }
+          }
+          *(ptrd++) = cur;
+          if (ptrs>=ptrse) {
+            T *pd = data(0,y,z,c); cur = cimg::max(cur,*ptrse); cimg_forX(buf,x) { *pd = cur; pd+=off; }
+          } else {
+            for (int p = s1; p>0 && ptrd<=ptrde; --p) {
+              const T val = *ptrs; if (ptrs<ptrse) ptrs+=off; if (val>=cur) { cur = val; is_first = false; }
+              *(ptrd++) = cur;
+            }
+            for (int p = L - s - 1; p>0; --p) {
+              const T val = *ptrs; ptrs+=off;
+              if (is_first) {
+                const T *nptrs = ptrs - off; cur = val;
+                for (int q = s - 2; q>0; --q) { nptrs-=off; const T nval = *nptrs; if (nval>cur) cur = nval; }
+                nptrs-=off; const T nval = *nptrs; if (nval>cur) { cur = nval; is_first = true; } else is_first = false;
+              } else { if (val>=cur) cur = val; else if (cur==*(ptrs-s*off)) is_first = true; }
+              *(ptrd++) = cur;
+            }
+            ptrd = ptrde; ptrs = ptrse; cur = *ptrs; ptrs-=off;
+            for (int p = s1; p>0 && ptrs>=ptrsb; --p) {
+              const T val = *ptrs; ptrs-=off; if (val>cur) cur = val;
+            }
+            *(ptrd--) = cur;
+            for (int p = s2 - 1; p>0 && ptrd>=ptrdb; --p) {
+              const T val = *ptrs; if (ptrs>ptrsb) ptrs-=off; if (val>cur) cur = val; *(ptrd--) = cur;
+            }
+            T *pd = data(0,y,z,c); cimg_for(buf,ps,T) { *pd = *ps; pd+=off; }
+          }
+        }
+      }
+
+      if (sy>1 && _height>1) { // Along Y-axis.
+        const int L = height(), off = width(), s = (int)sy, _s2 = s/2 + 1, _s1 = s - _s2, s1 = _s1>L?L:_s1,
+          s2 = _s2>L?L:_s2;
+        CImg<T> buf(L);
+#ifdef cimg_use_opemp
+#pragma omp parallel for collapse(3) firstprivate(buf) if (size()>524288)
+#endif
+        cimg_forXZC(*this,x,z,c) {
+          T *const ptrdb = buf._data, *ptrd = ptrdb, *const ptrde = buf._data + L - 1;
+          const T *const ptrsb = data(x,0,z,c), *ptrs = ptrsb, *const ptrse = ptrs + L*off - off;
+          T cur = *ptrs; ptrs+=off; bool is_first = true;
+          for (int p = s2 - 1; p>0 && ptrs<=ptrse; --p) {
+            const T val = *ptrs; ptrs+=off; if (val>=cur) { cur = val; is_first = false; }
+          }
+          *(ptrd++) = cur;
+          if (ptrs>=ptrse) {
+            T *pd = data(x,0,z,c); cur = cimg::max(cur,*ptrse); cimg_forX(buf,x) { *pd = cur; pd+=off; }
+          } else {
+            for (int p = s1; p>0 && ptrd<=ptrde; --p) {
+              const T val = *ptrs; if (ptrs<ptrse) ptrs+=off; if (val>=cur) { cur = val; is_first = false; }
+              *(ptrd++) = cur;
+            }
+            for (int p = L - s - 1; p>0; --p) {
+              const T val = *ptrs; ptrs+=off;
+              if (is_first) {
+                const T *nptrs = ptrs - off; cur = val;
+                for (int q = s - 2; q>0; --q) { nptrs-=off; const T nval = *nptrs; if (nval>cur) cur = nval; }
+                nptrs-=off; const T nval = *nptrs; if (nval>cur) { cur = nval; is_first = true; } else is_first = false;
+              } else { if (val>=cur) cur = val; else if (cur==*(ptrs-s*off)) is_first = true; }
+              *(ptrd++) = cur;
+            }
+            ptrd = ptrde; ptrs = ptrse; cur = *ptrs; ptrs-=off;
+            for (int p = s1; p>0 && ptrs>=ptrsb; --p) {
+              const T val = *ptrs; ptrs-=off; if (val>cur) cur = val;
+            }
+            *(ptrd--) = cur;
+            for (int p = s2 - 1; p>0 && ptrd>=ptrdb; --p) {
+              const T val = *ptrs; if (ptrs>ptrsb) ptrs-=off; if (val>cur) cur = val; *(ptrd--) = cur;
+            }
+            T *pd = data(x,0,z,c); cimg_for(buf,ps,T) { *pd = *ps; pd+=off; }
+          }
+        }
+      }
+
+      if (sz>1 && _depth>1) { // Along Z-axis.
+        const int L = depth(), off = width()*height(), s = (int)sz, _s2 = s/2 + 1, _s1 = s - _s2, s1 = _s1>L?L:_s1,
+          s2 = _s2>L?L:_s2;
+        CImg<T> buf(L);
+#ifdef cimg_use_opemp
+#pragma omp parallel for collapse(3) firstprivate(buf) if (size()>524288)
+#endif
+        cimg_forXYC(*this,x,y,c) {
+          T *const ptrdb = buf._data, *ptrd = ptrdb, *const ptrde = buf._data + L - 1;
+          const T *const ptrsb = data(x,y,0,c), *ptrs = ptrsb, *const ptrse = ptrs + L*off - off;
+          T cur = *ptrs; ptrs+=off; bool is_first = true;
+          for (int p = s2 - 1; p>0 && ptrs<=ptrse; --p) {
+            const T val = *ptrs; ptrs+=off; if (val>=cur) { cur = val; is_first = false; }
+          }
+          *(ptrd++) = cur;
+          if (ptrs>=ptrse) {
+            T *pd = data(x,y,0,c); cur = cimg::max(cur,*ptrse); cimg_forX(buf,x) { *pd = cur; pd+=off; }
+          } else {
+            for (int p = s1; p>0 && ptrd<=ptrde; --p) {
+              const T val = *ptrs; if (ptrs<ptrse) ptrs+=off; if (val>=cur) { cur = val; is_first = false; }
+              *(ptrd++) = cur;
+            }
+            for (int p = L - s - 1; p>0; --p) {
+              const T val = *ptrs; ptrs+=off;
+              if (is_first) {
+                const T *nptrs = ptrs - off; cur = val;
+                for (int q = s - 2; q>0; --q) { nptrs-=off; const T nval = *nptrs; if (nval>cur) cur = nval; }
+                nptrs-=off; const T nval = *nptrs; if (nval>cur) { cur = nval; is_first = true; } else is_first = false;
+              } else { if (val>=cur) cur = val; else if (cur==*(ptrs-s*off)) is_first = true; }
+              *(ptrd++) = cur;
+            }
+            ptrd = ptrde; ptrs = ptrse; cur = *ptrs; ptrs-=off;
+            for (int p = s1; p>0 && ptrs>=ptrsb; --p) {
+              const T val = *ptrs; ptrs-=off; if (val>cur) cur = val;
+            }
+            *(ptrd--) = cur;
+            for (int p = s2 - 1; p>0 && ptrd>=ptrdb; --p) {
+              const T val = *ptrs; if (ptrs>ptrsb) ptrs-=off; if (val>cur) cur = val; *(ptrd--) = cur;
+            }
+            T *pd = data(x,y,0,c); cimg_for(buf,ps,T) { *pd = *ps; pd+=off; }
+          }
+        }
+      }
+      return *this;
+    }
+
+    //! Dilate image by a rectangular structuring element of specified size \newinstance.
+    CImg<T> get_dilate(const unsigned int sx, const unsigned int sy, const unsigned int sz=1) const {
+      return (+*this).dilate(sx,sy,sz);
+    }
+
+    //! Dilate image by a square structuring element of specified size.
+    /**
+       \param s Size of the structuring element.
+    **/
+    CImg<T>& dilate(const unsigned int s) {
+      return dilate(s,s,s);
+    }
+
+    //! Dilate image by a square structuring element of specified size \newinstance.
+    CImg<T> get_dilate(const unsigned int s) const {
+      return (+*this).dilate(s);
+    }
+
+    //! Compute watershed transform.
+    /**
+       \param priority Priority map.
+       \param fill_lines Tells if watershed lines must be filled or not.
+       \note Non-zero values of the instance instance are propagated to zero-valued ones according to
+         specified the priority map.
+    **/
+    template<typename t>
+    CImg<T>& watershed(const CImg<t>& priority, const bool fill_lines=true) {
+      if (is_empty()) return *this;
+      if (!is_sameXYZ(priority))
+        throw CImgArgumentException(_cimg_instance
+                                    "watershed(): image instance and specified priority (%u,%u,%u,%u,%p) "
+                                    "have different dimensions.",
+                                    cimg_instance,
+                                    priority._width,priority._height,priority._depth,priority._spectrum,priority._data);
+      if (_spectrum!=1) {
+        cimg_forC(*this,c)
+          get_shared_channel(c).watershed(priority.get_shared_channel(c%priority._spectrum),fill_lines);
+        return *this;
+      }
+
+      CImg<boolT> is_queued(_width,_height,_depth,1,0);
+      CImg<typename cimg::superset2<T,t,int>::type> Q;
+      unsigned int sizeQ = 0;
+
+      // Find seed points and insert them in priority queue.
+      const T *ptrs = _data;
+      cimg_forXYZ(*this,x,y,z) if (*(ptrs++)) {
+        if (x - 1>=0 && !(*this)(x - 1,y,z))
+          Q._priority_queue_insert(is_queued,sizeQ,priority(x - 1,y,z),x - 1,y,z);
+        if (x + 1<width() && !(*this)(x + 1,y,z))
+          Q._priority_queue_insert(is_queued,sizeQ,priority(x + 1,y,z),x + 1,y,z);
+        if (y - 1>=0 && !(*this)(x,y - 1,z))
+          Q._priority_queue_insert(is_queued,sizeQ,priority(x,y - 1,z),x,y - 1,z);
+        if (y + 1<height() && !(*this)(x,y + 1,z))
+          Q._priority_queue_insert(is_queued,sizeQ,priority(x,y + 1,z),x,y + 1,z);
+        if (z - 1>=0 && !(*this)(x,y,z - 1))
+          Q._priority_queue_insert(is_queued,sizeQ,priority(x,y,z - 1),x,y,z - 1);
+        if (z + 1<depth() && !(*this)(x,y,z + 1))
+          Q._priority_queue_insert(is_queued,sizeQ,priority(x,y,z + 1),x,y,z + 1);
+      }
+
+      // Start watershed computation.
+      while (sizeQ) {
+
+        // Get and remove point with maximal priority from the queue.
+        const int x = (int)Q(0,1), y = (int)Q(0,2), z = (int)Q(0,3);
+        Q._priority_queue_remove(sizeQ);
+
+        // Check labels of the neighbors.
+        bool is_same_label = true;
+        unsigned int label = 0;
+        if (x - 1>=0) {
+          if ((*this)(x - 1,y,z)) {
+            if (!label) label = (unsigned int)(*this)(x - 1,y,z);
+            else if (label!=(*this)(x - 1,y,z)) is_same_label = false;
+          } else Q._priority_queue_insert(is_queued,sizeQ,priority(x - 1,y,z),x - 1,y,z);
+        }
+        if (x + 1<width()) {
+          if ((*this)(x + 1,y,z)) {
+            if (!label) label = (unsigned int)(*this)(x + 1,y,z);
+            else if (label!=(*this)(x + 1,y,z)) is_same_label = false;
+          } else Q._priority_queue_insert(is_queued,sizeQ,priority(x + 1,y,z),x + 1,y,z);
+        }
+        if (y - 1>=0) {
+          if ((*this)(x,y - 1,z)) {
+            if (!label) label = (unsigned int)(*this)(x,y - 1,z);
+            else if (label!=(*this)(x,y - 1,z)) is_same_label = false;
+          } else Q._priority_queue_insert(is_queued,sizeQ,priority(x,y - 1,z),x,y - 1,z);
+        }
+        if (y + 1<height()) {
+          if ((*this)(x,y + 1,z)) {
+            if (!label) label = (unsigned int)(*this)(x,y + 1,z);
+            else if (label!=(*this)(x,y + 1,z)) is_same_label = false;
+          } else Q._priority_queue_insert(is_queued,sizeQ,priority(x,y + 1,z),x,y + 1,z);
+        }
+        if (z - 1>=0) {
+          if ((*this)(x,y,z - 1)) {
+            if (!label) label = (unsigned int)(*this)(x,y,z - 1);
+            else if (label!=(*this)(x,y,z - 1)) is_same_label = false;
+          } else Q._priority_queue_insert(is_queued,sizeQ,priority(x,y,z - 1),x,y,z - 1);
+        }
+        if (z + 1<depth()) {
+          if ((*this)(x,y,z + 1)) {
+            if (!label) label = (unsigned int)(*this)(x,y,z + 1);
+            else if (label!=(*this)(x,y,z + 1)) is_same_label = false;
+          } else Q._priority_queue_insert(is_queued,sizeQ,priority(x,y,z + 1),x,y,z + 1);
+        }
+        if (is_same_label) (*this)(x,y,z) = (T)label;
+      }
+
+      // Fill lines.
+      if (fill_lines) {
+
+        // Sort all non-labeled pixels with labeled neighbors.
+        is_queued = false;
+        const T *ptrs = _data;
+        cimg_forXYZ(*this,x,y,z) if (!*(ptrs++) &&
+                                     ((x - 1>=0 && (*this)(x - 1,y,z)) || (x + 1<width() && (*this)(x + 1,y,z)) ||
+                                      (y - 1>=0 && (*this)(x,y - 1,z)) || (y + 1<height() && (*this)(x,y + 1,z)) ||
+                                      (z - 1>=0 && (*this)(x,y,z - 1)) || (z + 1>depth() && (*this)(x,y,z + 1))))
+          Q._priority_queue_insert(is_queued,sizeQ,priority(x,y,z),x,y,z);
+
+        // Start line filling process.
+        while (sizeQ) {
+          const int x = (int)Q(0,1), y = (int)Q(0,2), z = (int)Q(0,3);
+          Q._priority_queue_remove(sizeQ);
+          t pmax = cimg::type<t>::min();
+          int xmax = 0, ymax = 0, zmax = 0;
+          if (x - 1>=0) {
+            if ((*this)(x - 1,y,z)) {
+              if (priority(x - 1,y,z)>pmax) { pmax = priority(x - 1,y,z); xmax = x - 1; ymax = y; zmax = z; }
+            } else Q._priority_queue_insert(is_queued,sizeQ,priority(x - 1,y,z),x - 1,y,z);
+          }
+          if (x + 1<width()) {
+            if ((*this)(x + 1,y,z)) {
+              if (priority(x + 1,y,z)>pmax) { pmax = priority(x + 1,y,z); xmax = x + 1; ymax = y; zmax = z; }
+            } else Q._priority_queue_insert(is_queued,sizeQ,priority(x + 1,y,z),x + 1,y,z);
+          }
+          if (y - 1>=0) {
+            if ((*this)(x,y - 1,z)) {
+              if (priority(x,y - 1,z)>pmax) { pmax = priority(x,y - 1,z); xmax = x; ymax = y - 1; zmax = z; }
+            } else Q._priority_queue_insert(is_queued,sizeQ,priority(x,y - 1,z),x,y - 1,z);
+          }
+          if (y + 1<height()) {
+            if ((*this)(x,y + 1,z)) {
+              if (priority(x,y + 1,z)>pmax) { pmax = priority(x,y + 1,z); xmax = x; ymax = y + 1; zmax = z; }
+            } else Q._priority_queue_insert(is_queued,sizeQ,priority(x,y + 1,z),x,y + 1,z);
+          }
+          if (z - 1>=0) {
+            if ((*this)(x,y,z - 1)) {
+              if (priority(x,y,z - 1)>pmax) { pmax = priority(x,y,z - 1); xmax = x; ymax = y; zmax = z - 1; }
+            } else Q._priority_queue_insert(is_queued,sizeQ,priority(x,y,z - 1),x,y,z - 1);
+          }
+          if (z + 1<depth()) {
+            if ((*this)(x,y,z + 1)) {
+              if (priority(x,y,z + 1)>pmax) { pmax = priority(x,y,z + 1); xmax = x; ymax = y; zmax = z + 1; }
+            } else Q._priority_queue_insert(is_queued,sizeQ,priority(x,y,z + 1),x,y,z + 1);
+          }
+          (*this)(x,y,z) = (*this)(xmax,ymax,zmax);
+        }
+      }
+      return *this;
+    }
+
+    //! Compute watershed transform \newinstance.
+    template<typename t>
+    CImg<T> get_watershed(const CImg<t>& priority, const bool fill_lines=true) const {
+      return (+*this).watershed(priority,fill_lines);
+    }
+
+    // [internal] Insert/Remove items in priority queue, for watershed/distance transforms.
+    template<typename t>
+    bool _priority_queue_insert(CImg<boolT>& is_queued, unsigned int& siz, const t value,
+                                const unsigned int x, const unsigned int y, const unsigned int z) {
+      if (is_queued(x,y,z)) return false;
+      is_queued(x,y,z) = true;
+      if (++siz>=_width) { if (!is_empty()) resize(_width*2,4,1,1,0); else assign(64,4); }
+      (*this)(siz - 1,0) = (T)value; (*this)(siz - 1,1) = (T)x; (*this)(siz - 1,2) = (T)y; (*this)(siz - 1,3) = (T)z;
+      for (unsigned int pos = siz - 1, par = 0; pos && value>(*this)(par=(pos + 1)/2 - 1,0); pos = par) {
+        cimg::swap((*this)(pos,0),(*this)(par,0)); cimg::swap((*this)(pos,1),(*this)(par,1));
+        cimg::swap((*this)(pos,2),(*this)(par,2)); cimg::swap((*this)(pos,3),(*this)(par,3));
+      }
+      return true;
+    }
+
+    CImg<T>& _priority_queue_remove(unsigned int& siz) {
+      (*this)(0,0) = (*this)(--siz,0); (*this)(0,1) = (*this)(siz,1);
+      (*this)(0,2) = (*this)(siz,2); (*this)(0,3) = (*this)(siz,3);
+      const float value = (*this)(0,0);
+      for (unsigned int pos = 0, left = 0, right = 0;
+           ((right=2*(pos + 1),(left=right - 1))<siz && value<(*this)(left,0)) ||
+             (right<siz && value<(*this)(right,0));) {
+        if (right<siz) {
+          if ((*this)(left,0)>(*this)(right,0)) {
+            cimg::swap((*this)(pos,0),(*this)(left,0)); cimg::swap((*this)(pos,1),(*this)(left,1));
+            cimg::swap((*this)(pos,2),(*this)(left,2)); cimg::swap((*this)(pos,3),(*this)(left,3));
+            pos = left;
+          } else {
+            cimg::swap((*this)(pos,0),(*this)(right,0)); cimg::swap((*this)(pos,1),(*this)(right,1));
+            cimg::swap((*this)(pos,2),(*this)(right,2)); cimg::swap((*this)(pos,3),(*this)(right,3));
+            pos = right;
+          }
+        } else {
+          cimg::swap((*this)(pos,0),(*this)(left,0)); cimg::swap((*this)(pos,1),(*this)(left,1));
+          cimg::swap((*this)(pos,2),(*this)(left,2)); cimg::swap((*this)(pos,3),(*this)(left,3));
+          pos = left;
+        }
+      }
+      return *this;
+    }
+
+    //! Apply recursive Deriche filter.
+    /**
+       \param sigma Standard deviation of the filter.
+       \param order Order of the filter. Can be <tt>{ 0=smooth-filter | 1=1st-derivative | 2=2nd-derivative }</tt>.
+       \param axis Axis along which the filter is computed. Can be <tt>{ 'x' | 'y' | 'z' | 'c' }</tt>.
+       \param boundary_conditions Boundary conditions. Can be <tt>{ 0=dirichlet | 1=neumann }</tt>.
+    **/
+    CImg<T>& deriche(const float sigma, const unsigned int order=0, const char axis='x',
+                     const bool boundary_conditions=true) {
+#define _cimg_deriche_apply \
+  CImg<Tfloat> Y(N); \
+  Tfloat *ptrY = Y._data, yb = 0, yp = 0; \
+  T xp = (T)0; \
+  if (boundary_conditions) { xp = *ptrX; yb = yp = (Tfloat)(coefp*xp); } \
+  for (int m = 0; m<N; ++m) { \
+    const T xc = *ptrX; ptrX+=off; \
+    const Tfloat yc = *(ptrY++) = (Tfloat)(a0*xc + a1*xp - b1*yp - b2*yb); \
+    xp = xc; yb = yp; yp = yc; \
+  } \
+  T xn = (T)0, xa = (T)0; \
+  Tfloat yn = 0, ya = 0; \
+  if (boundary_conditions) { xn = xa = *(ptrX-off); yn = ya = (Tfloat)coefn*xn; } \
+  for (int n = N - 1; n>=0; --n) { \
+    const T xc = *(ptrX-=off); \
+    const Tfloat yc = (Tfloat)(a2*xn + a3*xa - b1*yn - b2*ya); \
+    xa = xn; xn = xc; ya = yn; yn = yc; \
+    *ptrX = (T)(*(--ptrY)+yc); \
+  }
+      const char naxis = cimg::uncase(axis);
+      const float nsigma = sigma>=0?sigma:-sigma*(naxis=='x'?_width:naxis=='y'?_height:naxis=='z'?_depth:_spectrum)/100;
+      if (is_empty() || (nsigma<0.1f && !order)) return *this;
+      const float
+        nnsigma = nsigma<0.1f?0.1f:nsigma,
+        alpha = 1.695f/nnsigma,
+        ema = (float)std::exp(-alpha),
+        ema2 = (float)std::exp(-2*alpha),
+        b1 = -2*ema,
+        b2 = ema2;
+      float a0 = 0, a1 = 0, a2 = 0, a3 = 0, coefp = 0, coefn = 0;
+      switch (order) {
+      case 0 : {
+        const float k = (1-ema)*(1-ema)/(1 + 2*alpha*ema-ema2);
+        a0 = k;
+        a1 = k*(alpha - 1)*ema;
+        a2 = k*(alpha + 1)*ema;
+        a3 = -k*ema2;
+      } break;
+      case 1 : {
+        const float k = -(1-ema)*(1-ema)*(1-ema)/(2*(ema + 1)*ema);
+	a0 = a3 = 0;
+	a1 = k*ema;
+        a2 = -a1;
+      } break;
+      case 2 : {
+        const float
+          ea = (float)std::exp(-alpha),
+          k = -(ema2 - 1)/(2*alpha*ema),
+          kn = (-2*(-1 + 3*ea - 3*ea*ea + ea*ea*ea)/(3*ea + 1 + 3*ea*ea + ea*ea*ea));
+        a0 = kn;
+        a1 = -kn*(1 + k*alpha)*ema;
+        a2 = kn*(1 - k*alpha)*ema;
+        a3 = -kn*ema2;
+      } break;
+      default :
+        throw CImgArgumentException(_cimg_instance
+                                    "deriche(): Invalid specified filter order %u "
+                                    "(should be { 0=smoothing | 1=1st-derivative | 2=2nd-derivative }).",
+                                    cimg_instance,
+                                    order);
+      }
+      coefp = (a0 + a1)/(1 + b1 + b2);
+      coefn = (a2 + a3)/(1 + b1 + b2);
+      switch (naxis) {
+      case 'x' : {
+        const int N = width();
+        const unsigned long off = 1U;
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width>=256 && _height*_depth*_spectrum>=16)
+#endif
+        cimg_forYZC(*this,y,z,c) { T *ptrX = data(0,y,z,c); _cimg_deriche_apply; }
+      } break;
+      case 'y' : {
+        const int N = height();
+        const unsigned long off = (unsigned long)_width;
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width>=256 && _height*_depth*_spectrum>=16)
+#endif
+        cimg_forXZC(*this,x,z,c) { T *ptrX = data(x,0,z,c); _cimg_deriche_apply; }
+      } break;
+      case 'z' : {
+        const int N = depth();
+        const unsigned long off = (unsigned long)_width*_height;
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width>=256 && _height*_depth*_spectrum>=16)
+#endif
+        cimg_forXYC(*this,x,y,c) { T *ptrX = data(x,y,0,c); _cimg_deriche_apply; }
+      } break;
+      default : {
+        const int N = spectrum();
+        const unsigned long off = (unsigned long)_width*_height*_depth;
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width>=256 && _height*_depth*_spectrum>=16)
+#endif
+        cimg_forXYZ(*this,x,y,z) { T *ptrX = data(x,y,z,0); _cimg_deriche_apply; }
+      }
+      }
+      return *this;
+    }
+
+    //! Apply recursive Deriche filter \newinstance.
+    CImg<Tfloat> get_deriche(const float sigma, const unsigned int order=0, const char axis='x',
+                             const bool boundary_conditions=true) const {
+      return CImg<Tfloat>(*this,false).deriche(sigma,order,axis,boundary_conditions);
+    }
+
+    // [internal] Apply a recursive filter (used by CImg<T>::vanvliet()).
+    /*
+       \param ptr the pointer of the data
+       \param filter the coefficient of the filter in the following order [n,n - 1,n - 2,n - 3].
+       \param N size of the data
+       \param off the offset between two data point
+       \param order the order of the filter 0 (smoothing), 1st derivtive, 2nd derivative, 3rd derivative
+       \param boundary_conditions Boundary conditions. Can be <tt>{ 0=dirichlet | 1=neumann }</tt>.
+       \note Boundary condition using B. Triggs method (IEEE trans on Sig Proc 2005).
+    */
+    static void _cimg_recursive_apply(T *data, const double filter[], const int N, const unsigned long off,
+				      const unsigned int order, const bool boundary_conditions) {
+      double val[4] = { 0 };  // res[n,n - 1,n - 2,n - 3,..] or res[n,n + 1,n + 2,n + 3,..]
+      const double
+	sumsq = filter[0], sum = sumsq * sumsq,
+	a1 = filter[1], a2 = filter[2], a3 = filter[3],
+	scaleM = 1.0 / ( (1.0 + a1 - a2 + a3) * (1.0 - a1 - a2 - a3) * (1.0 + a2 + (a1 - a3) * a3) );
+      double M[9]; // Triggs matrix
+      M[0] = scaleM * (-a3 * a1 + 1.0 - a3 * a3 - a2);
+      M[1] = scaleM * (a3 + a1) * (a2 + a3 * a1);
+      M[2] = scaleM * a3 * (a1 + a3 * a2);
+      M[3] = scaleM * (a1 + a3 * a2);
+      M[4] = -scaleM * (a2 - 1.0) * (a2 + a3 * a1);
+      M[5] = -scaleM * a3 * (a3 * a1 + a3 * a3 + a2 - 1.0);
+      M[6] = scaleM * (a3 * a1 + a2 + a1 * a1 - a2 * a2);
+      M[7] = scaleM * (a1 * a2 + a3 * a2 * a2 - a1 * a3 * a3 - a3 * a3 * a3 - a3 * a2 + a3);
+      M[8] = scaleM * a3 * (a1 + a3 * a2);
+      switch (order) {
+      case 0 : {
+	const double iplus = (boundary_conditions?data[(N - 1)*off]:0);
+	for (int pass = 0; pass<2; ++pass) {
+	  if (!pass) {
+	    for (int k = 1; k<4; ++k) val[k] = (boundary_conditions?*data/sumsq:0);
+	  } else {
+	    /* apply Triggs border condition */
+	    const double
+	      uplus = iplus/(1.0 - a1 - a2 - a3), vplus = uplus/(1.0 - a1 - a2 - a3),
+	      unp  = val[1] - uplus, unp1 = val[2] - uplus, unp2 = val[3] - uplus;
+	    val[0] = (M[0] * unp + M[1] * unp1 + M[2] * unp2 + vplus) * sum;
+	    val[1] = (M[3] * unp + M[4] * unp1 + M[5] * unp2 + vplus) * sum;
+	    val[2] = (M[6] * unp + M[7] * unp1 + M[8] * unp2 + vplus) * sum;
+	    *data = (T)val[0];
+	    data -= off;
+	    for (int k = 3; k>0; --k) val[k] = val[k - 1];
+	  }
+	  for (int n = pass; n<N; ++n) {
+	    val[0] = (*data);
+	    if (pass) val[0] *= sum;
+	    for (int k = 1; k<4; ++k) val[0] += val[k] * filter[k];
+	    *data = (T)val[0];
+	    if (!pass) data += off; else data -= off;
+	    for (int k = 3; k>0; --k) val[k] = val[k - 1];
+	  }
+	  if (!pass) data -= off;
+	}
+      } break;
+      case 1 : {
+	double x[3]; // [front,center,back]
+	for (int pass = 0; pass<2; ++pass) {
+	  if (!pass) {
+	    for (int k = 0; k<3; ++k) x[k] = (boundary_conditions?*data:0);
+	    for (int k = 0; k<4; ++k) val[k] = 0;
+	  } else {
+	    /* apply Triggs border condition */
+	    const double
+	      unp  = val[1], unp1 = val[2], unp2 = val[3];
+	    val[0] = (M[0] * unp + M[1] * unp1 + M[2] * unp2) * sum;
+	    val[1] = (M[3] * unp + M[4] * unp1 + M[5] * unp2) * sum;
+	    val[2] = (M[6] * unp + M[7] * unp1 + M[8] * unp2) * sum;
+	    *data = (T)val[0];
+	    data -= off;
+	    for (int k = 3; k>0; --k) val[k] = val[k - 1];
+	  }
+	  for (int n = pass; n<N - 1; ++n) {
+	    if (!pass) {
+	      x[0] = *(data + off);
+	      val[0] = 0.5f * (x[0] - x[2]);
+	    } else val[0] = (*data) * sum;
+	    for (int k = 1; k<4; ++k) val[0] += val[k] * filter[k];
+	    *data = (T)val[0];
+	    if (!pass) {
+	      data += off;
+	      for (int k = 2; k>0; --k) x[k] = x[k - 1];
+	    } else { data-=off;}
+	    for (int k = 3; k>0; --k) val[k] = val[k - 1];
+	  }
+	  *data = (T)0;
+	}
+      } break;
+      case 2: {
+	double x[3]; // [front,center,back]
+	for (int pass = 0; pass<2; ++pass) {
+	  if (!pass) {
+	    for (int k = 0; k<3; ++k) x[k] = (boundary_conditions?*data:0);
+	    for (int k = 0; k<4; ++k) val[k] = 0;
+	  } else {
+	    /* apply Triggs border condition */
+	    const double
+	      unp  = val[1], unp1 = val[2], unp2 = val[3];
+	    val[0] = (M[0] * unp + M[1] * unp1 + M[2] * unp2) * sum;
+	    val[1] = (M[3] * unp + M[4] * unp1 + M[5] * unp2) * sum;
+	    val[2] = (M[6] * unp + M[7] * unp1 + M[8] * unp2) * sum;
+	    *data = (T)val[0];
+	    data -= off;
+	    for (int k = 3; k>0; --k) val[k] = val[k - 1];
+	  }
+	  for (int n = pass; n<N - 1; ++n) {
+	    if (!pass) { x[0] = *(data + off); val[0] = (x[1] - x[2]); }
+	    else { x[0] = *(data - off); val[0] = (x[2] - x[1]) * sum; }
+	    for (int k = 1; k<4; ++k) val[0] += val[k]*filter[k];
+	    *data = (T)val[0];
+	    if (!pass) data += off; else data -= off;
+	    for (int k = 2; k>0; --k) x[k] = x[k - 1];
+	    for (int k = 3; k>0; --k) val[k] = val[k - 1];
+	  }
+	  *data = (T)0;
+	}
+      } break;
+      case 3: {
+	double x[3]; // [front,center,back]
+	for (int pass = 0; pass<2; ++pass) {
+	  if (!pass) {
+	    for (int k = 0; k<3; ++k) x[k] = (boundary_conditions?*data:0);
+	    for (int k = 0; k<4; ++k) val[k] = 0;
+	  } else {
+	    /* apply Triggs border condition */
+	    const double
+	      unp = val[1], unp1 = val[2], unp2 = val[3];
+	    val[0] = (M[0] * unp + M[1] * unp1 + M[2] * unp2) * sum;
+	    val[1] = (M[3] * unp + M[4] * unp1 + M[5] * unp2) * sum;
+	    val[2] = (M[6] * unp + M[7] * unp1 + M[8] * unp2) * sum;
+	    *data = (T)val[0];
+	    data -= off;
+	    for (int k = 3; k>0; --k) val[k] = val[k - 1];
+	  }
+	  for (int n = pass; n<N - 1; ++n) {
+	    if (!pass) { x[0] = *(data + off); val[0] = (x[0] - 2*x[1] + x[2]); }
+	    else { x[0] = *(data - off); val[0] = 0.5f * (x[2] - x[0]) * sum; }
+	    for (int k = 1; k<4; ++k) val[0] += val[k] * filter[k];
+	    *data = (T)val[0];
+	    if (!pass) data += off; else data -= off;
+	    for (int k = 2; k>0; --k) x[k] = x[k - 1];
+	    for (int k = 3; k>0; --k) val[k] = val[k - 1];
+	  }
+	  *data = (T)0;
+	}
+      } break;
+      }
+    }
+
+    //! Van Vliet recursive Gaussian filter.
+    /**
+       \param sigma standard deviation of the Gaussian filter
+       \param order the order of the filter 0,1,2,3
+       \param axis  Axis along which the filter is computed. Can be <tt>{ 'x' | 'y' | 'z' | 'c' }</tt>.
+       \param boundary_conditions Boundary conditions. Can be <tt>{ 0=dirichlet | 1=neumann }</tt>.
+       \note dirichlet boundary condition has a strange behavior
+
+       I.T. Young, L.J. van Vliet, M. van Ginkel, Recursive Gabor filtering.
+       IEEE Trans. Sig. Proc., vol. 50, pp. 2799-2805, 2002.
+
+       (this is an improvement over Young-Van Vliet, Sig. Proc. 44, 1995)
+
+       Boundary conditions (only for order 0) using Triggs matrix, from
+       B. Triggs and M. Sdika. Boundary conditions for Young-van Vliet
+       recursive filtering. IEEE Trans. Signal Processing,
+       vol. 54, pp. 2365-2367, 2006.
+    **/
+    CImg<T>& vanvliet(const float sigma, const unsigned int order, const char axis='x',
+                      const bool boundary_conditions=true) {
+      if (is_empty()) return *this;
+      const char naxis = cimg::uncase(axis);
+      const float nsigma = sigma>=0?sigma:-sigma*(naxis=='x'?_width:naxis=='y'?_height:naxis=='z'?_depth:_spectrum)/100;
+      if (is_empty() || (nsigma<0.5f && !order)) return *this;
+      const double
+	nnsigma = nsigma<0.5f?0.5f:nsigma,
+	m0 = 1.16680, m1 = 1.10783, m2 = 1.40586,
+        m1sq = m1 * m1, m2sq = m2 * m2,
+	q = (nnsigma<3.556?-0.2568 + 0.5784*nnsigma + 0.0561*nnsigma*nnsigma:2.5091 + 0.9804*(nnsigma - 3.556)),
+	qsq = q * q,
+	scale = (m0 + q) * (m1sq + m2sq + 2 * m1 * q + qsq),
+	b1 = -q * (2 * m0 * m1 + m1sq + m2sq + (2 * m0 + 4 * m1) * q + 3 * qsq) / scale,
+	b2 = qsq * (m0 + 2 * m1 + 3 * q) / scale,
+	b3 = -qsq * q / scale,
+	B = ( m0 * (m1sq + m2sq) ) / scale;
+      double filter[4];
+      filter[0] = B; filter[1] = -b1; filter[2] = -b2; filter[3] = -b3;
+      switch (naxis) {
+      case 'x' : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width>=256 && _height*_depth*_spectrum>=16)
+#endif
+	cimg_forYZC(*this,y,z,c)
+	  _cimg_recursive_apply(data(0,y,z,c),filter,_width,1U,order,boundary_conditions);
+      } break;
+      case 'y' : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width>=256 && _height*_depth*_spectrum>=16)
+#endif
+	cimg_forXZC(*this,x,z,c)
+	  _cimg_recursive_apply(data(x,0,z,c),filter,_height,(unsigned long)_width,order,boundary_conditions);
+      } break;
+      case 'z' : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width>=256 && _height*_depth*_spectrum>=16)
+#endif
+	cimg_forXYC(*this,x,y,c)
+	  _cimg_recursive_apply(data(x,y,0,c),filter,_depth,(unsigned long)(_width*_height),
+				order,boundary_conditions);
+      } break;
+      default : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width>=256 && _height*_depth*_spectrum>=16)
+#endif
+	cimg_forXYZ(*this,x,y,z)
+	  _cimg_recursive_apply(data(x,y,z,0),filter,_spectrum,(unsigned long)(_width*_height*_depth),
+				order,boundary_conditions);
+      }
+      }
+      return *this;
+    }
+
+    //! Blur image using Van Vliet recursive Gaussian filter. \newinstance.
+    CImg<Tfloat> get_vanvliet(const float sigma, const unsigned int order, const char axis='x',
+                              const bool boundary_conditions=true) const {
+      return CImg<Tfloat>(*this,false).vanvliet(sigma,order,axis,boundary_conditions);
+    }
+
+    //! Blur image.
+    /**
+       \param sigma_x Standard deviation of the blur, along the X-axis.
+       \param sigma_y Standard deviation of the blur, along the Y-axis.
+       \param sigma_z Standard deviation of the blur, along the Z-axis.
+       \param boundary_conditions Boundary conditions. Can be <tt>{ false=dirichlet | true=neumann }</tt>.
+       \param is_gaussian Tells if the blur uses a gaussian (\c true) or quasi-gaussian (\c false) kernel.
+       \note
+       - The blur is computed as a 0-order Deriche filter. This is not a gaussian blur.
+       - This is a recursive algorithm, not depending on the values of the standard deviations.
+       \see deriche(), vanvliet().
+    **/
+    CImg<T>& blur(const float sigma_x, const float sigma_y, const float sigma_z,
+                  const bool boundary_conditions=true, const bool is_gaussian=false) {
+      if (is_empty()) return *this;
+      if (is_gaussian) {
+        if (_width>1) vanvliet(sigma_x,0,'x',boundary_conditions);
+        if (_height>1) vanvliet(sigma_y,0,'y',boundary_conditions);
+        if (_depth>1) vanvliet(sigma_z,0,'z',boundary_conditions);
+      } else {
+        if (_width>1) deriche(sigma_x,0,'x',boundary_conditions);
+        if (_height>1) deriche(sigma_y,0,'y',boundary_conditions);
+        if (_depth>1) deriche(sigma_z,0,'z',boundary_conditions);
+      }
+      return *this;
+    }
+
+    //! Blur image \newinstance.
+    CImg<Tfloat> get_blur(const float sigma_x, const float sigma_y, const float sigma_z,
+                          const bool boundary_conditions=true, const bool is_gaussian=false) const {
+      return CImg<Tfloat>(*this,false).blur(sigma_x,sigma_y,sigma_z,boundary_conditions,is_gaussian);
+    }
+
+    //! Blur image isotropically.
+    /**
+       \param sigma Standard deviation of the blur.
+       \param boundary_conditions Boundary conditions. Can be <tt>{ 0=dirichlet | 1=neumann }</tt>.a
+       \see deriche(), vanvliet().
+    **/
+    CImg<T>& blur(const float sigma, const bool boundary_conditions=true, const bool is_gaussian=false) {
+      const float nsigma = sigma>=0?sigma:-sigma*cimg::max(_width,_height,_depth)/100;
+      return blur(nsigma,nsigma,nsigma,boundary_conditions,is_gaussian);
+    }
+
+    //! Blur image isotropically \newinstance.
+    CImg<Tfloat> get_blur(const float sigma, const bool boundary_conditions=true, const bool is_gaussian=false) const {
+      return CImg<Tfloat>(*this,false).blur(sigma,boundary_conditions,is_gaussian);
+    }
+
+    //! Blur image anisotropically, directed by a field of diffusion tensors.
+    /**
+       \param G Field of square roots of diffusion tensors/vectors used to drive the smoothing.
+       \param amplitude Amplitude of the smoothing.
+       \param dl Spatial discretization.
+       \param da Angular discretization.
+       \param gauss_prec Precision of the diffusion process.
+       \param interpolation_type Interpolation scheme.
+         Can be <tt>{ 0=nearest-neighbor | 1=linear | 2=Runge-Kutta }</tt>.
+       \param is_fast_approx Tells if a fast approximation of the gaussian function is used or not.
+    **/
+    template<typename t>
+    CImg<T>& blur_anisotropic(const CImg<t>& G,
+                              const float amplitude=60, const float dl=0.8f, const float da=30,
+                              const float gauss_prec=2, const unsigned int interpolation_type=0,
+                              const bool is_fast_approx=1) {
+
+      // Check arguments and init variables
+      if (!is_sameXYZ(G) || (G._spectrum!=3 && G._spectrum!=6))
+        throw CImgArgumentException(_cimg_instance
+                                    "blur_anisotropic(): Invalid specified diffusion tensor field (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    G._width,G._height,G._depth,G._spectrum,G._data);
+
+      if (is_empty() || amplitude<=0 || dl<0) return *this;
+      const bool is_3d = (G._spectrum==6);
+      T val_min, val_max = max_min(val_min);
+
+      if (da<=0) {  // Iterated oriented Laplacians
+        CImg<Tfloat> velocity(_width,_height,_depth,_spectrum);
+        for (unsigned int iteration = 0; iteration<(unsigned int)amplitude; ++iteration) {
+          Tfloat *ptrd = velocity._data, veloc_max = 0;
+          if (is_3d) // 3d version
+            cimg_forC(*this,c) {
+              cimg_test_abort();
+              CImg_3x3x3(I,Tfloat);
+              cimg_for3x3x3(*this,x,y,z,c,I,Tfloat) {
+                const Tfloat
+                  ixx = Incc + Ipcc - 2*Iccc,
+                  ixy = (Innc + Ippc - Inpc - Ipnc)/4,
+                  ixz = (Incn + Ipcp - Incp - Ipcn)/4,
+                  iyy = Icnc + Icpc - 2*Iccc,
+                  iyz = (Icnn + Icpp - Icnp - Icpn)/4,
+                  izz = Iccn + Iccp - 2*Iccc,
+                  veloc = (Tfloat)(G(x,y,z,0)*ixx + 2*G(x,y,z,1)*ixy + 2*G(x,y,z,2)*ixz +
+                                   G(x,y,z,3)*iyy + 2*G(x,y,z,4)*iyz + G(x,y,z,5)*izz);
+                *(ptrd++) = veloc;
+                if (veloc>veloc_max) veloc_max = veloc; else if (-veloc>veloc_max) veloc_max = -veloc;
+              }
+            }
+          else // 2d version
+            cimg_forZC(*this,z,c) {
+              cimg_test_abort();
+              CImg_3x3(I,Tfloat);
+              cimg_for3x3(*this,x,y,z,c,I,Tfloat) {
+                const Tfloat
+                  ixx = Inc + Ipc - 2*Icc,
+                  ixy = (Inn + Ipp - Inp - Ipn)/4,
+                  iyy = Icn + Icp - 2*Icc,
+                  veloc = (Tfloat)(G(x,y,0,0)*ixx + 2*G(x,y,0,1)*ixy + G(x,y,0,2)*iyy);
+                *(ptrd++) = veloc;
+                if (veloc>veloc_max) veloc_max = veloc; else if (-veloc>veloc_max) veloc_max = -veloc;
+              }
+            }
+          if (veloc_max>0) *this+=(velocity*=dl/veloc_max);
+        }
+      } else { // LIC-based smoothing.
+        const unsigned long whd = (unsigned long)_width*_height*_depth;
+        const float sqrt2amplitude = (float)std::sqrt(2*amplitude);
+        const int dx1 = width() - 1, dy1 = height() - 1, dz1 = depth() - 1;
+        CImg<Tfloat> res(_width,_height,_depth,_spectrum,0), W(_width,_height,_depth,is_3d?4:3), val(_spectrum,1,1,1,0);
+        int N = 0;
+        if (is_3d) { // 3d version
+          for (float phi = (180%(int)da)/2.0f; phi<=180; phi+=da) {
+            const float phir = (float)(phi*cimg::PI/180), datmp = (float)(da/std::cos(phir)),
+              da2 = datmp<1?360.0f:datmp;
+            for (float theta = 0; theta<360; (theta+=da2),++N) {
+              const float
+                thetar = (float)(theta*cimg::PI/180),
+                vx = (float)(std::cos(thetar)*std::cos(phir)),
+                vy = (float)(std::sin(thetar)*std::cos(phir)),
+                vz = (float)std::sin(phir);
+              const t
+                *pa = G.data(0,0,0,0), *pb = G.data(0,0,0,1), *pc = G.data(0,0,0,2),
+                *pd = G.data(0,0,0,3), *pe = G.data(0,0,0,4), *pf = G.data(0,0,0,5);
+              Tfloat *pd0 = W.data(0,0,0,0), *pd1 = W.data(0,0,0,1), *pd2 = W.data(0,0,0,2), *pd3 = W.data(0,0,0,3);
+              cimg_forXYZ(G,xg,yg,zg) {
+                const t a = *(pa++), b = *(pb++), c = *(pc++), d = *(pd++), e = *(pe++), f = *(pf++);
+                const float
+                  u = (float)(a*vx + b*vy + c*vz),
+                  v = (float)(b*vx + d*vy + e*vz),
+                  w = (float)(c*vx + e*vy + f*vz),
+                  n = (float)std::sqrt(1e-5 + u*u + v*v + w*w),
+                  dln = dl/n;
+                *(pd0++) = (Tfloat)(u*dln);
+                *(pd1++) = (Tfloat)(v*dln);
+                *(pd2++) = (Tfloat)(w*dln);
+                *(pd3++) = (Tfloat)n;
+              }
+
+              cimg_test_abort();
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=256 && _height*_depth>=2) firstprivate(val)
+#endif
+              cimg_forXYZ(*this,x,y,z) {
+                val.fill(0);
+                const float
+                  n = (float)W(x,y,z,3),
+                  fsigma = (float)(n*sqrt2amplitude),
+                  fsigma2 = 2*fsigma*fsigma,
+                  length = gauss_prec*fsigma;
+                float
+                  S = 0,
+                  X = (float)x,
+                  Y = (float)y,
+                  Z = (float)z;
+                switch (interpolation_type) {
+                case 0 : { // Nearest neighbor
+                  for (float l = 0; l<length && X>=0 && X<=dx1 && Y>=0 && Y<=dy1 && Z>=0 && Z<=dz1; l+=dl) {
+                    const int
+                      cx = (int)(X + 0.5f),
+                      cy = (int)(Y + 0.5f),
+                      cz = (int)(Z + 0.5f);
+                    const float
+                      u = (float)W(cx,cy,cz,0),
+                      v = (float)W(cx,cy,cz,1),
+                      w = (float)W(cx,cy,cz,2);
+                    if (is_fast_approx) { cimg_forC(*this,c) val[c]+=(Tfloat)(*this)(cx,cy,cz,c); ++S; }
+                    else {
+                      const float coef = (float)std::exp(-l*l/fsigma2);
+                      cimg_forC(*this,c) val[c]+=(Tfloat)(coef*(*this)(cx,cy,cz,c));
+                      S+=coef;
+                    }
+                    X+=u; Y+=v; Z+=w;
+                  }
+                } break;
+                case 1 : { // Linear interpolation
+                  for (float l = 0; l<length && X>=0 && X<=dx1 && Y>=0 && Y<=dy1 && Z>=0 && Z<=dz1; l+=dl) {
+                    const float
+                      u = (float)(W._linear_atXYZ(X,Y,Z,0)),
+                      v = (float)(W._linear_atXYZ(X,Y,Z,1)),
+                      w = (float)(W._linear_atXYZ(X,Y,Z,2));
+                    if (is_fast_approx) { cimg_forC(*this,c) val[c]+=(Tfloat)_linear_atXYZ(X,Y,Z,c); ++S; }
+                    else {
+                      const float coef = (float)std::exp(-l*l/fsigma2);
+                      cimg_forC(*this,c) val[c]+=(Tfloat)(coef*_linear_atXYZ(X,Y,Z,c));
+                      S+=coef;
+                    }
+                    X+=u; Y+=v; Z+=w;
+                  }
+                } break;
+                default : { // 2nd order Runge Kutta
+                  for (float l = 0; l<length && X>=0 && X<=dx1 && Y>=0 && Y<=dy1 && Z>=0 && Z<=dz1; l+=dl) {
+                    const float
+                      u0 = (float)(0.5f*W._linear_atXYZ(X,Y,Z,0)),
+                      v0 = (float)(0.5f*W._linear_atXYZ(X,Y,Z,1)),
+                      w0 = (float)(0.5f*W._linear_atXYZ(X,Y,Z,2)),
+                      u = (float)(W._linear_atXYZ(X + u0,Y + v0,Z + w0,0)),
+                      v = (float)(W._linear_atXYZ(X + u0,Y + v0,Z + w0,1)),
+                      w = (float)(W._linear_atXYZ(X + u0,Y + v0,Z + w0,2));
+                    if (is_fast_approx) { cimg_forC(*this,c) val[c]+=(Tfloat)_linear_atXYZ(X,Y,Z,c); ++S; }
+                    else {
+                      const float coef = (float)std::exp(-l*l/fsigma2);
+                      cimg_forC(*this,c) val[c]+=(Tfloat)(coef*_linear_atXYZ(X,Y,Z,c));
+                      S+=coef;
+                    }
+                    X+=u; Y+=v; Z+=w;
+                  }
+                } break;
+                }
+                Tfloat *ptrd = res.data(x,y,z);
+                if (S>0) cimg_forC(res,c) { *ptrd+=val[c]/S; ptrd+=whd; }
+                else cimg_forC(res,c) { *ptrd+=(Tfloat)((*this)(x,y,z,c)); ptrd+=whd; }
+              }
+            }
+          }
+        } else { // 2d LIC algorithm
+          for (float theta = (360%(int)da)/2.0f; theta<360; (theta+=da),++N) {
+            const float thetar = (float)(theta*cimg::PI/180),
+              vx = (float)(std::cos(thetar)), vy = (float)(std::sin(thetar));
+            const t *pa = G.data(0,0,0,0), *pb = G.data(0,0,0,1), *pc = G.data(0,0,0,2);
+            Tfloat *pd0 = W.data(0,0,0,0), *pd1 = W.data(0,0,0,1), *pd2 = W.data(0,0,0,2);
+            cimg_forXY(G,xg,yg) {
+              const t a = *(pa++), b = *(pb++), c = *(pc++);
+              const float
+                u = (float)(a*vx + b*vy),
+                v = (float)(b*vx + c*vy),
+                n = (float)std::sqrt(1e-5 + u*u + v*v),
+                dln = dl/n;
+              *(pd0++) = (Tfloat)(u*dln);
+              *(pd1++) = (Tfloat)(v*dln);
+              *(pd2++) = (Tfloat)n;
+            }
+
+            cimg_test_abort();
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width>=256 && _height>=2) firstprivate(val)
+#endif
+            cimg_forXY(*this,x,y) {
+              val.fill(0);
+              const float
+                n = (float)W(x,y,0,2),
+                fsigma = (float)(n*sqrt2amplitude),
+                fsigma2 = 2*fsigma*fsigma,
+                length = gauss_prec*fsigma;
+              float
+                S = 0,
+                X = (float)x,
+                Y = (float)y;
+              switch (interpolation_type) {
+              case 0 : { // Nearest-neighbor
+                for (float l = 0; l<length && X>=0 && X<=dx1 && Y>=0 && Y<=dy1; l+=dl) {
+                  const int
+                    cx = (int)(X + 0.5f),
+                    cy = (int)(Y + 0.5f);
+                  const float
+                    u = (float)W(cx,cy,0,0),
+                    v = (float)W(cx,cy,0,1);
+                  if (is_fast_approx) { cimg_forC(*this,c) val[c]+=(Tfloat)(*this)(cx,cy,0,c); ++S; }
+                  else {
+                    const float coef = (float)std::exp(-l*l/fsigma2);
+                    cimg_forC(*this,c) val[c]+=(Tfloat)(coef*(*this)(cx,cy,0,c));
+                    S+=coef;
+                  }
+                  X+=u; Y+=v;
+                }
+              } break;
+              case 1 : { // Linear interpolation
+                for (float l = 0; l<length && X>=0 && X<=dx1 && Y>=0 && Y<=dy1; l+=dl) {
+                  const float
+                    u = (float)(W._linear_atXY(X,Y,0,0)),
+                    v = (float)(W._linear_atXY(X,Y,0,1));
+                  if (is_fast_approx) { cimg_forC(*this,c) val[c]+=(Tfloat)_linear_atXY(X,Y,0,c); ++S; }
+                  else {
+                    const float coef = (float)std::exp(-l*l/fsigma2);
+                    cimg_forC(*this,c) val[c]+=(Tfloat)(coef*_linear_atXY(X,Y,0,c));
+                    S+=coef;
+                  }
+                  X+=u; Y+=v;
+                }
+              } break;
+              default : { // 2nd-order Runge-kutta interpolation
+                for (float l = 0; l<length && X>=0 && X<=dx1 && Y>=0 && Y<=dy1; l+=dl) {
+                  const float
+                    u0 = (float)(0.5f*W._linear_atXY(X,Y,0,0)),
+                    v0 = (float)(0.5f*W._linear_atXY(X,Y,0,1)),
+                    u = (float)(W._linear_atXY(X + u0,Y + v0,0,0)),
+                    v = (float)(W._linear_atXY(X + u0,Y + v0,0,1));
+                  if (is_fast_approx) { cimg_forC(*this,c) val[c]+=(Tfloat)_linear_atXY(X,Y,0,c); ++S; }
+                  else {
+                    const float coef = (float)std::exp(-l*l/fsigma2);
+                    cimg_forC(*this,c) val[c]+=(Tfloat)(coef*_linear_atXY(X,Y,0,c));
+                    S+=coef;
+                  }
+                  X+=u; Y+=v;
+                }
+              }
+              }
+              Tfloat *ptrd = res.data(x,y);
+              if (S>0) cimg_forC(res,c) { *ptrd+=val[c]/S; ptrd+=whd; }
+              else cimg_forC(res,c) { *ptrd+=(Tfloat)((*this)(x,y,0,c)); ptrd+=whd; }
+            }
+          }
+        }
+        const Tfloat *ptrs = res._data;
+        cimg_for(*this,ptrd,T) {
+          const Tfloat val = *(ptrs++)/N;
+          *ptrd = val<val_min?val_min:(val>val_max?val_max:(T)val);
+        }
+      }
+      return *this;
+    }
+
+    //! Blur image anisotropically, directed by a field of diffusion tensors \newinstance.
+    template<typename t>
+    CImg<Tfloat> get_blur_anisotropic(const CImg<t>& G,
+                                      const float amplitude=60, const float dl=0.8f, const float da=30,
+                                      const float gauss_prec=2, const unsigned int interpolation_type=0,
+                                      const bool is_fast_approx=true) const {
+      return CImg<Tfloat>(*this,false).blur_anisotropic(G,amplitude,dl,da,gauss_prec,interpolation_type,is_fast_approx);
+    }
+
+    //! Blur image anisotropically, in an edge-preserving way.
+    /**
+       \param amplitude Amplitude of the smoothing.
+       \param sharpness Sharpness.
+       \param anisotropy Anisotropy.
+       \param alpha Standard deviation of the gradient blur.
+       \param sigma Standard deviation of the structure tensor blur.
+       \param dl Spatial discretization.
+       \param da Angular discretization.
+       \param gauss_prec Precision of the diffusion process.
+       \param interpolation_type Interpolation scheme.
+         Can be <tt>{ 0=nearest-neighbor | 1=linear | 2=Runge-Kutta }</tt>.
+       \param is_fast_approx Tells if a fast approximation of the gaussian function is used or not.
+     **/
+    CImg<T>& blur_anisotropic(const float amplitude, const float sharpness=0.7f, const float anisotropy=0.6f,
+                              const float alpha=0.6f, const float sigma=1.1f, const float dl=0.8f, const float da=30,
+                              const float gauss_prec=2, const unsigned int interpolation_type=0,
+                              const bool is_fast_approx=true) {
+      return blur_anisotropic(get_diffusion_tensors(sharpness,anisotropy,alpha,sigma,interpolation_type!=3),
+                              amplitude,dl,da,gauss_prec,interpolation_type,is_fast_approx);
+    }
+
+    //! Blur image anisotropically, in an edge-preserving way \newinstance.
+    CImg<Tfloat> get_blur_anisotropic(const float amplitude, const float sharpness=0.7f, const float anisotropy=0.6f,
+                                      const float alpha=0.6f, const float sigma=1.1f, const float dl=0.8f,
+                                      const float da=30, const float gauss_prec=2,
+                                      const unsigned int interpolation_type=0,
+                                      const bool is_fast_approx=true) const {
+      return CImg<Tfloat>(*this,false).blur_anisotropic(amplitude,sharpness,anisotropy,alpha,sigma,dl,da,gauss_prec,
+                                                        interpolation_type,is_fast_approx);
+    }
+
+    //! Blur image, with the joint bilateral filter.
+    /**
+       \param guide Image used to model the smoothing weights.
+       \param sigma_x Amount of blur along the X-axis.
+       \param sigma_y Amount of blur along the Y-axis.
+       \param sigma_z Amount of blur along the Z-axis.
+       \param sigma_r Amount of blur along the value axis.
+       \param sampling_x Amount of downsampling along the X-axis used for the approximation.
+         Defaults (0) to sigma_x.
+       \param sampling_y Amount of downsampling along the Y-axis used for the approximation.
+         Defaults (0) to sigma_y.
+       \param sampling_z Amount of downsampling along the Z-axis used for the approximation.
+         Defaults (0) to sigma_z.
+       \param sampling_r Amount of downsampling along the value axis used for the approximation.
+         Defaults (0) to sigma_r.
+       \note This algorithm uses the optimisation technique proposed by S. Paris and F. Durand, in ECCV'2006
+       (extended for 3d volumetric images).
+       It is based on the reference implementation http://people.csail.mit.edu/jiawen/software/bilateralFilter.m
+    **/
+    template<typename t>
+    CImg<T>& blur_bilateral(const CImg<t>& guide,
+                            const float sigma_x, const float sigma_y,
+                            const float sigma_z, const float sigma_r,
+                            const float sampling_x, const float sampling_y,
+                            const float sampling_z, const float sampling_r) {
+      if (!is_sameXYZ(guide))
+        throw CImgArgumentException(_cimg_instance
+                                    "blur_bilateral(): Invalid size for specified guide image (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    guide._width,guide._height,guide._depth,guide._spectrum,guide._data);
+      if (is_empty()) return *this;
+      T edge_min, edge_max = guide.max_min(edge_min);
+      if (edge_min==edge_max || sigma_r == 0.) return *this;
+      const float
+        edge_delta = (float)(edge_max - edge_min),
+        _sigma_x = sigma_x>=0?sigma_x:-sigma_x*_width/100,
+        _sigma_y = sigma_y>=0?sigma_y:-sigma_y*_height/100,
+        _sigma_z = sigma_z>=0?sigma_z:-sigma_z*_depth/100,
+        _sigma_r = sigma_r>=0?sigma_r:-sigma_r*(edge_max-edge_min)/100,
+        _sampling_x = sampling_x?sampling_x:cimg::max(_sigma_x,1.0f),
+        _sampling_y = sampling_y?sampling_y:cimg::max(_sigma_y,1.0f),
+        _sampling_z = sampling_z?sampling_z:cimg::max(_sigma_z,1.0f),
+        _sampling_r = sampling_r?sampling_r:cimg::max(_sigma_r,edge_delta/256),
+        derived_sigma_x = _sigma_x / _sampling_x,
+        derived_sigma_y = _sigma_y / _sampling_y,
+        derived_sigma_z = _sigma_z / _sampling_z,
+        derived_sigma_r = _sigma_r / _sampling_r;
+      const int
+        padding_x = (int)(2*derived_sigma_x) + 1,
+        padding_y = (int)(2*derived_sigma_y) + 1,
+        padding_z = (int)(2*derived_sigma_z) + 1,
+        padding_r = (int)(2*derived_sigma_r) + 1;
+      const unsigned int
+        bx = (unsigned int)((_width  - 1)/_sampling_x + 1 + 2*padding_x),
+        by = (unsigned int)((_height - 1)/_sampling_y + 1 + 2*padding_y),
+        bz = (unsigned int)((_depth  - 1)/_sampling_z + 1 + 2*padding_z),
+        br = (unsigned int)(edge_delta/_sampling_r + 1 + 2*padding_r);
+      if (bx>0 || by>0 || bz>0 || br>0) {
+        const bool is_3d = (_depth>1);
+        if (is_3d) { // 3d version of the algorithm
+          CImg<floatT> bgrid(bx,by,bz,br), bgridw(bx,by,bz,br);
+          cimg_forC(*this,c) {
+            const CImg<t> _guide = guide.get_shared_channel(c%guide._spectrum);
+            bgrid.fill(0); bgridw.fill(0);
+            cimg_forXYZ(*this,x,y,z) {
+              const T val = (*this)(x,y,z,c);
+              const float edge = (float)_guide(x,y,z);
+              const int
+                X = (int)cimg::round(x/_sampling_x) + padding_x,
+                Y = (int)cimg::round(y/_sampling_y) + padding_y,
+                Z = (int)cimg::round(z/_sampling_z) + padding_z,
+                R = (int)cimg::round((edge-edge_min)/_sampling_r) + padding_r;
+              bgrid(X,Y,Z,R)+=(float)val;
+              bgridw(X,Y,Z,R)+=1;
+            }
+            bgrid.blur(derived_sigma_x,derived_sigma_y,derived_sigma_z,true).deriche(derived_sigma_r,0,'c',false);
+            bgridw.blur(derived_sigma_x,derived_sigma_y,derived_sigma_z,true).deriche(derived_sigma_r,0,'c',false);
+            cimg_forXYZ(*this,x,y,z) {
+              const float edge = (float)_guide(x,y,z);
+              const float
+                X = x/_sampling_x + padding_x,
+                Y = y/_sampling_y + padding_y,
+                Z = z/_sampling_z + padding_z,
+                R = (edge-edge_min)/_sampling_r + padding_r;
+              const float bval0 = bgrid.linear_atXYZC(X,Y,Z,R), bval1 = bgridw.linear_atXYZC(X,Y,Z,R);
+              (*this)(x,y,z,c) = (T)(bval0/bval1);
+            }
+          }
+        } else { // 2d version of the algorithm
+          CImg<floatT> bgrid(bx,by,br,2);
+          cimg_forC(*this,c) {
+            const CImg<t> _guide = guide.get_shared_channel(c%guide._spectrum);
+            bgrid.fill(0);
+            cimg_forXY(*this,x,y) {
+              const T val = (*this)(x,y,c);
+              const float edge = (float)_guide(x,y);
+              const int
+                X = (int)cimg::round(x/_sampling_x) + padding_x,
+                Y = (int)cimg::round(y/_sampling_y) + padding_y,
+                R = (int)cimg::round((edge-edge_min)/_sampling_r) + padding_r;
+              bgrid(X,Y,R,0)+=(float)val;
+              bgrid(X,Y,R,1)+=1;
+            }
+            bgrid.blur(derived_sigma_x,derived_sigma_y,0,true).blur(0,0,derived_sigma_r,false);
+            cimg_forXY(*this,x,y) {
+              const float edge = (float)_guide(x,y);
+              const float
+                X = x/_sampling_x + padding_x,
+                Y = y/_sampling_y + padding_y,
+                R = (edge-edge_min)/_sampling_r + padding_r;
+              const float bval0 = bgrid.linear_atXYZ(X,Y,R,0), bval1 = bgrid.linear_atXYZ(X,Y,R,1);
+              (*this)(x,y,c) = (T)(bval0/bval1);
+            }
+          }
+        }
+      }
+      return *this;
+    }
+
+    //! Blur image, with the joint bilateral filter \newinstance.
+    template<typename t>
+    CImg<Tfloat> get_blur_bilateral(const CImg<t>& guide,
+                                    const float sigma_x, const float sigma_y,
+                                    const float sigma_z, const float sigma_r,
+                                    const float sampling_x, const float sampling_y,
+                                    const float sampling_z, const float sampling_r) const {
+      return CImg<Tfloat>(*this,false).blur_bilateral(guide,sigma_x,sigma_y,sigma_z,sigma_r,
+                                                      sampling_x,sampling_y,sampling_z,sampling_r);
+    }
+
+    //! Blur image using the joint bilateral filter.
+    /**
+       \param guide Image used to model the smoothing weights.
+       \param sigma_s Amount of blur along the XYZ-axes.
+       \param sigma_r Amount of blur along the value axis.
+       \param sampling_s Amount of downsampling along the XYZ-axes used for the approximation. Defaults to sigma_s.
+       \param sampling_r Amount of downsampling along the value axis used for the approximation. Defaults to sigma_r.
+    **/
+    template<typename t>
+    CImg<T>& blur_bilateral(const CImg<t>& guide,
+                            const float sigma_s, const float sigma_r,
+                            const float sampling_s=0, const float sampling_r=0) {
+      const float _sigma_s = sigma_s>=0?sigma_s:-sigma_s*cimg::max(_width,_height,_depth)/100;
+      return blur_bilateral(guide,_sigma_s,_sigma_s,_sigma_s,sigma_r,sampling_s,sampling_s,sampling_s,sampling_r);
+    }
+
+    //! Blur image using the bilateral filter \newinstance.
+    template<typename t>
+    CImg<Tfloat> get_blur_bilateral(const CImg<t>& guide,
+                                    const float sigma_s, const float sigma_r,
+                                    const float sampling_s=0, const float sampling_r=0) const {
+      return CImg<Tfloat>(*this,false).blur_bilateral(guide,sigma_s,sigma_r,sampling_s,sampling_r);
+    }
+
+    // [internal] Apply a box filter (used by CImg<T>::boxfilter() and CImg<T>::blur_box()).
+    /*
+      \param ptr the pointer of the data
+      \param N size of the data
+      \param sigma sigma of the box filter
+      \param off the offset between two data point
+      \param order the order of the filter 0 (smoothing), 1st derivtive and 2nd derivative.
+      \param boundary_conditions Boundary conditions. Can be <tt>{ 0=dirichlet | 1=neumann }</tt>.
+    */
+    static void _cimg_blur_box_apply(T *ptr, const float sigma, const int N, const unsigned long off,
+                                     const int order, const bool boundary_conditions) {
+      // Smooth.
+      if (sigma>1) {
+        const int w2 = (int)(sigma - 1)/2;
+        const unsigned int winsize = 2*w2 + 1U;
+        const double frac = (sigma - winsize)/2.0;
+        CImg<Tfloat> win(winsize);
+        Tfloat sum = 0; // window sum
+        for (int x = -w2; x<=w2; ++x) {
+          win[x + w2] = __cimg_blur_box_apply(ptr,N,off,boundary_conditions,x);
+          sum+=win[x + w2];
+        }
+        int ifirst = 0, ilast = 2*w2;
+        Tfloat
+          prev = __cimg_blur_box_apply(ptr,N,off,boundary_conditions,-w2 - 1),
+          next = __cimg_blur_box_apply(ptr,N,off,boundary_conditions,w2 + 1);
+        for (int x = 0; x < N - 1; ++x) {
+          const double sum2 = sum + frac * (prev + next);
+          ptr[x*off] = (T)(sum2/sigma);
+          prev = win[ifirst];
+          sum-=prev;
+          ifirst = (int)((ifirst + 1)%winsize);
+          ilast = (int)((ilast + 1)%winsize);
+          win[ilast] = next;
+          sum+=next;
+          next = __cimg_blur_box_apply(ptr,N,off,boundary_conditions,x + w2 + 2);
+        }
+        const double sum2 = sum + frac * (prev + next);
+        ptr[(N - 1)*off] = (T)(sum2/sigma);
+      }
+
+      // Derive.
+      switch (order) {
+      case 0 :
+        break;
+      case 1 : {
+        Tfloat
+          p = __cimg_blur_box_apply(ptr,N,off,boundary_conditions,-1),
+          c = __cimg_blur_box_apply(ptr,N,off,boundary_conditions,0),
+          n = __cimg_blur_box_apply(ptr,N,off,boundary_conditions,1);
+        for (int x = 0; x<N - 1; ++x) {
+          ptr[x*off] = (T)((n-p)/2.0);
+          p = c;
+          c = n;
+          n = __cimg_blur_box_apply(ptr,N,off,boundary_conditions,x + 2);
+        }
+        ptr[(N - 1)*off] = (T)((n-p)/2.0);
+      } break;
+      case 2: {
+        Tfloat
+          p = __cimg_blur_box_apply(ptr,N,off,boundary_conditions,-1),
+          c = __cimg_blur_box_apply(ptr,N,off,boundary_conditions,0),
+          n = __cimg_blur_box_apply(ptr,N,off,boundary_conditions,1);
+        for (int x = 0; x<N - 1; ++x) {
+          ptr[x*off] = (T)(n - 2*c + p);
+          p = c;
+          c = n;
+          n = __cimg_blur_box_apply(ptr,N,off,boundary_conditions,x + 2);
+        }
+        ptr[(N - 1)*off] = (T)(n - 2*c + p);
+      } break;
+      }
+    }
+
+    static T __cimg_blur_box_apply(T *ptr, const int N, const unsigned long off,
+                                   const bool boundary_conditions, const int x) {
+      if (x<0) return boundary_conditions?ptr[0]:T();
+      if (x>=N) return boundary_conditions?ptr[(N - 1)*off]:T();
+      return ptr[x*off];
+    }
+
+    // Apply box filter of order 0,1,2.
+    /**
+      \param sigma sigma of the box filter
+      \param order the order of the filter 0,1 or 2.
+      \param axis  Axis along which the filter is computed. Can be <tt>{ 'x' | 'y' | 'z' | 'c' }</tt>.
+      \param boundary_conditions Boundary conditions. Can be <tt>{ 0=dirichlet | 1=neumann }</tt>.
+    **/
+    CImg<T>& boxfilter(const float sigma, const int order, const char axis='x',
+                       const bool boundary_conditions=true) {
+      if (is_empty() || !sigma || (sigma<=1 && !order)) return *this;
+      const char naxis = cimg::uncase(axis);
+      const float nsigma = sigma>=0?sigma:-sigma*(naxis=='x'?_width:naxis=='y'?_height:naxis=='z'?_depth:_spectrum)/100;
+      switch (naxis) {
+      case 'x' : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width>=256 && _height*_depth*_spectrum>=16)
+#endif
+        cimg_forYZC(*this,y,z,c)
+          _cimg_blur_box_apply(data(0,y,z,c),nsigma,_width,1U,order,boundary_conditions);
+      } break;
+      case 'y' : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width>=256 && _height*_depth*_spectrum>=16)
+#endif
+        cimg_forXZC(*this,x,z,c)
+          _cimg_blur_box_apply(data(x,0,z,c),nsigma,_height,(unsigned long)_width,order,boundary_conditions);
+      } break;
+      case 'z' : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width>=256 && _height*_depth*_spectrum>=16)
+#endif
+        cimg_forXYC(*this,x,y,c)
+          _cimg_blur_box_apply(data(x,y,0,c),nsigma,_depth,(unsigned long)(_width*_height),order,boundary_conditions);
+      } break;
+      default : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width>=256 && _height*_depth*_spectrum>=16)
+#endif
+        cimg_forXYZ(*this,x,y,z)
+          _cimg_blur_box_apply(data(x,y,z,0),nsigma,_spectrum,(unsigned long)(_width*_height*_depth),
+                               order,boundary_conditions);
+      }
+      }
+      return *this;
+    }
+
+    // Apply box filter of order 0,1 or 2 \newinstance.
+    CImg<Tfloat> get_boxfilter(const float sigma, const int order, const char axis='x',
+                               const bool boundary_conditions=true) const {
+      return CImg<Tfloat>(*this,false).boxfilter(sigma,order,axis,boundary_conditions);
+    }
+
+    //! Blur image with a box filter.
+    /**
+       \param sigma_x Size of the box window, along the X-axis.
+       \param sigma_y Size of the box window, along the Y-axis.
+       \param sigma_z Size of the box window, along the Z-axis.
+       \param boundary_conditions Boundary conditions. Can be <tt>{ false=dirichlet | true=neumann }</tt>.
+       \note
+       - This is a recursive algorithm, not depending on the values of the box kernel size.
+       \see blur().
+    **/
+    CImg<T>& blur_box(const float sigma_x, const float sigma_y, const float sigma_z,
+                      const bool boundary_conditions=true) {
+      if (is_empty()) return *this;
+      if (_width>1) boxfilter(sigma_x,0,'x',boundary_conditions);
+      if (_height>1) boxfilter(sigma_y,0,'y',boundary_conditions);
+      if (_depth>1) boxfilter(sigma_z,0,'z',boundary_conditions);
+      return *this;
+    }
+
+    //! Blur image with a box filter \newinstance.
+    CImg<Tfloat> get_blur_box(const float sigma_x, const float sigma_y, const float sigma_z,
+                              const bool boundary_conditions=true) const {
+      return CImg<Tfloat>(*this,false).blur_box(sigma_x,sigma_y,sigma_z,boundary_conditions);
+    }
+
+    //! Blur image with a box filter.
+    /**
+       \param sigma Size of the box window.
+       \param boundary_conditions Boundary conditions. Can be <tt>{ 0=dirichlet | 1=neumann }</tt>.a
+       \see deriche(), vanvliet().
+    **/
+    CImg<T>& blur_box(const float sigma, const bool boundary_conditions=true) {
+      const float nsigma = sigma>=0?sigma:-sigma*cimg::max(_width,_height,_depth)/100;
+      return blur_box(nsigma,nsigma,nsigma,boundary_conditions);
+    }
+
+    //! Blur image with a box filter \newinstance.
+    CImg<Tfloat> get_blur_box(const float sigma, const bool boundary_conditions=true) const {
+      return CImg<Tfloat>(*this,false).blur_box(sigma,boundary_conditions);
+    }
+
+    //! Blur image, with the image guided filter.
+    /**
+       \param guide Image used to guide the smoothing process.
+       \param radius Spatial radius.
+       \param regularization Regularization parameter.
+
+       \note This method implements the filtering algorithm described in:
+       He, Kaiming; Sun, Jian; Tang, Xiaoou, "Guided Image Filtering," Pattern Analysis and Machine Intelligence,
+       IEEE Transactions on , vol.35, no.6, pp.1397,1409, June 2013
+    **/
+    template<typename t>
+    CImg<T>& blur_guided(const CImg<t>& guide, const float radius, const float regularization) {
+      return get_blur_guided(guide,radius,regularization).move_to(*this);
+    }
+
+    //! Blur image, with the image guided filter \newinstance.
+    template<typename t>
+    CImg<Tfloat> get_blur_guided(const CImg<t>& guide, const float radius, const float regularization) const {
+      if (!is_sameXYZ(guide))
+        throw CImgArgumentException(_cimg_instance
+                                    "blur_guided(): Invalid size for specified guide image (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    guide._width,guide._height,guide._depth,guide._spectrum,guide._data);
+      if (is_empty() || !radius) return *this;
+      const int _radius = radius>=0?(int)radius:(int)(-radius*cimg::max(_width,_height,_depth)/100);
+      const unsigned int psize = (unsigned int)(1 + 2*_radius);
+      const CImg<uintT> N = CImg<uintT>(_width,_height,_depth,1,1)._blur_guided(psize);
+      CImg<Tfloat>
+        mean_I = CImg<Tfloat>(guide,false)._blur_guided(psize).div(N),
+        mean_p = CImg<Tfloat>(*this,false)._blur_guided(psize).div(N),
+        cov_Ip = CImg<Tfloat>(*this,false).mul(guide)._blur_guided(psize).div(N)-=mean_p.get_mul(mean_I),
+        var_I = CImg<Tfloat>(guide,false).sqr()._blur_guided(psize).div(N)-=mean_I.get_sqr(),
+        &a = cov_Ip.div(var_I+=regularization),
+        &b = mean_p-=a.get_mul(mean_I);
+      a._blur_guided(psize).div(N);
+      b._blur_guided(psize).div(N);
+      return a.mul(guide)+=b;
+    }
+
+    // [internal] Perform box filter with dirichlet boundary conditions.
+    CImg<T>& _blur_guided(const unsigned int psize) {
+      const int p1 = (int)psize/2, p2 = (int)psize - p1;
+      if (_depth!=1) {
+        CImg<floatT> cumul = get_cumulate('z'), cumul2 = cumul.get_shift(0,0,p2,0,1);
+        (cumul.shift(0,0,-p1,0,1)-=cumul2).move_to(*this);
+      }
+      if (_height!=1) {
+        CImg<floatT> cumul = get_cumulate('y'), cumul2 = cumul.get_shift(0,p2,0,0,1);
+        (cumul.shift(0,-p1,0,0,1)-=cumul2).move_to(*this);
+      }
+      if (_width!=1) {
+        CImg<floatT> cumul = get_cumulate('x'), cumul2 = cumul.get_shift(p2,0,0,0,1);
+        (cumul.shift(-p1,0,0,0,1)-=cumul2).move_to(*this);
+      }
+      return *this;
+    }
+
+    //! Blur image using patch-based space.
+    /**
+       \param sigma_s Amount of blur along the XYZ-axes.
+       \param sigma_p Amount of blur along the value axis.
+       \param patch_size Size of the patchs.
+       \param lookup_size Size of the window to search similar patchs.
+       \param smoothness Smoothness for the patch comparison.
+       \param is_fast_approx Tells if a fast approximation of the gaussian function is used or not.
+    **/
+    CImg<T>& blur_patch(const float sigma_s, const float sigma_p, const unsigned int patch_size=3,
+                        const unsigned int lookup_size=4, const float smoothness=0, const bool is_fast_approx=true) {
+      if (is_empty() || !patch_size || !lookup_size) return *this;
+      return get_blur_patch(sigma_s,sigma_p,patch_size,lookup_size,smoothness,is_fast_approx).move_to(*this);
+    }
+
+    //! Blur image using patch-based space \newinstance.
+    CImg<Tfloat> get_blur_patch(const float sigma_s, const float sigma_p, const unsigned int patch_size=3,
+                                const unsigned int lookup_size=4, const float smoothness=0,
+                                const bool is_fast_approx=true) const {
+
+#define _cimg_blur_patch3d_fast(N) \
+      cimg_for##N##XYZ(res,x,y,z) { \
+        T *pP = P._data; cimg_forC(res,c) { cimg_get##N##x##N##x##N(img,x,y,z,c,pP,T); pP+=N3; } \
+        const int x0 = x - rsize1, y0 = y - rsize1, z0 = z - rsize1, \
+          x1 = x + rsize2, y1 = y + rsize2, z1 = z + rsize2; \
+        float sum_weights = 0; \
+        cimg_for_in##N##XYZ(res,x0,y0,z0,x1,y1,z1,p,q,r) if (cimg::abs(img(x,y,z,0) - img(p,q,r,0))<sigma_p3) { \
+          T *pQ = Q._data; cimg_forC(res,c) { cimg_get##N##x##N##x##N(img,p,q,r,c,pQ,T); pQ+=N3; } \
+          float distance2 = 0; \
+          pQ = Q._data; cimg_for(P,pP,T) { const float dI = (float)*pP - (float)*(pQ++); distance2+=dI*dI; } \
+          distance2/=Pnorm; \
+          const float dx = (float)p - x, dy = (float)q - y, dz = (float)r - z, \
+            alldist = distance2 + (dx*dx + dy*dy + dz*dz)/sigma_s2, weight = alldist>3?0.0f:1.0f; \
+          sum_weights+=weight; \
+          cimg_forC(res,c) res(x,y,z,c)+=weight*(*this)(p,q,r,c); \
+        } \
+        if (sum_weights>0) cimg_forC(res,c) res(x,y,z,c)/=sum_weights; \
+        else cimg_forC(res,c) res(x,y,z,c) = (Tfloat)((*this)(x,y,z,c)); \
+    }
+
+#define _cimg_blur_patch3d(N) \
+      cimg_for##N##XYZ(res,x,y,z) { \
+        T *pP = P._data; cimg_forC(res,c) { cimg_get##N##x##N##x##N(img,x,y,z,c,pP,T); pP+=N3; } \
+        const int x0 = x - rsize1, y0 = y - rsize1, z0 = z - rsize1, \
+          x1 = x + rsize2, y1 = y + rsize2, z1 = z + rsize2; \
+        float sum_weights = 0, weight_max = 0; \
+        cimg_for_in##N##XYZ(res,x0,y0,z0,x1,y1,z1,p,q,r) if (p!=x || q!=y || r!=z) { \
+          T *pQ = Q._data; cimg_forC(res,c) { cimg_get##N##x##N##x##N(img,p,q,r,c,pQ,T); pQ+=N3; } \
+          float distance2 = 0; \
+          pQ = Q._data; cimg_for(P,pP,T) { const float dI = (float)*pP - (float)*(pQ++); distance2+=dI*dI; } \
+          distance2/=Pnorm; \
+          const float dx = (float)p - x, dy = (float)q - y, dz = (float)r - z, \
+            alldist = distance2 + (dx*dx + dy*dy + dz*dz)/sigma_s2, weight = (float)std::exp(-alldist); \
+          if (weight>weight_max) weight_max = weight; \
+          sum_weights+=weight; \
+          cimg_forC(res,c) res(x,y,z,c)+=weight*(*this)(p,q,r,c); \
+        } \
+        sum_weights+=weight_max; cimg_forC(res,c) res(x,y,z,c)+=weight_max*(*this)(x,y,z,c); \
+        if (sum_weights>0) cimg_forC(res,c) res(x,y,z,c)/=sum_weights; \
+        else cimg_forC(res,c) res(x,y,z,c) = (Tfloat)((*this)(x,y,z,c)); \
+      }
+
+#define _cimg_blur_patch2d_fast(N) \
+        cimg_for##N##XY(res,x,y) { \
+          T *pP = P._data; cimg_forC(res,c) { cimg_get##N##x##N(img,x,y,0,c,pP,T); pP+=N2; } \
+          const int x0 = x - rsize1, y0 = y - rsize1, x1 = x + rsize2, y1 = y + rsize2; \
+          float sum_weights = 0; \
+          cimg_for_in##N##XY(res,x0,y0,x1,y1,p,q) if (cimg::abs(img(x,y,0,0) - img(p,q,0,0))<sigma_p3) { \
+            T *pQ = Q._data; cimg_forC(res,c) { cimg_get##N##x##N(img,p,q,0,c,pQ,T); pQ+=N2; } \
+            float distance2 = 0; \
+            pQ = Q._data; cimg_for(P,pP,T) { const float dI = (float)*pP - (float)*(pQ++); distance2+=dI*dI; } \
+            distance2/=Pnorm; \
+            const float dx = (float)p - x, dy = (float)q - y, \
+              alldist = distance2 + (dx*dx+dy*dy)/sigma_s2, weight = alldist>3?0.0f:1.0f; \
+            sum_weights+=weight; \
+            cimg_forC(res,c) res(x,y,c)+=weight*(*this)(p,q,c); \
+          } \
+          if (sum_weights>0) cimg_forC(res,c) res(x,y,c)/=sum_weights; \
+          else cimg_forC(res,c) res(x,y,c) = (Tfloat)((*this)(x,y,c)); \
+        }
+
+#define _cimg_blur_patch2d(N) \
+        cimg_for##N##XY(res,x,y) { \
+          T *pP = P._data; cimg_forC(res,c) { cimg_get##N##x##N(img,x,y,0,c,pP,T); pP+=N2; } \
+          const int x0 = x - rsize1, y0 = y - rsize1, x1 = x + rsize2, y1 = y + rsize2; \
+          float sum_weights = 0, weight_max = 0; \
+          cimg_for_in##N##XY(res,x0,y0,x1,y1,p,q) if (p!=x || q!=y) { \
+            T *pQ = Q._data; cimg_forC(res,c) { cimg_get##N##x##N(img,p,q,0,c,pQ,T); pQ+=N2; } \
+            float distance2 = 0; \
+            pQ = Q._data; cimg_for(P,pP,T) { const float dI = (float)*pP - (float)*(pQ++); distance2+=dI*dI; } \
+            distance2/=Pnorm; \
+            const float dx = (float)p - x, dy = (float)q - y, \
+              alldist = distance2 + (dx*dx+dy*dy)/sigma_s2, weight = (float)std::exp(-alldist); \
+            if (weight>weight_max) weight_max = weight; \
+            sum_weights+=weight; \
+            cimg_forC(res,c) res(x,y,c)+=weight*(*this)(p,q,c); \
+          } \
+          sum_weights+=weight_max; cimg_forC(res,c) res(x,y,c)+=weight_max*(*this)(x,y,c); \
+          if (sum_weights>0) cimg_forC(res,c) res(x,y,c)/=sum_weights; \
+          else cimg_forC(res,c) res(x,y,c) = (Tfloat)((*this)(x,y,c)); \
+    }
+
+      if (is_empty() || !patch_size || !lookup_size) return +*this;
+      CImg<Tfloat> res(_width,_height,_depth,_spectrum,0);
+      const CImg<T> _img = smoothness>0?get_blur(smoothness):CImg<Tfloat>(),&img = smoothness>0?_img:*this;
+      CImg<T> P(patch_size*patch_size*_spectrum), Q(P);
+      const float
+        nsigma_s = sigma_s>=0?sigma_s:-sigma_s*cimg::max(_width,_height,_depth)/100,
+        sigma_s2 = nsigma_s*nsigma_s, sigma_p2 = sigma_p*sigma_p, sigma_p3 = 3*sigma_p,
+        Pnorm = P.size()*sigma_p2;
+      const int rsize2 = (int)lookup_size/2, rsize1 = (int)lookup_size - rsize2 - 1;
+      const unsigned int N2 = patch_size*patch_size, N3 = N2*patch_size;
+      cimg::unused(N2,N3);
+      if (_depth>1) switch (patch_size) { // 3d
+        case 2 : if (is_fast_approx) _cimg_blur_patch3d_fast(2) else _cimg_blur_patch3d(2) break;
+        case 3 : if (is_fast_approx) _cimg_blur_patch3d_fast(3) else _cimg_blur_patch3d(3) break;
+        default : {
+          const int psize2 = (int)patch_size/2, psize1 = (int)patch_size - psize2 - 1;
+          if (is_fast_approx)
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (res._width>=32 && res._height*res._depth>=4) private(P,Q)
+#endif
+            cimg_forXYZ(res,x,y,z) { // Fast
+              P = img.get_crop(x - psize1,y - psize1,z - psize1,x + psize2,y + psize2,z + psize2,true);
+              const int x0 = x - rsize1, y0 = y - rsize1, z0 = z - rsize1,
+                x1 = x + rsize2, y1 = y + rsize2, z1 = z + rsize2;
+              float sum_weights = 0;
+              cimg_for_inXYZ(res,x0,y0,z0,x1,y1,z1,p,q,r) if (cimg::abs(img(x,y,z,0)-img(p,q,r,0))<sigma_p3) {
+                (Q = img.get_crop(p - psize1,q - psize1,r - psize1,p + psize2,q + psize2,r + psize2,true))-=P;
+                const float
+                  dx = (float)x - p, dy = (float)y - q, dz = (float)z - r,
+                  distance2 = (float)(Q.pow(2).sum()/Pnorm + (dx*dx + dy*dy + dz*dz)/sigma_s2),
+                  weight = distance2>3?0.0f:1.0f;
+                sum_weights+=weight;
+                cimg_forC(res,c) res(x,y,z,c)+=weight*(*this)(p,q,r,c);
+              }
+              if (sum_weights>0) cimg_forC(res,c) res(x,y,z,c)/=sum_weights;
+              else cimg_forC(res,c) res(x,y,z,c) = (Tfloat)((*this)(x,y,z,c));
+            } else
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (res._width>=32 && res._height*res._depth>=4) firstprivate(P,Q)
+#endif
+            cimg_forXYZ(res,x,y,z) { // Exact
+              P = img.get_crop(x - psize1,y - psize1,z - psize1,x + psize2,y + psize2,z + psize2,true);
+              const int x0 = x - rsize1, y0 = y - rsize1, z0 = z - rsize1,
+                x1 = x + rsize2, y1 = y + rsize2, z1 = z + rsize2;
+              float sum_weights = 0, weight_max = 0;
+              cimg_for_inXYZ(res,x0,y0,z0,x1,y1,z1,p,q,r) if (p!=x || q!=y || r!=z) {
+                (Q = img.get_crop(p - psize1,q - psize1,r - psize1,p + psize2,q + psize2,r + psize2,true))-=P;
+                const float
+                  dx = (float)x - p, dy = (float)y - q, dz = (float)z - r,
+                  distance2 = (float)(Q.pow(2).sum()/Pnorm + (dx*dx + dy*dy + dz*dz)/sigma_s2),
+                  weight = (float)std::exp(-distance2);
+                if (weight>weight_max) weight_max = weight;
+                sum_weights+=weight;
+                cimg_forC(res,c) res(x,y,z,c)+=weight*(*this)(p,q,r,c);
+              }
+              sum_weights+=weight_max; cimg_forC(res,c) res(x,y,z,c)+=weight_max*(*this)(x,y,z,c);
+              if (sum_weights>0) cimg_forC(res,c) res(x,y,z,c)/=sum_weights;
+              else cimg_forC(res,c) res(x,y,z,c) = (Tfloat)((*this)(x,y,z,c));
+            }
+        }
+        } else switch (patch_size) { // 2d
+        case 2 : if (is_fast_approx) _cimg_blur_patch2d_fast(2) else _cimg_blur_patch2d(2) break;
+        case 3 : if (is_fast_approx) _cimg_blur_patch2d_fast(3) else _cimg_blur_patch2d(3) break;
+        case 4 : if (is_fast_approx) _cimg_blur_patch2d_fast(4) else _cimg_blur_patch2d(4) break;
+        case 5 : if (is_fast_approx) _cimg_blur_patch2d_fast(5) else _cimg_blur_patch2d(5) break;
+        case 6 : if (is_fast_approx) _cimg_blur_patch2d_fast(6) else _cimg_blur_patch2d(6) break;
+        case 7 : if (is_fast_approx) _cimg_blur_patch2d_fast(7) else _cimg_blur_patch2d(7) break;
+        case 8 : if (is_fast_approx) _cimg_blur_patch2d_fast(8) else _cimg_blur_patch2d(8) break;
+        case 9 : if (is_fast_approx) _cimg_blur_patch2d_fast(9) else _cimg_blur_patch2d(9) break;
+        default : { // Fast
+          const int psize2 = (int)patch_size/2, psize1 = (int)patch_size - psize2 - 1;
+          if (is_fast_approx)
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (res._width>=32 && res._height>=4) firstprivate(P,Q)
+#endif
+            cimg_forXY(res,x,y) { // 2d fast approximation.
+              P = img.get_crop(x - psize1,y - psize1,x + psize2,y + psize2,true);
+              const int x0 = x - rsize1, y0 = y - rsize1, x1 = x + rsize2, y1 = y + rsize2;
+              float sum_weights = 0;
+              cimg_for_inXY(res,x0,y0,x1,y1,p,q) if (cimg::abs(img(x,y,0)-img(p,q,0))<sigma_p3) {
+                (Q = img.get_crop(p - psize1,q - psize1,p + psize2,q + psize2,true))-=P;
+                const float
+                  dx = (float)x - p, dy = (float)y - q,
+                  distance2 = (float)(Q.pow(2).sum()/Pnorm + (dx*dx + dy*dy)/sigma_s2),
+                  weight = distance2>3?0.0f:1.0f;
+                sum_weights+=weight;
+                cimg_forC(res,c) res(x,y,c)+=weight*(*this)(p,q,c);
+              }
+              if (sum_weights>0) cimg_forC(res,c) res(x,y,c)/=sum_weights;
+              else cimg_forC(res,c) res(x,y,c) = (Tfloat)((*this)(x,y,c));
+            } else
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (res._width>=32 && res._height>=4) firstprivate(P,Q)
+#endif
+            cimg_forXY(res,x,y) { // 2d exact algorithm.
+              P = img.get_crop(x - psize1,y - psize1,x + psize2,y + psize2,true);
+              const int x0 = x - rsize1, y0 = y - rsize1, x1 = x + rsize2, y1 = y + rsize2;
+              float sum_weights = 0, weight_max = 0;
+              cimg_for_inXY(res,x0,y0,x1,y1,p,q) if (p!=x || q!=y) {
+                (Q = img.get_crop(p - psize1,q - psize1,p + psize2,q + psize2,true))-=P;
+                const float
+                  dx = (float)x - p, dy = (float)y - q,
+                  distance2 = (float)(Q.pow(2).sum()/Pnorm + (dx*dx + dy*dy)/sigma_s2),
+                  weight = (float)std::exp(-distance2);
+                if (weight>weight_max) weight_max = weight;
+                sum_weights+=weight;
+                cimg_forC(res,c) res(x,y,c)+=weight*(*this)(p,q,c);
+              }
+              sum_weights+=weight_max; cimg_forC(res,c) res(x,y,c)+=weight_max*(*this)(x,y,c);
+              if (sum_weights>0) cimg_forC(res,c) res(x,y,c)/=sum_weights;
+              else cimg_forC(res,c) res(x,y,0,c) = (Tfloat)((*this)(x,y,c));
+            }
+        }
+        }
+      return res;
+    }
+
+    //! Blur image with the median filter.
+    /**
+       \param n Size of the median filter.
+       \param threshold Threshold used to discard pixels too far from the current pixel value in the median computation.
+    **/
+    CImg<T>& blur_median(const unsigned int n, const float threshold=0) {
+      if (!n) return *this;
+      return get_blur_median(n,threshold).move_to(*this);
+    }
+
+    //! Blur image with the median filter \newinstance.
+    CImg<T> get_blur_median(const unsigned int n, const float threshold=0) const {
+      if (is_empty() || n<=1) return +*this;
+      CImg<T> res(_width,_height,_depth,_spectrum);
+      T *ptrd = res._data;
+      cimg::unused(ptrd);
+      const int hl = (int)n/2, hr = hl - 1 + (int)n%2;
+      if (res._depth!=1) { // 3d
+        if (threshold>0)
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width>=16 && _height*_depth*_spectrum>=4)
+#endif
+          cimg_forXYZC(*this,x,y,z,c) { // With threshold.
+            const int
+              x0 = x - hl, y0 = y - hl, z0 = z - hl, x1 = x + hr, y1 = y + hr, z1 = z + hr,
+              nx0 = x0<0?0:x0, ny0 = y0<0?0:y0, nz0 = z0<0?0:z0,
+              nx1 = x1>=width()?width() - 1:x1, ny1 = y1>=height()?height() - 1:y1, nz1 = z1>=depth()?depth() - 1:z1;
+            const float val0 = (float)(*this)(x,y,z,c);
+            CImg<T> values(n*n*n);
+            unsigned int nb_values = 0;
+            T *ptrd = values.data();
+            cimg_for_inXYZ(*this,nx0,ny0,nz0,nx1,ny1,nz1,p,q,r)
+              if (cimg::abs((float)(*this)(p,q,r,c)-val0)<=threshold) { *(ptrd++) = (*this)(p,q,r,c); ++nb_values; }
+            res(x,y,z,c) = values.get_shared_points(0,nb_values - 1).median();
+          }
+        else
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width>=16 && _height*_depth*_spectrum>=4)
+#endif
+          cimg_forXYZC(*this,x,y,z,c) { // Without threshold.
+            const int
+              x0 = x - hl, y0 = y - hl, z0 = z - hl, x1 = x + hr, y1 = y + hr, z1 = z + hr,
+              nx0 = x0<0?0:x0, ny0 = y0<0?0:y0, nz0 = z0<0?0:z0,
+              nx1 = x1>=width()?width() - 1:x1, ny1 = y1>=height()?height() - 1:y1, nz1 = z1>=depth()?depth() - 1:z1;
+            res(x,y,z,c) = get_crop(nx0,ny0,nz0,c,nx1,ny1,nz1,c).median();
+          }
+      } else {
+#define _cimg_median_sort(a,b) if ((a)>(b)) cimg::swap(a,b)
+        if (res._height!=1) { // 2d
+          if (threshold>0)
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=16 && _height*_spectrum>=4)
+#endif
+            cimg_forXYC(*this,x,y,c) { // With threshold.
+              const int
+                x0 = x - hl, y0 = y - hl, x1 = x + hr, y1 = y + hr,
+                nx0 = x0<0?0:x0, ny0 = y0<0?0:y0,
+                                          nx1 = x1>=width()?width() - 1:x1, ny1 = y1>=height()?height() - 1:y1;
+              const float val0 = (float)(*this)(x,y,c);
+              CImg<T> values(n*n);
+              unsigned int nb_values = 0;
+              T *ptrd = values.data();
+              cimg_for_inXY(*this,nx0,ny0,nx1,ny1,p,q)
+                if (cimg::abs((float)(*this)(p,q,c)-val0)<=threshold) { *(ptrd++) = (*this)(p,q,c); ++nb_values; }
+              res(x,y,c) = values.get_shared_points(0,nb_values - 1).median();
+            }
+          else switch (n) { // Without threshold.
+            case 3 : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_spectrum>=2)
+#endif
+              cimg_forC(*this,c) {
+                T I[9] = { 0 };
+                CImg_3x3(J,T);
+                cimg_for3x3(*this,x,y,0,c,I,T) {
+                  std::memcpy(J,I,9*sizeof(T));
+                  _cimg_median_sort(Jcp, Jnp); _cimg_median_sort(Jcc, Jnc); _cimg_median_sort(Jcn, Jnn);
+                  _cimg_median_sort(Jpp, Jcp); _cimg_median_sort(Jpc, Jcc); _cimg_median_sort(Jpn, Jcn);
+                  _cimg_median_sort(Jcp, Jnp); _cimg_median_sort(Jcc, Jnc); _cimg_median_sort(Jcn, Jnn);
+                  _cimg_median_sort(Jpp, Jpc); _cimg_median_sort(Jnc, Jnn); _cimg_median_sort(Jcc, Jcn);
+                  _cimg_median_sort(Jpc, Jpn); _cimg_median_sort(Jcp, Jcc); _cimg_median_sort(Jnp, Jnc);
+                  _cimg_median_sort(Jcc, Jcn); _cimg_median_sort(Jcc, Jnp); _cimg_median_sort(Jpn, Jcc);
+                  _cimg_median_sort(Jcc, Jnp);
+                  res(x,y,c) = Jcc;
+                }
+              }
+            } break;
+            case 5 : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_spectrum>=2)
+#endif
+              cimg_forC(*this,c) {
+                T I[25] = { 0 };
+                CImg_5x5(J,T);
+                cimg_for5x5(*this,x,y,0,c,I,T) {
+                  std::memcpy(J,I,25*sizeof(T));
+                  _cimg_median_sort(Jbb,Jpb); _cimg_median_sort(Jnb,Jab); _cimg_median_sort(Jcb,Jab);
+                  _cimg_median_sort(Jcb,Jnb); _cimg_median_sort(Jpp,Jcp); _cimg_median_sort(Jbp,Jcp);
+                  _cimg_median_sort(Jbp,Jpp); _cimg_median_sort(Jap,Jbc); _cimg_median_sort(Jnp,Jbc);
+                  _cimg_median_sort(Jnp,Jap); _cimg_median_sort(Jcc,Jnc); _cimg_median_sort(Jpc,Jnc);
+                  _cimg_median_sort(Jpc,Jcc); _cimg_median_sort(Jbn,Jpn); _cimg_median_sort(Jac,Jpn);
+                  _cimg_median_sort(Jac,Jbn); _cimg_median_sort(Jnn,Jan); _cimg_median_sort(Jcn,Jan);
+                  _cimg_median_sort(Jcn,Jnn); _cimg_median_sort(Jpa,Jca); _cimg_median_sort(Jba,Jca);
+                  _cimg_median_sort(Jba,Jpa); _cimg_median_sort(Jna,Jaa); _cimg_median_sort(Jcb,Jbp);
+                  _cimg_median_sort(Jnb,Jpp); _cimg_median_sort(Jbb,Jpp); _cimg_median_sort(Jbb,Jnb);
+                  _cimg_median_sort(Jab,Jcp); _cimg_median_sort(Jpb,Jcp); _cimg_median_sort(Jpb,Jab);
+                  _cimg_median_sort(Jpc,Jac); _cimg_median_sort(Jnp,Jac); _cimg_median_sort(Jnp,Jpc);
+                  _cimg_median_sort(Jcc,Jbn); _cimg_median_sort(Jap,Jbn); _cimg_median_sort(Jap,Jcc);
+                  _cimg_median_sort(Jnc,Jpn); _cimg_median_sort(Jbc,Jpn); _cimg_median_sort(Jbc,Jnc);
+                  _cimg_median_sort(Jba,Jna); _cimg_median_sort(Jcn,Jna); _cimg_median_sort(Jcn,Jba);
+                  _cimg_median_sort(Jpa,Jaa); _cimg_median_sort(Jnn,Jaa); _cimg_median_sort(Jnn,Jpa);
+                  _cimg_median_sort(Jan,Jca); _cimg_median_sort(Jnp,Jcn); _cimg_median_sort(Jap,Jnn);
+                  _cimg_median_sort(Jbb,Jnn); _cimg_median_sort(Jbb,Jap); _cimg_median_sort(Jbc,Jan);
+                  _cimg_median_sort(Jpb,Jan); _cimg_median_sort(Jpb,Jbc); _cimg_median_sort(Jpc,Jba);
+                  _cimg_median_sort(Jcb,Jba); _cimg_median_sort(Jcb,Jpc); _cimg_median_sort(Jcc,Jpa);
+                  _cimg_median_sort(Jnb,Jpa); _cimg_median_sort(Jnb,Jcc); _cimg_median_sort(Jnc,Jca);
+                  _cimg_median_sort(Jab,Jca); _cimg_median_sort(Jab,Jnc); _cimg_median_sort(Jac,Jna);
+                  _cimg_median_sort(Jbp,Jna); _cimg_median_sort(Jbp,Jac); _cimg_median_sort(Jbn,Jaa);
+                  _cimg_median_sort(Jpp,Jaa); _cimg_median_sort(Jpp,Jbn); _cimg_median_sort(Jcp,Jpn);
+                  _cimg_median_sort(Jcp,Jan); _cimg_median_sort(Jnc,Jpa); _cimg_median_sort(Jbn,Jna);
+                  _cimg_median_sort(Jcp,Jnc); _cimg_median_sort(Jcp,Jbn); _cimg_median_sort(Jpb,Jap);
+                  _cimg_median_sort(Jnb,Jpc); _cimg_median_sort(Jbp,Jcn); _cimg_median_sort(Jpc,Jcn);
+                  _cimg_median_sort(Jap,Jcn); _cimg_median_sort(Jab,Jbc); _cimg_median_sort(Jpp,Jcc);
+                  _cimg_median_sort(Jcp,Jac); _cimg_median_sort(Jab,Jpp); _cimg_median_sort(Jab,Jcp);
+                  _cimg_median_sort(Jcc,Jac); _cimg_median_sort(Jbc,Jac); _cimg_median_sort(Jpp,Jcp);
+                  _cimg_median_sort(Jbc,Jcc); _cimg_median_sort(Jpp,Jbc); _cimg_median_sort(Jpp,Jcn);
+                  _cimg_median_sort(Jcc,Jcn); _cimg_median_sort(Jcp,Jcn); _cimg_median_sort(Jcp,Jbc);
+                  _cimg_median_sort(Jcc,Jnn); _cimg_median_sort(Jcp,Jcc); _cimg_median_sort(Jbc,Jnn);
+                  _cimg_median_sort(Jcc,Jba); _cimg_median_sort(Jbc,Jba); _cimg_median_sort(Jbc,Jcc);
+                  res(x,y,c) = Jcc;
+                }
+              }
+            } break;
+            default : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=16 && _height*_spectrum>=4)
+#endif
+              cimg_forXYC(*this,x,y,c) {
+                const int
+                  x0 = x - hl, y0 = y - hl, x1 = x + hr, y1 = y + hr,
+                  nx0 = x0<0?0:x0, ny0 = y0<0?0:y0,
+                  nx1 = x1>=width()?width() - 1:x1, ny1 = y1>=height()?height() - 1:y1;
+                res(x,y,c) = get_crop(nx0,ny0,0,c,nx1,ny1,0,c).median();
+              }
+            }
+            }
+        } else { // 1d
+
+          if (threshold>0)
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width>=16 && _spectrum>=2)
+#endif
+            cimg_forXC(*this,x,c) { // With threshold.
+              const int
+                x0 = x - hl, x1 = x + hr,
+                nx0 = x0<0?0:x0, nx1 = x1>=width()?width() - 1:x1;
+              const float val0 = (float)(*this)(x,c);
+              CImg<T> values(n);
+              unsigned int nb_values = 0;
+              T *ptrd = values.data();
+              cimg_for_inX(*this,nx0,nx1,p)
+                if (cimg::abs((float)(*this)(p,c)-val0)<=threshold) { *(ptrd++) = (*this)(p,c); ++nb_values; }
+              res(x,c) = values.get_shared_points(0,nb_values - 1).median();
+            }
+          else switch (n) { // Without threshold.
+            case 2 : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_spectrum>=2)
+#endif
+              cimg_forC(*this,c) {
+                T I[4] = { 0 };
+                cimg_for2x2(*this,x,y,0,c,I,T) res(x,c) = (T)(0.5f*(I[0] + I[1]));
+              }
+            } break;
+            case 3 : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_spectrum>=2)
+#endif
+              cimg_forC(*this,c) {
+                T I[9] = { 0 };
+                cimg_for3x3(*this,x,y,0,c,I,T)
+                  res(x,c) = I[3]<I[4]?(I[4]<I[5]?I[4]:(I[3]<I[5]?I[5]:I[3])):(I[3]<I[5]?I[3]:(I[4]<I[5]?I[5]:I[4]));
+              }
+            } break;
+            default : {
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width>=16 && _spectrum>=2)
+#endif
+              cimg_forXC(*this,x,c) {
+                const int
+                  x0 = x - hl, x1 = x + hr,
+                  nx0 = x0<0?0:x0, nx1 = x1>=width()?width() - 1:x1;
+                res(x,c) = get_crop(nx0,0,0,c,nx1,0,0,c).median();
+              }
+            }
+            }
+        }
+      }
+      return res;
+    }
+
+    //! Sharpen image.
+    /**
+       \param amplitude Sharpening amplitude
+       \param sharpen_type Select sharpening method. Can be <tt>{ false=inverse diffusion | true=shock filters }</tt>.
+       \param edge Edge threshold (shock filters only).
+       \param alpha Gradient smoothness (shock filters only).
+       \param sigma Tensor smoothness (shock filters only).
+    **/
+    CImg<T>& sharpen(const float amplitude, const bool sharpen_type=false, const float edge=1,
+                     const float alpha=0, const float sigma=0) {
+      if (is_empty()) return *this;
+      T val_min, val_max = max_min(val_min);
+      const float nedge = edge/2;
+      CImg<Tfloat> velocity(_width,_height,_depth,_spectrum), _veloc_max(_spectrum);
+
+      if (_depth>1) { // 3d
+        if (sharpen_type) { // Shock filters.
+          CImg<Tfloat> G = (alpha>0?get_blur(alpha).get_structure_tensors():get_structure_tensors());
+          if (sigma>0) G.blur(sigma);
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width>=32 && _height*_depth>=16)
+#endif
+          cimg_forYZ(G,y,z) {
+            Tfloat *ptrG0 = G.data(0,y,z,0), *ptrG1 = G.data(0,y,z,1),
+              *ptrG2 = G.data(0,y,z,2), *ptrG3 = G.data(0,y,z,3);
+            CImg<Tfloat> val, vec;
+            cimg_forX(G,x) {
+              G.get_tensor_at(x,y,z).symmetric_eigen(val,vec);
+              if (val[0]<0) val[0] = 0;
+              if (val[1]<0) val[1] = 0;
+              if (val[2]<0) val[2] = 0;
+              *(ptrG0++) = vec(0,0);
+              *(ptrG1++) = vec(0,1);
+              *(ptrG2++) = vec(0,2);
+              *(ptrG3++) = 1 - (Tfloat)std::pow(1 + val[0] + val[1] + val[2],-(Tfloat)nedge);
+            }
+          }
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width*_height*_depth>=512 && _spectrum>=2)
+#endif
+          cimg_forC(*this,c) {
+            Tfloat *ptrd = velocity.data(0,0,0,c), veloc_max = 0;
+            CImg_3x3x3(I,Tfloat);
+            cimg_for3x3x3(*this,x,y,z,c,I,Tfloat) {
+              const Tfloat
+                u = G(x,y,z,0),
+                v = G(x,y,z,1),
+                w = G(x,y,z,2),
+                amp = G(x,y,z,3),
+                ixx = Incc + Ipcc - 2*Iccc,
+                ixy = (Innc + Ippc - Inpc - Ipnc)/4,
+                ixz = (Incn + Ipcp - Incp - Ipcn)/4,
+                iyy = Icnc + Icpc - 2*Iccc,
+                iyz = (Icnn + Icpp - Icnp - Icpn)/4,
+                izz = Iccn + Iccp - 2*Iccc,
+                ixf = Incc - Iccc,
+                ixb = Iccc - Ipcc,
+                iyf = Icnc - Iccc,
+                iyb = Iccc - Icpc,
+                izf = Iccn - Iccc,
+                izb = Iccc - Iccp,
+                itt = u*u*ixx + v*v*iyy + w*w*izz + 2*u*v*ixy + 2*u*w*ixz + 2*v*w*iyz,
+                it = u*cimg::minmod(ixf,ixb) + v*cimg::minmod(iyf,iyb) + w*cimg::minmod(izf,izb),
+                veloc = -amp*cimg::sign(itt)*cimg::abs(it);
+              *(ptrd++) = veloc;
+              if (veloc>veloc_max) veloc_max = veloc; else if (-veloc>veloc_max) veloc_max = -veloc;
+            }
+            _veloc_max[c] = veloc_max;
+          }
+        } else  // Inverse diffusion.
+          cimg_forC(*this,c) {
+            Tfloat *ptrd = velocity.data(0,0,0,c), veloc_max = 0;
+            CImg_3x3x3(I,Tfloat);
+            cimg_for3x3x3(*this,x,y,z,c,I,Tfloat) {
+              const Tfloat veloc = -Ipcc - Incc - Icpc - Icnc - Iccp - Iccn + 6*Iccc;
+              *(ptrd++) = veloc;
+              if (veloc>veloc_max) veloc_max = veloc; else if (-veloc>veloc_max) veloc_max = -veloc;
+            }
+            _veloc_max[c] = veloc_max;
+          }
+      } else { // 2d.
+        if (sharpen_type) { // Shock filters.
+          CImg<Tfloat> G = (alpha>0?get_blur(alpha).get_structure_tensors():get_structure_tensors());
+          if (sigma>0) G.blur(sigma);
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width>=32 && _height>=16)
+#endif
+          cimg_forY(G,y) {
+            CImg<Tfloat> val, vec;
+            Tfloat *ptrG0 = G.data(0,y,0,0), *ptrG1 = G.data(0,y,0,1), *ptrG2 = G.data(0,y,0,2);
+            cimg_forX(G,x) {
+              G.get_tensor_at(x,y).symmetric_eigen(val,vec);
+              if (val[0]<0) val[0] = 0;
+              if (val[1]<0) val[1] = 0;
+              *(ptrG0++) = vec(0,0);
+              *(ptrG1++) = vec(0,1);
+              *(ptrG2++) = 1 - (Tfloat)std::pow(1 + val[0] + val[1],-(Tfloat)nedge);
+            }
+          }
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width*_height>=512 && _spectrum>=2)
+#endif
+          cimg_forC(*this,c) {
+            Tfloat *ptrd = velocity.data(0,0,0,c), veloc_max = 0;
+            CImg_3x3(I,Tfloat);
+            cimg_for3x3(*this,x,y,0,c,I,Tfloat) {
+              const Tfloat
+                u = G(x,y,0),
+                v = G(x,y,1),
+                amp = G(x,y,2),
+                ixx = Inc + Ipc - 2*Icc,
+                ixy = (Inn + Ipp - Inp - Ipn)/4,
+                iyy = Icn + Icp - 2*Icc,
+                ixf = Inc - Icc,
+                ixb = Icc - Ipc,
+                iyf = Icn - Icc,
+                iyb = Icc - Icp,
+                itt = u*u*ixx + v*v*iyy + 2*u*v*ixy,
+                it = u*cimg::minmod(ixf,ixb) + v*cimg::minmod(iyf,iyb),
+                veloc = -amp*cimg::sign(itt)*cimg::abs(it);
+              *(ptrd++) = veloc;
+              if (veloc>veloc_max) veloc_max = veloc; else if (-veloc>veloc_max) veloc_max = -veloc;
+            }
+            _veloc_max[c] = veloc_max;
+          }
+        } else // Inverse diffusion.
+          cimg_forC(*this,c) {
+            Tfloat *ptrd = velocity.data(0,0,0,c), veloc_max = 0;
+            CImg_3x3(I,Tfloat);
+            cimg_for3x3(*this,x,y,0,c,I,Tfloat) {
+              const Tfloat veloc = -Ipc - Inc - Icp - Icn + 4*Icc;
+              *(ptrd++) = veloc;
+              if (veloc>veloc_max) veloc_max = veloc; else if (-veloc>veloc_max) veloc_max = -veloc;
+            }
+            _veloc_max[c] = veloc_max;
+          }
+      }
+      const Tfloat veloc_max = _veloc_max.max();
+      if (veloc_max<=0) return *this;
+      return ((velocity*=amplitude/veloc_max)+=*this).cut(val_min,val_max).move_to(*this);
+    }
+
+    //! Sharpen image \newinstance.
+    CImg<T> get_sharpen(const float amplitude, const bool sharpen_type=false, const float edge=1,
+                        const float alpha=0, const float sigma=0) const {
+      return (+*this).sharpen(amplitude,sharpen_type,edge,alpha,sigma);
+    }
+
+    //! Return image gradient.
+    /**
+       \param axes Axes considered for the gradient computation, as a C-string (e.g "xy").
+       \param scheme = Numerical scheme used for the gradient computation:
+       - -1 = Backward finite differences
+       - 0 = Centered finite differences
+       - 1 = Forward finite differences
+       - 2 = Using Sobel masks
+       - 3 = Using rotation invariant masks
+       - 4 = Using Deriche recusrsive filter.
+       - 5 = Using Van Vliet recusrsive filter.
+    **/
+    CImgList<Tfloat> get_gradient(const char *const axes=0, const int scheme=3) const {
+      CImgList<Tfloat> grad(2,_width,_height,_depth,_spectrum);
+      bool is_3d = false;
+      if (axes) {
+        for (unsigned int a = 0; axes[a]; ++a) {
+          const char axis = cimg::uncase(axes[a]);
+          switch (axis) {
+          case 'x' : case 'y' : break;
+          case 'z' : is_3d = true; break;
+          default :
+            throw CImgArgumentException(_cimg_instance
+                                        "get_gradient(): Invalid specified axis '%c'.",
+                                        cimg_instance,
+                                        axis);
+          }
+        }
+      } else is_3d = (_depth>1);
+      if (is_3d) {
+        CImg<Tfloat>(_width,_height,_depth,_spectrum).move_to(grad);
+        switch (scheme) { // 3d.
+        case -1 : { // Backward finite differences.
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width*_height*_depth>=1048576 && _spectrum>=2)
+#endif
+          cimg_forC(*this,c) {
+            const unsigned long off = c*_width*_height*_depth;
+            Tfloat *ptrd0 = grad[0]._data + off, *ptrd1 = grad[1]._data + off, *ptrd2 = grad[2]._data + off;
+            CImg_3x3x3(I,Tfloat);
+            cimg_for3x3x3(*this,x,y,z,c,I,Tfloat) {
+              *(ptrd0++) = Iccc - Ipcc;
+              *(ptrd1++) = Iccc - Icpc;
+              *(ptrd2++) = Iccc - Iccp;
+            }
+          }
+        } break;
+        case 1 : { // Forward finite differences.
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width*_height*_depth>=1048576 && _spectrum>=2)
+#endif
+          cimg_forC(*this,c) {
+            const unsigned long off = c*_width*_height*_depth;
+            Tfloat *ptrd0 = grad[0]._data + off, *ptrd1 = grad[1]._data + off, *ptrd2 = grad[2]._data + off;
+            CImg_2x2x2(I,Tfloat);
+            cimg_for2x2x2(*this,x,y,z,c,I,Tfloat) {
+              *(ptrd0++) = Incc - Iccc;
+              *(ptrd1++) = Icnc - Iccc;
+              *(ptrd2++) = Iccn - Iccc;
+            }
+          }
+        } break;
+        case 4 : { // Deriche filter with low standard variation.
+          grad[0] = get_deriche(0,1,'x');
+          grad[1] = get_deriche(0,1,'y');
+          grad[2] = get_deriche(0,1,'z');
+        } break;
+        case 5 : { // Van Vliet filter with low standard variation.
+          grad[0] = get_vanvliet(0,1,'x');
+          grad[1] = get_vanvliet(0,1,'y');
+          grad[2] = get_vanvliet(0,1,'z');
+        } break;
+        default : { // Central finite differences.
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width*_height*_depth>=1048576 && _spectrum>=2)
+#endif
+          cimg_forC(*this,c) {
+            const unsigned long off = c*_width*_height*_depth;
+            Tfloat *ptrd0 = grad[0]._data + off, *ptrd1 = grad[1]._data + off, *ptrd2 = grad[2]._data + off;
+            CImg_3x3x3(I,Tfloat);
+            cimg_for3x3x3(*this,x,y,z,c,I,Tfloat) {
+              *(ptrd0++) = (Incc - Ipcc)/2;
+              *(ptrd1++) = (Icnc - Icpc)/2;
+              *(ptrd2++) = (Iccn - Iccp)/2;
+            }
+          }
+        }
+        }
+      } else switch (scheme) { // 2d.
+      case -1 : { // Backward finite differences.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width*_height>=1048576 && _depth*_spectrum>=2)
+#endif
+        cimg_forZC(*this,z,c) {
+          const unsigned long off = c*_width*_height*_depth + z*_width*_height;
+          Tfloat *ptrd0 = grad[0]._data + off, *ptrd1 = grad[1]._data + off;
+          CImg_3x3(I,Tfloat);
+          cimg_for3x3(*this,x,y,z,c,I,Tfloat) {
+            *(ptrd0++) = Icc - Ipc;
+            *(ptrd1++) = Icc - Icp;
+          }
+        }
+      } break;
+      case 1 : { // Forward finite differences.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width*_height>=1048576 && _depth*_spectrum>=2)
+#endif
+        cimg_forZC(*this,z,c) {
+          const unsigned long off = c*_width*_height*_depth + z*_width*_height;
+          Tfloat *ptrd0 = grad[0]._data + off, *ptrd1 = grad[1]._data + off;
+          CImg_2x2(I,Tfloat);
+          cimg_for2x2(*this,x,y,z,c,I,Tfloat) {
+            *(ptrd0++) = Inc - Icc;
+            *(ptrd1++) = Icn - Icc;
+          }
+        }
+      } break;
+      case 2 : { // Sobel scheme.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width*_height>=1048576 && _depth*_spectrum>=2)
+#endif
+        cimg_forZC(*this,z,c) {
+          const unsigned long off = c*_width*_height*_depth + z*_width*_height;
+          Tfloat *ptrd0 = grad[0]._data + off, *ptrd1 = grad[1]._data + off;
+          CImg_3x3(I,Tfloat);
+          cimg_for3x3(*this,x,y,z,c,I,Tfloat) {
+            *(ptrd0++) = -Ipp - 2*Ipc - Ipn + Inp + 2*Inc + Inn;
+            *(ptrd1++) = -Ipp - 2*Icp - Inp + Ipn + 2*Icn + Inn;
+          }
+        }
+      } break;
+      case 3 : { // Rotation invariant mask.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width*_height>=1048576 && _depth*_spectrum>=2)
+#endif
+        cimg_forZC(*this,z,c) {
+          const unsigned long off = c*_width*_height*_depth + z*_width*_height;
+          Tfloat *ptrd0 = grad[0]._data + off, *ptrd1 = grad[1]._data + off;
+          CImg_3x3(I,Tfloat);
+          const Tfloat a = (Tfloat)(0.25f*(2-std::sqrt(2.0f))), b = (Tfloat)(0.5f*(std::sqrt(2.0f) - 1));
+          cimg_for3x3(*this,x,y,z,c,I,Tfloat) {
+            *(ptrd0++) = -a*Ipp - b*Ipc - a*Ipn + a*Inp + b*Inc + a*Inn;
+            *(ptrd1++) = -a*Ipp - b*Icp - a*Inp + a*Ipn + b*Icn + a*Inn;
+          }
+        }
+      } break;
+      case 4 : { // Van Vliet filter with low standard variation
+        grad[0] = get_deriche(0,1,'x');
+        grad[1] = get_deriche(0,1,'y');
+      } break;
+      case 5 : { // Deriche filter with low standard variation
+        grad[0] = get_vanvliet(0,1,'x');
+        grad[1] = get_vanvliet(0,1,'y');
+      } break;
+      default : { // Central finite differences
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width*_height>=1048576 && _depth*_spectrum>=2)
+#endif
+        cimg_forZC(*this,z,c) {
+          const unsigned long off = c*_width*_height*_depth + z*_width*_height;
+          Tfloat *ptrd0 = grad[0]._data + off, *ptrd1 = grad[1]._data + off;
+          CImg_3x3(I,Tfloat);
+          cimg_for3x3(*this,x,y,z,c,I,Tfloat) {
+            *(ptrd0++) = (Inc - Ipc)/2;
+            *(ptrd1++) = (Icn - Icp)/2;
+          }
+        }
+      }
+      }
+      if (!axes) return grad;
+      CImgList<Tfloat> res;
+      for (unsigned int l = 0; axes[l]; ++l) {
+        const char axis = cimg::uncase(axes[l]);
+        switch (axis) {
+        case 'x' : res.insert(grad[0]); break;
+        case 'y' : res.insert(grad[1]); break;
+        case 'z' : res.insert(grad[2]); break;
+        }
+      }
+      grad.assign();
+      return res;
+    }
+
+    //! Return image hessian.
+    /**
+       \param axes Axes considered for the hessian computation, as a C-string (e.g "xy").
+    **/
+    CImgList<Tfloat> get_hessian(const char *const axes=0) const {
+      CImgList<Tfloat> res;
+      const char *naxes = axes, *const def_axes2d = "xxxyyy", *const def_axes3d = "xxxyxzyyyzzz";
+      if (!axes) naxes = _depth>1?def_axes3d:def_axes2d;
+      const unsigned int lmax = (unsigned int)std::strlen(naxes);
+      if (lmax%2)
+        throw CImgArgumentException(_cimg_instance
+                                    "get_hessian(): Invalid specified axes '%s'.",
+                                    cimg_instance,
+                                    naxes);
+
+      res.assign(lmax/2,_width,_height,_depth,_spectrum);
+      if (!cimg::strcasecmp(naxes,def_axes3d)) { // 3d
+
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width*_height*_depth>=1048576 && _spectrum>=2)
+#endif
+        cimg_forC(*this,c) {
+          const unsigned long off = c*_width*_height*_depth;
+          Tfloat
+            *ptrd0 = res[0]._data + off, *ptrd1 = res[1]._data + off, *ptrd2 = res[2]._data + off,
+            *ptrd3 = res[3]._data + off, *ptrd4 = res[4]._data + off, *ptrd5 = res[5]._data + off;
+          CImg_3x3x3(I,Tfloat);
+          cimg_for3x3x3(*this,x,y,z,c,I,Tfloat) {
+            *(ptrd0++) = Ipcc + Incc - 2*Iccc;          // Ixx
+            *(ptrd1++) = (Ippc + Innc - Ipnc - Inpc)/4; // Ixy
+            *(ptrd2++) = (Ipcp + Incn - Ipcn - Incp)/4; // Ixz
+            *(ptrd3++) = Icpc + Icnc - 2*Iccc;          // Iyy
+            *(ptrd4++) = (Icpp + Icnn - Icpn - Icnp)/4; // Iyz
+            *(ptrd5++) = Iccn + Iccp - 2*Iccc;          // Izz
+          }
+        }
+      } else if (!cimg::strcasecmp(naxes,def_axes2d)) { // 2d
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width*_height>=1048576 && _depth*_spectrum>=2)
+#endif
+        cimg_forZC(*this,z,c) {
+          const unsigned long off = c*_width*_height*_depth + z*_width*_height;
+          Tfloat *ptrd0 = res[0]._data + off, *ptrd1 = res[1]._data + off, *ptrd2 = res[2]._data + off;
+          CImg_3x3(I,Tfloat);
+          cimg_for3x3(*this,x,y,z,c,I,Tfloat) {
+            *(ptrd0++) = Ipc + Inc - 2*Icc;         // Ixx
+            *(ptrd1++) = (Ipp + Inn - Ipn - Inp)/4; // Ixy
+            *(ptrd2++) = Icp + Icn - 2*Icc;         // Iyy
+          }
+        }
+      } else for (unsigned int l = 0; l<lmax; ) { // Version with custom axes.
+          const unsigned int l2 = l/2;
+          char axis1 = naxes[l++], axis2 = naxes[l++];
+          if (axis1>axis2) cimg::swap(axis1,axis2);
+          bool valid_axis = false;
+          if (axis1=='x' && axis2=='x') { // Ixx
+            valid_axis = true;
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width*_height>=1048576 && _depth*_spectrum>=2)
+#endif
+            cimg_forZC(*this,z,c) {
+              Tfloat *ptrd = res[l2].data(0,0,z,c);
+              CImg_3x3(I,Tfloat);
+              cimg_for3x3(*this,x,y,z,c,I,Tfloat) *(ptrd++) = Ipc + Inc - 2*Icc;
+            }
+          }
+          else if (axis1=='x' && axis2=='y') { // Ixy
+            valid_axis = true;
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width*_height>=1048576 && _depth*_spectrum>=2)
+#endif
+            cimg_forZC(*this,z,c) {
+              Tfloat *ptrd = res[l2].data(0,0,z,c);
+              CImg_3x3(I,Tfloat);
+              cimg_for3x3(*this,x,y,z,c,I,Tfloat) *(ptrd++) = (Ipp + Inn - Ipn - Inp)/4;
+            }
+          }
+          else if (axis1=='x' && axis2=='z') { // Ixz
+            valid_axis = true;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width*_height*_depth>=1048576 && _spectrum>=2)
+#endif
+            cimg_forC(*this,c) {
+              Tfloat *ptrd = res[l2].data(0,0,0,c);
+              CImg_3x3x3(I,Tfloat);
+              cimg_for3x3x3(*this,x,y,z,c,I,Tfloat) *(ptrd++) = (Ipcp + Incn - Ipcn - Incp)/4;
+            }
+          }
+          else if (axis1=='y' && axis2=='y') { // Iyy
+            valid_axis = true;
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_width*_height>=1048576 && _depth*_spectrum>=2)
+#endif
+            cimg_forZC(*this,z,c) {
+              Tfloat *ptrd = res[l2].data(0,0,z,c);
+              CImg_3x3(I,Tfloat);
+              cimg_for3x3(*this,x,y,z,c,I,Tfloat) *(ptrd++) = Icp + Icn - 2*Icc;
+            }
+          }
+          else if (axis1=='y' && axis2=='z') { // Iyz
+            valid_axis = true;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width*_height*_depth>=1048576 && _spectrum>=2)
+#endif
+            cimg_forC(*this,c) {
+              Tfloat *ptrd = res[l2].data(0,0,0,c);
+              CImg_3x3x3(I,Tfloat);
+              cimg_forC(*this,c) cimg_for3x3x3(*this,x,y,z,c,I,Tfloat) *(ptrd++) = (Icpp + Icnn - Icpn - Icnp)/4;
+            }
+          }
+          else if (axis1=='z' && axis2=='z') { // Izz
+            valid_axis = true;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width*_height*_depth>=1048576 && _spectrum>=2)
+#endif
+            cimg_forC(*this,c) {
+              Tfloat *ptrd = res[l2].data(0,0,0,c);
+              CImg_3x3x3(I,Tfloat);
+              cimg_for3x3x3(*this,x,y,z,c,I,Tfloat) *(ptrd++) = Iccn + Iccp - 2*Iccc;
+            }
+          }
+          else if (!valid_axis)
+            throw CImgArgumentException(_cimg_instance
+                                        "get_hessian(): Invalid specified axes '%s'.",
+                                        cimg_instance,
+                                        naxes);
+        }
+      return res;
+    }
+
+    //! Compute image laplacian.
+    CImg<T>& laplacian() {
+      return get_laplacian().move_to(*this);
+    }
+
+    //! Compute image laplacian \newinstance.
+    CImg<Tfloat> get_laplacian() const {
+      if (is_empty()) return CImg<Tfloat>();
+      CImg<Tfloat> res(_width,_height,_depth,_spectrum);
+      if (_depth>1) { // 3d
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width*_height*_depth>=1048576 && _spectrum>=2)
+#endif
+        cimg_forC(*this,c) {
+          Tfloat *ptrd = res.data(0,0,0,c);
+          CImg_3x3x3(I,Tfloat);
+          cimg_for3x3x3(*this,x,y,z,c,I,Tfloat) *(ptrd++) = Incc + Ipcc + Icnc + Icpc + Iccn + Iccp - 6*Iccc;
+        }
+      } else if (_height>1) { // 2d
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width*_height>=1048576 && _depth*_spectrum>=2)
+#endif
+        cimg_forC(*this,c) {
+          Tfloat *ptrd = res.data(0,0,0,c);
+          CImg_3x3(I,Tfloat);
+          cimg_for3x3(*this,x,y,0,c,I,Tfloat) *(ptrd++) = Inc + Ipc + Icn + Icp - 4*Icc;
+        }
+      } else { // 1d
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width>=1048576 && _height*_depth*_spectrum>=2)
+#endif
+        cimg_forC(*this,c) {
+          Tfloat *ptrd = res.data(0,0,0,c);
+          CImg_3x3(I,Tfloat);
+          cimg_for3x3(*this,x,y,0,c,I,Tfloat) *(ptrd++) = Inc + Ipc - 2*Icc;
+        }
+      }
+      return res;
+    }
+
+    //! Compute the structure tensor field of an image.
+    /**
+       \param scheme Numerical scheme. Can be <tt>{ 0=central | 1=fwd/bwd1 | 2=fwd/bwd2 }</tt>
+    **/
+    CImg<T>& structure_tensors(const unsigned int scheme=2) {
+      return get_structure_tensors(scheme).move_to(*this);
+    }
+
+    //! Compute the structure tensor field of an image \newinstance.
+    CImg<Tfloat> get_structure_tensors(const unsigned int scheme=2) const {
+      if (is_empty()) return *this;
+      CImg<Tfloat> res;
+      if (_depth>1) { // 3d
+        res.assign(_width,_height,_depth,6,0);
+        switch (scheme) {
+        case 0 : { // classical central finite differences
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width*_height*_depth>=1048576 && _spectrum>=2)
+#endif
+          cimg_forC(*this,c) {
+            Tfloat
+              *ptrd0 = res.data(0,0,0,0), *ptrd1 = res.data(0,0,0,1), *ptrd2 = res.data(0,0,0,2),
+              *ptrd3 = res.data(0,0,0,3), *ptrd4 = res.data(0,0,0,4), *ptrd5 = res.data(0,0,0,5);
+            CImg_3x3x3(I,Tfloat);
+            cimg_for3x3x3(*this,x,y,z,c,I,Tfloat) {
+              const Tfloat
+                ix = (Incc - Ipcc)/2,
+                iy = (Icnc - Icpc)/2,
+                iz = (Iccn - Iccp)/2;
+              *(ptrd0++)+=ix*ix;
+              *(ptrd1++)+=ix*iy;
+              *(ptrd2++)+=ix*iz;
+              *(ptrd3++)+=iy*iy;
+              *(ptrd4++)+=iy*iz;
+              *(ptrd5++)+=iz*iz;
+            }
+          }
+        } break;
+        case 1 : { // Forward/backward finite differences (version 1).
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width*_height*_depth>=1048576 && _spectrum>=2)
+#endif
+          cimg_forC(*this,c) {
+            Tfloat
+              *ptrd0 = res.data(0,0,0,0), *ptrd1 = res.data(0,0,0,1), *ptrd2 = res.data(0,0,0,2),
+              *ptrd3 = res.data(0,0,0,3), *ptrd4 = res.data(0,0,0,4), *ptrd5 = res.data(0,0,0,5);
+            CImg_3x3x3(I,Tfloat);
+            cimg_for3x3x3(*this,x,y,z,c,I,Tfloat) {
+              const Tfloat
+                ixf = Incc - Iccc, ixb = Iccc - Ipcc,
+                iyf = Icnc - Iccc, iyb = Iccc - Icpc,
+                izf = Iccn - Iccc, izb = Iccc - Iccp;
+              *(ptrd0++)+=(ixf*ixf + 2*ixf*ixb + ixb*ixb)/4;
+              *(ptrd1++)+=(ixf*iyf + ixf*iyb + ixb*iyf + ixb*iyb)/4;
+              *(ptrd2++)+=(ixf*izf + ixf*izb + ixb*izf + ixb*izb)/4;
+              *(ptrd3++)+=(iyf*iyf + 2*iyf*iyb + iyb*iyb)/4;
+              *(ptrd4++)+=(iyf*izf + iyf*izb + iyb*izf + iyb*izb)/4;
+              *(ptrd5++)+=(izf*izf + 2*izf*izb + izb*izb)/4;
+            }
+          }
+        } break;
+        default : { // Forward/backward finite differences (version 2).
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width*_height*_depth>=1048576 && _spectrum>=2)
+#endif
+          cimg_forC(*this,c) {
+            Tfloat
+              *ptrd0 = res.data(0,0,0,0), *ptrd1 = res.data(0,0,0,1), *ptrd2 = res.data(0,0,0,2),
+              *ptrd3 = res.data(0,0,0,3), *ptrd4 = res.data(0,0,0,4), *ptrd5 = res.data(0,0,0,5);
+            CImg_3x3x3(I,Tfloat);
+            cimg_for3x3x3(*this,x,y,z,c,I,Tfloat) {
+              const Tfloat
+                ixf = Incc - Iccc, ixb = Iccc - Ipcc,
+                iyf = Icnc - Iccc, iyb = Iccc - Icpc,
+                izf = Iccn - Iccc, izb = Iccc - Iccp;
+              *(ptrd0++)+=(ixf*ixf + ixb*ixb)/2;
+              *(ptrd1++)+=(ixf*iyf + ixf*iyb + ixb*iyf + ixb*iyb)/4;
+              *(ptrd2++)+=(ixf*izf + ixf*izb + ixb*izf + ixb*izb)/4;
+              *(ptrd3++)+=(iyf*iyf + iyb*iyb)/2;
+              *(ptrd4++)+=(iyf*izf + iyf*izb + iyb*izf + iyb*izb)/4;
+              *(ptrd5++)+=(izf*izf + izb*izb)/2;
+            }
+          }
+        } break;
+        }
+      } else { // 2d
+        res.assign(_width,_height,_depth,3,0);
+        switch (scheme) {
+        case 0 : { // classical central finite differences
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width*_height>=1048576 && _depth*_spectrum>=2)
+#endif
+          cimg_forC(*this,c) {
+            Tfloat *ptrd0 = res.data(0,0,0,0), *ptrd1 = res.data(0,0,0,1), *ptrd2 = res.data(0,0,0,2);
+            CImg_3x3(I,Tfloat);
+            cimg_for3x3(*this,x,y,0,c,I,Tfloat) {
+              const Tfloat
+                ix = (Inc - Ipc)/2,
+                iy = (Icn - Icp)/2;
+              *(ptrd0++)+=ix*ix;
+              *(ptrd1++)+=ix*iy;
+              *(ptrd2++)+=iy*iy;
+            }
+          }
+        } break;
+        case 1 : { // Forward/backward finite differences (version 1).
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width*_height>=1048576 && _depth*_spectrum>=2)
+#endif
+          cimg_forC(*this,c) {
+            Tfloat *ptrd0 = res.data(0,0,0,0), *ptrd1 = res.data(0,0,0,1), *ptrd2 = res.data(0,0,0,2);
+            CImg_3x3(I,Tfloat);
+            cimg_for3x3(*this,x,y,0,c,I,Tfloat) {
+              const Tfloat
+                ixf = Inc - Icc, ixb = Icc - Ipc,
+                iyf = Icn - Icc, iyb = Icc - Icp;
+              *(ptrd0++)+=(ixf*ixf + 2*ixf*ixb + ixb*ixb)/4;
+              *(ptrd1++)+=(ixf*iyf + ixf*iyb + ixb*iyf + ixb*iyb)/4;
+              *(ptrd2++)+=(iyf*iyf + 2*iyf*iyb + iyb*iyb)/4;
+            }
+          }
+        } break;
+        default : { // Forward/backward finite differences (version 2).
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_width*_height>=1048576 && _depth*_spectrum>=2)
+#endif
+          cimg_forC(*this,c) {
+            Tfloat *ptrd0 = res.data(0,0,0,0), *ptrd1 = res.data(0,0,0,1), *ptrd2 = res.data(0,0,0,2);
+            CImg_3x3(I,Tfloat);
+            cimg_for3x3(*this,x,y,0,c,I,Tfloat) {
+              const Tfloat
+                ixf = Inc - Icc, ixb = Icc - Ipc,
+                iyf = Icn - Icc, iyb = Icc - Icp;
+              *(ptrd0++)+=(ixf*ixf + ixb*ixb)/2;
+              *(ptrd1++)+=(ixf*iyf + ixf*iyb + ixb*iyf + ixb*iyb)/4;
+              *(ptrd2++)+=(iyf*iyf + iyb*iyb)/2;
+            }
+          }
+        } break;
+        }
+      }
+      return res;
+    }
+
+    //! Compute field of diffusion tensors for edge-preserving smoothing.
+    /**
+       \param sharpness Sharpness
+       \param anisotropy Anisotropy
+       \param alpha Standard deviation of the gradient blur.
+       \param sigma Standard deviation of the structure tensor blur.
+       \param is_sqrt Tells if the square root of the tensor field is computed instead.
+    **/
+    CImg<T>& diffusion_tensors(const float sharpness=0.7f, const float anisotropy=0.6f,
+                               const float alpha=0.6f, const float sigma=1.1f, const bool is_sqrt=false) {
+      CImg<Tfloat> res;
+      const float
+        nsharpness = cimg::max(sharpness,1e-5f),
+        power1 = (is_sqrt?0.5f:1)*nsharpness,
+        power2 = power1/(1e-7f + 1 - anisotropy);
+      blur(alpha).normalize(0,(T)255);
+
+      if (_depth>1) { // 3d
+        get_structure_tensors().move_to(res).blur(sigma);
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if(_width>=256 && _height*_depth>=256)
+#endif
+        cimg_forYZ(*this,y,z) {
+          Tfloat
+            *ptrd0 = res.data(0,y,z,0), *ptrd1 = res.data(0,y,z,1), *ptrd2 = res.data(0,y,z,2),
+            *ptrd3 = res.data(0,y,z,3), *ptrd4 = res.data(0,y,z,4), *ptrd5 = res.data(0,y,z,5);
+          CImg<floatT> val(3), vec(3,3);
+          cimg_forX(*this,x) {
+            res.get_tensor_at(x,y,z).symmetric_eigen(val,vec);
+            const float
+              _l1 = val[2], _l2 = val[1], _l3 = val[0],
+              l1 = _l1>0?_l1:0, l2 = _l2>0?_l2:0, l3 = _l3>0?_l3:0,
+              ux = vec(0,0), uy = vec(0,1), uz = vec(0,2),
+              vx = vec(1,0), vy = vec(1,1), vz = vec(1,2),
+              wx = vec(2,0), wy = vec(2,1), wz = vec(2,2),
+              n1 = (float)std::pow(1 + l1 + l2 + l3,-power1),
+              n2 = (float)std::pow(1 + l1 + l2 + l3,-power2);
+            *(ptrd0++) = n1*(ux*ux + vx*vx) + n2*wx*wx;
+            *(ptrd1++) = n1*(ux*uy + vx*vy) + n2*wx*wy;
+            *(ptrd2++) = n1*(ux*uz + vx*vz) + n2*wx*wz;
+            *(ptrd3++) = n1*(uy*uy + vy*vy) + n2*wy*wy;
+            *(ptrd4++) = n1*(uy*uz + vy*vz) + n2*wy*wz;
+            *(ptrd5++) = n1*(uz*uz + vz*vz) + n2*wz*wz;
+          }
+        }
+      } else { // for 2d images
+        get_structure_tensors().move_to(res).blur(sigma);
+#ifdef cimg_use_openmp
+#pragma omp parallel for if(_width>=256 && _height>=256)
+#endif
+        cimg_forY(*this,y) {
+          Tfloat *ptrd0 = res.data(0,y,0,0), *ptrd1 = res.data(0,y,0,1), *ptrd2 = res.data(0,y,0,2);
+          CImg<floatT> val(2), vec(2,2);
+          cimg_forX(*this,x) {
+            res.get_tensor_at(x,y).symmetric_eigen(val,vec);
+            const float
+              _l1 = val[1], _l2 = val[0],
+              l1 = _l1>0?_l1:0, l2 = _l2>0?_l2:0,
+              ux = vec(1,0), uy = vec(1,1),
+              vx = vec(0,0), vy = vec(0,1),
+              n1 = (float)std::pow(1 + l1 + l2,-power1),
+              n2 = (float)std::pow(1 + l1 + l2,-power2);
+            *(ptrd0++) = n1*ux*ux + n2*vx*vx;
+            *(ptrd1++) = n1*ux*uy + n2*vx*vy;
+            *(ptrd2++) = n1*uy*uy + n2*vy*vy;
+          }
+        }
+      }
+      return res.move_to(*this);
+    }
+
+    //! Compute field of diffusion tensors for edge-preserving smoothing \newinstance.
+    CImg<Tfloat> get_diffusion_tensors(const float sharpness=0.7f, const float anisotropy=0.6f,
+                                       const float alpha=0.6f, const float sigma=1.1f, const bool is_sqrt=false) const {
+      return CImg<Tfloat>(*this,false).diffusion_tensors(sharpness,anisotropy,alpha,sigma,is_sqrt);
+    }
+
+    //! Estimate displacement field between two images.
+    /**
+       \param source Reference image.
+       \param smoothness Smoothness of estimated displacement field.
+       \param precision Precision required for algorithm convergence.
+       \param nb_scales Number of scales used to estimate the displacement field.
+       \param iteration_max Maximum number of iterations allowed for one scale.
+       \param is_backward If false, match I2(X + U(X)) = I1(X), else match I2(X) = I1(X - U(X)).
+       \param constraints A list of constrained pixels (as a Nx4 or Nx6 image), i.e defining N points
+         of the estimated flow having a known value.
+    **/
+    CImg<T>& displacement(const CImg<T>& source, const float smoothness=0.1f, const float precision=5.0f,
+                          const unsigned int nb_scales=0, const unsigned int iteration_max=10000,
+                          const bool is_backward=false,
+                          const CImg<floatT>& constraints=CImg<floatT>::empty()) {
+      return get_displacement(source,smoothness,precision,nb_scales,iteration_max,is_backward,constraints).
+        move_to(*this);
+    }
+
+    //! Estimate displacement field between two images \newinstance.
+    CImg<floatT> get_displacement(const CImg<T>& source,
+                                  const float smoothness=0.1f, const float precision=5.0f,
+                                  const unsigned int nb_scales=0, const unsigned int iteration_max=10000,
+                                  const bool is_backward=false,
+                                  const CImg<floatT>& constraints=CImg<floatT>::empty()) const {
+      if (is_empty() || !source) return +*this;
+      if (!is_sameXYZC(source))
+        throw CImgArgumentException(_cimg_instance
+                                    "displacement(): Instance and source image (%u,%u,%u,%u,%p) have "
+                                    "different dimensions.",
+                                    cimg_instance,
+                                    source._width,source._height,source._depth,source._spectrum,source._data);
+      if (precision<0)
+        throw CImgArgumentException(_cimg_instance
+                                    "displacement(): Invalid specified precision %g "
+                                    "(should be >=0)",
+                                    cimg_instance,
+                                    precision);
+      const bool is_3d = source._depth>1;
+      const unsigned int
+        mins = is_3d?cimg::min(_width,_height,_depth):cimg::min(_width,_height),
+        _nb_scales = nb_scales>0?nb_scales:
+        (unsigned int)cimg::round(std::log(mins/8.0)/std::log(1.5),1,1);
+
+      const float _precision = (float)std::pow(10.0,-(double)precision);
+      float sm, sM = source.max_min(sm), tm, tM = max_min(tm);
+      const float sdelta = sm==sM?1:(sM - sm), tdelta = tm==tM?1:(tM - tm);
+
+      if (constraints && (constraints.height()!=4 || is_3d) && (constraints.height()!=6 || !is_3d))
+        throw CImgArgumentException(_cimg_instance
+                                    "displacement(): Invalid specified constraints image (%u,%u,%u,%u,%p) "
+                                    " (should be a Nx4 or Nx6 image).",
+                                    cimg_instance,
+                                    constraints._width,constraints._height,constraints._depth,constraints._spectrum,
+                                    constraints._data);
+      CImg<floatT> U;
+      floatT bound = 0;
+      for (int scale = (int)_nb_scales - 1; scale>=0; --scale) {
+        const float factor = (float)std::pow(1.5,(double)scale);
+        const unsigned int
+          _sw = (unsigned int)(_width/factor), sw = _sw?_sw:1,
+          _sh = (unsigned int)(_height/factor), sh = _sh?_sh:1,
+          _sd = (unsigned int)(_depth/factor), sd = _sd?_sd:1;
+        if (sw<5 && sh<5 && (!is_3d || sd<5)) continue;  // skip too small scales.
+        const CImg<Tfloat>
+          I1 = (source.get_resize(sw,sh,sd,-100,2)-=sm)/=sdelta,
+          I2 = (get_resize(I1,2)-=tm)/=tdelta;
+        if (U) (U*=1.5f).resize(I2._width,I2._height,I2._depth,-100,3);
+        else U.assign(I2._width,I2._height,I2._depth,is_3d?3:2,0);
+        if (constraints) {
+          if (is_3d) cimg_forX(constraints,k) {
+              const int
+                cx = (int)(constraints(k,0)*U.width()/width()),
+                cy = (int)(constraints(k,1)*U.height()/height()),
+                cz = (int)(constraints(k,2)*U.depth()/depth());
+              if (U.contains(U(cx,cy,cz))) {
+                U(cx,cy,cz,0) = (float)(constraints(k,3)/factor);
+                U(cx,cy,cz,1) = (float)(constraints(k,4)/factor);
+                U(cx,cy,cz,2) = (float)(constraints(k,5)/factor);
+              }
+            }
+          else cimg_forX(constraints,k) {
+              const int
+                cx = (int)(constraints(k,0)*U.width()/width()),
+                cy = (int)(constraints(k,1)*U.height()/height());
+              if (U.contains(U(cx,cy))) {
+                U(cx,cy,0) = (float)(constraints(k,2)/factor);
+                U(cx,cy,1) = (float)(constraints(k,3)/factor);
+              }
+            }
+        }
+
+        float dt = 2, energy = cimg::type<float>::max();
+        const CImgList<Tfloat> dI = is_backward?I1.get_gradient():I2.get_gradient();
+
+        for (unsigned int iteration = 0; iteration<iteration_max; ++iteration) {
+          cimg_test_abort();
+          float _energy = 0;
+          if (is_3d) { // 3d version.
+            if (smoothness>=0) // Isotropic regularization.
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_height*_depth>=8 && _width>=16) reduction(+:_energy)
+#endif
+              cimg_forYZ(U,y,z) {
+                const int
+                  _p1y = y?y - 1:0, _n1y = y<U.height() - 1?y + 1:y,
+                  _p1z = z?z - 1:0, _n1z = z<U.depth() - 1?z + 1:z;
+                cimg_for3X(U,x) {
+                  const float
+                    X = is_backward?x - U(x,y,z,0):x + U(x,y,z,0),
+                    Y = is_backward?y - U(x,y,z,1):y + U(x,y,z,1),
+                    Z = is_backward?z - U(x,y,z,2):z + U(x,y,z,2);
+                  float delta_I = 0, _energy_regul = 0;
+                  if (is_backward) cimg_forC(I2,c) delta_I+=(float)(I1.linear_atXYZ(X,Y,Z,c) - I2(x,y,z,c));
+                  else cimg_forC(I2,c) delta_I+=(float)(I1(x,y,z,c) - I2.linear_atXYZ(X,Y,Z,c));
+                  cimg_forC(U,c) {
+                    const float
+                      Ux = 0.5f*(U(_n1x,y,z,c) - U(_p1x,y,z,c)),
+                      Uy = 0.5f*(U(x,_n1y,z,c) - U(x,_p1y,z,c)),
+                      Uz = 0.5f*(U(x,y,_n1z,c) - U(x,y,_p1z,c)),
+                      Uxx = U(_n1x,y,z,c) + U(_p1x,y,z,c),
+                      Uyy = U(x,_n1y,z,c) + U(x,_p1y,z,c),
+                      Uzz = U(x,y,_n1z,c) + U(x,y,_p1z,c);
+                    U(x,y,z,c) = (float)(U(x,y,z,c) + dt*(delta_I*dI[c].linear_atXYZ(X,Y,Z) +
+                                                          smoothness* ( Uxx + Uyy + Uzz)))/(1 + 6*smoothness*dt);
+                    _energy_regul+=Ux*Ux + Uy*Uy + Uz*Uz;
+                  }
+                  if (is_backward) { // Constraint displacement vectors to stay in image.
+                    if (U(x,y,z,0)>x) U(x,y,z,0) = (float)x;
+                    if (U(x,y,z,1)>y) U(x,y,z,1) = (float)y;
+                    if (U(x,y,z,2)>z) U(x,y,z,2) = (float)z;
+                    bound = (float)x - _width; if (U(x,y,z,0)<=bound) U(x,y,z,0) = bound;
+                    bound = (float)y - _height; if (U(x,y,z,1)<=bound) U(x,y,z,1) = bound;
+                    bound = (float)z - _depth; if (U(x,y,z,2)<=bound) U(x,y,z,2) = bound;
+                  } else {
+                    if (U(x,y,z,0)<-x) U(x,y,z,0) = -(float)x;
+                    if (U(x,y,z,1)<-y) U(x,y,z,1) = -(float)y;
+                    if (U(x,y,z,2)<-z) U(x,y,z,2) = -(float)z;
+                    bound = (float)_width - x; if (U(x,y,z,0)>=bound) U(x,y,z,0) = bound;
+                    bound = (float)_height - y; if (U(x,y,z,1)>=bound) U(x,y,z,1) = bound;
+                    bound = (float)_depth - z; if (U(x,y,z,2)>=bound) U(x,y,z,2) = bound;
+                  }
+                  _energy+=delta_I*delta_I + smoothness*_energy_regul;
+                }
+              } else { // Anisotropic regularization.
+              const float nsmoothness = -smoothness;
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if (_height*_depth>=8 && _width>=16) reduction(+:_energy)
+#endif
+              cimg_forYZ(U,y,z) {
+                const int
+                  _p1y = y?y - 1:0, _n1y = y<U.height() - 1?y + 1:y,
+                  _p1z = z?z - 1:0, _n1z = z<U.depth() - 1?z + 1:z;
+                cimg_for3X(U,x) {
+                  const float
+                    X = is_backward?x - U(x,y,z,0):x + U(x,y,z,0),
+                    Y = is_backward?y - U(x,y,z,1):y + U(x,y,z,1),
+                    Z = is_backward?z - U(x,y,z,2):z + U(x,y,z,2);
+                  float delta_I = 0, _energy_regul = 0;
+                  if (is_backward) cimg_forC(I2,c) delta_I+=(float)(I1.linear_atXYZ(X,Y,Z,c) - I2(x,y,z,c));
+                  else cimg_forC(I2,c) delta_I+=(float)(I1(x,y,z,c) - I2.linear_atXYZ(X,Y,Z,c));
+                  cimg_forC(U,c) {
+                    const float
+                      Ux = 0.5f*(U(_n1x,y,z,c) - U(_p1x,y,z,c)),
+                      Uy = 0.5f*(U(x,_n1y,z,c) - U(x,_p1y,z,c)),
+                      Uz = 0.5f*(U(x,y,_n1z,c) - U(x,y,_p1z,c)),
+                      N2 = Ux*Ux + Uy*Uy + Uz*Uz,
+                      N = std::sqrt(N2),
+                      N3 = 1e-5f + N2*N,
+                      coef_a = (1 - Ux*Ux/N2)/N,
+                      coef_b = -2*Ux*Uy/N3,
+                      coef_c = -2*Ux*Uz/N3,
+                      coef_d = (1 - Uy*Uy/N2)/N,
+                      coef_e = -2*Uy*Uz/N3,
+                      coef_f = (1 - Uz*Uz/N2)/N,
+                      Uxx = U(_n1x,y,z,c) + U(_p1x,y,z,c),
+                      Uyy = U(x,_n1y,z,c) + U(x,_p1y,z,c),
+                      Uzz = U(x,y,_n1z,c) + U(x,y,_p1z,c),
+                      Uxy = 0.25f*(U(_n1x,_n1y,z,c) + U(_p1x,_p1y,z,c) - U(_n1x,_p1y,z,c) - U(_n1x,_p1y,z,c)),
+                      Uxz = 0.25f*(U(_n1x,y,_n1z,c) + U(_p1x,y,_p1z,c) - U(_n1x,y,_p1z,c) - U(_n1x,y,_p1z,c)),
+                      Uyz = 0.25f*(U(x,_n1y,_n1z,c) + U(x,_p1y,_p1z,c) - U(x,_n1y,_p1z,c) - U(x,_n1y,_p1z,c));
+                    U(x,y,z,c) = (float)(U(x,y,z,c) + dt*(delta_I*dI[c].linear_atXYZ(X,Y,Z) +
+                                                          nsmoothness* ( coef_a*Uxx + coef_b*Uxy +
+                                                                         coef_c*Uxz + coef_d*Uyy +
+                                                                         coef_e*Uyz + coef_f*Uzz ))
+                                         )/(1 + 2*(coef_a + coef_d + coef_f)*nsmoothness*dt);
+                    _energy_regul+=N;
+                  }
+                  if (is_backward) { // Constraint displacement vectors to stay in image.
+                    if (U(x,y,z,0)>x) U(x,y,z,0) = (float)x;
+                    if (U(x,y,z,1)>y) U(x,y,z,1) = (float)y;
+                    if (U(x,y,z,2)>z) U(x,y,z,2) = (float)z;
+                    bound = (float)x - _width; if (U(x,y,z,0)<=bound) U(x,y,z,0) = bound;
+                    bound = (float)y - _height; if (U(x,y,z,1)<=bound) U(x,y,z,1) = bound;
+                    bound = (float)z - _depth; if (U(x,y,z,2)<=bound) U(x,y,z,2) = bound;
+                  } else {
+                    if (U(x,y,z,0)<-x) U(x,y,z,0) = -(float)x;
+                    if (U(x,y,z,1)<-y) U(x,y,z,1) = -(float)y;
+                    if (U(x,y,z,2)<-z) U(x,y,z,2) = -(float)z;
+                    bound = (float)_width - x; if (U(x,y,z,0)>=bound) U(x,y,z,0) = bound;
+                    bound = (float)_height - y; if (U(x,y,z,1)>=bound) U(x,y,z,1) = bound;
+                    bound = (float)_depth - z; if (U(x,y,z,2)>=bound) U(x,y,z,2) = bound;
+                  }
+                  _energy+=delta_I*delta_I + nsmoothness*_energy_regul;
+                }
+              }
+            }
+            if (constraints) cimg_forX(constraints,k) {
+                const int
+                  cx = (int)(constraints(k,0)*U.width()/width()),
+                  cy = (int)(constraints(k,1)*U.height()/height()),
+                  cz = (int)(constraints(k,2)*U.depth()/depth());
+                if (U.contains(U(cx,cy,cz))) {
+                  U(cx,cy,cz,0) = (float)(constraints(k,3)/factor);
+                  U(cx,cy,cz,1) = (float)(constraints(k,4)/factor);
+                  U(cx,cy,cz,2) = (float)(constraints(k,5)/factor);
+                }
+              }
+          } else { // 2d version.
+            if (smoothness>=0) // Isotropic regularization.
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_height>=8 && _width>=16) reduction(+:_energy)
+#endif
+              cimg_forY(U,y) {
+                const int _p1y = y?y - 1:0, _n1y = y<U.height() - 1?y + 1:y;
+                cimg_for3X(U,x) {
+                  const float
+                    X = is_backward?x - U(x,y,0):x + U(x,y,0),
+                    Y = is_backward?y - U(x,y,1):y + U(x,y,1);
+                  float delta_I = 0, _energy_regul = 0;
+                  if (is_backward) cimg_forC(I2,c) delta_I+=(float)(I1.linear_atXY(X,Y,c) - I2(x,y,c));
+                  else cimg_forC(I2,c) delta_I+=(float)(I1(x,y,c) - I2.linear_atXY(X,Y,c));
+                  cimg_forC(U,c) {
+                    const float
+                      Ux = 0.5f*(U(_n1x,y,c) - U(_p1x,y,c)),
+                      Uy = 0.5f*(U(x,_n1y,c) - U(x,_p1y,c)),
+                      Uxx = U(_n1x,y,c) + U(_p1x,y,c),
+                      Uyy = U(x,_n1y,c) + U(x,_p1y,c);
+                    U(x,y,c) = (float)(U(x,y,c) + dt*(delta_I*dI[c].linear_atXY(X,Y) +
+                                                      smoothness*( Uxx + Uyy )))/(1 + 4*smoothness*dt);
+                    _energy_regul+=Ux*Ux + Uy*Uy;
+                  }
+                  if (is_backward) { // Constraint displacement vectors to stay in image.
+                    if (U(x,y,0)>x) U(x,y,0) = (float)x;
+                    if (U(x,y,1)>y) U(x,y,1) = (float)y;
+                    bound = (float)x - _width; if (U(x,y,0)<=bound) U(x,y,0) = bound;
+                    bound = (float)y - _height; if (U(x,y,1)<=bound) U(x,y,1) = bound;
+                  } else {
+                    if (U(x,y,0)<-x) U(x,y,0) = -(float)x;
+                    if (U(x,y,1)<-y) U(x,y,1) = -(float)y;
+                    bound = (float)_width - x; if (U(x,y,0)>=bound) U(x,y,0) = bound;
+                    bound = (float)_height - y; if (U(x,y,1)>=bound) U(x,y,1) = bound;
+                  }
+                  _energy+=delta_I*delta_I + smoothness*_energy_regul;
+                }
+              } else { // Anisotropic regularization.
+              const float nsmoothness = -smoothness;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_height>=8 && _width>=16) reduction(+:_energy)
+#endif
+              cimg_forY(U,y) {
+                const int _p1y = y?y - 1:0, _n1y = y<U.height() - 1?y + 1:y;
+                cimg_for3X(U,x) {
+                  const float
+                    X = is_backward?x - U(x,y,0):x + U(x,y,0),
+                    Y = is_backward?y - U(x,y,1):y + U(x,y,1);
+                  float delta_I = 0, _energy_regul = 0;
+                  if (is_backward) cimg_forC(I2,c) delta_I+=(float)(I1.linear_atXY(X,Y,c) - I2(x,y,c));
+                  else cimg_forC(I2,c) delta_I+=(float)(I1(x,y,c) - I2.linear_atXY(X,Y,c));
+                  cimg_forC(U,c) {
+                    const float
+                      Ux = 0.5f*(U(_n1x,y,c) - U(_p1x,y,c)),
+                      Uy = 0.5f*(U(x,_n1y,c) - U(x,_p1y,c)),
+                      N2 = Ux*Ux + Uy*Uy,
+                      N = std::sqrt(N2),
+                      N3 = 1e-5f + N2*N,
+                      coef_a = Uy*Uy/N3,
+                      coef_b = -2*Ux*Uy/N3,
+                      coef_c = Ux*Ux/N3,
+                      Uxx = U(_n1x,y,c) + U(_p1x,y,c),
+                      Uyy = U(x,_n1y,c) + U(x,_p1y,c),
+                      Uxy = 0.25f*(U(_n1x,_n1y,c) + U(_p1x,_p1y,c) - U(_n1x,_p1y,c) - U(_n1x,_p1y,c));
+                    U(x,y,c) = (float)(U(x,y,c) + dt*(delta_I*dI[c].linear_atXY(X,Y) +
+                                                      nsmoothness*( coef_a*Uxx + coef_b*Uxy + coef_c*Uyy )))/
+                      (1 + 2*(coef_a + coef_c)*nsmoothness*dt);
+                    _energy_regul+=N;
+                  }
+                  if (is_backward) { // Constraint displacement vectors to stay in image.
+                    if (U(x,y,0)>x) U(x,y,0) = (float)x;
+                    if (U(x,y,1)>y) U(x,y,1) = (float)y;
+                    bound = (float)x - _width; if (U(x,y,0)<=bound) U(x,y,0) = bound;
+                    bound = (float)y - _height; if (U(x,y,1)<=bound) U(x,y,1) = bound;
+                  } else {
+                    if (U(x,y,0)<-x) U(x,y,0) = -(float)x;
+                    if (U(x,y,1)<-y) U(x,y,1) = -(float)y;
+                    bound = (float)_width - x; if (U(x,y,0)>=bound) U(x,y,0) = bound;
+                    bound = (float)_height - y; if (U(x,y,1)>=bound) U(x,y,1) = bound;
+                  }
+                  _energy+=delta_I*delta_I + nsmoothness*_energy_regul;
+                }
+              }
+            }
+            if (constraints) cimg_forX(constraints,k) {
+                const int
+                  cx = (int)(constraints(k,0)*U.width()/width()),
+                  cy = (int)(constraints(k,1)*U.height()/height());
+                if (U.contains(U(cx,cy))) {
+                  U(cx,cy,0) = (float)(constraints(k,2)/factor);
+                  U(cx,cy,1) = (float)(constraints(k,3)/factor);
+                }
+              }
+          }
+          const float d_energy = (_energy - energy)/(sw*sh*sd);
+          if (d_energy<=0 && -d_energy<_precision) break;
+          if (d_energy>0) dt*=0.5f;
+          energy = _energy;
+        }
+      }
+      return U;
+    }
+
+    //! Compute Euclidean distance function to a specified value.
+    /**
+        \param value Reference value.
+        \param metric Type of metric. Can be <tt>{ 0=Chebyshev | 1=Manhattan | 2=Euclidean | 3=Squared-euclidean }</tt>.
+        \note
+        The distance transform implementation has been submitted by A. Meijster, and implements
+        the article 'W.H. Hesselink, A. Meijster, J.B.T.M. Roerdink,
+                     "A general algorithm for computing distance transforms in linear time.",
+                     In: Mathematical Morphology and its Applications to Image and Signal Processing,
+                     J. Goutsias, L. Vincent, and D.S. Bloomberg (eds.), Kluwer, 2000, pp. 331-340.'
+         The submitted code has then been modified to fit CImg coding style and constraints.
+    **/
+    CImg<T>& distance(const T& value, const unsigned int metric=2) {
+      if (is_empty()) return *this;
+      if (cimg::type<Tint>::string()!=cimg::type<T>::string()) // For datatype < int.
+        return CImg<Tint>(*this,false).distance((Tint)value,metric).
+          cut((Tint)cimg::type<T>::min(),(Tint)cimg::type<T>::max()).move_to(*this);
+      bool is_value = false;
+      cimg_for(*this,ptr,T) *ptr = *ptr==value?is_value=true,0:(T)cimg::max(0,99999999); // Trick to avoid VC++ warning
+      if (!is_value) return fill(cimg::type<T>::max());
+      switch (metric) {
+      case 0 : return _distance_core(_distance_sep_cdt,_distance_dist_cdt);          // Chebyshev.
+      case 1 : return _distance_core(_distance_sep_mdt,_distance_dist_mdt);          // Manhattan.
+      case 3 : return _distance_core(_distance_sep_edt,_distance_dist_edt);          // Squared Euclidean.
+      default : return _distance_core(_distance_sep_edt,_distance_dist_edt).sqrt();  // Euclidean.
+      }
+      return *this;
+    }
+
+    //! Compute distance to a specified value \newinstance.
+    CImg<Tfloat> get_distance(const T& value, const unsigned int metric=2) const {
+      return CImg<Tfloat>(*this,false).distance((Tfloat)value,metric);
+    }
+
+    static long _distance_sep_edt(const long i, const long u, const long *const g) {
+      return (u*u - i*i + g[u] - g[i])/(2*(u - i));
+    }
+
+    static long _distance_dist_edt(const long x, const long i, const long *const g) {
+      return (x - i)*(x - i) + g[i];
+    }
+
+    static long _distance_sep_mdt(const long i, const long u, const long *const g) {
+      return (u - i<=g[u] - g[i]?999999999:(g[u] - g[i] + u + i)/2);
+    }
+
+    static long _distance_dist_mdt(const long x, const long i, const long *const g) {
+      return (x<i?i - x:x - i) + g[i];
+    }
+
+    static long _distance_sep_cdt(const long i, const long u, const long *const g) {
+      const long h = (i + u)/2;
+      if (g[i]<=g[u]) { return h<i + g[u]?i + g[u]:h; }
+      return h<u - g[i]?h:u - g[i];
+    }
+
+    static long _distance_dist_cdt(const long x, const long i, const long *const g) {
+      const long d = x<i?i - x:x - i;
+      return d<g[i]?g[i]:d;
+    }
+
+    static void _distance_scan(const unsigned int len,
+                               const long *const g,
+                               long (*const sep)(const long, const long, const long *const),
+                               long (*const f)(const long, const long, const long *const),
+                               long *const s,
+                               long *const t,
+                               long *const dt) {
+      long q = s[0] = t[0] = 0;
+      for (int u = 1; u<(int)len; ++u) { // Forward scan.
+        while ((q>=0) && f(t[q],s[q],g)>f(t[q],u,g)) { --q; }
+        if (q<0) { q = 0; s[0] = u; }
+        else { const long w = 1 + sep(s[q], u, g); if (w<(long)len) { ++q; s[q] = u; t[q] = w; }}
+      }
+      for (int u = (int)len - 1; u>=0; --u) { dt[u] = f(u,s[q],g); if (u==t[q]) --q; } // Backward scan.
+    }
+
+    CImg<T>& _distance_core(long (*const sep)(const long, const long, const long *const),
+                            long (*const f)(const long, const long, const long *const)) {
+ // Check for g++ 4.9.X, as OpenMP seems to crash for this particular function. I have no clues why.
+#define cimg_is_gcc49x (__GNUC__==4 && __GNUC_MINOR__==9)
+
+      const unsigned long wh = (unsigned long)_width*_height;
+#if defined(cimg_use_openmp) && !cimg_is_gcc49x
+#pragma omp parallel for if (_spectrum>=2)
+#endif
+      cimg_forC(*this,c) {
+        CImg<longT> g(_width), dt(_width), s(_width), t(_width);
+        CImg<T> img = get_shared_channel(c);
+#if defined(cimg_use_openmp) && !cimg_is_gcc49x
+#pragma omp parallel for collapse(2) if (_width>=512 && _height*_depth>=16) firstprivate(g,dt,s,t)
+#endif
+        cimg_forYZ(*this,y,z) { // Over X-direction.
+          cimg_forX(*this,x) g[x] = (long)img(x,y,z,0,wh);
+          _distance_scan(_width,g,sep,f,s,t,dt);
+          cimg_forX(*this,x) img(x,y,z,0,wh) = (T)dt[x];
+        }
+        if (_height>1) {
+          g.assign(_height); dt.assign(_height); s.assign(_height); t.assign(_height);
+#if defined(cimg_use_openmp) && !cimg_is_gcc49x
+#pragma omp parallel for collapse(2) if (_height>=512 && _width*_depth>=16) firstprivate(g,dt,s,t)
+#endif
+          cimg_forXZ(*this,x,z) { // Over Y-direction.
+            cimg_forY(*this,y) g[y] = (long)img(x,y,z,0,wh);
+            _distance_scan(_height,g,sep,f,s,t,dt);
+            cimg_forY(*this,y) img(x,y,z,0,wh) = (T)dt[y];
+          }
+        }
+        if (_depth>1) {
+          g.assign(_depth); dt.assign(_depth); s.assign(_depth); t.assign(_depth);
+#if defined(cimg_use_openmp) && !cimg_is_gcc49x
+#pragma omp parallel for collapse(2) if (_depth>=512 && _width*_height>=16) firstprivate(g,dt,s,t)
+#endif
+          cimg_forXY(*this,x,y) { // Over Z-direction.
+            cimg_forZ(*this,z) g[z] = (long)img(x,y,z,0,wh);
+            _distance_scan(_depth,g,sep,f,s,t,dt);
+            cimg_forZ(*this,z) img(x,y,z,0,wh) = (T)dt[z];
+          }
+        }
+      }
+      return *this;
+    }
+
+    //! Compute chamfer distance to a specified value, with a custom metric.
+    /**
+       \param value Reference value.
+       \param metric_mask Metric mask.
+       \note The algorithm code has been initially proposed by A. Meijster, and modified by D. Tschumperlé.
+    **/
+    template<typename t>
+    CImg<T>& distance(const T& value, const CImg<t>& metric_mask) {
+      if (is_empty()) return *this;
+      bool is_value = false;
+      cimg_for(*this,ptr,T) *ptr = *ptr==value?is_value=true,0:(T)999999999;
+      if (!is_value) return fill(cimg::type<T>::max());
+      const unsigned long wh = (unsigned long)_width*_height;
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_spectrum>=2)
+#endif
+      cimg_forC(*this,c) {
+        CImg<T> img = get_shared_channel(c);
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(3) if (_width*_height*_depth>=1024)
+#endif
+        cimg_forXYZ(metric_mask,dx,dy,dz) {
+          const t weight = metric_mask(dx,dy,dz);
+          if (weight) {
+            for (int z = dz, nz = 0; z<depth(); ++z,++nz) { // Forward scan.
+              for (int y = dy , ny = 0; y<height(); ++y,++ny) {
+                for (int x = dx, nx = 0; x<width(); ++x,++nx) {
+                  const T dd = img(nx,ny,nz,0,wh) + weight;
+                  if (dd<img(x,y,z,0,wh)) img(x,y,z,0,wh) = dd;
+                }
+              }
+            }
+            for (int z = depth() - 1 - dz, nz = depth() - 1; z>=0; --z,--nz) { // Backward scan.
+              for (int y = height() - 1 - dy, ny = height() - 1; y>=0; --y,--ny) {
+                for (int x = width() - 1 - dx, nx = width() - 1; x>=0; --x,--nx) {
+                  const T dd = img(nx,ny,nz,0,wh) + weight;
+                  if (dd<img(x,y,z,0,wh)) img(x,y,z,0,wh) = dd;
+                }
+              }
+            }
+          }
+        }
+      }
+      return *this;
+    }
+
+    //! Compute chamfer distance to a specified value, with a custom metric \newinstance.
+    template<typename t>
+    CImg<Tfloat> get_distance(const T& value, const CImg<t>& metric_mask) const {
+      return CImg<Tfloat>(*this,false).distance(value,metric_mask);
+    }
+
+    //! Compute distance to a specified value, according to a custom metric (use dijkstra algorithm).
+    /**
+       \param value Reference value.
+       \param metric Field of distance potentials.
+       \param is_high_connectivity Tells if the algorithm uses low or high connectivity.
+     **/
+    template<typename t, typename to>
+    CImg<T>& distance_dijkstra(const T& value, const CImg<t>& metric, const bool is_high_connectivity,
+                               CImg<to>& return_path) {
+      return get_distance_dijkstra(value,metric,is_high_connectivity,return_path).move_to(*this);
+    }
+
+    //! Compute distance map to a specified value, according to a custom metric (use dijkstra algorithm). \newinstance.
+    template<typename t, typename to>
+    CImg<typename cimg::superset<t,long>::type>
+    get_distance_dijkstra(const T& value, const CImg<t>& metric, const bool is_high_connectivity,
+                          CImg<to>& return_path) const {
+      if (is_empty()) return return_path.assign();
+      if (!is_sameXYZ(metric))
+        throw CImgArgumentException(_cimg_instance
+                                    "distance_dijkstra(): image instance and metric map (%u,%u,%u,%u) "
+                                    "have incompatible dimensions.",
+                                    cimg_instance,
+                                    metric._width,metric._height,metric._depth,metric._spectrum);
+      typedef typename cimg::superset<t,long>::type td;  // Type used for computing cumulative distances.
+      CImg<td> result(_width,_height,_depth,_spectrum), Q;
+      CImg<boolT> is_queued(_width,_height,_depth,1);
+      if (return_path) return_path.assign(_width,_height,_depth,_spectrum);
+
+      cimg_forC(*this,c) {
+        const CImg<T> img = get_shared_channel(c);
+        const CImg<t> met = metric.get_shared_channel(c%metric._spectrum);
+        CImg<td> res = result.get_shared_channel(c);
+        CImg<to> path = return_path?return_path.get_shared_channel(c):CImg<to>();
+        unsigned int sizeQ = 0;
+
+        // Detect initial seeds.
+        is_queued.fill(0);
+        cimg_forXYZ(img,x,y,z) if (img(x,y,z)==value) {
+          Q._priority_queue_insert(is_queued,sizeQ,0,x,y,z);
+          res(x,y,z) = 0;
+          if (path) path(x,y,z) = (to)0;
+        }
+
+        // Start distance propagation.
+        while (sizeQ) {
+
+          // Get and remove point with minimal potential from the queue.
+          const int x = (int)Q(0,1), y = (int)Q(0,2), z = (int)Q(0,3);
+          const td P = (td)-Q(0,0);
+          Q._priority_queue_remove(sizeQ);
+
+          // Update neighbors.
+          td npot = 0;
+          if (x - 1>=0 && Q._priority_queue_insert(is_queued,sizeQ,-(npot=met(x - 1,y,z) + P),x - 1,y,z)) {
+            res(x - 1,y,z) = npot; if (path) path(x - 1,y,z) = (to)2;
+          }
+          if (x + 1<width() && Q._priority_queue_insert(is_queued,sizeQ,-(npot=met(x + 1,y,z) + P),x + 1,y,z)) {
+            res(x + 1,y,z) = npot; if (path) path(x + 1,y,z) = (to)1;
+          }
+          if (y - 1>=0 && Q._priority_queue_insert(is_queued,sizeQ,-(npot=met(x,y - 1,z) + P),x,y - 1,z)) {
+            res(x,y - 1,z) = npot; if (path) path(x,y - 1,z) = (to)8;
+          }
+          if (y + 1<height() && Q._priority_queue_insert(is_queued,sizeQ,-(npot=met(x,y + 1,z) + P),x,y + 1,z)) {
+            res(x,y + 1,z) = npot; if (path) path(x,y + 1,z) = (to)4;
+          }
+          if (z - 1>=0 && Q._priority_queue_insert(is_queued,sizeQ,-(npot=met(x,y,z - 1) + P),x,y,z - 1)) {
+            res(x,y,z - 1) = npot; if (path) path(x,y,z - 1) = (to)32;
+          }
+          if (z + 1<depth() && Q._priority_queue_insert(is_queued,sizeQ,-(npot=met(x,y,z + 1) + P),x,y,z + 1)) {
+            res(x,y,z + 1) = npot; if (path) path(x,y,z + 1) = (to)16;
+          }
+
+          if (is_high_connectivity) {
+            const float sqrt2 = std::sqrt(2.0f), sqrt3 = std::sqrt(3.0f);
+
+            // Diagonal neighbors on slice z.
+            if (x - 1>=0 && y - 1>=0 &&
+                Q._priority_queue_insert(is_queued,sizeQ,-(npot=(td)(sqrt2*met(x - 1,y - 1,z) + P)),x - 1,y - 1,z)) {
+              res(x - 1,y - 1,z) = npot; if (path) path(x - 1,y - 1,z) = (to)10;
+            }
+            if (x + 1<width() && y - 1>=0 &&
+                Q._priority_queue_insert(is_queued,sizeQ,-(npot=(td)(sqrt2*met(x + 1,y - 1,z) + P)),x + 1,y - 1,z)) {
+              res(x + 1,y - 1,z) = npot; if (path) path(x + 1,y - 1,z) = (to)9;
+            }
+            if (x - 1>=0 && y + 1<height() &&
+                Q._priority_queue_insert(is_queued,sizeQ,-(npot=(td)(sqrt2*met(x - 1,y + 1,z) + P)),x - 1,y + 1,z)) {
+              res(x - 1,y + 1,z) = npot; if (path) path(x - 1,y + 1,z) = (to)6;
+            }
+            if (x + 1<width() && y + 1<height() &&
+                Q._priority_queue_insert(is_queued,sizeQ,-(npot=(td)(sqrt2*met(x + 1,y + 1,z) + P)),x + 1,y + 1,z)) {
+              res(x + 1,y + 1,z) = npot; if (path) path(x + 1,y + 1,z) = (to)5;
+            }
+
+            if (z - 1>=0) { // Diagonal neighbors on slice z - 1.
+              if (x - 1>=0 &&
+                  Q._priority_queue_insert(is_queued,sizeQ,-(npot=(td)(sqrt2*met(x - 1,y,z - 1) + P)),x - 1,y,z - 1)) {
+                res(x - 1,y,z - 1) = npot; if (path) path(x - 1,y,z - 1) = (to)34;
+              }
+              if (x + 1<width() &&
+                  Q._priority_queue_insert(is_queued,sizeQ,-(npot=(td)(sqrt2*met(x + 1,y,z - 1) + P)),x + 1,y,z - 1)) {
+                res(x + 1,y,z - 1) = npot; if (path) path(x + 1,y,z - 1) = (to)33;
+              }
+              if (y - 1>=0 &&
+                  Q._priority_queue_insert(is_queued,sizeQ,-(npot=(td)(sqrt2*met(x,y - 1,z - 1) + P)),x,y - 1,z - 1)) {
+                res(x,y - 1,z - 1) = npot; if (path) path(x,y - 1,z - 1) = (to)40;
+              }
+              if (y + 1<height() &&
+                  Q._priority_queue_insert(is_queued,sizeQ,-(npot=(td)(sqrt2*met(x,y + 1,z - 1) + P)),x,y + 1,z - 1)) {
+                res(x,y + 1,z - 1) = npot; if (path) path(x,y + 1,z - 1) = (to)36;
+              }
+              if (x - 1>=0 && y - 1>=0 &&
+                  Q._priority_queue_insert(is_queued,sizeQ,-(npot=(td)(sqrt3*met(x - 1,y - 1,z - 1) + P)),
+                                           x - 1,y - 1,z - 1)) {
+                res(x - 1,y - 1,z - 1) = npot; if (path) path(x - 1,y - 1,z - 1) = (to)42;
+              }
+              if (x + 1<width() && y - 1>=0 &&
+                  Q._priority_queue_insert(is_queued,sizeQ,-(npot=(td)(sqrt3*met(x + 1,y - 1,z - 1) + P)),
+                                           x + 1,y - 1,z - 1)) {
+                res(x + 1,y - 1,z - 1) = npot; if (path) path(x + 1,y - 1,z - 1) = (to)41;
+              }
+              if (x - 1>=0 && y + 1<height() &&
+                  Q._priority_queue_insert(is_queued,sizeQ,-(npot=(td)(sqrt3*met(x - 1,y + 1,z - 1) + P)),
+                                           x - 1,y + 1,z - 1)) {
+                res(x - 1,y + 1,z - 1) = npot; if (path) path(x - 1,y + 1,z - 1) = (to)38;
+              }
+              if (x + 1<width() && y + 1<height() &&
+                  Q._priority_queue_insert(is_queued,sizeQ,-(npot=(td)(sqrt3*met(x + 1,y + 1,z - 1) + P)),
+                                           x + 1,y + 1,z - 1)) {
+                res(x + 1,y + 1,z - 1) = npot; if (path) path(x + 1,y + 1,z - 1) = (to)37;
+              }
+            }
+
+            if (z + 1<depth()) { // Diagonal neighbors on slice z + 1.
+              if (x - 1>=0 &&
+                  Q._priority_queue_insert(is_queued,sizeQ,-(npot=(td)(sqrt2*met(x - 1,y,z + 1) + P)),x - 1,y,z + 1)) {
+                res(x - 1,y,z + 1) = npot; if (path) path(x - 1,y,z + 1) = (to)18;
+              }
+              if (x + 1<width() &&
+                  Q._priority_queue_insert(is_queued,sizeQ,-(npot=(td)(sqrt2*met(x + 1,y,z + 1) + P)),x + 1,y,z + 1)) {
+                res(x + 1,y,z + 1) = npot; if (path) path(x + 1,y,z + 1) = (to)17;
+              }
+              if (y - 1>=0 &&
+                  Q._priority_queue_insert(is_queued,sizeQ,-(npot=(td)(sqrt2*met(x,y - 1,z + 1) + P)),x,y - 1,z + 1)) {
+                res(x,y - 1,z + 1) = npot; if (path) path(x,y - 1,z + 1) = (to)24;
+              }
+              if (y + 1<height() &&
+                  Q._priority_queue_insert(is_queued,sizeQ,-(npot=(td)(sqrt2*met(x,y + 1,z + 1) + P)),x,y + 1,z + 1)) {
+                res(x,y + 1,z + 1) = npot; if (path) path(x,y + 1,z + 1) = (to)20;
+              }
+              if (x - 1>=0 && y - 1>=0 &&
+                  Q._priority_queue_insert(is_queued,sizeQ,-(npot=(td)(sqrt3*met(x - 1,y - 1,z + 1) + P)),
+                                           x - 1,y - 1,z + 1)) {
+                res(x - 1,y - 1,z + 1) = npot; if (path) path(x - 1,y - 1,z + 1) = (to)26;
+              }
+              if (x + 1<width() && y - 1>=0 &&
+                  Q._priority_queue_insert(is_queued,sizeQ,-(npot=(td)(sqrt3*met(x + 1,y - 1,z + 1) + P)),
+                                           x + 1,y - 1,z + 1)) {
+                res(x + 1,y - 1,z + 1) = npot; if (path) path(x + 1,y - 1,z + 1) = (to)25;
+              }
+              if (x - 1>=0 && y + 1<height() &&
+                  Q._priority_queue_insert(is_queued,sizeQ,-(npot=(td)(sqrt3*met(x - 1,y + 1,z + 1) + P)),
+                                           x - 1,y + 1,z + 1)) {
+                res(x - 1,y + 1,z + 1) = npot; if (path) path(x - 1,y + 1,z + 1) = (to)22;
+              }
+              if (x + 1<width() && y + 1<height() &&
+                  Q._priority_queue_insert(is_queued,sizeQ,-(npot=(td)(sqrt3*met(x + 1,y + 1,z + 1) + P)),
+                                           x + 1,y + 1,z + 1)) {
+                res(x + 1,y + 1,z + 1) = npot; if (path) path(x + 1,y + 1,z + 1) = (to)21;
+              }
+            }
+          }
+        }
+      }
+      return result;
+    }
+
+    //! Compute distance map to a specified value, according to a custom metric (use dijkstra algorithm). \overloading.
+    template<typename t>
+    CImg<T>& distance_dijkstra(const T& value, const CImg<t>& metric,
+                               const bool is_high_connectivity=false) {
+      return get_distance_dijkstra(value,metric,is_high_connectivity).move_to(*this);
+    }
+
+    //! Compute distance map to a specified value, according to a custom metric (use dijkstra algorithm). \newinstance.
+    template<typename t>
+    CImg<Tfloat> get_distance_dijkstra(const T& value, const CImg<t>& metric,
+                                       const bool is_high_connectivity=false) const {
+      CImg<T> return_path;
+      return get_distance_dijkstra(value,metric,is_high_connectivity,return_path);
+    }
+
+    //! Compute distance map to one source point, according to a custom metric (use fast marching algorithm).
+    /**
+       \param value Reference value.
+       \param metric Field of distance potentials.
+     **/
+    template<typename t>
+    CImg<T>& distance_eikonal(const T& value, const CImg<t>& metric) {
+      return get_distance_eikonal(value,metric).move_to(*this);
+    }
+
+    //! Compute distance map to one source point, according to a custom metric (use fast marching algorithm).
+    template<typename t>
+    CImg<Tfloat> get_distance_eikonal(const T& value, const CImg<t>& metric) const {
+      if (is_empty()) return *this;
+      if (!is_sameXYZ(metric))
+        throw CImgArgumentException(_cimg_instance
+                                    "distance_eikonal(): image instance and metric map (%u,%u,%u,%u) have "
+                                    "incompatible dimensions.",
+                                    cimg_instance,
+                                    metric._width,metric._height,metric._depth,metric._spectrum);
+      CImg<Tfloat> result(_width,_height,_depth,_spectrum,cimg::type<Tfloat>::max()), Q;
+      CImg<charT> state(_width,_height,_depth); // -1=far away, 0=narrow, 1=frozen.
+
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (_spectrum>=2) firstprivate(Q,state)
+#endif
+      cimg_forC(*this,c) {
+        const CImg<T> img = get_shared_channel(c);
+        const CImg<t> met = metric.get_shared_channel(c%metric._spectrum);
+        CImg<Tfloat> res = result.get_shared_channel(c);
+        unsigned int sizeQ = 0;
+        state.fill(-1);
+
+        // Detect initial seeds.
+        Tfloat *ptr1 = res._data; char *ptr2 = state._data;
+        cimg_for(img,ptr0,T) { if (*ptr0==value) { *ptr1 = 0; *ptr2 = 1; } ++ptr1; ++ptr2; }
+
+        // Initialize seeds neighbors.
+        ptr2 = state._data;
+        cimg_forXYZ(img,x,y,z) if (*(ptr2++)==1) {
+          if (x - 1>=0 && state(x - 1,y,z)==-1) {
+            const Tfloat dist = res(x - 1,y,z) = __distance_eikonal(res,met(x - 1,y,z),x - 1,y,z);
+            Q._eik_priority_queue_insert(state,sizeQ,-dist,x - 1,y,z);
+          }
+          if (x + 1<width() && state(x + 1,y,z)==-1) {
+            const Tfloat dist = res(x + 1,y,z) = __distance_eikonal(res,met(x + 1,y,z),x + 1,y,z);
+            Q._eik_priority_queue_insert(state,sizeQ,-dist,x + 1,y,z);
+          }
+          if (y - 1>=0 && state(x,y - 1,z)==-1) {
+            const Tfloat dist = res(x,y - 1,z) = __distance_eikonal(res,met(x,y - 1,z),x,y - 1,z);
+            Q._eik_priority_queue_insert(state,sizeQ,-dist,x,y - 1,z);
+          }
+          if (y + 1<height() && state(x,y + 1,z)==-1) {
+            const Tfloat dist = res(x,y + 1,z) = __distance_eikonal(res,met(x,y + 1,z),x,y + 1,z);
+            Q._eik_priority_queue_insert(state,sizeQ,-dist,x,y + 1,z);
+          }
+          if (z - 1>=0 && state(x,y,z - 1)==-1) {
+            const Tfloat dist = res(x,y,z - 1) = __distance_eikonal(res,met(x,y,z - 1),x,y,z - 1);
+            Q._eik_priority_queue_insert(state,sizeQ,-dist,x,y,z - 1);
+          }
+          if (z + 1<depth() && state(x,y,z + 1)==-1) {
+            const Tfloat dist = res(x,y,z + 1) = __distance_eikonal(res,met(x,y,z + 1),x,y,z + 1);
+            Q._eik_priority_queue_insert(state,sizeQ,-dist,x,y,z + 1);
+          }
+        }
+
+        // Propagate front.
+        while (sizeQ) {
+          int x = -1, y = -1, z = -1;
+          while (sizeQ && x<0) {
+            x = (int)Q(0,1); y = (int)Q(0,2); z = (int)Q(0,3);
+            Q._priority_queue_remove(sizeQ);
+            if (state(x,y,z)==1) x = -1; else state(x,y,z) = 1;
+          }
+          if (x>=0) {
+            if (x - 1>=0 && state(x - 1,y,z)!=1) {
+              const Tfloat dist = __distance_eikonal(res,met(x - 1,y,z),x - 1,y,z);
+              if (dist<res(x - 1,y,z)) {
+                res(x - 1,y,z) = dist; Q._eik_priority_queue_insert(state,sizeQ,-dist,x - 1,y,z);
+              }
+            }
+            if (x + 1<width() && state(x + 1,y,z)!=1) {
+              const Tfloat dist = __distance_eikonal(res,met(x + 1,y,z),x + 1,y,z);
+              if (dist<res(x + 1,y,z)) {
+                res(x + 1,y,z) = dist; Q._eik_priority_queue_insert(state,sizeQ,-dist,x + 1,y,z);
+              }
+            }
+            if (y - 1>=0 && state(x,y - 1,z)!=1) {
+              const Tfloat dist = __distance_eikonal(res,met(x,y - 1,z),x,y - 1,z);
+              if (dist<res(x,y - 1,z)) {
+                res(x,y - 1,z) = dist; Q._eik_priority_queue_insert(state,sizeQ,-dist,x,y - 1,z);
+              }
+            }
+            if (y + 1<height() && state(x,y + 1,z)!=1) {
+              const Tfloat dist = __distance_eikonal(res,met(x,y + 1,z),x,y + 1,z);
+              if (dist<res(x,y + 1,z)) {
+                res(x,y + 1,z) = dist; Q._eik_priority_queue_insert(state,sizeQ,-dist,x,y + 1,z);
+              }
+            }
+            if (z - 1>=0 && state(x,y,z - 1)!=1) {
+              const Tfloat dist = __distance_eikonal(res,met(x,y,z - 1),x,y,z - 1);
+              if (dist<res(x,y,z - 1)) {
+                res(x,y,z - 1) = dist; Q._eik_priority_queue_insert(state,sizeQ,-dist,x,y,z - 1);
+              }
+            }
+            if (z + 1<depth() && state(x,y,z + 1)!=1) {
+              const Tfloat dist = __distance_eikonal(res,met(x,y,z + 1),x,y,z + 1);
+              if (dist<res(x,y,z + 1)) {
+                res(x,y,z + 1) = dist; Q._eik_priority_queue_insert(state,sizeQ,-dist,x,y,z + 1);
+              }
+            }
+          }
+        }
+      }
+      return result;
+    }
+
+    // Locally solve eikonal equation.
+    Tfloat __distance_eikonal(const CImg<Tfloat>& res, const Tfloat P,
+                              const int x=0, const int y=0, const int z=0) const {
+      const T M = cimg::type<T>::max();
+      T T1 = cimg::min(x - 1>=0?res(x - 1,y,z):M,x + 1<width()?res(x + 1,y,z):M);
+      Tfloat root = 0;
+      if (_depth>1) { // 3d.
+        T
+          T2 = cimg::min(y - 1>=0?res(x,y - 1,z):M,y + 1<height()?res(x,y + 1,z):M),
+          T3 = cimg::min(z - 1>=0?res(x,y,z - 1):M,z + 1<depth()?res(x,y,z + 1):M);
+        if (T1>T2) cimg::swap(T1,T2);
+        if (T2>T3) cimg::swap(T2,T3);
+        if (T1>T2) cimg::swap(T1,T2);
+        if (P<=0) return (Tfloat)T1;
+        if (T3<M && ___distance_eikonal(3,-2*(T1 + T2 + T3),T1*T1 + T2*T2 + T3*T3 - P*P,root))
+          return cimg::max((Tfloat)T3,root);
+        if (T2<M && ___distance_eikonal(2,-2*(T1 + T2),T1*T1 + T2*T2 - P*P,root))
+          return cimg::max((Tfloat)T2,root);
+        return P + T1;
+      } else if (_height>1) { // 2d.
+        T T2 = cimg::min(y - 1>=0?res(x,y - 1,z):M,y + 1<height()?res(x,y + 1,z):M);
+        if (T1>T2) cimg::swap(T1,T2);
+        if (P<=0) return (Tfloat)T1;
+        if (T2<M && ___distance_eikonal(2,-2*(T1 + T2),T1*T1 + T2*T2 - P*P,root))
+          return cimg::max((Tfloat)T2,root);
+        return P + T1;
+      } else { // 1d.
+        if (P<=0) return (Tfloat)T1;
+        return P + T1;
+      }
+      return 0;
+    }
+
+    // Find max root of a 2nd-order polynomial.
+    static bool ___distance_eikonal(const Tfloat a, const Tfloat b, const Tfloat c, Tfloat &root) {
+      const Tfloat delta = b*b - 4*a*c;
+      if (delta<0) return false;
+      root = 0.5f*(-b + std::sqrt(delta))/a;
+      return true;
+    }
+
+    // Insert new point in heap.
+    template<typename t>
+    void _eik_priority_queue_insert(CImg<charT>& state, unsigned int& siz, const t value,
+                                    const unsigned int x, const unsigned int y, const unsigned int z) {
+      if (state(x,y,z)>0) return;
+      state(x,y,z) = 0;
+      if (++siz>=_width) { if (!is_empty()) resize(_width*2,4,1,1,0); else assign(64,4); }
+      (*this)(siz - 1,0) = (T)value; (*this)(siz - 1,1) = (T)x; (*this)(siz - 1,2) = (T)y; (*this)(siz - 1,3) = (T)z;
+      for (unsigned int pos = siz - 1, par = 0; pos && value>(*this)(par=(pos + 1)/2 - 1,0); pos = par) {
+        cimg::swap((*this)(pos,0),(*this)(par,0)); cimg::swap((*this)(pos,1),(*this)(par,1));
+        cimg::swap((*this)(pos,2),(*this)(par,2)); cimg::swap((*this)(pos,3),(*this)(par,3));
+      }
+    }
+
+    //! Compute distance function to 0-valued isophotes, using the Eikonal PDE.
+    /**
+       \param nb_iterations Number of PDE iterations.
+       \param band_size Size of the narrow band.
+       \param time_step Time step of the PDE iterations.
+    **/
+    CImg<T>& distance_eikonal(const unsigned int nb_iterations, const float band_size=0, const float time_step=0.5f) {
+      if (is_empty()) return *this;
+      CImg<Tfloat> velocity(*this);
+      for (unsigned int iteration = 0; iteration<nb_iterations; ++iteration) {
+        Tfloat *ptrd = velocity._data, veloc_max = 0;
+        if (_depth>1) { // 3d
+          CImg_3x3x3(I,Tfloat);
+          cimg_forC(*this,c) cimg_for3x3x3(*this,x,y,z,c,I,Tfloat) if (band_size<=0 || cimg::abs(Iccc)<band_size) {
+            const Tfloat
+              gx = (Incc - Ipcc)/2,
+              gy = (Icnc - Icpc)/2,
+              gz = (Iccn - Iccp)/2,
+              sgn = -cimg::sign(Iccc),
+              ix = gx*sgn>0?(Incc - Iccc):(Iccc - Ipcc),
+              iy = gy*sgn>0?(Icnc - Iccc):(Iccc - Icpc),
+              iz = gz*sgn>0?(Iccn - Iccc):(Iccc - Iccp),
+              ng = (Tfloat)(1e-5f + std::sqrt(gx*gx + gy*gy + gz*gz)),
+              ngx = gx/ng,
+              ngy = gy/ng,
+              ngz = gz/ng,
+              veloc = sgn*(ngx*ix + ngy*iy + ngz*iz - 1);
+            *(ptrd++) = veloc;
+            if (veloc>veloc_max) veloc_max = veloc; else if (-veloc>veloc_max) veloc_max = -veloc;
+          } else *(ptrd++) = 0;
+        } else { // 2d version
+          CImg_3x3(I,Tfloat);
+          cimg_forC(*this,c) cimg_for3x3(*this,x,y,0,c,I,Tfloat) if (band_size<=0 || cimg::abs(Icc)<band_size) {
+            const Tfloat
+              gx = (Inc - Ipc)/2,
+              gy = (Icn - Icp)/2,
+              sgn = -cimg::sign(Icc),
+              ix = gx*sgn>0?(Inc - Icc):(Icc - Ipc),
+              iy = gy*sgn>0?(Icn - Icc):(Icc - Icp),
+              ng = (Tfloat)(1e-5f + std::sqrt(gx*gx + gy*gy)),
+              ngx = gx/ng,
+              ngy = gy/ng,
+              veloc = sgn*(ngx*ix + ngy*iy - 1);
+            *(ptrd++) = veloc;
+            if (veloc>veloc_max) veloc_max = veloc; else if (-veloc>veloc_max) veloc_max = -veloc;
+          } else *(ptrd++) = 0;
+        }
+        if (veloc_max>0) *this+=(velocity*=time_step/veloc_max);
+      }
+      return *this;
+    }
+
+    //! Compute distance function to 0-valued isophotes, using the Eikonal PDE \newinstance.
+    CImg<Tfloat> get_distance_eikonal(const unsigned int nb_iterations, const float band_size=0,
+                                      const float time_step=0.5f) const {
+      return CImg<Tfloat>(*this,false).distance_eikonal(nb_iterations,band_size,time_step);
+    }
+
+    //! Compute Haar multiscale wavelet transform.
+    /**
+       \param axis Axis considered for the transform.
+       \param invert Set inverse of direct transform.
+       \param nb_scales Number of scales used for the transform.
+    **/
+    CImg<T>& haar(const char axis, const bool invert=false, const unsigned int nb_scales=1) {
+      return get_haar(axis,invert,nb_scales).move_to(*this);
+    }
+
+    //! Compute Haar multiscale wavelet transform \newinstance.
+    CImg<Tfloat> get_haar(const char axis, const bool invert=false, const unsigned int nb_scales=1) const {
+      if (is_empty() || !nb_scales) return +*this;
+      CImg<Tfloat> res;
+      const Tfloat sqrt2 = std::sqrt(2.0f);
+      if (nb_scales==1) {
+        switch (cimg::uncase(axis)) { // Single scale transform
+        case 'x' : {
+          const unsigned int w = _width/2;
+          if (w) {
+            if ((w%2) && w!=1)
+              throw CImgInstanceException(_cimg_instance
+                                          "haar(): Sub-image width %u is not even.",
+                                          cimg_instance,
+                                          w);
+
+            res.assign(_width,_height,_depth,_spectrum);
+            if (invert) cimg_forYZC(*this,y,z,c) { // Inverse transform along X
+              for (unsigned int x = 0, xw = w, x2 = 0; x<w; ++x, ++xw) {
+                const Tfloat val0 = (Tfloat)(*this)(x,y,z,c), val1 = (Tfloat)(*this)(xw,y,z,c);
+                res(x2++,y,z,c) = (val0 - val1)/sqrt2;
+                res(x2++,y,z,c) = (val0 + val1)/sqrt2;
+              }
+            } else cimg_forYZC(*this,y,z,c) { // Direct transform along X
+              for (unsigned int x = 0, xw = w, x2 = 0; x<w; ++x, ++xw) {
+                const Tfloat val0 = (Tfloat)(*this)(x2++,y,z,c), val1 = (Tfloat)(*this)(x2++,y,z,c);
+                res(x,y,z,c) = (val0 + val1)/sqrt2;
+                res(xw,y,z,c) = (val1 - val0)/sqrt2;
+              }
+            }
+          } else return *this;
+        } break;
+        case 'y' : {
+          const unsigned int h = _height/2;
+          if (h) {
+            if ((h%2) && h!=1)
+              throw CImgInstanceException(_cimg_instance
+                                          "haar(): Sub-image height %u is not even.",
+                                          cimg_instance,
+                                          h);
+
+            res.assign(_width,_height,_depth,_spectrum);
+            if (invert) cimg_forXZC(*this,x,z,c) { // Inverse transform along Y
+              for (unsigned int y = 0, yh = h, y2 = 0; y<h; ++y, ++yh) {
+                const Tfloat val0 = (Tfloat)(*this)(x,y,z,c), val1 = (Tfloat)(*this)(x,yh,z,c);
+                res(x,y2++,z,c) = (val0 - val1)/sqrt2;
+                res(x,y2++,z,c) = (val0 + val1)/sqrt2;
+              }
+            } else cimg_forXZC(*this,x,z,c) {
+              for (unsigned int y = 0, yh = h, y2 = 0; y<h; ++y, ++yh) { // Direct transform along Y
+                const Tfloat val0 = (Tfloat)(*this)(x,y2++,z,c), val1 = (Tfloat)(*this)(x,y2++,z,c);
+                res(x,y,z,c)  = (val0 + val1)/sqrt2;
+                res(x,yh,z,c) = (val1 - val0)/sqrt2;
+              }
+            }
+          } else return *this;
+        } break;
+        case 'z' : {
+          const unsigned int d = _depth/2;
+          if (d) {
+            if ((d%2) && d!=1)
+              throw CImgInstanceException(_cimg_instance
+                                          "haar(): Sub-image depth %u is not even.",
+                                          cimg_instance,
+                                          d);
+
+            res.assign(_width,_height,_depth,_spectrum);
+            if (invert) cimg_forXYC(*this,x,y,c) { // Inverse transform along Z
+              for (unsigned int z = 0, zd = d, z2 = 0; z<d; ++z, ++zd) {
+                const Tfloat val0 = (Tfloat)(*this)(x,y,z,c), val1 = (Tfloat)(*this)(x,y,zd,c);
+                res(x,y,z2++,c) = (val0 - val1)/sqrt2;
+                res(x,y,z2++,c) = (val0 + val1)/sqrt2;
+              }
+            } else cimg_forXYC(*this,x,y,c) {
+              for (unsigned int z = 0, zd = d, z2 = 0; z<d; ++z, ++zd) { // Direct transform along Z
+                const Tfloat val0 = (Tfloat)(*this)(x,y,z2++,c), val1 = (Tfloat)(*this)(x,y,z2++,c);
+                res(x,y,z,c)  = (val0 + val1)/sqrt2;
+                res(x,y,zd,c) = (val1 - val0)/sqrt2;
+              }
+            }
+          } else return *this;
+        } break;
+        default :
+          throw CImgArgumentException(_cimg_instance
+                                      "haar(): Invalid specified axis '%c' "
+                                      "(should be { x | y | z }).",
+                                      cimg_instance,
+                                      axis);
+        }
+      } else { // Multi-scale version
+        if (invert) {
+          res.assign(*this);
+          switch (cimg::uncase(axis)) {
+          case 'x' : {
+            unsigned int w = _width;
+            for (unsigned int s = 1; w && s<nb_scales; ++s) w/=2;
+            for (w = w?w:1; w<=_width; w*=2) res.draw_image(res.get_crop(0,w - 1).get_haar('x',true,1));
+          } break;
+          case 'y' : {
+            unsigned int h = _width;
+            for (unsigned int s = 1; h && s<nb_scales; ++s) h/=2;
+            for (h = h?h:1; h<=_height; h*=2) res.draw_image(res.get_crop(0,0,_width - 1,h - 1).get_haar('y',true,1));
+          } break;
+          case 'z' : {
+            unsigned int d = _depth;
+            for (unsigned int s = 1; d && s<nb_scales; ++s) d/=2;
+            for (d = d?d:1; d<=_depth; d*=2)
+              res.draw_image(res.get_crop(0,0,0,_width - 1,_height - 1,d - 1).get_haar('z',true,1));
+          } break;
+          default :
+            throw CImgArgumentException(_cimg_instance
+                                        "haar(): Invalid specified axis '%c' "
+                                        "(should be { x | y | z }).",
+                                        cimg_instance,
+                                        axis);
+          }
+        } else { // Direct transform
+          res = get_haar(axis,false,1);
+          switch (cimg::uncase(axis)) {
+          case 'x' : {
+            for (unsigned int s = 1, w = _width/2; w && s<nb_scales; ++s, w/=2)
+              res.draw_image(res.get_crop(0,w - 1).get_haar('x',false,1));
+          } break;
+          case 'y' : {
+            for (unsigned int s = 1, h = _height/2; h && s<nb_scales; ++s, h/=2)
+              res.draw_image(res.get_crop(0,0,_width - 1,h - 1).get_haar('y',false,1));
+          } break;
+          case 'z' : {
+            for (unsigned int s = 1, d = _depth/2; d && s<nb_scales; ++s, d/=2)
+              res.draw_image(res.get_crop(0,0,0,_width - 1,_height - 1,d - 1).get_haar('z',false,1));
+          } break;
+          default :
+            throw CImgArgumentException(_cimg_instance
+                                        "haar(): Invalid specified axis '%c' "
+                                        "(should be { x | y | z }).",
+                                        cimg_instance,
+                                        axis);
+          }
+        }
+      }
+      return res;
+    }
+
+    //! Compute Haar multiscale wavelet transform \overloading.
+    /**
+       \param invert Set inverse of direct transform.
+       \param nb_scales Number of scales used for the transform.
+    **/
+    CImg<T>& haar(const bool invert=false, const unsigned int nb_scales=1) {
+      return get_haar(invert,nb_scales).move_to(*this);
+    }
+
+    //! Compute Haar multiscale wavelet transform \newinstance.
+    CImg<Tfloat> get_haar(const bool invert=false, const unsigned int nb_scales=1) const {
+      CImg<Tfloat> res;
+      if (nb_scales==1) { // Single scale transform
+        if (_width>1) get_haar('x',invert,1).move_to(res);
+        if (_height>1) { if (res) res.haar('y',invert,1); else get_haar('y',invert,1).move_to(res); }
+        if (_depth>1) { if (res) res.haar('z',invert,1); else get_haar('z',invert,1).move_to(res); }
+        if (res) return res;
+      } else { // Multi-scale transform
+        if (invert) { // Inverse transform
+          res.assign(*this);
+          if (_width>1) {
+            if (_height>1) {
+              if (_depth>1) {
+                unsigned int w = _width, h = _height, d = _depth;
+                for (unsigned int s = 1; w && h && d && s<nb_scales; ++s) { w/=2; h/=2; d/=2; }
+                for (w = w?w:1, h = h?h:1, d = d?d:1; w<=_width && h<=_height && d<=_depth; w*=2, h*=2, d*=2)
+                  res.draw_image(res.get_crop(0,0,0,w - 1,h - 1,d - 1).get_haar(true,1));
+              } else {
+                unsigned int w = _width, h = _height;
+                for (unsigned int s = 1; w && h && s<nb_scales; ++s) { w/=2; h/=2; }
+                for (w = w?w:1, h = h?h:1; w<=_width && h<=_height; w*=2, h*=2)
+                  res.draw_image(res.get_crop(0,0,0,w - 1,h - 1,0).get_haar(true,1));
+              }
+            } else {
+              if (_depth>1) {
+                unsigned int w = _width, d = _depth;
+                for (unsigned int s = 1; w && d && s<nb_scales; ++s) { w/=2; d/=2; }
+                for (w = w?w:1, d = d?d:1; w<=_width && d<=_depth; w*=2, d*=2)
+                  res.draw_image(res.get_crop(0,0,0,w - 1,0,d - 1).get_haar(true,1));
+              } else {
+                unsigned int w = _width;
+                for (unsigned int s = 1; w && s<nb_scales; ++s) w/=2;
+                for (w = w?w:1; w<=_width; w*=2)
+                  res.draw_image(res.get_crop(0,0,0,w - 1,0,0).get_haar(true,1));
+              }
+            }
+          } else {
+            if (_height>1) {
+              if (_depth>1) {
+                unsigned int h = _height, d = _depth;
+                for (unsigned int s = 1; h && d && s<nb_scales; ++s) { h/=2; d/=2; }
+                for (h = h?h:1, d = d?d:1; h<=_height && d<=_depth; h*=2, d*=2)
+                  res.draw_image(res.get_crop(0,0,0,0,h - 1,d - 1).get_haar(true,1));
+              } else {
+                unsigned int h = _height;
+                for (unsigned int s = 1; h && s<nb_scales; ++s) h/=2;
+                for (h = h?h:1; h<=_height; h*=2)
+                  res.draw_image(res.get_crop(0,0,0,0,h - 1,0).get_haar(true,1));
+              }
+            } else {
+              if (_depth>1) {
+                unsigned int d = _depth;
+                for (unsigned int s = 1; d && s<nb_scales; ++s) d/=2;
+                for (d = d?d:1; d<=_depth; d*=2)
+                  res.draw_image(res.get_crop(0,0,0,0,0,d - 1).get_haar(true,1));
+              } else return *this;
+            }
+          }
+        } else { // Direct transform
+          res = get_haar(false,1);
+          if (_width>1) {
+            if (_height>1) {
+              if (_depth>1)
+                for (unsigned int s = 1, w = _width/2, h = _height/2, d = _depth/2; w && h && d && s<nb_scales;
+                     ++s, w/=2, h/=2, d/=2)
+                  res.draw_image(res.get_crop(0,0,0,w - 1,h - 1,d - 1).haar(false,1));
+              else for (unsigned int s = 1, w = _width/2, h = _height/2; w && h && s<nb_scales; ++s, w/=2, h/=2)
+                     res.draw_image(res.get_crop(0,0,0,w - 1,h - 1,0).haar(false,1));
+            } else {
+              if (_depth>1) for (unsigned int s = 1, w = _width/2, d = _depth/2; w && d && s<nb_scales; ++s, w/=2, d/=2)
+                              res.draw_image(res.get_crop(0,0,0,w - 1,0,d - 1).haar(false,1));
+              else for (unsigned int s = 1, w = _width/2; w && s<nb_scales; ++s, w/=2)
+                     res.draw_image(res.get_crop(0,0,0,w - 1,0,0).haar(false,1));
+            }
+          } else {
+            if (_height>1) {
+              if (_depth>1)
+                for (unsigned int s = 1, h = _height/2, d = _depth/2; h && d && s<nb_scales; ++s, h/=2, d/=2)
+                  res.draw_image(res.get_crop(0,0,0,0,h - 1,d - 1).haar(false,1));
+              else for (unsigned int s = 1, h = _height/2; h && s<nb_scales; ++s, h/=2)
+                     res.draw_image(res.get_crop(0,0,0,0,h - 1,0).haar(false,1));
+            } else {
+              if (_depth>1) for (unsigned int s = 1, d = _depth/2; d && s<nb_scales; ++s, d/=2)
+                              res.draw_image(res.get_crop(0,0,0,0,0,d - 1).haar(false,1));
+              else return *this;
+            }
+          }
+        }
+        return res;
+      }
+      return *this;
+    }
+
+    //! Compute 1d Fast Fourier Transform, along a specified axis.
+    /**
+       \param axis Axis along which the FFT is computed.
+       \param is_invert Tells if the forward (\c false) or inverse (\c true) FFT is computed.
+    **/
+    CImgList<Tfloat> get_FFT(const char axis, const bool is_invert=false) const {
+      CImgList<Tfloat> res(*this,CImg<Tfloat>());
+      CImg<Tfloat>::FFT(res[0],res[1],axis,is_invert);
+      return res;
+    }
+
+    //! Compute n-d Fast Fourier Transform.
+    /*
+      \param is_invert Tells if the forward (\c false) or inverse (\c true) FFT is computed.
+    **/
+    CImgList<Tfloat> get_FFT(const bool is_invert=false) const {
+      CImgList<Tfloat> res(*this,CImg<Tfloat>());
+      CImg<Tfloat>::FFT(res[0],res[1],is_invert);
+      return res;
+    }
+
+    //! Compute 1d Fast Fourier Transform, along a specified axis.
+    /**
+       \param[in,out] real Real part of the pixel values.
+       \param[in,out] imag Imaginary part of the pixel values.
+       \param axis Axis along which the FFT is computed.
+       \param is_invert Tells if the forward (\c false) or inverse (\c true) FFT is computed.
+    **/
+    static void FFT(CImg<T>& real, CImg<T>& imag, const char axis, const bool is_invert=false) {
+      if (!real)
+        throw CImgInstanceException("CImg<%s>::FFT(): Specified real part is empty.",
+                                    pixel_type());
+
+      if (!imag) imag.assign(real._width,real._height,real._depth,real._spectrum,0);
+      if (!real.is_sameXYZC(imag))
+        throw CImgInstanceException("CImg<%s>::FFT(): Specified real part (%u,%u,%u,%u,%p) and "
+                                    "imaginary part (%u,%u,%u,%u,%p) have different dimensions.",
+                                    pixel_type(),
+                                    real._width,real._height,real._depth,real._spectrum,real._data,
+                                    imag._width,imag._height,imag._depth,imag._spectrum,imag._data);
+#ifdef cimg_use_fftw3
+      cimg::mutex(12);
+      fftw_complex *data_in;
+      fftw_plan data_plan;
+
+      switch (cimg::uncase(axis)) {
+      case 'x' : { // Fourier along X, using FFTW library.
+        data_in = (fftw_complex*)fftw_malloc(sizeof(fftw_complex)*real._width);
+        if (!data_in) throw CImgInstanceException("CImgList<%s>::FFT(): Failed to allocate memory (%s) "
+                                                  "for computing FFT of image (%u,%u,%u,%u) along the X-axis.",
+                                                  pixel_type(),
+                                                  cimg::strbuffersize(sizeof(fftw_complex)*real._width),
+                                                  real._width,real._height,real._depth,real._spectrum);
+
+        data_plan = fftw_plan_dft_1d(real._width,data_in,data_in,is_invert?FFTW_BACKWARD:FFTW_FORWARD,FFTW_ESTIMATE);
+        cimg_forYZC(real,y,z,c) {
+          T *ptrr = real.data(0,y,z,c), *ptri = imag.data(0,y,z,c);
+          double *ptrd = (double*)data_in;
+          cimg_forX(real,x) { *(ptrd++) = (double)*(ptrr++); *(ptrd++) = (double)*(ptri++); }
+          fftw_execute(data_plan);
+          const unsigned int fact = real._width;
+          if (is_invert) cimg_forX(real,x) { *(--ptri) = (T)(*(--ptrd)/fact); *(--ptrr) = (T)(*(--ptrd)/fact); }
+          else cimg_forX(real,x) { *(--ptri) = (T)*(--ptrd); *(--ptrr) = (T)*(--ptrd); }
+        }
+      } break;
+      case 'y' : { // Fourier along Y, using FFTW library.
+        data_in = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * real._height);
+        if (!data_in) throw CImgInstanceException("CImgList<%s>::FFT(): Failed to allocate memory (%s) "
+                                                  "for computing FFT of image (%u,%u,%u,%u) along the Y-axis.",
+                                                  pixel_type(),
+                                                  cimg::strbuffersize(sizeof(fftw_complex)*real._height),
+                                                  real._width,real._height,real._depth,real._spectrum);
+
+        data_plan = fftw_plan_dft_1d(real._height,data_in,data_in,is_invert?FFTW_BACKWARD:FFTW_FORWARD,FFTW_ESTIMATE);
+        const unsigned int off = real._width;
+        cimg_forXZC(real,x,z,c) {
+          T *ptrr = real.data(x,0,z,c), *ptri = imag.data(x,0,z,c);
+          double *ptrd = (double*)data_in;
+          cimg_forY(real,y) { *(ptrd++) = (double)*ptrr; *(ptrd++) = (double)*ptri; ptrr+=off; ptri+=off; }
+          fftw_execute(data_plan);
+          const unsigned int fact = real._height;
+          if (is_invert)
+            cimg_forY(real,y) { ptrr-=off; ptri-=off; *ptri = (T)(*(--ptrd)/fact); *ptrr = (T)(*(--ptrd)/fact); }
+          else cimg_forY(real,y) { ptrr-=off; ptri-=off; *ptri = (T)*(--ptrd); *ptrr = (T)*(--ptrd); }
+        }
+      } break;
+      case 'z' : { // Fourier along Z, using FFTW library.
+        data_in = (fftw_complex*)fftw_malloc(sizeof(fftw_complex) * real._depth);
+        if (!data_in) throw CImgInstanceException("CImgList<%s>::FFT(): Failed to allocate memory (%s) "
+                                                  "for computing FFT of image (%u,%u,%u,%u) along the Z-axis.",
+                                                  pixel_type(),
+                                                  cimg::strbuffersize(sizeof(fftw_complex)*real._depth),
+                                                  real._width,real._height,real._depth,real._spectrum);
+
+        data_plan = fftw_plan_dft_1d(real._depth,data_in,data_in,is_invert?FFTW_BACKWARD:FFTW_FORWARD,FFTW_ESTIMATE);
+        const unsigned long off = (unsigned long)real._width*real._height;
+        cimg_forXYC(real,x,y,c) {
+          T *ptrr = real.data(x,y,0,c), *ptri = imag.data(x,y,0,c);
+          double *ptrd = (double*)data_in;
+          cimg_forZ(real,z) { *(ptrd++) = (double)*ptrr; *(ptrd++) = (double)*ptri; ptrr+=off; ptri+=off; }
+          fftw_execute(data_plan);
+          const unsigned int fact = real._depth;
+          if (is_invert)
+            cimg_forZ(real,z) { ptrr-=off; ptri-=off; *ptri = (T)(*(--ptrd)/fact); *ptrr = (T)(*(--ptrd)/fact); }
+          else cimg_forZ(real,z) { ptrr-=off; ptri-=off; *ptri = (T)*(--ptrd); *ptrr = (T)*(--ptrd); }
+        }
+      } break;
+      default :
+        throw CImgArgumentException("CImgList<%s>::FFT(): Invalid specified axis '%c' for real and imaginary parts "
+                                    "(%u,%u,%u,%u) "
+                                    "(should be { x | y | z }).",
+                                    pixel_type(),axis,
+                                    real._width,real._height,real._depth,real._spectrum);
+      }
+      fftw_destroy_plan(data_plan);
+      fftw_free(data_in);
+      cimg::mutex(12,0);
+#else
+      switch (cimg::uncase(axis)) {
+      case 'x' : { // Fourier along X, using built-in functions.
+        const unsigned int N = real._width, N2 = (N>>1);
+        if (((N - 1)&N) && N!=1)
+          throw CImgInstanceException("CImgList<%s>::FFT(): Specified real and imaginary parts (%u,%u,%u,%u) "
+                                      "have non 2^N dimension along the X-axis.",
+                                      pixel_type(),
+                                      real._width,real._height,real._depth,real._spectrum);
+
+        for (unsigned int i = 0, j = 0; i<N2; ++i) {
+          if (j>i) cimg_forYZC(real,y,z,c) {
+            cimg::swap(real(i,y,z,c),real(j,y,z,c)); cimg::swap(imag(i,y,z,c),imag(j,y,z,c));
+            if (j<N2) {
+              const unsigned int ri = N - 1 - i, rj = N - 1 - j;
+              cimg::swap(real(ri,y,z,c),real(rj,y,z,c)); cimg::swap(imag(ri,y,z,c),imag(rj,y,z,c));
+            }
+          }
+          for (unsigned int m = N, n = N2; (j+=n)>=m; j-=m, m = n, n>>=1) {}
+        }
+        for (unsigned int delta = 2; delta<=N; delta<<=1) {
+          const unsigned int delta2 = (delta>>1);
+          for (unsigned int i = 0; i<N; i+=delta) {
+            float wr = 1, wi = 0;
+            const float angle = (float)((is_invert?+1:-1)*2*cimg::PI/delta),
+                        ca = (float)std::cos(angle),
+                        sa = (float)std::sin(angle);
+            for (unsigned int k = 0; k<delta2; ++k) {
+              const unsigned int j = i + k, nj = j + delta2;
+              cimg_forYZC(real,y,z,c) {
+                T &ir = real(j,y,z,c), &ii = imag(j,y,z,c), &nir = real(nj,y,z,c), &nii = imag(nj,y,z,c);
+                const float tmpr = (float)(wr*nir - wi*nii), tmpi = (float)(wr*nii + wi*nir);
+                nir = (T)(ir - tmpr);
+                nii = (T)(ii - tmpi);
+                ir+=(T)tmpr;
+                ii+=(T)tmpi;
+              }
+              const float nwr = wr*ca-wi*sa;
+              wi = wi*ca + wr*sa;
+              wr = nwr;
+            }
+          }
+        }
+        if (is_invert) { real/=N; imag/=N; }
+      } break;
+      case 'y' : { // Fourier along Y, using built-in functions.
+        const unsigned int N = real._height, N2 = (N>>1);
+        if (((N - 1)&N) && N!=1)
+          throw CImgInstanceException("CImgList<%s>::FFT(): Specified real and imaginary parts (%u,%u,%u,%u) "
+                                      "have non 2^N dimension along the Y-axis.",
+                                      pixel_type(),
+                                      real._width,real._height,real._depth,real._spectrum);
+
+        for (unsigned int i = 0, j = 0; i<N2; ++i) {
+          if (j>i) cimg_forXZC(real,x,z,c) {
+            cimg::swap(real(x,i,z,c),real(x,j,z,c)); cimg::swap(imag(x,i,z,c),imag(x,j,z,c));
+            if (j<N2) {
+              const unsigned int ri = N - 1 - i, rj = N - 1 - j;
+              cimg::swap(real(x,ri,z,c),real(x,rj,z,c)); cimg::swap(imag(x,ri,z,c),imag(x,rj,z,c));
+            }
+          }
+          for (unsigned int m = N, n = N2; (j+=n)>=m; j-=m, m = n, n>>=1) {}
+        }
+        for (unsigned int delta = 2; delta<=N; delta<<=1) {
+          const unsigned int delta2 = (delta>>1);
+          for (unsigned int i = 0; i<N; i+=delta) {
+            float wr = 1, wi = 0;
+            const float angle = (float)((is_invert?+1:-1)*2*cimg::PI/delta),
+                        ca = (float)std::cos(angle), sa = (float)std::sin(angle);
+            for (unsigned int k = 0; k<delta2; ++k) {
+              const unsigned int j = i + k, nj = j + delta2;
+              cimg_forXZC(real,x,z,c) {
+                T &ir = real(x,j,z,c), &ii = imag(x,j,z,c), &nir = real(x,nj,z,c), &nii = imag(x,nj,z,c);
+                const float tmpr = (float)(wr*nir - wi*nii), tmpi = (float)(wr*nii + wi*nir);
+                nir = (T)(ir - tmpr);
+                nii = (T)(ii - tmpi);
+                ir+=(T)tmpr;
+                ii+=(T)tmpi;
+              }
+              const float nwr = wr*ca-wi*sa;
+              wi = wi*ca + wr*sa;
+              wr = nwr;
+            }
+          }
+        }
+        if (is_invert) { real/=N; imag/=N; }
+      } break;
+      case 'z' : { // Fourier along Z, using built-in functions.
+        const unsigned int N = real._depth, N2 = (N>>1);
+        if (((N - 1)&N) && N!=1)
+          throw CImgInstanceException("CImgList<%s>::FFT(): Specified real and imaginary parts (%u,%u,%u,%u) "
+                                      "have non 2^N dimension along the Z-axis.",
+                                      pixel_type(),
+                                      real._width,real._height,real._depth,real._spectrum);
+
+        for (unsigned int i = 0, j = 0; i<N2; ++i) {
+          if (j>i) cimg_forXYC(real,x,y,c) {
+            cimg::swap(real(x,y,i,c),real(x,y,j,c)); cimg::swap(imag(x,y,i,c),imag(x,y,j,c));
+            if (j<N2) {
+              const unsigned int ri = N - 1 - i, rj = N - 1 - j;
+              cimg::swap(real(x,y,ri,c),real(x,y,rj,c)); cimg::swap(imag(x,y,ri,c),imag(x,y,rj,c));
+            }
+          }
+          for (unsigned int m = N, n = N2; (j+=n)>=m; j-=m, m = n, n>>=1) {}
+        }
+        for (unsigned int delta = 2; delta<=N; delta<<=1) {
+          const unsigned int delta2 = (delta>>1);
+          for (unsigned int i = 0; i<N; i+=delta) {
+            float wr = 1, wi = 0;
+            const float angle = (float)((is_invert?+1:-1)*2*cimg::PI/delta),
+                        ca = (float)std::cos(angle), sa = (float)std::sin(angle);
+            for (unsigned int k = 0; k<delta2; ++k) {
+              const unsigned int j = i + k, nj = j + delta2;
+              cimg_forXYC(real,x,y,c) {
+                T &ir = real(x,y,j,c), &ii = imag(x,y,j,c), &nir = real(x,y,nj,c), &nii = imag(x,y,nj,c);
+                const float tmpr = (float)(wr*nir - wi*nii), tmpi = (float)(wr*nii + wi*nir);
+                nir = (T)(ir - tmpr);
+                nii = (T)(ii - tmpi);
+                ir+=(T)tmpr;
+                ii+=(T)tmpi;
+              }
+              const float nwr = wr*ca-wi*sa;
+              wi = wi*ca + wr*sa;
+              wr = nwr;
+            }
+          }
+        }
+        if (is_invert) { real/=N; imag/=N; }
+      } break;
+      default :
+        throw CImgArgumentException("CImgList<%s>::FFT(): Invalid specified axis '%c' for real and imaginary parts "
+                                    "(%u,%u,%u,%u) "
+                                    "(should be { x | y | z }).",
+                                    pixel_type(),axis,
+                                    real._width,real._height,real._depth,real._spectrum);
+      }
+#endif
+    }
+
+    //! Compute n-d Fast Fourier Transform.
+    /**
+       \param[in,out] real Real part of the pixel values.
+       \param[in,out] imag Imaginary part of the pixel values.
+       \param is_invert Tells if the forward (\c false) or inverse (\c true) FFT is computed.
+       \param nb_threads Number of parallel threads used for the computation.
+         Use \c 0 to set this to the number of available cpus.
+    **/
+    static void FFT(CImg<T>& real, CImg<T>& imag, const bool is_invert=false, const unsigned int nb_threads=0) {
+      if (!real)
+        throw CImgInstanceException("CImgList<%s>::FFT(): Empty specified real part.",
+                                    pixel_type());
+
+      if (!imag) imag.assign(real._width,real._height,real._depth,real._spectrum,0);
+      if (!real.is_sameXYZC(imag))
+        throw CImgInstanceException("CImgList<%s>::FFT(): Specified real part (%u,%u,%u,%u,%p) and "
+                                    "imaginary part (%u,%u,%u,%u,%p) have different dimensions.",
+                                    pixel_type(),
+                                    real._width,real._height,real._depth,real._spectrum,real._data,
+                                    imag._width,imag._height,imag._depth,imag._spectrum,imag._data);
+
+#ifdef cimg_use_fftw3
+      cimg::mutex(12);
+#ifndef cimg_use_fftw3_singlethread
+      const unsigned int _nb_threads = nb_threads?nb_threads:cimg::nb_cpus();
+      static int fftw_st = fftw_init_threads();
+      cimg::unused(fftw_st);
+      fftw_plan_with_nthreads(_nb_threads);
+#else
+      cimg::unused(nb_threads);
+#endif
+      fftw_complex *data_in = (fftw_complex*)fftw_malloc(sizeof(fftw_complex)*real._width*real._height*real._depth);
+      if (!data_in) throw CImgInstanceException("CImgList<%s>::FFT(): Failed to allocate memory (%s) "
+                                                "for computing FFT of image (%u,%u,%u,%u).",
+                                                pixel_type(),
+                                                cimg::strbuffersize(sizeof(fftw_complex)*real._width*
+                                                                    real._height*real._depth*real._spectrum),
+                                                real._width,real._height,real._depth,real._spectrum);
+
+      fftw_plan data_plan;
+      const unsigned long w = (unsigned long)real._width, wh = w*real._height, whd = wh*real._depth;
+      data_plan = fftw_plan_dft_3d(real._width,real._height,real._depth,data_in,data_in,
+                                   is_invert?FFTW_BACKWARD:FFTW_FORWARD,FFTW_ESTIMATE);
+      cimg_forC(real,c) {
+        T *ptrr = real.data(0,0,0,c), *ptri = imag.data(0,0,0,c);
+        double *ptrd = (double*)data_in;
+        for (unsigned int x = 0; x<real._width; ++x, ptrr-=wh - 1, ptri-=wh - 1)
+          for (unsigned int y = 0; y<real._height; ++y, ptrr-=whd-w, ptri-=whd-w)
+            for (unsigned int z = 0; z<real._depth; ++z, ptrr+=wh, ptri+=wh) {
+              *(ptrd++) = (double)*ptrr; *(ptrd++) = (double)*ptri;
+            }
+        fftw_execute(data_plan);
+        ptrd = (double*)data_in;
+        ptrr = real.data(0,0,0,c);
+        ptri = imag.data(0,0,0,c);
+        if (!is_invert) for (unsigned int x = 0; x<real._width; ++x, ptrr-=wh - 1, ptri-=wh - 1)
+          for (unsigned int y = 0; y<real._height; ++y, ptrr-=whd-w, ptri-=whd-w)
+            for (unsigned int z = 0; z<real._depth; ++z, ptrr+=wh, ptri+=wh) {
+              *ptrr = (T)*(ptrd++); *ptri = (T)*(ptrd++);
+            }
+        else for (unsigned int x = 0; x<real._width; ++x, ptrr-=wh - 1, ptri-=wh - 1)
+          for (unsigned int y = 0; y<real._height; ++y, ptrr-=whd-w, ptri-=whd-w)
+            for (unsigned int z = 0; z<real._depth; ++z, ptrr+=wh, ptri+=wh) {
+              *ptrr = (T)(*(ptrd++)/whd); *ptri = (T)(*(ptrd++)/whd);
+            }
+      }
+      fftw_destroy_plan(data_plan);
+      fftw_free(data_in);
+#ifndef cimg_use_fftw3_singlethread
+      fftw_cleanup_threads();
+#endif
+      cimg::mutex(12,0);
+#else
+      cimg::unused(nb_threads);
+      if (real._depth>1) FFT(real,imag,'z',is_invert);
+      if (real._height>1) FFT(real,imag,'y',is_invert);
+      if (real._width>1) FFT(real,imag,'x',is_invert);
+#endif
+    }
+
+    //@}
+    //-------------------------------------
+    //
+    //! \name 3d Objects Management
+    //@{
+    //-------------------------------------
+
+    //! Shift 3d object's vertices.
+    /**
+       \param tx X-coordinate of the 3d displacement vector.
+       \param ty Y-coordinate of the 3d displacement vector.
+       \param tz Z-coordinate of the 3d displacement vector.
+    **/
+    CImg<T>& shift_object3d(const float tx, const float ty=0, const float tz=0) {
+      if (_height!=3 || _depth>1 || _spectrum>1)
+        throw CImgInstanceException(_cimg_instance
+                                    "shift_object3d(): Instance is not a set of 3d vertices.",
+                                    cimg_instance);
+
+      get_shared_row(0)+=tx; get_shared_row(1)+=ty; get_shared_row(2)+=tz;
+      return *this;
+    }
+
+    //! Shift 3d object's vertices \newinstance.
+    CImg<Tfloat> get_shift_object3d(const float tx, const float ty=0, const float tz=0) const {
+      return CImg<Tfloat>(*this,false).shift_object3d(tx,ty,tz);
+    }
+
+    //! Shift 3d object's vertices, so that it becomes centered.
+    /**
+       \note The object center is computed as its barycenter.
+    **/
+    CImg<T>& shift_object3d() {
+      if (_height!=3 || _depth>1 || _spectrum>1)
+        throw CImgInstanceException(_cimg_instance
+                                    "shift_object3d(): Instance is not a set of 3d vertices.",
+                                    cimg_instance);
+
+      CImg<T> xcoords = get_shared_row(0), ycoords = get_shared_row(1), zcoords = get_shared_row(2);
+      float
+        xm, xM = (float)xcoords.max_min(xm),
+        ym, yM = (float)ycoords.max_min(ym),
+        zm, zM = (float)zcoords.max_min(zm);
+      xcoords-=(xm + xM)/2; ycoords-=(ym + yM)/2; zcoords-=(zm + zM)/2;
+      return *this;
+    }
+
+    //! Shift 3d object's vertices, so that it becomes centered \newinstance.
+    CImg<Tfloat> get_shift_object3d() const {
+      return CImg<Tfloat>(*this,false).shift_object3d();
+    }
+
+    //! Resize 3d object.
+    /**
+       \param sx Width of the 3d object's bounding box.
+       \param sy Height of the 3d object's bounding box.
+       \param sz Depth of the 3d object's bounding box.
+    **/
+    CImg<T>& resize_object3d(const float sx, const float sy=-100, const float sz=-100) {
+      if (_height!=3 || _depth>1 || _spectrum>1)
+        throw CImgInstanceException(_cimg_instance
+                                    "resize_object3d(): Instance is not a set of 3d vertices.",
+                                    cimg_instance);
+
+      CImg<T> xcoords = get_shared_row(0), ycoords = get_shared_row(1), zcoords = get_shared_row(2);
+      float
+        xm, xM = (float)xcoords.max_min(xm),
+        ym, yM = (float)ycoords.max_min(ym),
+        zm, zM = (float)zcoords.max_min(zm);
+      if (xm<xM) { if (sx>0) xcoords*=sx/(xM-xm); else xcoords*=-sx/100; }
+      if (ym<yM) { if (sy>0) ycoords*=sy/(yM-ym); else ycoords*=-sy/100; }
+      if (zm<zM) { if (sz>0) zcoords*=sz/(zM-zm); else zcoords*=-sz/100; }
+      return *this;
+    }
+
+    //! Resize 3d object \newinstance.
+    CImg<Tfloat> get_resize_object3d(const float sx, const float sy=-100, const float sz=-100) const {
+      return CImg<Tfloat>(*this,false).resize_object3d(sx,sy,sz);
+    }
+
+    //! Resize 3d object to unit size.
+    CImg<T> resize_object3d() {
+      if (_height!=3 || _depth>1 || _spectrum>1)
+        throw CImgInstanceException(_cimg_instance
+                                    "resize_object3d(): Instance is not a set of 3d vertices.",
+                                    cimg_instance);
+
+      CImg<T> xcoords = get_shared_row(0), ycoords = get_shared_row(1), zcoords = get_shared_row(2);
+      float
+        xm, xM = (float)xcoords.max_min(xm),
+        ym, yM = (float)ycoords.max_min(ym),
+        zm, zM = (float)zcoords.max_min(zm);
+      const float dx = xM - xm, dy = yM - ym, dz = zM - zm, dmax = cimg::max(dx,dy,dz);
+      if (dmax>0) { xcoords/=dmax; ycoords/=dmax; zcoords/=dmax; }
+      return *this;
+    }
+
+    //! Resize 3d object to unit size \newinstance.
+    CImg<Tfloat> get_resize_object3d() const {
+      return CImg<Tfloat>(*this,false).resize_object3d();
+    }
+
+    //! Merge two 3d objects together.
+    /**
+       \param[in,out] primitives Primitives data of the current 3d object.
+       \param obj_vertices Vertices data of the additional 3d object.
+       \param obj_primitives Primitives data of the additional 3d object.
+    **/
+    template<typename tf, typename tp, typename tff>
+    CImg<T>& append_object3d(CImgList<tf>& primitives, const CImg<tp>& obj_vertices,
+                             const CImgList<tff>& obj_primitives) {
+      if (!obj_vertices || !obj_primitives) return *this;
+      if (obj_vertices._height!=3 || obj_vertices._depth>1 || obj_vertices._spectrum>1)
+        throw CImgInstanceException(_cimg_instance
+                                    "append_object3d(): Specified vertice image (%u,%u,%u,%u,%p) is not a "
+                                    "set of 3d vertices.",
+                                    cimg_instance,
+                                    obj_vertices._width,obj_vertices._height,
+                                    obj_vertices._depth,obj_vertices._spectrum,obj_vertices._data);
+
+      if (is_empty()) { primitives.assign(obj_primitives); return assign(obj_vertices); }
+      if (_height!=3 || _depth>1 || _spectrum>1)
+        throw CImgInstanceException(_cimg_instance
+                                    "append_object3d(): Instance is not a set of 3d vertices.",
+                                    cimg_instance);
+
+      const unsigned int P = _width;
+      append(obj_vertices,'x');
+      const unsigned int N = primitives._width;
+      primitives.insert(obj_primitives);
+      for (unsigned int i = N; i<primitives._width; ++i) {
+        CImg<tf> &p = primitives[i];
+        switch (p.size()) {
+        case 1 : p[0]+=P; break; // Point.
+        case 5 : p[0]+=P; p[1]+=P; break; // Sphere.
+        case 2 : case 6 : p[0]+=P; p[1]+=P; break; // Segment.
+        case 3 : case 9 : p[0]+=P; p[1]+=P; p[2]+=P; break; // Triangle.
+        case 4 : case 12 : p[0]+=P; p[1]+=P; p[2]+=P; p[3]+=P; break; // Rectangle.
+        }
+      }
+      return *this;
+    }
+
+    //! Texturize primitives of a 3d object.
+    /**
+       \param[in,out] primitives Primitives data of the 3d object.
+       \param[in,out] colors Colors data of the 3d object.
+       \param texture Texture image to map to 3d object.
+       \param coords Texture-mapping coordinates.
+    **/
+    template<typename tp, typename tc, typename tt, typename tx>
+    const CImg<T>& texturize_object3d(CImgList<tp>& primitives, CImgList<tc>& colors,
+                                      const CImg<tt>& texture, const CImg<tx>& coords=CImg<tx>::empty()) const {
+      if (is_empty()) return *this;
+      if (_height!=3)
+        throw CImgInstanceException(_cimg_instance
+                                    "texturize_object3d(): image instance is not a set of 3d points.",
+                                    cimg_instance);
+      if (coords && (coords._width!=_width || coords._height!=2))
+        throw CImgArgumentException(_cimg_instance
+                                    "texturize_object3d(): Invalid specified texture coordinates (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    coords._width,coords._height,coords._depth,coords._spectrum,coords._data);
+      CImg<intT> _coords;
+      if (!coords) { // If no texture coordinates specified, do a default XY-projection.
+        _coords.assign(_width,2);
+        float
+          xmin, xmax = (float)get_shared_row(0).max_min(xmin),
+          ymin, ymax = (float)get_shared_row(1).max_min(ymin),
+          dx = xmax>xmin?xmax-xmin:1,
+          dy = ymax>ymin?ymax-ymin:1;
+        cimg_forX(*this,p) {
+          _coords(p,0) = (int)(((*this)(p,0) - xmin)*texture._width/dx);
+          _coords(p,1) = (int)(((*this)(p,1) - ymin)*texture._height/dy);
+        }
+      } else _coords = coords;
+
+      int texture_ind = -1;
+      cimglist_for(primitives,l) {
+        CImg<tp> &p = primitives[l];
+        const unsigned int siz = p.size();
+        switch (siz) {
+        case 1 : { // Point.
+          const unsigned int i0 = (unsigned int)p[0];
+          const int x0 = _coords(i0,0), y0 = _coords(i0,1);
+          texture.get_vector_at(x0<=0?0:x0>=texture.width()?texture.width() - 1:x0,
+                                y0<=0?0:y0>=texture.height()?texture.height() - 1:y0).move_to(colors[l]);
+        } break;
+        case 2 : case 6 : { // Line.
+          const unsigned int i0 = (unsigned int)p[0], i1 = (unsigned int)p[1];
+          const int
+            x0 = _coords(i0,0), y0 = _coords(i0,1),
+            x1 = _coords(i1,0), y1 = _coords(i1,1);
+          if (texture_ind<0) colors[texture_ind=l].assign(texture,false);
+          else colors[l].assign(colors[texture_ind],true);
+          CImg<tp>::vector(i0,i1,x0,y0,x1,y1).move_to(p);
+        } break;
+        case 3 : case 9 : { // Triangle.
+          const unsigned int i0 = (unsigned int)p[0], i1 = (unsigned int)p[1], i2 = (unsigned int)p[2];
+          const int
+            x0 = _coords(i0,0), y0 = _coords(i0,1),
+            x1 = _coords(i1,0), y1 = _coords(i1,1),
+            x2 = _coords(i2,0), y2 = _coords(i2,1);
+          if (texture_ind<0) colors[texture_ind=l].assign(texture,false);
+          else colors[l].assign(colors[texture_ind],true);
+          CImg<tp>::vector(i0,i1,i2,x0,y0,x1,y1,x2,y2).move_to(p);
+        } break;
+        case 4 : case 12 : { // Quadrangle.
+          const unsigned int
+            i0 = (unsigned int)p[0], i1 = (unsigned int)p[1], i2 = (unsigned int)p[2], i3 = (unsigned int)p[3];
+          const int
+            x0 = _coords(i0,0), y0 = _coords(i0,1),
+            x1 = _coords(i1,0), y1 = _coords(i1,1),
+            x2 = _coords(i2,0), y2 = _coords(i2,1),
+            x3 = _coords(i3,0), y3 = _coords(i3,1);
+          if (texture_ind<0) colors[texture_ind=l].assign(texture,false);
+          else colors[l].assign(colors[texture_ind],true);
+          CImg<tp>::vector(i0,i1,i2,i3,x0,y0,x1,y1,x2,y2,x3,y3).move_to(p);
+        } break;
+        }
+      }
+      return *this;
+    }
+
+    //! Generate a 3d elevation of the image instance.
+    /**
+       \param[out] primitives The returned list of the 3d object primitives
+                              (template type \e tf should be at least \e unsigned \e int).
+       \param[out] colors The returned list of the 3d object colors.
+       \param elevation The input elevation map.
+       \return The N vertices (xi,yi,zi) of the 3d object as a Nx3 CImg<float> image (0<=i<=N - 1).
+       \par Example
+       \code
+       const CImg<float> img("reference.jpg");
+       CImgList<unsigned int> faces3d;
+       CImgList<unsigned char> colors3d;
+       const CImg<float> points3d = img.get_elevation3d(faces3d,colors3d,img.get_norm()*0.2);
+       CImg<unsigned char>().display_object3d("Elevation3d",points3d,faces3d,colors3d);
+       \endcode
+       \image html ref_elevation3d.jpg
+    **/
+    template<typename tf, typename tc, typename te>
+    CImg<floatT> get_elevation3d(CImgList<tf>& primitives, CImgList<tc>& colors, const CImg<te>& elevation) const {
+      if (!is_sameXY(elevation) || elevation._depth>1 || elevation._spectrum>1)
+        throw CImgArgumentException(_cimg_instance
+                                    "get_elevation3d(): Instance and specified elevation (%u,%u,%u,%u,%p) "
+                                    "have incompatible dimensions.",
+                                    cimg_instance,
+                                    elevation._width,elevation._height,elevation._depth,
+                                    elevation._spectrum,elevation._data);
+      if (is_empty()) return *this;
+      float m, M = (float)max_min(m);
+      if (M==m) ++M;
+      colors.assign();
+      const unsigned int size_x1 = _width - 1, size_y1 = _height - 1;
+      for (unsigned int y = 0; y<size_y1; ++y)
+        for (unsigned int x = 0; x<size_x1; ++x) {
+          const unsigned char
+            r = (unsigned char)(((*this)(x,y,0) - m)*255/(M-m)),
+            g = (unsigned char)(_spectrum>1?((*this)(x,y,1) - m)*255/(M-m):r),
+            b = (unsigned char)(_spectrum>2?((*this)(x,y,2) - m)*255/(M-m):_spectrum>1?0:r);
+          CImg<tc>::vector((tc)r,(tc)g,(tc)b).move_to(colors);
+        }
+      const typename CImg<te>::_functor2d_int func(elevation);
+      return elevation3d(primitives,func,0,0,_width - 1.0f,_height - 1.0f,_width,_height);
+    }
+
+    //! Generate the 3d projection planes of the image instance.
+    /**
+       \param[out] primitives Primitives data of the returned 3d object.
+       \param[out] colors Colors data of the returned 3d object.
+       \param x0 X-coordinate of the projection point.
+       \param y0 Y-coordinate of the projection point.
+       \param z0 Z-coordinate of the projection point.
+       \param normalize_colors Tells if the created textures have normalized colors.
+    **/
+    template<typename tf, typename tc>
+    CImg<floatT> get_projections3d(CImgList<tf>& primitives, CImgList<tc>& colors,
+                                   const unsigned int x0, const unsigned int y0, const unsigned int z0,
+                                   const bool normalize_colors=false) const {
+      float m = 0, M = 0, delta = 1;
+      if (normalize_colors) { m = (float)min_max(M); delta = 255/(m==M?1:M-m); }
+      const unsigned int
+        _x0 = (x0>=_width)?_width - 1:x0,
+        _y0 = (y0>=_height)?_height - 1:y0,
+        _z0 = (z0>=_depth)?_depth - 1:z0;
+      CImg<tc> img_xy, img_xz, img_yz;
+      if (normalize_colors) {
+        ((get_crop(0,0,_z0,0,_width - 1,_height - 1,_z0,_spectrum - 1)-=m)*=delta).move_to(img_xy);
+        ((get_crop(0,_y0,0,0,_width - 1,_y0,_depth - 1,_spectrum - 1)-=m)*=delta).resize(_width,_depth,1,-100,-1).
+          move_to(img_xz);
+        ((get_crop(_x0,0,0,0,_x0,_height - 1,_depth - 1,_spectrum - 1)-=m)*=delta).resize(_height,_depth,1,-100,-1).
+          move_to(img_yz);
+      } else {
+        get_crop(0,0,_z0,0,_width - 1,_height - 1,_z0,_spectrum - 1).move_to(img_xy);
+        get_crop(0,_y0,0,0,_width - 1,_y0,_depth - 1,_spectrum - 1).resize(_width,_depth,1,-100,-1).move_to(img_xz);
+        get_crop(_x0,0,0,0,_x0,_height - 1,_depth - 1,_spectrum - 1).resize(_height,_depth,1,-100,-1).move_to(img_yz);
+      }
+      CImg<floatT> points(12,3,1,1,
+                          0,_width - 1,_width - 1,0,   0,_width - 1,_width - 1,0, _x0,_x0,_x0,_x0,
+                          0,0,_height - 1,_height - 1, _y0,_y0,_y0,_y0,       0,_height - 1,_height - 1,0,
+                          _z0,_z0,_z0,_z0,         0,0,_depth - 1,_depth - 1, 0,0,_depth - 1,_depth - 1);
+      primitives.assign();
+      CImg<tf>::vector(0,1,2,3,0,0,img_xy._width - 1,0,img_xy._width - 1,img_xy._height - 1,0,img_xy._height - 1).
+        move_to(primitives);
+      CImg<tf>::vector(4,5,6,7,0,0,img_xz._width - 1,0,img_xz._width - 1,img_xz._height - 1,0,img_xz._height - 1).
+        move_to(primitives);
+      CImg<tf>::vector(8,9,10,11,0,0,img_yz._width - 1,0,img_yz._width - 1,img_yz._height - 1,0,img_yz._height - 1).
+        move_to(primitives);
+      colors.assign();
+      img_xy.move_to(colors);
+      img_xz.move_to(colors);
+      img_yz.move_to(colors);
+      return points;
+    }
+
+    //! Generate a isoline of the image instance as a 3d object.
+    /**
+       \param[out] primitives The returned list of the 3d object primitives
+                              (template type \e tf should be at least \e unsigned \e int).
+       \param isovalue The returned list of the 3d object colors.
+       \param size_x The number of subdivisions along the X-axis.
+       \param size_y The number of subdisivions along the Y-axis.
+       \return The N vertices (xi,yi,zi) of the 3d object as a Nx3 CImg<float> image (0<=i<=N - 1).
+       \par Example
+       \code
+       const CImg<float> img("reference.jpg");
+       CImgList<unsigned int> faces3d;
+       const CImg<float> points3d = img.get_isoline3d(faces3d,100);
+       CImg<unsigned char>().display_object3d("Isoline3d",points3d,faces3d,colors3d);
+       \endcode
+       \image html ref_isoline3d.jpg
+    **/
+    template<typename tf>
+    CImg<floatT> get_isoline3d(CImgList<tf>& primitives, const float isovalue,
+                               const int size_x=-100, const int size_y=-100) const {
+      if (_spectrum>1)
+        throw CImgInstanceException(_cimg_instance
+                                    "get_isoline3d(): Instance is not a scalar image.",
+                                    cimg_instance);
+      if (_depth>1)
+        throw CImgInstanceException(_cimg_instance
+                                    "get_isoline3d(): Instance is not a 2d image.",
+                                    cimg_instance);
+      primitives.assign();
+      if (is_empty()) return *this;
+      CImg<floatT> vertices;
+      if ((size_x==-100 && size_y==-100) || (size_x==width() && size_y==height())) {
+        const _functor2d_int func(*this);
+        vertices = isoline3d(primitives,func,isovalue,0,0,width() - 1.0f,height() - 1.0f,width(),height());
+      } else {
+        const _functor2d_float func(*this);
+        vertices = isoline3d(primitives,func,isovalue,0,0,width() - 1.0f,height() - 1.0f,size_x,size_y);
+      }
+      return vertices;
+    }
+
+    //! Generate an isosurface of the image instance as a 3d object.
+    /**
+       \param[out] primitives The returned list of the 3d object primitives
+                              (template type \e tf should be at least \e unsigned \e int).
+       \param isovalue The returned list of the 3d object colors.
+       \param size_x Number of subdivisions along the X-axis.
+       \param size_y Number of subdisivions along the Y-axis.
+       \param size_z Number of subdisivions along the Z-axis.
+       \return The N vertices (xi,yi,zi) of the 3d object as a Nx3 CImg<float> image (0<=i<=N - 1).
+       \par Example
+       \code
+       const CImg<float> img = CImg<unsigned char>("reference.jpg").resize(-100,-100,20);
+       CImgList<unsigned int> faces3d;
+       const CImg<float> points3d = img.get_isosurface3d(faces3d,100);
+       CImg<unsigned char>().display_object3d("Isosurface3d",points3d,faces3d,colors3d);
+       \endcode
+       \image html ref_isosurface3d.jpg
+    **/
+    template<typename tf>
+    CImg<floatT> get_isosurface3d(CImgList<tf>& primitives, const float isovalue,
+                                  const int size_x=-100, const int size_y=-100, const int size_z=-100) const {
+      if (_spectrum>1)
+        throw CImgInstanceException(_cimg_instance
+                                    "get_isosurface3d(): Instance is not a scalar image.",
+                                    cimg_instance);
+      primitives.assign();
+      if (is_empty()) return *this;
+      CImg<floatT> vertices;
+      if ((size_x==-100 && size_y==-100 && size_z==-100) || (size_x==width() && size_y==height() && size_z==depth())) {
+        const _functor3d_int func(*this);
+        vertices = isosurface3d(primitives,func,isovalue,0,0,0,width() - 1.0f,height() - 1.0f,depth() - 1.0f,
+                                width(),height(),depth());
+      } else {
+        const _functor3d_float func(*this);
+        vertices = isosurface3d(primitives,func,isovalue,0,0,0,width() - 1.0f,height() - 1.0f,depth() - 1.0f,
+                                size_x,size_y,size_z);
+      }
+      return vertices;
+    }
+
+    //! Compute 3d elevation of a function as a 3d object.
+    /**
+       \param[out] primitives Primitives data of the resulting 3d object.
+       \param func Elevation function. Is of type <tt>float (*func)(const float x,const float y)</tt>.
+       \param x0 X-coordinate of the starting point.
+       \param y0 Y-coordinate of the starting point.
+       \param x1 X-coordinate of the ending point.
+       \param y1 Y-coordinate of the ending point.
+       \param size_x Resolution of the function along the X-axis.
+       \param size_y Resolution of the function along the Y-axis.
+    **/
+    template<typename tf, typename tfunc>
+    static CImg<floatT> elevation3d(CImgList<tf>& primitives, const tfunc& func,
+                                    const float x0, const float y0, const float x1, const float y1,
+                                    const int size_x=256, const int size_y=256) {
+      const float
+        nx0 = x0<x1?x0:x1, ny0 = y0<y1?y0:y1,
+        nx1 = x0<x1?x1:x0, ny1 = y0<y1?y1:y0;
+      const unsigned int
+        _nsize_x = (unsigned int)(size_x>=0?size_x:(nx1-nx0)*-size_x/100),
+        nsize_x = _nsize_x?_nsize_x:1, nsize_x1 = nsize_x - 1,
+        _nsize_y = (unsigned int)(size_y>=0?size_y:(ny1-ny0)*-size_y/100),
+        nsize_y = _nsize_y?_nsize_y:1, nsize_y1 = nsize_y - 1;
+      if (nsize_x<2 || nsize_y<2)
+        throw CImgArgumentException("CImg<%s>::elevation3d(): Invalid specified size (%d,%d).",
+                                    pixel_type(),
+                                    nsize_x,nsize_y);
+
+      CImg<floatT> vertices(nsize_x*nsize_y,3);
+      floatT *ptr_x = vertices.data(0,0), *ptr_y = vertices.data(0,1), *ptr_z = vertices.data(0,2);
+      for (unsigned int y = 0; y<nsize_y; ++y) {
+        const float Y = ny0 + y*(ny1-ny0)/nsize_y1;
+        for (unsigned int x = 0; x<nsize_x; ++x) {
+          const float X = nx0 + x*(nx1-nx0)/nsize_x1;
+          *(ptr_x++) = (float)x;
+          *(ptr_y++) = (float)y;
+          *(ptr_z++) = (float)func(X,Y);
+        }
+      }
+      primitives.assign(nsize_x1*nsize_y1,1,4);
+      for (unsigned int p = 0, y = 0; y<nsize_y1; ++y) {
+        const unsigned int yw = y*nsize_x;
+        for (unsigned int x = 0; x<nsize_x1; ++x) {
+          const unsigned int xpyw = x + yw, xpyww = xpyw + nsize_x;
+          primitives[p++].fill(xpyw,xpyww,xpyww + 1,xpyw + 1);
+        }
+      }
+      return vertices;
+    }
+
+    //! Compute 3d elevation of a function, as a 3d object \overloading.
+    template<typename tf>
+    static CImg<floatT> elevation3d(CImgList<tf>& primitives, const char *const expression,
+                                    const float x0, const float y0, const float x1, const float y1,
+                                    const int size_x=256, const int size_y=256) {
+      const _functor2d_expr func(expression);
+      return elevation3d(primitives,func,x0,y0,x1,y1,size_x,size_y);
+    }
+
+    //! Compute 0-isolines of a function, as a 3d object.
+    /**
+       \param[out] primitives Primitives data of the resulting 3d object.
+       \param func Elevation function. Is of type <tt>float (*func)(const float x,const float y)</tt>.
+       \param isovalue Isovalue to extract from function.
+       \param x0 X-coordinate of the starting point.
+       \param y0 Y-coordinate of the starting point.
+       \param x1 X-coordinate of the ending point.
+       \param y1 Y-coordinate of the ending point.
+       \param size_x Resolution of the function along the X-axis.
+       \param size_y Resolution of the function along the Y-axis.
+       \note Use the marching squares algorithm for extracting the isolines.
+     **/
+    template<typename tf, typename tfunc>
+    static CImg<floatT> isoline3d(CImgList<tf>& primitives, const tfunc& func, const float isovalue,
+                                  const float x0, const float y0, const float x1, const float y1,
+                                  const int size_x=256, const int size_y=256) {
+      static const unsigned int edges[16] = { 0x0, 0x9, 0x3, 0xa, 0x6, 0xf, 0x5, 0xc, 0xc,
+                                              0x5, 0xf, 0x6, 0xa, 0x3, 0x9, 0x0 };
+      static const int segments[16][4] = { { -1,-1,-1,-1 }, { 0,3,-1,-1 }, { 0,1,-1,-1 }, { 1,3,-1,-1 },
+                                           { 1,2,-1,-1 },   { 0,1,2,3 },   { 0,2,-1,-1 }, { 2,3,-1,-1 },
+                                           { 2,3,-1,-1 },   { 0,2,-1,-1},  { 0,3,1,2 },   { 1,2,-1,-1 },
+                                           { 1,3,-1,-1 },   { 0,1,-1,-1},  { 0,3,-1,-1},  { -1,-1,-1,-1 } };
+      const unsigned int
+        _nx = (unsigned int)(size_x>=0?size_x:cimg::round((x1-x0)*-size_x/100 + 1)),
+        _ny = (unsigned int)(size_y>=0?size_y:cimg::round((y1-y0)*-size_y/100 + 1)),
+        nx = _nx?_nx:1,
+        ny = _ny?_ny:1,
+        nxm1 = nx - 1,
+        nym1 = ny - 1;
+      primitives.assign();
+      if (!nxm1 || !nym1) return CImg<floatT>();
+      const float dx = (x1 - x0)/nxm1, dy = (y1 - y0)/nym1;
+      CImgList<floatT> vertices;
+      CImg<intT> indices1(nx,1,1,2,-1), indices2(nx,1,1,2);
+      CImg<floatT> values1(nx), values2(nx);
+      float X = x0, Y = y0, nX = X + dx, nY = Y + dy;
+
+      // Fill first line with values
+      cimg_forX(values1,x) { values1(x) = (float)func(X,Y); X+=dx; }
+
+      // Run the marching squares algorithm
+      for (unsigned int yi = 0, nyi = 1; yi<nym1; ++yi, ++nyi, Y=nY, nY+=dy) {
+        X = x0; nX = X + dx;
+        indices2.fill(-1);
+        for (unsigned int xi = 0, nxi = 1; xi<nxm1; ++xi, ++nxi, X=nX, nX+=dx) {
+
+          // Determine square configuration
+          const float
+            val0 = values1(xi),
+            val1 = values1(nxi),
+            val2 = values2(nxi) = (float)func(nX,nY),
+            val3 = values2(xi) = (float)func(X,nY);
+          const unsigned int
+            configuration = (val0<isovalue?1U:0U) | (val1<isovalue?2U:0U) |
+            (val2<isovalue?4U:0U) | (val3<isovalue?8U:0U),
+            edge = edges[configuration];
+
+          // Compute intersection vertices
+          if (edge) {
+            if ((edge&1) && indices1(xi,0)<0) {
+              const float Xi = X + (isovalue-val0)*dx/(val1-val0);
+              indices1(xi,0) = vertices.width();
+              CImg<floatT>::vector(Xi,Y,0).move_to(vertices);
+            }
+            if ((edge&2) && indices1(nxi,1)<0) {
+              const float Yi = Y + (isovalue-val1)*dy/(val2-val1);
+              indices1(nxi,1) = vertices.width();
+              CImg<floatT>::vector(nX,Yi,0).move_to(vertices);
+            }
+            if ((edge&4) && indices2(xi,0)<0) {
+              const float Xi = X + (isovalue-val3)*dx/(val2-val3);
+              indices2(xi,0) = vertices.width();
+              CImg<floatT>::vector(Xi,nY,0).move_to(vertices);
+            }
+            if ((edge&8) && indices1(xi,1)<0) {
+              const float Yi = Y + (isovalue-val0)*dy/(val3-val0);
+              indices1(xi,1) = vertices.width();
+              CImg<floatT>::vector(X,Yi,0).move_to(vertices);
+            }
+
+            // Create segments
+            for (const int *segment = segments[configuration]; *segment!=-1; ) {
+              const unsigned int p0 = (unsigned int)*(segment++), p1 = (unsigned int)*(segment++);
+              const tf
+                i0 = (tf)(_isoline3d_indice(p0,indices1,indices2,xi,nxi)),
+                i1 = (tf)(_isoline3d_indice(p1,indices1,indices2,xi,nxi));
+              CImg<tf>::vector(i0,i1).move_to(primitives);
+            }
+          }
+        }
+        values1.swap(values2);
+        indices1.swap(indices2);
+      }
+      return vertices>'x';
+    }
+
+    //! Compute isolines of a function, as a 3d object \overloading.
+    template<typename tf>
+    static CImg<floatT> isoline3d(CImgList<tf>& primitives, const char *const expression, const float isovalue,
+                                  const float x0, const float y0, const float x1, const float y1,
+                                  const int size_x=256, const int size_y=256) {
+      const _functor2d_expr func(expression);
+      return isoline3d(primitives,func,isovalue,x0,y0,x1,y1,size_x,size_y);
+    }
+
+    template<typename t>
+    static int _isoline3d_indice(const unsigned int edge, const CImg<t>& indices1, const CImg<t>& indices2,
+                                 const unsigned int x, const unsigned int nx) {
+      switch (edge) {
+      case 0 : return (int)indices1(x,0);
+      case 1 : return (int)indices1(nx,1);
+      case 2 : return (int)indices2(x,0);
+      case 3 : return (int)indices1(x,1);
+      }
+      return 0;
+    }
+
+    //! Compute isosurface of a function, as a 3d object.
+    /**
+       \param[out] primitives Primitives data of the resulting 3d object.
+       \param func Implicit function. Is of type <tt>float (*func)(const float x, const float y, const float z)</tt>.
+       \param isovalue Isovalue to extract.
+       \param x0 X-coordinate of the starting point.
+       \param y0 Y-coordinate of the starting point.
+       \param z0 Z-coordinate of the starting point.
+       \param x1 X-coordinate of the ending point.
+       \param y1 Y-coordinate of the ending point.
+       \param z1 Z-coordinate of the ending point.
+       \param size_x Resolution of the elevation function along the X-axis.
+       \param size_y Resolution of the elevation function along the Y-axis.
+       \param size_z Resolution of the elevation function along the Z-axis.
+       \note Use the marching cubes algorithm for extracting the isosurface.
+     **/
+    template<typename tf, typename tfunc>
+    static CImg<floatT> isosurface3d(CImgList<tf>& primitives, const tfunc& func, const float isovalue,
+                                     const float x0, const float y0, const float z0,
+                                     const float x1, const float y1, const float z1,
+                                     const int size_x=32, const int size_y=32, const int size_z=32) {
+      static const unsigned int edges[256] = {
+        0x000, 0x109, 0x203, 0x30a, 0x406, 0x50f, 0x605, 0x70c, 0x80c, 0x905, 0xa0f, 0xb06, 0xc0a, 0xd03, 0xe09, 0xf00,
+        0x190, 0x99 , 0x393, 0x29a, 0x596, 0x49f, 0x795, 0x69c, 0x99c, 0x895, 0xb9f, 0xa96, 0xd9a, 0xc93, 0xf99, 0xe90,
+        0x230, 0x339, 0x33 , 0x13a, 0x636, 0x73f, 0x435, 0x53c, 0xa3c, 0xb35, 0x83f, 0x936, 0xe3a, 0xf33, 0xc39, 0xd30,
+        0x3a0, 0x2a9, 0x1a3, 0xaa , 0x7a6, 0x6af, 0x5a5, 0x4ac, 0xbac, 0xaa5, 0x9af, 0x8a6, 0xfaa, 0xea3, 0xda9, 0xca0,
+        0x460, 0x569, 0x663, 0x76a, 0x66 , 0x16f, 0x265, 0x36c, 0xc6c, 0xd65, 0xe6f, 0xf66, 0x86a, 0x963, 0xa69, 0xb60,
+        0x5f0, 0x4f9, 0x7f3, 0x6fa, 0x1f6, 0xff , 0x3f5, 0x2fc, 0xdfc, 0xcf5, 0xfff, 0xef6, 0x9fa, 0x8f3, 0xbf9, 0xaf0,
+        0x650, 0x759, 0x453, 0x55a, 0x256, 0x35f, 0x55 , 0x15c, 0xe5c, 0xf55, 0xc5f, 0xd56, 0xa5a, 0xb53, 0x859, 0x950,
+        0x7c0, 0x6c9, 0x5c3, 0x4ca, 0x3c6, 0x2cf, 0x1c5, 0xcc , 0xfcc, 0xec5, 0xdcf, 0xcc6, 0xbca, 0xac3, 0x9c9, 0x8c0,
+        0x8c0, 0x9c9, 0xac3, 0xbca, 0xcc6, 0xdcf, 0xec5, 0xfcc, 0xcc , 0x1c5, 0x2cf, 0x3c6, 0x4ca, 0x5c3, 0x6c9, 0x7c0,
+        0x950, 0x859, 0xb53, 0xa5a, 0xd56, 0xc5f, 0xf55, 0xe5c, 0x15c, 0x55 , 0x35f, 0x256, 0x55a, 0x453, 0x759, 0x650,
+        0xaf0, 0xbf9, 0x8f3, 0x9fa, 0xef6, 0xfff, 0xcf5, 0xdfc, 0x2fc, 0x3f5, 0xff , 0x1f6, 0x6fa, 0x7f3, 0x4f9, 0x5f0,
+        0xb60, 0xa69, 0x963, 0x86a, 0xf66, 0xe6f, 0xd65, 0xc6c, 0x36c, 0x265, 0x16f, 0x66 , 0x76a, 0x663, 0x569, 0x460,
+        0xca0, 0xda9, 0xea3, 0xfaa, 0x8a6, 0x9af, 0xaa5, 0xbac, 0x4ac, 0x5a5, 0x6af, 0x7a6, 0xaa , 0x1a3, 0x2a9, 0x3a0,
+        0xd30, 0xc39, 0xf33, 0xe3a, 0x936, 0x83f, 0xb35, 0xa3c, 0x53c, 0x435, 0x73f, 0x636, 0x13a, 0x33 , 0x339, 0x230,
+        0xe90, 0xf99, 0xc93, 0xd9a, 0xa96, 0xb9f, 0x895, 0x99c, 0x69c, 0x795, 0x49f, 0x596, 0x29a, 0x393, 0x99 , 0x190,
+        0xf00, 0xe09, 0xd03, 0xc0a, 0xb06, 0xa0f, 0x905, 0x80c, 0x70c, 0x605, 0x50f, 0x406, 0x30a, 0x203, 0x109, 0x000
+      };
+
+      static const int triangles[256][16] = {
+        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 1, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 8, 3, 9, 8, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 8, 3, 1, 2, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 9, 2, 10, 0, 2, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 2, 8, 3, 2, 10, 8, 10, 9, 8, -1, -1, -1, -1, -1, -1, -1 },
+        { 3, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 11, 2, 8, 11, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 9, 0, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 11, 2, 1, 9, 11, 9, 8, 11, -1, -1, -1, -1, -1, -1, -1 },
+        { 3, 10, 1, 11, 10, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 10, 1, 0, 8, 10, 8, 11, 10, -1, -1, -1, -1, -1, -1, -1 },
+        { 3, 9, 0, 3, 11, 9, 11, 10, 9, -1, -1, -1, -1, -1, -1, -1 },
+        { 9, 8, 10, 10, 8, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 4, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 4, 3, 0, 7, 3, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 1, 9, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 4, 1, 9, 4, 7, 1, 7, 3, 1, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 2, 10, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 3, 4, 7, 3, 0, 4, 1, 2, 10, -1, -1, -1, -1, -1, -1, -1 },
+        { 9, 2, 10, 9, 0, 2, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1 },
+        { 2, 10, 9, 2, 9, 7, 2, 7, 3, 7, 9, 4, -1, -1, -1, -1 },
+        { 8, 4, 7, 3, 11, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 11, 4, 7, 11, 2, 4, 2, 0, 4, -1, -1, -1, -1, -1, -1, -1 },
+        { 9, 0, 1, 8, 4, 7, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1 },
+        { 4, 7, 11, 9, 4, 11, 9, 11, 2, 9, 2, 1, -1, -1, -1, -1 },
+        { 3, 10, 1, 3, 11, 10, 7, 8, 4, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 11, 10, 1, 4, 11, 1, 0, 4, 7, 11, 4, -1, -1, -1, -1 },
+        { 4, 7, 8, 9, 0, 11, 9, 11, 10, 11, 0, 3, -1, -1, -1, -1 },
+        { 4, 7, 11, 4, 11, 9, 9, 11, 10, -1, -1, -1, -1, -1, -1, -1 },
+        { 9, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 9, 5, 4, 0, 8, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 5, 4, 1, 5, 0, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 8, 5, 4, 8, 3, 5, 3, 1, 5, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 2, 10, 9, 5, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 3, 0, 8, 1, 2, 10, 4, 9, 5, -1, -1, -1, -1, -1, -1, -1 },
+        { 5, 2, 10, 5, 4, 2, 4, 0, 2, -1, -1, -1, -1, -1, -1, -1 },
+        { 2, 10, 5, 3, 2, 5, 3, 5, 4, 3, 4, 8, -1, -1, -1, -1 },
+        { 9, 5, 4, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 11, 2, 0, 8, 11, 4, 9, 5, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 5, 4, 0, 1, 5, 2, 3, 11, -1, -1, -1, -1, -1, -1, -1 },
+        { 2, 1, 5, 2, 5, 8, 2, 8, 11, 4, 8, 5, -1, -1, -1, -1 },
+        { 10, 3, 11, 10, 1, 3, 9, 5, 4, -1, -1, -1, -1, -1, -1, -1 },
+        { 4, 9, 5, 0, 8, 1, 8, 10, 1, 8, 11, 10, -1, -1, -1, -1 },
+        { 5, 4, 0, 5, 0, 11, 5, 11, 10, 11, 0, 3, -1, -1, -1, -1 },
+        { 5, 4, 8, 5, 8, 10, 10, 8, 11, -1, -1, -1, -1, -1, -1, -1 },
+        { 9, 7, 8, 5, 7, 9, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 9, 3, 0, 9, 5, 3, 5, 7, 3, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 7, 8, 0, 1, 7, 1, 5, 7, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 5, 3, 3, 5, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 9, 7, 8, 9, 5, 7, 10, 1, 2, -1, -1, -1, -1, -1, -1, -1 },
+        { 10, 1, 2, 9, 5, 0, 5, 3, 0, 5, 7, 3, -1, -1, -1, -1 },
+        { 8, 0, 2, 8, 2, 5, 8, 5, 7, 10, 5, 2, -1, -1, -1, -1 },
+        { 2, 10, 5, 2, 5, 3, 3, 5, 7, -1, -1, -1, -1, -1, -1, -1 },
+        { 7, 9, 5, 7, 8, 9, 3, 11, 2, -1, -1, -1, -1, -1, -1, -1 },
+        { 9, 5, 7, 9, 7, 2, 9, 2, 0, 2, 7, 11, -1, -1, -1, -1 },
+        { 2, 3, 11, 0, 1, 8, 1, 7, 8, 1, 5, 7, -1, -1, -1, -1 },
+        { 11, 2, 1, 11, 1, 7, 7, 1, 5, -1, -1, -1, -1, -1, -1, -1 },
+        { 9, 5, 8, 8, 5, 7, 10, 1, 3, 10, 3, 11, -1, -1, -1, -1 },
+        { 5, 7, 0, 5, 0, 9, 7, 11, 0, 1, 0, 10, 11, 10, 0, -1 },
+        { 11, 10, 0, 11, 0, 3, 10, 5, 0, 8, 0, 7, 5, 7, 0, -1 },
+        { 11, 10, 5, 7, 11, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 10, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 8, 3, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 9, 0, 1, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 8, 3, 1, 9, 8, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 6, 5, 2, 6, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 6, 5, 1, 2, 6, 3, 0, 8, -1, -1, -1, -1, -1, -1, -1 },
+        { 9, 6, 5, 9, 0, 6, 0, 2, 6, -1, -1, -1, -1, -1, -1, -1 },
+        { 5, 9, 8, 5, 8, 2, 5, 2, 6, 3, 2, 8, -1, -1, -1, -1 },
+        { 2, 3, 11, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 11, 0, 8, 11, 2, 0, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 1, 9, 2, 3, 11, 5, 10, 6, -1, -1, -1, -1, -1, -1, -1 },
+        { 5, 10, 6, 1, 9, 2, 9, 11, 2, 9, 8, 11, -1, -1, -1, -1 },
+        { 6, 3, 11, 6, 5, 3, 5, 1, 3, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 8, 11, 0, 11, 5, 0, 5, 1, 5, 11, 6, -1, -1, -1, -1 },
+        { 3, 11, 6, 0, 3, 6, 0, 6, 5, 0, 5, 9, -1, -1, -1, -1 },
+        { 6, 5, 9, 6, 9, 11, 11, 9, 8, -1, -1, -1, -1, -1, -1, -1 },
+        { 5, 10, 6, 4, 7, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 4, 3, 0, 4, 7, 3, 6, 5, 10, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 9, 0, 5, 10, 6, 8, 4, 7, -1, -1, -1, -1, -1, -1, -1 },
+        { 10, 6, 5, 1, 9, 7, 1, 7, 3, 7, 9, 4, -1, -1, -1, -1 },
+        { 6, 1, 2, 6, 5, 1, 4, 7, 8, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 2, 5, 5, 2, 6, 3, 0, 4, 3, 4, 7, -1, -1, -1, -1 },
+        { 8, 4, 7, 9, 0, 5, 0, 6, 5, 0, 2, 6, -1, -1, -1, -1 },
+        { 7, 3, 9, 7, 9, 4, 3, 2, 9, 5, 9, 6, 2, 6, 9, -1 },
+        { 3, 11, 2, 7, 8, 4, 10, 6, 5, -1, -1, -1, -1, -1, -1, -1 },
+        { 5, 10, 6, 4, 7, 2, 4, 2, 0, 2, 7, 11, -1, -1, -1, -1 },
+        { 0, 1, 9, 4, 7, 8, 2, 3, 11, 5, 10, 6, -1, -1, -1, -1 },
+        { 9, 2, 1, 9, 11, 2, 9, 4, 11, 7, 11, 4, 5, 10, 6, -1 },
+        { 8, 4, 7, 3, 11, 5, 3, 5, 1, 5, 11, 6, -1, -1, -1, -1 },
+        { 5, 1, 11, 5, 11, 6, 1, 0, 11, 7, 11, 4, 0, 4, 11, -1 },
+        { 0, 5, 9, 0, 6, 5, 0, 3, 6, 11, 6, 3, 8, 4, 7, -1 },
+        { 6, 5, 9, 6, 9, 11, 4, 7, 9, 7, 11, 9, -1, -1, -1, -1 },
+        { 10, 4, 9, 6, 4, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 4, 10, 6, 4, 9, 10, 0, 8, 3, -1, -1, -1, -1, -1, -1, -1 },
+        { 10, 0, 1, 10, 6, 0, 6, 4, 0, -1, -1, -1, -1, -1, -1, -1 },
+        { 8, 3, 1, 8, 1, 6, 8, 6, 4, 6, 1, 10, -1, -1, -1, -1 },
+        { 1, 4, 9, 1, 2, 4, 2, 6, 4, -1, -1, -1, -1, -1, -1, -1 },
+        { 3, 0, 8, 1, 2, 9, 2, 4, 9, 2, 6, 4, -1, -1, -1, -1 },
+        { 0, 2, 4, 4, 2, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 8, 3, 2, 8, 2, 4, 4, 2, 6, -1, -1, -1, -1, -1, -1, -1 },
+        { 10, 4, 9, 10, 6, 4, 11, 2, 3, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 8, 2, 2, 8, 11, 4, 9, 10, 4, 10, 6, -1, -1, -1, -1 },
+        { 3, 11, 2, 0, 1, 6, 0, 6, 4, 6, 1, 10, -1, -1, -1, -1 },
+        { 6, 4, 1, 6, 1, 10, 4, 8, 1, 2, 1, 11, 8, 11, 1, -1 },
+        { 9, 6, 4, 9, 3, 6, 9, 1, 3, 11, 6, 3, -1, -1, -1, -1 },
+        { 8, 11, 1, 8, 1, 0, 11, 6, 1, 9, 1, 4, 6, 4, 1, -1 },
+        { 3, 11, 6, 3, 6, 0, 0, 6, 4, -1, -1, -1, -1, -1, -1, -1 },
+        { 6, 4, 8, 11, 6, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 7, 10, 6, 7, 8, 10, 8, 9, 10, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 7, 3, 0, 10, 7, 0, 9, 10, 6, 7, 10, -1, -1, -1, -1 },
+        { 10, 6, 7, 1, 10, 7, 1, 7, 8, 1, 8, 0, -1, -1, -1, -1 },
+        { 10, 6, 7, 10, 7, 1, 1, 7, 3, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 2, 6, 1, 6, 8, 1, 8, 9, 8, 6, 7, -1, -1, -1, -1 },
+        { 2, 6, 9, 2, 9, 1, 6, 7, 9, 0, 9, 3, 7, 3, 9, -1 },
+        { 7, 8, 0, 7, 0, 6, 6, 0, 2, -1, -1, -1, -1, -1, -1, -1 },
+        { 7, 3, 2, 6, 7, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 2, 3, 11, 10, 6, 8, 10, 8, 9, 8, 6, 7, -1, -1, -1, -1 },
+        { 2, 0, 7, 2, 7, 11, 0, 9, 7, 6, 7, 10, 9, 10, 7, -1 },
+        { 1, 8, 0, 1, 7, 8, 1, 10, 7, 6, 7, 10, 2, 3, 11, -1 },
+        { 11, 2, 1, 11, 1, 7, 10, 6, 1, 6, 7, 1, -1, -1, -1, -1 },
+        { 8, 9, 6, 8, 6, 7, 9, 1, 6, 11, 6, 3, 1, 3, 6, -1 },
+        { 0, 9, 1, 11, 6, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 7, 8, 0, 7, 0, 6, 3, 11, 0, 11, 6, 0, -1, -1, -1, -1 },
+        { 7, 11, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 7, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 3, 0, 8, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 1, 9, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 8, 1, 9, 8, 3, 1, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1 },
+        { 10, 1, 2, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 2, 10, 3, 0, 8, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1 },
+        { 2, 9, 0, 2, 10, 9, 6, 11, 7, -1, -1, -1, -1, -1, -1, -1 },
+        { 6, 11, 7, 2, 10, 3, 10, 8, 3, 10, 9, 8, -1, -1, -1, -1 },
+        { 7, 2, 3, 6, 2, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 7, 0, 8, 7, 6, 0, 6, 2, 0, -1, -1, -1, -1, -1, -1, -1 },
+        { 2, 7, 6, 2, 3, 7, 0, 1, 9, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 6, 2, 1, 8, 6, 1, 9, 8, 8, 7, 6, -1, -1, -1, -1 },
+        { 10, 7, 6, 10, 1, 7, 1, 3, 7, -1, -1, -1, -1, -1, -1, -1 },
+        { 10, 7, 6, 1, 7, 10, 1, 8, 7, 1, 0, 8, -1, -1, -1, -1 },
+        { 0, 3, 7, 0, 7, 10, 0, 10, 9, 6, 10, 7, -1, -1, -1, -1 },
+        { 7, 6, 10, 7, 10, 8, 8, 10, 9, -1, -1, -1, -1, -1, -1, -1 },
+        { 6, 8, 4, 11, 8, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 3, 6, 11, 3, 0, 6, 0, 4, 6, -1, -1, -1, -1, -1, -1, -1 },
+        { 8, 6, 11, 8, 4, 6, 9, 0, 1, -1, -1, -1, -1, -1, -1, -1 },
+        { 9, 4, 6, 9, 6, 3, 9, 3, 1, 11, 3, 6, -1, -1, -1, -1 },
+        { 6, 8, 4, 6, 11, 8, 2, 10, 1, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 2, 10, 3, 0, 11, 0, 6, 11, 0, 4, 6, -1, -1, -1, -1 },
+        { 4, 11, 8, 4, 6, 11, 0, 2, 9, 2, 10, 9, -1, -1, -1, -1 },
+        { 10, 9, 3, 10, 3, 2, 9, 4, 3, 11, 3, 6, 4, 6, 3, -1 },
+        { 8, 2, 3, 8, 4, 2, 4, 6, 2, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 4, 2, 4, 6, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 9, 0, 2, 3, 4, 2, 4, 6, 4, 3, 8, -1, -1, -1, -1 },
+        { 1, 9, 4, 1, 4, 2, 2, 4, 6, -1, -1, -1, -1, -1, -1, -1 },
+        { 8, 1, 3, 8, 6, 1, 8, 4, 6, 6, 10, 1, -1, -1, -1, -1 },
+        { 10, 1, 0, 10, 0, 6, 6, 0, 4, -1, -1, -1, -1, -1, -1, -1 },
+        { 4, 6, 3, 4, 3, 8, 6, 10, 3, 0, 3, 9, 10, 9, 3, -1 },
+        { 10, 9, 4, 6, 10, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 4, 9, 5, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 8, 3, 4, 9, 5, 11, 7, 6, -1, -1, -1, -1, -1, -1, -1 },
+        { 5, 0, 1, 5, 4, 0, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1 },
+        { 11, 7, 6, 8, 3, 4, 3, 5, 4, 3, 1, 5, -1, -1, -1, -1 },
+        { 9, 5, 4, 10, 1, 2, 7, 6, 11, -1, -1, -1, -1, -1, -1, -1 },
+        { 6, 11, 7, 1, 2, 10, 0, 8, 3, 4, 9, 5, -1, -1, -1, -1 },
+        { 7, 6, 11, 5, 4, 10, 4, 2, 10, 4, 0, 2, -1, -1, -1, -1 },
+        { 3, 4, 8, 3, 5, 4, 3, 2, 5, 10, 5, 2, 11, 7, 6, -1 },
+        { 7, 2, 3, 7, 6, 2, 5, 4, 9, -1, -1, -1, -1, -1, -1, -1 },
+        { 9, 5, 4, 0, 8, 6, 0, 6, 2, 6, 8, 7, -1, -1, -1, -1 },
+        { 3, 6, 2, 3, 7, 6, 1, 5, 0, 5, 4, 0, -1, -1, -1, -1 },
+        { 6, 2, 8, 6, 8, 7, 2, 1, 8, 4, 8, 5, 1, 5, 8, -1 },
+        { 9, 5, 4, 10, 1, 6, 1, 7, 6, 1, 3, 7, -1, -1, -1, -1 },
+        { 1, 6, 10, 1, 7, 6, 1, 0, 7, 8, 7, 0, 9, 5, 4, -1 },
+        { 4, 0, 10, 4, 10, 5, 0, 3, 10, 6, 10, 7, 3, 7, 10, -1 },
+        { 7, 6, 10, 7, 10, 8, 5, 4, 10, 4, 8, 10, -1, -1, -1, -1 },
+        { 6, 9, 5, 6, 11, 9, 11, 8, 9, -1, -1, -1, -1, -1, -1, -1 },
+        { 3, 6, 11, 0, 6, 3, 0, 5, 6, 0, 9, 5, -1, -1, -1, -1 },
+        { 0, 11, 8, 0, 5, 11, 0, 1, 5, 5, 6, 11, -1, -1, -1, -1 },
+        { 6, 11, 3, 6, 3, 5, 5, 3, 1, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 2, 10, 9, 5, 11, 9, 11, 8, 11, 5, 6, -1, -1, -1, -1 },
+        { 0, 11, 3, 0, 6, 11, 0, 9, 6, 5, 6, 9, 1, 2, 10, -1 },
+        { 11, 8, 5, 11, 5, 6, 8, 0, 5, 10, 5, 2, 0, 2, 5, -1 },
+        { 6, 11, 3, 6, 3, 5, 2, 10, 3, 10, 5, 3, -1, -1, -1, -1 },
+        { 5, 8, 9, 5, 2, 8, 5, 6, 2, 3, 8, 2, -1, -1, -1, -1 },
+        { 9, 5, 6, 9, 6, 0, 0, 6, 2, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 5, 8, 1, 8, 0, 5, 6, 8, 3, 8, 2, 6, 2, 8, -1 },
+        { 1, 5, 6, 2, 1, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 3, 6, 1, 6, 10, 3, 8, 6, 5, 6, 9, 8, 9, 6, -1 },
+        { 10, 1, 0, 10, 0, 6, 9, 5, 0, 5, 6, 0, -1, -1, -1, -1 },
+        { 0, 3, 8, 5, 6, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 10, 5, 6, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 11, 5, 10, 7, 5, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 11, 5, 10, 11, 7, 5, 8, 3, 0, -1, -1, -1, -1, -1, -1, -1 },
+        { 5, 11, 7, 5, 10, 11, 1, 9, 0, -1, -1, -1, -1, -1, -1, -1 },
+        { 10, 7, 5, 10, 11, 7, 9, 8, 1, 8, 3, 1, -1, -1, -1, -1 },
+        { 11, 1, 2, 11, 7, 1, 7, 5, 1, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 8, 3, 1, 2, 7, 1, 7, 5, 7, 2, 11, -1, -1, -1, -1 },
+        { 9, 7, 5, 9, 2, 7, 9, 0, 2, 2, 11, 7, -1, -1, -1, -1 },
+        { 7, 5, 2, 7, 2, 11, 5, 9, 2, 3, 2, 8, 9, 8, 2, -1 },
+        { 2, 5, 10, 2, 3, 5, 3, 7, 5, -1, -1, -1, -1, -1, -1, -1 },
+        { 8, 2, 0, 8, 5, 2, 8, 7, 5, 10, 2, 5, -1, -1, -1, -1 },
+        { 9, 0, 1, 5, 10, 3, 5, 3, 7, 3, 10, 2, -1, -1, -1, -1 },
+        { 9, 8, 2, 9, 2, 1, 8, 7, 2, 10, 2, 5, 7, 5, 2, -1 },
+        { 1, 3, 5, 3, 7, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 8, 7, 0, 7, 1, 1, 7, 5, -1, -1, -1, -1, -1, -1, -1 },
+        { 9, 0, 3, 9, 3, 5, 5, 3, 7, -1, -1, -1, -1, -1, -1, -1 },
+        { 9, 8, 7, 5, 9, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 5, 8, 4, 5, 10, 8, 10, 11, 8, -1, -1, -1, -1, -1, -1, -1 },
+        { 5, 0, 4, 5, 11, 0, 5, 10, 11, 11, 3, 0, -1, -1, -1, -1 },
+        { 0, 1, 9, 8, 4, 10, 8, 10, 11, 10, 4, 5, -1, -1, -1, -1 },
+        { 10, 11, 4, 10, 4, 5, 11, 3, 4, 9, 4, 1, 3, 1, 4, -1 },
+        { 2, 5, 1, 2, 8, 5, 2, 11, 8, 4, 5, 8, -1, -1, -1, -1 },
+        { 0, 4, 11, 0, 11, 3, 4, 5, 11, 2, 11, 1, 5, 1, 11, -1 },
+        { 0, 2, 5, 0, 5, 9, 2, 11, 5, 4, 5, 8, 11, 8, 5, -1 },
+        { 9, 4, 5, 2, 11, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 2, 5, 10, 3, 5, 2, 3, 4, 5, 3, 8, 4, -1, -1, -1, -1 },
+        { 5, 10, 2, 5, 2, 4, 4, 2, 0, -1, -1, -1, -1, -1, -1, -1 },
+        { 3, 10, 2, 3, 5, 10, 3, 8, 5, 4, 5, 8, 0, 1, 9, -1 },
+        { 5, 10, 2, 5, 2, 4, 1, 9, 2, 9, 4, 2, -1, -1, -1, -1 },
+        { 8, 4, 5, 8, 5, 3, 3, 5, 1, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 4, 5, 1, 0, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 8, 4, 5, 8, 5, 3, 9, 0, 5, 0, 3, 5, -1, -1, -1, -1 },
+        { 9, 4, 5, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 4, 11, 7, 4, 9, 11, 9, 10, 11, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 8, 3, 4, 9, 7, 9, 11, 7, 9, 10, 11, -1, -1, -1, -1 },
+        { 1, 10, 11, 1, 11, 4, 1, 4, 0, 7, 4, 11, -1, -1, -1, -1 },
+        { 3, 1, 4, 3, 4, 8, 1, 10, 4, 7, 4, 11, 10, 11, 4, -1 },
+        { 4, 11, 7, 9, 11, 4, 9, 2, 11, 9, 1, 2, -1, -1, -1, -1 },
+        { 9, 7, 4, 9, 11, 7, 9, 1, 11, 2, 11, 1, 0, 8, 3, -1 },
+        { 11, 7, 4, 11, 4, 2, 2, 4, 0, -1, -1, -1, -1, -1, -1, -1 },
+        { 11, 7, 4, 11, 4, 2, 8, 3, 4, 3, 2, 4, -1, -1, -1, -1 },
+        { 2, 9, 10, 2, 7, 9, 2, 3, 7, 7, 4, 9, -1, -1, -1, -1 },
+        { 9, 10, 7, 9, 7, 4, 10, 2, 7, 8, 7, 0, 2, 0, 7, -1 },
+        { 3, 7, 10, 3, 10, 2, 7, 4, 10, 1, 10, 0, 4, 0, 10, -1 },
+        { 1, 10, 2, 8, 7, 4, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 4, 9, 1, 4, 1, 7, 7, 1, 3, -1, -1, -1, -1, -1, -1, -1 },
+        { 4, 9, 1, 4, 1, 7, 0, 8, 1, 8, 7, 1, -1, -1, -1, -1 },
+        { 4, 0, 3, 7, 4, 3, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 4, 8, 7, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 9, 10, 8, 10, 11, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 3, 0, 9, 3, 9, 11, 11, 9, 10, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 1, 10, 0, 10, 8, 8, 10, 11, -1, -1, -1, -1, -1, -1, -1 },
+        { 3, 1, 10, 11, 3, 10, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 2, 11, 1, 11, 9, 9, 11, 8, -1, -1, -1, -1, -1, -1, -1 },
+        { 3, 0, 9, 3, 9, 11, 1, 2, 9, 2, 11, 9, -1, -1, -1, -1 },
+        { 0, 2, 11, 8, 0, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 3, 2, 11, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 2, 3, 8, 2, 8, 10, 10, 8, 9, -1, -1, -1, -1, -1, -1, -1 },
+        { 9, 10, 2, 0, 9, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 2, 3, 8, 2, 8, 10, 0, 1, 8, 1, 10, 8, -1, -1, -1, -1 },
+        { 1, 10, 2, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 1, 3, 8, 9, 1, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 9, 1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { 0, 3, 8, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 },
+        { -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1 }
+      };
+
+      const unsigned int
+        _nx = (unsigned int)(size_x>=0?size_x:cimg::round((x1-x0)*-size_x/100 + 1)),
+        _ny = (unsigned int)(size_y>=0?size_y:cimg::round((y1-y0)*-size_y/100 + 1)),
+        _nz = (unsigned int)(size_z>=0?size_z:cimg::round((z1-z0)*-size_z/100 + 1)),
+        nx = _nx?_nx:1,
+        ny = _ny?_ny:1,
+        nz = _nz?_nz:1,
+        nxm1 = nx - 1,
+        nym1 = ny - 1,
+        nzm1 = nz - 1;
+      primitives.assign();
+      if (!nxm1 || !nym1 || !nzm1) return CImg<floatT>();
+      const float dx = (x1 - x0)/nxm1, dy = (y1 - y0)/nym1, dz = (z1 - z0)/nzm1;
+      CImgList<floatT> vertices;
+      CImg<intT> indices1(nx,ny,1,3,-1), indices2(indices1);
+      CImg<floatT> values1(nx,ny), values2(nx,ny);
+      float X = 0, Y = 0, Z = 0, nX = 0, nY = 0, nZ = 0;
+
+      // Fill the first plane with function values
+      Y = y0;
+      cimg_forY(values1,y) {
+        X = x0;
+        cimg_forX(values1,x) { values1(x,y) = (float)func(X,Y,z0); X+=dx; }
+        Y+=dy;
+      }
+
+      // Run Marching Cubes algorithm
+      Z = z0; nZ = Z + dz;
+      for (unsigned int zi = 0; zi<nzm1; ++zi, Z = nZ, nZ+=dz) {
+        Y = y0; nY = Y + dy;
+        indices2.fill(-1);
+        for (unsigned int yi = 0, nyi = 1; yi<nym1; ++yi, ++nyi, Y = nY, nY+=dy) {
+          X = x0; nX = X + dx;
+          for (unsigned int xi = 0, nxi = 1; xi<nxm1; ++xi, ++nxi, X = nX, nX+=dx) {
+
+            // Determine cube configuration
+            const float
+              val0 = values1(xi,yi),
+              val1 = values1(nxi,yi),
+              val2 = values1(nxi,nyi),
+              val3 = values1(xi,nyi),
+              val4 = values2(xi,yi) = (float)func(X,Y,nZ),
+              val5 = values2(nxi,yi) = (float)func(nX,Y,nZ),
+              val6 = values2(nxi,nyi) = (float)func(nX,nY,nZ),
+              val7 = values2(xi,nyi) = (float)func(X,nY,nZ);
+
+            const unsigned int configuration =
+              (val0<isovalue?1U:0U)  | (val1<isovalue?2U:0U)  | (val2<isovalue?4U:0U)  | (val3<isovalue?8U:0U) |
+              (val4<isovalue?16U:0U) | (val5<isovalue?32U:0U) | (val6<isovalue?64U:0U) | (val7<isovalue?128U:0U),
+              edge = edges[configuration];
+
+            // Compute intersection vertices
+            if (edge) {
+              if ((edge&1) && indices1(xi,yi,0)<0) {
+                const float Xi = X + (isovalue-val0)*dx/(val1-val0);
+                indices1(xi,yi,0) = vertices.width();
+                CImg<floatT>::vector(Xi,Y,Z).move_to(vertices);
+              }
+              if ((edge&2) && indices1(nxi,yi,1)<0) {
+                const float Yi = Y + (isovalue-val1)*dy/(val2-val1);
+                indices1(nxi,yi,1) = vertices.width();
+                CImg<floatT>::vector(nX,Yi,Z).move_to(vertices);
+              }
+              if ((edge&4) && indices1(xi,nyi,0)<0) {
+                const float Xi = X + (isovalue-val3)*dx/(val2-val3);
+                indices1(xi,nyi,0) = vertices.width();
+                CImg<floatT>::vector(Xi,nY,Z).move_to(vertices);
+              }
+              if ((edge&8) && indices1(xi,yi,1)<0) {
+                const float Yi = Y + (isovalue-val0)*dy/(val3-val0);
+                indices1(xi,yi,1) = vertices.width();
+                CImg<floatT>::vector(X,Yi,Z).move_to(vertices);
+              }
+              if ((edge&16) && indices2(xi,yi,0)<0) {
+                const float Xi = X + (isovalue-val4)*dx/(val5-val4);
+                indices2(xi,yi,0) = vertices.width();
+                CImg<floatT>::vector(Xi,Y,nZ).move_to(vertices);
+              }
+              if ((edge&32) && indices2(nxi,yi,1)<0) {
+                const float Yi = Y + (isovalue-val5)*dy/(val6-val5);
+                indices2(nxi,yi,1) = vertices.width();
+                CImg<floatT>::vector(nX,Yi,nZ).move_to(vertices);
+              }
+              if ((edge&64) && indices2(xi,nyi,0)<0) {
+                const float Xi = X + (isovalue-val7)*dx/(val6-val7);
+                indices2(xi,nyi,0) = vertices.width();
+                CImg<floatT>::vector(Xi,nY,nZ).move_to(vertices);
+              }
+              if ((edge&128) && indices2(xi,yi,1)<0)  {
+                const float Yi = Y + (isovalue-val4)*dy/(val7-val4);
+                indices2(xi,yi,1) = vertices.width();
+                CImg<floatT>::vector(X,Yi,nZ).move_to(vertices);
+              }
+              if ((edge&256) && indices1(xi,yi,2)<0) {
+                const float Zi = Z+ (isovalue-val0)*dz/(val4-val0);
+                indices1(xi,yi,2) = vertices.width();
+                CImg<floatT>::vector(X,Y,Zi).move_to(vertices);
+              }
+              if ((edge&512) && indices1(nxi,yi,2)<0)  {
+                const float Zi = Z + (isovalue-val1)*dz/(val5-val1);
+                indices1(nxi,yi,2) = vertices.width();
+                CImg<floatT>::vector(nX,Y,Zi).move_to(vertices);
+              }
+              if ((edge&1024) && indices1(nxi,nyi,2)<0) {
+                const float Zi = Z + (isovalue-val2)*dz/(val6-val2);
+                indices1(nxi,nyi,2) = vertices.width();
+                CImg<floatT>::vector(nX,nY,Zi).move_to(vertices);
+              }
+              if ((edge&2048) && indices1(xi,nyi,2)<0) {
+                const float Zi = Z + (isovalue-val3)*dz/(val7-val3);
+                indices1(xi,nyi,2) = vertices.width();
+                CImg<floatT>::vector(X,nY,Zi).move_to(vertices);
+              }
+
+              // Create triangles
+              for (const int *triangle = triangles[configuration]; *triangle!=-1; ) {
+                const unsigned int
+                  p0 = (unsigned int)*(triangle++),
+                  p1 = (unsigned int)*(triangle++),
+                  p2 = (unsigned int)*(triangle++);
+                const tf
+                  i0 = (tf)(_isosurface3d_indice(p0,indices1,indices2,xi,yi,nxi,nyi)),
+                  i1 = (tf)(_isosurface3d_indice(p1,indices1,indices2,xi,yi,nxi,nyi)),
+                  i2 = (tf)(_isosurface3d_indice(p2,indices1,indices2,xi,yi,nxi,nyi));
+                CImg<tf>::vector(i0,i2,i1).move_to(primitives);
+              }
+            }
+          }
+        }
+        cimg::swap(values1,values2);
+        cimg::swap(indices1,indices2);
+      }
+      return vertices>'x';
+    }
+
+    //! Compute isosurface of a function, as a 3d object \overloading.
+    template<typename tf>
+    static CImg<floatT> isosurface3d(CImgList<tf>& primitives, const char *const expression, const float isovalue,
+                                     const float x0, const float y0, const float z0,
+                                     const float x1, const float y1, const float z1,
+                                     const int dx=32, const int dy=32, const int dz=32) {
+      const _functor3d_expr func(expression);
+      return isosurface3d(primitives,func,isovalue,x0,y0,z0,x1,y1,z1,dx,dy,dz);
+    }
+
+    template<typename t>
+    static int _isosurface3d_indice(const unsigned int edge, const CImg<t>& indices1, const CImg<t>& indices2,
+                                    const unsigned int x, const unsigned int y,
+                                    const unsigned int nx, const unsigned int ny) {
+      switch (edge) {
+      case 0 : return indices1(x,y,0);
+      case 1 : return indices1(nx,y,1);
+      case 2 : return indices1(x,ny,0);
+      case 3 : return indices1(x,y,1);
+      case 4 : return indices2(x,y,0);
+      case 5 : return indices2(nx,y,1);
+      case 6 : return indices2(x,ny,0);
+      case 7 : return indices2(x,y,1);
+      case 8 : return indices1(x,y,2);
+      case 9 : return indices1(nx,y,2);
+      case 10 : return indices1(nx,ny,2);
+      case 11 : return indices1(x,ny,2);
+      }
+      return 0;
+    }
+
+    // Define functors for accessing image values (used in previous functions).
+    struct _functor2d_int {
+      const CImg<T>& ref;
+      _functor2d_int(const CImg<T>& pref):ref(pref) {}
+      float operator()(const float x, const float y) const {
+        return (float)ref((int)x,(int)y);
+      }
+    };
+
+    struct _functor2d_float {
+      const CImg<T>& ref;
+      _functor2d_float(const CImg<T>& pref):ref(pref) {}
+      float operator()(const float x, const float y) const {
+        return (float)ref._linear_atXY(x,y);
+      }
+    };
+
+    struct _functor2d_expr {
+      _cimg_math_parser *mp;
+      _functor2d_expr(const char *const expr):mp(0) {
+        mp = new _cimg_math_parser(CImg<T>::empty(),0,expr,0);
+      }
+      ~_functor2d_expr() { delete mp; }
+      float operator()(const float x, const float y) const {
+        return (float)(*mp)(x,y,0,0);
+      }
+    };
+
+    struct _functor3d_int {
+      const CImg<T>& ref;
+      _functor3d_int(const CImg<T>& pref):ref(pref) {}
+      float operator()(const float x, const float y, const float z) const {
+        return (float)ref((int)x,(int)y,(int)z);
+      }
+    };
+
+    struct _functor3d_float {
+      const CImg<T>& ref;
+      _functor3d_float(const CImg<T>& pref):ref(pref) {}
+      float operator()(const float x, const float y, const float z) const {
+        return (float)ref._linear_atXYZ(x,y,z);
+      }
+    };
+
+    struct _functor3d_expr {
+      _cimg_math_parser *mp;
+      ~_functor3d_expr() { delete mp; }
+      _functor3d_expr(const char *const expr):mp(0) {
+        mp = new _cimg_math_parser(CImg<T>::empty(),0,expr,0);
+      }
+      float operator()(const float x, const float y, const float z) const {
+        return (float)(*mp)(x,y,z,0);
+      }
+    };
+
+    struct _functor4d_int {
+      const CImg<T>& ref;
+      _functor4d_int(const CImg<T>& pref):ref(pref) {}
+      float operator()(const float x, const float y, const float z, const unsigned int c) const {
+        return (float)ref((int)x,(int)y,(int)z,c);
+      }
+    };
+
+    //! Generate a 3d box object.
+    /**
+       \param[out] primitives The returned list of the 3d object primitives
+                              (template type \e tf should be at least \e unsigned \e int).
+       \param size_x The width of the box (dimension along the X-axis).
+       \param size_y The height of the box (dimension along the Y-axis).
+       \param size_z The depth of the box (dimension along the Z-axis).
+       \return The N vertices (xi,yi,zi) of the 3d object as a Nx3 CImg<float> image (0<=i<=N - 1).
+       \par Example
+       \code
+       CImgList<unsigned int> faces3d;
+       const CImg<float> points3d = CImg<float>::box3d(faces3d,10,20,30);
+       CImg<unsigned char>().display_object3d("Box3d",points3d,faces3d);
+       \endcode
+       \image html ref_box3d.jpg
+    **/
+    template<typename tf>
+    static CImg<floatT> box3d(CImgList<tf>& primitives,
+                              const float size_x=200, const float size_y=100, const float size_z=100) {
+      primitives.assign(6,1,4,1,1, 0,3,2,1, 4,5,6,7, 0,1,5,4, 3,7,6,2, 0,4,7,3, 1,2,6,5);
+      return CImg<floatT>(8,3,1,1,
+                          0.,size_x,size_x,    0.,    0.,size_x,size_x,    0.,
+                          0.,    0.,size_y,size_y,    0.,    0.,size_y,size_y,
+                          0.,    0.,    0.,    0.,size_z,size_z,size_z,size_z);
+    }
+
+    //! Generate a 3d cone.
+    /**
+       \param[out] primitives The returned list of the 3d object primitives
+                              (template type \e tf should be at least \e unsigned \e int).
+       \param radius The radius of the cone basis.
+       \param size_z The cone's height.
+       \param subdivisions The number of basis angular subdivisions.
+       \return The N vertices (xi,yi,zi) of the 3d object as a Nx3 CImg<float> image (0<=i<=N - 1).
+       \par Example
+       \code
+       CImgList<unsigned int> faces3d;
+       const CImg<float> points3d = CImg<float>::cone3d(faces3d,50);
+       CImg<unsigned char>().display_object3d("Cone3d",points3d,faces3d);
+       \endcode
+       \image html ref_cone3d.jpg
+    **/
+    template<typename tf>
+    static CImg<floatT> cone3d(CImgList<tf>& primitives,
+                               const float radius=50, const float size_z=100, const unsigned int subdivisions=24) {
+      primitives.assign();
+      if (!subdivisions) return CImg<floatT>();
+      CImgList<floatT> vertices(2,1,3,1,1,
+                                0.,0.,size_z,
+                                0.,0.,0.);
+      for (float delta = 360.0f/subdivisions, angle = 0; angle<360; angle+=delta) {
+	const float a = (float)(angle*cimg::PI/180);
+        CImg<floatT>::vector((float)(radius*std::cos(a)),(float)(radius*std::sin(a)),0).move_to(vertices);
+      }
+      const unsigned int nbr = vertices._width - 2;
+      for (unsigned int p = 0; p<nbr; ++p) {
+	const unsigned int curr = 2 + p, next = 2 + ((p + 1)%nbr);
+        CImg<tf>::vector(1,next,curr).move_to(primitives);
+        CImg<tf>::vector(0,curr,next).move_to(primitives);
+      }
+      return vertices>'x';
+    }
+
+    //! Generate a 3d cylinder.
+    /**
+       \param[out] primitives The returned list of the 3d object primitives
+                              (template type \e tf should be at least \e unsigned \e int).
+       \param radius The radius of the cylinder basis.
+       \param size_z The cylinder's height.
+       \param subdivisions The number of basis angular subdivisions.
+       \return The N vertices (xi,yi,zi) of the 3d object as a Nx3 CImg<float> image (0<=i<=N - 1).
+       \par Example
+       \code
+       CImgList<unsigned int> faces3d;
+       const CImg<float> points3d = CImg<float>::cylinder3d(faces3d,50);
+       CImg<unsigned char>().display_object3d("Cylinder3d",points3d,faces3d);
+       \endcode
+       \image html ref_cylinder3d.jpg
+    **/
+    template<typename tf>
+    static CImg<floatT> cylinder3d(CImgList<tf>& primitives,
+                                   const float radius=50, const float size_z=100, const unsigned int subdivisions=24) {
+      primitives.assign();
+      if (!subdivisions) return CImg<floatT>();
+      CImgList<floatT> vertices(2,1,3,1,1,
+                                0.,0.,0.,
+                                0.,0.,size_z);
+      for (float delta = 360.0f/subdivisions, angle = 0; angle<360; angle+=delta) {
+	const float a = (float)(angle*cimg::PI/180);
+        CImg<floatT>::vector((float)(radius*std::cos(a)),(float)(radius*std::sin(a)),0.0f).move_to(vertices);
+        CImg<floatT>::vector((float)(radius*std::cos(a)),(float)(radius*std::sin(a)),size_z).move_to(vertices);
+      }
+      const unsigned int nbr = (vertices._width - 2)/2;
+      for (unsigned int p = 0; p<nbr; ++p) {
+	const unsigned int curr = 2 + 2*p, next = 2 + (2*((p + 1)%nbr));
+        CImg<tf>::vector(0,next,curr).move_to(primitives);
+        CImg<tf>::vector(1,curr + 1,next + 1).move_to(primitives);
+        CImg<tf>::vector(curr,next,next + 1,curr + 1).move_to(primitives);
+      }
+      return vertices>'x';
+    }
+
+    //! Generate a 3d torus.
+    /**
+       \param[out] primitives The returned list of the 3d object primitives
+                              (template type \e tf should be at least \e unsigned \e int).
+       \param radius1 The large radius.
+       \param radius2 The small radius.
+       \param subdivisions1 The number of angular subdivisions for the large radius.
+       \param subdivisions2 The number of angular subdivisions for the small radius.
+       \return The N vertices (xi,yi,zi) of the 3d object as a Nx3 CImg<float> image (0<=i<=N - 1).
+       \par Example
+       \code
+       CImgList<unsigned int> faces3d;
+       const CImg<float> points3d = CImg<float>::torus3d(faces3d,20,4);
+       CImg<unsigned char>().display_object3d("Torus3d",points3d,faces3d);
+       \endcode
+       \image html ref_torus3d.jpg
+    **/
+    template<typename tf>
+    static CImg<floatT> torus3d(CImgList<tf>& primitives,
+                                const float radius1=100, const float radius2=30,
+                                const unsigned int subdivisions1=24, const unsigned int subdivisions2=12) {
+      primitives.assign();
+      if (!subdivisions1 || !subdivisions2) return CImg<floatT>();
+      CImgList<floatT> vertices;
+      for (unsigned int v = 0; v<subdivisions1; ++v) {
+	const float
+	  beta = (float)(v*2*cimg::PI/subdivisions1),
+	  xc = radius1*(float)std::cos(beta),
+	  yc = radius1*(float)std::sin(beta);
+        for (unsigned int u = 0; u<subdivisions2; ++u) {
+          const float
+            alpha = (float)(u*2*cimg::PI/subdivisions2),
+            x = xc + radius2*(float)(std::cos(alpha)*std::cos(beta)),
+	    y = yc + radius2*(float)(std::cos(alpha)*std::sin(beta)),
+	    z = radius2*(float)std::sin(alpha);
+          CImg<floatT>::vector(x,y,z).move_to(vertices);
+        }
+      }
+      for (unsigned int vv = 0; vv<subdivisions1; ++vv) {
+	const unsigned int nv = (vv + 1)%subdivisions1;
+        for (unsigned int uu = 0; uu<subdivisions2; ++uu) {
+          const unsigned int nu = (uu + 1)%subdivisions2, svv = subdivisions2*vv, snv = subdivisions2*nv;
+          CImg<tf>::vector(svv + nu,svv + uu,snv + uu,snv + nu).move_to(primitives);
+        }
+      }
+      return vertices>'x';
+    }
+
+    //! Generate a 3d XY-plane.
+    /**
+       \param[out] primitives The returned list of the 3d object primitives
+                              (template type \e tf should be at least \e unsigned \e int).
+       \param size_x The width of the plane (dimension along the X-axis).
+       \param size_y The height of the plane (dimensions along the Y-axis).
+       \param subdivisions_x The number of planar subdivisions along the X-axis.
+       \param subdivisions_y The number of planar subdivisions along the Y-axis.
+       \return The N vertices (xi,yi,zi) of the 3d object as a Nx3 CImg<float> image (0<=i<=N - 1).
+       \par Example
+       \code
+       CImgList<unsigned int> faces3d;
+       const CImg<float> points3d = CImg<float>::plane3d(faces3d,100,50);
+       CImg<unsigned char>().display_object3d("Plane3d",points3d,faces3d);
+       \endcode
+       \image html ref_plane3d.jpg
+    **/
+    template<typename tf>
+    static CImg<floatT> plane3d(CImgList<tf>& primitives,
+                                const float size_x=100, const float size_y=100,
+                                const unsigned int subdivisions_x=10, const unsigned int subdivisions_y=10) {
+      primitives.assign();
+      if (!subdivisions_x || !subdivisions_y) return CImg<floatT>();
+      CImgList<floatT> vertices;
+      const unsigned int w = subdivisions_x + 1, h = subdivisions_y + 1;
+      const float fx = (float)size_x/w, fy = (float)size_y/h;
+      for (unsigned int y = 0; y<h; ++y) for (unsigned int x = 0; x<w; ++x)
+        CImg<floatT>::vector(fx*x,fy*y,0).move_to(vertices);
+      for (unsigned int y = 0; y<subdivisions_y; ++y) for (unsigned int x = 0; x<subdivisions_x; ++x) {
+        const int off1 = x + y*w, off2 = x + 1 + y*w, off3 = x + 1 + (y + 1)*w, off4 = x + (y + 1)*w;
+	CImg<tf>::vector(off1,off4,off3,off2).move_to(primitives);
+      }
+      return vertices>'x';
+    }
+
+    //! Generate a 3d sphere.
+    /**
+       \param[out] primitives The returned list of the 3d object primitives
+                              (template type \e tf should be at least \e unsigned \e int).
+       \param radius The radius of the sphere (dimension along the X-axis).
+       \param subdivisions The number of recursive subdivisions from an initial icosahedron.
+       \return The N vertices (xi,yi,zi) of the 3d object as a Nx3 CImg<float> image (0<=i<=N - 1).
+       \par Example
+       \code
+       CImgList<unsigned int> faces3d;
+       const CImg<float> points3d = CImg<float>::sphere3d(faces3d,100,4);
+       CImg<unsigned char>().display_object3d("Sphere3d",points3d,faces3d);
+       \endcode
+       \image html ref_sphere3d.jpg
+    **/
+    template<typename tf>
+    static CImg<floatT> sphere3d(CImgList<tf>& primitives,
+                                 const float radius=50, const unsigned int subdivisions=3) {
+
+      // Create initial icosahedron
+      primitives.assign();
+      const double tmp = (1 + std::sqrt(5.0f))/2, a = 1.0/std::sqrt(1 + tmp*tmp), b = tmp*a;
+      CImgList<floatT> vertices(12,1,3,1,1, b,a,0.0, -b,a,0.0, -b,-a,0.0, b,-a,0.0, a,0.0,b, a,0.0,-b,
+                                -a,0.0,-b, -a,0.0,b, 0.0,b,a, 0.0,-b,a, 0.0,-b,-a, 0.0,b,-a);
+      primitives.assign(20,1,3,1,1, 4,8,7, 4,7,9, 5,6,11, 5,10,6, 0,4,3, 0,3,5, 2,7,1, 2,1,6,
+                        8,0,11, 8,11,1, 9,10,3, 9,2,10, 8,4,0, 11,0,5, 4,9,3,
+                        5,3,10, 7,8,1, 6,1,11, 7,2,9, 6,10,2);
+      // edge - length/2
+      float he = (float)a;
+
+      // Recurse subdivisions
+      for (unsigned int i = 0; i<subdivisions; ++i) {
+        const unsigned int L = primitives._width;
+	he/=2;
+	const float he2 = he*he;
+        for (unsigned int l = 0; l<L; ++l) {
+          const unsigned int
+            p0 = (unsigned int)primitives(0,0), p1 = (unsigned int)primitives(0,1), p2 = (unsigned int)primitives(0,2);
+          const float
+            x0 = vertices(p0,0), y0 = vertices(p0,1), z0 = vertices(p0,2),
+            x1 = vertices(p1,0), y1 = vertices(p1,1), z1 = vertices(p1,2),
+            x2 = vertices(p2,0), y2 = vertices(p2,1), z2 = vertices(p2,2),
+            tnx0 = (x0 + x1)/2, tny0 = (y0 + y1)/2, tnz0 = (z0 + z1)/2,
+            nn0 = (float)std::sqrt(tnx0*tnx0 + tny0*tny0 + tnz0*tnz0),
+            tnx1 = (x0 + x2)/2, tny1 = (y0 + y2)/2, tnz1 = (z0 + z2)/2,
+            nn1 = (float)std::sqrt(tnx1*tnx1 + tny1*tny1 + tnz1*tnz1),
+            tnx2 = (x1 + x2)/2, tny2 = (y1 + y2)/2, tnz2 = (z1 + z2)/2,
+            nn2 = (float)std::sqrt(tnx2*tnx2 + tny2*tny2 + tnz2*tnz2),
+            nx0 = tnx0/nn0, ny0 = tny0/nn0, nz0 = tnz0/nn0,
+            nx1 = tnx1/nn1, ny1 = tny1/nn1, nz1 = tnz1/nn1,
+            nx2 = tnx2/nn2, ny2 = tny2/nn2, nz2 = tnz2/nn2;
+          int i0 = -1, i1 = -1, i2 = -1;
+          cimglist_for(vertices,p) {
+            const float x = (float)vertices(p,0), y = (float)vertices(p,1), z = (float)vertices(p,2);
+            if (cimg::sqr(x-nx0) + cimg::sqr(y-ny0) + cimg::sqr(z-nz0)<he2) i0 = p;
+            if (cimg::sqr(x-nx1) + cimg::sqr(y-ny1) + cimg::sqr(z-nz1)<he2) i1 = p;
+            if (cimg::sqr(x-nx2) + cimg::sqr(y-ny2) + cimg::sqr(z-nz2)<he2) i2 = p;
+          }
+          if (i0<0) { CImg<floatT>::vector(nx0,ny0,nz0).move_to(vertices); i0 = vertices.width() - 1; }
+          if (i1<0) { CImg<floatT>::vector(nx1,ny1,nz1).move_to(vertices); i1 = vertices.width() - 1; }
+          if (i2<0) { CImg<floatT>::vector(nx2,ny2,nz2).move_to(vertices); i2 = vertices.width() - 1; }
+          primitives.remove(0);
+          CImg<tf>::vector(p0,i0,i1).move_to(primitives);
+          CImg<tf>::vector((tf)i0,(tf)p1,(tf)i2).move_to(primitives);
+          CImg<tf>::vector((tf)i1,(tf)i2,(tf)p2).move_to(primitives);
+          CImg<tf>::vector((tf)i1,(tf)i0,(tf)i2).move_to(primitives);
+        }
+      }
+      return (vertices>'x')*=radius;
+    }
+
+    //! Generate a 3d ellipsoid.
+    /**
+       \param[out] primitives The returned list of the 3d object primitives
+                              (template type \e tf should be at least \e unsigned \e int).
+       \param tensor The tensor which gives the shape and size of the ellipsoid.
+       \param subdivisions The number of recursive subdivisions from an initial stretched icosahedron.
+       \return The N vertices (xi,yi,zi) of the 3d object as a Nx3 CImg<float> image (0<=i<=N - 1).
+       \par Example
+       \code
+       CImgList<unsigned int> faces3d;
+       const CImg<float> tensor = CImg<float>::diagonal(10,7,3),
+                         points3d = CImg<float>::ellipsoid3d(faces3d,tensor,4);
+       CImg<unsigned char>().display_object3d("Ellipsoid3d",points3d,faces3d);
+       \endcode
+       \image html ref_ellipsoid3d.jpg
+    **/
+    template<typename tf, typename t>
+    static CImg<floatT> ellipsoid3d(CImgList<tf>& primitives,
+                                    const CImg<t>& tensor, const unsigned int subdivisions=3) {
+      primitives.assign();
+      if (!subdivisions) return CImg<floatT>();
+      CImg<floatT> S, V;
+      tensor.symmetric_eigen(S,V);
+      const float orient =
+        (V(0,1)*V(1,2) - V(0,2)*V(1,1))*V(2,0) +
+        (V(0,2)*V(1,0) - V(0,0)*V(1,2))*V(2,1) +
+        (V(0,0)*V(1,1) - V(0,1)*V(1,0))*V(2,2);
+      if (orient<0) { V(2,0) = -V(2,0); V(2,1) = -V(2,1); V(2,2) = -V(2,2); }
+      const float l0 = S[0], l1 = S[1], l2 = S[2];
+      CImg<floatT> vertices = sphere3d(primitives,1.0,subdivisions);
+      vertices.get_shared_row(0)*=l0;
+      vertices.get_shared_row(1)*=l1;
+      vertices.get_shared_row(2)*=l2;
+      return V*vertices;
+    }
+
+    //! Convert 3d object into a CImg3d representation.
+    /**
+       \param primitives Primitives data of the 3d object.
+       \param colors Colors data of the 3d object.
+       \param opacities Opacities data of the 3d object.
+       \param full_check Tells if full checking of the 3d object must be performed.
+    **/
+    template<typename tp, typename tc, typename to>
+    CImg<T>& object3dtoCImg3d(const CImgList<tp>& primitives,
+                              const CImgList<tc>& colors,
+                              const to& opacities,
+                              const bool full_check=true) {
+      return get_object3dtoCImg3d(primitives,colors,opacities,full_check).move_to(*this);
+    }
+
+    //! Convert 3d object into a CImg3d representation \overloading.
+    template<typename tp, typename tc>
+    CImg<T>& object3dtoCImg3d(const CImgList<tp>& primitives,
+                              const CImgList<tc>& colors,
+                              const bool full_check=true) {
+      return get_object3dtoCImg3d(primitives,colors,full_check).move_to(*this);
+    }
+
+    //! Convert 3d object into a CImg3d representation \overloading.
+    template<typename tp>
+    CImg<T>& object3dtoCImg3d(const CImgList<tp>& primitives,
+                              const bool full_check=true) {
+      return get_object3dtoCImg3d(primitives,full_check).move_to(*this);
+    }
+
+    //! Convert 3d object into a CImg3d representation \overloading.
+    CImg<T>& object3dtoCImg3d(const bool full_check=true) {
+      return get_object3dtoCImg3d(full_check).move_to(*this);
+    }
+
+    //! Convert 3d object into a CImg3d representation \newinstance.
+    template<typename tp, typename tc, typename to>
+    CImg<floatT> get_object3dtoCImg3d(const CImgList<tp>& primitives,
+                                      const CImgList<tc>& colors,
+                                      const to& opacities,
+                                      const bool full_check=true) const {
+      CImg<charT> error_message(1024);
+      if (!is_object3d(primitives,colors,opacities,full_check,error_message))
+        throw CImgInstanceException(_cimg_instance
+                                    "object3dtoCImg3d(): Invalid specified 3d object (%u,%u) (%s).",
+                                    cimg_instance,_width,primitives._width,error_message.data());
+      CImg<floatT> res(1,_size_object3dtoCImg3d(primitives,colors,opacities));
+      float *ptrd = res._data;
+
+      // Put magick number.
+      *(ptrd++) = 'C' + 0.5f; *(ptrd++) = 'I' + 0.5f; *(ptrd++) = 'm' + 0.5f;
+      *(ptrd++) = 'g' + 0.5f; *(ptrd++) = '3' + 0.5f; *(ptrd++) = 'd' + 0.5f;
+
+      // Put number of vertices and primitives.
+      *(ptrd++) = cimg::uint2float(_width);
+      *(ptrd++) = cimg::uint2float(primitives._width);
+
+      // Put vertex data.
+      if (is_empty() || !primitives) return res;
+      const T *ptrx = data(0,0), *ptry = data(0,1), *ptrz = data(0,2);
+      cimg_forX(*this,p) {
+        *(ptrd++) = (float)*(ptrx++);
+        *(ptrd++) = (float)*(ptry++);
+        *(ptrd++) = (float)*(ptrz++);
+      }
+
+      // Put primitive data.
+      cimglist_for(primitives,p) {
+        *(ptrd++) = (float)primitives[p].size();
+        const tp *ptrp = primitives[p]._data;
+        cimg_foroff(primitives[p],i) *(ptrd++) = cimg::uint2float((unsigned int)*(ptrp++));
+      }
+
+      // Put color/texture data.
+      const unsigned int csiz = cimg::min(colors._width,primitives._width);
+      for (int c = 0; c<(int)csiz; ++c) {
+        const CImg<tc>& color = colors[c];
+        const tc *ptrc = color._data;
+        if (color.size()==3) { *(ptrd++) = (float)*(ptrc++); *(ptrd++) = (float)*(ptrc++); *(ptrd++) = (float)*ptrc; }
+        else {
+          *(ptrd++) = -128.0f;
+          int shared_ind = -1;
+          if (color.is_shared()) for (int i = 0; i<c; ++i) if (ptrc==colors[i]._data) { shared_ind = i; break; }
+          if (shared_ind<0) {
+            *(ptrd++) = (float)color._width;
+            *(ptrd++) = (float)color._height;
+            *(ptrd++) = (float)color._spectrum;
+            cimg_foroff(color,l) *(ptrd++) = (float)*(ptrc++);
+          } else {
+            *(ptrd++) = (float)shared_ind;
+            *(ptrd++) = 0;
+            *(ptrd++) = 0;
+          }
+        }
+      }
+      const int csiz2 = primitives.width() - colors.width();
+      for (int c = 0; c<csiz2; ++c) { *(ptrd++) = 200.0f; *(ptrd++) = 200.0f; *(ptrd++) = 200.0f; }
+
+      // Put opacity data.
+      ptrd = _object3dtoCImg3d(opacities,ptrd);
+      const float *ptre = res.end();
+      while (ptrd<ptre) *(ptrd++) = 1.0f;
+      return res;
+    }
+
+    template<typename to>
+    float* _object3dtoCImg3d(const CImgList<to>& opacities, float *ptrd) const {
+      cimglist_for(opacities,o) {
+        const CImg<to>& opacity = opacities[o];
+        const to *ptro = opacity._data;
+        if (opacity.size()==1) *(ptrd++) = (float)*ptro;
+        else {
+          *(ptrd++) = -128.0f;
+          int shared_ind = -1;
+          if (opacity.is_shared()) for (int i = 0; i<o; ++i) if (ptro==opacities[i]._data) { shared_ind = i; break; }
+          if (shared_ind<0) {
+            *(ptrd++) = (float)opacity._width;
+            *(ptrd++) = (float)opacity._height;
+            *(ptrd++) = (float)opacity._spectrum;
+            cimg_foroff(opacity,l) *(ptrd++) = (float)*(ptro++);
+          } else {
+            *(ptrd++) = (float)shared_ind;
+            *(ptrd++) = 0;
+            *(ptrd++) = 0;
+          }
+        }
+      }
+      return ptrd;
+    }
+
+    template<typename to>
+    float* _object3dtoCImg3d(const CImg<to>& opacities, float *ptrd) const {
+      const to *ptro = opacities._data;
+      cimg_foroff(opacities,o) *(ptrd++) = (float)*(ptro++);
+      return ptrd;
+    }
+
+    template<typename tp, typename tc, typename to>
+    unsigned int _size_object3dtoCImg3d(const CImgList<tp>& primitives,
+                                        const CImgList<tc>& colors,
+                                        const CImgList<to>& opacities) const {
+      unsigned int siz = 8U + 3*_width;
+      cimglist_for(primitives,p) siz+=primitives[p].size() + 1;
+      for (int c = cimg::min(primitives.width(),colors.width()) - 1; c>=0; --c) {
+        if (colors[c].is_shared()) siz+=4;
+        else { const unsigned int csiz = colors[c].size(); siz+=(csiz!=3)?4 + csiz:3; }
+      }
+      if (colors._width<primitives._width) siz+=3*(primitives._width - colors._width);
+      cimglist_for(opacities,o) {
+        if (opacities[o].is_shared()) siz+=4;
+        else { const unsigned int osiz = opacities[o].size(); siz+=(osiz!=1)?4 + osiz:1; }
+      }
+      siz+=primitives._width - opacities._width;
+      return siz;
+    }
+
+    template<typename tp, typename tc, typename to>
+    unsigned int _size_object3dtoCImg3d(const CImgList<tp>& primitives,
+                                        const CImgList<tc>& colors,
+                                        const CImg<to>& opacities) const {
+      unsigned int siz = 8U + 3*_width;
+      cimglist_for(primitives,p) siz+=primitives[p].size() + 1;
+      for (int c = cimg::min(primitives.width(),colors.width()) - 1; c>=0; --c) {
+        const unsigned int csiz = colors[c].size(); siz+=(csiz!=3)?4 + csiz:3;
+      }
+      if (colors._width<primitives._width) siz+=3*(primitives._width - colors._width);
+      siz+=primitives.size();
+      cimg::unused(opacities);
+      return siz;
+    }
+
+    //! Convert 3d object into a CImg3d representation \overloading.
+    template<typename tp, typename tc>
+    CImg<floatT> get_object3dtoCImg3d(const CImgList<tp>& primitives,
+                                      const CImgList<tc>& colors,
+                                      const bool full_check=true) const {
+      CImgList<T> opacities;
+      return get_object3dtoCImg3d(primitives,colors,opacities,full_check);
+    }
+
+    //! Convert 3d object into a CImg3d representation \overloading.
+    template<typename tp>
+    CImg<floatT> get_object3dtoCImg3d(const CImgList<tp>& primitives,
+                                      const bool full_check=true) const {
+      CImgList<T> colors, opacities;
+      return get_object3dtoCImg3d(primitives,colors,opacities,full_check);
+    }
+
+    //! Convert 3d object into a CImg3d representation \overloading.
+    CImg<floatT> get_object3dtoCImg3d(const bool full_check=true) const {
+      CImgList<T> opacities, colors;
+      CImgList<uintT> primitives(width(),1,1,1,1);
+      cimglist_for(primitives,p) primitives(p,0) = p;
+      return get_object3dtoCImg3d(primitives,colors,opacities,full_check);
+    }
+
+    //! Convert CImg3d representation into a 3d object.
+    /**
+       \param[out] primitives Primitives data of the 3d object.
+       \param[out] colors Colors data of the 3d object.
+       \param[out] opacities Opacities data of the 3d object.
+       \param full_check Tells if full checking of the 3d object must be performed.
+    **/
+    template<typename tp, typename tc, typename to>
+    CImg<T>& CImg3dtoobject3d(CImgList<tp>& primitives,
+                              CImgList<tc>& colors,
+                              CImgList<to>& opacities,
+                              const bool full_check=true) {
+      return get_CImg3dtoobject3d(primitives,colors,opacities,full_check).move_to(*this);
+    }
+
+    //! Convert CImg3d representation into a 3d object \newinstance.
+    template<typename tp, typename tc, typename to>
+    CImg<T> get_CImg3dtoobject3d(CImgList<tp>& primitives,
+                                 CImgList<tc>& colors,
+                                 CImgList<to>& opacities,
+                                 const bool full_check=true) const {
+      CImg<charT> error_message(1024);
+      if (!is_CImg3d(full_check,error_message))
+        throw CImgInstanceException(_cimg_instance
+                                    "CImg3dtoobject3d(): image instance is not a CImg3d (%s).",
+                                    cimg_instance,error_message.data());
+      const T *ptrs = _data + 6;
+      const unsigned int
+        nb_points = cimg::float2uint((float)*(ptrs++)),
+        nb_primitives = cimg::float2uint((float)*(ptrs++));
+      const CImg<T> points = CImg<T>(ptrs,3,nb_points,1,1,true).get_transpose();
+      ptrs+=3*nb_points;
+      primitives.assign(nb_primitives);
+      cimglist_for(primitives,p) {
+        const unsigned int nb_inds = (unsigned int)*(ptrs++);
+        primitives[p].assign(1,nb_inds);
+        tp *ptrp = primitives[p]._data;
+        for (unsigned int i = 0; i<nb_inds; ++i) *(ptrp++) = (tp)cimg::float2uint((float)*(ptrs++));
+      }
+      colors.assign(nb_primitives);
+      cimglist_for(colors,c) {
+        if (*ptrs==(T)-128) {
+          ++ptrs;
+          const unsigned int w = (unsigned int)*(ptrs++), h = (unsigned int)*(ptrs++), s = (unsigned int)*(ptrs++);
+          if (!h && !s) colors[c].assign(colors[w],true);
+          else { colors[c].assign(ptrs,w,h,1,s,false); ptrs+=w*h*s; }
+        } else { colors[c].assign(ptrs,1,1,1,3,false); ptrs+=3; }
+      }
+      opacities.assign(nb_primitives);
+      cimglist_for(opacities,o) {
+        if (*ptrs==(T)-128) {
+          ++ptrs;
+          const unsigned int w = (unsigned int)*(ptrs++), h = (unsigned int)*(ptrs++), s = (unsigned int)*(ptrs++);
+          if (!h && !s) opacities[o].assign(opacities[w],true);
+          else { opacities[o].assign(ptrs,w,h,1,s,false); ptrs+=w*h*s; }
+        } else opacities[o].assign(1,1,1,1,*(ptrs++));
+      }
+      return points;
+    }
+
+    //@}
+    //---------------------------
+    //
+    //! \name Drawing Functions
+    //@{
+    //---------------------------
+
+#define cimg_init_scanline(color,opacity) \
+    const float _sc_nopacity = cimg::abs((float)opacity), _sc_copacity = 1 - cimg::max((float)opacity,0); \
+  const unsigned long _sc_whd = (unsigned long)_width*_height*_depth
+
+#define cimg_draw_scanline(x0,x1,y,color,opacity,brightness) \
+    _draw_scanline(x0,x1,y,color,opacity,brightness,_sc_nopacity,_sc_copacity,_sc_whd)
+
+    // [internal] The following _draw_scanline() routines are *non user-friendly functions*,
+    // used only for internal purpose.
+    // Pre-requisites: x0<x1, y-coordinate is valid, col is valid.
+    template<typename tc>
+    CImg<T>& _draw_scanline(const int x0, const int x1, const int y,
+                            const tc *const color, const float opacity,
+                            const float brightness,
+                            const float nopacity, const float copacity, const unsigned long whd) {
+      static const T maxval = (T)cimg::min(cimg::type<T>::max(),cimg::type<tc>::max());
+      const int nx0 = x0>0?x0:0, nx1 = x1<width()?x1:width() - 1, dx = nx1 - nx0;
+      if (dx>=0) {
+        const tc *col = color;
+        const unsigned long off = whd - dx - 1;
+        T *ptrd = data(nx0,y);
+        if (opacity>=1) { // ** Opaque drawing **
+          if (brightness==1) { // Brightness==1
+            if (sizeof(T)!=1) cimg_forC(*this,c) {
+                const T val = (T)*(col++);
+                for (int x = dx; x>=0; --x) *(ptrd++) = val;
+                ptrd+=off;
+              } else cimg_forC(*this,c) {
+                const T val = (T)*(col++);
+                std::memset(ptrd,(int)val,dx + 1);
+                ptrd+=whd;
+              }
+          } else if (brightness<1) { // Brightness<1
+            if (sizeof(T)!=1) cimg_forC(*this,c) {
+                const T val = (T)(*(col++)*brightness);
+                for (int x = dx; x>=0; --x) *(ptrd++) = val;
+                ptrd+=off;
+              } else cimg_forC(*this,c) {
+                const T val = (T)(*(col++)*brightness);
+                std::memset(ptrd,(int)val,dx + 1);
+                ptrd+=whd;
+              }
+          } else { // Brightness>1
+            if (sizeof(T)!=1) cimg_forC(*this,c) {
+                const T val = (T)((2-brightness)**(col++) + (brightness - 1)*maxval);
+                for (int x = dx; x>=0; --x) *(ptrd++) = val;
+                ptrd+=off;
+              } else cimg_forC(*this,c) {
+                const T val = (T)((2-brightness)**(col++) + (brightness - 1)*maxval);
+                std::memset(ptrd,(int)val,dx + 1);
+                ptrd+=whd;
+              }
+          }
+        } else { // ** Transparent drawing **
+          if (brightness==1) { // Brightness==1
+            cimg_forC(*this,c) {
+              const T val = (T)*(col++);
+              for (int x = dx; x>=0; --x) { *ptrd = (T)(val*nopacity + *ptrd*copacity); ++ptrd; }
+              ptrd+=off;
+            }
+          } else if (brightness<=1) { // Brightness<1
+            cimg_forC(*this,c) {
+              const T val = (T)(*(col++)*brightness);
+              for (int x = dx; x>=0; --x) { *ptrd = (T)(val*nopacity + *ptrd*copacity); ++ptrd; }
+              ptrd+=off;
+            }
+          } else { // Brightness>1
+            cimg_forC(*this,c) {
+              const T val = (T)((2-brightness)**(col++) + (brightness - 1)*maxval);
+              for (int x = dx; x>=0; --x) { *ptrd = (T)(val*nopacity + *ptrd*copacity); ++ptrd; }
+              ptrd+=off;
+            }
+          }
+        }
+      }
+      return *this;
+    }
+
+    //! Draw a 3d point.
+    /**
+       \param x0 X-coordinate of the point.
+       \param y0 Y-coordinate of the point.
+       \param z0 Z-coordinate of the point.
+       \param color Pointer to \c spectrum() consecutive values, defining the drawing color.
+       \param opacity Drawing opacity.
+       \note
+       - To set pixel values without clipping needs, you should use the faster CImg::operator()() function.
+       \par Example:
+       \code
+       CImg<unsigned char> img(100,100,1,3,0);
+       const unsigned char color[] = { 255,128,64 };
+       img.draw_point(50,50,color);
+       \endcode
+    **/
+    template<typename tc>
+    CImg<T>& draw_point(const int x0, const int y0, const int z0,
+                        const tc *const color, const float opacity=1) {
+      if (is_empty()) return *this;
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_point(): Specified color is (null).",
+                                    cimg_instance);
+      if (x0>=0 && y0>=0 && z0>=0 && x0<width() && y0<height() && z0<depth()) {
+        const unsigned long whd = (unsigned long)_width*_height*_depth;
+        const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+        T *ptrd = data(x0,y0,z0,0);
+        const tc *col = color;
+        if (opacity>=1) cimg_forC(*this,c) { *ptrd = (T)*(col++); ptrd+=whd; }
+        else cimg_forC(*this,c) { *ptrd = (T)(*(col++)*nopacity + *ptrd*copacity); ptrd+=whd; }
+      }
+      return *this;
+    }
+
+    //! Draw a 2d point \simplification.
+    template<typename tc>
+    CImg<T>& draw_point(const int x0, const int y0,
+                        const tc *const color, const float opacity=1) {
+      return draw_point(x0,y0,0,color,opacity);
+    }
+
+    // Draw a points cloud.
+    /**
+       \param points Image of vertices coordinates.
+       \param color Pointer to \c spectrum() consecutive values, defining the drawing color.
+       \param opacity Drawing opacity.
+    **/
+    template<typename t, typename tc>
+    CImg<T>& draw_point(const CImg<t>& points,
+                        const tc *const color, const float opacity=1) {
+      if (is_empty() || !points) return *this;
+      switch (points._height) {
+      case 0 : case 1 :
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_point(): Invalid specified point set (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    points._width,points._height,points._depth,points._spectrum,points._data);
+      case 2 : {
+        cimg_forX(points,i) draw_point((int)points(i,0),(int)points(i,1),color,opacity);
+      } break;
+      default : {
+        cimg_forX(points,i) draw_point((int)points(i,0),(int)points(i,1),(int)points(i,2),color,opacity);
+      }
+      }
+      return *this;
+    }
+
+    //! Draw a 2d line.
+    /**
+       \param x0 X-coordinate of the starting line point.
+       \param y0 Y-coordinate of the starting line point.
+       \param x1 X-coordinate of the ending line point.
+       \param y1 Y-coordinate of the ending line point.
+       \param color Pointer to \c spectrum() consecutive values of type \c T, defining the drawing color.
+       \param opacity Drawing opacity.
+       \param pattern An integer whose bits describe the line pattern.
+       \param init_hatch Tells if a reinitialization of the hash state must be done.
+       \note
+       - Line routine uses Bresenham's algorithm.
+       - Set \p init_hatch = false to draw consecutive hatched segments without breaking the line pattern.
+       \par Example:
+       \code
+       CImg<unsigned char> img(100,100,1,3,0);
+       const unsigned char color[] = { 255,128,64 };
+        img.draw_line(40,40,80,70,color);
+       \endcode
+    **/
+    template<typename tc>
+    CImg<T>& draw_line(const int x0, const int y0,
+                       const int x1, const int y1,
+                       const tc *const color, const float opacity=1,
+                       const unsigned int pattern=~0U, const bool init_hatch=true) {
+      if (is_empty()) return *this;
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_line(): Specified color is (null).",
+                                    cimg_instance);
+      static unsigned int hatch = ~0U - (~0U>>1);
+      if (init_hatch) hatch = ~0U - (~0U>>1);
+      const bool xdir = x0<x1, ydir = y0<y1;
+      int
+	nx0 = x0, nx1 = x1, ny0 = y0, ny1 = y1,
+	&xleft = xdir?nx0:nx1, &yleft = xdir?ny0:ny1,
+        &xright = xdir?nx1:nx0, &yright = xdir?ny1:ny0,
+	&xup = ydir?nx0:nx1, &yup = ydir?ny0:ny1,
+        &xdown = ydir?nx1:nx0, &ydown = ydir?ny1:ny0;
+      if (xright<0 || xleft>=width()) return *this;
+      if (xleft<0) { yleft-=(int)((float)xleft*((float)yright - yleft)/((float)xright - xleft)); xleft = 0; }
+      if (xright>=width()) {
+        yright-=(int)(((float)xright - width())*((float)yright - yleft)/((float)xright - xleft));
+        xright = width() - 1;
+      }
+      if (ydown<0 || yup>=height()) return *this;
+      if (yup<0) { xup-=(int)((float)yup*((float)xdown - xup)/((float)ydown - yup)); yup = 0; }
+      if (ydown>=height()) {
+        xdown-=(int)(((float)ydown - height())*((float)xdown - xup)/((float)ydown - yup));
+        ydown = height() - 1;
+      }
+      T *ptrd0 = data(nx0,ny0);
+      int dx = xright - xleft, dy = ydown - yup;
+      const bool steep = dy>dx;
+      if (steep) cimg::swap(nx0,ny0,nx1,ny1,dx,dy);
+      const long
+        offx = (nx0<nx1?1:-1)*(steep?width():1),
+        offy = (ny0<ny1?1:-1)*(steep?1:width());
+      const unsigned long wh = (unsigned long)_width*_height;
+      if (opacity>=1) {
+        if (~pattern) for (int error = dx>>1, x = 0; x<=dx; ++x) {
+          if (pattern&hatch) {
+            T *ptrd = ptrd0; const tc* col = color;
+            cimg_forC(*this,c) { *ptrd = (T)*(col++); ptrd+=wh; }
+          }
+          hatch>>=1; if (!hatch) hatch = ~0U - (~0U>>1);
+          ptrd0+=offx;
+          if ((error-=dy)<0) { ptrd0+=offy; error+=dx; }
+        } else for (int error = dx>>1, x = 0; x<=dx; ++x) {
+          T *ptrd = ptrd0; const tc* col = color; cimg_forC(*this,c) { *ptrd = (T)*(col++); ptrd+=wh; }
+          ptrd0+=offx;
+          if ((error-=dy)<0) { ptrd0+=offy; error+=dx; }
+        }
+      } else {
+        const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+        if (~pattern) for (int error = dx>>1, x = 0; x<=dx; ++x) {
+          if (pattern&hatch) {
+            T *ptrd = ptrd0; const tc* col = color;
+            cimg_forC(*this,c) { *ptrd = (T)(nopacity**(col++) + *ptrd*copacity); ptrd+=wh; }
+          }
+          hatch>>=1; if (!hatch) hatch = ~0U - (~0U>>1);
+          ptrd0+=offx;
+          if ((error-=dy)<0) { ptrd0+=offy; error+=dx; }
+        } else for (int error = dx>>1, x = 0; x<=dx; ++x) {
+          T *ptrd = ptrd0; const tc* col = color;
+          cimg_forC(*this,c) { *ptrd = (T)(nopacity**(col++) + *ptrd*copacity); ptrd+=wh; }
+          ptrd0+=offx;
+          if ((error-=dy)<0) { ptrd0+=offy; error+=dx; }
+        }
+      }
+      return *this;
+    }
+
+    //! Draw a 2d line, with z-buffering.
+    /**
+       \param zbuffer Zbuffer image.
+       \param x0 X-coordinate of the starting point.
+       \param y0 Y-coordinate of the starting point.
+       \param z0 Z-coordinate of the starting point
+       \param x1 X-coordinate of the ending point.
+       \param y1 Y-coordinate of the ending point.
+       \param z1 Z-coordinate of the ending point.
+       \param color Pointer to \c spectrum() consecutive values of type \c T, defining the drawing color.
+       \param opacity Drawing opacity.
+       \param pattern An integer whose bits describe the line pattern.
+       \param init_hatch Tells if a reinitialization of the hash state must be done.
+    **/
+    template<typename tz,typename tc>
+    CImg<T>& draw_line(CImg<tz>& zbuffer,
+                       const int x0, const int y0, const float z0,
+                       const int x1, const int y1, const float z1,
+                       const tc *const color, const float opacity=1,
+                       const unsigned int pattern=~0U, const bool init_hatch=true) {
+      typedef typename cimg::superset<tz,float>::type tzfloat;
+      if (is_empty() || z0<=0 || z1<=0) return *this;
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_line(): Specified color is (null).",
+                                    cimg_instance);
+      if (!is_sameXY(zbuffer))
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_line(): Instance and specified Z-buffer (%u,%u,%u,%u,%p) have "
+                                    "different dimensions.",
+                                    cimg_instance,
+                                    zbuffer._width,zbuffer._height,zbuffer._depth,zbuffer._spectrum,zbuffer._data);
+      static unsigned int hatch = ~0U - (~0U>>1);
+      if (init_hatch) hatch = ~0U - (~0U>>1);
+      const bool xdir = x0<x1, ydir = y0<y1;
+      int
+        nx0 = x0, nx1 = x1, ny0 = y0, ny1 = y1,
+        &xleft = xdir?nx0:nx1, &yleft = xdir?ny0:ny1,
+        &xright = xdir?nx1:nx0, &yright = xdir?ny1:ny0,
+        &xup = ydir?nx0:nx1, &yup = ydir?ny0:ny1,
+        &xdown = ydir?nx1:nx0, &ydown = ydir?ny1:ny0;
+      tzfloat
+        Z0 = 1/(tzfloat)z0, Z1 = 1/(tzfloat)z1, nz0 = Z0, nz1 = Z1, dz = Z1 - Z0,
+        &zleft = xdir?nz0:nz1,
+        &zright = xdir?nz1:nz0,
+        &zup = ydir?nz0:nz1,
+        &zdown = ydir?nz1:nz0;
+      if (xright<0 || xleft>=width()) return *this;
+      if (xleft<0) {
+        const float D = (float)xright - xleft;
+        yleft-=(int)((float)xleft*((float)yright - yleft)/D);
+        zleft-=(tzfloat)xleft*(zright - zleft)/D;
+        xleft = 0;
+      }
+      if (xright>=width()) {
+        const float d = (float)xright - width(), D = (float)xright - xleft;
+        yright-=(int)(d*((float)yright - yleft)/D);
+        zright-=(tzfloat)d*(zright - zleft)/D;
+        xright = width() - 1;
+      }
+      if (ydown<0 || yup>=height()) return *this;
+      if (yup<0) {
+        const float D = (float)ydown - yup;
+        xup-=(int)((float)yup*((float)xdown - xup)/D);
+        zup-=(tzfloat)yup*(zdown - zup)/D;
+        yup = 0;
+      }
+      if (ydown>=height()) {
+        const float d = (float)ydown - height(), D = (float)ydown - yup;
+        xdown-=(int)(d*((float)xdown - xup)/D);
+        zdown-=(tzfloat)d*(zdown - zup)/D;
+        ydown = height() - 1;
+      }
+      T *ptrd0 = data(nx0,ny0);
+      tz *ptrz = zbuffer.data(nx0,ny0);
+      int dx = xright - xleft, dy = ydown - yup;
+      const bool steep = dy>dx;
+      if (steep) cimg::swap(nx0,ny0,nx1,ny1,dx,dy);
+      const long
+        offx = (nx0<nx1?1:-1)*(steep?width():1),
+        offy = (ny0<ny1?1:-1)*(steep?1:width());
+      const unsigned long wh = (unsigned long)_width*_height,
+        ndx = dx>0?(unsigned long)dx:1;
+      if (opacity>=1) {
+        if (~pattern) for (int error = dx>>1, x = 0; x<=dx; ++x) {
+          const tzfloat z = Z0 + x*dz/ndx;
+          if (z>=(tzfloat)*ptrz && pattern&hatch) {
+            *ptrz = (tz)z;
+            T *ptrd = ptrd0; const tc *col = color;
+            cimg_forC(*this,c) { *ptrd = (T)*(col++); ptrd+=wh; }
+          }
+          hatch>>=1; if (!hatch) hatch = ~0U - (~0U>>1);
+          ptrd0+=offx; ptrz+=offx;
+          if ((error-=dy)<0) { ptrd0+=offy; ptrz+=offy; error+=dx; }
+        } else for (int error = dx>>1, x = 0; x<=dx; ++x) {
+          const tzfloat z = Z0 + x*dz/ndx;
+          if (z>=(tzfloat)*ptrz) {
+            *ptrz = (tz)z;
+            T *ptrd = ptrd0; const tc *col = color;
+            cimg_forC(*this,c) { *ptrd = (T)*(col++); ptrd+=wh; }
+          }
+          ptrd0+=offx; ptrz+=offx;
+          if ((error-=dy)<0) { ptrd0+=offy; ptrz+=offy; error+=dx; }
+        }
+      } else {
+        const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+        if (~pattern) for (int error = dx>>1, x = 0; x<=dx; ++x) {
+          const tzfloat z = Z0 + x*dz/ndx;
+          if (z>=(tzfloat)*ptrz && pattern&hatch) {
+            *ptrz = (tz)z;
+            T *ptrd = ptrd0; const tc *col = color;
+            cimg_forC(*this,c) { *ptrd = (T)(nopacity**(col++) + *ptrd*copacity); ptrd+=wh; }
+          }
+          hatch>>=1; if (!hatch) hatch = ~0U - (~0U>>1);
+          ptrd0+=offx; ptrz+=offx;
+          if ((error-=dy)<0) { ptrd0+=offy; ptrz+=offy; error+=dx; }
+        } else for (int error = dx>>1, x = 0; x<=dx; ++x) {
+          const tzfloat z = Z0 + x*dz/ndx;
+          if (z>=(tzfloat)*ptrz) {
+            *ptrz = (tz)z;
+            T *ptrd = ptrd0; const tc *col = color;
+            cimg_forC(*this,c) { *ptrd = (T)(nopacity**(col++) + *ptrd*copacity); ptrd+=wh; }
+          }
+          ptrd0+=offx; ptrz+=offx;
+          if ((error-=dy)<0) { ptrd0+=offy; ptrz+=offy; error+=dx; }
+        }
+      }
+      return *this;
+    }
+
+    //! Draw a 3d line.
+    /**
+       \param x0 X-coordinate of the starting point.
+       \param y0 Y-coordinate of the starting point.
+       \param z0 Z-coordinate of the starting point
+       \param x1 X-coordinate of the ending point.
+       \param y1 Y-coordinate of the ending point.
+       \param z1 Z-coordinate of the ending point.
+       \param color Pointer to \c spectrum() consecutive values of type \c T, defining the drawing color.
+       \param opacity Drawing opacity.
+       \param pattern An integer whose bits describe the line pattern.
+       \param init_hatch Tells if a reinitialization of the hash state must be done.
+    **/
+    template<typename tc>
+    CImg<T>& draw_line(const int x0, const int y0, const int z0,
+                       const int x1, const int y1, const int z1,
+                       const tc *const color, const float opacity=1,
+                       const unsigned int pattern=~0U, const bool init_hatch=true) {
+      if (is_empty()) return *this;
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_line(): Specified color is (null).",
+                                    cimg_instance);
+      static unsigned int hatch = ~0U - (~0U>>1);
+      if (init_hatch) hatch = ~0U - (~0U>>1);
+      int nx0 = x0, ny0 = y0, nz0 = z0, nx1 = x1, ny1 = y1, nz1 = z1;
+      if (nx0>nx1) cimg::swap(nx0,nx1,ny0,ny1,nz0,nz1);
+      if (nx1<0 || nx0>=width()) return *this;
+      if (nx0<0) {
+        const float D = 1.0f + nx1 - nx0;
+        ny0-=(int)((float)nx0*(1.0f + ny1 - ny0)/D);
+        nz0-=(int)((float)nx0*(1.0f + nz1 - nz0)/D);
+        nx0 = 0;
+      }
+      if (nx1>=width()) {
+        const float d = (float)nx1 - width(), D = 1.0f + nx1 - nx0;
+        ny1+=(int)(d*(1.0f + ny0 - ny1)/D);
+        nz1+=(int)(d*(1.0f + nz0 - nz1)/D);
+        nx1 = width() - 1;
+      }
+      if (ny0>ny1) cimg::swap(nx0,nx1,ny0,ny1,nz0,nz1);
+      if (ny1<0 || ny0>=height()) return *this;
+      if (ny0<0) {
+        const float D = 1.0f + ny1 - ny0;
+        nx0-=(int)((float)ny0*(1.0f + nx1 - nx0)/D);
+        nz0-=(int)((float)ny0*(1.0f + nz1 - nz0)/D);
+        ny0 = 0;
+      }
+      if (ny1>=height()) {
+        const float d = (float)ny1 - height(), D = 1.0f + ny1 - ny0;
+        nx1+=(int)(d*(1.0f + nx0 - nx1)/D);
+        nz1+=(int)(d*(1.0f + nz0 - nz1)/D);
+        ny1 = height() - 1;
+      }
+      if (nz0>nz1) cimg::swap(nx0,nx1,ny0,ny1,nz0,nz1);
+      if (nz1<0 || nz0>=depth()) return *this;
+      if (nz0<0) {
+        const float D = 1.0f + nz1 - nz0;
+        nx0-=(int)((float)nz0*(1.0f + nx1 - nx0)/D);
+        ny0-=(int)((float)nz0*(1.0f + ny1 - ny0)/D);
+        nz0 = 0;
+      }
+      if (nz1>=depth()) {
+        const float d = (float)nz1 - depth(), D = 1.0f + nz1 - nz0;
+        nx1+=(int)(d*(1.0f + nx0 - nx1)/D);
+        ny1+=(int)(d*(1.0f + ny0 - ny1)/D);
+        nz1 = depth() - 1;
+      }
+      const unsigned int dmax = (unsigned int)cimg::max(cimg::abs(nx1 - nx0),cimg::abs(ny1 - ny0),nz1 - nz0);
+      const unsigned long whd = (unsigned long)_width*_height*_depth;
+      const float px = (nx1 - nx0)/(float)dmax, py = (ny1 - ny0)/(float)dmax, pz = (nz1 - nz0)/(float)dmax;
+      float x = (float)nx0, y = (float)ny0, z = (float)nz0;
+      if (opacity>=1) for (unsigned int t = 0; t<=dmax; ++t) {
+        if (!(~pattern) || (~pattern && pattern&hatch)) {
+          T* ptrd = data((unsigned int)x,(unsigned int)y,(unsigned int)z);
+          const tc *col = color; cimg_forC(*this,c) { *ptrd = (T)*(col++); ptrd+=whd; }
+        }
+        x+=px; y+=py; z+=pz; if (pattern) { hatch>>=1; if (!hatch) hatch = ~0U - (~0U>>1); }
+      } else {
+        const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+        for (unsigned int t = 0; t<=dmax; ++t) {
+          if (!(~pattern) || (~pattern && pattern&hatch)) {
+            T* ptrd = data((unsigned int)x,(unsigned int)y,(unsigned int)z);
+            const tc *col = color; cimg_forC(*this,c) { *ptrd = (T)(*(col++)*nopacity + *ptrd*copacity); ptrd+=whd; }
+          }
+          x+=px; y+=py; z+=pz; if (pattern) { hatch>>=1; if (!hatch) hatch = ~0U - (~0U>>1); }
+        }
+      }
+      return *this;
+    }
+
+    //! Draw a textured 2d line.
+    /**
+       \param x0 X-coordinate of the starting line point.
+       \param y0 Y-coordinate of the starting line point.
+       \param x1 X-coordinate of the ending line point.
+       \param y1 Y-coordinate of the ending line point.
+       \param texture Texture image defining the pixel colors.
+       \param tx0 X-coordinate of the starting texture point.
+       \param ty0 Y-coordinate of the starting texture point.
+       \param tx1 X-coordinate of the ending texture point.
+       \param ty1 Y-coordinate of the ending texture point.
+       \param opacity Drawing opacity.
+       \param pattern An integer whose bits describe the line pattern.
+       \param init_hatch Tells if the hash variable must be reinitialized.
+       \note
+       - Line routine uses the well known Bresenham's algorithm.
+       \par Example:
+       \code
+       CImg<unsigned char> img(100,100,1,3,0), texture("texture256x256.ppm");
+       const unsigned char color[] = { 255,128,64 };
+       img.draw_line(40,40,80,70,texture,0,0,255,255);
+       \endcode
+    **/
+    template<typename tc>
+    CImg<T>& draw_line(const int x0, const int y0,
+                       const int x1, const int y1,
+                       const CImg<tc>& texture,
+                       const int tx0, const int ty0,
+                       const int tx1, const int ty1,
+                       const float opacity=1,
+                       const unsigned int pattern=~0U, const bool init_hatch=true) {
+      if (is_empty()) return *this;
+      if (texture._depth>1 || texture._spectrum<_spectrum)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_line(): Invalid specified texture (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    texture._width,texture._height,texture._depth,texture._spectrum,texture._data);
+      if (is_overlapped(texture)) return draw_line(x0,y0,x1,y1,+texture,tx0,ty0,tx1,ty1,opacity,pattern,init_hatch);
+      static unsigned int hatch = ~0U - (~0U>>1);
+      if (init_hatch) hatch = ~0U - (~0U>>1);
+      const bool xdir = x0<x1, ydir = y0<y1;
+      int
+        dtx = tx1-tx0, dty = ty1-ty0,
+        nx0 = x0, nx1 = x1, ny0 = y0, ny1 = y1,
+        tnx0 = tx0, tnx1 = tx1, tny0 = ty0, tny1 = ty1,
+        &xleft = xdir?nx0:nx1, &yleft = xdir?ny0:ny1, &xright = xdir?nx1:nx0, &yright = xdir?ny1:ny0,
+        &txleft = xdir?tnx0:tnx1, &tyleft = xdir?tny0:tny1, &txright = xdir?tnx1:tnx0, &tyright = xdir?tny1:tny0,
+        &xup = ydir?nx0:nx1, &yup = ydir?ny0:ny1, &xdown = ydir?nx1:nx0, &ydown = ydir?ny1:ny0,
+        &txup = ydir?tnx0:tnx1, &tyup = ydir?tny0:tny1, &txdown = ydir?tnx1:tnx0, &tydown = ydir?tny1:tny0;
+      if (xright<0 || xleft>=width()) return *this;
+      if (xleft<0) {
+        const float D = (float)xright - xleft;
+        yleft-=(int)((float)xleft*((float)yright - yleft)/D);
+        txleft-=(int)((float)xleft*((float)txright - txleft)/D);
+        tyleft-=(int)((float)xleft*((float)tyright - tyleft)/D);
+        xleft = 0;
+      }
+      if (xright>=width()) {
+        const float d = (float)xright - width(), D = (float)xright - xleft;
+        yright-=(int)(d*((float)yright - yleft)/D);
+        txright-=(int)(d*((float)txright - txleft)/D);
+        tyright-=(int)(d*((float)tyright - tyleft)/D);
+        xright = width() - 1;
+      }
+      if (ydown<0 || yup>=height()) return *this;
+      if (yup<0) {
+        const float D = (float)ydown - yup;
+        xup-=(int)((float)yup*((float)xdown - xup)/D);
+        txup-=(int)((float)yup*((float)txdown - txup)/D);
+        tyup-=(int)((float)yup*((float)tydown - tyup)/D);
+        yup = 0;
+      }
+      if (ydown>=height()) {
+        const float d = (float)ydown - height(), D = (float)ydown - yup;
+        xdown-=(int)(d*((float)xdown - xup)/D);
+        txdown-=(int)(d*((float)txdown - txup)/D);
+        tydown-=(int)(d*((float)tydown - tyup)/D);
+        ydown = height() - 1;
+      }
+      T *ptrd0 = data(nx0,ny0);
+      int dx = xright - xleft, dy = ydown - yup;
+      const bool steep = dy>dx;
+      if (steep) cimg::swap(nx0,ny0,nx1,ny1,dx,dy);
+      const long
+        offx = (nx0<nx1?1:-1)*(steep?width():1),
+        offy = (ny0<ny1?1:-1)*(steep?1:width()),
+        ndx = dx>0?dx:1;
+      const unsigned long
+        whd = (unsigned long)_width*_height*_depth,
+        twh = (unsigned long)texture._width*texture._height;
+
+      if (opacity>=1) {
+        if (~pattern) for (int error = dx>>1, x = 0; x<=dx; ++x) {
+          if (pattern&hatch) {
+            T *ptrd = ptrd0;
+            const int tx = tx0 + x*dtx/ndx, ty = ty0 + x*dty/ndx;
+            const tc *col = &texture._atXY(tx,ty);
+            cimg_forC(*this,c) { *ptrd = (T)*col; ptrd+=whd; col+=twh; }
+          }
+          hatch>>=1; if (!hatch) hatch = ~0U - (~0U>>1);
+          ptrd0+=offx;
+          if ((error-=dy)<0) { ptrd0+=offy; error+=dx; }
+        } else for (int error = dx>>1, x = 0; x<=dx; ++x) {
+          T *ptrd = ptrd0;
+          const int tx = tx0 + x*dtx/ndx, ty = ty0 + x*dty/ndx;
+          const tc *col = &texture._atXY(tx,ty);
+          cimg_forC(*this,c) { *ptrd = (T)*col; ptrd+=whd; col+=twh; }
+          ptrd0+=offx;
+          if ((error-=dy)<0) { ptrd0+=offy; error+=dx; }
+        }
+      } else {
+        const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+        if (~pattern) for (int error = dx>>1, x = 0; x<=dx; ++x) {
+          T *ptrd = ptrd0;
+          if (pattern&hatch) {
+            const int tx = tx0 + x*dtx/ndx, ty = ty0 + x*dty/ndx;
+            const tc *col = &texture._atXY(tx,ty);
+            cimg_forC(*this,c) { *ptrd = (T)(nopacity**col + *ptrd*copacity); ptrd+=whd; col+=twh; }
+          }
+          hatch>>=1; if (!hatch) hatch = ~0U - (~0U>>1);
+          ptrd0+=offx;
+          if ((error-=dy)<0) { ptrd0+=offy; error+=dx; }
+        } else for (int error = dx>>1, x = 0; x<=dx; ++x) {
+          T *ptrd = ptrd0;
+          const int tx = tx0 + x*dtx/ndx, ty = ty0 + x*dty/ndx;
+          const tc *col = &texture._atXY(tx,ty);
+          cimg_forC(*this,c) { *ptrd = (T)(nopacity**col + *ptrd*copacity); ptrd+=whd; col+=twh; }
+          ptrd0+=offx;
+          if ((error-=dy)<0) { ptrd0+=offy; error+=dx; }
+        }
+      }
+      return *this;
+    }
+
+    //! Draw a textured 2d line, with perspective correction.
+    /**
+       \param x0 X-coordinate of the starting point.
+       \param y0 Y-coordinate of the starting point.
+       \param z0 Z-coordinate of the starting point
+       \param x1 X-coordinate of the ending point.
+       \param y1 Y-coordinate of the ending point.
+       \param z1 Z-coordinate of the ending point.
+       \param texture Texture image defining the pixel colors.
+       \param tx0 X-coordinate of the starting texture point.
+       \param ty0 Y-coordinate of the starting texture point.
+       \param tx1 X-coordinate of the ending texture point.
+       \param ty1 Y-coordinate of the ending texture point.
+       \param opacity Drawing opacity.
+       \param pattern An integer whose bits describe the line pattern.
+       \param init_hatch Tells if the hash variable must be reinitialized.
+    **/
+    template<typename tc>
+    CImg<T>& draw_line(const int x0, const int y0, const float z0,
+                       const int x1, const int y1, const float z1,
+                       const CImg<tc>& texture,
+                       const int tx0, const int ty0,
+                       const int tx1, const int ty1,
+                       const float opacity=1,
+                       const unsigned int pattern=~0U, const bool init_hatch=true) {
+      if (is_empty() && z0<=0 && z1<=0) return *this;
+      if (texture._depth>1 || texture._spectrum<_spectrum)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_line(): Invalid specified texture (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    texture._width,texture._height,texture._depth,texture._spectrum,texture._data);
+      if (is_overlapped(texture))
+        return draw_line(x0,y0,z0,x1,y1,z1,+texture,tx0,ty0,tx1,ty1,opacity,pattern,init_hatch);
+      static unsigned int hatch = ~0U - (~0U>>1);
+      if (init_hatch) hatch = ~0U - (~0U>>1);
+      const bool xdir = x0<x1, ydir = y0<y1;
+      int
+        nx0 = x0, nx1 = x1, ny0 = y0, ny1 = y1,
+        &xleft = xdir?nx0:nx1, &yleft = xdir?ny0:ny1,
+        &xright = xdir?nx1:nx0, &yright = xdir?ny1:ny0,
+        &xup = ydir?nx0:nx1, &yup = ydir?ny0:ny1,
+        &xdown = ydir?nx1:nx0, &ydown = ydir?ny1:ny0;
+      float
+        Tx0 = tx0/z0, Tx1 = tx1/z1,
+        Ty0 = ty0/z0, Ty1 = ty1/z1,
+        Z0 = 1/z0, Z1 = 1/z1,
+        dz = Z1 - Z0, dtx = Tx1 - Tx0, dty = Ty1 - Ty0,
+        tnx0 = Tx0, tnx1 = Tx1, tny0 = Ty0, tny1 = Ty1, nz0 = Z0, nz1 = Z1,
+        &zleft = xdir?nz0:nz1, &txleft = xdir?tnx0:tnx1, &tyleft = xdir?tny0:tny1,
+        &zright = xdir?nz1:nz0, &txright = xdir?tnx1:tnx0, &tyright = xdir?tny1:tny0,
+        &zup = ydir?nz0:nz1, &txup = ydir?tnx0:tnx1, &tyup = ydir?tny0:tny1,
+        &zdown = ydir?nz1:nz0, &txdown = ydir?tnx1:tnx0, &tydown = ydir?tny1:tny0;
+      if (xright<0 || xleft>=width()) return *this;
+      if (xleft<0) {
+        const float D = (float)xright - xleft;
+        yleft-=(int)((float)xleft*((float)yright - yleft)/D);
+        zleft-=(float)xleft*(zright - zleft)/D;
+        txleft-=(float)xleft*(txright - txleft)/D;
+        tyleft-=(float)xleft*(tyright - tyleft)/D;
+        xleft = 0;
+      }
+      if (xright>=width()) {
+        const float d = (float)xright - width(), D = (float)xright - xleft;
+        yright-=(int)(d*((float)yright - yleft)/D);
+        zright-=d*(zright - zleft)/D;
+        txright-=d*(txright - txleft)/D;
+        tyright-=d*(tyright - tyleft)/D;
+        xright = width() - 1;
+      }
+      if (ydown<0 || yup>=height()) return *this;
+      if (yup<0) {
+        const float D = (float)ydown - yup;
+        xup-=(int)((float)yup*((float)xdown - xup)/D);
+        zup-=(float)yup*(zdown - zup)/D;
+        txup-=(float)yup*(txdown - txup)/D;
+        tyup-=(float)yup*(tydown - tyup)/D;
+        yup = 0;
+      }
+      if (ydown>=height()) {
+        const float d = (float)ydown - height(), D = (float)ydown - yup;
+        xdown-=(int)(d*((float)xdown - xup)/D);
+        zdown-=d*(zdown - zup)/D;
+        txdown-=d*(txdown - txup)/D;
+        tydown-=d*(tydown - tyup)/D;
+        ydown = height() - 1;
+      }
+      T *ptrd0 = data(nx0,ny0);
+      int dx = xright - xleft, dy = ydown - yup;
+      const bool steep = dy>dx;
+      if (steep) cimg::swap(nx0,ny0,nx1,ny1,dx,dy);
+      const long
+        offx = (nx0<nx1?1:-1)*(steep?width():1),
+        offy = (ny0<ny1?1:-1)*(steep?1:width()),
+        ndx = dx>0?dx:1;
+      const unsigned long
+        whd = (unsigned long)_width*_height*_depth,
+        twh = (unsigned long)texture._width*texture._height;
+
+      if (opacity>=1) {
+        if (~pattern) for (int error = dx>>1, x = 0; x<=dx; ++x) {
+          if (pattern&hatch) {
+            const float z = Z0 + x*dz/ndx, tx = Tx0 + x*dtx/ndx, ty = Ty0 + x*dty/ndx;
+            const tc *col = &texture._atXY((int)(tx/z),(int)(ty/z));
+            T *ptrd = ptrd0;
+            cimg_forC(*this,c) { *ptrd = (T)*col; ptrd+=whd; col+=twh; }
+          }
+          hatch>>=1; if (!hatch) hatch = ~0U - (~0U>>1);
+          ptrd0+=offx;
+          if ((error-=dy)<0) { ptrd0+=offy; error+=dx; }
+        } else for (int error = dx>>1, x = 0; x<=dx; ++x) {
+          const float z = Z0 + x*dz/ndx, tx = Tx0 + x*dtx/ndx, ty = Ty0 + x*dty/ndx;
+          const tc *col = &texture._atXY((int)(tx/z),(int)(ty/z));
+          T *ptrd = ptrd0;
+          cimg_forC(*this,c) { *ptrd = (T)*col; ptrd+=whd; col+=twh; }
+          ptrd0+=offx;
+          if ((error-=dy)<0) { ptrd0+=offy; error+=dx; }
+        }
+      } else {
+        const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+        if (~pattern) for (int error = dx>>1, x = 0; x<=dx; ++x) {
+          if (pattern&hatch) {
+            const float z = Z0 + x*dz/ndx, tx = Tx0 + x*dtx/ndx, ty = Ty0 + x*dty/ndx;
+            const tc *col = &texture._atXY((int)(tx/z),(int)(ty/z));
+            T *ptrd = ptrd0;
+            cimg_forC(*this,c) { *ptrd = (T)(nopacity**col + *ptrd*copacity); ptrd+=whd; col+=twh; }
+          }
+          hatch>>=1; if (!hatch) hatch = ~0U - (~0U>>1);
+          ptrd0+=offx;
+          if ((error-=dy)<0) { ptrd0+=offy; error+=dx; }
+        } else for (int error = dx>>1, x = 0; x<=dx; ++x) {
+          const float z = Z0 + x*dz/ndx, tx = Tx0 + x*dtx/ndx, ty = Ty0 + x*dty/ndx;
+          const tc *col = &texture._atXY((int)(tx/z),(int)(ty/z));
+          T *ptrd = ptrd0;
+          cimg_forC(*this,c) { *ptrd = (T)(nopacity**col + *ptrd*copacity); ptrd+=whd; col+=twh; }
+          ptrd0+=offx;
+          if ((error-=dy)<0) { ptrd0+=offy; error+=dx; }
+        }
+      }
+      return *this;
+    }
+
+    //! Draw a textured 2d line, with perspective correction and z-buffering.
+    /**
+       \param zbuffer Z-buffer image.
+       \param x0 X-coordinate of the starting point.
+       \param y0 Y-coordinate of the starting point.
+       \param z0 Z-coordinate of the starting point
+       \param x1 X-coordinate of the ending point.
+       \param y1 Y-coordinate of the ending point.
+       \param z1 Z-coordinate of the ending point.
+       \param texture Texture image defining the pixel colors.
+       \param tx0 X-coordinate of the starting texture point.
+       \param ty0 Y-coordinate of the starting texture point.
+       \param tx1 X-coordinate of the ending texture point.
+       \param ty1 Y-coordinate of the ending texture point.
+       \param opacity Drawing opacity.
+       \param pattern An integer whose bits describe the line pattern.
+       \param init_hatch Tells if the hash variable must be reinitialized.
+    **/
+    template<typename tz, typename tc>
+    CImg<T>& draw_line(CImg<tz>& zbuffer,
+                       const int x0, const int y0, const float z0,
+                       const int x1, const int y1, const float z1,
+                       const CImg<tc>& texture,
+                       const int tx0, const int ty0,
+                       const int tx1, const int ty1,
+                       const float opacity=1,
+                       const unsigned int pattern=~0U, const bool init_hatch=true) {
+      typedef typename cimg::superset<tz,float>::type tzfloat;
+      if (is_empty() || z0<=0 || z1<=0) return *this;
+      if (!is_sameXY(zbuffer))
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_line(): Instance and specified Z-buffer (%u,%u,%u,%u,%p) have "
+                                    "different dimensions.",
+                                    cimg_instance,
+                                    zbuffer._width,zbuffer._height,zbuffer._depth,zbuffer._spectrum,zbuffer._data);
+      if (texture._depth>1 || texture._spectrum<_spectrum)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_line(): Invalid specified texture (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    texture._width,texture._height,texture._depth,texture._spectrum,texture._data);
+      if (is_overlapped(texture))
+        return draw_line(zbuffer,x0,y0,z0,x1,y1,z1,+texture,tx0,ty0,tx1,ty1,opacity,pattern,init_hatch);
+      static unsigned int hatch = ~0U - (~0U>>1);
+      if (init_hatch) hatch = ~0U - (~0U>>1);
+      const bool xdir = x0<x1, ydir = y0<y1;
+      int
+        nx0 = x0, nx1 = x1, ny0 = y0, ny1 = y1,
+        &xleft = xdir?nx0:nx1, &yleft = xdir?ny0:ny1,
+        &xright = xdir?nx1:nx0, &yright = xdir?ny1:ny0,
+        &xup = ydir?nx0:nx1, &yup = ydir?ny0:ny1,
+        &xdown = ydir?nx1:nx0, &ydown = ydir?ny1:ny0;
+      float
+        Tx0 = tx0/z0, Tx1 = tx1/z1,
+        Ty0 = ty0/z0, Ty1 = ty1/z1,
+        dtx = Tx1 - Tx0, dty = Ty1 - Ty0,
+        tnx0 = Tx0, tnx1 = Tx1, tny0 = Ty0, tny1 = Ty1,
+        &txleft = xdir?tnx0:tnx1, &tyleft = xdir?tny0:tny1,
+        &txright = xdir?tnx1:tnx0, &tyright = xdir?tny1:tny0,
+        &txup = ydir?tnx0:tnx1, &tyup = ydir?tny0:tny1,
+        &txdown = ydir?tnx1:tnx0, &tydown = ydir?tny1:tny0;
+      tzfloat
+        Z0 = 1/(tzfloat)z0, Z1 = 1/(tzfloat)z1,
+        dz = Z1 - Z0,  nz0 = Z0, nz1 = Z1,
+        &zleft = xdir?nz0:nz1,
+        &zright = xdir?nz1:nz0,
+        &zup = ydir?nz0:nz1,
+        &zdown = ydir?nz1:nz0;
+      if (xright<0 || xleft>=width()) return *this;
+      if (xleft<0) {
+        const float D = (float)xright - xleft;
+        yleft-=(int)((float)xleft*((float)yright - yleft)/D);
+        zleft-=(float)xleft*(zright - zleft)/D;
+        txleft-=(float)xleft*(txright - txleft)/D;
+        tyleft-=(float)xleft*(tyright - tyleft)/D;
+        xleft = 0;
+      }
+      if (xright>=width()) {
+        const float d = (float)xright - width(), D = (float)xright - xleft;
+        yright-=(int)(d*((float)yright - yleft)/D);
+        zright-=d*(zright - zleft)/D;
+        txright-=d*(txright - txleft)/D;
+        tyright-=d*(tyright - tyleft)/D;
+        xright = width() - 1;
+      }
+      if (ydown<0 || yup>=height()) return *this;
+      if (yup<0) {
+        const float D = (float)ydown - yup;
+        xup-=(int)((float)yup*((float)xdown - xup)/D);
+        zup-=yup*(zdown - zup)/D;
+        txup-=yup*(txdown - txup)/D;
+        tyup-=yup*(tydown - tyup)/D;
+        yup = 0;
+      }
+      if (ydown>=height()) {
+        const float d = (float)ydown - height(), D = (float)ydown - yup;
+        xdown-=(int)(d*((float)xdown - xup)/D);
+        zdown-=d*(zdown - zup)/D;
+        txdown-=d*(txdown - txup)/D;
+        tydown-=d*(tydown - tyup)/D;
+        ydown = height() - 1;
+      }
+      T *ptrd0 = data(nx0,ny0);
+      tz *ptrz = zbuffer.data(nx0,ny0);
+      int dx = xright - xleft, dy = ydown - yup;
+      const bool steep = dy>dx;
+      if (steep) cimg::swap(nx0,ny0,nx1,ny1,dx,dy);
+      const long
+        offx = (nx0<nx1?1:-1)*(steep?width():1),
+        offy = (ny0<ny1?1:-1)*(steep?1:width()),
+        ndx = dx>0?dx:1;
+      const unsigned long
+        whd = (unsigned long)_width*_height*_depth,
+        twh = (unsigned long)texture._width*texture._height;
+
+      if (opacity>=1) {
+        if (~pattern) for (int error = dx>>1, x = 0; x<=dx; ++x) {
+          if (pattern&hatch) {
+            const tzfloat z = Z0 + x*dz/ndx;
+            if (z>=(tzfloat)*ptrz) {
+              *ptrz = (tz)z;
+              const float tx = Tx0 + x*dtx/ndx, ty = Ty0 + x*dty/ndx;
+              const tc *col = &texture._atXY((int)(tx/z),(int)(ty/z));
+              T *ptrd = ptrd0;
+              cimg_forC(*this,c) { *ptrd = (T)*col; ptrd+=whd; col+=twh; }
+            }
+          }
+          hatch>>=1; if (!hatch) hatch = ~0U - (~0U>>1);
+          ptrd0+=offx; ptrz+=offx;
+          if ((error-=dy)<0) { ptrd0+=offy; ptrz+=offy; error+=dx; }
+        } else for (int error = dx>>1, x = 0; x<=dx; ++x) {
+          const tzfloat z = Z0 + x*dz/ndx;
+          if (z>=(tzfloat)*ptrz) {
+            *ptrz = (tz)z;
+            const float tx = Tx0 + x*dtx/ndx, ty = Ty0 + x*dty/ndx;
+            const tc *col = &texture._atXY((int)(tx/z),(int)(ty/z));
+            T *ptrd = ptrd0;
+            cimg_forC(*this,c) { *ptrd = (T)*col; ptrd+=whd; col+=twh; }
+          }
+          ptrd0+=offx; ptrz+=offx;
+          if ((error-=dy)<0) { ptrd0+=offy; ptrz+=offy; error+=dx; }
+        }
+      } else {
+        const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+        if (~pattern) for (int error = dx>>1, x = 0; x<=dx; ++x) {
+          if (pattern&hatch) {
+            const tzfloat z = Z0 + x*dz/ndx;
+            if (z>=(tzfloat)*ptrz) {
+              *ptrz = (tz)z;
+              const float tx = Tx0 + x*dtx/ndx, ty = Ty0 + x*dty/ndx;
+              const tc *col = &texture._atXY((int)(tx/z),(int)(ty/z));
+              T *ptrd = ptrd0;
+              cimg_forC(*this,c) { *ptrd = (T)(nopacity**col + *ptrd*copacity); ptrd+=whd; col+=twh; }
+            }
+          }
+          hatch>>=1; if (!hatch) hatch = ~0U - (~0U>>1);
+          ptrd0+=offx; ptrz+=offx;
+          if ((error-=dy)<0) { ptrd0+=offy; ptrz+=offy; error+=dx; }
+        } else for (int error = dx>>1, x = 0; x<=dx; ++x) {
+          const tzfloat z = Z0 + x*dz/ndx;
+          if (z>=(tzfloat)*ptrz) {
+            *ptrz = (tz)z;
+            const float tx = Tx0 + x*dtx/ndx, ty = Ty0 + x*dty/ndx;
+            const tc *col = &texture._atXY((int)(tx/z),(int)(ty/z));
+            T *ptrd = ptrd0;
+            cimg_forC(*this,c) { *ptrd = (T)(nopacity**col + *ptrd*copacity); ptrd+=whd; col+=twh; }
+          }
+          ptrd0+=offx; ptrz+=offx;
+          if ((error-=dy)<0) { ptrd0+=offy; ptrz+=offy; error+=dx; }
+        }
+      }
+      return *this;
+    }
+
+    //! Draw a set of consecutive lines.
+    /**
+       \param points Coordinates of vertices, stored as a list of vectors.
+       \param color Pointer to \c spectrum() consecutive values of type \c T, defining the drawing color.
+       \param opacity Drawing opacity.
+       \param pattern An integer whose bits describe the line pattern.
+       \param init_hatch If set to true, init hatch motif.
+       \note
+       - This function uses several call to the single CImg::draw_line() procedure,
+       depending on the vectors size in \p points.
+    **/
+    template<typename t, typename tc>
+    CImg<T>& draw_line(const CImg<t>& points,
+                       const tc *const color, const float opacity=1,
+                       const unsigned int pattern=~0U, const bool init_hatch=true) {
+      if (is_empty() || !points || points._width<2) return *this;
+      bool ninit_hatch = init_hatch;
+      switch (points._height) {
+      case 0 : case 1 :
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_line(): Invalid specified point set (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    points._width,points._height,points._depth,points._spectrum,points._data);
+
+      case 2 : {
+        const int x0 = (int)points(0,0), y0 = (int)points(0,1);
+        int ox = x0, oy = y0;
+        for (unsigned int i = 1; i<points._width; ++i) {
+          const int x = (int)points(i,0), y = (int)points(i,1);
+          draw_line(ox,oy,x,y,color,opacity,pattern,ninit_hatch);
+          ninit_hatch = false;
+          ox = x; oy = y;
+        }
+      } break;
+      default : {
+        const int x0 = (int)points(0,0), y0 = (int)points(0,1), z0 = (int)points(0,2);
+        int ox = x0, oy = y0, oz = z0;
+        for (unsigned int i = 1; i<points._width; ++i) {
+          const int x = (int)points(i,0), y = (int)points(i,1), z = (int)points(i,2);
+          draw_line(ox,oy,oz,x,y,z,color,opacity,pattern,ninit_hatch);
+          ninit_hatch = false;
+          ox = x; oy = y; oz = z;
+        }
+      }
+      }
+      return *this;
+    }
+
+    //! Draw a 2d arrow.
+    /**
+       \param x0 X-coordinate of the starting arrow point (tail).
+       \param y0 Y-coordinate of the starting arrow point (tail).
+       \param x1 X-coordinate of the ending arrow point (head).
+       \param y1 Y-coordinate of the ending arrow point (head).
+       \param color Pointer to \c spectrum() consecutive values of type \c T, defining the drawing color.
+       \param angle Aperture angle of the arrow head.
+       \param length Length of the arrow head. If negative, describes a percentage of the arrow length.
+       \param opacity Drawing opacity.
+       \param pattern An integer whose bits describe the line pattern.
+    **/
+    template<typename tc>
+    CImg<T>& draw_arrow(const int x0, const int y0,
+                        const int x1, const int y1,
+                        const tc *const color, const float opacity=1,
+                        const float angle=30, const float length=-10,
+                        const unsigned int pattern=~0U) {
+      if (is_empty()) return *this;
+      const float u = (float)(x0 - x1), v = (float)(y0 - y1), sq = u*u + v*v,
+        deg = (float)(angle*cimg::PI/180), ang = (sq>0)?(float)std::atan2(v,u):0.0f,
+        l = (length>=0)?length:-length*(float)std::sqrt(sq)/100;
+      if (sq>0) {
+        const float
+            cl = (float)std::cos(ang - deg), sl = (float)std::sin(ang - deg),
+            cr = (float)std::cos(ang + deg), sr = (float)std::sin(ang + deg);
+        const int
+          xl = x1 + (int)(l*cl), yl = y1 + (int)(l*sl),
+          xr = x1 + (int)(l*cr), yr = y1 + (int)(l*sr),
+          xc = x1 + (int)((l + 1)*(cl + cr))/2, yc = y1 + (int)((l + 1)*(sl + sr))/2;
+        draw_line(x0,y0,xc,yc,color,opacity,pattern).draw_triangle(x1,y1,xl,yl,xr,yr,color,opacity);
+      } else draw_point(x0,y0,color,opacity);
+      return *this;
+    }
+
+    //! Draw a 2d spline.
+    /**
+       \param x0 X-coordinate of the starting curve point
+       \param y0 Y-coordinate of the starting curve point
+       \param u0 X-coordinate of the starting velocity
+       \param v0 Y-coordinate of the starting velocity
+       \param x1 X-coordinate of the ending curve point
+       \param y1 Y-coordinate of the ending curve point
+       \param u1 X-coordinate of the ending velocity
+       \param v1 Y-coordinate of the ending velocity
+       \param color Pointer to \c spectrum() consecutive values of type \c T, defining the drawing color.
+       \param precision Curve drawing precision.
+       \param opacity Drawing opacity.
+       \param pattern An integer whose bits describe the line pattern.
+       \param init_hatch If \c true, init hatch motif.
+       \note
+       - The curve is a 2d cubic Bezier spline, from the set of specified starting/ending points
+       and corresponding velocity vectors.
+       - The spline is drawn as a serie of connected segments. The \p precision parameter sets the
+       average number of pixels in each drawn segment.
+       - A cubic Bezier curve is sometimes defined by a set of 4 points { (\p x0,\p y0), (\p xa,\p ya),
+         (\p xb,\p yb), (\p x1,\p y1) } where (\p x0,\p y0) is the starting point, (\p x1,\p y1) is the ending point
+         and (\p xa,\p ya), (\p xb,\p yb) are two
+       \e control points.
+       The starting and ending velocities (\p u0,\p v0) and (\p u1,\p v1) can be deduced easily from
+       the control points as
+       \p u0 = (\p xa - \p x0), \p v0 = (\p ya - \p y0), \p u1 = (\p x1 - \p xb) and \p v1 = (\p y1 - \p yb).
+       \par Example:
+       \code
+       CImg<unsigned char> img(100,100,1,3,0);
+       const unsigned char color[] = { 255,255,255 };
+       img.draw_spline(30,30,0,100,90,40,0,-100,color);
+       \endcode
+    **/
+    template<typename tc>
+    CImg<T>& draw_spline(const int x0, const int y0, const float u0, const float v0,
+                         const int x1, const int y1, const float u1, const float v1,
+                         const tc *const color, const float opacity=1,
+                         const float precision=0.25, const unsigned int pattern=~0U,
+                         const bool init_hatch=true) {
+      if (is_empty()) return *this;
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_spline(): Specified color is (null).",
+                                    cimg_instance);
+      if (x0==x1 && y0==y1) return draw_point(x0,y0,color,opacity);
+      bool ninit_hatch = init_hatch;
+      const float
+        ax = u0 + u1 + 2*(x0 - x1),
+        bx = 3*(x1 - x0) - 2*u0 - u1,
+        ay = v0 + v1 + 2*(y0 - y1),
+        by = 3*(y1 - y0) - 2*v0 - v1,
+        _precision = 1/(std::sqrt(cimg::sqr((float)x0 - x1) + cimg::sqr((float)y0 - y1))*(precision>0?precision:1));
+      int ox = x0, oy = y0;
+      for (float t = 0; t<1; t+=_precision) {
+        const float t2 = t*t, t3 = t2*t;
+        const int
+          nx = (int)(ax*t3 + bx*t2 + u0*t + x0),
+          ny = (int)(ay*t3 + by*t2 + v0*t + y0);
+        draw_line(ox,oy,nx,ny,color,opacity,pattern,ninit_hatch);
+        ninit_hatch = false;
+        ox = nx; oy = ny;
+      }
+      return draw_line(ox,oy,x1,y1,color,opacity,pattern,false);
+    }
+
+    //! Draw a 3d spline \overloading.
+    /**
+       \note
+       - Similar to CImg::draw_spline() for a 3d spline in a volumetric image.
+    **/
+    template<typename tc>
+    CImg<T>& draw_spline(const int x0, const int y0, const int z0, const float u0, const float v0, const float w0,
+                         const int x1, const int y1, const int z1, const float u1, const float v1, const float w1,
+                         const tc *const color, const float opacity=1,
+                         const float precision=4, const unsigned int pattern=~0U,
+                         const bool init_hatch=true) {
+      if (is_empty()) return *this;
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_spline(): Specified color is (null).",
+                                    cimg_instance);
+      if (x0==x1 && y0==y1 && z0==z1) return draw_point(x0,y0,z0,color,opacity);
+      bool ninit_hatch = init_hatch;
+      const float
+        ax = u0 + u1 + 2*(x0 - x1),
+        bx = 3*(x1 - x0) - 2*u0 - u1,
+        ay = v0 + v1 + 2*(y0 - y1),
+        by = 3*(y1 - y0) - 2*v0 - v1,
+        az = w0 + w1 + 2*(z0 - z1),
+        bz = 3*(z1 - z0) - 2*w0 - w1,
+        _precision = 1/(std::sqrt(cimg::sqr(x0 - x1) + cimg::sqr(y0 - y1))*(precision>0?precision:1));
+      int ox = x0, oy = y0, oz = z0;
+      for (float t = 0; t<1; t+=_precision) {
+        const float t2 = t*t, t3 = t2*t;
+        const int
+          nx = (int)(ax*t3 + bx*t2 + u0*t + x0),
+          ny = (int)(ay*t3 + by*t2 + v0*t + y0),
+          nz = (int)(az*t3 + bz*t2 + w0*t + z0);
+        draw_line(ox,oy,oz,nx,ny,nz,color,opacity,pattern,ninit_hatch);
+        ninit_hatch = false;
+        ox = nx; oy = ny; oz = nz;
+      }
+      return draw_line(ox,oy,oz,x1,y1,z1,color,opacity,pattern,false);
+    }
+
+    //! Draw a textured 2d spline.
+    /**
+       \param x0 X-coordinate of the starting curve point
+       \param y0 Y-coordinate of the starting curve point
+       \param u0 X-coordinate of the starting velocity
+       \param v0 Y-coordinate of the starting velocity
+       \param x1 X-coordinate of the ending curve point
+       \param y1 Y-coordinate of the ending curve point
+       \param u1 X-coordinate of the ending velocity
+       \param v1 Y-coordinate of the ending velocity
+       \param texture Texture image defining line pixel colors.
+       \param tx0 X-coordinate of the starting texture point.
+       \param ty0 Y-coordinate of the starting texture point.
+       \param tx1 X-coordinate of the ending texture point.
+       \param ty1 Y-coordinate of the ending texture point.
+       \param precision Curve drawing precision.
+       \param opacity Drawing opacity.
+       \param pattern An integer whose bits describe the line pattern.
+       \param init_hatch if \c true, reinit hatch motif.
+    **/
+    template<typename t>
+    CImg<T>& draw_spline(const int x0, const int y0, const float u0, const float v0,
+                         const int x1, const int y1, const float u1, const float v1,
+                         const CImg<t>& texture,
+                         const int tx0, const int ty0, const int tx1, const int ty1,
+                         const float opacity=1,
+                         const float precision=4, const unsigned int pattern=~0U,
+                         const bool init_hatch=true) {
+      if (texture._depth>1 || texture._spectrum<_spectrum)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_spline(): Invalid specified texture (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    texture._width,texture._height,texture._depth,texture._spectrum,texture._data);
+      if (is_empty()) return *this;
+      if (is_overlapped(texture))
+        return draw_spline(x0,y0,u0,v0,x1,y1,u1,v1,+texture,tx0,ty0,tx1,ty1,precision,opacity,pattern,init_hatch);
+      if (x0==x1 && y0==y1)
+        return draw_point(x0,y0,texture.get_vector_at(x0<=0?0:x0>=texture.width()?texture.width() - 1:x0,
+                                                      y0<=0?0:y0>=texture.height()?texture.height() - 1:y0),opacity);
+      bool ninit_hatch = init_hatch;
+      const float
+        ax = u0 + u1 + 2*(x0 - x1),
+        bx = 3*(x1 - x0) - 2*u0 - u1,
+        ay = v0 + v1 + 2*(y0 - y1),
+        by = 3*(y1 - y0) - 2*v0 - v1,
+        _precision = 1/(std::sqrt(cimg::sqr(x0 - x1) + cimg::sqr(y0 - y1))*(precision>0?precision:1));
+      int ox = x0, oy = y0, otx = tx0, oty = ty0;
+      for (float t1 = 0; t1<1; t1+=_precision) {
+        const float t2 = t1*t1, t3 = t2*t1;
+        const int
+          nx = (int)(ax*t3 + bx*t2 + u0*t1 + x0),
+          ny = (int)(ay*t3 + by*t2 + v0*t1 + y0),
+          ntx = tx0 + (int)((tx1 - tx0)*t1),
+          nty = ty0 + (int)((ty1 - ty0)*t1);
+        draw_line(ox,oy,nx,ny,texture,otx,oty,ntx,nty,opacity,pattern,ninit_hatch);
+        ninit_hatch = false;
+        ox = nx; oy = ny; otx = ntx; oty = nty;
+      }
+      return draw_line(ox,oy,x1,y1,texture,otx,oty,tx1,ty1,opacity,pattern,false);
+    }
+
+    //! Draw a set of consecutive splines.
+    /**
+       \param points Vertices data.
+       \param tangents Tangents data.
+       \param color Pointer to \c spectrum() consecutive values of type \c T, defining the drawing color.
+       \param opacity Drawing opacity.
+       \param is_closed_set Tells if the drawn spline set is closed.
+       \param precision Precision of the drawing.
+       \param pattern An integer whose bits describe the line pattern.
+       \param init_hatch If \c true, init hatch motif.
+    **/
+    template<typename tp, typename tt, typename tc>
+    CImg<T>& draw_spline(const CImg<tp>& points, const CImg<tt>& tangents,
+                         const tc *const color, const float opacity=1,
+                         const bool is_closed_set=false, const float precision=4,
+                         const unsigned int pattern=~0U, const bool init_hatch=true) {
+      if (is_empty() || !points || !tangents || points._width<2 || tangents._width<2) return *this;
+      bool ninit_hatch = init_hatch;
+      switch (points._height) {
+      case 0 : case 1 :
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_spline(): Invalid specified point set (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    points._width,points._height,points._depth,points._spectrum,points._data);
+
+      case 2 : {
+        const int x0 = (int)points(0,0), y0 = (int)points(0,1);
+        const float u0 = (float)tangents(0,0), v0 = (float)tangents(0,1);
+        int ox = x0, oy = y0;
+        float ou = u0, ov = v0;
+        for (unsigned int i = 1; i<points._width; ++i) {
+          const int x = (int)points(i,0), y = (int)points(i,1);
+          const float u = (float)tangents(i,0), v = (float)tangents(i,1);
+          draw_spline(ox,oy,ou,ov,x,y,u,v,color,precision,opacity,pattern,ninit_hatch);
+          ninit_hatch = false;
+          ox = x; oy = y; ou = u; ov = v;
+        }
+        if (is_closed_set) draw_spline(ox,oy,ou,ov,x0,y0,u0,v0,color,precision,opacity,pattern,false);
+      } break;
+      default : {
+        const int x0 = (int)points(0,0), y0 = (int)points(0,1), z0 = (int)points(0,2);
+        const float u0 = (float)tangents(0,0), v0 = (float)tangents(0,1), w0 = (float)tangents(0,2);
+        int ox = x0, oy = y0, oz = z0;
+        float ou = u0, ov = v0, ow = w0;
+        for (unsigned int i = 1; i<points._width; ++i) {
+          const int x = (int)points(i,0), y = (int)points(i,1), z = (int)points(i,2);
+          const float u = (float)tangents(i,0), v = (float)tangents(i,1), w = (float)tangents(i,2);
+          draw_spline(ox,oy,oz,ou,ov,ow,x,y,z,u,v,w,color,opacity,pattern,ninit_hatch);
+          ninit_hatch = false;
+          ox = x; oy = y; oz = z; ou = u; ov = v; ow = w;
+        }
+        if (is_closed_set) draw_spline(ox,oy,oz,ou,ov,ow,x0,y0,z0,u0,v0,w0,color,precision,opacity,pattern,false);
+      }
+      }
+      return *this;
+    }
+
+    //! Draw a set of consecutive splines \overloading.
+    /**
+       Similar to previous function, with the point tangents automatically estimated from the given points set.
+    **/
+    template<typename tp, typename tc>
+    CImg<T>& draw_spline(const CImg<tp>& points,
+                         const tc *const color, const float opacity=1,
+                         const bool is_closed_set=false, const float precision=4,
+                         const unsigned int pattern=~0U, const bool init_hatch=true) {
+      if (is_empty() || !points || points._width<2) return *this;
+      CImg<Tfloat> tangents;
+      switch (points._height) {
+      case 0 : case 1 :
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_spline(): Invalid specified point set (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    points._width,points._height,points._depth,points._spectrum,points._data);
+      case 2 : {
+        tangents.assign(points._width,points._height);
+        cimg_forX(points,p) {
+          const unsigned int
+            p0 = is_closed_set?(p + points._width - 1)%points._width:(p?p - 1:0),
+            p1 = is_closed_set?(p + 1)%points._width:(p + 1<points._width?p + 1:p);
+          const float
+            x = (float)points(p,0),
+            y = (float)points(p,1),
+            x0 = (float)points(p0,0),
+            y0 = (float)points(p0,1),
+            x1 = (float)points(p1,0),
+            y1 = (float)points(p1,1),
+            u0 = x - x0,
+            v0 = y - y0,
+            n0 = 1e-8f + (float)std::sqrt(u0*u0 + v0*v0),
+            u1 = x1 - x,
+            v1 = y1 - y,
+            n1 = 1e-8f + (float)std::sqrt(u1*u1 + v1*v1),
+            u = u0/n0 + u1/n1,
+            v = v0/n0 + v1/n1,
+            n = 1e-8f + (float)std::sqrt(u*u + v*v),
+            fact = 0.5f*(n0 + n1);
+          tangents(p,0) = (Tfloat)(fact*u/n);
+          tangents(p,1) = (Tfloat)(fact*v/n);
+        }
+      } break;
+      default : {
+        tangents.assign(points._width,points._height);
+        cimg_forX(points,p) {
+          const unsigned int
+            p0 = is_closed_set?(p + points._width - 1)%points._width:(p?p - 1:0),
+            p1 = is_closed_set?(p + 1)%points._width:(p + 1<points._width?p + 1:p);
+          const float
+            x = (float)points(p,0),
+            y = (float)points(p,1),
+            z = (float)points(p,2),
+            x0 = (float)points(p0,0),
+            y0 = (float)points(p0,1),
+            z0 = (float)points(p0,2),
+            x1 = (float)points(p1,0),
+            y1 = (float)points(p1,1),
+            z1 = (float)points(p1,2),
+            u0 = x - x0,
+            v0 = y - y0,
+            w0 = z - z0,
+            n0 = 1e-8f + (float)std::sqrt(u0*u0 + v0*v0 + w0*w0),
+            u1 = x1 - x,
+            v1 = y1 - y,
+            w1 = z1 - z,
+            n1 = 1e-8f + (float)std::sqrt(u1*u1 + v1*v1 + w1*w1),
+            u = u0/n0 + u1/n1,
+            v = v0/n0 + v1/n1,
+            w = w0/n0 + w1/n1,
+            n = 1e-8f + (float)std::sqrt(u*u + v*v + w*w),
+            fact = 0.5f*(n0 + n1);
+          tangents(p,0) = (Tfloat)(fact*u/n);
+          tangents(p,1) = (Tfloat)(fact*v/n);
+          tangents(p,2) = (Tfloat)(fact*w/n);
+        }
+      }
+      }
+      return draw_spline(points,tangents,color,opacity,is_closed_set,precision,pattern,init_hatch);
+    }
+
+    // Inner macro for drawing triangles.
+#define _cimg_for_triangle1(img,xl,xr,y,x0,y0,x1,y1,x2,y2) \
+        for (int y = y0<0?0:y0, \
+               xr = y0>=0?x0:(x0 - y0*(x2 - x0)/(y2 - y0)), \
+               xl = y1>=0?(y0>=0?(y0==y1?x1:x0):(x0 - y0*(x1 - x0)/(y1 - y0))):(x1 - y1*(x2 - x1)/(y2 - y1)), \
+               _sxn=1, \
+               _sxr=1, \
+               _sxl=1, \
+               _dxn = x2>x1?x2-x1:(_sxn=-1,x1 - x2), \
+               _dxr = x2>x0?x2-x0:(_sxr=-1,x0 - x2), \
+               _dxl = x1>x0?x1-x0:(_sxl=-1,x0 - x1), \
+               _dyn = y2-y1, \
+               _dyr = y2-y0, \
+               _dyl = y1-y0, \
+               _counter = (_dxn-=_dyn?_dyn*(_dxn/_dyn):0, \
+                           _dxr-=_dyr?_dyr*(_dxr/_dyr):0, \
+                           _dxl-=_dyl?_dyl*(_dxl/_dyl):0, \
+                           cimg::min((int)(img)._height - y - 1,y2 - y)), \
+               _errn = _dyn/2, \
+               _errr = _dyr/2, \
+               _errl = _dyl/2, \
+               _rxn = _dyn?(x2-x1)/_dyn:0, \
+               _rxr = _dyr?(x2-x0)/_dyr:0, \
+               _rxl = (y0!=y1 && y1>0)?(_dyl?(x1-x0)/_dyl:0): \
+                                       (_errl=_errn, _dxl=_dxn, _dyl=_dyn, _sxl=_sxn, _rxn); \
+             _counter>=0; --_counter, ++y, \
+               xr+=_rxr+((_errr-=_dxr)<0?_errr+=_dyr,_sxr:0), \
+               xl+=(y!=y1)?_rxl+((_errl-=_dxl)<0?(_errl+=_dyl,_sxl):0): \
+                           (_errl=_errn, _dxl=_dxn, _dyl=_dyn, _sxl=_sxn, _rxl=_rxn, x1-xl))
+
+#define _cimg_for_triangle2(img,xl,cl,xr,cr,y,x0,y0,c0,x1,y1,c1,x2,y2,c2) \
+        for (int y = y0<0?0:y0, \
+               xr = y0>=0?x0:(x0 - y0*(x2 - x0)/(y2 - y0)), \
+               cr = y0>=0?c0:(c0 - y0*(c2 - c0)/(y2 - y0)), \
+               xl = y1>=0?(y0>=0?(y0==y1?x1:x0):(x0 - y0*(x1 - x0)/(y1 - y0))):(x1 - y1*(x2 - x1)/(y2 - y1)), \
+               cl = y1>=0?(y0>=0?(y0==y1?c1:c0):(c0 - y0*(c1 - c0)/(y1 - y0))):(c1 - y1*(c2 - c1)/(y2 - y1)), \
+               _sxn=1, _scn=1, \
+               _sxr=1, _scr=1, \
+               _sxl=1, _scl=1, \
+               _dxn = x2>x1?x2-x1:(_sxn=-1,x1 - x2), \
+               _dxr = x2>x0?x2-x0:(_sxr=-1,x0 - x2), \
+               _dxl = x1>x0?x1-x0:(_sxl=-1,x0 - x1), \
+               _dcn = c2>c1?c2-c1:(_scn=-1,c1 - c2), \
+               _dcr = c2>c0?c2-c0:(_scr=-1,c0 - c2), \
+               _dcl = c1>c0?c1-c0:(_scl=-1,c0 - c1), \
+               _dyn = y2-y1, \
+               _dyr = y2-y0, \
+               _dyl = y1-y0, \
+               _counter =(_dxn-=_dyn?_dyn*(_dxn/_dyn):0, \
+                          _dxr-=_dyr?_dyr*(_dxr/_dyr):0, \
+                          _dxl-=_dyl?_dyl*(_dxl/_dyl):0, \
+                          _dcn-=_dyn?_dyn*(_dcn/_dyn):0, \
+                          _dcr-=_dyr?_dyr*(_dcr/_dyr):0, \
+                          _dcl-=_dyl?_dyl*(_dcl/_dyl):0, \
+                          cimg::min((int)(img)._height - y - 1,y2 - y)), \
+               _errn = _dyn/2, _errcn = _errn, \
+               _errr = _dyr/2, _errcr = _errr, \
+               _errl = _dyl/2, _errcl = _errl, \
+               _rxn = _dyn?(x2 - x1)/_dyn:0, \
+               _rcn = _dyn?(c2 - c1)/_dyn:0, \
+               _rxr = _dyr?(x2 - x0)/_dyr:0, \
+               _rcr = _dyr?(c2 - c0)/_dyr:0, \
+               _rxl = (y0!=y1 && y1>0)?(_dyl?(x1-x0)/_dyl:0): \
+                                       (_errl=_errn, _dxl=_dxn, _dyl=_dyn, _sxl=_sxn, _rxn), \
+               _rcl = (y0!=y1 && y1>0)?(_dyl?(c1-c0)/_dyl:0): \
+                                       (_errcl=_errcn, _dcl=_dcn, _dyl=_dyn, _scl=_scn, _rcn ); \
+             _counter>=0; --_counter, ++y, \
+               xr+=_rxr+((_errr-=_dxr)<0?_errr+=_dyr,_sxr:0), \
+               cr+=_rcr+((_errcr-=_dcr)<0?_errcr+=_dyr,_scr:0), \
+               xl+=(y!=y1)?(cl+=_rcl+((_errcl-=_dcl)<0?(_errcl+=_dyl,_scl):0), \
+      	                   _rxl+((_errl-=_dxl)<0?(_errl+=_dyl,_sxl):0)): \
+               (_errcl=_errcn, _dcl=_dcn, _dyl=_dyn, _scl=_scn, _rcl=_rcn, cl=c1, \
+                _errl=_errn, _dxl=_dxn, _dyl=_dyn, _sxl=_sxn, _rxl=_rxn, x1-xl))
+
+#define _cimg_for_triangle3(img,xl,txl,tyl,xr,txr,tyr,y,x0,y0,tx0,ty0,x1,y1,tx1,ty1,x2,y2,tx2,ty2) \
+        for (int y = y0<0?0:y0, \
+               xr = y0>=0?x0:(x0 - y0*(x2 - x0)/(y2 - y0)), \
+               txr = y0>=0?tx0:(tx0 - y0*(tx2 - tx0)/(y2 - y0)), \
+               tyr = y0>=0?ty0:(ty0 - y0*(ty2 - ty0)/(y2 - y0)), \
+               xl = y1>=0?(y0>=0?(y0==y1?x1:x0):(x0 - y0*(x1 - x0)/(y1 - y0))):(x1 - y1*(x2 - x1)/(y2 - y1)), \
+               txl = y1>=0?(y0>=0?(y0==y1?tx1:tx0):(tx0 - y0*(tx1 - tx0)/(y1 - y0))):(tx1 - y1*(tx2 - tx1)/(y2 - y1)), \
+               tyl = y1>=0?(y0>=0?(y0==y1?ty1:ty0):(ty0 - y0*(ty1 - ty0)/(y1 - y0))):(ty1 - y1*(ty2 - ty1)/(y2 - y1)), \
+               _sxn=1, _stxn=1, _styn=1, \
+               _sxr=1, _stxr=1, _styr=1, \
+               _sxl=1, _stxl=1, _styl=1, \
+               _dxn = x2>x1?x2 - x1:(_sxn=-1,x1 - x2), \
+               _dxr = x2>x0?x2 - x0:(_sxr=-1,x0 - x2), \
+               _dxl = x1>x0?x1 - x0:(_sxl=-1,x0 - x1), \
+               _dtxn = tx2>tx1?tx2 - tx1:(_stxn=-1,tx1 - tx2), \
+               _dtxr = tx2>tx0?tx2 - tx0:(_stxr=-1,tx0 - tx2), \
+               _dtxl = tx1>tx0?tx1 - tx0:(_stxl=-1,tx0 - tx1), \
+               _dtyn = ty2>ty1?ty2 - ty1:(_styn=-1,ty1 - ty2), \
+               _dtyr = ty2>ty0?ty2 - ty0:(_styr=-1,ty0 - ty2), \
+               _dtyl = ty1>ty0?ty1 - ty0:(_styl=-1,ty0 - ty1), \
+               _dyn = y2-y1, \
+               _dyr = y2-y0, \
+               _dyl = y1-y0, \
+               _counter =(_dxn-=_dyn?_dyn*(_dxn/_dyn):0, \
+                          _dxr-=_dyr?_dyr*(_dxr/_dyr):0, \
+                          _dxl-=_dyl?_dyl*(_dxl/_dyl):0, \
+                          _dtxn-=_dyn?_dyn*(_dtxn/_dyn):0, \
+                          _dtxr-=_dyr?_dyr*(_dtxr/_dyr):0, \
+                          _dtxl-=_dyl?_dyl*(_dtxl/_dyl):0, \
+                          _dtyn-=_dyn?_dyn*(_dtyn/_dyn):0, \
+                          _dtyr-=_dyr?_dyr*(_dtyr/_dyr):0, \
+                          _dtyl-=_dyl?_dyl*(_dtyl/_dyl):0, \
+                          cimg::min((int)(img)._height - y - 1,y2 - y)), \
+               _errn = _dyn/2, _errtxn = _errn, _errtyn = _errn, \
+               _errr = _dyr/2, _errtxr = _errr, _errtyr = _errr, \
+               _errl = _dyl/2, _errtxl = _errl, _errtyl = _errl, \
+               _rxn = _dyn?(x2 - x1)/_dyn:0, \
+               _rtxn = _dyn?(tx2 - tx1)/_dyn:0, \
+               _rtyn = _dyn?(ty2 - ty1)/_dyn:0, \
+               _rxr = _dyr?(x2 - x0)/_dyr:0, \
+               _rtxr = _dyr?(tx2 - tx0)/_dyr:0, \
+               _rtyr = _dyr?(ty2 - ty0)/_dyr:0, \
+               _rxl = (y0!=y1 && y1>0)?(_dyl?(x1 - x0)/_dyl:0): \
+                                       (_errl=_errn, _dxl=_dxn, _dyl=_dyn, _sxl=_sxn, _rxn), \
+               _rtxl = (y0!=y1 && y1>0)?(_dyl?(tx1 - tx0)/_dyl:0): \
+                                       (_errtxl=_errtxn, _dtxl=_dtxn, _dyl=_dyn, _stxl=_stxn, _rtxn ), \
+               _rtyl = (y0!=y1 && y1>0)?(_dyl?(ty1 - ty0)/_dyl:0): \
+                                       (_errtyl=_errtyn, _dtyl=_dtyn, _dyl=_dyn, _styl=_styn, _rtyn ); \
+             _counter>=0; --_counter, ++y, \
+               xr+=_rxr+((_errr-=_dxr)<0?_errr+=_dyr,_sxr:0), \
+               txr+=_rtxr+((_errtxr-=_dtxr)<0?_errtxr+=_dyr,_stxr:0), \
+               tyr+=_rtyr+((_errtyr-=_dtyr)<0?_errtyr+=_dyr,_styr:0), \
+               xl+=(y!=y1)?(txl+=_rtxl+((_errtxl-=_dtxl)<0?(_errtxl+=_dyl,_stxl):0), \
+                            tyl+=_rtyl+((_errtyl-=_dtyl)<0?(_errtyl+=_dyl,_styl):0), \
+                           _rxl+((_errl-=_dxl)<0?(_errl+=_dyl,_sxl):0)): \
+               (_errtxl=_errtxn, _dtxl=_dtxn, _dyl=_dyn, _stxl=_stxn, _rtxl=_rtxn, txl=tx1, \
+                _errtyl=_errtyn, _dtyl=_dtyn, _dyl=_dyn, _styl=_styn, _rtyl=_rtyn, tyl=ty1,\
+                _errl=_errn, _dxl=_dxn, _dyl=_dyn, _sxl=_sxn, _rxl=_rxn, x1 - xl))
+
+#define _cimg_for_triangle4(img,xl,cl,txl,tyl,xr,cr,txr,tyr,y,x0,y0,c0,tx0,ty0,x1,y1,c1,tx1,ty1,x2,y2,c2,tx2,ty2) \
+        for (int y = y0<0?0:y0, \
+               xr = y0>=0?x0:(x0 - y0*(x2 - x0)/(y2 - y0)), \
+               cr = y0>=0?c0:(c0 - y0*(c2 - c0)/(y2 - y0)), \
+               txr = y0>=0?tx0:(tx0 - y0*(tx2 - tx0)/(y2 - y0)), \
+               tyr = y0>=0?ty0:(ty0 - y0*(ty2 - ty0)/(y2 - y0)), \
+               xl = y1>=0?(y0>=0?(y0==y1?x1:x0):(x0 - y0*(x1 - x0)/(y1 - y0))):(x1 - y1*(x2 - x1)/(y2 - y1)), \
+               cl = y1>=0?(y0>=0?(y0==y1?c1:c0):(c0 - y0*(c1 - c0)/(y1 - y0))):(c1 - y1*(c2 - c1)/(y2 - y1)), \
+               txl = y1>=0?(y0>=0?(y0==y1?tx1:tx0):(tx0 - y0*(tx1 - tx0)/(y1 - y0))):(tx1 - y1*(tx2 - tx1)/(y2 - y1)), \
+               tyl = y1>=0?(y0>=0?(y0==y1?ty1:ty0):(ty0 - y0*(ty1 - ty0)/(y1 - y0))):(ty1 - y1*(ty2 - ty1)/(y2 - y1)), \
+               _sxn=1, _scn=1, _stxn=1, _styn=1, \
+               _sxr=1, _scr=1, _stxr=1, _styr=1, \
+               _sxl=1, _scl=1, _stxl=1, _styl=1, \
+               _dxn = x2>x1?x2 - x1:(_sxn=-1,x1 - x2), \
+               _dxr = x2>x0?x2 - x0:(_sxr=-1,x0 - x2), \
+               _dxl = x1>x0?x1 - x0:(_sxl=-1,x0 - x1), \
+               _dcn = c2>c1?c2 - c1:(_scn=-1,c1 - c2), \
+               _dcr = c2>c0?c2 - c0:(_scr=-1,c0 - c2), \
+               _dcl = c1>c0?c1 - c0:(_scl=-1,c0 - c1), \
+               _dtxn = tx2>tx1?tx2 - tx1:(_stxn=-1,tx1 - tx2), \
+               _dtxr = tx2>tx0?tx2 - tx0:(_stxr=-1,tx0 - tx2), \
+               _dtxl = tx1>tx0?tx1 - tx0:(_stxl=-1,tx0 - tx1), \
+               _dtyn = ty2>ty1?ty2 - ty1:(_styn=-1,ty1 - ty2), \
+               _dtyr = ty2>ty0?ty2 - ty0:(_styr=-1,ty0 - ty2), \
+               _dtyl = ty1>ty0?ty1 - ty0:(_styl=-1,ty0 - ty1), \
+               _dyn = y2 - y1, \
+               _dyr = y2 - y0, \
+               _dyl = y1 - y0, \
+               _counter =(_dxn-=_dyn?_dyn*(_dxn/_dyn):0, \
+                          _dxr-=_dyr?_dyr*(_dxr/_dyr):0, \
+                          _dxl-=_dyl?_dyl*(_dxl/_dyl):0, \
+                          _dcn-=_dyn?_dyn*(_dcn/_dyn):0, \
+                          _dcr-=_dyr?_dyr*(_dcr/_dyr):0, \
+                          _dcl-=_dyl?_dyl*(_dcl/_dyl):0, \
+                          _dtxn-=_dyn?_dyn*(_dtxn/_dyn):0, \
+                          _dtxr-=_dyr?_dyr*(_dtxr/_dyr):0, \
+                          _dtxl-=_dyl?_dyl*(_dtxl/_dyl):0, \
+                          _dtyn-=_dyn?_dyn*(_dtyn/_dyn):0, \
+                          _dtyr-=_dyr?_dyr*(_dtyr/_dyr):0, \
+                          _dtyl-=_dyl?_dyl*(_dtyl/_dyl):0, \
+                          cimg::min((int)(img)._height - y - 1,y2 - y)), \
+               _errn = _dyn/2, _errcn = _errn, _errtxn = _errn, _errtyn = _errn, \
+               _errr = _dyr/2, _errcr = _errr, _errtxr = _errr, _errtyr = _errr, \
+               _errl = _dyl/2, _errcl = _errl, _errtxl = _errl, _errtyl = _errl, \
+               _rxn = _dyn?(x2 - x1)/_dyn:0, \
+               _rcn = _dyn?(c2 - c1)/_dyn:0, \
+               _rtxn = _dyn?(tx2 - tx1)/_dyn:0, \
+               _rtyn = _dyn?(ty2 - ty1)/_dyn:0, \
+               _rxr = _dyr?(x2 - x0)/_dyr:0, \
+               _rcr = _dyr?(c2 - c0)/_dyr:0, \
+               _rtxr = _dyr?(tx2 - tx0)/_dyr:0, \
+               _rtyr = _dyr?(ty2 - ty0)/_dyr:0, \
+               _rxl = (y0!=y1 && y1>0)?(_dyl?(x1 - x0)/_dyl:0): \
+                                       (_errl=_errn, _dxl=_dxn, _dyl=_dyn, _sxl=_sxn, _rxn), \
+               _rcl = (y0!=y1 && y1>0)?(_dyl?(c1 - c0)/_dyl:0): \
+                                       (_errcl=_errcn, _dcl=_dcn, _dyl=_dyn, _scl=_scn, _rcn ), \
+               _rtxl = (y0!=y1 && y1>0)?(_dyl?(tx1 - tx0)/_dyl:0): \
+                                        (_errtxl=_errtxn, _dtxl=_dtxn, _dyl=_dyn, _stxl=_stxn, _rtxn ), \
+               _rtyl = (y0!=y1 && y1>0)?(_dyl?(ty1 - ty0)/_dyl:0): \
+                                        (_errtyl=_errtyn, _dtyl=_dtyn, _dyl=_dyn, _styl=_styn, _rtyn ); \
+             _counter>=0; --_counter, ++y, \
+               xr+=_rxr+((_errr-=_dxr)<0?_errr+=_dyr,_sxr:0), \
+               cr+=_rcr+((_errcr-=_dcr)<0?_errcr+=_dyr,_scr:0), \
+               txr+=_rtxr+((_errtxr-=_dtxr)<0?_errtxr+=_dyr,_stxr:0), \
+               tyr+=_rtyr+((_errtyr-=_dtyr)<0?_errtyr+=_dyr,_styr:0), \
+               xl+=(y!=y1)?(cl+=_rcl+((_errcl-=_dcl)<0?(_errcl+=_dyl,_scl):0), \
+                            txl+=_rtxl+((_errtxl-=_dtxl)<0?(_errtxl+=_dyl,_stxl):0), \
+                            tyl+=_rtyl+((_errtyl-=_dtyl)<0?(_errtyl+=_dyl,_styl):0), \
+                            _rxl+((_errl-=_dxl)<0?(_errl+=_dyl,_sxl):0)): \
+               (_errcl=_errcn, _dcl=_dcn, _dyl=_dyn, _scl=_scn, _rcl=_rcn, cl=c1, \
+                _errtxl=_errtxn, _dtxl=_dtxn, _dyl=_dyn, _stxl=_stxn, _rtxl=_rtxn, txl=tx1, \
+                _errtyl=_errtyn, _dtyl=_dtyn, _dyl=_dyn, _styl=_styn, _rtyl=_rtyn, tyl=ty1, \
+                _errl=_errn, _dxl=_dxn, _dyl=_dyn, _sxl=_sxn, _rxl=_rxn, x1 - xl))
+
+#define _cimg_for_triangle5(img,xl,txl,tyl,lxl,lyl,xr,txr,tyr,lxr,lyr,y,x0,y0,\
+                            tx0,ty0,lx0,ly0,x1,y1,tx1,ty1,lx1,ly1,x2,y2,tx2,ty2,lx2,ly2) \
+        for (int y = y0<0?0:y0, \
+               xr = y0>=0?x0:(x0 - y0*(x2 - x0)/(y2 - y0)), \
+               txr = y0>=0?tx0:(tx0 - y0*(tx2 - tx0)/(y2 - y0)), \
+               tyr = y0>=0?ty0:(ty0 - y0*(ty2 - ty0)/(y2 - y0)), \
+               lxr = y0>=0?lx0:(lx0 - y0*(lx2 - lx0)/(y2 - y0)), \
+               lyr = y0>=0?ly0:(ly0 - y0*(ly2 - ly0)/(y2 - y0)), \
+               xl = y1>=0?(y0>=0?(y0==y1?x1:x0):(x0 - y0*(x1 - x0)/(y1 - y0))):(x1 - y1*(x2 - x1)/(y2 - y1)), \
+               txl = y1>=0?(y0>=0?(y0==y1?tx1:tx0):(tx0 - y0*(tx1 - tx0)/(y1 - y0))):(tx1 - y1*(tx2 - tx1)/(y2 - y1)), \
+               tyl = y1>=0?(y0>=0?(y0==y1?ty1:ty0):(ty0 - y0*(ty1 - ty0)/(y1 - y0))):(ty1 - y1*(ty2 - ty1)/(y2 - y1)), \
+               lxl = y1>=0?(y0>=0?(y0==y1?lx1:lx0):(lx0 - y0*(lx1 - lx0)/(y1 - y0))):(lx1 - y1*(lx2 - lx1)/(y2 - y1)), \
+               lyl = y1>=0?(y0>=0?(y0==y1?ly1:ly0):(ly0 - y0*(ly1 - ly0)/(y1 - y0))):(ly1 - y1*(ly2 - ly1)/(y2 - y1)), \
+               _sxn=1, _stxn=1, _styn=1, _slxn=1, _slyn=1, \
+               _sxr=1, _stxr=1, _styr=1, _slxr=1, _slyr=1, \
+               _sxl=1, _stxl=1, _styl=1, _slxl=1, _slyl=1, \
+               _dxn = x2>x1?x2 - x1:(_sxn=-1,x1 - x2), _dyn = y2 - y1, \
+               _dxr = x2>x0?x2 - x0:(_sxr=-1,x0 - x2), _dyr = y2 - y0, \
+               _dxl = x1>x0?x1 - x0:(_sxl=-1,x0 - x1), _dyl = y1 - y0, \
+               _dtxn = tx2>tx1?tx2 - tx1:(_stxn=-1,tx1 - tx2), \
+               _dtxr = tx2>tx0?tx2 - tx0:(_stxr=-1,tx0 - tx2), \
+               _dtxl = tx1>tx0?tx1 - tx0:(_stxl=-1,tx0 - tx1), \
+               _dtyn = ty2>ty1?ty2 - ty1:(_styn=-1,ty1 - ty2), \
+               _dtyr = ty2>ty0?ty2 - ty0:(_styr=-1,ty0 - ty2), \
+               _dtyl = ty1>ty0?ty1 - ty0:(_styl=-1,ty0 - ty1), \
+               _dlxn = lx2>lx1?lx2 - lx1:(_slxn=-1,lx1 - lx2), \
+               _dlxr = lx2>lx0?lx2 - lx0:(_slxr=-1,lx0 - lx2), \
+               _dlxl = lx1>lx0?lx1 - lx0:(_slxl=-1,lx0 - lx1), \
+               _dlyn = ly2>ly1?ly2 - ly1:(_slyn=-1,ly1 - ly2), \
+               _dlyr = ly2>ly0?ly2 - ly0:(_slyr=-1,ly0 - ly2), \
+               _dlyl = ly1>ly0?ly1 - ly0:(_slyl=-1,ly0 - ly1), \
+               _counter =(_dxn-=_dyn?_dyn*(_dxn/_dyn):0, \
+                          _dxr-=_dyr?_dyr*(_dxr/_dyr):0, \
+                          _dxl-=_dyl?_dyl*(_dxl/_dyl):0, \
+                          _dtxn-=_dyn?_dyn*(_dtxn/_dyn):0, \
+                          _dtxr-=_dyr?_dyr*(_dtxr/_dyr):0, \
+                          _dtxl-=_dyl?_dyl*(_dtxl/_dyl):0, \
+                          _dtyn-=_dyn?_dyn*(_dtyn/_dyn):0, \
+                          _dtyr-=_dyr?_dyr*(_dtyr/_dyr):0, \
+                          _dtyl-=_dyl?_dyl*(_dtyl/_dyl):0, \
+                          _dlxn-=_dyn?_dyn*(_dlxn/_dyn):0, \
+                          _dlxr-=_dyr?_dyr*(_dlxr/_dyr):0, \
+                          _dlxl-=_dyl?_dyl*(_dlxl/_dyl):0, \
+                          _dlyn-=_dyn?_dyn*(_dlyn/_dyn):0, \
+                          _dlyr-=_dyr?_dyr*(_dlyr/_dyr):0, \
+                          _dlyl-=_dyl?_dyl*(_dlyl/_dyl):0, \
+                          cimg::min((int)(img)._height - y - 1,y2 - y)), \
+               _errn = _dyn/2, _errtxn = _errn, _errtyn = _errn, _errlxn = _errn, _errlyn = _errn, \
+               _errr = _dyr/2, _errtxr = _errr, _errtyr = _errr, _errlxr = _errr, _errlyr = _errr, \
+               _errl = _dyl/2, _errtxl = _errl, _errtyl = _errl, _errlxl = _errl, _errlyl = _errl, \
+               _rxn = _dyn?(x2 - x1)/_dyn:0, \
+               _rtxn = _dyn?(tx2 - tx1)/_dyn:0, \
+               _rtyn = _dyn?(ty2 - ty1)/_dyn:0, \
+               _rlxn = _dyn?(lx2 - lx1)/_dyn:0, \
+               _rlyn = _dyn?(ly2 - ly1)/_dyn:0, \
+               _rxr = _dyr?(x2 - x0)/_dyr:0, \
+               _rtxr = _dyr?(tx2 - tx0)/_dyr:0, \
+               _rtyr = _dyr?(ty2 - ty0)/_dyr:0, \
+               _rlxr = _dyr?(lx2 - lx0)/_dyr:0, \
+               _rlyr = _dyr?(ly2 - ly0)/_dyr:0, \
+               _rxl = (y0!=y1 && y1>0)?(_dyl?(x1 - x0)/_dyl:0): \
+                                       (_errl=_errn, _dxl=_dxn, _dyl=_dyn, _sxl=_sxn, _rxn), \
+               _rtxl = (y0!=y1 && y1>0)?(_dyl?(tx1 - tx0)/_dyl:0): \
+                                        (_errtxl=_errtxn, _dtxl=_dtxn, _dyl=_dyn, _stxl=_stxn, _rtxn ), \
+               _rtyl = (y0!=y1 && y1>0)?(_dyl?(ty1 - ty0)/_dyl:0): \
+                                        (_errtyl=_errtyn, _dtyl=_dtyn, _dyl=_dyn, _styl=_styn, _rtyn ), \
+               _rlxl = (y0!=y1 && y1>0)?(_dyl?(lx1 - lx0)/_dyl:0): \
+                                        (_errlxl=_errlxn, _dlxl=_dlxn, _dyl=_dyn, _slxl=_slxn, _rlxn ), \
+               _rlyl = (y0!=y1 && y1>0)?(_dyl?(ly1 - ly0)/_dyl:0): \
+                                        (_errlyl=_errlyn, _dlyl=_dlyn, _dyl=_dyn, _slyl=_slyn, _rlyn ); \
+             _counter>=0; --_counter, ++y, \
+               xr+=_rxr+((_errr-=_dxr)<0?_errr+=_dyr,_sxr:0), \
+               txr+=_rtxr+((_errtxr-=_dtxr)<0?_errtxr+=_dyr,_stxr:0), \
+               tyr+=_rtyr+((_errtyr-=_dtyr)<0?_errtyr+=_dyr,_styr:0), \
+               lxr+=_rlxr+((_errlxr-=_dlxr)<0?_errlxr+=_dyr,_slxr:0), \
+               lyr+=_rlyr+((_errlyr-=_dlyr)<0?_errlyr+=_dyr,_slyr:0), \
+               xl+=(y!=y1)?(txl+=_rtxl+((_errtxl-=_dtxl)<0?(_errtxl+=_dyl,_stxl):0), \
+                            tyl+=_rtyl+((_errtyl-=_dtyl)<0?(_errtyl+=_dyl,_styl):0), \
+                            lxl+=_rlxl+((_errlxl-=_dlxl)<0?(_errlxl+=_dyl,_slxl):0), \
+                            lyl+=_rlyl+((_errlyl-=_dlyl)<0?(_errlyl+=_dyl,_slyl):0), \
+                            _rxl+((_errl-=_dxl)<0?(_errl+=_dyl,_sxl):0)): \
+               (_errtxl=_errtxn, _dtxl=_dtxn, _dyl=_dyn, _stxl=_stxn, _rtxl=_rtxn, txl=tx1, \
+                _errtyl=_errtyn, _dtyl=_dtyn, _dyl=_dyn, _styl=_styn, _rtyl=_rtyn, tyl=ty1, \
+                _errlxl=_errlxn, _dlxl=_dlxn, _dyl=_dyn, _slxl=_slxn, _rlxl=_rlxn, lxl=lx1, \
+                _errlyl=_errlyn, _dlyl=_dlyn, _dyl=_dyn, _slyl=_slyn, _rlyl=_rlyn, lyl=ly1, \
+                _errl=_errn, _dxl=_dxn, _dyl=_dyn, _sxl=_sxn, _rxl=_rxn, x1 - xl))
+
+    // [internal] Draw a filled triangle.
+    template<typename tc>
+    CImg<T>& _draw_triangle(const int x0, const int y0,
+                            const int x1, const int y1,
+                            const int x2, const int y2,
+                            const tc *const color, const float opacity,
+                            const float brightness) {
+      cimg_init_scanline(color,opacity);
+      const float nbrightness = brightness<0?0:(brightness>2?2:brightness);
+      int nx0 = x0, ny0 = y0, nx1 = x1, ny1 = y1, nx2 = x2, ny2 = y2;
+      if (ny0>ny1) cimg::swap(nx0,nx1,ny0,ny1);
+      if (ny0>ny2) cimg::swap(nx0,nx2,ny0,ny2);
+      if (ny1>ny2) cimg::swap(nx1,nx2,ny1,ny2);
+      if (ny0<height() && ny2>=0) {
+        if ((nx1 - nx0)*(ny2 - ny0) - (nx2 - nx0)*(ny1 - ny0)<0)
+          _cimg_for_triangle1(*this,xl,xr,y,nx0,ny0,nx1,ny1,nx2,ny2)
+            cimg_draw_scanline(xl,xr,y,color,opacity,nbrightness);
+        else
+          _cimg_for_triangle1(*this,xl,xr,y,nx0,ny0,nx1,ny1,nx2,ny2)
+            cimg_draw_scanline(xr,xl,y,color,opacity,nbrightness);
+      }
+      return *this;
+    }
+
+    //! Draw a filled 2d triangle.
+    /**
+       \param x0 X-coordinate of the first vertex.
+       \param y0 Y-coordinate of the first vertex.
+       \param x1 X-coordinate of the second vertex.
+       \param y1 Y-coordinate of the second vertex.
+       \param x2 X-coordinate of the third vertex.
+       \param y2 Y-coordinate of the third vertex.
+       \param color Pointer to \c spectrum() consecutive values of type \c T, defining the drawing color.
+       \param opacity Drawing opacity.
+     **/
+    template<typename tc>
+    CImg<T>& draw_triangle(const int x0, const int y0,
+                           const int x1, const int y1,
+                           const int x2, const int y2,
+                           const tc *const color, const float opacity=1) {
+      if (is_empty()) return *this;
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Specified color is (null).",
+                                    cimg_instance);
+      _draw_triangle(x0,y0,x1,y1,x2,y2,color,opacity,1);
+      return *this;
+    }
+
+    //! Draw a outlined 2d triangle.
+    /**
+       \param x0 X-coordinate of the first vertex.
+       \param y0 Y-coordinate of the first vertex.
+       \param x1 X-coordinate of the second vertex.
+       \param y1 Y-coordinate of the second vertex.
+       \param x2 X-coordinate of the third vertex.
+       \param y2 Y-coordinate of the third vertex.
+       \param color Pointer to \c spectrum() consecutive values of type \c T, defining the drawing color.
+       \param opacity Drawing opacity.
+       \param pattern An integer whose bits describe the outline pattern.
+     **/
+    template<typename tc>
+    CImg<T>& draw_triangle(const int x0, const int y0,
+                           const int x1, const int y1,
+                           const int x2, const int y2,
+                           const tc *const color, const float opacity,
+                           const unsigned int pattern) {
+      if (is_empty()) return *this;
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Specified color is (null).",
+                                    cimg_instance);
+      draw_line(x0,y0,x1,y1,color,opacity,pattern,true).
+        draw_line(x1,y1,x2,y2,color,opacity,pattern,false).
+        draw_line(x2,y2,x0,y0,color,opacity,pattern,false);
+      return *this;
+    }
+
+    //! Draw a filled 2d triangle, with z-buffering.
+    /**
+       \param zbuffer Z-buffer image.
+       \param x0 X-coordinate of the first vertex.
+       \param y0 Y-coordinate of the first vertex.
+       \param z0 Z-coordinate of the first vertex.
+       \param x1 X-coordinate of the second vertex.
+       \param y1 Y-coordinate of the second vertex.
+       \param z1 Z-coordinate of the second vertex.
+       \param x2 X-coordinate of the third vertex.
+       \param y2 Y-coordinate of the third vertex.
+       \param z2 Z-coordinate of the third vertex.
+       \param color Pointer to \c spectrum() consecutive values of type \c T, defining the drawing color.
+       \param opacity Drawing opacity.
+       \param brightness Brightness factor.
+    **/
+    template<typename tz, typename tc>
+    CImg<T>& draw_triangle(CImg<tz>& zbuffer,
+                           const int x0, const int y0, const float z0,
+                           const int x1, const int y1, const float z1,
+                           const int x2, const int y2, const float z2,
+                           const tc *const color, const float opacity=1,
+                           const float brightness=1) {
+      typedef typename cimg::superset<tz,float>::type tzfloat;
+      if (is_empty() || z0<=0 || z1<=0 || z2<=0) return *this;
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Specified color is (null).",
+                                    cimg_instance);
+      if (!is_sameXY(zbuffer))
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Instance and specified Z-buffer (%u,%u,%u,%u,%p) have "
+                                    "different dimensions.",
+                                    cimg_instance,
+                                    zbuffer._width,zbuffer._height,zbuffer._depth,zbuffer._spectrum,zbuffer._data);
+      static const T maxval = (T)cimg::min(cimg::type<T>::max(),cimg::type<tc>::max());
+      const float
+        nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0),
+        nbrightness = brightness<0?0:(brightness>2?2:brightness);
+      const long whd = width()*height()*depth(), offx = spectrum()*whd;
+      int nx0 = x0, ny0 = y0, nx1 = x1, ny1 = y1, nx2 = x2, ny2 = y2;
+      tzfloat nz0 = 1/(tzfloat)z0, nz1 = 1/(tzfloat)z1, nz2 = 1/(tzfloat)z2;
+      if (ny0>ny1) cimg::swap(nx0,nx1,ny0,ny1,nz0,nz1);
+      if (ny0>ny2) cimg::swap(nx0,nx2,ny0,ny2,nz0,nz2);
+      if (ny1>ny2) cimg::swap(nx1,nx2,ny1,ny2,nz1,nz2);
+      if (ny0>=height() || ny2<0) return *this;
+      tzfloat
+        pzl = (nz1 - nz0)/(ny1 - ny0),
+        pzr = (nz2 - nz0)/(ny2 - ny0),
+        pzn = (nz2 - nz1)/(ny2 - ny1),
+        zr = ny0>=0?nz0:(nz0 - ny0*(nz2 - nz0)/(ny2 - ny0)),
+        zl = ny1>=0?(ny0>=0?nz0:(nz0 - ny0*(nz1 - nz0)/(ny1 - ny0))):(pzl=pzn,(nz1 - ny1*(nz2 - nz1)/(ny2 - ny1)));
+      _cimg_for_triangle1(*this,xleft0,xright0,y,nx0,ny0,nx1,ny1,nx2,ny2) {
+        if (y==ny1) { zl = nz1; pzl = pzn; }
+        int xleft = xleft0, xright = xright0;
+        tzfloat zleft = zl, zright = zr;
+        if (xright<xleft) cimg::swap(xleft,xright,zleft,zright);
+        const int dx = xright - xleft;
+        const tzfloat pentez = (zright - zleft)/dx;
+        if (xleft<0 && dx) zleft-=xleft*(zright - zleft)/dx;
+        if (xleft<0) xleft = 0;
+        if (xright>=width() - 1) xright = width() - 1;
+        T* ptrd = data(xleft,y,0,0);
+        tz *ptrz = xleft<=xright?zbuffer.data(xleft,y):0;
+        if (opacity>=1) {
+          if (nbrightness==1) for (int x = xleft; x<=xright; ++x, ++ptrz, ++ptrd) {
+              if (zleft>=(tzfloat)*ptrz) {
+                *ptrz = (tz)zleft;
+              const tc *col = color; cimg_forC(*this,c) { *ptrd = (T)*(col++); ptrd+=whd; }
+              ptrd-=offx;
+            }
+            zleft+=pentez;
+          } else if (nbrightness<1) for (int x = xleft; x<=xright; ++x, ++ptrz, ++ptrd) {
+              if (zleft>=(tzfloat)*ptrz) {
+                *ptrz = (tz)zleft;
+              const tc *col = color; cimg_forC(*this,c) { *ptrd = (T)(nbrightness*(*col++)); ptrd+=whd; }
+              ptrd-=offx;
+            }
+            zleft+=pentez;
+          } else for (int x = xleft; x<=xright; ++x, ++ptrz, ++ptrd) {
+              if (zleft>=(tzfloat)*ptrz) {
+                *ptrz = (tz)zleft;
+              const tc *col = color;
+              cimg_forC(*this,c) { *ptrd = (T)((2 - nbrightness)**(col++) + (nbrightness - 1)*maxval); ptrd+=whd; }
+              ptrd-=offx;
+            }
+            zleft+=pentez;
+          }
+        } else {
+          if (nbrightness==1) for (int x = xleft; x<=xright; ++x, ++ptrz, ++ptrd) {
+              if (zleft>=(tzfloat)*ptrz) {
+                *ptrz = (tz)zleft;
+              const tc *col = color; cimg_forC(*this,c) { *ptrd = (T)(nopacity**(col++) + *ptrd*copacity); ptrd+=whd; }
+              ptrd-=offx;
+            }
+            zleft+=pentez;
+          } else if (nbrightness<1) for (int x = xleft; x<=xright; ++x, ++ptrz, ++ptrd) {
+              if (zleft>=(tzfloat)*ptrz) {
+                *ptrz = (tz)zleft;
+              const tc *col = color;
+              cimg_forC(*this,c) { *ptrd = (T)(nopacity*nbrightness**(col++) + *ptrd*copacity); ptrd+=whd; }
+              ptrd-=offx;
+            }
+            zleft+=pentez;
+          } else for (int x = xleft; x<=xright; ++x, ++ptrz, ++ptrd) {
+              if (zleft>=(tzfloat)*ptrz) {
+                *ptrz = (tz)zleft;
+              const tc *col = color;
+              cimg_forC(*this,c) {
+                const T val = (T)((2 - nbrightness)**(col++) + (nbrightness - 1)*maxval);
+                *ptrd = (T)(nopacity*val + *ptrd*copacity);
+                ptrd+=whd;
+              }
+              ptrd-=offx;
+            }
+            zleft+=pentez;
+          }
+        }
+        zr+=pzr; zl+=pzl;
+      }
+      return *this;
+    }
+
+    //! Draw a Gouraud-shaded 2d triangle.
+    /**
+       \param x0 X-coordinate of the first vertex in the image instance.
+       \param y0 Y-coordinate of the first vertex in the image instance.
+       \param x1 X-coordinate of the second vertex in the image instance.
+       \param y1 Y-coordinate of the second vertex in the image instance.
+       \param x2 X-coordinate of the third vertex in the image instance.
+       \param y2 Y-coordinate of the third vertex in the image instance.
+       \param color Pointer to \c spectrum() consecutive values, defining the drawing color.
+       \param brightness0 Brightness factor of the first vertex (in [0,2]).
+       \param brightness1 brightness factor of the second vertex (in [0,2]).
+       \param brightness2 brightness factor of the third vertex (in [0,2]).
+       \param opacity Drawing opacity.
+    **/
+    template<typename tc>
+    CImg<T>& draw_triangle(const int x0, const int y0,
+                           const int x1, const int y1,
+                           const int x2, const int y2,
+                           const tc *const color,
+                           const float brightness0,
+                           const float brightness1,
+                           const float brightness2,
+                           const float opacity=1) {
+      if (is_empty()) return *this;
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Specified color is (null).",
+                                    cimg_instance);
+      static const T maxval = (T)cimg::min(cimg::type<T>::max(),cimg::type<tc>::max());
+      const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+      const long whd = width()*height()*depth(), offx = spectrum()*whd - 1;
+      int nx0 = x0, ny0 = y0, nx1 = x1, ny1 = y1, nx2 = x2, ny2 = y2,
+        nc0 = (int)((brightness0<0.0f?0.0f:(brightness0>2.0f?2.0f:brightness0))*256.0f),
+        nc1 = (int)((brightness1<0.0f?0.0f:(brightness1>2.0f?2.0f:brightness1))*256.0f),
+        nc2 = (int)((brightness2<0.0f?0.0f:(brightness2>2.0f?2.0f:brightness2))*256.0f);
+      if (ny0>ny1) cimg::swap(nx0,nx1,ny0,ny1,nc0,nc1);
+      if (ny0>ny2) cimg::swap(nx0,nx2,ny0,ny2,nc0,nc2);
+      if (ny1>ny2) cimg::swap(nx1,nx2,ny1,ny2,nc1,nc2);
+      if (ny0>=height() || ny2<0) return *this;
+      _cimg_for_triangle2(*this,xleft0,cleft0,xright0,cright0,y,nx0,ny0,nc0,nx1,ny1,nc1,nx2,ny2,nc2) {
+        int xleft = xleft0, xright = xright0, cleft = cleft0, cright = cright0;
+        if (xright<xleft) cimg::swap(xleft,xright,cleft,cright);
+        const int
+          dx = xright - xleft,
+          dc = cright>cleft?cright - cleft:cleft - cright,
+          rc = dx?(cright - cleft)/dx:0,
+          sc = cright>cleft?1:-1,
+          ndc = dc - (dx?dx*(dc/dx):0);
+        int errc = dx>>1;
+        if (xleft<0 && dx) cleft-=xleft*(cright - cleft)/dx;
+        if (xleft<0) xleft = 0;
+        if (xright>=width() - 1) xright = width() - 1;
+        T* ptrd = data(xleft,y);
+        if (opacity>=1) for (int x = xleft; x<=xright; ++x) {
+          const tc *col = color;
+          cimg_forC(*this,c) {
+            *ptrd = (T)(cleft<256?cleft**(col++)/256:((512 - cleft)**(col++)+(cleft - 256)*maxval)/256);
+            ptrd+=whd;
+          }
+          ptrd-=offx;
+          cleft+=rc+((errc-=ndc)<0?errc+=dx,sc:0);
+        } else for (int x = xleft; x<=xright; ++x) {
+          const tc *col = color;
+          cimg_forC(*this,c) {
+            const T val = (T)(cleft<256?cleft**(col++)/256:((512 - cleft)**(col++)+(cleft - 256)*maxval)/256);
+            *ptrd = (T)(nopacity*val + *ptrd*copacity);
+            ptrd+=whd;
+          }
+          ptrd-=offx;
+          cleft+=rc+((errc-=ndc)<0?errc+=dx,sc:0);
+        }
+      }
+      return *this;
+    }
+
+    //! Draw a Gouraud-shaded 2d triangle, with z-buffering \overloading.
+    template<typename tz, typename tc>
+    CImg<T>& draw_triangle(CImg<tz>& zbuffer,
+                           const int x0, const int y0, const float z0,
+                           const int x1, const int y1, const float z1,
+                           const int x2, const int y2, const float z2,
+                           const tc *const color,
+                           const float brightness0,
+                           const float brightness1,
+                           const float brightness2,
+                           const float opacity=1) {
+      typedef typename cimg::superset<tz,float>::type tzfloat;
+      if (is_empty() || z0<=0 || z1<=0 || z2<=0) return *this;
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Specified color is (null).",
+                                    cimg_instance);
+      if (!is_sameXY(zbuffer))
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Instance and specified Z-buffer (%u,%u,%u,%u,%p) have "
+                                    "different dimensions.",
+                                    cimg_instance,
+                                    zbuffer._width,zbuffer._height,zbuffer._depth,zbuffer._spectrum,zbuffer._data);
+      static const T maxval = (T)cimg::min(cimg::type<T>::max(),cimg::type<tc>::max());
+      const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+      const long whd = width()*height()*depth(), offx = spectrum()*whd;
+      int nx0 = x0, ny0 = y0, nx1 = x1, ny1 = y1, nx2 = x2, ny2 = y2,
+        nc0 = (int)((brightness0<0.0f?0.0f:(brightness0>2.0f?2.0f:brightness0))*256.0f),
+        nc1 = (int)((brightness1<0.0f?0.0f:(brightness1>2.0f?2.0f:brightness1))*256.0f),
+        nc2 = (int)((brightness2<0.0f?0.0f:(brightness2>2.0f?2.0f:brightness2))*256.0f);
+      tzfloat nz0 = 1/(tzfloat)z0, nz1 = 1/(tzfloat)z1, nz2 = 1/(tzfloat)z2;
+      if (ny0>ny1) cimg::swap(nx0,nx1,ny0,ny1,nz0,nz1,nc0,nc1);
+      if (ny0>ny2) cimg::swap(nx0,nx2,ny0,ny2,nz0,nz2,nc0,nc2);
+      if (ny1>ny2) cimg::swap(nx1,nx2,ny1,ny2,nz1,nz2,nc1,nc2);
+      if (ny0>=height() || ny2<0) return *this;
+      tzfloat
+        pzl = (nz1 - nz0)/(ny1 - ny0),
+        pzr = (nz2 - nz0)/(ny2 - ny0),
+        pzn = (nz2 - nz1)/(ny2 - ny1),
+        zr = ny0>=0?nz0:(nz0 - ny0*(nz2 - nz0)/(ny2 - ny0)),
+        zl = ny1>=0?(ny0>=0?nz0:(nz0 - ny0*(nz1 - nz0)/(ny1 - ny0))):(pzl=pzn,(nz1 - ny1*(nz2 - nz1)/(ny2 - ny1)));
+      _cimg_for_triangle2(*this,xleft0,cleft0,xright0,cright0,y,nx0,ny0,nc0,nx1,ny1,nc1,nx2,ny2,nc2) {
+        if (y==ny1) { zl = nz1; pzl = pzn; }
+        int xleft = xleft0, xright = xright0, cleft = cleft0, cright = cright0;
+        tzfloat zleft = zl, zright = zr;
+        if (xright<xleft) cimg::swap(xleft,xright,zleft,zright,cleft,cright);
+        const int
+          dx = xright - xleft,
+          dc = cright>cleft?cright - cleft:cleft - cright,
+          rc = dx?(cright - cleft)/dx:0,
+          sc = cright>cleft?1:-1,
+          ndc = dc - (dx?dx*(dc/dx):0);
+        const tzfloat pentez = (zright - zleft)/dx;
+        int errc = dx>>1;
+        if (xleft<0 && dx) {
+          cleft-=xleft*(cright - cleft)/dx;
+          zleft-=xleft*(zright - zleft)/dx;
+        }
+        if (xleft<0) xleft = 0;
+        if (xright>=width() - 1) xright = width() - 1;
+        T *ptrd = data(xleft,y);
+        tz *ptrz = xleft<=xright?zbuffer.data(xleft,y):0;
+        if (opacity>=1) for (int x = xleft; x<=xright; ++x, ++ptrd, ++ptrz) {
+            if (zleft>=(tzfloat)*ptrz) {
+              *ptrz = (tz)zleft;
+              const tc *col = color;
+              cimg_forC(*this,c) {
+                *ptrd = (T)(cleft<256?cleft**(col++)/256:((512 - cleft)**(col++)+(cleft - 256)*maxval)/256);
+                ptrd+=whd;
+              }
+              ptrd-=offx;
+            }
+            zleft+=pentez;
+            cleft+=rc+((errc-=ndc)<0?errc+=dx,sc:0);
+          } else for (int x = xleft; x<=xright; ++x, ++ptrd, ++ptrz) {
+            if (zleft>=(tzfloat)*ptrz) {
+              *ptrz = (tz)zleft;
+              const tc *col = color;
+              cimg_forC(*this,c) {
+                const T val = (T)(cleft<256?cleft**(col++)/256:((512 - cleft)**(col++)+(cleft - 256)*maxval)/256);
+                *ptrd = (T)(nopacity*val + *ptrd*copacity);
+                ptrd+=whd;
+              }
+              ptrd-=offx;
+            }
+            zleft+=pentez;
+            cleft+=rc+((errc-=ndc)<0?errc+=dx,sc:0);
+          }
+        zr+=pzr; zl+=pzl;
+      }
+      return *this;
+    }
+
+    //! Draw a color-interpolated 2d triangle.
+    /**
+       \param x0 X-coordinate of the first vertex in the image instance.
+       \param y0 Y-coordinate of the first vertex in the image instance.
+       \param x1 X-coordinate of the second vertex in the image instance.
+       \param y1 Y-coordinate of the second vertex in the image instance.
+       \param x2 X-coordinate of the third vertex in the image instance.
+       \param y2 Y-coordinate of the third vertex in the image instance.
+       \param color1 Pointer to \c spectrum() consecutive values of type \c T, defining the color of the first vertex.
+       \param color2 Pointer to \c spectrum() consecutive values of type \c T, defining the color of the seconf vertex.
+       \param color3 Pointer to \c spectrum() consecutive values of type \c T, defining the color of the third vertex.
+       \param opacity Drawing opacity.
+     **/
+    template<typename tc1, typename tc2, typename tc3>
+    CImg<T>& draw_triangle(const int x0, const int y0,
+                           const int x1, const int y1,
+                           const int x2, const int y2,
+                           const tc1 *const color1,
+                           const tc2 *const color2,
+                           const tc3 *const color3,
+                           const float opacity=1) {
+      const unsigned char one = 1;
+      cimg_forC(*this,c)
+        get_shared_channel(c).draw_triangle(x0,y0,x1,y1,x2,y2,&one,color1[c],color2[c],color3[c],opacity);
+      return *this;
+    }
+
+    //! Draw a textured 2d triangle.
+    /**
+       \param x0 X-coordinate of the first vertex in the image instance.
+       \param y0 Y-coordinate of the first vertex in the image instance.
+       \param x1 X-coordinate of the second vertex in the image instance.
+       \param y1 Y-coordinate of the second vertex in the image instance.
+       \param x2 X-coordinate of the third vertex in the image instance.
+       \param y2 Y-coordinate of the third vertex in the image instance.
+       \param texture Texture image used to fill the triangle.
+       \param tx0 X-coordinate of the first vertex in the texture image.
+       \param ty0 Y-coordinate of the first vertex in the texture image.
+       \param tx1 X-coordinate of the second vertex in the texture image.
+       \param ty1 Y-coordinate of the second vertex in the texture image.
+       \param tx2 X-coordinate of the third vertex in the texture image.
+       \param ty2 Y-coordinate of the third vertex in the texture image.
+       \param opacity Drawing opacity.
+       \param brightness Brightness factor of the drawing (in [0,2]).
+    **/
+    template<typename tc>
+    CImg<T>& draw_triangle(const int x0, const int y0,
+                           const int x1, const int y1,
+                           const int x2, const int y2,
+                           const CImg<tc>& texture,
+                           const int tx0, const int ty0,
+                           const int tx1, const int ty1,
+                           const int tx2, const int ty2,
+                           const float opacity=1,
+                           const float brightness=1) {
+      if (is_empty()) return *this;
+      if (texture._depth>1 || texture._spectrum<_spectrum)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Invalid specified texture (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    texture._width,texture._height,texture._depth,texture._spectrum,texture._data);
+      if (is_overlapped(texture))
+        return draw_triangle(x0,y0,x1,y1,x2,y2,+texture,tx0,ty0,tx1,ty1,tx2,ty2,opacity,brightness);
+      static const T maxval = (T)cimg::min(cimg::type<T>::max(),cimg::type<tc>::max());
+      const float
+        nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0),
+        nbrightness = brightness<0?0:(brightness>2?2:brightness);
+      const unsigned long
+        whd = (unsigned long)_width*_height*_depth,
+        twh = (unsigned long)texture._width*texture._height,
+        offx = _spectrum*whd - 1;
+      int nx0 = x0, ny0 = y0, nx1 = x1, ny1 = y1, nx2 = x2, ny2 = y2,
+        ntx0 = tx0, nty0 = ty0, ntx1 = tx1, nty1 = ty1, ntx2 = tx2, nty2 = ty2;
+      if (ny0>ny1) cimg::swap(nx0,nx1,ny0,ny1,ntx0,ntx1,nty0,nty1);
+      if (ny0>ny2) cimg::swap(nx0,nx2,ny0,ny2,ntx0,ntx2,nty0,nty2);
+      if (ny1>ny2) cimg::swap(nx1,nx2,ny1,ny2,ntx1,ntx2,nty1,nty2);
+      if (ny0>=height() || ny2<0) return *this;
+      _cimg_for_triangle3(*this,xleft0,txleft0,tyleft0,xright0,txright0,tyright0,y,
+                          nx0,ny0,ntx0,nty0,nx1,ny1,ntx1,nty1,nx2,ny2,ntx2,nty2) {
+        int
+          xleft = xleft0, xright = xright0,
+          txleft = txleft0, txright = txright0,
+          tyleft = tyleft0, tyright = tyright0;
+        if (xright<xleft) cimg::swap(xleft,xright,txleft,txright,tyleft,tyright);
+        const int
+          dx = xright - xleft,
+          dtx = txright>txleft?txright - txleft:txleft - txright,
+          dty = tyright>tyleft?tyright - tyleft:tyleft - tyright,
+          rtx = dx?(txright - txleft)/dx:0,
+          rty = dx?(tyright - tyleft)/dx:0,
+          stx = txright>txleft?1:-1,
+          sty = tyright>tyleft?1:-1,
+          ndtx = dtx - (dx?dx*(dtx/dx):0),
+          ndty = dty - (dx?dx*(dty/dx):0);
+        int errtx = dx>>1, errty = errtx;
+        if (xleft<0 && dx) {
+          txleft-=xleft*(txright - txleft)/dx;
+          tyleft-=xleft*(tyright - tyleft)/dx;
+        }
+        if (xleft<0) xleft = 0;
+        if (xright>=width() - 1) xright = width() - 1;
+        T* ptrd = data(xleft,y,0,0);
+        if (opacity>=1) {
+          if (nbrightness==1) for (int x = xleft; x<=xright; ++x) {
+            const tc *col = &texture._atXY(txleft,tyleft);
+            cimg_forC(*this,c) {
+              *ptrd = (T)*col;
+              ptrd+=whd; col+=twh;
+            }
+            ptrd-=offx;
+            txleft+=rtx+((errtx-=ndtx)<0?errtx+=dx,stx:0);
+            tyleft+=rty+((errty-=ndty)<0?errty+=dx,sty:0);
+          } else if (nbrightness<1) for (int x = xleft; x<=xright; ++x) {
+            const tc *col = &texture._atXY(txleft,tyleft);
+            cimg_forC(*this,c) {
+              *ptrd = (T)(nbrightness**col);
+              ptrd+=whd; col+=twh;
+            }
+            ptrd-=offx;
+            txleft+=rtx+((errtx-=ndtx)<0?errtx+=dx,stx:0);
+            tyleft+=rty+((errty-=ndty)<0?errty+=dx,sty:0);
+          } else for (int x = xleft; x<=xright; ++x) {
+            const tc *col = &texture._atXY(txleft,tyleft);
+            cimg_forC(*this,c) {
+              *ptrd = (T)((2 - nbrightness)**(col++) + (nbrightness - 1)*maxval);
+              ptrd+=whd; col+=twh;
+            }
+            ptrd-=offx;
+            txleft+=rtx+((errtx-=ndtx)<0?errtx+=dx,stx:0);
+            tyleft+=rty+((errty-=ndty)<0?errty+=dx,sty:0);
+          }
+        } else {
+          if (nbrightness==1) for (int x = xleft; x<=xright; ++x) {
+            const tc *col = &texture._atXY(txleft,tyleft);
+            cimg_forC(*this,c) {
+              *ptrd = (T)(nopacity**col + *ptrd*copacity);
+              ptrd+=whd; col+=twh;
+            }
+            ptrd-=offx;
+            txleft+=rtx+((errtx-=ndtx)<0?errtx+=dx,stx:0);
+            tyleft+=rty+((errty-=ndty)<0?errty+=dx,sty:0);
+          } else if (nbrightness<1) for (int x = xleft; x<=xright; ++x) {
+            const tc *col = &texture._atXY(txleft,tyleft);
+            cimg_forC(*this,c) {
+              *ptrd = (T)(nopacity*nbrightness**col + *ptrd*copacity);
+              ptrd+=whd; col+=twh;
+            }
+            ptrd-=offx;
+            txleft+=rtx+((errtx-=ndtx)<0?errtx+=dx,stx:0);
+            tyleft+=rty+((errty-=ndty)<0?errty+=dx,sty:0);
+          } else for (int x = xleft; x<=xright; ++x) {
+            const tc *col = &texture._atXY(txleft,tyleft);
+            cimg_forC(*this,c) {
+              const T val = (T)((2 - nbrightness)**(col++) + (nbrightness - 1)*maxval);
+              *ptrd = (T)(nopacity*val + *ptrd*copacity);
+              ptrd+=whd; col+=twh;
+            }
+            ptrd-=offx;
+            txleft+=rtx+((errtx-=ndtx)<0?errtx+=dx,stx:0);
+            tyleft+=rty+((errty-=ndty)<0?errty+=dx,sty:0);
+          }
+        }
+      }
+      return *this;
+    }
+
+    //! Draw a 2d textured triangle, with perspective correction.
+    template<typename tc>
+    CImg<T>& draw_triangle(const int x0, const int y0, const float z0,
+                           const int x1, const int y1, const float z1,
+                           const int x2, const int y2, const float z2,
+                           const CImg<tc>& texture,
+                           const int tx0, const int ty0,
+                           const int tx1, const int ty1,
+                           const int tx2, const int ty2,
+                           const float opacity=1,
+                           const float brightness=1) {
+      if (is_empty() || z0<=0 || z1<=0 || z2<=0) return *this;
+      if (texture._depth>1 || texture._spectrum<_spectrum)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Invalid specified texture (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    texture._width,texture._height,texture._depth,texture._spectrum,texture._data);
+      if (is_overlapped(texture))
+        return draw_triangle(x0,y0,z0,x1,y1,z1,x2,y2,z2,+texture,tx0,ty0,tx1,ty1,tx2,ty2,opacity,brightness);
+      static const T maxval = (T)cimg::min(cimg::type<T>::max(),cimg::type<tc>::max());
+      const float
+        nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0),
+        nbrightness = brightness<0?0:(brightness>2?2:brightness);
+      const unsigned long
+        whd = (unsigned long)_width*_height*_depth,
+        twh = (unsigned long)texture._width*texture._height,
+        offx = _spectrum*whd - 1;
+      int nx0 = x0, ny0 = y0, nx1 = x1, ny1 = y1, nx2 = x2, ny2 = y2;
+      float
+        ntx0 = tx0/z0, nty0 = ty0/z0,
+        ntx1 = tx1/z1, nty1 = ty1/z1,
+        ntx2 = tx2/z2, nty2 = ty2/z2,
+        nz0 = 1/z0, nz1 = 1/z1, nz2 = 1/z2;
+      if (ny0>ny1) cimg::swap(nx0,nx1,ny0,ny1,ntx0,ntx1,nty0,nty1,nz0,nz1);
+      if (ny0>ny2) cimg::swap(nx0,nx2,ny0,ny2,ntx0,ntx2,nty0,nty2,nz0,nz2);
+      if (ny1>ny2) cimg::swap(nx1,nx2,ny1,ny2,ntx1,ntx2,nty1,nty2,nz1,nz2);
+      if (ny0>=height() || ny2<0) return *this;
+      float
+        ptxl = (ntx1 - ntx0)/(ny1 - ny0),
+        ptxr = (ntx2 - ntx0)/(ny2 - ny0),
+        ptxn = (ntx2 - ntx1)/(ny2 - ny1),
+        ptyl = (nty1 - nty0)/(ny1 - ny0),
+        ptyr = (nty2 - nty0)/(ny2 - ny0),
+        ptyn = (nty2 - nty1)/(ny2 - ny1),
+        pzl = (nz1 - nz0)/(ny1 - ny0),
+        pzr = (nz2 - nz0)/(ny2 - ny0),
+        pzn = (nz2 - nz1)/(ny2 - ny1),
+        zr = ny0>=0?nz0:(nz0 - ny0*(nz2 - nz0)/(ny2 - ny0)),
+        txr = ny0>=0?ntx0:(ntx0 - ny0*(ntx2 - ntx0)/(ny2 - ny0)),
+        tyr = ny0>=0?nty0:(nty0 - ny0*(nty2 - nty0)/(ny2 - ny0)),
+        zl = ny1>=0?(ny0>=0?nz0:(nz0 - ny0*(nz1 - nz0)/(ny1 - ny0))):(pzl=pzn,(nz1 - ny1*(nz2 - nz1)/(ny2 - ny1))),
+        txl = ny1>=0?(ny0>=0?ntx0:(ntx0 - ny0*(ntx1 - ntx0)/(ny1 - ny0))):
+          (ptxl=ptxn,(ntx1 - ny1*(ntx2 - ntx1)/(ny2 - ny1))),
+        tyl = ny1>=0?(ny0>=0?nty0:(nty0 - ny0*(nty1 - nty0)/(ny1 - ny0))):
+          (ptyl=ptyn,(nty1 - ny1*(nty2 - nty1)/(ny2 - ny1)));
+      _cimg_for_triangle1(*this,xleft0,xright0,y,nx0,ny0,nx1,ny1,nx2,ny2) {
+        if (y==ny1) { zl = nz1; txl = ntx1; tyl = nty1; pzl = pzn; ptxl = ptxn; ptyl = ptyn; }
+        int xleft = xleft0, xright = xright0;
+        float
+          zleft = zl, zright = zr,
+          txleft = txl, txright = txr,
+          tyleft = tyl, tyright = tyr;
+        if (xright<xleft) cimg::swap(xleft,xright,zleft,zright,txleft,txright,tyleft,tyright);
+        const int dx = xright - xleft;
+        const float
+          pentez = (zright - zleft)/dx,
+          pentetx = (txright - txleft)/dx,
+          pentety = (tyright - tyleft)/dx;
+        if (xleft<0 && dx) {
+          zleft-=xleft*(zright - zleft)/dx;
+          txleft-=xleft*(txright - txleft)/dx;
+          tyleft-=xleft*(tyright - tyleft)/dx;
+        }
+        if (xleft<0) xleft = 0;
+        if (xright>=width() - 1) xright = width() - 1;
+        T* ptrd = data(xleft,y,0,0);
+        if (opacity>=1) {
+          if (nbrightness==1) for (int x = xleft; x<=xright; ++x) {
+            const float invz = 1/zleft;
+            const tc *col = &texture._atXY((int)(txleft*invz),(int)(tyleft*invz));
+            cimg_forC(*this,c) {
+              *ptrd = (T)*col;
+              ptrd+=whd; col+=twh;
+            }
+            ptrd-=offx; zleft+=pentez; txleft+=pentetx; tyleft+=pentety;
+          } else if (nbrightness<1) for (int x=xleft; x<=xright; ++x) {
+            const float invz = 1/zleft;
+            const tc *col = &texture._atXY((int)(txleft*invz),(int)(tyleft*invz));
+            cimg_forC(*this,c) {
+              *ptrd = (T)(nbrightness**col);
+              ptrd+=whd; col+=twh;
+            }
+            ptrd-=offx; zleft+=pentez; txleft+=pentetx; tyleft+=pentety;
+          } else for (int x = xleft; x<=xright; ++x) {
+            const float invz = 1/zleft;
+            const tc *col = &texture._atXY((int)(txleft*invz),(int)(tyleft*invz));
+            cimg_forC(*this,c) {
+              *ptrd = (T)((2 - nbrightness)**col + (nbrightness - 1)*maxval);
+              ptrd+=whd; col+=twh;
+            }
+            ptrd-=offx; zleft+=pentez; txleft+=pentetx; tyleft+=pentety;
+          }
+        } else {
+          if (nbrightness==1) for (int x = xleft; x<=xright; ++x) {
+            const float invz = 1/zleft;
+            const tc *col = &texture._atXY((int)(txleft*invz),(int)(tyleft*invz));
+            cimg_forC(*this,c) {
+              *ptrd = (T)(nopacity**col + *ptrd*copacity);
+              ptrd+=whd; col+=twh;
+            }
+            ptrd-=offx; zleft+=pentez; txleft+=pentetx; tyleft+=pentety;
+          } else if (nbrightness<1) for (int x = xleft; x<=xright; ++x) {
+            const float invz = 1/zleft;
+            const tc *col = &texture._atXY((int)(txleft*invz),(int)(tyleft*invz));
+            cimg_forC(*this,c) {
+              *ptrd = (T)(nopacity*nbrightness**col + *ptrd*copacity);
+              ptrd+=whd; col+=twh;
+            }
+            ptrd-=offx; zleft+=pentez; txleft+=pentetx; tyleft+=pentety;
+          } else for (int x = xleft; x<=xright; ++x) {
+            const float invz = 1/zleft;
+            const tc *col = &texture._atXY((int)(txleft*invz),(int)(tyleft*invz));
+            cimg_forC(*this,c) {
+              const T val = (T)((2 - nbrightness)**col + (nbrightness - 1)*maxval);
+              *ptrd = (T)(nopacity*val + *ptrd*copacity);
+              ptrd+=whd; col+=twh;
+            }
+            ptrd-=offx; zleft+=pentez; txleft+=pentetx; tyleft+=pentety;
+          }
+        }
+        zr+=pzr; txr+=ptxr; tyr+=ptyr; zl+=pzl; txl+=ptxl; tyl+=ptyl;
+      }
+      return *this;
+    }
+
+    //! Draw a textured 2d triangle, with perspective correction and z-buffering.
+    template<typename tz, typename tc>
+    CImg<T>& draw_triangle(CImg<tz>& zbuffer,
+                           const int x0, const int y0, const float z0,
+                           const int x1, const int y1, const float z1,
+                           const int x2, const int y2, const float z2,
+                           const CImg<tc>& texture,
+                           const int tx0, const int ty0,
+                           const int tx1, const int ty1,
+                           const int tx2, const int ty2,
+                           const float opacity=1,
+                           const float brightness=1) {
+      typedef typename cimg::superset<tz,float>::type tzfloat;
+      if (is_empty() || z0<=0 || z1<=0 || z2<=0) return *this;
+      if (!is_sameXY(zbuffer))
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Instance and specified Z-buffer (%u,%u,%u,%u,%p) have "
+                                    "different dimensions.",
+                                    cimg_instance,
+                                    zbuffer._width,zbuffer._height,zbuffer._depth,zbuffer._spectrum,zbuffer._data);
+
+      if (texture._depth>1 || texture._spectrum<_spectrum)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Invalid specified texture (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    texture._width,texture._height,texture._depth,texture._spectrum,texture._data);
+      if (is_overlapped(texture))
+        return draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,+texture,tx0,ty0,tx1,ty1,tx2,ty2,opacity,brightness);
+      static const T maxval = (T)cimg::min(cimg::type<T>::max(),cimg::type<tc>::max());
+      const float
+        nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0),
+        nbrightness = brightness<0?0:(brightness>2?2:brightness);
+      const unsigned long
+        whd = (unsigned long)_width*_height*_depth,
+        twh = (unsigned long)texture._width*texture._height,
+        offx = _spectrum*whd;
+      int nx0 = x0, ny0 = y0, nx1 = x1, ny1 = y1, nx2 = x2, ny2 = y2;
+      float
+        ntx0 = tx0/z0, nty0 = ty0/z0,
+        ntx1 = tx1/z1, nty1 = ty1/z1,
+        ntx2 = tx2/z2, nty2 = ty2/z2;
+      tzfloat nz0 = 1/(tzfloat)z0, nz1 = 1/(tzfloat)z1, nz2 = 1/(tzfloat)z2;
+      if (ny0>ny1) cimg::swap(nx0,nx1,ny0,ny1,ntx0,ntx1,nty0,nty1,nz0,nz1);
+      if (ny0>ny2) cimg::swap(nx0,nx2,ny0,ny2,ntx0,ntx2,nty0,nty2,nz0,nz2);
+      if (ny1>ny2) cimg::swap(nx1,nx2,ny1,ny2,ntx1,ntx2,nty1,nty2,nz1,nz2);
+      if (ny0>=height() || ny2<0) return *this;
+      float
+        ptxl = (ntx1 - ntx0)/(ny1 - ny0),
+        ptxr = (ntx2 - ntx0)/(ny2 - ny0),
+        ptxn = (ntx2 - ntx1)/(ny2 - ny1),
+        ptyl = (nty1 - nty0)/(ny1 - ny0),
+        ptyr = (nty2 - nty0)/(ny2 - ny0),
+        ptyn = (nty2 - nty1)/(ny2 - ny1),
+        txr = ny0>=0?ntx0:(ntx0 - ny0*(ntx2 - ntx0)/(ny2 - ny0)),
+        tyr = ny0>=0?nty0:(nty0 - ny0*(nty2 - nty0)/(ny2 - ny0)),
+        txl = ny1>=0?(ny0>=0?ntx0:(ntx0 - ny0*(ntx1 - ntx0)/(ny1 - ny0))):
+          (ptxl=ptxn,(ntx1 - ny1*(ntx2 - ntx1)/(ny2 - ny1))),
+        tyl = ny1>=0?(ny0>=0?nty0:(nty0 - ny0*(nty1 - nty0)/(ny1 - ny0))):
+          (ptyl=ptyn,(nty1 - ny1*(nty2 - nty1)/(ny2 - ny1)));
+      tzfloat
+        pzl = (nz1 - nz0)/(ny1 - ny0),
+        pzr = (nz2 - nz0)/(ny2 - ny0),
+        pzn = (nz2 - nz1)/(ny2 - ny1),
+        zr = ny0>=0?nz0:(nz0 - ny0*(nz2 - nz0)/(ny2 - ny0)),
+        zl = ny1>=0?(ny0>=0?nz0:(nz0 - ny0*(nz1 - nz0)/(ny1 - ny0))):(pzl=pzn,(nz1 - ny1*(nz2 - nz1)/(ny2 - ny1)));
+      _cimg_for_triangle1(*this,xleft0,xright0,y,nx0,ny0,nx1,ny1,nx2,ny2) {
+        if (y==ny1) { zl = nz1; txl = ntx1; tyl = nty1; pzl = pzn; ptxl = ptxn; ptyl = ptyn; }
+        int xleft = xleft0, xright = xright0;
+        float txleft = txl, txright = txr, tyleft = tyl, tyright = tyr;
+        tzfloat zleft = zl, zright = zr;
+        if (xright<xleft) cimg::swap(xleft,xright,zleft,zright,txleft,txright,tyleft,tyright);
+        const int dx = xright - xleft;
+        const float pentetx = (txright - txleft)/dx, pentety = (tyright - tyleft)/dx;
+        const tzfloat pentez = (zright - zleft)/dx;
+        if (xleft<0 && dx) {
+          zleft-=xleft*(zright - zleft)/dx;
+          txleft-=xleft*(txright - txleft)/dx;
+          tyleft-=xleft*(tyright - tyleft)/dx;
+        }
+        if (xleft<0) xleft = 0;
+        if (xright>=width() - 1) xright = width() - 1;
+        T *ptrd = data(xleft,y,0,0);
+        tz *ptrz = zbuffer.data(xleft,y);
+        if (opacity>=1) {
+          if (nbrightness==1) for (int x = xleft; x<=xright; ++x, ++ptrz, ++ptrd) {
+              if (zleft>=(tzfloat)*ptrz) {
+                *ptrz = (tz)zleft;
+                const tzfloat invz = 1/zleft;
+                const tc *col = &texture._atXY((int)(txleft*invz),(int)(tyleft*invz));
+                cimg_forC(*this,c) {
+                  *ptrd = (T)*col;
+                  ptrd+=whd; col+=twh;
+                }
+                ptrd-=offx;
+              }
+              zleft+=pentez; txleft+=pentetx; tyleft+=pentety;
+            } else if (nbrightness<1) for (int x = xleft; x<=xright; ++x, ++ptrz, ++ptrd) {
+              if (zleft>=(tzfloat)*ptrz) {
+                *ptrz = (tz)zleft;
+                const tzfloat invz = 1/zleft;
+                const tc *col = &texture._atXY((int)(txleft*invz),(int)(tyleft*invz));
+                cimg_forC(*this,c) {
+                  *ptrd = (T)(nbrightness**col);
+                  ptrd+=whd; col+=twh;
+                }
+                ptrd-=offx;
+              }
+              zleft+=pentez; txleft+=pentetx; tyleft+=pentety;
+            } else for (int x = xleft; x<=xright; ++x, ++ptrz, ++ptrd) {
+              if (zleft>=(tzfloat)*ptrz) {
+                *ptrz = (tz)zleft;
+                const tzfloat invz = 1/zleft;
+                const tc *col = &texture._atXY((int)(txleft*invz),(int)(tyleft*invz));
+                cimg_forC(*this,c) {
+                  *ptrd = (T)((2 - nbrightness)**col + (nbrightness - 1)*maxval);
+                  ptrd+=whd; col+=twh;
+                }
+                ptrd-=offx;
+              }
+              zleft+=pentez; txleft+=pentetx; tyleft+=pentety;
+            }
+        } else {
+          if (nbrightness==1) for (int x = xleft; x<=xright; ++x, ++ptrz, ++ptrd) {
+              if (zleft>=(tzfloat)*ptrz) {
+                *ptrz = (tz)zleft;
+                const tzfloat invz = 1/zleft;
+                const tc *col = &texture._atXY((int)(txleft*invz),(int)(tyleft*invz));
+                cimg_forC(*this,c) {
+                  *ptrd = (T)(nopacity**col + *ptrd*copacity);
+                  ptrd+=whd; col+=twh;
+                }
+                ptrd-=offx;
+              }
+              zleft+=pentez; txleft+=pentetx; tyleft+=pentety;
+            } else if (nbrightness<1) for (int x = xleft; x<=xright; ++x, ++ptrz, ++ptrd) {
+              if (zleft>=(tzfloat)*ptrz) {
+                *ptrz = (tz)zleft;
+                const tzfloat invz = 1/zleft;
+                const tc *col = &texture._atXY((int)(txleft*invz),(int)(tyleft*invz));
+                cimg_forC(*this,c) {
+                  *ptrd = (T)(nopacity*nbrightness**col + *ptrd*copacity);
+                  ptrd+=whd; col+=twh;
+                }
+                ptrd-=offx;
+              }
+              zleft+=pentez; txleft+=pentetx; tyleft+=pentety;
+            } else for (int x = xleft; x<=xright; ++x, ++ptrz, ++ptrd) {
+              if (zleft>=(tzfloat)*ptrz) {
+                *ptrz = (tz)zleft;
+                const tzfloat invz = 1/zleft;
+                const tc *col = &texture._atXY((int)(txleft*invz),(int)(tyleft*invz));
+                cimg_forC(*this,c) {
+                  const T val = (T)((2 - nbrightness)**col + (nbrightness - 1)*maxval);
+                  *ptrd = (T)(nopacity*val + *ptrd*copacity);
+                  ptrd+=whd; col+=twh;
+                }
+                ptrd-=offx;
+              }
+              zleft+=pentez; txleft+=pentetx; tyleft+=pentety;
+            }
+        }
+        zr+=pzr; txr+=ptxr; tyr+=ptyr; zl+=pzl; txl+=ptxl; tyl+=ptyl;
+      }
+      return *this;
+    }
+
+    //! Draw a Phong-shaded 2d triangle.
+    /**
+       \param x0 X-coordinate of the first vertex in the image instance.
+       \param y0 Y-coordinate of the first vertex in the image instance.
+       \param x1 X-coordinate of the second vertex in the image instance.
+       \param y1 Y-coordinate of the second vertex in the image instance.
+       \param x2 X-coordinate of the third vertex in the image instance.
+       \param y2 Y-coordinate of the third vertex in the image instance.
+       \param color Pointer to \c spectrum() consecutive values, defining the drawing color.
+       \param light Light image.
+       \param lx0 X-coordinate of the first vertex in the light image.
+       \param ly0 Y-coordinate of the first vertex in the light image.
+       \param lx1 X-coordinate of the second vertex in the light image.
+       \param ly1 Y-coordinate of the second vertex in the light image.
+       \param lx2 X-coordinate of the third vertex in the light image.
+       \param ly2 Y-coordinate of the third vertex in the light image.
+       \param opacity Drawing opacity.
+    **/
+    template<typename tc, typename tl>
+    CImg<T>& draw_triangle(const int x0, const int y0,
+                           const int x1, const int y1,
+                           const int x2, const int y2,
+                           const tc *const color,
+                           const CImg<tl>& light,
+                           const int lx0, const int ly0,
+                           const int lx1, const int ly1,
+                           const int lx2, const int ly2,
+                           const float opacity=1) {
+      if (is_empty()) return *this;
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Specified color is (null).",
+                                    cimg_instance);
+      if (light._depth>1 || light._spectrum<_spectrum)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Invalid specified light texture (%u,%u,%u,%u,%p).",
+                                    cimg_instance,light._width,light._height,light._depth,light._spectrum,light._data);
+      if (is_overlapped(light)) return draw_triangle(x0,y0,x1,y1,x2,y2,color,+light,lx0,ly0,lx1,ly1,lx2,ly2,opacity);
+      static const T maxval = (T)cimg::min(cimg::type<T>::max(),cimg::type<tc>::max());
+      const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+      int nx0 = x0, ny0 = y0, nx1 = x1, ny1 = y1, nx2 = x2, ny2 = y2,
+        nlx0 = lx0, nly0 = ly0, nlx1 = lx1, nly1 = ly1, nlx2 = lx2, nly2 = ly2;
+      const unsigned long
+        whd = (unsigned long)_width*_height*_depth,
+        lwh = (unsigned long)light._width*light._height,
+        offx = _spectrum*whd - 1;
+      if (ny0>ny1) cimg::swap(nx0,nx1,ny0,ny1,nlx0,nlx1,nly0,nly1);
+      if (ny0>ny2) cimg::swap(nx0,nx2,ny0,ny2,nlx0,nlx2,nly0,nly2);
+      if (ny1>ny2) cimg::swap(nx1,nx2,ny1,ny2,nlx1,nlx2,nly1,nly2);
+      if (ny0>=height() || ny2<0) return *this;
+      _cimg_for_triangle3(*this,xleft0,lxleft0,lyleft0,xright0,lxright0,lyright0,y,
+                          nx0,ny0,nlx0,nly0,nx1,ny1,nlx1,nly1,nx2,ny2,nlx2,nly2) {
+        int
+          xleft = xleft0, xright = xright0,
+          lxleft = lxleft0, lxright = lxright0,
+          lyleft = lyleft0, lyright = lyright0;
+        if (xright<xleft) cimg::swap(xleft,xright,lxleft,lxright,lyleft,lyright);
+        const int
+          dx = xright - xleft,
+          dlx = lxright>lxleft?lxright - lxleft:lxleft - lxright,
+          dly = lyright>lyleft?lyright - lyleft:lyleft - lyright,
+          rlx = dx?(lxright - lxleft)/dx:0,
+          rly = dx?(lyright - lyleft)/dx:0,
+          slx = lxright>lxleft?1:-1,
+          sly = lyright>lyleft?1:-1,
+          ndlx = dlx - (dx?dx*(dlx/dx):0),
+          ndly = dly - (dx?dx*(dly/dx):0);
+        int errlx = dx>>1, errly = errlx;
+        if (xleft<0 && dx) {
+          lxleft-=xleft*(lxright - lxleft)/dx;
+          lyleft-=xleft*(lyright - lyleft)/dx;
+        }
+        if (xleft<0) xleft = 0;
+        if (xright>=width() - 1) xright = width() - 1;
+        T* ptrd = data(xleft,y,0,0);
+        if (opacity>=1) for (int x = xleft; x<=xright; ++x) {
+          const tc *col = color;
+          const tl *lig = &light._atXY(lxleft,lyleft);
+          cimg_forC(*this,c) {
+            const tl l = *lig;
+            *ptrd = (T)(l<1?l**(col++):((2 - l)**(col++) + (l - 1)*maxval));
+            ptrd+=whd; lig+=lwh;
+          }
+          ptrd-=offx;
+          lxleft+=rlx+((errlx-=ndlx)<0?errlx+=dx,slx:0);
+          lyleft+=rly+((errly-=ndly)<0?errly+=dx,sly:0);
+        } else  for (int x = xleft; x<=xright; ++x) {
+          const tc *col = color;
+          const tl *lig = &light._atXY(lxleft,lyleft);
+          cimg_forC(*this,c) {
+            const tl l = *lig;
+            const T val = (T)(l<1?l**(col++):((2 - l)**(col++) + (l - 1)*maxval));
+            *ptrd = (T)(nopacity*val + *ptrd*copacity);
+            ptrd+=whd; lig+=lwh;
+          }
+          ptrd-=offx;
+          lxleft+=rlx+((errlx-=ndlx)<0?errlx+=dx,slx:0);
+          lyleft+=rly+((errly-=ndly)<0?errly+=dx,sly:0);
+        }
+      }
+      return *this;
+    }
+
+    //! Draw a Phong-shaded 2d triangle, with z-buffering.
+    template<typename tz, typename tc, typename tl>
+    CImg<T>& draw_triangle(CImg<tz>& zbuffer,
+                           const int x0, const int y0, const float z0,
+                           const int x1, const int y1, const float z1,
+                           const int x2, const int y2, const float z2,
+                           const tc *const color,
+                           const CImg<tl>& light,
+                           const int lx0, const int ly0,
+                           const int lx1, const int ly1,
+                           const int lx2, const int ly2,
+                           const float opacity=1) {
+      typedef typename cimg::superset<tz,float>::type tzfloat;
+      if (is_empty() || z0<=0 || z1<=0 || z2<=0) return *this;
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Specified color is (null).",
+                                    cimg_instance);
+      if (light._depth>1 || light._spectrum<_spectrum)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Invalid specified light texture (%u,%u,%u,%u,%p).",
+                                    cimg_instance,light._width,light._height,light._depth,light._spectrum,light._data);
+      if (!is_sameXY(zbuffer))
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Instance and specified Z-buffer (%u,%u,%u,%u,%p) have "
+                                    "different dimensions.",
+                                    cimg_instance,
+                                    zbuffer._width,zbuffer._height,zbuffer._depth,zbuffer._spectrum,zbuffer._data);
+      if (is_overlapped(light)) return draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,color,
+                                                     +light,lx0,ly0,lx1,ly1,lx2,ly2,opacity);
+      static const T maxval = (T)cimg::min(cimg::type<T>::max(),cimg::type<tc>::max());
+      const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+      const unsigned long
+        whd = (unsigned long)_width*_height*_depth,
+        lwh = (unsigned long)light._width*light._height,
+        offx = _spectrum*whd;
+      int nx0 = x0, ny0 = y0, nx1 = x1, ny1 = y1, nx2 = x2, ny2 = y2,
+        nlx0 = lx0, nly0 = ly0, nlx1 = lx1, nly1 = ly1, nlx2 = lx2, nly2 = ly2;
+      tzfloat nz0 = 1/(tzfloat)z0, nz1 = 1/(tzfloat)z1, nz2 = 1/(tzfloat)z2;
+      if (ny0>ny1) cimg::swap(nx0,nx1,ny0,ny1,nlx0,nlx1,nly0,nly1,nz0,nz1);
+      if (ny0>ny2) cimg::swap(nx0,nx2,ny0,ny2,nlx0,nlx2,nly0,nly2,nz0,nz2);
+      if (ny1>ny2) cimg::swap(nx1,nx2,ny1,ny2,nlx1,nlx2,nly1,nly2,nz1,nz2);
+      if (ny0>=height() || ny2<0) return *this;
+      tzfloat
+        pzl = (nz1 - nz0)/(ny1 - ny0),
+        pzr = (nz2 - nz0)/(ny2 - ny0),
+        pzn = (nz2 - nz1)/(ny2 - ny1),
+        zr = ny0>=0?nz0:(nz0 - ny0*(nz2 - nz0)/(ny2 - ny0)),
+        zl = ny1>=0?(ny0>=0?nz0:(nz0 - ny0*(nz1 - nz0)/(ny1 - ny0))):(pzl=pzn,(nz1 - ny1*(nz2 - nz1)/(ny2 - ny1)));
+      _cimg_for_triangle3(*this,xleft0,lxleft0,lyleft0,xright0,lxright0,lyright0,y,
+                          nx0,ny0,nlx0,nly0,nx1,ny1,nlx1,nly1,nx2,ny2,nlx2,nly2) {
+        if (y==ny1) { zl = nz1; pzl = pzn; }
+        int
+          xleft = xleft0, xright = xright0,
+          lxleft = lxleft0, lxright = lxright0,
+          lyleft = lyleft0, lyright = lyright0;
+        tzfloat zleft = zl, zright = zr;
+        if (xright<xleft) cimg::swap(xleft,xright,zleft,zright,lxleft,lxright,lyleft,lyright);
+        const int
+          dx = xright - xleft,
+          dlx = lxright>lxleft?lxright - lxleft:lxleft - lxright,
+          dly = lyright>lyleft?lyright - lyleft:lyleft - lyright,
+          rlx = dx?(lxright - lxleft)/dx:0,
+          rly = dx?(lyright - lyleft)/dx:0,
+          slx = lxright>lxleft?1:-1,
+          sly = lyright>lyleft?1:-1,
+          ndlx = dlx - (dx?dx*(dlx/dx):0),
+          ndly = dly - (dx?dx*(dly/dx):0);
+        const tzfloat pentez = (zright - zleft)/dx;
+        int errlx = dx>>1, errly = errlx;
+        if (xleft<0 && dx) {
+          zleft-=xleft*(zright - zleft)/dx;
+          lxleft-=xleft*(lxright - lxleft)/dx;
+          lyleft-=xleft*(lyright - lyleft)/dx;
+        }
+        if (xleft<0) xleft = 0;
+        if (xright>=width() - 1) xright = width() - 1;
+        T *ptrd = data(xleft,y,0,0);
+        tz *ptrz = xleft<=xright?zbuffer.data(xleft,y):0;
+        if (opacity>=1) for (int x = xleft; x<=xright; ++x, ++ptrz, ++ptrd) {
+            if (zleft>=(tzfloat)*ptrz) {
+              *ptrz = (tz)zleft;
+              const tc *col = color;
+              const tl *lig = &light._atXY(lxleft,lyleft);
+              cimg_forC(*this,c) {
+                const tl l = *lig;
+                const tc cval = *(col++);
+                *ptrd = (T)(l<1?l*cval:(2 - l)*cval + (l - 1)*maxval);
+                ptrd+=whd; lig+=lwh;
+              }
+              ptrd-=offx;
+            }
+            zleft+=pentez;
+            lxleft+=rlx+((errlx-=ndlx)<0?errlx+=dx,slx:0);
+            lyleft+=rly+((errly-=ndly)<0?errly+=dx,sly:0);
+          } else for (int x = xleft; x<=xright; ++x, ++ptrz, ++ptrd) {
+            if (zleft>=(tzfloat)*ptrz) {
+              *ptrz = (tz)zleft;
+              const tc *col = color;
+              const tl *lig = &light._atXY(lxleft,lyleft);
+              cimg_forC(*this,c) {
+                const tl l = *lig;
+                const tc cval = *(col++);
+                const T val = (T)(l<1?l*cval:(2 - l)*cval + (l - 1)*maxval);
+                *ptrd = (T)(nopacity*val + *ptrd*copacity);
+                ptrd+=whd; lig+=lwh;
+              }
+              ptrd-=offx;
+            }
+            zleft+=pentez;
+            lxleft+=rlx+((errlx-=ndlx)<0?errlx+=dx,slx:0);
+            lyleft+=rly+((errly-=ndly)<0?errly+=dx,sly:0);
+          }
+        zr+=pzr; zl+=pzl;
+      }
+      return *this;
+    }
+
+    //! Draw a textured Gouraud-shaded 2d triangle.
+    /**
+       \param x0 X-coordinate of the first vertex in the image instance.
+       \param y0 Y-coordinate of the first vertex in the image instance.
+       \param x1 X-coordinate of the second vertex in the image instance.
+       \param y1 Y-coordinate of the second vertex in the image instance.
+       \param x2 X-coordinate of the third vertex in the image instance.
+       \param y2 Y-coordinate of the third vertex in the image instance.
+       \param texture Texture image used to fill the triangle.
+       \param tx0 X-coordinate of the first vertex in the texture image.
+       \param ty0 Y-coordinate of the first vertex in the texture image.
+       \param tx1 X-coordinate of the second vertex in the texture image.
+       \param ty1 Y-coordinate of the second vertex in the texture image.
+       \param tx2 X-coordinate of the third vertex in the texture image.
+       \param ty2 Y-coordinate of the third vertex in the texture image.
+       \param brightness0 Brightness factor of the first vertex.
+       \param brightness1 Brightness factor of the second vertex.
+       \param brightness2 Brightness factor of the third vertex.
+       \param opacity Drawing opacity.
+    **/
+    template<typename tc>
+    CImg<T>& draw_triangle(const int x0, const int y0,
+                           const int x1, const int y1,
+                           const int x2, const int y2,
+                           const CImg<tc>& texture,
+                           const int tx0, const int ty0,
+                           const int tx1, const int ty1,
+                           const int tx2, const int ty2,
+                           const float brightness0,
+                           const float brightness1,
+                           const float brightness2,
+                           const float opacity=1) {
+      if (is_empty()) return *this;
+      if (texture._depth>1 || texture._spectrum<_spectrum)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Invalid specified texture (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    texture._width,texture._height,texture._depth,texture._spectrum,texture._data);
+      if (is_overlapped(texture))
+        return draw_triangle(x0,y0,x1,y1,x2,y2,+texture,tx0,ty0,tx1,ty1,tx2,ty2,
+                             brightness0,brightness1,brightness2,opacity);
+      static const T maxval = (T)cimg::min(cimg::type<T>::max(),cimg::type<tc>::max());
+      const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+      const unsigned long
+        whd = (unsigned long)_width*_height*_depth,
+        twh = (unsigned long)texture._width*texture._height,
+        offx = _spectrum*whd - 1;
+      int nx0 = x0, ny0 = y0, nx1 = x1, ny1 = y1, nx2 = x2, ny2 = y2,
+        ntx0 = tx0, nty0 = ty0, ntx1 = tx1, nty1 = ty1, ntx2 = tx2, nty2 = ty2,
+        nc0 = (int)((brightness0<0.0f?0.0f:(brightness0>2.0f?2.0f:brightness0))*256.0f),
+        nc1 = (int)((brightness1<0.0f?0.0f:(brightness1>2.0f?2.0f:brightness1))*256.0f),
+        nc2 = (int)((brightness2<0.0f?0.0f:(brightness2>2.0f?2.0f:brightness2))*256.0f);
+      if (ny0>ny1) cimg::swap(nx0,nx1,ny0,ny1,ntx0,ntx1,nty0,nty1,nc0,nc1);
+      if (ny0>ny2) cimg::swap(nx0,nx2,ny0,ny2,ntx0,ntx2,nty0,nty2,nc0,nc2);
+      if (ny1>ny2) cimg::swap(nx1,nx2,ny1,ny2,ntx1,ntx2,nty1,nty2,nc1,nc2);
+      if (ny0>=height() || ny2<0) return *this;
+      _cimg_for_triangle4(*this,xleft0,cleft0,txleft0,tyleft0,xright0,cright0,txright0,tyright0,y,
+                          nx0,ny0,nc0,ntx0,nty0,nx1,ny1,nc1,ntx1,nty1,nx2,ny2,nc2,ntx2,nty2) {
+        int
+          xleft = xleft0, xright = xright0,
+          cleft = cleft0, cright = cright0,
+          txleft = txleft0, txright = txright0,
+          tyleft = tyleft0, tyright = tyright0;
+        if (xright<xleft) cimg::swap(xleft,xright,cleft,cright,txleft,txright,tyleft,tyright);
+        const int
+          dx = xright - xleft,
+          dc = cright>cleft?cright - cleft:cleft - cright,
+          dtx = txright>txleft?txright - txleft:txleft - txright,
+          dty = tyright>tyleft?tyright - tyleft:tyleft - tyright,
+          rc = dx?(cright - cleft)/dx:0,
+          rtx = dx?(txright - txleft)/dx:0,
+          rty = dx?(tyright - tyleft)/dx:0,
+          sc = cright>cleft?1:-1,
+          stx = txright>txleft?1:-1,
+          sty = tyright>tyleft?1:-1,
+          ndc = dc - (dx?dx*(dc/dx):0),
+          ndtx = dtx - (dx?dx*(dtx/dx):0),
+          ndty = dty - (dx?dx*(dty/dx):0);
+        int errc = dx>>1, errtx = errc, errty = errc;
+        if (xleft<0 && dx) {
+          cleft-=xleft*(cright - cleft)/dx;
+          txleft-=xleft*(txright - txleft)/dx;
+          tyleft-=xleft*(tyright - tyleft)/dx;
+        }
+        if (xleft<0) xleft = 0;
+        if (xright>=width() - 1) xright = width() - 1;
+        T* ptrd = data(xleft,y,0,0);
+        if (opacity>=1) for (int x = xleft; x<=xright; ++x) {
+          const tc *col = &texture._atXY(txleft,tyleft);
+          cimg_forC(*this,c) {
+            *ptrd = (T)(cleft<256?cleft**col/256:((512 - cleft)**col + (cleft - 256)*maxval)/256);
+            ptrd+=whd; col+=twh;
+          }
+          ptrd-=offx;
+          cleft+=rc+((errc-=ndc)<0?errc+=dx,sc:0);
+          txleft+=rtx+((errtx-=ndtx)<0?errtx+=dx,stx:0);
+          tyleft+=rty+((errty-=ndty)<0?errty+=dx,sty:0);
+        } else for (int x = xleft; x<=xright; ++x) {
+          const tc *col = &texture._atXY(txleft,tyleft);
+          cimg_forC(*this,c) {
+            const T val = (T)(cleft<256?cleft**col/256:((512 - cleft)**col + (cleft - 256)*maxval)/256);
+            *ptrd = (T)(nopacity*val + *ptrd*copacity);
+            ptrd+=whd; col+=twh;
+          }
+          ptrd-=offx;
+          cleft+=rc+((errc-=ndc)<0?errc+=dx,sc:0);
+          txleft+=rtx+((errtx-=ndtx)<0?errtx+=dx,stx:0);
+          tyleft+=rty+((errty-=ndty)<0?errty+=dx,sty:0);
+        }
+      }
+      return *this;
+    }
+
+    //! Draw a textured Gouraud-shaded 2d triangle, with perspective correction \overloading.
+    template<typename tc>
+    CImg<T>& draw_triangle(const int x0, const int y0, const float z0,
+                           const int x1, const int y1, const float z1,
+                           const int x2, const int y2, const float z2,
+                           const CImg<tc>& texture,
+                           const int tx0, const int ty0,
+                           const int tx1, const int ty1,
+                           const int tx2, const int ty2,
+                           const float brightness0,
+                           const float brightness1,
+                           const float brightness2,
+                           const float opacity=1) {
+      if (is_empty() || z0<=0 || z1<=0 || z2<=0) return *this;
+      if (texture._depth>1 || texture._spectrum<_spectrum)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Invalid specified texture (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    texture._width,texture._height,texture._depth,texture._spectrum,texture._data);
+      if (is_overlapped(texture)) return draw_triangle(x0,y0,z0,x1,y1,z1,x2,y2,z2,+texture,tx0,ty0,tx1,ty1,tx2,ty2,
+                                                       brightness0,brightness1,brightness2,opacity);
+      static const T maxval = (T)cimg::min(cimg::type<T>::max(),cimg::type<tc>::max());
+      const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+      const unsigned long
+        whd = (unsigned long)_width*_height*_depth,
+        twh = (unsigned long)texture._width*texture._height,
+        offx = _spectrum*whd - 1;
+      int nx0 = x0, ny0 = y0, nx1 = x1, ny1 = y1, nx2 = x2, ny2 = y2,
+        nc0 = (int)((brightness0<0.0f?0.0f:(brightness0>2.0f?2.0f:brightness0))*256.0f),
+        nc1 = (int)((brightness1<0.0f?0.0f:(brightness1>2.0f?2.0f:brightness1))*256.0f),
+        nc2 = (int)((brightness2<0.0f?0.0f:(brightness2>2.0f?2.0f:brightness2))*256.0f);
+      float
+        ntx0 = tx0/z0, nty0 = ty0/z0,
+        ntx1 = tx1/z1, nty1 = ty1/z1,
+        ntx2 = tx2/z2, nty2 = ty2/z2,
+        nz0 = 1/z0, nz1 = 1/z1, nz2 = 1/z2;
+      if (ny0>ny1) cimg::swap(nx0,nx1,ny0,ny1,ntx0,ntx1,nty0,nty1,nz0,nz1,nc0,nc1);
+      if (ny0>ny2) cimg::swap(nx0,nx2,ny0,ny2,ntx0,ntx2,nty0,nty2,nz0,nz2,nc0,nc2);
+      if (ny1>ny2) cimg::swap(nx1,nx2,ny1,ny2,ntx1,ntx2,nty1,nty2,nz1,nz2,nc1,nc2);
+      if (ny0>=height() || ny2<0) return *this;
+      float
+        ptxl = (ntx1 - ntx0)/(ny1 - ny0),
+        ptxr = (ntx2 - ntx0)/(ny2 - ny0),
+        ptxn = (ntx2 - ntx1)/(ny2 - ny1),
+        ptyl = (nty1 - nty0)/(ny1 - ny0),
+        ptyr = (nty2 - nty0)/(ny2 - ny0),
+        ptyn = (nty2 - nty1)/(ny2 - ny1),
+        pzl = (nz1 - nz0)/(ny1 - ny0),
+        pzr = (nz2 - nz0)/(ny2 - ny0),
+        pzn = (nz2 - nz1)/(ny2 - ny1),
+        zr = ny0>=0?nz0:(nz0 - ny0*(nz2 - nz0)/(ny2 - ny0)),
+        txr = ny0>=0?ntx0:(ntx0 - ny0*(ntx2 - ntx0)/(ny2 - ny0)),
+        tyr = ny0>=0?nty0:(nty0 - ny0*(nty2 - nty0)/(ny2 - ny0)),
+        zl = ny1>=0?(ny0>=0?nz0:(nz0 - ny0*(nz1 - nz0)/(ny1 - ny0))):(pzl=pzn,(nz1 - ny1*(nz2 - nz1)/(ny2 - ny1))),
+        txl = ny1>=0?(ny0>=0?ntx0:(ntx0 - ny0*(ntx1 - ntx0)/(ny1 - ny0))):
+          (ptxl=ptxn,(ntx1 - ny1*(ntx2 - ntx1)/(ny2 - ny1))),
+        tyl = ny1>=0?(ny0>=0?nty0:(nty0 - ny0*(nty1 - nty0)/(ny1 - ny0))):
+          (ptyl=ptyn,(nty1 - ny1*(nty2 - nty1)/(ny2 - ny1)));
+      _cimg_for_triangle2(*this,xleft0,cleft0,xright0,cright0,y,nx0,ny0,nc0,nx1,ny1,nc1,nx2,ny2,nc2) {
+        if (y==ny1) { zl = nz1; txl = ntx1; tyl = nty1; pzl = pzn; ptxl = ptxn; ptyl = ptyn; }
+        int
+          xleft = xleft0, xright = xright0,
+          cleft = cleft0, cright = cright0;
+        float
+          zleft = zl, zright = zr,
+          txleft = txl, txright = txr,
+          tyleft = tyl, tyright = tyr;
+        if (xright<xleft) cimg::swap(xleft,xright,zleft,zright,txleft,txright,tyleft,tyright,cleft,cright);
+        const int
+          dx = xright - xleft,
+          dc = cright>cleft?cright - cleft:cleft - cright,
+          rc = dx?(cright - cleft)/dx:0,
+          sc = cright>cleft?1:-1,
+          ndc = dc - (dx?dx*(dc/dx):0);
+        const float
+          pentez = (zright - zleft)/dx,
+          pentetx = (txright - txleft)/dx,
+          pentety = (tyright - tyleft)/dx;
+        int errc = dx>>1;
+        if (xleft<0 && dx) {
+          cleft-=xleft*(cright - cleft)/dx;
+          zleft-=xleft*(zright - zleft)/dx;
+          txleft-=xleft*(txright - txleft)/dx;
+          tyleft-=xleft*(tyright - tyleft)/dx;
+        }
+        if (xleft<0) xleft = 0;
+        if (xright>=width() - 1) xright = width() - 1;
+        T* ptrd = data(xleft,y,0,0);
+        if (opacity>=1) for (int x = xleft; x<=xright; ++x) {
+          const float invz = 1/zleft;
+          const tc *col = &texture._atXY((int)(txleft*invz),(int)(tyleft*invz));
+          cimg_forC(*this,c) {
+            *ptrd = (T)(cleft<256?cleft**col/256:((512 - cleft)**col + (cleft - 256)*maxval)/256);
+            ptrd+=whd; col+=twh;
+          }
+          ptrd-=offx; zleft+=pentez; txleft+=pentetx; tyleft+=pentety;
+          cleft+=rc+((errc-=ndc)<0?errc+=dx,sc:0);
+        } else for (int x = xleft; x<=xright; ++x) {
+          const float invz = 1/zleft;
+          const tc *col = &texture._atXY((int)(txleft*invz),(int)(tyleft*invz));
+          cimg_forC(*this,c) {
+            const T val = (T)(cleft<256?cleft**col/256:((512 - cleft)**col + (cleft - 256)*maxval)/256);
+            *ptrd = (T)(nopacity*val + *ptrd*copacity);
+            ptrd+=whd; col+=twh;
+          }
+          ptrd-=offx; zleft+=pentez; txleft+=pentetx; tyleft+=pentety;
+          cleft+=rc+((errc-=ndc)<0?errc+=dx,sc:0);
+        }
+        zr+=pzr; txr+=ptxr; tyr+=ptyr; zl+=pzl; txl+=ptxl; tyl+=ptyl;
+      }
+      return *this;
+    }
+
+    //! Draw a textured Gouraud-shaded 2d triangle, with perspective correction and z-buffering \overloading.
+    template<typename tz, typename tc>
+    CImg<T>& draw_triangle(CImg<tz>& zbuffer,
+                           const int x0, const int y0, const float z0,
+                           const int x1, const int y1, const float z1,
+                           const int x2, const int y2, const float z2,
+                           const CImg<tc>& texture,
+                           const int tx0, const int ty0,
+                           const int tx1, const int ty1,
+                           const int tx2, const int ty2,
+                           const float brightness0,
+                           const float brightness1,
+                           const float brightness2,
+                           const float opacity=1) {
+      typedef typename cimg::superset<tz,float>::type tzfloat;
+      if (is_empty() || z0<=0 || z1<=0 || z2<=0) return *this;
+      if (!is_sameXY(zbuffer))
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Instance and specified Z-buffer (%u,%u,%u,%u,%p) have "
+                                    "different dimensions.",
+                                    cimg_instance,
+                                    zbuffer._width,zbuffer._height,zbuffer._depth,zbuffer._spectrum,zbuffer._data);
+      if (texture._depth>1 || texture._spectrum<_spectrum)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Invalid specified texture (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    texture._width,texture._height,texture._depth,texture._spectrum,texture._data);
+      if (is_overlapped(texture))
+        return draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,+texture,tx0,ty0,tx1,ty1,tx2,ty2,
+                                                       brightness0,brightness1,brightness2,opacity);
+      static const T maxval = (T)cimg::min(cimg::type<T>::max(),cimg::type<tc>::max());
+      const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+      const unsigned long
+        whd = (unsigned long)_width*_height*_depth,
+        twh = (unsigned long)texture._width*texture._height,
+        offx = _spectrum*whd;
+      int nx0 = x0, ny0 = y0, nx1 = x1, ny1 = y1, nx2 = x2, ny2 = y2,
+        nc0 = (int)((brightness0<0.0f?0.0f:(brightness0>2.0f?2.0f:brightness0))*256.0f),
+        nc1 = (int)((brightness1<0.0f?0.0f:(brightness1>2.0f?2.0f:brightness1))*256.0f),
+        nc2 = (int)((brightness2<0.0f?0.0f:(brightness2>2.0f?2.0f:brightness2))*256.0f);
+      float
+        ntx0 = tx0/z0, nty0 = ty0/z0,
+        ntx1 = tx1/z1, nty1 = ty1/z1,
+        ntx2 = tx2/z2, nty2 = ty2/z2;
+      tzfloat nz0 = 1/(tzfloat)z0, nz1 = 1/(tzfloat)z1, nz2 = 1/(tzfloat)z2;
+      if (ny0>ny1) cimg::swap(nx0,nx1,ny0,ny1,ntx0,ntx1,nty0,nty1,nz0,nz1,nc0,nc1);
+      if (ny0>ny2) cimg::swap(nx0,nx2,ny0,ny2,ntx0,ntx2,nty0,nty2,nz0,nz2,nc0,nc2);
+      if (ny1>ny2) cimg::swap(nx1,nx2,ny1,ny2,ntx1,ntx2,nty1,nty2,nz1,nz2,nc1,nc2);
+      if (ny0>=height() || ny2<0) return *this;
+      float
+        ptxl = (ntx1 - ntx0)/(ny1 - ny0),
+        ptxr = (ntx2 - ntx0)/(ny2 - ny0),
+        ptxn = (ntx2 - ntx1)/(ny2 - ny1),
+        ptyl = (nty1 - nty0)/(ny1 - ny0),
+        ptyr = (nty2 - nty0)/(ny2 - ny0),
+        ptyn = (nty2 - nty1)/(ny2 - ny1),
+        txr = ny0>=0?ntx0:(ntx0 - ny0*(ntx2 - ntx0)/(ny2 - ny0)),
+        tyr = ny0>=0?nty0:(nty0 - ny0*(nty2 - nty0)/(ny2 - ny0)),
+        txl = ny1>=0?(ny0>=0?ntx0:(ntx0 - ny0*(ntx1 - ntx0)/(ny1 - ny0))):
+          (ptxl=ptxn,(ntx1 - ny1*(ntx2 - ntx1)/(ny2 - ny1))),
+        tyl = ny1>=0?(ny0>=0?nty0:(nty0 - ny0*(nty1 - nty0)/(ny1 - ny0))):
+          (ptyl=ptyn,(nty1 - ny1*(nty2 - nty1)/(ny2 - ny1)));
+      tzfloat
+        pzl = (nz1 - nz0)/(ny1 - ny0),
+        pzr = (nz2 - nz0)/(ny2 - ny0),
+        pzn = (nz2 - nz1)/(ny2 - ny1),
+        zr = ny0>=0?nz0:(nz0 - ny0*(nz2 - nz0)/(ny2 - ny0)),
+        zl = ny1>=0?(ny0>=0?nz0:(nz0 - ny0*(nz1 - nz0)/(ny1 - ny0))):(pzl=pzn,(nz1 - ny1*(nz2 - nz1)/(ny2 - ny1)));
+      _cimg_for_triangle2(*this,xleft0,cleft0,xright0,cright0,y,nx0,ny0,nc0,nx1,ny1,nc1,nx2,ny2,nc2) {
+        if (y==ny1) { zl = nz1; txl = ntx1; tyl = nty1; pzl = pzn; ptxl = ptxn; ptyl = ptyn; }
+        int xleft = xleft0, xright = xright0, cleft = cleft0, cright = cright0;
+        float txleft = txl, txright = txr, tyleft = tyl, tyright = tyr;
+        tzfloat zleft = zl, zright = zr;
+        if (xright<xleft) cimg::swap(xleft,xright,zleft,zright,txleft,txright,tyleft,tyright,cleft,cright);
+        const int
+          dx = xright - xleft,
+          dc = cright>cleft?cright - cleft:cleft - cright,
+          rc = dx?(cright - cleft)/dx:0,
+          sc = cright>cleft?1:-1,
+          ndc = dc - (dx?dx*(dc/dx):0);
+        float pentetx = (txright - txleft)/dx, pentety = (tyright - tyleft)/dx;
+        const tzfloat pentez = (zright - zleft)/dx;
+        int errc = dx>>1;
+        if (xleft<0 && dx) {
+          cleft-=xleft*(cright - cleft)/dx;
+          zleft-=xleft*(zright - zleft)/dx;
+          txleft-=xleft*(txright - txleft)/dx;
+          tyleft-=xleft*(tyright - tyleft)/dx;
+        }
+        if (xleft<0) xleft = 0;
+        if (xright>=width() - 1) xright = width() - 1;
+        T* ptrd = data(xleft,y);
+        tz *ptrz = zbuffer.data(xleft,y);
+        if (opacity>=1) for (int x = xleft; x<=xright; ++x, ++ptrd, ++ptrz) {
+            if (zleft>=(tzfloat)*ptrz) {
+              *ptrz = (tz)zleft;
+              const tzfloat invz = 1/zleft;
+              const tc *col = &texture._atXY((int)(txleft*invz),(int)(tyleft*invz));
+              cimg_forC(*this,c) {
+                *ptrd = (T)(cleft<256?cleft**col/256:((512 - cleft)**col + (cleft - 256)*maxval)/256);
+                ptrd+=whd; col+=twh;
+              }
+              ptrd-=offx;
+            }
+            zleft+=pentez; txleft+=pentetx; tyleft+=pentety;
+            cleft+=rc+((errc-=ndc)<0?errc+=dx,sc:0);
+          } else for (int x = xleft; x<=xright; ++x, ++ptrd, ++ptrz) {
+            if (zleft>=(tzfloat)*ptrz) {
+              *ptrz = (tz)zleft;
+              const tzfloat invz = 1/zleft;
+              const tc *col = &texture._atXY((int)(txleft*invz),(int)(tyleft*invz));
+              cimg_forC(*this,c) {
+                const T val = (T)(cleft<256?cleft**col/256:((512 - cleft)**col + (cleft - 256)*maxval)/256);
+                *ptrd = (T)(nopacity*val + *ptrd*copacity);
+                ptrd+=whd; col+=twh;
+              }
+              ptrd-=offx;
+            }
+            zleft+=pentez; txleft+=pentetx; tyleft+=pentety;
+            cleft+=rc+((errc-=ndc)<0?errc+=dx,sc:0);
+          }
+        zr+=pzr; txr+=ptxr; tyr+=ptyr; zl+=pzl; txl+=ptxl; tyl+=ptyl;
+      }
+      return *this;
+    }
+
+    //! Draw a textured Phong-shaded 2d triangle.
+    /**
+       \param x0 X-coordinate of the first vertex in the image instance.
+       \param y0 Y-coordinate of the first vertex in the image instance.
+       \param x1 X-coordinate of the second vertex in the image instance.
+       \param y1 Y-coordinate of the second vertex in the image instance.
+       \param x2 X-coordinate of the third vertex in the image instance.
+       \param y2 Y-coordinate of the third vertex in the image instance.
+       \param texture Texture image used to fill the triangle.
+       \param tx0 X-coordinate of the first vertex in the texture image.
+       \param ty0 Y-coordinate of the first vertex in the texture image.
+       \param tx1 X-coordinate of the second vertex in the texture image.
+       \param ty1 Y-coordinate of the second vertex in the texture image.
+       \param tx2 X-coordinate of the third vertex in the texture image.
+       \param ty2 Y-coordinate of the third vertex in the texture image.
+       \param light Light image.
+       \param lx0 X-coordinate of the first vertex in the light image.
+       \param ly0 Y-coordinate of the first vertex in the light image.
+       \param lx1 X-coordinate of the second vertex in the light image.
+       \param ly1 Y-coordinate of the second vertex in the light image.
+       \param lx2 X-coordinate of the third vertex in the light image.
+       \param ly2 Y-coordinate of the third vertex in the light image.
+       \param opacity Drawing opacity.
+    **/
+    template<typename tc, typename tl>
+    CImg<T>& draw_triangle(const int x0, const int y0,
+                           const int x1, const int y1,
+                           const int x2, const int y2,
+                           const CImg<tc>& texture,
+                           const int tx0, const int ty0,
+                           const int tx1, const int ty1,
+                           const int tx2, const int ty2,
+                           const CImg<tl>& light,
+                           const int lx0, const int ly0,
+                           const int lx1, const int ly1,
+                           const int lx2, const int ly2,
+                           const float opacity=1) {
+      if (is_empty()) return *this;
+      if (texture._depth>1 || texture._spectrum<_spectrum)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Invalid specified texture (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    texture._width,texture._height,texture._depth,texture._spectrum,texture._data);
+      if (light._depth>1 || light._spectrum<_spectrum)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Invalid specified light texture (%u,%u,%u,%u,%p).",
+                                    cimg_instance,light._width,light._height,light._depth,light._spectrum,light._data);
+      if (is_overlapped(texture))
+        return draw_triangle(x0,y0,x1,y1,x2,y2,+texture,tx0,ty0,tx1,ty1,tx2,ty2,light,lx0,ly0,lx1,ly1,lx2,ly2,opacity);
+      if (is_overlapped(light))
+        return draw_triangle(x0,y0,x1,y1,x2,y2,texture,tx0,ty0,tx1,ty1,tx2,ty2,+light,lx0,ly0,lx1,ly1,lx2,ly2,opacity);
+      static const T maxval = (T)cimg::min(cimg::type<T>::max(),cimg::type<tc>::max());
+      const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+      const unsigned long
+        whd = (unsigned long)_width*_height*_depth,
+        twh = (unsigned long)texture._width*texture._height,
+        lwh = (unsigned long)light._width*light._height,
+        offx = _spectrum*whd - 1;
+      int nx0 = x0, ny0 = y0, nx1 = x1, ny1 = y1, nx2 = x2, ny2 = y2,
+        ntx0 = tx0, nty0 = ty0, ntx1 = tx1, nty1 = ty1, ntx2 = tx2, nty2 = ty2,
+        nlx0 = lx0, nly0 = ly0, nlx1 = lx1, nly1 = ly1, nlx2 = lx2, nly2 = ly2;
+      if (ny0>ny1) cimg::swap(nx0,nx1,ny0,ny1,ntx0,ntx1,nty0,nty1,nlx0,nlx1,nly0,nly1);
+      if (ny0>ny2) cimg::swap(nx0,nx2,ny0,ny2,ntx0,ntx2,nty0,nty2,nlx0,nlx2,nly0,nly2);
+      if (ny1>ny2) cimg::swap(nx1,nx2,ny1,ny2,ntx1,ntx2,nty1,nty2,nlx1,nlx2,nly1,nly2);
+      if (ny0>=height() || ny2<0) return *this;
+      _cimg_for_triangle5(*this,xleft0,lxleft0,lyleft0,txleft0,tyleft0,xright0,lxright0,lyright0,txright0,tyright0,y,
+                          nx0,ny0,nlx0,nly0,ntx0,nty0,nx1,ny1,nlx1,nly1,ntx1,nty1,nx2,ny2,nlx2,nly2,ntx2,nty2) {
+        int
+          xleft = xleft0, xright = xright0,
+          lxleft = lxleft0, lxright = lxright0,
+          lyleft = lyleft0, lyright = lyright0,
+          txleft = txleft0, txright = txright0,
+          tyleft = tyleft0, tyright = tyright0;
+        if (xright<xleft) cimg::swap(xleft,xright,lxleft,lxright,lyleft,lyright,txleft,txright,tyleft,tyright);
+        const int
+          dx = xright - xleft,
+          dlx = lxright>lxleft?lxright - lxleft:lxleft - lxright,
+          dly = lyright>lyleft?lyright - lyleft:lyleft - lyright,
+          dtx = txright>txleft?txright - txleft:txleft - txright,
+          dty = tyright>tyleft?tyright - tyleft:tyleft - tyright,
+          rlx = dx?(lxright - lxleft)/dx:0,
+          rly = dx?(lyright - lyleft)/dx:0,
+          rtx = dx?(txright - txleft)/dx:0,
+          rty = dx?(tyright - tyleft)/dx:0,
+          slx = lxright>lxleft?1:-1,
+          sly = lyright>lyleft?1:-1,
+          stx = txright>txleft?1:-1,
+          sty = tyright>tyleft?1:-1,
+          ndlx = dlx - (dx?dx*(dlx/dx):0),
+          ndly = dly - (dx?dx*(dly/dx):0),
+          ndtx = dtx - (dx?dx*(dtx/dx):0),
+          ndty = dty - (dx?dx*(dty/dx):0);
+        int errlx = dx>>1, errly = errlx, errtx = errlx, errty = errlx;
+        if (xleft<0 && dx) {
+          lxleft-=xleft*(lxright - lxleft)/dx;
+          lyleft-=xleft*(lyright - lyleft)/dx;
+          txleft-=xleft*(txright - txleft)/dx;
+          tyleft-=xleft*(tyright - tyleft)/dx;
+        }
+        if (xleft<0) xleft = 0;
+        if (xright>=width() - 1) xright = width() - 1;
+        T* ptrd = data(xleft,y,0,0);
+        if (opacity>=1) for (int x = xleft; x<=xright; ++x) {
+          const tc *col = &texture._atXY(txleft,tyleft);
+          const tl *lig = &light._atXY(lxleft,lyleft);
+          cimg_forC(*this,c) {
+            const tl l = *lig;
+            *ptrd = (T)(l<1?l**col:(2 - l)**col + (l - 1)*maxval);
+            ptrd+=whd; col+=twh; lig+=lwh;
+          }
+          ptrd-=offx;
+          lxleft+=rlx+((errlx-=ndlx)<0?errlx+=dx,slx:0);
+          lyleft+=rly+((errly-=ndly)<0?errly+=dx,sly:0);
+          txleft+=rtx+((errtx-=ndtx)<0?errtx+=dx,stx:0);
+          tyleft+=rty+((errty-=ndty)<0?errty+=dx,sty:0);
+        } else for (int x = xleft; x<=xright; ++x) {
+          const tc *col = &texture._atXY(txleft,tyleft);
+          const tl *lig = &light._atXY(lxleft,lyleft);
+          cimg_forC(*this,c) {
+            const tl l = *lig;
+            const T val = (T)(l<1?l**col:(2 - l)**col + (l - 1)*maxval);
+            *ptrd = (T)(nopacity*val + *ptrd*copacity);
+            ptrd+=whd; col+=twh; lig+=lwh;
+          }
+          ptrd-=offx;
+          lxleft+=rlx+((errlx-=ndlx)<0?errlx+=dx,slx:0);
+          lyleft+=rly+((errly-=ndly)<0?errly+=dx,sly:0);
+          txleft+=rtx+((errtx-=ndtx)<0?errtx+=dx,stx:0);
+          tyleft+=rty+((errty-=ndty)<0?errty+=dx,sty:0);
+        }
+      }
+      return *this;
+    }
+
+    //! Draw a textured Phong-shaded 2d triangle, with perspective correction.
+    template<typename tc, typename tl>
+    CImg<T>& draw_triangle(const int x0, const int y0, const float z0,
+                           const int x1, const int y1, const float z1,
+                           const int x2, const int y2, const float z2,
+                           const CImg<tc>& texture,
+                           const int tx0, const int ty0,
+                           const int tx1, const int ty1,
+                           const int tx2, const int ty2,
+                           const CImg<tl>& light,
+                           const int lx0, const int ly0,
+                           const int lx1, const int ly1,
+                           const int lx2, const int ly2,
+                           const float opacity=1) {
+      if (is_empty() || z0<=0 || z1<=0 || z2<=0) return *this;
+      if (texture._depth>1 || texture._spectrum<_spectrum)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Invalid specified texture (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    texture._width,texture._height,texture._depth,texture._spectrum,texture._data);
+      if (light._depth>1 || light._spectrum<_spectrum)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Invalid specified light texture (%u,%u,%u,%u,%p).",
+                                    cimg_instance,light._width,light._height,light._depth,light._spectrum,light._data);
+      if (is_overlapped(texture))
+        return draw_triangle(x0,y0,z0,x1,y1,z1,x2,y2,z2,+texture,tx0,ty0,tx1,ty1,tx2,ty2,
+                             light,lx0,ly0,lx1,ly1,lx2,ly2,opacity);
+      if (is_overlapped(light))
+        return draw_triangle(x0,y0,z0,x1,y1,z1,x2,y2,z2,texture,tx0,ty0,tx1,ty1,tx2,ty2,
+                             +light,lx0,ly0,lx1,ly1,lx2,ly2,opacity);
+      static const T maxval = (T)cimg::min(cimg::type<T>::max(),cimg::type<tc>::max());
+      const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+      const unsigned long
+        whd = (unsigned long)_width*_height*_depth,
+        twh = (unsigned long)texture._width*texture._height,
+        lwh = (unsigned long)light._width*light._height,
+        offx = _spectrum*whd - 1;
+      int nx0 = x0, ny0 = y0, nx1 = x1, ny1 = y1, nx2 = x2, ny2 = y2,
+        nlx0 = lx0, nly0 = ly0, nlx1 = lx1, nly1 = ly1, nlx2 = lx2, nly2 = ly2;
+      float
+        ntx0 = tx0/z0, nty0 = ty0/z0,
+        ntx1 = tx1/z1, nty1 = ty1/z1,
+        ntx2 = tx2/z2, nty2 = ty2/z2,
+        nz0 = 1/z0, nz1 = 1/z1, nz2 = 1/z2;
+      if (ny0>ny1) cimg::swap(nx0,nx1,ny0,ny1,ntx0,ntx1,nty0,nty1,nlx0,nlx1,nly0,nly1,nz0,nz1);
+      if (ny0>ny2) cimg::swap(nx0,nx2,ny0,ny2,ntx0,ntx2,nty0,nty2,nlx0,nlx2,nly0,nly2,nz0,nz2);
+      if (ny1>ny2) cimg::swap(nx1,nx2,ny1,ny2,ntx1,ntx2,nty1,nty2,nlx1,nlx2,nly1,nly2,nz1,nz2);
+      if (ny0>=height() || ny2<0) return *this;
+      float
+        ptxl = (ntx1 - ntx0)/(ny1 - ny0),
+        ptxr = (ntx2 - ntx0)/(ny2 - ny0),
+        ptxn = (ntx2 - ntx1)/(ny2 - ny1),
+        ptyl = (nty1 - nty0)/(ny1 - ny0),
+        ptyr = (nty2 - nty0)/(ny2 - ny0),
+        ptyn = (nty2 - nty1)/(ny2 - ny1),
+        pzl = (nz1 - nz0)/(ny1 - ny0),
+        pzr = (nz2 - nz0)/(ny2 - ny0),
+        pzn = (nz2 - nz1)/(ny2 - ny1),
+        zr = ny0>=0?nz0:(nz0 - ny0*(nz2 - nz0)/(ny2 - ny0)),
+        txr = ny0>=0?ntx0:(ntx0 - ny0*(ntx2 - ntx0)/(ny2 - ny0)),
+        tyr = ny0>=0?nty0:(nty0 - ny0*(nty2 - nty0)/(ny2 - ny0)),
+        zl = ny1>=0?(ny0>=0?nz0:(nz0 - ny0*(nz1 - nz0)/(ny1 - ny0))):(pzl=pzn,(nz1 - ny1*(nz2 - nz1)/(ny2 - ny1))),
+        txl = ny1>=0?(ny0>=0?ntx0:(ntx0 - ny0*(ntx1 - ntx0)/(ny1 - ny0))):
+          (ptxl=ptxn,(ntx1 - ny1*(ntx2 - ntx1)/(ny2 - ny1))),
+        tyl = ny1>=0?(ny0>=0?nty0:(nty0 - ny0*(nty1 - nty0)/(ny1 - ny0))):
+          (ptyl=ptyn,(nty1 - ny1*(nty2 - nty1)/(ny2 - ny1)));
+      _cimg_for_triangle3(*this,xleft0,lxleft0,lyleft0,xright0,lxright0,lyright0,y,
+                          nx0,ny0,nlx0,nly0,nx1,ny1,nlx1,nly1,nx2,ny2,nlx2,nly2) {
+        if (y==ny1) { zl = nz1; txl = ntx1; tyl = nty1; pzl = pzn; ptxl = ptxn; ptyl = ptyn; }
+        int
+          xleft = xleft0, xright = xright0,
+          lxleft = lxleft0, lxright = lxright0,
+          lyleft = lyleft0, lyright = lyright0;
+        float
+          zleft = zl, zright = zr,
+          txleft = txl, txright = txr,
+          tyleft = tyl, tyright = tyr;
+        if (xright<xleft)
+          cimg::swap(xleft,xright,zleft,zright,txleft,txright,tyleft,tyright,lxleft,lxright,lyleft,lyright);
+        const int
+          dx = xright - xleft,
+          dlx = lxright>lxleft?lxright - lxleft:lxleft - lxright,
+          dly = lyright>lyleft?lyright - lyleft:lyleft - lyright,
+          rlx = dx?(lxright - lxleft)/dx:0,
+          rly = dx?(lyright - lyleft)/dx:0,
+          slx = lxright>lxleft?1:-1,
+          sly = lyright>lyleft?1:-1,
+          ndlx = dlx - (dx?dx*(dlx/dx):0),
+          ndly = dly - (dx?dx*(dly/dx):0);
+        const float
+          pentez = (zright - zleft)/dx,
+          pentetx = (txright - txleft)/dx,
+          pentety = (tyright - tyleft)/dx;
+        int errlx = dx>>1, errly = errlx;
+        if (xleft<0 && dx) {
+          zleft-=xleft*(zright - zleft)/dx;
+          lxleft-=xleft*(lxright - lxleft)/dx;
+          lyleft-=xleft*(lyright - lyleft)/dx;
+          txleft-=xleft*(txright - txleft)/dx;
+          tyleft-=xleft*(tyright - tyleft)/dx;
+        }
+        if (xleft<0) xleft = 0;
+        if (xright>=width() - 1) xright = width() - 1;
+        T* ptrd = data(xleft,y,0,0);
+        if (opacity>=1) for (int x = xleft; x<=xright; ++x) {
+          const float invz = 1/zleft;
+          const tc *col = &texture._atXY((int)(txleft*invz),(int)(tyleft*invz));
+          const tl *lig = &light._atXY(lxleft,lyleft);
+          cimg_forC(*this,c) {
+            const tl l = *lig;
+            *ptrd = (T)(l<1?l**col:(2 - l)**col + (l - 1)*maxval);
+            ptrd+=whd; col+=twh; lig+=lwh;
+          }
+          ptrd-=offx; zleft+=pentez; txleft+=pentetx; tyleft+=pentety;
+          lxleft+=rlx+((errlx-=ndlx)<0?errlx+=dx,slx:0);
+          lyleft+=rly+((errly-=ndly)<0?errly+=dx,sly:0);
+        } else for (int x = xleft; x<=xright; ++x) {
+          const float invz = 1/zleft;
+          const tc *col = &texture._atXY((int)(txleft*invz),(int)(tyleft*invz));
+          const tl *lig = &light._atXY(lxleft,lyleft);
+          cimg_forC(*this,c) {
+            const tl l = *lig;
+            const T val = (T)(l<1?l**col:(2 - l)**col + (l - 1)*maxval);
+            *ptrd = (T)(nopacity*val + *ptrd*copacity);
+            ptrd+=whd; col+=twh; lig+=lwh;
+          }
+          ptrd-=offx; zleft+=pentez; txleft+=pentetx; tyleft+=pentety;
+          lxleft+=rlx+((errlx-=ndlx)<0?errlx+=dx,slx:0);
+          lyleft+=rly+((errly-=ndly)<0?errly+=dx,sly:0);
+        }
+        zr+=pzr; txr+=ptxr; tyr+=ptyr; zl+=pzl; txl+=ptxl; tyl+=ptyl;
+      }
+      return *this;
+    }
+
+    //! Draw a textured Phong-shaded 2d triangle, with perspective correction and z-buffering.
+    template<typename tz, typename tc, typename tl>
+    CImg<T>& draw_triangle(CImg<tz>& zbuffer,
+                           const int x0, const int y0, const float z0,
+                           const int x1, const int y1, const float z1,
+                           const int x2, const int y2, const float z2,
+                           const CImg<tc>& texture,
+                           const int tx0, const int ty0,
+                           const int tx1, const int ty1,
+                           const int tx2, const int ty2,
+                           const CImg<tl>& light,
+                           const int lx0, const int ly0,
+                           const int lx1, const int ly1,
+                           const int lx2, const int ly2,
+                           const float opacity=1) {
+      typedef typename cimg::superset<tz,float>::type tzfloat;
+      if (is_empty() || z0<=0 || z1<=0 || z2<=0) return *this;
+      if (!is_sameXY(zbuffer))
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Instance and specified Z-buffer (%u,%u,%u,%u,%p) have "
+                                    "different dimensions.",
+                                    cimg_instance,
+                                    zbuffer._width,zbuffer._height,zbuffer._depth,zbuffer._spectrum,zbuffer._data);
+      if (texture._depth>1 || texture._spectrum<_spectrum)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Invalid specified texture (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    texture._width,texture._height,texture._depth,texture._spectrum,texture._data);
+      if (light._depth>1 || light._spectrum<_spectrum)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_triangle(): Invalid specified light texture (%u,%u,%u,%u,%p).",
+                                    cimg_instance,light._width,light._height,light._depth,light._spectrum,light._data);
+      if (is_overlapped(texture))
+        return draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,
+                             +texture,tx0,ty0,tx1,ty1,tx2,ty2,light,lx0,ly0,lx1,ly1,lx2,ly2,opacity);
+      if (is_overlapped(light))
+        return draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,
+                             texture,tx0,ty0,tx1,ty1,tx2,ty2,+light,lx0,ly0,lx1,ly1,lx2,ly2,opacity);
+      static const T maxval = (T)cimg::min(cimg::type<T>::max(),cimg::type<tc>::max());
+      const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+      const unsigned long
+        whd = (unsigned long)_width*_height*_depth,
+        twh = (unsigned long)texture._width*texture._height,
+        lwh = (unsigned long)light._width*light._height,
+        offx = _spectrum*whd;
+      int nx0 = x0, ny0 = y0, nx1 = x1, ny1 = y1, nx2 = x2, ny2 = y2,
+        nlx0 = lx0, nly0 = ly0, nlx1 = lx1, nly1 = ly1, nlx2 = lx2, nly2 = ly2;
+      float
+        ntx0 = tx0/z0, nty0 = ty0/z0,
+        ntx1 = tx1/z1, nty1 = ty1/z1,
+        ntx2 = tx2/z2, nty2 = ty2/z2;
+      tzfloat nz0 = 1/(tzfloat)z0, nz1 = 1/(tzfloat)z1, nz2 = 1/(tzfloat)z2;
+      if (ny0>ny1) cimg::swap(nx0,nx1,ny0,ny1,ntx0,ntx1,nty0,nty1,nlx0,nlx1,nly0,nly1,nz0,nz1);
+      if (ny0>ny2) cimg::swap(nx0,nx2,ny0,ny2,ntx0,ntx2,nty0,nty2,nlx0,nlx2,nly0,nly2,nz0,nz2);
+      if (ny1>ny2) cimg::swap(nx1,nx2,ny1,ny2,ntx1,ntx2,nty1,nty2,nlx1,nlx2,nly1,nly2,nz1,nz2);
+      if (ny0>=height() || ny2<0) return *this;
+      float
+        ptxl = (ntx1 - ntx0)/(ny1 - ny0),
+        ptxr = (ntx2 - ntx0)/(ny2 - ny0),
+        ptxn = (ntx2 - ntx1)/(ny2 - ny1),
+        ptyl = (nty1 - nty0)/(ny1 - ny0),
+        ptyr = (nty2 - nty0)/(ny2 - ny0),
+        ptyn = (nty2 - nty1)/(ny2 - ny1),
+        txr = ny0>=0?ntx0:(ntx0 - ny0*(ntx2 - ntx0)/(ny2 - ny0)),
+        tyr = ny0>=0?nty0:(nty0 - ny0*(nty2 - nty0)/(ny2 - ny0)),
+        txl = ny1>=0?(ny0>=0?ntx0:(ntx0 - ny0*(ntx1 - ntx0)/(ny1 - ny0))):
+          (ptxl=ptxn,(ntx1 - ny1*(ntx2 - ntx1)/(ny2 - ny1))),
+        tyl = ny1>=0?(ny0>=0?nty0:(nty0 - ny0*(nty1 - nty0)/(ny1 - ny0))):
+          (ptyl=ptyn,(nty1 - ny1*(nty2 - nty1)/(ny2 - ny1)));
+      tzfloat
+        pzl = (nz1 - nz0)/(ny1 - ny0),
+        pzr = (nz2 - nz0)/(ny2 - ny0),
+        pzn = (nz2 - nz1)/(ny2 - ny1),
+        zr = ny0>=0?nz0:(nz0 - ny0*(nz2 - nz0)/(ny2 - ny0)),
+        zl = ny1>=0?(ny0>=0?nz0:(nz0 - ny0*(nz1 - nz0)/(ny1 - ny0))):(pzl=pzn,(nz1 - ny1*(nz2 - nz1)/(ny2 - ny1)));
+      _cimg_for_triangle3(*this,xleft0,lxleft0,lyleft0,xright0,lxright0,lyright0,y,
+                          nx0,ny0,nlx0,nly0,nx1,ny1,nlx1,nly1,nx2,ny2,nlx2,nly2) {
+        if (y==ny1) { zl = nz1; txl = ntx1; tyl = nty1; pzl = pzn; ptxl = ptxn; ptyl = ptyn; }
+        int
+          xleft = xleft0, xright = xright0,
+          lxleft = lxleft0, lxright = lxright0,
+          lyleft = lyleft0, lyright = lyright0;
+        float txleft = txl, txright = txr, tyleft = tyl, tyright = tyr;
+        tzfloat zleft = zl, zright = zr;
+        if (xright<xleft)
+          cimg::swap(xleft,xright,zleft,zright,txleft,txright,tyleft,tyright,lxleft,lxright,lyleft,lyright);
+        const int
+          dx = xright - xleft,
+          dlx = lxright>lxleft?lxright - lxleft:lxleft - lxright,
+          dly = lyright>lyleft?lyright - lyleft:lyleft - lyright,
+          rlx = dx?(lxright - lxleft)/dx:0,
+          rly = dx?(lyright - lyleft)/dx:0,
+          slx = lxright>lxleft?1:-1,
+          sly = lyright>lyleft?1:-1,
+          ndlx = dlx - (dx?dx*(dlx/dx):0),
+          ndly = dly - (dx?dx*(dly/dx):0);
+        float pentetx = (txright - txleft)/dx, pentety = (tyright - tyleft)/dx;
+        const tzfloat pentez = (zright - zleft)/dx;
+        int errlx = dx>>1, errly = errlx;
+        if (xleft<0 && dx) {
+          zleft-=xleft*(zright - zleft)/dx;
+          lxleft-=xleft*(lxright - lxleft)/dx;
+          lyleft-=xleft*(lyright - lyleft)/dx;
+          txleft-=xleft*(txright - txleft)/dx;
+          tyleft-=xleft*(tyright - tyleft)/dx;
+        }
+        if (xleft<0) xleft = 0;
+        if (xright>=width() - 1) xright = width() - 1;
+        T* ptrd = data(xleft,y);
+        tz *ptrz = zbuffer.data(xleft,y);
+        if (opacity>=1) for (int x = xleft; x<=xright; ++x, ++ptrz, ++ptrd) {
+            if (zleft>=(tzfloat)*ptrz) {
+              *ptrz = (tz)zleft;
+              const tzfloat invz = 1/zleft;
+              const tc *col = &texture._atXY((int)(txleft*invz),(int)(tyleft*invz));
+              const tl *lig = &light._atXY(lxleft,lyleft);
+              cimg_forC(*this,c) {
+                const tl l = *lig;
+                *ptrd = (T)(l<1?l**col:(2 - l)**col + (l - 1)*maxval);
+                ptrd+=whd; col+=twh; lig+=lwh;
+              }
+              ptrd-=offx;
+            }
+            zleft+=pentez; txleft+=pentetx; tyleft+=pentety;
+            lxleft+=rlx+((errlx-=ndlx)<0?errlx+=dx,slx:0);
+            lyleft+=rly+((errly-=ndly)<0?errly+=dx,sly:0);
+          } else for (int x = xleft; x<=xright; ++x, ++ptrz, ++ptrd) {
+            if (zleft>=(tzfloat)*ptrz) {
+              *ptrz = (tz)zleft;
+              const tzfloat invz = 1/zleft;
+              const tc *col = &texture._atXY((int)(txleft*invz),(int)(tyleft*invz));
+              const tl *lig = &light._atXY(lxleft,lyleft);
+              cimg_forC(*this,c) {
+                const tl l = *lig;
+                const T val = (T)(l<1?l**col:(2 - l)**col + (l - 1)*maxval);
+                *ptrd = (T)(nopacity*val + *ptrd*copacity);
+                ptrd+=whd; col+=twh; lig+=lwh;
+              }
+              ptrd-=offx;
+            }
+            zleft+=pentez; txleft+=pentetx; tyleft+=pentety;
+            lxleft+=rlx+((errlx-=ndlx)<0?errlx+=dx,slx:0);
+            lyleft+=rly+((errly-=ndly)<0?errly+=dx,sly:0);
+          }
+        zr+=pzr; txr+=ptxr; tyr+=ptyr; zl+=pzl; txl+=ptxl; tyl+=ptyl;
+      }
+      return *this;
+    }
+
+    //! Draw a filled 4d rectangle.
+    /**
+       \param x0 X-coordinate of the upper-left rectangle corner.
+       \param y0 Y-coordinate of the upper-left rectangle corner.
+       \param z0 Z-coordinate of the upper-left rectangle corner.
+       \param c0 C-coordinate of the upper-left rectangle corner.
+       \param x1 X-coordinate of the lower-right rectangle corner.
+       \param y1 Y-coordinate of the lower-right rectangle corner.
+       \param z1 Z-coordinate of the lower-right rectangle corner.
+       \param c1 C-coordinate of the lower-right rectangle corner.
+       \param val Scalar value used to fill the rectangle area.
+       \param opacity Drawing opacity.
+    **/
+    CImg<T>& draw_rectangle(const int x0, const int y0, const int z0, const int c0,
+                            const int x1, const int y1, const int z1, const int c1,
+                            const T val, const float opacity=1) {
+      if (is_empty()) return *this;
+      const bool bx = (x0<x1), by = (y0<y1), bz = (z0<z1), bc = (c0<c1);
+      const int
+        nx0 = bx?x0:x1, nx1 = bx?x1:x0,
+        ny0 = by?y0:y1, ny1 = by?y1:y0,
+        nz0 = bz?z0:z1, nz1 = bz?z1:z0,
+        nc0 = bc?c0:c1, nc1 = bc?c1:c0;
+      const int
+        lX = (1 + nx1 - nx0) + (nx1>=width()?width() - 1 - nx1:0) + (nx0<0?nx0:0),
+        lY = (1 + ny1 - ny0) + (ny1>=height()?height() - 1 - ny1:0) + (ny0<0?ny0:0),
+        lZ = (1 + nz1 - nz0) + (nz1>=depth()?depth() - 1 - nz1:0) + (nz0<0?nz0:0),
+        lC = (1 + nc1 - nc0) + (nc1>=spectrum()?spectrum() - 1 - nc1:0) + (nc0<0?nc0:0);
+      const unsigned long
+        offX = (unsigned long)_width - lX,
+        offY = (unsigned long)_width*(_height - lY),
+        offZ = (unsigned long)_width*_height*(_depth - lZ);
+      const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+      T *ptrd = data(nx0<0?0:nx0,ny0<0?0:ny0,nz0<0?0:nz0,nc0<0?0:nc0);
+      if (lX>0 && lY>0 && lZ>0 && lC>0)
+        for (int v = 0; v<lC; ++v) {
+          for (int z = 0; z<lZ; ++z) {
+            for (int y = 0; y<lY; ++y) {
+              if (opacity>=1) {
+                if (sizeof(T)!=1) { for (int x = 0; x<lX; ++x) *(ptrd++) = val; ptrd+=offX; }
+                else { std::memset(ptrd,(int)val,lX); ptrd+=_width; }
+              } else { for (int x = 0; x<lX; ++x) { *ptrd = (T)(nopacity*val + *ptrd*copacity); ++ptrd; } ptrd+=offX; }
+            }
+            ptrd+=offY;
+          }
+          ptrd+=offZ;
+        }
+      return *this;
+    }
+
+    //! Draw a filled 3d rectangle.
+    /**
+       \param x0 X-coordinate of the upper-left rectangle corner.
+       \param y0 Y-coordinate of the upper-left rectangle corner.
+       \param z0 Z-coordinate of the upper-left rectangle corner.
+       \param x1 X-coordinate of the lower-right rectangle corner.
+       \param y1 Y-coordinate of the lower-right rectangle corner.
+       \param z1 Z-coordinate of the lower-right rectangle corner.
+       \param color Pointer to \c spectrum() consecutive values of type \c T, defining the drawing color.
+       \param opacity Drawing opacity.
+    **/
+    template<typename tc>
+    CImg<T>& draw_rectangle(const int x0, const int y0, const int z0,
+                            const int x1, const int y1, const int z1,
+                            const tc *const color, const float opacity=1) {
+      if (is_empty()) return *this;
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_rectangle(): Specified color is (null).",
+                                    cimg_instance);
+      cimg_forC(*this,c) draw_rectangle(x0,y0,z0,c,x1,y1,z1,c,(T)color[c],opacity);
+      return *this;
+    }
+
+    //! Draw an outlined 3d rectangle \overloading.
+    template<typename tc>
+    CImg<T>& draw_rectangle(const int x0, const int y0, const int z0,
+                            const int x1, const int y1, const int z1,
+                            const tc *const color, const float opacity,
+                            const unsigned int pattern) {
+      return draw_line(x0,y0,z0,x1,y0,z0,color,opacity,pattern,true).
+	draw_line(x1,y0,z0,x1,y1,z0,color,opacity,pattern,false).
+	draw_line(x1,y1,z0,x0,y1,z0,color,opacity,pattern,false).
+	draw_line(x0,y1,z0,x0,y0,z0,color,opacity,pattern,false).
+	draw_line(x0,y0,z1,x1,y0,z1,color,opacity,pattern,true).
+	draw_line(x1,y0,z1,x1,y1,z1,color,opacity,pattern,false).
+	draw_line(x1,y1,z1,x0,y1,z1,color,opacity,pattern,false).
+	draw_line(x0,y1,z1,x0,y0,z1,color,opacity,pattern,false).
+	draw_line(x0,y0,z0,x0,y0,z1,color,opacity,pattern,true).
+	draw_line(x1,y0,z0,x1,y0,z1,color,opacity,pattern,true).
+	draw_line(x1,y1,z0,x1,y1,z1,color,opacity,pattern,true).
+	draw_line(x0,y1,z0,x0,y1,z1,color,opacity,pattern,true);
+    }
+
+    //! Draw a filled 2d rectangle.
+    /**
+       \param x0 X-coordinate of the upper-left rectangle corner.
+       \param y0 Y-coordinate of the upper-left rectangle corner.
+       \param x1 X-coordinate of the lower-right rectangle corner.
+       \param y1 Y-coordinate of the lower-right rectangle corner.
+       \param color Pointer to \c spectrum() consecutive values of type \c T, defining the drawing color.
+       \param opacity Drawing opacity.
+    **/
+    template<typename tc>
+    CImg<T>& draw_rectangle(const int x0, const int y0,
+                            const int x1, const int y1,
+                            const tc *const color, const float opacity=1) {
+      return draw_rectangle(x0,y0,0,x1,y1,_depth - 1,color,opacity);
+    }
+
+    //! Draw a outlined 2d rectangle \overloading.
+    template<typename tc>
+    CImg<T>& draw_rectangle(const int x0, const int y0,
+                            const int x1, const int y1,
+                            const tc *const color, const float opacity,
+                            const unsigned int pattern) {
+      if (is_empty()) return *this;
+      if (y0==y1) return draw_line(x0,y0,x1,y0,color,opacity,pattern,true);
+      if (x0==x1) return draw_line(x0,y0,x0,y1,color,opacity,pattern,true);
+      const bool bx = (x0<x1), by = (y0<y1);
+      const int
+        nx0 = bx?x0:x1, nx1 = bx?x1:x0,
+        ny0 = by?y0:y1, ny1 = by?y1:y0;
+      if (ny1==ny0 + 1) return draw_line(nx0,ny0,nx1,ny0,color,opacity,pattern,true).
+                      draw_line(nx1,ny1,nx0,ny1,color,opacity,pattern,false);
+      return draw_line(nx0,ny0,nx1,ny0,color,opacity,pattern,true).
+        draw_line(nx1,ny0 + 1,nx1,ny1 - 1,color,opacity,pattern,false).
+        draw_line(nx1,ny1,nx0,ny1,color,opacity,pattern,false).
+        draw_line(nx0,ny1 - 1,nx0,ny0 + 1,color,opacity,pattern,false);
+    }
+
+    //! Draw a filled 2d polygon.
+    /**
+       \param points Set of polygon vertices.
+       \param color Pointer to \c spectrum() consecutive values of type \c T, defining the drawing color.
+       \param opacity Drawing opacity.
+     **/
+    template<typename t, typename tc>
+    CImg<T>& draw_polygon(const CImg<t>& points,
+                          const tc *const color, const float opacity=1) {
+      if (is_empty() || !points) return *this;
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_polygon(): Specified color is (null).",
+                                    cimg_instance);
+
+      // Normalize 2d input coordinates (remove adjacent duplicates).
+      CImg<intT> npoints(points._width,2);
+      unsigned int nb_points = 1, p = 0;
+      int cx = npoints(0,0) = (int)points(0,0), cy = npoints(0,1) = (int)points(0,1);
+      const int cx0 = cx, cy0 = cy;
+      for (p = 1; p<points._width; ++p) {
+        const int nx = (int)points(p,0), ny = (int)points(p,1);
+        if (nx!=cx || ny!=cy) { npoints(nb_points,0) = nx; npoints(nb_points++,1) = ny; cx = nx; cy = ny; }
+      }
+      --p;
+      if ((int)points(p,0)==cx0 && (int)points(p,1)==cy0) --nb_points;
+      if (nb_points<=1) return draw_point((int)npoints(0,0),(int)npoints(0,1),color,opacity);
+      if (nb_points==2) return draw_line((int)npoints(0,0),(int)npoints(0,1),
+                                         (int)npoints(1,0),(int)npoints(1,1),color,opacity);
+      if (nb_points==3) return draw_triangle((int)npoints(0,0),(int)npoints(0,1),
+                                             (int)npoints(1,0),(int)npoints(1,1),
+                                             (int)npoints(2,0),(int)npoints(2,1),color,opacity);
+
+      // Shift the coordinates so that the first and last vertices are not located on the same scanline.
+      if (npoints(0,1)==npoints(nb_points - 1,1)) {
+        const intT y0 = npoints(0,1);
+        unsigned int off = 1;
+        while ((int)npoints(off,1)==y0 && off<nb_points) ++off;
+        if (off<nb_points) {
+          npoints.get_shared_points(0,nb_points - 1,0).shift(-(int)off,0,0,0,2);
+          npoints.get_shared_points(0,nb_points - 1,1).shift(-(int)off,0,0,0,2);
+        }
+      }
+
+      cimg_init_scanline(color,1);
+
+      if (opacity!=1) { // For non-opaque polygons, do a little trick to avoid horizontal lines artefacts.
+        npoints.resize(nb_points,2,1,1,0);
+        CImg<intT> npoints_x = npoints.get_shared_row(0), npoints_y = npoints.get_shared_row(1);
+        int xmax = 0, xmin = (int)npoints_x.min_max(xmax), ymax = 0, ymin = (int)npoints_y.min_max(ymax);
+        if (xmax<0 || xmin>=width() || ymax<0 || ymin>=height()) return *this;
+        if (ymin==ymax) return cimg_draw_scanline(xmin,xmax,ymin,color,opacity,1);
+        const unsigned int
+          nxmin = xmin<0?0:(unsigned int)xmin, nxmax = xmax>=width()?_width - 1:(unsigned int)xmax,
+          nymin = ymin<0?0:(unsigned int)ymin, nymax = ymax>=height()?_height - 1:(unsigned int)ymax,
+          dx = 1 + nxmax - nxmin,
+          dy = 1 + nymax - nymin;
+        npoints_x-=nxmin; npoints_y-=nymin;
+        unsigned char one = 1;
+        const CImg<unsigned char> mask = CImg<unsigned char>(dx,dy,1,1,0).draw_polygon(npoints,&one,1);
+        CImg<T> _color(dx,dy,1,spectrum());
+        cimg_forC(_color,c) _color.get_shared_channel(c).fill(color[c]);
+        return draw_image(nxmin,nymin,0,0,_color,mask,opacity,1);
+      }
+
+      // Draw polygon segments.
+      int
+        xmax = 0, xmin = (int)npoints.get_shared_points(0,nb_points - 1,0).min_max(xmax),
+        ymax = 0, ymin = (int)npoints.get_shared_points(0,nb_points - 1,1).min_max(ymax);
+      if (xmax<0 || xmin>=width() || ymax<0 || ymin>=height()) return *this;
+      if (ymin==ymax) return cimg_draw_scanline(xmin,xmax,ymin,color,1,1);
+      const unsigned int
+        nymin = ymin<0?0:(unsigned int)ymin,
+        nymax = ymax>=height()?_height - 1:(unsigned int)ymax,
+        dy = 1 + nymax - nymin;
+      CImg<intT> X(1 + 2*nb_points,dy,1,1,0), tmp;
+      cx = (int)npoints(0,0), cy = (int)npoints(0,1);
+      unsigned int cp = 0;
+      for (unsigned int p = 0; p<nb_points; ++p) {
+        const unsigned int np = (p!=nb_points - 1)?p + 1:0, ap = (np!=nb_points - 1)?np + 1:0;
+        const int
+          nx = (int)npoints(np,0), ny = (int)npoints(np,1), ay = (int)npoints(ap,1),
+          y0 = cy - (int)nymin, y1 = ny - (int)nymin;
+        if (y0!=y1) {
+          const int countermin = ((ny<ay && cy<ny) || (ny>ay && cy>ny))?1:0;
+          for (int x = cx, y = y0, _sx = 1, _sy = 1,
+                 _dx = nx>cx?nx - cx:((_sx=-1),cx - nx),
+                 _dy = y1>y0?y1 - y0:((_sy=-1),y0 - y1),
+                 _counter = ((_dx-=_dy?_dy*(_dx/_dy):0),_dy),
+                 _err = _dx>>1,
+                 _rx = _dy?(nx - cx)/_dy:0;
+               _counter>=countermin;
+               --_counter, y+=_sy, x+=_rx + ((_err-=_dx)<0?_err+=_dy,_sx:0))
+            if (y>=0 && y<(int)dy) X(++X(0,y),y) = x;
+          cp = np; cx = nx; cy = ny;
+        } else {
+          const int pp = (int)(cp?cp - 1:nb_points - 1), py = (int)npoints(pp,1);
+          if (y0>=0 && y0<(int)dy) {
+            cimg_draw_scanline(cx<nx?cx:nx,cx<nx?nx:cx,y0 + nymin,color,1,1);
+            if ((cy>py && ay>cy) || (cy<py && ay<cy)) X(++X(0,y0),y0) = cx;
+          }
+          if (cy!=ay) { cp = np; cx = nx; cy = ny; }
+        }
+      }
+
+      // Draw polygon scanlines.
+      for (int y = 0; y<(int)dy; ++y) {
+        tmp.assign(X.data(1,y),X(0,y),1,1,1,true).sort();
+        for (int i = 1; i<=X(0,y); ) {
+          const int xb = X(i++,y), xe = X(i++,y);
+          cimg_draw_scanline(xb,xe,nymin + y,color,1,1);
+        }
+      }
+      return *this;
+    }
+
+    //! Draw a outlined 2d polygon \overloading.
+    template<typename t, typename tc>
+    CImg<T>& draw_polygon(const CImg<t>& points,
+                          const tc *const color, const float opacity, const unsigned int pattern) {
+      if (is_empty() || !points || points._width<3) return *this;
+      bool ninit_hatch = true;
+      switch (points._height) {
+      case 0 : case 1 :
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_polygon(): Invalid specified point set.",
+                                    cimg_instance);
+      case 2 : { // 2d version.
+        CImg<intT> npoints(points._width,2);
+        int x = npoints(0,0) = (int)points(0,0), y = npoints(0,1) = (int)points(0,1);
+        unsigned int nb_points = 1;
+        for (unsigned int p = 1; p<points._width; ++p) {
+          const int nx = (int)points(p,0), ny = (int)points(p,1);
+          if (nx!=x || ny!=y) { npoints(nb_points,0) = nx; npoints(nb_points++,1) = ny; x = nx; y = ny; }
+        }
+        const int x0 = (int)npoints(0,0), y0 = (int)npoints(0,1);
+        int ox = x0, oy = y0;
+        for (unsigned int i = 1; i<nb_points; ++i) {
+          const int x = (int)npoints(i,0), y = (int)npoints(i,1);
+          draw_line(ox,oy,x,y,color,opacity,pattern,ninit_hatch);
+          ninit_hatch = false;
+          ox = x; oy = y;
+        }
+        draw_line(ox,oy,x0,y0,color,opacity,pattern,false);
+      } break;
+      default : { // 3d version.
+        CImg<intT> npoints(points._width,3);
+        int
+          x = npoints(0,0) = (int)points(0,0),
+          y = npoints(0,1) = (int)points(0,1),
+          z = npoints(0,2) = (int)points(0,2);
+        unsigned int nb_points = 1;
+        for (unsigned int p = 1; p<points._width; ++p) {
+          const int nx = (int)points(p,0), ny = (int)points(p,1), nz = (int)points(p,2);
+          if (nx!=x || ny!=y || nz!=z) {
+            npoints(nb_points,0) = nx; npoints(nb_points,1) = ny; npoints(nb_points++,2) = nz;
+            x = nx; y = ny; z = nz;
+          }
+        }
+        const int x0 = (int)npoints(0,0), y0 = (int)npoints(0,1), z0 = (int)npoints(0,2);
+        int ox = x0, oy = y0, oz = z0;
+        for (unsigned int i = 1; i<nb_points; ++i) {
+          const int x = (int)npoints(i,0), y = (int)npoints(i,1), z = (int)npoints(i,2);
+          draw_line(ox,oy,oz,x,y,z,color,opacity,pattern,ninit_hatch);
+          ninit_hatch = false;
+          ox = x; oy = y; oz = z;
+        }
+        draw_line(ox,oy,oz,x0,y0,z0,color,opacity,pattern,false);
+      }
+      }
+      return *this;
+    }
+
+    //! Draw a filled 2d ellipse.
+    /**
+       \param x0 X-coordinate of the ellipse center.
+       \param y0 Y-coordinate of the ellipse center.
+       \param r1 First radius of the ellipse.
+       \param r2 Second radius of the ellipse.
+       \param angle Angle of the first radius.
+       \param color Pointer to \c spectrum() consecutive values, defining the drawing color.
+       \param opacity Drawing opacity.
+    **/
+    template<typename tc>
+    CImg<T>& draw_ellipse(const int x0, const int y0, const float r1, const float r2, const float angle,
+                          const tc *const color, const float opacity=1) {
+      return _draw_ellipse(x0,y0,r1,r2,angle,color,opacity,0U);
+    }
+
+    //! Draw a filled 2d ellipse \overloading.
+    /**
+       \param x0 X-coordinate of the ellipse center.
+       \param y0 Y-coordinate of the ellipse center.
+       \param tensor Diffusion tensor describing the ellipse.
+       \param color Pointer to \c spectrum() consecutive values, defining the drawing color.
+       \param opacity Drawing opacity.
+    **/
+    template<typename t, typename tc>
+    CImg<T>& draw_ellipse(const int x0, const int y0, const CImg<t> &tensor,
+                          const tc *const color, const float opacity=1) {
+      CImgList<t> eig = tensor.get_symmetric_eigen();
+      const CImg<t> &val = eig[0], &vec = eig[1];
+      return draw_ellipse(x0,y0,std::sqrt(val(0)),std::sqrt(val(1)),
+                          std::atan2(vec(0,1),vec(0,0))*180/cimg::PI,
+                          color,opacity);
+    }
+
+    //! Draw an outlined 2d ellipse.
+    /**
+       \param x0 X-coordinate of the ellipse center.
+       \param y0 Y-coordinate of the ellipse center.
+       \param r1 First radius of the ellipse.
+       \param r2 Second radius of the ellipse.
+       \param angle Angle of the first radius.
+       \param color Pointer to \c spectrum() consecutive values, defining the drawing color.
+       \param opacity Drawing opacity.
+       \param pattern An integer whose bits describe the outline pattern.
+    **/
+    template<typename tc>
+    CImg<T>& draw_ellipse(const int x0, const int y0, const float r1, const float r2, const float angle,
+                          const tc *const color, const float opacity, const unsigned int pattern) {
+      if (pattern) _draw_ellipse(x0,y0,r1,r2,angle,color,opacity,pattern);
+      return *this;
+    }
+
+    //! Draw an outlined 2d ellipse \overloading.
+    /**
+       \param x0 X-coordinate of the ellipse center.
+       \param y0 Y-coordinate of the ellipse center.
+       \param tensor Diffusion tensor describing the ellipse.
+       \param color Pointer to \c spectrum() consecutive values, defining the drawing color.
+       \param opacity Drawing opacity.
+       \param pattern An integer whose bits describe the outline pattern.
+    **/
+    template<typename t, typename tc>
+    CImg<T>& draw_ellipse(const int x0, const int y0, const CImg<t> &tensor,
+                          const tc *const color, const float opacity,
+                          const unsigned int pattern) {
+      CImgList<t> eig = tensor.get_symmetric_eigen();
+      const CImg<t> &val = eig[0], &vec = eig[1];
+      return draw_ellipse(x0,y0,std::sqrt(val(0)),std::sqrt(val(1)),
+                          std::atan2(vec(0,1),vec(0,0))*180/cimg::PI,
+                          color,opacity,pattern);
+    }
+
+    template<typename tc>
+    CImg<T>& _draw_ellipse(const int x0, const int y0, const float r1, const float r2, const float angle,
+                           const tc *const color, const float opacity,
+                           const unsigned int pattern) {
+      if (is_empty()) return *this;
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_ellipse(): Specified color is (null).",
+                                    cimg_instance);
+      if (r1<=0 || r2<=0) return draw_point(x0,y0,color,opacity);
+      cimg_init_scanline(color,opacity);
+      const float
+        nr1 = cimg::abs(r1), nr2 = cimg::abs(r2),
+        nangle = (float)(angle*cimg::PI/180),
+        u = (float)std::cos(nangle),
+        v = (float)std::sin(nangle),
+        rmax = cimg::max(nr1,nr2),
+        l1 = (float)std::pow(rmax/(nr1>0?nr1:1e-6),2),
+        l2 = (float)std::pow(rmax/(nr2>0?nr2:1e-6),2),
+        a = l1*u*u + l2*v*v,
+        b = u*v*(l1 - l2),
+        c = l1*v*v + l2*u*u;
+      const int
+        yb = (int)std::sqrt(a*rmax*rmax/(a*c - b*b)),
+        tymin = y0 - yb - 1,
+        tymax = y0 + yb + 1,
+        ymin = tymin<0?0:tymin,
+        ymax = tymax>=height()?height() - 1:tymax;
+      int oxmin = 0, oxmax = 0;
+      bool first_line = true;
+      for (int y = ymin; y<=ymax; ++y) {
+        const float
+          Y = y - y0 + (y<y0?0.5f:-0.5f),
+          delta = b*b*Y*Y - a*(c*Y*Y - rmax*rmax),
+          sdelta = delta>0?(float)std::sqrt(delta)/a:0.0f,
+          bY = b*Y/a,
+          fxmin = x0 - 0.5f - bY - sdelta,
+          fxmax = x0 + 0.5f - bY + sdelta;
+        const int xmin = (int)fxmin, xmax = (int)fxmax;
+        if (!pattern) cimg_draw_scanline(xmin,xmax,y,color,opacity,1);
+        else {
+          if (first_line) {
+            if (y0 - yb>=0) cimg_draw_scanline(xmin,xmax,y,color,opacity,1);
+            else draw_point(xmin,y,color,opacity).draw_point(xmax,y,color,opacity);
+            first_line = false;
+          } else {
+            if (xmin<oxmin) cimg_draw_scanline(xmin,oxmin - 1,y,color,opacity,1);
+            else cimg_draw_scanline(oxmin + (oxmin==xmin?0:1),xmin,y,color,opacity,1);
+            if (xmax<oxmax) cimg_draw_scanline(xmax,oxmax - 1,y,color,opacity,1);
+            else cimg_draw_scanline(oxmax + (oxmax==xmax?0:1),xmax,y,color,opacity,1);
+            if (y==tymax) cimg_draw_scanline(xmin + 1,xmax - 1,y,color,opacity,1);
+          }
+        }
+        oxmin = xmin; oxmax = xmax;
+      }
+      return *this;
+    }
+
+    //! Draw a filled 2d circle.
+    /**
+       \param x0 X-coordinate of the circle center.
+       \param y0 Y-coordinate of the circle center.
+       \param radius  Circle radius.
+       \param color Pointer to \c spectrum() consecutive values, defining the drawing color.
+       \param opacity Drawing opacity.
+       \note
+       - Circle version of the Bresenham's algorithm is used.
+    **/
+    template<typename tc>
+    CImg<T>& draw_circle(const int x0, const int y0, int radius,
+                         const tc *const color, const float opacity=1) {
+      if (is_empty()) return *this;
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_circle(): Specified color is (null).",
+                                    cimg_instance);
+      cimg_init_scanline(color,opacity);
+      if (radius<0 || x0 - radius>=width() || y0 + radius<0 || y0 - radius>=height()) return *this;
+      if (y0>=0 && y0<height()) cimg_draw_scanline(x0 - radius,x0 + radius,y0,color,opacity,1);
+      for (int f = 1 - radius, ddFx = 0, ddFy = -(radius<<1), x = 0, y = radius; x<y; ) {
+        if (f>=0) {
+          const int x1 = x0 - x, x2 = x0 + x, y1 = y0 - y, y2 = y0 + y;
+          if (y1>=0 && y1<height()) cimg_draw_scanline(x1,x2,y1,color,opacity,1);
+          if (y2>=0 && y2<height()) cimg_draw_scanline(x1,x2,y2,color,opacity,1);
+          f+=(ddFy+=2); --y;
+        }
+        const bool no_diag = y!=(x++);
+        ++(f+=(ddFx+=2));
+        const int x1 = x0 - y, x2 = x0 + y, y1 = y0 - x, y2 = y0 + x;
+        if (no_diag) {
+          if (y1>=0 && y1<height()) cimg_draw_scanline(x1,x2,y1,color,opacity,1);
+          if (y2>=0 && y2<height()) cimg_draw_scanline(x1,x2,y2,color,opacity,1);
+        }
+      }
+      return *this;
+    }
+
+    //! Draw an outlined 2d circle.
+    /**
+       \param x0 X-coordinate of the circle center.
+       \param y0 Y-coordinate of the circle center.
+       \param radius Circle radius.
+       \param color Pointer to \c spectrum() consecutive values, defining the drawing color.
+       \param opacity Drawing opacity.
+       \param pattern An integer whose bits describe the outline pattern.
+    **/
+    template<typename tc>
+    CImg<T>& draw_circle(const int x0, const int y0, int radius,
+                         const tc *const color, const float opacity,
+                         const unsigned int pattern) {
+      cimg::unused(pattern);
+      if (is_empty()) return *this;
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_circle(): Specified color is (null).",
+                                    cimg_instance);
+      if (radius<0 || x0 - radius>=width() || y0 + radius<0 || y0 - radius>=height()) return *this;
+      if (!radius) return draw_point(x0,y0,color,opacity);
+      draw_point(x0 - radius,y0,color,opacity).draw_point(x0 + radius,y0,color,opacity).
+        draw_point(x0,y0 - radius,color,opacity).draw_point(x0,y0 + radius,color,opacity);
+      if (radius==1) return *this;
+      for (int f = 1 - radius, ddFx = 0, ddFy = -(radius<<1), x = 0, y = radius; x<y; ) {
+        if (f>=0) { f+=(ddFy+=2); --y; }
+        ++x; ++(f+=(ddFx+=2));
+        if (x!=y + 1) {
+          const int x1 = x0 - y, x2 = x0 + y, y1 = y0 - x, y2 = y0 + x,
+            x3 = x0 - x, x4 = x0 + x, y3 = y0 - y, y4 = y0 + y;
+          draw_point(x1,y1,color,opacity).draw_point(x1,y2,color,opacity).
+            draw_point(x2,y1,color,opacity).draw_point(x2,y2,color,opacity);
+          if (x!=y)
+            draw_point(x3,y3,color,opacity).draw_point(x4,y4,color,opacity).
+              draw_point(x4,y3,color,opacity).draw_point(x3,y4,color,opacity);
+        }
+      }
+      return *this;
+    }
+
+    //! Draw an image.
+    /**
+       \param sprite Sprite image.
+       \param x0 X-coordinate of the sprite position.
+       \param y0 Y-coordinate of the sprite position.
+       \param z0 Z-coordinate of the sprite position.
+       \param c0 C-coordinate of the sprite position.
+       \param opacity Drawing opacity.
+    **/
+    template<typename t>
+    CImg<T>& draw_image(const int x0, const int y0, const int z0, const int c0,
+                        const CImg<t>& sprite, const float opacity=1) {
+      if (is_empty() || !sprite) return *this;
+      if (is_overlapped(sprite)) return draw_image(x0,y0,z0,c0,+sprite,opacity);
+      if (x0==0 && y0==0 && z0==0 && c0==0 && is_sameXYZC(sprite) && opacity>=1 && !is_shared())
+        return assign(sprite,false);
+      const bool bx = (x0<0), by = (y0<0), bz = (z0<0), bc = (c0<0);
+      const int
+        lX = sprite.width() - (x0 + sprite.width()>width()?x0 + sprite.width() - width():0) + (bx?x0:0),
+        lY = sprite.height() - (y0 + sprite.height()>height()?y0 + sprite.height() - height():0) + (by?y0:0),
+        lZ = sprite.depth() - (z0 + sprite.depth()>depth()?z0 + sprite.depth() - depth():0) + (bz?z0:0),
+        lC = sprite.spectrum() - (c0 + sprite.spectrum()>spectrum()?c0 + sprite.spectrum() - spectrum():0) + (bc?c0:0);
+      const t
+        *ptrs = sprite._data -
+        (bx?x0:0) -
+        (by?y0*sprite.width():0) -
+        (bz?z0*sprite.width()*sprite.height():0) -
+        (bc?c0*sprite.width()*sprite.height()*sprite.depth():0);
+      const unsigned long
+        offX = (unsigned long)_width - lX,
+        soffX = (unsigned long)sprite._width - lX,
+        offY = (unsigned long)_width*(_height - lY),
+        soffY = (unsigned long)sprite._width*(sprite._height - lY),
+        offZ = (unsigned long)_width*_height*(_depth - lZ),
+        soffZ = (unsigned long)sprite._width*sprite._height*(sprite._depth - lZ);
+      const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+      if (lX>0 && lY>0 && lZ>0 && lC>0) {
+        T *ptrd = data(x0<0?0:x0,y0<0?0:y0,z0<0?0:z0,c0<0?0:c0);
+        for (int v = 0; v<lC; ++v) {
+          for (int z = 0; z<lZ; ++z) {
+            for (int y = 0; y<lY; ++y) {
+              if (opacity>=1) for (int x = 0; x<lX; ++x) *(ptrd++) = (T)*(ptrs++);
+              else for (int x = 0; x<lX; ++x) { *ptrd = (T)(nopacity*(*(ptrs++)) + *ptrd*copacity); ++ptrd; }
+              ptrd+=offX; ptrs+=soffX;
+            }
+            ptrd+=offY; ptrs+=soffY;
+          }
+          ptrd+=offZ; ptrs+=soffZ;
+        }
+      }
+      return *this;
+    }
+
+    //! Draw an image \specialization.
+    CImg<T>& draw_image(const int x0, const int y0, const int z0, const int c0,
+                        const CImg<T>& sprite, const float opacity=1) {
+      if (is_empty() || !sprite) return *this;
+      if (is_overlapped(sprite)) return draw_image(x0,y0,z0,c0,+sprite,opacity);
+      if (x0==0 && y0==0 && z0==0 && c0==0 && is_sameXYZC(sprite) && opacity>=1 && !is_shared())
+        return assign(sprite,false);
+      const bool bx = (x0<0), by = (y0<0), bz = (z0<0), bc = (c0<0);
+      const int
+        lX = sprite.width() - (x0 + sprite.width()>width()?x0 + sprite.width() - width():0) + (bx?x0:0),
+        lY = sprite.height() - (y0 + sprite.height()>height()?y0 + sprite.height() - height():0) + (by?y0:0),
+        lZ = sprite.depth() - (z0 + sprite.depth()>depth()?z0 + sprite.depth() - depth():0) + (bz?z0:0),
+        lC = sprite.spectrum() - (c0 + sprite.spectrum()>spectrum()?c0 + sprite.spectrum() - spectrum():0) + (bc?c0:0);
+      const T
+        *ptrs = sprite._data -
+        (bx?x0:0) -
+        (by?y0*sprite.width():0) -
+        (bz?z0*sprite.width()*sprite.height():0) -
+        (bc?c0*sprite.width()*sprite.height()*sprite.depth():0);
+      const unsigned long
+        offX = (unsigned long)_width - lX,
+        soffX = (unsigned long)sprite._width - lX,
+        offY = (unsigned long)_width*(_height - lY),
+        soffY = (unsigned long)sprite._width*(sprite._height - lY),
+        offZ = (unsigned long)_width*_height*(_depth - lZ),
+        soffZ = (unsigned long)sprite._width*sprite._height*(sprite._depth - lZ),
+        slX = lX*sizeof(T);
+      const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+      if (lX>0 && lY>0 && lZ>0 && lC>0) {
+        T *ptrd = data(x0<0?0:x0,y0<0?0:y0,z0<0?0:z0,c0<0?0:c0);
+        for (int v = 0; v<lC; ++v) {
+          for (int z = 0; z<lZ; ++z) {
+            if (opacity>=1)
+              for (int y = 0; y<lY; ++y) { std::memcpy(ptrd,ptrs,slX); ptrd+=_width; ptrs+=sprite._width; }
+            else for (int y = 0; y<lY; ++y) {
+                for (int x = 0; x<lX; ++x) { *ptrd = (T)(nopacity*(*(ptrs++)) + *ptrd*copacity); ++ptrd; }
+                ptrd+=offX; ptrs+=soffX;
+              }
+            ptrd+=offY; ptrs+=soffY;
+          }
+          ptrd+=offZ; ptrs+=soffZ;
+        }
+      }
+      return *this;
+    }
+
+    //! Draw an image \overloading.
+    template<typename t>
+    CImg<T>& draw_image(const int x0, const int y0, const int z0,
+                        const CImg<t>& sprite, const float opacity=1) {
+      return draw_image(x0,y0,z0,0,sprite,opacity);
+    }
+
+    //! Draw an image \overloading.
+    template<typename t>
+    CImg<T>& draw_image(const int x0, const int y0,
+                        const CImg<t>& sprite, const float opacity=1) {
+      return draw_image(x0,y0,0,sprite,opacity);
+    }
+
+    //! Draw an image \overloading.
+    template<typename t>
+    CImg<T>& draw_image(const int x0,
+                        const CImg<t>& sprite, const float opacity=1) {
+      return draw_image(x0,0,sprite,opacity);
+    }
+
+    //! Draw an image \overloading.
+    template<typename t>
+    CImg<T>& draw_image(const CImg<t>& sprite, const float opacity=1) {
+      return draw_image(0,sprite,opacity);
+    }
+
+    //! Draw a masked image.
+    /**
+       \param sprite Sprite image.
+       \param mask Mask image.
+       \param x0 X-coordinate of the sprite position in the image instance.
+       \param y0 Y-coordinate of the sprite position in the image instance.
+       \param z0 Z-coordinate of the sprite position in the image instance.
+       \param c0 C-coordinate of the sprite position in the image instance.
+       \param mask_max_value Maximum pixel value of the mask image \c mask.
+       \param opacity Drawing opacity.
+       \note
+       - Pixel values of \c mask set the opacity of the corresponding pixels in \c sprite.
+       - Dimensions along x,y and z of \p sprite and \p mask must be the same.
+    **/
+    template<typename ti, typename tm>
+    CImg<T>& draw_image(const int x0, const int y0, const int z0, const int c0,
+                        const CImg<ti>& sprite, const CImg<tm>& mask, const float opacity=1,
+                        const float mask_max_value=1) {
+      if (is_empty() || !sprite || !mask) return *this;
+      if (is_overlapped(sprite)) return draw_image(x0,y0,z0,c0,+sprite,mask,opacity,mask_max_value);
+      if (is_overlapped(mask)) return draw_image(x0,y0,z0,c0,sprite,+mask,opacity,mask_max_value);
+      if (mask._width!=sprite._width || mask._height!=sprite._height || mask._depth!=sprite._depth)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_image(): Sprite (%u,%u,%u,%u,%p) and mask (%u,%u,%u,%u,%p) have "
+                                    "incompatible dimensions.",
+                                    cimg_instance,
+                                    sprite._width,sprite._height,sprite._depth,sprite._spectrum,sprite._data,
+                                    mask._width,mask._height,mask._depth,mask._spectrum,mask._data);
+
+      const bool bx = (x0<0), by = (y0<0), bz = (z0<0), bc = (c0<0);
+      const int
+        lX = sprite.width() - (x0 + sprite.width()>width()?x0 + sprite.width() - width():0) + (bx?x0:0),
+        lY = sprite.height() - (y0 + sprite.height()>height()?y0 + sprite.height() - height():0) + (by?y0:0),
+        lZ = sprite.depth() - (z0 + sprite.depth()>depth()?z0 + sprite.depth() - depth():0) + (bz?z0:0),
+        lC = sprite.spectrum() - (c0 + sprite.spectrum()>spectrum()?c0 + sprite.spectrum() - spectrum():0) + (bc?c0:0);
+      const int
+        coff = -(bx?x0:0) - (by?y0*mask.width():0) - (bz?z0*mask.width()*mask.height():0) -
+          (bc?c0*mask.width()*mask.height()*mask.depth():0),
+        ssize = mask.width()*mask.height()*mask.depth()*mask.spectrum();
+      const ti *ptrs = sprite._data + coff;
+      const tm *ptrm = mask._data   + coff;
+      const unsigned long
+        offX = (unsigned long)_width - lX,
+        soffX = (unsigned long)sprite._width - lX,
+        offY = (unsigned long)_width*(_height - lY),
+        soffY = (unsigned long)sprite._width*(sprite._height - lY),
+        offZ = (unsigned long)_width*_height*(_depth - lZ),
+        soffZ = (unsigned long)sprite._width*sprite._height*(sprite._depth - lZ);
+      if (lX>0 && lY>0 && lZ>0 && lC>0) {
+	T *ptrd = data(x0<0?0:x0,y0<0?0:y0,z0<0?0:z0,c0<0?0:c0);
+        for (int c = 0; c<lC; ++c) {
+          ptrm = mask._data + (ptrm - mask._data)%ssize;
+          for (int z = 0; z<lZ; ++z) {
+            for (int y = 0; y<lY; ++y) {
+              for (int x = 0; x<lX; ++x) {
+                const float mopacity = (float)(*(ptrm++)*opacity),
+                  nopacity = cimg::abs(mopacity), copacity = mask_max_value - cimg::max(mopacity,0);
+                *ptrd = (T)((nopacity*(*(ptrs++)) + *ptrd*copacity)/mask_max_value);
+                ++ptrd;
+              }
+              ptrd+=offX; ptrs+=soffX; ptrm+=soffX;
+            }
+            ptrd+=offY; ptrs+=soffY; ptrm+=soffY;
+          }
+          ptrd+=offZ; ptrs+=soffZ; ptrm+=soffZ;
+        }
+      }
+      return *this;
+    }
+
+    //! Draw a masked image \overloading.
+    template<typename ti, typename tm>
+    CImg<T>& draw_image(const int x0, const int y0, const int z0,
+                        const CImg<ti>& sprite, const CImg<tm>& mask, const float opacity=1,
+                        const float mask_max_value=1) {
+      return draw_image(x0,y0,z0,0,sprite,mask,opacity,mask_max_value);
+    }
+
+    //! Draw a image \overloading.
+    template<typename ti, typename tm>
+    CImg<T>& draw_image(const int x0, const int y0,
+                        const CImg<ti>& sprite, const CImg<tm>& mask, const float opacity=1,
+                        const float mask_max_value=1) {
+      return draw_image(x0,y0,0,sprite,mask,opacity,mask_max_value);
+    }
+
+    //! Draw a image \overloading.
+    template<typename ti, typename tm>
+    CImg<T>& draw_image(const int x0,
+                        const CImg<ti>& sprite, const CImg<tm>& mask, const float opacity=1,
+                        const float mask_max_value=1) {
+      return draw_image(x0,0,sprite,mask,opacity,mask_max_value);
+    }
+
+    //! Draw an image.
+    template<typename ti, typename tm>
+    CImg<T>& draw_image(const CImg<ti>& sprite, const CImg<tm>& mask, const float opacity=1,
+                        const float mask_max_value=1) {
+      return draw_image(0,sprite,mask,opacity,mask_max_value);
+    }
+
+    //! Draw a text string.
+    /**
+       \param x0 X-coordinate of the text in the image instance.
+       \param y0 Y-coordinate of the text in the image instance.
+       \param text Format of the text ('printf'-style format string).
+       \param foreground_color Pointer to \c spectrum() consecutive values, defining the foreground drawing color.
+       \param background_color Pointer to \c spectrum() consecutive values, defining the background drawing color.
+       \param opacity Drawing opacity.
+       \param font Font used for drawing text.
+    **/
+    template<typename tc1, typename tc2, typename t>
+    CImg<T>& draw_text(const int x0, const int y0,
+                       const char *const text,
+                       const tc1 *const foreground_color, const tc2 *const background_color,
+                       const float opacity, const CImgList<t>& font, ...) {
+      if (!font) return *this;
+      CImg<charT> tmp(2048);
+      std::va_list ap; va_start(ap,font);
+      cimg_vsnprintf(tmp,tmp._width,text,ap); va_end(ap);
+      return _draw_text(x0,y0,tmp,foreground_color,background_color,opacity,font,false);
+    }
+
+    //! Draw a text string \overloading.
+    /**
+       \note A transparent background is used for the text.
+    **/
+    template<typename tc, typename t>
+    CImg<T>& draw_text(const int x0, const int y0,
+                       const char *const text,
+                       const tc *const foreground_color, const int,
+                       const float opacity, const CImgList<t>& font, ...) {
+      if (!font) return *this;
+      CImg<charT> tmp(2048);
+      std::va_list ap; va_start(ap,font);
+      cimg_vsnprintf(tmp,tmp._width,text,ap); va_end(ap);
+      return _draw_text(x0,y0,tmp,foreground_color,(tc*)0,opacity,font,false);
+    }
+
+    //! Draw a text string \overloading.
+    /**
+       \note A transparent foreground is used for the text.
+    **/
+    template<typename tc, typename t>
+    CImg<T>& draw_text(const int x0, const int y0,
+                       const char *const text,
+                       const int, const tc *const background_color,
+                       const float opacity, const CImgList<t>& font, ...) {
+      if (!font) return *this;
+      CImg<charT> tmp(2048);
+      std::va_list ap; va_start(ap,font);
+      cimg_vsnprintf(tmp,tmp._width,text,ap); va_end(ap);
+      return _draw_text(x0,y0,tmp,(tc*)0,background_color,opacity,font,false);
+    }
+
+    //! Draw a text string \overloading.
+    /**
+       \param x0 X-coordinate of the text in the image instance.
+       \param y0 Y-coordinate of the text in the image instance.
+       \param text Format of the text ('printf'-style format string).
+       \param foreground_color Array of spectrum() values of type \c T,
+         defining the foreground color (0 means 'transparent').
+       \param background_color Array of spectrum() values of type \c T,
+         defining the background color (0 means 'transparent').
+       \param opacity Drawing opacity.
+       \param font_height Height of the text font (exact match for 13,23,53,103, interpolated otherwise).
+    **/
+    template<typename tc1, typename tc2>
+    CImg<T>& draw_text(const int x0, const int y0,
+                       const char *const text,
+                       const tc1 *const foreground_color, const tc2 *const background_color,
+                       const float opacity=1, const unsigned int font_height=13, ...) {
+      if (!font_height) return *this;
+      CImg<charT> tmp(2048);
+      std::va_list ap; va_start(ap,font_height);
+      cimg_vsnprintf(tmp,tmp._width,text,ap); va_end(ap);
+      const CImgList<ucharT>& font = CImgList<ucharT>::font(font_height,true);
+      _draw_text(x0,y0,tmp,foreground_color,background_color,opacity,font,true);
+      return *this;
+    }
+
+    //! Draw a text string \overloading.
+    template<typename tc>
+    CImg<T>& draw_text(const int x0, const int y0,
+                       const char *const text,
+                       const tc *const foreground_color, const int background_color=0,
+                       const float opacity=1, const unsigned int font_height=13, ...) {
+      if (!font_height) return *this;
+      cimg::unused(background_color);
+      CImg<charT> tmp(2048);
+      std::va_list ap; va_start(ap,font_height);
+      cimg_vsnprintf(tmp,tmp._width,text,ap); va_end(ap);
+      return draw_text(x0,y0,"%s",foreground_color,(const tc*)0,opacity,font_height,tmp._data);
+    }
+
+    //! Draw a text string \overloading.
+    template<typename tc>
+    CImg<T>& draw_text(const int x0, const int y0,
+                       const char *const text,
+                       const int, const tc *const background_color,
+                       const float opacity=1, const unsigned int font_height=13, ...) {
+      if (!font_height) return *this;
+      CImg<charT> tmp(2048);
+      std::va_list ap; va_start(ap,font_height);
+      cimg_vsnprintf(tmp,tmp._width,text,ap); va_end(ap);
+      return draw_text(x0,y0,"%s",(tc*)0,background_color,opacity,font_height,tmp._data);
+    }
+
+    template<typename tc1, typename tc2, typename t>
+    CImg<T>& _draw_text(const int x0, const int y0,
+                        const char *const text,
+                        const tc1 *const foreground_color, const tc2 *const background_color,
+                        const float opacity, const CImgList<t>& font,
+                        const bool is_native_font) {
+      if (!text) return *this;
+      if (!font)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_text(): Empty specified font.",
+                                    cimg_instance);
+
+      const unsigned int text_length = (unsigned int)std::strlen(text);
+      const bool _is_empty = is_empty();
+      if (_is_empty) {
+        // If needed, pre-compute necessary size of the image
+        int x = 0, y = 0, w = 0;
+        unsigned char c = 0;
+        for (unsigned int i = 0; i<text_length; ++i) {
+          c = (unsigned char)text[i];
+          switch (c) {
+          case '\n' : y+=font[0]._height; if (x>w) w = x; x = 0; break;
+          case '\t' : x+=4*font[' ']._width; break;
+          default : if (c<font._width) x+=font[c]._width;
+          }
+        }
+        if (x!=0 || c=='\n') {
+          if (x>w) w=x;
+          y+=font[0]._height;
+        }
+        assign(x0 + w,y0 + y,1,is_native_font?1:font[0]._spectrum,0);
+      }
+
+      int x = x0, y = y0;
+      for (unsigned int i = 0; i<text_length; ++i) {
+        const unsigned char c = (unsigned char)text[i];
+        switch (c) {
+        case '\n' : y+=font[0]._height; x = x0; break;
+        case '\t' : x+=4*font[' ']._width; break;
+        default : if (c<font._width) {
+            CImg<T> letter = font[c];
+            if (letter) {
+              if (is_native_font && _spectrum>letter._spectrum) letter.resize(-100,-100,1,_spectrum,0,2);
+              const unsigned int cmin = cimg::min(_spectrum,letter._spectrum);
+              if (foreground_color)
+                for (unsigned int c = 0; c<cmin; ++c)
+                  if (foreground_color[c]!=1) letter.get_shared_channel(c)*=foreground_color[c];
+              if (c + 256<font.width()) { // Letter has mask.
+                if (background_color)
+                  for (unsigned int c = 0; c<cmin; ++c)
+                    draw_rectangle(x,y,0,c,x + letter._width - 1,y + letter._height - 1,0,c,
+                                   background_color[c],opacity);
+                draw_image(x,y,letter,font[c + 256],opacity,255.0f);
+              } else draw_image(x,y,letter,opacity); // Letter has no mask.
+              x+=letter._width;
+            }
+          }
+        }
+      }
+      return *this;
+    }
+
+    //! Draw a 2d vector field.
+    /**
+       \param flow Image of 2d vectors used as input data.
+       \param color Image of spectrum()-D vectors corresponding to the color of each arrow.
+       \param opacity Drawing opacity.
+       \param sampling Length (in pixels) between each arrow.
+       \param factor Length factor of each arrow (if <0, computed as a percentage of the maximum length).
+       \param is_arrow Tells if arrows must be drawn, instead of oriented segments.
+       \param pattern Used pattern to draw lines.
+       \note Clipping is supported.
+    **/
+    template<typename t1, typename t2>
+    CImg<T>& draw_quiver(const CImg<t1>& flow,
+                         const t2 *const color, const float opacity=1,
+                         const unsigned int sampling=25, const float factor=-20,
+                         const bool is_arrow=true, const unsigned int pattern=~0U) {
+      return draw_quiver(flow,CImg<t2>(color,_spectrum,1,1,1,true),opacity,sampling,factor,is_arrow,pattern);
+    }
+
+    //! Draw a 2d vector field, using a field of colors.
+    /**
+       \param flow Image of 2d vectors used as input data.
+       \param color Image of spectrum()-D vectors corresponding to the color of each arrow.
+       \param opacity Opacity of the drawing.
+       \param sampling Length (in pixels) between each arrow.
+       \param factor Length factor of each arrow (if <0, computed as a percentage of the maximum length).
+       \param is_arrow Tells if arrows must be drawn, instead of oriented segments.
+       \param pattern Used pattern to draw lines.
+       \note Clipping is supported.
+    **/
+    template<typename t1, typename t2>
+    CImg<T>& draw_quiver(const CImg<t1>& flow,
+                         const CImg<t2>& color, const float opacity=1,
+                         const unsigned int sampling=25, const float factor=-20,
+                         const bool is_arrow=true, const unsigned int pattern=~0U) {
+      if (is_empty()) return *this;
+      if (!flow || flow._spectrum!=2)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_quiver(): Invalid dimensions of specified flow (%u,%u,%u,%u,%p).",
+                                    cimg_instance,
+                                    flow._width,flow._height,flow._depth,flow._spectrum,flow._data);
+      if (sampling<=0)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_quiver(): Invalid sampling value %g "
+                                    "(should be >0)",
+                                    cimg_instance,
+                                    sampling);
+      const bool colorfield = (color._width==flow._width && color._height==flow._height &&
+                               color._depth==1 && color._spectrum==_spectrum);
+      if (is_overlapped(flow)) return draw_quiver(+flow,color,opacity,sampling,factor,is_arrow,pattern);
+      float vmax,fact;
+      if (factor<=0) {
+        float m, M = (float)flow.get_norm(2).max_min(m);
+        vmax = (float)cimg::max(cimg::abs(m),cimg::abs(M));
+        if (!vmax) vmax = 1;
+        fact = -factor;
+      } else { fact = factor; vmax = 1; }
+
+      for (unsigned int y = sampling/2; y<_height; y+=sampling)
+        for (unsigned int x = sampling/2; x<_width; x+=sampling) {
+          const unsigned int X = x*flow._width/_width, Y = y*flow._height/_height;
+          float u = (float)flow(X,Y,0,0)*fact/vmax, v = (float)flow(X,Y,0,1)*fact/vmax;
+          if (is_arrow) {
+            const int xx = (int)(x + u), yy = (int)(y + v);
+            if (colorfield) draw_arrow(x,y,xx,yy,color.get_vector_at(X,Y)._data,opacity,45,sampling/5.0f,pattern);
+            else draw_arrow(x,y,xx,yy,color._data,opacity,45,sampling/5.0f,pattern);
+          } else {
+            if (colorfield)
+              draw_line((int)(x - 0.5*u),(int)(y - 0.5*v),(int)(x + 0.5*u),(int)(y + 0.5*v),
+                        color.get_vector_at(X,Y)._data,opacity,pattern);
+            else draw_line((int)(x - 0.5*u),(int)(y - 0.5*v),(int)(x + 0.5*u),(int)(y + 0.5*v),
+                           color._data,opacity,pattern);
+          }
+        }
+      return *this;
+    }
+
+    //! Draw a labeled horizontal axis.
+    /**
+       \param values_x Values along the horizontal axis.
+       \param y Y-coordinate of the horizontal axis in the image instance.
+       \param color Pointer to \c spectrum() consecutive values, defining the drawing color.
+       \param opacity Drawing opacity.
+       \param pattern Drawing pattern.
+       \param font_height Height of the labels (exact match for 13,23,53,103, interpolated otherwise).
+       \param allow_zero Enable/disable the drawing of label '0' if found.
+    **/
+    template<typename t, typename tc>
+    CImg<T>& draw_axis(const CImg<t>& values_x, const int y,
+                       const tc *const color, const float opacity=1,
+                       const unsigned int pattern=~0U, const unsigned int font_height=13,
+                       const bool allow_zero=true) {
+      if (is_empty()) return *this;
+      const int yt = (y + 3 + font_height)<_height?y + 3:y - 2 - (int)font_height;
+      const int siz = (int)values_x.size() - 1;
+      char txt[32] = { 0 };
+      CImg<T> label;
+      if (siz<=0) { // Degenerated case.
+        draw_line(0,y,_width - 1,y,color,opacity,pattern);
+        if (!siz) {
+          cimg_snprintf(txt,sizeof(txt),"%g",(double)*values_x);
+          label.assign().draw_text(0,0,txt,color,(tc*)0,opacity,font_height);
+          const int
+            _xt = (width() - label.width())/2,
+            xt = _xt<3?3:_xt + label.width()>=width() - 2?width() - 3 - label.width():_xt;
+          draw_point(width()/2,y - 1,color,opacity).draw_point(width()/2,y + 1,color,opacity);
+          if (allow_zero || txt[0]!='0' || txt[1]!=0)
+            draw_text(xt,yt,txt,color,(tc*)0,opacity,font_height);
+        }
+      } else { // Regular case.
+        if (values_x[0]<values_x[siz]) draw_arrow(0,y,_width - 1,y,color,opacity,30,5,pattern);
+        else draw_arrow(_width - 1,y,0,y,color,opacity,30,5,pattern);
+        cimg_foroff(values_x,x) {
+          cimg_snprintf(txt,sizeof(txt),"%g",(double)values_x(x));
+          label.assign().draw_text(0,0,txt,color,(tc*)0,opacity,font_height);
+          const int
+            xi = (int)(x*(_width - 1)/siz),
+            _xt = xi - label.width()/2,
+            xt = _xt<3?3:_xt + label.width()>=width() - 2?width() - 3 - label.width():_xt;
+          draw_point(xi,y - 1,color,opacity).draw_point(xi,y + 1,color,opacity);
+          if (allow_zero || txt[0]!='0' || txt[1]!=0)
+            draw_text(xt,yt,txt,color,(tc*)0,opacity,font_height);
+        }
+      }
+      return *this;
+    }
+
+    //! Draw a labeled vertical axis.
+    /**
+       \param x X-coordinate of the vertical axis in the image instance.
+       \param values_y Values along the Y-axis.
+       \param color Pointer to \c spectrum() consecutive values, defining the drawing color.
+       \param opacity Drawing opacity.
+       \param pattern Drawing pattern.
+       \param font_height Height of the labels (exact match for 13,23,53,103, interpolated otherwise).
+       \param allow_zero Enable/disable the drawing of label '0' if found.
+    **/
+    template<typename t, typename tc>
+    CImg<T>& draw_axis(const int x, const CImg<t>& values_y,
+                       const tc *const color, const float opacity=1,
+                       const unsigned int pattern=~0U, const unsigned int font_height=13,
+                       const bool allow_zero=true) {
+      if (is_empty()) return *this;
+      int siz = (int)values_y.size() - 1;
+      char txt[32] = { 0 };
+      CImg<T> label;
+      if (siz<=0) { // Degenerated case.
+        draw_line(x,0,x,_height - 1,color,opacity,pattern);
+        if (!siz) {
+          cimg_snprintf(txt,sizeof(txt),"%g",(double)*values_y);
+          label.assign().draw_text(0,0,txt,color,(tc*)0,opacity,font_height);
+          const int
+            _yt = (height() - label.height())/2,
+            yt = _yt<0?0:_yt + label.height()>=height()?height() - 1-label.height():_yt,
+            _xt = x - 2 - label.width(),
+            xt = _xt>=0?_xt:x + 3;
+          draw_point(x - 1,height()/2,color,opacity).draw_point(x + 1,height()/2,color,opacity);
+          if (allow_zero || txt[0]!='0' || txt[1]!=0)
+            draw_text(xt,yt,txt,color,(tc*)0,opacity,font_height);
+        }
+      } else { // Regular case.
+        if (values_y[0]<values_y[siz]) draw_arrow(x,0,x,_height - 1,color,opacity,30,5,pattern);
+        else draw_arrow(x,_height - 1,x,0,color,opacity,30,5,pattern);
+        cimg_foroff(values_y,y) {
+          cimg_snprintf(txt,sizeof(txt),"%g",(double)values_y(y));
+          label.assign().draw_text(0,0,txt,color,(tc*)0,opacity,font_height);
+          const int
+            yi = (int)(y*(_height - 1)/siz),
+            _yt = yi - label.height()/2,
+            yt = _yt<0?0:_yt + label.height()>=height()?height() - 1-label.height():_yt,
+            _xt = x - 2 - label.width(),
+            xt = _xt>=0?_xt:x + 3;
+          draw_point(x - 1,yi,color,opacity).draw_point(x + 1,yi,color,opacity);
+          if (allow_zero || txt[0]!='0' || txt[1]!=0)
+            draw_text(xt,yt,txt,color,(tc*)0,opacity,font_height);
+        }
+      }
+      return *this;
+    }
+
+    //! Draw labeled horizontal and vertical axes.
+    /**
+       \param values_x Values along the X-axis.
+       \param values_y Values along the Y-axis.
+       \param color Pointer to \c spectrum() consecutive values, defining the drawing color.
+       \param opacity Drawing opacity.
+       \param pattern_x Drawing pattern for the X-axis.
+       \param pattern_y Drawing pattern for the Y-axis.
+       \param font_height Height of the labels (exact match for 13,23,53,103, interpolated otherwise).
+       \param allow_zero Enable/disable the drawing of label '0' if found.
+    **/
+    template<typename tx, typename ty, typename tc>
+    CImg<T>& draw_axes(const CImg<tx>& values_x, const CImg<ty>& values_y,
+                       const tc *const color, const float opacity=1,
+                       const unsigned int pattern_x=~0U, const unsigned int pattern_y=~0U,
+                       const unsigned int font_height=13, const bool allow_zero=true) {
+      if (is_empty()) return *this;
+      const CImg<tx> nvalues_x(values_x._data,values_x.size(),1,1,1,true);
+      const int sizx = (int)values_x.size() - 1, wm1 = width() - 1;
+      if (sizx>=0) {
+        float ox = (float)*nvalues_x;
+        for (unsigned int x = sizx?1U:0U; x<_width; ++x) {
+          const float nx = (float)nvalues_x._linear_atX((float)x*sizx/wm1);
+          if (nx*ox<=0) { draw_axis(nx==0?x:x - 1,values_y,color,opacity,pattern_y,font_height,allow_zero); break; }
+          ox = nx;
+        }
+      }
+      const CImg<ty> nvalues_y(values_y._data,values_y.size(),1,1,1,true);
+      const int sizy = (int)values_y.size() - 1, hm1 = height() - 1;
+      if (sizy>0) {
+        float oy = (float)nvalues_y[0];
+        for (unsigned int y = sizy?1U:0U; y<_height; ++y) {
+          const float ny = (float)nvalues_y._linear_atX((float)y*sizy/hm1);
+          if (ny*oy<=0) { draw_axis(values_x,ny==0?y:y - 1,color,opacity,pattern_x,font_height,allow_zero); break; }
+          oy = ny;
+        }
+      }
+      return *this;
+    }
+
+    //! Draw labeled horizontal and vertical axes \overloading.
+    template<typename tc>
+    CImg<T>& draw_axes(const float x0, const float x1, const float y0, const float y1,
+                       const tc *const color, const float opacity=1,
+                       const int subdivisionx=-60, const int subdivisiony=-60,
+                       const float precisionx=0, const float precisiony=0,
+                       const unsigned int pattern_x=~0U, const unsigned int pattern_y=~0U,
+                       const unsigned int font_height=13) {
+      if (is_empty()) return *this;
+      const bool allow_zero = (x0*x1>0) || (y0*y1>0);
+      const float
+        dx = cimg::abs(x1-x0), dy = cimg::abs(y1-y0),
+        px = dx<=0?1:precisionx==0?(float)std::pow(10.0,(int)std::log10(dx) - 2.0):precisionx,
+        py = dy<=0?1:precisiony==0?(float)std::pow(10.0,(int)std::log10(dy) - 2.0):precisiony;
+      if (x0!=x1 && y0!=y1)
+        draw_axes(CImg<floatT>::sequence(subdivisionx>0?subdivisionx:1-width()/subdivisionx,x0,x1).round(px),
+                  CImg<floatT>::sequence(subdivisiony>0?subdivisiony:1-height()/subdivisiony,y0,y1).round(py),
+                  color,opacity,pattern_x,pattern_y,font_height,allow_zero);
+      else if (x0==x1 && y0!=y1)
+        draw_axis((int)x0,CImg<floatT>::sequence(subdivisiony>0?subdivisiony:1-height()/subdivisiony,y0,y1).round(py),
+                  color,opacity,pattern_y,font_height);
+      else if (x0!=x1 && y0==y1)
+        draw_axis(CImg<floatT>::sequence(subdivisionx>0?subdivisionx:1-width()/subdivisionx,x0,x1).round(px),(int)y0,
+                  color,opacity,pattern_x,font_height);
+      return *this;
+    }
+
+    //! Draw 2d grid.
+    /**
+       \param values_x X-coordinates of the vertical lines.
+       \param values_y Y-coordinates of the horizontal lines.
+       \param color Pointer to \c spectrum() consecutive values, defining the drawing color.
+       \param opacity Drawing opacity.
+       \param pattern_x Drawing pattern for vertical lines.
+       \param pattern_y Drawing pattern for horizontal lines.
+    **/
+    template<typename tx, typename ty, typename tc>
+    CImg<T>& draw_grid(const CImg<tx>& values_x, const CImg<ty>& values_y,
+                       const tc *const color, const float opacity=1,
+                       const unsigned int pattern_x=~0U, const unsigned int pattern_y=~0U) {
+      if (is_empty()) return *this;
+      if (values_x) cimg_foroff(values_x,x) {
+          const int xi = (int)values_x[x];
+          if (xi>=0 && xi<width()) draw_line(xi,0,xi,_height - 1,color,opacity,pattern_x);
+        }
+      if (values_y) cimg_foroff(values_y,y) {
+          const int yi = (int)values_y[y];
+          if (yi>=0 && yi<height()) draw_line(0,yi,_width - 1,yi,color,opacity,pattern_y);
+        }
+      return *this;
+    }
+
+    //! Draw 2d grid \simplification.
+    template<typename tc>
+    CImg<T>& draw_grid(const float delta_x,  const float delta_y,
+                       const float offsetx, const float offsety,
+                       const bool invertx, const bool inverty,
+                       const tc *const color, const float opacity=1,
+                       const unsigned int pattern_x=~0U, const unsigned int pattern_y=~0U) {
+      if (is_empty()) return *this;
+      CImg<uintT> seqx, seqy;
+      if (delta_x!=0) {
+        const float dx = delta_x>0?delta_x:_width*-delta_x/100;
+        const unsigned int nx = (unsigned int)(_width/dx);
+        seqx = CImg<uintT>::sequence(1 + nx,0,(unsigned int)(dx*nx));
+        if (offsetx) cimg_foroff(seqx,x) seqx(x) = (unsigned int)cimg::mod(seqx(x) + offsetx,(float)_width);
+        if (invertx) cimg_foroff(seqx,x) seqx(x) = _width - 1 - seqx(x);
+      }
+      if (delta_y!=0) {
+        const float dy = delta_y>0?delta_y:_height*-delta_y/100;
+        const unsigned int ny = (unsigned int)(_height/dy);
+        seqy = CImg<uintT>::sequence(1 + ny,0,(unsigned int)(dy*ny));
+        if (offsety) cimg_foroff(seqy,y) seqy(y) = (unsigned int)cimg::mod(seqy(y) + offsety,(float)_height);
+        if (inverty) cimg_foroff(seqy,y) seqy(y) = _height - 1 - seqy(y);
+     }
+      return draw_grid(seqx,seqy,color,opacity,pattern_x,pattern_y);
+    }
+
+    //! Draw 1d graph.
+    /**
+       \param data Image containing the graph values I = f(x).
+       \param color Pointer to \c spectrum() consecutive values, defining the drawing color.
+       \param opacity Drawing opacity.
+
+       \param plot_type Define the type of the plot:
+                      - 0 = No plot.
+                      - 1 = Plot using segments.
+                      - 2 = Plot using cubic splines.
+                      - 3 = Plot with bars.
+       \param vertex_type Define the type of points:
+                      - 0 = No points.
+                      - 1 = Point.
+                      - 2 = Straight cross.
+                      - 3 = Diagonal cross.
+                      - 4 = Filled circle.
+                      - 5 = Outlined circle.
+                      - 6 = Square.
+                      - 7 = Diamond.
+       \param ymin Lower bound of the y-range.
+       \param ymax Upper bound of the y-range.
+       \param pattern Drawing pattern.
+       \note
+         - if \c ymin==ymax==0, the y-range is computed automatically from the input samples.
+    **/
+    template<typename t, typename tc>
+    CImg<T>& draw_graph(const CImg<t>& data,
+                        const tc *const color, const float opacity=1,
+                        const unsigned int plot_type=1, const int vertex_type=1,
+                        const double ymin=0, const double ymax=0, const unsigned int pattern=~0U) {
+      if (is_empty() || _height<=1) return *this;
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_graph(): Specified color is (null).",
+                                    cimg_instance);
+
+      // Create shaded colors for displaying bar plots.
+      CImg<tc> color1, color2;
+      if (plot_type==3) {
+        color1.assign(_spectrum); color2.assign(_spectrum);
+        cimg_forC(*this,c) {
+          color1[c] = (tc)cimg::min((float)cimg::type<tc>::max(),color[c]*1.2f);
+          color2[c] = (tc)(color[c]*0.4f);
+        }
+      }
+
+      // Compute min/max and normalization factors.
+      const unsigned long
+        siz = data.size(),
+        _siz1 = siz - (plot_type!=3?1:0),
+        siz1 = _siz1?_siz1:1;
+      const unsigned int
+        _width1 = _width - (plot_type!=3?1:0),
+        width1 = _width1?_width1:1;
+      double m = ymin, M = ymax;
+      if (ymin==ymax) m = (double)data.max_min(M);
+      if (m==M) { --m; ++M; }
+      const float ca = (float)(M-m)/(_height - 1);
+      bool init_hatch = true;
+
+      // Draw graph edges
+      switch (plot_type%4) {
+      case 1 : { // Segments
+        int oX = 0, oY = (int)((data[0] - m)/ca);
+        if (siz==1) {
+          const int Y = (int)((*data - m)/ca);
+          draw_line(0,Y,width() - 1,Y,color,opacity,pattern);
+        } else {
+          const float fx = (float)_width/siz1;
+          for (unsigned long off = 1; off<siz; ++off) {
+            const int
+              X = (int)(off*fx) - 1,
+              Y = (int)((data[off]-m)/ca);
+            draw_line(oX,oY,X,Y,color,opacity,pattern,init_hatch);
+            oX = X; oY = Y;
+            init_hatch = false;
+          }
+        }
+      } break;
+      case 2 : { // Spline
+        const CImg<t> ndata(data._data,siz,1,1,1,true);
+        int oY = (int)((data[0] - m)/ca);
+        cimg_forX(*this,x) {
+          const int Y = (int)((ndata._cubic_atX((float)x*siz1/width1)-m)/ca);
+          if (x>0) draw_line(x,oY,x + 1,Y,color,opacity,pattern,init_hatch);
+          init_hatch = false;
+          oY = Y;
+        }
+      } break;
+      case 3 : { // Bars
+        const int Y0 = (int)(-m/ca);
+        const float fx = (float)_width/siz1;
+        int oX = 0;
+        cimg_foroff(data,off) {
+          const int
+            X = (int)((off + 1)*fx) - 1,
+            Y = (int)((data[off] - m)/ca);
+          draw_rectangle(oX,Y0,X,Y,color,opacity).
+            draw_line(oX,Y,oX,Y0,color2.data(),opacity).
+            draw_line(oX,Y0,X,Y0,Y<=Y0?color2.data():color1.data(),opacity).
+            draw_line(X,Y,X,Y0,color1.data(),opacity).
+            draw_line(oX,Y,X,Y,Y<=Y0?color1.data():color2.data(),opacity);
+          oX = X + 1;
+        }
+      } break;
+      default : break; // No edges
+      }
+
+      // Draw graph points
+      const unsigned int wb2 = plot_type==3?_width1/(2*siz):0;
+      const float fx = (float)_width1/siz1;
+      switch (vertex_type%8) {
+      case 1 : { // Point
+        cimg_foroff(data,off) {
+          const int
+            X = (int)(off*fx + wb2),
+            Y = (int)((data[off]-m)/ca);
+          draw_point(X,Y,color,opacity);
+        }
+      } break;
+      case 2 : { // Straight Cross
+        cimg_foroff(data,off) {
+          const int
+            X = (int)(off*fx + wb2),
+            Y = (int)((data[off]-m)/ca);
+          draw_line(X - 3,Y,X + 3,Y,color,opacity).draw_line(X,Y - 3,X,Y + 3,color,opacity);
+        }
+      } break;
+      case 3 : { // Diagonal Cross
+        cimg_foroff(data,off) {
+          const int
+            X = (int)(off*fx + wb2),
+            Y = (int)((data[off]-m)/ca);
+          draw_line(X - 3,Y - 3,X + 3,Y + 3,color,opacity).draw_line(X - 3,Y + 3,X + 3,Y - 3,color,opacity);
+        }
+      } break;
+      case 4 : { // Filled Circle
+        cimg_foroff(data,off) {
+          const int
+            X = (int)(off*fx + wb2),
+            Y = (int)((data[off]-m)/ca);
+          draw_circle(X,Y,3,color,opacity);
+        }
+      } break;
+      case 5 : { // Outlined circle
+        cimg_foroff(data,off) {
+          const int
+            X = (int)(off*fx + wb2),
+            Y = (int)((data[off]-m)/ca);
+          draw_circle(X,Y,3,color,opacity,0U);
+        }
+      } break;
+      case 6 : { // Square
+        cimg_foroff(data,off) {
+          const int
+            X = (int)(off*fx + wb2),
+            Y = (int)((data[off]-m)/ca);
+          draw_rectangle(X - 3,Y - 3,X + 3,Y + 3,color,opacity,~0U);
+        }
+      } break;
+      case 7 : { // Diamond
+        cimg_foroff(data,off) {
+          const int
+            X = (int)(off*fx + wb2),
+            Y = (int)((data[off]-m)/ca);
+          draw_line(X,Y - 4,X + 4,Y,color,opacity).
+            draw_line(X + 4,Y,X,Y + 4,color,opacity).
+            draw_line(X,Y + 4,X - 4,Y,color,opacity).
+            draw_line(X - 4,Y,X,Y - 4,color,opacity);
+        }
+      } break;
+      default : break; // No points
+      }
+      return *this;
+    }
+
+    //! Draw filled 3d region with the flood fill algorithm.
+    /**
+       \param x X-coordinate of the starting point of the region to fill.
+       \param y Y-coordinate of the starting point of the region to fill.
+       \param z Z-coordinate of the starting point of the region to fill.
+       \param color Pointer to \c spectrum() consecutive values, defining the drawing color.
+       \param[out] region Image that will contain the mask of the filled region mask, as an output.
+       \param sigma Tolerance concerning neighborhood values.
+       \param opacity Opacity of the drawing.
+       \param is_high_connexity Tells if 8-connexity must be used (only for 2d images).
+       \return \c region is initialized with the binary mask of the filled region.
+    **/
+    template<typename tc, typename t>
+    CImg<T>& draw_fill(const int x, const int y, const int z,
+                       const tc *const color, const float opacity,
+                       CImg<t>& region, const float sigma=0,
+                       const bool is_high_connexity=false) {
+
+#define _cimg_draw_fill_test(x,y,z,res) if (region(x,y,z)) res = false; else { \
+  res = true; \
+  const T *reference_col = reference_color._data + _spectrum, *ptrs = data(x,y,z) + siz; \
+  for (unsigned int i = _spectrum; res && i; --i) { ptrs-=whd; res = (cimg::abs(*ptrs - *(--reference_col))<=sigma); } \
+  region(x,y,z) = (t)(res?1:noregion); \
+}
+
+#define _cimg_draw_fill_set(x,y,z) { \
+  const tc *col = color; \
+  T *ptrd = data(x,y,z); \
+  if (opacity>=1) cimg_forC(*this,c) { *ptrd = (T)*(col++); ptrd+=whd; } \
+  else cimg_forC(*this,c) { *ptrd = (T)(*(col++)*nopacity + *ptrd*copacity); ptrd+=whd; } \
+}
+
+#define _cimg_draw_fill_insert(x,y,z) { \
+  if (posr1>=remaining._height) remaining.resize(3,remaining._height<<1,1,1,0); \
+  unsigned int *ptrr = remaining.data(0,posr1); \
+  *(ptrr++) = x; *(ptrr++) = y; *(ptrr++) = z; ++posr1; \
+}
+
+#define _cimg_draw_fill_test_neighbor(x,y,z,cond) if (cond) { \
+  const unsigned int tx = x, ty = y, tz = z; \
+  _cimg_draw_fill_test(tx,ty,tz,res); if (res) _cimg_draw_fill_insert(tx,ty,tz); \
+}
+
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_fill(): Specified color is (null).",
+                                    cimg_instance);
+
+      region.assign(_width,_height,_depth,1,(t)0);
+      if (x>=0 && x<width() && y>=0 && y<height() && z>=0 && z<depth()) {
+        const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+        const unsigned long whd = (unsigned long)_width*_height*_depth, siz = (unsigned long)_spectrum*whd;
+        const unsigned int W1 = _width - 1, H1 = _height - 1, D1 = _depth - 1;
+        const bool is_3d = (_depth>1);
+        const CImg<T> reference_color = get_vector_at(x,y,z);
+        CImg<uintT> remaining(3,512,1,1,0);
+        remaining(0,0) = (unsigned int)x;
+        remaining(1,0) = (unsigned int)y;
+        remaining(2,0) = (unsigned int)z;
+        unsigned int posr0 = 0, posr1 = 1;
+        region(x,y,z) = (t)1;
+        const t noregion = ((t)1==(t)2)?(t)0:(t)-1;
+        if (is_3d) do { // 3d version of the filling algorithm
+          const unsigned int *pcurr = remaining.data(0,posr0++), xc = *(pcurr++), yc = *(pcurr++), zc = *(pcurr++);
+          if (posr0>=512) { remaining.shift(0,-(int)posr0); posr1-=posr0; posr0 = 0; }
+          bool cont, res;
+          unsigned int nxc = xc;
+          do { // X-backward
+            _cimg_draw_fill_set(nxc,yc,zc);
+            _cimg_draw_fill_test_neighbor(nxc,yc - 1,zc,yc!=0);
+            _cimg_draw_fill_test_neighbor(nxc,yc + 1,zc,yc<H1);
+            _cimg_draw_fill_test_neighbor(nxc,yc,zc - 1,zc!=0);
+            _cimg_draw_fill_test_neighbor(nxc,yc,zc + 1,zc<D1);
+            if (nxc) { --nxc; _cimg_draw_fill_test(nxc,yc,zc,cont); } else cont = false;
+          } while (cont);
+          nxc = xc;
+          do { // X-forward
+            if ((++nxc)<=W1) { _cimg_draw_fill_test(nxc,yc,zc,cont); } else cont = false;
+            if (cont) {
+              _cimg_draw_fill_set(nxc,yc,zc);
+              _cimg_draw_fill_test_neighbor(nxc,yc - 1,zc,yc!=0);
+              _cimg_draw_fill_test_neighbor(nxc,yc + 1,zc,yc<H1);
+              _cimg_draw_fill_test_neighbor(nxc,yc,zc - 1,zc!=0);
+              _cimg_draw_fill_test_neighbor(nxc,yc,zc + 1,zc<D1);
+            }
+          } while (cont);
+          unsigned int nyc = yc;
+          do { // Y-backward
+            if (nyc) { --nyc; _cimg_draw_fill_test(xc,nyc,zc,cont); } else cont = false;
+            if (cont) {
+              _cimg_draw_fill_set(xc,nyc,zc);
+              _cimg_draw_fill_test_neighbor(xc - 1,nyc,zc,xc!=0);
+              _cimg_draw_fill_test_neighbor(xc + 1,nyc,zc,xc<W1);
+              _cimg_draw_fill_test_neighbor(xc,nyc,zc - 1,zc!=0);
+              _cimg_draw_fill_test_neighbor(xc,nyc,zc + 1,zc<D1);
+            }
+          } while (cont);
+          nyc = yc;
+          do { // Y-forward
+            if ((++nyc)<=H1) { _cimg_draw_fill_test(xc,nyc,zc,cont); } else cont = false;
+            if (cont) {
+              _cimg_draw_fill_set(xc,nyc,zc);
+              _cimg_draw_fill_test_neighbor(xc - 1,nyc,zc,xc!=0);
+              _cimg_draw_fill_test_neighbor(xc + 1,nyc,zc,xc<W1);
+              _cimg_draw_fill_test_neighbor(xc,nyc,zc - 1,zc!=0);
+              _cimg_draw_fill_test_neighbor(xc,nyc,zc + 1,zc<D1);
+            }
+          } while (cont);
+          unsigned int nzc = zc;
+          do { // Z-backward
+            if (nzc) { --nzc; _cimg_draw_fill_test(xc,yc,nzc,cont); } else cont = false;
+            if (cont) {
+              _cimg_draw_fill_set(xc,yc,nzc);
+              _cimg_draw_fill_test_neighbor(xc - 1,yc,nzc,xc!=0);
+              _cimg_draw_fill_test_neighbor(xc + 1,yc,nzc,xc<W1);
+              _cimg_draw_fill_test_neighbor(xc,yc - 1,nzc,yc!=0);
+              _cimg_draw_fill_test_neighbor(xc,yc + 1,nzc,yc<H1);
+            }
+          } while (cont);
+          nzc = zc;
+          do { // Z-forward
+            if ((++nzc)<=D1) { _cimg_draw_fill_test(xc,yc,nzc,cont); } else cont = false;
+            if (cont) {
+              _cimg_draw_fill_set(xc,nyc,zc);
+              _cimg_draw_fill_test_neighbor(xc - 1,yc,nzc,xc!=0);
+              _cimg_draw_fill_test_neighbor(xc + 1,yc,nzc,xc<W1);
+              _cimg_draw_fill_test_neighbor(xc,yc - 1,nzc,yc!=0);
+              _cimg_draw_fill_test_neighbor(xc,yc + 1,nzc,yc<H1);
+            }
+          } while (cont);
+        } while (posr1>posr0);
+        else do { // 2d version of the filling algorithm
+          const unsigned int *pcurr = remaining.data(0,posr0++), xc = *(pcurr++), yc = *(pcurr++);
+          if (posr0>=512) { remaining.shift(0,-(int)posr0); posr1-=posr0; posr0 = 0; }
+          bool cont, res;
+          unsigned int nxc = xc;
+          do { // X-backward
+            _cimg_draw_fill_set(nxc,yc,0);
+            _cimg_draw_fill_test_neighbor(nxc,yc - 1,0,yc!=0);
+            _cimg_draw_fill_test_neighbor(nxc,yc + 1,0,yc<H1);
+            if (is_high_connexity) {
+              _cimg_draw_fill_test_neighbor(nxc - 1,yc - 1,0,(nxc!=0 && yc!=0));
+              _cimg_draw_fill_test_neighbor(nxc + 1,yc - 1,0,(nxc<W1 && yc!=0));
+              _cimg_draw_fill_test_neighbor(nxc - 1,yc + 1,0,(nxc!=0 && yc<H1));
+              _cimg_draw_fill_test_neighbor(nxc + 1,yc + 1,0,(nxc<W1 && yc<H1));
+            }
+            if (nxc) { --nxc; _cimg_draw_fill_test(nxc,yc,0,cont); } else cont = false;
+          } while (cont);
+          nxc = xc;
+          do { // X-forward
+            if ((++nxc)<=W1) { _cimg_draw_fill_test(nxc,yc,0,cont); } else cont = false;
+            if (cont) {
+              _cimg_draw_fill_set(nxc,yc,0);
+              _cimg_draw_fill_test_neighbor(nxc,yc - 1,0,yc!=0);
+              _cimg_draw_fill_test_neighbor(nxc,yc + 1,0,yc<H1);
+              if (is_high_connexity) {
+                _cimg_draw_fill_test_neighbor(nxc - 1,yc - 1,0,(nxc!=0 && yc!=0));
+                _cimg_draw_fill_test_neighbor(nxc + 1,yc - 1,0,(nxc<W1 && yc!=0));
+                _cimg_draw_fill_test_neighbor(nxc - 1,yc + 1,0,(nxc!=0 && yc<H1));
+                _cimg_draw_fill_test_neighbor(nxc + 1,yc + 1,0,(nxc<W1 && yc<H1));
+              }
+            }
+          } while (cont);
+          unsigned int nyc = yc;
+          do { // Y-backward
+            if (nyc) { --nyc; _cimg_draw_fill_test(xc,nyc,0,cont); } else cont = false;
+            if (cont) {
+              _cimg_draw_fill_set(xc,nyc,0);
+              _cimg_draw_fill_test_neighbor(xc - 1,nyc,0,xc!=0);
+              _cimg_draw_fill_test_neighbor(xc + 1,nyc,0,xc<W1);
+              if (is_high_connexity) {
+                _cimg_draw_fill_test_neighbor(xc - 1,nyc - 1,0,(xc!=0 && nyc!=0));
+                _cimg_draw_fill_test_neighbor(xc + 1,nyc - 1,0,(xc<W1 && nyc!=0));
+                _cimg_draw_fill_test_neighbor(xc - 1,nyc + 1,0,(xc!=0 && nyc<H1));
+                _cimg_draw_fill_test_neighbor(xc + 1,nyc + 1,0,(xc<W1 && nyc<H1));
+              }
+            }
+          } while (cont);
+          nyc = yc;
+          do { // Y-forward
+            if ((++nyc)<=H1) { _cimg_draw_fill_test(xc,nyc,0,cont); } else cont = false;
+            if (cont) {
+              _cimg_draw_fill_set(xc,nyc,0);
+              _cimg_draw_fill_test_neighbor(xc - 1,nyc,0,xc!=0);
+              _cimg_draw_fill_test_neighbor(xc + 1,nyc,0,xc<W1);
+              if (is_high_connexity) {
+                _cimg_draw_fill_test_neighbor(xc - 1,nyc - 1,0,(xc!=0 && nyc!=0));
+                _cimg_draw_fill_test_neighbor(xc + 1,nyc - 1,0,(xc<W1 && nyc!=0));
+                _cimg_draw_fill_test_neighbor(xc - 1,nyc + 1,0,(xc!=0 && nyc<H1));
+                _cimg_draw_fill_test_neighbor(xc + 1,nyc + 1,0,(xc<W1 && nyc<H1));
+              }
+            }
+          } while (cont);
+        } while (posr1>posr0);
+        if (noregion) cimg_for(region,ptrd,t) if (*ptrd==noregion) *ptrd = (t)0;
+      }
+      return *this;
+    }
+
+    //! Draw filled 3d region with the flood fill algorithm \simplification.
+    template<typename tc>
+    CImg<T>& draw_fill(const int x, const int y, const int z,
+                       const tc *const color, const float opacity=1,
+                       const float sigma=0, const bool is_high_connexity=false) {
+      CImg<boolT> tmp;
+      return draw_fill(x,y,z,color,opacity,tmp,sigma,is_high_connexity);
+    }
+
+    //! Draw filled 2d region with the flood fill algorithm \simplification.
+    template<typename tc>
+    CImg<T>& draw_fill(const int x, const int y,
+                       const tc *const color, const float opacity=1,
+                       const float sigma=0, const bool is_high_connexity=false) {
+      CImg<boolT> tmp;
+      return draw_fill(x,y,0,color,opacity,tmp,sigma,is_high_connexity);
+    }
+
+    //! Draw a random plasma texture.
+    /**
+       \param alpha Alpha-parameter.
+       \param beta Beta-parameter.
+       \param scale Scale-parameter.
+       \note Use the mid-point algorithm to render.
+    **/
+    CImg<T>& draw_plasma(const float alpha=1, const float beta=0, const unsigned int scale=8) {
+      if (is_empty()) return *this;
+      const int w = width(), h = height();
+      const Tfloat m = (Tfloat)cimg::type<T>::min(), M = (Tfloat)cimg::type<T>::max();
+      cimg_forZC(*this,z,c) {
+        CImg<T> ref = get_shared_slice(z,c);
+        for (int delta = 1<<cimg::min(scale,31U); delta>1; delta>>=1) {
+          const int delta2 = delta>>1;
+          const float r = alpha*delta + beta;
+
+          // Square step.
+          for (int y0 = 0; y0<h; y0+=delta)
+            for (int x0 = 0; x0<w; x0+=delta) {
+              const int x1 = (x0 + delta)%w, y1 = (y0 + delta)%h, xc = (x0 + delta2)%w, yc = (y0 + delta2)%h;
+              const Tfloat val = (Tfloat)(0.25f*(ref(x0,y0) + ref(x0,y1) + ref(x0,y1) + ref(x1,y1)) + r*cimg::crand());
+              ref(xc,yc) = (T)(val<m?m:val>M?M:val);
+            }
+
+          // Diamond steps.
+          for (int y = -delta2; y<h; y+=delta)
+            for (int x0=0; x0<w; x0+=delta) {
+              const int y0 = cimg::mod(y,h), x1 = (x0 + delta)%w, y1 = (y + delta)%h,
+                xc = (x0 + delta2)%w, yc = (y + delta2)%h;
+              const Tfloat val = (Tfloat)(0.25f*(ref(xc,y0) + ref(x0,yc) + ref(xc,y1) + ref(x1,yc)) + r*cimg::crand());
+              ref(xc,yc) = (T)(val<m?m:val>M?M:val);
+            }
+          for (int y0 = 0; y0<h; y0+=delta)
+            for (int x = -delta2; x<w; x+=delta) {
+              const int x0 = cimg::mod(x,w), x1 = (x + delta)%w, y1 = (y0 + delta)%h,
+                xc = (x + delta2)%w, yc = (y0 + delta2)%h;
+              const Tfloat val = (Tfloat)(0.25f*(ref(xc,y0) + ref(x0,yc) + ref(xc,y1) + ref(x1,yc)) + r*cimg::crand());
+              ref(xc,yc) = (T)(val<m?m:val>M?M:val);
+            }
+          for (int y = -delta2; y<h; y+=delta)
+            for (int x = -delta2; x<w; x+=delta) {
+              const int x0 = cimg::mod(x,w), y0 = cimg::mod(y,h), x1 = (x + delta)%w, y1 = (y + delta)%h,
+                xc = (x + delta2)%w, yc = (y + delta2)%h;
+              const Tfloat val = (Tfloat)(0.25f*(ref(xc,y0) + ref(x0,yc) + ref(xc,y1) + ref(x1,yc)) + r*cimg::crand());
+                ref(xc,yc) = (T)(val<m?m:val>M?M:val);
+            }
+        }
+      }
+      return *this;
+    }
+
+    //! Draw a quadratic Mandelbrot or Julia 2d fractal.
+    /**
+       \param x0 X-coordinate of the upper-left pixel.
+       \param y0 Y-coordinate of the upper-left pixel.
+       \param x1 X-coordinate of the lower-right pixel.
+       \param y1 Y-coordinate of the lower-right pixel.
+       \param colormap Colormap.
+       \param opacity Drawing opacity.
+       \param z0r Real part of the upper-left fractal vertex.
+       \param z0i Imaginary part of the upper-left fractal vertex.
+       \param z1r Real part of the lower-right fractal vertex.
+       \param z1i Imaginary part of the lower-right fractal vertex.
+       \param iteration_max Maximum number of iterations for each estimated point.
+       \param is_normalized_iteration Tells if iterations are normalized.
+       \param is_julia_set Tells if the Mandelbrot or Julia set is rendered.
+       \param param_r Real part of the Julia set parameter.
+       \param param_i Imaginary part of the Julia set parameter.
+       \note Fractal rendering is done by the Escape Time Algorithm.
+    **/
+    template<typename tc>
+    CImg<T>& draw_mandelbrot(const int x0, const int y0, const int x1, const int y1,
+                             const CImg<tc>& colormap, const float opacity=1,
+                             const double z0r=-2, const double z0i=-2, const double z1r=2, const double z1i=2,
+                             const unsigned int iteration_max=255,
+                             const bool is_normalized_iteration=false,
+                             const bool is_julia_set=false,
+                             const double param_r=0, const double param_i=0) {
+      if (is_empty()) return *this;
+      CImg<tc> palette;
+      if (colormap) palette.assign(colormap._data,colormap.size()/colormap._spectrum,1,1,colormap._spectrum,true);
+      if (palette && palette._spectrum!=_spectrum)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_mandelbrot(): Instance and specified colormap (%u,%u,%u,%u,%p) have "
+                                    "incompatible dimensions.",
+                                    cimg_instance,
+                                    colormap._width,colormap._height,colormap._depth,colormap._spectrum,colormap._data);
+
+      const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0), ln2 = (float)std::log(2.0);
+      const int
+        _x0 = x0<0?0:x0>=width()?width() - 1:x0,
+        _y0 = y0<0?0:y0>=height()?height() - 1:y0,
+        _x1 = x1<0?1:x1>=width()?width() - 1:x1,
+        _y1 = y1<0?1:y1>=height()?height() - 1:y1;
+#ifdef cimg_use_openmp
+#pragma omp parallel for collapse(2) if ((1 + _x1 - _x0)*(1 + _y1 - _y0)>=2048)
+#endif
+      for (int q = _y0; q<=_y1; ++q)
+        for (int p = _x0; p<=_x1; ++p) {
+          unsigned int iteration = 0;
+          const double x = z0r + p*(z1r-z0r)/_width, y = z0i + q*(z1i-z0i)/_height;
+          double zr, zi, cr, ci;
+          if (is_julia_set) { zr = x; zi = y; cr = param_r; ci = param_i; }
+          else { zr = param_r; zi = param_i; cr = x; ci = y; }
+          for (iteration=1; zr*zr + zi*zi<=4 && iteration<=iteration_max; ++iteration) {
+            const double temp = zr*zr - zi*zi + cr;
+            zi = 2*zr*zi + ci;
+            zr = temp;
+          }
+          if (iteration>iteration_max) {
+            if (palette) {
+              if (opacity>=1) cimg_forC(*this,c) (*this)(p,q,0,c) = (T)palette(0,c);
+              else cimg_forC(*this,c) (*this)(p,q,0,c) = (T)(palette(0,c)*nopacity + (*this)(p,q,0,c)*copacity);
+            } else {
+              if (opacity>=1) cimg_forC(*this,c) (*this)(p,q,0,c) = (T)0;
+              else cimg_forC(*this,c) (*this)(p,q,0,c) = (T)((*this)(p,q,0,c)*copacity);
+            }
+          } else if (is_normalized_iteration) {
+            const float
+              normz = (float)cimg::abs(zr*zr + zi*zi),
+              niteration = (float)(iteration + 1 - std::log(std::log(normz))/ln2);
+            if (palette) {
+              if (opacity>=1) cimg_forC(*this,c) (*this)(p,q,0,c) = (T)palette._linear_atX(niteration,c);
+              else cimg_forC(*this,c)
+                     (*this)(p,q,0,c) = (T)(palette._linear_atX(niteration,c)*nopacity + (*this)(p,q,0,c)*copacity);
+            } else {
+              if (opacity>=1) cimg_forC(*this,c) (*this)(p,q,0,c) = (T)niteration;
+              else cimg_forC(*this,c) (*this)(p,q,0,c) = (T)(niteration*nopacity + (*this)(p,q,0,c)*copacity);
+            }
+          } else {
+            if (palette) {
+              if (opacity>=1) cimg_forC(*this,c) (*this)(p,q,0,c) = (T)palette._atX(iteration,c);
+              else cimg_forC(*this,c) (*this)(p,q,0,c) = (T)(palette(iteration,c)*nopacity + (*this)(p,q,0,c)*copacity);
+            } else {
+              if (opacity>=1) cimg_forC(*this,c) (*this)(p,q,0,c) = (T)iteration;
+              else cimg_forC(*this,c) (*this)(p,q,0,c) = (T)(iteration*nopacity + (*this)(p,q,0,c)*copacity);
+            }
+          }
+        }
+      return *this;
+    }
+
+    //! Draw a quadratic Mandelbrot or Julia 2d fractal \overloading.
+    template<typename tc>
+    CImg<T>& draw_mandelbrot(const CImg<tc>& colormap, const float opacity=1,
+                             const double z0r=-2, const double z0i=-2, const double z1r=2, const double z1i=2,
+                             const unsigned int iteration_max=255,
+                             const bool is_normalized_iteration=false,
+                             const bool is_julia_set=false,
+                             const double param_r=0, const double param_i=0) {
+      return draw_mandelbrot(0,0,_width - 1,_height - 1,colormap,opacity,
+                             z0r,z0i,z1r,z1i,iteration_max,is_normalized_iteration,is_julia_set,param_r,param_i);
+    }
+
+    //! Draw a 1d gaussian function.
+    /**
+       \param xc X-coordinate of the gaussian center.
+       \param sigma Standard variation of the gaussian distribution.
+       \param color Pointer to \c spectrum() consecutive values, defining the drawing color.
+       \param opacity Drawing opacity.
+    **/
+    template<typename tc>
+    CImg<T>& draw_gaussian(const float xc, const float sigma,
+                           const tc *const color, const float opacity=1) {
+      if (is_empty()) return *this;
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_gaussian(): Specified color is (null).",
+                                    cimg_instance);
+      const float sigma2 = 2*sigma*sigma, nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+      const unsigned long whd = (unsigned long)_width*_height*_depth;
+      const tc *col = color;
+      cimg_forX(*this,x) {
+        const float dx = (x - xc), val = (float)std::exp(-dx*dx/sigma2);
+        T *ptrd = data(x,0,0,0);
+        if (opacity>=1) cimg_forC(*this,c) { *ptrd = (T)(val*(*col++)); ptrd+=whd; }
+        else cimg_forC(*this,c) { *ptrd = (T)(nopacity*val*(*col++) + *ptrd*copacity); ptrd+=whd; }
+        col-=_spectrum;
+      }
+      return *this;
+    }
+
+    //! Draw a 2d gaussian function.
+    /**
+       \param xc X-coordinate of the gaussian center.
+       \param yc Y-coordinate of the gaussian center.
+       \param tensor Covariance matrix (must be 2x2).
+       \param color Pointer to \c spectrum() consecutive values, defining the drawing color.
+       \param opacity Drawing opacity.
+    **/
+    template<typename t, typename tc>
+    CImg<T>& draw_gaussian(const float xc, const float yc, const CImg<t>& tensor,
+                           const tc *const color, const float opacity=1) {
+      if (is_empty()) return *this;
+      if (tensor._width!=2 || tensor._height!=2 || tensor._depth!=1 || tensor._spectrum!=1)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_gaussian(): Specified tensor (%u,%u,%u,%u,%p) is not a 2x2 matrix.",
+                                    cimg_instance,
+                                    tensor._width,tensor._height,tensor._depth,tensor._spectrum,tensor._data);
+      if (!color)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_gaussian(): Specified color is (null).",
+                                    cimg_instance);
+      typedef typename CImg<t>::Tfloat tfloat;
+      const CImg<tfloat> invT = tensor.get_invert(), invT2 = (invT*invT)/(-2.0);
+      const tfloat a = invT2(0,0), b = 2*invT2(1,0), c = invT2(1,1);
+      const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+      const unsigned long whd = (unsigned long)_width*_height*_depth;
+      const tc *col = color;
+      float dy = -yc;
+      cimg_forY(*this,y) {
+        float dx = -xc;
+        cimg_forX(*this,x) {
+          const float val = (float)std::exp(a*dx*dx + b*dx*dy + c*dy*dy);
+          T *ptrd = data(x,y,0,0);
+          if (opacity>=1) cimg_forC(*this,c) { *ptrd = (T)(val*(*col++)); ptrd+=whd; }
+          else cimg_forC(*this,c) { *ptrd = (T)(nopacity*val*(*col++) + *ptrd*copacity); ptrd+=whd; }
+          col-=_spectrum;
+          ++dx;
+        }
+        ++dy;
+      }
+      return *this;
+    }
+
+    //! Draw a 2d gaussian function \overloading.
+    template<typename tc>
+    CImg<T>& draw_gaussian(const int xc, const int yc, const float r1, const float r2, const float ru, const float rv,
+                           const tc *const color, const float opacity=1) {
+      const double
+        a = r1*ru*ru + r2*rv*rv,
+        b = (r1-r2)*ru*rv,
+        c = r1*rv*rv + r2*ru*ru;
+      const CImg<Tfloat> tensor(2,2,1,1, a,b,b,c);
+      return draw_gaussian(xc,yc,tensor,color,opacity);
+    }
+
+    //! Draw a 2d gaussian function \overloading.
+    template<typename tc>
+    CImg<T>& draw_gaussian(const float xc, const float yc, const float sigma,
+                           const tc *const color, const float opacity=1) {
+      return draw_gaussian(xc,yc,CImg<floatT>::diagonal(sigma,sigma),color,opacity);
+    }
+
+    //! Draw a 3d gaussian function \overloading.
+    template<typename t, typename tc>
+    CImg<T>& draw_gaussian(const float xc, const float yc, const float zc, const CImg<t>& tensor,
+                           const tc *const color, const float opacity=1) {
+      if (is_empty()) return *this;
+      typedef typename CImg<t>::Tfloat tfloat;
+      if (tensor._width!=3 || tensor._height!=3 || tensor._depth!=1 || tensor._spectrum!=1)
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_gaussian(): Specified tensor (%u,%u,%u,%u,%p) is not a 3x3 matrix.",
+                                    cimg_instance,
+                                    tensor._width,tensor._height,tensor._depth,tensor._spectrum,tensor._data);
+
+      const CImg<tfloat> invT = tensor.get_invert(), invT2 = (invT*invT)/(-2.0);
+      const tfloat a = invT2(0,0), b = 2*invT2(1,0), c = 2*invT2(2,0), d = invT2(1,1), e = 2*invT2(2,1), f = invT2(2,2);
+      const float nopacity = cimg::abs(opacity), copacity = 1 - cimg::max(opacity,0);
+      const unsigned long whd = (unsigned long)_width*_height*_depth;
+      const tc *col = color;
+      cimg_forXYZ(*this,x,y,z) {
+        const float
+          dx = (x - xc), dy = (y - yc), dz = (z - zc),
+          val = (float)std::exp(a*dx*dx + b*dx*dy + c*dx*dz + d*dy*dy + e*dy*dz + f*dz*dz);
+        T *ptrd = data(x,y,z,0);
+        if (opacity>=1) cimg_forC(*this,c) { *ptrd = (T)(val*(*col++)); ptrd+=whd; }
+        else cimg_forC(*this,c) { *ptrd = (T)(nopacity*val*(*col++) + *ptrd*copacity); ptrd+=whd; }
+        col-=_spectrum;
+      }
+      return *this;
+    }
+
+    //! Draw a 3d gaussian function \overloading.
+    template<typename tc>
+    CImg<T>& draw_gaussian(const float xc, const float yc, const float zc, const float sigma,
+                           const tc *const color, const float opacity=1) {
+      return draw_gaussian(xc,yc,zc,CImg<floatT>::diagonal(sigma,sigma,sigma),color,opacity);
+    }
+
+    //! Draw a 3d object.
+    /**
+       \param x0 X-coordinate of the 3d object position
+       \param y0 Y-coordinate of the 3d object position
+       \param z0 Z-coordinate of the 3d object position
+       \param vertices Image Nx3 describing 3d point coordinates
+       \param primitives List of P primitives
+       \param colors List of P color (or textures)
+       \param opacities Image or list of P opacities
+       \param render_type d Render type (0=Points, 1=Lines, 2=Faces (no light), 3=Faces (flat), 4=Faces(Gouraud)
+       \param is_double_sided Tells if object faces have two sides or are oriented.
+       \param focale length of the focale (0 for parallel projection)
+       \param lightx X-coordinate of the light
+       \param lighty Y-coordinate of the light
+       \param lightz Z-coordinate of the light
+       \param specular_lightness Amount of specular light.
+       \param specular_shininess Shininess of the object
+    **/
+    template<typename tp, typename tf, typename tc, typename to>
+    CImg<T>& draw_object3d(const float x0, const float y0, const float z0,
+                           const CImg<tp>& vertices, const CImgList<tf>& primitives,
+                           const CImgList<tc>& colors, const CImg<to>& opacities,
+                           const unsigned int render_type=4,
+                           const bool is_double_sided=false, const float focale=700,
+                           const float lightx=0, const float lighty=0, const float lightz=-5e8,
+                           const float specular_lightness=0.2f, const float specular_shininess=0.1f) {
+      return draw_object3d(x0,y0,z0,vertices,primitives,colors,opacities,render_type,
+                           is_double_sided,focale,lightx,lighty,lightz,
+                           specular_lightness,specular_shininess,CImg<floatT>::empty());
+    }
+
+    //! Draw a 3d object \simplification.
+    template<typename tp, typename tf, typename tc, typename to, typename tz>
+    CImg<T>& draw_object3d(const float x0, const float y0, const float z0,
+                           const CImg<tp>& vertices, const CImgList<tf>& primitives,
+                           const CImgList<tc>& colors, const CImg<to>& opacities,
+                           const unsigned int render_type,
+                           const bool is_double_sided, const float focale,
+                           const float lightx, const float lighty, const float lightz,
+                           const float specular_lightness, const float specular_shininess,
+                           CImg<tz>& zbuffer) {
+      return _draw_object3d(0,zbuffer,x0,y0,z0,vertices,primitives,colors,opacities,
+                            render_type,is_double_sided,focale,lightx,lighty,lightz,
+                            specular_lightness,specular_shininess,1);
+    }
+
+#ifdef cimg_use_board
+    template<typename tp, typename tf, typename tc, typename to>
+    CImg<T>& draw_object3d(LibBoard::Board& board,
+                           const float x0, const float y0, const float z0,
+                           const CImg<tp>& vertices, const CImgList<tf>& primitives,
+                           const CImgList<tc>& colors, const CImg<to>& opacities,
+                           const unsigned int render_type=4,
+                           const bool is_double_sided=false, const float focale=700,
+                           const float lightx=0, const float lighty=0, const float lightz=-5e8,
+                           const float specular_lightness=0.2f, const float specular_shininess=0.1f) {
+      return draw_object3d(board,x0,y0,z0,vertices,primitives,colors,opacities,render_type,
+                           is_double_sided,focale,lightx,lighty,lightz,
+                           specular_lightness,specular_shininess,CImg<floatT>::empty());
+    }
+
+    template<typename tp, typename tf, typename tc, typename to, typename tz>
+    CImg<T>& draw_object3d(LibBoard::Board& board,
+                           const float x0, const float y0, const float z0,
+                           const CImg<tp>& vertices, const CImgList<tf>& primitives,
+                           const CImgList<tc>& colors, const CImg<to>& opacities,
+                           const unsigned int render_type,
+                           const bool is_double_sided, const float focale,
+                           const float lightx, const float lighty, const float lightz,
+                           const float specular_lightness, const float specular_shininess,
+                           CImg<tz>& zbuffer) {
+      return _draw_object3d((void*)&board,zbuffer,x0,y0,z0,vertices,primitives,colors,opacities,
+                            render_type,is_double_sided,focale,lightx,lighty,lightz,
+                            specular_lightness,specular_shininess,1);
+    }
+#endif
+
+    //! Draw a 3d object \simplification.
+    template<typename tp, typename tf, typename tc, typename to>
+    CImg<T>& draw_object3d(const float x0, const float y0, const float z0,
+                           const CImg<tp>& vertices, const CImgList<tf>& primitives,
+                           const CImgList<tc>& colors, const CImgList<to>& opacities,
+                           const unsigned int render_type=4,
+                           const bool is_double_sided=false, const float focale=700,
+                           const float lightx=0, const float lighty=0, const float lightz=-5e8,
+                           const float specular_lightness=0.2f, const float specular_shininess=0.1f) {
+      return draw_object3d(x0,y0,z0,vertices,primitives,colors,opacities,render_type,
+                           is_double_sided,focale,lightx,lighty,lightz,
+                           specular_lightness,specular_shininess,CImg<floatT>::empty());
+    }
+
+    //! Draw a 3d object \simplification.
+    template<typename tp, typename tf, typename tc, typename to, typename tz>
+    CImg<T>& draw_object3d(const float x0, const float y0, const float z0,
+                           const CImg<tp>& vertices, const CImgList<tf>& primitives,
+                           const CImgList<tc>& colors, const CImgList<to>& opacities,
+                           const unsigned int render_type,
+                           const bool is_double_sided, const float focale,
+                           const float lightx, const float lighty, const float lightz,
+                           const float specular_lightness, const float specular_shininess,
+                           CImg<tz>& zbuffer) {
+      return _draw_object3d(0,zbuffer,x0,y0,z0,vertices,primitives,colors,opacities,
+                            render_type,is_double_sided,focale,lightx,lighty,lightz,
+                            specular_lightness,specular_shininess,1);
+    }
+
+#ifdef cimg_use_board
+    template<typename tp, typename tf, typename tc, typename to>
+    CImg<T>& draw_object3d(LibBoard::Board& board,
+                           const float x0, const float y0, const float z0,
+                           const CImg<tp>& vertices, const CImgList<tf>& primitives,
+                           const CImgList<tc>& colors, const CImgList<to>& opacities,
+                           const unsigned int render_type=4,
+                           const bool is_double_sided=false, const float focale=700,
+                           const float lightx=0, const float lighty=0, const float lightz=-5e8,
+                           const float specular_lightness=0.2f, const float specular_shininess=0.1f) {
+      return draw_object3d(board,x0,y0,z0,vertices,primitives,colors,opacities,render_type,
+                           is_double_sided,focale,lightx,lighty,lightz,
+                           specular_lightness,specular_shininess,CImg<floatT>::empty());
+    }
+
+    template<typename tp, typename tf, typename tc, typename to, typename tz>
+    CImg<T>& draw_object3d(LibBoard::Board& board,
+                           const float x0, const float y0, const float z0,
+                           const CImg<tp>& vertices, const CImgList<tf>& primitives,
+                           const CImgList<tc>& colors, const CImgList<to>& opacities,
+                           const unsigned int render_type,
+                           const bool is_double_sided, const float focale,
+                           const float lightx, const float lighty, const float lightz,
+                           const float specular_lightness, const float specular_shininess,
+                           CImg<tz>& zbuffer) {
+      return _draw_object3d((void*)&board,zbuffer,x0,y0,z0,vertices,primitives,colors,opacities,
+                            render_type,is_double_sided,focale,lightx,lighty,lightz,
+                            specular_lightness,specular_shininess,1);
+    }
+#endif
+
+    //! Draw a 3d object \simplification.
+    template<typename tp, typename tf, typename tc>
+    CImg<T>& draw_object3d(const float x0, const float y0, const float z0,
+                           const CImg<tp>& vertices, const CImgList<tf>& primitives,
+                           const CImgList<tc>& colors,
+                           const unsigned int render_type=4,
+                           const bool is_double_sided=false, const float focale=700,
+                           const float lightx=0, const float lighty=0, const float lightz=-5e8,
+                           const float specular_lightness=0.2f, const float specular_shininess=0.1f) {
+      return draw_object3d(x0,y0,z0,vertices,primitives,colors,CImg<floatT>::empty(),
+                           render_type,is_double_sided,focale,lightx,lighty,lightz,
+                           specular_lightness,specular_shininess,CImg<floatT>::empty());
+    }
+
+    //! Draw a 3d object \simplification.
+    template<typename tp, typename tf, typename tc, typename tz>
+    CImg<T>& draw_object3d(const float x0, const float y0, const float z0,
+                           const CImg<tp>& vertices, const CImgList<tf>& primitives,
+                           const CImgList<tc>& colors,
+                           const unsigned int render_type,
+                           const bool is_double_sided, const float focale,
+                           const float lightx, const float lighty, const float lightz,
+                           const float specular_lightness, const float specular_shininess,
+                           CImg<tz>& zbuffer) {
+      return draw_object3d(x0,y0,z0,vertices,primitives,colors,CImg<floatT>::empty(),
+                           render_type,is_double_sided,focale,lightx,lighty,lightz,
+                           specular_lightness,specular_shininess,zbuffer);
+    }
+
+#ifdef cimg_use_board
+    template<typename tp, typename tf, typename tc, typename to>
+    CImg<T>& draw_object3d(LibBoard::Board& board,
+                           const float x0, const float y0, const float z0,
+                           const CImg<tp>& vertices, const CImgList<tf>& primitives,
+                           const CImgList<tc>& colors,
+                           const unsigned int render_type=4,
+                           const bool is_double_sided=false, const float focale=700,
+                           const float lightx=0, const float lighty=0, const float lightz=-5e8,
+                           const float specular_lightness=0.2f, const float specular_shininess=0.1f) {
+      return draw_object3d(x0,y0,z0,vertices,primitives,colors,CImg<floatT>::empty(),
+                           render_type,is_double_sided,focale,lightx,lighty,lightz,
+                           specular_lightness,specular_shininess,CImg<floatT>::empty());
+    }
+
+    template<typename tp, typename tf, typename tc, typename to, typename tz>
+    CImg<T>& draw_object3d(LibBoard::Board& board,
+                           const float x0, const float y0, const float z0,
+                           const CImg<tp>& vertices, const CImgList<tf>& primitives,
+                           const CImgList<tc>& colors,
+                           const unsigned int render_type,
+                           const bool is_double_sided, const float focale,
+                           const float lightx, const float lighty, const float lightz,
+                           const float specular_lightness, const float specular_shininess,
+                           CImg<tz>& zbuffer) {
+      return draw_object3d(x0,y0,z0,vertices,primitives,colors,CImg<floatT>::empty(),
+                           render_type,is_double_sided,focale,lightx,lighty,lightz,
+                           specular_lightness,specular_shininess,zbuffer);
+    }
+#endif
+
+    template<typename t, typename to>
+    static float __draw_object3d(const CImgList<t>& opacities, const unsigned int n_primitive, CImg<to>& opacity) {
+      if (n_primitive>=opacities._width || opacities[n_primitive].is_empty()) { opacity.assign(); return 1; }
+      if (opacities[n_primitive].size()==1) { opacity.assign(); return opacities(n_primitive,0); }
+      opacity.assign(opacities[n_primitive],true);
+      return 1.0f;
+    }
+
+    template<typename t, typename to>
+    static float __draw_object3d(const CImg<t>& opacities, const unsigned int n_primitive, CImg<to>& opacity) {
+      opacity.assign();
+      return n_primitive>=opacities._width?1.0f:(float)opacities[n_primitive];
+    }
+
+    template<typename t>
+    static float ___draw_object3d(const CImgList<t>& opacities, const unsigned int n_primitive) {
+      return n_primitive<opacities._width && opacities[n_primitive].size()==1?(float)opacities(n_primitive,0):1.0f;
+    }
+
+    template<typename t>
+    static float ___draw_object3d(const CImg<t>& opacities, const unsigned int n_primitive) {
+      return n_primitive<opacities._width?(float)opacities[n_primitive]:1.0f;
+    }
+
+    template<typename tz, typename tp, typename tf, typename tc, typename to>
+    CImg<T>& _draw_object3d(void *const pboard, CImg<tz>& zbuffer,
+                            const float X, const float Y, const float Z,
+                            const CImg<tp>& vertices,
+                            const CImgList<tf>& primitives,
+                            const CImgList<tc>& colors,
+                            const to& opacities,
+                            const unsigned int render_type,
+                            const bool is_double_sided, const float focale,
+                            const float lightx, const float lighty, const float lightz,
+                            const float specular_lightness, const float specular_shininess,
+                            const float sprite_scale) {
+      typedef typename cimg::superset2<tp,tz,float>::type tpfloat;
+      typedef typename to::value_type _to;
+      if (is_empty() || !vertices || !primitives) return *this;
+      CImg<char> error_message(1024);
+      if (!vertices.is_object3d(primitives,colors,opacities,false,error_message))
+        throw CImgArgumentException(_cimg_instance
+                                    "draw_object3d(): Invalid specified 3d object (%u,%u) (%s).",
+                                    cimg_instance,vertices._width,primitives._width,error_message.data());
+#ifndef cimg_use_board
+      if (pboard) return *this;
+#endif
+      if (render_type==5) cimg::mutex(10);  // Static variable used in this case, breaks thread-safety.
+
+      const float
+        nspec = 1 - (specular_lightness<0.0f?0.0f:(specular_lightness>1.0f?1.0f:specular_lightness)),
+        nspec2 = 1 + (specular_shininess<0.0f?0.0f:specular_shininess),
+        nsl1 = (nspec2 - 1)/cimg::sqr(nspec - 1),
+        nsl2 = 1 - 2*nsl1*nspec,
+        nsl3 = nspec2 - nsl1 - nsl2;
+
+      // Create light texture for phong-like rendering.
+      CImg<floatT> light_texture;
+      if (render_type==5) {
+        if (colors._width>primitives._width) {
+          static CImg<floatT> default_light_texture;
+          static const tc *lptr = 0;
+          static tc ref_values[64] = { 0 };
+          const CImg<tc>& img = colors.back();
+          bool is_same_texture = (lptr==img._data);
+          if (is_same_texture)
+            for (unsigned int r = 0, j = 0; j<8; ++j)
+              for (unsigned int i = 0; i<8; ++i)
+                if (ref_values[r++]!=img(i*img._width/9,j*img._height/9,0,(i + j)%img._spectrum)) {
+                  is_same_texture = false; break;
+                }
+          if (!is_same_texture || default_light_texture._spectrum<_spectrum) {
+            (default_light_texture.assign(img,false)/=255).resize(-100,-100,1,_spectrum);
+            lptr = colors.back().data();
+            for (unsigned int r = 0, j = 0; j<8; ++j)
+              for (unsigned int i = 0; i<8; ++i)
+                ref_values[r++] = img(i*img._width/9,j*img._height/9,0,(i + j)%img._spectrum);
+          }
+          light_texture.assign(default_light_texture,true);
+        } else {
+          static CImg<floatT> default_light_texture;
+          static float olightx = 0, olighty = 0, olightz = 0, ospecular_shininess = 0;
+          if (!default_light_texture ||
+              lightx!=olightx || lighty!=olighty || lightz!=olightz ||
+              specular_shininess!=ospecular_shininess || default_light_texture._spectrum<_spectrum) {
+            default_light_texture.assign(512,512);
+            const float
+              dlx = lightx - X,
+              dly = lighty - Y,
+              dlz = lightz - Z,
+              nl = (float)std::sqrt(dlx*dlx + dly*dly + dlz*dlz),
+              nlx = (default_light_texture._width - 1)/2*(1 + dlx/nl),
+              nly = (default_light_texture._height - 1)/2*(1 + dly/nl),
+              white[] = { 1 };
+            default_light_texture.draw_gaussian(nlx,nly,default_light_texture._width/3.0f,white);
+            cimg_forXY(default_light_texture,x,y) {
+              const float factor = default_light_texture(x,y);
+              if (factor>nspec) default_light_texture(x,y) = cimg::min(2,nsl1*factor*factor + nsl2*factor + nsl3);
+            }
+            default_light_texture.resize(-100,-100,1,_spectrum);
+            olightx = lightx; olighty = lighty; olightz = lightz; ospecular_shininess = specular_shininess;
+          }
+          light_texture.assign(default_light_texture,true);
+        }
+      }
+
+      // Compute 3d to 2d projection.
+      CImg<tpfloat> projections(vertices._width,2);
+      tpfloat parallzmin = cimg::type<tpfloat>::max();
+      const float absfocale = focale?cimg::abs(focale):0;
+      if (absfocale) {
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (projections.size()>4096)
+#endif
+        cimg_forX(projections,l) { // Perspective projection
+          const tpfloat
+            x = (tpfloat)vertices(l,0),
+            y = (tpfloat)vertices(l,1),
+            z = (tpfloat)vertices(l,2);
+          const tpfloat projectedz = z + Z + absfocale;
+          projections(l,1) = Y + absfocale*y/projectedz;
+          projections(l,0) = X + absfocale*x/projectedz;
+        }
+
+      } else {
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (projections.size()>4096)
+#endif
+        cimg_forX(projections,l) { // Parallel projection
+          const tpfloat
+            x = (tpfloat)vertices(l,0),
+            y = (tpfloat)vertices(l,1),
+            z = (tpfloat)vertices(l,2);
+          if (z<parallzmin) parallzmin = z;
+          projections(l,1) = Y + y;
+          projections(l,0) = X + x;
+        }
+      }
+      const float _focale = absfocale?absfocale:(1e5f-parallzmin);
+      float zmax = 0;
+      if (zbuffer) zmax = vertices.get_shared_row(2).max();
+
+      // Compute visible primitives.
+      CImg<uintT> visibles(primitives._width,1,1,1,~0U);
+      CImg<tpfloat> zrange(primitives._width);
+      const tpfloat zmin = absfocale?(tpfloat)(1.5f - absfocale):cimg::type<tpfloat>::min();
+      bool is_forward = zbuffer?true:false;
+
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (primitives.size()>4096)
+#endif
+      cimglist_for(primitives,l) {
+        const CImg<tf>& primitive = primitives[l];
+        switch (primitive.size()) {
+        case 1 : { // Point
+          CImg<_to> _opacity;
+          __draw_object3d(opacities,l,_opacity);
+          if (l<=colors.width() && (colors[l].size()!=_spectrum || _opacity)) is_forward = false;
+          const unsigned int i0 = (unsigned int)primitive(0);
+          const tpfloat z0 = Z + vertices(i0,2);
+          if (z0>zmin) {
+            visibles(l) = (unsigned int)l;
+            zrange(l) = z0;
+          }
+        } break;
+        case 5 : { // Sphere
+          const unsigned int
+            i0 = (unsigned int)primitive(0),
+            i1 = (unsigned int)primitive(1);
+          const tpfloat
+            Xc = 0.5f*((float)vertices(i0,0) + (float)vertices(i1,0)),
+            Yc = 0.5f*((float)vertices(i0,1) + (float)vertices(i1,1)),
+            Zc = 0.5f*((float)vertices(i0,2) + (float)vertices(i1,2)),
+            _zc = Z + Zc,
+            zc = _zc + _focale,
+            xc = X + Xc*(absfocale?absfocale/zc:1),
+            yc = Y + Yc*(absfocale?absfocale/zc:1),
+            radius = 0.5f*std::sqrt(cimg::sqr(vertices(i1,0) - vertices(i0,0)) +
+                                    cimg::sqr(vertices(i1,1) - vertices(i0,1)) +
+                                    cimg::sqr(vertices(i1,2) - vertices(i0,2)))*(absfocale?absfocale/zc:1),
+            xm = xc - radius,
+            ym = yc - radius,
+            xM = xc + radius,
+            yM = yc + radius;
+          if (xM>=0 && xm<_width && yM>=0 && ym<_height && _zc>zmin) {
+            visibles(l) = (unsigned int)l;
+            zrange(l) = _zc;
+          }
+          is_forward = false;
+        } break;
+        case 2 : // Segment
+        case 6 : {
+          const unsigned int
+            i0 = (unsigned int)primitive(0),
+            i1 = (unsigned int)primitive(1);
+          const tpfloat
+            x0 = projections(i0,0), y0 = projections(i0,1), z0 = Z + vertices(i0,2),
+            x1 = projections(i1,0), y1 = projections(i1,1), z1 = Z + vertices(i1,2);
+          tpfloat xm, xM, ym, yM;
+          if (x0<x1) { xm = x0; xM = x1; } else { xm = x1; xM = x0; }
+          if (y0<y1) { ym = y0; yM = y1; } else { ym = y1; yM = y0; }
+          if (xM>=0 && xm<_width && yM>=0 && ym<_height && z0>zmin && z1>zmin) {
+            visibles(l) = (unsigned int)l;
+            zrange(l) = (z0 + z1)/2;
+          }
+        } break;
+        case 3 :  // Triangle
+        case 9 : {
+          const unsigned int
+            i0 = (unsigned int)primitive(0),
+            i1 = (unsigned int)primitive(1),
+            i2 = (unsigned int)primitive(2);
+          const tpfloat
+            x0 = projections(i0,0), y0 = projections(i0,1), z0 = Z + vertices(i0,2),
+            x1 = projections(i1,0), y1 = projections(i1,1), z1 = Z + vertices(i1,2),
+            x2 = projections(i2,0), y2 = projections(i2,1), z2 = Z + vertices(i2,2);
+          tpfloat xm, xM, ym, yM;
+          if (x0<x1) { xm = x0; xM = x1; } else { xm = x1; xM = x0; }
+          if (x2<xm) xm = x2;
+          if (x2>xM) xM = x2;
+          if (y0<y1) { ym = y0; yM = y1; } else { ym = y1; yM = y0; }
+          if (y2<ym) ym = y2;
+          if (y2>yM) yM = y2;
+          if (xM>=0 && xm<_width && yM>=0 && ym<_height && z0>zmin && z1>zmin && z2>zmin) {
+            const tpfloat d = (x1-x0)*(y2-y0) - (x2-x0)*(y1-y0);
+            if (is_double_sided || d<0) {
+              visibles(l) = (unsigned int)l;
+              zrange(l) = (z0 + z1 + z2)/3;
+            }
+          }
+        } break;
+        case 4 : // Rectangle
+        case 12 : {
+          const unsigned int
+            i0 = (unsigned int)primitive(0),
+            i1 = (unsigned int)primitive(1),
+            i2 = (unsigned int)primitive(2),
+            i3 = (unsigned int)primitive(3);
+          const tpfloat
+            x0 = projections(i0,0), y0 = projections(i0,1), z0 = Z + vertices(i0,2),
+            x1 = projections(i1,0), y1 = projections(i1,1), z1 = Z + vertices(i1,2),
+            x2 = projections(i2,0), y2 = projections(i2,1), z2 = Z + vertices(i2,2),
+            x3 = projections(i3,0), y3 = projections(i3,1), z3 = Z + vertices(i3,2);
+          tpfloat xm, xM, ym, yM;
+          if (x0<x1) { xm = x0; xM = x1; } else { xm = x1; xM = x0; }
+          if (x2<xm) xm = x2;
+          if (x2>xM) xM = x2;
+          if (x3<xm) xm = x3;
+          if (x3>xM) xM = x3;
+          if (y0<y1) { ym = y0; yM = y1; } else { ym = y1; yM = y0; }
+          if (y2<ym) ym = y2;
+          if (y2>yM) yM = y2;
+          if (y3<ym) ym = y3;
+          if (y3>yM) yM = y3;
+          if (xM>=0 && xm<_width && yM>=0 && ym<_height && z0>zmin && z1>zmin && z2>zmin) {
+            const float d = (x1 - x0)*(y2 - y0) - (x2 - x0)*(y1 - y0);
+            if (is_double_sided || d<0) {
+              visibles(l) = (unsigned int)l;
+              zrange(l) = (z0 + z1 + z2 + z3)/4;
+            }
+          }
+        } break;
+        default :
+          if (render_type==5) cimg::mutex(10,0);
+          throw CImgArgumentException(_cimg_instance
+                                      "draw_object3d(): Invalid primitive[%u] with size %u "
+                                      "(should have size 1,2,3,4,5,6,9 or 12).",
+                                      cimg_instance,
+                                      l,primitive.size());
+        }
+      }
+
+      // Force transparent primitives to be drawn last when zbuffer is activated
+      // (and if object contains no spheres or sprites).
+      if (is_forward)
+        cimglist_for(primitives,l)
+          if (___draw_object3d(opacities,l)!=1) zrange(l) = 2*zmax - zrange(l);
+
+      // Sort only visibles primitives.
+      unsigned int *p_visibles = visibles._data;
+      tpfloat *p_zrange = zrange._data;
+      const tpfloat *ptrz = p_zrange;
+      cimg_for(visibles,ptr,unsigned int) {
+        if (*ptr!=~0U) { *(p_visibles++) = *ptr; *(p_zrange++) = *ptrz; }
+        ++ptrz;
+      }
+      const unsigned int nb_visibles = (unsigned int)(p_zrange - zrange._data);
+      if (!nb_visibles) {
+        if (render_type==5) cimg::mutex(10,0);
+        return *this;
+      }
+      CImg<uintT> permutations;
+      CImg<tpfloat>(zrange._data,nb_visibles,1,1,1,true).sort(permutations,is_forward);
+
+      // Compute light properties
+      CImg<floatT> lightprops;
+      switch (render_type) {
+      case 3 : { // Flat Shading
+        lightprops.assign(nb_visibles);
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (nb_visibles>4096)
+#endif
+        cimg_forX(lightprops,l) {
+          const CImg<tf>& primitive = primitives(visibles(permutations(l)));
+          const unsigned int psize = primitive.size();
+          if (psize==3 || psize==4 || psize==9 || psize==12) {
+            const unsigned int
+              i0 = (unsigned int)primitive(0),
+              i1 = (unsigned int)primitive(1),
+              i2 = (unsigned int)primitive(2);
+            const tpfloat
+              x0 = (tpfloat)vertices(i0,0), y0 = (tpfloat)vertices(i0,1), z0 = (tpfloat)vertices(i0,2),
+              x1 = (tpfloat)vertices(i1,0), y1 = (tpfloat)vertices(i1,1), z1 = (tpfloat)vertices(i1,2),
+              x2 = (tpfloat)vertices(i2,0), y2 = (tpfloat)vertices(i2,1), z2 = (tpfloat)vertices(i2,2),
+              dx1 = x1 - x0, dy1 = y1 - y0, dz1 = z1 - z0,
+              dx2 = x2 - x0, dy2 = y2 - y0, dz2 = z2 - z0,
+              nx = dy1*dz2 - dz1*dy2,
+              ny = dz1*dx2 - dx1*dz2,
+              nz = dx1*dy2 - dy1*dx2,
+              norm = (tpfloat)std::sqrt(1e-5f + nx*nx + ny*ny + nz*nz),
+              lx = X + (x0 + x1 + x2)/3 - lightx,
+              ly = Y + (y0 + y1 + y2)/3 - lighty,
+              lz = Z + (z0 + z1 + z2)/3 - lightz,
+              nl = (tpfloat)std::sqrt(1e-5f + lx*lx + ly*ly + lz*lz),
+              factor = cimg::max(cimg::abs(-lx*nx-ly*ny-lz*nz)/(norm*nl),0);
+            lightprops[l] = factor<=nspec?factor:(nsl1*factor*factor + nsl2*factor + nsl3);
+          } else lightprops[l] = 1;
+        }
+      } break;
+
+      case 4 : // Gouraud Shading
+      case 5 : { // Phong-Shading
+        CImg<tpfloat> vertices_normals(vertices._width,6,1,1,0);
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (nb_visibles>4096)
+#endif
+        for (unsigned int l = 0; l<nb_visibles; ++l) {
+          const CImg<tf>& primitive = primitives[visibles(l)];
+          const unsigned int psize = primitive.size();
+          const bool
+            triangle_flag = (psize==3) || (psize==9),
+            rectangle_flag = (psize==4) || (psize==12);
+          if (triangle_flag || rectangle_flag) {
+            const unsigned int
+              i0 = (unsigned int)primitive(0),
+              i1 = (unsigned int)primitive(1),
+              i2 = (unsigned int)primitive(2),
+              i3 = rectangle_flag?(unsigned int)primitive(3):0;
+            const tpfloat
+              x0 = (tpfloat)vertices(i0,0), y0 = (tpfloat)vertices(i0,1), z0 = (tpfloat)vertices(i0,2),
+              x1 = (tpfloat)vertices(i1,0), y1 = (tpfloat)vertices(i1,1), z1 = (tpfloat)vertices(i1,2),
+              x2 = (tpfloat)vertices(i2,0), y2 = (tpfloat)vertices(i2,1), z2 = (tpfloat)vertices(i2,2),
+              dx1 = x1 - x0, dy1 = y1 - y0, dz1 = z1 - z0,
+              dx2 = x2 - x0, dy2 = y2 - y0, dz2 = z2 - z0,
+              nnx = dy1*dz2 - dz1*dy2,
+              nny = dz1*dx2 - dx1*dz2,
+              nnz = dx1*dy2 - dy1*dx2,
+              norm = (tpfloat)(1e-5f + std::sqrt(nnx*nnx + nny*nny + nnz*nnz)),
+              nx = nnx/norm,
+              ny = nny/norm,
+              nz = nnz/norm;
+            unsigned int ix = 0, iy = 1, iz = 2;
+            if (is_double_sided && nz>0) { ix = 3; iy = 4; iz = 5; }
+            vertices_normals(i0,ix)+=nx; vertices_normals(i0,iy)+=ny; vertices_normals(i0,iz)+=nz;
+            vertices_normals(i1,ix)+=nx; vertices_normals(i1,iy)+=ny; vertices_normals(i1,iz)+=nz;
+            vertices_normals(i2,ix)+=nx; vertices_normals(i2,iy)+=ny; vertices_normals(i2,iz)+=nz;
+            if (rectangle_flag) {
+              vertices_normals(i3,ix)+=nx; vertices_normals(i3,iy)+=ny; vertices_normals(i3,iz)+=nz;
+            }
+          }
+        }
+
+        if (is_double_sided) cimg_forX(vertices_normals,p) {
+            const float
+              nx0 = vertices_normals(p,0), ny0 = vertices_normals(p,1), nz0 = vertices_normals(p,2),
+              nx1 = vertices_normals(p,3), ny1 = vertices_normals(p,4), nz1 = vertices_normals(p,5),
+              n0 = nx0*nx0 + ny0*ny0 + nz0*nz0, n1 = nx1*nx1 + ny1*ny1 + nz1*nz1;
+            if (n1>n0) {
+              vertices_normals(p,0) = -nx1;
+              vertices_normals(p,1) = -ny1;
+              vertices_normals(p,2) = -nz1;
+            }
+          }
+
+        if (render_type==4) {
+          lightprops.assign(vertices._width);
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (nb_visibles>4096)
+#endif
+          cimg_forX(lightprops,l) {
+            const tpfloat
+              nx = vertices_normals(l,0),
+              ny = vertices_normals(l,1),
+              nz = vertices_normals(l,2),
+              norm = (tpfloat)std::sqrt(1e-5f + nx*nx + ny*ny + nz*nz),
+              lx = X + vertices(l,0) - lightx,
+              ly = Y + vertices(l,1) - lighty,
+              lz = Z + vertices(l,2) - lightz,
+              nl = (tpfloat)std::sqrt(1e-5f + lx*lx + ly*ly + lz*lz),
+              factor = cimg::max((-lx*nx-ly*ny-lz*nz)/(norm*nl),0);
+            lightprops[l] = factor<=nspec?factor:(nsl1*factor*factor + nsl2*factor + nsl3);
+          }
+        } else {
+          const unsigned int
+            lw2 = light_texture._width/2 - 1,
+            lh2 = light_texture._height/2 - 1;
+          lightprops.assign(vertices._width,2);
+#ifdef cimg_use_openmp
+#pragma omp parallel for if (nb_visibles>4096)
+#endif
+          cimg_forX(lightprops,l) {
+            const tpfloat
+              nx = vertices_normals(l,0),
+              ny = vertices_normals(l,1),
+              nz = vertices_normals(l,2),
+              norm = (tpfloat)std::sqrt(1e-5f + nx*nx + ny*ny + nz*nz),
+              nnx = nx/norm,
+              nny = ny/norm;
+            lightprops(l,0) = lw2*(1 + nnx);
+            lightprops(l,1) = lh2*(1 + nny);
+          }
+        }
+      } break;
+      }
+
+      // Draw visible primitives
+      const CImg<tc> default_color(1,_spectrum,1,1,(tc)200);
+      CImg<_to> _opacity;
+
+      for (unsigned int l = 0; l<nb_visibles; ++l) {
+        const unsigned int n_primitive = visibles(permutations(l));
+        const CImg<tf>& primitive = primitives[n_primitive];
+        const CImg<tc>
+          &__color = n_primitive<colors._width?colors[n_primitive]:CImg<tc>(),
+          _color = (__color && __color.size()!=_spectrum && __color._spectrum<_spectrum)?
+            __color.get_resize(-100,-100,-100,_spectrum,0):CImg<tc>(),
+          &color = _color?_color:(__color?__color:default_color);
+        const tc *const pcolor = color._data;
+        const float opacity = __draw_object3d(opacities,n_primitive,_opacity);
+
+#ifdef cimg_use_board
+        LibBoard::Board &board = *(LibBoard::Board*)pboard;
+#endif
+
+        switch (primitive.size()) {
+        case 1 : { // Colored point or sprite
+          const unsigned int n0 = (unsigned int)primitive[0];
+          const int x0 = (int)projections(n0,0), y0 = (int)projections(n0,1);
+
+          if (_opacity.is_empty()) { // Scalar opacity.
+
+            if (color.size()==_spectrum) { // Colored point.
+              draw_point(x0,y0,pcolor,opacity);
+#ifdef cimg_use_board
+              if (pboard) {
+                board.setPenColorRGBi(color[0],color[1],color[2],(unsigned char)(opacity*255));
+                board.fillCircle((float)x0,height()-(float)y0,0);
+              }
+#endif
+            } else { // Sprite.
+              const tpfloat z = Z + vertices(n0,2);
+              const float factor = focale<0?1:sprite_scale*(absfocale?absfocale/(z + absfocale):1);
+              const unsigned int
+                _sw = (unsigned int)(color._width*factor),
+                _sh = (unsigned int)(color._height*factor),
+                sw = _sw?_sw:1, sh = _sh?_sh:1;
+              const int nx0 = x0 - (int)sw/2, ny0 = y0 - (int)sh/2;
+              if (sw<=3*_width/2 && sh<=3*_height/2 &&
+                  (nx0 + (int)sw/2>=0 || nx0 - (int)sw/2<width() || ny0 + (int)sh/2>=0 || ny0 - (int)sh/2<height())) {
+                const CImg<tc>
+                  _sprite = (sw!=color._width || sh!=color._height)?
+                    color.get_resize(sw,sh,1,-100,render_type<=3?1:3):CImg<tc>(),
+                  &sprite = _sprite?_sprite:color;
+                draw_image(nx0,ny0,sprite,opacity);
+#ifdef cimg_use_board
+                if (pboard) {
+                  board.setPenColorRGBi(128,128,128);
+                  board.setFillColor(LibBoard::Color::None);
+                  board.drawRectangle((float)nx0,height() - (float)ny0,sw,sh);
+                }
+#endif
+              }
+            }
+          } else { // Opacity mask.
+            const tpfloat z = Z + vertices(n0,2);
+            const float factor = focale<0?1:sprite_scale*(absfocale?absfocale/(z + absfocale):1);
+            const unsigned int
+              _sw = (unsigned int)(cimg::max(color._width,_opacity._width)*factor),
+              _sh = (unsigned int)(cimg::max(color._height,_opacity._height)*factor),
+              sw = _sw?_sw:1, sh = _sh?_sh:1;
+            const int nx0 = x0 - (int)sw/2, ny0 = y0 - (int)sh/2;
+            if (sw<=3*_width/2 && sh<=3*_height/2 &&
+                (nx0 + (int)sw/2>=0 || nx0 - (int)sw/2<width() || ny0 + (int)sh/2>=0 || ny0 - (int)sh/2<height())) {
+              const CImg<tc>
+                _sprite = (sw!=color._width || sh!=color._height)?
+                  color.get_resize(sw,sh,1,-100,render_type<=3?1:3):CImg<tc>(),
+                &sprite = _sprite?_sprite:color;
+              const CImg<_to>
+                _nopacity = (sw!=_opacity._width || sh!=_opacity._height)?
+                  _opacity.get_resize(sw,sh,1,-100,render_type<=3?1:3):CImg<_to>(),
+                &nopacity = _nopacity?_nopacity:_opacity;
+              draw_image(nx0,ny0,sprite,nopacity);
+#ifdef cimg_use_board
+              if (pboard) {
+                board.setPenColorRGBi(128,128,128);
+                board.setFillColor(LibBoard::Color::None);
+                board.drawRectangle((float)nx0,height() - (float)ny0,sw,sh);
+              }
+#endif
+            }
+          }
+        } break;
+        case 2 : { // Colored line
+          const unsigned int
+            n0 = (unsigned int)primitive[0],
+            n1 = (unsigned int)primitive[1];
+          const int
+            x0 = (int)projections(n0,0), y0 = (int)projections(n0,1),
+            x1 = (int)projections(n1,0), y1 = (int)projections(n1,1);
+          const float
+            z0 = vertices(n0,2) + Z + _focale,
+            z1 = vertices(n1,2) + Z + _focale;
+          if (render_type) {
+            if (zbuffer) draw_line(zbuffer,x0,y0,z0,x1,y1,z1,pcolor,opacity);
+            else draw_line(x0,y0,x1,y1,pcolor,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi(color[0],color[1],color[2],(unsigned char)(opacity*255));
+              board.drawLine((float)x0,height() - (float)y0,x1,height() - (float)y1);
+            }
+#endif
+          } else {
+            draw_point(x0,y0,pcolor,opacity).draw_point(x1,y1,pcolor,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi(color[0],color[1],color[2],(unsigned char)(opacity*255));
+              board.drawCircle((float)x0,height() - (float)y0,0);
+              board.drawCircle((float)x1,height() - (float)y1,0);
+            }
+#endif
+          }
+        } break;
+        case 5 : { // Colored sphere
+          const unsigned int
+            n0 = (unsigned int)primitive[0],
+            n1 = (unsigned int)primitive[1],
+            is_wireframe = (unsigned int)primitive[2];
+          const float
+            Xc = 0.5f*((float)vertices(n0,0) + (float)vertices(n1,0)),
+            Yc = 0.5f*((float)vertices(n0,1) + (float)vertices(n1,1)),
+            Zc = 0.5f*((float)vertices(n0,2) + (float)vertices(n1,2)),
+            zc = Z + Zc + _focale,
+            xc = X + Xc*(absfocale?absfocale/zc:1),
+            yc = Y + Yc*(absfocale?absfocale/zc:1),
+            radius = 0.5f*std::sqrt(cimg::sqr(vertices(n1,0) - vertices(n0,0)) +
+                                    cimg::sqr(vertices(n1,1) - vertices(n0,1)) +
+                                    cimg::sqr(vertices(n1,2) - vertices(n0,2)))*(absfocale?absfocale/zc:1);
+          switch (render_type) {
+          case 0 :
+            draw_point((int)xc,(int)yc,pcolor,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi(color[0],color[1],color[2],(unsigned char)(opacity*255));
+              board.fillCircle(xc,height() - yc,0);
+            }
+#endif
+            break;
+          case 1 :
+            draw_circle((int)xc,(int)yc,(int)radius,pcolor,opacity,~0U);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi(color[0],color[1],color[2],(unsigned char)(opacity*255));
+              board.setFillColor(LibBoard::Color::None);
+              board.drawCircle(xc,height() - yc,radius);
+            }
+#endif
+            break;
+          default :
+            if (is_wireframe) draw_circle((int)xc,(int)yc,(int)radius,pcolor,opacity,~0U);
+            else draw_circle((int)xc,(int)yc,(int)radius,pcolor,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi(color[0],color[1],color[2],(unsigned char)(opacity*255));
+              if (!is_wireframe) board.fillCircle(xc,height() - yc,radius);
+              else {
+                board.setFillColor(LibBoard::Color::None);
+                board.drawCircle(xc,height() - yc,radius);
+              }
+            }
+#endif
+            break;
+          }
+        } break;
+        case 6 : { // Textured line
+          if (!__color) {
+            if (render_type==5) cimg::mutex(10,0);
+            throw CImgArgumentException(_cimg_instance
+                                        "draw_object3d(): Undefined texture for line primitive [%u].",
+                                        cimg_instance,n_primitive);
+          }
+          const unsigned int
+            n0 = (unsigned int)primitive[0],
+            n1 = (unsigned int)primitive[1];
+          const int
+            tx0 = (int)primitive[2], ty0 = (int)primitive[3],
+            tx1 = (int)primitive[4], ty1 = (int)primitive[5],
+            x0 = (int)projections(n0,0), y0 = (int)projections(n0,1),
+            x1 = (int)projections(n1,0), y1 = (int)projections(n1,1);
+          const float
+            z0 = vertices(n0,2) + Z + _focale,
+            z1 = vertices(n1,2) + Z + _focale;
+          if (render_type) {
+            if (zbuffer) draw_line(zbuffer,x0,y0,z0,x1,y1,z1,color,tx0,ty0,tx1,ty1,opacity);
+            else draw_line(x0,y0,x1,y1,color,tx0,ty0,tx1,ty1,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi(128,128,128,(unsigned char)(opacity*255));
+              board.drawLine((float)x0,height() - (float)y0,(float)x1,height() - (float)y1);
+            }
+#endif
+          } else {
+            draw_point(x0,y0,color.get_vector_at(tx0<=0?0:tx0>=color.width()?color.width() - 1:tx0,
+                                                 ty0<=0?0:ty0>=color.height()?color.height() - 1:ty0)._data,opacity).
+              draw_point(x1,y1,color.get_vector_at(tx1<=0?0:tx1>=color.width()?color.width() - 1:tx1,
+                                                   ty1<=0?0:ty1>=color.height()?color.height() - 1:ty1)._data,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi(128,128,128,(unsigned char)(opacity*255));
+              board.drawCircle((float)x0,height() - (float)y0,0);
+              board.drawCircle((float)x1,height() - (float)y1,0);
+            }
+#endif
+          }
+        } break;
+        case 3 : { // Colored triangle
+          const unsigned int
+            n0 = (unsigned int)primitive[0],
+            n1 = (unsigned int)primitive[1],
+            n2 = (unsigned int)primitive[2];
+          const int
+            x0 = (int)projections(n0,0), y0 = (int)projections(n0,1),
+            x1 = (int)projections(n1,0), y1 = (int)projections(n1,1),
+            x2 = (int)projections(n2,0), y2 = (int)projections(n2,1);
+          const float
+            z0 = vertices(n0,2) + Z + _focale,
+            z1 = vertices(n1,2) + Z + _focale,
+            z2 = vertices(n2,2) + Z + _focale;
+          switch (render_type) {
+          case 0 :
+            draw_point(x0,y0,pcolor,opacity).draw_point(x1,y1,pcolor,opacity).draw_point(x2,y2,pcolor,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi(color[0],color[1],color[2],(unsigned char)(opacity*255));
+              board.drawCircle((float)x0,height() - (float)y0,0);
+              board.drawCircle((float)x1,height() - (float)y1,0);
+              board.drawCircle((float)x2,height() - (float)y2,0);
+            }
+#endif
+            break;
+          case 1 :
+            if (zbuffer)
+              draw_line(zbuffer,x0,y0,z0,x1,y1,z1,pcolor,opacity).draw_line(zbuffer,x0,y0,z0,x2,y2,z2,pcolor,opacity).
+                draw_line(zbuffer,x1,y1,z1,x2,y2,z2,pcolor,opacity);
+            else
+              draw_line(x0,y0,x1,y1,pcolor,opacity).draw_line(x0,y0,x2,y2,pcolor,opacity).
+                draw_line(x1,y1,x2,y2,pcolor,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi(color[0],color[1],color[2],(unsigned char)(opacity*255));
+              board.drawLine((float)x0,height() - (float)y0,(float)x1,height() - (float)y1);
+              board.drawLine((float)x0,height() - (float)y0,(float)x2,height() - (float)y2);
+              board.drawLine((float)x1,height() - (float)y1,(float)x2,height() - (float)y2);
+            }
+#endif
+            break;
+          case 2 :
+            if (zbuffer) draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,pcolor,opacity);
+            else draw_triangle(x0,y0,x1,y1,x2,y2,pcolor,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi(color[0],color[1],color[2],(unsigned char)(opacity*255));
+              board.fillTriangle((float)x0,height() - (float)y0,
+                                 (float)x1,height() - (float)y1,
+                                 (float)x2,height() - (float)y2);
+            }
+#endif
+            break;
+          case 3 :
+            if (zbuffer) draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,pcolor,opacity,lightprops(l));
+            else _draw_triangle(x0,y0,x1,y1,x2,y2,pcolor,opacity,lightprops(l));
+#ifdef cimg_use_board
+            if (pboard) {
+              const float lp = cimg::min(lightprops(l),1);
+              board.setPenColorRGBi((unsigned char)(color[0]*lp),
+                                     (unsigned char)(color[1]*lp),
+                                     (unsigned char)(color[2]*lp),
+                                     (unsigned char)(opacity*255));
+              board.fillTriangle((float)x0,height() - (float)y0,
+                                 (float)x1,height() - (float)y1,
+                                 (float)x2,height() - (float)y2);
+            }
+#endif
+            break;
+          case 4 :
+            if (zbuffer)
+              draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,pcolor,
+                            lightprops(n0),lightprops(n1),lightprops(n2),opacity);
+            else draw_triangle(x0,y0,x1,y1,x2,y2,pcolor,lightprops(n0),lightprops(n1),lightprops(n2),opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi((unsigned char)(color[0]),
+                                     (unsigned char)(color[1]),
+                                     (unsigned char)(color[2]),
+                                     (unsigned char)(opacity*255));
+              board.fillGouraudTriangle((float)x0,height() - (float)y0,lightprops(n0),
+                                         (float)x1,height() - (float)y1,lightprops(n1),
+                                         (float)x2,height() - (float)y2,lightprops(n2));
+            }
+#endif
+            break;
+          case 5 : {
+            const unsigned int
+              lx0 = (unsigned int)lightprops(n0,0), ly0 = (unsigned int)lightprops(n0,1),
+              lx1 = (unsigned int)lightprops(n1,0), ly1 = (unsigned int)lightprops(n1,1),
+              lx2 = (unsigned int)lightprops(n2,0), ly2 = (unsigned int)lightprops(n2,1);
+            if (zbuffer)
+              draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,pcolor,light_texture,lx0,ly0,lx1,ly1,lx2,ly2,opacity);
+            else draw_triangle(x0,y0,x1,y1,x2,y2,pcolor,light_texture,lx0,ly0,lx1,ly1,lx2,ly2,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              const float
+                l0 = light_texture((int)(light_texture.width()/2*(1 + lightprops(n0,0))),
+                                   (int)(light_texture.height()/2*(1 + lightprops(n0,1)))),
+                l1 = light_texture((int)(light_texture.width()/2*(1 + lightprops(n1,0))),
+                                   (int)(light_texture.height()/2*(1 + lightprops(n1,1)))),
+                l2 = light_texture((int)(light_texture.width()/2*(1 + lightprops(n2,0))),
+                                   (int)(light_texture.height()/2*(1 + lightprops(n2,1))));
+              board.setPenColorRGBi((unsigned char)(color[0]),
+                                     (unsigned char)(color[1]),
+                                     (unsigned char)(color[2]),
+                                     (unsigned char)(opacity*255));
+              board.fillGouraudTriangle((float)x0,height() - (float)y0,l0,
+                                         (float)x1,height() - (float)y1,l1,
+                                         (float)x2,height() - (float)y2,l2);
+            }
+#endif
+          } break;
+          }
+        } break;
+        case 4 : { // Colored rectangle
+          const unsigned int
+            n0 = (unsigned int)primitive[0],
+            n1 = (unsigned int)primitive[1],
+            n2 = (unsigned int)primitive[2],
+            n3 = (unsigned int)primitive[3];
+          const int
+            x0 = (int)projections(n0,0), y0 = (int)projections(n0,1),
+            x1 = (int)projections(n1,0), y1 = (int)projections(n1,1),
+            x2 = (int)projections(n2,0), y2 = (int)projections(n2,1),
+            x3 = (int)projections(n3,0), y3 = (int)projections(n3,1);
+          const float
+            z0 = vertices(n0,2) + Z + _focale,
+            z1 = vertices(n1,2) + Z + _focale,
+            z2 = vertices(n2,2) + Z + _focale,
+            z3 = vertices(n3,2) + Z + _focale;
+
+          switch (render_type) {
+          case 0 :
+            draw_point(x0,y0,pcolor,opacity).draw_point(x1,y1,pcolor,opacity).
+              draw_point(x2,y2,pcolor,opacity).draw_point(x3,y3,pcolor,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi(color[0],color[1],color[2],(unsigned char)(opacity*255));
+              board.drawCircle((float)x0,height() - (float)y0,0);
+              board.drawCircle((float)x1,height() - (float)y1,0);
+              board.drawCircle((float)x2,height() - (float)y2,0);
+              board.drawCircle((float)x3,height() - (float)y3,0);
+            }
+#endif
+            break;
+          case 1 :
+            if (zbuffer)
+              draw_line(zbuffer,x0,y0,z0,x1,y1,z1,pcolor,opacity).draw_line(zbuffer,x1,y1,z1,x2,y2,z2,pcolor,opacity).
+                draw_line(zbuffer,x2,y2,z2,x3,y3,z3,pcolor,opacity).draw_line(zbuffer,x3,y3,z3,x0,y0,z0,pcolor,opacity);
+            else
+              draw_line(x0,y0,x1,y1,pcolor,opacity).draw_line(x1,y1,x2,y2,pcolor,opacity).
+                draw_line(x2,y2,x3,y3,pcolor,opacity).draw_line(x3,y3,x0,y0,pcolor,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi(color[0],color[1],color[2],(unsigned char)(opacity*255));
+              board.drawLine((float)x0,height() - (float)y0,(float)x1,height() - (float)y1);
+              board.drawLine((float)x1,height() - (float)y1,(float)x2,height() - (float)y2);
+              board.drawLine((float)x2,height() - (float)y2,(float)x3,height() - (float)y3);
+              board.drawLine((float)x3,height() - (float)y3,(float)x0,height() - (float)y0);
+            }
+#endif
+            break;
+          case 2 :
+            if (zbuffer)
+              draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,pcolor,opacity).
+                draw_triangle(zbuffer,x0,y0,z0,x2,y2,z2,x3,y3,z3,pcolor,opacity);
+            else
+              draw_triangle(x0,y0,x1,y1,x2,y2,pcolor,opacity).draw_triangle(x0,y0,x2,y2,x3,y3,pcolor,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi(color[0],color[1],color[2],(unsigned char)(opacity*255));
+              board.fillTriangle((float)x0,height() - (float)y0,
+                                 (float)x1,height() - (float)y1,
+                                 (float)x2,height() - (float)y2);
+              board.fillTriangle((float)x0,height() - (float)y0,
+                                 (float)x2,height() - (float)y2,
+                                 (float)x3,height() - (float)y3);
+            }
+#endif
+            break;
+          case 3 :
+            if (zbuffer)
+              draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,pcolor,opacity,lightprops(l)).
+                draw_triangle(zbuffer,x0,y0,z0,x2,y2,z2,x3,y3,z3,pcolor,opacity,lightprops(l));
+            else
+              _draw_triangle(x0,y0,x1,y1,x2,y2,pcolor,opacity,lightprops(l)).
+                _draw_triangle(x0,y0,x2,y2,x3,y3,pcolor,opacity,lightprops(l));
+#ifdef cimg_use_board
+            if (pboard) {
+              const float lp = cimg::min(lightprops(l),1);
+              board.setPenColorRGBi((unsigned char)(color[0]*lp),
+                                     (unsigned char)(color[1]*lp),
+                                     (unsigned char)(color[2]*lp),(unsigned char)(opacity*255));
+              board.fillTriangle((float)x0,height() - (float)y0,
+                                 (float)x1,height() - (float)y1,
+                                 (float)x2,height() - (float)y2);
+              board.fillTriangle((float)x0,height() - (float)y0,
+                                 (float)x2,height() - (float)y2,
+                                 (float)x3,height() - (float)y3);
+            }
+#endif
+            break;
+          case 4 : {
+            const float
+              lightprop0 = lightprops(n0), lightprop1 = lightprops(n1),
+              lightprop2 = lightprops(n2), lightprop3 = lightprops(n3);
+            if (zbuffer)
+              draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,pcolor,lightprop0,lightprop1,lightprop2,opacity).
+                draw_triangle(zbuffer,x0,y0,z0,x2,y2,z2,x3,y3,z3,pcolor,lightprop0,lightprop2,lightprop3,opacity);
+            else
+              draw_triangle(x0,y0,x1,y1,x2,y2,pcolor,lightprop0,lightprop1,lightprop2,opacity).
+                draw_triangle(x0,y0,x2,y2,x3,y3,pcolor,lightprop0,lightprop2,lightprop3,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi((unsigned char)(color[0]),
+                                     (unsigned char)(color[1]),
+                                     (unsigned char)(color[2]),
+                                     (unsigned char)(opacity*255));
+              board.fillGouraudTriangle((float)x0,height() - (float)y0,lightprop0,
+                                         (float)x1,height() - (float)y1,lightprop1,
+                                         (float)x2,height() - (float)y2,lightprop2);
+              board.fillGouraudTriangle((float)x0,height() - (float)y0,lightprop0,
+                                         (float)x2,height() - (float)y2,lightprop2,
+                                         (float)x3,height() - (float)y3,lightprop3);
+            }
+#endif
+          } break;
+          case 5 : {
+            const unsigned int
+              lx0 = (unsigned int)lightprops(n0,0), ly0 = (unsigned int)lightprops(n0,1),
+              lx1 = (unsigned int)lightprops(n1,0), ly1 = (unsigned int)lightprops(n1,1),
+              lx2 = (unsigned int)lightprops(n2,0), ly2 = (unsigned int)lightprops(n2,1),
+              lx3 = (unsigned int)lightprops(n3,0), ly3 = (unsigned int)lightprops(n3,1);
+            if (zbuffer)
+              draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,pcolor,light_texture,lx0,ly0,lx1,ly1,lx2,ly2,opacity).
+                draw_triangle(zbuffer,x0,y0,z0,x2,y2,z2,x3,y3,z3,pcolor,light_texture,lx0,ly0,lx2,ly2,lx3,ly3,opacity);
+            else
+              draw_triangle(x0,y0,x1,y1,x2,y2,pcolor,light_texture,lx0,ly0,lx1,ly1,lx2,ly2,opacity).
+                draw_triangle(x0,y0,x2,y2,x3,y3,pcolor,light_texture,lx0,ly0,lx2,ly2,lx3,ly3,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              const float
+                l0 = light_texture((int)(light_texture.width()/2*(1 + lx0)), (int)(light_texture.height()/2*(1 + ly0))),
+                l1 = light_texture((int)(light_texture.width()/2*(1 + lx1)), (int)(light_texture.height()/2*(1 + ly1))),
+                l2 = light_texture((int)(light_texture.width()/2*(1 + lx2)), (int)(light_texture.height()/2*(1 + ly2))),
+                l3 = light_texture((int)(light_texture.width()/2*(1 + lx3)), (int)(light_texture.height()/2*(1 + ly3)));
+              board.setPenColorRGBi((unsigned char)(color[0]),
+                                     (unsigned char)(color[1]),
+                                     (unsigned char)(color[2]),
+                                     (unsigned char)(opacity*255));
+              board.fillGouraudTriangle((float)x0,height() - (float)y0,l0,
+                                         (float)x1,height() - (float)y1,l1,
+                                         (float)x2,height() - (float)y2,l2);
+              board.fillGouraudTriangle((float)x0,height() - (float)y0,l0,
+                                         (float)x2,height() - (float)y2,l2,
+                                         (float)x3,height() - (float)y3,l3);
+            }
+#endif
+          } break;
+          }
+        } break;
+        case 9 : { // Textured triangle
+          if (!__color) {
+            if (render_type==5) cimg::mutex(10,0);
+            throw CImgArgumentException(_cimg_instance
+                                        "draw_object3d(): Undefined texture for triangle primitive [%u].",
+                                        cimg_instance,n_primitive);
+          }
+          const unsigned int
+            n0 = (unsigned int)primitive[0],
+            n1 = (unsigned int)primitive[1],
+            n2 = (unsigned int)primitive[2];
+          const int
+            tx0 = (int)primitive[3], ty0 = (int)primitive[4],
+            tx1 = (int)primitive[5], ty1 = (int)primitive[6],
+            tx2 = (int)primitive[7], ty2 = (int)primitive[8],
+            x0 = (int)projections(n0,0), y0 = (int)projections(n0,1),
+            x1 = (int)projections(n1,0), y1 = (int)projections(n1,1),
+            x2 = (int)projections(n2,0), y2 = (int)projections(n2,1);
+          const float
+            z0 = vertices(n0,2) + Z + _focale,
+            z1 = vertices(n1,2) + Z + _focale,
+            z2 = vertices(n2,2) + Z + _focale;
+          switch (render_type) {
+          case 0 :
+            draw_point(x0,y0,color.get_vector_at(tx0<=0?0:tx0>=color.width()?color.width() - 1:tx0,
+                                                 ty0<=0?0:ty0>=color.height()?color.height() - 1:ty0)._data,opacity).
+              draw_point(x1,y1,color.get_vector_at(tx1<=0?0:tx1>=color.width()?color.width() - 1:tx1,
+                                                   ty1<=0?0:ty1>=color.height()?color.height() - 1:ty1)._data,opacity).
+              draw_point(x2,y2,color.get_vector_at(tx2<=0?0:tx2>=color.width()?color.width() - 1:tx2,
+                                                   ty2<=0?0:ty2>=color.height()?color.height() - 1:ty2)._data,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi(128,128,128,(unsigned char)(opacity*255));
+              board.drawCircle((float)x0,height() - (float)y0,0);
+              board.drawCircle((float)x1,height() - (float)y1,0);
+              board.drawCircle((float)x2,height() - (float)y2,0);
+            }
+#endif
+            break;
+          case 1 :
+            if (zbuffer)
+              draw_line(zbuffer,x0,y0,z0,x1,y1,z1,color,tx0,ty0,tx1,ty1,opacity).
+                draw_line(zbuffer,x0,y0,z0,x2,y2,z2,color,tx0,ty0,tx2,ty2,opacity).
+                draw_line(zbuffer,x1,y1,z1,x2,y2,z2,color,tx1,ty1,tx2,ty2,opacity);
+            else
+              draw_line(x0,y0,z0,x1,y1,z1,color,tx0,ty0,tx1,ty1,opacity).
+                draw_line(x0,y0,z0,x2,y2,z2,color,tx0,ty0,tx2,ty2,opacity).
+                draw_line(x1,y1,z1,x2,y2,z2,color,tx1,ty1,tx2,ty2,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi(128,128,128,(unsigned char)(opacity*255));
+              board.drawLine((float)x0,height() - (float)y0,(float)x1,height() - (float)y1);
+              board.drawLine((float)x0,height() - (float)y0,(float)x2,height() - (float)y2);
+              board.drawLine((float)x1,height() - (float)y1,(float)x2,height() - (float)y2);
+            }
+#endif
+            break;
+          case 2 :
+            if (zbuffer) draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,color,tx0,ty0,tx1,ty1,tx2,ty2,opacity);
+            else draw_triangle(x0,y0,z0,x1,y1,z1,x2,y2,z2,color,tx0,ty0,tx1,ty1,tx2,ty2,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi(128,128,128,(unsigned char)(opacity*255));
+              board.fillTriangle((float)x0,height() - (float)y0,
+                                 (float)x1,height() - (float)y1,
+                                 (float)x2,height() - (float)y2);
+            }
+#endif
+            break;
+          case 3 :
+            if (zbuffer)
+              draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,color,tx0,ty0,tx1,ty1,tx2,ty2,opacity,lightprops(l));
+            else draw_triangle(x0,y0,z0,x1,y1,z1,x2,y2,z2,color,tx0,ty0,tx1,ty1,tx2,ty2,opacity,lightprops(l));
+#ifdef cimg_use_board
+            if (pboard) {
+              const float lp = cimg::min(lightprops(l),1);
+              board.setPenColorRGBi((unsigned char)(128*lp),
+                                    (unsigned char)(128*lp),
+                                    (unsigned char)(128*lp),
+                                    (unsigned char)(opacity*255));
+              board.fillTriangle((float)x0,height() - (float)y0,
+                                 (float)x1,height() - (float)y1,
+                                 (float)x2,height() - (float)y2);
+            }
+#endif
+            break;
+          case 4 :
+            if (zbuffer)
+              draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,color,tx0,ty0,tx1,ty1,tx2,ty2,
+                            lightprops(n0),lightprops(n1),lightprops(n2),opacity);
+            else
+              draw_triangle(x0,y0,z0,x1,y1,z1,x2,y2,z2,color,tx0,ty0,tx1,ty1,tx2,ty2,
+                            lightprops(n0),lightprops(n1),lightprops(n2),opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi(128,128,128,(unsigned char)(opacity*255));
+              board.fillGouraudTriangle((float)x0,height() - (float)y0,lightprops(n0),
+                                        (float)x1,height() - (float)y1,lightprops(n1),
+                                        (float)x2,height() - (float)y2,lightprops(n2));
+            }
+#endif
+            break;
+          case 5 :
+            if (zbuffer)
+              draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,color,tx0,ty0,tx1,ty1,tx2,ty2,light_texture,
+                            (unsigned int)lightprops(n0,0),(unsigned int)lightprops(n0,1),
+                            (unsigned int)lightprops(n1,0),(unsigned int)lightprops(n1,1),
+                            (unsigned int)lightprops(n2,0),(unsigned int)lightprops(n2,1),
+                            opacity);
+            else
+              draw_triangle(x0,y0,z0,x1,y1,z1,x2,y2,z2,color,tx0,ty0,tx1,ty1,tx2,ty2,light_texture,
+                            (unsigned int)lightprops(n0,0),(unsigned int)lightprops(n0,1),
+                            (unsigned int)lightprops(n1,0),(unsigned int)lightprops(n1,1),
+                            (unsigned int)lightprops(n2,0),(unsigned int)lightprops(n2,1),
+                            opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              const float
+                l0 = light_texture((int)(light_texture.width()/2*(1 + lightprops(n0,0))),
+                                   (int)(light_texture.height()/2*(1 + lightprops(n0,1)))),
+                l1 = light_texture((int)(light_texture.width()/2*(1 + lightprops(n1,0))),
+                                   (int)(light_texture.height()/2*(1 + lightprops(n1,1)))),
+                l2 = light_texture((int)(light_texture.width()/2*(1 + lightprops(n2,0))),
+                                   (int)(light_texture.height()/2*(1 + lightprops(n2,1))));
+              board.setPenColorRGBi(128,128,128,(unsigned char)(opacity*255));
+              board.fillGouraudTriangle((float)x0,height() - (float)y0,l0,
+                                        (float)x1,height() - (float)y1,l1,
+                                        (float)x2,height() - (float)y2,l2);
+            }
+#endif
+            break;
+          }
+        } break;
+        case 12 : { // Textured quadrangle
+          if (!__color) {
+            if (render_type==5) cimg::mutex(10,0);
+            throw CImgArgumentException(_cimg_instance
+                                        "draw_object3d(): Undefined texture for quadrangle primitive [%u].",
+                                        cimg_instance,n_primitive);
+          }
+          const unsigned int
+            n0 = (unsigned int)primitive[0],
+            n1 = (unsigned int)primitive[1],
+            n2 = (unsigned int)primitive[2],
+            n3 = (unsigned int)primitive[3];
+          const int
+            tx0 = (int)primitive[4], ty0 = (int)primitive[5],
+            tx1 = (int)primitive[6], ty1 = (int)primitive[7],
+            tx2 = (int)primitive[8], ty2 = (int)primitive[9],
+            tx3 = (int)primitive[10], ty3 = (int)primitive[11],
+            x0 = (int)projections(n0,0), y0 = (int)projections(n0,1),
+            x1 = (int)projections(n1,0), y1 = (int)projections(n1,1),
+            x2 = (int)projections(n2,0), y2 = (int)projections(n2,1),
+            x3 = (int)projections(n3,0), y3 = (int)projections(n3,1);
+          const float
+            z0 = vertices(n0,2) + Z + _focale,
+            z1 = vertices(n1,2) + Z + _focale,
+            z2 = vertices(n2,2) + Z + _focale,
+            z3 = vertices(n3,2) + Z + _focale;
+
+          switch (render_type) {
+          case 0 :
+            draw_point(x0,y0,color.get_vector_at(tx0<=0?0:tx0>=color.width()?color.width() - 1:tx0,
+                                                 ty0<=0?0:ty0>=color.height()?color.height() - 1:ty0)._data,opacity).
+              draw_point(x1,y1,color.get_vector_at(tx1<=0?0:tx1>=color.width()?color.width() - 1:tx1,
+                                                   ty1<=0?0:ty1>=color.height()?color.height() - 1:ty1)._data,opacity).
+              draw_point(x2,y2,color.get_vector_at(tx2<=0?0:tx2>=color.width()?color.width() - 1:tx2,
+                                                   ty2<=0?0:ty2>=color.height()?color.height() - 1:ty2)._data,opacity).
+              draw_point(x3,y3,color.get_vector_at(tx3<=0?0:tx3>=color.width()?color.width() - 1:tx3,
+                                                   ty3<=0?0:ty3>=color.height()?color.height() - 1:ty3)._data,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi(128,128,128,(unsigned char)(opacity*255));
+              board.drawCircle((float)x0,height() - (float)y0,0);
+              board.drawCircle((float)x1,height() - (float)y1,0);
+              board.drawCircle((float)x2,height() - (float)y2,0);
+              board.drawCircle((float)x3,height() - (float)y3,0);
+            }
+#endif
+            break;
+          case 1 :
+            if (zbuffer)
+              draw_line(zbuffer,x0,y0,z0,x1,y1,z1,color,tx0,ty0,tx1,ty1,opacity).
+                draw_line(zbuffer,x1,y1,z1,x2,y2,z2,color,tx1,ty1,tx2,ty2,opacity).
+                draw_line(zbuffer,x2,y2,z2,x3,y3,z3,color,tx2,ty2,tx3,ty3,opacity).
+                draw_line(zbuffer,x3,y3,z3,x0,y0,z0,color,tx3,ty3,tx0,ty0,opacity);
+            else
+              draw_line(x0,y0,z0,x1,y1,z1,color,tx0,ty0,tx1,ty1,opacity).
+                draw_line(x1,y1,z1,x2,y2,z2,color,tx1,ty1,tx2,ty2,opacity).
+                draw_line(x2,y2,z2,x3,y3,z3,color,tx2,ty2,tx3,ty3,opacity).
+                draw_line(x3,y3,z3,x0,y0,z0,color,tx3,ty3,tx0,ty0,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi(128,128,128,(unsigned char)(opacity*255));
+              board.drawLine((float)x0,height() - (float)y0,(float)x1,height() - (float)y1);
+              board.drawLine((float)x1,height() - (float)y1,(float)x2,height() - (float)y2);
+              board.drawLine((float)x2,height() - (float)y2,(float)x3,height() - (float)y3);
+              board.drawLine((float)x3,height() - (float)y3,(float)x0,height() - (float)y0);
+            }
+#endif
+            break;
+          case 2 :
+            if (zbuffer)
+              draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,color,tx0,ty0,tx1,ty1,tx2,ty2,opacity).
+                draw_triangle(zbuffer,x0,y0,z0,x2,y2,z2,x3,y3,z3,color,tx0,ty0,tx2,ty2,tx3,ty3,opacity);
+            else
+              draw_triangle(x0,y0,z0,x1,y1,z1,x2,y2,z2,color,tx0,ty0,tx1,ty1,tx2,ty2,opacity).
+                draw_triangle(x0,y0,z0,x2,y2,z2,x3,y3,z3,color,tx0,ty0,tx2,ty2,tx3,ty3,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi(128,128,128,(unsigned char)(opacity*255));
+              board.fillTriangle((float)x0,height() - (float)y0,
+                                 (float)x1,height() - (float)y1,
+                                 (float)x2,height() - (float)y2);
+              board.fillTriangle((float)x0,height() - (float)y0,
+                                 (float)x2,height() - (float)y2,
+                                 (float)x3,height() - (float)y3);
+            }
+#endif
+            break;
+          case 3 :
+            if (zbuffer)
+              draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,color,tx0,ty0,tx1,ty1,tx2,ty2,opacity,lightprops(l)).
+                draw_triangle(zbuffer,x0,y0,z0,x2,y2,z2,x3,y3,z3,color,tx0,ty0,tx2,ty2,tx3,ty3,opacity,lightprops(l));
+            else
+              draw_triangle(x0,y0,z0,x1,y1,z1,x2,y2,z2,color,tx0,ty0,tx1,ty1,tx2,ty2,opacity,lightprops(l)).
+                draw_triangle(x0,y0,z0,x2,y2,z2,x3,y3,z3,color,tx0,ty0,tx2,ty2,tx3,ty3,opacity,lightprops(l));
+#ifdef cimg_use_board
+            if (pboard) {
+              const float lp = cimg::min(lightprops(l),1);
+              board.setPenColorRGBi((unsigned char)(128*lp),
+                                     (unsigned char)(128*lp),
+                                     (unsigned char)(128*lp),
+                                     (unsigned char)(opacity*255));
+              board.fillTriangle((float)x0,height() - (float)y0,
+                                 (float)x1,height() - (float)y1,
+                                 (float)x2,height() - (float)y2);
+              board.fillTriangle((float)x0,height() - (float)y0,
+                                 (float)x2,height() - (float)y2,
+                                 (float)x3,height() - (float)y3);
+            }
+#endif
+            break;
+          case 4 : {
+            const float
+              lightprop0 = lightprops(n0), lightprop1 = lightprops(n1),
+              lightprop2 = lightprops(n2), lightprop3 = lightprops(n3);
+            if (zbuffer)
+              draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,color,tx0,ty0,tx1,ty1,tx2,ty2,
+                            lightprop0,lightprop1,lightprop2,opacity).
+                draw_triangle(zbuffer,x0,y0,z0,x2,y2,z2,x3,y3,z3,color,tx0,ty0,tx2,ty2,tx3,ty3,
+                              lightprop0,lightprop2,lightprop3,opacity);
+            else
+              draw_triangle(x0,y0,z0,x1,y1,z1,x2,y2,z2,color,tx0,ty0,tx1,ty1,tx2,ty2,
+                            lightprop0,lightprop1,lightprop2,opacity).
+                draw_triangle(x0,y0,z0,x2,y2,z2,x3,y3,z3,color,tx0,ty0,tx2,ty2,tx3,ty3,
+                              lightprop0,lightprop2,lightprop3,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              board.setPenColorRGBi(128,128,128,(unsigned char)(opacity*255));
+              board.fillGouraudTriangle((float)x0,height() - (float)y0,lightprop0,
+                                         (float)x1,height() - (float)y1,lightprop1,
+                                         (float)x2,height() - (float)y2,lightprop2);
+              board.fillGouraudTriangle((float)x0,height()  -(float)y0,lightprop0,
+                                         (float)x2,height() - (float)y2,lightprop2,
+                                         (float)x3,height() - (float)y3,lightprop3);
+            }
+#endif
+          } break;
+          case 5 : {
+            const unsigned int
+              lx0 = (unsigned int)lightprops(n0,0), ly0 = (unsigned int)lightprops(n0,1),
+              lx1 = (unsigned int)lightprops(n1,0), ly1 = (unsigned int)lightprops(n1,1),
+              lx2 = (unsigned int)lightprops(n2,0), ly2 = (unsigned int)lightprops(n2,1),
+              lx3 = (unsigned int)lightprops(n3,0), ly3 = (unsigned int)lightprops(n3,1);
+            if (zbuffer)
+              draw_triangle(zbuffer,x0,y0,z0,x1,y1,z1,x2,y2,z2,color,tx0,ty0,tx1,ty1,tx2,ty2,
+                            light_texture,lx0,ly0,lx1,ly1,lx2,ly2,opacity).
+                draw_triangle(zbuffer,x0,y0,z0,x2,y2,z2,x3,y3,z3,color,tx0,ty0,tx2,ty2,tx3,ty3,
+                              light_texture,lx0,ly0,lx2,ly2,lx3,ly3,opacity);
+            else
+              draw_triangle(x0,y0,z0,x1,y1,z1,x2,y2,z2,color,tx0,ty0,tx1,ty1,tx2,ty2,
+                            light_texture,lx0,ly0,lx1,ly1,lx2,ly2,opacity).
+                draw_triangle(x0,y0,z0,x2,y2,z2,x3,y3,z3,color,tx0,ty0,tx2,ty2,tx3,ty3,
+                              light_texture,lx0,ly0,lx2,ly2,lx3,ly3,opacity);
+#ifdef cimg_use_board
+            if (pboard) {
+              const float
+                l0 = light_texture((int)(light_texture.width()/2*(1 + lx0)), (int)(light_texture.height()/2*(1 + ly0))),
+                l1 = light_texture((int)(light_texture.width()/2*(1 + lx1)), (int)(light_texture.height()/2*(1 + ly1))),
+                l2 = light_texture((int)(light_texture.width()/2*(1 + lx2)), (int)(light_texture.height()/2*(1 + ly2))),
+                l3 = light_texture((int)(light_texture.width()/2*(1 + lx3)), (int)(light_texture.height()/2*(1 + ly3)));
+              board.setPenColorRGBi(128,128,128,(unsigned char)(opacity*255));
+              board.fillGouraudTriangle((float)x0,height() - (float)y0,l0,
+                                         (float)x1,height() - (float)y1,l1,
+                                         (float)x2,height() - (float)y2,l2);
+              board.fillGouraudTriangle((float)x0,height()  -(float)y0,l0,
+                                         (float)x2,height() - (float)y2,l2,
+                                         (float)x3,height() - (float)y3,l3);
+            }
+#endif
+          } break;
+          }
+        } break;
+        }
+      }
+
+      if (render_type==5) cimg::mutex(10,0);
+      return *this;
+    }
+
+    //@}
+    //---------------------------
+    //
+    //! \name Data Input
+    //@{
+    //---------------------------
+
+    //! Launch simple interface to select a shape from an image.
+    /**
+       \param disp Display window to use.
+       \param feature_type Type of feature to select. Can be <tt>{ 0=point | 1=line | 2=rectangle | 3=ellipse }</tt>.
+       \param XYZ Pointer to 3 values X,Y,Z which tells about the projection point coordinates, for volumetric images.
+    **/
+    CImg<T>& select(CImgDisplay &disp,
+		    const unsigned int feature_type=2, unsigned int *const XYZ=0) {
+      return get_select(disp,feature_type,XYZ).move_to(*this);
+    }
+
+    //! Simple interface to select a shape from an image \overloading.
+    CImg<T>& select(const char *const title,
+		    const unsigned int feature_type=2, unsigned int *const XYZ=0) {
+      return get_select(title,feature_type,XYZ).move_to(*this);
+    }
+
+    //! Simple interface to select a shape from an image \newinstance.
+    CImg<intT> get_select(CImgDisplay &disp,
+		          const unsigned int feature_type=2, unsigned int *const XYZ=0) const {
+      return _get_select(disp,0,feature_type,XYZ,0,0,0,true,false);
+    }
+
+    //! Simple interface to select a shape from an image \newinstance.
+    CImg<intT> get_select(const char *const title,
+    			  const unsigned int feature_type=2, unsigned int *const XYZ=0) const {
+      CImgDisplay disp;
+      return _get_select(disp,title,feature_type,XYZ,0,0,0,true,false);
+    }
+
+    CImg<intT> _get_select(CImgDisplay &disp, const char *const title,
+			   const unsigned int feature_type, unsigned int *const XYZ,
+			   const int origX, const int origY, const int origZ,
+                           const bool reset_view3d,
+                           const bool force_display_z_coord) const {
+      if (is_empty()) return CImg<intT>(1,feature_type==0?3:6,1,1,-1);
+      if (!disp) {
+        disp.assign(cimg_fitscreen(_width,_height,_depth),title?title:0,1);
+        if (!title) disp.set_title("CImg<%s> (%ux%ux%ux%u)",pixel_type(),_width,_height,_depth,_spectrum);
+      } else if (title) disp.set_title("%s",title);
+
+      const unsigned int old_normalization = disp.normalization();
+      bool old_is_resized = disp.is_resized();
+      disp._normalization = 0;
+      disp.show().set_key(0).set_wheel().show_mouse();
+      disp._mouse_x = disp._mouse_y = -1;
+
+      unsigned char foreground_color[] = { 255,255,255 }, background_color[] = { 0,0,0 };
+
+      int area = 0, starting_area = 0, clicked_area = 0, phase = 0,
+        X0 = (int)((XYZ?XYZ[0]:(_width - 1)/2)%_width),
+        Y0 = (int)((XYZ?XYZ[1]:(_height - 1)/2)%_height),
+        Z0 = (int)((XYZ?XYZ[2]:(_depth - 1)/2)%_depth),
+        X1 =-1, Y1 = -1, Z1 = -1,
+        X3d = -1, Y3d = -1,
+        oX3d = X3d, oY3d = -1,
+        omx = -1, omy = -1;
+      float X = -1, Y = -1, Z = -1;
+      unsigned int old_button = 0, key = 0;
+
+      bool shape_selected = false, text_down = false, visible_cursor = true;
+      static CImg<floatT> pose3d;
+      static bool is_view3d = false, is_axes = true;
+      if (reset_view3d) { pose3d.assign(); is_view3d = false; }
+      CImg<floatT> points3d, opacities3d, sel_opacities3d;
+      CImgList<uintT> primitives3d, sel_primitives3d;
+      CImgList<ucharT> colors3d, sel_colors3d;
+      CImg<ucharT> visu, visu0, view3d;
+      CImg<charT> text(1024); *text = 0;
+
+      while (!key && !disp.is_closed() && !shape_selected) {
+
+        // Handle mouse motion and selection
+        int
+          mx = disp.mouse_x(),
+          my = disp.mouse_y();
+
+        const float
+          mX = mx<0?-1.0f:(float)mx*(width() + (depth()>1?depth():0))/disp.width(),
+          mY = my<0?-1.0f:(float)my*(height() + (depth()>1?depth():0))/disp.height();
+
+        area = 0;
+        if (mX>=0 && mY>=0 && mX<width() && mY<height())  { area = 1; X = mX; Y = mY; Z = (float)(phase?Z1:Z0); }
+        if (mX>=0 && mX<width() && mY>=height()) { area = 2; X = mX; Z = mY - _height; Y = (float)(phase?Y1:Y0); }
+        if (mY>=0 && mX>=width() && mY<height()) { area = 3; Y = mY; Z = mX - _width; X = (float)(phase?X1:X0); }
+        if (mX>=width() && mY>=height()) area = 4;
+        if (disp.button()) { if (!clicked_area) clicked_area = area; } else clicked_area = 0;
+
+        switch (key = disp.key()) {
+#if cimg_OS!=2
+        case cimg::keyCTRLRIGHT :
+#endif
+        case 0 : case cimg::keyCTRLLEFT : key = 0; break;
+        case cimg::keyPAGEUP :
+          if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) { disp.set_wheel(1); key = 0; } break;
+        case cimg::keyPAGEDOWN :
+          if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) { disp.set_wheel(-1); key = 0; } break;
+        case cimg::keyA : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            is_axes = !is_axes; disp.set_key(key,false); key = 0; visu0.assign();
+          } break;
+        case cimg::keyD : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            disp.set_fullscreen(false).
+              resize(CImgDisplay::_fitscreen(3*disp.width()/2,3*disp.height()/2,1,128,-100,false),
+                     CImgDisplay::_fitscreen(3*disp.width()/2,3*disp.height()/2,1,128,-100,true),false).
+              _is_resized = true;
+            disp.set_key(key,false); key = 0; visu0.assign();
+          } break;
+        case cimg::keyC : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            disp.set_fullscreen(false).
+              resize(cimg_fitscreen(2*disp.width()/3,2*disp.height()/3,1),false)._is_resized = true;
+            disp.set_key(key,false); key = 0; visu0.assign();
+          } break;
+        case cimg::keyR : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            disp.set_fullscreen(false).resize(cimg_fitscreen(_width,_height,_depth),false)._is_resized = true;
+            disp.set_key(key,false); key = 0; visu0.assign();
+          } break;
+        case cimg::keyF : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            disp.resize(disp.screen_width(),disp.screen_height(),false).toggle_fullscreen()._is_resized = true;
+            disp.set_key(key,false); key = 0; visu0.assign();
+          } break;
+        case cimg::keyV : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            is_view3d = !is_view3d; disp.set_key(key,false); key = 0; visu0.assign();
+          } break;
+        case cimg::keyS : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            static unsigned int snap_number = 0;
+            char filename[32] = { 0 };
+            std::FILE *file;
+            do {
+              cimg_snprintf(filename,sizeof(filename),cimg_appname "_%.4u.bmp",snap_number++);
+              if ((file=std::fopen(filename,"r"))!=0) cimg::fclose(file);
+            } while (file);
+            if (visu0) {
+              (+visu0).draw_text(0,0," Saving snapshot... ",foreground_color,background_color,0.7f,13).display(disp);
+              visu0.save(filename);
+              (+visu0).draw_text(0,0," Snapshot '%s' saved. ",foreground_color,background_color,0.7f,13,filename).
+                display(disp);
+            }
+            disp.set_key(key,false); key = 0;
+          } break;
+        case cimg::keyO : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            static unsigned int snap_number = 0;
+            char filename[32] = { 0 };
+            std::FILE *file;
+            do {
+#ifdef cimg_use_zlib
+              cimg_snprintf(filename,sizeof(filename),cimg_appname "_%.4u.cimgz",snap_number++);
+#else
+              cimg_snprintf(filename,sizeof(filename),cimg_appname "_%.4u.cimg",snap_number++);
+#endif
+              if ((file=std::fopen(filename,"r"))!=0) cimg::fclose(file);
+            } while (file);
+            (+visu0).draw_text(0,0," Saving instance... ",foreground_color,background_color,0.7f,13).display(disp);
+            save(filename);
+            (+visu0).draw_text(0,0," Instance '%s' saved. ",foreground_color,background_color,0.7f,13,filename).
+              display(disp);
+            disp.set_key(key,false); key = 0;
+          } break;
+        }
+
+        switch (area) {
+
+        case 0 : // When mouse is out of image range.
+          mx = my = -1; X = Y = Z = -1;
+          break;
+
+        case 1 : case 2 : case 3 : // When mouse is over the XY,XZ or YZ projections.
+          if (disp.button()&1 && phase<2 && clicked_area==area) { // When selection has been started (1st step).
+            if (_depth>1 && (X1!=(int)X || Y1!=(int)Y || Z1!=(int)Z)) visu0.assign();
+            X1 = (int)X; Y1 = (int)Y; Z1 = (int)Z;
+          }
+          if (!(disp.button()&1) && phase>=2 && clicked_area!=area) { // When selection is at 2nd step (for volumes).
+            switch (starting_area) {
+            case 1 : if (Z1!=(int)Z) visu0.assign(); Z1 = (int)Z; break;
+            case 2 : if (Y1!=(int)Y) visu0.assign(); Y1 = (int)Y; break;
+            case 3 : if (X1!=(int)X) visu0.assign(); X1 = (int)X; break;
+            }
+          }
+          if (disp.button()&2 && clicked_area==area) { // When moving through the image/volume.
+            if (phase) {
+              if (_depth>1 && (X1!=(int)X || Y1!=(int)Y || Z1!=(int)Z)) visu0.assign();
+              X1 = (int)X; Y1 = (int)Y; Z1 = (int)Z;
+            } else {
+              if (_depth>1 && (X0!=(int)X || Y0!=(int)Y || Z0!=(int)Z)) visu0.assign();
+              X0 = (int)X; Y0 = (int)Y; Z0 = (int)Z;
+            }
+          }
+          if (disp.button()&4) { // Reset positions.
+            X = (float)X0; Y = (float)Y0; Z = (float)Z0; phase = area = clicked_area = starting_area = 0;
+            visu0.assign();
+          }
+          if (disp.wheel()) { // When moving through the slices of the volume (with mouse wheel).
+            if (_depth>1 && !disp.is_keyCTRLLEFT() && !disp.is_keyCTRLRIGHT() &&
+                !disp.is_keySHIFTLEFT() && !disp.is_keySHIFTRIGHT() &&
+                !disp.is_keyALT() && !disp.is_keyALTGR()) {
+              switch (area) {
+              case 1 :
+                if (phase) Z = (float)(Z1+=disp.wheel()); else Z = (float)(Z0+=disp.wheel());
+                visu0.assign(); break;
+              case 2 :
+                if (phase) Y = (float)(Y1+=disp.wheel()); else Y = (float)(Y0+=disp.wheel());
+                visu0.assign(); break;
+              case 3 :
+                if (phase) X = (float)(X1+=disp.wheel()); else X = (float)(X0+=disp.wheel());
+                visu0.assign(); break;
+              }
+              disp.set_wheel();
+            } else key = ~0U;
+          }
+          if ((disp.button()&1)!=old_button) { // When left button has just been pressed or released.
+            switch (phase) {
+            case 0 :
+              if (area==clicked_area) {
+                X0 = X1 = (int)X; Y0 = Y1 = (int)Y; Z0 = Z1 = (int)Z; starting_area = area; ++phase;
+              } break;
+            case 1 :
+              if (area==starting_area) {
+                X1 = (int)X; Y1 = (int)Y; Z1 = (int)Z; ++phase;
+              } else if (!(disp.button()&1)) { X = (float)X0; Y = (float)Y0; Z = (float)Z0; phase = 0; visu0.assign(); }
+              break;
+            case 2 : ++phase; break;
+            }
+            old_button = disp.button()&1;
+          }
+          break;
+
+        case 4 : // When mouse is over the 3d view.
+          if (is_view3d && points3d) {
+            X3d = mx - width()*disp.width()/(width() + (depth()>1?depth():0));
+            Y3d = my - height()*disp.height()/(height() + (depth()>1?depth():0));
+            if (oX3d<0) { oX3d = X3d; oY3d = Y3d; }
+            // Left + right buttons: reset.
+            if ((disp.button()&3)==3) { pose3d.assign(); view3d.assign(); oX3d = oY3d = X3d = Y3d = -1; }
+            else if (disp.button()&1 && pose3d && (oX3d!=X3d || oY3d!=Y3d)) { // Left button: rotate.
+              const float
+                R = 0.45f*cimg::min(view3d._width,view3d._height),
+                R2 = R*R,
+                u0 = (float)(oX3d - view3d.width()/2),
+                v0 = (float)(oY3d - view3d.height()/2),
+                u1 = (float)(X3d - view3d.width()/2),
+                v1 = (float)(Y3d - view3d.height()/2),
+                n0 = (float)std::sqrt(u0*u0 + v0*v0),
+                n1 = (float)std::sqrt(u1*u1 + v1*v1),
+                nu0 = n0>R?(u0*R/n0):u0,
+                nv0 = n0>R?(v0*R/n0):v0,
+                nw0 = (float)std::sqrt(cimg::max(0,R2 - nu0*nu0 - nv0*nv0)),
+                nu1 = n1>R?(u1*R/n1):u1,
+                nv1 = n1>R?(v1*R/n1):v1,
+                nw1 = (float)std::sqrt(cimg::max(0,R2 - nu1*nu1 - nv1*nv1)),
+                u = nv0*nw1 - nw0*nv1,
+                v = nw0*nu1 - nu0*nw1,
+                w = nv0*nu1 - nu0*nv1,
+                n = (float)std::sqrt(u*u + v*v + w*w),
+                alpha = (float)std::asin(n/R2);
+              pose3d.draw_image(CImg<floatT>::rotation_matrix(u,v,w,alpha)*pose3d.get_crop(0,0,2,2));
+              view3d.assign();
+            } else if (disp.button()&2 && pose3d && oY3d!=Y3d) {  // Right button: zoom.
+              pose3d(3,2)-=(oY3d - Y3d)*1.5f; view3d.assign();
+            }
+            if (disp.wheel()) { // Wheel: zoom
+              pose3d(3,2)-=disp.wheel()*15; view3d.assign(); disp.set_wheel();
+            }
+            if (disp.button()&4 && pose3d && (oX3d!=X3d || oY3d!=Y3d)) { // Middle button: shift.
+              pose3d(3,0)-=oX3d - X3d; pose3d(3,1)-=oY3d - Y3d; view3d.assign();
+            }
+            oX3d = X3d; oY3d = Y3d;
+          }
+          mx = my = -1; X = Y = Z = -1;
+          break;
+        }
+
+        if (phase) {
+          if (!feature_type) shape_selected = phase?true:false;
+          else {
+            if (_depth>1) shape_selected = (phase==3)?true:false;
+            else shape_selected = (phase==2)?true:false;
+          }
+        }
+
+        if (X0<0) X0 = 0; if (X0>=width()) X0 = width() - 1;
+        if (Y0<0) Y0 = 0; if (Y0>=height()) Y0 = height() - 1;
+        if (Z0<0) Z0 = 0; if (Z0>=depth()) Z0 = depth() - 1;
+        if (X1<1) X1 = 0; if (X1>=width()) X1 = width() - 1;
+        if (Y1<0) Y1 = 0; if (Y1>=height()) Y1 = height() - 1;
+        if (Z1<0) Z1 = 0; if (Z1>=depth()) Z1 = depth() - 1;
+
+        // Draw visualization image on the display
+        if (mx!=omx || my!=omy || !visu0 || (_depth>1 && !view3d)) {
+
+          if (!visu0) { // Create image of projected planes.
+            __get_select(disp,old_normalization,phase?X1:X0,phase?Y1:Y0,phase?Z1:Z0).move_to(visu0).resize(disp);
+            view3d.assign();
+            points3d.assign();
+          }
+
+          if (is_view3d && _depth>1 && !view3d) { // Create 3d view for volumetric images.
+            const unsigned int
+              _x3d = (unsigned int)cimg::round((float)_width*visu0._width/(_width + _depth),1,1),
+              _y3d = (unsigned int)cimg::round((float)_height*visu0._height/(_height + _depth),1,1),
+              x3d = _x3d>=visu0._width?visu0._width - 1:_x3d,
+              y3d = _y3d>=visu0._height?visu0._height - 1:_y3d;
+            CImg<ucharT>(1,2,1,1,64,128).resize(visu0._width - x3d,visu0._height - y3d,1,visu0._spectrum,3).
+              move_to(view3d);
+            if (!points3d) {
+              get_projections3d(primitives3d,colors3d,phase?X1:X0,phase?Y1:Y0,phase?Z1:Z0,true).move_to(points3d);
+              points3d.append(CImg<floatT>(8,3,1,1,
+                                           0,_width - 1,_width - 1,0,0,_width - 1,_width - 1,0,
+                                           0,0,_height - 1,_height - 1,0,0,_height - 1,_height - 1,
+                                           0,0,0,0,_depth - 1,_depth - 1,_depth - 1,_depth - 1),'x');
+              CImg<uintT>::vector(12,13).move_to(primitives3d); CImg<uintT>::vector(13,14).move_to(primitives3d);
+              CImg<uintT>::vector(14,15).move_to(primitives3d); CImg<uintT>::vector(15,12).move_to(primitives3d);
+              CImg<uintT>::vector(16,17).move_to(primitives3d); CImg<uintT>::vector(17,18).move_to(primitives3d);
+              CImg<uintT>::vector(18,19).move_to(primitives3d); CImg<uintT>::vector(19,16).move_to(primitives3d);
+              CImg<uintT>::vector(12,16).move_to(primitives3d); CImg<uintT>::vector(13,17).move_to(primitives3d);
+              CImg<uintT>::vector(14,18).move_to(primitives3d); CImg<uintT>::vector(15,19).move_to(primitives3d);
+              colors3d.insert(12,CImg<ucharT>::vector(255,255,255));
+              opacities3d.assign(primitives3d.width(),1,1,1,0.5f);
+              if (!phase) {
+                opacities3d[0] = opacities3d[1] = opacities3d[2] = 0.8f;
+                sel_primitives3d.assign();
+                sel_colors3d.assign();
+                sel_opacities3d.assign();
+              } else {
+                if (feature_type==2) {
+                  points3d.append(CImg<floatT>(8,3,1,1,
+                                               X0,X1,X1,X0,X0,X1,X1,X0,
+                                               Y0,Y0,Y1,Y1,Y0,Y0,Y1,Y1,
+                                               Z0,Z0,Z0,Z0,Z1,Z1,Z1,Z1),'x');
+                  sel_primitives3d.assign();
+                  CImg<uintT>::vector(20,21).move_to(sel_primitives3d);
+                  CImg<uintT>::vector(21,22).move_to(sel_primitives3d);
+                  CImg<uintT>::vector(22,23).move_to(sel_primitives3d);
+                  CImg<uintT>::vector(23,20).move_to(sel_primitives3d);
+                  CImg<uintT>::vector(24,25).move_to(sel_primitives3d);
+                  CImg<uintT>::vector(25,26).move_to(sel_primitives3d);
+                  CImg<uintT>::vector(26,27).move_to(sel_primitives3d);
+                  CImg<uintT>::vector(27,24).move_to(sel_primitives3d);
+                  CImg<uintT>::vector(20,24).move_to(sel_primitives3d);
+                  CImg<uintT>::vector(21,25).move_to(sel_primitives3d);
+                  CImg<uintT>::vector(22,26).move_to(sel_primitives3d);
+                  CImg<uintT>::vector(23,27).move_to(sel_primitives3d);
+                } else {
+                  points3d.append(CImg<floatT>(2,3,1,1,
+                                               X0,X1,
+                                               Y0,Y1,
+                                               Z0,Z1),'x');
+                  sel_primitives3d.assign(CImg<uintT>::vector(20,21));
+                }
+                sel_colors3d.assign(sel_primitives3d._width,CImg<ucharT>::vector(255,255,255));
+                sel_opacities3d.assign(sel_primitives3d._width,1,1,1,0.8f);
+              }
+              points3d.shift_object3d(-0.5f*(_width - 1),-0.5f*(_height - 1),-0.5f*(_depth - 1)).resize_object3d();
+              points3d*=0.75f*cimg::min(view3d._width,view3d._height);
+            }
+
+            if (!pose3d) CImg<floatT>(4,3,1,1, 1,0,0,0, 0,1,0,0, 0,0,1,0).move_to(pose3d);
+            CImg<floatT> zbuffer3d(view3d._width,view3d._height,1,1,0);
+            const CImg<floatT> rotated_points3d = pose3d.get_crop(0,0,2,2)*points3d;
+            if (sel_primitives3d)
+              view3d.draw_object3d(pose3d(3,0) + 0.5f*view3d._width,
+                                   pose3d(3,1) + 0.5f*view3d._height,
+                                   pose3d(3,2),
+                                   rotated_points3d,sel_primitives3d,sel_colors3d,sel_opacities3d,
+                                   2,true,500,0,0,0,0,0,zbuffer3d);
+            view3d.draw_object3d(pose3d(3,0) + 0.5f*view3d._width,
+                                 pose3d(3,1) + 0.5f*view3d._height,
+                                 pose3d(3,2),
+                                 rotated_points3d,primitives3d,colors3d,opacities3d,
+                                 2,true,500,0,0,0,0,0,zbuffer3d);
+            visu0.draw_image(x3d,y3d,view3d);
+          }
+          visu = visu0;
+
+          if (X<0 || Y<0 || Z<0) { if (!visible_cursor) { disp.show_mouse(); visible_cursor = true; }}
+          else {
+            if (is_axes) { if (visible_cursor) { disp.hide_mouse(); visible_cursor = false; }}
+            else { if (!visible_cursor) { disp.show_mouse(); visible_cursor = true; }}
+            const int d = (depth()>1)?depth():0;
+            int
+              _X = (int)X, _Y = (int)Y, _Z = (int)Z,
+              w = disp.width(), W = width() + d,
+              h = disp.height(), H = height() + d,
+              _xp = (int)(_X*(float)w/W), xp = _xp + ((int)(_xp*(float)W/w)!=_X?1:0),
+              _yp = (int)(_Y*(float)h/H), yp = _yp + ((int)(_yp*(float)H/h)!=_Y?1:0),
+              _xn = (int)((_X + 1.0f)*w/W - 1), xn = _xn + ((int)((_xn + 1.0f)*W/w)!=_X + 1?1:0),
+              _yn = (int)((_Y + 1.0f)*h/H - 1), yn = _yn + ((int)((_yn + 1.0f)*H/h)!=_Y + 1?1:0),
+              _zxp = (int)((_Z + width())*(float)w/W), zxp = _zxp + ((int)(_zxp*(float)W/w)!=_Z + width()?1:0),
+              _zyp = (int)((_Z + height())*(float)h/H), zyp = _zyp + ((int)(_zyp*(float)H/h)!=_Z + height()?1:0),
+              _zxn = (int)((_Z + width() + 1.0f)*w/W - 1),
+                       zxn = _zxn + ((int)((_zxn + 1.0f)*W/w)!=_Z + width() + 1?1:0),
+              _zyn = (int)((_Z + height() + 1.0f)*h/H - 1),
+                       zyn = _zyn + ((int)((_zyn + 1.0f)*H/h)!=_Z + height() + 1?1:0),
+              _xM = (int)(width()*(float)w/W - 1), xM = _xM + ((int)((_xM + 1.0f)*W/w)!=width()?1:0),
+              _yM = (int)(height()*(float)h/H - 1), yM = _yM + ((int)((_yM + 1.0f)*H/h)!=height()?1:0),
+              xc = (xp + xn)/2,
+              yc = (yp + yn)/2,
+              zxc = (zxp + zxn)/2,
+              zyc = (zyp + zyn)/2,
+              xf = (int)(X*w/W),
+              yf = (int)(Y*h/H),
+              zxf = (int)((Z + width())*w/W),
+              zyf = (int)((Z + height())*h/H);
+
+            if (is_axes) { // Draw axes.
+              visu.draw_line(0,yf,visu.width() - 1,yf,foreground_color,0.7f,0xFF00FF00).
+                draw_line(0,yf,visu.width() - 1,yf,background_color,0.7f,0x00FF00FF).
+                draw_line(xf,0,xf,visu.height() - 1,foreground_color,0.7f,0xFF00FF00).
+                draw_line(xf,0,xf,visu.height() - 1,background_color,0.7f,0x00FF00FF);
+              if (_depth>1)
+                visu.draw_line(zxf,0,zxf,yM,foreground_color,0.7f,0xFF00FF00).
+                  draw_line(zxf,0,zxf,yM,background_color,0.7f,0x00FF00FF).
+                  draw_line(0,zyf,xM,zyf,foreground_color,0.7f,0xFF00FF00).
+                  draw_line(0,zyf,xM,zyf,background_color,0.7f,0x00FF00FF);
+            }
+
+            // Draw box cursor.
+            if (xn - xp>=4 && yn - yp>=4) visu.draw_rectangle(xp,yp,xn,yn,foreground_color,0.2f).
+                                        draw_rectangle(xp,yp,xn,yn,foreground_color,1,0xAAAAAAAA).
+                                        draw_rectangle(xp,yp,xn,yn,background_color,1,0x55555555);
+            if (_depth>1) {
+              if (yn - yp>=4 && zxn - zxp>=4) visu.draw_rectangle(zxp,yp,zxn,yn,background_color,0.2f).
+                                            draw_rectangle(zxp,yp,zxn,yn,foreground_color,1,0xAAAAAAAA).
+                                            draw_rectangle(zxp,yp,zxn,yn,background_color,1,0x55555555);
+              if (xn - xp>=4 && zyn - zyp>=4) visu.draw_rectangle(xp,zyp,xn,zyn,background_color,0.2f).
+                                            draw_rectangle(xp,zyp,xn,zyn,foreground_color,1,0xAAAAAAAA).
+                                            draw_rectangle(xp,zyp,xn,zyn,background_color,1,0x55555555);
+            }
+
+            // Draw selection.
+            if (phase) {
+              const int
+                _xp0 = (int)(X0*(float)w/W), xp0 = _xp0 + ((int)(_xp0*(float)W/w)!=X0?1:0),
+                _yp0 = (int)(Y0*(float)h/H), yp0 = _yp0 + ((int)(_yp0*(float)H/h)!=Y0?1:0),
+                _xn0 = (int)((X0 + 1.0f)*w/W - 1), xn0 = _xn0 + ((int)((_xn0 + 1.0f)*W/w)!=X0 + 1?1:0),
+                _yn0 = (int)((Y0 + 1.0f)*h/H - 1), yn0 = _yn0 + ((int)((_yn0 + 1.0f)*H/h)!=Y0 + 1?1:0),
+                _zxp0 = (int)((Z0 + width())*(float)w/W), zxp0 = _zxp0 + ((int)(_zxp0*(float)W/w)!=Z0 + width()?1:0),
+                _zyp0 = (int)((Z0 + height())*(float)h/H), zyp0 = _zyp0 + ((int)(_zyp0*(float)H/h)!=Z0 + height()?1:0),
+                _zxn0 = (int)((Z0 + width() + 1.0f)*w/W - 1),
+                zxn0 = _zxn0 + ((int)((_zxn0 + 1.0f)*W/w)!=Z0 + width() + 1?1:0),
+                _zyn0 = (int)((Z0 + height() + 1.0f)*h/H - 1),
+                zyn0 = _zyn0 + ((int)((_zyn0 + 1.0f)*H/h)!=Z0 + height() + 1?1:0),
+                xc0 = (xp0 + xn0)/2,
+                yc0 = (yp0 + yn0)/2,
+                zxc0 = (zxp0 + zxn0)/2,
+                zyc0 = (zyp0 + zyn0)/2;
+
+              switch (feature_type) {
+              case 1 : {
+                visu.draw_arrow(xc0,yc0,xc,yc,background_color,0.9f,30,5,0x55555555).
+                  draw_arrow(xc0,yc0,xc,yc,foreground_color,0.9f,30,5,0xAAAAAAAA);
+                if (d) {
+                  visu.draw_arrow(zxc0,yc0,zxc,yc,background_color,0.9f,30,5,0x55555555).
+                    draw_arrow(zxc0,yc0,zxc,yc,foreground_color,0.9f,30,5,0xAAAAAAAA).
+                    draw_arrow(xc0,zyc0,xc,zyc,background_color,0.9f,30,5,0x55555555).
+                    draw_arrow(xc0,zyc0,xc,zyc,foreground_color,0.9f,30,5,0xAAAAAAAA);
+                }
+              } break;
+              case 2 : {
+                visu.draw_rectangle(X0<X1?xp0:xp,Y0<Y1?yp0:yp,X0<X1?xn:xn0,Y0<Y1?yn:yn0,background_color,0.2f).
+                  draw_rectangle(X0<X1?xp0:xp,Y0<Y1?yp0:yp,X0<X1?xn:xn0,Y0<Y1?yn:yn0,foreground_color,0.9f,0xAAAAAAAA).
+                  draw_rectangle(X0<X1?xp0:xp,Y0<Y1?yp0:yp,X0<X1?xn:xn0,Y0<Y1?yn:yn0,background_color,0.9f,0x55555555);
+                if (d) {
+                  visu.draw_rectangle(Z0<Z1?zxp0:zxp,Y0<Y1?yp0:yp,Z0<Z1?zxn:zxn0,Y0<Y1?yn:yn0,background_color,0.2f).
+                    draw_rectangle(Z0<Z1?zxp0:zxp,Y0<Y1?yp0:yp,Z0<Z1?zxn:zxn0,Y0<Y1?yn:yn0,
+                                   foreground_color,0.9f,0xAAAAAAAA).
+                    draw_rectangle(Z0<Z1?zxp0:zxp,Y0<Y1?yp0:yp,Z0<Z1?zxn:zxn0,Y0<Y1?yn:yn0,
+                                   background_color,0.9f,0x55555555).
+                    draw_rectangle(X0<X1?xp0:xp,Z0<Z1?zyp0:zyp,X0<X1?xn:xn0,Z0<Z1?zyn:zyn0,
+                                   background_color,0.2f).
+                    draw_rectangle(X0<X1?xp0:xp,Z0<Z1?zyp0:zyp,X0<X1?xn:xn0,Z0<Z1?zyn:zyn0,
+                                   foreground_color,0.9f,0xAAAAAAAA).
+                    draw_rectangle(X0<X1?xp0:xp,Z0<Z1?zyp0:zyp,X0<X1?xn:xn0,Z0<Z1?zyn:zyn0,
+                                   background_color,0.9f,0x55555555);
+                }
+              } break;
+              case 3 : {
+                visu.draw_ellipse(xc0,yc0,
+                                  (float)cimg::abs(xc - xc0),
+                                  (float)cimg::abs(yc - yc0),0,background_color,0.2f).
+                  draw_ellipse(xc0,yc0,
+                               (float)cimg::abs(xc - xc0),
+                               (float)cimg::abs(yc - yc0),0,foreground_color,0.9f,~0U).
+                  draw_point(xc0,yc0,foreground_color,0.9f);
+                if (d) {
+                  visu.draw_ellipse(zxc0,yc0,(float)cimg::abs(zxc - zxc0),(float)cimg::abs(yc - yc0),0,
+                                    background_color,0.2f).
+                    draw_ellipse(zxc0,yc0,(float)cimg::abs(zxc - zxc0),(float)cimg::abs(yc - yc0),0,
+                                 foreground_color,0.9f,~0U).
+                    draw_point(zxc0,yc0,foreground_color,0.9f).
+                    draw_ellipse(xc0,zyc0,(float)cimg::abs(xc - xc0),(float)cimg::abs(zyc - zyc0),0,
+                                 background_color,0.2f).
+                    draw_ellipse(xc0,zyc0,(float)cimg::abs(xc - xc0),(float)cimg::abs(zyc - zyc0),0,
+                                 foreground_color,0.9f,~0U).
+                    draw_point(xc0,zyc0,foreground_color,0.9f);
+                }
+              } break;
+              }
+            }
+
+            // Draw text info.
+            if (my>=0 && my<13) text_down = true; else if (my>=visu.height() - 13) text_down = false;
+            if (!feature_type || !phase) {
+              if (X>=0 && Y>=0 && Z>=0 && X<width() && Y<height() && Z<depth()) {
+                if (_depth>1 || force_display_z_coord)
+                  cimg_snprintf(text,text._width," Point (%d,%d,%d) = [ ",origX + (int)X,origY + (int)Y,origZ + (int)Z);
+                else cimg_snprintf(text,text._width," Point (%d,%d) = [ ",origX + (int)X,origY + (int)Y);
+                char *ctext = text._data + std::strlen(text), *const ltext = text._data + 512;
+                for (unsigned int c = 0; c<_spectrum && ctext<ltext; ++c) {
+                  cimg_snprintf(ctext,text._width/2,cimg::type<T>::format(),
+                                cimg::type<T>::format((*this)((int)X,(int)Y,(int)Z,c)));
+                  ctext = text._data + std::strlen(text);
+                  *(ctext++) = ' '; *ctext = 0;
+                }
+                std::strcpy(text._data + std::strlen(text),"] ");
+              }
+            } else switch (feature_type) {
+              case 1 : {
+                const double dX = (double)(X0 - X1), dY = (double)(Y0 - Y1), dZ = (double)(Z0 - Z1),
+                  norm = std::sqrt(dX*dX + dY*dY + dZ*dZ);
+                if (_depth>1 || force_display_z_coord)
+                  cimg_snprintf(text,text._width," Vect (%d,%d,%d)-(%d,%d,%d), Norm = %g ",
+                                origX + X0,origY + Y0,origZ + Z0,origX + X1,origY + Y1,origZ + Z1,norm);
+                else cimg_snprintf(text,text._width," Vect (%d,%d)-(%d,%d), Norm = %g ",
+                                   origX + X0,origY + Y0,origX + X1,origY + Y1,norm);
+              } break;
+              case 2 :
+                if (_depth>1 || force_display_z_coord)
+                  cimg_snprintf(text,text._width," Box (%d,%d,%d)-(%d,%d,%d), Size = (%d,%d,%d) ",
+                                origX + (X0<X1?X0:X1),origY + (Y0<Y1?Y0:Y1),origZ + (Z0<Z1?Z0:Z1),
+                                origX + (X0<X1?X1:X0),origY + (Y0<Y1?Y1:Y0),origZ + (Z0<Z1?Z1:Z0),
+                                1 + cimg::abs(X0 - X1),1 + cimg::abs(Y0 - Y1),1 + cimg::abs(Z0 - Z1));
+                else cimg_snprintf(text,text._width," Box (%d,%d)-(%d,%d), Size = (%d,%d) ",
+                                   origX + (X0<X1?X0:X1),origY + (Y0<Y1?Y0:Y1),
+                                   origX + (X0<X1?X1:X0),origY + (Y0<Y1?Y1:Y0),
+                                   1 + cimg::abs(X0 - X1),1 + cimg::abs(Y0 - Y1));
+                break;
+              default :
+                if (_depth>1 || force_display_z_coord)
+                  cimg_snprintf(text,text._width," Ellipse (%d,%d,%d)-(%d,%d,%d), Radii = (%d,%d,%d) ",
+                                origX + X0,origY + Y0,origZ + Z0,origX + X1,origY + Y1,origZ + Z1,
+                                1 + cimg::abs(X0 - X1),1 + cimg::abs(Y0 - Y1),1 + cimg::abs(Z0 - Z1));
+                else cimg_snprintf(text,text._width," Ellipse (%d,%d)-(%d,%d), Radii = (%d,%d) ",
+                                   origX + X0,origY + Y0,origX + X1,origY + Y1,
+                                   1 + cimg::abs(X0 - X1),1 + cimg::abs(Y0 - Y1));
+              }
+            if (phase || (mx>=0 && my>=0))
+              visu.draw_text(0,text_down?visu.height() - 13:0,text,foreground_color,background_color,0.7f,13);
+          }
+
+          disp.display(visu).wait();
+        } else if (!shape_selected) disp.wait();
+        if (disp.is_resized()) { disp.resize(false)._is_resized = false; old_is_resized = true; visu0.assign(); }
+        omx = mx; omy = my;
+      }
+
+      // Return result.
+      CImg<intT> res(1,feature_type==0?3:6,1,1,-1);
+      if (XYZ) { XYZ[0] = (unsigned int)X0; XYZ[1] = (unsigned int)Y0; XYZ[2] = (unsigned int)Z0; }
+      if (shape_selected) {
+        if (feature_type==2) {
+          if (X0>X1) cimg::swap(X0,X1);
+          if (Y0>Y1) cimg::swap(Y0,Y1);
+          if (Z0>Z1) cimg::swap(Z0,Z1);
+        }
+	if (X1<0 || Y1<0 || Z1<0) X0 = Y0 = Z0 = X1 = Y1 = Z1 = -1;
+	switch (feature_type) {
+	case 1 : case 2 : res[0] = X0; res[1] = Y0; res[2] = Z0; res[3] = X1; res[4] = Y1; res[5] = Z1; break;
+        case 3 :
+          res[3] = cimg::abs(X1 - X0); res[4] = cimg::abs(Y1 - Y0); res[5] = cimg::abs(Z1 - Z0); // keep no break here!
+	default : res[0] = X0; res[1] = Y0; res[2] = Z0;
+	}
+      }
+      disp.set_button();
+      if (!visible_cursor) disp.show_mouse();
+      disp._normalization = old_normalization;
+      disp._is_resized = old_is_resized;
+      if (key!=~0U) disp.set_key(key);
+      return res;
+    }
+
+    // Return a visualizable uchar8 image for display routines.
+    CImg<ucharT> __get_select(const CImgDisplay& disp, const int normalization,
+                              const int x, const int y, const int z) const {
+      if (is_empty()) return CImg<ucharT>(1,1,1,1,0);
+      const CImg<T> crop = get_shared_channels(0,cimg::min(2,spectrum() - 1));
+      CImg<Tuchar> img2d;
+      if (_depth>1) crop.get_projections2d(x,y,z).move_to(img2d);
+      else CImg<Tuchar>(crop,false).move_to(img2d);
+
+      // Check for inf and nan values.
+      if (cimg::type<T>::is_float() && disp._normalization &&
+          (disp._normalization!=3 || cimg::type<T>::string()!=cimg::type<unsigned char>::string())) {
+        bool is_inf = false, is_nan = false;
+        cimg_for(img2d,ptr,Tuchar)
+          if (cimg::type<T>::is_inf(*ptr)) { is_inf = true; break; }
+          else if (cimg::type<T>::is_nan(*ptr)) { is_nan = true; break; }
+        if (is_inf || is_nan) {
+          Tint m0 = (Tint)cimg::type<T>::max(), M0 = (Tint)cimg::type<T>::min();
+          if (!normalization) { m0 = 0; M0 = 255; }
+          else if (normalization==2) { m0 = (Tint)disp._min; M0 = (Tint)disp._max; }
+          else
+            cimg_for(img2d,ptr,Tuchar)
+              if (!cimg::type<T>::is_inf(*ptr) && !cimg::type<T>::is_nan(*ptr)) {
+                if (*ptr<(Tuchar)m0) m0 = *ptr;
+                if (*ptr>(Tuchar)M0) M0 = *ptr;
+              }
+          const T
+            val_minf = (T)(normalization==1 || normalization==3?m0 - (M0 - m0)*20 - 1:m0),
+            val_pinf = (T)(normalization==1 || normalization==3?M0 + (M0 - m0)*20 + 1:M0);
+          if (is_nan)
+            cimg_for(img2d,ptr,Tuchar)
+              if (cimg::type<T>::is_nan(*ptr)) *ptr = val_minf; // Replace nan values.
+          if (is_inf)
+            cimg_for(img2d,ptr,Tuchar)
+              if (cimg::type<T>::is_inf(*ptr)) *ptr = (float)*ptr<0?val_minf:val_pinf; // Replace +-inf values.
+        }
+      }
+
+      switch (normalization) {
+      case 1 : img2d.normalize(0,255); break;
+      case 2 : {
+        const float m = disp._min, M = disp._max;
+        (img2d-=m)*=255.0f/(M - m>0?M - m:1);
+      } break;
+      case 3 :
+        if (cimg::type<T>::is_float()) img2d.normalize(0,255);
+        else {
+          const float m = (float)cimg::type<T>::min(), M = (float)cimg::type<T>::max();
+          (img2d-=m)*=255.0f/(M - m>0?M - m:1);
+        } break;
+      }
+
+      if (img2d.spectrum()==2) img2d.channels(0,2);
+      return img2d;
+    }
+
+    //! Select sub-graph in a graph.
+    CImg<intT> get_select_graph(CImgDisplay &disp,
+                                const unsigned int plot_type=1, const unsigned int vertex_type=1,
+                                const char *const labelx=0, const double xmin=0, const double xmax=0,
+                                const char *const labely=0, const double ymin=0, const double ymax=0) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "select_graph(): Empty instance.",
+                                    cimg_instance);
+      if (!disp) disp.assign(cimg_fitscreen(CImgDisplay::screen_width()/2,CImgDisplay::screen_height()/2,1),0,0).
+                   set_title("CImg<%s>",pixel_type());
+      const unsigned long siz = (unsigned long)_width*_height*_depth;
+      const unsigned int old_normalization = disp.normalization();
+      disp.show().set_button().set_wheel()._normalization = 0;
+
+      double nymin = ymin, nymax = ymax, nxmin = xmin, nxmax = xmax;
+      if (nymin==nymax) { nymin = (Tfloat)min_max(nymax); const double dy = nymax - nymin; nymin-=dy/20; nymax+=dy/20; }
+      if (nymin==nymax) { --nymin; ++nymax; }
+      if (nxmin==nxmax && nxmin==0) { nxmin = 0; nxmax = siz - 1.0; }
+
+      const unsigned char black[] = { 0, 0, 0 }, white[] = { 255, 255, 255 }, gray[] = { 220, 220, 220 };
+      const unsigned char gray2[] = { 110, 110, 110 }, ngray[] = { 35, 35, 35 };
+      static unsigned int odimv = 0;
+      static CImg<ucharT> colormap;
+      if (odimv!=_spectrum) {
+        odimv = _spectrum;
+        colormap = CImg<ucharT>(3,_spectrum,1,1,120).noise(70,1);
+        if (_spectrum==1) { colormap[0] = colormap[1] = 120; colormap[2] = 200; }
+        else {
+          colormap(0,0) = 220; colormap(1,0) = 10; colormap(2,0) = 10;
+          if (_spectrum>1) { colormap(0,1) = 10; colormap(1,1) = 220; colormap(2,1) = 10; }
+          if (_spectrum>2) { colormap(0,2) = 10; colormap(1,2) = 10; colormap(2,2) = 220; }
+        }
+      }
+
+      CImg<ucharT> visu0, visu, graph, text, axes;
+      int x0 = -1, x1 = -1, y0 = -1, y1 = -1, omouse_x = -2, omouse_y = -2;
+      const unsigned int one = plot_type==3?0U:1U;
+      unsigned int okey = 0, obutton = 0;
+      CImg<charT> message(1024);
+      CImg_3x3(I,unsigned char);
+
+      for (bool selected = false; !selected && !disp.is_closed() && !okey && !disp.wheel(); ) {
+        const int mouse_x = disp.mouse_x(), mouse_y = disp.mouse_y();
+        const unsigned int key = disp.key(), button = disp.button();
+
+        // Generate graph representation.
+        if (!visu0) {
+          visu0.assign(disp.width(),disp.height(),1,3,220);
+          const int gdimx = disp.width() - 32, gdimy = disp.height() - 32;
+          if (gdimx>0 && gdimy>0) {
+            graph.assign(gdimx,gdimy,1,3,255);
+            if (siz<32) {
+              if (siz>1) graph.draw_grid(gdimx/(float)(siz - one),gdimy/(float)(siz - one),0,0,
+                                         false,true,black,0.2f,0x33333333,0x33333333);
+            } else graph.draw_grid(-10,-10,0,0,false,true,black,0.2f,0x33333333,0x33333333);
+            cimg_forC(*this,c)
+              graph.draw_graph(get_shared_channel(c),&colormap(0,c),(plot_type!=3 || _spectrum==1)?1:0.6f,
+                               plot_type,vertex_type,nymax,nymin);
+
+            axes.assign(gdimx,gdimy,1,1,0);
+            const float
+              dx = (float)cimg::abs(nxmax - nxmin), dy = (float)cimg::abs(nymax - nymin),
+              px = (float)std::pow(10.0,(int)std::log10(dx?dx:1) - 2.0),
+              py = (float)std::pow(10.0,(int)std::log10(dy?dy:1) - 2.0);
+            const CImg<Tdouble>
+              seqx = dx<=0?CImg<Tdouble>::vector(nxmin):
+                CImg<Tdouble>::sequence(1 + gdimx/60,nxmin,one?nxmax:nxmin + (nxmax - nxmin)*(siz + 1)/siz).round(px),
+              seqy = CImg<Tdouble>::sequence(1 + gdimy/60,nymax,nymin).round(py);
+
+            const bool allow_zero = (nxmin*nxmax>0) || (nymin*nymax>0);
+            axes.draw_axes(seqx,seqy,white,1,~0U,~0U,13,allow_zero);
+            if (nymin>0) axes.draw_axis(seqx,gdimy - 1,gray,1,~0U,13,allow_zero);
+            if (nymax<0) axes.draw_axis(seqx,0,gray,1,~0U,13,allow_zero);
+	    if (nxmin>0) axes.draw_axis(0,seqy,gray,1,~0U,13,allow_zero);
+	    if (nxmax<0) axes.draw_axis(gdimx - 1,seqy,gray,1,~0U,13,allow_zero);
+
+            cimg_for3x3(axes,x,y,0,0,I,unsigned char)
+              if (Icc) {
+                if (Icc==255) cimg_forC(graph,c) graph(x,y,c) = 0;
+                else cimg_forC(graph,c) graph(x,y,c) = (unsigned char)(2*graph(x,y,c)/3);
+              }
+              else if (Ipc || Inc || Icp || Icn || Ipp || Inn || Ipn || Inp)
+                cimg_forC(graph,c) graph(x,y,c) = (unsigned char)((graph(x,y,c) + 511)/3);
+
+            visu0.draw_image(16,16,graph);
+	    visu0.draw_line(15,15,16 + gdimx,15,gray2).draw_line(16 + gdimx,15,16 + gdimx,16 + gdimy,gray2).
+	      draw_line(16 + gdimx,16 + gdimy,15,16 + gdimy,white).draw_line(15,16 + gdimy,15,15,white);
+          } else graph.assign();
+          text.assign().draw_text(0,0,labelx?labelx:"X-axis",white,ngray,1,13).resize(-100,-100,1,3);
+          visu0.draw_image((visu0.width() - text.width())/2,visu0.height() - 14,~text);
+          text.assign().draw_text(0,0,labely?labely:"Y-axis",white,ngray,1,13).rotate(-90).resize(-100,-100,1,3);
+          visu0.draw_image(1,(visu0.height() - text.height())/2,~text);
+          visu.assign();
+        }
+
+        // Generate and display current view.
+        if (!visu) {
+          visu.assign(visu0);
+          if (graph && x0>=0 && x1>=0) {
+            const int
+              nx0 = x0<=x1?x0:x1,
+              nx1 = x0<=x1?x1:x0,
+              ny0 = y0<=y1?y0:y1,
+              ny1 = y0<=y1?y1:y0,
+              sx0 = (int)(16 + nx0*(visu.width() - 32)/cimg::max(1U,siz - one)),
+              sx1 = (int)(15 + (nx1 + 1)*(visu.width() - 32)/cimg::max(1U,siz - one)),
+              sy0 = 16 + ny0,
+              sy1 = 16 + ny1;
+            if (y0>=0 && y1>=0)
+              visu.draw_rectangle(sx0,sy0,sx1,sy1,gray,0.5f).draw_rectangle(sx0,sy0,sx1,sy1,black,0.5f,0xCCCCCCCCU);
+            else visu.draw_rectangle(sx0,0,sx1,visu.height() - 17,gray,0.5f).
+                   draw_line(sx0,16,sx0,visu.height() - 17,black,0.5f,0xCCCCCCCCU).
+                   draw_line(sx1,16,sx1,visu.height() - 17,black,0.5f,0xCCCCCCCCU);
+          }
+          if (mouse_x>=16 && mouse_y>=16 && mouse_x<visu.width() - 16 && mouse_y<visu.height() - 16) {
+            if (graph) visu.draw_line(mouse_x,16,mouse_x,visu.height() - 17,black,0.5f,0x55555555U);
+            const unsigned int
+              x = (unsigned int)cimg::round((mouse_x - 16.0f)*(siz - one)/(disp.width() - 32),1,one?0:-1);
+            const double cx = nxmin + x*(nxmax - nxmin)/cimg::max(1U,siz - 1);
+            if (_spectrum>=7)
+              cimg_snprintf(message,message._width,"Value[%u:%g] = ( %g %g %g ... %g %g %g )",x,cx,
+                            (double)(*this)(x,0,0,0),(double)(*this)(x,0,0,1),(double)(*this)(x,0,0,2),
+                            (double)(*this)(x,0,0,_spectrum - 4),(double)(*this)(x,0,0,_spectrum - 3),
+                            (double)(*this)(x,0,0,_spectrum - 1));
+            else {
+              cimg_snprintf(message,message._width,"Value[%u:%g] = ( ",x,cx);
+              cimg_forC(*this,c) cimg_sprintf(message._data + std::strlen(message),"%g ",(double)(*this)(x,0,0,c));
+              cimg_sprintf(message._data + std::strlen(message),")");
+            }
+	    if (x0>=0 && x1>=0) {
+	      const unsigned int
+                nx0 = (unsigned int)(x0<=x1?x0:x1),
+                nx1 = (unsigned int)(x0<=x1?x1:x0),
+                ny0 = (unsigned int)(y0<=y1?y0:y1),
+                ny1 = (unsigned int)(y0<=y1?y1:y0);
+	      const double
+                cx0 = nxmin + nx0*(nxmax - nxmin)/cimg::max(1U,siz - 1),
+                cx1 = nxmin + (nx1 + one)*(nxmax - nxmin)/cimg::max(1U,siz - 1),
+                cy0 = nymax - ny0*(nymax - nymin)/(visu._height - 32),
+                cy1 = nymax - ny1*(nymax - nymin)/(visu._height - 32);
+	      if (y0>=0 && y1>=0)
+	        cimg_sprintf(message._data + std::strlen(message)," - Range ( %u:%g, %g ) - ( %u:%g, %g )",
+                             x0,cx0,cy0,x1 + one,cx1,cy1);
+	      else
+	        cimg_sprintf(message._data + std::strlen(message)," - Range [ %u:%g - %u:%g ]",
+                             x0,cx0,x1 + one,cx1);
+	    }
+            text.assign().draw_text(0,0,message,white,ngray,1,13).resize(-100,-100,1,3);
+            visu.draw_image((visu.width() - text.width())/2,1,~text);
+          }
+          visu.display(disp);
+        }
+
+        // Test keys.
+        switch (okey = key) {
+#if cimg_OS!=2
+        case cimg::keyCTRLRIGHT : case cimg::keySHIFTRIGHT :
+#endif
+        case cimg::keyCTRLLEFT : case cimg::keySHIFTLEFT : okey = 0; break;
+        case cimg::keyD : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+          disp.set_fullscreen(false).
+            resize(CImgDisplay::_fitscreen(3*disp.width()/2,3*disp.height()/2,1,128,-100,false),
+                   CImgDisplay::_fitscreen(3*disp.width()/2,3*disp.height()/2,1,128,-100,true),false).
+            _is_resized = true;
+          disp.set_key(key,false); okey = 0;
+        } break;
+        case cimg::keyC : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+          disp.set_fullscreen(false).
+            resize(cimg_fitscreen(2*disp.width()/3,2*disp.height()/3,1),false)._is_resized = true;
+          disp.set_key(key,false); okey = 0;
+        } break;
+        case cimg::keyR : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            disp.set_fullscreen(false).
+              resize(cimg_fitscreen(CImgDisplay::screen_width()/2,
+                                    CImgDisplay::screen_height()/2,1),false)._is_resized = true;
+            disp.set_key(key,false); okey = 0;
+          } break;
+        case cimg::keyF : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            disp.resize(disp.screen_width(),disp.screen_height(),false).toggle_fullscreen()._is_resized = true;
+            disp.set_key(key,false); okey = 0;
+          } break;
+        case cimg::keyS : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            static unsigned int snap_number = 0;
+            if (visu || visu0) {
+              CImg<ucharT> &screen = visu?visu:visu0;
+              char filename[32] = { 0 };
+              std::FILE *file;
+              do {
+                cimg_snprintf(filename,sizeof(filename),cimg_appname "_%.4u.bmp",snap_number++);
+                if ((file=std::fopen(filename,"r"))!=0) cimg::fclose(file);
+              } while (file);
+              (+screen).draw_text(0,0," Saving snapshot... ",black,gray,1,13).display(disp);
+              screen.save(filename);
+              (+screen).draw_text(0,0," Snapshot '%s' saved. ",black,gray,1,13,filename).display(disp);
+            }
+            disp.set_key(key,false); okey = 0;
+          } break;
+        case cimg::keyO : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            static unsigned int snap_number = 0;
+            if (visu || visu0) {
+              CImg<ucharT> &screen = visu?visu:visu0;
+              char filename[32] = { 0 };
+              std::FILE *file;
+              do {
+#ifdef cimg_use_zlib
+                cimg_snprintf(filename,sizeof(filename),cimg_appname "_%.4u.cimgz",snap_number++);
+#else
+                cimg_snprintf(filename,sizeof(filename),cimg_appname "_%.4u.cimg",snap_number++);
+#endif
+                if ((file=std::fopen(filename,"r"))!=0) cimg::fclose(file);
+              } while (file);
+              (+screen).draw_text(0,0," Saving instance... ",black,gray,1,13).display(disp);
+              save(filename);
+              (+screen).draw_text(0,0," Instance '%s' saved. ",black,gray,1,13,filename).display(disp);
+            }
+            disp.set_key(key,false); okey = 0;
+          } break;
+        }
+
+        // Handle mouse motion and mouse buttons
+        if (obutton!=button || omouse_x!=mouse_x || omouse_y!=mouse_y) {
+          visu.assign();
+          if (disp.mouse_x()>=0 && disp.mouse_y()>=0) {
+            const int
+              mx = (mouse_x - 16)*(int)(siz - one)/(disp.width() - 32),
+              cx = mx<0?0:(mx>=(int)(siz - one)?(int)(siz - 1 - one):mx),
+              my = mouse_y - 16,
+              cy = my<=0?0:(my>=(disp.height() - 32)?(disp.height() - 32):my);
+	    if (button&1) {
+              if (!obutton) { x0 = cx; y0 = -1; } else { x1 = cx; y1 = -1; }
+            }
+	    else if (button&2) {
+              if (!obutton) { x0 = cx; y0 = cy; } else { x1 = cx; y1 = cy; }
+            }
+            else if (obutton) { x1 = x1>=0?cx:-1; y1 = y1>=0?cy:-1; selected = true; }
+          } else if (!button && obutton) selected = true;
+          obutton = button; omouse_x = mouse_x; omouse_y = mouse_y;
+        }
+        if (disp.is_resized()) { disp.resize(false); visu0.assign(); }
+        if (visu && visu0) disp.wait();
+      }
+
+      disp._normalization = old_normalization;
+      if (x1>=0 && x1<x0) cimg::swap(x0,x1);
+      if (y1<y0) cimg::swap(y0,y1);
+      disp.set_key(okey);
+      return CImg<intT>(4,1,1,1,x0,y0,x1>=0?x1 + (int)one:-1,y1);
+    }
+
+    //! Load image from a file.
+    /**
+       \param filename Filename, as a C-string.
+       \note The extension of \c filename defines the file format. If no filename
+       extension is provided, CImg<T>::get_load() will try to load the file as a .cimg or .cimgz file.
+    **/
+    CImg<T>& load(const char *const filename) {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load(): Specified filename is (null).",
+                                    cimg_instance);
+
+      if (!cimg::strncasecmp(filename,"http://",7) || !cimg::strncasecmp(filename,"https://",8)) {
+        CImg<charT> filename_local(256);
+        load(cimg::load_network(filename,filename_local));
+        std::remove(filename_local);
+        return *this;
+      }
+
+      const char *const ext = cimg::split_filename(filename);
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      try {
+#ifdef cimg_load_plugin
+        cimg_load_plugin(filename);
+#endif
+#ifdef cimg_load_plugin1
+        cimg_load_plugin1(filename);
+#endif
+#ifdef cimg_load_plugin2
+        cimg_load_plugin2(filename);
+#endif
+#ifdef cimg_load_plugin3
+        cimg_load_plugin3(filename);
+#endif
+#ifdef cimg_load_plugin4
+        cimg_load_plugin4(filename);
+#endif
+#ifdef cimg_load_plugin5
+        cimg_load_plugin5(filename);
+#endif
+#ifdef cimg_load_plugin6
+        cimg_load_plugin6(filename);
+#endif
+#ifdef cimg_load_plugin7
+        cimg_load_plugin7(filename);
+#endif
+#ifdef cimg_load_plugin8
+        cimg_load_plugin8(filename);
+#endif
+        // Ascii formats
+        if (!cimg::strcasecmp(ext,"asc")) load_ascii(filename);
+        else if (!cimg::strcasecmp(ext,"dlm") ||
+                 !cimg::strcasecmp(ext,"txt")) load_dlm(filename);
+
+        // 2d binary formats
+        else if (!cimg::strcasecmp(ext,"bmp")) load_bmp(filename);
+        else if (!cimg::strcasecmp(ext,"jpg") ||
+                 !cimg::strcasecmp(ext,"jpeg") ||
+                 !cimg::strcasecmp(ext,"jpe") ||
+                 !cimg::strcasecmp(ext,"jfif") ||
+                 !cimg::strcasecmp(ext,"jif")) load_jpeg(filename);
+        else if (!cimg::strcasecmp(ext,"png")) load_png(filename);
+        else if (!cimg::strcasecmp(ext,"ppm") ||
+                 !cimg::strcasecmp(ext,"pgm") ||
+                 !cimg::strcasecmp(ext,"pnm") ||
+                 !cimg::strcasecmp(ext,"pbm") ||
+                 !cimg::strcasecmp(ext,"pnk")) load_pnm(filename);
+        else if (!cimg::strcasecmp(ext,"pfm")) load_pfm(filename);
+        else if (!cimg::strcasecmp(ext,"tif") ||
+                 !cimg::strcasecmp(ext,"tiff")) load_tiff(filename);
+        else if (!cimg::strcasecmp(ext,"exr")) load_exr(filename);
+        else if (!cimg::strcasecmp(ext,"cr2") ||
+                 !cimg::strcasecmp(ext,"crw") ||
+                 !cimg::strcasecmp(ext,"dcr") ||
+                 !cimg::strcasecmp(ext,"mrw") ||
+                 !cimg::strcasecmp(ext,"nef") ||
+                 !cimg::strcasecmp(ext,"orf") ||
+                 !cimg::strcasecmp(ext,"pix") ||
+                 !cimg::strcasecmp(ext,"ptx") ||
+                 !cimg::strcasecmp(ext,"raf") ||
+                 !cimg::strcasecmp(ext,"srf")) load_dcraw_external(filename);
+        else if (!cimg::strcasecmp(ext,"gif")) load_gif_external(filename);
+
+        // 3d binary formats
+        else if (!cimg::strcasecmp(ext,"dcm") ||
+                 !cimg::strcasecmp(ext,"dicom")) load_medcon_external(filename);
+        else if (!cimg::strcasecmp(ext,"hdr") ||
+                 !cimg::strcasecmp(ext,"nii")) load_analyze(filename);
+        else if (!cimg::strcasecmp(ext,"par") ||
+                 !cimg::strcasecmp(ext,"rec")) load_parrec(filename);
+        else if (!cimg::strcasecmp(ext,"mnc")) load_minc2(filename);
+        else if (!cimg::strcasecmp(ext,"inr")) load_inr(filename);
+        else if (!cimg::strcasecmp(ext,"pan")) load_pandore(filename);
+        else if (!cimg::strcasecmp(ext,"cimg") ||
+                 !cimg::strcasecmp(ext,"cimgz") ||
+                 !*ext)  return load_cimg(filename);
+
+        // Archive files
+        else if (!cimg::strcasecmp(ext,"gz")) load_gzip_external(filename);
+
+        // Image sequences
+        else if (!cimg::strcasecmp(ext,"avi") ||
+                 !cimg::strcasecmp(ext,"mov") ||
+                 !cimg::strcasecmp(ext,"asf") ||
+                 !cimg::strcasecmp(ext,"divx") ||
+                 !cimg::strcasecmp(ext,"flv") ||
+                 !cimg::strcasecmp(ext,"mpg") ||
+                 !cimg::strcasecmp(ext,"m1v") ||
+                 !cimg::strcasecmp(ext,"m2v") ||
+                 !cimg::strcasecmp(ext,"m4v") ||
+                 !cimg::strcasecmp(ext,"mjp") ||
+                 !cimg::strcasecmp(ext,"mp4") ||
+                 !cimg::strcasecmp(ext,"mkv") ||
+                 !cimg::strcasecmp(ext,"mpe") ||
+                 !cimg::strcasecmp(ext,"movie") ||
+                 !cimg::strcasecmp(ext,"ogm") ||
+                 !cimg::strcasecmp(ext,"ogg") ||
+                 !cimg::strcasecmp(ext,"ogv") ||
+                 !cimg::strcasecmp(ext,"qt") ||
+                 !cimg::strcasecmp(ext,"rm") ||
+                 !cimg::strcasecmp(ext,"vob") ||
+                 !cimg::strcasecmp(ext,"wmv") ||
+                 !cimg::strcasecmp(ext,"xvid") ||
+                 !cimg::strcasecmp(ext,"mpeg")) load_video(filename);
+        else throw CImgIOException("CImg<%s>::load()",
+                                   pixel_type());
+      } catch (CImgIOException&) {
+        std::FILE *file = 0;
+        try {
+          file = cimg::fopen(filename,"rb");
+        } catch (CImgIOException&) {
+          cimg::exception_mode(omode);
+          throw CImgIOException(_cimg_instance
+                                "load(): Failed to open file '%s'.",
+                                cimg_instance,
+                                filename);
+        }
+
+        try {
+          const char *const f_type = cimg::ftype(file,filename);
+          std::fclose(file);
+          if (!cimg::strcasecmp(f_type,"pnm")) load_pnm(filename);
+          else if (!cimg::strcasecmp(f_type,"pfm")) load_pfm(filename);
+          else if (!cimg::strcasecmp(f_type,"bmp")) load_bmp(filename);
+          else if (!cimg::strcasecmp(f_type,"inr")) load_inr(filename);
+          else if (!cimg::strcasecmp(f_type,"jpg")) load_jpeg(filename);
+          else if (!cimg::strcasecmp(f_type,"pan")) load_pandore(filename);
+          else if (!cimg::strcasecmp(f_type,"png")) load_png(filename);
+          else if (!cimg::strcasecmp(f_type,"tif")) load_tiff(filename);
+          else if (!cimg::strcasecmp(f_type,"gif")) load_gif_external(filename);
+          else if (!cimg::strcasecmp(f_type,"dcm")) load_medcon_external(filename);
+          else throw CImgIOException("CImg<%s>::load()",
+                                     pixel_type());
+        } catch (CImgIOException&) {
+          try {
+            load_other(filename);
+          } catch (CImgIOException&) {
+            cimg::exception_mode(omode);
+            throw CImgIOException(_cimg_instance
+                                  "load(): Failed to recognize format of file '%s'.",
+                                  cimg_instance,
+                                  filename);
+          }
+        }
+      }
+      cimg::exception_mode(omode);
+      return *this;
+    }
+
+    //! Load image from a file \newinstance.
+    static CImg<T> get_load(const char *const filename) {
+      return CImg<T>().load(filename);
+    }
+
+    //! Load image from an ascii file.
+    /**
+       \param filename Filename, as a C -string.
+    **/
+    CImg<T>& load_ascii(const char *const filename) {
+      return _load_ascii(0,filename);
+    }
+
+    //! Load image from an ascii file \inplace.
+    static CImg<T> get_load_ascii(const char *const filename) {
+      return CImg<T>().load_ascii(filename);
+    }
+
+    //! Load image from an ascii file \overloading.
+    CImg<T>& load_ascii(std::FILE *const file) {
+      return _load_ascii(file,0);
+    }
+
+    //! Loadimage from an ascii file \newinstance.
+    static CImg<T> get_load_ascii(std::FILE *const file) {
+      return CImg<T>().load_ascii(file);
+    }
+
+    CImg<T>& _load_ascii(std::FILE *const file, const char *const filename) {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_ascii(): Specified filename is (null).",
+                                    cimg_instance);
+
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"rb");
+      CImg<charT> line(256); *line = 0;
+      int err = std::fscanf(nfile,"%255[^\n]",line._data);
+      unsigned int dx = 0, dy = 1, dz = 1, dc = 1;
+      cimg_sscanf(line,"%u%*c%u%*c%u%*c%u",&dx,&dy,&dz,&dc);
+      err = std::fscanf(nfile,"%*[^0-9.eEinfa+-]");
+      if (!dx || !dy || !dz || !dc) {
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimg_instance
+                              "load_ascii(): Invalid ascii header in file '%s', image dimensions are set "
+                              "to (%u,%u,%u,%u).",
+                              cimg_instance,
+                              filename?filename:"(FILE*)",dx,dy,dz,dc);
+      }
+      assign(dx,dy,dz,dc);
+      const unsigned long siz = size();
+      unsigned long off = 0;
+      double val;
+      T *ptr = _data;
+      for (err = 1, off = 0; off<siz && err==1; ++off) {
+        err = std::fscanf(nfile,"%lf%*[^0-9.eEinfa+-]",&val);
+        *(ptr++) = (T)val;
+      }
+      if (err!=1)
+        cimg::warn(_cimg_instance
+                   "load_ascii(): Only %lu/%lu values read from file '%s'.",
+                   cimg_instance,
+                   off - 1,siz,filename?filename:"(FILE*)");
+
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Load image from a DLM file.
+    /**
+      \param filename Filename, as a C-string.
+    **/
+    CImg<T>& load_dlm(const char *const filename) {
+      return _load_dlm(0,filename);
+    }
+
+    //! Load image from a DLM file \newinstance.
+    static CImg<T> get_load_dlm(const char *const filename) {
+      return CImg<T>().load_dlm(filename);
+    }
+
+    //! Load image from a DLM file \overloading.
+    CImg<T>& load_dlm(std::FILE *const file) {
+      return _load_dlm(file,0);
+    }
+
+    //! Load image from a DLM file \newinstance.
+    static CImg<T> get_load_dlm(std::FILE *const file) {
+      return CImg<T>().load_dlm(file);
+    }
+
+    CImg<T>& _load_dlm(std::FILE *const file, const char *const filename) {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_dlm(): Specified filename is (null).",
+                                    cimg_instance);
+
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"r");
+      CImg<charT> delimiter(256), tmp(256); *delimiter = *tmp = 0;
+      unsigned int cdx = 0, dx = 0, dy = 0;
+      int err = 0;
+      double val;
+      assign(256,256);
+      while ((err = std::fscanf(nfile,"%lf%255[^0-9eEinfa.+-]",&val,delimiter._data))>0) {
+        if (err>0) (*this)(cdx++,dy) = (T)val;
+        if (cdx>=_width) resize(3*_width/2,_height,1,1,0);
+        char c = 0;
+        if (!cimg_sscanf(delimiter,"%255[^\n]%c",tmp._data,&c) || c=='\n') {
+          dx = cimg::max(cdx,dx);
+          if (++dy>=_height) resize(_width,3*_height/2,1,1,0);
+          cdx = 0;
+        }
+      }
+      if (cdx && err==1) { dx = cdx; ++dy; }
+      if (!dx || !dy) {
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimg_instance
+                              "load_dlm(): Invalid DLM file '%s'.",
+                              cimg_instance,
+                              filename?filename:"(FILE*)");
+      }
+      resize(dx,dy,1,1,0);
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Load image from a BMP file.
+    /**
+       \param filename Filename, as a C-string.
+    **/
+    CImg<T>& load_bmp(const char *const filename) {
+      return _load_bmp(0,filename);
+    }
+
+    //! Load image from a BMP file \newinstance.
+    static CImg<T> get_load_bmp(const char *const filename) {
+      return CImg<T>().load_bmp(filename);
+    }
+
+    //! Load image from a BMP file \overloading.
+    CImg<T>& load_bmp(std::FILE *const file) {
+      return _load_bmp(file,0);
+    }
+
+    //! Load image from a BMP file \newinstance.
+    static CImg<T> get_load_bmp(std::FILE *const file) {
+      return CImg<T>().load_bmp(file);
+    }
+
+    CImg<T>& _load_bmp(std::FILE *const file, const char *const filename) {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_bmp(): Specified filename is (null).",
+                                    cimg_instance);
+
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"rb");
+      unsigned char header[64] = { 0 };
+      cimg::fread(header,54,nfile);
+      if (*header!='B' || header[1]!='M') {
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimg_instance
+                              "load_bmp(): Invalid BMP file '%s'.",
+                              cimg_instance,
+                              filename?filename:"(FILE*)");
+      }
+
+      // Read header and pixel buffer
+      int
+        file_size = header[0x02] + (header[0x03]<<8) + (header[0x04]<<16) + (header[0x05]<<24),
+        offset = header[0x0A] + (header[0x0B]<<8) + (header[0x0C]<<16) + (header[0x0D]<<24),
+        header_size = header[0x0E] + (header[0x0F]<<8) + (header[0x10]<<16) + (header[0x11]<<24),
+        dx = header[0x12] + (header[0x13]<<8) + (header[0x14]<<16) + (header[0x15]<<24),
+        dy = header[0x16] + (header[0x17]<<8) + (header[0x18]<<16) + (header[0x19]<<24),
+        compression = header[0x1E] + (header[0x1F]<<8) + (header[0x20]<<16) + (header[0x21]<<24),
+        nb_colors = header[0x2E] + (header[0x2F]<<8) + (header[0x30]<<16) + (header[0x31]<<24),
+        bpp = header[0x1C] + (header[0x1D]<<8);
+
+      if (!file_size || file_size==offset) {
+        std::fseek(nfile,0,SEEK_END);
+        file_size = (int)std::ftell(nfile);
+        std::fseek(nfile,54,SEEK_SET);
+      }
+      if (header_size>40) std::fseek(nfile, header_size - 40, SEEK_CUR);
+
+      const int
+        cimg_iobuffer = 24*1024*1024,
+        dx_bytes = (bpp==1)?(dx/8 + (dx%8?1:0)):((bpp==4)?(dx/2 + (dx%2?1:0)):(dx*bpp/8)),
+        align_bytes = (4 - dx_bytes%4)%4,
+        buf_size = cimg::min(cimg::abs(dy)*(dx_bytes + align_bytes),file_size - offset);
+
+      CImg<intT> colormap;
+      if (bpp<16) { if (!nb_colors) nb_colors = 1<<bpp; } else nb_colors = 0;
+      if (nb_colors) { colormap.assign(nb_colors); cimg::fread(colormap._data,nb_colors,nfile); }
+      const int xoffset = offset - 14 - header_size - 4*nb_colors;
+      if (xoffset>0) std::fseek(nfile,xoffset,SEEK_CUR);
+
+      CImg<ucharT> buffer;
+      if (buf_size<cimg_iobuffer) { buffer.assign(buf_size); cimg::fread(buffer._data,buf_size,nfile); }
+      else buffer.assign(dx_bytes + align_bytes);
+      unsigned char *ptrs = buffer;
+
+      // Decompress buffer (if necessary)
+      if (compression) {
+        if (file)
+          throw CImgIOException(_cimg_instance
+                                "load_bmp(): Unable to load compressed data from '(*FILE)' inputs.",
+                                cimg_instance);
+        else {
+          if (!file) cimg::fclose(nfile);
+          return load_other(filename);
+        }
+      }
+
+      // Read pixel data
+      assign(dx,cimg::abs(dy),1,3);
+      switch (bpp) {
+      case 1 : { // Monochrome
+        for (int y = height() - 1; y>=0; --y) {
+          if (buf_size>=cimg_iobuffer) {
+            cimg::fread(ptrs=buffer._data,dx_bytes,nfile);
+            std::fseek(nfile,align_bytes,SEEK_CUR);
+          }
+          unsigned char mask = 0x80, val = 0;
+          cimg_forX(*this,x) {
+            if (mask==0x80) val = *(ptrs++);
+            const unsigned char *col = (unsigned char*)(colormap._data + (val&mask?1:0));
+            (*this)(x,y,2) = (T)*(col++);
+            (*this)(x,y,1) = (T)*(col++);
+            (*this)(x,y,0) = (T)*(col++);
+            mask = cimg::ror(mask);
+          }
+          ptrs+=align_bytes;
+        }
+      } break;
+      case 4 : { // 16 colors
+        for (int y = height() - 1; y>=0; --y) {
+          if (buf_size>=cimg_iobuffer) {
+            cimg::fread(ptrs=buffer._data,dx_bytes,nfile);
+            std::fseek(nfile,align_bytes,SEEK_CUR);
+          }
+          unsigned char mask = 0xF0, val = 0;
+          cimg_forX(*this,x) {
+            if (mask==0xF0) val = *(ptrs++);
+            const unsigned char color = (unsigned char)((mask<16)?(val&mask):((val&mask)>>4));
+            const unsigned char *col = (unsigned char*)(colormap._data + color);
+            (*this)(x,y,2) = (T)*(col++);
+            (*this)(x,y,1) = (T)*(col++);
+            (*this)(x,y,0) = (T)*(col++);
+            mask = cimg::ror(mask,4);
+          }
+          ptrs+=align_bytes;
+        }
+      } break;
+      case 8 : { //  256 colors
+        for (int y = height() - 1; y>=0; --y) {
+          if (buf_size>=cimg_iobuffer) {
+            cimg::fread(ptrs=buffer._data,dx_bytes,nfile);
+            std::fseek(nfile,align_bytes,SEEK_CUR);
+          }
+          cimg_forX(*this,x) {
+            const unsigned char *col = (unsigned char*)(colormap._data + *(ptrs++));
+            (*this)(x,y,2) = (T)*(col++);
+            (*this)(x,y,1) = (T)*(col++);
+            (*this)(x,y,0) = (T)*(col++);
+          }
+          ptrs+=align_bytes;
+        }
+      } break;
+      case 16 : { // 16 bits colors
+        for (int y = height() - 1; y>=0; --y) {
+          if (buf_size>=cimg_iobuffer) {
+            cimg::fread(ptrs=buffer._data,dx_bytes,nfile);
+            std::fseek(nfile,align_bytes,SEEK_CUR);
+          }
+          cimg_forX(*this,x) {
+            const unsigned char c1 = *(ptrs++), c2 = *(ptrs++);
+            const unsigned short col = (unsigned short)(c1|(c2<<8));
+            (*this)(x,y,2) = (T)(col&0x1F);
+            (*this)(x,y,1) = (T)((col>>5)&0x1F);
+            (*this)(x,y,0) = (T)((col>>10)&0x1F);
+          }
+          ptrs+=align_bytes;
+        }
+      } break;
+      case 24 : { // 24 bits colors
+        for (int y = height() - 1; y>=0; --y) {
+          if (buf_size>=cimg_iobuffer) {
+            cimg::fread(ptrs=buffer._data,dx_bytes,nfile);
+            std::fseek(nfile,align_bytes,SEEK_CUR);
+          }
+          cimg_forX(*this,x) {
+            (*this)(x,y,2) = (T)*(ptrs++);
+            (*this)(x,y,1) = (T)*(ptrs++);
+            (*this)(x,y,0) = (T)*(ptrs++);
+          }
+          ptrs+=align_bytes;
+        }
+      } break;
+      case 32 : { // 32 bits colors
+        for (int y = height() - 1; y>=0; --y) {
+          if (buf_size>=cimg_iobuffer) {
+            cimg::fread(ptrs=buffer._data,dx_bytes,nfile);
+            std::fseek(nfile,align_bytes,SEEK_CUR);
+          }
+          cimg_forX(*this,x) {
+            (*this)(x,y,2) = (T)*(ptrs++);
+            (*this)(x,y,1) = (T)*(ptrs++);
+            (*this)(x,y,0) = (T)*(ptrs++);
+            ++ptrs;
+          }
+          ptrs+=align_bytes;
+        }
+      } break;
+      }
+      if (dy<0) mirror('y');
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Load image from a JPEG file.
+    /**
+       \param filename Filename, as a C-string.
+    **/
+    CImg<T>& load_jpeg(const char *const filename) {
+      return _load_jpeg(0,filename);
+    }
+
+    //! Load image from a JPEG file \newinstance.
+    static CImg<T> get_load_jpeg(const char *const filename) {
+      return CImg<T>().load_jpeg(filename);
+    }
+
+    //! Load image from a JPEG file \overloading.
+    CImg<T>& load_jpeg(std::FILE *const file) {
+      return _load_jpeg(file,0);
+    }
+
+    //! Load image from a JPEG file \newinstance.
+    static CImg<T> get_load_jpeg(std::FILE *const file) {
+      return CImg<T>().load_jpeg(file);
+    }
+
+    // Custom error handler for libjpeg.
+#ifdef cimg_use_jpeg
+    struct _cimg_error_mgr {
+      struct jpeg_error_mgr original;
+      jmp_buf setjmp_buffer;
+      char message[JMSG_LENGTH_MAX];
+    };
+
+    typedef struct _cimg_error_mgr *_cimg_error_ptr;
+
+    METHODDEF(void) _cimg_jpeg_error_exit(j_common_ptr cinfo) {
+      _cimg_error_ptr c_err = (_cimg_error_ptr) cinfo->err;  // Return control to the setjmp point
+      (*cinfo->err->format_message)(cinfo,c_err->message);
+      jpeg_destroy(cinfo);  // Clean memory and temp files.
+      longjmp(c_err->setjmp_buffer,1);
+    }
+#endif
+
+    CImg<T>& _load_jpeg(std::FILE *const file, const char *const filename) {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_jpeg(): Specified filename is (null).",
+                                    cimg_instance);
+
+#ifndef cimg_use_jpeg
+      if (file)
+        throw CImgIOException(_cimg_instance
+                              "load_jpeg(): Unable to load data from '(FILE*)' unless libjpeg is enabled.",
+                              cimg_instance);
+      else return load_other(filename);
+#else
+
+      struct jpeg_decompress_struct cinfo;
+      struct _cimg_error_mgr jerr;
+      cinfo.err = jpeg_std_error(&jerr.original);
+      jerr.original.error_exit = _cimg_jpeg_error_exit;
+
+      if (setjmp(jerr.setjmp_buffer)) { // JPEG error
+        throw CImgIOException(_cimg_instance
+                             "load_jpeg(): Error message returned by libjpeg: %s.",
+                             cimg_instance,jerr.message);
+      }
+
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"rb");
+      jpeg_create_decompress(&cinfo);
+      jpeg_stdio_src(&cinfo,nfile);
+      jpeg_read_header(&cinfo,TRUE);
+      jpeg_start_decompress(&cinfo);
+
+      if (cinfo.output_components!=1 && cinfo.output_components!=3 && cinfo.output_components!=4) {
+        if (!file) {
+          cimg::fclose(nfile);
+          return load_other(filename);
+        } else
+          throw CImgIOException(_cimg_instance
+                                "load_jpeg(): Failed to load JPEG data from file '%s'.",
+                                cimg_instance,filename?filename:"(FILE*)");
+      }
+      CImg<ucharT> buffer(cinfo.output_width*cinfo.output_components);
+      JSAMPROW row_pointer[1];
+      assign(cinfo.output_width,cinfo.output_height,1,cinfo.output_components);
+      T *ptr_r = _data, *ptr_g = _data + 1UL*_width*_height, *ptr_b = _data + 2UL*_width*_height,
+        *ptr_a = _data + 3UL*_width*_height;
+      while (cinfo.output_scanline<cinfo.output_height) {
+        *row_pointer = buffer._data;
+        if (jpeg_read_scanlines(&cinfo,row_pointer,1)!=1) {
+          cimg::warn(_cimg_instance
+                     "load_jpeg(): Incomplete data in file '%s'.",
+                     cimg_instance,filename?filename:"(FILE*)");
+          break;
+        }
+        const unsigned char *ptrs = buffer._data;
+        switch (_spectrum) {
+        case 1 : {
+          cimg_forX(*this,x) *(ptr_r++) = (T)*(ptrs++);
+        } break;
+        case 3 : {
+          cimg_forX(*this,x) {
+            *(ptr_r++) = (T)*(ptrs++);
+            *(ptr_g++) = (T)*(ptrs++);
+            *(ptr_b++) = (T)*(ptrs++);
+          }
+        } break;
+        case 4 : {
+          cimg_forX(*this,x) {
+            *(ptr_r++) = (T)*(ptrs++);
+            *(ptr_g++) = (T)*(ptrs++);
+            *(ptr_b++) = (T)*(ptrs++);
+            *(ptr_a++) = (T)*(ptrs++);
+          }
+        } break;
+        }
+      }
+      jpeg_finish_decompress(&cinfo);
+      jpeg_destroy_decompress(&cinfo);
+      if (!file) cimg::fclose(nfile);
+      return *this;
+#endif
+    }
+
+    //! Load image from a file, using Magick++ library.
+    /**
+       \param filename Filename, as a C-string.
+    **/
+    // Added April/may 2006 by Christoph Hormann <chris_hormann at gmx.de>
+    //   This is experimental code, not much tested, use with care.
+    CImg<T>& load_magick(const char *const filename) {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_magick(): Specified filename is (null).",
+                                    cimg_instance);
+#ifdef cimg_use_magick
+      Magick::Image image(filename);
+      const unsigned int W = image.size().width(), H = image.size().height();
+      switch (image.type()) {
+      case Magick::PaletteMatteType :
+      case Magick::TrueColorMatteType :
+      case Magick::ColorSeparationType : {
+        assign(W,H,1,4);
+        T *ptr_r = data(0,0,0,0), *ptr_g = data(0,0,0,1), *ptr_b = data(0,0,0,2), *ptr_a = data(0,0,0,3);
+        Magick::PixelPacket *pixels = image.getPixels(0,0,W,H);
+        for (unsigned long off = (unsigned long)W*H; off; --off) {
+          *(ptr_r++) = (T)(pixels->red);
+          *(ptr_g++) = (T)(pixels->green);
+          *(ptr_b++) = (T)(pixels->blue);
+          *(ptr_a++) = (T)(pixels->opacity);
+          ++pixels;
+        }
+      } break;
+      case Magick::PaletteType :
+      case Magick::TrueColorType : {
+        assign(W,H,1,3);
+        T *ptr_r = data(0,0,0,0), *ptr_g = data(0,0,0,1), *ptr_b = data(0,0,0,2);
+        Magick::PixelPacket *pixels = image.getPixels(0,0,W,H);
+        for (unsigned long off = (unsigned long)W*H; off; --off) {
+          *(ptr_r++) = (T)(pixels->red);
+          *(ptr_g++) = (T)(pixels->green);
+          *(ptr_b++) = (T)(pixels->blue);
+          ++pixels;
+        }
+      } break;
+      case Magick::GrayscaleMatteType : {
+        assign(W,H,1,2);
+        T *ptr_r = data(0,0,0,0), *ptr_a = data(0,0,0,1);
+        Magick::PixelPacket *pixels = image.getPixels(0,0,W,H);
+        for (unsigned long off = (unsigned long)W*H; off; --off) {
+          *(ptr_r++) = (T)(pixels->red);
+          *(ptr_a++) = (T)(pixels->opacity);
+          ++pixels;
+        }
+      } break;
+      default : {
+        assign(W,H,1,1);
+        T *ptr_r = data(0,0,0,0);
+        Magick::PixelPacket *pixels = image.getPixels(0,0,W,H);
+        for (unsigned long off = (unsigned long)W*H; off; --off) {
+          *(ptr_r++) = (T)(pixels->red);
+          ++pixels;
+        }
+      }
+      }
+      return *this;
+#else
+      throw CImgIOException(_cimg_instance
+                            "load_magick(): Unable to load file '%s' unless libMagick++ is enabled.",
+                            cimg_instance,
+                            filename);
+#endif
+    }
+
+    //! Load image from a file, using Magick++ library \newinstance.
+    static CImg<T> get_load_magick(const char *const filename) {
+      return CImg<T>().load_magick(filename);
+    }
+
+    //! Load image from a PNG file.
+    /**
+       \param filename Filename, as a C-string.
+    **/
+    CImg<T>& load_png(const char *const filename) {
+      return _load_png(0,filename);
+    }
+
+    //! Load image from a PNG file \newinstance.
+    static CImg<T> get_load_png(const char *const filename) {
+      return CImg<T>().load_png(filename);
+    }
+
+    //! Load image from a PNG file \overloading.
+    CImg<T>& load_png(std::FILE *const file) {
+      return _load_png(file,0);
+    }
+
+    //! Load image from a PNG file \newinstance.
+    static CImg<T> get_load_png(std::FILE *const file) {
+      return CImg<T>().load_png(file);
+    }
+
+    // (Note: Most of this function has been written by Eric Fausett)
+    CImg<T>& _load_png(std::FILE *const file, const char *const filename) {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_png(): Specified filename is (null).",
+                                    cimg_instance);
+
+#ifndef cimg_use_png
+      if (file)
+        throw CImgIOException(_cimg_instance
+                              "load_png(): Unable to load data from '(FILE*)' unless libpng is enabled.",
+                              cimg_instance);
+
+      else return load_other(filename);
+#else
+      // Open file and check for PNG validity
+      const char *volatile nfilename = filename; // two 'volatile' here to remove a g++ warning due to 'setjmp'.
+      std::FILE *volatile nfile = file?file:cimg::fopen(nfilename,"rb");
+
+      unsigned char pngCheck[8] = { 0 };
+      cimg::fread(pngCheck,8,(std::FILE*)nfile);
+      if (png_sig_cmp(pngCheck,0,8)) {
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimg_instance
+                              "load_png(): Invalid PNG file '%s'.",
+                              cimg_instance,
+                              nfilename?nfilename:"(FILE*)");
+      }
+
+      // Setup PNG structures for read
+      png_voidp user_error_ptr = 0;
+      png_error_ptr user_error_fn = 0, user_warning_fn = 0;
+      png_structp png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING,user_error_ptr,user_error_fn,user_warning_fn);
+      if (!png_ptr) {
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimg_instance
+                              "load_png(): Failed to initialize 'png_ptr' structure for file '%s'.",
+                              cimg_instance,
+                              nfilename?nfilename:"(FILE*)");
+      }
+      png_infop info_ptr = png_create_info_struct(png_ptr);
+      if (!info_ptr) {
+        if (!file) cimg::fclose(nfile);
+        png_destroy_read_struct(&png_ptr,(png_infopp)0,(png_infopp)0);
+        throw CImgIOException(_cimg_instance
+                              "load_png(): Failed to initialize 'info_ptr' structure for file '%s'.",
+                              cimg_instance,
+                              nfilename?nfilename:"(FILE*)");
+      }
+      png_infop end_info = png_create_info_struct(png_ptr);
+      if (!end_info) {
+        if (!file) cimg::fclose(nfile);
+        png_destroy_read_struct(&png_ptr,&info_ptr,(png_infopp)0);
+        throw CImgIOException(_cimg_instance
+                              "load_png(): Failed to initialize 'end_info' structure for file '%s'.",
+                              cimg_instance,
+                              nfilename?nfilename:"(FILE*)");
+      }
+
+      // Error handling callback for png file reading
+      if (setjmp(png_jmpbuf(png_ptr))) {
+        if (!file) cimg::fclose((std::FILE*)nfile);
+        png_destroy_read_struct(&png_ptr, &end_info, (png_infopp)0);
+        throw CImgIOException(_cimg_instance
+                              "load_png(): Encountered unknown fatal error in libpng for file '%s'.",
+                              cimg_instance,
+                              nfilename?nfilename:"(FILE*)");
+      }
+      png_init_io(png_ptr, nfile);
+      png_set_sig_bytes(png_ptr, 8);
+
+      // Get PNG Header Info up to data block
+      png_read_info(png_ptr,info_ptr);
+      png_uint_32 W, H;
+      int bit_depth, color_type, interlace_type;
+      bool is_gray = false;
+      png_get_IHDR(png_ptr,info_ptr,&W,&H,&bit_depth,&color_type,&interlace_type,(int*)0,(int*)0);
+
+      // Transforms to unify image data
+      if (color_type==PNG_COLOR_TYPE_PALETTE) {
+        png_set_palette_to_rgb(png_ptr);
+        color_type = PNG_COLOR_TYPE_RGB;
+        bit_depth = 8;
+      }
+      if (color_type==PNG_COLOR_TYPE_GRAY && bit_depth<8) {
+        png_set_expand_gray_1_2_4_to_8(png_ptr);
+        is_gray = true;
+        bit_depth = 8;
+      }
+      if (png_get_valid(png_ptr,info_ptr,PNG_INFO_tRNS)) {
+        png_set_tRNS_to_alpha(png_ptr);
+        color_type |= PNG_COLOR_MASK_ALPHA;
+      }
+      if (color_type==PNG_COLOR_TYPE_GRAY || color_type==PNG_COLOR_TYPE_GRAY_ALPHA) {
+        png_set_gray_to_rgb(png_ptr);
+        color_type |= PNG_COLOR_MASK_COLOR;
+        is_gray = true;
+      }
+      if (color_type==PNG_COLOR_TYPE_RGB)
+        png_set_filler(png_ptr,0xffffU,PNG_FILLER_AFTER);
+
+      png_read_update_info(png_ptr,info_ptr);
+      if (bit_depth!=8 && bit_depth!=16) {
+        if (!file) cimg::fclose(nfile);
+        png_destroy_read_struct(&png_ptr,&end_info,(png_infopp)0);
+        throw CImgIOException(_cimg_instance
+                              "load_png(): Invalid bit depth %u in file '%s'.",
+                              cimg_instance,
+                              bit_depth,nfilename?nfilename:"(FILE*)");
+      }
+      const int byte_depth = bit_depth>>3;
+
+      // Allocate Memory for Image Read
+      png_bytep *const imgData = new png_bytep[H];
+      for (unsigned int row = 0; row<H; ++row) imgData[row] = new png_byte[byte_depth*4*W];
+      png_read_image(png_ptr,imgData);
+      png_read_end(png_ptr,end_info);
+
+      // Read pixel data
+      if (color_type!=PNG_COLOR_TYPE_RGB && color_type!=PNG_COLOR_TYPE_RGB_ALPHA) {
+        if (!file) cimg::fclose(nfile);
+        png_destroy_read_struct(&png_ptr,&end_info,(png_infopp)0);
+        throw CImgIOException(_cimg_instance
+                              "load_png(): Invalid color coding type %u in file '%s'.",
+                              cimg_instance,
+                              color_type,nfilename?nfilename:"(FILE*)");
+      }
+      const bool is_alpha = (color_type==PNG_COLOR_TYPE_RGBA);
+      assign(W,H,1,(is_gray?1:3) + (is_alpha?1:0));
+      T
+        *ptr_r = data(0,0,0,0),
+        *ptr_g = is_gray?0:data(0,0,0,1),
+        *ptr_b = is_gray?0:data(0,0,0,2),
+        *ptr_a = !is_alpha?0:data(0,0,0,is_gray?1:3);
+      switch (bit_depth) {
+      case 8 : {
+        cimg_forY(*this,y) {
+          const unsigned char *ptrs = (unsigned char*)imgData[y];
+          cimg_forX(*this,x) {
+            *(ptr_r++) = (T)*(ptrs++);
+            if (ptr_g) *(ptr_g++) = (T)*(ptrs++); else ++ptrs;
+            if (ptr_b) *(ptr_b++) = (T)*(ptrs++); else ++ptrs;
+            if (ptr_a) *(ptr_a++) = (T)*(ptrs++); else ++ptrs;
+          }
+        }
+      } break;
+      case 16 : {
+        cimg_forY(*this,y) {
+          const unsigned short *ptrs = (unsigned short*)(imgData[y]);
+          if (!cimg::endianness()) cimg::invert_endianness(ptrs,4*_width);
+          cimg_forX(*this,x) {
+            *(ptr_r++) = (T)*(ptrs++);
+            if (ptr_g) *(ptr_g++) = (T)*(ptrs++); else ++ptrs;
+            if (ptr_b) *(ptr_b++) = (T)*(ptrs++); else ++ptrs;
+            if (ptr_a) *(ptr_a++) = (T)*(ptrs++); else ++ptrs;
+          }
+        }
+      } break;
+      }
+      png_destroy_read_struct(&png_ptr, &info_ptr, &end_info);
+
+      // Deallocate Image Read Memory
+      cimg_forY(*this,n) delete[] imgData[n];
+      delete[] imgData;
+      if (!file) cimg::fclose(nfile);
+      return *this;
+#endif
+    }
+
+    //! Load image from a PNM file.
+    /**
+      \param filename Filename, as a C-string.
+    **/
+    CImg<T>& load_pnm(const char *const filename) {
+      return _load_pnm(0,filename);
+    }
+
+    //! Load image from a PNM file \newinstance.
+    static CImg<T> get_load_pnm(const char *const filename) {
+      return CImg<T>().load_pnm(filename);
+    }
+
+    //! Load image from a PNM file \overloading.
+    CImg<T>& load_pnm(std::FILE *const file) {
+      return _load_pnm(file,0);
+    }
+
+    //! Load image from a PNM file \newinstance.
+    static CImg<T> get_load_pnm(std::FILE *const file) {
+      return CImg<T>().load_pnm(file);
+    }
+
+    CImg<T>& _load_pnm(std::FILE *const file, const char *const filename) {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_pnm(): Specified filename is (null).",
+                                    cimg_instance);
+
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"rb");
+      unsigned int ppm_type, W, H, D = 1, colormax = 255;
+      CImg<charT> item(16384,1,1,1,0);
+      int err, rval, gval, bval;
+      const long cimg_iobuffer = 24*1024*1024;
+      while ((err=std::fscanf(nfile,"%16383[^\n]",item.data()))!=EOF && (*item=='#' || !err)) std::fgetc(nfile);
+      if (cimg_sscanf(item," P%u",&ppm_type)!=1) {
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimg_instance
+                              "load_pnm(): PNM header not found in file '%s'.",
+                              cimg_instance,
+                              filename?filename:"(FILE*)");
+      }
+      while ((err=std::fscanf(nfile," %16383[^\n]",item.data()))!=EOF && (*item=='#' || !err)) std::fgetc(nfile);
+      if ((err=cimg_sscanf(item," %u %u %u %u",&W,&H,&D,&colormax))<2) {
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimg_instance
+                              "load_pnm(): WIDTH and HEIGHT fields undefined in file '%s'.",
+                              cimg_instance,
+                              filename?filename:"(FILE*)");
+      }
+      if (ppm_type!=1 && ppm_type!=4) {
+        if (err==2 || (err==3 && (ppm_type==5 || ppm_type==7 || ppm_type==8 || ppm_type==9))) {
+          while ((err=std::fscanf(nfile," %16383[^\n]",item.data()))!=EOF && (*item=='#' || !err)) std::fgetc(nfile);
+          if (cimg_sscanf(item,"%u",&colormax)!=1)
+            cimg::warn(_cimg_instance
+                       "load_pnm(): COLORMAX field is undefined in file '%s'.",
+                       cimg_instance,
+                       filename?filename:"(FILE*)");
+        } else { colormax = D; D = 1; }
+      }
+      std::fgetc(nfile);
+
+      switch (ppm_type) {
+      case 1 : { // 2d b&w ascii.
+        assign(W,H,1,1);
+        T* ptrd = _data;
+        cimg_foroff(*this,off) { if (std::fscanf(nfile,"%d",&rval)>0) *(ptrd++) = (T)(rval?0:255); else break; }
+      } break;
+      case 2 : { // 2d grey ascii.
+        assign(W,H,1,1);
+        T* ptrd = _data;
+        cimg_foroff(*this,off) { if (std::fscanf(nfile,"%d",&rval)>0) *(ptrd++) = (T)rval; else break; }
+      } break;
+      case 3 : { // 2d color ascii.
+        assign(W,H,1,3);
+        T *ptrd = data(0,0,0,0), *ptr_g = data(0,0,0,1), *ptr_b = data(0,0,0,2);
+        cimg_forXY(*this,x,y) {
+          if (std::fscanf(nfile,"%d %d %d",&rval,&gval,&bval)==3) {
+            *(ptrd++) = (T)rval; *(ptr_g++) = (T)gval; *(ptr_b++) = (T)bval;
+          } else break;
+        }
+      } break;
+      case 4 : { // 2d b&w binary (support 3D PINK extension).
+        CImg<ucharT> raw;
+        assign(W,H,D,1);
+        T *ptrd = data(0,0,0,0);
+        unsigned int w = 0, h = 0, d = 0;
+        for (long to_read = (long)((W/8 + (W%8?1:0))*H*D); to_read>0; ) {
+          raw.assign(cimg::min(to_read,cimg_iobuffer));
+          cimg::fread(raw._data,raw._width,nfile);
+          to_read-=raw._width;
+          const unsigned char *ptrs = raw._data;
+          unsigned char mask = 0, val = 0;
+          for (unsigned long off = (unsigned long)raw._width; off || mask; mask>>=1) {
+            if (!mask) { if (off--) val = *(ptrs++); mask = 128; }
+            *(ptrd++) = (T)((val&mask)?0:255);
+            if (++w==W) { w = 0; mask = 0; if (++h==H) { h = 0; if (++d==D) break; }}
+          }
+        }
+      } break;
+      case 5 : case 7 : { // 2d/3d grey binary (support 3D PINK extension).
+        if (colormax<256) { // 8 bits.
+          CImg<ucharT> raw;
+          assign(W,H,D,1);
+          T *ptrd = data(0,0,0,0);
+          for (long to_read = (long)size(); to_read>0; ) {
+            raw.assign(cimg::min(to_read,cimg_iobuffer));
+            cimg::fread(raw._data,raw._width,nfile);
+            to_read-=raw._width;
+            const unsigned char *ptrs = raw._data;
+            for (unsigned long off = (unsigned long)raw._width; off; --off) *(ptrd++) = (T)*(ptrs++);
+          }
+        } else { // 16 bits.
+          CImg<ushortT> raw;
+          assign(W,H,D,1);
+          T *ptrd = data(0,0,0,0);
+          for (long to_read = (long)size(); to_read>0; ) {
+            raw.assign(cimg::min(to_read,cimg_iobuffer/2));
+            cimg::fread(raw._data,raw._width,nfile);
+	    if (!cimg::endianness()) cimg::invert_endianness(raw._data,raw._width);
+            to_read-=raw._width;
+            const unsigned short *ptrs = raw._data;
+            for (unsigned long off = (unsigned long)raw._width; off; --off) *(ptrd++) = (T)*(ptrs++);
+          }
+        }
+      } break;
+      case 6 : { // 2d color binary.
+        if (colormax<256) { // 8 bits.
+          CImg<ucharT> raw;
+          assign(W,H,1,3);
+          T
+            *ptr_r = data(0,0,0,0),
+            *ptr_g = data(0,0,0,1),
+            *ptr_b = data(0,0,0,2);
+          for (long to_read = (long)size(); to_read>0; ) {
+            raw.assign(cimg::min(to_read,cimg_iobuffer));
+            cimg::fread(raw._data,raw._width,nfile);
+            to_read-=raw._width;
+            const unsigned char *ptrs = raw._data;
+            for (unsigned long off = (unsigned long)raw._width/3; off; --off) {
+              *(ptr_r++) = (T)*(ptrs++);
+              *(ptr_g++) = (T)*(ptrs++);
+              *(ptr_b++) = (T)*(ptrs++);
+            }
+          }
+        } else { // 16 bits.
+          CImg<ushortT> raw;
+          assign(W,H,1,3);
+          T
+            *ptr_r = data(0,0,0,0),
+            *ptr_g = data(0,0,0,1),
+            *ptr_b = data(0,0,0,2);
+          for (long to_read = (int)size(); to_read>0; ) {
+            raw.assign(cimg::min(to_read,cimg_iobuffer/2));
+            cimg::fread(raw._data,raw._width,nfile);
+            if (!cimg::endianness()) cimg::invert_endianness(raw._data,raw._width);
+            to_read-=raw._width;
+            const unsigned short *ptrs = raw._data;
+            for (unsigned long off = (unsigned long)raw._width/3; off; --off) {
+              *(ptr_r++) = (T)*(ptrs++);
+              *(ptr_g++) = (T)*(ptrs++);
+              *(ptr_b++) = (T)*(ptrs++);
+            }
+          }
+        }
+      } break;
+      case 8 : { // 2d/3d grey binary with int32 integers (PINK extension).
+        CImg<intT> raw;
+        assign(W,H,D,1);
+        T *ptrd = data(0,0,0,0);
+        for (long to_read = (long)size(); to_read>0; ) {
+          raw.assign(cimg::min(to_read,cimg_iobuffer));
+          cimg::fread(raw._data,raw._width,nfile);
+          to_read-=raw._width;
+          const int *ptrs = raw._data;
+          for (unsigned long off = (unsigned long)raw._width; off; --off) *(ptrd++) = (T)*(ptrs++);
+        }
+      } break;
+      case 9 : { // 2d/3d grey binary with float values (PINK extension).
+        CImg<floatT> raw;
+        assign(W,H,D,1);
+        T *ptrd = data(0,0,0,0);
+        for (long to_read = (long)size(); to_read>0; ) {
+          raw.assign(cimg::min(to_read,cimg_iobuffer));
+          cimg::fread(raw._data,raw._width,nfile);
+          to_read-=raw._width;
+          const float *ptrs = raw._data;
+          for (unsigned long off = (unsigned long)raw._width; off; --off) *(ptrd++) = (T)*(ptrs++);
+        }
+      } break;
+      default :
+        assign();
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimg_instance
+                              "load_pnm(): PNM type 'P%d' found, but type is not supported.",
+                              cimg_instance,
+                              filename?filename:"(FILE*)",ppm_type);
+      }
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Load image from a PFM file.
+    /**
+      \param filename Filename, as a C-string.
+    **/
+    CImg<T>& load_pfm(const char *const filename) {
+      return _load_pfm(0,filename);
+    }
+
+    //! Load image from a PFM file \newinstance.
+    static CImg<T> get_load_pfm(const char *const filename) {
+      return CImg<T>().load_pfm(filename);
+    }
+
+    //! Load image from a PFM file \overloading.
+    CImg<T>& load_pfm(std::FILE *const file) {
+      return _load_pfm(file,0);
+    }
+
+    //! Load image from a PFM file \newinstance.
+    static CImg<T> get_load_pfm(std::FILE *const file) {
+      return CImg<T>().load_pfm(file);
+    }
+
+    CImg<T>& _load_pfm(std::FILE *const file, const char *const filename) {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_pfm(): Specified filename is (null).",
+                                    cimg_instance);
+
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"rb");
+      char pfm_type;
+      CImg<charT> item(16384,1,1,1,0);
+      int W = 0, H = 0, err = 0;
+      double scale = 0;
+      while ((err=std::fscanf(nfile,"%16383[^\n]",item.data()))!=EOF && (*item=='#' || !err)) std::fgetc(nfile);
+      if (cimg_sscanf(item," P%c",&pfm_type)!=1) {
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimg_instance
+                              "load_pfm(): PFM header not found in file '%s'.",
+                              cimg_instance,
+                              filename?filename:"(FILE*)");
+      }
+      while ((err=std::fscanf(nfile," %16383[^\n]",item.data()))!=EOF && (*item=='#' || !err)) std::fgetc(nfile);
+      if ((err=cimg_sscanf(item," %d %d",&W,&H))<2) {
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimg_instance
+                              "load_pfm(): WIDTH and HEIGHT fields are undefined in file '%s'.",
+                              cimg_instance,
+                              filename?filename:"(FILE*)");
+      }
+      if (err==2) {
+        while ((err=std::fscanf(nfile," %16383[^\n]",item.data()))!=EOF && (*item=='#' || !err)) std::fgetc(nfile);
+        if (cimg_sscanf(item,"%lf",&scale)!=1)
+          cimg::warn(_cimg_instance
+                     "load_pfm(): SCALE field is undefined in file '%s'.",
+                     cimg_instance,
+                     filename?filename:"(FILE*)");
+      }
+      std::fgetc(nfile);
+      const bool is_color = (pfm_type=='F'), is_inverted = (scale>0)!=cimg::endianness();
+      if (is_color) {
+        assign(W,H,1,3,0);
+        CImg<floatT> buf(3*W);
+        T *ptr_r = data(0,0,0,0), *ptr_g = data(0,0,0,1), *ptr_b = data(0,0,0,2);
+        cimg_forY(*this,y) {
+          cimg::fread(buf._data,3*W,nfile);
+          if (is_inverted) cimg::invert_endianness(buf._data,3*W);
+          const float *ptrs = buf._data;
+          cimg_forX(*this,x) {
+            *(ptr_r++) = (T)*(ptrs++);
+            *(ptr_g++) = (T)*(ptrs++);
+            *(ptr_b++) = (T)*(ptrs++);
+          }
+        }
+      } else {
+        assign(W,H,1,1,0);
+        CImg<floatT> buf(W);
+        T *ptrd = data(0,0,0,0);
+        cimg_forY(*this,y) {
+          cimg::fread(buf._data,W,nfile);
+          if (is_inverted) cimg::invert_endianness(buf._data,W);
+          const float *ptrs = buf._data;
+          cimg_forX(*this,x) *(ptrd++) = (T)*(ptrs++);
+        }
+      }
+      if (!file) cimg::fclose(nfile);
+      return mirror('y');  // Most of the .pfm files are flipped along the y-axis.
+    }
+
+    //! Load image from a RGB file.
+    /**
+      \param filename Filename, as a C-string.
+      \param dimw Width of the image buffer.
+      \param dimh Height of the image buffer.
+    **/
+    CImg<T>& load_rgb(const char *const filename, const unsigned int dimw, const unsigned int dimh=1) {
+      return _load_rgb(0,filename,dimw,dimh);
+    }
+
+    //! Load image from a RGB file \newinstance.
+    static CImg<T> get_load_rgb(const char *const filename, const unsigned int dimw, const unsigned int dimh=1) {
+      return CImg<T>().load_rgb(filename,dimw,dimh);
+    }
+
+    //! Load image from a RGB file \overloading.
+    CImg<T>& load_rgb(std::FILE *const file, const unsigned int dimw, const unsigned int dimh=1) {
+      return _load_rgb(file,0,dimw,dimh);
+    }
+
+    //! Load image from a RGB file \newinstance.
+    static CImg<T> get_load_rgb(std::FILE *const file, const unsigned int dimw, const unsigned int dimh=1) {
+      return CImg<T>().load_rgb(file,dimw,dimh);
+    }
+
+    CImg<T>& _load_rgb(std::FILE *const file, const char *const filename,
+                       const unsigned int dimw, const unsigned int dimh) {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_rgb(): Specified filename is (null).",
+                                    cimg_instance);
+
+      if (!dimw || !dimh) return assign();
+      const long cimg_iobuffer = 24*1024*1024;
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"rb");
+      CImg<ucharT> raw;
+      assign(dimw,dimh,1,3);
+      T
+        *ptr_r = data(0,0,0,0),
+        *ptr_g = data(0,0,0,1),
+        *ptr_b = data(0,0,0,2);
+      for (long to_read = (long)size(); to_read>0; ) {
+        raw.assign(cimg::min(to_read,cimg_iobuffer));
+        cimg::fread(raw._data,raw._width,nfile);
+        to_read-=raw._width;
+        const unsigned char *ptrs = raw._data;
+        for (unsigned long off = raw._width/3UL; off; --off) {
+          *(ptr_r++) = (T)*(ptrs++);
+          *(ptr_g++) = (T)*(ptrs++);
+          *(ptr_b++) = (T)*(ptrs++);
+        }
+      }
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Load image from a RGBA file.
+    /**
+       \param filename Filename, as a C-string.
+       \param dimw Width of the image buffer.
+       \param dimh Height of the image buffer.
+    **/
+    CImg<T>& load_rgba(const char *const filename, const unsigned int dimw, const unsigned int dimh=1) {
+      return _load_rgba(0,filename,dimw,dimh);
+    }
+
+    //! Load image from a RGBA file \newinstance.
+    static CImg<T> get_load_rgba(const char *const filename, const unsigned int dimw, const unsigned int dimh=1) {
+      return CImg<T>().load_rgba(filename,dimw,dimh);
+    }
+
+    //! Load image from a RGBA file \overloading.
+    CImg<T>& load_rgba(std::FILE *const file, const unsigned int dimw, const unsigned int dimh=1) {
+      return _load_rgba(file,0,dimw,dimh);
+    }
+
+    //! Load image from a RGBA file \newinstance.
+    static CImg<T> get_load_rgba(std::FILE *const file, const unsigned int dimw, const unsigned int dimh=1) {
+      return CImg<T>().load_rgba(file,dimw,dimh);
+    }
+
+    CImg<T>& _load_rgba(std::FILE *const file, const char *const filename,
+                        const unsigned int dimw, const unsigned int dimh) {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_rgba(): Specified filename is (null).",
+                                    cimg_instance);
+
+      if (!dimw || !dimh) return assign();
+      const long cimg_iobuffer = 24*1024*1024;
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"rb");
+      CImg<ucharT> raw;
+      assign(dimw,dimh,1,4);
+      T
+        *ptr_r = data(0,0,0,0),
+        *ptr_g = data(0,0,0,1),
+        *ptr_b = data(0,0,0,2),
+        *ptr_a = data(0,0,0,3);
+      for (long to_read = (long)size(); to_read>0; ) {
+        raw.assign(cimg::min(to_read,cimg_iobuffer));
+        cimg::fread(raw._data,raw._width,nfile);
+        to_read-=raw._width;
+        const unsigned char *ptrs = raw._data;
+        for (unsigned long off = raw._width/4UL; off; --off) {
+          *(ptr_r++) = (T)*(ptrs++);
+          *(ptr_g++) = (T)*(ptrs++);
+          *(ptr_b++) = (T)*(ptrs++);
+          *(ptr_a++) = (T)*(ptrs++);
+        }
+      }
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Load image from a TIFF file.
+    /**
+       \param filename Filename, as a C-string.
+       \param first_frame First frame to read (for multi-pages tiff).
+       \param last_frame Last frame to read (for multi-pages tiff).
+       \param step_frame Step value of frame reading.
+       \note
+       - libtiff support is enabled by defining the precompilation
+        directive \c cimg_use_tif.
+       - When libtiff is enabled, 2D and 3D (multipage) several
+        channel per pixel are supported for
+        <tt>char,uchar,short,ushort,float</tt> and \c double pixel types.
+       - If \c cimg_use_tif is not defined at compilation time the
+        function uses CImg<T>& load_other(const char*).
+     **/
+    CImg<T>& load_tiff(const char *const filename,
+		       const unsigned int first_frame=0, const unsigned int last_frame=~0U,
+		       const unsigned int step_frame=1,
+                       float *const voxel_size=0,
+                       CImg<charT> *const description=0) {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_tiff(): Specified filename is (null).",
+                                    cimg_instance);
+
+      const unsigned int
+	nfirst_frame = first_frame<last_frame?first_frame:last_frame,
+	nstep_frame = step_frame?step_frame:1;
+      unsigned int nlast_frame = first_frame<last_frame?last_frame:first_frame;
+
+#ifndef cimg_use_tiff
+      cimg::unused(voxel_size,description);
+      if (nfirst_frame || nlast_frame!=~0U || nstep_frame>1)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_tiff(): Unable to read sub-images from file '%s' unless libtiff is enabled.",
+                                    cimg_instance,
+                                    filename);
+      return load_other(filename);
+#else
+      TIFF *tif = TIFFOpen(filename,"r");
+      if (tif) {
+        unsigned int nb_images = 0;
+        do ++nb_images; while (TIFFReadDirectory(tif));
+        if (nfirst_frame>=nb_images || (nlast_frame!=~0U && nlast_frame>=nb_images))
+          cimg::warn(_cimg_instance
+                     "load_tiff(): File '%s' contains %u image(s) while specified frame range is [%u,%u] (step %u).",
+                     cimg_instance,
+                     filename,nb_images,nfirst_frame,nlast_frame,nstep_frame);
+
+        if (nfirst_frame>=nb_images) return assign();
+        if (nlast_frame>=nb_images) nlast_frame = nb_images - 1;
+        TIFFSetDirectory(tif,0);
+        CImg<T> frame;
+        for (unsigned int l = nfirst_frame; l<=nlast_frame; l+=nstep_frame) {
+          frame._load_tiff(tif,l,voxel_size,description);
+          if (l==nfirst_frame)
+            assign(frame._width,frame._height,1 + (nlast_frame - nfirst_frame)/nstep_frame,frame._spectrum);
+          if (frame._width>_width || frame._height>_height || frame._spectrum>_spectrum)
+            resize(cimg::max(frame._width,_width),
+                   cimg::max(frame._height,_height),-100,
+                   cimg::max(frame._spectrum,_spectrum),0);
+          draw_image(0,0,(l - nfirst_frame)/nstep_frame,frame);
+        }
+        TIFFClose(tif);
+      } else throw CImgIOException(_cimg_instance
+                                   "load_tiff(): Failed to open file '%s'.",
+                                   cimg_instance,
+                                   filename);
+      return *this;
+#endif
+    }
+
+    //! Load image from a TIFF file \newinstance.
+    static CImg<T> get_load_tiff(const char *const filename,
+				 const unsigned int first_frame=0, const unsigned int last_frame=~0U,
+				 const unsigned int step_frame=1,
+                                 float *const voxel_size=0,
+                                 CImg<charT> *const description=0) {
+      return CImg<T>().load_tiff(filename,first_frame,last_frame,step_frame,voxel_size,description);
+    }
+
+    // (Original contribution by Jerome Boulanger).
+#ifdef cimg_use_tiff
+    template<typename t>
+    void _load_tiff_tiled_contig(TIFF *const tif, const uint16 samplesperpixel,
+                                 const uint32 nx, const uint32 ny, const uint32 tw, const uint32 th) {
+      t *const buf = (t*)_TIFFmalloc(TIFFTileSize(tif));
+      if (buf) {
+        for (unsigned int row = 0; row<ny; row+=th)
+          for (unsigned int col = 0; col<nx; col+=tw) {
+            if (TIFFReadTile(tif,buf,col,row,0,0)<0) {
+              _TIFFfree(buf); TIFFClose(tif);
+              throw CImgIOException(_cimg_instance
+                                    "load_tiff(): Invalid tile in file '%s'.",
+                                    cimg_instance,
+                                    TIFFFileName(tif));
+            }
+            const t *ptr = buf;
+            for (unsigned int rr = row; rr<cimg::min((unsigned int)(row + th),(unsigned int)ny); ++rr)
+              for (unsigned int cc = col; cc<cimg::min((unsigned int)(col + tw),(unsigned int)nx); ++cc)
+                for (unsigned int vv = 0; vv<samplesperpixel; ++vv)
+                  (*this)(cc,rr,vv) = (T)(ptr[(rr - row)*th*samplesperpixel + (cc - col)*samplesperpixel + vv]);
+          }
+        _TIFFfree(buf);
+      }
+    }
+
+    template<typename t>
+    void _load_tiff_tiled_separate(TIFF *const tif, const uint16 samplesperpixel,
+                                   const uint32 nx, const uint32 ny, const uint32 tw, const uint32 th) {
+      t *const buf = (t*)_TIFFmalloc(TIFFTileSize(tif));
+      if (buf) {
+        for (unsigned int vv = 0; vv<samplesperpixel; ++vv)
+          for (unsigned int row = 0; row<ny; row+=th)
+            for (unsigned int col = 0; col<nx; col+=tw) {
+              if (TIFFReadTile(tif,buf,col,row,0,vv)<0) {
+                _TIFFfree(buf); TIFFClose(tif);
+                throw CImgIOException(_cimg_instance
+                                      "load_tiff(): Invalid tile in file '%s'.",
+                                      cimg_instance,
+                                      TIFFFileName(tif));
+              }
+              const t *ptr = buf;
+              for (unsigned int rr = row; rr<cimg::min((unsigned int)(row + th),(unsigned int)ny); ++rr)
+                for (unsigned int cc = col; cc<cimg::min((unsigned int)(col + tw),(unsigned int)nx); ++cc)
+                  (*this)(cc,rr,vv) = (T)*(ptr++);
+            }
+        _TIFFfree(buf);
+      }
+    }
+
+    template<typename t>
+    void _load_tiff_contig(TIFF *const tif, const uint16 samplesperpixel, const uint32 nx, const uint32 ny) {
+      t *const buf = (t*)_TIFFmalloc(TIFFStripSize(tif));
+      if (buf) {
+        uint32 row, rowsperstrip = (uint32)-1;
+        TIFFGetField(tif,TIFFTAG_ROWSPERSTRIP,&rowsperstrip);
+        for (row = 0; row<ny; row+= rowsperstrip) {
+          uint32 nrow = (row + rowsperstrip>ny?ny - row:rowsperstrip);
+          tstrip_t strip = TIFFComputeStrip(tif, row, 0);
+          if ((TIFFReadEncodedStrip(tif,strip,buf,-1))<0) {
+            _TIFFfree(buf); TIFFClose(tif);
+            throw CImgIOException(_cimg_instance
+                                  "load_tiff(): Invalid strip in file '%s'.",
+                                  cimg_instance,
+                                  TIFFFileName(tif));
+          }
+          const t *ptr = buf;
+          for (unsigned int rr = 0; rr<nrow; ++rr)
+            for (unsigned int cc = 0; cc<nx; ++cc)
+              for (unsigned int vv = 0; vv<samplesperpixel; ++vv) (*this)(cc,row + rr,vv) = (T)*(ptr++);
+        }
+        _TIFFfree(buf);
+      }
+    }
+
+    template<typename t>
+    void _load_tiff_separate(TIFF *const tif, const uint16 samplesperpixel, const uint32 nx, const uint32 ny) {
+      t *buf = (t*)_TIFFmalloc(TIFFStripSize(tif));
+      if (buf) {
+        uint32 row, rowsperstrip = (uint32)-1;
+        TIFFGetField(tif,TIFFTAG_ROWSPERSTRIP,&rowsperstrip);
+        for (unsigned int vv = 0; vv<samplesperpixel; ++vv)
+          for (row = 0; row<ny; row+= rowsperstrip) {
+            uint32 nrow = (row + rowsperstrip>ny?ny - row:rowsperstrip);
+            tstrip_t strip = TIFFComputeStrip(tif, row, vv);
+            if ((TIFFReadEncodedStrip(tif,strip,buf,-1))<0) {
+              _TIFFfree(buf); TIFFClose(tif);
+              throw CImgIOException(_cimg_instance
+                                    "load_tiff(): Invalid strip in file '%s'.",
+                                    cimg_instance,
+                                    TIFFFileName(tif));
+            }
+            const t *ptr = buf;
+            for (unsigned int rr = 0;rr<nrow; ++rr)
+              for (unsigned int cc = 0; cc<nx; ++cc)
+                (*this)(cc,row + rr,vv) = (T)*(ptr++);
+          }
+        _TIFFfree(buf);
+      }
+    }
+
+    CImg<T>& _load_tiff(TIFF *const tif, const unsigned int directory,
+                        float *const voxel_size, CImg<charT> *const description) {
+      if (!TIFFSetDirectory(tif,directory)) return assign();
+      uint16 samplesperpixel = 1, bitspersample = 8, photo = 0;
+      uint16 sampleformat = 1;
+      uint32 nx = 1, ny = 1;
+      const char *const filename = TIFFFileName(tif);
+      const bool is_spp = (bool)TIFFGetField(tif,TIFFTAG_SAMPLESPERPIXEL,&samplesperpixel);
+      TIFFGetField(tif,TIFFTAG_IMAGEWIDTH,&nx);
+      TIFFGetField(tif,TIFFTAG_IMAGELENGTH,&ny);
+      TIFFGetField(tif, TIFFTAG_SAMPLEFORMAT, &sampleformat);
+      TIFFGetFieldDefaulted(tif,TIFFTAG_BITSPERSAMPLE,&bitspersample);
+      TIFFGetField(tif,TIFFTAG_PHOTOMETRIC,&photo);
+      if (voxel_size) {
+        const char *s_description = 0;
+        float vx = 0, vy = 0, vz = 0;
+        if (TIFFGetField(tif,TIFFTAG_IMAGEDESCRIPTION,&s_description) && s_description) {
+          const char *s_desc = std::strstr(s_description,"VX=");
+          if (s_desc && cimg_sscanf(s_desc,"VX=%f VY=%f VZ=%f",&vx,&vy,&vz)==3) { // CImg format.
+            voxel_size[0] = vx; voxel_size[1] = vy; voxel_size[2] = vz;
+          }
+          s_desc = std::strstr(s_description,"spacing=");
+          if (s_desc && cimg_sscanf(s_desc,"spacing=%f",&vz)==1) { // fiji format.
+            voxel_size[2] = vz;
+          }
+        }
+        TIFFGetField(tif,TIFFTAG_XRESOLUTION,voxel_size);
+        TIFFGetField(tif,TIFFTAG_YRESOLUTION,voxel_size + 1);
+        voxel_size[0] = 1.0f/voxel_size[0];
+        voxel_size[1] = 1.0f/voxel_size[1];
+      }
+      if (description) {
+        const char *s_description = 0;
+        if (TIFFGetField(tif,TIFFTAG_IMAGEDESCRIPTION,&s_description) && s_description)
+          CImg<charT>::string(s_description).move_to(*description);
+      }
+      const unsigned int spectrum = is_spp?samplesperpixel:photo==3?3:1;
+      assign(nx,ny,1,spectrum);
+
+      if (photo>=3 && sampleformat==1 && bitspersample==8 && (samplesperpixel==3 || samplesperpixel==4)) {
+        // Special case for unsigned color images.
+        uint32 *const raster = (uint32*)_TIFFmalloc(nx*ny*sizeof(uint32));
+        if (!raster) {
+          _TIFFfree(raster); TIFFClose(tif);
+          throw CImgException(_cimg_instance
+                              "load_tiff(): Failed to allocate memory (%s) for file '%s'.",
+                              cimg_instance,
+                              cimg::strbuffersize(nx*ny*sizeof(uint32)),filename);
+        }
+        TIFFReadRGBAImage(tif,nx,ny,raster,0);
+        switch (spectrum) {
+        case 1 : {
+          cimg_forXY(*this,x,y) (*this)(x,y) = (T)(float)((raster[nx*(ny - 1 - y) + x] + 128)/257);
+        } break;
+        case 3 : {
+          cimg_forXY(*this,x,y) {
+            (*this)(x,y,0) = (T)(float)TIFFGetR(raster[nx*(ny - 1 -y) + x]);
+            (*this)(x,y,1) = (T)(float)TIFFGetG(raster[nx*(ny - 1 -y) + x]);
+            (*this)(x,y,2) = (T)(float)TIFFGetB(raster[nx*(ny - 1 -y) + x]);
+          }
+        } break;
+        case 4 : {
+          cimg_forXY(*this,x,y) {
+            (*this)(x,y,0) = (T)(float)TIFFGetR(raster[nx*(ny - 1 - y) + x]);
+            (*this)(x,y,1) = (T)(float)TIFFGetG(raster[nx*(ny - 1 - y) + x]);
+            (*this)(x,y,2) = (T)(float)TIFFGetB(raster[nx*(ny - 1 - y) + x]);
+            (*this)(x,y,3) = (T)(float)TIFFGetA(raster[nx*(ny - 1 - y) + x]);
+          }
+        } break;
+        }
+        _TIFFfree(raster);
+      } else { // Other cases.
+        uint16 config;
+        TIFFGetField(tif,TIFFTAG_PLANARCONFIG,&config);
+        if (TIFFIsTiled(tif)) {
+          uint32 tw = 1, th = 1;
+          TIFFGetField(tif,TIFFTAG_TILEWIDTH,&tw);
+          TIFFGetField(tif,TIFFTAG_TILELENGTH,&th);
+          if (config==PLANARCONFIG_CONTIG) switch (bitspersample) {
+            case 8 : {
+              if (sampleformat==SAMPLEFORMAT_UINT)
+                _load_tiff_tiled_contig<unsigned char>(tif,samplesperpixel,nx,ny,tw,th);
+              else _load_tiff_tiled_contig<signed char>(tif,samplesperpixel,nx,ny,tw,th);
+            } break;
+            case 16 :
+              if (sampleformat==SAMPLEFORMAT_UINT)
+                _load_tiff_tiled_contig<unsigned short>(tif,samplesperpixel,nx,ny,tw,th);
+              else _load_tiff_tiled_contig<short>(tif,samplesperpixel,nx,ny,tw,th);
+              break;
+            case 32 :
+              if (sampleformat==SAMPLEFORMAT_UINT)
+                _load_tiff_tiled_contig<unsigned int>(tif,samplesperpixel,nx,ny,tw,th);
+              else if (sampleformat==SAMPLEFORMAT_INT)
+                _load_tiff_tiled_contig<int>(tif,samplesperpixel,nx,ny,tw,th);
+              else _load_tiff_tiled_contig<float>(tif,samplesperpixel,nx,ny,tw,th);
+              break;
+            } else switch (bitspersample) {
+            case 8 :
+              if (sampleformat==SAMPLEFORMAT_UINT)
+                _load_tiff_tiled_separate<unsigned char>(tif,samplesperpixel,nx,ny,tw,th);
+              else _load_tiff_tiled_separate<signed char>(tif,samplesperpixel,nx,ny,tw,th);
+              break;
+            case 16 :
+              if (sampleformat==SAMPLEFORMAT_UINT)
+                _load_tiff_tiled_separate<unsigned short>(tif,samplesperpixel,nx,ny,tw,th);
+              else _load_tiff_tiled_separate<short>(tif,samplesperpixel,nx,ny,tw,th);
+              break;
+            case 32 :
+              if (sampleformat==SAMPLEFORMAT_UINT)
+                _load_tiff_tiled_separate<unsigned int>(tif,samplesperpixel,nx,ny,tw,th);
+              else if (sampleformat==SAMPLEFORMAT_INT)
+                _load_tiff_tiled_separate<int>(tif,samplesperpixel,nx,ny,tw,th);
+              else _load_tiff_tiled_separate<float>(tif,samplesperpixel,nx,ny,tw,th);
+              break;
+            }
+        } else {
+          if (config==PLANARCONFIG_CONTIG) switch (bitspersample) {
+            case 8 :
+              if (sampleformat==SAMPLEFORMAT_UINT)
+                _load_tiff_contig<unsigned char>(tif,samplesperpixel,nx,ny);
+              else _load_tiff_contig<signed char>(tif,samplesperpixel,nx,ny);
+              break;
+            case 16 :
+              if (sampleformat==SAMPLEFORMAT_UINT) _load_tiff_contig<unsigned short>(tif,samplesperpixel,nx,ny);
+              else _load_tiff_contig<short>(tif,samplesperpixel,nx,ny);
+              break;
+            case 32 :
+              if (sampleformat==SAMPLEFORMAT_UINT) _load_tiff_contig<unsigned int>(tif,samplesperpixel,nx,ny);
+              else if (sampleformat==SAMPLEFORMAT_INT) _load_tiff_contig<int>(tif,samplesperpixel,nx,ny);
+              else _load_tiff_contig<float>(tif,samplesperpixel,nx,ny);
+              break;
+            } else switch (bitspersample) {
+            case 8 :
+              if (sampleformat==SAMPLEFORMAT_UINT) _load_tiff_separate<unsigned char>(tif,samplesperpixel,nx,ny);
+              else _load_tiff_separate<signed char>(tif,samplesperpixel,nx,ny);
+              break;
+            case 16 :
+              if (sampleformat==SAMPLEFORMAT_UINT) _load_tiff_separate<unsigned short>(tif,samplesperpixel,nx,ny);
+              else _load_tiff_separate<short>(tif,samplesperpixel,nx,ny);
+              break;
+            case 32 :
+              if (sampleformat==SAMPLEFORMAT_UINT) _load_tiff_separate<unsigned int>(tif,samplesperpixel,nx,ny);
+              else if (sampleformat==SAMPLEFORMAT_INT) _load_tiff_separate<int>(tif,samplesperpixel,nx,ny);
+              else _load_tiff_separate<float>(tif,samplesperpixel,nx,ny);
+              break;
+            }
+        }
+      }
+      return *this;
+    }
+#endif
+
+    //! Load image from a MINC2 file.
+    /**
+        \param filename Filename, as a C-string.
+    **/
+    // (Original code by Haz-Edine Assemlal).
+    CImg<T>& load_minc2(const char *const filename) {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_minc2(): Specified filename is (null).",
+                                    cimg_instance);
+#ifndef cimg_use_minc2
+      return load_other(filename);
+#else
+      minc::minc_1_reader rdr;
+      rdr.open(filename);
+      assign(rdr.ndim(1)?rdr.ndim(1):1,
+             rdr.ndim(2)?rdr.ndim(2):1,
+             rdr.ndim(3)?rdr.ndim(3):1,
+             rdr.ndim(4)?rdr.ndim(4):1);
+      if(typeid(T)==typeid(unsigned char))
+        rdr.setup_read_byte();
+      else if(typeid(T)==typeid(int))
+        rdr.setup_read_int();
+      else if(typeid(T)==typeid(double))
+        rdr.setup_read_double();
+      else
+        rdr.setup_read_float();
+      minc::load_standard_volume(rdr, this->_data);
+      return *this;
+#endif
+    }
+
+    //! Load image from a MINC2 file \newinstance.
+    static CImg<T> get_load_minc2(const char *const filename) {
+      return CImg<T>().load_analyze(filename);
+    }
+
+    //! Load image from an ANALYZE7.5/NIFTI file.
+    /**
+       \param filename Filename, as a C-string.
+       \param[out] voxel_size Pointer to the three voxel sizes read from the file.
+    **/
+    CImg<T>& load_analyze(const char *const filename, float *const voxel_size=0) {
+      return _load_analyze(0,filename,voxel_size);
+    }
+
+    //! Load image from an ANALYZE7.5/NIFTI file \newinstance.
+    static CImg<T> get_load_analyze(const char *const filename, float *const voxel_size=0) {
+      return CImg<T>().load_analyze(filename,voxel_size);
+    }
+
+    //! Load image from an ANALYZE7.5/NIFTI file \overloading.
+    CImg<T>& load_analyze(std::FILE *const file, float *const voxel_size=0) {
+      return _load_analyze(file,0,voxel_size);
+    }
+
+    //! Load image from an ANALYZE7.5/NIFTI file \newinstance.
+    static CImg<T> get_load_analyze(std::FILE *const file, float *const voxel_size=0) {
+      return CImg<T>().load_analyze(file,voxel_size);
+    }
+
+    CImg<T>& _load_analyze(std::FILE *const file, const char *const filename, float *const voxel_size=0) {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_analyze(): Specified filename is (null).",
+                                    cimg_instance);
+
+      std::FILE *nfile_header = 0, *nfile = 0;
+      if (!file) {
+        CImg<charT> body(1024);
+        const char *const ext = cimg::split_filename(filename,body);
+        if (!cimg::strcasecmp(ext,"hdr")) { // File is an Analyze header file.
+          nfile_header = cimg::fopen(filename,"rb");
+          cimg_sprintf(body._data + std::strlen(body),".img");
+          nfile = cimg::fopen(body,"rb");
+        } else if (!cimg::strcasecmp(ext,"img")) { // File is an Analyze data file.
+          nfile = cimg::fopen(filename,"rb");
+          cimg_sprintf(body._data + std::strlen(body),".hdr");
+          nfile_header = cimg::fopen(body,"rb");
+        } else nfile_header = nfile = cimg::fopen(filename,"rb"); // File is a Niftii file.
+      } else nfile_header = nfile = file; // File is a Niftii file.
+      if (!nfile || !nfile_header)
+        throw CImgIOException(_cimg_instance
+                              "load_analyze(): Invalid Analyze7.5 or NIFTI header in file '%s'.",
+                              cimg_instance,
+                              filename?filename:"(FILE*)");
+
+      // Read header.
+      bool endian = false;
+      unsigned int header_size;
+      cimg::fread(&header_size,1,nfile_header);
+      if (!header_size)
+        throw CImgIOException(_cimg_instance
+                              "load_analyze(): Invalid zero-sized header in file '%s'.",
+                              cimg_instance,
+                              filename?filename:"(FILE*)");
+
+      if (header_size>=4096) { endian = true; cimg::invert_endianness(header_size); }
+      unsigned char *const header = new unsigned char[header_size];
+      cimg::fread(header + 4,header_size - 4,nfile_header);
+      if (!file && nfile_header!=nfile) cimg::fclose(nfile_header);
+      if (endian) {
+        cimg::invert_endianness((short*)(header + 40),5);
+        cimg::invert_endianness((short*)(header + 70),1);
+        cimg::invert_endianness((short*)(header + 72),1);
+        cimg::invert_endianness((float*)(header + 76),4);
+        cimg::invert_endianness((float*)(header + 112),1);
+      }
+      unsigned short *dim = (unsigned short*)(header + 40), dimx = 1, dimy = 1, dimz = 1, dimv = 1;
+      if (!dim[0])
+        cimg::warn(_cimg_instance
+                   "load_analyze(): File '%s' defines an image with zero dimensions.",
+                   cimg_instance,
+                   filename?filename:"(FILE*)");
+
+      if (dim[0]>4)
+        cimg::warn(_cimg_instance
+                   "load_analyze(): File '%s' defines an image with %u dimensions, reading only the 4 first.",
+                   cimg_instance,
+                   filename?filename:"(FILE*)",dim[0]);
+
+      if (dim[0]>=1) dimx = dim[1];
+      if (dim[0]>=2) dimy = dim[2];
+      if (dim[0]>=3) dimz = dim[3];
+      if (dim[0]>=4) dimv = dim[4];
+      float scalefactor = *(float*)(header + 112); if (scalefactor==0) scalefactor=1;
+      const unsigned short datatype = *(unsigned short*)(header + 70);
+      if (voxel_size) {
+        const float *vsize = (float*)(header + 76);
+        voxel_size[0] = vsize[1]; voxel_size[1] = vsize[2]; voxel_size[2] = vsize[3];
+      }
+      delete[] header;
+
+      // Read pixel data.
+      assign(dimx,dimy,dimz,dimv);
+      switch (datatype) {
+      case 2 : {
+        unsigned char *const buffer = new unsigned char[(unsigned int)dimx*dimy*dimz*dimv];
+        cimg::fread(buffer,dimx*dimy*dimz*dimv,nfile);
+        cimg_foroff(*this,off) _data[off] = (T)(buffer[off]*scalefactor);
+        delete[] buffer;
+      } break;
+      case 4 : {
+        short *const buffer = new short[(unsigned int)dimx*dimy*dimz*dimv];
+        cimg::fread(buffer,dimx*dimy*dimz*dimv,nfile);
+        if (endian) cimg::invert_endianness(buffer,dimx*dimy*dimz*dimv);
+        cimg_foroff(*this,off) _data[off] = (T)(buffer[off]*scalefactor);
+        delete[] buffer;
+      } break;
+      case 8 : {
+        int *const buffer = new int[(unsigned int)dimx*dimy*dimz*dimv];
+        cimg::fread(buffer,dimx*dimy*dimz*dimv,nfile);
+        if (endian) cimg::invert_endianness(buffer,dimx*dimy*dimz*dimv);
+        cimg_foroff(*this,off) _data[off] = (T)(buffer[off]*scalefactor);
+        delete[] buffer;
+      } break;
+      case 16 : {
+        float *const buffer = new float[(unsigned int)dimx*dimy*dimz*dimv];
+        cimg::fread(buffer,dimx*dimy*dimz*dimv,nfile);
+        if (endian) cimg::invert_endianness(buffer,dimx*dimy*dimz*dimv);
+        cimg_foroff(*this,off) _data[off] = (T)(buffer[off]*scalefactor);
+        delete[] buffer;
+      } break;
+      case 64 : {
+        double *const buffer = new double[(unsigned int)dimx*dimy*dimz*dimv];
+        cimg::fread(buffer,dimx*dimy*dimz*dimv,nfile);
+        if (endian) cimg::invert_endianness(buffer,dimx*dimy*dimz*dimv);
+        cimg_foroff(*this,off) _data[off] = (T)(buffer[off]*scalefactor);
+        delete[] buffer;
+      } break;
+      default :
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimg_instance
+                              "load_analyze(): Unable to load datatype %d in file '%s'",
+                              cimg_instance,
+                              datatype,filename?filename:"(FILE*)");
+      }
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Load image from a .cimg[z] file.
+    /**
+      \param filename Filename, as a C-string.
+      \param axis Appending axis, if file contains multiple images. Can be <tt>{ 'x' | 'y' | 'z' | 'c' }</tt>.
+      \param align Appending alignment.
+    **/
+    CImg<T>& load_cimg(const char *const filename, const char axis='z', const float align=0) {
+      CImgList<T> list;
+      list.load_cimg(filename);
+      if (list._width==1) return list[0].move_to(*this);
+      return assign(list.get_append(axis,align));
+    }
+
+    //! Load image from a .cimg[z] file \newinstance
+    static CImg<T> get_load_cimg(const char *const filename, const char axis='z', const float align=0) {
+      return CImg<T>().load_cimg(filename,axis,align);
+    }
+
+    //! Load image from a .cimg[z] file \overloading.
+    CImg<T>& load_cimg(std::FILE *const file, const char axis='z', const float align=0) {
+      CImgList<T> list;
+      list.load_cimg(file);
+      if (list._width==1) return list[0].move_to(*this);
+      return assign(list.get_append(axis,align));
+    }
+
+    //! Load image from a .cimg[z] file \newinstance
+    static CImg<T> get_load_cimg(std::FILE *const file, const char axis='z', const float align=0) {
+      return CImg<T>().load_cimg(file,axis,align);
+    }
+
+    //! Load sub-images of a .cimg file.
+    /**
+      \param filename Filename, as a C-string.
+      \param n0 Starting frame.
+      \param n1 Ending frame (~0U for max).
+      \param x0 X-coordinate of the starting sub-image vertex.
+      \param y0 Y-coordinate of the starting sub-image vertex.
+      \param z0 Z-coordinate of the starting sub-image vertex.
+      \param c0 C-coordinate of the starting sub-image vertex.
+      \param x1 X-coordinate of the ending sub-image vertex (~0U for max).
+      \param y1 Y-coordinate of the ending sub-image vertex (~0U for max).
+      \param z1 Z-coordinate of the ending sub-image vertex (~0U for max).
+      \param c1 C-coordinate of the ending sub-image vertex (~0U for max).
+      \param axis Appending axis, if file contains multiple images. Can be <tt>{ 'x' | 'y' | 'z' | 'c' }</tt>.
+      \param align Appending alignment.
+    **/
+    CImg<T>& load_cimg(const char *const filename,
+                       const unsigned int n0, const unsigned int n1,
+                       const unsigned int x0, const unsigned int y0,
+                       const unsigned int z0, const unsigned int c0,
+                       const unsigned int x1, const unsigned int y1,
+                       const unsigned int z1, const unsigned int c1,
+                       const char axis='z', const float align=0) {
+      CImgList<T> list;
+      list.load_cimg(filename,n0,n1,x0,y0,z0,c0,x1,y1,z1,c1);
+      if (list._width==1) return list[0].move_to(*this);
+      return assign(list.get_append(axis,align));
+    }
+
+    //! Load sub-images of a .cimg file \newinstance.
+    static CImg<T> get_load_cimg(const char *const filename,
+                                 const unsigned int n0, const unsigned int n1,
+                                 const unsigned int x0, const unsigned int y0,
+                                 const unsigned int z0, const unsigned int c0,
+                                 const unsigned int x1, const unsigned int y1,
+                                 const unsigned int z1, const unsigned int c1,
+                                 const char axis='z', const float align=0) {
+      return CImg<T>().load_cimg(filename,n0,n1,x0,y0,z0,c0,x1,y1,z1,c1,axis,align);
+    }
+
+    //! Load sub-images of a .cimg file \overloading.
+    CImg<T>& load_cimg(std::FILE *const file,
+                       const unsigned int n0, const unsigned int n1,
+                       const unsigned int x0, const unsigned int y0,
+                       const unsigned int z0, const unsigned int c0,
+                       const unsigned int x1, const unsigned int y1,
+                       const unsigned int z1, const unsigned int c1,
+                       const char axis='z', const float align=0) {
+      CImgList<T> list;
+      list.load_cimg(file,n0,n1,x0,y0,z0,c0,x1,y1,z1,c1);
+      if (list._width==1) return list[0].move_to(*this);
+      return assign(list.get_append(axis,align));
+    }
+
+    //! Load sub-images of a .cimg file \newinstance.
+    static CImg<T> get_load_cimg(std::FILE *const file,
+                                 const unsigned int n0, const unsigned int n1,
+                                 const unsigned int x0, const unsigned int y0,
+                                 const unsigned int z0, const unsigned int c0,
+                                 const unsigned int x1, const unsigned int y1,
+                                 const unsigned int z1, const unsigned int c1,
+                                 const char axis='z', const float align=0) {
+      return CImg<T>().load_cimg(file,n0,n1,x0,y0,z0,c0,x1,y1,z1,c1,axis,align);
+    }
+
+    //! Load image from an INRIMAGE-4 file.
+    /**
+       \param filename Filename, as a C-string.
+       \param[out] voxel_size Pointer to the three voxel sizes read from the file.
+    **/
+    CImg<T>& load_inr(const char *const filename, float *const voxel_size=0) {
+      return _load_inr(0,filename,voxel_size);
+    }
+
+    //! Load image from an INRIMAGE-4 file \newinstance.
+    static CImg<T> get_load_inr(const char *const filename, float *const voxel_size=0) {
+      return CImg<T>().load_inr(filename,voxel_size);
+    }
+
+    //! Load image from an INRIMAGE-4 file \overloading.
+    CImg<T>& load_inr(std::FILE *const file, float *const voxel_size=0) {
+      return _load_inr(file,0,voxel_size);
+    }
+
+    //! Load image from an INRIMAGE-4 file \newinstance.
+    static CImg<T> get_load_inr(std::FILE *const file, float *voxel_size=0) {
+      return CImg<T>().load_inr(file,voxel_size);
+    }
+
+    static void _load_inr_header(std::FILE *file, int out[8], float *const voxel_size) {
+      CImg<charT> item(1024); *item = 0;
+      char tmp1[64] = { 0 }, tmp2[64] = { 0 };
+      out[0] = std::fscanf(file,"%63s",item._data);
+      out[0] = out[1] = out[2] = out[3] = out[5] = 1; out[4] = out[6] = out[7] = -1;
+      if(cimg::strncasecmp(item,"#INRIMAGE-4#{",13)!=0)
+        throw CImgIOException("CImg<%s>::load_inr(): INRIMAGE-4 header not found.",
+                              pixel_type());
+
+      while (std::fscanf(file," %63[^\n]%*c",item._data)!=EOF && std::strncmp(item,"##}",3)) {
+        cimg_sscanf(item," XDIM%*[^0-9]%d",out);
+        cimg_sscanf(item," YDIM%*[^0-9]%d",out + 1);
+        cimg_sscanf(item," ZDIM%*[^0-9]%d",out + 2);
+        cimg_sscanf(item," VDIM%*[^0-9]%d",out + 3);
+        cimg_sscanf(item," PIXSIZE%*[^0-9]%d",out + 6);
+        if (voxel_size) {
+          cimg_sscanf(item," VX%*[^0-9.+-]%f",voxel_size);
+          cimg_sscanf(item," VY%*[^0-9.+-]%f",voxel_size + 1);
+          cimg_sscanf(item," VZ%*[^0-9.+-]%f",voxel_size + 2);
+        }
+        if (cimg_sscanf(item," CPU%*[ =]%s",tmp1)) out[7]=cimg::strncasecmp(tmp1,"sun",3)?0:1;
+        switch (cimg_sscanf(item," TYPE%*[ =]%s %s",tmp1,tmp2)) {
+        case 0 : break;
+        case 2 : out[5] = cimg::strncasecmp(tmp1,"unsigned",8)?1:0; std::strncpy(tmp1,tmp2,sizeof(tmp1) - 1);
+        case 1 :
+          if (!cimg::strncasecmp(tmp1,"int",3)   || !cimg::strncasecmp(tmp1,"fixed",5))  out[4] = 0;
+          if (!cimg::strncasecmp(tmp1,"float",5) || !cimg::strncasecmp(tmp1,"double",6)) out[4] = 1;
+          if (!cimg::strncasecmp(tmp1,"packed",6))                                       out[4] = 2;
+          if (out[4]>=0) break;
+        default :
+          throw CImgIOException("CImg<%s>::load_inr(): Invalid pixel type '%s' defined in header.",
+                                pixel_type(),
+                                tmp2);
+        }
+      }
+      if(out[0]<0 || out[1]<0 || out[2]<0 || out[3]<0)
+        throw CImgIOException("CImg<%s>::load_inr(): Invalid dimensions (%d,%d,%d,%d) defined in header.",
+                              pixel_type(),
+                              out[0],out[1],out[2],out[3]);
+      if(out[4]<0 || out[5]<0)
+        throw CImgIOException("CImg<%s>::load_inr(): Incomplete pixel type defined in header.",
+                              pixel_type());
+      if(out[6]<0)
+        throw CImgIOException("CImg<%s>::load_inr(): Incomplete PIXSIZE field defined in header.",
+                              pixel_type());
+      if(out[7]<0)
+        throw CImgIOException("CImg<%s>::load_inr(): Big/Little Endian coding type undefined in header.",
+                              pixel_type());
+    }
+
+    CImg<T>& _load_inr(std::FILE *const file, const char *const filename, float *const voxel_size) {
+#define _cimg_load_inr_case(Tf,sign,pixsize,Ts) \
+     if (!loaded && fopt[6]==pixsize && fopt[4]==Tf && fopt[5]==sign) { \
+        Ts *xval, *const val = new Ts[(unsigned int)fopt[0]*fopt[3]]; \
+        cimg_forYZ(*this,y,z) { \
+            cimg::fread(val,fopt[0]*fopt[3],nfile); \
+            if (fopt[7]!=endian) cimg::invert_endianness(val,fopt[0]*fopt[3]); \
+            xval = val; cimg_forX(*this,x) cimg_forC(*this,c) (*this)(x,y,z,c) = (T)*(xval++); \
+          } \
+        delete[] val; \
+        loaded = true; \
+      }
+
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_inr(): Specified filename is (null).",
+                                    cimg_instance);
+
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"rb");
+      int fopt[8], endian=cimg::endianness()?1:0;
+      bool loaded = false;
+      if (voxel_size) voxel_size[0] = voxel_size[1] = voxel_size[2] = 1;
+      _load_inr_header(nfile,fopt,voxel_size);
+      assign(fopt[0],fopt[1],fopt[2],fopt[3]);
+      _cimg_load_inr_case(0,0,8,unsigned char);
+      _cimg_load_inr_case(0,1,8,char);
+      _cimg_load_inr_case(0,0,16,unsigned short);
+      _cimg_load_inr_case(0,1,16,short);
+      _cimg_load_inr_case(0,0,32,unsigned int);
+      _cimg_load_inr_case(0,1,32,int);
+      _cimg_load_inr_case(1,0,32,float);
+      _cimg_load_inr_case(1,1,32,float);
+      _cimg_load_inr_case(1,0,64,double);
+      _cimg_load_inr_case(1,1,64,double);
+      if (!loaded) {
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimg_instance
+                              "load_inr(): Unknown pixel type defined in file '%s'.",
+                              cimg_instance,
+                              filename?filename:"(FILE*)");
+      }
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Load image from a EXR file.
+    /**
+      \param filename Filename, as a C-string.
+    **/
+    CImg<T>& load_exr(const char *const filename) {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_exr(): Specified filename is (null).",
+                                    cimg_instance);
+
+#ifndef cimg_use_openexr
+      return load_other(filename);
+#else
+      Imf::RgbaInputFile file(filename);
+      Imath::Box2i dw = file.dataWindow();
+      const int
+        inwidth = dw.max.x - dw.min.x + 1,
+        inheight = dw.max.y - dw.min.y + 1;
+      Imf::Array2D<Imf::Rgba> pixels;
+      pixels.resizeErase(inheight,inwidth);
+      file.setFrameBuffer(&pixels[0][0] - dw.min.x - dw.min.y*inwidth, 1, inwidth);
+      file.readPixels(dw.min.y, dw.max.y);
+      assign(inwidth,inheight,1,4);
+      T *ptr_r = data(0,0,0,0), *ptr_g = data(0,0,0,1), *ptr_b = data(0,0,0,2), *ptr_a = data(0,0,0,3);
+      cimg_forXY(*this,x,y) {
+        *(ptr_r++) = (T)pixels[y][x].r;
+        *(ptr_g++) = (T)pixels[y][x].g;
+        *(ptr_b++) = (T)pixels[y][x].b;
+        *(ptr_a++) = (T)pixels[y][x].a;
+      }
+      return *this;
+#endif
+    }
+
+    //! Load image from a EXR file \newinstance.
+    static CImg<T> get_load_exr(const char *const filename) {
+      return CImg<T>().load_exr(filename);
+    }
+
+    //! Load image from a PANDORE-5 file.
+    /**
+      \param filename Filename, as a C-string.
+    **/
+    CImg<T>& load_pandore(const char *const filename) {
+      return _load_pandore(0,filename);
+    }
+
+    //! Load image from a PANDORE-5 file \newinstance.
+    static CImg<T> get_load_pandore(const char *const filename) {
+      return CImg<T>().load_pandore(filename);
+    }
+
+    //! Load image from a PANDORE-5 file \overloading.
+    CImg<T>& load_pandore(std::FILE *const file) {
+      return _load_pandore(file,0);
+    }
+
+    //! Load image from a PANDORE-5 file \newinstance.
+    static CImg<T> get_load_pandore(std::FILE *const file) {
+      return CImg<T>().load_pandore(file);
+    }
+
+    CImg<T>& _load_pandore(std::FILE *const file, const char *const filename) {
+#define __cimg_load_pandore_case(nbdim,nwidth,nheight,ndepth,ndim,stype) \
+        cimg::fread(dims,nbdim,nfile); \
+        if (endian) cimg::invert_endianness(dims,nbdim); \
+        assign(nwidth,nheight,ndepth,ndim); \
+        const unsigned int siz = size(); \
+        stype *buffer = new stype[siz]; \
+        cimg::fread(buffer,siz,nfile); \
+        if (endian) cimg::invert_endianness(buffer,siz); \
+        T *ptrd = _data; \
+        cimg_foroff(*this,off) *(ptrd++) = (T)*(buffer++); \
+        buffer-=siz; \
+        delete[] buffer
+
+#define _cimg_load_pandore_case(nbdim,nwidth,nheight,ndepth,dim,stype1,stype2,stype3,ltype) { \
+        if (sizeof(stype1)==ltype) { __cimg_load_pandore_case(nbdim,nwidth,nheight,ndepth,dim,stype1); } \
+        else if (sizeof(stype2)==ltype) { __cimg_load_pandore_case(nbdim,nwidth,nheight,ndepth,dim,stype2); } \
+        else if (sizeof(stype3)==ltype) { __cimg_load_pandore_case(nbdim,nwidth,nheight,ndepth,dim,stype3); } \
+        else throw CImgIOException(_cimg_instance \
+                                   "load_pandore(): Unknown pixel datatype in file '%s'.", \
+                                   cimg_instance, \
+                                   filename?filename:"(FILE*)"); }
+
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_pandore(): Specified filename is (null).",
+                                    cimg_instance);
+
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"rb");
+      char header[32] = { 0 };
+      cimg::fread(header,12,nfile);
+      if (cimg::strncasecmp("PANDORE",header,7)) {
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimg_instance
+                              "load_pandore(): PANDORE header not found in file '%s'.",
+                              cimg_instance,
+                              filename?filename:"(FILE*)");
+      }
+      unsigned int imageid, dims[8] = { 0 };
+      cimg::fread(&imageid,1,nfile);
+      const bool endian = imageid>255;
+      if (endian) cimg::invert_endianness(imageid);
+      cimg::fread(header,20,nfile);
+
+      switch (imageid) {
+      case 2 : _cimg_load_pandore_case(2,dims[1],1,1,1,unsigned char,unsigned char,unsigned char,1); break;
+      case 3 : _cimg_load_pandore_case(2,dims[1],1,1,1,long,int,short,4); break;
+      case 4 : _cimg_load_pandore_case(2,dims[1],1,1,1,double,float,float,4); break;
+      case 5 : _cimg_load_pandore_case(3,dims[2],dims[1],1,1,unsigned char,unsigned char,unsigned char,1); break;
+      case 6 : _cimg_load_pandore_case(3,dims[2],dims[1],1,1,long,int,short,4); break;
+      case 7 : _cimg_load_pandore_case(3,dims[2],dims[1],1,1,double,float,float,4); break;
+      case 8 : _cimg_load_pandore_case(4,dims[3],dims[2],dims[1],1,unsigned char,unsigned char,unsigned char,1); break;
+      case 9 : _cimg_load_pandore_case(4,dims[3],dims[2],dims[1],1,long,int,short,4); break;
+      case 10 : _cimg_load_pandore_case(4,dims[3],dims[2],dims[1],1,double,float,float,4); break;
+      case 11 : { // Region 1d
+        cimg::fread(dims,3,nfile);
+        if (endian) cimg::invert_endianness(dims,3);
+        assign(dims[1],1,1,1);
+        const unsigned siz = size();
+        if (dims[2]<256) {
+          unsigned char *buffer = new unsigned char[siz];
+          cimg::fread(buffer,siz,nfile);
+          T *ptrd = _data;
+          cimg_foroff(*this,off) *(ptrd++) = (T)*(buffer++);
+          buffer-=siz;
+          delete[] buffer;
+        } else {
+          if (dims[2]<65536) {
+            unsigned short *buffer = new unsigned short[siz];
+            cimg::fread(buffer,siz,nfile);
+            if (endian) cimg::invert_endianness(buffer,siz);
+            T *ptrd = _data;
+            cimg_foroff(*this,off) *(ptrd++) = (T)*(buffer++);
+            buffer-=siz;
+            delete[] buffer;
+          } else {
+            unsigned int *buffer = new unsigned int[siz];
+            cimg::fread(buffer,siz,nfile);
+            if (endian) cimg::invert_endianness(buffer,siz);
+            T *ptrd = _data;
+            cimg_foroff(*this,off) *(ptrd++) = (T)*(buffer++);
+            buffer-=siz;
+            delete[] buffer;
+          }
+        }
+      }
+        break;
+      case 12 : { // Region 2d
+        cimg::fread(dims,4,nfile);
+        if (endian) cimg::invert_endianness(dims,4);
+        assign(dims[2],dims[1],1,1);
+        const unsigned int siz = size();
+        if (dims[3]<256) {
+          unsigned char *buffer = new unsigned char[siz];
+          cimg::fread(buffer,siz,nfile);
+          T *ptrd = _data;
+          cimg_foroff(*this,off) *(ptrd++) = (T)*(buffer++);
+          buffer-=siz;
+          delete[] buffer;
+        } else {
+          if (dims[3]<65536) {
+            unsigned short *buffer = new unsigned short[siz];
+            cimg::fread(buffer,siz,nfile);
+            if (endian) cimg::invert_endianness(buffer,siz);
+            T *ptrd = _data;
+            cimg_foroff(*this,off) *(ptrd++) = (T)*(buffer++);
+            buffer-=siz;
+            delete[] buffer;
+          } else {
+            unsigned long *buffer = new unsigned long[siz];
+            cimg::fread(buffer,siz,nfile);
+            if (endian) cimg::invert_endianness(buffer,siz);
+            T *ptrd = _data;
+            cimg_foroff(*this,off) *(ptrd++) = (T)*(buffer++);
+            buffer-=siz;
+            delete[] buffer;
+          }
+        }
+      }
+        break;
+      case 13 : { // Region 3d
+        cimg::fread(dims,5,nfile);
+        if (endian) cimg::invert_endianness(dims,5);
+        assign(dims[3],dims[2],dims[1],1);
+        const unsigned int siz = size();
+        if (dims[4]<256) {
+          unsigned char *buffer = new unsigned char[siz];
+          cimg::fread(buffer,siz,nfile);
+          T *ptrd = _data;
+          cimg_foroff(*this,off) *(ptrd++) = (T)*(buffer++);
+          buffer-=siz;
+          delete[] buffer;
+        } else {
+          if (dims[4]<65536) {
+            unsigned short *buffer = new unsigned short[siz];
+            cimg::fread(buffer,siz,nfile);
+            if (endian) cimg::invert_endianness(buffer,siz);
+            T *ptrd = _data;
+            cimg_foroff(*this,off) *(ptrd++) = (T)*(buffer++);
+            buffer-=siz;
+            delete[] buffer;
+          } else {
+            unsigned int *buffer = new unsigned int[siz];
+            cimg::fread(buffer,siz,nfile);
+            if (endian) cimg::invert_endianness(buffer,siz);
+            T *ptrd = _data;
+            cimg_foroff(*this,off) *(ptrd++) = (T)*(buffer++);
+            buffer-=siz;
+            delete[] buffer;
+          }
+        }
+      }
+        break;
+      case 16 : _cimg_load_pandore_case(4,dims[2],dims[1],1,3,unsigned char,unsigned char,unsigned char,1); break;
+      case 17 : _cimg_load_pandore_case(4,dims[2],dims[1],1,3,long,int,short,4); break;
+      case 18 : _cimg_load_pandore_case(4,dims[2],dims[1],1,3,double,float,float,4); break;
+      case 19 : _cimg_load_pandore_case(5,dims[3],dims[2],dims[1],3,unsigned char,unsigned char,unsigned char,1); break;
+      case 20 : _cimg_load_pandore_case(5,dims[3],dims[2],dims[1],3,long,int,short,4); break;
+      case 21 : _cimg_load_pandore_case(5,dims[3],dims[2],dims[1],3,double,float,float,4); break;
+      case 22 : _cimg_load_pandore_case(2,dims[1],1,1,dims[0],unsigned char,unsigned char,unsigned char,1); break;
+      case 23 : _cimg_load_pandore_case(2,dims[1],1,1,dims[0],long,int,short,4);
+      case 24 : _cimg_load_pandore_case(2,dims[1],1,1,dims[0],unsigned long,unsigned int,unsigned short,4); break;
+      case 25 : _cimg_load_pandore_case(2,dims[1],1,1,dims[0],double,float,float,4); break;
+      case 26 : _cimg_load_pandore_case(3,dims[2],dims[1],1,dims[0],unsigned char,unsigned char,unsigned char,1); break;
+      case 27 : _cimg_load_pandore_case(3,dims[2],dims[1],1,dims[0],long,int,short,4); break;
+      case 28 : _cimg_load_pandore_case(3,dims[2],dims[1],1,dims[0],unsigned long,unsigned int,unsigned short,4); break;
+      case 29 : _cimg_load_pandore_case(3,dims[2],dims[1],1,dims[0],double,float,float,4); break;
+      case 30 : _cimg_load_pandore_case(4,dims[3],dims[2],dims[1],dims[0],unsigned char,unsigned char,unsigned char,1);
+        break;
+      case 31 : _cimg_load_pandore_case(4,dims[3],dims[2],dims[1],dims[0],long,int,short,4); break;
+      case 32 : _cimg_load_pandore_case(4,dims[3],dims[2],dims[1],dims[0],unsigned long,unsigned int,unsigned short,4);
+        break;
+      case 33 : _cimg_load_pandore_case(4,dims[3],dims[2],dims[1],dims[0],double,float,float,4); break;
+      case 34 : { // Points 1d
+        int ptbuf[4] = { 0 };
+        cimg::fread(ptbuf,1,nfile);
+        if (endian) cimg::invert_endianness(ptbuf,1);
+        assign(1); (*this)(0) = (T)ptbuf[0];
+      } break;
+      case 35 : { // Points 2d
+        int ptbuf[4] = { 0 };
+        cimg::fread(ptbuf,2,nfile);
+        if (endian) cimg::invert_endianness(ptbuf,2);
+        assign(2); (*this)(0) = (T)ptbuf[1]; (*this)(1) = (T)ptbuf[0];
+      } break;
+      case 36 : { // Points 3d
+        int ptbuf[4] = { 0 };
+        cimg::fread(ptbuf,3,nfile);
+        if (endian) cimg::invert_endianness(ptbuf,3);
+        assign(3); (*this)(0) = (T)ptbuf[2]; (*this)(1) = (T)ptbuf[1]; (*this)(2) = (T)ptbuf[0];
+      } break;
+      default :
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimg_instance
+                              "load_pandore(): Unable to load data with ID_type %u in file '%s'.",
+                              cimg_instance,
+                              imageid,filename?filename:"(FILE*)");
+      }
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Load image from a PAR-REC (Philips) file.
+    /**
+      \param filename Filename, as a C-string.
+      \param axis Appending axis, if file contains multiple images. Can be <tt>{ 'x' | 'y' | 'z' | 'c' }</tt>.
+      \param align Appending alignment.
+    **/
+    CImg<T>& load_parrec(const char *const filename, const char axis='c', const float align=0) {
+      CImgList<T> list;
+      list.load_parrec(filename);
+      if (list._width==1) return list[0].move_to(*this);
+      return assign(list.get_append(axis,align));
+    }
+
+    //! Load image from a PAR-REC (Philips) file \newinstance.
+    static CImg<T> get_load_parrec(const char *const filename, const char axis='c', const float align=0) {
+      return CImg<T>().load_parrec(filename,axis,align);
+    }
+
+    //! Load image from a raw binary file.
+    /**
+      \param filename Filename, as a C-string.
+      \param size_x Width of the image buffer.
+      \param size_y Height of the image buffer.
+      \param size_z Depth of the image buffer.
+      \param size_c Spectrum of the image buffer.
+      \param is_multiplexed Tells if the image values are multiplexed along the C-axis.
+      \param invert_endianness Tells if the endianness of the image buffer must be inverted.
+      \param offset Starting offset of the read in the specified file.
+    **/
+    CImg<T>& load_raw(const char *const filename,
+                      const unsigned int size_x=0, const unsigned int size_y=1,
+                      const unsigned int size_z=1, const unsigned int size_c=1,
+                      const bool is_multiplexed=false, const bool invert_endianness=false,
+                      const unsigned long offset=0) {
+      return _load_raw(0,filename,size_x,size_y,size_z,size_c,is_multiplexed,invert_endianness,offset);
+    }
+
+    //! Load image from a raw binary file \newinstance.
+    static CImg<T> get_load_raw(const char *const filename,
+                                const unsigned int size_x=0, const unsigned int size_y=1,
+                                const unsigned int size_z=1, const unsigned int size_c=1,
+                                const bool is_multiplexed=false, const bool invert_endianness=false,
+                                const unsigned long offset=0) {
+      return CImg<T>().load_raw(filename,size_x,size_y,size_z,size_c,is_multiplexed,invert_endianness,offset);
+    }
+
+    //! Load image from a raw binary file \overloading.
+    CImg<T>& load_raw(std::FILE *const file,
+                      const unsigned int size_x=0, const unsigned int size_y=1,
+                      const unsigned int size_z=1, const unsigned int size_c=1,
+                      const bool is_multiplexed=false, const bool invert_endianness=false,
+                      const unsigned long offset=0) {
+      return _load_raw(file,0,size_x,size_y,size_z,size_c,is_multiplexed,invert_endianness,offset);
+    }
+
+    //! Load image from a raw binary file \newinstance.
+    static CImg<T> get_load_raw(std::FILE *const file,
+                                const unsigned int size_x=0, const unsigned int size_y=1,
+                                const unsigned int size_z=1, const unsigned int size_c=1,
+                                const bool is_multiplexed=false, const bool invert_endianness=false,
+                                const unsigned long offset=0) {
+      return CImg<T>().load_raw(file,size_x,size_y,size_z,size_c,is_multiplexed,invert_endianness,offset);
+    }
+
+    CImg<T>& _load_raw(std::FILE *const file, const char *const filename,
+		       const unsigned int size_x, const unsigned int size_y,
+		       const unsigned int size_z, const unsigned int size_c,
+		       const bool is_multiplexed, const bool invert_endianness,
+                       const unsigned long offset) {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_raw(): Specified filename is (null).",
+                                    cimg_instance);
+      if (cimg::is_directory(filename))
+        throw CImgArgumentException(_cimg_instance
+                                    "load_raw(): Specified filename '%s' is a directory.",
+                                    cimg_instance,filename);
+
+      unsigned int siz = size_x*size_y*size_z*size_c,
+        _size_x = size_x, _size_y = size_y, _size_z = size_z, _size_c = size_c;
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"rb");
+      if (!siz) {  // Retrieve file size.
+        const long fpos = std::ftell(nfile);
+        if (fpos<0) throw CImgArgumentException(_cimg_instance
+                                                "load_raw(): Cannot determine size of input file '%s'.",
+                                                cimg_instance,filename?filename:"(FILE*)");
+        std::fseek(nfile,0,SEEK_END);
+        siz = _size_y = (unsigned int)std::ftell(nfile)/sizeof(T);
+        _size_x = _size_z = _size_c = 1;
+        std::fseek(nfile,fpos,SEEK_SET);
+      }
+      std::fseek(nfile,(long)offset,SEEK_SET);
+      assign(_size_x,_size_y,_size_z,_size_c,0);
+      if (siz && (!is_multiplexed || size_c==1)) {
+        cimg::fread(_data,siz,nfile);
+        if (invert_endianness) cimg::invert_endianness(_data,siz);
+      } else if (siz) {
+        CImg<T> buf(1,1,1,_size_c);
+        cimg_forXYZ(*this,x,y,z) {
+          cimg::fread(buf._data,_size_c,nfile);
+          if (invert_endianness) cimg::invert_endianness(buf._data,_size_c);
+          set_vector_at(buf,x,y,z);
+        }
+      }
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Load image sequence from a YUV file.
+    /**
+      \param filename Filename, as a C-string.
+      \param size_x Width of the frames.
+      \param size_y Height of the frames.
+      \param first_frame Index of the first frame to read.
+      \param last_frame Index of the last frame to read.
+      \param step_frame Step value for frame reading.
+      \param yuv2rgb Tells if the YUV to RGB transform must be applied.
+      \param axis Appending axis, if file contains multiple images. Can be <tt>{ 'x' | 'y' | 'z' | 'c' }</tt>.
+    **/
+    CImg<T>& load_yuv(const char *const filename,
+                      const unsigned int size_x, const unsigned int size_y=1,
+                      const unsigned int first_frame=0, const unsigned int last_frame=~0U,
+                      const unsigned int step_frame=1, const bool yuv2rgb=true, const char axis='z') {
+      return get_load_yuv(filename,size_x,size_y,first_frame,last_frame,step_frame,yuv2rgb,axis).move_to(*this);
+    }
+
+    //! Load image sequence from a YUV file \newinstance.
+    static CImg<T> get_load_yuv(const char *const filename,
+                                const unsigned int size_x, const unsigned int size_y=1,
+                                const unsigned int first_frame=0, const unsigned int last_frame=~0U,
+                                const unsigned int step_frame=1, const bool yuv2rgb=true, const char axis='z') {
+      return CImgList<T>().load_yuv(filename,size_x,size_y,first_frame,last_frame,step_frame,yuv2rgb).get_append(axis);
+    }
+
+    //! Load image sequence from a YUV file \overloading.
+    CImg<T>& load_yuv(std::FILE *const file,
+                      const unsigned int size_x, const unsigned int size_y=1,
+                      const unsigned int first_frame=0, const unsigned int last_frame=~0U,
+		      const unsigned int step_frame=1, const bool yuv2rgb=true, const char axis='z') {
+      return get_load_yuv(file,size_x,size_y,first_frame,last_frame,step_frame,yuv2rgb,axis).move_to(*this);
+    }
+
+    //! Load image sequence from a YUV file \newinstance.
+    static CImg<T> get_load_yuv(std::FILE *const file,
+                                const unsigned int size_x, const unsigned int size_y=1,
+                                const unsigned int first_frame=0, const unsigned int last_frame=~0U,
+				const unsigned int step_frame=1, const bool yuv2rgb=true, const char axis='z') {
+      return CImgList<T>().load_yuv(file,size_x,size_y,first_frame,last_frame,step_frame,yuv2rgb).get_append(axis);
+    }
+
+    //! Load 3d object from a .OFF file.
+    /**
+        \param[out] primitives Primitives data of the 3d object.
+        \param[out] colors Colors data of the 3d object.
+        \param filename Filename, as a C-string.
+    **/
+    template<typename tf, typename tc>
+    CImg<T>& load_off(CImgList<tf>& primitives, CImgList<tc>& colors, const char *const filename) {
+      return _load_off(primitives,colors,0,filename);
+    }
+
+    //! Load 3d object from a .OFF file \newinstance.
+    template<typename tf, typename tc>
+    static CImg<T> get_load_off(CImgList<tf>& primitives, CImgList<tc>& colors, const char *const filename) {
+      return CImg<T>().load_off(primitives,colors,filename);
+    }
+
+    //! Load 3d object from a .OFF file \overloading.
+    template<typename tf, typename tc>
+    CImg<T>& load_off(CImgList<tf>& primitives, CImgList<tc>& colors, std::FILE *const file) {
+      return _load_off(primitives,colors,file,0);
+    }
+
+    //! Load 3d object from a .OFF file \newinstance.
+    template<typename tf, typename tc>
+    static CImg<T> get_load_off(CImgList<tf>& primitives, CImgList<tc>& colors, std::FILE *const file) {
+      return CImg<T>().load_off(primitives,colors,file);
+    }
+
+    template<typename tf, typename tc>
+    CImg<T>& _load_off(CImgList<tf>& primitives, CImgList<tc>& colors,
+                       std::FILE *const file, const char *const filename) {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_off(): Specified filename is (null).",
+                                    cimg_instance);
+
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"r");
+      unsigned int nb_points = 0, nb_primitives = 0, nb_read = 0;
+      CImg<charT> line(256); *line = 0;
+      int err;
+
+      // Skip comments, and read magic string OFF
+      do { err = std::fscanf(nfile,"%255[^\n] ",line._data); } while (!err || (err==1 && *line=='#'));
+      if (cimg::strncasecmp(line,"OFF",3) && cimg::strncasecmp(line,"COFF",4)) {
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimg_instance
+                              "load_off(): OFF header not found in file '%s'.",
+                              cimg_instance,
+                              filename?filename:"(FILE*)");
+      }
+      do { err = std::fscanf(nfile,"%255[^\n] ",line._data); } while (!err || (err==1 && *line=='#'));
+      if ((err = cimg_sscanf(line,"%u%u%*[^\n] ",&nb_points,&nb_primitives))!=2) {
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimg_instance
+                              "load_off(): Invalid number of vertices or primitives specified in file '%s'.",
+                              cimg_instance,
+                              filename?filename:"(FILE*)");
+      }
+
+      // Read points data
+      assign(nb_points,3);
+      float X = 0, Y = 0, Z = 0;
+      cimg_forX(*this,l) {
+        do { err = std::fscanf(nfile,"%255[^\n] ",line._data); } while (!err || (err==1 && *line=='#'));
+        if ((err = cimg_sscanf(line,"%f%f%f%*[^\n] ",&X,&Y,&Z))!=3) {
+          if (!file) cimg::fclose(nfile);
+          throw CImgIOException(_cimg_instance
+                                "load_off(): Failed to read vertex %u/%u in file '%s'.",
+                                cimg_instance,
+                                l + 1,nb_points,filename?filename:"(FILE*)");
+        }
+        (*this)(l,0) = (T)X; (*this)(l,1) = (T)Y; (*this)(l,2) = (T)Z;
+      }
+
+      // Read primitive data
+      primitives.assign();
+      colors.assign();
+      bool stop_flag = false;
+      while (!stop_flag) {
+        float c0 = 0.7f, c1 = 0.7f, c2 = 0.7f;
+        unsigned int prim = 0, i0 = 0, i1 = 0, i2 = 0, i3 = 0, i4 = 0, i5 = 0, i6 = 0, i7 = 0;
+        *line = 0;
+        if ((err = std::fscanf(nfile,"%u",&prim))!=1) stop_flag = true;
+        else {
+          ++nb_read;
+          switch (prim) {
+          case 1 : {
+            if ((err = std::fscanf(nfile,"%u%255[^\n] ",&i0,line._data))<2) {
+              cimg::warn(_cimg_instance
+                         "load_off(): Failed to read primitive %u/%u from file '%s'.",
+                         cimg_instance,
+                         nb_read,nb_primitives,filename?filename:"(FILE*)");
+
+              err = std::fscanf(nfile,"%*[^\n] ");
+            } else {
+              err = cimg_sscanf(line,"%f%f%f",&c0,&c1,&c2);
+              CImg<tf>::vector(i0).move_to(primitives);
+              CImg<tc>::vector((tc)(c0*255),(tc)(c1*255),(tc)(c2*255)).move_to(colors);
+            }
+          } break;
+          case 2 : {
+            if ((err = std::fscanf(nfile,"%u%u%255[^\n] ",&i0,&i1,line._data))<2) {
+              cimg::warn(_cimg_instance
+                         "load_off(): Failed to read primitive %u/%u from file '%s'.",
+                         cimg_instance,
+                         nb_read,nb_primitives,filename?filename:"(FILE*)");
+
+              err = std::fscanf(nfile,"%*[^\n] ");
+            } else {
+              err = cimg_sscanf(line,"%f%f%f",&c0,&c1,&c2);
+              CImg<tf>::vector(i0,i1).move_to(primitives);
+              CImg<tc>::vector((tc)(c0*255),(tc)(c1*255),(tc)(c2*255)).move_to(colors);
+            }
+          } break;
+          case 3 : {
+            if ((err = std::fscanf(nfile,"%u%u%u%255[^\n] ",&i0,&i1,&i2,line._data))<3) {
+              cimg::warn(_cimg_instance
+                         "load_off(): Failed to read primitive %u/%u from file '%s'.",
+                         cimg_instance,
+                         nb_read,nb_primitives,filename?filename:"(FILE*)");
+
+              err = std::fscanf(nfile,"%*[^\n] ");
+            } else {
+              err = cimg_sscanf(line,"%f%f%f",&c0,&c1,&c2);
+              CImg<tf>::vector(i0,i2,i1).move_to(primitives);
+              CImg<tc>::vector((tc)(c0*255),(tc)(c1*255),(tc)(c2*255)).move_to(colors);
+            }
+          } break;
+          case 4 : {
+            if ((err = std::fscanf(nfile,"%u%u%u%u%255[^\n] ",&i0,&i1,&i2,&i3,line._data))<4) {
+              cimg::warn(_cimg_instance
+                         "load_off(): Failed to read primitive %u/%u from file '%s'.",
+                         cimg_instance,
+                         nb_read,nb_primitives,filename?filename:"(FILE*)");
+
+              err = std::fscanf(nfile,"%*[^\n] ");
+            } else {
+              err = cimg_sscanf(line,"%f%f%f",&c0,&c1,&c2);
+              CImg<tf>::vector(i0,i3,i2,i1).move_to(primitives);
+              CImg<tc>::vector((tc)(c0*255),(tc)(c1*255),(tc)(c2*255)).move_to(colors);
+            }
+          } break;
+          case 5 : {
+            if ((err = std::fscanf(nfile,"%u%u%u%u%u%255[^\n] ",&i0,&i1,&i2,&i3,&i4,line._data))<5) {
+              cimg::warn(_cimg_instance
+                         "load_off(): Failed to read primitive %u/%u from file '%s'.",
+                         cimg_instance,
+                         nb_read,nb_primitives,filename?filename:"(FILE*)");
+
+              err = std::fscanf(nfile,"%*[^\n] ");
+            } else {
+              err = cimg_sscanf(line,"%f%f%f",&c0,&c1,&c2);
+              CImg<tf>::vector(i0,i3,i2,i1).move_to(primitives);
+              CImg<tf>::vector(i0,i4,i3).move_to(primitives);
+              colors.insert(2,CImg<tc>::vector((tc)(c0*255),(tc)(c1*255),(tc)(c2*255)));
+              ++nb_primitives;
+            }
+          } break;
+          case 6 : {
+            if ((err = std::fscanf(nfile,"%u%u%u%u%u%u%255[^\n] ",&i0,&i1,&i2,&i3,&i4,&i5,line._data))<6) {
+              cimg::warn(_cimg_instance
+                         "load_off(): Failed to read primitive %u/%u from file '%s'.",
+                         cimg_instance,
+                         nb_read,nb_primitives,filename?filename:"(FILE*)");
+
+              err = std::fscanf(nfile,"%*[^\n] ");
+            } else {
+              err = cimg_sscanf(line,"%f%f%f",&c0,&c1,&c2);
+              CImg<tf>::vector(i0,i3,i2,i1).move_to(primitives);
+              CImg<tf>::vector(i0,i5,i4,i3).move_to(primitives);
+              colors.insert(2,CImg<tc>::vector((tc)(c0*255),(tc)(c1*255),(tc)(c2*255)));
+              ++nb_primitives;
+            }
+          } break;
+          case 7 : {
+            if ((err = std::fscanf(nfile,"%u%u%u%u%u%u%u%255[^\n] ",&i0,&i1,&i2,&i3,&i4,&i5,&i6,line._data))<7) {
+              cimg::warn(_cimg_instance
+                         "load_off(): Failed to read primitive %u/%u from file '%s'.",
+                         cimg_instance,
+                         nb_read,nb_primitives,filename?filename:"(FILE*)");
+
+              err = std::fscanf(nfile,"%*[^\n] ");
+            } else {
+              err = cimg_sscanf(line,"%f%f%f",&c0,&c1,&c2);
+              CImg<tf>::vector(i0,i4,i3,i1).move_to(primitives);
+              CImg<tf>::vector(i0,i6,i5,i4).move_to(primitives);
+              CImg<tf>::vector(i3,i2,i1).move_to(primitives);
+              colors.insert(3,CImg<tc>::vector((tc)(c0*255),(tc)(c1*255),(tc)(c2*255)));
+              ++(++nb_primitives);
+            }
+          } break;
+          case 8 : {
+            if ((err = std::fscanf(nfile,"%u%u%u%u%u%u%u%u%255[^\n] ",&i0,&i1,&i2,&i3,&i4,&i5,&i6,&i7,line._data))<7) {
+              cimg::warn(_cimg_instance
+                         "load_off(): Failed to read primitive %u/%u from file '%s'.",
+                         cimg_instance,
+                         nb_read,nb_primitives,filename?filename:"(FILE*)");
+
+              err = std::fscanf(nfile,"%*[^\n] ");
+            } else {
+              err = cimg_sscanf(line,"%f%f%f",&c0,&c1,&c2);
+              CImg<tf>::vector(i0,i3,i2,i1).move_to(primitives);
+              CImg<tf>::vector(i0,i5,i4,i3).move_to(primitives);
+              CImg<tf>::vector(i0,i7,i6,i5).move_to(primitives);
+              colors.insert(3,CImg<tc>::vector((tc)(c0*255),(tc)(c1*255),(tc)(c2*255)));
+              ++(++nb_primitives);
+            }
+          } break;
+          default :
+            cimg::warn(_cimg_instance
+                       "load_off(): Failed to read primitive %u/%u (%u vertices) from file '%s'.",
+                       cimg_instance,
+                       nb_read,nb_primitives,prim,filename?filename:"(FILE*)");
+
+            err = std::fscanf(nfile,"%*[^\n] ");
+          }
+        }
+      }
+      if (!file) cimg::fclose(nfile);
+      if (primitives._width!=nb_primitives)
+        cimg::warn(_cimg_instance
+                   "load_off(): Only %u/%u primitives read from file '%s'.",
+                   cimg_instance,
+                   primitives._width,nb_primitives,filename?filename:"(FILE*)");
+      return *this;
+    }
+
+    //! Load image sequence from a video file, using OpenCV library.
+    /**
+      \param filename Filename, as a C-string.
+      \param first_frame Index of the first frame to read.
+      \param last_frame Index of the last frame to read.
+      \param step_frame Step value for frame reading.
+    **/
+    CImg<T>& load_video(const char *const filename,
+                        const unsigned int first_frame=0, const unsigned int last_frame=~0U,
+                        const unsigned int step_frame=1,
+                        const char axis='z', const float align=0) {
+      return get_load_video(filename,first_frame,last_frame,step_frame,axis,align).move_to(*this);
+    }
+
+    //! Load image sequence from a video file, using OpenCV library \newinstance.
+    static CImg<T> get_load_video(const char *const filename,
+                                  const unsigned int first_frame=0, const unsigned int last_frame=~0U,
+                                  const unsigned int step_frame=1,
+                                  const char axis='z', const float align=0) {
+      return CImgList<T>().load_video(filename,first_frame,last_frame,step_frame).get_append(axis,align);
+    }
+
+    //! Load image sequence using FFMPEG's external tool 'ffmpeg'.
+    /**
+      \param filename Filename, as a C-string.
+      \param axis Appending axis, if file contains multiple images. Can be <tt>{ 'x' | 'y' | 'z' | 'c' }</tt>.
+      \param align Appending alignment.
+    **/
+    CImg<T>& load_ffmpeg_external(const char *const filename, const char axis='z', const float align=0) {
+      return get_load_ffmpeg_external(filename,axis,align).move_to(*this);
+    }
+
+    //! Load image sequence using FFMPEG's external tool 'ffmpeg' \newinstance.
+    static CImg<T> get_load_ffmpeg_external(const char *const filename, const char axis='z', const float align=0) {
+      return CImgList<T>().load_ffmpeg_external(filename).get_append(axis,align);
+    }
+
+    //! Load gif file, using Imagemagick or GraphicsMagicks's external tools.
+    /**
+      \param filename Filename, as a C-string.
+      \param use_graphicsmagick Tells if GraphicsMagick's tool 'gm' is used instead of ImageMagick's tool 'convert'.
+      \param axis Appending axis, if file contains multiple images. Can be <tt>{ 'x' | 'y' | 'z' | 'c' }</tt>.
+      \param align Appending alignment.
+    **/
+    CImg<T>& load_gif_external(const char *const filename,
+                               const char axis='z', const float align=0) {
+      return get_load_gif_external(filename,axis,align).move_to(*this);
+    }
+
+    //! Load gif file, using ImageMagick or GraphicsMagick's external tool 'convert' \newinstance.
+    static CImg<T> get_load_gif_external(const char *const filename,
+                                         const char axis='z', const float align=0) {
+      return CImgList<T>().load_gif_external(filename).get_append(axis,align);
+    }
+
+    //! Load image using GraphicsMagick's external tool 'gm'.
+    /**
+       \param filename Filename, as a C-string.
+    **/
+    CImg<T>& load_graphicsmagick_external(const char *const filename) {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_graphicsmagick_external(): Specified filename is (null).",
+                                    cimg_instance);
+      std::fclose(cimg::fopen(filename,"rb"));            // Check if file exists.
+      CImg<charT> command(1024), filename_tmp(256);
+      std::FILE *file = 0;
+      const CImg<charT> s_filename = CImg<charT>::string(filename)._system_strescape();
+#if cimg_OS==1
+      cimg_snprintf(command,command._width,"%s convert \"%s\" pnm:-",
+                    cimg::graphicsmagick_path(),s_filename.data());
+      file = popen(command,"r");
+      if (file) {
+        const unsigned int omode = cimg::exception_mode();
+        cimg::exception_mode(0);
+        try { load_pnm(file); } catch (...) {
+          pclose(file);
+          cimg::exception_mode(omode);
+          throw CImgIOException(_cimg_instance
+                                "load_graphicsmagick_external(): Failed to load file '%s' with external command 'gm'.",
+                                cimg_instance,
+                                filename);
+        }
+        pclose(file);
+        return *this;
+      }
+#endif
+      do {
+        cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s.pnm",
+                      cimg::temporary_path(),cimg_file_separator,cimg::filenamerand());
+        if ((file=std::fopen(filename_tmp,"rb"))!=0) cimg::fclose(file);
+      } while (file);
+      cimg_snprintf(command,command._width,"%s convert \"%s\" \"%s\"",
+                    cimg::graphicsmagick_path(),s_filename.data(),
+                    CImg<charT>::string(filename_tmp)._system_strescape().data());
+      cimg::system(command,cimg::graphicsmagick_path());
+      if (!(file = std::fopen(filename_tmp,"rb"))) {
+        cimg::fclose(cimg::fopen(filename,"r"));
+        throw CImgIOException(_cimg_instance
+                              "load_graphicsmagick_external(): Failed to load file '%s' with external command 'gm'.",
+                              cimg_instance,
+                              filename);
+
+      } else cimg::fclose(file);
+      load_pnm(filename_tmp);
+      std::remove(filename_tmp);
+      return *this;
+    }
+
+    //! Load image using GraphicsMagick's external tool 'gm' \newinstance.
+    static CImg<T> get_load_graphicsmagick_external(const char *const filename) {
+      return CImg<T>().load_graphicsmagick_external(filename);
+    }
+
+    //! Load gzipped image file, using external tool 'gunzip'.
+    /**
+       \param filename Filename, as a C-string.
+    **/
+    CImg<T>& load_gzip_external(const char *const filename) {
+      if (!filename)
+        throw CImgIOException(_cimg_instance
+                              "load_gzip_external(): Specified filename is (null).",
+                              cimg_instance);
+      std::fclose(cimg::fopen(filename,"rb"));            // Check if file exists.
+      CImg<charT> command(1024), filename_tmp(256), body(256);
+      const char
+        *const ext = cimg::split_filename(filename,body),
+        *const ext2 = cimg::split_filename(body,0);
+
+      std::FILE *file = 0;
+      do {
+        if (!cimg::strcasecmp(ext,"gz")) {
+          if (*ext2) cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s.%s",
+                                   cimg::temporary_path(),cimg_file_separator,cimg::filenamerand(),ext2);
+          else cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s",
+                             cimg::temporary_path(),cimg_file_separator,cimg::filenamerand());
+        } else {
+          if (*ext) cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s.%s",
+                                  cimg::temporary_path(),cimg_file_separator,cimg::filenamerand(),ext);
+          else cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s",
+                             cimg::temporary_path(),cimg_file_separator,cimg::filenamerand());
+        }
+        if ((file=std::fopen(filename_tmp,"rb"))!=0) cimg::fclose(file);
+      } while (file);
+      cimg_snprintf(command,command._width,"%s -c \"%s\" > \"%s\"",
+                    cimg::gunzip_path(),
+                    CImg<charT>::string(filename)._system_strescape().data(),
+                    CImg<charT>::string(filename_tmp)._system_strescape().data());
+      cimg::system(command);
+      if (!(file = std::fopen(filename_tmp,"rb"))) {
+        cimg::fclose(cimg::fopen(filename,"r"));
+        throw CImgIOException(_cimg_instance
+                              "load_gzip_external(): Failed to load file '%s' with external command 'gunzip'.",
+                              cimg_instance,
+                              filename);
+
+      } else cimg::fclose(file);
+      load(filename_tmp);
+      std::remove(filename_tmp);
+      return *this;
+    }
+
+    //! Load gzipped image file, using external tool 'gunzip' \newinstance.
+    static CImg<T> get_load_gzip_external(const char *const filename) {
+      return CImg<T>().load_gzip_external(filename);
+    }
+
+    //! Load image using ImageMagick's external tool 'convert'.
+    /**
+       \param filename Filename, as a C-string.
+    **/
+    CImg<T>& load_imagemagick_external(const char *const filename) {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_imagemagick_external(): Specified filename is (null).",
+                                    cimg_instance);
+      std::fclose(cimg::fopen(filename,"rb"));            // Check if file exists.
+      CImg<charT> command(1024), filename_tmp(256);
+      std::FILE *file = 0;
+      const CImg<charT> s_filename = CImg<charT>::string(filename)._system_strescape();
+#if cimg_OS==1
+      cimg_snprintf(command,command._width,"%s%s \"%s\" pnm:-",
+                    cimg::imagemagick_path(),
+                    !cimg::strcasecmp(cimg::split_filename(filename),"pdf")?" -density 400x400":"",
+                    s_filename.data());
+      file = popen(command,"r");
+      if (file) {
+        const unsigned int omode = cimg::exception_mode();
+        cimg::exception_mode(0);
+        try { load_pnm(file); } catch (...) {
+          pclose(file);
+          cimg::exception_mode(omode);
+          throw CImgIOException(_cimg_instance
+                                "load_imagemagick_external(): Failed to load file '%s' with "
+                                "external command 'convert'.",
+                                cimg_instance,
+                                filename);
+        }
+        pclose(file);
+        return *this;
+      }
+#endif
+      do {
+        cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s.pnm",
+                      cimg::temporary_path(),cimg_file_separator,cimg::filenamerand());
+        if ((file=std::fopen(filename_tmp,"rb"))!=0) cimg::fclose(file);
+      } while (file);
+      cimg_snprintf(command,command._width,"%s%s \"%s\" \"%s\"",
+                    cimg::imagemagick_path(),
+                    !cimg::strcasecmp(cimg::split_filename(filename),"pdf")?" -density 400x400":"",
+                    s_filename.data(),CImg<charT>::string(filename_tmp)._system_strescape().data());
+      cimg::system(command,cimg::imagemagick_path());
+      if (!(file = std::fopen(filename_tmp,"rb"))) {
+        cimg::fclose(cimg::fopen(filename,"r"));
+        throw CImgIOException(_cimg_instance
+                              "load_imagemagick_external(): Failed to load file '%s' with external command 'convert'.",
+                              cimg_instance,
+                              filename);
+
+      } else cimg::fclose(file);
+      load_pnm(filename_tmp);
+      std::remove(filename_tmp);
+      return *this;
+    }
+
+    //! Load image using ImageMagick's external tool 'convert' \newinstance.
+    static CImg<T> get_load_imagemagick_external(const char *const filename) {
+      return CImg<T>().load_imagemagick_external(filename);
+    }
+
+    //! Load image from a DICOM file, using XMedcon's external tool 'medcon'.
+    /**
+       \param filename Filename, as a C-string.
+    **/
+    CImg<T>& load_medcon_external(const char *const filename) {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_medcon_external(): Specified filename is (null).",
+                                    cimg_instance);
+      std::fclose(cimg::fopen(filename,"rb"));            // Check if file exists.
+      CImg<charT> command(1024), filename_tmp(256), body(256);
+      cimg::fclose(cimg::fopen(filename,"r"));
+      std::FILE *file = 0;
+      do {
+        cimg_snprintf(filename_tmp,filename_tmp._width,"%s.hdr",cimg::filenamerand());
+        if ((file=std::fopen(filename_tmp,"rb"))!=0) cimg::fclose(file);
+      } while (file);
+      cimg_snprintf(command,command._width,"%s -w -c anlz -o \"%s\" -f \"%s\"",
+                    cimg::medcon_path(),
+                    CImg<charT>::string(filename_tmp)._system_strescape().data(),
+                    CImg<charT>::string(filename)._system_strescape().data());
+      cimg::system(command);
+      cimg::split_filename(filename_tmp,body);
+
+      cimg_snprintf(command,command._width,"%s.hdr",body._data);
+      file = std::fopen(command,"rb");
+      if (!file) {
+        cimg_snprintf(command,command._width,"m000-%s.hdr",body._data);
+        file = std::fopen(command,"rb");
+        if (!file) {
+          throw CImgIOException(_cimg_instance
+                                "load_medcon_external(): Failed to load file '%s' with external command 'medcon'.",
+                                cimg_instance,
+                                filename);
+        }
+      }
+      cimg::fclose(file);
+      load_analyze(command);
+      std::remove(command);
+      cimg::split_filename(command,body);
+      cimg_snprintf(command,command._width,"%s.img",body._data);
+      std::remove(command);
+      return *this;
+    }
+
+    //! Load image from a DICOM file, using XMedcon's external tool 'medcon' \newinstance.
+    static CImg<T> get_load_medcon_external(const char *const filename) {
+      return CImg<T>().load_medcon_external(filename);
+    }
+
+    //! Load image from a RAW Color Camera file, using external tool 'dcraw'.
+    /**
+       \param filename Filename, as a C-string.
+    **/
+    CImg<T>& load_dcraw_external(const char *const filename) {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_dcraw_external(): Specified filename is (null).",
+                                    cimg_instance);
+      std::fclose(cimg::fopen(filename,"rb"));            // Check if file exists.
+      CImg<charT> command(1024), filename_tmp(256);
+      std::FILE *file = 0;
+      const CImg<charT> s_filename = CImg<charT>::string(filename)._system_strescape();
+#if cimg_OS==1
+      cimg_snprintf(command,command._width,"%s -w -4 -c \"%s\"",
+                    cimg::dcraw_path(),s_filename.data());
+      file = popen(command,"r");
+      if (file) {
+        const unsigned int omode = cimg::exception_mode();
+        cimg::exception_mode(0);
+        try { load_pnm(file); } catch (...) {
+          pclose(file);
+          cimg::exception_mode(omode);
+          throw CImgIOException(_cimg_instance
+                                "load_dcraw_external(): Failed to load file '%s' with external command 'dcraw'.",
+                                cimg_instance,
+                                filename);
+        }
+        pclose(file);
+        return *this;
+      }
+#endif
+      do {
+        cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s.ppm",
+                      cimg::temporary_path(),cimg_file_separator,cimg::filenamerand());
+        if ((file=std::fopen(filename_tmp,"rb"))!=0) cimg::fclose(file);
+      } while (file);
+      cimg_snprintf(command,command._width,"%s -w -4 -c \"%s\" > \"%s\"",
+                    cimg::dcraw_path(),s_filename.data(),CImg<charT>::string(filename_tmp)._system_strescape().data());
+      cimg::system(command,cimg::dcraw_path());
+      if (!(file = std::fopen(filename_tmp,"rb"))) {
+        cimg::fclose(cimg::fopen(filename,"r"));
+        throw CImgIOException(_cimg_instance
+                              "load_dcraw_external(): Failed to load file '%s' with external command 'dcraw'.",
+                              cimg_instance,
+                              filename);
+
+      } else cimg::fclose(file);
+      load_pnm(filename_tmp);
+      std::remove(filename_tmp);
+      return *this;
+    }
+
+    //! Load image from a RAW Color Camera file, using external tool 'dcraw' \newinstance.
+    static CImg<T> get_load_dcraw_external(const char *const filename) {
+      return CImg<T>().load_dcraw_external(filename);
+    }
+
+    //! Load image from a camera stream, using OpenCV.
+    /**
+       \param camera_index Index of the camera to capture images from.
+       \param skip_frames Number of frames to skip before the capture.
+       \param release_camera Tells if the camera ressource must be released at the end of the method.
+    **/
+    CImg<T>& load_camera(const unsigned int camera_index=0, const unsigned int skip_frames=0,
+                         const bool release_camera=true, const unsigned int capture_width=0,
+                         const unsigned int capture_height=0) {
+#ifdef cimg_use_opencv
+      if (camera_index>99)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_camera(): Invalid request for camera #%u "
+                                    "(no more than 100 cameras can be managed simultaneously).",
+                                    cimg_instance,
+                                    camera_index);
+      static CvCapture *capture[100] = { 0 };
+      static unsigned int capture_w[100], capture_h[100];
+      if (release_camera) {
+        cimg::mutex(9);
+        if (capture[camera_index]) cvReleaseCapture(&(capture[camera_index]));
+        capture[camera_index] = 0;
+        capture_w[camera_index] = capture_h[camera_index] = 0;
+        cimg::mutex(9,0);
+        return *this;
+      }
+      if (!capture[camera_index]) {
+        cimg::mutex(9);
+        capture[camera_index] = cvCreateCameraCapture(camera_index);
+        capture_w[camera_index] = 0;
+        capture_h[camera_index] = 0;
+        cimg::mutex(9,0);
+        if (!capture[camera_index]) {
+          throw CImgIOException(_cimg_instance
+                                "load_camera(): Failed to initialize camera #%u.",
+                                cimg_instance,
+                                camera_index);
+        }
+      }
+      cimg::mutex(9);
+      if (capture_width!=capture_w[camera_index]) {
+        cvSetCaptureProperty(capture[camera_index],CV_CAP_PROP_FRAME_WIDTH,capture_width);
+        capture_w[camera_index] = capture_width;
+      }
+      if (capture_height!=capture_h[camera_index]) {
+        cvSetCaptureProperty(capture[camera_index],CV_CAP_PROP_FRAME_HEIGHT,capture_height);
+        capture_h[camera_index] = capture_height;
+      }
+      const IplImage *img = 0;
+      for (unsigned int i = 0; i<skip_frames; ++i) img = cvQueryFrame(capture[camera_index]);
+      img = cvQueryFrame(capture[camera_index]);
+      if (img) {
+        const int step = (int)(img->widthStep - 3*img->width);
+        assign(img->width,img->height,1,3);
+        const unsigned char* ptrs = (unsigned char*)img->imageData;
+        T *ptr_r = data(0,0,0,0), *ptr_g = data(0,0,0,1), *ptr_b = data(0,0,0,2);
+        if (step>0) cimg_forY(*this,y) {
+            cimg_forX(*this,x) { *(ptr_b++) = (T)*(ptrs++); *(ptr_g++) = (T)*(ptrs++); *(ptr_r++) = (T)*(ptrs++); }
+            ptrs+=step;
+          } else for (unsigned long siz = (unsigned long)img->width*img->height; siz; --siz) {
+            *(ptr_b++) = (T)*(ptrs++); *(ptr_g++) = (T)*(ptrs++); *(ptr_r++) = (T)*(ptrs++);
+          }
+      }
+      cimg::mutex(9,0);
+      return *this;
+#else
+      cimg::unused(camera_index,skip_frames,release_camera,capture_width,capture_height);
+      throw CImgIOException(_cimg_instance
+                            "load_camera(): This function requires the OpenCV library to run "
+                            "(macro 'cimg_use_opencv' must be defined).",
+                            cimg_instance);
+#endif
+    }
+
+    //! Load image from a camera stream, using OpenCV \newinstance.
+    static CImg<T> get_load_camera(const unsigned int camera_index=0, const unsigned int skip_frames=0,
+                                   const bool release_camera=true,
+                                   const unsigned int capture_width=0, const unsigned int capture_height=0) {
+      return CImg<T>().load_camera(camera_index,skip_frames,release_camera,capture_width,capture_height);
+    }
+
+    //! Load image using various non-native ways.
+    /**
+       \param filename Filename, as a C-string.
+    **/
+    CImg<T>& load_other(const char *const filename) {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "load_other(): Specified filename is (null).",
+                                    cimg_instance);
+
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      try { load_magick(filename); }
+      catch (CImgException&) {
+        try { load_imagemagick_external(filename); }
+        catch (CImgException&) {
+          try { load_graphicsmagick_external(filename); }
+          catch (CImgException&) {
+            try { load_cimg(filename); }
+            catch (CImgException&) {
+              try {
+                std::fclose(cimg::fopen(filename,"rb"));
+              } catch (CImgException&) {
+                cimg::exception_mode(omode);
+                throw CImgIOException(_cimg_instance
+                                      "load_other(): Failed to open file '%s'.",
+                                      cimg_instance,
+                                      filename);
+              }
+              cimg::exception_mode(omode);
+              throw CImgIOException(_cimg_instance
+                                    "load_other(): Failed to recognize format of file '%s'.",
+                                    cimg_instance,
+                                    filename);
+            }
+          }
+        }
+      }
+      cimg::exception_mode(omode);
+      return *this;
+    }
+
+    //! Load image using various non-native ways \newinstance.
+    static CImg<T> get_load_other(const char *const filename) {
+      return CImg<T>().load_other(filename);
+    }
+
+    //@}
+    //---------------------------
+    //
+    //! \name Data Output
+    //@{
+    //---------------------------
+
+    //! Display information about the image data.
+    /**
+       \param title Name for the considered image.
+       \param display_stats Tells to compute and display image statistics.
+    **/
+    const CImg<T>& print(const char *const title=0, const bool display_stats=true) const {
+      int xm = 0, ym = 0, zm = 0, vm = 0, xM = 0, yM = 0, zM = 0, vM = 0;
+      CImg<doubleT> st;
+      if (!is_empty() && display_stats) {
+        st = get_stats();
+        xm = (int)st[4]; ym = (int)st[5], zm = (int)st[6], vm = (int)st[7];
+        xM = (int)st[8]; yM = (int)st[9], zM = (int)st[10], vM = (int)st[11];
+      }
+      const unsigned long siz = size(), msiz = siz*sizeof(T), siz1 = siz - 1,
+        mdisp = msiz<8*1024?0U:msiz<8*1024*1024?1U:2U, width1 = _width - 1;
+
+      char _title[64] = { 0 };
+      if (!title) cimg_snprintf(_title,sizeof(_title),"CImg<%s>",pixel_type());
+
+      std::fprintf(cimg::output(),"%s%s%s%s: %sthis%s = %p, %ssize%s = (%u,%u,%u,%u) [%lu %s], %sdata%s = (%s*)%p",
+                   cimg::t_magenta,cimg::t_bold,title?title:_title,cimg::t_normal,
+                   cimg::t_bold,cimg::t_normal,(void*)this,
+                   cimg::t_bold,cimg::t_normal,_width,_height,_depth,_spectrum,
+                   mdisp==0?msiz:(mdisp==1?(msiz>>10):(msiz>>20)),
+                   mdisp==0?"b":(mdisp==1?"Kio":"Mio"),
+                   cimg::t_bold,cimg::t_normal,pixel_type(),(void*)begin());
+      if (_data)
+        std::fprintf(cimg::output(),"..%p (%s) = [ ",(void*)((char*)end() - 1),_is_shared?"shared":"non-shared");
+      else std::fprintf(cimg::output()," (%s) = [ ",_is_shared?"shared":"non-shared");
+
+      if (!is_empty()) cimg_foroff(*this,off) {
+        std::fprintf(cimg::output(),cimg::type<T>::format(),cimg::type<T>::format(_data[off]));
+        if (off!=siz1) std::fprintf(cimg::output(),"%s",off%_width==width1?" ; ":" ");
+        if (off==7 && siz>16) { off = siz1 - 8; std::fprintf(cimg::output(),"... "); }
+      }
+      if (!is_empty() && display_stats)
+	std::fprintf(cimg::output(),
+                     " ], %smin%s = %g, %smax%s = %g, %smean%s = %g, %sstd%s = %g, %scoords_min%s = (%u,%u,%u,%u), "
+                     "%scoords_max%s = (%u,%u,%u,%u).\n",
+		     cimg::t_bold,cimg::t_normal,st[0],
+                     cimg::t_bold,cimg::t_normal,st[1],
+                     cimg::t_bold,cimg::t_normal,st[2],
+                     cimg::t_bold,cimg::t_normal,std::sqrt(st[3]),
+                     cimg::t_bold,cimg::t_normal,xm,ym,zm,vm,
+                     cimg::t_bold,cimg::t_normal,xM,yM,zM,vM);
+      else std::fprintf(cimg::output(),"%s].\n",is_empty()?"":" ");
+      std::fflush(cimg::output());
+      return *this;
+    }
+
+    //! Display image into a CImgDisplay window.
+    /**
+       \param disp Display window.
+    **/
+    const CImg<T>& display(CImgDisplay& disp) const {
+      disp.display(*this);
+      return *this;
+    }
+
+    //! Display image into a CImgDisplay window, in an interactive way.
+    /**
+        \param disp Display window.
+        \param display_info Tells if image information are displayed on the standard output.
+    **/
+    const CImg<T>& display(CImgDisplay &disp, const bool display_info, unsigned int *const XYZ=0) const {
+      return _display(disp,0,display_info,XYZ,false);
+    }
+
+    //! Display image into an interactive window.
+    /**
+        \param title Window title
+        \param display_info Tells if image information are displayed on the standard output.
+    **/
+    const CImg<T>& display(const char *const title=0, const bool display_info=true, unsigned int *const XYZ=0) const {
+      CImgDisplay disp;
+      return _display(disp,title,display_info,XYZ,false);
+    }
+
+    const CImg<T>& _display(CImgDisplay &disp, const char *const title,
+                            const bool display_info, unsigned int *const XYZ,
+                            const bool exit_on_simpleclick) const {
+      unsigned int oldw = 0, oldh = 0, _XYZ[3] = { 0 }, key = 0;
+      int x0 = 0, y0 = 0, z0 = 0, x1 = width() - 1, y1 = height() - 1, z1 = depth() - 1;
+
+      if (!disp) {
+        disp.assign(cimg_fitscreen(_width,_height,_depth),title?title:0,1);
+        if (!title) disp.set_title("CImg<%s> (%ux%ux%ux%u)",pixel_type(),_width,_height,_depth,_spectrum);
+        else disp.set_title("%s",title);
+      } else if (title) disp.set_title("%s",title);
+      disp.show().flush();
+
+      const CImg<char> dtitle = CImg<char>::string(disp.title());
+      if (display_info) print(dtitle);
+
+      CImg<T> zoom;
+      for (bool reset_view = true, resize_disp = false, is_first_select = true; !key && !disp.is_closed(); ) {
+        if (reset_view) {
+          if (XYZ) { _XYZ[0] = XYZ[0]; _XYZ[1] = XYZ[1]; _XYZ[2] = XYZ[2]; }
+          else {
+            _XYZ[0] = (unsigned int)(x0 + x1)/2;
+            _XYZ[1] = (unsigned int)(y0 + y1)/2;
+            _XYZ[2] = (unsigned int)(z0 + z1)/2;
+          }
+          x0 = 0; y0 = 0; z0 = 0; x1 = width() - 1; y1 = height() - 1; z1 = depth() - 1;
+          oldw = disp._width; oldh = disp._height;
+          reset_view = false;
+        }
+        if (!x0 && !y0 && !z0 && x1==width() - 1 && y1==height() - 1 && z1==depth() - 1) {
+          if (is_empty()) zoom.assign(1,1,1,1,0); else zoom.assign();
+        } else zoom = get_crop(x0,y0,z0,x1,y1,z1);
+
+        const unsigned int
+          dx = 1U + x1 - x0, dy = 1U + y1 - y0, dz = 1U + z1 - z0,
+          tw = dx + (dz>1?dz:0U), th = dy + (dz>1?dz:0U);
+        if (!is_empty() && !disp.is_fullscreen() && resize_disp) {
+          const unsigned int
+            ttw = tw*disp.width()/oldw, tth = th*disp.height()/oldh,
+            dM = cimg::max(ttw,tth), diM = (unsigned int)cimg::max(disp.width(),disp.height()),
+            imgw = cimg::max(16U,ttw*diM/dM), imgh = cimg::max(16U,tth*diM/dM);
+          disp.set_fullscreen(false).resize(cimg_fitscreen(imgw,imgh,1),false);
+          resize_disp = false;
+        }
+        oldw = tw; oldh = th;
+
+        bool
+          go_up = false, go_down = false, go_left = false, go_right = false,
+          go_inc = false, go_dec = false, go_in = false, go_out = false,
+          go_in_center = false;
+        const CImg<T>& visu = zoom?zoom:*this;
+
+        disp.set_title("%s",dtitle._data);
+        if (_width>1 && visu._width==1) disp.set_title("%s | x=%u",disp._title,x0);
+        if (_height>1 && visu._height==1) disp.set_title("%s | y=%u",disp._title,y0);
+        if (_depth>1 && visu._depth==1) disp.set_title("%s | z=%u",disp._title,z0);
+
+        if (!is_first_select) {
+          _XYZ[0] = (unsigned int)(x1 - x0)/2;
+          _XYZ[1] = (unsigned int)(y1 - y0)/2;
+          _XYZ[2] = (unsigned int)(z1 - z0)/2;
+        }
+        const CImg<intT> selection = visu._get_select(disp,0,2,_XYZ,x0,y0,z0,is_first_select,_depth>1);
+        is_first_select = false;
+
+        if (disp.wheel()) {
+          if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            go_out = !(go_in = disp.wheel()>0); go_in_center = false;
+          } else if (disp.is_keySHIFTLEFT() || disp.is_keySHIFTRIGHT()) { go_left = !(go_right = disp.wheel()>0); }
+          else if (disp.is_keyALT() || disp.is_keyALTGR() || _depth==1) { go_down = !(go_up = disp.wheel()>0); }
+          disp.set_wheel();
+        }
+
+        const int
+          sx0 = selection(0), sy0 = selection(1), sz0 = selection(2),
+          sx1 = selection(3), sy1 = selection(4), sz1 = selection(5);
+        if (sx0>=0 && sy0>=0 && sz0>=0 && sx1>=0 && sy1>=0 && sz1>=0) {
+          x1 = x0 + sx1; y1 = y0 + sy1; z1 = z0 + sz1;
+          x0+=sx0; y0+=sy0; z0+=sz0;
+          if (sx0==sx1 && sy0==sy1 && sz0==sz1) {
+            if (exit_on_simpleclick && (!zoom || is_empty())) break; else reset_view = true;
+          }
+          resize_disp = true;
+        } else switch (key = disp.key()) {
+#if cimg_OS!=2
+          case cimg::keyCTRLRIGHT : case cimg::keySHIFTRIGHT :
+#endif
+          case 0 : case cimg::keyCTRLLEFT : case cimg::keyPAD5 : case cimg::keySHIFTLEFT :
+#if cimg_OS!=2
+          case cimg::keyALTGR :
+#endif
+          case cimg::keyALT : key = 0; break;
+          case cimg::keyP : if (visu._depth>1 && (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT())) {
+              // Special mode: play stack of frames
+              const unsigned int
+                w1 = visu._width*disp.width()/(visu._width + (visu._depth>1?visu._depth:0)),
+                h1 = visu._height*disp.height()/(visu._height + (visu._depth>1?visu._depth:0));
+              float frame_timing = 5;
+              bool is_stopped = false;
+              disp.set_key(key,false).set_wheel().resize(cimg_fitscreen(w1,h1,1),false); key = 0;
+              for (unsigned int timer = 0; !key && !disp.is_closed() && !disp.button(); ) {
+                if (disp.is_resized()) disp.resize(false);
+                if (!timer) {
+                  visu.get_slice((int)_XYZ[2]).display(disp.set_title("%s | z=%d",dtitle.data(),_XYZ[2]));
+                  (++_XYZ[2])%=visu._depth;
+                }
+                if (!is_stopped) { if (++timer>(unsigned int)frame_timing) timer = 0; } else timer = ~0U;
+                if (disp.wheel()) { frame_timing-=disp.wheel()/3.0f; disp.set_wheel(); }
+                switch (key = disp.key()) {
+#if cimg_OS!=2
+                case cimg::keyCTRLRIGHT :
+#endif
+                case cimg::keyCTRLLEFT : key = 0; break;
+                case cimg::keyPAGEUP : frame_timing-=0.3f; key = 0; break;
+                case cimg::keyPAGEDOWN : frame_timing+=0.3f; key = 0; break;
+                case cimg::keySPACE : is_stopped = !is_stopped; disp.set_key(key,false); key = 0; break;
+                case cimg::keyARROWLEFT : case cimg::keyARROWUP : is_stopped = true; timer = 0; key = 0; break;
+                case cimg::keyARROWRIGHT : case cimg::keyARROWDOWN : is_stopped = true;
+                  (_XYZ[2]+=visu._depth - 2)%=visu._depth; timer = 0; key = 0; break;
+                case cimg::keyD : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+                    disp.set_fullscreen(false).
+                      resize(CImgDisplay::_fitscreen(3*disp.width()/2,3*disp.height()/2,1,128,-100,false),
+                             CImgDisplay::_fitscreen(3*disp.width()/2,3*disp.height()/2,1,128,-100,true),false);
+                    disp.set_key(key,false); key = 0;
+                  } break;
+                case cimg::keyC : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+                    disp.set_fullscreen(false).
+                      resize(cimg_fitscreen(2*disp.width()/3,2*disp.height()/3,1),false).set_key(key,false); key = 0;
+                  } break;
+                case cimg::keyR : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+                    disp.set_fullscreen(false).
+                      resize(cimg_fitscreen(_width,_height,_depth),false).set_key(key,false); key = 0;
+                  } break;
+                case cimg::keyF : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+                    disp.resize(disp.screen_width(),disp.screen_height(),false).
+                      toggle_fullscreen().set_key(key,false); key = 0;
+                  } break;
+                }
+                frame_timing = frame_timing<1?1:(frame_timing>39?39:frame_timing);
+                disp.wait(20);
+              }
+              const unsigned int
+                w2 = (visu._width + (visu._depth>1?visu._depth:0))*disp.width()/visu._width,
+                h2 = (visu._height + (visu._depth>1?visu._depth:0))*disp.height()/visu._height;
+              disp.resize(cimg_fitscreen(w2,h2,1),false).set_title(dtitle.data()).set_key().set_button().set_wheel();
+              key = 0;
+            } break;
+          case cimg::keyHOME : reset_view = resize_disp = true; key = 0; break;
+          case cimg::keyPADADD : go_in = true; go_in_center = true; key = 0; break;
+          case cimg::keyPADSUB : go_out = true; key = 0; break;
+          case cimg::keyARROWLEFT : case cimg::keyPAD4: go_left = true; key = 0; break;
+          case cimg::keyARROWRIGHT : case cimg::keyPAD6: go_right = true; key = 0; break;
+          case cimg::keyARROWUP : case cimg::keyPAD8: go_up = true; key = 0; break;
+          case cimg::keyARROWDOWN : case cimg::keyPAD2: go_down = true; key = 0; break;
+          case cimg::keyPAD7 : go_up = go_left = true; key = 0; break;
+          case cimg::keyPAD9 : go_up = go_right = true; key = 0; break;
+          case cimg::keyPAD1 : go_down = go_left = true; key = 0; break;
+          case cimg::keyPAD3 : go_down = go_right = true; key = 0; break;
+          case cimg::keyPAGEUP : go_inc = true; key = 0; break;
+          case cimg::keyPAGEDOWN : go_dec = true; key = 0; break;
+          }
+        if (go_in) {
+          const int
+            mx = go_in_center?disp.width()/2:disp.mouse_x(),
+            my = go_in_center?disp.height()/2:disp.mouse_y(),
+            mX = mx*(width() + (depth()>1?depth():0))/disp.width(),
+            mY = my*(height() + (depth()>1?depth():0))/disp.height();
+          int X = (int)_XYZ[0], Y = (int)_XYZ[1], Z = (int)_XYZ[2];
+          if (mX<width() && mY<height())  {
+            X = x0 + mX*(1 + x1 - x0)/width(); Y = y0 + mY*(1 + y1 - y0)/height(); Z = (int)_XYZ[2];
+          }
+          if (mX<width() && mY>=height()) {
+            X = x0 + mX*(1 + x1 - x0)/width(); Z = z0 + (mY - height())*(1 + z1 - z0)/depth(); Y = (int)_XYZ[1];
+          }
+          if (mX>=width() && mY<height()) {
+            Y = y0 + mY*(1 + y1 - y0)/height(); Z = z0 + (mX - width())*(1 + z1 - z0)/depth(); X = (int)_XYZ[0];
+          }
+          if (x1 - x0>4) { x0 = X - 3*(X - x0)/4; x1 = X + 3*(x1 - X)/4; }
+          if (y1 - y0>4) { y0 = Y - 3*(Y - y0)/4; y1 = Y + 3*(y1 - Y)/4; }
+          if (z1 - z0>4) { z0 = Z - 3*(Z - z0)/4; z1 = Z + 3*(z1 - Z)/4; }
+        }
+        if (go_out) {
+          const int
+            delta_x = (x1 - x0)/8, delta_y = (y1 - y0)/8, delta_z = (z1 - z0)/8,
+            ndelta_x = delta_x?delta_x:(_width>1?1:0),
+            ndelta_y = delta_y?delta_y:(_height>1?1:0),
+            ndelta_z = delta_z?delta_z:(_depth>1?1:0);
+          x0-=ndelta_x; y0-=ndelta_y; z0-=ndelta_z;
+          x1+=ndelta_x; y1+=ndelta_y; z1+=ndelta_z;
+          if (x0<0) { x1-=x0; x0 = 0; if (x1>=width()) x1 = width() - 1; }
+          if (y0<0) { y1-=y0; y0 = 0; if (y1>=height()) y1 = height() - 1; }
+          if (z0<0) { z1-=z0; z0 = 0; if (z1>=depth()) z1 = depth() - 1; }
+          if (x1>=width()) { x0-=(x1 - width() + 1); x1 = width() - 1; if (x0<0) x0 = 0; }
+          if (y1>=height()) { y0-=(y1 - height() + 1); y1 = height() - 1; if (y0<0) y0 = 0; }
+          if (z1>=depth()) { z0-=(z1 - depth() + 1); z1 = depth() - 1; if (z0<0) z0 = 0; }
+        }
+        if (go_left) {
+          const int delta = (x1 - x0)/4, ndelta = delta?delta:(_width>1?1:0);
+          if (x0 - ndelta>=0) { x0-=ndelta; x1-=ndelta; }
+          else { x1-=x0; x0 = 0; }
+        }
+        if (go_right) {
+          const int delta = (x1 - x0)/4, ndelta = delta?delta:(_width>1?1:0);
+          if (x1+ndelta<width()) { x0+=ndelta; x1+=ndelta; }
+          else { x0+=(width() - 1 - x1); x1 = width() - 1; }
+        }
+        if (go_up) {
+          const int delta = (y1 - y0)/4, ndelta = delta?delta:(_height>1?1:0);
+          if (y0 - ndelta>=0) { y0-=ndelta; y1-=ndelta; }
+          else { y1-=y0; y0 = 0; }
+        }
+        if (go_down) {
+          const int delta = (y1 - y0)/4, ndelta = delta?delta:(_height>1?1:0);
+          if (y1+ndelta<height()) { y0+=ndelta; y1+=ndelta; }
+          else { y0+=(height() - 1 - y1); y1 = height() - 1; }
+        }
+        if (go_inc) {
+          const int delta = (z1 - z0)/4, ndelta = delta?delta:(_depth>1?1:0);
+          if (z0 - ndelta>=0) { z0-=ndelta; z1-=ndelta; }
+          else { z1-=z0; z0 = 0; }
+        }
+        if (go_dec) {
+          const int delta = (z1 - z0)/4, ndelta = delta?delta:(_depth>1?1:0);
+          if (z1+ndelta<depth()) { z0+=ndelta; z1+=ndelta; }
+          else { z0+=(depth() - 1 - z1); z1 = depth() - 1; }
+        }
+        disp.wait(100);
+      }
+      disp.set_key(key);
+      if (XYZ) { XYZ[0] = _XYZ[0]; XYZ[1] = _XYZ[1]; XYZ[2] = _XYZ[2]; }
+      return *this;
+    }
+
+    //! Display object 3d in an interactive window.
+    /**
+       \param disp Display window.
+       \param vertices Vertices data of the 3d object.
+       \param primitives Primitives data of the 3d object.
+       \param colors Colors data of the 3d object.
+       \param opacities Opacities data of the 3d object.
+       \param centering Tells if the 3d object must be centered for the display.
+       \param render_static Rendering mode.
+       \param render_motion Rendering mode, when the 3d object is moved.
+       \param is_double_sided Tells if the object primitives are double-sided.
+       \param focale Focale
+       \param light_x X-coordinate of the light source.
+       \param light_y Y-coordinate of the light source.
+       \param light_z Z-coordinate of the light source.
+       \param specular_lightness Amount of specular light.
+       \param specular_shininess Shininess of the object material.
+       \param display_axes Tells if the 3d axes are displayed.
+       \param pose_matrix Pointer to 12 values, defining a 3d pose (as a 4x3 matrix).
+    **/
+    template<typename tp, typename tf, typename tc, typename to>
+    const CImg<T>& display_object3d(CImgDisplay& disp,
+                                    const CImg<tp>& vertices,
+                                    const CImgList<tf>& primitives,
+                                    const CImgList<tc>& colors,
+                                    const to& opacities,
+                                    const bool centering=true,
+                                    const int render_static=4, const int render_motion=1,
+                                    const bool is_double_sided=true, const float focale=700,
+                                    const float light_x=0, const float light_y=0, const float light_z=-5e8f,
+                                    const float specular_lightness=0.2f, const float specular_shininess=0.1f,
+                                    const bool display_axes=true, float *const pose_matrix=0) const {
+      return _display_object3d(disp,0,vertices,primitives,colors,opacities,centering,render_static,
+			       render_motion,is_double_sided,focale,
+                               light_x,light_y,light_z,specular_lightness,specular_shininess,
+			       display_axes,pose_matrix);
+    }
+
+    //! Display object 3d in an interactive window \simplification.
+    template<typename tp, typename tf, typename tc, typename to>
+    const CImg<T>& display_object3d(const char *const title,
+                                    const CImg<tp>& vertices,
+                                    const CImgList<tf>& primitives,
+                                    const CImgList<tc>& colors,
+                                    const to& opacities,
+                                    const bool centering=true,
+                                    const int render_static=4, const int render_motion=1,
+                                    const bool is_double_sided=true, const float focale=700,
+                                    const float light_x=0, const float light_y=0, const float light_z=-5e8f,
+                                    const float specular_lightness=0.2f, const float specular_shininess=0.1f,
+                                    const bool display_axes=true, float *const pose_matrix=0) const {
+      CImgDisplay disp;
+      return _display_object3d(disp,title,vertices,primitives,colors,opacities,centering,render_static,
+			       render_motion,is_double_sided,focale,
+                               light_x,light_y,light_z,specular_lightness,specular_shininess,
+			       display_axes,pose_matrix);
+    }
+
+    //! Display object 3d in an interactive window \simplification.
+    template<typename tp, typename tf, typename tc>
+    const CImg<T>& display_object3d(CImgDisplay &disp,
+                                    const CImg<tp>& vertices,
+                                    const CImgList<tf>& primitives,
+                                    const CImgList<tc>& colors,
+                                    const bool centering=true,
+                                    const int render_static=4, const int render_motion=1,
+                                    const bool is_double_sided=true, const float focale=700,
+                                    const float light_x=0, const float light_y=0, const float light_z=-5e8f,
+                                    const float specular_lightness=0.2f, const float specular_shininess=0.1f,
+                                    const bool display_axes=true, float *const pose_matrix=0) const {
+      return display_object3d(disp,vertices,primitives,colors,CImgList<floatT>(),centering,
+			      render_static,render_motion,is_double_sided,focale,
+                              light_x,light_y,light_z,specular_lightness,specular_shininess,
+			      display_axes,pose_matrix);
+    }
+
+    //! Display object 3d in an interactive window \simplification.
+    template<typename tp, typename tf, typename tc>
+    const CImg<T>& display_object3d(const char *const title,
+				    const CImg<tp>& vertices,
+                                    const CImgList<tf>& primitives,
+                                    const CImgList<tc>& colors,
+                                    const bool centering=true,
+                                    const int render_static=4, const int render_motion=1,
+                                    const bool is_double_sided=true, const float focale=700,
+                                    const float light_x=0, const float light_y=0, const float light_z=-5e8f,
+                                    const float specular_lightness=0.2f, const float specular_shininess=0.1f,
+                                    const bool display_axes=true, float *const pose_matrix=0) const {
+      return display_object3d(title,vertices,primitives,colors,CImgList<floatT>(),centering,
+                              render_static,render_motion,is_double_sided,focale,
+                              light_x,light_y,light_z,specular_lightness,specular_shininess,
+                              display_axes,pose_matrix);
+    }
+
+    //! Display object 3d in an interactive window \simplification.
+    template<typename tp, typename tf>
+    const CImg<T>& display_object3d(CImgDisplay &disp,
+                                    const CImg<tp>& vertices,
+                                    const CImgList<tf>& primitives,
+                                    const bool centering=true,
+                                    const int render_static=4, const int render_motion=1,
+                                    const bool is_double_sided=true, const float focale=700,
+                                    const float light_x=0, const float light_y=0, const float light_z=-5e8f,
+                                    const float specular_lightness=0.2f, const float specular_shininess=0.1f,
+                                    const bool display_axes=true, float *const pose_matrix=0) const {
+      return display_object3d(disp,vertices,primitives,CImgList<T>(),centering,
+                              render_static,render_motion,is_double_sided,focale,
+                              light_x,light_y,light_z,specular_lightness,specular_shininess,
+                              display_axes,pose_matrix);
+    }
+
+
+    //! Display object 3d in an interactive window \simplification.
+    template<typename tp, typename tf>
+    const CImg<T>& display_object3d(const char *const title,
+				    const CImg<tp>& vertices,
+                                    const CImgList<tf>& primitives,
+                                    const bool centering=true,
+                                    const int render_static=4, const int render_motion=1,
+                                    const bool is_double_sided=true, const float focale=700,
+                                    const float light_x=0, const float light_y=0, const float light_z=-5e8f,
+                                    const float specular_lightness=0.2f, const float specular_shininess=0.1f,
+                                    const bool display_axes=true, float *const pose_matrix=0) const {
+      return display_object3d(title,vertices,primitives,CImgList<T>(),centering,
+                              render_static,render_motion,is_double_sided,focale,
+                              light_x,light_y,light_z,specular_lightness,specular_shininess,
+                              display_axes,pose_matrix);
+    }
+
+    //! Display object 3d in an interactive window \simplification.
+    template<typename tp>
+    const CImg<T>& display_object3d(CImgDisplay &disp,
+                                    const CImg<tp>& vertices,
+                                    const bool centering=true,
+                                    const int render_static=4, const int render_motion=1,
+                                    const bool is_double_sided=true, const float focale=700,
+                                    const float light_x=0, const float light_y=0, const float light_z=-5e8f,
+                                    const float specular_lightness=0.2f, const float specular_shininess=0.1f,
+                                    const bool display_axes=true, float *const pose_matrix=0) const {
+      return display_object3d(disp,vertices,CImgList<uintT>(),centering,
+                              render_static,render_motion,is_double_sided,focale,
+                              light_x,light_y,light_z,specular_lightness,specular_shininess,
+                              display_axes,pose_matrix);
+    }
+
+    //! Display object 3d in an interactive window \simplification.
+    template<typename tp>
+    const CImg<T>& display_object3d(const char *const title,
+				    const CImg<tp>& vertices,
+                                    const bool centering=true,
+                                    const int render_static=4, const int render_motion=1,
+                                    const bool is_double_sided=true, const float focale=700,
+                                    const float light_x=0, const float light_y=0, const float light_z=-5e8f,
+                                    const float specular_lightness=0.2f, const float specular_shininess=0.1f,
+                                    const bool display_axes=true, float *const pose_matrix=0) const {
+      return display_object3d(title,vertices,CImgList<uintT>(),centering,
+                              render_static,render_motion,is_double_sided,focale,
+                              light_x,light_y,light_z,specular_lightness,specular_shininess,
+                              display_axes,pose_matrix);
+    }
+
+    template<typename tp, typename tf, typename tc, typename to>
+    const CImg<T>& _display_object3d(CImgDisplay& disp, const char *const title,
+				     const CImg<tp>& vertices,
+				     const CImgList<tf>& primitives,
+				     const CImgList<tc>& colors,
+                                     const to& opacities,
+				     const bool centering,
+				     const int render_static, const int render_motion,
+				     const bool is_double_sided, const float focale,
+                                     const float light_x, const float light_y, const float light_z,
+				     const float specular_lightness, const float specular_shininess,
+				     const bool display_axes, float *const pose_matrix) const {
+      typedef typename cimg::superset<tp,float>::type tpfloat;
+
+      // Check input arguments
+      if (is_empty()) {
+	if (disp) return CImg<T>(disp.width(),disp.height(),1,(colors && colors[0].size()==1)?1:3,0).
+		    _display_object3d(disp,title,vertices,primitives,colors,opacities,centering,
+                                      render_static,render_motion,is_double_sided,focale,
+                                      light_x,light_y,light_z,specular_lightness,specular_shininess,
+                                      display_axes,pose_matrix);
+	else return CImg<T>(1,2,1,1,64,128).resize(cimg_fitscreen(CImgDisplay::screen_width()/2,
+                                                                  CImgDisplay::screen_height()/2,1),
+                                                   1,(colors && colors[0].size()==1)?1:3,3).
+               _display_object3d(disp,title,vertices,primitives,colors,opacities,centering,
+				 render_static,render_motion,is_double_sided,focale,
+                                 light_x,light_y,light_z,specular_lightness,specular_shininess,
+				 display_axes,pose_matrix);
+      } else { if (disp) disp.resize(*this,false); }
+      CImg<charT> error_message(1024);
+      if (!vertices.is_object3d(primitives,colors,opacities,true,error_message))
+        throw CImgArgumentException(_cimg_instance
+                                    "display_object3d(): Invalid specified 3d object (%u,%u) (%s).",
+                                    cimg_instance,vertices._width,primitives._width,error_message.data());
+      if (vertices._width && !primitives) {
+        CImgList<tf> nprimitives(vertices._width,1,1,1,1);
+        cimglist_for(nprimitives,l) nprimitives(l,0) = (tf)l;
+        return _display_object3d(disp,title,vertices,nprimitives,colors,opacities,centering,
+				 render_static,render_motion,is_double_sided,focale,
+                                 light_x,light_y,light_z,specular_lightness,specular_shininess,
+				 display_axes,pose_matrix);
+      }
+      if (!disp) {
+	disp.assign(cimg_fitscreen(_width,_height,_depth),title?title:0,3);
+        if (!title) disp.set_title("CImg<%s> (%u vertices, %u primitives)",
+                                   pixel_type(),vertices._width,primitives._width);
+      } else if (title) disp.set_title("%s",title);
+
+      // Init 3d objects and compute object statistics
+      CImg<floatT>
+        pose,
+        rotated_vertices(vertices._width,3),
+        bbox_vertices, rotated_bbox_vertices,
+        axes_vertices, rotated_axes_vertices,
+        bbox_opacities, axes_opacities;
+      CImgList<uintT> bbox_primitives, axes_primitives;
+      CImgList<tf> reverse_primitives;
+      CImgList<T> bbox_colors, bbox_colors2, axes_colors;
+      unsigned int ns_width = 0, ns_height = 0;
+      int _is_double_sided = (int)is_double_sided;
+      bool ndisplay_axes = display_axes;
+      const CImg<T>
+        background_color(1,1,1,_spectrum,0),
+        foreground_color(1,1,1,_spectrum,255);
+      float
+        Xoff = 0, Yoff = 0, Zoff = 0, sprite_scale = 1,
+        xm = 0, xM = vertices?vertices.get_shared_row(0).max_min(xm):0,
+        ym = 0, yM = vertices?vertices.get_shared_row(1).max_min(ym):0,
+        zm = 0, zM = vertices?vertices.get_shared_row(2).max_min(zm):0;
+      const float delta = cimg::max(xM - xm,yM - ym,zM - zm);
+
+      rotated_bbox_vertices = bbox_vertices.assign(8,3,1,1,
+                                                   xm,xM,xM,xm,xm,xM,xM,xm,
+                                                   ym,ym,yM,yM,ym,ym,yM,yM,
+                                                   zm,zm,zm,zm,zM,zM,zM,zM);
+      bbox_primitives.assign(6,1,4,1,1, 0,3,2,1, 4,5,6,7, 1,2,6,5, 0,4,7,3, 0,1,5,4, 2,3,7,6);
+      bbox_colors.assign(6,_spectrum,1,1,1,background_color[0]);
+      bbox_colors2.assign(6,_spectrum,1,1,1,foreground_color[0]);
+      bbox_opacities.assign(bbox_colors._width,1,1,1,0.3f);
+
+      rotated_axes_vertices = axes_vertices.assign(7,3,1,1,
+                                                   0,20,0,0,22,-6,-6,
+                                                   0,0,20,0,-6,22,-6,
+                                                   0,0,0,20,0,0,22);
+      axes_opacities.assign(3,1,1,1,1);
+      axes_colors.assign(3,_spectrum,1,1,1,foreground_color[0]);
+      axes_primitives.assign(3,1,2,1,1, 0,1, 0,2, 0,3);
+
+      // Begin user interaction loop
+      CImg<T> visu0(*this), visu;
+      CImg<tpfloat> zbuffer(visu0.width(),visu0.height(),1,1,0);
+      bool init_pose = true, clicked = false, redraw = true;
+      unsigned int key = 0;
+      int
+        x0 = 0, y0 = 0, x1 = 0, y1 = 0,
+        nrender_static = render_static,
+        nrender_motion = render_motion;
+      disp.show().flush();
+
+      while (!disp.is_closed() && !key) {
+
+        // Init object pose
+        if (init_pose) {
+          const float
+            ratio = delta>0?(2.0f*cimg::min(disp.width(),disp.height())/(3.0f*delta)):1,
+            dx = (xM + xm)/2, dy = (yM + ym)/2, dz = (zM + zm)/2;
+          if (centering)
+            CImg<floatT>(4,3,1,1, ratio,0.,0.,-ratio*dx, 0.,ratio,0.,-ratio*dy, 0.,0.,ratio,-ratio*dz).move_to(pose);
+          else CImg<floatT>(4,3,1,1, 1,0,0,0, 0,1,0,0, 0,0,1,0).move_to(pose);
+          if (pose_matrix) {
+            CImg<floatT> pose0(pose_matrix,4,3,1,1,false);
+            pose0.resize(4,4,1,1,0); pose.resize(4,4,1,1,0);
+            pose0(3,3) = pose(3,3) = 1;
+            (pose0*pose).get_crop(0,0,3,2).move_to(pose);
+            Xoff = pose_matrix[12]; Yoff = pose_matrix[13]; Zoff = pose_matrix[14]; sprite_scale = pose_matrix[15];
+          } else { Xoff = Yoff = Zoff = 0; sprite_scale = 1; }
+          init_pose = false;
+          redraw = true;
+        }
+
+        // Rotate and draw 3d object
+        if (redraw) {
+          const float
+            r00 = pose(0,0), r10 = pose(1,0), r20 = pose(2,0), r30 = pose(3,0),
+            r01 = pose(0,1), r11 = pose(1,1), r21 = pose(2,1), r31 = pose(3,1),
+            r02 = pose(0,2), r12 = pose(1,2), r22 = pose(2,2), r32 = pose(3,2);
+          if ((clicked && nrender_motion>=0) || (!clicked && nrender_static>=0))
+            cimg_forX(vertices,l) {
+              const float x = (float)vertices(l,0), y = (float)vertices(l,1), z = (float)vertices(l,2);
+              rotated_vertices(l,0) = r00*x + r10*y + r20*z + r30;
+              rotated_vertices(l,1) = r01*x + r11*y + r21*z + r31;
+              rotated_vertices(l,2) = r02*x + r12*y + r22*z + r32;
+            }
+          else cimg_forX(bbox_vertices,l) {
+              const float x = bbox_vertices(l,0), y = bbox_vertices(l,1), z = bbox_vertices(l,2);
+              rotated_bbox_vertices(l,0) = r00*x + r10*y + r20*z + r30;
+              rotated_bbox_vertices(l,1) = r01*x + r11*y + r21*z + r31;
+              rotated_bbox_vertices(l,2) = r02*x + r12*y + r22*z + r32;
+            }
+
+          // Draw objects
+          //#ifdef cimg_use_openmp
+          //          const bool render_with_zbuffer = true;
+          //#else
+          const bool render_with_zbuffer = !clicked && nrender_static>0;
+          //#endif
+          visu = visu0;
+          if ((clicked && nrender_motion<0) || (!clicked && nrender_static<0))
+            visu.draw_object3d(Xoff + visu._width/2.0f,Yoff + visu._height/2.0f,Zoff,
+                               rotated_bbox_vertices,bbox_primitives,bbox_colors,bbox_opacities,2,false,focale).
+              draw_object3d(Xoff + visu._width/2.0f,Yoff + visu._height/2.0f,Zoff,
+                            rotated_bbox_vertices,bbox_primitives,bbox_colors2,1,false,focale);
+          else visu._draw_object3d((void*)0,render_with_zbuffer?zbuffer.fill(0):CImg<tpfloat>::empty(),
+                                   Xoff + visu._width/2.0f,Yoff + visu._height/2.0f,Zoff,
+                                   rotated_vertices,reverse_primitives?reverse_primitives:primitives,
+                                   colors,opacities,clicked?nrender_motion:nrender_static,_is_double_sided==1,focale,
+                                   width()/2.0f + light_x,height()/2.0f + light_y,light_z + Zoff,
+                                   specular_lightness,specular_shininess,sprite_scale);
+          // Draw axes
+          if (ndisplay_axes) {
+            const float
+              n = (float)std::sqrt(1e-8 + r00*r00 + r01*r01 + r02*r02),
+              _r00 = r00/n, _r10 = r10/n, _r20 = r20/n,
+              _r01 = r01/n, _r11 = r11/n, _r21 = r21/n,
+              _r02 = r01/n, _r12 = r12/n, _r22 = r22/n,
+              Xaxes = 25, Yaxes = visu._height - 38.0f;
+            cimg_forX(axes_vertices,l) {
+              const float
+                x = axes_vertices(l,0),
+                y = axes_vertices(l,1),
+                z = axes_vertices(l,2);
+              rotated_axes_vertices(l,0) = _r00*x + _r10*y + _r20*z;
+              rotated_axes_vertices(l,1) = _r01*x + _r11*y + _r21*z;
+              rotated_axes_vertices(l,2) = _r02*x + _r12*y + _r22*z;
+            }
+            axes_opacities(0,0) = (rotated_axes_vertices(1,2)>0)?0.5f:1.0f;
+            axes_opacities(1,0) = (rotated_axes_vertices(2,2)>0)?0.5f:1.0f;
+            axes_opacities(2,0) = (rotated_axes_vertices(3,2)>0)?0.5f:1.0f;
+            visu.draw_object3d(Xaxes,Yaxes,0,rotated_axes_vertices,axes_primitives,
+                               axes_colors,axes_opacities,1,false,focale).
+              draw_text((int)(Xaxes + rotated_axes_vertices(4,0)),
+                        (int)(Yaxes + rotated_axes_vertices(4,1)),
+                        "X",axes_colors[0]._data,0,axes_opacities(0,0),13).
+              draw_text((int)(Xaxes + rotated_axes_vertices(5,0)),
+                        (int)(Yaxes + rotated_axes_vertices(5,1)),
+                        "Y",axes_colors[1]._data,0,axes_opacities(1,0),13).
+              draw_text((int)(Xaxes + rotated_axes_vertices(6,0)),
+                        (int)(Yaxes + rotated_axes_vertices(6,1)),
+                        "Z",axes_colors[2]._data,0,axes_opacities(2,0),13);
+          }
+          visu.display(disp);
+          if (!clicked || nrender_motion==nrender_static) redraw = false;
+        }
+
+        // Handle user interaction
+        disp.wait();
+        if ((disp.button() || disp.wheel()) && disp.mouse_x()>=0 && disp.mouse_y()>=0) {
+          redraw = true;
+          if (!clicked) { x0 = x1 = disp.mouse_x(); y0 = y1 = disp.mouse_y(); if (!disp.wheel()) clicked = true; }
+          else { x1 = disp.mouse_x(); y1 = disp.mouse_y(); }
+          if (disp.button()&1) {
+            const float
+              R = 0.45f*cimg::min(disp.width(),disp.height()),
+              R2 = R*R,
+              u0 = (float)(x0 - disp.width()/2),
+              v0 = (float)(y0 - disp.height()/2),
+              u1 = (float)(x1 - disp.width()/2),
+              v1 = (float)(y1 - disp.height()/2),
+              n0 = (float)std::sqrt(u0*u0 + v0*v0),
+              n1 = (float)std::sqrt(u1*u1 + v1*v1),
+              nu0 = n0>R?(u0*R/n0):u0,
+              nv0 = n0>R?(v0*R/n0):v0,
+              nw0 = (float)std::sqrt(cimg::max(0,R2 - nu0*nu0 - nv0*nv0)),
+              nu1 = n1>R?(u1*R/n1):u1,
+              nv1 = n1>R?(v1*R/n1):v1,
+              nw1 = (float)std::sqrt(cimg::max(0,R2 - nu1*nu1 - nv1*nv1)),
+              u = nv0*nw1 - nw0*nv1,
+              v = nw0*nu1 - nu0*nw1,
+              w = nv0*nu1 - nu0*nv1,
+              n = (float)std::sqrt(u*u + v*v + w*w),
+              alpha = (float)std::asin(n/R2);
+            (CImg<floatT>::rotation_matrix(u,v,w,alpha)*pose).move_to(pose);
+            x0 = x1; y0 = y1;
+          }
+          if (disp.button()&2) {
+            if (focale>0) Zoff-=(y0 - y1)*focale/400;
+            else { const float s = std::exp((y0 - y1)/400.0f); pose*=s; sprite_scale*=s; }
+            x0 = x1; y0 = y1;
+          }
+          if (disp.wheel()) {
+            if (focale>0) Zoff-=disp.wheel()*focale/20;
+            else { const float s = std::exp(disp.wheel()/20.0f); pose*=s; sprite_scale*=s; }
+            disp.set_wheel();
+          }
+          if (disp.button()&4) { Xoff+=(x1 - x0); Yoff+=(y1 - y0); x0 = x1; y0 = y1; }
+          if ((disp.button()&1) && (disp.button()&2)) {
+            init_pose = true; disp.set_button(); x0 = x1; y0 = y1;
+            pose = CImg<floatT>(4,3,1,1, 1,0,0,0, 0,1,0,0, 0,0,1,0);
+          }
+        } else if (clicked) { x0 = x1; y0 = y1; clicked = false; redraw = true; }
+
+        switch (key = disp.key()) {
+#if cimg_OS!=2
+        case cimg::keyCTRLRIGHT :
+#endif
+        case 0 : case cimg::keyCTRLLEFT : key = 0; break;
+        case cimg::keyD: if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            disp.set_fullscreen(false).
+              resize(CImgDisplay::_fitscreen(3*disp.width()/2,3*disp.height()/2,1,128,-100,false),
+                     CImgDisplay::_fitscreen(3*disp.width()/2,3*disp.height()/2,1,128,-100,true),false).
+              _is_resized = true;
+            disp.set_key(key,false); key = 0;
+          } break;
+        case cimg::keyC : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            disp.set_fullscreen(false).
+              resize(cimg_fitscreen(2*disp.width()/3,2*disp.height()/3,1),false)._is_resized = true;
+            disp.set_key(key,false); key = 0;
+          } break;
+        case cimg::keyR : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            disp.set_fullscreen(false).resize(cimg_fitscreen(_width,_height,_depth),false)._is_resized = true;
+            disp.set_key(key,false); key = 0;
+          } break;
+        case cimg::keyF : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            if (!ns_width || !ns_height ||
+                ns_width>(unsigned int)disp.screen_width() || ns_height>(unsigned int)disp.screen_height()) {
+              ns_width = disp.screen_width()*3U/4;
+              ns_height = disp.screen_height()*3U/4;
+            }
+            if (disp.is_fullscreen()) disp.resize(ns_width,ns_height,false);
+            else {
+              ns_width = disp._width; ns_height = disp._height;
+              disp.resize(disp.screen_width(),disp.screen_height(),false);
+            }
+            disp.toggle_fullscreen()._is_resized = true;
+            disp.set_key(key,false); key = 0;
+          } break;
+        case cimg::keyT : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            // Switch single/double-sided primitives.
+            if (--_is_double_sided==-2) _is_double_sided = 1;
+            if (_is_double_sided>=0) reverse_primitives.assign();
+            else primitives.get_reverse_object3d().move_to(reverse_primitives);
+            disp.set_key(key,false); key = 0; redraw = true;
+          } break;
+        case cimg::keyZ : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) { // Enable/disable Z-buffer
+            if (zbuffer) zbuffer.assign();
+            else zbuffer.assign(visu0.width(),visu0.height(),1,1,0);
+            disp.set_key(key,false); key = 0; redraw = true;
+          } break;
+        case cimg::keyA : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) { // Show/hide 3d axes.
+            ndisplay_axes = !ndisplay_axes;
+            disp.set_key(key,false); key = 0; redraw = true;
+          } break;
+        case cimg::keyF1 : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) { // Set rendering mode to points.
+            nrender_motion = (nrender_static==0 && nrender_motion!=0)?0:-1; nrender_static = 0;
+            disp.set_key(key,false); key = 0; redraw = true;
+          } break;
+        case cimg::keyF2 : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) { // Set rendering mode to lines.
+            nrender_motion = (nrender_static==1 && nrender_motion!=1)?1:-1; nrender_static = 1;
+            disp.set_key(key,false); key = 0; redraw = true;
+          } break;
+        case cimg::keyF3 : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) { // Set rendering mode to flat.
+            nrender_motion = (nrender_static==2 && nrender_motion!=2)?2:-1; nrender_static = 2;
+            disp.set_key(key,false); key = 0; redraw = true;
+          } break;
+        case cimg::keyF4 : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) { // Set rendering mode to flat-shaded.
+            nrender_motion = (nrender_static==3 && nrender_motion!=3)?3:-1; nrender_static = 3;
+            disp.set_key(key,false); key = 0; redraw = true;
+          } break;
+        case cimg::keyF5 : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            // Set rendering mode to gouraud-shaded.
+            nrender_motion = (nrender_static==4 && nrender_motion!=4)?4:-1; nrender_static = 4;
+            disp.set_key(key,false); key = 0; redraw = true;
+          } break;
+        case cimg::keyF6 : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) { // Set rendering mode to phong-shaded.
+            nrender_motion = (nrender_static==5 && nrender_motion!=5)?5:-1; nrender_static = 5;
+            disp.set_key(key,false); key = 0; redraw = true;
+          } break;
+        case cimg::keyS : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) { // Save snapshot
+            static unsigned int snap_number = 0;
+            char filename[32] = { 0 };
+            std::FILE *file;
+            do {
+              cimg_snprintf(filename,sizeof(filename),cimg_appname "_%.4u.bmp",snap_number++);
+              if ((file=std::fopen(filename,"r"))!=0) cimg::fclose(file);
+            } while (file);
+            (+visu).draw_text(0,0," Saving snapshot... ",
+                              foreground_color._data,background_color._data,0.7f,13).display(disp);
+            visu.save(filename);
+            (+visu).draw_text(0,0," Snapshot '%s' saved. ",
+                              foreground_color._data,background_color._data,0.7f,13,filename).display(disp);
+            disp.set_key(key,false); key = 0;
+          } break;
+        case cimg::keyG : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) { // Save object as a .off file
+            static unsigned int snap_number = 0;
+            char filename[32] = { 0 };
+            std::FILE *file;
+            do {
+              cimg_snprintf(filename,sizeof(filename),cimg_appname "_%.4u.off",snap_number++);
+              if ((file=std::fopen(filename,"r"))!=0) cimg::fclose(file);
+            } while (file);
+            (+visu).draw_text(0,0," Saving object... ",
+                              foreground_color._data,background_color._data,0.7f,13).display(disp);
+            vertices.save_off(reverse_primitives?reverse_primitives:primitives,colors,filename);
+            (+visu).draw_text(0,0," Object '%s' saved. ",
+                              foreground_color._data,background_color._data,0.7f,13,filename).display(disp);
+            disp.set_key(key,false); key = 0;
+          } break;
+        case cimg::keyO : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) { // Save object as a .cimg file
+            static unsigned int snap_number = 0;
+            char filename[32] = { 0 };
+            std::FILE *file;
+            do {
+#ifdef cimg_use_zlib
+              cimg_snprintf(filename,sizeof(filename),cimg_appname "_%.4u.cimgz",snap_number++);
+#else
+              cimg_snprintf(filename,sizeof(filename),cimg_appname "_%.4u.cimg",snap_number++);
+#endif
+              if ((file=std::fopen(filename,"r"))!=0) cimg::fclose(file);
+            } while (file);
+            (+visu).draw_text(0,0," Saving object... ",
+                              foreground_color._data,background_color._data,0.7f,13).display(disp);
+            vertices.get_object3dtoCImg3d(reverse_primitives?reverse_primitives:primitives,colors,opacities).
+              save(filename);
+            (+visu).draw_text(0,0," Object '%s' saved. ",
+                              foreground_color._data,background_color._data,0.7f,13,filename).display(disp);
+            disp.set_key(key,false); key = 0;
+          } break;
+#ifdef cimg_use_board
+        case cimg::keyP : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) { // Save object as a .EPS file
+            static unsigned int snap_number = 0;
+            char filename[32] = { 0 };
+            std::FILE *file;
+            do {
+              cimg_snprintf(filename,sizeof(filename),cimg_appname "_%.4u.eps",snap_number++);
+              if ((file=std::fopen(filename,"r"))!=0) cimg::fclose(file);
+            } while (file);
+            (+visu).draw_text(0,0," Saving EPS snapshot... ",
+                              foreground_color._data,background_color._data,0.7f,13).display(disp);
+            LibBoard::Board board;
+            (+visu)._draw_object3d(&board,zbuffer.fill(0),
+                                   Xoff + visu._width/2.0f,Yoff + visu._height/2.0f,Zoff,
+                                   rotated_vertices,reverse_primitives?reverse_primitives:primitives,
+                                   colors,opacities,clicked?nrender_motion:nrender_static,
+                                   _is_double_sided==1,focale,
+                                   visu.width()/2.0f + light_x,visu.height()/2.0f + light_y,light_z + Zoff,
+                                   specular_lightness,specular_shininess,
+                                   sprite_scale);
+            board.saveEPS(filename);
+            (+visu).draw_text(0,0," Object '%s' saved. ",
+                              foreground_color._data,background_color._data,0.7f,13,filename).display(disp);
+            disp.set_key(key,false); key = 0;
+          } break;
+        case cimg::keyV : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) { // Save object as a .SVG file
+            static unsigned int snap_number = 0;
+            char filename[32] = { 0 };
+            std::FILE *file;
+            do {
+              cimg_snprintf(filename,sizeof(filename),cimg_appname "_%.4u.svg",snap_number++);
+              if ((file=std::fopen(filename,"r"))!=0) cimg::fclose(file);
+            } while (file);
+            (+visu).draw_text(0,0," Saving SVG snapshot... ",
+                              foreground_color._data,background_color._data,0.7f,13).display(disp);
+            LibBoard::Board board;
+            (+visu)._draw_object3d(&board,zbuffer.fill(0),
+                                   Xoff + visu._width/2.0f,Yoff + visu._height/2.0f,Zoff,
+                                   rotated_vertices,reverse_primitives?reverse_primitives:primitives,
+                                   colors,opacities,clicked?nrender_motion:nrender_static,
+                                   _is_double_sided==1,focale,
+                                   visu.width()/2.0f + light_x,visu.height()/2.0f + light_y,light_z + Zoff,
+                                   specular_lightness,specular_shininess,
+                                   sprite_scale);
+            board.saveSVG(filename);
+            (+visu).draw_text(0,0," Object '%s' saved. ",
+                              foreground_color._data,background_color._data,0.7f,13,filename).display(disp);
+            disp.set_key(key,false); key = 0;
+          } break;
+#endif
+        }
+        if (disp.is_resized()) {
+          disp.resize(false); visu0 = get_resize(disp,1);
+          if (zbuffer) zbuffer.assign(disp.width(),disp.height());
+          redraw = true;
+        }
+      }
+      if (pose_matrix) {
+        std::memcpy(pose_matrix,pose._data,12*sizeof(float));
+        pose_matrix[12] = Xoff; pose_matrix[13] = Yoff; pose_matrix[14] = Zoff; pose_matrix[15] = sprite_scale;
+      }
+      disp.set_button().set_key(key);
+      return *this;
+    }
+
+    //! Display 1d graph in an interactive window.
+    /**
+       \param disp Display window.
+       \param plot_type Plot type. Can be <tt>{ 0=points | 1=segments | 2=splines | 3=bars }</tt>.
+       \param vertex_type Vertex type.
+       \param labelx Title for the horizontal axis, as a C-string.
+       \param xmin Minimum value along the X-axis.
+       \param xmax Maximum value along the X-axis.
+       \param labely Title for the vertical axis, as a C-string.
+       \param ymin Minimum value along the X-axis.
+       \param ymax Maximum value along the X-axis.
+    **/
+    const CImg<T>& display_graph(CImgDisplay &disp,
+                                 const unsigned int plot_type=1, const unsigned int vertex_type=1,
+                                 const char *const labelx=0, const double xmin=0, const double xmax=0,
+                                 const char *const labely=0, const double ymin=0, const double ymax=0) const {
+      return _display_graph(disp,0,plot_type,vertex_type,labelx,xmin,xmax,labely,ymin,ymax);
+    }
+
+    //! Display 1d graph in an interactive window \overloading.
+    const CImg<T>& display_graph(const char *const title=0,
+                                 const unsigned int plot_type=1, const unsigned int vertex_type=1,
+                                 const char *const labelx=0, const double xmin=0, const double xmax=0,
+                                 const char *const labely=0, const double ymin=0, const double ymax=0) const {
+      CImgDisplay disp;
+      return _display_graph(disp,title,plot_type,vertex_type,labelx,xmin,xmax,labely,ymin,ymax);
+    }
+
+    const CImg<T>& _display_graph(CImgDisplay &disp, const char *const title=0,
+                                 const unsigned int plot_type=1, const unsigned int vertex_type=1,
+                                 const char *const labelx=0, const double xmin=0, const double xmax=0,
+                                 const char *const labely=0, const double ymin=0, const double ymax=0) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "display_graph(): Empty instance.",
+                                    cimg_instance);
+      if (!disp) disp.assign(cimg_fitscreen(CImgDisplay::screen_width()/2,CImgDisplay::screen_height()/2,1),0,0).
+                   set_title(title?"%s":"CImg<%s>",title?title:pixel_type());
+      const unsigned long siz = (unsigned long)_width*_height*_depth, siz1 = cimg::max(1U,siz - 1);
+      const unsigned int old_normalization = disp.normalization();
+      disp.show().flush()._normalization = 0;
+
+      double y0 = ymin, y1 = ymax, nxmin = xmin, nxmax = xmax;
+      if (nxmin==nxmax) { nxmin = 0; nxmax = siz1; }
+      int x0 = 0, x1 = width()*height()*depth() - 1, key = 0;
+
+      for (bool reset_view = true; !key && !disp.is_closed(); ) {
+        if (reset_view) { x0 = 0; x1 = width()*height()*depth() - 1; y0 = ymin; y1 = ymax; reset_view = false; }
+        CImg<T> zoom(x1 - x0 + 1,1,1,spectrum());
+        cimg_forC(*this,c) zoom.get_shared_channel(c) = CImg<T>(data(x0,0,0,c),x1 - x0 + 1,1,1,1,true);
+        if (y0==y1) { y0 = zoom.min_max(y1); const double dy = y1 - y0; y0-=dy/20; y1+=dy/20; }
+        if (y0==y1) { --y0; ++y1; }
+
+        const CImg<intT> selection = zoom.get_select_graph(disp,plot_type,vertex_type,
+        					           labelx,
+                                                           nxmin + x0*(nxmax - nxmin)/siz1,
+                                                           nxmin + x1*(nxmax - nxmin)/siz1,
+                                                           labely,y0,y1);
+	const int mouse_x = disp.mouse_x(), mouse_y = disp.mouse_y();
+        if (selection[0]>=0) {
+          if (selection[2]<0) reset_view = true;
+          else {
+            x1 = x0 + selection[2]; x0+=selection[0];
+            if (selection[1]>=0 && selection[3]>=0) {
+              y0 = y1 - selection[3]*(y1 - y0)/(disp.height() - 32);
+              y1-=selection[1]*(y1 - y0)/(disp.height() - 32);
+            }
+          }
+        } else {
+          bool go_in = false, go_out = false, go_left = false, go_right = false, go_up = false, go_down = false;
+          switch (key = (int)disp.key()) {
+          case cimg::keyHOME : reset_view = true; key = 0; disp.set_key(); break;
+          case cimg::keyPADADD : go_in = true; go_out = false; key = 0; disp.set_key(); break;
+          case cimg::keyPADSUB : go_out = true; go_in = false; key = 0; disp.set_key(); break;
+          case cimg::keyARROWLEFT : case cimg::keyPAD4 : go_left = true; go_right = false; key = 0; disp.set_key();
+            break;
+          case cimg::keyARROWRIGHT : case cimg::keyPAD6 : go_right = true; go_left = false; key = 0; disp.set_key();
+            break;
+          case cimg::keyARROWUP : case cimg::keyPAD8 : go_up = true; go_down = false; key = 0; disp.set_key(); break;
+          case cimg::keyARROWDOWN : case cimg::keyPAD2 : go_down = true; go_up = false; key = 0; disp.set_key(); break;
+          case cimg::keyPAD7 : go_left = true; go_up = true; key = 0; disp.set_key(); break;
+          case cimg::keyPAD9 : go_right = true; go_up = true; key = 0; disp.set_key(); break;
+          case cimg::keyPAD1 : go_left = true; go_down = true; key = 0; disp.set_key(); break;
+          case cimg::keyPAD3 : go_right = true; go_down = true; key = 0; disp.set_key(); break;
+          }
+          if (disp.wheel()) {
+            if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) go_out = !(go_in = disp.wheel()>0);
+            else if (disp.is_keySHIFTLEFT() || disp.is_keySHIFTRIGHT()) go_left = !(go_right = disp.wheel()>0);
+            else go_up = !(go_down = disp.wheel()<0);
+            key = 0;
+          }
+
+          if (go_in) {
+            const int
+              xsiz = x1 - x0,
+              mx = (mouse_x - 16)*xsiz/(disp.width() - 32),
+              cx = x0 + (mx<0?0:(mx>=xsiz?xsiz:mx));
+            if (x1 - x0>4) {
+              x0 = cx - 7*(cx - x0)/8; x1 = cx + 7*(x1 - cx)/8;
+              if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+                const double
+                  ysiz = y1 - y0,
+                  my = (mouse_y - 16)*ysiz/(disp.height() - 32),
+                  cy = y1 - (my<0?0:(my>=ysiz?ysiz:my));
+                y0 = cy - 7*(cy - y0)/8; y1 = cy + 7*(y1 - cy)/8;
+              } else y0 = y1 = 0;
+            }
+          }
+          if (go_out) {
+            if (x0>0 || x1<(int)siz1) {
+              const int delta_x = (x1 - x0)/8, ndelta_x = delta_x?delta_x:(siz>1?1:0);
+              const double ndelta_y = (y1 - y0)/8;
+              x0-=ndelta_x; x1+=ndelta_x;
+              y0-=ndelta_y; y1+=ndelta_y;
+              if (x0<0) { x1-=x0; x0 = 0; if (x1>=(int)siz) x1 = (int)siz1; }
+              if (x1>=(int)siz) { x0-=(x1 - siz1); x1 = (int)siz1; if (x0<0) x0 = 0; }
+            }
+          }
+          if (go_left) {
+            const int delta = (x1 - x0)/5, ndelta = delta?delta:1;
+            if (x0 - ndelta>=0) { x0-=ndelta; x1-=ndelta; }
+            else { x1-=x0; x0 = 0; }
+            go_left = false;
+          }
+          if (go_right) {
+            const int delta = (x1 - x0)/5, ndelta = delta?delta:1;
+            if (x1 + ndelta<(int)siz) { x0+=ndelta; x1+=ndelta; }
+            else { x0+=(siz1 - x1); x1 = (int)siz1; }
+            go_right = false;
+          }
+          if (go_up) {
+            const double delta = (y1 - y0)/10, ndelta = delta?delta:1;
+            y0+=ndelta; y1+=ndelta;
+            go_up = false;
+          }
+          if (go_down) {
+            const double delta = (y1 - y0)/10, ndelta = delta?delta:1;
+            y0-=ndelta; y1-=ndelta;
+            go_down = false;
+          }
+        }
+      }
+      disp._normalization = old_normalization;
+      return *this;
+    }
+
+    //! Save image as a file.
+    /**
+       \param filename Filename, as a C-string.
+       \param number When positive, represents an index added to the filename. Otherwise, no number is added.
+       \param digits Number of digits used for adding the number to the filename.
+       \note
+       - The used file format is defined by the file extension in the filename \p filename.
+       - Parameter \p number can be used to add a 6-digit number to the filename before saving.
+
+    **/
+    const CImg<T>& save(const char *const filename, const int number=-1, const unsigned int digits=6) const {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save(): Specified filename is (null).",
+                                    cimg_instance);
+      // Do not test for empty instances, since .cimg format is able to manage empty instances.
+      const bool is_stdout = *filename=='-' && (!filename[1] || filename[1]=='.');
+      const char *const ext = cimg::split_filename(filename);
+      CImg<charT> nfilename(1024);
+      const char *const fn = is_stdout?filename:(number>=0)?cimg::number_filename(filename,number,digits,nfilename):
+        filename;
+
+#ifdef cimg_save_plugin
+      cimg_save_plugin(fn);
+#endif
+#ifdef cimg_save_plugin1
+      cimg_save_plugin1(fn);
+#endif
+#ifdef cimg_save_plugin2
+      cimg_save_plugin2(fn);
+#endif
+#ifdef cimg_save_plugin3
+      cimg_save_plugin3(fn);
+#endif
+#ifdef cimg_save_plugin4
+      cimg_save_plugin4(fn);
+#endif
+#ifdef cimg_save_plugin5
+      cimg_save_plugin5(fn);
+#endif
+#ifdef cimg_save_plugin6
+      cimg_save_plugin6(fn);
+#endif
+#ifdef cimg_save_plugin7
+      cimg_save_plugin7(fn);
+#endif
+#ifdef cimg_save_plugin8
+      cimg_save_plugin8(fn);
+#endif
+      // Ascii formats
+      if (!cimg::strcasecmp(ext,"asc")) return save_ascii(fn);
+      else if (!cimg::strcasecmp(ext,"dlm") ||
+               !cimg::strcasecmp(ext,"txt")) return save_dlm(fn);
+      else if (!cimg::strcasecmp(ext,"cpp") ||
+               !cimg::strcasecmp(ext,"hpp") ||
+               !cimg::strcasecmp(ext,"h") ||
+               !cimg::strcasecmp(ext,"c")) return save_cpp(fn);
+
+      // 2d binary formats
+      else if (!cimg::strcasecmp(ext,"bmp")) return save_bmp(fn);
+      else if (!cimg::strcasecmp(ext,"jpg") ||
+               !cimg::strcasecmp(ext,"jpeg") ||
+               !cimg::strcasecmp(ext,"jpe") ||
+               !cimg::strcasecmp(ext,"jfif") ||
+               !cimg::strcasecmp(ext,"jif")) return save_jpeg(fn);
+      else if (!cimg::strcasecmp(ext,"rgb")) return save_rgb(fn);
+      else if (!cimg::strcasecmp(ext,"rgba")) return save_rgba(fn);
+      else if (!cimg::strcasecmp(ext,"png")) return save_png(fn);
+      else if (!cimg::strcasecmp(ext,"pgm") ||
+               !cimg::strcasecmp(ext,"ppm") ||
+               !cimg::strcasecmp(ext,"pnm")) return save_pnm(fn);
+      else if (!cimg::strcasecmp(ext,"pnk")) return save_pnk(fn);
+      else if (!cimg::strcasecmp(ext,"pfm")) return save_pfm(fn);
+      else if (!cimg::strcasecmp(ext,"exr")) return save_exr(fn);
+      else if (!cimg::strcasecmp(ext,"tif") ||
+               !cimg::strcasecmp(ext,"tiff")) return save_tiff(fn);
+
+      // 3d binary formats
+      else if (!cimg::strcasecmp(ext,"cimgz")) return save_cimg(fn,true);
+      else if (!cimg::strcasecmp(ext,"cimg") || !*ext) return save_cimg(fn,false);
+      else if (!cimg::strcasecmp(ext,"dcm")) return save_medcon_external(fn);
+      else if (!cimg::strcasecmp(ext,"hdr") ||
+               !cimg::strcasecmp(ext,"nii")) return save_analyze(fn);
+      else if (!cimg::strcasecmp(ext,"inr")) return save_inr(fn);
+      else if (!cimg::strcasecmp(ext,"mnc")) return save_minc2(fn);
+      else if (!cimg::strcasecmp(ext,"pan")) return save_pandore(fn);
+      else if (!cimg::strcasecmp(ext,"raw")) return save_raw(fn);
+
+      // Archive files
+      else if (!cimg::strcasecmp(ext,"gz")) return save_gzip_external(fn);
+
+      // Image sequences
+      else if (!cimg::strcasecmp(ext,"yuv")) return save_yuv(fn,true);
+      else if (!cimg::strcasecmp(ext,"avi") ||
+               !cimg::strcasecmp(ext,"mov") ||
+               !cimg::strcasecmp(ext,"asf") ||
+               !cimg::strcasecmp(ext,"divx") ||
+               !cimg::strcasecmp(ext,"flv") ||
+               !cimg::strcasecmp(ext,"mpg") ||
+               !cimg::strcasecmp(ext,"m1v") ||
+               !cimg::strcasecmp(ext,"m2v") ||
+               !cimg::strcasecmp(ext,"m4v") ||
+               !cimg::strcasecmp(ext,"mjp") ||
+               !cimg::strcasecmp(ext,"mp4") ||
+               !cimg::strcasecmp(ext,"mkv") ||
+               !cimg::strcasecmp(ext,"mpe") ||
+               !cimg::strcasecmp(ext,"movie") ||
+               !cimg::strcasecmp(ext,"ogm") ||
+               !cimg::strcasecmp(ext,"ogg") ||
+               !cimg::strcasecmp(ext,"ogv") ||
+               !cimg::strcasecmp(ext,"qt") ||
+               !cimg::strcasecmp(ext,"rm") ||
+               !cimg::strcasecmp(ext,"vob") ||
+               !cimg::strcasecmp(ext,"wmv") ||
+               !cimg::strcasecmp(ext,"xvid") ||
+               !cimg::strcasecmp(ext,"mpeg")) return save_video(fn);
+      return save_other(fn);
+    }
+
+    //! Save image as an ascii file.
+    /**
+      \param filename Filename, as a C-string.
+    **/
+    const CImg<T>& save_ascii(const char *const filename) const {
+      return _save_ascii(0,filename);
+    }
+
+    //! Save image as an ascii file \overloading.
+    const CImg<T>& save_ascii(std::FILE *const file) const {
+      return _save_ascii(file,0);
+    }
+
+    const CImg<T>& _save_ascii(std::FILE *const file, const char *const filename) const {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_ascii(): Specified filename is (null).",
+                                    cimg_instance);
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"w");
+      std::fprintf(nfile,"%u %u %u %u\n",_width,_height,_depth,_spectrum);
+      const T* ptrs = _data;
+      cimg_forYZC(*this,y,z,c) {
+        cimg_forX(*this,x) std::fprintf(nfile,"%.16g ",(double)*(ptrs++));
+        std::fputc('\n',nfile);
+      }
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Save image as a .cpp source file.
+    /**
+      \param filename Filename, as a C-string.
+    **/
+    const CImg<T>& save_cpp(const char *const filename) const {
+      return _save_cpp(0,filename);
+    }
+
+    //! Save image as a .cpp source file \overloading.
+    const CImg<T>& save_cpp(std::FILE *const file) const {
+      return _save_cpp(file,0);
+    }
+
+    const CImg<T>& _save_cpp(std::FILE *const file, const char *const filename) const {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_cpp(): Specified filename is (null).",
+                                    cimg_instance);
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"w");
+      CImg<charT> varname(1024); *varname = 0;
+      if (filename) cimg_sscanf(cimg::basename(filename),"%1023[a-zA-Z0-9_]",varname._data);
+      if (!*varname) cimg_snprintf(varname,varname._width,"unnamed");
+      std::fprintf(nfile,
+                   "/* Define image '%s' of size %ux%ux%ux%u and type '%s' */\n"
+                   "%s data_%s[] = { %s\n  ",
+                   varname._data,_width,_height,_depth,_spectrum,pixel_type(),pixel_type(),varname._data,
+                   is_empty()?"};":"");
+      if (!is_empty()) for (unsigned long off = 0, siz = size() - 1; off<=siz; ++off) {
+        std::fprintf(nfile,cimg::type<T>::format(),cimg::type<T>::format((*this)[off]));
+        if (off==siz) std::fprintf(nfile," };\n");
+        else if (!((off + 1)%16)) std::fprintf(nfile,",\n  ");
+        else std::fprintf(nfile,", ");
+      }
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Save image as a DLM file.
+    /**
+       \param filename Filename, as a C-string.
+    **/
+    const CImg<T>& save_dlm(const char *const filename) const {
+      return _save_dlm(0,filename);
+    }
+
+    //! Save image as a DLM file \overloading.
+    const CImg<T>& save_dlm(std::FILE *const file) const {
+      return _save_dlm(file,0);
+    }
+
+    const CImg<T>& _save_dlm(std::FILE *const file, const char *const filename) const {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_dlm(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(file,filename); return *this; }
+      if (_depth>1)
+        cimg::warn(_cimg_instance
+                   "save_dlm(): Instance is volumetric, values along Z will be unrolled in file '%s'.",
+                   cimg_instance,
+                   filename?filename:"(FILE*)");
+      if (_spectrum>1)
+        cimg::warn(_cimg_instance
+                   "save_dlm(): Instance is multispectral, values along C will be unrolled in file '%s'.",
+                   cimg_instance,
+                   filename?filename:"(FILE*)");
+
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"w");
+      const T* ptrs = _data;
+      cimg_forYZC(*this,y,z,c) {
+        cimg_forX(*this,x) std::fprintf(nfile,"%.16g%s",(double)*(ptrs++),(x==width() - 1)?"":",");
+        std::fputc('\n',nfile);
+      }
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Save image as a BMP file.
+    /**
+      \param filename Filename, as a C-string.
+    **/
+    const CImg<T>& save_bmp(const char *const filename) const {
+      return _save_bmp(0,filename);
+    }
+
+    //! Save image as a BMP file \overloading.
+    const CImg<T>& save_bmp(std::FILE *const file) const {
+      return _save_bmp(file,0);
+    }
+
+    const CImg<T>& _save_bmp(std::FILE *const file, const char *const filename) const {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_bmp(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(file,filename); return *this; }
+      if (_depth>1)
+        cimg::warn(_cimg_instance
+                   "save_bmp(): Instance is volumetric, only the first slice will be saved in file '%s'.",
+                   cimg_instance,
+                   filename?filename:"(FILE*)");
+      if (_spectrum>3)
+        cimg::warn(_cimg_instance
+                   "save_bmp(): Instance is multispectral, only the three first channels will be saved in file '%s'.",
+                   cimg_instance,
+                   filename?filename:"(FILE*)");
+
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"wb");
+      unsigned char header[54] = { 0 }, align_buf[4] = { 0 };
+      const unsigned int
+        align = (4 - (3*_width)%4)%4,
+        buf_size = (3*_width + align)*height(),
+        file_size = 54 + buf_size;
+      header[0] = 'B'; header[1] = 'M';
+      header[0x02] = file_size&0xFF;
+      header[0x03] = (file_size>>8)&0xFF;
+      header[0x04] = (file_size>>16)&0xFF;
+      header[0x05] = (file_size>>24)&0xFF;
+      header[0x0A] = 0x36;
+      header[0x0E] = 0x28;
+      header[0x12] = _width&0xFF;
+      header[0x13] = (_width>>8)&0xFF;
+      header[0x14] = (_width>>16)&0xFF;
+      header[0x15] = (_width>>24)&0xFF;
+      header[0x16] = _height&0xFF;
+      header[0x17] = (_height>>8)&0xFF;
+      header[0x18] = (_height>>16)&0xFF;
+      header[0x19] = (_height>>24)&0xFF;
+      header[0x1A] = 1;
+      header[0x1B] = 0;
+      header[0x1C] = 24;
+      header[0x1D] = 0;
+      header[0x22] = buf_size&0xFF;
+      header[0x23] = (buf_size>>8)&0xFF;
+      header[0x24] = (buf_size>>16)&0xFF;
+      header[0x25] = (buf_size>>24)&0xFF;
+      header[0x27] = 0x1;
+      header[0x2B] = 0x1;
+      cimg::fwrite(header,54,nfile);
+
+      const T
+        *ptr_r = data(0,_height - 1,0,0),
+        *ptr_g = (_spectrum>=2)?data(0,_height - 1,0,1):0,
+        *ptr_b = (_spectrum>=3)?data(0,_height - 1,0,2):0;
+
+      switch (_spectrum) {
+      case 1 : {
+        cimg_forY(*this,y) {
+          cimg_forX(*this,x) {
+            const unsigned char val = (unsigned char)*(ptr_r++);
+            std::fputc(val,nfile); std::fputc(val,nfile); std::fputc(val,nfile);
+          }
+          cimg::fwrite(align_buf,align,nfile);
+          ptr_r-=2*_width;
+        }
+      } break;
+      case 2 : {
+        cimg_forY(*this,y) {
+          cimg_forX(*this,x) {
+            std::fputc(0,nfile);
+            std::fputc((unsigned char)(*(ptr_g++)),nfile);
+            std::fputc((unsigned char)(*(ptr_r++)),nfile);
+          }
+          cimg::fwrite(align_buf,align,nfile);
+          ptr_r-=2*_width; ptr_g-=2*_width;
+        }
+      } break;
+      default : {
+        cimg_forY(*this,y) {
+          cimg_forX(*this,x) {
+            std::fputc((unsigned char)(*(ptr_b++)),nfile);
+            std::fputc((unsigned char)(*(ptr_g++)),nfile);
+            std::fputc((unsigned char)(*(ptr_r++)),nfile);
+          }
+          cimg::fwrite(align_buf,align,nfile);
+          ptr_r-=2*_width; ptr_g-=2*_width; ptr_b-=2*_width;
+        }
+      }
+      }
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Save image as a JPEG file.
+    /**
+      \param filename Filename, as a C-string.
+      \param quality Image quality (in %)
+    **/
+    const CImg<T>& save_jpeg(const char *const filename, const unsigned int quality=100) const {
+      return _save_jpeg(0,filename,quality);
+    }
+
+    //! Save image as a JPEG file \overloading.
+    const CImg<T>& save_jpeg(std::FILE *const file, const unsigned int quality=100) const {
+      return _save_jpeg(file,0,quality);
+    }
+
+    const CImg<T>& _save_jpeg(std::FILE *const file, const char *const filename, const unsigned int quality) const {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_jpeg(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(file,filename); return *this; }
+      if (_depth>1)
+        cimg::warn(_cimg_instance
+                   "save_jpeg(): Instance is volumetric, only the first slice will be saved in file '%s'.",
+                   cimg_instance,
+                   filename?filename:"(FILE*)");
+
+#ifndef cimg_use_jpeg
+      if (!file) return save_other(filename,quality);
+      else throw CImgIOException(_cimg_instance
+                                 "save_jpeg(): Unable to save data in '(*FILE)' unless libjpeg is enabled.",
+                                 cimg_instance);
+#else
+      unsigned int dimbuf = 0;
+      J_COLOR_SPACE colortype = JCS_RGB;
+
+      switch(_spectrum) {
+      case 1 : dimbuf = 1; colortype = JCS_GRAYSCALE; break;
+      case 2 : dimbuf = 3; colortype = JCS_RGB; break;
+      case 3 : dimbuf = 3; colortype = JCS_RGB; break;
+      default : dimbuf = 4; colortype = JCS_CMYK; break;
+      }
+
+      // Call libjpeg functions
+      struct jpeg_compress_struct cinfo;
+      struct jpeg_error_mgr jerr;
+      cinfo.err = jpeg_std_error(&jerr);
+      jpeg_create_compress(&cinfo);
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"wb");
+      jpeg_stdio_dest(&cinfo,nfile);
+      cinfo.image_width = _width;
+      cinfo.image_height = _height;
+      cinfo.input_components = dimbuf;
+      cinfo.in_color_space = colortype;
+      jpeg_set_defaults(&cinfo);
+      jpeg_set_quality(&cinfo,quality<100?quality:100,TRUE);
+      jpeg_start_compress(&cinfo,TRUE);
+
+      JSAMPROW row_pointer[1];
+      CImg<ucharT> buffer((unsigned long)_width*dimbuf);
+
+      while (cinfo.next_scanline<cinfo.image_height) {
+        unsigned char *ptrd = buffer._data;
+
+        // Fill pixel buffer
+        switch (_spectrum) {
+        case 1 : { // Greyscale images
+          const T *ptr_g = data(0, cinfo.next_scanline);
+          for(unsigned int b = 0; b < cinfo.image_width; b++)
+            *(ptrd++) = (unsigned char)*(ptr_g++);
+        } break;
+        case 2 : { // RG images
+          const T *ptr_r = data(0,cinfo.next_scanline,0,0),
+            *ptr_g = data(0,cinfo.next_scanline,0,1);
+          for(unsigned int b = 0; b < cinfo.image_width; ++b) {
+            *(ptrd++) = (unsigned char)*(ptr_r++);
+            *(ptrd++) = (unsigned char)*(ptr_g++);
+            *(ptrd++) = 0;
+          }
+        } break;
+        case 3 : { // RGB images
+          const T *ptr_r = data(0,cinfo.next_scanline,0,0),
+            *ptr_g = data(0,cinfo.next_scanline,0,1),
+            *ptr_b = data(0,cinfo.next_scanline,0,2);
+          for(unsigned int b = 0; b < cinfo.image_width; ++b) {
+            *(ptrd++) = (unsigned char)*(ptr_r++);
+            *(ptrd++) = (unsigned char)*(ptr_g++);
+            *(ptrd++) = (unsigned char)*(ptr_b++);
+          }
+        } break;
+        default : { // CMYK images
+          const T *ptr_r = data(0,cinfo.next_scanline,0,0),
+            *ptr_g = data(0,cinfo.next_scanline,0,1),
+            *ptr_b = data(0,cinfo.next_scanline,0,2),
+            *ptr_a = data(0,cinfo.next_scanline,0,3);
+          for(unsigned int b = 0; b < cinfo.image_width; ++b) {
+            *(ptrd++) = (unsigned char)*(ptr_r++);
+            *(ptrd++) = (unsigned char)*(ptr_g++);
+            *(ptrd++) = (unsigned char)*(ptr_b++);
+            *(ptrd++) = (unsigned char)*(ptr_a++);
+          }
+        }
+        }
+        *row_pointer = buffer._data;
+        jpeg_write_scanlines(&cinfo,row_pointer,1);
+      }
+      jpeg_finish_compress(&cinfo);
+      if (!file) cimg::fclose(nfile);
+      jpeg_destroy_compress(&cinfo);
+      return *this;
+#endif
+    }
+
+    //! Save image, using built-in ImageMagick++ library.
+    /**
+      \param filename Filename, as a C-string.
+      \param bytes_per_pixel Force the number of bytes per pixel for the saving, when possible.
+    **/
+    const CImg<T>& save_magick(const char *const filename, const unsigned int bytes_per_pixel=0) const {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_magick(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(0,filename); return *this; }
+
+#ifdef cimg_use_magick
+      double stmin, stmax = (double)max_min(stmin);
+      if (_depth>1)
+        cimg::warn(_cimg_instance
+                   "save_magick(): Instance is volumetric, only the first slice will be saved in file '%s'.",
+                   cimg_instance,
+                   filename);
+
+      if (_spectrum>3)
+        cimg::warn(_cimg_instance
+                   "save_magick(): Instance is multispectral, only the three first channels will be "
+                   "saved in file '%s'.",
+                   cimg_instance,
+                   filename);
+
+      if (stmin<0 || (bytes_per_pixel==1 && stmax>=256) || stmax>=65536)
+        cimg::warn(_cimg_instance
+                   "save_magick(): Instance has pixel values in [%g,%g], probable type overflow in file '%s'.",
+                   cimg_instance,
+                   filename,stmin,stmax);
+
+      Magick::Image image(Magick::Geometry(_width,_height),"black");
+      image.type(Magick::TrueColorType);
+      image.depth(bytes_per_pixel?(8*bytes_per_pixel):(stmax>=256?16:8));
+      const T
+        *ptr_r = data(0,0,0,0),
+        *ptr_g = _spectrum>1?data(0,0,0,1):0,
+        *ptr_b = _spectrum>2?data(0,0,0,2):0;
+      Magick::PixelPacket *pixels = image.getPixels(0,0,_width,_height);
+      switch (_spectrum) {
+      case 1 : // Scalar images
+        for (unsigned long off = (unsigned long)_width*_height; off; --off) {
+          pixels->red = pixels->green = pixels->blue = (Magick::Quantum)*(ptr_r++);
+          ++pixels;
+        }
+        break;
+      case 2 : // RG images
+        for (unsigned long off = (unsigned long)_width*_height; off; --off) {
+          pixels->red = (Magick::Quantum)*(ptr_r++);
+          pixels->green = (Magick::Quantum)*(ptr_g++);
+          pixels->blue = 0; ++pixels;
+        }
+        break;
+      default : // RGB images
+        for (unsigned long off = (unsigned long)_width*_height; off; --off) {
+          pixels->red = (Magick::Quantum)*(ptr_r++);
+          pixels->green = (Magick::Quantum)*(ptr_g++);
+          pixels->blue = (Magick::Quantum)*(ptr_b++);
+          ++pixels;
+        }
+      }
+      image.syncPixels();
+      image.write(filename);
+      return *this;
+#else
+      cimg::unused(bytes_per_pixel);
+      throw CImgIOException(_cimg_instance
+                            "save_magick(): Unable to save file '%s' unless libMagick++ is enabled.",
+                            cimg_instance,
+                            filename);
+#endif
+    }
+
+    //! Save image as a PNG file.
+    /**
+       \param filename Filename, as a C-string.
+       \param bytes_per_pixel Force the number of bytes per pixels for the saving, when possible.
+    **/
+    const CImg<T>& save_png(const char *const filename, const unsigned int bytes_per_pixel=0) const {
+      return _save_png(0,filename,bytes_per_pixel);
+    }
+
+    //! Save image as a PNG file \overloading.
+    const CImg<T>& save_png(std::FILE *const file, const unsigned int bytes_per_pixel=0) const {
+      return _save_png(file,0,bytes_per_pixel);
+    }
+
+    const CImg<T>& _save_png(std::FILE *const file, const char *const filename,
+                             const unsigned int bytes_per_pixel=0) const {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_png(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(file,filename); return *this; }
+
+#ifndef cimg_use_png
+      cimg::unused(bytes_per_pixel);
+      if (!file) return save_other(filename);
+      else throw CImgIOException(_cimg_instance
+                                 "save_png(): Unable to save data in '(*FILE)' unless libpng is enabled.",
+                                 cimg_instance);
+#else
+      const char *volatile nfilename = filename; // two 'volatile' here to remove a g++ warning due to 'setjmp'.
+      std::FILE *volatile nfile = file?file:cimg::fopen(nfilename,"wb");
+      volatile double stmin, stmax = (double)max_min(stmin);
+
+      if (_depth>1)
+        cimg::warn(_cimg_instance
+                   "save_png(): Instance is volumetric, only the first slice will be saved in file '%s'.",
+                   cimg_instance,
+                   filename);
+
+      if (_spectrum>4)
+        cimg::warn(_cimg_instance
+                   "save_png(): Instance is multispectral, only the three first channels will be saved in file '%s'.",
+                   cimg_instance,
+                   filename);
+
+      if (stmin<0 || (bytes_per_pixel==1 && stmax>=256) || stmax>=65536)
+        cimg::warn(_cimg_instance
+                   "save_png(): Instance has pixel values in [%g,%g], probable type overflow in file '%s'.",
+                   cimg_instance,
+                   filename,stmin,stmax);
+
+      // Setup PNG structures for write
+      png_voidp user_error_ptr = 0;
+      png_error_ptr user_error_fn = 0, user_warning_fn = 0;
+      png_structp png_ptr = png_create_write_struct(PNG_LIBPNG_VER_STRING,user_error_ptr, user_error_fn,
+                                                    user_warning_fn);
+      if(!png_ptr){
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimg_instance
+                              "save_png(): Failed to initialize 'png_ptr' structure when saving file '%s'.",
+                              cimg_instance,
+                              nfilename?nfilename:"(FILE*)");
+      }
+      png_infop info_ptr = png_create_info_struct(png_ptr);
+      if (!info_ptr) {
+        png_destroy_write_struct(&png_ptr,(png_infopp)0);
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimg_instance
+                              "save_png(): Failed to initialize 'info_ptr' structure when saving file '%s'.",
+                              cimg_instance,
+                              nfilename?nfilename:"(FILE*)");
+      }
+      if (setjmp(png_jmpbuf(png_ptr))) {
+        png_destroy_write_struct(&png_ptr, &info_ptr);
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimg_instance
+                              "save_png(): Encountered unknown fatal error in libpng when saving file '%s'.",
+                              cimg_instance,
+                              nfilename?nfilename:"(FILE*)");
+      }
+      png_init_io(png_ptr, nfile);
+
+      const int bit_depth = bytes_per_pixel?(bytes_per_pixel*8):(stmax>=256?16:8);
+
+      int color_type;
+      switch (spectrum()) {
+      case 1 : color_type = PNG_COLOR_TYPE_GRAY; break;
+      case 2 : color_type = PNG_COLOR_TYPE_GRAY_ALPHA; break;
+      case 3 : color_type = PNG_COLOR_TYPE_RGB; break;
+      default : color_type = PNG_COLOR_TYPE_RGB_ALPHA;
+      }
+      const int interlace_type = PNG_INTERLACE_NONE;
+      const int compression_type = PNG_COMPRESSION_TYPE_DEFAULT;
+      const int filter_method = PNG_FILTER_TYPE_DEFAULT;
+      png_set_IHDR(png_ptr,info_ptr,_width,_height,bit_depth,color_type,interlace_type,compression_type,filter_method);
+      png_write_info(png_ptr,info_ptr);
+      const int byte_depth = bit_depth>>3;
+      const int numChan = spectrum()>4?4:spectrum();
+      const int pixel_bit_depth_flag = numChan * (bit_depth - 1);
+
+      // Allocate Memory for Image Save and Fill pixel data
+      png_bytep *const imgData = new png_byte*[_height];
+      for (unsigned int row = 0; row<_height; ++row) imgData[row] = new png_byte[byte_depth*numChan*_width];
+      const T *pC0 = data(0,0,0,0);
+      switch (pixel_bit_depth_flag) {
+      case 7 :  { // Gray 8-bit
+        cimg_forY(*this,y) {
+          unsigned char *ptrd = imgData[y];
+          cimg_forX(*this,x) *(ptrd++) = (unsigned char)*(pC0++);
+        }
+      } break;
+      case 14 : { // Gray w/ Alpha 8-bit
+        const T *pC1 = data(0,0,0,1);
+        cimg_forY(*this,y) {
+          unsigned char *ptrd = imgData[y];
+          cimg_forX(*this,x) {
+            *(ptrd++) = (unsigned char)*(pC0++);
+            *(ptrd++) = (unsigned char)*(pC1++);
+          }
+        }
+      } break;
+      case 21 :  { // RGB 8-bit
+        const T *pC1 = data(0,0,0,1), *pC2 = data(0,0,0,2);
+        cimg_forY(*this,y) {
+          unsigned char *ptrd = imgData[y];
+          cimg_forX(*this,x) {
+            *(ptrd++) = (unsigned char)*(pC0++);
+            *(ptrd++) = (unsigned char)*(pC1++);
+            *(ptrd++) = (unsigned char)*(pC2++);
+          }
+        }
+      } break;
+      case 28 : { // RGB x/ Alpha 8-bit
+        const T *pC1 = data(0,0,0,1), *pC2 = data(0,0,0,2), *pC3 = data(0,0,0,3);
+        cimg_forY(*this,y){
+          unsigned char *ptrd = imgData[y];
+          cimg_forX(*this,x){
+            *(ptrd++) = (unsigned char)*(pC0++);
+            *(ptrd++) = (unsigned char)*(pC1++);
+            *(ptrd++) = (unsigned char)*(pC2++);
+            *(ptrd++) = (unsigned char)*(pC3++);
+          }
+        }
+      } break;
+      case 15 : { // Gray 16-bit
+        cimg_forY(*this,y){
+          unsigned short *ptrd = (unsigned short*)(imgData[y]);
+          cimg_forX(*this,x) *(ptrd++) = (unsigned short)*(pC0++);
+          if (!cimg::endianness()) cimg::invert_endianness((unsigned short*)imgData[y],_width);
+        }
+      } break;
+      case 30 : { // Gray w/ Alpha 16-bit
+        const T *pC1 = data(0,0,0,1);
+        cimg_forY(*this,y){
+          unsigned short *ptrd = (unsigned short*)(imgData[y]);
+          cimg_forX(*this,x) {
+            *(ptrd++) = (unsigned short)*(pC0++);
+            *(ptrd++) = (unsigned short)*(pC1++);
+          }
+          if (!cimg::endianness()) cimg::invert_endianness((unsigned short*)imgData[y],2*_width);
+        }
+      } break;
+      case 45 : { // RGB 16-bit
+        const T *pC1 = data(0,0,0,1), *pC2 = data(0,0,0,2);
+        cimg_forY(*this,y) {
+          unsigned short *ptrd = (unsigned short*)(imgData[y]);
+          cimg_forX(*this,x) {
+            *(ptrd++) = (unsigned short)*(pC0++);
+            *(ptrd++) = (unsigned short)*(pC1++);
+            *(ptrd++) = (unsigned short)*(pC2++);
+          }
+          if (!cimg::endianness()) cimg::invert_endianness((unsigned short*)imgData[y],3*_width);
+        }
+      } break;
+      case 60 : { // RGB w/ Alpha 16-bit
+        const T *pC1 = data(0,0,0,1), *pC2 = data(0,0,0,2), *pC3 = data(0,0,0,3);
+        cimg_forY(*this,y) {
+          unsigned short *ptrd = (unsigned short*)(imgData[y]);
+          cimg_forX(*this,x) {
+            *(ptrd++) = (unsigned short)*(pC0++);
+            *(ptrd++) = (unsigned short)*(pC1++);
+            *(ptrd++) = (unsigned short)*(pC2++);
+            *(ptrd++) = (unsigned short)*(pC3++);
+          }
+          if (!cimg::endianness()) cimg::invert_endianness((unsigned short*)imgData[y],4*_width);
+        }
+      } break;
+      default :
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimg_instance
+                              "save_png(): Encountered unknown fatal error in libpng when saving file '%s'.",
+                              cimg_instance,
+                              nfilename?nfilename:"(FILE*)");
+      }
+      png_write_image(png_ptr,imgData);
+      png_write_end(png_ptr,info_ptr);
+      png_destroy_write_struct(&png_ptr, &info_ptr);
+
+      // Deallocate Image Write Memory
+      cimg_forY(*this,n) delete[] imgData[n];
+      delete[] imgData;
+
+      if (!file) cimg::fclose(nfile);
+      return *this;
+#endif
+    }
+
+    //! Save image as a PNM file.
+    /**
+      \param filename Filename, as a C-string.
+      \param bytes_per_pixel Force the number of bytes per pixels for the saving.
+    **/
+    const CImg<T>& save_pnm(const char *const filename, const unsigned int bytes_per_pixel=0) const {
+      return _save_pnm(0,filename,bytes_per_pixel);
+    }
+
+    //! Save image as a PNM file \overloading.
+    const CImg<T>& save_pnm(std::FILE *const file, const unsigned int bytes_per_pixel=0) const {
+      return _save_pnm(file,0,bytes_per_pixel);
+    }
+
+    const CImg<T>& _save_pnm(std::FILE *const file, const char *const filename,
+                             const unsigned int bytes_per_pixel=0) const {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_pnm(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(file,filename); return *this; }
+
+      double stmin, stmax = (double)max_min(stmin);
+      if (_depth>1)
+        cimg::warn(_cimg_instance
+                   "save_pnm(): Instance is volumetric, only the first slice will be saved in file '%s'.",
+                   cimg_instance,
+                   filename?filename:"(FILE*)");
+      if (_spectrum>3)
+        cimg::warn(_cimg_instance
+                   "save_pnm(): Instance is multispectral, only the three first channels will be saved in file '%s'.",
+                   cimg_instance,
+                   filename?filename:"(FILE*)");
+      if (stmin<0 || (bytes_per_pixel==1 && stmax>=256) || stmax>=65536)
+        cimg::warn(_cimg_instance
+                   "save_pnm(): Instance has pixel values in [%g,%g], probable type overflow in file '%s'.",
+                   cimg_instance,
+                   stmin,stmax,filename?filename:"(FILE*)");
+
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"wb");
+      const T
+        *ptr_r = data(0,0,0,0),
+        *ptr_g = (_spectrum>=2)?data(0,0,0,1):0,
+        *ptr_b = (_spectrum>=3)?data(0,0,0,2):0;
+      const unsigned long buf_size = cimg::min(1024*1024UL,_width*_height*(_spectrum==1?1UL:3UL));
+
+      std::fprintf(nfile,"P%c\n%u %u\n%u\n",
+                   (_spectrum==1?'5':'6'),_width,_height,stmax<256?255:(stmax<4096?4095:65535));
+
+      switch (_spectrum) {
+      case 1 : { // Scalar image
+        if (bytes_per_pixel==1 || (!bytes_per_pixel && stmax<256)) { // Binary PGM 8 bits
+          CImg<ucharT> buf(buf_size);
+          for (long to_write = width()*height(); to_write>0; ) {
+            const unsigned long N = cimg::min((unsigned long)to_write,buf_size);
+            unsigned char *ptrd = buf._data;
+            for (unsigned long i = N; i>0; --i) *(ptrd++) = (unsigned char)*(ptr_r++);
+            cimg::fwrite(buf._data,N,nfile);
+            to_write-=N;
+          }
+        } else { // Binary PGM 16 bits
+          CImg<ushortT> buf(buf_size);
+          for (long to_write = width()*height(); to_write>0; ) {
+            const unsigned long N = cimg::min((unsigned long)to_write,buf_size);
+            unsigned short *ptrd = buf._data;
+            for (unsigned long i = N; i>0; --i) *(ptrd++) = (unsigned short)*(ptr_r++);
+            if (!cimg::endianness()) cimg::invert_endianness(buf._data,buf_size);
+            cimg::fwrite(buf._data,N,nfile);
+            to_write-=N;
+          }
+        }
+      } break;
+      case 2 : { // RG image
+        if (bytes_per_pixel==1 || (!bytes_per_pixel && stmax<256)) { // Binary PPM 8 bits
+          CImg<ucharT> buf(buf_size);
+          for (long to_write = width()*height(); to_write>0; ) {
+            const unsigned long N = cimg::min((unsigned long)to_write,buf_size/3);
+            unsigned char *ptrd = buf._data;
+            for (unsigned long i = N; i>0; --i) {
+              *(ptrd++) = (unsigned char)*(ptr_r++);
+              *(ptrd++) = (unsigned char)*(ptr_g++);
+              *(ptrd++) = 0;
+            }
+            cimg::fwrite(buf._data,3*N,nfile);
+            to_write-=N;
+          }
+        } else {             // Binary PPM 16 bits
+          CImg<ushortT> buf(buf_size);
+          for (long to_write = width()*height(); to_write>0; ) {
+            const unsigned long N = cimg::min((unsigned long)to_write,buf_size/3);
+            unsigned short *ptrd = buf._data;
+            for (unsigned long i = N; i>0; --i) {
+              *(ptrd++) = (unsigned short)*(ptr_r++);
+              *(ptrd++) = (unsigned short)*(ptr_g++);
+              *(ptrd++) = 0;
+            }
+            if (!cimg::endianness()) cimg::invert_endianness(buf._data,buf_size);
+            cimg::fwrite(buf._data,3*N,nfile);
+            to_write-=N;
+          }
+        }
+      } break;
+      default : { // RGB image
+        if (bytes_per_pixel==1 || (!bytes_per_pixel && stmax<256)) { // Binary PPM 8 bits
+          CImg<ucharT> buf(buf_size);
+          for (long to_write = width()*height(); to_write>0; ) {
+            const unsigned long N = cimg::min((unsigned long)to_write,buf_size/3);
+            unsigned char *ptrd = buf._data;
+            for (unsigned long i = N; i>0; --i) {
+              *(ptrd++) = (unsigned char)*(ptr_r++);
+              *(ptrd++) = (unsigned char)*(ptr_g++);
+              *(ptrd++) = (unsigned char)*(ptr_b++);
+            }
+            cimg::fwrite(buf._data,3*N,nfile);
+            to_write-=N;
+          }
+        } else {             // Binary PPM 16 bits
+          CImg<ushortT> buf(buf_size);
+          for (long to_write = width()*height(); to_write>0; ) {
+            const unsigned long N = cimg::min((unsigned long)to_write,buf_size/3);
+            unsigned short *ptrd = buf._data;
+            for (unsigned long i = N; i>0; --i) {
+              *(ptrd++) = (unsigned short)*(ptr_r++);
+              *(ptrd++) = (unsigned short)*(ptr_g++);
+              *(ptrd++) = (unsigned short)*(ptr_b++);
+            }
+            if (!cimg::endianness()) cimg::invert_endianness(buf._data,buf_size);
+            cimg::fwrite(buf._data,3*N,nfile);
+            to_write-=N;
+          }
+        }
+      }
+      }
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Save image as a PNK file.
+    /**
+      \param filename Filename, as a C-string.
+    **/
+    const CImg<T>& save_pnk(const char *const filename) const {
+      return _save_pnk(0,filename);
+    }
+
+    //! Save image as a PNK file \overloading.
+    const CImg<T>& save_pnk(std::FILE *const file) const {
+      return _save_pnk(file,0);
+    }
+
+    const CImg<T>& _save_pnk(std::FILE *const file, const char *const filename) const {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_pnk(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(file,filename); return *this; }
+      if (_spectrum>1)
+        cimg::warn(_cimg_instance
+                   "save_pnk(): Instance is multispectral, only the first channel will be saved in file '%s'.",
+                   cimg_instance,
+                   filename?filename:"(FILE*)");
+
+      const unsigned long buf_size = cimg::min(1024*1024LU,_width*_height*_depth);
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"wb");
+      const T *ptr = data(0,0,0,0);
+
+      if (!cimg::type<T>::is_float() && sizeof(T)==1 && _depth<2) // Can be saved as regular PNM file.
+        _save_pnm(file,filename,0);
+      else if (!cimg::type<T>::is_float() && sizeof(T)==1) { // Save as extended P5 file: Binary byte-valued 3d.
+        std::fprintf(nfile,"P5\n%u %u %u\n255\n",_width,_height,_depth);
+        CImg<ucharT> buf(buf_size);
+        for (long to_write = width()*height()*depth(); to_write>0; ) {
+          const unsigned long N = cimg::min((unsigned long)to_write,buf_size);
+          unsigned char *ptrd = buf._data;
+          for (unsigned long i = N; i>0; --i) *(ptrd++) = (unsigned char)*(ptr++);
+          cimg::fwrite(buf._data,N,nfile);
+          to_write-=N;
+        }
+      } else if (!cimg::type<T>::is_float()) { // Save as P8: Binary int32-valued 3d.
+        if (_depth>1) std::fprintf(nfile,"P8\n%u %u %u\n%d\n",_width,_height,_depth,(int)max());
+        else std::fprintf(nfile,"P8\n%u %u\n%d\n",_width,_height,(int)max());
+        CImg<intT> buf(buf_size);
+        for (long to_write = width()*height()*depth(); to_write>0; ) {
+          const unsigned long N = cimg::min((unsigned long)to_write,buf_size);
+          int *ptrd = buf._data;
+          for (unsigned long i = N; i>0; --i) *(ptrd++) = (int)*(ptr++);
+          cimg::fwrite(buf._data,N,nfile);
+          to_write-=N;
+        }
+      } else { // Save as P9: Binary float-valued 3d.
+        if (_depth>1) std::fprintf(nfile,"P9\n%u %u %u\n%g\n",_width,_height,_depth,(double)max());
+        else std::fprintf(nfile,"P9\n%u %u\n%g\n",_width,_height,(double)max());
+        CImg<floatT> buf(buf_size);
+        for (long to_write = width()*height()*depth(); to_write>0; ) {
+          const unsigned long N = cimg::min((unsigned long)to_write,buf_size);
+          float *ptrd = buf._data;
+          for (unsigned long i = N; i>0; --i) *(ptrd++) = (float)*(ptr++);
+          cimg::fwrite(buf._data,N,nfile);
+          to_write-=N;
+        }
+      }
+
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Save image as a PFM file.
+    /**
+      \param filename Filename, as a C-string.
+    **/
+    const CImg<T>& save_pfm(const char *const filename) const {
+      get_mirror('y')._save_pfm(0,filename);
+      return *this;
+    }
+
+    //! Save image as a PFM file \overloading.
+    const CImg<T>& save_pfm(std::FILE *const file) const {
+      get_mirror('y')._save_pfm(file,0);
+      return *this;
+    }
+
+    const CImg<T>& _save_pfm(std::FILE *const file, const char *const filename) const {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_pfm(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(file,filename); return *this; }
+      if (_depth>1)
+        cimg::warn(_cimg_instance
+                   "save_pfm(): Instance is volumetric, only the first slice will be saved in file '%s'.",
+                   cimg_instance,
+                   filename?filename:"(FILE*)");
+      if (_spectrum>3)
+        cimg::warn(_cimg_instance
+                   "save_pfm(): image instance is multispectral, only the three first channels will be saved "
+                   "in file '%s'.",
+                   cimg_instance,
+                   filename?filename:"(FILE*)");
+
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"wb");
+      const T
+        *ptr_r = data(0,0,0,0),
+        *ptr_g = (_spectrum>=2)?data(0,0,0,1):0,
+        *ptr_b = (_spectrum>=3)?data(0,0,0,2):0;
+      const unsigned int buf_size = cimg::min(1024*1024U,_width*_height*(_spectrum==1?1:3));
+
+      std::fprintf(nfile,"P%c\n%u %u\n1.0\n",
+                   (_spectrum==1?'f':'F'),_width,_height);
+
+      switch (_spectrum) {
+      case 1 : { // Scalar image
+        CImg<floatT> buf(buf_size);
+        for (long to_write = width()*height(); to_write>0; ) {
+          const unsigned long N = cimg::min((unsigned long)to_write,buf_size);
+          float *ptrd = buf._data;
+          for (unsigned long i = N; i>0; --i) *(ptrd++) = (float)*(ptr_r++);
+          if (!cimg::endianness()) cimg::invert_endianness(buf._data,buf_size);
+          cimg::fwrite(buf._data,N,nfile);
+          to_write-=N;
+        }
+      } break;
+      case 2 : { // RG image
+        CImg<floatT> buf(buf_size);
+        for (long to_write = width()*height(); to_write>0; ) {
+          const unsigned int N = cimg::min((unsigned int)to_write,buf_size/3);
+          float *ptrd = buf._data;
+          for (unsigned long i = N; i>0; --i) {
+            *(ptrd++) = (float)*(ptr_r++);
+            *(ptrd++) = (float)*(ptr_g++);
+            *(ptrd++) = 0;
+          }
+          if (!cimg::endianness()) cimg::invert_endianness(buf._data,buf_size);
+          cimg::fwrite(buf._data,3*N,nfile);
+          to_write-=N;
+        }
+      } break;
+      default : { // RGB image
+        CImg<floatT> buf(buf_size);
+        for (long to_write = width()*height(); to_write>0; ) {
+          const unsigned int N = cimg::min((unsigned int)to_write,buf_size/3);
+          float *ptrd = buf._data;
+          for (unsigned long i = N; i>0; --i) {
+            *(ptrd++) = (float)*(ptr_r++);
+            *(ptrd++) = (float)*(ptr_g++);
+            *(ptrd++) = (float)*(ptr_b++);
+          }
+          if (!cimg::endianness()) cimg::invert_endianness(buf._data,buf_size);
+          cimg::fwrite(buf._data,3*N,nfile);
+          to_write-=N;
+        }
+      }
+      }
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Save image as a RGB file.
+    /**
+      \param filename Filename, as a C-string.
+    **/
+    const CImg<T>& save_rgb(const char *const filename) const {
+      return _save_rgb(0,filename);
+    }
+
+    //! Save image as a RGB file \overloading.
+    const CImg<T>& save_rgb(std::FILE *const file) const {
+      return _save_rgb(file,0);
+    }
+
+    const CImg<T>& _save_rgb(std::FILE *const file, const char *const filename) const {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_rgb(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(file,filename); return *this; }
+      if (_spectrum!=3)
+        cimg::warn(_cimg_instance
+                   "save_rgb(): image instance has not exactly 3 channels, for file '%s'.",
+                   cimg_instance,
+                   filename?filename:"(FILE*)");
+
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"wb");
+      const unsigned long wh = (unsigned long)_width*_height;
+      unsigned char *const buffer = new unsigned char[3*wh], *nbuffer = buffer;
+      const T
+        *ptr1 = data(0,0,0,0),
+        *ptr2 = _spectrum>1?data(0,0,0,1):0,
+        *ptr3 = _spectrum>2?data(0,0,0,2):0;
+      switch (_spectrum) {
+      case 1 : { // Scalar image
+        for (unsigned long k = 0; k<wh; ++k) {
+          const unsigned char val = (unsigned char)*(ptr1++);
+          *(nbuffer++) = val;
+          *(nbuffer++) = val;
+          *(nbuffer++) = val;
+        }
+      } break;
+      case 2 : { // RG image
+        for (unsigned long k = 0; k<wh; ++k) {
+          *(nbuffer++) = (unsigned char)(*(ptr1++));
+          *(nbuffer++) = (unsigned char)(*(ptr2++));
+          *(nbuffer++) = 0;
+        }
+      } break;
+      default : { // RGB image
+        for (unsigned long k = 0; k<wh; ++k) {
+          *(nbuffer++) = (unsigned char)(*(ptr1++));
+          *(nbuffer++) = (unsigned char)(*(ptr2++));
+          *(nbuffer++) = (unsigned char)(*(ptr3++));
+        }
+      }
+      }
+      cimg::fwrite(buffer,3*wh,nfile);
+      if (!file) cimg::fclose(nfile);
+      delete[] buffer;
+      return *this;
+    }
+
+    //! Save image as a RGBA file.
+    /**
+       \param filename Filename, as a C-string.
+    **/
+    const CImg<T>& save_rgba(const char *const filename) const {
+      return _save_rgba(0,filename);
+    }
+
+    //! Save image as a RGBA file \overloading.
+    const CImg<T>& save_rgba(std::FILE *const file) const {
+      return _save_rgba(file,0);
+    }
+
+    const CImg<T>& _save_rgba(std::FILE *const file, const char *const filename) const {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_rgba(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(file,filename); return *this; }
+      if (_spectrum!=4)
+        cimg::warn(_cimg_instance
+                   "save_rgba(): image instance has not exactly 4 channels, for file '%s'.",
+                   cimg_instance,
+                   filename?filename:"(FILE*)");
+
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"wb");
+      const unsigned long wh = (unsigned long)_width*_height;
+      unsigned char *const buffer = new unsigned char[4*wh], *nbuffer = buffer;
+      const T
+        *ptr1 = data(0,0,0,0),
+        *ptr2 = _spectrum>1?data(0,0,0,1):0,
+        *ptr3 = _spectrum>2?data(0,0,0,2):0,
+        *ptr4 = _spectrum>3?data(0,0,0,3):0;
+      switch (_spectrum) {
+      case 1 : { // Scalar images
+        for (unsigned long k = 0; k<wh; ++k) {
+          const unsigned char val = (unsigned char)*(ptr1++);
+          *(nbuffer++) = val;
+          *(nbuffer++) = val;
+          *(nbuffer++) = val;
+          *(nbuffer++) = 255;
+        }
+      } break;
+      case 2 : { // RG images
+        for (unsigned long k = 0; k<wh; ++k) {
+          *(nbuffer++) = (unsigned char)(*(ptr1++));
+          *(nbuffer++) = (unsigned char)(*(ptr2++));
+          *(nbuffer++) = 0;
+          *(nbuffer++) = 255;
+        }
+      } break;
+      case 3 : { // RGB images
+        for (unsigned long k = 0; k<wh; ++k) {
+          *(nbuffer++) = (unsigned char)(*(ptr1++));
+          *(nbuffer++) = (unsigned char)(*(ptr2++));
+          *(nbuffer++) = (unsigned char)(*(ptr3++));
+          *(nbuffer++) = 255;
+        }
+      } break;
+      default : { // RGBA images
+        for (unsigned long k = 0; k<wh; ++k) {
+          *(nbuffer++) = (unsigned char)(*(ptr1++));
+          *(nbuffer++) = (unsigned char)(*(ptr2++));
+          *(nbuffer++) = (unsigned char)(*(ptr3++));
+          *(nbuffer++) = (unsigned char)(*(ptr4++));
+        }
+      }
+      }
+      cimg::fwrite(buffer,4*wh,nfile);
+      if (!file) cimg::fclose(nfile);
+      delete[] buffer;
+      return *this;
+    }
+
+    //! Save image as a TIFF file.
+    /**
+       \param filename Filename, as a C-string.
+       \param compression_type Type of data compression. Can be <tt>{ 0=None | 1=LZW | 2=JPEG }</tt>.
+       \note
+       - libtiff support is enabled by defining the precompilation
+        directive \c cimg_use_tif.
+       - When libtiff is enabled, 2D and 3D (multipage) several
+        channel per pixel are supported for
+        <tt>char,uchar,short,ushort,float</tt> and \c double pixel types.
+       - If \c cimg_use_tif is not defined at compilation time the
+        function uses CImg<T>&save_other(const char*).
+     **/
+    const CImg<T>& save_tiff(const char *const filename, const unsigned int compression_type=0,
+                             const float *const voxel_size=0, const char *const description=0) const {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_tiff(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(0,filename); return *this; }
+
+#ifdef cimg_use_tiff
+      TIFF *tif = TIFFOpen(filename,"w");
+      if (tif) {
+        cimg_forZ(*this,z) get_slice(z)._save_tiff(tif,z,compression_type,voxel_size,description);
+        TIFFClose(tif);
+      } else throw CImgIOException(_cimg_instance
+                                   "save_tiff(): Failed to open file '%s' for writing.",
+                                   cimg_instance,
+                                   filename);
+      return *this;
+#else
+      cimg::unused(compression_type,voxel_size,description);
+      return save_other(filename);
+#endif
+    }
+
+#ifdef cimg_use_tiff
+
+#define _cimg_save_tiff(types,typed,compression_type) if (!std::strcmp(types,pixel_type())) { \
+      const typed foo = (typed)0; return _save_tiff(tif,directory,foo,compression_type,voxel_size,description); }
+
+    // [internal] Save a plane into a tiff file
+    template<typename t>
+    const CImg<T>& _save_tiff(TIFF *tif, const unsigned int directory, const t& pixel_t,
+                              const unsigned int compression_type,
+                              const float *const voxel_size, const char *const description) const {
+      if (is_empty() || !tif || pixel_t) return *this;
+      const char *const filename = TIFFFileName(tif);
+      uint32 rowsperstrip = (uint32)-1;
+      uint16 spp = _spectrum, bpp = sizeof(t)*8, photometric;
+      if (spp==3 || spp==4) photometric = PHOTOMETRIC_RGB;
+      else photometric = PHOTOMETRIC_MINISBLACK;
+      TIFFSetDirectory(tif,directory);
+      TIFFSetField(tif,TIFFTAG_IMAGEWIDTH,_width);
+      TIFFSetField(tif,TIFFTAG_IMAGELENGTH,_height);
+      if (voxel_size) {
+        const float vx = voxel_size[0], vy = voxel_size[1], vz = voxel_size[2];
+        TIFFSetField(tif,TIFFTAG_RESOLUTIONUNIT,RESUNIT_NONE);
+        TIFFSetField(tif,TIFFTAG_XRESOLUTION,1.0f/vx);
+        TIFFSetField(tif,TIFFTAG_YRESOLUTION,1.0f/vy);
+        CImg<charT> s_description(256);
+        cimg_snprintf(s_description,s_description._width,"VX=%g VY=%g VZ=%g spacing=%g",vx,vy,vz,vz);
+        TIFFSetField(tif,TIFFTAG_IMAGEDESCRIPTION,s_description.data());
+      }
+      if (description) TIFFSetField(tif,TIFFTAG_IMAGEDESCRIPTION,description);
+      TIFFSetField(tif,TIFFTAG_ORIENTATION,ORIENTATION_TOPLEFT);
+      TIFFSetField(tif,TIFFTAG_SAMPLESPERPIXEL,spp);
+      if (cimg::type<t>::is_float()) TIFFSetField(tif,TIFFTAG_SAMPLEFORMAT,3);
+      else if (cimg::type<t>::min()==0) TIFFSetField(tif,TIFFTAG_SAMPLEFORMAT,1);
+      else TIFFSetField(tif,TIFFTAG_SAMPLEFORMAT,2);
+      TIFFSetField(tif,TIFFTAG_BITSPERSAMPLE,bpp);
+      TIFFSetField(tif,TIFFTAG_PLANARCONFIG,PLANARCONFIG_CONTIG);
+      TIFFSetField(tif,TIFFTAG_PHOTOMETRIC,photometric);
+      TIFFSetField(tif,TIFFTAG_COMPRESSION,compression_type==2?COMPRESSION_JPEG:
+                   compression_type==1?COMPRESSION_LZW:COMPRESSION_NONE);
+      rowsperstrip = TIFFDefaultStripSize(tif,rowsperstrip);
+      TIFFSetField(tif,TIFFTAG_ROWSPERSTRIP,rowsperstrip);
+      TIFFSetField(tif,TIFFTAG_FILLORDER,FILLORDER_MSB2LSB);
+      TIFFSetField(tif,TIFFTAG_SOFTWARE,"CImg");
+      t *const buf = (t*)_TIFFmalloc(TIFFStripSize(tif));
+      if (buf) {
+        for (unsigned int row = 0; row<_height; row+=rowsperstrip) {
+          uint32 nrow = (row + rowsperstrip>_height?_height - row:rowsperstrip);
+          tstrip_t strip = TIFFComputeStrip(tif,row,0);
+          tsize_t i = 0;
+          for (unsigned int rr = 0; rr<nrow; ++rr)
+            for (unsigned int cc = 0; cc<_width; ++cc)
+              for (unsigned int vv = 0; vv<spp; ++vv)
+                buf[i++] = (t)(*this)(cc,row + rr,0,vv);
+          if (TIFFWriteEncodedStrip(tif,strip,buf,i*sizeof(t))<0)
+            throw CImgIOException(_cimg_instance
+                                  "save_tiff(): Invalid strip writing when saving file '%s'.",
+                                  cimg_instance,
+                                  filename?filename:"(FILE*)");
+        }
+        _TIFFfree(buf);
+      }
+      TIFFWriteDirectory(tif);
+      return (*this);
+    }
+
+    const CImg<T>& _save_tiff(TIFF *tif, const unsigned int directory, const unsigned int compression_type,
+                              const float *const voxel_size, const char *const description) const {
+      _cimg_save_tiff("bool",unsigned char,compression_type);
+      _cimg_save_tiff("char",char,compression_type);
+      _cimg_save_tiff("unsigned char",unsigned char,compression_type);
+      _cimg_save_tiff("short",short,compression_type);
+      _cimg_save_tiff("unsigned short",unsigned short,compression_type);
+      _cimg_save_tiff("int",int,compression_type);
+      _cimg_save_tiff("unsigned int",unsigned int,compression_type);
+      _cimg_save_tiff("long",int,compression_type);
+      _cimg_save_tiff("unsigned long",unsigned int,compression_type);
+      _cimg_save_tiff("float",float,compression_type);
+      _cimg_save_tiff("double",float,compression_type);
+      const char *const filename = TIFFFileName(tif);
+      throw CImgInstanceException(_cimg_instance
+                                  "save_tiff(): Unsupported pixel type '%s' for file '%s'.",
+                                  cimg_instance,
+                                  pixel_type(),filename?filename:"(FILE*)");
+      return *this;
+    }
+#endif
+
+    //! Save image as a MINC2 file.
+    /**
+       \param filename Filename, as a C-string.
+       \param imitate_file If non-zero, reference filename, as a C-string, to borrow header from.
+    **/
+    const CImg<T>& save_minc2(const char *const filename,
+                              const char *const imitate_file=0) const {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                   "save_minc2(): Specified filename is (null).",
+                                   cimg_instance);
+      if (is_empty()) { cimg::fempty(0,filename); return *this; }
+
+#ifndef cimg_use_minc2
+     cimg::unused(imitate_file);
+     return save_other(filename);
+#else
+     minc::minc_1_writer wtr;
+     if (imitate_file)
+       wtr.open(filename, imitate_file);
+     else {
+       minc::minc_info di;
+       if(width()) di.push_back(minc::dim_info(width(),width()*0.5,-1,minc::dim_info::DIM_X));
+       if(height()) di.push_back(minc::dim_info(height(),height()*0.5,-1,minc::dim_info::DIM_Y));
+       if(depth()) di.push_back(minc::dim_info(depth(),depth()*0.5,-1,minc::dim_info::DIM_Z));
+       if(spectrum()) di.push_back(minc::dim_info(spectrum(),spectrum()*0.5,-1,minc::dim_info::DIM_TIME));
+       wtr.open(filename,di,1,NC_FLOAT,0);
+     }
+     if(typeid(T)==typeid(unsigned char))
+       wtr.setup_write_byte();
+     else if(typeid(T)==typeid(int))
+       wtr.setup_write_int();
+     else if(typeid(T)==typeid(double))
+       wtr.setup_write_double();
+     else
+       wtr.setup_write_float();
+     minc::save_standard_volume(wtr, this->_data);
+     return *this;
+#endif
+    }
+
+    //! Save image as an ANALYZE7.5 or NIFTI file.
+    /**
+      \param filename Filename, as a C-string.
+      \param voxel_size Pointer to 3 consecutive values that tell about the voxel sizes along the X,Y and Z dimensions.
+    **/
+    const CImg<T>& save_analyze(const char *const filename, const float *const voxel_size=0) const {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_analyze(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(0,filename); return *this; }
+
+      std::FILE *file;
+      char header[348] = { 0 };
+      CImg<charT> hname(1024), iname(1024);
+      const char *const ext = cimg::split_filename(filename);
+      short datatype = -1;
+      std::memset(header,0,348);
+      if (!*ext) {
+        cimg_snprintf(hname,hname._width,"%s.hdr",filename);
+        cimg_snprintf(iname,iname._width,"%s.img",filename);
+      }
+      if (!cimg::strncasecmp(ext,"hdr",3)) {
+        std::strcpy(hname,filename);
+        std::strncpy(iname,filename,iname._width - 1);
+        cimg_sprintf(iname._data + std::strlen(iname) - 3,"img");
+      }
+      if (!cimg::strncasecmp(ext,"img",3)) {
+        std::strcpy(hname,filename);
+        std::strncpy(iname,filename,iname._width - 1);
+        cimg_sprintf(hname._data + std::strlen(iname) - 3,"hdr");
+      }
+      if (!cimg::strncasecmp(ext,"nii",3)) {
+        std::strncpy(hname,filename,hname._width - 1); *iname = 0;
+      }
+      int *const iheader = (int*)header;
+      *iheader = 348;
+      std::strcpy(header + 4,"CImg");
+      std::strcpy(header + 14," ");
+      ((short*)(header + 36))[0] = 4096;
+      ((char*)(header + 38))[0] = 114;
+      ((short*)(header + 40))[0] = 4;
+      ((short*)(header + 40))[1] = (short)_width;
+      ((short*)(header + 40))[2] = (short)_height;
+      ((short*)(header + 40))[3] = (short)_depth;
+      ((short*)(header + 40))[4] = (short)_spectrum;
+      if (!cimg::strcasecmp(pixel_type(),"bool")) datatype = 2;
+      if (!cimg::strcasecmp(pixel_type(),"unsigned char")) datatype = 2;
+      if (!cimg::strcasecmp(pixel_type(),"char")) datatype = 2;
+      if (!cimg::strcasecmp(pixel_type(),"unsigned short")) datatype = 4;
+      if (!cimg::strcasecmp(pixel_type(),"short")) datatype = 4;
+      if (!cimg::strcasecmp(pixel_type(),"unsigned int")) datatype = 8;
+      if (!cimg::strcasecmp(pixel_type(),"int")) datatype = 8;
+      if (!cimg::strcasecmp(pixel_type(),"unsigned long")) datatype = 8;
+      if (!cimg::strcasecmp(pixel_type(),"long")) datatype = 8;
+      if (!cimg::strcasecmp(pixel_type(),"float")) datatype = 16;
+      if (!cimg::strcasecmp(pixel_type(),"double")) datatype = 64;
+      if (datatype<0)
+        throw CImgIOException(_cimg_instance
+                              "save_analyze(): Unsupported pixel type '%s' for file '%s'.",
+                              cimg_instance,
+                              pixel_type(),filename);
+
+      ((short*)(header + 70))[0] = datatype;
+      ((short*)(header + 72))[0] = sizeof(T);
+      ((float*)(header + 112))[0] = 1;
+      ((float*)(header + 76))[0] = 0;
+      if (voxel_size) {
+        ((float*)(header + 76))[1] = voxel_size[0];
+        ((float*)(header + 76))[2] = voxel_size[1];
+        ((float*)(header + 76))[3] = voxel_size[2];
+      } else ((float*)(header + 76))[1] = ((float*)(header + 76))[2] = ((float*)(header + 76))[3] = 1;
+      file = cimg::fopen(hname,"wb");
+      cimg::fwrite(header,348,file);
+      if (*iname) { cimg::fclose(file); file = cimg::fopen(iname,"wb"); }
+      cimg::fwrite(_data,size(),file);
+      cimg::fclose(file);
+      return *this;
+    }
+
+    //! Save image as a .cimg file.
+    /**
+      \param filename Filename, as a C-string.
+      \param is_compressed Tells if the file contains compressed image data.
+    **/
+    const CImg<T>& save_cimg(const char *const filename, const bool is_compressed=false) const {
+      CImgList<T>(*this,true).save_cimg(filename,is_compressed);
+      return *this;
+    }
+
+    //! Save image as a .cimg file \overloading.
+    const CImg<T>& save_cimg(std::FILE *const file, const bool is_compressed=false) const {
+      CImgList<T>(*this,true).save_cimg(file,is_compressed);
+      return *this;
+    }
+
+    //! Save image as a sub-image into an existing .cimg file.
+    /**
+      \param filename Filename, as a C-string.
+      \param n0 Index of the image inside the file.
+      \param x0 X-coordinate of the sub-image location.
+      \param y0 Y-coordinate of the sub-image location.
+      \param z0 Z-coordinate of the sub-image location.
+      \param c0 C-coordinate of the sub-image location.
+    **/
+    const CImg<T>& save_cimg(const char *const filename,
+                             const unsigned int n0,
+                             const unsigned int x0, const unsigned int y0,
+                             const unsigned int z0, const unsigned int c0) const {
+      CImgList<T>(*this,true).save_cimg(filename,n0,x0,y0,z0,c0);
+      return *this;
+    }
+
+    //! Save image as a sub-image into an existing .cimg file \overloading.
+    const CImg<T>& save_cimg(std::FILE *const file,
+			     const unsigned int n0,
+			     const unsigned int x0, const unsigned int y0,
+			     const unsigned int z0, const unsigned int c0) const {
+      CImgList<T>(*this,true).save_cimg(file,n0,x0,y0,z0,c0);
+      return *this;
+    }
+
+    //! Save blank image as a .cimg file.
+    /**
+        \param filename Filename, as a C-string.
+        \param dx Width of the image.
+        \param dy Height of the image.
+        \param dz Depth of the image.
+        \param dc Number of channels of the image.
+        \note
+        - All pixel values of the saved image are set to \c 0.
+        - Use this method to save large images without having to instanciate and allocate them.
+    **/
+    static void save_empty_cimg(const char *const filename,
+                                const unsigned int dx, const unsigned int dy=1,
+                                const unsigned int dz=1, const unsigned int dc=1) {
+      return CImgList<T>::save_empty_cimg(filename,1,dx,dy,dz,dc);
+    }
+
+    //! Save blank image as a .cimg file \overloading.
+    /**
+       Same as save_empty_cimg(const char *,unsigned int,unsigned int,unsigned int,unsigned int)
+       with a file stream argument instead of a filename string.
+    **/
+    static void save_empty_cimg(std::FILE *const file,
+                                const unsigned int dx, const unsigned int dy=1,
+                                const unsigned int dz=1, const unsigned int dc=1) {
+      return CImgList<T>::save_empty_cimg(file,1,dx,dy,dz,dc);
+    }
+
+    //! Save image as an INRIMAGE-4 file.
+    /**
+      \param filename Filename, as a C-string.
+      \param voxel_size Pointer to 3 values specifying the voxel sizes along the X,Y and Z dimensions.
+    **/
+    const CImg<T>& save_inr(const char *const filename, const float *const voxel_size=0) const {
+      return _save_inr(0,filename,voxel_size);
+    }
+
+    //! Save image as an INRIMAGE-4 file \overloading.
+    const CImg<T>& save_inr(std::FILE *const file, const float *const voxel_size=0) const {
+      return _save_inr(file,0,voxel_size);
+    }
+
+    const CImg<T>& _save_inr(std::FILE *const file, const char *const filename, const float *const voxel_size) const {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_inr(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(file,filename); return *this; }
+
+      int inrpixsize = -1;
+      const char *inrtype = "unsigned fixed\nPIXSIZE=8 bits\nSCALE=2**0";
+      if (!cimg::strcasecmp(pixel_type(),"unsigned char")) {
+        inrtype = "unsigned fixed\nPIXSIZE=8 bits\nSCALE=2**0"; inrpixsize = 1;
+      }
+      if (!cimg::strcasecmp(pixel_type(),"char")) {
+        inrtype = "fixed\nPIXSIZE=8 bits\nSCALE=2**0"; inrpixsize = 1;
+      }
+      if (!cimg::strcasecmp(pixel_type(),"unsigned short")) {
+        inrtype = "unsigned fixed\nPIXSIZE=16 bits\nSCALE=2**0";inrpixsize = 2;
+      }
+      if (!cimg::strcasecmp(pixel_type(),"short")) {
+        inrtype = "fixed\nPIXSIZE=16 bits\nSCALE=2**0"; inrpixsize = 2;
+      }
+      if (!cimg::strcasecmp(pixel_type(),"unsigned int")) {
+        inrtype = "unsigned fixed\nPIXSIZE=32 bits\nSCALE=2**0";inrpixsize = 4;
+      }
+      if (!cimg::strcasecmp(pixel_type(),"int")) {
+        inrtype = "fixed\nPIXSIZE=32 bits\nSCALE=2**0"; inrpixsize = 4;
+      }
+      if (!cimg::strcasecmp(pixel_type(),"float")) {
+        inrtype = "float\nPIXSIZE=32 bits"; inrpixsize = 4;
+      }
+      if (!cimg::strcasecmp(pixel_type(),"double")) {
+        inrtype = "float\nPIXSIZE=64 bits"; inrpixsize = 8;
+      }
+      if (inrpixsize<=0)
+        throw CImgIOException(_cimg_instance
+                              "save_inr(): Unsupported pixel type '%s' for file '%s'",
+                              cimg_instance,
+                              pixel_type(),filename?filename:"(FILE*)");
+
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"wb");
+      char header[257] = { 0 };
+      int err = cimg_snprintf(header,sizeof(header),"#INRIMAGE-4#{\nXDIM=%u\nYDIM=%u\nZDIM=%u\nVDIM=%u\n",
+                              _width,_height,_depth,_spectrum);
+      if (voxel_size) err+=cimg_sprintf(header + err,"VX=%g\nVY=%g\nVZ=%g\n",voxel_size[0],voxel_size[1],voxel_size[2]);
+      err+=cimg_sprintf(header + err,"TYPE=%s\nCPU=%s\n",inrtype,cimg::endianness()?"sun":"decm");
+      std::memset(header + err,'\n',252 - err);
+      std::memcpy(header + 252,"##}\n",4);
+      cimg::fwrite(header,256,nfile);
+      cimg_forXYZ(*this,x,y,z) cimg_forC(*this,c) cimg::fwrite(&((*this)(x,y,z,c)),1,nfile);
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Save image as an OpenEXR file.
+    /**
+       \param filename Filename, as a C-string.
+       \note The OpenEXR file format is <a href="http://en.wikipedia.org/wiki/OpenEXR">described here</a>.
+    **/
+    const CImg<T>& save_exr(const char *const filename) const {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_exr(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(0,filename); return *this; }
+      if (_depth>1)
+        cimg::warn(_cimg_instance
+                   "save_exr(): Instance is volumetric, only the first slice will be saved in file '%s'.",
+                   cimg_instance,
+                   filename);
+
+#ifndef cimg_use_openexr
+      return save_other(filename);
+#else
+      Imf::Rgba *const ptrd0 = new Imf::Rgba[(unsigned long)_width*_height], *ptrd = ptrd0, rgba;
+      switch (_spectrum) {
+      case 1 : { // Grayscale image.
+        for (const T *ptr_r = data(), *const ptr_e = ptr_r + (unsigned long)_width*_height; ptr_r<ptr_e;) {
+          rgba.r = rgba.g = rgba.b = (half)(*(ptr_r++));
+          rgba.a = (half)1;
+          *(ptrd++) = rgba;
+        }
+      } break;
+      case 2 : { // RG image.
+        for (const T *ptr_r = data(), *ptr_g = data(0,0,0,1),
+               *const ptr_e = ptr_r + (unsigned long)_width*_height; ptr_r<ptr_e; ) {
+          rgba.r = (half)(*(ptr_r++));
+          rgba.g = (half)(*(ptr_g++));
+          rgba.b = (half)0;
+          rgba.a = (half)1;
+          *(ptrd++) = rgba;
+        }
+      } break;
+      case 3 : { // RGB image.
+        for (const T *ptr_r = data(), *ptr_g = data(0,0,0,1), *ptr_b = data(0,0,0,2),
+               *const ptr_e = ptr_r + (unsigned long)_width*_height; ptr_r<ptr_e;) {
+          rgba.r = (half)(*(ptr_r++));
+          rgba.g = (half)(*(ptr_g++));
+          rgba.b = (half)(*(ptr_b++));
+          rgba.a = (half)1;
+          *(ptrd++) = rgba;
+        }
+      } break;
+      default : { // RGBA image.
+        for (const T *ptr_r = data(), *ptr_g = data(0,0,0,1), *ptr_b = data(0,0,0,2), *ptr_a = data(0,0,0,3),
+               *const ptr_e = ptr_r + (unsigned long)_width*_height; ptr_r<ptr_e;) {
+          rgba.r = (half)(*(ptr_r++));
+          rgba.g = (half)(*(ptr_g++));
+          rgba.b = (half)(*(ptr_b++));
+          rgba.a = (half)(*(ptr_a++));
+          *(ptrd++) = rgba;
+        }
+      } break;
+      }
+      Imf::RgbaOutputFile outFile(filename,_width,_height,
+                                  _spectrum==1?Imf::WRITE_Y:_spectrum==2?Imf::WRITE_YA:_spectrum==3?
+                                  Imf::WRITE_RGB:Imf::WRITE_RGBA);
+      outFile.setFrameBuffer(ptrd0,1,_width);
+      outFile.writePixels(_height);
+      delete[] ptrd0;
+      return *this;
+#endif
+    }
+
+    //! Save image as a Pandore-5 file.
+    /**
+       \param filename Filename, as a C-string.
+       \param colorspace Colorspace data field in output file
+       (see <a href="http://www.greyc.ensicaen.fr/~regis/Pandore/#documentation">Pandore file specifications</a>
+       for more information).
+    **/
+    const CImg<T>& save_pandore(const char *const filename, const unsigned int colorspace=0) const {
+      return _save_pandore(0,filename,colorspace);
+    }
+
+    //! Save image as a Pandore-5 file \overloading.
+    /**
+        Same as save_pandore(const char *,unsigned int) const
+        with a file stream argument instead of a filename string.
+    **/
+    const CImg<T>& save_pandore(std::FILE *const file, const unsigned int colorspace=0) const {
+      return _save_pandore(file,0,colorspace);
+    }
+
+    unsigned int _save_pandore_header_length(unsigned int id, unsigned int *dims, const unsigned int colorspace) const {
+      unsigned int nbdims = 0;
+      if (id==2 || id==3 || id==4) {
+        dims[0] = 1; dims[1] = _width; nbdims = 2;
+      }
+      if (id==5 || id==6 || id==7) {
+        dims[0] = 1; dims[1] = _height; dims[2] = _width; nbdims=3;
+      }
+      if (id==8 || id==9 || id==10) {
+        dims[0] = _spectrum; dims[1] = _depth; dims[2] = _height; dims[3] = _width; nbdims = 4;
+      }
+      if (id==16 || id==17 || id==18) {
+        dims[0] = 3; dims[1] = _height; dims[2] = _width; dims[3] = colorspace; nbdims = 4;
+      }
+      if (id==19 || id==20 || id==21) {
+        dims[0] = 3; dims[1] = _depth; dims[2] = _height; dims[3] = _width; dims[4] = colorspace; nbdims = 5;
+      }
+      if (id==22 || id==23 || id==25) {
+        dims[0] = _spectrum; dims[1] = _width; nbdims = 2;
+      }
+      if (id==26 || id==27 || id==29) {
+        dims[0] = _spectrum; dims[1] = _height; dims[2] = _width; nbdims=3;
+      }
+      if (id==30 || id==31 || id==33) {
+        dims[0] = _spectrum; dims[1] = _depth; dims[2] = _height; dims[3] = _width; nbdims = 4;
+      }
+      return nbdims;
+    }
+
+    const CImg<T>& _save_pandore(std::FILE *const file, const char *const filename,
+                                 const unsigned int colorspace) const {
+
+#define __cimg_save_pandore_case(dtype) \
+       dtype *buffer = new dtype[size()]; \
+       const T *ptrs = _data; \
+       cimg_foroff(*this,off) *(buffer++) = (dtype)(*(ptrs++)); \
+       buffer-=size(); \
+       cimg::fwrite(buffer,size(),nfile); \
+       delete[] buffer
+
+#define _cimg_save_pandore_case(sy,sz,sv,stype,id) \
+      if (!saved && (sy?(sy==_height):true) && (sz?(sz==_depth):true) && \
+          (sv?(sv==_spectrum):true) && !std::strcmp(stype,pixel_type())) { \
+	unsigned int *iheader = (unsigned int*)(header + 12); \
+	nbdims = _save_pandore_header_length((*iheader=id),dims,colorspace); \
+	cimg::fwrite(header,36,nfile); \
+        if (sizeof(unsigned long)==4) { CImg<ulongT> ndims(5); \
+          for (int d = 0; d<5; ++d) ndims[d] = (unsigned long)dims[d]; cimg::fwrite(ndims._data,nbdims,nfile); } \
+        else if (sizeof(unsigned int)==4) { CImg<uintT> ndims(5); \
+          for (int d = 0; d<5; ++d) ndims[d] = (unsigned int)dims[d]; cimg::fwrite(ndims._data,nbdims,nfile); } \
+        else if (sizeof(unsigned short)==4) { CImg<ushortT> ndims(5); \
+          for (int d = 0; d<5; ++d) ndims[d] = (unsigned short)dims[d]; cimg::fwrite(ndims._data,nbdims,nfile); } \
+        else throw CImgIOException(_cimg_instance \
+                                   "save_pandore(): Unsupported datatype for file '%s'.",\
+                                   cimg_instance, \
+                                   filename?filename:"(FILE*)"); \
+	if (id==2 || id==5 || id==8 || id==16 || id==19 || id==22 || id==26 || id==30) { \
+          __cimg_save_pandore_case(unsigned char); \
+	} else if (id==3 || id==6 || id==9 || id==17 || id==20 || id==23 || id==27 || id==31) { \
+          if (sizeof(unsigned long)==4) { __cimg_save_pandore_case(unsigned long); } \
+          else if (sizeof(unsigned int)==4) { __cimg_save_pandore_case(unsigned int); } \
+          else if (sizeof(unsigned short)==4) { __cimg_save_pandore_case(unsigned short); } \
+          else throw CImgIOException(_cimg_instance \
+                                     "save_pandore(): Unsupported datatype for file '%s'.",\
+                                     cimg_instance, \
+                                     filename?filename:"(FILE*)"); \
+	} else if (id==4 || id==7 || id==10 || id==18 || id==21 || id==25 || id==29 || id==33) { \
+          if (sizeof(double)==4) { __cimg_save_pandore_case(double); } \
+          else if (sizeof(float)==4) { __cimg_save_pandore_case(float); } \
+          else throw CImgIOException(_cimg_instance \
+                                     "save_pandore(): Unsupported datatype for file '%s'.",\
+                                     cimg_instance, \
+                                     filename?filename:"(FILE*)"); \
+        } \
+	saved = true; \
+      }
+
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_pandore(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(file,filename); return *this; }
+
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"wb");
+      unsigned char header[36] = { 'P','A','N','D','O','R','E','0','4',0,0,0,
+                                   0,0,0,0,'C','I','m','g',0,0,0,0,0,
+                                   'N','o',' ','d','a','t','e',0,0,0,0 };
+      unsigned int nbdims, dims[5] = { 0 };
+      bool saved = false;
+      _cimg_save_pandore_case(1,1,1,"unsigned char",2);
+      _cimg_save_pandore_case(1,1,1,"char",3);
+      _cimg_save_pandore_case(1,1,1,"short",3);
+      _cimg_save_pandore_case(1,1,1,"unsigned short",3);
+      _cimg_save_pandore_case(1,1,1,"unsigned int",3);
+      _cimg_save_pandore_case(1,1,1,"int",3);
+      _cimg_save_pandore_case(1,1,1,"unsigned long",4);
+      _cimg_save_pandore_case(1,1,1,"long",3);
+      _cimg_save_pandore_case(1,1,1,"float",4);
+      _cimg_save_pandore_case(1,1,1,"double",4);
+
+      _cimg_save_pandore_case(0,1,1,"unsigned char",5);
+      _cimg_save_pandore_case(0,1,1,"char",6);
+      _cimg_save_pandore_case(0,1,1,"short",6);
+      _cimg_save_pandore_case(0,1,1,"unsigned short",6);
+      _cimg_save_pandore_case(0,1,1,"unsigned int",6);
+      _cimg_save_pandore_case(0,1,1,"int",6);
+      _cimg_save_pandore_case(0,1,1,"unsigned long",7);
+      _cimg_save_pandore_case(0,1,1,"long",6);
+      _cimg_save_pandore_case(0,1,1,"float",7);
+      _cimg_save_pandore_case(0,1,1,"double",7);
+
+      _cimg_save_pandore_case(0,0,1,"unsigned char",8);
+      _cimg_save_pandore_case(0,0,1,"char",9);
+      _cimg_save_pandore_case(0,0,1,"short",9);
+      _cimg_save_pandore_case(0,0,1,"unsigned short",9);
+      _cimg_save_pandore_case(0,0,1,"unsigned int",9);
+      _cimg_save_pandore_case(0,0,1,"int",9);
+      _cimg_save_pandore_case(0,0,1,"unsigned long",10);
+      _cimg_save_pandore_case(0,0,1,"long",9);
+      _cimg_save_pandore_case(0,0,1,"float",10);
+      _cimg_save_pandore_case(0,0,1,"double",10);
+
+      _cimg_save_pandore_case(0,1,3,"unsigned char",16);
+      _cimg_save_pandore_case(0,1,3,"char",17);
+      _cimg_save_pandore_case(0,1,3,"short",17);
+      _cimg_save_pandore_case(0,1,3,"unsigned short",17);
+      _cimg_save_pandore_case(0,1,3,"unsigned int",17);
+      _cimg_save_pandore_case(0,1,3,"int",17);
+      _cimg_save_pandore_case(0,1,3,"unsigned long",18);
+      _cimg_save_pandore_case(0,1,3,"long",17);
+      _cimg_save_pandore_case(0,1,3,"float",18);
+      _cimg_save_pandore_case(0,1,3,"double",18);
+
+      _cimg_save_pandore_case(0,0,3,"unsigned char",19);
+      _cimg_save_pandore_case(0,0,3,"char",20);
+      _cimg_save_pandore_case(0,0,3,"short",20);
+      _cimg_save_pandore_case(0,0,3,"unsigned short",20);
+      _cimg_save_pandore_case(0,0,3,"unsigned int",20);
+      _cimg_save_pandore_case(0,0,3,"int",20);
+      _cimg_save_pandore_case(0,0,3,"unsigned long",21);
+      _cimg_save_pandore_case(0,0,3,"long",20);
+      _cimg_save_pandore_case(0,0,3,"float",21);
+      _cimg_save_pandore_case(0,0,3,"double",21);
+
+      _cimg_save_pandore_case(1,1,0,"unsigned char",22);
+      _cimg_save_pandore_case(1,1,0,"char",23);
+      _cimg_save_pandore_case(1,1,0,"short",23);
+      _cimg_save_pandore_case(1,1,0,"unsigned short",23);
+      _cimg_save_pandore_case(1,1,0,"unsigned int",23);
+      _cimg_save_pandore_case(1,1,0,"int",23);
+      _cimg_save_pandore_case(1,1,0,"unsigned long",25);
+      _cimg_save_pandore_case(1,1,0,"long",23);
+      _cimg_save_pandore_case(1,1,0,"float",25);
+      _cimg_save_pandore_case(1,1,0,"double",25);
+
+      _cimg_save_pandore_case(0,1,0,"unsigned char",26);
+      _cimg_save_pandore_case(0,1,0,"char",27);
+      _cimg_save_pandore_case(0,1,0,"short",27);
+      _cimg_save_pandore_case(0,1,0,"unsigned short",27);
+      _cimg_save_pandore_case(0,1,0,"unsigned int",27);
+      _cimg_save_pandore_case(0,1,0,"int",27);
+      _cimg_save_pandore_case(0,1,0,"unsigned long",29);
+      _cimg_save_pandore_case(0,1,0,"long",27);
+      _cimg_save_pandore_case(0,1,0,"float",29);
+      _cimg_save_pandore_case(0,1,0,"double",29);
+
+      _cimg_save_pandore_case(0,0,0,"unsigned char",30);
+      _cimg_save_pandore_case(0,0,0,"char",31);
+      _cimg_save_pandore_case(0,0,0,"short",31);
+      _cimg_save_pandore_case(0,0,0,"unsigned short",31);
+      _cimg_save_pandore_case(0,0,0,"unsigned int",31);
+      _cimg_save_pandore_case(0,0,0,"int",31);
+      _cimg_save_pandore_case(0,0,0,"unsigned long",33);
+      _cimg_save_pandore_case(0,0,0,"long",31);
+      _cimg_save_pandore_case(0,0,0,"float",33);
+      _cimg_save_pandore_case(0,0,0,"double",33);
+
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Save image as a raw data file.
+    /**
+       \param filename Filename, as a C-string.
+       \param is_multiplexed Tells if the image channels are stored in a multiplexed way (\c true) or not (\c false).
+       \note The .raw format does not store the image dimensions in the output file,
+       so you have to keep track of them somewhere to be able to read the file correctly afterwards.
+    **/
+    const CImg<T>& save_raw(const char *const filename, const bool is_multiplexed=false) const {
+      return _save_raw(0,filename,is_multiplexed);
+    }
+
+    //! Save image as a raw data file \overloading.
+    /**
+       Same as save_raw(const char *,bool) const
+       with a file stream argument instead of a filename string.
+    **/
+    const CImg<T>& save_raw(std::FILE *const file, const bool is_multiplexed=false) const {
+      return _save_raw(file,0,is_multiplexed);
+    }
+
+    const CImg<T>& _save_raw(std::FILE *const file, const char *const filename, const bool is_multiplexed) const {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_raw(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(file,filename); return *this; }
+
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"wb");
+      if (!is_multiplexed) cimg::fwrite(_data,size(),nfile);
+      else {
+        CImg<T> buf(_spectrum);
+        cimg_forXYZ(*this,x,y,z) {
+          cimg_forC(*this,c) buf[c] = (*this)(x,y,z,c);
+          cimg::fwrite(buf._data,_spectrum,nfile);
+        }
+      }
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Save image as a .yuv video file.
+    /**
+       \param filename Filename, as a C-string.
+       \param is_rgb Tells if pixel values of the instance image are RGB-coded (\c true) or YUV-coded (\c false).
+       \note Each slice of the instance image is considered to be a single frame of the output video file.
+    **/
+    const CImg<T>& save_yuv(const char *const filename, const bool is_rgb=true) const {
+      get_split('z').save_yuv(filename,is_rgb);
+      return *this;
+    }
+
+    //! Save image as a .yuv video file \overloading.
+    /**
+       Same as save_yuv(const char*,bool) const
+       with a file stream argument instead of a filename string.
+    **/
+    const CImg<T>& save_yuv(std::FILE *const file, const bool is_rgb=true) const {
+      get_split('z').save_yuv(file,is_rgb);
+      return *this;
+    }
+
+    //! Save 3d object as an Object File Format (.off) file.
+    /**
+       \param filename Filename, as a C-string.
+       \param primitives List of 3d object primitives.
+       \param colors List of 3d object colors.
+       \note
+       - Instance image contains the vertices data of the 3d object.
+       - Textured, transparent or sphere-shaped primitives cannot be managed by the .off file format.
+       Such primitives will be lost or simplified during file saving.
+       - The .off file format is <a href="http://people.sc.fsu.edu/~jburkardt/html/off_format.html">described here</a>.
+    **/
+    template<typename tf, typename tc>
+    const CImg<T>& save_off(const CImgList<tf>& primitives, const CImgList<tc>& colors,
+                            const char *const filename) const {
+      return _save_off(primitives,colors,0,filename);
+    }
+
+    //! Save 3d object as an Object File Format (.off) file \overloading.
+    /**
+       Same as save_off(const CImgList<tf>&,const CImgList<tc>&,const char*) const
+       with a file stream argument instead of a filename string.
+    **/
+    template<typename tf, typename tc>
+    const CImg<T>& save_off(const CImgList<tf>& primitives, const CImgList<tc>& colors,
+                            std::FILE *const file) const {
+      return _save_off(primitives,colors,file,0);
+    }
+
+    template<typename tf, typename tc>
+    const CImg<T>& _save_off(const CImgList<tf>& primitives, const CImgList<tc>& colors,
+                             std::FILE *const file, const char *const filename) const {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_off(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty())
+        throw CImgInstanceException(_cimg_instance
+                                    "save_off(): Empty instance, for file '%s'.",
+                                    cimg_instance,
+                                    filename?filename:"(FILE*)");
+
+      CImgList<T> opacities;
+      CImg<charT> error_message(1024);
+      if (!is_object3d(primitives,colors,opacities,true,error_message))
+        throw CImgInstanceException(_cimg_instance
+                                    "save_off(): Invalid specified 3d object, for file '%s' (%s).",
+                                    cimg_instance,
+                                    filename?filename:"(FILE*)",error_message.data());
+
+      const CImg<tc> default_color(1,3,1,1,200);
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"w");
+      unsigned int supported_primitives = 0;
+      cimglist_for(primitives,l) if (primitives[l].size()!=5) ++supported_primitives;
+      std::fprintf(nfile,"OFF\n%u %u %u\n",_width,supported_primitives,3*primitives._width);
+      cimg_forX(*this,i) std::fprintf(nfile,"%f %f %f\n",
+                                      (float)((*this)(i,0)),(float)((*this)(i,1)),(float)((*this)(i,2)));
+      cimglist_for(primitives,l) {
+        const CImg<tc>& color = l<colors.width()?colors[l]:default_color;
+        const unsigned int psiz = primitives[l].size(), csiz = color.size();
+        const float r = color[0]/255.0f, g = (csiz>1?color[1]:r)/255.0f, b = (csiz>2?color[2]:g)/255.0f;
+        switch (psiz) {
+        case 1 : std::fprintf(nfile,"1 %u %f %f %f\n",
+                              (unsigned int)primitives(l,0),r,g,b); break;
+        case 2 : std::fprintf(nfile,"2 %u %u %f %f %f\n",
+                              (unsigned int)primitives(l,0),(unsigned int)primitives(l,1),r,g,b); break;
+        case 3 : std::fprintf(nfile,"3 %u %u %u %f %f %f\n",
+                              (unsigned int)primitives(l,0),(unsigned int)primitives(l,2),
+                              (unsigned int)primitives(l,1),r,g,b); break;
+        case 4 : std::fprintf(nfile,"4 %u %u %u %u %f %f %f\n",
+                              (unsigned int)primitives(l,0),(unsigned int)primitives(l,3),
+                              (unsigned int)primitives(l,2),(unsigned int)primitives(l,1),r,g,b); break;
+        case 5 : std::fprintf(nfile,"2 %u %u %f %f %f\n",
+                              (unsigned int)primitives(l,0),(unsigned int)primitives(l,1),r,g,b); break;
+        case 6 : {
+          const unsigned int xt = (unsigned int)primitives(l,2), yt = (unsigned int)primitives(l,3);
+          const float
+            rt = color.atXY(xt,yt,0)/255.0f,
+            gt = (csiz>1?color.atXY(xt,yt,1):r)/255.0f,
+            bt = (csiz>2?color.atXY(xt,yt,2):g)/255.0f;
+          std::fprintf(nfile,"2 %u %u %f %f %f\n",
+                       (unsigned int)primitives(l,0),(unsigned int)primitives(l,1),rt,gt,bt);
+        } break;
+        case 9 : {
+          const unsigned int xt = (unsigned int)primitives(l,3), yt = (unsigned int)primitives(l,4);
+          const float
+            rt = color.atXY(xt,yt,0)/255.0f,
+            gt = (csiz>1?color.atXY(xt,yt,1):r)/255.0f,
+            bt = (csiz>2?color.atXY(xt,yt,2):g)/255.0f;
+          std::fprintf(nfile,"3 %u %u %u %f %f %f\n",
+                       (unsigned int)primitives(l,0),(unsigned int)primitives(l,2),
+                       (unsigned int)primitives(l,1),rt,gt,bt);
+        } break;
+        case 12 : {
+          const unsigned int xt = (unsigned int)primitives(l,4), yt = (unsigned int)primitives(l,5);
+          const float
+            rt = color.atXY(xt,yt,0)/255.0f,
+            gt = (csiz>1?color.atXY(xt,yt,1):r)/255.0f,
+            bt = (csiz>2?color.atXY(xt,yt,2):g)/255.0f;
+          std::fprintf(nfile,"4 %u %u %u %u %f %f %f\n",
+                       (unsigned int)primitives(l,0),(unsigned int)primitives(l,3),
+                       (unsigned int)primitives(l,2),(unsigned int)primitives(l,1),rt,gt,bt);
+        } break;
+        }
+      }
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Save volumetric image as a video, using the OpenCV library.
+    /**
+      \param filename Filename to write data to.
+      \param fps Number of frames per second.
+      \param codec Type of compression (See http://www.fourcc.org/codecs.php to see available codecs).
+      \param keep_open Tells if the video writer associated to the specified filename
+        must be kept open or not (to allow frames to be added in the same file afterwards).
+    **/
+    const CImg<T>& save_video(const char *const filename, const unsigned int fps=25,
+                              const char *codec=0, const bool keep_open=false) const {
+      if (is_empty()) { CImgList<T>().save_video(filename,fps,codec,keep_open); return *this; }
+      CImgList<T> list;
+      get_split('z').move_to(list);
+      list.save_video(filename,fps,codec,keep_open);
+      return *this;
+    }
+
+    //! Save volumetric image as a video, using ffmpeg external binary.
+    /**
+       \param filename Filename, as a C-string.
+       \param fps Video framerate.
+       \param codec Video codec, as a C-string.
+       \param bitrate Video bitrate.
+       \note
+       - Each slice of the instance image is considered to be a single frame of the output video file.
+       - This method uses \c ffmpeg, an external executable binary provided by
+         <a href="http://www.ffmpeg.org">FFmpeg</a>.
+       It must be installed for the method to succeed.
+    **/
+    const CImg<T>& save_ffmpeg_external(const char *const filename, const unsigned int fps=25,
+                                        const char *const codec=0, const unsigned int bitrate=2048) const {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_ffmpeg_external(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(0,filename); return *this; }
+
+      CImgList<T> list;
+      get_split('z').move_to(list);
+      list.save_ffmpeg_external(filename,fps,codec,bitrate);
+      return *this;
+    }
+
+    //! Save image using gzip external binary.
+    /**
+       \param filename Filename, as a C-string.
+       \note This method uses \c gzip, an external executable binary provided by
+         <a href="//http://www.gzip.org">gzip</a>.
+       It must be installed for the method to succeed.
+    **/
+    const CImg<T>& save_gzip_external(const char *const filename) const {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_gzip_external(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(0,filename); return *this; }
+
+      CImg<charT> command(1024), filename_tmp(256), body(256);
+      const char
+        *ext = cimg::split_filename(filename,body),
+        *ext2 = cimg::split_filename(body,0);
+      std::FILE *file;
+      do {
+        if (!cimg::strcasecmp(ext,"gz")) {
+          if (*ext2) cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s.%s",
+                                   cimg::temporary_path(),cimg_file_separator,cimg::filenamerand(),ext2);
+          else cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s.cimg",
+                             cimg::temporary_path(),cimg_file_separator,cimg::filenamerand());
+        } else {
+          if (*ext) cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s.%s",
+                                  cimg::temporary_path(),cimg_file_separator,cimg::filenamerand(),ext);
+          else cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s.cimg",
+                             cimg::temporary_path(),cimg_file_separator,cimg::filenamerand());
+        }
+        if ((file=std::fopen(filename_tmp,"rb"))!=0) cimg::fclose(file);
+      } while (file);
+      save(filename_tmp);
+      cimg_snprintf(command,command._width,"%s -c \"%s\" > \"%s\"",
+                    cimg::gzip_path(),
+                    CImg<charT>::string(filename_tmp)._system_strescape().data(),
+                    CImg<charT>::string(filename)._system_strescape().data());
+      cimg::system(command);
+      file = std::fopen(filename,"rb");
+      if (!file)
+        throw CImgIOException(_cimg_instance
+                              "save_gzip_external(): Failed to save file '%s' with external command 'gzip'.",
+                              cimg_instance,
+                              filename);
+
+      else cimg::fclose(file);
+      std::remove(filename_tmp);
+      return *this;
+    }
+
+    //! Save image using GraphicsMagick's external binary.
+    /**
+       \param filename Filename, as a C-string.
+       \param quality Image quality (expressed in percent), when the file format supports it.
+       \note This method uses \c gm, an external executable binary provided by
+         <a href="http://www.graphicsmagick.org">GraphicsMagick</a>.
+       It must be installed for the method to succeed.
+    **/
+    const CImg<T>& save_graphicsmagick_external(const char *const filename, const unsigned int quality=100) const {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_graphicsmagick_external(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(0,filename); return *this; }
+
+#ifdef cimg_use_png
+#define _cimg_sge_ext1 "png"
+#define _cimg_sge_ext2 "png"
+#else
+#define _cimg_sge_ext1 "pgm"
+#define _cimg_sge_ext2 "ppm"
+#endif
+      CImg<charT> command(1024), filename_tmp(256);
+      std::FILE *file;
+      do {
+        cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s.%s",
+                      cimg::temporary_path(),cimg_file_separator,cimg::filenamerand(),
+                      _spectrum==1?_cimg_sge_ext1:_cimg_sge_ext2);
+        if ((file=std::fopen(filename_tmp,"rb"))!=0) cimg::fclose(file);
+      } while (file);
+#ifdef cimg_use_png
+      save_png(filename_tmp);
+#else
+      save_pnm(filename_tmp);
+#endif
+      cimg_snprintf(command,command._width,"%s convert -quality %u \"%s\" \"%s\"",
+                    cimg::graphicsmagick_path(),quality,
+                    CImg<charT>::string(filename_tmp)._system_strescape().data(),
+                    CImg<charT>::string(filename)._system_strescape().data());
+      cimg::system(command);
+      file = std::fopen(filename,"rb");
+      if (!file)
+        throw CImgIOException(_cimg_instance
+                              "save_graphicsmagick_external(): Failed to save file '%s' with external command 'gm'.",
+                              cimg_instance,
+                              filename);
+
+      if (file) cimg::fclose(file);
+      std::remove(filename_tmp);
+      return *this;
+    }
+
+    //! Save image using ImageMagick's external binary.
+    /**
+       \param filename Filename, as a C-string.
+       \param quality Image quality (expressed in percent), when the file format supports it.
+       \note This method uses \c convert, an external executable binary provided by
+       <a href="http://www.imagemagick.org">ImageMagick</a>.
+       It must be installed for the method to succeed.
+    **/
+    const CImg<T>& save_imagemagick_external(const char *const filename, const unsigned int quality=100) const {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_imagemagick_external(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(0,filename); return *this; }
+
+#ifdef cimg_use_png
+#define _cimg_sie_ext1 "png"
+#define _cimg_sie_ext2 "png"
+#else
+#define _cimg_sie_ext1 "pgm"
+#define _cimg_sie_ext2 "ppm"
+#endif
+      CImg<charT> command(1024), filename_tmp(256);
+      std::FILE *file;
+      do {
+        cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s.%s",cimg::temporary_path(),
+                      cimg_file_separator,cimg::filenamerand(),_spectrum==1?_cimg_sie_ext1:_cimg_sie_ext2);
+        if ((file=std::fopen(filename_tmp,"rb"))!=0) cimg::fclose(file);
+      } while (file);
+#ifdef cimg_use_png
+      save_png(filename_tmp);
+#else
+      save_pnm(filename_tmp);
+#endif
+      cimg_snprintf(command,command._width,"%s -quality %u \"%s\" \"%s\"",
+                    cimg::imagemagick_path(),quality,
+                    CImg<charT>::string(filename_tmp)._system_strescape().data(),
+                    CImg<charT>::string(filename)._system_strescape().data());
+      cimg::system(command);
+      file = std::fopen(filename,"rb");
+      if (!file)
+        throw CImgIOException(_cimg_instance
+                              "save_imagemagick_external(): Failed to save file '%s' with external command 'convert'.",
+                              cimg_instance,
+                              filename);
+
+      if (file) cimg::fclose(file);
+      std::remove(filename_tmp);
+      return *this;
+    }
+
+    //! Save image as a Dicom file.
+    /**
+       \param filename Filename, as a C-string.
+       \note This method uses \c medcon, an external executable binary provided by
+         <a href="http://xmedcon.sourceforge.net">(X)Medcon</a>.
+       It must be installed for the method to succeed.
+    **/
+    const CImg<T>& save_medcon_external(const char *const filename) const {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_medcon_external(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(0,filename); return *this; }
+
+      CImg<charT> command(1024), filename_tmp(256), body(256);
+      std::FILE *file;
+      do {
+        cimg_snprintf(filename_tmp,filename_tmp._width,"%s.hdr",cimg::filenamerand());
+        if ((file=std::fopen(filename_tmp,"rb"))!=0) cimg::fclose(file);
+      } while (file);
+      save_analyze(filename_tmp);
+      cimg_snprintf(command,command._width,"%s -w -c dicom -o \"%s\" -f \"%s\"",
+                    cimg::medcon_path(),
+                    CImg<charT>::string(filename)._system_strescape().data(),
+                    CImg<charT>::string(filename_tmp)._system_strescape().data());
+      cimg::system(command);
+      std::remove(filename_tmp);
+      cimg::split_filename(filename_tmp,body);
+      cimg_snprintf(filename_tmp,filename_tmp._width,"%s.img",body._data);
+      std::remove(filename_tmp);
+
+      file = std::fopen(filename,"rb");
+      if (!file) {
+        cimg_snprintf(command,command._width,"m000-%s",filename);
+        file = std::fopen(command,"rb");
+        if (!file) {
+          cimg::fclose(cimg::fopen(filename,"r"));
+          throw CImgIOException(_cimg_instance
+                                "save_medcon_external(): Failed to save file '%s' with external command 'medcon'.",
+                                cimg_instance,
+                                filename);
+        }
+      }
+      cimg::fclose(file);
+      std::rename(command,filename);
+      return *this;
+    }
+
+    // Save image for non natively supported formats.
+    /**
+       \param filename Filename, as a C-string.
+       \param quality Image quality (expressed in percent), when the file format supports it.
+       \note
+       - The filename extension tells about the desired file format.
+       - This method tries to save the instance image as a file, using external tools from
+       <a href="http://www.imagemagick.org">ImageMagick</a> or
+       <a href="http://www.graphicsmagick.org">GraphicsMagick</a>.
+         At least one of these tool must be installed for the method to succeed.
+       - It is recommended to use the generic method save(const char*, int) const instead,
+         as it can handle some file formats natively.
+    **/
+    const CImg<T>& save_other(const char *const filename, const unsigned int quality=100) const {
+      if (!filename)
+        throw CImgArgumentException(_cimg_instance
+                                    "save_other(): Specified filename is (null).",
+                                    cimg_instance);
+      if (is_empty()) { cimg::fempty(0,filename); return *this; }
+
+      const unsigned int omode = cimg::exception_mode();
+      bool is_saved = true;
+      cimg::exception_mode(0);
+      try { save_magick(filename); }
+      catch (CImgException&) {
+        try { save_imagemagick_external(filename,quality); }
+        catch (CImgException&) {
+          try { save_graphicsmagick_external(filename,quality); }
+          catch (CImgException&) {
+            is_saved = false;
+          }
+        }
+      }
+      cimg::exception_mode(omode);
+      if (!is_saved)
+        throw CImgIOException(_cimg_instance
+                              "save_other(): Failed to save file '%s'. Format is not natively supported, "
+                              "and no external commands succeeded.",
+                              cimg_instance,
+                              filename);
+      return *this;
+    }
+
+    //! Serialize a CImg<T> instance into a raw CImg<unsigned char> buffer.
+    /**
+       \param is_compressed tells if zlib compression must be used for serialization
+       (this requires 'cimg_use_zlib' been enabled).
+    **/
+    CImg<ucharT> get_serialize(const bool is_compressed=false) const {
+      return CImgList<T>(*this,true).get_serialize(is_compressed);
+    }
+
+    // [internal] Return a 40x38 color logo of a 'danger' item.
+    static CImg<T> _logo40x38() {
+      CImg<T> res(40,38,1,3);
+      const unsigned char *ptrs = cimg::logo40x38;
+      T *ptr1 = res.data(0,0,0,0), *ptr2 = res.data(0,0,0,1), *ptr3 = res.data(0,0,0,2);
+      for (unsigned long off = 0; off<(unsigned long)res._width*res._height;) {
+        const unsigned char n = *(ptrs++), r = *(ptrs++), g = *(ptrs++), b = *(ptrs++);
+        for (unsigned int l = 0; l<n; ++off, ++l) { *(ptr1++) = (T)r; *(ptr2++) = (T)g; *(ptr3++) = (T)b; }
+      }
+      return res;
+    }
+
+    //@}
+  };
+
+  /*
+   #-----------------------------------------
+   #
+   #
+   #
+   # Definition of the CImgList<T> structure
+   #
+   #
+   #
+   #------------------------------------------
+   */
+  //! Represent a list of images CImg<T>.
+  template<typename T>
+  struct CImgList {
+    unsigned int _width, _allocated_width;
+    CImg<T> *_data;
+
+    //! Simple iterator type, to loop through each image of a list.
+    /**
+       \note
+       - The \c CImgList<T>::iterator type is defined as a <tt>CImg<T>*</tt>.
+       - You may use it like this:
+       \code
+       CImgList<> list;   // Assuming this image list is not empty.
+       for (CImgList<>::iterator it = list.begin(); it<list.end(); ++it) (*it).mirror('x');
+       \endcode
+       - Using the loop macro \c cimglist_for is another (more concise) alternative:
+       \code
+       cimglist_for(list,l) list[l].mirror('x');
+       \endcode
+    **/
+    typedef CImg<T>* iterator;
+
+    //! Simple const iterator type, to loop through each image of a \c const list instance.
+    /**
+       \note
+       - The \c CImgList<T>::const_iterator type is defined to be a <tt>const CImg<T>*</tt>.
+       - Similar to CImgList<T>::iterator, but for constant list instances.
+    **/
+    typedef const CImg<T>* const_iterator;
+
+    //! Pixel value type.
+    /**
+       Refer to the pixels value type of the images in the list.
+       \note
+       - The \c CImgList<T>::value_type type of a \c CImgList<T> is defined to be a \c T.
+         It is then similar to CImg<T>::value_type.
+       - \c CImgList<T>::value_type is actually not used in %CImg methods. It has been mainly defined for
+         compatibility with STL naming conventions.
+    **/
+    typedef T value_type;
+
+    // Define common T-dependant types.
+    typedef typename cimg::superset<T,bool>::type Tbool;
+    typedef typename cimg::superset<T,unsigned char>::type Tuchar;
+    typedef typename cimg::superset<T,char>::type Tchar;
+    typedef typename cimg::superset<T,unsigned short>::type Tushort;
+    typedef typename cimg::superset<T,short>::type Tshort;
+    typedef typename cimg::superset<T,unsigned int>::type Tuint;
+    typedef typename cimg::superset<T,int>::type Tint;
+    typedef typename cimg::superset<T,unsigned long>::type Tulong;
+    typedef typename cimg::superset<T,long>::type Tlong;
+    typedef typename cimg::superset<T,float>::type Tfloat;
+    typedef typename cimg::superset<T,double>::type Tdouble;
+    typedef typename cimg::last<T,bool>::type boolT;
+    typedef typename cimg::last<T,unsigned char>::type ucharT;
+    typedef typename cimg::last<T,char>::type charT;
+    typedef typename cimg::last<T,unsigned short>::type ushortT;
+    typedef typename cimg::last<T,short>::type shortT;
+    typedef typename cimg::last<T,unsigned int>::type uintT;
+    typedef typename cimg::last<T,int>::type intT;
+    typedef typename cimg::last<T,unsigned long>::type ulongT;
+    typedef typename cimg::last<T,long>::type longT;
+    typedef typename cimg::last<T,float>::type floatT;
+    typedef typename cimg::last<T,double>::type doubleT;
+
+    //@}
+    //---------------------------
+    //
+    //! \name Plugins
+    //@{
+    //---------------------------
+#ifdef cimglist_plugin
+#include cimglist_plugin
+#endif
+#ifdef cimglist_plugin1
+#include cimglist_plugin1
+#endif
+#ifdef cimglist_plugin2
+#include cimglist_plugin2
+#endif
+#ifdef cimglist_plugin3
+#include cimglist_plugin3
+#endif
+#ifdef cimglist_plugin4
+#include cimglist_plugin4
+#endif
+#ifdef cimglist_plugin5
+#include cimglist_plugin5
+#endif
+#ifdef cimglist_plugin6
+#include cimglist_plugin6
+#endif
+#ifdef cimglist_plugin7
+#include cimglist_plugin7
+#endif
+#ifdef cimglist_plugin8
+#include cimglist_plugin8
+#endif
+
+    //@}
+    //--------------------------------------------------------
+    //
+    //! \name Constructors / Destructor / Instance Management
+    //@{
+    //--------------------------------------------------------
+
+    //! Destructor.
+    /**
+       Destroy current list instance.
+       \note
+       - Any allocated buffer is deallocated.
+       - Destroying an empty list does nothing actually.
+     **/
+    ~CImgList() {
+      delete[] _data;
+    }
+
+    //! Default constructor.
+    /**
+       Construct a new empty list instance.
+       \note
+       - An empty list has no pixel data and its dimension width() is set to \c 0, as well as its
+         image buffer pointer data().
+       - An empty list may be reassigned afterwards, with the family of the assign() methods.
+         In all cases, the type of pixels stays \c T.
+     **/
+    CImgList():
+      _width(0),_allocated_width(0),_data(0) {}
+
+    //! Construct list containing empty images.
+    /**
+       \param n Number of empty images.
+       \note Useful when you know by advance the number of images you want to manage, as
+       it will allocate the right amount of memory for the list, without needs for reallocation
+       (that may occur when starting from an empty list and inserting several images in it).
+    **/
+    explicit CImgList(const unsigned int n):_width(n) {
+      if (n) _data = new CImg<T>[_allocated_width = cimg::max(16UL,cimg::nearest_pow2(n))];
+      else { _allocated_width = 0; _data = 0; }
+    }
+
+    //! Construct list containing images of specified size.
+    /**
+       \param n Number of images.
+       \param width Width of images.
+       \param height Height of images.
+       \param depth Depth of images.
+       \param spectrum Number of channels of images.
+       \note Pixel values are not initialized and may probably contain garbage.
+    **/
+    CImgList(const unsigned int n, const unsigned int width, const unsigned int height=1,
+             const unsigned int depth=1, const unsigned int spectrum=1):
+      _width(0),_allocated_width(0),_data(0) {
+      assign(n);
+      cimglist_apply(*this,assign)(width,height,depth,spectrum);
+    }
+
+    //! Construct list containing images of specified size, and initialize pixel values.
+    /**
+       \param n Number of images.
+       \param width Width of images.
+       \param height Height of images.
+       \param depth Depth of images.
+       \param spectrum Number of channels of images.
+       \param val Initialization value for images pixels.
+    **/
+    CImgList(const unsigned int n, const unsigned int width, const unsigned int height,
+             const unsigned int depth, const unsigned int spectrum, const T& val):
+      _width(0),_allocated_width(0),_data(0) {
+      assign(n);
+      cimglist_apply(*this,assign)(width,height,depth,spectrum,val);
+    }
+
+    //! Construct list containing images of specified size, and initialize pixel values from a sequence of integers.
+    /**
+       \param n Number of images.
+       \param width Width of images.
+       \param height Height of images.
+       \param depth Depth of images.
+       \param spectrum Number of channels of images.
+       \param val0 First value of the initializing integers sequence.
+       \param val1 Second value of the initializing integers sequence.
+       \warning You must specify at least <tt>width*height*depth*spectrum</tt> values in your argument list,
+         or you will probably segfault.
+    **/
+    CImgList(const unsigned int n, const unsigned int width, const unsigned int height,
+             const unsigned int depth, const unsigned int spectrum, const int val0, const int val1, ...):
+      _width(0),_allocated_width(0),_data(0) {
+#define _CImgList_stdarg(t) { \
+	assign(n,width,height,depth,spectrum); \
+	const unsigned long siz = (unsigned long)width*height*depth*spectrum, nsiz = siz*n; \
+	T *ptrd = _data->_data; \
+	va_list ap; \
+	va_start(ap,val1); \
+	for (unsigned long l = 0, s = 0, i = 0; i<nsiz; ++i) { \
+	  *(ptrd++) = (T)(i==0?val0:(i==1?val1:va_arg(ap,t))); \
+	  if ((++s)==siz) { ptrd = _data[++l]._data; s = 0; } \
+	} \
+	va_end(ap); \
+      }
+      _CImgList_stdarg(int);
+    }
+
+    //! Construct list containing images of specified size, and initialize pixel values from a sequence of doubles.
+    /**
+       \param n Number of images.
+       \param width Width of images.
+       \param height Height of images.
+       \param depth Depth of images.
+       \param spectrum Number of channels of images.
+       \param val0 First value of the initializing doubles sequence.
+       \param val1 Second value of the initializing doubles sequence.
+       \warning You must specify at least <tt>width*height*depth*spectrum</tt> values in your argument list,
+         or you will probably segfault.
+    **/
+    CImgList(const unsigned int n, const unsigned int width, const unsigned int height,
+             const unsigned int depth, const unsigned int spectrum, const double val0, const double val1, ...):
+      _width(0),_allocated_width(0),_data(0) {
+      _CImgList_stdarg(double);
+    }
+
+    //! Construct list containing copies of an input image.
+    /**
+       \param n Number of images.
+       \param img Input image to copy in the constructed list.
+       \param is_shared Tells if the elements of the list are shared or non-shared copies of \c img.
+    **/
+    template<typename t>
+    CImgList(const unsigned int n, const CImg<t>& img, const bool is_shared=false):
+      _width(0),_allocated_width(0),_data(0) {
+      assign(n);
+      cimglist_apply(*this,assign)(img,is_shared);
+    }
+
+    //! Construct list from one image.
+    /**
+       \param img Input image to copy in the constructed list.
+       \param is_shared Tells if the element of the list is a shared or non-shared copy of \c img.
+     **/
+    template<typename t>
+    explicit CImgList(const CImg<t>& img, const bool is_shared=false):
+      _width(0),_allocated_width(0),_data(0) {
+      assign(1);
+      _data[0].assign(img,is_shared);
+    }
+
+    //! Construct list from two images.
+    /**
+       \param img1 First input image to copy in the constructed list.
+       \param img2 Second input image to copy in the constructed list.
+       \param is_shared Tells if the elements of the list are shared or non-shared copies of input images.
+     **/
+    template<typename t1, typename t2>
+    CImgList(const CImg<t1>& img1, const CImg<t2>& img2, const bool is_shared=false):
+      _width(0),_allocated_width(0),_data(0) {
+      assign(2);
+      _data[0].assign(img1,is_shared); _data[1].assign(img2,is_shared);
+    }
+
+    //! Construct list from three images.
+    /**
+       \param img1 First input image to copy in the constructed list.
+       \param img2 Second input image to copy in the constructed list.
+       \param img3 Third input image to copy in the constructed list.
+       \param is_shared Tells if the elements of the list are shared or non-shared copies of input images.
+    **/
+    template<typename t1, typename t2, typename t3>
+    CImgList(const CImg<t1>& img1, const CImg<t2>& img2, const CImg<t3>& img3, const bool is_shared=false):
+      _width(0),_allocated_width(0),_data(0) {
+      assign(3);
+      _data[0].assign(img1,is_shared); _data[1].assign(img2,is_shared); _data[2].assign(img3,is_shared);
+    }
+
+    //! Construct list from four images.
+    /**
+       \param img1 First input image to copy in the constructed list.
+       \param img2 Second input image to copy in the constructed list.
+       \param img3 Third input image to copy in the constructed list.
+       \param img4 Fourth input image to copy in the constructed list.
+       \param is_shared Tells if the elements of the list are shared or non-shared copies of input images.
+    **/
+    template<typename t1, typename t2, typename t3, typename t4>
+    CImgList(const CImg<t1>& img1, const CImg<t2>& img2, const CImg<t3>& img3, const CImg<t4>& img4,
+             const bool is_shared=false):
+      _width(0),_allocated_width(0),_data(0) {
+      assign(4);
+      _data[0].assign(img1,is_shared); _data[1].assign(img2,is_shared); _data[2].assign(img3,is_shared);
+      _data[3].assign(img4,is_shared);
+    }
+
+    //! Construct list from five images.
+    /**
+       \param img1 First input image to copy in the constructed list.
+       \param img2 Second input image to copy in the constructed list.
+       \param img3 Third input image to copy in the constructed list.
+       \param img4 Fourth input image to copy in the constructed list.
+       \param img5 Fifth input image to copy in the constructed list.
+       \param is_shared Tells if the elements of the list are shared or non-shared copies of input images.
+    **/
+    template<typename t1, typename t2, typename t3, typename t4, typename t5>
+    CImgList(const CImg<t1>& img1, const CImg<t2>& img2, const CImg<t3>& img3, const CImg<t4>& img4,
+             const CImg<t5>& img5, const bool is_shared=false):
+      _width(0),_allocated_width(0),_data(0) {
+      assign(5);
+      _data[0].assign(img1,is_shared); _data[1].assign(img2,is_shared); _data[2].assign(img3,is_shared);
+      _data[3].assign(img4,is_shared); _data[4].assign(img5,is_shared);
+    }
+
+    //! Construct list from six images.
+    /**
+       \param img1 First input image to copy in the constructed list.
+       \param img2 Second input image to copy in the constructed list.
+       \param img3 Third input image to copy in the constructed list.
+       \param img4 Fourth input image to copy in the constructed list.
+       \param img5 Fifth input image to copy in the constructed list.
+       \param img6 Sixth input image to copy in the constructed list.
+       \param is_shared Tells if the elements of the list are shared or non-shared copies of input images.
+    **/
+    template<typename t1, typename t2, typename t3, typename t4, typename t5, typename t6>
+    CImgList(const CImg<t1>& img1, const CImg<t2>& img2, const CImg<t3>& img3, const CImg<t4>& img4,
+             const CImg<t5>& img5, const CImg<t6>& img6, const bool is_shared=false):
+      _width(0),_allocated_width(0),_data(0) {
+      assign(6);
+      _data[0].assign(img1,is_shared); _data[1].assign(img2,is_shared); _data[2].assign(img3,is_shared);
+      _data[3].assign(img4,is_shared); _data[4].assign(img5,is_shared); _data[5].assign(img6,is_shared);
+    }
+
+    //! Construct list from seven images.
+    /**
+       \param img1 First input image to copy in the constructed list.
+       \param img2 Second input image to copy in the constructed list.
+       \param img3 Third input image to copy in the constructed list.
+       \param img4 Fourth input image to copy in the constructed list.
+       \param img5 Fifth input image to copy in the constructed list.
+       \param img6 Sixth input image to copy in the constructed list.
+       \param img7 Seventh input image to copy in the constructed list.
+       \param is_shared Tells if the elements of the list are shared or non-shared copies of input images.
+    **/
+    template<typename t1, typename t2, typename t3, typename t4, typename t5, typename t6, typename t7>
+    CImgList(const CImg<t1>& img1, const CImg<t2>& img2, const CImg<t3>& img3, const CImg<t4>& img4,
+             const CImg<t5>& img5, const CImg<t6>& img6, const CImg<t7>& img7, const bool is_shared=false):
+      _width(0),_allocated_width(0),_data(0) {
+      assign(7);
+      _data[0].assign(img1,is_shared); _data[1].assign(img2,is_shared); _data[2].assign(img3,is_shared);
+      _data[3].assign(img4,is_shared); _data[4].assign(img5,is_shared); _data[5].assign(img6,is_shared);
+      _data[6].assign(img7,is_shared);
+    }
+
+    //! Construct list from eight images.
+    /**
+       \param img1 First input image to copy in the constructed list.
+       \param img2 Second input image to copy in the constructed list.
+       \param img3 Third input image to copy in the constructed list.
+       \param img4 Fourth input image to copy in the constructed list.
+       \param img5 Fifth input image to copy in the constructed list.
+       \param img6 Sixth input image to copy in the constructed list.
+       \param img7 Seventh input image to copy in the constructed list.
+       \param img8 Eighth input image to copy in the constructed list.
+       \param is_shared Tells if the elements of the list are shared or non-shared copies of input images.
+    **/
+    template<typename t1, typename t2, typename t3, typename t4, typename t5, typename t6, typename t7, typename t8>
+    CImgList(const CImg<t1>& img1, const CImg<t2>& img2, const CImg<t3>& img3, const CImg<t4>& img4,
+             const CImg<t5>& img5, const CImg<t6>& img6, const CImg<t7>& img7, const CImg<t8>& img8,
+             const bool is_shared=false):
+      _width(0),_allocated_width(0),_data(0) {
+      assign(8);
+      _data[0].assign(img1,is_shared); _data[1].assign(img2,is_shared); _data[2].assign(img3,is_shared);
+      _data[3].assign(img4,is_shared); _data[4].assign(img5,is_shared); _data[5].assign(img6,is_shared);
+      _data[6].assign(img7,is_shared); _data[7].assign(img8,is_shared);
+    }
+
+    //! Construct list copy.
+    /**
+       \param list Input list to copy.
+       \note The shared state of each element of the constructed list is kept the same as in \c list.
+    **/
+    template<typename t>
+    CImgList(const CImgList<t>& list):_width(0),_allocated_width(0),_data(0) {
+      assign(list._width);
+      cimglist_for(*this,l) _data[l].assign(list[l],false);
+    }
+
+    //! Construct list copy \specialization.
+    CImgList(const CImgList<T>& list):_width(0),_allocated_width(0),_data(0) {
+      assign(list._width);
+      cimglist_for(*this,l) _data[l].assign(list[l],list[l]._is_shared);
+    }
+
+    //! Construct list copy, and force the shared state of the list elements.
+    /**
+       \param list Input list to copy.
+       \param is_shared Tells if the elements of the list are shared or non-shared copies of input images.
+    **/
+    template<typename t>
+    CImgList(const CImgList<t>& list, const bool is_shared):_width(0),_allocated_width(0),_data(0) {
+      assign(list._width);
+      cimglist_for(*this,l) _data[l].assign(list[l],is_shared);
+    }
+
+    //! Construct list by reading the content of a file.
+    /**
+       \param filename Filename, as a C-string.
+    **/
+    explicit CImgList(const char *const filename):_width(0),_allocated_width(0),_data(0) {
+      assign(filename);
+    }
+
+    //! Construct list from the content of a display window.
+    /**
+       \param disp Display window to get content from.
+       \note Constructed list contains a single image only.
+    **/
+    explicit CImgList(const CImgDisplay& disp):_width(0),_allocated_width(0),_data(0) {
+      assign(disp);
+    }
+
+    //! Return a list with elements being shared copies of images in the list instance.
+    /**
+      \note <tt>list2 = list1.get_shared()</tt> is equivalent to <tt>list2.assign(list1,true)</tt>.
+    **/
+    CImgList<T> get_shared() {
+      CImgList<T> res(_width);
+      cimglist_for(*this,l) res[l].assign(_data[l],true);
+      return res;
+    }
+
+    //! Return a list with elements being shared copies of images in the list instance \const.
+    const CImgList<T> get_shared() const {
+      CImgList<T> res(_width);
+      cimglist_for(*this,l) res[l].assign(_data[l],true);
+      return res;
+    }
+
+    //! Destructor \inplace.
+    /**
+       \see CImgList().
+    **/
+    CImgList<T>& assign() {
+      delete[] _data;
+      _width = _allocated_width = 0;
+      _data = 0;
+      return *this;
+    }
+
+    //! Destructor \inplace.
+    /**
+       Equivalent to assign().
+       \note Only here for compatibility with STL naming conventions.
+    **/
+    CImgList<T>& clear() {
+      return assign();
+    }
+
+    //! Construct list containing empty images \inplace.
+    /**
+       \see CImgList(unsigned int).
+    **/
+    CImgList<T>& assign(const unsigned int n) {
+      if (!n) return assign();
+      if (_allocated_width<n || _allocated_width>(n<<2)) {
+        delete[] _data;
+        _data = new CImg<T>[_allocated_width=cimg::max(16UL,cimg::nearest_pow2(n))];
+      }
+      _width = n;
+      return *this;
+    }
+
+    //! Construct list containing images of specified size \inplace.
+    /**
+       \see CImgList(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int).
+    **/
+    CImgList<T>& assign(const unsigned int n, const unsigned int width, const unsigned int height=1,
+                        const unsigned int depth=1, const unsigned int spectrum=1) {
+      assign(n);
+      cimglist_apply(*this,assign)(width,height,depth,spectrum);
+      return *this;
+    }
+
+    //! Construct list containing images of specified size, and initialize pixel values \inplace.
+    /**
+       \see CImgList(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, const T).
+    **/
+    CImgList<T>& assign(const unsigned int n, const unsigned int width, const unsigned int height,
+                        const unsigned int depth, const unsigned int spectrum, const T& val) {
+      assign(n);
+      cimglist_apply(*this,assign)(width,height,depth,spectrum,val);
+      return *this;
+    }
+
+    //! Construct list with images of specified size, and initialize pixel values from a sequence of integers \inplace.
+    /**
+       \see CImgList(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, const int, const int, ...).
+    **/
+    CImgList<T>& assign(const unsigned int n, const unsigned int width, const unsigned int height,
+                        const unsigned int depth, const unsigned int spectrum, const int val0, const int val1, ...) {
+      _CImgList_stdarg(int);
+      return *this;
+    }
+
+    //! Construct list with images of specified size, and initialize pixel values from a sequence of doubles \inplace.
+    /**
+       \see CImgList(unsigned int, unsigned int, unsigned int, unsigned int, unsigned int, const double, const double, ...).
+    **/
+    CImgList<T>& assign(const unsigned int n, const unsigned int width, const unsigned int height,
+                        const unsigned int depth, const unsigned int spectrum,
+                        const double val0, const double val1, ...) {
+      _CImgList_stdarg(double);
+      return *this;
+    }
+
+    //! Construct list containing copies of an input image \inplace.
+    /**
+       \see CImgList(unsigned int, const CImg<t>&, bool).
+    **/
+    template<typename t>
+    CImgList<T>& assign(const unsigned int n, const CImg<t>& img, const bool is_shared=false) {
+      assign(n);
+      cimglist_apply(*this,assign)(img,is_shared);
+      return *this;
+    }
+
+    //! Construct list from one image \inplace.
+    /**
+       \see CImgList(const CImg<t>&, bool).
+    **/
+    template<typename t>
+    CImgList<T>& assign(const CImg<t>& img, const bool is_shared=false) {
+      assign(1);
+      _data[0].assign(img,is_shared);
+      return *this;
+    }
+
+    //! Construct list from two images \inplace.
+    /**
+       \see CImgList(const CImg<t>&, const CImg<t>&, bool).
+    **/
+    template<typename t1, typename t2>
+    CImgList<T>& assign(const CImg<t1>& img1, const CImg<t2>& img2, const bool is_shared=false) {
+      assign(2);
+      _data[0].assign(img1,is_shared); _data[1].assign(img2,is_shared);
+      return *this;
+    }
+
+    //! Construct list from three images \inplace.
+    /**
+       \see CImgList(const CImg<t>&, const CImg<t>&, const CImg<t>&, bool).
+    **/
+    template<typename t1, typename t2, typename t3>
+    CImgList<T>& assign(const CImg<t1>& img1, const CImg<t2>& img2, const CImg<t3>& img3, const bool is_shared=false) {
+      assign(3);
+      _data[0].assign(img1,is_shared); _data[1].assign(img2,is_shared); _data[2].assign(img3,is_shared);
+      return *this;
+    }
+
+    //! Construct list from four images \inplace.
+    /**
+       \see CImgList(const CImg<t>&, const CImg<t>&, const CImg<t>&, const CImg<t>&, bool).
+    **/
+    template<typename t1, typename t2, typename t3, typename t4>
+    CImgList<T>& assign(const CImg<t1>& img1, const CImg<t2>& img2, const CImg<t3>& img3, const CImg<t4>& img4,
+                        const bool is_shared=false) {
+      assign(4);
+      _data[0].assign(img1,is_shared); _data[1].assign(img2,is_shared); _data[2].assign(img3,is_shared);
+      _data[3].assign(img4,is_shared);
+      return *this;
+    }
+
+    //! Construct list from five images \inplace.
+    /**
+       \see CImgList(const CImg<t>&, const CImg<t>&, const CImg<t>&, const CImg<t>&, const CImg<t>&, bool).
+    **/
+    template<typename t1, typename t2, typename t3, typename t4, typename t5>
+    CImgList<T>& assign(const CImg<t1>& img1, const CImg<t2>& img2, const CImg<t3>& img3, const CImg<t4>& img4,
+                        const CImg<t5>& img5, const bool is_shared=false) {
+      assign(5);
+      _data[0].assign(img1,is_shared); _data[1].assign(img2,is_shared); _data[2].assign(img3,is_shared);
+      _data[3].assign(img4,is_shared); _data[4].assign(img5,is_shared);
+      return *this;
+    }
+
+    //! Construct list from six images \inplace.
+    /**
+       \see CImgList(const CImg<t>&, const CImg<t>&, const CImg<t>&, const CImg<t>&, const CImg<t>&, const CImg<t>&, bool).
+    **/
+    template<typename t1, typename t2, typename t3, typename t4, typename t5, typename t6>
+    CImgList<T>& assign(const CImg<t1>& img1, const CImg<t2>& img2, const CImg<t3>& img3, const CImg<t4>& img4,
+                        const CImg<t5>& img5, const CImg<t6>& img6, const bool is_shared=false) {
+      assign(6);
+      _data[0].assign(img1,is_shared); _data[1].assign(img2,is_shared); _data[2].assign(img3,is_shared);
+      _data[3].assign(img4,is_shared); _data[4].assign(img5,is_shared); _data[5].assign(img6,is_shared);
+      return *this;
+    }
+
+    //! Construct list from seven images \inplace.
+    /**
+       \see CImgList(const CImg<t>&, const CImg<t>&, const CImg<t>&, const CImg<t>&, const CImg<t>&, const CImg<t>&, const CImg<t>&, bool).
+    **/
+    template<typename t1, typename t2, typename t3, typename t4, typename t5, typename t6, typename t7>
+    CImgList<T>& assign(const CImg<t1>& img1, const CImg<t2>& img2, const CImg<t3>& img3, const CImg<t4>& img4,
+                        const CImg<t5>& img5, const CImg<t6>& img6, const CImg<t7>& img7, const bool is_shared=false) {
+      assign(7);
+      _data[0].assign(img1,is_shared); _data[1].assign(img2,is_shared); _data[2].assign(img3,is_shared);
+      _data[3].assign(img4,is_shared); _data[4].assign(img5,is_shared); _data[5].assign(img6,is_shared);
+      _data[6].assign(img7,is_shared);
+      return *this;
+    }
+
+    //! Construct list from eight images \inplace.
+    /**
+       \see CImgList(const CImg<t>&, const CImg<t>&, const CImg<t>&, const CImg<t>&, const CImg<t>&, const CImg<t>&, const CImg<t>&, const CImg<t>&, bool).
+    **/
+    template<typename t1, typename t2, typename t3, typename t4, typename t5, typename t6, typename t7, typename t8>
+    CImgList<T>& assign(const CImg<t1>& img1, const CImg<t2>& img2, const CImg<t3>& img3, const CImg<t4>& img4,
+                        const CImg<t5>& img5, const CImg<t6>& img6, const CImg<t7>& img7, const CImg<t8>& img8,
+                        const bool is_shared=false) {
+      assign(8);
+      _data[0].assign(img1,is_shared); _data[1].assign(img2,is_shared); _data[2].assign(img3,is_shared);
+      _data[3].assign(img4,is_shared); _data[4].assign(img5,is_shared); _data[5].assign(img6,is_shared);
+      _data[6].assign(img7,is_shared); _data[7].assign(img8,is_shared);
+      return *this;
+    }
+
+    //! Construct list as a copy of an existing list and force the shared state of the list elements \inplace.
+    /**
+      \see CImgList(const CImgList<t>&, bool is_shared).
+    **/
+    template<typename t>
+    CImgList<T>& assign(const CImgList<t>& list, const bool is_shared=false) {
+      cimg::unused(is_shared);
+      assign(list._width);
+      cimglist_for(*this,l) _data[l].assign(list[l],false);
+      return *this;
+    }
+
+    //! Construct list as a copy of an existing list and force shared state of elements \inplace \specialization.
+    CImgList<T>& assign(const CImgList<T>& list, const bool is_shared=false) {
+      if (this==&list) return *this;
+      CImgList<T> res(list._width);
+      cimglist_for(res,l) res[l].assign(list[l],is_shared);
+      return res.move_to(*this);
+    }
+
+    //! Construct list by reading the content of a file \inplace.
+    /**
+      \see CImgList(const char *const).
+    **/
+    CImgList<T>& assign(const char *const filename) {
+      return load(filename);
+    }
+
+    //! Construct list from the content of a display window \inplace.
+    /**
+      \see CImgList(const CImgDisplay&).
+    **/
+    CImgList<T>& assign(const CImgDisplay &disp) {
+      return assign(CImg<T>(disp));
+    }
+
+    //! Transfer the content of the list instance to another list.
+    /**
+       \param list Destination list.
+       \note When returning, the current list instance is empty and the initial content of \c list is destroyed.
+    **/
+    template<typename t>
+    CImgList<t>& move_to(CImgList<t>& list) {
+      list.assign(_width);
+      bool is_one_shared_element = false;
+      cimglist_for(*this,l) is_one_shared_element|=_data[l]._is_shared;
+      if (is_one_shared_element) cimglist_for(*this,l) list[l].assign(_data[l]);
+      else cimglist_for(*this,l) _data[l].move_to(list[l]);
+      assign();
+      return list;
+    }
+
+    //! Transfer the content of the list instance at a specified position in another list.
+    /**
+       \param list Destination list.
+       \param pos Index of the insertion in the list.
+       \note When returning, the list instance is empty and the initial content of \c list is preserved
+       (only images indexes may be modified).
+     **/
+    template<typename t>
+    CImgList<t>& move_to(CImgList<t>& list, const unsigned int pos) {
+      if (is_empty()) return list;
+      const unsigned int npos = pos>list._width?list._width:pos;
+      list.insert(_width,npos);
+      bool is_one_shared_element = false;
+      cimglist_for(*this,l) is_one_shared_element|=_data[l]._is_shared;
+      if (is_one_shared_element) cimglist_for(*this,l) list[npos + l].assign(_data[l]);
+      else cimglist_for(*this,l) _data[l].move_to(list[npos + l]);
+      assign();
+      return list;
+    }
+
+    //! Swap all fields between two list instances.
+    /**
+       \param list List to swap fields with.
+       \note Can be used to exchange the content of two lists in a fast way.
+    **/
+    CImgList<T>& swap(CImgList<T>& list) {
+      cimg::swap(_width,list._width);
+      cimg::swap(_allocated_width,list._allocated_width);
+      cimg::swap(_data,list._data);
+      return list;
+    }
+
+    //! Return a reference to an empty list.
+    /**
+      \note Can be used to define default values in a function taking a CImgList<T> as an argument.
+      \code
+      void f(const CImgList<char>& list=CImgList<char>::empty());
+      \endcode
+    **/
+    static CImgList<T>& empty() {
+      static CImgList<T> _empty;
+      return _empty.assign();
+    }
+
+    //@}
+    //------------------------------------------
+    //
+    //! \name Overloaded Operators
+    //@{
+    //------------------------------------------
+
+    //! Return a reference to one image element of the list.
+    /**
+       \param pos Indice of the image element.
+    **/
+    CImg<T>& operator()(const unsigned int pos) {
+#if cimg_verbosity>=3
+      if (pos>=_width) {
+        cimg::warn(_cimglist_instance
+                   "operator(): Invalid image request, at position [%u].",
+                   cimglist_instance,
+                   pos);
+        return *_data;
+      }
+#endif
+      return _data[pos];
+    }
+
+    //! Return a reference to one image of the list.
+    /**
+       \param pos Indice of the image element.
+    **/
+    const CImg<T>& operator()(const unsigned int pos) const {
+      return const_cast<CImgList<T>*>(this)->operator()(pos);
+    }
+
+    //! Return a reference to one pixel value of one image of the list.
+    /**
+       \param pos Indice of the image element.
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \note <tt>list(n,x,y,z,c)</tt> is equivalent to <tt>list[n](x,y,z,c)</tt>.
+    **/
+    T& operator()(const unsigned int pos, const unsigned int x, const unsigned int y=0,
+                  const unsigned int z=0, const unsigned int c=0) {
+      return (*this)[pos](x,y,z,c);
+    }
+
+    //! Return a reference to one pixel value of one image of the list \const.
+    const T& operator()(const unsigned int pos, const unsigned int x, const unsigned int y=0,
+                        const unsigned int z=0, const unsigned int c=0) const {
+      return (*this)[pos](x,y,z,c);
+    }
+
+    //! Return pointer to the first image of the list.
+    /**
+       \note Images in a list are stored as a buffer of \c CImg<T>.
+    **/
+    operator CImg<T>*() {
+      return _data;
+    }
+
+    //! Return pointer to the first image of the list \const.
+    operator const CImg<T>*() const {
+      return _data;
+    }
+
+    //! Construct list from one image \inplace.
+    /**
+        \param img Input image to copy in the constructed list.
+        \note <tt>list = img;</tt> is equivalent to <tt>list.assign(img);</tt>.
+    **/
+    template<typename t>
+    CImgList<T>& operator=(const CImg<t>& img) {
+      return assign(img);
+    }
+
+    //! Construct list from another list.
+    /**
+       \param list Input list to copy.
+       \note <tt>list1 = list2</tt> is equivalent to <tt>list1.assign(list2);</tt>.
+    **/
+    template<typename t>
+    CImgList<T>& operator=(const CImgList<t>& list) {
+      return assign(list);
+    }
+
+    //! Construct list from another list \specialization.
+    CImgList<T>& operator=(const CImgList<T>& list) {
+      return assign(list);
+    }
+
+    //! Construct list by reading the content of a file \inplace.
+    /**
+       \see CImgList(const char *const).
+    **/
+    CImgList<T>& operator=(const char *const filename) {
+      return assign(filename);
+    }
+
+    //! Construct list from the content of a display window \inplace.
+    /**
+        \see CImgList(const CImgDisplay&).
+    **/
+    CImgList<T>& operator=(const CImgDisplay& disp) {
+      return assign(disp);
+    }
+
+    //! Return a non-shared copy of a list.
+    /**
+        \note <tt>+list</tt> is equivalent to <tt>CImgList<T>(list,false)</tt>.
+          It forces the copy to have non-shared elements.
+    **/
+    CImgList<T> operator+() const {
+      return CImgList<T>(*this,false);
+    }
+
+    //! Return a copy of the list instance, where image \c img has been inserted at the end.
+    /**
+       \param img Image inserted at the end of the instance copy.
+       \note Define a convenient way to create temporary lists of images, as in the following code:
+       \code
+       (img1,img2,img3,img4).display("My four images");
+       \endcode
+    **/
+    template<typename t>
+    CImgList<T>& operator,(const CImg<t>& img) {
+      return insert(img);
+    }
+
+    //! Return a copy of the list instance, where image \c img has been inserted at the end \const.
+    template<typename t>
+    CImgList<T> operator,(const CImg<t>& img) const {
+      return (+*this).insert(img);
+    }
+
+    //! Return a copy of the list instance, where all elements of input list \c list have been inserted at the end.
+    /**
+       \param list List inserted at the end of the instance copy.
+    **/
+    template<typename t>
+    CImgList<T>& operator,(const CImgList<t>& list) {
+      return insert(list);
+    }
+
+    //! Return a copy of the list instance, where all elements of input \c list have been inserted at the end \const.
+    template<typename t>
+    CImgList<T>& operator,(const CImgList<t>& list) const {
+      return (+*this).insert(list);
+    }
+
+    //! Return image corresponding to the appending of all images of the instance list along specified axis.
+    /**
+      \param axis Appending axis. Can be <tt>{ 'x' | 'y' | 'z' | 'c' }</tt>.
+      \note <tt>list>'x'</tt> is equivalent to <tt>list.get_append('x')</tt>.
+    **/
+    CImg<T> operator>(const char axis) const {
+      return get_append(axis,0);
+    }
+
+    //! Return list corresponding to the splitting of all images of the instance list along specified axis.
+    /**
+      \param axis Axis used for image splitting.
+      \note <tt>list<'x'</tt> is equivalent to <tt>list.get_split('x')</tt>.
+    **/
+    CImgList<T> operator<(const char axis) const {
+      return get_split(axis);
+    }
+
+    //@}
+    //-------------------------------------
+    //
+    //! \name Instance Characteristics
+    //@{
+    //-------------------------------------
+
+    //! Return the type of image pixel values as a C string.
+    /**
+       Return a \c char* string containing the usual type name of the image pixel values
+       (i.e. a stringified version of the template parameter \c T).
+       \note
+       - The returned string may contain spaces (as in \c "unsigned char").
+       - If the pixel type \c T does not correspond to a registered type, the string <tt>"unknown"</tt> is returned.
+    **/
+    static const char* pixel_type() {
+      return cimg::type<T>::string();
+    }
+
+    //! Return the size of the list, i.e. the number of images contained in it.
+    /**
+      \note Similar to size() but returns result as a (signed) integer.
+    **/
+    int width() const {
+      return (int)_width;
+    }
+
+    //! Return the size of the list, i.e. the number of images contained in it.
+    /**
+      \note Similar to width() but returns result as an unsigned integer.
+    **/
+    unsigned int size() const {
+      return _width;
+    }
+
+    //! Return pointer to the first image of the list.
+    /**
+       \note Images in a list are stored as a buffer of \c CImg<T>.
+    **/
+    CImg<T> *data() {
+      return _data;
+    }
+
+    //! Return pointer to the first image of the list \const.
+    const CImg<T> *data() const {
+      return _data;
+    }
+
+    //! Return pointer to the pos-th image of the list.
+    /**
+       \param pos Indice of the image element to access.
+       \note <tt>list.data(n);</tt> is equivalent to <tt>list.data + n;</tt>.
+    **/
+#if cimg_verbosity>=3
+    CImg<T> *data(const unsigned int pos) {
+      if (pos>=size())
+        cimg::warn(_cimglist_instance
+                   "data(): Invalid pointer request, at position [%u].",
+                   cimglist_instance,
+                   pos);
+      return _data + pos;
+    }
+
+    const CImg<T> *data(const unsigned int l) const {
+      return const_cast<CImgList<T>*>(this)->data(l);
+    }
+#else
+    CImg<T> *data(const unsigned int l) {
+      return _data + l;
+    }
+
+    //! Return pointer to the pos-th image of the list \const.
+    const CImg<T> *data(const unsigned int l) const {
+      return _data + l;
+    }
+#endif
+
+    //! Return iterator to the first image of the list.
+    /**
+    **/
+    iterator begin() {
+      return _data;
+    }
+
+    //! Return iterator to the first image of the list \const.
+    const_iterator begin() const {
+      return _data;
+    }
+
+    //! Return iterator to one position after the last image of the list.
+    /**
+    **/
+    iterator end() {
+      return _data + _width;
+    }
+
+    //! Return iterator to one position after the last image of the list \const.
+    const_iterator end() const {
+      return _data + _width;
+    }
+
+    //! Return reference to the first image of the list.
+    /**
+    **/
+    CImg<T>& front() {
+      return *_data;
+    }
+
+    //! Return reference to the first image of the list \const.
+    const CImg<T>& front() const {
+      return *_data;
+    }
+
+    //! Return a reference to the last image of the list.
+    /**
+    **/
+    const CImg<T>& back() const {
+      return *(_data + _width - 1);
+    }
+
+    //! Return a reference to the last image of the list \const.
+    CImg<T>& back() {
+      return *(_data + _width - 1);
+    }
+
+    //! Return pos-th image of the list.
+    /**
+       \param pos Indice of the image element to access.
+    **/
+    CImg<T>& at(const int pos) {
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "at(): Empty instance.",
+                                    cimglist_instance);
+
+      return _data[pos<0?0:pos>=(int)_width?(int)_width - 1:pos];
+    }
+
+    //! Access to pixel value with Dirichlet boundary conditions.
+    /**
+       \param pos Indice of the image element to access.
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \param out_value Default value returned if \c offset is outside image bounds.
+       \note <tt>list.atNXYZC(p,x,y,z,c);</tt> is equivalent to <tt>list[p].atXYZC(x,y,z,c);</tt>.
+    **/
+    T& atNXYZC(const int pos, const int x, const int y, const int z, const int c, const T& out_value) {
+      return (pos<0 || pos>=(int)_width)?(cimg::temporary(out_value)=out_value):_data[pos].atXYZC(x,y,z,c,out_value);
+    }
+
+    //! Access to pixel value with Dirichlet boundary conditions \const.
+    T atNXYZC(const int pos, const int x, const int y, const int z, const int c, const T& out_value) const {
+      return (pos<0 || pos>=(int)_width)?out_value:_data[pos].atXYZC(x,y,z,c,out_value);
+    }
+
+    //! Access to pixel value with Neumann boundary conditions.
+    /**
+       \param pos Indice of the image element to access.
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \note <tt>list.atNXYZC(p,x,y,z,c);</tt> is equivalent to <tt>list[p].atXYZC(x,y,z,c);</tt>.
+    **/
+    T& atNXYZC(const int pos, const int x, const int y, const int z, const int c) {
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "atNXYZC(): Empty instance.",
+                                    cimglist_instance);
+
+      return _atNXYZC(pos,x,y,z,c);
+    }
+
+    //! Access to pixel value with Neumann boundary conditions \const.
+    T atNXYZC(const int pos, const int x, const int y, const int z, const int c) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "atNXYZC(): Empty instance.",
+                                    cimglist_instance);
+
+      return _atNXYZC(pos,x,y,z,c);
+    }
+
+    T& _atNXYZC(const int pos, const int x, const int y, const int z, const int c) {
+      return _data[pos<0?0:(pos>=(int)_width?(int)_width - 1:pos)].atXYZC(x,y,z,c);
+    }
+
+    T _atNXYZC(const int pos, const int x, const int y, const int z, const int c) const {
+      return _data[pos<0?0:(pos>=(int)_width?(int)_width - 1:pos)].atXYZC(x,y,z,c);
+    }
+
+    //! Access pixel value with Dirichlet boundary conditions for the 3 first coordinates (\c pos, \c x,\c y,\c z).
+    /**
+       \param pos Indice of the image element to access.
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \param out_value Default value returned if \c offset is outside image bounds.
+       \note <tt>list.atNXYZ(p,x,y,z,c);</tt> is equivalent to <tt>list[p].atXYZ(x,y,z,c);</tt>.
+    **/
+    T& atNXYZ(const int pos, const int x, const int y, const int z, const int c, const T& out_value) {
+      return (pos<0 || pos>=(int)_width)?(cimg::temporary(out_value)=out_value):_data[pos].atXYZ(x,y,z,c,out_value);
+    }
+
+    //! Access pixel value with Dirichlet boundary conditions for the 3 first coordinates (\c pos, \c x,\c y,\c z) \const.
+    T atNXYZ(const int pos, const int x, const int y, const int z, const int c, const T& out_value) const {
+      return (pos<0 || pos>=(int)_width)?out_value:_data[pos].atXYZ(x,y,z,c,out_value);
+    }
+
+    //! Access to pixel value with Neumann boundary conditions for the 4 first coordinates (\c pos, \c x,\c y,\c z).
+    /**
+       \param pos Indice of the image element to access.
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \note <tt>list.atNXYZ(p,x,y,z,c);</tt> is equivalent to <tt>list[p].atXYZ(x,y,z,c);</tt>.
+    **/
+   T& atNXYZ(const int pos, const int x, const int y, const int z, const int c=0) {
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "atNXYZ(): Empty instance.",
+                                    cimglist_instance);
+
+      return _atNXYZ(pos,x,y,z,c);
+    }
+
+    //! Access to pixel value with Neumann boundary conditions for the 4 first coordinates (\c pos, \c x,\c y,\c z) \const.
+    T atNXYZ(const int pos, const int x, const int y, const int z, const int c=0) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "atNXYZ(): Empty instance.",
+                                    cimglist_instance);
+
+      return _atNXYZ(pos,x,y,z,c);
+    }
+
+    T& _atNXYZ(const int pos, const int x, const int y, const int z, const int c=0) {
+      return _data[pos<0?0:(pos>=(int)_width?(int)_width - 1:pos)].atXYZ(x,y,z,c);
+    }
+
+    T _atNXYZ(const int pos, const int x, const int y, const int z, const int c=0) const {
+      return _data[pos<0?0:(pos>=(int)_width?(int)_width - 1:pos)].atXYZ(x,y,z,c);
+    }
+
+    //! Access to pixel value with Dirichlet boundary conditions for the 3 first coordinates (\c pos, \c x,\c y).
+    /**
+       \param pos Indice of the image element to access.
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \param out_value Default value returned if \c offset is outside image bounds.
+       \note <tt>list.atNXYZ(p,x,y,z,c);</tt> is equivalent to <tt>list[p].atXYZ(x,y,z,c);</tt>.
+    **/
+    T& atNXY(const int pos, const int x, const int y, const int z, const int c, const T& out_value) {
+      return (pos<0 || pos>=(int)_width)?(cimg::temporary(out_value)=out_value):_data[pos].atXY(x,y,z,c,out_value);
+    }
+
+    //! Access to pixel value with Dirichlet boundary conditions for the 3 first coordinates (\c pos, \c x,\c y) \const.
+    T atNXY(const int pos, const int x, const int y, const int z, const int c, const T& out_value) const {
+      return (pos<0 || pos>=(int)_width)?out_value:_data[pos].atXY(x,y,z,c,out_value);
+    }
+
+    //! Access to pixel value with Neumann boundary conditions for the 3 first coordinates (\c pos, \c x,\c y).
+    /**
+       \param pos Indice of the image element to access.
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \note <tt>list.atNXYZ(p,x,y,z,c);</tt> is equivalent to <tt>list[p].atXYZ(x,y,z,c);</tt>.
+    **/
+    T& atNXY(const int pos, const int x, const int y, const int z=0, const int c=0) {
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "atNXY(): Empty instance.",
+                                    cimglist_instance);
+
+      return _atNXY(pos,x,y,z,c);
+    }
+
+    //! Access to pixel value with Neumann boundary conditions for the 3 first coordinates (\c pos, \c x,\c y) \const.
+    T atNXY(const int pos, const int x, const int y, const int z=0, const int c=0) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "atNXY(): Empty instance.",
+                                    cimglist_instance);
+
+      return _atNXY(pos,x,y,z,c);
+    }
+
+    T& _atNXY(const int pos, const int x, const int y, const int z=0, const int c=0) {
+      return _data[pos<0?0:(pos>=(int)_width?(int)_width - 1:pos)].atXY(x,y,z,c);
+    }
+
+    T _atNXY(const int pos, const int x, const int y, const int z=0, const int c=0) const {
+      return _data[pos<0?0:(pos>=(int)_width?(int)_width - 1:pos)].atXY(x,y,z,c);
+    }
+
+    //! Access to pixel value with Dirichlet boundary conditions for the 2 first coordinates (\c pos,\c x).
+    /**
+       \param pos Indice of the image element to access.
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \param out_value Default value returned if \c offset is outside image bounds.
+       \note <tt>list.atNXYZ(p,x,y,z,c);</tt> is equivalent to <tt>list[p].atXYZ(x,y,z,c);</tt>.
+    **/
+    T& atNX(const int pos, const int x, const int y, const int z, const int c, const T& out_value) {
+      return (pos<0 || pos>=(int)_width)?(cimg::temporary(out_value)=out_value):_data[pos].atX(x,y,z,c,out_value);
+    }
+
+    //! Access to pixel value with Dirichlet boundary conditions for the 2 first coordinates (\c pos,\c x) \const.
+    T atNX(const int pos, const int x, const int y, const int z, const int c, const T& out_value) const {
+      return (pos<0 || pos>=(int)_width)?out_value:_data[pos].atX(x,y,z,c,out_value);
+    }
+
+    //! Access to pixel value with Neumann boundary conditions for the 2 first coordinates (\c pos, \c x).
+    /**
+       \param pos Indice of the image element to access.
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \note <tt>list.atNXYZ(p,x,y,z,c);</tt> is equivalent to <tt>list[p].atXYZ(x,y,z,c);</tt>.
+    **/
+    T& atNX(const int pos, const int x, const int y=0, const int z=0, const int c=0) {
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "atNX(): Empty instance.",
+                                    cimglist_instance);
+
+      return _atNX(pos,x,y,z,c);
+    }
+
+    //! Access to pixel value with Neumann boundary conditions for the 2 first coordinates (\c pos, \c x) \const.
+    T atNX(const int pos, const int x, const int y=0, const int z=0, const int c=0) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "atNX(): Empty instance.",
+                                    cimglist_instance);
+
+      return _atNX(pos,x,y,z,c);
+    }
+
+    T& _atNX(const int pos, const int x, const int y=0, const int z=0, const int c=0) {
+      return _data[pos<0?0:(pos>=(int)_width?(int)_width - 1:pos)].atX(x,y,z,c);
+    }
+
+    T _atNX(const int pos, const int x, const int y=0, const int z=0, const int c=0) const {
+      return _data[pos<0?0:(pos>=(int)_width?(int)_width - 1:pos)].atX(x,y,z,c);
+    }
+
+    //! Access to pixel value with Dirichlet boundary conditions for the first coordinate (\c pos).
+    /**
+       \param pos Indice of the image element to access.
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \param out_value Default value returned if \c offset is outside image bounds.
+       \note <tt>list.atNXYZ(p,x,y,z,c);</tt> is equivalent to <tt>list[p].atXYZ(x,y,z,c);</tt>.
+    **/
+    T& atN(const int pos, const int x, const int y, const int z, const int c, const T& out_value) {
+      return (pos<0 || pos>=(int)_width)?(cimg::temporary(out_value)=out_value):(*this)(pos,x,y,z,c);
+    }
+
+    //! Access to pixel value with Dirichlet boundary conditions for the first coordinate (\c pos) \const.
+    T atN(const int pos, const int x, const int y, const int z, const int c, const T& out_value) const {
+      return (pos<0 || pos>=(int)_width)?out_value:(*this)(pos,x,y,z,c);
+    }
+
+    //! Return pixel value with Neumann boundary conditions for the first coordinate (\c pos).
+    /**
+       \param pos Indice of the image element to access.
+       \param x X-coordinate of the pixel value.
+       \param y Y-coordinate of the pixel value.
+       \param z Z-coordinate of the pixel value.
+       \param c C-coordinate of the pixel value.
+       \note <tt>list.atNXYZ(p,x,y,z,c);</tt> is equivalent to <tt>list[p].atXYZ(x,y,z,c);</tt>.
+    **/
+    T& atN(const int pos, const int x=0, const int y=0, const int z=0, const int c=0) {
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "atN(): Empty instance.",
+                                    cimglist_instance);
+      return _atN(pos,x,y,z,c);
+    }
+
+    //! Return pixel value with Neumann boundary conditions for the first coordinate (\c pos) \const.
+    T atN(const int pos, const int x=0, const int y=0, const int z=0, const int c=0) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "atN(): Empty instance.",
+                                    cimglist_instance);
+      return _atN(pos,x,y,z,c);
+    }
+
+    T& _atN(const int pos, const int x=0, const int y=0, const int z=0, const int c=0) {
+      return _data[pos<0?0:(pos>=(int)_width?(int)_width - 1:pos)](x,y,z,c);
+    }
+
+    T _atN(const int pos, const int x=0, const int y=0, const int z=0, const int c=0) const {
+      return _data[pos<0?0:(pos>=(int)_width?(int)_width - 1:pos)](x,y,z,c);
+    }
+
+    //! Return a C-string containing the values of all images in the instance list.
+    /**
+       \param separator Character separator set between consecutive pixel values.
+       \param max_size Maximum size of the returned string.
+       \note The result is returne as a <tt>CImg<char></tt> image whose pixel buffer contains the desired C-string.
+    **/
+    CImg<charT> value_string(const char separator=',', const unsigned int max_size=0) const {
+      if (is_empty()) return CImg<ucharT>(1,1,1,1,0);
+      CImgList<charT> items;
+      for (unsigned int l = 0; l<_width - 1; ++l) {
+        CImg<charT> item = _data[l].value_string(separator,0);
+        item.back() = separator;
+        item.move_to(items);
+      }
+      _data[_width - 1].value_string(separator,0).move_to(items);
+      CImg<charT> res; (items>'x').move_to(res);
+      if (max_size) { res.crop(0,max_size); res(max_size) = 0; }
+      return res;
+    }
+
+    //@}
+    //-------------------------------------
+    //
+    //! \name Instance Checking
+    //@{
+    //-------------------------------------
+
+    //! Return \c true if list is empty.
+    /**
+    **/
+    bool is_empty() const {
+      return (!_data || !_width);
+    }
+
+    //! Test if number of image elements is equal to specified value.
+    /**
+        \param size_n Number of image elements to test.
+    **/
+    bool is_sameN(const unsigned int size_n) const {
+      return _width==size_n;
+    }
+
+    //! Test if number of image elements is equal between two images lists.
+    /**
+        \param list Input list to compare with.
+    **/
+    template<typename t>
+    bool is_sameN(const CImgList<t>& list) const {
+      return is_sameN(list._width);
+    }
+
+    // Define useful functions to check list dimensions.
+    // (cannot be documented because macro-generated).
+#define _cimglist_def_is_same1(axis) \
+    bool is_same##axis(const unsigned int val) const { \
+      bool res = true; \
+      for (unsigned int l = 0; l<_width && res; ++l) res = _data[l].is_same##axis(val); return res; \
+    } \
+    bool is_sameN##axis(const unsigned int n, const unsigned int val) const { \
+      return is_sameN(n) && is_same##axis(val); \
+    } \
+
+#define _cimglist_def_is_same2(axis1,axis2) \
+    bool is_same##axis1##axis2(const unsigned int val1, const unsigned int val2) const { \
+      bool res = true; \
+      for (unsigned int l = 0; l<_width && res; ++l) res = _data[l].is_same##axis1##axis2(val1,val2); return res; \
+    } \
+    bool is_sameN##axis1##axis2(const unsigned int n, const unsigned int val1, const unsigned int val2) const { \
+      return is_sameN(n) && is_same##axis1##axis2(val1,val2); \
+    } \
+
+#define _cimglist_def_is_same3(axis1,axis2,axis3) \
+    bool is_same##axis1##axis2##axis3(const unsigned int val1, const unsigned int val2, \
+                                      const unsigned int val3) const { \
+      bool res = true; \
+      for (unsigned int l = 0; l<_width && res; ++l) res = _data[l].is_same##axis1##axis2##axis3(val1,val2,val3); \
+      return res; \
+    } \
+    bool is_sameN##axis1##axis2##axis3(const unsigned int n, const unsigned int val1, \
+                                       const unsigned int val2, const unsigned int val3) const { \
+      return is_sameN(n) && is_same##axis1##axis2##axis3(val1,val2,val3); \
+    } \
+
+#define _cimglist_def_is_same(axis) \
+    template<typename t> bool is_same##axis(const CImg<t>& img) const { \
+      bool res = true; for (unsigned int l = 0; l<_width && res; ++l) res = _data[l].is_same##axis(img); return res; \
+    } \
+    template<typename t> bool is_same##axis(const CImgList<t>& list) const { \
+      const unsigned int lmin = cimg::min(_width,list._width); \
+      bool res = true; for (unsigned int l = 0; l<lmin && res; ++l) res = _data[l].is_same##axis(list[l]); return res; \
+    } \
+    template<typename t> bool is_sameN##axis(const unsigned int n, const CImg<t>& img) const { \
+      return (is_sameN(n) && is_same##axis(img)); \
+    } \
+    template<typename t> bool is_sameN##axis(const CImgList<t>& list) const { \
+      return (is_sameN(list) && is_same##axis(list)); \
+    }
+
+    _cimglist_def_is_same(XY)
+    _cimglist_def_is_same(XZ)
+    _cimglist_def_is_same(XC)
+    _cimglist_def_is_same(YZ)
+    _cimglist_def_is_same(YC)
+    _cimglist_def_is_same(XYZ)
+    _cimglist_def_is_same(XYC)
+    _cimglist_def_is_same(YZC)
+    _cimglist_def_is_same(XYZC)
+    _cimglist_def_is_same1(X)
+    _cimglist_def_is_same1(Y)
+    _cimglist_def_is_same1(Z)
+    _cimglist_def_is_same1(C)
+    _cimglist_def_is_same2(X,Y)
+    _cimglist_def_is_same2(X,Z)
+    _cimglist_def_is_same2(X,C)
+    _cimglist_def_is_same2(Y,Z)
+    _cimglist_def_is_same2(Y,C)
+    _cimglist_def_is_same2(Z,C)
+    _cimglist_def_is_same3(X,Y,Z)
+    _cimglist_def_is_same3(X,Y,C)
+    _cimglist_def_is_same3(X,Z,C)
+    _cimglist_def_is_same3(Y,Z,C)
+
+    //! Test if dimensions of each image of the list match specified arguments.
+    /**
+      \param dx Checked image width.
+      \param dy Checked image height.
+      \param dz Checked image depth.
+      \param dc Checked image spectrum.
+    **/
+    bool is_sameXYZC(const unsigned int dx, const unsigned int dy,
+                     const unsigned int dz, const unsigned int dc) const {
+      bool res = true;
+      for (unsigned int l = 0; l<_width && res; ++l) res = _data[l].is_sameXYZC(dx,dy,dz,dc);
+      return res;
+    }
+
+    //! Test if list dimensions match specified arguments.
+    /**
+       \param n Number of images in the list.
+       \param dx Checked image width.
+       \param dy Checked image height.
+       \param dz Checked image depth.
+       \param dc Checked image spectrum.
+    **/
+    bool is_sameNXYZC(const unsigned int n,
+                      const unsigned int dx, const unsigned int dy,
+                      const unsigned int dz, const unsigned int dc) const {
+      return is_sameN(n) && is_sameXYZC(dx,dy,dz,dc);
+    }
+
+    //! Test if list contains one particular pixel location.
+    /**
+       \param n Index of the image whom checked pixel value belong to.
+       \param x X-coordinate of the checked pixel value.
+       \param y Y-coordinate of the checked pixel value.
+       \param z Z-coordinate of the checked pixel value.
+       \param c C-coordinate of the checked pixel value.
+    **/
+    bool containsNXYZC(const int n, const int x=0, const int y=0, const int z=0, const int c=0) const {
+      if (is_empty()) return false;
+      return n>=0 && n<(int)_width && x>=0 && x<_data[n].width() && y>=0 && y<_data[n].height() &&
+        z>=0 && z<_data[n].depth() && c>=0 && c<_data[n].spectrum();
+    }
+
+    //! Test if list contains image with specified indice.
+    /**
+       \param n Index of the checked image.
+    **/
+    bool containsN(const int n) const {
+      if (is_empty()) return false;
+      return n>=0 && n<(int)_width;
+    }
+
+    //! Test if one image of the list contains the specified referenced value.
+    /**
+       \param pixel Reference to pixel value to test.
+       \param[out] n Index of image containing the pixel value, if test succeeds.
+       \param[out] x X-coordinate of the pixel value, if test succeeds.
+       \param[out] y Y-coordinate of the pixel value, if test succeeds.
+       \param[out] z Z-coordinate of the pixel value, if test succeeds.
+       \param[out] c C-coordinate of the pixel value, if test succeeds.
+       \note If true, set coordinates (n,x,y,z,c).
+    **/
+    template<typename t>
+    bool contains(const T& pixel, t& n, t& x, t&y, t& z, t& c) const {
+      if (is_empty()) return false;
+      cimglist_for(*this,l) if (_data[l].contains(pixel,x,y,z,c)) { n = (t)l; return true; }
+      return false;
+    }
+
+    //! Test if one of the image list contains the specified referenced value.
+    /**
+       \param pixel Reference to pixel value to test.
+       \param[out] n Index of image containing the pixel value, if test succeeds.
+       \param[out] x X-coordinate of the pixel value, if test succeeds.
+       \param[out] y Y-coordinate of the pixel value, if test succeeds.
+       \param[out] z Z-coordinate of the pixel value, if test succeeds.
+       \note If true, set coordinates (n,x,y,z).
+    **/
+    template<typename t>
+    bool contains(const T& pixel, t& n, t& x, t&y, t& z) const {
+      t c;
+      return contains(pixel,n,x,y,z,c);
+    }
+
+    //! Test if one of the image list contains the specified referenced value.
+    /**
+       \param pixel Reference to pixel value to test.
+       \param[out] n Index of image containing the pixel value, if test succeeds.
+       \param[out] x X-coordinate of the pixel value, if test succeeds.
+       \param[out] y Y-coordinate of the pixel value, if test succeeds.
+       \note If true, set coordinates (n,x,y).
+    **/
+    template<typename t>
+    bool contains(const T& pixel, t& n, t& x, t&y) const {
+      t z, c;
+      return contains(pixel,n,x,y,z,c);
+    }
+
+    //! Test if one of the image list contains the specified referenced value.
+    /**
+       \param pixel Reference to pixel value to test.
+       \param[out] n Index of image containing the pixel value, if test succeeds.
+       \param[out] x X-coordinate of the pixel value, if test succeeds.
+       \note If true, set coordinates (n,x).
+    **/
+    template<typename t>
+    bool contains(const T& pixel, t& n, t& x) const {
+      t y, z, c;
+      return contains(pixel,n,x,y,z,c);
+    }
+
+    //! Test if one of the image list contains the specified referenced value.
+    /**
+       \param pixel Reference to pixel value to test.
+       \param[out] n Index of image containing the pixel value, if test succeeds.
+       \note If true, set coordinates (n).
+    **/
+    template<typename t>
+    bool contains(const T& pixel, t& n) const {
+      t x, y, z, c;
+      return contains(pixel,n,x,y,z,c);
+    }
+
+    //! Test if one of the image list contains the specified referenced value.
+    /**
+       \param pixel Reference to pixel value to test.
+    **/
+    bool contains(const T& pixel) const {
+      unsigned int n, x, y, z, c;
+      return contains(pixel,n,x,y,z,c);
+    }
+
+    //! Test if the list contains the image 'img'.
+    /**
+       \param img Reference to image to test.
+       \param[out] n Index of image in the list, if test succeeds.
+       \note If true, returns the position (n) of the image in the list.
+    **/
+    template<typename t>
+    bool contains(const CImg<T>& img, t& n) const {
+      if (is_empty()) return false;
+      const CImg<T> *const ptr = &img;
+      cimglist_for(*this,i) if (_data + i==ptr) { n = (t)i; return true; }
+      return false;
+    }
+
+    //! Test if the list contains the image img.
+    /**
+       \param img Reference to image to test.
+    **/
+    bool contains(const CImg<T>& img) const {
+      unsigned int n;
+      return contains(img,n);
+    }
+
+    //@}
+    //-------------------------------------
+    //
+    //! \name Mathematical Functions
+    //@{
+    //-------------------------------------
+
+    //! Return a reference to the minimum pixel value of the instance list.
+    /**
+    **/
+    T& min() {
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "min(): Empty instance.",
+                                    cimglist_instance);
+      T *ptr_min = _data->_data;
+      T min_value = *ptr_min;
+      cimglist_for(*this,l) {
+        const CImg<T>& img = _data[l];
+        cimg_for(img,ptrs,T) if (*ptrs<min_value) min_value = *(ptr_min=ptrs);
+      }
+      return *ptr_min;
+    }
+
+    //! Return a reference to the minimum pixel value of the instance list \const.
+    const T& min() const {
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "min(): Empty instance.",
+                                    cimglist_instance);
+      const T *ptr_min = _data->_data;
+      T min_value = *ptr_min;
+      cimglist_for(*this,l) {
+        const CImg<T>& img = _data[l];
+        cimg_for(img,ptrs,T) if (*ptrs<min_value) min_value = *(ptr_min=ptrs);
+      }
+      return *ptr_min;
+    }
+
+    //! Return a reference to the maximum pixel value of the instance list.
+    /**
+    **/
+    T& max() {
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "max(): Empty instance.",
+                                    cimglist_instance);
+      T *ptr_max = _data->_data;
+      T max_value = *ptr_max;
+      cimglist_for(*this,l) {
+        const CImg<T>& img = _data[l];
+        cimg_for(img,ptrs,T) if (*ptrs>max_value) max_value = *(ptr_max=ptrs);
+      }
+      return *ptr_max;
+    }
+
+    //! Return a reference to the maximum pixel value of the instance list \const.
+    const T& max() const {
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "max(): Empty instance.",
+                                    cimglist_instance);
+      const T *ptr_max = _data->_data;
+      T max_value = *ptr_max;
+      cimglist_for(*this,l) {
+        const CImg<T>& img = _data[l];
+        cimg_for(img,ptrs,T) if (*ptrs>max_value) max_value = *(ptr_max=ptrs);
+      }
+      return *ptr_max;
+    }
+
+    //! Return a reference to the minimum pixel value of the instance list and return the maximum vvalue as well.
+    /**
+       \param[out] max_val Value of the maximum value found.
+    **/
+    template<typename t>
+    T& min_max(t& max_val) {
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "min_max(): Empty instance.",
+                                    cimglist_instance);
+      T *ptr_min = _data->_data;
+      T min_value = *ptr_min, max_value = min_value;
+      cimglist_for(*this,l) {
+        const CImg<T>& img = _data[l];
+        cimg_for(img,ptrs,T) {
+          const T val = *ptrs;
+          if (val<min_value) { min_value = val; ptr_min = ptrs; }
+          if (val>max_value) max_value = val;
+        }
+      }
+      max_val = (t)max_value;
+      return *ptr_min;
+    }
+
+    //! Return a reference to the minimum pixel value of the instance list and return the maximum vvalue as well \const.
+    /**
+       \param[out] max_val Value of the maximum value found.
+    **/
+    template<typename t>
+    const T& min_max(t& max_val) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "min_max(): Empty instance.",
+                                    cimglist_instance);
+      const T *ptr_min = _data->_data;
+      T min_value = *ptr_min, max_value = min_value;
+      cimglist_for(*this,l) {
+        const CImg<T>& img = _data[l];
+        cimg_for(img,ptrs,T) {
+          const T val = *ptrs;
+          if (val<min_value) { min_value = val; ptr_min = ptrs; }
+          if (val>max_value) max_value = val;
+        }
+      }
+      max_val = (t)max_value;
+      return *ptr_min;
+    }
+
+    //! Return a reference to the minimum pixel value of the instance list and return the minimum value as well.
+    /**
+       \param[out] min_val Value of the minimum value found.
+    **/
+    template<typename t>
+    T& max_min(t& min_val) {
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "max_min(): Empty instance.",
+                                    cimglist_instance);
+      T *ptr_max = _data->_data;
+      T min_value = *ptr_max, max_value = min_value;
+      cimglist_for(*this,l) {
+        const CImg<T>& img = _data[l];
+        cimg_for(img,ptrs,T) {
+          const T val = *ptrs;
+          if (val>max_value) { max_value = val; ptr_max = ptrs; }
+          if (val<min_value) min_value = val;
+        }
+      }
+      min_val = (t)min_value;
+      return *ptr_max;
+    }
+
+    //! Return a reference to the minimum pixel value of the instance list and return the minimum value as well \const.
+    template<typename t>
+    const T& max_min(t& min_val) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "max_min(): Empty instance.",
+                                    cimglist_instance);
+      const T *ptr_max = _data->_data;
+      T min_value = *ptr_max, max_value = min_value;
+      cimglist_for(*this,l) {
+        const CImg<T>& img = _data[l];
+        cimg_for(img,ptrs,T) {
+          const T val = *ptrs;
+          if (val>max_value) { max_value = val; ptr_max = ptrs; }
+          if (val<min_value) min_value = val;
+        }
+      }
+      min_val = (t)min_value;
+      return *ptr_max;
+    }
+
+    //@}
+    //---------------------------
+    //
+    //! \name List Manipulation
+    //@{
+    //---------------------------
+
+    //! Insert a copy of the image \c img into the current image list, at position \c pos.
+    /**
+        \param img Image to insert a copy to the list.
+        \param pos Index of the insertion.
+        \param is_shared Tells if the inserted image is a shared copy of \c img or not.
+    **/
+    template<typename t>
+    CImgList<T>& insert(const CImg<t>& img, const unsigned int pos=~0U, const bool is_shared=false) {
+      const unsigned int npos = pos==~0U?_width:pos;
+      if (npos>_width)
+        throw CImgArgumentException(_cimglist_instance
+                                    "insert(): Invalid insertion request of specified image (%u,%u,%u,%u,%p) "
+                                    "at position %u.",
+                                    cimglist_instance,
+                                    img._width,img._height,img._depth,img._spectrum,img._data,npos);
+      if (is_shared)
+        throw CImgArgumentException(_cimglist_instance
+                                    "insert(): Invalid insertion request of specified shared image "
+                                    "CImg<%s>(%u,%u,%u,%u,%p) at position %u (pixel types are different).",
+                                    cimglist_instance,
+                                    img.pixel_type(),img._width,img._height,img._depth,img._spectrum,img._data,npos);
+
+      CImg<T> *const new_data = (++_width>_allocated_width)?new CImg<T>[_allocated_width?(_allocated_width<<=1):
+                                                                        (_allocated_width=16)]:0;
+      if (!_data) { // Insert new element into empty list.
+        _data = new_data;
+        *_data = img;
+      } else {
+        if (new_data) { // Insert with re-allocation.
+          if (npos) std::memcpy(new_data,_data,sizeof(CImg<T>)*npos);
+          if (npos!=_width - 1) std::memcpy(new_data + npos + 1,_data + npos,sizeof(CImg<T>)*(_width - 1 - npos));
+          std::memset(_data,0,sizeof(CImg<T>)*(_width - 1));
+          delete[] _data;
+          _data = new_data;
+        } else if (npos!=_width - 1) // Insert without re-allocation.
+          std::memmove(_data + npos + 1,_data + npos,sizeof(CImg<T>)*(_width - 1 - npos));
+        _data[npos]._width = _data[npos]._height = _data[npos]._depth = _data[npos]._spectrum = 0;
+        _data[npos]._data = 0;
+        _data[npos] = img;
+      }
+      return *this;
+    }
+
+    //! Insert a copy of the image \c img into the current image list, at position \c pos \specialization.
+    CImgList<T>& insert(const CImg<T>& img, const unsigned int pos=~0U, const bool is_shared=false) {
+      const unsigned int npos = pos==~0U?_width:pos;
+      if (npos>_width)
+        throw CImgArgumentException(_cimglist_instance
+                                    "insert(): Invalid insertion request of specified image (%u,%u,%u,%u,%p) "
+                                    "at position %u.",
+                                    cimglist_instance,
+                                    img._width,img._height,img._depth,img._spectrum,img._data,npos);
+      CImg<T> *const new_data = (++_width>_allocated_width)?new CImg<T>[_allocated_width?(_allocated_width<<=1):
+                                                                        (_allocated_width=16)]:0;
+      if (!_data) { // Insert new element into empty list.
+        _data = new_data;
+        if (is_shared && img) {
+          _data->_width = img._width;
+          _data->_height = img._height;
+          _data->_depth = img._depth;
+          _data->_spectrum = img._spectrum;
+          _data->_is_shared = true;
+          _data->_data = img._data;
+        } else *_data = img;
+      }
+      else {
+        if (new_data) { // Insert with re-allocation.
+          if (npos) std::memcpy(new_data,_data,sizeof(CImg<T>)*npos);
+          if (npos!=_width - 1) std::memcpy(new_data + npos + 1,_data + npos,sizeof(CImg<T>)*(_width - 1 - npos));
+          if (is_shared && img) {
+            new_data[npos]._width = img._width;
+            new_data[npos]._height = img._height;
+            new_data[npos]._depth = img._depth;
+            new_data[npos]._spectrum = img._spectrum;
+            new_data[npos]._is_shared = true;
+            new_data[npos]._data = img._data;
+          } else {
+            new_data[npos]._width = new_data[npos]._height = new_data[npos]._depth = new_data[npos]._spectrum = 0;
+            new_data[npos]._data = 0;
+            new_data[npos] = img;
+          }
+          std::memset(_data,0,sizeof(CImg<T>)*(_width - 1));
+          delete[] _data;
+          _data = new_data;
+        } else { // Insert without re-allocation.
+          if (npos!=_width - 1) std::memmove(_data + npos + 1,_data + npos,sizeof(CImg<T>)*(_width - 1 - npos));
+          if (is_shared && img) {
+            _data[npos]._width = img._width;
+            _data[npos]._height = img._height;
+            _data[npos]._depth = img._depth;
+            _data[npos]._spectrum = img._spectrum;
+            _data[npos]._is_shared = true;
+            _data[npos]._data = img._data;
+          } else {
+            _data[npos]._width = _data[npos]._height = _data[npos]._depth = _data[npos]._spectrum = 0;
+            _data[npos]._data = 0;
+            _data[npos] = img;
+          }
+        }
+      }
+      return *this;
+    }
+
+    //! Insert a copy of the image \c img into the current image list, at position \c pos \newinstance.
+    template<typename t>
+    CImgList<T> get_insert(const CImg<t>& img, const unsigned int pos=~0U, const bool is_shared=false) const {
+      return (+*this).insert(img,pos,is_shared);
+    }
+
+    //! Insert n empty images img into the current image list, at position \p pos.
+    /**
+       \param n Number of empty images to insert.
+       \param pos Index of the insertion.
+    **/
+    CImgList<T>& insert(const unsigned int n, const unsigned int pos=~0U) {
+      CImg<T> empty;
+      if (!n) return *this;
+      const unsigned int npos = pos==~0U?_width:pos;
+      for (unsigned int i = 0; i<n; ++i) insert(empty,npos+i);
+      return *this;
+    }
+
+    //! Insert n empty images img into the current image list, at position \p pos \newinstance.
+    CImgList<T> get_insert(const unsigned int n, const unsigned int pos=~0U) const {
+      return (+*this).insert(n,pos);
+    }
+
+    //! Insert \c n copies of the image \c img into the current image list, at position \c pos.
+    /**
+       \param n Number of image copies to insert.
+       \param img Image to insert by copy.
+       \param pos Index of the insertion.
+       \param is_shared Tells if inserted images are shared copies of \c img or not.
+    **/
+    template<typename t>
+    CImgList<T>& insert(const unsigned int n, const CImg<t>& img, const unsigned int pos=~0U,
+                        const bool is_shared=false) {
+      if (!n) return *this;
+      const unsigned int npos = pos==~0U?_width:pos;
+      insert(img,npos,is_shared);
+      for (unsigned int i = 1; i<n; ++i) insert(_data[npos],npos + i,is_shared);
+      return *this;
+    }
+
+    //! Insert \c n copies of the image \c img into the current image list, at position \c pos \newinstance.
+    template<typename t>
+    CImgList<T> get_insert(const unsigned int n, const CImg<t>& img, const unsigned int pos=~0U,
+                           const bool is_shared=false) const {
+      return (+*this).insert(n,img,pos,is_shared);
+    }
+
+    //! Insert a copy of the image list \c list into the current image list, starting from position \c pos.
+    /**
+      \param list Image list to insert.
+      \param pos Index of the insertion.
+      \param is_shared Tells if inserted images are shared copies of images of \c list or not.
+    **/
+    template<typename t>
+    CImgList<T>& insert(const CImgList<t>& list, const unsigned int pos=~0U, const bool is_shared=false) {
+      const unsigned int npos = pos==~0U?_width:pos;
+      if ((void*)this!=(void*)&list) cimglist_for(list,l) insert(list[l],npos + l,is_shared);
+      else insert(CImgList<T>(list),npos,is_shared);
+      return *this;
+    }
+
+    //! Insert a copy of the image list \c list into the current image list, starting from position \c pos \newinstance.
+    template<typename t>
+    CImgList<T> get_insert(const CImgList<t>& list, const unsigned int pos=~0U, const bool is_shared=false) const {
+      return (+*this).insert(list,pos,is_shared);
+    }
+
+    //! Insert n copies of the list \c list at position \c pos of the current list.
+    /**
+      \param n Number of list copies to insert.
+      \param list Image list to insert.
+      \param pos Index of the insertion.
+      \param is_shared Tells if inserted images are shared copies of images of \c list or not.
+    **/
+    template<typename t>
+    CImgList<T>& insert(const unsigned int n, const CImgList<t>& list, const unsigned int pos=~0U,
+                        const bool is_shared=false) {
+      if (!n) return *this;
+      const unsigned int npos = pos==~0U?_width:pos;
+      for (unsigned int i = 0; i<n; ++i) insert(list,npos,is_shared);
+      return *this;
+    }
+
+    //! Insert n copies of the list \c list at position \c pos of the current list \newinstance.
+    template<typename t>
+    CImgList<T> get_insert(const unsigned int n, const CImgList<t>& list, const unsigned int pos=~0U,
+                           const bool is_shared=false) const {
+      return (+*this).insert(n,list,pos,is_shared);
+    }
+
+    //! Remove all images between from indexes.
+    /**
+      \param pos1 Starting index of the removal.
+      \param pos2 Ending index of the removal.
+    **/
+    CImgList<T>& remove(const unsigned int pos1, const unsigned int pos2) {
+      const unsigned int
+        npos1 = pos1<pos2?pos1:pos2,
+        tpos2 = pos1<pos2?pos2:pos1,
+        npos2 = tpos2<_width?tpos2:_width - 1;
+      if (npos1>=_width)
+        throw CImgArgumentException(_cimglist_instance
+                                    "remove(): Invalid remove request at positions %u->%u.",
+                                    cimglist_instance,
+                                    npos1,tpos2);
+      else {
+        if (tpos2>=_width)
+          throw CImgArgumentException(_cimglist_instance
+                                      "remove(): Invalid remove request at positions %u->%u.",
+                                      cimglist_instance,
+                                      npos1,tpos2);
+
+        for (unsigned int k = npos1; k<=npos2; ++k) _data[k].assign();
+        const unsigned int nb = 1 + npos2 - npos1;
+        if (!(_width-=nb)) return assign();
+        if (_width>(_allocated_width>>2) || _allocated_width<=16) { // Removing items without reallocation.
+          if (npos1!=_width) std::memmove(_data + npos1,_data + npos2 + 1,sizeof(CImg<T>)*(_width - npos1));
+          std::memset(_data + _width,0,sizeof(CImg<T>)*nb);
+        } else { // Removing items with reallocation.
+          _allocated_width>>=2;
+          while (_allocated_width>16 && _width<(_allocated_width>>1)) _allocated_width>>=1;
+          CImg<T> *const new_data = new CImg<T>[_allocated_width];
+          if (npos1) std::memcpy(new_data,_data,sizeof(CImg<T>)*npos1);
+          if (npos1!=_width) std::memcpy(new_data + npos1,_data + npos2 + 1,sizeof(CImg<T>)*(_width - npos1));
+          if (_width!=_allocated_width) std::memset(new_data + _width,0,sizeof(CImg<T>)*(_allocated_width - _width));
+          std::memset(_data,0,sizeof(CImg<T>)*(_width + nb));
+          delete[] _data;
+          _data = new_data;
+        }
+      }
+      return *this;
+    }
+
+    //! Remove all images between from indexes \newinstance.
+    CImgList<T> get_remove(const unsigned int pos1, const unsigned int pos2) const {
+      return (+*this).remove(pos1,pos2);
+    }
+
+    //! Remove image at index \c pos from the image list.
+    /**
+      \param pos Index of the image to remove.
+    **/
+    CImgList<T>& remove(const unsigned int pos) {
+      return remove(pos,pos);
+    }
+
+    //! Remove image at index \c pos from the image list \newinstance.
+    CImgList<T> get_remove(const unsigned int pos) const {
+      return (+*this).remove(pos);
+    }
+
+    //! Remove last image.
+    /**
+    **/
+    CImgList<T>& remove() {
+      return remove(_width - 1);
+    }
+
+    //! Remove last image \newinstance.
+    CImgList<T> get_remove() const {
+      return (+*this).remove();
+    }
+
+    //! Reverse list order.
+    CImgList<T>& reverse() {
+      for (unsigned int l = 0; l<_width/2; ++l) (*this)[l].swap((*this)[_width - 1 - l]);
+      return *this;
+    }
+
+    //! Reverse list order \newinstance.
+    CImgList<T> get_reverse() const {
+      return (+*this).reverse();
+    }
+
+    //! Return a sublist.
+    /**
+      \param pos0 Starting index of the sublist.
+      \param pos1 Ending index of the sublist.
+    **/
+    CImgList<T>& images(const unsigned int pos0, const unsigned int pos1) {
+      return get_images(pos0,pos1).move_to(*this);
+    }
+
+    //! Return a sublist \newinstance.
+    CImgList<T> get_images(const unsigned int pos0, const unsigned int pos1) const {
+      if (pos0>pos1 || pos1>=_width)
+        throw CImgArgumentException(_cimglist_instance
+                                    "images(): Specified sub-list indices (%u->%u) are out of bounds.",
+                                    cimglist_instance,
+                                    pos0,pos1);
+      CImgList<T> res(pos1 - pos0 + 1);
+      cimglist_for(res,l) res[l].assign(_data[pos0 + l]);
+      return res;
+    }
+
+    //! Return a shared sublist.
+    /**
+      \param pos0 Starting index of the sublist.
+      \param pos1 Ending index of the sublist.
+    **/
+    CImgList<T> get_shared_images(const unsigned int pos0, const unsigned int pos1) {
+      if (pos0>pos1 || pos1>=_width)
+        throw CImgArgumentException(_cimglist_instance
+                                    "get_shared_images(): Specified sub-list indices (%u->%u) are out of bounds.",
+                                    cimglist_instance,
+                                    pos0,pos1);
+      CImgList<T> res(pos1 - pos0 + 1);
+      cimglist_for(res,l) res[l].assign(_data[pos0 + l],_data[pos0 + l]?true:false);
+      return res;
+    }
+
+    //! Return a shared sublist \newinstance.
+    const CImgList<T> get_shared_images(const unsigned int pos0, const unsigned int pos1) const {
+      if (pos0>pos1 || pos1>=_width)
+        throw CImgArgumentException(_cimglist_instance
+                                    "get_shared_images(): Specified sub-list indices (%u->%u) are out of bounds.",
+                                    cimglist_instance,
+                                    pos0,pos1);
+      CImgList<T> res(pos1 - pos0 + 1);
+      cimglist_for(res,l) res[l].assign(_data[pos0 + l],_data[pos0 + l]?true:false);
+      return res;
+    }
+
+    //! Return a single image which is the appending of all images of the current CImgList instance.
+    /**
+       \param axis Appending axis. Can be <tt>{ 'x' | 'y' | 'z' | 'c' }</tt>.
+       \param align Appending alignment.
+    **/
+    CImg<T> get_append(const char axis, const float align=0) const {
+      if (is_empty()) return CImg<T>();
+      if (_width==1) return +((*this)[0]);
+      unsigned int dx = 0, dy = 0, dz = 0, dc = 0, pos = 0;
+      CImg<T> res;
+      switch (cimg::uncase(axis)) {
+      case 'x' : { // Along the X-axis.
+        cimglist_for(*this,l) {
+          const CImg<T>& img = (*this)[l];
+          if (img) {
+            dx+=img._width;
+            dy = cimg::max(dy,img._height);
+            dz = cimg::max(dz,img._depth);
+            dc = cimg::max(dc,img._spectrum);
+          }
+        }
+        res.assign(dx,dy,dz,dc,0);
+        if (res) cimglist_for(*this,l) {
+            const CImg<T>& img = (*this)[l];
+            if (img) res.draw_image(pos,
+                                    (int)(align*(dy - img._height)),
+                                    (int)(align*(dz - img._depth)),
+                                    (int)(align*(dc - img._spectrum)),
+                                    img);
+            pos+=img._width;
+          }
+      } break;
+      case 'y' : { // Along the Y-axis.
+        cimglist_for(*this,l) {
+          const CImg<T>& img = (*this)[l];
+          if (img) {
+            dx = cimg::max(dx,img._width);
+            dy+=img._height;
+            dz = cimg::max(dz,img._depth);
+            dc = cimg::max(dc,img._spectrum);
+          }
+        }
+        res.assign(dx,dy,dz,dc,0);
+        if (res) cimglist_for(*this,l) {
+            const CImg<T>& img = (*this)[l];
+            if (img) res.draw_image((int)(align*(dx - img._width)),
+                                    pos,
+                                    (int)(align*(dz - img._depth)),
+                                    (int)(align*(dc - img._spectrum)),
+                                    img);
+            pos+=img._height;
+          }
+      } break;
+      case 'z' : { // Along the Z-axis.
+        cimglist_for(*this,l) {
+          const CImg<T>& img = (*this)[l];
+          if (img) {
+            dx = cimg::max(dx,img._width);
+            dy = cimg::max(dy,img._height);
+            dz+=img._depth;
+            dc = cimg::max(dc,img._spectrum);
+          }
+        }
+        res.assign(dx,dy,dz,dc,0);
+        if (res) cimglist_for(*this,l) {
+            const CImg<T>& img = (*this)[l];
+            if (img) res.draw_image((int)(align*(dx - img._width)),
+                                    (int)(align*(dy - img._height)),
+                                    pos,
+                                    (int)(align*(dc - img._spectrum)),
+                                    img);
+            pos+=img._depth;
+          }
+      } break;
+      default : { // Along the C-axis.
+        cimglist_for(*this,l) {
+          const CImg<T>& img = (*this)[l];
+          if (img) {
+            dx = cimg::max(dx,img._width);
+            dy = cimg::max(dy,img._height);
+            dz = cimg::max(dz,img._depth);
+            dc+=img._spectrum;
+          }
+        }
+        res.assign(dx,dy,dz,dc,0);
+        if (res) cimglist_for(*this,l) {
+            const CImg<T>& img = (*this)[l];
+            if (img) res.draw_image((int)(align*(dx - img._width)),
+                                    (int)(align*(dy - img._height)),
+                                    (int)(align*(dz - img._depth)),
+                                    pos,
+                                    img);
+            pos+=img._spectrum;
+          }
+      }
+      }
+      return res;
+    }
+
+    //! Return a list where each image has been split along the specified axis.
+    /**
+        \param axis Axis to split images along.
+        \param nb Number of spliting parts for each image.
+    **/
+    CImgList<T>& split(const char axis, const int nb=-1) {
+      return get_split(axis,nb).move_to(*this);
+    }
+
+    //! Return a list where each image has been split along the specified axis \newinstance.
+    CImgList<T> get_split(const char axis, const int nb=-1) const {
+      CImgList<T> res;
+      cimglist_for(*this,l) _data[l].get_split(axis,nb).move_to(res,~0U);
+      return res;
+    }
+
+    //! Insert image at the end of the list.
+    /**
+      \param img Image to insert.
+    **/
+    template<typename t>
+    CImgList<T>& push_back(const CImg<t>& img) {
+      return insert(img);
+    }
+
+    //! Insert image at the front of the list.
+    /**
+      \param img Image to insert.
+    **/
+    template<typename t>
+    CImgList<T>& push_front(const CImg<t>& img) {
+      return insert(img,0);
+    }
+
+    //! Insert list at the end of the current list.
+    /**
+      \param list List to insert.
+    **/
+    template<typename t>
+    CImgList<T>& push_back(const CImgList<t>& list) {
+      return insert(list);
+    }
+
+    //! Insert list at the front of the current list.
+    /**
+      \param list List to insert.
+    **/
+    template<typename t>
+    CImgList<T>& push_front(const CImgList<t>& list) {
+      return insert(list,0);
+    }
+
+    //! Remove last image.
+    /**
+    **/
+    CImgList<T>& pop_back() {
+      return remove(_width - 1);
+    }
+
+    //! Remove first image.
+    /**
+    **/
+    CImgList<T>& pop_front() {
+      return remove(0);
+    }
+
+    //! Remove image pointed by iterator.
+    /**
+      \param iter Iterator pointing to the image to remove.
+    **/
+    CImgList<T>& erase(const iterator iter) {
+      return remove(iter - _data);
+    }
+
+    //@}
+    //----------------------------------
+    //
+    //! \name Data Input
+    //@{
+    //----------------------------------
+
+    //! Display a simple interactive interface to select images or sublists.
+    /**
+       \param disp Window instance to display selection and user interface.
+       \param feature_type Can be \c false to select a single image, or \c true to select a sublist.
+       \param axis Axis along whom images are appended for visualization.
+       \param align Alignment setting when images have not all the same size.
+       \return A one-column vector containing the selected image indexes.
+    **/
+    CImg<intT> get_select(CImgDisplay &disp, const bool feature_type=true,
+                          const char axis='x', const float align=0) const {
+      return _get_select(disp,0,feature_type,axis,align,0,false,false,false);
+    }
+
+    //! Display a simple interactive interface to select images or sublists.
+    /**
+       \param title Title of a new window used to display selection and user interface.
+       \param feature_type Can be \c false to select a single image, or \c true to select a sublist.
+       \param axis Axis along whom images are appended for visualization.
+       \param align Alignment setting when images have not all the same size.
+       \return A one-column vector containing the selected image indexes.
+    **/
+    CImg<intT> get_select(const char *const title, const bool feature_type=true,
+                          const char axis='x', const float align=0) const {
+      CImgDisplay disp;
+      return _get_select(disp,title,feature_type,axis,align,0,false,false,false);
+    }
+
+    CImg<intT> _get_select(CImgDisplay &disp, const char *const title, const bool feature_type,
+                           const char axis, const float align,
+                           const unsigned int orig, const bool resize_disp,
+                           const bool exit_on_rightbutton, const bool exit_on_wheel) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "select(): Empty instance.",
+                                    cimglist_instance);
+
+      // Create image correspondence table and get list dimensions for visualization.
+      CImgList<uintT> _indices;
+      unsigned int max_width = 0, max_height = 0, sum_width = 0, sum_height = 0;
+      cimglist_for(*this,l) {
+        const CImg<T>& img = _data[l];
+        const unsigned int
+          w = CImgDisplay::_fitscreen(img._width,img._height,img._depth,128,-85,false),
+          h = CImgDisplay::_fitscreen(img._width,img._height,img._depth,128,-85,true);
+        if (w>max_width) max_width = w;
+        if (h>max_height) max_height = h;
+        sum_width+=w; sum_height+=h;
+        if (axis=='x') CImg<uintT>(w,1,1,1,(unsigned int)l).move_to(_indices);
+        else CImg<uintT>(h,1,1,1,(unsigned int)l).move_to(_indices);
+      }
+      const CImg<uintT> indices0 = _indices>'x';
+
+      // Create display window.
+      if (!disp) {
+        if (axis=='x') disp.assign(cimg_fitscreen(sum_width,max_height,1),title?title:0,1);
+        else disp.assign(cimg_fitscreen(max_width,sum_height,1),title?title:0,1);
+        if (!title) disp.set_title("CImgList<%s> (%u)",pixel_type(),_width);
+      } else if (title) disp.set_title("%s",title);
+      if (resize_disp) {
+        if (axis=='x') disp.resize(cimg_fitscreen(sum_width,max_height,1),false);
+        else disp.resize(cimg_fitscreen(max_width,sum_height,1),false);
+      }
+
+      const unsigned int old_normalization = disp.normalization();
+      bool old_is_resized = disp.is_resized();
+      disp._normalization = 0;
+      disp.show().set_key(0);
+      const unsigned char foreground_color[] = { 255,255,255 }, background_color[] = { 0,0,0 };
+
+      // Enter event loop.
+      CImg<ucharT> visu0, visu;
+      CImg<uintT> indices;
+      CImg<intT> positions(_width,4,1,1,-1);
+      int oindice0 = -1, oindice1 = -1, indice0 = -1, indice1 = -1;
+      bool is_clicked = false, is_selected = false, text_down = false, update_display = true;
+      unsigned int key = 0;
+      while (!is_selected && !disp.is_closed() && !key) {
+
+        // Create background image.
+        if (!visu0) {
+          visu0.assign(disp._width,disp._height,1,3,0); visu.assign();
+          (indices0.get_resize(axis=='x'?visu0._width:visu0._height,1)).move_to(indices);
+          unsigned int ind = 0;
+          if (axis=='x') for (unsigned int x = 0; x<visu0._width; ) {
+              const unsigned int x0 = x;
+              ind = indices[x];
+              while (x<indices._width && indices[x++]==ind) {}
+              const CImg<T>
+                onexone(1,1,1,1,0),
+                &src = _data[ind]?_data[ind]:onexone;
+              CImg<ucharT> res;
+              src.__get_select(disp,old_normalization,(src._width - 1)/2,(src._height - 1)/2,(src._depth - 1)/2).
+                move_to(res);
+              const unsigned int h = CImgDisplay::_fitscreen(res._width,res._height,1,128,-85,true);
+              res.resize(x - x0,cimg::max(32U,h*disp._height/max_height),1,res._spectrum==1?3:-100);
+              positions(ind,0) = positions(ind,2) = (int)x0;
+              positions(ind,1) = positions(ind,3) = (int)(align*(visu0.height() - res.height()));
+              positions(ind,2)+=res._width;
+              positions(ind,3)+=res._height - 1;
+              visu0.draw_image(positions(ind,0),positions(ind,1),res);
+            } else for (unsigned int y = 0; y<visu0._height; ) {
+              const unsigned int y0 = y;
+              ind = indices[y];
+              while (y<visu0._height && indices[++y]==ind) {}
+              const CImg<T> &src = _data[ind];
+              const CImg<Tuchar>
+                img2d = src._depth>1?src.get_projections2d((src._width - 1)/2,(src._height - 1)/2,(src._depth - 1)/2):
+                cimg::type<Tuchar>::string()==cimg::type<T>::string()?src.get_shared():src;
+              CImg<ucharT> res = old_normalization==1 ||
+                (old_normalization==3 && cimg::type<T>::string()!=cimg::type<unsigned char>::string())?
+                CImg<ucharT>(img2d.get_normalize(0,255)):
+                CImg<ucharT>(img2d);
+              if (res._spectrum>3) res.channels(0,2);
+              const unsigned int w = CImgDisplay::_fitscreen(res._width,res._height,1,128,-85,false);
+              res.resize(cimg::max(32U,w*disp._width/max_width),y - y0,1,res._spectrum==1?3:-100);
+              positions(ind,0) = positions(ind,2) = (int)(align*(visu0.width() - res.width()));
+              positions(ind,1) = positions(ind,3) = (int)y0;
+              positions(ind,2)+=res._width - 1;
+              positions(ind,3)+=res._height;
+              visu0.draw_image(positions(ind,0),positions(ind,1),res);
+            }
+          if (axis=='x') --positions(ind,2); else --positions(ind,3);
+          update_display = true;
+        }
+
+        if (!visu || oindice0!=indice0 || oindice1!=indice1) {
+          if (indice0>=0 && indice1>=0) {
+            visu.assign(visu0,false);
+            const int indm = cimg::min(indice0,indice1), indM = cimg::max(indice0,indice1);
+            for (int ind = indm; ind<=indM; ++ind) if (positions(ind,0)>=0) {
+                visu.draw_rectangle(positions(ind,0),positions(ind,1),positions(ind,2),positions(ind,3),
+                                    background_color,0.2f);
+                if ((axis=='x' && positions(ind,2) - positions(ind,0)>=8) ||
+                    (axis!='x' && positions(ind,3) - positions(ind,1)>=8))
+                  visu.draw_rectangle(positions(ind,0),positions(ind,1),positions(ind,2),positions(ind,3),
+                                      foreground_color,0.9f,0xAAAAAAAA);
+              }
+            const int yt = (int)text_down?visu.height() - 13:0;
+            if (is_clicked) visu.draw_text(0,yt," Images #%u - #%u, Size = %u",
+                                           foreground_color,background_color,0.7f,13,
+                                           orig + indm,orig + indM,indM - indm + 1);
+            else visu.draw_text(0,yt," Image #%u (%u,%u,%u,%u)",foreground_color,background_color,0.7f,13,
+                                orig + indice0,
+                                _data[indice0]._width,
+                                _data[indice0]._height,
+                                _data[indice0]._depth,
+                                _data[indice0]._spectrum);
+            update_display = true;
+          } else visu.assign();
+        }
+        if (!visu) { visu.assign(visu0,true); update_display = true; }
+        if (update_display) { visu.display(disp); update_display = false; }
+        disp.wait();
+
+        // Manage user events.
+        const int xm = disp.mouse_x(), ym = disp.mouse_y();
+        int indice = -1;
+
+        if (xm>=0) {
+          indice = (int)indices(axis=='x'?xm:ym);
+          if (disp.button()&1) {
+            if (!is_clicked) { is_clicked = true; oindice0 = indice0; indice0 = indice; }
+            oindice1 = indice1; indice1 = indice;
+            if (!feature_type) is_selected = true;
+          } else {
+            if (!is_clicked) { oindice0 = oindice1 = indice0; indice0 = indice1 = indice; }
+            else is_selected = true;
+          }
+        } else {
+          if (is_clicked) {
+            if (!(disp.button()&1)) { is_clicked = is_selected = false; indice0 = indice1 = -1; }
+            else indice1 = -1;
+          } else indice0 = indice1 = -1;
+        }
+
+        if (disp.button()&4) { is_clicked = is_selected = false; indice0 = indice1 = -1; }
+        if (disp.button()&2 && exit_on_rightbutton) { is_selected = true; indice1 = indice0 = -1; }
+        if (disp.wheel() && exit_on_wheel) is_selected = true;
+
+        switch (key = disp.key()) {
+#if cimg_OS!=2
+        case cimg::keyCTRLRIGHT :
+#endif
+        case 0 : case cimg::keyCTRLLEFT : key = 0; break;
+        case cimg::keyD : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            disp.set_fullscreen(false).
+              resize(CImgDisplay::_fitscreen(3*disp.width()/2,3*disp.height()/2,1,128,-100,false),
+                     CImgDisplay::_fitscreen(3*disp.width()/2,3*disp.height()/2,1,128,-100,true),false).
+              _is_resized = true;
+            disp.set_key(key,false); key = 0; visu0.assign();
+          } break;
+        case cimg::keyC : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            disp.set_fullscreen(false).
+              resize(cimg_fitscreen(2*disp.width()/3,2*disp.height()/3,1),false)._is_resized = true;
+            disp.set_key(key,false); key = 0; visu0.assign();
+          } break;
+        case cimg::keyR : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            disp.set_fullscreen(false).
+              resize(cimg_fitscreen(axis=='x'?sum_width:max_width,axis=='x'?max_height:sum_height,1),false).
+              _is_resized = true;
+            disp.set_key(key,false); key = 0; visu0.assign();
+          } break;
+        case cimg::keyF : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            disp.resize(disp.screen_width(),disp.screen_height(),false).toggle_fullscreen()._is_resized = true;
+            disp.set_key(key,false); key = 0; visu0.assign();
+          } break;
+        case cimg::keyS : if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            static unsigned int snap_number = 0;
+            char filename[32] = { 0 };
+            std::FILE *file;
+            do {
+              cimg_snprintf(filename,sizeof(filename),cimg_appname "_%.4u.bmp",snap_number++);
+              if ((file=std::fopen(filename,"r"))!=0) cimg::fclose(file);
+            } while (file);
+            if (visu0) {
+              (+visu0).draw_text(0,0," Saving snapshot... ",
+                                 foreground_color,background_color,0.7f,13).display(disp);
+              visu0.save(filename);
+              (+visu0).draw_text(0,0," Snapshot '%s' saved. ",
+                                 foreground_color,background_color,0.7f,13,filename).display(disp);
+            }
+            disp.set_key(key,false).wait(); key = 0;
+          } break;
+        case cimg::keyO :
+          if (disp.is_keyCTRLLEFT() || disp.is_keyCTRLRIGHT()) {
+            static unsigned int snap_number = 0;
+            char filename[32] = { 0 };
+            std::FILE *file;
+            do {
+#ifdef cimg_use_zlib
+              cimg_snprintf(filename,sizeof(filename),cimg_appname "_%.4u.cimgz",snap_number++);
+#else
+              cimg_snprintf(filename,sizeof(filename),cimg_appname "_%.4u.cimg",snap_number++);
+#endif
+              if ((file=std::fopen(filename,"r"))!=0) cimg::fclose(file);
+            } while (file);
+            (+visu0).draw_text(0,0," Saving instance... ",
+                               foreground_color,background_color,0.7f,13).display(disp);
+            save(filename);
+            (+visu0).draw_text(0,0," Instance '%s' saved. ",
+                               foreground_color,background_color,0.7f,13,filename).display(disp);
+            disp.set_key(key,false).wait(); key = 0;
+          } break;
+        }
+        if (disp.is_resized()) { disp.resize(false); visu0.assign(); }
+        if (ym>=0 && ym<13) { if (!text_down) { visu.assign(); text_down = true; }}
+        else if (ym>=visu.height() - 13) { if(text_down) { visu.assign(); text_down = false; }}
+      }
+      CImg<intT> res(1,2,1,1,-1);
+      if (is_selected) {
+        if (feature_type) res.fill(cimg::min(indice0,indice1),cimg::max(indice0,indice1));
+        else res.fill(indice0);
+      }
+      if (!(disp.button()&2)) disp.set_button();
+      disp._normalization = old_normalization;
+      disp._is_resized = old_is_resized;
+      disp.set_key(key);
+      return res;
+    }
+
+    //! Load a list from a file.
+    /**
+     \param filename Filename to read data from.
+    **/
+    CImgList<T>& load(const char *const filename) {
+      if (!filename)
+        throw CImgArgumentException(_cimglist_instance
+                                    "load(): Specified filename is (null).",
+                                    cimglist_instance);
+
+      if (!cimg::strncasecmp(filename,"http://",7) || !cimg::strncasecmp(filename,"https://",8)) {
+        CImg<charT> filename_local(256);
+        load(cimg::load_network(filename,filename_local));
+        std::remove(filename_local);
+        return *this;
+      }
+
+      const bool is_stdin = *filename=='-' && (!filename[1] || filename[1]=='.');
+      const char *const ext = cimg::split_filename(filename);
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      try {
+#ifdef cimglist_load_plugin
+        cimglist_load_plugin(filename);
+#endif
+#ifdef cimglist_load_plugin1
+        cimglist_load_plugin1(filename);
+#endif
+#ifdef cimglist_load_plugin2
+        cimglist_load_plugin2(filename);
+#endif
+#ifdef cimglist_load_plugin3
+        cimglist_load_plugin3(filename);
+#endif
+#ifdef cimglist_load_plugin4
+        cimglist_load_plugin4(filename);
+#endif
+#ifdef cimglist_load_plugin5
+        cimglist_load_plugin5(filename);
+#endif
+#ifdef cimglist_load_plugin6
+        cimglist_load_plugin6(filename);
+#endif
+#ifdef cimglist_load_plugin7
+        cimglist_load_plugin7(filename);
+#endif
+#ifdef cimglist_load_plugin8
+        cimglist_load_plugin8(filename);
+#endif
+        if (!cimg::strcasecmp(ext,"tif") ||
+            !cimg::strcasecmp(ext,"tiff")) load_tiff(filename);
+        else if (!cimg::strcasecmp(ext,"gif")) load_gif_external(filename);
+        else if (!cimg::strcasecmp(ext,"cimg") ||
+                 !cimg::strcasecmp(ext,"cimgz") ||
+                 !*ext) load_cimg(filename);
+        else if (!cimg::strcasecmp(ext,"rec") ||
+                 !cimg::strcasecmp(ext,"par")) load_parrec(filename);
+        else if (!cimg::strcasecmp(ext,"avi") ||
+                 !cimg::strcasecmp(ext,"mov") ||
+                 !cimg::strcasecmp(ext,"asf") ||
+                 !cimg::strcasecmp(ext,"divx") ||
+                 !cimg::strcasecmp(ext,"flv") ||
+                 !cimg::strcasecmp(ext,"mpg") ||
+                 !cimg::strcasecmp(ext,"m1v") ||
+                 !cimg::strcasecmp(ext,"m2v") ||
+                 !cimg::strcasecmp(ext,"m4v") ||
+                 !cimg::strcasecmp(ext,"mjp") ||
+                 !cimg::strcasecmp(ext,"mp4") ||
+                 !cimg::strcasecmp(ext,"mkv") ||
+                 !cimg::strcasecmp(ext,"mpe") ||
+                 !cimg::strcasecmp(ext,"movie") ||
+                 !cimg::strcasecmp(ext,"ogm") ||
+                 !cimg::strcasecmp(ext,"ogg") ||
+                 !cimg::strcasecmp(ext,"ogv") ||
+                 !cimg::strcasecmp(ext,"qt") ||
+                 !cimg::strcasecmp(ext,"rm") ||
+                 !cimg::strcasecmp(ext,"vob") ||
+                 !cimg::strcasecmp(ext,"wmv") ||
+                 !cimg::strcasecmp(ext,"xvid") ||
+                 !cimg::strcasecmp(ext,"mpeg")) load_video(filename);
+        else if (!cimg::strcasecmp(ext,"gz")) load_gzip_external(filename);
+        else throw CImgIOException("CImgList<%s>::load()",
+                                   pixel_type());
+      } catch (CImgIOException&) {
+        std::FILE *file = 0;
+        if (!is_stdin) try {
+            file = cimg::fopen(filename,"rb");
+          } catch (CImgIOException&) {
+            cimg::exception_mode(omode);
+            throw CImgIOException(_cimglist_instance
+                                  "load(): Failed to open file '%s'.",
+                                  cimglist_instance,
+                                  filename);
+          }
+
+        try {
+          if (!is_stdin) {
+            const char *const f_type = cimg::ftype(file,filename);
+            std::fclose(file);
+            if (!cimg::strcasecmp(f_type,"gif")) load_gif_external(filename);
+            else if (!cimg::strcasecmp(f_type,"tif")) load_tiff(filename);
+            else throw CImgIOException("CImgList<%s>::load()",
+                                       pixel_type());
+          } else throw CImgIOException("CImgList<%s>::load()",
+                                       pixel_type());
+        } catch (CImgIOException&) {
+          assign(1);
+          try {
+            _data->load(filename);
+          } catch (CImgIOException&) {
+            cimg::exception_mode(omode);
+          throw CImgIOException(_cimglist_instance
+                                "load(): Failed to recognize format of file '%s'.",
+                                cimglist_instance,
+                                filename);
+          }
+        }
+      }
+      cimg::exception_mode(omode);
+      return *this;
+    }
+
+    //! Load a list from a file \newinstance.
+    static CImgList<T> get_load(const char *const filename) {
+      return CImgList<T>().load(filename);
+    }
+
+    //! Load a list from a .cimg file.
+    /**
+      \param filename Filename to read data from.
+    **/
+    CImgList<T>& load_cimg(const char *const filename) {
+      return _load_cimg(0,filename);
+    }
+
+    //! Load a list from a .cimg file \newinstance.
+    static CImgList<T> get_load_cimg(const char *const filename) {
+      return CImgList<T>().load_cimg(filename);
+    }
+
+    //! Load a list from a .cimg file.
+    /**
+      \param file File to read data from.
+    **/
+    CImgList<T>& load_cimg(std::FILE *const file) {
+      return _load_cimg(file,0);
+    }
+
+    //! Load a list from a .cimg file \newinstance.
+    static CImgList<T> get_load_cimg(std::FILE *const file) {
+      return CImgList<T>().load_cimg(file);
+    }
+
+    CImgList<T>& _load_cimg(std::FILE *const file, const char *const filename) {
+#ifdef cimg_use_zlib
+#define _cimgz_load_cimg_case(Tss) { \
+   Bytef *const cbuf = new Bytef[csiz]; \
+   cimg::fread(cbuf,csiz,nfile); \
+   raw.assign(W,H,D,C); \
+   unsigned long destlen = (unsigned long)raw.size()*sizeof(Tss); \
+   uncompress((Bytef*)raw._data,&destlen,cbuf,csiz); \
+   delete[] cbuf; \
+   if (endian!=cimg::endianness()) cimg::invert_endianness(raw._data,raw.size()); \
+   raw.move_to(img); \
+}
+#else
+#define _cimgz_load_cimg_case(Tss) \
+   throw CImgIOException(_cimglist_instance \
+                         "load_cimg(): Unable to load compressed data from file '%s' unless zlib is enabled.", \
+                         cimglist_instance, \
+                         filename?filename:"(FILE*)");
+#endif
+
+#define _cimg_load_cimg_case(Ts,Tss) \
+      if (!loaded && !cimg::strcasecmp(Ts,str_pixeltype)) { \
+        for (unsigned int l = 0; l<N; ++l) { \
+          j = 0; while ((i=std::fgetc(nfile))!='\n' && i>=0 && j<255) tmp[j++] = (char)i; tmp[j] = 0; \
+          W = H = D = C = 0; csiz = 0; \
+          if ((err = cimg_sscanf(tmp,"%u %u %u %u #%lu",&W,&H,&D,&C,&csiz))<4) \
+            throw CImgIOException(_cimglist_instance \
+                                  "load_cimg(): Invalid specified size (%u,%u,%u,%u) of image %u in file '%s'.", \
+                                  cimglist_instance, \
+                                  W,H,D,C,l,filename?filename:("(FILE*)")); \
+          if (W*H*D*C>0) { \
+            CImg<Tss> raw; \
+            CImg<T> &img = _data[l]; \
+            if (err==5) _cimgz_load_cimg_case(Tss) \
+            else { \
+              img.assign(W,H,D,C); \
+              T *ptrd = img._data; \
+              for (unsigned long to_read = img.size(); to_read; ) { \
+                raw.assign(cimg::min(to_read,cimg_iobuffer)); \
+                cimg::fread(raw._data,raw._width,nfile); \
+                if (endian!=cimg::endianness()) cimg::invert_endianness(raw._data,raw.size()); \
+                const Tss *ptrs = raw._data; \
+                for (unsigned long off = (unsigned long)raw._width; off; --off) *(ptrd++) = (T)*(ptrs++); \
+                to_read-=raw._width; \
+              } \
+            } \
+          } \
+        } \
+        loaded = true; \
+      }
+
+      if (!filename && !file)
+        throw CImgArgumentException(_cimglist_instance
+                                    "load_cimg(): Specified filename is (null).",
+                                    cimglist_instance);
+
+      const unsigned long cimg_iobuffer = 24*1024*1024;
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"rb");
+      bool loaded = false, endian = cimg::endianness();
+      CImg<charT> tmp(256), str_pixeltype(256), str_endian(256);
+      *tmp = *str_pixeltype = *str_endian = 0;
+      unsigned int j, N = 0, W, H, D, C;
+      unsigned long csiz;
+      int i, err;
+      do {
+        j = 0; while ((i=std::fgetc(nfile))!='\n' && i>=0 && j<255) tmp[j++] = (char)i; tmp[j] = 0;
+      } while (*tmp=='#' && i>=0);
+      err = cimg_sscanf(tmp,"%u%*c%255[A-Za-z_]%*c%255[sA-Za-z_ ]",
+                        &N,str_pixeltype._data,str_endian._data);
+      if (err<2) {
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimglist_instance
+                              "load_cimg(): CImg header not found in file '%s'.",
+                              cimglist_instance,
+                              filename?filename:"(FILE*)");
+      }
+      if (!cimg::strncasecmp("little",str_endian,6)) endian = false;
+      else if (!cimg::strncasecmp("big",str_endian,3)) endian = true;
+      assign(N);
+      _cimg_load_cimg_case("bool",bool);
+      _cimg_load_cimg_case("unsigned_char",unsigned char);
+      _cimg_load_cimg_case("uchar",unsigned char);
+      _cimg_load_cimg_case("char",char);
+      _cimg_load_cimg_case("unsigned_short",unsigned short);
+      _cimg_load_cimg_case("ushort",unsigned short);
+      _cimg_load_cimg_case("short",short);
+      _cimg_load_cimg_case("unsigned_int",unsigned int);
+      _cimg_load_cimg_case("uint",unsigned int);
+      _cimg_load_cimg_case("int",int);
+      _cimg_load_cimg_case("unsigned_long",unsigned long);
+      _cimg_load_cimg_case("ulong",unsigned long);
+      _cimg_load_cimg_case("long",long);
+      _cimg_load_cimg_case("float",float);
+      _cimg_load_cimg_case("double",double);
+
+      if (!loaded) {
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimglist_instance
+                              "load_cimg(): Unsupported pixel type '%s' for file '%s'.",
+                              cimglist_instance,
+                              str_pixeltype._data,filename?filename:"(FILE*)");
+      }
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Load a sublist list from a (non compressed) .cimg file.
+    /**
+      \param filename Filename to read data from.
+      \param n0 Starting index of images to read (~0U for max).
+      \param n1 Ending index of images to read (~0U for max).
+      \param x0 Starting X-coordinates of image regions to read.
+      \param y0 Starting Y-coordinates of image regions to read.
+      \param z0 Starting Z-coordinates of image regions to read.
+      \param c0 Starting C-coordinates of image regions to read.
+      \param x1 Ending X-coordinates of image regions to read (~0U for max).
+      \param y1 Ending Y-coordinates of image regions to read (~0U for max).
+      \param z1 Ending Z-coordinates of image regions to read (~0U for max).
+      \param c1 Ending C-coordinates of image regions to read (~0U for max).
+    **/
+    CImgList<T>& load_cimg(const char *const filename,
+                           const unsigned int n0, const unsigned int n1,
+                           const unsigned int x0, const unsigned int y0,
+                           const unsigned int z0, const unsigned int c0,
+                           const unsigned int x1, const unsigned int y1,
+                           const unsigned int z1, const unsigned int c1) {
+      return _load_cimg(0,filename,n0,n1,x0,y0,z0,c0,x1,y1,z1,c1);
+    }
+
+    //! Load a sublist list from a (non compressed) .cimg file \newinstance.
+    static CImgList<T> get_load_cimg(const char *const filename,
+                                     const unsigned int n0, const unsigned int n1,
+                                     const unsigned int x0, const unsigned int y0,
+                                     const unsigned int z0, const unsigned int c0,
+                                     const unsigned int x1, const unsigned int y1,
+                                     const unsigned int z1, const unsigned int c1) {
+      return CImgList<T>().load_cimg(filename,n0,n1,x0,y0,z0,c0,x1,y1,z1,c1);
+    }
+
+    //! Load a sub-image list from a (non compressed) .cimg file \overloading.
+    CImgList<T>& load_cimg(std::FILE *const file,
+                           const unsigned int n0, const unsigned int n1,
+                           const unsigned int x0, const unsigned int y0,
+                           const unsigned int z0, const unsigned int c0,
+                           const unsigned int x1, const unsigned int y1,
+                           const unsigned int z1, const unsigned int c1) {
+      return _load_cimg(file,0,n0,n1,x0,y0,z0,c0,x1,y1,z1,c1);
+    }
+
+    //! Load a sub-image list from a (non compressed) .cimg file \newinstance.
+    static CImgList<T> get_load_cimg(std::FILE *const file,
+                                     const unsigned int n0, const unsigned int n1,
+                                     const unsigned int x0, const unsigned int y0,
+                                     const unsigned int z0, const unsigned int c0,
+                                     const unsigned int x1, const unsigned int y1,
+                                     const unsigned int z1, const unsigned int c1) {
+      return CImgList<T>().load_cimg(file,n0,n1,x0,y0,z0,c0,x1,y1,z1,c1);
+    }
+
+    CImgList<T>& _load_cimg(std::FILE *const file, const char *const filename,
+			    const unsigned int n0, const unsigned int n1,
+			    const unsigned int x0, const unsigned int y0,
+                            const unsigned int z0, const unsigned int c0,
+			    const unsigned int x1, const unsigned int y1,
+                            const unsigned int z1, const unsigned int c1) {
+#define _cimg_load_cimg_case2(Ts,Tss) \
+      if (!loaded && !cimg::strcasecmp(Ts,str_pixeltype)) { \
+        for (unsigned int l = 0; l<=nn1; ++l) { \
+          j = 0; while ((i=std::fgetc(nfile))!='\n' && i>=0) tmp[j++] = (char)i; tmp[j] = 0; \
+          W = H = D = C = 0; \
+          if (cimg_sscanf(tmp,"%u %u %u %u",&W,&H,&D,&C)!=4) \
+            throw CImgIOException(_cimglist_instance \
+                                  "load_cimg(): Invalid specified size (%u,%u,%u,%u) of image %u in file '%s'", \
+                                  cimglist_instance, \
+                                  W,H,D,C,l,filename?filename:"(FILE*)"); \
+          if (W*H*D*C>0) { \
+            if (l<nn0 || nx0>=W || ny0>=H || nz0>=D || nc0>=C) std::fseek(nfile,W*H*D*C*sizeof(Tss),SEEK_CUR); \
+            else { \
+              const unsigned int \
+                _nx1 = nx1==~0U?W - 1:nx1, \
+                _ny1 = ny1==~0U?H - 1:ny1, \
+                _nz1 = nz1==~0U?D - 1:nz1, \
+                _nc1 = nc1==~0U?C - 1:nc1; \
+              if (_nx1>=W || _ny1>=H || _nz1>=D || _nc1>=C) \
+                throw CImgArgumentException(_cimglist_instance \
+                                            "load_cimg(): Invalid specified coordinates " \
+                                            "[%u](%u,%u,%u,%u) -> [%u](%u,%u,%u,%u) " \
+                                            "because image [%u] in file '%s' has size (%u,%u,%u,%u).", \
+                                            cimglist_instance, \
+                                            n0,x0,y0,z0,c0,n1,x1,y1,z1,c1,l,filename?filename:"(FILE*)",W,H,D,C); \
+              CImg<Tss> raw(1 + _nx1 - nx0); \
+              CImg<T> &img = _data[l - nn0]; \
+              img.assign(1 + _nx1 - nx0,1 + _ny1 - ny0,1 + _nz1 - nz0,1 + _nc1 - nc0); \
+              T *ptrd = img._data; \
+              const unsigned int skipvb = nc0*W*H*D*sizeof(Tss); \
+              if (skipvb) std::fseek(nfile,skipvb,SEEK_CUR); \
+              for (unsigned int c = 1 + _nc1 - nc0; c; --c) { \
+                const unsigned int skipzb = nz0*W*H*sizeof(Tss); \
+                if (skipzb) std::fseek(nfile,skipzb,SEEK_CUR); \
+                for (unsigned int z = 1 + _nz1 - nz0; z; --z) { \
+                  const unsigned int skipyb = ny0*W*sizeof(Tss); \
+                  if (skipyb) std::fseek(nfile,skipyb,SEEK_CUR); \
+                  for (unsigned int y = 1 + _ny1 - ny0; y; --y) { \
+                    const unsigned int skipxb = nx0*sizeof(Tss); \
+                    if (skipxb) std::fseek(nfile,skipxb,SEEK_CUR); \
+                    cimg::fread(raw._data,raw._width,nfile); \
+                    if (endian!=cimg::endianness()) cimg::invert_endianness(raw._data,raw._width); \
+                    const Tss *ptrs = raw._data; \
+                    for (unsigned int off = raw._width; off; --off) *(ptrd++) = (T)*(ptrs++); \
+                    const unsigned int skipxe = (W - 1 - _nx1)*sizeof(Tss); \
+                    if (skipxe) std::fseek(nfile,skipxe,SEEK_CUR); \
+                  } \
+                  const unsigned int skipye = (H - 1 - _ny1)*W*sizeof(Tss); \
+                  if (skipye) std::fseek(nfile,skipye,SEEK_CUR); \
+                } \
+                const unsigned int skipze = (D - 1 - _nz1)*W*H*sizeof(Tss); \
+                if (skipze) std::fseek(nfile,skipze,SEEK_CUR); \
+              } \
+              const unsigned int skipve = (C - 1 - _nc1)*W*H*D*sizeof(Tss); \
+              if (skipve) std::fseek(nfile,skipve,SEEK_CUR); \
+            } \
+          } \
+        } \
+        loaded = true; \
+      }
+
+      if (!filename && !file)
+        throw CImgArgumentException(_cimglist_instance
+                                    "load_cimg(): Specified filename is (null).",
+                                    cimglist_instance);
+      unsigned int
+        nn0 = cimg::min(n0,n1), nn1 = cimg::max(n0,n1),
+        nx0 = cimg::min(x0,x1), nx1 = cimg::max(x0,x1),
+        ny0 = cimg::min(y0,y1), ny1 = cimg::max(y0,y1),
+        nz0 = cimg::min(z0,z1), nz1 = cimg::max(z0,z1),
+        nc0 = cimg::min(c0,c1), nc1 = cimg::max(c0,c1);
+
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"rb");
+      bool loaded = false, endian = cimg::endianness();
+      CImg<charT> tmp(256), str_pixeltype(256), str_endian(256);
+      *tmp = *str_pixeltype = *str_endian = 0;
+      unsigned int j, N, W, H, D, C;
+      int i, err;
+      j = 0; while((i=std::fgetc(nfile))!='\n' && i!=EOF && j<256) tmp[j++] = (char)i; tmp[j] = 0;
+      err = cimg_sscanf(tmp,"%u%*c%255[A-Za-z_]%*c%255[sA-Za-z_ ]",
+                        &N,str_pixeltype._data,str_endian._data);
+      if (err<2) {
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimglist_instance
+                              "load_cimg(): CImg header not found in file '%s'.",
+                              cimglist_instance,
+                              filename?filename:"(FILE*)");
+      }
+      if (!cimg::strncasecmp("little",str_endian,6)) endian = false;
+      else if (!cimg::strncasecmp("big",str_endian,3)) endian = true;
+      nn1 = n1==~0U?N - 1:n1;
+      if (nn1>=N)
+        throw CImgArgumentException(_cimglist_instance
+                                    "load_cimg(): Invalid specified coordinates [%u](%u,%u,%u,%u) -> [%u](%u,%u,%u,%u) "
+                                    "because file '%s' contains only %u images.",
+                                    cimglist_instance,
+                                    n0,x0,y0,z0,c0,n1,x1,y1,z1,c1,filename?filename:"(FILE*)",N);
+      assign(1 + nn1 - n0);
+      _cimg_load_cimg_case2("bool",bool);
+      _cimg_load_cimg_case2("unsigned_char",unsigned char);
+      _cimg_load_cimg_case2("uchar",unsigned char);
+      _cimg_load_cimg_case2("char",char);
+      _cimg_load_cimg_case2("unsigned_short",unsigned short);
+      _cimg_load_cimg_case2("ushort",unsigned short);
+      _cimg_load_cimg_case2("short",short);
+      _cimg_load_cimg_case2("unsigned_int",unsigned int);
+      _cimg_load_cimg_case2("uint",unsigned int);
+      _cimg_load_cimg_case2("int",int);
+      _cimg_load_cimg_case2("unsigned_long",unsigned long);
+      _cimg_load_cimg_case2("ulong",unsigned long);
+      _cimg_load_cimg_case2("long",long);
+      _cimg_load_cimg_case2("float",float);
+      _cimg_load_cimg_case2("double",double);
+      if (!loaded) {
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimglist_instance
+                              "load_cimg(): Unsupported pixel type '%s' for file '%s'.",
+                              cimglist_instance,
+                              str_pixeltype._data,filename?filename:"(FILE*)");
+      }
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Load a list from a PAR/REC (Philips) file.
+    /**
+      \param filename Filename to read data from.
+    **/
+    CImgList<T>& load_parrec(const char *const filename) {
+      if (!filename)
+        throw CImgArgumentException(_cimglist_instance
+                                    "load_parrec(): Specified filename is (null).",
+                                    cimglist_instance);
+
+      CImg<charT> body(1024), filenamepar(1024), filenamerec(1024);
+      *body = *filenamepar = *filenamerec = 0;
+      const char *const ext = cimg::split_filename(filename,body);
+      if (!std::strcmp(ext,"par")) {
+        std::strncpy(filenamepar,filename,filenamepar._width - 1);
+        cimg_snprintf(filenamerec,filenamerec._width,"%s.rec",body._data);
+      }
+      if (!std::strcmp(ext,"PAR")) {
+        std::strncpy(filenamepar,filename,filenamepar._width - 1);
+        cimg_snprintf(filenamerec,filenamerec._width,"%s.REC",body._data);
+      }
+      if (!std::strcmp(ext,"rec")) {
+        std::strncpy(filenamerec,filename,filenamerec._width - 1);
+        cimg_snprintf(filenamepar,filenamepar._width,"%s.par",body._data);
+      }
+      if (!std::strcmp(ext,"REC")) {
+        std::strncpy(filenamerec,filename,filenamerec._width - 1);
+        cimg_snprintf(filenamepar,filenamepar._width,"%s.PAR",body._data);
+      }
+      std::FILE *file = cimg::fopen(filenamepar,"r");
+
+      // Parse header file
+      CImgList<floatT> st_slices;
+      CImgList<uintT> st_global;
+      CImg<charT> line(256); *line = 0;
+      int err;
+      do { err = std::fscanf(file,"%255[^\n]%*c",line._data); } while (err!=EOF && (*line=='#' || *line=='.'));
+      do {
+        unsigned int sn,size_x,size_y,pixsize;
+        float rs,ri,ss;
+        err = std::fscanf(file,"%u%*u%*u%*u%*u%*u%*u%u%*u%u%u%g%g%g%*[^\n]",&sn,&pixsize,&size_x,&size_y,&ri,&rs,&ss);
+        if (err==7) {
+          CImg<floatT>::vector((float)sn,(float)pixsize,(float)size_x,(float)size_y,ri,rs,ss,0).move_to(st_slices);
+          unsigned int i; for (i = 0; i<st_global._width && sn<=st_global[i][2]; ++i) {}
+          if (i==st_global._width) CImg<uintT>::vector(size_x,size_y,sn).move_to(st_global);
+          else {
+            CImg<uintT> &vec = st_global[i];
+            if (size_x>vec[0]) vec[0] = size_x;
+            if (size_y>vec[1]) vec[1] = size_y;
+            vec[2] = sn;
+          }
+          st_slices[st_slices._width - 1][7] = (float)i;
+        }
+      } while (err==7);
+
+      // Read data
+      std::FILE *file2 = cimg::fopen(filenamerec,"rb");
+      cimglist_for(st_global,l) {
+        const CImg<uintT>& vec = st_global[l];
+        CImg<T>(vec[0],vec[1],vec[2]).move_to(*this);
+      }
+
+      cimglist_for(st_slices,l) {
+        const CImg<floatT>& vec = st_slices[l];
+        const unsigned int
+          sn = (unsigned int)vec[0] - 1,
+          pixsize = (unsigned int)vec[1],
+          size_x = (unsigned int)vec[2],
+          size_y = (unsigned int)vec[3],
+          imn = (unsigned int)vec[7];
+        const float ri = vec[4], rs = vec[5], ss = vec[6];
+        switch (pixsize) {
+        case 8 : {
+          CImg<ucharT> buf(size_x,size_y);
+          cimg::fread(buf._data,size_x*size_y,file2);
+          if (cimg::endianness()) cimg::invert_endianness(buf._data,size_x*size_y);
+          CImg<T>& img = (*this)[imn];
+          cimg_forXY(img,x,y) img(x,y,sn) = (T)(( buf(x,y)*rs + ri )/(rs*ss));
+        } break;
+        case 16 : {
+          CImg<ushortT> buf(size_x,size_y);
+          cimg::fread(buf._data,size_x*size_y,file2);
+          if (cimg::endianness()) cimg::invert_endianness(buf._data,size_x*size_y);
+          CImg<T>& img = (*this)[imn];
+          cimg_forXY(img,x,y) img(x,y,sn) = (T)(( buf(x,y)*rs + ri )/(rs*ss));
+        } break;
+        case 32 : {
+          CImg<uintT> buf(size_x,size_y);
+          cimg::fread(buf._data,size_x*size_y,file2);
+          if (cimg::endianness()) cimg::invert_endianness(buf._data,size_x*size_y);
+          CImg<T>& img = (*this)[imn];
+          cimg_forXY(img,x,y) img(x,y,sn) = (T)(( buf(x,y)*rs + ri )/(rs*ss));
+        } break;
+        default :
+          cimg::fclose(file);
+          cimg::fclose(file2);
+          throw CImgIOException(_cimglist_instance
+                                "load_parrec(): Unsupported %d-bits pixel type for file '%s'.",
+                                cimglist_instance,
+                                pixsize,filename);
+        }
+      }
+      cimg::fclose(file);
+      cimg::fclose(file2);
+      if (!_width)
+        throw CImgIOException(_cimglist_instance
+                              "load_parrec(): Failed to recognize valid PAR-REC data in file '%s'.",
+                              cimglist_instance,
+                              filename);
+      return *this;
+    }
+
+    //! Load a list from a PAR/REC (Philips) file \newinstance.
+    static CImgList<T> get_load_parrec(const char *const filename) {
+      return CImgList<T>().load_parrec(filename);
+    }
+
+    //! Load a list from a YUV image sequence file.
+    /**
+        \param filename Filename to read data from.
+        \param size_x Width of the images.
+        \param size_y Height of the images.
+        \param first_frame Index of first image frame to read.
+        \param last_frame Index of last image frame to read.
+        \param step_frame Step applied between each frame.
+        \param yuv2rgb Apply YUV to RGB transformation during reading.
+    **/
+    CImgList<T>& load_yuv(const char *const filename,
+                          const unsigned int size_x, const unsigned int size_y,
+                          const unsigned int first_frame=0, const unsigned int last_frame=~0U,
+                          const unsigned int step_frame=1, const bool yuv2rgb=true) {
+      return _load_yuv(0,filename,size_x,size_y,first_frame,last_frame,step_frame,yuv2rgb);
+    }
+
+    //! Load a list from a YUV image sequence file \newinstance.
+    static CImgList<T> get_load_yuv(const char *const filename,
+                                    const unsigned int size_x, const unsigned int size_y=1,
+                                    const unsigned int first_frame=0, const unsigned int last_frame=~0U,
+                                    const unsigned int step_frame=1, const bool yuv2rgb=true) {
+      return CImgList<T>().load_yuv(filename,size_x,size_y,first_frame,last_frame,step_frame,yuv2rgb);
+    }
+
+    //! Load a list from an image sequence YUV file \overloading.
+    CImgList<T>& load_yuv(std::FILE *const file,
+                          const unsigned int size_x, const unsigned int size_y,
+                          const unsigned int first_frame=0, const unsigned int last_frame=~0U,
+                          const unsigned int step_frame=1, const bool yuv2rgb=true) {
+      return _load_yuv(file,0,size_x,size_y,first_frame,last_frame,step_frame,yuv2rgb);
+    }
+
+    //! Load a list from an image sequence YUV file \newinstance.
+    static CImgList<T> get_load_yuv(std::FILE *const file,
+                                    const unsigned int size_x, const unsigned int size_y=1,
+                                    const unsigned int first_frame=0, const unsigned int last_frame=~0U,
+                                    const unsigned int step_frame=1, const bool yuv2rgb=true) {
+      return CImgList<T>().load_yuv(file,size_x,size_y,first_frame,last_frame,step_frame,yuv2rgb);
+    }
+
+    CImgList<T>& _load_yuv(std::FILE *const file, const char *const filename,
+			   const unsigned int size_x, const unsigned int size_y,
+			   const unsigned int first_frame, const unsigned int last_frame,
+			   const unsigned int step_frame, const bool yuv2rgb) {
+      if (!filename && !file)
+        throw CImgArgumentException(_cimglist_instance
+                                    "load_yuv(): Specified filename is (null).",
+                                    cimglist_instance);
+      if (size_x%2 || size_y%2)
+        throw CImgArgumentException(_cimglist_instance
+                                    "load_yuv(): Invalid odd XY dimensions %ux%u in file '%s'.",
+                                    cimglist_instance,
+                                    size_x,size_y,filename?filename:"(FILE*)");
+      if (!size_x || !size_y)
+        throw CImgArgumentException(_cimglist_instance
+                                    "load_yuv(): Invalid sequence size (%u,%u) in file '%s'.",
+                                    cimglist_instance,
+                                    size_x,size_y,filename?filename:"(FILE*)");
+
+      const unsigned int
+	nfirst_frame = first_frame<last_frame?first_frame:last_frame,
+	nlast_frame = first_frame<last_frame?last_frame:first_frame,
+	nstep_frame = step_frame?step_frame:1;
+
+      CImg<ucharT> tmp(size_x,size_y,1,3), UV(size_x/2,size_y/2,1,2);
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"rb");
+      bool stop_flag = false;
+      int err;
+      if (nfirst_frame) {
+        err = std::fseek(nfile,nfirst_frame*(size_x*size_y + size_x*size_y/2),SEEK_CUR);
+        if (err) {
+          if (!file) cimg::fclose(nfile);
+          throw CImgIOException(_cimglist_instance
+                                "load_yuv(): File '%s' doesn't contain frame number %u.",
+                                cimglist_instance,
+                                filename?filename:"(FILE*)",nfirst_frame);
+        }
+      }
+      unsigned int frame;
+      for (frame = nfirst_frame; !stop_flag && frame<=nlast_frame; frame+=nstep_frame) {
+        tmp.fill(0);
+        // *TRY* to read the luminance part, do not replace by cimg::fread!
+        err = (int)std::fread((void*)(tmp._data),1,(unsigned long)tmp._width*tmp._height,nfile);
+        if (err!=(int)(tmp._width*tmp._height)) {
+          stop_flag = true;
+          if (err>0)
+            cimg::warn(_cimglist_instance
+                       "load_yuv(): File '%s' contains incomplete data or given image dimensions "
+                       "(%u,%u) are incorrect.",
+                       cimglist_instance,
+                       filename?filename:"(FILE*)",size_x,size_y);
+        } else {
+          UV.fill(0);
+          // *TRY* to read the luminance part, do not replace by cimg::fread!
+          err = (int)std::fread((void*)(UV._data),1,(size_t)(UV.size()),nfile);
+          if (err!=(int)(UV.size())) {
+            stop_flag = true;
+            if (err>0)
+              cimg::warn(_cimglist_instance
+                         "load_yuv(): File '%s' contains incomplete data or given image dimensions (%u,%u) "
+                         "are incorrect.",
+                         cimglist_instance,
+                         filename?filename:"(FILE*)",size_x,size_y);
+          } else {
+            cimg_forXY(UV,x,y) {
+              const int x2 = x*2, y2 = y*2;
+              tmp(x2,y2,1) = tmp(x2 + 1,y2,1) = tmp(x2,y2 + 1,1) = tmp(x2 + 1,y2 + 1,1) = UV(x,y,0);
+              tmp(x2,y2,2) = tmp(x2 + 1,y2,2) = tmp(x2,y2 + 1,2) = tmp(x2 + 1,y2 + 1,2) = UV(x,y,1);
+            }
+            if (yuv2rgb) tmp.YCbCrtoRGB();
+            insert(tmp);
+	    if (nstep_frame>1) std::fseek(nfile,(nstep_frame - 1)*(size_x*size_y + size_x*size_y/2),SEEK_CUR);
+          }
+        }
+      }
+      if (stop_flag && nlast_frame!=~0U && frame!=nlast_frame)
+        cimg::warn(_cimglist_instance
+                   "load_yuv(): Frame %d not reached since only %u frames were found in file '%s'.",
+                   cimglist_instance,
+                   nlast_frame,frame - 1,filename?filename:"(FILE*)");
+
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Load an image from a video file, using OpenCV library.
+    /**
+      \param filename Filename, as a C-string.
+      \param first_frame Index of the first frame to read.
+      \param last_frame Index of the last frame to read.
+      \param step_frame Step value for frame reading.
+      \note If step_frame==0, the current video stream is open or released without any frames read.
+    **/
+    CImgList<T>& load_video(const char *const filename,
+                            const unsigned int first_frame=0, const unsigned int last_frame=~0U,
+                            const unsigned int step_frame=1) {
+#ifndef cimg_use_opencv
+      if (first_frame || last_frame!=~0U || step_frame>1)
+        throw CImgArgumentException(_cimglist_instance
+                                    "load_video() : File '%s', arguments 'first_frame', 'last_frame' "
+                                    "and 'step_frame' can be only set when using OpenCV "
+                                    "(-Dcimg_use_opencv must be enabled).",
+                                    cimglist_instance,filename);
+      return load_ffmpeg_external(filename);
+#else
+      static CvCapture *captures[32] = { 0 };
+      static CImgList<charT> filenames(32);
+      static CImg<uintT> positions(32,1,1,1,0);
+      static int last_used_index = -1;
+
+      // Detect if a video capture already exists for the specified filename.
+      cimg::mutex(9);
+      int index = -1;
+      if (filename) {
+        if (last_used_index>=0 && !std::strcmp(filename,filenames[last_used_index])) {
+          index = last_used_index;
+        } else cimglist_for(filenames,l) if (filenames[l] && !std::strcmp(filename,filenames[l])) {
+            index = l; break;
+          }
+      } else index = last_used_index;
+      cimg::mutex(9,0);
+
+      // Release stream if needed.
+      if (!step_frame || (index>=0 && positions[index]>first_frame)) {
+        if (index>=0) {
+          cimg::mutex(9);
+          cvReleaseCapture(&captures[index]);
+          captures[index] = 0; filenames[index].assign(); positions[index] = 0;
+          if (last_used_index==index) last_used_index = -1;
+          index = -1;
+          cimg::mutex(9,0);
+        } else
+          if (filename)
+            cimg::warn(_cimglist_instance
+                       "load_video() : File '%s', opened video stream associated with filename not found.",
+                       cimglist_instance,filename);
+          else
+            cimg::warn(_cimglist_instance
+                       "load_video() : No opened video stream found.",
+                       cimglist_instance,filename);
+        if (!step_frame) return *this;
+      }
+
+      // Find empty slot for capturing video stream.
+      if (index<0) {
+        if (!filename)
+          throw CImgArgumentException(_cimglist_instance
+                                      "load_video(): No already open video reader found. You must specify a "
+                                      "non-(null) filename argument for the first call.",
+                                      cimglist_instance);
+        else { cimg::mutex(9); cimglist_for(filenames,l) if (!filenames[l]) { index = l; break; } cimg::mutex(9,0); }
+        if (index<0)
+          throw CImgIOException(_cimglist_instance
+                                "load_video(): File '%s', no video reader slots available. "
+                                "You have to release some of your previously opened videos.",
+                                cimglist_instance,filename);
+        cimg::mutex(9);
+        captures[index] = cvCaptureFromFile(filename);
+        CImg<charT>::string(filename).move_to(filenames[index]);
+        positions[index] = 0;
+        cimg::mutex(9,0);
+        if (!captures[index]) {
+          filenames[index].assign();
+          std::fclose(cimg::fopen(filename,"rb"));  // Check file availability.
+          throw CImgIOException(_cimglist_instance
+                                "load_video(): File '%s', unable to detect format of video file.",
+                                cimglist_instance,filename);
+        }
+      }
+
+      cimg::mutex(9);
+      const unsigned int nb_frames = (unsigned int)cimg::max(0.,cvGetCaptureProperty(captures[index],
+                                                                                     CV_CAP_PROP_FRAME_COUNT));
+      cimg::mutex(9,0);
+      assign();
+
+      // Skip frames if necessary.
+      unsigned int &pos = positions[index];
+      while (pos<first_frame) {
+        cimg::mutex(9);
+        if (!cvGrabFrame(captures[index])) {
+          cimg::mutex(9,0);
+          throw CImgIOException(_cimglist_instance
+                                "load_video(): File '%s', unable to locate frame %u.",
+                                cimglist_instance,filename,first_frame);
+        }
+        cimg::mutex(9,0);
+        ++pos;
+      }
+
+      // Read and convert frames.
+      const unsigned int _last_frame = cimg::min(nb_frames?nb_frames - 1:~0U,last_frame);
+      const IplImage *src = 0;
+      while (pos<=_last_frame) {
+        cimg::mutex(9);
+        src = cvQueryFrame(captures[index]);
+        if (src) {
+          CImg<T> frame(src->width,src->height,1,3);
+          const int step = (int)(src->widthStep - 3*src->width);
+          const unsigned char* ptrs = (unsigned char*)src->imageData;
+          T *ptr_r = frame.data(0,0,0,0), *ptr_g = frame.data(0,0,0,1), *ptr_b = frame.data(0,0,0,2);
+          if (step>0) cimg_forY(frame,y) {
+              cimg_forX(frame,x) { *(ptr_b++) = (T)*(ptrs++); *(ptr_g++) = (T)*(ptrs++); *(ptr_r++) = (T)*(ptrs++); }
+              ptrs+=step;
+            } else for (unsigned long siz = (unsigned long)src->width*src->height; siz; --siz) {
+              *(ptr_b++) = (T)*(ptrs++); *(ptr_g++) = (T)*(ptrs++); *(ptr_r++) = (T)*(ptrs++);
+            }
+          frame.move_to(*this);
+          ++pos;
+
+          bool skip_failed = false;
+          for (unsigned int i = 1; i<step_frame && pos<=_last_frame; ++i, ++pos)
+            if (!cvGrabFrame(captures[index])) { skip_failed = true; break; }
+          if (skip_failed) src = 0;
+        }
+        cimg::mutex(9,0);
+        if (!src) break;
+      }
+
+      if (!src || (nb_frames && pos>=nb_frames)) { // Close video stream when necessary.
+        cimg::mutex(9);
+        cvReleaseCapture(&captures[index]);
+        captures[index] = 0;
+        filenames[index].assign();
+        positions[index] = 0;
+        index = -1;
+        cimg::mutex(9,0);
+      }
+
+      cimg::mutex(9);
+      last_used_index = index;
+      cimg::mutex(9,0);
+      return *this;
+#endif
+    }
+
+    //! Load an image from a video file, using OpenCV library \newinstance.
+    static CImgList<T> get_load_video(const char *const filename,
+                           const unsigned int first_frame=0, const unsigned int last_frame=~0U,
+                           const unsigned int step_frame=1) {
+      return CImgList<T>().load_video(filename,first_frame,last_frame,step_frame);
+    }
+
+    //! Load an image from a video file using the external tool 'ffmpeg'.
+    /**
+      \param filename Filename to read data from.
+    **/
+    CImgList<T>& load_ffmpeg_external(const char *const filename) {
+      if (!filename)
+        throw CImgArgumentException(_cimglist_instance
+                                    "load_ffmpeg_external(): Specified filename is (null).",
+                                    cimglist_instance);
+      std::fclose(cimg::fopen(filename,"rb"));            // Check if file exists.
+      CImg<charT> command(1024), filename_tmp(256), filename_tmp2(256);
+      std::FILE *file = 0;
+      do {
+        cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s",
+                      cimg::temporary_path(),cimg_file_separator,cimg::filenamerand());
+        cimg_snprintf(filename_tmp2,filename_tmp2._width,"%s_000001.ppm",filename_tmp._data);
+        if ((file=std::fopen(filename_tmp2,"rb"))!=0) cimg::fclose(file);
+      } while (file);
+      cimg_snprintf(filename_tmp2,filename_tmp2._width,"%s_%%6d.ppm",filename_tmp._data);
+#if cimg_OS!=2
+      cimg_snprintf(command,command._width,"%s -i \"%s\" \"%s\" >/dev/null 2>&1",
+                    cimg::ffmpeg_path(),
+                    CImg<charT>::string(filename)._system_strescape().data(),
+                    CImg<charT>::string(filename_tmp2)._system_strescape().data());
+#else
+      cimg_snprintf(command,command._width,"\"%s -i \"%s\" \"%s\"\" >NUL 2>&1",
+                    cimg::ffmpeg_path(),
+                    CImg<charT>::string(filename)._system_strescape().data(),
+                    CImg<charT>::string(filename_tmp2)._system_strescape().data());
+#endif
+      cimg::system(command,0);
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      assign();
+      unsigned int i = 1;
+      for (bool stop_flag = false; !stop_flag; ++i) {
+        cimg_snprintf(filename_tmp2,filename_tmp2._width,"%s_%.6u.ppm",filename_tmp._data,i);
+        CImg<T> img;
+        try { img.load_pnm(filename_tmp2); }
+        catch (CImgException&) { stop_flag = true; }
+        if (img) { img.move_to(*this); std::remove(filename_tmp2); }
+      }
+      cimg::exception_mode(omode);
+      if (is_empty())
+        throw CImgIOException(_cimglist_instance
+                              "load_ffmpeg_external(): Failed to open file '%s' with external command 'ffmpeg'.",
+                              cimglist_instance,
+                              filename);
+      return *this;
+    }
+
+    //! Load an image from a video file using the external tool 'ffmpeg' \newinstance.
+    static CImgList<T> get_load_ffmpeg_external(const char *const filename) {
+      return CImgList<T>().load_ffmpeg_external(filename);
+    }
+
+    //! Load gif file, using ImageMagick or GraphicsMagick's external tools.
+    /**
+      \param filename Filename to read data from.
+      \param use_graphicsmagick Tells if GraphicsMagick's tool 'gm' is used instead of ImageMagick's tool 'convert'.
+    **/
+    CImgList<T>& load_gif_external(const char *const filename) {
+      if (!filename)
+        throw CImgArgumentException(_cimglist_instance
+                                    "load_gif_external(): Specified filename is (null).",
+                                    cimglist_instance);
+      std::fclose(cimg::fopen(filename,"rb"));            // Check if file exists.
+      if (!_load_gif_external(filename,false))
+        if (!_load_gif_external(filename,true))
+          try { assign(CImg<T>().load_other(filename)); } catch (CImgException&) { assign(); }
+      if (is_empty())
+        throw CImgIOException(_cimglist_instance
+                              "load_gif_external(): Failed to open file '%s'.",
+                              cimglist_instance,filename);
+      return *this;
+    }
+
+    CImgList<T>& _load_gif_external(const char *const filename, const bool use_graphicsmagick=false) {
+      CImg<charT> command(1024), filename_tmp(256), filename_tmp2(256);
+      std::FILE *file = 0;
+      do {
+        cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s",
+                      cimg::temporary_path(),cimg_file_separator,cimg::filenamerand());
+        if (use_graphicsmagick) cimg_snprintf(filename_tmp2,filename_tmp2._width,"%s.png.0",filename_tmp._data);
+        else cimg_snprintf(filename_tmp2,filename_tmp2._width,"%s-0.png",filename_tmp._data);
+        if ((file=std::fopen(filename_tmp2,"rb"))!=0) cimg::fclose(file);
+      } while (file);
+#if cimg_OS!=2
+      if (use_graphicsmagick) cimg_snprintf(command,command._width,"%s convert \"%s\" \"%s.png\" >/dev/null 2>&1",
+                                            cimg::graphicsmagick_path(),
+                                            CImg<charT>::string(filename)._system_strescape().data(),
+                                            CImg<charT>::string(filename_tmp)._system_strescape().data());
+      else cimg_snprintf(command,command._width,"%s \"%s\" \"%s.png\" >/dev/null 2>&1",
+                         cimg::imagemagick_path(),
+                         CImg<charT>::string(filename)._system_strescape().data(),
+                         CImg<charT>::string(filename_tmp)._system_strescape().data());
+#else
+      if (use_graphicsmagick) cimg_snprintf(command,command._width,"\"%s convert \"%s\" \"%s.png\"\" >NUL 2>&1",
+                                            cimg::graphicsmagick_path(),
+                                            CImg<charT>::string(filename)._system_strescape().data(),
+                                            CImg<charT>::string(filename_tmp)._system_strescape().data());
+      else cimg_snprintf(command,command._width,"\"%s \"%s\" \"%s.png\"\" >NUL 2>&1",
+                         cimg::imagemagick_path(),
+                         CImg<charT>::string(filename)._system_strescape().data(),
+                         CImg<charT>::string(filename_tmp)._system_strescape().data());
+#endif
+      cimg::system(command,0);
+      const unsigned int omode = cimg::exception_mode();
+      cimg::exception_mode(0);
+      assign();
+
+      // Try to read a single frame gif.
+      cimg_snprintf(filename_tmp2,filename_tmp2._width,"%s.png",filename_tmp._data);
+      CImg<T> img;
+      try { img.load_png(filename_tmp2); }
+      catch (CImgException&) { }
+      if (img) { img.move_to(*this); std::remove(filename_tmp2); }
+      else { // Try to read animated gif.
+        unsigned int i = 0;
+        for (bool stop_flag = false; !stop_flag; ++i) {
+          if (use_graphicsmagick) cimg_snprintf(filename_tmp2,filename_tmp2._width,"%s.png.%u",filename_tmp._data,i);
+          else cimg_snprintf(filename_tmp2,filename_tmp2._width,"%s-%u.png",filename_tmp._data,i);
+          CImg<T> img;
+          try { img.load_png(filename_tmp2); }
+          catch (CImgException&) { stop_flag = true; }
+          if (img) { img.move_to(*this); std::remove(filename_tmp2); }
+        }
+      }
+      cimg::exception_mode(omode);
+      return *this;
+    }
+
+    //! Load gif file, using ImageMagick or GraphicsMagick's external tools \newinstance.
+    static CImgList<T> get_load_gif_external(const char *const filename) {
+      return CImgList<T>().load_gif_external(filename);
+    }
+
+    //! Load a gzipped list, using external tool 'gunzip'.
+    /**
+      \param filename Filename to read data from.
+    **/
+    CImgList<T>& load_gzip_external(const char *const filename) {
+      if (!filename)
+        throw CImgIOException(_cimglist_instance
+                              "load_gzip_external(): Specified filename is (null).",
+                              cimglist_instance);
+      std::fclose(cimg::fopen(filename,"rb"));            // Check if file exists.
+      CImg<charT> command(1024), filename_tmp(256), body(256);
+      const char
+        *ext = cimg::split_filename(filename,body),
+        *ext2 = cimg::split_filename(body,0);
+      std::FILE *file = 0;
+      do {
+        if (!cimg::strcasecmp(ext,"gz")) {
+          if (*ext2) cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s.%s",
+                                   cimg::temporary_path(),cimg_file_separator,cimg::filenamerand(),ext2);
+          else cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s",
+                             cimg::temporary_path(),cimg_file_separator,cimg::filenamerand());
+        } else {
+          if (*ext) cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s.%s",
+                                  cimg::temporary_path(),cimg_file_separator,cimg::filenamerand(),ext);
+          else cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s",
+                             cimg::temporary_path(),cimg_file_separator,cimg::filenamerand());
+        }
+        if ((file=std::fopen(filename_tmp,"rb"))!=0) cimg::fclose(file);
+      } while (file);
+      cimg_snprintf(command,command._width,"%s -c \"%s\" > \"%s\"",
+                    cimg::gunzip_path(),
+                    CImg<charT>::string(filename)._system_strescape().data(),
+                    CImg<charT>::string(filename_tmp)._system_strescape().data());
+      cimg::system(command);
+      if (!(file = std::fopen(filename_tmp,"rb"))) {
+        cimg::fclose(cimg::fopen(filename,"r"));
+        throw CImgIOException(_cimglist_instance
+                              "load_gzip_external(): Failed to open file '%s'.",
+                              cimglist_instance,
+                              filename);
+
+      } else cimg::fclose(file);
+      load(filename_tmp);
+      std::remove(filename_tmp);
+      return *this;
+    }
+
+    //! Load a gzipped list, using external tool 'gunzip' \newinstance.
+    static CImgList<T> get_load_gzip_external(const char *const filename) {
+      return CImgList<T>().load_gzip_external(filename);
+    }
+
+    //! Load a 3d object from a .OFF file.
+    /**
+      \param filename Filename to read data from.
+      \param[out] primitives At return, contains the list of 3d object primitives.
+      \param[out] colors At return, contains the list of 3d object colors.
+      \return List of 3d object vertices.
+    **/
+    template<typename tf, typename tc>
+    CImgList<T>& load_off(const char *const filename,
+			  CImgList<tf>& primitives, CImgList<tc>& colors) {
+      return get_load_off(filename,primitives,colors).move_to(*this);
+    }
+
+    //! Load a 3d object from a .OFF file \newinstance.
+    template<typename tf, typename tc>
+      static CImgList<T> get_load_off(const char *const filename,
+                                      CImgList<tf>& primitives, CImgList<tc>& colors) {
+      return CImg<T>().load_off(filename,primitives,colors)<'x';
+    }
+
+    //! Load images from a TIFF file.
+    /**
+        \param filename Filename to read data from.
+        \param first_frame Index of first image frame to read.
+        \param last_frame Index of last image frame to read.
+        \param step_frame Step applied between each frame.
+    **/
+    CImgList<T>& load_tiff(const char *const filename,
+			   const unsigned int first_frame=0, const unsigned int last_frame=~0U,
+			   const unsigned int step_frame=1,
+                           float *const voxel_size=0,
+                           CImg<charT> *const description=0) {
+      const unsigned int
+	nfirst_frame = first_frame<last_frame?first_frame:last_frame,
+	nstep_frame = step_frame?step_frame:1;
+      unsigned int nlast_frame = first_frame<last_frame?last_frame:first_frame;
+#ifndef cimg_use_tiff
+      cimg::unused(voxel_size,description);
+      if (nfirst_frame || nlast_frame!=~0U || nstep_frame!=1)
+        throw CImgArgumentException(_cimglist_instance
+                                    "load_tiff(): Unable to load sub-images from file '%s' unless libtiff is enabled.",
+                                    cimglist_instance,
+                                    filename);
+
+      return assign(CImg<T>::get_load_tiff(filename));
+#else
+      TIFF *tif = TIFFOpen(filename,"r");
+      if (tif) {
+        unsigned int nb_images = 0;
+        do ++nb_images; while (TIFFReadDirectory(tif));
+        if (nfirst_frame>=nb_images || (nlast_frame!=~0U && nlast_frame>=nb_images))
+          cimg::warn(_cimglist_instance
+                     "load_tiff(): Invalid specified frame range is [%u,%u] (step %u) since "
+                     "file '%s' contains %u image(s).",
+                     cimglist_instance,
+                     nfirst_frame,nlast_frame,nstep_frame,filename,nb_images);
+
+        if (nfirst_frame>=nb_images) return assign();
+        if (nlast_frame>=nb_images) nlast_frame = nb_images - 1;
+        assign(1 + (nlast_frame - nfirst_frame)/nstep_frame);
+        TIFFSetDirectory(tif,0);
+#if cimg_verbosity>=3
+        TIFFSetWarningHandler(0);
+        TIFFSetErrorHandler(0);
+#endif
+        cimglist_for(*this,l) _data[l]._load_tiff(tif,nfirst_frame + l*nstep_frame,voxel_size,description);
+        TIFFClose(tif);
+      } else throw CImgIOException(_cimglist_instance
+                                   "load_tiff(): Failed to open file '%s'.",
+                                   cimglist_instance,
+                                   filename);
+      return *this;
+#endif
+    }
+
+    //! Load a multi-page TIFF file \newinstance.
+    static CImgList<T> get_load_tiff(const char *const filename,
+				     const unsigned int first_frame=0, const unsigned int last_frame=~0U,
+				     const unsigned int step_frame=1,
+                                     float *const voxel_size=0,
+                                     CImg<charT> *const description=0) {
+      return CImgList<T>().load_tiff(filename,first_frame,last_frame,step_frame,voxel_size,description);
+    }
+
+    //@}
+    //----------------------------------
+    //
+    //! \name Data Output
+    //@{
+    //----------------------------------
+
+    //! Print information about the list on the standard output.
+    /**
+      \param title Label set to the information displayed.
+      \param display_stats Tells if image statistics must be computed and displayed.
+    **/
+    const CImgList<T>& print(const char *const title=0, const bool display_stats=true) const {
+      unsigned int msiz = 0;
+      cimglist_for(*this,l) msiz+=_data[l].size();
+      msiz*=sizeof(T);
+      const unsigned int mdisp = msiz<8*1024?0U:msiz<8*1024*1024?1U:2U;
+      char _title[64] = { 0 };
+      if (!title) cimg_snprintf(_title,sizeof(_title),"CImgList<%s>",pixel_type());
+      std::fprintf(cimg::output(),"%s%s%s%s: %sthis%s = %p, %ssize%s = %u/%u [%u %s], %sdata%s = (CImg<%s>*)%p",
+                   cimg::t_magenta,cimg::t_bold,title?title:_title,cimg::t_normal,
+                   cimg::t_bold,cimg::t_normal,(void*)this,
+                   cimg::t_bold,cimg::t_normal,_width,_allocated_width,
+                   mdisp==0?msiz:(mdisp==1?(msiz>>10):(msiz>>20)),
+                   mdisp==0?"b":(mdisp==1?"Kio":"Mio"),
+                   cimg::t_bold,cimg::t_normal,pixel_type(),(void*)begin());
+      if (_data) std::fprintf(cimg::output(),"..%p.\n",(void*)((char*)end() - 1));
+      else std::fprintf(cimg::output(),".\n");
+
+      char tmp[16] = { 0 };
+      cimglist_for(*this,ll) {
+        cimg_snprintf(tmp,sizeof(tmp),"[%d]",ll);
+        std::fprintf(cimg::output(),"  ");
+        _data[ll].print(tmp,display_stats);
+        if (ll==3 && width()>8) { ll = width() - 5; std::fprintf(cimg::output(),"  ...\n"); }
+      }
+      std::fflush(cimg::output());
+      return *this;
+    }
+
+    //! Display the current CImgList instance in an existing CImgDisplay window (by reference).
+    /**
+       \param disp Reference to an existing CImgDisplay instance, where the current image list will be displayed.
+       \param axis Appending axis. Can be <tt>{ 'x' | 'y' | 'z' | 'c' }</tt>.
+       \param align Appending alignmenet.
+       \note This function displays the list images of the current CImgList instance into an existing
+         CImgDisplay window.
+       Images of the list are appended in a single temporarly image for visualization purposes.
+       The function returns immediately.
+    **/
+    const CImgList<T>& display(CImgDisplay &disp, const char axis='x', const float align=0) const {
+      disp.display(*this,axis,align);
+      return *this;
+    }
+
+    //! Display the current CImgList instance in a new display window.
+    /**
+        \param disp Display window.
+        \param display_info Tells if image information are displayed on the standard output.
+       \param axis Alignment axis for images viewing.
+       \param align Apending alignment.
+       \note This function opens a new window with a specific title and displays the list images of the
+         current CImgList instance into it.
+       Images of the list are appended in a single temporarly image for visualization purposes.
+       The function returns when a key is pressed or the display window is closed by the user.
+    **/
+    const CImgList<T>& display(CImgDisplay &disp, const bool display_info,
+                               const char axis='x', const float align=0,
+                               unsigned int *const XYZ=0) const {
+      bool is_exit = false;
+      return _display(disp,0,display_info,axis,align,XYZ,0,true,is_exit);
+    }
+
+    //! Display the current CImgList instance in a new display window.
+    /**
+      \param title Title of the opening display window.
+      \param display_info Tells if list information must be written on standard output.
+      \param axis Appending axis. Can be <tt>{ 'x' | 'y' | 'z' | 'c' }</tt>.
+      \param align Appending alignment.
+    **/
+    const CImgList<T>& display(const char *const title=0, const bool display_info=true,
+                               const char axis='x', const float align=0,
+                               unsigned int *const XYZ=0) const {
+      CImgDisplay disp;
+      bool is_exit = false;
+      return _display(disp,title,display_info,axis,align,XYZ,0,true,is_exit);
+    }
+
+    const CImgList<T>& _display(CImgDisplay &disp, const char *const title, const bool display_info,
+                                const char axis, const float align, unsigned int *const XYZ,
+                                const unsigned int orig, const bool is_first_call, bool &is_exit) const {
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "display(): Empty instance.",
+                                    cimglist_instance);
+      if (!disp) {
+        if (axis=='x') {
+          unsigned int sum_width = 0, max_height = 0;
+          cimglist_for(*this,l) {
+            const CImg<T> &img = _data[l];
+            const unsigned int
+              w = CImgDisplay::_fitscreen(img._width,img._height,img._depth,128,-85,false),
+              h = CImgDisplay::_fitscreen(img._width,img._height,img._depth,128,-85,true);
+            sum_width+=w;
+            if (h>max_height) max_height = h;
+          }
+          disp.assign(cimg_fitscreen(sum_width,max_height,1),title?title:0,1);
+        } else {
+          unsigned int max_width = 0, sum_height = 0;
+          cimglist_for(*this,l) {
+            const CImg<T> &img = _data[l];
+            const unsigned int
+              w = CImgDisplay::_fitscreen(img._width,img._height,img._depth,128,-85,false),
+              h = CImgDisplay::_fitscreen(img._width,img._height,img._depth,128,-85,true);
+            if (w>max_width) max_width = w;
+            sum_height+=h;
+          }
+          disp.assign(cimg_fitscreen(max_width,sum_height,1),title?title:0,1);
+        }
+        if (!title) disp.set_title("CImgList<%s> (%u)",pixel_type(),_width);
+      } else if (title) disp.set_title("%s",title);
+      const CImg<char> dtitle = CImg<char>::string(disp.title());
+      if (display_info) print(disp.title());
+      disp.show().flush();
+
+      if (_width==1) {
+        const unsigned int dw = disp._width, dh = disp._height;
+        if (!is_first_call)
+          disp.resize(cimg_fitscreen(_data[0]._width,_data[0]._height,_data[0]._depth),false).
+            set_title("%s (%ux%ux%ux%u)",
+                      dtitle.data(),_data[0]._width,_data[0]._height,_data[0]._depth,_data[0]._spectrum);
+        _data[0]._display(disp,0,false,XYZ,!is_first_call);
+        if (disp.key()) is_exit = true;
+        disp.resize(cimg_fitscreen(dw,dh,1),false).set_title("%s",dtitle.data());
+      } else {
+        bool disp_resize = !is_first_call;
+        while (!disp.is_closed() && !is_exit) {
+          const CImg<intT> s = _get_select(disp,0,true,axis,align,orig,disp_resize,!is_first_call,true);
+          disp_resize = true;
+          if (s[0]<0) { // No selections done.
+            if (disp.button()&2) { disp.flush(); break; }
+            is_exit = true;
+          } else if (disp.wheel()) { // Zoom in/out.
+            const int wheel = disp.wheel();
+            disp.set_wheel();
+            if (!is_first_call && wheel<0) break;
+            if (wheel>0 && _width>=4) {
+              const unsigned int
+                delta = cimg::max(1U,(unsigned int)cimg::round(0.3*_width)),
+                ind0 = (unsigned int)cimg::max(0,s[0] - (int)delta),
+                ind1 = (unsigned int)cimg::min(width() - 1,s[0] + (int)delta);
+              if ((ind0!=0 || ind1!=_width - 1) && ind1 - ind0>=3)
+                get_shared_images(ind0,ind1)._display(disp,0,false,axis,align,XYZ,orig + ind0,false,is_exit);
+            }
+          } else if (s[0]!=0 || s[1]!=width() - 1)
+            get_shared_images(s[0],s[1])._display(disp,0,false,axis,align,XYZ,orig + s[0],false,is_exit);
+        }
+      }
+      return *this;
+    }
+
+    //! Save list into a file.
+    /**
+      \param filename Filename to write data to.
+      \param number When positive, represents an index added to the filename. Otherwise, no number is added.
+      \param digits Number of digits used for adding the number to the filename.
+    **/
+    const CImgList<T>& save(const char *const filename, const int number=-1, const unsigned int digits=6) const {
+      if (!filename)
+        throw CImgArgumentException(_cimglist_instance
+                                    "save(): Specified filename is (null).",
+                                    cimglist_instance);
+      // Do not test for empty instances, since .cimg format is able to manage empty instances.
+      const bool is_stdout = *filename=='-' && (!filename[1] || filename[1]=='.');
+      const char *const ext = cimg::split_filename(filename);
+      CImg<charT> nfilename(1024);
+      const char *const fn = is_stdout?filename:number>=0?cimg::number_filename(filename,number,digits,nfilename):
+        filename;
+
+#ifdef cimglist_save_plugin
+      cimglist_save_plugin(fn);
+#endif
+#ifdef cimglist_save_plugin1
+      cimglist_save_plugin1(fn);
+#endif
+#ifdef cimglist_save_plugin2
+      cimglist_save_plugin2(fn);
+#endif
+#ifdef cimglist_save_plugin3
+      cimglist_save_plugin3(fn);
+#endif
+#ifdef cimglist_save_plugin4
+      cimglist_save_plugin4(fn);
+#endif
+#ifdef cimglist_save_plugin5
+      cimglist_save_plugin5(fn);
+#endif
+#ifdef cimglist_save_plugin6
+      cimglist_save_plugin6(fn);
+#endif
+#ifdef cimglist_save_plugin7
+      cimglist_save_plugin7(fn);
+#endif
+#ifdef cimglist_save_plugin8
+      cimglist_save_plugin8(fn);
+#endif
+      if (!cimg::strcasecmp(ext,"cimgz")) return save_cimg(fn,true);
+      else if (!cimg::strcasecmp(ext,"cimg") || !*ext) return save_cimg(fn,false);
+      else if (!cimg::strcasecmp(ext,"yuv")) return save_yuv(fn,true);
+      else if (!cimg::strcasecmp(ext,"avi") ||
+               !cimg::strcasecmp(ext,"mov") ||
+               !cimg::strcasecmp(ext,"asf") ||
+               !cimg::strcasecmp(ext,"divx") ||
+               !cimg::strcasecmp(ext,"flv") ||
+               !cimg::strcasecmp(ext,"mpg") ||
+               !cimg::strcasecmp(ext,"m1v") ||
+               !cimg::strcasecmp(ext,"m2v") ||
+               !cimg::strcasecmp(ext,"m4v") ||
+               !cimg::strcasecmp(ext,"mjp") ||
+               !cimg::strcasecmp(ext,"mp4") ||
+               !cimg::strcasecmp(ext,"mkv") ||
+               !cimg::strcasecmp(ext,"mpe") ||
+               !cimg::strcasecmp(ext,"movie") ||
+               !cimg::strcasecmp(ext,"ogm") ||
+               !cimg::strcasecmp(ext,"ogg") ||
+               !cimg::strcasecmp(ext,"ogv") ||
+               !cimg::strcasecmp(ext,"qt") ||
+               !cimg::strcasecmp(ext,"rm") ||
+               !cimg::strcasecmp(ext,"vob") ||
+               !cimg::strcasecmp(ext,"wmv") ||
+               !cimg::strcasecmp(ext,"xvid") ||
+               !cimg::strcasecmp(ext,"mpeg")) return save_video(fn);
+#ifdef cimg_use_tiff
+      else if (!cimg::strcasecmp(ext,"tif") ||
+          !cimg::strcasecmp(ext,"tiff")) return save_tiff(fn);
+#endif
+      else if (!cimg::strcasecmp(ext,"gz")) return save_gzip_external(fn);
+      else {
+        if (_width==1) _data[0].save(fn,-1);
+        else cimglist_for(*this,l) { _data[l].save(fn,is_stdout?-1:l); if (is_stdout) std::fputc(EOF,stdout); }
+      }
+      return *this;
+    }
+
+    //! Tell if an image list can be saved as one single file.
+    /**
+       \param filename Filename, as a C-string.
+       \return \c true if the file format supports multiple images, \c false otherwise.
+    **/
+    static bool is_saveable(const char *const filename) {
+      const char *const ext = cimg::split_filename(filename);
+      if (!cimg::strcasecmp(ext,"cimgz") ||
+#ifdef cimg_use_tiff
+          !cimg::strcasecmp(ext,"tif") ||
+          !cimg::strcasecmp(ext,"tiff") ||
+#endif
+          !cimg::strcasecmp(ext,"yuv") ||
+          !cimg::strcasecmp(ext,"avi") ||
+          !cimg::strcasecmp(ext,"mov") ||
+          !cimg::strcasecmp(ext,"asf") ||
+          !cimg::strcasecmp(ext,"divx") ||
+          !cimg::strcasecmp(ext,"flv") ||
+          !cimg::strcasecmp(ext,"mpg") ||
+          !cimg::strcasecmp(ext,"m1v") ||
+          !cimg::strcasecmp(ext,"m2v") ||
+          !cimg::strcasecmp(ext,"m4v") ||
+          !cimg::strcasecmp(ext,"mjp") ||
+          !cimg::strcasecmp(ext,"mp4") ||
+          !cimg::strcasecmp(ext,"mkv") ||
+          !cimg::strcasecmp(ext,"mpe") ||
+          !cimg::strcasecmp(ext,"movie") ||
+          !cimg::strcasecmp(ext,"ogm") ||
+          !cimg::strcasecmp(ext,"ogg") ||
+          !cimg::strcasecmp(ext,"ogv") ||
+          !cimg::strcasecmp(ext,"qt") ||
+          !cimg::strcasecmp(ext,"rm") ||
+          !cimg::strcasecmp(ext,"vob") ||
+          !cimg::strcasecmp(ext,"wmv") ||
+          !cimg::strcasecmp(ext,"xvid") ||
+          !cimg::strcasecmp(ext,"mpeg")) return true;
+      return false;
+    }
+
+    //! Save image sequence as a GIF animated file.
+    /**
+       \param filename Filename to write data to.
+       \param fps Number of desired frames per second.
+       \param nb_loops Number of loops (\c 0 for infinite looping).
+    **/
+    const CImgList<T>& save_gif_external(const char *const filename, const unsigned int fps=25,
+                                         const unsigned int nb_loops=0) {
+      CImg<charT> command(1024), filename_tmp(256), filename_tmp2(256);
+      CImgList<charT> filenames;
+      std::FILE *file = 0;
+
+#ifdef cimg_use_png
+#define _cimg_save_gif_ext "png"
+#else
+#define _cimg_save_gif_ext "ppm"
+#endif
+
+      do {
+        cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s",
+                      cimg::temporary_path(),cimg_file_separator,cimg::filenamerand());
+        cimg_snprintf(filename_tmp2,filename_tmp2._width,"%s_000001." _cimg_save_gif_ext,filename_tmp._data);
+        if ((file=std::fopen(filename_tmp2,"rb"))!=0) cimg::fclose(file);
+      } while (file);
+      cimglist_for(*this,l) {
+        cimg_snprintf(filename_tmp2,filename_tmp2._width,"%s_%.6u." _cimg_save_gif_ext,filename_tmp._data,l + 1);
+        CImg<charT>::string(filename_tmp2).move_to(filenames);
+        if (_data[l]._depth>1 || _data[l]._spectrum!=3) _data[l].get_resize(-100,-100,1,3).save(filename_tmp2);
+        else _data[l].save(filename_tmp2);
+      }
+
+#if cimg_OS!=2
+      cimg_snprintf(command,command._width,"%s -delay 1x%u -loop %u",
+                    cimg::imagemagick_path(),fps,nb_loops);
+      CImg<ucharT>::string(command).move_to(filenames,0);
+      cimg_snprintf(command,command._width,"\"%s\" >/dev/null 2>&1",
+                    CImg<charT>::string(filename)._system_strescape().data());
+      CImg<ucharT>::string(command).move_to(filenames);
+#else
+      cimg_snprintf(command,command._width,"\"%s -delay 1x%u -loop %u",
+                    cimg::imagemagick_path(),fps,nb_loops);
+      CImg<ucharT>::string(command).move_to(filenames,0);
+      cimg_snprintf(command,command._width,"\"%s\"\" >NUL 2>&1",
+                    CImg<charT>::string(filename)._system_strescape().data());
+      CImg<ucharT>::string(command).move_to(filenames);
+#endif
+      CImg<charT> _command = filenames>'x';
+      cimg_for(_command,p,char) if (!*p) *p = ' ';
+      _command.back() = 0;
+
+      cimg::system(_command);
+      file = std::fopen(filename,"rb");
+      if (!file)
+        throw CImgIOException(_cimglist_instance
+                              "save_gif_external(): Failed to save file '%s' with external command 'convert'.",
+                              cimglist_instance,
+                              filename);
+      else cimg::fclose(file);
+      cimglist_for_in(*this,1,filenames._width - 1,l) std::remove(filenames[l]);
+      return *this;
+    }
+
+    const CImgList<T>& _save_yuv(std::FILE *const file, const char *const filename, const bool is_rgb) const {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimglist_instance
+                                    "save_yuv(): Specified filename is (null).",
+                                    cimglist_instance);
+      if (is_empty()) { cimg::fempty(file,filename); return *this; }
+      if ((*this)[0].width()%2 || (*this)[0].height()%2)
+        throw CImgInstanceException(_cimglist_instance
+                                    "save_yuv(): Invalid odd instance dimensions (%u,%u) for file '%s'.",
+                                    cimglist_instance,
+                                    (*this)[0].width(),(*this)[0].height(),
+                                    filename?filename:"(FILE*)");
+
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"wb");
+      cimglist_for(*this,l) {
+        CImg<ucharT> YCbCr((*this)[l]);
+        if (is_rgb) YCbCr.RGBtoYCbCr();
+        cimg::fwrite(YCbCr._data,(unsigned long)YCbCr._width*YCbCr._height,nfile);
+        cimg::fwrite(YCbCr.get_resize(YCbCr._width/2, YCbCr._height/2,1,3,3).data(0,0,0,1),
+                     (unsigned long)YCbCr._width*YCbCr._height/2,nfile);
+      }
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Save list as a YUV image sequence file.
+    /**
+      \param filename Filename to write data to.
+      \param is_rgb Tells if the RGB to YUV conversion must be done for saving.
+    **/
+    const CImgList<T>& save_yuv(const char *const filename=0, const bool is_rgb=true) const {
+      return _save_yuv(0,filename,is_rgb);
+    }
+
+    //! Save image sequence into a YUV file.
+    /**
+      \param file File to write data to.
+      \param is_rgb Tells if the RGB to YUV conversion must be done for saving.
+    **/
+    const CImgList<T>& save_yuv(std::FILE *const file, const bool is_rgb=true) const {
+      return _save_yuv(file,0,is_rgb);
+    }
+
+    const CImgList<T>& _save_cimg(std::FILE *const file, const char *const filename, const bool is_compressed) const {
+      if (!file && !filename)
+        throw CImgArgumentException(_cimglist_instance
+                                    "save_cimg(): Specified filename is (null).",
+                                    cimglist_instance);
+#ifndef cimg_use_zlib
+      if (is_compressed)
+        cimg::warn(_cimglist_instance
+                   "save_cimg(): Unable to save compressed data in file '%s' unless zlib is enabled, "
+                   "saving them uncompressed.",
+                   cimglist_instance,
+                   filename?filename:"(FILE*)");
+#endif
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"wb");
+      const char *const ptype = pixel_type(), *const etype = cimg::endianness()?"big":"little";
+      if (std::strstr(ptype,"unsigned")==ptype) std::fprintf(nfile,"%u unsigned_%s %s_endian\n",_width,ptype + 9,etype);
+      else std::fprintf(nfile,"%u %s %s_endian\n",_width,ptype,etype);
+      cimglist_for(*this,l) {
+        const CImg<T>& img = _data[l];
+        std::fprintf(nfile,"%u %u %u %u",img._width,img._height,img._depth,img._spectrum);
+        if (img._data) {
+          CImg<T> tmp;
+          if (cimg::endianness()) { tmp = img; cimg::invert_endianness(tmp._data,tmp.size()); }
+          const CImg<T>& ref = cimg::endianness()?tmp:img;
+          bool failed_to_compress = true;
+          if (is_compressed) {
+#ifdef cimg_use_zlib
+            const unsigned long siz = sizeof(T)*ref.size();
+            unsigned long csiz = siz + siz/100 + 16;
+            Bytef *const cbuf = new Bytef[csiz];
+            if (compress(cbuf,&csiz,(Bytef*)ref._data,siz))
+              cimg::warn(_cimglist_instance
+                         "save_cimg(): Failed to save compressed data for file '%s', saving them uncompressed.",
+                         cimglist_instance,
+                         filename?filename:"(FILE*)");
+            else {
+              std::fprintf(nfile," #%lu\n",csiz);
+              cimg::fwrite(cbuf,csiz,nfile);
+              delete[] cbuf;
+              failed_to_compress = false;
+            }
+#endif
+          }
+          if (failed_to_compress) { // Write in a non-compressed way.
+            std::fputc('\n',nfile);
+            cimg::fwrite(ref._data,ref.size(),nfile);
+          }
+        } else std::fputc('\n',nfile);
+      }
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Save list into a .cimg file.
+    /**
+       \param filename Filename to write data to.
+       \param is_compressed Tells if data compression must be enabled.
+    **/
+    const CImgList<T>& save_cimg(const char *const filename, const bool is_compressed=false) const {
+      return _save_cimg(0,filename,is_compressed);
+    }
+
+    //! Save list into a .cimg file.
+    /**
+       \param file File to write data to.
+       \param is_compressed Tells if data compression must be enabled.
+    **/
+    const CImgList<T>& save_cimg(std::FILE *file, const bool is_compressed=false) const {
+      return _save_cimg(file,0,is_compressed);
+    }
+
+    const CImgList<T>& _save_cimg(std::FILE *const file, const char *const filename,
+                                 const unsigned int n0,
+                                 const unsigned int x0, const unsigned int y0,
+                                 const unsigned int z0, const unsigned int c0) const {
+#define _cimg_save_cimg_case(Ts,Tss) \
+      if (!saved && !cimg::strcasecmp(Ts,str_pixeltype)) { \
+        for (unsigned int l = 0; l<lmax; ++l) { \
+          j = 0; while((i=std::fgetc(nfile))!='\n') tmp[j++]=(char)i; tmp[j] = 0; \
+          W = H = D = C = 0; \
+          if (cimg_sscanf(tmp,"%u %u %u %u",&W,&H,&D,&C)!=4) \
+            throw CImgIOException(_cimglist_instance \
+                                  "save_cimg(): Invalid size (%u,%u,%u,%u) of image[%u], for file '%s'.", \
+                                  cimglist_instance, \
+                                  W,H,D,C,l,filename?filename:"(FILE*)"); \
+          if (W*H*D*C>0) { \
+            if (l<n0 || x0>=W || y0>=H || z0>=D || c0>=D) std::fseek(nfile,W*H*D*C*sizeof(Tss),SEEK_CUR); \
+            else { \
+              const CImg<T>& img = (*this)[l - n0]; \
+              const T *ptrs = img._data; \
+              const unsigned int \
+                x1 = x0 + img._width - 1, \
+                y1 = y0 + img._height - 1, \
+                z1 = z0 + img._depth - 1, \
+                c1 = c0 + img._spectrum - 1, \
+                nx1 = x1>=W?W - 1:x1, \
+                ny1 = y1>=H?H - 1:y1, \
+                nz1 = z1>=D?D - 1:z1, \
+                nc1 = c1>=C?C - 1:c1; \
+              CImg<Tss> raw(1 + nx1 - x0); \
+              const unsigned int skipvb = c0*W*H*D*sizeof(Tss); \
+              if (skipvb) std::fseek(nfile,skipvb,SEEK_CUR); \
+              for (unsigned int v = 1 + nc1 - c0; v; --v) { \
+                const unsigned int skipzb = z0*W*H*sizeof(Tss); \
+                if (skipzb) std::fseek(nfile,skipzb,SEEK_CUR); \
+                for (unsigned int z = 1 + nz1 - z0; z; --z) { \
+                  const unsigned int skipyb = y0*W*sizeof(Tss); \
+                  if (skipyb) std::fseek(nfile,skipyb,SEEK_CUR); \
+                  for (unsigned int y = 1 + ny1 - y0; y; --y) { \
+                    const unsigned int skipxb = x0*sizeof(Tss); \
+                    if (skipxb) std::fseek(nfile,skipxb,SEEK_CUR); \
+                    raw.assign(ptrs, raw._width); \
+                    ptrs+=img._width; \
+                    if (endian) cimg::invert_endianness(raw._data,raw._width); \
+                    cimg::fwrite(raw._data,raw._width,nfile); \
+                    const unsigned int skipxe = (W - 1 - nx1)*sizeof(Tss); \
+                    if (skipxe) std::fseek(nfile,skipxe,SEEK_CUR); \
+                  } \
+                  const unsigned int skipye = (H - 1 - ny1)*W*sizeof(Tss); \
+                  if (skipye) std::fseek(nfile,skipye,SEEK_CUR); \
+                } \
+                const unsigned int skipze = (D - 1 - nz1)*W*H*sizeof(Tss); \
+                if (skipze) std::fseek(nfile,skipze,SEEK_CUR); \
+              } \
+              const unsigned int skipve = (C - 1 - nc1)*W*H*D*sizeof(Tss); \
+              if (skipve) std::fseek(nfile,skipve,SEEK_CUR); \
+            } \
+          } \
+        } \
+        saved = true; \
+      }
+
+      if (!file && !filename)
+        throw CImgArgumentException(_cimglist_instance
+                                    "save_cimg(): Specified filename is (null).",
+                                    cimglist_instance);
+      if (is_empty())
+        throw CImgInstanceException(_cimglist_instance
+                                    "save_cimg(): Empty instance, for file '%s'.",
+                                    cimglist_instance,
+                                    filename?filename:"(FILE*)");
+
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"rb+");
+      bool saved = false, endian = cimg::endianness();
+      CImg<charT> tmp(256), str_pixeltype(256), str_endian(256);
+      *tmp = *str_pixeltype = *str_endian = 0;
+      unsigned int j, N, W, H, D, C;
+      int i, err;
+      j = 0; while((i=std::fgetc(nfile))!='\n' && i!=EOF && j<256) tmp[j++] = (char)i; tmp[j] = 0;
+      err = cimg_sscanf(tmp,"%u%*c%255[A-Za-z_]%*c%255[sA-Za-z_ ]",&N,str_pixeltype._data,str_endian._data);
+      if (err<2) {
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimglist_instance
+                              "save_cimg(): CImg header not found in file '%s'.",
+                              cimglist_instance,
+                              filename?filename:"(FILE*)");
+      }
+      if (!cimg::strncasecmp("little",str_endian,6)) endian = false;
+      else if (!cimg::strncasecmp("big",str_endian,3)) endian = true;
+      const unsigned int lmax = cimg::min(N,n0 + _width);
+      _cimg_save_cimg_case("bool",bool);
+      _cimg_save_cimg_case("unsigned_char",unsigned char);
+      _cimg_save_cimg_case("uchar",unsigned char);
+      _cimg_save_cimg_case("char",char);
+      _cimg_save_cimg_case("unsigned_short",unsigned short);
+      _cimg_save_cimg_case("ushort",unsigned short);
+      _cimg_save_cimg_case("short",short);
+      _cimg_save_cimg_case("unsigned_int",unsigned int);
+      _cimg_save_cimg_case("uint",unsigned int);
+      _cimg_save_cimg_case("int",int);
+      _cimg_save_cimg_case("unsigned_long",unsigned long);
+      _cimg_save_cimg_case("ulong",unsigned long);
+      _cimg_save_cimg_case("long",long);
+      _cimg_save_cimg_case("float",float);
+      _cimg_save_cimg_case("double",double);
+      if (!saved) {
+        if (!file) cimg::fclose(nfile);
+        throw CImgIOException(_cimglist_instance
+                              "save_cimg(): Unsupported data type '%s' for file '%s'.",
+                              cimglist_instance,
+                              filename?filename:"(FILE*)",str_pixeltype._data);
+      }
+      if (!file) cimg::fclose(nfile);
+      return *this;
+    }
+
+    //! Insert the image instance into into an existing .cimg file, at specified coordinates.
+    /**
+      \param filename Filename to write data to.
+      \param n0 Starting index of images to write.
+      \param x0 Starting X-coordinates of image regions to write.
+      \param y0 Starting Y-coordinates of image regions to write.
+      \param z0 Starting Z-coordinates of image regions to write.
+      \param c0 Starting C-coordinates of image regions to write.
+    **/
+    const CImgList<T>& save_cimg(const char *const filename,
+                                 const unsigned int n0,
+                                 const unsigned int x0, const unsigned int y0,
+                                 const unsigned int z0, const unsigned int c0) const {
+      return _save_cimg(0,filename,n0,x0,y0,z0,c0);
+    }
+
+    //! Insert the image instance into into an existing .cimg file, at specified coordinates.
+    /**
+      \param file File to write data to.
+      \param n0 Starting index of images to write.
+      \param x0 Starting X-coordinates of image regions to write.
+      \param y0 Starting Y-coordinates of image regions to write.
+      \param z0 Starting Z-coordinates of image regions to write.
+      \param c0 Starting C-coordinates of image regions to write.
+    **/
+    const CImgList<T>& save_cimg(std::FILE *const file,
+                                 const unsigned int n0,
+                                 const unsigned int x0, const unsigned int y0,
+                                 const unsigned int z0, const unsigned int c0) const {
+      return _save_cimg(file,0,n0,x0,y0,z0,c0);
+    }
+
+    static void _save_empty_cimg(std::FILE *const file, const char *const filename,
+                                const unsigned int nb,
+                                const unsigned int dx, const unsigned int dy,
+                                const unsigned int dz, const unsigned int dc) {
+      std::FILE *const nfile = file?file:cimg::fopen(filename,"wb");
+      const unsigned long siz = (unsigned long)dx*dy*dz*dc*sizeof(T);
+      std::fprintf(nfile,"%u %s\n",nb,pixel_type());
+      for (unsigned int i=nb; i; --i) {
+        std::fprintf(nfile,"%u %u %u %u\n",dx,dy,dz,dc);
+	for (unsigned long off=siz; off; --off) std::fputc(0,nfile);
+      }
+      if (!file) cimg::fclose(nfile);
+    }
+
+    //! Save empty (non-compressed) .cimg file with specified dimensions.
+    /**
+        \param filename Filename to write data to.
+        \param nb Number of images to write.
+        \param dx Width of images in the written file.
+        \param dy Height of images in the written file.
+        \param dz Depth of images in the written file.
+        \param dc Spectrum of images in the written file.
+    **/
+    static void save_empty_cimg(const char *const filename,
+                                const unsigned int nb,
+                                const unsigned int dx, const unsigned int dy=1,
+                                const unsigned int dz=1, const unsigned int dc=1) {
+      return _save_empty_cimg(0,filename,nb,dx,dy,dz,dc);
+    }
+
+    //! Save empty .cimg file with specified dimensions.
+    /**
+        \param file File to write data to.
+        \param nb Number of images to write.
+        \param dx Width of images in the written file.
+        \param dy Height of images in the written file.
+        \param dz Depth of images in the written file.
+        \param dc Spectrum of images in the written file.
+    **/
+    static void save_empty_cimg(std::FILE *const file,
+                                const unsigned int nb,
+                                const unsigned int dx, const unsigned int dy=1,
+                                const unsigned int dz=1, const unsigned int dc=1) {
+      return _save_empty_cimg(file,0,nb,dx,dy,dz,dc);
+    }
+
+    //! Save list as a TIFF file.
+    /**
+      \param filename Filename to write data to.
+      \param compression_type Compression mode used to write data.
+    **/
+    const CImgList<T>& save_tiff(const char *const filename, const unsigned int compression_type=0,
+                                 const float *const voxel_size=0, const char *const description=0) const {
+      if (!filename)
+        throw CImgArgumentException(_cimglist_instance
+                                    "save_tiff(): Specified filename is (null).",
+                                    cimglist_instance);
+      if (is_empty()) { cimg::fempty(0,filename); return *this; }
+
+#ifndef cimg_use_tiff
+      if (_width==1) _data[0].save_tiff(filename,compression_type,voxel_size,description);
+      else cimglist_for(*this,l) {
+          CImg<charT> nfilename(1024);
+          cimg::number_filename(filename,l,6,nfilename);
+          _data[l].save_tiff(nfilename,compression_type,voxel_size,description);
+        }
+#else
+      TIFF *tif = TIFFOpen(filename,"w");
+      if (tif) {
+        for (unsigned int dir = 0, l = 0; l<_width; ++l) {
+          const CImg<T>& img = (*this)[l];
+          if (img) {
+            if (img._depth==1) img._save_tiff(tif,dir++,compression_type,voxel_size,description);
+            else cimg_forZ(img,z) img.get_slice(z)._save_tiff(tif,dir++,compression_type,voxel_size,description);
+          }
+        }
+        TIFFClose(tif);
+      } else
+        throw CImgIOException(_cimglist_instance
+                              "save_tiff(): Failed to open stream for file '%s'.",
+                              cimglist_instance,
+                              filename);
+#endif
+      return *this;
+    }
+
+    //! Save list as a gzipped file, using external tool 'gzip'.
+    /**
+      \param filename Filename to write data to.
+    **/
+    const CImgList<T>& save_gzip_external(const char *const filename) const {
+      if (!filename)
+        throw CImgIOException(_cimglist_instance
+                              "save_gzip_external(): Specified filename is (null).",
+                              cimglist_instance);
+
+      CImg<charT> command(1024), filename_tmp(256), body(256);
+      const char
+        *ext = cimg::split_filename(filename,body),
+        *ext2 = cimg::split_filename(body,0);
+      std::FILE *file;
+      do {
+        if (!cimg::strcasecmp(ext,"gz")) {
+          if (*ext2) cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s.%s",
+                                   cimg::temporary_path(),cimg_file_separator,cimg::filenamerand(),ext2);
+          else cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s.cimg",
+                             cimg::temporary_path(),cimg_file_separator,cimg::filenamerand());
+        } else {
+          if (*ext) cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s.%s",
+                                  cimg::temporary_path(),cimg_file_separator,cimg::filenamerand(),ext);
+          else cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s.cimg",
+                             cimg::temporary_path(),cimg_file_separator,cimg::filenamerand());
+        }
+        if ((file=std::fopen(filename_tmp,"rb"))!=0) cimg::fclose(file);
+      } while (file);
+
+      if (is_saveable(body)) {
+        save(filename_tmp);
+        cimg_snprintf(command,command._width,"%s -c \"%s\" > \"%s\"",
+                      cimg::gzip_path(),
+                      CImg<charT>::string(filename_tmp)._system_strescape().data(),
+                      CImg<charT>::string(filename)._system_strescape().data());
+        cimg::system(command);
+        file = std::fopen(filename,"rb");
+        if (!file)
+          throw CImgIOException(_cimglist_instance
+                                "save_gzip_external(): Failed to save file '%s' with external command 'gzip'.",
+                                cimglist_instance,
+                                filename);
+        else cimg::fclose(file);
+        std::remove(filename_tmp);
+      } else {
+        CImg<charT> nfilename(1024);
+        cimglist_for(*this,l) {
+          cimg::number_filename(body,l,6,nfilename);
+          if (*ext) cimg_sprintf(nfilename._data + std::strlen(nfilename),".%s",ext);
+          _data[l].save_gzip_external(nfilename);
+        }
+      }
+      return *this;
+    }
+
+    //! Save image sequence, using the OpenCV library.
+    /**
+       \param filename Filename to write data to.
+       \param fps Number of frames per second.
+       \param codec Type of compression (See http://www.fourcc.org/codecs.php to see available codecs).
+       \param keep_open Tells if the video writer associated to the specified filename
+       must be kept open or not (to allow frames to be added in the same file afterwards).
+    **/
+    const CImgList<T>& save_video(const char *const filename, const unsigned int fps=25,
+                                  const char *codec=0, const bool keep_open=false) const {
+#ifndef cimg_use_opencv
+      cimg::unused(codec,keep_open);
+      return save_ffmpeg_external(filename,fps);
+#else
+      static CvVideoWriter *writers[32] = { 0 };
+      static CImgList<charT> filenames(32);
+      static CImg<intT> sizes(32,2,1,1,0);
+      static int last_used_index = -1;
+
+      // Detect if a video writer already exists for the specified filename.
+      cimg::mutex(9);
+      int index = -1;
+      if (filename) {
+        if (last_used_index>=0 && !std::strcmp(filename,filenames[last_used_index])) {
+          index = last_used_index;
+        } else cimglist_for(filenames,l) if (filenames[l] && !std::strcmp(filename,filenames[l])) {
+            index = l; break;
+          }
+      } else index = last_used_index;
+      cimg::mutex(9,0);
+
+      // Find empty slot for capturing video stream.
+      if (index<0) {
+        if (!filename)
+          throw CImgArgumentException(_cimglist_instance
+                                      "save_video(): No already open video writer found. You must specify a "
+                                      "non-(null) filename argument for the first call.",
+                                      cimglist_instance);
+        else { cimg::mutex(9); cimglist_for(filenames,l) if (!filenames[l]) { index = l; break; } cimg::mutex(9,0); }
+        if (index<0)
+          throw CImgIOException(_cimglist_instance
+                                "save_video(): File '%s', no video writer slots available. "
+                                "You have to release some of your previously opened videos.",
+                                cimglist_instance,filename);
+        if (is_empty())
+          throw CImgInstanceException(_cimglist_instance
+                                      "save_video(): Instance list is empty.",
+                                      cimglist_instance);
+        const unsigned int W = _data?_data[0]._width:0, H = _data?_data[0]._height:0;
+        if (!W || !H)
+          throw CImgInstanceException(_cimglist_instance
+                                      "save_video(): Frame [0] is an empty image.",
+                                      cimglist_instance);
+
+#define _cimg_docase(x) ((x)>='a'&&(x)<='z'?(x) + 'A' - 'a':(x))
+        const char
+          *const _codec = codec?codec:"mp4v",
+          codec0 = _cimg_docase(_codec[0]),
+          codec1 = _codec[0]?_cimg_docase(_codec[1]):0,
+          codec2 = _codec[1]?_cimg_docase(_codec[2]):0,
+          codec3 = _codec[2]?_cimg_docase(_codec[3]):0;
+        cimg::mutex(9);
+        writers[index] = cvCreateVideoWriter(filename,CV_FOURCC(codec0,codec1,codec2,codec3),
+                                             fps,cvSize(W,H));
+        CImg<charT>::string(filename).move_to(filenames[index]);
+        sizes(index,0) = W; sizes(index,1) = H;
+        cimg::mutex(9,0);
+        if (!writers[index])
+          throw CImgIOException(_cimglist_instance
+                                "save_video(): File '%s', unable to initialize video writer with codec '%c%c%c%c'.",
+                                cimglist_instance,filename,
+                                codec0,codec1,codec2,codec3);
+      }
+
+      if (!is_empty()) {
+        const unsigned int W = sizes(index,0), H = sizes(index,1);
+        cimg::mutex(9);
+        IplImage *ipl = cvCreateImage(cvSize(W,H),8,3);
+        cimglist_for(*this,l) {
+          CImg<T> &src = _data[l];
+          if (src.is_empty())
+            cimg::warn(_cimglist_instance
+                       "save_video(): Skip empty frame %d for file '%s'.",
+                       cimglist_instance,l,filename);
+          if (src._depth>1 || src._spectrum>3)
+            cimg::warn(_cimglist_instance
+                       "save_video(): Frame %u has incompatible dimension (%u,%u,%u,%u). "
+                       "Some image data may be ignored when writing frame into video file '%s'.",
+                       cimglist_instance,l,src._width,src._height,src._depth,src._spectrum,filename);
+          if (src._width==W && src._height==H && src._spectrum==3) {
+            const T *ptr_r = src.data(0,0,0,0), *ptr_g = src.data(0,0,0,1), *ptr_b = src.data(0,0,0,2);
+            char *ptrd = ipl->imageData;
+            cimg_forXY(src,x,y) {
+              *(ptrd++) = (char)*(ptr_b++); *(ptrd++) = (char)*(ptr_g++); *(ptrd++) = (char)*(ptr_r++);
+            }
+          } else {
+            CImg<unsigned char> _src(src,false);
+            _src.channels(0,cimg::min(_src._spectrum - 1,2U)).resize(W,H);
+            _src.resize(W,H,1,3,_src._spectrum==1?1:0);
+            const unsigned char *ptr_r = _src.data(0,0,0,0), *ptr_g = _src.data(0,0,0,1), *ptr_b = _src.data(0,0,0,2);
+            char *ptrd = ipl->imageData;
+            cimg_forXY(_src,x,y) {
+              *(ptrd++) = (char)*(ptr_b++); *(ptrd++) = (char)*(ptr_g++); *(ptrd++) = (char)*(ptr_r++);
+            }
+          }
+          cvWriteFrame(writers[index],ipl);
+        }
+        cvReleaseImage(&ipl);
+        cimg::mutex(9,0);
+      }
+
+      cimg::mutex(9);
+      if (!keep_open) {
+        cvReleaseVideoWriter(&writers[index]);
+        writers[index] = 0;
+        filenames[index].assign();
+        sizes(index,0) = sizes(index,1) = 0;
+        last_used_index = -1;
+      } else last_used_index = index;
+      cimg::mutex(9,0);
+
+      return *this;
+#endif
+    }
+
+    //! Save image sequence, using the external tool 'ffmpeg'.
+    /**
+      \param filename Filename to write data to.
+      \param fps Number of frames per second.
+      \param codec Type of compression.
+      \param bitrate Output bitrate
+    **/
+    const CImgList<T>& save_ffmpeg_external(const char *const filename, const unsigned int fps=25,
+                                            const char *const codec=0, const unsigned int bitrate=2048) const {
+      if (!filename)
+        throw CImgArgumentException(_cimglist_instance
+                                    "save_ffmpeg_external(): Specified filename is (null).",
+                                    cimglist_instance);
+      if (is_empty()) { cimg::fempty(0,filename); return *this; }
+
+      const char
+        *const ext = cimg::split_filename(filename),
+        *const _codec = codec?codec:!cimg::strcasecmp(ext,"flv")?"flv":"mpeg2video";
+
+      CImg<charT> command(1024), filename_tmp(256), filename_tmp2(256);
+      CImgList<charT> filenames;
+      std::FILE *file = 0;
+      cimglist_for(*this,l) if (!_data[l].is_sameXYZ(_data[0]))
+        throw CImgInstanceException(_cimglist_instance
+                                    "save_ffmpeg_external(): Invalid instance dimensions for file '%s'.",
+                                    cimglist_instance,
+                                    filename);
+      do {
+        cimg_snprintf(filename_tmp,filename_tmp._width,"%s%c%s",
+                      cimg::temporary_path(),cimg_file_separator,cimg::filenamerand());
+        cimg_snprintf(filename_tmp2,filename_tmp2._width,"%s_000001.ppm",filename_tmp._data);
+        if ((file=std::fopen(filename_tmp2,"rb"))!=0) cimg::fclose(file);
+      } while (file);
+      cimglist_for(*this,l) {
+        cimg_snprintf(filename_tmp2,filename_tmp2._width,"%s_%.6u.ppm",filename_tmp._data,l + 1);
+        CImg<charT>::string(filename_tmp2).move_to(filenames);
+        if (_data[l]._depth>1 || _data[l]._spectrum!=3) _data[l].get_resize(-100,-100,1,3).save_pnm(filename_tmp2);
+        else _data[l].save_pnm(filename_tmp2);
+      }
+#if cimg_OS!=2
+      cimg_snprintf(command,command._width,"%s -i \"%s_%%6d.ppm\" -vcodec %s -b %uk -r %u -y \"%s\" >/dev/null 2>&1",
+                    cimg::ffmpeg_path(),
+                    CImg<charT>::string(filename_tmp)._system_strescape().data(),
+                    _codec,bitrate,fps,
+                    CImg<charT>::string(filename)._system_strescape().data());
+#else
+      cimg_snprintf(command,command._width,"\"%s -i \"%s_%%6d.ppm\" -vcodec %s -b %uk -r %u -y \"%s\"\" >NUL 2>&1",
+                    cimg::ffmpeg_path(),
+                    CImg<charT>::string(filename_tmp)._system_strescape().data(),
+                    _codec,bitrate,fps,
+                    CImg<charT>::string(filename)._system_strescape().data());
+#endif
+      cimg::system(command);
+      file = std::fopen(filename,"rb");
+      if (!file)
+        throw CImgIOException(_cimglist_instance
+                              "save_ffmpeg_external(): Failed to save file '%s' with external command 'ffmpeg'.",
+                              cimglist_instance,
+                              filename);
+      else cimg::fclose(file);
+      cimglist_for(*this,l) std::remove(filenames[l]);
+      return *this;
+    }
+
+    //! Serialize a CImgList<T> instance into a raw CImg<unsigned char> buffer.
+    /**
+       \param is_compressed tells if zlib compression must be used for serialization
+       (this requires 'cimg_use_zlib' been enabled).
+    **/
+    CImg<ucharT> get_serialize(const bool is_compressed=false) const {
+#ifndef cimg_use_zlib
+      if (is_compressed)
+        cimg::warn(_cimglist_instance
+                   "get_serialize(): Unable to compress data unless zlib is enabled, "
+                   "storing them uncompressed.",
+                   cimglist_instance);
+#endif
+      CImgList<ucharT> stream;
+      CImg<charT> tmpstr(128);
+      const char *const ptype = pixel_type(), *const etype = cimg::endianness()?"big":"little";
+      if (std::strstr(ptype,"unsigned")==ptype)
+        cimg_snprintf(tmpstr,tmpstr._width,"%u unsigned_%s %s_endian\n",_width,ptype + 9,etype);
+      else
+        cimg_snprintf(tmpstr,tmpstr._width,"%u %s %s_endian\n",_width,ptype,etype);
+      CImg<ucharT>::string(tmpstr,false).move_to(stream);
+      cimglist_for(*this,l) {
+        const CImg<T>& img = _data[l];
+        cimg_snprintf(tmpstr,tmpstr._width,"%u %u %u %u",img._width,img._height,img._depth,img._spectrum);
+        CImg<ucharT>::string(tmpstr,false).move_to(stream);
+        if (img._data) {
+          CImg<T> tmp;
+          if (cimg::endianness()) { tmp = img; cimg::invert_endianness(tmp._data,tmp.size()); }
+          const CImg<T>& ref = cimg::endianness()?tmp:img;
+          bool failed_to_compress = true;
+          if (is_compressed) {
+#ifdef cimg_use_zlib
+            const unsigned long siz = sizeof(T)*ref.size();
+            unsigned long csiz = compressBound(siz);
+            Bytef *const cbuf = new Bytef[csiz];
+            if (compress(cbuf,&csiz,(Bytef*)ref._data,siz))
+              cimg::warn(_cimglist_instance
+                         "get_serialize(): Failed to save compressed data, saving them uncompressed.",
+                         cimglist_instance);
+            else {
+              cimg_snprintf(tmpstr,tmpstr._width," #%lu\n",csiz);
+              CImg<ucharT>::string(tmpstr,false).move_to(stream);
+              CImg<ucharT>(cbuf,csiz).move_to(stream);
+              delete[] cbuf;
+              failed_to_compress = false;
+            }
+#endif
+          }
+          if (failed_to_compress) { // Write in a non-compressed way.
+            CImg<charT>::string("\n",false).move_to(stream);
+            stream.insert(1);
+            stream.back().assign((unsigned char*)ref._data,ref.size()*sizeof(T),1,1,1,true);
+          }
+        } else CImg<charT>::string("\n",false).move_to(stream);
+      }
+      cimglist_apply(stream,unroll)('y');
+      return stream>'y';
+    }
+
+    //! Unserialize a CImg<unsigned char> serialized buffer into a CImgList<T> list.
+    template<typename t>
+    static CImgList<T> get_unserialize(const CImg<t>& buffer) {
+#ifdef cimg_use_zlib
+#define _cimgz_unserialize_case(Tss) { \
+        Bytef *cbuf = (Bytef*)stream; \
+        if (sizeof(t)!=1 || cimg::type<t>::string()==cimg::type<bool>::string()) { \
+          cbuf = new Bytef[csiz]; Bytef *_cbuf = cbuf; \
+          for (unsigned long i = 0; i<csiz; ++i) *(_cbuf++) = (Bytef)*(stream++); \
+          is_bytef = false; \
+        } else { stream+=csiz; is_bytef = true; } \
+        CImg<Tss> raw(W,H,D,C); \
+        unsigned long destlen = (unsigned long)raw.size()*sizeof(Tss); \
+        uncompress((Bytef*)raw._data,&destlen,cbuf,csiz); \
+        if (!is_bytef) delete[] cbuf; \
+        if (endian!=cimg::endianness()) cimg::invert_endianness(raw._data,raw.size()); \
+        raw.move_to(img); \
+      }
+#else
+#define _cimgz_unserialize_case(Tss) \
+      throw CImgArgumentException("CImgList<%s>::get_unserialize(): Unable to unserialize compressed data " \
+                                  "unless zlib is enabled.", \
+                                  pixel_type());
+#endif
+
+#define _cimg_unserialize_case(Ts,Tss) \
+      if (!loaded && !cimg::strcasecmp(Ts,str_pixeltype)) { \
+        for (unsigned int l = 0; l<N; ++l) { \
+          j = 0; while ((i=(int)*stream)!='\n' && stream<estream && j<255) { ++stream; tmp[j++] = (char)i; } \
+          ++stream; tmp[j] = 0; \
+          W = H = D = C = 0; csiz = 0; \
+          if ((err = cimg_sscanf(tmp,"%u %u %u %u #%lu",&W,&H,&D,&C,&csiz))<4) \
+            throw CImgArgumentException("CImgList<%s>::unserialize(): Invalid specified size (%u,%u,%u,%u) for " \
+                                        "image #%u in serialized buffer.", \
+                                        pixel_type(),W,H,D,C,l); \
+          if (W*H*D*C>0) { \
+            CImg<T> &img = res._data[l]; \
+            if (err==5) _cimgz_unserialize_case(Tss) \
+            else { \
+              if (sizeof(t)!=1) { \
+                CImg<ucharT> raw(W*sizeof(Tss),H,D,C);  \
+                cimg_for(raw,p,unsigned char) *p = (unsigned char)*(stream++); \
+                img.assign((Tss*)raw._data,W,H,D,C); \
+              } else img.assign((Tss*)stream,W,H,D,C); \
+              if (endian!=cimg::endianness()) cimg::invert_endianness(img._data,img.size()); \
+            } \
+          } \
+        } \
+        loaded = true; \
+      }
+
+      if (buffer.is_empty())
+        throw CImgArgumentException("CImgList<%s>::get_unserialize(): Specified serialized buffer is (null).",
+                                    pixel_type());
+      CImgList<T> res;
+      const t *stream = buffer._data, *const estream = buffer._data + buffer.size();
+      bool loaded = false, endian = cimg::endianness(), is_bytef = false;
+      CImg<charT> tmp(256), str_pixeltype(256), str_endian(256);
+      *tmp = *str_pixeltype = *str_endian = 0;
+      unsigned int j, N = 0, W, H, D, C;
+      unsigned long csiz;
+      int i, err;
+      cimg::unused(is_bytef);
+      do {
+        j = 0; while ((i=(int)*stream)!='\n' && stream<estream && j<255) { ++stream; tmp[j++] = (char)i; }
+        ++stream; tmp[j] = 0;
+      } while (*tmp=='#' && stream<estream);
+      err = cimg_sscanf(tmp,"%u%*c%255[A-Za-z_]%*c%255[sA-Za-z_ ]",
+                        &N,str_pixeltype._data,str_endian._data);
+      if (err<2)
+        throw CImgArgumentException("CImgList<%s>::get_unserialize(): CImg header not found in serialized buffer.",
+                                    pixel_type());
+      if (!cimg::strncasecmp("little",str_endian,6)) endian = false;
+      else if (!cimg::strncasecmp("big",str_endian,3)) endian = true;
+      res.assign(N);
+      _cimg_unserialize_case("bool",bool);
+      _cimg_unserialize_case("unsigned_char",unsigned char);
+      _cimg_unserialize_case("uchar",unsigned char);
+      _cimg_unserialize_case("char",char);
+      _cimg_unserialize_case("unsigned_short",unsigned short);
+      _cimg_unserialize_case("ushort",unsigned short);
+      _cimg_unserialize_case("short",short);
+      _cimg_unserialize_case("unsigned_int",unsigned int);
+      _cimg_unserialize_case("uint",unsigned int);
+      _cimg_unserialize_case("int",int);
+      _cimg_unserialize_case("unsigned_long",unsigned long);
+      _cimg_unserialize_case("ulong",unsigned long);
+      _cimg_unserialize_case("long",long);
+      _cimg_unserialize_case("float",float);
+      _cimg_unserialize_case("double",double);
+      if (!loaded)
+        throw CImgArgumentException("CImgList<%s>::get_unserialize(): Unsupported pixel type '%s' defined "
+                                    "in serialized buffer.",
+                                    pixel_type(),str_pixeltype._data);
+      return res;
+    }
+
+    //@}
+    //----------------------------------
+    //
+    //! \name Others
+    //@{
+    //----------------------------------
+
+    //! Crop font along the X-axis.
+    /**
+    **/
+    CImgList<T>& crop_font() {
+      return get_crop_font().move_to(*this);
+    }
+
+    //! Crop font along the X-axis \newinstance.
+    /**
+    **/
+    CImgList<T> get_crop_font() const {
+      CImgList<T> res;
+      cimglist_for(*this,l) {
+        const CImg<T>& letter = (*this)[l];
+        int xmin = letter.width(), xmax = 0;
+        cimg_forXY(letter,x,y) if (letter(x,y)) { if (x<xmin) xmin = x; if (x>xmax) xmax = x; }
+        if (xmin>xmax) CImg<T>(letter._width,letter._height,1,letter._spectrum,0).move_to(res);
+        else letter.get_crop(xmin,0,xmax,letter._height - 1).move_to(res);
+      }
+      res[' '].resize(res['f']._width,-100,-100,-100,0);
+      if (' ' + 256<res.size()) res[' ' + 256].resize(res['f']._width,-100,-100,-100,0);
+      return res;
+    }
+
+    //! Return a CImg pre-defined font with desired size.
+    /**
+       \param font_height Height of the desired font (exact match for 13,23,53,103).
+       \param is_variable_width Decide if the font has a variable (\c true) or fixed (\c false) width.
+    **/
+    static const CImgList<ucharT>& font(const unsigned int font_height, const bool is_variable_width=true) {
+      if (!font_height) return CImgList<ucharT>::empty();
+      cimg::mutex(11);
+
+      // Decompress nearest base font data if needed.
+      const char *data_fonts[] = { cimg::data_font12x13, cimg::data_font20x23, cimg::data_font47x53, 0 };
+      const unsigned int data_widths[] = { 12,20,47,90 }, data_heights[] = { 13,23,53,103 },
+        data_Ms[] = { 86,79,57,47 };
+      const unsigned int data_ind = font_height<=13U?0U:font_height<=23U?1U:font_height<=53U?2U:3U;
+      static CImg<ucharT> base_fonts[4];
+      CImg<ucharT> &base_font = base_fonts[data_ind];
+      if (!base_font) {
+        const unsigned int w = data_widths[data_ind], h = data_heights[data_ind], M = data_Ms[data_ind];
+        base_font.assign(256*w,h);
+        const char *data_font = data_fonts[data_ind];
+        unsigned char *ptrd = base_font;
+        const unsigned char *const ptrde = base_font.end();
+
+        // Special case needed for 90x103 to avoid MS compiler limit with big strings.
+        CImg<char> data90x103;
+        if (!data_font) {
+          ((CImg<char>(cimg::_data_font90x103[0],
+                       (unsigned int)std::strlen(cimg::_data_font90x103[0]),1,1,1,true),
+            CImg<char>(cimg::_data_font90x103[1],
+                       (unsigned int)std::strlen(cimg::_data_font90x103[1]) + 1,1,1,1,true))>'x').
+            move_to(data90x103);
+          data_font = data90x103.data();
+        }
+
+        // Uncompress font data (decode RLE).
+        for (const char *ptrs = data_font; *ptrs; ++ptrs) {
+          const int c = (int)(*ptrs - M - 32), v = c>=0?255:0, n = c>=0?c:-c;
+          if (ptrd + n<=ptrde) { std::memset(ptrd,v,n); ptrd+=n; }
+          else { std::memset(ptrd,v,ptrde - ptrd); break; }
+        }
+      }
+
+      // Find optimal font cache location to return.
+      static CImgList<ucharT> fonts[16];
+      static bool is_variable_widths[16] = { 0 };
+      unsigned int ind = ~0U;
+      for (int i = 0; i<16; ++i)
+        if (!fonts[i] || (is_variable_widths[i]==is_variable_width && font_height==fonts[i][0]._height)) {
+          ind = (unsigned int)i; break; // Found empty slot or cached font.
+        }
+      if (ind==~0U) { // No empty slots nor existing font in cache.
+        std::memmove(fonts,fonts + 1,15*sizeof(CImgList<ucharT>));
+        std::memmove(is_variable_widths,is_variable_widths + 1,15*sizeof(bool));
+        std::memset(fonts + (ind=15),0,sizeof(CImgList<ucharT>));  // Free a slot in cache for new font.
+      }
+      CImgList<ucharT> &font = fonts[ind];
+
+      // Render requested font.
+      if (!font) {
+        const unsigned int padding_x = font_height<33U?1U:font_height<53U?2U:font_height<103U?3U:4U;
+        is_variable_widths[ind] = is_variable_width;
+        font = base_font.get_split('x',256);
+        if (font_height!=font[0]._height)
+          cimglist_for(font,l)
+            font[l].resize(cimg::max(1U,font[l]._width*font_height/font[l]._height),font_height,-100,-100,
+                           font[0]._height>font_height?2:5);
+        if (is_variable_width) font.crop_font();
+        cimglist_for(font,l) font[l].resize(font[l]._width + padding_x,-100,1,1,0,0,0.5);
+        font.insert(256,0);
+        cimglist_for_in(font,0,255,l) font[l].assign(font[l + 256]._width,font[l + 256]._height,1,3,1);
+      }
+      cimg::mutex(11,0);
+      return font;
+    }
+
+    //! Compute a 1d Fast Fourier Transform, along specified axis.
+    /**
+       \param axis Axis along which the Fourier transform is computed.
+       \param invert Tells if the direct (\c false) or inverse transform (\c true) is computed.
+    **/
+    CImgList<T>& FFT(const char axis, const bool invert=false) {
+      if (is_empty()) return *this;
+      if (_width==1) insert(1);
+      if (_width>2)
+        cimg::warn(_cimglist_instance
+                   "FFT(): Instance has more than 2 images",
+                   cimglist_instance);
+
+      CImg<T>::FFT(_data[0],_data[1],axis,invert);
+      return *this;
+    }
+
+    //! Compute a 1-D Fast Fourier Transform, along specified axis \newinstance.
+    CImgList<Tfloat> get_FFT(const char axis, const bool invert=false) const {
+      return CImgList<Tfloat>(*this,false).FFT(axis,invert);
+    }
+
+    //! Compute a n-d Fast Fourier Transform.
+    /**
+      \param invert Tells if the direct (\c false) or inverse transform (\c true) is computed.
+    **/
+    CImgList<T>& FFT(const bool invert=false) {
+      if (is_empty()) return *this;
+      if (_width==1) insert(1);
+      if (_width>2)
+        cimg::warn(_cimglist_instance
+                   "FFT(): Instance has more than 2 images",
+                   cimglist_instance);
+
+      CImg<T>::FFT(_data[0],_data[1],invert);
+      return *this;
+    }
+
+    //! Compute a n-d Fast Fourier Transform \newinstance.
+    CImgList<Tfloat> get_FFT(const bool invert=false) const {
+      return CImgList<Tfloat>(*this,false).FFT(invert);
+    }
+
+    //! Reverse primitives orientations of a 3d object.
+    /**
+    **/
+    CImgList<T>& reverse_object3d() {
+      cimglist_for(*this,l) {
+        CImg<T>& p = _data[l];
+        switch (p.size()) {
+        case 2 : case 3: cimg::swap(p[0],p[1]); break;
+        case 6 : cimg::swap(p[0],p[1],p[2],p[4],p[3],p[5]); break;
+        case 9 : cimg::swap(p[0],p[1],p[3],p[5],p[4],p[6]); break;
+        case 4 : cimg::swap(p[0],p[1],p[2],p[3]); break;
+        case 12 : cimg::swap(p[0],p[1],p[2],p[3],p[4],p[6],p[5],p[7],p[8],p[10],p[9],p[11]); break;
+        }
+      }
+      return *this;
+    }
+
+    //! Reverse primitives orientations of a 3d object \newinstance.
+    CImgList<T> get_reverse_object3d() const {
+      return (+*this).reverse_object3d();
+    }
+
+    //@}
+  }; // struct CImgList<T> { ...
+
+  /*
+    #---------------------------------------------
+    #
+    # Completion of previously declared functions
+    #
+    #----------------------------------------------
+  */
+
+namespace cimg {
+
+  //! Get/set path to store temporary files.
+  /**
+     \param user_path Specified path, or \c 0 to get the path currently used.
+     \param reinit_path Force path to be recalculated (may take some time).
+     \return Path where temporary files can be saved.
+  **/
+  inline const char* temporary_path(const char *const user_path, const bool reinit_path) {
+#define _cimg_test_temporary_path(p)                                    \
+    if (!path_found) {                                                  \
+      cimg_snprintf(s_path,s_path.width(),"%s",p);                      \
+      cimg_snprintf(tmp,tmp._width,"%s%c%s",s_path.data(),cimg_file_separator,filename_tmp._data); \
+      if ((file=std::fopen(tmp,"wb"))!=0) { cimg::fclose(file); std::remove(tmp); path_found = true; } \
+    }
+    static CImg<char> s_path;
+    cimg::mutex(7);
+    if (reinit_path) s_path.assign();
+    if (user_path) {
+      if (!s_path) s_path.assign(1024);
+      std::strncpy(s_path,user_path,1023);
+    } else if (!s_path) {
+      s_path.assign(1024);
+      bool path_found = false;
+      CImg<char> tmp(1024), filename_tmp(256);
+      std::FILE *file = 0;
+      cimg_snprintf(filename_tmp,filename_tmp._width,"%s.tmp",cimg::filenamerand());
+      char *tmpPath = std::getenv("TMP");
+      if (!tmpPath) { tmpPath = std::getenv("TEMP"); winformat_string(tmpPath); }
+      if (tmpPath) _cimg_test_temporary_path(tmpPath);
+#if cimg_OS==2
+      _cimg_test_temporary_path("C:\\WINNT\\Temp");
+      _cimg_test_temporary_path("C:\\WINDOWS\\Temp");
+      _cimg_test_temporary_path("C:\\Temp");
+      _cimg_test_temporary_path("C:");
+      _cimg_test_temporary_path("D:\\WINNT\\Temp");
+      _cimg_test_temporary_path("D:\\WINDOWS\\Temp");
+      _cimg_test_temporary_path("D:\\Temp");
+      _cimg_test_temporary_path("D:");
+#else
+      _cimg_test_temporary_path("/tmp");
+      _cimg_test_temporary_path("/var/tmp");
+#endif
+      if (!path_found) {
+        *s_path = 0;
+        std::strncpy(tmp,filename_tmp,tmp._width - 1);
+        if ((file=std::fopen(tmp,"wb"))!=0) { cimg::fclose(file); std::remove(tmp); path_found = true; }
+      }
+      if (!path_found) {
+        cimg::mutex(7,0);
+        throw CImgIOException("cimg::temporary_path(): Failed to locate path for writing temporary files.\n");
+      }
+    }
+    cimg::mutex(7,0);
+    return s_path;
+  }
+
+  //! Get/set path to the <i>Program Files/</i> directory (Windows only).
+  /**
+     \param user_path Specified path, or \c 0 to get the path currently used.
+     \param reinit_path Force path to be recalculated (may take some time).
+     \return Path containing the program files.
+  **/
+#if cimg_OS==2
+  inline const char* programfiles_path(const char *const user_path, const bool reinit_path) {
+    static CImg<char> s_path;
+    cimg::mutex(7);
+    if (reinit_path) s_path.assign();
+    if (user_path) {
+      if (!s_path) s_path.assign(1024);
+      std::strncpy(s_path,user_path,1023);
+    } else if (!s_path) {
+      s_path.assign(MAX_PATH);
+      *s_path = 0;
+      // Note: in the following line, 0x26 = CSIDL_PROGRAM_FILES (not defined on every compiler).
+#if !defined(__INTEL_COMPILER)
+      if (!SHGetSpecialFolderPathA(0,s_path,0x0026,false)) {
+        const char *const pfPath = std::getenv("PROGRAMFILES");
+        if (pfPath) std::strncpy(s_path,pfPath,MAX_PATH - 1);
+        else std::strcpy(s_path,"C:\\PROGRA~1");
+      }
+#else
+      std::strcpy(s_path,"C:\\PROGRA~1");
+#endif
+    }
+    cimg::mutex(7,0);
+    return s_path;
+  }
+#endif
+
+  //! Get/set path to the ImageMagick's \c convert binary.
+  /**
+     \param user_path Specified path, or \c 0 to get the path currently used.
+     \param reinit_path Force path to be recalculated (may take some time).
+     \return Path containing the \c convert binary.
+  **/
+  inline const char* imagemagick_path(const char *const user_path, const bool reinit_path) {
+    static CImg<char> s_path;
+    cimg::mutex(7);
+    if (reinit_path) s_path.assign();
+    if (user_path) {
+      if (!s_path) s_path.assign(1024);
+      std::strncpy(s_path,user_path,1023);
+    } else if (!s_path) {
+      s_path.assign(1024);
+      bool path_found = false;
+      std::FILE *file = 0;
+#if cimg_OS==2
+      const char *const pf_path = programfiles_path();
+      if (!path_found) {
+        std::strcpy(s_path,".\\convert.exe");
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=10 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"%s\\IMAGEM~1.%.2d-\\convert.exe",pf_path,k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 9; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"%s\\IMAGEM~1.%d-Q\\convert.exe",pf_path,k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"%s\\IMAGEM~1.%d\\convert.exe",pf_path,k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=10 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"%s\\IMAGEM~1.%.2d-\\VISUA~1\\BIN\\convert.exe",pf_path,k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 9; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"%s\\IMAGEM~1.%d-Q\\VISUA~1\\BIN\\convert.exe",pf_path,k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"%s\\IMAGEM~1.%d\\VISUA~1\\BIN\\convert.exe",pf_path,k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=10 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"C:\\IMAGEM~1.%.2d-\\convert.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 9; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"C:\\IMAGEM~1.%d-Q\\convert.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"C:\\IMAGEM~1.%d\\convert.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=10 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"C:\\IMAGEM~1.%.2d-\\VISUA~1\\BIN\\convert.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 9; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"C:\\IMAGEM~1.%d-Q\\VISUA~1\\BIN\\convert.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"C:\\IMAGEM~1.%d\\VISUA~1\\BIN\\convert.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=10 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"D:\\IMAGEM~1.%.2d-\\convert.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 9; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"D:\\IMAGEM~1.%d-Q\\convert.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"D:\\IMAGEM~1.%d\\convert.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=10 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"D:\\IMAGEM~1.%.2d-\\VISUA~1\\BIN\\convert.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 9; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"D:\\IMAGEM~1.%d-Q\\VISUA~1\\BIN\\convert.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"D:\\IMAGEM~1.%d\\VISUA~1\\BIN\\convert.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      if (!path_found) std::strcpy(s_path,"convert.exe");
+#else
+      if (!path_found) {
+        std::strcpy(s_path,"./convert");
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      if (!path_found) std::strcpy(s_path,"convert");
+#endif
+      winformat_string(s_path);
+    }
+    cimg::mutex(7,0);
+    return s_path;
+  }
+
+  //! Get/set path to the GraphicsMagick's \c gm binary.
+  /**
+     \param user_path Specified path, or \c 0 to get the path currently used.
+     \param reinit_path Force path to be recalculated (may take some time).
+     \return Path containing the \c gm binary.
+  **/
+  inline const char* graphicsmagick_path(const char *const user_path, const bool reinit_path) {
+    static CImg<char> s_path;
+    cimg::mutex(7);
+    if (reinit_path) s_path.assign();
+    if (user_path) {
+      if (!s_path) s_path.assign(1024);
+      std::strncpy(s_path,user_path,1023);
+    } else if (!s_path) {
+      s_path.assign(1024);
+      bool path_found = false;
+      std::FILE *file = 0;
+#if cimg_OS==2
+      const char *const pf_path = programfiles_path();
+      if (!path_found) {
+        std::strcpy(s_path,".\\gm.exe");
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=10 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"%s\\GRAPHI~1.%.2d-\\gm.exe",pf_path,k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 9; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"%s\\GRAPHI~1.%d-Q\\gm.exe",pf_path,k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"%s\\GRAPHI~1.%d\\gm.exe",pf_path,k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=10 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"%s\\GRAPHI~1.%.2d-\\VISUA~1\\BIN\\gm.exe",pf_path,k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 9; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"%s\\GRAPHI~1.%d-Q\\VISUA~1\\BIN\\gm.exe",pf_path,k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"%s\\GRAPHI~1.%d\\VISUA~1\\BIN\\gm.exe",pf_path,k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=10 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"C:\\GRAPHI~1.%.2d-\\gm.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 9; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"C:\\GRAPHI~1.%d-Q\\gm.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"C:\\GRAPHI~1.%d\\gm.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=10 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"C:\\GRAPHI~1.%.2d-\\VISUA~1\\BIN\\gm.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 9; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"C:\\GRAPHI~1.%d-Q\\VISUA~1\\BIN\\gm.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"C:\\GRAPHI~1.%d\\VISUA~1\\BIN\\gm.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=10 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"D:\\GRAPHI~1.%.2d-\\gm.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 9; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"D:\\GRAPHI~1.%d-Q\\gm.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"D:\\GRAPHI~1.%d\\gm.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=10 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"D:\\GRAPHI~1.%.2d-\\VISUA~1\\BIN\\gm.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 9; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"D:\\GRAPHI~1.%d-Q\\VISUA~1\\BIN\\gm.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      for (int k = 32; k>=0 && !path_found; --k) {
+        cimg_snprintf(s_path,s_path._width,"D:\\GRAPHI~1.%d\\VISUA~1\\BIN\\gm.exe",k);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      if (!path_found) std::strcpy(s_path,"gm.exe");
+#else
+      if (!path_found) {
+        std::strcpy(s_path,"./gm");
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      if (!path_found) std::strcpy(s_path,"gm");
+#endif
+      winformat_string(s_path);
+    }
+    cimg::mutex(7,0);
+    return s_path;
+  }
+
+  //! Get/set path to the XMedcon's \c medcon binary.
+  /**
+     \param user_path Specified path, or \c 0 to get the path currently used.
+     \param reinit_path Force path to be recalculated (may take some time).
+     \return Path containing the \c medcon binary.
+  **/
+  inline const char* medcon_path(const char *const user_path, const bool reinit_path) {
+    static CImg<char> s_path;
+    cimg::mutex(7);
+    if (reinit_path) s_path.assign();
+    if (user_path) {
+      if (!s_path) s_path.assign(1024);
+      std::strncpy(s_path,user_path,1023);
+    } else if (!s_path) {
+      s_path.assign(1024);
+      bool path_found = false;
+      std::FILE *file = 0;
+#if cimg_OS==2
+      const char *const pf_path = programfiles_path();
+      if (!path_found) {
+        std::strcpy(s_path,".\\medcon.exe");
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      if (!path_found) {
+        cimg_snprintf(s_path,s_path._width,"%s\\XMedCon\\bin\\medcon.bat",pf_path);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      if (!path_found) {
+        cimg_snprintf(s_path,s_path._width,"%s\\XMedCon\\bin\\medcon.exe",pf_path);
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      if (!path_found) {
+        std::strcpy(s_path,"C:\\XMedCon\\bin\\medcon.exe");
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      if (!path_found) std::strcpy(s_path,"medcon.exe");
+#else
+      if (!path_found) {
+        std::strcpy(s_path,"./medcon");
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      if (!path_found) std::strcpy(s_path,"medcon");
+#endif
+      winformat_string(s_path);
+    }
+    cimg::mutex(7,0);
+    return s_path;
+  }
+
+  //! Get/set path to the FFMPEG's \c ffmpeg binary.
+  /**
+     \param user_path Specified path, or \c 0 to get the path currently used.
+     \param reinit_path Force path to be recalculated (may take some time).
+     \return Path containing the \c ffmpeg binary.
+  **/
+  inline const char *ffmpeg_path(const char *const user_path, const bool reinit_path) {
+    static CImg<char> s_path;
+    cimg::mutex(7);
+    if (reinit_path) s_path.assign();
+    if (user_path) {
+      if (!s_path) s_path.assign(1024);
+      std::strncpy(s_path,user_path,1023);
+    } else if (!s_path) {
+      s_path.assign(1024);
+      bool path_found = false;
+      std::FILE *file = 0;
+#if cimg_OS==2
+      if (!path_found) {
+        std::strcpy(s_path,".\\ffmpeg.exe");
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      if (!path_found) std::strcpy(s_path,"ffmpeg.exe");
+#else
+      if (!path_found) {
+        std::strcpy(s_path,"./ffmpeg");
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      if (!path_found) std::strcpy(s_path,"ffmpeg");
+#endif
+      winformat_string(s_path);
+    }
+    cimg::mutex(7,0);
+    return s_path;
+  }
+
+  //! Get/set path to the \c gzip binary.
+  /**
+     \param user_path Specified path, or \c 0 to get the path currently used.
+     \param reinit_path Force path to be recalculated (may take some time).
+     \return Path containing the \c gzip binary.
+  **/
+  inline const char *gzip_path(const char *const user_path, const bool reinit_path) {
+    static CImg<char> s_path;
+    cimg::mutex(7);
+    if (reinit_path) s_path.assign();
+    if (user_path) {
+      if (!s_path) s_path.assign(1024);
+      std::strncpy(s_path,user_path,1023);
+    } else if (!s_path) {
+      s_path.assign(1024);
+      bool path_found = false;
+      std::FILE *file = 0;
+#if cimg_OS==2
+      if (!path_found) {
+        std::strcpy(s_path,".\\gzip.exe");
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      if (!path_found) std::strcpy(s_path,"gzip.exe");
+#else
+      if (!path_found) {
+        std::strcpy(s_path,"./gzip");
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      if (!path_found) std::strcpy(s_path,"gzip");
+#endif
+      winformat_string(s_path);
+    }
+    cimg::mutex(7,0);
+    return s_path;
+  }
+
+  //! Get/set path to the \c gunzip binary.
+  /**
+     \param user_path Specified path, or \c 0 to get the path currently used.
+     \param reinit_path Force path to be recalculated (may take some time).
+     \return Path containing the \c gunzip binary.
+  **/
+  inline const char *gunzip_path(const char *const user_path, const bool reinit_path) {
+    static CImg<char> s_path;
+    cimg::mutex(7);
+    if (reinit_path) s_path.assign();
+    if (user_path) {
+      if (!s_path) s_path.assign(1024);
+      std::strncpy(s_path,user_path,1023);
+    } else if (!s_path) {
+      s_path.assign(1024);
+      bool path_found = false;
+      std::FILE *file = 0;
+#if cimg_OS==2
+      if (!path_found) {
+        std::strcpy(s_path,".\\gunzip.exe");
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      if (!path_found) std::strcpy(s_path,"gunzip.exe");
+#else
+      if (!path_found) {
+        std::strcpy(s_path,"./gunzip");
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      if (!path_found) std::strcpy(s_path,"gunzip");
+#endif
+      winformat_string(s_path);
+    }
+    cimg::mutex(7,0);
+    return s_path;
+  }
+
+  //! Get/set path to the \c dcraw binary.
+  /**
+     \param user_path Specified path, or \c 0 to get the path currently used.
+     \param reinit_path Force path to be recalculated (may take some time).
+     \return Path containing the \c dcraw binary.
+  **/
+  inline const char *dcraw_path(const char *const user_path, const bool reinit_path) {
+    static CImg<char> s_path;
+    cimg::mutex(7);
+    if (reinit_path) s_path.assign();
+    if (user_path) {
+      if (!s_path) s_path.assign(1024);
+      std::strncpy(s_path,user_path,1023);
+    } else if (!s_path) {
+      s_path.assign(1024);
+      bool path_found = false;
+      std::FILE *file = 0;
+#if cimg_OS==2
+      if (!path_found) {
+        std::strcpy(s_path,".\\dcraw.exe");
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      if (!path_found) std::strcpy(s_path,"dcraw.exe");
+#else
+      if (!path_found) {
+        std::strcpy(s_path,"./dcraw");
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      if (!path_found) std::strcpy(s_path,"dcraw");
+#endif
+      winformat_string(s_path);
+    }
+    cimg::mutex(7,0);
+    return s_path;
+  }
+
+  //! Get/set path to the \c wget binary.
+  /**
+     \param user_path Specified path, or \c 0 to get the path currently used.
+     \param reinit_path Force path to be recalculated (may take some time).
+     \return Path containing the \c wget binary.
+  **/
+  inline const char *wget_path(const char *const user_path, const bool reinit_path) {
+    static CImg<char> s_path;
+    cimg::mutex(7);
+    if (reinit_path) s_path.assign();
+    if (user_path) {
+      if (!s_path) s_path.assign(1024);
+      std::strncpy(s_path,user_path,1023);
+    } else if (!s_path) {
+      s_path.assign(1024);
+      bool path_found = false;
+      std::FILE *file = 0;
+#if cimg_OS==2
+      if (!path_found) {
+        std::strcpy(s_path,".\\wget.exe");
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      if (!path_found) std::strcpy(s_path,"wget.exe");
+#else
+      if (!path_found) {
+        std::strcpy(s_path,"./wget");
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      if (!path_found) std::strcpy(s_path,"wget");
+#endif
+      winformat_string(s_path);
+    }
+    cimg::mutex(7,0);
+    return s_path;
+  }
+
+  //! Get/set path to the \c curl binary.
+  /**
+     \param user_path Specified path, or \c 0 to get the path currently used.
+     \param reinit_path Force path to be recalculated (may take some time).
+     \return Path containing the \c curl binary.
+  **/
+  inline const char *curl_path(const char *const user_path, const bool reinit_path) {
+    static CImg<char> s_path;
+    cimg::mutex(7);
+    if (reinit_path) s_path.assign();
+    if (user_path) {
+      if (!s_path) s_path.assign(1024);
+      std::strncpy(s_path,user_path,1023);
+    } else if (!s_path) {
+      s_path.assign(1024);
+      bool path_found = false;
+      std::FILE *file = 0;
+#if cimg_OS==2
+      if (!path_found) {
+        std::strcpy(s_path,".\\curl.exe");
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      if (!path_found) std::strcpy(s_path,"curl.exe");
+#else
+      if (!path_found) {
+        std::strcpy(s_path,"./curl");
+        if ((file=std::fopen(s_path,"r"))!=0) { cimg::fclose(file); path_found = true; }
+      }
+      if (!path_found) std::strcpy(s_path,"curl");
+#endif
+      winformat_string(s_path);
+    }
+    cimg::mutex(7,0);
+    return s_path;
+  }
+
+  // [internal] Sorting function, used by cimg::files().
+  inline int _sort_files(const void* a, const void* b) {
+    const CImg<char> &sa = *(CImg<char>*)a, &sb = *(CImg<char>*)b;
+    return std::strcmp(sa._data,sb._data);
+  }
+
+  //! Return list of files/directories in specified directory.
+  /**
+     \param path Path to the directory. Set to 0 for current directory.
+     \param is_pattern Tell if specified path has a matching pattern in it.
+     \param mode Output type, can be primary { 0=files only | 1=folders only | 2=files + folders }.
+     \param include_path Tell if \c path must be included in resulting filenames.
+     \return A list of filenames.
+  **/
+  inline CImgList<char> files(const char *const path, const bool is_pattern=false,
+                              const unsigned int mode=2, const bool include_path=false) {
+    if (!path || !*path) return files("*",true,mode,include_path);
+    CImgList<char> res;
+
+    // If path is a valid folder name, ignore argument 'is_pattern'.
+    const bool _is_pattern = is_pattern && !cimg::is_directory(path);
+    bool is_root = false, is_current = false;
+    cimg::unused(is_root,is_current);
+
+    // Clean format of input path.
+    CImg<char> pattern, _path = CImg<char>::string(path);
+#if cimg_OS==2
+    for (char *ps = _path; *ps; ++ps) if (*ps=='\\') *ps='/';
+#endif
+    char *pd = _path;
+    for (char *ps = pd; *ps; ++ps) { if (*ps!='/' || *ps!=*(ps+1)) *(pd++) = *ps; }
+    *pd = 0;
+    unsigned int lp = std::strlen(_path);
+    if (!_is_pattern && lp && _path[lp - 1]=='/') {
+      _path[lp - 1] = 0; --lp;
+#if cimg_OS!=2
+      is_root = !*_path;
+#endif
+    }
+
+    // Separate folder path and matching pattern.
+    if (_is_pattern) {
+      const unsigned int bpos = (unsigned int)(cimg::basename(_path,'/') - _path.data());
+      CImg<char>::string(_path).move_to(pattern);
+      if (bpos) {
+        _path[bpos - 1] = 0; // End 'path' at last slash.
+#if cimg_OS!=2
+        is_root = !*_path;
+#endif
+      } else { // No path to folder specified, assuming current folder.
+        is_current = true; *_path = 0;
+      }
+      lp = std::strlen(_path);
+    }
+
+    // Windows version.
+#if cimg_OS==2
+    if (!_is_pattern) {
+      pattern.assign(lp + 3);
+      std::memcpy(pattern,_path,lp);
+      pattern[lp] = '/'; pattern[lp + 1] = '*'; pattern[lp + 2] = 0;
+    }
+    WIN32_FIND_DATAA file_data;
+    const HANDLE dir = FindFirstFileA(pattern.data(),&file_data);
+    if (dir==INVALID_HANDLE_VALUE) return CImgList<char>::empty();
+    do {
+      const char *const filename = file_data.cFileName;
+      if (*filename!='.' || (filename[1] && (filename[1]!='.' || filename[2]))) {
+        const unsigned int lf = std::strlen(filename);
+        const bool is_directory = (file_data.dwFileAttributes & FILE_ATTRIBUTE_DIRECTORY)!=0;
+        if ((!mode && !is_directory) || (mode==1 && is_directory) || mode>=2) {
+          if (include_path) {
+            CImg<char> full_filename((lp?lp+1:0) + lf + 1);
+            if (lp) { std::memcpy(full_filename,_path,lp); full_filename[lp] = '/'; }
+            std::memcpy(full_filename._data + (lp?lp + 1:0),filename,lf + 1);
+            full_filename.move_to(res);
+          } else CImg<char>(filename,lf + 1).move_to(res);
+        }
+      }
+    } while (FindNextFileA(dir,&file_data));
+    FindClose(dir);
+
+    // Unix version (posix).
+#else
+    DIR *const dir = opendir(is_root?"/":is_current?".":_path.data());
+    if (!dir) return CImgList<char>::empty();
+    struct dirent *ent;
+    while ((ent=readdir(dir))!=0) {
+      const char *const filename = ent->d_name;
+      if (*filename!='.' || (filename[1] && (filename[1]!='.' || filename[2]))) {
+        const unsigned int lf = std::strlen(filename);
+        CImg<char> full_filename(lp + lf + 2);
+
+        if (!is_current) {
+          full_filename.assign(lp + lf + 2);
+          if (lp) std::memcpy(full_filename,_path,lp);
+          full_filename[lp] = '/';
+          std::memcpy(full_filename._data + lp + 1,filename,lf + 1);
+        } else full_filename.assign(filename,lf + 1);
+
+        struct stat st;
+        if (stat(full_filename,&st)==-1) continue;
+        const bool is_directory = (st.st_mode & S_IFDIR)!=0;
+        if ((!mode && !is_directory) || (mode==1 && is_directory) || mode==2) {
+          if (include_path) {
+            if (!_is_pattern || (_is_pattern && !fnmatch(pattern,full_filename,0)))
+              full_filename.move_to(res);
+          } else {
+            if (!_is_pattern || (_is_pattern && !fnmatch(pattern,full_filename,0)))
+              CImg<char>(filename,lf + 1).move_to(res);
+          }
+        }
+      }
+    }
+    closedir(dir);
+#endif
+
+    // Sort resulting list by lexicographic order.
+  if (res._width>=2) std::qsort(res._data,res._width,sizeof(CImg<char>),_sort_files);
+
+    return res;
+  }
+
+  //! Try to guess format from an image file.
+  /**
+     \param file Input file (can be \c 0 if \c filename is set).
+     \param filename Filename, as a C-string (can be \c 0 if \c file is set).
+     \return C-string containing the guessed file format, or \c 0 if nothing has been guessed.
+  **/
+  inline const char *ftype(std::FILE *const file, const char *const filename) {
+    if (!file && !filename)
+      throw CImgArgumentException("cimg::ftype(): Specified filename is (null).");
+    static const char
+      *const _pnm = "pnm",
+      *const _pfm = "pfm",
+      *const _bmp = "bmp",
+      *const _gif = "gif",
+      *const _jpg = "jpg",
+      *const _off = "off",
+      *const _pan = "pan",
+      *const _png = "png",
+      *const _tif = "tif",
+      *const _inr = "inr",
+      *const _dcm = "dcm";
+    const char *f_type = 0;
+    CImg<char> header;
+    const unsigned int omode = cimg::exception_mode();
+    cimg::exception_mode(0);
+    try {
+      header._load_raw(file,filename,512,1,1,1,false,false,0);
+      const unsigned char *const uheader = (unsigned char*)header._data;
+      if (!std::strncmp(header,"OFF\n",4)) f_type = _off; // OFF.
+      else if (!std::strncmp(header,"#INRIMAGE",9)) f_type = _inr; // INRIMAGE.
+      else if (!std::strncmp(header,"PANDORE",7)) f_type = _pan; // PANDORE.
+      else if (!std::strncmp(header.data() + 128,"DICM",4)) f_type = _dcm; // DICOM.
+      else if (uheader[0]==0xFF && uheader[1]==0xD8 && uheader[2]==0xFF) f_type = _jpg;  // JPEG.
+      else if (header[0]=='B' && header[1]=='M') f_type = _bmp;  // BMP.
+      else if (header[0]=='G' && header[1]=='I' && header[2]=='F' && header[3]=='8' && header[5]=='a' && // GIF.
+               (header[4]=='7' || header[4]=='9')) f_type = _gif;
+      else if (uheader[0]==0x89 && uheader[1]==0x50 && uheader[2]==0x4E && uheader[3]==0x47 &&  // PNG.
+               uheader[4]==0x0D && uheader[5]==0x0A && uheader[6]==0x1A && uheader[7]==0x0A) f_type = _png;
+      else if ((uheader[0]==0x49 && uheader[1]==0x49) || (uheader[0]==0x4D && uheader[1]==0x4D)) f_type = _tif; // TIFF.
+      else { // PNM or PFM.
+        CImgList<char> _header = header.get_split(CImg<char>::vector('\n'),0,false);
+        cimglist_for(_header,l) {
+          if (_header(l,0)=='#') continue;
+          if (_header[l]._height==2 && _header(l,0)=='P') {
+            const char c = _header(l,1);
+            if (c=='f' || c=='F') { f_type = _pfm; break; }
+            if (c>='1' && c<='9') { f_type = _pnm; break; }
+          }
+          f_type = 0; break;
+        }
+      }
+    } catch (CImgIOException&) { }
+    cimg::exception_mode(omode);
+    return f_type;
+  }
+
+  //! Load file from network as a local temporary file.
+  /**
+     \param filename Filename, as a C-string.
+     \param[out] filename_local C-string containing the path to a local copy of \c filename.
+     \param timeout Maximum time (in seconds) authorized for downloading the file from the URL.
+     \param try_fallback When using libcurl, tells using system calls as fallbacks in case of libcurl failure.
+     \return Value of \c filename_local.
+     \note Use the \c libcurl library, or the external binaries \c wget or \c curl to perform the download.
+  **/
+  inline char *load_network(const char *const url, char *const filename_local,
+                            const unsigned int timeout, const bool try_fallback) {
+    if (!url)
+      throw CImgArgumentException("cimg::load_network(): Specified URL is (null).");
+    if (!filename_local)
+      throw CImgArgumentException("cimg::load_network(): Specified destination string is (null).");
+
+    const char *const __ext = cimg::split_filename(url), *const _ext = (*__ext && __ext>url)?__ext - 1:__ext;
+    CImg<char> ext = CImg<char>::string(_ext);
+    std::FILE *file = 0;
+    *filename_local = 0;
+    if (ext._width>16 || !cimg::strncasecmp(ext,"cgi",3)) *ext = 0;
+    else cimg::strwindows_reserved(ext);
+    do {
+      cimg_snprintf(filename_local,256,"%s%c%s%s",
+                    cimg::temporary_path(),cimg_file_separator,cimg::filenamerand(),ext._data);
+      if ((file=std::fopen(filename_local,"rb"))!=0) cimg::fclose(file);
+    } while (file);
+
+#ifdef cimg_use_curl
+    const unsigned int omode = cimg::exception_mode();
+    cimg::exception_mode(0);
+    try {
+      CURL *curl = 0;
+      CURLcode res;
+      curl = curl_easy_init();
+      if (curl) {
+        file = cimg::fopen(filename_local,"wb");
+        curl_easy_setopt(curl,CURLOPT_URL,url);
+        curl_easy_setopt(curl,CURLOPT_WRITEFUNCTION,0);
+        curl_easy_setopt(curl,CURLOPT_WRITEDATA,file);
+        curl_easy_setopt(curl,CURLOPT_SSL_VERIFYPEER,0L);
+        curl_easy_setopt(curl,CURLOPT_SSL_VERIFYHOST,0L);
+        curl_easy_setopt(curl,CURLOPT_FOLLOWLOCATION,1L);
+        if (timeout) curl_easy_setopt(curl,CURLOPT_TIMEOUT,(long)timeout);
+        if (std::strchr(url,'?')) curl_easy_setopt(curl,CURLOPT_HTTPGET,1L);
+        res = curl_easy_perform(curl);
+        curl_easy_cleanup(curl);
+        std::fseek(file,0,SEEK_END); // Check if file size is 0.
+        const long siz = std::ftell(file);
+        cimg::fclose(file);
+        if (siz>0 && res==CURLE_OK) {
+          cimg::exception_mode(omode);
+          return filename_local;
+        } else std::remove(filename_local);
+      }
+    } catch (...) { }
+    cimg::exception_mode(omode);
+    if (!try_fallback) throw CImgIOException("cimg::load_network(): Failed to load file '%s' with libcurl.",url);
+#endif
+
+    CImg<char> command((unsigned int)std::strlen(url) + 64);
+    cimg::unused(try_fallback);
+
+    // Try with 'curl' first.
+    if (timeout)
+      cimg_snprintf(command,command._width,"%s -m %u -f --silent --compressed -o \"%s\" \"%s\"",
+                    cimg::curl_path(),timeout,filename_local,url);
+    else
+      cimg_snprintf(command,command._width,"%s -f --silent --compressed -o \"%s\" \"%s\"",
+                    cimg::curl_path(),filename_local,url);
+    cimg::system(command);
+
+    if (!(file = std::fopen(filename_local,"rb"))) {
+
+      // Try with 'wget' otherwise.
+      if (timeout)
+        cimg_snprintf(command,command._width,"%s -T %u -q -r -l 0 --no-cache -O \"%s\" \"%s\"",
+                      cimg::wget_path(),timeout,filename_local,url);
+      else
+        cimg_snprintf(command,command._width,"%s -q -r -l 0 --no-cache -O \"%s\" \"%s\"",
+                      cimg::wget_path(),filename_local,url);
+      cimg::system(command);
+
+      if (!(file = std::fopen(filename_local,"rb")))
+        throw CImgIOException("cimg::load_network(): Failed to load file '%s' with external commands "
+                              "'wget' or 'curl'.",url);
+      cimg::fclose(file);
+
+      // Try gunzip it.
+      cimg_snprintf(command,command._width,"%s.gz",filename_local);
+      std::rename(filename_local,command);
+      cimg_snprintf(command,command._width,"%s --quiet \"%s.gz\"",
+                    gunzip_path(),filename_local);
+      cimg::system(command);
+      file = std::fopen(filename_local,"rb");
+      if (!file) {
+        cimg_snprintf(command,command._width,"%s.gz",filename_local);
+        std::rename(command,filename_local);
+        file = std::fopen(filename_local,"rb");
+      }
+    }
+    std::fseek(file,0,SEEK_END); // Check if file size is 0.
+    if (std::ftell(file)<=0)
+      throw CImgIOException("cimg::load_network(): Failed to load URL '%s' with external commands "
+                            "'wget' or 'curl'.",url);
+    cimg::fclose(file);
+    return filename_local;
+  }
+
+  // Implement a tic/toc mechanism to display elapsed time of algorithms.
+  inline unsigned long tictoc(const bool is_tic) {
+    cimg::mutex(2);
+    static CImg<unsigned long> times(64);
+    static unsigned int pos = 0;
+    const unsigned long t1 = cimg::time();
+    if (is_tic) { // Tic.
+      times[pos++] = t1;
+      if (pos>=times._width)
+        throw CImgArgumentException("cimg::tic(): Too much calls to 'cimg::tic()' without calls to 'cimg::toc()'.");
+      cimg::mutex(2,0);
+      return t1;
+    }
+    // Toc.
+    if (!pos)
+      throw CImgArgumentException("cimg::toc(): No previous call to 'cimg::tic()' has been made.");
+    const unsigned long
+      t0 = times[--pos],
+      dt = t1>=t0?(t1 - t0):cimg::type<unsigned long>::max();
+    const unsigned int
+      edays = (unsigned int)(dt/86400000.0),
+      ehours = (unsigned int)((dt - edays*86400000.0)/3600000.0),
+      emin = (unsigned int)((dt - edays*86400000.0 - ehours*3600000.0)/60000.0),
+      esec = (unsigned int)((dt - edays*86400000.0 - ehours*3600000.0 - emin*60000.0)/1000.0),
+      ems = (unsigned int)(dt - edays*86400000.0 - ehours*3600000.0 - emin*60000.0 - esec*1000.0);
+    if (!edays && !ehours && !emin && !esec)
+      std::fprintf(cimg::output(),"%s[CImg]%*sElapsed time: %u ms%s\n",
+                   cimg::t_red,1 + 2*pos,"",ems,cimg::t_normal);
+    else {
+      if (!edays && !ehours && !emin)
+        std::fprintf(cimg::output(),"%s[CImg]%*sElapsed time: %u sec %u ms%s\n",
+                     cimg::t_red,1 + 2*pos,"",esec,ems,cimg::t_normal);
+      else {
+        if (!edays && !ehours)
+          std::fprintf(cimg::output(),"%s[CImg]%*sElapsed time: %u min %u sec %u ms%s\n",
+                       cimg::t_red,1 + 2*pos,"",emin,esec,ems,cimg::t_normal);
+        else{
+          if (!edays)
+            std::fprintf(cimg::output(),"%s[CImg]%*sElapsed time: %u hours %u min %u sec %u ms%s\n",
+                         cimg::t_red,1 + 2*pos,"",ehours,emin,esec,ems,cimg::t_normal);
+          else{
+            std::fprintf(cimg::output(),"%s[CImg]%*sElapsed time: %u days %u hours %u min %u sec %u ms%s\n",
+                         cimg::t_red,1 + 2*pos,"",edays,ehours,emin,esec,ems,cimg::t_normal);
+          }
+        }
+      }
+    }
+    cimg::mutex(2,0);
+    return dt;
+  }
+
+  // Return a temporary string describing the size of a memory buffer.
+  inline const char *strbuffersize(const unsigned long size) {
+    static CImg<char> res(256);
+    cimg::mutex(5);
+    if (size<1024LU) cimg_snprintf(res,res._width,"%lu byte%s",size,size>1?"s":"");
+    else if (size<1024*1024LU) { const float nsize = size/1024.0f; cimg_snprintf(res,res._width,"%.1f Kio",nsize); }
+    else if (size<1024*1024*1024LU) {
+      const float nsize = size/(1024*1024.0f); cimg_snprintf(res,res._width,"%.1f Mio",nsize);
+    } else { const float nsize = size/(1024*1024*1024.0f); cimg_snprintf(res,res._width,"%.1f Gio",nsize); }
+    cimg::mutex(5,0);
+    return res;
+  }
+
+  //! Display a simple dialog box, and wait for the user's response.
+  /**
+     \param title Title of the dialog window.
+     \param msg Main message displayed inside the dialog window.
+     \param button1_label Label of the 1st button.
+     \param button2_label Label of the 2nd button (\c 0 to hide button).
+     \param button3_label Label of the 3rd button (\c 0 to hide button).
+     \param button4_label Label of the 4th button (\c 0 to hide button).
+     \param button5_label Label of the 5th button (\c 0 to hide button).
+     \param button6_label Label of the 6th button (\c 0 to hide button).
+     \param logo Image logo displayed at the left of the main message.
+     \param is_centered Tells if the dialog window must be centered on the screen.
+     \return Indice of clicked button (from \c 0 to \c 5), or \c -1 if the dialog window has been closed by the user.
+     \note
+     - Up to 6 buttons can be defined in the dialog window.
+     - The function returns when a user clicked one of the button or closed the dialog window.
+     - If a button text is set to 0, the corresponding button (and the followings) will not appear in the dialog box.
+     At least one button must be specified.
+  **/
+  template<typename t>
+  inline int dialog(const char *const title, const char *const msg,
+                    const char *const button1_label, const char *const button2_label,
+                    const char *const button3_label, const char *const button4_label,
+                    const char *const button5_label, const char *const button6_label,
+                    const CImg<t>& logo, const bool is_centered=false) {
+#if cimg_display==0
+    cimg::unused(title,msg,button1_label,button2_label,button3_label,button4_label,button5_label,button6_label,
+                 logo._data,is_centered);
+    throw CImgIOException("cimg::dialog(): No display available.");
+#else
+    const unsigned char
+      black[] = { 0,0,0 }, white[] = { 255,255,255 }, gray[] = { 200,200,200 }, gray2[] = { 150,150,150 };
+
+    // Create buttons and canvas graphics
+    CImgList<unsigned char> buttons, cbuttons, sbuttons;
+    if (button1_label) { CImg<unsigned char>().draw_text(0,0,button1_label,black,gray,1,13).move_to(buttons);
+      if (button2_label) { CImg<unsigned char>().draw_text(0,0,button2_label,black,gray,1,13).move_to(buttons);
+        if (button3_label) { CImg<unsigned char>().draw_text(0,0,button3_label,black,gray,1,13).move_to(buttons);
+          if (button4_label) { CImg<unsigned char>().draw_text(0,0,button4_label,black,gray,1,13).move_to(buttons);
+            if (button5_label) { CImg<unsigned char>().draw_text(0,0,button5_label,black,gray,1,13).move_to(buttons);
+              if (button6_label) { CImg<unsigned char>().draw_text(0,0,button6_label,black,gray,1,13).move_to(buttons);
+              }}}}}}
+    if (!buttons._width)
+      throw CImgArgumentException("cimg::dialog(): No buttons have been defined.");
+    cimglist_for(buttons,l) buttons[l].resize(-100,-100,1,3);
+
+    unsigned int bw = 0, bh = 0;
+    cimglist_for(buttons,l) { bw = cimg::max(bw,buttons[l]._width); bh = cimg::max(bh,buttons[l]._height); }
+    bw+=8; bh+=8;
+    if (bw<64) bw = 64;
+    if (bw>128) bw = 128;
+    if (bh<24) bh = 24;
+    if (bh>48) bh = 48;
+
+    CImg<unsigned char> button(bw,bh,1,3);
+    button.draw_rectangle(0,0,bw - 1,bh - 1,gray);
+    button.draw_line(0,0,bw - 1,0,white).draw_line(0,bh - 1,0,0,white);
+    button.draw_line(bw - 1,0,bw - 1,bh - 1,black).draw_line(bw - 1,bh - 1,0,bh - 1,black);
+    button.draw_line(1,bh - 2,bw - 2,bh - 2,gray2).draw_line(bw - 2,bh - 2,bw - 2,1,gray2);
+    CImg<unsigned char> sbutton(bw,bh,1,3);
+    sbutton.draw_rectangle(0,0,bw - 1,bh - 1,gray);
+    sbutton.draw_line(0,0,bw - 1,0,black).draw_line(bw - 1,0,bw - 1,bh - 1,black);
+    sbutton.draw_line(bw - 1,bh - 1,0,bh - 1,black).draw_line(0,bh - 1,0,0,black);
+    sbutton.draw_line(1,1,bw - 2,1,white).draw_line(1,bh - 2,1,1,white);
+    sbutton.draw_line(bw - 2,1,bw - 2,bh - 2,black).draw_line(bw - 2,bh - 2,1,bh - 2,black);
+    sbutton.draw_line(2,bh - 3,bw - 3,bh - 3,gray2).draw_line(bw - 3,bh - 3,bw - 3,2,gray2);
+    sbutton.draw_line(4,4,bw - 5,4,black,1,0xAAAAAAAA,true).draw_line(bw - 5,4,bw - 5,bh - 5,black,1,0xAAAAAAAA,false);
+    sbutton.draw_line(bw - 5,bh - 5,4,bh - 5,black,1,0xAAAAAAAA,false).draw_line(4,bh - 5,4,4,black,1,0xAAAAAAAA,false);
+    CImg<unsigned char> cbutton(bw,bh,1,3);
+    cbutton.draw_rectangle(0,0,bw - 1,bh - 1,black).draw_rectangle(1,1,bw - 2,bh - 2,gray2).
+      draw_rectangle(2,2,bw - 3,bh - 3,gray);
+    cbutton.draw_line(4,4,bw - 5,4,black,1,0xAAAAAAAA,true).draw_line(bw - 5,4,bw - 5,bh - 5,black,1,0xAAAAAAAA,false);
+    cbutton.draw_line(bw - 5,bh - 5,4,bh - 5,black,1,0xAAAAAAAA,false).draw_line(4,bh - 5,4,4,black,1,0xAAAAAAAA,false);
+
+    cimglist_for(buttons,ll) {
+      CImg<unsigned char>(cbutton).
+        draw_image(1 + (bw  -buttons[ll].width())/2,1 + (bh - buttons[ll].height())/2,buttons[ll]).
+        move_to(cbuttons);
+      CImg<unsigned char>(sbutton).
+        draw_image((bw - buttons[ll].width())/2,(bh - buttons[ll].height())/2,buttons[ll]).
+        move_to(sbuttons);
+      CImg<unsigned char>(button).
+        draw_image((bw - buttons[ll].width())/2,(bh - buttons[ll].height())/2,buttons[ll]).
+        move_to(buttons[ll]);
+    }
+
+    CImg<unsigned char> canvas;
+    if (msg)
+      ((CImg<unsigned char>().draw_text(0,0,"%s",gray,0,1,13,msg)*=-1)+=200).resize(-100,-100,1,3).move_to(canvas);
+
+    const unsigned int
+      bwall = (buttons._width - 1)*(12 + bw) + bw,
+      w = cimg::max(196U,36 + logo._width + canvas._width,24 + bwall),
+      h = cimg::max(96U,36 + canvas._height + bh,36 + logo._height + bh),
+      lx = 12 + (canvas._data?0:((w - 24 - logo._width)/2)),
+      ly = (h - 12 - bh - logo._height)/2,
+      tx = lx + logo._width + 12,
+      ty = (h - 12 - bh - canvas._height)/2,
+      bx = (w - bwall)/2,
+      by = h - 12 - bh;
+
+    if (canvas._data)
+      canvas = CImg<unsigned char>(w,h,1,3).
+        draw_rectangle(0,0,w - 1,h - 1,gray).
+        draw_line(0,0,w - 1,0,white).draw_line(0,h - 1,0,0,white).
+        draw_line(w - 1,0,w - 1,h - 1,black).draw_line(w - 1,h - 1,0,h - 1,black).
+        draw_image(tx,ty,canvas);
+    else
+      canvas = CImg<unsigned char>(w,h,1,3).
+        draw_rectangle(0,0,w - 1,h - 1,gray).
+        draw_line(0,0,w - 1,0,white).draw_line(0,h - 1,0,0,white).
+        draw_line(w - 1,0,w - 1,h - 1,black).draw_line(w - 1,h - 1,0,h - 1,black);
+    if (logo._data) canvas.draw_image(lx,ly,logo);
+
+    unsigned int xbuttons[6] = { 0 };
+    cimglist_for(buttons,lll) { xbuttons[lll] = bx + (bw + 12)*lll; canvas.draw_image(xbuttons[lll],by,buttons[lll]); }
+
+    // Open window and enter events loop
+    CImgDisplay disp(canvas,title?title:" ",0,false,is_centered?true:false);
+    if (is_centered) disp.move((CImgDisplay::screen_width() - disp.width())/2,
+                               (CImgDisplay::screen_height() - disp.height())/2);
+    bool stop_flag = false, refresh = false;
+    int oselected = -1, oclicked = -1, selected = -1, clicked = -1;
+    while (!disp.is_closed() && !stop_flag) {
+      if (refresh) {
+        if (clicked>=0)
+          CImg<unsigned char>(canvas).draw_image(xbuttons[clicked],by,cbuttons[clicked]).display(disp);
+        else {
+          if (selected>=0)
+            CImg<unsigned char>(canvas).draw_image(xbuttons[selected],by,sbuttons[selected]).display(disp);
+          else canvas.display(disp);
+        }
+        refresh = false;
+      }
+      disp.wait(15);
+      if (disp.is_resized()) disp.resize(disp,false);
+
+      if (disp.button()&1)  {
+        oclicked = clicked;
+        clicked = -1;
+        cimglist_for(buttons,l)
+          if (disp.mouse_y()>=(int)by && disp.mouse_y()<(int)(by + bh) &&
+              disp.mouse_x()>=(int)xbuttons[l] && disp.mouse_x()<(int)(xbuttons[l] + bw)) {
+            clicked = selected = l;
+            refresh = true;
+          }
+        if (clicked!=oclicked) refresh = true;
+      } else if (clicked>=0) stop_flag = true;
+
+      if (disp.key()) {
+        oselected = selected;
+        switch (disp.key()) {
+        case cimg::keyESC : selected = -1; stop_flag = true; break;
+        case cimg::keyENTER : if (selected<0) selected = 0; stop_flag = true; break;
+        case cimg::keyTAB :
+        case cimg::keyARROWRIGHT :
+        case cimg::keyARROWDOWN : selected = (selected + 1)%buttons.width(); break;
+        case cimg::keyARROWLEFT :
+        case cimg::keyARROWUP : selected = (selected + buttons.width() - 1)%buttons.width(); break;
+        }
+        disp.set_key();
+        if (selected!=oselected) refresh = true;
+      }
+    }
+    if (!disp) selected = -1;
+    return selected;
+#endif
+  }
+
+  //! Display a simple dialog box, and wait for the user's response \specialization.
+  inline int dialog(const char *const title, const char *const msg,
+                    const char *const button1_label, const char *const button2_label, const char *const button3_label,
+                    const char *const button4_label, const char *const button5_label, const char *const button6_label,
+                    const bool is_centered) {
+    return dialog(title,msg,button1_label,button2_label,button3_label,button4_label,button5_label,button6_label,
+                  CImg<unsigned char>::_logo40x38(),is_centered);
+  }
+
+  //! Evaluate math expression.
+  /**
+     \param expression C-string describing the formula to evaluate.
+     \param x Value of the pre-defined variable \c x.
+     \param y Value of the pre-defined variable \c y.
+     \param z Value of the pre-defined variable \c z.
+     \param c Value of the pre-defined variable \c c.
+     \return Result of the formula evaluation.
+     \note Set \c expression to \c 0 to keep evaluating the last specified \c expression.
+     \par Example
+     \code
+     const double
+     res1 = cimg::eval("cos(x)^2 + sin(y)^2",2,2),  // will return '1'.
+     res2 = cimg::eval(0,1,1);                    // will return '1' too.
+     \endcode
+  **/
+  inline double eval(const char *const expression, const double x, const double y, const double z, const double c) {
+    static const CImg<float> empty;
+    return empty.eval(expression,x,y,z,c);
+  }
+
+  template<typename t>
+  inline CImg<typename cimg::superset<double,t>::type> eval(const char *const expression, const CImg<t>& xyzc) {
+    static const CImg<float> empty;
+    return empty.eval(expression,xyzc);
+  }
+
+  // End of cimg:: namespace
+}
+
+  // End of cimg_library:: namespace
+}
+
+//! Short alias name.
+namespace cil = cimg_library_suffixed;
+
+#ifdef _cimg_redefine_False
+#define False 0
+#endif
+#ifdef _cimg_redefine_True
+#define True 1
+#endif
+#ifdef _cimg_redefine_None
+#define None 0
+#endif
+#ifdef _cimg_redefine_min
+#define min(a,b) (((a)<(b))?(a):(b))
+#endif
+#ifdef _cimg_redefine_max
+#define max(a,b) (((a)>(b))?(a):(b))
+#endif
+#ifdef _cimg_redefine_PI
+#define PI 3.141592653589793238462643383
+#endif
+
+#endif
+// Local Variables:
+// mode: c++
+// End:
diff --git a/Licence_CeCILL-C_V1-en.txt b/Licence_CeCILL-C_V1-en.txt
new file mode 100644
index 0000000..2e9ffba
--- /dev/null
+++ b/Licence_CeCILL-C_V1-en.txt
@@ -0,0 +1,508 @@
+
+             CeCILL-C FREE SOFTWARE LICENSE AGREEMENT
+
+
+    Notice
+
+This Agreement is a Free Software license agreement that is the result
+of discussions between its authors in order to ensure compliance with
+the two main principles guiding its drafting:
+
+    * firstly, compliance with the principles governing the distribution
+      of Free Software: access to source code, broad rights granted to
+      users,
+    * secondly, the election of a governing law, French law, with which
+      it is conformant, both as regards the law of torts and
+      intellectual property law, and the protection that it offers to
+      both authors and holders of the economic rights over software.
+
+The authors of the CeCILL-C (for Ce[a] C[nrs] I[nria] L[logiciel] L[ibre])
+license are:
+
+Commissariat � l'Energie Atomique - CEA, a public scientific, technical
+and industrial research establishment, having its principal place of 
+business at 25 rue Leblanc, immeuble Le Ponant D, 75015 Paris, France.
+
+Centre National de la Recherche Scientifique - CNRS, a public scientific
+and technological establishment, having its principal place of business
+at 3 rue Michel-Ange, 75794 Paris cedex 16, France.
+
+Institut National de Recherche en Informatique et en Automatique -
+INRIA, a public scientific and technological establishment, having its
+principal place of business at Domaine de Voluceau, Rocquencourt, BP
+105, 78153 Le Chesnay cedex, France.
+
+
+    Preamble
+
+The purpose of this Free Software license agreement is to grant users the
+right to modify and re-use the software governed by this license. 
+
+The exercising of this right is conditional on the obligation to make
+available to the community the modifications made to the source code of the
+software so as to contribute to its evolution. 
+
+In consideration of access to the source code and the rights to copy,
+modify and redistribute granted by the license, users are provided only
+with a limited warranty and the software's author, the holder of the
+economic rights, and the successive licensors only have limited liability.
+
+In this respect, the risks associated with loading, using, modifying
+and/or developing or reproducing the software by the user are brought to
+the user's attention, given its Free Software status, which may make it
+complicated to use, with the result that its use is reserved for
+developers and experienced professionals having in-depth computer
+knowledge. Users are therefore encouraged to load and test the suitability
+of the software as regards their requirements in conditions enabling the
+security of their systems and/or data to be ensured and, more generally, to
+use and operate it in the same conditions of security. This Agreement may be
+freely reproduced and published, provided it is not altered, and that no
+provisions are either added or removed herefrom.
+
+This Agreement may apply to any or all software for which the holder of
+the economic rights decides to submit the use thereof to its provisions.
+
+
+    Article 1 - DEFINITIONS
+
+For the purpose of this Agreement, when the following expressions
+commence with a capital letter, they shall have the following meaning:
+
+Agreement: means this license agreement, and its possible subsequent
+versions and annexes.
+
+Software: means the software in its Object Code and/or Source Code form
+and, where applicable, its documentation, "as is" when the Licensee
+accepts the Agreement.
+
+Initial Software: means the Software in its Source Code and possibly its
+Object Code form and, where applicable, its documentation, "as is" when
+it is first distributed under the terms and conditions of the Agreement.
+
+Modified Software: means the Software modified by at least one Integrated
+Contribution.
+
+Source Code: means all the Software's instructions and program lines to
+which access is required so as to modify the Software.
+
+Object Code: means the binary files originating from the compilation of
+the Source Code.
+
+Holder: means the holder(s) of the economic rights over the Initial
+Software.
+
+Licensee: means the Software user(s) having accepted the Agreement.
+
+Contributor: means a Licensee having made at least one Integrated 
+Contribution.
+
+Licensor: means the Holder, or any other individual or legal entity, who
+distributes the Software under the Agreement.
+
+Integrated Contribution: means any or all modifications, corrections,
+translations, adaptations and/or new functions integrated into the Source 
+Code by any or all Contributors.
+
+Related Module: means a set of sources files including their documentation
+that, without modification to the Source Code, enables supplementary
+functions or services in addition to those offered by the Software. 
+
+Derivative Software: means any combination of the Software, modified or not,
+and of a Related Module.  
+
+Parties: mean both the Licensee and the Licensor.
+
+These expressions may be used both in singular and plural form.
+
+
+    Article 2 - PURPOSE
+
+The purpose of the Agreement is the grant by the Licensor to the
+Licensee of a non-exclusive, transferable and worldwide license for the
+Software as set forth in Article 5 hereinafter for the whole term of the 
+protection granted by the rights over said Software.
+
+
+    Article 3 - ACCEPTANCE
+
+3.1 The Licensee shall be deemed as having accepted the terms and
+conditions of this Agreement upon the occurrence of the first of the
+following events:
+
+    * (i) loading the Software by any or all means, notably, by
+      downloading from a remote server, or by loading from a physical
+      medium;
+    * (ii) the first time the Licensee exercises any of the rights
+      granted hereunder.
+
+3.2 One copy of the Agreement, containing a notice relating to the
+characteristics of the Software, to the limited warranty, and to the
+fact that its use is restricted to experienced users has been provided
+to the Licensee prior to its acceptance as set forth in Article 3.1
+hereinabove, and the Licensee hereby acknowledges that it has read and 
+understood it.
+
+
+    Article 4 - EFFECTIVE DATE AND TERM
+
+
+      4.1 EFFECTIVE DATE
+
+The Agreement shall become effective on the date when it is accepted by
+the Licensee as set forth in Article 3.1.
+
+
+      4.2 TERM
+
+The Agreement shall remain in force for the entire legal term of
+protection of the economic rights over the Software.
+
+
+    Article 5 - SCOPE OF RIGHTS GRANTED
+
+The Licensor hereby grants to the Licensee, who accepts, the following
+rights over the Software for any or all use, and for the term of the
+Agreement, on the basis of the terms and conditions set forth hereinafter.
+
+Besides, if the Licensor owns or comes to own one or more patents
+protecting all or part of the functions of the Software or of its
+components, the Licensor undertakes not to enforce the rights granted by
+these patents against successive Licensees using, exploiting or
+modifying the Software. If these patents are transferred, the Licensor
+undertakes to have the transferees subscribe to the obligations set
+forth in this paragraph.
+
+
+      5.1 RIGHT OF USE
+
+The Licensee is authorized to use the Software, without any limitation
+as to its fields of application, with it being hereinafter specified
+that this comprises:
+
+   1. permanent or temporary reproduction of all or part of the Software
+      by any or all means and in any or all form.
+   2. loading, displaying, running, or storing the Software on any or
+      all medium.
+   3. entitlement to observe, study or test its operation so as to
+      determine the ideas and principles behind any or all constituent
+      elements of said Software. This shall apply when the Licensee
+      carries out any or all loading, displaying, running, transmission
+      or storage operation as regards the Software, that it is entitled
+      to carry out hereunder.
+
+
+      5.2 RIGHT OF MODIFICATION
+
+The right of modification includes the right to translate, adapt, arrange, 
+or make any or all modifications to the Software, and the right to 
+reproduce the resulting Software. It includes, in particular, the right 
+to create a Derivative Software. 
+
+The Licensee is authorized to make any or all modification to the
+Software provided that it includes an explicit notice that it is the
+author of said modification and indicates the date of the creation thereof.
+
+
+      5.3 RIGHT OF DISTRIBUTION
+
+In particular, the right of distribution includes the right to publish,
+transmit and communicate the Software to the general public on any or
+all medium, and by any or all means, and the right to market, either in
+consideration of a fee, or free of charge, one or more copies of the
+Software by any means.
+
+The Licensee is further authorized to distribute copies of the modified
+or unmodified Software to third parties according to the terms and
+conditions set forth hereinafter.
+
+
+        5.3.1 DISTRIBUTION OF SOFTWARE WITHOUT MODIFICATION
+
+The Licensee is authorized to distribute true copies of the Software in
+Source Code or Object Code form, provided that said distribution
+complies with all the provisions of the Agreement and is accompanied by:
+
+   1. a copy of the Agreement,
+
+   2. a notice relating to the limitation of both the Licensor's
+      warranty and liability as set forth in Articles 8 and 9,
+
+and that, in the event that only the Object Code of the Software is
+redistributed, the Licensee allows effective access to the full Source Code
+of the Software at a minimum during the entire period of its distribution 
+of the Software, it being understood that the additional cost of acquiring 
+the Source Code shall not exceed the cost of transferring the data.
+
+
+        5.3.2 DISTRIBUTION OF MODIFIED SOFTWARE
+
+When the Licensee makes an Integrated Contribution to the Software, the terms
+and conditions for the distribution of the resulting Modified Software become
+subject to all the provisions of this Agreement. 
+
+The Licensee is authorized to distribute the Modified Software, in source
+code or object code form, provided that said distribution complies with all
+the provisions of the Agreement and is accompanied by: 
+
+   1. a copy of the Agreement,
+   2. a notice relating to the limitation of both the Licensor's warranty and
+      liability as set forth in Articles 8 and 9, 
+
+and that, in the event that only the object code of the Modified Software is
+redistributed, the Licensee allows effective access to the full source code
+of the Modified Software at a minimum during the entire period of its
+distribution of the Modified Software, it being understood that the
+additional cost of acquiring the source code shall not exceed the cost of
+transferring the data. 
+
+        5.3.3 DISTRIBUTION OF DERIVATIVE SOFTWARE
+
+When the Licensee creates Derivative Software, this Derivative Software may
+be distributed under a license agreement other than this Agreement, subject
+to compliance with the requirement to include a notice concerning the rights
+over the Software as defined in Article 6.4. In the event the creation of the
+Derivative Software required modification of the Source Code, the Licensee
+undertakes that: 
+
+   1. the resulting Modified Software will be governed by this Agreement,
+   2. the Integrated Contributions in the resulting Modified Software will be
+      clearly identified and documented, 
+   3. the Licensee will allow effective access to the source code of the
+      Modified Software, at a minimum during the entire period of
+      distribution of the Derivative Software, such that such modifications
+      may be carried over in a subsequent version of the Software; it being
+      understood that the additional cost of purchasing the source code of
+      the Modified Software shall not exceed the cost of transferring the
+      data.  
+
+
+        5.3.4 COMPATIBILITY WITH THE CeCILL LICENSE
+ 
+When a Modified Software contains an Integrated Contribution subject to the
+CeCill license agreement, or when a Derivative Software contains a Related
+Module subject to the CeCill license agreement, the provisions set forth in
+the third item of Article 6.4 are optional. 
+
+
+    Article 6 - INTELLECTUAL PROPERTY
+
+
+      6.1 OVER THE INITIAL SOFTWARE
+
+The Holder owns the economic rights over the Initial Software. Any or
+all use of the Initial Software is subject to compliance with the terms
+and conditions under which the Holder has elected to distribute its work
+and no one shall be entitled to modify the terms and conditions for the
+distribution of said Initial Software.
+
+The Holder undertakes that the Initial Software will remain ruled at
+least by the current license, for the duration set forth in Article 4.2.
+
+
+      6.2 OVER THE INTEGRATED CONTRIBUTIONS
+
+A Licensee who develops an Integrated Contribution is the owner of the
+intellectual property rights over this Contribution as defined by 
+applicable law. 
+
+
+      6.3 OVER THE RELATED MODULES
+
+A Licensee who develops an Related Module is the owner of the
+intellectual property rights over this Related Module as defined by
+applicable law and is free to choose the type of agreement that shall
+govern its distribution under the conditions defined in Article 5.3.3.
+
+
+      6.4 NOTICE OF RIGHTS
+
+The Licensee expressly undertakes:
+
+   1. not to remove, or modify, in any manner, the intellectual property
+      notices attached to the Software;
+   2. to reproduce said notices, in an identical manner, in the copies
+      of the Software modified or not;
+   3. to ensure that use of the Software, its intellectual property 
+      notices and the fact that it is governed by the Agreement is 
+      indicated in a text that is easily accessible, specifically from 
+      the interface of any Derivative Software. 
+
+The Licensee undertakes not to directly or indirectly infringe the
+intellectual property rights of the Holder and/or Contributors on the
+Software and to take, where applicable, vis-�-vis its staff, any and all
+measures required to ensure respect of said intellectual property rights
+of the Holder and/or Contributors.
+
+
+    Article 7 - RELATED SERVICES
+
+7.1 Under no circumstances shall the Agreement oblige the Licensor to
+provide technical assistance or maintenance services for the Software.
+
+However, the Licensor is entitled to offer this type of services. The
+terms and conditions of such technical assistance, and/or such
+maintenance, shall be set forth in a separate instrument. Only the
+Licensor offering said maintenance and/or technical assistance services
+shall incur liability therefor.
+
+7.2 Similarly, any Licensor is entitled to offer to its licensees, under
+its sole responsibility, a warranty, that shall only be binding upon
+itself, for the redistribution of the Software and/or the Modified
+Software, under terms and conditions that it is free to decide. Said
+warranty, and the financial terms and conditions of its application,
+shall be subject of a separate instrument executed between the Licensor
+and the Licensee.
+
+
+    Article 8 - LIABILITY
+
+8.1 Subject to the provisions of Article 8.2, the Licensee shall be
+entitled to claim compensation for any direct loss it may have suffered
+from the Software as a result of a fault on the part of the relevant
+Licensor, subject to providing evidence thereof.
+
+8.2 The Licensor's liability is limited to the commitments made under
+this Agreement and shall not be incurred as a result of in particular:
+(i) loss due the Licensee's total or partial failure to fulfill its
+obligations, (ii) direct or consequential loss that is suffered by the
+Licensee due to the use or performance of the Software, and (iii) more
+generally, any consequential loss. In particular the Parties expressly
+agree that any or all pecuniary or business loss (i.e. loss of data,
+loss of profits, operating loss, loss of customers or orders,
+opportunity cost, any disturbance to business activities) or any or all
+legal proceedings instituted against the Licensee by a third party,
+shall constitute consequential loss and shall not provide entitlement to
+any or all compensation from the Licensor.
+
+
+    Article 9 - WARRANTY
+
+9.1 The Licensee acknowledges that the scientific and technical
+state-of-the-art when the Software was distributed did not enable all
+possible uses to be tested and verified, nor for the presence of
+possible defects to be detected. In this respect, the Licensee's
+attention has been drawn to the risks associated with loading, using,
+modifying and/or developing and reproducing the Software which are
+reserved for experienced users.
+
+The Licensee shall be responsible for verifying, by any or all means,
+the suitability of the product for its requirements, its good working order,
+and for ensuring that it shall not cause damage to either persons or
+properties.
+
+9.2 The Licensor hereby represents, in good faith, that it is entitled
+to grant all the rights over the Software (including in particular the
+rights set forth in Article 5).
+
+9.3 The Licensee acknowledges that the Software is supplied "as is" by
+the Licensor without any other express or tacit warranty, other than
+that provided for in Article 9.2 and, in particular, without any warranty
+as to its commercial value, its secured, safe, innovative or relevant 
+nature.
+
+Specifically, the Licensor does not warrant that the Software is free
+from any error, that it will operate without interruption, that it will
+be compatible with the Licensee's own equipment and software
+configuration, nor that it will meet the Licensee's requirements.
+
+9.4 The Licensor does not either expressly or tacitly warrant that the
+Software does not infringe any third party intellectual property right
+relating to a patent, software or any other property right. Therefore,
+the Licensor disclaims any and all liability towards the Licensee
+arising out of any or all proceedings for infringement that may be
+instituted in respect of the use, modification and redistribution of the
+Software. Nevertheless, should such proceedings be instituted against
+the Licensee, the Licensor shall provide it with technical and legal
+assistance for its defense. Such technical and legal assistance shall be
+decided on a case-by-case basis between the relevant Licensor and the
+Licensee pursuant to a memorandum of understanding. The Licensor
+disclaims any and all liability as regards the Licensee's use of the
+name of the Software. No warranty is given as regards the existence of
+prior rights over the name of the Software or as regards the existence
+of a trademark.
+
+
+    Article 10 - TERMINATION
+
+10.1 In the event of a breach by the Licensee of its obligations
+hereunder, the Licensor may automatically terminate this Agreement
+thirty (30) days after notice has been sent to the Licensee and has
+remained ineffective.
+
+10.2 A Licensee whose Agreement is terminated shall no longer be
+authorized to use, modify or distribute the Software. However, any
+licenses that it may have granted prior to termination of the Agreement
+shall remain valid subject to their having been granted in compliance
+with the terms and conditions hereof.
+
+
+    Article 11 - MISCELLANEOUS
+
+
+      11.1 EXCUSABLE EVENTS
+
+Neither Party shall be liable for any or all delay, or failure to
+perform the Agreement, that may be attributable to an event of force
+majeure, an act of God or an outside cause, such as defective
+functioning or interruptions of the electricity or telecommunications
+networks, network paralysis following a virus attack, intervention by
+government authorities, natural disasters, water damage, earthquakes,
+fire, explosions, strikes and labor unrest, war, etc.
+
+11.2 Any failure by either Party, on one or more occasions, to invoke
+one or more of the provisions hereof, shall under no circumstances be
+interpreted as being a waiver by the interested Party of its right to
+invoke said provision(s) subsequently.
+
+11.3 The Agreement cancels and replaces any or all previous agreements,
+whether written or oral, between the Parties and having the same
+purpose, and constitutes the entirety of the agreement between said
+Parties concerning said purpose. No supplement or modification to the
+terms and conditions hereof shall be effective as between the Parties
+unless it is made in writing and signed by their duly authorized
+representatives.
+
+11.4 In the event that one or more of the provisions hereof were to
+conflict with a current or future applicable act or legislative text,
+said act or legislative text shall prevail, and the Parties shall make
+the necessary amendments so as to comply with said act or legislative
+text. All other provisions shall remain effective. Similarly, invalidity
+of a provision of the Agreement, for any reason whatsoever, shall not
+cause the Agreement as a whole to be invalid.
+
+
+      11.5 LANGUAGE
+
+The Agreement is drafted in both French and English and both versions
+are deemed authentic.
+
+
+    Article 12 - NEW VERSIONS OF THE AGREEMENT
+
+12.1 Any person is authorized to duplicate and distribute copies of this
+Agreement.
+
+12.2 So as to ensure coherence, the wording of this Agreement is
+protected and may only be modified by the authors of the License, who
+reserve the right to periodically publish updates or new versions of the
+Agreement, each with a separate number. These subsequent versions may
+address new issues encountered by Free Software.
+
+12.3 Any Software distributed under a given version of the Agreement
+may only be subsequently distributed under the same version of the
+Agreement or a subsequent version.
+
+
+    Article 13 - GOVERNING LAW AND JURISDICTION
+
+13.1 The Agreement is governed by French law. The Parties agree to
+endeavor to seek an amicable solution to any disagreements or disputes
+that may arise during the performance of the Agreement.
+
+13.2 Failing an amicable solution within two (2) months as from their
+occurrence, and unless emergency proceedings are necessary, the
+disagreements or disputes shall be referred to the Paris Courts having
+jurisdiction, by the more diligent Party.
+
+
+Version 1.0 dated 2006-07-12.
diff --git a/Licence_CeCILL_V2-en.txt b/Licence_CeCILL_V2-en.txt
new file mode 100644
index 0000000..8720df6
--- /dev/null
+++ b/Licence_CeCILL_V2-en.txt
@@ -0,0 +1,504 @@
+
+               CeCILL FREE SOFTWARE LICENSE AGREEMENT
+
+
+    Notice
+
+This Agreement is a Free Software license agreement that is the result
+of discussions between its authors in order to ensure compliance with
+the two main principles guiding its drafting:
+
+    * firstly, compliance with the principles governing the distribution
+      of Free Software: access to source code, broad rights granted to
+      users,
+    * secondly, the election of a governing law, French law, with which
+      it is conformant, both as regards the law of torts and
+      intellectual property law, and the protection that it offers to
+      both authors and holders of the economic rights over software.
+
+The authors of the CeCILL (for Ce[a] C[nrs] I[nria] L[logiciel] L[ibre])
+license are:
+
+Commissariat � l'Energie Atomique - CEA, a public scientific, technical
+and industrial research establishment, having its principal place of 
+business at 25 rue Leblanc, immeuble Le Ponant D, 75015 Paris, France.
+
+Centre National de la Recherche Scientifique - CNRS, a public scientific
+and technological research establishment, having its principal place of 
+business at 3 rue Michel-Ange, 75794 Paris cedex 16, France.
+
+Institut National de Recherche en Informatique et en Automatique -
+INRIA, a public scientific and technological establishment, having its
+principal place of business at Domaine de Voluceau, Rocquencourt, BP
+105, 78153 Le Chesnay cedex, France.
+
+
+    Preamble
+
+The purpose of this Free Software license agreement is to grant users
+the right to modify and redistribute the software governed by this
+license within the framework of an open source distribution model.
+
+The exercising of these rights is conditional upon certain obligations
+for users so as to preserve this status for all subsequent redistributions.
+
+In consideration of access to the source code and the rights to copy,
+modify and redistribute granted by the license, users are provided only
+with a limited warranty and the software's author, the holder of the
+economic rights, and the successive licensors only have limited liability.
+
+In this respect, the risks associated with loading, using, modifying
+and/or developing or reproducing the software by the user are brought to
+the user's attention, given its Free Software status, which may make it
+complicated to use, with the result that its use is reserved for
+developers and experienced professionals having in-depth computer
+knowledge. Users are therefore encouraged to load and test the suitability
+of the software as regards their requirements in conditions enabling 
+the security of their systems and/or data to be ensured and, more 
+generally, to use and operate it in the same conditions of security. 
+This Agreement may be freely reproduced and published, provided it is not
+altered, and that no provisions are either added or removed herefrom.
+
+This Agreement may apply to any or all software for which the holder of
+the economic rights decides to submit the use thereof to its provisions.
+
+
+    Article 1 - DEFINITIONS
+
+For the purpose of this Agreement, when the following expressions
+commence with a capital letter, they shall have the following meaning:
+
+Agreement: means this license agreement, and its possible subsequent
+versions and annexes.
+
+Software: means the software in its Object Code and/or Source Code form
+and, where applicable, its documentation, "as is" when the Licensee
+accepts the Agreement.
+
+Initial Software: means the Software in its Source Code and possibly its
+Object Code form and, where applicable, its documentation, "as is" when
+it is first distributed under the terms and conditions of the Agreement.
+
+Modified Software: means the Software modified by at least one
+Contribution.
+
+Source Code: means all the Software's instructions and program lines to
+which access is required so as to modify the Software.
+
+Object Code: means the binary files originating from the compilation of
+the Source Code.
+
+Holder: means the holder(s) of the economic rights over the Initial
+Software.
+
+Licensee: means the Software user(s) having accepted the Agreement.
+
+Contributor: means a Licensee having made at least one Contribution.
+
+Licensor: means the Holder, or any other individual or legal entity, who
+distributes the Software under the Agreement.
+
+Contribution: means any or all modifications, corrections, translations,
+adaptations and/or new functions integrated into the Software by any or
+all Contributors, as well as any or all Internal Modules.
+
+Module: means a set of sources files including their documentation that
+enables supplementary functions or services in addition to those offered
+by the Software.
+
+External Module: means any or all Modules, not derived from the
+Software, so that this Module and the Software run in separate address
+spaces, with one calling the other when they are run.
+
+Internal Module: means any or all Module, connected to the Software so
+that they both execute in the same address space.
+
+GNU GPL: means the GNU General Public License version 2 or any
+subsequent version, as published by the Free Software Foundation Inc.
+
+Parties: mean both the Licensee and the Licensor.
+
+These expressions may be used both in singular and plural form.
+
+
+    Article 2 - PURPOSE
+
+The purpose of the Agreement is the grant by the Licensor to the
+Licensee of a non-exclusive, transferable and worldwide license for the
+Software as set forth in Article 5 hereinafter for the whole term of the 
+protection granted by the rights over said Software.
+
+
+    Article 3 - ACCEPTANCE
+
+3.1 The Licensee shall be deemed as having accepted the terms and
+conditions of this Agreement upon the occurrence of the first of the
+following events:
+
+    * (i) loading the Software by any or all means, notably, by
+      downloading from a remote server, or by loading from a physical
+      medium;
+    * (ii) the first time the Licensee exercises any of the rights
+      granted hereunder.
+
+3.2 One copy of the Agreement, containing a notice relating to the
+characteristics of the Software, to the limited warranty, and to the
+fact that its use is restricted to experienced users has been provided
+to the Licensee prior to its acceptance as set forth in Article 3.1
+hereinabove, and the Licensee hereby acknowledges that it has read and 
+understood it.
+
+
+    Article 4 - EFFECTIVE DATE AND TERM
+
+
+      4.1 EFFECTIVE DATE
+
+The Agreement shall become effective on the date when it is accepted by
+the Licensee as set forth in Article 3.1.
+
+
+      4.2 TERM
+
+The Agreement shall remain in force for the entire legal term of
+protection of the economic rights over the Software.
+
+
+    Article 5 - SCOPE OF RIGHTS GRANTED
+
+The Licensor hereby grants to the Licensee, who accepts, the following
+rights over the Software for any or all use, and for the term of the
+Agreement, on the basis of the terms and conditions set forth hereinafter.
+
+Besides, if the Licensor owns or comes to own one or more patents
+protecting all or part of the functions of the Software or of its
+components, the Licensor undertakes not to enforce the rights granted by
+these patents against successive Licensees using, exploiting or
+modifying the Software. If these patents are transferred, the Licensor
+undertakes to have the transferees subscribe to the obligations set
+forth in this paragraph.
+
+
+      5.1 RIGHT OF USE
+
+The Licensee is authorized to use the Software, without any limitation
+as to its fields of application, with it being hereinafter specified
+that this comprises:
+
+   1. permanent or temporary reproduction of all or part of the Software
+      by any or all means and in any or all form.
+
+   2. loading, displaying, running, or storing the Software on any or
+      all medium.
+
+   3. entitlement to observe, study or test its operation so as to
+      determine the ideas and principles behind any or all constituent
+      elements of said Software. This shall apply when the Licensee
+      carries out any or all loading, displaying, running, transmission
+      or storage operation as regards the Software, that it is entitled
+      to carry out hereunder.
+
+
+      5.2 ENTITLEMENT TO MAKE CONTRIBUTIONS
+
+The right to make Contributions includes the right to translate, adapt,
+arrange, or make any or all modifications to the Software, and the right
+to reproduce the resulting software.
+
+The Licensee is authorized to make any or all Contributions to the
+Software provided that it includes an explicit notice that it is the
+author of said Contribution and indicates the date of the creation thereof.
+
+
+      5.3 RIGHT OF DISTRIBUTION
+
+In particular, the right of distribution includes the right to publish,
+transmit and communicate the Software to the general public on any or
+all medium, and by any or all means, and the right to market, either in
+consideration of a fee, or free of charge, one or more copies of the
+Software by any means.
+
+The Licensee is further authorized to distribute copies of the modified
+or unmodified Software to third parties according to the terms and
+conditions set forth hereinafter.
+
+
+        5.3.1 DISTRIBUTION OF SOFTWARE WITHOUT MODIFICATION
+
+The Licensee is authorized to distribute true copies of the Software in
+Source Code or Object Code form, provided that said distribution
+complies with all the provisions of the Agreement and is accompanied by:
+
+   1. a copy of the Agreement,
+
+   2. a notice relating to the limitation of both the Licensor's
+      warranty and liability as set forth in Articles 8 and 9,
+
+and that, in the event that only the Object Code of the Software is
+redistributed, the Licensee allows future Licensees unhindered access to
+the full Source Code of the Software by indicating how to access it, it
+being understood that the additional cost of acquiring the Source Code
+shall not exceed the cost of transferring the data.
+
+
+        5.3.2 DISTRIBUTION OF MODIFIED SOFTWARE
+
+When the Licensee makes a Contribution to the Software, the terms and
+conditions for the distribution of the resulting Modified Software 
+become subject to all the provisions of this Agreement.
+
+The Licensee is authorized to distribute the Modified Software, in
+source code or object code form, provided that said distribution
+complies with all the provisions of the Agreement and is accompanied by:
+
+   1. a copy of the Agreement,
+
+   2. a notice relating to the limitation of both the Licensor's
+      warranty and liability as set forth in Articles 8 and 9,
+
+and that, in the event that only the Object Code of the Modified
+Software is redistributed, the Licensee allows future Licensees
+unhindered access to the full source code of the Modified Software by
+indicating how to access it, it being understood that the additional
+cost of acquiring the source code shall not exceed the cost of
+transferring the data.
+
+
+        5.3.3 DISTRIBUTION OF EXTERNAL MODULES
+
+When the Licensee has developed an External Module, the terms and
+conditions of this Agreement do not apply to said External Module, that
+may be distributed under a separate license agreement.
+
+
+        5.3.4 COMPATIBILITY WITH THE GNU GPL
+
+The Licensee can include a code that is subject to the provisions of one
+of the versions of the GNU GPL in the Modified or unmodified Software,
+and distribute that entire code under the terms of the same version of
+the GNU GPL.
+
+The Licensee can include the Modified or unmodified Software in a code
+that is subject to the provisions of one of the versions of the GNU GPL,
+and distribute that entire code under the terms of the same version of
+the GNU GPL.
+
+
+    Article 6 - INTELLECTUAL PROPERTY
+
+
+      6.1 OVER THE INITIAL SOFTWARE
+
+The Holder owns the economic rights over the Initial Software. Any or
+all use of the Initial Software is subject to compliance with the terms
+and conditions under which the Holder has elected to distribute its work
+and no one shall be entitled to modify the terms and conditions for the
+distribution of said Initial Software.
+
+The Holder undertakes that the Initial Software will remain ruled at
+least by the current license, for the duration set forth in Article 4.2.
+
+
+      6.2 OVER THE CONTRIBUTIONS
+
+A Licensee who develops a Contribution is the owner of the intellectual
+property rights over this Contribution as defined by applicable law.
+
+
+      6.3 OVER THE EXTERNAL MODULES
+
+A Licensee who develops an External Module is the owner of the
+intellectual property rights over this External Module as defined by
+applicable law and is free to choose the type of agreement that shall
+govern its distribution.
+
+
+      6.4 JOINT PROVISIONS
+
+The Licensee expressly undertakes:
+
+   1. not to remove, or modify, in any manner, the intellectual property
+      notices attached to the Software;
+
+   2. to reproduce said notices, in an identical manner, in the copies
+      of the Software modified or not.
+
+The Licensee undertakes not to directly or indirectly infringe the
+intellectual property rights of the Holder and/or Contributors on the
+Software and to take, where applicable, vis-�-vis its staff, any and all
+measures required to ensure respect of said intellectual property rights
+of the Holder and/or Contributors.
+
+
+    Article 7 - RELATED SERVICES
+
+7.1 Under no circumstances shall the Agreement oblige the Licensor to
+provide technical assistance or maintenance services for the Software.
+
+However, the Licensor is entitled to offer this type of services. The
+terms and conditions of such technical assistance, and/or such
+maintenance, shall be set forth in a separate instrument. Only the
+Licensor offering said maintenance and/or technical assistance services
+shall incur liability therefor.
+
+7.2 Similarly, any Licensor is entitled to offer to its licensees, under
+its sole responsibility, a warranty, that shall only be binding upon
+itself, for the redistribution of the Software and/or the Modified
+Software, under terms and conditions that it is free to decide. Said
+warranty, and the financial terms and conditions of its application,
+shall be subject of a separate instrument executed between the Licensor
+and the Licensee.
+
+
+    Article 8 - LIABILITY
+
+8.1 Subject to the provisions of Article 8.2, the Licensee shall be
+entitled to claim compensation for any direct loss it may have suffered
+from the Software as a result of a fault on the part of the relevant
+Licensor, subject to providing evidence thereof.
+
+8.2 The Licensor's liability is limited to the commitments made under
+this Agreement and shall not be incurred as a result of in particular:
+(i) loss due the Licensee's total or partial failure to fulfill its
+obligations, (ii) direct or consequential loss that is suffered by the
+Licensee due to the use or performance of the Software, and (iii) more
+generally, any consequential loss. In particular the Parties expressly
+agree that any or all pecuniary or business loss (i.e. loss of data,
+loss of profits, operating loss, loss of customers or orders,
+opportunity cost, any disturbance to business activities) or any or all
+legal proceedings instituted against the Licensee by a third party,
+shall constitute consequential loss and shall not provide entitlement to
+any or all compensation from the Licensor.
+
+
+    Article 9 - WARRANTY
+
+9.1 The Licensee acknowledges that the scientific and technical
+state-of-the-art when the Software was distributed did not enable all
+possible uses to be tested and verified, nor for the presence of
+possible defects to be detected. In this respect, the Licensee's
+attention has been drawn to the risks associated with loading, using,
+modifying and/or developing and reproducing the Software which are
+reserved for experienced users.
+
+The Licensee shall be responsible for verifying, by any or all means,
+the suitability of the product for its requirements, its good working order,
+and for ensuring that it shall not cause damage to either persons or
+properties.
+
+9.2 The Licensor hereby represents, in good faith, that it is entitled
+to grant all the rights over the Software (including in particular the
+rights set forth in Article 5).
+
+9.3 The Licensee acknowledges that the Software is supplied "as is" by
+the Licensor without any other express or tacit warranty, other than
+that provided for in Article 9.2 and, in particular, without any warranty
+as to its commercial value, its secured, safe, innovative or relevant 
+nature.
+
+Specifically, the Licensor does not warrant that the Software is free
+from any error, that it will operate without interruption, that it will
+be compatible with the Licensee's own equipment and software
+configuration, nor that it will meet the Licensee's requirements.
+
+9.4 The Licensor does not either expressly or tacitly warrant that the
+Software does not infringe any third party intellectual property right
+relating to a patent, software or any other property right. Therefore,
+the Licensor disclaims any and all liability towards the Licensee
+arising out of any or all proceedings for infringement that may be
+instituted in respect of the use, modification and redistribution of the
+Software. Nevertheless, should such proceedings be instituted against
+the Licensee, the Licensor shall provide it with technical and legal
+assistance for its defense. Such technical and legal assistance shall be
+decided on a case-by-case basis between the relevant Licensor and the
+Licensee pursuant to a memorandum of understanding. The Licensor
+disclaims any and all liability as regards the Licensee's use of the
+name of the Software. No warranty is given as regards the existence of
+prior rights over the name of the Software or as regards the existence
+of a trademark.
+
+
+    Article 10 - TERMINATION
+
+10.1 In the event of a breach by the Licensee of its obligations
+hereunder, the Licensor may automatically terminate this Agreement
+thirty (30) days after notice has been sent to the Licensee and has
+remained ineffective.
+
+10.2 A Licensee whose Agreement is terminated shall no longer be
+authorized to use, modify or distribute the Software. However, any
+licenses that it may have granted prior to termination of the Agreement
+shall remain valid subject to their having been granted in compliance
+with the terms and conditions hereof.
+
+
+    Article 11 - MISCELLANEOUS
+
+
+      11.1 EXCUSABLE EVENTS
+
+Neither Party shall be liable for any or all delay, or failure to
+perform the Agreement, that may be attributable to an event of force
+majeure, an act of God or an outside cause, such as defective
+functioning or interruptions of the electricity or telecommunications
+networks, network paralysis following a virus attack, intervention by
+government authorities, natural disasters, water damage, earthquakes,
+fire, explosions, strikes and labor unrest, war, etc.
+
+11.2 Any failure by either Party, on one or more occasions, to invoke
+one or more of the provisions hereof, shall under no circumstances be
+interpreted as being a waiver by the interested Party of its right to
+invoke said provision(s) subsequently.
+
+11.3 The Agreement cancels and replaces any or all previous agreements,
+whether written or oral, between the Parties and having the same
+purpose, and constitutes the entirety of the agreement between said
+Parties concerning said purpose. No supplement or modification to the
+terms and conditions hereof shall be effective as between the Parties
+unless it is made in writing and signed by their duly authorized
+representatives.
+
+11.4 In the event that one or more of the provisions hereof were to
+conflict with a current or future applicable act or legislative text,
+said act or legislative text shall prevail, and the Parties shall make
+the necessary amendments so as to comply with said act or legislative
+text. All other provisions shall remain effective. Similarly, invalidity
+of a provision of the Agreement, for any reason whatsoever, shall not
+cause the Agreement as a whole to be invalid.
+
+
+      11.5 LANGUAGE
+
+The Agreement is drafted in both French and English and both versions
+are deemed authentic.
+
+
+    Article 12 - NEW VERSIONS OF THE AGREEMENT
+
+12.1 Any person is authorized to duplicate and distribute copies of this
+Agreement.
+
+12.2 So as to ensure coherence, the wording of this Agreement is
+protected and may only be modified by the authors of the License, who
+reserve the right to periodically publish updates or new versions of the
+Agreement, each with a separate number. These subsequent versions may
+address new issues encountered by Free Software.
+
+12.3 Any Software distributed under a given version of the Agreement may
+only be subsequently distributed under the same version of the Agreement
+or a subsequent version, subject to the provisions of Article 5.3.4.
+
+
+    Article 13 - GOVERNING LAW AND JURISDICTION
+
+13.1 The Agreement is governed by French law. The Parties agree to
+endeavor to seek an amicable solution to any disagreements or disputes
+that may arise during the performance of the Agreement.
+
+13.2 Failing an amicable solution within two (2) months as from their
+occurrence, and unless emergency proceedings are necessary, the
+disagreements or disputes shall be referred to the Paris Courts having
+jurisdiction, by the more diligent Party.
+
+
+Version 2.0 dated 2006-07-12.
diff --git a/README.md b/README.md
new file mode 100644
index 0000000..8d2beb1
--- /dev/null
+++ b/README.md
@@ -0,0 +1,24 @@
+<a href="http://cimg.eu">![Logo](http://cimg.eu/img/CImgLogo2.jpg)</a>
+##### http://cimg.eu
+
+------------------
+
+The **CImg Library** is a **small**, **open-source**, and **modern C++ toolkit** for **image processing**, designed with these properties in mind:
+
+![Usefulness](http://cimg.eu/img/item_usefulness.jpg) **CImg** defines *classes* and *methods* to manage images in your own C++ code. You can use **CImg** to load/save various file formats, access pixel values, display/transform/filter images, draw primitives (text, faces, curves, 3d objects, ...), compute statistics, manage user interactions on images, and so on...
+
+![Genericity](http://cimg.eu/img/item_genericity.jpg) **CImg** defines a single image class able to represent datasets having up to *4-dimensions* (from 1d scalar signals to 3d hyperspectral volumetric images), with *template pixel types* (`bool,char,int,float,...`). It also handles image *collections* and *sequences*.
+
+![Portability](http://cimg.eu/img/item_portability.jpg) **CImg** is *self-contained*, *thread-safe* and *highly portable*. It fully works on *different operating systems* (`Unix,Windows,MacOS X,*BSD,...`) and is compatible with *various C++ compilers* (`Visual C++,g++,clang++,icc,...`).
+
+![Simplicity](http://cimg.eu/img/item_simplicity.jpg) **CImg** is *lightweight*. It is made of a single header file [`CImg.h`](https://raw.githubusercontent.com/dtschump/CImg/master/CImg.h) that must be included in your C++ source. It defines only *four* different classes, encapsulated in the namespace `cimg_library`. It can be compiled using a minimal set of standard C++ and system libraries only. *No need for exotic or complex dependencies*.
+
+![Extensibility](http://cimg.eu/img/item_extensibility.jpg) Although not mandatory, **CImg** can use functionalities of external tools/libraries such as [Board](http://libboard.sourceforge.net/), [FFMPEG](http://ffmpeg.mplayerhq.hu/), [FFTW3](http://www.fftw.org/), [GraphicsMagick](http://www.graphicsmagick.org/), [ImageMagick](http://www.imagemagick.org/), [Lapack](http://www.netlib.org/lapack/), [libcurl](http://curl.haxx.se/libcurl/), [libjpeg](http://www.ijg.org/), [libpng](http://ww [...]
+
+![Freedom](http://cimg.eu/img/item_freedom.jpg) **CImg** is a *free, open-source library* distributed under the [*CeCILL-C*](http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.txt) (close to the GNU LGPL) or [CeCILL](http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt) (compatible with the GNU GPL) licenses. It can be used in commercial applications.
+
+------------------
+
+> **CImg** stands for **Cool Image** : It is _easy to use_, _efficient_ and is intended to be a very pleasant toolbox to design image processing algorithms in C++. Due to its generic conception, it can cover a wide range of image processing applications.
+
+------------------
\ No newline at end of file
diff --git a/README.txt b/README.txt
new file mode 100644
index 0000000..8785b7e
--- /dev/null
+++ b/README.txt
@@ -0,0 +1,176 @@
+--------------------------------------------------------------------------------
+--------------------------------------------------------------------------------
+                            ____  _   _  ____
+                           (_  _)( )_( )( ___)
+                             )(   ) _ (  )__)
+                            (__) (_) (_)(____)
+    ___  ____  __  __  ___     __    ____  ____  ____    __    ____  _  _
+   / __)(_  _)(  \/  )/ __)   (  )  (_  _)(  _ \(  _ \  /__\  (  _ \( \/ )
+  ( (__  _)(_  )    (( (_-.    )(__  _)(_  ) _ < )   / /(__)\  )   / \  /
+   \___)(____)(_/\/\_)\___/   (____)(____)(____/(_)\_)(__)(__)(_)\_) (__)
+
+
+                    C++ Template Image Processing Toolkit
+
+                             ( http://cimg.eu )
+
+                                   _cimg_version
+
+--------------------------------------------------------------------------------
+
+# Summary
+#---------
+
+  The CImg Library is a small, open-source, modern C++ toolkit for image processing.
+  It consists in a single header file 'CImg.h' providing a minimal set of C++
+  classes and methods that can be used in your own sources, to load/save,
+  process and display images. Very portable (Unix/X11,Windows, MacOS X, FreeBSD, .. ),
+  efficient, easy to use, it's a pleasant library for developping image processing
+  algorithms in C++.
+
+# Authors and contributors :
+#----------------------------
+
+  - David Tschumperle (project leader) ( http://tschumperle.users.greyc.fr/ )
+
+  - Maksim Aizenshtein
+  - Alberto Albiol
+  - Antonio Albiol
+  - Haz-Edine Assemlal
+  - Vincent Barra
+  - Wolf Blecher
+  - Romain Blei
+  - Yohan Bentolila
+  - Jerome Boulanger
+  - Pierre Buyssens
+  - Sebastien Coudert
+  - Frederic Devernay
+  - Olivier D'Hondt
+  - Francois-Xavier Dupe
+  - Gerd von Egidy
+  - Eric Fausett
+  - Jean-Marie Favreau
+  - Sebastien Fourey
+  - Alexandre Fournier
+  - Hon-Kwok Fung
+  - Vincent Garcia
+  - David Grimbichler
+  - Jinwei Gu
+  - Jean-Daniel Guyot
+  - Matt Hanson
+  - Sebastien Hanel
+  - Michael Holroyd
+  - Christoph Hormann
+  - Werner Jainek
+  - Daniel Kondermann
+  - Pierre Kornprobst
+  - Jan W. Krieger
+  - Orges Leka
+  - Francois Lauze
+  - Xie Long
+  - Thomas Martin
+  - Cesar Martinez
+  - Jean Martinot
+  - Arnold Meijster (Center for High Performance Computing and Visualization, University of Groningen/The Netherlands)
+  - Nikita Melnichenko
+  - Julien Morat
+  - Baptiste Mougel
+  - Jovana Milutinovich
+  - Guillaume Nee
+  - Adam Newgas
+  - Francisco Oliveira
+  - Andrea Onofri
+  - Renaud Peteri
+  - Martin Petricek
+  - Paolo Prete
+  - Adrien Reboisson
+  - Klaus Schneider
+  - Jakob Schluttig
+  - Veronique Souchaud
+  - Konstantin Spirin
+  - David G. Starkweather
+  - Rainer Steffens
+  - Grzegorz Szwoch
+  - Thierry Thomas
+  - Yu-En-Yun
+  - Vo Duc Khanh
+  - Phillip Wood
+  - Bug Zhao
+  - Haibo Zheng
+
+# Institution
+#-------------
+
+ GREYC Image / CNRS UMR 6072 / FRANCE
+
+ The CImg Library project started in 2000, at the INRIA-Sophia
+ Antipolis/France ( http://www-sop.inria.fr/ ), in the ROBOTVIS / ODYSSEE Team.
+ Since October 2004, it is maintained and developed in the Image team of
+ the GREYC Lab (CNRS, UMR 6072), in Caen/France.
+ Team web page : http://www.greyc.fr/image
+
+# Licenses
+#----------
+
+ The source code of the CImg Library is distributed under
+ two distinct licenses :
+
+ - The main library file 'CImg.h' is *dual-licensed* :
+   It can be either distributed under the CeCILL-C or CeCILL license.
+   (see files 'Licence_CeCILL-C_V1-en.txt' and 'Licence_CeCILL_V2-en.txt').
+   Both are Free-Software licenses :
+
+     * CeCILL-C is adapted to the distribution of
+       library components, and is close in its terms to the well known GNU LGPL license
+       (the 'CImg.h' file can thus be used in closed-source products under certain
+       conditions, please read carefully the license file).
+
+     * CeCILL is close to (and even compatible with) the GNU GPL license.
+
+ - Most of the other files are distributed under the CeCiLL license
+   (file 'Licence_CeCILL_V2-en.txt'). See each file header to see what license applies.
+
+ These two CeCiLL licenses ( http://www.cecill.info/index.en.html ) have been
+ created under the supervision of the three biggest research institutions on
+ computer sciences in France :
+
+   - CNRS  ( http://www.cnrs.fr/ )
+   - CEA   ( http://www.cea.fr/ )
+   - INRIA ( http://www.inria.fr/ )
+
+ You have to RESPECT these licenses. More particularly, please carefully read
+ the license terms before using the CImg library in commercial products.
+
+# Package structure :
+#--------------------
+
+  The main package directory CImg/ is organized as follows :
+
+  - README.txt                 : This file.
+  - Licence_CeCILL-C_V1-en.txt : A copy of the CeCiLL-C license file.
+  - Licence_CeCILL_V2-en.txt   : A copy of the CeCiLL license.
+  - CImg.h                     : The single header file that constitutes the library itself.
+  - examples/                  : A directory containing a lot of example programs performing
+                                 various things, using the CImg library.
+  - html/                      : A directory containing a copy of the CImg web page in html
+                                 format. The reference documentation is generated
+              		         automatically with the tool 'doxygen' (http://www.doxygen.org).
+  - resources/                 : A directory containing some resources files for compiling
+                                 CImg examples or packages with various C++ compilers and OS.
+  - plugins/                   : A directory containing CImg plug-ins files that can be used to
+                                 add specific extra functionalities to the CImg library.
+
+# Getting started
+#-----------------
+
+  If you are new to CImg, you should first try to compile the different examples
+  provided in the 'examples/' directory, to see what CImg is capable of
+  (as CImg is a template-based library, no prior compilation of the library is mandatory).
+  Look at the 'resources/' directory to ease this compilation on different platforms.
+
+  Then, you can look at the documentation 'html/reference/' to learn more about CImg
+  functions and classes. Finally, you can participate to the 'Forum' section
+  of the CImg web page and ask for help if needed.
+
+# End of file
+#------------
diff --git a/examples/CImg_demo.cpp b/examples/CImg_demo.cpp
new file mode 100644
index 0000000..1150d89
--- /dev/null
+++ b/examples/CImg_demo.cpp
@@ -0,0 +1,1690 @@
+/*
+ #
+ #  File        : CImg_demo.cpp
+ #                ( C++ source file )
+ #
+ #  Description : A multi-part demo demonstrating some of the CImg capabilities.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+// Include static image data, so that the exe does not depend on external image files.
+#include "img/CImg_demo.h"
+
+// Include CImg library header.
+#include "CImg.h"
+using namespace cimg_library;
+#undef min
+#undef max
+
+// Item : Blurring Gradient
+//----------------------------
+void* item_blurring_gradient() {
+  const CImg<float> src(data_milla,211,242,1,3);
+  CImgList<float> grad = src.get_gradient();
+  CImgList<unsigned char> visu = (src,sqrt(grad[0].pow(2) + grad[1].pow(2)).normalize(0,255),src);
+  CImgDisplay disp(visu,"[#1] - Color Image, Gradient Norm and Blurring Gradient",0);
+
+  for (double sigma = 0; !disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC(); sigma+=0.05) {
+    visu[2] = visu[1].get_blur((float)cimg::abs(30*std::cos(sigma))).normalize(0,255);
+    disp.resize(false).display(visu).wait(20);
+  }
+  return 0;
+}
+
+// Item : Rotozoom
+//-----------------
+void* item_rotozoom() {
+  CImg<unsigned char> src = CImg<unsigned char>(data_milla,211,242,1,3,false).resize(400,300,1,3,3), img(src);
+  CImgDisplay disp(img.width(),img.height(),"[#2] - Rotozoom",0);
+  float alpha = 0, t = 0, angle = 0, zoom0 = -0.9f;
+  const unsigned char color[] = { 16,32,64 };
+
+  while (!disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC()) {
+    cimg_forYC(src,y,k) {
+      const int xc = 4*src.width() + (int)(60*std::sin((float)y*3/src.height() + 10*t));
+      cimg_forX(src,x) {
+        const float val = (float)(src((xc + x)%src.width(),y,0,k)*
+                                  (1.3f + 0.20*std::sin(alpha + k*k*((float)src.width()/2 - x)*
+                                                        ((float)src.height()/2 - y)*std::cos(t)/300.0)));
+        img(x,y,0,k) = (unsigned char)(val>255.0f?255:val);
+      }
+    }
+    const float zoom = (float)(zoom0 + 0.3f*(1 + std::cos(3*t)));
+    img.get_rotate(angle,0.5f*img.width(),0.5f*img.height(),1 + zoom,0,2).
+      draw_text(3,3,"Mouse buttons\nto zoom in/out",color,0,0.8f,24).display(disp.resize(false).wait(20));
+    alpha+=0.7f; t+=0.01f; angle+=0.8f;
+    zoom0+=disp.button()&1?0.1f:disp.button()&2?-0.1f:0;
+    if (disp.is_keyCTRLLEFT() && disp.is_keyF()) disp.resize(400,400,false).toggle_fullscreen(false);
+  }
+  return 0;
+}
+
+// Item : Anisotropic Smoothing (Total variation PDE, explicit scheme)
+//--------------------------------------------------------------------
+void* item_anisotropic_smoothing() {
+  const CImg<float> src = CImg<>(data_milla,211,242,1,3).noise(-30,1);
+  CImgList<float> images(src,src);
+  CImgDisplay disp(images,"[#3] - Anisotropic smoothing");
+  const float white[] = { 255, 255, 255 }, black[] = { 0, 0, 0 };
+
+  for (unsigned int iter = 0; !disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC(); ++iter) {
+
+    // Compute PDE velocity field.
+    CImg_3x3(I,float);
+    CImg<float> veloc(src);
+    float *ptrd = veloc.data(), betamax = 0;
+    cimg_forC(src,k) cimg_for3x3(images[1],x,y,0,k,I,float) {
+      const float
+        ix = (Inc - Ipc)/2,
+        iy = (Icn - Icp)/2,
+        ng = (float)std::sqrt(1e-10f + ix*ix + iy*iy),
+        ixx = Inc + Ipc - 2*Icc,
+        iyy = Icn + Icp - 2*Icc,
+        ixy = 0.25f*(Inn + Ipp - Ipn - Inp),
+        iee = (ix*ix*iyy + iy*iy*ixx - 2*ix*iy*ixy)/(ng*ng),
+        beta = iee/(0.1f + ng);
+      if (beta>betamax) betamax = beta; else if (-beta>betamax) betamax = -beta;
+      *(ptrd++) = beta;
+    }
+    veloc*=40.0f/betamax;
+    images[1]+=veloc;
+    images[0].draw_text(4,4,"Iteration : %u ",white,black,1,13,iter);
+    disp.resize(false).display(images);
+  }
+  return 0;
+}
+
+// Item : Fractal Animation
+//--------------------------
+void* item_fractal_animation() {
+  CImg<unsigned char> img(400,400,1,3,0), noise(3,2,1,3);
+  CImgDisplay disp(img,"[#4] - Fractal Animation");
+  float zoom = 0;
+
+  for (unsigned int iter = 0; !disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC(); ++iter, zoom+=0.2f) {
+    img.draw_image((img.width() - noise.width())/2,
+                   (img.height() - noise.height())/2,
+                   noise.fill(0).noise(255,1)).
+      rotate((float)(10*std::sin(iter/25.0)),0.5f*img.width(),0.5f*img.height(),
+             (float)(1.04f + 0.02f*std::sin(zoom/10)),0,0).
+      resize(disp.resize(false)).display(disp.wait(25));
+    if (disp.is_keyCTRLLEFT() && disp.is_keyF()) disp.resize(400,400,false).toggle_fullscreen(false);
+  }
+  return 0;
+}
+
+// Item : Gamma Correction and Histogram Visualization
+//-----------------------------------------------------
+void* item_gamma_correction() {
+  CImg<float> img = CImg<>(data_milla,211,242,1,3).normalize(0,1);
+  CImgList<unsigned char> visu(img*255.0,CImg<unsigned char>(512,300,1,3,0));
+  CImgDisplay disp(visu,"[#5] - Gamma Corrected Image and Histogram (Click to set Gamma)");
+  const unsigned char
+    yellow[] = { 255, 255, 0 }, blue[] = { 0, 155, 255 }, blue2[] = { 0, 0, 255 },
+    blue3[] = { 0, 0, 155 }, white[] = { 255, 255, 255 }, green[] = { 50, 128, 50 };
+
+  for (double gamma = 1; !disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC(); ) {
+    cimg_forXYZC(visu[0],x,y,z,k) visu[0](x,y,z,k) = (unsigned char)(std::pow((double)img(x,y,z,k),1.0/gamma)*256);
+    const CImg<float> hist = visu[0].get_histogram(50,0,255);
+    visu[1].fill(0).draw_text(50,5,"Gamma = %.3g",white,0,1,24,gamma).
+      draw_graph(hist,green,1,3,0,20000,0).draw_graph(hist,yellow,1,2,0,20000,0).
+      draw_axes(0,256,20000,0,white,0.7f);
+    const int xb = (int)(50 + gamma*150);
+    visu[1].draw_grid(20,20,0,0,false,false,white,0.3f,0xCCCCCCCC,0xCCCCCCCC).
+      draw_rectangle(51,31,xb - 1,39,blue2).draw_rectangle(50,30,xb,30,blue).draw_rectangle(xb,30,xb,40,blue).
+      draw_rectangle(xb,40,50,39,blue3).draw_rectangle(50,30,51,40,blue3);
+    if (disp.button() && disp.mouse_x()>=img.width() + 50 && disp.mouse_x()<=img.width() + 450)
+      gamma = (disp.mouse_x() - img.width() - 50)/150.0;
+    disp.resize(disp,false).display(visu).wait();
+  }
+  return 0;
+}
+
+// Item : Filled Triangles
+//-------------------------
+void* item_filled_triangles() {
+
+  // Create a colored 640x480 background image which consists of different color shades.
+  CImg<float> background(640,480,1,3);
+  cimg_forXY(background,x,y) background.fillC(x,y,0,
+                                              x*std::cos(6.0*y/background.height()) +
+                                              y*std::sin(9.0*x/background.width()),
+                                              x*std::sin(8.0*y/background.height()) -
+                                              y*std::cos(11.0*x/background.width()),
+                                              x*std::cos(13.0*y/background.height()) -
+                                              y*std::sin(8.0*x/background.width()));
+  background.normalize(0,180);
+
+  // Init images and create display window.
+  CImg<unsigned char> img0(background), img;
+  unsigned char white[] = { 255, 255, 255 }, color[100][3];
+  CImgDisplay disp(img0,"[#6] - Filled Triangles (Click to shrink)");
+
+  // Define random properties (pos, size, colors, ..) for all triangles that will be displayed.
+  float posx[100], posy[100], rayon[100], angle[100], veloc[100], opacity[100];
+  int num = 1;
+  std::srand((unsigned int)time(0));
+  for (int k = 0; k<100; ++k) {
+    posx[k] = (float)(cimg::rand()*img0.width());
+    posy[k] = (float)(cimg::rand()*img0.height());
+    rayon[k] = (float)(10 + cimg::rand()*50);
+    angle[k] = (float)(cimg::rand()*360);
+    veloc[k] = (float)(cimg::rand()*20 - 10);
+    color[k][0] = (unsigned char)(cimg::rand()*255);
+    color[k][1] = (unsigned char)(cimg::rand()*255);
+    color[k][2] = (unsigned char)(cimg::rand()*255);
+    opacity[k] = (float)(0.3 + 1.5*cimg::rand());
+  }
+
+  // Start animation loop.
+  while (!disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC()) {
+    img = img0;
+
+    // Draw each triangle on the background image.
+    for (int k = 0; k<num; ++k) {
+      const int
+        x0 = (int)(posx[k] + rayon[k]*std::cos(angle[k]*cimg::PI/180)),
+        y0 = (int)(posy[k] + rayon[k]*std::sin(angle[k]*cimg::PI/180)),
+        x1 = (int)(posx[k] + rayon[k]*std::cos((angle[k] + 120)*cimg::PI/180)),
+        y1 = (int)(posy[k] + rayon[k]*std::sin((angle[k] + 120)*cimg::PI/180)),
+        x2 = (int)(posx[k] + rayon[k]*std::cos((angle[k] + 240)*cimg::PI/180)),
+        y2 = (int)(posy[k] + rayon[k]*std::sin((angle[k] + 240)*cimg::PI/180));
+      if (k%10) img.draw_triangle(x0,y0,x1,y1,x2,y2,color[k],opacity[k]);
+      else img.draw_triangle(x0,y0,x1,y1,x2,y2,img0,0,0,img0.width() - 1,0,0,img.height() - 1,opacity[k]);
+      img.draw_triangle(x0,y0,x1,y1,x2,y2,white,opacity[k],~0U);
+
+      // Make the triangles rotate, and check for mouse click event.
+      // (to make triangles collapse or join).
+      angle[k]+=veloc[k];
+      if (disp.mouse_x()>0 && disp.mouse_y()>0) {
+        float u = disp.mouse_x() - posx[k], v = disp.mouse_y() - posy[k];
+        if (disp.button()) { u = -u; v = -v; }
+        posx[k]-=0.03f*u, posy[k]-=0.03f*v;
+        if (posx[k]<0 || posx[k]>=img.width()) posx[k] = (float)(cimg::rand()*img.width());
+        if (posy[k]<0 || posy[k]>=img.height()) posy[k] = (float)(cimg::rand()*img.height());
+      }
+    }
+
+    // Display current animation framerate, and refresh display window.
+    img.draw_text(5,5,"%u frames/s",white,0,0.5f,13,(unsigned int)disp.frames_per_second());
+    img0.resize(disp.display(img).resize(false).wait(20));
+    if (++num>100) num = 100;
+
+    // Allow the user to toggle fullscreen mode, by pressing CTRL+F.
+    if (disp.is_keyCTRLLEFT() && disp.is_keyF()) disp.resize(640,480,false).toggle_fullscreen(false);
+  }
+  return 0;
+}
+
+// Item : Mandelbrot/Julia Explorer
+//----------------------------------
+void* item_mandelbrot_explorer() {
+
+  // Define image canvas and corresponding display window.
+  CImg<unsigned char> img(800,600,1,3,0);
+  CImgDisplay disp(img);
+
+  // Start main explorer loop.
+  double julia_r = 0, julia_i = 0;
+  for (bool endflag = false, fractal_type = false, smooth = false, show_help = true; !endflag;) {
+    bool stopflag = false;
+    double xmin, xmax, ymin, ymax;
+
+    // Init default upper-left/lower-right coordinates of the fractal set.
+    if (fractal_type) { xmin = -1.5; xmax = 1.5; ymin = -1.5; ymax = 1.5; julia_r = 0.317; julia_i = 0.029; }
+    else { xmin = -2.25; xmax = 1.0; ymin = -1.5; ymax = 1.5; julia_r = julia_i = 0; }
+
+    // Create random palette for displaying the fractal set.
+    const CImg<unsigned char> palette =
+      CImg<unsigned char>(256,1,1,3,16 + 120).noise(119,1).resize(1024,1,1,3,3).fillC(0,0,0,0,0,0);
+
+    // Enter event loop for the current fractal set.
+    for (unsigned int maxiter = 64; !stopflag; ) {
+
+      // Draw Mandelbrot or Julia fractal set on the image.
+      img.resize(disp.resize().set_title("[#7] - %s Set : (%g,%g)-(%g,%g), %s = (%g,%g) (%u iter.)",
+                                         fractal_type?"Julia":"Mandelbrot",xmin,ymin,xmax,ymax,
+                                         fractal_type?"c":"z0",julia_r,julia_i,maxiter)).
+        fill(0).draw_mandelbrot(palette,1,xmin,ymin,xmax,ymax,maxiter,smooth,fractal_type,julia_r,julia_i);
+
+      // Display help if necessary.
+      if (show_help) {
+        const unsigned char white[] = { 255, 255, 255 };
+        static CImg<unsigned char>
+          help = CImg<unsigned char>().draw_text(0,0,"\n"
+                                                 "  Use mouse to zoom on desired region.  \n"
+                                                 "  H             Show/Hide help  \n"
+                                                 "  PAD 1...9       Fractal navigation  \n"
+                                                 "  PAD +/-       Zoom/Unzoom  \n"
+                                                 "  SPACE         Set/Disable color smoothing  \n"
+                                                 "  ENTER         Switch Mandelbrot/Julia sets  \n"
+                                                 "  Arrows        Change set parameterization  \n"
+                                                 "  Page UP/DOWN  Add/Reduce iteration numbers  \n\n",
+                                                 white).resize(-100,-100,1,3);
+        help.draw_rectangle(2,2,help.width() - 3,help.height() - 3,white,1,~0U);
+        img.draw_image(img.width() - help.width(),help,0.7f);
+      }
+
+      // Get rectangular shape from the user to define the zoomed region.
+      const CImg<int> selection = img.get_select(disp,2,0);
+      const int xs0 = selection[0], ys0 = selection[1], xs1 = selection[3], ys1 = selection[4];
+
+      // If the user has selected a region with the mouse, then zoom-in !
+      if (xs0>=0 && ys0>=0 && xs1>=0 && ys1>=0) {
+        const double dx =(xmax - xmin)/img.width(), dy =(ymax - ymin)/img.height();
+        const int dsmax = (ys1 - ys0)/2, xs = (xs0 + xs1)/2, ys = (ys0 + ys1)/2;
+
+        // If the region is too small (point) then reset the fractal set position and zoom.
+        if (dsmax<5) stopflag = true;
+        xmin+=(xs - dsmax*dy/dx)*dx;
+        ymin+=(ys - dsmax)*dy;
+        xmax-=(img.width() - xs - dsmax*dy/dx)*dx;
+        ymax-=(img.height() - ys - dsmax)*dy;
+      }
+
+      // Also, test if a key has been pressed.
+      // (moving in the fractal set can be done, using keyboard).
+      switch (disp.key()) {
+
+        // Show/hide help.
+      case cimg::keyH: show_help = !show_help; break;
+
+        // Switch between Julia/Mandelbrot sets.
+      case cimg::keyENTER: fractal_type = !fractal_type; stopflag = true; break;
+
+        // Enable/disable smoothed colors.
+      case cimg::keySPACE: smooth = !smooth; break;
+
+        // Change fractal set parameters.
+      case cimg::keyARROWLEFT: julia_r-=fractal_type?0.001f:0.05f; break;
+      case cimg::keyARROWRIGHT: julia_r+=fractal_type?0.001f:0.05f; break;
+      case cimg::keyARROWUP: julia_i+=fractal_type?0.001f:0.05f; break;
+      case cimg::keyARROWDOWN: julia_i-=fractal_type?0.001f:0.05f; break;
+
+        // Add/remove iterations.
+      case cimg::keyPAGEDOWN: maxiter-=32; break;
+      case cimg::keyPAGEUP: maxiter+=16; break;
+
+        // Move left, right, up and down in the fractal set.
+      case cimg::keyPAD4: { const double delta = (xmax - xmin)/10; xmin-=delta; xmax-=delta; } break;
+      case cimg::keyPAD6: { const double delta = (xmax - xmin)/10; xmin+=delta; xmax+=delta; } break;
+      case cimg::keyPAD8: { const double delta = (ymax - ymin)/10; ymin-=delta; ymax-=delta; } break;
+      case cimg::keyPAD2: { const double delta = (ymax - ymin)/10; ymin+=delta; ymax+=delta; } break;
+
+        // Allow to zoom in/out in the fractal set.
+      case cimg::keyPADADD: {
+        const double
+          xc = 0.5*(xmin + xmax),
+          yc = 0.5*(ymin + ymax),
+          dx = (xmax - xmin)*0.85/2,
+          dy = (ymax - ymin)*0.85/2;
+        xmin = xc - dx; ymin = yc - dy; xmax = xc + dx; ymax = yc + dy;
+      } break;
+      case cimg::keyPADSUB:
+        const double
+          xc = 0.5*(xmin + xmax),
+          yc = 0.5*(ymin + ymax),
+          dx = (xmax - xmin)*1.15/2,
+          dy = (ymax - ymin)*1.15/2;
+        xmin = xc - dx; ymin = yc - dy; xmax = xc + dx; ymax = yc + dy;
+        break;
+      }
+
+      // Do a simple test to check if more/less iterations are necessary for the next step.
+      const float value = (float)img.get_norm().get_histogram(256,0,255)(0)*3;
+      if (value>img.size()/6.0f) maxiter+=16;
+      if (maxiter>1024) maxiter = 1024;
+      if (value<img.size()/10.0f) maxiter-=4;
+      if (maxiter<32) maxiter = 32;
+
+      // Check if the user want to quit the explorer.
+      if (disp.is_closed() || disp.is_keyQ() || disp.is_keyESC()) stopflag = endflag = true;
+    }
+  }
+  return 0;
+}
+
+// Item : Mini-Paint
+//------------------
+void* item_mini_paint() {
+  int xo = -1, yo = -1, x = -1, y = -1;
+  bool redraw = true;
+  CImg<unsigned char> img(256,256 + 64,1,3,0);
+  unsigned char color[] = { 255, 255, 255 };
+  cimg_for_inY(img,256,img.height() - 1,yy) cimg_forX(img,xx) img.fillC(xx,yy,0,xx,(yy - 256)*4,(3*xx)%256);
+  CImgDisplay disp(img.draw_text(5,5,"   ",color,color),"[#8] - Mini-Paint");
+  while (!disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC()) {
+    const unsigned int but = disp.button();
+    redraw = false;
+    xo = x; yo = y; x = disp.mouse_x(); y = disp.mouse_y();
+    if (xo>=0 && yo>=0 && x>=0 && y>=0) {
+      if (but&1 || but&4) {
+        if (y<253) {
+          const float tmax = (float)cimg::max(cimg::abs(xo - x),cimg::abs(yo - y)) + 0.1f;
+          const int radius = (but&1?3:0) + (but&4?6:0);
+          for (float t = 0; t<=tmax; ++t)
+            img.draw_circle((int)(x + t*(xo - x)/tmax),(int)(y + t*(yo - y)/tmax),radius,color);
+        }
+        if (y>=256) {
+          color[0] = img(x,y,0); color[1] = img(x,y,1); color[2] = img(x,y,2);
+          img.draw_text(5,5,"   ",color,color);
+        }
+        redraw = true;
+      }
+      if (y>=253) y = 252;
+      if (disp.button()&2) { img.draw_fill(x,y,color); redraw = true; }
+    }
+    if (redraw) disp.display(img);
+    disp.resize(disp).wait();
+    if (disp.key()) cimg_forC(img,k) { img.get_shared_rows(0,255,0,k).fill(0); img.display(disp); }
+  }
+  return 0;
+}
+
+// Item : Soccer Bobs
+//-------------------
+void* item_soccer_bobs() {
+  CImg<unsigned char> foot(data_foot,200,200,1,3,false), canvas0(640,480,1,3,0);
+  const unsigned char color[] = { 255, 255, 0 };
+  float zoom = 0.2f;
+  cimg_forXY(canvas0,x,y) canvas0(x,y,1) = (unsigned char)(20 + (y*215/canvas0.height()) + 19*cimg::crand());
+  canvas0.draw_text(5,5,"Left/Right Mouse Button = Zoom In/Out\nMiddle Button = Reset Screen",color);
+  CImgList<unsigned char> canvas(16,canvas0);
+  CImg<float> mask(foot.width(),foot.height());
+  cimg_forXY(mask,x,y) mask(x,y) = (foot(x,y,0)==255 && !foot(x,y,1) && !foot(x,y,2))?0:0.8f;
+  CImgDisplay disp(canvas0,"[#9] - Unlimited Soccer Bobs");
+  for (unsigned int curr_canvas = 0; !disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC(); (++curr_canvas) %= 16) {
+    if (disp.mouse_x()>=0 && disp.mouse_y()>=0)
+      canvas[curr_canvas].draw_image((int)(disp.mouse_x() - zoom*foot.width()/2),
+                                     (int)(disp.mouse_y() - zoom*foot.height()/2),
+                                     foot.get_resize((int)(foot.width()*zoom),(int)(foot.height()*zoom)),
+                                     mask.get_resize((int)(foot.width()*zoom),(int)(foot.height()*zoom)));
+    zoom+=disp.button()&1?0.03f:disp.button()&2?-0.03f:0;
+    zoom = zoom<0.1f?0.1f:zoom>1?1.0f:zoom;
+    if (disp.button()&4) cimglist_for(canvas,l) canvas[l] = canvas0;
+    if (disp.is_keyCTRLLEFT() && disp.is_keyF()) disp.toggle_fullscreen(false);
+    disp.display(canvas[curr_canvas]).resize(disp,false).wait(20);
+  }
+  return 0;
+}
+
+// Item : Bump Effect
+//--------------------
+void* item_bump() {
+  CImg<float> logo = CImg<>(56,32,1,1,0).draw_text(12,3,"I Love\nCImg !",CImg<>::vector(255).data()).
+    resize(-800,-800,1,1,3).blur(6).normalize(0,255);
+  logo+=CImg<>(logo.width(),logo.height(),1,1,0).noise(80,1).deriche(2,0,'y',false).deriche(10,0,'x',false);
+  CImgList<float> grad = logo.get_gradient();
+  cimglist_apply(grad,normalize)(-140,140);
+  logo.normalize(0,255);
+  CImg<float> light = CImg<>(300 + 2*logo.width(),300 + 2*logo.height());
+  light.draw_gaussian(0.5f*light.width(),0.5f*light.height(),80,CImg<>::vector(255).data());
+  CImg<unsigned char> img(logo.width(),logo.height(),1,3,0);
+  CImgDisplay disp(img,"[#10] - Bump Effect (Move lightsource with mouse)");
+  for (float t = 0; !disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC(); t+=0.03f) {
+    const int
+      mouse_x = (disp.mouse_x()>=0 && disp.button())?disp.mouse_x()*img.width()/disp.width():
+      (int)(img.width()/2 + img.width()*std::cos(1*t)/2),
+      mouse_y = (disp.mouse_y()>=0 && disp.button())?disp.mouse_y()*img.height()/disp.height():
+      (int)(img.height()/2 + img.height()*std::sin(3*t)/2);
+    cimg_forXY(img,x,y) {
+      const int gx = (int)grad[0](x,y), gy = (int)grad[1](x,y);
+      const float val = 40 + (gx + gy)/2 + light(light.width()/2 + mouse_x - x + gx,
+                                                 light.height()/2 + mouse_y - y + gy);
+      img(x,y,0) = img(x,y,1) = img(x,y,2) = (unsigned char)(val>255?255:val<0?0:val);
+    }
+    disp.resize(false).display(img.draw_image(0,0,0,1,logo,0.1f)).wait(25);
+    if (disp.is_keyCTRLLEFT() && disp.is_keyF()) disp.resize(640,480,false).toggle_fullscreen(false);
+  }
+  return 0;
+}
+
+// Item : Bouncing Bubble
+//------------------------
+void* item_bouncing_bubble() {
+  CImg<unsigned char> back(420,256,1,3,0), img;
+  cimg_forXY(back,x,y) back(x,y,2) = (unsigned char)((y<2*back.height()/3)?30:(255 - 2*(y + back.height()/2)));
+  CImgDisplay disp(back,"[#11] - Bouncing bubble");
+  const unsigned char col1[] = { 40, 100, 10 }, col2[] = { 20, 70, 0 }, col3[] = { 40, 150, 10 },
+                      col4[] = { 200, 255, 100 }, white[] = { 255, 255, 255 };
+  float u = (float)std::sqrt(2.0f), cx = back.width()/2.0f, t = 0, vt = 0.05f, vx = 2;
+  while (!disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC()) {
+    img = back;
+    int xm = (int)cx, ym = (int)(img.height()/2 - 70 + (img.height()/2 + 10)*(1 - cimg::abs(std::cos((t+=vt)))));
+    float r1 = 50, r2 = 50;
+    vt = 0.05f;
+    if (xm + r1>=img.width()) { const float delta = (xm + r1) - img.width(); r1-=delta; r2+=delta; }
+    if (xm - r1<0) { const float delta = -(xm - r1); r1-=delta; r2+=delta; }
+    if (ym + r2>=img.height() - 40) {
+      const float delta = (ym + r2) - img.height() + 40;
+      r2-=delta;
+      r1+=delta;
+      vt = 0.05f - 0.0015f*(50 - r2);
+    }
+    if (ym - r2<0) { const float delta = -(ym - r2); r2-=delta; r1+=delta; }
+    img.draw_ellipse(xm,ym,r1,r2,0,col1).
+      draw_ellipse((int)(xm + 0.03*r1*u),(int)(ym - 0.03*r2*u),0.85f*r1,0.85f*r2,0,col2).
+      draw_ellipse((int)(xm + 0.1*r1*u),(int)(ym - 0.1*r2*u),0.8f*r1,0.8f*r2,0,col1).
+      draw_ellipse((int)(xm + 0.2*r1*u),(int)(ym - 0.2*r2*u),r1/2,r2/2,0,col3).
+      draw_ellipse((int)(xm + 0.3*r1*u),(int)(ym - 0.3*r2*u),r1/4,r2/4,0,col4).
+      draw_image(0,img.height() - 40,img.get_crop(0,img.height() - 80,img.width() - 1,img.height() - 40).
+                 mirror('y'),0.45f).
+      draw_text(xm - 70,(int)(ym - r2 - 30),"Bubble (%d,%d)",white,0,0.7f,24,xm,ym);
+    if ((cx+=20*vt*vx)>=img.width() - 30 || cx<30) vx = -vx;
+    disp.display(img).wait(20);
+    if (disp.is_resized()) {
+      back.resize(disp.resize(disp.window_width()>200?disp.window_width():200,disp.height(),false));
+      cx = back.width()/2.0f;
+    }
+  }
+  return 0;
+}
+
+// Item : Virtual Landscape
+//--------------------------
+void* item_virtual_landscape() {
+  CImg<int> background(400,300,1,3,0), visu(background);
+  cimg_forXY(background,x,y) {
+    if (y>background.height()/2) {
+      background(x,y,2) = 255;
+      background(x,y,0) = (y - background.height()/2)*512/background.height();
+    } else background(x,y,2) = y*512/background.height();
+  }
+  const int white[] = { 255, 255, 255 };
+  CImgDisplay disp(visu.draw_text(10,10,"Please wait, generating landscape...",white).
+                   normalize(0,255),"[#12] - Virtual Landscape",0);
+  CImg<float>
+    map = 5.0*(CImg<>(700,700,1,1,300).noise(300).draw_plasma(0.2f,300).normalize(-140,150).blur(5).cut(0,150)),
+    cmap(map.width(),map.height());
+  CImg_3x3(I,float); Ipp = Inp = Icc = Ipn = Inn = 0;
+  cimg_for3x3(map,x,y,0,0,I,float) {
+    const float nox = 0.5f*(Inc - Ipc), noy = 0.5f*(Icn - Icp);
+    cmap(x,y) = cimg::max(0.0f,0.5f*nox + noy);
+  }
+  cmap.normalize(0,255);
+
+  for (float t = 0; !disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC(); t+=0.0025f) {
+    visu = background;
+    const int
+      xm = (int)(map.width()/2 + (map.width()/3)*std::cos(4.2f*t)),
+      ym = (int)(map.height()/2 + (map.height()/3)*std::sin(5.6f*t));
+    const CImg<float>
+      smap = map.get_crop(xm,ym,xm + 100,ym + 90),
+      scmap = cmap.get_crop(xm,ym,xm + 100,ym + 90);
+    CImg<int> ymin(visu.width(),1,1,1,visu.height()), ymax(ymin.width(),1,1,1,0);
+    cimg_forY(smap,z) {
+      const int y0 = (int)(visu.height() - 1 - 10*std::pow((double)z,0.63) + 80);
+      cimg_forX(visu,x) {
+        const int nz = smap.height() - z;
+        float mx = x*(smap.width() - 2.0f*nz*0.2f)/visu.width() + 0.2f*nz;
+        const int y = (int)(y0 - smap.linear_atX(mx,z)/(1 + 0.02*z));
+        const float cc = (float)scmap.linear_atX(mx,z);
+        if (y<visu.height() && y<ymin(x)) {
+          const float cz = (smap.height() - (float)z)/smap.height(), czz = cz>0.25?1:4*cz;
+          if (y!=y0) for (int l = y>0?y:0; l<ymin(x); ++l) {
+            visu(x,l,0) = (int)((1 - czz)*visu(x,l,0) + 4*cc*czz);
+            visu(x,l,1) = (int)((1 - czz)*visu(x,l,1) + 3*cc*czz);
+            visu(x,l,2) = (int)((1 - czz)*visu(x,l,2) + cc*czz);
+          } else for (int l = y>0?y:0; l<ymin(x); ++l) {
+              int cl = l - visu.height()/2;
+              visu(x,l,0) = 10; visu(x,l,1) = 200 - cl; visu(x,l,2) = 255 - cl;
+            }
+        }
+        ymin(x) = cimg::min(ymin(x),y); ymax(x) = cimg::max(ymax(x),y);
+      }
+    }
+    visu.draw_text(5,5,"%u frames/s",white,0,0.5f,13,(unsigned int)disp.frames_per_second());
+    disp.resize(false).display(visu.cut(0,255)).wait(25);
+    if (disp.is_keyCTRLLEFT() && disp.is_keyF()) disp.resize(400,300,false).toggle_fullscreen(false);
+  }
+  return 0;
+}
+
+// Item : Plasma Effect with Sinus Scrolling.
+//-------------------------------------------
+void* item_plasma() {
+  CImg<float> plasma, camp(3), cfreq(3), namp(3), nfreq(3);
+  CImgList<unsigned char> font = CImgList<unsigned char>::font(53);
+  CImg<unsigned char> visu(400,300,1,3,0), letter, scroll(visu.width() + 2*font['W'].width(),font['W'].height(),1,1,0);
+  const char *text = "   * The CImg Library : C++ Template Image Processing Toolkit *";
+  CImgDisplay disp(visu,"[#13] - Plasma Effect");
+  const unsigned char white[] = { 255, 255, 255 };
+  unsigned int cplasma = 0, pos = 0, tpos = 0, lwidth = 0;
+  float tx = 0, ts = 0, alpha = 2, beta = 0;
+  namp.fill(0).noise(visu.height()/4,0);
+  nfreq.fill(0).noise(0.1);
+
+  visu.draw_text(10,10,"Please wait, generating plasma...",white).display(disp);
+  const unsigned int nb_plasmas = 5;
+  plasma.assign(5*visu.width()/3,visu.height() + 1,1,nb_plasmas,0).noise(100).draw_plasma();
+  cimg_forC(plasma,k) plasma.get_shared_channel(k).blur((float)(cimg::rand()*6)).normalize(0,255);
+
+  while (!disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC()) {
+    if (alpha>1) {
+      alpha-=1;
+      cplasma = (cplasma + 1)%plasma.spectrum();
+      camp = namp;
+      cfreq = nfreq;
+      namp.fill(0).noise(100).normalize(0,visu.height()/4.0f);
+      nfreq.fill(0).noise(0.2);
+    }
+    const unsigned int
+      v0 = cplasma, v1 = (cplasma + 1)%plasma.spectrum(),
+      v2 = (cplasma + 2)%plasma.spectrum(), v3 = (cplasma + 3)%plasma.spectrum();
+    const float umalpha = 1 - alpha;
+
+    unsigned char *ptr_r = visu.data(0,0,0,0), *ptr_g = visu.data(0,0,0,1), *ptr_b = visu.data(0,0,0,2);
+    cimg_forY(visu,y) {
+      const float
+        *ptr_r1 = plasma.data((unsigned int)cimg::max(0.0f,camp(0)*(1.1 + std::sin(tx + cfreq(0)*y))),y,v0),
+        *ptr_g1 = plasma.data((unsigned int)cimg::max(0.0f,camp(1)*(1.1 + std::sin(tx + cfreq(1)*y))),y,v1),
+        *ptr_b1 = plasma.data((unsigned int)cimg::max(0.0f,camp(2)*(2 + std::sin(tx + cfreq(2)*y))),y,v2),
+        *ptr_r2 = plasma.data((unsigned int)cimg::max(0.0f,namp(0)*(1.1 + std::sin(tx + nfreq(0)*y))),y,v1),
+        *ptr_g2 = plasma.data((unsigned int)cimg::max(0.0f,namp(1)*(1.1 + std::sin(tx + nfreq(1)*y))),y,v2),
+        *ptr_b2 = plasma.data((unsigned int)cimg::max(0.0f,namp(2)*(2 + std::sin(tx + nfreq(2)*y))),y,v3);
+      cimg_forX(visu,x) {
+        *(ptr_r++) = (unsigned char)(umalpha*(*(ptr_r1++)) + alpha*(*(ptr_r2++)));
+        *(ptr_g++) = (unsigned char)(umalpha*(*(ptr_g1++)) + alpha*(*(ptr_g2++)));
+        *(ptr_b++) = (unsigned char)(umalpha*(*(ptr_b1++)) + alpha*(*(ptr_b2++)));
+      }
+    }
+    if (!pos) {
+      const CImg<unsigned char>& letter = font(text[tpos] + 256);
+      lwidth = (unsigned int)letter.width();
+      scroll.draw_image(visu.width(),letter);
+      (++tpos) %= std::strlen(text);
+    }
+    scroll.shift(-2);
+    if ((pos+=2)>lwidth + 2) pos = 0;
+    cimg_forX(visu,x) {
+      const int y0 = (int)(visu.height()/2 + visu.height()/4*std::sin(ts + x/(70 + 30*std::cos(beta))));
+      cimg_forY(scroll,y) {
+        if (scroll(x,y)) {
+          const unsigned int y1 = y0 + y + 2; visu(x,y1,0)/=2; visu(x,y1,1)/=2; visu(x,y1,2)/=2;
+          const unsigned int y2 = y1 - 6; visu(x,y2,0) = visu(x,y2,1) = visu(x,y2,2) = 255;
+        }
+      }
+    }
+    alpha+=0.007f; beta+=0.04f; tx+=0.09f; ts+=0.04f;
+    disp.resize(false).display(visu).wait(20);
+    if (disp.is_keyCTRLLEFT() && disp.is_keyF()) disp.resize(640,480,false).toggle_fullscreen(false);
+  }
+  return 0;
+}
+
+// Item : Oriented Convolutions
+//------------------------------
+void* item_oriented_convolutions() {
+  const CImg<unsigned char> img = CImg<unsigned char>(data_lena,256,256,1,1,false).noise(50,2);
+  CImgList<unsigned char> visu = (img,img,img);
+  CImg<float> mask(16,16);
+  const float value = 255;
+  CImgDisplay disp(visu,"[#14] - Original image, Oriented kernel and Convolved image");
+  for (float angle = 0; !disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC(); angle+=0.1f) {
+    const float ca = (float)std::cos(angle), sa = (float)std::sin(angle);
+    const CImg<float>
+      u = CImg<>::vector(ca,sa),
+      v = CImg<>::vector(-sa,ca),
+      tensor = 30.0*u*u.get_transpose() + 2.0*v*v.get_transpose();
+    mask.draw_gaussian(0.5f*mask.width(),0.5f*mask.height(),tensor,&value);
+    mask/=mask.sum();
+    visu[1] = mask.get_resize(img).normalize(0,255).
+      draw_text(2,2,"Angle = %d deg",&value,0,1,13,cimg::mod((int)(angle*180/cimg::PI),360));
+    visu[2] = img.get_convolve(mask);
+    disp.resize(disp.window_width(),(int)(disp.height()*disp.window_width()/disp.width()),false).
+      display(visu).wait(25);
+  }
+  return 0;
+}
+
+// Item : Shade Bobs
+//-------------------
+void* item_shade_bobs() {
+  float t = 100, rx = 0, ry = 0, rz = 0, rt = 0, rcx = 0;
+  CImg<unsigned char> img(512,512,1,1,0), palette;
+  CImgDisplay disp(img,"[#15] - Shade Bobs");
+  const unsigned char one = 1;
+  int nbbobs = 0, rybobs = 0;
+  while (!disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC()) {
+    if ((t+=0.015f)>4*cimg::PI) {
+      img.fill(0);
+      rx = (float)(cimg::crand());
+      ry = (float)(cimg::crand());
+      rz = (float)(cimg::crand());
+      rt = (float)(cimg::crand());
+      rcx = 0.6f*(float)(cimg::crand());
+      t = 0;
+      palette = CImg<unsigned char>(3,4 + (int)(12*cimg::rand()),1,1,0).noise(255,2).resize(3,256,1,1,3);
+      palette(0) = palette(1) = palette(2) = 0;
+      nbbobs = 20 + (int)(cimg::rand()*80);
+      rybobs = (10 + (int)(cimg::rand()*50))*cimg::min(img.width(),img.height())/300;
+    }
+    for (int i = 0; i<nbbobs; ++i) {
+      const float
+        r = (float)(ry + rx*std::cos(6*rz*t) + (1 - rx)*std::sin(6*rt*t)),
+        a = (float)((360*std::sin(rz*t) + 30*ry*i)*cimg::PI/180),
+        ax = (float)(i*2*cimg::PI/nbbobs + t);
+      const int
+        cx = (int)((1 + rcx*std::cos(ax) + r*std::cos(a))*img.width()/2),
+        cy = (int)((1 + rcx*std::sin(ax) + r*std::sin(a))*img.height()/2);
+      img.draw_circle(cx,cy,rybobs,&one,-1.0f);
+    }
+    CImg_3x3(I,unsigned char); Ipp = Inp = Ipn = Inn = 0;
+    CImg<unsigned char> tmp(img);
+    cimg_for3x3(tmp,x,y,0,0,I,unsigned char) img(x,y) = (Inc + Ipc + Icn + Icp + (Icc<<2))>>3;
+    CImg<unsigned char> visu(img.width(),img.height(),1,3);
+    cimg_forXY(visu,xx,yy) {
+      const unsigned char *col = palette.data(0,img(xx,yy));
+      visu(xx,yy,0) = *(col++);
+      visu(xx,yy,1) = *(col++);
+      visu(xx,yy,2) = *(col++);
+    }
+    disp.display(visu).wait(25);
+    if (disp.is_keyCTRLLEFT() && disp.is_keyF()) disp.resize(640,480,false).toggle_fullscreen(false);
+    if (disp.is_resized()) img.resize(disp.resize(false),3);
+    if ((disp.key() && !disp.is_keyCTRLLEFT()) || disp.button()) {
+      t = 70; if (!(disp.is_keyQ() || disp.is_keyESC())) disp.set_key();
+      disp.set_button();
+    }
+  }
+  return 0;
+}
+
+// Item : Fourier Filtering
+//-------------------------
+void* item_fourier_filtering() {
+  const CImg<unsigned char> img = CImg<unsigned char>(data_lena,256,256,1,1,false).resize(256,256);
+  CImgList<float> F = img.get_FFT();
+  cimglist_apply(F,shift)(img.width()/2,img.height()/2,0,0,2);
+  const CImg<unsigned char> mag = ((F[0].get_pow(2) + F[1].get_pow(2)).sqrt() + 1).log().normalize(0,255);
+  CImgList<unsigned char> visu(img,mag);
+  CImgDisplay disp(visu,"[#16] - Fourier Filtering (Click to set filter)");
+  CImg<unsigned char> mask(img.width(),img.height(),1,1,1);
+  const unsigned char one[] = { 1 }, zero[] = { 0 }, white[] = { 255 };
+  int rmin = 0, rmax = 256;
+  while (!disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC()) {
+    disp.wait();
+    const int
+      xm = disp.mouse_x()*2*img.width()/disp.width() - img.width(),
+      ym = disp.mouse_y()*img.height()/disp.height(),
+      x = xm - img.width()/2,
+      y = ym - img.height()/2;
+    if (disp.button() && xm>=0 && ym>=0) {
+      const int r = (int)cimg::max(0.0f,(float)std::sqrt((float)x*x + y*y) - 3);
+      if (disp.button()&1) rmax = r;
+      if (disp.button()&2) rmin = r;
+      if (rmin>=rmax) rmin = cimg::max(rmax - 1,0);
+      mask.fill(0).draw_circle(mag.width()/2,mag.height()/2,rmax,one).
+        draw_circle(mag.width()/2,mag.height()/2,rmin,zero);
+      CImgList<float> nF(F);
+      cimglist_for(F,l) nF[l].mul(mask).shift(-img.width()/2,-img.height()/2,0,0,2);
+      visu[0] = nF.FFT(true)[0].normalize(0,255);
+    }
+    if (disp.is_resized()) disp.resize(disp.window_width(),disp.window_width()/2).display(visu);
+    visu[1] = mag.get_mul(mask).draw_text(5,5,"Freq Min/Max = %d / %d",white,zero,0.6f,13,(int)rmin,(int)rmax);
+    visu.display(disp);
+  }
+  return 0;
+}
+
+// Item : Image Zoomer
+//---------------------
+void* item_image_zoomer() {
+  const CImg<unsigned char> img = CImg<unsigned char>(data_logo,555,103,1,3,false);
+  CImgDisplay disp(img,"[#17] - Original Image"), dispz(500,500,"[#17] - Zoomed Image",0);
+  disp.move((CImgDisplay::screen_width() - dispz.width())/2,
+            (CImgDisplay::screen_height() - dispz.height() - disp.height())/2);
+  dispz.move(disp.window_x(),disp.window_y() + disp.window_height() + 40);
+  int factor = 20, x = 0, y = 0;
+  bool grid = false, redraw = false;
+  while (!disp.is_closed() && !dispz.is_closed() &&
+         !disp.is_keyQ() && !dispz.is_keyQ() && !disp.is_keyESC() && !dispz.is_keyESC()) {
+    if (disp.mouse_x()>=0) { x = disp.mouse_x(); y = disp.mouse_y(); redraw = true; }
+    if (redraw) {
+      const int
+        x0 = x - factor, y0 = y - factor,
+        x1 = x + factor, y1 = y + factor;
+      const unsigned char red[] = { 255, 0, 0 }, black[] = { 0, 0, 0 }, white[] = { 255, 255, 255 };
+      (+img).draw_rectangle(x0,y0,x1,y1,red,1.0f,~0U).display(disp);
+      CImg<unsigned char> visu = img.get_crop(x0,y0,x1,y1).draw_point(x - x0,y - y0,red,0.2f).resize(dispz);
+      if (grid) {
+        const int bfac = 2*factor + 1;
+        for (int i = 0; i<bfac; ++i) {
+          const int X = i*dispz.width()/bfac, Y = i*dispz.height()/bfac;
+          visu.draw_line(X,0,X,dispz.height() - 1,black).draw_line(0,Y,dispz.width() - 1,Y,black);
+        }
+      }
+      visu.draw_text(2,2,"Coords (%d,%d)",white,0,1,13,x,y).display(dispz);
+    }
+    if (disp.button()&1) {
+      factor = (int)(factor/1.5f);
+      if (factor<3) factor = 3;
+      disp.set_button(); redraw = true;
+    }
+    if (disp.button()&2) {
+      factor = (int)(factor*1.5f);
+      if (factor>100) factor = 100;
+      disp.set_button(); redraw = true;
+    }
+    if (disp.button()&4 || dispz.button()) { grid = !grid; disp.set_button(); dispz.set_button(); redraw = true; }
+    if (disp.is_resized()) disp.resize(disp);
+    if (dispz.is_resized()) { dispz.resize(); redraw = true; }
+    CImgDisplay::wait(disp,dispz);
+  }
+  return 0;
+}
+
+// Item : Blobs Editor
+//--------------------
+void* item_blobs_editor() {
+  CImg<unsigned int> img(300,300,1,3);
+  CImgList<unsigned int> colors;
+  CImgList<float> blobs;
+  CImgDisplay disp(img,"[#18] - Blobs Editor",0);
+  const unsigned int white[] = { 255, 255, 255 };
+  bool moving = false;
+
+  for (float alpha = 0; !disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC(); alpha+=0.1f) {
+    const int xm = disp.mouse_x()*img.width()/disp.width(), ym = disp.mouse_y()*img.height()/disp.height();
+    int selected = -1;
+    img.fill(0);
+
+    if (blobs) {
+      float dist = 0, dist_min = (float)img.width()*img.width() + img.height()*img.height();
+      cimglist_for(blobs,l) {
+        const CImg<float>& blob = blobs[l];
+        const float
+          xb = blob[0], yb = blob[1], rb = blob[2],
+          sigma = (float)(rb*(1 + 0.05f*std::cos(blob[3]*alpha))),
+          sigma2 = 2*sigma*sigma, precision = 4.5f*sigma2;
+        const int
+          tx0 = (int)(xb - 3*sigma),
+          ty0 = (int)(yb - 3*sigma),
+          tx1 = (int)(xb + 3*sigma),
+          ty1 = (int)(yb + 3*sigma);
+        const unsigned int
+          col1 = colors[l](0), col2 = colors[l](1), col3 = colors[l](2), wh = img.width()*img.height(),
+          x0 = tx0<0?0:tx0, y0 = ty0<0?0:ty0,
+          x1 = tx1>=img.width()?img.width() - 1:tx1, y1 = ty1>=img.height()?img.height() - 1:ty1;
+        float dy = y0 - yb;
+        unsigned int *ptr = img.data(x0,y0);
+        for (unsigned int y = y0; y<=y1; ++y) {
+          float dx = x0 - xb;
+          for (unsigned int x = x0; x<=x1; ++x) {
+            float dist = dx*dx + dy*dy;
+            if (dist<precision) {
+              const float val = (float)exp(-dist/sigma2);
+              *ptr+=(unsigned int)(val*col1);
+              *(ptr + wh)+=(unsigned int)(val*col2);
+              *(ptr + 2*wh)+=(unsigned int)(val*col3);
+            }
+            ++dx; ++ptr;
+          }
+          ptr+=img.width() - (x1 -x0) - 1;
+          ++dy;
+        }
+        if ((dist = (xb - xm)*(xb - xm) + (yb - ym)*(yb - ym))<dist_min) { dist_min = dist; selected = l; }
+      }
+
+      for (unsigned int *ptr1 = img.data(0,0,0,1), *ptr2 = img.data(0,0,0,2), *ptr3 = img.end(),
+             off = 0, wh = img.width()*img.height(); ptr1>img.data(); ++off) {
+        unsigned int val1 = *(--ptr1), val2 = *(--ptr2), val3 = *(--ptr3);
+        const unsigned int pot = val1*val1 + val2*val2 + val3*val3;
+        if (pot<128*128) { *ptr1 = *ptr3 = 255*off/wh; *ptr2 = 180*off/wh; }
+        else {
+          if (pot<140*140) { *ptr1 >>= 1; *ptr2 >>= 1; *ptr3 >>= 1; }
+          else {
+            *ptr1 = val1<255?val1:255;
+            *ptr2 = val2<255?val2:255;
+            *ptr3 = val3<255?val3:255;
+          }
+        }
+      }
+      cimglist_for(blobs,ll) {
+        const CImg<float>& blob = blobs[ll];
+        const int
+          rb = (int)(blob[2]*(1 + 0.05f*std::cos(blob[3]*alpha))),
+          xb = (int)(blob[0] + rb/2.5f),
+          yb = (int)(blob[1] - rb/2.5f);
+        img.draw_circle(xb,yb,rb>>1,white,0.2f).draw_circle(xb,yb,rb/3,white,0.2f).
+          draw_circle(xb,yb,rb/5,white,0.2f);
+      }
+    } else {
+      CImg<unsigned int> text;
+      text.draw_text(0,0,
+                     "CImg Blobs Editor\n"
+                     "-----------------------\n\n"
+                     "* Left mouse button :\n   Create and Move Blob.\n\n"
+                     "* Right mouse button :\n  Remove nearest Blob.\n\n"
+                     "* Colors and size of Appearing Blobs\n"
+                     "  are randomly chosen.\n\n\n"
+                     " >> Press mouse button to start ! <<",
+                     white).resize(-100,-100,1,3);
+      img.fill(100).draw_image((img.width() - text.width())/2,
+                               (img.height() - text.height())/2,
+                               text,text,1,255U);
+    }
+
+    if (disp.mouse_x()>=0 && disp.mouse_y()>=0) {
+      if (disp.button()&1) {
+        float dist_selected = 0;
+        if (selected>=0) {
+          const float a = xm - blobs[selected](0), b = ym - blobs[selected](1), c = blobs[selected](2);
+          dist_selected = a*a + b*b - c*c;
+        }
+        if (moving || dist_selected<0) { blobs[selected](0) = (float)xm; blobs[selected](1) = (float)ym; }
+        else {
+          blobs.insert(CImg<>::vector((float)xm,(float)ym,(float)(10 + 30*cimg::rand()),(float)(3*cimg::rand())));
+          colors.insert(CImg<>(3).fill(0).noise(255,1).normalize(0,255));
+        }
+        moving = true;
+      } else moving = false;
+      if (selected>=0 && disp.button()&2) { blobs.remove(selected); colors.remove(selected); disp.set_button(); }
+    }
+
+    img.display(disp.wait(25));
+    if (disp.is_resized()) {
+      img.resize(disp.resize(false));
+      cimglist_for(blobs,l) if (blobs[l](0)>=img.width() || blobs[l](1)>=img.height()) {
+        blobs.remove(l); colors.remove(l--);
+      }
+    }
+  }
+  return 0;
+}
+
+// Item : Double Torus
+//---------------------
+void* item_double_torus() {
+  CImg<unsigned char> visu(300,256,1,3,0);
+  CImgDisplay disp(visu,"[#19] - Double 3D Torus");
+  CImgList<unsigned int> primitives;
+  CImg<float>
+    points = CImg<>::torus3d(primitives,60,20),
+    points2 = CImg<>::rotation_matrix(1,0,0,(float)cimg::PI/2.0f)*points;
+  CImgList<unsigned char> colors(2*primitives.size(),CImg<unsigned char>::vector(255,255,0));
+  cimglist_for(primitives,ll) colors[ll++].fill(100,255,100);
+  cimglist_for(primitives,l)
+    if (l%2) colors[primitives.size() + l].fill(255,200,255); else colors[primitives.size() + l].fill(200,150,255);
+  const CImg<float> opacities = CImg<>(primitives.size(),1,1,1,1.0f).append(CImg<>(primitives.size(),1,1,1,0.4f));
+  points.shift_object3d(-30,0,0).append_object3d(primitives,points2.shift_object3d(30,0,0),primitives);
+  float alpha = 0, beta = 0, gamma = 0, theta = 0;
+  while (!disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC()) {
+    visu.get_shared_channels(1,2).fill(0);
+    visu.get_shared_row(visu.height() - 1,0,0).noise(200,1);
+    CImg_3x3(I,unsigned char); Ipp = Icp = Inp = Ipc = Inc = 0;
+    cimg_for3x3(visu,x,y,0,0,I,unsigned char) visu(x,y,0) = (Icc + Ipn + Icn + Inn)>>2;
+    for (unsigned int y = 0; y<100; ++y) std::memset(visu.data(0,y,0,2),255 - y*255/100,visu.width());
+    const CImg<float>
+      rpoints = CImg<>::rotation_matrix(1,1,0,(alpha+=0.01f))*CImg<>::rotation_matrix(1,0,1,(beta-=0.02f))*
+      CImg<>::rotation_matrix(0,1,1,(gamma+=0.03f))*points;
+    if (disp.is_resized()) disp.resize(false);
+    if (disp.is_keyCTRLLEFT() && disp.is_keyF()) disp.resize(300,256,false).toggle_fullscreen(false);
+    visu.draw_object3d(visu.width()/2.0f,visu.height()/2.0f,0,
+                       rpoints,primitives,colors,opacities,4,
+                       false,500.0f,(float)(std::cos(theta+=0.01f) + 1)*visu.width()/2.0f,
+                       (float)visu.height(),-100.0f,0.1f,1.5f).
+      display(disp.wait(25));
+  }
+  return 0;
+}
+
+// Item : 3D Metaballs
+//---------------------
+struct metaballs3d {
+  float cx1, cy1, cz1, cx2, cy2, cz2, cx3, cy3, cz3;
+  inline float operator()(const float x, const float y, const float z) const {
+    const float
+      x1 = x - cx1, y1 = y - cy1, z1 = z - cz1,
+      x2 = x - cx2, y2 = y - cy2, z2 = z - cz2,
+      x3 = x - cx3, y3 = y - cy3, z3 = z - cz3,
+      r1 = 0.3f*(x1*x1 + y1*y1 + z1*z1),
+      r2 = 0.4f*(x2*x2 + y2*y2 + z2*z2),
+      r3 = 0.5f*(x3*x3 + y3*y3 + z3*z3);
+    float potential = 0;
+    if (r1<1.3f) potential+= 1.0f - r1*(r1*(4*r1 + 17) - 22)/9;
+    if (r2<1.3f) potential+= 1.0f - r2*(r2*(4*r2 + 17) - 22)/9;
+    if (r3<1.3f) potential+= 1.0f - r3*(r3*(4*r3 + 17) - 22)/9;
+    return potential;
+  }
+};
+
+void* item_3d_metaballs() {
+  CImg<unsigned char> img = CImg<unsigned char>(100,100,1,3,0).noise(100,2).draw_plasma(1,0,10).
+    resize(512,320,1,3).blur(4);
+  img.get_shared_channel(2)/=4; img.get_shared_channel(1)/=2;
+  metaballs3d met;
+  CImgList<unsigned int> primitives;
+  CImgList<unsigned char> colors;
+  const unsigned char white[] = { 255,255,255 };
+  float alpha = 0, beta = 0, delta = 0, theta = 0, gamma = 0;
+  CImgDisplay disp(img,"[#20] - 3D Metaballs");
+  while (!disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC()) {
+    met.cx2 = 1.5f*(float)std::cos(theta); met.cy2 = 2.5f*(float)std::sin(3*(theta+=0.017f)); met.cz2 = 0;
+    met.cx1 = 0; met.cy1 = 2.0f*(float)std::sin(4*gamma); met.cz1 = 1.2f*(float)std::cos(2*(gamma-=0.0083f));
+    met.cx3 = 2.5f*(float)std::cos(2.5*delta); met.cy3 = 0; met.cz3 = 1.5f*(float)std::sin(2*(delta+=0.0125f));
+    const CImg<float>
+      points = CImg<>::isosurface3d(primitives,met,0.8f,-4.5f,-4.5f,-3.5f,4.5f,4.5f,3.5f,24,24,24),
+      rot = 50.0*CImg<>::rotation_matrix(0,0,1,(alpha+=0.02f))*CImg<>::rotation_matrix(1,1,0,(beta+=0.076f)),
+      rpoints = rot*points;
+    primitives.reverse_object3d();
+    if (colors.size()<primitives.size()) colors.assign(primitives.size(),1,3,1,1);
+    cimglist_for(primitives,ll) {
+      colors(ll,0) = (unsigned char)(-60 + 191 + 64*ll/primitives.size());
+      colors(ll,1) = (unsigned char)(-30 + 191 + 64*ll/primitives.size());
+      colors(ll,2) = (unsigned char)(255*ll/primitives.size());
+    }
+    if (primitives.size()) {
+      (+img).draw_object3d(img.width()/2.0f,img.height()/2.0f,0.0f,
+                           rpoints,primitives,
+                           colors.get_shared_images(0,primitives.size() - 1),
+                           4,false,500, 0,0,-500, 0.1f,1.5f).
+        draw_text(5,5,"%u frames/s",white,0,0.5f,13,(unsigned int)disp.frames_per_second()).display(disp.wait(20));
+    }
+    if (disp.is_resized()) disp.resize(false);
+    if (disp.is_keyCTRLLEFT() && disp.is_keyF()) disp.resize(512,320,false).toggle_fullscreen(false);
+  }
+  return 0;
+}
+
+// Item : Fireworks
+//------------------
+void* item_fireworks() {
+  CImg<unsigned char> img(640,480,1,3,0);
+  CImgDisplay disp(img,"[#21] - Fireworks (Click to add/explode rockets)");
+  CImgList<unsigned char> colors;
+  const unsigned char white[] = { 255,255,255 }, red[] = { 128,0,0 };
+  CImgList<float> particles;
+  float time = 0, speed = 100.0f;
+
+  while (!disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC()) {
+
+    if (disp.button()&1 || !particles.size() || (--time)<0) {
+      particles.insert(CImg<>::vector((float)cimg::rand()*img.width(),(float)img.height(),
+                                      (float)cimg::crand()*4,-6 - (float)cimg::rand()*3,
+                                      30 + 60*(float)cimg::rand(),3));
+      colors.insert(CImg<unsigned char>::vector(255,255,255));
+      time = (float)(cimg::rand()*speed);
+    }
+    img*=0.92f;
+
+    cimglist_for(particles,l) {
+      bool remove_particle = false;
+      float &x = particles(l,0), &y = particles(l,1), &vx = particles(l,2), &vy = particles(l,3),
+            &t = particles(l,4), &r = particles(l,5);
+      const float r2 = (t>0 || t<-42)?r/3:r*(1 - 2*(-(t + 2)/40.0f)/3);
+      img.draw_ellipse((int)x,(int)y,r,r2,(float)(std::atan2(vy,vx)*180/cimg::PI),colors[l].data(),0.6f);
+      x+=vx; y+=vy; vy+=0.09f; t--;
+      if (y>img.height() + 10 || x<0 || x>=img.width() + 10) remove_particle = true;
+
+      if (t<0 && t>=-1) {
+        if ((speed*=0.9f)<10) speed=10.0f;
+        const unsigned char
+          r = (unsigned char)cimg::min(50 + 3*(unsigned char)(100*cimg::rand()), 255),
+          g = (unsigned char)cimg::min(50 + 3*(unsigned char)(100*cimg::rand()), 255),
+          b = (unsigned char)cimg::min(50 + 3*(unsigned char)(100*cimg::rand()), 255);
+        const float di = 10 + (float)cimg::rand()*60, nr = (float)cimg::rand()*30;
+        for (float i=0; i<360; i+=di) {
+          const float rad = i*(float)cimg::PI/180, c = (float)std::cos(rad), s = (float)std::sin(rad);
+          particles.insert(CImg<>::vector(x,y,2*c + vx/1.5f,2*s + vy/1.5f,-2.0f,nr));
+          colors.insert(CImg<unsigned char>::vector(r,g,b));
+        }
+        remove_particle = true;
+      } else if (t<-1) { r*=0.95f; if (r<0.5f) remove_particle=true; }
+      if (remove_particle) { particles.remove(l); colors.remove(l); l--; }
+    }
+    if (disp.button()&2) cimglist_for(particles,l) if (particles(l,4)>0) particles(l,4)=0.5f;
+    img.draw_text(5,5," %u frames/s ",white,red,0.5f,13,(unsigned int)disp.frames_per_second());
+    disp.display(img).wait(25);
+    if (disp.is_keyCTRLLEFT() && disp.is_keyF()) disp.resize(640,480,false).toggle_fullscreen(false);
+    if (disp.is_resized()) disp.resize(disp,false);
+  }
+  return 0;
+}
+
+// Item : Rubber Logo
+//--------------------
+void* item_rubber_logo() {
+  const unsigned char white[] = { 255,255,255 };
+  CImg<unsigned char> background = CImg<unsigned char>(300,300).noise(100,2);
+  background(0,0) = background(299,0) = background(299,299) = background(0,299) = 0;
+  background.draw_plasma().blur(1.0f,14.0f,0.0f,0).resize(-100,-100,1,3);
+  CImgDisplay disp(CImg<unsigned char>(background).
+                   draw_text(10,10,"Please wait, generating rubber object...",white),"[#22] - 3D Rubber Logo");
+
+  CImg<unsigned char> vol = CImg<unsigned char>().draw_text(30,30,"CImg",white,0,1,57).resize(-100,-100,15,1);
+  for (unsigned int k = 0; k<5; ++k) { vol.get_shared_slice(k).fill(0); vol.get_shared_slice(vol.depth()-1-k).fill(0); }
+  vol.resize(vol.width() + 30,vol.height() + 30,-100,1,0).blur(2).resize(-50,-50);
+  CImgList<unsigned int> faces;
+  CImg<float> points = vol.get_isosurface3d(faces,45);
+  CImgList<unsigned int> colors(faces.size(),CImg<unsigned char>::vector(100,100,255));
+  cimglist_for(colors,l) {
+    const float x = (points(faces(l,0),0) + points(faces(l,1),0) + points(faces(l,2),0))/3;
+    if (x<30) colors[l] = CImg<unsigned char>::vector(255,100,100);
+    else { if (x<34) colors[l] = CImg<unsigned char>::vector(200,155,100);
+    else { if (x<55) colors[l] = CImg<unsigned char>::vector(100,255,155);
+    }}}
+  faces.reverse_object3d();
+  points.shift_object3d()*=5.5f;
+
+  CImgList<unsigned char> frames(100,background);
+  bool ok_visu = false;
+  unsigned int nb_frame = 0;
+  float alpha = 0, beta = 0, gamma = 0;
+
+  while (!disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC()) {
+    CImg<unsigned char>& frame = frames[nb_frame++];
+    if (nb_frame>=frames.size()) { ok_visu = true; nb_frame = 0; }
+    const CImg<float>
+      rot = CImg<>::rotation_matrix(0,1,0.2f,alpha+=0.011f)*
+      CImg<>::rotation_matrix(1,0.4f,1,beta+=0.015f)*
+      (1 + 0.1f*std::cos((double)(gamma+=0.1f)));
+    (frame=background).draw_object3d(frame.width()/2.0f,frame.height()/2.0f,frame.depth()/2.0f,
+                                     rot*points,faces,colors,5,false,500,0,0,-5000,0.1f,1.0f);
+    if (ok_visu) {
+      CImg<unsigned char> visu(frame);
+      cimglist_for(frames,l) {
+        const unsigned int
+          y0 = l*visu.height()/frames.size(),
+          y1 = (l + 1)*visu.height()/frames.size() - 1;
+        cimg_forC(visu,k)
+          visu.get_shared_rows(y0,y1,0,k) = frames[(nb_frame + l)%frames.size()].get_shared_rows(y0,y1,0,k);
+      }
+      visu.get_resize(disp,1).draw_text(5,5," %u frames/s ",white,0,0.5f,13,(unsigned int)disp.frames_per_second()).
+        display(disp.wait(20));
+    }
+    if (disp.is_keyCTRLLEFT() && disp.is_keyF()) disp.resize(300,300,false).toggle_fullscreen(false);
+    if (disp.is_resized()) disp.resize();
+  }
+  return 0;
+}
+
+// Item : Image Waves
+//--------------------
+void* item_image_waves() {
+  const CImg<unsigned char> img = CImg<unsigned char>(data_milla,211,242,1,3,false).get_resize(128,128,1,3);
+  CImgList<unsigned int> faces0;
+  CImgList<unsigned char> colors0;
+  const CImgList<float>
+    points0 = (img.get_elevation3d(faces0,colors0,img.get_channel(0).fill(0)).shift_object3d()*=3)<'x',
+    opacities0(faces0.size(),1,1,1,1,1.0f);
+  CImg<unsigned char>
+    back = CImg<unsigned char>(400,300,1,3).sequence(0,130),
+    ball = CImg<unsigned char>(12,12,1,3,0).draw_circle(6,6,5,CImg<unsigned char>::vector(0,128,64).data());
+  const CImg<float> mball = CImg<>(12,12,1,1,0).draw_circle(6,6,5,CImg<>::vector(1.0f).data());
+  ball.draw_circle(7,5,4,CImg<unsigned char>::vector(16,96,52).data()).
+    draw_circle(8,4,2,CImg<unsigned char>::vector(0,128,64).data()).
+    draw_circle(8,4,1,CImg<unsigned char>::vector(64,196,128).data());
+  CImg<float> uc(img.width()/2,img.height()/2,1,1,0), up(uc), upp(uc);
+  CImgList<float> particles;
+  CImgDisplay disp(back,"[#23] - Image Waves (Try mouse buttons!)");
+  for (float alpha = 0.0f, count = 10.0f; !disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC(); ) {
+    if ((disp.button()&1 && disp.mouse_x()>=0) || --count<0) {
+      CImg<>::vector((float)(cimg::rand()*(img.width() - 1)),(float)(cimg::rand()*(img.height() - 1)),-200,0).
+        move_to(particles);
+      count = (float)(cimg::rand()*15);
+    }
+    alpha = (disp.mouse_x()>=0 && disp.button()&2)?(float)(disp.mouse_x()*2*cimg::PI/disp.width()):(alpha + 0.02f);
+    if (disp.is_keyCTRLLEFT() && disp.is_keyF()) disp.resize(400,300,false).toggle_fullscreen(false);
+    cimglist_for(particles,l) {
+      float& z = up((int)particles(l,0)>>1,(int)particles(l,1)>>1);
+      if ((particles(l,2)+=(particles(l,3)+=0.5f))>z-10) { z = 250.0f; particles.remove(l--); }
+    }
+    CImg_3x3(U,float); Upp = Unp = Ucc = Upn = Unn = 0;
+    cimg_for3x3(up,x,y,0,0,U,float) uc(x,y) = (Unc + Upc + Ucn + Ucp)/2 - upp(x,y);
+    (uc-=(float)(uc.blur(0.7f).mean())).swap(upp).swap(up);
+    CImgList<float> points(points0);
+    CImgList<unsigned int> faces(faces0);
+    CImgList<unsigned char> colors(colors0);
+    CImgList<float> opacities(opacities0);
+    cimglist_for(points,p)
+      points(p,2) = cimg::min(30 + uc.linear_atXY((p%img.width())/2.0f,(p/img.width())/2.0f),70.0f);
+    cimglist_for(particles,l) {
+      points.insert(CImg<>::vector(3*(particles(l,0) - img.width()/2.0f),3*(particles(l,1) - img.height()/2.0f),30.0f +
+                                   particles(l,2)));
+      faces.insert(CImg<unsigned int>::vector(points.size() - 1));
+      colors.insert(ball,~0U,true);
+      opacities.insert(mball,~0U,true);
+    }
+    const CImg<float>
+      rot = CImg<>::rotation_matrix(1.0f,0,0,(float)(cimg::PI/3.0f))*CImg<>::rotation_matrix(0,0,1.0f,alpha),
+      rpoints = rot*(points>'x');
+    (+back).draw_object3d(back.width()/2.0f,back.height()/2.0f,0,rpoints,faces,colors,opacities,4,false,
+                          500.0f,0,0,0,1,1).display(disp.resize(false).wait(30));
+  }
+  return 0;
+}
+
+// Item : Breakout
+//-----------------
+void* item_breakout() {
+
+  // Init graphics
+  CImg<unsigned char>
+    board(8,10,1,1,0),
+    background = CImg<unsigned char>(board.width()*32,board.height()*16 + 200,1,3,0).noise(20,1).
+    draw_plasma().blur(1,8,0,true),
+    visu0(background/2.0), visu(visu0), brick(16,16,1,1,200), racket(64,8,1,3,0), ball(8,8,1,3,0);
+  const unsigned char white[] = { 255,255,255 }, green1[] = { 60,150,30 }, green2[] = { 130,255,130 };
+  cimg_for_borderXY(brick,x,y,1) brick(x,y) = x>y?255:128;
+  cimg_for_insideXY(brick,x,y,1) brick(x,y) = (unsigned char)cimg::min(255,64 + 8*(x + y));
+  brick.resize(31,15,1,1,1).resize(32,16,1,1,0);
+  ball.draw_circle(4,4,2,white); ball-=ball.get_erode(3)/1.5;
+  racket.draw_circle(4,3,4,green1).draw_circle(3,2,2,green2);
+  cimg_forY(racket,y)
+    racket.draw_rectangle(4,y,racket.width() - 7,y,
+                          CImg<unsigned char>::vector((unsigned char)(y*4),
+                                                      (unsigned char)(255 - y*32),
+                                                      (unsigned char)(255 - y*25)).data());
+  racket.draw_image(racket.width()/2,racket.get_crop(0,0,racket.width()/2 - 1,racket.height() - 1).mirror('x'));
+  const int
+    w = visu.width(), h = visu.height(), w2 = w/2, h2 = h/2,
+    bw = ball.width(), bh = ball.height(), bw2 = bw/2, bh2 = bh/2,
+    rw = racket.width(), rh = racket.height(), rw2 = rw/2;
+  float xr = (float)(w - rw2), oxr = (float)xr, xb = 0, yb = 0, oxb = 0, oyb = 0, vxb = 0, vyb = 0;
+  const CImg<unsigned char>
+    racket_mask = racket.get_threshold(1).channel(1),
+    ball_mask = ball.get_threshold(1).channel(1);
+
+  // Begin game loop
+  CImgDisplay disp(visu,"[#24] - Breakout");
+  disp.move((CImgDisplay::screen_width() - w)/2,(CImgDisplay::screen_height() - h)/2);
+  for (unsigned int N = 0, N0 = 0; !disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC(); ) {
+    if (N0) {
+      int X = (int)xr;
+      if (disp.mouse_x()>=0) X = (int)(w2 + ((disp.mouse_x()<0?w2:disp.mouse_x()) - w2)*2);
+      else disp.set_mouse(xr>w2?w - 81:80,h2);
+      if (X<rw2) { X = rw2; disp.set_mouse(80,h2); }
+      if (X>=w - rw2) { X = w - rw2 - 1; disp.set_mouse(w - 81,h2); }
+      oxr = xr; xr = (float)X; oxb = xb; oyb = yb; xb+=vxb; yb+=vyb;
+      if ((xb>=w - bw2) || (xb<bw2)) { xb-=vxb; yb-=vyb; vxb=-vxb; }
+      if (yb<bh2) { yb = (float)bh2; vyb=-vyb; }
+      if (yb>=h - rh - 8 - bh2 && yb<h - 8 - bh2 && xr - rw2<=xb && xr + rw2>=xb) {
+        xb = oxb; yb = h - rh - 8.0f - bh2; vyb=-vyb; vxb+=(xr - oxr)/4;
+        if (cimg::abs(vxb)>8) vxb*=8/cimg::abs(vxb);
+      }
+      if (yb<board.height()*16) {
+        const int X = (int)xb/32, Y = (int)yb/16;
+        if (board(X,Y)) {
+          board(X,Y) = 0;
+          ++N;
+          const unsigned int
+            x0 = X*brick.width(), y0 = Y*brick.height(),
+            x1 = (X + 1)*brick.width() - 1, y1 = (Y + 1)*brick.height() - 1;
+          visu0.draw_image(x0,y0,background.get_crop(x0,y0,x1,y1));
+          if (oxb<(X<<5) || oxb>=((X + 1)<<5)) vxb=-vxb;
+          else if (oyb<(Y<<4) || oyb>=((Y + 1)<<4)) vyb=-vyb;
+        }
+      }
+      disp.set_title("[#24] - Breakout : %u/%u",N,N0);
+    }
+    if (yb>h || N==N0) {
+      disp.show_mouse();
+      while (!disp.is_closed() && !disp.key() && !disp.button()) {
+        ((visu=visu0)/=2).draw_text(50,visu.height()/2 - 10,N0?" Game Over !":"Get Ready ?",white,0,1,24).
+          display(disp);
+        disp.wait();
+        if (disp.is_resized()) disp.resize(disp);
+      }
+      board.fill(0); visu0 = background;
+      cimg_forXY(board,x,y) if (0.2f + cimg::crand()>=0) {
+        CImg<float> cbrick = CImg<double>::vector(100 + cimg::rand()*155,100 + cimg::rand()*155,100 + cimg::rand()*155).
+          unroll('v').resize(brick.width(),brick.height());
+        cimg_forC(cbrick,k) (cbrick.get_shared_channel(k).mul(brick))/=255;
+        visu0.draw_image(x*32,y*16,cbrick);
+        board(x,y) = 1;
+      }
+      N0 = (int)board.sum(); N = 0;
+      oxb = xb = (float)w2; oyb = yb = board.height()*16.0f + bh; vxb = 2.0f; vyb = 3.0f;
+      disp.hide_mouse();
+    } else disp.display((visu=visu0).draw_image((int)(xr - rw2),h - rh - 8,racket,racket_mask).
+                        draw_image((int)(xb - bw2),(int)(yb - bh2),ball,ball_mask));
+    if (disp.is_resized()) disp.resize(disp);
+    disp.wait(20);
+  }
+  return 0;
+}
+
+// Item : 3D Reflection
+//----------------------
+void* item_3d_reflection() {
+
+  // Init images and display
+  CImgDisplay disp(512,512,"[#25] - 3D Reflection",0);
+  CImg<unsigned char> back = CImg<unsigned char>(200,400,1,3,0).rand(0,255).draw_plasma();
+  ((back,back.get_mirror('x'),back)>'x').blur(15,1,0,true).columns(100,499).normalize(0,120).move_to(back);
+  CImg<unsigned char>
+    light0 = back.get_resize(-50,-50,1,1).normalize(1,255),
+    visu(back),
+    reflect(back.width(),back.height(),1,1),
+    light(light0);
+  back.get_shared_channel(0)/=3;
+  back.get_shared_channel(2)/=2;
+
+  // Create 3D objects.
+  CImgList<unsigned int> back_faces, main_faces;
+  CImgList<unsigned char> main_colors, back_colors, light_colors, light_colors2;
+  CImgList<float> back_pts0, main_pts = CImg<>::torus3d(main_faces,30,12,24,12)<'x';
+  cimglist_for(main_faces,l)
+    if (l%2) CImg<unsigned char>::vector(255,120,16).move_to(main_colors);
+    else CImg<unsigned char>::vector(255,100,16).move_to(main_colors);
+
+  const unsigned int res1 = 32, res2 = 32;
+  for (unsigned int v = 1; v<res2; ++v) for (unsigned int u = 0; u<res1; ++u) {
+    const float
+      alpha = (float)(u*2*cimg::PI/res1), beta = (float)(-cimg::PI/2 + v*cimg::PI/res2),
+      x = (float)(std::cos(beta)*std::cos(alpha)),
+      y = (float)(std::cos(beta)*std::sin(alpha)),
+      z = (float)(std::sin(beta));
+    back_pts0.insert(CImg<>::vector(x,y,z));
+  }
+  const unsigned int N = back_pts0.size();
+  back_pts0.insert(CImg<>::vector(0,0,-140)).insert(CImg<>::vector(0,0,140));
+  CImg<float> back_pts = back_pts0>'x';
+  for (unsigned int vv = 0; vv<res2 - 2; ++vv) for (unsigned int uu = 0; uu<res1; ++uu) {
+    const int nv = (vv + 1)%(res2 - 1), nu = (uu + 1)%res1;
+    back_faces.insert(CImg<unsigned int>::vector(res1*vv + nu,res1*nv + uu,res1*vv + uu));
+    back_faces.insert(CImg<unsigned int>::vector(res1*vv + nu,res1*nv + nu,res1*nv + uu));
+    back_colors.insert(CImg<unsigned char>::vector(128,255,255));
+    back_colors.insert(CImg<unsigned char>::vector(64,240,196));
+  }
+  for (unsigned int uu = 0; uu<res1; ++uu) {
+    const int nu = (uu + 1)%res1;
+    back_faces.insert(CImg<unsigned int>::vector(nu,uu,N));
+    back_faces.insert(CImg<unsigned int>::vector(res1*(res2 - 2) + nu, N + 1,res1*(res2 - 2) + uu));
+    if (uu%2) back_colors.insert(2,CImg<unsigned char>::vector(128,255,255));
+    else back_colors.insert(2,CImg<unsigned char>::vector(64,240,196));
+  }
+  light_colors.assign(main_faces.size(),CImg<unsigned char>::vector(255));
+  light_colors2.assign(back_faces.size(),CImg<unsigned char>::vector(255)).insert(light,~0U,true);
+
+  // Start 3D animation.
+  for (float main_x = -1.5f*visu.width(),
+         back_alpha = 0, back_beta = 0, back_theta = -3.0f,
+         main_alpha = 0, main_beta = 0, main_theta = 0;
+       !disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC();
+       main_alpha+=0.041f, main_beta+=0.063f, main_theta+=0.02f,
+         back_alpha+=0.0031f, back_beta+=0.0043f, back_theta+=0.01f) {
+    const int
+      main_X = (int)(visu.width()/2 + main_x + 100*std::cos(2.1*main_theta)),
+      main_Y = (int)(visu.height()/2 + 120*std::sin(1.8*main_theta));
+    CImg<float>
+      rmain_pts = (CImg<>::rotation_matrix(-1,1,0,main_alpha)*CImg<>::rotation_matrix(1,0,1,main_beta))*(main_pts>'x'),
+      rback_pts = (CImg<>::rotation_matrix(1,1,0,back_alpha)*CImg<>::rotation_matrix(0.5,0,1,back_beta))*back_pts;
+
+    (light=light0).draw_object3d(main_X/2.0f,main_Y/2.0f,0,rmain_pts,main_faces,light_colors,3,false,
+                                 500,0,0,-5000,0.2f,0.1f);
+    reflect.fill(0).draw_object3d(2*visu.width()/3.0f,visu.height()/2.0f,0,rback_pts,back_faces,light_colors2,5,false,
+                                  500,0,0,-5000,0.2f,0.1f);
+    rmain_pts*=2;
+    (visu=back).draw_object3d(2*visu.width()/3.0f,visu.height()/2.0f,0,rback_pts,back_faces,back_colors,3,false,
+                              500,0,0,-5000,0.2f,0.1f);
+
+    unsigned char
+      *ptrs = reflect.data(),
+      *ptrr = visu.data(0,0,0,0),
+      *ptrg = visu.data(0,0,0,1),
+      *ptrb = visu.data(0,0,0,2);
+    cimg_foroff(reflect,xy) {
+      const unsigned char v = *(ptrs++);
+      if (v) { *ptrr = (*ptrr+v)>>1; *ptrg = (*ptrr+v)>>1; *ptrb = (*ptrb+v)>>1; }
+      ++ptrr; ++ptrg; ++ptrb;
+    }
+
+    visu.draw_object3d((float)main_X,(float)main_Y,0,rmain_pts,main_faces,main_colors,4,
+                       false,500,0,0,-5000,0.1f,1.4f);
+
+    if (disp.is_resized()) {
+      const int s = cimg::min(disp.window_width(),disp.window_height());
+      disp.resize(s,s,false);
+    }
+    if (disp.is_keyCTRLLEFT() && disp.is_keyF()) disp.resize(512,512,false).toggle_fullscreen(false);
+    disp.display(visu).wait(20);
+    back.shift(4,0,0,0,2);
+    light0.shift(-2,0,0,0,2);
+    if (main_x<0) main_x +=2;
+    const float H = back_theta<0?0.0f:(float)(0.3f - 0.3f*std::cos(back_theta));
+    for (unsigned int p = 0, v = 1; v<res2; ++v) for (unsigned int u = 0; u<res1; ++u) {
+      const float
+        alpha = (float)(u*2*cimg::PI/res1), beta = (float)(-cimg::PI/2 + v*cimg::PI/res2),
+        x = back_pts0(p,0), y = back_pts0(p,1), z = back_pts0(p,2),
+        altitude = 140*(float)cimg::abs(1 + H*std::sin(3*alpha)*std::cos(5*beta));
+      back_pts(p,0) = altitude*x; back_pts(p,1) = altitude*y; back_pts(p,2) = altitude*z;
+      ++p;
+    }
+  }
+  return 0;
+}
+
+// Item : Fish-Eye Magnification
+//------------------------------
+void* item_fisheye_magnification() {
+  const unsigned char purple[] = { 255, 0, 255 }, white[] = { 255, 255, 255 }, black[] = { 0, 0, 0 };
+  const CImg<unsigned char> img0 = CImg<unsigned char>(data_logo,555,103,1,3,true).get_resize(-144,-144,1,3,6);
+  CImgDisplay disp(img0,"[#26] - Fish-Eye Magnification");
+  int rm = 80, xc = 0, yc = 0, rc = 0;
+  CImg<unsigned char> img, res;
+  for (float alpha = 0; !disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC(); alpha+=0.02f) {
+    if (!img) img = img0.get_resize(disp,3);
+    if (disp.mouse_x()>=0) { xc = disp.mouse_x(); yc = disp.mouse_y(); rc = rm; }
+    else {
+      xc = (int)(img.width()*(1 + 0.9f*std::cos(1.2f*alpha))/2);
+      yc = (int)(img.height()*(1 + 0.8f*std::sin(3.4f*alpha))/2);
+      rc = (int)(90 + 60*std::sin(alpha));
+    }
+    const int x0 = xc - rc, y0 = yc - rc, x1 = xc + rc, y1 = yc + rc;
+    res = img;
+    cimg_for_inXY(res,x0,y0,x1,y1,x,y) {
+      const float X = (float)x - xc, Y = (float)y - yc, r2 = X*X + Y*Y, rrc = (float)std::sqrt(r2)/rc;
+      if (rrc<1) {
+        const int xi = (int)(xc + rrc*X), yi = (int)(yc + rrc*Y);
+        res(x,y,0) = img(xi,yi,0); res(x,y,1) = img(xi,yi,1); res(x,y,2) = img(xi,yi,2);
+      }
+    }
+    const int xf = xc + 3*rc/8, yf = yc - 3*rc/8;
+    res.draw_circle(xc,yc,rc,purple,0.2f).draw_circle(xf,yf,rc/3,white,0.2f).draw_circle(xf,yf,rc/5,white,0.2f).
+      draw_circle(xf,yf,rc/10,white,0.2f).draw_circle(xc,yc,rc,black,0.7f,~0U);
+    disp.display(res).wait(20);
+    rm+=(disp.button()&1?8:(disp.button()&2?-8:0));
+    rm = rm<30?30:(rm>200?200:rm);
+    if (disp.is_resized()) { disp.resize(false); img.assign(); }
+  }
+  return 0;
+}
+
+// Item : Word Puzzle
+//--------------------
+void* item_word_puzzle() {
+
+  // Create B&W and color letters
+  CImg<unsigned char> model(60,60,1,3,0), color(3), background, canvas, elaps;
+  CImgList<unsigned char> letters('Z' - 'A' + 1), cletters(letters);
+  const unsigned char white[] = { 255, 255, 255 }, gray[] = { 128, 128, 128 }, black[] = { 0, 0, 0 };
+  char tmptxt[] = { 'A',0 };
+  model.fill(255).draw_rectangle(5,5,54,54,gray).blur(3,0).threshold(140).normalize(0,255);
+  cimglist_for(letters,l)
+    (letters[l].draw_text(5,2,&(tmptxt[0]=(char)('A' + l)),white,0,1,57).resize(60,60,1,1,0,0,0.5,0.5).
+     resize(-100,-100,1,3)|=model).blur(0.5);
+  { cimglist_for(cletters,l) {
+    CImg<int> tmp = letters[l];
+    color.rand(100,255);
+    cimg_forC(tmp,k) (tmp.get_shared_channel(k)*=color[k])/=255;
+    cletters[l] = tmp;
+  }}
+
+  CImgDisplay disp(500,400,"[#27] - Word Puzzle",0);
+  while (!disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC()) {
+
+    // Create background, word data and display.
+    background.assign(40,40,1,2,0).noise(30,2).distance(255).normalize(0,255).resize(500,400,1,3,3);
+    CImg<int> current(14,6,1,1,0), solution(14,4,1,1,0);
+    current.get_shared_row(0).fill('T','H','E','C','I','M','G','L','I','B','R','A','R','Y');
+    current.get_shared_row(1).rand(-30,background.width() - 30);
+    current.get_shared_row(2).rand(-30,background.height() - 30);
+    solution.get_shared_row(0) = current.get_shared_row(0);
+    solution.get_shared_row(1).fill(20,80,140,100,180,260,340,40,100,160,220,280,340,400);
+    solution.get_shared_row(2).fill(20,20,20,120,150,180,210,310,310,310,310,310,310,310);
+    cimg_forX(solution,l) background.draw_image(solution(l,1),solution(l,2),letters(solution(l) - 'A'),0.3f);
+    const int last = current.width() - 1;
+
+    // Start user interaction
+    int timer = 0, completed = 0;
+    for (bool selected = false, refresh_canvas = true, stopflag = false;
+         !stopflag && !disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC(); disp.resize(disp).wait(20)) {
+      if (refresh_canvas) {
+        canvas = background;
+        cimg_forX(current,l) if (!current(l,5)) {
+          int &x = current(l,1), &y = current(l,2);
+          if (x<-30) x = -30; else if (x>canvas.width() - 30) x = canvas.width() - 30;
+          if (y<-30) y = -30; else if (y>canvas.height() - 30) y = canvas.height() - 30;
+          canvas.draw_rectangle(x + 8,y + 8,x + 67,y + 67,black,0.3f).draw_image(x,y,cletters(current(l) - 'A'));
+        }
+        refresh_canvas = false;
+      }
+      (+canvas).draw_text(280,3,"Elapsed Time : %d",white,0,0.7f,24,timer++).display(disp);
+
+      if (disp.button()&1) {
+        const int mx = disp.mouse_x(), my = disp.mouse_y();
+        if (mx>=0 && my>=0) {
+          if (!selected) {
+            int ind = -1;
+            cimg_forX(current,l) if (!current(l,5)) {
+              const int x = current(l,1), y = current(l,2), dx = mx - x, dy = my - y;
+              if (dx>=0 && dx<60 && dy>=0 && dy<60) { selected = true; ind = l; current(l,3) = dx; current(l,4) = dy; }
+            }
+            if (ind>=0 && ind<last) {
+              const CImg<int> vec = current.get_column(ind);
+              current.draw_image(ind,current.get_crop(ind + 1,last)).draw_image(last,vec);
+            }
+          } else {
+            current(last,1) = mx - current(last,3);
+            current(last,2) = my - current(last,4);
+            refresh_canvas = true;
+          }
+        }
+      } else {
+        bool win = true;
+        cimg_forX(solution,j) if (!solution(j,3)) {
+          win = false;
+          const int x = solution(j,1), y = solution(j,2);
+          cimg_forX(current,i) if (!current(i,5) && solution(j)==current(i)) {
+            const int xc = current(i,1), yc = current(i,2), dx = cimg::abs(x - xc), dy = cimg::abs(y - yc);
+            if (dx<=12 && dy<=12) {
+              cimg_forC(background,k) cimg_forY(letters[0],y)
+                background.get_shared_row(solution(j,2) + y,0,k).
+                draw_image(solution(j,1),0,
+                           (CImg<>(cletters(solution(j) - 'A').get_shared_row(y,0,k))*=2.0*std::cos((y - 30.0f)/18)).
+                           cut(0,255),0.8f);
+              current(i,5) = solution(j,3) = 1; refresh_canvas = true;
+            }
+          }
+        }
+        selected = false;
+        if (win) { stopflag = true; completed = 1; }
+      }
+    }
+
+    // Display final score
+    const char
+      *const mention0 = "Need more training !", *const mention1 = "Still amateur, hu ?",
+      *const mention2 = "Not so bad !", *const mention3 = "  Good !", *const mention4 = "Very good !",
+      *const mention5 = " Expert !",
+      *mention = completed?(timer<700?mention5:timer<800?mention4:timer<900?mention3:
+                            timer<1000?mention2:timer<1200?mention1:mention0):mention0;
+    canvas.assign().draw_text(0,0,"Final time : %d\n\n%s",white,0,1,32,timer,mention).resize(-100,-100,1,3);
+    ((background/=2)&CImg<unsigned char>(2,2).fill(0,255,255,0).resize(background,0,2)).
+      draw_image((background.width() - canvas.width())/2,(background.height() - canvas.height())/2,
+                 canvas,canvas.get_dilate(3).dilate(3).dilate(3),1,255).display(disp.flush());
+    while (!disp.is_closed() && !disp.key() && !disp.button()) disp.resize(disp).wait();
+  }
+  return 0;
+}
+
+// Run a selected effect
+//-----------------------
+void start_item(const unsigned int demo_number) {
+  switch (demo_number) {
+  case 1: item_blurring_gradient(); break;
+  case 2: item_rotozoom(); break;
+  case 3: item_anisotropic_smoothing(); break;
+  case 4: item_fractal_animation(); break;
+  case 5: item_gamma_correction(); break;
+  case 6: item_filled_triangles(); break;
+  case 7: item_mandelbrot_explorer(); break;
+  case 8: item_mini_paint(); break;
+  case 9: item_soccer_bobs(); break;
+  case 10: item_bump(); break;
+  case 11: item_bouncing_bubble(); break;
+  case 12: item_virtual_landscape(); break;
+  case 13: item_plasma(); break;
+  case 14: item_oriented_convolutions(); break;
+  case 15: item_shade_bobs(); break;
+  case 16: item_fourier_filtering(); break;
+  case 17: item_image_zoomer(); break;
+  case 18: item_blobs_editor(); break;
+  case 19: item_double_torus(); break;
+  case 20: item_3d_metaballs(); break;
+  case 21: item_fireworks(); break;
+  case 22: item_rubber_logo(); break;
+  case 23: item_image_waves(); break;
+  case 24: item_breakout(); break;
+  case 25: item_3d_reflection(); break;
+  case 26: item_fisheye_magnification(); break;
+  case 27: item_word_puzzle(); break;
+  default: break;
+  }
+}
+
+/*---------------------------
+
+  Main procedure
+
+  --------------------------*/
+int main(int argc, char **argv) {
+
+  // Display info about the CImg Library configuration
+  //--------------------------------------------------
+  unsigned int demo_number = cimg_option("-run",0,0);
+  if (demo_number) start_item(demo_number);
+  else {
+    cimg::info();
+
+    // Demo selection menu
+    //---------------------
+    const unsigned char
+      white[]  = { 255, 255, 255 }, black[] = { 0, 0, 0 },     red[] = { 120, 50, 80 },
+      yellow[] = { 200, 155, 0 },   green[] = { 30, 200, 70 }, purple[] = { 175, 32, 186 },
+      blue[]   = { 55, 140, 185 },  grey[] = { 127, 127, 127 };
+    float
+      rx = 0, ry = 0, t = 0, gamma = 0, vgamma = 0, T = 0.9f,
+      nrx = (float)(2*cimg::crand()),
+      nry = (float)(2*cimg::crand());
+    int y0 = 2*13;
+    CImg<unsigned char> back(1,2,1,3,10), fore, text, img;
+    back.fillC(0,1,0,10,10,235).resize(320,420,1,3,3).get_shared_channel(2).noise(10,1).draw_plasma();
+    back.draw_rectangle(0,y0 - 7,back.width() - 1,y0 + 20,red);
+    fore.assign(back.width(),50,1,1,0).draw_text(20,y0 - 3,"** CImg %u.%u.%u Samples **",grey,0,1,23,
+                                                cimg_version/100,(cimg_version/10)%10,cimg_version%10);
+    (fore+=fore.get_dilate(3).dilate(3)).resize(-100,-100,1,3);
+    cimg_forXY(fore,x,y)
+      if (fore(x,y)==127) fore(x,y,0) = fore(x,y,1) = fore(x,y,2) = 1;
+      else if (fore(x,y)) {
+        const float val = cimg::min(255.0f,7.0f*(y - 3));
+        fore(x,y,0) = (unsigned char)(val/1.5f);
+        fore(x,y,1) = (unsigned char)val;
+        fore(x,y,2) = (unsigned char)(val/1.1f);
+      }
+    text.draw_text(1,1,
+                   "1- Blurring Gradient\n"
+                   "2- Rotozoom\n"
+                   "3- Anisotropic Smoothing\n"
+                   "4- Fractal Animation\n"
+                   "5- Gamma Correction\n"
+                   "6- Filled Triangles\n"
+                   "7- Mandelbrot explorer\n"
+                   "8- Mini-Paint\n"
+                   "9- Soccer Bobs\n"
+                   "10- Bump Effect\n"
+                   "11- Bouncing Bubble\n"
+                   "12- Virtual Landscape\n"
+                   "13- Plasma & Sinus Scroll\n"
+                   "14- Oriented Convolutions\n"
+                   "15- Shade Bobs\n"
+                   "16- Fourier Filtering\n"
+                   "17- Image Zoomer\n"
+                   "18- Blobs Editor\n"
+                   "19- Double Torus\n"
+                   "20- 3D Metaballs\n"
+                   "21- Fireworks\n"
+                   "22- Rubber Logo\n"
+                   "23- Image Waves\n"
+                   "24- Breakout\n"
+                   "25- 3D Reflection\n"
+                   "26- Fish-Eye Magnification\n"
+                   "27- Word Puzzle\n",
+                   white,0,1,13).resize(-100,-100,1,3);
+    fore.resize(back,0).draw_image(20,y0 + 2*13,text|=text.get_dilate(3)>>4);
+
+    CImgDisplay disp(back,"CImg Library Samples",0,false,true);
+    disp.move((disp.screen_width() - disp.window_width())/2,(disp.screen_height() - disp.window_height())/2);
+    img = back; back*=0.15f;
+    for (y0+=2*13; !disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC(); demo_number = 0) {
+      while (!demo_number && !disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC()) {
+        img*=0.85f; img+=back;
+        for (int i = 0; i<60; ++i) {
+          const float
+            mx = (float)(img.width()/2 + (img.width()/2 - 30)*((1 - gamma)*std::cos(3*t + rx*i*18.0f*cimg::PI/180) +
+                                                         gamma*std::cos(3*t + nrx*i*18.0f*cimg::PI/180))),
+            my = (float)(img.height()/2 + (img.height()/2 - 30)*((1 - gamma)*std::sin(4*t + ry*i*18.0f*cimg::PI/180) +
+                                                         gamma*std::sin(4*t + nry*i*18.0f*cimg::PI/180))),
+            mz = (float)(1.3f + 1.2f*((1 - gamma)*std::sin(2*t + (rx + ry)*i*20*cimg::PI/180) +
+                                      gamma*std::sin(2*t + (nrx + nry)*i*20*cimg::PI/180)));
+          const int j = i%5;
+          img.draw_circle((int)mx,(int)my,(int)(10*mz),j!=0?(j!=1?(j!=2?(j!=3?green:red):yellow):purple):blue,0.2f).
+            draw_circle((int)(mx + 4*mz),(int)(my - 4),(int)(3*mz),white,0.1f).
+            draw_circle((int)mx,(int)my,(int)(10*mz),black,0.2f,~0U);
+        }
+        const unsigned char *ptrs = fore.data();
+        cimg_for(img,ptrd,unsigned char) { const unsigned char val = *(ptrs++); if (val) *ptrd = val; }
+        int y = disp.mouse_y();
+        if (y>=y0 && y<y0 + 27*13) {
+          y = (y/13)*13 + 7;
+          for (int yy = y - 6; yy<=y + 6; ++yy)
+            img.draw_rectangle(0,yy,0,1,img.width() - 1,yy,0,1,(unsigned char)(130 - 15*cimg::abs(yy - y)));
+          img.draw_triangle(2,y - 4,2,y + 4,8,y,yellow).
+            draw_triangle(img.width() - 2,y - 4,img.width() - 2,y + 4,img.width() - 8,y,yellow);
+        }
+        gamma+=vgamma;
+        if (gamma>1) {
+          gamma = vgamma = 0;
+          rx = nrx;
+          ry = nry;
+          nrx=(float)(2*cimg::crand()); nry=(float)(2*cimg::crand());
+        }
+        t+=0.006f; T+=0.005f; if (T>1) { T-=(float)(1 + cimg::crand()); vgamma = 0.03f; }
+        if (disp.button()) { demo_number = 1 + (disp.mouse_y() - y0)/13; disp.set_button(); }
+        disp.resize(disp,false).display(img).wait(25);
+      }
+      start_item(demo_number);
+    }
+  }
+
+  // Exit demo
+  //-----------
+  std::exit(0);
+  return 0;
+}
diff --git a/examples/CMakeLists.txt b/examples/CMakeLists.txt
new file mode 100644
index 0000000..1620295
--- /dev/null
+++ b/examples/CMakeLists.txt
@@ -0,0 +1,310 @@
+#
+#  File        : CMakeLists.txt
+#                ( Configuration file for 'cmake' utility )
+#
+#  Description : CMakeLists.txt configuration file for compiling CImg-based code.
+#                This file is a part of the CImg Library project.
+#                ( http://cimg.eu )
+#
+#  Copyright   : Antonio Albiol
+#                ( http://personales.upv.es/~aalbiol/ )
+#
+#  License     : CeCILL v2.0
+#                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+#
+#  This software is governed by the CeCILL  license under French law and
+#  abiding by the rules of distribution of free software.  You can  use,
+#  modify and/ or redistribute the software under the terms of the CeCILL
+#  license as circulated by CEA, CNRS and INRIA at the following URL
+#  "http://www.cecill.info".
+#
+#  As a counterpart to the access to the source code and  rights to copy,
+#  modify and redistribute granted by the license, users are provided only
+#  with a limited warranty  and the software's author,  the holder of the
+#  economic rights,  and the successive licensors  have only  limited
+#  liability.
+#
+#  In this respect, the user's attention is drawn to the risks associated
+#  with loading,  using,  modifying and/or developing or reproducing the
+#  software by the user in light of its specific status of free software,
+#  that may mean  that it is complicated to manipulate,  and  that  also
+#  therefore means  that it is reserved for developers  and  experienced
+#  professionals having in-depth computer knowledge. Users are therefore
+#  encouraged to load and test the software's suitability as regards their
+#  requirements in conditions enabling the security of their systems and/or
+#  data to be ensured and,  more generally, to use and operate it in the
+#  same conditions as regards security.
+#
+#  The fact that you are presently reading this means that you have had
+#  knowledge of the CeCILL license and that you accept its terms.
+#
+
+cmake_minimum_required(VERSION 2.6)
+
+
+PROJECT(Examples-CIMG)
+
+# Prevent compilation in-source
+if( ${CMAKE_BINARY_DIR} STREQUAL ${PROJECT_SOURCE_DIR} )
+  Message( " " )
+  Message( FATAL_ERROR "Source and build  directories are the same.
+ Create an empty build directory,
+ change into it and re-invoke cmake")
+endif()
+
+
+# To use PKG_CHECK_MODULES to find some optional packages
+find_package(PkgConfig)
+
+#    Tell CMake where to leave executables
+SET(EXECUTABLE_OUTPUT_PATH ${PROJECT_SOURCE_DIR})
+
+#Path of CImg.h file relative to this file path
+set(CIMG_H_PATH ${PROJECT_SOURCE_DIR}/..)
+include_directories( ${PROJECT_SOURCE_DIR} )
+include_directories( ${CIMG_H_PATH} )
+
+
+
+
+# ### CIMG related stuff
+# Flags to enable fast image display, using the XSHM library.
+SET(CIMG_XSHM_CCFLAGS  -Dcimg_use_xshm)
+
+# Flags to enable screen mode switching, using the XRandr library.
+SET(CIMG_XRANDR_CCFLAGS  -Dcimg_use_xrandr)
+
+# Flags to enable native support for JPEG image files, using the JPEG library.
+# ( http://www.ijg.org/ )
+SET(CIMG_JPEG_CCFLAGS  -Dcimg_use_jpeg)
+
+# Flags to enable native support for TIFF image files, using the TIFF library.
+# ( http://www.libtiff.org/ )
+SET(CIMG_TIFF_CCFLAGS  -Dcimg_use_tiff)
+
+# Flags to enable native support for PNG image files, using the PNG library.
+# ( http://www.libpng.org/ )
+SET(CIMG_PNG_CCFLAGS  -Dcimg_use_png)
+
+#Flags to enable OPENCV support (Camera)
+# ( http://www.opencv.org/ )
+SET(CIMG_OPENCV_CCFLAGS-Dcimg_use_opencv)
+
+# Flags to enable native support for EXR image files, using the OpenEXR library.
+# ( http://www.openexr.com/ )
+SET(CIMG_OPENEXR_CCFLAGS  -Dcimg_use_openexr)
+
+# Flags to enable native support for various video files, using the FFMPEG library.
+# ( http://www.ffmpeg.org/ )
+SET(CIMG_FFMPEG_CCFLAGS  -Dcimg_use_ffmpeg)
+
+# Flags to enable native support of most classical image file formats, using the Magick++ library.
+# ( http://www.imagemagick.org/Magick++/ )
+SET(CIMG_MAGICK_CCFLAGS -Dcimg_use_magick)
+
+# Flags to enable faster Discrete Fourier Transform computation, using the FFTW3 library
+# ( http://www.fftw.org/ )
+SET(CIMG_FFTW3_CCFLAGS  -Dcimg_use_fftw3)
+
+
+
+
+# ### Search Additional Libraries ##########
+FIND_PACKAGE(OpenCV)
+FIND_PACKAGE(JPEG)
+FIND_PACKAGE(TIFF)
+FIND_PACKAGE(PNG)
+FIND_PACKAGE(ZLIB)
+FIND_PACKAGE(LAPACK)
+FIND_PACKAGE(BLAS)
+
+PKG_CHECK_MODULES(FFTW3 fftw3)
+PKG_CHECK_MODULES(OPENEXR OpenEXR)
+PKG_CHECK_MODULES(MAGICK Magick++)
+
+# PKG_CHECK_MODULES(LIBAVCODEC libavcodec)
+# PKG_CHECK_MODULES(LIBAVFORMAT libavformat)
+# PKG_CHECK_MODULES(LIBSWSCALE libswscale)
+# PKG_CHECK_MODULES(LIBAVUTIL libavutil)
+
+if(NOT WIN32)
+  FIND_PACKAGE(X11)
+  FIND_PACKAGE(Threads REQUIRED)
+endif()
+
+# #### End of additional libraries search ##########
+
+
+### Configure Paths according to detected packages
+if(TIFF_FOUND)
+  get_filename_component(TIFF_LIB_DIRS ${TIFF_LIBRARIES} PATH)
+  SET(CIMG_CFLAGS "${CIMG_CFLAGS} ${CIMG_TIFF_CCFLAGS}")
+  link_directories(${TIFF_LIB_DIRS})
+  include_directories(${TIFF_INCLUDE_DIR})
+  SET(SYSTEM_LIBS ${SYSTEM_LIBS} ${TIFF_LIBRARIES})
+endif()
+
+
+
+if(JPEG_FOUND)
+  get_filename_component(JPEG_LIB_DIRS ${JPEG_LIBRARIES} PATH)
+  SET(CIMG_CFLAGS "${CIMG_CFLAGS} ${CIMG_JPEG_CCFLAGS}")
+  link_directories(${JPEG_LIB_DIRS})
+  include_directories(${JPEG_INCLUDE_DIR})
+  SET(SYSTEM_LIBS ${SYSTEM_LIBS} ${JPEG_LIBRARIES})
+endif()
+
+
+
+
+if (ZLIB_FOUND)
+  SET(CIMG_CFLAGS "${CIMG_CFLAGS} ${CIMG_ZLIB_CCFLAGS}")
+  link_directories(${ZLIB_LIB_DIRS})
+  include_directories(${ZLIB_INCLUDE_DIR})
+  SET(SYSTEM_LIBS ${SYSTEM_LIBS} ${ZLIB_LIBRARIES})
+
+  # PNG requires ZLIB
+  if(PNG_FOUND)
+    SET(CIMG_CFLAGS "${CIMG_CFLAGS} ${CIMG_PNG_CCFLAGS}")
+    link_directories(${PNG_LIB_DIRS})
+    include_directories(${PNG_INCLUDE_DIR} )
+    SET( SYSTEM_LIBS ${SYSTEM_LIBS} ${PNG_LIBRARIES} )
+  endif()
+endif()
+
+
+
+
+if(FFTW3_FOUND)
+  SET(CIMG_CFLAGS "${CIMG_CFLAGS} ${CIMG_FFTW3_CCFLAGS}")
+  link_directories( ${FFTW3_LIBRARY_DIRS} )
+  include_directories( ${FFTW3_INCLUDE_DIRS} )
+  SET( SYSTEM_LIBS ${SYSTEM_LIBS} ${FFTW3_LIBRARIES} )
+endif()
+
+
+
+
+if(OPENEXR_FOUND)
+  SET(CIMG_CFLAGS "${CIMG_CFLAGS} ${CIMG_OPENEXR_CCFLAGS}")
+  link_directories( ${OPENEXR_LIBRARY_DIRS} )
+  include_directories( ${OPENEXR_INCLUDE_DIRS} )
+  SET( SYSTEM_LIBS ${SYSTEM_LIBS} ${OPENEXR_LIBRARIES} )
+endif()
+
+
+if(MAGICK_FOUND)
+  SET(CIMG_CFLAGS "${CIMG_CFLAGS} ${CIMG_MAGICK_CCFLAGS}")
+  link_directories( ${MAGICK_LIBRARY_DIRS} )
+  include_directories( ${MAGICK_INCLUDE_DIRS} )
+  SET( SYSTEM_LIBS ${SYSTEM_LIBS} ${MAGICK_LIBRARIES} )
+endif()
+
+
+
+
+if( LIBAVCODEC_FOUND  AND LIBAVFORMAT_FOUND AND LIBSWSCALE_FOUND AND LIBAVUTIL_FOUND )
+  SET(CIMG_CFLAGS "${CIMG_CFLAGS} ${CIMG_FFMPEG_CCFLAGS}")
+  link_directories( ${LIBAVFORMAT_LIBRARY_DIRS} )
+  link_directories( ${LIBAVCODEC_LIBRARY_DIRS} )
+  link_directories( ${LIBSWSCALE_LIBRARY_DIRS} )
+  link_directories( ${LIBAVUTIL_LIBRARY_DIRS} )
+  include_directories( ${LIBAVFORMAT_INCLUDE_DIRS} ${LIBAVFORMAT_INCLUDE_DIRS}/libavformat)
+  include_directories( ${LIBAVCODEC_INCLUDE_DIRS} ${LIBAVCODEC_INCLUDE_DIRS}/libavcodec )
+  include_directories( ${LIBSWSCALE_INCLUDE_DIRS} ${LIBSWSCALE_INCLUDE_DIRS}/libswscale)
+  include_directories( ${LIBAVUTIL_INCLUDE_DIRS} ${LIBAVUTIL_INCLUDE_DIRS}/libavutil )
+  SET( SYSTEM_LIBS ${SYSTEM_LIBS} ${LIBAVFORMAT_LIBRARIES} )
+  SET( SYSTEM_LIBS ${SYSTEM_LIBS} ${LIBAVCODEC_LIBRARIES} )
+  SET( SYSTEM_LIBS ${SYSTEM_LIBS} ${LIBSWSCALE_LIBRARIES} )
+  SET( SYSTEM_LIBS ${SYSTEM_LIBS} ${LIBAVUTIL_LIBRARIES} )
+endif()
+
+
+if(NOT APPLE)
+  if(NOT WIN32)
+    if(X11_FOUND)
+      SET(CIMG_CFLAGS "${CIMG_CFLAGS} ${CIMG_XSHM_CCFLAGS} ${CIMG_XRANDR_CCFLAGS}")
+      SET(SYSTEM_LIBS ${SYSTEM_LIBS} Xext Xrandr)
+    endif()
+  endif(NOT WIN32)
+endif(NOT APPLE)
+
+if(X11_FOUND)
+  link_directories(${X11_LIB_DIRS})
+  include_directories(${X11_INCLUDE_DIR})
+  SET( SYSTEM_LIBS ${SYSTEM_LIBS} ${X11_LIBRARIES} )
+endif()
+
+if (NOT WIN32)
+  SET( SYSTEM_LIBS ${SYSTEM_LIBS} ${CMAKE_THREAD_LIBS_INIT} )
+endif()
+
+if( WIN32)
+  SET( SYSTEM_LIBS  ${SYSTEM_LIBS}  gdi32 )
+endif()
+
+if (OpenCV_FOUND)
+  message("OpenCV Found")
+  SET(CIMG_CFLAGS "${CIMG_CFLAGS} ${CIMG_OPENCV_CCFLAGS}")
+  include_directories(${OpenCV_INCLUDE_DIRS})
+  link_directories(${OpenCV_LIB_DIRS})
+  SET( SYSTEM_LIBS  ${SYSTEM_LIBS}  ${OpenCV_LIBS} )
+endif()
+
+
+
+if(LAPACK_FOUND)
+  SET(CIMG_CFLAGS "${CIMG_CFLAGS} ${CIMG_LAPACK_CCFLAGS}")
+  link_directories( ${LAPACK_LIBRARY_DIRS} )
+  include_directories( ${LAPACK_INCLUDE_DIRS} )
+  SET( SYSTEM_LIBS ${SYSTEM_LIBS} ${LAPACK_LIBRARIES} )
+endif()
+
+if(BLAS_FOUND)
+  SET(CIMG_CFLAGS "${CIMG_CFLAGS} ${CIMG_BLAS_CCFLAGS}")
+  link_directories( ${BLAS_LIBRARY_DIRS} )
+  include_directories( ${BLAS_INCLUDE_DIRS} )
+  SET( SYSTEM_LIBS ${SYSTEM_LIBS} ${BLAS_LIBRARIES} )
+endif()
+
+
+# Add CIMG Flags to Compilation Flags
+SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CIMG_CFLAGS}")
+
+
+SET(CIMG_FILES CImg_demo
+  captcha
+  curve_editor2d
+  dtmri_view3d
+  edge_explorer2d
+  fade_images
+  gaussian_fit1d
+  generate_loop_macros
+  hough_transform2d
+  image_registration2d
+  image2ascii
+  image_surface3d
+  jawbreaker
+  mcf_levelsets2d
+  mcf_levelsets3d
+  odykill
+  pde_heatflow2d
+  pde_TschumperleDeriche2d
+  plotter1d
+  radon_transform2d
+  scene3d
+  spherical_function3d
+  tetris
+  tron
+  tutorial
+  wavelet_atrous
+  use_draw_gradient
+  use_nlmeans
+  use_skeleton
+  use_RGBclass
+  )
+
+foreach(program ${CIMG_FILES})
+  add_executable(${program} ${program}.cpp)
+  target_link_libraries(${program} ${SYSTEM_LIBS} )
+endforeach(program)
diff --git a/examples/Makefile b/examples/Makefile
new file mode 100644
index 0000000..af16fdb
--- /dev/null
+++ b/examples/Makefile
@@ -0,0 +1,609 @@
+#
+#  File        : Makefile
+#                ( Makefile for GNU 'make' utility )
+#
+#  Description : Makefile for compiling CImg-based code on Unix.
+#                This file is a part of the CImg Library project.
+#                ( http://cimg.eu )
+#
+#  Copyright   : David Tschumperle
+#                ( http://tschumperle.users.greyc.fr/ )
+#
+#  License     : CeCILL v2.0
+#                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+#
+#  This software is governed by the CeCILL  license under French law and
+#  abiding by the rules of distribution of free software.  You can  use,
+#  modify and/ or redistribute the software under the terms of the CeCILL
+#  license as circulated by CEA, CNRS and INRIA at the following URL
+#  "http://www.cecill.info".
+#
+#  As a counterpart to the access to the source code and  rights to copy,
+#  modify and redistribute granted by the license, users are provided only
+#  with a limited warranty  and the software's author,  the holder of the
+#  economic rights,  and the successive licensors  have only  limited
+#  liability.
+#
+#  In this respect, the user's attention is drawn to the risks associated
+#  with loading,  using,  modifying and/or developing or reproducing the
+#  software by the user in light of its specific status of free software,
+#  that may mean  that it is complicated to manipulate,  and  that  also
+#  therefore means  that it is reserved for developers  and  experienced
+#  professionals having in-depth computer knowledge. Users are therefore
+#  encouraged to load and test the software's suitability as regards their
+#  requirements in conditions enabling the security of their systems and/or
+#  data to be ensured and,  more generally, to use and operate it in the
+#  same conditions as regards security.
+#
+#  The fact that you are presently reading this means that you have had
+#  knowledge of the CeCILL license and that you accept its terms.
+#
+
+#-------------------------------------------------------
+# Define the list of files to be compiled
+# (name of the source files without the .cpp extension)
+#-------------------------------------------------------
+
+# Files which do not necessarily require external libraries to run.
+CIMG_FILES = CImg_demo \
+	     captcha \
+             curve_editor2d \
+	     dtmri_view3d \
+	     edge_explorer2d \
+	     fade_images \
+	     gaussian_fit1d \
+             generate_loop_macros \
+	     hough_transform2d \
+	     image_registration2d \
+	     image2ascii \
+	     image_surface3d \
+	     jawbreaker \
+	     mcf_levelsets2d \
+	     mcf_levelsets3d \
+	     odykill \
+	     pde_heatflow2d \
+	     pde_TschumperleDeriche2d \
+	     plotter1d \
+	     radon_transform2d \
+	     scene3d \
+	     spherical_function3d \
+	     tetris \
+	     tron \
+	     tutorial \
+	     wavelet_atrous \
+	     use_chlpca \
+	     use_draw_gradient \
+	     use_nlmeans \
+             use_patchmatch \
+	     use_skeleton \
+	     use_RGBclass \
+
+# Files which requires external libraries to run.
+CIMG_EXTRA_FILES = use_tiff_stream use_jpeg_buffer
+
+#---------------------------------
+# Set correct variables and paths
+#---------------------------------
+CIMG_VERSION = _cimg_version
+X11PATH      = /usr/X11R6
+CC           = g++
+EXEPFX       =
+CCVER       = $(CC)
+ifeq ($(notdir $(CC)),g++)
+CCVER        = `$(CC) -v 2>&1 | tail -n 1`
+endif
+ifeq ($(notdir $(CC)),clang++)
+CCVER        = `$(CC) -v 2>&1 | head -n 1`
+endif
+ifeq ($(notdir $(CC)),icpc)
+CCVER        = "icpc \( `$(CC) -v 2>&1`\)"
+CFLAGS       = -I..
+LIBS         =
+else
+CFLAGS       = -I.. -Wall -W
+LIBS         = -lm
+endif
+
+#--------------------------------------------------
+# Set compilation flags allowing to customize CImg
+#--------------------------------------------------
+
+# Flags to enable strict code standards
+ifeq ($(notdir $(CC)),icpc)
+CIMG_ANSI_CFLAGS = -std=c++11 -ansi
+else
+CIMG_ANSI_CFLAGS = -std=c++11 -ansi -pedantic
+endif
+
+# Flags to enable code debugging.
+CIMG_DEBUG_CFLAGS = -Dcimg_verbosity=3 -Dcimg_strict_warnings -g -fsanitize=address
+
+# Flags to enable color output messages.
+# (requires a VT100 compatible terminal)
+CIMG_VT100_CFLAGS = -Dcimg_use_vt100
+
+# Flags to enable code optimization by the compiler.
+ifeq ($(notdir $(CC)),g++)
+CIMG_OPT_CFLAGS = -O2 -mtune=generic
+else
+ifeq ($(notdir $(CC)),icpc)
+CIMG_OPT_CFLAGS = -fast
+else
+CIMG_OPT_CFLAGS = -O2
+endif
+endif
+
+# Flags to enable OpenMP support.
+ifeq ($(notdir $(CC)),icpc)
+CIMG_OPENMP_CFLAGS = #-Dcimg_use_openmp -openmp -i-static    # -> Seems to bug the compiler!
+else
+CIMG_OPENMP_CFLAGS = -Dcimg_use_openmp -fopenmp
+endif
+
+# Flags to enable OpenCV support.
+CIMG_OPENCV_CFLAGS = -Dcimg_use_opencv -I/usr/include/opencv
+CIMG_OPENCV_LIBS = -lopencv_core -lopencv_highgui
+#CIMG_OPENCV_LIBS = -lcv -lhighgui    #-> Use this for OpenCV < 2.2.0
+
+# Flags used to disable display capablities of CImg
+CIMG_NODISPLAY_CFLAGS = -Dcimg_display=0
+
+# Flags to enable the use of the X11 library.
+# (X11 is used by CImg to handle display windows)
+# !!! For 64bits systems : replace -L$(X11PATH)/lib by -L$(X11PATH)/lib64 !!!
+CIMG_X11_CFLAGS = -I$(X11PATH)/include
+CIMG_X11_LIBS = -L$(X11PATH)/lib -lpthread -lX11
+
+# Flags to enable fast image display, using the XSHM library (when using X11).
+# !!! Seems to randomly crash when used on MacOSX and 64bits systems, so use it only when necessary !!!
+CIMG_XSHM_CFLAGS = # -Dcimg_use_xshm
+CIMG_XSHM_LIBS = # -lXext
+
+# Flags to enable GDI32 display (Windows native).
+CIMG_GDI32_CFLAGS = -mwindows
+CIMG_GDI32_LIBS = -lgdi32
+
+# Flags to enable screen mode switching, using the XRandr library (when using X11).
+# ( http://www.x.org/wiki/Projects/XRandR )
+# !!! Not supported by the X11 server on MacOSX, so do not use it on MacOSX !!!
+CIMG_XRANDR_CFLAGS = -Dcimg_use_xrandr
+CIMG_XRANDR_LIBS = -lXrandr
+
+# Flags to enable native support for PNG image files, using the PNG library.
+# ( http://www.libpng.org/ )
+CIMG_PNG_CFLAGS = -Dcimg_use_png
+CIMG_PNG_LIBS = -lpng -lz
+
+# Flags to enable native support for JPEG image files, using the JPEG library.
+# ( http://www.ijg.org/ )
+CIMG_JPEG_CFLAGS = -Dcimg_use_jpeg
+CIMG_JPEG_LIBS = -ljpeg
+
+# Flags to enable native support for TIFF image files, using the TIFF library.
+# ( http://www.libtiff.org/ )
+CIMG_TIFF_CFLAGS = -Dcimg_use_tiff
+CIMG_TIFF_LIBS = -ltiff
+
+# Flags to enable native support for MINC2 image files, using the MINC2 library.
+# ( http://en.wikibooks.org/wiki/MINC/Reference/MINC2.0_Users_Guide )
+CIMG_MINC2_CFLAGS = -Dcimg_use_minc2 -I${HOME}/local/include
+CIMG_MINC2_LIBS = -lminc_io -lvolume_io2 -lminc2 -lnetcdf -lhdf5 -lz -L${HOME}/local/lib
+
+# Flags to enable native support for EXR image files, using the OpenEXR library.
+# ( http://www.openexr.com/ )
+CIMG_EXR_CFLAGS = -Dcimg_use_openexr -I/usr/include/OpenEXR
+CIMG_EXR_LIBS = -lIlmImf -lHalf
+
+# Flags to enable native support for various video files, using the FFMPEG library.
+# ( http://www.ffmpeg.org/ )
+CIMG_FFMPEG_CFLAGS = -Dcimg_use_ffmpeg -D__STDC_CONSTANT_MACROS -I/usr/include/libavcodec -I/usr/include/libavformat -I/usr/include/libswscale -I/usr/include/ffmpeg
+CIMG_FFMPEG_LIBS = -lavcodec -lavformat -lswscale
+
+# Flags to enable native support for compressed .cimgz files, using the Zlib library.
+# ( http://www.zlib.net/ )
+CIMG_ZLIB_CFLAGS = -Dcimg_use_zlib
+CIMG_ZLIB_LIBS = -lz
+
+# Flags to enable native support for downloading files from the network.
+# ( http://curl.haxx.se/libcurl/ )
+CIMG_CURL_CFLAGS = -Dcimg_use_curl
+CIMG_CURL_LIBS = -lcurl
+
+# Flags to enable native support of most classical image file formats, using the Magick++ library.
+# ( http://www.imagemagick.org/Magick++/ )
+CIMG_MAGICK_CFLAGS = -Dcimg_use_magick `Magick++-config --cppflags` `Magick++-config --cxxflags`
+CIMG_MAGICK_LIBS = `Magick++-config --ldflags` `Magick++-config --libs`
+
+# Flags to enable faster Discrete Fourier Transform computation, using the FFTW3 library
+# ( http://www.fftw.org/ )
+CIMG_FFTW3_CFLAGS = -Dcimg_use_fftw3
+ifeq ($(OSTYPE),msys)
+CIMG_FFTW3_LIBS = -lfftw3-3
+else
+CIMG_FFTW3_LIBS = -lfftw3 -lfftw3_threads
+endif
+
+# Flags to enable the use of LAPACK routines for matrix computation
+# ( http://www.netlib.org/lapack/ )
+CIMG_LAPACK_CFLAGS = -Dcimg_use_lapack
+CIMG_LAPACK_LIBS = -lblas -lg2c -llapack
+
+# Flags to enable the use of the Board library
+# ( http://libboard.sourceforge.net/ )
+CIMG_BOARD_CFLAGS = -Dcimg_use_board -I/usr/include/board
+CIMG_BOARD_LIBS = -lboard
+
+# Flags to compile on Sun Solaris
+CIMG_SOLARIS_LIBS = -R$(X11PATH)/lib -lrt -lnsl -lsocket
+
+# Flags to compile GIMP plug-ins.
+ifeq ($(MSYSTEM),MINGW32)
+CIMG_GIMP_CFLAGS = -mwindows
+endif
+
+#-------------------------
+# Define Makefile entries
+#-------------------------
+.cpp:
+	@echo
+	@echo "** Compiling '$* ($(CIMG_VERSION))' with '$(CCVER)'"
+	@echo
+	$(CC) -o $(EXEPFX)$* $< $(CFLAGS) $(CONF_CFLAGS) $(LIBS) $(CONF_LIBS)
+ifeq ($(STRIP_EXE),true)
+ifeq ($(MSYSTEM),MINGW32)
+	strip $(EXEPFX)$*.exe
+else
+	strip $(EXEPFX)$*
+endif
+endif
+menu:
+	@echo
+	@echo "CImg Library $(CIMG_VERSION) : Examples"
+	@echo "-----------------------------"
+	@echo "  > linux    : Linux/BSD target, X11 display, optimizations disabled."
+	@echo "  > dlinux   : Linux/BSD target, X11 display, debug mode."
+	@echo "  > olinux   : Linux/BSD target, X11 display, optimizations enabled."
+	@echo "  > mlinux   : Linus/BSD target, no display, minimal features, optimizations enabled."
+	@echo "  > Mlinux   : Linux/BSD target, X11 display, maximal features, optimizations enabled."
+	@echo
+	@echo "  > solaris  : Sun Solaris target, X11 display, optimizations disabled."
+	@echo "  > dsolaris : Sun Solaris target, X11 display, debug mode."
+	@echo "  > osolaris : Sun Solaris target, X11 display, optimizations enabled."
+	@echo "  > msolaris : Sun Solaris target, no display, minimal features, optimizations enabled."
+	@echo "  > Msolaris : Sun Solaris target, X11 display, maximal features, optimizations enabled."
+	@echo
+	@echo "  > macosx   : MacOSX target, X11 display, optimizations disabled."
+	@echo "  > dmacosx  : MacOSX target, X11 display, debug mode."
+	@echo "  > omacosx  : MacOSX target, X11 display, optimizations enabled."
+	@echo "  > mmacosx  : MacOSX target, no display, minimal features, optimizations enabled."
+	@echo "  > Mmacosx  : MacOSX target, X11 display, maximal features, optimizations enabled."
+	@echo
+	@echo "  > windows  : Windows target, GDI32 display, optimizations disabled."
+	@echo "  > dwindows : Windows target, GDI32 display, debug mode."
+	@echo "  > owindows : Windows target, GDI32 display, optimizations enabled."
+	@echo "  > mwindows : Windows target, no display, minimal features, optimizations enabled."
+	@echo "  > Mwindows : Windows target, GDI32 display, maximal features, optimizations enabled."
+	@echo
+	@echo "  > clean    : Clean generated files."
+	@echo
+	@echo "Choose your option :"
+	@read CHOICE; echo; $(MAKE) $$CHOICE; echo; echo "> Next time, you can bypass the menu by typing directly 'make $$CHOICE'"; echo;
+
+all: $(CIMG_FILES)
+
+clean:
+	rm -rf *.exe *.o *~ \#* $(CIMG_FILES) $(CIMG_EXTRA_FILES)
+ifneq ($(EXEPFX),)
+	rm -f $(EXEPFX)*
+endif
+
+# Custom user-defined target
+custom:
+	@$(MAKE) \
+"CONF_CFLAGS = \
+$(CIMG_ANSI_CFLAGS) \
+$(CIMG_VT100_CFLAGS) \
+$(CIMG_TIFF_CFLAGS) \
+$(CIMG_X11_CFLAGS) \
+$(CIMG_XSHM_CFLAGS)" \
+"CONF_LIBS = \
+$(CIMG_X11_LIBS) \
+$(CIMG_TIFF_LIBS) \
+$(CIMG_XSHM_LIBS)" \
+all $(CIMG_EXTRA_FILES)
+
+# Linux/BSD/Mac OSX targets, with X11 display.
+linux:
+	@$(MAKE) \
+"CONF_CFLAGS = \
+$(CIMG_ANSI_CFLAGS) \
+$(CIMG_VT100_CFLAGS) \
+$(CIMG_X11_CFLAGS) \
+$(CIMG_XSHM_CFLAGS)" \
+"CONF_LIBS = \
+$(CIMG_X11_LIBS) \
+$(CIMG_XSHM_LIBS)" \
+all
+
+dlinux:
+	@$(MAKE) \
+"CONF_CFLAGS = \
+$(CIMG_ANSI_CFLAGS) \
+$(CIMG_DEBUG_CFLAGS) \
+$(CIMG_VT100_CFLAGS) \
+$(CIMG_X11_CFLAGS) \
+$(CIMG_XSHM_CFLAGS)" \
+"CONF_LIBS = \
+$(CIMG_X11_LIBS) \
+$(CIMG_XSHM_LIBS)" \
+all
+
+olinux:
+	@$(MAKE) \
+"CONF_CFLAGS = \
+$(CIMG_ANSI_CFLAGS) \
+$(CIMG_OPT_CFLAGS) \
+$(CIMG_OPENMP_CFLAGS) \
+$(CIMG_VT100_CFLAGS) \
+$(CIMG_X11_CFLAGS) \
+$(CIMG_XSHM_CFLAGS)" \
+"CONF_LIBS = \
+$(CIMG_X11_LIBS) \
+$(CIMG_XSHM_LIBS)" \
+"STRIP_EXE=true" \
+all
+
+mlinux:
+	@$(MAKE) \
+"CONF_CFLAGS = \
+$(CIMG_ANSI_CFLAGS) \
+$(CIMG_NODISPLAY_CFLAGS) \
+$(CIMG_OPT_CFLAGS)" \
+"STRIP_EXE=true" \
+all
+
+Mlinux:
+	@$(MAKE) \
+"CONF_CFLAGS = \
+$(CIMG_OPT_CFLAGS) \
+$(CIMG_VT100_CFLAGS) \
+$(CIMG_X11_CFLAGS) \
+$(CIMG_XSHM_CFLAGS) \
+$(CIMG_XRANDR_CFLAGS) \
+$(CIMG_TIFF_CFLAGS) \
+$(CIMG_EXR_CFLAGS) \
+$(CIMG_PNG_CFLAGS) \
+$(CIMG_JPEG_CFLAGS) \
+$(CIMG_ZLIB_CFLAGS) \
+$(CIMG_CURL_CFLAGS) \
+$(CIMG_OPENCV_CFLAGS) \
+$(CIMG_MAGICK_CFLAGS) \
+$(CIMG_FFTW3_CFLAGS)" \
+"CONF_LIBS = \
+$(CIMG_X11_LIBS) \
+$(CIMG_XSHM_LIBS) \
+$(CIMG_XRANDR_LIBS) \
+$(CIMG_TIFF_LIBS) -ltiffxx \
+$(CIMG_EXR_LIBS) \
+$(CIMG_PNG_LIBS) \
+$(CIMG_JPEG_LIBS) \
+$(CIMG_ZLIB_LIBS) \
+$(CIMG_CURL_LIBS) \
+$(CIMG_OPENCV_LIBS) \
+$(CIMG_MAGICK_LIBS) \
+$(CIMG_FFTW3_LIBS)" \
+"STRIP_EXE=true" \
+all $(CIMG_EXTRA_FILES)
+
+# Sun Solaris targets, with X11 display.
+solaris:
+	@$(MAKE) \
+"CONF_CFLAGS = \
+$(CIMG_ANSI_CFLAGS) \
+$(CIMG_VT100_CFLAGS) \
+$(CIMG_X11_CFLAGS) \
+$(CIMG_XSHM_CFLAGS)" \
+"CONF_LIBS = \
+$(CIMG_SOLARIS_LIBS) \
+$(CIMG_X11_LIBS) \
+$(CIMG_XSHM_LIBS)" \
+all
+
+dsolaris:
+	@$(MAKE) \
+"CONF_CFLAGS = \
+$(CIMG_ANSI_CFLAGS) \
+$(CIMG_DEBUG_CFLAGS) \
+$(CIMG_VT100_CFLAGS) \
+$(CIMG_X11_CFLAGS) \
+$(CIMG_XSHM_CFLAGS)" \
+"CONF_LIBS = \
+$(CIMG_SOLARIS_LIBS) \
+$(CIMG_X11_LIBS) \
+$(CIMG_XSHM_LIBS)" \
+all
+
+osolaris:
+	@$(MAKE) \
+"CONF_CFLAGS = \
+$(CIMG_ANSI_CFLAGS) \
+$(CIMG_OPT_CFLAGS) \
+$(CIMG_VT100_CFLAGS) \
+$(CIMG_X11_CFLAGS) \
+$(CIMG_XSHM_CFLAGS)" \
+"CONF_LIBS = \
+$(CIMG_SOLARIS_LIBS) \
+$(CIMG_X11_LIBS) \
+$(CIMG_XSHM_LIBS)" \
+"STRIP_EXE=true" \
+all
+
+msolaris:
+	@$(MAKE) \
+"CONF_CFLAGS = \
+$(CIMG_ANSI_CFLAGS) \
+$(CIMG_NODISPLAY_CFLAGS) \
+$(CIMG_OPT_CFLAGS)" \
+"STRIP_EXE=true" \
+all
+
+Msolaris:
+	@$(MAKE) \
+"CONF_CFLAGS = \
+$(CIMG_OPT_CFLAGS) \
+$(CIMG_VT100_CFLAGS) \
+$(CIMG_X11_CFLAGS) \
+$(CIMG_XSHM_CFLAGS) \
+$(CIMG_XRANDR_CFLAGS) \
+$(CIMG_TIFF_CFLAGS) \
+$(CIMG_MINC2_CFLAGS) \
+$(CIMG_EXR_CFLAGS) \
+$(CIMG_PNG_CFLAGS) \
+$(CIMG_JPEG_CFLAGS) \
+$(CIMG_ZLIB_CFLAGS) \
+$(CIMG_OPENCV_CFLAGS) \
+$(CIMG_MAGICK_CFLAGS) \
+$(CIMG_FFTW3_CFLAGS)" \
+"CONF_LIBS = \
+$(CIMG_SOLARIS_LIBS) \
+$(CIMG_X11_LIBS) \
+$(CIMG_XSHM_LIBS) \
+$(CIMG_XRANDR_LIBS) \
+$(CIMG_TIFF_LIBS) \
+$(CIMG_MINC2_LIBS) \
+$(CIMG_EXR_LIBS) \
+$(CIMG_PNG_LIBS) \
+$(CIMG_JPEG_LIBS) \
+$(CIMG_ZLIB_LIBS) \
+$(CIMG_OPENCV_LIBS) \
+$(CIMG_MAGICK_LIBS) \
+$(CIMG_FFTW3_LIBS)" \
+"STRIP_EXE=true" \
+all $(CIMG_EXTRA_FILES)
+
+# MacOsX targets, with X11 display.
+macosx:
+	@$(MAKE) \
+"CONF_CFLAGS = \
+$(CIMG_ANSI_CFLAGS) \
+$(CIMG_VT100_CFLAGS) \
+$(CIMG_X11_CFLAGS)" \
+"CONF_LIBS = \
+$(CIMG_X11_LIBS)" \
+all
+
+dmacosx:
+	@$(MAKE) \
+"CONF_CFLAGS = \
+$(CIMG_ANSI_CFLAGS) \
+$(CIMG_DEBUG_CFLAGS) \
+$(CIMG_VT100_CFLAGS) \
+$(CIMG_X11_CFLAGS)" \
+"CONF_LIBS = \
+$(CIMG_X11_LIBS)" \
+all
+
+omacosx:
+	@$(MAKE) \
+"CONF_CFLAGS = \
+$(CIMG_ANSI_CFLAGS) \
+$(CIMG_OPT_CFLAGS) \
+$(CIMG_VT100_CFLAGS) \
+$(CIMG_X11_CFLAGS)" \
+"CONF_LIBS = \
+$(CIMG_X11_LIBS)" \
+all
+
+mmacosx:
+	@$(MAKE) \
+"CONF_CFLAGS = \
+$(CIMG_ANSI_CFLAGS) \
+$(CIMG_NODISPLAY_CFLAGS) \
+$(CIMG_OPT_CFLAGS)" \
+all
+
+Mmacosx:
+	@$(MAKE) \
+"CONF_CFLAGS = \
+$(CIMG_OPT_CFLAGS) \
+$(CIMG_VT100_CFLAGS) \
+$(CIMG_X11_CFLAGS) \
+$(CIMG_TIFF_CFLAGS) \
+$(CIMG_MINC2_CFLAGS) \
+$(CIMG_EXR_CFLAGS) \
+$(CIMG_PNG_CFLAGS) \
+$(CIMG_JPEG_CFLAGS) \
+$(CIMG_ZLIB_CFLAGS) \
+$(CIMG_OPENCV_CFLAGS) \
+$(CIMG_MAGICK_CFLAGS) \
+$(CIMG_FFTW3_CFLAGS)" \
+"CONF_LIBS = \
+$(CIMG_X11_LIBS) \
+$(CIMG_TIFF_LIBS) \
+$(CIMG_MINC2_LIBS) \
+$(CIMG_EXR_LIBS) \
+$(CIMG_PNG_LIBS) \
+$(CIMG_JPEG_LIBS) \
+$(CIMG_ZLIB_LIBS) \
+$(CIMG_OPENCV_LIBS) \
+$(CIMG_MAGICK_LIBS) \
+$(CIMG_FFTW3_LIBS)" \
+all $(CIMG_EXTRA_FILES)
+
+# Windows targets, with GDI32 display.
+windows:
+	@$(MAKE) \
+"CONF_CFLAGS = " \
+"CONF_LIBS = \
+$(CIMG_GDI32_LIBS)" \
+all
+
+dwindows:
+	@$(MAKE) \
+"CONF_CFLAGS = \
+$(CIMG_DEBUG_CFLAGS)" \
+"CONF_LIBS = \
+$(CIMG_GDI32_LIBS)" \
+all
+
+owindows:
+	@$(MAKE) \
+"CONF_CFLAGS = \
+$(CIMG_OPT_CFLAGS)" \
+"CONF_LIBS = \
+$(CIMG_GDI32_LIBS)" \
+"STRIP_EXE=true" \
+all
+
+mwindows:
+	@$(MAKE) \
+"CONF_CFLAGS = \
+$(CIMG_NODISPLAY_CFLAGS) \
+$(CIMG_OPT_CFLAGS)" \
+"STRIP_EXE=true" \
+all
+
+Mwindows:
+	@$(MAKE) \
+"CONF_CFLAGS = \
+$(CIMG_OPT_CFLAGS) \
+$(CIMG_TIFF_CFLAGS) \
+$(CIMG_PNG_CFLAGS) \
+$(CIMG_JPEG_CFLAGS) \
+$(CIMG_ZLIB_CFLAGS) \
+$(CIMG_OPENCV_CFLAGS) \
+$(CIMG_FFTW3_CFLAGS)" \
+"CONF_LIBS = \
+$(CIMG_GDI32_LIBS) \
+$(CIMG_TIFF_LIBS) \
+$(CIMG_PNG_LIBS) \
+$(CIMG_JPEG_LIBS) \
+$(CIMG_ZLIB_LIBS) \
+$(CIMG_OPENCV_LIBS) \
+$(CIMG_FFTW3_LIBS)" \
+"STRIP_EXE=true" \
+all $(CIMG_EXTRA_FILES)
+
+#-----------------
+# End of makefile
+#-----------------
diff --git a/examples/captcha.cpp b/examples/captcha.cpp
new file mode 100644
index 0000000..06a3c84
--- /dev/null
+++ b/examples/captcha.cpp
@@ -0,0 +1,163 @@
+/*
+ #
+ #  File        : captcha.cpp
+ #                ( C++ source file )
+ #
+ #  Description : Captcha images generator.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#ifndef cimg_debug
+#define cimg_debug 1
+#endif
+#include "CImg.h"
+using namespace cimg_library;
+#undef min
+#undef max
+
+// Main procedure
+//----------------
+int main(int argc,char **argv) {
+
+  // Read command line parameters
+  //------------------------------
+  cimg_usage("Simple captcha generator.");
+  const char *file_o       = cimg_option("-o",(const char*)0,"Output image file");
+  const bool add_border    = cimg_option("-b",true,"Add border to captcha image");
+  const bool visu          = cimg_option("-visu",true,"Enable visualization if no output file");
+
+  // Generate captcha text (6 char max).
+  //------------------------------------
+  const char *predef_words[] = {
+    "aarrgh", "abacas", "abacus", "abakas", "abamps", "abased", "abaser", "abases", "abasia", "abated", "abater",
+    "abates", "abatis", "abator", "baobab", "barbal", "barbed", "barbel", "barber", "barbes", "barbet", "barbie",
+    "barbut", "barcas", "barded", "bardes", "bardic", "barege", "cavies", "cavils", "caving", "cavity", "cavort",
+    "cawing", "cayman", "cayuse", "ceased", "ceases", "cebids", "ceboid", "cecity", "cedarn", "dicast", "dicers",
+    "dicier", "dicing", "dicker", "dickey", "dickie", "dicots", "dictum", "didact", "diddle", "diddly", "didies",
+    "didoes", "emails", "embalm", "embank", "embark", "embars", "embays", "embeds", "embers", "emblem", "embody",
+    "emboli", "emboly", "embosk", "emboss", "fluffy", "fluids", "fluish", "fluked", "flukes", "flukey", "flumed",
+    "flumes", "flumps", "flunks", "flunky", "fluors", "flurry", "fluted", "genome", "genoms", "genres", "genros",
+    "gentes", "gentil", "gentle", "gently", "gentry", "geodes", "geodic", "geoids", "gerahs", "gerbil", "hotter",
+    "hottie", "houdah", "hounds", "houris", "hourly", "housed", "housel", "houser", "houses", "hovels", "hovers",
+    "howdah", "howdie", "inland", "inlays", "inlets", "inlier", "inmate", "inmesh", "inmost", "innage", "innate",
+    "inners", "inning", "inpour", "inputs", "inroad", "joypop", "jubbah", "jubhah", "jubile", "judder", "judged",
+    "judger", "judges", "judoka", "jugate", "jugful", "jugged", "juggle", "jugula", "knifer", "knifes", "knight",
+    "knives", "knobby", "knocks", "knolls", "knolly", "knosps", "knotty", "knouts", "knower", "knowns", "knubby",
+    "legate", "legato", "legend", "legers", "legged", "leggin", "legion", "legist", "legits", "legman", "legmen",
+    "legong", "legume", "lehuas", "mammal", "mammas", "mammee", "mammer", "mammet", "mammey", "mammie", "mammon",
+    "mamzer", "manage", "manana", "manats", "manche", "manege", "nihils", "nilgai", "nilgau", "nilled", "nimble",
+    "nimbly", "nimbus", "nimmed", "nimrod", "ninety", "ninjas", "ninons", "ninths", "niobic", "offish", "offkey",
+    "offset", "oftest", "ogdoad", "oghams", "ogival", "ogives", "oglers", "ogling", "ogress", "ogrish", "ogrism",
+    "ohmage", "papaws", "papaya", "papers", "papery", "pappus", "papula", "papule", "papyri", "parade", "paramo",
+    "parang", "paraph", "parcel", "pardah", "quasar", "quatre", "quaver", "qubits", "qubyte", "queans", "queasy",
+    "queazy", "queens", "queers", "quelea", "quells", "quench", "querns", "raised", "raiser", "raises", "raisin",
+    "raitas", "rajahs", "rakees", "rakers", "raking", "rakish", "rallye", "ralphs", "ramada", "ramate", "savory",
+    "savour", "savoys", "sawers", "sawfly", "sawing", "sawlog", "sawney", "sawyer", "saxony", "sayeds", "sayers",
+    "sayest", "sayids", "tondos", "toneme", "toners", "tongas", "tonged", "tonger", "tongue", "tonics", "tonier",
+    "toning", "tonish", "tonlet", "tonner", "tonnes", "uredia", "uredos", "ureide", "uremia", "uremic", "ureter",
+    "uretic", "urgent", "urgers", "urging", "urials", "urinal", "urines", "uropod", "villus", "vimina", "vinals",
+    "vincas", "vineal", "vinery", "vinier", "vinify", "vining", "vinous", "vinyls", "violas", "violet", "violin",
+    "webfed", "weblog", "wechts", "wedded", "wedder", "wedeln", "wedels", "wedged", "wedges", "wedgie", "weeded",
+    "weeder", "weekly", "weened", "xystoi", "xystos", "xystus", "yabber", "yabbie", "yachts", "yacked", "yaffed",
+    "yagers", "yahoos", "yairds", "yakked", "yakker", "yakuza", "zigged", "zigzag", "zillah", "zinced", "zincic",
+    "zincky", "zinebs", "zinged", "zinger", "zinnia", "zipped", "zipper", "zirams", "zircon" };
+  cimg::srand();
+  const char *const captcha_text = predef_words[std::rand()%(sizeof(predef_words)/sizeof(char*))];
+
+  // Create captcha image
+  //----------------------
+
+  // Write colored and distorted text
+  CImg<unsigned char> captcha(256,64,1,3,0), color(3);
+  char letter[2] = { 0 };
+  for (unsigned int k = 0; k<6; ++k) {
+    CImg<unsigned char> tmp;
+    *letter = captcha_text[k];
+    if (*letter) {
+      cimg_forX(color,i) color[i] = (unsigned char)(128 + (std::rand()%127));
+      tmp.draw_text((int)(2 + 8*cimg::rand()),
+                    (int)(12*cimg::rand()),
+                    letter,color.data(),0,1,std::rand()%2?38:57).resize(-100,-100,1,3);
+      const unsigned int dir = std::rand()%4, wph = tmp.width() + tmp.height();
+      cimg_forXYC(tmp,x,y,v) {
+        const int val = dir==0?x + y:(dir==1?x + tmp.height() - y:(dir==2?y + tmp.width() - x:
+                                                                   tmp.width() - x + tmp.height() - y));
+        tmp(x,y,v) = (unsigned char)cimg::max(0.0f,cimg::min(255.0f,1.5f*tmp(x,y,v)*val/wph));
+      }
+      if (std::rand()%2) tmp = (tmp.get_dilate(3)-=tmp);
+      tmp.blur((float)cimg::rand()*0.8f).normalize(0,255);
+      const float sin_offset = (float)cimg::crand()*3, sin_freq = (float)cimg::crand()/7;
+      cimg_forYC(captcha,y,v) captcha.get_shared_row(y,0,v).shift((int)(4*std::cos(y*sin_freq + sin_offset)));
+      captcha.draw_image(6 + 40*k,tmp);
+    }
+  }
+
+  // Add geometric and random noise
+  CImg<unsigned char> copy = (+captcha).fill(0);
+  for (unsigned int l = 0; l<3; ++l) {
+    if (l) copy.blur(0.5f).normalize(0,148);
+    for (unsigned int k = 0; k<10; ++k) {
+      cimg_forX(color,i) color[i] = (unsigned char)(128 + cimg::rand()*127);
+      if (cimg::rand()<0.5f) copy.draw_circle((int)(cimg::rand()*captcha.width()),
+                                              (int)(cimg::rand()*captcha.height()),
+                                              (int)(cimg::rand()*30),
+                                              color.data(),0.6f,~0U);
+      else copy.draw_line((int)(cimg::rand()*captcha.width()),
+                          (int)(cimg::rand()*captcha.height()),
+                          (int)(cimg::rand()*captcha.width()),
+                          (int)(cimg::rand()*captcha.height()),
+                          color.data(),0.6f);
+    }
+  }
+  captcha|=copy;
+  captcha.noise(10,2);
+
+  if (add_border)
+    captcha.draw_rectangle(0,0,captcha.width() - 1,captcha.height() - 1,
+                           CImg<unsigned char>::vector(255,255,255).data(),1.0f,~0U);
+  captcha = (+captcha).fill(255) - captcha;
+
+  // Write output image and captcha text
+  //-------------------------------------
+  std::printf("%s\n",captcha_text);
+  if (file_o) captcha.save(file_o);
+  else if (visu) {
+    CImgDisplay disp(CImg<unsigned char>(512,128,1,3,180).draw_image(128,32,captcha),captcha_text,0);
+    while (!disp.is_closed() && !disp.key()) { disp.wait(); if (disp.is_resized()) disp.resize(disp).wait(100); }
+  }
+  return 0;
+}
diff --git a/examples/curve_editor2d.cpp b/examples/curve_editor2d.cpp
new file mode 100644
index 0000000..dca1b26
--- /dev/null
+++ b/examples/curve_editor2d.cpp
@@ -0,0 +1,356 @@
+/*
+ #
+ #  File        : curve_editor2d.cpp
+ #                ( C++ source file )
+ #
+ #  Description : A simple user interface to construct 2D spline curves.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #                Antonio Albiol Colomer
+ #                ( http://personales.upv.es/~aalbiol/index-english.html )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#include "CImg.h"
+using namespace cimg_library;
+#undef min
+#undef max
+
+// Compute distance from a point to a segment.
+//---------------------------------------------
+float dist_segment(const float x, const float y, const float x1, const float y1, const float x2, const float y2) {
+  const float
+    dx = x2 - x1,
+    dy = y2 - y1,
+    long_segment = (float)std::sqrt(dx*dx + dy*dy);
+  if (long_segment==0) { const float ddx = x - x1, ddy = y - y1; return (float)std::sqrt(ddx*ddx + ddy*ddy); }
+  const float
+    unitx = dx/long_segment,
+    unity = dy/long_segment,
+    vx = x - x1,
+    vy = y - y1,
+    long_proy = vx*unitx + vy*unity,
+    proyx = x1 + long_proy*unitx,
+    proyy = y1 + long_proy*unity;
+  if (long_proy>long_segment) { const float ddx = x - x2, ddy = y - y2; return std::sqrt(ddx*ddx + ddy*ddy); }
+  else if (long_proy<0) { const float ddx = x - x1, ddy = y - y1; return std::sqrt(ddx*ddx + ddy*ddy); }
+  const float ddx = x - proyx, ddy = y - proyy;
+  return std::sqrt(ddx*ddx + ddy*ddy);
+}
+
+// Main procedure
+//---------------
+int main(int argc, char **argv) {
+
+  // Read command line parameters
+  //-----------------------------
+  cimg_usage("2D Spline Curve Editor");
+  const char *file_i = cimg_option("-i",(char*)0,"Input image");
+  const float contrast = cimg_option("-contrast",0.6f,"Image contrast");
+  const char *file_ip = cimg_option("-ip",(char*)0,"Input control points");
+  const char *file_oc = cimg_option("-oc",(char*)0,"Output curve points");
+  const char *file_op = cimg_option("-op",(char*)0,"Output control points");
+  const char *file_od = cimg_option("-od",(char*)0,"Output distance function");
+  bool interp = cimg_option("-poly",true,"Use polynomial interpolation");
+  bool closed = cimg_option("-closed",true,"Closed curve");
+  bool show_tangents = cimg_option("-tangents",false,"Show tangents");
+  bool show_points = cimg_option("-points",true,"Show control points");
+  bool show_outline = cimg_option("-outline",true,"Show polygon outline");
+  bool show_indices = cimg_option("-indices",true,"Show points indices");
+  bool show_coordinates = cimg_option("-coords",false,"Show points coordinates");
+  const float precision = cimg_option("-prec",0.05f,"Precision of curve discretization");
+
+  // Init image data
+  //-----------------
+  const unsigned char yellow[] = { 255,255,0 }, white[] = { 255,255,255 }, green[] = { 0,255,0 },
+                      blue[] = { 120,200,255 }, purple[] = { 255,100,255 }, black[] = { 0,0,0 };
+  CImg<unsigned char> img0, img, help_img;
+  if (file_i) {
+    std::fprintf(stderr,"\n - Load input image '%s' : ",cimg::basename(file_i));
+    img0 = CImg<>(file_i).normalize(0,255.0f*contrast);
+    std::fprintf(stderr,"Size = %dx%dx%dx%d \n",img0.width(),img0.height(),img0.depth(),img0.spectrum());
+    img0.resize(-100,-100,1,3);
+  }
+  else {
+    std::fprintf(stderr,"\n - No input image specified, use default 512x512 image.\n");
+    img0.assign(512,512,1,3,0).draw_grid(32,32,0,0,false,false,green,0.4f,0xCCCCCCCC,0xCCCCCCCC);
+  }
+
+  help_img.assign(220,210,1,3,0).
+    draw_text(5,5,
+              "------------------------------------------\n"
+              "2D Curve Editor\n"
+              "------------------------------------------\n"
+              "Left button : Create or move control point\n"
+              "Right button : Delete control point\n"
+              "Spacebar : Switch interpolation\n"
+              "Key 'C' : Switch open/closed mode\n"
+              "Key 'T' : Show/hide tangents\n"
+              "Key 'P' : Show/hide control points\n"
+              "Key 'O' : Show/hide polygon outline\n"
+              "Key 'N' : Show/hide points indices\n"
+              "Key 'X' : Show/hide points coordinates\n"
+              "Key 'H' : Show/hide this help\n"
+              "Key 'S' : Save control points\n"
+              "Key 'R' : Reset curve\n",
+              green);
+  CImgDisplay disp(img0,"2D Curve Editor",0);
+  CImgList<float> points, curve;
+  bool moving = false, help = !file_i;
+
+  if (file_ip) {
+    std::fprintf(stderr," - Load input control points '%s' : ",cimg::basename(file_ip));
+    points = CImg<>(file_ip).transpose()<'x';
+    std::fprintf(stderr," %u points\n",points.size());
+  }
+
+  // Enter interactive loop
+  //------------------------
+  while (!disp.is_closed() && !disp.is_keyESC() && !disp.is_keyQ()) {
+
+    // Handle mouse manipulation
+    //---------------------------
+    const unsigned int button = disp.button();
+    const float
+      x = disp.mouse_x()*(float)img0.width()/disp.width(),
+      y = disp.mouse_y()*(float)img0.height()/disp.height();
+
+    if (points && button && x>=0 && y>=0) {
+
+      // Find nearest point and nearest segment
+      float dmin_pt = cimg::type<float>::max(), dmin_seg = dmin_pt;
+      unsigned int p_pt = 0, p_seg = 0;
+      cimglist_for(points,p) {
+        const unsigned int
+          pnext = closed?(p + 1)%points.size():(p + 1<(int)points.size()?p + 1:p);
+        const float
+          xp = points(p,0),
+          yp = points(p,1);
+        const float
+          d_pt  = (xp - x)*(xp - x) + (yp - y)*(yp - y),
+	  d_seg = dist_segment(x,y,xp,yp,points(pnext,0),points(pnext,1));
+        if (d_pt<dmin_pt)   { dmin_pt = d_pt; p_pt = p; }
+        if (d_seg<dmin_seg) { dmin_seg = d_seg; p_seg = p; }
+      }
+
+      // Handle button
+      if (button&1) {
+        if (dmin_pt<100 || moving) { points(p_pt,0) = x; points(p_pt,1) = y; }
+        else points.insert(CImg<>::vector(x,y),p_seg + 1);
+        moving = true;
+      }
+      if (button&2 && dmin_pt<100) {
+        if (points.size()>3) points.remove(p_pt);
+        disp.set_button();
+      }
+    }
+    if (!button) moving = false;
+
+    if (disp.key()) {
+      switch (disp.key()) {
+      case cimg::keySPACE : interp = !interp; break;
+      case cimg::keyC : closed = !closed; break;
+      case cimg::keyT : show_tangents = !show_tangents; break;
+      case cimg::keyP : show_points = !show_points; break;
+      case cimg::keyO : show_outline = !show_outline; break;
+      case cimg::keyN : show_indices = !show_indices; break;
+      case cimg::keyX : show_coordinates = !show_coordinates; break;
+      case cimg::keyR : points.assign(); break;
+      case cimg::keyH : help = !help; break;
+      case cimg::keyS : {
+        const char *filename = file_op?file_op:"curve_points.dlm";
+        std::fprintf(stderr," - Save control points in '%s'\n",filename);
+        (points>'x').transpose().save(filename);
+      } break;
+      }
+      disp.set_key();
+    }
+
+    // Init list of points if empty
+    //------------------------------
+    if (!points) {
+      const float
+        x0 = img0.width()/4.0f,
+        y0 = img0.height()/4.0f,
+        x1 = img0.width() - x0,
+        y1 = img0.height() - y0;
+      points.insert(CImg<>::vector(x0,y0)).
+        insert(CImg<>::vector(x1,y0)).
+        insert(CImg<>::vector(x1,y1)).
+        insert(CImg<>::vector(x0,y1));
+    }
+
+    // Estimate curve tangents
+    //-------------------------
+    CImg<> tangents(points.size(),2);
+    cimglist_for(points,p) {
+      const unsigned int
+        p0 = closed?(p + points.size() - 1)%points.size():(p?p - 1:0),
+        p1 = closed?(p + 1)%points.size():(p + 1<(int)points.size()?p + 1:p);
+      const float
+        x  = points(p,0),
+        y  = points(p,1),
+        x0 = points(p0,0),
+        y0 = points(p0,1),
+        x1 = points(p1,0),
+        y1 = points(p1,1),
+        u0 = x - x0,
+        v0 = y - y0,
+        n0 = 1e-8f + (float)std::sqrt(u0*u0 + v0*v0),
+        u1 = x1 - x,
+        v1 = y1 - y,
+        n1 = 1e-8f + (float)std::sqrt(u1*u1 + v1*v1),
+        u = u0/n0 + u1/n1,
+        v = v0/n0 + v1/n1,
+        n = 1e-8f + (float)std::sqrt(u*u + v*v),
+        fact = 0.5f*(n0 + n1);
+      tangents(p,0) = fact*u/n;
+      tangents(p,1) = fact*v/n;
+    }
+
+    // Estimate 3th-order polynomial interpolation
+    //---------------------------------------------
+    curve.assign();
+    const unsigned int pmax = points.size() - (closed?0:1);
+    for (unsigned int p0 = 0; p0<pmax; p0++) {
+      const unsigned int
+        p1 = closed?(p0 + 1)%points.size():(p0 + 1<points.size()?p0 + 1:p0);
+      const float
+        x0 = points(p0,0),
+        y0 = points(p0,1),
+        x1 = points(p1,0),
+        y1 = points(p1,1);
+      float ax = 0, bx = 0, cx = 0, dx = 0, ay = 0, by = 0, cy = 0, dy = 0;
+      if (interp) {
+        const float
+          u0 = tangents(p0,0),
+          v0 = tangents(p0,1),
+          u1 = tangents(p1,0),
+          v1 = tangents(p1,1);
+        ax = 2*(x0 - x1) + u0 + u1;
+        bx = 3*(x1 - x0) - 2*u0 - u1;
+        cx = u0;
+        dx = x0;
+        ay = 2*(y0 - y1) + v0 + v1;
+        by = 3*(y1 - y0) - 2*v0 - v1;
+        cy = v0;
+        dy = y0;
+      } else {
+        ax = ay = bx = by = 0;
+        dx = x0;
+        dy = y0;
+        cx = x1 - x0;
+        cy = y1 - y0;
+      }
+      const float tmax = 1 + precision;
+      for (float t = 0; t<tmax; t+=precision) {
+        const float
+          xt = ax*t*t*t + bx*t*t + cx*t + dx,
+          yt = ay*t*t*t + by*t*t + cy*t + dy;
+        curve.insert(CImg<>::vector(xt,yt));
+      }
+    }
+
+    // Draw curve and display image
+    //-------------------------------
+    const float
+      factx = (float)disp.width()/img0.width(),
+      facty = (float)disp.height()/img0.height();
+    img = img0.get_resize(disp.width(),disp.height());
+    if (help) img.draw_image(help_img,0.6f);
+    if (interp && show_outline) {
+      CImg<> npoints = points>'x';
+      npoints.get_shared_row(0)*=factx;
+      npoints.get_shared_row(1)*=facty;
+      img.draw_polygon(npoints,blue,0.4f);
+      if (closed) img.draw_polygon(npoints,yellow,0.8f,0x11111111);
+      else img.draw_line(npoints,yellow,0.8f,0x11111111);
+    }
+    CImg<> ncurve = curve>'x';
+    ncurve.get_shared_row(0)*=factx;
+    ncurve.get_shared_row(1)*=facty;
+    if (closed) img.draw_polygon(ncurve,white,1.0f,~0U);
+    else img.draw_line(ncurve,white);
+
+    if (show_points) cimglist_for(points,p) {
+      const float
+        x = points(p,0)*factx,
+        y = points(p,1)*facty;
+      if (show_tangents) {
+        const float
+          u = tangents(p,0),
+          v = tangents(p,1),
+          n = 1e-8f + (float)std::sqrt(u*u + v*v),
+          nu = u/n,
+          nv = v/n;
+        img.draw_arrow((int)(x - 15*nu),(int)(y - 15*nv),(int)(x + 15*nu),(int)(y + 15*nv),green);
+      }
+      if (show_indices) img.draw_text((int)x,(int)(y - 16),"%d",purple,black,1,13,p);
+      if (show_coordinates)
+        img.draw_text((int)(x - 24),(int)(y + 8),"(%d,%d)",yellow,black,0.5f,13,(int)points(p,0),(int)points(p,1));
+      img.draw_circle((int)x,(int)y,3,blue,0.7f);
+    }
+
+    img.display(disp);
+    disp.wait();
+
+    if (disp.is_resized()) disp.resize(false);
+  }
+
+  // Save output result and exit
+  //-----------------------------
+  if (file_op) {
+    std::fprintf(stderr," - Save control points in '%s'\n",cimg::basename(file_op));
+    (points>'x').transpose().save(file_op);
+  }
+  if (file_oc) {
+    std::fprintf(stderr," - Save curve points in '%s'\n",cimg::basename(file_oc));
+    (curve>'x').transpose().save(file_oc);
+  }
+  if (file_od) {
+    std::fprintf(stderr," - Computing distance function, please wait...."); std::fflush(stderr);
+    CImg<> ncurve = (closed?(+curve).insert(curve[0]):curve)>'x';
+    const float zero = 0.0f, one = 1.0f;
+    CImg<> distance =
+      CImg<>(img0.width(),img0.height(),1,1,-1.0f).draw_line(ncurve,&zero).draw_fill(0,0,&one).
+      distance(0);
+    std::fprintf(stderr,"\n - Save distance function in '%s'\n",cimg::basename(file_od));
+    distance.save(file_od);
+  }
+
+  std::fprintf(stderr," - Exit.\n");
+  std::exit(0);
+  return 0;
+}
diff --git a/examples/dtmri_view3d.cpp b/examples/dtmri_view3d.cpp
new file mode 100644
index 0000000..7091e12
--- /dev/null
+++ b/examples/dtmri_view3d.cpp
@@ -0,0 +1,562 @@
+/*
+ #
+ #  File        : dtmri_view3d.cpp
+ #                ( C++ source file )
+ #
+ #  Description : A viewer of Diffusion-Tensor MRI volumes (medical imaging).
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#include "CImg.h"
+using namespace cimg_library;
+#undef min
+#undef max
+
+// Compute fractional anisotropy (FA) of a tensor
+//-------------------------------------------
+template<typename T> float get_FA(const T& val1, const T& val2, const T& val3) {
+  const float
+    l1 = val1>0?val1:0, l2 = val2>0?val2:0, l3 = val3>0?val3:0,
+    lm = (l1 + l2 + l3)/3,
+    tr2 = 2*(l1*l1 + l2*l2 + l3*l3),
+    ll1 = l1 - lm,
+    ll2 = l2 - lm,
+    ll3 = l3 - lm;
+  if (tr2>0) return (float)std::sqrt(3*(ll1*ll1 + ll2*ll2 + ll3*ll3)/tr2);
+  return 0;
+}
+
+// Insert an ellipsoid in a CImg 3D scene
+//----------------------------------------
+template<typename t, typename tp, typename tf, typename tc>
+void insert_ellipsoid(const CImg<t>& tensor, const float X, const float Y, const float Z, const float tfact,
+                      const float vx, const float vy, const float vz,
+                      CImgList<tp>& points, CImgList<tf>& faces, CImgList<tc>& colors,
+                      const unsigned int res1=20, const unsigned int res2=20) {
+
+  // Compute eigen elements
+  float l1 = tensor[0], l2 = tensor[1], l3 = tensor[2], fa = get_FA(l1,l2,l3);
+  CImg<> vec = CImg<>::matrix(tensor[3],tensor[6],tensor[9],
+			      tensor[4],tensor[7],tensor[10],
+			      tensor[5],tensor[8],tensor[11]);
+  const int
+    r = (int)cimg::min(30 + 1.5f*cimg::abs(255*fa*tensor[3]),255.0f),
+    g = (int)cimg::min(30 + 1.5f*cimg::abs(255*fa*tensor[4]),255.0f),
+    b = (int)cimg::min(30 + 1.5f*cimg::abs(255*fa*tensor[5]),255.0f);
+
+  // Define mesh points
+  const unsigned int N0 = points.size();
+  for (unsigned int v = 1; v<res2; v++)
+    for (unsigned int u = 0; u<res1; u++) {
+      const float
+        alpha = (float)(u*2*cimg::PI/res1),
+        beta = (float)(-cimg::PI/2 + v*cimg::PI/res2),
+        x = (float)(tfact*l1*std::cos(beta)*std::cos(alpha)),
+        y = (float)(tfact*l2*std::cos(beta)*std::sin(alpha)),
+        z = (float)(tfact*l3*std::sin(beta));
+      points.insert((CImg<tp>::vector(X,Y,Z) + vec*CImg<tp>::vector(x,y,z)).mul(CImg<tp>::vector(vx,vy,vz)));
+    }
+  const unsigned int N1 = points.size();
+  points.insert((CImg<tp>::vector(X,Y,Z) - vec*CImg<tp>::vector(0,0,l3*tfact)));
+  points.insert((CImg<tp>::vector(X,Y,Z) + vec*CImg<tp>::vector(0,0,l3*tfact)));
+  points[points.size() - 2](0)*=vx; points[points.size() - 2](1)*=vy; points[points.size() - 2](2)*=vz;
+  points[points.size() - 1](0)*=vx; points[points.size() - 1](1)*=vy; points[points.size() - 1](2)*=vz;
+
+  // Define mesh triangles
+  for (unsigned int vv = 0; vv<res2 - 2; ++vv)
+    for (unsigned int uu = 0; uu<res1; ++uu) {
+      const int nv = (vv + 1)%(res2 - 1), nu = (uu + 1)%res1;
+      faces.insert(CImg<tf>::vector(N0 + res1*vv + nu,N0 + res1*nv + uu,N0 + res1*vv + uu));
+      faces.insert(CImg<tf>::vector(N0 + res1*vv + nu,N0 + res1*nv + nu,N0 + res1*nv + uu));
+      colors.insert(CImg<tc>::vector((tc)r,(tc)g,(tc)b));
+      colors.insert(CImg<tc>::vector((tc)r,(tc)g,(tc)b));
+    }
+  for (unsigned int uu = 0; uu<res1; ++uu) {
+    const int nu = (uu + 1)%res1;
+    faces.insert(CImg<tf>::vector(N0 + nu,N0 + uu,N1));
+    faces.insert(CImg<tf>::vector(N0 + res1*(res2 - 2) + nu, N1 + 1,N0 + res1*(res2 - 2) + uu));
+    colors.insert(CImg<tc>::vector((tc)r,(tc)g,(tc)b));
+    colors.insert(CImg<tc>::vector((tc)r,(tc)g,(tc)b));
+  }
+}
+
+// Insert a fiber in a CImg 3D scene
+//-----------------------------------
+template<typename T,typename te,typename tp, typename tf, typename tc>
+void insert_fiber(const CImg<T>& fiber, const CImg<te>& eigen, const CImg<tc>& palette,
+                  const int xm, const int ym, const int zm,
+                  const float vx, const float vy, const float vz,
+                  CImgList<tp>& points, CImgList<tf>& primitives, CImgList<tc>& colors) {
+  const int N0 = points.size();
+  float x0 = fiber(0,0), y0 = fiber(0,1), z0 = fiber(0,2), fa0 = eigen.linear_atXYZ(x0,y0,z0,12);
+  points.insert(CImg<>::vector(vx*(x0  -xm),vy*(y0 - ym),vz*(z0 - zm)));
+  for (int l = 1; l<fiber.width(); ++l) {
+    float x1 = fiber(l,0), y1 = fiber(l,1), z1 = fiber(l,2), fa1 = eigen.linear_atXYZ(x1,y1,z1,12);
+    points.insert(CImg<tp>::vector(vx*(x1 - xm),vy*(y1 - ym),vz*(z1 - zm)));
+    primitives.insert(CImg<tf>::vector(N0 + l - 1,N0 + l));
+    const unsigned char
+      icol = (unsigned char)(fa0*255),
+      r = palette(icol,0),
+      g = palette(icol,1),
+      b = palette(icol,2);
+    colors.insert(CImg<unsigned char>::vector(r,g,b));
+    x0 = x1; y0 = y1; z0 = z1; fa0 = fa1;
+  }
+}
+
+// Compute fiber tracking using 4th-order Runge Kutta integration
+//-----------------------------------------------------------------
+template<typename T>
+CImg<> get_fibertrack(CImg<T>& eigen,
+                      const int X0, const int Y0, const int Z0, const float lmax=100,
+                      const float dl=0.1f, const float FAmin=0.7f, const float cmin=0.5f) {
+#define align_eigen(i,j,k) \
+  { T &u = eigen(i,j,k,3), &v = eigen(i,j,k,4), &w = eigen(i,j,k,5); \
+    if (u*cu + v*cv + w*cw<0) { u=-u; v=-v; w=-w; }}
+
+  CImgList<> resf;
+
+  // Forward tracking
+  float normU = 0, normpU = 0, l = 0, X = (float)X0, Y = (float)Y0, Z = (float)Z0;
+  T
+    pu = eigen(X0,Y0,Z0,3),
+    pv = eigen(X0,Y0,Z0,4),
+    pw = eigen(X0,Y0,Z0,5);
+  normpU = (float)std::sqrt(pu*pu + pv*pv + pw*pw);
+  bool stopflag = false;
+
+  while (!stopflag) {
+    if (X<0 || X>eigen.width() - 1 || Y<0 || Y>eigen.height() - 1 || Z<0 || Z>eigen.depth() - 1 ||
+        eigen((int)X,(int)Y,(int)Z,12)<FAmin || l>lmax) stopflag = true;
+    else {
+      resf.insert(CImg<>::vector(X,Y,Z));
+
+      const int
+        cx = (int)X, px = (cx - 1<0)?0:cx - 1, nx = (cx + 1>=eigen.width())?eigen.width() - 1:cx + 1,
+        cy = (int)Y, py = (cy - 1<0)?0:cy - 1, ny = (cy + 1>=eigen.height())?eigen.height() - 1:cy + 1,
+        cz = (int)Z, pz = (cz - 1<0)?0:cz - 1, nz = (cz + 1>=eigen.depth())?eigen.depth() - 1:cz + 1;
+      const T cu = eigen(cx,cy,cz,3), cv = eigen(cx,cy,cz,4), cw = eigen(cx,cy,cz,5);
+
+      align_eigen(px,py,pz); align_eigen(cx,py,pz); align_eigen(nx,py,pz);
+      align_eigen(px,cy,pz); align_eigen(cx,cy,pz); align_eigen(nx,cy,pz);
+      align_eigen(px,ny,pz); align_eigen(cx,ny,pz); align_eigen(nx,ny,pz);
+      align_eigen(px,py,cz); align_eigen(cx,py,cz); align_eigen(nx,py,cz);
+      align_eigen(px,cy,cz);                        align_eigen(nx,cy,cz);
+      align_eigen(px,ny,cz); align_eigen(cx,ny,cz); align_eigen(nx,ny,cz);
+      align_eigen(px,py,nz); align_eigen(cx,py,nz); align_eigen(nx,py,nz);
+      align_eigen(px,cy,nz); align_eigen(cx,cy,nz); align_eigen(nx,cy,nz);
+      align_eigen(px,ny,nz); align_eigen(cx,ny,nz); align_eigen(nx,ny,nz);
+
+      const T
+        u0 = 0.5f*dl*eigen.linear_atXYZ(X,Y,Z,3),
+        v0 = 0.5f*dl*eigen.linear_atXYZ(X,Y,Z,4),
+        w0 = 0.5f*dl*eigen.linear_atXYZ(X,Y,Z,5),
+        u1 = 0.5f*dl*eigen.linear_atXYZ(X + u0,Y + v0,Z + w0,3),
+        v1 = 0.5f*dl*eigen.linear_atXYZ(X + u0,Y + v0,Z + w0,4),
+        w1 = 0.5f*dl*eigen.linear_atXYZ(X + u0,Y + v0,Z + w0,5),
+        u2 = 0.5f*dl*eigen.linear_atXYZ(X + u1,Y + v1,Z + w1,3),
+        v2 = 0.5f*dl*eigen.linear_atXYZ(X + u1,Y + v1,Z + w1,4),
+        w2 = 0.5f*dl*eigen.linear_atXYZ(X + u1,Y + v1,Z + w1,5),
+        u3 = 0.5f*dl*eigen.linear_atXYZ(X + u2,Y + v2,Z + w2,3),
+        v3 = 0.5f*dl*eigen.linear_atXYZ(X + u2,Y + v2,Z + w2,4),
+        w3 = 0.5f*dl*eigen.linear_atXYZ(X + u2,Y + v2,Z + w2,5);
+      T
+        u = u0/3 + 2*u1/3 + 2*u2/3 + u3/3,
+        v = v0/3 + 2*v1/3 + 2*v2/3 + v3/3,
+        w = w0/3 + 2*w1/3 + 2*w2/3 + w3/3;
+      if (u*pu + v*pv + w*pw<0) { u = -u; v = -v; w = -w; }
+      normU = (float)std::sqrt(u*u + v*v + w*w);
+      const float scal = (u*pu + v*pv + w*pw)/(normU*normpU);
+      if (scal<cmin) stopflag=true;
+
+      X+=(pu=u); Y+=(pv=v); Z+=(pw=w);
+      normpU = normU;
+      l+=dl;
+    }
+  }
+
+  // Backward tracking
+  l = dl; X = (float)X0; Y = (float)Y0; Z = (float)Z0;
+  pu = eigen(X0,Y0,Z0,3);
+  pv = eigen(X0,Y0,Z0,4);
+  pw = eigen(X0,Y0,Z0,5);
+  normpU = (float)std::sqrt(pu*pu + pv*pv + pw*pw);
+  stopflag = false;
+
+  while (!stopflag) {
+    if (X<0 || X>eigen.width() - 1 || Y<0 || Y>eigen.height() - 1 || Z<0 || Z>eigen.depth() - 1 ||
+        eigen((int)X,(int)Y,(int)Z,12)<FAmin || l>lmax) stopflag = true;
+    else {
+
+      const int
+        cx = (int)X, px = (cx - 1<0)?0:cx - 1, nx = (cx + 1>=eigen.width())?eigen.width() - 1:cx + 1,
+        cy = (int)Y, py = (cy - 1<0)?0:cy - 1, ny = (cy + 1>=eigen.height())?eigen.height() - 1:cy + 1,
+        cz = (int)Z, pz = (cz - 1<0)?0:cz - 1, nz = (cz + 1>=eigen.depth())?eigen.depth() - 1:cz + 1;
+      const T cu = eigen(cx,cy,cz,3), cv = eigen(cx,cy,cz,4), cw = eigen(cx,cy,cz,5);
+
+      align_eigen(px,py,pz); align_eigen(cx,py,pz); align_eigen(nx,py,pz);
+      align_eigen(px,cy,pz); align_eigen(cx,cy,pz); align_eigen(nx,cy,pz);
+      align_eigen(px,ny,pz); align_eigen(cx,ny,pz); align_eigen(nx,ny,pz);
+      align_eigen(px,py,cz); align_eigen(cx,py,cz); align_eigen(nx,py,cz);
+      align_eigen(px,cy,cz);                        align_eigen(nx,cy,cz);
+      align_eigen(px,ny,cz); align_eigen(cx,ny,cz); align_eigen(nx,ny,cz);
+      align_eigen(px,py,nz); align_eigen(cx,py,nz); align_eigen(nx,py,nz);
+      align_eigen(px,cy,nz); align_eigen(cx,cy,nz); align_eigen(nx,cy,nz);
+      align_eigen(px,ny,nz); align_eigen(cx,ny,nz); align_eigen(nx,ny,nz);
+
+      const T
+        u0 = 0.5f*dl*eigen.linear_atXYZ(X,Y,Z,3),
+        v0 = 0.5f*dl*eigen.linear_atXYZ(X,Y,Z,4),
+        w0 = 0.5f*dl*eigen.linear_atXYZ(X,Y,Z,5),
+        u1 = 0.5f*dl*eigen.linear_atXYZ(X + u0,Y + v0,Z + w0,3),
+        v1 = 0.5f*dl*eigen.linear_atXYZ(X + u0,Y + v0,Z + w0,4),
+        w1 = 0.5f*dl*eigen.linear_atXYZ(X + u0,Y + v0,Z + w0,5),
+        u2 = 0.5f*dl*eigen.linear_atXYZ(X + u1,Y + v1,Z + w1,3),
+        v2 = 0.5f*dl*eigen.linear_atXYZ(X + u1,Y + v1,Z + w1,4),
+        w2 = 0.5f*dl*eigen.linear_atXYZ(X + u1,Y + v1,Z + w1,5),
+        u3 = 0.5f*dl*eigen.linear_atXYZ(X + u2,Y + v2,Z + w2,3),
+        v3 = 0.5f*dl*eigen.linear_atXYZ(X + u2,Y + v2,Z + w2,4),
+        w3 = 0.5f*dl*eigen.linear_atXYZ(X + u2,Y + v2,Z + w2,5);
+      T
+        u = u0/3 + 2*u1/3 + 2*u2/3 + u3/3,
+        v = v0/3 + 2*v1/3 + 2*v2/3 + v3/3,
+        w = w0/3 + 2*w1/3 + 2*w2/3 + w3/3;
+      if (u*pu + v*pv + w*pw<0) { u = -u; v = -v; w = -w; }
+      normU = (float)std::sqrt(u*u + v*v + w*w);
+      const float scal = (u*pu + v*pv + w*pw)/(normU*normpU);
+      if (scal<cmin) stopflag=true;
+
+      X-=(pu=u); Y-=(pv=v); Z-=(pw=w);
+      normpU=normU;
+      l+=dl;
+
+      resf.insert(CImg<>::vector(X,Y,Z),0);
+    }
+  }
+
+  return resf>'x';
+}
+
+// Main procedure
+//----------------
+int main(int argc,char **argv) {
+
+  // Read and init data
+  //--------------------
+  cimg_usage("A viewer of Diffusion-Tensor MRI volumes.");
+  const char *file_i   = cimg_option("-i",(char*)0,"Input : Filename of tensor field (volume wxhxdx6)");
+  const char* vsize    = cimg_option("-vsize","1x1x1","Input : Voxel aspect");
+  const bool normalize = cimg_option("-normalize",true,"Input : Enable tensor normalization");
+  const char *file_f   = cimg_option("-f",(char*)0,"Input : Input fibers\n");
+  const float dl       = cimg_option("-dl",0.5f,"Fiber computation : Integration step");
+  const float famin    = cimg_option("-famin",0.3f,"Fiber computation : Fractional Anisotropy threshold");
+  const float cmin     = cimg_option("-cmin",0.2f,"Fiber computation : Curvature threshold");
+  const float lmin     = cimg_option("-lmin",10.0f,"Fiber computation : Minimum length\n");
+  const float lmax     = cimg_option("-lmax",1000.0f,"Fiber computation : Maximum length\n");
+  const float tfact    = cimg_option("-tfact",1.2f,"Display : Tensor size factor");
+  const char *bgcolor  = cimg_option("-bg","0,0,0","Display : Background color");
+  unsigned int bgr = 0, bgg = 0, bgb = 0;
+  std::sscanf(bgcolor,"%u%*c%u%*c%u",&bgr,&bgg,&bgb);
+
+  CImg<> tensors;
+  if (file_i) {
+    std::fprintf(stderr,"\n- Loading tensors '%s'",cimg::basename(file_i));
+    tensors.load(file_i);
+  } else {
+    // Create a synthetic tensor field here
+    std::fprintf(stderr,"\n- No input files : Creating a synthetic tensor field");
+    tensors.assign(32,32,32,6);
+    cimg_forXYZ(tensors,x,y,z) {
+      const float
+        u = x - tensors.width()/2.0f,
+        v = y - tensors.height()/2.0f,
+        w = z - tensors.depth()/2.0f,
+        norm = (float)std::sqrt(1e-5f + u*u + v*v + w*w),
+        nu = u/norm, nv = v/norm, nw = w/norm;
+      const CImg<>
+        dir1 = CImg<>::vector(nu,nv,nw),
+        dir2 = CImg<>::vector(-nv,nu,nw),
+        dir3 = CImg<>::vector(nw*(nv - nu),-nw*(nu + nv),nu*nu + nv*nv);
+      tensors.set_tensor_at(2.0*dir1*dir1.get_transpose() +
+                            1.0*dir2*dir2.get_transpose() +
+                            0.7*dir3*dir3.get_transpose(),
+                            x,y,z);
+    }
+  }
+  float voxw = 1, voxh = 1, voxd = 1;
+  std::sscanf(vsize,"%f%*c%f%*c%f",&voxw,&voxh,&voxd);
+
+  std::fprintf(stderr," : %ux%ux%u image, voxsize=%gx%gx%g.",
+               tensors.width(),tensors.height(),tensors.depth(),
+               voxw,voxh,voxd);
+
+  CImgList<> fibers;
+  if (file_f) {
+    std::fprintf(stderr,"\n- Loading fibers '%s'.",cimg::basename(file_f));
+    fibers.load(file_f);
+  }
+
+  const CImg<unsigned char> fiber_palette =
+    CImg<>(2,1,1,3).fill(200,255,0,255,0,200).RGBtoHSV().resize(256,1,1,3,3).HSVtoRGB();
+
+  // Compute eigen elements
+  //------------------------
+  std::fprintf(stderr,"\n- Compute eigen elements.");
+  CImg<unsigned char> coloredFA(tensors.width(),tensors.height(),tensors.depth(),3);
+  CImg<> eigen(tensors.width(),tensors.height(),tensors.depth(),13);
+  CImg<> val,vec;
+  float eigmax = 0;
+  cimg_forXYZ(tensors,x,y,z) {
+    tensors.get_tensor_at(x,y,z).symmetric_eigen(val,vec);
+    eigen(x,y,z,0) = val[0]; eigen(x,y,z,1) = val[1]; eigen(x,y,z,2) = val[2];
+    if (val[0]<0) val[0] = 0;
+    if (val[1]<0) val[1] = 0;
+    if (val[2]<0) val[2] = 0;
+    if (val[0]>eigmax) eigmax = val[0];
+    eigen(x,y,z,3) = vec(0,0); eigen(x,y,z,4)  = vec(0,1); eigen(x,y,z,5)  = vec(0,2);
+    eigen(x,y,z,6) = vec(1,0); eigen(x,y,z,7)  = vec(1,1); eigen(x,y,z,8)  = vec(1,2);
+    eigen(x,y,z,9) = vec(2,0); eigen(x,y,z,10) = vec(2,1); eigen(x,y,z,11) = vec(2,2);
+    const float fa = get_FA(val[0],val[1],val[2]);
+    eigen(x,y,z,12) = fa;
+    const int
+      r = (int)cimg::min(255.0f,1.5f*cimg::abs(255*fa*vec(0,0))),
+      g = (int)cimg::min(255.0f,1.5f*cimg::abs(255*fa*vec(0,1))),
+      b = (int)cimg::min(255.0f,1.5f*cimg::abs(255*fa*vec(0,2)));
+    coloredFA(x,y,z,0) = (unsigned char)r;
+    coloredFA(x,y,z,1) = (unsigned char)g;
+    coloredFA(x,y,z,2) = (unsigned char)b;
+  }
+  tensors.assign();
+  std::fprintf(stderr,"\n- Maximum diffusivity = %g, Maximum FA = %g",eigmax,eigen.get_shared_channel(12).max());
+  if (normalize) {
+    std::fprintf(stderr,"\n- Normalize tensors.");
+    eigen.get_shared_channels(0,2)/=eigmax;
+  }
+
+  // Init display and begin user interaction
+  //-----------------------------------------
+  std::fprintf(stderr,"\n- Open user window.");
+  CImgDisplay disp(256,256,"DTMRI Viewer",0);
+  CImgDisplay disp3d(800,600,"3D Local View",0,false,true);
+  unsigned int XYZ[3];
+  XYZ[0] = eigen.width()/2; XYZ[1] = eigen.height()/2; XYZ[2] = eigen.depth()/2;
+
+  while (!disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC()) {
+    const CImg<int> s = coloredFA.get_select(disp,2,XYZ);
+    if (!disp.is_closed()) switch (disp.key()) {
+
+      // Open 3D visualization window
+      //-----------------------------
+    case cimg::keyA :
+    case 0 : {
+      const unsigned char white[] = { 255 };
+      disp3d.display(CImg<unsigned char>(disp3d.width(),disp3d.height(),1,1,0).
+                     draw_text(10,10,"Please wait...",white)).show();
+      int xm,ym,zm,xM,yM,zM;
+      if (!disp.key()) { xm = s[0]; ym = s[1]; zm = s[2]; xM = s[3]; yM = s[4]; zM = s[5]; }
+      else { xm = ym = zm = 0; xM = eigen.width() - 1; yM = eigen.height() - 1; zM = eigen.height() - 1; }
+      const CImg<> img = eigen.get_crop(xm,ym,zm,xM,yM,zM);
+      CImgList<> points;
+      CImgList<unsigned int> primitives;
+      CImgList<unsigned char> colors;
+
+      // Add ellipsoids to the 3D scene
+      int X = img.width()/2, Y = img.height()/2, Z = img.depth()/2;
+      cimg_forXY(img,x,y)
+        insert_ellipsoid(img.get_vector_at(x,y,Z),(float)x,(float)y,(float)Z,
+                         tfact,voxw,voxh,voxd,points,primitives,colors,10,6);
+      cimg_forXZ(img,x,z)
+        insert_ellipsoid(img.get_vector_at(x,Y,z),(float)x,(float)Y,(float)z,
+                         tfact,voxw,voxh,voxd,points,primitives,colors,10,6);
+      cimg_forYZ(img,y,z)
+        insert_ellipsoid(img.get_vector_at(X,y,z),(float)X,(float)y,(float)z,
+                         tfact,voxw,voxh,voxd,points,primitives,colors,10,6);
+
+      // Add computed fibers to the 3D scene
+      const CImg<> veigen = eigen.get_crop(xm,ym,zm,xM,yM,zM);
+      cimglist_for(fibers,l) {
+        const CImg<>& fiber = fibers[l];
+        if (fiber.width()) insert_fiber(fiber,eigen,fiber_palette,
+                                       xm,ym,zm,voxw,voxh,voxd,
+                                       points,primitives,colors);
+      }
+
+      // Display 3D object
+      CImg<unsigned char> visu = CImg<unsigned char>(3,disp3d.width(),disp3d.height(),1,0).
+        fill((unsigned char)bgr,(unsigned char)bgg,(unsigned char)bgb).
+        permute_axes("yzcx");
+      bool stopflag = false;
+      while (!disp3d.is_closed() && !stopflag) {
+        const CImg<> pts = points>'x';
+        visu.display_object3d(disp3d,pts,primitives,colors,true,4,-1,false,800,0.05f,1.0f);
+        disp3d.close();
+        switch (disp3d.key()) {
+        case cimg::keyM : { // Create movie
+          std::fprintf(stderr,"\n- Movie mode.\n");
+          const unsigned int N = 256;
+          CImg<> cpts(pts);
+          const CImg<> x = pts.get_shared_row(0), y = pts.get_shared_row(1), z = pts.get_shared_row(2);
+          float
+            xm, xM = x.max_min(xm),
+            ym, yM = y.max_min(ym),
+            zm, zM = z.max_min(zm),
+            ratio = 2.0f*cimg::min(visu.width(),visu.height())/(3.0f*cimg::max(xM - xm,yM - ym,zM - zm)),
+            dx = 0.5f*(xM + xm), dy = 0.5f*(yM + ym), dz = 0.5f*(zM  +zm);
+          cimg_forX(pts,l) {
+            cpts(l,0) = (pts(l,0) - dx)*ratio;
+            cpts(l,1) = (pts(l,1) - dy)*ratio;
+            cpts(l,2) = (pts(l,2) - dz)*ratio;
+          }
+
+          for (unsigned int i=0; i<N; i++) {
+            std::fprintf(stderr,"\r- Frame %u/%u.",i,N);
+            const float alpha = (float)(i*2*cimg::PI/N);
+            const CImg<> rpts = CImg<>::rotation_matrix(0,1,0,alpha)*CImg<>::rotation_matrix(1,0,0,1.30f)*cpts;
+            visu.fill(0).draw_object3d(visu.width()/2.0f,visu.height()/2.0f,-500.0f,rpts,primitives,colors,
+                                       4,false,800.0f,visu.width()/2.0f,visu.height()/2.0f,-800.0f,0.05f,1.0f).
+              display(disp3d);
+            visu.save("frame.png",i);
+          }
+          visu.fill(0);
+        } break;
+        default: stopflag = true;
+        }
+      }
+      if (disp3d.is_fullscreen()) disp3d.toggle_fullscreen().resize(800,600).close();
+    } break;
+
+    // Compute region statistics
+    //---------------------------
+    case cimg::keyR : {
+      std::fprintf(stderr,"\n- Statistics computation. Select region."); std::fflush(stderr);
+      const CImg<int> s = coloredFA.get_select(disp,2,XYZ);
+      int xm, ym, zm, xM, yM, zM;
+      if (!disp.key()) { xm = s[0]; ym = s[1]; zm = s[2]; xM = s[3]; yM = s[4]; zM = s[5]; }
+      else { xm = ym = zm = 0; xM = eigen.width() - 1; yM = eigen.height() - 1; zM = eigen.height() - 1; }
+      const CImg<> img = eigen.get_crop(xm,ym,zm,xM,yM,zM);
+      std::fprintf(stderr,"\n- Mean diffusivity = %g, Mean FA = %g\n",
+                   eigen.get_shared_channel(0).mean(),
+                   eigen.get_shared_channel(12).mean());
+    } break;
+
+    // Track fiber bundle (single region)
+    //----------------------------------
+    case cimg::keyF : {
+      std::fprintf(stderr,"\n- Tracking mode (single region). Select starting region.\n"); std::fflush(stderr);
+      const CImg<int> s = coloredFA.get_select(disp,2,XYZ);
+      const unsigned int N = fibers.size();
+      for (int z=s[2]; z<=s[5]; z++)
+        for (int y=s[1]; y<=s[4]; y++)
+          for (int x=s[0]; x<=s[3]; x++) {
+            const CImg<> fiber = get_fibertrack(eigen,x,y,z,lmax,dl,famin,cmin);
+            if (fiber.width()>lmin) {
+              std::fprintf(stderr,"\rFiber %u : Starting from (%d,%d,%d)\t\t",fibers.size(),x,y,z);
+              fibers.insert(fiber);
+            }
+          }
+      std::fprintf(stderr,"\n- %u fiber(s) added (total %u).",fibers.size() - N,fibers.size());
+    } break;
+
+    // Track fiber bundle (double regions)
+    //------------------------------------
+    case cimg::keyG : {
+      std::fprintf(stderr,"\n- Tracking mode (double region). Select starting region."); std::fflush(stderr);
+      const CImg<int> s = coloredFA.get_select(disp,2,XYZ);
+      std::fprintf(stderr," Select ending region."); std::fflush(stderr);
+      const CImg<int> ns = coloredFA.get_select(disp,2,XYZ);
+      const unsigned int N = fibers.size();
+
+      // Track from start to end
+      for (int z = s[2]; z<=s[5]; ++z)
+        for (int y = s[1]; y<=s[4]; ++y)
+          for (int x = s[0]; x<=s[3]; ++x) {
+            const CImg<> fiber = get_fibertrack(eigen,x,y,z,lmax,dl,famin,cmin);
+            if (fiber.width()>lmin) {
+              bool valid_fiber = false;
+              cimg_forX(fiber,k) {
+                const int fx = (int)fiber(k,0), fy = (int)fiber(k,1), fz = (int)fiber(k,2);
+                if (fx>=ns[0] && fx<=ns[3] &&
+                    fy>=ns[1] && fy<=ns[4] &&
+                    fz>=ns[2] && fz<=ns[5]) valid_fiber = true;
+              }
+              if (valid_fiber) fibers.insert(fiber);
+            }
+          }
+
+      // Track from end to start
+      for (int z = ns[2]; z<=ns[5]; ++z)
+        for (int y = ns[1]; y<=ns[4]; ++y)
+          for (int x = ns[0]; x<=ns[3]; ++x) {
+            const CImg<> fiber = get_fibertrack(eigen,x,y,z,lmax,dl,famin,cmin);
+            if (fiber.width()>lmin) {
+              bool valid_fiber = false;
+              cimg_forX(fiber,k) {
+                const int fx = (int)fiber(k,0), fy = (int)fiber(k,1), fz = (int)fiber(k,2);
+                if (fx>=s[0] && fx<=s[3] &&
+                    fy>=s[1] && fy<=s[4] &&
+                    fz>=s[2] && fz<=s[5]) valid_fiber = true;
+              }
+              if (valid_fiber) {
+                std::fprintf(stderr,"\rFiber %u : Starting from (%d,%d,%d)\t\t",fibers.size(),x,y,z);
+                fibers.insert(fiber);
+              }
+            }
+          }
+
+      std::fprintf(stderr," %u fiber(s) added (total %u).",fibers.size() - N,fibers.size());
+    } break;
+
+    // Clear fiber bundle
+    //-------------------
+    case cimg::keyC : {
+      std::fprintf(stderr,"\n- Fibers removed.");
+      fibers.assign();
+    } break;
+
+    // Save fibers
+    //-------------
+    case cimg::keyS : {
+      fibers.save("fibers.cimg");
+      std::fprintf(stderr,"\n- Fibers saved.");
+    } break;
+
+    }
+  }
+
+  std::fprintf(stderr,"\n- Exit.\n\n\n");
+  return 0;
+}
diff --git a/examples/edge_explorer2d.cpp b/examples/edge_explorer2d.cpp
new file mode 100644
index 0000000..b8188f8
--- /dev/null
+++ b/examples/edge_explorer2d.cpp
@@ -0,0 +1,218 @@
+/*
+ #
+ #  File        : edge_explorer2d.cpp
+ #                ( C++ source file )
+ #
+ #  Description : Real time edge detection while moving a ROI
+ #                (rectangle of interest) over the original image.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : Orges Leka
+ #                ( oleka(at)students.uni-mainz.de )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#include "CImg.h"
+using namespace cimg_library;
+#ifndef cimg_imagepath
+#define cimg_imagepath "img/"
+#endif
+
+// Main procedure
+//----------------
+int main(int argc, char** argv) {
+
+  // Usage of the program displayed at the command line
+  cimg_usage("Real time edge detection with CImg. (c) Orges Leka");
+
+  // Read command line arguments
+  // With cimg_option we can get a new name for the image which is to be loaded from the command line.
+  const char* img_name = cimg_option("-i", cimg_imagepath "parrot.ppm","Input image.");
+  double
+    alpha = cimg_option("-a",1.0,"Blurring the gradient image."),
+    thresL = cimg_option("-tl",13.5,"Lower thresholding used in Hysteresis."),
+    thresH = cimg_option("-th",13.6,"Higher thresholding used in Hysteresis.");
+  const unsigned int
+    mode = cimg_option("-m",1,"Detection mode: 1 = Hysteresis, 2 = Gradient angle."),
+    factor = cimg_option("-s",80,"Half-size of edge-explorer window.");
+
+  cimg_help("\nAdditional notes : user can press following keys on main display window :\n"
+            "     - Left arrow : Decrease alpha.\n"
+            "     - Right arrow : Increase alpha.\n");
+
+  // Construct a new image called 'edge' of size (2*factor,2*factor)
+  // and of type 'unsigned char'.
+  CImg<unsigned char> edge(2*factor,2*factor);
+  CImgDisplay disp_edge(512,512,"Edge Explorer");
+
+  // Load the image with the name 'img_name' into the CImg 'img'.
+  // and create a display window 'disp' for the image 'img'.
+  const CImg<unsigned char> img = CImg<float>::get_load(img_name).norm().normalize(0,255);
+  CImgDisplay disp(img,"Original Image");
+
+  // Begin main interaction loop.
+  int x = 0, y = 0;
+  bool redraw = false;
+  while (!disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC()) {
+    disp.wait(100);
+    if (disp.button()&1) { alpha+=0.05; redraw = true; }
+    if (disp.button()&2) { alpha-=0.05; redraw = true; }
+    if (disp.wheel()) { alpha+=0.05*disp.wheel(); disp.set_wheel(); redraw = true; }
+    if (alpha<0) alpha = 0;
+    if (disp_edge.is_resized()) { disp_edge.resize(); redraw = true; }
+    if (disp_edge.is_closed()) disp_edge.show();
+    if (disp.is_resized()) disp.resize(disp);
+    if (disp.mouse_x()>=0) {
+      x = disp.mouse_x(); // Getting the current position of the mouse.
+      y = disp.mouse_y(); //
+      redraw = true;    // The image should be redrawn.
+    }
+    if (redraw) {
+      disp_edge.set_title("Edge explorer (alpha=%g)",alpha);
+      const int
+        x0 = x - factor, y0 = y - factor,  // These are the coordinates for the red rectangle
+        x1 = x + factor, y1 = y + factor;  // to be drawn on the original image.
+      const unsigned char
+        red[3] = { 255,0,0 },          //
+        black[3] = { 0,0,0 };          // Defining the colors we need for drawing.
+
+        (+img).draw_rectangle(x0,y0,x1,y1,red,1.0f,0x55555555U).display(disp);
+        //^ We draw the red rectangle on the original window using 'draw_line'.
+        // Then we display the result via '.display(disp)' .
+        //  Observe, that the color 'red' has to be of type 'const unsigned char',
+        //  since the image 'img' is of type 'const CImg<unsigned char>'.
+
+        //'normalize' is used to get a greyscaled image.
+        CImg<> visu_bw = CImg<>(img).get_crop(x0,y0,x1,y1).get_norm().normalize(0,255).resize(-100,-100,1,2,2);
+        // get_crop(x0,y0,x1,y1) gets the rectangle we are interested in.
+
+        edge.fill(255); // Background color in the edge-detection window is white.
+
+        // grad[0] is the gradient image of 'visu_bw' in x-direction.
+        // grad[1] is the gradient image of 'visu_bw' in y-direction.
+        CImgList<> grad(visu_bw.blur((float)alpha).normalize(0,255).get_gradient());
+
+        // To avoid unnecessary calculations in the image loops:
+        const double
+          pi = cimg::PI,
+          p8 = pi/8.0, p38 = 3.0*p8,
+          p58 = 5.0*p8, p78 = 7.0*p8;
+
+        cimg_forXY(visu_bw,s,t) {
+          // We take s,t instead of x,y, since x,y are already used.
+          // s corresponds to the x-ordinate of the pixel while t corresponds to the y-ordinate.
+          if ( 1 <= s && s <= visu_bw.width() - 1 && 1 <= t && t <=visu_bw.height() - 1) { // if - good points
+            double
+              Gs = grad[0](s,t),                  //
+              Gt = grad[1](s,t),                               //  The actual pixel is (s,t)
+              Gst = cimg::abs(Gs) + cimg::abs(Gt),    //
+              // ^-- For efficient computation we observe that |Gs|+ |Gt| ~=~ sqrt( Gs^2 + Gt^2)
+              Gr, Gur, Gu, Gul, Gl, Gdl, Gd, Gdr;
+            // ^-- right, up right, up, up left, left, down left, down, down right.
+            double theta = std::atan2(Gt,Gs) + pi; // theta is from the interval [0,Pi]
+            switch(mode) {
+            case 1: // Hysterese is applied
+              if (Gst>=thresH) { edge.draw_point(s,t,black); }
+              else if (thresL <= Gst && Gst < thresH) {
+                // Neighbourhood of the actual pixel:
+                Gr = cimg::abs(grad[0](s + 1,t)) + cimg::abs(grad[1](s + 1,t)); // right
+                Gl = cimg::abs(grad[0](s - 1,t)) + cimg::abs(grad[1](s - 1,t)); // left
+                Gur = cimg::abs(grad[0](s + 1,t + 1)) + cimg::abs(grad[1](s + 1,t + 1)); // up right
+                Gdl = cimg::abs(grad[0](s - 1,t - 1)) + cimg::abs(grad[1](s - 1,t - 1)); // down left
+                Gu = cimg::abs(grad[0](s,t + 1)) + cimg::abs(grad[1](s,t + 1)); // up
+                Gd = cimg::abs(grad[0](s,t - 1)) + cimg::abs(grad[1](s,t - 1)); // down
+                Gul = cimg::abs(grad[0](s - 1,t + 1)) + cimg::abs(grad[1](s - 1,t + 1)); // up left
+                Gdr = cimg::abs(grad[0](s + 1,t - 1)) + cimg::abs(grad[1](s + 1,t - 1)); // down right
+                if (Gr>=thresH || Gur>=thresH || Gu>=thresH || Gul>=thresH
+                    || Gl>=thresH || Gdl >=thresH || Gu >=thresH || Gdr >=thresH) {
+                  edge.draw_point(s,t,black);
+                }
+              };
+              break;
+            case 2: // Angle 'theta' of the gradient (Gs,Gt) at the point (s,t).
+              if(theta >= pi)theta-=pi;
+              //rounding theta:
+              if ((p8 < theta && theta <= p38 ) || (p78 < theta && theta <= pi)) {
+                // See (*) below for explanation of the vocabulary used.
+                // Direction-pixel is (s + 1,t) with corresponding gradient value Gr.
+                Gr = cimg::abs(grad[0](s + 1,t)) + cimg::abs(grad[1](s + 1,t)); // right
+                // Contra-direction-pixel is (s - 1,t) with corresponding gradient value Gl.
+                Gl = cimg::abs(grad[0](s - 1,t)) + cimg::abs(grad[1](s - 1,t)); // left
+                if (Gr < Gst && Gl < Gst) {
+                  edge.draw_point(s,t,black);
+                }
+              }
+              else if ( p8 < theta && theta <= p38) {
+                // Direction-pixel is (s + 1,t + 1) with corresponding gradient value Gur.
+                Gur = cimg::abs(grad[0](s + 1,t + 1)) + cimg::abs(grad[1](s + 1,t + 1)); // up right
+                // Contra-direction-pixel is (s-1,t-1) with corresponding gradient value Gdl.
+                Gdl = cimg::abs(grad[0](s - 1,t - 1)) + cimg::abs(grad[1](s - 1,t - 1)); // down left
+                if (Gur < Gst && Gdl < Gst) {
+                  edge.draw_point(s,t,black);
+                      }
+              }
+              else if ( p38 < theta && theta <= p58) {
+                // Direction-pixel is (s,t + 1) with corresponding gradient value Gu.
+                Gu = cimg::abs(grad[0](s,t + 1)) + cimg::abs(grad[1](s,t + 1)); // up
+                // Contra-direction-pixel is (s,t - 1) with corresponding gradient value Gd.
+                Gd = cimg::abs(grad[0](s,t - 1)) + cimg::abs(grad[1](s,t - 1)); // down
+                if (Gu < Gst && Gd < Gst) {
+                  edge.draw_point(s,t,black);
+                }
+              }
+              else if (p58 < theta && theta <= p78) {
+                // Direction-pixel is (s - 1,t + 1) with corresponding gradient value Gul.
+                Gul = cimg::abs(grad[0](s - 1,t + 1)) + cimg::abs(grad[1](s - 1,t + 1)); // up left
+                // Contra-direction-pixel is (s + 1,t - 1) with corresponding gradient value Gdr.
+                Gdr = cimg::abs(grad[0](s + 1,t - 1)) + cimg::abs(grad[1](s + 1,t - 1)); // down right
+                if (Gul < Gst && Gdr < Gst) {
+                  edge.draw_point(s,t,black);
+                }
+              };
+              break;
+            } // switch
+          } // if good-points
+        }  // cimg_forXY */
+        edge.display(disp_edge);
+    }// if redraw
+  } // while
+  return 0;
+}
+
+// (*) Comments to the vocabulary used:
+// If (s,t) is the current pixel, and G=(Gs,Gt) is the gradient at (s,t),
+// then the _direction_pixel_ of (s,t) shall be the one of the eight neighbour pixels
+// of (s,t) in whose direction the gradient G shows.
+// The _contra_direction_pixel is the pixel in the opposite direction in which the gradient G shows.
+// The _corresponding_gradient_value_ of the pixel (x,y) with gradient G = (Gx,Gy)
+// shall be |Gx| + |Gy| ~=~ sqrt(Gx^2 + Gy^2).
diff --git a/examples/fade_images.cpp b/examples/fade_images.cpp
new file mode 100644
index 0000000..6e5e0b6
--- /dev/null
+++ b/examples/fade_images.cpp
@@ -0,0 +1,94 @@
+/*
+ #
+ #  File        : fade_images.cpp
+ #                ( C++ source file )
+ #
+ #  Description : Compute a linear fading between two images.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#include "CImg.h"
+#ifndef cimg_imagepath
+#define cimg_imagepath "img/"
+#endif
+#undef min
+#undef max
+
+// Main procedure
+//---------------
+int main(int argc,char **argv) {
+
+  // Read and check command line parameters.
+  cimg_usage("Compute a linear fading between two 2D images");
+  const char *file_i1 = cimg_option("-i1",cimg_imagepath "sh0r.pgm","Input Image 1");
+  const char *file_i2 = cimg_option("-i2",cimg_imagepath "milla.bmp","Input Image 2");
+  const char *file_o  = cimg_option("-o",(char*)0,"Output Image");
+  const bool visu     = cimg_option("-visu",true,"Visualization mode");
+  const double pmin   = cimg_option("-min",40.0,"Begin of the fade (in %)")/100.0;
+  const double pmax   = cimg_option("-max",60.0,"End of the fade (in %)")/100.0;
+  const double angle  = cimg_option("-angle",0.0,"Fade angle")*cil::cimg::PI/180;
+
+  // Init images.
+  cil::CImg<unsigned char> img1(file_i1), img2(file_i2);
+  if (!img2.is_sameXYZC(img1)) {
+    int
+      dx = cil::cimg::max(img1.width(),img2.width()),
+      dy = cil::cimg::max(img1.height(),img2.height()),
+      dz = cil::cimg::max(img1.depth(),img2.depth()),
+      dv = cil::cimg::max(img1.spectrum(),img2.spectrum());
+    img1.resize(dx,dy,dz,dv,3);
+    img2.resize(dx,dy,dz,dv,3);
+  }
+  cil::CImg<unsigned char> dest(img1);
+
+  // Compute the faded image.
+  const double ca = std::cos(angle), sa = std::sin(angle);
+  double alpha;
+  cimg_forXYZC(dest,x,y,z,k) {
+    const double X = ((double)x/img1.width() - 0.5)*ca + ((double)y/img1.height() - 0.5)*sa;
+    if (X + 0.5<pmin) alpha = 0; else {
+      if (X + 0.5>pmax) alpha = 1; else
+        alpha = (X + 0.5 - pmin)/(pmax - pmin);
+    }
+    dest(x,y,z,k) = (unsigned char)((1 - alpha)*img1(x,y,z,k) + alpha*img2(x,y,z,k));
+  }
+
+  // Save and exit
+  if (file_o) dest.save(file_o);
+  if (visu) dest.display("Image fading");
+  return 0;
+}
diff --git a/examples/gaussian_fit1d.cpp b/examples/gaussian_fit1d.cpp
new file mode 100644
index 0000000..352cc82
--- /dev/null
+++ b/examples/gaussian_fit1d.cpp
@@ -0,0 +1,172 @@
+/*
+ #
+ #  File        : gaussian_fit1d.cpp
+ #                ( C++ source file )
+ #
+ #  Description : Fit a gaussian function on a set of sample points,
+ #                using the Levenberg-Marquardt algorithm.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#ifndef cimg_plugin
+#define cimg_plugin "examples/gaussian_fit1d.cpp"
+#include "CImg.h"
+using namespace cimg_library;
+#undef min
+#undef max
+
+// Main procedure
+//----------------
+int main(int argc,char **argv) {
+  cimg_usage("Fit gaussian function on sample points, using Levenberg-Marquardt algorithm.");
+
+  // Read command line arguments.
+  const char *s_params = cimg_option("-p","10,3,4","Amplitude, Mean and Std of the ground truth");
+  const unsigned int s_nb = cimg_option("-N",40,"Number of sample points");
+  const float s_noise = cimg_option("-n",10.0f,"Pourcentage of noise on the samples points");
+  const char *s_xrange = cimg_option("-x","-10,10","X-range allowed for the sample points");
+  const char *f_params = cimg_option("-p0",(char*)0,"Amplitude, Mean and Std of the first estimate");
+  const float f_lambda0 = cimg_option("-l",100.0f,"Initial damping factor");
+  const float f_dlambda = cimg_option("-dl",0.9f,"Damping attenuation");
+  float s_xmin = -10, s_xmax = 10, s_amp = 1, s_mean = 1, s_std = 1;
+  std::sscanf(s_xrange,"%f%*c%f",&s_xmin,&s_xmax);
+  std::sscanf(s_params,"%f%*c%f%*c%f",&s_amp,&s_mean,&s_std);
+
+  // Create noisy samples of a Gaussian function.
+  const float s_std2 = 2*s_std*s_std, s_fact = s_amp/((float)std::sqrt(2*cimg::PI)*s_std);
+  CImg<> samples(s_nb,2);
+  cimg_forX(samples,i) {
+    const float
+      x = (float)(s_xmin + (s_xmax - s_xmin)*cimg::rand()),
+      y = s_fact*(float)(1 + s_noise*cimg::grand()/100)*std::exp(-cimg::sqr(x - s_mean)/s_std2);
+    samples(i,0) = x;
+    samples(i,1) = y;
+  }
+
+  // Fit Gaussian function on the sample points and display curve iterations.
+  CImgDisplay disp(640,480,"Levenberg-Marquardt Gaussian Fitting",0);
+  float f_amp = 1, f_mean = 1, f_std = 1, f_lambda = f_lambda0;
+  if (f_params) std::sscanf(f_params,"%f%*c%f%*c%f",&f_amp,&f_mean,&f_std);
+  else {
+    const float& vmax = samples.get_shared_row(1).max();
+    float cmax = 0; samples.contains(vmax,cmax);
+    f_mean = samples((int)cmax,0);
+    f_std = (s_xmax - s_xmin)/10;
+    f_amp = vmax*(float)std::sqrt(2*cimg::PI)*f_std;
+  }
+  CImg<> beta = CImg<>::vector(f_amp,f_mean,f_std);
+  for (unsigned int iter = 0; !disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC(); ++iter) {
+
+    // Do one iteration of the Levenberg-Marquardt algorithm.
+    CImg<> YmF(1,s_nb), J(beta.height(),s_nb);
+    const float
+      f_amp = beta(0), f_mean = beta(1), f_std = beta(2),
+      f_std2 = 2*f_std*f_std, f_fact = (float)std::sqrt(2*cimg::PI)*f_std;
+    float f_error = 0;
+    cimg_forY(J,i) {
+      const float
+        x = samples(i,0),
+        f_exp = std::exp(-cimg::sqr(x - f_mean)/f_std2),
+        delta = samples(i,1) - f_amp*f_exp/f_fact;
+      YmF(i) = delta;
+      J(0,i) = f_exp/f_fact;
+      J(1,i) = f_amp*f_exp/f_fact*(x - f_mean)*2/f_std2;
+      J(2,i) = f_amp*f_exp/f_fact*(cimg::sqr(x - f_mean)/(f_std*f_std*f_std));
+      f_error+=cimg::sqr(delta);
+    }
+
+    CImg<> Jt = J.get_transpose(), M = Jt*J;
+    cimg_forX(M,x) M(x,x)*=1 + f_lambda;
+    beta+=M.get_invert()*Jt*YmF;
+    if (beta(0)<=0) beta(0) = 0.1f;
+    if (beta(2)<=0) beta(2) = 0.1f;
+    f_lambda*=f_dlambda;
+
+    // Display fitting curves.
+    const unsigned char black[] = { 0,0,0 }, gray[] = { 228,228,228 };
+    CImg<unsigned char>(disp.width(),disp.height(),1,3,255).
+      draw_gaussfit(samples,beta(0),beta(1),beta(2),s_amp,s_mean,s_std).
+      draw_rectangle(5,7,150,100,gray,0.9f).draw_rectangle(5,7,150,100,black,1,~0U).
+      draw_text(10,10,"Iteration : %d",black,0,1,13,iter).
+      draw_text(10,25,"Amplitude : %.4g (%.4g)",black,0,1,13,beta(0),s_amp).
+      draw_text(10,40,"Mean : %.4g (%.4g)",black,0,1,13,beta(1),s_mean).
+      draw_text(10,55,"Std : %.4g (%.4g)",black,0,1,13,beta(2),s_std).
+      draw_text(10,70,"Error : %.4g",black,0,1,13,std::sqrt(f_error)).
+      draw_text(10,85,"Lambda : %.4g",black,0,1,13,f_lambda).
+      display(disp.resize(false).wait(20));
+  }
+
+  return 0;
+}
+
+#else
+
+// Draw sample points, ideal and fitted gaussian curves on the instance image.
+// (defined as a CImg plug-in function).
+template<typename t>
+CImg<T>& draw_gaussfit(const CImg<t>& samples,
+                       const float f_amp, const float f_mean, const float f_std,
+                       const float i_amp, const float i_mean, const float i_std) {
+  if (is_empty()) return *this;
+  const unsigned char black[] = { 0,0,0 }, green[] = { 10,155,20 }, orange[] = { 155,20,0 }, purple[] = { 200,10,200 };
+  float
+    xmin, xmax = samples.get_shared_row(0).max_min(xmin), deltax = xmax - xmin,
+    ymin, ymax = samples.get_shared_row(1).max_min(ymin), deltay = ymax - ymin;
+  xmin-=0.2f*deltax; xmax+=0.2f*deltax; ymin-=0.2f*deltay; ymax+=0.2f*deltay;
+  deltax = xmax - xmin; deltay = ymax - ymin;
+  draw_grid(64,64,0,0,false,false,black,0.3f,0x55555555,0x55555555).draw_axes(xmin,xmax,ymax,ymin,black,0.8f);
+  CImg<> nsamples(samples);
+  (nsamples.get_shared_row(0)-=xmin)*=width()/deltax;
+  (nsamples.get_shared_row(1)-=ymax)*=-height()/deltay;
+  cimg_forX(nsamples,i) draw_circle((int)nsamples(i,0),(int)nsamples(i,1),3,orange,1,~0U);
+  CImg<int> truth(width(),2), fit(width(),2);
+  const float
+    i_std2 = 2*i_std*i_std, i_fact = i_amp/((float)std::sqrt(2*cimg::PI)*i_std),
+    f_std2 = 2*f_std*f_std, f_fact = f_amp/((float)std::sqrt(2*cimg::PI)*f_std);
+  cimg_forX(*this,x) {
+    const float
+      x0 = xmin + x*deltax/width(),
+      ys0 = i_fact*std::exp(-cimg::sqr(x0 - i_mean)/i_std2),
+      yf0 = f_fact*std::exp(-cimg::sqr(x0 - f_mean)/f_std2);
+    fit(x,0) = truth(x,0) = x;
+    truth(x,1) = (int)((ymax - ys0)*height()/deltay);
+    fit(x,1) = (int)((ymax - yf0)*height()/deltay);
+  }
+  return draw_line(truth,green,0.7f,0xCCCCCCCC).draw_line(fit,purple);
+}
+
+#endif
diff --git a/examples/generate_loop_macros.cpp b/examples/generate_loop_macros.cpp
new file mode 100644
index 0000000..ab09d8a
--- /dev/null
+++ b/examples/generate_loop_macros.cpp
@@ -0,0 +1,353 @@
+/*
+ #
+ #  File        : generate_loop_macros.cpp
+ #                ( C++ source file )
+ #
+ #  Description : Generate C++ macros to deal with MxN[xP] neighborhood
+ #                loops within the CImg Library.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#include "CImg.h"
+using namespace cimg_library;
+
+// Generate macro(s) 'cimg_forN(i,bound)'
+//----------------------------------------
+void generate_forN(const unsigned int N) {
+  if (N>=2) {
+    const unsigned int Nn = N/2, Np = Nn - ((N + 1)%2);
+    std::printf("#define cimg_for%u(bound,i) for (int i = 0, \\\n",N);
+    for (unsigned int k = 0; k<Np; ++k) std::printf(" _p%u##i = 0,",Np - k);
+    std::printf(" \\\n");
+    for (unsigned int k = 1; k<=Nn; ++k)
+      std::printf(" _n%u##i = %u>=(int)(bound)?(int)(bound) - 1:%u%c \\\n",k,k,k,k==Nn?';':',');
+    std::printf(" _n%u##i<(int)(bound) || ",Nn);
+    for (unsigned int k = Nn - 1; k>=1; --k) std::printf("_n%u##i==--_n%u##i || ",k,k + 1);
+    std::printf("\\\n i==(");
+    for (unsigned int k = Nn; k>=2; --k) std::printf("_n%u##i = ",k);
+    std::printf("--_n1##i); \\\n ");
+    for (unsigned int k = Np; k>=2; --k) std::printf("_p%u##i = _p%u##i, ",k,k - 1);
+    if (Np) std::printf("_p1##i = i++, \\\n ");
+    else std::printf(" ++i, ");
+    for (unsigned int k = 1; k<Nn; ++k) std::printf("++_n%u##i, ",k);
+    std::printf("++_n%u##i)\n\n",Nn);
+
+    std::printf("#define cimg_for%uX(img,x) cimg_for%u((img)._width,x)\n",N,N);
+    std::printf("#define cimg_for%uY(img,y) cimg_for%u((img)._height,y)\n",N,N);
+    std::printf("#define cimg_for%uZ(img,z) cimg_for%u((img)._depth,z)\n",N,N);
+    std::printf("#define cimg_for%uC(img,c) cimg_for%u((img)._spectrum,c)\n",N,N);
+    std::printf("#define cimg_for%uXY(img,x,y) cimg_for%uY(img,y) cimg_for%uX(img,x)\n",N,N,N);
+    std::printf("#define cimg_for%uXZ(img,x,z) cimg_for%uZ(img,z) cimg_for%uX(img,x)\n",N,N,N);
+    std::printf("#define cimg_for%uXC(img,x,c) cimg_for%uC(img,c) cimg_for%uX(img,x)\n",N,N,N);
+    std::printf("#define cimg_for%uYZ(img,y,z) cimg_for%uZ(img,z) cimg_for%uY(img,y)\n",N,N,N);
+    std::printf("#define cimg_for%uYC(img,y,c) cimg_for%uC(img,c) cimg_for%uY(img,y)\n",N,N,N);
+    std::printf("#define cimg_for%uZC(img,z,c) cimg_for%uC(img,c) cimg_for%uZ(img,z)\n",N,N,N);
+    std::printf("#define cimg_for%uXYZ(img,x,y,z) cimg_for%uZ(img,z) cimg_for%uXY(img,x,y)\n",N,N,N);
+    std::printf("#define cimg_for%uXZC(img,x,z,c) cimg_for%uC(img,c) cimg_for%uXZ(img,x,z)\n",N,N,N);
+    std::printf("#define cimg_for%uYZC(img,y,z,c) cimg_for%uC(img,c) cimg_for%uYZ(img,y,z)\n",N,N,N);
+    std::printf("#define cimg_for%uXYZC(img,x,y,z,c) cimg_for%uC(img,c) cimg_for%uXYZ(img,x,y,z)\n\n",N,N,N);
+  }
+}
+
+// Generate macro(s) 'cimg_for_inN(i,bound)'
+//------------------------------------------
+void generate_for_inN(const unsigned int N) {
+  if (N>=2) {
+    const unsigned int Nn = N/2, Np = Nn - ((N + 1)%2);
+    std::printf("#define cimg_for_in%u(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \\\n",N);
+    for (unsigned int k = 0; k<Np; ++k)
+      std::printf(" _p%u##i = i - %u<0?0:i-%u, \\\n",Np - k,Np - k,Np - k);
+    for (unsigned int k = 1; k<=Nn; ++k)
+      std::printf(" _n%u##i = i + %u>=(int)(bound)?(int)(bound) - 1:i + %u%c \\\n",k,k,k,k==Nn?';':',');
+    std::printf(" i<=(int)(i1) && (_n%u##i<(int)(bound) || ",Nn);
+    for (unsigned int k = Nn - 1; k>=1; --k) std::printf("_n%u##i==--_n%u##i || ",k,k + 1);
+    std::printf("\\\n i==(");
+    for (unsigned int k = Nn; k>=2; --k) std::printf("_n%u##i = ",k);
+    std::printf("--_n1##i)); \\\n ");
+    for (unsigned int k = Np; k>=2; --k) std::printf("_p%u##i = _p%u##i, ",k,k - 1);
+    if (Np) std::printf("_p1##i = i++, \\\n ");
+    else std::printf(" ++i, ");
+    for (unsigned int k = 1; k<Nn; ++k) std::printf("++_n%u##i, ",k);
+    std::printf("++_n%u##i)\n\n",Nn);
+  }
+
+  std::printf("#define cimg_for_in%uX(img,x0,x1,x) cimg_for_in%u((img)._width,x0,x1,x)\n",N,N);
+  std::printf("#define cimg_for_in%uY(img,y0,y1,y) cimg_for_in%u((img)._height,y0,y1,y)\n",N,N);
+  std::printf("#define cimg_for_in%uZ(img,z0,z1,z) cimg_for_in%u((img)._depth,z0,z1,z)\n",N,N);
+  std::printf("#define cimg_for_in%uC(img,c0,c1,c) cimg_for_in%u((img)._spectrum,c0,c1,c)\n",N,N);
+  std::printf("#define cimg_for_in%uXY(img,x0,y0,x1,y1,x,y) cimg_for_in%uY(img,y0,y1,y) "
+              "cimg_for_in%uX(img,x0,x1,x)\n",N,N,N);
+  std::printf("#define cimg_for_in%uXZ(img,x0,z0,x1,z1,x,z) cimg_for_in%uZ(img,z0,z1,z) "
+              "cimg_for_in%uX(img,x0,x1,x)\n",N,N,N);
+  std::printf("#define cimg_for_in%uXC(img,x0,c0,x1,c1,x,c) cimg_for_in%uC(img,c0,c1,c) "
+              "cimg_for_in%uX(img,x0,x1,x)\n",N,N,N);
+  std::printf("#define cimg_for_in%uYZ(img,y0,z0,y1,z1,y,z) cimg_for_in%uZ(img,z0,z1,z) "
+              "cimg_for_in%uY(img,y0,y1,y)\n",N,N,N);
+  std::printf("#define cimg_for_in%uYC(img,y0,c0,y1,c1,y,c) cimg_for_in%uC(img,c0,c1,c) "
+              "cimg_for_in%uY(img,y0,y1,y)\n",N,N,N);
+  std::printf("#define cimg_for_in%uZC(img,z0,c0,z1,c1,z,c) cimg_for_in%uC(img,c0,c1,c) "
+              "cimg_for_in%uZ(img,z0,z1,z)\n",N,N,N);
+  std::printf("#define cimg_for_in%uXYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in%uZ(img,z0,z1,z) "
+              "cimg_for_in%uXY(img,x0,y0,x1,y1,x,y)\n",N,N,N);
+  std::printf("#define cimg_for_in%uXZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in%uC(img,c0,c1,c) "
+              "cimg_for_in%uXZ(img,x0,y0,x1,y1,x,z)\n",N,N,N);
+  std::printf("#define cimg_for_in%uYZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in%uC(img,c0,c1,c) "
+              "cimg_for_in%uYZ(img,y0,z0,y1,z1,y,z)\n",N,N,N);
+  std::printf("#define cimg_for_in%uXYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in%uC(img,c0,c1,c) "
+              "cimg_for_in%uXYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)\n\n",N,N,N);
+
+}
+
+// Generate macro 'cimg_forMxN[xP](img,x,y,z,c,I,T)'
+//--------------------------------------------------
+void generate_forMxNxP(const unsigned int M, const unsigned int N, const unsigned int P) {
+  char indx[16], indy[16], indz[16];
+  const int
+    Mn = (int)(M/2), Mp = (int)(Mn - ((M + 1)%2)),
+    Nn = (int)(N/2), Np = (int)(Nn - ((N + 1)%2)),
+    Pn = (int)(P/2), Pp = (int)(Pn - ((P + 1)%2)),
+    last = (int)(M*N*P);
+
+  if (P>1) std::printf("#define cimg_for%ux%ux%u(img,x,y,z,c,I,T) \\\n cimg_for%u((img)._depth,z)",M,N,P,P);
+  else std::printf("#define cimg_for%ux%u(img,x,y,z,c,I,T) \\\n",M,N);
+  if (N>1) std::printf(" cimg_for%u((img)._height,y) ",N);
+  else std::printf(" cimg_forY(img,y) ");
+
+  std::printf("for (int x = 0%c \\\n",M>1?',':';');
+  for (int k = Mp; k>=1; --k) std::printf(" _p%u##x = 0%s",k,k==1?", \\\n":",");
+  for (int k = 1; k<Mn; ++k) std::printf(" _n%u##x = %u>=((img)._width)?(img).width() - 1:%u, \\\n",k,k,k);
+
+  if (M>1) {
+    std::printf(" _n%u##x = (int)( \\\n ",Mn);
+    for (int k = 0, z = -Pp; z<=Pn; ++z)
+      for (int y = -Np; y<=Nn; ++y) {
+        for (int x = -Mp; x<=0; ++x) { std::printf("%sI[%d] =",k && x==-Mp?" (":(x==-Mp?"(":" "),k); ++k; }
+        k+=Mn;
+        if (y<0) std::sprintf(indy,"_p%d##",-y); else if (y>0) std::sprintf(indy,"_n%d##",y); else indy[0]='\0';
+        if (z<0) std::sprintf(indz,"_p%d##",-z); else if (z>0) std::sprintf(indz,"_n%d##",z); else indz[0]='\0';
+        std::printf(" (T)(img)(0,%sy,%sz,c))%s",indy,indz,k>=last?",":", \\\n");
+      }
+
+    std::printf(" \\\n");
+    for (int x = 1; x<Mn; ++x)
+      for (int z = -Pp; z<=Pn; ++z)
+        for (int y = -Np; y<=Nn; ++y) {
+          if (y<0) std::sprintf(indy,"_p%d##",-y); else if (y>0) std::sprintf(indy,"_n%d##",y); else indy[0]='\0';
+          if (z<0) std::sprintf(indz,"_p%d##",-z); else if (z>0) std::sprintf(indz,"_n%d##",z); else indz[0]='\0';
+          std::printf(" (I[%d] = (T)(img)(_n%d##x,%sy,%sz,c)), \\\n",(Mp + x) + (y + Np)*M + (z + Pp)*M*N,x,indy,indz);
+        }
+    std::printf(" %u>=((img)._width)?(img).width() - 1:%u); \\\n",Mn,Mn);
+  }
+
+  if (M>1) std::printf(" (_n%u##x",Mn); else std::printf(" (x");
+  std::printf("<(img).width() && ( \\\n");
+
+  for (int z = -Pp; z<=Pn; ++z)
+    for (int y = -Np; y<=Nn; ++y) {
+      if (M>1) std::sprintf(indx,"_n%d##",Mn); else indx[0]='\0';
+      if (y<0) std::sprintf(indy,"_p%d##",-y); else if (y>0) std::sprintf(indy,"_n%d##",y); else indy[0]='\0';
+      if (z<0) std::sprintf(indz,"_p%d##",-z); else if (z>0) std::sprintf(indz,"_n%d##",z); else indz[0]='\0';
+      std::printf(" (I[%d] = (T)(img)(%sx,%sy,%sz,c))%s",M - 1 + (y + Np)*M + (z + Pp)*M*N,indx,indy,indz,
+                  z==Pn && y==Nn?",1))":", \\\n");
+    }
+
+  if (M>1) {
+    std::printf(" || \\\n ");
+    for (int k = Mn - 1; k>=1; --k) std::printf("_n%d##x==--_n%u##x || ",k,k + 1);
+    std::printf("x==(");
+    for (int k = Mn; k>=2; --k) std::printf("_n%d##x = ",k);
+    std::printf("--_n1##x); \\\n");
+  } else std::printf("; \\\n");
+
+  if (M>1) {
+    for (unsigned int k = 0, z = 0; z<P; ++z)
+      for (unsigned int y = 0; y<N; ++y) {
+        for (unsigned int x = 0; x<M - 1; ++x) {
+          std::printf(" I[%d] = I[%d],",k,k + 1);
+          ++k;
+        }
+        std::printf(" \\\n");
+        ++k;
+      }
+    std::printf(" ");
+    for (int k = Mp; k>=2; --k) std::printf("_p%d##x = _p%d##x, ",k,k - 1);
+    if (M>2) std::printf("_p1##x = x++, "); else std::printf("++x, ");
+    for (int k = 1; k<=Mn - 1; ++k) std::printf("++_n%d##x, ",k);
+    std::printf("++_n%d##x)\n\n",Mn);
+  } else std::printf(" ++x)\n\n");
+}
+
+// Generate macro 'cimg_for_inMxN[xP](img,x,y,z,c,I,T)'
+//-----------------------------------------------------
+void generate_for_inMxNxP(const unsigned int M, const unsigned int N, const unsigned int P) {
+  char indx[16], indy[16], indz[16];
+  const int
+    Mn = (int)(M/2), Mp = (int)(Mn - ((M + 1)%2)),
+    Nn = (int)(N/2), Np = (int)(Nn - ((N + 1)%2)),
+    Pn = (int)(P/2), Pp = (int)(Pn - ((P + 1)%2));
+
+  if (P>1)
+    std::printf("#define cimg_for_in%ux%ux%u(img,x0,y0,z0,x1,y1,z1,x,y,z,c,I,T) \\\n "
+                "cimg_for_in%u((img)._depth,z0,z1,z)",M,N,P,P);
+  else std::printf("#define cimg_for_in%ux%u(img,x0,y0,x1,y1,x,y,z,c,I,T) \\\n",M,N);
+  if (N>1) std::printf(" cimg_for_in%u((img)._height,y0,y1,y) ",N);
+  else std::printf(" cimg_for_inY(img,y0,y1,y) ");
+
+  std::printf("for (int x = (int)(x0)<0?0:(int)(x0)%c \\\n",M>1?',':';');
+  for (int k = Mp; k>=1; --k) std::printf(" _p%u##x = x - %u<0?0:x - %u, \\\n",k,k,k);
+  for (int k = 1; k<Mn; ++k) std::printf(" _n%u##x = x + %u>=(img).width()?(img).width() - 1:x + %u, \\\n",k,k,k);
+
+  if (M>1) {
+    std::printf(" _n%u##x = (int)( \\\n",Mn);
+    for (int x = -Mp; x<Mn; ++x)
+      for (int z = -Pp; z<=Pn; ++z)
+        for (int y = -Np; y<=Nn; ++y) {
+          if (x<0) std::sprintf(indx,"_p%d##",-x); else if (x>0) std::sprintf(indx,"_n%d##",x); else indx[0]='\0';
+          if (y<0) std::sprintf(indy,"_p%d##",-y); else if (y>0) std::sprintf(indy,"_n%d##",y); else indy[0]='\0';
+          if (z<0) std::sprintf(indz,"_p%d##",-z); else if (z>0) std::sprintf(indz,"_n%d##",z); else indz[0]='\0';
+          std::printf(" (I[%d] = (T)(img)(%sx,%sy,%sz,c)), \\\n",(Mp + x) + (y + Np)*M + (z + Pp)*M*N,indx,indy,indz);
+        }
+    std::printf(" x + %u>=(img).width()?(img).width() - 1:x + %u); \\\n",Mn,Mn);
+  }
+  std::printf(" x<=(int)(x1) && (");
+  if (M>1) std::printf("(_n%u##x",Mn); else std::printf("(x");
+  std::printf("<(img).width() && ( \\\n");
+
+  for (int z = -Pp; z<=Pn; ++z)
+    for (int y = -Np; y<=Nn; ++y) {
+      if (M>1) std::sprintf(indx,"_n%d##",Mn); else indx[0]='\0';
+      if (y<0) std::sprintf(indy,"_p%d##",-y); else if (y>0) std::sprintf(indy,"_n%d##",y); else indy[0]='\0';
+      if (z<0) std::sprintf(indz,"_p%d##",-z); else if (z>0) std::sprintf(indz,"_n%d##",z); else indz[0]='\0';
+      std::printf(" (I[%d] = (T)(img)(%sx,%sy,%sz,c))%s",M - 1 + (y + Np)*M + (z + Pp)*M*N,indx,indy,indz,
+                  z==Pn && y==Nn?",1))":", \\\n");
+    }
+
+  if (M>1) {
+    std::printf(" || \\\n ");
+    for (int k = Mn - 1; k>=1; --k) std::printf("_n%d##x==--_n%u##x || ",k,k + 1);
+    std::printf("x==(");
+    for (int k = Mn; k>=2; --k) std::printf("_n%d##x = ",k);
+    std::printf("--_n1##x)); \\\n");
+  } else std::printf("); \\\n");
+
+  if (M>1) {
+    for (unsigned int k = 0, z = 0; z<P; ++z)
+      for (unsigned int y = 0; y<N; ++y) {
+        for (unsigned int x = 0; x<M - 1; ++x) {
+          std::printf(" I[%d] = I[%d],",k,k + 1);
+          ++k;
+        }
+        std::printf(" \\\n");
+        ++k;
+      }
+    std::printf(" ");
+    for (int k = Mp; k>=2; --k) std::printf("_p%d##x = _p%d##x, ",k,k - 1);
+    if (M>2) std::printf("_p1##x = x++, "); else std::printf("++x, ");
+    for (int k = 1; k<=Mn - 1; ++k) std::printf("++_n%d##x, ",k);
+    std::printf("++_n%d##x)\n\n",Mn);
+  } else std::printf(" ++x)\n\n");
+}
+
+// Generate macro 'cimg_getMxN[xP](img,x,y,z,c,I,T)'
+//--------------------------------------------------
+void generate_getMxNxP(const unsigned int M, const unsigned int N, const unsigned int P) {
+  const int
+    Mn = (int)(M/2), Mp = (int)(Mn - ((M + 1)%2)),
+    Nn = (int)(N/2), Np = (int)(Nn - ((N + 1)%2)),
+    Pn = (int)(P/2), Pp = (int)(Pn - ((P + 1)%2)),
+    last = M*N*P - 1;
+  if (P>1) std::printf("#define cimg_get%ux%ux%u(img,x,y,z,c,I,T) \\\n",M,N,P);
+  else std::printf("#define cimg_get%ux%u(img,x,y,z,c,I,T) \\\n",M,N);
+  char indx[16], indy[16], indz[16];
+  for (int k = 0, z = -Pp; z<=Pn; ++z)
+    for (int y = -Np; y<=Nn; ++y)
+      for (int x = -Mp; x<=Mn; ++x) {
+        if (x<0) std::sprintf(indx,"_p%d##",-x); else if (x>0) std::sprintf(indx,"_n%d##",x); else indx[0]='\0';
+        if (y<0) std::sprintf(indy,"_p%d##",-y); else if (y>0) std::sprintf(indy,"_n%d##",y); else indy[0]='\0';
+        if (z<0) std::sprintf(indz,"_p%d##",-z); else if (z>0) std::sprintf(indz,"_n%d##",z); else indz[0]='\0';
+        std::printf(" I[%u] = (T)(img)(%sx,%sy,%sz,c)%s",k,indx,indy,indz,
+                    k==last?";\n\n":(x==Mn?", \\\n":","));
+        ++k;
+      }
+}
+
+//-----------------
+// Main Procedure
+//-----------------
+int main(int argc, char **argv) {
+
+  cimg_usage("Generate C++ macros to deal with MxN[xP] neighborhood loops within the CImg Library");
+
+  // Read command line arguments
+  //----------------------------
+  const char *const size = cimg_option("-s","5x4","Size of the neighborhood");
+  const bool do_forN     = cimg_option("-forN",true,"Generate 'cimg_forN()'");
+  const bool do_for_inN  = cimg_option("-for_inN",true,"Generate 'cimg_for_inN()'");
+  const bool do_for      = cimg_option("-for",true,"Generate 'cimg_forMxNxP()'");
+  const bool do_for_in   = cimg_option("-for_in",true,"Generate 'cimg_for_inMxNxP()'");
+  const bool do_get      = cimg_option("-get",true,"Generate 'cimg_getMxNxP()'");
+  if (cimg_option("-h",false,0)) std::exit(0);
+
+  unsigned int M = 1, N = 1 , P = 1;
+  std::sscanf(size,"%u%*c%u%*c%u",&M,&N,&P);
+  if (!M || !N || !P || (M==1 && N==1 && P==1)) {
+    std::fprintf(stderr,"\n%s : Error, bad neighborhood size '%s'\n",argv[0],size);
+    std::exit(0);
+  }
+  if (!do_forN && !do_get && !do_for) return 0;
+
+  if (P>1)
+    std::printf("// Define %ux%ux%u loop macros\n"
+                "//----------------------------\n",M,N,P);
+  else
+    std::printf("// Define %ux%u loop macros\n"
+                "//-------------------------\n",M,N);
+
+  if (do_forN) {
+    if (N>1) generate_forN(N);
+    if (P>1 && P!=N) generate_forN(P);
+  }
+  if (do_for_inN) {
+    if (N>1) generate_for_inN(N);
+    if (P>1 && P!=N) generate_for_inN(P);
+  }
+  if (do_for) generate_forMxNxP(M,N,P);
+  if (do_for_in) generate_for_inMxNxP(M,N,P);
+  if (do_get) generate_getMxNxP(M,N,P);
+
+  return 0;
+}
diff --git a/examples/hough_transform2d.cpp b/examples/hough_transform2d.cpp
new file mode 100644
index 0000000..16e29ac
--- /dev/null
+++ b/examples/hough_transform2d.cpp
@@ -0,0 +1,146 @@
+/*
+ #
+ #  File        : hough_transform2d.cpp
+ #                ( C++ source file )
+ #
+ #  Description : Implementation of the Hough transform.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#include "CImg.h"
+using namespace cimg_library;
+#ifndef cimg_imagepath
+#define cimg_imagepath "img/"
+#endif
+
+// Main procedure
+//----------------
+int main(int argc,char **argv) {
+  cimg_usage("Illustration of the Hough transform");
+  CImg<unsigned char> src(cimg_option("-i",cimg_imagepath "parrot.ppm","Input image"));
+  CImg<> vote(500,400,1,1,0), img = src.get_norm().normalize(0,255).resize(-100,-100,1,2,2);
+
+  CImgDisplay disp(src,"Image"), dispvote(vote,"Hough Transform");
+  const unsigned char col1[3]={255,255,255}, col2[3]={0,0,0};
+  const double
+    alpha = cimg_option("-a",1.5,"Gradient smoothing"),
+    sigma = cimg_option("-s",0.5,"Hough Transform smoothing"),
+    rhomax = std::sqrt((double)(img.width()*img.width() + img.height()*img.height()))/2,
+    thetamax = 2*cimg::PI;
+
+  if (cimg::dialog(cimg::basename(argv[0]),
+                   "Instructions : \n"
+                   "----------------\n\n"
+                   "(1) When clicking on the color image, all lines crossing the selected point\n"
+                   "will be voted in the Hough buffer.\n\n"
+                   "(2) When clicking on the Hough buffer, the corresponding line is drawn\n"
+                   "on the color image.\n\n"
+                   "(3) When pressing the space bar, lines in the color image are detected from the\n"
+                   "image gradients through votes in the Hough buffer.\n\n"
+                   "Note that a logarithmic scaling is performed for displayin the vote image.\n"
+                   "See also the available options (option '-h')\n","Start !","Quit",0,0,0,0,
+                   src.get_resize(100,100,1,3),true)) std::exit(0);
+
+  while (!disp.is_closed() && !dispvote.is_closed() &&
+         !disp.is_keyQ() && !dispvote.is_keyQ() && !disp.is_keyESC() && !dispvote.is_keyESC()) {
+
+    CImgDisplay::wait(disp,dispvote);
+
+    // When pressing space bar, the vote is performed from the image gradients.
+    if (dispvote.is_keySPACE() || disp.is_keySPACE()) {
+      CImgList<> grad = img.get_gradient();
+      cimglist_for(grad,l) grad[l].blur((float)alpha);
+      vote.fill(0);
+      cimg_forXY(img,x,y) {
+        const double
+          X = (double)x - img.width()/2,
+          Y = (double)y - img.height()/2,
+          gx = grad[0](x,y),
+          gy = grad[1](x,y);
+        double
+          theta = std::atan2(gy,gx),
+          rho   = std::sqrt(X*X + Y*Y)*std::cos(std::atan2(Y,X) - theta);
+        if (rho<0) { rho=-rho; theta+=cimg::PI; }
+        theta = cimg::mod(theta,thetamax);
+        vote((int)(theta*dispvote.width()/thetamax),(int)(rho*dispvote.height()/rhomax))+=
+          (float)std::sqrt(gx*gx + gy*gy);
+      }
+      vote.blur((float)sigma);
+      CImg<> vote2(vote); cimg_forXY(vote2,x,y) vote2(x,y) = (float)std::log(1 + vote(x,y)); vote2.display(dispvote);
+    }
+
+    // When clicking on the vote window.
+    if (dispvote.button()) {
+      const double
+        rho   = dispvote.mouse_y()*rhomax/dispvote.height(),
+        theta = dispvote.mouse_x()*thetamax/dispvote.width(),
+        x = img.width()/2  + rho*std::cos(theta),
+        y = img.height()/2 + rho*std::sin(theta);
+      const int
+        x0 = (int)(x + 1000*std::sin(theta)),
+        y0 = (int)(y - 1000*std::cos(theta)),
+        x1 = (int)(x - 1000*std::sin(theta)),
+        y1 = (int)(y + 1000*std::cos(theta));
+      CImg<unsigned char>(src).
+        draw_line(x0,y0,x1,y1,col1,1.0f,0xF0F0F0F0).draw_line(x0,y0,x1,y1,col2,1.0f,0x0F0F0F0F).
+        draw_line(x0 + 1,y0,x1 + 1,y1,col1,1.0f,0xF0F0F0F0).draw_line(x0 + 1,y0,x1 + 1,y1,col2,1.0f,0x0F0F0F0F).
+        draw_line(x0,y0 + 1,x1,y1 + 1,col1,1.0f,0xF0F0F0F0).draw_line(x0,y0 + 1,x1,y1 + 1,col2,1.0f,0x0F0F0F0F).
+        display(disp);
+     }
+
+     // When clicking on the image.
+    if (disp.button() && disp.mouse_x()>=0) {
+       const double
+         x0 = (double)disp.mouse_x() - disp.width()/2,
+         y0 = (double)disp.mouse_y() - disp.height()/2,
+         rho0 = std::sqrt(x0*x0 + y0*y0),
+         theta0 = std::atan2(y0,x0);
+
+       for (double t=0; t<thetamax; t+=0.001) {
+         double theta = t, rho = rho0*std::cos(theta0 - t);
+         if (rho<0) { rho=-rho; theta=cimg::mod(theta + cimg::PI,thetamax); }
+         vote((int)(theta*vote.width()/thetamax),(int)(rho*vote.height()/rhomax))+=1;
+       }
+       CImg<> vote2(vote); cimg_forXY(vote2,x,y) vote2(x,y) = (float)std::log(1 + vote(x,y)); vote2.display(dispvote);
+    }
+    dispvote.resize(dispvote);
+    disp.resize(disp);
+  }
+
+  std::exit(0);
+  return 0;
+}
diff --git a/examples/image2ascii.cpp b/examples/image2ascii.cpp
new file mode 100644
index 0000000..460622c
--- /dev/null
+++ b/examples/image2ascii.cpp
@@ -0,0 +1,157 @@
+/*
+ #
+ #  File        : image2ascii.cpp
+ #                ( C++ source file )
+ #
+ #  Description : A basic image to ASCII-art converter.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+// Tell CImg not to use display capabilities.
+#undef cimg_display
+#define cimg_display 0
+#include "CImg.h"
+using namespace cimg_library;
+
+/*---------------------------
+
+  Main procedure
+
+  --------------------------*/
+int main(int argc,char **argv) {
+  cimg_usage("A simple image to ASCII-art converter.\n\nUsage : image2ascii [options] image");
+
+  // Read command line parameters
+  const char *const file_i = cimg_option("-i",(char*)0,"Input image");
+  const char *const geom = cimg_option("-g","79x40","Output size");
+  const int alphabet = cimg_option("-a",0,"Alphabet type (0=full, 1=numbers, 2=letters, 3=signs, 4=minimal");
+  const bool invert = cimg_option("-invert",false,"Invert image intensities");
+  const float contour = (float)cimg_option("-contour",0.0f,"Use image contours higher than specified threshold");
+  const float blur = (float)cimg_option("-blur",0.8f,"Image pre-blur");
+  const float sigma = (float)cimg_option("-sigma",10.0f,"Font pre-blur");
+
+  int w = 79, h = 40;
+  std::sscanf(geom,"%d%*c%d",&w,&h);
+  if (cimg_option("-h",false,0)) std::exit(0);
+
+  // Init fonts
+  CImgList<> font_full = CImgList<>::font(13,false);
+  font_full.remove(0,255);
+  const int fw = font_full['A'].width(), fh = font_full['A'].height();
+  CImgList<> font, font_blur;
+  CImgList<unsigned char> font_code;
+
+  switch (alphabet) {
+  case 1: {
+    font_code.insert(CImg<>::vector(' '));
+    for (unsigned char l='0'; l<='9'; l++) font_code.insert(CImg<>::vector(l));
+  } break;
+  case 2: {
+    font_code.insert(CImg<>::vector(' '));
+    for (unsigned char l='A'; l<='Z'; l++) font_code.insert(CImg<>::vector(l));
+  } break;
+  case 3: {
+    font_code.insert(CImg<>::vector(' '));
+    font_code.insert(CImg<>::vector('-'));
+    font_code.insert(CImg<>::vector('_'));
+    font_code.insert(CImg<>::vector('|'));
+    font_code.insert(CImg<>::vector('/'));
+    font_code.insert(CImg<>::vector('\\'));
+    font_code.insert(CImg<>::vector('+'));
+    font_code.insert(CImg<>::vector('.'));
+    font_code.insert(CImg<>::vector('*'));
+    font_code.insert(CImg<>::vector('='));
+    font_code.insert(CImg<>::vector(']'));
+    font_code.insert(CImg<>::vector('['));
+    font_code.insert(CImg<>::vector('('));
+    font_code.insert(CImg<>::vector(')'));
+    font_code.insert(CImg<>::vector('{'));
+    font_code.insert(CImg<>::vector('}'));
+    font_code.insert(CImg<>::vector('"'));
+    font_code.insert(CImg<>::vector('!'));
+    font_code.insert(CImg<>::vector('$'));
+    } break;
+  case 4: {
+    font_code.insert(CImg<>::vector(' '));
+    font_code.insert(CImg<>::vector('.'));
+    font_code.insert(CImg<>::vector('/'));
+    font_code.insert(CImg<>::vector('\\'));
+    font_code.insert(CImg<>::vector('_'));
+    font_code.insert(CImg<>::vector('_'));
+    font_code.insert(CImg<>::vector('|'));
+    } break;
+  default: { for (unsigned char l=' '; l<='~'; l++) font_code.insert(CImg<>::vector(l)); } break;
+  }
+  cimglist_for(font_code,l) {
+    font.insert(font_full(font_code[l](0)));
+    font_blur.insert(font[l].get_resize(fw,fh,1,1).blur(sigma).normalize(0,255));
+  }
+
+  // Init images
+  CImg<> img;
+  if (!file_i) { float white[3] = { 255,255,255 }; img.assign().draw_text(0,0," CImg\nRocks !",white); }
+  else img.assign(file_i);
+  img.norm().resize(fw*w,fh*h);
+  if (blur) img.blur(blur);
+  if (contour>0) {
+    CImgList<> grad = img.get_gradient("xy",4);
+    img = (grad[0].pow(2) + grad[1].pow(2)).sqrt().normalize(0,100).threshold(contour);
+  }
+  img.normalize(0,255);
+  if (invert) img = 255.0f - img;
+  CImg<unsigned char> dest(w,h,1,1,0);
+
+  // Render ASCII-art image, using a simple correlation method.
+  CImg<> neigh;
+  cimg_forY(dest,y) { cimg_forX(dest,x) {
+    neigh = img.get_crop(x*fw,y*fh,(x + 1)*fw,(y + 1)*fh);
+    float scoremin = 2e28f;
+    unsigned int best = 0;
+    cimglist_for(font_code,l) {
+      const CImg<>& letter = font_blur[l];
+      const float score = (float)((letter - neigh).pow(2).sum());
+      if (score<scoremin) { scoremin = score; best = l; }
+    }
+    dest(x,y) = (unsigned char)best;
+    std::fprintf(stdout,"%c",font_code[dest(x,y)](0));
+  }
+  std::fprintf(stdout,"\n");
+  }
+
+  std::exit(0);
+  return 0;
+}
diff --git a/examples/image_registration2d.cpp b/examples/image_registration2d.cpp
new file mode 100644
index 0000000..b5f6079
--- /dev/null
+++ b/examples/image_registration2d.cpp
@@ -0,0 +1,216 @@
+/*
+ #
+ #  File        : image_registration2d.cpp
+ #                ( C++ source file )
+ #
+ #  Description : Compute a motion field between two images,
+ #                with a multiscale and variational algorithm.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #   same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#include "CImg.h"
+using namespace cimg_library;
+#ifndef cimg_imagepath
+#define cimg_imagepath "img/"
+#endif
+#undef min
+#undef max
+
+// animate_warp() : Create warping animation from two images and a motion field
+//----------------
+void animate_warp(const CImg<unsigned char>& src, const CImg<unsigned char>& dest, const CImg<>& U,
+                  const bool morph, const bool imode, const char *filename,int nb, CImgDisplay& disp) {
+  CImg<unsigned char> visu = (src,dest,src)>'x', warp(src);
+  float t = 0;
+  for (unsigned int iteration = 0; !disp || (!disp.is_closed() && !disp.is_keyQ()); ++iteration) {
+    if (morph) cimg_forXYC(warp,x,y,k) {
+      const float dx = U(x,y,0), dy = U(x,y,1),
+        I1 = (float)src.linear_atXY(x - t*dx, y - t*dy, k),
+        I2 = (float)dest.linear_atXY(x + (1 - t)*dx,y + (1 - t)*dy,k);
+      warp(x,y,k) = (unsigned char)((1 - t)*I1 + t*I2);
+    } else cimg_forXYC(warp,x,y,k) {
+      const float dx = U(x,y,0), dy = U(x,y,1), I1 = (float)src.linear_atXY(x - t*dx, y - t*dy, 0,k);
+      warp(x,y,k) = (unsigned char)I1;
+    }
+    if (disp) visu.draw_image(2*src.width(),warp).display(disp.resize().wait(30));
+    if (filename && *filename && (imode || (int)iteration<nb)) {
+      std::fprintf(stderr,"\r  > frame %d           ",iteration);
+      warp.save(filename,iteration);
+    }
+    t+=1.0f/nb;
+    if (t<0) { t = 0; nb = -nb; }
+    if (t>1) { t = 1; nb = -nb; if (filename && *filename) std::exit(0); }
+  }
+}
+
+// optflow() : multiscale version of the image registration algorithm
+//-----------
+CImg<> optflow(const CImg<>& source, const CImg<>& target,
+               const float smoothness, const float precision, const unsigned int nb_scales, CImgDisplay& disp) {
+  const unsigned int iteration_max = 100000;
+  const float _precision = (float)std::pow(10.0,-(double)precision);
+  const CImg<>
+    src  = source.get_resize(target,3).normalize(0,1),
+    dest = target.get_normalize(0,1);
+  CImg<> U;
+
+  const unsigned int _nb_scales = nb_scales>0?nb_scales:
+    (unsigned int)(2*std::log((double)(cimg::max(src.width(),src.height()))));
+  for (int scale = _nb_scales - 1; scale>=0; --scale) {
+    const float factor = (float)std::pow(1.5,(double)scale);
+    const unsigned int
+      _sw = (unsigned int)(src.width()/factor), sw = _sw?_sw:1,
+      _sh = (unsigned int)(src.height()/factor), sh = _sh?_sh:1;
+    const CImg<>
+      I1 = src.get_resize(sw,sh,1,-100,2),
+      I2 = dest.get_resize(I1,2);
+    std::fprintf(stderr," * Scale %d\n",scale);
+    if (U) (U*=1.5f).resize(I2.width(),I2.height(),1,-100,3);
+    else U.assign(I2.width(),I2.height(),1,2,0);
+
+    float dt = 2, energy = cimg::type<float>::max();
+    const CImgList<> dI = I2.get_gradient();
+
+    for (unsigned int iteration = 0; iteration<iteration_max; ++iteration) {
+      std::fprintf(stderr,"\r- Iteration %d - E = %g",iteration,energy); std::fflush(stderr);
+      float _energy = 0;
+      cimg_for3XY(U,x,y) {
+        const float
+          X = x + U(x,y,0),
+          Y = y + U(x,y,1);
+
+        float deltaI = 0;
+        cimg_forC(I2,c) deltaI+=(float)(I1(x,y,c) - I2.linear_atXY(X,Y,c));
+
+        float _energy_regul = 0;
+        cimg_forC(U,c) {
+          const float
+            Ux  = 0.5f*(U(_n1x,y,c) - U(_p1x,y,c)),
+            Uy  = 0.5f*(U(x,_n1y,c) - U(x,_p1y,c)),
+            Uxx = U(_n1x,y,c) + U(_p1x,y,c),
+            Uyy = U(x,_n1y,c) + U(x,_p1y,c);
+          U(x,y,c) = (float)( U(x,y,c) + dt*(deltaI*dI[c].linear_atXY(X,Y) +
+                                             smoothness* ( Uxx + Uyy )))/(1 + 4*smoothness*dt);
+          _energy_regul+=Ux*Ux + Uy*Uy;
+        }
+        _energy+=deltaI*deltaI + smoothness*_energy_regul;
+      }
+      const float d_energy = (_energy - energy)/(sw*sh);
+      if (d_energy<=0 && -d_energy<_precision) break;
+      if (d_energy>0) dt*=0.5f;
+      energy = _energy;
+      if (disp) disp.resize();
+      if (disp && disp.is_closed()) std::exit(0);
+      if (disp && !(iteration%300)) {
+        const unsigned char white[] = { 255,255,255 };
+        CImg<unsigned char> tmp = I1.get_warp(U,true,true,1).normalize(0,200);
+        tmp.resize(disp.width(),disp.height()).draw_quiver(U,white,0.7f,15,-14,true).display(disp);
+      }
+    }
+    std::fprintf(stderr,"\n");
+  }
+  return U;
+}
+
+/*------------------------
+
+  Main function
+
+  ------------------------*/
+
+int main(int argc,char **argv) {
+
+  // Read command line parameters
+  cimg_usage("Compute an optical flow between two 2D images, and create a warped animation");
+  const char
+    *name_i1 = cimg_option("-i",cimg_imagepath "sh0r.pgm","Input Image 1 (Destination)"),
+    *name_i2 = cimg_option("-i2",cimg_imagepath "sh1r.pgm","Input Image 2 (Source)"),
+    *name_o = cimg_option("-o",(const char*)NULL,"Output 2D flow (inrimage)"),
+    *name_seq = cimg_option("-o2",(const char*)NULL,"Output Warping Sequence");
+  const float
+    smoothness = cimg_option("-s",0.1f,"Flow Smoothness"),
+    precision = cimg_option("-p",6.0f,"Convergence precision");
+  const unsigned int
+    nb = cimg_option("-n",40,"Number of warped frames"),
+    nb_scales = cimg_option("-scale",0,"Number of scales (0=auto)");
+  const bool
+    normalize = cimg_option("-equalize",true,"Histogram normalization of the images"),
+    morph = cimg_option("-m",true,"Morphing mode"),
+    imode = cimg_option("-c",true,"Complete interpolation (or last frame is missing)"),
+    dispflag = !cimg_option("-novisu",false,"Visualization");
+
+  // Init images and display
+  std::fprintf(stderr," - Init images.\n");
+  const CImg<>
+    src(name_i1),
+    dest(CImg<>(name_i2).resize(src,3)),
+    src_blur  = normalize?src.get_blur(0.5f).equalize(256):src.get_blur(0.5f),
+    dest_blur = normalize?dest.get_blur(0.5f).equalize(256):dest.get_blur(0.5f);
+
+  CImgDisplay disp;
+  if (dispflag) {
+    unsigned int w = src.width(), h = src.height();
+    const unsigned int dmin = cimg::min(w,h), minsiz = 512;
+    if (dmin<minsiz) { w=w*minsiz/dmin; h=h*minsiz/dmin; }
+    const unsigned int dmax = cimg::max(w,h), maxsiz = 1024;
+    if (dmax>maxsiz) { w=w*maxsiz/dmax; h=h*maxsiz/dmax; }
+    disp.assign(w,h,"Estimated Motion",0);
+  }
+
+  // Run Motion estimation algorithm
+  std::fprintf(stderr," - Compute optical flow.\n");
+  const CImg<> U = optflow(src_blur,dest_blur,smoothness,precision,nb_scales,disp);
+  if (name_o) U.save(name_o);
+  U.print("Computed flow");
+
+  // Do morphing animation
+  std::fprintf(stderr," - Create warped animation.\n");
+  CImgDisplay disp2;
+  if (dispflag) {
+    unsigned int w = src.width(), h = src.height();
+    const unsigned int dmin = cimg::min(w,h), minsiz = 100;
+    if (dmin<minsiz) { w = w*minsiz/dmin; h=h*minsiz/dmin; }
+    const unsigned int dmax = cimg::max(w,h), maxsiz = 1024/3;
+    if (dmax>maxsiz) { w = w*maxsiz/dmax; h=h*maxsiz/dmax; }
+    disp2.assign(3*w,h,"Source/Destination images and Motion animation",0);
+  }
+
+  animate_warp(src.get_normalize(0,255),dest.get_normalize(0,255),U,morph,imode,name_seq,nb,disp2);
+
+  std::exit(0);
+  return 0;
+}
diff --git a/examples/image_surface3d.cpp b/examples/image_surface3d.cpp
new file mode 100644
index 0000000..cd76143
--- /dev/null
+++ b/examples/image_surface3d.cpp
@@ -0,0 +1,140 @@
+/*
+ #
+ #  File        : image_surface3d.cpp
+ #                ( C++ source file )
+ #
+ #  Description : This tool allows to show an image as a 3D surface.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#include "CImg.h"
+using namespace cimg_library;
+#ifndef cimg_imagepath
+#define cimg_imagepath "img/"
+#endif
+
+// Main procedure
+//----------------
+int main(int argc,char **argv) {
+
+  // Read command line arguments.
+  cimg_usage("Render an image as a surface");
+  const char *file_i    = cimg_option("-i",cimg_imagepath "logo.bmp","Input image");
+  const char *file_o    = cimg_option("-o",(char*)0,"Output 3D object");
+  const float sigma     = cimg_option("-smooth",1.0f,"Amount of image smoothing");
+  const float ratioz    = cimg_option("-z",0.25f,"Aspect ratio along z-axis");
+  const unsigned int di = cimg_option("-di",10,"Step for isophote skipping");
+
+  // Load 2D image file.
+  std::fprintf(stderr,"\n- Load file '%s'",cimg::basename(file_i)); std::fflush(stderr);
+  const CImg<unsigned char>
+    img  = CImg<>(file_i).blur(sigma).resize(-100,-100,1,3),
+    norm = img.get_norm().normalize(0,255);
+
+  // Compute surface with triangles.
+  std::fprintf(stderr,"\n- Create image surface"); std::fflush(stderr);
+  CImgList<unsigned int> primitives;
+  CImgList<unsigned char> colors;
+  const CImg<> points = img.get_elevation3d(primitives,colors,norm*-ratioz);
+
+  // Compute image isophotes.
+  std::fprintf(stderr,"\n- Compute image isophotes"); std::fflush(stderr);
+  CImgList<unsigned int> isoprimitives;
+  CImgList<unsigned char> isocolors;
+  CImg<> isopoints;
+  for (unsigned int i = 0; i<255; i+=di) {
+    CImgList<> prims;
+    const CImg<> pts = norm.get_isoline3d(prims,(float)i);
+    isopoints.append_object3d(isoprimitives,pts,prims);
+  }
+  cimglist_for(isoprimitives,l) {
+    const unsigned int i0 = isoprimitives(l,0);
+    const float x0 = isopoints(i0,0), y0 = isopoints(i0,1);
+    const unsigned char
+      r = (unsigned char)img.linear_atXY(x0,y0,0),
+      g = (unsigned char)img.linear_atXY(x0,y0,1),
+      b = (unsigned char)img.linear_atXY(x0,y0,2);
+    isocolors.insert(CImg<unsigned char>::vector(r,g,b));
+  }
+  cimg_forX(isopoints,ll) isopoints(ll,2) = -ratioz*norm.linear_atXY(isopoints(ll,0),isopoints(ll,1));
+
+  // Save object if necessary
+  if (file_o) {
+    std::fprintf(stderr,"\n- Save 3d object as '%s'",cimg::basename(file_o)); std::fflush(stderr);
+    points.save_off(primitives,colors,file_o);
+  }
+
+  // Enter event loop
+  std::fprintf(stderr,
+               "\n- Enter interactive loop.\n\n"
+               "Reminder : \n"
+               " + Use mouse to rotate and zoom object\n"
+               " + key 'F'          : Toggle fullscreen\n"
+               " + key 'Q' or 'ESC' : Quit\n"
+               " + Any other key    : Change rendering type\n\n"); std::fflush(stderr);
+  const char *const title = "Image viewed as a surface";
+  CImgDisplay disp(800,600,title,0);
+  unsigned int rtype = 2;
+  CImg<float> pose = CImg<float>::identity_matrix(4);
+
+  while (!disp.is_closed()) {
+    const unsigned char white[3]={ 255, 255, 255 };
+    CImg<unsigned char> visu(disp.width(),disp.height(),1,3,0);
+    visu.draw_text(10,10,"%s",white,0,1,24,
+                rtype==0?"Points":(rtype==1?"Lines":(rtype==2?"Faces":(rtype==3?"Flat-shaded faces":
+               (rtype==4?"Gouraud-shaded faces":(rtype==5?"Phong-shaded faces":"Isophotes"))))));
+    static bool first_time = true;
+    if (rtype==6) visu.display_object3d(disp,isopoints,isoprimitives,isocolors,first_time,1,-1,true,
+                                        500.0f,0.0f,0.0f,-5000.0f,0.0f,0.0f,true,pose.data());
+    else visu.display_object3d(disp,points,primitives,colors,first_time,rtype,-1,true,
+                               500.0f,0.0f,0.0f,-5000.0f,0.0f,0.0f,true,pose.data());
+    first_time = false;
+    switch (disp.key()) {
+    case 0: break;
+    case cimg::keyBACKSPACE: rtype = (7 + rtype - 1)%7; break;
+    case cimg::keyQ:
+    case cimg::keyESC: disp.close(); break;
+    case cimg::keyF:
+      if (disp.is_fullscreen()) disp.resize(800,600); else disp.resize(disp.screen_width(),disp.screen_height());
+      disp.toggle_fullscreen();
+      break;
+    default: rtype = (rtype + 1)%7; break;
+    }
+  }
+
+  return 0;
+}
diff --git a/examples/img/CImg_demo.h b/examples/img/CImg_demo.h
new file mode 100644
index 0000000..73aff28
--- /dev/null
+++ b/examples/img/CImg_demo.h
@@ -0,0 +1,31909 @@
+/*------------------------------------------------------------
+
+  Define hard-coded  color images used in the 'CImg_demo.cpp'
+  example file, so that the corresponding executable does not
+  depend on additional data files.
+
+--------------------------------------------------------------*/
+
+/* Define image 'foot' of size 200x200x1x3 and type 'const unsigned char' */
+const unsigned char data_foot[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 154, 68,
+  17, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 84, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 230, 165, 84, 26, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 25, 175, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 253, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 215, 116, 26, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 253, 253, 254, 254, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 194, 74, 7,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 205, 133, 68, 22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  252, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 215, 144, 85, 33, 4, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+  0, 0, 177, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 245, 194, 122, 67, 32, 5, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 0, 0, 0, 0, 0, 255, 255, 0, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 251, 253, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 111, 39, 9,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 255, 255, 255, 255,
+  255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 205, 58, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 98, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 194, 245, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 28, 116, 215, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  251, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 20, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 12, 50, 111, 177, 230,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 98, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
+  48, 105, 170, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 205, 72, 0, 0, 0,
+  0, 0, 27, 66, 122, 194, 245, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250,
+  242, 0, 0, 0, 0, 0, 108, 120, 171, 233, 253, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 248, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 249, 255, 255, 0,
+  0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 254, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 0, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219,
+  219, 219, 219, 219, 0, 0, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 0, 0, 219, 219, 219,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219,
+  219, 219, 0, 0, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 0, 219, 219, 219, 219, 219,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219,
+  219, 0, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 155, 0, 0, 22, 88, 194, 245, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 219, 219, 219, 219, 219, 219, 219, 0, 0, 219, 219, 219, 219, 219, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 0, 0, 0, 0, 0, 0,
+  13, 110, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 0,
+  0, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 42, 0, 0, 0, 0, 0, 0, 0, 0, 11, 92, 205, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219,
+  219, 219, 219, 219, 219, 219, 0, 0, 219, 219, 219, 219, 219, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 62, 189, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 0, 0, 219,
+  219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  156, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219,
+  219, 219, 219, 219, 0, 0, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 194, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 0, 0, 219, 219, 219,
+  219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 27, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219,
+  219, 219, 0, 0, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 49, 0, 0, 0,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 0, 219, 219, 219, 219, 219,
+  219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 97, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219,
+  219, 0, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 245, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 177, 230, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 32, 0, 10, 47,
+  156, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 219, 219, 219, 219, 219, 219, 0, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 235, 110, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 149, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 155, 0, 0, 0, 0, 0, 1, 32, 145, 245, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 0,
+  0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 245, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 194, 245, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 42, 0, 0, 0, 0, 0,
+  0, 0, 2, 76, 226, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  219, 219, 219, 219, 219, 219, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 115, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 81, 165, 230, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59, 226, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 198, 152, 119, 119, 152, 198, 0, 0, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 92, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 91, 245, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 198, 121,
+  33, 5, 4, 24, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 6, 11, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 205, 255,
+  255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255,
+  255, 255, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 164, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 152, 33, 0, 0, 0, 0, 0, 110, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 7,
+  5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 145, 19, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 25, 194, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 119, 3,
+  0, 0, 0, 0, 0, 16, 178, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 238, 147, 22, 0, 0, 0, 0, 0, 0, 0, 0, 58,
+  230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 219, 219, 119, 1, 0, 0, 0, 0, 0, 0, 70, 198,
+  219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 39, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 0,
+  0, 0, 0, 0, 0, 0, 0, 2, 114, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 152, 2,
+  0, 0, 0, 0, 0, 0, 5, 137, 219, 219, 219, 219, 219, 219, 219, 219,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 207, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 215, 0, 0, 0, 0, 0, 0, 0, 0,
+  11, 185, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 219, 219, 219, 219, 198, 22, 0, 0, 0, 0, 0, 0, 0, 88,
+  219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 68, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 133, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  115, 0, 0, 0, 0, 0, 0, 0, 0, 37, 230, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 217, 0,
+  0, 0, 0, 0, 0, 0, 0, 27, 219, 219, 219, 219, 219, 219, 219, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 207, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  74, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 245, 76, 0, 0, 0, 0, 0, 0,
+  0, 0, 74, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  219, 219, 219, 219, 219, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+  176, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 230, 79, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 38, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 125, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 103, 219, 219, 219, 219, 219, 219, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245,
+  85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  15, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 0, 0, 0, 0, 0,
+  0, 0, 0, 5, 165, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219,
+  219, 219, 219, 210, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  35, 210, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 245, 124, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 4, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 205, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 210, 120, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 5, 173, 219, 219, 219, 219, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 164, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 72, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219,
+  219, 219, 137, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 115, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 245, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 4, 205, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 219, 219, 219, 219, 219, 159, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 40, 219, 219, 219, 219, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 159, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 54, 245, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219,
+  188, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 3, 176, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 170, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 122, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 1, 100,
+  245, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 219, 219, 219, 219, 219, 112, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 219, 219, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 23, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 75, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  0, 0, 0, 0, 0, 0, 0, 6, 150, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 198, 152, 119,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 32, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 215, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  40, 245, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 219, 219, 167, 62, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 198, 219, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 160, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 24, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 2, 186, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 137, 19, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 110, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0,
+  0, 57, 245, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  219, 219, 146, 14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 198, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 0, 0, 0, 0, 0, 0, 0, 3, 179, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 219, 178, 27, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 1, 98, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255,
+  255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0,
+  0, 0, 70, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219,
+  178, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 185, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 245, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 215, 0, 0, 0, 0, 0, 0, 0, 5, 235, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 219, 178, 58, 3, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 37, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,
+  0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 194, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,
+  0, 0, 0, 213, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 159, 32,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+  0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 122, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 215, 0, 0, 0, 0, 0, 0, 0, 205, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 164, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 28, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0,
+  0, 0, 4, 213, 255, 255, 255, 255, 255, 255, 255, 255, 238, 51, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255,
+  255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 58, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 106, 0, 0, 0, 0, 0, 76, 235, 255, 255, 255, 255,
+  255, 255, 255, 255, 120, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 106, 0, 0,
+  6, 81, 235, 255, 255, 255, 255, 255, 255, 255, 255, 205, 10, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 45, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 55, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 29, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 6, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 83,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 55, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255,
+  255, 230, 80, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 122, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 207, 29, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 2, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 53, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 255, 255, 255, 255, 255, 255, 255, 160, 13, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 194, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  161, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 57, 22, 2, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 52, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255,
+  255, 88, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 37, 245, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 245, 86, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 255, 255, 255, 255, 255, 255, 31, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 229, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 53, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255,
+  205, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 15, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 27, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 255, 255, 255, 255, 125, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 163, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+  0, 0, 57, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255,
+  47, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 17, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 101, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 55, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 219, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 221, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0,
+  0, 0, 53, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 41, 198, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 86, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 28, 0, 0, 0, 0, 0, 0, 52, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146, 219, 219, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254,
+  255, 255, 255, 255, 255, 255, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 34, 0, 0, 0, 0,
+  0, 0, 41, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 2, 210, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 255, 255, 255, 255, 255, 245,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 4, 37, 4, 0, 0, 0, 0, 0, 0, 23, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 151, 219, 219, 219, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 250, 253, 255, 255, 255, 255, 255, 221, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 6, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  36, 204, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 240, 255, 255, 255, 255, 255,
+  255, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 2, 157, 219, 219, 219, 219, 219, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 250, 247, 255, 255, 255, 255, 255, 255, 196, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 48, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49,
+  219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255,
+  255, 255, 255, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 140, 219, 219, 219, 219, 219, 219, 219, 219,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 198,
+  219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 24, 84, 170, 230, 0, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 100, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 0, 2,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, 37, 111, 205, 255, 255,
+  255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 185, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 21,
+  84, 165, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 64, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 11, 39, 53, 72, 125, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 167, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 2, 23, 87, 170, 230, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 9, 210, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 12, 50, 111, 177, 230, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 48, 105,
+  170, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 128, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 28,
+  49, 72, 111, 177, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 198, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,
+  0, 0, 30, 74, 144, 215, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 79, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 176, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 46, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 114, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 131, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 210, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255,
+  0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1,
+  0, 0, 0, 0, 0, 0, 0, 1, 0, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 255, 255, 0, 0, 0, 0, 0, 0, 1, 1,
+  1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0,
+  198, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 98, 20, 0, 98, 205,
+  0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 1, 0, 0, 2,
+  2, 0, 0, 0, 0, 0, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 176, 39, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 9, 3,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 185, 26, 0, 0, 0, 0, 0, 15,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 90, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 238, 216, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 111,
+  6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 146,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 247, 251,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 215, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 198, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 128, 18, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 230, 128, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 15, 79, 176, 219, 0, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+  255, 255, 255, 255, 255, 255, 255, 245, 141, 24, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 181, 47, 5, 0, 0, 0, 0, 0,
+  0, 0, 1, 1, 1, 4, 23, 40, 57, 90, 146, 198, 219, 219, 219, 0,
+  0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 230, 137, 30,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  255, 215, 124, 79, 54, 47, 51, 62, 95, 152, 198, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 0, 0, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 0, 255, 238, 125, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 201, 30, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 0, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+  20, 31, 0, 0, 0, 0, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 230, 105, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 24, 198, 24, 0, 0, 0, 0, 0, 0,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 0, 0, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 164,
+  6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  95, 3, 0, 0, 0, 0, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 0, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 2,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 251, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 0, 0,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 4, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 0, 0, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 5, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 255, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 0, 0, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 6, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 0, 0, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+  255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 16, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 8, 255, 255, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 0, 0, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 38,
+  255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 37, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 84, 255, 255, 255, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 0, 0, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 144,
+  255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 238, 64, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 6, 215, 255, 255, 255, 255, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 0, 0,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  196, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 40, 255,
+  255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 0, 0, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 105, 255, 255, 255, 255, 255, 255, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  0, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 205, 133, 85,
+  61, 63, 92, 144, 215, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230,
+  9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 1, 170, 255,
+  255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 0, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 185, 124, 73, 28, 4, 0, 0, 0, 0, 1, 6, 5, 9, 0, 142,
+  230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 110, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 10, 230, 255, 255, 255, 255, 255, 255, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 217, 200, 155, 100, 54, 24, 3, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 1, 34, 170, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 198, 20,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 255, 255,
+  255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 0, 0, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 176, 114, 60, 22, 3, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 18, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 219, 219, 219, 219, 110, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 133, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 210, 167, 105, 58, 25, 3, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 185, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 198, 20, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 205, 255, 255,
+  255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 0, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 198,
+  113, 27, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 36, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219,
+  219, 219, 219, 219, 219, 117, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 58, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 0, 0, 219, 219, 219, 219, 219, 219, 219, 210, 182, 148,
+  125, 106, 79, 53, 33, 15, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 210, 32, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 163, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 0, 0, 219,
+  219, 192, 114, 40, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 3, 165, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 167, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 26, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 198, 142, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 164, 219,
+  219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 64, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 116, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 159, 43, 2, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 31, 185, 219, 219, 219, 219, 219, 219, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 185, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 7, 215, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 176, 41, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 59,
+  198, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 106, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 74, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 114, 5, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 3, 98, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 210, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 2, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 73, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  9, 159, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 173, 2, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 245, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 52, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 32, 178, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  3, 137, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 46, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 58, 198, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 78, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 58, 230, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 50, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 88, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 37, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15,
+  194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 6, 155, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 8, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 120, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 105, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 27, 185, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 185, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 230,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 51, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 124, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 2, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 210, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 198,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 34, 215, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 67, 198, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 56, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 6, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 25, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
+  83, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 86, 238, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 97, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 10, 2, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 84, 198, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 18, 215, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 176, 2, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 2, 74, 190, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 128, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 28, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 82, 202, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 0, 0, 0, 0, 219, 113, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 69, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252,
+  255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 73, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 5, 109, 210, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 0, 0, 0, 0, 219, 219, 219,
+  219, 125, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 215, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 139, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 0, 0,
+  0, 0, 219, 219, 219, 219, 219, 219, 219, 148, 35, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  25, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 185, 7, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 12, 146, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 0, 0, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 182, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 3, 151, 253, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 64, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 137,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 0, 0, 0, 0, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 210, 125, 19, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 85,
+  243, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 167, 3, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 14, 155, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 0, 0, 0, 0,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 188, 87, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 54, 229, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 210, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 1, 10, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  22, 185, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  0, 0, 0, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 171, 37, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 215, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 141, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 9, 40, 2, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 0, 0, 0, 0, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 214, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 18, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 200, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 1, 1, 66, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 6, 219, 219, 219, 219, 219, 219, 219, 219, 0, 0, 0, 0, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 28, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 159, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 250, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 217, 37,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 5, 6, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 219, 219, 219, 219, 0,
+  0, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 82, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 12, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 110, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 1, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 219, 0, 0, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 137, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 145, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 248, 255, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 185,
+  6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 198, 23, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  8, 113, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 64, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  3, 122, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 110, 1,
+  0, 0, 0, 0, 0, 0, 0, 3, 113, 209, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  167, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 67, 198, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 198, 37, 0, 0, 0, 0, 0, 0, 3, 94,
+  210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 210, 27, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 64,
+  198, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 159,
+  39, 0, 0, 0, 1, 15, 106, 210, 219, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 255, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 95, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 6, 113, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 176, 107, 69, 66, 100, 167, 210, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 168, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 25, 149, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 249, 255, 255,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 204, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 47, 176, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 58, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 113, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252,
+  247, 255, 219, 219, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 219, 219,
+  219, 219, 140, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  25, 149, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 47, 176, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 253, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 107, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 133, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 142, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 107, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 99, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 176, 114, 47,
+  9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 78, 198, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 251, 255, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 198, 142, 56, 8, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 65, 198, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 206, 126, 29, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 65, 210, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 255, 255, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 158, 46,
+  3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 3, 70, 190, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 204, 140, 52, 7, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 75,
+  190, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 255,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 198, 110, 24, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 3, 65, 190, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 198, 142, 72, 22,
+  3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 70, 185, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 252, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 198, 122, 46, 5, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 3, 90, 204, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 204, 168, 124, 80, 43, 17, 4, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 98, 210, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 210, 167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 19, 130, 210, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 185,
+  0, 0, 0, 0, 0, 0, 0, 3, 50, 167, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 204, 140, 58, 0, 0, 0, 42, 122,
+  198, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 251,
+  254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 0, 0,
+  0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 254, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 0, 0, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 252, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 0, 0, 0, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 0, 0, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 0, 0,
+  0, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219,
+  219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 219, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 84, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 25, 175, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 9, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 1, 1, 2, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  2, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+  0, 0, 177, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 0, 0, 0, 0, 0, 255, 255, 0, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 4, 6, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 255, 255, 255, 255,
+  255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 6, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 194, 245, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 28, 116, 215, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  9, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 12, 50, 111, 177, 230,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
+  48, 105, 170, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 255, 205, 72, 0, 0, 0,
+  0, 0, 27, 66, 122, 194, 245, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14,
+  6, 0, 0, 0, 0, 0, 108, 120, 171, 233, 253, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 12, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 255, 255, 0,
+  0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 13, 4, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 0, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 4, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210,
+  210, 210, 210, 210, 0, 0, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  14, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210,
+  210, 210, 0, 0, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 0, 210, 210, 210, 210, 210,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210,
+  210, 0, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 155, 0, 0, 22, 88, 194, 245, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 0, 0, 0, 0, 0, 0,
+  13, 110, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 0,
+  0, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 42, 0, 0, 0, 0, 0, 0, 0, 0, 11, 92, 205, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210,
+  210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 62, 189, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210,
+  210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  156, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210,
+  210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 194, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210,
+  210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 27, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210,
+  210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 49, 0, 0, 0,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 4, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 0, 210, 210, 210, 210, 210,
+  210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 97, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210,
+  210, 0, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 245, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 177, 230, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 32, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 210, 210, 210, 210, 210, 210, 0, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 235, 110, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 149, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 0,
+  0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 245, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 194, 245, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 42, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 115, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 81, 165, 230, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 189, 146, 114, 114, 146, 189, 0, 0, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 92, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 116,
+  32, 5, 4, 23, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 6, 11, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 205, 255,
+  255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255,
+  255, 255, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 146, 32, 0, 0, 0, 0, 0, 105, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 7,
+  5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 145, 19, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 114, 3,
+  0, 0, 0, 0, 0, 16, 170, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 238, 147, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 210, 210, 114, 1, 0, 0, 0, 0, 0, 0, 67, 189,
+  210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 39, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 146, 2,
+  0, 0, 0, 0, 0, 0, 5, 132, 210, 210, 210, 210, 210, 210, 210, 210,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 207, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 215, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 210, 210, 210, 210, 189, 21, 0, 0, 0, 0, 0, 0, 0, 88,
+  210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 68, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 133, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 208, 0,
+  0, 0, 0, 0, 0, 0, 0, 26, 210, 210, 210, 210, 210, 210, 210, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 207, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  74, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 245, 76, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
+  169, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 230, 79, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 38, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 99, 210, 210, 210, 210, 210, 210, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245,
+  85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  15, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210,
+  210, 210, 210, 202, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  34, 202, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 245, 124, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 4, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 202, 115, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 5, 166, 210, 210, 210, 210, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 164, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210,
+  210, 210, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 110, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 245, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 210, 210, 210, 210, 210, 152, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 210, 210, 210, 210, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 159, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210,
+  180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 3, 169, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 170, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 122, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 210, 210, 210, 210, 210, 107, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 210, 210, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 23, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 75, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 189, 146, 114,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 30, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 215, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 210, 210, 160, 59, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 189, 210, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 160, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 24, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 131, 18, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 105, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  210, 210, 140, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 189, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 210, 170, 26, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 1, 94, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255,
+  255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210,
+  170, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 185, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 245, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 210, 170, 56, 2, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 37, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,
+  0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 194, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 30,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+  0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 122, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 157, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 28, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255,
+  255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 58, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 106, 0, 0,
+  6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 45, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 55, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 255, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 29, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 83,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 55, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 122, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 207, 29, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 2, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 53, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 194, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  161, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 57, 22, 2, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 52, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 37, 245, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 245, 86, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 229, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 53, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 15, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 27, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 163, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+  0, 0, 57, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 16, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 101, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 55, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 210, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 221, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0,
+  0, 0, 53, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 40, 189, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 86, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 28, 0, 0, 0, 0, 0, 0, 52, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 210, 210, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254,
+  255, 255, 255, 255, 255, 255, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 34, 0, 0, 0, 0,
+  0, 0, 41, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 2, 202, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 255, 255, 255, 255, 255, 245,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 4, 37, 4, 0, 0, 0, 0, 0, 0, 23, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 145, 210, 210, 210, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 250, 253, 255, 255, 255, 255, 255, 221, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 6, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  35, 196, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 240, 255, 255, 255, 255, 255,
+  255, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 2, 151, 210, 210, 210, 210, 210, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 250, 247, 255, 255, 255, 255, 255, 255, 196, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 48, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,
+  210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255,
+  255, 255, 255, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 134, 210, 210, 210, 210, 210, 210, 210, 210,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 189,
+  210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 24, 84, 170, 230, 0, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 96, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 0, 2,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, 37, 111, 205, 255, 255,
+  255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 177, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 21,
+  84, 165, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 61, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 11, 39, 53, 72, 125, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 2, 23, 87, 170, 230, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 8, 202, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 12, 50, 111, 177, 230, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 48, 105,
+  170, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 123, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 28,
+  49, 72, 111, 177, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 189, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,
+  0, 0, 30, 74, 144, 215, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 76, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 169, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 44, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 125, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 202, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255,
+  0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1,
+  0, 0, 0, 0, 0, 0, 0, 1, 0, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 255, 255, 0, 0, 0, 0, 0, 0, 1, 1,
+  1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0,
+  189, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 98, 20, 0, 98, 205,
+  0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 1, 0, 0, 2,
+  2, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 176, 39, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 9, 3,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 185, 26, 0, 0, 0, 0, 0, 15,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 86, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 238, 216, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 111,
+  6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 247, 251,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 215, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 189, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 128, 18, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 230, 128, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 14, 76, 169, 210, 0, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+  255, 255, 255, 255, 255, 255, 255, 245, 141, 24, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 181, 47, 5, 0, 0, 0, 0, 0,
+  0, 0, 1, 1, 1, 4, 22, 39, 54, 86, 140, 189, 210, 210, 210, 0,
+  0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 230, 137, 30,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  255, 215, 119, 76, 52, 45, 49, 59, 91, 146, 189, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 0, 255, 238, 125, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 201, 30, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+  19, 30, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 230, 105, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 23, 189, 23, 0, 0, 0, 0, 0, 0,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 164,
+  6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  91, 3, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 2,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 251, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 4, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 5, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 6, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 16, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 37, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 238, 64, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  196, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 205, 133, 85,
+  61, 63, 92, 144, 215, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230,
+  9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 177, 119, 70, 27, 4, 0, 0, 0, 0, 1, 6, 5, 9, 0, 142,
+  230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 208, 192, 148, 96, 52, 23, 3, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 1, 34, 170, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 210, 210, 189, 19,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 169, 110, 58, 21, 2, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 18, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 210, 210, 210, 210, 105, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 202, 160, 100, 55, 24, 3, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 185, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 210, 210, 210, 210, 210, 189, 19, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 189,
+  108, 26, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 36, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 210, 210,
+  210, 210, 210, 210, 210, 112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 202, 175, 142,
+  119, 101, 76, 51, 32, 15, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 202, 30, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210,
+  210, 184, 110, 38, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 3, 165, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 160, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 189, 136, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 157, 210,
+  210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 61, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 152, 41, 2, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 30, 177, 210, 210, 210, 210, 210, 210, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 177, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 169, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57,
+  189, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 102, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 110, 5, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 2, 94, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 202, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  9, 152, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 166, 2, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 50, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 170, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 55, 189, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 75, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 48, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 84, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 6, 149, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 7, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 100, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 177, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 49, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 119, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 202, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 189,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 64, 189, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 54, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 24, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
+  80, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 10, 2, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 81, 189, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 169, 2, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 2, 71, 182, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 78, 194, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 0, 0, 0, 0, 210, 108, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14,
+  255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 70, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 5, 105, 202, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 210, 210, 210,
+  210, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 133, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0,
+  0, 0, 210, 210, 210, 210, 210, 210, 210, 142, 34, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 177, 7, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 12, 140, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 175, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 131,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 202, 119, 18, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 160, 2, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 13, 149, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 180, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 202, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 1, 10, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  21, 177, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 164, 35, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 255, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 135, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 9, 39, 2, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 205, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 192, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 1, 1, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 6, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 27, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 49, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 208, 35,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 5, 6, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 0,
+  0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 105, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 210, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 132, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 139, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 11, 255, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 177,
+  6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 189, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  7, 109, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 61, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  2, 117, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 105, 1,
+  0, 0, 0, 0, 0, 0, 0, 3, 109, 200, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  160, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 64, 189, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 189, 35, 0, 0, 0, 0, 0, 0, 2, 90,
+  202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 255, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 202, 26, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61,
+  189, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 152,
+  37, 0, 0, 0, 1, 15, 102, 202, 210, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 255, 255, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 6, 108, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 169, 103, 66, 63, 96, 160, 202, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 255, 255, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 161, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 142, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 255, 255,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 196, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 45, 169, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 55, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 108, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9,
+  153, 255, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210,
+  210, 210, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  24, 142, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 45, 169, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 9, 255, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 255, 255, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 128, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 136, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 187, 255, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 103, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 169, 110, 45,
+  8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 75, 189, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 154, 255, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 189, 136, 54, 7, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 189, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 255, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 198, 121, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 63, 202, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 255, 255, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 152, 44,
+  2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 3, 67, 182, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 255, 255, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 196, 134, 50, 7, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 72,
+  182, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 255,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 189, 105, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 2, 63, 182, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 189, 136, 69, 21,
+  3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 68, 177, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 11, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 189, 117, 44, 5, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 2, 86, 196, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 196, 161, 119, 77, 41, 16, 4, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 94, 202, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 202, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 18, 124, 202, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 177,
+  0, 0, 0, 0, 0, 0, 0, 3, 48, 160, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 196, 134, 55, 0, 0, 0, 40, 117,
+  189, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 9,
+  4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0,
+  0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 1, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 5, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0,
+  0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 84, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 25, 175, 255, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 8, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 1, 1, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0,
+  0, 0, 177, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 0, 0, 0, 0, 0, 255, 255, 0, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 3, 5, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 230, 255, 255, 255, 255,
+  255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 175, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 238,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 4, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 194, 245, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 28, 116, 215, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  8, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 12, 50, 111, 177, 230,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
+  48, 105, 170, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 255, 205, 72, 0, 0, 0,
+  0, 0, 27, 66, 122, 194, 245, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
+  5, 0, 0, 0, 0, 0, 108, 120, 171, 233, 253, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 10, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 255, 255, 0,
+  0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 10, 3, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 0, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 3, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210,
+  210, 210, 210, 210, 0, 0, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210,
+  210, 210, 0, 0, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 0, 210, 210, 210, 210, 210,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210,
+  210, 0, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 155, 0, 0, 22, 88, 194, 245, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 0, 0, 0, 0, 0, 0,
+  13, 110, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 0,
+  0, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 42, 0, 0, 0, 0, 0, 0, 0, 0, 11, 92, 205, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210,
+  210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 62, 189, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210,
+  210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  173, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  156, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210,
+  210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 194, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210,
+  210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 27, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210,
+  210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 49, 0, 0, 0,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 3, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 0, 210, 210, 210, 210, 210,
+  210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 97, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 235, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210,
+  210, 0, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 245, 124, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 177, 230, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 32, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 210, 210, 210, 210, 210, 210, 0, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 235, 110, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 149, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 0,
+  0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 245, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 109, 194, 245, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 42, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 115, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 81, 165, 230, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 189, 146, 114, 114, 146, 189, 0, 0, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  159, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 92, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 42, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 189, 116,
+  32, 5, 4, 23, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 159, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 6, 11, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 90, 205, 255,
+  255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255,
+  255, 255, 155, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 146, 32, 0, 0, 0, 0, 0, 105, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 7,
+  5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 145, 19, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 114, 3,
+  0, 0, 0, 0, 0, 16, 170, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 201, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 0,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 238, 147, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 210, 210, 114, 1, 0, 0, 0, 0, 0, 0, 67, 189,
+  210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 39, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 146, 2,
+  0, 0, 0, 0, 0, 0, 5, 132, 210, 210, 210, 210, 210, 210, 210, 210,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 207, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 215, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 210, 210, 210, 210, 189, 21, 0, 0, 0, 0, 0, 0, 0, 88,
+  210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 68, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 133, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 208, 0,
+  0, 0, 0, 0, 0, 0, 0, 26, 210, 210, 210, 210, 210, 210, 210, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 207, 68, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  74, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 245, 76, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
+  169, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 230, 79, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 38, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 221, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 99, 210, 210, 210, 210, 210, 210, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245,
+  85, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  15, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210,
+  210, 210, 210, 202, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  34, 202, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 245, 124, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 4, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 202, 115, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 5, 166, 210, 210, 210, 210, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 164, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210,
+  210, 210, 131, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 110, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 181, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 245, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 212, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 210, 210, 210, 210, 210, 152, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 39, 210, 210, 210, 210, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 159, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210,
+  180, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 3, 169, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 170, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 122, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 210, 210, 210, 210, 210, 107, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 91, 210, 210, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 23, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 75, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 189, 146, 114,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 30, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 215, 71, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 46, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 210, 210, 160, 59, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 189, 210, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 160, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 24, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 131, 18, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 105, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 235, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  210, 210, 140, 13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 189, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 210, 170, 26, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 1, 94, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255,
+  255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210,
+  170, 56, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 185, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 245, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 210, 170, 56, 2, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 37, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,
+  0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 197, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 194, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 152, 30,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 121, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+  0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 122, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 215, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 157, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 28, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 75, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 8, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 49, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255,
+  255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 58, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 106, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 182, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 53, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 106, 0, 0,
+  6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 45, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 55, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 255, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 29, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 144, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 67, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 83,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 55, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 122, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 207, 29, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 2, 1, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 53, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 194, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  161, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 57, 22, 2, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 52, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 37, 245, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 245, 86, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 52, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 137, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 229, 54, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 53, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 15, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 27, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 55, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 163, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+  0, 0, 57, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 16, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 101, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 6, 0, 0, 0, 0, 0, 0, 55, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 105, 210, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 221, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 15, 0, 0, 0, 0,
+  0, 0, 53, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 40, 189, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 86, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 28, 0, 0, 0, 0, 0, 0, 52, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140, 210, 210, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254,
+  255, 255, 255, 255, 255, 255, 255, 83, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 28, 34, 0, 0, 0, 0,
+  0, 0, 41, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 2, 202, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 255, 255, 255, 255, 255, 245,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 4, 37, 4, 0, 0, 0, 0, 0, 0, 23, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 145, 210, 210, 210, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 250, 253, 255, 255, 255, 255, 255, 221, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 6, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  35, 196, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 240, 255, 255, 255, 255, 255,
+  255, 204, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 2, 151, 210, 210, 210, 210, 210, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 250, 247, 255, 255, 255, 255, 255, 255, 196, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 48, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 47,
+  210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255,
+  255, 255, 255, 183, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 142, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 134, 210, 210, 210, 210, 210, 210, 210, 210,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 189,
+  210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 24, 84, 170, 230, 0, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 96, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 0, 2,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 7, 37, 111, 205, 255, 255,
+  255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 177, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 207, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 21,
+  84, 165, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 61, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 11, 39, 53, 72, 125, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 160, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 2, 23, 87, 170, 230, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 8, 202, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 12, 50, 111, 177, 230, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 44, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 48, 105,
+  170, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 123, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 28,
+  49, 72, 111, 177, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 189, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 0, 0, 0,
+  0, 0, 30, 74, 144, 215, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 76, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 169, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 44, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 110, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 125, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 202, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255,
+  0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1,
+  0, 0, 0, 0, 0, 0, 0, 1, 0, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 255, 255, 0, 0, 0, 0, 0, 0, 1, 1,
+  1, 1, 1, 1, 1, 1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0,
+  189, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 98, 20, 0, 98, 205,
+  0, 0, 0, 0, 0, 0, 9, 1, 1, 1, 1, 1, 1, 0, 0, 2,
+  2, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 176, 39, 0, 0, 0, 0, 77, 0, 0, 0, 0, 0, 0, 9, 3,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 185, 26, 0, 0, 0, 0, 0, 15,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 86, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 238, 216, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 111,
+  6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 140,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 247, 251,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 215, 62, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 189, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 128, 18, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 230, 128, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  48, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 14, 76, 169, 210, 0, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0,
+  255, 255, 255, 255, 255, 255, 255, 245, 141, 24, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 181, 47, 5, 0, 0, 0, 0, 0,
+  0, 0, 1, 1, 1, 4, 22, 39, 54, 86, 140, 189, 210, 210, 210, 0,
+  0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 230, 137, 30,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  255, 215, 119, 76, 52, 45, 49, 59, 91, 146, 189, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 0, 255, 238, 125, 18, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 201, 30, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  230, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+  19, 30, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 230, 105, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 23, 189, 23, 0, 0, 0, 0, 0, 0,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 164,
+  6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  91, 3, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 51, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 2,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 251, 60, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 4, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 76, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 5, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 6, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 16, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 145, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 37, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 184, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 238, 64, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  196, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 86, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 255, 205, 133, 85,
+  61, 63, 92, 144, 215, 255, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230,
+  9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 5, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 177, 119, 70, 27, 4, 0, 0, 0, 0, 1, 6, 5, 9, 0, 142,
+  230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 105, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 208, 192, 148, 96, 52, 23, 3, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 1, 34, 170, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 210, 210, 189, 19,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 169, 110, 58, 21, 2, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 18, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 210, 210, 210, 210, 105, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 202, 160, 100, 55, 24, 3, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 185, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 210, 210, 210, 210, 210, 189, 19, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 189,
+  108, 26, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 36, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 210, 210,
+  210, 210, 210, 210, 210, 112, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 202, 175, 142,
+  119, 101, 76, 51, 32, 15, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 82, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 202, 30, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210,
+  210, 184, 110, 38, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 3, 165, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 160, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 189, 136, 0, 0, 3, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 157, 210,
+  210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 61, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 152, 41, 2, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 30, 177, 210, 210, 210, 210, 210, 210, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 177, 6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 169, 40, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 57,
+  189, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 102, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 110, 5, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 2, 94, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 202, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 70, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  9, 152, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 166, 2, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 50, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 30, 170, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 55, 189, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 75, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 48, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 84, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 35, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 62, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 6, 149, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 7, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 100, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 177, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 177, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 49, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 119, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 202, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61, 189,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 72, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 64, 189, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 54, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 24, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
+  80, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 58, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 93, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 10, 2, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 81, 189, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 169, 2, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 2, 71, 182, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 27, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 78, 194, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 0, 0, 0, 0, 210, 108, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12,
+  255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 70, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 5, 105, 202, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 210, 210, 210,
+  210, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 119, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 133, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0,
+  0, 0, 210, 210, 210, 210, 210, 210, 210, 142, 34, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 177, 7, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 12, 140, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 175, 69, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 61, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 131,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 202, 119, 18, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 160, 2, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 13, 149, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 180, 83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 202, 43, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 1, 10, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  21, 177, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 164, 35, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 255, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 135, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 9, 39, 2, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 64, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 205, 138, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 192, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 1, 1, 63, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 6, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 27, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 14, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 45, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 208, 35,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 5, 6, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 0,
+  0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 79, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 105, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 210, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 132, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 11, 139, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 9, 255, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 177,
+  6, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 189, 22, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  7, 109, 208, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 61, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  2, 117, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 105, 1,
+  0, 0, 0, 0, 0, 0, 0, 3, 109, 200, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  160, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 64, 189, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 189, 35, 0, 0, 0, 0, 0, 0, 2, 90,
+  202, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 255, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 202, 26, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 61,
+  189, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 152,
+  37, 0, 0, 0, 1, 15, 102, 202, 210, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 255, 255, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 91, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 6, 108, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 169, 103, 66, 63, 96, 160, 202, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 255, 255, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 161, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 24, 142, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 255, 255,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 196, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 45, 169, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 255, 255, 0, 0, 0, 0, 0, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 55, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 108, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 8,
+  152, 255, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210,
+  210, 210, 134, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  24, 142, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 45, 169, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 7, 255, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 103, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 255, 255, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 128, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 136, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 186, 255, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 103, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 95, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 255,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 169, 110, 45,
+  8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 75, 189, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 152, 255, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 189, 136, 54, 7, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 63, 189, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 255, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 198, 121, 28, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 63, 202, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 12, 255, 255, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 152, 44,
+  2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 3, 67, 182, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 255, 255, 255, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 196, 134, 50, 7, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 72,
+  182, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 255,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 189, 105, 23, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 2, 63, 182, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 255, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 189, 136, 69, 21,
+  3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 68, 177, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 9, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 189, 117, 44, 5, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 2, 86, 196, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 196, 161, 119, 77, 41, 16, 4, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 6, 94, 202, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 202, 160, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 18, 124, 202, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 177,
+  0, 0, 0, 0, 0, 0, 0, 3, 48, 160, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 196, 134, 55, 0, 0, 0, 40, 117,
+  189, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 8,
+  3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 255, 255, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0,
+  0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 1, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 4, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 255, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0,
+  0, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210,
+  210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 210, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+
+/* Define image 'lena' of size 256x256x1x1 and type 'const unsigned char' */
+const unsigned char data_lena[] = {
+  254, 254, 254, 254, 254, 254, 254, 254, 162, 165, 155, 156, 158, 158, 158, 155,
+  155, 156, 160, 162, 169, 169, 174, 177, 174, 169, 171, 162, 147, 155, 127, 114,
+  86, 86, 76, 98, 98, 98, 98, 96, 108, 101, 98, 108, 103, 101, 105, 101,
+  105, 105, 98, 98, 105, 117, 108, 119, 105, 117, 123, 119, 119, 125, 117, 133,
+  129, 133, 125, 129, 135, 131, 129, 125, 133, 127, 133, 127, 125, 125, 133, 133,
+  123, 125, 131, 131, 127, 125, 131, 131, 135, 133, 129, 129, 129, 137, 133, 133,
+  133, 129, 133, 129, 135, 131, 133, 131, 141, 127, 133, 129, 131, 129, 131, 127,
+  129, 135, 133, 129, 129, 127, 125, 127, 133, 129, 129, 133, 131, 131, 125, 131,
+  137, 133, 131, 127, 129, 127, 131, 127, 127, 129, 121, 133, 127, 125, 125, 133,
+  123, 127, 127, 131, 125, 121, 123, 123, 119, 121, 114, 119, 117, 110, 114, 98,
+  96, 110, 119, 135, 139, 147, 156, 155, 164, 167, 169, 158, 149, 156, 158, 151,
+  153, 156, 158, 156, 162, 156, 156, 153, 155, 156, 156, 155, 155, 153, 156, 156,
+  156, 156, 162, 156, 158, 164, 160, 160, 158, 162, 200, 213, 219, 219, 224, 222,
+  225, 218, 201, 158, 103, 96, 103, 98, 114, 119, 119, 123, 129, 117, 121, 121,
+  123, 127, 121, 123, 117, 123, 121, 119, 123, 129, 121, 123, 125, 121, 123, 114,
+  129, 125, 123, 123, 121, 129, 125, 117, 110, 112, 117, 119, 135, 171, 174, 158,
+  164, 164, 165, 165, 167, 162, 158, 162, 162, 165, 155, 156, 158, 158, 158, 155,
+  155, 156, 160, 162, 169, 169, 174, 177, 174, 169, 171, 162, 147, 155, 127, 114,
+  86, 86, 76, 98, 98, 98, 98, 96, 108, 101, 98, 108, 103, 101, 105, 101,
+  105, 105, 98, 98, 105, 117, 108, 119, 105, 117, 123, 119, 119, 125, 117, 133,
+  129, 133, 125, 129, 135, 131, 129, 125, 133, 127, 133, 127, 125, 125, 133, 133,
+  123, 125, 131, 131, 127, 125, 131, 131, 135, 133, 129, 129, 129, 137, 133, 133,
+  133, 129, 133, 129, 135, 131, 133, 131, 141, 127, 133, 129, 131, 129, 131, 127,
+  129, 135, 133, 129, 129, 127, 125, 127, 133, 129, 129, 133, 131, 131, 125, 131,
+  137, 133, 131, 127, 129, 127, 131, 127, 127, 129, 121, 133, 127, 125, 125, 133,
+  123, 127, 127, 131, 125, 121, 123, 123, 119, 121, 114, 119, 117, 110, 114, 98,
+  96, 110, 119, 135, 139, 147, 156, 155, 164, 167, 169, 158, 149, 156, 158, 151,
+  153, 156, 158, 156, 162, 156, 156, 153, 155, 156, 156, 155, 155, 153, 156, 156,
+  156, 156, 162, 156, 158, 164, 160, 160, 158, 162, 200, 213, 219, 219, 224, 222,
+  225, 218, 201, 158, 103, 96, 103, 98, 114, 119, 119, 123, 129, 117, 121, 121,
+  123, 127, 121, 123, 117, 123, 121, 119, 123, 129, 121, 123, 125, 121, 123, 114,
+  129, 125, 123, 123, 121, 129, 125, 117, 110, 112, 117, 119, 135, 171, 174, 158,
+  164, 164, 165, 165, 167, 162, 158, 162, 162, 165, 155, 156, 158, 158, 158, 155,
+  155, 156, 160, 162, 169, 169, 174, 177, 174, 169, 171, 162, 147, 155, 127, 114,
+  86, 86, 76, 98, 98, 98, 98, 96, 108, 101, 98, 108, 103, 101, 105, 101,
+  105, 105, 98, 98, 105, 117, 108, 119, 105, 117, 123, 119, 119, 125, 117, 133,
+  129, 133, 125, 129, 135, 131, 129, 125, 133, 127, 133, 127, 125, 125, 133, 133,
+  123, 125, 131, 131, 127, 125, 131, 131, 135, 133, 129, 129, 129, 137, 133, 133,
+  133, 129, 133, 129, 135, 131, 133, 131, 141, 127, 133, 129, 131, 129, 131, 127,
+  129, 135, 133, 129, 129, 127, 125, 127, 133, 129, 129, 133, 131, 131, 125, 131,
+  137, 133, 131, 127, 129, 127, 131, 127, 127, 129, 121, 133, 127, 125, 125, 133,
+  123, 127, 127, 131, 125, 121, 123, 123, 119, 121, 114, 119, 117, 110, 114, 98,
+  96, 110, 119, 135, 139, 147, 156, 155, 164, 167, 169, 158, 149, 156, 158, 151,
+  153, 156, 158, 156, 162, 156, 156, 153, 155, 156, 156, 155, 155, 153, 156, 156,
+  156, 156, 162, 156, 158, 164, 160, 160, 158, 162, 200, 213, 219, 219, 224, 222,
+  225, 218, 201, 158, 103, 96, 103, 98, 114, 119, 119, 123, 129, 117, 121, 121,
+  123, 127, 121, 123, 117, 123, 121, 119, 123, 129, 121, 123, 125, 121, 123, 114,
+  129, 125, 123, 123, 121, 129, 125, 117, 110, 112, 117, 119, 135, 171, 174, 158,
+  162, 167, 162, 160, 162, 156, 156, 158, 155, 156, 160, 156, 158, 155, 151, 156,
+  162, 156, 160, 167, 172, 172, 172, 174, 176, 171, 167, 160, 149, 135, 114, 98,
+  86, 76, 86, 81, 86, 86, 98, 110, 94, 101, 103, 101, 91, 98, 103, 91,
+  94, 101, 94, 112, 98, 103, 119, 108, 112, 114, 127, 121, 123, 114, 119, 125,
+  129, 127, 135, 119, 123, 125, 129, 127, 129, 131, 127, 129, 121, 127, 125, 125,
+  131, 135, 133, 133, 127, 131, 129, 137, 129, 125, 131, 129, 129, 125, 127, 129,
+  133, 133, 129, 131, 135, 131, 129, 129, 137, 127, 133, 129, 131, 127, 131, 123,
+  127, 133, 135, 125, 129, 125, 129, 129, 131, 125, 131, 131, 129, 127, 127, 127,
+  127, 131, 131, 125, 125, 125, 121, 129, 123, 131, 125, 123, 123, 125, 125, 131,
+  131, 127, 121, 125, 127, 127, 125, 121, 119, 123, 121, 117, 112, 110, 105, 98,
+  96, 112, 119, 125, 133, 147, 145, 158, 164, 162, 167, 160, 156, 155, 153, 155,
+  155, 158, 162, 156, 162, 158, 156, 156, 156, 153, 153, 158, 158, 160, 155, 153,
+  156, 156, 158, 160, 160, 160, 158, 158, 155, 156, 181, 207, 216, 219, 222, 224,
+  227, 222, 213, 187, 133, 103, 96, 108, 112, 114, 119, 117, 117, 121, 121, 129,
+  121, 127, 119, 117, 125, 123, 127, 123, 125, 121, 127, 125, 123, 114, 125, 125,
+  121, 125, 123, 117, 119, 123, 123, 125, 117, 112, 125, 129, 125, 123, 86, 49,
+  156, 160, 162, 158, 165, 160, 164, 156, 156, 165, 160, 156, 162, 153, 153, 160,
+  158, 155, 164, 171, 176, 177, 174, 174, 177, 171, 167, 160, 145, 135, 117, 103,
+  86, 79, 76, 81, 86, 91, 98, 96, 96, 98, 94, 105, 96, 103, 103, 103,
+  94, 114, 101, 96, 105, 105, 103, 117, 114, 117, 114, 125, 121, 129, 121, 125,
+  114, 121, 127, 131, 129, 131, 127, 123, 131, 125, 127, 129, 127, 131, 127, 127,
+  123, 129, 131, 129, 127, 131, 131, 129, 127, 133, 135, 127, 127, 143, 133, 129,
+  129, 131, 129, 129, 129, 127, 123, 125, 133, 127, 133, 137, 127, 121, 119, 127,
+  129, 137, 141, 131, 123, 125, 131, 131, 129, 127, 125, 129, 123, 129, 131, 133,
+  127, 133, 133, 125, 127, 119, 127, 129, 121, 133, 125, 127, 119, 127, 127, 127,
+  129, 127, 123, 125, 125, 123, 123, 125, 123, 119, 121, 121, 110, 110, 105, 108,
+  96, 103, 110, 117, 131, 139, 143, 149, 156, 158, 167, 160, 158, 158, 155, 153,
+  156, 158, 155, 156, 158, 156, 158, 162, 155, 160, 160, 153, 156, 155, 155, 158,
+  158, 158, 158, 158, 153, 158, 158, 160, 155, 155, 162, 193, 210, 219, 219, 222,
+  222, 225, 219, 206, 167, 112, 101, 105, 112, 112, 114, 125, 117, 117, 114, 125,
+  117, 119, 117, 123, 117, 117, 119, 123, 125, 121, 121, 119, 121, 121, 119, 125,
+  125, 121, 127, 121, 121, 125, 131, 125, 127, 123, 125, 123, 86, 52, 32, 26,
+  158, 160, 158, 155, 160, 158, 162, 160, 156, 155, 162, 160, 155, 156, 156, 153,
+  158, 158, 164, 171, 174, 171, 176, 177, 171, 165, 165, 160, 141, 131, 127, 108,
+  86, 76, 79, 86, 103, 86, 91, 98, 94, 94, 94, 89, 94, 108, 91, 96,
+  96, 94, 101, 103, 110, 105, 110, 119, 117, 121, 119, 119, 121, 121, 117, 127,
+  119, 133, 123, 121, 129, 129, 123, 131, 125, 131, 133, 121, 123, 127, 125, 133,
+  123, 133, 133, 137, 127, 127, 129, 129, 127, 131, 125, 123, 129, 131, 125, 127,
+  123, 125, 127, 127, 131, 129, 131, 129, 125, 133, 135, 125, 131, 125, 121, 123,
+  131, 123, 129, 125, 133, 125, 129, 123, 133, 125, 131, 125, 129, 125, 127, 123,
+  127, 125, 131, 129, 125, 125, 127, 123, 125, 125, 123, 127, 121, 127, 125, 123,
+  125, 125, 131, 125, 125, 125, 127, 127, 123, 117, 108, 112, 112, 112, 110, 108,
+  108, 96, 108, 119, 125, 137, 143, 151, 156, 162, 165, 167, 158, 158, 156, 153,
+  158, 156, 164, 162, 160, 158, 158, 160, 156, 156, 156, 156, 156, 160, 158, 155,
+  153, 156, 155, 156, 156, 158, 153, 156, 160, 151, 153, 174, 201, 212, 219, 221,
+  222, 224, 224, 215, 192, 149, 103, 96, 103, 108, 114, 114, 121, 114, 114, 123,
+  121, 121, 114, 121, 117, 121, 117, 119, 121, 123, 119, 114, 121, 117, 123, 125,
+  121, 123, 123, 127, 119, 121, 125, 131, 129, 131, 110, 84, 46, 32, 32, 38,
+  158, 160, 158, 160, 164, 160, 156, 156, 158, 165, 158, 158, 153, 155, 155, 153,
+  158, 167, 164, 171, 174, 174, 174, 169, 165, 172, 172, 162, 139, 135, 121, 101,
+  94, 71, 76, 91, 74, 86, 91, 103, 94, 96, 98, 103, 103, 98, 94, 98,
+  91, 98, 94, 98, 110, 101, 105, 108, 114, 112, 119, 121, 121, 117, 127, 121,
+  119, 121, 123, 137, 125, 129, 125, 129, 127, 127, 125, 125, 125, 131, 121, 133,
+  123, 127, 135, 125, 129, 125, 127, 131, 125, 127, 127, 131, 135, 129, 123, 127,
+  123, 127, 125, 125, 133, 125, 133, 129, 129, 133, 129, 127, 129, 123, 127, 121,
+  127, 129, 125, 129, 125, 129, 125, 127, 125, 133, 129, 129, 131, 127, 137, 127,
+  125, 127, 125, 131, 125, 129, 125, 125, 125, 121, 125, 127, 127, 127, 125, 133,
+  125, 119, 119, 125, 119, 125, 133, 125, 119, 121, 117, 119, 114, 108, 110, 110,
+  101, 101, 96, 105, 117, 131, 133, 145, 151, 155, 167, 162, 162, 162, 158, 156,
+  156, 160, 162, 162, 165, 162, 162, 158, 160, 156, 158, 158, 156, 158, 156, 158,
+  155, 156, 155, 155, 155, 158, 158, 160, 167, 149, 155, 155, 189, 209, 216, 219,
+  222, 222, 224, 224, 209, 176, 117, 98, 101, 105, 110, 117, 110, 121, 117, 119,
+  123, 119, 121, 114, 125, 112, 117, 119, 131, 121, 119, 114, 119, 117, 125, 117,
+  123, 125, 121, 121, 119, 119, 133, 129, 125, 123, 89, 46, 38, 29, 35, 38,
+  160, 162, 156, 162, 156, 151, 156, 156, 156, 156, 153, 158, 155, 153, 156, 156,
+  164, 169, 171, 174, 172, 172, 172, 174, 171, 169, 162, 160, 141, 131, 119, 105,
+  91, 89, 79, 86, 86, 91, 94, 96, 96, 98, 96, 105, 96, 101, 91, 101,
+  105, 96, 94, 98, 105, 103, 108, 108, 112, 112, 119, 119, 123, 119, 117, 129,
+  123, 119, 127, 123, 121, 131, 129, 133, 129, 125, 127, 125, 125, 125, 129, 127,
+  123, 123, 125, 125, 127, 127, 131, 129, 125, 127, 133, 133, 129, 127, 133, 123,
+  125, 127, 135, 133, 131, 131, 121, 135, 129, 125, 131, 131, 133, 125, 129, 129,
+  129, 131, 123, 131, 125, 123, 129, 127, 133, 127, 129, 133, 137, 127, 127, 129,
+  125, 135, 127, 127, 125, 121, 135, 123, 127, 129, 127, 121, 123, 127, 121, 123,
+  127, 119, 125, 127, 131, 125, 121, 121, 114, 119, 121, 119, 114, 117, 110, 108,
+  98, 105, 96, 105, 114, 123, 139, 147, 151, 156, 160, 164, 165, 164, 164, 160,
+  162, 162, 162, 169, 165, 167, 164, 160, 158, 160, 155, 156, 162, 160, 151, 155,
+  156, 153, 153, 153, 153, 156, 155, 156, 155, 160, 155, 149, 167, 201, 212, 218,
+  221, 225, 224, 225, 218, 200, 155, 98, 103, 101, 105, 110, 117, 110, 114, 121,
+  121, 112, 123, 117, 121, 117, 110, 123, 125, 114, 121, 125, 119, 127, 129, 121,
+  125, 119, 119, 125, 123, 125, 129, 127, 108, 84, 35, 38, 41, 38, 46, 35,
+  156, 156, 158, 158, 156, 155, 160, 156, 153, 155, 158, 155, 156, 151, 151, 167,
+  164, 167, 176, 169, 169, 172, 169, 169, 171, 169, 158, 160, 141, 137, 125, 98,
+  91, 81, 79, 84, 81, 96, 96, 81, 96, 108, 105, 105, 86, 91, 98, 108,
+  91, 94, 91, 98, 101, 108, 110, 108, 108, 117, 112, 121, 114, 121, 119, 125,
+  125, 127, 123, 129, 123, 127, 131, 129, 131, 125, 123, 125, 129, 123, 125, 125,
+  129, 129, 133, 131, 125, 141, 129, 129, 125, 131, 129, 129, 137, 127, 127, 125,
+  123, 125, 123, 125, 127, 121, 131, 131, 129, 125, 131, 125, 133, 133, 129, 123,
+  121, 131, 129, 129, 123, 127, 129, 129, 133, 137, 127, 141, 129, 127, 131, 127,
+  129, 131, 125, 125, 127, 127, 127, 123, 129, 127, 125, 123, 125, 114, 125, 127,
+  127, 127, 127, 123, 125, 123, 123, 123, 125, 123, 110, 119, 112, 112, 110, 125,
+  108, 108, 103, 94, 112, 117, 135, 141, 149, 155, 158, 156, 160, 171, 162, 160,
+  160, 164, 165, 165, 162, 162, 162, 165, 158, 160, 165, 162, 162, 158, 153, 153,
+  155, 155, 158, 151, 158, 149, 156, 151, 151, 155, 151, 158, 151, 184, 206, 215,
+  221, 222, 225, 225, 224, 213, 189, 125, 103, 91, 112, 103, 121, 112, 108, 117,
+  119, 121, 121, 114, 114, 119, 117, 127, 119, 117, 125, 121, 119, 123, 127, 123,
+  129, 131, 125, 129, 129, 133, 133, 108, 71, 23, 32, 23, 26, 38, 26, 35,
+  158, 162, 158, 155, 160, 155, 162, 165, 162, 164, 156, 156, 155, 156, 164, 162,
+  169, 171, 174, 167, 172, 171, 171, 165, 172, 165, 164, 153, 139, 131, 121, 101,
+  84, 89, 89, 81, 86, 101, 89, 91, 91, 89, 105, 96, 94, 101, 98, 94,
+  89, 98, 94, 103, 101, 112, 110, 108, 112, 110, 117, 121, 119, 123, 114, 125,
+  123, 125, 121, 127, 125, 127, 129, 125, 119, 123, 127, 127, 127, 125, 125, 123,
+  127, 127, 131, 125, 123, 127, 127, 127, 131, 135, 129, 123, 125, 133, 131, 127,
+  125, 123, 129, 137, 125, 125, 127, 125, 127, 127, 135, 125, 139, 125, 125, 127,
+  123, 135, 135, 123, 125, 121, 119, 125, 129, 131, 133, 133, 131, 127, 129, 127,
+  131, 125, 131, 133, 129, 127, 123, 121, 125, 125, 129, 125, 127, 123, 121, 119,
+  125, 123, 127, 121, 131, 117, 121, 127, 127, 127, 121, 123, 112, 112, 108, 114,
+  108, 108, 94, 96, 105, 119, 125, 139, 141, 155, 156, 162, 162, 171, 162, 162,
+  165, 162, 160, 167, 164, 165, 167, 167, 162, 160, 158, 164, 164, 155, 158, 155,
+  156, 162, 155, 156, 155, 158, 153, 155, 158, 153, 155, 151, 147, 156, 193, 210,
+  218, 224, 224, 225, 224, 219, 204, 164, 103, 98, 108, 105, 112, 108, 108, 121,
+  117, 119, 125, 117, 129, 131, 119, 121, 121, 139, 123, 117, 127, 125, 131, 123,
+  129, 133, 129, 131, 135, 125, 103, 79, 29, 20, 41, 29, 35, 38, 32, 29,
+  160, 156, 156, 156, 160, 160, 160, 162, 158, 156, 153, 162, 155, 156, 160, 162,
+  165, 171, 169, 171, 176, 167, 165, 169, 164, 165, 158, 156, 145, 131, 129, 129,
+  98, 96, 76, 76, 86, 89, 91, 98, 98, 103, 96, 103, 96, 96, 98, 91,
+  101, 91, 96, 89, 101, 105, 108, 105, 121, 110, 110, 114, 121, 121, 117, 127,
+  119, 123, 123, 127, 127, 125, 127, 125, 119, 131, 125, 129, 129, 131, 131, 127,
+  125, 123, 129, 133, 123, 121, 131, 125, 127, 121, 125, 125, 125, 125, 127, 127,
+  135, 125, 127, 131, 125, 127, 129, 125, 129, 127, 123, 129, 129, 125, 139, 131,
+  129, 129, 133, 127, 121, 125, 123, 123, 131, 133, 131, 129, 143, 131, 125, 125,
+  133, 121, 123, 125, 141, 121, 131, 119, 125, 123, 125, 125, 129, 119, 119, 123,
+  123, 123, 125, 127, 127, 123, 125, 123, 127, 119, 121, 119, 141, 114, 112, 112,
+  103, 101, 103, 89, 105, 114, 127, 137, 147, 147, 155, 158, 160, 167, 164, 164,
+  162, 162, 162, 169, 165, 171, 164, 164, 164, 156, 162, 162, 162, 169, 153, 160,
+  158, 160, 155, 156, 153, 155, 156, 158, 155, 151, 155, 155, 160, 147, 176, 204,
+  213, 221, 222, 225, 227, 224, 215, 192, 143, 94, 112, 103, 114, 108, 112, 114,
+  112, 119, 119, 121, 121, 119, 112, 127, 112, 121, 121, 129, 125, 125, 125, 129,
+  129, 133, 131, 141, 129, 105, 71, 41, 29, 46, 46, 29, 49, 32, 26, 26,
+  160, 158, 155, 158, 156, 153, 158, 160, 162, 158, 160, 158, 149, 156, 158, 164,
+  172, 171, 169, 164, 169, 172, 171, 164, 162, 162, 160, 151, 155, 135, 129, 119,
+  89, 84, 84, 86, 84, 86, 89, 86, 137, 91, 98, 89, 91, 105, 89, 98,
+  101, 98, 94, 96, 108, 117, 103, 114, 110, 123, 112, 117, 110, 121, 123, 119,
+  121, 117, 123, 125, 131, 127, 129, 129, 129, 123, 131, 131, 125, 125, 123, 125,
+  123, 129, 129, 131, 127, 125, 125, 127, 127, 125, 133, 131, 125, 121, 125, 125,
+  127, 133, 123, 127, 127, 125, 125, 129, 125, 123, 127, 125, 127, 123, 125, 125,
+  125, 125, 123, 121, 121, 125, 123, 125, 131, 127, 131, 133, 135, 127, 127, 127,
+  129, 129, 129, 125, 129, 127, 127, 129, 121, 127, 119, 119, 119, 121, 119, 125,
+  125, 123, 121, 125, 119, 117, 125, 123, 119, 117, 117, 121, 117, 119, 108, 108,
+  103, 117, 101, 96, 101, 103, 125, 135, 145, 153, 155, 158, 162, 160, 165, 162,
+  164, 165, 158, 164, 164, 165, 162, 167, 167, 167, 162, 153, 160, 156, 156, 156,
+  153, 156, 151, 155, 153, 153, 153, 155, 155, 153, 155, 153, 141, 147, 153, 190,
+  209, 216, 221, 224, 224, 225, 222, 210, 172, 108, 98, 103, 108, 114, 123, 121,
+  114, 117, 110, 121, 125, 121, 121, 117, 123, 114, 129, 127, 135, 133, 131, 127,
+  125, 131, 133, 131, 112, 55, 35, 20, 29, 29, 41, 32, 41, 32, 32, 38,
+  158, 160, 153, 162, 162, 156, 158, 160, 162, 155, 160, 162, 153, 160, 164, 167,
+  171, 167, 174, 167, 169, 169, 169, 156, 160, 162, 160, 155, 149, 137, 121, 108,
+  94, 79, 81, 84, 89, 79, 96, 96, 105, 101, 98, 94, 94, 98, 94, 94,
+  101, 94, 96, 98, 98, 105, 98, 105, 117, 114, 114, 121, 114, 110, 123, 121,
+  127, 125, 119, 129, 123, 139, 119, 125, 125, 121, 125, 125, 123, 121, 127, 125,
+  127, 127, 133, 125, 125, 129, 133, 127, 123, 125, 129, 129, 123, 125, 133, 131,
+  125, 129, 119, 129, 123, 127, 121, 123, 121, 127, 121, 117, 123, 123, 117, 123,
+  123, 123, 125, 127, 123, 127, 119, 123, 131, 125, 133, 129, 125, 133, 129, 125,
+  131, 125, 133, 133, 125, 127, 119, 125, 125, 131, 125, 125, 121, 123, 117, 121,
+  121, 127, 123, 125, 117, 121, 121, 123, 119, 117, 125, 117, 119, 112, 114, 105,
+  108, 105, 101, 103, 110, 119, 123, 131, 143, 149, 151, 160, 158, 164, 167, 167,
+  164, 171, 164, 156, 162, 164, 162, 160, 160, 164, 162, 158, 158, 164, 162, 155,
+  162, 158, 151, 149, 156, 153, 153, 153, 156, 153, 153, 151, 151, 147, 145, 172,
+  204, 213, 219, 224, 225, 225, 225, 218, 201, 158, 98, 98, 105, 112, 119, 123,
+  114, 123, 112, 119, 121, 119, 119, 119, 117, 117, 121, 129, 125, 123, 125, 125,
+  135, 137, 127, 108, 60, 79, 32, 26, 35, 38, 26, 29, 23, 35, 43, 41,
+  155, 153, 155, 156, 160, 156, 162, 162, 160, 156, 160, 155, 156, 164, 164, 165,
+  167, 169, 172, 171, 165, 164, 165, 162, 164, 164, 164, 149, 149, 137, 114, 101,
+  81, 71, 60, 71, 81, 86, 91, 98, 96, 101, 101, 96, 98, 94, 96, 91,
+  101, 91, 98, 101, 103, 101, 110, 105, 114, 121, 114, 121, 117, 119, 117, 123,
+  121, 129, 125, 129, 121, 125, 127, 127, 117, 125, 125, 117, 125, 127, 125, 125,
+  125, 127, 123, 119, 121, 127, 121, 117, 121, 127, 125, 119, 125, 135, 135, 129,
+  135, 125, 129, 121, 125, 123, 119, 119, 119, 123, 117, 123, 123, 127, 125, 125,
+  127, 114, 121, 121, 123, 123, 114, 125, 117, 121, 121, 131, 127, 123, 129, 125,
+  125, 125, 127, 133, 125, 127, 125, 125, 121, 125, 125, 123, 135, 121, 123, 127,
+  119, 125, 127, 121, 125, 125, 121, 121, 123, 123, 121, 117, 125, 127, 110, 101,
+  108, 101, 96, 98, 101, 108, 117, 125, 137, 143, 155, 158, 158, 164, 162, 162,
+  164, 164, 158, 162, 160, 158, 162, 164, 162, 164, 162, 162, 160, 158, 151, 155,
+  158, 153, 153, 155, 151, 155, 158, 155, 155, 155, 156, 153, 151, 151, 145, 147,
+  187, 212, 218, 222, 224, 227, 228, 225, 213, 189, 125, 101, 105, 108, 112, 114,
+  125, 121, 125, 114, 123, 121, 117, 117, 119, 129, 123, 117, 123, 127, 125, 129,
+  133, 135, 108, 71, 32, 32, 41, 18, 15, 29, 23, 26, 26, 41, 43, 26,
+  160, 158, 165, 160, 158, 156, 160, 160, 160, 158, 162, 162, 160, 167, 167, 172,
+  172, 172, 169, 169, 162, 160, 162, 162, 160, 164, 160, 155, 147, 137, 117, 105,
+  84, 76, 74, 76, 86, 84, 91, 89, 94, 101, 98, 94, 101, 98, 101, 89,
+  98, 91, 96, 101, 101, 105, 110, 110, 110, 123, 119, 112, 117, 125, 121, 123,
+  125, 119, 114, 121, 133, 125, 123, 123, 123, 123, 127, 125, 131, 127, 117, 131,
+  129, 125, 121, 127, 123, 123, 125, 129, 129, 123, 125, 121, 125, 127, 121, 131,
+  129, 139, 137, 123, 123, 119, 117, 119, 119, 114, 117, 119, 117, 123, 125, 123,
+  119, 123, 121, 119, 114, 123, 119, 127, 127, 123, 125, 123, 123, 129, 125, 131,
+  127, 129, 127, 127, 125, 127, 125, 119, 125, 121, 123, 127, 117, 121, 121, 121,
+  123, 119, 121, 121, 119, 125, 125, 121, 123, 117, 121, 123, 114, 117, 119, 114,
+  110, 103, 98, 103, 110, 117, 127, 133, 141, 143, 156, 156, 162, 162, 171, 165,
+  165, 162, 162, 160, 164, 158, 164, 156, 167, 158, 158, 158, 156, 156, 160, 156,
+  160, 156, 158, 155, 155, 160, 155, 153, 155, 155, 156, 153, 149, 153, 147, 145,
+  169, 203, 213, 222, 222, 224, 227, 227, 222, 206, 162, 96, 105, 110, 108, 112,
+  114, 119, 114, 123, 121, 117, 121, 121, 119, 119, 123, 121, 121, 125, 131, 135,
+  133, 108, 55, 20, 20, 35, 32, 23, 26, 26, 29, 26, 29, 46, 29, 43,
+  158, 160, 162, 158, 158, 160, 162, 167, 162, 160, 160, 165, 165, 171, 171, 172,
+  171, 169, 169, 169, 162, 162, 160, 160, 158, 165, 165, 158, 143, 135, 129, 110,
+  86, 86, 76, 76, 81, 91, 86, 94, 101, 96, 110, 91, 98, 96, 96, 94,
+  96, 94, 94, 91, 98, 101, 103, 110, 110, 112, 119, 121, 119, 125, 123, 117,
+  125, 121, 123, 123, 125, 129, 127, 121, 123, 123, 127, 125, 125, 127, 125, 123,
+  123, 125, 121, 125, 125, 127, 125, 121, 121, 127, 125, 119, 123, 117, 123, 129,
+  131, 123, 125, 125, 127, 123, 119, 117, 114, 112, 117, 112, 121, 119, 123, 125,
+  123, 125, 123, 123, 127, 121, 121, 121, 125, 129, 133, 125, 129, 129, 127, 131,
+  131, 123, 127, 127, 127, 121, 125, 123, 125, 129, 125, 125, 127, 123, 112, 127,
+  123, 117, 123, 121, 125, 129, 119, 123, 127, 131, 117, 119, 114, 110, 117, 112,
+  108, 110, 105, 101, 101, 112, 121, 131, 133, 147, 153, 153, 160, 160, 162, 167,
+  164, 164, 162, 156, 164, 156, 165, 160, 164, 158, 158, 160, 160, 158, 155, 156,
+  162, 156, 153, 155, 158, 165, 153, 160, 151, 153, 151, 155, 151, 151, 151, 143,
+  149, 185, 204, 216, 221, 222, 227, 227, 227, 218, 197, 131, 91, 114, 112, 119,
+  112, 114, 110, 123, 112, 110, 117, 121, 119, 121, 114, 127, 129, 133, 131, 129,
+  110, 55, 23, 29, 32, 29, 35, 20, 32, 20, 29, 38, 32, 32, 41, 46,
+  158, 158, 162, 156, 158, 160, 160, 158, 162, 165, 158, 164, 172, 176, 172, 171,
+  174, 171, 174, 167, 160, 160, 158, 158, 162, 162, 160, 158, 155, 139, 129, 101,
+  94, 79, 74, 84, 91, 84, 94, 91, 94, 105, 103, 105, 105, 108, 91, 94,
+  96, 86, 94, 96, 98, 103, 114, 105, 114, 110, 119, 117, 114, 114, 112, 117,
+  121, 121, 127, 117, 123, 127, 125, 125, 127, 119, 121, 127, 121, 127, 123, 121,
+  125, 123, 125, 129, 129, 127, 129, 129, 127, 125, 129, 125, 125, 119, 125, 123,
+  121, 127, 131, 121, 123, 131, 125, 117, 123, 114, 117, 119, 121, 117, 121, 123,
+  119, 114, 119, 121, 121, 117, 121, 119, 121, 125, 129, 123, 127, 129, 123, 121,
+  129, 125, 131, 125, 129, 119, 119, 123, 127, 123, 123, 121, 127, 125, 112, 123,
+  119, 119, 123, 121, 123, 121, 121, 127, 119, 125, 114, 112, 117, 112, 112, 105,
+  101, 101, 98, 101, 96, 114, 131, 127, 133, 145, 147, 153, 158, 160, 162, 164,
+  164, 165, 164, 162, 164, 160, 164, 162, 160, 165, 160, 160, 160, 162, 160, 158,
+  156, 156, 160, 158, 160, 158, 160, 158, 156, 158, 158, 156, 158, 153, 147, 145,
+  143, 153, 190, 209, 215, 222, 225, 228, 230, 227, 213, 193, 131, 101, 94, 108,
+  114, 121, 114, 117, 114, 127, 125, 121, 125, 117, 123, 127, 127, 131, 135, 117,
+  74, 23, 35, 15, 49, 32, 29, 23, 29, 32, 41, 35, 32, 29, 35, 46,
+  164, 164, 160, 158, 164, 165, 162, 162, 164, 162, 165, 169, 171, 167, 171, 171,
+  171, 169, 174, 164, 164, 162, 160, 160, 164, 162, 164, 155, 147, 129, 117, 103,
+  84, 66, 86, 89, 81, 89, 84, 96, 94, 98, 96, 103, 91, 96, 96, 94,
+  94, 96, 94, 94, 105, 103, 98, 110, 105, 108, 119, 119, 119, 123, 112, 127,
+  123, 123, 125, 127, 123, 123, 125, 125, 121, 127, 123, 121, 119, 121, 121, 129,
+  129, 129, 121, 119, 123, 127, 129, 129, 119, 125, 125, 125, 119, 127, 123, 125,
+  127, 125, 133, 123, 119, 117, 119, 114, 119, 123, 117, 110, 119, 121, 121, 121,
+  119, 129, 119, 117, 112, 123, 117, 121, 117, 121, 127, 123, 127, 131, 127, 125,
+  125, 131, 131, 127, 123, 131, 117, 121, 127, 125, 121, 123, 125, 125, 117, 123,
+  119, 125, 117, 119, 125, 121, 127, 123, 123, 123, 119, 117, 119, 112, 117, 110,
+  110, 112, 105, 101, 108, 112, 121, 125, 131, 139, 145, 155, 151, 156, 160, 160,
+  156, 167, 162, 162, 164, 160, 162, 158, 164, 162, 160, 160, 160, 164, 156, 158,
+  158, 158, 156, 158, 156, 156, 155, 158, 156, 153, 156, 156, 155, 147, 153, 145,
+  143, 143, 177, 209, 215, 222, 224, 228, 228, 228, 219, 203, 147, 103, 98, 101,
+  96, 110, 114, 114, 114, 119, 121, 121, 119, 129, 123, 131, 129, 127, 110, 60,
+  26, 20, 23, 23, 26, 46, 35, 32, 46, 20, 32, 29, 41, 38, 49, 35,
+  160, 160, 158, 164, 160, 158, 165, 165, 169, 167, 167, 172, 169, 169, 171, 174,
+  167, 171, 164, 162, 156, 156, 160, 162, 164, 162, 160, 156, 147, 131, 129, 96,
+  89, 79, 71, 76, 96, 89, 91, 89, 86, 98, 98, 96, 96, 94, 96, 91,
+  91, 103, 101, 98, 103, 103, 114, 101, 114, 110, 114, 114, 114, 110, 121, 117,
+  117, 121, 121, 123, 123, 119, 121, 125, 123, 117, 117, 119, 117, 123, 129, 123,
+  114, 117, 123, 123, 125, 119, 117, 121, 117, 127, 129, 123, 121, 123, 117, 127,
+  121, 123, 123, 125, 114, 121, 114, 123, 127, 121, 119, 121, 123, 123, 121, 123,
+  123, 123, 121, 114, 123, 119, 110, 121, 117, 117, 125, 127, 127, 125, 129, 125,
+  129, 127, 131, 123, 125, 123, 119, 121, 125, 119, 119, 119, 121, 123, 117, 114,
+  117, 121, 121, 123, 117, 119, 121, 121, 125, 114, 121, 119, 110, 110, 114, 108,
+  112, 110, 101, 101, 105, 114, 117, 129, 135, 137, 143, 149, 158, 156, 156, 153,
+  158, 164, 162, 160, 160, 162, 162, 162, 162, 158, 158, 155, 158, 160, 156, 164,
+  158, 158, 158, 153, 156, 158, 153, 158, 158, 155, 151, 151, 151, 153, 155, 141,
+  143, 145, 149, 193, 210, 219, 225, 228, 227, 228, 227, 212, 189, 127, 94, 98,
+  103, 112, 108, 108, 117, 119, 121, 129, 127, 127, 121, 133, 123, 101, 60, 18,
+  23, 23, 35, 35, 43, 46, 43, 43, 35, 32, 29, 32, 35, 49, 41, 32,
+  160, 164, 167, 160, 164, 160, 160, 164, 167, 165, 167, 171, 171, 167, 171, 165,
+  165, 167, 165, 165, 158, 158, 165, 164, 164, 162, 165, 153, 141, 139, 119, 105,
+  81, 63, 79, 76, 76, 81, 91, 91, 103, 94, 94, 96, 96, 91, 98, 96,
+  96, 96, 89, 96, 98, 103, 103, 110, 105, 112, 121, 114, 112, 110, 114, 121,
+  117, 117, 121, 123, 119, 121, 121, 123, 119, 119, 117, 121, 125, 117, 119, 125,
+  125, 119, 127, 125, 121, 121, 125, 125, 125, 117, 121, 121, 129, 119, 114, 121,
+  127, 123, 123, 119, 117, 119, 121, 119, 117, 119, 112, 117, 119, 110, 119, 121,
+  123, 119, 119, 112, 112, 112, 121, 114, 121, 121, 121, 119, 119, 121, 127, 127,
+  133, 123, 129, 125, 123, 125, 127, 125, 123, 121, 123, 119, 123, 121, 119, 123,
+  123, 119, 119, 119, 123, 121, 117, 121, 125, 119, 119, 112, 117, 112, 127, 125,
+  114, 105, 96, 96, 101, 105, 121, 121, 133, 139, 143, 149, 151, 155, 155, 158,
+  158, 162, 156, 160, 158, 162, 156, 160, 155, 164, 156, 156, 158, 156, 153, 155,
+  155, 160, 156, 158, 155, 155, 153, 155, 160, 155, 153, 155, 156, 147, 147, 143,
+  143, 137, 141, 167, 204, 216, 222, 227, 227, 228, 230, 224, 210, 165, 98, 91,
+  101, 105, 108, 110, 108, 117, 114, 123, 121, 133, 135, 125, 105, 66, 23, 32,
+  29, 20, 23, 32, 29, 35, 43, 55, 46, 41, 38, 32, 35, 23, 29, 38,
+  167, 171, 167, 158, 164, 167, 162, 164, 169, 167, 174, 167, 167, 165, 162, 165,
+  167, 169, 165, 156, 160, 160, 164, 164, 164, 164, 158, 155, 145, 131, 117, 91,
+  84, 71, 66, 81, 81, 96, 101, 96, 98, 94, 91, 91, 94, 98, 94, 91,
+  91, 98, 105, 98, 96, 114, 110, 112, 105, 117, 114, 121, 119, 123, 117, 119,
+  123, 112, 117, 123, 125, 119, 121, 121, 121, 119, 114, 117, 117, 114, 121, 114,
+  127, 127, 123, 117, 119, 129, 117, 121, 119, 119, 129, 121, 129, 125, 123, 119,
+  127, 129, 119, 121, 119, 119, 121, 117, 129, 108, 114, 112, 119, 123, 110, 112,
+  117, 117, 119, 117, 110, 114, 121, 114, 119, 112, 121, 123, 121, 125, 129, 125,
+  131, 125, 123, 125, 123, 119, 119, 123, 123, 123, 119, 123, 121, 114, 123, 123,
+  125, 123, 121, 125, 121, 117, 121, 125, 121, 119, 117, 110, 117, 108, 114, 114,
+  105, 110, 110, 98, 101, 103, 121, 123, 129, 135, 143, 147, 149, 149, 153, 153,
+  153, 164, 156, 165, 158, 155, 162, 155, 158, 151, 158, 155, 160, 156, 151, 153,
+  156, 158, 158, 158, 158, 155, 160, 153, 151, 155, 155, 151, 151, 149, 143, 147,
+  143, 145, 141, 149, 190, 212, 221, 225, 227, 227, 230, 227, 218, 201, 137, 94,
+  103, 114, 103, 108, 108, 114, 119, 123, 125, 127, 129, 108, 63, 32, 18, 32,
+  20, 26, 26, 26, 32, 38, 32, 29, 35, 35, 32, 26, 41, 26, 29, 29,
+  162, 158, 164, 160, 156, 160, 164, 169, 172, 174, 171, 165, 162, 169, 158, 160,
+  160, 160, 160, 165, 164, 158, 164, 162, 160, 164, 162, 153, 141, 133, 121, 96,
+  81, 76, 66, 79, 74, 91, 94, 91, 94, 101, 94, 94, 96, 101, 86, 105,
+  91, 101, 98, 94, 96, 103, 103, 110, 105, 114, 117, 112, 114, 117, 119, 125,
+  119, 112, 117, 125, 114, 125, 127, 117, 117, 119, 123, 121, 121, 121, 131, 127,
+  117, 117, 119, 125, 117, 125, 121, 123, 125, 121, 121, 125, 121, 119, 119, 127,
+  125, 125, 121, 119, 119, 121, 131, 123, 117, 117, 123, 121, 119, 121, 112, 114,
+  114, 117, 112, 114, 110, 114, 112, 112, 114, 112, 121, 125, 125, 121, 129, 127,
+  127, 131, 125, 123, 117, 125, 125, 123, 114, 121, 129, 137, 119, 121, 129, 129,
+  121, 123, 121, 117, 119, 125, 127, 125, 121, 123, 117, 117, 110, 117, 108, 112,
+  110, 119, 103, 103, 105, 108, 112, 114, 133, 129, 141, 143, 147, 149, 151, 155,
+  153, 151, 155, 160, 162, 155, 158, 158, 153, 156, 158, 155, 153, 155, 156, 155,
+  155, 155, 156, 155, 156, 158, 156, 153, 153, 147, 155, 147, 149, 153, 141, 147,
+  145, 137, 139, 141, 169, 204, 216, 224, 227, 228, 228, 230, 224, 210, 171, 105,
+  98, 105, 98, 103, 105, 103, 110, 119, 133, 129, 108, 74, 26, 23, 20, 20,
+  32, 23, 35, 46, 41, 49, 41, 38, 35, 29, 38, 32, 32, 26, 29, 15,
+  164, 164, 165, 167, 162, 164, 164, 172, 177, 172, 169, 160, 158, 162, 156, 156,
+  155, 156, 156, 164, 165, 164, 158, 160, 165, 164, 164, 153, 149, 127, 119, 98,
+  89, 74, 79, 79, 79, 91, 94, 89, 98, 91, 101, 94, 91, 98, 98, 96,
+  96, 101, 94, 91, 103, 96, 101, 108, 110, 114, 114, 117, 117, 123, 127, 117,
+  125, 119, 123, 117, 117, 119, 119, 119, 117, 121, 121, 119, 119, 123, 125, 121,
+  123, 117, 121, 121, 121, 123, 121, 127, 123, 125, 125, 125, 121, 123, 121, 119,
+  125, 129, 119, 125, 117, 121, 127, 125, 127, 121, 117, 117, 114, 114, 123, 127,
+  147, 127, 143, 119, 125, 114, 112, 112, 114, 112, 112, 123, 114, 112, 119, 123,
+  119, 119, 117, 127, 125, 125, 125, 121, 117, 123, 127, 127, 123, 119, 125, 121,
+  121, 123, 129, 121, 123, 119, 121, 119, 127, 117, 117, 119, 108, 119, 103, 112,
+  114, 110, 105, 98, 103, 103, 105, 123, 131, 137, 135, 143, 143, 147, 149, 153,
+  153, 153, 158, 156, 158, 162, 158, 155, 153, 158, 153, 153, 156, 155, 160, 156,
+  158, 155, 153, 156, 158, 153, 151, 155, 151, 147, 143, 145, 145, 141, 145, 145,
+  145, 141, 141, 145, 147, 189, 212, 218, 222, 228, 227, 230, 228, 218, 204, 139,
+  94, 96, 103, 105, 110, 108, 119, 119, 129, 103, 66, 35, 23, 20, 32, 20,
+  35, 38, 41, 46, 46, 49, 38, 43, 38, 35, 38, 23, 20, 29, 32, 20,
+  167, 160, 167, 165, 162, 164, 167, 171, 169, 167, 169, 155, 155, 156, 153, 153,
+  153, 153, 160, 164, 169, 167, 164, 158, 165, 162, 160, 155, 151, 139, 119, 96,
+  79, 76, 71, 86, 76, 81, 96, 103, 96, 103, 96, 94, 98, 89, 98, 94,
+  96, 96, 96, 94, 114, 108, 114, 112, 108, 121, 112, 117, 114, 123, 117, 117,
+  112, 114, 117, 117, 119, 114, 119, 117, 114, 123, 123, 123, 119, 119, 121, 121,
+  125, 125, 121, 121, 123, 149, 123, 127, 123, 125, 125, 119, 127, 119, 129, 114,
+  123, 139, 125, 114, 125, 117, 121, 123, 129, 143, 141, 139, 133, 164, 153, 197,
+  164, 197, 171, 189, 176, 195, 171, 179, 139, 125, 110, 114, 110, 114, 114, 121,
+  114, 125, 119, 121, 119, 119, 112, 121, 119, 131, 129, 121, 123, 119, 123, 121,
+  121, 121, 119, 121, 119, 127, 121, 121, 117, 119, 121, 112, 112, 110, 112, 103,
+  117, 101, 108, 101, 103, 119, 112, 125, 129, 133, 139, 141, 143, 149, 143, 151,
+  151, 153, 155, 156, 156, 160, 158, 158, 155, 155, 151, 153, 158, 153, 158, 155,
+  156, 158, 153, 156, 149, 155, 149, 149, 147, 147, 153, 145, 143, 141, 143, 143,
+  135, 145, 145, 143, 139, 160, 200, 213, 221, 227, 227, 230, 230, 225, 213, 181,
+  108, 98, 103, 105, 114, 114, 127, 123, 101, 79, 29, 23, 26, 38, 26, 23,
+  29, 32, 38, 49, 43, 43, 41, 43, 55, 20, 35, 43, 26, 29, 35, 26,
+  165, 164, 164, 160, 162, 165, 172, 174, 176, 167, 162, 153, 149, 147, 149, 153,
+  147, 155, 164, 167, 165, 167, 165, 158, 167, 165, 164, 155, 153, 133, 127, 101,
+  81, 79, 68, 84, 84, 76, 81, 89, 94, 98, 98, 98, 94, 98, 103, 94,
+  91, 94, 96, 96, 110, 108, 103, 103, 103, 112, 117, 117, 119, 119, 117, 119,
+  121, 121, 119, 123, 123, 121, 112, 121, 117, 121, 125, 125, 123, 129, 121, 117,
+  121, 121, 119, 121, 121, 121, 117, 127, 123, 131, 119, 117, 117, 123, 121, 121,
+  121, 121, 125, 127, 129, 117, 162, 133, 162, 149, 147, 160, 171, 177, 179, 182,
+  185, 189, 177, 190, 195, 187, 201, 182, 207, 195, 172, 171, 127, 119, 112, 114,
+  112, 119, 114, 123, 123, 119, 125, 125, 121, 131, 131, 123, 129, 127, 129, 119,
+  123, 114, 123, 121, 121, 129, 121, 117, 127, 119, 117, 112, 117, 114, 103, 105,
+  110, 108, 108, 101, 101, 105, 114, 117, 123, 131, 143, 141, 143, 147, 147, 145,
+  153, 147, 156, 158, 160, 156, 155, 155, 155, 155, 153, 153, 153, 156, 155, 156,
+  156, 160, 155, 151, 151, 155, 151, 147, 145, 141, 155, 147, 147, 147, 147, 141,
+  145, 149, 143, 141, 141, 143, 181, 209, 216, 224, 227, 228, 230, 228, 221, 206,
+  156, 101, 103, 108, 110, 123, 121, 108, 68, 20, 32, 18, 23, 29, 23, 29,
+  38, 49, 35, 49, 43, 46, 43, 35, 41, 29, 20, 29, 29, 20, 26, 32,
+  164, 165, 160, 162, 160, 169, 172, 177, 171, 164, 160, 151, 145, 143, 141, 145,
+  141, 153, 162, 165, 167, 160, 165, 162, 167, 167, 162, 158, 149, 129, 123, 103,
+  76, 66, 84, 81, 84, 89, 89, 86, 91, 98, 98, 96, 94, 96, 96, 98,
+  94, 94, 94, 103, 103, 108, 105, 101, 110, 114, 117, 119, 117, 112, 121, 117,
+  129, 119, 119, 121, 119, 129, 119, 123, 123, 123, 123, 131, 121, 125, 119, 123,
+  125, 121, 119, 112, 117, 119, 129, 121, 141, 123, 119, 133, 117, 117, 119, 110,
+  117, 129, 155, 158, 153, 162, 169, 160, 155, 147, 167, 172, 187, 165, 189, 174,
+  190, 184, 198, 177, 197, 187, 190, 198, 176, 197, 200, 203, 201, 182, 155, 131,
+  112, 108, 103, 119, 112, 119, 119, 117, 123, 131, 129, 127, 125, 125, 133, 121,
+  123, 119, 117, 119, 117, 114, 119, 121, 119, 121, 114, 110, 110, 114, 117, 103,
+  108, 103, 105, 98, 101, 108, 114, 119, 127, 141, 139, 141, 145, 141, 143, 143,
+  145, 151, 145, 149, 153, 156, 155, 155, 153, 156, 156, 155, 155, 155, 160, 151,
+  158, 156, 149, 155, 156, 145, 143, 151, 141, 143, 141, 143, 139, 147, 141, 141,
+  143, 141, 141, 141, 141, 149, 153, 195, 212, 221, 224, 228, 228, 233, 228, 216,
+  192, 131, 103, 117, 129, 129, 98, 57, 29, 15, 23, 23, 26, 23, 29, 29,
+  41, 32, 41, 41, 43, 49, 43, 43, 23, 32, 20, 23, 26, 29, 29, 29,
+  162, 162, 158, 165, 158, 171, 174, 174, 167, 160, 155, 143, 141, 135, 145, 131,
+  147, 153, 164, 165, 169, 164, 165, 162, 167, 164, 167, 153, 147, 133, 119, 101,
+  86, 74, 71, 76, 86, 76, 91, 94, 89, 96, 101, 96, 96, 108, 91, 86,
+  96, 94, 84, 91, 101, 98, 108, 110, 112, 112, 112, 121, 110, 117, 114, 119,
+  123, 125, 125, 114, 119, 121, 114, 129, 119, 125, 123, 127, 121, 127, 125, 131,
+  125, 123, 114, 117, 119, 121, 119, 125, 123, 123, 121, 123, 121, 117, 117, 141,
+  143, 151, 165, 164, 156, 139, 155, 162, 151, 158, 182, 169, 193, 169, 184, 172,
+  195, 181, 197, 184, 197, 193, 169, 187, 187, 203, 185, 197, 201, 203, 203, 198,
+  189, 147, 117, 110, 114, 110, 114, 110, 123, 123, 123, 119, 117, 125, 125, 114,
+  121, 125, 127, 127, 114, 117, 121, 117, 117, 108, 112, 114, 110, 121, 114, 105,
+  108, 108, 103, 103, 98, 101, 117, 123, 131, 139, 137, 156, 141, 143, 141, 147,
+  143, 153, 145, 155, 151, 156, 151, 156, 156, 151, 153, 151, 158, 153, 153, 153,
+  151, 153, 147, 153, 143, 147, 143, 145, 149, 137, 137, 141, 145, 141, 141, 149,
+  141, 147, 145, 143, 145, 143, 147, 172, 203, 215, 222, 227, 228, 233, 233, 225,
+  212, 174, 117, 112, 117, 114, 63, 32, 23, 20, 29, 29, 26, 32, 20, 23,
+  38, 41, 32, 46, 41, 38, 41, 35, 29, 26, 35, 29, 23, 32, 20, 26,
+  160, 162, 160, 164, 169, 169, 174, 169, 162, 156, 147, 143, 125, 121, 129, 135,
+  143, 156, 160, 165, 167, 167, 165, 165, 164, 164, 162, 160, 143, 135, 114, 103,
+  84, 66, 79, 71, 89, 81, 96, 96, 91, 101, 96, 81, 94, 101, 94, 89,
+  103, 91, 96, 101, 103, 105, 119, 112, 108, 117, 112, 123, 117, 119, 112, 117,
+  114, 123, 127, 119, 121, 114, 121, 123, 125, 141, 121, 121, 123, 125, 125, 110,
+  121, 117, 123, 112, 123, 121, 114, 123, 121, 117, 119, 121, 117, 129, 141, 158,
+  139, 145, 151, 169, 139, 141, 139, 155, 153, 162, 156, 182, 167, 167, 181, 176,
+  187, 182, 189, 198, 184, 189, 176, 193, 174, 195, 198, 184, 198, 206, 189, 201,
+  203, 203, 192, 135, 110, 110, 105, 110, 110, 123, 121, 125, 119, 119, 123, 127,
+  119, 121, 117, 123, 121, 119, 119, 110, 117, 114, 114, 112, 112, 103, 112, 105,
+  105, 112, 105, 98, 96, 101, 119, 119, 133, 137, 141, 143, 147, 141, 145, 143,
+  149, 145, 149, 149, 155, 155, 156, 160, 156, 156, 149, 151, 153, 149, 151, 147,
+  143, 151, 149, 147, 147, 147, 139, 141, 149, 149, 139, 141, 139, 135, 137, 141,
+  145, 139, 141, 143, 141, 141, 135, 137, 187, 210, 221, 227, 228, 228, 233, 233,
+  224, 207, 151, 121, 108, 68, 29, 15, 35, 26, 29, 41, 32, 41, 29, 46,
+  43, 43, 32, 29, 43, 35, 38, 18, 38, 35, 29, 35, 29, 26, 32, 29,
+  162, 165, 160, 164, 171, 176, 172, 167, 158, 153, 143, 131, 121, 119, 121, 137,
+  147, 156, 162, 169, 171, 167, 165, 169, 169, 167, 164, 164, 143, 133, 125, 98,
+  81, 66, 63, 74, 76, 81, 86, 84, 98, 91, 101, 94, 91, 103, 98, 96,
+  98, 94, 98, 91, 98, 103, 119, 108, 114, 112, 114, 114, 119, 110, 123, 112,
+  119, 119, 117, 117, 121, 123, 125, 119, 121, 114, 125, 117, 125, 127, 125, 121,
+  123, 121, 119, 125, 125, 119, 121, 123, 127, 129, 137, 133, 125, 141, 156, 151,
+  137, 149, 162, 147, 156, 153, 156, 151, 141, 164, 151, 165, 164, 182, 160, 184,
+  156, 192, 189, 195, 179, 200, 182, 177, 197, 182, 193, 198, 179, 198, 206, 193,
+  200, 210, 210, 201, 177, 123, 103, 108, 117, 112, 121, 121, 119, 123, 125, 114,
+  123, 119, 114, 121, 119, 117, 112, 117, 117, 117, 117, 110, 112, 110, 108, 103,
+  110, 98, 108, 101, 108, 101, 119, 121, 135, 137, 139, 141, 145, 147, 139, 143,
+  147, 149, 149, 149, 151, 149, 153, 151, 156, 155, 153, 149, 147, 149, 147, 151,
+  139, 153, 147, 147, 141, 145, 141, 145, 143, 141, 145, 133, 141, 137, 137, 141,
+  139, 143, 141, 141, 139, 139, 137, 139, 155, 201, 216, 225, 227, 230, 231, 233,
+  231, 219, 190, 121, 71, 20, 20, 20, 23, 15, 41, 23, 32, 43, 35, 35,
+  35, 38, 38, 41, 35, 29, 23, 46, 41, 35, 29, 20, 41, 20, 29, 26,
+  162, 165, 167, 164, 169, 177, 172, 164, 156, 153, 141, 119, 112, 112, 117, 137,
+  153, 156, 162, 165, 167, 171, 164, 165, 167, 167, 160, 155, 151, 129, 121, 96,
+  76, 60, 63, 74, 76, 89, 81, 81, 86, 84, 91, 98, 91, 96, 96, 89,
+  81, 98, 103, 94, 96, 103, 105, 114, 108, 119, 112, 117, 117, 112, 112, 119,
+  119, 110, 121, 127, 114, 125, 119, 121, 121, 123, 121, 117, 123, 123, 117, 125,
+  117, 108, 112, 117, 112, 139, 156, 151, 153, 141, 123, 110, 123, 129, 147, 143,
+  149, 158, 145, 155, 147, 147, 169, 147, 158, 162, 155, 174, 149, 172, 177, 177,
+  176, 169, 190, 185, 184, 181, 195, 179, 192, 201, 184, 198, 204, 187, 201, 204,
+  204, 204, 201, 210, 204, 201, 141, 108, 103, 110, 121, 117, 121, 121, 125, 114,
+  112, 112, 119, 119, 119, 121, 117, 117, 117, 110, 110, 105, 101, 103, 103, 98,
+  103, 98, 96, 101, 103, 110, 110, 123, 125, 131, 145, 147, 145, 139, 141, 143,
+  143, 151, 145, 151, 147, 145, 151, 153, 149, 155, 153, 149, 145, 149, 153, 149,
+  141, 143, 147, 143, 151, 143, 139, 137, 147, 141, 143, 141, 139, 139, 131, 137,
+  139, 135, 141, 135, 139, 137, 137, 135, 135, 177, 210, 219, 225, 228, 230, 231,
+  233, 228, 212, 135, 23, 26, 23, 15, 38, 26, 38, 23, 41, 43, 32, 43,
+  46, 32, 55, 49, 35, 38, 26, 29, 49, 38, 26, 32, 20, 32, 26, 23,
+  160, 169, 172, 172, 172, 171, 165, 156, 151, 139, 121, 105, 101, 105, 121, 133,
+  151, 158, 164, 172, 165, 171, 169, 167, 162, 167, 162, 160, 149, 139, 125, 98,
+  74, 63, 71, 76, 94, 84, 89, 94, 101, 89, 96, 89, 89, 96, 89, 94,
+  89, 101, 98, 103, 98, 98, 105, 105, 114, 123, 108, 114, 112, 119, 110, 110,
+  108, 112, 125, 114, 121, 117, 119, 121, 117, 125, 119, 123, 119, 119, 114, 117,
+  114, 112, 181, 158, 153, 160, 153, 147, 127, 129, 119, 121, 119, 121, 127, 141,
+  145, 139, 139, 133, 141, 143, 162, 149, 158, 155, 164, 153, 172, 151, 185, 177,
+  181, 177, 184, 162, 184, 189, 184, 195, 179, 198, 201, 189, 197, 200, 200, 197,
+  206, 210, 198, 201, 206, 210, 204, 174, 110, 103, 121, 105, 117, 112, 112, 119,
+  112, 121, 121, 123, 117, 114, 114, 112, 119, 108, 105, 105, 103, 112, 105, 105,
+  96, 98, 91, 89, 98, 103, 108, 121, 125, 141, 139, 143, 143, 147, 137, 143,
+  141, 143, 147, 145, 145, 149, 156, 158, 149, 155, 151, 149, 151, 143, 147, 141,
+  143, 143, 145, 147, 145, 151, 141, 145, 139, 139, 141, 141, 139, 133, 141, 139,
+  135, 139, 139, 141, 143, 145, 139, 139, 137, 147, 200, 212, 224, 225, 228, 233,
+  236, 231, 221, 105, 12, 23, 20, 18, 29, 32, 41, 20, 41, 35, 32, 29,
+  35, 41, 38, 29, 26, 32, 35, 81, 41, 41, 32, 46, 46, 29, 46, 35,
+  162, 165, 174, 174, 174, 167, 158, 149, 145, 129, 108, 89, 89, 108, 125, 139,
+  153, 160, 165, 169, 167, 164, 169, 165, 167, 167, 165, 158, 147, 131, 121, 105,
+  74, 71, 63, 66, 84, 74, 89, 84, 86, 91, 91, 76, 86, 86, 91, 91,
+  96, 89, 94, 96, 105, 112, 101, 112, 108, 112, 103, 121, 114, 117, 112, 110,
+  114, 112, 114, 112, 117, 121, 114, 117, 114, 119, 121, 119, 117, 123, 112, 121,
+  119, 123, 129, 147, 141, 137, 135, 117, 125, 117, 114, 117, 121, 127, 137, 147,
+  137, 135, 121, 139, 139, 137, 145, 145, 155, 165, 171, 149, 167, 171, 174, 177,
+  171, 162, 189, 184, 179, 192, 177, 190, 200, 193, 185, 203, 193, 185, 207, 203,
+  189, 203, 209, 203, 203, 204, 215, 207, 195, 149, 114, 114, 105, 105, 117, 114,
+  114, 112, 119, 114, 117, 114, 112, 114, 114, 114, 110, 105, 103, 103, 94, 101,
+  108, 91, 91, 89, 96, 108, 112, 123, 133, 133, 141, 145, 145, 145, 143, 145,
+  141, 145, 147, 151, 147, 145, 149, 151, 145, 153, 153, 147, 147, 145, 143, 139,
+  137, 145, 145, 145, 143, 151, 145, 139, 139, 135, 145, 143, 141, 137, 139, 141,
+  139, 143, 143, 139, 143, 143, 137, 141, 143, 139, 172, 203, 219, 225, 231, 233,
+  234, 233, 204, 32, 18, 23, 26, 32, 20, 32, 35, 41, 43, 35, 32, 38,
+  38, 38, 29, 26, 29, 35, 46, 26, 29, 29, 23, 26, 26, 23, 46, 46,
+  169, 171, 177, 176, 171, 164, 160, 149, 139, 112, 94, 74, 74, 105, 121, 139,
+  153, 164, 167, 167, 172, 165, 167, 165, 164, 167, 169, 158, 151, 141, 119, 98,
+  86, 71, 60, 60, 63, 74, 89, 91, 89, 91, 79, 84, 91, 91, 89, 94,
+  91, 96, 98, 96, 101, 103, 91, 101, 114, 108, 112, 103, 105, 112, 112, 108,
+  119, 112, 117, 117, 110, 114, 121, 119, 117, 114, 117, 114, 117, 112, 114, 181,
+  139, 105, 125, 121, 121, 125, 121, 114, 117, 119, 125, 117, 139, 131, 145, 137,
+  131, 137, 133, 145, 135, 151, 141, 149, 153, 155, 141, 162, 167, 167, 169, 153,
+  174, 155, 182, 193, 172, 181, 193, 201, 198, 200, 192, 185, 200, 203, 192, 198,
+  209, 193, 197, 203, 209, 201, 200, 204, 212, 206, 172, 108, 103, 103, 108, 108,
+  112, 112, 114, 112, 108, 117, 110, 108, 112, 108, 114, 112, 103, 110, 103, 105,
+  96, 103, 94, 91, 101, 103, 110, 123, 129, 131, 141, 147, 147, 143, 143, 145,
+  141, 145, 143, 143, 145, 141, 147, 145, 147, 153, 149, 153, 149, 139, 137, 145,
+  139, 137, 139, 147, 143, 143, 141, 143, 143, 147, 141, 141, 139, 135, 137, 139,
+  135, 141, 147, 143, 145, 153, 145, 137, 145, 137, 145, 184, 213, 224, 231, 233,
+  230, 215, 121, 12, 26, 12, 15, 23, 41, 23, 38, 38, 38, 29, 29, 52,
+  38, 32, 29, 26, 26, 35, 41, 46, 32, 20, 29, 32, 32, 43, 41, 32,
+  171, 174, 181, 171, 167, 162, 155, 145, 129, 110, 84, 68, 74, 98, 127, 141,
+  149, 165, 169, 167, 171, 165, 171, 162, 164, 167, 160, 155, 147, 135, 119, 105,
+  74, 63, 55, 74, 74, 81, 81, 86, 84, 89, 91, 86, 84, 91, 89, 105,
+  91, 89, 108, 96, 89, 94, 94, 101, 101, 110, 112, 108, 123, 105, 103, 114,
+  114, 117, 117, 123, 117, 114, 112, 112, 123, 121, 125, 114, 114, 119, 139, 174,
+  79, 98, 121, 123, 121, 108, 121, 112, 123, 121, 117, 121, 125, 139, 133, 129,
+  139, 127, 135, 137, 141, 131, 141, 139, 131, 156, 149, 160, 158, 158, 160, 160,
+  172, 197, 174, 171, 197, 181, 197, 201, 187, 197, 201, 200, 185, 206, 204, 185,
+  192, 204, 206, 198, 206, 207, 207, 204, 203, 203, 206, 198, 129, 101, 103, 103,
+  110, 112, 108, 108, 114, 108, 108, 112, 110, 112, 108, 105, 103, 96, 98, 101,
+  101, 101, 91, 91, 91, 98, 108, 125, 133, 135, 143, 147, 151, 155, 149, 143,
+  147, 141, 147, 151, 143, 143, 145, 143, 149, 145, 149, 153, 153, 145, 145, 139,
+  135, 141, 137, 139, 145, 143, 147, 141, 137, 143, 141, 141, 141, 139, 139, 139,
+  135, 143, 143, 143, 143, 147, 141, 139, 145, 147, 143, 151, 209, 219, 230, 228,
+  216, 158, 29, 32, 18, 29, 26, 20, 29, 23, 43, 52, 35, 52, 43, 46,
+  43, 26, 32, 32, 35, 41, 35, 20, 23, 32, 32, 29, 38, 49, 29, 12,
+  171, 169, 174, 167, 165, 153, 149, 137, 123, 103, 63, 55, 71, 103, 127, 139,
+  151, 169, 164, 176, 172, 167, 169, 169, 167, 167, 162, 151, 143, 125, 119, 101,
+  71, 68, 49, 74, 71, 81, 86, 86, 81, 96, 98, 89, 89, 94, 96, 89,
+  96, 94, 91, 91, 91, 103, 101, 103, 108, 112, 105, 108, 105, 108, 110, 108,
+  114, 117, 114, 119, 114, 114, 117, 117, 117, 121, 117, 114, 114, 117, 149, 131,
+  84, 103, 112, 110, 123, 112, 119, 121, 133, 121, 114, 112, 123, 133, 133, 139,
+  131, 123, 141, 129, 139, 139, 143, 129, 141, 151, 155, 153, 139, 169, 147, 181,
+  174, 174, 193, 181, 174, 195, 185, 182, 197, 197, 190, 193, 204, 190, 195, 204,
+  200, 193, 203, 207, 203, 200, 209, 209, 203, 203, 204, 209, 207, 176, 108, 91,
+  101, 101, 91, 101, 112, 110, 101, 110, 110, 103, 105, 110, 108, 103, 108, 98,
+  103, 98, 103, 101, 96, 101, 108, 121, 131, 139, 149, 149, 151, 153, 147, 149,
+  145, 147, 141, 149, 137, 149, 137, 139, 135, 139, 145, 151, 145, 143, 147, 143,
+  137, 141, 137, 143, 139, 145, 141, 139, 139, 145, 137, 143, 141, 141, 135, 137,
+  143, 143, 139, 149, 143, 145, 147, 149, 143, 149, 151, 143, 177, 212, 224, 212,
+  160, 29, 18, 26, 32, 20, 29, 26, 23, 41, 32, 32, 41, 41, 38, 46,
+  23, 29, 26, 35, 41, 35, 29, 26, 23, 23, 38, 41, 55, 55, 18, 6,
+  171, 172, 176, 167, 160, 151, 141, 125, 110, 71, 60, 57, 76, 108, 127, 137,
+  145, 162, 167, 169, 171, 165, 165, 171, 169, 171, 164, 156, 137, 135, 119, 101,
+  63, 68, 43, 63, 71, 68, 89, 86, 91, 103, 101, 101, 89, 94, 89, 89,
+  91, 91, 98, 98, 101, 98, 94, 108, 110, 108, 101, 105, 112, 112, 110, 112,
+  119, 114, 112, 112, 119, 117, 123, 123, 121, 121, 114, 114, 119, 133, 108, 98,
+  110, 101, 110, 114, 119, 110, 110, 127, 114, 121, 114, 117, 129, 135, 137, 141,
+  123, 135, 129, 127, 147, 127, 139, 131, 145, 139, 117, 153, 153, 164, 169, 162,
+  182, 177, 177, 198, 174, 177, 200, 184, 169, 201, 197, 181, 197, 201, 200, 193,
+  209, 204, 193, 206, 209, 212, 206, 203, 207, 209, 207, 209, 212, 210, 185, 110,
+  94, 89, 96, 98, 103, 105, 96, 108, 103, 103, 112, 108, 110, 108, 110, 98,
+  101, 103, 91, 89, 94, 101, 103, 119, 133, 135, 147, 149, 149, 151, 149, 149,
+  147, 141, 143, 137, 135, 137, 137, 141, 129, 137, 139, 145, 149, 145, 145, 139,
+  137, 143, 141, 141, 147, 145, 145, 141, 139, 139, 137, 143, 141, 143, 141, 143,
+  147, 143, 141, 143, 145, 141, 143, 145, 147, 143, 151, 151, 160, 204, 197, 139,
+  29, 18, 29, 26, 35, 29, 29, 29, 35, 32, 38, 29, 41, 43, 38, 23,
+  32, 46, 43, 43, 43, 43, 38, 29, 38, 32, 52, 55, 49, 20, 6, 18,
+  174, 174, 172, 164, 162, 147, 135, 121, 91, 66, 63, 60, 86, 105, 123, 139,
+  153, 164, 167, 167, 176, 167, 167, 169, 162, 162, 165, 155, 143, 135, 112, 96,
+  66, 71, 57, 68, 74, 91, 79, 86, 96, 91, 89, 112, 98, 91, 81, 84,
+  96, 91, 81, 86, 94, 98, 105, 101, 105, 105, 105, 112, 108, 112, 108, 103,
+  119, 110, 105, 112, 114, 110, 121, 114, 121, 110, 114, 110, 119, 149, 101, 108,
+  105, 119, 119, 112, 103, 101, 117, 119, 123, 121, 127, 133, 121, 143, 123, 135,
+  121, 143, 125, 143, 145, 137, 117, 133, 149, 143, 153, 141, 158, 147, 162, 172,
+  167, 189, 169, 181, 187, 185, 185, 200, 200, 182, 189, 206, 201, 195, 203, 209,
+  195, 201, 209, 203, 201, 207, 207, 209, 197, 206, 210, 212, 210, 206, 212, 193,
+  119, 76, 89, 91, 89, 96, 98, 96, 112, 103, 110, 96, 98, 96, 101, 103,
+  110, 98, 94, 91, 89, 96, 103, 123, 129, 143, 143, 151, 153, 153, 151, 147,
+  151, 145, 145, 141, 137, 133, 131, 133, 127, 125, 133, 141, 145, 149, 145, 143,
+  143, 135, 137, 139, 145, 147, 143, 139, 139, 141, 141, 137, 139, 147, 139, 143,
+  143, 139, 145, 145, 147, 143, 149, 151, 147, 147, 153, 153, 160, 162, 112, 29,
+  23, 26, 43, 23, 26, 32, 35, 32, 35, 32, 32, 43, 29, 43, 32, 20,
+  29, 52, 43, 38, 38, 26, 26, 49, 29, 55, 71, 60, 41, 12, 9, 38,
+  177, 172, 167, 162, 158, 139, 121, 103, 76, 63, 63, 63, 94, 112, 123, 135,
+  153, 162, 167, 174, 169, 169, 164, 164, 164, 165, 158, 151, 145, 129, 119, 105,
+  71, 66, 57, 71, 76, 74, 86, 79, 81, 89, 91, 96, 96, 103, 94, 94,
+  96, 91, 86, 101, 98, 98, 108, 105, 110, 108, 108, 114, 103, 105, 105, 114,
+  110, 112, 112, 114, 117, 112, 121, 112, 121, 119, 112, 112, 187, 119, 103, 108,
+  112, 105, 101, 98, 101, 105, 114, 119, 131, 125, 129, 105, 149, 129, 112, 141,
+  129, 141, 125, 149, 119, 137, 133, 147, 125, 149, 131, 155, 129, 167, 145, 165,
+  176, 165, 179, 167, 171, 195, 193, 182, 193, 197, 193, 187, 204, 206, 198, 198,
+  206, 204, 198, 210, 206, 206, 201, 204, 207, 206, 204, 209, 207, 206, 209, 209,
+  210, 121, 112, 98, 79, 86, 89, 96, 110, 98, 105, 103, 105, 98, 101, 98,
+  96, 91, 98, 94, 96, 96, 98, 121, 131, 147, 149, 151, 149, 162, 151, 151,
+  149, 145, 149, 143, 129, 127, 123, 125, 117, 119, 131, 139, 141, 155, 149, 143,
+  143, 139, 143, 149, 145, 147, 147, 139, 137, 143, 139, 137, 145, 139, 145, 149,
+  141, 141, 143, 147, 145, 149, 145, 147, 145, 149, 158, 156, 151, 108, 43, 29,
+  38, 26, 15, 23, 18, 20, 35, 49, 63, 38, 32, 26, 32, 26, 15, 18,
+  43, 38, 43, 49, 32, 46, 35, 41, 41, 60, 63, 29, 12, 12, 41, 127,
+  172, 167, 160, 156, 151, 139, 110, 81, 66, 71, 63, 71, 86, 110, 125, 135,
+  147, 162, 167, 171, 167, 172, 169, 164, 162, 160, 160, 153, 147, 131, 121, 91,
+  68, 66, 55, 71, 68, 68, 86, 84, 94, 84, 86, 94, 89, 96, 91, 94,
+  96, 96, 91, 101, 108, 89, 96, 103, 98, 108, 108, 108, 101, 112, 112, 123,
+  119, 114, 117, 112, 121, 110, 110, 117, 114, 119, 112, 123, 174, 101, 108, 117,
+  96, 103, 98, 103, 101, 117, 117, 108, 121, 117, 112, 133, 123, 125, 135, 129,
+  145, 121, 133, 129, 147, 141, 143, 147, 133, 143, 131, 141, 169, 153, 158, 147,
+  167, 167, 158, 190, 181, 181, 197, 197, 190, 190, 201, 200, 189, 201, 206, 200,
+  197, 204, 206, 200, 200, 207, 207, 198, 201, 207, 201, 185, 197, 203, 215, 221,
+  225, 224, 221, 207, 117, 71, 84, 91, 105, 98, 105, 108, 103, 101, 91, 91,
+  101, 105, 98, 94, 91, 103, 110, 121, 137, 143, 149, 153, 155, 155, 160, 156,
+  153, 151, 151, 139, 131, 123, 114, 114, 114, 112, 125, 127, 141, 145, 149, 147,
+  145, 145, 141, 147, 151, 151, 147, 143, 141, 141, 141, 141, 141, 143, 143, 143,
+  139, 145, 145, 143, 141, 143, 145, 145, 151, 153, 151, 158, 123, 57, 23, 32,
+  26, 20, 32, 29, 20, 35, 43, 41, 41, 43, 35, 32, 23, 23, 35, 41,
+  43, 60, 38, 32, 26, 38, 35, 38, 60, 57, 35, 20, 18, 38, 117, 151,
+  164, 162, 156, 155, 139, 123, 96, 66, 66, 74, 71, 66, 79, 114, 123, 139,
+  153, 160, 165, 171, 176, 169, 171, 167, 167, 164, 160, 156, 141, 135, 112, 108,
+  79, 52, 68, 57, 89, 71, 81, 89, 114, 91, 89, 101, 103, 89, 91, 94,
+  89, 94, 94, 103, 98, 98, 108, 105, 103, 112, 110, 105, 105, 105, 110, 108,
+  114, 114, 114, 112, 117, 117, 114, 119, 114, 112, 114, 155, 121, 105, 103, 98,
+  103, 94, 103, 105, 114, 119, 108, 114, 110, 125, 114, 137, 112, 123, 135, 127,
+  133, 127, 135, 133, 143, 131, 151, 117, 153, 143, 143, 153, 151, 167, 143, 162,
+  155, 174, 182, 162, 193, 200, 184, 197, 200, 203, 176, 200, 204, 190, 198, 198,
+  209, 190, 203, 207, 206, 195, 203, 206, 193, 195, 203, 218, 218, 219, 221, 224,
+  225, 231, 234, 234, 212, 84, 79, 79, 96, 96, 101, 105, 96, 91, 91, 98,
+  96, 91, 96, 86, 101, 94, 98, 127, 135, 141, 147, 145, 160, 155, 156, 155,
+  153, 156, 155, 149, 133, 121, 112, 98, 103, 108, 110, 119, 135, 139, 145, 149,
+  143, 143, 143, 145, 141, 149, 143, 141, 141, 145, 143, 139, 139, 141, 145, 141,
+  145, 137, 145, 143, 145, 149, 149, 149, 151, 149, 158, 139, 79, 35, 23, 32,
+  41, 18, 26, 18, 20, 35, 32, 35, 38, 35, 29, 23, 26, 29, 32, 43,
+  46, 43, 35, 29, 41, 35, 52, 46, 76, 55, 20, 26, 35, 91, 139, 167,
+  162, 164, 151, 143, 129, 108, 89, 66, 74, 76, 76, 66, 86, 110, 131, 143,
+  151, 160, 165, 172, 169, 169, 169, 171, 165, 164, 165, 153, 143, 133, 114, 101,
+  76, 66, 46, 63, 66, 74, 86, 86, 79, 86, 89, 89, 96, 91, 84, 89,
+  94, 91, 89, 89, 98, 101, 94, 105, 108, 105, 114, 105, 114, 110, 121, 112,
+  117, 110, 121, 112, 114, 117, 110, 110, 114, 117, 125, 129, 117, 101, 103, 101,
+  98, 105, 101, 108, 112, 110, 108, 108, 123, 123, 121, 123, 117, 135, 114, 135,
+  123, 125, 127, 133, 131, 141, 133, 156, 114, 137, 129, 160, 141, 155, 165, 155,
+  177, 153, 184, 193, 185, 185, 201, 203, 182, 198, 201, 192, 187, 201, 203, 198,
+  195, 204, 204, 193, 200, 195, 190, 195, 212, 219, 216, 216, 225, 218, 218, 222,
+  221, 225, 233, 236, 233, 177, 74, 71, 84, 91, 101, 96, 96, 96, 91, 94,
+  84, 96, 98, 98, 101, 103, 112, 127, 131, 143, 147, 155, 153, 158, 158, 153,
+  151, 153, 156, 141, 133, 121, 103, 94, 89, 91, 96, 117, 125, 129, 143, 155,
+  145, 147, 141, 141, 141, 143, 145, 143, 139, 137, 141, 141, 143, 149, 143, 145,
+  137, 135, 143, 139, 143, 141, 147, 151, 151, 156, 137, 103, 23, 32, 29, 32,
+  20, 23, 43, 26, 20, 46, 26, 35, 29, 32, 38, 32, 20, 32, 35, 41,
+  29, 29, 32, 29, 35, 38, 55, 71, 84, 52, 23, 35, 91, 141, 155, 171,
+  164, 156, 151, 131, 114, 94, 60, 71, 66, 74, 76, 76, 84, 103, 127, 139,
+  149, 158, 167, 174, 169, 167, 172, 167, 169, 164, 158, 155, 143, 135, 114, 89,
+  74, 60, 60, 66, 74, 81, 81, 86, 81, 96, 112, 91, 98, 86, 86, 89,
+  91, 96, 98, 101, 98, 94, 105, 105, 103, 101, 110, 105, 112, 112, 108, 114,
+  112, 112, 117, 117, 121, 112, 114, 119, 119, 121, 129, 117, 103, 110, 96, 91,
+  98, 105, 114, 114, 110, 119, 105, 125, 123, 114, 123, 121, 119, 117, 125, 125,
+  123, 125, 125, 141, 129, 125, 131, 135, 145, 119, 147, 143, 139, 143, 147, 162,
+  145, 185, 182, 174, 192, 206, 176, 190, 200, 197, 177, 201, 203, 190, 190, 204,
+  204, 192, 185, 190, 184, 198, 216, 218, 221, 216, 221, 218, 216, 222, 218, 219,
+  222, 221, 225, 230, 233, 215, 121, 60, 81, 89, 94, 89, 98, 91, 91, 89,
+  96, 89, 94, 86, 86, 96, 105, 123, 137, 139, 143, 153, 153, 151, 158, 151,
+  149, 151, 155, 143, 145, 125, 112, 76, 68, 71, 76, 96, 114, 129, 139, 145,
+  147, 143, 145, 135, 141, 143, 143, 141, 139, 141, 145, 139, 141, 145, 145, 143,
+  141, 143, 147, 147, 149, 145, 145, 156, 156, 145, 108, 38, 23, 35, 18, 20,
+  20, 29, 35, 32, 29, 38, 35, 38, 41, 32, 23, 32, 23, 38, 38, 46,
+  26, 46, 41, 26, 41, 52, 46, 66, 74, 46, 29, 81, 133, 153, 160, 162,
+  153, 153, 141, 127, 108, 86, 66, 76, 79, 71, 71, 74, 91, 108, 121, 137,
+  151, 156, 167, 172, 172, 171, 169, 171, 169, 164, 156, 156, 137, 127, 105, 117,
+  66, 55, 55, 63, 74, 79, 94, 84, 91, 91, 94, 96, 98, 86, 101, 101,
+  94, 91, 89, 96, 91, 94, 105, 105, 105, 112, 105, 105, 114, 108, 121, 117,
+  114, 119, 121, 114, 117, 114, 123, 112, 114, 121, 117, 103, 105, 91, 101, 103,
+  103, 114, 121, 108, 108, 112, 119, 119, 105, 119, 121, 112, 123, 114, 127, 112,
+  133, 119, 139, 139, 153, 135, 145, 143, 123, 145, 129, 145, 133, 145, 156, 133,
+  169, 155, 174, 181, 172, 182, 197, 195, 190, 198, 207, 201, 187, 206, 201, 193,
+  181, 179, 185, 204, 216, 219, 213, 218, 219, 216, 215, 219, 215, 216, 219, 210,
+  215, 221, 222, 230, 230, 233, 213, 84, 76, 76, 84, 89, 84, 94, 84, 91,
+  94, 89, 96, 89, 86, 105, 103, 121, 127, 139, 145, 153, 156, 155, 151, 151,
+  149, 151, 149, 143, 137, 129, 108, 81, 76, 52, 52, 81, 112, 127, 131, 145,
+  149, 143, 145, 139, 141, 145, 145, 145, 139, 145, 147, 137, 139, 145, 143, 141,
+  135, 141, 141, 145, 145, 145, 145, 155, 155, 121, 74, 35, 29, 15, 9, 20,
+  43, 23, 38, 32, 41, 43, 32, 26, 29, 35, 26, 43, 29, 35, 41, 35,
+  26, 38, 35, 35, 43, 63, 68, 57, 60, 55, 76, 123, 147, 153, 156, 162,
+  145, 147, 133, 105, 89, 60, 71, 71, 79, 74, 71, 81, 74, 105, 123, 141,
+  151, 164, 167, 171, 169, 172, 171, 169, 171, 164, 158, 156, 141, 129, 112, 98,
+  76, 68, 76, 68, 84, 79, 74, 79, 86, 89, 86, 89, 96, 91, 105, 94,
+  91, 91, 94, 94, 96, 96, 101, 103, 101, 105, 110, 103, 110, 108, 105, 110,
+  114, 117, 119, 114, 117, 114, 129, 114, 123, 125, 110, 96, 94, 105, 108, 108,
+  121, 119, 108, 110, 127, 117, 117, 119, 110, 121, 114, 127, 110, 125, 121, 137,
+  129, 137, 125, 143, 129, 137, 143, 137, 145, 131, 147, 133, 143, 147, 151, 162,
+  151, 164, 179, 160, 179, 204, 171, 187, 197, 190, 187, 204, 204, 174, 181, 174,
+  190, 210, 215, 225, 215, 215, 215, 212, 216, 215, 218, 215, 216, 212, 218, 219,
+  210, 215, 222, 221, 230, 227, 231, 181, 81, 66, 74, 94, 84, 89, 86, 84,
+  101, 89, 89, 89, 86, 98, 105, 117, 129, 135, 151, 151, 155, 153, 151, 155,
+  155, 149, 153, 141, 139, 125, 112, 89, 43, 35, 41, 74, 112, 119, 127, 135,
+  145, 145, 147, 139, 139, 137, 143, 149, 139, 139, 141, 143, 141, 143, 141, 147,
+  137, 143, 139, 135, 139, 143, 153, 156, 143, 84, 18, 15, 18, 20, 23, 15,
+  20, 20, 26, 52, 55, 43, 43, 38, 26, 15, 29, 38, 35, 43, 32, 20,
+  46, 38, 66, 74, 55, 66, 96, 68, 49, 71, 125, 147, 156, 149, 151, 153,
+  145, 139, 117, 94, 79, 63, 76, 76, 81, 81, 68, 74, 94, 103, 123, 139,
+  149, 160, 164, 167, 174, 167, 174, 172, 171, 169, 158, 155, 139, 131, 119, 98,
+  76, 63, 52, 63, 63, 79, 79, 84, 79, 79, 84, 89, 101, 96, 98, 89,
+  96, 86, 96, 98, 98, 98, 98, 112, 98, 101, 108, 110, 112, 101, 112, 119,
+  114, 112, 117, 114, 114, 114, 117, 123, 117, 110, 105, 105, 96, 96, 110, 105,
+  103, 117, 101, 127, 119, 108, 112, 119, 123, 105, 121, 105, 114, 125, 117, 133,
+  119, 129, 139, 135, 145, 125, 139, 133, 121, 153, 133, 141, 147, 145, 158, 143,
+  171, 155, 171, 184, 172, 179, 189, 193, 174, 195, 203, 185, 184, 164, 182, 203,
+  218, 215, 219, 218, 218, 213, 209, 212, 216, 212, 213, 216, 212, 215, 213, 215,
+  221, 213, 215, 219, 219, 231, 228, 227, 165, 68, 63, 74, 81, 81, 89, 91,
+  94, 86, 94, 86, 86, 94, 108, 117, 131, 139, 149, 155, 153, 155, 155, 151,
+  155, 145, 151, 143, 141, 129, 123, 94, 52, 29, 38, 46, 74, 112, 119, 137,
+  139, 149, 153, 147, 137, 139, 139, 139, 145, 139, 143, 139, 137, 139, 139, 141,
+  137, 145, 141, 141, 149, 153, 155, 149, 105, 32, 26, 18, 32, 18, 20, 32,
+  32, 49, 46, 41, 38, 43, 41, 38, 23, 18, 38, 46, 38, 29, 23, 20,
+  29, 41, 63, 55, 63, 71, 68, 55, 89, 131, 145, 155, 158, 147, 149, 143,
+  129, 129, 105, 79, 71, 68, 74, 79, 81, 84, 74, 71, 89, 103, 119, 139,
+  151, 156, 164, 167, 167, 171, 167, 169, 167, 171, 158, 149, 141, 125, 105, 96,
+  76, 63, 57, 74, 89, 86, 84, 86, 89, 81, 98, 96, 96, 105, 98, 98,
+  94, 86, 94, 94, 98, 103, 98, 98, 105, 105, 108, 110, 101, 114, 117, 121,
+  121, 119, 114, 119, 114, 108, 119, 127, 110, 105, 91, 101, 101, 101, 112, 108,
+  108, 117, 123, 117, 114, 108, 117, 114, 112, 110, 121, 121, 119, 125, 141, 121,
+  123, 137, 143, 141, 125, 151, 141, 143, 149, 139, 143, 143, 156, 156, 141, 151,
+  155, 160, 174, 153, 182, 197, 179, 189, 187, 201, 165, 164, 167, 192, 213, 215,
+  216, 221, 215, 212, 207, 212, 218, 206, 215, 215, 213, 212, 216, 209, 216, 213,
+  212, 216, 218, 224, 221, 227, 231, 224, 224, 117, 68, 68, 74, 84, 81, 84,
+  98, 96, 91, 89, 89, 89, 105, 117, 129, 133, 147, 153, 158, 155, 153, 153,
+  153, 151, 151, 151, 137, 131, 119, 94, 71, 26, 18, 29, 57, 94, 105, 121,
+  131, 147, 139, 151, 141, 137, 141, 139, 141, 141, 141, 135, 143, 139, 135, 143,
+  141, 147, 143, 141, 147, 151, 155, 119, 52, 20, 60, 81, 55, 23, 20, 38,
+  41, 41, 38, 43, 49, 43, 38, 26, 29, 26, 41, 49, 43, 41, 26, 35,
+  20, 60, 49, 49, 74, 71, 76, 86, 119, 139, 155, 156, 162, 145, 131, 155,
+  123, 117, 91, 63, 76, 74, 84, 84, 84, 66, 81, 76, 84, 105, 119, 141,
+  153, 156, 164, 167, 165, 169, 167, 169, 169, 164, 158, 153, 141, 131, 117, 89,
+  84, 63, 52, 74, 71, 79, 91, 86, 86, 81, 84, 89, 89, 91, 91, 91,
+  91, 94, 98, 94, 101, 96, 101, 103, 98, 98, 110, 108, 105, 114, 114, 112,
+  121, 119, 117, 112, 119, 117, 123, 110, 103, 108, 94, 101, 105, 105, 108, 103,
+  114, 114, 114, 114, 114, 117, 101, 117, 91, 114, 110, 131, 119, 137, 114, 139,
+  125, 145, 141, 127, 153, 137, 143, 139, 131, 147, 139, 153, 153, 139, 145, 135,
+  155, 151, 167, 187, 189, 174, 192, 187, 169, 169, 149, 198, 209, 212, 207, 215,
+  210, 212, 210, 215, 221, 213, 210, 215, 206, 213, 212, 212, 210, 210, 206, 218,
+  219, 222, 222, 224, 222, 230, 233, 231, 227, 206, 84, 66, 60, 74, 76, 81,
+  81, 76, 79, 84, 84, 98, 110, 117, 127, 139, 149, 153, 160, 155, 151, 155,
+  156, 156, 153, 141, 141, 137, 121, 96, 63, 23, 20, 23, 57, 94, 101, 108,
+  127, 141, 143, 149, 147, 145, 151, 143, 141, 143, 141, 135, 141, 133, 143, 145,
+  143, 139, 145, 145, 149, 155, 137, 74, 18, 41, 23, 26, 32, 26, 26, 26,
+  41, 32, 26, 38, 43, 41, 32, 29, 32, 49, 46, 32, 29, 32, 32, 41,
+  35, 38, 55, 57, 79, 84, 84, 112, 137, 145, 158, 156, 158, 139, 145, 162,
+  112, 103, 68, 66, 76, 76, 96, 84, 84, 79, 68, 68, 94, 105, 121, 139,
+  143, 153, 160, 164, 171, 167, 169, 172, 169, 160, 160, 156, 141, 129, 114, 96,
+  74, 66, 79, 71, 86, 89, 86, 91, 94, 96, 98, 81, 86, 84, 98, 84,
+  103, 89, 84, 98, 105, 94, 105, 108, 119, 98, 105, 108, 110, 119, 114, 114,
+  117, 119, 121, 114, 119, 125, 117, 121, 98, 96, 103, 121, 110, 105, 123, 108,
+  110, 114, 112, 110, 105, 108, 110, 108, 108, 119, 119, 129, 131, 114, 137, 121,
+  149, 137, 149, 143, 129, 149, 141, 149, 156, 143, 158, 119, 153, 151, 139, 151,
+  139, 167, 181, 156, 185, 185, 181, 169, 147, 167, 203, 215, 212, 215, 213, 203,
+  209, 212, 212, 222, 213, 216, 210, 210, 206, 204, 204, 207, 210, 216, 227, 225,
+  221, 215, 221, 215, 219, 225, 225, 234, 228, 233, 181, 81, 66, 57, 71, 79,
+  81, 76, 81, 76, 84, 98, 108, 127, 131, 143, 149, 151, 155, 153, 155, 151,
+  158, 156, 149, 147, 139, 129, 125, 86, 63, 23, 15, 23, 46, 68, 96, 114,
+  121, 139, 143, 145, 147, 149, 143, 145, 135, 143, 139, 149, 139, 141, 139, 137,
+  141, 143, 145, 145, 149, 151, 103, 38, 18, 18, 29, 26, 23, 35, 29, 41,
+  41, 29, 55, 41, 29, 29, 12, 23, 41, 46, 57, 32, 35, 35, 41, 35,
+  43, 41, 57, 81, 71, 94, 117, 141, 151, 156, 151, 155, 147, 141, 158, 172,
+  96, 94, 63, 71, 76, 79, 79, 86, 76, 74, 76, 76, 84, 103, 125, 137,
+  145, 160, 158, 164, 164, 167, 172, 169, 165, 167, 158, 155, 141, 137, 110, 98,
+  76, 52, 74, 76, 81, 86, 86, 76, 86, 96, 84, 84, 89, 94, 89, 94,
+  96, 96, 86, 98, 89, 91, 101, 108, 112, 105, 112, 117, 105, 110, 108, 112,
+  112, 114, 117, 119, 121, 129, 112, 110, 105, 110, 105, 112, 103, 117, 105, 112,
+  117, 112, 123, 103, 114, 105, 112, 112, 119, 112, 125, 119, 145, 119, 121, 143,
+  127, 143, 133, 133, 153, 129, 151, 149, 149, 149, 133, 141, 147, 127, 149, 135,
+  164, 156, 158, 181, 190, 158, 151, 147, 181, 210, 207, 212, 210, 210, 209, 209,
+  209, 218, 209, 215, 213, 206, 209, 204, 213, 206, 215, 216, 216, 213, 219, 215,
+  210, 209, 212, 213, 213, 218, 219, 221, 224, 227, 222, 172, 101, 76, 63, 74,
+  63, 81, 86, 68, 71, 86, 103, 117, 133, 135, 145, 153, 155, 155, 155, 151,
+  155, 156, 149, 149, 139, 133, 121, 91, 57, 20, 35, 43, 20, 76, 89, 98,
+  125, 127, 139, 145, 145, 145, 139, 133, 139, 137, 137, 133, 137, 147, 143, 143,
+  147, 143, 143, 151, 155, 129, 57, 41, 18, 12, 23, 26, 32, 32, 38, 38,
+  55, 32, 46, 29, 20, 20, 15, 32, 41, 46, 23, 26, 46, 41, 32, 38,
+  57, 49, 41, 66, 81, 121, 133, 149, 151, 156, 151, 149, 147, 160, 164, 171,
+  86, 74, 74, 79, 76, 81, 81, 81, 79, 79, 71, 71, 96, 98, 123, 133,
+  145, 155, 164, 165, 167, 167, 169, 169, 164, 165, 160, 151, 135, 125, 121, 96,
+  79, 63, 60, 63, 76, 89, 89, 89, 91, 84, 89, 91, 89, 91, 84, 89,
+  98, 98, 105, 96, 101, 110, 94, 105, 110, 105, 110, 112, 108, 108, 119, 119,
+  119, 112, 112, 114, 135, 112, 105, 105, 110, 114, 103, 105, 98, 110, 105, 108,
+  105, 121, 101, 127, 117, 123, 96, 123, 101, 121, 114, 143, 117, 141, 129, 119,
+  137, 131, 139, 137, 121, 153, 131, 145, 151, 137, 151, 143, 145, 145, 143, 156,
+  139, 158, 177, 171, 153, 125, 165, 192, 206, 204, 213, 209, 201, 210, 213, 216,
+  209, 203, 210, 206, 198, 206, 201, 213, 213, 215, 212, 204, 206, 204, 207, 210,
+  210, 213, 216, 216, 219, 219, 221, 218, 224, 225, 227, 233, 218, 160, 63, 52,
+  63, 57, 81, 79, 74, 89, 103, 119, 127, 137, 149, 155, 153, 153, 155, 155,
+  151, 151, 155, 145, 145, 133, 119, 91, 74, 26, 23, 32, 52, 26, 71, 84,
+  119, 117, 131, 141, 143, 145, 145, 145, 141, 137, 135, 137, 141, 143, 143, 147,
+  141, 143, 151, 151, 139, 98, 15, 15, 18, 20, 18, 35, 23, 63, 41, 38,
+  41, 35, 32, 32, 26, 26, 23, 35, 43, 35, 35, 20, 46, 35, 43, 38,
+  43, 46, 49, 60, 103, 133, 149, 149, 155, 158, 149, 143, 160, 171, 165, 172,
+  76, 63, 66, 86, 76, 79, 71, 79, 79, 84, 74, 68, 84, 96, 117, 139,
+  143, 162, 158, 164, 172, 172, 169, 169, 172, 167, 165, 153, 141, 131, 114, 98,
+  76, 60, 63, 63, 76, 84, 84, 91, 86, 101, 91, 89, 89, 96, 86, 98,
+  89, 96, 94, 96, 96, 96, 103, 103, 103, 105, 114, 110, 103, 121, 114, 110,
+  129, 108, 114, 127, 141, 98, 98, 96, 101, 112, 112, 103, 98, 105, 110, 105,
+  112, 108, 101, 123, 114, 123, 112, 129, 105, 121, 131, 121, 135, 129, 139, 129,
+  131, 139, 137, 133, 145, 143, 145, 141, 137, 147, 125, 135, 141, 129, 143, 133,
+  158, 169, 160, 153, 127, 182, 204, 201, 198, 203, 200, 210, 210, 203, 213, 213,
+  210, 206, 206, 207, 204, 212, 206, 209, 206, 209, 207, 210, 212, 210, 216, 209,
+  212, 216, 216, 218, 215, 218, 215, 219, 222, 222, 225, 227, 230, 230, 160, 110,
+  41, 55, 68, 68, 76, 86, 101, 117, 129, 137, 155, 151, 153, 155, 158, 151,
+  151, 153, 155, 172, 141, 131, 114, 96, 74, 23, 20, 20, 23, 29, 43, 66,
+  89, 112, 123, 131, 143, 143, 143, 143, 137, 137, 135, 143, 141, 133, 141, 143,
+  147, 149, 155, 149, 108, 23, 15, 20, 20, 20, 23, 23, 52, 29, 46, 57,
+  41, 32, 35, 41, 23, 29, 46, 41, 38, 23, 38, 32, 49, 41, 35, 43,
+  52, 57, 68, 86, 129, 139, 151, 145, 156, 158, 143, 155, 169, 172, 172, 169,
+  86, 84, 68, 79, 91, 76, 79, 84, 84, 81, 71, 74, 81, 108, 121, 139,
+  143, 158, 164, 167, 169, 169, 171, 169, 169, 164, 158, 153, 147, 125, 121, 101,
+  86, 60, 55, 66, 71, 81, 86, 86, 94, 84, 91, 79, 86, 94, 86, 94,
+  94, 94, 86, 98, 91, 108, 101, 105, 105, 112, 112, 114, 112, 110, 112, 112,
+  117, 117, 114, 139, 119, 98, 112, 91, 108, 101, 110, 103, 105, 108, 112, 96,
+  110, 101, 110, 112, 112, 114, 125, 108, 133, 137, 139, 137, 119, 143, 131, 143,
+  153, 129, 149, 145, 125, 156, 131, 137, 135, 133, 139, 123, 141, 149, 133, 151,
+  131, 155, 135, 139, 187, 207, 206, 204, 204, 203, 207, 197, 207, 204, 201, 207,
+  206, 204, 206, 207, 210, 195, 206, 209, 215, 203, 215, 218, 212, 213, 213, 215,
+  216, 215, 216, 218, 216, 216, 219, 213, 219, 221, 224, 219, 225, 231, 228, 164,
+  52, 52, 55, 68, 74, 84, 98, 123, 135, 137, 147, 155, 155, 153, 153, 151,
+  156, 153, 162, 155, 137, 131, 114, 96, 66, 26, 20, 23, 12, 20, 23, 49,
+  79, 91, 127, 125, 139, 145, 145, 143, 141, 137, 137, 135, 141, 139, 145, 147,
+  147, 151, 147, 133, 49, 32, 9, 15, 23, 23, 43, 35, 41, 43, 41, 35,
+  41, 46, 26, 35, 32, 41, 43, 66, 41, 26, 46, 32, 38, 38, 43, 35,
+  46, 52, 91, 127, 153, 149, 149, 151, 153, 145, 153, 165, 172, 171, 171, 171,
+  74, 89, 86, 81, 86, 76, 89, 94, 79, 89, 76, 76, 89, 103, 121, 139,
+  143, 158, 162, 158, 167, 167, 167, 167, 167, 165, 160, 155, 145, 131, 117, 103,
+  91, 60, 63, 68, 81, 79, 89, 84, 86, 86, 84, 101, 98, 86, 94, 94,
+  89, 98, 89, 101, 96, 94, 101, 103, 98, 108, 112, 110, 108, 117, 117, 114,
+  110, 110, 147, 112, 108, 94, 96, 91, 98, 101, 121, 114, 105, 103, 110, 108,
+  123, 119, 110, 110, 125, 105, 121, 125, 125, 139, 114, 139, 139, 133, 153, 139,
+  137, 141, 141, 141, 147, 131, 145, 139, 133, 139, 131, 145, 133, 143, 149, 123,
+  145, 127, 167, 187, 204, 200, 207, 210, 210, 195, 206, 200, 198, 204, 203, 197,
+  203, 206, 204, 200, 203, 212, 213, 207, 215, 216, 204, 213, 213, 213, 213, 213,
+  218, 219, 212, 207, 213, 215, 216, 212, 221, 221, 219, 219, 218, 222, 230, 225,
+  121, 26, 46, 57, 74, 81, 103, 119, 129, 135, 151, 149, 155, 155, 151, 149,
+  149, 153, 155, 151, 143, 133, 110, 91, 66, 29, 23, 20, 12, 18, 15, 26,
+  63, 81, 119, 123, 127, 137, 143, 143, 141, 135, 139, 135, 135, 143, 137, 145,
+  147, 147, 145, 89, 20, 26, 20, 32, 23, 26, 41, 32, 41, 49, 38, 32,
+  41, 38, 32, 26, 29, 38, 29, 23, 23, 29, 35, 35, 57, 41, 38, 38,
+  43, 81, 129, 145, 155, 153, 147, 143, 137, 145, 160, 169, 174, 171, 172, 169,
+  71, 71, 76, 79, 84, 84, 86, 86, 84, 81, 71, 79, 98, 108, 127, 133,
+  145, 156, 162, 167, 165, 164, 171, 176, 162, 165, 160, 153, 147, 135, 112, 101,
+  76, 68, 66, 66, 74, 74, 91, 86, 81, 81, 94, 86, 96, 98, 89, 81,
+  91, 81, 94, 96, 94, 101, 98, 108, 103, 101, 110, 114, 112, 105, 121, 110,
+  105, 123, 203, 117, 89, 98, 94, 96, 96, 101, 108, 105, 108, 105, 103, 105,
+  98, 108, 101, 112, 98, 127, 114, 135, 117, 123, 139, 125, 133, 143, 145, 141,
+  129, 127, 141, 141, 143, 141, 139, 149, 133, 125, 127, 108, 141, 127, 121, 123,
+  145, 190, 197, 179, 182, 204, 204, 209, 201, 204, 192, 207, 198, 193, 203, 207,
+  187, 195, 197, 204, 210, 212, 212, 213, 201, 213, 215, 209, 213, 210, 215, 209,
+  215, 216, 215, 213, 219, 216, 216, 215, 212, 224, 222, 222, 225, 228, 218, 228,
+  209, 55, 52, 52, 66, 76, 101, 117, 127, 139, 145, 153, 153, 153, 153, 156,
+  151, 153, 149, 145, 139, 129, 123, 103, 76, 35, 20, 18, 35, 23, 18, 20,
+  46, 74, 84, 110, 127, 129, 141, 147, 145, 137, 137, 133, 135, 139, 141, 145,
+  149, 151, 112, 35, 29, 26, 18, 23, 20, 18, 35, 35, 29, 38, 55, 35,
+  43, 35, 26, 29, 35, 43, 35, 23, 32, 23, 35, 29, 32, 38, 41, 49,
+  60, 112, 141, 155, 158, 143, 141, 141, 151, 160, 169, 172, 172, 176, 172, 169,
+  86, 81, 86, 84, 89, 84, 76, 66, 76, 84, 79, 79, 94, 110, 125, 137,
+  149, 158, 162, 162, 167, 164, 165, 165, 164, 162, 165, 155, 139, 131, 114, 103,
+  89, 60, 66, 71, 79, 81, 86, 79, 86, 98, 94, 84, 94, 91, 94, 94,
+  89, 89, 98, 98, 94, 96, 98, 103, 112, 105, 112, 105, 101, 110, 114, 110,
+  108, 156, 174, 108, 86, 86, 91, 108, 96, 112, 110, 110, 108, 108, 98, 117,
+  96, 112, 108, 108, 112, 119, 131, 98, 131, 127, 131, 129, 141, 151, 145, 133,
+  112, 153, 131, 143, 143, 133, 147, 127, 139, 141, 114, 135, 131, 121, 119, 171,
+  182, 204, 190, 187, 198, 197, 203, 204, 195, 201, 206, 192, 204, 203, 195, 193,
+  195, 204, 207, 206, 209, 209, 213, 212, 215, 206, 219, 216, 195, 215, 218, 213,
+  213, 218, 212, 213, 215, 213, 213, 215, 209, 213, 218, 224, 221, 230, 225, 230,
+  231, 114, 84, 52, 52, 74, 101, 108, 123, 141, 145, 153, 153, 153, 153, 155,
+  151, 156, 151, 147, 145, 129, 117, 101, 71, 41, 18, 29, 20, 15, 12, 9,
+  23, 46, 81, 103, 117, 121, 133, 139, 143, 137, 135, 131, 137, 143, 143, 147,
+  155, 129, 57, 20, 18, 26, 20, 23, 52, 26, 32, 32, 43, 49, 46, 38,
+  52, 29, 32, 41, 41, 52, 38, 35, 38, 35, 46, 41, 41, 20, 29, 74,
+  108, 141, 151, 153, 149, 145, 131, 149, 158, 167, 169, 169, 172, 172, 172, 172,
+  84, 76, 84, 84, 89, 81, 79, 89, 79, 74, 68, 79, 89, 105, 125, 143,
+  147, 162, 164, 164, 167, 167, 165, 162, 162, 164, 162, 153, 145, 141, 123, 96,
+  68, 63, 63, 66, 74, 76, 79, 89, 86, 91, 98, 89, 96, 96, 94, 91,
+  91, 94, 101, 94, 103, 98, 108, 103, 108, 103, 112, 110, 110, 114, 110, 98,
+  110, 206, 176, 91, 98, 84, 114, 94, 98, 98, 98, 112, 101, 101, 112, 103,
+  117, 114, 114, 119, 114, 119, 133, 129, 117, 133, 141, 133, 153, 141, 121, 143,
+  145, 108, 156, 143, 137, 151, 121, 131, 129, 131, 121, 96, 110, 123, 184, 179,
+  192, 189, 209, 198, 201, 187, 198, 189, 207, 203, 201, 207, 184, 195, 201, 206,
+  207, 204, 207, 209, 203, 210, 210, 213, 213, 212, 210, 216, 209, 213, 213, 212,
+  212, 215, 213, 212, 209, 213, 210, 215, 212, 218, 219, 221, 225, 222, 228, 233,
+  233, 218, 114, 38, 55, 68, 91, 112, 127, 135, 143, 147, 149, 149, 156, 153,
+  158, 156, 155, 149, 139, 123, 119, 96, 74, 41, 26, 23, 35, 15, 15, 18,
+  15, 29, 46, 84, 101, 114, 123, 141, 162, 156, 149, 127, 137, 143, 153, 149,
+  147, 91, 32, 23, 20, 32, 20, 32, 35, 26, 52, 43, 35, 41, 41, 41,
+  38, 26, 38, 49, 41, 26, 38, 26, 41, 49, 29, 35, 18, 23, 32, 94,
+  133, 151, 153, 149, 151, 137, 143, 160, 165, 164, 174, 171, 169, 167, 169, 169,
+  74, 96, 74, 86, 81, 89, 89, 91, 84, 76, 68, 76, 86, 96, 123, 139,
+  145, 155, 160, 167, 169, 165, 164, 167, 165, 169, 165, 153, 141, 129, 112, 103,
+  81, 71, 55, 76, 76, 74, 76, 86, 84, 86, 76, 94, 89, 91, 101, 89,
+  96, 89, 98, 98, 108, 94, 101, 110, 98, 110, 110, 117, 105, 110, 103, 103,
+  147, 210, 143, 86, 96, 101, 101, 94, 105, 108, 91, 110, 98, 112, 105, 103,
+  117, 108, 117, 117, 108, 133, 119, 121, 135, 133, 151, 135, 131, 127, 145, 123,
+  139, 145, 131, 137, 147, 125, 135, 119, 127, 121, 105, 98, 155, 182, 185, 185,
+  192, 200, 206, 204, 185, 193, 190, 201, 198, 203, 190, 172, 197, 206, 210, 200,
+  212, 210, 201, 201, 207, 207, 213, 213, 212, 215, 206, 210, 212, 212, 215, 215,
+  213, 200, 203, 210, 212, 216, 219, 218, 216, 215, 218, 218, 221, 219, 222, 230,
+  231, 234, 210, 43, 43, 60, 89, 110, 123, 129, 147, 151, 147, 149, 153, 153,
+  155, 155, 155, 160, 139, 125, 121, 105, 74, 46, 35, 23, 15, 29, 23, 35,
+  15, 12, 20, 52, 74, 137, 204, 209, 225, 225, 218, 179, 176, 207, 176, 143,
+  105, 29, 23, 18, 32, 23, 41, 35, 46, 23, 46, 41, 29, 43, 41, 52,
+  38, 46, 32, 43, 38, 29, 43, 35, 35, 41, 32, 32, 20, 29, 79, 129,
+  149, 155, 151, 139, 139, 137, 153, 164, 165, 169, 171, 167, 164, 162, 164, 169,
+  79, 91, 81, 81, 84, 79, 74, 76, 74, 74, 68, 68, 81, 101, 125, 137,
+  147, 149, 160, 167, 167, 164, 165, 167, 169, 164, 164, 155, 145, 139, 121, 103,
+  86, 74, 68, 66, 68, 81, 79, 84, 84, 79, 86, 84, 103, 91, 98, 94,
+  81, 96, 101, 121, 108, 103, 101, 94, 98, 101, 105, 108, 103, 108, 101, 94,
+  201, 198, 155, 89, 89, 103, 89, 98, 101, 101, 103, 105, 105, 112, 94, 101,
+  86, 123, 110, 110, 123, 114, 133, 114, 127, 137, 127, 129, 151, 137, 131, 141,
+  127, 114, 139, 137, 143, 123, 105, 127, 119, 105, 114, 162, 167, 195, 193, 197,
+  189, 195, 187, 187, 197, 197, 200, 192, 190, 169, 190, 193, 198, 203, 203, 209,
+  203, 204, 209, 206, 203, 210, 204, 215, 210, 210, 209, 212, 207, 215, 209, 206,
+  209, 212, 207, 212, 212, 215, 212, 219, 218, 210, 218, 221, 216, 222, 221, 231,
+  231, 233, 231, 103, 29, 60, 81, 103, 127, 137, 145, 151, 147, 151, 153, 153,
+  155, 151, 149, 153, 141, 137, 127, 89, 79, 38, 32, 20, 32, 26, 26, 12,
+  18, 12, 20, 68, 187, 213, 225, 225, 218, 212, 203, 213, 225, 225, 225, 185,
+  55, 20, 26, 41, 18, 63, 20, 35, 46, 38, 41, 38, 43, 46, 60, 49,
+  35, 49, 38, 35, 29, 26, 41, 38, 41, 32, 23, 23, 41, 71, 119, 139,
+  156, 151, 149, 143, 141, 149, 156, 167, 172, 171, 162, 169, 165, 169, 164, 164,
+  81, 81, 84, 79, 89, 89, 76, 76, 71, 81, 71, 79, 79, 98, 112, 139,
+  141, 160, 162, 165, 167, 164, 164, 165, 164, 165, 164, 149, 145, 131, 114, 101,
+  89, 55, 55, 63, 66, 76, 71, 76, 76, 91, 91, 79, 91, 89, 84, 86,
+  96, 101, 81, 94, 89, 98, 94, 108, 105, 112, 103, 101, 105, 96, 101, 121,
+  222, 189, 110, 79, 96, 91, 84, 101, 103, 101, 114, 114, 103, 96, 110, 94,
+  114, 101, 121, 110, 123, 129, 123, 135, 131, 129, 141, 131, 137, 143, 121, 119,
+  135, 141, 141, 135, 105, 123, 127, 108, 112, 129, 184, 185, 171, 184, 207, 201,
+  197, 181, 184, 181, 197, 206, 204, 177, 179, 195, 190, 201, 193, 201, 201, 204,
+  209, 206, 206, 204, 207, 207, 203, 201, 212, 213, 210, 207, 207, 197, 212, 215,
+  207, 219, 215, 204, 210, 215, 216, 215, 219, 213, 216, 219, 216, 219, 221, 222,
+  230, 228, 231, 185, 29, 55, 81, 103, 123, 133, 141, 151, 149, 158, 155, 151,
+  155, 156, 149, 155, 141, 137, 125, 103, 68, 38, 32, 29, 32, 29, 18, 23,
+  41, 26, 68, 203, 219, 227, 219, 204, 193, 215, 215, 219, 222, 224, 224, 219,
+  79, 15, 23, 29, 29, 35, 20, 46, 55, 52, 46, 46, 26, 43, 41, 29,
+  38, 41, 43, 41, 29, 35, 49, 63, 38, 23, 15, 26, 55, 108, 143, 151,
+  153, 149, 149, 139, 151, 162, 169, 179, 165, 165, 169, 169, 165, 164, 165, 164,
+  94, 84, 86, 89, 81, 71, 74, 81, 81, 76, 68, 81, 68, 98, 123, 129,
+  147, 153, 162, 165, 162, 165, 169, 162, 158, 165, 160, 153, 143, 133, 112, 103,
+  68, 55, 60, 68, 74, 74, 86, 74, 89, 86, 89, 86, 86, 94, 89, 86,
+  96, 96, 96, 98, 91, 94, 96, 101, 103, 103, 108, 101, 98, 89, 96, 169,
+  216, 153, 117, 98, 94, 86, 98, 96, 108, 98, 108, 110, 103, 103, 110, 110,
+  105, 127, 101, 121, 123, 125, 133, 121, 133, 135, 135, 139, 133, 121, 125, 139,
+  137, 135, 125, 101, 121, 103, 86, 103, 151, 174, 167, 189, 193, 181, 207, 181,
+  187, 190, 181, 184, 200, 189, 179, 195, 200, 195, 195, 189, 200, 201, 204, 198,
+  201, 204, 195, 213, 203, 201, 207, 207, 206, 210, 200, 198, 204, 209, 215, 213,
+  215, 209, 216, 216, 207, 210, 215, 218, 215, 218, 216, 218, 216, 218, 219, 221,
+  225, 233, 233, 218, 71, 49, 71, 103, 117, 135, 143, 149, 149, 153, 153, 153,
+  151, 153, 151, 155, 143, 133, 114, 94, 66, 35, 26, 20, 26, 23, 18, 23,
+  35, 119, 210, 225, 224, 210, 189, 212, 213, 222, 231, 233, 233, 236, 233, 230,
+  176, 29, 23, 29, 26, 29, 38, 49, 35, 38, 38, 49, 52, 43, 46, 35,
+  35, 43, 49, 35, 38, 46, 35, 35, 41, 29, 23, 26, 84, 133, 151, 151,
+  149, 149, 143, 151, 158, 174, 174, 179, 167, 167, 164, 169, 165, 162, 165, 165,
+  76, 81, 79, 81, 81, 84, 74, 79, 84, 86, 76, 60, 79, 105, 119, 131,
+  143, 155, 158, 165, 169, 162, 165, 164, 165, 167, 160, 155, 139, 129, 112, 98,
+  57, 63, 49, 55, 60, 68, 76, 81, 86, 91, 86, 89, 86, 89, 91, 86,
+  96, 89, 91, 103, 94, 91, 98, 103, 105, 101, 103, 98, 103, 94, 98, 221,
+  201, 172, 131, 96, 84, 101, 101, 96, 105, 105, 96, 112, 103, 117, 98, 125,
+  101, 117, 117, 105, 131, 119, 131, 127, 125, 119, 143, 114, 98, 135, 135, 129,
+  133, 119, 137, 123, 101, 105, 110, 171, 182, 179, 182, 200, 182, 171, 185, 187,
+  179, 181, 192, 192, 156, 176, 198, 195, 197, 187, 190, 198, 189, 203, 204, 200,
+  206, 204, 206, 197, 207, 198, 204, 203, 201, 189, 206, 212, 210, 210, 209, 210,
+  215, 209, 206, 215, 213, 206, 212, 213, 215, 216, 215, 215, 212, 213, 212, 216,
+  224, 228, 233, 228, 176, 43, 79, 103, 117, 131, 143, 149, 158, 149, 155, 156,
+  153, 149, 153, 155, 145, 135, 117, 94, 71, 29, 29, 20, 23, 18, 20, 41,
+  151, 213, 227, 221, 193, 179, 218, 222, 227, 228, 230, 230, 230, 233, 237, 237,
+  222, 32, 35, 32, 32, 26, 32, 38, 43, 41, 46, 32, 35, 32, 29, 29,
+  32, 43, 29, 38, 32, 46, 35, 49, 35, 23, 52, 68, 121, 149, 156, 156,
+  149, 145, 147, 158, 164, 171, 169, 171, 167, 167, 165, 167, 169, 169, 162, 162,
+  79, 74, 84, 71, 79, 79, 79, 84, 86, 86, 79, 79, 84, 96, 121, 127,
+  147, 153, 164, 162, 169, 171, 171, 169, 164, 165, 162, 156, 147, 125, 117, 91,
+  74, 57, 52, 52, 68, 66, 81, 86, 81, 81, 86, 101, 89, 101, 86, 84,
+  89, 98, 84, 91, 98, 103, 91, 94, 91, 110, 103, 105, 96, 89, 123, 218,
+  195, 169, 110, 86, 84, 91, 94, 96, 96, 94, 105, 123, 101, 101, 110, 98,
+  123, 96, 105, 123, 129, 127, 127, 110, 125, 127, 101, 119, 131, 135, 141, 137,
+  121, 131, 121, 105, 98, 119, 165, 162, 177, 190, 185, 184, 177, 164, 174, 171,
+  193, 201, 172, 179, 184, 195, 177, 195, 187, 198, 200, 192, 201, 193, 206, 193,
+  201, 204, 203, 207, 198, 206, 195, 190, 203, 210, 206, 209, 212, 209, 212, 210,
+  209, 207, 209, 203, 209, 207, 207, 216, 216, 212, 213, 213, 213, 213, 219, 216,
+  215, 224, 233, 230, 222, 108, 57, 96, 117, 137, 133, 155, 155, 149, 156, 158,
+  151, 151, 151, 149, 137, 129, 121, 103, 57, 20, 18, 12, 15, 23, 66, 195,
+  216, 221, 213, 171, 195, 221, 224, 225, 222, 224, 225, 222, 228, 228, 230, 237,
+  231, 63, 32, 32, 23, 26, 29, 29, 32, 43, 66, 23, 32, 35, 26, 38,
+  49, 29, 29, 29, 35, 29, 35, 32, 26, 38, 60, 108, 143, 158, 158, 145,
+  143, 145, 153, 164, 167, 169, 167, 169, 167, 165, 165, 167, 164, 160, 164, 162,
+  79, 86, 86, 91, 81, 79, 79, 86, 86, 79, 76, 71, 74, 108, 114, 129,
+  143, 153, 160, 165, 167, 169, 165, 164, 164, 165, 160, 149, 141, 131, 114, 96,
+  71, 74, 57, 60, 49, 76, 71, 86, 84, 89, 91, 91, 86, 91, 86, 96,
+  84, 98, 94, 94, 91, 94, 101, 94, 103, 105, 110, 117, 96, 89, 155, 219,
+  200, 155, 110, 84, 89, 91, 96, 91, 101, 101, 112, 117, 105, 94, 125, 105,
+  94, 123, 125, 123, 133, 119, 110, 125, 119, 108, 129, 131, 135, 131, 117, 123,
+  119, 101, 108, 74, 133, 174, 182, 169, 187, 189, 171, 172, 181, 172, 155, 200,
+  172, 160, 185, 197, 195, 189, 185, 169, 203, 193, 203, 198, 193, 203, 189, 206,
+  192, 206, 204, 203, 201, 177, 201, 204, 203, 207, 210, 206, 204, 206, 210, 210,
+  207, 209, 210, 209, 203, 210, 209, 210, 213, 218, 209, 218, 218, 218, 218, 216,
+  218, 221, 225, 230, 230, 201, 63, 79, 119, 133, 141, 155, 156, 160, 160, 160,
+  158, 153, 160, 153, 145, 135, 114, 89, 55, 23, 15, 18, 26, 86, 203, 219,
+  224, 204, 162, 197, 218, 228, 224, 221, 219, 218, 224, 224, 218, 222, 227, 237,
+  231, 123, 35, 26, 32, 32, 29, 32, 35, 46, 49, 38, 29, 29, 23, 20,
+  23, 15, 46, 32, 43, 43, 43, 43, 46, 41, 84, 139, 156, 156, 155, 149,
+  141, 155, 165, 167, 169, 169, 164, 167, 165, 169, 167, 165, 162, 164, 165, 160,
+  81, 84, 91, 81, 91, 81, 81, 89, 91, 91, 86, 71, 84, 101, 114, 137,
+  147, 155, 164, 174, 174, 167, 172, 167, 167, 171, 164, 155, 145, 129, 121, 101,
+  68, 57, 66, 55, 68, 76, 81, 89, 89, 91, 86, 89, 86, 96, 98, 94,
+  89, 94, 101, 91, 94, 94, 98, 110, 110, 101, 110, 108, 103, 96, 181, 216,
+  187, 137, 103, 81, 89, 103, 91, 98, 91, 108, 103, 105, 76, 110, 103, 103,
+  127, 121, 125, 131, 114, 123, 119, 105, 117, 131, 139, 131, 112, 108, 137, 121,
+  108, 117, 98, 141, 160, 174, 182, 195, 184, 174, 164, 165, 171, 185, 192, 167,
+  182, 195, 182, 189, 193, 190, 182, 190, 185, 206, 195, 206, 198, 189, 189, 193,
+  204, 195, 193, 182, 189, 206, 207, 210, 203, 203, 206, 204, 200, 193, 204, 212,
+  209, 206, 209, 210, 212, 209, 210, 210, 216, 216, 216, 218, 216, 212, 209, 213,
+  213, 216, 216, 222, 224, 225, 145, 74, 114, 129, 145, 151, 155, 151, 155, 158,
+  156, 155, 156, 151, 143, 127, 101, 91, 41, 20, 15, 32, 123, 212, 227, 218,
+  190, 156, 207, 221, 227, 224, 221, 218, 218, 218, 219, 216, 209, 219, 227, 234,
+  234, 158, 35, 26, 23, 18, 32, 32, 41, 29, 52, 32, 26, 26, 29, 20,
+  15, 35, 35, 38, 46, 43, 46, 32, 35, 57, 112, 149, 162, 153, 151, 147,
+  153, 162, 165, 167, 162, 164, 164, 164, 167, 162, 165, 162, 164, 164, 162, 164,
+  84, 86, 91, 91, 86, 89, 94, 89, 84, 81, 103, 91, 89, 105, 114, 125,
+  145, 158, 160, 169, 171, 167, 171, 172, 169, 167, 165, 158, 145, 137, 110, 94,
+  71, 63, 68, 66, 66, 79, 84, 81, 84, 86, 89, 89, 84, 96, 91, 86,
+  91, 96, 101, 94, 103, 94, 98, 103, 105, 105, 105, 96, 98, 96, 218, 206,
+  176, 177, 103, 76, 98, 89, 103, 108, 103, 101, 110, 71, 110, 119, 117, 110,
+  117, 127, 112, 119, 125, 101, 105, 127, 119, 129, 137, 117, 119, 133, 127, 108,
+  103, 98, 153, 162, 165, 181, 177, 179, 177, 171, 156, 167, 190, 181, 162, 182,
+  190, 192, 189, 182, 184, 185, 200, 193, 197, 189, 198, 185, 203, 195, 203, 185,
+  193, 190, 182, 201, 198, 206, 206, 207, 207, 198, 203, 209, 207, 204, 193, 209,
+  210, 209, 204, 209, 209, 218, 216, 215, 213, 209, 203, 210, 210, 213, 213, 215,
+  213, 215, 215, 218, 222, 225, 209, 112, 114, 125, 143, 153, 153, 158, 158, 156,
+  155, 155, 153, 151, 135, 119, 101, 66, 38, 26, 60, 167, 219, 224, 215, 179,
+  176, 209, 222, 222, 221, 221, 221, 215, 210, 209, 212, 213, 218, 221, 225, 231,
+  236, 162, 29, 26, 23, 26, 43, 55, 46, 29, 35, 20, 23, 35, 23, 23,
+  29, 26, 29, 35, 41, 38, 29, 23, 35, 101, 145, 153, 156, 153, 147, 151,
+  162, 164, 164, 164, 167, 164, 165, 164, 165, 164, 167, 164, 160, 162, 164, 165,
+  86, 89, 84, 89, 94, 91, 98, 89, 81, 84, 91, 91, 86, 103, 110, 135,
+  141, 155, 162, 165, 174, 172, 176, 174, 171, 169, 164, 158, 143, 135, 114, 96,
+  68, 63, 57, 63, 74, 74, 76, 91, 98, 96, 81, 91, 81, 89, 89, 96,
+  91, 86, 91, 101, 98, 94, 98, 101, 103, 108, 103, 98, 94, 103, 221, 218,
+  192, 137, 103, 81, 98, 96, 84, 98, 94, 81, 74, 110, 108, 112, 105, 125,
+  112, 110, 125, 114, 119, 125, 114, 105, 137, 127, 131, 153, 131, 125, 114, 89,
+  103, 137, 160, 179, 165, 179, 172, 158, 164, 176, 174, 174, 167, 165, 197, 185,
+  185, 187, 187, 179, 187, 198, 201, 185, 192, 192, 184, 200, 184, 201, 182, 192,
+  160, 176, 204, 198, 197, 198, 204, 207, 209, 206, 197, 198, 206, 206, 207, 197,
+  210, 210, 210, 206, 198, 215, 203, 189, 206, 206, 206, 212, 212, 215, 212, 216,
+  213, 215, 215, 218, 216, 221, 224, 212, 149, 123, 137, 147, 156, 151, 155, 155,
+  156, 153, 149, 149, 129, 114, 86, 52, 52, 123, 200, 225, 219, 206, 182, 195,
+  213, 222, 221, 219, 221, 218, 215, 210, 206, 212, 209, 216, 218, 224, 225, 231,
+  234, 155, 20, 26, 26, 26, 46, 43, 52, 35, 29, 26, 23, 23, 32, 20,
+  35, 41, 32, 29, 41, 23, 12, 43, 63, 133, 156, 156, 149, 149, 147, 160,
+  169, 165, 169, 164, 165, 164, 165, 165, 162, 167, 165, 164, 164, 156, 162, 162,
+  84, 96, 91, 89, 89, 94, 89, 86, 91, 89, 86, 86, 84, 98, 121, 125,
+  143, 156, 160, 171, 167, 167, 171, 172, 165, 171, 167, 156, 153, 139, 114, 98,
+  71, 63, 60, 57, 66, 81, 91, 81, 89, 96, 84, 101, 86, 84, 101, 108,
+  94, 89, 91, 96, 103, 101, 108, 98, 108, 101, 108, 94, 91, 117, 222, 201,
+  158, 117, 89, 76, 86, 89, 94, 98, 86, 98, 105, 121, 105, 114, 108, 110,
+  119, 119, 96, 105, 117, 123, 112, 129, 133, 129, 121, 125, 129, 117, 76, 110,
+  160, 169, 147, 162, 189, 162, 145, 160, 162, 187, 181, 147, 171, 181, 177, 200,
+  182, 179, 190, 197, 195, 187, 185, 200, 190, 190, 192, 177, 200, 182, 189, 171,
+  184, 204, 197, 198, 189, 192, 203, 203, 204, 206, 207, 204, 201, 204, 204, 207,
+  197, 212, 213, 207, 190, 158, 182, 207, 212, 210, 204, 213, 209, 210, 209, 207,
+  210, 213, 212, 209, 213, 221, 221, 222, 224, 165, 129, 145, 145, 149, 153, 155,
+  156, 149, 149, 139, 131, 105, 81, 89, 179, 218, 219, 212, 185, 185, 201, 216,
+  221, 221, 216, 215, 218, 212, 213, 209, 209, 212, 212, 219, 221, 224, 227, 230,
+  231, 131, 41, 32, 38, 35, 35, 38, 43, 29, 41, 35, 26, 29, 20, 23,
+  35, 52, 41, 55, 18, 12, 18, 52, 108, 147, 158, 153, 151, 147, 151, 162,
+  164, 169, 169, 162, 164, 162, 164, 165, 162, 164, 162, 167, 165, 160, 164, 160,
+  91, 89, 91, 91, 91, 91, 96, 91, 86, 89, 84, 86, 86, 94, 114, 133,
+  149, 155, 164, 167, 171, 169, 174, 169, 169, 174, 167, 156, 145, 143, 114, 101,
+  74, 66, 66, 71, 86, 74, 86, 89, 91, 91, 94, 94, 86, 94, 89, 96,
+  89, 86, 91, 94, 94, 96, 98, 101, 103, 114, 112, 94, 91, 147, 216, 212,
+  145, 110, 105, 91, 81, 81, 98, 86, 105, 98, 105, 103, 105, 108, 81, 121,
+  110, 86, 125, 123, 110, 123, 123, 110, 133, 117, 108, 129, 121, 98, 110, 141,
+  155, 169, 176, 151, 145, 162, 143, 156, 190, 155, 153, 185, 192, 179, 174, 174,
+  192, 189, 189, 198, 185, 177, 182, 182, 201, 187, 185, 189, 181, 171, 174, 192,
+  189, 184, 198, 200, 198, 189, 198, 198, 200, 206, 206, 198, 207, 210, 206, 206,
+  210, 207, 209, 204, 158, 179, 204, 203, 207, 209, 210, 215, 209, 210, 212, 212,
+  209, 209, 203, 207, 212, 212, 216, 218, 222, 215, 153, 145, 153, 156, 149, 151,
+  149, 153, 139, 131, 125, 105, 155, 209, 228, 215, 201, 200, 189, 209, 218, 219,
+  219, 216, 215, 210, 215, 210, 210, 209, 213, 210, 213, 218, 222, 225, 225, 228,
+  230, 86, 41, 18, 29, 35, 29, 23, 55, 43, 41, 35, 32, 29, 41, 35,
+  32, 41, 29, 35, 18, 12, 26, 89, 135, 160, 160, 155, 147, 151, 158, 162,
+  167, 169, 167, 165, 164, 172, 160, 164, 165, 162, 162, 158, 164, 164, 164, 164,
+  94, 91, 96, 91, 89, 84, 91, 89, 91, 84, 89, 81, 89, 103, 119, 137,
+  141, 151, 164, 167, 169, 169, 174, 172, 172, 169, 165, 160, 153, 141, 117, 105,
+  74, 55, 63, 60, 74, 74, 84, 81, 96, 91, 86, 91, 91, 89, 91, 89,
+  94, 84, 76, 86, 98, 94, 103, 101, 105, 110, 98, 94, 74, 190, 221, 192,
+  143, 110, 117, 94, 81, 94, 81, 101, 91, 117, 86, 105, 103, 89, 114, 112,
+  110, 119, 114, 112, 121, 131, 125, 133, 108, 114, 119, 110, 96, 112, 145, 167,
+  162, 160, 169, 151, 139, 141, 171, 165, 127, 160, 176, 177, 185, 182, 182, 181,
+  184, 197, 185, 174, 190, 182, 176, 193, 182, 200, 190, 179, 153, 165, 200, 197,
+  192, 184, 185, 201, 198, 190, 193, 203, 200, 193, 203, 197, 200, 210, 207, 206,
+  209, 210, 190, 155, 190, 204, 198, 200, 206, 210, 207, 210, 209, 213, 210, 210,
+  207, 207, 206, 201, 207, 210, 212, 215, 215, 218, 198, 139, 156, 153, 147, 143,
+  153, 153, 141, 129, 160, 203, 224, 218, 207, 197, 203, 197, 209, 221, 218, 218,
+  216, 215, 209, 213, 210, 209, 209, 212, 207, 213, 219, 221, 222, 222, 225, 230,
+  231, 35, 38, 35, 41, 38, 32, 26, 41, 46, 35, 26, 26, 26, 23, 41,
+  29, 38, 49, 35, 9, 18, 43, 114, 156, 162, 153, 156, 145, 155, 167, 167,
+  165, 167, 169, 160, 165, 162, 162, 162, 164, 162, 156, 164, 160, 162, 160, 155,
+  89, 101, 96, 96, 96, 86, 89, 91, 96, 89, 89, 86, 89, 98, 117, 135,
+  149, 149, 153, 171, 169, 169, 174, 177, 172, 171, 169, 162, 155, 137, 119, 108,
+  76, 66, 63, 60, 76, 76, 79, 84, 81, 96, 94, 94, 94, 96, 86, 96,
+  101, 81, 86, 96, 86, 94, 103, 98, 110, 101, 96, 89, 81, 198, 215, 182,
+  135, 127, 112, 105, 101, 79, 101, 94, 94, 86, 96, 79, 94, 114, 117, 117,
+  110, 98, 123, 121, 125, 119, 110, 103, 123, 110, 108, 98, 112, 135, 160, 156,
+  171, 143, 143, 151, 151, 160, 147, 135, 155, 158, 179, 177, 172, 185, 189, 187,
+  172, 174, 181, 179, 167, 200, 195, 179, 193, 174, 187, 167, 187, 189, 181, 197,
+  189, 192, 192, 187, 184, 203, 197, 184, 190, 200, 197, 198, 198, 210, 209, 212,
+  206, 187, 172, 187, 197, 197, 204, 209, 209, 207, 206, 207, 204, 209, 204, 207,
+  209, 209, 209, 207, 201, 201, 206, 206, 215, 212, 215, 143, 151, 155, 149, 151,
+  149, 141, 151, 203, 219, 221, 212, 195, 207, 179, 203, 213, 221, 218, 215, 215,
+  212, 209, 210, 209, 209, 210, 212, 212, 215, 218, 219, 222, 224, 225, 227, 225,
+  222, 35, 35, 29, 41, 32, 35, 26, 32, 32, 46, 35, 26, 29, 15, 32,
+  41, 32, 32, 29, 23, 38, 94, 143, 153, 162, 155, 145, 153, 158, 160, 169,
+  164, 167, 165, 164, 162, 160, 160, 165, 162, 167, 160, 162, 164, 165, 158, 158,
+  86, 96, 84, 86, 89, 96, 96, 98, 96, 81, 86, 79, 98, 98, 119, 131,
+  147, 153, 158, 167, 169, 176, 172, 176, 174, 176, 172, 164, 153, 139, 123, 101,
+  86, 55, 60, 57, 76, 81, 79, 84, 94, 101, 91, 96, 89, 86, 94, 94,
+  86, 86, 89, 91, 86, 96, 103, 101, 96, 98, 105, 86, 91, 222, 215, 158,
+  149, 121, 123, 98, 98, 103, 94, 96, 81, 94, 84, 98, 89, 91, 110, 94,
+  94, 123, 110, 114, 117, 105, 101, 129, 108, 110, 110, 123, 151, 143, 149, 160,
+  160, 141, 143, 147, 179, 139, 127, 162, 172, 169, 153, 176, 179, 187, 192, 174,
+  177, 171, 164, 162, 193, 187, 201, 197, 174, 158, 164, 192, 184, 187, 185, 172,
+  200, 193, 185, 185, 182, 181, 187, 197, 179, 187, 201, 207, 204, 195, 207, 201,
+  172, 185, 201, 206, 198, 201, 192, 198, 200, 203, 204, 206, 204, 204, 204, 200,
+  200, 206, 206, 207, 203, 201, 206, 201, 204, 209, 219, 164, 151, 151, 149, 147,
+  139, 181, 209, 225, 209, 198, 193, 203, 187, 209, 219, 218, 216, 215, 212, 210,
+  209, 209, 210, 212, 212, 213, 210, 213, 213, 216, 221, 218, 222, 225, 227, 228,
+  212, 35, 38, 43, 43, 43, 41, 38, 46, 29, 23, 41, 20, 18, 23, 35,
+  35, 35, 32, 35, 35, 74, 127, 147, 162, 153, 153, 147, 153, 160, 169, 167,
+  167, 169, 164, 164, 164, 167, 158, 162, 162, 162, 164, 162, 162, 158, 160, 155,
+  91, 94, 98, 89, 86, 91, 98, 89, 94, 86, 91, 76, 94, 98, 127, 133,
+  149, 155, 164, 164, 171, 171, 174, 174, 172, 177, 174, 164, 155, 139, 127, 96,
+  74, 68, 66, 63, 74, 76, 76, 79, 94, 81, 89, 91, 98, 94, 96, 94,
+  79, 96, 94, 91, 94, 98, 96, 98, 98, 96, 101, 81, 96, 225, 209, 179,
+  135, 135, 121, 98, 101, 98, 103, 96, 103, 91, 96, 91, 98, 117, 101, 110,
+  117, 110, 123, 114, 101, 112, 114, 123, 117, 103, 123, 164, 147, 153, 147, 149,
+  143, 145, 156, 153, 135, 129, 153, 164, 165, 169, 164, 177, 185, 177, 177, 177,
+  174, 171, 181, 189, 167, 198, 179, 187, 155, 164, 187, 182, 181, 184, 176, 185,
+  177, 189, 192, 172, 190, 187, 176, 192, 195, 189, 200, 190, 190, 160, 172, 179,
+  189, 200, 203, 197, 187, 192, 189, 201, 203, 200, 201, 206, 206, 200, 193, 203,
+  198, 195, 200, 203, 201, 193, 197, 198, 193, 206, 210, 197, 141, 156, 153, 172,
+  207, 215, 212, 200, 203, 210, 189, 207, 212, 219, 215, 213, 213, 206, 207, 212,
+  210, 207, 209, 212, 212, 210, 209, 215, 213, 212, 215, 221, 227, 227, 225, 230,
+  171, 46, 35, 41, 41, 41, 46, 23, 41, 32, 20, 20, 20, 41, 23, 35,
+  29, 41, 46, 55, 60, 101, 149, 153, 151, 149, 145, 149, 165, 169, 167, 162,
+  169, 169, 169, 167, 164, 164, 160, 165, 167, 162, 160, 153, 160, 158, 158, 158,
+  91, 98, 89, 86, 98, 96, 86, 86, 96, 89, 91, 81, 89, 103, 117, 135,
+  145, 160, 167, 169, 174, 169, 179, 177, 174, 181, 174, 169, 153, 139, 123, 94,
+  81, 68, 66, 68, 84, 98, 76, 86, 86, 91, 91, 84, 89, 94, 89, 96,
+  81, 94, 96, 91, 98, 98, 91, 94, 105, 98, 86, 81, 129, 222, 204, 160,
+  174, 127, 129, 98, 84, 101, 86, 98, 94, 103, 91, 101, 94, 96, 103, 103,
+  103, 117, 103, 98, 121, 119, 125, 119, 98, 123, 151, 147, 153, 160, 149, 137,
+  135, 153, 158, 129, 137, 162, 169, 158, 153, 172, 177, 160, 149, 172, 172, 174,
+  185, 174, 172, 190, 179, 156, 181, 153, 181, 184, 179, 190, 182, 190, 185, 182,
+  182, 182, 177, 192, 177, 197, 189, 181, 201, 190, 197, 190, 165, 190, 193, 192,
+  197, 192, 179, 179, 201, 200, 206, 197, 206, 204, 201, 203, 203, 197, 190, 193,
+  201, 200, 195, 198, 198, 195, 192, 201, 195, 198, 200, 210, 172, 149, 192, 221,
+  216, 200, 184, 209, 195, 201, 212, 215, 216, 215, 212, 213, 209, 207, 209, 212,
+  207, 210, 213, 213, 212, 210, 212, 209, 207, 213, 218, 218, 224, 228, 227, 231,
+  137, 23, 35, 38, 43, 60, 38, 43, 46, 35, 38, 26, 29, 35, 26, 23,
+  26, 29, 52, 57, 81, 131, 151, 156, 156, 143, 149, 155, 164, 167, 167, 162,
+  164, 164, 165, 164, 164, 158, 162, 164, 162, 160, 160, 162, 162, 160, 160, 160,
+  89, 89, 94, 91, 101, 91, 81, 89, 86, 86, 96, 86, 91, 101, 123, 137,
+  145, 155, 164, 167, 174, 176, 177, 179, 177, 176, 174, 165, 156, 143, 119, 101,
+  79, 66, 52, 60, 71, 66, 76, 81, 81, 89, 86, 94, 94, 91, 84, 86,
+  86, 84, 94, 89, 98, 98, 96, 98, 96, 91, 89, 71, 172, 225, 204, 190,
+  147, 137, 121, 108, 108, 89, 105, 110, 101, 86, 101, 94, 101, 108, 110, 108,
+  117, 108, 98, 119, 127, 121, 114, 98, 114, 155, 139, 149, 149, 153, 145, 133,
+  141, 158, 121, 125, 151, 149, 143, 167, 171, 174, 167, 174, 164, 165, 160, 182,
+  192, 187, 174, 164, 181, 162, 164, 181, 182, 185, 181, 174, 182, 192, 185, 179,
+  182, 184, 179, 176, 192, 179, 198, 201, 200, 201, 184, 182, 189, 181, 185, 192,
+  201, 201, 203, 189, 198, 201, 201, 204, 192, 203, 198, 190, 198, 195, 189, 195,
+  197, 197, 195, 197, 198, 195, 187, 201, 193, 197, 195, 203, 198, 207, 215, 209,
+  197, 200, 204, 198, 206, 215, 216, 210, 212, 213, 210, 210, 212, 212, 206, 207,
+  207, 212, 212, 213, 209, 212, 207, 203, 206, 218, 218, 216, 227, 227, 230, 230,
+  68, 20, 26, 20, 26, 23, 35, 76, 55, 29, 38, 18, 41, 26, 26, 43,
+  43, 52, 71, 84, 123, 145, 155, 149, 149, 145, 156, 165, 165, 169, 169, 169,
+  165, 162, 165, 164, 160, 164, 160, 164, 162, 158, 164, 162, 156, 158, 162, 164,
+  89, 94, 86, 94, 98, 79, 98, 94, 98, 84, 86, 94, 94, 112, 123, 131,
+  145, 160, 171, 174, 174, 177, 179, 177, 176, 179, 174, 167, 156, 141, 112, 112,
+  71, 63, 68, 68, 71, 79, 76, 86, 81, 79, 84, 101, 94, 89, 86, 84,
+  89, 86, 91, 89, 86, 86, 98, 94, 91, 89, 84, 74, 203, 218, 207, 169,
+  156, 141, 137, 119, 101, 112, 101, 89, 84, 98, 98, 96, 98, 103, 114, 112,
+  110, 133, 121, 119, 133, 114, 96, 105, 151, 156, 149, 143, 143, 141, 139, 162,
+  141, 119, 131, 155, 145, 151, 153, 155, 179, 151, 153, 158, 164, 169, 182, 169,
+  189, 193, 193, 167, 156, 162, 177, 200, 185, 171, 177, 182, 174, 177, 195, 174,
+  181, 179, 179, 179, 177, 190, 185, 200, 190, 184, 189, 193, 193, 187, 197, 189,
+  184, 197, 193, 201, 193, 198, 200, 197, 203, 193, 200, 189, 177, 184, 193, 193,
+  197, 182, 198, 187, 195, 190, 181, 177, 195, 185, 193, 201, 207, 209, 203, 203,
+  203, 201, 207, 212, 219, 215, 212, 209, 209, 210, 209, 209, 209, 206, 207, 210,
+  212, 213, 210, 212, 212, 212, 198, 200, 209, 213, 216, 218, 224, 227, 228, 222,
+  20, 12, 23, 20, 43, 26, 23, 32, 32, 32, 18, 23, 29, 29, 49, 35,
+  32, 38, 60, 101, 137, 155, 155, 153, 149, 151, 156, 164, 167, 167, 167, 164,
+  167, 162, 160, 167, 162, 164, 162, 164, 162, 164, 162, 162, 158, 158, 160, 162,
+  98, 98, 84, 84, 84, 86, 89, 89, 86, 86, 89, 86, 101, 108, 117, 133,
+  145, 156, 164, 172, 176, 177, 179, 174, 176, 179, 172, 169, 155, 135, 121, 105,
+  79, 55, 60, 60, 76, 79, 79, 89, 81, 91, 81, 91, 84, 89, 86, 91,
+  89, 81, 98, 91, 86, 91, 103, 94, 89, 103, 79, 79, 218, 219, 193, 201,
+  141, 147, 125, 127, 117, 125, 108, 108, 101, 94, 101, 96, 103, 123, 94, 98,
+  114, 108, 117, 123, 117, 108, 103, 141, 149, 149, 155, 141, 133, 143, 160, 137,
+  135, 133, 158, 145, 151, 143, 155, 158, 131, 167, 149, 158, 172, 177, 182, 190,
+  172, 165, 179, 153, 171, 185, 171, 185, 182, 172, 176, 184, 189, 172, 171, 187,
+  179, 177, 184, 176, 177, 174, 193, 181, 181, 193, 197, 189, 181, 187, 195, 176,
+  190, 193, 192, 203, 201, 197, 195, 201, 195, 189, 184, 189, 185, 176, 187, 193,
+  197, 197, 181, 189, 189, 181, 172, 172, 182, 203, 216, 204, 192, 172, 195, 204,
+  203, 207, 216, 218, 215, 215, 209, 200, 209, 209, 207, 210, 207, 206, 204, 212,
+  209, 213, 210, 213, 215, 195, 184, 193, 207, 213, 216, 216, 219, 225, 225, 195,
+  26, 9, 23, 29, 20, 26, 23, 32, 35, 29, 20, 26, 23, 46, 38, 23,
+  18, 43, 89, 129, 149, 153, 153, 145, 143, 153, 164, 164, 167, 165, 164, 167,
+  167, 167, 169, 164, 160, 165, 164, 164, 164, 158, 165, 164, 160, 164, 162, 160,
+  84, 86, 84, 89, 86, 89, 89, 96, 86, 86, 86, 86, 89, 108, 112, 133,
+  145, 156, 164, 171, 177, 176, 176, 176, 176, 177, 172, 167, 149, 143, 125, 108,
+  81, 63, 57, 68, 74, 84, 89, 86, 84, 89, 89, 91, 91, 91, 84, 84,
+  84, 91, 86, 86, 98, 98, 94, 98, 96, 91, 79, 76, 218, 213, 200, 158,
+  162, 147, 133, 129, 105, 133, 114, 110, 91, 101, 91, 105, 103, 89, 96, 108,
+  131, 110, 125, 105, 101, 110, 149, 127, 145, 155, 141, 141, 133, 162, 133, 105,
+  137, 149, 153, 151, 153, 165, 164, 133, 145, 137, 167, 158, 167, 189, 176, 177,
+  179, 147, 151, 185, 184, 184, 185, 162, 164, 182, 174, 182, 182, 189, 177, 174,
+  189, 181, 182, 177, 176, 179, 174, 181, 187, 185, 189, 195, 185, 189, 192, 197,
+  184, 195, 192, 200, 201, 198, 193, 187, 189, 192, 195, 185, 172, 189, 172, 195,
+  190, 190, 171, 190, 164, 177, 167, 198, 210, 209, 197, 167, 200, 197, 207, 209,
+  212, 216, 215, 213, 213, 206, 203, 207, 209, 210, 206, 210, 206, 207, 209, 212,
+  212, 212, 213, 215, 200, 176, 174, 189, 201, 212, 212, 210, 219, 224, 225, 114,
+  29, 20, 20, 23, 20, 26, 29, 35, 74, 26, 23, 29, 43, 32, 35, 20,
+  15, 52, 117, 141, 156, 156, 149, 147, 156, 160, 169, 165, 165, 167, 165, 167,
+  165, 169, 169, 164, 158, 164, 162, 160, 164, 165, 160, 164, 162, 164, 164, 167,
+  84, 89, 98, 86, 76, 81, 86, 79, 94, 98, 81, 84, 91, 105, 114, 139,
+  143, 155, 164, 171, 174, 172, 179, 177, 172, 176, 174, 165, 155, 141, 119, 110,
+  84, 57, 66, 71, 76, 74, 86, 81, 84, 91, 91, 94, 91, 84, 91, 86,
+  86, 91, 79, 89, 91, 94, 96, 101, 94, 91, 84, 81, 230, 216, 182, 190,
+  156, 165, 125, 143, 117, 125, 125, 94, 110, 89, 98, 101, 91, 112, 98, 110,
+  129, 108, 84, 89, 117, 151, 133, 141, 147, 137, 143, 133, 160, 121, 110, 129,
+  151, 149, 147, 156, 151, 162, 149, 131, 143, 143, 149, 167, 160, 164, 182, 162,
+  153, 151, 172, 181, 192, 181, 179, 171, 169, 169, 185, 182, 177, 179, 187, 177,
+  172, 156, 181, 185, 176, 162, 179, 181, 179, 192, 174, 179, 184, 184, 193, 197,
+  195, 177, 197, 200, 198, 197, 187, 182, 179, 187, 184, 190, 192, 169, 193, 169,
+  189, 187, 179, 174, 160, 189, 209, 216, 200, 181, 200, 195, 203, 204, 210, 213,
+  215, 212, 210, 213, 206, 206, 204, 207, 206, 207, 209, 207, 207, 212, 210, 212,
+  212, 213, 210, 210, 182, 164, 172, 174, 195, 212, 200, 204, 218, 218, 219, 23,
+  35, 26, 23, 29, 32, 35, 23, 41, 29, 38, 26, 35, 32, 32, 41, 32,
+  23, 71, 131, 151, 153, 151, 147, 151, 162, 167, 165, 165, 167, 167, 165, 160,
+  164, 169, 160, 162, 162, 164, 164, 165, 162, 167, 160, 171, 165, 164, 162, 162,
+  91, 86, 89, 86, 89, 89, 86, 86, 84, 94, 81, 91, 101, 98, 123, 135,
+  147, 158, 167, 176, 176, 174, 177, 176, 177, 176, 177, 165, 156, 139, 125, 103,
+  68, 63, 60, 66, 81, 89, 86, 91, 89, 86, 98, 94, 96, 86, 89, 94,
+  89, 81, 91, 94, 89, 86, 86, 96, 98, 89, 76, 74, 222, 210, 201, 167,
+  177, 145, 177, 127, 160, 125, 114, 101, 110, 105, 84, 68, 105, 94, 103, 123,
+  112, 96, 94, 110, 143, 147, 135, 133, 141, 143, 141, 160, 110, 117, 125, 143,
+  151, 153, 151, 158, 153, 151, 139, 143, 155, 177, 145, 135, 176, 158, 153, 145,
+  167, 182, 181, 177, 169, 172, 179, 176, 169, 169, 162, 174, 189, 176, 164, 172,
+  172, 171, 167, 171, 179, 182, 176, 169, 172, 162, 181, 176, 181, 187, 184, 195,
+  195, 187, 181, 190, 192, 185, 185, 184, 177, 190, 190, 195, 192, 184, 185, 165,
+  187, 174, 167, 172, 203, 216, 200, 193, 197, 204, 206, 203, 210, 215, 210, 209,
+  207, 204, 203, 204, 206, 206, 206, 210, 207, 207, 206, 212, 209, 207, 212, 210,
+  215, 209, 215, 189, 174, 167, 160, 172, 198, 164, 177, 200, 210, 219, 177, 23,
+  23, 57, 46, 43, 23, 32, 41, 52, 29, 20, 23, 26, 23, 32, 43, 66,
+  57, 117, 147, 155, 155, 151, 149, 155, 167, 171, 169, 167, 169, 164, 165, 165,
+  167, 172, 167, 160, 172, 160, 167, 164, 164, 162, 167, 169, 164, 162, 162, 165,
+  84, 89, 81, 94, 86, 84, 86, 84, 86, 81, 81, 94, 94, 94, 123, 131,
+  151, 158, 172, 174, 172, 172, 177, 176, 171, 176, 169, 164, 155, 141, 131, 98,
+  81, 76, 63, 71, 81, 91, 81, 84, 89, 89, 89, 86, 91, 81, 89, 91,
+  94, 86, 86, 98, 89, 89, 94, 89, 96, 91, 86, 84, 227, 210, 174, 189,
+  141, 164, 131, 139, 137, 133, 121, 119, 114, 94, 76, 96, 79, 91, 123, 110,
+  110, 84, 119, 139, 147, 139, 141, 123, 133, 129, 164, 112, 108, 127, 143, 153,
+  145, 158, 155, 147, 151, 137, 164, 162, 153, 145, 143, 137, 153, 172, 139, 164,
+  172, 174, 185, 177, 164, 169, 167, 177, 172, 177, 177, 164, 172, 182, 164, 167,
+  174, 174, 171, 177, 165, 179, 177, 151, 167, 177, 182, 179, 177, 184, 185, 182,
+  193, 193, 192, 184, 187, 187, 182, 182, 179, 171, 184, 193, 182, 182, 155, 169,
+  167, 169, 195, 207, 201, 190, 192, 201, 201, 204, 210, 218, 213, 209, 206, 207,
+  201, 195, 203, 204, 204, 201, 209, 207, 206, 207, 207, 209, 209, 210, 212, 215,
+  215, 210, 207, 174, 155, 162, 177, 198, 149, 141, 172, 195, 204, 222, 49, 41,
+  12, 55, 68, 38, 35, 41, 29, 32, 38, 18, 32, 23, 35, 38, 52, 71,
+  103, 137, 149, 151, 151, 147, 151, 165, 164, 162, 167, 165, 167, 156, 164, 165,
+  164, 164, 165, 167, 165, 164, 165, 160, 164, 167, 171, 169, 162, 164, 164, 162,
+  89, 81, 91, 91, 86, 86, 81, 91, 91, 84, 91, 86, 86, 103, 123, 141,
+  155, 162, 165, 172, 177, 171, 171, 176, 176, 172, 171, 164, 153, 141, 121, 103,
+  76, 55, 66, 57, 79, 86, 79, 91, 84, 108, 96, 89, 84, 84, 89, 86,
+  84, 79, 89, 91, 89, 84, 89, 98, 89, 94, 74, 89, 228, 192, 195, 156,
+  181, 137, 189, 131, 153, 125, 141, 121, 101, 96, 101, 81, 86, 110, 96, 105,
+  76, 117, 145, 143, 131, 137, 127, 137, 129, 158, 103, 117, 119, 133, 135, 149,
+  156, 147, 147, 135, 149, 155, 160, 167, 139, 167, 167, 156, 141, 135, 179, 151,
+  165, 174, 164, 169, 174, 171, 171, 176, 176, 167, 181, 169, 155, 158, 190, 171,
+  165, 172, 176, 177, 164, 156, 169, 172, 172, 171, 177, 187, 174, 182, 172, 172,
+  185, 193, 187, 182, 169, 177, 177, 184, 171, 181, 165, 189, 181, 174, 162, 160,
+  181, 203, 209, 190, 185, 197, 187, 204, 207, 212, 213, 210, 209, 206, 198, 198,
+  201, 200, 198, 203, 206, 206, 209, 209, 209, 209, 209, 213, 207, 213, 215, 212,
+  213, 216, 172, 165, 160, 177, 195, 160, 127, 155, 181, 195, 213, 212, 18, 20,
+  18, 18, 41, 32, 66, 41, 23, 15, 38, 35, 38, 26, 35, 41, 63, 84,
+  127, 143, 156, 147, 149, 153, 153, 162, 165, 165, 165, 169, 167, 167, 167, 162,
+  162, 164, 167, 165, 165, 162, 160, 160, 165, 164, 167, 162, 164, 164, 164, 162,
+  79, 94, 86, 84, 89, 86, 91, 86, 86, 84, 86, 79, 89, 108, 123, 141,
+  145, 160, 167, 171, 174, 176, 174, 172, 176, 176, 174, 167, 156, 145, 123, 101,
+  84, 52, 66, 57, 71, 84, 86, 96, 86, 89, 91, 89, 94, 84, 84, 89,
+  84, 91, 81, 91, 94, 86, 98, 86, 91, 84, 79, 89, 231, 206, 164, 192,
+  145, 167, 135, 155, 139, 141, 123, 133, 94, 98, 89, 101, 103, 96, 101, 79,
+  105, 145, 141, 135, 139, 119, 141, 139, 156, 101, 114, 112, 141, 153, 141, 145,
+  147, 153, 131, 156, 139, 137, 143, 151, 155, 156, 162, 143, 137, 145, 177, 174,
+  164, 149, 155, 153, 171, 182, 171, 165, 174, 162, 160, 172, 162, 167, 160, 176,
+  177, 164, 156, 143, 179, 167, 171, 174, 172, 172, 177, 169, 184, 176, 165, 181,
+  177, 181, 182, 181, 181, 174, 172, 182, 172, 171, 171, 181, 176, 164, 179, 200,
+  212, 184, 169, 195, 192, 204, 206, 216, 215, 213, 212, 209, 203, 203, 201, 204,
+  203, 201, 201, 206, 206, 207, 210, 210, 209, 207, 210, 209, 209, 212, 215, 215,
+  213, 203, 160, 171, 176, 189, 156, 139, 149, 174, 185, 190, 222, 171, 15, 20,
+  18, 20, 35, 41, 32, 32, 26, 26, 35, 26, 35, 23, 29, 60, 63, 105,
+  143, 158, 153, 151, 147, 151, 164, 165, 164, 171, 162, 165, 172, 164, 165, 162,
+  169, 165, 165, 164, 167, 167, 164, 167, 164, 160, 164, 167, 158, 160, 165, 162,
+  91, 86, 94, 81, 81, 89, 89, 84, 86, 84, 91, 86, 86, 110, 125, 135,
+  151, 158, 167, 172, 179, 174, 174, 174, 172, 176, 176, 164, 155, 141, 133, 101,
+  84, 66, 63, 74, 71, 89, 81, 96, 89, 89, 89, 89, 84, 84, 94, 84,
+  89, 86, 96, 101, 89, 89, 101, 91, 84, 79, 79, 112, 224, 185, 195, 160,
+  187, 141, 176, 135, 143, 112, 141, 114, 112, 112, 103, 91, 94, 103, 79, 131,
+  141, 145, 141, 131, 133, 123, 121, 164, 86, 131, 117, 143, 141, 141, 147, 139,
+  133, 139, 139, 141, 151, 133, 153, 151, 160, 149, 139, 139, 160, 176, 156, 155,
+  164, 162, 155, 164, 171, 160, 171, 162, 158, 160, 165, 171, 169, 176, 177, 162,
+  171, 131, 158, 181, 164, 179, 171, 179, 169, 158, 179, 176, 182, 176, 167, 162,
+  181, 164, 167, 172, 182, 179, 171, 176, 181, 162, 172, 153, 156, 184, 206, 200,
+  172, 193, 193, 200, 206, 212, 210, 209, 209, 206, 203, 201, 200, 201, 203, 203,
+  203, 204, 203, 207, 209, 213, 209, 210, 209, 210, 209, 212, 213, 213, 218, 218,
+  218, 164, 158, 174, 190, 162, 139, 158, 174, 174, 179, 206, 228, 52, 20, 18,
+  20, 20, 32, 29, 38, 71, 18, 26, 26, 38, 32, 20, 35, 63, 94, 131,
+  153, 155, 151, 145, 147, 153, 160, 167, 169, 165, 174, 167, 158, 164, 162, 158,
+  162, 167, 164, 162, 164, 167, 162, 162, 167, 164, 167, 162, 160, 158, 160, 160,
+  89, 84, 101, 79, 79, 84, 91, 94, 91, 89, 79, 91, 96, 103, 121, 133,
+  149, 162, 167, 172, 169, 176, 174, 172, 174, 172, 172, 162, 153, 149, 125, 103,
+  76, 71, 60, 66, 79, 81, 79, 94, 89, 91, 96, 89, 94, 86, 96, 86,
+  81, 89, 89, 89, 89, 84, 94, 96, 84, 79, 63, 119, 212, 209, 177, 203,
+  171, 179, 149, 165, 141, 135, 131, 162, 114, 127, 105, 94, 98, 86, 117, 127,
+  139, 141, 135, 133, 135, 145, 135, 101, 114, 117, 137, 153, 145, 139, 153, 143,
+  133, 145, 153, 131, 129, 147, 155, 158, 151, 135, 141, 151, 162, 156, 167, 155,
+  151, 158, 174, 155, 155, 164, 139, 147, 164, 165, 167, 177, 171, 174, 160, 137,
+  162, 169, 165, 167, 177, 156, 171, 177, 176, 167, 164, 169, 162, 177, 164, 176,
+  153, 179, 164, 169, 167, 177, 165, 167, 171, 156, 149, 184, 200, 210, 181, 181,
+  192, 192, 206, 201, 209, 206, 206, 204, 197, 189, 200, 200, 200, 203, 204, 207,
+  204, 201, 207, 209, 210, 210, 212, 212, 209, 212, 210, 212, 216, 215, 216, 216,
+  190, 158, 164, 187, 149, 153, 172, 179, 162, 147, 181, 222, 212, 32, 20, 23,
+  46, 41, 35, 38, 29, 32, 41, 32, 41, 43, 23, 35, 68, 60, 108, 145,
+  158, 158, 149, 147, 155, 164, 162, 167, 169, 165, 167, 167, 162, 160, 160, 160,
+  162, 160, 167, 162, 162, 164, 162, 158, 165, 165, 162, 162, 162, 164, 165, 165,
+  86, 91, 96, 91, 86, 84, 98, 86, 91, 96, 89, 89, 96, 108, 125, 137,
+  145, 158, 169, 177, 177, 177, 177, 177, 177, 177, 174, 165, 156, 145, 127, 112,
+  96, 63, 52, 57, 81, 79, 86, 89, 84, 96, 86, 81, 86, 79, 89, 86,
+  89, 89, 94, 89, 86, 89, 101, 94, 84, 79, 63, 167, 216, 195, 210, 177,
+  195, 177, 158, 171, 145, 149, 143, 151, 129, 112, 94, 96, 79, 123, 135, 139,
+  110, 135, 131, 119, 137, 147, 98, 119, 112, 141, 133, 137, 147, 156, 137, 137,
+  141, 129, 112, 131, 149, 155, 143, 165, 131, 147, 162, 164, 155, 158, 164, 158,
+  153, 143, 174, 171, 164, 171, 155, 147, 139, 129, 143, 135, 153, 147, 158, 165,
+  162, 177, 172, 171, 160, 169, 167, 165, 176, 176, 176, 158, 179, 160, 179, 167,
+  179, 158, 172, 172, 156, 169, 160, 155, 156, 165, 195, 209, 192, 176, 197, 179,
+  201, 209, 213, 209, 200, 200, 193, 192, 193, 195, 197, 203, 204, 206, 203, 206,
+  209, 207, 209, 210, 212, 210, 210, 210, 209, 213, 212, 213, 218, 218, 224, 213,
+  155, 162, 187, 151, 155, 177, 169, 119, 127, 164, 204, 230, 135, 18, 23, 26,
+  29, 43, 41, 35, 49, 29, 41, 68, 41, 52, 41, 26, 43, 81, 129, 153,
+  153, 149, 151, 147, 158, 165, 164, 162, 158, 165, 160, 162, 167, 164, 160, 162,
+  162, 160, 169, 164, 164, 162, 162, 164, 165, 164, 169, 162, 164, 162, 164, 160,
+  84, 86, 91, 91, 91, 96, 86, 86, 89, 91, 98, 101, 101, 114, 119, 135,
+  151, 162, 164, 174, 176, 177, 171, 177, 174, 172, 172, 164, 158, 151, 133, 98,
+  81, 57, 60, 63, 68, 84, 91, 91, 84, 89, 86, 86, 86, 81, 96, 94,
+  89, 86, 98, 89, 86, 84, 94, 84, 86, 66, 57, 145, 212, 213, 195, 200,
+  192, 171, 177, 151, 160, 141, 141, 149, 145, 114, 98, 74, 89, 133, 139, 137,
+  137, 117, 125, 131, 141, 96, 129, 114, 131, 151, 139, 133, 143, 135, 135, 145,
+  117, 129, 121, 135, 147, 153, 155, 121, 125, 151, 153, 176, 158, 162, 155, 145,
+  143, 156, 139, 155, 151, 158, 156, 131, 137, 151, 153, 112, 60, 147, 171, 158,
+  164, 164, 160, 162, 162, 162, 165, 171, 164, 171, 172, 167, 160, 164, 156, 172,
+  164, 169, 162, 172, 162, 141, 162, 151, 179, 203, 198, 185, 184, 182, 204, 204,
+  201, 212, 209, 197, 198, 198, 201, 200, 198, 198, 207, 204, 204, 207, 207, 209,
+  207, 207, 212, 212, 210, 209, 210, 212, 209, 213, 213, 216, 216, 218, 219, 181,
+  164, 181, 145, 167, 147, 108, 74, 108, 127, 184, 221, 227, 41, 26, 12, 29,
+  41, 43, 52, 26, 46, 38, 29, 71, 35, 32, 26, 38, 49, 103, 149, 162,
+  153, 149, 151, 153, 160, 165, 167, 164, 165, 165, 162, 162, 160, 160, 160, 160,
+  160, 164, 162, 160, 160, 164, 162, 162, 165, 162, 160, 167, 164, 156, 160, 160,
+  96, 84, 89, 84, 86, 89, 94, 81, 94, 89, 94, 101, 98, 105, 123, 135,
+  147, 160, 165, 172, 171, 177, 172, 176, 172, 177, 172, 167, 158, 143, 123, 105,
+  79, 63, 55, 71, 71, 74, 96, 98, 89, 81, 84, 84, 84, 81, 91, 91,
+  91, 86, 79, 84, 94, 89, 101, 84, 81, 68, 60, 164, 222, 201, 207, 195,
+  174, 185, 149, 177, 155, 174, 135, 167, 139, 125, 89, 89, 114, 129, 123, 123,
+  125, 121, 137, 143, 96, 119, 125, 127, 151, 143, 135, 141, 135, 139, 145, 105,
+  123, 137, 141, 131, 143, 160, 121, 139, 153, 143, 155, 153, 149, 108, 84, 105,
+  110, 101, 84, 86, 112, 129, 153, 108, 149, 137, 149, 153, 103, 112, 165, 167,
+  167, 167, 172, 162, 149, 137, 147, 158, 162, 169, 169, 167, 151, 149, 158, 89,
+  179, 164, 174, 141, 164, 145, 158, 189, 203, 193, 181, 184, 190, 203, 200, 210,
+  204, 206, 203, 197, 197, 200, 201, 198, 203, 203, 204, 207, 206, 209, 209, 206,
+  207, 212, 206, 213, 212, 213, 212, 212, 209, 213, 213, 216, 219, 218, 209, 164,
+  177, 155, 162, 105, 68, 79, 84, 129, 165, 210, 228, 200, 18, 12, 12, 29,
+  26, 23, 43, 29, 26, 26, 38, 46, 35, 43, 38, 46, 81, 133, 155, 160,
+  149, 149, 149, 155, 158, 169, 165, 165, 164, 160, 167, 158, 164, 162, 162, 164,
+  158, 162, 160, 158, 164, 162, 162, 164, 160, 165, 162, 164, 164, 158, 162, 158,
+  89, 96, 84, 91, 84, 91, 91, 94, 86, 94, 91, 94, 94, 108, 121, 135,
+  149, 162, 167, 171, 169, 177, 176, 174, 177, 177, 169, 172, 156, 149, 129, 105,
+  81, 71, 49, 55, 79, 76, 79, 91, 86, 84, 89, 86, 86, 86, 86, 96,
+  84, 86, 81, 89, 94, 91, 84, 89, 86, 76, 63, 153, 216, 216, 201, 204,
+  197, 151, 176, 153, 165, 125, 177, 133, 164, 127, 117, 125, 112, 127, 119, 119,
+  117, 133, 133, 127, 96, 121, 125, 145, 135, 143, 137, 131, 141, 133, 114, 125,
+  121, 133, 139, 158, 133, 117, 135, 151, 164, 151, 147, 135, 86, 91, 160, 133,
+  141, 114, 117, 108, 98, 71, 108, 79, 145, 174, 172, 167, 149, 117, 98, 91,
+  112, 137, 137, 165, 160, 162, 158, 158, 105, 158, 147, 156, 167, 127, 137, 84,
+  41, 133, 156, 153, 139, 167, 195, 207, 171, 185, 171, 204, 210, 210, 212, 204,
+  201, 206, 203, 204, 198, 201, 206, 200, 206, 204, 206, 212, 207, 207, 209, 210,
+  207, 210, 209, 212, 210, 210, 213, 212, 210, 215, 215, 219, 219, 218, 171, 167,
+  164, 121, 68, 84, 84, 94, 110, 162, 201, 222, 228, 89, 18, 20, 15, 29,
+  41, 23, 32, 23, 26, 38, 29, 38, 32, 35, 43, 55, 103, 145, 158, 156,
+  149, 147, 155, 165, 165, 169, 164, 167, 164, 167, 164, 165, 164, 167, 165, 158,
+  164, 165, 165, 164, 164, 164, 162, 162, 162, 162, 160, 160, 160, 156, 165, 160,
+  94, 91, 86, 89, 89, 89, 84, 94, 94, 79, 89, 86, 94, 108, 127, 137,
+  149, 158, 167, 177, 176, 179, 179, 176, 177, 172, 171, 167, 156, 139, 123, 105,
+  79, 57, 66, 63, 71, 76, 79, 86, 86, 98, 86, 86, 96, 86, 91, 94,
+  86, 91, 84, 89, 86, 89, 89, 94, 71, 68, 57, 141, 225, 206, 209, 209,
+  187, 197, 162, 176, 119, 182, 131, 167, 135, 127, 110, 105, 129, 114, 103, 123,
+  121, 133, 112, 127, 114, 127, 147, 139, 135, 131, 135, 133, 121, 112, 127, 133,
+  133, 133, 141, 145, 131, 127, 151, 155, 145, 155, 145, 98, 121, 143, 141, 139,
+  129, 119, 117, 105, 110, 89, 68, 79, 160, 176, 171, 172, 158, 123, 137, 112,
+  133, 131, 105, 84, 123, 143, 153, 179, 145, 114, 105, 55, 105, 49, 114, 119,
+  32, 35, 172, 151, 167, 203, 189, 156, 171, 176, 198, 192, 204, 204, 209, 200,
+  201, 204, 203, 203, 206, 206, 200, 204, 204, 206, 207, 206, 209, 209, 209, 210,
+  209, 212, 213, 215, 210, 210, 210, 210, 212, 212, 216, 219, 212, 179, 158, 153,
+  79, 76, 81, 84, 89, 103, 137, 187, 218, 225, 189, 23, 23, 35, 20, 26,
+  29, 26, 38, 26, 20, 43, 41, 43, 41, 29, 43, 81, 125, 149, 155, 149,
+  143, 151, 156, 162, 172, 171, 167, 165, 167, 169, 169, 164, 160, 160, 165, 162,
+  162, 160, 162, 160, 162, 160, 158, 160, 160, 162, 160, 160, 160, 158, 160, 158,
+  89, 91, 98, 89, 86, 96, 79, 94, 105, 96, 96, 94, 105, 119, 131, 133,
+  155, 155, 169, 176, 181, 172, 177, 179, 177, 174, 174, 164, 162, 143, 127, 103,
+  74, 60, 55, 63, 68, 76, 89, 79, 84, 84, 91, 103, 96, 89, 81, 101,
+  86, 94, 86, 84, 91, 89, 94, 89, 76, 71, 60, 123, 219, 216, 207, 198,
+  210, 181, 189, 145, 172, 123, 156, 139, 167, 149, 101, 103, 96, 121, 108, 117,
+  133, 112, 98, 123, 127, 143, 135, 133, 137, 135, 139, 133, 112, 129, 127, 125,
+  139, 131, 127, 129, 125, 145, 137, 147, 156, 135, 114, 147, 149, 145, 135, 112,
+  101, 101, 98, 63, 49, 49, 55, 57, 162, 151, 169, 167, 135, 149, 127, 137,
+  129, 114, 98, 79, 89, 101, 63, 84, 76, 55, 60, 41, 26, 43, 23, 63,
+  20, 26, 127, 189, 203, 169, 164, 164, 192, 203, 209, 206, 204, 207, 201, 200,
+  204, 209, 204, 203, 203, 204, 204, 201, 206, 204, 209, 209, 206, 209, 207, 210,
+  206, 209, 213, 213, 210, 213, 213, 212, 213, 215, 218, 190, 165, 133, 94, 74,
+  74, 76, 86, 91, 94, 133, 185, 207, 219, 216, 35, 20, 15, 18, 35, 29,
+  41, 32, 23, 23, 18, 26, 41, 41, 29, 29, 74, 105, 145, 155, 147, 149,
+  147, 153, 160, 169, 169, 164, 171, 162, 169, 167, 162, 164, 162, 162, 162, 164,
+  162, 164, 160, 162, 160, 160, 162, 162, 164, 160, 165, 162, 164, 162, 160, 158,
+  94, 96, 91, 91, 94, 96, 89, 86, 91, 101, 98, 94, 91, 108, 125, 137,
+  155, 160, 171, 176, 176, 179, 177, 179, 176, 177, 171, 171, 158, 145, 127, 105,
+  81, 55, 46, 66, 74, 66, 89, 84, 94, 81, 91, 84, 89, 96, 84, 96,
+  84, 86, 86, 84, 86, 81, 84, 79, 81, 79, 66, 103, 224, 215, 193, 210,
+  181, 210, 171, 176, 121, 141, 112, 149, 153, 112, 103, 96, 110, 123, 112, 131,
+  108, 89, 119, 112, 143, 135, 135, 125, 133, 149, 114, 129, 125, 135, 127, 137,
+  129, 131, 127, 119, 137, 149, 139, 133, 139, 114, 123, 135, 155, 127, 98, 94,
+  101, 96, 84, 89, 108, 71, 81, 96, 137, 156, 147, 143, 147, 135, 68, 55,
+  60, 60, 43, 101, 139, 41, 63, 55, 41, 38, 43, 26, 32, 26, 35, 20,
+  18, 81, 185, 200, 153, 160, 177, 203, 203, 206, 209, 203, 210, 203, 203, 201,
+  206, 206, 204, 203, 203, 203, 203, 204, 203, 207, 207, 209, 209, 212, 207, 210,
+  207, 213, 216, 215, 213, 213, 213, 215, 212, 184, 141, 108, 91, 84, 81, 76,
+  79, 89, 89, 94, 137, 179, 197, 213, 225, 141, 32, 26, 26, 38, 29, 32,
+  35, 26, 18, 41, 35, 38, 43, 26, 23, 32, 68, 129, 151, 149, 149, 147,
+  151, 162, 165, 165, 167, 167, 167, 164, 165, 162, 167, 162, 167, 160, 164, 162,
+  164, 155, 160, 162, 162, 164, 165, 164, 164, 162, 160, 156, 165, 158, 160, 162,
+  89, 89, 94, 96, 91, 91, 94, 101, 84, 89, 101, 94, 94, 110, 121, 141,
+  151, 165, 167, 176, 174, 177, 177, 176, 174, 174, 176, 167, 158, 151, 125, 110,
+  79, 60, 46, 68, 71, 74, 81, 96, 84, 98, 96, 86, 84, 94, 84, 89,
+  84, 94, 91, 94, 89, 86, 103, 86, 86, 71, 71, 81, 228, 207, 212, 189,
+  216, 185, 204, 153, 153, 125, 133, 141, 131, 117, 112, 108, 103, 108, 133, 108,
+  101, 105, 110, 131, 131, 141, 131, 137, 135, 137, 114, 131, 125, 129, 129, 127,
+  141, 127, 117, 137, 141, 141, 137, 145, 103, 105, 141, 143, 127, 119, 105, 127,
+  135, 105, 117, 149, 123, 110, 63, 86, 110, 84, 123, 153, 86, 71, 108, 46,
+  41, 55, 127, 103, 46, 52, 66, 86, 26, 32, 18, 15, 23, 68, 23, 103,
+  117, 195, 187, 137, 155, 193, 207, 209, 210, 206, 204, 201, 204, 200, 201, 201,
+  203, 201, 203, 206, 200, 203, 203, 204, 201, 206, 207, 206, 210, 207, 209, 204,
+  206, 218, 212, 212, 216, 216, 210, 158, 112, 81, 81, 81, 89, 86, 86, 79,
+  76, 96, 110, 147, 185, 190, 204, 219, 193, 26, 35, 32, 18, 35, 38, 26,
+  38, 26, 35, 20, 29, 35, 26, 26, 18, 43, 89, 143, 151, 149, 149, 147,
+  153, 167, 176, 164, 165, 169, 164, 162, 164, 169, 167, 167, 160, 164, 167, 164,
+  167, 164, 160, 160, 158, 158, 162, 162, 162, 162, 164, 162, 160, 165, 160, 158,
+  89, 89, 94, 98, 103, 89, 89, 84, 89, 103, 96, 89, 91, 112, 121, 139,
+  147, 164, 169, 176, 172, 176, 181, 174, 176, 176, 176, 165, 158, 143, 133, 110,
+  84, 74, 57, 74, 71, 84, 81, 98, 86, 84, 91, 86, 86, 86, 98, 84,
+  89, 89, 89, 89, 98, 84, 86, 81, 89, 76, 66, 55, 203, 219, 204, 218,
+  190, 213, 184, 182, 121, 119, 98, 123, 133, 129, 108, 105, 108, 123, 123, 98,
+  105, 112, 135, 133, 129, 131, 129, 135, 139, 101, 119, 125, 131, 133, 135, 127,
+  121, 123, 135, 141, 131, 133, 141, 105, 108, 133, 131, 125, 125, 98, 125, 121,
+  101, 103, 133, 121, 98, 55, 71, 71, 74, 79, 121, 96, 114, 68, 60, 68,
+  84, 129, 55, 71, 96, 74, 79, 101, 43, 26, 18, 20, 12, 18, 35, 164,
+  203, 165, 149, 158, 192, 207, 203, 210, 204, 203, 206, 203, 203, 204, 203, 201,
+  203, 209, 203, 200, 203, 203, 206, 201, 201, 209, 203, 204, 209, 209, 213, 210,
+  210, 218, 213, 215, 212, 133, 94, 76, 79, 84, 81, 76, 94, 79, 84, 94,
+  96, 135, 158, 181, 203, 206, 206, 101, 32, 18, 20, 23, 29, 41, 35, 32,
+  35, 26, 41, 38, 29, 43, 29, 23, 23, 49, 121, 156, 156, 149, 149, 155,
+  164, 167, 171, 167, 172, 167, 164, 167, 169, 167, 169, 167, 165, 164, 167, 162,
+  160, 162, 162, 162, 162, 162, 162, 164, 162, 164, 158, 164, 162, 160, 158, 160,
+  86, 91, 105, 91, 101, 98, 94, 96, 84, 91, 86, 91, 96, 112, 127, 135,
+  153, 162, 171, 177, 179, 176, 176, 172, 174, 177, 174, 167, 162, 145, 125, 105,
+  76, 63, 55, 68, 71, 79, 76, 84, 81, 89, 89, 81, 84, 84, 91, 84,
+  101, 86, 98, 79, 89, 81, 86, 84, 86, 84, 60, 55, 193, 210, 219, 195,
+  216, 192, 200, 147, 155, 110, 91, 169, 133, 153, 117, 121, 131, 105, 81, 108,
+  110, 127, 129, 145, 137, 139, 129, 125, 114, 121, 125, 127, 131, 135, 129, 125,
+  123, 127, 137, 137, 141, 129, 117, 110, 135, 137, 135, 119, 98, 129, 137, 119,
+  125, 76, 46, 43, 41, 43, 41, 43, 57, 94, 101, 137, 103, 121, 105, 137,
+  117, 89, 149, 43, 41, 23, 46, 129, 32, 29, 46, 12, 18, 55, 162, 201,
+  151, 112, 160, 207, 195, 200, 198, 200, 203, 207, 204, 198, 203, 201, 197, 201,
+  200, 198, 206, 204, 201, 203, 201, 203, 203, 207, 206, 207, 210, 212, 210, 206,
+  215, 216, 212, 184, 103, 81, 84, 81, 91, 81, 76, 81, 91, 96, 103, 121,
+  149, 172, 185, 204, 204, 206, 46, 26, 18, 23, 29, 29, 43, 29, 35, 20,
+  32, 23, 46, 35, 41, 41, 35, 26, 38, 89, 135, 153, 155, 145, 143, 155,
+  160, 169, 169, 171, 169, 167, 164, 164, 172, 165, 167, 171, 164, 164, 164, 167,
+  160, 165, 164, 160, 162, 158, 162, 162, 156, 160, 162, 158, 162, 162, 162, 158,
+  98, 101, 101, 101, 101, 91, 89, 91, 89, 86, 94, 98, 98, 108, 129, 139,
+  149, 156, 171, 172, 174, 174, 174, 179, 171, 176, 177, 164, 158, 145, 129, 101,
+  81, 68, 63, 55, 71, 71, 81, 79, 76, 89, 96, 86, 89, 94, 86, 84,
+  89, 86, 89, 86, 89, 84, 81, 84, 86, 86, 71, 68, 117, 228, 190, 218,
+  193, 219, 189, 172, 123, 129, 153, 139, 162, 110, 155, 121, 110, 94, 94, 117,
+  125, 127, 141, 127, 133, 137, 112, 112, 121, 117, 127, 125, 129, 133, 129, 117,
+  131, 141, 137, 137, 127, 114, 94, 125, 127, 145, 119, 123, 94, 121, 98, 74,
+  66, 60, 74, 49, 35, 57, 55, 52, 84, 112, 133, 117, 103, 76, 71, 101,
+  55, 149, 101, 60, 76, 43, 43, 131, 18, 18, 18, 32, 89, 184, 193, 133,
+  112, 162, 200, 207, 200, 197, 195, 190, 198, 203, 200, 198, 198, 204, 198, 193,
+  200, 203, 195, 204, 195, 203, 204, 203, 204, 204, 204, 209, 207, 209, 204, 209,
+  210, 197, 147, 127, 79, 84, 86, 86, 84, 81, 84, 81, 119, 133, 156, 160,
+  165, 184, 200, 201, 218, 81, 15, 23, 29, 23, 20, 35, 26, 43, 23, 29,
+  35, 29, 32, 32, 55, 46, 41, 43, 60, 114, 149, 147, 155, 147, 147, 164,
+  171, 172, 172, 169, 169, 171, 162, 167, 169, 167, 172, 164, 164, 162, 164, 169,
+  167, 167, 162, 164, 164, 162, 164, 160, 162, 162, 164, 164, 160, 156, 158, 156,
+  101, 98, 98, 91, 94, 84, 94, 94, 91, 89, 89, 91, 98, 117, 121, 143,
+  149, 156, 171, 177, 181, 176, 176, 174, 177, 176, 176, 164, 158, 145, 127, 101,
+  76, 60, 55, 60, 71, 98, 81, 86, 86, 86, 89, 91, 81, 94, 89, 91,
+  91, 86, 86, 91, 89, 81, 86, 96, 96, 86, 84, 52, 84, 218, 219, 197,
+  212, 192, 210, 149, 160, 131, 131, 149, 133, 145, 127, 131, 89, 96, 114, 112,
+  145, 125, 125, 141, 133, 135, 110, 125, 125, 123, 123, 131, 131, 119, 121, 131,
+  147, 135, 135, 125, 121, 96, 133, 131, 135, 117, 114, 91, 68, 55, 43, 63,
+  96, 81, 60, 38, 23, 35, 26, 63, 147, 89, 131, 105, 38, 35, 35, 86,
+  114, 66, 74, 114, 57, 9, 41, 114, 18, 15, 15, 96, 177, 181, 137, 117,
+  171, 192, 201, 198, 190, 189, 190, 195, 200, 200, 200, 200, 200, 195, 195, 198,
+  201, 197, 201, 198, 201, 201, 201, 203, 201, 204, 204, 206, 209, 210, 209, 197,
+  125, 89, 147, 137, 119, 96, 89, 74, 81, 98, 119, 139, 158, 160, 172, 171,
+  182, 187, 201, 215, 94, 18, 23, 26, 29, 23, 41, 38, 38, 32, 32, 20,
+  23, 23, 26, 29, 32, 46, 89, 35, 76, 135, 156, 155, 151, 145, 158, 171,
+  171, 171, 176, 167, 165, 167, 164, 165, 165, 165, 167, 169, 167, 169, 165, 165,
+  167, 165, 162, 160, 162, 160, 164, 160, 162, 162, 164, 156, 164, 156, 158, 151,
+  101, 98, 98, 98, 98, 94, 98, 98, 98, 94, 91, 98, 103, 108, 121, 141,
+  149, 158, 167, 171, 174, 172, 172, 177, 171, 172, 176, 164, 155, 149, 129, 103,
+  79, 66, 66, 66, 71, 74, 71, 79, 89, 81, 86, 84, 96, 76, 81, 94,
+  98, 81, 98, 86, 103, 84, 86, 91, 89, 89, 79, 63, 57, 209, 207, 215,
+  187, 210, 181, 201, 149, 139, 112, 155, 133, 155, 145, 96, 79, 114, 114, 139,
+  125, 133, 133, 131, 112, 110, 119, 123, 117, 119, 125, 131, 135, 119, 108, 135,
+  133, 135, 133, 127, 133, 98, 135, 135, 123, 94, 74, 43, 35, 63, 117, 96,
+  57, 38, 38, 20, 41, 29, 35, 131, 121, 141, 105, 18, 18, 32, 57, 143,
+  41, 79, 137, 46, 18, 12, 74, 60, 32, 20, 110, 185, 169, 127, 137, 179,
+  206, 198, 198, 192, 189, 192, 197, 197, 195, 200, 197, 198, 193, 195, 198, 195,
+  198, 198, 201, 197, 198, 201, 204, 204, 203, 207, 209, 207, 207, 201, 145, 71,
+  117, 98, 139, 155, 129, 108, 112, 121, 143, 160, 165, 174, 167, 167, 165, 174,
+  182, 200, 215, 79, 29, 23, 23, 32, 23, 41, 43, 35, 43, 46, 35, 32,
+  18, 26, 35, 49, 76, 41, 43, 41, 114, 145, 155, 151, 143, 141, 165, 174,
+  176, 172, 172, 172, 172, 172, 174, 171, 167, 172, 165, 167, 165, 167, 162, 162,
+  167, 162, 164, 160, 164, 167, 162, 164, 162, 164, 160, 162, 160, 158, 160, 160,
+  103, 101, 89, 91, 105, 96, 98, 91, 89, 94, 91, 86, 101, 108, 121, 137,
+  149, 156, 169, 171, 176, 171, 172, 177, 171, 172, 174, 167, 158, 145, 127, 98,
+  84, 63, 60, 60, 76, 66, 74, 84, 94, 86, 84, 98, 91, 94, 86, 86,
+  84, 94, 94, 84, 86, 84, 86, 86, 91, 91, 84, 68, 60, 129, 225, 193,
+  213, 187, 210, 182, 182, 155, 137, 129, 167, 114, 143, 103, 98, 108, 129, 135,
+  131, 133, 131, 125, 89, 121, 127, 125, 127, 133, 114, 121, 123, 117, 145, 137,
+  131, 129, 131, 139, 153, 110, 112, 131, 84, 63, 43, 41, 103, 121, 43, 32,
+  26, 32, 49, 20, 32, 20, 94, 133, 127, 84, 26, 32, 26, 52, 149, 76,
+  71, 89, 79, 15, 38, 18, 121, 66, 38, 133, 185, 158, 121, 131, 189, 207,
+  204, 201, 195, 190, 189, 190, 192, 193, 190, 192, 195, 198, 197, 190, 195, 198,
+  195, 200, 201, 203, 200, 200, 204, 206, 206, 206, 212, 204, 156, 60, 98, 74,
+  121, 112, 129, 151, 151, 165, 164, 160, 169, 165, 169, 167, 177, 172, 172, 184,
+  200, 219, 96, 20, 18, 12, 29, 35, 49, 41, 41, 49, 29, 29, 35, 29,
+  43, 32, 41, 32, 26, 26, 41, 91, 127, 156, 153, 155, 141, 147, 174, 171,
+  171, 172, 174, 169, 176, 174, 169, 165, 165, 167, 169, 165, 165, 165, 164, 171,
+  165, 164, 162, 164, 165, 162, 158, 158, 164, 165, 164, 156, 160, 156, 158, 156,
+  108, 101, 96, 98, 98, 101, 98, 89, 94, 94, 96, 98, 101, 105, 119, 137,
+  151, 160, 167, 177, 176, 176, 171, 174, 171, 174, 176, 167, 158, 141, 131, 103,
+  79, 63, 49, 57, 79, 71, 84, 89, 91, 89, 86, 89, 86, 89, 86, 94,
+  96, 86, 81, 84, 86, 89, 86, 89, 89, 86, 86, 71, 63, 86, 224, 213,
+  189, 212, 197, 203, 197, 156, 182, 133, 172, 129, 91, 98, 119, 121, 131, 129,
+  137, 133, 114, 89, 114, 119, 121, 119, 123, 129, 121, 119, 103, 133, 133, 94,
+  81, 117, 133, 137, 139, 108, 79, 89, 57, 41, 43, 108, 76, 35, 38, 20,
+  41, 60, 23, 12, 41, 35, 123, 101, 74, 57, 23, 29, 60, 145, 103, 63,
+  91, 55, 18, 35, 26, 32, 153, 35, 139, 187, 151, 114, 143, 193, 203, 207,
+  200, 192, 193, 185, 192, 192, 193, 192, 192, 189, 190, 190, 187, 198, 192, 193,
+  197, 200, 204, 200, 200, 203, 203, 206, 207, 209, 176, 94, 29, 49, 131, 119,
+  96, 110, 110, 147, 158, 167, 160, 171, 171, 171, 167, 174, 176, 182, 192, 206,
+  216, 125, 32, 29, 15, 18, 23, 29, 41, 41, 43, 35, 52, 32, 29, 23,
+  43, 35, 38, 35, 18, 55, 32, 103, 143, 155, 147, 153, 147, 164, 174, 171,
+  172, 169, 171, 172, 176, 172, 169, 167, 171, 164, 169, 171, 169, 165, 162, 169,
+  167, 164, 165, 164, 169, 162, 162, 162, 162, 158, 164, 158, 165, 162, 156, 160,
+  101, 98, 105, 98, 96, 98, 101, 89, 89, 94, 86, 89, 96, 112, 123, 135,
+  149, 156, 164, 171, 177, 176, 174, 176, 174, 177, 174, 164, 158, 145, 127, 108,
+  79, 60, 55, 60, 81, 74, 84, 86, 74, 81, 96, 91, 84, 86, 81, 89,
+  94, 84, 76, 94, 89, 89, 94, 96, 91, 89, 89, 76, 66, 71, 210, 206,
+  218, 201, 206, 200, 155, 185, 162, 179, 135, 160, 86, 114, 121, 127, 139, 135,
+  131, 127, 96, 119, 119, 121, 127, 125, 119, 125, 123, 114, 119, 141, 133, 141,
+  119, 96, 60, 117, 129, 117, 84, 46, 55, 91, 79, 55, 49, 43, 41, 29,
+  74, 29, 9, 18, 35, 105, 121, 46, 46, 23, 29, 38, 133, 71, 89, 129,
+  96, 12, 23, 133, 3, 20, 165, 153, 177, 139, 123, 145, 197, 189, 204, 206,
+  198, 190, 179, 190, 197, 193, 197, 185, 192, 190, 187, 192, 189, 190, 198, 198,
+  198, 195, 198, 197, 203, 204, 204, 203, 203, 91, 35, 86, 91, 52, 147, 137,
+  105, 127, 101, 147, 155, 165, 162, 171, 172, 174, 174, 179, 185, 192, 200, 213,
+  131, 20, 20, 20, 26, 26, 32, 29, 46, 32, 43, 38, 43, 32, 26, 26,
+  32, 32, 32, 38, 35, 38, 66, 123, 149, 149, 145, 145, 151, 167, 176, 172,
+  172, 172, 171, 167, 174, 172, 171, 171, 169, 172, 174, 167, 167, 165, 169, 165,
+  169, 162, 162, 164, 165, 165, 160, 162, 164, 164, 164, 160, 164, 158, 160, 156,
+  94, 98, 94, 98, 96, 94, 96, 91, 94, 91, 91, 108, 89, 101, 121, 135,
+  147, 160, 171, 172, 179, 171, 174, 174, 172, 174, 174, 171, 160, 143, 137, 108,
+  84, 52, 60, 68, 71, 86, 79, 86, 84, 86, 86, 81, 79, 81, 94, 98,
+  84, 89, 81, 91, 86, 79, 98, 96, 98, 94, 91, 86, 91, 79, 114, 228,
+  209, 212, 212, 189, 167, 172, 193, 160, 127, 86, 89, 123, 129, 117, 121, 133,
+  114, 89, 125, 127, 123, 133, 108, 119, 105, 121, 112, 121, 137, 143, 135, 133,
+  103, 91, 114, 84, 68, 76, 68, 66, 52, 79, 81, 74, 55, 43, 32, 91,
+  71, 15, 15, 20, 49, 71, 123, 26, 46, 43, 38, 141, 63, 81, 127, 81,
+  23, 29, 143, 84, 12, 63, 172, 184, 123, 121, 147, 197, 207, 204, 197, 200,
+  200, 189, 189, 190, 190, 192, 189, 189, 189, 182, 182, 189, 184, 187, 192, 203,
+  195, 204, 201, 203, 198, 207, 204, 184, 86, 29, 23, 96, 121, 68, 98, 158,
+  117, 133, 121, 139, 156, 151, 153, 169, 172, 177, 179, 185, 190, 206, 200, 103,
+  29, 18, 20, 20, 26, 29, 38, 32, 38, 43, 35, 41, 43, 32, 29, 23,
+  20, 41, 35, 38, 26, 35, 94, 137, 151, 149, 141, 149, 162, 169, 169, 176,
+  174, 177, 172, 172, 172, 171, 172, 174, 169, 165, 169, 169, 167, 169, 164, 162,
+  167, 165, 162, 165, 165, 162, 160, 165, 160, 162, 162, 158, 162, 156, 162, 156,
+  98, 105, 98, 112, 103, 98, 96, 91, 98, 89, 101, 91, 84, 108, 125, 135,
+  149, 160, 167, 176, 174, 174, 174, 176, 174, 176, 177, 162, 160, 147, 129, 112,
+  81, 55, 49, 57, 74, 76, 76, 76, 86, 76, 86, 86, 84, 84, 81, 86,
+  84, 94, 84, 81, 86, 84, 91, 96, 91, 98, 89, 94, 86, 74, 76, 207,
+  219, 218, 203, 195, 165, 181, 174, 184, 165, 84, 98, 141, 125, 129, 121, 129,
+  114, 108, 125, 117, 131, 121, 121, 117, 121, 121, 112, 141, 133, 135, 139, 119,
+  94, 35, 38, 52, 74, 86, 55, 71, 84, 86, 57, 60, 23, 20, 81, 108,
+  23, 18, 26, 29, 86, 43, 57, 20, 26, 38, 46, 89, 60, 52, 108, 49,
+  15, 108, 164, 15, 26, 158, 156, 125, 121, 158, 197, 203, 207, 204, 200, 198,
+  200, 197, 193, 195, 190, 187, 190, 190, 185, 185, 184, 192, 197, 187, 192, 200,
+  203, 203, 201, 200, 193, 192, 176, 112, 74, 71, 84, 60, 108, 123, 94, 123,
+  153, 114, 139, 101, 151, 158, 155, 171, 169, 177, 172, 193, 212, 185, 32, 23,
+  20, 6, 23, 23, 23, 29, 32, 43, 52, 35, 66, 41, 43, 32, 35, 29,
+  35, 29, 46, 38, 35, 60, 108, 141, 141, 141, 133, 149, 169, 176, 172, 169,
+  171, 177, 171, 172, 169, 169, 172, 169, 172, 169, 169, 169, 167, 171, 167, 164,
+  169, 165, 167, 160, 165, 167, 165, 164, 164, 165, 162, 160, 158, 158, 158, 158,
+  94, 103, 105, 108, 112, 105, 96, 96, 84, 91, 94, 94, 91, 108, 123, 137,
+  145, 160, 167, 169, 174, 177, 172, 177, 176, 179, 176, 164, 155, 147, 131, 108,
+  71, 63, 60, 63, 71, 66, 81, 84, 84, 84, 94, 91, 86, 91, 86, 86,
+  86, 94, 84, 89, 89, 86, 91, 91, 96, 105, 91, 89, 89, 84, 68, 98,
+  225, 209, 222, 195, 187, 177, 185, 198, 151, 96, 127, 131, 125, 127, 119, 117,
+  101, 112, 123, 133, 127, 129, 117, 125, 112, 117, 137, 133, 112, 96, 101, 121,
+  103, 110, 81, 76, 68, 49, 52, 103, 71, 63, 35, 26, 20, 49, 121, 110,
+  9, 15, 20, 43, 98, 32, 26, 20, 41, 41, 43, 35, 32, 55, 125, 15,
+  15, 153, 119, 57, 105, 135, 121, 103, 172, 200, 206, 203, 203, 203, 201, 195,
+  195, 189, 192, 185, 192, 193, 195, 193, 182, 176, 189, 195, 190, 193, 197, 198,
+  197, 200, 195, 192, 190, 197, 192, 172, 91, 60, 81, 112, 71, 96, 98, 84,
+  151, 131, 123, 105, 127, 160, 151, 164, 176, 185, 200, 212, 151, 38, 23, 43,
+  32, 20, 26, 29, 32, 32, 35, 46, 38, 57, 43, 38, 23, 49, 20, 29,
+  38, 41, 43, 41, 57, 76, 123, 141, 135, 137, 127, 155, 174, 176, 174, 177,
+  167, 176, 167, 172, 169, 167, 171, 169, 172, 172, 172, 171, 169, 167, 169, 169,
+  167, 167, 169, 167, 165, 169, 165, 165, 162, 162, 165, 162, 164, 156, 156, 160,
+  103, 105, 103, 94, 96, 98, 98, 94, 86, 91, 76, 81, 89, 101, 117, 131,
+  147, 160, 167, 167, 177, 177, 177, 177, 176, 177, 177, 176, 158, 147, 131, 110,
+  76, 55, 60, 63, 68, 76, 81, 81, 76, 94, 89, 94, 89, 89, 86, 91,
+  89, 81, 84, 86, 94, 94, 86, 96, 96, 98, 98, 94, 94, 81, 79, 68,
+  155, 228, 212, 195, 203, 187, 192, 181, 91, 131, 135, 110, 129, 131, 127, 112,
+  114, 121, 125, 123, 133, 125, 121, 110, 108, 108, 137, 131, 121, 121, 127, 114,
+  119, 86, 91, 68, 49, 60, 98, 96, 55, 29, 18, 20, 23, 52, 121, 76,
+  18, 23, 29, 29, 68, 52, 41, 20, 46, 35, 29, 35, 20, 55, 119, 18,
+  43, 155, 101, 153, 151, 55, 105, 139, 203, 197, 203, 200, 200, 201, 190, 192,
+  190, 189, 190, 192, 189, 197, 193, 185, 179, 182, 192, 195, 192, 192, 195, 195,
+  193, 187, 182, 193, 197, 198, 192, 176, 127, 81, 68, 57, 133, 89, 103, 94,
+  105, 156, 127, 127, 125, 155, 155, 181, 190, 209, 195, 117, 32, 32, 15, 23,
+  32, 23, 38, 38, 38, 46, 32, 32, 38, 43, 46, 35, 32, 26, 26, 23,
+  32, 43, 46, 46, 63, 98, 133, 145, 133, 123, 135, 160, 174, 174, 174, 176,
+  171, 167, 171, 165, 176, 167, 171, 172, 171, 171, 171, 169, 167, 165, 167, 171,
+  164, 160, 169, 169, 171, 169, 165, 165, 164, 165, 164, 162, 162, 158, 160, 160,
+  101, 98, 105, 98, 98, 96, 98, 94, 84, 89, 86, 81, 81, 98, 114, 135,
+  141, 162, 169, 177, 176, 174, 172, 174, 179, 184, 172, 174, 164, 147, 127, 103,
+  79, 60, 57, 60, 68, 84, 74, 79, 79, 91, 94, 81, 81, 86, 86, 91,
+  86, 96, 86, 96, 89, 91, 91, 98, 98, 96, 103, 98, 105, 98, 81, 74,
+  76, 219, 209, 200, 204, 197, 204, 158, 96, 156, 119, 103, 127, 123, 114, 117,
+  127, 119, 129, 125, 117, 127, 114, 133, 127, 129, 112, 86, 129, 129, 103, 81,
+  49, 89, 60, 74, 76, 81, 96, 76, 41, 35, 38, 20, 26, 79, 117, 41,
+  12, 18, 96, 23, 38, 43, 35, 46, 68, 84, 79, 84, 35, 96, 81, 55,
+  101, 127, 129, 125, 137, 76, 164, 164, 195, 198, 198, 195, 203, 198, 197, 193,
+  193, 187, 197, 185, 195, 189, 184, 184, 189, 181, 189, 192, 192, 192, 197, 187,
+  193, 190, 197, 197, 203, 201, 197, 184, 147, 98, 79, 89, 63, 149, 112, 101,
+  91, 143, 145, 147, 129, 153, 167, 190, 200, 153, 41, 38, 35, 26, 32, 20,
+  18, 23, 35, 35, 49, 38, 32, 46, 35, 43, 35, 23, 20, 29, 29, 35,
+  41, 41, 41, 49, 66, 123, 139, 141, 133, 129, 145, 167, 174, 181, 174, 177,
+  172, 171, 172, 172, 171, 169, 172, 171, 174, 165, 171, 171, 171, 167, 167, 167,
+  169, 165, 167, 167, 167, 162, 171, 165, 162, 165, 165, 160, 162, 156, 164, 155,
+  98, 101, 103, 103, 96, 89, 98, 101, 94, 91, 84, 81, 81, 91, 119, 127,
+  145, 164, 165, 171, 176, 176, 182, 179, 174, 179, 179, 174, 160, 149, 137, 108,
+  79, 60, 43, 57, 60, 68, 76, 79, 84, 84, 84, 86, 89, 86, 86, 86,
+  91, 84, 89, 89, 86, 98, 96, 101, 96, 103, 108, 96, 103, 98, 94, 76,
+  68, 165, 227, 207, 197, 198, 210, 158, 131, 123, 119, 108, 112, 110, 91, 110,
+  125, 127, 133, 112, 117, 98, 105, 119, 127, 131, 131, 139, 112, 112, 55, 41,
+  76, 66, 60, 86, 71, 108, 103, 57, 41, 35, 41, 20, 41, 79, 66, 63,
+  29, 38, 112, 20, 35, 41, 29, 32, 43, 55, 57, 41, 41, 84, 46, 74,
+  52, 110, 81, 149, 127, 164, 181, 176, 197, 193, 189, 193, 197, 192, 190, 184,
+  182, 184, 184, 185, 184, 190, 189, 184, 182, 181, 185, 189, 190, 187, 195, 197,
+  197, 201, 197, 200, 200, 206, 203, 197, 169, 137, 84, 84, 71, 55, 139, 79,
+  81, 55, 149, 143, 145, 145, 160, 158, 131, 74, 15, 20, 15, 32, 20, 38,
+  38, 26, 29, 43, 41, 41, 41, 41, 41, 49, 35, 23, 23, 35, 35, 35,
+  38, 20, 35, 55, 84, 131, 137, 137, 131, 129, 155, 174, 179, 177, 174, 172,
+  171, 171, 174, 174, 169, 177, 172, 172, 167, 167, 165, 171, 172, 171, 171, 169,
+  167, 165, 169, 169, 169, 169, 165, 164, 167, 165, 167, 162, 160, 162, 156, 160,
+  101, 101, 103, 94, 94, 103, 91, 91, 86, 84, 91, 79, 81, 98, 110, 135,
+  149, 156, 160, 165, 174, 179, 176, 174, 179, 176, 177, 169, 158, 145, 127, 112,
+  79, 66, 52, 55, 68, 60, 76, 76, 89, 81, 86, 86, 89, 84, 84, 79,
+  81, 86, 91, 89, 89, 94, 94, 101, 91, 98, 108, 103, 98, 101, 89, 84,
+  68, 135, 222, 228, 206, 204, 200, 172, 139, 121, 121, 127, 112, 94, 108, 123,
+  119, 129, 125, 108, 98, 121, 133, 119, 121, 114, 81, 141, 129, 105, 71, 57,
+  66, 41, 43, 60, 55, 86, 89, 68, 41, 32, 29, 23, 60, 55, 55, 96,
+  86, 57, 20, 29, 26, 23, 26, 29, 32, 35, 32, 20, 12, 55, 49, 71,
+  74, 89, 81, 125, 125, 149, 155, 176, 190, 187, 182, 193, 192, 187, 184, 184,
+  177, 184, 189, 181, 184, 181, 189, 185, 181, 189, 181, 185, 187, 195, 203, 195,
+  197, 195, 200, 201, 197, 201, 201, 201, 185, 149, 103, 81, 46, 49, 49, 127,
+  101, 57, 133, 143, 147, 139, 156, 141, 117, 84, 15, 20, 29, 32, 26, 26,
+  35, 20, 38, 46, 43, 41, 38, 41, 52, 46, 32, 32, 20, 32, 43, 35,
+  32, 32, 55, 66, 112, 137, 139, 129, 121, 135, 160, 174, 174, 172, 176, 174,
+  174, 172, 176, 169, 171, 174, 172, 172, 176, 169, 165, 171, 171, 172, 167, 169,
+  167, 174, 171, 167, 162, 165, 171, 167, 162, 165, 162, 162, 164, 160, 156, 162,
+  98, 101, 96, 98, 103, 91, 101, 94, 91, 91, 89, 76, 71, 96, 108, 129,
+  147, 151, 165, 171, 172, 174, 176, 176, 179, 176, 176, 167, 162, 149, 127, 110,
+  84, 60, 52, 66, 55, 68, 84, 84, 81, 86, 91, 91, 98, 94, 96, 86,
+  84, 84, 89, 89, 94, 94, 98, 94, 101, 110, 103, 103, 108, 108, 94, 86,
+  68, 123, 224, 218, 219, 206, 207, 189, 131, 121, 121, 121, 119, 98, 119, 119,
+  117, 117, 96, 129, 127, 133, 121, 117, 127, 114, 86, 114, 101, 96, 52, 57,
+  52, 38, 46, 23, 49, 101, 76, 55, 71, 52, 52, 35, 63, 46, 38, 112,
+  105, 63, 18, 29, 38, 38, 35, 29, 41, 38, 32, 26, 23, 55, 84, 123,
+  79, 94, 94, 156, 153, 171, 176, 185, 189, 184, 192, 195, 193, 179, 182, 172,
+  179, 185, 185, 190, 189, 184, 177, 185, 187, 182, 171, 193, 192, 197, 204, 198,
+  198, 201, 203, 203, 200, 198, 207, 198, 189, 153, 110, 81, 74, 46, 23, 55,
+  81, 71, 55, 143, 139, 160, 165, 149, 110, 57, 32, 23, 20, 18, 35, 23,
+  43, 49, 41, 35, 43, 57, 46, 43, 57, 41, 41, 35, 20, 26, 29, 35,
+  32, 43, 46, 89, 133, 145, 133, 127, 131, 145, 160, 171, 176, 174, 174, 172,
+  174, 176, 172, 167, 172, 171, 169, 169, 169, 174, 171, 167, 171, 171, 164, 165,
+  167, 171, 169, 165, 169, 162, 167, 165, 164, 169, 165, 160, 164, 158, 165, 158,
+  105, 105, 103, 96, 91, 98, 96, 89, 89, 81, 89, 74, 79, 98, 121, 129,
+  141, 156, 162, 174, 181, 172, 179, 177, 179, 176, 177, 174, 160, 151, 137, 114,
+  81, 57, 49, 57, 63, 71, 84, 79, 89, 84, 84, 89, 96, 91, 86, 89,
+  84, 89, 79, 79, 89, 89, 94, 94, 96, 103, 101, 108, 108, 94, 91, 89,
+  74, 121, 222, 218, 224, 216, 201, 131, 101, 112, 125, 121, 110, 121, 117, 119,
+  98, 101, 114, 135, 131, 129, 131, 125, 114, 94, 66, 91, 66, 38, 81, 74,
+  35, 29, 29, 26, 38, 68, 76, 84, 63, 94, 46, 15, 68, 52, 26, 86,
+  135, 94, 20, 32, 23, 35, 41, 26, 35, 26, 9, 26, 43, 79, 145, 74,
+  74, 108, 133, 162, 174, 192, 182, 190, 190, 193, 201, 195, 193, 182, 171, 179,
+  179, 182, 189, 193, 184, 181, 167, 184, 174, 179, 192, 201, 201, 201, 206, 198,
+  201, 198, 203, 201, 204, 200, 200, 203, 187, 169, 129, 81, 63, 57, 29, 20,
+  117, 81, 84, 145, 147, 145, 156, 151, 125, 46, 23, 18, 20, 23, 26, 23,
+  23, 52, 38, 49, 41, 49, 49, 41, 43, 35, 60, 35, 23, 23, 32, 32,
+  26, 29, 68, 112, 137, 147, 135, 125, 131, 158, 169, 169, 169, 176, 172, 172,
+  171, 171, 169, 169, 169, 172, 171, 169, 165, 171, 171, 172, 167, 169, 167, 169,
+  172, 169, 165, 167, 169, 165, 176, 165, 164, 165, 160, 164, 164, 158, 155, 156,
+  103, 103, 96, 105, 103, 101, 91, 96, 96, 96, 86, 86, 76, 94, 121, 125,
+  143, 155, 165, 169, 171, 176, 176, 179, 177, 176, 176, 172, 160, 151, 133, 110,
+  76, 66, 55, 55, 79, 71, 86, 84, 94, 91, 86, 96, 91, 89, 86, 86,
+  86, 86, 96, 89, 91, 96, 96, 101, 103, 110, 112, 108, 108, 105, 96, 81,
+  66, 125, 221, 224, 213, 224, 177, 110, 86, 114, 123, 110, 119, 117, 117, 103,
+  91, 108, 135, 125, 137, 127, 110, 110, 127, 89, 38, 43, 26, 46, 98, 38,
+  23, 38, 23, 29, 38, 68, 86, 49, 63, 84, 49, 32, 66, 55, 18, 66,
+  125, 137, 46, 23, 29, 32, 38, 29, 29, 9, 15, 20, 96, 127, 123, 60,
+  119, 176, 129, 162, 193, 189, 187, 192, 195, 197, 197, 192, 179, 174, 169, 169,
+  172, 181, 190, 190, 182, 162, 172, 172, 187, 190, 193, 200, 204, 204, 207, 201,
+  204, 200, 200, 203, 207, 206, 207, 200, 193, 169, 129, 91, 63, 52, 29, 29,
+  41, 79, 63, 91, 155, 143, 156, 162, 86, 20, 38, 32, 32, 29, 32, 26,
+  35, 29, 49, 52, 46, 71, 57, 55, 41, 29, 29, 35, 20, 26, 35, 32,
+  26, 41, 89, 125, 153, 143, 133, 127, 147, 162, 162, 169, 171, 171, 177, 176,
+  174, 171, 171, 172, 169, 171, 169, 167, 174, 167, 171, 171, 171, 174, 169, 165,
+  167, 165, 169, 169, 162, 162, 165, 165, 160, 165, 167, 162, 162, 164, 162, 158,
+  94, 98, 96, 98, 94, 98, 105, 94, 86, 86, 89, 84, 71, 91, 114, 129,
+  143, 156, 164, 171, 172, 176, 176, 177, 176, 172, 174, 169, 164, 149, 133, 112,
+  86, 60, 46, 63, 68, 76, 76, 86, 86, 91, 91, 96, 79, 98, 91, 86,
+  86, 86, 96, 86, 91, 98, 98, 94, 101, 101, 108, 103, 108, 103, 101, 86,
+  76, 101, 227, 218, 218, 221, 137, 91, 91, 105, 110, 103, 108, 117, 108, 108,
+  114, 121, 117, 123, 127, 127, 105, 125, 119, 89, 26, 20, 46, 60, 63, 35,
+  32, 23, 29, 35, 29, 35, 89, 76, 52, 74, 68, 26, 52, 79, 12, 41,
+  81, 147, 108, 91, 89, 38, 12, 26, 15, 15, 15, 89, 162, 117, 74, 117,
+  189, 172, 127, 160, 195, 192, 189, 195, 201, 204, 198, 189, 177, 174, 171, 174,
+  181, 182, 193, 189, 176, 169, 174, 172, 189, 187, 193, 203, 198, 200, 207, 203,
+  203, 203, 207, 207, 206, 207, 209, 209, 200, 177, 145, 98, 71, 57, 26, 26,
+  15, 89, 68, 66, 156, 139, 167, 162, 79, 26, 23, 20, 23, 29, 32, 32,
+  29, 35, 35, 43, 43, 52, 52, 49, 20, 26, 29, 26, 32, 41, 29, 35,
+  29, 52, 105, 139, 147, 141, 131, 145, 153, 162, 155, 160, 160, 164, 177, 172,
+  174, 172, 172, 172, 171, 171, 169, 172, 169, 169, 167, 172, 172, 172, 172, 169,
+  164, 165, 169, 162, 165, 165, 165, 169, 162, 165, 165, 160, 160, 162, 155, 155,
+  91, 103, 103, 94, 98, 86, 96, 89, 94, 96, 79, 79, 79, 94, 117, 131,
+  145, 160, 165, 167, 182, 177, 174, 181, 172, 177, 177, 169, 156, 153, 133, 117,
+  94, 55, 57, 71, 68, 74, 84, 79, 89, 86, 96, 94, 89, 89, 96, 94,
+  84, 86, 86, 91, 96, 96, 94, 103, 101, 110, 112, 112, 101, 101, 101, 96,
+  94, 86, 213, 222, 222, 209, 96, 96, 98, 96, 101, 117, 110, 119, 105, 121,
+  121, 129, 123, 101, 117, 105, 110, 117, 103, 105, 26, 20, 46, 101, 23, 20,
+  15, 26, 35, 23, 32, 38, 43, 84, 60, 55, 68, 52, 63, 86, 29, 49,
+  32, 158, 86, 52, 74, 55, 23, 20, 15, 9, 84, 162, 133, 105, 121, 190,
+  164, 169, 137, 155, 198, 185, 172, 197, 197, 198, 190, 179, 171, 171, 171, 169,
+  189, 193, 187, 167, 156, 169, 167, 177, 190, 189, 193, 201, 198, 203, 206, 206,
+  206, 204, 206, 206, 212, 213, 212, 212, 207, 189, 164, 103, 71, 60, 20, 20,
+  32, 52, 81, 49, 155, 153, 181, 160, 63, 23, 38, 20, 29, 23, 23, 35,
+  32, 41, 46, 57, 49, 55, 63, 43, 29, 23, 32, 38, 29, 52, 18, 26,
+  41, 74, 123, 151, 141, 137, 131, 155, 164, 162, 158, 158, 164, 160, 162, 165,
+  169, 169, 176, 171, 169, 169, 171, 174, 167, 169, 167, 171, 171, 171, 169, 167,
+  171, 167, 167, 167, 164, 162, 167, 165, 167, 169, 167, 164, 162, 158, 162, 153,
+  98, 101, 98, 101, 103, 96, 96, 96, 89, 94, 86, 86, 84, 101, 112, 129,
+  143, 158, 167, 169, 176, 172, 176, 172, 179, 176, 179, 171, 165, 158, 137, 112,
+  89, 68, 46, 66, 66, 74, 81, 84, 79, 89, 98, 89, 86, 86, 94, 89,
+  91, 91, 94, 94, 91, 96, 94, 94, 105, 119, 103, 108, 103, 101, 103, 108,
+  89, 76, 174, 227, 225, 192, 105, 103, 108, 105, 103, 112, 101, 86, 119, 139,
+  112, 114, 125, 103, 81, 84, 63, 49, 52, 55, 38, 23, 84, 98, 26, 18,
+  18, 35, 23, 43, 35, 32, 35, 55, 68, 52, 60, 55, 63, 74, 29, 46,
+  26, 149, 91, 20, 15, 23, 15, 6, 9, 57, 174, 133, 91, 137, 189, 181,
+  171, 169, 151, 139, 181, 182, 167, 200, 192, 179, 182, 182, 179, 172, 169, 171,
+  187, 189, 143, 162, 164, 181, 179, 190, 189, 197, 198, 209, 204, 204, 206, 207,
+  204, 206, 207, 210, 212, 213, 215, 216, 209, 197, 167, 119, 86, 63, 23, 12,
+  29, 29, 57, 55, 121, 164, 184, 164, 66, 29, 29, 29, 26, 57, 43, 41,
+  46, 32, 38, 46, 57, 41, 55, 35, 38, 32, 23, 35, 35, 43, 20, 26,
+  38, 98, 135, 155, 139, 125, 149, 162, 171, 164, 156, 164, 160, 156, 153, 162,
+  160, 160, 167, 165, 172, 164, 165, 171, 169, 167, 167, 171, 177, 171, 174, 165,
+  169, 167, 167, 169, 164, 162, 160, 164, 165, 165, 160, 164, 164, 158, 155, 156,
+  86, 94, 105, 91, 108, 101, 91, 96, 94, 91, 94, 86, 84, 91, 110, 129,
+  145, 156, 164, 172, 171, 177, 177, 176, 177, 177, 174, 177, 162, 149, 133, 110,
+  94, 76, 52, 63, 57, 68, 81, 76, 89, 84, 101, 91, 94, 103, 91, 101,
+  86, 96, 89, 89, 94, 86, 96, 101, 193, 101, 98, 112, 112, 105, 96, 101,
+  101, 86, 123, 231, 228, 169, 108, 96, 112, 114, 110, 94, 89, 129, 129, 127,
+  127, 121, 63, 84, 74, 63, 84, 38, 32, 71, 32, 23, 108, 66, 29, 20,
+  29, 63, 46, 49, 20, 26, 29, 38, 38, 52, 46, 38, 89, 101, 63, 41,
+  26, 84, 137, 23, 26, 15, 15, 12, 38, 169, 141, 98, 121, 187, 179, 172,
+  172, 172, 158, 153, 187, 177, 187, 203, 198, 190, 176, 174, 177, 181, 181, 182,
+  177, 147, 164, 162, 171, 177, 177, 190, 192, 200, 195, 200, 203, 204, 204, 204,
+  204, 206, 210, 213, 209, 213, 210, 213, 209, 200, 181, 131, 96, 74, 26, 29,
+  26, 20, 38, 76, 55, 160, 171, 174, 98, 41, 57, 32, 35, 35, 29, 41,
+  43, 41, 43, 49, 60, 60, 52, 43, 29, 23, 32, 32, 35, 38, 23, 23,
+  43, 121, 151, 147, 139, 135, 151, 167, 171, 164, 158, 158, 158, 156, 155, 158,
+  156, 158, 160, 158, 160, 158, 172, 167, 167, 169, 167, 171, 167, 164, 169, 171,
+  172, 165, 169, 162, 169, 160, 167, 164, 162, 165, 164, 158, 164, 158, 160, 155,
+  101, 98, 94, 101, 91, 96, 98, 96, 94, 96, 84, 79, 79, 89, 112, 133,
+  143, 155, 164, 172, 176, 176, 179, 179, 174, 181, 176, 177, 162, 149, 133, 117,
+  96, 71, 66, 46, 63, 74, 86, 91, 89, 89, 91, 94, 98, 101, 89, 98,
+  96, 89, 94, 91, 84, 84, 98, 176, 110, 105, 112, 108, 110, 101, 112, 110,
+  105, 108, 108, 198, 228, 176, 96, 108, 110, 110, 117, 89, 125, 121, 129, 117,
+  127, 135, 117, 105, 98, 79, 57, 26, 29, 20, 18, 38, 114, 55, 23, 29,
+  57, 60, 26, 46, 26, 41, 55, 41, 29, 57, 41, 35, 52, 117, 127, 76,
+  20, 41, 149, 23, 18, 18, 9, 43, 156, 151, 121, 119, 192, 176, 190, 181,
+  172, 182, 158, 155, 192, 182, 182, 198, 201, 192, 176, 181, 182, 177, 179, 167,
+  147, 149, 165, 171, 169, 176, 185, 195, 195, 189, 198, 204, 204, 201, 206, 206,
+  206, 206, 212, 210, 215, 212, 215, 216, 209, 198, 189, 151, 103, 63, 35, 29,
+  12, 15, 35, 68, 32, 165, 165, 174, 119, 43, 32, 55, 29, 41, 38, 41,
+  41, 43, 46, 49, 60, 57, 38, 35, 29, 20, 38, 43, 46, 46, 26, 20,
+  68, 127, 145, 145, 135, 145, 162, 171, 174, 167, 164, 162, 160, 160, 158, 162,
+  160, 156, 155, 156, 164, 160, 164, 160, 160, 162, 165, 165, 165, 167, 172, 167,
+  167, 169, 167, 165, 165, 169, 162, 164, 164, 162, 160, 167, 164, 158, 156, 153,
+  98, 96, 101, 96, 94, 96, 91, 96, 89, 91, 89, 84, 79, 101, 112, 131,
+  139, 153, 164, 176, 172, 179, 179, 174, 174, 184, 181, 169, 156, 153, 133, 129,
+  96, 74, 55, 71, 74, 74, 79, 91, 96, 91, 91, 94, 94, 89, 89, 89,
+  94, 86, 89, 89, 101, 98, 98, 114, 105, 105, 105, 114, 110, 108, 105, 112,
+  112, 103, 89, 119, 231, 207, 105, 112, 105, 91, 110, 119, 127, 114, 108, 131,
+  119, 125, 96, 96, 66, 46, 35, 38, 57, 20, 20, 12, 89, 52, 23, 20,
+  55, 26, 41, 32, 32, 41, 41, 35, 26, 46, 26, 49, 81, 89, 57, 103,
+  76, 46, 181, 117, 12, 9, 23, 145, 160, 117, 121, 182, 190, 179, 189, 182,
+  184, 187, 172, 156, 176, 177, 190, 207, 210, 185, 176, 184, 176, 171, 164, 143,
+  155, 158, 167, 174, 172, 174, 187, 192, 197, 195, 197, 201, 204, 207, 206, 207,
+  207, 207, 212, 213, 212, 213, 213, 213, 212, 206, 190, 160, 103, 68, 52, 18,
+  20, 12, 15, 57, 52, 155, 169, 181, 96, 43, 35, 38, 43, 46, 29, 41,
+  46, 41, 49, 57, 57, 60, 55, 32, 41, 35, 26, 38, 41, 32, 29, 41,
+  96, 139, 151, 143, 133, 149, 164, 177, 176, 164, 164, 162, 162, 158, 160, 160,
+  156, 160, 153, 153, 156, 156, 155, 160, 160, 151, 156, 160, 160, 164, 165, 167,
+  169, 167, 167, 164, 164, 162, 164, 162, 160, 164, 164, 160, 158, 153, 156, 153,
+  101, 101, 96, 103, 94, 84, 89, 98, 81, 96, 86, 81, 89, 91, 108, 123,
+  143, 153, 165, 167, 174, 179, 179, 181, 179, 181, 177, 174, 162, 147, 135, 119,
+  89, 76, 71, 74, 81, 81, 84, 89, 89, 86, 98, 96, 98, 94, 89, 98,
+  96, 98, 86, 86, 98, 86, 103, 112, 105, 105, 105, 110, 108, 112, 110, 105,
+  112, 108, 98, 98, 207, 212, 121, 114, 103, 101, 119, 125, 119, 123, 137, 123,
+  127, 94, 84, 91, 38, 49, 29, 79, 29, 20, 12, 18, 63, 86, 63, 76,
+  23, 29, 57, 32, 29, 41, 35, 35, 63, 46, 12, 23, 110, 52, 55, 79,
+  43, 38, 174, 76, 12, 9, 129, 176, 117, 114, 169, 187, 174, 179, 190, 197,
+  187, 190, 158, 156, 176, 171, 193, 207, 200, 181, 172, 169, 174, 155, 153, 158,
+  165, 171, 171, 174, 171, 184, 185, 192, 198, 200, 201, 203, 203, 204, 207, 207,
+  210, 207, 210, 210, 213, 215, 216, 216, 218, 210, 198, 162, 117, 81, 60, 32,
+  23, 20, 23, 32, 94, 98, 172, 177, 94, 71, 35, 26, 35, 43, 38, 35,
+  49, 52, 41, 49, 57, 52, 41, 26, 26, 41, 32, 46, 55, 29, 26, 71,
+  127, 149, 147, 145, 137, 155, 172, 172, 171, 172, 169, 174, 169, 169, 164, 162,
+  162, 162, 162, 156, 158, 160, 158, 156, 151, 156, 158, 156, 153, 155, 164, 165,
+  165, 164, 165, 164, 158, 165, 160, 158, 164, 162, 160, 162, 155, 158, 155, 153,
+  98, 96, 94, 101, 91, 91, 94, 91, 84, 86, 86, 81, 68, 89, 110, 125,
+  143, 155, 167, 176, 179, 179, 179, 181, 181, 179, 179, 169, 156, 145, 135, 112,
+  94, 66, 66, 57, 81, 76, 84, 89, 96, 96, 94, 89, 94, 89, 91, 101,
+  89, 96, 94, 91, 89, 94, 96, 129, 110, 112, 105, 117, 114, 108, 121, 119,
+  110, 105, 114, 110, 129, 216, 121, 119, 89, 103, 131, 139, 121, 125, 129, 131,
+  125, 101, 55, 20, 46, 26, 119, 108, 15, 20, 29, 18, 38, 114, 41, 23,
+  32, 76, 66, 23, 38, 43, 23, 35, 81, 32, 18, 23, 86, 23, 71, 52,
+  20, 6, 71, 131, 9, 105, 165, 117, 125, 153, 177, 172, 182, 181, 197, 195,
+  195, 195, 153, 135, 185, 185, 200, 201, 185, 174, 164, 177, 147, 158, 156, 156,
+  169, 169, 176, 176, 176, 179, 189, 187, 200, 195, 193, 203, 201, 203, 210, 209,
+  206, 209, 212, 213, 212, 210, 216, 216, 218, 210, 204, 171, 135, 86, 74, 38,
+  32, 23, 23, 35, 79, 66, 177, 184, 86, 41, 23, 38, 41, 49, 35, 43,
+  43, 41, 52, 43, 52, 41, 32, 35, 23, 26, 49, 41, 32, 32, 26, 79,
+  137, 151, 145, 139, 147, 164, 174, 177, 176, 172, 169, 171, 172, 167, 165, 164,
+  169, 167, 162, 162, 160, 158, 160, 153, 158, 156, 156, 153, 158, 155, 155, 155,
+  158, 156, 158, 162, 160, 160, 158, 160, 160, 158, 162, 160, 156, 155, 158, 155,
+  94, 96, 101, 86, 91, 96, 89, 91, 91, 91, 79, 84, 76, 98, 119, 131,
+  145, 149, 158, 172, 177, 179, 181, 176, 179, 174, 179, 172, 162, 155, 139, 110,
+  91, 60, 57, 60, 76, 84, 91, 89, 98, 89, 89, 89, 98, 98, 98, 98,
+  91, 96, 91, 94, 91, 101, 94, 110, 112, 110, 103, 105, 117, 108, 112, 117,
+  123, 117, 110, 121, 125, 158, 103, 117, 98, 131, 135, 123, 145, 125, 119, 123,
+  89, 57, 26, 71, 32, 18, 60, 63, 20, 35, 38, 29, 15, 43, 98, 26,
+  49, 86, 46, 20, 41, 43, 23, 52, 52, 60, 35, 38, 26, 49, 76, 52,
+  9, 9, 29, 137, 89, 162, 133, 103, 133, 184, 167, 160, 171, 189, 198, 193,
+  200, 193, 169, 121, 177, 197, 201, 184, 171, 160, 162, 155, 155, 153, 165, 162,
+  171, 174, 171, 177, 177, 179, 184, 184, 197, 198, 201, 198, 203, 200, 203, 204,
+  206, 206, 209, 210, 215, 215, 216, 215, 215, 213, 207, 181, 141, 96, 86, 63,
+  35, 23, 23, 18, 66, 52, 169, 181, 103, 55, 60, 32, 52, 35, 46, 43,
+  60, 57, 46, 52, 49, 38, 32, 41, 35, 35, 43, 35, 23, 32, 60, 119,
+  141, 149, 141, 131, 147, 172, 171, 172, 172, 171, 172, 172, 167, 167, 174, 176,
+  165, 172, 171, 169, 167, 165, 160, 162, 162, 149, 151, 155, 160, 156, 156, 149,
+  151, 149, 156, 149, 153, 156, 160, 160, 158, 158, 160, 162, 160, 156, 156, 155,
+  91, 96, 89, 94, 101, 91, 94, 86, 89, 101, 89, 79, 79, 86, 112, 127,
+  141, 153, 165, 179, 179, 176, 179, 176, 179, 184, 177, 172, 158, 155, 135, 108,
+  86, 66, 71, 68, 68, 79, 84, 91, 96, 84, 96, 89, 101, 96, 101, 98,
+  98, 91, 94, 96, 98, 98, 96, 98, 110, 112, 108, 98, 98, 101, 103, 96,
+  89, 91, 125, 151, 74, 74, 119, 94, 131, 119, 127, 131, 121, 131, 123, 94,
+  68, 26, 32, 89, 18, 15, 81, 63, 23, 103, 23, 43, 15, 18, 38, 71,
+  110, 49, 41, 18, 43, 26, 20, 84, 26, 26, 46, 41, 29, 26, 103, 96,
+  9, 6, 12, 52, 155, 131, 108, 137, 198, 160, 167, 164, 167, 179, 195, 195,
+  197, 197, 187, 153, 182, 198, 174, 174, 169, 156, 156, 165, 164, 156, 162, 160,
+  169, 172, 176, 177, 176, 182, 179, 187, 193, 195, 200, 201, 200, 198, 204, 200,
+  207, 206, 206, 207, 210, 210, 213, 213, 216, 210, 207, 193, 153, 105, 76, 63,
+  35, 15, 23, 23, 41, 55, 158, 182, 135, 79, 41, 26, 20, 46, 35, 46,
+  41, 63, 55, 57, 46, 35, 20, 35, 32, 46, 43, 38, 23, 35, 81, 129,
+  147, 149, 141, 137, 153, 167, 171, 174, 169, 169, 167, 167, 165, 169, 171, 174,
+  172, 169, 176, 172, 167, 167, 164, 162, 160, 155, 153, 155, 160, 158, 156, 153,
+  155, 151, 151, 151, 147, 147, 153, 155, 156, 164, 164, 156, 158, 158, 155, 153,
+  94, 94, 96, 91, 86, 91, 96, 84, 89, 89, 96, 71, 76, 94, 112, 133,
+  145, 160, 167, 176, 172, 176, 179, 177, 182, 182, 174, 172, 160, 147, 131, 105,
+  86, 74, 52, 66, 74, 68, 89, 84, 94, 94, 94, 91, 89, 86, 98, 91,
+  86, 96, 91, 94, 101, 101, 103, 101, 108, 112, 112, 112, 110, 110, 108, 114,
+  119, 119, 149, 52, 91, 153, 137, 94, 121, 114, 123, 137, 131, 119, 123, 108,
+  74, 26, 101, 71, 18, 15, 91, 89, 52, 35, 20, 23, 52, 43, 63, 119,
+  41, 41, 12, 32, 46, 20, 15, 114, 15, 26, 94, 43, 46, 26, 131, 20,
+  23, 12, 26, 131, 123, 86, 121, 195, 167, 169, 171, 160, 165, 174, 198, 203,
+  193, 197, 193, 182, 195, 181, 176, 176, 153, 162, 171, 164, 165, 162, 164, 169,
+  174, 184, 176, 177, 179, 179, 174, 179, 192, 193, 197, 201, 198, 200, 197, 197,
+  204, 204, 206, 207, 207, 212, 210, 215, 213, 212, 209, 201, 162, 105, 84, 71,
+  35, 15, 26, 20, 35, 57, 123, 177, 153, 86, 43, 32, 46, 68, 52, 55,
+  49, 46, 63, 57, 49, 46, 29, 43, 29, 38, 38, 38, 26, 38, 108, 143,
+  145, 143, 131, 145, 158, 171, 169, 171, 171, 172, 167, 174, 171, 169, 167, 172,
+  172, 174, 176, 176, 174, 169, 167, 167, 165, 160, 158, 158, 158, 158, 155, 151,
+  155, 149, 153, 155, 151, 153, 149, 149, 153, 156, 158, 158, 158, 156, 155, 156,
+  91, 94, 89, 91, 96, 89, 94, 86, 76, 86, 81, 81, 81, 91, 112, 131,
+  143, 156, 167, 174, 177, 172, 176, 181, 184, 182, 182, 177, 160, 153, 135, 108,
+  94, 74, 52, 68, 68, 76, 86, 84, 94, 86, 84, 89, 86, 96, 101, 89,
+  89, 91, 94, 86, 96, 101, 103, 105, 105, 114, 103, 108, 112, 114, 114, 114,
+  112, 108, 174, 141, 127, 131, 193, 151, 108, 117, 131, 133, 119, 110, 125, 81,
+  23, 43, 94, 52, 20, 15, 79, 101, 41, 6, 41, 15, 41, 79, 117, 76,
+  60, 35, 26, 26, 52, 35, 26, 121, 18, 12, 105, 43, 15, 96, 20, 35,
+  32, 15, 103, 158, 79, 98, 189, 181, 174, 182, 181, 172, 167, 176, 197, 200,
+  197, 200, 193, 192, 185, 182, 145, 129, 145, 149, 158, 160, 164, 164, 177, 167,
+  177, 179, 179, 182, 184, 182, 179, 184, 187, 189, 193, 198, 198, 198, 200, 197,
+  200, 203, 206, 207, 203, 210, 213, 215, 215, 209, 209, 200, 165, 119, 84, 49,
+  26, 15, 18, 32, 38, 49, 129, 184, 155, 66, 57, 41, 52, 71, 60, 32,
+  46, 52, 60, 52, 38, 32, 38, 29, 38, 57, 43, 29, 43, 68, 121, 141,
+  143, 139, 133, 153, 164, 171, 174, 169, 172, 171, 172, 167, 171, 171, 172, 169,
+  172, 169, 179, 176, 172, 172, 171, 164, 164, 165, 164, 158, 162, 156, 160, 156,
+  153, 153, 153, 153, 147, 153, 147, 147, 145, 149, 149, 149, 149, 156, 158, 156,
+  98, 98, 108, 89, 89, 89, 86, 89, 89, 89, 84, 84, 71, 96, 105, 135,
+  131, 158, 167, 176, 176, 176, 177, 177, 177, 177, 174, 171, 165, 147, 135, 110,
+  81, 68, 55, 68, 74, 66, 76, 86, 86, 89, 91, 105, 94, 89, 94, 96,
+  91, 96, 98, 98, 94, 94, 103, 103, 101, 112, 105, 114, 110, 108, 105, 117,
+  176, 158, 165, 26, 43, 49, 74, 112, 133, 129, 131, 123, 105, 125, 108, 29,
+  35, 94, 131, 9, 20, 32, 94, 112, 12, 12, 43, 38, 68, 55, 35, 63,
+  18, 15, 23, 26, 35, 43, 35, 63, 12, 29, 110, 49, 15, 117, 60, 49,
+  12, 57, 164, 112, 94, 177, 193, 174, 177, 185, 181, 160, 153, 172, 192, 201,
+  200, 200, 201, 192, 179, 63, 66, 110, 117, 133, 139, 145, 155, 158, 172, 176,
+  171, 182, 182, 182, 181, 174, 179, 181, 182, 184, 192, 200, 203, 198, 198, 192,
+  198, 201, 203, 207, 204, 207, 212, 210, 212, 207, 204, 192, 162, 117, 49, 32,
+  29, 23, 23, 29, 20, 81, 94, 184, 160, 94, 57, 38, 55, 49, 74, 52,
+  52, 57, 84, 57, 41, 32, 43, 32, 38, 52, 29, 38, 35, 84, 133, 145,
+  143, 133, 139, 155, 167, 171, 165, 164, 167, 171, 165, 167, 167, 171, 165, 169,
+  172, 174, 171, 176, 171, 174, 167, 165, 165, 165, 164, 164, 162, 160, 164, 156,
+  156, 155, 156, 155, 155, 153, 153, 147, 149, 153, 153, 149, 151, 143, 149, 147,
+  86, 96, 91, 94, 94, 94, 89, 96, 94, 89, 84, 89, 79, 91, 108, 133,
+  145, 155, 165, 167, 177, 179, 181, 179, 179, 181, 177, 176, 164, 151, 137, 117,
+  91, 84, 57, 63, 76, 68, 79, 81, 84, 91, 101, 94, 98, 105, 94, 91,
+  96, 91, 94, 89, 98, 91, 96, 101, 101, 114, 112, 110, 114, 114, 108, 181,
+  207, 103, 76, 18, 12, 18, 15, 151, 156, 182, 114, 101, 94, 101, 32, 35,
+  91, 57, 98, 15, 23, 49, 143, 110, 6, 26, 23, 26, 35, 49, 35, 46,
+  23, 23, 41, 43, 35, 41, 26, 60, 18, 43, 68, 46, 38, 63, 15, 6,
+  26, 145, 131, 81, 147, 201, 171, 181, 187, 200, 181, 165, 164, 182, 198, 203,
+  206, 201, 200, 127, 68, 76, 89, 94, 79, 98, 94, 91, 110, 119, 141, 164,
+  177, 182, 185, 182, 179, 179, 176, 176, 177, 189, 190, 198, 197, 197, 192, 195,
+  200, 193, 198, 203, 203, 204, 209, 209, 209, 201, 182, 169, 131, 94, 46, 35,
+  18, 15, 18, 23, 26, 94, 46, 193, 164, 125, 32, 35, 63, 66, 38, 41,
+  60, 63, 66, 46, 41, 35, 32, 35, 38, 41, 32, 35, 46, 101, 139, 145,
+  139, 131, 147, 158, 171, 167, 167, 167, 164, 165, 169, 167, 167, 165, 164, 162,
+  167, 167, 172, 169, 171, 174, 172, 169, 162, 165, 167, 164, 169, 165, 160, 162,
+  158, 155, 158, 155, 158, 153, 147, 153, 145, 147, 147, 149, 143, 145, 143, 141,
+  91, 96, 96, 91, 98, 91, 98, 86, 91, 91, 81, 86, 76, 86, 108, 127,
+  145, 155, 160, 169, 176, 176, 179, 179, 179, 181, 181, 172, 165, 155, 139, 108,
+  84, 66, 66, 68, 79, 74, 91, 89, 91, 96, 91, 91, 94, 98, 98, 101,
+  94, 94, 98, 91, 96, 96, 96, 112, 108, 108, 108, 117, 114, 114, 119, 181,
+  184, 98, 35, 23, 15, 23, 76, 145, 189, 201, 121, 74, 52, 68, 35, 55,
+  101, 141, 23, 26, 20, 89, 133, 123, 9, 26, 12, 35, 52, 63, 52, 68,
+  43, 23, 46, 32, 23, 29, 55, 105, 57, 52, 29, 76, 29, 29, 20, 15,
+  125, 165, 81, 125, 193, 171, 179, 184, 200, 204, 174, 164, 164, 190, 197, 203,
+  204, 195, 119, 117, 135, 137, 139, 123, 112, 103, 81, 46, 55, 60, 76, 103,
+  141, 165, 179, 177, 177, 182, 182, 174, 172, 181, 189, 197, 197, 198, 192, 192,
+  195, 197, 198, 206, 203, 204, 209, 203, 193, 171, 139, 119, 96, 71, 43, 38,
+  18, 15, 20, 23, 29, 71, 35, 184, 177, 135, 29, 26, 46, 68, 46, 55,
+  52, 52, 43, 49, 32, 26, 46, 29, 49, 35, 35, 35, 63, 110, 139, 141,
+  141, 131, 151, 162, 177, 171, 165, 167, 167, 164, 164, 167, 164, 167, 162, 165,
+  167, 167, 169, 169, 171, 169, 171, 164, 158, 162, 165, 167, 164, 165, 162, 164,
+  158, 164, 160, 160, 153, 156, 158, 155, 155, 149, 149, 145, 147, 143, 139, 139,
+  98, 91, 94, 96, 98, 86, 91, 98, 94, 94, 89, 81, 71, 84, 108, 127,
+  141, 156, 169, 174, 179, 171, 179, 177, 182, 179, 176, 174, 162, 147, 141, 119,
+  91, 60, 63, 74, 76, 74, 76, 79, 84, 94, 108, 89, 94, 86, 91, 84,
+  94, 89, 96, 89, 91, 96, 101, 105, 105, 101, 110, 117, 119, 125, 131, 135,
+  155, 151, 55, 29, 12, 26, 68, 141, 147, 79, 105, 43, 63, 79, 35, 57,
+  76, 81, 32, 41, 63, 89, 52, 139, 12, 20, 20, 76, 57, 26, 91, 38,
+  84, 18, 52, 20, 23, 9, 23, 76, 84, 117, 15, 91, 32, 15, 18, 74,
+  167, 110, 114, 198, 172, 176, 185, 197, 206, 189, 164, 162, 179, 197, 201, 206,
+  189, 110, 125, 143, 151, 151, 143, 162, 149, 141, 114, 86, 68, 63, 49, 35,
+  66, 94, 151, 172, 172, 174, 167, 171, 177, 176, 189, 189, 195, 195, 193, 187,
+  197, 198, 193, 198, 190, 192, 176, 147, 112, 81, 79, 60, 76, 84, 74, 71,
+  29, 23, 26, 26, 29, 52, 29, 182, 169, 139, 55, 38, 38, 74, 57, 57,
+  57, 55, 43, 23, 41, 35, 32, 23, 43, 43, 35, 32, 71, 137, 145, 139,
+  129, 137, 155, 172, 165, 171, 167, 167, 167, 165, 164, 162, 165, 169, 164, 162,
+  160, 165, 167, 171, 167, 171, 171, 160, 164, 165, 162, 165, 165, 164, 169, 162,
+  165, 162, 164, 162, 160, 164, 156, 153, 151, 155, 153, 147, 151, 139, 141, 141,
+  94, 89, 94, 89, 101, 105, 96, 89, 96, 86, 91, 81, 74, 86, 108, 125,
+  147, 153, 162, 174, 177, 172, 181, 177, 176, 181, 182, 176, 162, 155, 137, 121,
+  84, 63, 66, 74, 74, 68, 81, 86, 91, 91, 96, 96, 96, 86, 94, 86,
+  79, 94, 86, 96, 98, 98, 98, 96, 91, 103, 114, 117, 141, 156, 143, 141,
+  137, 129, 29, 49, 55, 15, 79, 131, 141, 63, 63, 105, 57, 41, 52, 108,
+  96, 26, 35, 41, 123, 76, 29, 151, 26, 20, 18, 66, 55, 32, 26, 43,
+  96, 46, 29, 12, 20, 18, 18, 32, 91, 145, 12, 74, 18, 6, 38, 151,
+  153, 105, 176, 192, 171, 184, 193, 207, 206, 177, 160, 177, 195, 203, 209, 169,
+  101, 127, 125, 131, 145, 147, 108, 141, 164, 153, 121, 135, 74, 74, 71, 63,
+  66, 60, 84, 131, 167, 167, 169, 169, 174, 177, 184, 187, 195, 193, 193, 190,
+  190, 193, 189, 190, 171, 141, 89, 79, 94, 76, 98, 96, 137, 114, 105, 84,
+  41, 38, 18, 15, 20, 52, 32, 179, 171, 137, 81, 41, 43, 68, 46, 49,
+  49, 57, 41, 35, 29, 29, 38, 46, 43, 46, 43, 38, 91, 137, 143, 137,
+  129, 145, 160, 167, 172, 164, 167, 171, 164, 164, 162, 164, 162, 162, 162, 164,
+  162, 160, 162, 165, 167, 165, 165, 162, 167, 160, 167, 162, 162, 162, 165, 165,
+  162, 165, 165, 160, 160, 158, 164, 158, 155, 153, 153, 149, 149, 143, 143, 141,
+  89, 101, 91, 91, 103, 89, 94, 91, 91, 89, 89, 79, 68, 84, 105, 121,
+  145, 153, 165, 176, 177, 177, 176, 182, 181, 184, 185, 176, 162, 156, 137, 117,
+  89, 68, 55, 76, 76, 79, 98, 84, 96, 98, 94, 89, 94, 89, 91, 89,
+  86, 94, 84, 86, 89, 94, 98, 98, 103, 98, 101, 143, 156, 156, 151, 145,
+  137, 193, 129, 105, 145, 71, 103, 125, 147, 119, 46, 76, 32, 32, 63, 117,
+  105, 52, 60, 91, 103, 15, 15, 123, 60, 32, 23, 84, 32, 18, 23, 35,
+  103, 89, 18, 20, 18, 29, 15, 20, 29, 46, 101, 18, 18, 12, 131, 158,
+  103, 165, 201, 169, 177, 193, 200, 207, 197, 171, 167, 192, 203, 210, 137, 84,
+  103, 103, 110, 121, 108, 125, 68, 79, 149, 135, 81, 119, 68, 108, 103, 89,
+  86, 89, 91, 114, 149, 153, 155, 165, 165, 172, 187, 187, 195, 197, 197, 193,
+  193, 190, 174, 174, 129, 103, 91, 110, 123, 86, 105, 112, 103, 79, 63, 71,
+  38, 68, 29, 32, 20, 63, 23, 164, 177, 135, 89, 35, 38, 46, 35, 60,
+  55, 55, 35, 46, 32, 32, 35, 35, 41, 26, 46, 57, 117, 139, 145, 135,
+  129, 145, 164, 167, 165, 167, 165, 164, 165, 164, 160, 162, 162, 162, 160, 158,
+  165, 160, 165, 164, 164, 167, 169, 165, 164, 167, 162, 165, 162, 160, 162, 162,
+  165, 165, 165, 164, 167, 164, 160, 156, 160, 160, 156, 153, 149, 145, 145, 141,
+  81, 94, 91, 94, 96, 94, 89, 94, 91, 89, 86, 68, 63, 84, 108, 121,
+  143, 153, 164, 174, 179, 181, 174, 177, 181, 177, 179, 174, 164, 155, 139, 112,
+  94, 63, 55, 63, 71, 68, 81, 81, 86, 91, 98, 91, 91, 89, 86, 86,
+  86, 98, 76, 89, 96, 86, 96, 98, 105, 121, 133, 141, 149, 160, 155, 149,
+  147, 193, 190, 172, 169, 139, 98, 68, 81, 35, 55, 20, 35, 76, 103, 139,
+  20, 84, 79, 108, 98, 12, 12, 86, 117, 32, 29, 81, 29, 32, 15, 41,
+  96, 117, 38, 32, 23, 23, 35, 29, 20, 29, 23, 52, 6, 49, 167, 98,
+  125, 206, 169, 172, 184, 200, 207, 212, 189, 176, 181, 198, 212, 101, 74, 89,
+  89, 91, 60, 52, 68, 68, 29, 35, 101, 60, 23, 52, 76, 119, 66, 121,
+  117, 103, 105, 112, 127, 143, 155, 160, 155, 167, 176, 193, 197, 203, 200, 193,
+  192, 195, 171, 141, 135, 127, 119, 71, 57, 29, 35, 43, 43, 55, 49, 49,
+  55, 49, 29, 15, 26, 68, 20, 164, 185, 117, 105, 26, 29, 52, 49, 57,
+  57, 41, 32, 29, 26, 26, 32, 41, 41, 26, 35, 86, 129, 143, 143, 129,
+  137, 160, 167, 164, 162, 165, 167, 158, 160, 162, 164, 162, 164, 160, 158, 160,
+  164, 164, 164, 165, 165, 165, 164, 165, 165, 162, 164, 158, 162, 162, 165, 164,
+  167, 162, 164, 165, 162, 156, 155, 153, 158, 155, 156, 155, 153, 147, 145, 143,
+  89, 98, 94, 94, 91, 86, 86, 89, 94, 86, 89, 79, 68, 81, 110, 129,
+  143, 153, 160, 169, 177, 179, 177, 187, 179, 182, 181, 174, 164, 155, 137, 119,
+  94, 71, 74, 57, 63, 74, 81, 84, 89, 89, 89, 94, 91, 94, 89, 84,
+  89, 81, 98, 86, 89, 86, 89, 141, 149, 162, 143, 143, 149, 156, 151, 147,
+  151, 153, 117, 114, 158, 121, 20, 23, 12, 20, 57, 76, 76, 84, 151, 60,
+  46, 74, 74, 117, 68, 26, 23, 96, 79, 26, 20, 101, 29, 18, 12, 35,
+  49, 139, 105, 32, 15, 26, 43, 29, 18, 15, 23, 15, 23, 156, 135, 94,
+  197, 174, 176, 182, 195, 207, 209, 203, 197, 192, 200, 210, 84, 66, 60, 52,
+  43, 41, 35, 38, 26, 26, 35, 35, 29, 23, 23, 15, 18, 49, 101, 137,
+  119, 110, 121, 110, 131, 141, 147, 156, 158, 169, 181, 195, 197, 200, 201, 201,
+  197, 187, 155, 112, 89, 60, 23, 32, 41, 26, 26, 20, 38, 35, 46, 57,
+  60, 20, 32, 15, 15, 66, 20, 165, 184, 127, 112, 76, 32, 49, 66, 55,
+  63, 49, 26, 35, 43, 29, 32, 43, 41, 18, 29, 96, 139, 147, 139, 139,
+  143, 156, 164, 167, 164, 165, 164, 162, 162, 162, 160, 164, 171, 162, 160, 164,
+  162, 160, 164, 164, 167, 169, 167, 158, 156, 162, 162, 156, 164, 164, 158, 158,
+  164, 165, 162, 162, 162, 164, 153, 158, 155, 155, 155, 151, 151, 149, 149, 149,
+  91, 101, 96, 84, 91, 91, 84, 86, 81, 94, 84, 74, 66, 66, 101, 127,
+  141, 156, 167, 171, 176, 176, 182, 181, 181, 179, 176, 172, 160, 149, 139, 114,
+  89, 84, 60, 57, 68, 71, 74, 74, 96, 81, 101, 86, 86, 86, 89, 86,
+  86, 91, 76, 76, 76, 81, 117, 165, 210, 197, 133, 145, 151, 149, 153, 153,
+  156, 149, 108, 55, 74, 103, 15, 18, 15, 55, 125, 89, 74, 112, 96, 101,
+  60, 112, 66, 135, 81, 20, 18, 98, 18, 84, 29, 94, 26, 26, 12, 15,
+  9, 41, 129, 123, 55, 18, 15, 32, 38, 9, 29, 9, 89, 181, 96, 160,
+  203, 171, 185, 189, 192, 207, 204, 203, 198, 195, 207, 84, 43, 57, 23, 38,
+  26, 29, 41, 20, 29, 23, 23, 35, 55, 68, 32, 20, 18, 29, 23, 103,
+  133, 121, 125, 117, 119, 139, 141, 143, 155, 164, 182, 193, 200, 201, 206, 206,
+  192, 162, 79, 41, 46, 38, 41, 41, 43, 23, 32, 29, 35, 60, 32, 46,
+  26, 26, 29, 29, 26, 66, 23, 156, 187, 133, 103, 63, 68, 38, 49, 49,
+  55, 35, 26, 29, 38, 26, 41, 32, 41, 23, 23, 105, 149, 145, 137, 139,
+  155, 171, 169, 171, 162, 164, 167, 158, 165, 160, 160, 158, 158, 155, 167, 162,
+  158, 158, 164, 158, 164, 164, 162, 162, 162, 162, 165, 162, 160, 162, 164, 164,
+  160, 162, 160, 158, 160, 153, 160, 153, 156, 153, 151, 153, 153, 153, 147, 145,
+  84, 81, 91, 81, 81, 81, 84, 79, 86, 89, 79, 63, 60, 68, 103, 121,
+  141, 151, 169, 174, 176, 179, 177, 181, 177, 181, 181, 172, 162, 153, 133, 117,
+  86, 63, 63, 57, 71, 76, 74, 79, 89, 86, 84, 94, 81, 79, 86, 81,
+  89, 84, 74, 71, 66, 103, 213, 181, 216, 131, 137, 139, 143, 149, 158, 147,
+  139, 147, 86, 32, 74, 26, 9, 12, 41, 141, 94, 26, 81, 105, 43, 91,
+  74, 84, 76, 162, 74, 18, 38, 81, 23, 49, 81, 101, 63, 29, 35, 15,
+  23, 23, 57, 129, 119, 76, 20, 18, 18, 12, 12, 35, 153, 108, 127, 209,
+  172, 174, 182, 195, 203, 212, 201, 197, 206, 206, 81, 57, 38, 49, 26, 35,
+  23, 23, 23, 26, 20, 26, 26, 60, 147, 160, 103, 41, 18, 20, 20, 52,
+  110, 131, 121, 119, 127, 129, 137, 145, 149, 160, 182, 192, 207, 207, 212, 207,
+  165, 35, 43, 29, 43, 32, 43, 76, 129, 86, 23, 20, 32, 29, 38, 41,
+  23, 38, 35, 20, 29, 74, 18, 155, 192, 155, 89, 63, 52, 55, 71, 46,
+  46, 29, 29, 32, 29, 32, 43, 35, 41, 29, 55, 127, 151, 143, 143, 141,
+  160, 167, 165, 165, 164, 162, 165, 160, 158, 160, 155, 160, 162, 160, 160, 167,
+  165, 158, 158, 165, 164, 160, 164, 160, 164, 158, 165, 162, 160, 167, 162, 160,
+  160, 160, 160, 160, 158, 155, 153, 155, 153, 149, 149, 145, 149, 145, 145, 143,
+  84, 91, 89, 84, 81, 86, 79, 79, 79, 76, 63, 84, 60, 68, 94, 125,
+  139, 155, 164, 176, 179, 177, 177, 182, 179, 179, 181, 172, 164, 151, 139, 117,
+  89, 71, 55, 57, 68, 74, 84, 76, 86, 84, 86, 91, 89, 89, 84, 89,
+  81, 79, 74, 71, 63, 131, 203, 193, 189, 114, 133, 143, 151, 155, 155, 91,
+  127, 129, 74, 81, 26, 15, 32, 26, 141, 98, 15, 43, 131, 18, 9, 52,
+  112, 98, 105, 131, 46, 32, 26, 57, 20, 32, 26, 74, 105, 32, 32, 29,
+  35, 23, 35, 52, 26, 57, 91, 29, 15, 9, 12, 117, 165, 86, 184, 185,
+  172, 187, 182, 192, 210, 209, 203, 207, 206, 103, 68, 74, 49, 23, 15, 32,
+  49, 49, 23, 41, 15, 20, 84, 84, 182, 210, 185, 167, 55, 20, 63, 41,
+  98, 121, 110, 108, 129, 133, 141, 141, 151, 164, 169, 197, 209, 218, 216, 189,
+  71, 29, 23, 35, 26, 35, 162, 57, 171, 139, 66, 20, 20, 38, 35, 41,
+  23, 26, 35, 15, 20, 74, 12, 147, 190, 153, 84, 86, 55, 55, 57, 46,
+  49, 32, 23, 32, 38, 46, 32, 29, 26, 29, 94, 133, 151, 145, 139, 149,
+  164, 167, 164, 165, 165, 164, 165, 160, 158, 162, 158, 158, 155, 160, 162, 160,
+  158, 158, 165, 153, 158, 158, 162, 160, 158, 160, 156, 164, 164, 160, 162, 156,
+  156, 162, 160, 156, 153, 149, 147, 149, 147, 153, 141, 141, 143, 141, 145, 145,
+  89, 94, 86, 81, 94, 86, 79, 86, 79, 71, 66, 71, 52, 68, 103, 131,
+  135, 155, 165, 179, 176, 184, 179, 179, 181, 179, 182, 182, 160, 153, 135, 119,
+  86, 60, 57, 68, 74, 84, 89, 91, 81, 91, 94, 79, 86, 86, 96, 96,
+  84, 79, 81, 71, 66, 81, 200, 197, 187, 147, 135, 147, 149, 149, 153, 98,
+  155, 129, 29, 74, 32, 20, 66, 119, 46, 32, 46, 110, 57, 20, 20, 81,
+  143, 84, 84, 119, 38, 29, 32, 26, 12, 38, 26, 41, 153, 38, 38, 15,
+  18, 26, 26, 35, 23, 26, 55, 23, 29, 63, 43, 156, 94, 147, 209, 171,
+  190, 193, 193, 200, 213, 207, 209, 212, 127, 84, 74, 46, 38, 32, 20, 38,
+  86, 81, 43, 91, 23, 23, 119, 38, 164, 207, 201, 200, 149, 49, 79, 101,
+  74, 114, 105, 101, 123, 129, 129, 131, 149, 165, 182, 201, 221, 222, 209, 110,
+  52, 35, 60, 43, 18, 43, 103, 60, 185, 167, 86, 41, 26, 68, 23, 49,
+  35, 26, 23, 18, 15, 96, 18, 141, 181, 155, 68, 103, 55, 66, 52, 46,
+  41, 29, 29, 55, 26, 38, 26, 26, 38, 57, 110, 145, 145, 149, 145, 160,
+  172, 162, 160, 160, 164, 164, 160, 160, 160, 160, 156, 158, 158, 160, 158, 160,
+  156, 162, 158, 156, 160, 158, 153, 165, 158, 160, 158, 160, 155, 156, 155, 153,
+  158, 156, 158, 153, 149, 153, 151, 149, 145, 137, 141, 143, 141, 139, 135, 141,
+  89, 91, 91, 79, 94, 81, 84, 84, 81, 74, 74, 63, 55, 68, 103, 127,
+  137, 153, 169, 176, 179, 179, 179, 184, 185, 184, 182, 177, 164, 151, 137, 117,
+  98, 68, 52, 57, 76, 86, 79, 91, 91, 91, 94, 86, 98, 91, 105, 86,
+  94, 81, 86, 76, 23, 66, 197, 74, 117, 200, 187, 149, 147, 153, 137, 84,
+  114, 52, 20, 23, 12, 43, 129, 71, 18, 46, 86, 32, 74, 32, 32, 57,
+  137, 71, 108, 119, 29, 35, 23, 32, 29, 26, 20, 32, 135, 63, 23, 26,
+  23, 26, 35, 26, 15, 18, 26, 20, 18, 29, 108, 114, 103, 198, 176, 156,
+  156, 181, 198, 210, 212, 201, 209, 158, 94, 108, 98, 68, 68, 41, 12, 43,
+  86, 123, 55, 81, 79, 91, 57, 55, 207, 212, 216, 212, 189, 101, 49, 119,
+  74, 103, 96, 108, 110, 123, 131, 135, 155, 164, 187, 203, 218, 216, 176, 74,
+  101, 41, 94, 86, 49, 110, 60, 79, 182, 158, 112, 41, 18, 20, 20, 26,
+  26, 15, 32, 18, 23, 98, 18, 127, 182, 160, 68, 105, 68, 91, 35, 60,
+  29, 26, 35, 38, 38, 38, 38, 35, 38, 63, 121, 147, 147, 139, 145, 158,
+  165, 167, 169, 162, 162, 167, 162, 160, 164, 155, 162, 156, 155, 158, 158, 158,
+  158, 162, 156, 156, 162, 160, 158, 158, 158, 156, 155, 158, 155, 156, 155, 155,
+  155, 158, 149, 153, 149, 149, 145, 139, 141, 139, 131, 141, 137, 147, 153, 160,
+  98, 89, 91, 89, 91, 91, 101, 84, 84, 76, 68, 63, 49, 66, 94, 123,
+  141, 156, 165, 172, 182, 181, 179, 185, 184, 185, 182, 179, 165, 151, 133, 117,
+  91, 76, 52, 71, 66, 74, 86, 86, 91, 98, 91, 91, 98, 79, 101, 98,
+  108, 105, 57, 49, 29, 20, 167, 114, 147, 182, 216, 213, 185, 160, 35, 20,
+  20, 32, 18, 32, 52, 98, 60, 41, 26, 57, 49, 41, 63, 43, 49, 86,
+  149, 91, 141, 125, 32, 35, 32, 29, 43, 29, 23, 18, 86, 74, 26, 32,
+  23, 23, 43, 29, 29, 20, 23, 32, 18, 52, 147, 74, 147, 176, 160, 181,
+  197, 203, 206, 207, 204, 209, 164, 94, 105, 121, 121, 110, 105, 91, 20, 23,
+  79, 112, 114, 49, 38, 41, 71, 172, 213, 213, 213, 203, 181, 127, 76, 119,
+  108, 101, 108, 105, 110, 117, 129, 135, 153, 169, 190, 216, 221, 221, 131, 98,
+  129, 119, 52, 105, 94, 74, 63, 169, 177, 155, 101, 52, 20, 38, 20, 20,
+  18, 23, 29, 18, 41, 105, 18, 105, 172, 162, 79, 91, 68, 84, 43, 41,
+  32, 55, 32, 32, 55, 38, 26, 29, 35, 86, 135, 155, 143, 141, 149, 160,
+  164, 167, 165, 164, 165, 162, 158, 160, 156, 158, 164, 156, 162, 158, 156, 160,
+  153, 164, 158, 155, 156, 160, 162, 164, 158, 156, 156, 151, 151, 155, 151, 158,
+  151, 155, 151, 143, 143, 143, 143, 139, 139, 137, 137, 143, 153, 158, 167, 176,
+  91, 101, 91, 86, 84, 91, 96, 84, 81, 81, 68, 63, 49, 71, 101, 119,
+  141, 155, 162, 174, 181, 181, 184, 184, 181, 182, 182, 177, 164, 155, 137, 112,
+  98, 76, 66, 63, 79, 84, 91, 89, 84, 101, 103, 96, 91, 86, 96, 91,
+  110, 38, 49, 26, 43, 79, 149, 155, 171, 187, 227, 246, 215, 38, 68, 20,
+  35, 15, 18, 35, 101, 74, 81, 89, 35, 55, 86, 66, 76, 101, 91, 101,
+  112, 66, 119, 147, 43, 23, 41, 29, 55, 23, 26, 20, 52, 43, 18, 55,
+  18, 18, 32, 35, 18, 32, 12, 26, 57, 143, 91, 98, 204, 153, 181, 185,
+  197, 203, 209, 207, 206, 167, 101, 110, 101, 117, 127, 125, 133, 112, 63, 52,
+  89, 112, 121, 123, 96, 119, 176, 203, 207, 210, 210, 204, 149, 141, 145, 96,
+  127, 103, 110, 114, 114, 121, 121, 127, 143, 171, 201, 221, 225, 213, 123, 84,
+  127, 155, 114, 84, 66, 96, 167, 187, 177, 153, 96, 49, 43, 26, 20, 26,
+  41, 18, 43, 26, 38, 86, 32, 86, 174, 172, 96, 76, 84, 98, 66, 35,
+  38, 38, 35, 23, 41, 46, 38, 23, 35, 103, 143, 143, 143, 137, 155, 171,
+  165, 164, 160, 162, 164, 160, 162, 160, 158, 158, 160, 156, 172, 164, 164, 162,
+  165, 162, 162, 165, 160, 160, 164, 160, 155, 162, 160, 158, 160, 155, 153, 149,
+  149, 147, 149, 149, 143, 141, 141, 135, 137, 143, 153, 160, 171, 172, 179, 190,
+  89, 86, 96, 91, 86, 94, 91, 79, 79, 81, 79, 55, 60, 68, 101, 121,
+  137, 155, 167, 177, 179, 181, 184, 184, 185, 184, 184, 177, 165, 153, 131, 123,
+  91, 74, 74, 66, 79, 71, 89, 91, 96, 101, 91, 101, 96, 125, 43, 26,
+  18, 35, 68, 123, 137, 155, 171, 195, 160, 221, 230, 147, 55, 38, 119, 26,
+  20, 29, 55, 127, 139, 114, 29, 32, 12, 60, 41, 89, 79, 55, 66, 112,
+  129, 26, 127, 145, 89, 71, 29, 18, 46, 15, 18, 35, 26, 23, 46, 43,
+  26, 29, 71, 26, 23, 20, 15, 23, 117, 153, 91, 181, 200, 169, 181, 195,
+  206, 210, 209, 203, 155, 86, 114, 117, 123, 121, 131, 145, 137, 139, 121, 96,
+  91, 52, 114, 135, 151, 156, 172, 184, 195, 201, 189, 167, 155, 137, 112, 105,
+  119, 117, 108, 110, 117, 121, 117, 137, 151, 174, 197, 224, 227, 209, 123, 91,
+  81, 114, 143, 141, 147, 167, 177, 182, 162, 119, 84, 26, 32, 46, 38, 32,
+  43, 35, 41, 35, 38, 84, 43, 89, 171, 187, 110, 84, 84, 66, 49, 35,
+  29, 29, 26, 35, 38, 43, 23, 29, 57, 123, 143, 141, 139, 145, 164, 165,
+  162, 160, 162, 160, 160, 160, 162, 160, 155, 158, 162, 160, 160, 171, 158, 160,
+  156, 160, 160, 162, 158, 155, 155, 155, 160, 153, 153, 153, 149, 156, 153, 151,
+  147, 143, 149, 147, 139, 143, 141, 145, 167, 167, 171, 181, 185, 189, 192, 197,
+  103, 98, 89, 96, 89, 103, 86, 79, 81, 71, 74, 60, 52, 63, 89, 123,
+  139, 153, 169, 174, 182, 181, 184, 189, 184, 185, 184, 182, 165, 156, 137, 117,
+  98, 74, 63, 74, 86, 86, 91, 98, 98, 108, 103, 103, 98, 182, 12, 9,
+  35, 66, 133, 164, 145, 158, 156, 171, 151, 185, 74, 46, 26, 15, 71, 94,
+  94, 123, 147, 84, 68, 86, 15, 18, 20, 98, 29, 103, 79, 74, 74, 96,
+  164, 74, 143, 119, 123, 43, 101, 26, 29, 20, 23, 29, 43, 32, 29, 20,
+  20, 26, 26, 15, 15, 18, 12, 43, 162, 79, 133, 209, 171, 177, 189, 198,
+  210, 210, 204, 147, 86, 105, 123, 114, 133, 129, 127, 137, 137, 137, 139, 112,
+  121, 123, 96, 94, 101, 117, 131, 156, 151, 165, 165, 167, 176, 174, 179, 147,
+  123, 121, 117, 112, 110, 117, 121, 135, 145, 172, 193, 222, 228, 206, 179, 171,
+  169, 133, 141, 139, 123, 155, 162, 137, 114, 79, 43, 23, 79, 66, 38, 29,
+  41, 18, 71, 41, 46, 68, 23, 79, 160, 190, 133, 66, 86, 66, 63, 35,
+  35, 35, 29, 18, 46, 43, 29, 46, 86, 125, 151, 137, 137, 145, 165, 165,
+  164, 164, 162, 158, 158, 162, 162, 156, 158, 156, 158, 160, 165, 189, 158, 156,
+  153, 164, 164, 160, 165, 162, 158, 155, 149, 156, 155, 149, 145, 155, 151, 143,
+  139, 149, 141, 143, 139, 143, 151, 171, 176, 182, 185, 190, 193, 193, 198, 198,
+  91, 96, 96, 98, 86, 98, 79, 74, 76, 68, 63, 68, 49, 55, 91, 119,
+  143, 155, 169, 177, 177, 182, 182, 189, 189, 182, 187, 179, 171, 160, 137, 123,
+  96, 71, 66, 68, 81, 94, 94, 91, 105, 103, 101, 96, 103, 177, 18, 35,
+  105, 137, 165, 156, 133, 127, 131, 177, 167, 55, 55, 63, 35, 32, 41, 127,
+  127, 43, 29, 66, 133, 20, 15, 26, 41, 98, 41, 79, 112, 29, 74, 112,
+  139, 117, 145, 101, 96, 141, 76, 15, 26, 26, 18, 20, 26, 29, 35, 18,
+  49, 29, 23, 18, 15, 15, 18, 133, 127, 81, 187, 182, 179, 187, 192, 203,
+  212, 209, 164, 68, 94, 119, 125, 127, 137, 133, 137, 137, 141, 135, 145, 135,
+  137, 125, 98, 123, 98, 127, 137, 141, 108, 119, 127, 155, 158, 165, 153, 133,
+  117, 108, 114, 125, 112, 119, 119, 133, 143, 165, 184, 219, 230, 210, 174, 162,
+  151, 143, 139, 125, 108, 108, 91, 81, 38, 38, 76, 74, 74, 68, 35, 23,
+  29, 9, 32, 49, 68, 79, 38, 68, 158, 198, 147, 79, 96, 79, 41, 23,
+  29, 41, 29, 38, 43, 41, 32, 57, 108, 135, 143, 139, 145, 151, 172, 171,
+  164, 165, 158, 160, 162, 160, 162, 158, 158, 155, 155, 155, 158, 160, 156, 156,
+  156, 156, 156, 164, 162, 158, 155, 155, 147, 151, 149, 149, 149, 149, 145, 143,
+  149, 141, 143, 145, 158, 162, 176, 182, 187, 193, 197, 197, 198, 198, 197, 197,
+  94, 98, 96, 101, 86, 98, 79, 79, 68, 74, 71, 57, 55, 49, 91, 123,
+  137, 155, 167, 172, 179, 185, 181, 187, 187, 185, 192, 181, 169, 156, 141, 125,
+  98, 76, 63, 68, 79, 84, 94, 103, 103, 108, 110, 96, 98, 143, 96, 121,
+  137, 123, 121, 149, 156, 114, 49, 84, 79, 86, 49, 32, 26, 32, 15, 55,
+  167, 137, 74, 141, 108, 74, 66, 43, 18, 81, 57, 71, 114, 74, 43, 121,
+  103, 129, 123, 121, 151, 127, 15, 35, 35, 23, 35, 35, 20, 35, 23, 23,
+  41, 35, 26, 20, 6, 15, 89, 169, 89, 110, 193, 169, 187, 187, 197, 209,
+  209, 172, 68, 79, 94, 119, 125, 125, 141, 133, 141, 147, 151, 145, 139, 139,
+  147, 139, 123, 131, 114, 123, 133, 125, 112, 147, 145, 153, 151, 149, 141, 151,
+  125, 110, 121, 123, 114, 123, 112, 125, 139, 160, 193, 218, 230, 215, 187, 160,
+  151, 139, 131, 119, 125, 121, 125, 112, 74, 84, 68, 91, 79, 68, 35, 38,
+  23, 9, 35, 32, 74, 79, 20, 74, 160, 197, 151, 91, 79, 52, 29, 41,
+  26, 29, 18, 49, 41, 43, 23, 76, 127, 143, 139, 133, 143, 167, 169, 160,
+  165, 162, 162, 158, 162, 160, 162, 160, 164, 158, 158, 162, 155, 158, 155, 162,
+  160, 158, 158, 155, 160, 155, 155, 156, 145, 156, 149, 147, 147, 149, 139, 143,
+  143, 137, 143, 162, 171, 182, 192, 195, 197, 200, 200, 201, 201, 200, 195, 195,
+  91, 94, 89, 91, 86, 86, 86, 81, 71, 76, 71, 55, 41, 63, 86, 112,
+  141, 151, 171, 176, 177, 179, 184, 187, 184, 189, 184, 184, 167, 160, 141, 125,
+  96, 63, 52, 66, 76, 84, 89, 91, 98, 98, 94, 94, 86, 110, 164, 137,
+  165, 169, 167, 125, 86, 74, 79, 57, 108, 79, 29, 32, 29, 41, 15, 41,
+  55, 164, 153, 139, 137, 137, 63, 41, 18, 35, 84, 57, 105, 112, 66, 89,
+  66, 123, 121, 147, 133, 89, 41, 26, 20, 23, 29, 23, 32, 32, 38, 29,
+  23, 20, 18, 26, 9, 26, 139, 131, 94, 174, 176, 179, 192, 190, 209, 212,
+  182, 55, 76, 101, 103, 119, 133, 133, 145, 145, 151, 153, 151, 147, 153, 145,
+  139, 141, 145, 137, 135, 137, 139, 149, 149, 151, 156, 164, 165, 158, 164, 151,
+  121, 119, 125, 129, 125, 119, 119, 117, 129, 164, 192, 213, 227, 215, 190, 181,
+  165, 156, 143, 135, 129, 129, 117, 119, 86, 94, 96, 94, 86, 81, 38, 46,
+  18, 18, 35, 32, 49, 60, 26, 63, 158, 193, 145, 94, 49, 68, 49, 41,
+  35, 32, 32, 60, 41, 29, 26, 71, 137, 141, 141, 135, 151, 167, 165, 167,
+  162, 156, 164, 160, 162, 155, 155, 156, 162, 158, 156, 156, 156, 153, 158, 153,
+  156, 162, 158, 158, 153, 151, 155, 155, 155, 151, 151, 151, 145, 141, 147, 139,
+  137, 145, 167, 182, 189, 193, 201, 201, 201, 203, 200, 198, 197, 200, 197, 197,
+  96, 91, 94, 79, 84, 79, 79, 79, 68, 74, 66, 43, 32, 38, 79, 127,
+  133, 147, 164, 174, 176, 181, 185, 185, 184, 187, 189, 177, 169, 158, 139, 125,
+  94, 63, 74, 66, 81, 79, 86, 98, 98, 101, 101, 96, 103, 98, 143, 165,
+  172, 137, 114, 110, 60, 52, 60, 110, 89, 41, 20, 18, 52, 49, 49, 57,
+  76, 101, 117, 114, 101, 66, 35, 20, 12, 52, 71, 63, 41, 127, 125, 71,
+  96, 108, 89, 160, 52, 94, 55, 35, 32, 29, 26, 29, 23, 29, 38, 32,
+  35, 32, 23, 12, 15, 103, 165, 89, 121, 197, 190, 187, 193, 206, 213, 200,
+  38, 66, 86, 101, 110, 121, 129, 135, 147, 151, 151, 149, 153, 162, 162, 156,
+  151, 149, 149, 151, 145, 158, 155, 165, 164, 165, 172, 169, 162, 167, 169, 139,
+  121, 123, 133, 127, 112, 119, 119, 119, 133, 158, 184, 209, 225, 219, 195, 190,
+  174, 165, 153, 153, 141, 125, 121, 119, 114, 98, 103, 108, 101, 89, 35, 43,
+  32, 23, 35, 46, 38, 79, 35, 60, 169, 197, 145, 98, 60, 71, 46, 26,
+  35, 23, 35, 46, 32, 20, 23, 103, 135, 143, 137, 131, 147, 164, 165, 162,
+  162, 160, 158, 164, 155, 162, 156, 158, 156, 156, 158, 160, 158, 156, 156, 160,
+  160, 156, 156, 160, 153, 151, 151, 155, 149, 151, 143, 151, 139, 143, 133, 133,
+  149, 174, 187, 198, 200, 201, 203, 203, 203, 201, 200, 198, 198, 200, 198, 198,
+  96, 84, 81, 76, 86, 71, 71, 66, 66, 74, 57, 52, 43, 43, 76, 117,
+  137, 155, 165, 172, 182, 181, 184, 182, 182, 184, 185, 181, 169, 156, 143, 121,
+  94, 81, 55, 63, 81, 84, 86, 105, 103, 101, 98, 108, 101, 98, 112, 129,
+  108, 98, 108, 66, 52, 66, 91, 101, 32, 49, 26, 35, 84, 60, 71, 110,
+  119, 117, 49, 35, 117, 84, 18, 23, 35, 26, 55, 91, 41, 46, 147, 162,
+  143, 98, 55, 71, 125, 149, 26, 29, 23, 20, 35, 26, 32, 29, 32, 55,
+  32, 35, 29, 29, 46, 149, 103, 91, 167, 177, 189, 198, 206, 216, 209, 49,
+  55, 84, 103, 105, 105, 125, 131, 129, 147, 149, 155, 147, 162, 167, 164, 164,
+  172, 172, 167, 165, 164, 162, 171, 176, 171, 177, 165, 174, 164, 177, 158, 133,
+  127, 139, 137, 127, 125, 117, 119, 114, 131, 167, 181, 210, 225, 219, 200, 189,
+  181, 164, 156, 153, 151, 135, 125, 125, 123, 108, 105, 101, 105, 84, 35, 43,
+  35, 35, 32, 52, 43, 52, 23, 49, 165, 193, 158, 96, 52, 81, 29, 32,
+  35, 18, 35, 46, 23, 23, 38, 110, 141, 141, 141, 139, 158, 165, 160, 160,
+  165, 158, 160, 160, 158, 160, 158, 160, 156, 158, 158, 156, 160, 156, 156, 158,
+  156, 155, 155, 156, 155, 158, 155, 151, 153, 151, 149, 145, 141, 141, 139, 153,
+  176, 187, 197, 203, 203, 204, 203, 201, 201, 201, 200, 198, 198, 200, 198, 198,
+  89, 81, 86, 74, 84, 71, 76, 63, 74, 68, 49, 49, 38, 57, 79, 112,
+  133, 155, 160, 169, 177, 182, 181, 184, 187, 182, 187, 179, 171, 164, 139, 123,
+  96, 74, 57, 68, 79, 86, 81, 94, 96, 105, 98, 105, 101, 108, 117, 91,
+  110, 145, 105, 114, 158, 156, 127, 52, 43, 32, 29, 38, 117, 68, 112, 125,
+  123, 94, 55, 117, 117, 32, 15, 20, 32, 46, 98, 139, 86, 52, 71, 84,
+  143, 76, 91, 123, 187, 49, 41, 35, 35, 35, 38, 46, 23, 26, 29, 29,
+  38, 29, 41, 18, 119, 162, 103, 133, 201, 187, 200, 197, 204, 215, 74, 49,
+  71, 86, 101, 114, 110, 117, 133, 131, 143, 145, 147, 155, 158, 172, 158, 160,
+  174, 182, 172, 162, 164, 164, 176, 176, 176, 167, 167, 176, 172, 164, 151, 137,
+  129, 135, 131, 123, 119, 123, 114, 114, 127, 147, 184, 204, 224, 221, 203, 184,
+  185, 174, 165, 151, 149, 137, 133, 133, 119, 114, 114, 119, 108, 89, 49, 38,
+  29, 26, 35, 41, 46, 66, 9, 41, 164, 189, 172, 112, 46, 71, 15, 41,
+  23, 29, 41, 41, 23, 26, 55, 117, 145, 139, 139, 145, 165, 172, 172, 164,
+  164, 164, 158, 155, 156, 160, 160, 158, 156, 156, 158, 156, 155, 153, 155, 156,
+  158, 156, 153, 153, 151, 147, 151, 147, 145, 149, 149, 143, 145, 137, 153, 176,
+  190, 198, 204, 207, 209, 204, 203, 201, 201, 201, 198, 197, 197, 198, 198, 200,
+  74, 84, 81, 74, 71, 74, 74, 76, 74, 66, 43, 35, 41, 49, 76, 108,
+  131, 149, 167, 176, 181, 179, 182, 182, 184, 182, 187, 179, 171, 156, 137, 123,
+  91, 79, 63, 63, 84, 84, 84, 84, 96, 96, 98, 105, 110, 133, 129, 145,
+  160, 177, 177, 164, 155, 108, 68, 49, 55, 66, 57, 52, 133, 63, 119, 123,
+  86, 117, 108, 123, 68, 23, 23, 18, 35, 32, 46, 96, 121, 103, 114, 91,
+  71, 165, 176, 169, 66, 112, 94, 76, 68, 15, 23, 35, 20, 35, 23, 32,
+  32, 29, 23, 63, 162, 103, 98, 169, 172, 197, 195, 206, 216, 135, 29, 52,
+  66, 96, 101, 110, 110, 119, 125, 135, 137, 149, 147, 155, 158, 165, 169, 169,
+  176, 177, 176, 177, 177, 177, 171, 172, 165, 177, 181, 181, 169, 155, 151, 143,
+  131, 133, 139, 129, 125, 119, 110, 108, 119, 153, 177, 204, 224, 227, 207, 187,
+  181, 177, 165, 147, 139, 139, 129, 133, 125, 117, 119, 114, 108, 101, 63, 32,
+  35, 32, 43, 29, 41, 46, 9, 35, 165, 177, 174, 125, 35, 46, 15, 57,
+  23, 23, 43, 32, 26, 26, 89, 133, 145, 141, 137, 153, 167, 164, 167, 164,
+  167, 158, 164, 162, 156, 164, 164, 156, 162, 158, 160, 160, 160, 156, 151, 155,
+  158, 153, 156, 155, 151, 151, 151, 149, 147, 145, 143, 143, 135, 153, 171, 192,
+  200, 203, 207, 206, 206, 204, 204, 200, 198, 201, 200, 198, 200, 200, 198, 201,
+  79, 81, 101, 76, 74, 74, 74, 71, 60, 55, 55, 41, 35, 52, 94, 119,
+  137, 153, 162, 171, 177, 181, 182, 182, 185, 187, 182, 181, 165, 156, 135, 127,
+  98, 68, 60, 71, 84, 74, 86, 89, 86, 105, 151, 169, 164, 160, 155, 156,
+  151, 147, 55, 41, 68, 89, 43, 46, 52, 57, 60, 79, 110, 68, 129, 76,
+  101, 137, 129, 86, 32, 23, 20, 20, 18, 23, 29, 57, 79, 66, 125, 135,
+  133, 114, 57, 38, 38, 143, 137, 98, 96, 29, 38, 38, 52, 32, 35, 29,
+  35, 23, 20, 119, 153, 96, 117, 201, 187, 197, 203, 218, 184, 26, 26, 57,
+  74, 103, 105, 110, 117, 112, 129, 135, 139, 143, 149, 155, 162, 165, 176, 174,
+  174, 184, 176, 169, 179, 179, 184, 179, 179, 176, 179, 179, 172, 164, 151, 141,
+  145, 139, 139, 135, 123, 121, 112, 121, 123, 139, 169, 204, 222, 224, 209, 190,
+  177, 171, 169, 160, 147, 135, 129, 119, 121, 114, 119, 114, 110, 98, 49, 35,
+  32, 32, 66, 43, 46, 41, 35, 23, 162, 185, 164, 149, 29, 49, 29, 46,
+  20, 26, 46, 23, 26, 32, 105, 145, 139, 143, 135, 160, 167, 167, 165, 164,
+  158, 160, 165, 158, 158, 156, 158, 158, 155, 156, 164, 160, 158, 151, 153, 147,
+  153, 155, 158, 153, 149, 153, 143, 147, 147, 145, 153, 141, 147, 174, 189, 198,
+  201, 206, 206, 204, 203, 201, 203, 200, 201, 200, 201, 200, 200, 200, 201, 203,
+  81, 68, 79, 81, 71, 57, 66, 63, 63, 55, 60, 41, 41, 52, 81, 117,
+  143, 151, 167, 172, 177, 176, 179, 181, 184, 189, 189, 184, 171, 160, 147, 123,
+  96, 71, 63, 71, 68, 76, 91, 114, 141, 137, 123, 108, 127, 133, 129, 112,
+  71, 41, 35, 91, 74, 55, 60, 49, 71, 35, 66, 103, 63, 94, 127, 119,
+  149, 158, 46, 43, 41, 41, 20, 38, 29, 26, 35, 35, 66, 86, 43, 60,
+  117, 29, 20, 38, 57, 133, 147, 121, 57, 43, 29, 38, 32, 32, 32, 35,
+  20, 23, 49, 153, 112, 117, 147, 176, 200, 203, 213, 213, 29, 12, 32, 74,
+  86, 103, 117, 112, 119, 119, 117, 127, 143, 141, 147, 155, 155, 165, 167, 176,
+  172, 177, 177, 177, 182, 184, 176, 177, 181, 181, 181, 171, 167, 160, 155, 153,
+  143, 143, 143, 135, 117, 125, 119, 119, 114, 137, 167, 207, 218, 224, 212, 187,
+  174, 165, 165, 164, 151, 141, 131, 127, 123, 121, 117, 112, 117, 96, 52, 49,
+  29, 23, 46, 38, 52, 41, 26, 29, 156, 177, 153, 164, 29, 29, 20, 26,
+  18, 32, 29, 23, 26, 57, 119, 139, 147, 139, 145, 158, 169, 165, 165, 167,
+  164, 164, 164, 162, 160, 164, 158, 158, 162, 158, 155, 158, 153, 164, 153, 153,
+  153, 156, 149, 151, 156, 155, 145, 147, 143, 143, 139, 143, 167, 189, 197, 203,
+  203, 204, 206, 203, 204, 204, 203, 203, 203, 200, 200, 201, 201, 204, 204, 209,
+  66, 79, 66, 74, 60, 57, 63, 71, 63, 57, 57, 38, 49, 41, 79, 117,
+  137, 149, 167, 174, 179, 179, 182, 181, 187, 185, 187, 179, 167, 156, 141, 119,
+  101, 79, 52, 71, 71, 84, 86, 98, 103, 103, 110, 110, 129, 121, 101, 105,
+  108, 91, 79, 89, 94, 43, 55, 29, 46, 68, 119, 49, 71, 119, 133, 156,
+  76, 55, 86, 32, 52, 32, 38, 32, 32, 29, 32, 49, 26, 60, 94, 26,
+  96, 23, 23, 15, 94, 108, 149, 108, 103, 41, 23, 23, 35, 18, 38, 38,
+  12, 29, 129, 155, 101, 117, 210, 189, 195, 198, 221, 60, 20, 41, 32, 76,
+  94, 108, 110, 114, 110, 110, 123, 131, 141, 141, 149, 147, 155, 160, 167, 176,
+  176, 177, 181, 184, 182, 179, 174, 176, 181, 176, 172, 177, 167, 162, 153, 141,
+  151, 141, 143, 133, 131, 129, 117, 119, 119, 141, 162, 200, 224, 228, 215, 187,
+  172, 164, 164, 155, 155, 141, 137, 125, 125, 123, 123, 119, 110, 84, 38, 35,
+  26, 41, 35, 38, 79, 35, 20, 18, 147, 177, 129, 169, 55, 38, 9, 20,
+  49, 29, 35, 20, 20, 71, 125, 149, 141, 137, 151, 169, 169, 165, 164, 162,
+  164, 164, 164, 156, 155, 158, 162, 156, 155, 149, 160, 155, 158, 155, 155, 153,
+  151, 149, 155, 147, 151, 151, 147, 141, 141, 139, 137, 153, 182, 195, 201, 203,
+  203, 204, 203, 203, 204, 201, 203, 203, 203, 203, 201, 203, 204, 207, 209, 210,
+  74, 68, 71, 68, 63, 60, 63, 71, 57, 63, 57, 68, 35, 52, 76, 117,
+  131, 151, 162, 172, 177, 182, 182, 184, 184, 184, 182, 177, 171, 151, 143, 133,
+  94, 76, 66, 79, 79, 81, 91, 108, 94, 103, 98, 105, 129, 103, 89, 60,
+  76, 68, 105, 71, 86, 74, 29, 46, 81, 121, 94, 32, 60, 156, 119, 103,
+  60, 60, 117, 43, 35, 18, 20, 49, 38, 35, 35, 49, 29, 55, 38, 46,
+  81, 38, 12, 6, 84, 103, 137, 133, 139, 38, 29, 23, 23, 18, 35, 26,
+  6, 43, 153, 105, 119, 165, 198, 201, 197, 213, 162, 18, 29, 26, 55, 79,
+  91, 103, 103, 114, 121, 108, 119, 123, 129, 141, 145, 141, 149, 158, 167, 169,
+  172, 172, 179, 182, 185, 187, 176, 176, 172, 169, 169, 169, 162, 153, 156, 143,
+  147, 145, 135, 133, 123, 127, 119, 125, 127, 137, 164, 197, 221, 227, 219, 187,
+  172, 165, 165, 158, 149, 149, 133, 127, 127, 119, 121, 121, 110, 84, 41, 41,
+  26, 52, 32, 41, 91, 29, 12, 20, 141, 181, 125, 172, 79, 29, 23, 18,
+  74, 38, 41, 23, 20, 86, 137, 143, 143, 143, 158, 171, 169, 165, 164, 158,
+  156, 158, 158, 160, 158, 156, 153, 158, 156, 160, 156, 155, 153, 156, 156, 155,
+  153, 149, 153, 151, 151, 153, 143, 145, 135, 131, 139, 174, 192, 198, 206, 204,
+  201, 201, 201, 203, 203, 203, 203, 206, 206, 201, 206, 206, 212, 210, 212, 212,
+  71, 76, 60, 55, 55, 57, 60, 57, 57, 46, 46, 43, 32, 52, 74, 121,
+  137, 151, 164, 174, 174, 182, 181, 182, 182, 179, 181, 174, 165, 158, 139, 127,
+  98, 63, 55, 66, 79, 76, 103, 98, 94, 101, 103, 103, 108, 91, 55, 123,
+  105, 143, 96, 60, 129, 89, 60, 91, 127, 81, 29, 38, 81, 112, 139, 94,
+  112, 55, 46, 49, 23, 26, 52, 41, 38, 35, 41, 41, 29, 76, 32, 18,
+  55, 41, 15, 32, 81, 112, 105, 158, 155, 84, 20, 9, 15, 18, 12, 9,
+  18, 121, 145, 112, 112, 204, 195, 204, 207, 206, 43, 23, 46, 38, 41, 76,
+  101, 108, 110, 108, 121, 121, 121, 123, 133, 141, 135, 139, 145, 155, 160, 160,
+  165, 177, 179, 185, 179, 184, 177, 176, 172, 174, 171, 169, 165, 155, 145, 137,
+  135, 143, 137, 133, 125, 117, 117, 117, 119, 141, 160, 181, 218, 224, 219, 197,
+  174, 171, 162, 164, 153, 141, 139, 131, 121, 114, 114, 121, 110, 71, 35, 38,
+  26, 38, 29, 38, 94, 29, 15, 15, 145, 179, 147, 169, 114, 23, 18, 15,
+  57, 43, 38, 20, 26, 108, 141, 141, 149, 151, 158, 176, 169, 167, 164, 160,
+  164, 162, 158, 158, 156, 158, 156, 156, 151, 160, 155, 153, 156, 156, 153, 155,
+  151, 149, 149, 151, 149, 145, 139, 139, 137, 131, 160, 185, 198, 201, 204, 204,
+  201, 204, 200, 204, 204, 204, 203, 204, 206, 209, 210, 210, 212, 213, 213, 213,
+  60, 66, 66, 57, 60, 66, 63, 55, 55, 55, 55, 35, 38, 52, 68, 110,
+  141, 149, 156, 171, 174, 181, 179, 177, 177, 185, 179, 177, 174, 158, 141, 127,
+  91, 66, 60, 68, 91, 91, 81, 91, 91, 101, 101, 103, 105, 68, 133, 160,
+  167, 91, 57, 108, 117, 49, 91, 145, 71, 52, 55, 60, 43, 74, 160, 91,
+  131, 38, 52, 43, 38, 35, 55, 26, 26, 38, 26, 29, 32, 29, 94, 38,
+  15, 57, 26, 18, 71, 114, 91, 76, 171, 160, 57, 23, 23, 23, 12, 18,
+  32, 147, 96, 112, 147, 197, 203, 210, 219, 66, 18, 23, 52, 29, 46, 63,
+  94, 98, 114, 112, 114, 123, 121, 125, 129, 137, 141, 145, 149, 147, 155, 158,
+  165, 174, 174, 179, 177, 179, 176, 172, 172, 174, 167, 165, 160, 155, 143, 137,
+  129, 129, 127, 127, 123, 121, 114, 121, 121, 139, 155, 179, 210, 227, 222, 197,
+  171, 167, 160, 158, 149, 145, 139, 133, 123, 127, 114, 112, 98, 60, 46, 23,
+  35, 20, 26, 43, 96, 26, 12, 6, 125, 184, 153, 160, 153, 15, 20, 15,
+  55, 46, 35, 23, 55, 123, 149, 143, 137, 147, 182, 189, 162, 164, 165, 160,
+  165, 158, 164, 158, 160, 156, 156, 156, 155, 158, 155, 155, 153, 153, 151, 147,
+  149, 153, 155, 153, 151, 145, 141, 133, 139, 153, 177, 192, 200, 204, 206, 203,
+  203, 201, 201, 201, 201, 203, 206, 207, 210, 212, 213, 213, 212, 212, 212, 212,
+  57, 66, 76, 66, 66, 68, 68, 57, 60, 63, 41, 43, 38, 35, 76, 112,
+  139, 156, 160, 177, 177, 179, 179, 174, 177, 177, 184, 171, 165, 147, 143, 125,
+  103, 60, 49, 74, 79, 133, 94, 91, 98, 91, 89, 110, 139, 165, 156, 84,
+  29, 66, 114, 133, 74, 86, 149, 49, 41, 49, 63, 86, 52, 76, 156, 119,
+  149, 60, 41, 46, 52, 38, 66, 38, 38, 23, 23, 26, 20, 35, 74, 35,
+  29, 46, 26, 23, 91, 123, 137, 63, 143, 153, 160, 35, 32, 23, 23, 15,
+  96, 156, 94, 119, 201, 204, 209, 218, 184, 15, 18, 38, 63, 38, 55, 68,
+  89, 96, 103, 119, 121, 114, 119, 127, 133, 131, 147, 147, 147, 153, 153, 153,
+  172, 176, 172, 177, 176, 174, 177, 167, 174, 167, 167, 162, 156, 153, 139, 131,
+  131, 125, 129, 127, 117, 121, 114, 110, 129, 135, 145, 171, 206, 224, 222, 206,
+  164, 164, 160, 155, 147, 145, 127, 133, 125, 125, 123, 110, 98, 55, 32, 32,
+  41, 35, 38, 55, 94, 20, 12, 9, 112, 176, 162, 158, 149, 35, 18, 20,
+  46, 49, 26, 18, 89, 133, 147, 143, 139, 164, 167, 172, 167, 165, 165, 162,
+  156, 162, 160, 160, 156, 156, 158, 155, 158, 153, 155, 153, 155, 153, 149, 158,
+  153, 149, 151, 147, 149, 145, 141, 139, 141, 162, 185, 198, 203, 203, 203, 197,
+  203, 198, 203, 203, 203, 206, 207, 210, 212, 218, 216, 215, 215, 210, 212, 209,
+  79, 68, 57, 63, 63, 76, 60, 66, 57, 46, 38, 29, 23, 49, 84, 112,
+  137, 147, 160, 169, 172, 176, 177, 174, 179, 184, 185, 179, 164, 153, 139, 119,
+  103, 63, 63, 57, 86, 139, 81, 84, 94, 108, 169, 177, 153, 110, 23, 41,
+  38, 108, 165, 119, 81, 137, 35, 38, 26, 127, 71, 86, 43, 169, 143, 141,
+  98, 117, 35, 35, 49, 55, 60, 23, 15, 18, 23, 23, 18, 26, 76, 68,
+  57, 41, 38, 63, 86, 169, 155, 86, 35, 114, 184, 101, 9, 20, 9, 18,
+  147, 125, 103, 149, 213, 212, 213, 213, 35, 20, 18, 18, 79, 26, 32, 71,
+  91, 101, 103, 119, 121, 117, 127, 123, 125, 129, 143, 143, 149, 149, 155, 162,
+  156, 160, 162, 181, 169, 172, 174, 172, 174, 165, 158, 167, 158, 153, 141, 125,
+  127, 125, 127, 125, 119, 112, 108, 112, 121, 121, 153, 174, 206, 224, 225, 210,
+  167, 167, 156, 156, 141, 143, 133, 125, 125, 119, 119, 114, 91, 49, 29, 18,
+  41, 38, 41, 49, 81, 26, 15, 23, 98, 167, 158, 158, 145, 68, 23, 29,
+  41, 41, 26, 29, 103, 139, 141, 141, 143, 164, 172, 172, 169, 164, 165, 162,
+  167, 158, 160, 160, 164, 158, 156, 156, 155, 153, 155, 155, 151, 153, 155, 151,
+  153, 149, 149, 143, 151, 139, 137, 137, 153, 181, 198, 203, 207, 204, 203, 200,
+  200, 203, 201, 203, 204, 207, 212, 212, 216, 218, 216, 215, 215, 209, 209, 207,
+  74, 63, 66, 71, 74, 71, 68, 66, 49, 57, 41, 29, 26, 41, 71, 114,
+  135, 145, 160, 171, 176, 177, 176, 176, 177, 177, 176, 174, 167, 156, 139, 123,
+  89, 57, 57, 52, 71, 155, 103, 89, 147, 171, 127, 112, 143, 79, 23, 35,
+  91, 133, 137, 76, 131, 46, 46, 49, 46, 123, 76, 112, 76, 162, 105, 156,
+  55, 165, 49, 57, 57, 38, 46, 26, 15, 20, 12, 9, 41, 66, 108, 76,
+  66, 26, 74, 60, 135, 172, 185, 141, 20, 71, 145, 84, 9, 6, 6, 89,
+  169, 110, 110, 172, 207, 210, 216, 68, 15, 12, 18, 23, 86, 43, 35, 68,
+  94, 94, 108, 117, 125, 121, 117, 121, 125, 133, 137, 141, 153, 155, 149, 153,
+  164, 160, 158, 169, 164, 171, 167, 171, 167, 165, 162, 160, 153, 149, 137, 127,
+  125, 123, 127, 121, 114, 112, 108, 114, 114, 131, 151, 172, 195, 216, 230, 221,
+  160, 164, 155, 153, 145, 141, 135, 127, 121, 127, 121, 108, 81, 57, 23, 29,
+  38, 38, 52, 74, 81, 18, 18, 15, 79, 167, 167, 151, 143, 79, 6, 18,
+  46, 38, 15, 41, 114, 147, 137, 145, 149, 162, 167, 169, 164, 164, 162, 160,
+  158, 160, 160, 158, 158, 165, 156, 160, 153, 158, 158, 153, 155, 151, 149, 147,
+  145, 147, 145, 145, 145, 135, 135, 141, 167, 192, 200, 204, 206, 204, 201, 200,
+  203, 201, 203, 206, 209, 212, 215, 215, 216, 216, 218, 215, 215, 209, 209, 209,
+  68, 68, 66, 66, 60, 57, 63, 60, 60, 43, 38, 38, 20, 32, 71, 121,
+  135, 153, 162, 172, 171, 181, 176, 176, 171, 179, 184, 172, 164, 158, 135, 121,
+  86, 68, 46, 55, 55, 101, 162, 133, 139, 103, 105, 135, 119, 76, 41, 71,
+  156, 114, 60, 117, 79, 112, 57, 41, 114, 71, 133, 71, 91, 131, 103, 165,
+  84, 156, 68, 43, 32, 41, 43, 35, 15, 20, 18, 46, 35, 46, 117, 108,
+  41, 41, 60, 123, 119, 189, 192, 160, 23, 26, 121, 12, 12, 9, 15, 139,
+  121, 121, 117, 206, 213, 215, 153, 20, 18, 6, 20, 20, 89, 32, 49, 57,
+  84, 94, 103, 123, 112, 117, 127, 123, 129, 129, 129, 149, 139, 147, 149, 160,
+  160, 158, 158, 162, 162, 169, 164, 169, 165, 169, 167, 158, 153, 141, 131, 133,
+  123, 121, 125, 121, 112, 108, 108, 112, 112, 129, 145, 162, 187, 216, 233, 225,
+  172, 162, 153, 149, 145, 141, 133, 135, 119, 121, 117, 98, 76, 26, 18, 23,
+  32, 43, 57, 68, 57, 29, 12, 12, 60, 158, 172, 133, 147, 86, 9, 29,
+  26, 29, 20, 76, 129, 149, 143, 139, 158, 169, 165, 164, 165, 165, 153, 160,
+  164, 164, 164, 160, 160, 162, 160, 153, 156, 153, 158, 156, 153, 155, 151, 145,
+  145, 145, 147, 149, 139, 141, 139, 153, 184, 197, 203, 204, 204, 203, 201, 203,
+  200, 203, 203, 209, 213, 215, 216, 216, 216, 216, 216, 216, 215, 212, 212, 212,
+  68, 79, 79, 63, 68, 55, 63, 66, 55, 55, 35, 29, 32, 20, 66, 112,
+  131, 151, 158, 169, 176, 177, 174, 181, 181, 181, 181, 177, 167, 158, 141, 121,
+  96, 66, 57, 49, 60, 81, 105, 114, 117, 123, 108, 125, 129, 96, 29, 32,
+  123, 105, 71, 79, 79, 68, 41, 86, 86, 96, 131, 79, 94, 101, 121, 176,
+  89, 71, 81, 29, 26, 18, 32, 32, 26, 29, 12, 38, 43, 68, 76, 91,
+  32, 108, 135, 110, 74, 71, 176, 156, 29, 15, 43, 26, 9, 6, 60, 164,
+  108, 110, 176, 213, 213, 197, 23, 26, 20, 12, 12, 23, 96, 41, 60, 66,
+  86, 94, 108, 110, 117, 119, 117, 125, 125, 131, 149, 139, 137, 149, 149, 149,
+  151, 156, 153, 151, 156, 162, 167, 162, 156, 160, 158, 156, 145, 141, 129, 125,
+  123, 117, 123, 127, 112, 110, 119, 103, 121, 131, 145, 162, 179, 215, 233, 225,
+  192, 156, 155, 149, 147, 155, 133, 137, 129, 123, 114, 91, 57, 26, 26, 23,
+  35, 49, 49, 66, 71, 32, 9, 9, 63, 158, 177, 131, 151, 112, 18, 26,
+  18, 18, 46, 96, 147, 141, 143, 141, 165, 171, 167, 165, 162, 164, 155, 164,
+  153, 160, 158, 160, 165, 156, 156, 158, 158, 156, 160, 156, 151, 149, 147, 151,
+  153, 145, 153, 143, 135, 139, 149, 176, 192, 201, 206, 204, 201, 201, 200, 203,
+  201, 204, 207, 210, 216, 216, 218, 215, 215, 213, 216, 216, 215, 215, 213, 213,
+  74, 71, 71, 60, 63, 68, 68, 71, 49, 46, 38, 26, 26, 26, 74, 108,
+  131, 149, 164, 169, 177, 177, 182, 177, 176, 181, 182, 176, 165, 160, 143, 119,
+  89, 74, 57, 57, 71, 79, 81, 101, 129, 103, 135, 147, 123, 84, 41, 60,
+  81, 74, 103, 98, 105, 43, 98, 84, 52, 135, 66, 74, 98, 81, 114, 165,
+  110, 38, 139, 18, 29, 35, 23, 23, 26, 49, 35, 26, 35, 108, 49, 71,
+  71, 137, 110, 94, 49, 60, 98, 49, 26, 32, 43, 6, 15, 74, 110, 117,
+  129, 125, 207, 210, 167, 55, 9, 18, 23, 18, 12, 26, 110, 41, 49, 66,
+  68, 96, 105, 108, 117, 119, 119, 125, 133, 117, 129, 131, 141, 145, 149, 147,
+  149, 143, 151, 156, 156, 156, 164, 156, 165, 155, 156, 149, 145, 139, 133, 114,
+  101, 114, 127, 133, 123, 114, 112, 114, 117, 127, 141, 160, 177, 209, 233, 228,
+  200, 153, 151, 151, 151, 141, 129, 129, 119, 119, 125, 101, 32, 20, 26, 23,
+  20, 43, 52, 76, 52, 57, 15, 9, 55, 141, 171, 141, 158, 137, 23, 32,
+  20, 15, 55, 105, 145, 151, 141, 145, 162, 165, 162, 164, 162, 158, 162, 160,
+  158, 156, 153, 160, 164, 160, 156, 156, 155, 155, 158, 153, 155, 151, 153, 151,
+  153, 149, 143, 135, 137, 135, 160, 181, 198, 206, 204, 203, 204, 201, 203, 203,
+  204, 209, 212, 216, 216, 216, 216, 213, 215, 215, 215, 216, 215, 216, 215, 215,
+  74, 63, 66, 63, 71, 71, 66, 55, 49, 38, 32, 26, 15, 23, 66, 112,
+  125, 149, 162, 169, 177, 176, 172, 177, 181, 179, 184, 176, 167, 158, 141, 117,
+  98, 63, 49, 55, 71, 94, 121, 125, 101, 105, 103, 108, 105, 35, 55, 84,
+  79, 66, 137, 98, 55, 94, 60, 52, 68, 160, 35, 49, 127, 81, 105, 155,
+  141, 46, 151, 26, 18, 35, 23, 76, 52, 20, 12, 18, 43, 89, 41, 114,
+  68, 179, 167, 112, 94, 110, 91, 32, 15, 18, 20, 6, 74, 137, 121, 101,
+  108, 151, 185, 147, 165, 86, 26, 15, 12, 20, 9, 29, 114, 49, 55, 63,
+  84, 91, 103, 105, 117, 110, 112, 121, 123, 131, 127, 137, 141, 137, 153, 147,
+  149, 151, 147, 155, 156, 162, 153, 158, 162, 160, 153, 149, 143, 135, 119, 101,
+  101, 119, 125, 129, 131, 133, 123, 112, 117, 127, 133, 158, 177, 209, 233, 227,
+  200, 147, 143, 147, 149, 139, 131, 129, 127, 121, 110, 89, 29, 29, 23, 49,
+  26, 57, 60, 66, 60, 32, 9, 12, 23, 135, 179, 165, 165, 143, 18, 23,
+  15, 26, 76, 121, 151, 155, 143, 145, 164, 165, 164, 162, 162, 160, 156, 155,
+  160, 162, 155, 155, 160, 153, 158, 162, 160, 160, 158, 155, 153, 151, 162, 149,
+  149, 145, 147, 139, 143, 141, 167, 195, 201, 207, 204, 203, 203, 204, 203, 204,
+  206, 210, 213, 215, 216, 215, 215, 212, 213, 216, 212, 213, 215, 215, 215, 215,
+  79, 76, 68, 68, 68, 71, 63, 57, 49, 43, 32, 20, 20, 18, 63, 114,
+  129, 149, 162, 169, 174, 174, 179, 179, 179, 181, 179, 179, 172, 158, 145, 117,
+  86, 63, 41, 68, 103, 139, 129, 98, 98, 98, 108, 110, 101, 55, 49, 91,
+  60, 127, 141, 52, 96, 68, 81, 29, 133, 98, 32, 43, 123, 101, 68, 165,
+  156, 32, 89, 63, 35, 49, 74, 41, 20, 43, 15, 12, 38, 76, 176, 167,
+  46, 52, 81, 112, 49, 26, 23, 12, 15, 32, 12, 29, 185, 171, 160, 156,
+  133, 121, 172, 198, 153, 26, 12, 20, 35, 12, 18, 23, 117, 86, 52, 55,
+  74, 98, 105, 114, 105, 119, 114, 125, 121, 125, 131, 139, 137, 139, 143, 147,
+  147, 145, 162, 156, 155, 156, 158, 162, 156, 155, 158, 147, 141, 135, 117, 86,
+  103, 125, 135, 135, 131, 135, 137, 123, 108, 114, 133, 153, 182, 203, 225, 225,
+  197, 139, 149, 141, 139, 129, 129, 121, 123, 119, 112, 49, 15, 23, 18, 26,
+  32, 49, 52, 60, 63, 26, 20, 9, 12, 123, 181, 165, 149, 143, 52, 32,
+  15, 15, 89, 129, 149, 149, 145, 151, 167, 167, 164, 165, 165, 162, 158, 160,
+  162, 155, 155, 156, 158, 160, 155, 155, 155, 155, 151, 158, 153, 155, 155, 153,
+  149, 143, 139, 135, 137, 151, 174, 198, 203, 206, 206, 204, 203, 204, 200, 204,
+  209, 213, 215, 215, 216, 213, 213, 213, 216, 213, 216, 216, 216, 216, 216, 213,
+  84, 76, 71, 63, 68, 60, 66, 57, 49, 49, 49, 20, 18, 35, 74, 110,
+  127, 149, 164, 171, 174, 172, 179, 174, 181, 181, 185, 177, 179, 156, 139, 121,
+  105, 79, 108, 129, 129, 96, 81, 91, 91, 108, 114, 112, 81, 71, 55, 86,
+  94, 108, 117, 81, 66, 38, 46, 57, 160, 74, 38, 32, 117, 105, 55, 143,
+  176, 43, 60, 153, 35, 46, 43, 35, 35, 74, 20, 12, 26, 68, 43, 32,
+  20, 20, 57, 139, 119, 26, 15, 20, 32, 9, 3, 103, 165, 179, 184, 179,
+  181, 187, 197, 145, 68, 23, 18, 23, 20, 38, 12, 35, 108, 79, 32, 68,
+  79, 98, 105, 114, 117, 114, 117, 119, 123, 119, 139, 125, 135, 135, 147, 145,
+  141, 145, 147, 151, 153, 151, 155, 156, 156, 155, 153, 147, 143, 135, 119, 91,
+  112, 125, 127, 129, 121, 135, 123, 123, 105, 101, 123, 145, 176, 200, 209, 215,
+  174, 145, 143, 143, 139, 141, 131, 121, 121, 114, 79, 32, 23, 29, 23, 46,
+  32, 49, 66, 46, 68, 18, 26, 15, 12, 105, 172, 174, 149, 127, 71, 29,
+  23, 15, 89, 149, 149, 149, 149, 164, 165, 165, 164, 162, 160, 162, 164, 160,
+  162, 158, 158, 155, 164, 158, 160, 156, 155, 158, 155, 158, 155, 156, 151, 149,
+  147, 145, 145, 135, 137, 169, 185, 200, 207, 203, 203, 203, 201, 201, 204, 209,
+  213, 213, 213, 215, 216, 213, 215, 215, 213, 213, 215, 218, 216, 218, 216, 215,
+  79, 86, 68, 74, 71, 66, 66, 71, 49, 49, 38, 32, 29, 38, 84, 110,
+  139, 149, 162, 169, 172, 176, 174, 176, 179, 181, 184, 177, 169, 155, 135, 123,
+  98, 98, 68, 63, 79, 81, 84, 94, 89, 101, 112, 151, 89, 60, 46, 81,
+  94, 119, 125, 74, 60, 9, 46, 162, 117, 76, 79, 23, 94, 117, 81, 125,
+  197, 91, 46, 181, 43, 38, 26, 71, 43, 96, 20, 18, 46, 46, 71, 35,
+  26, 81, 151, 60, 15, 18, 18, 29, 18, 6, 6, 179, 182, 182, 187, 192,
+  192, 187, 174, 46, 15, 6, 9, 23, 32, 15, 18, 29, 114, 86, 66, 74,
+  86, 94, 105, 108, 112, 112, 117, 112, 121, 129, 131, 129, 137, 137, 143, 141,
+  151, 147, 155, 151, 153, 156, 156, 156, 156, 155, 158, 155, 141, 135, 129, 105,
+  127, 125, 133, 68, 29, 52, 89, 101, 119, 110, 117, 121, 158, 190, 204, 197,
+  156, 149, 141, 143, 135, 131, 125, 119, 123, 110, 41, 20, 18, 38, 29, 49,
+  35, 55, 74, 35, 71, 26, 35, 12, 15, 86, 160, 174, 147, 149, 96, 23,
+  23, 26, 110, 151, 153, 147, 149, 164, 169, 167, 162, 162, 165, 164, 155, 153,
+  158, 158, 156, 156, 158, 158, 156, 147, 155, 156, 153, 151, 153, 153, 155, 153,
+  147, 143, 141, 135, 143, 172, 192, 201, 206, 206, 204, 204, 203, 204, 209, 213,
+  213, 213, 213, 215, 213, 213, 215, 215, 215, 218, 218, 218, 218, 216, 215, 215,
+  71, 71, 76, 74, 60, 66, 68, 57, 52, 52, 52, 38, 38, 49, 94, 123,
+  137, 153, 162, 167, 174, 174, 176, 177, 177, 184, 185, 174, 171, 160, 143, 121,
+  105, 81, 57, 63, 76, 84, 81, 94, 96, 103, 108, 105, 41, 81, 38, 94,
+  79, 149, 119, 71, 52, 9, 49, 176, 79, 35, 117, 26, 71, 117, 101, 123,
+  176, 127, 41, 167, 46, 26, 18, 60, 89, 63, 29, 15, 20, 15, 29, 68,
+  68, 101, 177, 46, 29, 26, 26, 38, 12, 6, 35, 177, 179, 189, 190, 200,
+  200, 185, 38, 9, 20, 15, 18, 23, 32, 29, 12, 26, 114, 103, 57, 79,
+  86, 94, 105, 112, 108, 114, 117, 119, 119, 125, 125, 133, 141, 143, 143, 149,
+  145, 141, 147, 143, 153, 156, 155, 153, 155, 155, 158, 147, 149, 145, 131, 112,
+  110, 121, 123, 74, 38, 66, 79, 68, 74, 103, 105, 114, 145, 184, 203, 174,
+  169, 145, 147, 145, 129, 135, 129, 121, 119, 86, 23, 32, 23, 26, 32, 35,
+  35, 55, 63, 57, 74, 32, 29, 35, 9, 46, 153, 181, 127, 160, 94, 12,
+  49, 52, 127, 153, 149, 145, 155, 164, 165, 164, 160, 162, 164, 160, 155, 158,
+  158, 155, 158, 160, 156, 156, 156, 153, 155, 153, 153, 147, 153, 153, 155, 151,
+  145, 145, 141, 143, 153, 174, 197, 203, 207, 204, 206, 203, 206, 206, 212, 213,
+  213, 215, 213, 215, 213, 215, 215, 218, 218, 218, 218, 219, 218, 218, 216, 213,
+  68, 76, 68, 63, 66, 66, 60, 57, 46, 66, 55, 43, 46, 68, 103, 125,
+  147, 155, 169, 171, 171, 177, 172, 176, 177, 177, 181, 179, 172, 164, 137, 125,
+  96, 74, 57, 71, 68, 81, 86, 94, 103, 103, 110, 103, 63, 91, 52, 91,
+  79, 71, 86, 79, 15, 43, 156, 121, 49, 68, 121, 29, 74, 129, 112, 129,
+  131, 167, 49, 158, 94, 12, 12, 26, 26, 86, 127, 32, 26, 23, 9, 20,
+  89, 141, 79, 23, 35, 52, 38, 18, 29, 43, 112, 141, 158, 179, 184, 201,
+  200, 139, 15, 12, 20, 23, 41, 20, 26, 15, 23, 29, 114, 96, 63, 91,
+  89, 108, 98, 105, 112, 114, 119, 119, 125, 127, 123, 135, 137, 131, 135, 143,
+  147, 145, 155, 151, 155, 151, 151, 156, 160, 155, 156, 155, 149, 147, 139, 121,
+  101, 112, 117, 119, 112, 121, 119, 110, 98, 81, 112, 110, 125, 179, 184, 176,
+  165, 151, 145, 135, 137, 141, 119, 129, 108, 49, 29, 35, 46, 26, 23, 32,
+  46, 57, 79, 41, 68, 23, 23, 52, 18, 32, 155, 177, 151, 162, 114, 32,
+  20, 81, 139, 153, 155, 151, 151, 167, 165, 162, 164, 162, 162, 156, 156, 158,
+  158, 155, 156, 156, 156, 155, 156, 156, 156, 153, 155, 149, 147, 147, 143, 149,
+  149, 141, 137, 139, 160, 182, 201, 203, 204, 206, 204, 200, 207, 207, 215, 215,
+  215, 215, 216, 216, 213, 215, 218, 218, 218, 218, 219, 216, 218, 215, 213, 213,
+  60, 68, 57, 71, 66, 55, 57, 63, 52, 43, 49, 49, 63, 74, 103, 129,
+  141, 153, 165, 169, 172, 171, 176, 176, 176, 179, 184, 182, 172, 156, 141, 127,
+  101, 71, 57, 66, 71, 76, 89, 91, 86, 119, 108, 91, 101, 35, 49, 91,
+  84, 76, 63, 18, 23, 119, 123, 74, 96, 91, 79, 52, 66, 145, 66, 108,
+  121, 185, 86, 139, 135, 9, 26, 41, 12, 108, 169, 68, 38, 12, 20, 18,
+  123, 114, 26, 15, 71, 55, 101, 96, 112, 112, 105, 125, 133, 123, 162, 193,
+  108, 20, 15, 15, 55, 79, 71, 26, 23, 15, 52, 23, 114, 101, 71, 79,
+  91, 98, 105, 105, 114, 114, 117, 127, 125, 123, 125, 131, 133, 141, 139, 149,
+  143, 143, 145, 141, 155, 141, 149, 155, 155, 162, 155, 156, 147, 147, 143, 135,
+  129, 119, 108, 114, 117, 123, 125, 112, 105, 110, 129, 156, 184, 197, 185, 171,
+  162, 156, 145, 137, 133, 129, 131, 121, 101, 26, 32, 32, 41, 35, 32, 32,
+  38, 71, 66, 38, 79, 32, 20, 26, 15, 20, 151, 184, 149, 153, 101, 46,
+  20, 112, 145, 153, 153, 147, 162, 165, 167, 164, 160, 164, 160, 158, 158, 158,
+  155, 155, 160, 158, 158, 160, 160, 151, 155, 153, 155, 151, 149, 153, 147, 153,
+  147, 145, 137, 147, 165, 192, 201, 204, 204, 203, 204, 204, 210, 210, 216, 216,
+  213, 213, 216, 215, 213, 218, 218, 219, 216, 216, 219, 216, 215, 215, 216, 215,
+  57, 71, 74, 68, 57, 74, 74, 57, 49, 43, 60, 63, 76, 79, 121, 135,
+  149, 155, 165, 171, 171, 172, 174, 174, 181, 179, 184, 177, 172, 158, 141, 127,
+  103, 68, 60, 63, 74, 84, 86, 86, 94, 117, 105, 103, 52, 20, 32, 98,
+  89, 71, 49, 15, 89, 131, 68, 32, 68, 94, 63, 112, 68, 123, 81, 129,
+  108, 147, 127, 145, 153, 38, 18, 52, 18, 108, 164, 169, 35, 9, 9, 52,
+  101, 38, 63, 35, 91, 108, 101, 129, 169, 184, 98, 98, 105, 137, 219, 204,
+  18, 26, 15, 20, 32, 52, 41, 29, 29, 15, 15, 26, 123, 89, 55, 74,
+  91, 105, 103, 103, 110, 114, 119, 121, 114, 123, 123, 127, 131, 133, 137, 139,
+  139, 141, 147, 141, 151, 149, 151, 151, 151, 156, 162, 149, 151, 155, 156, 141,
+  137, 135, 125, 133, 117, 125, 139, 139, 125, 160, 190, 204, 198, 193, 176, 167,
+  156, 149, 145, 143, 135, 131, 123, 114, 46, 35, 32, 41, 26, 29, 38, 43,
+  52, 76, 71, 74, 52, 43, 29, 20, 18, 9, 139, 181, 145, 151, 81, 46,
+  29, 129, 149, 149, 149, 151, 165, 167, 162, 167, 165, 160, 153, 160, 160, 164,
+  155, 156, 153, 155, 153, 158, 155, 155, 155, 158, 155, 155, 153, 149, 149, 143,
+  143, 143, 139, 143, 169, 195, 203, 204, 204, 204, 204, 207, 212, 212, 215, 216,
+  215, 213, 216, 213, 215, 216, 218, 216, 218, 218, 225, 216, 216, 215, 216, 216,
+  60, 66, 60, 60, 74, 66, 71, 66, 52, 57, 52, 60, 79, 91, 119, 133,
+  155, 156, 164, 167, 172, 174, 171, 177, 172, 181, 181, 177, 171, 162, 147, 129,
+  103, 84, 57, 60, 74, 94, 86, 89, 89, 91, 112, 145, 81, 15, 35, 91,
+  52, 60, 46, 76, 156, 79, 26, 32, 74, 81, 55, 127, 123, 110, 114, 133,
+  81, 86, 158, 143, 153, 91, 29, 41, 18, 74, 137, 108, 60, 23, 38, 91,
+  35, 71, 101, 101, 117, 110, 145, 185, 197, 84, 114, 103, 125, 179, 221, 46,
+  29, 41, 46, 32, 46, 57, 43, 32, 38, 29, 32, 41, 123, 91, 66, 79,
+  98, 103, 112, 108, 110, 114, 110, 114, 127, 119, 123, 137, 131, 133, 137, 135,
+  135, 137, 145, 141, 149, 151, 153, 158, 155, 160, 155, 156, 153, 155, 149, 149,
+  147, 139, 137, 135, 131, 139, 165, 187, 153, 162, 193, 203, 200, 198, 184, 165,
+  158, 149, 141, 137, 127, 127, 127, 114, 43, 41, 38, 32, 23, 38, 26, 55,
+  38, 91, 55, 79, 71, 38, 49, 18, 26, 6, 117, 174, 155, 149, 79, 60,
+  63, 133, 151, 147, 147, 151, 169, 162, 158, 156, 164, 164, 156, 158, 162, 153,
+  156, 158, 155, 156, 155, 162, 155, 153, 151, 153, 156, 153, 153, 155, 153, 151,
+  145, 145, 139, 151, 179, 193, 203, 204, 203, 203, 204, 209, 212, 215, 218, 215,
+  216, 215, 213, 215, 216, 216, 218, 218, 218, 216, 218, 216, 218, 218, 218, 216,
+  76, 66, 63, 55, 68, 74, 66, 55, 49, 49, 43, 55, 81, 94, 119, 135,
+  145, 158, 164, 169, 172, 174, 171, 177, 179, 179, 184, 177, 174, 160, 147, 133,
+  98, 71, 57, 60, 74, 94, 89, 86, 96, 110, 139, 149, 79, 32, 43, 103,
+  71, 81, 96, 164, 94, 52, 41, 43, 71, 86, 66, 79, 114, 112, 121, 139,
+  112, 76, 176, 96, 164, 139, 71, 60, 71, 66, 108, 110, 46, 55, 79, 29,
+  23, 46, 137, 139, 139, 164, 182, 195, 155, 96, 81, 119, 165, 216, 129, 43,
+  41, 60, 57, 43, 43, 38, 52, 38, 20, 29, 26, 35, 117, 89, 74, 81,
+  96, 105, 112, 108, 121, 117, 117, 121, 123, 121, 133, 129, 133, 137, 129, 137,
+  135, 139, 147, 153, 153, 149, 149, 151, 153, 153, 155, 155, 151, 145, 151, 149,
+  145, 149, 143, 141, 145, 158, 190, 203, 171, 167, 192, 204, 200, 198, 182, 164,
+  151, 141, 139, 139, 129, 133, 129, 52, 41, 41, 41, 43, 43, 41, 41, 66,
+  35, 91, 66, 66, 52, 49, 63, 41, 23, 12, 84, 169, 160, 151, 76, 86,
+  103, 143, 153, 149, 153, 151, 165, 164, 167, 162, 162, 162, 158, 156, 158, 160,
+  156, 156, 156, 158, 156, 151, 155, 158, 155, 153, 156, 153, 155, 149, 151, 149,
+  143, 141, 135, 162, 181, 198, 204, 204, 203, 206, 207, 212, 215, 216, 218, 215,
+  212, 212, 213, 216, 215, 215, 215, 216, 218, 219, 218, 218, 216, 219, 218, 216,
+  63, 66, 52, 57, 60, 55, 66, 60, 52, 49, 41, 49, 76, 94, 125, 135,
+  153, 160, 164, 172, 169, 172, 174, 176, 177, 184, 184, 179, 171, 158, 145, 125,
+  98, 79, 66, 60, 79, 76, 79, 81, 98, 143, 143, 105, 81, 35, 46, 86,
+  52, 123, 137, 103, 46, 20, 35, 35, 74, 57, 74, 49, 98, 66, 89, 98,
+  127, 76, 147, 91, 167, 129, 81, 57, 94, 81, 98, 91, 52, 32, 55, 23,
+  38, 135, 184, 145, 176, 179, 182, 185, 76, 108, 79, 98, 206, 164, 29, 18,
+  38, 38, 26, 35, 26, 41, 55, 52, 26, 26, 20, 12, 117, 114, 94, 86,
+  98, 103, 108, 110, 123, 114, 114, 108, 121, 123, 123, 129, 141, 135, 137, 129,
+  133, 131, 139, 141, 145, 147, 147, 153, 145, 155, 153, 156, 151, 147, 155, 147,
+  143, 145, 141, 145, 147, 171, 203, 206, 185, 171, 197, 204, 200, 204, 177, 164,
+  151, 143, 149, 135, 129, 133, 114, 41, 43, 38, 29, 35, 29, 32, 41, 60,
+  43, 86, 60, 66, 52, 35, 55, 26, 18, 9, 55, 162, 171, 143, 81, 114,
+  108, 145, 153, 143, 155, 158, 165, 162, 162, 160, 158, 158, 156, 164, 155, 156,
+  155, 155, 155, 151, 149, 149, 151, 158, 155, 151, 153, 158, 149, 149, 151, 147,
+  147, 137, 141, 164, 182, 200, 203, 204, 204, 207, 210, 213, 215, 218, 216, 213,
+  215, 213, 213, 215, 216, 216, 216, 216, 218, 218, 218, 224, 216, 219, 218, 218,
+  68, 71, 55, 63, 55, 55, 66, 57, 49, 43, 35, 49, 84, 101, 127, 135,
+  151, 160, 162, 169, 174, 174, 169, 174, 176, 179, 185, 181, 174, 162, 151, 131,
+  96, 81, 52, 60, 68, 74, 81, 94, 137, 139, 103, 125, 71, 38, 52, 63,
+  123, 149, 35, 35, 71, 35, 49, 41, 79, 49, 76, 49, 91, 63, 94, 129,
+  74, 76, 98, 137, 151, 127, 103, 38, 123, 110, 66, 46, 15, 6, 49, 57,
+  81, 160, 160, 151, 176, 190, 203, 143, 110, 84, 81, 151, 195, 32, 15, 23,
+  35, 32, 26, 32, 26, 32, 68, 41, 29, 35, 15, 29, 121, 110, 112, 81,
+  94, 101, 110, 108, 117, 114, 125, 123, 112, 123, 131, 125, 133, 127, 137, 131,
+  133, 131, 135, 137, 143, 145, 143, 149, 149, 149, 149, 158, 151, 147, 137, 149,
+  155, 139, 151, 155, 160, 172, 210, 210, 192, 176, 201, 210, 203, 200, 182, 162,
+  147, 141, 143, 133, 129, 129, 57, 38, 35, 43, 35, 43, 32, 43, 52, 63,
+  49, 68, 60, 55, 57, 57, 41, 35, 9, 9, 41, 155, 172, 135, 98, 105,
+  119, 147, 151, 149, 153, 158, 165, 162, 162, 164, 162, 158, 158, 160, 156, 156,
+  151, 162, 162, 158, 155, 147, 151, 151, 153, 153, 153, 151, 151, 149, 151, 151,
+  143, 139, 135, 165, 189, 201, 203, 204, 203, 209, 212, 218, 216, 216, 215, 213,
+  215, 215, 216, 215, 216, 215, 215, 216, 218, 219, 219, 218, 219, 218, 216, 219,
+  60, 55, 57, 57, 52, 46, 49, 52, 46, 55, 52, 52, 68, 94, 121, 141,
+  149, 156, 167, 165, 174, 176, 177, 177, 174, 179, 181, 181, 172, 164, 149, 125,
+  101, 71, 55, 63, 76, 63, 68, 119, 147, 105, 117, 117, 43, 52, 57, 114,
+  131, 121, 23, 35, 49, 52, 60, 49, 68, 52, 96, 55, 63, 63, 52, 135,
+  43, 71, 127, 145, 119, 131, 147, 38, 169, 71, 41, 18, 52, 29, 52, 103,
+  96, 117, 151, 169, 184, 204, 190, 89, 79, 81, 117, 206, 52, 20, 26, 32,
+  38, 43, 32, 35, 20, 49, 66, 49, 20, 38, 23, 18, 98, 103, 127, 63,
+  96, 98, 110, 108, 114, 117, 119, 129, 114, 121, 131, 125, 129, 133, 131, 127,
+  131, 129, 135, 133, 135, 145, 141, 145, 145, 147, 143, 155, 141, 151, 139, 141,
+  147, 156, 153, 153, 164, 177, 215, 210, 203, 169, 187, 207, 201, 198, 179, 155,
+  139, 143, 135, 131, 133, 121, 26, 46, 38, 26, 29, 46, 35, 35, 60, 41,
+  79, 86, 60, 57, 41, 63, 29, 29, 18, 18, 60, 145, 182, 119, 101, 121,
+  131, 147, 145, 151, 153, 167, 162, 162, 158, 162, 164, 160, 156, 155, 153, 158,
+  155, 156, 158, 158, 155, 155, 151, 153, 156, 149, 158, 151, 145, 151, 141, 141,
+  139, 143, 133, 172, 190, 204, 206, 203, 206, 212, 213, 218, 218, 215, 215, 215,
+  215, 218, 216, 215, 216, 213, 215, 218, 219, 221, 219, 219, 216, 219, 216, 219,
+  68, 60, 55, 46, 46, 52, 52, 57, 46, 46, 49, 68, 71, 86, 114, 129,
+  151, 160, 165, 167, 174, 169, 176, 177, 182, 179, 185, 182, 176, 160, 145, 127,
+  110, 71, 49, 66, 74, 76, 105, 160, 96, 91, 133, 119, 38, 55, 101, 96,
+  133, 89, 23, 46, 38, 89, 55, 74, 66, 52, 60, 71, 68, 74, 57, 101,
+  103, 46, 41, 125, 147, 114, 131, 133, 164, 18, 29, 20, 20, 121, 108, 91,
+  91, 135, 155, 165, 200, 203, 74, 94, 76, 96, 200, 55, 26, 23, 29, 76,
+  35, 35, 32, 38, 41, 41, 57, 79, 41, 26, 12, 15, 110, 103, 114, 68,
+  86, 91, 96, 123, 108, 121, 121, 119, 114, 123, 129, 125, 127, 135, 129, 129,
+  131, 127, 131, 129, 133, 131, 137, 141, 143, 143, 135, 147, 139, 143, 147, 141,
+  147, 149, 151, 153, 156, 177, 212, 212, 195, 177, 204, 215, 209, 197, 182, 153,
+  133, 139, 137, 135, 125, 66, 23, 29, 32, 52, 38, 35, 29, 63, 52, 46,
+  63, 66, 60, 66, 35, 55, 43, 20, 23, 12, 41, 131, 182, 119, 121, 114,
+  129, 141, 143, 153, 165, 164, 162, 165, 171, 164, 156, 162, 158, 156, 155, 158,
+  158, 156, 158, 160, 155, 151, 153, 151, 153, 155, 153, 153, 155, 147, 145, 141,
+  141, 139, 139, 171, 195, 204, 204, 203, 210, 212, 216, 216, 216, 215, 216, 215,
+  218, 218, 216, 213, 215, 215, 216, 218, 219, 219, 221, 219, 218, 218, 219, 219,
+  66, 46, 38, 43, 43, 46, 52, 63, 49, 46, 55, 46, 68, 86, 121, 133,
+  149, 156, 165, 171, 167, 172, 176, 176, 181, 182, 187, 182, 177, 165, 149, 127,
+  110, 66, 52, 55, 66, 84, 147, 108, 86, 86, 133, 103, 46, 84, 32, 81,
+  110, 63, 43, 38, 71, 57, 57, 84, 46, 81, 76, 94, 74, 49, 68, 86,
+  86, 96, 26, 46, 141, 141, 135, 172, 91, 12, 23, 32, 110, 133, 171, 156,
+  141, 143, 193, 193, 206, 103, 110, 79, 105, 151, 172, 26, 29, 18, 52, 98,
+  41, 35, 23, 52, 29, 35, 57, 79, 63, 32, 20, 15, 98, 98, 114, 86,
+  68, 89, 96, 108, 117, 121, 117, 127, 119, 123, 127, 129, 127, 125, 131, 131,
+  127, 129, 133, 135, 137, 135, 135, 139, 137, 131, 133, 135, 143, 141, 135, 135,
+  145, 153, 158, 164, 165, 171, 182, 193, 209, 212, 195, 177, 174, 189, 185, 137,
+  127, 127, 131, 141, 117, 52, 26, 18, 29, 43, 41, 32, 38, 43, 49, 60,
+  68, 74, 55, 60, 57, 57, 60, 23, 15, 12, 26, 129, 184, 125, 131, 133,
+  145, 149, 143, 153, 160, 164, 165, 162, 162, 158, 158, 160, 160, 162, 151, 156,
+  156, 164, 158, 155, 153, 156, 145, 153, 153, 149, 151, 153, 151, 149, 145, 141,
+  139, 133, 141, 177, 193, 201, 204, 210, 212, 215, 216, 218, 218, 216, 215, 215,
+  216, 218, 216, 216, 215, 215, 218, 218, 222, 221, 219, 219, 221, 218, 218, 218,
+  57, 41, 41, 43, 52, 43, 52, 55, 55, 43, 46, 49, 74, 91, 123, 137,
+  149, 162, 164, 174, 176, 172, 167, 179, 181, 184, 184, 182, 179, 164, 153, 127,
+  96, 68, 60, 57, 68, 133, 117, 86, 79, 86, 129, 103, 60, 43, 20, 123,
+  135, 63, 49, 35, 55, 57, 41, 79, 57, 57, 125, 79, 96, 86, 79, 76,
+  55, 119, 84, 49, 60, 91, 119, 141, 143, 32, 12, 79, 86, 105, 167, 206,
+  204, 198, 209, 209, 135, 91, 84, 86, 133, 209, 23, 23, 18, 23, 49, 117,
+  38, 20, 20, 43, 35, 38, 46, 63, 52, 26, 20, 18, 81, 71, 108, 81,
+  68, 84, 101, 112, 114, 110, 119, 125, 117, 125, 121, 129, 129, 129, 135, 131,
+  135, 131, 127, 135, 129, 125, 129, 121, 125, 131, 131, 135, 137, 141, 143, 145,
+  143, 137, 139, 129, 135, 127, 133, 137, 147, 160, 149, 137, 133, 149, 158, 121,
+  119, 131, 137, 137, 79, 35, 23, 35, 41, 38, 35, 41, 43, 38, 57, 63,
+  46, 66, 60, 57, 71, 49, 60, 35, 15, 12, 26, 133, 172, 119, 139, 127,
+  143, 155, 147, 151, 155, 165, 160, 165, 162, 160, 156, 164, 160, 158, 156, 153,
+  155, 160, 153, 155, 158, 158, 155, 153, 158, 153, 153, 149, 147, 149, 147, 143,
+  139, 131, 147, 171, 197, 203, 206, 210, 213, 216, 218, 216, 218, 215, 215, 216,
+  218, 218, 216, 215, 216, 218, 219, 219, 221, 221, 221, 221, 218, 221, 221, 218,
+  49, 52, 41, 41, 46, 43, 52, 49, 49, 35, 38, 55, 68, 86, 121, 139,
+  156, 165, 165, 172, 172, 179, 179, 177, 181, 184, 185, 182, 174, 162, 147, 129,
+  103, 74, 55, 63, 105, 145, 79, 71, 96, 108, 147, 96, 38, 26, 35, 84,
+  119, 71, 41, 57, 57, 57, 49, 43, 46, 60, 141, 84, 114, 105, 86, 66,
+  63, 60, 133, 74, 52, 117, 103, 141, 98, 133, 86, 143, 135, 121, 165, 195,
+  216, 206, 212, 174, 89, 110, 79, 121, 201, 57, 15, 12, 32, 29, 26, 81,
+  26, 26, 26, 38, 26, 46, 46, 46, 68, 18, 20, 20, 96, 68, 89, 71,
+  68, 84, 101, 103, 105, 119, 117, 117, 117, 114, 123, 123, 123, 123, 129, 137,
+  139, 133, 131, 149, 131, 105, 91, 110, 119, 125, 125, 133, 127, 129, 125, 121,
+  114, 110, 125, 121, 105, 108, 105, 125, 141, 137, 119, 84, 101, 112, 84, 86,
+  112, 135, 145, 129, 32, 35, 26, 26, 43, 32, 29, 29, 46, 32, 79, 38,
+  55, 49, 55, 76, 43, 29, 60, 55, 18, 20, 20, 117, 169, 127, 143, 133,
+  153, 147, 153, 145, 164, 167, 164, 162, 160, 156, 164, 156, 160, 160, 155, 155,
+  155, 155, 153, 156, 156, 156, 153, 156, 155, 151, 153, 151, 155, 151, 147, 145,
+  137, 127, 151, 177, 193, 203, 210, 215, 215, 219, 215, 216, 218, 216, 218, 215,
+  215, 218, 215, 216, 218, 218, 221, 219, 221, 221, 221, 219, 219, 221, 219, 222,
+  38, 41, 43, 41, 46, 46, 60, 46, 38, 38, 52, 66, 74, 91, 125, 143,
+  153, 156, 165, 176, 177, 174, 177, 182, 181, 182, 181, 184, 176, 162, 147, 123,
+  98, 68, 46, 105, 156, 101, 71, 68, 105, 145, 169, 86, 49, 41, 101, 38,
+  41, 63, 49, 63, 71, 79, 52, 35, 49, 79, 160, 133, 117, 96, 110, 91,
+  74, 55, 74, 131, 103, 133, 46, 108, 101, 43, 141, 160, 129, 145, 190, 195,
+  215, 216, 193, 66, 110, 91, 96, 177, 190, 15, 35, 35, 49, 18, 23, 71,
+  46, 15, 35, 20, 26, 41, 32, 55, 74, 18, 15, 23, 81, 43, 84, 84,
+  49, 74, 96, 110, 108, 123, 123, 123, 114, 114, 121, 117, 131, 131, 129, 133,
+  133, 137, 135, 141, 121, 74, 68, 52, 49, 68, 81, 89, 89, 89, 98, 84,
+  76, 79, 76, 57, 68, 79, 96, 103, 114, 103, 76, 66, 86, 101, 103, 105,
+  137, 141, 137, 96, 23, 29, 18, 32, 55, 26, 38, 29, 46, 49, 66, 38,
+  71, 49, 57, 81, 57, 18, 52, 60, 29, 18, 23, 101, 165, 137, 151, 129,
+  149, 143, 151, 155, 162, 160, 174, 162, 162, 156, 162, 158, 158, 158, 156, 160,
+  153, 156, 160, 153, 153, 155, 156, 153, 153, 147, 155, 151, 155, 147, 143, 141,
+  135, 135, 153, 182, 197, 204, 213, 215, 218, 219, 218, 219, 216, 216, 216, 215,
+  215, 218, 218, 218, 218, 218, 219, 218, 218, 224, 221, 221, 221, 221, 221, 218,
+  41, 38, 32, 32, 41, 46, 55, 46, 46, 38, 41, 74, 76, 96, 119, 143,
+  151, 162, 167, 176, 177, 181, 185, 182, 181, 182, 185, 185, 177, 160, 143, 125,
+  103, 63, 71, 162, 114, 74, 66, 74, 137, 158, 133, 79, 26, 79, 52, 29,
+  20, 49, 76, 98, 63, 66, 41, 55, 43, 63, 156, 151, 101, 91, 108, 105,
+  110, 86, 81, 89, 156, 129, 41, 79, 29, 60, 121, 135, 131, 129, 197, 222,
+  218, 210, 143, 86, 76, 86, 158, 209, 41, 35, 26, 35, 35, 26, 26, 41,
+  55, 23, 43, 29, 35, 41, 32, 49, 79, 38, 20, 12, 84, 55, 76, 89,
+  66, 79, 86, 103, 110, 117, 119, 119, 114, 114, 121, 123, 127, 131, 127, 135,
+  137, 141, 143, 141, 121, 112, 114, 103, 94, 76, 74, 79, 91, 98, 101, 91,
+  101, 91, 89, 94, 98, 91, 96, 112, 123, 119, 119, 112, 110, 127, 127, 125,
+  143, 145, 133, 35, 29, 29, 26, 38, 46, 26, 26, 29, 26, 63, 55, 35,
+  84, 60, 46, 79, 55, 18, 38, 74, 32, 15, 23, 76, 160, 149, 145, 139,
+  156, 147, 156, 153, 165, 164, 165, 160, 160, 162, 162, 160, 158, 155, 162, 158,
+  153, 158, 158, 158, 162, 156, 156, 153, 153, 156, 155, 153, 155, 147, 145, 139,
+  135, 135, 156, 182, 200, 209, 215, 218, 221, 219, 219, 218, 218, 216, 218, 216,
+  216, 218, 221, 218, 219, 216, 219, 219, 221, 222, 222, 221, 221, 219, 219, 218,
+  41, 35, 35, 43, 41, 38, 49, 52, 38, 35, 52, 89, 94, 105, 123, 141,
+  153, 162, 169, 174, 181, 179, 177, 181, 179, 185, 181, 181, 171, 158, 147, 123,
+  94, 91, 162, 119, 68, 57, 76, 105, 147, 117, 125, 91, 43, 66, 57, 41,
+  26, 43, 43, 32, 57, 60, 49, 103, 46, 52, 182, 155, 68, 103, 103, 98,
+  108, 112, 108, 98, 86, 84, 105, 57, 68, 103, 151, 141, 121, 117, 145, 231,
+  219, 176, 81, 110, 86, 147, 209, 86, 26, 38, 38, 41, 32, 29, 23, 43,
+  43, 26, 29, 32, 41, 38, 49, 46, 71, 55, 23, 20, 76, 55, 74, 81,
+  66, 71, 86, 101, 105, 110, 114, 110, 112, 117, 119, 117, 123, 125, 131, 127,
+  141, 145, 143, 141, 137, 129, 114, 117, 119, 108, 105, 101, 101, 110, 121, 125,
+  112, 127, 133, 129, 141, 141, 151, 162, 172, 179, 158, 125, 119, 141, 147, 139,
+  147, 141, 66, 29, 32, 32, 26, 43, 26, 38, 35, 35, 52, 76, 32, 43,
+  98, 55, 76, 76, 71, 23, 46, 98, 32, 35, 20, 74, 156, 158, 137, 141,
+  158, 145, 151, 156, 165, 164, 165, 162, 155, 165, 164, 160, 162, 156, 160, 156,
+  156, 156, 153, 153, 153, 155, 156, 156, 155, 156, 153, 149, 160, 147, 151, 141,
+  135, 129, 158, 185, 203, 210, 216, 219, 219, 221, 219, 216, 216, 218, 218, 216,
+  218, 219, 219, 218, 219, 221, 219, 221, 219, 221, 218, 219, 219, 218, 219, 218,
+  43, 49, 49, 41, 43, 43, 49, 46, 41, 32, 49, 81, 94, 96, 119, 139,
+  153, 156, 165, 174, 176, 179, 182, 182, 185, 184, 189, 184, 174, 162, 149, 119,
+  110, 151, 129, 66, 57, 63, 79, 131, 141, 108, 108, 94, 60, 55, 81, 71,
+  60, 23, 38, 23, 66, 68, 49, 103, 29, 57, 197, 147, 71, 49, 101, 119,
+  117, 91, 74, 108, 52, 52, 123, 81, 121, 137, 145, 149, 125, 112, 117, 222,
+  198, 108, 105, 108, 131, 195, 174, 46, 46, 26, 43, 46, 29, 18, 18, 32,
+  35, 35, 20, 35, 52, 29, 52, 38, 52, 43, 20, 32, 76, 68, 81, 68,
+  66, 63, 86, 96, 103, 105, 105, 105, 108, 125, 121, 112, 119, 121, 127, 131,
+  141, 145, 141, 139, 145, 135, 123, 123, 112, 117, 110, 110, 101, 103, 108, 125,
+  123, 145, 169, 187, 174, 195, 187, 200, 206, 198, 158, 123, 127, 141, 141, 137,
+  135, 119, 26, 23, 23, 29, 35, 38, 26, 23, 20, 35, 32, 35, 32, 52,
+  103, 52, 71, 74, 32, 23, 57, 91, 35, 20, 20, 74, 164, 165, 143, 151,
+  155, 145, 155, 156, 162, 165, 169, 165, 156, 164, 162, 156, 158, 162, 158, 158,
+  158, 165, 160, 156, 164, 155, 155, 156, 156, 158, 151, 155, 149, 153, 141, 143,
+  137, 135, 160, 190, 206, 213, 219, 221, 218, 218, 218, 218, 218, 218, 218, 216,
+  218, 219, 219, 219, 219, 219, 221, 219, 221, 219, 219, 219, 218, 218, 218, 216,
+  35, 41, 38, 41, 41, 35, 38, 46, 49, 32, 55, 81, 86, 96, 117, 141,
+  155, 160, 165, 171, 177, 179, 185, 174, 187, 182, 182, 177, 172, 164, 153, 123,
+  145, 123, 60, 55, 60, 71, 101, 153, 98, 96, 91, 79, 63, 38, 155, 63,
+  26, 20, 35, 23, 108, 60, 43, 86, 49, 66, 193, 139, 74, 26, 79, 91,
+  119, 131, 96, 101, 52, 49, 89, 94, 153, 139, 153, 143, 127, 103, 160, 219,
+  108, 108, 110, 169, 189, 172, 35, 41, 26, 41, 32, 41, 35, 26, 20, 23,
+  46, 38, 35, 20, 38, 41, 52, 49, 63, 60, 23, 18, 55, 57, 89, 86,
+  41, 66, 76, 94, 98, 108, 108, 108, 108, 110, 105, 108, 114, 127, 119, 129,
+  129, 127, 139, 141, 145, 143, 131, 131, 114, 110, 103, 117, 117, 121, 105, 108,
+  112, 137, 141, 149, 156, 156, 147, 153, 162, 158, 135, 127, 141, 151, 149, 141,
+  139, 41, 23, 20, 23, 26, 60, 23, 23, 23, 20, 23, 66, 26, 18, 41,
+  117, 52, 71, 79, 63, 41, 43, 89, 38, 32, 23, 74, 156, 164, 145, 156,
+  164, 145, 158, 155, 167, 169, 164, 162, 164, 165, 165, 162, 156, 158, 162, 160,
+  156, 164, 155, 160, 155, 151, 155, 153, 155, 151, 147, 153, 149, 149, 147, 137,
+  143, 129, 164, 190, 209, 216, 222, 221, 219, 219, 219, 216, 218, 218, 218, 219,
+  219, 219, 219, 221, 221, 219, 221, 221, 221, 218, 216, 218, 216, 216, 216, 215,
+  43, 41, 32, 29, 38, 26, 43, 46, 32, 32, 57, 68, 91, 89, 117, 137,
+  151, 156, 162, 172, 176, 181, 181, 184, 184, 184, 187, 182, 177, 169, 185, 158,
+  117, 68, 43, 49, 66, 76, 143, 137, 98, 98, 110, 38, 52, 63, 165, 66,
+  38, 41, 32, 32, 114, 43, 98, 41, 96, 105, 187, 119, 143, 41, 71, 94,
+  57, 94, 141, 91, 121, 98, 108, 103, 151, 158, 137, 156, 105, 119, 222, 200,
+  89, 125, 181, 206, 158, 41, 29, 35, 29, 32, 41, 43, 49, 32, 26, 38,
+  43, 49, 41, 29, 32, 68, 46, 43, 57, 66, 26, 26, 71, 84, 68, 81,
+  41, 60, 79, 89, 98, 101, 110, 103, 108, 112, 110, 119, 119, 125, 121, 123,
+  121, 133, 135, 139, 143, 139, 133, 129, 125, 129, 114, 112, 110, 114, 117, 112,
+  108, 127, 125, 127, 137, 139, 133, 131, 129, 137, 125, 137, 147, 153, 143, 137,
+  101, 29, 32, 32, 32, 32, 49, 32, 35, 26, 38, 20, 60, 26, 26, 49,
+  110, 43, 60, 79, 52, 55, 46, 81, 43, 32, 38, 66, 153, 169, 156, 160,
+  164, 149, 156, 158, 162, 164, 165, 164, 164, 164, 165, 164, 160, 160, 165, 158,
+  164, 158, 160, 162, 158, 156, 155, 158, 153, 155, 153, 155, 155, 149, 147, 141,
+  131, 131, 164, 197, 213, 219, 222, 222, 219, 221, 219, 219, 216, 218, 221, 219,
+  221, 219, 221, 222, 222, 222, 219, 218, 218, 216, 215, 215, 216, 213, 213, 213,
+  35, 26, 32, 38, 35, 43, 41, 38, 35, 38, 63, 68, 94, 84, 110, 135,
+  149, 158, 164, 171, 179, 184, 184, 185, 185, 182, 190, 184, 169, 156, 153, 125,
+  96, 60, 57, 57, 66, 137, 164, 98, 89, 110, 105, 43, 32, 105, 153, 35,
+  18, 43, 23, 63, 121, 26, 94, 68, 94, 153, 156, 112, 153, 86, 74, 121,
+  76, 49, 89, 139, 121, 149, 149, 129, 117, 160, 174, 153, 98, 121, 200, 149,
+  127, 162, 174, 197, 108, 35, 49, 29, 43, 35, 52, 38, 63, 49, 38, 49,
+  35, 32, 38, 35, 43, 35, 57, 46, 63, 60, 38, 23, 57, 84, 57, 60,
+  43, 49, 63, 79, 91, 94, 96, 98, 105, 105, 112, 123, 114, 125, 127, 125,
+  127, 127, 125, 131, 135, 139, 137, 129, 131, 123, 123, 117, 121, 117, 108, 112,
+  110, 114, 123, 121, 131, 133, 129, 121, 119, 117, 131, 151, 143, 143, 139, 125,
+  63, 18, 32, 29, 38, 38, 43, 43, 55, 32, 43, 29, 55, 41, 23, 57,
+  103, 41, 60, 84, 71, 57, 38, 91, 38, 41, 35, 55, 151, 167, 153, 164,
+  160, 155, 162, 171, 162, 169, 160, 165, 158, 162, 164, 162, 162, 164, 165, 164,
+  162, 158, 160, 156, 160, 155, 156, 155, 156, 153, 149, 145, 153, 149, 141, 141,
+  129, 129, 162, 200, 212, 221, 222, 222, 221, 221, 221, 219, 221, 221, 222, 222,
+  222, 221, 224, 221, 222, 219, 216, 213, 215, 212, 213, 212, 213, 213, 212, 212,
+  60, 38, 23, 32, 38, 49, 38, 46, 32, 29, 60, 94, 81, 74, 108, 127,
+  145, 155, 164, 171, 182, 185, 182, 181, 181, 185, 187, 182, 177, 160, 149, 125,
+  96, 68, 52, 43, 79, 160, 103, 89, 94, 123, 66, 38, 38, 131, 155, 15,
+  35, 29, 12, 101, 101, 41, 35, 76, 79, 185, 145, 101, 94, 153, 114, 135,
+  103, 71, 57, 108, 147, 155, 114, 143, 103, 143, 147, 149, 105, 145, 213, 151,
+  162, 143, 224, 96, 49, 41, 46, 55, 41, 52, 52, 60, 55, 38, 43, 55,
+  43, 38, 43, 49, 60, 43, 66, 46, 52, 55, 43, 32, 49, 74, 43, 81,
+  55, 60, 57, 68, 84, 101, 89, 94, 103, 101, 110, 105, 112, 117, 123, 119,
+  129, 125, 125, 137, 133, 137, 131, 131, 123, 125, 119, 121, 125, 119, 123, 105,
+  108, 98, 108, 105, 108, 105, 103, 94, 119, 149, 149, 147, 139, 139, 129, 38,
+  49, 29, 29, 26, 18, 32, 23, 29, 43, 46, 32, 38, 49, 32, 26, 74,
+  84, 63, 49, 81, 74, 43, 38, 74, 46, 26, 26, 52, 141, 176, 143, 160,
+  158, 155, 158, 169, 164, 162, 164, 165, 160, 162, 162, 158, 164, 164, 160, 165,
+  160, 160, 158, 164, 158, 158, 153, 155, 153, 153, 151, 151, 145, 145, 139, 141,
+  125, 133, 162, 204, 215, 222, 222, 222, 221, 221, 221, 221, 221, 221, 221, 224,
+  222, 224, 222, 219, 218, 216, 215, 215, 213, 213, 213, 213, 215, 216, 216, 216,
+  35, 32, 32, 38, 26, 41, 29, 26, 29, 35, 74, 94, 86, 79, 105, 127,
+  149, 149, 158, 172, 179, 181, 182, 182, 184, 187, 187, 179, 176, 162, 145, 127,
+  101, 66, 41, 46, 94, 167, 96, 94, 108, 105, 32, 41, 46, 123, 127, 29,
+  29, 32, 26, 105, 55, 41, 23, 57, 98, 201, 151, 103, 52, 160, 123, 133,
+  117, 74, 81, 76, 155, 156, 129, 98, 101, 119, 127, 127, 108, 171, 215, 133,
+  187, 210, 151, 35, 32, 35, 23, 43, 32, 32, 46, 38, 46, 29, 20, 43,
+  35, 43, 76, 43, 43, 63, 32, 46, 46, 55, 43, 41, 38, 68, 46, 89,
+  52, 43, 63, 63, 66, 86, 94, 94, 103, 91, 108, 108, 108, 114, 121, 123,
+  123, 127, 135, 131, 133, 137, 135, 129, 125, 127, 125, 119, 125, 119, 127, 121,
+  121, 114, 108, 114, 117, 119, 119, 139, 151, 155, 151, 133, 137, 139, 89, 38,
+  43, 23, 29, 20, 23, 29, 29, 46, 38, 60, 38, 41, 43, 52, 23, 68,
+  86, 55, 49, 103, 60, 46, 46, 71, 55, 43, 35, 49, 141, 185, 153, 169,
+  160, 155, 156, 167, 162, 167, 162, 171, 165, 162, 162, 164, 162, 158, 167, 164,
+  167, 162, 158, 164, 160, 156, 158, 153, 158, 155, 151, 149, 149, 147, 143, 133,
+  127, 123, 164, 206, 218, 224, 225, 224, 221, 221, 222, 221, 221, 222, 224, 224,
+  224, 221, 221, 218, 218, 215, 215, 216, 216, 218, 216, 218, 216, 218, 216, 216,
+  23, 26, 32, 35, 32, 32, 32, 29, 20, 43, 117, 94, 94, 96, 110, 125,
+  137, 149, 158, 174, 181, 177, 182, 181, 181, 184, 185, 179, 174, 160, 149, 129,
+  101, 55, 41, 46, 91, 169, 86, 89, 91, 68, 71, 38, 68, 133, 55, 38,
+  35, 18, 38, 89, 43, 57, 49, 18, 117, 203, 137, 145, 79, 114, 151, 153,
+  125, 103, 123, 125, 86, 129, 127, 110, 68, 129, 145, 105, 101, 156, 213, 172,
+  192, 172, 43, 41, 38, 43, 41, 43, 38, 49, 43, 49, 52, 43, 43, 43,
+  41, 43, 38, 32, 49, 52, 46, 55, 57, 49, 60, 46, 41, 55, 35, 74,
+  66, 43, 63, 74, 76, 81, 89, 96, 101, 98, 103, 114, 117, 117, 121, 119,
+  125, 129, 129, 133, 127, 131, 133, 133, 127, 125, 133, 129, 129, 127, 129, 137,
+  135, 137, 141, 149, 141, 143, 145, 151, 149, 156, 131, 135, 137, 135, 15, 49,
+  41, 32, 26, 29, 32, 32, 43, 43, 41, 60, 38, 32, 20, 43, 20, 60,
+  84, 66, 57, 96, 52, 43, 43, 71, 76, 23, 35, 32, 143, 176, 160, 171,
+  158, 151, 164, 158, 164, 165, 162, 165, 160, 162, 165, 167, 162, 160, 164, 164,
+  164, 160, 162, 162, 156, 155, 153, 156, 153, 155, 153, 151, 153, 149, 137, 133,
+  133, 127, 164, 201, 218, 225, 227, 225, 222, 221, 222, 222, 224, 222, 222, 224,
+  221, 221, 218, 216, 218, 216, 216, 216, 216, 216, 216, 218, 218, 219, 218, 218,
+  38, 38, 26, 41, 26, 29, 29, 32, 15, 60, 96, 108, 98, 98, 105, 131,
+  133, 141, 155, 164, 176, 179, 182, 185, 181, 181, 181, 182, 174, 165, 149, 131,
+  101, 63, 41, 46, 76, 145, 103, 91, 81, 86, 55, 63, 68, 110, 26, 43,
+  32, 20, 43, 103, 41, 57, 38, 68, 117, 203, 143, 96, 149, 86, 179, 145,
+  110, 108, 145, 63, 86, 139, 125, 119, 38, 98, 133, 119, 125, 181, 224, 185,
+  203, 74, 29, 20, 29, 52, 29, 43, 29, 29, 43, 26, 43, 35, 35, 57,
+  23, 38, 43, 32, 32, 43, 46, 41, 38, 43, 46, 41, 23, 38, 49, 55,
+  68, 46, 43, 60, 49, 71, 79, 86, 91, 98, 101, 103, 110, 114, 119, 123,
+  131, 129, 135, 129, 125, 133, 133, 129, 139, 131, 131, 135, 137, 137, 143, 151,
+  149, 158, 160, 162, 156, 155, 156, 155, 155, 147, 141, 141, 143, 81, 23, 81,
+  38, 12, 23, 35, 26, 38, 43, 60, 43, 52, 35, 38, 23, 49, 26, 76,
+  96, 66, 49, 84, 66, 55, 55, 71, 66, 35, 41, 18, 147, 181, 169, 167,
+  155, 149, 165, 162, 169, 165, 169, 165, 164, 158, 165, 162, 164, 162, 162, 164,
+  162, 162, 158, 160, 158, 158, 158, 155, 156, 155, 153, 155, 153, 141, 137, 137,
+  123, 125, 167, 204, 218, 224, 225, 225, 222, 224, 222, 222, 221, 221, 221, 227,
+  219, 219, 216, 216, 216, 218, 219, 219, 219, 218, 218, 218, 218, 218, 218, 215,
+  32, 35, 23, 32, 38, 35, 26, 35, 32, 68, 98, 96, 98, 101, 117, 121,
+  139, 141, 156, 169, 176, 177, 181, 181, 179, 182, 182, 177, 165, 164, 151, 125,
+  101, 79, 55, 46, 76, 121, 121, 103, 84, 71, 57, 96, 89, 98, 41, 38,
+  23, 23, 57, 94, 23, 35, 49, 35, 71, 181, 119, 103, 108, 127, 131, 158,
+  114, 131, 110, 74, 91, 91, 145, 127, 86, 123, 112, 108, 89, 177, 224, 219,
+  79, 32, 29, 41, 43, 55, 55, 43, 26, 38, 43, 43, 41, 29, 29, 57,
+  35, 38, 49, 29, 29, 23, 46, 43, 35, 41, 66, 38, 29, 32, 49, 46,
+  68, 41, 29, 55, 41, 46, 74, 84, 86, 94, 98, 103, 98, 114, 114, 117,
+  123, 133, 131, 127, 135, 133, 137, 137, 135, 133, 141, 147, 145, 141, 139, 151,
+  160, 165, 169, 169, 160, 158, 153, 158, 153, 149, 143, 151, 145, 18, 18, 60,
+  41, 26, 29, 38, 32, 35, 43, 57, 57, 43, 29, 41, 29, 35, 26, 96,
+  94, 63, 63, 66, 66, 55, 68, 84, 55, 38, 43, 29, 139, 185, 172, 172,
+  155, 155, 167, 171, 167, 165, 165, 169, 165, 164, 169, 162, 160, 162, 158, 162,
+  165, 162, 158, 156, 162, 158, 153, 156, 151, 155, 149, 149, 149, 141, 139, 129,
+  129, 121, 172, 207, 221, 227, 227, 225, 225, 221, 221, 221, 221, 218, 218, 219,
+  219, 219, 222, 219, 219, 221, 221, 219, 216, 218, 216, 216, 216, 213, 212, 215,
+  26, 32, 32, 26, 46, 41, 29, 35, 38, 68, 101, 98, 94, 96, 117, 129,
+  139, 153, 158, 167, 177, 177, 181, 179, 182, 181, 181, 184, 171, 167, 149, 127,
+  103, 71, 43, 52, 68, 101, 105, 91, 98, 66, 57, 94, 96, 89, 41, 41,
+  23, 23, 71, 91, 26, 32, 46, 55, 60, 185, 98, 84, 123, 129, 112, 158,
+  133, 131, 119, 117, 76, 74, 149, 127, 81, 125, 105, 81, 105, 125, 197, 129,
+  43, 49, 35, 38, 49, 35, 29, 32, 26, 41, 57, 35, 43, 29, 32, 52,
+  29, 35, 46, 29, 26, 32, 29, 38, 38, 43, 57, 38, 29, 32, 46, 38,
+  43, 35, 26, 57, 55, 23, 49, 57, 79, 81, 91, 96, 96, 105, 114, 121,
+  123, 123, 129, 131, 133, 135, 135, 139, 135, 145, 145, 155, 156, 155, 153, 158,
+  169, 169, 171, 169, 167, 156, 165, 164, 160, 147, 149, 149, 114, 20, 18, 68,
+  29, 35, 29, 26, 32, 46, 55, 49, 46, 29, 43, 66, 26, 32, 20, 89,
+  98, 74, 71, 79, 68, 55, 66, 89, 32, 49, 35, 26, 149, 182, 169, 171,
+  147, 155, 162, 174, 169, 171, 160, 165, 164, 167, 167, 162, 162, 164, 162, 162,
+  164, 162, 155, 162, 156, 160, 158, 153, 155, 151, 149, 153, 143, 149, 137, 131,
+  129, 131, 179, 213, 222, 225, 225, 225, 224, 222, 224, 219, 221, 219, 219, 219,
+  221, 219, 221, 221, 219, 219, 218, 218, 215, 216, 216, 213, 215, 212, 216, 210,
+  32, 29, 23, 23, 32, 26, 41, 32, 32, 79, 98, 105, 101, 89, 110, 133,
+  135, 147, 158, 165, 179, 179, 177, 184, 177, 179, 184, 182, 172, 162, 153, 125,
+  101, 66, 46, 49, 71, 101, 105, 103, 79, 43, 79, 38, 101, 96, 32, 43,
+  41, 18, 60, 81, 23, 29, 43, 68, 74, 169, 119, 66, 60, 68, 135, 131,
+  147, 137, 131, 131, 112, 63, 127, 147, 74, 141, 110, 49, 89, 129, 209, 81,
+  46, 55, 29, 41, 46, 43, 35, 46, 29, 43, 57, 46, 41, 18, 32, 41,
+  38, 29, 38, 38, 35, 32, 35, 32, 35, 49, 49, 52, 35, 38, 60, 43,
+  57, 49, 23, 60, 66, 29, 29, 35, 52, 71, 91, 84, 89, 98, 105, 117,
+  114, 119, 123, 123, 135, 137, 141, 141, 139, 149, 147, 162, 167, 169, 162, 162,
+  164, 167, 162, 160, 169, 165, 165, 169, 158, 139, 156, 147, 43, 26, 35, 55,
+  35, 35, 43, 32, 43, 41, 66, 46, 57, 20, 41, 49, 35, 35, 35, 94,
+  108, 91, 66, 74, 57, 68, 57, 68, 35, 84, 26, 29, 155, 185, 164, 165,
+  145, 162, 156, 167, 167, 169, 167, 164, 156, 160, 158, 162, 158, 158, 160, 160,
+  162, 160, 162, 164, 156, 158, 153, 153, 153, 149, 153, 143, 139, 145, 139, 135,
+  123, 135, 190, 213, 225, 230, 224, 225, 222, 219, 219, 219, 221, 218, 221, 221,
+  221, 222, 221, 219, 216, 215, 218, 215, 213, 213, 213, 215, 213, 213, 212, 212,
+  29, 26, 35, 35, 26, 23, 26, 38, 35, 79, 79, 89, 91, 94, 119, 129,
+  133, 149, 155, 172, 177, 181, 181, 179, 181, 181, 185, 179, 174, 165, 145, 129,
+  105, 71, 55, 57, 71, 91, 91, 76, 66, 52, 63, 29, 131, 81, 43, 55,
+  38, 35, 63, 81, 26, 43, 43, 46, 94, 167, 108, 66, 38, 41, 71, 121,
+  151, 156, 112, 139, 143, 110, 105, 156, 114, 145, 127, 91, 68, 89, 94, 46,
+  119, 38, 43, 41, 57, 38, 29, 46, 43, 43, 46, 49, 52, 32, 29, 52,
+  32, 46, 26, 49, 35, 32, 41, 38, 49, 35, 43, 38, 38, 43, 46, 46,
+  43, 55, 38, 46, 63, 49, 38, 20, 26, 46, 66, 68, 76, 91, 108, 110,
+  119, 123, 127, 127, 133, 127, 139, 139, 141, 143, 155, 156, 169, 179, 167, 165,
+  167, 165, 167, 165, 169, 176, 179, 165, 156, 145, 156, 135, 26, 26, 38, 41,
+  43, 52, 43, 38, 43, 38, 55, 68, 35, 20, 41, 43, 29, 35, 35, 86,
+  105, 68, 71, 68, 66, 74, 63, 84, 26, 81, 43, 18, 139, 184, 165, 171,
+  149, 156, 165, 171, 169, 169, 169, 165, 162, 158, 162, 162, 167, 165, 164, 160,
+  160, 164, 164, 160, 160, 158, 155, 153, 151, 149, 151, 151, 143, 141, 147, 133,
+  127, 137, 195, 216, 225, 228, 227, 222, 219, 219, 218, 218, 219, 221, 221, 222,
+  221, 222, 219, 218, 216, 213, 210, 218, 212, 210, 210, 212, 210, 209, 206, 201,
+  32, 23, 29, 38, 35, 29, 29, 26, 52, 66, 74, 86, 96, 94, 117, 131,
+  141, 145, 160, 174, 176, 184, 181, 181, 182, 181, 182, 182, 172, 162, 149, 125,
+  96, 63, 49, 55, 68, 89, 123, 38, 38, 43, 41, 41, 141, 103, 23, 49,
+  60, 38, 46, 63, 38, 35, 26, 20, 105, 164, 137, 86, 38, 63, 57, 98,
+  112, 141, 131, 139, 147, 121, 119, 135, 143, 147, 101, 105, 86, 133, 49, 63,
+  43, 43, 35, 43, 46, 52, 38, 41, 32, 35, 43, 52, 32, 26, 49, 66,
+  38, 38, 41, 60, 41, 32, 32, 29, 38, 41, 49, 26, 57, 35, 43, 43,
+  38, 63, 41, 35, 55, 55, 20, 29, 23, 26, 41, 66, 71, 79, 96, 110,
+  112, 114, 125, 127, 127, 129, 131, 147, 133, 141, 147, 147, 153, 167, 160, 169,
+  169, 172, 171, 165, 171, 171, 171, 156, 141, 145, 139, 110, 18, 23, 60, 32,
+  46, 49, 52, 46, 41, 49, 49, 74, 38, 32, 41, 41, 35, 23, 46, 108,
+  105, 60, 68, 57, 55, 74, 68, 66, 38, 84, 32, 26, 141, 184, 167, 164,
+  151, 155, 160, 165, 165, 165, 167, 160, 155, 160, 162, 158, 162, 165, 162, 155,
+  164, 156, 160, 156, 153, 153, 153, 153, 147, 147, 149, 145, 145, 137, 133, 131,
+  127, 143, 200, 219, 231, 228, 225, 221, 219, 218, 221, 219, 221, 222, 222, 222,
+  221, 219, 219, 215, 215, 210, 213, 215, 212, 209, 207, 206, 201, 192, 187, 167,
+  38, 38, 29, 32, 26, 20, 26, 46, 35, 43, 74, 86, 91, 105, 127, 125,
+  137, 151, 158, 172, 172, 177, 176, 176, 179, 179, 182, 181, 177, 165, 151, 133,
+  101, 68, 38, 55, 46, 103, 94, 52, 32, 35, 60, 49, 112, 96, 32, 55,
+  66, 43, 71, 60, 38, 35, 41, 23, 74, 165, 133, 125, 46, 74, 71, 108,
+  103, 91, 133, 135, 164, 147, 156, 117, 143, 145, 174, 76, 71, 96, 94, 57,
+  49, 57, 46, 49, 49, 46, 43, 41, 52, 52, 55, 68, 35, 26, 26, 60,
+  29, 35, 49, 35, 43, 29, 29, 38, 29, 35, 52, 38, 49, 63, 38, 49,
+  49, 60, 41, 49, 74, 63, 46, 41, 38, 26, 26, 29, 66, 74, 86, 91,
+  98, 103, 119, 117, 127, 121, 133, 131, 135, 145, 141, 149, 155, 156, 165, 165,
+  164, 174, 164, 165, 165, 165, 158, 151, 143, 147, 141, 101, 26, 32, 55, 43,
+  52, 55, 55, 57, 49, 49, 41, 74, 43, 43, 29, 32, 43, 41, 55, 101,
+  103, 84, 68, 63, 66, 71, 79, 81, 52, 96, 46, 26, 139, 181, 160, 167,
+  147, 151, 149, 156, 155, 156, 156, 156, 162, 160, 156, 160, 162, 160, 160, 155,
+  155, 160, 156, 160, 158, 153, 156, 151, 149, 151, 147, 147, 147, 141, 135, 131,
+  127, 156, 206, 219, 228, 228, 225, 221, 218, 218, 221, 221, 221, 222, 221, 221,
+  219, 219, 216, 216, 212, 213, 212, 210, 209, 203, 190, 182, 158, 135, 98, 46,
+  23, 26, 32, 32, 41, 32, 20, 43, 29, 41, 63, 91, 96, 103, 117, 123,
+  137, 155, 160, 169, 174, 176, 179, 172, 181, 177, 181, 177, 177, 165, 145, 125,
+  94, 71, 32, 49, 98, 133, 81, 86, 35, 26, 63, 98, 74, 71, 52, 46,
+  66, 52, 86, 46, 38, 26, 43, 12, 38, 181, 129, 143, 55, 57, 74, 63,
+  86, 129, 139, 91, 110, 167, 121, 133, 131, 160, 169, 121, 129, 125, 139, 63,
+  43, 35, 41, 57, 41, 38, 43, 38, 41, 41, 52, 74, 29, 35, 35, 71,
+  41, 35, 35, 43, 43, 38, 35, 41, 23, 35, 46, 41, 49, 49, 38, 49,
+  55, 57, 41, 41, 49, 63, 60, 43, 29, 20, 20, 41, 43, 49, 52, 55,
+  46, 60, 84, 84, 108, 117, 117, 114, 131, 129, 137, 145, 147, 149, 155, 162,
+  167, 164, 164, 149, 153, 153, 158, 143, 139, 137, 135, 84, 23, 29, 46, 41,
+  52, 43, 46, 52, 41, 32, 43, 52, 35, 41, 38, 29, 41, 57, 46, 96,
+  103, 81, 68, 71, 63, 81, 76, 86, 35, 89, 43, 26, 153, 179, 158, 162,
+  151, 141, 135, 139, 147, 149, 149, 151, 151, 153, 158, 164, 160, 160, 167, 155,
+  164, 158, 156, 158, 160, 158, 155, 151, 149, 151, 151, 145, 147, 137, 133, 127,
+  129, 174, 209, 221, 227, 227, 222, 221, 218, 219, 219, 219, 221, 219, 221, 218,
+  218, 215, 215, 213, 212, 209, 204, 200, 193, 176, 149, 105, 49, 35, 35, 23,
+  32, 32, 26, 35, 23, 20, 29, 43, 18, 52, 52, 91, 94, 81, 112, 127,
+  135, 149, 160, 167, 176, 179, 177, 174, 177, 179, 184, 179, 169, 162, 145, 123,
+  94, 46, 55, 108, 185, 153, 98, 172, 32, 26, 35, 76, 66, 49, 57, 49,
+  35, 68, 49, 32, 43, 35, 29, 18, 29, 176, 151, 169, 91, 76, 101, 57,
+  57, 125, 123, 114, 74, 149, 94, 141, 155, 179, 156, 149, 164, 185, 165, 143,
+  49, 35, 35, 38, 49, 41, 49, 46, 38, 63, 57, 68, 38, 26, 29, 89,
+  35, 32, 38, 32, 43, 41, 35, 38, 32, 32, 41, 29, 43, 52, 52, 57,
+  49, 49, 52, 38, 38, 57, 71, 60, 57, 41, 38, 49, 38, 49, 52, 66,
+  91, 74, 89, 96, 96, 105, 114, 110, 123, 121, 125, 133, 145, 143, 145, 153,
+  162, 162, 158, 145, 137, 149, 145, 133, 133, 133, 123, 84, 52, 41, 43, 41,
+  49, 52, 49, 60, 43, 49, 43, 55, 46, 41, 26, 41, 29, 57, 46, 89,
+  112, 74, 81, 79, 68, 63, 71, 96, 52, 63, 57, 41, 149, 185, 158, 153,
+  145, 133, 114, 125, 127, 141, 139, 137, 147, 143, 153, 151, 156, 155, 153, 155,
+  158, 160, 156, 160, 156, 156, 155, 149, 153, 145, 143, 143, 139, 131, 129, 123,
+  129, 190, 213, 221, 227, 224, 221, 218, 218, 219, 219, 218, 219, 219, 216, 216,
+  216, 215, 212, 209, 206, 198, 185, 165, 139, 91, 43, 20, 12, 23, 26, 20,
+  26, 29, 32, 26, 20, 20, 26, 23, 18, 32, 63, 79, 89, 89, 94, 121,
+  141, 149, 164, 169, 177, 181, 174, 176, 176, 181, 179, 174, 169, 162, 141, 114,
+  81, 57, 123, 210, 172, 63, 60, 162, 41, 23, 20, 68, 91, 35, 38, 63,
+  43, 68, 49, 41, 29, 32, 26, 20, 32, 165, 145, 164, 151, 81, 84, 60,
+  38, 91, 155, 131, 57, 114, 141, 79, 156, 162, 158, 129, 68, 117, 162, 174,
+  117, 57, 35, 23, 32, 43, 35, 35, 35, 76, 63, 68, 35, 23, 35, 63,
+  41, 35, 38, 29, 43, 46, 23, 38, 35, 20, 38, 35, 41, 46, 49, 52,
+  57, 43, 46, 46, 35, 57, 76, 71, 52, 60, 76, 108, 105, 105, 112, 129,
+  117, 131, 129, 141, 131, 131, 135, 143, 133, 147, 143, 169, 156, 165, 160, 164,
+  167, 171, 172, 174, 177, 177, 177, 162, 165, 171, 153, 112, 66, 57, 46, 46,
+  66, 55, 55, 43, 49, 43, 46, 55, 46, 38, 29, 29, 26, 66, 43, 91,
+  121, 74, 84, 76, 74, 71, 81, 79, 55, 63, 49, 46, 158, 182, 164, 145,
+  127, 133, 114, 112, 119, 125, 127, 129, 131, 151, 135, 139, 147, 145, 149, 149,
+  151, 156, 162, 160, 155, 155, 155, 149, 155, 147, 143, 145, 141, 135, 123, 125,
+  143, 198, 216, 224, 227, 222, 218, 218, 219, 218, 218, 216, 215, 216, 216, 213,
+  216, 212, 207, 200, 190, 176, 143, 94, 49, 38, 23, 23, 23, 23, 29, 35,
+  35, 52, 43, 35, 32, 18, 26, 20, 26, 35, 55, 66, 71, 63, 96, 125,
+  137, 153, 160, 169, 172, 174, 176, 176, 174, 177, 177, 181, 169, 156, 139, 110,
+  94, 137, 215, 171, 91, 49, 94, 155, 60, 66, 18, 63, 91, 63, 60, 60,
+  63, 38, 38, 55, 35, 35, 32, 35, 43, 158, 129, 121, 167, 98, 74, 76,
+  46, 57, 91, 91, 81, 153, 171, 96, 86, 167, 179, 151, 66, 55, 55, 176,
+  172, 160, 68, 26, 29, 29, 29, 41, 38, 63, 74, 57, 29, 20, 41, 74,
+  35, 26, 23, 29, 35, 38, 26, 32, 32, 26, 35, 35, 38, 43, 49, 38,
+  52, 43, 35, 29, 32, 32, 57, 74, 81, 79, 101, 103, 117, 117, 125, 125,
+  123, 129, 143, 135, 135, 137, 135, 139, 135, 137, 135, 151, 155, 160, 155, 153,
+  151, 158, 156, 160, 164, 160, 172, 176, 185, 195, 203, 203, 190, 155, 96, 66,
+  57, 49, 41, 60, 41, 38, 49, 52, 38, 41, 20, 43, 32, 68, 43, 86,
+  112, 79, 84, 74, 66, 76, 74, 94, 66, 71, 55, 57, 164, 164, 169, 135,
+  117, 125, 119, 101, 114, 110, 114, 127, 125, 125, 114, 129, 129, 133, 135, 141,
+  143, 145, 153, 151, 149, 149, 151, 153, 147, 147, 147, 137, 139, 133, 131, 123,
+  155, 201, 219, 224, 224, 216, 215, 216, 216, 215, 221, 216, 215, 215, 215, 212,
+  212, 207, 200, 184, 176, 145, 98, 41, 23, 38, 32, 55, 23, 32, 57, 52,
+  43, 38, 41, 68, 49, 35, 26, 26, 20, 43, 46, 60, 63, 60, 91, 125,
+  135, 151, 156, 169, 174, 176, 177, 179, 174, 182, 182, 177, 171, 155, 135, 123,
+  160, 222, 167, 52, 76, 57, 84, 89, 20, 29, 23, 52, 101, 71, 43, 55,
+  84, 43, 46, 94, 49, 35, 32, 38, 52, 141, 133, 119, 151, 158, 96, 68,
+  23, 26, 79, 137, 119, 172, 123, 86, 101, 137, 169, 125, 147, 89, 43, 89,
+  182, 185, 165, 60, 38, 41, 43, 41, 43, 57, 84, 49, 41, 38, 49, 96,
+  29, 35, 38, 41, 35, 43, 35, 23, 26, 29, 41, 35, 41, 43, 46, 35,
+  29, 55, 38, 23, 38, 23, 55, 71, 74, 96, 105, 112, 125, 123, 123, 117,
+  125, 125, 127, 131, 131, 137, 135, 133, 139, 139, 147, 151, 151, 156, 155, 149,
+  151, 149, 149, 149, 151, 162, 172, 179, 185, 200, 198, 204, 206, 204, 206, 177,
+  114, 66, 43, 49, 41, 29, 35, 46, 29, 29, 23, 32, 38, 38, 49, 86,
+  119, 66, 81, 71, 60, 71, 71, 86, 63, 74, 60, 49, 169, 158, 165, 127,
+  121, 123, 123, 112, 112, 117, 112, 121, 110, 117, 117, 121, 117, 125, 121, 125,
+  131, 139, 137, 141, 143, 147, 149, 147, 143, 151, 143, 135, 137, 133, 125, 123,
+  165, 207, 218, 224, 221, 215, 215, 215, 215, 218, 216, 215, 215, 213, 210, 212,
+  206, 201, 193, 181, 155, 117, 57, 29, 20, 18, 18, 35, 46, 57, 71, 71,
+  55, 52, 71, 60, 43, 32, 35, 29, 23, 23, 43, 66, 57, 63, 81, 114,
+  127, 139, 155, 164, 174, 176, 176, 174, 171, 172, 179, 171, 167, 160, 141, 160,
+  212, 108, 32, 71, 66, 32, 171, 35, 20, 26, 12, 46, 91, 66, 60, 52,
+  63, 29, 41, 63, 89, 52, 26, 38, 49, 86, 143, 143, 108, 147, 149, 74,
+  32, 52, 91, 141, 162, 177, 60, 105, 86, 103, 129, 143, 79, 119, 71, 74,
+  145, 141, 177, 167, 43, 29, 32, 43, 71, 57, 96, 43, 35, 26, 46, 79,
+  41, 32, 43, 41, 29, 35, 46, 46, 26, 41, 43, 52, 46, 35, 49, 55,
+  43, 41, 35, 52, 26, 38, 66, 79, 74, 94, 114, 114, 127, 127, 123, 114,
+  121, 125, 135, 127, 129, 133, 135, 131, 129, 137, 139, 145, 153, 149, 141, 143,
+  145, 141, 139, 143, 149, 162, 177, 177, 190, 200, 203, 204, 204, 204, 210, 212,
+  212, 187, 121, 71, 57, 49, 43, 46, 52, 38, 46, 55, 41, 55, 86, 89,
+  123, 66, 74, 81, 60, 79, 68, 86, 66, 76, 79, 63, 185, 151, 153, 133,
+  133, 139, 129, 137, 119, 125, 114, 117, 119, 117, 114, 117, 114, 114, 112, 114,
+  114, 114, 125, 123, 127, 133, 127, 133, 141, 141, 139, 137, 133, 133, 125, 121,
+  174, 206, 216, 222, 219, 213, 213, 213, 215, 218, 215, 213, 215, 216, 210, 206,
+  198, 197, 182, 165, 123, 66, 26, 15, 29, 35, 43, 46, 63, 79, 79, 66,
+  94, 79, 63, 68, 46, 32, 41, 41, 35, 32, 55, 63, 38, 38, 71, 98,
+  121, 141, 156, 167, 177, 176, 171, 171, 176, 174, 179, 176, 171, 160, 185, 212,
+  117, 57, 38, 63, 38, 105, 179, 38, 23, 26, 15, 43, 91, 71, 26, 41,
+  52, 41, 49, 60, 108, 63, 52, 57, 43, 41, 71, 143, 135, 79, 145, 147,
+  133, 129, 129, 171, 185, 98, 79, 79, 133, 89, 96, 141, 137, 60, 101, 121,
+  174, 125, 86, 184, 139, 57, 32, 41, 43, 52, 74, 32, 20, 23, 49, 94,
+  41, 29, 46, 32, 32, 26, 43, 35, 29, 46, 41, 23, 43, 32, 52, 49,
+  43, 41, 46, 35, 43, 32, 55, 76, 84, 96, 101, 121, 121, 121, 114, 121,
+  114, 119, 119, 127, 127, 131, 129, 135, 135, 137, 137, 147, 141, 135, 143, 139,
+  141, 143, 141, 151, 151, 169, 176, 184, 193, 198, 200, 204, 206, 204, 207, 209,
+  209, 209, 207, 193, 131, 60, 41, 26, 41, 20, 41, 23, 35, 38, 79, 68,
+  125, 57, 68, 76, 66, 74, 76, 74, 57, 74, 68, 68, 189, 155, 151, 131,
+  137, 143, 137, 139, 137, 131, 131, 125, 129, 114, 114, 105, 110, 103, 112, 108,
+  105, 110, 112, 119, 117, 125, 123, 123, 125, 121, 125, 123, 131, 121, 117, 123,
+  172, 207, 215, 218, 213, 212, 213, 213, 215, 216, 218, 215, 216, 215, 212, 204,
+  193, 182, 155, 114, 60, 12, 18, 26, 41, 49, 49, 60, 74, 81, 81, 91,
+  131, 125, 101, 94, 76, 66, 55, 41, 35, 35, 41, 35, 32, 29, 49, 81,
+  110, 133, 155, 165, 171, 171, 172, 169, 176, 177, 172, 179, 184, 193, 176, 125,
+  101, 63, 57, 91, 81, 165, 84, 29, 35, 38, 23, 23, 46, 84, 49, 66,
+  26, 29, 41, 49, 112, 79, 68, 52, 79, 29, 18, 125, 147, 125, 89, 57,
+  96, 133, 135, 176, 147, 52, 79, 112, 71, 123, 119, 112, 127, 103, 127, 160,
+  207, 129, 91, 63, 193, 89, 23, 26, 29, 49, 81, 41, 29, 41, 43, 91,
+  29, 32, 38, 23, 35, 23, 32, 38, 35, 26, 41, 29, 38, 38, 52, 52,
+  43, 43, 35, 41, 46, 32, 46, 63, 74, 103, 117, 119, 103, 121, 117, 121,
+  121, 117, 119, 123, 139, 135, 129, 129, 135, 133, 133, 139, 133, 139, 135, 135,
+  139, 141, 141, 147, 153, 169, 176, 187, 192, 195, 203, 203, 206, 206, 207, 207,
+  209, 207, 209, 212, 212, 193, 129, 57, 38, 23, 26, 18, 23, 32, 76, 68,
+  123, 52, 76, 71, 63, 71, 76, 66, 49, 66, 63, 76, 187, 156, 151, 131,
+  139, 145, 137, 139, 151, 133, 133, 131, 131, 119, 117, 110, 112, 105, 105, 94,
+  96, 101, 96, 89, 98, 105, 105, 105, 103, 110, 110, 112, 110, 101, 108, 98,
+  169, 201, 213, 216, 213, 210, 209, 213, 215, 215, 215, 215, 215, 215, 212, 201,
+  187, 160, 94, 32, 26, 29, 32, 46, 46, 55, 55, 76, 71, 68, 79, 79,
+  139, 137, 137, 117, 94, 84, 76, 60, 46, 55, 46, 29, 29, 29, 52, 76,
+  103, 133, 151, 162, 172, 172, 176, 179, 177, 172, 177, 193, 195, 165, 155, 125,
+  103, 66, 71, 121, 193, 96, 29, 18, 23, 23, 20, 29, 26, 57, 101, 121,
+  6, 18, 35, 41, 127, 101, 74, 57, 117, 15, 12, 46, 145, 143, 129, 89,
+  74, 101, 84, 155, 46, 110, 103, 103, 103, 105, 137, 121, 121, 121, 119, 101,
+  189, 79, 86, 76, 76, 164, 38, 32, 35, 46, 86, 38, 32, 15, 46, 96,
+  29, 29, 32, 23, 38, 32, 38, 41, 43, 35, 32, 26, 35, 46, 38, 52,
+  38, 63, 52, 32, 41, 29, 35, 68, 86, 101, 103, 108, 114, 121, 114, 119,
+  117, 121, 125, 123, 129, 131, 125, 127, 133, 137, 139, 131, 145, 139, 137, 137,
+  147, 141, 147, 153, 160, 176, 182, 190, 193, 200, 200, 203, 201, 203, 207, 206,
+  209, 209, 207, 210, 209, 213, 215, 185, 98, 49, 23, 18, 18, 38, 66, 91,
+  114, 55, 68, 68, 66, 66, 71, 66, 55, 63, 74, 91, 182, 153, 153, 135,
+  151, 147, 143, 145, 143, 143, 143, 141, 139, 131, 139, 131, 123, 112, 117, 105,
+  108, 96, 98, 96, 96, 101, 96, 86, 98, 94, 114, 119, 105, 91, 71, 86,
+  149, 201, 213, 215, 213, 210, 212, 215, 216, 213, 215, 212, 213, 209, 203, 189,
+  165, 105, 20, 23, 23, 55, 49, 57, 55, 71, 74, 79, 74, 71, 74, 74,
+  153, 145, 139, 149, 123, 112, 89, 79, 63, 71, 63, 41, 35, 26, 52, 84,
+  103, 135, 155, 162, 167, 171, 171, 172, 172, 169, 181, 181, 176, 164, 147, 123,
+  96, 76, 131, 81, 218, 41, 32, 29, 23, 35, 29, 26, 23, 43, 79, 137,
+  15, 18, 20, 35, 131, 117, 68, 76, 131, 41, 32, 20, 52, 137, 143, 153,
+  110, 94, 127, 162, 60, 46, 135, 119, 110, 131, 68, 167, 125, 131, 143, 135,
+  149, 179, 76, 26, 108, 108, 137, 38, 35, 49, 76, 41, 26, 18, 49, 71,
+  41, 35, 52, 26, 41, 26, 43, 46, 43, 49, 49, 35, 41, 41, 43, 41,
+  60, 66, 55, 35, 46, 35, 43, 66, 101, 98, 105, 105, 110, 117, 114, 121,
+  125, 123, 131, 129, 125, 135, 127, 135, 129, 139, 135, 131, 135, 137, 135, 139,
+  139, 147, 151, 164, 164, 171, 177, 190, 193, 197, 200, 197, 197, 200, 206, 204,
+  206, 207, 207, 207, 209, 212, 215, 215, 210, 149, 49, 26, 20, 46, 57, 89,
+  105, 55, 63, 63, 66, 63, 60, 43, 68, 55, 60, 103, 172, 149, 141, 143,
+  153, 156, 145, 151, 147, 151, 145, 141, 137, 141, 141, 137, 129, 129, 127, 117,
+  114, 112, 101, 96, 101, 96, 98, 89, 89, 98, 123, 121, 117, 94, 68, 76,
+  151, 203, 213, 215, 213, 209, 213, 218, 216, 213, 215, 212, 210, 200, 187, 162,
+  117, 55, 23, 41, 57, 71, 71, 66, 71, 63, 76, 84, 74, 74, 84, 84,
+  153, 149, 155, 149, 143, 129, 114, 96, 84, 81, 74, 60, 29, 20, 49, 74,
+  103, 133, 156, 165, 169, 174, 176, 174, 172, 176, 177, 177, 172, 165, 149, 125,
+  105, 114, 169, 108, 167, 32, 20, 32, 23, 29, 26, 26, 55, 98, 89, 110,
+  20, 15, 15, 55, 149, 101, 66, 119, 66, 38, 32, 26, 105, 94, 43, 91,
+  117, 131, 149, 76, 57, 84, 57, 143, 125, 121, 96, 119, 179, 125, 143, 129,
+  103, 141, 165, 38, 35, 101, 179, 63, 46, 55, 46, 43, 29, 32, 41, 66,
+  29, 38, 46, 41, 49, 38, 35, 41, 52, 68, 38, 38, 26, 43, 38, 41,
+  49, 60, 79, 43, 41, 35, 41, 81, 84, 91, 117, 114, 105, 108, 110, 114,
+  117, 125, 117, 119, 131, 129, 131, 137, 135, 139, 141, 135, 135, 127, 135, 141,
+  141, 145, 155, 158, 171, 179, 182, 187, 192, 198, 197, 197, 193, 201, 203, 201,
+  204, 206, 207, 210, 209, 212, 213, 213, 218, 216, 177, 68, 35, 23, 43, 43,
+  101, 63, 74, 76, 66, 76, 89, 63, 66, 43, 57, 121, 167, 153, 137, 147,
+  153, 153, 155, 155, 149, 149, 141, 149, 141, 141, 141, 139, 137, 135, 133, 127,
+  129, 121, 117, 105, 103, 114, 94, 79, 108, 103, 135, 131, 112, 108, 63, 74,
+  160, 203, 215, 215, 213, 212, 218, 219, 218, 216, 215, 213, 203, 176, 141, 84,
+  26, 18, 38, 55, 71, 74, 71, 79, 79, 79, 79, 79, 91, 79, 74, 68,
+  149, 139, 155, 155, 156, 145, 135, 119, 96, 98, 79, 68, 26, 18, 41, 74,
+  110, 131, 149, 164, 169, 176, 172, 172, 174, 174, 179, 174, 171, 158, 141, 121,
+  149, 153, 105, 129, 84, 23, 32, 32, 32, 20, 15, 18, 26, 105, 143, 135,
+  114, 91, 108, 147, 114, 49, 57, 60, 81, 32, 29, 98, 127, 46, 46, 84,
+  145, 121, 79, 52, 84, 76, 84, 79, 127, 133, 121, 145, 151, 153, 137, 158,
+  46, 43, 135, 135, 35, 38, 105, 158, 35, 49, 57, 46, 43, 29, 57, 66,
+  46, 46, 52, 41, 41, 29, 52, 49, 46, 60, 46, 43, 38, 35, 52, 55,
+  60, 38, 74, 60, 38, 49, 29, 86, 89, 94, 105, 108, 112, 108, 110, 125,
+  121, 117, 121, 123, 127, 133, 135, 141, 143, 141, 133, 127, 129, 133, 137, 141,
+  145, 151, 160, 165, 167, 172, 177, 184, 189, 197, 193, 195, 197, 197, 198, 201,
+  201, 204, 209, 209, 209, 210, 212, 210, 213, 216, 219, 195, 79, 35, 32, 29,
+  96, 52, 63, 60, 43, 57, 68, 63, 55, 29, 66, 141, 155, 149, 143, 158,
+  155, 156, 156, 155, 155, 149, 147, 153, 151, 145, 145, 143, 145, 139, 145, 135,
+  133, 123, 123, 125, 119, 110, 108, 96, 91, 110, 129, 139, 119, 94, 68, 94,
+  165, 207, 215, 218, 216, 218, 218, 219, 218, 216, 215, 212, 193, 149, 76, 60,
+  15, 35, 71, 76, 84, 71, 68, 63, 71, 81, 81, 98, 79, 79, 63, 74,
+  141, 139, 155, 160, 167, 162, 151, 137, 121, 110, 86, 63, 38, 20, 35, 76,
+  112, 137, 153, 165, 169, 176, 176, 174, 176, 177, 177, 179, 172, 160, 141, 125,
+  200, 207, 55, 94, 79, 43, 38, 23, 20, 23, 35, 20, 23, 52, 63, 68,
+  96, 127, 133, 101, 68, 81, 52, 52, 66, 49, 108, 143, 52, 29, 52, 137,
+  89, 46, 68, 43, 46, 79, 105, 76, 105, 125, 137, 147, 145, 143, 155, 156,
+  112, 23, 49, 192, 101, 26, 89, 192, 60, 52, 41, 32, 38, 38, 41, 66,
+  60, 32, 38, 41, 41, 26, 32, 38, 55, 49, 49, 46, 35, 38, 49, 43,
+  68, 49, 81, 91, 46, 26, 32, 84, 68, 105, 108, 108, 110, 119, 114, 123,
+  119, 119, 131, 133, 127, 129, 137, 137, 135, 135, 143, 135, 137, 137, 137, 141,
+  147, 156, 160, 167, 165, 172, 172, 181, 185, 190, 190, 190, 198, 198, 197, 197,
+  198, 203, 204, 209, 207, 209, 210, 213, 215, 216, 218, 219, 201, 79, 32, 29,
+  86, 49, 43, 66, 49, 63, 76, 49, 49, 18, 35, 141, 155, 155, 139, 155,
+  153, 158, 155, 153, 153, 147, 155, 155, 155, 153, 145, 145, 147, 141, 143, 135,
+  139, 135, 131, 129, 121, 127, 137, 105, 117, 121, 137, 141, 123, 96, 74, 121,
+  185, 212, 219, 218, 218, 218, 219, 219, 216, 215, 210, 206, 172, 123, 43, 20,
+  52, 74, 84, 89, 84, 76, 74, 71, 96, 98, 98, 94, 91, 76, 76, 86,
+  135, 147, 151, 158, 167, 165, 164, 153, 141, 123, 103, 60, 46, 20, 38, 74,
+  105, 131, 158, 167, 176, 174, 179, 174, 179, 176, 181, 177, 169, 160, 137, 137,
+  219, 179, 84, 57, 46, 52, 46, 29, 23, 26, 20, 23, 38, 81, 43, 20,
+  38, 76, 52, 55, 49, 38, 46, 81, 110, 123, 114, 68, 29, 15, 84, 172,
+  38, 41, 55, 86, 57, 55, 108, 110, 89, 91, 123, 145, 145, 143, 181, 147,
+  176, 35, 18, 151, 203, 46, 96, 103, 135, 41, 29, 32, 38, 35, 46, 76,
+  46, 41, 41, 41, 46, 49, 35, 29, 46, 55, 43, 35, 38, 38, 46, 55,
+  41, 60, 84, 89, 55, 26, 38, 68, 60, 110, 110, 105, 114, 127, 123, 103,
+  110, 127, 131, 135, 129, 131, 127, 131, 129, 137, 137, 133, 131, 135, 137, 145,
+  155, 153, 162, 167, 162, 169, 172, 177, 182, 187, 185, 192, 192, 192, 195, 195,
+  198, 203, 203, 203, 206, 210, 212, 209, 213, 213, 218, 219, 221, 201, 76, 41,
+  76, 57, 60, 63, 52, 74, 81, 68, 52, 26, 43, 153, 149, 158, 145, 158,
+  164, 160, 153, 153, 151, 151, 162, 153, 156, 151, 147, 149, 143, 143, 149, 147,
+  139, 137, 141, 135, 129, 129, 131, 117, 121, 129, 137, 139, 117, 112, 89, 143,
+  198, 210, 219, 219, 218, 218, 221, 218, 218, 212, 204, 193, 155, 81, 23, 23,
+  63, 74, 91, 81, 76, 71, 71, 89, 103, 101, 98, 91, 86, 91, 79, 98,
+  141, 133, 139, 156, 167, 169, 167, 162, 143, 145, 119, 84, 52, 15, 38, 71,
+  105, 131, 153, 165, 176, 182, 182, 177, 174, 181, 184, 172, 167, 164, 147, 156,
+  222, 137, 149, 174, 15, 20, 18, 35, 49, 46, 38, 41, 52, 74, 55, 29,
+  43, 101, 57, 41, 55, 57, 60, 41, 52, 41, 35, 35, 35, 26, 89, 160,
+  76, 23, 46, 86, 76, 68, 63, 119, 91, 79, 94, 137, 160, 139, 156, 151,
+  164, 121, 38, 60, 171, 160, 129, 55, 198, 43, 41, 32, 46, 43, 52, 66,
+  41, 43, 41, 52, 52, 43, 52, 55, 55, 60, 46, 43, 46, 49, 55, 68,
+  46, 66, 91, 98, 81, 41, 23, 49, 68, 112, 108, 114, 108, 114, 108, 105,
+  129, 123, 127, 131, 131, 131, 129, 133, 137, 137, 133, 135, 133, 143, 145, 145,
+  155, 156, 165, 165, 165, 174, 171, 171, 181, 182, 185, 182, 187, 193, 195, 197,
+  200, 200, 201, 206, 209, 207, 212, 213, 215, 216, 215, 218, 221, 222, 193, 49,
+  43, 52, 29, 49, 35, 55, 57, 68, 71, 23, 43, 171, 143, 155, 143, 156,
+  155, 156, 156, 156, 155, 149, 155, 149, 149, 151, 147, 145, 145, 149, 149, 143,
+  139, 141, 139, 137, 135, 137, 129, 131, 125, 131, 133, 137, 131, 110, 108, 165,
+  204, 216, 219, 221, 218, 219, 216, 221, 215, 210, 198, 176, 139, 57, 38, 41,
+  79, 81, 79, 86, 94, 84, 76, 96, 103, 112, 103, 89, 89, 76, 81, 89,
+  108, 114, 135, 149, 155, 160, 167, 169, 158, 160, 137, 103, 55, 20, 32, 81,
+  105, 131, 153, 167, 182, 176, 181, 182, 182, 177, 184, 177, 171, 162, 145, 137,
+  215, 103, 74, 207, 15, 20, 26, 32, 41, 43, 26, 38, 79, 63, 60, 41,
+  41, 46, 38, 32, 66, 94, 68, 49, 38, 26, 26, 57, 43, 29, 41, 86,
+  127, 38, 41, 66, 57, 63, 68, 76, 127, 98, 76, 127, 156, 143, 145, 137,
+  112, 141, 125, 96, 129, 165, 94, 35, 185, 86, 35, 41, 32, 29, 46, 63,
+  60, 46, 38, 49, 41, 29, 29, 43, 52, 63, 35, 52, 35, 38, 41, 60,
+  55, 66, 101, 103, 86, 46, 18, 49, 57, 119, 110, 112, 110, 108, 123, 125,
+  127, 123, 129, 131, 131, 135, 133, 135, 145, 129, 137, 141, 137, 141, 149, 147,
+  151, 162, 164, 162, 167, 169, 171, 172, 182, 176, 179, 182, 184, 184, 190, 189,
+  195, 198, 198, 203, 206, 210, 209, 209, 210, 215, 218, 218, 219, 222, 224, 177,
+  32, 41, 18, 29, 41, 68, 43, 57, 63, 29, 57, 179, 143, 143, 149, 160,
+  156, 160, 158, 160, 155, 151, 151, 149, 155, 153, 147, 151, 147, 149, 147, 141,
+  141, 141, 131, 139, 133, 135, 131, 135, 127, 131, 141, 139, 127, 114, 127, 184,
+  209, 219, 219, 219, 218, 221, 221, 221, 215, 206, 187, 155, 119, 57, 46, 74,
+  94, 94, 79, 86, 86, 81, 89, 103, 114, 110, 101, 94, 86, 81, 96, 101,
+  66, 76, 117, 137, 151, 167, 176, 177, 174, 171, 147, 117, 63, 18, 38, 79,
+  105, 135, 158, 167, 181, 181, 181, 179, 176, 182, 187, 174, 172, 160, 145, 137,
+  169, 114, 55, 91, 20, 18, 38, 32, 26, 38, 35, 29, 66, 41, 46, 55,
+  23, 41, 29, 26, 76, 105, 57, 57, 43, 20, 29, 49, 94, 32, 23, 55,
+  121, 110, 32, 49, 76, 74, 66, 66, 108, 127, 86, 123, 167, 137, 143, 151,
+  123, 158, 108, 108, 71, 110, 190, 26, 121, 172, 15, 20, 29, 20, 49, 63,
+  46, 41, 41, 26, 46, 32, 35, 35, 55, 68, 43, 38, 32, 23, 43, 68,
+  66, 68, 98, 117, 103, 46, 32, 29, 79, 103, 101, 105, 101, 117, 129, 125,
+  119, 131, 131, 135, 137, 133, 139, 133, 131, 131, 129, 133, 143, 139, 141, 149,
+  149, 151, 164, 160, 160, 165, 167, 172, 177, 182, 176, 184, 184, 185, 189, 190,
+  193, 197, 201, 203, 207, 209, 209, 212, 213, 215, 215, 218, 221, 221, 222, 224,
+  137, 46, 26, 20, 29, 57, 29, 43, 43, 18, 49, 182, 143, 149, 153, 156,
+  156, 156, 158, 156, 156, 153, 155, 149, 147, 155, 151, 149, 147, 149, 149, 145,
+  141, 145, 139, 143, 133, 135, 133, 135, 129, 135, 143, 139, 131, 121, 135, 198,
+  213, 219, 221, 219, 221, 219, 218, 218, 212, 200, 167, 133, 81, 55, 68, 79,
+  94, 84, 79, 84, 84, 94, 103, 108, 110, 110, 94, 86, 81, 79, 94, 101,
+  38, 43, 101, 127, 147, 162, 179, 177, 177, 167, 149, 131, 84, 18, 35, 74,
+  101, 137, 158, 169, 182, 181, 177, 179, 182, 182, 184, 177, 174, 156, 160, 141,
+  203, 131, 68, 52, 23, 23, 23, 23, 26, 43, 32, 55, 76, 35, 52, 41,
+  41, 26, 32, 35, 98, 112, 35, 76, 60, 20, 26, 43, 129, 38, 35, 35,
+  96, 86, 105, 35, 63, 74, 71, 71, 60, 127, 94, 131, 131, 127, 129, 164,
+  135, 179, 155, 145, 46, 52, 207, 86, 81, 216, 32, 18, 29, 32, 41, 57,
+  55, 46, 41, 41, 46, 29, 41, 49, 55, 60, 41, 52, 41, 23, 43, 66,
+  49, 71, 103, 114, 96, 60, 23, 35, 79, 89, 89, 89, 125, 125, 135, 125,
+  121, 127, 135, 129, 135, 127, 137, 131, 137, 131, 133, 137, 137, 141, 141, 147,
+  153, 153, 158, 164, 158, 162, 165, 167, 171, 179, 174, 182, 187, 184, 187, 197,
+  193, 197, 195, 201, 203, 203, 209, 207, 212, 213, 212, 218, 218, 218, 224, 225,
+  218, 81, 35, 26, 29, 52, 23, 41, 52, 20, 71, 177, 139, 143, 149, 155,
+  153, 156, 158, 155, 153, 153, 153, 158, 156, 151, 155, 149, 151, 155, 149, 143,
+  137, 147, 143, 137, 137, 137, 139, 133, 133, 139, 145, 147, 143, 135, 156, 201,
+  216, 224, 221, 218, 219, 219, 219, 216, 212, 197, 155, 103, 57, 57, 76, 96,
+  86, 81, 98, 86, 96, 105, 110, 119, 112, 96, 89, 91, 84, 101, 96, 103,
+  18, 29, 76, 121, 139, 167, 179, 179, 182, 172, 158, 137, 84, 20, 29, 76,
+  105, 139, 160, 169, 174, 181, 185, 182, 181, 184, 184, 176, 171, 165, 147, 137,
+  219, 112, 60, 101, 18, 15, 35, 23, 23, 46, 32, 84, 41, 41, 32, 71,
+  38, 38, 20, 35, 105, 112, 35, 55, 52, 26, 23, 20, 103, 81, 32, 26,
+  114, 52, 84, 98, 32, 101, 98, 86, 57, 94, 103, 129, 94, 112, 119, 149,
+  131, 181, 174, 123, 26, 20, 86, 153, 79, 219, 29, 15, 15, 18, 43, 49,
+  57, 55, 32, 38, 35, 26, 23, 32, 66, 60, 43, 43, 57, 26, 23, 41,
+  35, 86, 110, 123, 110, 71, 9, 15, 63, 98, 96, 110, 112, 123, 131, 127,
+  133, 127, 133, 129, 127, 131, 135, 137, 139, 137, 139, 133, 133, 137, 141, 147,
+  153, 153, 156, 158, 160, 165, 164, 167, 172, 171, 182, 179, 184, 181, 189, 190,
+  193, 197, 195, 203, 203, 206, 204, 209, 209, 213, 212, 215, 218, 219, 219, 227,
+  227, 192, 35, 18, 23, 49, 23, 32, 32, 15, 91, 171, 145, 147, 151, 158,
+  162, 151, 156, 153, 153, 153, 153, 147, 151, 155, 149, 147, 153, 147, 147, 145,
+  143, 153, 143, 145, 135, 143, 133, 133, 131, 135, 135, 141, 141, 139, 176, 206,
+  218, 222, 221, 218, 221, 218, 218, 215, 210, 189, 139, 76, 60, 68, 76, 91,
+  79, 89, 96, 86, 96, 108, 110, 108, 91, 84, 94, 89, 91, 96, 101, 98,
+  12, 20, 35, 76, 123, 164, 185, 184, 184, 176, 160, 145, 96, 18, 23, 66,
+  105, 139, 156, 169, 177, 182, 181, 179, 181, 185, 184, 182, 172, 167, 147, 129,
+  135, 162, 68, 129, 15, 15, 46, 32, 26, 35, 41, 84, 43, 26, 38, 41,
+  35, 35, 23, 35, 119, 123, 23, 41, 49, 29, 23, 15, 49, 98, 66, 18,
+  105, 60, 46, 105, 86, 74, 105, 110, 94, 55, 84, 127, 94, 119, 143, 112,
+  141, 158, 182, 129, 43, 12, 23, 149, 76, 227, 38, 41, 29, 20, 49, 60,
+  46, 63, 32, 35, 26, 26, 38, 41, 38, 91, 32, 41, 35, 29, 41, 41,
+  55, 94, 114, 112, 96, 71, 18, 20, 55, 103, 110, 101, 121, 125, 131, 121,
+  129, 125, 123, 129, 135, 139, 135, 129, 135, 137, 137, 147, 137, 143, 141, 149,
+  143, 147, 151, 156, 165, 164, 169, 171, 167, 172, 179, 181, 185, 182, 189, 187,
+  192, 198, 200, 200, 203, 203, 207, 209, 209, 212, 213, 215, 213, 218, 222, 227,
+  227, 222, 108, 26, 18, 29, 15, 41, 18, 12, 105, 158, 139, 145, 156, 162,
+  153, 155, 153, 153, 153, 151, 153, 151, 145, 149, 147, 145, 151, 147, 149, 147,
+  147, 149, 145, 143, 139, 135, 137, 129, 123, 135, 145, 156, 169, 171, 190, 206,
+  219, 222, 219, 222, 221, 216, 215, 215, 206, 171, 108, 66, 71, 76, 86, 76,
+  91, 89, 103, 105, 101, 112, 98, 98, 76, 79, 86, 98, 94, 101, 105, 108,
+  6, 9, 32, 46, 112, 160, 182, 182, 184, 176, 167, 139, 103, 15, 15, 52,
+  114, 139, 156, 165, 177, 184, 182, 179, 177, 179, 182, 185, 172, 167, 151, 135,
+  98, 212, 63, 52, 23, 26, 29, 20, 38, 43, 74, 41, 26, 29, 41, 35,
+  29, 35, 32, 29, 125, 123, 26, 35, 84, 52, 23, 12, 29, 26, 98, 89,
+  57, 71, 29, 79, 91, 86, 98, 127, 125, 119, 57, 94, 89, 110, 160, 129,
+  164, 165, 158, 52, 74, 12, 38, 145, 133, 225, 71, 12, 26, 20, 46, 63,
+  43, 71, 43, 26, 38, 29, 41, 41, 49, 60, 38, 43, 41, 26, 32, 32,
+  79, 84, 94, 110, 101, 86, 32, 18, 63, 94, 114, 114, 119, 119, 123, 119,
+  127, 131, 121, 119, 131, 129, 145, 135, 143, 135, 139, 133, 149, 147, 149, 149,
+  143, 149, 155, 155, 158, 167, 167, 162, 171, 174, 179, 177, 179, 184, 189, 185,
+  192, 197, 197, 200, 204, 203, 207, 207, 210, 212, 215, 213, 216, 219, 222, 221,
+  224, 227, 200, 26, 18, 26, 12, 29, 9, 18, 139, 158, 133, 149, 156, 156,
+  151, 153, 153, 155, 156, 153, 156, 155, 147, 153, 149, 147, 145, 141, 149, 149,
+  145, 141, 143, 141, 133, 139, 127, 127, 135, 137, 158, 171, 185, 195, 207, 213,
+  219, 221, 221, 219, 219, 219, 215, 212, 195, 153, 94, 68, 81, 91, 86, 79,
+  84, 96, 101, 108, 110, 114, 101, 84, 81, 86, 76, 98, 98, 103, 101, 96,
+  20, 20, 26, 43, 117, 164, 181, 185, 187, 184, 174, 153, 89, 12, 20, 46,
+  103, 143, 155, 167, 182, 182, 182, 184, 179, 182, 184, 181, 177, 167, 156, 133,
+  96, 127, 121, 29, 23, 29, 38, 26, 35, 52, 52, 49, 35, 41, 41, 43,
+  23, 35, 26, 43, 143, 125, 23, 32, 98, 41, 18, 23, 68, 26, 55, 94,
+  98, 98, 26, 74, 49, 112, 68, 123, 121, 114, 76, 79, 79, 91, 162, 176,
+  158, 169, 164, 49, 26, 81, 29, 114, 182, 219, 41, 12, 15, 12, 63, 46,
+  38, 86, 32, 32, 41, 20, 26, 43, 38, 60, 38, 32, 49, 57, 41, 38,
+  81, 103, 108, 94, 86, 81, 35, 41, 74, 89, 117, 114, 123, 119, 119, 112,
+  127, 123, 129, 129, 139, 133, 137, 131, 135, 137, 133, 139, 139, 149, 141, 139,
+  151, 149, 151, 155, 151, 160, 160, 162, 167, 169, 176, 176, 179, 187, 181, 189,
+  193, 193, 197, 198, 204, 203, 207, 209, 209, 215, 213, 218, 215, 216, 218, 222,
+  224, 225, 224, 98, 18, 23, 18, 20, 9, 18, 156, 155, 137, 147, 162, 156,
+  153, 149, 160, 156, 153, 156, 158, 149, 149, 149, 155, 151, 141, 147, 141, 147,
+  145, 137, 141, 141, 135, 129, 129, 125, 131, 160, 177, 190, 198, 204, 210, 216,
+  222, 224, 222, 221, 222, 215, 218, 206, 182, 127, 81, 86, 84, 94, 86, 81,
+  94, 94, 103, 110, 110, 108, 98, 86, 81, 94, 94, 110, 103, 98, 91, 105,
+  12, 20, 26, 41, 101, 160, 177, 187, 189, 187, 174, 147, 79, 20, 15, 57,
+  108, 141, 156, 164, 177, 187, 185, 184, 181, 182, 184, 179, 177, 169, 156, 143,
+  110, 103, 190, 32, 38, 35, 35, 35, 52, 60, 32, 43, 32, 32, 43, 35,
+  32, 41, 18, 76, 164, 117, 18, 20, 68, 63, 12, 20, 49, 12, 49, 43,
+  43, 74, 26, 79, 49, 89, 86, 110, 108, 105, 66, 98, 68, 103, 158, 160,
+  162, 133, 182, 108, 15, 63, 20, 108, 200, 207, 32, 15, 26, 18, 71, 71,
+  43, 105, 38, 43, 43, 41, 20, 29, 52, 46, 29, 20, 43, 26, 49, 55,
+  89, 108, 89, 89, 101, 91, 29, 32, 76, 76, 108, 114, 131, 129, 125, 119,
+  127, 129, 133, 135, 131, 131, 133, 129, 135, 137, 139, 135, 139, 137, 143, 145,
+  147, 153, 153, 158, 155, 156, 162, 164, 165, 165, 181, 176, 184, 181, 182, 192,
+  189, 193, 195, 197, 200, 206, 207, 209, 209, 213, 212, 215, 216, 218, 219, 222,
+  224, 225, 225, 189, 12, 12, 9, 18, 6, 26, 155, 160, 153, 155, 158, 160,
+  160, 164, 149, 156, 155, 155, 155, 151, 153, 153, 145, 147, 147, 145, 147, 145,
+  143, 141, 137, 141, 133, 129, 129, 127, 155, 181, 195, 204, 201, 209, 213, 219,
+  221, 221, 222, 219, 219, 215, 210, 197, 156, 96, 86, 89, 84, 89, 86, 96,
+  103, 103, 108, 110, 110, 96, 81, 76, 79, 86, 91, 108, 105, 89, 105, 96,
+  12, 12, 32, 57, 101, 155, 171, 185, 187, 182, 169, 143, 79, 9, 9, 43,
+  103, 143, 155, 171, 179, 182, 181, 179, 182, 187, 189, 185, 177, 167, 156, 135,
+  151, 135, 114, 41, 41, 32, 20, 35, 60, 32, 35, 41, 23, 18, 26, 41,
+  35, 38, 38, 112, 162, 103, 15, 18, 57, 74, 23, 38, 57, 38, 55, 49,
+  18, 35, 57, 41, 86, 63, 117, 94, 129, 94, 94, 84, 52, 105, 153, 158,
+  114, 143, 174, 125, 41, 35, 20, 84, 200, 172, 29, 12, 20, 23, 86, 81,
+  46, 81, 26, 43, 38, 43, 35, 32, 60, 55, 41, 23, 26, 46, 29, 76,
+  84, 79, 86, 112, 117, 89, 35, 32, 101, 89, 108, 121, 123, 121, 117, 121,
+  131, 129, 129, 133, 131, 135, 125, 129, 129, 135, 129, 131, 143, 151, 145, 145,
+  143, 147, 149, 155, 151, 153, 160, 164, 167, 171, 174, 177, 172, 181, 185, 187,
+  187, 192, 197, 198, 200, 203, 203, 204, 210, 212, 212, 215, 218, 216, 218, 221,
+  222, 225, 227, 221, 55, 15, 12, 12, 9, 35, 151, 156, 149, 147, 158, 153,
+  156, 162, 156, 158, 151, 153, 151, 149, 151, 151, 149, 149, 141, 141, 143, 141,
+  141, 143, 135, 135, 127, 137, 123, 141, 184, 203, 209, 209, 209, 210, 213, 221,
+  225, 224, 222, 221, 219, 213, 206, 177, 137, 86, 81, 86, 81, 91, 84, 96,
+  101, 108, 105, 117, 108, 86, 89, 84, 89, 94, 91, 105, 101, 96, 121, 114,
+  12, 12, 6, 29, 94, 151, 167, 179, 182, 185, 172, 149, 94, 15, 15, 43,
+  101, 133, 155, 169, 181, 185, 181, 185, 184, 182, 185, 184, 184, 172, 153, 135,
+  160, 117, 123, 26, 49, 32, 23, 60, 38, 32, 29, 41, 35, 23, 49, 20,
+  20, 23, 46, 137, 151, 84, 18, 35, 26, 63, 26, 52, 46, 41, 43, 52,
+  29, 35, 35, 29, 74, 38, 112, 101, 125, 103, 81, 91, 35, 103, 167, 143,
+  114, 171, 174, 137, 127, 38, 29, 108, 189, 86, 117, 23, 26, 20, 76, 68,
+  57, 68, 38, 43, 23, 35, 35, 29, 43, 41, 49, 38, 32, 49, 35, 66,
+  84, 96, 112, 114, 114, 91, 20, 23, 91, 101, 103, 125, 127, 125, 125, 129,
+  131, 127, 129, 133, 129, 131, 133, 125, 129, 127, 127, 135, 141, 141, 139, 145,
+  139, 147, 149, 151, 156, 153, 160, 162, 164, 169, 167, 172, 177, 181, 181, 181,
+  189, 195, 193, 193, 200, 203, 203, 207, 210, 212, 212, 215, 216, 216, 218, 219,
+  219, 224, 224, 227, 167, 23, 12, 6, 6, 43, 153, 143, 143, 158, 160, 158,
+  158, 158, 156, 156, 158, 158, 151, 153, 147, 149, 149, 143, 145, 139, 145, 143,
+  135, 137, 139, 139, 139, 125, 125, 164, 201, 213, 219, 216, 210, 210, 213, 219,
+  225, 222, 222, 221, 219, 210, 195, 158, 110, 86, 86, 86, 81, 79, 96, 94,
+  101, 110, 105, 110, 98, 91, 84, 84, 94, 103, 101, 105, 101, 91, 105, 103,
+  9, 18, 12, 23, 89, 145, 167, 179, 187, 185, 176, 153, 89, 12, 15, 35,
+  103, 131, 158, 171, 179, 182, 185, 185, 182, 187, 190, 181, 174, 169, 153, 135,
+  143, 141, 29, 20, 43, 20, 38, 49, 29, 20, 23, 29, 20, 15, 32, 20,
+  20, 20, 125, 143, 149, 105, 20, 18, 23, 43, 46, 63, 38, 46, 18, 35,
+  29, 43, 29, 35, 68, 41, 103, 76, 149, 127, 49, 49, 43, 74, 176, 151,
+  149, 171, 108, 57, 167, 121, 112, 182, 164, 84, 209, 60, 20, 29, 68, 63,
+  55, 43, 41, 49, 35, 52, 35, 32, 38, 35, 38, 46, 49, 41, 60, 84,
+  105, 110, 114, 129, 108, 94, 20, 35, 76, 98, 105, 125, 123, 127, 131, 131,
+  129, 131, 135, 127, 127, 131, 129, 133, 133, 127, 129, 135, 137, 141, 143, 141,
+  143, 145, 149, 151, 153, 155, 160, 165, 164, 167, 167, 165, 176, 179, 182, 185,
+  185, 193, 193, 195, 198, 201, 204, 207, 209, 210, 215, 216, 213, 219, 218, 221,
+  219, 221, 227, 227, 209, 15, 6, 6, 6, 74, 147, 145, 139, 171, 158, 160,
+  155, 153, 156, 151, 160, 149, 153, 153, 145, 147, 147, 151, 145, 143, 141, 141,
+  135, 135, 139, 127, 135, 125, 131, 182, 212, 219, 222, 222, 216, 212, 215, 221,
+  224, 222, 224, 221, 216, 206, 184, 137, 98, 86, 84, 84, 79, 89, 86, 103,
+  105, 105, 110, 110, 91, 81, 79, 79, 96, 101, 110, 108, 101, 103, 101, 101,
+  9, 15, 9, 23, 71, 135, 167, 181, 187, 184, 174, 156, 98, 15, 12, 32,
+  105, 135, 158, 167, 182, 184, 184, 184, 182, 184, 187, 187, 177, 167, 158, 137,
+  123, 129, 32, 29, 35, 46, 55, 20, 26, 18, 23, 23, 29, 38, 32, 23,
+  26, 81, 156, 76, 127, 55, 15, 23, 29, 29, 49, 74, 18, 49, 9, 20,
+  32, 43, 46, 23, 57, 55, 41, 41, 119, 147, 60, 60, 84, 101, 153, 155,
+  158, 169, 165, 63, 149, 55, 121, 181, 172, 165, 190, 32, 32, 32, 68, 38,
+  46, 29, 60, 46, 43, 66, 29, 41, 35, 29, 43, 55, 57, 43, 74, 105,
+  114, 117, 117, 112, 117, 79, 26, 68, 91, 105, 110, 114, 127, 119, 133, 135,
+  137, 125, 133, 131, 131, 129, 129, 133, 131, 129, 131, 131, 133, 137, 139, 141,
+  143, 143, 147, 149, 156, 158, 160, 162, 165, 171, 164, 167, 179, 181, 174, 187,
+  187, 192, 193, 195, 198, 200, 201, 206, 209, 213, 212, 215, 213, 218, 216, 219,
+  219, 221, 222, 227, 222, 71, 15, 6, 9, 89, 139, 145, 145, 169, 153, 160,
+  155, 156, 145, 151, 155, 153, 151, 153, 147, 147, 149, 149, 141, 139, 149, 137,
+  141, 135, 131, 133, 123, 123, 133, 193, 216, 224, 225, 222, 216, 216, 219, 222,
+  224, 224, 224, 219, 213, 197, 162, 119, 91, 86, 84, 86, 68, 96, 84, 105,
+  110, 114, 108, 96, 94, 86, 81, 94, 108, 101, 103, 105, 110, 98, 112, 81,
+  6, 9, 6, 26, 71, 133, 169, 184, 192, 189, 172, 156, 110, 23, 15, 35,
+  96, 137, 151, 172, 181, 179, 181, 177, 184, 182, 182, 185, 177, 171, 155, 139,
+  123, 119, 41, 38, 63, 38, 38, 26, 35, 57, 26, 23, 32, 26, 18, 26,
+  98, 133, 60, 57, 117, 55, 35, 29, 23, 41, 66, 66, 20, 41, 20, 35,
+  32, 46, 49, 18, 35, 68, 35, 55, 135, 125, 117, 81, 114, 101, 149, 147,
+  164, 143, 155, 149, 141, 131, 203, 179, 57, 23, 23, 20, 74, 46, 71, 32,
+  49, 43, 43, 32, 35, 46, 32, 57, 35, 35, 32, 38, 71, 63, 76, 114,
+  114, 119, 117, 108, 108, 84, 23, 79, 86, 98, 112, 114, 121, 125, 129, 131,
+  131, 131, 131, 129, 133, 135, 133, 133, 137, 141, 135, 129, 139, 139, 143, 141,
+  143, 143, 147, 149, 156, 153, 158, 160, 160, 162, 164, 167, 169, 177, 177, 185,
+  189, 187, 192, 197, 203, 203, 203, 206, 209, 212, 212, 212, 212, 213, 215, 216,
+  221, 218, 221, 224, 224, 164, 9, 6, 18, 121, 131, 145, 151, 167, 155, 153,
+  156, 153, 155, 149, 155, 151, 143, 149, 147, 149, 151, 145, 147, 145, 141, 141,
+  139, 139, 131, 133, 123, 123, 145, 201, 218, 222, 222, 221, 213, 215, 221, 222,
+  222, 221, 219, 215, 206, 184, 147, 108, 98, 96, 94, 86, 81, 89, 96, 101,
+  114, 110, 101, 91, 81, 86, 89, 103, 101, 108, 108, 108, 91, 103, 84, 91,
+  9, 15, 6, 20, 79, 139, 165, 181, 190, 184, 174, 158, 121, 20, 12, 26,
+  91, 135, 162, 171, 182, 182, 181, 182, 181, 184, 184, 184, 177, 165, 156, 145,
+  117, 110, 57, 49, 63, 26, 26, 26, 32, 29, 29, 29, 32, 29, 46, 49,
+  94, 32, 23, 98, 84, 86, 43, 35, 41, 35, 84, 63, 35, 26, 35, 29,
+  23, 43, 74, 18, 29, 101, 32, 38, 79, 81, 123, 139, 141, 121, 143, 156,
+  160, 74, 84, 141, 145, 172, 195, 147, 89, 29, 26, 94, 35, 60, 46, 35,
+  74, 23, 49, 52, 46, 46, 20, 52, 32, 35, 32, 32, 55, 71, 91, 112,
+  117, 112, 117, 121, 110, 57, 20, 81, 81, 96, 110, 121, 119, 125, 119, 125,
+  135, 133, 133, 141, 127, 127, 137, 133, 133, 129, 131, 131, 129, 133, 139, 131,
+  141, 143, 141, 143, 151, 151, 160, 158, 160, 164, 164, 169, 174, 174, 179, 182,
+  182, 185, 195, 197, 198, 201, 201, 203, 207, 213, 212, 213, 212, 215, 216, 216,
+  218, 219, 221, 222, 225, 204, 3, 9, 9, 125, 131, 137, 156, 153, 160, 153,
+  158, 158, 153, 156, 151, 145, 155, 151, 145, 149, 151, 149, 147, 147, 143, 141,
+  141, 135, 137, 129, 127, 133, 153, 204, 218, 222, 221, 215, 212, 215, 219, 224,
+  224, 224, 219, 212, 195, 162, 137, 108, 98, 98, 103, 94, 96, 91, 89, 112,
+  112, 112, 101, 105, 94, 84, 86, 91, 101, 96, 103, 98, 89, 94, 84, 79,
+  12, 15, 15, 20, 57, 141, 165, 181, 187, 184, 176, 160, 127, 41, 12, 43,
+  94, 129, 153, 174, 177, 177, 174, 174, 176, 174, 174, 176, 172, 164, 153, 139,
+  129, 133, 66, 26, 49, 29, 35, 35, 20, 23, 41, 38, 32, 49, 98, 49,
+  41, 20, 49, 105, 74, 96, 46, 49, 18, 43, 84, 60, 43, 26, 32, 18,
+  29, 55, 35, 35, 32, 98, 55, 32, 29, 41, 63, 129, 155, 139, 139, 145,
+  135, 112, 81, 108, 123, 169, 129, 182, 193, 153, 119, 119, 41, 79, 41, 35,
+  52, 38, 43, 84, 38, 43, 29, 46, 35, 35, 29, 52, 49, 71, 94, 112,
+  121, 110, 114, 117, 119, 38, 26, 76, 94, 105, 117, 119, 127, 125, 123, 125,
+  133, 131, 141, 139, 137, 127, 133, 127, 121, 127, 127, 131, 135, 137, 137, 141,
+  139, 141, 141, 143, 145, 153, 151, 158, 164, 158, 162, 165, 169, 174, 176, 172,
+  181, 190, 195, 200, 198, 200, 203, 204, 207, 210, 209, 212, 213, 215, 215, 216,
+  219, 219, 219, 221, 224, 218, 52, 6, 12, 133, 147, 143, 153, 160, 167, 155,
+  149, 155, 149, 149, 151, 145, 158, 151, 149, 149, 149, 149, 149, 141, 149, 135,
+  137, 141, 127, 131, 125, 133, 158, 209, 219, 222, 218, 213, 210, 213, 221, 224,
+  222, 221, 216, 209, 181, 145, 117, 112, 112, 96, 89, 91, 86, 98, 91, 105,
+  110, 112, 96, 84, 79, 84, 96, 103, 98, 108, 91, 94, 101, 86, 81, 74,
+  9, 6, 18, 15, 60, 119, 164, 182, 185, 185, 177, 160, 129, 35, 9, 35,
+  86, 129, 155, 171, 177, 182, 177, 177, 176, 177, 181, 181, 174, 164, 155, 133,
+  137, 153, 49, 76, 35, 23, 29, 23, 26, 26, 29, 35, 26, 46, 68, 23,
+  35, 35, 38, 98, 91, 86, 46, 43, 38, 52, 23, 43, 46, 46, 29, 32,
+  38, 32, 71, 46, 63, 105, 35, 43, 15, 26, 57, 127, 156, 149, 141, 156,
+  133, 101, 121, 18, 20, 43, 89, 52, 84, 66, 149, 151, 149, 141, 117, 110,
+  103, 91, 105, 46, 46, 26, 26, 46, 32, 29, 26, 57, 66, 79, 103, 117,
+  112, 114, 121, 114, 117, 63, 32, 76, 105, 110, 112, 117, 127, 129, 125, 119,
+  125, 133, 139, 133, 129, 137, 131, 131, 121, 127, 129, 131, 135, 139, 141, 137,
+  137, 137, 145, 153, 147, 155, 156, 156, 158, 164, 162, 165, 169, 174, 171, 176,
+  189, 192, 189, 197, 197, 200, 201, 204, 204, 209, 212, 210, 209, 215, 216, 216,
+  218, 219, 221, 222, 221, 222, 125, 9, 12, 133, 145, 145, 149, 158, 162, 155,
+  153, 151, 149, 151, 155, 149, 145, 151, 149, 147, 153, 149, 155, 149, 147, 137,
+  131, 127, 131, 135, 131, 131, 169, 210, 218, 221, 216, 213, 210, 215, 221, 224,
+  224, 219, 216, 198, 162, 127, 114, 114, 112, 101, 94, 96, 89, 89, 101, 110,
+  105, 105, 79, 79, 81, 91, 86, 108, 103, 96, 96, 89, 94, 79, 96, 91,
+  12, 9, 9, 20, 66, 119, 165, 176, 190, 189, 181, 167, 131, 43, 23, 41,
+  94, 129, 156, 167, 177, 177, 185, 181, 182, 182, 185, 179, 181, 171, 155, 137,
+  153, 108, 46, 60, 29, 41, 20, 55, 29, 38, 41, 35, 29, 35, 38, 41,
+  55, 43, 32, 76, 86, 68, 38, 41, 63, 35, 20, 32, 55, 46, 35, 26,
+  18, 46, 52, 23, 86, 112, 20, 71, 12, 49, 57, 103, 151, 86, 155, 117,
+  114, 145, 105, 76, 12, 23, 135, 18, 29, 76, 18, 15, 74, 96, 57, 129,
+  182, 119, 108, 49, 60, 41, 57, 41, 23, 41, 41, 60, 74, 84, 105, 117,
+  112, 123, 119, 123, 110, 60, 43, 79, 101, 108, 127, 117, 127, 131, 129, 127,
+  135, 131, 137, 133, 133, 127, 129, 131, 129, 127, 129, 131, 131, 125, 137, 139,
+  141, 139, 145, 141, 147, 153, 153, 153, 158, 156, 158, 164, 169, 176, 171, 176,
+  187, 187, 189, 192, 195, 198, 200, 203, 203, 207, 210, 210, 212, 215, 213, 215,
+  216, 218, 218, 221, 221, 224, 189, 6, 26, 137, 145, 147, 149, 156, 156, 164,
+  155, 153, 149, 153, 151, 145, 149, 145, 145, 151, 151, 149, 145, 149, 143, 133,
+  133, 139, 141, 139, 129, 131, 177, 207, 218, 224, 216, 210, 210, 213, 222, 225,
+  224, 216, 207, 189, 143, 117, 105, 110, 110, 98, 98, 81, 86, 98, 101, 108,
+  101, 98, 84, 79, 71, 91, 101, 105, 105, 86, 91, 96, 81, 81, 94, 89,
+  9, 12, 18, 18, 29, 105, 158, 174, 187, 187, 187, 169, 125, 63, 18, 60,
+  86, 135, 153, 169, 174, 182, 177, 184, 184, 184, 185, 182, 181, 171, 158, 137,
+  158, 108, 38, 26, 29, 41, 32, 32, 32, 32, 38, 32, 32, 46, 38, 60,
+  41, 35, 49, 66, 68, 46, 38, 43, 55, 32, 38, 43, 66, 26, 20, 20,
+  18, 52, 23, 26, 94, 105, 18, 32, 86, 57, 84, 101, 133, 101, 143, 143,
+  105, 133, 133, 153, 23, 26, 135, 18, 18, 63, 15, 20, 55, 49, 46, 71,
+  79, 43, 108, 137, 57, 43, 41, 43, 23, 23, 66, 63, 76, 96, 112, 112,
+  123, 121, 125, 129, 96, 43, 66, 94, 94, 121, 127, 125, 129, 121, 133, 133,
+  131, 133, 127, 135, 139, 137, 141, 129, 123, 125, 127, 133, 135, 131, 135, 135,
+  135, 133, 145, 141, 147, 149, 147, 160, 160, 158, 158, 167, 165, 172, 176, 177,
+  179, 181, 189, 192, 198, 198, 198, 201, 204, 207, 210, 215, 212, 212, 215, 213,
+  216, 218, 218, 218, 219, 221, 212, 12, 29, 129, 149, 141, 147, 156, 156, 167,
+  151, 151, 151, 153, 149, 153, 145, 147, 145, 147, 151, 149, 145, 147, 143, 137,
+  141, 133, 135, 135, 131, 133, 172, 200, 215, 221, 213, 209, 207, 216, 224, 225,
+  221, 215, 204, 176, 129, 117, 119, 110, 110, 98, 101, 89, 74, 94, 98, 101,
+  91, 79, 81, 76, 86, 96, 105, 105, 98, 94, 101, 94, 89, 81, 96, 96,
+  20, 12, 20, 23, 32, 114, 153, 169, 182, 185, 182, 169, 131, 35, 29, 57,
+  91, 129, 153, 169, 177, 181, 184, 184, 182, 182, 185, 181, 181, 167, 155, 133,
+  171, 108, 32, 43, 38, 41, 23, 38, 26, 29, 46, 20, 35, 38, 71, 63,
+  35, 41, 38, 57, 57, 52, 43, 60, 26, 29, 26, 46, 74, 29, 23, 32,
+  26, 74, 20, 49, 98, 57, 96, 20, 94, 84, 79, 123, 117, 129, 137, 114,
+  101, 125, 131, 156, 110, 26, 119, 23, 32, 20, 23, 52, 46, 57, 29, 71,
+  26, 55, 52, 71, 60, 41, 32, 18, 23, 41, 60, 76, 86, 94, 112, 123,
+  117, 127, 127, 123, 74, 38, 74, 101, 98, 121, 125, 127, 127, 131, 131, 131,
+  131, 135, 137, 137, 141, 137, 129, 123, 127, 129, 127, 137, 129, 133, 135, 135,
+  137, 137, 143, 143, 139, 153, 151, 149, 160, 158, 158, 164, 167, 172, 171, 172,
+  181, 181, 184, 192, 192, 200, 197, 200, 206, 204, 206, 210, 212, 212, 213, 215,
+  213, 218, 218, 216, 218, 221, 219, 52, 41, 121, 153, 151, 156, 165, 160, 153,
+  156, 151, 151, 149, 160, 149, 155, 151, 151, 147, 151, 147, 143, 149, 145, 141,
+  133, 139, 143, 137, 137, 131, 156, 189, 209, 212, 210, 209, 206, 216, 225, 225,
+  221, 212, 200, 167, 117, 114, 114, 108, 105, 108, 101, 81, 89, 91, 101, 86,
+  89, 63, 79, 101, 98, 103, 96, 96, 91, 89, 101, 91, 86, 94, 91, 96,
+  12, 15, 12, 9, 38, 98, 151, 167, 182, 185, 177, 169, 133, 71, 29, 41,
+  79, 123, 151, 169, 172, 184, 182, 182, 181, 182, 185, 185, 182, 171, 151, 151,
+  162, 123, 41, 41, 23, 46, 35, 29, 18, 32, 52, 23, 52, 76, 66, 49,
+  32, 41, 29, 66, 49, 41, 63, 43, 38, 41, 38, 35, 57, 43, 18, 29,
+  26, 66, 26, 81, 84, 49, 105, 79, 32, 101, 110, 68, 86, 101, 158, 125,
+  103, 49, 110, 141, 162, 74, 94, 46, 38, 15, 26, 66, 55, 26, 15, 68,
+  63, 32, 41, 38, 43, 41, 29, 20, 29, 35, 68, 71, 98, 89, 110, 105,
+  125, 123, 121, 119, 63, 26, 71, 94, 108, 125, 127, 123, 131, 135, 133, 133,
+  131, 131, 139, 137, 137, 131, 133, 133, 131, 133, 125, 129, 139, 135, 129, 137,
+  137, 135, 145, 143, 147, 141, 147, 155, 158, 158, 160, 164, 164, 171, 171, 172,
+  174, 177, 190, 187, 193, 197, 201, 200, 206, 207, 207, 207, 209, 210, 212, 216,
+  216, 218, 218, 218, 218, 219, 221, 153, 68, 119, 151, 149, 149, 162, 160, 153,
+  151, 151, 151, 153, 147, 153, 155, 155, 151, 153, 149, 149, 149, 151, 151, 141,
+  139, 141, 143, 141, 137, 137, 139, 162, 193, 198, 200, 201, 209, 218, 225, 224,
+  218, 213, 198, 156, 123, 110, 103, 110, 101, 98, 81, 86, 79, 98, 96, 81,
+  55, 63, 86, 101, 101, 101, 103, 103, 89, 91, 91, 81, 98, 103, 94, 96,
+  29, 23, 23, 18, 32, 89, 143, 169, 184, 182, 184, 167, 137, 86, 35, 52,
+  81, 131, 151, 167, 176, 181, 181, 181, 177, 182, 181, 187, 174, 167, 156, 135,
+  165, 131, 41, 84, 43, 52, 23, 35, 29, 32, 32, 68, 103, 68, 35, 41,
+  26, 29, 49, 63, 55, 46, 43, 32, 52, 43, 49, 32, 49, 110, 26, 35,
+  41, 52, 43, 91, 52, 46, 74, 123, 23, 20, 149, 165, 143, 158, 96, 141,
+  114, 91, 60, 125, 117, 143, 112, 49, 143, 23, 26, 49, 41, 49, 32, 46,
+  60, 41, 32, 41, 41, 38, 15, 26, 43, 63, 79, 79, 103, 101, 110, 117,
+  119, 114, 119, 112, 55, 49, 84, 96, 114, 123, 125, 125, 133, 135, 141, 133,
+  133, 137, 133, 129, 131, 135, 129, 131, 131, 127, 133, 135, 127, 133, 133, 135,
+  137, 141, 143, 145, 147, 153, 153, 153, 155, 156, 156, 162, 160, 165, 167, 171,
+  177, 176, 181, 182, 193, 190, 200, 198, 201, 204, 203, 210, 209, 212, 210, 216,
+  215, 218, 218, 216, 218, 218, 219, 201, 81, 131, 149, 151, 131, 147, 153, 155,
+  149, 153, 153, 162, 156, 155, 155, 153, 156, 149, 151, 151, 153, 147, 145, 141,
+  145, 143, 141, 141, 143, 141, 145, 143, 158, 172, 181, 187, 209, 221, 230, 222,
+  218, 207, 189, 141, 117, 103, 101, 96, 103, 91, 76, 86, 96, 91, 89, 84,
+  68, 74, 94, 112, 105, 94, 98, 84, 81, 98, 94, 94, 84, 98, 108, 89,
+  26, 18, 15, 9, 18, 79, 139, 172, 179, 185, 181, 169, 149, 98, 46, 55,
+  81, 133, 151, 165, 174, 177, 179, 181, 182, 176, 184, 184, 174, 165, 153, 141,
+  167, 133, 49, 96, 46, 38, 23, 26, 26, 76, 91, 76, 63, 32, 38, 29,
+  23, 26, 60, 38, 68, 32, 32, 41, 63, 60, 74, 41, 29, 68, 38, 52,
+  29, 29, 101, 49, 35, 41, 43, 114, 94, 15, 32, 114, 89, 153, 123, 145,
+  86, 49, 55, 101, 137, 171, 131, 123, 187, 18, 43, 29, 35, 32, 32, 43,
+  26, 32, 35, 29, 23, 35, 29, 26, 38, 60, 81, 86, 101, 110, 114, 121,
+  114, 114, 117, 89, 35, 52, 89, 110, 114, 127, 129, 129, 131, 139, 137, 127,
+  139, 141, 141, 135, 133, 133, 133, 131, 133, 125, 133, 127, 125, 131, 125, 133,
+  141, 133, 139, 147, 143, 153, 143, 153, 155, 156, 156, 164, 160, 169, 165, 169,
+  172, 177, 181, 189, 190, 192, 197, 197, 201, 204, 206, 206, 209, 212, 212, 213,
+  216, 216, 215, 216, 216, 218, 219, 210, 101, 139, 149, 143, 119, 125, 137, 137,
+  141, 141, 147, 149, 158, 158, 156, 153, 153, 158, 155, 155, 156, 153, 145, 145,
+  153, 139, 145, 147, 153, 141, 141, 145, 133, 145, 151, 182, 210, 224, 227, 222,
+  216, 206, 177, 135, 112, 103, 101, 91, 84, 76, 81, 84, 86, 94, 76, 66,
+  71, 76, 101, 108, 103, 94, 91, 84, 84, 86, 91, 98, 94, 98, 91, 76,
+  20, 18, 9, 32, 23, 66, 127, 167, 179, 177, 182, 171, 143, 108, 32, 46,
+  74, 125, 147, 165, 177, 181, 177, 179, 181, 181, 182, 184, 174, 167, 153, 131,
+  149, 149, 43, 91, 35, 41, 26, 29, 41, 52, 49, 41, 52, 32, 26, 43,
+  29, 41, 60, 41, 68, 43, 38, 55, 55, 43, 43, 55, 35, 63, 60, 29,
+  20, 57, 123, 41, 23, 26, 41, 117, 98, 63, 26, 35, 32, 46, 105, 167,
+  119, 49, 32, 52, 71, 133, 193, 197, 119, 29, 32, 49, 29, 29, 52, 46,
+  38, 35, 43, 20, 26, 29, 18, 23, 49, 68, 74, 103, 101, 110, 117, 121,
+  114, 117, 114, 71, 26, 79, 76, 110, 123, 129, 125, 127, 135, 135, 135, 137,
+  133, 137, 149, 141, 127, 129, 135, 133, 139, 131, 129, 127, 129, 137, 131, 133,
+  139, 135, 139, 145, 145, 147, 147, 151, 155, 155, 158, 160, 160, 160, 162, 165,
+  167, 179, 179, 185, 189, 192, 195, 200, 200, 203, 206, 207, 207, 212, 215, 215,
+  213, 215, 216, 218, 218, 218, 219, 221, 153, 145, 143, 123, 98, 114, 108, 117,
+  123, 135, 135, 141, 145, 149, 153, 155, 156, 155, 155, 149, 156, 153, 147, 153,
+  145, 153, 153, 149, 149, 149, 145, 147, 137, 137, 149, 192, 213, 227, 227, 222,
+  215, 200, 167, 129, 105, 108, 103, 103, 81, 66, 81, 96, 98, 76, 79, 63,
+  76, 86, 101, 105, 98, 91, 94, 74, 94, 81, 94, 94, 89, 101, 94, 63,
+  23, 20, 20, 15, 18, 74, 143, 167, 177, 181, 172, 165, 149, 103, 57, 43,
+  71, 119, 145, 162, 171, 177, 179, 182, 179, 179, 181, 181, 179, 165, 155, 135,
+  135, 153, 43, 91, 29, 41, 26, 23, 29, 29, 26, 41, 35, 26, 29, 57,
+  26, 55, 41, 60, 49, 46, 49, 76, 63, 32, 41, 32, 57, 46, 29, 20,
+  23, 68, 81, 38, 38, 26, 66, 135, 131, 63, 98, 26, 55, 23, 15, 103,
+  165, 35, 46, 89, 63, 57, 143, 143, 18, 35, 29, 38, 18, 23, 55, 38,
+  38, 23, 32, 26, 32, 32, 26, 29, 60, 71, 96, 101, 101, 108, 110, 125,
+  117, 123, 98, 49, 32, 86, 101, 119, 125, 137, 133, 127, 133, 131, 131, 131,
+  137, 141, 135, 141, 137, 137, 135, 135, 135, 133, 131, 131, 129, 133, 135, 135,
+  141, 145, 137, 139, 145, 145, 141, 149, 151, 149, 151, 156, 158, 162, 165, 165,
+  174, 177, 176, 189, 184, 190, 195, 197, 201, 203, 206, 209, 209, 209, 212, 213,
+  215, 218, 216, 219, 218, 216, 219, 222, 195, 139, 114, 108, 68, 98, 86, 94,
+  103, 105, 112, 125, 133, 137, 139, 149, 145, 149, 151, 151, 149, 155, 153, 151,
+  145, 149, 158, 151, 153, 153, 149, 143, 139, 139, 153, 200, 215, 227, 227, 221,
+  210, 190, 153, 112, 103, 103, 89, 86, 76, 84, 89, 94, 91, 68, 74, 74,
+  81, 101, 103, 98, 96, 96, 84, 79, 86, 96, 103, 96, 98, 89, 74, 35,
+  18, 23, 15, 15, 23, 63, 125, 162, 177, 190, 184, 177, 153, 96, 46, 49,
+  81, 127, 149, 165, 179, 177, 181, 181, 177, 182, 182, 184, 181, 164, 158, 135,
+  119, 141, 63, 98, 46, 20, 26, 38, 38, 38, 41, 46, 35, 26, 29, 32,
+  41, 68, 38, 71, 43, 32, 52, 81, 71, 32, 26, 23, 35, 46, 29, 20,
+  18, 81, 29, 38, 57, 35, 49, 133, 131, 149, 41, 74, 29, 12, 32, 57,
+  103, 63, 20, 94, 137, 89, 86, 139, 12, 32, 49, 35, 46, 38, 23, 38,
+  35, 26, 23, 18, 18, 35, 49, 60, 55, 74, 98, 103, 112, 105, 114, 121,
+  117, 117, 74, 38, 43, 84, 103, 135, 125, 131, 127, 125, 135, 137, 135, 139,
+  141, 139, 141, 145, 141, 133, 135, 137, 131, 131, 135, 139, 137, 129, 133, 127,
+  135, 137, 147, 143, 149, 147, 145, 151, 156, 156, 156, 155, 162, 167, 162, 165,
+  171, 172, 177, 179, 187, 189, 195, 193, 197, 201, 203, 206, 207, 212, 212, 215,
+  213, 219, 218, 221, 218, 218, 218, 224, 216, 131, 81, 71, 60, 68, 68, 76,
+  81, 101, 98, 103, 108, 119, 123, 127, 129, 133, 141, 143, 145, 149, 149, 155,
+  156, 151, 164, 164, 151, 145, 141, 137, 137, 145, 172, 207, 219, 225, 225, 215,
+  207, 182, 139, 112, 98, 96, 74, 66, 63, 81, 98, 91, 74, 52, 63, 68,
+  94, 96, 94, 91, 96, 91, 94, 94, 96, 103, 101, 94, 81, 76, 52, 57,
+  20, 20, 15, 15, 20, 49, 114, 167, 187, 190, 187, 182, 160, 114, 55, 38,
+  68, 117, 139, 162, 172, 174, 181, 177, 181, 182, 182, 187, 177, 174, 162, 145,
+  121, 110, 71, 76, 79, 26, 20, 38, 46, 38, 26, 26, 32, 32, 32, 55,
+  63, 41, 52, 60, 35, 38, 49, 46, 86, 41, 35, 29, 23, 18, 41, 26,
+  23, 52, 46, 46, 63, 101, 98, 84, 145, 164, 84, 29, 60, 68, 23, 60,
+  52, 29, 46, 84, 79, 89, 105, 81, 18, 29, 29, 26, 20, 38, 41, 38,
+  26, 18, 35, 15, 32, 29, 66, 60, 68, 81, 103, 105, 114, 103, 110, 121,
+  117, 103, 20, 32, 74, 84, 121, 125, 125, 127, 129, 127, 133, 137, 135, 139,
+  141, 143, 133, 133, 131, 137, 141, 133, 139, 137, 129, 125, 133, 129, 129, 133,
+  137, 131, 137, 145, 141, 143, 151, 151, 153, 147, 153, 156, 160, 160, 162, 169,
+  171, 174, 174, 182, 177, 187, 195, 195, 200, 197, 200, 207, 209, 212, 213, 215,
+  215, 216, 215, 218, 216, 221, 219, 224, 222, 135, 63, 71, 63, 79, 52, 60,
+  68, 68, 89, 81, 84, 94, 96, 112, 108, 114, 125, 125, 137, 133, 143, 143,
+  153, 160, 169, 165, 158, 155, 129, 131, 137, 151, 190, 213, 222, 225, 221, 215,
+  195, 158, 127, 103, 89, 76, 68, 74, 74, 101, 96, 81, 60, 57, 74, 94,
+  101, 94, 94, 98, 89, 84, 86, 89, 101, 110, 98, 94, 94, 71, 41, 46,
+  12, 9, 9, 15, 41, 38, 105, 172, 181, 192, 190, 184, 158, 129, 41, 43,
+  71, 119, 141, 158, 174, 177, 179, 182, 184, 182, 181, 185, 177, 171, 160, 143,
+  121, 114, 91, 68, 96, 18, 26, 29, 60, 35, 32, 29, 29, 32, 26, 57,
+  43, 41, 63, 52, 29, 46, 52, 55, 68, 49, 38, 26, 35, 32, 41, 41,
+  38, 29, 32, 131, 12, 76, 129, 101, 133, 112, 176, 86, 38, 71, 63, 60,
+  63, 71, 63, 167, 55, 52, 86, 35, 20, 35, 35, 15, 38, 29, 26, 23,
+  35, 20, 18, 18, 43, 35, 60, 66, 74, 96, 105, 114, 114, 114, 112, 114,
+  123, 57, 15, 49, 79, 108, 121, 127, 121, 133, 123, 123, 131, 145, 137, 137,
+  135, 137, 137, 131, 137, 141, 137, 131, 131, 129, 127, 129, 135, 135, 131, 129,
+  137, 137, 137, 137, 133, 141, 139, 145, 145, 151, 155, 156, 156, 160, 162, 165,
+  171, 177, 172, 176, 179, 181, 195, 195, 197, 198, 201, 206, 207, 210, 212, 210,
+  212, 215, 216, 218, 216, 218, 221, 222, 224, 174, 60, 79, 60, 94, 63, 74,
+  71, 74, 79, 63, 76, 86, 79, 76, 89, 89, 94, 98, 103, 105, 117, 129,
+  143, 155, 167, 171, 160, 149, 155, 156, 145, 155, 197, 218, 224, 227, 219, 204,
+  176, 139, 117, 86, 74, 71, 66, 63, 81, 96, 91, 74, 57, 71, 94, 94,
+  108, 89, 91, 98, 91, 89, 94, 103, 108, 103, 89, 96, 68, 66, 41, 35,
+  20, 18, 15, 6, 15, 29, 121, 165, 184, 189, 190, 184, 164, 137, 57, 49,
+  76, 114, 145, 160, 171, 176, 177, 181, 179, 177, 184, 184, 179, 167, 164, 141,
+  105, 114, 91, 91, 96, 23, 18, 38, 26, 23, 29, 23, 29, 32, 60, 66,
+  41, 32, 52, 60, 41, 35, 57, 55, 66, 43, 41, 49, 26, 18, 29, 32,
+  38, 35, 38, 91, 12, 23, 110, 68, 105, 137, 160, 165, 123, 26, 46, 105,
+  114, 121, 55, 89, 29, 38, 35, 43, 29, 32, 26, 18, 32, 35, 29, 26,
+  23, 18, 43, 20, 26, 41, 60, 63, 81, 108, 117, 117, 108, 108, 110, 110,
+  94, 23, 15, 55, 105, 117, 123, 127, 127, 127, 125, 131, 123, 131, 143, 133,
+  135, 139, 133, 127, 133, 137, 135, 137, 133, 135, 131, 133, 137, 129, 123, 131,
+  127, 133, 139, 133, 143, 131, 141, 145, 149, 143, 151, 153, 153, 162, 160, 165,
+  169, 176, 174, 172, 172, 182, 187, 189, 193, 197, 200, 204, 209, 207, 212, 212,
+  213, 216, 216, 215, 218, 218, 221, 221, 224, 206, 68, 81, 74, 96, 86, 84,
+  84, 79, 84, 74, 63, 71, 66, 49, 60, 66, 63, 66, 79, 71, 86, 105,
+  125, 143, 147, 151, 156, 169, 172, 162, 156, 172, 206, 218, 227, 224, 215, 193,
+  156, 123, 89, 66, 52, 43, 55, 66, 81, 81, 81, 57, 63, 89, 96, 110,
+  79, 86, 96, 94, 91, 86, 86, 101, 108, 84, 101, 94, 79, 52, 43, 32,
+  20, 12, 12, 9, 12, 32, 110, 171, 184, 190, 195, 182, 174, 137, 63, 43,
+  68, 112, 137, 162, 172, 177, 179, 182, 182, 181, 187, 185, 177, 172, 162, 139,
+  57, 127, 98, 76, 89, 18, 38, 49, 23, 26, 23, 18, 32, 52, 55, 49,
+  23, 29, 81, 43, 41, 29, 57, 49, 66, 57, 63, 35, 41, 23, 43, 23,
+  41, 41, 32, 18, 18, 38, 23, 103, 91, 131, 121, 143, 158, 105, 119, 84,
+  84, 135, 94, 32, 20, 26, 32, 41, 49, 23, 20, 32, 29, 26, 18, 29,
+  26, 20, 20, 29, 38, 43, 84, 74, 96, 112, 105, 110, 110, 114, 114, 101,
+  26, 12, 32, 79, 108, 125, 129, 133, 133, 127, 125, 129, 133, 131, 133, 135,
+  133, 135, 129, 137, 141, 139, 143, 129, 135, 133, 133, 139, 133, 129, 131, 133,
+  127, 137, 139, 133, 141, 143, 141, 141, 143, 145, 151, 151, 151, 155, 165, 162,
+  167, 167, 172, 171, 174, 181, 187, 190, 193, 195, 200, 206, 204, 207, 215, 212,
+  213, 212, 216, 216, 216, 216, 219, 221, 222, 218, 76, 68, 86, 91, 98, 96,
+  91, 98, 81, 86, 81, 68, 68, 52, 55, 49, 46, 43, 35, 38, 49, 68,
+  91, 108, 117, 139, 184, 197, 193, 169, 160, 185, 209, 218, 224, 219, 212, 184,
+  141, 98, 71, 55, 41, 41, 79, 71, 84, 60, 57, 66, 89, 110, 114, 101,
+  91, 94, 89, 89, 84, 89, 91, 103, 112, 98, 94, 89, 57, 52, 43, 38,
+  35, 32, 29, 38, 41, 35, 114, 171, 182, 190, 193, 187, 179, 155, 71, 46,
+  76, 121, 145, 162, 169, 176, 182, 177, 179, 179, 189, 185, 179, 174, 164, 139,
+  60, 127, 86, 57, 60, 26, 43, 35, 20, 29, 29, 23, 43, 66, 46, 41,
+  43, 38, 60, 41, 29, 35, 81, 57, 49, 41, 49, 43, 52, 41, 41, 32,
+  23, 49, 55, 23, 38, 35, 15, 32, 105, 117, 151, 162, 108, 160, 112, 117,
+  89, 43, 119, 86, 26, 23, 35, 43, 32, 23, 35, 35, 29, 26, 29, 23,
+  9, 23, 23, 20, 41, 55, 74, 84, 98, 105, 110, 112, 108, 114, 103, 52,
+  23, 20, 71, 101, 117, 127, 125, 129, 143, 129, 131, 133, 133, 133, 133, 135,
+  129, 137, 139, 139, 135, 141, 137, 137, 135, 137, 137, 137, 133, 131, 131, 131,
+  131, 135, 135, 129, 135, 141, 139, 147, 149, 153, 153, 155, 156, 156, 162, 164,
+  167, 167, 165, 174, 177, 182, 179, 190, 193, 195, 195, 203, 203, 204, 207, 210,
+  212, 212, 215, 216, 218, 216, 219, 219, 221, 222, 143, 71, 94, 96, 103, 103,
+  108, 81, 86, 86, 84, 74, 68, 55, 49, 43, 35, 29, 29, 35, 29, 35,
+  49, 94, 114, 174, 203, 203, 200, 179, 169, 192, 212, 221, 222, 218, 201, 167,
+  121, 76, 60, 41, 35, 43, 68, 71, 66, 63, 66, 91, 103, 114, 117, 101,
+  89, 84, 86, 76, 89, 86, 101, 108, 98, 103, 86, 71, 52, 46, 32, 26,
+  26, 41, 57, 57, 55, 60, 108, 158, 181, 192, 197, 190, 189, 145, 86, 52,
+  81, 114, 145, 158, 169, 176, 182, 184, 179, 182, 184, 190, 184, 176, 165, 125,
+  86, 133, 103, 55, 32, 23, 35, 18, 20, 23, 32, 55, 26, 38, 38, 46,
+  26, 29, 35, 52, 26, 41, 63, 49, 57, 46, 41, 57, 38, 63, 32, 23,
+  15, 20, 60, 46, 23, 49, 32, 32, 18, 101, 110, 174, 160, 123, 156, 68,
+  98, 129, 131, 84, 20, 20, 35, 43, 20, 15, 20, 18, 26, 20, 15, 20,
+  20, 18, 32, 41, 66, 63, 81, 96, 103, 105, 110, 108, 125, 117, 71, 23,
+  26, 43, 86, 110, 123, 125, 129, 135, 131, 129, 131, 127, 129, 131, 129, 133,
+  127, 135, 137, 139, 137, 137, 141, 139, 137, 135, 131, 133, 129, 129, 131, 127,
+  131, 135, 133, 135, 133, 141, 137, 143, 149, 147, 147, 155, 149, 155, 156, 160,
+  160, 165, 169, 174, 176, 182, 182, 189, 190, 193, 198, 201, 200, 204, 210, 210,
+  212, 215, 212, 215, 219, 218, 219, 219, 221, 221, 192, 76, 89, 103, 110, 103,
+  98, 103, 103, 94, 89, 86, 71, 76, 68, 49, 41, 41, 29, 20, 12, 18,
+  29, 52, 145, 200, 210, 210, 198, 167, 165, 201, 215, 221, 221, 212, 193, 147,
+  89, 52, 38, 49, 49, 68, 76, 76, 57, 52, 76, 84, 98, 108, 103, 89,
+  81, 74, 74, 71, 96, 94, 108, 103, 105, 91, 89, 63, 43, 38, 46, 35,
+  63, 81, 71, 74, 74, 81, 108, 151, 181, 192, 198, 195, 185, 153, 105, 57,
+  76, 110, 141, 162, 169, 177, 182, 184, 179, 181, 184, 187, 181, 174, 158, 98,
+  94, 141, 117, 60, 43, 18, 41, 32, 43, 66, 68, 29, 23, 29, 32, 57,
+  46, 35, 43, 55, 38, 55, 55, 43, 71, 43, 46, 49, 38, 32, 23, 26,
+  41, 20, 29, 49, 32, 94, 41, 41, 32, 18, 79, 143, 131, 156, 149, 108,
+  98, 101, 94, 125, 29, 32, 38, 26, 43, 35, 32, 26, 26, 29, 15, 26,
+  32, 18, 23, 66, 68, 84, 96, 105, 105, 110, 108, 112, 110, 89, 29, 32,
+  23, 74, 105, 123, 125, 127, 127, 133, 127, 131, 133, 131, 133, 137, 133, 131,
+  135, 135, 135, 135, 133, 137, 139, 139, 135, 141, 137, 131, 131, 133, 131, 127,
+  131, 135, 129, 129, 131, 135, 137, 137, 149, 145, 145, 147, 156, 158, 160, 156,
+  158, 162, 165, 169, 172, 177, 176, 187, 184, 189, 197, 200, 203, 204, 206, 207,
+  212, 213, 215, 213, 216, 216, 219, 218, 219, 224, 212, 79, 86, 98, 96, 110,
+  105, 114, 117, 103, 96, 101, 81, 84, 76, 63, 49, 41, 18, 35, 35, 18,
+  15, 55, 160, 206, 213, 215, 192, 158, 182, 207, 216, 221, 216, 203, 164, 91,
+  60, 52, 26, 46, 60, 68, 66, 74, 55, 66, 84, 101, 114, 121, 86, 89,
+  81, 84, 79, 79, 84, 101, 110, 119, 103, 84, 86, 66, 60, 55, 38, 46,
+  96, 91, 86, 79, 91, 89, 123, 149, 181, 192, 195, 193, 182, 158, 114, 57,
+  79, 112, 141, 160, 172, 174, 182, 182, 182, 182, 185, 192, 181, 176, 165, 103,
+  91, 135, 91, 84, 18, 23, 35, 52, 57, 52, 35, 29, 41, 29, 41, 41,
+  38, 43, 49, 43, 46, 68, 29, 55, 74, 49, 52, 52, 35, 35, 35, 26,
+  46, 43, 18, 46, 63, 52, 46, 35, 26, 32, 63, 63, 141, 143, 189, 145,
+  96, 84, 123, 151, 43, 32, 23, 23, 29, 20, 32, 29, 32, 20, 9, 18,
+  20, 20, 46, 71, 60, 74, 96, 108, 103, 105, 110, 117, 96, 20, 23, 23,
+  71, 91, 114, 123, 127, 129, 127, 129, 127, 131, 139, 137, 129, 129, 129, 137,
+  131, 133, 125, 143, 133, 139, 139, 137, 135, 139, 135, 131, 135, 141, 131, 135,
+  129, 133, 135, 137, 141, 127, 133, 139, 147, 149, 141, 143, 155, 156, 158, 158,
+  153, 165, 158, 171, 177, 172, 179, 181, 187, 193, 197, 200, 201, 204, 204, 210,
+  212, 215, 213, 215, 212, 218, 216, 219, 221, 221, 222, 119, 79, 84, 108, 112,
+  101, 108, 110, 105, 98, 96, 76, 94, 84, 63, 66, 49, 52, 29, 20, 20,
+  29, 52, 158, 204, 212, 212, 184, 165, 192, 206, 213, 215, 204, 176, 114, 46,
+  46, 35, 49, 63, 63, 66, 55, 57, 66, 84, 101, 110, 101, 91, 84, 76,
+  66, 76, 68, 86, 86, 108, 119, 114, 108, 98, 76, 63, 63, 52, 43, 49,
+  79, 86, 86, 89, 103, 101, 135, 156, 181, 190, 195, 195, 187, 165, 127, 60,
+  94, 105, 141, 156, 172, 181, 182, 182, 184, 182, 189, 190, 185, 176, 164, 96,
+  91, 129, 91, 76, 26, 26, 43, 32, 23, 32, 43, 26, 32, 26, 46, 41,
+  57, 41, 41, 29, 32, 32, 35, 57, 76, 41, 43, 52, 52, 26, 35, 35,
+  32, 57, 43, 15, 55, 49, 57, 52, 43, 55, 49, 68, 57, 74, 141, 158,
+  137, 105, 98, 66, 32, 38, 23, 23, 23, 29, 29, 38, 15, 18, 15, 26,
+  23, 35, 57, 66, 68, 98, 96, 117, 108, 101, 110, 91, 20, 15, 23, 63,
+  91, 117, 117, 121, 125, 125, 131, 127, 127, 133, 131, 137, 129, 133, 129, 135,
+  131, 127, 135, 141, 139, 135, 141, 135, 145, 141, 133, 139, 137, 135, 133, 129,
+  133, 133, 135, 137, 135, 131, 133, 139, 143, 141, 143, 149, 155, 153, 149, 158,
+  160, 164, 165, 169, 169, 172, 174, 181, 185, 189, 195, 198, 200, 203, 206, 206,
+  209, 213, 213, 213, 213, 216, 219, 216, 216, 218, 221, 172, 66, 86, 96, 112,
+  112, 108, 112, 108, 105, 98, 103, 96, 81, 74, 76, 63, 63, 41, 26, 43,
+  46, 57, 149, 193, 207, 209, 197, 195, 195, 210, 207, 204, 172, 123, 46, 38,
+  32, 35, 41, 60, 68, 57, 49, 68, 76, 94, 103, 108, 91, 76, 63, 66,
+  71, 66, 79, 94, 96, 110, 117, 110, 96, 81, 81, 86, 74, 49, 43, 60,
+  86, 94, 81, 101, 103, 114, 143, 155, 182, 190, 193, 197, 190, 169, 131, 63,
+  86, 110, 137, 156, 176, 179, 179, 182, 184, 187, 190, 189, 184, 177, 171, 81,
+  110, 119, 91, 68, 29, 29, 35, 26, 29, 29, 49, 29, 32, 29, 43, 49,
+  46, 29, 41, 46, 32, 26, 35, 52, 63, 46, 32, 68, 79, 43, 38, 35,
+  20, 63, 86, 43, 32, 43, 86, 41, 32, 68, 94, 29, 86, 66, 131, 71,
+  131, 158, 119, 26, 29, 41, 23, 38, 35, 26, 23, 26, 23, 12, 20, 26,
+  35, 52, 66, 49, 84, 96, 101, 114, 105, 110, 76, 20, 15, 35, 66, 89,
+  108, 117, 119, 123, 127, 119, 131, 131, 131, 139, 127, 133, 135, 133, 135, 135,
+  131, 133, 133, 135, 137, 141, 139, 133, 143, 147, 133, 137, 137, 135, 133, 131,
+  127, 133, 129, 139, 135, 137, 133, 135, 145, 139, 143, 145, 151, 147, 149, 160,
+  156, 164, 165, 172, 165, 167, 174, 185, 184, 185, 190, 198, 197, 200, 204, 207,
+  209, 213, 212, 215, 215, 218, 215, 215, 218, 219, 221, 209, 68, 84, 86, 103,
+  110, 114, 112, 105, 103, 98, 98, 86, 84, 86, 76, 74, 68, 57, 52, 43,
+  41, 60, 129, 190, 207, 209, 209, 201, 200, 198, 184, 165, 121, 71, 52, 38,
+  46, 43, 60, 68, 46, 52, 57, 76, 96, 101, 101, 96, 96, 84, 60, 66,
+  74, 81, 79, 96, 105, 119, 112, 96, 94, 84, 79, 79, 63, 43, 68, 66,
+  66, 84, 101, 110, 114, 129, 143, 155, 182, 189, 195, 190, 185, 169, 135, 68,
+  94, 110, 137, 160, 171, 179, 179, 181, 185, 189, 189, 189, 184, 176, 164, 76,
+  127, 119, 91, 35, 23, 43, 41, 43, 29, 32, 20, 29, 46, 26, 49, 41,
+  43, 32, 41, 29, 35, 38, 57, 57, 86, 26, 38, 81, 89, 35, 35, 38,
+  23, 38, 91, 94, 38, 35, 84, 23, 49, 55, 121, 38, 60, 125, 153, 46,
+  81, 103, 112, 49, 32, 29, 32, 35, 23, 38, 23, 23, 18, 38, 32, 32,
+  52, 66, 71, 89, 91, 84, 98, 110, 94, 35, 18, 9, 32, 79, 96, 96,
+  117, 114, 125, 114, 121, 123, 129, 131, 129, 139, 131, 135, 139, 133, 135, 129,
+  133, 135, 133, 137, 141, 139, 141, 141, 137, 141, 139, 137, 137, 135, 143, 137,
+  131, 137, 135, 143, 137, 133, 131, 131, 141, 143, 143, 149, 147, 147, 153, 153,
+  155, 160, 164, 165, 165, 172, 177, 172, 179, 177, 190, 192, 197, 200, 203, 206,
+  206, 209, 212, 215, 213, 218, 219, 215, 215, 216, 221, 219, 103, 84, 94, 98,
+  101, 108, 110, 108, 101, 96, 91, 103, 89, 91, 81, 76, 81, 63, 68, 74,
+  66, 81, 131, 192, 210, 216, 219, 207, 195, 167, 151, 114, 66, 60, 35, 35,
+  63, 57, 60, 63, 49, 57, 74, 84, 108, 112, 105, 96, 81, 81, 63, 66,
+  68, 74, 101, 108, 119, 114, 105, 94, 96, 91, 76, 74, 55, 57, 66, 43,
+  55, 81, 91, 119, 125, 123, 139, 155, 181, 185, 190, 190, 187, 167, 129, 74,
+  94, 110, 135, 160, 171, 182, 179, 179, 182, 185, 187, 189, 179, 172, 162, 98,
+  108, 125, 105, 23, 35, 38, 23, 63, 26, 57, 29, 49, 38, 26, 35, 43,
+  52, 38, 35, 29, 35, 46, 91, 55, 105, 38, 55, 66, 89, 84, 26, 29,
+  26, 26, 94, 68, 68, 52, 41, 103, 35, 66, 41, 79, 66, 96, 171, 110,
+  86, 18, 79, 60, 43, 26, 32, 29, 41, 20, 20, 29, 12, 15, 15, 32,
+  63, 63, 74, 91, 105, 91, 68, 35, 12, 9, 23, 60, 81, 94, 103, 110,
+  117, 112, 125, 127, 127, 125, 125, 129, 127, 133, 133, 133, 133, 133, 145, 133,
+  131, 135, 137, 135, 137, 137, 139, 145, 135, 141, 139, 137, 135, 139, 137, 141,
+  129, 139, 133, 139, 135, 131, 131, 133, 137, 141, 141, 149, 145, 147, 149, 151,
+  156, 164, 160, 165, 162, 171, 176, 172, 176, 181, 184, 192, 193, 197, 201, 203,
+  207, 206, 209, 210, 215, 215, 216, 218, 216, 221, 218, 221, 149, 81, 89, 94,
+  105, 98, 108, 103, 110, 101, 105, 101, 91, 98, 86, 79, 81, 86, 89, 86,
+  74, 86, 143, 190, 213, 219, 216, 201, 169, 133, 86, 68, 52, 46, 41, 35,
+  60, 66, 66, 55, 52, 81, 81, 98, 105, 108, 96, 81, 68, 63, 68, 76,
+  71, 94, 91, 117, 121, 110, 108, 94, 94, 89, 84, 43, 57, 66, 74, 57,
+  41, 74, 94, 121, 123, 114, 121, 147, 176, 187, 190, 189, 184, 164, 129, 84,
+  91, 105, 143, 158, 171, 179, 182, 184, 184, 184, 189, 187, 185, 177, 171, 108,
+  81, 112, 98, 29, 20, 32, 32, 38, 32, 57, 29, 49, 46, 26, 29, 26,
+  74, 66, 38, 29, 32, 43, 79, 55, 101, 35, 43, 79, 105, 81, 52, 26,
+  32, 29, 98, 66, 29, 32, 32, 137, 55, 52, 57, 94, 84, 66, 156, 141,
+  79, 20, 71, 84, 23, 18, 20, 32, 32, 15, 15, 29, 23, 20, 23, 63,
+  71, 76, 89, 66, 38, 74, 20, 18, 32, 49, 84, 89, 96, 105, 112, 108,
+  119, 117, 114, 125, 125, 125, 129, 129, 131, 127, 127, 125, 127, 141, 133, 137,
+  133, 129, 143, 137, 135, 139, 137, 143, 149, 143, 149, 143, 143, 137, 139, 137,
+  139, 133, 135, 137, 129, 135, 137, 133, 137, 141, 143, 145, 147, 145, 149, 153,
+  156, 156, 160, 164, 160, 171, 176, 177, 174, 181, 185, 192, 193, 197, 203, 201,
+  206, 206, 212, 212, 215, 216, 218, 218, 215, 219, 218, 219, 189, 68, 81, 101,
+  96, 108, 103, 98, 101, 105, 98, 108, 98, 108, 103, 86, 86, 84, 91, 94,
+  86, 81, 139, 184, 209, 212, 203, 177, 121, 89, 66, 71, 52, 41, 55, 63,
+  81, 66, 63, 66, 86, 96, 110, 112, 108, 105, 86, 66, 66, 57, 52, 71,
+  84, 94, 110, 119, 108, 114, 105, 98, 96, 71, 55, 46, 68, 60, 68, 46,
+  23, 49, 79, 98, 105, 98, 110, 139, 171, 184, 193, 193, 190, 169, 145, 89,
+  91, 110, 133, 149, 171, 179, 179, 182, 182, 185, 187, 192, 181, 172, 165, 119,
+  76, 94, 89, 23, 32, 23, 41, 41, 32, 46, 23, 68, 55, 29, 43, 35,
+  76, 43, 35, 35, 32, 35, 84, 55, 103, 23, 49, 84, 117, 79, 94, 32,
+  32, 26, 41, 108, 20, 32, 55, 71, 149, 35, 32, 46, 68, 108, 121, 181,
+  135, 20, 63, 43, 32, 15, 29, 29, 23, 38, 18, 26, 20, 32, 38, 41,
+  32, 35, 26, 20, 18, 23, 32, 74, 76, 81, 91, 98, 105, 110, 125, 117,
+  114, 114, 125, 123, 125, 121, 125, 131, 131, 135, 135, 143, 127, 133, 135, 135,
+  131, 133, 143, 139, 137, 141, 141, 143, 145, 139, 141, 151, 139, 141, 139, 139,
+  141, 141, 131, 131, 137, 139, 137, 135, 139, 139, 149, 141, 143, 149, 149, 151,
+  149, 156, 162, 165, 162, 169, 174, 171, 181, 181, 185, 185, 190, 195, 197, 201,
+  207, 206, 207, 210, 213, 213, 216, 215, 216, 219, 218, 218, 213, 84, 84, 89,
+  94, 103, 105, 103, 112, 114, 103, 112, 110, 103, 98, 94, 108, 105, 112, 101,
+  96, 86, 123, 167, 187, 190, 177, 129, 79, 79, 81, 71, 55, 66, 74, 68,
+  63, 66, 57, 60, 94, 105, 121, 108, 96, 89, 76, 84, 66, 55, 49, 71,
+  98, 108, 114, 117, 119, 110, 108, 103, 89, 57, 46, 63, 71, 55, 55, 49,
+  26, 43, 55, 76, 96, 108, 112, 137, 165, 189, 192, 192, 187, 174, 139, 101,
+  91, 103, 131, 153, 167, 176, 181, 181, 187, 185, 185, 190, 185, 181, 169, 137,
+  57, 89, 43, 41, 41, 20, 32, 35, 35, 43, 49, 66, 66, 32, 35, 41,
+  81, 41, 20, 41, 32, 43, 60, 74, 76, 23, 38, 101, 114, 129, 125, 66,
+  55, 52, 29, 114, 60, 79, 29, 46, 133, 71, 89, 38, 81, 131, 117, 145,
+  160, 103, 49, 29, 41, 15, 32, 32, 23, 41, 41, 26, 23, 23, 12, 29,
+  20, 26, 43, 41, 55, 81, 68, 84, 84, 105, 110, 117, 125, 121, 125, 119,
+  127, 121, 125, 123, 125, 129, 131, 131, 125, 141, 127, 127, 137, 137, 135, 135,
+  129, 131, 133, 135, 131, 135, 145, 145, 139, 143, 141, 143, 141, 139, 147, 135,
+  137, 139, 143, 127, 133, 135, 141, 139, 135, 137, 141, 147, 143, 143, 149, 149,
+  158, 158, 160, 160, 164, 167, 167, 172, 181, 184, 184, 189, 190, 193, 198, 198,
+  203, 206, 206, 210, 210, 215, 216, 216, 216, 218, 219, 219, 216, 112, 79, 89,
+  91, 91, 96, 101, 105, 108, 103, 112, 110, 105, 105, 101, 108, 108, 114, 112,
+  98, 101, 105, 141, 155, 147, 121, 84, 81, 63, 63, 74, 66, 79, 79, 63,
+  66, 63, 74, 74, 89, 110, 117, 103, 91, 57, 57, 57, 55, 55, 63, 96,
+  105, 110, 119, 129, 119, 108, 103, 91, 66, 63, 57, 49, 52, 52, 43, 32,
+  41, 35, 55, 63, 91, 91, 91, 125, 160, 181, 189, 190, 187, 172, 143, 127,
+  98, 112, 131, 153, 169, 181, 181, 187, 185, 184, 189, 190, 187, 167, 165, 153,
+  46, 76, 29, 32, 23, 18, 38, 38, 29, 35, 49, 52, 52, 55, 32, 41,
+  89, 52, 32, 43, 38, 68, 68, 105, 60, 15, 29, 94, 112, 127, 105, 76,
+  29, 15, 94, 84, 137, 12, 9, 52, 35, 123, 49, 74, 41, 141, 114, 105,
+  110, 117, 110, 23, 23, 35, 35, 29, 29, 20, 15, 23, 20, 15, 29, 29,
+  52, 41, 71, 68, 79, 74, 86, 98, 114, 110, 117, 110, 112, 112, 117, 121,
+  125, 121, 121, 125, 125, 119, 129, 127, 119, 129, 127, 133, 135, 131, 129, 135,
+  129, 135, 137, 141, 139, 133, 143, 141, 143, 145, 143, 147, 143, 139, 137, 137,
+  145, 135, 145, 141, 131, 137, 135, 141, 139, 137, 141, 139, 141, 149, 149, 151,
+  153, 155, 160, 162, 156, 167, 169, 169, 177, 181, 182, 190, 192, 198, 197, 200,
+  203, 204, 206, 207, 210, 212, 215, 218, 216, 218, 216, 219, 221, 169, 63, 79,
+  86, 96, 103, 101, 103, 110, 108, 110, 119, 110, 108, 101, 117, 121, 114, 114,
+  108, 114, 108, 108, 119, 112, 98, 86, 81, 76, 79, 76, 89, 76, 79, 68,
+  49, 55, 76, 91, 98, 112, 86, 81, 66, 63, 55, 46, 49, 55, 74, 110,
+  105, 112, 117, 129, 125, 114, 110, 86, 63, 63, 52, 55, 52, 49, 41, 38,
+  35, 49, 41, 57, 74, 89, 84, 129, 149, 179, 189, 193, 189, 176, 147, 131,
+  98, 112, 129, 149, 165, 176, 177, 184, 185, 185, 182, 189, 182, 174, 167, 149,
+  43, 79, 35, 49, 29, 32, 46, 43, 23, 32, 46, 63, 74, 60, 46, 49,
+  60, 94, 20, 32, 32, 46, 86, 101, 46, 29, 23, 71, 121, 71, 135, 110,
+  18, 15, 38, 94, 127, 76, 12, 57, 89, 49, 129, 38, 71, 110, 103, 135,
+  49, 121, 103, 43, 32, 29, 32, 23, 20, 9, 18, 26, 41, 41, 55, 63,
+  74, 79, 89, 94, 89, 98, 110, 114, 110, 110, 114, 117, 119, 121, 119, 125,
+  127, 127, 119, 125, 119, 121, 117, 133, 131, 133, 127, 129, 127, 125, 131, 141,
+  137, 129, 133, 135, 137, 137, 133, 137, 135, 143, 139, 139, 141, 133, 145, 137,
+  141, 137, 149, 139, 133, 137, 133, 139, 135, 139, 135, 137, 141, 149, 143, 151,
+  145, 153, 156, 156, 162, 164, 169, 172, 171, 182, 181, 184, 185, 193, 197, 195,
+  198, 201, 207, 206, 209, 210, 215, 215, 216, 216, 219, 221, 218, 198, 74, 68,
+  86, 81, 96, 103, 103, 112, 114, 123, 117, 112, 114, 119, 123, 119, 112, 108,
+  114, 117, 103, 110, 98, 101, 94, 89, 86, 96, 91, 101, 91, 76, 84, 71,
+  76, 71, 86, 105, 103, 101, 81, 94, 76, 66, 66, 57, 49, 74, 91, 108,
+  112, 125, 129, 121, 112, 108, 105, 81, 71, 57, 41, 49, 57, 43, 49, 46,
+  38, 63, 55, 57, 63, 76, 76, 121, 155, 181, 192, 203, 200, 185, 151, 133,
+  94, 105, 131, 153, 169, 177, 185, 181, 184, 182, 190, 189, 185, 176, 165, 117,
+  60, 66, 55, 74, 35, 20, 43, 35, 35, 43, 41, 60, 46, 49, 55, 55,
+  38, 108, 41, 32, 32, 32, 66, 101, 35, 32, 20, 66, 119, 52, 129, 137,
+  41, 23, 15, 103, 108, 117, 32, 15, 26, 98, 127, 68, 41, 66, 121, 127,
+  127, 84, 66, 66, 23, 18, 18, 32, 23, 32, 52, 20, 35, 41, 49, 63,
+  71, 89, 101, 103, 103, 103, 101, 110, 112, 117, 121, 125, 117, 123, 117, 125,
+  117, 121, 125, 117, 121, 121, 133, 127, 131, 135, 129, 135, 133, 129, 131, 133,
+  137, 135, 137, 133, 133, 135, 139, 141, 135, 147, 141, 143, 141, 139, 143, 147,
+  143, 137, 141, 145, 137, 137, 145, 147, 137, 143, 145, 145, 141, 147, 147, 153,
+  147, 153, 156, 160, 160, 164, 165, 165, 172, 172, 176, 184, 181, 184, 192, 195,
+  195, 203, 203, 204, 209, 207, 213, 216, 215, 215, 216, 218, 221, 213, 79, 66,
+  81, 94, 94, 103, 108, 110, 117, 112, 114, 117, 117, 121, 121, 125, 119, 112,
+  114, 110, 103, 103, 105, 96, 98, 91, 89, 105, 103, 98, 94, 79, 74, 74,
+  79, 76, 96, 101, 79, 86, 79, 55, 68, 68, 81, 68, 55, 81, 98, 117,
+  119, 129, 127, 112, 119, 98, 81, 63, 46, 43, 41, 49, 35, 32, 38, 26,
+  41, 46, 49, 41, 60, 49, 63, 110, 155, 192, 207, 209, 207, 206, 177, 137,
+  105, 119, 133, 156, 167, 181, 181, 185, 185, 185, 187, 192, 185, 177, 131, 57,
+  32, 46, 43, 49, 38, 49, 52, 32, 29, 46, 43, 60, 46, 46, 43, 63,
+  32, 84, 84, 20, 35, 18, 91, 119, 66, 43, 32, 46, 114, 52, 84, 143,
+  105, 49, 23, 89, 108, 127, 74, 15, 15, 60, 76, 145, 26, 26, 89, 98,
+  129, 57, 29, 55, 23, 43, 20, 20, 41, 29, 29, 26, 38, 68, 68, 81,
+  89, 103, 101, 108, 110, 105, 108, 112, 114, 119, 117, 119, 112, 117, 123, 123,
+  127, 121, 125, 125, 117, 123, 131, 121, 131, 133, 127, 133, 131, 133, 131, 131,
+  133, 131, 127, 139, 133, 137, 141, 137, 137, 141, 135, 137, 141, 139, 145, 143,
+  139, 141, 145, 145, 141, 143, 139, 141, 141, 143, 141, 145, 145, 145, 147, 149,
+  153, 149, 156, 162, 158, 169, 167, 169, 171, 176, 182, 182, 187, 190, 193, 192,
+  192, 200, 206, 206, 207, 207, 212, 215, 215, 215, 213, 219, 216, 216, 123, 55,
+  86, 89, 96, 108, 110, 110, 117, 117, 114, 121, 123, 125, 121, 123, 108, 117,
+  110, 110, 110, 103, 101, 98, 89, 91, 108, 108, 110, 101, 84, 81, 76, 68,
+  89, 98, 96, 94, 84, 68, 60, 49, 63, 57, 84, 63, 68, 103, 117, 125,
+  127, 121, 123, 108, 98, 94, 84, 63, 57, 41, 49, 60, 38, 43, 35, 32,
+  35, 49, 55, 38, 55, 52, 71, 114, 156, 203, 209, 212, 209, 209, 197, 153,
+  103, 114, 129, 155, 167, 176, 184, 184, 187, 182, 189, 189, 185, 174, 143, 105,
+  52, 46, 46, 38, 55, 26, 35, 38, 32, 43, 43, 52, 49, 38, 46, 60,
+  38, 52, 117, 18, 26, 35, 125, 103, 35, 38, 41, 52, 110, 68, 55, 156,
+  147, 55, 23, 20, 79, 129, 32, 60, 12, 32, 71, 123, 105, 18, 43, 60,
+  112, 123, 76, 46, 38, 29, 23, 15, 32, 35, 29, 35, 63, 76, 86, 91,
+  91, 105, 105, 110, 114, 110, 105, 110, 112, 119, 119, 121, 119, 123, 121, 117,
+  123, 125, 125, 123, 129, 123, 123, 123, 123, 127, 127, 129, 133, 133, 127, 127,
+  131, 133, 137, 129, 129, 129, 131, 133, 139, 145, 133, 141, 147, 147, 143, 145,
+  143, 147, 153, 141, 147, 147, 141, 149, 145, 139, 145, 143, 151, 147, 147, 147,
+  153, 149, 155, 158, 156, 162, 167, 167, 172, 174, 176, 185, 189, 185, 189, 195,
+  192, 197, 203, 206, 206, 207, 210, 212, 213, 215, 213, 216, 218, 218, 171, 71,
+  76, 84, 84, 94, 84, 108, 117, 105, 110, 127, 129, 125, 127, 117, 121, 119,
+  112, 114, 114, 112, 101, 101, 98, 108, 114, 114, 110, 103, 91, 89, 79, 89,
+  91, 98, 103, 89, 81, 57, 68, 57, 55, 66, 60, 74, 86, 108, 121, 129,
+  129, 127, 112, 110, 91, 71, 63, 46, 38, 46, 46, 41, 38, 41, 41, 60,
+  35, 41, 43, 41, 52, 46, 49, 112, 165, 204, 209, 212, 213, 209, 200, 179,
+  98, 112, 127, 153, 167, 176, 181, 184, 185, 182, 189, 187, 181, 174, 149, 137,
+  79, 46, 29, 32, 60, 35, 57, 35, 57, 91, 49, 38, 41, 38, 52, 55,
+  55, 35, 94, 52, 35, 23, 155, 79, 35, 32, 32, 84, 123, 43, 81, 114,
+  162, 81, 23, 23, 35, 110, 71, 55, 49, 20, 76, 60, 121, 43, 35, 63,
+  91, 110, 103, 121, 26, 20, 6, 15, 20, 26, 41, 60, 66, 71, 91, 103,
+  101, 105, 98, 103, 112, 119, 110, 103, 117, 121, 125, 121, 119, 123, 117, 121,
+  119, 121, 125, 121, 125, 123, 119, 129, 125, 127, 127, 123, 133, 133, 127, 131,
+  131, 135, 131, 131, 137, 135, 137, 129, 141, 135, 137, 141, 137, 139, 151, 141,
+  141, 143, 139, 147, 147, 143, 137, 147, 143, 141, 145, 151, 143, 149, 149, 153,
+  155, 147, 149, 160, 158, 164, 169, 167, 172, 171, 182, 184, 181, 184, 190, 193,
+  198, 197, 198, 203, 212, 210, 210, 212, 212, 215, 216, 216, 218, 219, 200, 55,
+  68, 76, 96, 114, 105, 114, 96, 117, 110, 129, 123, 127, 117, 121, 121, 112,
+  112, 110, 103, 108, 105, 108, 110, 112, 121, 123, 112, 98, 89, 84, 94, 105,
+  101, 101, 91, 81, 79, 84, 71, 79, 68, 57, 81, 86, 108, 125, 131, 131,
+  133, 123, 112, 96, 84, 71, 46, 38, 41, 35, 46, 52, 43, 49, 63, 63,
+  38, 49, 41, 35, 55, 43, 55, 112, 171, 206, 209, 210, 210, 207, 201, 182,
+  108, 117, 131, 151, 165, 179, 182, 182, 184, 182, 184, 182, 181, 182, 129, 131,
+  91, 35, 32, 26, 46, 20, 49, 26, 43, 41, 46, 46, 41, 46, 84, 84,
+  79, 52, 49, 74, 43, 46, 151, 71, 38, 32, 43, 79, 112, 15, 94, 76,
+  149, 139, 35, 15, 46, 133, 139, 38, 71, 43, 49, 91, 60, 91, 18, 71,
+  79, 133, 84, 129, 127, 38, 18, 15, 18, 32, 41, 57, 76, 79, 84, 91,
+  98, 103, 108, 108, 114, 112, 112, 108, 112, 117, 123, 121, 119, 117, 121, 125,
+  121, 125, 123, 125, 129, 123, 119, 114, 137, 127, 131, 129, 125, 129, 127, 129,
+  135, 137, 129, 131, 131, 133, 135, 139, 137, 141, 143, 149, 145, 145, 133, 139,
+  145, 139, 141, 139, 147, 147, 147, 147, 155, 147, 141, 145, 145, 155, 149, 155,
+  156, 156, 155, 155, 164, 164, 167, 165, 162, 172, 172, 182, 177, 185, 192, 192,
+  190, 197, 200, 204, 206, 207, 207, 210, 212, 213, 216, 216, 216, 218, 213, 89,
+  76, 79, 86, 86, 94, 110, 103, 108, 121, 117, 123, 123, 121, 123, 129, 112,
+  112, 114, 108, 117, 114, 105, 117, 121, 121, 119, 108, 101, 86, 89, 91, 96,
+  81, 84, 74, 89, 79, 84, 89, 66, 68, 71, 89, 108, 121, 135, 133, 133,
+  125, 114, 98, 89, 68, 55, 60, 26, 32, 43, 43, 63, 43, 63, 96, 76,
+  32, 38, 41, 35, 46, 46, 46, 89, 169, 206, 206, 209, 209, 204, 197, 184,
+  98, 108, 133, 155, 164, 176, 181, 182, 182, 185, 185, 185, 184, 177, 112, 98,
+  74, 41, 57, 20, 18, 29, 55, 35, 52, 49, 79, 43, 41, 55, 71, 96,
+  71, 35, 43, 55, 60, 79, 149, 35, 52, 38, 52, 79, 129, 23, 71, 68,
+  76, 135, 105, 23, 46, 145, 137, 49, 15, 26, 49, 91, 68, 41, 29, 26,
+  41, 103, 71, 86, 143, 139, 35, 43, 32, 57, 66, 68, 76, 79, 96, 101,
+  103, 105, 110, 103, 108, 121, 114, 114, 123, 114, 123, 119, 121, 119, 127, 117,
+  121, 125, 119, 119, 127, 123, 119, 127, 131, 127, 127, 127, 131, 133, 125, 125,
+  131, 131, 137, 133, 131, 139, 135, 137, 143, 139, 141, 137, 141, 147, 137, 147,
+  143, 145, 147, 141, 147, 149, 147, 143, 153, 147, 153, 139, 145, 153, 147, 149,
+  153, 155, 156, 158, 160, 162, 171, 165, 169, 169, 172, 174, 179, 184, 185, 192,
+  193, 197, 200, 200, 203, 207, 206, 210, 212, 212, 213, 210, 216, 221, 221, 127,
+  71, 81, 94, 96, 89, 98, 94, 117, 110, 121, 119, 121, 129, 129, 123, 123,
+  121, 114, 114, 119, 125, 129, 135, 129, 121, 110, 110, 86, 94, 91, 76, 84,
+  79, 81, 68, 91, 86, 84, 84, 81, 71, 81, 91, 114, 133, 139, 137, 131,
+  131, 105, 89, 76, 49, 43, 41, 38, 41, 41, 43, 52, 68, 84, 94, 91,
+  32, 46, 43, 38, 52, 29, 38, 79, 156, 206, 206, 206, 209, 204, 197, 174,
+  108, 121, 133, 155, 167, 169, 176, 185, 184, 182, 185, 185, 179, 182, 129, 94,
+  66, 38, 32, 18, 18, 43, 68, 15, 46, 23, 71, 55, 41, 55, 63, 63,
+  63, 55, 38, 68, 96, 149, 96, 38, 71, 18, 46, 66, 123, 35, 35, 76,
+  60, 55, 151, 91, 35, 137, 98, 29, 38, 35, 32, 57, 79, 63, 66, 23,
+  38, 74, 98, 18, 103, 71, 129, 35, 60, 66, 68, 84, 79, 81, 89, 96,
+  103, 101, 101, 108, 110, 114, 112, 117, 114, 119, 127, 127, 119, 123, 119, 123,
+  119, 121, 123, 129, 125, 127, 123, 123, 123, 121, 129, 131, 133, 129, 125, 125,
+  127, 125, 131, 133, 133, 137, 133, 131, 137, 139, 141, 139, 137, 141, 137, 137,
+  141, 139, 141, 141, 145, 145, 147, 149, 147, 147, 147, 147, 153, 151, 149, 149,
+  162, 167, 158, 155, 160, 165, 164, 171, 165, 167, 174, 172, 177, 181, 184, 192,
+  192, 198, 198, 203, 200, 203, 206, 207, 210, 212, 213, 212, 216, 215, 218, 160,
+  108, 101, 98, 96, 94, 94, 96, 101, 108, 108, 125, 133, 133, 135, 129, 123,
+  117, 121, 123, 121, 131, 137, 139, 133, 119, 117, 91, 76, 84, 76, 74, 71,
+  68, 60, 84, 89, 91, 91, 81, 76, 79, 96, 101, 125, 133, 139, 137, 131,
+  121, 101, 71, 49, 49, 38, 26, 20, 26, 35, 60, 74, 94, 94, 91, 96 };
+
+/* Define image 'milla' of size 211x242x1x3 and type 'const unsigned char' */
+const unsigned char data_milla[] = {
+  93, 92, 92, 91, 91, 90, 90, 90, 92, 90, 92, 91, 91, 92, 92, 92,
+  93, 99, 97, 95, 101, 95, 89, 93, 92, 92, 94, 96, 97, 95, 95, 94,
+  96, 96, 96, 96, 96, 96, 96, 96, 93, 94, 95, 96, 97, 98, 98, 98,
+  94, 98, 98, 95, 96, 99, 99, 97, 99, 98, 98, 97, 97, 98, 98, 100,
+  103, 103, 103, 102, 102, 103, 102, 102, 100, 101, 102, 101, 101, 101, 101, 100,
+  102, 103, 103, 104, 103, 104, 104, 104, 104, 102, 104, 103, 103, 104, 104, 104,
+  103, 103, 105, 104, 106, 105, 107, 105, 110, 107, 108, 105, 108, 107, 111, 110,
+  108, 111, 108, 104, 112, 109, 108, 112, 112, 111, 115, 113, 113, 111, 115, 114,
+  109, 108, 109, 110, 110, 110, 110, 109, 104, 111, 109, 105, 111, 108, 106, 112,
+  107, 105, 104, 103, 104, 106, 109, 110, 110, 112, 108, 116, 112, 106, 108, 84,
+  14, 31, 62, 66, 85, 85, 103, 106, 107, 109, 103, 105, 116, 114, 105, 109,
+  112, 110, 110, 113, 113, 111, 112, 115, 116, 115, 113, 113, 115, 115, 113, 112,
+  111, 112, 112, 112, 112, 111, 110, 109, 113, 113, 113, 112, 112, 111, 111, 111,
+  114, 113, 113, 94, 94, 94, 93, 92, 91, 91, 91, 85, 85, 88, 88, 89,
+  90, 88, 89, 93, 94, 94, 93, 92, 93, 95, 97, 93, 94, 96, 94, 93,
+  92, 94, 94, 95, 95, 96, 95, 94, 92, 89, 88, 93, 93, 93, 93, 93,
+  94, 96, 96, 96, 96, 96, 97, 97, 98, 98, 98, 100, 99, 99, 98, 98,
+  99, 99, 100, 98, 100, 102, 100, 99, 98, 98, 99, 100, 103, 104, 100, 100,
+  103, 102, 99, 101, 101, 101, 102, 102, 103, 103, 103, 105, 104, 105, 105, 105,
+  106, 106, 106, 102, 105, 106, 102, 104, 106, 107, 104, 104, 103, 104, 104, 105,
+  105, 106, 105, 105, 106, 109, 108, 108, 106, 108, 108, 106, 109, 110, 106, 108,
+  110, 111, 108, 112, 110, 106, 107, 111, 112, 109, 107, 110, 109, 107, 105, 106,
+  106, 109, 110, 106, 109, 109, 106, 106, 109, 109, 106, 114, 109, 111, 110, 116,
+  99, 108, 78, 9, 30, 59, 64, 90, 88, 99, 105, 107, 111, 104, 104, 114,
+  112, 104, 104, 109, 107, 107, 110, 111, 108, 108, 112, 113, 113, 113, 113, 113,
+  113, 113, 113, 110, 112, 114, 114, 112, 111, 111, 112, 114, 114, 112, 111, 111,
+  111, 111, 111, 109, 116, 113, 93, 94, 92, 92, 91, 90, 90, 88, 89, 88,
+  89, 90, 89, 89, 89, 91, 92, 94, 94, 93, 92, 93, 94, 97, 91, 92,
+  92, 92, 90, 90, 91, 92, 93, 93, 94, 94, 94, 93, 92, 92, 96, 95,
+  94, 93, 93, 93, 94, 94, 96, 96, 96, 97, 97, 98, 98, 98, 100, 99,
+  99, 98, 98, 99, 99, 100, 98, 99, 101, 101, 100, 98, 99, 100, 100, 104,
+  104, 101, 101, 104, 103, 99, 101, 101, 102, 102, 102, 103, 103, 103, 105, 105,
+  105, 106, 106, 107, 107, 106, 102, 105, 105, 102, 103, 106, 106, 104, 103, 103,
+  104, 104, 104, 105, 105, 105, 104, 107, 109, 109, 108, 107, 108, 109, 106, 109,
+  109, 106, 107, 110, 111, 108, 111, 110, 107, 108, 110, 111, 109, 108, 109, 109,
+  107, 106, 106, 107, 108, 108, 108, 111, 111, 108, 108, 111, 111, 108, 113, 109,
+  111, 109, 116, 100, 109, 78, 9, 30, 58, 62, 90, 88, 99, 105, 107, 109,
+  103, 103, 114, 113, 104, 107, 110, 108, 108, 112, 112, 109, 110, 113, 113, 113,
+  113, 113, 113, 113, 113, 113, 110, 112, 114, 114, 112, 111, 111, 112, 114, 113,
+  112, 111, 111, 111, 111, 112, 109, 116, 113, 92, 91, 91, 91, 90, 89, 87,
+  87, 91, 91, 89, 89, 87, 89, 91, 92, 92, 94, 94, 94, 93, 93, 94,
+  96, 91, 93, 92, 92, 91, 90, 91, 92, 92, 92, 92, 92, 93, 93, 94,
+  95, 97, 96, 95, 94, 93, 93, 93, 93, 96, 96, 96, 97, 97, 98, 98,
+  98, 100, 99, 99, 98, 98, 99, 99, 100, 98, 100, 102, 102, 100, 99, 100,
+  101, 101, 104, 105, 102, 101, 103, 102, 98, 101, 102, 102, 102, 103, 103, 103,
+  103, 105, 105, 105, 106, 106, 107, 107, 106, 102, 105, 105, 102, 103, 106, 106,
+  104, 103, 104, 104, 104, 105, 105, 105, 105, 105, 108, 110, 110, 109, 108, 109,
+  110, 106, 109, 109, 107, 107, 110, 111, 108, 109, 110, 110, 109, 109, 108, 109,
+  110, 109, 109, 107, 107, 107, 107, 108, 108, 109, 112, 112, 109, 109, 112, 112,
+  109, 111, 108, 110, 108, 116, 102, 110, 77, 10, 30, 59, 63, 90, 88, 99,
+  105, 105, 108, 102, 102, 115, 114, 106, 108, 111, 109, 109, 113, 113, 110, 111,
+  114, 113, 113, 113, 113, 113, 113, 113, 113, 110, 112, 114, 114, 112, 111, 111,
+  112, 114, 113, 112, 111, 111, 111, 112, 112, 109, 116, 113, 92, 92, 91, 91,
+  90, 90, 88, 88, 91, 90, 87, 86, 84, 86, 89, 91, 92, 94, 95, 94,
+  93, 93, 94, 96, 94, 95, 95, 94, 93, 93, 94, 95, 94, 93, 92, 91,
+  91, 93, 95, 96, 96, 96, 95, 94, 94, 94, 95, 95, 96, 96, 96, 97,
+  97, 98, 98, 98, 100, 99, 99, 98, 98, 99, 99, 100, 99, 101, 103, 103,
+  101, 100, 101, 102, 102, 105, 105, 102, 101, 103, 102, 98, 102, 102, 102, 103,
+  103, 103, 104, 104, 105, 105, 105, 106, 106, 107, 107, 106, 102, 105, 105, 102,
+  103, 106, 106, 104, 104, 104, 104, 105, 105, 105, 106, 106, 106, 108, 110, 111,
+  109, 109, 109, 111, 106, 109, 110, 107, 107, 111, 111, 108, 108, 111, 111, 110,
+  108, 107, 108, 111, 109, 109, 108, 107, 107, 108, 108, 108, 108, 111, 111, 108,
+  108, 111, 111, 108, 110, 108, 109, 107, 116, 103, 111, 75, 11, 31, 60, 63,
+  90, 88, 99, 105, 106, 109, 103, 102, 114, 113, 105, 107, 110, 108, 109, 112,
+  112, 110, 110, 113, 114, 114, 113, 113, 113, 113, 112, 112, 110, 112, 114, 114,
+  112, 111, 111, 112, 113, 113, 112, 111, 111, 111, 112, 113, 109, 116, 113, 92,
+  92, 92, 92, 92, 92, 90, 90, 92, 91, 88, 86, 87, 88, 89, 90, 91,
+  93, 95, 95, 94, 93, 93, 95, 94, 96, 95, 95, 94, 94, 94, 96, 96,
+  95, 93, 91, 91, 92, 93, 94, 93, 93, 93, 94, 95, 96, 98, 99, 96,
+  96, 96, 97, 97, 98, 98, 98, 100, 99, 99, 98, 98, 99, 99, 100, 99,
+  101, 103, 103, 101, 100, 101, 102, 101, 104, 105, 102, 101, 103, 102, 98, 102,
+  102, 103, 103, 103, 104, 104, 104, 105, 105, 105, 106, 106, 107, 107, 106, 102,
+  105, 105, 102, 103, 106, 106, 104, 104, 104, 105, 105, 105, 106, 106, 106, 106,
+  108, 110, 111, 109, 109, 109, 111, 107, 110, 110, 108, 108, 111, 112, 109, 108,
+  111, 111, 110, 108, 107, 108, 111, 109, 109, 108, 109, 109, 108, 108, 108, 107,
+  110, 110, 107, 107, 110, 110, 107, 109, 108, 110, 106, 116, 105, 110, 72, 12,
+  32, 60, 64, 91, 88, 98, 105, 108, 111, 104, 103, 114, 112, 103, 105, 109,
+  107, 107, 111, 111, 108, 109, 112, 114, 114, 114, 113, 113, 112, 112, 112, 110,
+  112, 114, 114, 112, 111, 111, 112, 113, 112, 111, 111, 111, 112, 113, 113, 109,
+  116, 113, 91, 92, 92, 92, 92, 93, 91, 91, 94, 93, 91, 90, 90, 91,
+  93, 93, 91, 93, 95, 95, 94, 94, 93, 94, 92, 94, 93, 93, 92, 92,
+  92, 94, 95, 94, 93, 93, 92, 92, 92, 92, 92, 93, 93, 94, 96, 98,
+  99, 100, 96, 96, 96, 97, 97, 98, 98, 98, 100, 99, 99, 98, 98, 99,
+  99, 100, 98, 100, 102, 102, 100, 99, 100, 101, 100, 103, 104, 101, 101, 104,
+  103, 100, 103, 103, 103, 103, 104, 104, 104, 105, 105, 105, 105, 106, 106, 107,
+  107, 106, 102, 105, 105, 102, 103, 106, 106, 104, 105, 105, 105, 105, 106, 106,
+  106, 107, 105, 108, 110, 110, 109, 108, 109, 110, 107, 110, 111, 108, 108, 112,
+  112, 109, 109, 110, 110, 109, 109, 108, 109, 110, 109, 109, 109, 109, 109, 109,
+  108, 108, 106, 109, 109, 106, 106, 109, 109, 106, 110, 109, 110, 105, 115, 105,
+  110, 68, 13, 33, 61, 64, 91, 88, 98, 105, 109, 111, 105, 103, 114, 111,
+  102, 104, 108, 106, 107, 110, 110, 108, 108, 111, 115, 115, 114, 113, 113, 112,
+  111, 111, 110, 112, 114, 114, 112, 111, 111, 112, 112, 112, 111, 111, 111, 112,
+  113, 114, 109, 116, 113, 90, 90, 91, 89, 89, 90, 90, 90, 93, 93, 93,
+  93, 93, 92, 92, 92, 90, 93, 95, 96, 95, 94, 93, 94, 93, 94, 94,
+  93, 92, 92, 92, 94, 92, 92, 93, 94, 94, 94, 93, 93, 94, 94, 94,
+  95, 96, 97, 98, 99, 96, 96, 96, 97, 97, 98, 98, 98, 100, 99, 99,
+  98, 98, 99, 99, 100, 98, 99, 101, 101, 100, 98, 99, 100, 98, 102, 103,
+  101, 102, 105, 105, 102, 103, 103, 103, 104, 104, 104, 105, 105, 105, 105, 105,
+  106, 106, 107, 107, 106, 102, 105, 105, 102, 103, 106, 106, 104, 105, 105, 105,
+  106, 106, 106, 107, 107, 104, 107, 109, 109, 108, 107, 108, 109, 107, 110, 111,
+  108, 109, 112, 112, 109, 111, 110, 107, 108, 110, 111, 109, 108, 109, 109, 109,
+  110, 110, 109, 108, 108, 107, 110, 110, 107, 107, 110, 110, 107, 111, 111, 111,
+  104, 115, 106, 108, 64, 13, 34, 62, 65, 91, 88, 98, 104, 108, 110, 104,
+  103, 114, 112, 103, 106, 109, 107, 108, 111, 111, 109, 109, 112, 115, 115, 114,
+  113, 113, 112, 111, 111, 110, 112, 114, 114, 112, 111, 111, 112, 112, 111, 111,
+  111, 111, 112, 113, 114, 109, 116, 113, 87, 87, 87, 88, 88, 89, 89, 89,
+  90, 91, 91, 92, 92, 91, 90, 90, 90, 93, 95, 96, 95, 94, 93, 94,
+  95, 97, 96, 96, 95, 94, 95, 96, 88, 89, 92, 94, 95, 96, 95, 95,
+  96, 96, 95, 95, 95, 96, 97, 97, 96, 96, 96, 97, 97, 98, 98, 98,
+  100, 99, 99, 98, 98, 99, 99, 100, 97, 99, 101, 100, 99, 98, 98, 99,
+  97, 101, 102, 101, 102, 106, 106, 103, 103, 103, 103, 104, 104, 105, 105, 105,
+  105, 105, 105, 106, 106, 107, 107, 106, 102, 105, 105, 102, 103, 106, 106, 104,
+  105, 105, 105, 106, 106, 107, 107, 107, 104, 106, 108, 108, 107, 106, 107, 108,
+  107, 111, 111, 108, 109, 112, 112, 110, 112, 110, 106, 107, 111, 112, 109, 107,
+  108, 109, 110, 111, 111, 110, 108, 107, 109, 112, 112, 109, 109, 112, 112, 109,
+  111, 112, 112, 104, 115, 106, 108, 62, 14, 34, 62, 65, 91, 88, 98, 104,
+  105, 108, 102, 102, 114, 113, 105, 108, 110, 109, 109, 112, 113, 110, 110, 114,
+  115, 115, 114, 113, 113, 112, 111, 111, 110, 112, 114, 114, 112, 111, 111, 112,
+  111, 111, 111, 111, 111, 112, 114, 114, 109, 116, 113, 91, 91, 92, 92, 92,
+  91, 90, 90, 92, 91, 90, 91, 93, 94, 93, 92, 94, 94, 94, 94, 94,
+  94, 93, 93, 95, 96, 94, 95, 95, 94, 93, 92, 94, 91, 91, 94, 94,
+  91, 91, 94, 97, 96, 96, 96, 96, 97, 98, 99, 101, 100, 98, 96, 95,
+  95, 96, 96, 99, 100, 101, 102, 102, 100, 99, 98, 100, 99, 99, 99, 99,
+  100, 101, 102, 106, 105, 103, 102, 101, 101, 102, 103, 104, 104, 104, 105, 105,
+  106, 106, 106, 106, 106, 107, 107, 107, 108, 108, 107, 107, 105, 104, 104, 106,
+  106, 105, 104, 110, 104, 107, 109, 103, 106, 111, 106, 108, 108, 108, 109, 109,
+  110, 110, 110, 111, 110, 110, 110, 110, 110, 109, 109, 115, 114, 110, 110, 110,
+  110, 111, 112, 110, 110, 109, 109, 109, 109, 109, 109, 110, 112, 111, 107, 107,
+  111, 112, 110, 117, 109, 114, 111, 113, 102, 107, 58, 13, 37, 65, 65, 92,
+  92, 102, 106, 113, 106, 104, 108, 113, 111, 106, 106, 110, 109, 110, 112, 111,
+  107, 108, 112, 116, 115, 113, 111, 109, 108, 108, 107, 110, 114, 115, 112, 112,
+  114, 112, 108, 117, 115, 111, 108, 108, 110, 113, 115, 108, 117, 115, 90, 90,
+  91, 92, 91, 91, 91, 90, 92, 91, 90, 91, 93, 94, 95, 94, 94, 94,
+  94, 94, 94, 94, 93, 93, 95, 96, 94, 95, 95, 94, 93, 92, 95, 92,
+  92, 95, 95, 92, 92, 95, 97, 96, 96, 96, 96, 97, 98, 99, 96, 96,
+  96, 96, 97, 98, 99, 100, 99, 100, 100, 101, 101, 100, 100, 99, 100, 100,
+  99, 99, 100, 100, 101, 102, 104, 103, 102, 102, 102, 103, 104, 105, 104, 104,
+  104, 105, 105, 106, 106, 106, 106, 106, 106, 106, 107, 107, 107, 107, 106, 104,
+  102, 103, 105, 105, 104, 103, 109, 103, 107, 109, 103, 106, 110, 105, 108, 108,
+  108, 109, 109, 110, 110, 110, 110, 110, 110, 110, 110, 110, 110, 111, 112, 111,
+  108, 108, 108, 108, 108, 109, 110, 110, 109, 109, 109, 109, 109, 109, 109, 112,
+  111, 108, 108, 111, 112, 109, 113, 107, 112, 109, 114, 104, 109, 60, 14, 37,
+  65, 65, 92, 92, 102, 106, 113, 106, 104, 108, 113, 111, 106, 106, 110, 109,
+  110, 112, 111, 107, 108, 113, 114, 114, 113, 112, 111, 111, 112, 112, 111, 114,
+  114, 111, 111, 113, 112, 109, 116, 114, 111, 109, 109, 110, 112, 114, 112, 116,
+  112, 90, 88, 90, 90, 90, 90, 91, 91, 92, 91, 92, 93, 95, 96, 96,
+  94, 94, 94, 94, 94, 94, 95, 94, 94, 95, 96, 94, 95, 95, 94, 93,
+  92, 95, 92, 92, 95, 95, 92, 92, 95, 97, 96, 96, 96, 96, 97, 98,
+  99, 95, 95, 96, 98, 99, 99, 99, 99, 100, 100, 100, 99, 99, 100, 100,
+  101, 100, 100, 99, 99, 100, 101, 102, 102, 102, 102, 101, 102, 103, 104, 105,
+  106, 104, 104, 104, 105, 105, 106, 106, 106, 105, 105, 105, 106, 106, 107, 107,
+  106, 105, 103, 102, 102, 104, 105, 103, 102, 109, 103, 106, 108, 102, 105, 110,
+  105, 108, 108, 108, 109, 109, 110, 110, 110, 109, 109, 109, 110, 111, 111, 112,
+  112, 112, 111, 109, 108, 108, 109, 108, 109, 110, 110, 109, 109, 109, 109, 109,
+  109, 108, 111, 112, 109, 109, 112, 111, 108, 110, 105, 110, 108, 114, 107, 112,
+  60, 14, 38, 66, 66, 92, 92, 102, 105, 113, 106, 104, 108, 113, 111, 106,
+  106, 110, 109, 110, 113, 111, 108, 109, 113, 112, 112, 112, 112, 113, 114, 115,
+  116, 112, 115, 114, 110, 110, 113, 113, 110, 114, 113, 112, 111, 111, 111, 112,
+  112, 114, 116, 109, 90, 88, 89, 89, 90, 90, 92, 92, 92, 91, 92, 93,
+  95, 96, 96, 94, 96, 94, 94, 95, 95, 95, 94, 95, 95, 96, 94, 95,
+  95, 94, 93, 92, 95, 92, 92, 95, 95, 92, 92, 95, 97, 96, 96, 96,
+  96, 97, 98, 99, 97, 98, 99, 100, 99, 98, 96, 95, 101, 100, 99, 98,
+  98, 100, 101, 102, 101, 100, 100, 100, 100, 101, 102, 103, 102, 102, 102, 102,
+  103, 104, 104, 105, 104, 104, 104, 105, 105, 106, 106, 106, 105, 105, 105, 105,
+  106, 106, 107, 106, 106, 104, 103, 103, 105, 105, 104, 103, 108, 103, 106, 108,
+  102, 105, 109, 105, 108, 108, 108, 109, 109, 110, 110, 110, 108, 109, 109, 110,
+  111, 112, 113, 113, 113, 113, 111, 111, 111, 111, 110, 110, 111, 111, 110, 110,
+  110, 110, 110, 110, 107, 111, 112, 110, 110, 112, 111, 107, 109, 105, 110, 107,
+  114, 108, 112, 57, 15, 38, 66, 66, 93, 92, 102, 105, 113, 106, 104, 108,
+  113, 111, 106, 106, 109, 109, 110, 113, 112, 108, 110, 114, 112, 112, 111, 112,
+  112, 113, 115, 115, 113, 115, 113, 109, 109, 112, 113, 111, 112, 113, 113, 113,
+  112, 112, 111, 110, 113, 116, 110, 90, 87, 87, 87, 89, 90, 93, 93, 92,
+  91, 92, 93, 96, 97, 96, 94, 96, 94, 94, 95, 95, 96, 95, 96, 95,
+  96, 94, 95, 95, 94, 93, 92, 96, 93, 93, 96, 96, 93, 93, 96, 97,
+  96, 96, 96, 96, 97, 98, 99, 97, 98, 99, 100, 100, 99, 97, 96, 100,
+  100, 99, 98, 99, 100, 102, 103, 101, 101, 100, 100, 101, 101, 102, 103, 104,
+  104, 104, 104, 103, 102, 102, 101, 104, 104, 104, 105, 105, 106, 106, 106, 105,
+  105, 105, 106, 106, 107, 107, 106, 108, 106, 105, 105, 107, 107, 106, 105, 109,
+  103, 106, 108, 102, 105, 110, 105, 108, 108, 108, 109, 109, 110, 110, 110, 109,
+  109, 110, 111, 112, 113, 113, 114, 113, 113, 111, 111, 111, 111, 110, 110, 111,
+  111, 110, 110, 110, 110, 110, 110, 107, 111, 112, 110, 110, 112, 111, 107, 111,
+  108, 112, 106, 113, 108, 109, 52, 16, 39, 67, 67, 93, 92, 102, 105, 113,
+  106, 104, 108, 113, 111, 106, 106, 109, 109, 110, 113, 112, 109, 111, 115, 113,
+  112, 111, 111, 110, 111, 111, 111, 113, 115, 113, 109, 109, 112, 113, 111, 112,
+  112, 113, 113, 113, 112, 111, 110, 109, 117, 114, 88, 87, 86, 86, 89, 90,
+  93, 95, 92, 91, 92, 93, 96, 97, 96, 95, 96, 94, 95, 95, 96, 97,
+  96, 96, 95, 96, 94, 95, 95, 94, 93, 92, 96, 93, 93, 96, 96, 93,
+  93, 96, 97, 96, 96, 96, 96, 97, 98, 99, 94, 95, 97, 99, 100, 101,
+  102, 102, 99, 99, 99, 99, 100, 101, 102, 103, 101, 101, 101, 101, 101, 102,
+  103, 103, 104, 104, 105, 104, 103, 102, 101, 100, 104, 104, 104, 105, 105, 106,
+  106, 106, 106, 106, 107, 107, 107, 108, 108, 107, 109, 107, 105, 106, 108, 108,
+  107, 106, 110, 104, 107, 109, 103, 106, 111, 106, 108, 108, 108, 109, 109, 110,
+  110, 110, 110, 110, 111, 111, 112, 113, 113, 113, 110, 111, 109, 110, 110, 109,
+  108, 107, 112, 112, 111, 111, 111, 111, 111, 111, 108, 111, 112, 109, 109, 112,
+  111, 108, 112, 110, 113, 106, 113, 108, 108, 47, 17, 40, 68, 67, 93, 92,
+  102, 105, 113, 106, 104, 108, 113, 111, 106, 106, 109, 109, 110, 114, 113, 110,
+  111, 116, 114, 113, 112, 110, 109, 109, 109, 109, 112, 115, 114, 110, 110, 113,
+  113, 110, 112, 113, 113, 113, 113, 112, 111, 110, 108, 117, 116, 88, 86, 86,
+  85, 88, 90, 93, 95, 92, 93, 92, 93, 96, 97, 97, 95, 96, 94, 95,
+  95, 96, 97, 97, 97, 95, 96, 94, 95, 95, 94, 93, 92, 96, 93, 93,
+  96, 96, 93, 93, 96, 97, 96, 96, 96, 96, 97, 98, 99, 95, 96, 96,
+  97, 99, 101, 103, 104, 97, 98, 99, 100, 101, 102, 102, 102, 102, 101, 101,
+  101, 101, 102, 103, 104, 102, 103, 104, 104, 104, 103, 102, 101, 104, 104, 104,
+  105, 105, 106, 106, 106, 107, 107, 108, 108, 109, 109, 109, 108, 108, 106, 105,
+  105, 107, 108, 106, 105, 111, 105, 109, 110, 105, 107, 112, 107, 108, 108, 108,
+  109, 109, 110, 110, 110, 111, 112, 112, 112, 112, 112, 112, 112, 110, 110, 109,
+  110, 110, 109, 107, 107, 112, 112, 111, 111, 111, 111, 111, 111, 109, 112, 111,
+  108, 108, 111, 112, 109, 112, 110, 113, 105, 113, 109, 108, 45, 18, 41, 68,
+  68, 93, 92, 102, 105, 113, 106, 104, 108, 113, 111, 106, 106, 109, 109, 110,
+  114, 113, 110, 112, 117, 115, 114, 113, 111, 111, 110, 110, 110, 111, 114, 114,
+  111, 111, 113, 112, 109, 113, 113, 113, 112, 112, 111, 111, 111, 110, 117, 113,
+  90, 87, 88, 87, 88, 90, 93, 96, 92, 93, 92, 93, 95, 96, 96, 94,
+  94, 94, 95, 96, 97, 97, 97, 98, 95, 96, 94, 95, 95, 94, 94, 92,
+  97, 94, 94, 97, 97, 94, 94, 97, 97, 96, 96, 97, 97, 98, 99, 100,
+  100, 99, 98, 97, 97, 99, 100, 101, 96, 97, 99, 101, 102, 102, 101, 101,
+  102, 101, 101, 100, 101, 101, 103, 103, 99, 100, 102, 103, 104, 104, 103, 103,
+  105, 105, 105, 106, 106, 107, 107, 106, 108, 108, 108, 108, 108, 109, 109, 107,
+  107, 106, 105, 104, 107, 106, 105, 104, 112, 106, 110, 111, 105, 108, 113, 108,
+  108, 108, 108, 109, 109, 110, 111, 111, 114, 114, 113, 113, 113, 112, 112, 111,
+  112, 112, 112, 113, 113, 112, 109, 109, 112, 112, 111, 111, 111, 111, 111, 111,
+  110, 112, 111, 107, 107, 111, 112, 110, 110, 109, 112, 104, 113, 111, 109, 45,
+  17, 41, 69, 70, 94, 93, 104, 106, 113, 105, 104, 108, 111, 111, 108, 108,
+  110, 109, 111, 114, 113, 111, 112, 117, 115, 114, 113, 112, 112, 112, 113, 113,
+  110, 114, 115, 112, 112, 114, 112, 108, 114, 113, 112, 111, 111, 111, 112, 112,
+  114, 116, 109, 91, 91, 89, 90, 90, 91, 91, 91, 92, 91, 91, 91, 91,
+  92, 92, 93, 92, 92, 92, 93, 93, 94, 94, 94, 96, 96, 96, 97, 97,
+  98, 98, 96, 92, 93, 94, 95, 95, 95, 96, 95, 95, 96, 98, 100, 98,
+  98, 100, 101, 99, 98, 98, 99, 99, 100, 100, 100, 102, 102, 102, 101, 101,
+  100, 100, 100, 99, 106, 103, 98, 104, 99, 98, 103, 98, 102, 100, 96, 96,
+  103, 105, 105, 109, 112, 112, 113, 111, 110, 109, 106, 106, 113, 108, 104, 106,
+  103, 98, 108, 103, 108, 109, 105, 108, 110, 106, 98, 114, 110, 108, 110, 110,
+  107, 107, 111, 109, 108, 107, 109, 110, 112, 113, 113, 113, 114, 114, 114, 115,
+  112, 112, 111, 112, 112, 113, 113, 111, 111, 111, 112, 110, 111, 111, 110, 109,
+  110, 112, 115, 107, 110, 112, 111, 108, 106, 107, 109, 112, 104, 112, 107, 108,
+  105, 108, 41, 16, 44, 67, 77, 94, 102, 105, 109, 115, 104, 100, 108, 113,
+  110, 107, 110, 112, 110, 110, 113, 114, 111, 111, 115, 112, 114, 116, 115, 113,
+  112, 114, 116, 111, 115, 115, 112, 111, 113, 112, 108, 114, 113, 112, 111, 111,
+  111, 111, 112, 110, 111, 112, 92, 92, 92, 92, 92, 93, 91, 91, 93, 93,
+  91, 91, 92, 93, 92, 92, 92, 92, 93, 93, 93, 94, 94, 94, 96, 96,
+  96, 97, 97, 98, 98, 96, 93, 91, 93, 94, 94, 95, 96, 96, 95, 97,
+  100, 100, 100, 99, 101, 101, 99, 98, 98, 99, 99, 100, 100, 100, 102, 102,
+  102, 101, 101, 100, 100, 100, 100, 107, 103, 100, 104, 101, 98, 105, 98, 101,
+  100, 97, 98, 103, 104, 104, 109, 110, 110, 109, 109, 107, 107, 106, 99, 105,
+  102, 98, 102, 99, 96, 105, 101, 104, 104, 100, 103, 106, 105, 100, 108, 104,
+  101, 103, 102, 98, 98, 101, 105, 105, 106, 108, 111, 111, 112, 110, 115, 115,
+  115, 113, 114, 113, 113, 114, 109, 110, 111, 110, 107, 107, 108, 109, 110, 111,
+  111, 110, 110, 111, 113, 116, 108, 111, 113, 112, 109, 107, 108, 109, 114, 107,
+  114, 108, 108, 104, 106, 37, 17, 44, 67, 78, 96, 104, 106, 109, 114, 103,
+  99, 106, 112, 109, 108, 110, 112, 110, 110, 113, 114, 111, 111, 115, 112, 114,
+  116, 115, 113, 112, 114, 116, 110, 114, 114, 111, 111, 113, 113, 109, 114, 113,
+  112, 111, 111, 111, 111, 112, 112, 113, 113, 92, 93, 92, 92, 93, 93, 91,
+  91, 94, 94, 93, 93, 93, 94, 93, 93, 92, 93, 93, 93, 94, 94, 94,
+  94, 96, 96, 96, 97, 97, 98, 98, 96, 94, 92, 93, 92, 93, 94, 97,
+  98, 95, 97, 100, 100, 100, 100, 101, 102, 99, 98, 98, 99, 99, 100, 100,
+  100, 102, 102, 101, 101, 101, 101, 100, 100, 103, 110, 107, 104, 108, 105, 100,
+  107, 101, 104, 105, 103, 103, 106, 106, 103, 107, 104, 102, 100, 100, 101, 103,
+  104, 97, 104, 102, 98, 103, 101, 98, 105, 106, 106, 104, 101, 104, 108, 108,
+  106, 110, 107, 106, 108, 108, 105, 106, 108, 102, 104, 105, 107, 108, 109, 108,
+  108, 113, 113, 111, 108, 108, 107, 108, 108, 111, 111, 111, 110, 108, 109, 112,
+  112, 109, 110, 111, 112, 113, 114, 116, 118, 111, 112, 113, 113, 111, 109, 110,
+  110, 117, 109, 116, 110, 109, 104, 105, 35, 17, 44, 67, 79, 96, 104, 106,
+  109, 112, 101, 98, 105, 112, 109, 107, 110, 112, 110, 110, 113, 114, 111, 111,
+  115, 113, 114, 115, 115, 113, 113, 114, 115, 109, 113, 113, 111, 111, 114, 114,
+  110, 114, 113, 112, 111, 111, 111, 111, 112, 114, 114, 114, 93, 93, 92, 93,
+  93, 93, 92, 92, 94, 94, 93, 92, 93, 94, 93, 93, 93, 93, 93, 94,
+  94, 94, 95, 95, 96, 96, 96, 97, 97, 98, 98, 96, 95, 92, 92, 91,
+  92, 94, 97, 99, 96, 97, 101, 100, 100, 100, 101, 102, 99, 98, 98, 99,
+  99, 100, 100, 100, 101, 101, 101, 101, 101, 101, 101, 102, 103, 111, 108, 105,
+  109, 106, 103, 109, 104, 104, 108, 107, 107, 108, 107, 103, 103, 99, 97, 95,
+  95, 97, 100, 102, 101, 108, 104, 101, 106, 105, 101, 106, 102, 99, 100, 100,
+  103, 105, 105, 104, 108, 105, 105, 108, 109, 108, 111, 113, 111, 112, 114, 114,
+  114, 115, 116, 117, 118, 117, 115, 113, 111, 110, 111, 111, 113, 114, 113, 111,
+  108, 108, 112, 115, 106, 108, 112, 112, 114, 116, 119, 120, 112, 112, 113, 113,
+  112, 112, 111, 111, 116, 109, 116, 110, 109, 105, 106, 35, 18, 45, 68, 79,
+  96, 104, 106, 109, 111, 100, 97, 105, 111, 108, 107, 110, 112, 110, 110, 113,
+  114, 111, 111, 115, 114, 114, 114, 114, 114, 114, 114, 114, 108, 112, 113, 111,
+  112, 115, 115, 111, 114, 113, 112, 111, 111, 111, 111, 112, 114, 114, 113, 93,
+  93, 93, 93, 93, 94, 92, 92, 93, 93, 92, 92, 92, 93, 92, 92, 93,
+  93, 94, 94, 94, 95, 95, 95, 96, 96, 96, 97, 97, 98, 98, 96, 96,
+  94, 92, 91, 93, 95, 97, 99, 96, 98, 101, 101, 100, 99, 101, 102, 99,
+  98, 98, 99, 99, 100, 100, 100, 101, 101, 101, 101, 101, 101, 101, 102, 104,
+  113, 110, 107, 111, 108, 105, 110, 107, 106, 109, 110, 111, 109, 108, 104, 99,
+  93, 91, 90, 92, 95, 99, 102, 101, 107, 104, 102, 110, 109, 104, 110, 112,
+  112, 115, 118, 120, 119, 117, 116, 121, 117, 118, 121, 121, 118, 119, 123, 122,
+  122, 123, 121, 120, 121, 125, 128, 123, 123, 121, 122, 122, 123, 124, 124, 120,
+  120, 117, 112, 108, 106, 107, 108, 104, 107, 112, 113, 115, 116, 119, 120, 115,
+  112, 112, 113, 113, 113, 112, 111, 113, 106, 115, 110, 110, 106, 106, 36, 19,
+  46, 69, 80, 97, 104, 106, 109, 111, 100, 97, 104, 111, 109, 107, 110, 112,
+  110, 110, 113, 114, 111, 111, 115, 114, 114, 114, 114, 114, 114, 114, 114, 108,
+  112, 113, 111, 112, 115, 115, 111, 114, 113, 112, 111, 111, 111, 111, 112, 112,
+  112, 112, 94, 94, 93, 93, 94, 94, 92, 93, 93, 93, 91, 91, 92, 93,
+  92, 92, 94, 94, 94, 94, 95, 95, 95, 96, 96, 96, 96, 97, 97, 98,
+  98, 96, 95, 94, 93, 92, 94, 95, 97, 98, 96, 98, 101, 101, 100, 100,
+  101, 101, 98, 98, 98, 99, 99, 100, 100, 100, 100, 100, 101, 101, 101, 101,
+  102, 103, 103, 110, 108, 105, 109, 106, 103, 110, 109, 107, 107, 111, 111, 108,
+  107, 105, 98, 94, 92, 93, 94, 98, 101, 105, 107, 112, 110, 110, 119, 119,
+  116, 123, 125, 126, 128, 133, 135, 131, 130, 130, 132, 130, 128, 130, 129, 124,
+  123, 126, 123, 124, 124, 121, 120, 121, 125, 128, 121, 122, 123, 126, 127, 129,
+  131, 129, 133, 132, 128, 125, 117, 112, 108, 106, 105, 107, 111, 112, 114, 117,
+  118, 118, 113, 111, 111, 112, 114, 114, 113, 111, 111, 105, 114, 110, 110, 105,
+  105, 35, 20, 47, 70, 80, 97, 104, 106, 109, 111, 100, 97, 105, 112, 110,
+  108, 112, 112, 110, 110, 113, 114, 111, 111, 115, 115, 114, 113, 113, 115, 115,
+  114, 113, 109, 113, 113, 111, 111, 114, 114, 110, 114, 113, 112, 111, 111, 111,
+  111, 112, 112, 111, 111, 94, 94, 93, 94, 94, 94, 93, 93, 94, 94, 93,
+  93, 93, 94, 93, 94, 94, 94, 94, 95, 95, 95, 96, 96, 96, 96, 96,
+  97, 97, 98, 98, 96, 94, 94, 94, 95, 95, 96, 97, 97, 97, 98, 100,
+  99, 98, 98, 99, 101, 98, 98, 98, 99, 99, 100, 100, 100, 100, 100, 100,
+  101, 101, 102, 102, 102, 100, 106, 104, 101, 105, 102, 99, 106, 110, 105, 105,
+  108, 108, 105, 105, 107, 102, 100, 102, 103, 105, 107, 110, 113, 117, 123, 118,
+  117, 126, 125, 120, 126, 124, 123, 122, 127, 130, 126, 125, 127, 132, 130, 129,
+  131, 130, 127, 128, 131, 131, 137, 141, 140, 136, 134, 136, 139, 134, 135, 136,
+  138, 138, 137, 134, 128, 137, 134, 134, 133, 126, 120, 116, 112, 106, 107, 111,
+  112, 112, 114, 115, 115, 112, 110, 109, 111, 114, 114, 113, 110, 111, 105, 114,
+  109, 109, 103, 102, 31, 21, 47, 70, 81, 97, 105, 105, 109, 111, 101, 98,
+  106, 113, 111, 110, 113, 112, 110, 110, 113, 114, 111, 111, 115, 116, 114, 112,
+  113, 115, 116, 114, 112, 110, 114, 114, 111, 111, 113, 113, 109, 114, 113, 112,
+  111, 111, 111, 111, 112, 114, 113, 112, 94, 94, 93, 94, 94, 95, 93, 93,
+  96, 96, 94, 94, 94, 95, 94, 95, 94, 94, 94, 95, 95, 96, 96, 96,
+  96, 96, 96, 97, 97, 98, 98, 98, 94, 94, 95, 96, 96, 96, 97, 96,
+  97, 98, 100, 100, 98, 98, 100, 101, 98, 98, 98, 99, 99, 100, 100, 100,
+  100, 100, 100, 101, 101, 102, 102, 101, 96, 101, 98, 97, 101, 99, 96, 105,
+  109, 105, 103, 107, 106, 103, 104, 111, 109, 112, 113, 117, 118, 120, 123, 125,
+  127, 131, 123, 120, 126, 121, 114, 121, 139, 137, 134, 138, 139, 137, 136, 140,
+  149, 148, 149, 155, 156, 155, 157, 161, 152, 159, 165, 166, 164, 158, 158, 158,
+  157, 157, 157, 156, 152, 147, 142, 133, 130, 127, 132, 133, 131, 126, 122, 118,
+  111, 111, 111, 112, 111, 110, 111, 112, 111, 109, 108, 110, 113, 114, 112, 109,
+  113, 106, 115, 109, 107, 101, 99, 28, 21, 48, 70, 81, 97, 105, 105, 109,
+  112, 101, 98, 106, 114, 112, 111, 114, 112, 110, 110, 113, 114, 111, 111, 115,
+  116, 114, 112, 113, 115, 116, 114, 112, 111, 115, 115, 112, 111, 113, 112, 108,
+  114, 113, 112, 111, 111, 111, 111, 112, 116, 115, 113, 95, 97, 97, 96, 94,
+  93, 92, 94, 92, 93, 94, 96, 96, 96, 93, 92, 93, 92, 90, 90, 91,
+  93, 96, 98, 99, 98, 97, 95, 95, 96, 97, 98, 99, 97, 95, 96, 100,
+  101, 99, 97, 97, 98, 99, 99, 97, 97, 99, 100, 100, 101, 101, 102, 102,
+  101, 101, 100, 96, 99, 102, 102, 99, 98, 99, 99, 98, 94, 94, 96, 97,
+  99, 100, 103, 97, 103, 107, 106, 103, 101, 102, 110, 120, 121, 127, 129, 122,
+  125, 131, 128, 119, 121, 117, 119, 128, 124, 123, 137, 147, 148, 152, 155, 150,
+  158, 164, 155, 172, 171, 169, 172, 173, 169, 169, 173, 166, 179, 177, 184, 178,
+  167, 183, 188, 186, 178, 179, 160, 170, 157, 161, 144, 139, 138, 133, 122, 121,
+  134, 138, 133, 121, 122, 112, 106, 108, 106, 103, 113, 109, 110, 111, 112, 112,
+  113, 114, 114, 114, 108, 115, 107, 108, 107, 106, 32, 20, 53, 67, 84, 101,
+  101, 110, 107, 113, 96, 97, 109, 111, 112, 115, 112, 111, 114, 107, 116, 116,
+  107, 114, 111, 113, 113, 114, 114, 114, 113, 112, 112, 112, 113, 113, 114, 114,
+  113, 113, 112, 114, 113, 113, 112, 112, 113, 113, 114, 109, 111, 112, 92, 94,
+  94, 93, 91, 91, 90, 91, 94, 95, 94, 94, 94, 93, 91, 90, 95, 94,
+  93, 93, 94, 96, 98, 99, 98, 97, 97, 96, 96, 97, 97, 98, 99, 97,
+  95, 97, 99, 101, 99, 97, 97, 98, 99, 99, 97, 97, 99, 100, 100, 100,
+  101, 101, 101, 101, 100, 100, 102, 104, 105, 104, 101, 100, 101, 100, 95, 92,
+  93, 95, 96, 97, 99, 102, 100, 103, 110, 113, 112, 111, 111, 118, 136, 133,
+  130, 126, 118, 119, 127, 125, 125, 133, 134, 139, 148, 145, 143, 157, 157, 157,
+  162, 162, 158, 164, 169, 161, 181, 178, 177, 180, 181, 178, 178, 182, 175, 180,
+  173, 182, 181, 173, 185, 185, 178, 173, 176, 161, 172, 162, 169, 157, 151, 147,
+  141, 137, 130, 127, 130, 132, 138, 132, 117, 111, 116, 111, 104, 108, 112, 112,
+  112, 112, 112, 112, 112, 112, 115, 110, 117, 109, 108, 105, 103, 28, 21, 53,
+  68, 84, 101, 101, 110, 107, 113, 96, 98, 109, 111, 112, 115, 112, 111, 114,
+  107, 116, 116, 107, 114, 111, 112, 113, 113, 114, 114, 113, 113, 112, 112, 113,
+  113, 114, 114, 113, 113, 112, 114, 113, 113, 112, 112, 113, 113, 114, 110, 112,
+  113, 92, 93, 93, 93, 91, 91, 90, 92, 96, 95, 93, 92, 91, 91, 89,
+  89, 94, 94, 94, 95, 96, 97, 97, 98, 96, 97, 97, 98, 98, 97, 97,
+  97, 100, 99, 98, 99, 101, 102, 99, 98, 96, 97, 99, 99, 96, 96, 98,
+  99, 99, 99, 100, 100, 100, 100, 99, 99, 105, 105, 105, 104, 101, 101, 102,
+  100, 95, 94, 96, 98, 101, 103, 105, 108, 114, 116, 117, 117, 117, 112, 107,
+  113, 137, 135, 133, 133, 128, 134, 140, 137, 135, 144, 147, 153, 161, 157, 156,
+  167, 159, 156, 160, 159, 155, 160, 165, 158, 168, 166, 166, 169, 169, 168, 169,
+  172, 172, 171, 158, 168, 174, 168, 176, 170, 163, 164, 169, 156, 163, 156, 164,
+  159, 163, 153, 150, 151, 140, 124, 124, 131, 141, 139, 130, 122, 120, 111, 104,
+  111, 114, 114, 114, 113, 112, 111, 111, 110, 115, 111, 119, 111, 109, 105, 100,
+  23, 22, 54, 68, 84, 100, 101, 110, 107, 112, 97, 99, 110, 111, 111, 114,
+  111, 111, 114, 107, 116, 116, 107, 114, 111, 112, 112, 113, 114, 114, 113, 113,
+  112, 112, 113, 113, 114, 114, 113, 113, 112, 114, 113, 113, 112, 112, 113, 113,
+  114, 111, 113, 114, 95, 96, 97, 96, 95, 95, 94, 96, 95, 94, 91, 90,
+  90, 91, 90, 91, 91, 92, 93, 94, 95, 95, 94, 94, 95, 96, 97, 99,
+  99, 98, 97, 96, 99, 99, 99, 100, 100, 101, 99, 99, 96, 97, 99, 99,
+  96, 96, 98, 99, 98, 99, 99, 100, 100, 99, 99, 98, 102, 102, 101, 100,
+  100, 100, 101, 102, 102, 103, 106, 109, 112, 113, 115, 118, 121, 119, 117, 116,
+  114, 113, 107, 112, 137, 139, 142, 151, 151, 156, 157, 148, 149, 154, 150, 153,
+  162, 158, 156, 163, 156, 153, 157, 156, 148, 153, 158, 150, 155, 152, 152, 155,
+  156, 154, 155, 158, 165, 163, 149, 159, 163, 159, 167, 162, 159, 162, 165, 156,
+  154, 153, 155, 157, 167, 163, 159, 158, 152, 140, 135, 132, 127, 139, 141, 133,
+  122, 109, 107, 119, 114, 114, 113, 113, 113, 112, 112, 112, 113, 110, 119, 112,
+  111, 105, 99, 21, 23, 55, 68, 84, 100, 101, 110, 108, 112, 97, 100, 111,
+  111, 110, 113, 111, 111, 114, 107, 116, 116, 107, 114, 111, 111, 112, 113, 114,
+  114, 114, 113, 113, 112, 113, 113, 114, 114, 113, 113, 112, 114, 113, 113, 112,
+  112, 113, 113, 114, 112, 114, 114, 95, 97, 98, 97, 96, 96, 96, 97, 92,
+  91, 90, 90, 91, 93, 93, 94, 92, 93, 94, 95, 95, 95, 94, 94, 94,
+  95, 97, 98, 99, 98, 97, 97, 100, 100, 101, 101, 100, 100, 99, 99, 96,
+  97, 98, 98, 96, 96, 96, 99, 98, 99, 99, 100, 100, 99, 99, 98, 100,
+  100, 99, 100, 101, 102, 102, 105, 112, 116, 116, 116, 117, 117, 119, 122, 119,
+  117, 115, 117, 122, 125, 128, 134, 156, 155, 157, 162, 159, 161, 159, 147, 162,
+  157, 147, 148, 161, 160, 155, 158, 154, 150, 155, 153, 144, 150, 155, 149, 151,
+  148, 149, 151, 152, 149, 150, 154, 153, 156, 148, 155, 155, 147, 158, 157, 158,
+  163, 162, 158, 150, 153, 151, 154, 164, 168, 163, 158, 159, 162, 155, 139, 127,
+  135, 137, 134, 132, 123, 117, 123, 113, 112, 113, 113, 113, 114, 114, 114, 111,
+  108, 118, 112, 111, 105, 99, 21, 25, 56, 69, 84, 100, 101, 111, 108, 111,
+  98, 102, 112, 111, 109, 112, 111, 111, 114, 107, 116, 116, 107, 114, 111, 111,
+  112, 113, 114, 114, 114, 114, 114, 112, 113, 113, 114, 114, 113, 113, 112, 114,
+  113, 113, 112, 112, 113, 113, 114, 112, 114, 114, 93, 94, 95, 95, 94, 94,
+  94, 96, 90, 90, 90, 91, 93, 95, 94, 95, 97, 97, 97, 97, 97, 97,
+  97, 97, 94, 95, 96, 97, 98, 98, 98, 98, 99, 100, 102, 102, 99, 99,
+  99, 100, 96, 97, 98, 98, 96, 96, 96, 97, 99, 99, 100, 100, 100, 100,
+  99, 99, 101, 101, 101, 102, 104, 104, 103, 107, 117, 120, 119, 117, 114, 115,
+  116, 119, 126, 127, 126, 129, 133, 140, 145, 151, 173, 168, 167, 167, 161, 165,
+  168, 161, 166, 159, 147, 147, 159, 159, 156, 162, 156, 155, 161, 159, 149, 153,
+  159, 154, 155, 152, 151, 153, 153, 150, 151, 154, 150, 156, 151, 158, 157, 146,
+  159, 160, 158, 165, 159, 162, 153, 162, 157, 160, 157, 165, 165, 159, 164, 174,
+  168, 150, 146, 139, 126, 127, 142, 143, 129, 121, 115, 112, 112, 113, 114, 115,
+  115, 116, 111, 108, 118, 111, 110, 105, 99, 21, 26, 57, 69, 84, 99, 101,
+  111, 109, 110, 98, 103, 114, 111, 108, 111, 110, 111, 114, 107, 116, 116, 107,
+  114, 111, 110, 111, 112, 113, 114, 114, 114, 114, 112, 113, 113, 114, 114, 113,
+  113, 112, 114, 113, 113, 112, 112, 113, 113, 114, 111, 113, 114, 90, 92, 93,
+  93, 92, 93, 92, 94, 91, 92, 92, 94, 95, 95, 93, 93, 99, 98, 96,
+  96, 95, 96, 97, 98, 95, 95, 95, 96, 97, 98, 99, 100, 98, 101, 102,
+  102, 99, 99, 98, 101, 96, 97, 98, 98, 96, 96, 96, 97, 100, 100, 101,
+  101, 101, 101, 100, 100, 102, 101, 101, 103, 104, 103, 98, 102, 113, 118, 116,
+  114, 113, 116, 122, 126, 136, 143, 147, 149, 153, 155, 160, 164, 175, 170, 171,
+  173, 167, 170, 176, 172, 159, 159, 152, 151, 155, 151, 152, 165, 158, 162, 169,
+  167, 157, 161, 166, 161, 163, 160, 159, 160, 160, 157, 156, 159, 156, 163, 159,
+  168, 167, 156, 167, 169, 166, 172, 161, 169, 159, 172, 164, 164, 157, 160, 166,
+  167, 168, 170, 171, 167, 161, 149, 129, 125, 138, 141, 134, 129, 119, 114, 114,
+  114, 114, 114, 114, 114, 114, 110, 119, 110, 109, 103, 97, 19, 27, 58, 70,
+  84, 99, 101, 111, 109, 109, 98, 104, 114, 111, 108, 111, 110, 111, 114, 107,
+  116, 116, 107, 114, 111, 110, 111, 112, 113, 114, 115, 115, 114, 112, 113, 113,
+  114, 114, 113, 113, 112, 114, 113, 113, 112, 112, 113, 113, 114, 110, 112, 113,
+  89, 91, 93, 93, 93, 91, 93, 95, 93, 93, 94, 96, 96, 93, 92, 91,
+  98, 96, 94, 92, 92, 94, 96, 97, 96, 96, 95, 95, 96, 98, 100, 101,
+  97, 101, 103, 102, 100, 98, 100, 103, 97, 98, 99, 98, 96, 94, 96, 97,
+  100, 102, 102, 103, 102, 101, 100, 99, 100, 100, 101, 105, 108, 106, 101, 106,
+  112, 119, 116, 117, 120, 126, 133, 140, 134, 144, 155, 161, 164, 168, 172, 177,
+  171, 170, 178, 179, 171, 169, 168, 162, 156, 161, 160, 156, 153, 145, 146, 163,
+  159, 161, 169, 167, 158, 162, 170, 165, 174, 170, 168, 169, 169, 164, 164, 167,
+  162, 168, 164, 175, 175, 167, 175, 172, 171, 175, 163, 173, 162, 177, 168, 165,
+  161, 161, 170, 177, 172, 163, 169, 181, 165, 161, 144, 131, 131, 133, 140, 147,
+  127, 119, 116, 115, 114, 113, 111, 111, 117, 112, 120, 110, 108, 102, 96, 18,
+  27, 59, 69, 84, 99, 101, 111, 111, 109, 99, 105, 115, 111, 107, 110, 110,
+  111, 114, 107, 116, 116, 107, 114, 111, 110, 111, 112, 113, 114, 115, 115, 115,
+  112, 113, 113, 114, 114, 113, 113, 112, 114, 113, 113, 112, 112, 113, 113, 114,
+  109, 111, 112, 92, 92, 92, 92, 93, 94, 95, 94, 94, 94, 94, 91, 90,
+  92, 96, 98, 94, 94, 94, 95, 95, 96, 96, 96, 92, 93, 94, 94, 95,
+  96, 97, 97, 99, 101, 102, 103, 103, 104, 103, 103, 105, 103, 99, 97, 96,
+  95, 95, 97, 97, 100, 101, 102, 101, 99, 97, 95, 105, 93, 102, 117, 118,
+  112, 110, 110, 127, 131, 131, 133, 137, 137, 137, 136, 141, 148, 156, 160, 163,
+  166, 173, 181, 176, 175, 179, 198, 170, 178, 176, 176, 166, 173, 159, 163, 167,
+  154, 161, 166, 156, 171, 174, 164, 161, 168, 169, 161, 177, 172, 175, 175, 167,
+  164, 168, 163, 173, 180, 176, 173, 177, 175, 171, 178, 181, 177, 173, 172, 174,
+  176, 178, 174, 158, 167, 173, 169, 167, 170, 172, 167, 160, 159, 158, 150, 139,
+  136, 150, 154, 142, 116, 110, 115, 119, 116, 110, 109, 112, 109, 110, 112, 104,
+  111, 98, 24, 30, 60, 70, 85, 101, 103, 112, 109, 111, 93, 106, 112, 110,
+  115, 108, 112, 111, 107, 114, 116, 109, 111, 116, 112, 114, 114, 115, 115, 115,
+  114, 113, 113, 113, 114, 114, 114, 114, 113, 112, 111, 115, 115, 115, 114, 114,
+  113, 113, 113, 111, 111, 112, 92, 92, 91, 90, 90, 90, 90, 90, 94, 94,
+  93, 92, 91, 92, 94, 96, 94, 94, 94, 95, 95, 96, 96, 96, 93, 93,
+  94, 95, 96, 96, 97, 97, 99, 99, 101, 101, 101, 103, 103, 104, 106, 104,
+  100, 98, 97, 95, 93, 97, 102, 104, 105, 105, 103, 101, 99, 98, 98, 96,
+  106, 116, 114, 112, 118, 120, 136, 140, 138, 140, 143, 146, 146, 145, 151, 153,
+  157, 160, 165, 167, 170, 172, 177, 173, 181, 183, 177, 173, 180, 182, 169, 177,
+  164, 167, 170, 157, 161, 165, 155, 163, 167, 164, 168, 175, 176, 172, 172, 168,
+  175, 176, 168, 170, 175, 171, 176, 183, 179, 176, 180, 176, 173, 179, 177, 173,
+  169, 171, 174, 176, 172, 167, 173, 174, 174, 173, 174, 177, 174, 166, 162, 162,
+  161, 157, 147, 142, 152, 150, 138, 130, 129, 121, 117, 118, 118, 110, 110, 109,
+  109, 113, 104, 112, 100, 23, 30, 57, 69, 84, 101, 104, 113, 110, 114, 95,
+  107, 113, 110, 114, 106, 109, 111, 108, 114, 116, 109, 111, 116, 112, 111, 112,
+  112, 113, 113, 112, 111, 111, 114, 115, 115, 115, 115, 114, 113, 112, 115, 115,
+  115, 114, 114, 113, 113, 113, 111, 111, 112, 94, 93, 92, 91, 90, 90, 89,
+  89, 94, 95, 94, 94, 92, 92, 92, 94, 94, 94, 94, 95, 95, 96, 96,
+  96, 94, 94, 94, 95, 96, 96, 97, 97, 98, 97, 97, 98, 99, 100, 102,
+  103, 102, 102, 101, 99, 97, 96, 93, 95, 104, 105, 104, 103, 103, 102, 101,
+  102, 98, 103, 112, 111, 103, 107, 121, 125, 137, 140, 139, 140, 145, 149, 152,
+  154, 156, 156, 157, 162, 169, 170, 167, 165, 176, 174, 181, 167, 184, 168, 180,
+  187, 168, 177, 166, 170, 173, 159, 163, 166, 159, 160, 163, 167, 173, 177, 179,
+  178, 172, 168, 174, 176, 169, 171, 178, 175, 176, 183, 179, 175, 179, 175, 171,
+  178, 173, 171, 169, 172, 176, 175, 170, 163, 181, 176, 172, 172, 178, 180, 173,
+  162, 165, 161, 160, 158, 151, 143, 144, 139, 125, 134, 142, 125, 115, 117, 117,
+  108, 110, 109, 109, 113, 105, 110, 98, 22, 29, 57, 69, 84, 102, 105, 114,
+  111, 115, 96, 108, 113, 110, 113, 105, 108, 112, 108, 114, 117, 110, 111, 116,
+  112, 111, 111, 112, 113, 113, 112, 112, 111, 115, 116, 116, 116, 116, 115, 114,
+  113, 115, 115, 115, 114, 114, 113, 113, 113, 111, 111, 112, 95, 95, 94, 93,
+  93, 93, 93, 93, 93, 95, 95, 95, 93, 92, 91, 92, 94, 94, 94, 95,
+  95, 96, 96, 96, 94, 95, 95, 96, 96, 97, 97, 97, 98, 97, 96, 95,
+  97, 99, 102, 103, 100, 99, 100, 100, 99, 97, 94, 95, 99, 100, 100, 101,
+  103, 102, 103, 104, 107, 111, 114, 104, 98, 110, 129, 131, 139, 143, 142, 142,
+  146, 150, 155, 158, 157, 158, 160, 165, 168, 168, 164, 163, 174, 179, 176, 164,
+  183, 168, 172, 185, 165, 174, 164, 170, 175, 162, 166, 169, 165, 160, 159, 167,
+  172, 172, 172, 174, 175, 170, 176, 176, 168, 170, 177, 173, 173, 180, 176, 172,
+  175, 171, 167, 174, 170, 172, 174, 175, 176, 175, 174, 172, 179, 174, 171, 170,
+  175, 176, 170, 162, 168, 162, 160, 158, 153, 146, 143, 134, 118, 130, 142, 133,
+  122, 121, 117, 110, 110, 107, 108, 113, 105, 109, 96, 19, 29, 57, 69, 85,
+  102, 105, 115, 112, 115, 95, 108, 113, 110, 113, 106, 109, 112, 109, 115, 117,
+  110, 111, 116, 111, 113, 113, 114, 115, 115, 115, 114, 114, 115, 115, 116, 116,
+  115, 114, 113, 113, 115, 115, 115, 114, 114, 113, 113, 113, 112, 112, 112, 93,
+  93, 93, 93, 94, 95, 96, 97, 93, 95, 95, 95, 93, 92, 91, 92, 94,
+  94, 94, 95, 95, 96, 96, 96, 95, 96, 96, 96, 96, 97, 97, 97, 98,
+  96, 95, 95, 96, 98, 102, 102, 98, 98, 100, 101, 99, 98, 95, 94, 95,
+  96, 98, 101, 105, 106, 109, 111, 116, 111, 108, 98, 99, 118, 137, 137, 143,
+  146, 145, 145, 146, 150, 154, 159, 152, 158, 165, 167, 166, 166, 165, 167, 172,
+  183, 169, 174, 175, 174, 162, 179, 168, 177, 166, 172, 175, 160, 163, 166, 169,
+  162, 161, 166, 171, 170, 169, 170, 177, 171, 175, 175, 168, 170, 177, 174, 172,
+  179, 175, 172, 175, 171, 168, 174, 167, 173, 178, 177, 173, 173, 178, 183, 175,
+  171, 172, 172, 172, 172, 171, 171, 174, 165, 159, 158, 157, 151, 147, 140, 128,
+  128, 138, 145, 141, 129, 122, 116, 111, 107, 108, 111, 101, 105, 92, 16, 28,
+  58, 70, 85, 103, 105, 115, 112, 112, 93, 106, 112, 110, 114, 108, 111, 113,
+  110, 116, 118, 110, 111, 116, 111, 112, 113, 114, 115, 115, 115, 115, 115, 114,
+  114, 114, 114, 114, 113, 112, 111, 115, 115, 115, 114, 114, 113, 113, 113, 112,
+  112, 113, 89, 89, 90, 91, 92, 94, 95, 96, 94, 95, 94, 94, 92, 92,
+  92, 94, 94, 94, 94, 95, 95, 96, 96, 96, 96, 96, 96, 97, 97, 97,
+  97, 96, 97, 96, 96, 96, 97, 99, 101, 101, 98, 98, 99, 98, 99, 98,
+  98, 96, 94, 96, 101, 106, 110, 112, 115, 117, 117, 105, 101, 101, 105, 125,
+  141, 141, 147, 148, 150, 150, 150, 150, 155, 159, 153, 161, 167, 168, 167, 165,
+  167, 170, 170, 179, 166, 179, 168, 174, 159, 170, 171, 179, 167, 169, 172, 158,
+  161, 164, 167, 166, 165, 166, 169, 171, 172, 171, 173, 168, 172, 173, 167, 171,
+  179, 177, 172, 179, 176, 172, 176, 173, 170, 177, 164, 171, 177, 175, 170, 170,
+  177, 183, 172, 171, 176, 176, 173, 170, 174, 180, 176, 167, 160, 159, 159, 155,
+  152, 148, 137, 128, 130, 142, 147, 137, 126, 120, 114, 109, 107, 109, 97, 103,
+  90, 13, 30, 59, 71, 86, 103, 105, 114, 111, 111, 93, 106, 112, 111, 115,
+  109, 112, 114, 111, 116, 118, 111, 111, 116, 111, 109, 110, 111, 112, 113, 113,
+  113, 113, 113, 113, 114, 114, 113, 113, 112, 111, 115, 115, 115, 114, 114, 113,
+  113, 113, 113, 113, 113, 91, 91, 91, 91, 92, 94, 94, 95, 94, 94, 93,
+  92, 91, 92, 94, 96, 94, 94, 94, 95, 95, 96, 96, 96, 97, 97, 97,
+  97, 97, 97, 97, 96, 96, 94, 97, 98, 99, 100, 101, 101, 98, 98, 98,
+  97, 98, 98, 99, 98, 94, 98, 104, 109, 112, 115, 116, 117, 113, 101, 103,
+  113, 120, 133, 145, 146, 149, 151, 154, 154, 155, 156, 158, 161, 161, 164, 167,
+  169, 170, 169, 169, 169, 173, 166, 167, 175, 168, 168, 167, 164, 168, 176, 164,
+  167, 171, 158, 163, 167, 162, 168, 170, 163, 162, 168, 172, 168, 171, 165, 171,
+  171, 164, 168, 176, 174, 169, 176, 173, 170, 175, 172, 169, 176, 166, 169, 172,
+  173, 172, 171, 172, 173, 175, 174, 176, 178, 174, 170, 174, 183, 175, 168, 163,
+  164, 162, 157, 154, 153, 144, 138, 133, 133, 138, 140, 134, 122, 119, 112, 107,
+  107, 94, 100, 86, 12, 31, 61, 73, 86, 103, 104, 113, 110, 113, 94, 107,
+  113, 110, 114, 107, 110, 115, 111, 117, 119, 111, 111, 116, 111, 109, 110, 111,
+  112, 113, 113, 113, 113, 114, 114, 115, 115, 114, 113, 113, 112, 115, 115, 115,
+  114, 114, 113, 113, 113, 113, 113, 113, 95, 95, 94, 94, 94, 95, 95, 96,
+  94, 94, 92, 91, 90, 92, 95, 98, 94, 94, 94, 95, 95, 96, 96, 96,
+  97, 97, 97, 97, 97, 97, 97, 96, 96, 95, 98, 100, 101, 101, 101, 101,
+  99, 99, 96, 96, 97, 99, 101, 101, 95, 98, 106, 112, 116, 116, 115, 117,
+  112, 102, 111, 128, 134, 139, 149, 152, 150, 154, 158, 159, 158, 158, 162, 164,
+  171, 169, 168, 169, 173, 173, 171, 167, 176, 156, 172, 167, 170, 160, 175, 162,
+  161, 168, 157, 163, 170, 161, 170, 175, 158, 170, 170, 157, 155, 163, 166, 160,
+  175, 169, 170, 169, 162, 165, 172, 169, 164, 171, 169, 166, 172, 169, 168, 174,
+  171, 169, 171, 174, 178, 176, 170, 163, 177, 173, 174, 176, 174, 169, 172, 179,
+  174, 169, 168, 168, 166, 158, 153, 154, 155, 158, 147, 132, 134, 149, 148, 130,
+  125, 116, 109, 107, 95, 97, 83, 11, 32, 62, 73, 87, 103, 104, 112, 109,
+  115, 96, 108, 113, 110, 113, 105, 108, 115, 112, 117, 119, 111, 111, 116, 111,
+  111, 112, 113, 114, 115, 116, 116, 116, 115, 116, 116, 116, 116, 115, 114, 113,
+  115, 115, 115, 114, 114, 113, 113, 113, 113, 113, 113, 89, 94, 95, 92, 91,
+  94, 94, 93, 95, 95, 93, 94, 94, 95, 94, 94, 97, 96, 95, 94, 94,
+  94, 95, 95, 91, 96, 99, 99, 100, 102, 101, 95, 97, 95, 95, 98, 99,
+  96, 94, 98, 99, 97, 96, 96, 98, 99, 98, 97, 102, 107, 110, 111, 119,
+  125, 119, 105, 109, 113, 118, 125, 135, 144, 151, 155, 158, 156, 154, 154, 158,
+  160, 162, 162, 166, 172, 176, 170, 167, 168, 168, 164, 179, 170, 164, 165, 169,
+  166, 164, 163, 165, 162, 163, 164, 164, 161, 165, 171, 169, 165, 169, 169, 160,
+  158, 163, 161, 170, 166, 166, 169, 168, 164, 166, 172, 166, 171, 173, 165, 164,
+  165, 173, 173, 167, 170, 174, 171, 174, 175, 176, 171, 175, 178, 166, 175, 181,
+  178, 183, 174, 168, 174, 171, 165, 165, 159, 153, 161, 161, 156, 148, 140, 136,
+  137, 140, 140, 135, 119, 111, 124, 96, 98, 71, 11, 33, 60, 72, 88, 104,
+  102, 111, 110, 112, 98, 111, 113, 109, 115, 109, 110, 113, 114, 116, 115, 113,
+  111, 111, 112, 116, 116, 115, 114, 114, 113, 112, 112, 115, 115, 115, 114, 114,
+  113, 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 116, 115, 115, 89, 94,
+  95, 92, 91, 94, 94, 93, 95, 95, 93, 94, 94, 95, 94, 94, 94, 94,
+  94, 94, 94, 95, 97, 97, 93, 97, 99, 98, 98, 101, 101, 97, 99, 95,
+  95, 98, 99, 96, 95, 98, 96, 97, 98, 101, 103, 104, 104, 103, 100, 108,
+  117, 121, 123, 121, 112, 103, 116, 121, 124, 129, 137, 144, 151, 153, 156, 156,
+  155, 155, 157, 158, 162, 163, 157, 164, 169, 167, 166, 170, 170, 168, 174, 166,
+  162, 163, 165, 162, 161, 160, 167, 163, 162, 164, 164, 163, 165, 168, 168, 165,
+  171, 173, 163, 160, 163, 158, 163, 161, 164, 168, 167, 162, 164, 169, 164, 167,
+  167, 165, 167, 171, 171, 168, 168, 171, 172, 170, 170, 173, 172, 169, 175, 177,
+  167, 174, 178, 173, 179, 169, 176, 179, 171, 168, 172, 168, 161, 166, 157, 158,
+  155, 148, 138, 135, 136, 136, 146, 132, 119, 125, 100, 107, 74, 11, 33, 60,
+  72, 89, 105, 103, 110, 110, 111, 97, 111, 113, 109, 115, 109, 111, 112, 113,
+  115, 115, 113, 112, 112, 113, 114, 114, 114, 114, 114, 114, 114, 114, 115, 115,
+  115, 114, 114, 113, 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 115, 115,
+  114, 90, 94, 96, 92, 91, 94, 95, 93, 95, 95, 93, 94, 94, 95, 94,
+  94, 93, 93, 93, 94, 95, 96, 98, 99, 95, 98, 98, 96, 97, 101, 101,
+  98, 100, 96, 96, 100, 99, 96, 97, 100, 94, 97, 102, 105, 106, 105, 106,
+  108, 107, 112, 118, 122, 119, 111, 107, 112, 123, 126, 128, 132, 136, 143, 148,
+  151, 153, 156, 158, 157, 156, 156, 160, 163, 154, 160, 165, 165, 165, 168, 170,
+  170, 168, 164, 164, 165, 165, 161, 161, 162, 167, 161, 159, 160, 162, 158, 158,
+  160, 163, 162, 171, 175, 166, 163, 165, 156, 157, 158, 163, 167, 166, 162, 162,
+  165, 162, 163, 162, 163, 169, 174, 171, 164, 168, 171, 170, 166, 165, 168, 169,
+  166, 172, 175, 165, 172, 174, 169, 174, 165, 175, 174, 166, 164, 172, 169, 160,
+  161, 154, 159, 162, 154, 142, 134, 133, 131, 150, 139, 129, 126, 102, 115, 74,
+  13, 33, 61, 73, 90, 106, 103, 110, 109, 110, 95, 110, 112, 109, 115, 110,
+  112, 110, 112, 114, 114, 113, 112, 113, 114, 112, 112, 113, 114, 114, 115, 116,
+  116, 115, 115, 114, 114, 114, 114, 113, 113, 114, 114, 114, 114, 114, 114, 114,
+  114, 113, 113, 114, 90, 95, 96, 93, 92, 94, 95, 93, 95, 95, 93, 94,
+  94, 95, 94, 94, 94, 93, 93, 94, 95, 96, 97, 98, 96, 99, 98, 95,
+  96, 100, 101, 99, 100, 97, 98, 100, 100, 97, 97, 100, 96, 100, 103, 105,
+  104, 104, 106, 110, 125, 118, 113, 114, 112, 108, 116, 129, 129, 130, 131, 134,
+  136, 142, 144, 147, 150, 156, 160, 159, 156, 156, 160, 165, 162, 165, 168, 168,
+  168, 167, 168, 168, 165, 164, 166, 168, 167, 161, 162, 165, 168, 161, 158, 158,
+  159, 156, 155, 157, 157, 157, 166, 169, 163, 164, 166, 157, 154, 156, 159, 160,
+  160, 161, 162, 164, 161, 163, 163, 162, 165, 170, 168, 163, 164, 166, 165, 161,
+  161, 165, 166, 164, 167, 171, 161, 167, 169, 164, 171, 163, 165, 169, 162, 160,
+  167, 166, 159, 163, 158, 162, 163, 157, 148, 142, 138, 134, 142, 143, 139, 128,
+  105, 116, 67, 12, 33, 61, 74, 91, 107, 103, 110, 108, 108, 94, 109, 112,
+  109, 116, 110, 112, 109, 112, 114, 114, 113, 113, 114, 115, 113, 113, 113, 114,
+  114, 115, 115, 115, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114, 114,
+  114, 114, 114, 114, 112, 113, 113, 91, 95, 97, 93, 92, 95, 95, 94, 95,
+  95, 93, 94, 94, 95, 94, 94, 96, 95, 95, 94, 94, 95, 95, 96, 97,
+  99, 99, 95, 96, 100, 100, 98, 103, 100, 100, 102, 102, 98, 99, 102, 100,
+  102, 103, 104, 106, 107, 111, 117, 130, 119, 110, 111, 116, 117, 127, 140, 132,
+  132, 135, 135, 138, 140, 143, 145, 150, 156, 161, 160, 157, 156, 160, 165, 165,
+  166, 168, 169, 169, 163, 165, 166, 166, 166, 167, 170, 168, 162, 163, 166, 171,
+  165, 162, 161, 161, 157, 157, 157, 154, 154, 160, 161, 157, 164, 169, 158, 154,
+  157, 157, 155, 155, 158, 162, 165, 161, 165, 165, 159, 157, 160, 164, 164, 158,
+  160, 159, 156, 157, 162, 164, 162, 161, 166, 158, 165, 167, 162, 171, 164, 162,
+  170, 167, 163, 168, 166, 165, 172, 163, 158, 156, 153, 153, 150, 146, 140, 136,
+  142, 148, 135, 111, 117, 59, 16, 35, 62, 75, 91, 106, 103, 110, 108, 108,
+  94, 108, 111, 108, 115, 110, 112, 109, 112, 114, 114, 113, 113, 114, 115, 115,
+  115, 115, 114, 114, 113, 113, 113, 114, 114, 114, 114, 114, 114, 114, 114, 114,
+  114, 114, 114, 114, 114, 114, 114, 112, 113, 113, 91, 95, 97, 94, 93, 95,
+  96, 94, 95, 95, 93, 94, 94, 95, 94, 94, 97, 96, 95, 94, 94, 94,
+  94, 95, 96, 99, 99, 97, 97, 100, 100, 99, 104, 101, 102, 104, 104, 100,
+  100, 102, 102, 102, 102, 105, 110, 114, 114, 119, 118, 117, 115, 119, 127, 132,
+  137, 140, 135, 135, 135, 137, 138, 140, 142, 145, 150, 157, 161, 162, 161, 160,
+  163, 165, 164, 164, 166, 169, 167, 163, 163, 166, 168, 166, 165, 167, 166, 163,
+  161, 164, 166, 163, 160, 159, 156, 152, 152, 156, 155, 151, 157, 153, 152, 163,
+  168, 158, 156, 157, 157, 151, 151, 156, 163, 164, 161, 165, 165, 157, 153, 155,
+  160, 163, 154, 157, 158, 155, 157, 161, 163, 161, 156, 163, 155, 163, 164, 160,
+  169, 164, 160, 170, 168, 165, 168, 166, 166, 176, 162, 154, 149, 149, 153, 155,
+  150, 144, 136, 139, 151, 140, 119, 120, 53, 23, 37, 64, 75, 90, 105, 102,
+  111, 110, 108, 94, 108, 111, 108, 114, 109, 111, 110, 112, 114, 114, 113, 112,
+  113, 114, 116, 116, 115, 114, 114, 113, 112, 112, 113, 113, 114, 114, 114, 114,
+  115, 115, 114, 114, 114, 114, 114, 114, 114, 114, 113, 113, 114, 91, 96, 97,
+  94, 93, 96, 96, 95, 95, 95, 93, 94, 94, 95, 94, 94, 95, 95, 94,
+  94, 94, 95, 96, 96, 95, 99, 100, 98, 98, 100, 99, 97, 106, 103, 102,
+  104, 105, 100, 100, 103, 105, 102, 103, 106, 113, 112, 107, 107, 101, 113, 121,
+  125, 132, 137, 142, 140, 137, 135, 137, 138, 139, 140, 141, 145, 152, 157, 159,
+  162, 163, 164, 164, 164, 165, 164, 166, 170, 169, 163, 163, 168, 175, 168, 164,
+  167, 167, 165, 163, 164, 163, 164, 163, 161, 155, 148, 152, 160, 156, 154, 157,
+  152, 149, 160, 163, 152, 155, 158, 158, 153, 151, 156, 161, 160, 156, 159, 159,
+  154, 153, 157, 158, 156, 154, 157, 158, 156, 157, 160, 160, 157, 156, 163, 156,
+  162, 163, 157, 167, 162, 162, 167, 164, 160, 165, 163, 162, 168, 157, 153, 151,
+  152, 155, 155, 153, 147, 142, 134, 141, 135, 123, 121, 47, 26, 40, 65, 74,
+  89, 103, 102, 111, 112, 109, 95, 109, 111, 107, 113, 107, 109, 112, 113, 115,
+  115, 113, 112, 112, 113, 114, 114, 114, 114, 114, 114, 114, 114, 113, 113, 113,
+  114, 114, 115, 115, 115, 114, 114, 114, 114, 114, 114, 114, 114, 115, 115, 114,
+  91, 95, 97, 93, 93, 95, 96, 95, 95, 95, 93, 94, 94, 95, 94, 94,
+  92, 93, 93, 94, 95, 96, 98, 99, 94, 99, 101, 99, 99, 99, 97, 96,
+  106, 105, 102, 102, 102, 98, 96, 100, 103, 102, 103, 109, 118, 116, 104, 99,
+  102, 124, 132, 127, 126, 134, 139, 139, 133, 134, 136, 137, 141, 143, 144, 149,
+  154, 157, 159, 162, 166, 167, 166, 164, 172, 169, 171, 175, 172, 165, 164, 169,
+  182, 173, 167, 169, 172, 169, 167, 166, 170, 170, 172, 169, 159, 154, 160, 169,
+  159, 157, 160, 154, 150, 160, 161, 145, 154, 159, 160, 155, 154, 158, 159, 155,
+  152, 151, 152, 152, 156, 160, 157, 150, 156, 160, 161, 158, 158, 160, 158, 154,
+  155, 162, 154, 160, 159, 153, 164, 161, 169, 170, 163, 160, 169, 168, 164, 164,
+  155, 154, 159, 158, 157, 155, 154, 152, 147, 131, 134, 133, 129, 132, 54, 36,
+  49, 73, 78, 92, 103, 101, 110, 110, 108, 94, 107, 110, 107, 113, 107, 109,
+  113, 114, 116, 115, 113, 111, 111, 112, 112, 112, 113, 114, 114, 115, 116, 116,
+  113, 113, 113, 114, 114, 115, 115, 115, 114, 114, 114, 114, 114, 114, 114, 114,
+  116, 115, 115, 92, 89, 91, 89, 92, 92, 94, 95, 96, 92, 90, 94, 95,
+  93, 91, 92, 92, 98, 94, 92, 98, 96, 93, 99, 98, 101, 101, 98, 99,
+  101, 102, 101, 102, 104, 103, 100, 94, 89, 86, 88, 96, 99, 105, 117, 125,
+  122, 118, 120, 137, 143, 143, 136, 133, 131, 130, 130, 132, 128, 134, 139, 140,
+  150, 158, 154, 157, 169, 168, 164, 170, 173, 171, 176, 175, 177, 176, 175, 176,
+  177, 170, 162, 194, 174, 178, 185, 173, 169, 174, 166, 181, 169, 161, 164, 166,
+  165, 162, 165, 170, 159, 154, 155, 163, 165, 163, 162, 169, 165, 159, 157, 158,
+  160, 159, 156, 150, 149, 151, 148, 145, 145, 148, 153, 159, 159, 160, 152, 150,
+  164, 167, 149, 155, 146, 155, 164, 155, 147, 152, 157, 168, 166, 166, 166, 169,
+  171, 173, 170, 168, 160, 154, 153, 157, 159, 155, 151, 156, 140, 133, 132, 131,
+  124, 98, 53, 74, 88, 99, 98, 104, 105, 100, 102, 103, 87, 102, 106, 106,
+  112, 109, 113, 112, 112, 115, 115, 113, 113, 117, 118, 113, 113, 113, 114, 113,
+  114, 114, 114, 116, 115, 113, 111, 110, 110, 110, 111, 113, 113, 113, 113, 113,
+  113, 113, 113, 115, 115, 114, 93, 92, 92, 91, 92, 94, 95, 96, 96, 91,
+  90, 94, 95, 93, 92, 93, 92, 97, 94, 92, 98, 96, 94, 98, 94, 97,
+  98, 94, 94, 96, 96, 96, 104, 106, 102, 97, 92, 87, 86, 90, 91, 103,
+  114, 117, 114, 114, 125, 146, 153, 155, 148, 140, 134, 131, 129, 127, 133, 126,
+  133, 139, 139, 144, 149, 145, 160, 168, 163, 156, 162, 165, 167, 173, 161, 162,
+  162, 162, 165, 168, 165, 159, 168, 154, 159, 165, 159, 163, 172, 164, 154, 153,
+  156, 165, 165, 160, 158, 161, 157, 155, 154, 154, 150, 146, 149, 155, 148, 146,
+  145, 146, 149, 150, 148, 145, 143, 144, 145, 144, 144, 144, 149, 153, 135, 139,
+  149, 152, 149, 155, 152, 134, 150, 140, 146, 157, 151, 148, 156, 160, 157, 156,
+  158, 159, 162, 163, 163, 159, 152, 152, 155, 159, 164, 164, 160, 156, 153, 148,
+  148, 141, 127, 125, 122, 102, 95, 98, 103, 108, 116, 111, 103, 104, 98, 86,
+  105, 110, 108, 113, 111, 116, 112, 112, 115, 115, 113, 113, 115, 116, 113, 113,
+  113, 114, 113, 114, 113, 113, 116, 115, 113, 112, 111, 111, 111, 112, 113, 113,
+  113, 113, 113, 113, 113, 113, 115, 114, 113, 94, 93, 93, 92, 92, 93, 94,
+  94, 96, 91, 90, 94, 96, 93, 92, 94, 92, 98, 94, 92, 99, 97, 93,
+  98, 93, 95, 96, 91, 91, 94, 94, 92, 104, 102, 99, 95, 92, 91, 92,
+  97, 101, 107, 112, 111, 107, 112, 131, 154, 149, 146, 140, 135, 135, 133, 132,
+  129, 139, 127, 128, 136, 134, 137, 148, 147, 141, 153, 158, 158, 163, 159, 150,
+  149, 152, 153, 153, 153, 156, 160, 157, 152, 165, 158, 156, 150, 140, 143, 146,
+  134, 142, 147, 155, 162, 163, 158, 160, 161, 157, 152, 153, 152, 147, 141, 142,
+  147, 161, 160, 158, 156, 154, 148, 141, 137, 131, 134, 135, 134, 134, 135, 137,
+  139, 136, 130, 133, 136, 131, 136, 139, 135, 137, 127, 128, 136, 132, 133, 141,
+  142, 137, 141, 148, 154, 156, 152, 145, 140, 153, 152, 151, 152, 152, 154, 155,
+  156, 154, 153, 156, 147, 130, 129, 139, 130, 111, 106, 108, 116, 128, 122, 113,
+  115, 99, 89, 109, 112, 107, 112, 109, 113, 111, 111, 114, 114, 112, 112, 114,
+  115, 112, 112, 113, 113, 113, 113, 114, 114, 116, 115, 114, 113, 112, 112, 112,
+  113, 113, 113, 113, 113, 113, 113, 113, 113, 114, 114, 113, 92, 91, 91, 91,
+  90, 90, 91, 91, 96, 91, 90, 94, 96, 94, 93, 95, 93, 98, 95, 93,
+  99, 97, 93, 98, 95, 96, 96, 93, 93, 97, 97, 94, 99, 96, 92, 91,
+  92, 95, 99, 104, 116, 108, 103, 109, 121, 132, 142, 148, 143, 138, 135, 136,
+  139, 137, 136, 134, 139, 122, 122, 133, 134, 143, 162, 171, 177, 190, 197, 199,
+  205, 200, 189, 187, 189, 191, 191, 190, 191, 192, 186, 178, 185, 188, 186, 176,
+  173, 182, 185, 177, 185, 186, 185, 184, 184, 187, 194, 199, 193, 183, 181, 183,
+  186, 180, 176, 173, 177, 176, 179, 179, 180, 177, 175, 173, 178, 179, 181, 179,
+  178, 175, 175, 175, 179, 166, 166, 166, 159, 158, 164, 168, 168, 156, 153, 156,
+  155, 155, 159, 157, 169, 158, 144, 131, 126, 127, 132, 139, 148, 151, 150, 149,
+  148, 150, 154, 155, 161, 153, 155, 154, 148, 148, 148, 130, 120, 121, 119, 118,
+  128, 130, 127, 127, 110, 97, 110, 109, 105, 112, 108, 109, 110, 111, 113, 113,
+  112, 112, 114, 115, 113, 113, 113, 113, 113, 113, 113, 113, 116, 115, 115, 114,
+  114, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 112, 91,
+  91, 91, 91, 91, 91, 90, 90, 96, 91, 91, 95, 97, 95, 94, 96, 94,
+  100, 96, 94, 99, 97, 93, 96, 94, 96, 97, 94, 95, 96, 96, 93, 94,
+  91, 90, 92, 98, 103, 109, 115, 117, 108, 106, 118, 137, 148, 148, 142, 141,
+  134, 135, 142, 144, 140, 138, 136, 137, 125, 131, 143, 147, 158, 176, 183, 174,
+  178, 171, 165, 172, 178, 182, 190, 198, 201, 203, 203, 204, 202, 193, 183, 195,
+  204, 201, 191, 193, 201, 201, 199, 201, 198, 191, 187, 189, 194, 201, 204, 193,
+  190, 193, 195, 193, 186, 186, 189, 192, 190, 189, 186, 184, 181, 181, 180, 176,
+  174, 173, 172, 171, 170, 171, 170, 184, 177, 186, 191, 183, 175, 173, 172, 197,
+  184, 180, 180, 179, 181, 184, 178, 178, 173, 164, 154, 142, 131, 119, 118, 123,
+  134, 141, 148, 153, 155, 155, 155, 162, 152, 155, 160, 159, 159, 156, 138, 125,
+  137, 134, 121, 125, 137, 138, 136, 127, 108, 114, 109, 105, 115, 107, 104, 108,
+  109, 111, 111, 111, 111, 113, 114, 112, 112, 113, 113, 113, 113, 114, 114, 115,
+  115, 115, 115, 114, 114, 113, 113, 113, 113, 113, 113, 113, 113, 113, 113, 112,
+  112, 111, 92, 92, 93, 94, 94, 94, 93, 93, 95, 91, 91, 95, 97, 96,
+  95, 97, 95, 100, 96, 94, 100, 97, 91, 96, 92, 95, 95, 92, 91, 94,
+  94, 91, 91, 89, 91, 98, 107, 113, 115, 119, 107, 113, 123, 135, 144, 145,
+  147, 145, 134, 128, 133, 140, 138, 132, 129, 131, 136, 137, 151, 163, 163, 169,
+  178, 173, 169, 174, 168, 162, 170, 176, 180, 189, 176, 180, 183, 184, 187, 187,
+  179, 169, 187, 196, 190, 182, 186, 185, 182, 186, 185, 186, 185, 182, 182, 187,
+  189, 187, 175, 186, 197, 196, 182, 173, 182, 197, 199, 197, 193, 188, 184, 183,
+  185, 184, 179, 174, 172, 173, 175, 177, 178, 178, 174, 170, 176, 176, 168, 168,
+  171, 169, 185, 175, 175, 176, 176, 179, 182, 174, 171, 177, 186, 189, 183, 167,
+  146, 139, 128, 130, 123, 121, 126, 134, 142, 146, 151, 149, 155, 161, 154, 155,
+  164, 160, 135, 148, 143, 128, 129, 137, 139, 139, 136, 119, 125, 115, 109, 118,
+  110, 106, 108, 109, 111, 111, 109, 109, 113, 114, 113, 113, 113, 113, 113, 113,
+  113, 113, 113, 113, 114, 114, 114, 114, 113, 112, 113, 113, 113, 113, 113, 113,
+  113, 113, 111, 111, 111, 90, 91, 93, 94, 95, 95, 94, 93, 95, 91, 91,
+  95, 98, 96, 96, 97, 97, 102, 97, 95, 100, 97, 91, 96, 91, 92, 92,
+  89, 92, 95, 96, 90, 89, 87, 92, 100, 111, 116, 116, 117, 113, 126, 138,
+  149, 150, 145, 146, 147, 129, 122, 127, 133, 131, 123, 127, 133, 145, 153, 167,
+  169, 163, 170, 173, 159, 161, 173, 176, 175, 182, 182, 177, 180, 179, 181, 182,
+  183, 187, 190, 186, 179, 179, 189, 187, 189, 200, 196, 193, 208, 192, 199, 202,
+  197, 194, 196, 197, 195, 198, 204, 211, 211, 202, 196, 201, 212, 189, 191, 193,
+  195, 198, 203, 211, 215, 187, 182, 178, 178, 181, 184, 187, 188, 191, 188, 188,
+  177, 167, 178, 191, 185, 178, 171, 174, 176, 175, 179, 182, 174, 189, 183, 174,
+  169, 171, 177, 182, 192, 169, 157, 136, 124, 124, 127, 131, 134, 139, 139, 149,
+  158, 153, 154, 165, 167, 153, 153, 147, 144, 146, 137, 131, 139, 132, 122, 136,
+  126, 112, 116, 111, 108, 110, 111, 113, 113, 109, 109, 111, 112, 111, 111, 113,
+  112, 113, 112, 113, 113, 111, 112, 113, 114, 114, 113, 112, 111, 113, 113, 113,
+  113, 113, 113, 113, 113, 111, 110, 110, 87, 88, 90, 92, 93, 93, 92, 92,
+  95, 91, 91, 95, 98, 96, 96, 98, 97, 103, 97, 94, 100, 95, 91, 96,
+  90, 93, 93, 92, 93, 97, 97, 94, 89, 88, 95, 105, 114, 117, 115, 115,
+  133, 137, 146, 154, 156, 151, 147, 144, 130, 123, 127, 133, 127, 121, 129, 142,
+  152, 158, 168, 159, 153, 164, 170, 157, 168, 178, 174, 169, 175, 178, 178, 184,
+  185, 185, 182, 181, 185, 190, 189, 184, 193, 199, 193, 192, 199, 183, 174, 192,
+  194, 203, 206, 195, 185, 185, 191, 194, 209, 199, 193, 198, 206, 205, 200, 196,
+  208, 208, 206, 200, 194, 191, 192, 193, 200, 192, 188, 186, 188, 191, 193, 194,
+  186, 195, 201, 191, 179, 186, 190, 174, 172, 168, 173, 176, 172, 177, 179, 169,
+  168, 169, 171, 173, 175, 172, 166, 166, 190, 184, 174, 168, 165, 155, 138, 127,
+  130, 125, 134, 149, 153, 155, 155, 151, 167, 152, 144, 160, 163, 136, 126, 140,
+  125, 125, 147, 134, 115, 116, 111, 111, 112, 113, 114, 113, 111, 109, 111, 112,
+  111, 111, 113, 112, 113, 112, 113, 113, 110, 111, 112, 113, 114, 113, 112, 111,
+  113, 113, 113, 113, 113, 113, 113, 113, 110, 110, 110, 90, 94, 94, 91, 92,
+  95, 95, 93, 96, 96, 97, 97, 97, 98, 98, 98, 102, 101, 98, 96, 95,
+  91, 91, 90, 96, 94, 92, 92, 94, 97, 100, 101, 93, 97, 110, 113, 107,
+  111, 129, 137, 138, 152, 161, 157, 150, 147, 139, 130, 126, 134, 136, 124, 115,
+  123, 142, 156, 164, 160, 163, 165, 166, 165, 168, 170, 166, 170, 176, 183, 184,
+  181, 181, 185, 190, 182, 177, 181, 192, 199, 199, 195, 194, 193, 194, 192, 190,
+  191, 196, 198, 198, 199, 201, 203, 205, 206, 208, 205, 203, 194, 190, 194, 199,
+  199, 197, 195, 208, 201, 208, 203, 184, 191, 205, 200, 197, 206, 209, 203, 198,
+  197, 195, 192, 194, 204, 203, 190, 184, 191, 198, 193, 182, 169, 167, 169, 168,
+  176, 184, 180, 180, 175, 168, 170, 180, 184, 177, 168, 166, 164, 164, 172, 178,
+  175, 160, 149, 129, 121, 120, 131, 138, 134, 138, 153, 155, 160, 158, 153, 149,
+  147, 145, 142, 136, 117, 114, 132, 135, 122, 114, 117, 119, 120, 116, 108, 107,
+  110, 111, 110, 110, 111, 113, 112, 111, 111, 114, 116, 113, 114, 114, 114, 114,
+  113, 112, 111, 114, 114, 114, 113, 113, 112, 112, 112, 113, 113, 113, 91, 94,
+  94, 91, 92, 95, 96, 93, 94, 94, 94, 95, 95, 96, 96, 96, 99, 99,
+  96, 95, 94, 93, 93, 94, 89, 94, 99, 101, 100, 101, 102, 102, 104, 99,
+  105, 108, 105, 115, 130, 134, 146, 153, 153, 148, 143, 140, 136, 129, 129, 128,
+  128, 130, 139, 149, 153, 148, 156, 155, 160, 163, 168, 170, 174, 176, 172, 171,
+  176, 182, 187, 183, 185, 185, 185, 179, 179, 181, 191, 194, 194, 188, 194, 195,
+  197, 196, 194, 192, 194, 195, 196, 198, 200, 202, 205, 207, 211, 207, 196, 195,
+  197, 200, 201, 200, 199, 199, 201, 196, 204, 205, 195, 201, 208, 198, 202, 208,
+  207, 201, 199, 204, 206, 204, 183, 199, 210, 204, 200, 197, 190, 178, 187, 176,
+  178, 174, 162, 164, 173, 172, 187, 183, 179, 179, 180, 179, 173, 162, 155, 151,
+  151, 157, 166, 171, 168, 165, 177, 150, 126, 120, 126, 127, 124, 130, 145, 148,
+  147, 152, 158, 158, 147, 135, 139, 129, 124, 131, 136, 135, 129, 124, 119, 121,
+  121, 115, 111, 110, 112, 110, 110, 111, 113, 112, 111, 111, 114, 116, 113, 114,
+  114, 114, 114, 113, 112, 111, 114, 114, 114, 113, 113, 112, 112, 112, 113, 113,
+  113, 91, 94, 94, 92, 92, 95, 96, 93, 94, 94, 95, 95, 95, 96, 96,
+  96, 96, 96, 95, 95, 95, 95, 96, 97, 91, 97, 102, 105, 106, 105, 108,
+  111, 116, 107, 106, 110, 115, 130, 143, 144, 156, 157, 154, 146, 139, 135, 128,
+  120, 121, 123, 129, 140, 154, 163, 157, 143, 149, 151, 155, 161, 167, 171, 176,
+  177, 175, 169, 173, 177, 183, 180, 182, 182, 179, 177, 181, 182, 187, 186, 187,
+  182, 188, 191, 193, 193, 190, 187, 188, 187, 190, 192, 193, 196, 199, 203, 207,
+  207, 191, 195, 202, 203, 199, 196, 195, 196, 209, 203, 204, 202, 196, 200, 202,
+  190, 204, 209, 211, 212, 213, 214, 210, 204, 187, 195, 199, 190, 189, 194, 196,
+  194, 183, 182, 187, 180, 164, 164, 178, 183, 176, 177, 178, 179, 179, 177, 174,
+  168, 162, 155, 153, 154, 160, 162, 163, 162, 166, 175, 174, 156, 129, 109, 108,
+  121, 142, 142, 138, 138, 145, 148, 144, 138, 139, 138, 133, 127, 132, 143, 143,
+  134, 122, 126, 127, 122, 115, 113, 112, 112, 110, 111, 111, 112, 111, 111, 114,
+  116, 113, 114, 114, 114, 114, 113, 112, 111, 114, 114, 114, 113, 113, 112, 112,
+  112, 113, 113, 113, 91, 94, 95, 92, 92, 96, 96, 93, 97, 97, 97, 98,
+  98, 98, 99, 99, 97, 95, 94, 94, 96, 96, 96, 98, 101, 101, 102, 104,
+  106, 110, 113, 117, 117, 110, 112, 120, 126, 143, 159, 160, 159, 159, 154, 145,
+  133, 123, 114, 108, 116, 131, 147, 154, 154, 154, 150, 145, 149, 150, 156, 162,
+  167, 171, 175, 176, 173, 169, 173, 174, 175, 170, 175, 178, 179, 178, 182, 180,
+  182, 180, 182, 183, 183, 185, 187, 187, 185, 184, 183, 184, 188, 188, 189, 191,
+  193, 197, 199, 201, 194, 199, 203, 201, 197, 195, 194, 193, 217, 212, 206, 198,
+  194, 199, 204, 201, 198, 195, 195, 192, 196, 195, 194, 188, 202, 200, 190, 177,
+  173, 182, 193, 200, 187, 187, 192, 187, 171, 173, 187, 192, 177, 174, 174, 177,
+  179, 178, 177, 175, 165, 162, 162, 161, 159, 155, 152, 150, 160, 165, 169, 166,
+  158, 144, 121, 107, 121, 130, 131, 132, 134, 138, 143, 146, 140, 142, 141, 131,
+  129, 137, 145, 144, 132, 130, 131, 126, 120, 119, 116, 110, 112, 111, 111, 110,
+  111, 111, 114, 116, 113, 114, 114, 114, 114, 113, 112, 111, 114, 114, 114, 113,
+  113, 112, 112, 112, 113, 113, 113, 92, 95, 95, 93, 93, 96, 97, 94, 97,
+  97, 98, 98, 99, 99, 99, 99, 98, 97, 96, 95, 96, 95, 96, 96, 105,
+  103, 103, 108, 114, 116, 112, 112, 112, 113, 122, 129, 133, 147, 161, 164, 152,
+  150, 144, 133, 120, 110, 110, 111, 129, 143, 159, 164, 157, 154, 155, 153, 157,
+  160, 164, 168, 171, 174, 176, 176, 172, 173, 178, 178, 171, 165, 170, 179, 179,
+  179, 179, 176, 175, 174, 179, 182, 182, 183, 184, 183, 181, 182, 185, 188, 188,
+  188, 188, 188, 190, 191, 192, 194, 202, 207, 207, 203, 203, 207, 207, 203, 209,
+  215, 212, 205, 205, 211, 218, 224, 227, 214, 202, 196, 199, 204, 212, 215, 203,
+  203, 198, 189, 183, 181, 179, 178, 199, 197, 198, 194, 181, 182, 188, 188, 195,
+  184, 176, 179, 181, 179, 175, 175, 169, 168, 167, 167, 162, 159, 159, 158, 159,
+  159, 156, 156, 160, 160, 147, 137, 102, 109, 115, 125, 137, 143, 144, 144, 144,
+  144, 144, 140, 130, 127, 140, 149, 142, 135, 133, 128, 126, 124, 117, 109, 113,
+  113, 111, 110, 111, 111, 114, 116, 113, 114, 114, 114, 114, 113, 112, 111, 114,
+  114, 114, 113, 113, 112, 112, 112, 113, 113, 113, 92, 95, 96, 93, 93, 97,
+  97, 94, 95, 96, 96, 96, 97, 97, 97, 98, 100, 99, 98, 96, 96, 94,
+  95, 97, 100, 101, 106, 114, 119, 115, 103, 101, 117, 126, 138, 143, 142, 148,
+  162, 161, 154, 144, 134, 126, 119, 121, 133, 139, 146, 145, 151, 156, 160, 166,
+  163, 155, 162, 165, 169, 171, 171, 172, 174, 175, 174, 176, 184, 183, 178, 170,
+  176, 183, 182, 179, 178, 174, 174, 173, 178, 181, 185, 187, 188, 185, 186, 188,
+  193, 197, 189, 189, 189, 190, 189, 188, 187, 188, 196, 202, 202, 198, 201, 209,
+  211, 206, 195, 211, 212, 207, 210, 208, 207, 214, 201, 195, 196, 197, 201, 197,
+  197, 199, 198, 197, 197, 195, 192, 188, 184, 184, 197, 191, 195, 193, 186, 189,
+  194, 189, 192, 180, 173, 178, 183, 180, 177, 179, 184, 180, 174, 167, 164, 163,
+  165, 167, 153, 161, 167, 164, 156, 151, 154, 165, 138, 122, 105, 105, 123, 139,
+  142, 140, 146, 147, 148, 147, 137, 128, 136, 144, 139, 135, 135, 132, 129, 126,
+  120, 111, 113, 113, 111, 110, 110, 111, 114, 116, 113, 114, 114, 114, 114, 113,
+  112, 111, 114, 114, 114, 113, 113, 112, 112, 112, 113, 113, 113, 92, 95, 96,
+  93, 94, 97, 97, 94, 96, 96, 96, 97, 97, 97, 98, 98, 100, 99, 98,
+  96, 96, 95, 97, 99, 99, 103, 108, 109, 107, 101, 97, 101, 131, 140, 151,
+  156, 151, 156, 164, 162, 154, 140, 131, 133, 141, 149, 159, 160, 146, 139, 142,
+  147, 159, 168, 167, 160, 169, 171, 172, 174, 172, 170, 169, 171, 177, 177, 182,
+  186, 188, 183, 184, 187, 187, 184, 184, 182, 183, 182, 184, 184, 190, 192, 194,
+  194, 194, 193, 196, 198, 193, 194, 196, 197, 196, 194, 190, 186, 187, 196, 200,
+  194, 193, 199, 201, 197, 192, 208, 205, 199, 205, 201, 192, 200, 202, 204, 212,
+  219, 218, 208, 202, 202, 204, 199, 196, 196, 197, 198, 200, 201, 192, 188, 195,
+  197, 191, 193, 199, 194, 179, 170, 171, 180, 182, 176, 175, 185, 196, 193, 183,
+  175, 170, 168, 166, 163, 172, 159, 152, 163, 173, 167, 155, 149, 171, 151, 124,
+  111, 116, 127, 139, 145, 147, 152, 151, 146, 143, 143, 142, 132, 124, 127, 139,
+  137, 130, 125, 118, 114, 114, 113, 111, 110, 110, 110, 113, 115, 113, 114, 114,
+  114, 114, 113, 112, 111, 114, 114, 114, 113, 113, 112, 112, 112, 113, 113, 113,
+  91, 95, 95, 92, 94, 97, 99, 97, 100, 100, 101, 101, 101, 100, 100, 100,
+  99, 97, 97, 96, 94, 95, 98, 101, 103, 110, 111, 106, 97, 95, 101, 116,
+  140, 144, 153, 156, 153, 158, 164, 155, 144, 128, 123, 136, 153, 161, 162, 153,
+  144, 143, 149, 151, 155, 164, 169, 171, 175, 177, 180, 180, 179, 176, 174, 177,
+  175, 172, 173, 183, 191, 191, 187, 184, 189, 188, 188, 189, 190, 190, 188, 186,
+  188, 191, 195, 195, 195, 194, 194, 194, 193, 195, 197, 199, 199, 196, 193, 187,
+  190, 205, 213, 204, 195, 196, 198, 195, 200, 212, 202, 195, 210, 211, 203, 211,
+  218, 212, 206, 203, 198, 194, 200, 211, 209, 208, 205, 206, 204, 199, 193, 191,
+  199, 197, 203, 203, 189, 187, 191, 187, 181, 179, 183, 191, 187, 174, 172, 183,
+  184, 185, 180, 178, 179, 175, 167, 161, 168, 164, 166, 168, 156, 143, 149, 168,
+  152, 155, 152, 140, 124, 118, 126, 139, 134, 146, 143, 137, 144, 159, 153, 125,
+  115, 129, 149, 147, 134, 123, 120, 119, 117, 117, 114, 112, 108, 108, 109, 111,
+  112, 113, 113, 113, 113, 112, 111, 110, 113, 113, 113, 112, 112, 111, 111, 111,
+  113, 113, 113, 90, 90, 90, 92, 94, 96, 99, 100, 101, 101, 100, 101, 99,
+  99, 97, 97, 100, 100, 99, 97, 94, 97, 99, 104, 114, 110, 105, 104, 112,
+  121, 128, 132, 137, 145, 157, 157, 150, 153, 152, 136, 125, 125, 129, 144, 163,
+  160, 147, 144, 147, 148, 154, 158, 161, 165, 169, 171, 173, 173, 174, 175, 177,
+  179, 182, 181, 170, 175, 181, 182, 180, 179, 182, 186, 193, 185, 187, 189, 184,
+  184, 183, 173, 181, 186, 192, 191, 187, 185, 189, 193, 185, 198, 206, 199, 187,
+  186, 193, 197, 197, 198, 195, 192, 195, 203, 207, 206, 206, 202, 199, 200, 206,
+  209, 208, 206, 203, 199, 201, 208, 205, 196, 195, 202, 207, 211, 211, 205, 200,
+  200, 200, 198, 204, 203, 202, 199, 192, 187, 193, 203, 188, 189, 186, 180, 178,
+  181, 182, 182, 187, 180, 171, 167, 169, 171, 167, 163, 169, 168, 165, 164, 162,
+  158, 156, 153, 156, 159, 157, 153, 151, 141, 118, 99, 106, 122, 130, 131, 140,
+  152, 153, 136, 143, 131, 134, 142, 144, 135, 125, 123, 121, 120, 118, 114, 110,
+  106, 101, 104, 107, 110, 110, 110, 110, 110, 110, 110, 111, 111, 111, 110, 110,
+  109, 109, 109, 113, 113, 113, 89, 89, 90, 92, 94, 97, 100, 101, 103, 103,
+  103, 102, 101, 100, 98, 97, 101, 98, 96, 97, 100, 102, 106, 110, 108, 108,
+  107, 110, 120, 130, 137, 141, 153, 150, 153, 151, 145, 146, 147, 133, 120, 130,
+  137, 146, 155, 152, 143, 145, 148, 150, 152, 156, 160, 163, 165, 166, 175, 175,
+  176, 177, 179, 180, 180, 180, 173, 175, 178, 179, 180, 180, 183, 186, 182, 174,
+  176, 182, 181, 185, 186, 177, 183, 185, 186, 186, 185, 184, 184, 184, 184, 191,
+  193, 189, 185, 188, 192, 194, 195, 200, 205, 205, 207, 207, 203, 196, 203, 205,
+  209, 215, 220, 221, 217, 213, 198, 198, 203, 210, 211, 208, 209, 212, 199, 207,
+  210, 206, 202, 203, 205, 206, 204, 197, 193, 198, 201, 196, 190, 186, 190, 193,
+  192, 185, 183, 184, 185, 184, 181, 175, 170, 170, 173, 173, 168, 162, 171, 168,
+  165, 164, 164, 162, 156, 153, 150, 152, 151, 149, 148, 144, 134, 124, 106, 105,
+  111, 129, 139, 138, 141, 146, 138, 130, 127, 133, 138, 136, 133, 126, 123, 120,
+  119, 114, 110, 105, 101, 103, 107, 110, 110, 110, 110, 110, 110, 110, 111, 111,
+  111, 110, 110, 109, 109, 109, 112, 112, 112, 90, 89, 90, 93, 94, 97, 99,
+  100, 104, 103, 101, 100, 99, 98, 98, 96, 96, 93, 93, 97, 104, 109, 110,
+  114, 103, 107, 109, 117, 128, 138, 144, 147, 152, 148, 156, 162, 156, 146, 137,
+  119, 123, 146, 158, 156, 155, 151, 146, 148, 155, 153, 153, 157, 163, 166, 166,
+  164, 174, 175, 177, 178, 178, 177, 176, 174, 177, 176, 177, 178, 179, 181, 183,
+  184, 181, 171, 173, 180, 182, 189, 191, 181, 191, 189, 187, 188, 189, 189, 186,
+  183, 193, 193, 191, 188, 191, 197, 197, 193, 197, 199, 198, 195, 195, 199, 201,
+  199, 201, 205, 209, 211, 209, 207, 204, 202, 212, 214, 214, 207, 201, 196, 192,
+  187, 200, 208, 212, 207, 202, 202, 203, 203, 204, 197, 194, 198, 203, 198, 189,
+  184, 186, 193, 195, 188, 184, 183, 184, 184, 179, 175, 173, 175, 178, 176, 169,
+  162, 172, 168, 164, 165, 167, 167, 161, 156, 152, 153, 151, 150, 152, 155, 157,
+  157, 136, 115, 104, 114, 130, 134, 133, 136, 132, 129, 123, 121, 126, 133, 134,
+  128, 121, 117, 114, 112, 110, 109, 108, 108, 112, 112, 112, 112, 112, 112, 113,
+  113, 114, 114, 114, 113, 114, 113, 113, 112, 111, 111, 111, 91, 91, 93, 94,
+  95, 97, 98, 98, 100, 100, 100, 97, 98, 97, 95, 93, 90, 87, 92, 100,
+  106, 110, 108, 110, 107, 112, 120, 127, 138, 146, 151, 153, 166, 154, 152, 152,
+  140, 134, 136, 131, 130, 158, 170, 161, 156, 153, 149, 149, 161, 158, 156, 160,
+  168, 172, 171, 168, 170, 171, 174, 176, 176, 175, 173, 171, 177, 174, 173, 174,
+  177, 180, 181, 181, 191, 180, 179, 184, 185, 191, 191, 180, 190, 190, 190, 190,
+  189, 189, 187, 185, 195, 195, 193, 192, 195, 200, 197, 191, 190, 193, 193, 190,
+  191, 197, 201, 202, 202, 204, 204, 200, 195, 194, 198, 203, 203, 209, 210, 204,
+  204, 212, 214, 210, 198, 201, 203, 201, 201, 203, 201, 197, 201, 200, 201, 198,
+  193, 187, 192, 201, 177, 187, 192, 187, 181, 180, 181, 182, 177, 175, 174, 176,
+  178, 177, 170, 165, 172, 167, 163, 164, 168, 169, 164, 158, 161, 158, 156, 151,
+  149, 150, 155, 161, 149, 147, 129, 108, 106, 121, 126, 124, 135, 139, 130, 119,
+  119, 127, 133, 130, 119, 113, 110, 109, 110, 112, 115, 114, 114, 113, 113, 113,
+  113, 114, 114, 116, 117, 117, 117, 116, 117, 116, 116, 115, 112, 111, 111, 93,
+  93, 94, 94, 95, 95, 97, 97, 96, 96, 96, 93, 94, 93, 91, 90, 87,
+  88, 94, 103, 109, 111, 109, 109, 118, 125, 133, 139, 146, 150, 152, 153, 153,
+  149, 156, 153, 135, 125, 125, 121, 137, 159, 166, 158, 158, 159, 153, 153, 162,
+  159, 156, 160, 168, 172, 172, 169, 166, 168, 171, 174, 176, 176, 175, 173, 178,
+  176, 174, 175, 178, 180, 181, 181, 196, 185, 185, 188, 187, 190, 189, 178, 184,
+  188, 191, 190, 186, 184, 186, 189, 183, 189, 193, 192, 194, 196, 194, 190, 178,
+  190, 202, 207, 206, 204, 198, 191, 199, 203, 205, 204, 201, 204, 212, 220, 221,
+  224, 217, 202, 194, 197, 197, 192, 197, 196, 195, 197, 205, 211, 207, 199, 198,
+  199, 203, 201, 195, 190, 196, 205, 172, 182, 191, 188, 181, 180, 183, 184, 178,
+  176, 173, 173, 175, 175, 172, 169, 169, 165, 161, 162, 166, 168, 165, 160, 161,
+  157, 156, 152, 147, 144, 146, 152, 145, 163, 160, 129, 102, 96, 105, 116, 134,
+  144, 139, 127, 117, 121, 130, 133, 119, 110, 106, 105, 110, 115, 122, 121, 117,
+  114, 114, 114, 114, 116, 116, 117, 118, 118, 120, 119, 120, 119, 119, 116, 114,
+  111, 111, 95, 95, 95, 95, 95, 95, 95, 95, 95, 94, 93, 92, 91, 91,
+  90, 90, 90, 94, 102, 107, 111, 111, 112, 116, 126, 134, 139, 144, 147, 148,
+  147, 147, 136, 137, 144, 138, 122, 121, 127, 117, 145, 157, 157, 153, 161, 164,
+  159, 160, 158, 156, 154, 156, 160, 164, 165, 164, 165, 167, 170, 173, 176, 177,
+  178, 178, 179, 177, 178, 178, 179, 180, 181, 182, 189, 181, 185, 189, 186, 188,
+  188, 179, 186, 192, 197, 195, 190, 187, 190, 195, 178, 186, 193, 194, 194, 197,
+  198, 197, 184, 194, 201, 201, 198, 197, 195, 191, 193, 199, 205, 207, 204, 203,
+  205, 208, 194, 196, 196, 194, 197, 207, 216, 220, 210, 206, 200, 198, 204, 209,
+  203, 194, 199, 194, 195, 202, 207, 202, 195, 189, 176, 184, 192, 188, 184, 184,
+  187, 186, 179, 176, 173, 172, 173, 174, 174, 174, 166, 164, 162, 162, 164, 165,
+  164, 163, 157, 153, 153, 156, 152, 149, 149, 155, 159, 151, 147, 148, 134, 108,
+  90, 97, 126, 136, 137, 130, 121, 117, 126, 134, 122, 111, 105, 103, 110, 117,
+  125, 125, 117, 113, 113, 114, 114, 116, 116, 117, 118, 120, 120, 120, 120, 120,
+  120, 118, 114, 111, 111, 96, 96, 96, 95, 95, 94, 94, 92, 94, 93, 93,
+  91, 92, 92, 93, 93, 97, 102, 106, 107, 108, 110, 118, 127, 134, 140, 143,
+  144, 144, 141, 140, 139, 148, 140, 128, 111, 110, 142, 170, 167, 160, 162, 157,
+  156, 163, 163, 158, 163, 156, 155, 153, 152, 152, 154, 155, 156, 163, 164, 166,
+  168, 171, 173, 175, 176, 175, 177, 180, 180, 178, 177, 179, 182, 179, 177, 185,
+  191, 186, 187, 189, 182, 192, 194, 196, 195, 192, 190, 190, 192, 186, 191, 193,
+  192, 192, 197, 199, 198, 194, 197, 194, 186, 183, 189, 197, 202, 194, 197, 199,
+  198, 194, 191, 191, 192, 219, 216, 214, 213, 210, 208, 211, 217, 214, 213, 208,
+  201, 200, 203, 201, 196, 202, 196, 195, 201, 205, 199, 190, 184, 185, 190, 192,
+  189, 187, 188, 187, 185, 178, 176, 175, 174, 175, 175, 175, 175, 163, 164, 164,
+  163, 161, 161, 163, 166, 159, 155, 156, 160, 159, 155, 154, 157, 165, 145, 136,
+  147, 154, 135, 103, 94, 119, 123, 127, 134, 132, 122, 123, 130, 130, 116, 107,
+  105, 109, 116, 125, 125, 116, 112, 112, 113, 113, 114, 114, 116, 117, 118, 118,
+  119, 119, 119, 119, 116, 113, 110, 110, 98, 98, 96, 95, 94, 92, 92, 92,
+  94, 94, 94, 95, 95, 97, 97, 100, 104, 109, 110, 108, 104, 108, 120, 133,
+  138, 140, 141, 140, 136, 133, 130, 127, 117, 127, 141, 150, 163, 195, 201, 176,
+  171, 167, 159, 158, 163, 157, 153, 163, 158, 157, 155, 152, 148, 148, 150, 152,
+  160, 160, 161, 163, 165, 167, 169, 171, 168, 173, 178, 177, 173, 171, 173, 177,
+  178, 176, 188, 193, 187, 186, 190, 184, 191, 189, 187, 186, 187, 185, 182, 179,
+  195, 194, 189, 184, 185, 190, 192, 189, 188, 195, 198, 195, 192, 196, 202, 204,
+  198, 197, 194, 191, 191, 193, 199, 203, 203, 198, 200, 206, 206, 199, 201, 210,
+  198, 203, 205, 200, 198, 204, 210, 214, 200, 201, 202, 199, 191, 183, 185, 192,
+  190, 193, 192, 187, 186, 187, 185, 181, 177, 177, 177, 177, 178, 178, 177, 176,
+  163, 166, 167, 165, 160, 159, 164, 168, 166, 160, 159, 163, 163, 156, 152, 155,
+  145, 157, 158, 146, 138, 135, 124, 119, 116, 110, 115, 133, 139, 127, 124, 129,
+  139, 125, 112, 107, 109, 114, 122, 123, 113, 110, 110, 110, 112, 112, 113, 113,
+  115, 115, 117, 116, 117, 116, 118, 115, 112, 109, 109, 99, 98, 96, 95, 94,
+  92, 92, 90, 90, 91, 94, 99, 102, 101, 99, 100, 119, 113, 106, 105, 111,
+  120, 128, 136, 136, 137, 135, 128, 127, 132, 139, 138, 167, 171, 181, 185, 183,
+  180, 180, 179, 164, 161, 160, 160, 162, 163, 165, 166, 163, 164, 163, 160, 155,
+  151, 149, 150, 143, 147, 152, 154, 155, 158, 162, 166, 170, 164, 165, 173, 178,
+  175, 178, 185, 182, 178, 175, 180, 188, 191, 187, 182, 206, 202, 198, 193, 190,
+  190, 191, 193, 193, 194, 196, 197, 192, 186, 189, 195, 184, 190, 197, 201, 199,
+  195, 191, 189, 192, 195, 197, 197, 195, 195, 197, 200, 199, 204, 204, 202, 212,
+  225, 224, 213, 203, 195, 191, 200, 210, 210, 203, 198, 211, 194, 184, 189, 194,
+  190, 189, 193, 191, 189, 182, 182, 188, 181, 175, 184, 159, 174, 180, 171, 166,
+  171, 173, 168, 176, 171, 167, 169, 172, 169, 157, 146, 161, 158, 162, 170, 170,
+  163, 158, 159, 155, 155, 153, 152, 149, 146, 145, 148, 134, 104, 105, 132, 139,
+  127, 129, 137, 139, 139, 124, 105, 105, 112, 117, 119, 111, 109, 107, 105, 109,
+  113, 113, 107, 112, 112, 112, 112, 113, 114, 114, 114, 106, 113, 111, 98, 98,
+  98, 95, 94, 92, 91, 91, 95, 97, 101, 102, 101, 101, 106, 119, 118, 115,
+  109, 115, 123, 128, 129, 130, 122, 133, 143, 148, 152, 164, 175, 178, 179, 179,
+  183, 182, 174, 169, 164, 164, 157, 155, 154, 156, 157, 158, 159, 159, 161, 159,
+  157, 157, 158, 156, 152, 148, 143, 145, 145, 143, 142, 143, 148, 151, 158, 163,
+  173, 179, 175, 168, 172, 181, 181, 179, 179, 184, 190, 193, 192, 189, 189, 189,
+  189, 190, 191, 192, 194, 195, 193, 194, 197, 199, 196, 191, 193, 199, 198, 196,
+  193, 190, 188, 191, 197, 201, 195, 198, 200, 200, 198, 197, 198, 200, 203, 210,
+  210, 202, 201, 208, 210, 204, 194, 192, 195, 203, 206, 203, 199, 198, 196, 189,
+  191, 200, 202, 193, 190, 192, 203, 197, 186, 181, 186, 183, 178, 181, 179, 172,
+  175, 185, 182, 167, 159, 162, 164, 165, 163, 159, 154, 154, 159, 164, 165, 163,
+  165, 170, 170, 163, 161, 164, 166, 156, 147, 145, 150, 149, 142, 134, 141, 137,
+  134, 120, 116, 129, 136, 117, 133, 144, 138, 124, 118, 113, 107, 104, 106, 110,
+  111, 107, 106, 108, 106, 103, 108, 108, 109, 109, 109, 109, 110, 110, 109, 116,
+  112, 96, 97, 97, 95, 94, 93, 92, 94, 99, 99, 101, 105, 108, 110, 111,
+  116, 112, 117, 116, 117, 120, 122, 133, 141, 169, 181, 191, 189, 181, 180, 184,
+  183, 172, 172, 174, 171, 166, 159, 158, 160, 161, 161, 160, 160, 160, 161, 163,
+  163, 166, 161, 159, 162, 167, 167, 161, 154, 153, 151, 148, 142, 138, 137, 139,
+  142, 153, 152, 154, 158, 164, 171, 176, 181, 179, 180, 182, 186, 188, 190, 191,
+  191, 186, 187, 189, 190, 190, 190, 189, 188, 191, 192, 196, 200, 198, 194, 195,
+  200, 194, 202, 212, 218, 216, 209, 201, 196, 197, 199, 201, 201, 199, 198, 197,
+  197, 197, 208, 213, 205, 198, 203, 209, 211, 212, 208, 204, 199, 193, 189, 194,
+  202, 205, 196, 190, 189, 185, 176, 176, 182, 185, 182, 177, 174, 179, 183, 180,
+  175, 190, 171, 162, 167, 166, 156, 149, 151, 158, 163, 168, 168, 163, 158, 157,
+  160, 163, 165, 167, 169, 166, 160, 162, 168, 171, 163, 154, 150, 152, 149, 142,
+  135, 142, 154, 152, 125, 113, 132, 136, 108, 120, 134, 133, 125, 123, 119, 118,
+  121, 105, 111, 116, 113, 108, 110, 110, 109, 109, 109, 109, 109, 109, 109, 111,
+  111, 111, 117, 114, 95, 96, 95, 94, 95, 93, 94, 95, 98, 96, 98, 111,
+  123, 122, 106, 98, 116, 128, 130, 123, 113, 120, 147, 172, 173, 181, 188, 185,
+  177, 172, 172, 165, 161, 160, 162, 161, 158, 157, 158, 160, 166, 168, 166, 166,
+  166, 166, 168, 168, 167, 164, 164, 167, 170, 170, 165, 159, 161, 159, 155, 149,
+  143, 139, 137, 137, 133, 138, 145, 152, 158, 162, 168, 173, 173, 177, 180, 183,
+  182, 182, 184, 187, 190, 190, 191, 191, 190, 189, 188, 187, 189, 190, 194, 198,
+  196, 192, 192, 196, 198, 198, 198, 196, 194, 194, 196, 198, 196, 198, 199, 199,
+  198, 195, 194, 192, 191, 203, 211, 207, 203, 205, 210, 213, 194, 201, 212, 218,
+  211, 195, 184, 181, 197, 191, 188, 191, 195, 195, 199, 205, 202, 204, 209, 208,
+  205, 209, 209, 197, 187, 188, 183, 174, 176, 185, 181, 169, 166, 162, 161, 166,
+  172, 170, 160, 151, 156, 161, 165, 164, 160, 157, 159, 164, 162, 168, 172, 164,
+  152, 142, 144, 147, 143, 141, 149, 148, 137, 133, 126, 108, 122, 131, 129, 121,
+  121, 117, 113, 113, 108, 112, 115, 113, 111, 113, 115, 112, 113, 112, 112, 111,
+  111, 111, 111, 112, 110, 117, 115, 95, 96, 95, 94, 95, 93, 94, 98, 97,
+  100, 109, 118, 123, 120, 105, 99, 131, 135, 134, 129, 124, 135, 160, 181, 166,
+  167, 167, 166, 166, 168, 165, 158, 169, 166, 166, 163, 159, 158, 157, 158, 164,
+  164, 164, 164, 164, 165, 166, 167, 162, 164, 166, 166, 164, 162, 160, 159, 160,
+  159, 157, 153, 148, 142, 135, 132, 117, 128, 144, 154, 152, 145, 150, 160, 163,
+  169, 174, 177, 177, 178, 180, 186, 185, 185, 185, 187, 189, 191, 194, 195, 192,
+  191, 193, 196, 195, 191, 190, 194, 193, 193, 193, 191, 189, 190, 192, 195, 198,
+  197, 197, 197, 197, 195, 193, 191, 194, 201, 207, 208, 206, 205, 203, 200, 217,
+  204, 190, 185, 187, 194, 208, 220, 202, 200, 203, 212, 215, 206, 193, 183, 175,
+  170, 173, 165, 147, 146, 150, 139, 136, 151, 163, 165, 172, 182, 182, 174, 174,
+  163, 152, 150, 157, 162, 162, 159, 152, 160, 165, 164, 159, 157, 158, 160, 154,
+  164, 172, 168, 156, 145, 146, 149, 148, 137, 145, 159, 151, 135, 122, 112, 99,
+  111, 113, 115, 125, 124, 118, 118, 117, 117, 114, 111, 113, 118, 117, 111, 113,
+  112, 109, 109, 107, 107, 106, 107, 109, 116, 115, 94, 95, 94, 94, 92, 93,
+  95, 98, 97, 110, 121, 118, 109, 105, 111, 125, 135, 129, 124, 133, 144, 155,
+  161, 160, 173, 168, 164, 160, 163, 167, 165, 158, 167, 166, 165, 165, 164, 164,
+  163, 162, 165, 165, 165, 165, 164, 165, 165, 166, 166, 168, 169, 167, 163, 161,
+  161, 162, 160, 160, 159, 158, 155, 148, 139, 133, 137, 109, 93, 108, 132, 142,
+  148, 159, 153, 158, 164, 170, 173, 177, 181, 185, 183, 183, 183, 183, 184, 186,
+  189, 190, 195, 192, 192, 195, 195, 192, 192, 195, 186, 193, 202, 207, 206, 200,
+  194, 191, 200, 198, 196, 196, 196, 196, 195, 193, 188, 192, 197, 201, 204, 203,
+  199, 194, 191, 192, 202, 215, 219, 208, 192, 182, 193, 186, 179, 175, 170, 156,
+  137, 122, 132, 111, 107, 98, 74, 72, 85, 81, 74, 70, 79, 94, 101, 107,
+  126, 149, 166, 169, 170, 166, 159, 155, 157, 159, 152, 160, 164, 162, 160, 159,
+  161, 159, 156, 156, 158, 158, 161, 154, 146, 142, 147, 141, 144, 148, 144, 147,
+  144, 131, 110, 115, 106, 101, 112, 119, 124, 133, 132, 130, 125, 122, 123, 127,
+  124, 115, 119, 117, 116, 113, 113, 111, 110, 111, 112, 118, 115, 96, 96, 95,
+  94, 92, 92, 94, 96, 103, 111, 115, 109, 101, 104, 119, 136, 133, 130, 129,
+  141, 156, 161, 158, 151, 148, 146, 146, 144, 150, 159, 165, 165, 161, 162, 165,
+  167, 171, 172, 173, 171, 173, 171, 170, 168, 166, 166, 165, 166, 173, 172, 169,
+  168, 167, 167, 167, 166, 165, 163, 162, 161, 158, 153, 144, 139, 145, 83, 40,
+  54, 90, 110, 128, 148, 147, 150, 155, 162, 166, 171, 173, 175, 181, 182, 183,
+  183, 184, 184, 183, 183, 194, 190, 188, 191, 192, 191, 193, 197, 195, 192, 187,
+  183, 183, 188, 196, 203, 200, 197, 193, 192, 194, 195, 195, 194, 188, 189, 191,
+  195, 197, 196, 194, 193, 194, 189, 187, 189, 186, 176, 165, 159, 148, 142, 135,
+  130, 131, 130, 126, 121, 89, 54, 50, 54, 35, 33, 47, 42, 46, 36, 33,
+  38, 42, 51, 76, 104, 129, 141, 158, 167, 167, 161, 155, 152, 154, 157, 159,
+  156, 157, 161, 161, 157, 159, 156, 154, 154, 158, 155, 149, 145, 148, 145, 145,
+  141, 136, 142, 149, 143, 155, 157, 142, 121, 110, 103, 103, 116, 133, 135, 136,
+  135, 136, 136, 132, 126, 127, 125, 123, 121, 120, 119, 117, 117, 113, 119, 116,
+  93, 91, 91, 91, 91, 94, 96, 100, 110, 107, 103, 103, 111, 121, 130, 133,
+  138, 142, 146, 151, 152, 152, 161, 167, 161, 162, 160, 152, 150, 153, 160, 163,
+  169, 170, 170, 172, 175, 176, 174, 171, 172, 170, 169, 169, 167, 165, 165, 164,
+  175, 168, 162, 162, 167, 170, 168, 164, 166, 163, 159, 157, 155, 151, 144, 140,
+  110, 69, 42, 51, 55, 52, 81, 124, 147, 149, 153, 157, 162, 165, 164, 167,
+  170, 174, 181, 186, 192, 193, 192, 192, 192, 187, 184, 187, 190, 191, 194, 199,
+  191, 195, 200, 203, 203, 202, 201, 201, 200, 195, 190, 189, 192, 194, 195, 194,
+  201, 200, 198, 195, 189, 183, 182, 184, 176, 166, 156, 150, 145, 139, 137, 140,
+  141, 145, 149, 149, 148, 145, 141, 137, 80, 38, 38, 55, 42, 35, 41, 29,
+  29, 38, 40, 31, 30, 41, 48, 46, 86, 91, 105, 128, 152, 166, 166, 160,
+  156, 157, 155, 150, 153, 160, 160, 156, 159, 162, 164, 159, 153, 148, 151, 158,
+  160, 148, 148, 151, 135, 126, 130, 137, 137, 157, 163, 153, 136, 112, 99, 106,
+  116, 127, 139, 142, 144, 143, 140, 135, 129, 127, 123, 120, 120, 119, 118, 120,
+  115, 122, 119, 80, 84, 89, 89, 89, 94, 99, 104, 119, 108, 101, 109, 126,
+  138, 145, 145, 135, 145, 143, 138, 147, 156, 163, 171, 157, 160, 161, 159, 155,
+  158, 169, 174, 180, 176, 173, 170, 170, 169, 170, 170, 167, 172, 167, 163, 170,
+  169, 167, 171, 172, 168, 163, 161, 161, 163, 163, 163, 159, 165, 157, 149, 162,
+  139, 159, 133, 65, 31, 38, 43, 41, 37, 35, 75, 107, 128, 149, 157, 160,
+  166, 173, 175, 183, 176, 185, 192, 188, 187, 192, 190, 197, 190, 202, 202, 174,
+  171, 193, 204, 207, 194, 187, 192, 198, 194, 188, 186, 189, 188, 187, 185, 183,
+  180, 178, 177, 169, 168, 166, 164, 163, 162, 161, 161, 161, 159, 156, 155, 156,
+  157, 156, 155, 154, 177, 135, 157, 160, 133, 158, 114, 32, 32, 33, 33, 32,
+  30, 28, 27, 29, 32, 35, 33, 28, 28, 33, 39, 47, 52, 70, 88, 124,
+  153, 154, 169, 159, 169, 165, 154, 153, 153, 156, 166, 157, 163, 170, 164, 160,
+  156, 156, 156, 152, 151, 154, 156, 151, 143, 138, 141, 146, 157, 151, 147, 150,
+  136, 103, 84, 90, 93, 115, 140, 149, 152, 150, 140, 137, 123, 124, 127, 118,
+  114, 123, 125, 121, 121, 120, 79, 80, 83, 90, 96, 100, 104, 107, 100, 103,
+  112, 126, 138, 144, 147, 146, 148, 156, 151, 144, 148, 151, 155, 162, 170, 169,
+  166, 163, 164, 168, 176, 179, 179, 176, 173, 171, 169, 168, 168, 168, 168, 173,
+  168, 165, 171, 170, 168, 173, 168, 165, 161, 160, 160, 161, 160, 160, 162, 143,
+  177, 149, 146, 147, 144, 64, 42, 28, 40, 38, 36, 35, 27, 45, 46, 75,
+  115, 143, 161, 168, 165, 158, 159, 158, 170, 179, 173, 174, 182, 185, 192, 177,
+  181, 187, 175, 173, 171, 156, 163, 165, 169, 171, 171, 173, 177, 182, 173, 173,
+  173, 172, 171, 170, 169, 167, 166, 166, 165, 164, 164, 164, 164, 165, 170, 167,
+  165, 164, 165, 166, 165, 165, 167, 155, 169, 154, 161, 143, 156, 52, 36, 36,
+  36, 35, 34, 32, 30, 30, 33, 33, 32, 31, 30, 30, 32, 33, 37, 42,
+  52, 53, 84, 121, 133, 153, 159, 168, 164, 161, 167, 164, 152, 148, 155, 161,
+  164, 162, 159, 159, 158, 155, 157, 153, 152, 151, 150, 144, 144, 150, 139, 150,
+  149, 147, 151, 146, 131, 130, 121, 104, 102, 119, 135, 150, 155, 145, 145, 124,
+  117, 114, 106, 112, 123, 123, 133, 129, 125, 84, 85, 90, 101, 109, 111, 104,
+  100, 91, 104, 120, 134, 141, 140, 145, 146, 142, 151, 151, 152, 158, 159, 161,
+  167, 176, 172, 164, 161, 164, 168, 174, 174, 176, 174, 172, 170, 169, 168, 168,
+  168, 168, 173, 167, 164, 169, 167, 163, 169, 163, 161, 159, 159, 159, 158, 157,
+  155, 159, 142, 160, 154, 129, 150, 85, 25, 33, 37, 47, 35, 33, 40, 31,
+  28, 38, 43, 52, 62, 80, 102, 119, 126, 122, 121, 132, 136, 122, 119, 128,
+  133, 136, 111, 93, 87, 86, 101, 106, 93, 69, 105, 141, 155, 155, 158, 162,
+  163, 170, 170, 170, 171, 171, 171, 172, 172, 178, 177, 176, 175, 174, 174, 174,
+  174, 177, 175, 173, 173, 174, 175, 174, 173, 174, 161, 163, 168, 153, 159, 104,
+  22, 37, 36, 35, 33, 32, 31, 30, 30, 35, 32, 29, 28, 30, 31, 29,
+  27, 31, 37, 42, 31, 50, 84, 101, 128, 150, 160, 160, 160, 169, 169, 162,
+  161, 154, 157, 158, 157, 159, 161, 157, 152, 157, 152, 151, 151, 150, 148, 147,
+  151, 144, 156, 153, 147, 148, 149, 148, 159, 156, 133, 118, 113, 113, 124, 132,
+  127, 131, 123, 125, 127, 124, 129, 131, 121, 120, 118, 116, 97, 98, 104, 113,
+  117, 111, 102, 99, 109, 117, 126, 134, 137, 136, 144, 148, 132, 141, 147, 152,
+  161, 162, 165, 174, 175, 173, 165, 161, 161, 164, 169, 171, 174, 173, 172, 171,
+  170, 170, 169, 169, 167, 172, 166, 162, 167, 163, 158, 163, 160, 159, 158, 158,
+  158, 157, 154, 151, 155, 150, 139, 135, 142, 101, 32, 42, 39, 44, 44, 32,
+  30, 38, 37, 32, 30, 31, 34, 36, 40, 45, 50, 51, 57, 52, 59, 61,
+  47, 42, 48, 49, 52, 52, 52, 49, 47, 54, 55, 46, 46, 99, 152, 168,
+  170, 174, 178, 173, 182, 180, 181, 181, 182, 182, 184, 183, 192, 191, 189, 186,
+  184, 182, 181, 181, 179, 178, 176, 176, 177, 178, 177, 175, 175, 178, 147, 164,
+  166, 123, 46, 40, 32, 30, 29, 27, 27, 28, 29, 30, 32, 31, 30, 29,
+  30, 30, 29, 28, 32, 33, 40, 34, 42, 56, 67, 102, 122, 144, 156, 159,
+  164, 163, 162, 168, 158, 158, 156, 155, 159, 161, 156, 148, 152, 150, 153, 157,
+  157, 152, 147, 148, 150, 159, 153, 144, 143, 143, 146, 163, 159, 157, 156, 140,
+  112, 100, 106, 106, 105, 105, 117, 121, 119, 126, 131, 119, 128, 129, 128, 119,
+  117, 115, 114, 111, 104, 105, 111, 126, 127, 129, 133, 136, 136, 142, 141, 140,
+  144, 145, 149, 156, 155, 158, 169, 175, 177, 174, 168, 161, 160, 167, 174, 171,
+  171, 171, 172, 172, 171, 171, 171, 168, 173, 167, 163, 167, 162, 156, 161, 158,
+  157, 156, 157, 157, 156, 152, 149, 149, 148, 144, 121, 137, 37, 34, 53, 40,
+  38, 32, 31, 30, 28, 34, 33, 24, 31, 41, 45, 42, 34, 27, 25, 43,
+  34, 36, 43, 40, 41, 45, 42, 31, 41, 43, 41, 42, 44, 45, 48, 85,
+  126, 163, 166, 167, 176, 186, 180, 187, 184, 185, 182, 184, 182, 185, 186, 192,
+  191, 188, 186, 184, 182, 182, 181, 181, 179, 178, 178, 179, 178, 176, 174, 175,
+  173, 169, 145, 169, 49, 43, 43, 26, 26, 25, 25, 25, 27, 29, 30, 26,
+  30, 33, 32, 29, 28, 30, 34, 34, 25, 34, 39, 42, 37, 42, 86, 100,
+  124, 140, 150, 161, 159, 151, 151, 163, 161, 157, 155, 159, 161, 155, 146, 151,
+  148, 151, 156, 158, 153, 149, 150, 151, 154, 147, 144, 148, 148, 149, 160, 147,
+  159, 172, 162, 126, 105, 101, 95, 78, 75, 78, 77, 74, 86, 107, 109, 112,
+  119, 126, 132, 123, 112, 106, 102, 101, 114, 130, 129, 128, 131, 137, 141, 140,
+  140, 134, 143, 142, 141, 145, 152, 150, 156, 171, 170, 175, 174, 167, 159, 156,
+  164, 171, 169, 170, 171, 172, 173, 173, 172, 172, 171, 176, 171, 167, 170, 165,
+  159, 162, 156, 155, 154, 155, 155, 153, 150, 147, 139, 153, 138, 148, 63, 31,
+  46, 40, 34, 33, 25, 38, 39, 25, 31, 29, 37, 34, 33, 30, 28, 27,
+  34, 44, 32, 20, 20, 29, 29, 33, 35, 30, 40, 37, 22, 18, 28, 31,
+  35, 50, 106, 138, 163, 166, 167, 177, 179, 173, 186, 185, 183, 181, 180, 181,
+  182, 182, 187, 187, 186, 185, 185, 186, 187, 187, 184, 183, 181, 181, 181, 179,
+  176, 175, 169, 171, 180, 157, 100, 26, 52, 24, 26, 26, 26, 27, 28, 29,
+  31, 32, 24, 29, 34, 33, 29, 27, 31, 36, 37, 24, 31, 38, 42, 35,
+  37, 78, 108, 114, 113, 120, 145, 160, 162, 164, 165, 164, 160, 156, 158, 160,
+  155, 147, 159, 151, 148, 149, 152, 151, 152, 155, 151, 153, 145, 145, 150, 145,
+  139, 148, 151, 157, 164, 163, 143, 126, 109, 87, 63, 56, 61, 65, 59, 63,
+  79, 84, 72, 84, 97, 122, 113, 106, 109, 113, 113, 124, 138, 136, 136, 137,
+  141, 142, 140, 141, 136, 134, 133, 133, 140, 151, 150, 157, 174, 169, 171, 169,
+  165, 160, 158, 161, 164, 166, 167, 169, 171, 172, 172, 172, 171, 169, 175, 170,
+  166, 170, 164, 157, 161, 154, 152, 151, 151, 151, 150, 147, 145, 137, 153, 128,
+  137, 15, 48, 39, 34, 35, 39, 28, 42, 43, 28, 34, 25, 29, 26, 29,
+  34, 33, 27, 24, 26, 41, 30, 32, 37, 31, 32, 36, 32, 23, 27, 26,
+  36, 48, 37, 33, 53, 131, 153, 175, 181, 184, 189, 187, 180, 187, 186, 184,
+  182, 182, 183, 184, 186, 189, 188, 188, 188, 189, 190, 191, 192, 187, 185, 183,
+  182, 182, 179, 175, 173, 168, 180, 165, 155, 32, 46, 36, 26, 31, 31, 32,
+  32, 32, 32, 31, 29, 26, 29, 32, 32, 30, 28, 29, 30, 37, 33, 39,
+  37, 43, 43, 36, 58, 113, 118, 110, 107, 124, 143, 158, 173, 163, 163, 160,
+  156, 157, 159, 156, 149, 161, 151, 145, 147, 150, 151, 151, 153, 151, 153, 147,
+  148, 149, 139, 132, 141, 153, 150, 156, 160, 156, 149, 126, 94, 70, 55, 62,
+  77, 76, 71, 72, 72, 76, 79, 82, 106, 101, 104, 119, 132, 131, 131, 138,
+  151, 149, 145, 142, 137, 137, 144, 143, 134, 130, 132, 138, 146, 145, 151, 169,
+  175, 175, 171, 168, 168, 165, 166, 163, 165, 167, 169, 171, 172, 173, 172, 172,
+  167, 173, 168, 165, 168, 163, 156, 160, 152, 150, 148, 147, 148, 147, 145, 144,
+  146, 136, 141, 70, 42, 33, 33, 40, 35, 44, 27, 33, 33, 26, 36, 21,
+  40, 30, 27, 32, 36, 33, 30, 30, 30, 23, 27, 31, 22, 22, 29, 29,
+  28, 32, 27, 31, 40, 33, 52, 99, 159, 168, 173, 171, 170, 176, 182, 184,
+  187, 186, 184, 183, 183, 185, 187, 189, 191, 190, 189, 188, 188, 188, 188, 189,
+  187, 185, 183, 182, 181, 177, 173, 170, 175, 178, 158, 109, 28, 49, 15, 44,
+  32, 33, 33, 33, 32, 30, 28, 26, 30, 28, 28, 29, 30, 29, 26, 23,
+  28, 37, 46, 34, 40, 47, 28, 28, 98, 123, 134, 125, 116, 112, 123, 143,
+  159, 161, 159, 156, 156, 158, 156, 152, 155, 148, 147, 152, 155, 152, 148, 145,
+  146, 150, 149, 151, 152, 142, 138, 150, 136, 138, 150, 161, 163, 163, 148, 119,
+  89, 59, 55, 73, 77, 74, 77, 80, 80, 75, 71, 113, 119, 123, 128, 134,
+  139, 146, 149, 154, 153, 151, 148, 141, 136, 138, 137, 148, 144, 135, 133, 148,
+  159, 166, 174, 176, 179, 175, 170, 171, 170, 167, 162, 157, 158, 162, 168, 173,
+  176, 175, 173, 171, 168, 166, 165, 164, 162, 156, 151, 155, 148, 151, 154, 146,
+  145, 146, 140, 162, 119, 125, 48, 34, 46, 28, 35, 38, 36, 35, 38, 41,
+  40, 33, 26, 22, 31, 32, 30, 31, 26, 26, 38, 30, 31, 30, 28, 26,
+  27, 27, 30, 30, 26, 25, 40, 57, 67, 100, 148, 172, 175, 179, 181, 182,
+  183, 184, 186, 187, 187, 187, 187, 187, 187, 186, 186, 192, 192, 191, 190, 190,
+  189, 188, 188, 188, 191, 189, 182, 176, 176, 175, 174, 186, 160, 164, 58, 44,
+  33, 31, 32, 32, 30, 38, 42, 32, 30, 32, 26, 33, 25, 32, 32, 23,
+  34, 42, 27, 34, 36, 38, 40, 41, 40, 38, 36, 81, 126, 122, 130, 134,
+  130, 103, 129, 136, 154, 166, 163, 157, 157, 163, 165, 160, 154, 152, 155, 154,
+  148, 147, 150, 152, 150, 148, 149, 148, 144, 141, 141, 130, 139, 143, 141, 147,
+  151, 146, 136, 81, 53, 66, 89, 81, 80, 84, 70, 78, 74, 71, 118, 121,
+  124, 128, 133, 139, 146, 148, 154, 154, 152, 150, 143, 138, 141, 140, 140, 148,
+  147, 142, 144, 145, 154, 167, 187, 186, 175, 167, 164, 168, 171, 169, 171, 170,
+  167, 166, 168, 170, 171, 171, 170, 168, 166, 166, 166, 163, 158, 154, 149, 143,
+  147, 150, 145, 146, 149, 143, 145, 139, 97, 38, 39, 39, 32, 35, 34, 32,
+  31, 33, 36, 35, 28, 23, 26, 31, 28, 26, 28, 23, 21, 31, 27, 29,
+  31, 32, 32, 32, 29, 29, 34, 27, 35, 79, 132, 153, 156, 166, 168, 171,
+  175, 178, 179, 180, 182, 183, 190, 190, 190, 190, 189, 189, 189, 190, 190, 190,
+  189, 189, 189, 188, 188, 188, 185, 185, 181, 177, 177, 179, 176, 172, 174, 164,
+  132, 31, 31, 31, 27, 37, 28, 28, 30, 26, 20, 28, 37, 36, 19, 26,
+  40, 40, 30, 30, 31, 24, 32, 34, 36, 38, 39, 39, 38, 37, 60, 119,
+  123, 128, 132, 129, 124, 122, 125, 137, 147, 151, 153, 159, 162, 161, 156, 149,
+  146, 149, 150, 147, 146, 148, 148, 150, 151, 149, 145, 140, 140, 143, 137, 139,
+  140, 142, 146, 149, 142, 135, 123, 90, 80, 83, 73, 72, 81, 81, 83, 80,
+  77, 125, 128, 131, 133, 137, 143, 149, 151, 148, 147, 147, 146, 141, 137, 142,
+  142, 170, 175, 171, 162, 163, 161, 164, 172, 178, 182, 181, 178, 174, 171, 167,
+  157, 165, 164, 164, 166, 170, 173, 174, 174, 166, 165, 164, 164, 164, 161, 156,
+  153, 148, 142, 145, 148, 144, 147, 149, 141, 135, 153, 62, 34, 45, 36, 40,
+  36, 31, 31, 31, 33, 33, 32, 27, 23, 29, 29, 21, 22, 28, 22, 18,
+  26, 41, 37, 32, 29, 27, 29, 31, 33, 28, 47, 75, 115, 157, 169, 164,
+  166, 170, 174, 179, 182, 183, 184, 186, 188, 191, 191, 191, 191, 191, 191, 191,
+  191, 188, 188, 188, 188, 188, 187, 187, 187, 184, 181, 177, 175, 180, 184, 179,
+  172, 174, 170, 99, 24, 31, 37, 25, 36, 42, 42, 35, 28, 35, 46, 41,
+  23, 26, 32, 28, 26, 33, 36, 34, 35, 32, 33, 36, 38, 40, 40, 40,
+  37, 37, 99, 127, 126, 131, 130, 144, 118, 126, 131, 137, 145, 155, 164, 165,
+  162, 162, 154, 149, 151, 155, 154, 152, 151, 146, 152, 155, 151, 143, 139, 141,
+  146, 142, 137, 136, 141, 147, 144, 137, 134, 123, 98, 77, 74, 71, 67, 69,
+  75, 67, 67, 66, 128, 133, 136, 140, 145, 147, 149, 151, 148, 144, 145, 146,
+  142, 139, 143, 144, 163, 174, 172, 160, 152, 149, 155, 169, 168, 175, 178, 179,
+  174, 171, 164, 154, 156, 159, 166, 172, 177, 176, 171, 167, 165, 165, 165, 164,
+  162, 158, 153, 150, 153, 147, 149, 149, 144, 147, 147, 136, 140, 129, 34, 36,
+  41, 37, 40, 31, 32, 33, 32, 34, 33, 33, 29, 26, 27, 26, 19, 23,
+  32, 26, 21, 29, 29, 29, 31, 35, 39, 42, 42, 41, 73, 110, 139, 152,
+  159, 159, 164, 177, 174, 175, 182, 183, 187, 186, 190, 190, 190, 189, 191, 189,
+  191, 190, 192, 192, 191, 190, 190, 189, 188, 187, 186, 186, 184, 184, 181, 179,
+  182, 185, 181, 175, 167, 144, 61, 33, 34, 42, 29, 33, 18, 38, 40, 29,
+  32, 40, 34, 22, 32, 43, 34, 27, 36, 34, 31, 44, 32, 33, 35, 38,
+  40, 41, 41, 39, 30, 66, 131, 127, 132, 137, 147, 125, 137, 137, 139, 143,
+  152, 160, 163, 164, 166, 159, 154, 153, 158, 158, 157, 152, 149, 154, 155, 151,
+  146, 145, 145, 145, 143, 134, 130, 140, 145, 139, 133, 135, 133, 111, 82, 75,
+  83, 80, 72, 79, 67, 70, 70, 126, 130, 137, 141, 144, 144, 141, 142, 150,
+  147, 146, 148, 147, 144, 146, 145, 150, 174, 181, 171, 159, 153, 166, 188, 173,
+  173, 168, 160, 160, 165, 172, 173, 173, 173, 175, 177, 176, 170, 161, 155, 168,
+  169, 170, 169, 165, 159, 154, 151, 156, 152, 154, 153, 148, 151, 148, 132, 144,
+  78, 23, 42, 30, 38, 32, 25, 33, 34, 33, 34, 35, 34, 30, 28, 26,
+  25, 19, 26, 32, 25, 22, 34, 34, 47, 68, 89, 103, 106, 101, 96, 133,
+  154, 162, 163, 168, 172, 172, 180, 171, 175, 180, 182, 185, 185, 188, 189, 190,
+  190, 191, 191, 192, 192, 193, 192, 195, 194, 192, 191, 189, 187, 186, 185, 183,
+  186, 186, 182, 179, 180, 178, 175, 162, 108, 33, 39, 29, 40, 39, 48, 87,
+  111, 97, 51, 25, 22, 32, 46, 19, 44, 51, 47, 45, 29, 21, 38, 33,
+  34, 36, 38, 40, 41, 42, 41, 37, 37, 126, 128, 134, 144, 137, 139, 140,
+  140, 139, 139, 140, 145, 153, 161, 165, 160, 156, 153, 157, 158, 156, 150, 152,
+  153, 151, 147, 148, 151, 147, 141, 143, 134, 132, 140, 146, 140, 134, 138, 155,
+  126, 84, 66, 74, 73, 67, 73, 71, 74, 72, 132, 135, 140, 145, 144, 143,
+  140, 137, 144, 140, 139, 142, 143, 141, 141, 143, 133, 138, 133, 134, 149, 154,
+  152, 152, 165, 167, 164, 160, 160, 166, 175, 175, 185, 181, 176, 173, 170, 168,
+  165, 162, 171, 173, 175, 174, 169, 163, 159, 156, 156, 154, 158, 157, 153, 156,
+  149, 129, 131, 43, 31, 48, 31, 40, 32, 28, 31, 32, 32, 32, 32, 32,
+  29, 28, 26, 26, 22, 26, 29, 21, 27, 49, 91, 101, 116, 130, 142, 151,
+  157, 161, 154, 164, 164, 162, 168, 169, 167, 173, 175, 179, 183, 185, 186, 187,
+  188, 190, 191, 191, 192, 193, 193, 194, 195, 195, 195, 194, 193, 191, 189, 187,
+  186, 185, 181, 186, 187, 182, 177, 175, 174, 172, 184, 122, 53, 45, 30, 38,
+  43, 82, 130, 167, 177, 164, 148, 104, 45, 18, 43, 39, 32, 35, 45, 42,
+  32, 32, 35, 35, 36, 38, 39, 41, 42, 40, 43, 29, 103, 127, 136, 146,
+  133, 149, 141, 141, 142, 140, 136, 136, 146, 159, 162, 163, 161, 158, 158, 160,
+  158, 154, 151, 151, 146, 142, 146, 152, 147, 136, 144, 142, 140, 144, 145, 140,
+  138, 140, 144, 117, 90, 76, 74, 70, 65, 60, 68, 72, 72, 139, 139, 142,
+  142, 142, 140, 140, 137, 135, 132, 132, 137, 142, 140, 141, 144, 152, 138, 110,
+  109, 133, 149, 147, 142, 150, 159, 163, 163, 164, 167, 169, 167, 175, 171, 168,
+  168, 169, 171, 172, 172, 167, 171, 175, 175, 171, 166, 162, 161, 159, 159, 163,
+  161, 155, 156, 146, 121, 89, 37, 41, 41, 37, 34, 33, 34, 30, 32, 31,
+  31, 31, 30, 29, 29, 27, 28, 24, 26, 26, 23, 44, 80, 129, 132, 134,
+  134, 135, 143, 158, 170, 165, 176, 178, 177, 176, 169, 169, 184, 180, 184, 188,
+  190, 190, 190, 191, 192, 191, 191, 192, 192, 193, 194, 195, 194, 191, 191, 190,
+  190, 189, 188, 188, 187, 182, 185, 184, 180, 179, 178, 174, 169, 191, 163, 98,
+  43, 39, 41, 37, 121, 161, 172, 159, 156, 178, 164, 126, 114, 110, 78, 55,
+  49, 48, 49, 45, 36, 36, 36, 37, 37, 38, 40, 41, 40, 39, 42, 69,
+  123, 137, 140, 144, 149, 146, 145, 147, 147, 140, 135, 139, 150, 157, 164, 167,
+  164, 162, 164, 164, 159, 150, 154, 151, 145, 147, 153, 149, 141, 144, 150, 148,
+  144, 140, 139, 138, 139, 139, 121, 118, 111, 92, 84, 82, 71, 85, 87, 88,
+  141, 138, 136, 134, 134, 135, 136, 137, 138, 135, 136, 142, 146, 145, 146, 148,
+  137, 137, 115, 93, 91, 105, 131, 157, 163, 166, 162, 154, 153, 158, 165, 168,
+  165, 164, 166, 169, 172, 172, 169, 167, 162, 167, 172, 174, 170, 166, 163, 163,
+  164, 164, 167, 163, 155, 154, 140, 112, 45, 38, 40, 25, 37, 20, 28, 31,
+  29, 30, 31, 31, 30, 29, 29, 30, 26, 29, 26, 27, 28, 30, 63, 110,
+  136, 146, 158, 161, 157, 155, 160, 165, 175, 174, 171, 175, 185, 181, 177, 187,
+  179, 182, 185, 187, 186, 186, 187, 188, 186, 187, 187, 188, 189, 190, 191, 191,
+  188, 188, 188, 188, 189, 189, 189, 189, 186, 185, 182, 180, 184, 185, 178, 169,
+  159, 173, 114, 25, 41, 43, 27, 145, 149, 175, 174, 171, 185, 173, 159, 178,
+  162, 147, 140, 114, 60, 32, 38, 40, 36, 36, 36, 36, 36, 36, 39, 36,
+  30, 56, 41, 117, 134, 132, 157, 145, 148, 146, 147, 149, 142, 132, 129, 135,
+  143, 154, 163, 160, 158, 160, 159, 158, 149, 156, 157, 149, 147, 154, 153, 147,
+  142, 152, 152, 142, 135, 137, 137, 134, 145, 125, 123, 109, 74, 72, 87, 82,
+  93, 93, 89, 141, 138, 132, 133, 137, 142, 143, 140, 137, 131, 137, 140, 137,
+  141, 146, 138, 143, 136, 122, 112, 98, 84, 98, 129, 174, 168, 161, 158, 154,
+  149, 149, 154, 169, 168, 164, 165, 168, 171, 171, 169, 166, 168, 170, 169, 168,
+  167, 172, 173, 172, 167, 160, 152, 157, 166, 134, 79, 33, 38, 36, 28, 28,
+  34, 34, 29, 30, 26, 23, 22, 25, 30, 35, 37, 34, 32, 29, 31, 51,
+  82, 112, 123, 142, 146, 150, 154, 155, 159, 166, 172, 173, 181, 186, 182, 181,
+  183, 182, 177, 185, 190, 188, 184, 183, 188, 190, 190, 184, 188, 188, 187, 185,
+  186, 188, 190, 190, 189, 186, 186, 190, 190, 189, 187, 187, 181, 183, 186, 180,
+  181, 179, 173, 163, 112, 81, 44, 40, 33, 32, 121, 164, 163, 170, 182, 188,
+  184, 186, 194, 173, 185, 183, 171, 145, 84, 36, 33, 34, 34, 43, 47, 37,
+  31, 39, 36, 38, 33, 47, 94, 135, 136, 137, 151, 143, 151, 156, 151, 142,
+  138, 135, 132, 133, 146, 160, 163, 161, 159, 158, 155, 149, 148, 149, 146, 144,
+  142, 143, 142, 148, 143, 144, 149, 148, 143, 139, 141, 147, 131, 128, 93, 81,
+  87, 78, 93, 94, 92, 91, 142, 145, 145, 145, 142, 140, 140, 140, 144, 137,
+  140, 143, 138, 141, 144, 137, 128, 133, 133, 133, 125, 103, 89, 94, 121, 152,
+  166, 147, 139, 154, 155, 141, 159, 163, 163, 161, 160, 160, 163, 166, 165, 169,
+  170, 167, 162, 161, 169, 173, 179, 172, 168, 162, 157, 147, 100, 40, 47, 45,
+  44, 42, 37, 29, 28, 32, 28, 26, 28, 30, 32, 29, 23, 19, 41, 30,
+  43, 80, 111, 121, 130, 141, 142, 148, 158, 164, 164, 166, 168, 170, 176, 181,
+  183, 180, 181, 183, 185, 183, 183, 186, 184, 182, 185, 189, 189, 184, 193, 184,
+  177, 174, 176, 180, 178, 176, 190, 189, 185, 185, 187, 189, 188, 187, 188, 181,
+  183, 184, 178, 179, 178, 170, 174, 128, 86, 33, 32, 39, 36, 99, 164, 153,
+  156, 174, 182, 173, 169, 174, 164, 174, 179, 184, 183, 149, 85, 38, 57, 37,
+  26, 31, 38, 36, 36, 37, 37, 23, 41, 67, 121, 136, 137, 141, 142, 148,
+  152, 147, 142, 139, 135, 130, 137, 127, 142, 165, 167, 160, 160, 159, 151, 149,
+  148, 147, 149, 149, 150, 149, 147, 143, 145, 150, 150, 145, 141, 141, 147, 136,
+  123, 90, 63, 80, 77, 97, 100, 99, 97, 138, 146, 151, 151, 144, 139, 138,
+  139, 145, 138, 139, 142, 138, 141, 144, 136, 131, 136, 130, 126, 126, 116, 101,
+  95, 91, 114, 143, 160, 161, 155, 147, 139, 151, 156, 160, 156, 152, 152, 158,
+  165, 158, 162, 165, 161, 156, 156, 164, 172, 157, 165, 172, 157, 128, 112, 102,
+  86, 47, 46, 38, 30, 35, 45, 37, 19, 33, 27, 23, 23, 29, 35, 40,
+  43, 40, 44, 73, 115, 140, 139, 140, 145, 150, 156, 163, 169, 170, 172, 175,
+  178, 178, 181, 182, 178, 178, 181, 185, 186, 186, 188, 187, 186, 189, 190, 187,
+  181, 176, 177, 181, 184, 186, 184, 179, 176, 188, 187, 183, 183, 185, 188, 188,
+  187, 189, 181, 182, 182, 176, 177, 176, 168, 168, 129, 82, 26, 33, 47, 24,
+  40, 105, 152, 174, 152, 149, 175, 184, 167, 185, 182, 177, 169, 170, 165, 113,
+  42, 27, 45, 45, 32, 37, 44, 38, 26, 38, 18, 38, 40, 97, 138, 140,
+  136, 144, 147, 149, 146, 145, 144, 139, 132, 137, 118, 131, 155, 160, 165, 168,
+  154, 157, 152, 148, 149, 151, 154, 155, 152, 148, 144, 145, 149, 150, 145, 141,
+  141, 144, 144, 124, 97, 45, 65, 60, 76, 81, 87, 89, 135, 142, 147, 148,
+  144, 141, 139, 139, 142, 135, 137, 140, 136, 140, 143, 136, 135, 140, 128, 117,
+  124, 126, 120, 116, 88, 83, 97, 126, 146, 148, 144, 143, 151, 152, 156, 153,
+  149, 148, 153, 157, 153, 153, 156, 156, 155, 157, 164, 168, 176, 157, 149, 151,
+  156, 163, 160, 145, 148, 117, 78, 48, 33, 31, 38, 46, 32, 34, 38, 37,
+  34, 31, 31, 31, 58, 89, 120, 127, 128, 136, 145, 146, 154, 156, 158, 158,
+  161, 166, 178, 185, 180, 180, 181, 180, 178, 180, 184, 186, 187, 189, 189, 185,
+  184, 185, 183, 179, 181, 182, 181, 177, 171, 171, 183, 196, 185, 185, 184, 186,
+  187, 188, 186, 186, 189, 181, 181, 181, 174, 175, 174, 167, 176, 158, 123, 64,
+  48, 50, 32, 40, 54, 79, 124, 160, 164, 149, 151, 169, 167, 166, 170, 165,
+  163, 182, 172, 127, 36, 52, 51, 41, 45, 41, 33, 30, 38, 24, 35, 30,
+  65, 139, 142, 141, 149, 149, 149, 148, 151, 152, 146, 137, 133, 129, 135, 135,
+  137, 165, 177, 148, 159, 153, 148, 147, 151, 154, 152, 147, 145, 141, 142, 147,
+  148, 144, 142, 142, 134, 145, 128, 114, 44, 62, 54, 64, 66, 76, 82, 141,
+  140, 139, 141, 143, 144, 140, 138, 139, 133, 135, 139, 136, 141, 144, 136, 125,
+  140, 138, 126, 128, 126, 115, 109, 100, 101, 90, 80, 102, 144, 167, 160, 153,
+  149, 150, 148, 146, 144, 142, 142, 148, 147, 146, 148, 154, 156, 155, 153, 163,
+  153, 158, 171, 176, 178, 173, 158, 155, 138, 145, 156, 120, 51, 19, 30, 29,
+  32, 36, 34, 35, 47, 69, 86, 115, 139, 154, 144, 134, 140, 152, 156, 151,
+  152, 154, 152, 153, 156, 166, 173, 172, 175, 178, 180, 181, 181, 184, 185, 179,
+  185, 186, 180, 176, 177, 180, 180, 179, 182, 189, 194, 191, 180, 176, 176, 178,
+  182, 185, 189, 189, 188, 185, 184, 188, 181, 181, 181, 174, 175, 174, 165, 161,
+  165, 149, 89, 37, 16, 20, 47, 39, 43, 78, 133, 168, 164, 152, 150, 167,
+  167, 180, 180, 167, 170, 166, 141, 123, 78, 41, 40, 47, 35, 33, 45, 31,
+  33, 31, 34, 36, 128, 142, 151, 151, 150, 150, 149, 153, 155, 149, 140, 139,
+  137, 139, 130, 128, 153, 171, 157, 163, 156, 150, 149, 152, 152, 149, 144, 141,
+  138, 139, 145, 147, 144, 143, 144, 129, 141, 128, 128, 54, 65, 65, 68, 67,
+  75, 77, 149, 144, 140, 140, 143, 144, 141, 137, 141, 133, 137, 141, 137, 141,
+  144, 137, 123, 138, 138, 129, 128, 126, 119, 117, 119, 119, 111, 100, 97, 114,
+  138, 149, 153, 146, 149, 151, 148, 144, 141, 137, 149, 145, 143, 143, 145, 145,
+  145, 143, 139, 158, 182, 182, 159, 150, 160, 165, 152, 152, 149, 144, 132, 106,
+  68, 37, 41, 51, 64, 74, 89, 113, 145, 168, 160, 154, 155, 159, 158, 152,
+  153, 159, 157, 161, 166, 166, 163, 159, 160, 160, 163, 164, 168, 175, 177, 177,
+  181, 185, 177, 180, 182, 179, 177, 182, 184, 184, 181, 173, 176, 193, 204, 198,
+  183, 173, 175, 179, 183, 187, 188, 186, 183, 183, 186, 179, 181, 183, 176, 176,
+  174, 165, 174, 175, 167, 139, 100, 68, 51, 43, 34, 57, 63, 63, 97, 152,
+  175, 162, 147, 145, 155, 166, 169, 172, 171, 162, 160, 137, 100, 55, 27, 39,
+  50, 35, 26, 36, 27, 38, 25, 101, 144, 156, 151, 150, 150, 148, 151, 154,
+  149, 141, 146, 140, 137, 143, 140, 132, 143, 167, 164, 161, 158, 157, 157, 153,
+  147, 143, 142, 138, 139, 144, 147, 144, 143, 145, 142, 140, 125, 128, 57, 51,
+  61, 58, 52, 60, 63, 144, 143, 141, 141, 140, 141, 140, 139, 141, 134, 137,
+  139, 135, 137, 140, 132, 130, 136, 131, 124, 127, 129, 129, 139, 123, 114, 119,
+  126, 111, 88, 91, 105, 132, 131, 143, 149, 148, 145, 144, 145, 148, 147, 146,
+  142, 139, 140, 147, 153, 178, 170, 168, 168, 170, 179, 178, 160, 155, 172, 167,
+  150, 155, 160, 118, 55, 94, 113, 138, 157, 164, 161, 157, 154, 166, 157, 155,
+  161, 167, 164, 160, 161, 167, 171, 176, 176, 173, 169, 167, 167, 163, 160, 163,
+  168, 169, 169, 172, 178, 177, 178, 179, 180, 184, 186, 179, 170, 170, 145, 127,
+  127, 141, 157, 180, 195, 175, 176, 179, 181, 181, 181, 182, 184, 184, 178, 182,
+  185, 179, 178, 175, 165, 164, 160, 152, 150, 144, 125, 86, 39, 52, 32, 26,
+  39, 46, 59, 106, 159, 171, 173, 164, 158, 163, 162, 156, 156, 150, 162, 162,
+  99, 29, 42, 64, 30, 26, 33, 29, 36, 35, 69, 153, 157, 152, 153, 153,
+  150, 152, 154, 150, 143, 145, 149, 144, 149, 149, 117, 108, 147, 163, 163, 164,
+  163, 160, 154, 147, 144, 145, 143, 143, 146, 147, 144, 142, 144, 152, 135, 125,
+  132, 70, 41, 56, 43, 39, 46, 51, 131, 136, 140, 141, 138, 137, 140, 141,
+  142, 134, 135, 137, 131, 132, 134, 126, 131, 133, 129, 127, 133, 128, 124, 131,
+  137, 142, 137, 125, 120, 122, 120, 103, 104, 112, 132, 142, 142, 142, 148, 153,
+  147, 151, 151, 145, 139, 142, 158, 172, 168, 166, 167, 164, 162, 172, 170, 152,
+  152, 148, 154, 163, 158, 144, 144, 157, 165, 162, 157, 155, 158, 162, 166, 167,
+  157, 174, 178, 165, 163, 176, 180, 171, 171, 173, 175, 173, 172, 172, 175, 177,
+  168, 162, 160, 162, 162, 158, 163, 170, 176, 172, 170, 173, 181, 181, 164, 147,
+  99, 95, 95, 99, 96, 100, 122, 145, 175, 175, 175, 175, 175, 177, 181, 185,
+  182, 177, 182, 187, 181, 180, 176, 165, 165, 172, 165, 156, 149, 150, 137, 96,
+  64, 47, 43, 52, 48, 39, 53, 83, 123, 148, 151, 145, 158, 161, 157, 163,
+  170, 138, 149, 135, 61, 36, 57, 49, 31, 30, 34, 33, 51, 50, 162, 156,
+  155, 157, 157, 154, 154, 155, 152, 147, 135, 162, 155, 145, 147, 112, 87, 112,
+  161, 165, 168, 168, 161, 153, 147, 145, 150, 148, 146, 149, 148, 144, 142, 143,
+  147, 124, 126, 143, 94, 51, 67, 47, 45, 53, 59, 137, 139, 139, 136, 136,
+  141, 141, 139, 138, 137, 137, 136, 134, 133, 131, 131, 132, 132, 133, 131, 132,
+  132, 134, 137, 138, 140, 140, 136, 135, 133, 126, 108, 104, 73, 117, 161, 139,
+  139, 162, 152, 151, 159, 147, 135, 148, 167, 170, 165, 166, 161, 157, 159, 161,
+  161, 152, 145, 161, 152, 145, 145, 146, 147, 156, 168, 160, 159, 158, 157, 158,
+  161, 165, 167, 171, 173, 178, 179, 178, 174, 171, 168, 189, 181, 176, 177, 184,
+  188, 184, 178, 181, 177, 170, 168, 167, 164, 162, 158, 158, 161, 155, 148, 161,
+  169, 130, 79, 87, 99, 70, 79, 89, 102, 111, 117, 154, 173, 174, 165, 168,
+  174, 177, 183, 177, 175, 174, 177, 182, 183, 175, 169, 171, 172, 168, 157, 151,
+  151, 148, 142, 121, 92, 58, 42, 44, 48, 43, 37, 49, 108, 160, 159, 145,
+  143, 153, 155, 155, 160, 170, 137, 123, 57, 30, 60, 41, 27, 34, 44, 32,
+  73, 153, 167, 150, 162, 163, 151, 149, 158, 157, 146, 139, 149, 148, 145, 149,
+  137, 108, 92, 132, 179, 178, 179, 170, 157, 155, 141, 149, 150, 146, 141, 141,
+  143, 140, 135, 135, 129, 127, 139, 102, 56, 64, 78, 62, 72, 92, 138, 140,
+  139, 136, 136, 138, 140, 138, 136, 136, 136, 136, 134, 133, 132, 129, 132, 131,
+  132, 130, 131, 133, 137, 140, 136, 140, 143, 143, 145, 146, 144, 129, 121, 89,
+  105, 131, 138, 160, 172, 143, 132, 121, 115, 138, 165, 171, 176, 192, 149, 145,
+  145, 151, 155, 158, 157, 153, 154, 152, 154, 158, 158, 153, 152, 158, 162, 164,
+  167, 168, 169, 170, 171, 171, 174, 175, 179, 179, 178, 176, 174, 172, 183, 178,
+  174, 176, 184, 185, 183, 179, 183, 180, 177, 175, 175, 172, 166, 162, 160, 157,
+  152, 142, 133, 122, 105, 88, 75, 92, 95, 83, 79, 89, 95, 100, 107, 137,
+  160, 169, 179, 180, 172, 171, 183, 182, 180, 177, 175, 173, 170, 170, 169, 172,
+  170, 162, 159, 160, 157, 152, 143, 144, 131, 96, 57, 34, 37, 48, 33, 50,
+  81, 120, 153, 164, 153, 138, 170, 159, 158, 152, 164, 113, 41, 24, 31, 30,
+  32, 39, 46, 95, 163, 169, 151, 158, 162, 156, 154, 158, 155, 146, 141, 146,
+  143, 141, 144, 134, 107, 91, 55, 133, 163, 166, 159, 155, 164, 155, 145, 148,
+  147, 143, 144, 145, 141, 135, 147, 133, 122, 135, 111, 76, 76, 75, 89, 92,
+  100, 139, 142, 139, 135, 134, 138, 138, 135, 135, 135, 135, 135, 135, 134, 133,
+  131, 132, 131, 131, 130, 131, 134, 139, 144, 138, 143, 145, 145, 149, 153, 153,
+  143, 135, 122, 112, 98, 92, 106, 107, 80, 57, 81, 123, 169, 187, 164, 141,
+  144, 148, 150, 154, 160, 165, 167, 169, 169, 157, 158, 163, 167, 166, 160, 156,
+  156, 162, 166, 170, 173, 175, 174, 171, 169, 173, 174, 174, 174, 174, 173, 172,
+  171, 175, 176, 174, 176, 180, 181, 181, 179, 181, 182, 184, 186, 186, 183, 176,
+  172, 168, 160, 159, 156, 134, 101, 83, 82, 77, 79, 54, 70, 69, 90, 79,
+  116, 123, 148, 165, 173, 184, 188, 185, 187, 184, 185, 183, 179, 173, 173, 175,
+  181, 171, 173, 173, 169, 167, 167, 164, 159, 151, 156, 156, 140, 118, 102, 100,
+  105, 92, 64, 50, 70, 98, 118, 139, 161, 149, 148, 145, 151, 159, 134, 59,
+  34, 26, 36, 30, 41, 77, 128, 174, 171, 154, 154, 157, 159, 160, 157, 151,
+  147, 146, 144, 140, 139, 140, 132, 112, 97, 71, 92, 116, 159, 183, 162, 162,
+  166, 144, 148, 148, 145, 145, 145, 142, 136, 134, 126, 118, 130, 116, 94, 98,
+  91, 103, 100, 94, 140, 143, 140, 136, 135, 137, 136, 132, 134, 134, 134, 135,
+  135, 135, 134, 132, 131, 131, 131, 130, 132, 135, 142, 147, 142, 146, 147, 145,
+  149, 153, 152, 145, 141, 145, 132, 105, 95, 97, 87, 73, 59, 120, 163, 164,
+  158, 154, 150, 148, 160, 165, 171, 174, 173, 171, 171, 171, 167, 165, 166, 165,
+  167, 166, 167, 169, 167, 171, 174, 177, 178, 177, 174, 172, 176, 177, 177, 176,
+  176, 177, 178, 178, 175, 176, 178, 178, 178, 178, 178, 180, 178, 180, 185, 188,
+  190, 189, 185, 183, 181, 167, 164, 165, 156, 129, 108, 99, 82, 100, 87, 60,
+  76, 79, 118, 102, 142, 156, 160, 159, 167, 174, 178, 188, 189, 190, 188, 184,
+  179, 177, 179, 183, 176, 178, 179, 178, 175, 172, 168, 165, 171, 164, 159, 159,
+  162, 159, 149, 139, 141, 121, 107, 104, 97, 92, 108, 132, 145, 157, 156, 159,
+  145, 133, 66, 43, 29, 38, 28, 58, 121, 160, 177, 172, 159, 150, 151, 158,
+  160, 153, 147, 147, 148, 144, 144, 145, 139, 133, 125, 115, 112, 80, 78, 120,
+  171, 153, 145, 153, 148, 150, 149, 145, 143, 143, 142, 138, 135, 139, 134, 133,
+  104, 81, 88, 84, 94, 98, 94, 140, 141, 140, 136, 135, 137, 135, 131, 133,
+  133, 134, 135, 133, 133, 132, 132, 130, 131, 131, 130, 132, 137, 142, 147, 146,
+  149, 149, 146, 149, 153, 153, 148, 156, 155, 139, 127, 130, 115, 91, 77, 92,
+  149, 172, 144, 135, 154, 166, 165, 159, 166, 172, 173, 169, 162, 159, 157, 167,
+  166, 167, 165, 168, 172, 176, 178, 178, 179, 180, 181, 181, 183, 182, 182, 184,
+  184, 183, 183, 183, 186, 187, 188, 180, 182, 184, 182, 180, 178, 179, 179, 178,
+  179, 181, 182, 183, 184, 183, 183, 184, 175, 164, 159, 162, 165, 158, 148, 117,
+  115, 52, 126, 65, 77, 121, 135, 135, 150, 157, 161, 170, 172, 171, 178, 196,
+  194, 191, 189, 185, 182, 176, 174, 182, 183, 185, 187, 186, 182, 178, 176, 170,
+  170, 169, 165, 160, 157, 158, 159, 159, 153, 148, 144, 136, 126, 114, 107, 121,
+  126, 126, 140, 142, 143, 72, 28, 31, 36, 32, 85, 159, 177, 175, 174, 164,
+  150, 146, 153, 157, 150, 145, 147, 145, 140, 147, 149, 137, 134, 138, 136, 105,
+  103, 103, 91, 130, 143, 154, 151, 151, 153, 150, 143, 139, 140, 140, 138, 126,
+  133, 130, 129, 102, 83, 90, 84, 89, 96, 96, 137, 140, 140, 137, 136, 137,
+  135, 131, 134, 134, 135, 135, 133, 132, 131, 131, 130, 131, 132, 133, 134, 136,
+  141, 144, 145, 148, 149, 149, 151, 158, 158, 155, 157, 157, 150, 142, 131, 104,
+  87, 89, 117, 146, 160, 157, 160, 162, 154, 147, 159, 165, 169, 171, 166, 161,
+  157, 156, 159, 164, 169, 171, 173, 178, 178, 178, 183, 182, 181, 181, 181, 183,
+  183, 184, 182, 184, 184, 184, 185, 187, 188, 189, 188, 187, 188, 187, 185, 183,
+  182, 181, 180, 181, 182, 180, 179, 176, 176, 177, 172, 182, 181, 169, 165, 172,
+  172, 163, 170, 156, 179, 255, 90, 69, 131, 126, 148, 160, 163, 167, 176, 177,
+  176, 185, 186, 187, 188, 191, 191, 190, 184, 181, 186, 186, 189, 194, 195, 192,
+  190, 191, 175, 175, 172, 167, 163, 163, 167, 171, 164, 163, 159, 147, 144, 149,
+  146, 138, 139, 130, 131, 137, 145, 151, 96, 54, 37, 45, 54, 116, 177, 176,
+  172, 176, 169, 154, 146, 149, 154, 150, 145, 143, 143, 133, 144, 151, 137, 136,
+  150, 149, 114, 108, 123, 104, 140, 139, 146, 148, 148, 151, 150, 143, 139, 139,
+  139, 138, 128, 126, 118, 125, 108, 89, 90, 77, 71, 78, 77, 136, 139, 140,
+  137, 136, 137, 136, 132, 135, 135, 135, 135, 132, 131, 130, 129, 129, 132, 134,
+  135, 135, 136, 138, 142, 142, 146, 147, 148, 152, 156, 157, 155, 148, 155, 158,
+  151, 133, 125, 138, 154, 169, 168, 161, 158, 168, 167, 161, 165, 162, 166, 165,
+  164, 162, 161, 163, 165, 160, 168, 173, 174, 179, 184, 184, 181, 181, 181, 181,
+  181, 180, 183, 183, 183, 182, 183, 184, 185, 186, 188, 189, 188, 191, 190, 190,
+  190, 190, 189, 187, 184, 182, 185, 189, 188, 186, 181, 180, 180, 175, 188, 193,
+  183, 175, 174, 167, 158, 159, 186, 150, 72, 167, 157, 169, 162, 159, 164, 158,
+  158, 167, 172, 177, 191, 183, 189, 194, 196, 195, 193, 192, 193, 189, 187, 190,
+  196, 197, 193, 190, 193, 201, 190, 177, 173, 175, 175, 168, 161, 153, 165, 172,
+  166, 157, 157, 156, 154, 156, 138, 143, 121, 112, 97, 60, 27, 53, 76, 99,
+  147, 176, 166, 170, 175, 170, 159, 150, 150, 155, 155, 146, 137, 148, 129, 140,
+  152, 141, 144, 158, 151, 128, 91, 114, 120, 171, 144, 124, 128, 140, 145, 149,
+  145, 141, 140, 139, 137, 146, 140, 128, 131, 102, 69, 63, 54, 60, 65, 73,
+  135, 139, 140, 137, 136, 138, 136, 131, 136, 136, 136, 133, 132, 131, 129, 129,
+  130, 133, 136, 138, 138, 137, 138, 141, 141, 145, 146, 147, 150, 153, 153, 149,
+  169, 156, 143, 136, 132, 148, 169, 171, 158, 165, 161, 153, 160, 165, 165, 172,
+  161, 158, 155, 152, 152, 154, 160, 162, 171, 176, 177, 174, 178, 187, 191, 188,
+  183, 184, 187, 188, 187, 187, 185, 185, 188, 189, 190, 192, 194, 195, 195, 194,
+  190, 188, 189, 190, 192, 192, 190, 185, 180, 187, 195, 198, 198, 194, 191, 192,
+  195, 192, 183, 177, 179, 181, 180, 174, 180, 139, 166, 175, 155, 175, 157, 163,
+  157, 164, 166, 172, 184, 189, 192, 205, 200, 206, 211, 205, 194, 185, 187, 192,
+  189, 188, 189, 194, 194, 188, 185, 189, 182, 180, 178, 179, 183, 185, 184, 181,
+  180, 174, 167, 163, 164, 164, 165, 168, 170, 150, 171, 155, 158, 130, 92, 49,
+  71, 108, 139, 167, 169, 157, 169, 172, 171, 162, 155, 153, 158, 159, 147, 133,
+  154, 128, 137, 155, 147, 154, 163, 149, 119, 99, 132, 128, 185, 171, 149, 133,
+  133, 141, 149, 149, 145, 143, 140, 135, 118, 121, 126, 133, 100, 61, 69, 75,
+  90, 89, 95, 138, 138, 138, 137, 136, 135, 134, 133, 133, 133, 134, 132, 129,
+  128, 128, 128, 133, 136, 138, 140, 140, 140, 141, 144, 144, 151, 155, 151, 149,
+  152, 152, 147, 145, 147, 123, 129, 144, 174, 164, 156, 161, 166, 156, 167, 150,
+  137, 112, 126, 130, 138, 144, 145, 148, 159, 168, 173, 166, 171, 178, 181, 185,
+  186, 188, 190, 182, 182, 184, 184, 185, 187, 189, 190, 185, 191, 194, 193, 193,
+  195, 196, 193, 194, 193, 196, 192, 189, 188, 187, 188, 190, 197, 196, 195, 198,
+  194, 190, 195, 200, 196, 190, 185, 182, 178, 175, 172, 171, 169, 167, 167, 170,
+  170, 167, 164, 173, 176, 178, 172, 167, 169, 178, 188, 205, 211, 207, 191, 182,
+  183, 185, 180, 174, 178, 184, 188, 184, 179, 182, 189, 187, 185, 182, 177, 177,
+  176, 176, 177, 174, 184, 186, 177, 175, 183, 186, 184, 174, 169, 172, 172, 161,
+  149, 127, 96, 116, 136, 158, 168, 172, 173, 170, 165, 179, 163, 153, 157, 165,
+  161, 148, 137, 144, 150, 141, 130, 152, 185, 177, 142, 127, 70, 105, 147, 166,
+  157, 168, 174, 146, 131, 144, 155, 144, 140, 139, 127, 126, 121, 125, 133, 84,
+  89, 91, 85, 92, 102, 105, 137, 137, 137, 137, 137, 137, 136, 136, 130, 132,
+  132, 131, 129, 128, 127, 130, 135, 139, 141, 142, 141, 141, 142, 143, 148, 153,
+  154, 150, 149, 150, 149, 144, 157, 143, 133, 164, 162, 163, 148, 154, 138, 160,
+  171, 129, 101, 72, 48, 67, 71, 95, 126, 147, 159, 166, 167, 164, 175, 178,
+  183, 184, 185, 184, 184, 186, 185, 186, 186, 187, 188, 190, 191, 192, 191, 196,
+  198, 196, 194, 196, 196, 193, 194, 194, 196, 196, 194, 191, 192, 191, 187, 193,
+  193, 191, 197, 192, 188, 194, 192, 190, 188, 186, 183, 181, 175, 172, 171, 170,
+  169, 171, 176, 177, 179, 178, 178, 179, 180, 179, 178, 175, 174, 174, 182, 195,
+  200, 193, 187, 185, 181, 173, 178, 176, 180, 186, 188, 184, 181, 182, 185, 184,
+  182, 181, 180, 180, 181, 181, 177, 186, 188, 180, 177, 183, 183, 178, 193, 185,
+  183, 180, 172, 172, 165, 146, 146, 158, 169, 170, 170, 170, 170, 167, 177, 168,
+  165, 169, 171, 164, 150, 139, 131, 142, 154, 155, 159, 162, 154, 142, 120, 74,
+  113, 148, 165, 157, 165, 168, 187, 151, 137, 144, 147, 152, 146, 125, 122, 116,
+  122, 134, 88, 87, 92, 91, 112, 116, 118, 136, 136, 137, 138, 137, 138, 138,
+  138, 131, 132, 133, 133, 131, 131, 130, 134, 135, 140, 142, 142, 142, 142, 142,
+  144, 147, 149, 150, 146, 146, 148, 149, 145, 155, 136, 146, 187, 172, 167, 158,
+  160, 161, 167, 152, 62, 54, 54, 76, 120, 116, 135, 157, 165, 168, 168, 169,
+  167, 174, 177, 180, 181, 181, 179, 180, 180, 188, 189, 190, 190, 192, 193, 195,
+  196, 194, 199, 201, 198, 197, 199, 200, 197, 193, 195, 199, 200, 199, 195, 194,
+  193, 186, 193, 191, 189, 194, 191, 187, 193, 185, 185, 185, 186, 186, 183, 176,
+  172, 172, 170, 170, 173, 179, 184, 189, 191, 190, 184, 181, 180, 184, 183, 177,
+  170, 170, 183, 191, 189, 187, 185, 181, 171, 179, 172, 172, 181, 190, 190, 185,
+  180, 182, 182, 182, 183, 183, 183, 184, 184, 180, 188, 190, 184, 181, 184, 182,
+  176, 187, 180, 178, 173, 167, 174, 179, 168, 166, 171, 176, 174, 172, 170, 168,
+  166, 171, 168, 171, 176, 175, 164, 150, 141, 130, 137, 156, 169, 165, 149, 142,
+  148, 111, 92, 139, 157, 160, 150, 164, 172, 186, 150, 129, 130, 139, 146, 139,
+  119, 122, 118, 125, 131, 87, 80, 89, 93, 98, 101, 103, 138, 138, 138, 138,
+  137, 138, 137, 137, 133, 134, 135, 135, 134, 134, 135, 139, 135, 140, 142, 143,
+  144, 143, 145, 146, 142, 142, 143, 143, 146, 150, 152, 148, 149, 140, 156, 187,
+  164, 177, 173, 156, 161, 160, 107, 49, 60, 59, 81, 106, 141, 153, 164, 164,
+  163, 168, 177, 182, 170, 173, 177, 179, 181, 181, 183, 187, 191, 191, 192, 192,
+  194, 195, 197, 198, 195, 200, 202, 199, 198, 201, 203, 201, 194, 196, 199, 200,
+  199, 196, 192, 191, 191, 198, 195, 191, 195, 190, 187, 192, 186, 184, 186, 187,
+  187, 185, 178, 174, 171, 170, 170, 173, 178, 185, 192, 195, 198, 189, 180, 177,
+  180, 183, 182, 179, 180, 184, 186, 181, 179, 180, 181, 177, 177, 168, 166, 175,
+  185, 187, 186, 183, 180, 181, 182, 182, 183, 183, 183, 183, 183, 189, 192, 189,
+  188, 189, 185, 179, 188, 185, 188, 185, 177, 181, 186, 177, 166, 170, 177, 180,
+  181, 178, 174, 170, 170, 166, 170, 177, 178, 168, 155, 145, 145, 137, 144, 161,
+  167, 159, 153, 154, 119, 106, 143, 147, 156, 154, 161, 162, 143, 130, 125, 127,
+  130, 131, 125, 117, 122, 126, 128, 110, 74, 71, 82, 81, 88, 95, 100, 139,
+  139, 138, 137, 136, 135, 134, 133, 132, 133, 134, 134, 132, 134, 136, 139, 134,
+  138, 141, 143, 144, 145, 148, 149, 142, 139, 140, 142, 147, 149, 151, 149, 151,
+  142, 159, 188, 167, 179, 173, 152, 150, 140, 54, 55, 66, 58, 76, 85, 133,
+  148, 162, 166, 167, 168, 172, 172, 175, 178, 182, 186, 188, 189, 192, 196, 192,
+  193, 193, 194, 195, 197, 198, 199, 200, 204, 205, 200, 198, 201, 202, 199, 198,
+  200, 203, 202, 201, 196, 193, 190, 194, 200, 196, 191, 194, 188, 186, 190, 188,
+  185, 184, 182, 182, 180, 177, 174, 173, 172, 171, 172, 174, 180, 186, 191, 195,
+  189, 183, 177, 177, 179, 180, 181, 185, 186, 183, 177, 176, 178, 181, 180, 177,
+  171, 169, 173, 177, 179, 180, 184, 180, 180, 180, 180, 180, 180, 181, 181, 181,
+  186, 189, 191, 192, 192, 188, 183, 188, 187, 192, 189, 179, 182, 186, 177, 167,
+  166, 171, 177, 183, 183, 180, 179, 174, 165, 164, 171, 177, 173, 162, 152, 148,
+  144, 146, 151, 162, 166, 161, 152, 130, 112, 134, 135, 160, 162, 150, 131, 116,
+  123, 127, 129, 132, 129, 124, 124, 119, 131, 126, 87, 64, 71, 84, 76, 88,
+  102, 113, 140, 139, 138, 137, 135, 134, 131, 131, 130, 131, 131, 130, 129, 130,
+  133, 137, 134, 139, 141, 143, 144, 144, 147, 148, 146, 140, 140, 145, 149, 146,
+  145, 142, 136, 126, 143, 186, 172, 173, 164, 161, 159, 119, 29, 54, 58, 69,
+  107, 132, 151, 161, 169, 171, 171, 170, 170, 167, 180, 183, 187, 187, 188, 188,
+  190, 194, 193, 194, 194, 195, 196, 198, 199, 200, 205, 208, 207, 201, 197, 198,
+  199, 197, 203, 204, 206, 205, 202, 199, 195, 194, 193, 197, 194, 189, 192, 188,
+  184, 188, 189, 185, 182, 181, 180, 178, 175, 173, 174, 173, 172, 171, 170, 172,
+  179, 182, 188, 190, 192, 188, 184, 180, 180, 180, 179, 178, 178, 178, 179, 180,
+  178, 177, 180, 175, 174, 173, 172, 170, 173, 179, 179, 178, 177, 176, 177, 178,
+  180, 181, 178, 180, 184, 188, 191, 191, 188, 184, 183, 179, 181, 177, 169, 175,
+  182, 174, 169, 161, 157, 162, 169, 172, 174, 177, 171, 160, 155, 160, 168, 167,
+  160, 152, 138, 150, 157, 156, 156, 157, 153, 144, 115, 122, 155, 145, 153, 139,
+  129, 125, 126, 130, 123, 123, 134, 134, 126, 127, 126, 134, 124, 80, 76, 86,
+  102, 91, 89, 105, 116, 137, 136, 135, 134, 133, 132, 131, 131, 133, 134, 132,
+  130, 129, 131, 134, 137, 137, 139, 143, 143, 143, 142, 143, 144, 149, 142, 138,
+  145, 150, 147, 144, 137, 124, 130, 141, 169, 160, 166, 159, 167, 153, 89, 60,
+  77, 89, 103, 120, 139, 152, 156, 159, 161, 169, 178, 184, 183, 182, 183, 186,
+  185, 185, 185, 189, 190, 194, 195, 196, 196, 197, 199, 201, 202, 204, 208, 207,
+  201, 199, 201, 202, 201, 202, 204, 205, 204, 201, 199, 199, 197, 190, 196, 193,
+  189, 194, 191, 189, 193, 189, 186, 186, 186, 185, 182, 178, 175, 175, 176, 175,
+  173, 170, 170, 174, 177, 179, 181, 185, 184, 184, 183, 186, 187, 179, 177, 178,
+  178, 180, 179, 179, 179, 181, 175, 176, 177, 177, 173, 173, 177, 177, 175, 174,
+  173, 175, 178, 183, 185, 180, 179, 181, 187, 191, 191, 188, 185, 188, 184, 186,
+  184, 178, 184, 189, 179, 169, 157, 152, 156, 163, 164, 165, 167, 170, 161, 157,
+  159, 162, 160, 156, 153, 143, 151, 158, 158, 153, 149, 145, 139, 107, 127, 165,
+  147, 141, 121, 123, 140, 136, 144, 130, 121, 132, 132, 124, 130, 134, 128, 117,
+  87, 101, 100, 113, 107, 105, 117, 125, 133, 133, 133, 133, 133, 132, 132, 132,
+  137, 138, 135, 133, 132, 133, 137, 140, 140, 141, 144, 143, 141, 139, 140, 140,
+  145, 139, 137, 145, 151, 149, 146, 137, 134, 162, 160, 151, 138, 160, 159, 161,
+  152, 61, 87, 91, 127, 162, 161, 174, 168, 170, 173, 175, 181, 185, 182, 176,
+  184, 186, 188, 188, 188, 189, 193, 196, 197, 197, 197, 198, 199, 201, 202, 203,
+  199, 203, 204, 201, 201, 206, 209, 209, 200, 201, 201, 200, 199, 198, 199, 200,
+  191, 196, 193, 192, 197, 197, 196, 202, 190, 189, 192, 194, 194, 190, 184, 180,
+  177, 178, 179, 174, 171, 170, 172, 175, 170, 167, 165, 167, 174, 181, 189, 193,
+  191, 183, 178, 176, 177, 177, 183, 183, 177, 172, 174, 181, 184, 181, 178, 178,
+  177, 174, 172, 171, 174, 180, 186, 190, 184, 182, 183, 188, 192, 192, 189, 187,
+  182, 180, 186, 188, 182, 185, 183, 168, 170, 160, 158, 167, 174, 170, 165, 163,
+  175, 170, 169, 169, 166, 161, 160, 160, 157, 150, 148, 151, 156, 152, 144, 138,
+  127, 122, 140, 125, 142, 135, 132, 141, 136, 153, 148, 131, 133, 127, 124, 139,
+  135, 115, 103, 87, 111, 96, 104, 106, 112, 119, 121, 131, 133, 134, 132, 132,
+  134, 135, 131, 136, 132, 130, 132, 137, 141, 140, 138, 142, 137, 136, 137, 143,
+  144, 142, 137, 149, 147, 157, 149, 143, 145, 140, 140, 153, 168, 157, 146, 141,
+  136, 151, 154, 145, 81, 100, 134, 142, 155, 156, 168, 167, 171, 176, 182, 186,
+  186, 185, 183, 186, 188, 190, 191, 195, 196, 197, 198, 203, 207, 208, 207, 205,
+  204, 205, 206, 210, 207, 205, 204, 205, 205, 204, 202, 210, 207, 203, 197, 194,
+  192, 192, 191, 194, 195, 196, 195, 193, 192, 197, 200, 192, 195, 194, 194, 171,
+  190, 180, 177, 175, 178, 181, 178, 176, 179, 186, 188, 183, 183, 174, 168, 172,
+  170, 174, 186, 185, 188, 189, 183, 176, 173, 179, 183, 178, 185, 188, 180, 175,
+  178, 181, 180, 173, 175, 175, 174, 174, 176, 177, 181, 182, 183, 186, 189, 192,
+  192, 189, 186, 190, 187, 184, 181, 177, 175, 176, 178, 166, 158, 161, 175, 183,
+  177, 174, 178, 163, 167, 173, 174, 171, 168, 167, 165, 159, 146, 152, 159, 154,
+  147, 144, 136, 130, 116, 139, 137, 136, 149, 142, 147, 152, 154, 148, 133, 127,
+  131, 134, 133, 129, 112, 102, 90, 97, 104, 99, 114, 107, 119, 125, 129, 133,
+  134, 132, 132, 134, 135, 131, 136, 136, 136, 135, 136, 138, 142, 144, 143, 141,
+  140, 138, 140, 140, 142, 142, 154, 147, 156, 146, 142, 147, 141, 139, 165, 175,
+  159, 148, 142, 135, 145, 146, 145, 103, 123, 140, 142, 162, 167, 168, 172, 174,
+  178, 182, 185, 184, 183, 182, 188, 188, 190, 192, 195, 196, 197, 198, 199, 202,
+  204, 204, 203, 203, 205, 207, 207, 205, 203, 203, 204, 204, 203, 202, 209, 207,
+  203, 198, 195, 193, 193, 193, 196, 193, 192, 194, 196, 197, 198, 196, 187, 189,
+  185, 189, 175, 190, 174, 173, 180, 170, 172, 178, 182, 188, 187, 174, 171, 179,
+  180, 180, 184, 176, 164, 167, 176, 180, 183, 182, 179, 176, 178, 180, 180, 185,
+  189, 184, 181, 181, 183, 182, 178, 178, 176, 175, 175, 175, 175, 177, 178, 182,
+  188, 194, 197, 198, 197, 197, 183, 184, 185, 184, 181, 176, 173, 170, 168, 159,
+  162, 176, 183, 174, 164, 161, 173, 175, 178, 174, 168, 162, 159, 156, 156, 150,
+  157, 163, 154, 145, 145, 140, 121, 116, 142, 145, 144, 155, 147, 153, 146, 149,
+  145, 133, 130, 136, 138, 135, 131, 103, 95, 90, 96, 105, 100, 109, 110, 119,
+  124, 129, 132, 133, 130, 131, 134, 133, 130, 137, 139, 142, 139, 136, 137, 143,
+  148, 139, 140, 141, 139, 138, 140, 147, 152, 150, 142, 149, 141, 139, 146, 139,
+  137, 175, 178, 159, 148, 145, 140, 145, 140, 135, 121, 139, 142, 140, 164, 173,
+  167, 177, 180, 181, 183, 184, 183, 182, 181, 188, 189, 191, 192, 195, 196, 198,
+  199, 197, 201, 203, 203, 204, 205, 208, 211, 206, 204, 203, 203, 205, 205, 204,
+  203, 206, 205, 200, 198, 196, 194, 195, 194, 197, 192, 190, 194, 197, 200, 198,
+  192, 184, 191, 182, 187, 183, 185, 169, 170, 172, 164, 176, 179, 166, 174, 192,
+  190, 181, 186, 183, 181, 187, 181, 173, 175, 169, 172, 177, 181, 183, 182, 180,
+  176, 181, 185, 189, 188, 185, 185, 184, 183, 184, 181, 177, 176, 174, 174, 174,
+  173, 174, 180, 187, 190, 188, 185, 184, 184, 184, 184, 183, 181, 177, 174, 171,
+  166, 167, 159, 163, 178, 188, 183, 174, 170, 169, 170, 172, 169, 165, 162, 160,
+  160, 157, 155, 164, 168, 153, 144, 142, 137, 112, 121, 147, 152, 151, 157, 152,
+  157, 146, 147, 144, 135, 132, 138, 138, 136, 132, 91, 90, 96, 95, 105, 105,
+  108, 121, 126, 125, 128, 132, 132, 130, 131, 134, 134, 131, 137, 139, 142, 142,
+  140, 140, 142, 143, 133, 133, 136, 140, 143, 149, 154, 157, 146, 141, 148, 141,
+  138, 145, 142, 142, 172, 175, 154, 147, 151, 149, 152, 144, 133, 131, 142, 146,
+  147, 165, 175, 167, 177, 179, 179, 180, 181, 181, 182, 182, 189, 189, 191, 192,
+  195, 197, 198, 200, 204, 206, 208, 208, 208, 210, 212, 215, 205, 204, 204, 205,
+  207, 207, 206, 204, 202, 199, 198, 196, 195, 194, 195, 193, 196, 194, 194, 195,
+  197, 197, 194, 190, 187, 200, 186, 187, 188, 177, 169, 168, 175, 167, 184, 188,
+  166, 165, 178, 172, 185, 190, 184, 179, 187, 189, 185, 187, 172, 172, 175, 180,
+  184, 185, 182, 176, 179, 183, 188, 188, 187, 186, 185, 183, 187, 183, 178, 176,
+  175, 176, 174, 173, 185, 192, 199, 200, 195, 189, 188, 189, 193, 189, 181, 172,
+  168, 169, 169, 165, 152, 150, 156, 169, 179, 177, 174, 174, 163, 163, 165, 163,
+  162, 161, 160, 160, 164, 160, 166, 167, 153, 144, 138, 128, 109, 130, 149, 153,
+  153, 152, 149, 157, 149, 150, 145, 134, 133, 138, 136, 133, 128, 83, 93, 104,
+  95, 103, 113, 113, 104, 108, 106, 128, 129, 132, 129, 129, 133, 135, 132, 136,
+  136, 139, 142, 145, 144, 140, 135, 133, 131, 133, 142, 150, 155, 154, 150, 148,
+  146, 155, 143, 136, 143, 140, 144, 168, 171, 155, 153, 160, 159, 161, 153, 149,
+  143, 141, 155, 161, 165, 170, 168, 174, 176, 176, 177, 179, 181, 183, 183, 189,
+  191, 193, 195, 197, 198, 199, 200, 209, 212, 214, 214, 213, 212, 213, 214, 204,
+  203, 203, 204, 206, 206, 204, 201, 197, 196, 196, 196, 196, 196, 197, 196, 197,
+  199, 202, 199, 196, 192, 191, 191, 187, 201, 190, 188, 188, 174, 178, 163, 124,
+  115, 134, 165, 180, 187, 183, 164, 172, 183, 186, 185, 193, 192, 181, 178, 179,
+  176, 173, 175, 180, 182, 181, 176, 177, 179, 184, 187, 186, 185, 183, 182, 186,
+  183, 179, 178, 176, 177, 176, 177, 180, 187, 196, 198, 195, 192, 192, 194, 195,
+  192, 182, 171, 167, 169, 167, 159, 155, 160, 174, 185, 188, 182, 177, 177, 169,
+  167, 167, 164, 161, 159, 156, 156, 164, 157, 159, 160, 153, 148, 139, 123, 109,
+  139, 149, 151, 156, 151, 152, 159, 150, 150, 144, 133, 132, 137, 135, 129, 116,
+  81, 99, 107, 94, 101, 115, 120, 118, 123, 123, 129, 129, 131, 128, 129, 133,
+  135, 133, 137, 135, 137, 140, 145, 144, 138, 131, 139, 136, 136, 143, 150, 153,
+  148, 141, 148, 144, 152, 140, 131, 135, 130, 130, 165, 174, 164, 164, 166, 160,
+  165, 158, 160, 152, 138, 158, 169, 158, 163, 165, 172, 174, 176, 177, 180, 182,
+  184, 187, 190, 191, 194, 195, 197, 198, 199, 201, 208, 212, 215, 215, 213, 210,
+  209, 208, 200, 200, 200, 201, 203, 202, 200, 196, 195, 195, 196, 197, 198, 198,
+  199, 199, 199, 201, 203, 200, 194, 190, 191, 194, 184, 194, 187, 186, 186, 175,
+  188, 143, 57, 60, 75, 105, 137, 154, 167, 178, 174, 188, 187, 180, 185, 187,
+  183, 184, 183, 178, 173, 172, 175, 177, 177, 174, 176, 175, 178, 185, 186, 183,
+  182, 184, 183, 183, 183, 180, 176, 176, 178, 180, 178, 182, 187, 187, 184, 181,
+  180, 181, 188, 190, 187, 179, 175, 175, 165, 151, 153, 164, 182, 196, 202, 196,
+  188, 184, 167, 166, 166, 166, 166, 165, 162, 160, 161, 153, 153, 153, 150, 151,
+  144, 124, 108, 146, 148, 150, 160, 153, 156, 162, 146, 148, 143, 133, 131, 133,
+  127, 117, 99, 81, 100, 102, 92, 102, 113, 122, 116, 120, 120, 129, 129, 131,
+  128, 129, 133, 136, 134, 138, 138, 139, 139, 141, 140, 138, 135, 141, 140, 140,
+  144, 146, 147, 144, 142, 146, 137, 142, 133, 131, 135, 126, 119, 158, 173, 169,
+  167, 167, 157, 162, 158, 158, 159, 140, 157, 168, 159, 167, 168, 173, 176, 179,
+  181, 184, 185, 187, 187, 191, 191, 194, 195, 197, 199, 200, 201, 204, 210, 214,
+  216, 214, 210, 207, 205, 202, 201, 201, 203, 203, 202, 199, 195, 197, 197, 198,
+  201, 203, 203, 204, 204, 202, 201, 200, 198, 197, 195, 196, 197, 190, 190, 187,
+  188, 189, 181, 194, 108, 53, 69, 64, 64, 77, 77, 95, 140, 174, 188, 185,
+  172, 174, 181, 186, 193, 183, 180, 177, 175, 176, 177, 178, 176, 178, 174, 175,
+  183, 185, 182, 182, 186, 183, 185, 187, 183, 175, 174, 177, 183, 195, 195, 194,
+  192, 189, 186, 183, 182, 184, 189, 187, 180, 179, 180, 170, 153, 148, 150, 158,
+  170, 182, 186, 183, 177, 162, 161, 163, 165, 168, 167, 163, 161, 160, 155, 155,
+  152, 147, 147, 143, 126, 108, 152, 147, 150, 163, 152, 153, 155, 143, 146, 145,
+  137, 132, 125, 112, 94, 90, 87, 97, 94, 97, 112, 115, 124, 128, 134, 134,
+  126, 128, 128, 125, 126, 131, 135, 134, 137, 139, 141, 138, 135, 134, 138, 141,
+  140, 140, 141, 143, 141, 142, 143, 145, 148, 133, 135, 131, 140, 148, 133, 122,
+  147, 168, 169, 168, 165, 154, 158, 157, 153, 165, 147, 158, 173, 168, 182, 181,
+  175, 177, 181, 183, 186, 187, 186, 187, 190, 191, 194, 195, 198, 199, 200, 201,
+  203, 209, 215, 218, 217, 212, 208, 206, 205, 205, 205, 206, 207, 205, 201, 197,
+  197, 198, 199, 202, 204, 206, 207, 206, 203, 199, 195, 195, 199, 202, 201, 199,
+  199, 191, 189, 191, 191, 187, 195, 80, 52, 70, 57, 56, 78, 65, 59, 96,
+  147, 172, 182, 177, 180, 181, 179, 181, 184, 183, 182, 181, 180, 180, 180, 179,
+  179, 173, 175, 182, 185, 182, 183, 186, 183, 187, 189, 185, 174, 171, 177, 185,
+  187, 186, 184, 185, 186, 186, 185, 183, 187, 189, 184, 175, 176, 182, 177, 162,
+  179, 168, 157, 158, 171, 183, 186, 181, 167, 165, 165, 165, 164, 159, 152, 147,
+  165, 161, 162, 154, 140, 140, 138, 124, 109, 158, 149, 151, 166, 149, 146, 145,
+  149, 156, 156, 147, 138, 124, 100, 78, 92, 96, 101, 90, 104, 121, 116, 123,
+  121, 129, 133, 124, 124, 127, 129, 132, 132, 133, 132, 138, 137, 135, 133, 134,
+  136, 139, 141, 139, 138, 140, 140, 141, 141, 142, 142, 138, 138, 136, 132, 129,
+  127, 126, 117, 135, 170, 168, 157, 157, 152, 160, 162, 156, 156, 148, 149, 167,
+  177, 180, 189, 178, 179, 182, 182, 181, 182, 184, 186, 191, 186, 187, 194, 199,
+  200, 200, 204, 212, 211, 210, 209, 209, 208, 205, 203, 196, 196, 197, 199, 203,
+  203, 201, 197, 192, 192, 195, 198, 200, 201, 201, 199, 209, 204, 198, 194, 193,
+  195, 196, 196, 201, 183, 189, 184, 186, 181, 169, 51, 53, 75, 60, 57, 53,
+  65, 52, 65, 119, 176, 185, 171, 171, 188, 166, 183, 180, 186, 184, 178, 178,
+  185, 180, 168, 185, 183, 178, 174, 177, 183, 188, 189, 192, 189, 185, 181, 178,
+  179, 183, 186, 186, 190, 194, 193, 188, 183, 181, 180, 187, 184, 181, 182, 183,
+  179, 171, 164, 160, 171, 169, 146, 174, 171, 179, 181, 165, 161, 166, 167, 158,
+  159, 163, 159, 168, 156, 155, 150, 135, 139, 140, 120, 121, 156, 154, 145, 158,
+  155, 141, 153, 162, 159, 145, 126, 114, 109, 104, 99, 107, 105, 101, 101, 106,
+  113, 122, 127, 131, 125, 121, 124, 125, 128, 129, 130, 131, 131, 132, 135, 137,
+  137, 137, 138, 139, 142, 140, 135, 134, 135, 135, 135, 136, 137, 137, 136, 135,
+  133, 129, 124, 121, 122, 113, 132, 165, 167, 159, 157, 155, 164, 167, 165, 164,
+  155, 155, 169, 176, 178, 185, 181, 184, 187, 189, 187, 183, 184, 183, 192, 188,
+  188, 192, 195, 195, 194, 196, 207, 205, 207, 205, 207, 204, 204, 200, 203, 203,
+  206, 203, 201, 197, 199, 198, 197, 195, 195, 196, 197, 198, 199, 200, 202, 201,
+  200, 200, 200, 198, 194, 190, 189, 180, 184, 183, 188, 178, 155, 52, 67, 65,
+  50, 65, 66, 70, 48, 54, 95, 177, 187, 179, 178, 185, 166, 181, 181, 187,
+  187, 183, 184, 189, 184, 172, 180, 177, 176, 174, 177, 181, 185, 184, 183, 181,
+  179, 176, 174, 177, 186, 192, 195, 196, 196, 193, 188, 184, 184, 185, 191, 187,
+  184, 184, 184, 181, 174, 167, 161, 168, 159, 145, 169, 177, 180, 181, 167, 161,
+  163, 162, 153, 155, 161, 160, 168, 157, 155, 148, 134, 135, 136, 117, 119, 156,
+  162, 156, 167, 156, 135, 142, 118, 121, 116, 107, 105, 108, 109, 107, 112, 109,
+  105, 104, 108, 116, 127, 132, 134, 129, 126, 133, 131, 131, 131, 131, 132, 133,
+  133, 133, 134, 136, 139, 140, 140, 139, 136, 133, 132, 133, 133, 133, 133, 132,
+  131, 127, 126, 125, 122, 118, 116, 118, 110, 123, 152, 158, 157, 153, 149, 160,
+  162, 166, 168, 161, 161, 173, 177, 176, 180, 182, 188, 193, 194, 192, 185, 182,
+  179, 185, 181, 183, 191, 197, 199, 201, 204, 203, 202, 204, 204, 204, 201, 201,
+  198, 193, 197, 202, 199, 196, 195, 202, 207, 200, 198, 196, 196, 196, 197, 199,
+  200, 201, 200, 200, 200, 200, 198, 194, 190, 185, 184, 187, 188, 197, 178, 140,
+  59, 75, 58, 52, 79, 70, 68, 54, 60, 80, 186, 184, 178, 177, 173, 167,
+  180, 181, 186, 186, 184, 187, 193, 186, 175, 176, 174, 175, 175, 177, 179, 183,
+  183, 179, 179, 178, 175, 173, 177, 188, 197, 201, 199, 195, 190, 185, 183, 185,
+  187, 192, 188, 184, 183, 183, 181, 175, 171, 165, 167, 148, 145, 157, 178, 175,
+  179, 169, 161, 161, 157, 148, 151, 160, 160, 166, 158, 154, 147, 134, 133, 131,
+  118, 119, 146, 149, 140, 142, 128, 106, 107, 102, 108, 107, 102, 105, 110, 113,
+  112, 111, 109, 105, 105, 110, 119, 129, 133, 132, 128, 126, 139, 137, 135, 134,
+  134, 134, 135, 136, 135, 134, 135, 135, 136, 134, 133, 131, 130, 129, 128, 128,
+  127, 126, 123, 121, 123, 122, 121, 119, 117, 116, 118, 113, 112, 138, 149, 157,
+  152, 146, 157, 156, 157, 161, 159, 162, 174, 176, 174, 179, 183, 187, 192, 194,
+  190, 187, 183, 180, 178, 178, 181, 188, 195, 197, 201, 206, 203, 204, 206, 204,
+  202, 198, 197, 196, 190, 193, 196, 195, 195, 197, 205, 208, 197, 196, 196, 197,
+  197, 198, 198, 198, 203, 199, 195, 192, 193, 194, 195, 195, 185, 189, 186, 187,
+  198, 175, 121, 65, 73, 60, 65, 87, 60, 63, 66, 75, 89, 196, 174, 166,
+  167, 161, 168, 181, 180, 182, 180, 179, 183, 188, 184, 177, 180, 176, 176, 175,
+  177, 177, 182, 186, 184, 185, 184, 179, 176, 179, 191, 200, 196, 194, 190, 185,
+  182, 181, 182, 184, 187, 184, 181, 180, 180, 179, 177, 174, 170, 170, 147, 149,
+  145, 171, 169, 176, 169, 161, 161, 158, 148, 151, 159, 158, 160, 155, 150, 144,
+  136, 131, 128, 124, 108, 124, 119, 106, 105, 95, 84, 87, 97, 103, 103, 100,
+  101, 104, 106, 104, 107, 108, 108, 110, 114, 119, 125, 126, 126, 125, 124, 145,
+  142, 139, 138, 136, 135, 136, 137, 138, 136, 133, 131, 130, 129, 129, 127, 117,
+  117, 118, 120, 118, 118, 117, 113, 124, 123, 122, 121, 118, 116, 118, 114, 99,
+  119, 137, 156, 154, 148, 161, 154, 150, 158, 160, 163, 174, 176, 173, 179, 183,
+  186, 191, 192, 190, 187, 187, 187, 185, 182, 185, 188, 190, 188, 190, 194, 203,
+  204, 206, 200, 196, 190, 191, 190, 202, 198, 199, 196, 199, 198, 201, 197, 190,
+  192, 195, 198, 200, 199, 197, 195, 198, 195, 191, 189, 190, 192, 193, 193, 185,
+  189, 183, 181, 188, 170, 103, 61, 67, 66, 76, 91, 64, 69, 69, 69, 107,
+  196, 165, 162, 163, 162, 173, 182, 183, 181, 176, 174, 178, 184, 184, 181, 185,
+  177, 175, 173, 172, 172, 180, 188, 187, 187, 186, 183, 180, 184, 195, 203, 189,
+  188, 186, 185, 184, 183, 182, 181, 181, 180, 179, 179, 180, 180, 180, 179, 170,
+  169, 152, 155, 139, 162, 168, 178, 166, 161, 163, 163, 153, 154, 160, 156, 154,
+  153, 144, 140, 138, 133, 129, 133, 92, 99, 97, 92, 93, 93, 93, 98, 94,
+  102, 104, 101, 102, 105, 109, 108, 104, 106, 111, 117, 122, 124, 126, 124, 123,
+  122, 123, 140, 138, 137, 136, 135, 133, 131, 131, 129, 125, 122, 120, 118, 117,
+  118, 115, 108, 107, 113, 115, 119, 120, 120, 119, 118, 118, 116, 113, 109, 108,
+  107, 105, 91, 101, 120, 148, 149, 146, 160, 151, 153, 160, 163, 167, 177, 175,
+  171, 176, 184, 188, 189, 189, 188, 189, 192, 194, 189, 187, 189, 194, 196, 193,
+  199, 205, 205, 205, 203, 196, 189, 184, 186, 187, 196, 195, 196, 198, 202, 202,
+  200, 195, 189, 192, 197, 201, 202, 201, 197, 195, 190, 191, 193, 195, 197, 195,
+  190, 187, 189, 190, 184, 180, 180, 173, 103, 59, 68, 69, 72, 90, 78, 83,
+  64, 53, 124, 182, 163, 169, 169, 175, 178, 183, 188, 184, 179, 176, 179, 183,
+  183, 181, 183, 175, 171, 170, 169, 167, 178, 190, 186, 185, 184, 183, 185, 189,
+  197, 202, 187, 187, 186, 187, 188, 187, 183, 181, 179, 180, 181, 182, 182, 182,
+  182, 181, 167, 160, 155, 156, 141, 156, 172, 179, 163, 160, 165, 166, 157, 157,
+  161, 156, 150, 151, 140, 135, 139, 133, 131, 144, 87, 92, 98, 99, 100, 101,
+  100, 100, 99, 107, 109, 105, 104, 107, 111, 111, 109, 112, 118, 125, 132, 133,
+  131, 128, 125, 125, 127, 127, 127, 128, 128, 126, 124, 121, 119, 113, 111, 110,
+  110, 108, 107, 107, 104, 102, 102, 108, 112, 116, 116, 116, 115, 105, 105, 105,
+  103, 100, 98, 100, 101, 102, 101, 114, 143, 144, 142, 157, 145, 153, 163, 165,
+  168, 177, 173, 169, 176, 184, 186, 188, 188, 188, 188, 190, 192, 186, 187, 192,
+  198, 202, 203, 210, 218, 206, 206, 204, 194, 188, 184, 189, 191, 192, 195, 204,
+  207, 211, 207, 206, 203, 195, 196, 200, 202, 203, 201, 199, 197, 190, 191, 194,
+  197, 199, 197, 192, 188, 194, 191, 189, 185, 178, 185, 110, 61, 67, 70, 65,
+  88, 85, 80, 58, 69, 149, 173, 170, 180, 172, 185, 182, 188, 191, 185, 182,
+  182, 184, 183, 179, 177, 179, 171, 170, 172, 172, 169, 180, 193, 190, 187, 184,
+  185, 189, 193, 197, 197, 190, 188, 187, 187, 188, 187, 183, 180, 178, 180, 182,
+  183, 182, 180, 178, 177, 169, 153, 158, 152, 148, 152, 173, 170, 162, 158, 164,
+  166, 158, 158, 162, 158, 151, 152, 138, 133, 139, 132, 132, 153, 92, 92, 100,
+  106, 102, 102, 101, 95, 95, 103, 105, 100, 97, 102, 107, 107, 121, 123, 127,
+  131, 134, 134, 133, 130, 128, 130, 131, 113, 113, 115, 114, 113, 111, 107, 104,
+  102, 102, 105, 106, 107, 106, 103, 100, 92, 91, 95, 98, 100, 99, 97, 95,
+  93, 95, 95, 97, 98, 100, 102, 105, 124, 116, 121, 148, 146, 145, 161, 146,
+  150, 160, 163, 166, 175, 174, 168, 176, 180, 183, 186, 186, 185, 185, 185, 186,
+  187, 188, 191, 196, 198, 197, 203, 210, 210, 209, 206, 197, 190, 187, 194, 199,
+  205, 213, 224, 225, 221, 212, 209, 208, 201, 202, 202, 203, 202, 201, 200, 199,
+  197, 195, 193, 193, 195, 196, 197, 196, 189, 185, 187, 185, 173, 189, 113, 57,
+  65, 68, 61, 85, 80, 67, 58, 101, 173, 173, 178, 185, 167, 186, 183, 196,
+  189, 185, 183, 185, 186, 182, 175, 171, 176, 169, 172, 177, 177, 174, 184, 198,
+  199, 193, 188, 189, 193, 195, 194, 191, 193, 189, 185, 184, 185, 184, 181, 178,
+  176, 178, 181, 181, 179, 175, 172, 171, 175, 150, 159, 149, 152, 149, 171, 159,
+  161, 157, 162, 163, 156, 158, 163, 160, 151, 153, 136, 131, 139, 131, 132, 156,
+  92, 90, 97, 104, 101, 103, 109, 104, 100, 107, 113, 112, 112, 120, 128, 130,
+  133, 133, 133, 131, 130, 129, 128, 126, 130, 131, 132, 104, 105, 106, 105, 103,
+  97, 92, 88, 93, 100, 94, 84, 81, 74, 70, 75, 63, 71, 77, 82, 89,
+  83, 82, 96, 97, 95, 94, 100, 109, 115, 118, 121, 138, 135, 135, 140, 143,
+  144, 145, 149, 155, 159, 164, 167, 169, 168, 167, 169, 176, 179, 181, 183, 185,
+  186, 187, 187, 190, 188, 189, 194, 196, 194, 196, 200, 202, 202, 204, 204, 207,
+  206, 208, 207, 208, 208, 212, 213, 216, 216, 216, 215, 208, 204, 201, 198, 199,
+  201, 205, 207, 202, 197, 191, 187, 187, 189, 191, 194, 198, 191, 176, 185, 186,
+  188, 159, 58, 78, 59, 68, 85, 76, 67, 92, 126, 168, 176, 183, 187, 188,
+  189, 191, 193, 182, 187, 191, 190, 184, 178, 175, 174, 179, 176, 177, 176, 179,
+  179, 180, 178, 197, 191, 186, 186, 192, 197, 199, 198, 189, 187, 184, 182, 182,
+  182, 180, 178, 178, 172, 175, 179, 175, 177, 180, 172, 166, 168, 166, 157, 159,
+  140, 166, 170, 161, 161, 160, 158, 160, 162, 158, 149, 149, 142, 141, 137, 140,
+  116, 149, 161, 99, 95, 111, 107, 100, 107, 102, 101, 113, 117, 123, 129, 134,
+  136, 137, 135, 140, 139, 135, 130, 125, 122, 124, 127, 129, 129, 129, 86, 85,
+  82, 78, 77, 76, 75, 75, 66, 74, 74, 69, 66, 57, 52, 54, 60, 65,
+  66, 79, 96, 96, 91, 97, 97, 105, 115, 121, 122, 121, 120, 124, 126, 127,
+  129, 133, 137, 139, 144, 151, 150, 154, 160, 164, 167, 167, 168, 170, 172, 174,
+  179, 182, 184, 186, 188, 188, 187, 185, 187, 192, 194, 192, 192, 196, 197, 199,
+  201, 203, 203, 202, 200, 199, 203, 204, 206, 208, 209, 211, 211, 211, 213, 211,
+  208, 205, 204, 205, 207, 208, 210, 209, 206, 201, 196, 192, 189, 190, 187, 187,
+  183, 195, 192, 190, 167, 87, 68, 70, 81, 75, 57, 72, 126, 171, 177, 182,
+  187, 189, 188, 189, 192, 195, 190, 191, 191, 189, 183, 177, 173, 172, 176, 176,
+  177, 175, 175, 178, 187, 192, 192, 188, 187, 190, 196, 199, 199, 196, 189, 186,
+  184, 183, 182, 182, 180, 178, 179, 172, 176, 179, 174, 175, 177, 169, 171, 169,
+  163, 154, 159, 145, 175, 180, 166, 166, 164, 161, 162, 164, 159, 150, 148, 146,
+  136, 135, 134, 123, 148, 156, 101, 97, 115, 117, 120, 137, 137, 137, 147, 145,
+  146, 146, 144, 141, 138, 136, 136, 136, 133, 130, 127, 126, 129, 131, 135, 136,
+  135, 77, 76, 72, 68, 67, 64, 62, 62, 56, 58, 63, 62, 61, 56, 56,
+  58, 73, 80, 83, 89, 100, 96, 91, 99, 93, 104, 116, 115, 107, 98, 100,
+  108, 123, 124, 127, 130, 132, 134, 142, 151, 146, 150, 157, 162, 165, 167, 169,
+  172, 171, 173, 176, 178, 180, 182, 182, 183, 183, 181, 185, 190, 192, 189, 189,
+  192, 192, 194, 198, 200, 199, 196, 192, 190, 199, 199, 200, 201, 203, 204, 206,
+  207, 216, 214, 212, 210, 208, 207, 207, 207, 204, 207, 209, 206, 197, 188, 182,
+  182, 190, 191, 193, 201, 192, 188, 180, 131, 105, 100, 91, 76, 81, 120, 164,
+  180, 181, 189, 193, 198, 199, 199, 199, 199, 201, 198, 191, 186, 181, 177, 173,
+  169, 185, 184, 183, 174, 170, 172, 184, 192, 186, 186, 188, 194, 199, 200, 197,
+  193, 188, 186, 184, 183, 183, 182, 180, 178, 179, 172, 176, 178, 173, 174, 174,
+  166, 173, 170, 165, 158, 166, 151, 177, 178, 164, 164, 161, 158, 159, 160, 154,
+  145, 145, 150, 131, 134, 125, 132, 148, 153, 106, 97, 112, 119, 129, 147, 145,
+  144, 138, 136, 135, 134, 132, 130, 127, 126, 130, 129, 129, 127, 126, 125, 128,
+  132, 134, 135, 134, 56, 58, 59, 61, 61, 61, 58, 57, 72, 65, 68, 71,
+  67, 71, 82, 87, 93, 105, 106, 99, 93, 81, 78, 90, 82, 89, 95, 91,
+  83, 83, 91, 103, 127, 130, 132, 133, 131, 131, 139, 149, 144, 149, 155, 160,
+  163, 165, 168, 170, 173, 173, 174, 176, 176, 177, 176, 176, 180, 179, 183, 188,
+  190, 188, 187, 189, 190, 190, 192, 193, 193, 192, 190, 188, 197, 197, 196, 197,
+  198, 201, 204, 205, 211, 210, 210, 209, 208, 206, 205, 204, 213, 220, 226, 225,
+  218, 210, 207, 209, 207, 200, 197, 197, 187, 185, 186, 170, 169, 151, 134, 127,
+  144, 180, 189, 172, 183, 191, 197, 205, 209, 209, 207, 206, 204, 198, 187, 182,
+  179, 177, 173, 169, 189, 184, 179, 172, 170, 173, 183, 189, 187, 187, 190, 195,
+  198, 198, 194, 190, 188, 186, 184, 184, 183, 182, 180, 177, 178, 172, 176, 179,
+  173, 174, 174, 166, 172, 172, 171, 168, 175, 153, 169, 162, 161, 161, 159, 156,
+  156, 157, 152, 142, 138, 153, 131, 135, 118, 138, 152, 155, 105, 90, 105, 116,
+  127, 142, 134, 128, 130, 127, 126, 125, 125, 126, 126, 126, 121, 122, 122, 121,
+  119, 120, 122, 125, 121, 125, 127, 83, 82, 85, 89, 95, 100, 106, 109, 90,
+  76, 80, 86, 81, 85, 99, 101, 96, 102, 97, 89, 90, 86, 83, 92, 86,
+  90, 93, 95, 99, 106, 120, 130, 132, 132, 134, 135, 132, 131, 138, 148, 147,
+  151, 156, 160, 161, 163, 166, 169, 171, 171, 172, 173, 173, 174, 173, 174, 181,
+  179, 182, 188, 189, 188, 188, 190, 188, 188, 188, 188, 189, 190, 192, 193, 197,
+  197, 196, 197, 198, 201, 204, 204, 203, 203, 204, 205, 205, 204, 203, 203, 197,
+  203, 209, 209, 204, 200, 201, 207, 214, 204, 201, 196, 188, 189, 189, 190, 196,
+  193, 198, 199, 194, 199, 203, 197, 194, 196, 197, 199, 201, 206, 209, 211, 200,
+  194, 187, 182, 179, 178, 175, 171, 177, 170, 166, 166, 174, 182, 190, 191, 192,
+  192, 192, 194, 194, 193, 191, 189, 187, 186, 184, 184, 184, 183, 179, 177, 177,
+  171, 176, 180, 174, 175, 175, 166, 169, 170, 170, 168, 174, 150, 164, 155, 163,
+  163, 161, 158, 159, 160, 155, 145, 132, 154, 135, 136, 119, 141, 156, 159, 99,
+  83, 98, 114, 129, 143, 131, 123, 128, 123, 120, 116, 114, 112, 114, 114, 115,
+  115, 115, 114, 112, 111, 112, 114, 113, 119, 121, 98, 92, 86, 82, 84, 91,
+  100, 104, 94, 77, 86, 98, 86, 86, 94, 86, 86, 82, 72, 76, 98, 110,
+  106, 103, 104, 108, 113, 119, 125, 129, 135, 136, 130, 129, 131, 134, 133, 132,
+  137, 144, 148, 151, 155, 158, 159, 161, 164, 166, 165, 166, 168, 171, 172, 174,
+  176, 176, 182, 180, 181, 185, 188, 186, 188, 190, 188, 186, 185, 185, 186, 189,
+  192, 194, 194, 194, 195, 196, 198, 200, 201, 202, 199, 199, 201, 202, 203, 204,
+  204, 204, 208, 211, 212, 211, 208, 207, 209, 213, 208, 201, 206, 200, 198, 200,
+  190, 197, 195, 195, 210, 218, 207, 202, 209, 214, 207, 201, 191, 185, 185, 193,
+  202, 208, 194, 191, 188, 185, 181, 179, 177, 174, 176, 167, 163, 164, 175, 183,
+  187, 184, 195, 194, 194, 193, 191, 190, 189, 188, 187, 186, 185, 185, 185, 183,
+  179, 176, 176, 171, 176, 179, 173, 173, 172, 163, 164, 164, 163, 158, 165, 146,
+  166, 164, 162, 162, 159, 156, 156, 157, 151, 143, 133, 149, 136, 134, 129, 141,
+  159, 157, 103, 84, 100, 116, 128, 137, 124, 117, 113, 111, 107, 104, 102, 100,
+  101, 101, 108, 109, 111, 110, 107, 108, 108, 110, 112, 115, 117, 121, 114, 105,
+  98, 95, 95, 97, 98, 97, 75, 86, 101, 86, 85, 94, 83, 83, 87, 83,
+  88, 110, 122, 118, 117, 117, 122, 128, 133, 134, 134, 135, 132, 134, 129, 131,
+  135, 136, 132, 133, 136, 145, 148, 152, 155, 157, 160, 162, 164, 163, 164, 166,
+  170, 173, 175, 177, 177, 182, 179, 179, 184, 185, 184, 188, 191, 189, 186, 186,
+  186, 187, 188, 189, 190, 190, 191, 193, 195, 197, 198, 198, 197, 197, 196, 197,
+  198, 199, 201, 202, 203, 200, 199, 197, 196, 194, 194, 194, 196, 203, 203, 215,
+  203, 203, 207, 191, 203, 197, 189, 195, 202, 204, 207, 208, 201, 206, 201, 191,
+  185, 187, 192, 195, 197, 191, 193, 193, 191, 185, 181, 179, 176, 181, 172, 167,
+  165, 170, 176, 181, 180, 193, 193, 194, 194, 192, 189, 189, 188, 186, 185, 185,
+  185, 185, 183, 179, 175, 178, 172, 176, 178, 170, 168, 165, 155, 155, 158, 160,
+  156, 162, 144, 167, 168, 163, 162, 158, 153, 152, 151, 144, 136, 141, 144, 132,
+  129, 141, 140, 157, 148, 109, 86, 97, 109, 117, 124, 110, 107, 107, 106, 105,
+  104, 103, 103, 104, 104, 101, 103, 105, 106, 104, 104, 106, 107, 108, 108, 109,
+  117, 115, 116, 114, 112, 106, 102, 97, 105, 79, 89, 103, 88, 90, 105, 96,
+  97, 114, 120, 116, 119, 119, 120, 126, 121, 125, 132, 134, 134, 135, 140, 142,
+  141, 134, 133, 136, 137, 132, 129, 128, 141, 145, 149, 152, 155, 159, 163, 165,
+  166, 166, 168, 171, 172, 172, 175, 175, 180, 177, 177, 181, 181, 182, 185, 190,
+  187, 186, 187, 187, 187, 186, 185, 184, 186, 187, 190, 192, 194, 194, 195, 193,
+  197, 194, 194, 195, 196, 197, 199, 200, 205, 203, 201, 200, 200, 200, 199, 199,
+  207, 210, 221, 200, 197, 204, 191, 208, 201, 198, 202, 202, 199, 208, 208, 194,
+  196, 196, 195, 196, 198, 196, 192, 187, 189, 194, 197, 194, 189, 182, 178, 178,
+  174, 170, 167, 164, 168, 174, 185, 190, 188, 191, 194, 193, 194, 191, 188, 187,
+  186, 185, 185, 185, 185, 183, 179, 175, 179, 172, 175, 176, 167, 163, 160, 149,
+  146, 154, 162, 161, 166, 143, 164, 163, 169, 168, 163, 157, 154, 151, 144, 135,
+  150, 139, 130, 125, 149, 139, 155, 137, 104, 79, 87, 98, 104, 113, 103, 103,
+  99, 98, 97, 95, 93, 90, 89, 88, 89, 92, 96, 97, 97, 98, 99, 101,
+  96, 97, 98, 131, 128, 126, 124, 123, 121, 122, 120, 124, 110, 108, 137, 124,
+  138, 131, 122, 126, 124, 124, 125, 129, 135, 135, 134, 135, 138, 135, 131, 131,
+  138, 140, 139, 139, 136, 133, 133, 136, 135, 134, 131, 130, 141, 148, 148, 152,
+  159, 163, 161, 165, 160, 162, 165, 169, 169, 172, 172, 176, 177, 176, 176, 178,
+  182, 186, 188, 189, 188, 187, 186, 185, 185, 184, 184, 188, 189, 190, 190, 192,
+  192, 193, 192, 199, 199, 199, 199, 199, 197, 196, 195, 201, 200, 198, 198, 199,
+  201, 204, 207, 211, 208, 203, 204, 206, 205, 201, 195, 204, 200, 197, 203, 211,
+  213, 205, 197, 192, 191, 189, 192, 197, 198, 197, 193, 188, 186, 184, 181, 178,
+  176, 172, 171, 180, 166, 159, 161, 166, 167, 176, 185, 184, 188, 193, 192, 188,
+  183, 183, 187, 187, 186, 185, 184, 183, 181, 177, 173, 177, 176, 179, 176, 163,
+  157, 150, 135, 144, 152, 149, 148, 160, 164, 163, 164, 169, 162, 156, 153, 150,
+  147, 147, 147, 141, 160, 102, 143, 138, 157, 158, 151, 96, 83, 77, 85, 86,
+  78, 78, 90, 88, 86, 88, 79, 85, 85, 70, 78, 79, 75, 83, 90, 86,
+  88, 89, 82, 90, 91, 95, 126, 125, 127, 129, 130, 130, 129, 127, 124, 123,
+  124, 130, 119, 127, 130, 131, 130, 128, 128, 129, 132, 135, 137, 136, 141, 141,
+  140, 134, 132, 134, 133, 127, 133, 134, 137, 141, 144, 141, 134, 128, 130, 143,
+  151, 147, 144, 152, 163, 170, 169, 165, 166, 168, 171, 171, 171, 172, 175, 174,
+  174, 174, 176, 179, 184, 186, 187, 187, 186, 185, 185, 186, 185, 186, 186, 186,
+  187, 189, 190, 191, 191, 192, 197, 198, 199, 200, 201, 201, 201, 200, 199, 199,
+  199, 201, 204, 208, 212, 214, 213, 210, 206, 207, 209, 209, 203, 199, 203, 200,
+  198, 203, 209, 211, 207, 201, 200, 198, 195, 196, 197, 198, 194, 192, 191, 190,
+  188, 186, 181, 179, 177, 176, 173, 164, 160, 160, 165, 170, 181, 187, 187, 189,
+  192, 191, 186, 183, 184, 186, 188, 186, 185, 184, 183, 181, 177, 173, 174, 170,
+  173, 170, 160, 158, 155, 140, 143, 152, 151, 146, 152, 154, 156, 161, 165, 158,
+  153, 151, 150, 147, 141, 137, 138, 146, 119, 145, 154, 153, 153, 143, 88, 73,
+  69, 81, 82, 71, 62, 67, 74, 75, 89, 82, 76, 77, 69, 74, 77, 69,
+  70, 71, 68, 76, 87, 87, 85, 87, 92, 128, 131, 134, 135, 136, 134, 132,
+  128, 126, 131, 126, 109, 117, 121, 129, 131, 131, 131, 131, 131, 131, 130, 132,
+  132, 129, 132, 134, 131, 131, 134, 133, 130, 131, 135, 139, 143, 145, 143, 137,
+  132, 132, 140, 146, 146, 147, 154, 163, 166, 165, 165, 167, 168, 172, 173, 173,
+  173, 173, 172, 173, 172, 173, 175, 179, 181, 182, 182, 182, 183, 184, 185, 186,
+  187, 184, 185, 187, 189, 190, 191, 191, 191, 192, 193, 195, 197, 200, 201, 202,
+  202, 200, 200, 200, 202, 205, 209, 212, 214, 211, 208, 206, 207, 209, 210, 205,
+  202, 201, 200, 199, 202, 206, 208, 207, 206, 208, 204, 202, 201, 199, 198, 193,
+  191, 190, 189, 187, 184, 180, 178, 175, 174, 170, 170, 168, 162, 166, 175, 184,
+  188, 190, 190, 191, 189, 186, 184, 186, 188, 189, 187, 186, 185, 184, 181, 177,
+  173, 170, 168, 173, 172, 163, 161, 156, 139, 137, 148, 148, 143, 149, 153, 159,
+  169, 164, 160, 156, 155, 154, 150, 142, 134, 141, 132, 134, 141, 160, 148, 147,
+  140, 79, 65, 63, 77, 87, 80, 71, 73, 68, 65, 93, 90, 72, 74, 73,
+  74, 79, 69, 67, 66, 64, 74, 88, 92, 91, 91, 92, 123, 124, 127, 130,
+  132, 131, 132, 130, 129, 131, 118, 87, 121, 126, 131, 122, 130, 130, 132, 133,
+  131, 126, 127, 130, 127, 129, 130, 129, 131, 134, 134, 131, 134, 133, 133, 133,
+  135, 137, 138, 139, 131, 131, 136, 143, 155, 162, 159, 154, 158, 160, 164, 165,
+  169, 173, 174, 170, 172, 172, 171, 172, 172, 174, 176, 178, 176, 176, 177, 178,
+  180, 183, 185, 186, 187, 187, 188, 189, 190, 189, 189, 189, 188, 190, 192, 195,
+  197, 198, 199, 200, 203, 203, 202, 202, 202, 203, 205, 205, 206, 204, 203, 204,
+  206, 207, 203, 201, 200, 201, 201, 201, 202, 205, 207, 209, 209, 207, 205, 202,
+  199, 197, 193, 190, 191, 189, 187, 181, 178, 175, 172, 170, 172, 178, 176, 167,
+  168, 179, 187, 186, 192, 191, 190, 187, 185, 185, 187, 189, 189, 188, 186, 185,
+  184, 181, 176, 173, 170, 170, 177, 178, 169, 164, 153, 132, 142, 150, 148, 144,
+  153, 159, 165, 172, 160, 161, 160, 155, 151, 149, 144, 138, 147, 127, 137, 139,
+  148, 148, 146, 147, 81, 70, 66, 78, 84, 82, 79, 82, 73, 62, 93, 93,
+  67, 73, 75, 69, 74, 68, 72, 75, 71, 76, 86, 87, 94, 95, 93, 103,
+  102, 104, 108, 114, 119, 123, 124, 121, 128, 113, 80, 110, 114, 118, 109, 116,
+  116, 121, 128, 129, 125, 125, 127, 134, 134, 130, 124, 122, 124, 124, 123, 131,
+  132, 132, 132, 133, 135, 137, 139, 129, 128, 133, 140, 149, 155, 157, 158, 156,
+  160, 163, 162, 167, 172, 171, 166, 171, 172, 171, 171, 171, 173, 174, 176, 174,
+  174, 175, 177, 180, 183, 185, 187, 192, 192, 192, 192, 191, 190, 188, 188, 190,
+  191, 193, 195, 197, 197, 198, 198, 205, 205, 204, 203, 202, 202, 201, 201, 203,
+  202, 202, 202, 202, 202, 202, 201, 199, 200, 201, 201, 200, 202, 206, 210, 206,
+  205, 203, 200, 196, 194, 192, 191, 196, 193, 190, 184, 180, 175, 172, 171, 172,
+  178, 177, 168, 171, 182, 189, 186, 193, 191, 188, 186, 185, 185, 187, 189, 189,
+  187, 185, 184, 183, 179, 175, 171, 172, 169, 172, 172, 165, 163, 156, 136, 152,
+  155, 148, 145, 159, 165, 164, 165, 152, 157, 157, 148, 140, 140, 142, 141, 143,
+  127, 134, 145, 138, 153, 146, 144, 85, 81, 84, 88, 86, 78, 76, 78, 86,
+  66, 89, 87, 66, 74, 74, 63, 66, 63, 69, 71, 65, 67, 76, 77, 91,
+  93, 93, 105, 104, 102, 101, 103, 106, 108, 110, 110, 123, 118, 87, 86, 88,
+  97, 99, 97, 97, 104, 119, 126, 123, 120, 122, 119, 120, 117, 112, 110, 115,
+  118, 117, 127, 133, 136, 139, 139, 137, 136, 135, 127, 132, 139, 138, 134, 134,
+  148, 165, 158, 164, 166, 163, 167, 172, 169, 162, 170, 170, 169, 170, 169, 170,
+  170, 173, 173, 174, 176, 178, 181, 184, 187, 189, 192, 192, 192, 192, 191, 189,
+  188, 187, 193, 194, 196, 197, 198, 198, 198, 198, 203, 203, 203, 204, 204, 205,
+  205, 205, 204, 204, 204, 204, 202, 203, 203, 203, 200, 201, 201, 201, 200, 201,
+  204, 205, 201, 201, 199, 195, 192, 189, 190, 192, 192, 190, 186, 183, 178, 175,
+  172, 171, 170, 169, 168, 169, 174, 185, 190, 189, 191, 189, 186, 185, 185, 185,
+  186, 186, 188, 186, 184, 183, 181, 178, 173, 169, 173, 164, 161, 159, 156, 163,
+  165, 151, 144, 147, 143, 146, 165, 173, 169, 167, 155, 160, 157, 144, 137, 140,
+  144, 143, 131, 129, 135, 154, 143, 158, 151, 124, 79, 87, 101, 112, 109, 97,
+  87, 85, 96, 76, 87, 82, 71, 77, 72, 63, 63, 58, 61, 60, 52, 57,
+  68, 72, 93, 94, 95, 120, 117, 114, 111, 109, 107, 104, 104, 111, 117, 112,
+  95, 68, 76, 86, 92, 92, 91, 99, 117, 127, 121, 114, 111, 103, 107, 108,
+  107, 110, 117, 119, 121, 128, 135, 140, 142, 139, 137, 136, 136, 131, 131, 136,
+  139, 136, 131, 138, 149, 150, 160, 162, 160, 164, 172, 170, 162, 167, 168, 167,
+  167, 166, 167, 167, 166, 170, 170, 173, 175, 178, 181, 183, 185, 187, 188, 190,
+  190, 190, 190, 189, 189, 190, 191, 192, 194, 195, 196, 196, 196, 197, 198, 200,
+  202, 203, 204, 205, 205, 203, 204, 204, 203, 203, 202, 201, 202, 202, 201, 200,
+  200, 201, 202, 201, 201, 199, 198, 197, 193, 189, 186, 188, 191, 186, 185, 182,
+  180, 178, 176, 173, 172, 175, 168, 165, 172, 182, 187, 190, 192, 189, 188, 185,
+  184, 185, 185, 186, 186, 187, 185, 183, 181, 179, 176, 171, 167, 168, 160, 158,
+  159, 160, 170, 174, 160, 137, 145, 146, 151, 168, 175, 170, 169, 164, 164, 157,
+  143, 140, 146, 144, 136, 127, 133, 142, 151, 153, 150, 161, 102, 75, 88, 105,
+  123, 128, 121, 112, 104, 104, 93, 96, 87, 85, 88, 76, 74, 70, 66, 67,
+  66, 58, 65, 78, 84, 99, 97, 94, 114, 115, 116, 118, 117, 118, 116, 115,
+  119, 111, 98, 98, 64, 84, 88, 87, 99, 95, 101, 120, 129, 120, 107, 102,
+  112, 117, 119, 119, 121, 125, 123, 123, 133, 137, 137, 133, 131, 132, 137, 139,
+  136, 126, 127, 140, 150, 143, 128, 120, 139, 150, 155, 155, 161, 173, 173, 164,
+  164, 165, 164, 164, 163, 162, 161, 162, 164, 164, 165, 169, 172, 175, 178, 180,
+  183, 184, 187, 188, 189, 190, 190, 189, 184, 185, 187, 190, 191, 193, 193, 194,
+  195, 196, 197, 199, 200, 201, 201, 201, 202, 203, 204, 203, 201, 200, 200, 201,
+  203, 201, 199, 200, 202, 203, 199, 197, 198, 198, 197, 190, 186, 184, 186, 188,
+  186, 184, 184, 183, 183, 183, 181, 181, 187, 172, 167, 177, 189, 190, 189, 191,
+  188, 186, 184, 184, 185, 185, 185, 184, 186, 184, 182, 180, 178, 175, 170, 166,
+  164, 159, 164, 170, 172, 179, 177, 159, 147, 158, 160, 160, 168, 167, 159, 158,
+  166, 162, 150, 138, 140, 146, 138, 122, 131, 137, 148, 141, 158, 139, 171, 91,
+  85, 91, 105, 120, 130, 128, 118, 111, 111, 108, 111, 99, 102, 101, 83, 89,
+  81, 79, 85, 88, 80, 84, 93, 96, 100, 96, 93, 120, 117, 109, 104, 104,
+  110, 110, 105, 110, 104, 101, 115, 99, 78, 87, 91, 100, 113, 116, 117, 121,
+  115, 108, 113, 113, 115, 119, 118, 117, 119, 125, 131, 134, 133, 141, 142, 132,
+  131, 135, 128, 130, 126, 129, 137, 146, 147, 144, 142, 124, 139, 143, 147, 163,
+  172, 166, 164, 162, 167, 172, 174, 172, 170, 170, 172, 167, 169, 168, 168, 168,
+  170, 175, 181, 178, 180, 184, 187, 189, 189, 188, 187, 195, 190, 188, 189, 189,
+  188, 190, 194, 191, 189, 193, 199, 199, 194, 195, 201, 201, 202, 204, 204, 202,
+  200, 197, 195, 199, 200, 200, 198, 198, 197, 196, 196, 191, 192, 190, 190, 189,
+  190, 193, 195, 195, 192, 186, 179, 181, 184, 179, 170, 173, 165, 166, 177, 188,
+  190, 188, 187, 188, 188, 189, 189, 189, 186, 185, 184, 182, 183, 184, 181, 175,
+  171, 170, 171, 163, 169, 174, 180, 163, 160, 168, 137, 156, 156, 157, 161, 168,
+  173, 173, 168, 160, 150, 149, 133, 134, 144, 131, 126, 141, 148, 140, 152, 171,
+  129, 173, 92, 90, 95, 115, 132, 130, 127, 125, 116, 109, 112, 113, 112, 113,
+  112, 106, 97, 97, 94, 93, 94, 97, 98, 97, 97, 95, 94, 93, 126, 124,
+  116, 108, 103, 102, 96, 88, 98, 92, 85, 96, 88, 79, 97, 98, 101, 104,
+  98, 95, 104, 105, 102, 108, 102, 104, 109, 112, 115, 119, 124, 128, 130, 128,
+  135, 135, 129, 128, 133, 128, 132, 131, 126, 125, 133, 145, 147, 145, 143, 146,
+  136, 128, 136, 144, 151, 163, 170, 172, 173, 171, 168, 166, 167, 170, 169, 170,
+  170, 167, 165, 166, 172, 175, 172, 173, 178, 181, 183, 185, 186, 186, 190, 186,
+  186, 188, 189, 187, 189, 193, 194, 192, 195, 200, 200, 196, 197, 203, 199, 201,
+  203, 203, 201, 199, 197, 194, 199, 200, 198, 197, 197, 195, 194, 192, 191, 192,
+  190, 189, 187, 188, 190, 193, 189, 188, 182, 175, 178, 184, 185, 180, 167, 165,
+  173, 184, 187, 186, 184, 188, 185, 186, 187, 187, 187, 184, 184, 182, 181, 179,
+  177, 175, 174, 172, 169, 166, 167, 187, 165, 170, 188, 160, 147, 161, 163, 160,
+  161, 167, 172, 173, 171, 167, 164, 151, 149, 134, 131, 138, 127, 129, 142, 140,
+  143, 145, 134, 146, 151, 79, 90, 99, 121, 135, 132, 128, 124, 119, 118, 121,
+  121, 117, 116, 116, 110, 101, 97, 95, 92, 93, 96, 95, 95, 93, 94, 92,
+  93, 123, 125, 122, 118, 114, 112, 104, 96, 96, 94, 86, 94, 91, 89, 104,
+  94, 100, 99, 90, 88, 100, 103, 103, 108, 108, 108, 112, 117, 122, 126, 128,
+  128, 129, 125, 130, 130, 124, 125, 131, 127, 122, 129, 129, 126, 131, 144, 149,
+  145, 149, 151, 144, 138, 140, 136, 137, 149, 149, 156, 166, 174, 175, 174, 171,
+  169, 167, 167, 168, 165, 163, 163, 166, 169, 168, 168, 171, 172, 174, 179, 181,
+  182, 185, 182, 183, 187, 188, 186, 187, 191, 194, 193, 195, 197, 197, 195, 198,
+  203, 198, 199, 200, 200, 199, 198, 195, 193, 198, 196, 196, 196, 194, 192, 191,
+  190, 190, 189, 189, 187, 185, 185, 187, 189, 181, 183, 182, 177, 178, 180, 181,
+  178, 163, 169, 181, 189, 188, 183, 183, 188, 186, 186, 187, 186, 186, 186, 184,
+  182, 187, 182, 177, 175, 175, 174, 168, 163, 171, 178, 179, 187, 174, 159, 170,
+  164, 170, 164, 167, 176, 179, 172, 167, 167, 167, 151, 149, 134, 128, 131, 124,
+  135, 152, 154, 151, 151, 139, 171, 110, 89, 90, 107, 130, 139, 136, 130, 126,
+  124, 119, 121, 118, 114, 113, 113, 109, 101, 98, 94, 93, 93, 96, 95, 95,
+  92, 89, 86, 87, 118, 123, 124, 123, 124, 124, 120, 113, 107, 111, 106, 113,
+  109, 106, 108, 80, 101, 107, 106, 108, 116, 115, 111, 114, 122, 122, 122, 125,
+  129, 129, 126, 122, 130, 123, 126, 126, 119, 122, 129, 125, 121, 125, 126, 124,
+  123, 131, 144, 157, 155, 158, 155, 155, 156, 144, 136, 144, 138, 143, 149, 155,
+  160, 161, 164, 164, 162, 162, 164, 162, 162, 162, 167, 170, 167, 167, 166, 168,
+  169, 172, 175, 177, 180, 179, 180, 186, 187, 186, 186, 189, 192, 192, 192, 192,
+  191, 192, 195, 199, 196, 197, 197, 197, 197, 196, 193, 193, 192, 193, 193, 193,
+  192, 191, 191, 190, 187, 188, 187, 185, 183, 182, 184, 185, 175, 178, 181, 181,
+  177, 173, 169, 166, 166, 174, 183, 188, 186, 182, 183, 187, 188, 188, 188, 188,
+  189, 188, 186, 185, 187, 184, 179, 175, 171, 168, 164, 161, 162, 182, 197, 188,
+  155, 163, 192, 163, 173, 166, 170, 181, 182, 171, 166, 168, 166, 149, 147, 132,
+  124, 127, 126, 145, 149, 158, 132, 144, 161, 156, 65, 91, 90, 116, 135, 142,
+  141, 134, 129, 133, 129, 130, 125, 121, 119, 122, 118, 113, 115, 112, 111, 112,
+  115, 116, 116, 112, 106, 102, 102, 121, 125, 125, 120, 119, 120, 117, 114, 120,
+  125, 120, 126, 124, 120, 116, 81, 107, 120, 125, 125, 130, 124, 120, 127, 129,
+  128, 126, 127, 128, 126, 122, 114, 124, 115, 117, 118, 114, 119, 126, 122, 129,
+  122, 119, 117, 109, 108, 129, 155, 168, 165, 152, 147, 151, 148, 146, 155, 157,
+  150, 139, 132, 131, 134, 144, 150, 153, 155, 157, 157, 158, 160, 166, 170, 168,
+  167, 165, 165, 165, 168, 171, 172, 176, 174, 176, 182, 184, 182, 183, 186, 187,
+  189, 189, 187, 186, 188, 191, 195, 194, 194, 195, 195, 193, 193, 192, 192, 189,
+  189, 190, 191, 191, 192, 191, 191, 186, 187, 185, 184, 182, 181, 183, 183, 179,
+  179, 178, 178, 174, 170, 169, 168, 176, 179, 181, 182, 184, 185, 185, 186, 187,
+  187, 187, 186, 188, 186, 186, 185, 177, 179, 179, 173, 165, 161, 162, 165, 170,
+  205, 179, 157, 170, 172, 174, 174, 170, 167, 172, 182, 183, 173, 168, 168, 162,
+  147, 145, 129, 122, 129, 133, 153, 158, 153, 130, 147, 160, 134, 95, 88, 86,
+  120, 138, 140, 143, 136, 129, 136, 124, 122, 118, 112, 108, 109, 105, 99, 107,
+  104, 103, 102, 107, 110, 111, 107, 103, 101, 101, 120, 125, 125, 120, 117, 120,
+  121, 120, 125, 124, 117, 124, 125, 126, 128, 100, 115, 126, 127, 123, 125, 120,
+  123, 135, 127, 126, 127, 129, 129, 127, 124, 118, 114, 103, 108, 112, 110, 117,
+  125, 121, 119, 117, 122, 125, 116, 103, 102, 109, 150, 159, 155, 151, 157, 159,
+  156, 160, 160, 156, 151, 146, 144, 142, 139, 137, 139, 141, 145, 147, 147, 150,
+  155, 160, 163, 163, 162, 162, 162, 164, 166, 167, 173, 172, 173, 177, 179, 178,
+  179, 183, 186, 189, 190, 187, 186, 189, 191, 191, 192, 192, 192, 192, 191, 191,
+  191, 191, 188, 189, 189, 190, 191, 191, 191, 191, 185, 185, 184, 183, 180, 181,
+  181, 184, 186, 179, 172, 170, 170, 173, 179, 185, 185, 181, 178, 177, 181, 186,
+  186, 183, 184, 183, 182, 181, 183, 182, 182, 182, 173, 178, 181, 176, 167, 164,
+  170, 177, 204, 184, 151, 161, 178, 171, 173, 168, 168, 170, 176, 180, 180, 175,
+  172, 168, 158, 148, 145, 124, 120, 136, 141, 156, 174, 150, 148, 156, 136, 129,
+  164, 89, 86, 123, 136, 134, 141, 135, 126, 134, 117, 116, 109, 102, 97, 95,
+  90, 83, 89, 85, 83, 84, 86, 91, 92, 89, 83, 83, 85, 119, 125, 128,
+  126, 125, 128, 130, 130, 128, 123, 114, 125, 126, 127, 137, 116, 118, 124, 124,
+  119, 121, 118, 120, 131, 124, 126, 129, 131, 131, 130, 130, 128, 116, 104, 108,
+  111, 109, 115, 122, 116, 109, 119, 127, 127, 128, 121, 95, 67, 93, 130, 155,
+  160, 167, 168, 158, 154, 150, 153, 159, 165, 167, 161, 152, 144, 139, 141, 143,
+  143, 142, 144, 146, 149, 155, 155, 155, 157, 157, 160, 162, 164, 171, 169, 169,
+  172, 173, 173, 175, 179, 182, 187, 189, 186, 184, 188, 188, 186, 191, 191, 189,
+  189, 189, 189, 188, 188, 191, 192, 191, 191, 190, 189, 188, 188, 184, 184, 184,
+  183, 181, 182, 183, 185, 186, 176, 168, 170, 175, 178, 183, 187, 185, 184, 180,
+  176, 180, 185, 185, 181, 180, 180, 180, 179, 181, 180, 180, 180, 176, 178, 179,
+  175, 169, 167, 171, 176, 192, 153, 152, 188, 181, 172, 185, 159, 168, 177, 182,
+  178, 176, 178, 175, 166, 156, 151, 147, 121, 119, 143, 147, 155, 160, 145, 144,
+  148, 131, 133, 168, 101, 94, 132, 138, 131, 143, 137, 124, 132, 129, 129, 123,
+  117, 114, 111, 106, 99, 101, 98, 95, 94, 95, 98, 99, 97, 91, 90, 92,
+  123, 129, 133, 129, 126, 126, 126, 124, 132, 125, 120, 132, 132, 128, 135, 118,
+  117, 123, 122, 120, 125, 121, 116, 121, 117, 123, 127, 127, 126, 126, 129, 129,
+  126, 114, 115, 117, 112, 117, 119, 111, 122, 130, 121, 105, 117, 133, 109, 64,
+  47, 102, 141, 150, 157, 164, 159, 156, 161, 157, 153, 151, 154, 158, 160, 159,
+  153, 154, 154, 152, 149, 147, 149, 151, 145, 146, 148, 150, 152, 155, 157, 160,
+  168, 164, 162, 165, 168, 168, 171, 176, 176, 184, 187, 183, 181, 184, 184, 180,
+  189, 189, 186, 186, 186, 187, 186, 187, 194, 193, 193, 190, 190, 186, 186, 183,
+  183, 183, 183, 182, 181, 180, 184, 185, 179, 169, 168, 175, 182, 180, 179, 177,
+  180, 185, 184, 179, 179, 183, 184, 181, 184, 183, 182, 181, 181, 181, 182, 182,
+  176, 174, 171, 166, 162, 160, 161, 162, 131, 162, 171, 188, 202, 179, 168, 169,
+  169, 183, 187, 177, 174, 180, 178, 164, 156, 154, 149, 119, 118, 147, 151, 152,
+  147, 162, 144, 148, 170, 154, 139, 135, 100, 136, 139, 130, 143, 138, 125, 134,
+  125, 126, 125, 120, 120, 119, 117, 110, 109, 106, 101, 99, 99, 100, 100, 98,
+  98, 96, 96, 121, 123, 125, 126, 125, 124, 123, 124, 123, 121, 123, 121, 121,
+  121, 121, 120, 110, 119, 118, 117, 120, 116, 113, 120, 105, 111, 114, 112, 114,
+  122, 125, 124, 120, 120, 122, 121, 117, 116, 117, 120, 119, 122, 121, 108, 119,
+  115, 115, 67, 35, 56, 90, 124, 148, 157, 153, 149, 157, 157, 157, 157, 159,
+  160, 160, 159, 149, 148, 148, 151, 156, 158, 157, 157, 159, 161, 160, 155, 146,
+  140, 137, 137, 151, 154, 158, 162, 166, 164, 160, 156, 170, 174, 178, 184, 183,
+  181, 183, 186, 183, 183, 181, 177, 178, 184, 187, 187, 184, 185, 188, 188, 188,
+  183, 179, 175, 183, 180, 178, 177, 180, 180, 178, 175, 151, 163, 176, 179, 177,
+  176, 180, 185, 183, 181, 180, 182, 184, 185, 186, 185, 188, 185, 181, 179, 181,
+  181, 180, 179, 180, 176, 169, 163, 161, 158, 150, 143, 164, 157, 177, 187, 175,
+  179, 179, 154, 170, 182, 192, 189, 180, 172, 168, 164, 142, 149, 154, 139, 116,
+  151, 151, 154, 164, 148, 145, 158, 162, 152, 144, 149, 104, 125, 120, 128, 133,
+  122, 130, 129, 132, 130, 136, 134, 122, 121, 120, 105, 115, 110, 108, 107, 108,
+  106, 103, 102, 101, 104, 102, 126, 127, 127, 125, 122, 120, 120, 120, 121, 120,
+  119, 117, 116, 116, 116, 117, 116, 124, 123, 119, 123, 120, 116, 122, 116, 118,
+  116, 108, 104, 107, 109, 108, 110, 113, 115, 115, 112, 112, 115, 117, 117, 116,
+  115, 111, 121, 110, 117, 85, 37, 45, 54, 67, 86, 115, 145, 167, 166, 164,
+  158, 154, 153, 156, 156, 152, 157, 156, 156, 157, 161, 164, 167, 167, 161, 161,
+  159, 155, 152, 150, 150, 151, 152, 150, 146, 145, 150, 156, 159, 163, 159, 162,
+  167, 176, 179, 180, 184, 190, 183, 183, 182, 177, 179, 182, 185, 182, 190, 189,
+  188, 184, 181, 178, 178, 177, 176, 176, 178, 179, 181, 176, 169, 161, 169, 174,
+  179, 181, 180, 179, 180, 180, 186, 185, 186, 188, 190, 190, 187, 184, 188, 185,
+  182, 180, 180, 180, 179, 178, 167, 171, 172, 166, 159, 159, 164, 170, 160, 176,
+  184, 185, 184, 179, 172, 170, 190, 195, 196, 187, 178, 174, 174, 171, 160, 155,
+  145, 127, 111, 155, 163, 169, 150, 145, 151, 166, 173, 162, 151, 146, 125, 109,
+  125, 112, 135, 126, 130, 130, 128, 124, 128, 128, 124, 128, 126, 112, 120, 115,
+  107, 100, 96, 95, 101, 104, 95, 100, 102, 126, 126, 125, 124, 122, 119, 121,
+  122, 125, 122, 119, 117, 116, 114, 115, 116, 115, 122, 120, 118, 123, 119, 116,
+  121, 116, 118, 114, 106, 103, 106, 110, 111, 119, 121, 123, 123, 121, 122, 124,
+  125, 119, 113, 115, 117, 127, 112, 123, 101, 32, 38, 41, 41, 44, 65, 98,
+  123, 136, 145, 155, 161, 166, 169, 164, 156, 162, 161, 160, 158, 158, 160, 165,
+  168, 163, 163, 163, 164, 164, 163, 160, 159, 157, 153, 146, 143, 145, 152, 157,
+  161, 158, 157, 160, 165, 167, 169, 173, 178, 179, 178, 180, 174, 176, 177, 179,
+  173, 182, 182, 184, 180, 178, 175, 178, 179, 180, 174, 168, 165, 166, 169, 170,
+  170, 184, 182, 180, 180, 182, 181, 181, 180, 187, 188, 190, 192, 193, 191, 186,
+  182, 187, 185, 182, 180, 180, 180, 178, 176, 169, 169, 167, 161, 156, 156, 161,
+  168, 163, 193, 192, 182, 189, 179, 168, 186, 192, 193, 190, 182, 176, 174, 173,
+  168, 157, 152, 147, 137, 125, 164, 158, 155, 142, 145, 153, 163, 171, 166, 154,
+  143, 149, 99, 125, 104, 134, 127, 127, 127, 134, 125, 125, 122, 117, 120, 117,
+  103, 95, 104, 113, 113, 109, 101, 95, 93, 95, 98, 101, 115, 116, 122, 122,
+  123, 124, 125, 126, 127, 125, 122, 117, 117, 118, 121, 121, 117, 122, 120, 117,
+  123, 120, 116, 122, 116, 115, 115, 114, 114, 116, 121, 124, 130, 131, 131, 131,
+  128, 128, 128, 129, 121, 120, 120, 118, 129, 118, 125, 92, 27, 39, 49, 49,
+  42, 41, 50, 60, 136, 143, 145, 142, 145, 159, 170, 174, 166, 167, 167, 164,
+  159, 157, 160, 163, 165, 166, 169, 173, 174, 170, 160, 152, 162, 161, 158, 157,
+  157, 156, 154, 154, 158, 155, 156, 159, 161, 162, 167, 172, 183, 186, 187, 184,
+  184, 187, 185, 181, 177, 182, 185, 184, 178, 173, 172, 172, 172, 167, 161, 159,
+  162, 168, 177, 182, 182, 179, 178, 176, 178, 181, 184, 184, 186, 186, 187, 190,
+  191, 190, 186, 183, 186, 183, 181, 179, 179, 178, 176, 174, 178, 165, 154, 154,
+  160, 162, 157, 155, 178, 196, 193, 181, 180, 176, 174, 187, 179, 181, 182, 179,
+  179, 178, 172, 163, 151, 150, 152, 147, 132, 160, 146, 138, 164, 168, 169, 167,
+  172, 175, 169, 157, 157, 110, 111, 112, 131, 123, 128, 123, 134, 128, 126, 120,
+  112, 114, 112, 100, 108, 105, 99, 90, 86, 90, 95, 97, 95, 96, 96, 103,
+  107, 115, 119, 121, 121, 121, 120, 120, 118, 116, 114, 114, 117, 120, 121, 119,
+  123, 119, 116, 123, 120, 116, 121, 118, 118, 119, 120, 118, 113, 115, 117, 121,
+  122, 122, 123, 121, 122, 121, 121, 119, 126, 123, 110, 123, 121, 117, 64, 32,
+  38, 41, 43, 41, 40, 41, 44, 50, 85, 121, 144, 155, 160, 155, 147, 169,
+  173, 175, 174, 169, 166, 166, 167, 168, 167, 167, 168, 169, 167, 160, 154, 165,
+  166, 165, 167, 166, 163, 158, 155, 151, 149, 149, 154, 160, 163, 169, 173, 169,
+  171, 174, 173, 174, 176, 175, 171, 184, 185, 183, 178, 171, 166, 165, 165, 155,
+  160, 167, 172, 176, 177, 177, 175, 178, 179, 180, 177, 176, 177, 183, 189, 186,
+  185, 184, 186, 188, 190, 189, 188, 183, 181, 179, 178, 177, 175, 172, 170, 168,
+  157, 152, 159, 168, 170, 168, 169, 200, 191, 192, 186, 169, 176, 188, 180, 180,
+  181, 181, 180, 182, 183, 178, 169, 162, 156, 150, 136, 114, 147, 148, 156, 166,
+  171, 169, 162, 164, 170, 167, 156, 153, 139, 96, 132, 131, 121, 133, 123, 125,
+  123, 127, 125, 118, 121, 124, 117, 121, 115, 104, 96, 94, 97, 91, 84, 87,
+  84, 82, 102, 106, 112, 115, 115, 112, 111, 111, 111, 109, 108, 108, 109, 111,
+  113, 115, 113, 117, 111, 107, 115, 114, 110, 114, 110, 111, 114, 115, 114, 109,
+  108, 112, 115, 116, 116, 119, 120, 122, 123, 122, 114, 124, 120, 102, 115, 116,
+  107, 44, 36, 38, 37, 40, 43, 44, 42, 41, 34, 47, 55, 61, 82, 120,
+  150, 162, 160, 166, 171, 174, 174, 173, 172, 172, 171, 166, 161, 158, 159, 162,
+  165, 166, 167, 165, 163, 163, 165, 166, 167, 165, 151, 145, 143, 146, 151, 151,
+  154, 156, 165, 168, 172, 170, 172, 174, 175, 170, 171, 166, 161, 156, 158, 162,
+  169, 172, 164, 167, 172, 176, 177, 177, 178, 178, 180, 181, 183, 181, 177, 177,
+  180, 185, 186, 185, 184, 185, 188, 190, 191, 190, 180, 178, 176, 175, 174, 172,
+  169, 166, 154, 155, 161, 166, 163, 160, 168, 183, 210, 189, 192, 190, 170, 183,
+  197, 177, 190, 188, 183, 177, 177, 179, 179, 173, 163, 157, 151, 136, 111, 144,
+  154, 170, 153, 160, 163, 162, 164, 166, 161, 150, 151, 164, 92, 140, 137, 128,
+  137, 129, 128, 128, 134, 132, 126, 129, 130, 118, 69, 73, 78, 82, 86, 81,
+  62, 40, 80, 72, 67, 110, 109, 111, 111, 110, 109, 110, 110, 110, 108, 108,
+  108, 109, 108, 109, 110, 108, 111, 104, 102, 111, 110, 105, 109, 105, 102, 105,
+  111, 111, 107, 108, 115, 116, 116, 116, 119, 121, 124, 124, 123, 110, 116, 113,
+  101, 113, 109, 103, 49, 36, 38, 42, 45, 45, 42, 36, 31, 40, 42, 37,
+  37, 61, 103, 128, 131, 154, 155, 158, 162, 167, 169, 169, 168, 166, 164, 161,
+  158, 157, 160, 165, 169, 165, 164, 162, 163, 167, 168, 168, 168, 159, 152, 147,
+  147, 147, 144, 143, 144, 136, 137, 140, 136, 139, 140, 142, 137, 153, 148, 148,
+  151, 162, 170, 178, 177, 178, 175, 173, 171, 170, 174, 182, 186, 181, 180, 181,
+  180, 180, 180, 179, 178, 184, 183, 184, 185, 188, 188, 186, 184, 177, 176, 174,
+  173, 172, 170, 166, 162, 159, 160, 166, 168, 160, 154, 166, 186, 199, 194, 192,
+  188, 184, 190, 191, 183, 190, 190, 186, 179, 176, 176, 176, 171, 156, 154, 155,
+  145, 121, 148, 152, 165, 163, 168, 173, 177, 180, 176, 171, 164, 153, 169, 100,
+  122, 143, 138, 133, 135, 140, 134, 135, 136, 130, 129, 119, 98, 95, 92, 84,
+  75, 78, 87, 88, 77, 75, 65, 58, 117, 115, 114, 112, 110, 112, 114, 118,
+  114, 114, 114, 114, 112, 112, 112, 112, 114, 116, 109, 107, 115, 115, 111, 115,
+  112, 108, 108, 112, 109, 105, 107, 115, 113, 112, 111, 112, 114, 115, 114, 112,
+  110, 110, 110, 105, 116, 104, 105, 63, 38, 40, 41, 41, 39, 39, 38, 38,
+  38, 34, 28, 36, 79, 133, 160, 160, 156, 154, 154, 157, 163, 167, 168, 166,
+  161, 165, 169, 169, 166, 162, 162, 163, 164, 165, 168, 170, 171, 169, 164, 162,
+  162, 156, 153, 155, 157, 155, 153, 154, 155, 158, 157, 154, 154, 156, 156, 153,
+  156, 155, 159, 169, 180, 184, 179, 172, 169, 173, 178, 180, 180, 177, 179, 181,
+  178, 176, 174, 178, 183, 184, 179, 173, 180, 180, 182, 185, 186, 184, 180, 176,
+  176, 174, 173, 172, 171, 168, 164, 160, 172, 163, 161, 166, 169, 169, 177, 193,
+  181, 199, 190, 183, 197, 193, 180, 188, 184, 190, 193, 190, 185, 181, 176, 169,
+  163, 156, 153, 142, 118, 146, 149, 162, 164, 163, 166, 169, 171, 166, 164, 163,
+  156, 161, 109, 100, 146, 145, 127, 137, 143, 131, 129, 131, 130, 129, 111, 82,
+  93, 94, 88, 73, 68, 73, 69, 59, 66, 57, 53, 109, 110, 109, 105, 103,
+  108, 110, 110, 109, 112, 116, 118, 116, 115, 115, 115, 117, 120, 112, 107, 112,
+  113, 113, 121, 113, 114, 112, 106, 104, 106, 107, 105, 109, 110, 109, 110, 111,
+  112, 111, 110, 106, 120, 120, 110, 110, 117, 103, 78, 37, 38, 42, 44, 38,
+  30, 32, 42, 38, 37, 33, 43, 84, 136, 164, 166, 171, 172, 171, 167, 162,
+  159, 158, 158, 160, 161, 162, 163, 163, 165, 167, 169, 169, 168, 168, 167, 167,
+  167, 168, 169, 165, 160, 152, 149, 152, 155, 156, 155, 159, 159, 159, 160, 161,
+  161, 162, 162, 164, 164, 166, 169, 172, 176, 179, 181, 175, 173, 173, 173, 174,
+  176, 178, 179, 180, 180, 178, 178, 178, 179, 180, 181, 181, 181, 182, 184, 185,
+  184, 181, 178, 177, 177, 173, 167, 161, 159, 163, 167, 163, 166, 167, 165, 170,
+  181, 187, 190, 191, 179, 180, 187, 189, 193, 190, 175, 191, 185, 180, 179, 181,
+  180, 176, 171, 174, 162, 153, 141, 121, 154, 154, 162, 167, 164, 166, 170, 172,
+  167, 167, 168, 156, 148, 119, 95, 128, 127, 137, 135, 139, 133, 128, 123, 121,
+  116, 106, 96, 106, 90, 77, 75, 80, 78, 62, 46, 78, 104, 65, 106, 106,
+  106, 102, 101, 106, 109, 108, 106, 109, 113, 115, 115, 113, 116, 118, 126, 129,
+  122, 116, 118, 112, 106, 110, 110, 110, 110, 106, 106, 108, 109, 107, 115, 116,
+  114, 115, 115, 116, 115, 114, 111, 120, 119, 113, 116, 123, 116, 100, 45, 40,
+  37, 37, 36, 41, 55, 71, 80, 83, 81, 82, 105, 143, 164, 165, 177, 180,
+  181, 179, 176, 173, 173, 173, 169, 174, 177, 175, 171, 169, 173, 176, 180, 178,
+  178, 178, 179, 181, 183, 184, 181, 177, 170, 162, 156, 155, 157, 161, 153, 155,
+  159, 162, 164, 163, 162, 160, 164, 165, 168, 172, 176, 179, 182, 184, 182, 181,
+  179, 178, 177, 178, 177, 178, 181, 181, 181, 180, 182, 181, 183, 183, 181, 181,
+  182, 184, 186, 186, 184, 182, 174, 172, 170, 166, 163, 162, 164, 167, 167, 168,
+  168, 170, 180, 191, 193, 191, 192, 196, 206, 204, 185, 181, 190, 192, 187, 185,
+  184, 181, 177, 174, 175, 174, 166, 167, 167, 149, 115, 139, 148, 168, 167, 165,
+  166, 171, 173, 169, 167, 167, 153, 143, 116, 94, 132, 135, 139, 132, 128, 127,
+  125, 127, 128, 127, 121, 114, 95, 87, 76, 74, 76, 74, 68, 59, 39, 62,
+  63, 103, 106, 106, 103, 102, 105, 108, 108, 104, 108, 112, 111, 109, 108, 113,
+  118, 111, 118, 116, 113, 118, 113, 105, 108, 106, 109, 111, 107, 109, 112, 113,
+  112, 120, 120, 118, 118, 117, 118, 117, 116, 113, 113, 110, 110, 114, 118, 116,
+  111, 79, 72, 66, 66, 69, 81, 100, 115, 117, 126, 127, 120, 127, 147, 162,
+  163, 177, 180, 183, 184, 183, 181, 180, 180, 177, 184, 189, 187, 178, 173, 176,
+  182, 183, 182, 182, 182, 184, 187, 190, 192, 188, 186, 181, 170, 159, 153, 153,
+  157, 156, 157, 159, 161, 163, 165, 165, 166, 162, 164, 166, 170, 173, 175, 177,
+  177, 180, 179, 177, 175, 174, 174, 175, 176, 178, 178, 179, 179, 180, 179, 180,
+  179, 180, 179, 178, 179, 180, 181, 179, 178, 172, 170, 167, 166, 167, 168, 169,
+  168, 167, 168, 170, 177, 189, 200, 198, 192, 201, 196, 200, 199, 186, 185, 190,
+  186, 180, 182, 183, 178, 171, 166, 170, 172, 167, 161, 156, 143, 118, 145, 146,
+  155, 166, 164, 166, 171, 174, 169, 167, 166, 159, 143, 115, 89, 131, 141, 144,
+  139, 143, 142, 141, 135, 129, 121, 112, 108, 108, 103, 96, 88, 81, 78, 76,
+  74, 58, 60, 84, 108, 109, 111, 106, 104, 108, 110, 107, 106, 110, 111, 107,
+  102, 101, 106, 111, 99, 107, 108, 109, 117, 113, 108, 112, 108, 111, 113, 113,
+  114, 116, 117, 114, 120, 120, 117, 116, 115, 116, 116, 115, 115, 110, 105, 108,
+  110, 109, 109, 110, 114, 112, 111, 114, 117, 123, 131, 137, 134, 144, 146, 140,
+  142, 155, 165, 167, 175, 179, 183, 185, 185, 183, 182, 181, 181, 186, 190, 189,
+  183, 179, 179, 181, 183, 182, 180, 180, 181, 184, 187, 190, 185, 185, 182, 176,
+  167, 160, 156, 157, 163, 160, 157, 154, 155, 159, 164, 167, 162, 164, 165, 167,
+  168, 169, 169, 168, 173, 172, 171, 171, 171, 172, 174, 175, 175, 176, 177, 178,
+  178, 178, 177, 177, 181, 179, 177, 176, 176, 177, 176, 174, 175, 171, 169, 169,
+  172, 174, 173, 170, 164, 170, 177, 184, 194, 202, 199, 193, 200, 188, 187, 189,
+  186, 191, 193, 184, 183, 184, 184, 178, 172, 168, 171, 173, 167, 157, 152, 143,
+  124, 154, 151, 157, 165, 162, 163, 170, 174, 169, 165, 163, 167, 148, 122, 85,
+  124, 142, 147, 150, 136, 137, 140, 138, 134, 130, 124, 122, 123, 119, 115, 106,
+  98, 94, 91, 88, 91, 70, 79, 116, 117, 119, 112, 110, 112, 113, 110, 111,
+  113, 114, 108, 104, 104, 109, 114, 115, 120, 118, 115, 121, 116, 110, 115, 115,
+  117, 119, 118, 118, 120, 120, 116, 123, 120, 117, 116, 114, 116, 116, 115, 119,
+  113, 110, 114, 115, 111, 110, 114, 123, 126, 130, 133, 136, 137, 135, 133, 143,
+  150, 152, 150, 152, 164, 173, 176, 180, 183, 187, 189, 188, 186, 185, 184, 184,
+  184, 185, 186, 186, 185, 181, 178, 187, 186, 184, 182, 182, 184, 184, 186, 181,
+  181, 181, 183, 183, 179, 171, 167, 164, 163, 160, 157, 156, 156, 158, 159, 163,
+  163, 165, 166, 167, 167, 168, 167, 172, 171, 170, 170, 170, 172, 176, 177, 176,
+  176, 177, 178, 178, 178, 178, 176, 178, 177, 175, 175, 177, 178, 178, 177, 175,
+  172, 169, 170, 173, 175, 173, 171, 166, 177, 188, 193, 196, 200, 199, 198, 193,
+  191, 197, 196, 183, 186, 196, 197, 192, 190, 186, 181, 178, 176, 176, 176, 160,
+  165, 172, 157, 123, 147, 155, 175, 164, 160, 160, 167, 172, 168, 164, 161, 163,
+  148, 132, 87, 119, 139, 140, 149, 135, 136, 139, 140, 138, 136, 135, 133, 126,
+  123, 121, 120, 118, 117, 114, 108, 99, 92, 82, 118, 122, 122, 118, 116, 115,
+  116, 114, 115, 115, 115, 114, 115, 115, 120, 123, 122, 127, 122, 119, 124, 120,
+  115, 119, 120, 123, 124, 119, 119, 122, 122, 118, 125, 121, 118, 117, 116, 118,
+  119, 119, 115, 113, 112, 115, 116, 115, 116, 119, 127, 134, 139, 139, 140, 143,
+  143, 141, 149, 154, 155, 155, 157, 167, 172, 172, 181, 184, 187, 188, 187, 185,
+  185, 185, 186, 183, 181, 184, 188, 188, 184, 179, 186, 185, 183, 182, 181, 180,
+  179, 178, 177, 176, 178, 183, 188, 188, 182, 176, 173, 175, 176, 175, 172, 167,
+  162, 158, 159, 159, 159, 160, 161, 163, 165, 166, 171, 168, 166, 165, 165, 165,
+  169, 170, 169, 169, 168, 168, 168, 169, 172, 171, 168, 166, 167, 170, 174, 176,
+  177, 176, 174, 172, 170, 170, 171, 173, 174, 174, 176, 189, 199, 200, 198, 200,
+  200, 201, 201, 192, 192, 193, 187, 191, 195, 188, 192, 188, 183, 179, 176, 174,
+  174, 173, 166, 166, 168, 154, 123, 148, 152, 167, 167, 160, 159, 164, 171, 168,
+  164, 161, 153, 142, 139, 92, 120, 138, 129, 137, 142, 142, 141, 141, 139, 138,
+  135, 134, 137, 134, 131, 133, 136, 133, 129, 121, 109, 125, 113, 116, 120, 122,
+  119, 118, 120, 121, 117, 118, 117, 116, 117, 121, 125, 126, 126, 119, 125, 122,
+  119, 126, 124, 119, 123, 122, 123, 123, 120, 121, 125, 125, 123, 125, 121, 118,
+  117, 117, 120, 121, 122, 113, 115, 113, 111, 113, 117, 120, 121, 131, 141, 149,
+  148, 147, 152, 157, 158, 154, 160, 164, 164, 161, 164, 166, 167, 178, 181, 183,
+  184, 184, 183, 184, 186, 186, 184, 183, 183, 184, 184, 183, 181, 182, 184, 184,
+  183, 180, 178, 176, 174, 177, 177, 178, 180, 182, 183, 182, 183, 190, 191, 189,
+  187, 183, 179, 175, 173, 168, 166, 163, 161, 161, 162, 164, 165, 165, 164, 163,
+  162, 163, 164, 166, 167, 167, 165, 163, 162, 163, 165, 169, 169, 166, 165, 166,
+  169, 173, 174, 173, 172, 173, 173, 173, 172, 173, 176, 180, 184, 188, 196, 202,
+  201, 199, 200, 199, 198, 205, 190, 185, 189, 189, 194, 192, 178, 188, 187, 185,
+  178, 171, 167, 171, 174, 172, 163, 157, 147, 126, 155, 153, 159, 171, 163, 159,
+  164, 171, 169, 167, 164, 156, 141, 139, 89, 120, 143, 129, 137, 129, 126, 126,
+  131, 138, 144, 146, 146, 147, 144, 141, 140, 140, 138, 135, 130, 122, 138, 129,
+  111, 116, 119, 117, 118, 121, 122, 121, 124, 120, 117, 119, 122, 126, 124, 121,
+  122, 129, 127, 126, 129, 124, 117, 121, 122, 123, 122, 119, 121, 126, 128, 126,
+  124, 121, 117, 117, 119, 121, 124, 124, 122, 124, 122, 115, 114, 122, 128, 126,
+  128, 141, 153, 153, 152, 155, 159, 160, 161, 170, 177, 176, 171, 165, 166, 170,
+  179, 181, 185, 185, 186, 186, 189, 191, 184, 185, 186, 182, 180, 178, 180, 182,
+  182, 185, 186, 187, 184, 181, 178, 177, 182, 184, 184, 181, 177, 178, 183, 189,
+  202, 196, 188, 179, 177, 177, 182, 184, 188, 183, 178, 171, 169, 167, 168, 168,
+  162, 160, 163, 162, 164, 167, 171, 172, 172, 170, 167, 164, 165, 168, 171, 174,
+  176, 176, 177, 178, 179, 178, 174, 171, 175, 176, 177, 176, 176, 180, 188, 194,
+  195, 198, 199, 197, 197, 200, 196, 191, 191, 193, 202, 200, 185, 181, 194, 196,
+  190, 194, 194, 185, 175, 170, 175, 183, 163, 168, 172, 157, 124, 150, 159, 180,
+  174, 165, 160, 164, 170, 170, 167, 165, 167, 145, 135, 81, 114, 148, 136, 146,
+  142, 135, 129, 127, 130, 131, 130, 126, 135, 134, 133, 133, 134, 136, 138, 139,
+  142, 142, 134, 122, 119, 119, 117, 114, 115, 119, 122, 126, 126, 124, 123, 124,
+  126, 128, 128, 125, 123, 123, 122, 122, 123, 124, 124, 132, 124, 119, 119, 123,
+  125, 123, 120, 122, 124, 125, 125, 128, 130, 126, 118, 122, 128, 131, 112, 114,
+  125, 122, 136, 143, 147, 154, 158, 159, 159, 163, 165, 174, 174, 176, 177, 177,
+  175, 170, 166, 171, 175, 181, 183, 186, 185, 188, 188, 183, 183, 189, 192, 198,
+  195, 191, 183, 186, 183, 180, 177, 176, 176, 178, 180, 174, 179, 185, 186, 183,
+  180, 178, 178, 181, 188, 192, 181, 173, 172, 181, 185, 189, 190, 195, 192, 189,
+  181, 178, 173, 176, 174, 173, 169, 167, 165, 163, 163, 161, 162, 164, 168, 174,
+  180, 185, 188, 193, 188, 185, 185, 182, 174, 168, 167, 174, 178, 183, 185, 186,
+  187, 189, 192, 194, 198, 202, 200, 198, 198, 196, 192, 187, 194, 194, 189, 191,
+  199, 199, 190, 198, 196, 189, 181, 181, 184, 185, 182, 171, 169, 167, 154, 137,
+  143, 155, 154, 170, 165, 163, 162, 165, 166, 166, 166, 157, 146, 140, 94, 107,
+  128, 142, 135, 138, 134, 133, 127, 127, 125, 127, 127, 129, 130, 133, 136, 139,
+  140, 141, 141, 131, 133, 135, 132, 128, 128, 125, 122, 120, 122, 124, 122, 121,
+  121, 121, 125, 127, 130, 130, 124, 122, 121, 121, 122, 123, 124, 124, 120, 118,
+  116, 117, 119, 120, 116, 113, 124, 123, 119, 113, 114, 121, 125, 124, 126, 120,
+  122, 120, 127, 129, 118, 133, 145, 150, 157, 160, 161, 162, 164, 167, 165, 166,
+  169, 173, 173, 170, 165, 161, 166, 171, 176, 180, 184, 185, 184, 183, 183, 184,
+  186, 190, 194, 194, 191, 187, 190, 188, 185, 183, 181, 181, 182, 182, 181, 180,
+  178, 174, 172, 174, 179, 184, 181, 186, 187, 182, 179, 182, 186, 187, 191, 190,
+  188, 184, 180, 179, 181, 183, 182, 181, 179, 178, 178, 180, 183, 185, 183, 182,
+  182, 182, 182, 184, 186, 188, 195, 190, 189, 191, 191, 187, 185, 185, 186, 188,
+  190, 190, 189, 190, 194, 197, 196, 201, 202, 198, 196, 197, 197, 195, 197, 202,
+  200, 193, 193, 199, 198, 189, 195, 195, 190, 183, 181, 183, 181, 176, 169, 165,
+  161, 146, 130, 137, 152, 153, 167, 163, 162, 162, 164, 165, 164, 163, 158, 150,
+  142, 104, 109, 134, 143, 139, 137, 136, 136, 134, 132, 130, 127, 126, 129, 129,
+  128, 128, 129, 131, 133, 134, 132, 133, 134, 128, 127, 130, 126, 124, 121, 121,
+  121, 124, 124, 124, 124, 125, 126, 128, 130, 122, 121, 121, 122, 123, 124, 126,
+  127, 127, 127, 128, 128, 126, 123, 118, 115, 116, 116, 113, 105, 104, 111, 118,
+  120, 114, 109, 118, 119, 116, 105, 102, 135, 148, 153, 160, 163, 163, 164, 165,
+  167, 165, 167, 171, 176, 178, 176, 170, 166, 158, 161, 166, 175, 184, 189, 189,
+  187, 185, 185, 185, 187, 191, 193, 193, 192, 188, 187, 186, 184, 182, 181, 179,
+  179, 183, 180, 176, 171, 169, 171, 177, 182, 178, 181, 182, 182, 184, 189, 189,
+  185, 190, 189, 186, 182, 180, 180, 184, 187, 189, 187, 186, 186, 188, 193, 197,
+  201, 196, 194, 192, 190, 187, 187, 187, 187, 193, 188, 186, 190, 192, 191, 192,
+  194, 197, 197, 196, 194, 192, 193, 196, 199, 199, 202, 201, 196, 193, 196, 197,
+  196, 200, 203, 200, 192, 193, 198, 197, 191, 192, 193, 190, 185, 183, 183, 179,
+  173, 173, 166, 160, 145, 129, 137, 156, 160, 163, 160, 160, 162, 164, 165, 164,
+  163, 156, 154, 142, 114, 106, 139, 140, 140, 142, 143, 144, 144, 142, 138, 134,
+  132, 136, 134, 131, 129, 128, 130, 132, 133, 132, 131, 131, 120, 122, 127, 127,
+  126, 123, 122, 123, 128, 126, 126, 124, 123, 122, 122, 122, 121, 122, 122, 123,
+  125, 127, 129, 130, 125, 127, 127, 125, 119, 114, 110, 107, 113, 117, 122, 118,
+  115, 117, 118, 118, 119, 114, 117, 111, 109, 106, 104, 133, 149, 154, 160, 164,
+  164, 164, 164, 166, 170, 171, 173, 178, 182, 182, 178, 176, 165, 165, 165, 172,
+  182, 190, 191, 189, 187, 186, 185, 186, 188, 192, 195, 196, 187, 187, 187, 186,
+  184, 182, 179, 177, 180, 180, 180, 178, 176, 173, 172, 171, 171, 176, 179, 179,
+  182, 186, 186, 182, 185, 187, 189, 189, 187, 184, 184, 184, 190, 190, 189, 189,
+  190, 193, 196, 198, 193, 192, 190, 189, 187, 188, 189, 191, 194, 188, 185, 187,
+  188, 188, 190, 193, 198, 198, 197, 196, 195, 195, 195, 196, 197, 200, 200, 194,
+  192, 194, 195, 193, 193, 194, 191, 187, 189, 196, 197, 194, 191, 191, 189, 184,
+  183, 185, 182, 176, 174, 166, 160, 148, 133, 139, 157, 163, 160, 158, 159, 162,
+  165, 166, 164, 162, 159, 161, 144, 121, 103, 142, 139, 144, 143, 144, 145, 145,
+  144, 141, 138, 135, 139, 137, 135, 133, 132, 132, 134, 135, 132, 128, 126, 124,
+  128, 134, 134, 133, 131, 130, 128, 125, 125, 123, 121, 120, 119, 119, 118, 124,
+  125, 125, 127, 129, 131, 133, 134, 131, 132, 132, 129, 125, 121, 120, 119, 124,
+  130, 137, 135, 132, 131, 130, 127, 121, 120, 119, 110, 118, 129, 119, 127, 147,
+  153, 160, 164, 163, 163, 164, 166, 170, 170, 170, 173, 177, 179, 179, 178, 182,
+  177, 171, 171, 177, 182, 183, 182, 185, 184, 184, 183, 185, 188, 192, 195, 191,
+  191, 192, 191, 190, 187, 184, 182, 180, 180, 181, 180, 178, 173, 167, 163, 161,
+  169, 176, 176, 177, 181, 185, 186, 188, 190, 191, 191, 188, 186, 185, 185, 189,
+  190, 190, 192, 193, 193, 192, 192, 192, 192, 189, 189, 190, 192, 194, 195, 198,
+  191, 187, 189, 190, 190, 192, 195, 194, 195, 197, 199, 199, 198, 196, 194, 191,
+  196, 197, 193, 191, 192, 191, 189, 189, 188, 186, 184, 187, 193, 195, 193, 188,
+  188, 184, 179, 180, 183, 183, 179, 169, 161, 159, 150, 135, 137, 153, 158, 159,
+  158, 159, 162, 165, 166, 165, 163, 165, 168, 149, 123, 102, 140, 140, 147, 140,
+  140, 140, 140, 139, 138, 137, 137, 135, 136, 136, 136, 136, 135, 134, 134, 133,
+  131, 128, 132, 135, 138, 138, 134, 132, 131, 130, 126, 127, 126, 126, 127, 126,
+  126, 127, 125, 128, 128, 129, 131, 133, 135, 137, 139, 139, 139, 139, 140, 140,
+  140, 138, 132, 136, 136, 133, 132, 134, 135, 133, 86, 108, 126, 110, 107, 114,
+  110, 129, 144, 151, 159, 163, 163, 162, 163, 165, 171, 171, 171, 173, 176, 178,
+  177, 176, 179, 174, 169, 168, 173, 179, 184, 185, 180, 181, 182, 182, 181, 183,
+  186, 189, 189, 189, 190, 190, 189, 187, 184, 183, 185, 181, 177, 174, 173, 171,
+  169, 168, 156, 164, 170, 170, 171, 178, 186, 190, 193, 192, 189, 186, 183, 184,
+  188, 191, 187, 189, 191, 194, 195, 195, 194, 192, 191, 190, 187, 187, 187, 189,
+  191, 192, 194, 188, 185, 187, 190, 190, 193, 196, 194, 195, 198, 201, 203, 201,
+  197, 193, 187, 192, 194, 191, 190, 191, 190, 188, 192, 190, 187, 186, 187, 189,
+  189, 188, 185, 184, 181, 176, 176, 180, 181, 177, 170, 162, 161, 156, 140, 139,
+  152, 157, 161, 159, 159, 162, 165, 166, 166, 164, 161, 163, 151, 117, 99, 128,
+  132, 138, 139, 139, 139, 140, 141, 141, 141, 142, 138, 139, 140, 141, 141, 140,
+  139, 138, 136, 135, 133, 132, 134, 136, 136, 134, 130, 130, 130, 130, 131, 131,
+  132, 130, 129, 130, 130, 126, 126, 126, 127, 129, 130, 132, 133, 126, 125, 126,
+  129, 133, 133, 129, 125, 130, 133, 130, 128, 129, 133, 134, 130, 82, 98, 116,
+  104, 96, 93, 97, 129, 142, 149, 158, 163, 164, 164, 164, 166, 172, 172, 175,
+  179, 181, 180, 175, 171, 171, 170, 170, 171, 174, 179, 184, 187, 179, 182, 185,
+  185, 183, 182, 183, 185, 186, 186, 186, 186, 185, 185, 184, 183, 188, 183, 177,
+  175, 176, 178, 178, 177, 163, 165, 164, 162, 166, 175, 181, 182, 189, 189, 188,
+  187, 186, 187, 190, 193, 185, 187, 188, 190, 192, 191, 191, 191, 189, 188, 187,
+  186, 184, 185, 186, 187, 188, 183, 181, 184, 187, 187, 188, 192, 196, 196, 196,
+  199, 201, 200, 196, 192, 188, 192, 192, 188, 187, 190, 192, 192, 193, 190, 188,
+  187, 187, 185, 183, 182, 186, 187, 184, 180, 180, 181, 179, 173, 174, 164, 163,
+  158, 142, 139, 152, 158, 165, 161, 160, 161, 164, 166, 166, 166, 156, 157, 156,
+  113, 103, 118, 126, 126, 134, 136, 140, 143, 145, 145, 144, 143, 145, 145, 144,
+  144, 143, 143, 143, 141, 136, 136, 136, 128, 130, 133, 136, 136, 134, 135, 136,
+  129, 128, 128, 127, 124, 123, 122, 121, 123, 122, 123, 123, 125, 126, 128, 128,
+  128, 125, 127, 130, 134, 131, 124, 116, 128, 131, 132, 131, 135, 138, 135, 128,
+  132, 104, 91, 92, 112, 116, 104, 122, 142, 149, 158, 164, 165, 165, 166, 167,
+  168, 171, 175, 180, 182, 178, 169, 164, 179, 180, 180, 178, 176, 174, 175, 176,
+  181, 185, 189, 190, 187, 185, 185, 185, 188, 188, 188, 188, 188, 188, 188, 188,
+  186, 184, 182, 183, 186, 187, 185, 183, 172, 167, 158, 153, 158, 168, 170, 167,
+  177, 182, 188, 192, 192, 190, 188, 187, 187, 184, 183, 183, 183, 184, 184, 185,
+  192, 190, 189, 188, 186, 187, 189, 190, 191, 186, 183, 186, 187, 186, 186, 189,
+  198, 196, 194, 194, 196, 196, 193, 190, 190, 192, 191, 186, 185, 191, 195, 196,
+  190, 187, 185, 186, 186, 183, 180, 179, 190, 192, 191, 187, 186, 185, 179, 171,
+  172, 160, 158, 153, 136, 133, 147, 154, 167, 163, 161, 161, 164, 166, 167, 167,
+  159, 160, 168, 119, 115, 120, 130, 125, 121, 126, 132, 137, 140, 139, 136, 134,
+  145, 143, 140, 137, 135, 136, 138, 139, 134, 135, 137, 131, 133, 134, 136, 135,
+  133, 131, 128, 138, 132, 116, 129, 117, 122, 115, 123, 116, 104, 97, 97, 104,
+  107, 106, 101, 113, 120, 124, 116, 111, 112, 116, 118, 126, 127, 128, 129, 132,
+  132, 132, 133, 140, 140, 132, 120, 107, 91, 94, 116, 140, 152, 156, 161, 167,
+  163, 159, 166, 167, 172, 178, 181, 178, 175, 171, 170, 177, 178, 178, 177, 175,
+  175, 177, 179, 178, 183, 189, 194, 195, 191, 186, 182, 181, 182, 184, 188, 190,
+  188, 183, 179, 179, 186, 191, 188, 179, 173, 173, 176, 181, 177, 163, 159, 164,
+  161, 158, 167, 172, 178, 187, 193, 190, 182, 178, 178, 180, 182, 188, 194, 188,
+  179, 178, 182, 192, 187, 181, 181, 186, 190, 191, 191, 192, 187, 183, 183, 187,
+  192, 194, 194, 198, 199, 198, 196, 193, 191, 192, 194, 192, 192, 191, 190, 190,
+  189, 188, 188, 190, 189, 189, 190, 189, 186, 180, 176, 185, 181, 179, 182, 183,
+  179, 176, 177, 171, 168, 163, 155, 142, 135, 140, 149, 161, 158, 158, 160, 163,
+  165, 166, 166, 153, 154, 163, 98, 132, 121, 121, 133, 127, 128, 129, 133, 135,
+  135, 133, 130, 133, 130, 127, 126, 127, 131, 135, 139, 131, 133, 135, 129, 128,
+  128, 129, 130, 128, 126, 123, 122, 127, 116, 119, 105, 113, 103, 100, 113, 108,
+  100, 91, 84, 83, 88, 93, 85, 90, 92, 91, 94, 100, 101, 98, 101, 109,
+  121, 136, 140, 134, 133, 137, 119, 135, 138, 134, 135, 131, 125, 130, 140, 151,
+  155, 159, 164, 161, 158, 165, 167, 171, 177, 179, 177, 174, 172, 172, 176, 178,
+  179, 179, 178, 178, 179, 181, 175, 178, 183, 187, 190, 190, 189, 188, 187, 183,
+  178, 177, 179, 182, 185, 186, 183, 177, 174, 178, 186, 187, 180, 172, 172, 180,
+  180, 172, 163, 149, 144, 152, 163, 176, 179, 172, 179, 196, 194, 178, 182, 185,
+  190, 192, 183, 179, 186, 198, 184, 184, 185, 184, 185, 187, 190, 192, 199, 194,
+  187, 185, 186, 189, 190, 191, 192, 193, 194, 193, 192, 192, 194, 195, 192, 192,
+  191, 190, 190, 189, 188, 188, 191, 190, 189, 187, 185, 180, 173, 168, 177, 173,
+  173, 177, 178, 175, 172, 173, 175, 170, 163, 152, 141, 136, 144, 155, 160, 159,
+  161, 164, 166, 166, 164, 162, 156, 158, 153, 110, 136, 124, 122, 130, 130, 129,
+  128, 130, 132, 132, 131, 129, 132, 133, 134, 134, 132, 130, 128, 127, 131, 132,
+  134, 124, 122, 123, 124, 125, 125, 126, 126, 119, 141, 137, 127, 96, 105, 101,
+  103, 82, 77, 77, 77, 79, 83, 90, 95, 100, 99, 95, 93, 95, 96, 90,
+  85, 104, 102, 109, 121, 123, 119, 124, 136, 138, 151, 145, 129, 131, 131, 124,
+  120, 140, 153, 157, 159, 165, 163, 158, 165, 167, 171, 174, 177, 177, 176, 176,
+  176, 176, 178, 181, 182, 181, 180, 180, 181, 177, 178, 179, 181, 183, 186, 188,
+  190, 189, 184, 177, 173, 174, 178, 181, 183, 175, 179, 183, 183, 181, 180, 182,
+  185, 183, 180, 175, 173, 173, 166, 152, 140, 146, 149, 160, 175, 180, 179, 188,
+  202, 190, 182, 177, 179, 182, 181, 177, 177, 179, 183, 188, 189, 187, 188, 192,
+  196, 201, 196, 189, 185, 185, 187, 190, 191, 191, 193, 194, 194, 193, 192, 194,
+  196, 192, 192, 191, 190, 190, 189, 188, 188, 194, 193, 191, 189, 186, 181, 175,
+  171, 176, 174, 175, 180, 182, 179, 176, 176, 182, 175, 164, 151, 138, 135, 145,
+  158, 159, 160, 165, 168, 169, 166, 162, 160, 159, 162, 136, 127, 141, 129, 127,
+  129, 130, 129, 126, 126, 129, 131, 132, 133, 130, 132, 134, 136, 137, 137, 136,
+  134, 132, 134, 136, 114, 112, 113, 114, 117, 121, 126, 127, 122, 129, 116, 115,
+  92, 98, 92, 93, 85, 75, 72, 80, 92, 95, 84, 72, 80, 81, 83, 89,
+  96, 101, 100, 98, 114, 106, 108, 119, 125, 118, 121, 132, 132, 141, 133, 124,
+  123, 119, 113, 116, 140, 155, 158, 158, 164, 164, 160, 167, 167, 170, 172, 174,
+  175, 176, 178, 179, 177, 180, 183, 184, 182, 180, 179, 179, 184, 183, 182, 181,
+  181, 182, 182, 183, 185, 184, 182, 181, 180, 178, 174, 172, 172, 180, 186, 182,
+  172, 168, 174, 184, 185, 174, 167, 165, 168, 173, 162, 141, 133, 131, 142, 162,
+  171, 169, 175, 190, 194, 189, 187, 189, 191, 189, 183, 179, 181, 184, 187, 188,
+  190, 193, 197, 201, 197, 193, 187, 184, 184, 188, 193, 196, 196, 198, 199, 198,
+  195, 193, 194, 194, 191, 191, 191, 190, 190, 189, 189, 189, 189, 188, 188, 188,
+  188, 186, 182, 179, 181, 178, 179, 184, 186, 182, 179, 179, 185, 178, 166, 152,
+  138, 133, 142, 155, 161, 163, 167, 169, 168, 165, 162, 160, 160, 163, 121, 141,
+  143, 136, 136, 135, 132, 128, 125, 124, 127, 131, 134, 136, 133, 132, 130, 129,
+  130, 134, 137, 140, 133, 135, 138, 99, 96, 97, 98, 100, 105, 109, 111, 125,
+  106, 87, 111, 112, 114, 91, 82, 93, 84, 82, 90, 100, 102, 91, 80, 78,
+  80, 85, 91, 96, 99, 101, 104, 104, 101, 113, 136, 145, 135, 125, 122, 127,
+  132, 135, 139, 131, 104, 87, 96, 134, 152, 157, 155, 159, 162, 162, 169, 167,
+  170, 173, 175, 175, 176, 179, 181, 179, 181, 184, 184, 181, 178, 176, 176, 187,
+  187, 186, 185, 184, 181, 179, 178, 181, 181, 182, 184, 184, 181, 176, 172, 180,
+  174, 169, 169, 174, 174, 169, 165, 169, 175, 182, 170, 147, 145, 144, 127, 130,
+  147, 146, 132, 150, 187, 193, 169, 176, 185, 193, 191, 183, 182, 188, 195, 184,
+  182, 181, 184, 191, 197, 200, 201, 194, 191, 187, 184, 184, 187, 192, 196, 196,
+  198, 199, 199, 196, 195, 194, 195, 191, 191, 190, 190, 190, 190, 189, 189, 183,
+  182, 182, 183, 184, 183, 181, 178, 180, 177, 177, 181, 181, 177, 173, 173, 179,
+  173, 164, 152, 139, 133, 141, 152, 163, 164, 167, 168, 165, 163, 162, 163, 159,
+  159, 118, 149, 144, 145, 146, 146, 139, 135, 130, 127, 128, 130, 132, 132, 140,
+  138, 134, 131, 128, 128, 129, 130, 134, 136, 137, 86, 84, 83, 84, 84, 88,
+  93, 94, 103, 97, 99, 133, 124, 112, 93, 99, 85, 86, 89, 89, 88, 91,
+  98, 105, 101, 99, 99, 101, 100, 96, 97, 101, 98, 97, 105, 119, 129, 124,
+  115, 110, 139, 136, 134, 137, 125, 94, 80, 96, 127, 147, 153, 150, 154, 159,
+  161, 168, 168, 171, 175, 177, 176, 177, 179, 181, 180, 182, 184, 183, 180, 178,
+  177, 177, 183, 184, 186, 187, 186, 184, 182, 180, 181, 179, 178, 178, 181, 183,
+  184, 184, 177, 178, 178, 179, 178, 178, 177, 178, 180, 181, 188, 176, 149, 139,
+  118, 75, 86, 106, 111, 98, 99, 128, 160, 174, 185, 182, 176, 175, 181, 187,
+  185, 178, 183, 180, 178, 183, 192, 198, 200, 199, 198, 196, 193, 188, 185, 185,
+  188, 191, 189, 192, 195, 196, 196, 195, 196, 197, 190, 190, 190, 190, 190, 190,
+  190, 190, 188, 186, 184, 184, 184, 182, 179, 177, 182, 177, 176, 178, 179, 175,
+  172, 173, 171, 167, 161, 152, 140, 135, 142, 152, 162, 164, 167, 167, 164, 161,
+  162, 164, 155, 151, 130, 153, 145, 153, 152, 156, 150, 145, 139, 135, 132, 130,
+  128, 126, 136, 139, 142, 144, 144, 141, 138, 135, 133, 134, 135, 84, 84, 84,
+  86, 90, 94, 98, 99, 87, 101, 111, 131, 107, 97, 87, 100, 98, 98, 98,
+  91, 81, 80, 88, 97, 84, 79, 79, 87, 96, 99, 103, 107, 98, 101, 105,
+  104, 106, 113, 117, 118, 130, 128, 122, 124, 126, 117, 115, 133, 125, 146, 153,
+  149, 154, 161, 164, 171, 172, 175, 177, 179, 178, 178, 179, 180, 180, 182, 183,
+  182, 181, 180, 181, 183, 182, 183, 184, 185, 186, 185, 184, 183, 183, 180, 177,
+  176, 179, 182, 184, 185, 175, 186, 196, 194, 184, 179, 185, 195, 195, 182, 183,
+  180, 164, 157, 116, 43, 52, 46, 54, 64, 53, 46, 82, 133, 178, 179, 180,
+  184, 191, 195, 186, 173, 179, 182, 187, 193, 197, 200, 200, 200, 202, 202, 199,
+  194, 188, 185, 186, 188, 188, 191, 195, 197, 197, 196, 196, 197, 190, 190, 190,
+  190, 190, 190, 190, 190, 193, 191, 188, 186, 185, 183, 179, 177, 184, 179, 176,
+  179, 180, 178, 177, 179, 173, 169, 162, 152, 139, 133, 140, 151, 157, 161, 167,
+  168, 165, 161, 161, 162, 150, 143, 150, 157, 148, 159, 153, 158, 153, 151, 147,
+  143, 140, 136, 131, 127, 129, 133, 140, 146, 150, 151, 150, 149, 136, 137, 137,
+  96, 96, 99, 103, 109, 114, 119, 121, 129, 126, 111, 124, 118, 126, 104, 95,
+  91, 90, 92, 96, 104, 109, 112, 114, 104, 91, 85, 92, 103, 106, 105, 103,
+  94, 113, 128, 128, 129, 138, 143, 142, 134, 141, 138, 136, 144, 139, 129, 127,
+  126, 148, 156, 151, 157, 165, 170, 175, 172, 176, 180, 181, 181, 179, 179, 180,
+  179, 181, 182, 182, 182, 183, 186, 189, 184, 184, 183, 183, 183, 183, 183, 183,
+  186, 182, 183, 180, 182, 180, 180, 176, 187, 184, 187, 188, 194, 191, 188, 183,
+  182, 175, 185, 181, 159, 155, 121, 50, 89, 64, 49, 54, 60, 57, 58, 66,
+  105, 147, 187, 190, 171, 162, 171, 181, 177, 186, 197, 203, 204, 201, 201, 202,
+  203, 204, 202, 198, 191, 187, 187, 189, 194, 197, 200, 200, 199, 196, 195, 195,
+  192, 190, 190, 190, 190, 190, 190, 190, 189, 187, 184, 182, 181, 180, 177, 176,
+  182, 177, 174, 176, 178, 177, 178, 182, 182, 175, 165, 152, 137, 129, 136, 146,
+  149, 158, 167, 171, 167, 162, 161, 161, 147, 140, 166, 160, 150, 161, 148, 153,
+  146, 145, 144, 143, 141, 136, 132, 128, 125, 127, 128, 131, 135, 138, 144, 144,
+  141, 141, 140, 127, 126, 126, 125, 126, 126, 126, 126, 131, 128, 125, 120, 120,
+  121, 126, 127, 121, 120, 112, 109, 119, 123, 125, 135, 127, 121, 114, 109, 108,
+  108, 111, 115, 137, 136, 133, 131, 127, 129, 138, 148, 143, 135, 132, 141, 142,
+  132, 128, 128, 129, 150, 153, 144, 151, 162, 166, 167, 171, 176, 182, 183, 179,
+  174, 175, 177, 177, 181, 185, 187, 186, 185, 185, 186, 184, 185, 186, 186, 187,
+  187, 186, 186, 183, 182, 182, 179, 180, 180, 182, 182, 180, 185, 192, 192, 189,
+  183, 179, 177, 186, 166, 167, 160, 157, 144, 99, 69, 116, 101, 76, 55, 43,
+  40, 42, 48, 48, 83, 88, 143, 158, 180, 189, 183, 190, 195, 199, 196, 196,
+  197, 197, 195, 207, 207, 206, 201, 192, 186, 191, 200, 191, 192, 193, 195, 196,
+  197, 198, 198, 192, 193, 194, 194, 192, 192, 193, 195, 197, 189, 182, 184, 186,
+  183, 180, 179, 181, 184, 178, 179, 184, 178, 172, 179, 177, 164, 171, 150, 145,
+  129, 150, 145, 146, 152, 161, 159, 156, 169, 173, 158, 138, 156, 163, 148, 140,
+  150, 153, 145, 149, 151, 149, 141, 129, 122, 122, 125, 125, 124, 125, 131, 135,
+  135, 144, 152, 137, 160, 140, 129, 130, 129, 129, 128, 127, 126, 125, 120, 121,
+  124, 125, 126, 127, 128, 126, 116, 120, 120, 119, 128, 129, 131, 140, 127, 133,
+  139, 141, 139, 133, 129, 132, 133, 132, 136, 140, 144, 137, 133, 132, 132, 130,
+  133, 141, 141, 135, 139, 147, 130, 149, 153, 145, 152, 162, 165, 167, 173, 177,
+  183, 183, 179, 174, 175, 176, 176, 179, 183, 185, 185, 184, 185, 186, 187, 188,
+  188, 188, 187, 186, 185, 184, 186, 185, 183, 182, 181, 182, 183, 183, 180, 183,
+  187, 187, 184, 182, 181, 182, 188, 166, 166, 154, 153, 142, 122, 65, 97, 100,
+  105, 107, 100, 84, 62, 51, 44, 48, 56, 142, 184, 195, 196, 197, 194, 200,
+  202, 200, 198, 201, 201, 201, 201, 204, 206, 205, 198, 190, 191, 198, 191, 191,
+  192, 192, 192, 192, 192, 192, 190, 192, 193, 192, 191, 190, 191, 193, 196, 189,
+  184, 186, 188, 185, 181, 180, 174, 180, 177, 176, 178, 170, 168, 178, 176, 163,
+  167, 144, 135, 123, 144, 146, 170, 169, 171, 165, 156, 159, 160, 148, 161, 154,
+  157, 165, 158, 142, 141, 153, 148, 118, 97, 96, 102, 102, 105, 111, 125, 119,
+  116, 120, 126, 131, 141, 147, 138, 156, 147, 129, 130, 131, 131, 128, 127, 125,
+  124, 128, 128, 126, 124, 123, 122, 121, 117, 115, 108, 100, 105, 127, 134, 127,
+  125, 123, 128, 131, 127, 119, 116, 120, 125, 141, 131, 125, 129, 137, 137, 134,
+  132, 138, 140, 144, 142, 127, 110, 109, 118, 129, 148, 151, 144, 151, 160, 163,
+  165, 172, 177, 181, 180, 178, 175, 176, 176, 175, 178, 182, 184, 184, 184, 185,
+  186, 190, 190, 190, 189, 188, 186, 185, 184, 187, 186, 184, 182, 181, 181, 182,
+  182, 181, 181, 182, 181, 180, 180, 183, 185, 183, 168, 174, 161, 161, 147, 122,
+  48, 110, 101, 93, 90, 93, 97, 97, 98, 122, 96, 84, 143, 173, 173, 168,
+  173, 190, 195, 198, 196, 194, 198, 199, 198, 195, 200, 207, 210, 204, 194, 192,
+  195, 196, 196, 196, 195, 194, 193, 191, 190, 189, 190, 191, 190, 189, 188, 189,
+  191, 194, 188, 186, 189, 190, 186, 181, 180, 179, 185, 183, 180, 178, 168, 167,
+  179, 178, 169, 169, 145, 131, 126, 152, 158, 151, 150, 160, 167, 160, 156, 153,
+  142, 151, 158, 160, 154, 152, 155, 150, 143, 126, 91, 74, 85, 96, 89, 87,
+  95, 110, 111, 113, 123, 129, 130, 132, 133, 134, 139, 139, 129, 130, 133, 132,
+  132, 128, 126, 125, 134, 127, 120, 112, 111, 113, 116, 115, 99, 112, 114, 108,
+  107, 108, 118, 137, 125, 128, 126, 121, 117, 120, 125, 127, 123, 113, 104, 106,
+  112, 113, 113, 114, 114, 121, 129, 132, 122, 110, 109, 114, 125, 144, 148, 144,
+  151, 158, 160, 165, 171, 172, 177, 179, 179, 177, 179, 180, 176, 179, 182, 184,
+  184, 185, 187, 188, 190, 191, 191, 190, 189, 188, 187, 186, 187, 186, 184, 182,
+  180, 180, 181, 181, 183, 182, 181, 179, 179, 179, 181, 183, 179, 175, 177, 164,
+  161, 157, 96, 69, 113, 105, 99, 97, 102, 106, 107, 106, 105, 102, 104, 138,
+  165, 183, 197, 207, 185, 190, 193, 191, 189, 193, 195, 196, 196, 200, 206, 210,
+  205, 195, 191, 193, 197, 197, 198, 197, 196, 193, 191, 190, 188, 190, 191, 190,
+  188, 187, 188, 189, 191, 187, 187, 191, 192, 186, 181, 180, 187, 191, 185, 181,
+  180, 171, 166, 176, 176, 172, 170, 149, 129, 132, 157, 168, 169, 160, 165, 169,
+  157, 149, 146, 140, 142, 153, 152, 140, 139, 147, 142, 121, 104, 89, 85, 89,
+  84, 75, 77, 89, 91, 98, 106, 112, 116, 117, 121, 123, 123, 120, 125, 132,
+  133, 136, 134, 133, 132, 129, 128, 120, 115, 107, 105, 109, 115, 120, 121, 118,
+  119, 112, 112, 124, 126, 122, 125, 111, 119, 124, 129, 135, 139, 131, 120, 126,
+  125, 129, 133, 133, 126, 122, 121, 113, 114, 116, 119, 119, 117, 121, 125, 121,
+  139, 145, 143, 151, 157, 159, 163, 166, 169, 174, 176, 179, 179, 181, 183, 177,
+  179, 182, 183, 183, 184, 186, 188, 186, 187, 188, 188, 188, 188, 187, 187, 188,
+  187, 185, 183, 182, 182, 183, 183, 185, 184, 182, 181, 180, 178, 176, 176, 177,
+  181, 172, 157, 153, 160, 69, 118, 109, 105, 104, 106, 105, 102, 94, 88, 107,
+  110, 132, 153, 170, 170, 174, 181, 190, 195, 196, 194, 193, 197, 199, 199, 201,
+  201, 205, 206, 201, 193, 190, 192, 191, 192, 193, 193, 193, 191, 189, 187, 189,
+  190, 191, 190, 188, 187, 188, 189, 188, 186, 187, 192, 192, 186, 182, 181, 189,
+  187, 178, 176, 182, 175, 168, 173, 169, 170, 166, 149, 122, 129, 148, 157, 172,
+  156, 150, 147, 139, 141, 152, 154, 154, 135, 129, 140, 138, 119, 111, 112, 99,
+  96, 90, 73, 59, 61, 71, 80, 80, 87, 91, 87, 85, 88, 100, 110, 111,
+  114, 119, 136, 136, 136, 136, 134, 133, 131, 130, 120, 117, 116, 118, 123, 124,
+  121, 118, 127, 122, 114, 120, 141, 141, 122, 110, 120, 123, 122, 119, 125, 131,
+  122, 109, 114, 114, 117, 117, 113, 108, 110, 117, 135, 128, 118, 111, 109, 110,
+  112, 112, 117, 135, 141, 143, 151, 157, 157, 165, 166, 167, 171, 175, 177, 181,
+  183, 184, 180, 182, 183, 184, 184, 184, 186, 188, 185, 186, 187, 188, 188, 188,
+  188, 187, 191, 190, 188, 187, 186, 187, 188, 189, 187, 185, 183, 182, 180, 177,
+  172, 169, 163, 175, 171, 157, 149, 135, 45, 111, 105, 99, 93, 88, 90, 95,
+  101, 106, 109, 92, 124, 152, 182, 177, 177, 194, 194, 198, 198, 195, 194, 197,
+  200, 199, 204, 201, 201, 201, 197, 191, 190, 193, 190, 191, 193, 195, 194, 193,
+  191, 189, 189, 190, 191, 190, 187, 186, 187, 188, 188, 186, 189, 193, 193, 187,
+  184, 185, 189, 185, 175, 176, 186, 183, 175, 179, 170, 173, 164, 149, 117, 128,
+  139, 144, 142, 138, 143, 146, 143, 147, 153, 148, 132, 123, 118, 122, 122, 114,
+  110, 108, 94, 93, 85, 71, 66, 72, 69, 60, 67, 81, 92, 90, 83, 80,
+  82, 84, 93, 108, 114, 137, 137, 134, 133, 131, 131, 131, 131, 133, 130, 129,
+  130, 132, 130, 124, 119, 106, 130, 141, 133, 120, 109, 116, 137, 136, 137, 128,
+  115, 116, 124, 125, 114, 118, 113, 109, 105, 101, 102, 114, 127, 118, 116, 113,
+  111, 114, 116, 115, 112, 114, 131, 139, 142, 150, 155, 158, 167, 169, 169, 171,
+  173, 177, 181, 182, 183, 181, 183, 184, 183, 182, 182, 184, 186, 186, 187, 187,
+  187, 187, 186, 186, 185, 189, 188, 187, 186, 187, 188, 189, 190, 188, 184, 181,
+  179, 178, 175, 170, 167, 154, 164, 164, 147, 138, 97, 67, 88, 93, 96, 100,
+  102, 104, 105, 107, 111, 124, 107, 138, 147, 176, 177, 179, 195, 192, 196, 198,
+  193, 192, 195, 198, 197, 201, 198, 197, 198, 196, 191, 190, 194, 192, 194, 196,
+  197, 197, 195, 192, 190, 188, 189, 189, 188, 185, 184, 184, 186, 190, 189, 191,
+  195, 194, 189, 188, 190, 191, 188, 179, 179, 186, 182, 178, 184, 175, 177, 163,
+  151, 117, 134, 143, 146, 154, 158, 167, 163, 151, 147, 138, 117, 104, 112, 108,
+  97, 97, 107, 108, 95, 84, 83, 81, 81, 82, 81, 73, 63, 70, 80, 88,
+  90, 88, 88, 82, 74, 83, 91, 90, 137, 136, 132, 131, 129, 130, 131, 132,
+  133, 125, 121, 122, 127, 131, 129, 126, 139, 130, 112, 110, 127, 132, 125, 124,
+  107, 116, 121, 116, 116, 122, 120, 108, 95, 91, 95, 98, 98, 95, 98, 105,
+  105, 112, 121, 126, 126, 120, 109, 102, 110, 129, 137, 142, 151, 155, 158, 168,
+  172, 172, 173, 173, 177, 180, 180, 180, 182, 183, 183, 182, 180, 180, 182, 184,
+  188, 188, 188, 187, 186, 185, 183, 182, 185, 184, 183, 183, 184, 185, 187, 189,
+  187, 183, 178, 175, 174, 173, 170, 168, 166, 159, 149, 122, 116, 72, 126, 106,
+  98, 98, 94, 88, 82, 81, 87, 94, 98, 115, 164, 150, 172, 183, 185, 183,
+  195, 199, 200, 194, 193, 195, 198, 197, 198, 195, 195, 197, 196, 192, 191, 194,
+  190, 192, 194, 195, 193, 191, 187, 185, 186, 187, 188, 186, 184, 182, 182, 184,
+  193, 192, 194, 197, 196, 191, 191, 194, 189, 189, 181, 177, 179, 171, 168, 178,
+  172, 174, 156, 149, 117, 140, 148, 150, 146, 145, 144, 130, 121, 128, 130, 114,
+  112, 94, 88, 94, 90, 74, 74, 87, 86, 79, 77, 77, 75, 72, 82, 95,
+  90, 84, 73, 65, 72, 87, 94, 95, 84, 77, 66, 137, 138, 137, 137, 135,
+  134, 132, 130, 131, 128, 125, 113, 98, 103, 108, 102, 96, 112, 118, 119, 119,
+  113, 111, 118, 127, 120, 121, 125, 119, 101, 89, 90, 103, 97, 94, 90, 91,
+  95, 102, 108, 102, 108, 115, 119, 121, 122, 127, 132, 118, 127, 138, 147, 152,
+  156, 157, 160, 173, 173, 175, 176, 178, 182, 185, 189, 186, 185, 184, 183, 183,
+  184, 185, 186, 185, 185, 186, 187, 188, 190, 191, 192, 184, 181, 187, 188, 179,
+  181, 188, 187, 183, 186, 186, 180, 176, 174, 170, 165, 168, 133, 144, 124, 90,
+  111, 123, 98, 111, 105, 101, 96, 93, 90, 92, 94, 84, 126, 154, 162, 172,
+  177, 180, 186, 193, 196, 199, 198, 195, 194, 196, 199, 207, 202, 196, 194, 194,
+  193, 190, 186, 187, 189, 192, 194, 194, 193, 191, 190, 194, 190, 186, 186, 189,
+  191, 189, 187, 198, 197, 196, 197, 197, 194, 188, 183, 192, 189, 185, 179, 174,
+  172, 173, 174, 174, 156, 165, 139, 95, 150, 150, 160, 145, 143, 142, 137, 126,
+  116, 110, 107, 107, 102, 97, 92, 86, 79, 81, 88, 82, 79, 75, 75, 80,
+  83, 82, 79, 86, 89, 92, 89, 77, 70, 79, 92, 80, 73, 68, 138, 138,
+  137, 135, 133, 131, 129, 128, 129, 125, 124, 117, 107, 114, 119, 112, 104, 111,
+  107, 105, 114, 117, 121, 132, 116, 118, 117, 115, 114, 115, 114, 108, 92, 97,
+  104, 105, 102, 96, 93, 93, 104, 114, 130, 136, 130, 115, 99, 91, 130, 125,
+  128, 137, 144, 145, 150, 156, 166, 169, 174, 176, 178, 180, 182, 184, 188, 187,
+  187, 185, 186, 186, 188, 188, 187, 187, 188, 187, 187, 184, 183, 182, 193, 186,
+  192, 192, 190, 190, 196, 188, 191, 187, 182, 173, 173, 172, 169, 161, 149, 145,
+  144, 118, 105, 114, 111, 114, 110, 109, 108, 106, 102, 100, 98, 98, 97, 133,
+  159, 166, 175, 181, 182, 188, 192, 194, 198, 199, 199, 198, 198, 199, 197, 196,
+  195, 195, 195, 192, 189, 186, 190, 189, 188, 187, 187, 188, 190, 191, 192, 186,
+  179, 177, 180, 188, 196, 200, 200, 200, 199, 195, 190, 187, 186, 186, 188, 183,
+  177, 175, 175, 176, 176, 174, 191, 171, 170, 126, 102, 149, 145, 146, 136, 130,
+  126, 120, 118, 125, 135, 142, 121, 112, 107, 104, 102, 94, 90, 93, 91, 90,
+  88, 89, 92, 97, 101, 105, 110, 109, 110, 107, 96, 80, 73, 70, 80, 98,
+  91, 138, 137, 137, 136, 135, 133, 131, 130, 132, 125, 125, 123, 118, 124, 129,
+  121, 116, 113, 98, 91, 97, 97, 95, 101, 108, 119, 123, 116, 115, 120, 114,
+  100, 108, 101, 89, 78, 78, 88, 108, 121, 132, 124, 112, 102, 104, 115, 132,
+  146, 123, 117, 121, 133, 143, 148, 157, 166, 164, 169, 177, 180, 182, 182, 181,
+  181, 188, 187, 189, 186, 188, 187, 189, 188, 185, 184, 189, 188, 190, 186, 186,
+  185, 191, 182, 185, 188, 187, 190, 191, 180, 186, 185, 183, 180, 181, 176, 164,
+  148, 145, 156, 134, 103, 121, 124, 103, 126, 121, 122, 124, 123, 123, 119, 115,
+  113, 110, 142, 160, 167, 178, 185, 184, 188, 191, 192, 197, 200, 203, 202, 199,
+  196, 187, 191, 195, 196, 195, 191, 188, 187, 190, 190, 188, 187, 187, 188, 189,
+  189, 182, 185, 189, 192, 193, 195, 197, 198, 204, 205, 203, 197, 190, 188, 191,
+  196, 189, 181, 174, 173, 178, 180, 177, 173, 171, 162, 160, 108, 124, 160, 156,
+  149, 143, 135, 126, 113, 100, 91, 87, 84, 112, 106, 102, 107, 111, 107, 103,
+  104, 105, 111, 113, 114, 113, 116, 119, 125, 100, 97, 98, 104, 105, 97, 88,
+  78, 75, 103, 98, 137, 135, 136, 136, 136, 136, 135, 133, 136, 128, 128, 129,
+  125, 127, 130, 120, 126, 125, 115, 107, 109, 103, 95, 98, 83, 91, 97, 100,
+  107, 117, 123, 117, 119, 115, 111, 108, 105, 101, 95, 93, 102, 111, 122, 128,
+  128, 119, 108, 101, 104, 113, 122, 123, 130, 142, 152, 154, 161, 166, 175, 179,
+  181, 179, 181, 181, 187, 187, 187, 187, 187, 187, 187, 188, 184, 185, 186, 186,
+  186, 186, 185, 185, 191, 184, 188, 192, 188, 190, 192, 184, 198, 193, 183, 175,
+  174, 180, 181, 177, 158, 153, 123, 96, 125, 135, 111, 126, 128, 130, 132, 134,
+  133, 130, 126, 125, 122, 145, 160, 168, 181, 186, 184, 188, 192, 192, 195, 200,
+  204, 202, 196, 190, 187, 191, 195, 196, 192, 189, 189, 190, 189, 191, 193, 194,
+  194, 192, 190, 188, 183, 189, 196, 199, 197, 194, 193, 194, 205, 204, 201, 197,
+  194, 193, 195, 197, 191, 186, 181, 178, 179, 179, 177, 177, 171, 172, 168, 103,
+  144, 155, 147, 131, 123, 122, 124, 125, 123, 119, 116, 112, 98, 94, 93, 98,
+  103, 101, 102, 106, 107, 113, 117, 119, 119, 115, 112, 109, 119, 113, 109, 112,
+  113, 110, 102, 93, 84, 94, 93, 132, 132, 133, 134, 136, 136, 138, 136, 137,
+  128, 130, 131, 127, 128, 129, 120, 107, 114, 114, 112, 117, 114, 111, 118, 128,
+  114, 102, 95, 89, 84, 88, 96, 109, 113, 122, 135, 142, 133, 112, 94, 125,
+  122, 116, 113, 114, 119, 124, 128, 127, 146, 148, 127, 122, 140, 151, 144, 157,
+  161, 167, 171, 173, 175, 178, 180, 186, 186, 186, 187, 187, 186, 186, 186, 188,
+  187, 184, 182, 181, 180, 179, 180, 183, 180, 187, 189, 181, 183, 188, 185, 186,
+  195, 200, 196, 190, 185, 179, 174, 156, 140, 133, 120, 128, 142, 132, 133, 131,
+  131, 132, 132, 132, 131, 130, 129, 130, 149, 162, 172, 187, 191, 191, 194, 196,
+  194, 195, 199, 201, 199, 192, 187, 194, 196, 196, 193, 189, 188, 190, 194, 193,
+  193, 193, 193, 193, 192, 192, 192, 195, 193, 189, 184, 181, 185, 194, 202, 206,
+  201, 197, 196, 198, 197, 191, 185, 185, 186, 185, 181, 178, 175, 178, 183, 170,
+  176, 166, 101, 151, 152, 154, 142, 155, 146, 136, 124, 113, 106, 102, 97, 107,
+  105, 103, 103, 101, 98, 102, 108, 120, 117, 115, 115, 119, 118, 113, 108, 114,
+  115, 118, 119, 119, 118, 114, 107, 96, 90, 82, 129, 128, 130, 132, 133, 133,
+  134, 135, 134, 125, 128, 134, 128, 128, 132, 127, 106, 109, 104, 98, 100, 99,
+  98, 107, 106, 100, 105, 119, 123, 115, 114, 123, 116, 108, 104, 108, 121, 127,
+  125, 120, 98, 103, 112, 125, 137, 145, 149, 149, 144, 159, 153, 124, 116, 135,
+  149, 144, 157, 158, 163, 167, 171, 174, 179, 183, 185, 186, 186, 187, 187, 186,
+  186, 185, 184, 184, 183, 183, 183, 184, 184, 186, 179, 177, 186, 185, 179, 179,
+  190, 187, 181, 192, 203, 195, 181, 162, 149, 137, 143, 133, 157, 154, 136, 144,
+  148, 147, 139, 138, 138, 137, 136, 137, 137, 137, 136, 154, 167, 179, 194, 195,
+  195, 202, 199, 199, 199, 197, 198, 196, 192, 189, 201, 199, 195, 191, 188, 189,
+  192, 195, 197, 194, 189, 186, 186, 190, 196, 200, 193, 192, 190, 189, 190, 194,
+  199, 204, 212, 205, 200, 201, 205, 202, 191, 180, 175, 180, 183, 181, 176, 174,
+  182, 188, 164, 166, 147, 92, 141, 144, 160, 158, 152, 150, 149, 147, 146, 141,
+  136, 131, 121, 119, 120, 121, 118, 117, 123, 132, 112, 102, 92, 89, 95, 101,
+  103, 102, 108, 119, 129, 134, 136, 134, 129, 122, 121, 118, 102, 132, 131, 131,
+  132, 133, 133, 134, 133, 134, 126, 131, 137, 131, 130, 137, 135, 134, 133, 120,
+  109, 110, 104, 98, 102, 113, 118, 131, 141, 142, 133, 123, 117, 133, 128, 123,
+  117, 115, 108, 100, 93, 100, 103, 108, 118, 127, 132, 132, 131, 133, 135, 130,
+  119, 118, 127, 135, 135, 148, 152, 157, 163, 168, 171, 176, 179, 179, 180, 181,
+  182, 182, 181, 180, 180, 174, 175, 177, 178, 177, 175, 171, 169, 173, 167, 172,
+  173, 170, 174, 184, 181, 184, 179, 166, 147, 138, 141, 150, 155, 149, 142, 164,
+  161, 148, 151, 150, 153, 150, 149, 149, 150, 149, 149, 148, 147, 140, 156, 171,
+  183, 195, 195, 195, 204, 202, 201, 201, 199, 195, 195, 196, 198, 202, 198, 192,
+  189, 189, 191, 193, 194, 194, 193, 191, 191, 192, 194, 198, 200, 188, 191, 197,
+  203, 207, 207, 203, 200, 206, 203, 200, 202, 204, 201, 193, 186, 173, 176, 181,
+  180, 178, 178, 184, 187, 182, 172, 143, 101, 133, 129, 143, 135, 132, 135, 139,
+  143, 144, 140, 129, 122, 129, 127, 130, 136, 140, 142, 147, 151, 145, 135, 129,
+  126, 129, 134, 140, 142, 151, 158, 161, 158, 154, 147, 136, 125, 148, 155, 140,
+  139, 136, 137, 135, 136, 135, 134, 134, 138, 130, 135, 140, 132, 129, 138, 138,
+  135, 132, 122, 121, 129, 126, 115, 115, 121, 129, 131, 124, 126, 135, 138, 132,
+  138, 139, 137, 132, 125, 122, 121, 123, 122, 120, 119, 124, 132, 139, 143, 143,
+  149, 139, 137, 148, 154, 149, 144, 144, 136, 140, 148, 155, 160, 165, 167, 170,
+  175, 176, 178, 179, 179, 178, 176, 176, 172, 173, 173, 170, 162, 151, 139, 132,
+  135, 127, 127, 130, 131, 137, 146, 139, 129, 137, 146, 153, 161, 168, 169, 165,
+  171, 158, 154, 147, 154, 161, 145, 151, 154, 154, 155, 156, 154, 153, 151, 148,
+  140, 158, 174, 184, 194, 191, 191, 203, 203, 203, 202, 197, 194, 194, 199, 204,
+  201, 196, 191, 189, 192, 195, 195, 193, 186, 191, 198, 204, 205, 203, 198, 195,
+  197, 195, 193, 195, 200, 204, 205, 204, 190, 190, 191, 193, 194, 193, 191, 189,
+  181, 181, 181, 181, 181, 182, 182, 181, 177, 162, 137, 118, 146, 144, 150, 138,
+  148, 144, 138, 137, 138, 140, 141, 140, 139, 134, 134, 142, 149, 148, 147, 144,
+  144, 143, 145, 144, 143, 142, 142, 146, 150, 152, 151, 147, 148, 151, 145, 137,
+  134, 142, 138, 138, 129, 128, 130, 136, 134, 133, 133, 139, 136, 135, 138, 140,
+  135, 138, 138, 136, 135, 134, 130, 127, 126, 129, 133, 137, 138, 135, 134, 135,
+  140, 142, 144, 141, 144, 148, 150, 148, 144, 138, 134, 127, 135, 134, 130, 136,
+  139, 145, 157, 148, 149, 151, 153, 154, 155, 155, 153, 160, 154, 147, 142, 144,
+  152, 161, 168, 172, 172, 170, 165, 161, 163, 171, 179, 168, 161, 146, 130, 126,
+  133, 142, 148, 161, 164, 167, 167, 164, 161, 164, 165, 170, 170, 170, 171, 169,
+  169, 170, 170, 166, 166, 166, 166, 165, 164, 162, 161, 163, 158, 156, 157, 157,
+  154, 156, 158, 151, 161, 173, 180, 188, 200, 203, 201, 199, 195, 195, 200, 200,
+  196, 194, 201, 205, 198, 189, 187, 192, 195, 193, 188, 191, 197, 199, 195, 194,
+  197, 195, 189, 187, 196, 203, 202, 196, 194, 200, 207, 201, 194, 188, 191, 198,
+  200, 194, 187, 180, 180, 180, 182, 183, 181, 179, 175, 165, 172, 101, 150, 140,
+  142, 152, 155, 153, 151, 150, 148, 147, 144, 143, 140, 145, 143, 141, 141, 143,
+  148, 154, 156, 150, 149, 150, 150, 150, 149, 147, 147, 149, 150, 158, 162, 158,
+  157, 147, 125, 122, 130, 153, 136, 134, 136, 140, 139, 135, 134, 138, 139, 136,
+  137, 139, 139, 136, 136, 137, 132, 134, 136, 138, 136, 136, 138, 139, 143, 143,
+  143, 143, 144, 148, 150, 150, 145, 146, 148, 149, 148, 147, 148, 147, 138, 149,
+  151, 149, 152, 148, 146, 154, 154, 154, 154, 155, 156, 158, 160, 161, 159, 159,
+  159, 159, 159, 159, 159, 159, 150, 152, 153, 149, 145, 145, 150, 154, 143, 152,
+  161, 166, 172, 176, 174, 169, 171, 172, 173, 173, 170, 170, 172, 173, 173, 173,
+  172, 171, 170, 169, 168, 168, 168, 167, 166, 165, 163, 162, 159, 159, 166, 163,
+  162, 165, 162, 158, 158, 160, 157, 157, 169, 186, 198, 200, 203, 208, 199, 195,
+  194, 197, 197, 192, 192, 198, 199, 196, 190, 187, 189, 193, 196, 198, 195, 199,
+  200, 197, 197, 200, 199, 194, 191, 195, 198, 199, 198, 198, 201, 205, 203, 197,
+  191, 190, 192, 191, 185, 179, 179, 179, 180, 179, 179, 177, 173, 171, 171, 159,
+  112, 149, 145, 148, 154, 149, 153, 153, 151, 152, 154, 155, 155, 155, 152, 150,
+  145, 142, 142, 144, 146, 148, 152, 150, 152, 149, 150, 149, 153, 153, 168, 157,
+  153, 144, 141, 149, 158, 148, 107, 136, 159, 128, 129, 135, 139, 135, 129, 130,
+  137, 138, 135, 135, 139, 141, 138, 139, 141, 133, 137, 142, 145, 143, 140, 140,
+  139, 142, 143, 146, 147, 148, 150, 151, 152, 144, 143, 142, 142, 144, 147, 149,
+  151, 145, 156, 157, 156, 158, 152, 147, 153, 156, 155, 154, 153, 155, 157, 160,
+  162, 162, 164, 167, 170, 170, 167, 164, 162, 173, 176, 179, 178, 175, 172, 173,
+  174, 173, 178, 180, 178, 177, 176, 172, 166, 180, 179, 175, 175, 177, 179, 178,
+  178, 181, 180, 178, 176, 174, 173, 169, 169, 177, 175, 172, 170, 166, 165, 164,
+  164, 166, 164, 166, 170, 168, 163, 161, 162, 162, 153, 163, 187, 200, 195, 197,
+  208, 199, 195, 193, 194, 194, 191, 192, 196, 194, 194, 192, 188, 185, 188, 195,
+  201, 196, 199, 198, 195, 196, 200, 200, 199, 199, 198, 197, 197, 198, 199, 200,
+  199, 205, 202, 197, 194, 192, 188, 184, 181, 181, 179, 180, 181, 181, 180, 176,
+  172, 166, 135, 126, 145, 149, 155, 160, 148, 155, 155, 154, 154, 156, 158, 160,
+  161, 160, 158, 154, 151, 150, 150, 149, 150, 157, 157, 158, 154, 152, 152, 158,
+  161, 153, 152, 161, 162, 155, 152, 150, 135, 142, 104, 137, 124, 125, 129, 134,
+  134, 131, 132, 136, 136, 133, 135, 140, 143, 141, 142, 145, 139, 142, 145, 145,
+  144, 140, 138, 137, 138, 140, 143, 147, 148, 149, 149, 149, 146, 145, 143, 143,
+  146, 149, 152, 154, 151, 159, 157, 154, 159, 158, 156, 165, 159, 159, 160, 160,
+  161, 163, 165, 166, 172, 171, 170, 170, 172, 174, 176, 178, 170, 173, 175, 175,
+  172, 170, 169, 169, 180, 180, 177, 171, 172, 178, 182, 182, 187, 182, 177, 177,
+  179, 181, 180, 179, 183, 181, 180, 179, 177, 176, 172, 172, 182, 180, 177, 174,
+  170, 171, 172, 173, 166, 164, 165, 169, 167, 163, 161, 163, 166, 157, 161, 178,
+  189, 190, 193, 201, 201, 197, 195, 192, 192, 190, 191, 193, 194, 195, 193, 190,
+  187, 188, 192, 195, 194, 194, 192, 191, 192, 195, 198, 198, 203, 201, 199, 197,
+  196, 196, 195, 195, 199, 199, 197, 195, 191, 188, 187, 187, 179, 178, 178, 178,
+  180, 179, 175, 173, 160, 117, 142, 142, 148, 155, 157, 145, 159, 158, 156, 154,
+  153, 154, 155, 157, 161, 161, 159, 159, 159, 159, 158, 158, 159, 161, 161, 157,
+  152, 152, 155, 160, 161, 157, 159, 157, 146, 145, 148, 139, 135, 127, 120, 133,
+  128, 127, 133, 138, 140, 142, 144, 140, 137, 138, 143, 144, 141, 140, 143, 142,
+  143, 143, 142, 140, 139, 139, 140, 137, 139, 143, 145, 147, 147, 146, 147, 153,
+  152, 152, 153, 153, 154, 156, 157, 156, 163, 160, 159, 167, 166, 164, 171, 163,
+  165, 168, 171, 172, 172, 171, 170, 176, 174, 171, 170, 171, 174, 178, 181, 180,
+  181, 181, 180, 179, 178, 178, 179, 167, 173, 178, 180, 183, 186, 184, 181, 189,
+  184, 179, 176, 177, 179, 177, 174, 175, 175, 175, 173, 172, 172, 171, 171, 176,
+  174, 170, 168, 168, 169, 170, 172, 169, 165, 162, 164, 165, 162, 164, 168, 165,
+  164, 163, 166, 177, 190, 197, 198, 200, 200, 198, 194, 193, 193, 192, 192, 192,
+  191, 189, 190, 192, 193, 190, 189, 193, 191, 189, 189, 190, 192, 194, 197, 196,
+  199, 200, 198, 194, 192, 195, 198, 189, 191, 191, 189, 186, 184, 184, 186, 179,
+  178, 176, 173, 173, 170, 166, 164, 161, 121, 160, 145, 147, 147, 149, 143, 160,
+  161, 159, 156, 153, 152, 153, 155, 155, 156, 155, 156, 157, 158, 157, 157, 152,
+  154, 156, 156, 153, 151, 153, 154, 160, 154, 157, 157, 148, 147, 151, 145, 138,
+  131, 162, 140, 132, 128, 134, 141, 144, 146, 146, 145, 142, 142, 144, 142, 137,
+  134, 136, 139, 139, 139, 137, 137, 138, 141, 145, 140, 142, 145, 147, 148, 148,
+  147, 147, 153, 153, 154, 155, 155, 155, 155, 155, 152, 161, 162, 164, 171, 166,
+  158, 161, 160, 163, 167, 171, 172, 171, 168, 166, 173, 173, 173, 173, 172, 171,
+  170, 169, 172, 171, 169, 168, 168, 170, 171, 172, 176, 180, 182, 180, 178, 177,
+  174, 168, 186, 183, 179, 177, 177, 175, 174, 173, 174, 173, 173, 173, 174, 174,
+  175, 175, 171, 173, 170, 169, 169, 171, 171, 172, 173, 168, 164, 166, 167, 165,
+  168, 172, 166, 170, 169, 162, 169, 186, 197, 197, 197, 198, 197, 194, 193, 194,
+  191, 188, 185, 184, 184, 188, 193, 196, 193, 191, 196, 192, 189, 191, 192, 191,
+  193, 197, 187, 192, 197, 197, 194, 194, 197, 200, 190, 190, 190, 188, 185, 182,
+  182, 183, 186, 185, 180, 175, 170, 164, 158, 154, 150, 126, 161, 149, 153, 152,
+  157, 157, 157, 160, 162, 161, 157, 156, 157, 160, 157, 157, 155, 155, 155, 156,
+  155, 155, 149, 150, 152, 155, 156, 156, 155, 155, 148, 143, 151, 159, 154, 150,
+  150, 139, 134, 126, 139, 137, 133, 132, 136, 138, 136, 138, 142, 142, 140, 141,
+  143, 141, 135, 132, 133, 138, 138, 140, 137, 138, 138, 141, 145, 144, 145, 145,
+  146, 146, 146, 146, 146, 148, 148, 148, 149, 151, 152, 152, 152, 150, 157, 159,
+  160, 167, 163, 154, 157, 158, 160, 163, 165, 167, 166, 165, 164, 171, 172, 173,
+  173, 172, 170, 168, 167, 173, 172, 171, 172, 174, 175, 175, 175, 172, 173, 171,
+  167, 170, 178, 183, 184, 181, 181, 182, 179, 177, 176, 176, 175, 176, 176, 176,
+  176, 176, 177, 177, 177, 175, 175, 175, 175, 173, 173, 173, 173, 170, 166, 166,
+  170, 169, 167, 168, 172, 171, 171, 170, 167, 168, 171, 182, 191, 190, 195, 197,
+  193, 192, 193, 191, 184, 183, 182, 183, 184, 185, 188, 193, 197, 197, 192, 191,
+  194, 194, 191, 192, 197, 188, 190, 194, 196, 197, 197, 195, 194, 192, 191, 189,
+  188, 187, 185, 183, 183, 184, 181, 175, 169, 163, 156, 152, 148, 144, 139, 152,
+  148, 157, 156, 160, 165, 155, 160, 163, 164, 160, 158, 159, 161, 161, 160, 158,
+  157, 157, 158, 158, 156, 152, 147, 144, 145, 149, 150, 148, 144, 155, 137, 130,
+  130, 127, 132, 142, 140, 135, 57, 89, 136, 136, 139, 140, 136, 131, 133, 137,
+  135, 134, 136, 140, 140, 136, 134, 136, 142, 143, 142, 141, 138, 138, 138, 140,
+  144, 144, 144, 144, 144, 144, 144, 144, 150, 150, 149, 149, 152, 154, 156, 158,
+  158, 161, 157, 155, 164, 165, 163, 169, 164, 164, 166, 167, 168, 169, 170, 170,
+  174, 173, 171, 170, 170, 173, 175, 177, 169, 169, 170, 172, 175, 175, 174, 173,
+  176, 179, 179, 176, 176, 179, 179, 176, 176, 179, 182, 182, 179, 176, 178, 180,
+  175, 174, 174, 174, 174, 172, 172, 172, 176, 177, 177, 176, 174, 173, 172, 171,
+  166, 164, 167, 171, 171, 167, 166, 169, 178, 171, 170, 176, 169, 156, 163, 180,
+  187, 192, 195, 192, 192, 193, 191, 182, 183, 184, 187, 181, 177, 178, 190, 198,
+  198, 191, 193, 194, 194, 189, 190, 195, 196, 193, 193, 196, 200, 198, 191, 184,
+  187, 185, 183, 183, 184, 184, 182, 182, 170, 168, 163, 158, 153, 149, 144, 140,
+  154, 156, 151, 149, 156, 151, 149, 152, 154, 159, 164, 164, 160, 156, 156, 158,
+  159, 158, 156, 156, 157, 159, 160, 159, 151, 142, 133, 131, 134, 135, 131, 126,
+  131, 120, 126, 137, 132, 124, 116, 102, 117, 84, 109, 134, 134, 136, 136, 137,
+  135, 130, 123, 126, 128, 132, 135, 137, 137, 136, 136, 140, 141, 141, 142, 141,
+  141, 142, 142, 137, 142, 146, 147, 144, 144, 147, 150, 148, 148, 149, 150, 150,
+  151, 154, 154, 154, 152, 151, 150, 152, 155, 161, 164, 158, 162, 166, 168, 167,
+  166, 166, 167, 166, 167, 167, 168, 170, 171, 172, 172, 168, 169, 170, 170, 170,
+  172, 176, 179, 179, 175, 171, 172, 176, 178, 176, 173, 179, 170, 174, 178, 170,
+  168, 175, 176, 180, 176, 172, 170, 169, 169, 171, 173, 171, 172, 173, 173, 172,
+  170, 166, 164, 165, 163, 165, 170, 172, 169, 168, 172, 172, 172, 171, 172, 175,
+  172, 168, 163, 182, 177, 175, 176, 182, 186, 186, 183, 180, 179, 180, 169, 166,
+  181, 189, 171, 184, 191, 191, 187, 190, 186, 187, 196, 195, 194, 192, 190, 188,
+  187, 187, 187, 187, 185, 183, 181, 179, 177, 175, 174, 172, 166, 155, 147, 146,
+  149, 157, 162, 161, 161, 161, 157, 155, 155, 160, 164, 160, 158, 156, 160, 164,
+  164, 157, 151, 155, 156, 157, 160, 160, 153, 140, 128, 114, 115, 115, 116, 120,
+  125, 122, 116, 120, 118, 120, 126, 134, 134, 127, 117, 107, 93, 88, 138, 135,
+  133, 132, 133, 134, 133, 130, 140, 138, 135, 131, 133, 134, 136, 139, 141, 142,
+  143, 144, 143, 144, 144, 144, 141, 141, 142, 144, 146, 146, 146, 145, 148, 148,
+  149, 150, 151, 151, 154, 154, 152, 152, 153, 154, 155, 157, 161, 162, 158, 161,
+  165, 166, 167, 167, 168, 169, 170, 170, 170, 170, 170, 171, 171, 171, 170, 171,
+  172, 172, 171, 172, 174, 176, 177, 174, 170, 172, 175, 177, 175, 172, 180, 169,
+  172, 179, 175, 173, 174, 168, 172, 171, 168, 166, 166, 168, 170, 172, 173, 175,
+  174, 173, 172, 171, 169, 169, 169, 166, 168, 172, 172, 169, 167, 170, 174, 176,
+  177, 179, 181, 181, 177, 175, 174, 165, 155, 153, 158, 166, 172, 175, 179, 173,
+  169, 161, 159, 175, 186, 177, 185, 193, 193, 190, 194, 190, 185, 190, 188, 188,
+  188, 189, 189, 190, 190, 190, 185, 181, 178, 180, 186, 188, 185, 181, 162, 161,
+  156, 152, 151, 155, 160, 162, 164, 165, 164, 161, 157, 154, 155, 157, 161, 159,
+  158, 162, 167, 168, 164, 159, 163, 161, 157, 156, 157, 158, 157, 154, 131, 126,
+  119, 114, 116, 123, 126, 124, 136, 135, 137, 140, 141, 132, 116, 102, 116, 118,
+  116, 133, 129, 128, 129, 130, 130, 130, 129, 138, 135, 132, 129, 129, 130, 131,
+  135, 138, 140, 141, 142, 143, 144, 145, 145, 146, 143, 141, 144, 148, 148, 147,
+  141, 148, 148, 148, 149, 151, 152, 152, 152, 151, 153, 155, 157, 159, 159, 159,
+  158, 159, 161, 164, 165, 165, 166, 169, 171, 171, 171, 170, 169, 168, 168, 169,
+  169, 171, 173, 175, 174, 173, 171, 172, 173, 176, 173, 171, 172, 175, 176, 174,
+  171, 179, 167, 170, 178, 177, 175, 172, 162, 167, 165, 163, 163, 164, 165, 168,
+  171, 175, 176, 174, 172, 169, 170, 171, 171, 173, 170, 171, 173, 172, 168, 167,
+  170, 168, 173, 177, 179, 179, 178, 178, 179, 181, 177, 174, 173, 175, 174, 171,
+  165, 173, 161, 159, 159, 156, 161, 170, 168, 167, 175, 177, 181, 192, 191, 184,
+  186, 183, 184, 186, 187, 188, 188, 187, 186, 184, 176, 170, 171, 176, 177, 170,
+  163, 156, 157, 158, 161, 163, 164, 166, 166, 166, 168, 169, 167, 164, 161, 157,
+  157, 157, 156, 154, 158, 163, 166, 164, 162, 165, 164, 160, 158, 158, 161, 166,
+  167, 162, 157, 149, 142, 142, 147, 149, 148, 145, 137, 128, 123, 122, 120, 115,
+  110, 120, 129, 125, 116, 114, 116, 121, 124, 121, 119, 118, 119, 121, 125, 128,
+  129, 130, 128, 128, 135, 136, 139, 140, 141, 142, 143, 143, 147, 146, 145, 147,
+  149, 149, 147, 143, 149, 148, 149, 149, 151, 152, 153, 153, 153, 154, 156, 158,
+  160, 160, 160, 159, 162, 163, 164, 164, 164, 165, 167, 170, 167, 167, 165, 165,
+  165, 165, 166, 167, 170, 172, 175, 175, 174, 172, 172, 172, 175, 173, 172, 173,
+  175, 176, 174, 171, 177, 169, 172, 177, 173, 173, 172, 161, 164, 163, 162, 161,
+  161, 163, 166, 167, 172, 174, 173, 173, 170, 170, 170, 169, 174, 171, 170, 173,
+  173, 169, 169, 171, 167, 173, 178, 177, 175, 175, 177, 180, 176, 177, 180, 183,
+  182, 178, 170, 164, 172, 161, 165, 171, 164, 159, 160, 157, 160, 165, 166, 171,
+  185, 184, 177, 178, 182, 183, 184, 183, 182, 179, 175, 173, 179, 173, 167, 165,
+  165, 163, 157, 152, 159, 163, 166, 169, 171, 172, 172, 173, 169, 170, 171, 169,
+  168, 166, 166, 164, 158, 156, 154, 156, 160, 163, 163, 163, 164, 168, 170, 170,
+  167, 165, 165, 163, 157, 158, 160, 156, 155, 153, 150, 143, 143, 132, 121, 112,
+  112, 114, 116, 114, 109, 115, 117, 108, 101, 102, 107, 110, 108, 109, 114, 113,
+  115, 122, 127, 130, 131, 131, 132, 136, 136, 138, 139, 140, 140, 143, 143, 147,
+  150, 152, 153, 150, 149, 149, 149, 149, 148, 149, 150, 151, 151, 153, 153, 155,
+  154, 156, 156, 157, 158, 160, 161, 164, 165, 166, 165, 163, 163, 165, 167, 165,
+  164, 163, 163, 164, 166, 168, 170, 167, 169, 172, 173, 172, 171, 171, 172, 173,
+  173, 173, 174, 175, 175, 173, 171, 174, 168, 173, 173, 166, 167, 170, 164, 165,
+  163, 162, 161, 161, 160, 161, 164, 169, 171, 173, 175, 175, 173, 169, 167, 172,
+  169, 169, 172, 173, 171, 170, 175, 176, 179, 182, 181, 178, 177, 179, 182, 176,
+  174, 171, 171, 174, 178, 181, 183, 196, 185, 191, 200, 192, 183, 184, 184, 176,
+  177, 172, 169, 177, 174, 165, 167, 174, 175, 175, 174, 171, 167, 163, 161, 164,
+  165, 166, 166, 166, 165, 167, 170, 168, 169, 170, 172, 175, 176, 175, 176, 171,
+  170, 169, 167, 166, 166, 166, 167, 165, 163, 160, 160, 162, 164, 165, 165, 165,
+  170, 174, 175, 172, 167, 165, 163, 151, 155, 161, 160, 159, 156, 151, 143, 148,
+  145, 143, 139, 136, 126, 117, 108, 106, 105, 113, 114, 102, 96, 99, 103, 104,
+  111, 120, 121, 122, 122, 125, 127, 132, 137, 142, 140, 141, 141, 142, 143, 143,
+  146, 146, 146, 151, 156, 156, 152, 149, 152, 154, 150, 149, 149, 150, 151, 152,
+  153, 154, 155, 155, 156, 155, 156, 157, 160, 161, 163, 165, 166, 166, 164, 164,
+  165, 166, 167, 166, 165, 165, 166, 169, 172, 172, 166, 167, 170, 170, 170, 170,
+  171, 172, 171, 172, 173, 174, 174, 173, 172, 171, 169, 168, 174, 171, 162, 164,
+  169, 162, 163, 163, 162, 162, 160, 160, 160, 163, 167, 171, 175, 178, 178, 175,
+  169, 166, 169, 166, 166, 170, 171, 171, 171, 177, 179, 180, 181, 180, 178, 177,
+  177, 178, 180, 180, 180, 180, 180, 179, 177, 178, 172, 161, 164, 169, 162, 160,
+  167, 171, 176, 178, 171, 165, 173, 168, 165, 169, 173, 174, 175, 174, 173, 171,
+  169, 168, 162, 166, 171, 171, 169, 170, 175, 179, 172, 172, 170, 171, 172, 173,
+  173, 174, 174, 171, 168, 165, 164, 163, 161, 160, 165, 164, 161, 160, 160, 161,
+  161, 162, 162, 163, 163, 164, 163, 163, 163, 165, 161, 165, 168, 164, 164, 164,
+  166, 162, 163, 160, 158, 153, 149, 141, 134, 127, 125, 110, 107, 104, 92, 89,
+  96, 99, 96, 101, 110, 118, 118, 119, 121, 126, 130, 136, 140, 141, 143, 143,
+  143, 143, 144, 146, 146, 147, 151, 153, 153, 154, 153, 155, 152, 150, 148, 149,
+  149, 151, 152, 154, 154, 153, 153, 156, 157, 157, 157, 157, 157, 159, 162, 165,
+  167, 166, 166, 167, 168, 170, 169, 167, 165, 166, 168, 171, 171, 168, 168, 169,
+  168, 166, 166, 168, 170, 167, 169, 172, 173, 172, 170, 169, 168, 167, 166, 171,
+  170, 162, 166, 167, 155, 160, 160, 158, 159, 159, 160, 161, 163, 165, 168, 171,
+  173, 173, 171, 167, 165, 167, 163, 164, 167, 167, 166, 169, 175, 175, 174, 172,
+  171, 172, 172, 171, 170, 168, 172, 178, 179, 176, 168, 159, 155, 180, 174, 177,
+  178, 171, 171, 180, 181, 168, 174, 170, 167, 173, 171, 170, 178, 175, 175, 175,
+  175, 175, 175, 175, 175, 169, 171, 173, 172, 171, 171, 173, 174, 171, 170, 171,
+  170, 170, 170, 171, 173, 174, 170, 168, 167, 167, 165, 161, 158, 161, 161, 160,
+  160, 159, 159, 159, 160, 160, 159, 157, 158, 161, 163, 162, 162, 159, 164, 166,
+  159, 159, 160, 166, 164, 172, 165, 160, 152, 151, 148, 150, 147, 136, 127, 117,
+  77, 71, 77, 88, 90, 80, 78, 82, 98, 103, 110, 117, 122, 126, 126, 127,
+  138, 140, 139, 139, 139, 140, 140, 141, 148, 146, 145, 149, 154, 155, 152, 148,
+  150, 148, 150, 151, 152, 155, 156, 156, 153, 155, 158, 160, 160, 158, 155, 153,
+  153, 157, 162, 165, 166, 166, 167, 168, 171, 169, 166, 164, 164, 165, 168, 169,
+  171, 170, 169, 166, 164, 163, 165, 167, 164, 167, 170, 171, 170, 168, 167, 166,
+  168, 165, 169, 171, 169, 171, 166, 148, 157, 156, 157, 157, 159, 160, 162, 164,
+  163, 166, 167, 166, 168, 165, 164, 163, 168, 163, 163, 166, 167, 164, 167, 173,
+  174, 171, 167, 167, 170, 172, 170, 168, 172, 172, 171, 170, 169, 170, 173, 177,
+  175, 177, 183, 183, 173, 175, 177, 171, 177, 185, 181, 178, 180, 176, 173, 181,
+  174, 173, 173, 172, 172, 172, 172, 173, 176, 174, 173, 176, 179, 182, 181, 179,
+  172, 172, 172, 173, 173, 171, 171, 170, 170, 168, 170, 172, 174, 172, 167, 162,
+  164, 164, 165, 164, 164, 163, 164, 165, 166, 166, 166, 170, 174, 173, 166, 163,
+  161, 167, 171, 166, 165, 165, 168, 166, 166, 166, 167, 164, 160, 152, 144, 138,
+  130, 143, 145, 86, 83, 84, 85, 84, 86, 72, 45, 91, 100, 104, 104, 104,
+  107, 111, 113, 116, 129, 129, 129, 134, 132, 133, 143, 135, 144, 152, 153, 149,
+  147, 147, 150, 151, 147, 148, 155, 156, 154, 156, 160, 161, 163, 166, 166, 163,
+  161, 160, 158, 161, 160, 158, 159, 160, 160, 158, 157, 163, 164, 165, 167, 168,
+  170, 173, 173, 167, 166, 164, 163, 163, 164, 165, 166, 166, 168, 167, 163, 163,
+  168, 170, 168, 169, 175, 179, 175, 169, 168, 171, 177, 168, 167, 165, 162, 159,
+  159, 160, 165, 166, 171, 172, 169, 170, 170, 166, 159, 163, 165, 168, 167, 165,
+  166, 170, 175, 176, 174, 173, 175, 177, 176, 172, 169, 165, 168, 172, 175, 177,
+  177, 175, 175, 178, 180, 180, 180, 179, 180, 182, 184, 184, 184, 183, 182, 180,
+  179, 179, 176, 179, 179, 179, 178, 176, 174, 172, 171, 173, 171, 170, 172, 175,
+  178, 179, 179, 177, 175, 173, 171, 170, 170, 171, 172, 173, 171, 169, 167, 166,
+  165, 166, 166, 169, 172, 168, 159, 160, 164, 166, 163, 168, 165, 163, 165, 169,
+  171, 169, 166, 167, 168, 170, 165, 164, 161, 166, 167, 161, 160, 163, 160, 158,
+  149, 143, 138, 141, 144, 149, 79, 76, 82, 83, 78, 73, 62, 40, 88, 98,
+  104, 102, 98, 101, 105, 109, 121, 130, 127, 127, 138, 138, 135, 139, 146, 147,
+  149, 147, 146, 144, 144, 144, 152, 149, 150, 156, 159, 156, 157, 161, 159, 160,
+  162, 161, 158, 156, 154, 155, 155, 154, 153, 155, 157, 158, 159, 158, 158, 159,
+  161, 162, 163, 164, 167, 167, 170, 169, 167, 166, 165, 166, 166, 167, 164, 167,
+  168, 165, 166, 169, 169, 168, 170, 173, 176, 173, 169, 168, 171, 173, 166, 165,
+  165, 162, 160, 158, 161, 165, 165, 175, 175, 171, 168, 170, 171, 171, 171, 170,
+  168, 168, 168, 170, 170, 170, 171, 170, 170, 171, 174, 174, 172, 169, 169, 170,
+  173, 174, 175, 175, 174, 174, 178, 181, 183, 182, 181, 179, 178, 178, 180, 180,
+  181, 181, 181, 180, 179, 179, 176, 176, 176, 175, 175, 175, 175, 175, 184, 181,
+  178, 177, 178, 178, 177, 176, 178, 178, 178, 177, 175, 173, 170, 169, 169, 168,
+  167, 166, 165, 166, 167, 168, 165, 168, 169, 165, 165, 169, 169, 165, 166, 165,
+  164, 165, 167, 169, 169, 166, 170, 171, 172, 170, 167, 165, 167, 169, 173, 168,
+  165, 165, 166, 163, 155, 150, 153, 152, 149, 81, 78, 89, 96, 87, 79, 74,
+  67, 84, 95, 106, 107, 107, 112, 118, 125, 130, 136, 132, 134, 148, 149, 145,
+  149, 145, 142, 141, 144, 151, 157, 160, 160, 157, 155, 156, 160, 161, 160, 161,
+  163, 157, 158, 159, 158, 155, 154, 153, 155, 151, 150, 150, 152, 156, 158, 158,
+  157, 161, 161, 162, 163, 163, 164, 164, 164, 166, 165, 164, 163, 163, 163, 163,
+  163, 162, 167, 169, 168, 168, 170, 168, 164, 172, 172, 172, 171, 170, 169, 169,
+  170, 166, 165, 165, 163, 161, 160, 163, 168, 166, 176, 178, 172, 168, 170, 175,
+  179, 178, 173, 168, 169, 171, 172, 170, 166, 173, 172, 172, 174, 177, 177, 176,
+  175, 174, 174, 174, 174, 174, 174, 173, 173, 174, 176, 180, 181, 180, 178, 174,
+  172, 176, 177, 179, 180, 181, 180, 179, 178, 176, 175, 175, 175, 176, 178, 180,
+  182, 188, 185, 182, 180, 179, 178, 176, 174, 173, 175, 177, 178, 176, 172, 167,
+  164, 164, 163, 163, 163, 163, 164, 165, 166, 160, 165, 171, 169, 170, 171, 169,
+  165, 166, 167, 166, 165, 165, 166, 168, 169, 163, 164, 165, 164, 162, 160, 160,
+  160, 170, 162, 155, 155, 160, 160, 153, 146, 149, 145, 140, 94, 90, 101, 108,
+  95, 82, 85, 88, 97, 103, 104, 99, 93, 90, 87, 87, 93, 101, 99, 102,
+  115, 118, 116, 120, 117, 119, 121, 126, 134, 142, 149, 152, 156, 155, 155, 157,
+  159, 158, 160, 161, 159, 160, 161, 158, 156, 154, 156, 157, 153, 152, 151, 153,
+  157, 159, 158, 157, 164, 164, 165, 165, 165, 165, 164, 164, 163, 163, 163, 163,
+  163, 164, 164, 165, 165, 169, 171, 169, 169, 172, 171, 167, 175, 172, 170, 170,
+  172, 172, 172, 169, 167, 166, 165, 164, 164, 164, 167, 171, 169, 176, 176, 173,
+  170, 173, 176, 176, 177, 174, 170, 170, 170, 171, 170, 168, 175, 175, 175, 176,
+  177, 177, 177, 177, 177, 176, 175, 174, 174, 175, 176, 177, 171, 172, 173, 175,
+  178, 177, 175, 173, 175, 176, 178, 181, 181, 180, 178, 177, 178, 177, 176, 176,
+  177, 180, 183, 185, 181, 179, 177, 177, 178, 178, 177, 174, 168, 168, 171, 172,
+  171, 168, 165, 163, 162, 162, 161, 161, 161, 161, 161, 162, 163, 166, 169, 170,
+  170, 168, 167, 165, 164, 165, 167, 166, 165, 164, 167, 170, 167, 168, 169, 169,
+  167, 165, 163, 162, 167, 162, 157, 157, 158, 157, 152, 146, 147, 146, 145, 103,
+  97, 103, 103, 85, 74, 80, 86, 77, 82, 88, 96, 106, 117, 122, 121, 115,
+  127, 128, 128, 135, 134, 135, 143, 139, 145, 150, 151, 150, 151, 156, 160, 148,
+  148, 148, 149, 150, 152, 154, 153, 159, 159, 159, 157, 155, 155, 157, 159, 157,
+  155, 154, 155, 158, 159, 158, 157, 161, 161, 162, 162, 162, 162, 161, 161, 163,
+  164, 165, 167, 169, 170, 171, 171, 169, 171, 171, 167, 168, 172, 173, 171, 176,
+  172, 169, 169, 172, 171, 171, 166, 163, 163, 164, 163, 163, 164, 167, 171, 171,
+  173, 173, 172, 174, 177, 173, 166, 170, 172, 172, 171, 169, 169, 171, 174, 173,
+  173, 173, 172, 171, 171, 171, 172, 177, 176, 175, 175, 175, 177, 180, 180, 174,
+  171, 169, 169, 173, 174, 175, 174, 174, 174, 175, 176, 175, 173, 171, 172, 178,
+  179, 177, 177, 177, 179, 182, 184, 178, 177, 177, 178, 179, 180, 179, 174, 167,
+  166, 166, 167, 167, 168, 168, 168, 165, 164, 164, 163, 161, 160, 158, 160, 167,
+  168, 167, 167, 167, 165, 164, 165, 161, 163, 166, 166, 164, 163, 165, 166, 163,
+  162, 162, 162, 161, 159, 156, 154, 154, 155, 157, 155, 151, 147, 143, 143, 139,
+  139, 140, 99, 92, 97, 98, 85, 83, 92, 94, 116, 119, 120, 119, 121, 125,
+  123, 119, 128, 141, 141, 138, 141, 137, 137, 146, 135, 143, 149, 149, 143, 140,
+  143, 146, 147, 148, 150, 148, 150, 155, 156, 153, 154, 156, 156, 156, 155, 153,
+  156, 156, 159, 158, 157, 158, 160, 161, 160, 159, 163, 163, 165, 165, 165, 165,
+  165, 164, 162, 163, 165, 167, 169, 170, 171, 171, 171, 173, 171, 167, 167, 172,
+  174, 173, 172, 169, 166, 165, 167, 168, 166, 163, 160, 161, 161, 160, 161, 162,
+  164, 169, 171, 171, 170, 171, 175, 179, 172, 162, 167, 171, 173, 172, 169, 168,
+  173, 177, 174, 175, 175, 173, 170, 170, 171, 172, 175, 175, 174, 174, 175, 177,
+  179, 179, 179, 173, 168, 167, 171, 171, 171, 168, 170, 170, 170, 168, 168, 167,
+  166, 168, 175, 176, 175, 174, 174, 175, 176, 177, 180, 179, 179, 179, 180, 180,
+  177, 172, 171, 166, 167, 164, 166, 166, 171, 171, 167, 165, 167, 163, 163, 159,
+  159, 159, 172, 170, 165, 166, 164, 163, 164, 167, 164, 166, 170, 172, 172, 169,
+  169, 166, 159, 156, 154, 153, 153, 152, 149, 147, 146, 151, 156, 154, 148, 143,
+  142, 143, 143, 144, 143, 89, 88, 93, 94, 92, 99, 106, 100, 91, 102, 109,
+  110, 112, 118, 123, 127, 131, 141, 138, 136, 143, 140, 136, 144, 144, 148, 151,
+  153, 151, 150, 152, 151, 145, 148, 150, 147, 149, 154, 157, 153, 149, 151, 156,
+  157, 155, 152, 154, 153, 156, 155, 154, 156, 161, 162, 162, 161, 164, 164, 165,
+  166, 166, 166, 166, 166, 161, 162, 163, 165, 166, 166, 165, 165, 167, 170, 170,
+  167, 168, 171, 172, 170, 172, 169, 167, 165, 165, 165, 164, 164, 162, 162, 163,
+  162, 161, 162, 166, 169, 169, 170, 169, 169, 173, 177, 172, 166, 172, 172, 173,
+  173, 173, 174, 176, 177, 174, 175, 175, 174, 171, 171, 174, 176, 174, 173, 173,
+  173, 173, 173, 174, 173, 179, 173, 171, 171, 174, 174, 172, 167, 170, 169, 168,
+  166, 167, 168, 169, 171, 172, 172, 173, 173, 173, 174, 174, 175, 178, 177, 177,
+  177, 178, 177, 175, 171, 172, 170, 168, 165, 166, 166, 169, 169, 169, 168, 169,
+  167, 167, 164, 162, 162, 172, 169, 165, 168, 167, 165, 166, 171, 166, 168, 171,
+  174, 176, 173, 169, 165, 163, 158, 155, 154, 154, 154, 152, 149, 150, 151, 153,
+  153, 151, 150, 151, 152, 156, 157, 157, 87, 87, 90, 88, 86, 96, 95, 79,
+  83, 97, 109, 107, 105, 107, 118, 125, 128, 134, 129, 131, 144, 144, 139, 141,
+  145, 143, 142, 141, 143, 143, 141, 136, 137, 139, 142, 139, 142, 148, 150, 146,
+  147, 150, 155, 156, 155, 155, 154, 154, 153, 152, 153, 155, 159, 164, 164, 163,
+  160, 160, 160, 162, 162, 163, 163, 163, 166, 166, 167, 168, 168, 166, 165, 164,
+  163, 168, 170, 168, 169, 171, 169, 163, 172, 172, 170, 166, 165, 164, 164, 165,
+  164, 167, 166, 165, 165, 165, 169, 171, 167, 170, 171, 169, 170, 175, 176, 175,
+  178, 174, 171, 172, 176, 178, 177, 174, 167, 169, 170, 169, 167, 168, 171, 175,
+  173, 173, 172, 171, 170, 169, 169, 167, 174, 171, 171, 174, 180, 180, 175, 169,
+  172, 171, 170, 168, 169, 172, 175, 177, 172, 172, 175, 175, 177, 177, 178, 177,
+  174, 172, 174, 174, 177, 176, 175, 172, 172, 170, 169, 165, 165, 163, 164, 163,
+  168, 168, 170, 169, 170, 167, 166, 167, 170, 166, 166, 170, 171, 169, 168, 173,
+  159, 160, 162, 168, 171, 169, 163, 154, 147, 142, 137, 135, 136, 137, 135, 133,
+  131, 128, 126, 127, 131, 135, 136, 136, 132, 137, 142, 85, 88, 92, 100, 105,
+  107, 102, 99, 78, 106, 120, 106, 100, 109, 116, 111, 126, 128, 130, 131, 134,
+  134, 134, 134, 137, 141, 141, 136, 134, 138, 137, 131, 132, 133, 135, 134, 132,
+  131, 137, 141, 141, 144, 148, 149, 150, 152, 153, 154, 153, 153, 152, 153, 154,
+  158, 160, 162, 161, 165, 164, 158, 156, 162, 165, 164, 162, 160, 159, 163, 169,
+  171, 170, 167, 173, 167, 166, 171, 173, 169, 168, 172, 169, 168, 165, 162, 161,
+  158, 156, 154, 163, 163, 164, 163, 162, 164, 171, 176, 171, 171, 172, 172, 172,
+  170, 168, 167, 170, 171, 174, 175, 175, 174, 172, 169, 168, 172, 175, 174, 169,
+  167, 170, 174, 171, 172, 173, 174, 174, 173, 171, 170, 175, 175, 176, 177, 177,
+  176, 176, 174, 175, 174, 174, 174, 175, 180, 183, 184, 176, 173, 174, 175, 180,
+  179, 178, 173, 179, 172, 169, 168, 173, 173, 173, 167, 171, 168, 169, 167, 171,
+  170, 172, 170, 172, 171, 175, 173, 173, 166, 163, 159, 169, 162, 166, 168, 159,
+  159, 166, 168, 166, 164, 153, 139, 133, 142, 151, 152, 146, 143, 141, 139, 135,
+  132, 135, 140, 132, 132, 132, 132, 131, 131, 131, 131, 131, 129, 129, 90, 90,
+  91, 92, 93, 88, 82, 76, 83, 102, 110, 105, 104, 114, 117, 113, 118, 120,
+  122, 124, 125, 126, 128, 127, 119, 124, 126, 124, 126, 132, 133, 127, 122, 122,
+  124, 124, 125, 126, 130, 132, 132, 135, 138, 141, 142, 145, 149, 153, 153, 152,
+  152, 151, 152, 153, 156, 157, 161, 165, 165, 159, 158, 160, 160, 157, 161, 163,
+  165, 166, 167, 168, 169, 170, 172, 167, 166, 170, 172, 169, 168, 170, 168, 167,
+  164, 161, 159, 157, 156, 155, 157, 159, 162, 162, 164, 166, 169, 173, 168, 168,
+  169, 169, 168, 166, 164, 163, 171, 171, 174, 174, 174, 173, 171, 170, 166, 170,
+  175, 175, 171, 168, 168, 170, 165, 166, 167, 169, 169, 170, 170, 170, 173, 173,
+  176, 177, 177, 177, 178, 177, 174, 174, 173, 172, 173, 175, 179, 179, 176, 174,
+  172, 173, 175, 176, 173, 171, 169, 167, 165, 168, 173, 174, 171, 168, 168, 172,
+  173, 170, 166, 165, 167, 170, 169, 171, 173, 175, 175, 173, 171, 169, 177, 169,
+  171, 171, 160, 158, 165, 163, 148, 152, 160, 160, 147, 134, 138, 148, 143, 137,
+  136, 140, 145, 143, 136, 129, 131, 131, 130, 129, 128, 127, 126, 126, 130, 130,
+  131, 102, 103, 104, 106, 104, 101, 97, 93, 96, 100, 103, 105, 110, 117, 116,
+  111, 118, 118, 119, 121, 121, 121, 123, 121, 116, 119, 121, 120, 120, 122, 121,
+  115, 118, 117, 116, 117, 120, 122, 124, 124, 132, 134, 136, 138, 142, 146, 151,
+  156, 155, 155, 154, 153, 153, 154, 157, 157, 158, 162, 164, 161, 161, 161, 160,
+  157, 160, 165, 168, 167, 164, 164, 167, 171, 167, 163, 161, 165, 166, 164, 163,
+  164, 169, 167, 163, 159, 156, 153, 153, 152, 153, 155, 159, 161, 161, 162, 164,
+  165, 163, 162, 163, 164, 165, 165, 165, 165, 173, 173, 174, 174, 174, 173, 172,
+  170, 167, 171, 177, 178, 175, 172, 170, 171, 170, 170, 170, 170, 170, 171, 172,
+  173, 172, 172, 176, 175, 175, 176, 175, 175, 177, 178, 176, 175, 175, 176, 178,
+  177, 180, 177, 175, 175, 175, 176, 175, 173, 174, 173, 172, 174, 176, 175, 170,
+  165, 170, 174, 176, 171, 164, 161, 164, 169, 163, 164, 166, 167, 168, 168, 168,
+  168, 171, 161, 163, 164, 154, 150, 156, 152, 156, 147, 150, 158, 152, 136, 141,
+  156, 157, 150, 144, 141, 143, 143, 140, 136, 140, 139, 138, 137, 135, 134, 132,
+  132, 125, 127, 129, 99, 101, 103, 104, 106, 106, 105, 104, 108, 103, 101, 107,
+  112, 111, 111, 110, 116, 116, 116, 116, 115, 114, 113, 112, 114, 114, 116, 114,
+  114, 111, 110, 106, 118, 114, 111, 112, 115, 117, 117, 115, 132, 135, 140, 141,
+  145, 148, 151, 155, 155, 155, 155, 155, 156, 156, 159, 159, 158, 161, 163, 162,
+  163, 164, 165, 165, 163, 165, 166, 165, 163, 163, 165, 168, 167, 164, 163, 164,
+  165, 165, 163, 163, 169, 168, 164, 159, 152, 148, 147, 146, 148, 152, 156, 158,
+  158, 156, 156, 155, 158, 159, 161, 163, 165, 167, 170, 170, 171, 171, 172, 172,
+  174, 174, 174, 173, 168, 170, 174, 175, 173, 171, 171, 171, 176, 175, 173, 172,
+  171, 172, 173, 174, 173, 174, 174, 174, 173, 172, 172, 172, 176, 175, 174, 173,
+  172, 172, 173, 171, 174, 172, 170, 169, 169, 170, 171, 172, 171, 170, 169, 170,
+  171, 171, 169, 167, 173, 174, 176, 171, 168, 165, 167, 169, 166, 164, 164, 162,
+  162, 161, 162, 161, 168, 159, 162, 164, 158, 156, 161, 160, 164, 141, 130, 138,
+  147, 149, 149, 151, 147, 151, 154, 147, 143, 142, 146, 146, 149, 147, 148, 146,
+  146, 144, 144, 144, 144, 146, 147, 105, 104, 104, 103, 102, 99, 98, 98, 107,
+  104, 105, 111, 111, 108, 108, 113, 106, 104, 105, 105, 105, 105, 104, 104, 104,
+  103, 106, 108, 109, 108, 108, 108, 112, 110, 107, 109, 111, 114, 115, 113, 128,
+  134, 141, 144, 146, 146, 148, 148, 147, 148, 149, 151, 152, 153, 155, 155, 160,
+  159, 159, 158, 158, 159, 162, 168, 166, 163, 160, 161, 163, 165, 164, 163, 170,
+  169, 168, 167, 168, 169, 168, 166, 168, 169, 166, 161, 154, 150, 149, 150, 145,
+  147, 151, 155, 158, 158, 156, 155, 159, 160, 160, 162, 164, 166, 168, 169, 168,
+  168, 170, 172, 173, 175, 178, 177, 168, 168, 168, 167, 167, 168, 169, 171, 172,
+  171, 170, 169, 169, 171, 172, 173, 176, 175, 173, 171, 168, 166, 165, 164, 165,
+  164, 162, 161, 159, 159, 159, 160, 160, 161, 160, 160, 160, 162, 165, 167, 161,
+  159, 158, 159, 162, 167, 170, 171, 168, 165, 164, 162, 167, 166, 166, 162, 166,
+  163, 163, 159, 159, 157, 158, 157, 158, 147, 151, 155, 151, 152, 155, 153, 141,
+  134, 127, 128, 141, 150, 147, 139, 126, 135, 145, 147, 150, 152, 150, 142, 148,
+  147, 148, 147, 148, 147, 148, 149, 152, 154, 155, 109, 107, 108, 105, 103, 101,
+  102, 103, 100, 101, 106, 109, 110, 109, 112, 117, 99, 98, 100, 102, 104, 105,
+  105, 106, 106, 104, 103, 106, 106, 103, 103, 107, 110, 109, 109, 110, 114, 117,
+  119, 120, 126, 132, 141, 146, 148, 148, 148, 149, 149, 150, 152, 154, 155, 156,
+  158, 158, 165, 161, 158, 157, 155, 152, 155, 160, 165, 162, 158, 158, 163, 165,
+  164, 161, 166, 166, 165, 162, 163, 165, 164, 160, 165, 168, 170, 166, 160, 156,
+  156, 158, 144, 144, 147, 152, 158, 161, 162, 162, 164, 163, 162, 161, 161, 161,
+  162, 163, 168, 168, 169, 171, 172, 175, 179, 178, 173, 171, 170, 169, 169, 172,
+  174, 176, 169, 169, 170, 171, 172, 174, 176, 176, 174, 172, 169, 166, 162, 159,
+  158, 157, 156, 155, 155, 152, 151, 150, 150, 150, 152, 156, 158, 158, 159, 159,
+  163, 164, 168, 165, 161, 157, 157, 158, 162, 163, 160, 152, 150, 150, 158, 159,
+  158, 152, 154, 151, 152, 150, 152, 150, 152, 151, 150, 139, 141, 146, 141, 141,
+  145, 139, 133, 138, 136, 125, 122, 134, 147, 152, 150, 145, 137, 132, 144, 154,
+  154, 141, 148, 146, 149, 147, 150, 149, 151, 152, 146, 146, 147, 96, 95, 96,
+  94, 93, 93, 97, 99, 96, 101, 104, 106, 107, 112, 114, 113, 103, 103, 104,
+  106, 105, 106, 106, 106, 105, 99, 95, 97, 96, 93, 94, 101, 107, 110, 111,
+  109, 109, 110, 112, 116, 123, 129, 138, 142, 146, 149, 151, 154, 154, 155, 158,
+  160, 161, 161, 162, 161, 164, 160, 161, 161, 157, 151, 152, 158, 163, 162, 160,
+  160, 161, 164, 165, 166, 161, 163, 161, 157, 158, 161, 160, 155, 165, 170, 173,
+  169, 161, 156, 154, 155, 148, 146, 144, 147, 154, 158, 159, 160, 163, 164, 163,
+  162, 162, 163, 165, 166, 170, 170, 170, 170, 171, 173, 176, 176, 175, 173, 172,
+  172, 174, 176, 177, 177, 172, 172, 173, 173, 174, 173, 173, 172, 167, 164, 162,
+  159, 156, 153, 152, 150, 149, 148, 146, 145, 143, 142, 141, 143, 146, 152, 157,
+  155, 156, 153, 157, 157, 168, 164, 162, 155, 152, 148, 150, 149, 147, 143, 141,
+  141, 146, 147, 147, 144, 138, 138, 139, 139, 141, 140, 141, 142, 152, 141, 143,
+  148, 143, 143, 145, 139, 138, 138, 134, 124, 115, 119, 138, 157, 161, 159, 149,
+  134, 136, 147, 152, 147, 150, 149, 150, 149, 151, 150, 151, 151, 153, 151, 153,
+  100, 98, 99, 95, 92, 91, 93, 97, 99, 103, 105, 102, 106, 112, 112, 103,
+  108, 106, 106, 103, 100, 96, 93, 91, 76, 71, 69, 74, 78, 80, 85, 94,
+  100, 104, 104, 98, 93, 90, 91, 95, 110, 115, 122, 129, 135, 141, 148, 152,
+  155, 156, 159, 160, 160, 159, 159, 158, 163, 160, 162, 165, 164, 155, 156, 162,
+  162, 165, 166, 164, 161, 162, 167, 172, 166, 168, 166, 162, 162, 166, 165, 158,
+  164, 169, 171, 169, 158, 150, 147, 146, 155, 150, 145, 144, 147, 150, 151, 153,
+  161, 163, 163, 164, 167, 169, 172, 175, 172, 170, 169, 168, 166, 167, 168, 169,
+  165, 163, 164, 166, 168, 169, 167, 166, 170, 169, 168, 167, 164, 161, 157, 153,
+  158, 156, 154, 152, 148, 147, 147, 145, 137, 136, 135, 136, 135, 133, 132, 134,
+  136, 141, 145, 145, 142, 141, 141, 143, 141, 141, 142, 141, 140, 140, 141, 141,
+  138, 138, 138, 137, 136, 136, 138, 139, 133, 134, 135, 133, 136, 133, 134, 134,
+  130, 119, 120, 127, 124, 124, 126, 121, 126, 118, 119, 128, 125, 110, 109, 123,
+  115, 145, 163, 157, 143, 141, 144, 146, 147, 147, 146, 146, 145, 145, 145, 145,
+  149, 149, 147, 104, 98, 96, 98, 98, 93, 91, 94, 104, 98, 100, 108, 112,
+  109, 105, 106, 102, 95, 104, 91, 87, 78, 54, 72, 62, 61, 61, 60, 60,
+  61, 62, 67, 89, 84, 84, 88, 85, 78, 80, 87, 92, 89, 95, 112, 129,
+  136, 140, 145, 150, 155, 158, 158, 156, 156, 160, 163, 167, 166, 164, 161, 161,
+  160, 161, 163, 165, 167, 168, 168, 168, 168, 169, 169, 162, 161, 161, 165, 169,
+  170, 167, 161, 168, 167, 164, 163, 162, 161, 161, 162, 153, 156, 158, 157, 153,
+  152, 159, 165, 171, 168, 167, 164, 163, 164, 167, 169, 163, 162, 164, 164, 163,
+  162, 158, 157, 153, 155, 157, 157, 155, 156, 159, 162, 159, 154, 151, 151, 153,
+  154, 149, 145, 145, 140, 141, 144, 142, 136, 135, 137, 133, 131, 129, 130, 132,
+  131, 129, 128, 136, 143, 143, 139, 139, 144, 143, 140, 144, 137, 134, 135, 133,
+  128, 126, 132, 131, 132, 132, 132, 128, 126, 123, 122, 122, 120, 118, 115, 117,
+  116, 120, 121, 118, 128, 110, 102, 116, 87, 113, 129, 123, 129, 129, 118, 112,
+  107, 91, 78, 89, 108, 139, 170, 151, 146, 122, 143, 140, 137, 142, 151, 152,
+  144, 144, 148, 151, 151, 151, 58, 59, 59, 58, 58, 57, 57, 57, 59, 60,
+  59, 61, 61, 62, 62, 62, 60, 66, 64, 62, 68, 64, 58, 62, 61, 63,
+  65, 67, 68, 68, 68, 68, 70, 70, 70, 70, 70, 70, 70, 70, 67, 68,
+  69, 70, 71, 72, 72, 72, 69, 73, 73, 70, 71, 74, 74, 72, 74, 73,
+  73, 72, 72, 73, 73, 73, 74, 74, 74, 76, 76, 77, 78, 78, 77, 78,
+  79, 81, 81, 81, 81, 80, 79, 79, 78, 79, 80, 81, 81, 81, 81, 82,
+  81, 83, 83, 84, 84, 84, 82, 82, 82, 83, 83, 84, 84, 84, 87, 86,
+  85, 84, 85, 86, 88, 89, 85, 91, 85, 84, 89, 89, 85, 92, 89, 91,
+  92, 93, 90, 91, 92, 93, 90, 92, 93, 94, 94, 94, 94, 93, 88, 95,
+  93, 90, 95, 93, 90, 97, 92, 90, 88, 88, 88, 91, 93, 95, 94, 97,
+  92, 101, 96, 91, 92, 69, 4, 24, 59, 67, 90, 92, 108, 108, 103, 102,
+  91, 92, 102, 102, 97, 101, 104, 101, 101, 104, 104, 102, 103, 106, 107, 106,
+  104, 104, 106, 106, 104, 103, 103, 104, 104, 104, 104, 103, 102, 101, 105, 105,
+  105, 104, 104, 103, 103, 103, 104, 103, 103, 59, 59, 59, 58, 59, 58, 58,
+  58, 55, 56, 58, 59, 60, 62, 62, 60, 62, 63, 63, 62, 61, 62, 64,
+  68, 64, 65, 67, 67, 66, 65, 67, 69, 70, 71, 71, 71, 69, 68, 64,
+  64, 68, 69, 68, 69, 68, 70, 71, 71, 71, 71, 71, 72, 72, 73, 73,
+  73, 75, 74, 74, 73, 73, 74, 74, 75, 71, 73, 75, 75, 74, 73, 73,
+  74, 75, 78, 79, 77, 77, 80, 79, 76, 77, 77, 77, 78, 78, 79, 79,
+  79, 80, 81, 80, 82, 82, 83, 83, 83, 81, 86, 85, 83, 83, 87, 86,
+  85, 83, 84, 83, 85, 84, 86, 85, 86, 84, 87, 88, 89, 87, 87, 87,
+  89, 85, 90, 89, 87, 87, 91, 90, 89, 93, 91, 89, 90, 94, 95, 94,
+  92, 95, 94, 92, 92, 91, 93, 94, 95, 91, 94, 94, 91, 91, 94, 94,
+  91, 99, 94, 96, 95, 101, 84, 93, 66, 1, 25, 58, 67, 97, 95, 105,
+  107, 103, 101, 92, 90, 102, 102, 98, 101, 102, 100, 100, 103, 104, 101, 101,
+  105, 106, 106, 106, 106, 106, 106, 106, 106, 102, 104, 106, 106, 104, 103, 103,
+  104, 106, 106, 104, 103, 103, 103, 103, 103, 101, 108, 105, 58, 58, 57, 57,
+  58, 57, 57, 58, 59, 59, 60, 61, 63, 63, 65, 65, 63, 63, 63, 62,
+  61, 62, 65, 68, 62, 63, 65, 65, 63, 63, 65, 67, 68, 68, 69, 69,
+  69, 68, 67, 67, 71, 70, 69, 68, 68, 68, 69, 69, 71, 71, 71, 72,
+  72, 73, 73, 73, 75, 74, 74, 73, 73, 74, 74, 75, 73, 74, 76, 76,
+  75, 73, 74, 75, 75, 79, 79, 76, 76, 79, 78, 75, 77, 77, 78, 78,
+  78, 79, 79, 79, 80, 80, 80, 81, 81, 82, 82, 83, 81, 86, 86, 83,
+  84, 87, 87, 85, 84, 84, 85, 85, 85, 86, 86, 86, 85, 88, 90, 90,
+  89, 88, 89, 90, 87, 90, 90, 87, 88, 91, 92, 89, 92, 91, 90, 91,
+  93, 94, 94, 93, 94, 94, 94, 93, 93, 94, 95, 95, 93, 96, 96, 93,
+  93, 96, 96, 93, 98, 94, 96, 94, 101, 85, 94, 66, 1, 27, 59, 67,
+  98, 96, 105, 107, 100, 99, 90, 90, 102, 105, 101, 104, 104, 101, 101, 105,
+  105, 102, 103, 106, 106, 106, 106, 106, 106, 106, 106, 106, 102, 104, 106, 106,
+  104, 103, 103, 104, 106, 105, 104, 103, 103, 103, 103, 104, 101, 108, 105, 57,
+  56, 56, 56, 57, 56, 57, 57, 61, 61, 60, 60, 61, 63, 65, 66, 63,
+  64, 63, 63, 62, 62, 65, 67, 62, 64, 65, 65, 64, 63, 66, 67, 67,
+  67, 67, 67, 68, 68, 69, 70, 72, 71, 70, 69, 68, 68, 68, 68, 71,
+  71, 71, 72, 72, 73, 73, 73, 75, 74, 74, 73, 73, 74, 74, 75, 73,
+  75, 77, 77, 75, 74, 75, 76, 76, 79, 80, 77, 76, 78, 77, 74, 77,
+  78, 78, 78, 79, 79, 79, 79, 80, 80, 80, 81, 81, 82, 82, 83, 81,
+  86, 86, 83, 84, 87, 87, 85, 84, 85, 85, 85, 86, 86, 86, 86, 86,
+  89, 91, 91, 90, 89, 90, 91, 87, 90, 90, 88, 88, 91, 92, 89, 90,
+  91, 93, 92, 92, 91, 94, 95, 94, 94, 94, 94, 94, 94, 95, 95, 94,
+  97, 97, 94, 94, 97, 97, 94, 96, 93, 95, 93, 101, 87, 95, 65, 2,
+  27, 60, 68, 98, 96, 105, 107, 98, 98, 89, 89, 103, 106, 103, 105, 105,
+  102, 102, 106, 106, 103, 104, 107, 106, 106, 106, 106, 106, 106, 106, 106, 102,
+  104, 106, 106, 104, 103, 103, 104, 106, 105, 104, 103, 103, 103, 104, 104, 101,
+  108, 105, 57, 57, 56, 56, 57, 57, 58, 58, 61, 60, 58, 57, 58, 60,
+  63, 65, 62, 64, 64, 63, 62, 62, 65, 67, 65, 66, 68, 67, 66, 66,
+  69, 70, 69, 68, 67, 66, 66, 68, 70, 71, 71, 71, 70, 69, 69, 69,
+  70, 70, 71, 71, 71, 72, 72, 73, 73, 73, 75, 74, 74, 73, 73, 74,
+  74, 75, 74, 76, 78, 78, 76, 75, 76, 77, 77, 80, 80, 77, 76, 78,
+  77, 74, 78, 78, 78, 79, 79, 79, 80, 80, 80, 80, 80, 81, 81, 82,
+  82, 83, 81, 86, 86, 83, 84, 87, 87, 85, 85, 85, 85, 86, 86, 86,
+  87, 87, 87, 89, 91, 92, 90, 90, 90, 92, 87, 90, 91, 88, 88, 92,
+  92, 89, 89, 92, 94, 93, 91, 90, 93, 96, 94, 94, 95, 94, 94, 95,
+  95, 95, 93, 96, 96, 93, 93, 96, 96, 93, 95, 93, 94, 92, 101, 88,
+  96, 63, 3, 28, 61, 68, 98, 96, 105, 107, 99, 99, 90, 89, 102, 105,
+  102, 104, 104, 101, 102, 105, 105, 103, 103, 106, 107, 107, 106, 106, 106, 106,
+  105, 105, 102, 104, 106, 106, 104, 103, 103, 104, 105, 105, 104, 103, 103, 103,
+  104, 105, 101, 108, 105, 57, 57, 59, 59, 59, 59, 60, 60, 62, 61, 59,
+  57, 58, 59, 63, 64, 61, 63, 65, 65, 63, 62, 64, 66, 65, 67, 68,
+  68, 67, 67, 69, 71, 71, 70, 68, 66, 66, 67, 68, 69, 68, 68, 68,
+  69, 70, 71, 73, 74, 71, 71, 71, 72, 72, 73, 73, 73, 75, 74, 74,
+  73, 73, 74, 74, 75, 74, 76, 78, 78, 76, 75, 76, 77, 76, 79, 80,
+  77, 76, 78, 77, 74, 78, 78, 79, 79, 79, 80, 80, 80, 80, 80, 80,
+  81, 81, 82, 82, 83, 81, 86, 86, 83, 84, 87, 87, 85, 85, 85, 86,
+  86, 86, 87, 87, 87, 87, 89, 91, 92, 90, 90, 90, 92, 88, 91, 91,
+  89, 89, 92, 93, 90, 89, 92, 94, 93, 91, 90, 93, 96, 94, 94, 95,
+  96, 96, 95, 95, 95, 92, 95, 95, 92, 92, 95, 95, 92, 94, 93, 95,
+  91, 101, 90, 95, 60, 4, 29, 61, 69, 99, 96, 104, 107, 101, 101, 91,
+  90, 102, 104, 100, 102, 103, 100, 100, 104, 104, 101, 102, 105, 107, 107, 107,
+  106, 106, 105, 105, 105, 102, 104, 106, 106, 104, 103, 103, 104, 105, 104, 103,
+  103, 103, 104, 105, 105, 101, 108, 105, 58, 59, 59, 59, 59, 60, 61, 61,
+  64, 63, 62, 61, 61, 62, 64, 64, 61, 63, 65, 65, 63, 63, 64, 65,
+  63, 65, 66, 66, 65, 65, 67, 69, 70, 69, 68, 68, 67, 67, 67, 67,
+  67, 68, 68, 69, 71, 73, 74, 75, 71, 71, 71, 72, 72, 73, 73, 73,
+  75, 74, 74, 73, 73, 74, 74, 75, 73, 75, 77, 77, 75, 74, 75, 76,
+  75, 78, 79, 76, 76, 79, 78, 76, 79, 79, 79, 79, 80, 80, 80, 81,
+  80, 80, 80, 81, 81, 82, 82, 83, 81, 86, 86, 83, 84, 87, 87, 85,
+  86, 86, 86, 86, 87, 87, 87, 88, 86, 89, 91, 91, 90, 89, 90, 91,
+  88, 91, 92, 89, 89, 93, 93, 90, 90, 91, 93, 92, 92, 91, 94, 95,
+  94, 94, 96, 96, 96, 96, 95, 95, 91, 94, 94, 91, 91, 94, 94, 91,
+  95, 94, 95, 90, 100, 90, 95, 56, 5, 30, 62, 69, 99, 96, 104, 107,
+  102, 101, 92, 90, 102, 103, 99, 101, 102, 99, 100, 103, 103, 101, 101, 104,
+  108, 108, 107, 106, 106, 105, 104, 104, 102, 104, 106, 106, 104, 103, 103, 104,
+  104, 104, 103, 103, 103, 104, 105, 106, 101, 108, 105, 57, 57, 58, 59, 59,
+  60, 60, 60, 63, 63, 63, 63, 63, 63, 63, 63, 60, 63, 65, 66, 65,
+  64, 64, 65, 64, 65, 67, 66, 65, 65, 67, 69, 67, 67, 68, 69, 69,
+  69, 68, 68, 69, 69, 69, 70, 71, 72, 73, 74, 71, 71, 71, 72, 72,
+  73, 73, 73, 75, 74, 74, 73, 73, 74, 74, 75, 73, 74, 76, 76, 75,
+  73, 74, 75, 73, 77, 78, 76, 77, 80, 80, 78, 79, 79, 79, 80, 80,
+  80, 81, 81, 80, 80, 80, 81, 81, 82, 82, 83, 81, 86, 86, 83, 84,
+  87, 87, 85, 86, 86, 86, 87, 87, 87, 88, 88, 85, 88, 90, 90, 89,
+  88, 89, 90, 88, 91, 92, 89, 90, 93, 93, 90, 92, 91, 90, 91, 93,
+  94, 94, 93, 94, 94, 96, 97, 97, 96, 95, 95, 92, 95, 95, 92, 92,
+  95, 95, 92, 96, 96, 96, 89, 100, 91, 93, 52, 5, 31, 63, 70, 99,
+  96, 104, 106, 101, 100, 91, 90, 102, 104, 100, 103, 103, 100, 101, 104, 104,
+  102, 102, 105, 108, 108, 107, 106, 106, 105, 104, 104, 102, 104, 106, 106, 104,
+  103, 103, 104, 104, 103, 103, 103, 103, 104, 105, 106, 101, 108, 105, 57, 57,
+  57, 58, 58, 59, 59, 59, 60, 61, 61, 62, 62, 61, 60, 60, 60, 63,
+  65, 66, 65, 64, 64, 65, 66, 68, 69, 69, 68, 67, 70, 71, 63, 64,
+  67, 69, 70, 71, 70, 70, 71, 71, 70, 70, 70, 71, 72, 72, 71, 71,
+  71, 72, 72, 73, 73, 73, 75, 74, 74, 73, 73, 74, 74, 75, 72, 74,
+  76, 75, 74, 73, 73, 74, 72, 76, 77, 76, 77, 81, 81, 79, 79, 79,
+  79, 80, 80, 81, 81, 81, 80, 80, 80, 81, 81, 82, 82, 83, 81, 86,
+  86, 83, 84, 87, 87, 85, 86, 86, 86, 87, 87, 88, 88, 88, 85, 87,
+  89, 89, 88, 87, 88, 89, 88, 92, 92, 89, 90, 93, 93, 91, 93, 91,
+  89, 90, 94, 95, 94, 92, 93, 94, 97, 98, 98, 97, 95, 94, 94, 97,
+  97, 94, 94, 97, 97, 94, 96, 97, 97, 89, 100, 91, 93, 50, 6, 31,
+  63, 70, 99, 96, 104, 106, 98, 98, 89, 89, 102, 105, 102, 105, 104, 102,
+  102, 105, 106, 103, 103, 107, 108, 108, 107, 106, 106, 105, 104, 104, 102, 104,
+  106, 106, 104, 103, 103, 104, 103, 103, 103, 103, 103, 104, 106, 106, 101, 108,
+  105, 61, 61, 62, 62, 62, 61, 60, 60, 62, 61, 60, 61, 63, 64, 63,
+  62, 64, 64, 64, 64, 64, 64, 64, 64, 66, 67, 68, 69, 68, 67, 68,
+  67, 69, 66, 66, 69, 69, 66, 66, 69, 72, 71, 71, 71, 71, 72, 73,
+  74, 76, 75, 73, 71, 70, 70, 71, 71, 74, 75, 76, 77, 77, 75, 74,
+  73, 75, 74, 74, 74, 74, 75, 76, 77, 81, 80, 78, 77, 76, 76, 77,
+  79, 80, 80, 80, 81, 81, 82, 82, 82, 81, 81, 82, 82, 82, 83, 83,
+  84, 86, 86, 85, 85, 87, 87, 86, 85, 91, 85, 88, 90, 84, 87, 92,
+  87, 89, 89, 89, 90, 90, 91, 91, 91, 92, 91, 91, 91, 91, 91, 90,
+  90, 96, 95, 93, 93, 93, 93, 96, 97, 95, 95, 96, 96, 96, 96, 96,
+  96, 95, 97, 96, 92, 92, 96, 97, 95, 102, 94, 99, 96, 98, 87, 92,
+  46, 5, 34, 66, 70, 100, 100, 108, 108, 106, 96, 91, 95, 101, 103, 103,
+  103, 104, 102, 103, 105, 104, 100, 101, 105, 109, 108, 106, 104, 102, 101, 101,
+  100, 102, 106, 107, 104, 104, 106, 104, 100, 109, 107, 103, 100, 100, 102, 105,
+  107, 100, 109, 107, 61, 61, 61, 62, 61, 61, 61, 60, 62, 61, 60, 61,
+  63, 64, 62, 61, 64, 64, 64, 64, 64, 64, 64, 64, 66, 67, 68, 69,
+  68, 67, 68, 67, 70, 67, 67, 70, 70, 67, 67, 70, 72, 71, 71, 71,
+  71, 72, 73, 74, 71, 71, 71, 71, 72, 73, 74, 75, 74, 75, 75, 76,
+  76, 75, 75, 74, 75, 75, 74, 74, 75, 75, 76, 77, 79, 78, 77, 77,
+  77, 78, 79, 81, 80, 80, 80, 81, 81, 82, 82, 82, 81, 81, 81, 81,
+  82, 82, 82, 84, 85, 85, 83, 84, 86, 86, 85, 84, 90, 84, 88, 90,
+  84, 87, 91, 86, 89, 89, 89, 90, 90, 91, 91, 91, 91, 91, 91, 91,
+  91, 91, 91, 92, 93, 92, 91, 91, 91, 91, 93, 94, 95, 95, 96, 96,
+  96, 96, 96, 96, 94, 97, 96, 93, 93, 96, 97, 94, 98, 92, 97, 94,
+  99, 89, 94, 48, 6, 34, 66, 70, 100, 100, 108, 108, 106, 96, 91, 95,
+  101, 103, 103, 103, 104, 102, 103, 105, 104, 100, 101, 106, 107, 107, 106, 105,
+  104, 104, 105, 105, 103, 106, 106, 103, 103, 105, 104, 101, 108, 106, 103, 101,
+  101, 102, 104, 106, 104, 108, 104, 61, 62, 61, 61, 61, 61, 61, 61, 62,
+  61, 59, 60, 62, 63, 61, 61, 64, 64, 64, 64, 64, 65, 66, 66, 66,
+  67, 68, 69, 69, 68, 69, 68, 70, 67, 67, 70, 70, 67, 67, 70, 72,
+  71, 71, 71, 71, 72, 73, 74, 70, 70, 71, 73, 74, 74, 74, 74, 75,
+  75, 75, 74, 74, 75, 75, 76, 75, 75, 74, 74, 75, 76, 77, 77, 77,
+  77, 76, 77, 78, 79, 80, 82, 80, 80, 80, 81, 81, 82, 82, 82, 80,
+  80, 80, 81, 81, 82, 82, 83, 84, 84, 83, 83, 85, 86, 84, 83, 90,
+  84, 87, 89, 83, 86, 91, 86, 89, 89, 89, 90, 90, 91, 91, 91, 90,
+  90, 90, 91, 92, 92, 93, 93, 93, 92, 92, 91, 91, 92, 93, 94, 95,
+  95, 96, 96, 96, 96, 96, 96, 93, 96, 97, 94, 94, 97, 96, 93, 95,
+  90, 95, 93, 99, 92, 97, 48, 6, 35, 67, 71, 100, 100, 108, 107, 106,
+  96, 91, 95, 101, 103, 103, 103, 104, 102, 103, 106, 104, 101, 102, 106, 105,
+  105, 105, 105, 106, 107, 108, 109, 104, 107, 106, 102, 102, 105, 105, 102, 106,
+  105, 104, 103, 103, 103, 104, 104, 106, 108, 101, 61, 62, 60, 60, 61, 61,
+  62, 62, 62, 61, 59, 60, 62, 63, 61, 61, 63, 64, 64, 65, 65, 65,
+  66, 67, 66, 67, 68, 69, 69, 68, 69, 68, 70, 67, 67, 70, 70, 67,
+  67, 70, 72, 71, 71, 71, 71, 72, 73, 74, 72, 73, 74, 75, 74, 73,
+  71, 70, 76, 75, 74, 73, 73, 75, 76, 77, 76, 75, 75, 75, 75, 76,
+  77, 78, 77, 77, 77, 77, 78, 79, 79, 81, 80, 80, 80, 81, 81, 82,
+  82, 82, 80, 80, 80, 80, 81, 81, 82, 83, 85, 85, 84, 84, 86, 86,
+  85, 84, 89, 84, 87, 89, 83, 86, 90, 86, 89, 89, 89, 90, 90, 91,
+  91, 91, 89, 90, 90, 91, 92, 93, 94, 94, 94, 94, 94, 94, 94, 94,
+  95, 95, 96, 96, 97, 97, 97, 97, 97, 97, 92, 96, 97, 95, 95, 97,
+  96, 92, 94, 90, 95, 92, 99, 93, 97, 45, 7, 35, 67, 71, 101, 100,
+  108, 107, 106, 96, 91, 95, 101, 103, 103, 103, 103, 102, 103, 106, 105, 101,
+  103, 107, 105, 105, 104, 105, 105, 106, 108, 108, 105, 107, 105, 101, 101, 104,
+  105, 103, 104, 105, 105, 105, 104, 104, 103, 102, 105, 108, 102, 61, 61, 61,
+  61, 60, 61, 63, 63, 62, 61, 59, 60, 61, 62, 61, 61, 63, 64, 64,
+  65, 65, 66, 67, 68, 66, 67, 68, 69, 69, 68, 69, 68, 71, 68, 68,
+  71, 71, 68, 68, 71, 72, 71, 71, 71, 71, 72, 73, 74, 72, 73, 74,
+  75, 75, 74, 72, 71, 75, 75, 74, 73, 74, 75, 77, 78, 76, 76, 75,
+  75, 76, 76, 77, 78, 79, 79, 79, 79, 78, 77, 77, 77, 80, 80, 80,
+  81, 81, 82, 82, 82, 80, 80, 80, 81, 81, 82, 82, 83, 87, 87, 86,
+  86, 88, 88, 87, 86, 90, 84, 87, 89, 83, 86, 91, 86, 89, 89, 89,
+  90, 90, 91, 91, 91, 90, 90, 91, 92, 93, 94, 94, 95, 94, 94, 94,
+  94, 94, 94, 95, 95, 96, 96, 97, 97, 97, 97, 97, 97, 92, 96, 97,
+  95, 95, 97, 96, 92, 96, 93, 97, 91, 98, 93, 94, 40, 8, 36, 68,
+  72, 101, 100, 108, 107, 106, 96, 91, 95, 101, 103, 103, 103, 103, 102, 103,
+  106, 105, 102, 104, 108, 106, 105, 104, 104, 103, 104, 104, 104, 105, 107, 105,
+  101, 101, 104, 105, 103, 104, 104, 105, 105, 105, 104, 103, 102, 101, 109, 106,
+  62, 61, 60, 60, 60, 61, 63, 65, 62, 61, 59, 60, 61, 62, 61, 61,
+  63, 64, 65, 65, 66, 67, 68, 68, 66, 67, 68, 69, 69, 68, 69, 68,
+  71, 68, 68, 71, 71, 68, 68, 71, 72, 71, 71, 71, 71, 72, 73, 74,
+  69, 70, 72, 74, 75, 76, 77, 77, 74, 74, 74, 74, 75, 76, 77, 78,
+  76, 76, 76, 76, 76, 77, 78, 78, 79, 79, 80, 79, 78, 77, 76, 76,
+  80, 80, 80, 81, 81, 82, 82, 82, 81, 81, 82, 82, 82, 83, 83, 84,
+  88, 88, 86, 87, 89, 89, 88, 87, 91, 85, 88, 90, 84, 87, 92, 87,
+  89, 89, 89, 90, 90, 91, 91, 91, 91, 91, 92, 92, 93, 94, 94, 94,
+  91, 92, 92, 93, 93, 92, 93, 92, 97, 97, 98, 98, 98, 98, 98, 98,
+  93, 96, 97, 94, 94, 97, 96, 93, 97, 95, 98, 91, 98, 93, 93, 35,
+  9, 37, 69, 72, 101, 100, 108, 107, 106, 96, 91, 95, 101, 103, 103, 103,
+  103, 102, 103, 107, 106, 103, 104, 109, 107, 106, 105, 103, 102, 102, 102, 102,
+  104, 107, 106, 102, 102, 105, 105, 102, 104, 105, 105, 105, 105, 104, 103, 102,
+  100, 109, 108, 62, 62, 60, 59, 59, 61, 64, 65, 62, 60, 59, 60, 61,
+  62, 61, 61, 63, 64, 65, 65, 66, 67, 69, 69, 67, 68, 68, 69, 69,
+  68, 69, 68, 71, 68, 68, 71, 71, 68, 68, 71, 72, 71, 71, 71, 71,
+  72, 73, 74, 70, 71, 71, 72, 74, 76, 78, 79, 72, 73, 74, 75, 76,
+  77, 77, 77, 77, 76, 76, 76, 76, 77, 78, 79, 77, 78, 79, 79, 79,
+  78, 77, 77, 80, 80, 80, 81, 81, 82, 82, 82, 82, 82, 83, 83, 84,
+  84, 84, 85, 87, 87, 86, 86, 88, 89, 87, 86, 92, 86, 90, 91, 86,
+  88, 93, 88, 89, 89, 89, 90, 90, 91, 91, 91, 92, 93, 93, 93, 93,
+  93, 93, 93, 91, 91, 92, 93, 93, 92, 92, 92, 97, 97, 98, 98, 98,
+  98, 98, 98, 94, 97, 96, 93, 93, 96, 97, 94, 97, 95, 98, 90, 98,
+  94, 93, 33, 10, 38, 69, 73, 101, 100, 108, 107, 106, 96, 91, 95, 101,
+  103, 103, 103, 103, 102, 103, 107, 106, 103, 105, 110, 108, 107, 106, 104, 104,
+  103, 103, 103, 103, 106, 106, 103, 103, 105, 104, 101, 105, 105, 105, 104, 104,
+  103, 103, 103, 102, 109, 105, 61, 61, 59, 58, 59, 61, 64, 66, 62, 60,
+  59, 60, 62, 63, 61, 61, 64, 64, 65, 66, 67, 67, 69, 70, 67, 68,
+  68, 69, 69, 68, 68, 68, 73, 69, 69, 72, 72, 69, 69, 72, 72, 71,
+  71, 70, 70, 71, 72, 73, 75, 74, 73, 72, 72, 74, 75, 76, 71, 72,
+  74, 76, 77, 77, 76, 76, 77, 76, 76, 77, 76, 78, 78, 80, 76, 77,
+  79, 80, 81, 81, 80, 78, 79, 79, 79, 80, 80, 81, 81, 82, 83, 83,
+  85, 85, 85, 86, 86, 86, 86, 85, 84, 85, 86, 87, 86, 85, 93, 87,
+  91, 92, 86, 89, 94, 89, 89, 89, 89, 90, 90, 91, 90, 90, 93, 93,
+  92, 92, 92, 93, 93, 92, 93, 93, 95, 96, 96, 95, 94, 94, 97, 97,
+  98, 98, 98, 98, 97, 98, 95, 97, 96, 92, 92, 96, 97, 95, 95, 94,
+  97, 89, 98, 96, 94, 33, 11, 38, 70, 73, 100, 99, 107, 106, 106, 97,
+  91, 95, 101, 103, 102, 102, 103, 102, 104, 107, 106, 104, 105, 110, 108, 107,
+  106, 105, 105, 105, 106, 106, 102, 106, 107, 104, 104, 106, 104, 100, 106, 105,
+  104, 103, 103, 103, 104, 104, 106, 108, 101, 58, 58, 58, 59, 59, 60, 60,
+  60, 61, 60, 60, 60, 60, 61, 63, 64, 64, 64, 64, 65, 65, 66, 66,
+  66, 68, 68, 68, 69, 69, 70, 70, 70, 69, 70, 71, 72, 72, 72, 72,
+  71, 69, 70, 72, 71, 69, 69, 71, 72, 72, 73, 73, 74, 74, 75, 75,
+  75, 77, 77, 77, 76, 76, 75, 75, 75, 76, 83, 80, 78, 81, 79, 75,
+  83, 78, 82, 81, 77, 77, 84, 86, 82, 78, 79, 79, 80, 80, 79, 80,
+  79, 81, 90, 87, 83, 87, 84, 81, 89, 80, 85, 86, 84, 85, 89, 85,
+  77, 93, 89, 89, 91, 91, 88, 88, 92, 93, 93, 91, 91, 92, 92, 90,
+  90, 88, 89, 91, 91, 91, 91, 91, 92, 93, 96, 97, 97, 94, 94, 96,
+  97, 95, 96, 96, 95, 94, 95, 96, 100, 92, 95, 97, 96, 93, 91, 92,
+  94, 97, 89, 97, 92, 92, 89, 92, 29, 12, 43, 67, 79, 94, 103, 103,
+  106, 109, 96, 92, 98, 103, 100, 99, 102, 102, 101, 101, 104, 105, 102, 102,
+  106, 103, 105, 107, 106, 104, 103, 105, 107, 103, 107, 107, 104, 103, 105, 104,
+  100, 106, 105, 104, 103, 103, 103, 103, 104, 102, 104, 104, 57, 57, 59, 59,
+  59, 60, 60, 60, 62, 62, 62, 62, 63, 64, 66, 66, 63, 64, 65, 65,
+  65, 66, 66, 66, 68, 68, 68, 69, 69, 70, 70, 70, 70, 71, 70, 71,
+  71, 72, 72, 72, 69, 71, 71, 71, 69, 68, 70, 72, 72, 73, 73, 74,
+  74, 75, 75, 75, 77, 77, 77, 76, 76, 75, 75, 75, 75, 82, 80, 77,
+  81, 78, 75, 82, 78, 81, 81, 78, 79, 84, 85, 81, 80, 79, 79, 80,
+  80, 81, 80, 81, 76, 85, 83, 82, 85, 82, 81, 88, 82, 83, 83, 81,
+  82, 87, 86, 81, 89, 85, 85, 87, 86, 82, 82, 85, 91, 92, 92, 93,
+  93, 91, 89, 87, 90, 90, 92, 92, 93, 94, 94, 95, 93, 94, 95, 94,
+  92, 92, 93, 96, 95, 96, 96, 95, 93, 94, 96, 99, 93, 96, 98, 97,
+  94, 92, 93, 94, 99, 92, 98, 92, 92, 88, 90, 26, 13, 45, 67, 78,
+  94, 102, 103, 106, 108, 97, 91, 98, 102, 99, 98, 100, 102, 101, 101, 104,
+  105, 102, 102, 106, 103, 105, 107, 106, 104, 103, 105, 107, 102, 106, 106, 103,
+  103, 105, 105, 101, 106, 105, 104, 103, 103, 103, 103, 104, 105, 106, 106, 57,
+  58, 59, 59, 60, 60, 60, 60, 63, 63, 64, 64, 64, 65, 67, 67, 63,
+  65, 65, 65, 66, 66, 66, 66, 68, 68, 68, 69, 69, 70, 70, 70, 71,
+  72, 70, 69, 70, 71, 73, 74, 69, 71, 71, 71, 69, 69, 70, 73, 72,
+  73, 73, 74, 74, 75, 75, 75, 77, 77, 76, 76, 76, 76, 75, 75, 74,
+  81, 78, 75, 79, 76, 73, 80, 76, 79, 80, 78, 80, 83, 83, 80, 84,
+  84, 82, 82, 82, 83, 84, 85, 81, 88, 86, 83, 88, 86, 83, 90, 91,
+  91, 89, 88, 89, 95, 95, 93, 95, 92, 91, 93, 93, 90, 91, 95, 90,
+  92, 93, 93, 93, 91, 90, 88, 93, 93, 92, 92, 91, 92, 93, 93, 95,
+  95, 96, 95, 95, 96, 99, 101, 96, 97, 96, 95, 93, 92, 94, 97, 94,
+  97, 98, 98, 96, 94, 95, 95, 102, 94, 100, 94, 93, 88, 89, 24, 13,
+  45, 67, 79, 94, 102, 103, 106, 106, 95, 90, 97, 102, 99, 97, 100, 102,
+  101, 101, 104, 105, 102, 102, 106, 104, 105, 106, 106, 104, 104, 105, 106, 101,
+  105, 105, 103, 103, 106, 106, 102, 106, 105, 104, 103, 103, 103, 103, 104, 107,
+  107, 107, 58, 58, 59, 60, 60, 60, 61, 61, 63, 63, 64, 63, 64, 65,
+  67, 67, 64, 65, 65, 66, 66, 66, 67, 67, 68, 68, 68, 69, 69, 70,
+  70, 70, 72, 72, 69, 68, 69, 71, 73, 75, 70, 71, 72, 71, 69, 69,
+  70, 73, 72, 73, 73, 74, 74, 75, 75, 75, 76, 76, 76, 76, 76, 76,
+  76, 75, 74, 80, 77, 74, 78, 75, 72, 80, 75, 77, 79, 80, 80, 81,
+  80, 80, 87, 87, 85, 83, 83, 85, 86, 88, 87, 92, 88, 85, 90, 86,
+  82, 87, 83, 83, 81, 81, 84, 86, 86, 85, 87, 84, 84, 87, 88, 87,
+  88, 93, 91, 93, 92, 92, 90, 89, 90, 91, 91, 90, 90, 90, 90, 91,
+  92, 92, 92, 93, 94, 95, 95, 98, 101, 104, 95, 97, 97, 95, 92, 92,
+  93, 96, 95, 97, 98, 98, 97, 97, 96, 96, 101, 94, 100, 94, 93, 89,
+  90, 24, 14, 46, 68, 79, 94, 102, 103, 106, 105, 94, 89, 97, 101, 98,
+  97, 100, 102, 101, 101, 104, 105, 102, 102, 106, 105, 105, 105, 105, 105, 105,
+  105, 105, 100, 104, 105, 103, 104, 107, 107, 103, 106, 105, 104, 103, 103, 103,
+  103, 104, 107, 107, 106, 58, 58, 60, 60, 60, 61, 61, 61, 62, 62, 63,
+  63, 63, 64, 66, 66, 64, 64, 65, 65, 65, 66, 66, 66, 67, 67, 67,
+  68, 68, 69, 69, 70, 72, 71, 69, 68, 69, 71, 73, 75, 70, 72, 72,
+  72, 71, 70, 72, 73, 72, 73, 73, 74, 74, 75, 75, 75, 76, 76, 76,
+  76, 76, 76, 76, 75, 73, 79, 76, 73, 77, 74, 71, 79, 76, 77, 78,
+  81, 82, 80, 79, 81, 90, 90, 88, 85, 84, 86, 87, 88, 85, 88, 84,
+  82, 87, 84, 79, 83, 81, 81, 81, 84, 86, 85, 81, 80, 84, 80, 78,
+  81, 81, 78, 77, 81, 81, 81, 79, 77, 74, 75, 79, 82, 77, 79, 79,
+  82, 85, 87, 88, 90, 89, 91, 92, 92, 92, 93, 97, 100, 95, 96, 97,
+  96, 94, 92, 91, 94, 96, 97, 97, 98, 98, 98, 97, 96, 98, 91, 99,
+  94, 94, 90, 90, 25, 15, 47, 69, 80, 95, 102, 103, 106, 105, 94, 89,
+  96, 101, 99, 97, 100, 102, 101, 101, 104, 105, 102, 102, 106, 105, 105, 105,
+  105, 105, 105, 105, 105, 100, 104, 105, 103, 104, 107, 107, 103, 106, 105, 104,
+  103, 103, 103, 103, 104, 105, 105, 105, 59, 59, 60, 60, 61, 61, 61, 62,
+  62, 62, 62, 62, 63, 64, 66, 66, 65, 65, 65, 65, 66, 66, 66, 67,
+  67, 67, 67, 68, 68, 69, 69, 70, 71, 71, 70, 69, 70, 71, 73, 74,
+  70, 72, 72, 72, 71, 71, 72, 75, 73, 73, 73, 74, 74, 75, 75, 75,
+  75, 75, 76, 76, 76, 76, 77, 76, 74, 81, 77, 74, 78, 75, 72, 79,
+  80, 78, 78, 82, 82, 79, 78, 82, 89, 89, 87, 86, 85, 84, 85, 85,
+  82, 85, 79, 76, 83, 82, 76, 78, 73, 69, 71, 76, 76, 72, 69, 67,
+  69, 64, 62, 63, 60, 55, 54, 57, 52, 53, 51, 48, 44, 45, 49, 55,
+  48, 50, 54, 59, 64, 68, 70, 72, 85, 88, 91, 91, 90, 91, 93, 96,
+  94, 96, 97, 97, 94, 93, 92, 94, 96, 96, 96, 97, 99, 99, 98, 96,
+  96, 90, 98, 94, 94, 89, 89, 24, 16, 48, 70, 80, 95, 102, 103, 106,
+  105, 94, 89, 97, 102, 100, 98, 102, 102, 101, 101, 104, 105, 102, 102, 106,
+  106, 105, 104, 104, 106, 106, 105, 104, 101, 105, 105, 103, 103, 106, 106, 102,
+  106, 105, 104, 103, 103, 103, 103, 104, 105, 104, 104, 59, 59, 60, 61, 61,
+  61, 62, 62, 63, 63, 64, 64, 64, 65, 67, 68, 65, 65, 65, 66, 66,
+  66, 67, 67, 67, 67, 67, 68, 68, 69, 69, 70, 70, 70, 70, 71, 71,
+  72, 71, 71, 71, 72, 74, 73, 72, 72, 73, 75, 73, 73, 73, 74, 74,
+  75, 75, 75, 75, 75, 75, 76, 76, 77, 77, 77, 75, 83, 79, 76, 80,
+  77, 74, 81, 83, 78, 78, 81, 81, 78, 78, 84, 84, 85, 84, 83, 83,
+  81, 79, 78, 78, 79, 70, 65, 71, 67, 59, 59, 40, 33, 32, 37, 37,
+  32, 28, 30, 33, 28, 26, 28, 25, 22, 20, 23, 22, 25, 28, 27, 23,
+  21, 24, 27, 22, 26, 31, 35, 39, 40, 40, 41, 64, 71, 77, 83, 86,
+  89, 93, 96, 93, 97, 98, 99, 97, 94, 94, 95, 95, 95, 94, 96, 99,
+  99, 98, 95, 96, 90, 98, 93, 93, 87, 86, 20, 17, 48, 70, 81, 95,
+  103, 102, 106, 105, 95, 90, 98, 103, 101, 100, 103, 102, 101, 101, 104, 105,
+  102, 102, 106, 107, 105, 103, 104, 106, 107, 105, 103, 102, 106, 106, 103, 103,
+  105, 105, 101, 106, 105, 104, 103, 103, 103, 103, 104, 106, 105, 104, 59, 59,
+  60, 61, 61, 62, 62, 62, 65, 65, 65, 65, 65, 66, 68, 69, 65, 65,
+  65, 66, 66, 67, 67, 67, 67, 67, 67, 68, 68, 69, 69, 69, 68, 70,
+  71, 72, 72, 72, 71, 70, 71, 72, 74, 74, 72, 72, 74, 75, 73, 73,
+  73, 74, 74, 75, 75, 75, 75, 75, 75, 76, 76, 77, 77, 78, 77, 85,
+  82, 78, 82, 79, 76, 82, 86, 80, 78, 82, 81, 78, 79, 85, 79, 79,
+  78, 78, 77, 75, 73, 71, 66, 66, 54, 47, 48, 42, 32, 28, 30, 19,
+  16, 20, 19, 14, 13, 16, 23, 19, 18, 22, 23, 20, 22, 24, 13, 18,
+  24, 25, 21, 17, 17, 19, 18, 20, 24, 25, 26, 23, 19, 19, 33, 43,
+  54, 64, 73, 80, 86, 91, 90, 95, 98, 99, 97, 96, 96, 97, 96, 94,
+  93, 95, 98, 99, 97, 94, 98, 91, 99, 93, 91, 85, 83, 17, 17, 49,
+  70, 81, 95, 103, 102, 106, 106, 95, 90, 98, 104, 102, 101, 104, 102, 101,
+  101, 104, 105, 102, 102, 106, 107, 105, 103, 104, 106, 107, 105, 103, 103, 107,
+  107, 104, 103, 105, 104, 100, 106, 105, 104, 103, 103, 103, 103, 104, 108, 107,
+  105, 60, 62, 64, 63, 61, 60, 61, 63, 61, 62, 65, 67, 67, 67, 67,
+  66, 64, 63, 61, 61, 62, 64, 67, 69, 70, 69, 68, 66, 66, 67, 68,
+  69, 73, 71, 69, 70, 74, 75, 73, 71, 71, 72, 75, 75, 73, 73, 75,
+  76, 76, 77, 77, 78, 78, 77, 77, 76, 72, 75, 78, 78, 75, 74, 75,
+  79, 84, 84, 84, 83, 83, 83, 84, 84, 77, 80, 82, 81, 76, 74, 75,
+  75, 70, 64, 67, 67, 56, 54, 56, 49, 33, 31, 23, 21, 25, 19, 15,
+  21, 19, 12, 16, 16, 11, 17, 21, 10, 25, 21, 19, 21, 19, 15, 15,
+  17, 8, 18, 16, 23, 16, 6, 22, 27, 28, 22, 28, 10, 25, 14, 20,
+  11, 19, 29, 32, 30, 42, 67, 86, 91, 90, 99, 96, 93, 97, 97, 97,
+  104, 96, 95, 96, 97, 97, 98, 99, 99, 99, 93, 99, 91, 92, 91, 90,
+  21, 16, 54, 67, 84, 99, 99, 107, 104, 107, 90, 89, 101, 101, 102, 105,
+  102, 101, 105, 98, 107, 107, 98, 105, 102, 104, 104, 105, 105, 105, 104, 103,
+  103, 104, 105, 105, 106, 106, 105, 105, 104, 106, 105, 105, 104, 104, 105, 105,
+  106, 101, 103, 104, 57, 59, 61, 60, 58, 58, 59, 60, 63, 64, 65, 65,
+  65, 64, 65, 64, 66, 65, 64, 64, 65, 67, 69, 70, 69, 68, 68, 67,
+  67, 68, 68, 69, 73, 71, 69, 71, 73, 75, 73, 71, 71, 72, 75, 75,
+  73, 73, 75, 76, 76, 76, 77, 77, 77, 77, 76, 76, 78, 80, 81, 80,
+  77, 76, 77, 80, 82, 84, 83, 82, 82, 81, 80, 79, 75, 76, 79, 79,
+  78, 76, 74, 71, 65, 50, 44, 39, 26, 26, 29, 22, 18, 21, 19, 19,
+  24, 19, 17, 26, 18, 14, 17, 17, 11, 17, 19, 10, 27, 22, 21, 23,
+  21, 18, 18, 20, 10, 15, 6, 15, 14, 6, 18, 18, 13, 11, 19, 5,
+  18, 12, 19, 14, 16, 19, 21, 25, 31, 40, 58, 74, 92, 96, 92, 92,
+  103, 105, 100, 102, 99, 97, 97, 97, 97, 97, 97, 97, 100, 95, 101, 93,
+  92, 89, 87, 17, 17, 54, 68, 84, 99, 99, 107, 104, 107, 90, 90, 101,
+  101, 102, 105, 102, 101, 105, 98, 107, 107, 98, 105, 102, 103, 104, 104, 105,
+  105, 104, 104, 103, 104, 105, 105, 106, 106, 105, 105, 104, 106, 105, 105, 104,
+  104, 105, 105, 106, 102, 104, 105, 57, 58, 60, 60, 58, 58, 59, 61, 65,
+  64, 64, 63, 62, 62, 63, 63, 65, 65, 65, 66, 67, 68, 68, 69, 67,
+  68, 68, 69, 69, 68, 68, 68, 71, 70, 69, 70, 72, 73, 73, 72, 72,
+  73, 75, 75, 73, 73, 75, 76, 75, 75, 76, 76, 76, 76, 75, 75, 81,
+  81, 81, 80, 77, 77, 78, 80, 79, 81, 82, 82, 81, 80, 78, 77, 79,
+  76, 73, 71, 67, 62, 55, 46, 44, 27, 22, 21, 13, 17, 21, 14, 7,
+  14, 14, 17, 22, 16, 15, 26, 18, 15, 19, 18, 12, 17, 20, 11, 21,
+  16, 16, 18, 18, 14, 15, 18, 16, 13, 0, 10, 13, 7, 15, 12, 6,
+  8, 15, 5, 14, 11, 19, 16, 18, 13, 14, 23, 22, 19, 31, 52, 76,
+  87, 90, 92, 101, 101, 98, 105, 101, 99, 99, 98, 97, 96, 96, 95, 100,
+  96, 103, 95, 93, 89, 84, 12, 18, 55, 68, 84, 98, 99, 107, 104, 106,
+  91, 91, 102, 101, 101, 104, 101, 101, 105, 98, 107, 107, 98, 105, 102, 103,
+  103, 104, 105, 105, 104, 104, 103, 104, 105, 105, 106, 106, 105, 105, 104, 106,
+  105, 105, 104, 104, 105, 105, 106, 103, 105, 106, 60, 61, 64, 63, 62, 62,
+  63, 65, 64, 63, 62, 61, 61, 62, 64, 65, 62, 63, 64, 65, 66, 66,
+  65, 65, 66, 67, 68, 70, 70, 69, 68, 67, 70, 70, 70, 71, 71, 72,
+  73, 73, 72, 73, 75, 75, 73, 73, 75, 76, 74, 75, 75, 76, 76, 75,
+  75, 74, 78, 78, 77, 76, 76, 76, 77, 78, 79, 78, 79, 80, 78, 76,
+  73, 72, 69, 62, 54, 49, 45, 40, 34, 24, 22, 10, 13, 19, 19, 22,
+  21, 10, 9, 11, 7, 8, 15, 11, 6, 16, 15, 14, 18, 17, 9, 12,
+  17, 9, 12, 9, 7, 10, 9, 7, 8, 11, 15, 13, 0, 7, 11, 4,
+  13, 8, 8, 12, 15, 9, 9, 10, 15, 14, 20, 14, 14, 19, 19, 18,
+  23, 33, 43, 67, 84, 88, 91, 88, 92, 108, 99, 99, 98, 98, 98, 97,
+  97, 97, 98, 95, 103, 96, 95, 89, 83, 10, 19, 56, 68, 84, 98, 99,
+  107, 105, 106, 91, 92, 103, 101, 100, 103, 101, 101, 105, 98, 107, 107, 98,
+  105, 102, 102, 103, 104, 105, 105, 105, 104, 104, 104, 105, 105, 106, 106, 105,
+  105, 104, 106, 105, 105, 104, 104, 105, 105, 106, 104, 106, 106, 60, 62, 65,
+  64, 63, 63, 65, 66, 61, 60, 61, 61, 62, 64, 67, 68, 63, 64, 65,
+  66, 66, 66, 65, 65, 65, 66, 68, 69, 70, 69, 68, 68, 69, 69, 70,
+  70, 71, 71, 73, 73, 72, 73, 75, 75, 73, 73, 76, 76, 74, 75, 75,
+  76, 76, 75, 75, 74, 76, 76, 75, 76, 77, 78, 78, 76, 77, 74, 72,
+  68, 65, 60, 56, 53, 43, 35, 27, 24, 25, 26, 25, 21, 22, 11, 13,
+  18, 15, 17, 14, 2, 15, 10, 0, 1, 11, 10, 5, 11, 14, 14, 19,
+  17, 8, 11, 16, 10, 12, 9, 9, 11, 12, 9, 10, 13, 12, 14, 3,
+  10, 9, 0, 11, 10, 11, 18, 17, 15, 10, 14, 15, 16, 17, 19, 16,
+  13, 18, 27, 27, 21, 22, 45, 61, 73, 84, 87, 90, 102, 96, 97, 98,
+  98, 98, 99, 99, 99, 96, 93, 102, 96, 95, 89, 83, 10, 21, 57, 69,
+  84, 98, 99, 108, 105, 105, 92, 94, 104, 101, 99, 102, 101, 101, 105, 98,
+  107, 107, 98, 105, 102, 102, 103, 104, 105, 105, 105, 105, 105, 104, 105, 105,
+  106, 106, 105, 105, 104, 106, 105, 105, 104, 104, 105, 105, 106, 104, 106, 106,
+  58, 59, 62, 62, 61, 61, 63, 65, 59, 59, 61, 62, 64, 66, 68, 69,
+  68, 68, 68, 68, 68, 68, 68, 68, 65, 66, 67, 68, 69, 69, 69, 69,
+  68, 69, 71, 71, 70, 70, 73, 74, 72, 73, 75, 75, 73, 73, 76, 77,
+  75, 75, 76, 76, 76, 76, 75, 75, 77, 77, 77, 78, 80, 80, 79, 74,
+  69, 63, 58, 52, 45, 39, 34, 31, 29, 24, 17, 13, 13, 16, 16, 16,
+  27, 15, 14, 14, 11, 15, 19, 12, 17, 12, 0, 0, 12, 14, 9, 17,
+  13, 15, 21, 19, 9, 13, 19, 14, 15, 12, 11, 13, 13, 10, 11, 13,
+  10, 16, 9, 16, 11, 0, 12, 13, 11, 18, 14, 19, 10, 22, 19, 20,
+  14, 20, 18, 12, 17, 29, 27, 17, 23, 30, 33, 49, 79, 92, 89, 91,
+  94, 97, 97, 98, 99, 100, 100, 101, 96, 93, 102, 95, 94, 89, 83, 10,
+  22, 58, 69, 84, 97, 99, 108, 106, 104, 92, 95, 106, 101, 98, 101, 100,
+  101, 105, 98, 107, 107, 98, 105, 102, 101, 102, 103, 104, 105, 105, 105, 105,
+  104, 105, 105, 106, 106, 105, 105, 104, 106, 105, 105, 104, 104, 105, 105, 106,
+  103, 105, 106, 55, 57, 60, 60, 59, 60, 61, 63, 60, 61, 63, 65, 66,
+  66, 67, 67, 70, 69, 67, 67, 66, 67, 68, 69, 66, 66, 66, 67, 68,
+  69, 70, 71, 67, 70, 71, 71, 70, 70, 72, 75, 72, 73, 75, 75, 73,
+  73, 76, 77, 76, 76, 77, 77, 77, 77, 76, 76, 78, 77, 77, 79, 80,
+  79, 74, 66, 52, 45, 38, 32, 26, 23, 20, 18, 20, 19, 16, 12, 9,
+  9, 10, 10, 20, 14, 16, 18, 14, 20, 27, 23, 13, 14, 9, 8, 15,
+  12, 11, 22, 11, 13, 20, 18, 8, 12, 19, 14, 16, 13, 12, 13, 13,
+  10, 11, 14, 12, 18, 13, 22, 17, 6, 15, 15, 12, 18, 10, 18, 10,
+  25, 18, 19, 17, 21, 23, 20, 19, 19, 21, 24, 26, 26, 21, 32, 62,
+  78, 82, 89, 95, 99, 99, 99, 99, 99, 99, 99, 99, 95, 103, 94, 93,
+  87, 81, 8, 23, 59, 70, 84, 97, 99, 108, 106, 103, 92, 96, 106, 101,
+  98, 101, 100, 101, 105, 98, 107, 107, 98, 105, 102, 101, 102, 103, 104, 105,
+  106, 106, 105, 104, 105, 105, 106, 106, 105, 105, 104, 106, 105, 105, 104, 104,
+  105, 105, 106, 102, 103, 104, 56, 58, 60, 60, 60, 60, 62, 64, 62, 64,
+  65, 67, 67, 67, 66, 65, 69, 67, 65, 63, 63, 65, 67, 68, 67, 67,
+  66, 65, 66, 68, 70, 71, 68, 70, 72, 71, 69, 69, 71, 74, 71, 72,
+  75, 75, 73, 74, 76, 77, 75, 75, 76, 77, 78, 77, 78, 77, 78, 78,
+  75, 76, 75, 69, 62, 52, 33, 26, 22, 18, 15, 17, 17, 17, 3, 7,
+  11, 14, 12, 12, 14, 17, 11, 11, 19, 23, 16, 16, 17, 11, 7, 15,
+  15, 13, 13, 5, 5, 20, 10, 10, 18, 16, 7, 11, 19, 14, 23, 19,
+  17, 19, 18, 14, 14, 17, 15, 20, 14, 25, 23, 13, 19, 16, 15, 19,
+  7, 17, 8, 26, 14, 16, 20, 20, 27, 30, 21, 9, 15, 31, 21, 28,
+  24, 23, 36, 50, 66, 90, 95, 99, 99, 98, 99, 98, 97, 97, 103, 98,
+  104, 94, 90, 84, 78, 5, 24, 60, 70, 84, 97, 99, 107, 105, 103, 92,
+  97, 107, 101, 97, 100, 100, 101, 105, 98, 107, 107, 98, 105, 102, 101, 102,
+  102, 103, 104, 105, 105, 105, 104, 105, 105, 106, 106, 105, 105, 104, 106, 105,
+  105, 104, 104, 105, 105, 106, 101, 103, 103, 61, 61, 61, 61, 62, 63, 64,
+  65, 65, 65, 65, 65, 64, 66, 70, 74, 68, 68, 68, 69, 69, 70, 70,
+  69, 65, 66, 67, 67, 68, 69, 69, 70, 72, 72, 73, 72, 73, 71, 70,
+  70, 75, 74, 73, 73, 73, 75, 76, 76, 69, 70, 71, 73, 75, 77, 78,
+  78, 88, 74, 74, 81, 68, 51, 38, 23, 22, 15, 12, 13, 14, 12, 8,
+  3, 5, 7, 13, 15, 13, 17, 22, 26, 16, 14, 18, 38, 10, 21, 21,
+  21, 12, 22, 8, 13, 17, 7, 14, 19, 10, 22, 25, 15, 12, 19, 20,
+  12, 26, 21, 24, 23, 13, 12, 16, 11, 19, 26, 22, 19, 23, 19, 15,
+  22, 25, 21, 17, 16, 18, 22, 22, 22, 10, 19, 23, 17, 13, 14, 16,
+  16, 13, 18, 24, 25, 22, 27, 47, 73, 95, 90, 86, 94, 102, 102, 99,
+  98, 101, 98, 96, 96, 83, 89, 75, 6, 27, 62, 71, 84, 98, 99, 106,
+  101, 103, 83, 96, 102, 102, 107, 100, 104, 101, 98, 105, 107, 99, 101, 106,
+  102, 104, 104, 105, 105, 105, 104, 103, 103, 103, 104, 104, 104, 104, 103, 102,
+  101, 105, 105, 105, 104, 104, 103, 103, 103, 101, 101, 102, 61, 61, 60, 59,
+  59, 59, 61, 61, 65, 65, 67, 66, 65, 66, 70, 72, 68, 69, 69, 70,
+  69, 70, 70, 70, 66, 66, 67, 68, 68, 68, 69, 69, 72, 72, 72, 72,
+  71, 70, 70, 71, 73, 74, 74, 74, 74, 77, 77, 76, 74, 73, 75, 75,
+  77, 79, 80, 81, 81, 75, 76, 72, 52, 36, 27, 16, 15, 11, 9, 9,
+  12, 12, 11, 8, 10, 10, 12, 15, 18, 20, 21, 19, 18, 12, 20, 22,
+  17, 13, 23, 25, 14, 23, 10, 16, 19, 6, 11, 16, 9, 17, 21, 18,
+  19, 26, 27, 23, 21, 17, 21, 22, 13, 15, 20, 17, 21, 28, 24, 21,
+  25, 21, 17, 23, 21, 17, 13, 15, 18, 20, 16, 12, 21, 24, 22, 19,
+  18, 21, 18, 12, 12, 16, 21, 23, 20, 21, 32, 54, 80, 93, 97, 93,
+  96, 103, 105, 101, 101, 100, 97, 99, 86, 89, 74, 5, 27, 62, 70, 85,
+  98, 100, 106, 102, 104, 85, 97, 103, 102, 106, 98, 101, 101, 99, 105, 107,
+  99, 101, 106, 102, 101, 102, 102, 103, 103, 102, 101, 101, 104, 105, 105, 105,
+  105, 104, 103, 102, 105, 105, 105, 104, 104, 103, 103, 103, 101, 101, 102, 63,
+  62, 61, 60, 59, 59, 60, 60, 65, 66, 68, 68, 66, 66, 68, 70, 68,
+  69, 68, 69, 69, 70, 70, 70, 67, 67, 67, 68, 68, 68, 69, 69, 72,
+  72, 70, 69, 69, 70, 72, 73, 72, 74, 75, 77, 77, 78, 77, 76, 78,
+  77, 76, 76, 77, 78, 79, 81, 77, 75, 76, 61, 34, 25, 23, 15, 14,
+  9, 8, 9, 11, 14, 15, 15, 15, 13, 12, 15, 20, 21, 16, 12, 17,
+  13, 20, 6, 25, 9, 23, 30, 13, 24, 12, 19, 22, 10, 13, 17, 10,
+  11, 14, 18, 24, 28, 28, 27, 21, 17, 20, 22, 15, 17, 22, 19, 21,
+  28, 24, 20, 24, 20, 16, 23, 17, 15, 13, 16, 20, 19, 14, 8, 29,
+  26, 20, 18, 22, 24, 17, 8, 14, 15, 19, 22, 21, 19, 23, 36, 56,
+  85, 96, 88, 85, 96, 102, 97, 101, 100, 99, 101, 88, 92, 75, 4, 26,
+  62, 70, 85, 99, 101, 107, 103, 105, 86, 98, 103, 102, 105, 97, 100, 102,
+  99, 105, 108, 101, 102, 106, 102, 101, 101, 102, 103, 103, 102, 102, 101, 105,
+  106, 106, 106, 106, 105, 104, 103, 105, 105, 105, 104, 104, 103, 103, 103, 101,
+  101, 102, 64, 64, 63, 62, 62, 62, 64, 64, 64, 66, 69, 69, 67, 66,
+  67, 68, 68, 69, 68, 69, 69, 70, 70, 70, 67, 68, 68, 69, 68, 69,
+  69, 69, 72, 72, 69, 69, 68, 70, 72, 75, 72, 73, 76, 78, 79, 79,
+  78, 76, 77, 76, 74, 74, 74, 76, 78, 79, 78, 75, 69, 46, 20, 19,
+  23, 14, 12, 9, 8, 8, 11, 13, 16, 17, 14, 13, 13, 15, 19, 17,
+  13, 8, 15, 18, 15, 5, 24, 12, 15, 30, 12, 23, 13, 21, 26, 13,
+  17, 20, 16, 11, 10, 18, 23, 23, 21, 23, 24, 19, 22, 22, 14, 16,
+  21, 17, 18, 25, 21, 17, 20, 16, 12, 19, 15, 16, 18, 19, 20, 19,
+  18, 18, 27, 22, 17, 16, 19, 21, 15, 8, 17, 15, 16, 21, 22, 19,
+  19, 25, 37, 66, 84, 84, 84, 91, 98, 97, 101, 101, 101, 103, 90, 92,
+  75, 3, 26, 62, 70, 86, 99, 101, 108, 104, 105, 85, 98, 103, 102, 105,
+  98, 101, 103, 100, 106, 108, 101, 102, 106, 101, 103, 103, 104, 105, 105, 105,
+  104, 104, 105, 105, 106, 106, 105, 104, 103, 103, 105, 105, 105, 104, 104, 103,
+  103, 103, 102, 102, 102, 62, 62, 62, 62, 63, 64, 67, 68, 64, 66, 69,
+  69, 67, 66, 67, 68, 68, 68, 68, 69, 69, 70, 70, 70, 68, 69, 69,
+  69, 69, 70, 69, 69, 72, 73, 70, 69, 70, 72, 74, 76, 72, 74, 76,
+  79, 79, 80, 79, 77, 75, 75, 74, 74, 74, 76, 77, 77, 78, 66, 52,
+  30, 10, 16, 20, 12, 12, 11, 10, 8, 9, 10, 13, 15, 7, 11, 15,
+  16, 15, 12, 11, 12, 13, 25, 11, 15, 16, 18, 6, 24, 15, 27, 15,
+  23, 26, 14, 17, 20, 20, 13, 12, 17, 21, 20, 18, 19, 24, 18, 21,
+  21, 13, 14, 21, 19, 16, 23, 19, 16, 19, 15, 11, 17, 10, 16, 21,
+  20, 16, 16, 21, 27, 21, 20, 18, 18, 17, 15, 14, 16, 21, 16, 14,
+  19, 22, 21, 20, 23, 30, 45, 63, 81, 90, 91, 95, 99, 100, 101, 101,
+  104, 91, 93, 75, 2, 28, 63, 71, 86, 100, 101, 108, 104, 102, 83, 96,
+  102, 102, 106, 100, 103, 104, 101, 107, 109, 101, 102, 106, 101, 102, 103, 104,
+  105, 105, 105, 105, 105, 104, 104, 104, 104, 104, 103, 102, 101, 105, 105, 105,
+  104, 104, 103, 103, 103, 102, 102, 103, 58, 58, 59, 60, 61, 63, 66, 67,
+  65, 66, 68, 68, 66, 66, 68, 70, 68, 68, 68, 69, 69, 70, 70, 70,
+  69, 69, 69, 70, 70, 70, 69, 70, 74, 73, 71, 72, 73, 75, 75, 77,
+  74, 76, 77, 78, 79, 80, 79, 79, 77, 76, 77, 77, 77, 76, 74, 74,
+  68, 49, 34, 19, 8, 12, 15, 7, 11, 11, 10, 10, 9, 9, 11, 13,
+  6, 11, 16, 17, 13, 11, 12, 15, 14, 21, 8, 23, 12, 20, 4, 17,
+  21, 30, 18, 23, 26, 12, 15, 18, 18, 17, 16, 17, 19, 21, 21, 20,
+  20, 15, 18, 19, 12, 16, 23, 22, 16, 23, 20, 16, 20, 17, 13, 20,
+  7, 14, 20, 18, 13, 13, 20, 28, 18, 20, 22, 23, 18, 13, 17, 25,
+  23, 18, 15, 18, 22, 21, 21, 25, 24, 25, 39, 63, 81, 86, 90, 96,
+  99, 100, 100, 102, 90, 93, 75, 4, 30, 64, 72, 87, 100, 101, 107, 103,
+  101, 83, 96, 102, 103, 107, 101, 104, 105, 102, 107, 109, 102, 102, 106, 101,
+  99, 100, 101, 102, 103, 103, 103, 103, 103, 103, 104, 104, 103, 103, 102, 101,
+  105, 105, 105, 104, 104, 103, 103, 103, 103, 103, 103, 60, 60, 60, 60, 61,
+  63, 65, 66, 65, 65, 67, 66, 65, 66, 70, 72, 68, 68, 68, 69, 69,
+  70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 73, 74, 74, 75, 77,
+  78, 77, 79, 76, 76, 76, 77, 78, 80, 80, 82, 77, 79, 79, 78, 75,
+  71, 66, 63, 53, 33, 24, 20, 12, 10, 10, 6, 9, 11, 13, 13, 11,
+  10, 12, 14, 14, 14, 16, 15, 15, 14, 14, 14, 17, 10, 11, 19, 12,
+  14, 14, 14, 18, 27, 15, 21, 25, 13, 18, 22, 16, 22, 21, 14, 13,
+  19, 21, 17, 20, 14, 18, 18, 10, 14, 22, 20, 14, 21, 18, 15, 20,
+  17, 14, 21, 11, 14, 17, 18, 17, 16, 17, 18, 21, 20, 22, 25, 19,
+  15, 19, 28, 22, 17, 16, 21, 23, 20, 19, 22, 17, 18, 24, 38, 60,
+  78, 88, 91, 98, 99, 98, 100, 87, 90, 75, 5, 32, 66, 74, 87, 100,
+  100, 106, 102, 103, 84, 97, 103, 102, 106, 99, 102, 106, 102, 108, 110, 102,
+  102, 107, 102, 99, 100, 101, 102, 103, 103, 103, 103, 104, 104, 105, 105, 104,
+  103, 103, 102, 105, 105, 105, 104, 104, 103, 103, 103, 103, 103, 103, 64, 64,
+  63, 63, 63, 64, 66, 67, 65, 65, 66, 65, 64, 66, 71, 74, 68, 68,
+  68, 69, 69, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 70, 73, 75,
+  75, 77, 79, 79, 79, 79, 77, 77, 76, 76, 77, 79, 80, 82, 76, 77,
+  76, 75, 70, 64, 57, 52, 41, 23, 21, 26, 18, 9, 8, 7, 5, 10,
+  14, 15, 12, 12, 15, 17, 21, 18, 14, 15, 18, 18, 16, 12, 20, 0,
+  16, 13, 16, 8, 25, 14, 12, 22, 11, 19, 25, 16, 25, 30, 13, 24,
+  23, 11, 6, 14, 17, 11, 24, 18, 19, 18, 8, 11, 18, 15, 11, 18,
+  14, 13, 17, 16, 13, 21, 16, 16, 16, 21, 23, 23, 15, 10, 23, 19,
+  21, 23, 19, 14, 17, 26, 21, 19, 19, 23, 22, 19, 16, 17, 17, 24,
+  23, 24, 43, 75, 91, 88, 95, 97, 95, 98, 85, 90, 75, 6, 33, 67,
+  74, 88, 100, 100, 105, 101, 105, 86, 98, 103, 102, 105, 97, 100, 106, 103,
+  108, 110, 102, 102, 107, 102, 101, 102, 103, 104, 105, 106, 106, 106, 105, 106,
+  106, 106, 106, 105, 104, 103, 105, 105, 105, 104, 104, 103, 103, 103, 103, 103,
+  103, 58, 63, 64, 61, 60, 63, 65, 64, 66, 66, 67, 68, 68, 69, 70,
+  70, 71, 70, 69, 68, 68, 68, 68, 68, 64, 69, 72, 72, 73, 75, 74,
+  70, 74, 72, 72, 75, 77, 74, 75, 79, 77, 75, 74, 74, 75, 76, 75,
+  74, 79, 80, 75, 65, 65, 63, 48, 28, 26, 23, 19, 15, 11, 9, 9,
+  8, 12, 10, 8, 8, 10, 12, 12, 12, 15, 21, 22, 16, 13, 14, 13,
+  9, 25, 16, 10, 12, 16, 16, 14, 14, 16, 16, 17, 19, 19, 18, 22,
+  28, 26, 20, 24, 24, 13, 11, 16, 14, 21, 17, 17, 20, 17, 13, 15,
+  21, 15, 20, 20, 14, 11, 14, 20, 22, 14, 19, 21, 20, 21, 24, 23,
+  20, 24, 27, 15, 24, 28, 25, 30, 21, 15, 24, 22, 18, 19, 15, 12,
+  19, 14, 14, 14, 19, 32, 50, 71, 85, 95, 92, 90, 108, 84, 91, 64,
+  6, 34, 65, 73, 89, 101, 98, 104, 102, 102, 88, 101, 103, 101, 107, 101,
+  102, 104, 106, 108, 107, 104, 102, 102, 103, 107, 107, 105, 104, 104, 103, 102,
+  102, 105, 105, 105, 104, 104, 103, 103, 103, 104, 104, 104, 104, 104, 104, 104,
+  104, 106, 105, 105, 58, 63, 64, 61, 60, 63, 65, 64, 66, 66, 67, 68,
+  68, 69, 70, 70, 68, 68, 68, 68, 68, 69, 70, 70, 66, 70, 72, 71,
+  71, 74, 74, 70, 74, 72, 72, 75, 77, 74, 76, 79, 74, 75, 76, 77,
+  79, 78, 77, 76, 71, 73, 73, 66, 58, 45, 30, 15, 22, 19, 16, 12,
+  10, 8, 5, 6, 10, 10, 9, 9, 9, 10, 12, 13, 6, 13, 15, 13,
+  12, 16, 16, 13, 20, 13, 9, 13, 15, 13, 12, 14, 21, 18, 17, 21,
+  21, 20, 22, 28, 25, 21, 27, 29, 19, 16, 17, 13, 18, 16, 17, 21,
+  20, 15, 15, 20, 15, 18, 18, 16, 18, 22, 22, 19, 19, 22, 23, 21,
+  21, 24, 23, 20, 26, 28, 16, 23, 27, 23, 29, 19, 26, 30, 24, 21,
+  26, 22, 17, 20, 6, 10, 15, 18, 24, 36, 54, 69, 94, 92, 89, 104,
+  84, 97, 67, 9, 34, 65, 73, 90, 102, 99, 103, 102, 101, 87, 101, 103,
+  101, 107, 101, 103, 103, 105, 107, 107, 104, 103, 103, 104, 105, 105, 104, 104,
+  104, 104, 104, 104, 105, 105, 105, 104, 104, 103, 103, 103, 104, 104, 104, 104,
+  104, 104, 104, 104, 105, 105, 104, 59, 63, 65, 61, 60, 63, 66, 64, 66,
+  66, 67, 68, 68, 69, 70, 70, 66, 66, 66, 67, 68, 69, 71, 72, 68,
+  71, 71, 69, 70, 74, 74, 71, 73, 71, 71, 76, 77, 74, 75, 78, 72,
+  75, 78, 79, 77, 76, 75, 74, 70, 66, 64, 57, 41, 23, 13, 10, 18,
+  16, 13, 11, 9, 7, 5, 4, 7, 10, 12, 11, 8, 8, 13, 16, 4,
+  10, 14, 14, 14, 17, 19, 17, 15, 11, 11, 15, 15, 12, 12, 16, 21,
+  16, 14, 17, 19, 18, 17, 21, 22, 21, 30, 34, 25, 22, 21, 12, 13,
+  15, 17, 22, 21, 17, 15, 18, 15, 16, 15, 16, 22, 27, 24, 17, 21,
+  24, 23, 19, 19, 22, 23, 20, 25, 28, 16, 23, 25, 20, 25, 16, 26,
+  28, 19, 17, 25, 23, 14, 15, 3, 11, 17, 20, 19, 24, 39, 52, 83,
+  87, 87, 96, 82, 101, 64, 8, 34, 66, 74, 91, 103, 99, 103, 101, 100,
+  85, 100, 102, 101, 107, 102, 104, 101, 104, 106, 106, 105, 104, 104, 105, 103,
+  103, 104, 105, 105, 106, 106, 106, 105, 105, 104, 104, 104, 104, 103, 103, 104,
+  104, 104, 104, 104, 104, 104, 104, 103, 103, 104, 59, 64, 65, 62, 61, 63,
+  66, 64, 66, 66, 67, 68, 68, 69, 70, 70, 67, 66, 66, 67, 68, 69,
+  70, 71, 69, 72, 71, 68, 69, 73, 74, 72, 73, 70, 71, 76, 76, 75,
+  75, 78, 74, 76, 77, 76, 73, 71, 70, 70, 78, 62, 46, 37, 22, 9,
+  8, 17, 14, 13, 12, 10, 9, 7, 6, 5, 5, 10, 14, 13, 8, 8,
+  13, 18, 12, 15, 18, 18, 17, 18, 17, 17, 14, 14, 15, 19, 18, 15,
+  15, 20, 23, 18, 15, 17, 18, 17, 16, 18, 20, 19, 28, 31, 25, 27,
+  26, 17, 14, 15, 18, 19, 19, 18, 18, 20, 17, 19, 19, 18, 21, 26,
+  24, 20, 21, 23, 22, 18, 18, 22, 23, 21, 22, 26, 16, 22, 24, 19,
+  26, 18, 20, 22, 15, 13, 19, 18, 13, 15, 10, 14, 18, 20, 19, 22,
+  30, 40, 62, 76, 86, 90, 77, 99, 55, 7, 34, 66, 75, 92, 104, 99,
+  103, 100, 98, 84, 99, 102, 101, 108, 102, 104, 100, 104, 106, 106, 105, 105,
+  105, 106, 104, 104, 104, 105, 105, 106, 105, 105, 104, 104, 104, 104, 104, 104,
+  104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 102, 103, 103, 60, 64, 66,
+  62, 61, 64, 66, 65, 66, 66, 67, 68, 68, 69, 70, 70, 69, 68, 68,
+  67, 67, 68, 68, 69, 70, 72, 73, 69, 70, 74, 74, 71, 73, 71, 71,
+  76, 76, 74, 75, 78, 76, 76, 74, 74, 71, 70, 71, 71, 74, 53, 33,
+  23, 14, 8, 11, 19, 11, 11, 11, 11, 10, 9, 8, 7, 5, 10, 15,
+  14, 11, 10, 14, 19, 18, 19, 21, 22, 20, 16, 16, 17, 15, 15, 16,
+  21, 19, 15, 16, 21, 26, 21, 18, 20, 20, 18, 17, 20, 18, 18, 24,
+  25, 21, 28, 31, 20, 16, 17, 17, 15, 15, 17, 21, 24, 19, 23, 23,
+  17, 15, 19, 23, 23, 17, 19, 18, 15, 16, 22, 24, 22, 17, 22, 14,
+  22, 24, 19, 28, 21, 19, 25, 21, 17, 20, 18, 17, 25, 18, 16, 14,
+  16, 19, 24, 28, 32, 42, 62, 85, 87, 76, 95, 45, 9, 36, 67, 76,
+  92, 103, 99, 103, 100, 98, 84, 98, 101, 100, 107, 102, 104, 101, 104, 106,
+  106, 105, 105, 106, 107, 106, 106, 106, 105, 105, 104, 104, 104, 104, 104, 104,
+  104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 102, 103, 103,
+  60, 64, 66, 63, 62, 64, 67, 65, 66, 66, 67, 68, 68, 69, 70, 70,
+  70, 69, 68, 67, 67, 67, 67, 68, 69, 72, 73, 71, 71, 74, 74, 70,
+  73, 70, 71, 75, 75, 74, 74, 78, 76, 74, 72, 72, 73, 75, 72, 69,
+  53, 40, 27, 22, 18, 13, 12, 13, 8, 9, 11, 13, 12, 12, 11, 9,
+  8, 11, 15, 16, 15, 14, 17, 19, 17, 17, 19, 22, 20, 16, 16, 19,
+  19, 15, 16, 17, 19, 16, 16, 18, 22, 19, 19, 19, 16, 12, 15, 20,
+  20, 19, 22, 21, 17, 28, 33, 22, 20, 21, 19, 14, 14, 19, 23, 24,
+  21, 25, 25, 17, 13, 15, 20, 23, 14, 18, 19, 16, 18, 22, 24, 22,
+  15, 22, 14, 22, 23, 19, 28, 24, 19, 26, 24, 19, 20, 18, 17, 29,
+  22, 17, 12, 12, 16, 22, 24, 26, 31, 49, 77, 83, 78, 94, 37, 17,
+  38, 69, 76, 91, 102, 98, 104, 102, 98, 84, 98, 101, 100, 106, 101, 103,
+  102, 104, 106, 106, 105, 104, 105, 106, 107, 107, 106, 105, 105, 104, 103, 103,
+  103, 103, 104, 104, 104, 104, 105, 105, 104, 104, 104, 104, 104, 104, 104, 104,
+  103, 103, 104, 60, 65, 66, 63, 62, 65, 67, 66, 66, 66, 67, 68, 68,
+  69, 70, 70, 68, 68, 67, 67, 67, 68, 69, 69, 68, 72, 74, 72, 72,
+  74, 73, 68, 72, 69, 71, 75, 76, 74, 74, 77, 77, 74, 70, 71, 74,
+  71, 62, 52, 30, 30, 27, 20, 14, 12, 11, 8, 5, 8, 11, 14, 14,
+  15, 15, 13, 12, 13, 15, 18, 19, 20, 20, 20, 20, 19, 21, 25, 24,
+  18, 18, 21, 25, 18, 14, 17, 20, 18, 17, 18, 19, 20, 21, 21, 15,
+  11, 15, 24, 23, 23, 24, 21, 16, 28, 31, 17, 20, 24, 22, 17, 15,
+  20, 24, 23, 18, 21, 21, 16, 15, 19, 20, 19, 17, 20, 21, 19, 20,
+  23, 23, 20, 16, 23, 16, 23, 24, 18, 28, 23, 23, 26, 20, 15, 18,
+  16, 13, 23, 21, 19, 16, 15, 16, 18, 20, 23, 28, 35, 61, 72, 77,
+  93, 29, 20, 41, 70, 75, 90, 100, 98, 104, 104, 99, 85, 99, 101, 99,
+  105, 99, 101, 104, 105, 107, 107, 105, 104, 104, 105, 105, 105, 105, 105, 105,
+  105, 105, 105, 103, 103, 103, 104, 104, 105, 105, 105, 104, 104, 104, 104, 104,
+  104, 104, 104, 105, 105, 104, 60, 66, 66, 64, 62, 66, 67, 66, 66, 66,
+  67, 68, 68, 69, 70, 70, 67, 66, 66, 67, 68, 69, 71, 72, 67, 72,
+  75, 73, 73, 75, 73, 67, 72, 70, 71, 76, 78, 76, 77, 81, 79, 74,
+  68, 68, 68, 60, 43, 27, 12, 21, 25, 14, 6, 9, 12, 12, 6, 8,
+  11, 15, 16, 16, 15, 14, 13, 12, 14, 17, 21, 22, 21, 19, 26, 23,
+  25, 29, 26, 19, 18, 22, 32, 21, 15, 18, 21, 21, 21, 20, 25, 28,
+  32, 31, 23, 18, 24, 34, 26, 26, 27, 23, 17, 27, 28, 12, 19, 24,
+  25, 20, 17, 22, 23, 20, 17, 18, 17, 17, 21, 25, 22, 15, 20, 24,
+  25, 22, 22, 25, 22, 18, 19, 26, 18, 24, 24, 18, 27, 22, 30, 29,
+  19, 14, 21, 20, 13, 17, 19, 23, 24, 21, 18, 16, 18, 22, 27, 23,
+  44, 56, 71, 86, 19, 13, 39, 68, 73, 87, 99, 97, 106, 106, 102, 88,
+  101, 102, 99, 105, 97, 99, 104, 106, 108, 107, 105, 102, 102, 103, 103, 103,
+  104, 105, 105, 105, 106, 106, 103, 103, 103, 104, 104, 105, 105, 105, 104, 104,
+  104, 104, 104, 104, 104, 104, 106, 105, 105, 63, 63, 62, 63, 63, 66, 68,
+  69, 70, 66, 64, 68, 69, 67, 65, 68, 67, 73, 69, 67, 73, 71, 66,
+  72, 73, 76, 76, 73, 74, 78, 79, 75, 67, 69, 74, 78, 79, 80, 81,
+  81, 82, 75, 69, 66, 57, 40, 26, 15, 14, 14, 14, 11, 9, 12, 13,
+  14, 16, 12, 16, 16, 11, 16, 20, 12, 11, 22, 20, 17, 22, 26, 24,
+  29, 28, 30, 29, 28, 29, 30, 23, 13, 41, 18, 22, 32, 21, 20, 27,
+  20, 38, 28, 24, 29, 33, 32, 31, 32, 37, 26, 18, 22, 27, 29, 27,
+  26, 33, 29, 23, 21, 22, 24, 23, 23, 23, 26, 26, 23, 20, 18, 22,
+  25, 28, 28, 28, 20, 15, 29, 32, 17, 27, 20, 28, 37, 23, 13, 16,
+  20, 28, 25, 20, 19, 19, 19, 19, 20, 28, 25, 19, 17, 18, 20, 19,
+  18, 32, 25, 28, 39, 48, 51, 31, 0, 41, 68, 82, 85, 96, 101, 101,
+  105, 107, 89, 103, 104, 99, 102, 94, 99, 103, 105, 106, 106, 104, 104, 105,
+  106, 104, 103, 103, 104, 105, 106, 106, 106, 108, 107, 105, 103, 102, 102, 102,
+  103, 105, 105, 105, 105, 105, 105, 105, 105, 107, 107, 106, 67, 66, 66, 65,
+  66, 68, 69, 70, 70, 65, 64, 68, 69, 67, 66, 67, 68, 74, 69, 67,
+  73, 71, 67, 73, 69, 72, 73, 71, 71, 76, 76, 72, 74, 73, 76, 79,
+  80, 83, 83, 83, 76, 74, 69, 55, 33, 16, 16, 23, 18, 15, 12, 10,
+  8, 11, 13, 16, 21, 14, 18, 22, 15, 18, 19, 15, 32, 41, 36, 29,
+  35, 38, 40, 46, 34, 35, 35, 35, 38, 41, 38, 30, 32, 18, 23, 31,
+  27, 34, 43, 38, 31, 32, 39, 50, 53, 49, 47, 50, 49, 47, 45, 46,
+  41, 38, 40, 47, 39, 38, 36, 38, 40, 42, 39, 38, 40, 43, 44, 43,
+  42, 42, 44, 47, 27, 29, 39, 40, 37, 40, 37, 19, 38, 28, 34, 42,
+  33, 28, 32, 34, 27, 25, 22, 22, 23, 22, 19, 18, 16, 18, 20, 24,
+  28, 28, 24, 22, 23, 24, 32, 31, 24, 29, 32, 26, 42, 61, 70, 84,
+  100, 101, 100, 107, 102, 90, 107, 108, 101, 103, 96, 102, 102, 105, 106, 106,
+  104, 104, 105, 106, 103, 103, 103, 104, 105, 106, 106, 107, 108, 107, 105, 104,
+  103, 103, 103, 104, 105, 105, 105, 105, 105, 105, 105, 105, 107, 106, 105, 68,
+  67, 67, 66, 66, 67, 68, 68, 70, 65, 64, 68, 70, 67, 66, 68, 68,
+  73, 69, 67, 74, 72, 68, 73, 68, 72, 73, 71, 71, 75, 75, 72, 78,
+  76, 77, 77, 78, 79, 80, 79, 75, 68, 56, 38, 18, 8, 16, 30, 19,
+  14, 10, 8, 8, 9, 10, 11, 22, 12, 17, 27, 27, 31, 42, 48, 50,
+  67, 72, 72, 77, 73, 64, 63, 66, 67, 67, 67, 70, 74, 71, 64, 73,
+  64, 62, 58, 49, 55, 58, 50, 60, 67, 78, 86, 87, 85, 87, 94, 98,
+  97, 98, 97, 92, 86, 87, 92, 106, 105, 103, 101, 99, 93, 86, 80, 71,
+  73, 74, 73, 71, 70, 72, 72, 66, 59, 62, 63, 58, 61, 64, 55, 51,
+  37, 38, 44, 39, 37, 41, 40, 31, 34, 37, 40, 41, 35, 25, 19, 27,
+  25, 21, 18, 17, 17, 18, 20, 19, 23, 30, 27, 14, 19, 33, 38, 41,
+  53, 59, 75, 95, 98, 97, 106, 96, 87, 107, 108, 101, 104, 99, 103, 103,
+  105, 107, 107, 105, 105, 106, 107, 104, 104, 105, 105, 105, 105, 105, 106, 108,
+  107, 106, 105, 104, 104, 104, 105, 105, 105, 105, 105, 105, 105, 105, 105, 106,
+  106, 105, 66, 65, 65, 65, 64, 64, 65, 65, 70, 65, 64, 68, 70, 68,
+  67, 69, 69, 73, 70, 68, 74, 72, 68, 75, 72, 76, 76, 74, 74, 78,
+  78, 75, 79, 76, 74, 73, 74, 75, 75, 74, 75, 54, 32, 23, 20, 19,
+  20, 22, 18, 13, 10, 10, 11, 11, 9, 11, 22, 11, 19, 36, 45, 60,
+  85, 103, 121, 140, 147, 149, 155, 150, 139, 137, 139, 141, 141, 140, 141, 142,
+  136, 127, 132, 132, 130, 123, 120, 131, 135, 127, 138, 141, 142, 143, 143, 146,
+  155, 164, 169, 165, 161, 165, 166, 162, 156, 155, 157, 158, 159, 161, 160, 159,
+  155, 153, 153, 152, 152, 150, 147, 144, 143, 143, 144, 130, 127, 127, 118, 117,
+  123, 121, 111, 93, 87, 90, 85, 83, 86, 81, 89, 77, 58, 44, 36, 38,
+  41, 42, 38, 33, 30, 25, 21, 19, 19, 18, 24, 18, 21, 23, 18, 23,
+  24, 19, 31, 47, 51, 59, 77, 90, 94, 103, 94, 85, 102, 103, 99, 106,
+  99, 101, 104, 105, 107, 107, 105, 105, 106, 107, 105, 105, 105, 105, 105, 105,
+  104, 105, 108, 107, 107, 106, 106, 105, 105, 105, 105, 105, 105, 105, 105, 105,
+  105, 105, 105, 105, 104, 65, 65, 65, 65, 65, 65, 64, 64, 70, 65, 65,
+  69, 71, 69, 68, 70, 68, 73, 69, 67, 74, 72, 70, 76, 74, 77, 78,
+  75, 76, 80, 80, 77, 80, 77, 74, 74, 73, 72, 70, 65, 56, 35, 18,
+  17, 24, 24, 18, 14, 18, 14, 14, 18, 18, 13, 11, 14, 21, 19, 38,
+  65, 81, 102, 128, 146, 151, 161, 154, 148, 155, 161, 165, 173, 181, 184, 186,
+  186, 187, 185, 176, 166, 176, 183, 180, 172, 174, 182, 184, 182, 186, 183, 179,
+  175, 177, 183, 190, 195, 189, 190, 191, 195, 191, 186, 184, 189, 190, 190, 187,
+  186, 182, 181, 179, 180, 177, 175, 173, 172, 169, 168, 167, 166, 178, 171, 177,
+  182, 173, 165, 163, 156, 167, 148, 143, 143, 137, 138, 139, 131, 129, 122, 111,
+  99, 85, 72, 58, 47, 33, 32, 35, 38, 37, 33, 28, 23, 26, 15, 15,
+  20, 18, 19, 16, 8, 16, 41, 42, 37, 51, 74, 88, 96, 94, 84, 98,
+  97, 97, 109, 103, 100, 105, 106, 108, 108, 105, 105, 107, 108, 106, 106, 105,
+  105, 105, 105, 104, 104, 107, 107, 107, 107, 106, 106, 105, 105, 105, 105, 105,
+  105, 105, 105, 105, 105, 104, 104, 103, 66, 66, 67, 68, 68, 68, 67, 67,
+  69, 65, 65, 69, 71, 70, 69, 71, 68, 73, 69, 67, 75, 74, 71, 77,
+  73, 76, 76, 73, 75, 78, 78, 77, 81, 79, 77, 75, 73, 69, 60, 52,
+  28, 21, 18, 20, 20, 15, 11, 12, 13, 11, 13, 18, 16, 9, 10, 17,
+  33, 45, 74, 102, 117, 136, 152, 158, 164, 173, 167, 161, 169, 175, 179, 188,
+  175, 179, 182, 183, 186, 186, 178, 168, 186, 195, 189, 181, 185, 184, 181, 187,
+  186, 187, 186, 183, 186, 191, 193, 191, 179, 190, 201, 200, 186, 177, 186, 201,
+  203, 201, 197, 192, 188, 187, 189, 192, 190, 188, 186, 184, 186, 188, 188, 188,
+  182, 179, 181, 182, 172, 172, 175, 169, 176, 162, 160, 161, 157, 160, 161, 152,
+  146, 151, 157, 158, 151, 132, 111, 92, 60, 48, 37, 29, 29, 28, 28, 24,
+  24, 15, 18, 20, 10, 9, 16, 20, 10, 31, 32, 23, 35, 53, 68, 80,
+  87, 82, 98, 97, 97, 112, 107, 103, 105, 106, 108, 108, 106, 106, 107, 108,
+  107, 107, 105, 105, 105, 105, 103, 103, 105, 105, 106, 106, 106, 106, 105, 104,
+  105, 105, 105, 105, 105, 105, 105, 105, 103, 103, 103, 64, 65, 67, 68, 69,
+  69, 68, 67, 69, 65, 65, 69, 72, 70, 70, 71, 68, 73, 70, 68, 75,
+  74, 71, 77, 72, 76, 76, 73, 73, 76, 77, 76, 81, 79, 76, 73, 69,
+  59, 44, 30, 14, 14, 18, 21, 17, 9, 7, 12, 5, 4, 9, 16, 16,
+  12, 21, 39, 62, 82, 110, 127, 135, 153, 163, 157, 160, 174, 177, 176, 183,
+  183, 178, 181, 180, 182, 183, 184, 188, 191, 187, 180, 180, 190, 188, 190, 201,
+  197, 194, 209, 193, 200, 203, 198, 195, 197, 198, 196, 196, 202, 209, 209, 200,
+  194, 199, 210, 187, 189, 191, 193, 196, 201, 209, 216, 196, 193, 189, 187, 190,
+  193, 194, 196, 196, 193, 191, 181, 171, 182, 192, 186, 179, 172, 175, 177, 173,
+  177, 177, 168, 180, 173, 164, 157, 157, 161, 166, 167, 123, 101, 74, 56, 48,
+  44, 38, 33, 28, 19, 22, 24, 13, 10, 19, 23, 16, 19, 17, 23, 33,
+  34, 41, 61, 67, 72, 98, 98, 94, 107, 105, 105, 104, 105, 107, 107, 106,
+  106, 108, 109, 108, 108, 107, 106, 105, 104, 103, 103, 103, 104, 105, 106, 106,
+  105, 104, 103, 105, 105, 105, 105, 105, 105, 105, 105, 103, 102, 102, 61, 62,
+  64, 66, 67, 67, 66, 66, 69, 65, 65, 69, 72, 70, 70, 72, 68, 74,
+  70, 69, 75, 75, 71, 77, 74, 77, 77, 73, 74, 77, 77, 75, 76, 75,
+  72, 68, 62, 48, 28, 12, 17, 13, 12, 17, 19, 14, 10, 10, 4, 5,
+  12, 22, 24, 27, 45, 70, 91, 112, 132, 136, 137, 157, 169, 158, 167, 177,
+  173, 168, 174, 177, 177, 183, 184, 184, 181, 180, 184, 189, 188, 183, 194, 200,
+  194, 193, 200, 184, 175, 193, 193, 202, 205, 194, 184, 184, 189, 192, 207, 197,
+  191, 196, 204, 203, 198, 194, 206, 206, 204, 198, 192, 189, 190, 193, 205, 199,
+  193, 191, 193, 196, 198, 197, 190, 196, 202, 192, 180, 187, 190, 175, 180, 178,
+  183, 186, 181, 183, 183, 173, 170, 169, 171, 172, 171, 168, 162, 156, 168, 153,
+  137, 125, 114, 96, 69, 48, 39, 24, 25, 32, 28, 24, 21, 14, 26, 11,
+  7, 26, 38, 21, 20, 46, 45, 60, 94, 96, 87, 98, 99, 104, 103, 104,
+  107, 107, 105, 106, 108, 109, 108, 108, 107, 106, 105, 104, 103, 103, 102, 103,
+  104, 105, 106, 105, 104, 103, 105, 105, 105, 105, 105, 105, 105, 105, 102, 102,
+  102, 64, 68, 68, 65, 66, 69, 69, 67, 70, 70, 71, 71, 71, 72, 72,
+  72, 73, 72, 71, 71, 70, 71, 71, 71, 77, 75, 73, 72, 71, 72, 75,
+  76, 74, 74, 76, 65, 40, 27, 27, 21, 9, 17, 21, 17, 13, 11, 8,
+  3, 1, 15, 25, 23, 27, 49, 85, 111, 131, 139, 148, 155, 161, 164, 167,
+  169, 164, 165, 171, 178, 179, 176, 176, 180, 185, 177, 172, 176, 187, 194, 194,
+  190, 192, 193, 192, 190, 188, 189, 191, 193, 192, 193, 195, 197, 199, 200, 199,
+  201, 208, 203, 199, 203, 208, 208, 206, 204, 217, 210, 217, 212, 193, 200, 214,
+  206, 198, 205, 208, 202, 197, 196, 195, 190, 192, 199, 199, 186, 180, 187, 192,
+  192, 188, 180, 178, 180, 177, 185, 190, 185, 185, 177, 170, 172, 181, 185, 178,
+  167, 162, 155, 152, 153, 153, 141, 118, 97, 64, 45, 34, 37, 35, 25, 23,
+  30, 20, 19, 18, 17, 17, 22, 28, 35, 41, 35, 49, 79, 97, 94, 92,
+  101, 105, 106, 104, 99, 100, 104, 108, 107, 107, 108, 107, 106, 103, 103, 104,
+  106, 105, 106, 106, 106, 106, 105, 104, 103, 106, 106, 106, 105, 105, 104, 104,
+  104, 105, 105, 105, 65, 68, 68, 65, 66, 69, 70, 67, 68, 68, 68, 69,
+  69, 70, 70, 70, 70, 70, 69, 70, 71, 73, 74, 75, 70, 74, 76, 76,
+  73, 72, 71, 71, 73, 64, 57, 45, 25, 18, 16, 7, 9, 11, 11, 8,
+  8, 13, 12, 9, 10, 17, 27, 42, 67, 96, 117, 126, 146, 153, 161, 167,
+  169, 170, 171, 173, 170, 170, 172, 181, 183, 182, 181, 184, 181, 178, 175, 180,
+  187, 193, 190, 187, 194, 195, 196, 195, 193, 191, 190, 191, 192, 192, 194, 196,
+  199, 201, 202, 206, 206, 208, 210, 213, 214, 213, 212, 212, 214, 209, 217, 218,
+  208, 214, 221, 208, 204, 206, 205, 199, 197, 202, 204, 203, 182, 198, 206, 203,
+  196, 193, 186, 177, 192, 186, 184, 181, 168, 171, 178, 177, 189, 186, 181, 182,
+  183, 182, 174, 167, 164, 160, 156, 157, 161, 157, 147, 135, 135, 99, 62, 48,
+  46, 41, 33, 26, 22, 14, 13, 18, 26, 28, 23, 18, 32, 34, 44, 63,
+  83, 92, 95, 96, 97, 103, 105, 101, 99, 103, 106, 107, 107, 108, 107, 106,
+  103, 103, 104, 106, 105, 106, 106, 106, 106, 105, 104, 103, 106, 106, 106, 105,
+  105, 104, 104, 104, 105, 105, 105, 64, 67, 67, 65, 65, 68, 69, 66, 67,
+  67, 68, 68, 68, 69, 69, 69, 67, 67, 68, 70, 72, 75, 77, 78, 71,
+  74, 77, 76, 72, 70, 68, 69, 70, 53, 41, 31, 18, 18, 18, 8, 14,
+  15, 13, 11, 13, 17, 16, 14, 16, 26, 42, 68, 101, 128, 139, 139, 155,
+  162, 167, 171, 171, 170, 171, 172, 175, 174, 175, 182, 185, 185, 184, 187, 181,
+  182, 183, 187, 189, 191, 189, 187, 193, 196, 198, 198, 195, 192, 190, 189, 192,
+  193, 194, 197, 200, 204, 206, 210, 201, 209, 215, 217, 212, 210, 208, 210, 222,
+  217, 217, 216, 209, 214, 215, 202, 210, 214, 216, 217, 218, 219, 215, 209, 192,
+  200, 202, 195, 192, 197, 199, 197, 186, 185, 188, 181, 165, 165, 179, 184, 177,
+  178, 179, 180, 180, 178, 174, 173, 175, 172, 168, 167, 166, 164, 158, 151, 147,
+  145, 134, 106, 71, 45, 38, 40, 39, 27, 19, 17, 19, 21, 18, 14, 22,
+  31, 38, 46, 63, 84, 93, 91, 89, 99, 105, 102, 99, 101, 104, 106, 107,
+  108, 107, 106, 103, 103, 104, 106, 105, 106, 106, 106, 106, 105, 104, 103, 106,
+  106, 106, 105, 105, 104, 104, 104, 105, 105, 105, 64, 67, 68, 65, 65, 69,
+  69, 66, 70, 70, 70, 71, 71, 71, 72, 72, 68, 68, 69, 71, 73, 76,
+  77, 78, 78, 76, 73, 70, 69, 68, 67, 65, 55, 38, 29, 23, 17, 20,
+  25, 18, 14, 16, 19, 19, 16, 17, 17, 16, 29, 53, 81, 101, 118, 132,
+  145, 150, 162, 167, 171, 174, 173, 170, 170, 171, 178, 179, 180, 184, 182, 180,
+  182, 188, 186, 188, 189, 190, 189, 190, 189, 190, 190, 192, 194, 194, 192, 191,
+  190, 191, 193, 193, 194, 196, 198, 202, 204, 206, 201, 209, 213, 211, 207, 205,
+  204, 203, 227, 222, 216, 208, 204, 209, 214, 211, 208, 204, 202, 202, 203, 205,
+  201, 198, 212, 210, 200, 187, 183, 192, 203, 208, 188, 186, 191, 186, 170, 172,
+  186, 191, 176, 173, 173, 176, 178, 177, 176, 178, 176, 178, 178, 176, 172, 164,
+  157, 151, 152, 151, 145, 135, 120, 100, 72, 46, 40, 36, 30, 25, 18, 16,
+  17, 20, 16, 25, 31, 35, 43, 62, 78, 87, 89, 97, 101, 99, 100, 103,
+  104, 102, 106, 108, 107, 106, 103, 103, 104, 106, 105, 106, 106, 106, 106, 105,
+  104, 103, 106, 106, 106, 105, 105, 104, 104, 104, 105, 105, 105, 65, 68, 68,
+  66, 66, 69, 70, 67, 70, 70, 71, 71, 72, 72, 72, 72, 71, 70, 71,
+  72, 73, 75, 76, 76, 80, 74, 69, 68, 70, 68, 60, 50, 31, 20, 20,
+  18, 9, 14, 21, 19, 10, 13, 15, 16, 15, 18, 27, 38, 67, 91, 116,
+  129, 135, 142, 151, 158, 168, 173, 176, 179, 177, 175, 174, 176, 178, 184, 188,
+  189, 181, 176, 180, 190, 189, 190, 189, 187, 185, 185, 189, 192, 189, 190, 191,
+  190, 191, 192, 195, 198, 195, 195, 195, 195, 197, 198, 199, 199, 204, 208, 208,
+  204, 204, 208, 208, 204, 210, 216, 213, 206, 206, 212, 219, 226, 233, 225, 211,
+  207, 208, 215, 222, 226, 214, 215, 210, 201, 195, 193, 191, 188, 200, 193, 194,
+  190, 177, 178, 187, 187, 194, 183, 177, 180, 182, 180, 176, 176, 172, 173, 174,
+  174, 171, 168, 165, 163, 159, 154, 145, 138, 136, 130, 113, 93, 44, 39, 35,
+  35, 33, 29, 22, 16, 13, 16, 24, 29, 29, 36, 54, 78, 89, 94, 96,
+  95, 99, 104, 103, 99, 105, 107, 107, 106, 103, 103, 104, 106, 105, 106, 106,
+  106, 106, 105, 104, 103, 106, 106, 106, 105, 105, 104, 104, 104, 105, 105, 105,
+  65, 68, 69, 66, 66, 70, 70, 67, 68, 69, 69, 69, 70, 70, 70, 71,
+  73, 72, 73, 73, 73, 74, 75, 74, 73, 70, 69, 70, 69, 60, 45, 28,
+  21, 16, 21, 20, 8, 9, 16, 16, 13, 11, 13, 18, 25, 39, 61, 82,
+  106, 118, 129, 137, 148, 158, 159, 155, 167, 171, 175, 177, 177, 177, 176, 177,
+  180, 186, 190, 193, 184, 180, 182, 193, 188, 189, 184, 184, 180, 183, 184, 188,
+  190, 189, 190, 190, 191, 193, 198, 202, 194, 196, 195, 197, 195, 195, 193, 193,
+  198, 202, 202, 198, 201, 209, 211, 206, 195, 211, 212, 207, 210, 208, 207, 216,
+  207, 204, 202, 206, 207, 206, 206, 208, 207, 208, 208, 206, 203, 200, 196, 191,
+  198, 190, 191, 192, 185, 188, 193, 189, 192, 180, 173, 180, 185, 182, 179, 179,
+  179, 175, 171, 166, 166, 168, 171, 173, 157, 161, 163, 156, 142, 133, 133, 135,
+  99, 73, 44, 31, 32, 33, 24, 12, 13, 12, 17, 23, 22, 22, 38, 60,
+  78, 87, 91, 95, 99, 104, 102, 99, 105, 107, 107, 106, 104, 103, 104, 106,
+  105, 106, 106, 106, 106, 105, 104, 103, 106, 106, 106, 105, 105, 104, 104, 104,
+  105, 105, 105, 65, 68, 69, 66, 67, 70, 70, 67, 69, 69, 69, 70, 70,
+  70, 71, 71, 73, 72, 73, 73, 73, 75, 74, 74, 70, 69, 68, 63, 55,
+  43, 32, 22, 25, 18, 24, 23, 11, 11, 16, 15, 16, 11, 16, 32, 55,
+  77, 98, 117, 130, 135, 136, 141, 153, 162, 161, 154, 164, 167, 173, 176, 177,
+  177, 178, 177, 179, 179, 182, 188, 188, 185, 184, 189, 187, 186, 184, 184, 183,
+  184, 184, 184, 186, 188, 190, 190, 190, 192, 194, 197, 191, 194, 196, 197, 196,
+  194, 192, 190, 193, 205, 209, 203, 202, 208, 210, 206, 201, 217, 214, 208, 214,
+  210, 201, 206, 203, 205, 212, 220, 218, 210, 204, 204, 206, 204, 201, 201, 202,
+  203, 205, 206, 192, 188, 193, 197, 191, 193, 199, 196, 180, 174, 175, 184, 188,
+  182, 181, 185, 182, 175, 168, 164, 165, 166, 167, 167, 176, 160, 152, 159, 164,
+  155, 139, 129, 146, 119, 79, 50, 35, 30, 24, 19, 12, 14, 14, 14, 19,
+  26, 32, 38, 56, 76, 91, 96, 97, 98, 100, 100, 104, 107, 107, 106, 104,
+  104, 104, 107, 105, 106, 106, 106, 106, 105, 104, 103, 106, 106, 106, 105, 105,
+  104, 104, 104, 105, 105, 105, 66, 70, 70, 67, 67, 70, 70, 68, 71, 71,
+  72, 72, 72, 74, 74, 73, 72, 72, 72, 73, 74, 75, 75, 74, 72, 70,
+  63, 49, 32, 22, 22, 22, 23, 15, 20, 21, 13, 14, 19, 17, 13, 10,
+  20, 50, 83, 105, 117, 127, 138, 147, 151, 151, 154, 160, 163, 162, 167, 172,
+  176, 181, 181, 183, 184, 183, 177, 172, 173, 183, 191, 191, 187, 184, 189, 188,
+  188, 189, 190, 190, 188, 184, 184, 187, 189, 191, 191, 190, 190, 190, 191, 193,
+  197, 199, 199, 196, 193, 191, 199, 215, 223, 214, 205, 206, 208, 205, 210, 222,
+  212, 205, 220, 221, 213, 220, 219, 212, 205, 203, 198, 194, 201, 212, 211, 210,
+  209, 210, 209, 204, 198, 196, 201, 199, 205, 205, 193, 191, 195, 191, 185, 183,
+  189, 197, 193, 180, 178, 183, 170, 167, 165, 167, 171, 171, 167, 162, 169, 165,
+  166, 166, 152, 134, 139, 156, 137, 135, 121, 94, 63, 41, 33, 33, 16, 21,
+  17, 10, 19, 36, 32, 19, 33, 63, 89, 98, 93, 93, 96, 101, 103, 105,
+  106, 106, 104, 104, 107, 109, 106, 107, 107, 107, 107, 106, 105, 104, 107, 107,
+  107, 106, 106, 105, 105, 105, 105, 105, 105, 70, 70, 70, 69, 68, 67, 66,
+  65, 66, 66, 67, 68, 69, 70, 71, 71, 75, 74, 73, 74, 73, 74, 74,
+  75, 77, 63, 44, 31, 25, 24, 20, 16, 13, 15, 24, 22, 15, 17, 20,
+  11, 13, 27, 46, 81, 117, 129, 126, 134, 146, 150, 154, 158, 161, 164, 168,
+  170, 172, 172, 173, 175, 177, 181, 184, 186, 175, 181, 187, 188, 184, 183, 186,
+  190, 194, 186, 188, 190, 185, 185, 184, 174, 183, 188, 192, 193, 189, 187, 191,
+  195, 187, 200, 208, 201, 189, 188, 195, 201, 203, 204, 201, 198, 201, 209, 213,
+  212, 212, 208, 205, 206, 212, 215, 214, 212, 209, 205, 207, 214, 211, 202, 201,
+  208, 213, 217, 217, 211, 206, 206, 206, 204, 210, 209, 208, 205, 198, 193, 199,
+  207, 192, 193, 190, 184, 182, 185, 186, 184, 183, 175, 166, 163, 168, 170, 167,
+  163, 169, 168, 165, 164, 161, 157, 152, 147, 145, 144, 138, 128, 116, 96, 63,
+  33, 27, 31, 29, 20, 21, 27, 22, 13, 38, 42, 55, 78, 93, 97, 95,
+  96, 99, 100, 101, 104, 106, 110, 112, 113, 108, 107, 107, 107, 107, 107, 107,
+  107, 108, 108, 108, 107, 107, 106, 106, 106, 106, 106, 106, 71, 70, 70, 69,
+  68, 66, 65, 65, 67, 67, 69, 69, 71, 72, 72, 73, 78, 77, 75, 76,
+  77, 77, 75, 73, 61, 47, 31, 22, 17, 16, 14, 12, 22, 17, 18, 17,
+  11, 15, 22, 18, 17, 43, 69, 96, 124, 136, 137, 145, 148, 150, 152, 156,
+  160, 163, 165, 166, 175, 175, 176, 177, 179, 180, 180, 182, 179, 184, 187, 188,
+  186, 186, 189, 192, 186, 178, 180, 186, 185, 189, 190, 181, 187, 189, 190, 190,
+  189, 188, 188, 188, 188, 195, 197, 193, 189, 192, 196, 198, 199, 204, 209, 209,
+  211, 211, 207, 200, 207, 209, 213, 219, 224, 225, 221, 219, 204, 207, 212, 219,
+  220, 217, 218, 221, 208, 216, 219, 215, 211, 212, 214, 215, 213, 206, 202, 207,
+  210, 205, 196, 192, 195, 198, 197, 190, 185, 186, 187, 186, 181, 175, 170, 170,
+  173, 173, 168, 162, 171, 168, 165, 164, 164, 162, 156, 151, 145, 145, 142, 137,
+  132, 122, 102, 82, 52, 37, 29, 33, 30, 19, 14, 21, 22, 26, 37, 57,
+  79, 92, 96, 98, 99, 100, 102, 104, 106, 109, 112, 112, 108, 107, 107, 107,
+  107, 107, 107, 107, 108, 108, 108, 107, 107, 106, 106, 106, 105, 105, 105, 70,
+  70, 70, 68, 68, 66, 66, 65, 69, 70, 71, 71, 73, 74, 76, 76, 80,
+  78, 77, 77, 77, 75, 70, 64, 40, 31, 20, 15, 14, 15, 13, 11, 12,
+  8, 16, 26, 21, 18, 16, 11, 29, 68, 98, 113, 130, 139, 144, 152, 155,
+  153, 153, 157, 163, 166, 166, 164, 174, 175, 177, 178, 178, 177, 176, 176, 182,
+  182, 183, 184, 185, 187, 189, 190, 185, 175, 177, 184, 186, 193, 195, 185, 195,
+  193, 191, 192, 193, 193, 190, 187, 197, 197, 195, 192, 195, 201, 201, 197, 201,
+  203, 202, 199, 199, 203, 205, 203, 205, 209, 213, 215, 213, 211, 208, 208, 218,
+  223, 223, 216, 210, 205, 201, 196, 209, 217, 221, 216, 211, 211, 212, 212, 213,
+  206, 203, 207, 209, 204, 195, 190, 191, 198, 200, 193, 186, 185, 186, 186, 179,
+  175, 173, 175, 178, 176, 169, 162, 172, 168, 164, 165, 167, 167, 161, 156, 152,
+  151, 149, 144, 142, 139, 133, 123, 92, 59, 34, 32, 35, 29, 22, 21, 16,
+  18, 24, 37, 58, 83, 96, 102, 103, 105, 104, 106, 106, 107, 106, 106, 106,
+  106, 106, 106, 106, 106, 105, 105, 106, 106, 106, 105, 104, 103, 103, 104, 105,
+  104, 104, 71, 71, 70, 69, 69, 68, 67, 67, 70, 71, 71, 73, 74, 75,
+  76, 78, 78, 78, 76, 77, 75, 68, 56, 45, 29, 22, 16, 14, 14, 16,
+  15, 13, 24, 12, 14, 17, 9, 11, 25, 33, 46, 90, 119, 126, 137, 148,
+  151, 155, 163, 158, 156, 160, 168, 172, 171, 168, 170, 171, 174, 176, 176, 175,
+  173, 173, 182, 180, 179, 180, 183, 186, 187, 187, 195, 184, 183, 188, 189, 195,
+  195, 184, 194, 194, 194, 194, 193, 193, 191, 189, 199, 199, 197, 196, 199, 204,
+  201, 195, 194, 197, 197, 194, 195, 201, 205, 206, 206, 208, 208, 204, 199, 198,
+  202, 207, 209, 218, 219, 213, 213, 221, 223, 219, 207, 210, 212, 210, 210, 212,
+  210, 206, 210, 209, 210, 207, 199, 193, 198, 207, 182, 192, 197, 192, 183, 182,
+  183, 184, 177, 175, 174, 176, 178, 177, 170, 165, 172, 167, 163, 164, 168, 169,
+  164, 160, 162, 162, 157, 151, 145, 142, 140, 137, 118, 103, 73, 42, 30, 35,
+  34, 23, 21, 24, 25, 27, 41, 66, 91, 102, 106, 108, 109, 107, 106, 104,
+  102, 101, 104, 105, 105, 105, 105, 104, 104, 104, 104, 105, 104, 104, 103, 102,
+  102, 103, 104, 105, 105, 70, 70, 69, 69, 68, 68, 68, 68, 70, 72, 72,
+  73, 74, 75, 76, 78, 80, 79, 79, 77, 70, 56, 40, 27, 21, 17, 14,
+  14, 14, 15, 16, 15, 11, 10, 20, 24, 14, 14, 27, 35, 67, 104, 127,
+  134, 146, 158, 160, 159, 164, 159, 156, 160, 168, 172, 172, 169, 166, 168, 171,
+  174, 176, 176, 175, 175, 183, 181, 179, 180, 183, 185, 186, 186, 200, 189, 189,
+  192, 191, 194, 193, 182, 188, 192, 195, 194, 190, 188, 190, 193, 187, 193, 197,
+  196, 198, 200, 198, 194, 182, 194, 206, 211, 210, 208, 202, 195, 203, 207, 209,
+  208, 205, 208, 216, 224, 227, 230, 223, 208, 200, 203, 203, 198, 203, 202, 201,
+  203, 211, 217, 213, 205, 207, 208, 209, 207, 201, 196, 201, 210, 177, 187, 193,
+  190, 183, 182, 183, 184, 178, 176, 173, 173, 175, 175, 172, 169, 169, 165, 161,
+  162, 166, 168, 165, 162, 167, 166, 162, 156, 149, 143, 141, 141, 126, 134, 120,
+  81, 43, 32, 34, 34, 28, 29, 29, 24, 27, 47, 77, 101, 106, 109, 111,
+  109, 106, 102, 98, 97, 102, 104, 104, 104, 104, 103, 103, 103, 103, 104, 103,
+  102, 101, 100, 100, 102, 106, 108, 108, 70, 70, 70, 70, 70, 70, 71, 71,
+  71, 71, 73, 74, 76, 76, 77, 77, 81, 81, 78, 71, 59, 44, 28, 18,
+  16, 15, 13, 13, 14, 15, 16, 16, 4, 9, 20, 22, 16, 27, 45, 50,
+  92, 116, 131, 139, 156, 166, 166, 167, 160, 156, 154, 156, 160, 164, 165, 164,
+  165, 167, 170, 173, 176, 177, 178, 178, 181, 182, 183, 183, 184, 185, 186, 187,
+  193, 185, 189, 193, 190, 192, 192, 183, 190, 196, 201, 199, 194, 191, 194, 199,
+  182, 190, 197, 198, 198, 201, 202, 201, 188, 198, 205, 205, 202, 201, 199, 195,
+  197, 203, 209, 211, 208, 207, 209, 212, 200, 202, 202, 200, 203, 213, 222, 226,
+  216, 212, 206, 204, 210, 215, 209, 200, 208, 203, 201, 208, 213, 208, 200, 194,
+  181, 189, 194, 190, 186, 186, 187, 186, 179, 176, 173, 172, 173, 174, 174, 174,
+  166, 164, 162, 162, 164, 165, 164, 165, 163, 162, 162, 162, 158, 151, 150, 150,
+  148, 133, 122, 114, 94, 62, 40, 31, 32, 28, 27, 24, 21, 31, 61, 90,
+  103, 109, 110, 111, 107, 103, 97, 97, 102, 104, 104, 104, 104, 103, 103, 102,
+  103, 103, 103, 101, 101, 99, 99, 101, 106, 108, 108, 69, 69, 69, 70, 70,
+  71, 71, 72, 74, 75, 75, 75, 77, 77, 78, 78, 78, 77, 70, 58, 41,
+  28, 20, 17, 14, 14, 14, 17, 19, 20, 22, 24, 36, 32, 26, 18, 27,
+  70, 110, 120, 124, 136, 142, 149, 162, 166, 165, 170, 158, 156, 154, 153, 153,
+  155, 156, 157, 164, 165, 167, 169, 172, 174, 176, 177, 176, 179, 182, 182, 180,
+  179, 181, 184, 184, 182, 189, 195, 190, 191, 193, 186, 196, 198, 200, 199, 196,
+  194, 194, 196, 190, 195, 197, 196, 196, 201, 203, 202, 198, 201, 198, 190, 187,
+  193, 201, 206, 198, 201, 203, 202, 198, 195, 195, 196, 225, 222, 220, 219, 216,
+  214, 217, 223, 220, 219, 214, 207, 206, 209, 207, 202, 208, 203, 202, 208, 210,
+  204, 195, 189, 187, 192, 194, 191, 188, 189, 188, 186, 180, 178, 177, 176, 177,
+  177, 177, 177, 165, 166, 166, 165, 163, 163, 165, 168, 165, 161, 162, 166, 165,
+  160, 156, 158, 160, 135, 121, 127, 128, 105, 71, 46, 44, 30, 23, 25, 21,
+  21, 42, 71, 96, 103, 108, 110, 107, 104, 100, 100, 103, 105, 105, 104, 104,
+  103, 103, 103, 104, 103, 103, 101, 101, 100, 100, 101, 105, 107, 106, 68, 68,
+  69, 70, 71, 72, 72, 72, 76, 76, 76, 77, 77, 77, 77, 76, 72, 69,
+  59, 43, 25, 15, 14, 17, 16, 18, 20, 23, 25, 28, 32, 35, 30, 46,
+  67, 82, 105, 146, 162, 147, 151, 156, 154, 158, 164, 160, 158, 168, 159, 158,
+  156, 153, 149, 149, 151, 153, 161, 161, 162, 164, 166, 168, 170, 172, 169, 174,
+  179, 179, 175, 173, 175, 179, 180, 181, 192, 197, 191, 190, 194, 188, 195, 193,
+  191, 190, 191, 189, 186, 183, 199, 198, 193, 188, 189, 194, 196, 193, 192, 199,
+  202, 199, 196, 200, 206, 208, 202, 201, 198, 195, 195, 197, 203, 207, 209, 204,
+  206, 212, 212, 205, 207, 216, 204, 209, 211, 206, 204, 210, 216, 220, 207, 208,
+  209, 206, 196, 188, 190, 197, 192, 195, 194, 189, 187, 188, 186, 182, 179, 179,
+  179, 179, 180, 180, 179, 178, 165, 168, 169, 167, 162, 161, 166, 170, 171, 165,
+  164, 168, 168, 161, 157, 157, 144, 152, 150, 134, 122, 116, 104, 85, 59, 36,
+  24, 30, 26, 16, 28, 53, 90, 99, 105, 108, 107, 106, 102, 103, 104, 106,
+  106, 106, 105, 105, 104, 104, 104, 105, 104, 103, 102, 101, 100, 102, 103, 105,
+  105, 69, 68, 69, 70, 71, 71, 72, 71, 71, 72, 74, 76, 78, 75, 70,
+  64, 68, 52, 35, 26, 21, 17, 19, 21, 19, 25, 28, 30, 37, 51, 64,
+  71, 109, 121, 135, 145, 151, 156, 162, 168, 159, 160, 161, 163, 163, 164, 166,
+  167, 164, 165, 164, 161, 156, 152, 150, 151, 144, 148, 153, 155, 156, 159, 163,
+  167, 169, 163, 164, 174, 179, 176, 179, 187, 184, 180, 180, 185, 194, 197, 193,
+  188, 210, 206, 202, 197, 194, 194, 195, 197, 197, 198, 200, 201, 196, 190, 193,
+  199, 188, 194, 201, 205, 203, 199, 195, 193, 196, 199, 201, 201, 199, 199, 201,
+  204, 204, 209, 209, 207, 217, 230, 229, 218, 208, 200, 196, 205, 215, 215, 208,
+  203, 216, 199, 189, 194, 199, 195, 192, 196, 194, 192, 183, 183, 187, 180, 174,
+  185, 161, 176, 182, 173, 168, 173, 175, 170, 178, 173, 169, 171, 174, 171, 159,
+  148, 162, 159, 163, 171, 172, 165, 160, 159, 154, 151, 147, 143, 139, 134, 130,
+  127, 100, 52, 32, 40, 30, 13, 22, 46, 73, 99, 105, 98, 102, 106, 103,
+  106, 107, 107, 105, 103, 105, 109, 106, 101, 103, 104, 103, 104, 103, 104, 104,
+  104, 99, 106, 104, 68, 68, 68, 70, 71, 71, 72, 72, 75, 77, 77, 73,
+  68, 66, 69, 69, 50, 34, 23, 22, 25, 25, 23, 24, 19, 36, 56, 70,
+  85, 105, 125, 136, 147, 154, 161, 163, 163, 161, 163, 165, 160, 160, 160, 159,
+  158, 158, 159, 159, 162, 160, 158, 158, 159, 157, 153, 149, 144, 146, 146, 144,
+  143, 144, 149, 152, 157, 162, 172, 178, 174, 169, 173, 182, 183, 181, 184, 189,
+  196, 199, 198, 195, 193, 193, 193, 194, 195, 196, 198, 199, 197, 198, 201, 203,
+  200, 195, 197, 203, 202, 200, 197, 194, 192, 195, 201, 205, 199, 202, 204, 204,
+  202, 201, 202, 204, 208, 215, 215, 207, 206, 213, 215, 209, 199, 197, 200, 208,
+  211, 208, 204, 203, 201, 194, 196, 205, 207, 198, 193, 195, 206, 200, 187, 182,
+  185, 182, 177, 182, 181, 174, 177, 187, 184, 169, 161, 164, 166, 167, 165, 161,
+  156, 156, 161, 166, 164, 162, 164, 169, 169, 163, 161, 164, 165, 155, 143, 141,
+  144, 143, 133, 123, 125, 108, 80, 45, 16, 19, 26, 20, 57, 91, 108, 108,
+  111, 107, 98, 96, 103, 108, 109, 105, 104, 105, 103, 100, 102, 102, 103, 103,
+  103, 103, 102, 102, 100, 107, 103, 66, 67, 67, 69, 70, 72, 73, 73, 76,
+  74, 70, 68, 67, 64, 61, 54, 26, 19, 17, 17, 19, 25, 37, 51, 87,
+  107, 128, 136, 139, 146, 154, 162, 161, 167, 170, 170, 167, 164, 165, 167, 168,
+  166, 166, 163, 161, 161, 160, 160, 165, 162, 160, 163, 168, 168, 162, 155, 154,
+  152, 149, 143, 139, 138, 140, 141, 150, 149, 151, 157, 163, 170, 177, 182, 181,
+  182, 187, 191, 194, 196, 197, 197, 190, 191, 193, 194, 194, 194, 193, 192, 195,
+  196, 200, 204, 202, 198, 199, 204, 198, 206, 216, 222, 220, 213, 205, 200, 201,
+  203, 205, 205, 203, 202, 201, 201, 199, 210, 215, 207, 200, 205, 211, 213, 214,
+  210, 206, 201, 195, 191, 196, 204, 210, 201, 195, 194, 188, 179, 179, 185, 186,
+  183, 176, 173, 178, 182, 179, 176, 192, 176, 167, 172, 171, 161, 154, 156, 163,
+  168, 173, 173, 168, 163, 162, 162, 162, 161, 163, 165, 162, 159, 161, 167, 170,
+  162, 152, 148, 148, 145, 138, 132, 140, 141, 118, 67, 32, 36, 36, 12, 41,
+  72, 92, 98, 107, 110, 109, 114, 100, 108, 113, 110, 105, 105, 105, 104, 106,
+  106, 106, 106, 106, 106, 106, 105, 101, 107, 104, 65, 66, 68, 68, 71, 72,
+  73, 74, 73, 65, 61, 65, 71, 64, 44, 21, 17, 18, 21, 20, 16, 30,
+  67, 102, 113, 131, 148, 155, 156, 157, 159, 161, 164, 167, 169, 168, 165, 164,
+  165, 167, 171, 171, 169, 167, 166, 166, 165, 165, 166, 165, 165, 168, 171, 171,
+  166, 160, 162, 160, 156, 150, 144, 140, 138, 136, 130, 133, 140, 149, 155, 161,
+  167, 174, 175, 179, 185, 188, 188, 188, 190, 193, 194, 194, 195, 195, 194, 193,
+  192, 191, 193, 194, 198, 202, 200, 196, 196, 200, 202, 202, 202, 200, 198, 198,
+  200, 202, 200, 202, 203, 203, 202, 199, 198, 197, 193, 205, 213, 209, 205, 207,
+  212, 215, 196, 203, 214, 220, 213, 197, 186, 183, 202, 196, 193, 196, 198, 198,
+  202, 208, 203, 205, 208, 207, 204, 208, 208, 198, 189, 193, 188, 179, 181, 190,
+  186, 174, 171, 167, 166, 171, 177, 175, 165, 153, 157, 160, 164, 163, 159, 156,
+  158, 163, 161, 167, 170, 164, 150, 142, 142, 148, 147, 140, 129, 109, 77, 58,
+  43, 25, 47, 69, 81, 87, 97, 100, 97, 102, 97, 104, 107, 105, 103, 105,
+  107, 106, 107, 107, 107, 106, 106, 106, 106, 106, 99, 105, 102, 65, 66, 68,
+  68, 71, 72, 73, 73, 67, 64, 63, 63, 60, 48, 29, 11, 21, 20, 25,
+  29, 37, 59, 98, 134, 129, 140, 151, 156, 161, 165, 165, 161, 177, 176, 173,
+  171, 164, 161, 160, 159, 165, 164, 164, 164, 164, 165, 166, 167, 163, 165, 167,
+  167, 165, 163, 161, 160, 161, 160, 158, 154, 149, 143, 136, 132, 112, 123, 139,
+  151, 149, 144, 149, 161, 165, 171, 179, 182, 183, 184, 189, 192, 189, 189, 189,
+  191, 193, 195, 198, 199, 196, 195, 197, 200, 199, 195, 194, 198, 197, 197, 197,
+  195, 193, 194, 196, 199, 202, 201, 201, 201, 201, 199, 197, 196, 196, 203, 209,
+  210, 208, 207, 205, 202, 219, 206, 192, 187, 189, 196, 210, 222, 205, 203, 206,
+  215, 218, 209, 194, 184, 176, 171, 173, 165, 144, 143, 147, 138, 138, 156, 168,
+  170, 177, 187, 187, 179, 179, 168, 157, 155, 162, 167, 167, 164, 154, 161, 166,
+  165, 160, 158, 159, 161, 155, 165, 172, 170, 156, 147, 146, 151, 154, 137, 134,
+  135, 116, 89, 67, 51, 39, 52, 62, 72, 88, 95, 92, 95, 99, 99, 98,
+  95, 99, 104, 103, 99, 101, 102, 102, 102, 102, 102, 101, 100, 97, 104, 100,
+  67, 67, 68, 70, 71, 72, 72, 71, 66, 70, 69, 55, 36, 23, 23, 26,
+  20, 11, 17, 37, 67, 93, 115, 131, 156, 162, 164, 165, 168, 172, 171, 166,
+  175, 174, 171, 168, 164, 161, 158, 157, 160, 160, 160, 162, 164, 166, 168, 169,
+  167, 169, 170, 168, 164, 162, 162, 163, 161, 161, 160, 159, 156, 149, 140, 133,
+  132, 102, 86, 103, 127, 139, 147, 158, 154, 160, 169, 175, 179, 183, 190, 194,
+  187, 187, 187, 187, 188, 190, 193, 194, 199, 196, 196, 199, 199, 196, 196, 199,
+  190, 197, 206, 211, 210, 204, 198, 195, 204, 202, 200, 200, 200, 200, 199, 198,
+  190, 194, 199, 203, 206, 205, 201, 196, 193, 194, 204, 217, 221, 210, 194, 185,
+  196, 189, 182, 178, 173, 159, 138, 123, 133, 112, 107, 98, 71, 69, 82, 80,
+  76, 75, 84, 99, 106, 112, 131, 154, 171, 174, 175, 171, 164, 160, 162, 164,
+  157, 165, 169, 167, 165, 164, 163, 161, 158, 158, 160, 163, 163, 159, 151, 144,
+  148, 140, 141, 139, 131, 126, 114, 93, 64, 65, 55, 52, 65, 76, 86, 100,
+  104, 104, 101, 98, 102, 106, 104, 98, 102, 102, 102, 102, 102, 102, 101, 100,
+  99, 105, 100, 69, 68, 69, 70, 71, 71, 70, 69, 67, 66, 58, 40, 22,
+  14, 22, 30, 16, 12, 24, 53, 86, 111, 127, 136, 148, 155, 158, 159, 163,
+  171, 173, 171, 163, 162, 162, 163, 162, 161, 160, 158, 159, 160, 161, 163, 166,
+  169, 171, 172, 176, 173, 170, 169, 168, 168, 168, 167, 166, 164, 163, 162, 159,
+  154, 145, 139, 138, 76, 33, 49, 85, 107, 127, 147, 148, 152, 160, 167, 172,
+  177, 182, 184, 185, 186, 187, 187, 188, 188, 187, 187, 198, 194, 192, 195, 196,
+  195, 197, 201, 199, 196, 191, 187, 187, 192, 200, 207, 204, 201, 197, 196, 198,
+  199, 199, 199, 190, 192, 194, 198, 200, 199, 197, 196, 197, 192, 190, 192, 189,
+  179, 168, 162, 151, 145, 138, 133, 132, 131, 127, 122, 89, 54, 50, 54, 32,
+  30, 44, 41, 51, 42, 39, 44, 48, 57, 82, 110, 135, 147, 164, 173, 173,
+  167, 161, 158, 163, 168, 169, 166, 164, 168, 166, 162, 164, 161, 159, 161, 163,
+  162, 156, 147, 144, 139, 144, 143, 139, 143, 142, 126, 126, 118, 93, 68, 55,
+  48, 53, 70, 95, 101, 104, 103, 106, 109, 106, 102, 106, 106, 106, 106, 105,
+  104, 104, 104, 99, 105, 101, 72, 71, 71, 71, 71, 70, 69, 66, 68, 55,
+  36, 24, 18, 18, 18, 17, 16, 27, 50, 78, 99, 120, 142, 161, 165, 172,
+  175, 168, 163, 163, 162, 162, 166, 165, 165, 165, 164, 162, 159, 156, 158, 159,
+  160, 162, 164, 166, 168, 170, 177, 170, 164, 163, 168, 171, 169, 165, 167, 164,
+  160, 158, 157, 153, 146, 140, 106, 62, 38, 47, 50, 49, 78, 123, 146, 149,
+  153, 159, 164, 167, 169, 169, 172, 176, 181, 188, 192, 195, 194, 194, 194, 189,
+  186, 189, 192, 193, 196, 201, 193, 197, 202, 205, 205, 204, 203, 203, 202, 197,
+  192, 191, 194, 196, 197, 196, 203, 203, 201, 198, 192, 186, 185, 187, 179, 169,
+  159, 153, 148, 142, 140, 143, 144, 148, 150, 150, 149, 147, 143, 139, 80, 38,
+  38, 55, 39, 32, 38, 28, 31, 43, 45, 36, 35, 46, 53, 51, 91, 96,
+  110, 133, 157, 171, 171, 166, 165, 168, 165, 160, 160, 167, 167, 163, 164, 169,
+  169, 166, 158, 155, 158, 160, 154, 142, 148, 156, 145, 133, 131, 130, 118, 128,
+  123, 108, 88, 63, 52, 62, 75, 86, 97, 100, 99, 101, 103, 101, 102, 104,
+  104, 104, 104, 103, 102, 102, 97, 105, 102, 73, 77, 80, 78, 74, 70, 67,
+  62, 64, 41, 19, 12, 14, 15, 15, 14, 8, 36, 63, 85, 119, 142, 155,
+  165, 152, 160, 166, 168, 164, 160, 160, 164, 172, 171, 168, 165, 162, 161, 160,
+  161, 160, 165, 160, 158, 166, 166, 164, 171, 172, 168, 163, 161, 161, 163, 162,
+  162, 158, 165, 157, 149, 162, 140, 160, 134, 66, 32, 39, 43, 41, 34, 31,
+  71, 102, 123, 144, 152, 156, 162, 167, 169, 178, 172, 180, 188, 183, 184, 189,
+  187, 197, 190, 202, 202, 175, 173, 194, 205, 208, 195, 188, 193, 199, 195, 189,
+  187, 190, 188, 187, 185, 183, 180, 178, 178, 172, 171, 169, 167, 166, 165, 164,
+  164, 164, 162, 159, 158, 159, 160, 159, 158, 155, 178, 134, 157, 160, 133, 159,
+  115, 33, 33, 34, 34, 32, 30, 28, 26, 29, 34, 37, 35, 30, 30, 35,
+  41, 49, 54, 72, 90, 126, 155, 156, 171, 164, 174, 170, 159, 158, 158, 161,
+  171, 159, 168, 172, 169, 162, 161, 161, 158, 151, 150, 153, 157, 152, 142, 135,
+  134, 135, 139, 130, 123, 125, 108, 75, 54, 50, 45, 62, 82, 87, 91, 96,
+  94, 102, 97, 106, 112, 102, 95, 100, 101, 97, 98, 97, 74, 75, 76, 76,
+  76, 72, 63, 54, 34, 25, 17, 18, 18, 13, 11, 10, 22, 53, 81, 105,
+  133, 148, 151, 156, 161, 163, 167, 169, 168, 166, 163, 164, 170, 171, 168, 166,
+  164, 163, 163, 163, 163, 168, 163, 160, 167, 166, 164, 171, 168, 166, 161, 160,
+  160, 161, 159, 159, 161, 143, 177, 149, 147, 148, 145, 66, 45, 31, 42, 40,
+  36, 34, 23, 41, 40, 68, 105, 134, 152, 159, 155, 148, 151, 150, 162, 171,
+  166, 167, 177, 180, 189, 174, 178, 184, 175, 173, 171, 156, 163, 164, 168, 170,
+  170, 172, 176, 181, 172, 172, 172, 171, 170, 169, 168, 168, 169, 169, 168, 167,
+  167, 167, 167, 168, 173, 170, 168, 167, 168, 169, 168, 168, 166, 154, 168, 154,
+  161, 144, 157, 53, 37, 37, 37, 36, 34, 32, 30, 29, 33, 33, 32, 31,
+  30, 30, 32, 33, 37, 42, 52, 53, 84, 121, 133, 153, 161, 170, 166, 163,
+  169, 166, 154, 150, 157, 163, 166, 164, 161, 161, 160, 157, 158, 154, 151, 150,
+  146, 140, 139, 142, 132, 141, 138, 133, 138, 131, 116, 107, 84, 57, 48, 56,
+  67, 83, 94, 94, 106, 98, 99, 99, 90, 92, 98, 97, 107, 104, 100, 73,
+  71, 73, 77, 79, 70, 53, 38, 17, 17, 21, 24, 18, 11, 10, 16, 23,
+  57, 90, 118, 147, 158, 157, 161, 165, 163, 164, 165, 168, 168, 163, 162, 171,
+  170, 168, 166, 165, 164, 165, 165, 165, 170, 164, 161, 166, 164, 160, 167, 163,
+  162, 159, 159, 159, 158, 156, 154, 158, 142, 160, 154, 130, 151, 86, 27, 36,
+  40, 49, 37, 33, 39, 27, 24, 32, 37, 43, 53, 71, 93, 109, 116, 114,
+  114, 125, 129, 117, 114, 123, 128, 133, 108, 90, 84, 86, 101, 106, 92, 70,
+  106, 142, 156, 156, 159, 163, 164, 171, 171, 171, 172, 172, 172, 173, 173, 181,
+  180, 179, 178, 177, 177, 177, 177, 180, 178, 176, 176, 177, 178, 177, 176, 173,
+  160, 163, 168, 153, 160, 105, 23, 38, 37, 36, 33, 32, 31, 30, 29, 35,
+  32, 29, 28, 30, 31, 29, 27, 31, 37, 42, 31, 50, 84, 101, 128, 152,
+  162, 162, 162, 171, 171, 164, 163, 156, 159, 160, 159, 161, 163, 159, 154, 159,
+  154, 152, 152, 149, 144, 144, 146, 137, 147, 144, 136, 137, 136, 135, 140, 123,
+  93, 69, 59, 53, 62, 77, 79, 96, 97, 107, 111, 106, 106, 104, 92, 94,
+  93, 92, 76, 72, 73, 76, 72, 55, 36, 22, 22, 19, 21, 20, 14, 10,
+  13, 23, 24, 57, 91, 123, 153, 163, 161, 165, 163, 162, 163, 166, 166, 166,
+  164, 163, 169, 169, 168, 167, 166, 166, 166, 166, 164, 169, 163, 159, 164, 160,
+  155, 160, 160, 159, 158, 158, 158, 157, 153, 150, 154, 150, 139, 135, 143, 102,
+  33, 43, 42, 46, 46, 34, 29, 37, 33, 28, 24, 25, 25, 27, 31, 37,
+  40, 41, 50, 45, 52, 54, 42, 37, 43, 44, 49, 48, 48, 45, 46, 53,
+  54, 47, 46, 101, 152, 170, 171, 176, 179, 175, 183, 182, 182, 184, 183, 185,
+  185, 186, 195, 194, 192, 189, 187, 185, 184, 184, 182, 181, 179, 179, 180, 181,
+  180, 178, 175, 178, 147, 164, 167, 124, 47, 41, 33, 31, 29, 27, 27, 27,
+  28, 29, 32, 31, 30, 29, 30, 30, 29, 28, 32, 33, 40, 34, 42, 56,
+  67, 102, 124, 146, 158, 161, 166, 165, 164, 170, 160, 160, 158, 157, 161, 163,
+  158, 150, 154, 152, 154, 158, 158, 151, 146, 145, 145, 152, 146, 135, 134, 132,
+  135, 146, 134, 124, 115, 93, 60, 48, 57, 64, 71, 80, 97, 103, 99, 103,
+  102, 90, 102, 103, 104, 84, 76, 68, 61, 47, 31, 22, 20, 24, 19, 15,
+  14, 13, 11, 16, 24, 42, 70, 100, 128, 153, 157, 154, 159, 160, 165, 170,
+  170, 168, 165, 166, 169, 167, 167, 167, 168, 168, 167, 168, 168, 165, 170, 164,
+  160, 164, 159, 153, 158, 158, 157, 156, 157, 157, 156, 152, 149, 149, 148, 144,
+  121, 138, 38, 35, 54, 40, 38, 32, 30, 29, 27, 30, 29, 18, 25, 35,
+  39, 34, 26, 19, 18, 36, 27, 31, 38, 35, 36, 41, 38, 27, 37, 42,
+  40, 40, 42, 45, 48, 87, 130, 165, 171, 169, 181, 188, 185, 190, 189, 188,
+  188, 187, 188, 188, 189, 195, 194, 191, 189, 187, 185, 185, 184, 184, 182, 181,
+  181, 182, 181, 179, 177, 175, 173, 169, 146, 170, 50, 44, 44, 27, 27, 25,
+  25, 25, 26, 28, 29, 26, 30, 33, 32, 29, 28, 30, 34, 34, 25, 34,
+  39, 42, 37, 42, 86, 102, 126, 142, 152, 163, 161, 153, 153, 165, 163, 159,
+  157, 161, 163, 157, 148, 156, 153, 153, 158, 160, 154, 148, 147, 148, 149, 142,
+  137, 141, 139, 140, 149, 128, 134, 141, 125, 86, 62, 59, 58, 48, 49, 57,
+  57, 51, 61, 76, 78, 83, 93, 102, 83, 67, 50, 36, 22, 12, 14, 24,
+  14, 9, 8, 12, 16, 15, 17, 23, 52, 79, 105, 129, 153, 155, 152, 159,
+  153, 160, 168, 169, 166, 164, 165, 168, 166, 166, 167, 168, 169, 169, 169, 169,
+  168, 173, 168, 164, 167, 162, 156, 159, 156, 155, 154, 155, 155, 153, 150, 147,
+  139, 153, 138, 148, 64, 32, 47, 41, 34, 32, 24, 37, 38, 24, 27, 25,
+  31, 28, 27, 25, 20, 19, 27, 37, 25, 13, 15, 24, 24, 28, 31, 26,
+  36, 33, 20, 16, 26, 29, 34, 51, 110, 142, 167, 170, 171, 182, 184, 178,
+  191, 190, 189, 187, 186, 187, 188, 188, 190, 190, 189, 188, 188, 189, 190, 190,
+  187, 186, 184, 184, 184, 182, 179, 177, 170, 172, 181, 158, 101, 27, 53, 25,
+  27, 26, 26, 27, 27, 28, 30, 31, 22, 29, 34, 33, 29, 27, 31, 36,
+  37, 24, 31, 38, 42, 35, 37, 78, 110, 116, 115, 122, 147, 162, 164, 166,
+  167, 166, 162, 158, 160, 162, 157, 149, 164, 156, 150, 151, 154, 153, 153, 154,
+  151, 150, 142, 140, 146, 141, 135, 141, 140, 139, 143, 135, 112, 93, 75, 56,
+  36, 32, 37, 42, 34, 36, 48, 53, 43, 57, 72, 58, 40, 27, 22, 15,
+  7, 9, 17, 9, 6, 7, 11, 15, 17, 21, 30, 52, 75, 102, 130, 153,
+  155, 153, 162, 150, 155, 164, 168, 168, 166, 164, 164, 165, 166, 168, 170, 171,
+  171, 171, 170, 169, 175, 170, 166, 170, 164, 157, 161, 154, 152, 151, 151, 151,
+  150, 147, 145, 137, 153, 128, 137, 16, 49, 40, 35, 32, 35, 24, 38, 39,
+  24, 30, 21, 25, 22, 24, 29, 28, 22, 19, 21, 36, 25, 27, 32, 27,
+  28, 32, 28, 21, 25, 24, 34, 47, 36, 32, 53, 135, 158, 180, 187, 190,
+  195, 193, 187, 194, 193, 192, 190, 190, 191, 192, 192, 192, 191, 191, 191, 192,
+  193, 194, 195, 190, 188, 186, 185, 185, 182, 178, 175, 169, 179, 164, 153, 30,
+  44, 34, 24, 29, 28, 29, 29, 29, 28, 27, 28, 25, 28, 31, 31, 29,
+  27, 28, 29, 36, 32, 38, 36, 42, 42, 35, 58, 115, 120, 112, 109, 126,
+  145, 160, 175, 165, 165, 162, 158, 159, 161, 158, 151, 166, 158, 150, 152, 155,
+  153, 154, 154, 152, 153, 147, 145, 146, 136, 129, 136, 148, 140, 142, 142, 135,
+  126, 102, 71, 47, 33, 38, 53, 49, 41, 41, 41, 49, 54, 56, 28, 14,
+  11, 19, 22, 12, 4, 4, 15, 12, 9, 11, 10, 14, 23, 38, 54, 77,
+  103, 130, 151, 150, 145, 154, 154, 156, 163, 171, 176, 176, 170, 165, 164, 166,
+  168, 170, 171, 172, 171, 171, 167, 173, 168, 165, 168, 163, 156, 160, 152, 150,
+  148, 147, 148, 147, 145, 144, 146, 136, 141, 70, 43, 34, 34, 40, 31, 40,
+  23, 29, 29, 22, 32, 17, 36, 26, 22, 27, 31, 28, 25, 25, 25, 18,
+  22, 26, 18, 18, 25, 25, 26, 30, 24, 30, 39, 32, 50, 99, 162, 173,
+  178, 177, 176, 182, 188, 191, 194, 194, 192, 191, 191, 193, 196, 197, 194, 193,
+  192, 191, 191, 191, 191, 192, 190, 188, 186, 185, 184, 180, 176, 172, 176, 177,
+  157, 108, 26, 47, 13, 42, 29, 30, 30, 30, 28, 26, 24, 22, 29, 27,
+  27, 28, 29, 28, 25, 22, 27, 36, 45, 33, 39, 46, 27, 28, 99, 125,
+  136, 127, 118, 114, 125, 145, 161, 163, 161, 158, 158, 160, 158, 154, 160, 155,
+  152, 157, 160, 157, 151, 148, 147, 151, 150, 151, 152, 142, 138, 150, 135, 134,
+  145, 153, 152, 150, 131, 101, 70, 38, 30, 47, 49, 44, 45, 48, 53, 49,
+  45, 23, 19, 17, 15, 13, 12, 10, 9, 12, 11, 14, 14, 11, 11, 19,
+  32, 66, 88, 104, 123, 150, 164, 160, 159, 156, 160, 167, 173, 179, 181, 173,
+  164, 156, 157, 161, 167, 172, 175, 174, 172, 171, 168, 166, 165, 164, 162, 156,
+  151, 155, 148, 151, 154, 146, 145, 146, 140, 162, 120, 126, 49, 35, 47, 29,
+  35, 34, 30, 29, 32, 36, 35, 29, 23, 19, 28, 29, 27, 28, 23, 23,
+  35, 27, 28, 27, 25, 22, 23, 25, 28, 28, 24, 24, 39, 55, 67, 100,
+  148, 175, 180, 184, 187, 188, 189, 190, 193, 194, 195, 195, 195, 195, 195, 195,
+  194, 195, 195, 194, 193, 193, 192, 191, 191, 191, 194, 192, 185, 179, 179, 178,
+  176, 185, 158, 161, 55, 41, 30, 27, 28, 28, 25, 33, 37, 27, 25, 27,
+  22, 32, 24, 31, 31, 22, 33, 41, 26, 33, 35, 37, 39, 40, 39, 37,
+  36, 82, 129, 125, 133, 137, 133, 106, 132, 139, 157, 169, 166, 160, 160, 166,
+  168, 165, 159, 157, 160, 159, 153, 150, 153, 155, 153, 151, 150, 150, 146, 143,
+  142, 130, 139, 143, 142, 144, 147, 137, 124, 65, 31, 40, 62, 53, 50, 54,
+  40, 50, 48, 45, 14, 11, 9, 7, 6, 5, 6, 6, 9, 9, 12, 14,
+  13, 13, 20, 33, 54, 86, 112, 128, 143, 147, 146, 151, 167, 167, 170, 170,
+  175, 179, 177, 171, 172, 169, 166, 165, 167, 169, 170, 170, 170, 168, 166, 166,
+  166, 163, 158, 154, 148, 142, 147, 150, 145, 146, 149, 144, 146, 140, 98, 39,
+  40, 40, 33, 32, 29, 26, 25, 28, 31, 30, 25, 20, 23, 28, 25, 23,
+  25, 19, 17, 27, 24, 26, 28, 28, 28, 28, 27, 27, 32, 26, 34, 78,
+  132, 153, 156, 166, 171, 176, 180, 184, 185, 186, 188, 190, 197, 197, 198, 198,
+  197, 197, 197, 196, 193, 193, 192, 192, 192, 191, 191, 191, 188, 188, 184, 180,
+  180, 182, 179, 174, 173, 162, 129, 28, 28, 27, 23, 33, 23, 23, 25, 21,
+  15, 23, 32, 31, 15, 25, 39, 39, 29, 29, 30, 23, 31, 33, 35, 37,
+  38, 38, 37, 36, 61, 122, 126, 131, 135, 132, 127, 125, 128, 140, 150, 154,
+  156, 162, 165, 164, 161, 154, 151, 154, 155, 152, 149, 151, 151, 153, 154, 152,
+  147, 142, 142, 144, 137, 141, 145, 147, 151, 150, 139, 128, 109, 70, 54, 56,
+  45, 44, 53, 53, 57, 54, 51, 13, 10, 8, 7, 6, 8, 9, 9, 6,
+  5, 7, 10, 9, 10, 16, 28, 74, 103, 126, 141, 158, 160, 154, 156, 158,
+  166, 176, 181, 185, 182, 171, 159, 166, 165, 165, 167, 171, 174, 175, 175, 167,
+  166, 165, 165, 166, 163, 158, 154, 147, 141, 145, 148, 144, 147, 149, 142, 136,
+  154, 63, 35, 45, 36, 40, 33, 26, 22, 22, 25, 28, 27, 22, 18, 26,
+  26, 20, 21, 27, 21, 17, 25, 37, 33, 28, 25, 26, 28, 29, 31, 28,
+  46, 74, 116, 158, 169, 164, 167, 174, 178, 183, 186, 187, 189, 191, 193, 196,
+  196, 197, 197, 197, 197, 197, 197, 191, 191, 191, 191, 191, 190, 190, 190, 187,
+  184, 180, 178, 183, 187, 182, 174, 173, 167, 96, 21, 28, 33, 21, 32, 37,
+  37, 30, 23, 30, 41, 36, 18, 22, 28, 24, 22, 29, 32, 30, 31, 28,
+  29, 32, 34, 36, 36, 36, 36, 38, 102, 130, 129, 134, 133, 147, 121, 129,
+  134, 140, 148, 158, 167, 168, 165, 164, 156, 151, 153, 157, 156, 155, 154, 149,
+  155, 158, 154, 146, 142, 144, 147, 143, 139, 141, 150, 157, 151, 140, 131, 113,
+  80, 53, 46, 44, 40, 45, 51, 43, 42, 42, 8, 9, 10, 11, 11, 12,
+  12, 11, 8, 7, 7, 10, 10, 9, 13, 22, 56, 90, 117, 130, 141, 144,
+  145, 155, 149, 161, 175, 182, 184, 179, 166, 154, 157, 160, 167, 173, 178, 177,
+  172, 168, 166, 166, 166, 165, 164, 160, 155, 151, 152, 146, 148, 149, 144, 147,
+  148, 137, 141, 130, 35, 37, 41, 37, 40, 28, 27, 25, 24, 26, 28, 28,
+  24, 21, 24, 23, 18, 22, 31, 24, 19, 27, 25, 25, 27, 31, 38, 41,
+  40, 39, 73, 110, 140, 153, 160, 160, 165, 178, 175, 179, 184, 188, 189, 191,
+  192, 195, 193, 194, 194, 195, 194, 196, 195, 195, 194, 193, 193, 192, 191, 190,
+  189, 189, 187, 187, 184, 182, 185, 188, 184, 177, 165, 141, 58, 30, 30, 38,
+  25, 28, 13, 33, 35, 24, 27, 36, 30, 18, 29, 39, 30, 23, 32, 30,
+  27, 40, 28, 29, 31, 34, 36, 37, 37, 38, 31, 69, 134, 130, 135, 140,
+  150, 128, 140, 140, 142, 146, 155, 163, 166, 167, 168, 161, 155, 155, 159, 160,
+  158, 155, 152, 157, 158, 154, 149, 148, 148, 146, 142, 133, 135, 150, 158, 151,
+  140, 135, 124, 94, 58, 47, 56, 55, 52, 59, 45, 46, 46, 2, 4, 8,
+  12, 13, 13, 10, 8, 16, 13, 12, 14, 12, 9, 11, 17, 31, 75, 116,
+  133, 141, 146, 155, 174, 157, 161, 164, 165, 167, 171, 172, 170, 172, 174, 176,
+  178, 177, 171, 162, 156, 169, 170, 171, 170, 167, 161, 156, 152, 155, 151, 153,
+  153, 148, 151, 149, 133, 145, 79, 24, 43, 30, 38, 32, 22, 25, 24, 25,
+  27, 28, 27, 26, 24, 23, 22, 18, 25, 32, 25, 21, 34, 32, 46, 67,
+  88, 102, 105, 101, 96, 133, 154, 164, 164, 172, 176, 176, 182, 173, 177, 180,
+  184, 186, 187, 189, 191, 191, 192, 192, 194, 193, 195, 194, 195, 198, 197, 195,
+  194, 192, 190, 189, 188, 186, 189, 189, 185, 182, 183, 181, 177, 158, 102, 27,
+  33, 22, 33, 32, 40, 79, 103, 90, 44, 18, 15, 26, 42, 16, 40, 47,
+  43, 41, 25, 17, 34, 29, 30, 32, 34, 36, 37, 38, 40, 38, 40, 129,
+  131, 137, 147, 140, 142, 143, 143, 142, 142, 143, 148, 156, 164, 166, 161, 155,
+  154, 156, 159, 155, 151, 153, 154, 152, 148, 150, 153, 149, 141, 138, 131, 135,
+  150, 159, 153, 144, 141, 146, 109, 59, 39, 48, 52, 51, 57, 49, 50, 48,
+  3, 6, 11, 16, 18, 17, 13, 10, 14, 10, 9, 10, 8, 5, 5, 8,
+  4, 29, 58, 88, 125, 143, 141, 141, 151, 157, 163, 165, 167, 171, 172, 170,
+  184, 182, 177, 174, 171, 169, 166, 163, 172, 174, 176, 175, 171, 165, 161, 157,
+  155, 153, 157, 157, 153, 157, 150, 130, 132, 44, 32, 49, 31, 40, 32, 25,
+  24, 23, 25, 25, 25, 25, 25, 24, 23, 23, 21, 25, 29, 20, 26, 48,
+  89, 100, 115, 129, 141, 150, 157, 161, 154, 164, 166, 164, 173, 174, 172, 175,
+  176, 180, 184, 186, 187, 188, 189, 191, 192, 192, 193, 194, 194, 195, 196, 196,
+  198, 197, 196, 194, 192, 190, 189, 188, 184, 189, 190, 185, 180, 178, 177, 174,
+  180, 116, 47, 38, 23, 31, 35, 74, 122, 159, 170, 157, 141, 98, 39, 12,
+  38, 35, 28, 31, 41, 38, 28, 28, 31, 31, 32, 34, 35, 37, 38, 39,
+  44, 32, 106, 130, 139, 149, 136, 152, 144, 144, 145, 143, 139, 139, 149, 160,
+  161, 162, 160, 157, 157, 159, 157, 153, 151, 152, 147, 143, 148, 154, 149, 136,
+  137, 135, 141, 152, 158, 156, 150, 146, 137, 102, 67, 52, 51, 51, 50, 45,
+  48, 48, 48, 9, 11, 13, 16, 17, 17, 17, 16, 12, 7, 5, 7, 6,
+  2, 0, 3, 14, 19, 27, 55, 105, 136, 136, 131, 138, 151, 164, 170, 171,
+  169, 164, 159, 174, 172, 169, 169, 170, 172, 173, 173, 168, 172, 176, 176, 173,
+  168, 164, 162, 158, 158, 162, 161, 155, 157, 147, 122, 90, 38, 42, 42, 37,
+  34, 33, 31, 23, 23, 24, 24, 24, 23, 25, 25, 24, 25, 23, 24, 25,
+  22, 43, 79, 127, 130, 132, 132, 135, 143, 158, 170, 167, 178, 180, 179, 181,
+  174, 174, 187, 181, 183, 187, 189, 189, 189, 190, 191, 190, 190, 191, 191, 192,
+  193, 194, 195, 194, 194, 193, 193, 192, 191, 191, 190, 185, 188, 187, 183, 182,
+  181, 177, 171, 187, 157, 91, 36, 32, 34, 29, 113, 153, 164, 152, 149, 172,
+  158, 120, 108, 105, 73, 50, 44, 43, 44, 40, 31, 31, 31, 32, 32, 33,
+  35, 36, 37, 40, 45, 72, 126, 140, 143, 147, 152, 149, 148, 150, 150, 143,
+  138, 142, 151, 153, 160, 163, 160, 158, 160, 161, 158, 150, 154, 151, 145, 147,
+  153, 151, 138, 135, 141, 148, 152, 154, 155, 151, 145, 132, 106, 95, 87, 70,
+  67, 71, 59, 65, 63, 64, 8, 7, 7, 8, 9, 10, 13, 14, 15, 10,
+  9, 12, 12, 9, 8, 10, 0, 14, 20, 23, 43, 70, 100, 129, 139, 148,
+  154, 155, 155, 160, 164, 164, 161, 163, 165, 168, 171, 171, 168, 166, 161, 167,
+  171, 174, 170, 166, 163, 162, 163, 163, 167, 163, 155, 154, 141, 113, 46, 39,
+  41, 26, 37, 20, 28, 28, 24, 25, 26, 26, 26, 25, 26, 27, 23, 25,
+  25, 25, 26, 29, 60, 107, 134, 145, 157, 160, 156, 154, 159, 164, 176, 175,
+  172, 178, 188, 184, 180, 190, 179, 182, 184, 186, 185, 185, 186, 187, 187, 188,
+  188, 189, 190, 191, 192, 192, 189, 189, 189, 191, 190, 192, 192, 192, 189, 188,
+  185, 183, 187, 188, 181, 171, 156, 169, 110, 21, 36, 35, 19, 137, 141, 168,
+  165, 162, 177, 165, 152, 171, 156, 140, 133, 107, 53, 28, 34, 35, 31, 31,
+  31, 31, 31, 32, 34, 35, 32, 61, 46, 122, 139, 137, 160, 148, 151, 149,
+  150, 152, 145, 135, 132, 136, 142, 153, 159, 157, 154, 157, 158, 157, 150, 159,
+  158, 150, 149, 154, 153, 144, 133, 145, 152, 148, 147, 151, 147, 140, 141, 112,
+  104, 89, 55, 55, 75, 67, 71, 66, 63, 10, 4, 1, 2, 7, 12, 13,
+  13, 10, 4, 7, 10, 7, 11, 14, 8, 17, 16, 13, 13, 11, 8, 27,
+  68, 123, 129, 137, 144, 150, 154, 158, 159, 165, 159, 158, 159, 164, 167, 167,
+  165, 162, 165, 166, 165, 163, 162, 163, 168, 172, 169, 162, 154, 159, 168, 136,
+  81, 35, 40, 38, 30, 28, 34, 34, 29, 29, 27, 24, 23, 24, 29, 34,
+  36, 33, 31, 25, 27, 46, 80, 107, 121, 141, 146, 150, 151, 152, 156, 162,
+  168, 168, 178, 183, 182, 181, 185, 183, 178, 185, 187, 188, 184, 183, 188, 191,
+  191, 187, 191, 193, 192, 192, 193, 195, 195, 191, 188, 185, 187, 189, 191, 190,
+  188, 188, 182, 186, 189, 183, 185, 185, 176, 164, 111, 78, 41, 37, 28, 27,
+  114, 157, 154, 160, 172, 175, 172, 174, 182, 165, 179, 177, 165, 138, 79, 30,
+  27, 30, 29, 40, 43, 33, 29, 34, 36, 42, 39, 53, 100, 141, 142, 142,
+  156, 148, 156, 159, 154, 145, 141, 138, 135, 136, 149, 161, 163, 158, 159, 159,
+  158, 157, 158, 157, 154, 147, 142, 138, 137, 145, 143, 145, 152, 153, 148, 145,
+  142, 143, 123, 116, 80, 65, 70, 61, 72, 65, 61, 60, 11, 11, 11, 11,
+  11, 9, 9, 9, 14, 7, 10, 13, 11, 14, 17, 12, 7, 14, 16, 19,
+  18, 2, 0, 13, 54, 100, 127, 123, 127, 153, 161, 147, 155, 154, 154, 156,
+  155, 156, 159, 162, 161, 165, 166, 163, 156, 155, 160, 168, 179, 174, 170, 164,
+  159, 149, 102, 42, 49, 47, 46, 44, 37, 29, 28, 32, 29, 28, 29, 31,
+  33, 30, 23, 18, 40, 29, 39, 76, 107, 117, 124, 137, 142, 148, 156, 160,
+  160, 159, 161, 163, 167, 174, 179, 177, 178, 183, 185, 183, 180, 183, 184, 182,
+  185, 189, 189, 185, 196, 190, 183, 180, 184, 188, 186, 181, 189, 185, 184, 184,
+  186, 188, 189, 188, 189, 182, 186, 187, 182, 183, 184, 176, 175, 129, 85, 32,
+  29, 36, 31, 94, 155, 144, 146, 161, 168, 159, 155, 162, 154, 167, 172, 177,
+  177, 143, 80, 32, 50, 32, 21, 27, 34, 34, 34, 36, 42, 31, 49, 75,
+  127, 142, 143, 147, 147, 153, 155, 150, 145, 142, 138, 133, 143, 133, 145, 166,
+  167, 160, 161, 165, 161, 161, 160, 157, 152, 149, 145, 144, 148, 146, 148, 153,
+  153, 148, 142, 141, 144, 130, 115, 78, 50, 63, 59, 71, 68, 66, 65, 7,
+  12, 17, 17, 13, 8, 7, 8, 15, 8, 12, 15, 11, 14, 17, 11, 10,
+  17, 13, 10, 16, 12, 6, 10, 18, 53, 97, 126, 140, 144, 142, 138, 147,
+  152, 156, 155, 151, 151, 159, 166, 160, 164, 166, 162, 156, 156, 162, 171, 159,
+  169, 176, 160, 130, 114, 104, 88, 49, 48, 38, 30, 35, 45, 37, 19, 32,
+  28, 22, 22, 28, 34, 39, 39, 36, 40, 67, 110, 134, 134, 132, 140, 146,
+  152, 159, 163, 164, 164, 166, 169, 168, 172, 175, 174, 175, 181, 185, 186, 183,
+  185, 184, 183, 186, 190, 187, 181, 177, 178, 182, 187, 189, 187, 182, 177, 187,
+  183, 182, 182, 184, 187, 189, 188, 190, 182, 185, 185, 179, 180, 182, 174, 169,
+  130, 81, 26, 30, 44, 19, 35, 96, 143, 163, 142, 136, 162, 169, 155, 174,
+  175, 170, 161, 164, 158, 106, 36, 20, 40, 40, 28, 33, 40, 34, 26, 43,
+  26, 46, 48, 103, 144, 146, 142, 149, 152, 152, 149, 148, 147, 142, 135, 143,
+  124, 134, 156, 160, 165, 169, 160, 165, 162, 158, 157, 157, 155, 152, 149, 149,
+  147, 148, 152, 153, 148, 142, 141, 141, 138, 116, 85, 32, 48, 42, 53, 52,
+  55, 60, 4, 8, 13, 14, 13, 10, 8, 8, 12, 5, 10, 13, 9, 13,
+  16, 11, 14, 21, 11, 2, 10, 19, 20, 25, 7, 12, 38, 80, 110, 119,
+  122, 129, 143, 149, 153, 152, 150, 151, 156, 162, 158, 160, 161, 161, 160, 162,
+  166, 170, 179, 160, 152, 154, 158, 165, 162, 147, 150, 119, 78, 48, 33, 31,
+  38, 46, 31, 33, 34, 33, 30, 27, 26, 26, 53, 84, 112, 119, 120, 129,
+  136, 139, 148, 150, 150, 150, 151, 156, 165, 172, 167, 170, 172, 173, 174, 177,
+  181, 183, 184, 186, 186, 182, 181, 182, 180, 176, 178, 179, 181, 177, 171, 171,
+  183, 196, 181, 181, 183, 185, 186, 187, 187, 187, 190, 182, 184, 184, 177, 178,
+  180, 173, 177, 159, 123, 64, 45, 47, 27, 35, 47, 70, 113, 149, 151, 136,
+  138, 156, 159, 158, 162, 157, 156, 175, 164, 119, 29, 45, 44, 36, 40, 37,
+  29, 28, 42, 32, 43, 38, 71, 145, 148, 147, 154, 154, 152, 151, 154, 155,
+  149, 140, 139, 132, 136, 136, 137, 166, 178, 151, 167, 161, 156, 155, 157, 157,
+  153, 148, 146, 144, 145, 150, 151, 147, 143, 142, 131, 139, 120, 102, 31, 45,
+  36, 41, 38, 47, 54, 10, 9, 8, 10, 12, 13, 10, 8, 9, 3, 8,
+  12, 9, 14, 19, 13, 5, 21, 19, 9, 13, 15, 10, 9, 9, 18, 17,
+  18, 47, 98, 126, 130, 139, 144, 147, 148, 147, 147, 147, 149, 158, 157, 156,
+  158, 160, 162, 161, 160, 166, 156, 161, 174, 179, 181, 174, 159, 156, 139, 145,
+  156, 117, 48, 16, 27, 25, 28, 31, 29, 30, 42, 61, 79, 108, 132, 145,
+  135, 125, 131, 142, 146, 141, 143, 142, 140, 139, 142, 149, 156, 158, 161, 165,
+  170, 172, 174, 177, 181, 175, 181, 182, 176, 172, 173, 176, 176, 175, 178, 185,
+  190, 184, 173, 169, 171, 174, 178, 184, 188, 188, 187, 186, 185, 189, 182, 184,
+  184, 177, 178, 180, 171, 163, 167, 151, 91, 37, 16, 17, 42, 32, 36, 69,
+  124, 157, 153, 141, 140, 158, 159, 171, 171, 158, 160, 158, 133, 114, 71, 34,
+  33, 40, 30, 28, 44, 35, 41, 39, 42, 42, 134, 148, 157, 156, 155, 153,
+  152, 156, 158, 152, 143, 142, 140, 140, 131, 129, 154, 172, 160, 166, 162, 156,
+  155, 158, 158, 152, 147, 144, 141, 142, 148, 150, 147, 144, 144, 126, 135, 120,
+  116, 41, 48, 47, 47, 41, 49, 54, 18, 13, 9, 9, 12, 13, 11, 7,
+  11, 6, 10, 14, 10, 14, 19, 14, 3, 19, 19, 10, 11, 11, 8, 12,
+  17, 23, 24, 20, 26, 49, 77, 100, 128, 136, 140, 144, 145, 145, 144, 142,
+  156, 155, 153, 153, 154, 154, 151, 150, 144, 161, 185, 185, 162, 153, 161, 166,
+  153, 152, 149, 141, 129, 103, 63, 32, 33, 43, 56, 66, 79, 104, 134, 157,
+  150, 144, 142, 147, 146, 140, 141, 147, 144, 148, 150, 150, 145, 141, 140, 142,
+  145, 147, 154, 162, 167, 168, 172, 178, 170, 176, 178, 175, 173, 175, 177, 175,
+  172, 164, 167, 184, 193, 187, 172, 164, 170, 175, 182, 186, 187, 185, 184, 184,
+  187, 180, 184, 186, 179, 179, 180, 171, 176, 177, 169, 141, 100, 68, 48, 40,
+  29, 50, 56, 53, 87, 142, 163, 151, 137, 136, 145, 156, 159, 162, 163, 154,
+  151, 128, 93, 48, 20, 32, 45, 34, 30, 44, 35, 46, 31, 107, 150, 162,
+  156, 155, 153, 151, 154, 157, 152, 144, 149, 141, 138, 144, 141, 133, 144, 168,
+  165, 162, 159, 160, 160, 159, 155, 151, 145, 141, 142, 147, 150, 147, 144, 145,
+  139, 134, 117, 116, 44, 34, 43, 37, 30, 38, 41, 12, 11, 9, 9, 10,
+  11, 10, 9, 14, 7, 10, 14, 10, 12, 15, 9, 10, 17, 10, 3, 8,
+  9, 14, 25, 13, 8, 17, 30, 21, 2, 10, 39, 92, 108, 122, 132, 135,
+  138, 141, 146, 150, 152, 153, 149, 146, 147, 152, 158, 181, 173, 171, 171, 171,
+  180, 178, 160, 155, 169, 164, 146, 151, 156, 111, 48, 85, 102, 127, 146, 153,
+  151, 144, 141, 152, 143, 141, 148, 151, 148, 144, 146, 150, 154, 157, 157, 151,
+  147, 145, 145, 141, 140, 145, 151, 155, 156, 162, 170, 170, 171, 172, 173, 177,
+  177, 170, 160, 160, 135, 114, 114, 126, 142, 163, 182, 167, 173, 178, 180, 180,
+  180, 183, 185, 185, 179, 185, 188, 182, 181, 181, 171, 166, 162, 154, 152, 144,
+  125, 86, 36, 49, 27, 21, 31, 38, 51, 96, 149, 162, 165, 156, 150, 155,
+  153, 147, 147, 141, 153, 153, 90, 22, 35, 57, 27, 30, 41, 37, 44, 41,
+  75, 159, 163, 157, 158, 156, 153, 155, 157, 153, 146, 146, 150, 145, 152, 152,
+  118, 108, 144, 160, 160, 161, 163, 161, 160, 157, 154, 151, 146, 146, 149, 150,
+  147, 143, 144, 149, 129, 117, 120, 57, 24, 38, 22, 17, 27, 32, 0, 4,
+  8, 9, 8, 7, 10, 14, 15, 7, 10, 12, 6, 7, 9, 2, 10, 14,
+  8, 6, 12, 7, 4, 11, 20, 26, 25, 18, 16, 20, 20, 18, 48, 72,
+  97, 111, 117, 123, 134, 145, 143, 150, 153, 147, 141, 145, 161, 175, 171, 169,
+  170, 165, 163, 172, 170, 149, 149, 144, 147, 156, 149, 135, 135, 148, 152, 147,
+  142, 140, 143, 148, 149, 151, 139, 157, 161, 148, 145, 158, 162, 153, 150, 152,
+  152, 150, 146, 146, 149, 153, 144, 140, 140, 144, 145, 144, 150, 160, 167, 165,
+  161, 164, 172, 171, 154, 134, 86, 80, 80, 82, 79, 81, 103, 130, 168, 172,
+  174, 174, 174, 176, 182, 186, 183, 178, 185, 190, 184, 183, 182, 171, 169, 174,
+  167, 158, 149, 150, 137, 96, 61, 44, 39, 47, 42, 33, 47, 75, 116, 141,
+  142, 138, 149, 154, 148, 154, 161, 129, 140, 126, 54, 29, 50, 46, 35, 38,
+  42, 41, 57, 56, 168, 162, 160, 162, 160, 157, 157, 158, 155, 150, 135, 163,
+  158, 148, 150, 113, 84, 107, 152, 154, 159, 161, 161, 159, 157, 157, 156, 151,
+  149, 152, 151, 147, 143, 143, 144, 118, 118, 131, 81, 34, 49, 26, 26, 34,
+  40, 7, 9, 9, 6, 6, 11, 14, 12, 11, 12, 12, 11, 10, 9, 7,
+  7, 11, 13, 12, 10, 8, 8, 10, 13, 14, 18, 20, 18, 19, 17, 11,
+  7, 29, 13, 61, 111, 97, 105, 136, 132, 137, 149, 142, 131, 145, 164, 167,
+  165, 167, 162, 158, 159, 161, 158, 149, 141, 154, 145, 136, 137, 136, 137, 146,
+  155, 143, 142, 139, 138, 140, 143, 146, 148, 152, 155, 157, 158, 158, 154, 149,
+  146, 164, 156, 149, 150, 157, 160, 156, 150, 153, 150, 148, 148, 150, 150, 148,
+  145, 148, 153, 145, 138, 151, 156, 117, 65, 73, 82, 53, 60, 70, 82, 91,
+  100, 147, 170, 174, 165, 168, 174, 178, 184, 178, 176, 177, 180, 185, 186, 180,
+  175, 174, 176, 170, 159, 153, 153, 149, 143, 120, 91, 57, 38, 40, 44, 39,
+  31, 44, 103, 153, 154, 138, 139, 146, 148, 148, 153, 164, 131, 117, 51, 24,
+  57, 45, 35, 42, 52, 38, 79, 159, 173, 155, 167, 166, 154, 152, 161, 160,
+  149, 139, 150, 151, 151, 155, 138, 105, 83, 117, 161, 160, 165, 163, 158, 165,
+  153, 155, 153, 149, 144, 144, 146, 141, 135, 132, 123, 119, 127, 89, 39, 46,
+  57, 43, 53, 73, 8, 10, 9, 6, 6, 11, 13, 11, 11, 11, 11, 11,
+  10, 9, 8, 8, 11, 12, 11, 9, 7, 9, 12, 15, 10, 14, 17, 17,
+  19, 22, 18, 15, 29, 8, 30, 65, 79, 111, 133, 112, 107, 102, 103, 128,
+  157, 164, 169, 187, 146, 145, 145, 148, 152, 154, 150, 146, 145, 142, 141, 146,
+  144, 139, 138, 141, 144, 144, 145, 146, 147, 148, 148, 148, 151, 153, 154, 155,
+  154, 152, 148, 146, 157, 150, 146, 147, 153, 156, 154, 150, 153, 153, 153, 155,
+  157, 155, 152, 148, 147, 147, 139, 130, 120, 110, 91, 74, 58, 75, 76, 65,
+  59, 69, 75, 83, 100, 134, 160, 169, 179, 180, 173, 172, 184, 183, 183, 180,
+  178, 176, 175, 175, 172, 176, 172, 164, 161, 161, 158, 153, 144, 145, 130, 96,
+  56, 33, 35, 47, 29, 47, 78, 117, 150, 161, 150, 134, 166, 155, 151, 146,
+  158, 107, 35, 21, 35, 38, 40, 47, 52, 101, 169, 175, 156, 163, 165, 159,
+  157, 161, 158, 149, 141, 147, 146, 147, 150, 135, 102, 77, 34, 107, 137, 145,
+  145, 152, 172, 165, 151, 151, 150, 146, 147, 148, 142, 135, 144, 127, 114, 123,
+  98, 59, 58, 54, 68, 70, 78, 9, 12, 12, 8, 7, 11, 11, 9, 9,
+  9, 11, 11, 11, 10, 9, 10, 11, 12, 10, 9, 7, 10, 13, 17, 11,
+  13, 15, 15, 19, 23, 21, 19, 25, 22, 19, 12, 16, 43, 56, 39, 24,
+  56, 104, 155, 176, 153, 132, 137, 144, 147, 151, 156, 158, 160, 160, 159, 144,
+  144, 146, 151, 148, 142, 137, 137, 140, 143, 147, 150, 149, 148, 146, 144, 146,
+  148, 148, 148, 146, 146, 145, 143, 147, 145, 143, 145, 147, 150, 150, 150, 152,
+  154, 157, 164, 166, 167, 162, 158, 154, 148, 145, 142, 120, 87, 66, 66, 60,
+  63, 36, 52, 51, 72, 61, 102, 116, 145, 165, 173, 184, 188, 186, 188, 185,
+  186, 186, 182, 175, 175, 180, 186, 174, 176, 176, 172, 170, 170, 167, 162, 153,
+  158, 157, 142, 118, 102, 100, 105, 91, 63, 49, 69, 97, 118, 139, 158, 146,
+  146, 141, 147, 155, 130, 55, 34, 30, 44, 38, 49, 83, 134, 180, 177, 159,
+  159, 160, 162, 163, 160, 154, 150, 146, 145, 146, 147, 146, 133, 105, 79, 42,
+  57, 80, 127, 163, 155, 165, 176, 150, 151, 151, 148, 148, 148, 143, 136, 131,
+  120, 110, 118, 103, 77, 80, 70, 80, 77, 71, 10, 13, 13, 9, 8, 10,
+  10, 6, 8, 8, 10, 11, 11, 11, 10, 11, 11, 11, 9, 9, 8, 11,
+  16, 20, 15, 16, 15, 13, 14, 18, 17, 15, 17, 29, 22, 5, 7, 21,
+  25, 23, 22, 91, 141, 148, 144, 143, 139, 139, 153, 158, 164, 167, 164, 161,
+  158, 159, 150, 149, 146, 146, 145, 144, 144, 146, 142, 144, 147, 150, 151, 149,
+  146, 144, 148, 147, 147, 146, 146, 145, 146, 146, 145, 146, 146, 146, 146, 145,
+  147, 149, 149, 152, 159, 166, 170, 173, 171, 169, 167, 153, 148, 151, 142, 115,
+  92, 83, 66, 84, 71, 44, 58, 63, 100, 88, 135, 153, 160, 159, 167, 174,
+  179, 189, 190, 191, 191, 187, 181, 179, 184, 188, 179, 181, 182, 181, 178, 175,
+  171, 168, 173, 166, 161, 161, 164, 161, 151, 141, 143, 123, 110, 107, 100, 93,
+  109, 133, 145, 157, 156, 157, 143, 131, 62, 43, 33, 46, 36, 66, 127, 166,
+  183, 178, 164, 155, 154, 161, 163, 156, 150, 150, 148, 145, 150, 153, 145, 134,
+  116, 94, 76, 37, 33, 79, 142, 139, 146, 161, 151, 153, 152, 148, 146, 146,
+  143, 138, 132, 133, 126, 121, 91, 64, 70, 61, 68, 71, 66, 10, 14, 13,
+  9, 8, 10, 9, 5, 9, 9, 10, 11, 12, 12, 11, 11, 10, 11, 11,
+  10, 10, 13, 18, 21, 19, 19, 17, 14, 14, 18, 17, 14, 22, 25, 17,
+  17, 32, 33, 23, 24, 50, 118, 150, 128, 121, 143, 157, 158, 150, 157, 163,
+  163, 156, 148, 142, 141, 148, 147, 144, 142, 142, 146, 149, 151, 150, 151, 152,
+  153, 153, 153, 152, 152, 154, 152, 151, 151, 151, 152, 153, 154, 148, 151, 152,
+  150, 148, 146, 146, 148, 149, 153, 158, 163, 165, 168, 169, 169, 168, 159, 146,
+  143, 146, 149, 142, 132, 101, 99, 36, 112, 49, 63, 105, 123, 129, 148, 157,
+  161, 170, 172, 172, 179, 197, 195, 193, 191, 187, 184, 181, 179, 184, 185, 187,
+  189, 188, 184, 180, 178, 175, 175, 174, 170, 165, 162, 163, 164, 164, 158, 153,
+  149, 141, 129, 117, 110, 123, 128, 128, 140, 142, 143, 70, 29, 37, 44, 40,
+  93, 165, 183, 181, 180, 169, 155, 149, 156, 160, 153, 148, 150, 145, 141, 155,
+  159, 145, 135, 127, 110, 62, 52, 50, 41, 95, 123, 149, 154, 154, 156, 153,
+  146, 142, 143, 141, 138, 123, 127, 122, 117, 89, 66, 72, 61, 62, 67, 64,
+  10, 13, 13, 10, 9, 10, 9, 5, 10, 10, 11, 11, 12, 11, 10, 9,
+  10, 11, 12, 13, 12, 14, 17, 20, 19, 21, 19, 17, 19, 23, 22, 17,
+  15, 19, 19, 24, 26, 16, 15, 31, 74, 115, 138, 141, 149, 153, 147, 140,
+  150, 155, 159, 159, 152, 145, 139, 137, 137, 141, 143, 144, 146, 149, 149, 147,
+  153, 152, 151, 151, 151, 152, 151, 152, 150, 150, 150, 150, 151, 151, 152, 153,
+  154, 156, 157, 156, 153, 151, 150, 150, 151, 155, 159, 161, 161, 163, 162, 163,
+  156, 164, 163, 151, 147, 156, 156, 147, 154, 142, 165, 252, 76, 57, 119, 116,
+  144, 158, 163, 167, 176, 177, 177, 186, 187, 188, 190, 193, 193, 192, 189, 186,
+  188, 188, 191, 196, 197, 194, 192, 193, 180, 180, 177, 172, 168, 168, 172, 178,
+  171, 173, 166, 154, 151, 154, 152, 144, 142, 133, 133, 139, 147, 151, 96, 55,
+  43, 53, 62, 124, 183, 182, 178, 182, 174, 159, 149, 152, 157, 153, 148, 146,
+  143, 134, 152, 161, 145, 137, 136, 119, 67, 50, 63, 48, 99, 115, 137, 149,
+  151, 154, 153, 146, 142, 142, 140, 138, 125, 120, 110, 113, 95, 72, 72, 54,
+  42, 45, 44, 8, 11, 12, 9, 10, 11, 10, 6, 11, 11, 11, 11, 10,
+  9, 8, 7, 8, 11, 13, 14, 14, 16, 16, 18, 18, 20, 20, 18, 20,
+  24, 23, 17, 2, 10, 23, 29, 26, 34, 64, 96, 126, 137, 141, 147, 161,
+  163, 159, 161, 154, 154, 153, 150, 148, 145, 144, 143, 137, 142, 146, 145, 148,
+  153, 153, 149, 150, 150, 150, 150, 149, 149, 149, 149, 148, 147, 148, 149, 150,
+  150, 151, 152, 157, 159, 159, 159, 158, 157, 155, 153, 153, 159, 166, 169, 168,
+  168, 166, 166, 157, 169, 174, 165, 157, 156, 151, 142, 146, 173, 137, 60, 155,
+  148, 160, 155, 155, 162, 158, 158, 167, 172, 178, 192, 184, 190, 196, 198, 197,
+  195, 197, 198, 191, 189, 191, 198, 199, 195, 195, 198, 206, 195, 184, 180, 183,
+  183, 176, 169, 163, 177, 182, 176, 167, 165, 164, 162, 162, 144, 146, 124, 115,
+  99, 62, 30, 59, 84, 107, 155, 182, 172, 176, 181, 175, 164, 153, 153, 158,
+  158, 149, 140, 148, 130, 148, 162, 149, 144, 143, 119, 77, 29, 48, 60, 126,
+  114, 113, 128, 141, 148, 152, 148, 144, 143, 140, 137, 143, 134, 120, 119, 89,
+  52, 45, 29, 29, 30, 36, 8, 12, 12, 9, 10, 12, 10, 7, 12, 12,
+  12, 11, 10, 9, 7, 7, 8, 11, 14, 16, 16, 15, 16, 17, 17, 19,
+  19, 17, 18, 21, 19, 11, 24, 15, 15, 21, 36, 71, 108, 124, 126, 144,
+  146, 144, 153, 161, 161, 166, 148, 144, 138, 135, 134, 136, 138, 139, 145, 149,
+  148, 145, 147, 154, 158, 156, 152, 153, 153, 154, 153, 153, 151, 151, 152, 153,
+  154, 156, 156, 157, 157, 158, 159, 158, 158, 160, 162, 162, 159, 157, 153, 161,
+  172, 179, 180, 178, 177, 176, 176, 170, 161, 158, 160, 164, 163, 158, 164, 126,
+  153, 163, 143, 166, 148, 156, 151, 160, 162, 168, 181, 186, 192, 205, 199, 207,
+  212, 207, 196, 190, 192, 197, 193, 190, 191, 196, 196, 190, 190, 194, 187, 185,
+  183, 186, 188, 190, 190, 188, 190, 184, 177, 173, 171, 171, 172, 173, 175, 155,
+  174, 158, 161, 133, 93, 52, 77, 117, 148, 176, 175, 163, 175, 178, 176, 167,
+  157, 156, 161, 162, 150, 136, 155, 131, 145, 163, 153, 151, 148, 119, 74, 46,
+  76, 77, 146, 145, 135, 130, 133, 143, 151, 150, 148, 146, 141, 136, 115, 117,
+  118, 121, 84, 44, 48, 50, 62, 58, 62, 11, 11, 11, 10, 10, 9, 10,
+  9, 9, 12, 12, 12, 9, 8, 8, 8, 9, 12, 14, 16, 16, 16, 17,
+  19, 19, 24, 25, 20, 18, 18, 17, 11, 8, 18, 11, 36, 72, 123, 129,
+  136, 147, 158, 148, 159, 140, 127, 102, 113, 113, 119, 123, 124, 127, 136, 143,
+  146, 140, 143, 149, 152, 154, 155, 157, 158, 148, 148, 148, 148, 149, 151, 153,
+  154, 149, 155, 158, 157, 157, 159, 160, 159, 164, 165, 165, 164, 161, 160, 160,
+  161, 164, 174, 174, 173, 179, 176, 172, 177, 178, 172, 166, 163, 160, 159, 156,
+  155, 154, 154, 151, 154, 157, 158, 155, 152, 161, 163, 165, 162, 158, 162, 174,
+  183, 202, 210, 208, 193, 184, 187, 189, 186, 181, 183, 189, 193, 189, 184, 187,
+  194, 189, 187, 184, 182, 179, 178, 178, 179, 179, 189, 191, 182, 180, 188, 191,
+  186, 176, 171, 174, 174, 163, 151, 129, 101, 122, 145, 167, 177, 178, 179, 176,
+  171, 184, 168, 155, 159, 167, 163, 150, 139, 149, 157, 147, 133, 152, 178, 162,
+  121, 99, 40, 75, 119, 145, 142, 158, 169, 142, 129, 142, 155, 145, 141, 142,
+  128, 126, 117, 117, 121, 69, 71, 69, 60, 70, 81, 82, 10, 10, 10, 10,
+  11, 11, 12, 12, 9, 11, 12, 11, 9, 8, 10, 10, 11, 14, 16, 17,
+  16, 16, 17, 18, 22, 27, 25, 19, 15, 17, 14, 10, 25, 21, 31, 83,
+  104, 126, 128, 145, 135, 157, 165, 121, 89, 58, 34, 50, 52, 74, 102, 123,
+  135, 141, 140, 137, 147, 150, 154, 155, 154, 153, 153, 154, 151, 150, 150, 151,
+  152, 154, 155, 156, 155, 160, 162, 160, 158, 160, 160, 159, 163, 166, 168, 168,
+  165, 164, 165, 165, 161, 170, 170, 169, 175, 173, 169, 174, 168, 166, 164, 162,
+  161, 160, 157, 154, 154, 153, 152, 155, 160, 164, 163, 162, 161, 162, 163, 165,
+  165, 165, 165, 167, 177, 192, 199, 194, 189, 190, 185, 179, 185, 183, 185, 191,
+  193, 189, 186, 187, 187, 186, 184, 183, 182, 182, 181, 181, 179, 188, 190, 182,
+  179, 185, 185, 180, 195, 187, 185, 182, 174, 174, 167, 150, 152, 167, 178, 179,
+  176, 176, 176, 173, 182, 173, 167, 171, 173, 166, 152, 144, 138, 152, 160, 156,
+  155, 153, 141, 125, 103, 57, 95, 133, 154, 148, 157, 161, 181, 148, 135, 144,
+  148, 153, 149, 126, 122, 112, 114, 121, 71, 66, 66, 67, 91, 99, 100, 9,
+  9, 10, 11, 11, 12, 14, 14, 10, 11, 13, 13, 11, 11, 13, 14, 14,
+  17, 19, 19, 17, 17, 17, 19, 20, 22, 20, 16, 15, 17, 15, 13, 28,
+  20, 48, 110, 118, 132, 138, 151, 155, 164, 145, 53, 40, 37, 59, 101, 95,
+  114, 133, 142, 143, 143, 142, 140, 146, 149, 151, 152, 150, 148, 148, 148, 154,
+  153, 154, 154, 156, 157, 159, 160, 158, 163, 165, 162, 161, 163, 164, 163, 161,
+  164, 168, 169, 168, 167, 167, 168, 160, 170, 168, 167, 172, 169, 165, 171, 163,
+  163, 163, 164, 164, 162, 158, 154, 154, 153, 153, 156, 162, 168, 171, 173, 172,
+  168, 165, 166, 172, 173, 168, 163, 166, 180, 190, 190, 188, 187, 183, 176, 184,
+  178, 177, 186, 195, 195, 187, 182, 184, 184, 184, 185, 185, 185, 186, 186, 182,
+  190, 192, 186, 183, 186, 184, 178, 189, 182, 180, 175, 169, 176, 181, 172, 172,
+  180, 185, 183, 178, 176, 174, 172, 176, 173, 173, 178, 177, 166, 152, 146, 140,
+  147, 162, 172, 162, 142, 132, 133, 96, 77, 124, 144, 149, 141, 156, 167, 182,
+  148, 127, 130, 140, 149, 142, 120, 122, 114, 115, 115, 69, 58, 61, 67, 76,
+  83, 82, 11, 11, 11, 11, 11, 12, 13, 13, 12, 13, 15, 15, 14, 14,
+  18, 19, 14, 17, 19, 20, 19, 18, 20, 21, 15, 15, 13, 13, 14, 18,
+  20, 20, 28, 32, 64, 115, 113, 144, 155, 147, 155, 154, 98, 37, 43, 41,
+  63, 86, 121, 133, 141, 141, 138, 144, 150, 156, 142, 146, 148, 151, 150, 151,
+  151, 153, 155, 155, 156, 156, 158, 159, 161, 162, 159, 164, 166, 163, 162, 165,
+  167, 165, 160, 164, 167, 169, 167, 165, 164, 164, 164, 172, 169, 168, 172, 169,
+  164, 170, 164, 164, 163, 165, 165, 164, 159, 156, 153, 152, 152, 154, 159, 166,
+  173, 176, 179, 171, 162, 161, 166, 171, 172, 170, 173, 180, 183, 181, 178, 181,
+  182, 180, 180, 174, 171, 180, 190, 192, 188, 185, 182, 183, 184, 184, 185, 185,
+  185, 185, 185, 191, 194, 191, 190, 191, 187, 181, 190, 187, 190, 187, 179, 183,
+  188, 181, 172, 179, 186, 189, 187, 184, 180, 176, 175, 171, 172, 179, 180, 170,
+  157, 150, 155, 149, 152, 164, 167, 155, 144, 144, 106, 93, 130, 136, 147, 147,
+  156, 159, 140, 130, 125, 128, 133, 134, 128, 118, 119, 120, 116, 93, 52, 45,
+  52, 54, 64, 75, 78, 14, 13, 12, 11, 10, 9, 10, 9, 11, 12, 13,
+  13, 12, 14, 16, 20, 14, 15, 18, 20, 19, 20, 21, 22, 15, 12, 10,
+  12, 17, 19, 21, 23, 36, 41, 73, 122, 119, 149, 157, 143, 144, 133, 42,
+  41, 48, 38, 56, 63, 110, 126, 140, 144, 143, 145, 146, 146, 148, 151, 154,
+  155, 156, 157, 160, 162, 156, 156, 156, 157, 158, 160, 161, 162, 163, 167, 168,
+  163, 161, 164, 165, 163, 162, 166, 169, 170, 166, 164, 162, 162, 166, 173, 169,
+  165, 168, 165, 160, 167, 168, 167, 164, 162, 163, 161, 158, 156, 152, 151, 150,
+  151, 153, 159, 165, 169, 173, 170, 164, 159, 159, 163, 166, 169, 175, 177, 176,
+  173, 171, 175, 178, 180, 180, 174, 172, 176, 180, 182, 183, 187, 182, 182, 182,
+  182, 182, 182, 183, 183, 183, 188, 191, 193, 194, 194, 190, 185, 190, 189, 194,
+  191, 181, 184, 188, 181, 173, 175, 180, 186, 189, 189, 186, 185, 179, 170, 166,
+  173, 179, 175, 164, 157, 159, 156, 154, 157, 164, 163, 154, 143, 120, 103, 125,
+  128, 155, 159, 147, 130, 117, 125, 128, 132, 135, 132, 125, 124, 115, 122, 110,
+  66, 38, 41, 53, 45, 63, 81, 90, 14, 13, 12, 11, 9, 8, 7, 7,
+  9, 10, 10, 9, 9, 10, 13, 16, 14, 17, 18, 20, 19, 19, 20, 21,
+  19, 13, 10, 14, 18, 18, 17, 20, 29, 34, 66, 126, 131, 146, 148, 154,
+  152, 110, 15, 38, 38, 47, 85, 110, 129, 139, 147, 149, 148, 147, 144, 142,
+  153, 155, 156, 157, 156, 156, 158, 160, 157, 157, 157, 158, 159, 161, 162, 163,
+  168, 171, 170, 164, 160, 161, 162, 160, 166, 168, 170, 171, 168, 164, 163, 163,
+  162, 169, 166, 162, 165, 162, 158, 165, 169, 166, 164, 163, 161, 159, 156, 155,
+  153, 152, 151, 149, 147, 149, 153, 159, 165, 168, 170, 169, 165, 162, 164, 166,
+  167, 168, 170, 172, 172, 173, 174, 174, 182, 178, 175, 176, 175, 173, 176, 182,
+  181, 180, 179, 178, 179, 180, 182, 183, 180, 182, 186, 190, 193, 193, 190, 186,
+  185, 181, 183, 179, 171, 177, 184, 178, 175, 170, 166, 171, 175, 178, 180, 183,
+  176, 165, 157, 162, 170, 169, 162, 157, 149, 162, 167, 162, 158, 157, 149, 137,
+  108, 115, 148, 141, 150, 139, 128, 126, 129, 136, 128, 126, 137, 137, 127, 125,
+  120, 122, 107, 58, 49, 55, 67, 58, 63, 82, 93, 11, 12, 11, 10, 9,
+  8, 7, 7, 9, 10, 11, 9, 8, 10, 13, 16, 17, 20, 21, 21, 19,
+  17, 16, 17, 19, 12, 10, 17, 22, 21, 17, 20, 26, 48, 71, 114, 122,
+  141, 145, 160, 146, 77, 44, 58, 65, 79, 96, 115, 130, 135, 136, 138, 143,
+  153, 157, 156, 154, 155, 156, 155, 153, 154, 155, 156, 158, 158, 159, 159, 160,
+  162, 164, 165, 167, 171, 170, 164, 162, 164, 165, 164, 165, 167, 168, 168, 165,
+  165, 165, 165, 158, 165, 162, 161, 166, 164, 162, 170, 169, 169, 168, 168, 167,
+  165, 159, 157, 154, 154, 153, 148, 145, 145, 147, 151, 156, 160, 164, 165, 165,
+  166, 169, 171, 166, 165, 166, 168, 170, 171, 171, 173, 178, 177, 176, 178, 178,
+  174, 174, 178, 180, 178, 176, 175, 177, 180, 185, 187, 182, 181, 183, 189, 193,
+  193, 190, 187, 190, 186, 188, 186, 180, 186, 191, 184, 175, 166, 161, 165, 169,
+  170, 171, 173, 175, 166, 159, 161, 164, 162, 158, 158, 153, 163, 168, 164, 156,
+  151, 143, 135, 103, 123, 161, 144, 141, 122, 124, 143, 143, 151, 137, 126, 135,
+  133, 124, 126, 127, 115, 97, 61, 70, 65, 75, 72, 77, 93, 101, 9, 9,
+  9, 9, 9, 8, 8, 8, 13, 14, 14, 12, 11, 12, 16, 19, 20, 22,
+  22, 21, 17, 14, 13, 13, 15, 9, 9, 19, 24, 24, 21, 25, 44, 89,
+  99, 103, 105, 140, 147, 154, 143, 49, 69, 69, 103, 135, 134, 148, 145, 149,
+  150, 153, 156, 160, 155, 150, 156, 159, 158, 158, 157, 158, 159, 161, 160, 160,
+  160, 161, 162, 164, 165, 166, 162, 166, 167, 164, 164, 169, 172, 172, 160, 162,
+  164, 163, 162, 162, 163, 166, 156, 164, 162, 161, 169, 169, 167, 176, 170, 172,
+  174, 176, 177, 173, 166, 159, 155, 156, 154, 149, 144, 143, 145, 148, 144, 144,
+  144, 146, 153, 162, 170, 176, 175, 170, 165, 164, 165, 168, 171, 175, 173, 172,
+  174, 181, 184, 182, 179, 179, 178, 177, 174, 173, 176, 182, 188, 192, 186, 184,
+  185, 190, 194, 194, 191, 189, 184, 182, 188, 190, 184, 187, 185, 173, 176, 169,
+  167, 176, 180, 176, 171, 169, 180, 175, 171, 171, 168, 163, 162, 165, 167, 160,
+  156, 159, 159, 154, 144, 138, 125, 122, 137, 125, 143, 138, 135, 146, 143, 163,
+  155, 136, 136, 129, 122, 133, 127, 100, 81, 60, 78, 60, 65, 71, 83, 94,
+  97, 7, 11, 12, 10, 10, 12, 11, 7, 12, 8, 6, 8, 13, 18, 17,
+  15, 22, 17, 13, 14, 18, 18, 12, 7, 19, 17, 29, 23, 18, 23, 17,
+  32, 69, 103, 102, 104, 114, 119, 139, 147, 136, 67, 81, 112, 119, 129, 130,
+  142, 144, 149, 154, 160, 161, 162, 159, 157, 158, 158, 158, 160, 161, 162, 163,
+  163, 166, 167, 168, 167, 165, 164, 165, 166, 170, 167, 165, 164, 165, 165, 164,
+  162, 170, 168, 164, 160, 157, 157, 156, 157, 159, 163, 165, 164, 162, 164, 169,
+  174, 172, 177, 176, 176, 152, 171, 159, 156, 153, 156, 156, 153, 149, 152, 157,
+  161, 157, 160, 151, 147, 151, 151, 155, 169, 168, 172, 173, 170, 163, 161, 166,
+  174, 174, 182, 185, 180, 175, 178, 181, 181, 174, 176, 178, 177, 176, 178, 182,
+  186, 184, 185, 188, 191, 194, 194, 191, 188, 192, 189, 186, 183, 179, 177, 178,
+  183, 172, 167, 170, 184, 189, 183, 180, 184, 168, 172, 175, 176, 173, 170, 169,
+  170, 166, 156, 160, 167, 157, 150, 146, 138, 130, 118, 139, 139, 137, 152, 145,
+  154, 162, 164, 155, 138, 130, 131, 131, 126, 116, 94, 78, 61, 64, 69, 60,
+  77, 78, 94, 102, 7, 11, 12, 10, 10, 12, 11, 7, 12, 12, 12, 11,
+  13, 15, 19, 21, 23, 21, 17, 15, 14, 13, 12, 12, 24, 19, 28, 21,
+  20, 26, 20, 33, 88, 116, 110, 110, 117, 121, 135, 137, 133, 90, 104, 118,
+  119, 136, 141, 145, 150, 152, 156, 160, 161, 160, 157, 154, 158, 158, 159, 161,
+  161, 162, 163, 163, 162, 162, 164, 164, 163, 163, 165, 167, 167, 165, 163, 163,
+  164, 164, 163, 162, 169, 168, 164, 161, 158, 158, 157, 159, 161, 161, 161, 163,
+  165, 169, 170, 170, 165, 171, 166, 170, 156, 169, 153, 152, 158, 148, 147, 153,
+  155, 161, 160, 147, 148, 156, 157, 159, 163, 155, 145, 148, 159, 163, 167, 166,
+  163, 163, 165, 168, 174, 182, 186, 181, 178, 181, 183, 182, 179, 179, 179, 178,
+  177, 177, 180, 182, 180, 184, 190, 196, 199, 200, 199, 199, 185, 186, 187, 186,
+  183, 178, 175, 175, 174, 168, 171, 185, 189, 180, 170, 167, 178, 180, 180, 176,
+  170, 164, 161, 161, 163, 157, 165, 169, 157, 148, 147, 142, 123, 118, 144, 147,
+  147, 158, 152, 160, 156, 159, 152, 139, 132, 134, 132, 127, 116, 83, 70, 61,
+  62, 67, 61, 72, 81, 96, 101, 7, 11, 12, 10, 9, 12, 11, 8, 13,
+  15, 17, 14, 11, 12, 18, 25, 19, 20, 18, 16, 11, 13, 17, 20, 20,
+  14, 21, 16, 19, 28, 23, 35, 102, 125, 114, 114, 125, 126, 135, 131, 123,
+  105, 120, 120, 117, 141, 150, 144, 155, 156, 157, 159, 158, 157, 154, 153, 158,
+  159, 159, 160, 161, 162, 162, 163, 160, 161, 163, 163, 164, 165, 168, 171, 166,
+  164, 163, 163, 165, 165, 164, 163, 166, 166, 163, 161, 159, 158, 159, 160, 162,
+  160, 159, 163, 169, 172, 169, 166, 163, 172, 161, 166, 162, 163, 147, 148, 150,
+  142, 151, 154, 140, 148, 166, 164, 158, 165, 162, 160, 166, 162, 154, 156, 152,
+  155, 160, 166, 168, 167, 165, 164, 173, 181, 185, 184, 181, 182, 184, 183, 185,
+  182, 180, 179, 179, 179, 179, 178, 176, 182, 189, 192, 190, 187, 186, 186, 186,
+  186, 185, 183, 179, 176, 173, 171, 173, 168, 172, 187, 194, 189, 180, 176, 174,
+  175, 174, 171, 167, 164, 162, 162, 162, 160, 170, 171, 156, 146, 144, 139, 114,
+  123, 149, 154, 154, 160, 155, 162, 153, 157, 152, 138, 133, 135, 131, 124, 116,
+  70, 65, 66, 61, 67, 66, 70, 93, 104, 103, 7, 11, 11, 9, 9, 12,
+  12, 9, 13, 15, 17, 17, 15, 15, 17, 20, 12, 14, 15, 15, 16, 19,
+  22, 25, 15, 10, 22, 16, 18, 29, 28, 45, 105, 126, 114, 117, 132, 136,
+  142, 135, 121, 115, 123, 124, 124, 144, 154, 146, 155, 155, 155, 156, 155, 155,
+  154, 154, 159, 159, 159, 160, 161, 163, 162, 163, 164, 166, 168, 168, 168, 170,
+  172, 175, 165, 164, 164, 165, 167, 167, 166, 164, 162, 162, 161, 161, 159, 160,
+  161, 161, 164, 163, 163, 167, 169, 170, 167, 165, 164, 177, 163, 165, 166, 155,
+  147, 146, 153, 145, 159, 162, 140, 139, 152, 149, 163, 169, 162, 160, 168, 170,
+  166, 168, 155, 155, 158, 163, 169, 170, 167, 163, 171, 176, 181, 184, 183, 182,
+  182, 183, 187, 184, 181, 179, 180, 181, 179, 178, 187, 194, 201, 202, 197, 191,
+  190, 191, 195, 191, 183, 174, 170, 171, 171, 170, 158, 159, 165, 178, 185, 183,
+  180, 180, 168, 168, 167, 165, 164, 163, 162, 162, 165, 161, 167, 168, 155, 146,
+  140, 130, 111, 132, 151, 155, 156, 155, 152, 160, 156, 158, 151, 138, 131, 133,
+  128, 118, 111, 62, 67, 74, 61, 68, 74, 78, 78, 88, 83, 7, 11, 11,
+  8, 9, 13, 13, 10, 12, 12, 14, 17, 18, 18, 14, 10, 14, 12, 12,
+  17, 23, 25, 22, 18, 16, 15, 29, 21, 19, 27, 29, 49, 103, 126, 119,
+  125, 141, 146, 151, 144, 135, 125, 122, 133, 140, 144, 152, 150, 152, 152, 152,
+  153, 153, 155, 155, 155, 159, 159, 158, 160, 161, 162, 163, 162, 169, 170, 172,
+  172, 171, 170, 171, 172, 162, 161, 161, 162, 164, 164, 162, 161, 160, 160, 160,
+  160, 160, 162, 162, 164, 165, 168, 171, 170, 167, 165, 164, 166, 162, 176, 165,
+  163, 163, 150, 154, 139, 102, 93, 112, 142, 157, 163, 159, 142, 150, 164, 167,
+  168, 175, 175, 164, 161, 162, 159, 157, 159, 164, 166, 166, 163, 167, 170, 175,
+  180, 182, 181, 180, 182, 186, 184, 182, 181, 181, 182, 183, 182, 182, 189, 198,
+  200, 197, 194, 194, 196, 197, 194, 184, 173, 169, 171, 169, 164, 161, 169, 183,
+  194, 194, 188, 183, 183, 174, 172, 169, 166, 163, 161, 158, 157, 163, 156, 159,
+  160, 153, 148, 141, 125, 111, 141, 151, 153, 157, 152, 153, 162, 156, 156, 148,
+  135, 129, 130, 124, 113, 96, 58, 70, 77, 60, 66, 77, 86, 94, 104, 103,
+  8, 11, 10, 7, 8, 13, 13, 12, 13, 11, 12, 15, 19, 18, 12, 6,
+  20, 16, 14, 17, 23, 23, 16, 9, 16, 13, 26, 18, 14, 21, 19, 38,
+  103, 132, 128, 136, 149, 150, 155, 149, 146, 134, 119, 136, 148, 139, 146, 147,
+  150, 150, 152, 153, 154, 156, 156, 156, 158, 159, 159, 160, 161, 162, 163, 163,
+  167, 170, 173, 173, 171, 168, 167, 166, 158, 158, 158, 159, 161, 160, 158, 156,
+  158, 159, 160, 163, 164, 166, 167, 169, 168, 173, 174, 173, 167, 165, 165, 169,
+  157, 168, 161, 160, 160, 151, 164, 119, 35, 38, 52, 82, 113, 132, 144, 158,
+  154, 170, 169, 162, 167, 169, 166, 167, 166, 161, 157, 156, 159, 161, 162, 161,
+  166, 166, 169, 176, 179, 179, 179, 181, 183, 184, 184, 183, 181, 181, 185, 187,
+  180, 184, 189, 189, 186, 183, 182, 183, 190, 192, 189, 181, 177, 177, 167, 156,
+  159, 173, 191, 205, 208, 202, 194, 190, 172, 171, 168, 168, 168, 167, 164, 161,
+  157, 150, 150, 153, 150, 151, 144, 126, 110, 148, 150, 152, 161, 154, 157, 163,
+  149, 152, 145, 134, 128, 127, 115, 101, 80, 58, 71, 72, 60, 68, 78, 90,
+  93, 104, 101, 8, 11, 10, 7, 8, 13, 14, 13, 14, 14, 14, 14, 15,
+  14, 12, 10, 21, 20, 18, 18, 18, 16, 12, 7, 14, 7, 16, 12, 16,
+  24, 17, 29, 97, 132, 135, 142, 150, 147, 152, 149, 144, 141, 121, 135, 149,
+  141, 152, 152, 151, 151, 152, 154, 156, 157, 156, 156, 159, 159, 159, 160, 160,
+  162, 163, 163, 163, 168, 172, 174, 172, 168, 165, 163, 160, 159, 159, 161, 161,
+  160, 157, 155, 159, 161, 164, 167, 168, 171, 172, 173, 171, 173, 171, 171, 170,
+  169, 170, 172, 162, 162, 159, 161, 161, 155, 168, 84, 31, 47, 43, 42, 55,
+  57, 75, 120, 154, 170, 167, 156, 158, 165, 170, 177, 167, 164, 161, 159, 160,
+  161, 162, 163, 165, 164, 166, 174, 178, 178, 179, 183, 183, 187, 188, 186, 181,
+  180, 184, 190, 198, 198, 197, 195, 192, 189, 186, 185, 187, 192, 190, 183, 182,
+  183, 173, 158, 154, 159, 167, 179, 188, 192, 189, 183, 167, 166, 165, 167, 170,
+  169, 165, 162, 156, 150, 150, 149, 144, 147, 143, 126, 110, 154, 147, 150, 163,
+  152, 152, 156, 147, 150, 146, 136, 127, 117, 98, 77, 69, 63, 71, 64, 65,
+  78, 80, 91, 107, 119, 117, 9, 11, 10, 7, 8, 13, 15, 14, 16, 18,
+  17, 15, 10, 9, 13, 18, 19, 20, 20, 17, 14, 12, 12, 14, 18, 7,
+  14, 14, 27, 39, 29, 33, 88, 128, 135, 143, 146, 141, 148, 147, 141, 151,
+  129, 141, 154, 151, 167, 164, 154, 155, 156, 158, 159, 159, 158, 156, 159, 159,
+  159, 160, 161, 163, 164, 163, 162, 167, 173, 176, 175, 170, 166, 164, 163, 163,
+  163, 164, 165, 163, 159, 157, 161, 163, 167, 170, 173, 175, 176, 178, 175, 171,
+  168, 168, 173, 176, 175, 174, 173, 164, 163, 165, 165, 161, 169, 56, 30, 49,
+  38, 38, 60, 48, 41, 78, 128, 154, 164, 161, 162, 165, 163, 165, 168, 167,
+  166, 165, 164, 164, 164, 165, 166, 163, 165, 173, 178, 178, 180, 186, 183, 188,
+  192, 188, 179, 176, 182, 190, 190, 189, 187, 188, 189, 189, 188, 185, 189, 191,
+  186, 177, 178, 184, 179, 167, 185, 174, 163, 164, 177, 189, 191, 186, 172, 170,
+  167, 167, 166, 161, 154, 148, 160, 156, 157, 151, 140, 141, 138, 124, 110, 156,
+  145, 147, 162, 147, 143, 142, 145, 150, 147, 136, 123, 106, 79, 53, 66, 67,
+  71, 60, 72, 89, 84, 95, 100, 112, 116, 12, 13, 15, 17, 17, 17, 17,
+  16, 20, 17, 13, 12, 10, 12, 15, 18, 19, 18, 17, 17, 16, 16, 16,
+  16, 17, 18, 21, 21, 23, 24, 28, 36, 81, 132, 134, 129, 137, 138, 147,
+  152, 148, 146, 136, 135, 151, 160, 163, 172, 159, 160, 161, 161, 158, 156, 157,
+  158, 160, 154, 152, 158, 161, 162, 162, 163, 171, 170, 169, 168, 168, 168, 165,
+  164, 157, 157, 158, 160, 164, 163, 161, 160, 160, 164, 167, 170, 172, 173, 173,
+  172, 182, 177, 171, 167, 166, 168, 169, 171, 177, 162, 168, 163, 162, 160, 147,
+  31, 35, 58, 44, 43, 42, 54, 42, 53, 101, 155, 165, 153, 152, 171, 149,
+  166, 165, 171, 168, 162, 164, 171, 165, 153, 171, 169, 165, 164, 168, 178, 185,
+  188, 193, 191, 187, 183, 180, 181, 185, 188, 188, 192, 196, 195, 190, 185, 183,
+  182, 189, 186, 183, 184, 185, 181, 173, 166, 165, 176, 174, 151, 179, 176, 181,
+  183, 167, 163, 168, 169, 160, 161, 165, 160, 164, 152, 155, 153, 140, 144, 143,
+  120, 118, 149, 146, 134, 149, 148, 135, 143, 144, 136, 118, 98, 82, 75, 68,
+  60, 69, 67, 66, 67, 74, 85, 96, 103, 111, 106, 101, 12, 13, 13, 14,
+  15, 15, 15, 14, 17, 17, 17, 16, 17, 18, 18, 19, 15, 15, 15, 14,
+  14, 15, 15, 17, 19, 21, 24, 24, 24, 26, 28, 35, 81, 130, 134, 132,
+  137, 138, 151, 157, 156, 156, 145, 143, 155, 160, 159, 166, 162, 165, 168, 167,
+  164, 160, 157, 156, 161, 156, 153, 156, 159, 157, 157, 158, 166, 166, 165, 167,
+  166, 167, 164, 163, 164, 167, 167, 166, 162, 160, 159, 162, 166, 168, 168, 169,
+  170, 171, 172, 173, 175, 174, 173, 173, 173, 171, 167, 165, 168, 161, 165, 164,
+  167, 157, 135, 31, 48, 49, 36, 55, 56, 62, 42, 44, 77, 156, 166, 159,
+  159, 166, 149, 164, 166, 172, 171, 167, 170, 174, 169, 157, 163, 163, 162, 164,
+  168, 176, 181, 185, 183, 183, 181, 178, 176, 179, 187, 193, 197, 198, 198, 195,
+  190, 186, 186, 187, 193, 189, 186, 186, 185, 182, 175, 169, 163, 170, 161, 147,
+  171, 179, 182, 183, 169, 163, 165, 164, 155, 157, 163, 161, 166, 155, 157, 153,
+  141, 142, 139, 118, 114, 145, 147, 140, 152, 145, 126, 129, 92, 88, 79, 69,
+  63, 64, 64, 61, 68, 67, 66, 69, 78, 90, 103, 112, 115, 110, 106, 11,
+  10, 11, 11, 11, 10, 11, 12, 12, 13, 15, 15, 16, 17, 16, 15, 16,
+  17, 16, 16, 15, 15, 16, 16, 15, 18, 21, 22, 23, 26, 30, 36, 74,
+  119, 128, 130, 133, 132, 147, 152, 158, 160, 151, 149, 159, 161, 157, 161, 163,
+  166, 171, 172, 169, 162, 155, 152, 154, 150, 151, 156, 161, 163, 165, 168, 164,
+  165, 165, 167, 166, 165, 164, 163, 156, 162, 165, 164, 159, 159, 165, 172, 172,
+  171, 169, 169, 169, 170, 172, 173, 174, 173, 173, 173, 173, 171, 167, 165, 164,
+  165, 166, 167, 176, 157, 118, 38, 56, 40, 35, 66, 59, 60, 48, 50, 62,
+  165, 163, 158, 158, 154, 150, 163, 164, 169, 170, 168, 170, 176, 171, 160, 159,
+  160, 161, 165, 168, 174, 179, 184, 179, 181, 180, 177, 175, 179, 189, 198, 203,
+  201, 197, 192, 187, 185, 187, 189, 194, 190, 186, 185, 185, 183, 176, 173, 167,
+  169, 150, 147, 159, 180, 177, 181, 171, 163, 163, 159, 150, 153, 162, 161, 164,
+  156, 155, 152, 141, 138, 133, 116, 111, 134, 131, 120, 124, 111, 90, 90, 73,
+  73, 70, 65, 64, 67, 69, 66, 67, 67, 67, 71, 80, 93, 105, 113, 116,
+  113, 110, 11, 11, 9, 8, 8, 10, 11, 12, 11, 13, 14, 14, 15, 15,
+  14, 15, 19, 20, 19, 18, 17, 16, 15, 15, 19, 22, 26, 29, 31, 35,
+  39, 46, 68, 105, 119, 130, 132, 129, 144, 146, 147, 153, 149, 150, 161, 160,
+  155, 160, 161, 165, 169, 171, 167, 161, 156, 153, 150, 147, 149, 156, 160, 163,
+  167, 171, 168, 168, 169, 169, 165, 163, 161, 162, 154, 159, 160, 161, 159, 163,
+  169, 176, 169, 169, 169, 170, 170, 171, 171, 171, 176, 172, 168, 165, 166, 167,
+  168, 170, 164, 170, 165, 166, 177, 154, 99, 43, 52, 42, 48, 74, 49, 53,
+  58, 65, 71, 175, 154, 146, 148, 142, 151, 164, 163, 165, 164, 163, 166, 171,
+  169, 162, 163, 162, 162, 165, 168, 172, 179, 187, 184, 187, 186, 181, 178, 181,
+  192, 201, 198, 196, 192, 187, 184, 183, 184, 186, 189, 186, 183, 182, 182, 181,
+  178, 176, 172, 172, 149, 151, 147, 173, 171, 178, 171, 163, 163, 160, 150, 153,
+  161, 159, 160, 155, 153, 149, 141, 136, 128, 118, 97, 106, 98, 82, 81, 73,
+  63, 65, 64, 67, 66, 60, 58, 59, 60, 59, 64, 66, 70, 76, 84, 93,
+  101, 107, 111, 112, 110, 10, 10, 9, 8, 9, 10, 12, 13, 17, 17, 17,
+  15, 16, 17, 17, 19, 17, 19, 20, 21, 22, 22, 22, 23, 36, 40, 42,
+  44, 46, 49, 53, 57, 59, 89, 109, 132, 134, 131, 147, 144, 140, 148, 148,
+  151, 161, 160, 154, 157, 160, 163, 165, 166, 164, 161, 160, 160, 157, 154, 154,
+  158, 158, 156, 158, 162, 170, 171, 170, 167, 161, 158, 156, 158, 168, 166, 165,
+  164, 164, 166, 166, 166, 163, 166, 169, 172, 174, 173, 171, 169, 172, 169, 165,
+  163, 164, 166, 167, 168, 163, 168, 159, 157, 164, 146, 81, 39, 46, 47, 58,
+  77, 51, 59, 61, 58, 88, 172, 142, 140, 144, 143, 154, 164, 166, 164, 160,
+  158, 162, 167, 167, 164, 168, 163, 161, 163, 163, 167, 177, 189, 187, 189, 188,
+  185, 182, 186, 196, 204, 192, 191, 189, 188, 186, 185, 184, 183, 183, 182, 181,
+  181, 182, 182, 182, 181, 172, 171, 154, 157, 141, 164, 170, 180, 168, 163, 165,
+  165, 155, 156, 162, 159, 156, 155, 150, 145, 143, 136, 127, 126, 75, 77, 70,
+  63, 63, 66, 67, 70, 58, 62, 65, 60, 59, 61, 64, 63, 61, 67, 76,
+  85, 94, 100, 103, 105, 110, 111, 112, 9, 11, 9, 10, 11, 13, 14, 16,
+  16, 16, 16, 16, 16, 17, 18, 22, 23, 27, 30, 35, 39, 41, 43, 45,
+  48, 51, 53, 52, 53, 55, 56, 60, 56, 71, 94, 124, 130, 130, 146, 139,
+  141, 150, 151, 153, 161, 159, 152, 155, 161, 162, 163, 163, 162, 163, 165, 167,
+  161, 159, 161, 166, 166, 165, 169, 174, 173, 173, 170, 165, 156, 153, 154, 157,
+  164, 165, 164, 167, 170, 171, 167, 164, 162, 166, 171, 175, 176, 175, 171, 169,
+  164, 165, 167, 169, 171, 169, 164, 162, 167, 169, 160, 156, 156, 149, 78, 37,
+  45, 50, 54, 76, 65, 72, 54, 42, 105, 159, 140, 147, 150, 156, 159, 165,
+  171, 167, 162, 160, 163, 166, 166, 164, 166, 161, 157, 160, 160, 162, 175, 191,
+  186, 187, 186, 185, 187, 191, 198, 203, 190, 190, 189, 190, 190, 189, 185, 183,
+  181, 182, 183, 184, 184, 184, 184, 183, 169, 162, 157, 158, 143, 158, 174, 181,
+  165, 162, 167, 168, 159, 159, 163, 159, 153, 154, 147, 142, 144, 134, 127, 132,
+  66, 64, 64, 64, 65, 67, 69, 69, 62, 68, 68, 65, 62, 63, 68, 68,
+  67, 75, 85, 96, 104, 109, 111, 112, 112, 114, 116, 9, 11, 12, 14, 15,
+  17, 18, 18, 17, 19, 22, 25, 27, 28, 28, 30, 37, 41, 46, 51, 55,
+  58, 59, 61, 55, 58, 60, 60, 62, 64, 67, 69, 72, 74, 88, 121, 125,
+  126, 143, 133, 141, 151, 151, 154, 161, 157, 150, 155, 158, 159, 161, 161, 161,
+  161, 163, 165, 159, 160, 166, 172, 174, 177, 182, 190, 177, 177, 172, 165, 157,
+  156, 158, 163, 161, 167, 173, 179, 180, 178, 175, 174, 168, 170, 174, 176, 177,
+  175, 173, 171, 164, 165, 168, 171, 173, 171, 166, 163, 170, 167, 163, 159, 152,
+  159, 83, 36, 44, 49, 46, 71, 70, 69, 48, 55, 130, 150, 147, 158, 150,
+  163, 163, 169, 172, 168, 165, 164, 166, 165, 162, 160, 162, 157, 156, 162, 163,
+  164, 177, 194, 191, 189, 186, 187, 191, 195, 198, 198, 193, 191, 190, 190, 191,
+  190, 185, 182, 180, 182, 184, 185, 184, 182, 180, 179, 171, 155, 160, 154, 150,
+  154, 175, 172, 164, 160, 166, 168, 160, 160, 164, 161, 154, 158, 145, 140, 144,
+  133, 125, 137, 67, 61, 64, 65, 61, 63, 64, 60, 59, 65, 65, 60, 58,
+  60, 65, 68, 84, 88, 95, 103, 109, 112, 113, 114, 115, 117, 118, 12, 13,
+  15, 19, 21, 22, 22, 24, 26, 31, 37, 43, 46, 47, 46, 46, 45, 49,
+  53, 56, 58, 58, 60, 60, 62, 66, 69, 72, 75, 79, 84, 86, 100, 91,
+  98, 127, 127, 127, 145, 132, 136, 146, 149, 153, 159, 157, 151, 155, 154, 156,
+  159, 159, 158, 158, 158, 159, 160, 161, 165, 170, 172, 171, 177, 184, 183, 181,
+  177, 170, 161, 160, 166, 173, 177, 187, 196, 198, 192, 185, 180, 181, 175, 176,
+  176, 177, 176, 175, 174, 173, 171, 169, 167, 167, 169, 170, 171, 171, 165, 159,
+  161, 159, 147, 163, 87, 30, 40, 47, 42, 69, 66, 54, 47, 88, 152, 150,
+  156, 163, 145, 164, 164, 177, 170, 166, 166, 168, 168, 164, 158, 154, 160, 155,
+  158, 167, 168, 170, 181, 199, 200, 195, 190, 191, 195, 198, 195, 192, 196, 192,
+  188, 187, 188, 187, 183, 180, 178, 180, 183, 183, 181, 177, 174, 173, 177, 152,
+  161, 151, 154, 151, 173, 161, 163, 159, 164, 165, 158, 160, 165, 163, 157, 161,
+  146, 138, 144, 132, 124, 139, 66, 56, 56, 61, 58, 63, 70, 68, 64, 71,
+  75, 74, 74, 83, 91, 95, 100, 101, 104, 106, 108, 109, 110, 110, 116, 117,
+  118, 28, 28, 31, 33, 32, 31, 30, 30, 39, 51, 49, 43, 44, 40, 37,
+  45, 35, 45, 51, 59, 66, 62, 64, 80, 81, 81, 83, 89, 99, 107, 110,
+  108, 118, 113, 113, 119, 124, 127, 129, 133, 139, 143, 148, 151, 152, 151, 150,
+  150, 153, 154, 156, 158, 160, 161, 162, 162, 165, 163, 164, 169, 172, 170, 172,
+  175, 176, 176, 177, 179, 180, 181, 182, 183, 181, 183, 185, 188, 189, 190, 188,
+  189, 182, 181, 178, 175, 176, 178, 182, 184, 179, 174, 168, 164, 164, 166, 168,
+  168, 171, 163, 148, 157, 158, 160, 131, 31, 53, 36, 46, 67, 59, 54, 81,
+  113, 148, 152, 159, 163, 166, 167, 170, 172, 163, 168, 172, 171, 166, 160, 157,
+  156, 163, 162, 163, 166, 170, 175, 177, 179, 198, 193, 188, 188, 195, 200, 200,
+  199, 192, 190, 187, 185, 185, 185, 183, 181, 180, 174, 177, 181, 177, 179, 182,
+  174, 168, 170, 168, 159, 161, 142, 168, 172, 163, 163, 162, 160, 162, 164, 160,
+  154, 157, 152, 151, 144, 145, 116, 139, 144, 71, 60, 70, 64, 57, 69, 66,
+  67, 80, 85, 91, 97, 102, 104, 105, 106, 111, 111, 110, 108, 105, 106, 108,
+  111, 111, 111, 111, 30, 29, 28, 28, 29, 32, 36, 38, 33, 45, 49, 49,
+  49, 43, 38, 41, 47, 52, 56, 69, 85, 87, 84, 93, 93, 102, 112, 118,
+  120, 119, 118, 117, 110, 107, 109, 115, 120, 122, 128, 135, 134, 138, 144, 148,
+  150, 150, 151, 152, 150, 152, 154, 157, 159, 161, 163, 163, 162, 160, 162, 167,
+  170, 168, 168, 171, 171, 173, 175, 178, 178, 177, 176, 175, 178, 179, 181, 183,
+  183, 185, 185, 185, 190, 188, 185, 182, 181, 182, 184, 185, 187, 186, 183, 178,
+  173, 169, 166, 164, 160, 159, 155, 167, 164, 162, 139, 59, 41, 47, 59, 57,
+  40, 58, 113, 157, 154, 158, 163, 165, 166, 167, 171, 174, 171, 172, 172, 170,
+  165, 159, 155, 154, 160, 163, 163, 165, 167, 174, 184, 193, 193, 190, 189, 193,
+  199, 202, 200, 197, 192, 189, 187, 186, 185, 185, 183, 181, 181, 174, 178, 181,
+  176, 177, 179, 171, 173, 171, 165, 156, 161, 147, 177, 182, 168, 168, 166, 163,
+  164, 166, 161, 155, 155, 156, 146, 142, 139, 123, 138, 139, 73, 62, 74, 77,
+  82, 101, 104, 107, 118, 119, 120, 120, 118, 116, 114, 112, 114, 114, 113, 112,
+  111, 112, 115, 117, 117, 117, 116, 43, 41, 39, 38, 38, 40, 42, 44, 42,
+  48, 55, 58, 59, 58, 58, 59, 71, 77, 80, 88, 99, 96, 91, 100, 94,
+  105, 116, 115, 106, 97, 97, 100, 108, 107, 110, 114, 116, 117, 125, 134, 128,
+  132, 139, 144, 148, 150, 152, 154, 150, 153, 154, 156, 158, 160, 160, 161, 158,
+  156, 158, 163, 165, 162, 162, 165, 167, 169, 173, 175, 174, 172, 168, 166, 175,
+  174, 175, 176, 177, 178, 180, 181, 193, 191, 189, 187, 185, 184, 184, 184, 181,
+  184, 186, 183, 174, 165, 159, 156, 162, 160, 162, 170, 162, 158, 149, 103, 78,
+  74, 68, 57, 63, 106, 150, 163, 159, 163, 170, 175, 176, 176, 177, 177, 179,
+  176, 172, 167, 162, 158, 154, 151, 169, 171, 169, 164, 162, 168, 181, 193, 187,
+  189, 191, 197, 202, 203, 198, 194, 191, 189, 187, 186, 186, 185, 183, 181, 182,
+  175, 178, 180, 175, 176, 176, 168, 175, 172, 167, 160, 168, 153, 179, 180, 166,
+  166, 163, 160, 161, 162, 156, 150, 152, 160, 141, 141, 130, 132, 140, 136, 80,
+  63, 76, 83, 95, 117, 119, 122, 118, 117, 116, 115, 113, 112, 111, 110, 114,
+  115, 115, 114, 113, 115, 118, 119, 116, 116, 117, 37, 39, 41, 45, 48, 49,
+  51, 51, 69, 66, 71, 75, 76, 82, 93, 97, 98, 109, 110, 103, 97, 87,
+  84, 96, 86, 92, 95, 90, 80, 78, 85, 94, 115, 115, 117, 117, 115, 115,
+  122, 132, 127, 131, 137, 142, 146, 148, 151, 153, 155, 155, 156, 156, 156, 155,
+  154, 154, 155, 154, 156, 161, 163, 160, 159, 161, 163, 165, 167, 169, 169, 168,
+  166, 164, 173, 173, 171, 172, 172, 175, 178, 179, 188, 187, 187, 186, 185, 183,
+  182, 181, 190, 197, 203, 202, 195, 187, 184, 183, 179, 169, 166, 166, 155, 153,
+  155, 139, 141, 126, 111, 108, 126, 163, 175, 155, 159, 165, 174, 182, 186, 186,
+  185, 184, 182, 176, 168, 163, 160, 158, 154, 152, 171, 171, 165, 162, 162, 169,
+  180, 190, 188, 190, 193, 198, 201, 201, 195, 191, 191, 189, 187, 187, 186, 185,
+  183, 180, 181, 175, 178, 181, 175, 176, 176, 168, 174, 174, 173, 170, 177, 155,
+  171, 164, 163, 163, 161, 158, 158, 159, 154, 147, 146, 163, 141, 142, 123, 137,
+  143, 139, 80, 60, 72, 83, 99, 118, 116, 114, 117, 116, 115, 114, 114, 115,
+  117, 117, 112, 114, 114, 113, 111, 112, 114, 115, 107, 110, 112, 73, 74, 77,
+  83, 90, 98, 104, 109, 92, 81, 88, 96, 90, 97, 111, 112, 105, 111, 105,
+  97, 98, 93, 90, 97, 89, 91, 90, 90, 90, 95, 105, 115, 118, 119, 121,
+  121, 116, 115, 120, 129, 128, 132, 137, 141, 144, 146, 149, 152, 155, 155, 156,
+  155, 155, 154, 153, 152, 156, 154, 155, 159, 160, 157, 157, 159, 161, 162, 162,
+  162, 163, 164, 166, 167, 171, 171, 169, 170, 171, 173, 176, 178, 180, 181, 182,
+  183, 183, 182, 181, 181, 175, 181, 187, 187, 182, 178, 179, 181, 186, 172, 169,
+  164, 156, 157, 157, 159, 168, 166, 172, 177, 174, 183, 189, 181, 171, 170, 171,
+  173, 178, 183, 186, 188, 178, 172, 165, 160, 160, 159, 156, 154, 160, 157, 152,
+  156, 166, 178, 187, 192, 193, 195, 195, 197, 197, 196, 193, 191, 190, 189, 187,
+  187, 187, 186, 182, 180, 180, 174, 179, 183, 176, 177, 177, 168, 171, 172, 172,
+  170, 176, 152, 166, 157, 165, 165, 163, 160, 161, 162, 157, 150, 140, 162, 142,
+  143, 124, 140, 149, 146, 78, 57, 72, 90, 109, 127, 121, 119, 124, 122, 119,
+  115, 113, 111, 110, 111, 112, 112, 112, 111, 107, 107, 108, 108, 103, 106, 111,
+  91, 89, 82, 81, 83, 91, 100, 107, 98, 83, 95, 107, 96, 96, 104, 98,
+  95, 93, 83, 87, 108, 120, 113, 108, 106, 107, 108, 110, 111, 114, 116, 118,
+  116, 116, 118, 121, 117, 116, 119, 126, 129, 132, 136, 139, 142, 144, 147, 149,
+  150, 152, 154, 155, 156, 156, 156, 156, 157, 153, 152, 156, 157, 155, 155, 159,
+  160, 160, 159, 159, 160, 163, 166, 168, 168, 168, 169, 169, 171, 173, 173, 176,
+  176, 177, 179, 180, 181, 182, 182, 182, 186, 189, 190, 189, 186, 185, 187, 190,
+  177, 169, 174, 168, 166, 168, 158, 165, 164, 168, 184, 197, 188, 184, 192, 196,
+  184, 175, 165, 159, 162, 170, 179, 185, 172, 169, 166, 163, 162, 160, 158, 157,
+  159, 154, 150, 155, 167, 179, 184, 185, 196, 197, 197, 196, 194, 193, 191, 190,
+  190, 189, 188, 188, 188, 186, 182, 179, 179, 174, 179, 182, 175, 175, 174, 165,
+  166, 166, 165, 160, 167, 148, 168, 166, 164, 164, 161, 158, 158, 159, 153, 146,
+  139, 157, 143, 141, 131, 140, 152, 145, 85, 63, 77, 96, 114, 129, 122, 118,
+  117, 115, 111, 108, 106, 104, 104, 104, 111, 112, 112, 109, 106, 105, 105, 106,
+  106, 109, 112, 115, 112, 105, 98, 95, 95, 97, 99, 98, 79, 91, 106, 91,
+  90, 99, 90, 93, 99, 95, 99, 121, 133, 127, 123, 119, 120, 122, 121, 118,
+  114, 110, 111, 119, 119, 118, 122, 120, 116, 115, 118, 126, 129, 133, 136, 138,
+  141, 145, 149, 151, 153, 155, 156, 157, 157, 157, 157, 157, 152, 150, 153, 152,
+  151, 152, 158, 158, 158, 158, 159, 160, 161, 162, 163, 163, 163, 165, 167, 168,
+  169, 169, 169, 174, 174, 175, 176, 177, 179, 180, 181, 178, 177, 175, 174, 172,
+  172, 172, 173, 172, 171, 180, 168, 168, 172, 159, 171, 166, 160, 168, 179, 182,
+  189, 191, 183, 183, 175, 165, 159, 161, 166, 172, 174, 168, 170, 171, 169, 166,
+  162, 161, 159, 164, 159, 154, 156, 162, 172, 178, 181, 194, 196, 197, 197, 195,
+  192, 191, 190, 189, 188, 188, 188, 188, 186, 182, 178, 181, 175, 179, 181, 172,
+  170, 167, 157, 157, 160, 162, 158, 164, 146, 169, 170, 165, 164, 160, 155, 154,
+  153, 146, 139, 147, 150, 139, 136, 143, 139, 150, 136, 92, 66, 78, 93, 107,
+  120, 114, 114, 115, 115, 114, 113, 113, 113, 112, 112, 107, 107, 108, 107, 105,
+  104, 103, 104, 104, 107, 109, 108, 110, 111, 111, 107, 102, 96, 93, 101, 75,
+  86, 100, 85, 87, 102, 96, 100, 120, 126, 121, 124, 124, 122, 128, 118, 120,
+  123, 120, 117, 116, 119, 123, 128, 124, 122, 125, 123, 118, 113, 111, 124, 126,
+  130, 133, 136, 140, 144, 148, 154, 156, 156, 157, 156, 156, 155, 155, 158, 152,
+  148, 150, 150, 149, 152, 157, 157, 159, 160, 160, 160, 159, 158, 157, 159, 159,
+  162, 165, 165, 167, 166, 166, 171, 171, 171, 172, 173, 174, 176, 177, 182, 180,
+  178, 177, 177, 177, 176, 173, 176, 178, 186, 165, 162, 172, 159, 177, 170, 169,
+  175, 176, 176, 186, 189, 175, 173, 170, 169, 170, 172, 173, 169, 165, 167, 172,
+  175, 175, 170, 165, 161, 161, 158, 157, 153, 155, 160, 170, 183, 192, 191, 194,
+  197, 199, 197, 194, 191, 190, 189, 188, 188, 188, 188, 186, 182, 178, 182, 175,
+  178, 179, 169, 165, 162, 151, 148, 156, 164, 163, 168, 145, 166, 165, 171, 171,
+  165, 160, 157, 154, 147, 138, 153, 145, 135, 130, 152, 139, 148, 128, 89, 63,
+  73, 89, 103, 119, 117, 121, 113, 112, 111, 109, 107, 104, 103, 102, 102, 103,
+  105, 105, 103, 103, 102, 104, 99, 101, 104, 113, 113, 111, 111, 108, 108, 107,
+  106, 110, 96, 94, 123, 110, 124, 116, 108, 114, 115, 115, 115, 119, 125, 126,
+  125, 126, 127, 123, 119, 119, 123, 125, 125, 130, 127, 124, 124, 124, 123, 119,
+  116, 115, 124, 131, 131, 133, 140, 144, 142, 150, 148, 147, 150, 153, 153, 151,
+  151, 154, 152, 149, 148, 150, 151, 155, 157, 162, 161, 160, 159, 158, 158, 158,
+  158, 162, 163, 164, 166, 166, 168, 167, 166, 173, 173, 172, 173, 172, 170, 169,
+  168, 174, 173, 171, 171, 172, 174, 177, 178, 180, 176, 171, 172, 174, 174, 170,
+  167, 176, 171, 170, 176, 185, 187, 179, 171, 165, 164, 165, 168, 173, 176, 175,
+  174, 169, 168, 167, 165, 162, 160, 159, 158, 164, 152, 145, 151, 158, 163, 174,
+  187, 187, 194, 199, 200, 194, 189, 189, 190, 190, 189, 188, 187, 186, 184, 180,
+  176, 180, 179, 182, 179, 166, 160, 153, 138, 149, 157, 154, 153, 165, 169, 166,
+  167, 172, 165, 157, 154, 151, 148, 148, 150, 144, 163, 105, 146, 140, 155, 152,
+  142, 83, 70, 70, 86, 96, 97, 107, 120, 113, 108, 110, 100, 106, 109, 93,
+  101, 100, 95, 102, 107, 103, 103, 103, 95, 100, 102, 106, 104, 106, 108, 110,
+  111, 111, 110, 109, 106, 105, 106, 112, 101, 109, 112, 113, 112, 112, 112, 113,
+  116, 120, 122, 122, 127, 129, 128, 124, 121, 123, 122, 119, 126, 127, 130, 134,
+  134, 131, 122, 116, 115, 128, 134, 130, 127, 133, 144, 153, 154, 153, 151, 153,
+  154, 154, 153, 151, 153, 152, 149, 147, 148, 151, 153, 156, 160, 160, 159, 158,
+  158, 159, 159, 160, 160, 160, 163, 165, 166, 167, 167, 166, 169, 170, 171, 172,
+  173, 173, 173, 172, 171, 171, 171, 173, 175, 179, 183, 186, 182, 178, 174, 175,
+  178, 178, 175, 171, 174, 171, 171, 176, 182, 184, 180, 175, 173, 171, 171, 172,
+  175, 176, 175, 173, 173, 172, 172, 170, 168, 166, 166, 164, 156, 150, 146, 150,
+  157, 166, 179, 189, 190, 195, 200, 199, 194, 191, 190, 192, 191, 189, 188, 187,
+  186, 184, 180, 176, 177, 173, 176, 173, 163, 161, 158, 145, 148, 159, 156, 151,
+  157, 159, 159, 164, 168, 161, 154, 152, 152, 149, 143, 139, 142, 150, 122, 148,
+  154, 151, 145, 131, 75, 62, 63, 83, 97, 95, 95, 101, 104, 101, 114, 109,
+  103, 105, 96, 101, 105, 96, 95, 96, 91, 99, 108, 107, 100, 100, 105, 109,
+  112, 115, 117, 118, 116, 114, 113, 110, 115, 110, 93, 103, 107, 115, 117, 117,
+  116, 116, 116, 116, 117, 118, 121, 117, 122, 124, 123, 123, 126, 125, 122, 124,
+  125, 129, 133, 133, 131, 125, 120, 117, 125, 131, 131, 132, 137, 146, 151, 152,
+  152, 152, 153, 155, 156, 155, 152, 151, 150, 148, 147, 146, 148, 151, 153, 154,
+  155, 155, 156, 157, 158, 158, 159, 158, 159, 161, 163, 164, 165, 165, 165, 164,
+  165, 167, 169, 172, 173, 174, 174, 172, 172, 172, 174, 176, 180, 183, 186, 180,
+  177, 175, 176, 178, 179, 177, 174, 172, 171, 172, 175, 179, 181, 181, 180, 181,
+  180, 178, 177, 177, 176, 174, 172, 172, 171, 171, 168, 167, 165, 164, 162, 153,
+  156, 154, 152, 158, 171, 184, 190, 193, 196, 199, 197, 192, 190, 192, 194, 192,
+  190, 189, 188, 187, 184, 180, 176, 173, 171, 176, 175, 166, 164, 159, 144, 142,
+  155, 153, 148, 154, 158, 162, 172, 167, 163, 157, 156, 156, 152, 144, 136, 145,
+  136, 137, 144, 160, 146, 140, 128, 64, 52, 54, 78, 97, 100, 100, 104, 98,
+  93, 121, 119, 100, 103, 102, 103, 108, 99, 96, 94, 91, 102, 115, 116, 107,
+  104, 105, 103, 106, 109, 112, 114, 115, 116, 116, 117, 118, 105, 77, 111, 118,
+  121, 112, 117, 117, 119, 120, 118, 115, 116, 120, 117, 122, 122, 121, 123, 128,
+  128, 125, 124, 123, 123, 123, 123, 125, 126, 127, 119, 119, 121, 131, 142, 149,
+  146, 141, 145, 147, 149, 150, 152, 156, 156, 152, 151, 150, 149, 147, 147, 147,
+  149, 150, 148, 149, 149, 151, 152, 155, 157, 158, 161, 161, 162, 163, 164, 163,
+  163, 163, 160, 162, 164, 167, 169, 170, 171, 172, 175, 175, 174, 174, 173, 174,
+  176, 177, 175, 173, 172, 173, 175, 176, 175, 173, 171, 172, 174, 174, 175, 178,
+  181, 183, 185, 183, 181, 178, 177, 175, 174, 172, 173, 173, 171, 168, 165, 162,
+  161, 158, 158, 164, 163, 157, 160, 175, 187, 190, 195, 197, 198, 195, 191, 191,
+  193, 195, 192, 191, 189, 188, 187, 184, 179, 176, 173, 173, 180, 181, 172, 167,
+  156, 137, 147, 157, 153, 149, 158, 164, 168, 175, 163, 164, 161, 156, 153, 151,
+  146, 140, 151, 131, 140, 141, 148, 144, 137, 134, 64, 53, 55, 72, 90, 97,
+  103, 110, 102, 90, 121, 122, 97, 102, 107, 101, 106, 100, 105, 106, 102, 107,
+  117, 114, 112, 108, 106, 85, 87, 88, 92, 98, 105, 110, 114, 113, 120, 107,
+  74, 106, 112, 114, 105, 107, 105, 110, 117, 118, 116, 115, 120, 127, 128, 124,
+  118, 115, 119, 119, 117, 121, 120, 120, 120, 121, 123, 125, 127, 117, 117, 121,
+  129, 138, 144, 146, 147, 145, 149, 150, 149, 152, 157, 154, 148, 153, 151, 150,
+  149, 149, 148, 149, 149, 146, 146, 147, 149, 152, 155, 157, 159, 164, 164, 164,
+  164, 163, 162, 160, 160, 162, 163, 165, 167, 169, 169, 170, 170, 177, 177, 176,
+  175, 173, 173, 172, 173, 172, 171, 171, 171, 174, 174, 174, 173, 172, 173, 174,
+  174, 174, 176, 180, 184, 183, 181, 179, 176, 174, 172, 173, 173, 178, 177, 174,
+  171, 167, 163, 160, 159, 160, 165, 164, 160, 165, 180, 189, 190, 196, 197, 196,
+  194, 191, 191, 193, 195, 192, 190, 188, 187, 186, 182, 178, 174, 175, 172, 175,
+  175, 168, 166, 159, 141, 157, 162, 153, 150, 164, 170, 167, 168, 155, 160, 158,
+  149, 142, 142, 144, 143, 146, 130, 137, 147, 138, 149, 137, 129, 67, 64, 68,
+  80, 87, 88, 93, 101, 111, 92, 115, 115, 95, 104, 106, 97, 100, 97, 104,
+  106, 99, 102, 109, 105, 111, 108, 108, 89, 88, 86, 87, 89, 93, 98, 102,
+  104, 119, 115, 87, 86, 90, 98, 99, 92, 90, 97, 112, 119, 116, 113, 116,
+  113, 114, 111, 106, 105, 110, 113, 111, 115, 119, 124, 127, 127, 125, 124, 125,
+  116, 121, 128, 130, 126, 128, 142, 157, 147, 153, 153, 150, 152, 157, 154, 145,
+  153, 152, 151, 149, 148, 148, 148, 148, 146, 148, 148, 150, 153, 156, 159, 161,
+  164, 164, 164, 164, 163, 161, 160, 159, 165, 166, 168, 169, 170, 170, 170, 170,
+  175, 175, 175, 176, 175, 176, 176, 177, 173, 173, 173, 173, 174, 175, 175, 175,
+  173, 174, 174, 174, 174, 175, 178, 182, 178, 177, 175, 173, 170, 170, 172, 174,
+  176, 174, 173, 170, 166, 163, 160, 159, 158, 159, 158, 161, 170, 183, 190, 193,
+  197, 195, 194, 193, 191, 191, 192, 192, 191, 189, 187, 186, 184, 181, 176, 172,
+  176, 167, 164, 162, 159, 166, 168, 156, 149, 154, 148, 151, 170, 178, 172, 170,
+  158, 163, 158, 145, 139, 142, 146, 145, 134, 132, 138, 155, 143, 152, 139, 107,
+  59, 66, 81, 98, 104, 100, 99, 103, 116, 97, 109, 106, 96, 106, 102, 96,
+  97, 92, 96, 95, 88, 92, 104, 103, 113, 109, 110, 104, 103, 99, 98, 96,
+  96, 98, 100, 108, 117, 113, 99, 72, 82, 93, 96, 91, 86, 94, 112, 121,
+  115, 108, 107, 98, 102, 103, 102, 105, 112, 117, 115, 116, 121, 126, 128, 127,
+  125, 126, 126, 120, 123, 128, 133, 130, 126, 133, 143, 142, 149, 151, 149, 151,
+  159, 157, 147, 152, 151, 150, 149, 148, 146, 146, 145, 145, 145, 146, 148, 151,
+  154, 156, 158, 160, 161, 162, 162, 162, 162, 161, 161, 164, 165, 166, 168, 169,
+  170, 170, 170, 170, 171, 173, 175, 176, 177, 178, 178, 175, 176, 176, 175, 175,
+  174, 174, 175, 175, 174, 175, 175, 175, 176, 178, 178, 176, 176, 175, 171, 167,
+  167, 170, 173, 170, 169, 169, 167, 166, 164, 164, 163, 165, 158, 157, 166, 178,
+  188, 192, 196, 195, 194, 193, 192, 191, 191, 189, 189, 190, 188, 186, 184, 182,
+  179, 174, 170, 171, 163, 161, 162, 163, 173, 177, 165, 142, 152, 151, 156, 173,
+  180, 173, 172, 167, 167, 158, 144, 142, 148, 146, 138, 130, 136, 145, 152, 153,
+  144, 149, 85, 54, 65, 84, 106, 118, 119, 117, 115, 117, 107, 112, 107, 106,
+  113, 102, 104, 101, 97, 101, 101, 93, 98, 111, 112, 119, 113, 110, 99, 100,
+  103, 105, 106, 109, 110, 112, 119, 112, 102, 104, 71, 91, 98, 94, 100, 91,
+  97, 116, 125, 116, 103, 98, 107, 112, 114, 114, 116, 120, 121, 117, 123, 123,
+  123, 121, 119, 122, 127, 132, 128, 120, 121, 136, 145, 141, 126, 115, 130, 138,
+  143, 144, 150, 160, 160, 151, 151, 150, 149, 147, 146, 145, 144, 144, 141, 142,
+  142, 144, 147, 150, 153, 153, 156, 157, 159, 160, 161, 162, 162, 163, 158, 159,
+  161, 164, 165, 167, 167, 168, 168, 169, 170, 172, 173, 174, 174, 174, 174, 175,
+  176, 175, 173, 172, 173, 174, 176, 176, 174, 175, 176, 177, 176, 174, 177, 176,
+  175, 171, 167, 167, 168, 172, 170, 171, 171, 171, 171, 171, 172, 171, 177, 164,
+  161, 173, 187, 191, 193, 197, 194, 192, 192, 192, 191, 191, 188, 187, 189, 187,
+  185, 183, 181, 178, 173, 169, 167, 162, 167, 173, 175, 182, 180, 164, 152, 165,
+  165, 165, 173, 172, 162, 161, 169, 165, 151, 139, 142, 148, 140, 124, 134, 140,
+  151, 142, 158, 133, 159, 73, 61, 66, 81, 100, 115, 121, 118, 115, 116, 116,
+  120, 112, 116, 118, 104, 114, 106, 105, 114, 118, 110, 114, 124, 123, 120, 112,
+  109, 105, 102, 96, 91, 93, 101, 104, 102, 110, 105, 105, 121, 106, 85, 97,
+  98, 100, 112, 115, 116, 119, 113, 106, 111, 111, 113, 114, 113, 112, 114, 120,
+  125, 124, 121, 129, 132, 122, 121, 125, 121, 124, 122, 125, 135, 144, 145, 142,
+  140, 117, 130, 134, 138, 154, 160, 154, 153, 151, 154, 159, 159, 157, 155, 155,
+  157, 148, 148, 147, 145, 145, 148, 153, 156, 153, 155, 157, 160, 163, 163, 162,
+  161, 169, 166, 164, 165, 165, 164, 166, 170, 166, 164, 168, 174, 174, 169, 170,
+  174, 173, 174, 176, 176, 176, 174, 170, 168, 174, 175, 175, 176, 175, 174, 173,
+  173, 170, 171, 171, 171, 170, 173, 176, 179, 179, 179, 172, 167, 169, 174, 169,
+  160, 165, 159, 160, 173, 189, 192, 192, 193, 194, 196, 197, 197, 195, 192, 188,
+  187, 185, 186, 187, 184, 178, 174, 173, 174, 166, 172, 177, 183, 166, 163, 171,
+  142, 161, 163, 162, 166, 173, 178, 176, 171, 163, 153, 150, 134, 136, 146, 133,
+  128, 142, 149, 141, 153, 171, 123, 161, 74, 66, 69, 89, 108, 111, 116, 120,
+  115, 108, 113, 116, 117, 121, 123, 120, 115, 115, 114, 115, 118, 121, 123, 122,
+  121, 115, 112, 112, 111, 109, 103, 95, 92, 93, 90, 83, 98, 93, 89, 102,
+  94, 86, 104, 103, 101, 103, 97, 94, 102, 103, 100, 106, 100, 102, 104, 108,
+  110, 115, 119, 122, 120, 118, 125, 128, 119, 121, 126, 122, 128, 127, 124, 123,
+  131, 143, 147, 143, 136, 137, 127, 119, 127, 135, 142, 154, 158, 161, 162, 160,
+  157, 155, 156, 157, 154, 153, 151, 148, 146, 148, 151, 154, 150, 151, 153, 156,
+  159, 159, 160, 160, 166, 162, 162, 164, 165, 163, 165, 169, 169, 167, 170, 175,
+  175, 171, 172, 178, 172, 173, 175, 175, 175, 173, 170, 169, 174, 175, 176, 175,
+  174, 172, 171, 171, 170, 171, 171, 170, 170, 171, 174, 177, 176, 175, 170, 166,
+  168, 174, 175, 172, 161, 161, 169, 182, 189, 190, 190, 194, 193, 194, 195, 195,
+  193, 190, 187, 185, 184, 182, 180, 178, 177, 175, 172, 169, 170, 190, 168, 173,
+  191, 163, 150, 166, 168, 167, 166, 172, 177, 178, 174, 170, 167, 154, 150, 135,
+  133, 140, 129, 131, 143, 141, 144, 144, 131, 140, 139, 61, 66, 73, 93, 109,
+  112, 113, 118, 114, 112, 117, 118, 118, 119, 122, 120, 113, 110, 110, 109, 112,
+  113, 114, 113, 113, 112, 112, 111, 108, 110, 109, 105, 103, 103, 98, 92, 91,
+  91, 86, 95, 92, 93, 108, 97, 100, 99, 89, 87, 99, 102, 99, 104, 104,
+  104, 106, 111, 116, 120, 122, 122, 122, 118, 123, 125, 117, 119, 125, 123, 118,
+  125, 127, 124, 129, 142, 147, 143, 142, 143, 136, 131, 133, 129, 130, 142, 140,
+  147, 157, 166, 167, 166, 163, 161, 156, 154, 152, 149, 146, 146, 147, 151, 147,
+  147, 149, 150, 152, 154, 157, 158, 161, 158, 159, 163, 164, 162, 163, 167, 169,
+  168, 170, 172, 172, 170, 173, 178, 171, 173, 174, 174, 173, 172, 170, 168, 173,
+  174, 174, 174, 173, 171, 170, 169, 169, 171, 171, 169, 168, 168, 171, 173, 168,
+  170, 170, 167, 168, 172, 173, 170, 157, 165, 179, 190, 190, 187, 189, 196, 194,
+  194, 195, 194, 192, 189, 187, 185, 190, 185, 180, 178, 178, 177, 171, 166, 174,
+  181, 182, 190, 177, 162, 173, 169, 175, 171, 172, 181, 184, 177, 170, 170, 170,
+  154, 150, 135, 130, 133, 126, 137, 152, 154, 150, 150, 136, 164, 98, 71, 66,
+  81, 102, 114, 116, 116, 117, 118, 111, 114, 113, 112, 113, 116, 114, 110, 108,
+  106, 105, 107, 108, 109, 108, 108, 107, 109, 107, 105, 108, 111, 110, 111, 113,
+  111, 107, 101, 106, 103, 110, 108, 105, 107, 81, 102, 107, 105, 107, 115, 114,
+  107, 110, 118, 117, 116, 120, 123, 124, 119, 117, 125, 119, 122, 122, 115, 118,
+  125, 121, 117, 121, 124, 122, 121, 129, 142, 152, 148, 150, 147, 147, 148, 137,
+  129, 137, 131, 136, 142, 148, 153, 156, 157, 157, 153, 153, 152, 150, 149, 149,
+  151, 155, 150, 149, 148, 148, 149, 150, 153, 155, 156, 155, 156, 162, 163, 162,
+  162, 165, 167, 167, 167, 167, 166, 167, 170, 174, 169, 171, 171, 171, 171, 170,
+  168, 168, 170, 171, 171, 171, 171, 170, 170, 169, 169, 170, 169, 168, 166, 167,
+  168, 172, 162, 166, 171, 171, 169, 165, 161, 160, 162, 172, 184, 190, 190, 189,
+  191, 195, 196, 196, 196, 196, 192, 191, 189, 188, 190, 187, 182, 178, 174, 171,
+  167, 164, 165, 185, 200, 191, 158, 166, 195, 168, 178, 173, 175, 186, 187, 176,
+  169, 171, 169, 152, 148, 133, 126, 129, 128, 145, 146, 155, 131, 143, 158, 149,
+  53, 74, 66, 90, 109, 119, 122, 120, 121, 125, 120, 121, 120, 118, 119, 123,
+  124, 120, 124, 122, 121, 122, 125, 126, 126, 126, 124, 125, 125, 108, 111, 111,
+  107, 106, 107, 107, 104, 109, 116, 114, 120, 118, 115, 111, 78, 106, 119, 124,
+  124, 126, 120, 115, 122, 124, 121, 119, 120, 121, 119, 112, 107, 120, 114, 116,
+  117, 113, 118, 125, 121, 127, 120, 115, 113, 104, 103, 124, 150, 160, 157, 146,
+  141, 145, 142, 140, 149, 151, 144, 133, 127, 126, 131, 139, 145, 147, 148, 150,
+  150, 149, 152, 155, 157, 153, 152, 149, 147, 147, 148, 151, 152, 155, 153, 155,
+  161, 163, 161, 161, 164, 165, 167, 167, 165, 164, 166, 169, 170, 167, 168, 169,
+  169, 169, 169, 167, 167, 167, 167, 169, 170, 170, 171, 170, 170, 168, 169, 168,
+  167, 165, 166, 167, 170, 166, 167, 168, 168, 166, 162, 160, 161, 172, 177, 182,
+  184, 188, 192, 193, 194, 195, 195, 195, 194, 191, 189, 187, 186, 180, 182, 182,
+  176, 168, 164, 165, 168, 173, 208, 182, 160, 173, 175, 177, 179, 175, 174, 177,
+  187, 188, 178, 171, 171, 165, 150, 146, 130, 124, 131, 135, 153, 155, 150, 129,
+  146, 157, 127, 83, 71, 65, 96, 112, 117, 124, 122, 121, 131, 117, 117, 115,
+  110, 110, 113, 112, 109, 116, 115, 114, 115, 117, 120, 122, 122, 121, 124, 124,
+  107, 111, 111, 106, 104, 107, 108, 107, 112, 113, 106, 113, 114, 115, 119, 94,
+  112, 125, 126, 122, 121, 116, 118, 130, 120, 119, 120, 120, 120, 118, 115, 111,
+  113, 106, 109, 113, 110, 117, 124, 120, 117, 115, 118, 121, 111, 98, 97, 104,
+  142, 151, 149, 145, 151, 153, 150, 154, 154, 150, 145, 143, 141, 139, 136, 134,
+  136, 138, 139, 141, 141, 143, 147, 149, 152, 151, 147, 146, 146, 146, 149, 150,
+  153, 151, 152, 156, 158, 157, 157, 161, 164, 167, 168, 165, 164, 167, 169, 169,
+  165, 166, 166, 166, 167, 167, 166, 166, 166, 167, 168, 169, 170, 170, 170, 170,
+  167, 167, 167, 166, 165, 166, 168, 171, 174, 167, 162, 160, 162, 165, 170, 178,
+  181, 182, 180, 181, 185, 193, 194, 191, 192, 191, 190, 189, 186, 185, 183, 183,
+  176, 181, 184, 179, 170, 167, 173, 180, 207, 187, 154, 164, 181, 174, 176, 173,
+  173, 177, 181, 185, 185, 180, 175, 171, 161, 151, 146, 125, 122, 138, 143, 156,
+  171, 146, 145, 155, 133, 125, 154, 74, 66, 100, 112, 112, 123, 123, 118, 130,
+  113, 114, 110, 104, 101, 103, 100, 94, 100, 98, 96, 97, 99, 101, 102, 104,
+  103, 106, 108, 106, 111, 114, 112, 111, 114, 116, 116, 113, 110, 101, 112, 113,
+  114, 124, 107, 113, 123, 121, 116, 116, 113, 113, 124, 115, 117, 120, 120, 120,
+  119, 119, 122, 115, 109, 111, 114, 112, 118, 122, 116, 107, 117, 123, 123, 122,
+  115, 89, 60, 87, 124, 149, 154, 161, 162, 155, 151, 147, 150, 156, 162, 164,
+  160, 151, 143, 137, 139, 140, 140, 139, 139, 139, 141, 144, 143, 143, 142, 143,
+  144, 146, 147, 151, 148, 148, 151, 152, 152, 153, 157, 160, 165, 167, 164, 162,
+  166, 166, 164, 164, 165, 165, 165, 165, 165, 166, 166, 169, 170, 170, 170, 169,
+  168, 167, 167, 166, 166, 168, 167, 166, 167, 170, 172, 174, 164, 158, 160, 167,
+  170, 176, 183, 183, 185, 182, 180, 184, 192, 193, 189, 191, 191, 188, 187, 184,
+  183, 181, 181, 179, 181, 182, 178, 172, 170, 174, 179, 195, 156, 155, 191, 184,
+  175, 188, 164, 173, 184, 187, 183, 181, 183, 178, 169, 159, 154, 148, 122, 121,
+  145, 149, 155, 156, 141, 141, 145, 128, 129, 158, 86, 74, 109, 114, 109, 125,
+  125, 116, 129, 129, 131, 127, 123, 121, 122, 120, 114, 116, 113, 110, 108, 109,
+  111, 112, 111, 111, 114, 116, 109, 115, 119, 115, 112, 112, 112, 109, 117, 112,
+  105, 119, 119, 115, 122, 107, 112, 120, 117, 115, 120, 116, 109, 114, 111, 114,
+  118, 118, 117, 117, 118, 123, 125, 117, 118, 120, 115, 117, 119, 111, 120, 128,
+  119, 103, 112, 128, 104, 59, 41, 96, 135, 143, 150, 157, 155, 152, 157, 153,
+  150, 149, 152, 157, 159, 158, 151, 152, 152, 150, 146, 144, 144, 144, 137, 138,
+  137, 139, 142, 143, 145, 146, 150, 147, 145, 148, 148, 148, 151, 156, 156, 162,
+  165, 161, 159, 162, 162, 158, 164, 164, 164, 164, 164, 165, 165, 166, 173, 172,
+  172, 172, 169, 168, 165, 165, 165, 167, 167, 167, 166, 167, 171, 173, 167, 159,
+  158, 167, 174, 173, 172, 173, 180, 186, 186, 181, 183, 190, 190, 187, 192, 191,
+  188, 187, 184, 184, 183, 183, 179, 177, 174, 169, 165, 163, 164, 165, 134, 167,
+  174, 193, 207, 184, 173, 174, 176, 190, 192, 182, 179, 185, 181, 167, 159, 157,
+  150, 120, 120, 149, 153, 152, 144, 159, 141, 147, 167, 150, 131, 124, 84, 119,
+  120, 112, 129, 128, 117, 130, 125, 128, 127, 124, 126, 129, 127, 121, 123, 120,
+  114, 112, 112, 113, 113, 113, 116, 119, 119, 107, 109, 111, 111, 110, 109, 110,
+  111, 110, 110, 110, 110, 110, 110, 110, 111, 103, 112, 111, 110, 113, 109, 106,
+  113, 98, 106, 109, 107, 109, 117, 120, 119, 116, 119, 121, 120, 116, 115, 115,
+  118, 119, 122, 121, 108, 119, 115, 115, 66, 29, 49, 83, 117, 141, 150, 148,
+  144, 154, 154, 155, 155, 157, 161, 161, 158, 147, 145, 145, 148, 153, 155, 154,
+  152, 154, 156, 155, 150, 141, 134, 131, 131, 140, 142, 146, 150, 151, 149, 144,
+  140, 152, 153, 158, 162, 161, 156, 158, 164, 162, 164, 162, 158, 159, 165, 168,
+  168, 165, 166, 169, 171, 169, 166, 160, 158, 166, 163, 161, 162, 165, 167, 165,
+  163, 142, 155, 170, 175, 173, 172, 176, 183, 183, 183, 182, 184, 186, 189, 190,
+  189, 192, 189, 185, 183, 183, 183, 182, 181, 183, 179, 172, 166, 164, 161, 156,
+  149, 170, 165, 183, 195, 183, 187, 186, 161, 177, 189, 197, 194, 185, 177, 171,
+  167, 145, 152, 155, 140, 118, 153, 153, 156, 165, 149, 146, 159, 162, 149, 140,
+  143, 96, 114, 109, 117, 123, 112, 122, 121, 127, 126, 132, 132, 123, 123, 122,
+  109, 121, 118, 116, 118, 119, 118, 115, 114, 116, 121, 119, 112, 113, 112, 110,
+  107, 107, 107, 109, 110, 109, 108, 108, 107, 107, 107, 108, 107, 115, 114, 112,
+  116, 113, 109, 117, 111, 115, 113, 105, 101, 104, 106, 105, 106, 109, 111, 111,
+  111, 111, 113, 115, 117, 116, 117, 113, 123, 112, 119, 84, 33, 38, 47, 60,
+  79, 108, 140, 162, 163, 161, 155, 151, 153, 157, 157, 153, 155, 153, 153, 154,
+  158, 161, 164, 164, 158, 158, 157, 153, 150, 148, 148, 149, 146, 142, 138, 137,
+  139, 144, 147, 148, 143, 144, 149, 156, 157, 158, 162, 169, 164, 167, 165, 161,
+  162, 166, 168, 166, 173, 173, 171, 168, 164, 162, 161, 161, 159, 161, 163, 166,
+  168, 164, 157, 152, 161, 168, 175, 179, 177, 176, 177, 180, 188, 187, 188, 190,
+  192, 192, 189, 186, 190, 187, 184, 182, 182, 182, 181, 180, 171, 175, 176, 170,
+  163, 163, 170, 176, 168, 184, 192, 193, 194, 189, 182, 180, 197, 202, 201, 192,
+  183, 179, 177, 174, 163, 158, 146, 128, 113, 157, 165, 171, 153, 148, 154, 169,
+  173, 162, 149, 144, 119, 104, 118, 105, 126, 118, 121, 121, 120, 116, 120, 123,
+  121, 126, 127, 114, 125, 121, 115, 111, 107, 107, 113, 118, 108, 115, 117, 112,
+  113, 112, 111, 109, 109, 110, 111, 114, 113, 110, 108, 107, 108, 108, 109, 108,
+  115, 113, 111, 116, 114, 111, 118, 113, 115, 111, 105, 102, 105, 109, 110, 115,
+  117, 119, 119, 120, 121, 123, 124, 119, 113, 117, 119, 129, 114, 125, 100, 28,
+  31, 34, 34, 39, 60, 93, 118, 132, 142, 152, 158, 166, 169, 164, 157, 160,
+  159, 158, 156, 157, 159, 164, 167, 162, 162, 162, 163, 163, 162, 159, 157, 152,
+  146, 140, 135, 137, 141, 146, 149, 143, 141, 144, 147, 149, 148, 153, 160, 162,
+  165, 164, 161, 160, 164, 163, 160, 166, 169, 168, 167, 162, 162, 162, 166, 164,
+  161, 155, 152, 153, 157, 161, 162, 176, 176, 176, 177, 179, 181, 181, 180, 189,
+  190, 192, 194, 195, 193, 188, 184, 189, 187, 184, 182, 182, 182, 180, 178, 173,
+  173, 171, 165, 160, 160, 167, 174, 171, 201, 200, 190, 199, 189, 178, 196, 199,
+  200, 195, 187, 181, 179, 176, 171, 160, 155, 148, 138, 127, 166, 160, 157, 145,
+  148, 156, 166, 171, 166, 152, 141, 143, 94, 118, 97, 125, 119, 118, 118, 125,
+  117, 117, 117, 113, 118, 117, 104, 101, 111, 122, 127, 122, 116, 112, 109, 110,
+  113, 116, 102, 106, 109, 112, 113, 114, 114, 117, 118, 116, 113, 111, 111, 112,
+  114, 116, 110, 117, 113, 112, 118, 117, 113, 119, 113, 114, 114, 113, 113, 117,
+  120, 123, 126, 127, 127, 127, 127, 127, 127, 128, 121, 120, 122, 120, 131, 120,
+  127, 91, 24, 32, 42, 42, 37, 36, 45, 55, 132, 139, 141, 139, 145, 159,
+  170, 174, 164, 165, 165, 162, 157, 156, 159, 162, 164, 165, 168, 172, 173, 169,
+  159, 151, 160, 156, 153, 151, 151, 148, 146, 143, 146, 143, 141, 144, 145, 146,
+  149, 155, 170, 174, 175, 172, 172, 175, 173, 169, 165, 170, 173, 172, 166, 161,
+  160, 160, 160, 156, 149, 147, 150, 159, 169, 176, 176, 175, 175, 176, 178, 181,
+  184, 185, 188, 188, 189, 192, 193, 192, 188, 185, 188, 185, 183, 181, 181, 180,
+  178, 176, 182, 169, 158, 158, 164, 166, 163, 161, 186, 204, 201, 189, 190, 186,
+  184, 197, 186, 188, 187, 184, 184, 183, 175, 166, 154, 153, 153, 148, 134, 162,
+  148, 139, 167, 171, 172, 170, 172, 175, 166, 155, 151, 105, 104, 105, 122, 115,
+  119, 114, 125, 119, 118, 115, 108, 111, 113, 103, 114, 115, 111, 105, 104, 109,
+  114, 115, 113, 112, 112, 93, 99, 105, 111, 113, 113, 112, 114, 114, 112, 110,
+  109, 109, 112, 115, 118, 114, 120, 114, 113, 120, 119, 115, 120, 117, 119, 120,
+  121, 119, 117, 116, 118, 120, 118, 118, 119, 120, 121, 120, 120, 119, 126, 126,
+  113, 125, 123, 119, 63, 29, 32, 37, 39, 36, 35, 37, 40, 46, 81, 120,
+  143, 154, 159, 156, 147, 167, 171, 173, 172, 167, 164, 164, 166, 167, 166, 166,
+  167, 168, 166, 159, 153, 164, 163, 162, 162, 161, 158, 151, 147, 143, 138, 137,
+  142, 145, 148, 154, 161, 158, 162, 165, 164, 165, 167, 166, 162, 175, 176, 174,
+  169, 162, 157, 156, 156, 146, 151, 158, 165, 169, 171, 171, 171, 174, 176, 177,
+  177, 175, 178, 184, 190, 188, 187, 186, 188, 190, 192, 191, 190, 185, 183, 181,
+  180, 179, 177, 174, 172, 172, 161, 156, 163, 171, 173, 174, 175, 208, 199, 199,
+  193, 179, 186, 198, 190, 187, 188, 186, 185, 187, 188, 181, 172, 165, 159, 151,
+  137, 116, 149, 150, 157, 169, 173, 172, 165, 164, 170, 164, 154, 147, 134, 88,
+  125, 122, 113, 124, 114, 113, 114, 119, 119, 114, 120, 127, 123, 131, 128, 121,
+  114, 116, 120, 117, 109, 107, 103, 102, 92, 98, 104, 107, 107, 106, 105, 105,
+  105, 105, 103, 103, 104, 108, 110, 112, 110, 114, 108, 106, 114, 113, 109, 115,
+  111, 112, 115, 119, 118, 113, 112, 113, 114, 112, 112, 115, 119, 121, 122, 121,
+  114, 124, 123, 105, 117, 118, 109, 43, 33, 32, 33, 36, 38, 39, 38, 37,
+  30, 43, 53, 59, 80, 119, 150, 163, 160, 164, 169, 172, 172, 171, 170, 170,
+  169, 165, 160, 157, 158, 161, 164, 165, 166, 164, 162, 162, 162, 164, 162, 160,
+  144, 139, 135, 138, 140, 140, 143, 148, 158, 163, 165, 165, 165, 169, 168, 165,
+  164, 161, 154, 151, 151, 157, 162, 166, 157, 161, 166, 170, 171, 173, 174, 176,
+  177, 181, 183, 182, 178, 178, 183, 188, 188, 187, 186, 187, 190, 192, 193, 192,
+  182, 180, 178, 177, 176, 174, 171, 168, 158, 159, 165, 170, 166, 163, 174, 189,
+  218, 197, 199, 197, 180, 193, 207, 187, 197, 195, 188, 182, 182, 184, 182, 176,
+  166, 160, 152, 137, 113, 146, 156, 171, 156, 162, 166, 165, 163, 166, 158, 148,
+  145, 159, 84, 133, 128, 120, 127, 120, 116, 116, 125, 126, 121, 128, 132, 126,
+  80, 89, 98, 105, 111, 109, 90, 68, 104, 96, 91, 102, 104, 105, 105, 104,
+  103, 104, 106, 106, 105, 105, 105, 106, 108, 108, 109, 107, 110, 103, 101, 110,
+  111, 106, 110, 106, 106, 109, 115, 115, 113, 114, 119, 115, 113, 113, 116, 120,
+  123, 123, 122, 110, 116, 116, 104, 116, 112, 106, 49, 33, 34, 38, 41, 42,
+  38, 32, 27, 38, 40, 35, 35, 61, 103, 128, 131, 154, 155, 158, 162, 167,
+  170, 170, 169, 167, 165, 162, 159, 158, 161, 166, 170, 166, 165, 163, 164, 166,
+  167, 167, 165, 154, 147, 140, 141, 140, 138, 136, 137, 131, 134, 134, 133, 133,
+  137, 136, 134, 147, 145, 142, 148, 156, 167, 172, 174, 172, 172, 169, 167, 166,
+  172, 180, 186, 181, 181, 182, 183, 183, 183, 182, 181, 186, 185, 186, 187, 190,
+  190, 188, 186, 179, 178, 176, 175, 174, 172, 168, 164, 162, 163, 169, 171, 163,
+  157, 172, 192, 206, 201, 199, 195, 194, 200, 201, 193, 197, 197, 191, 184, 181,
+  181, 179, 174, 159, 157, 156, 146, 123, 150, 154, 166, 166, 170, 175, 180, 179,
+  176, 168, 162, 147, 164, 92, 115, 134, 130, 123, 126, 128, 122, 126, 128, 125,
+  128, 123, 105, 107, 109, 104, 99, 105, 117, 118, 109, 104, 94, 87, 109, 110,
+  108, 106, 104, 106, 110, 114, 111, 111, 111, 111, 112, 112, 111, 111, 113, 115,
+  108, 106, 116, 116, 112, 116, 116, 112, 112, 116, 115, 111, 113, 119, 112, 109,
+  108, 109, 113, 114, 113, 111, 110, 110, 113, 108, 119, 107, 108, 65, 37, 37,
+  37, 37, 36, 35, 34, 34, 36, 32, 26, 35, 78, 132, 160, 160, 156, 154,
+  154, 157, 163, 167, 168, 167, 162, 166, 170, 170, 167, 163, 163, 164, 167, 168,
+  169, 171, 172, 170, 165, 161, 161, 153, 150, 153, 154, 153, 151, 151, 152, 155,
+  154, 151, 151, 153, 153, 150, 153, 152, 156, 166, 177, 181, 176, 169, 165, 171,
+  176, 178, 178, 177, 179, 181, 179, 177, 177, 181, 186, 187, 182, 176, 182, 182,
+  184, 187, 188, 186, 182, 178, 178, 176, 175, 174, 173, 170, 166, 162, 175, 166,
+  164, 169, 172, 172, 183, 199, 188, 206, 197, 190, 207, 203, 190, 198, 191, 197,
+  198, 195, 190, 186, 179, 172, 166, 159, 154, 143, 120, 148, 151, 163, 167, 165,
+  168, 171, 170, 166, 161, 161, 150, 156, 101, 93, 137, 137, 117, 128, 129, 119,
+  117, 123, 125, 127, 114, 88, 105, 110, 108, 98, 96, 102, 101, 92, 101, 92,
+  88, 101, 105, 103, 99, 97, 102, 106, 106, 106, 109, 113, 115, 116, 115, 114,
+  114, 116, 119, 111, 106, 113, 114, 114, 122, 117, 118, 116, 110, 110, 112, 113,
+  109, 108, 107, 106, 107, 110, 111, 110, 109, 107, 121, 123, 113, 113, 120, 106,
+  80, 36, 36, 40, 41, 35, 26, 31, 40, 36, 35, 32, 42, 83, 137, 165,
+  166, 171, 172, 171, 167, 162, 159, 158, 158, 160, 162, 163, 164, 164, 166, 168,
+  170, 171, 172, 170, 170, 169, 170, 171, 170, 166, 159, 151, 148, 151, 154, 155,
+  154, 158, 158, 158, 159, 160, 160, 161, 161, 163, 163, 165, 168, 171, 175, 178,
+  179, 173, 173, 173, 173, 174, 176, 178, 181, 182, 182, 181, 181, 181, 182, 183,
+  184, 183, 183, 184, 186, 187, 186, 183, 180, 179, 179, 175, 169, 163, 161, 165,
+  169, 166, 169, 170, 168, 173, 184, 192, 195, 198, 186, 187, 194, 199, 203, 200,
+  185, 198, 192, 185, 184, 186, 185, 179, 174, 177, 165, 154, 142, 123, 156, 156,
+  163, 169, 166, 168, 172, 171, 167, 164, 166, 150, 143, 111, 88, 119, 118, 127,
+  126, 125, 121, 116, 115, 116, 114, 109, 102, 118, 106, 97, 98, 107, 107, 94,
+  79, 116, 145, 103, 96, 101, 100, 96, 95, 100, 103, 104, 102, 106, 110, 112,
+  112, 113, 115, 117, 125, 128, 121, 115, 117, 113, 107, 111, 111, 114, 114, 110,
+  110, 114, 115, 111, 114, 113, 111, 112, 114, 115, 114, 113, 112, 121, 122, 116,
+  119, 126, 119, 102, 44, 38, 35, 34, 33, 37, 54, 69, 78, 83, 81, 82,
+  106, 144, 165, 167, 178, 180, 181, 179, 176, 173, 173, 173, 169, 174, 177, 176,
+  172, 170, 174, 178, 182, 182, 180, 180, 181, 183, 185, 187, 182, 178, 171, 163,
+  157, 156, 158, 160, 152, 154, 158, 161, 163, 162, 161, 159, 163, 164, 167, 171,
+  175, 178, 181, 182, 183, 181, 179, 178, 177, 178, 179, 180, 183, 183, 183, 183,
+  183, 184, 184, 185, 183, 183, 184, 186, 188, 188, 186, 184, 176, 174, 172, 168,
+  165, 164, 166, 169, 170, 171, 171, 173, 183, 194, 198, 196, 199, 203, 213, 211,
+  195, 191, 200, 202, 194, 192, 189, 186, 182, 179, 178, 177, 169, 170, 168, 150,
+  117, 141, 150, 169, 169, 167, 168, 173, 172, 168, 164, 165, 147, 138, 108, 87,
+  123, 126, 129, 123, 116, 115, 116, 119, 123, 126, 123, 121, 105, 100, 95, 95,
+  99, 101, 96, 91, 77, 101, 102, 93, 98, 98, 95, 94, 99, 102, 102, 98,
+  104, 107, 106, 104, 105, 110, 115, 108, 115, 113, 112, 117, 112, 104, 109, 107,
+  110, 112, 111, 113, 116, 117, 113, 120, 117, 115, 115, 116, 117, 116, 115, 114,
+  114, 113, 113, 117, 121, 119, 113, 78, 70, 64, 63, 69, 80, 99, 114, 117,
+  126, 127, 122, 129, 149, 164, 165, 178, 181, 184, 185, 184, 183, 182, 182, 179,
+  186, 191, 189, 180, 175, 178, 184, 185, 184, 184, 184, 186, 189, 192, 194, 190,
+  188, 183, 173, 162, 156, 156, 158, 154, 155, 157, 159, 161, 163, 163, 164, 160,
+  162, 164, 168, 171, 173, 175, 175, 181, 179, 177, 175, 174, 174, 175, 176, 178,
+  178, 179, 181, 180, 181, 180, 181, 182, 181, 180, 181, 182, 183, 181, 180, 174,
+  172, 169, 168, 169, 170, 171, 170, 170, 171, 173, 180, 192, 203, 203, 197, 208,
+  203, 207, 206, 195, 194, 199, 195, 187, 189, 188, 183, 176, 171, 173, 175, 170,
+  164, 157, 144, 120, 147, 148, 156, 168, 166, 168, 173, 173, 168, 164, 163, 153,
+  137, 107, 82, 122, 132, 134, 129, 134, 133, 132, 129, 124, 120, 114, 111, 115,
+  113, 109, 104, 99, 97, 97, 99, 91, 95, 119, 95, 101, 101, 98, 96, 100,
+  101, 101, 100, 104, 105, 102, 97, 96, 101, 108, 94, 104, 103, 106, 114, 112,
+  107, 111, 107, 112, 114, 114, 115, 120, 118, 115, 120, 117, 114, 113, 114, 115,
+  115, 114, 116, 111, 108, 111, 113, 112, 112, 112, 113, 110, 109, 111, 117, 122,
+  130, 136, 134, 144, 148, 142, 144, 157, 168, 170, 176, 180, 184, 186, 186, 184,
+  183, 183, 183, 188, 192, 191, 185, 181, 181, 183, 185, 184, 182, 182, 183, 186,
+  189, 192, 187, 187, 184, 178, 169, 163, 159, 158, 161, 158, 155, 152, 153, 157,
+  162, 165, 160, 162, 163, 165, 166, 167, 167, 166, 174, 172, 171, 171, 171, 172,
+  174, 175, 175, 177, 177, 179, 178, 179, 177, 177, 183, 181, 179, 178, 178, 179,
+  178, 176, 177, 173, 171, 171, 174, 176, 175, 172, 167, 173, 180, 187, 197, 205,
+  204, 198, 207, 195, 194, 196, 195, 200, 202, 193, 190, 191, 189, 183, 177, 173,
+  174, 176, 170, 160, 153, 144, 126, 156, 153, 158, 167, 164, 165, 172, 173, 168,
+  162, 160, 161, 142, 114, 78, 115, 133, 136, 140, 127, 129, 132, 132, 130, 127,
+  124, 124, 126, 126, 123, 118, 111, 107, 106, 107, 116, 99, 108, 102, 107, 106,
+  102, 100, 102, 102, 101, 102, 104, 105, 102, 98, 98, 102, 109, 108, 115, 111,
+  110, 116, 113, 107, 112, 112, 116, 118, 117, 117, 121, 119, 115, 120, 117, 114,
+  113, 114, 116, 115, 114, 120, 114, 113, 117, 118, 114, 113, 116, 124, 126, 130,
+  133, 136, 136, 136, 134, 144, 151, 154, 153, 158, 170, 179, 179, 181, 184, 188,
+  190, 189, 187, 186, 185, 185, 186, 187, 188, 188, 187, 183, 180, 187, 186, 184,
+  182, 182, 184, 186, 188, 183, 183, 183, 185, 185, 181, 173, 168, 162, 160, 157,
+  154, 153, 153, 155, 156, 160, 160, 162, 163, 164, 164, 165, 165, 173, 172, 171,
+  171, 171, 173, 174, 175, 174, 174, 175, 176, 176, 176, 176, 177, 180, 179, 177,
+  177, 179, 180, 180, 179, 177, 174, 171, 172, 175, 177, 175, 173, 169, 180, 191,
+  196, 199, 203, 204, 203, 200, 198, 203, 202, 192, 195, 205, 206, 199, 197, 191,
+  186, 183, 181, 179, 179, 163, 168, 173, 158, 125, 149, 157, 176, 166, 162, 162,
+  169, 171, 167, 161, 158, 157, 142, 124, 79, 109, 130, 129, 139, 127, 131, 134,
+  135, 134, 133, 132, 132, 126, 125, 124, 125, 125, 124, 121, 119, 115, 110, 99,
+  104, 109, 109, 105, 103, 105, 105, 103, 104, 106, 106, 105, 106, 109, 113, 116,
+  115, 120, 115, 112, 117, 115, 110, 116, 117, 120, 121, 118, 118, 121, 121, 117,
+  122, 118, 115, 114, 116, 118, 118, 118, 116, 114, 115, 118, 119, 118, 119, 121,
+  128, 134, 139, 139, 140, 143, 144, 142, 150, 155, 158, 158, 163, 173, 178, 178,
+  182, 185, 188, 189, 188, 186, 186, 186, 187, 184, 183, 186, 190, 190, 186, 181,
+  186, 184, 183, 182, 181, 180, 180, 180, 179, 178, 180, 185, 190, 190, 184, 177,
+  171, 172, 173, 172, 169, 164, 159, 155, 156, 156, 156, 157, 158, 160, 162, 163,
+  169, 169, 167, 166, 166, 166, 167, 168, 167, 167, 166, 166, 166, 168, 169, 169,
+  169, 168, 169, 172, 176, 178, 179, 178, 176, 174, 172, 172, 173, 175, 176, 176,
+  179, 192, 202, 203, 201, 203, 205, 206, 208, 199, 198, 199, 196, 200, 204, 197,
+  199, 195, 188, 184, 181, 179, 177, 176, 169, 169, 169, 155, 125, 150, 154, 168,
+  169, 162, 161, 166, 170, 167, 161, 158, 147, 136, 131, 84, 110, 129, 118, 129,
+  137, 137, 136, 136, 135, 134, 132, 131, 136, 133, 131, 133, 136, 136, 129, 123,
+  114, 133, 120, 100, 106, 107, 104, 103, 107, 108, 106, 107, 106, 105, 108, 112,
+  116, 117, 117, 110, 116, 113, 112, 119, 117, 112, 118, 117, 120, 120, 117, 118,
+  122, 122, 120, 122, 118, 115, 114, 117, 120, 120, 121, 114, 116, 116, 114, 116,
+  120, 123, 124, 132, 141, 149, 148, 148, 153, 158, 159, 157, 163, 167, 167, 167,
+  171, 173, 174, 179, 182, 184, 185, 185, 184, 185, 187, 187, 185, 185, 185, 186,
+  186, 185, 183, 182, 181, 181, 180, 179, 178, 176, 174, 179, 179, 180, 182, 184,
+  185, 184, 184, 188, 187, 185, 183, 179, 175, 171, 169, 164, 162, 159, 157, 157,
+  158, 160, 161, 163, 162, 161, 160, 161, 162, 164, 166, 164, 162, 160, 159, 160,
+  162, 163, 166, 167, 167, 168, 171, 175, 176, 175, 174, 175, 175, 175, 174, 175,
+  178, 182, 186, 191, 199, 205, 204, 202, 203, 204, 203, 212, 197, 191, 195, 198,
+  203, 201, 187, 195, 194, 190, 183, 176, 172, 174, 177, 175, 166, 158, 148, 128,
+  157, 155, 160, 173, 165, 161, 166, 170, 168, 164, 161, 149, 135, 131, 81, 110,
+  134, 118, 129, 124, 123, 123, 128, 135, 140, 142, 142, 143, 140, 137, 136, 136,
+  135, 131, 127, 118, 137, 127, 95, 102, 105, 103, 104, 106, 109, 108, 111, 107,
+  104, 106, 111, 115, 113, 110, 113, 120, 118, 117, 122, 118, 110, 115, 115, 118,
+  117, 114, 116, 121, 123, 121, 120, 117, 113, 113, 115, 118, 119, 121, 119, 123,
+  121, 114, 113, 123, 127, 126, 126, 141, 153, 153, 152, 156, 160, 161, 162, 173,
+  180, 179, 175, 172, 173, 174, 180, 182, 184, 186, 185, 187, 188, 192, 184, 186,
+  186, 184, 180, 180, 180, 182, 182, 182, 183, 184, 184, 181, 178, 177, 184, 186,
+  186, 183, 179, 180, 185, 189, 200, 194, 184, 177, 173, 175, 178, 182, 184, 181,
+  174, 169, 165, 165, 164, 166, 160, 161, 161, 163, 165, 168, 172, 173, 170, 168,
+  165, 162, 163, 167, 169, 172, 178, 178, 179, 180, 181, 180, 176, 173, 177, 178,
+  179, 178, 178, 182, 190, 197, 198, 201, 202, 200, 200, 203, 201, 196, 198, 200,
+  209, 206, 191, 190, 200, 202, 197, 199, 199, 190, 177, 172, 178, 186, 166, 171,
+  173, 158, 126, 152, 161, 181, 176, 167, 162, 166, 170, 170, 166, 165, 163, 139,
+  128, 73, 107, 139, 125, 138, 137, 131, 124, 123, 125, 127, 125, 121, 129, 129,
+  127, 128, 128, 131, 132, 133, 136, 136, 127, 104, 105, 105, 103, 102, 102, 106,
+  109, 113, 111, 109, 108, 108, 110, 112, 114, 114, 114, 114, 113, 113, 114, 115,
+  115, 123, 118, 113, 113, 117, 119, 117, 114, 113, 115, 115, 115, 118, 121, 115,
+  109, 113, 119, 122, 105, 107, 120, 115, 130, 139, 144, 151, 155, 156, 159, 163,
+  166, 175, 175, 177, 180, 180, 178, 173, 169, 171, 175, 178, 183, 183, 185, 185,
+  188, 180, 183, 186, 192, 195, 195, 188, 183, 186, 183, 180, 177, 176, 176, 178,
+  180, 174, 179, 185, 186, 183, 180, 178, 178, 182, 189, 190, 182, 171, 172, 179,
+  185, 186, 190, 192, 192, 186, 181, 175, 173, 176, 176, 173, 171, 169, 167, 165,
+  165, 164, 165, 167, 171, 177, 184, 188, 191, 196, 191, 188, 188, 185, 177, 171,
+  170, 177, 181, 186, 188, 189, 190, 192, 195, 197, 203, 207, 205, 203, 203, 201,
+  197, 192, 199, 199, 194, 196, 206, 204, 195, 200, 198, 191, 183, 182, 185, 186,
+  183, 172, 170, 168, 155, 139, 145, 157, 155, 172, 170, 168, 167, 167, 168, 168,
+  169, 157, 144, 137, 89, 100, 119, 131, 124, 130, 128, 125, 121, 119, 119, 119,
+  119, 120, 122, 124, 128, 130, 132, 132, 132, 125, 127, 130, 112, 115, 113, 111,
+  108, 108, 108, 110, 108, 107, 105, 105, 107, 109, 112, 114, 111, 112, 110, 111,
+  111, 113, 113, 114, 109, 108, 105, 107, 108, 110, 105, 102, 113, 112, 106, 100,
+  101, 108, 112, 111, 113, 107, 111, 109, 117, 119, 108, 127, 141, 147, 154, 157,
+  158, 159, 164, 167, 166, 167, 170, 174, 176, 173, 168, 162, 166, 168, 173, 177,
+  181, 182, 181, 180, 180, 181, 183, 187, 191, 191, 188, 184, 190, 188, 185, 183,
+  181, 181, 182, 182, 181, 180, 178, 174, 172, 174, 179, 185, 182, 187, 188, 183,
+  179, 182, 186, 187, 191, 190, 188, 184, 180, 179, 181, 183, 183, 182, 180, 179,
+  181, 183, 186, 188, 189, 188, 188, 188, 190, 192, 194, 196, 198, 193, 192, 194,
+  194, 190, 188, 188, 189, 191, 193, 193, 192, 193, 197, 200, 201, 206, 207, 203,
+  201, 202, 202, 200, 202, 207, 205, 198, 198, 204, 203, 194, 196, 196, 191, 184,
+  182, 184, 182, 177, 170, 166, 162, 147, 132, 139, 154, 156, 170, 168, 167, 167,
+  168, 169, 169, 168, 159, 150, 140, 99, 103, 127, 132, 128, 128, 127, 127, 125,
+  123, 121, 118, 117, 120, 120, 119, 119, 120, 122, 124, 125, 126, 127, 129, 108,
+  112, 112, 111, 108, 107, 105, 107, 110, 110, 108, 108, 109, 110, 112, 114, 108,
+  108, 108, 109, 110, 111, 113, 114, 114, 114, 115, 115, 113, 110, 105, 102, 105,
+  105, 100, 92, 89, 96, 103, 105, 101, 96, 107, 108, 106, 98, 95, 129, 144,
+  150, 157, 160, 160, 161, 165, 167, 165, 167, 172, 177, 179, 177, 173, 167, 158,
+  158, 163, 172, 181, 186, 186, 184, 182, 182, 182, 184, 188, 190, 190, 189, 188,
+  187, 186, 184, 182, 181, 179, 179, 183, 180, 176, 171, 169, 171, 177, 183, 179,
+  182, 183, 183, 184, 189, 189, 185, 190, 189, 186, 182, 180, 180, 184, 187, 190,
+  188, 187, 187, 189, 194, 200, 204, 202, 200, 198, 196, 195, 195, 195, 195, 196,
+  191, 189, 193, 195, 194, 195, 197, 200, 200, 199, 197, 195, 196, 199, 202, 204,
+  207, 206, 201, 198, 201, 202, 201, 205, 208, 205, 197, 198, 203, 202, 196, 193,
+  194, 191, 186, 184, 184, 180, 174, 174, 167, 161, 146, 131, 139, 158, 163, 166,
+  165, 165, 167, 169, 170, 169, 168, 157, 154, 140, 109, 100, 132, 129, 129, 132,
+  133, 134, 134, 132, 128, 124, 122, 126, 124, 121, 119, 118, 120, 122, 125, 126,
+  125, 125, 100, 104, 107, 109, 108, 107, 106, 107, 112, 112, 110, 108, 107, 108,
+  107, 108, 107, 108, 108, 109, 111, 113, 115, 116, 111, 113, 113, 111, 105, 100,
+  96, 94, 99, 106, 108, 105, 100, 102, 103, 103, 106, 101, 106, 102, 102, 101,
+  98, 128, 145, 151, 157, 161, 161, 161, 164, 166, 170, 171, 174, 179, 183, 183,
+  181, 177, 165, 162, 162, 169, 179, 187, 188, 186, 184, 183, 182, 183, 185, 189,
+  192, 193, 187, 187, 187, 186, 184, 182, 179, 177, 180, 180, 180, 178, 176, 173,
+  172, 171, 172, 177, 180, 180, 182, 186, 186, 182, 185, 187, 189, 189, 187, 184,
+  184, 184, 191, 191, 190, 190, 191, 194, 199, 201, 199, 198, 196, 195, 195, 196,
+  197, 197, 197, 191, 188, 190, 191, 191, 193, 196, 201, 201, 200, 199, 198, 198,
+  198, 199, 202, 205, 205, 199, 197, 199, 200, 198, 198, 199, 196, 192, 194, 201,
+  202, 199, 192, 192, 190, 185, 184, 186, 183, 177, 175, 167, 161, 149, 135, 141,
+  159, 166, 163, 163, 164, 167, 170, 171, 169, 167, 160, 161, 142, 116, 97, 135,
+  128, 134, 133, 134, 135, 135, 134, 131, 128, 125, 129, 127, 125, 123, 122, 122,
+  124, 125, 124, 122, 120, 104, 108, 111, 114, 113, 113, 111, 112, 109, 109, 108,
+  106, 105, 106, 106, 105, 110, 111, 111, 113, 115, 117, 119, 120, 117, 118, 118,
+  115, 111, 107, 106, 106, 110, 118, 123, 121, 117, 116, 115, 112, 108, 107, 108,
+  101, 113, 126, 115, 125, 143, 149, 156, 160, 160, 160, 161, 163, 170, 170, 172,
+  175, 179, 181, 181, 180, 182, 174, 168, 168, 174, 179, 180, 179, 182, 181, 181,
+  180, 182, 185, 189, 192, 191, 191, 192, 191, 190, 187, 184, 182, 180, 180, 181,
+  180, 178, 173, 167, 163, 162, 170, 177, 177, 178, 182, 185, 186, 188, 190, 191,
+  191, 188, 186, 185, 185, 189, 190, 191, 193, 194, 194, 195, 195, 195, 195, 195,
+  195, 196, 198, 200, 201, 201, 194, 190, 192, 193, 193, 195, 198, 197, 198, 200,
+  202, 202, 201, 199, 197, 196, 201, 202, 198, 196, 197, 196, 194, 194, 193, 191,
+  189, 192, 198, 200, 198, 189, 189, 185, 180, 181, 184, 184, 180, 170, 162, 160,
+  151, 137, 139, 155, 161, 162, 163, 164, 167, 170, 171, 170, 168, 166, 168, 147,
+  118, 96, 133, 129, 137, 130, 130, 130, 130, 129, 128, 127, 127, 125, 126, 126,
+  126, 126, 125, 124, 124, 125, 123, 120, 109, 112, 115, 115, 114, 112, 111, 111,
+  110, 111, 111, 113, 114, 115, 115, 116, 114, 115, 115, 116, 118, 120, 122, 124,
+  126, 126, 126, 126, 127, 127, 127, 127, 120, 124, 124, 119, 116, 119, 120, 118,
+  71, 95, 115, 104, 102, 111, 109, 127, 140, 147, 155, 159, 160, 159, 160, 162,
+  171, 171, 171, 175, 178, 180, 179, 178, 176, 171, 166, 165, 170, 176, 181, 182,
+  177, 178, 179, 179, 178, 180, 183, 186, 189, 189, 190, 190, 189, 187, 184, 183,
+  185, 181, 177, 174, 173, 171, 169, 168, 157, 165, 171, 171, 172, 179, 187, 191,
+  193, 192, 189, 186, 183, 184, 188, 191, 187, 189, 192, 195, 196, 196, 195, 195,
+  194, 193, 193, 193, 193, 195, 197, 198, 197, 191, 188, 190, 193, 193, 196, 199,
+  197, 198, 201, 204, 206, 204, 200, 196, 192, 197, 199, 196, 195, 196, 195, 193,
+  197, 195, 192, 191, 192, 194, 194, 193, 186, 185, 182, 177, 177, 181, 182, 178,
+  171, 163, 162, 157, 142, 141, 154, 160, 164, 164, 164, 167, 170, 171, 171, 169,
+  162, 163, 150, 112, 93, 121, 121, 128, 129, 129, 129, 130, 131, 131, 131, 132,
+  128, 129, 130, 131, 131, 130, 129, 129, 128, 127, 125, 109, 111, 113, 113, 111,
+  110, 110, 111, 114, 115, 116, 119, 121, 122, 123, 123, 119, 119, 119, 120, 122,
+  123, 125, 126, 119, 118, 119, 122, 126, 126, 122, 118, 122, 122, 118, 113, 113,
+  118, 117, 115, 68, 85, 106, 98, 91, 92, 98, 129, 138, 145, 154, 159, 160,
+  160, 161, 163, 169, 172, 175, 179, 181, 180, 177, 173, 168, 167, 167, 168, 171,
+  176, 181, 184, 176, 179, 182, 182, 180, 179, 180, 182, 186, 186, 186, 186, 185,
+  185, 184, 183, 188, 183, 177, 175, 176, 178, 178, 177, 161, 163, 162, 160, 164,
+  173, 179, 180, 187, 187, 186, 185, 183, 184, 187, 190, 185, 187, 188, 190, 192,
+  192, 192, 192, 192, 191, 190, 189, 190, 191, 192, 193, 191, 186, 184, 187, 190,
+  190, 191, 195, 199, 199, 199, 202, 204, 203, 199, 195, 193, 197, 197, 193, 192,
+  195, 197, 197, 198, 195, 193, 192, 192, 190, 188, 187, 187, 188, 185, 181, 181,
+  182, 180, 174, 175, 165, 164, 159, 144, 141, 154, 161, 168, 167, 165, 166, 169,
+  171, 171, 171, 157, 157, 155, 108, 97, 112, 115, 116, 121, 124, 128, 131, 133,
+  133, 132, 131, 133, 133, 132, 132, 131, 131, 131, 132, 129, 129, 129, 108, 110,
+  113, 113, 113, 114, 115, 118, 113, 113, 115, 116, 117, 118, 116, 117, 121, 122,
+  121, 123, 123, 126, 126, 128, 126, 125, 125, 130, 132, 131, 122, 114, 123, 123,
+  121, 119, 121, 123, 118, 112, 118, 91, 81, 86, 107, 115, 105, 122, 139, 145,
+  154, 160, 161, 161, 163, 164, 165, 168, 175, 180, 182, 178, 171, 164, 176, 177,
+  177, 175, 173, 171, 172, 173, 178, 182, 186, 187, 184, 182, 182, 182, 188, 188,
+  188, 188, 188, 188, 188, 188, 186, 184, 182, 183, 186, 187, 185, 183, 170, 165,
+  156, 151, 156, 166, 168, 165, 175, 180, 186, 190, 189, 187, 185, 184, 184, 184,
+  183, 183, 183, 184, 185, 186, 193, 193, 192, 191, 192, 193, 195, 196, 194, 189,
+  186, 189, 190, 189, 189, 192, 201, 199, 197, 197, 199, 199, 196, 193, 195, 197,
+  196, 191, 190, 196, 200, 201, 195, 192, 190, 191, 191, 188, 185, 184, 191, 193,
+  192, 188, 187, 186, 180, 172, 173, 161, 159, 154, 138, 135, 149, 157, 170, 169,
+  166, 166, 169, 171, 172, 172, 160, 161, 167, 114, 110, 114, 119, 115, 109, 114,
+  120, 125, 128, 127, 124, 122, 133, 131, 128, 125, 123, 124, 126, 127, 125, 128,
+  130, 112, 114, 115, 116, 115, 113, 111, 110, 122, 117, 105, 120, 111, 118, 113,
+  125, 120, 113, 103, 106, 110, 116, 112, 110, 119, 129, 130, 125, 117, 121, 122,
+  122, 124, 121, 121, 121, 120, 118, 117, 117, 124, 126, 119, 112, 102, 90, 95,
+  116, 137, 145, 149, 154, 163, 159, 155, 162, 165, 170, 176, 179, 178, 175, 171,
+  170, 175, 176, 176, 175, 173, 173, 175, 177, 176, 181, 187, 192, 193, 189, 184,
+  180, 181, 182, 184, 188, 190, 188, 183, 179, 179, 186, 191, 188, 179, 173, 173,
+  176, 179, 173, 159, 155, 161, 158, 155, 164, 169, 175, 183, 189, 186, 178, 173,
+  175, 177, 179, 185, 191, 188, 179, 178, 183, 193, 188, 184, 184, 189, 193, 194,
+  194, 195, 190, 186, 186, 190, 195, 197, 197, 201, 202, 201, 199, 196, 194, 195,
+  197, 197, 197, 196, 195, 195, 194, 193, 193, 195, 194, 194, 195, 194, 191, 185,
+  181, 186, 182, 180, 183, 184, 180, 177, 178, 172, 169, 164, 156, 144, 137, 142,
+  152, 164, 164, 163, 165, 168, 170, 171, 172, 155, 155, 162, 93, 127, 115, 111,
+  123, 115, 116, 117, 121, 123, 123, 121, 118, 121, 118, 115, 114, 115, 119, 123,
+  127, 122, 125, 127, 112, 113, 113, 113, 111, 109, 108, 107, 106, 112, 105, 112,
+  101, 111, 102, 103, 123, 121, 113, 104, 97, 96, 101, 106, 98, 103, 105, 104,
+  107, 113, 114, 110, 104, 107, 118, 129, 129, 123, 118, 121, 103, 119, 125, 126,
+  129, 128, 124, 128, 134, 144, 148, 152, 160, 157, 154, 161, 165, 169, 175, 177,
+  177, 174, 172, 172, 174, 176, 177, 177, 176, 176, 177, 179, 173, 176, 181, 185,
+  188, 188, 187, 186, 187, 183, 178, 177, 179, 182, 185, 186, 183, 177, 174, 178,
+  186, 187, 180, 172, 168, 176, 176, 169, 160, 146, 141, 149, 160, 173, 176, 168,
+  175, 191, 189, 173, 179, 182, 187, 189, 183, 179, 186, 198, 185, 185, 186, 187,
+  188, 190, 193, 195, 202, 197, 190, 188, 189, 192, 193, 194, 195, 196, 197, 196,
+  195, 195, 197, 198, 197, 197, 196, 195, 195, 194, 193, 193, 196, 195, 194, 192,
+  190, 185, 178, 173, 178, 174, 174, 178, 179, 176, 173, 174, 176, 171, 164, 153,
+  143, 138, 146, 158, 163, 165, 166, 169, 171, 171, 169, 168, 158, 159, 152, 106,
+  131, 118, 112, 121, 118, 117, 116, 118, 120, 120, 119, 117, 120, 121, 122, 122,
+  120, 118, 116, 115, 119, 124, 126, 113, 113, 113, 111, 111, 111, 112, 112, 104,
+  128, 128, 121, 94, 104, 102, 109, 95, 96, 96, 96, 98, 102, 109, 114, 119,
+  118, 114, 112, 114, 115, 109, 100, 111, 105, 110, 118, 117, 107, 109, 120, 120,
+  136, 131, 119, 122, 126, 121, 116, 134, 144, 150, 152, 158, 156, 154, 161, 163,
+  167, 172, 175, 175, 174, 174, 174, 174, 176, 179, 180, 179, 178, 178, 179, 175,
+  176, 177, 179, 181, 184, 186, 188, 189, 184, 177, 173, 174, 178, 181, 183, 175,
+  179, 183, 183, 181, 180, 182, 185, 179, 176, 171, 170, 170, 163, 150, 138, 144,
+  146, 157, 171, 176, 174, 183, 197, 187, 179, 174, 176, 179, 178, 177, 177, 179,
+  184, 189, 190, 188, 189, 195, 199, 204, 199, 192, 188, 188, 190, 193, 194, 194,
+  196, 197, 197, 196, 195, 197, 199, 197, 197, 196, 195, 195, 194, 193, 193, 199,
+  198, 196, 194, 191, 186, 180, 176, 177, 175, 176, 181, 183, 180, 177, 177, 183,
+  176, 165, 152, 140, 137, 147, 161, 162, 166, 171, 174, 174, 171, 167, 166, 161,
+  163, 135, 123, 136, 123, 117, 120, 118, 116, 113, 113, 116, 118, 119, 120, 117,
+  119, 121, 123, 124, 124, 123, 122, 120, 122, 125, 110, 109, 109, 108, 109, 111,
+  114, 115, 109, 118, 109, 109, 90, 100, 95, 101, 102, 95, 92, 100, 112, 115,
+  104, 92, 100, 101, 103, 109, 116, 121, 120, 117, 127, 113, 111, 120, 120, 108,
+  108, 116, 114, 123, 117, 110, 113, 113, 108, 110, 132, 146, 151, 151, 157, 157,
+  156, 163, 163, 166, 170, 172, 173, 174, 176, 177, 175, 178, 181, 182, 180, 178,
+  177, 177, 182, 181, 180, 179, 179, 180, 180, 181, 185, 184, 182, 181, 180, 178,
+  174, 172, 172, 180, 186, 182, 172, 168, 174, 182, 181, 170, 163, 162, 165, 171,
+  160, 139, 131, 129, 139, 158, 167, 164, 170, 185, 189, 186, 184, 186, 188, 186,
+  183, 179, 181, 184, 188, 189, 191, 194, 200, 204, 200, 196, 190, 187, 187, 191,
+  196, 199, 199, 201, 202, 201, 198, 196, 197, 197, 196, 196, 196, 195, 195, 194,
+  194, 194, 194, 193, 193, 193, 193, 191, 187, 184, 182, 179, 180, 185, 187, 183,
+  180, 180, 186, 179, 167, 153, 140, 135, 144, 158, 164, 169, 173, 175, 173, 170,
+  167, 166, 162, 164, 120, 137, 138, 130, 126, 126, 118, 115, 112, 111, 114, 118,
+  121, 123, 120, 119, 117, 116, 117, 121, 124, 127, 121, 123, 126, 100, 100, 97,
+  96, 96, 97, 100, 102, 115, 97, 80, 107, 111, 115, 95, 92, 110, 104, 102,
+  110, 120, 122, 111, 100, 98, 100, 105, 111, 116, 119, 121, 123, 121, 114, 121,
+  138, 143, 128, 112, 106, 109, 114, 117, 123, 118, 93, 80, 90, 127, 144, 149,
+  147, 153, 156, 156, 163, 163, 166, 169, 171, 173, 174, 177, 179, 177, 179, 182,
+  182, 179, 176, 174, 174, 185, 185, 184, 183, 182, 179, 177, 176, 181, 181, 182,
+  184, 184, 181, 176, 172, 180, 174, 169, 169, 174, 174, 169, 163, 165, 168, 176,
+  164, 142, 140, 139, 123, 125, 142, 140, 126, 143, 180, 185, 164, 171, 180, 188,
+  186, 180, 179, 185, 192, 184, 182, 182, 185, 192, 198, 201, 202, 197, 194, 190,
+  187, 187, 190, 195, 199, 199, 201, 202, 202, 199, 198, 197, 198, 196, 196, 195,
+  195, 195, 195, 194, 194, 188, 187, 187, 188, 189, 188, 186, 183, 181, 178, 178,
+  182, 182, 178, 174, 174, 180, 174, 165, 153, 141, 135, 143, 155, 166, 170, 173,
+  174, 170, 168, 168, 169, 161, 160, 117, 145, 139, 139, 136, 137, 126, 122, 117,
+  114, 115, 117, 119, 119, 127, 125, 121, 118, 115, 115, 116, 117, 121, 123, 124,
+  94, 92, 89, 86, 84, 84, 85, 86, 95, 91, 94, 129, 123, 115, 97, 109,
+  100, 105, 108, 108, 107, 110, 117, 124, 120, 118, 118, 120, 119, 115, 116, 120,
+  117, 114, 117, 126, 128, 118, 104, 94, 121, 116, 114, 118, 110, 81, 71, 89,
+  120, 139, 145, 142, 148, 153, 155, 162, 164, 167, 171, 173, 174, 175, 177, 179,
+  178, 180, 182, 181, 178, 176, 175, 175, 181, 182, 184, 185, 184, 182, 180, 178,
+  181, 179, 178, 178, 181, 183, 184, 184, 177, 178, 178, 179, 178, 178, 177, 176,
+  176, 174, 182, 170, 144, 134, 114, 71, 81, 101, 106, 92, 92, 121, 152, 166,
+  180, 177, 171, 170, 178, 184, 182, 175, 183, 180, 179, 184, 193, 199, 201, 200,
+  201, 199, 196, 191, 188, 188, 191, 194, 192, 195, 198, 199, 199, 198, 199, 200,
+  195, 195, 195, 195, 195, 195, 195, 195, 193, 191, 189, 189, 189, 187, 184, 182,
+  183, 178, 177, 179, 180, 176, 173, 174, 172, 168, 162, 153, 142, 137, 144, 155,
+  165, 170, 173, 173, 169, 166, 168, 170, 157, 152, 129, 149, 140, 147, 142, 144,
+  137, 132, 126, 122, 119, 117, 115, 113, 123, 126, 129, 131, 131, 128, 125, 122,
+  119, 120, 122, 96, 96, 94, 93, 92, 92, 93, 94, 81, 95, 106, 129, 109,
+  99, 90, 107, 111, 115, 114, 108, 97, 97, 104, 114, 100, 96, 95, 104, 112,
+  116, 119, 123, 119, 121, 118, 112, 108, 109, 106, 102, 110, 106, 100, 104, 110,
+  102, 104, 123, 116, 138, 145, 141, 146, 153, 158, 165, 166, 169, 173, 175, 176,
+  176, 177, 178, 178, 180, 181, 180, 179, 178, 179, 181, 180, 181, 182, 183, 184,
+  183, 182, 181, 183, 180, 177, 176, 179, 182, 184, 185, 175, 186, 196, 194, 184,
+  179, 185, 193, 191, 175, 177, 174, 159, 152, 112, 39, 48, 41, 49, 58, 46,
+  39, 74, 125, 173, 174, 175, 179, 188, 192, 183, 170, 179, 182, 187, 193, 198,
+  201, 201, 201, 205, 205, 202, 197, 191, 188, 189, 191, 191, 194, 198, 200, 200,
+  199, 199, 200, 195, 195, 195, 195, 195, 195, 195, 195, 198, 196, 193, 191, 190,
+  188, 184, 182, 185, 180, 177, 180, 181, 179, 178, 180, 174, 170, 163, 153, 141,
+  135, 142, 154, 161, 167, 173, 174, 170, 166, 167, 168, 152, 144, 149, 153, 143,
+  153, 143, 146, 140, 136, 132, 128, 125, 121, 116, 112, 114, 118, 125, 131, 135,
+  136, 135, 134, 122, 123, 124, 102, 102, 103, 105, 107, 110, 111, 113, 121, 117,
+  104, 118, 116, 125, 105, 97, 99, 100, 102, 106, 112, 117, 120, 120, 110, 97,
+  91, 100, 111, 114, 113, 114, 105, 124, 135, 130, 125, 129, 128, 123, 114, 119,
+  115, 116, 125, 122, 114, 115, 117, 140, 148, 143, 149, 157, 162, 169, 166, 170,
+  174, 178, 177, 177, 177, 178, 177, 179, 180, 180, 180, 181, 184, 187, 182, 182,
+  181, 181, 181, 181, 181, 181, 184, 183, 181, 181, 180, 181, 178, 177, 185, 184,
+  185, 188, 192, 191, 186, 181, 178, 171, 181, 177, 157, 154, 120, 52, 90, 65,
+  50, 54, 60, 56, 57, 65, 100, 143, 183, 186, 168, 159, 168, 181, 177, 186,
+  197, 204, 205, 204, 204, 205, 206, 207, 205, 201, 194, 190, 190, 192, 197, 200,
+  203, 203, 202, 199, 198, 198, 195, 196, 196, 196, 196, 196, 195, 195, 194, 192,
+  189, 187, 186, 185, 182, 179, 183, 178, 175, 177, 179, 178, 179, 183, 183, 176,
+  166, 153, 139, 131, 138, 149, 157, 166, 175, 177, 173, 168, 165, 165, 148, 139,
+  164, 156, 145, 157, 142, 145, 136, 134, 133, 132, 130, 127, 121, 118, 115, 114,
+  116, 117, 120, 123, 127, 129, 127, 128, 128, 118, 117, 115, 114, 113, 113, 111,
+  111, 116, 114, 111, 109, 108, 111, 116, 121, 120, 122, 111, 107, 115, 117, 118,
+  126, 118, 112, 105, 102, 101, 103, 105, 110, 128, 123, 120, 116, 111, 110, 118,
+  128, 120, 112, 112, 120, 121, 113, 109, 112, 118, 141, 143, 135, 141, 155, 158,
+  160, 163, 170, 176, 177, 173, 171, 172, 174, 175, 180, 183, 185, 184, 183, 183,
+  184, 182, 183, 184, 184, 185, 185, 184, 184, 182, 181, 179, 178, 177, 179, 179,
+  180, 177, 183, 188, 190, 185, 181, 175, 175, 183, 166, 167, 161, 160, 149, 106,
+  79, 127, 112, 89, 68, 54, 51, 53, 55, 48, 80, 84, 139, 156, 177, 189,
+  183, 189, 196, 200, 199, 199, 203, 203, 201, 210, 209, 208, 203, 194, 188, 193,
+  202, 193, 194, 195, 197, 198, 199, 200, 201, 195, 196, 197, 197, 195, 195, 196,
+  198, 200, 192, 185, 187, 189, 186, 183, 182, 182, 183, 179, 180, 184, 178, 172,
+  179, 179, 166, 174, 153, 148, 132, 154, 153, 158, 164, 171, 167, 162, 173, 176,
+  160, 136, 155, 159, 144, 139, 149, 152, 144, 146, 147, 147, 139, 130, 124, 123,
+  126, 124, 120, 118, 121, 119, 117, 123, 133, 127, 151, 132, 112, 113, 112, 112,
+  111, 110, 109, 108, 103, 106, 109, 110, 111, 112, 113, 115, 110, 119, 115, 112,
+  119, 119, 117, 124, 112, 118, 124, 127, 125, 120, 119, 119, 115, 113, 114, 121,
+  122, 117, 113, 112, 112, 110, 114, 122, 122, 116, 120, 131, 117, 140, 144, 136,
+  143, 155, 158, 160, 166, 171, 177, 177, 173, 171, 172, 173, 174, 178, 182, 184,
+  183, 182, 183, 184, 185, 186, 186, 186, 185, 184, 183, 182, 183, 183, 181, 180,
+  178, 179, 180, 180, 177, 180, 183, 183, 180, 178, 177, 178, 186, 166, 166, 157,
+  158, 152, 133, 78, 112, 117, 122, 124, 117, 101, 80, 63, 46, 47, 53, 140,
+  182, 195, 196, 198, 195, 201, 205, 203, 204, 207, 209, 207, 205, 206, 208, 207,
+  200, 192, 193, 200, 193, 193, 194, 194, 194, 194, 194, 194, 194, 196, 197, 196,
+  194, 193, 194, 196, 199, 192, 187, 189, 191, 188, 184, 183, 173, 179, 178, 177,
+  178, 170, 168, 178, 178, 165, 170, 147, 138, 127, 150, 154, 182, 181, 181, 173,
+  160, 162, 162, 148, 160, 153, 156, 164, 158, 145, 145, 156, 151, 123, 103, 105,
+  113, 114, 116, 122, 132, 123, 115, 114, 115, 116, 123, 131, 132, 151, 141, 110,
+  111, 112, 112, 112, 111, 108, 107, 113, 113, 111, 110, 109, 108, 107, 108, 111,
+  107, 95, 99, 118, 124, 114, 111, 109, 114, 117, 114, 109, 107, 111, 117, 127,
+  117, 110, 115, 121, 123, 120, 118, 124, 126, 130, 128, 113, 96, 94, 104, 118,
+  139, 144, 137, 144, 153, 155, 159, 166, 171, 175, 177, 175, 172, 172, 174, 173,
+  176, 180, 182, 182, 182, 183, 184, 188, 188, 188, 187, 186, 184, 183, 182, 184,
+  184, 181, 179, 178, 178, 179, 179, 178, 178, 178, 177, 176, 176, 179, 181, 177,
+  165, 171, 162, 163, 153, 130, 59, 124, 117, 110, 107, 110, 114, 114, 111, 125,
+  97, 82, 144, 173, 175, 169, 174, 191, 198, 201, 199, 200, 204, 205, 204, 199,
+  202, 209, 212, 206, 196, 194, 197, 198, 198, 198, 197, 196, 195, 193, 192, 193,
+  194, 195, 194, 192, 191, 192, 194, 197, 191, 189, 192, 193, 189, 184, 183, 178,
+  184, 184, 181, 178, 168, 167, 179, 178, 170, 172, 148, 134, 130, 156, 164, 159,
+  158, 166, 171, 163, 158, 152, 142, 151, 158, 160, 156, 156, 160, 158, 152, 139,
+  107, 90, 104, 116, 110, 107, 115, 126, 123, 123, 127, 128, 125, 124, 126, 130,
+  138, 135, 110, 112, 113, 114, 113, 112, 110, 109, 119, 114, 106, 101, 100, 102,
+  105, 108, 96, 109, 109, 103, 101, 100, 108, 128, 112, 115, 116, 113, 111, 114,
+  120, 123, 118, 105, 96, 98, 104, 105, 105, 106, 106, 111, 119, 122, 112, 100,
+  99, 105, 117, 137, 141, 137, 144, 152, 154, 159, 165, 169, 174, 176, 176, 175,
+  177, 178, 174, 177, 180, 182, 182, 183, 185, 186, 188, 189, 189, 188, 187, 186,
+  185, 184, 184, 183, 181, 179, 177, 177, 178, 178, 180, 179, 177, 175, 175, 175,
+  177, 180, 173, 169, 173, 162, 163, 160, 104, 81, 126, 120, 114, 115, 120, 124,
+  123, 120, 113, 105, 107, 141, 167, 187, 198, 210, 188, 193, 196, 194, 195, 199,
+  201, 200, 198, 202, 208, 212, 207, 197, 193, 195, 199, 199, 200, 199, 198, 195,
+  193, 192, 192, 194, 195, 194, 191, 190, 191, 192, 194, 190, 190, 194, 195, 189,
+  184, 183, 188, 190, 186, 182, 180, 171, 166, 176, 176, 173, 173, 152, 133, 136,
+  161, 172, 176, 167, 169, 172, 160, 151, 148, 142, 144, 156, 155, 144, 146, 158,
+  153, 137, 126, 118, 113, 119, 115, 106, 108, 118, 119, 122, 124, 127, 125, 122,
+  123, 125, 126, 122, 125, 112, 114, 114, 115, 115, 114, 113, 112, 105, 102, 96,
+  96, 100, 106, 111, 114, 115, 116, 107, 108, 118, 120, 114, 117, 103, 111, 118,
+  125, 132, 136, 130, 121, 128, 127, 131, 135, 133, 126, 120, 119, 111, 110, 112,
+  115, 115, 113, 115, 119, 115, 133, 139, 137, 145, 151, 153, 160, 162, 165, 170,
+  174, 177, 179, 181, 183, 177, 180, 182, 184, 183, 184, 186, 188, 186, 187, 188,
+  188, 188, 188, 187, 188, 187, 186, 184, 182, 181, 180, 181, 181, 183, 182, 180,
+  179, 178, 176, 174, 173, 170, 172, 165, 153, 153, 163, 75, 128, 122, 121, 120,
+  122, 124, 121, 113, 104, 117, 118, 139, 160, 176, 176, 177, 184, 193, 198, 199,
+  197, 196, 200, 203, 201, 203, 203, 207, 208, 203, 195, 192, 194, 193, 194, 195,
+  195, 195, 193, 191, 189, 193, 194, 195, 194, 191, 190, 191, 192, 191, 189, 190,
+  195, 195, 189, 185, 184, 190, 188, 179, 177, 182, 175, 168, 173, 170, 171, 167,
+  151, 124, 131, 151, 160, 177, 161, 153, 150, 142, 144, 155, 158, 158, 141, 139,
+  152, 151, 136, 127, 137, 133, 136, 129, 114, 102, 104, 114, 120, 118, 121, 121,
+  114, 106, 106, 114, 122, 121, 123, 126, 114, 115, 115, 114, 115, 115, 116, 116,
+  107, 107, 107, 112, 116, 119, 116, 113, 124, 119, 110, 116, 137, 137, 118, 106,
+  116, 119, 119, 119, 126, 132, 125, 114, 124, 125, 127, 127, 120, 114, 116, 121,
+  139, 129, 118, 111, 109, 110, 109, 109, 112, 129, 135, 137, 145, 151, 154, 162,
+  162, 165, 169, 173, 177, 181, 183, 184, 180, 182, 183, 184, 184, 184, 186, 188,
+  185, 186, 187, 188, 188, 188, 188, 188, 189, 189, 187, 186, 184, 185, 186, 187,
+  185, 183, 181, 180, 178, 175, 170, 166, 156, 166, 164, 154, 148, 140, 51, 121,
+  120, 115, 109, 107, 109, 117, 123, 125, 123, 104, 133, 161, 190, 183, 183, 200,
+  197, 201, 201, 198, 197, 200, 202, 201, 206, 203, 203, 203, 199, 193, 192, 195,
+  192, 193, 195, 197, 196, 195, 193, 191, 193, 194, 195, 194, 190, 189, 190, 191,
+  191, 189, 192, 196, 196, 190, 187, 188, 190, 186, 176, 177, 186, 183, 175, 180,
+  171, 174, 166, 151, 119, 131, 140, 147, 145, 141, 146, 151, 147, 154, 159, 156,
+  144, 136, 134, 140, 143, 138, 135, 139, 135, 140, 134, 119, 116, 122, 118, 108,
+  113, 123, 130, 124, 113, 107, 105, 105, 112, 124, 127, 115, 114, 113, 112, 112,
+  114, 116, 117, 120, 120, 120, 124, 127, 127, 120, 116, 103, 128, 139, 131, 117,
+  106, 113, 134, 136, 137, 129, 118, 121, 129, 130, 123, 133, 129, 124, 120, 114,
+  115, 125, 136, 125, 121, 116, 114, 115, 117, 116, 112, 109, 126, 134, 137, 147,
+  152, 155, 164, 167, 167, 169, 173, 177, 181, 182, 183, 181, 183, 184, 183, 182,
+  182, 184, 186, 187, 188, 188, 188, 188, 187, 187, 186, 187, 186, 185, 184, 185,
+  186, 187, 188, 186, 182, 179, 177, 176, 173, 168, 164, 148, 157, 159, 146, 138,
+  103, 75, 101, 109, 115, 120, 125, 127, 129, 131, 132, 140, 121, 150, 159, 187,
+  185, 187, 203, 197, 201, 201, 196, 194, 197, 198, 197, 203, 200, 199, 200, 198,
+  193, 192, 196, 194, 196, 198, 199, 199, 197, 194, 192, 192, 193, 193, 192, 188,
+  187, 187, 189, 193, 192, 194, 198, 197, 192, 191, 193, 192, 189, 180, 180, 187,
+  183, 177, 183, 174, 177, 163, 152, 118, 135, 142, 148, 157, 163, 172, 170, 160,
+  158, 151, 132, 123, 133, 133, 124, 127, 141, 141, 132, 130, 132, 133, 133, 135,
+  134, 125, 115, 119, 126, 132, 130, 125, 121, 113, 104, 109, 116, 112, 116, 114,
+  111, 110, 110, 113, 116, 118, 120, 117, 115, 118, 124, 128, 128, 125, 136, 128,
+  110, 108, 124, 132, 125, 125, 108, 119, 124, 121, 123, 129, 126, 118, 110, 110,
+  113, 116, 114, 111, 112, 118, 115, 121, 127, 130, 129, 123, 112, 102, 108, 124,
+  132, 137, 148, 152, 155, 165, 170, 170, 171, 173, 177, 180, 180, 180, 182, 183,
+  183, 182, 180, 180, 182, 185, 189, 189, 189, 188, 187, 186, 184, 183, 183, 182,
+  181, 181, 182, 183, 185, 187, 185, 181, 176, 173, 172, 171, 168, 165, 160, 153,
+  144, 122, 120, 80, 138, 121, 116, 117, 116, 112, 106, 107, 112, 117, 113, 129,
+  177, 163, 183, 194, 193, 191, 200, 204, 203, 197, 195, 197, 198, 197, 200, 197,
+  197, 199, 198, 194, 193, 196, 192, 194, 196, 197, 195, 193, 189, 187, 190, 191,
+  192, 190, 187, 185, 185, 187, 196, 195, 197, 200, 199, 194, 194, 197, 190, 190,
+  182, 178, 180, 172, 167, 177, 172, 174, 156, 147, 116, 139, 147, 152, 151, 152,
+  153, 141, 133, 144, 149, 136, 138, 123, 121, 130, 127, 115, 115, 129, 133, 128,
+  126, 128, 127, 124, 131, 145, 138, 131, 116, 106, 111, 123, 129, 127, 116, 108,
+  96, 116, 116, 116, 116, 116, 117, 117, 118, 121, 120, 119, 109, 95, 100, 107,
+  101, 93, 110, 115, 116, 119, 114, 112, 121, 130, 125, 126, 131, 125, 107, 98,
+  100, 118, 116, 111, 107, 106, 110, 116, 120, 112, 116, 120, 124, 125, 126, 129,
+  132, 116, 122, 133, 142, 147, 151, 154, 157, 170, 171, 173, 174, 176, 180, 185,
+  189, 184, 183, 182, 181, 181, 182, 183, 184, 183, 183, 184, 186, 186, 189, 190,
+  191, 181, 178, 184, 185, 176, 178, 185, 184, 180, 183, 183, 177, 173, 171, 167,
+  162, 162, 130, 143, 127, 94, 119, 135, 115, 129, 128, 124, 121, 118, 118, 117,
+  118, 102, 140, 166, 174, 180, 185, 186, 192, 196, 199, 200, 199, 195, 194, 196,
+  199, 209, 204, 198, 196, 196, 195, 192, 188, 189, 191, 194, 196, 196, 195, 193,
+  192, 198, 194, 190, 190, 192, 194, 192, 190, 201, 200, 199, 200, 200, 197, 191,
+  186, 195, 192, 186, 180, 175, 173, 172, 173, 171, 154, 163, 136, 92, 148, 148,
+  159, 153, 154, 155, 151, 143, 137, 135, 135, 138, 136, 135, 134, 129, 124, 127,
+  134, 127, 122, 118, 121, 126, 129, 126, 122, 130, 131, 132, 127, 113, 104, 112,
+  126, 116, 111, 106, 116, 117, 116, 116, 116, 116, 115, 116, 119, 117, 118, 112,
+  104, 111, 118, 111, 101, 108, 104, 105, 115, 121, 124, 137, 121, 122, 123, 121,
+  120, 121, 120, 118, 105, 111, 119, 120, 115, 109, 105, 102, 112, 122, 135, 140,
+  132, 117, 101, 91, 126, 121, 122, 133, 139, 140, 145, 153, 163, 166, 171, 174,
+  176, 178, 179, 182, 186, 185, 183, 183, 182, 184, 184, 186, 184, 186, 185, 186,
+  184, 183, 181, 179, 190, 183, 186, 189, 184, 187, 190, 185, 185, 184, 177, 170,
+  168, 169, 164, 158, 146, 143, 145, 122, 111, 124, 124, 130, 130, 131, 130, 128,
+  126, 124, 122, 119, 112, 145, 168, 175, 183, 187, 188, 191, 195, 197, 199, 200,
+  199, 198, 198, 199, 199, 198, 197, 197, 197, 194, 191, 188, 192, 191, 190, 189,
+  189, 190, 192, 193, 196, 190, 183, 181, 183, 191, 199, 203, 203, 203, 202, 198,
+  193, 190, 189, 189, 191, 186, 178, 176, 176, 177, 175, 174, 188, 169, 167, 123,
+  100, 144, 141, 146, 144, 143, 138, 136, 138, 148, 161, 172, 154, 149, 147, 147,
+  145, 139, 137, 138, 129, 127, 125, 127, 130, 134, 139, 141, 147, 145, 143, 139,
+  126, 111, 102, 102, 117, 138, 129, 119, 118, 118, 119, 117, 118, 117, 118, 122,
+  117, 119, 118, 115, 121, 126, 118, 113, 110, 98, 90, 98, 100, 100, 107, 114,
+  125, 129, 122, 120, 125, 119, 106, 118, 110, 98, 87, 86, 96, 113, 126, 136,
+  128, 114, 104, 104, 115, 132, 144, 117, 112, 114, 127, 137, 142, 151, 161, 159,
+  163, 171, 177, 178, 178, 177, 177, 184, 183, 183, 182, 182, 184, 183, 185, 180,
+  182, 184, 186, 185, 184, 181, 180, 186, 177, 178, 183, 180, 185, 184, 175, 179,
+  180, 176, 175, 174, 171, 158, 143, 142, 154, 134, 107, 127, 134, 115, 139, 136,
+  139, 141, 143, 141, 137, 133, 130, 122, 150, 167, 174, 184, 189, 187, 189, 192,
+  193, 197, 200, 203, 202, 199, 196, 189, 193, 197, 198, 197, 193, 190, 189, 192,
+  192, 190, 189, 189, 190, 191, 191, 186, 189, 193, 196, 196, 198, 200, 201, 207,
+  208, 206, 200, 193, 191, 194, 199, 192, 184, 177, 176, 179, 181, 176, 173, 169,
+  158, 154, 103, 119, 154, 151, 147, 151, 148, 138, 129, 120, 114, 114, 114, 146,
+  141, 139, 147, 151, 149, 145, 144, 137, 139, 142, 143, 143, 145, 149, 153, 129,
+  125, 124, 129, 129, 122, 111, 105, 107, 139, 134, 119, 120, 121, 121, 121, 122,
+  123, 123, 128, 119, 122, 123, 120, 124, 125, 117, 123, 124, 114, 108, 112, 107,
+  101, 104, 89, 97, 103, 104, 110, 120, 124, 120, 122, 119, 115, 112, 108, 104,
+  98, 93, 102, 110, 121, 127, 124, 115, 104, 96, 97, 107, 113, 116, 123, 135,
+  144, 148, 154, 161, 168, 173, 175, 175, 175, 175, 181, 179, 179, 179, 179, 180,
+  180, 181, 177, 179, 180, 180, 180, 180, 179, 179, 183, 175, 179, 184, 179, 182,
+  184, 176, 190, 185, 175, 167, 166, 172, 174, 171, 153, 150, 122, 97, 129, 141,
+  119, 136, 140, 142, 144, 146, 145, 141, 137, 134, 126, 148, 163, 171, 183, 188,
+  185, 189, 191, 191, 195, 200, 204, 202, 196, 190, 189, 193, 197, 198, 194, 191,
+  191, 192, 191, 193, 195, 196, 196, 194, 192, 190, 187, 193, 200, 203, 200, 197,
+  196, 197, 208, 207, 204, 200, 197, 196, 198, 200, 194, 189, 184, 181, 180, 180,
+  177, 174, 167, 169, 162, 98, 138, 149, 142, 130, 128, 131, 135, 138, 139, 139,
+  139, 139, 127, 124, 124, 132, 137, 136, 136, 137, 133, 135, 139, 142, 140, 137,
+  133, 131, 139, 133, 129, 130, 131, 127, 119, 113, 111, 124, 123, 116, 118, 119,
+  120, 122, 123, 125, 126, 129, 119, 121, 125, 121, 123, 122, 115, 103, 113, 113,
+  112, 119, 118, 116, 123, 133, 120, 106, 98, 89, 83, 85, 93, 107, 111, 120,
+  133, 140, 131, 110, 90, 121, 116, 110, 107, 108, 113, 118, 122, 118, 137, 137,
+  118, 113, 131, 141, 137, 149, 155, 159, 164, 166, 169, 170, 172, 176, 177, 176,
+  178, 178, 177, 178, 178, 180, 179, 177, 175, 174, 173, 172, 173, 172, 169, 176,
+  178, 170, 172, 177, 174, 175, 185, 190, 186, 180, 175, 169, 164, 149, 134, 129,
+  118, 126, 141, 134, 136, 136, 136, 137, 135, 135, 133, 132, 131, 129, 148, 160,
+  170, 185, 189, 188, 194, 193, 193, 195, 199, 201, 199, 192, 187, 196, 198, 198,
+  195, 191, 190, 192, 196, 195, 195, 195, 195, 195, 194, 194, 194, 199, 197, 193,
+  188, 184, 188, 197, 205, 209, 204, 200, 199, 201, 200, 194, 188, 188, 189, 188,
+  184, 179, 176, 178, 181, 166, 173, 161, 95, 144, 145, 147, 139, 155, 150, 141,
+  132, 125, 120, 119, 117, 129, 127, 126, 126, 125, 122, 124, 130, 138, 136, 132,
+  132, 134, 133, 127, 123, 127, 129, 130, 131, 131, 129, 125, 121, 114, 109, 103,
+  114, 115, 117, 119, 120, 123, 123, 124, 125, 116, 119, 125, 122, 122, 125, 122,
+  102, 109, 104, 100, 104, 103, 103, 112, 111, 104, 107, 119, 119, 110, 109, 118,
+  109, 102, 96, 102, 113, 121, 119, 113, 90, 95, 103, 116, 128, 136, 140, 140,
+  134, 149, 143, 113, 105, 124, 138, 134, 147, 150, 155, 159, 162, 167, 171, 174,
+  173, 174, 174, 175, 175, 175, 175, 174, 173, 174, 173, 174, 174, 175, 175, 174,
+  167, 164, 171, 172, 164, 167, 175, 175, 166, 180, 189, 184, 167, 151, 135, 126,
+  133, 123, 148, 148, 129, 139, 144, 143, 138, 137, 134, 132, 131, 130, 130, 130,
+  131, 148, 161, 173, 187, 191, 190, 199, 196, 196, 196, 197, 198, 196, 192, 189,
+  203, 201, 197, 193, 190, 191, 194, 197, 199, 196, 191, 188, 188, 192, 198, 202,
+  197, 196, 194, 193, 193, 197, 202, 207, 215, 208, 203, 204, 208, 205, 194, 183,
+  178, 183, 186, 184, 177, 175, 179, 186, 160, 160, 140, 86, 134, 137, 154, 152,
+  148, 149, 149, 150, 150, 149, 145, 143, 134, 134, 135, 134, 132, 129, 135, 145,
+  127, 117, 106, 103, 106, 112, 113, 112, 115, 127, 136, 142, 142, 142, 135, 129,
+  131, 129, 112, 119, 120, 120, 121, 122, 122, 123, 124, 125, 117, 122, 128, 122,
+  121, 128, 128, 133, 133, 120, 111, 114, 109, 103, 107, 116, 122, 131, 140, 137,
+  126, 114, 108, 121, 118, 111, 106, 102, 97, 89, 82, 88, 91, 98, 108, 117,
+  122, 122, 120, 121, 122, 117, 106, 105, 116, 124, 123, 136, 141, 146, 152, 156,
+  162, 167, 170, 167, 167, 168, 169, 169, 168, 167, 168, 162, 163, 165, 167, 166,
+  164, 160, 158, 158, 152, 155, 158, 153, 159, 168, 167, 168, 165, 150, 133, 123,
+  127, 135, 140, 136, 129, 151, 149, 136, 142, 140, 145, 142, 141, 139, 137, 135,
+  133, 132, 132, 129, 149, 163, 175, 186, 188, 188, 199, 197, 198, 198, 196, 195,
+  195, 196, 198, 204, 200, 194, 191, 191, 193, 195, 196, 196, 195, 193, 193, 194,
+  196, 200, 202, 192, 195, 201, 207, 210, 210, 206, 203, 209, 206, 203, 205, 207,
+  204, 196, 189, 178, 181, 184, 183, 179, 179, 181, 185, 178, 166, 136, 95, 126,
+  122, 134, 126, 123, 126, 133, 140, 143, 140, 132, 126, 135, 133, 137, 141, 144,
+  143, 149, 156, 156, 151, 142, 139, 140, 145, 148, 150, 157, 164, 167, 163, 157,
+  152, 139, 128, 148, 156, 142, 126, 127, 126, 126, 125, 126, 125, 125, 129, 121,
+  126, 131, 121, 120, 127, 131, 131, 130, 122, 121, 131, 128, 117, 115, 121, 128,
+  126, 118, 117, 125, 126, 119, 125, 124, 122, 117, 110, 107, 106, 108, 106, 104,
+  106, 111, 119, 126, 129, 129, 134, 124, 123, 134, 140, 135, 129, 131, 121, 126,
+  134, 141, 145, 150, 155, 158, 160, 159, 162, 163, 163, 162, 160, 161, 157, 158,
+  158, 155, 148, 137, 125, 118, 118, 107, 107, 110, 112, 120, 127, 123, 113, 121,
+  130, 137, 145, 152, 153, 150, 154, 142, 138, 131, 140, 147, 132, 138, 141, 141,
+  140, 138, 136, 134, 132, 130, 128, 146, 162, 174, 184, 182, 184, 196, 198, 200,
+  199, 197, 194, 196, 201, 206, 201, 197, 191, 190, 192, 195, 195, 195, 188, 193,
+  200, 206, 207, 205, 200, 197, 201, 199, 197, 199, 203, 207, 208, 207, 193, 193,
+  194, 196, 197, 196, 194, 192, 186, 186, 184, 184, 184, 183, 182, 181, 173, 159,
+  132, 112, 139, 135, 141, 128, 135, 131, 128, 129, 132, 135, 138, 137, 139, 134,
+  134, 140, 145, 145, 142, 143, 150, 153, 153, 152, 149, 148, 148, 148, 152, 154,
+  152, 148, 149, 151, 145, 136, 130, 137, 135, 128, 124, 120, 124, 127, 125, 124,
+  123, 127, 124, 123, 126, 126, 124, 124, 129, 131, 131, 129, 125, 122, 121, 123,
+  124, 127, 126, 123, 121, 120, 123, 125, 128, 125, 128, 130, 132, 130, 126, 120,
+  116, 109, 117, 113, 109, 115, 118, 124, 139, 129, 130, 132, 134, 135, 136, 136,
+  135, 141, 136, 129, 124, 126, 134, 143, 150, 152, 151, 149, 145, 141, 143, 151,
+  160, 149, 142, 127, 111, 108, 115, 124, 127, 138, 141, 144, 144, 141, 140, 141,
+  144, 149, 149, 149, 150, 150, 150, 151, 152, 148, 149, 149, 149, 147, 146, 146,
+  144, 146, 141, 139, 140, 140, 137, 139, 142, 137, 148, 160, 168, 179, 192, 196,
+  194, 195, 192, 195, 201, 203, 199, 200, 205, 206, 196, 187, 185, 190, 193, 191,
+  189, 192, 198, 199, 195, 196, 199, 197, 191, 190, 199, 206, 205, 199, 197, 203,
+  210, 204, 197, 191, 194, 201, 203, 197, 190, 183, 183, 185, 187, 188, 187, 182,
+  178, 165, 170, 99, 144, 131, 131, 139, 141, 139, 137, 136, 136, 135, 134, 133,
+  132, 137, 135, 133, 134, 136, 141, 147, 152, 148, 148, 149, 149, 149, 148, 146,
+  144, 146, 146, 154, 158, 154, 152, 142, 120, 117, 125, 148, 127, 126, 128, 132,
+  130, 126, 125, 126, 127, 124, 123, 125, 125, 122, 122, 126, 125, 127, 129, 129,
+  127, 126, 125, 127, 129, 128, 126, 126, 126, 128, 130, 132, 129, 129, 130, 131,
+  130, 129, 127, 126, 117, 128, 128, 126, 129, 125, 123, 131, 133, 133, 133, 134,
+  135, 137, 139, 140, 138, 138, 138, 138, 138, 138, 138, 138, 126, 128, 129, 125,
+  121, 122, 127, 131, 120, 130, 139, 144, 150, 154, 153, 148, 145, 146, 147, 147,
+  147, 147, 149, 150, 151, 151, 150, 149, 149, 148, 147, 148, 148, 147, 146, 145,
+  143, 142, 141, 141, 148, 145, 145, 148, 148, 144, 144, 145, 142, 142, 154, 173,
+  186, 191, 195, 201, 195, 192, 194, 198, 200, 198, 198, 202, 197, 193, 187, 184,
+  186, 190, 194, 196, 196, 200, 200, 197, 199, 202, 201, 196, 194, 198, 201, 202,
+  201, 201, 204, 208, 206, 200, 194, 193, 195, 194, 188, 182, 182, 182, 183, 184,
+  184, 183, 179, 174, 173, 160, 110, 143, 136, 137, 140, 135, 137, 137, 137, 138,
+  140, 141, 143, 143, 140, 138, 136, 133, 133, 135, 139, 141, 145, 146, 145, 145,
+  143, 144, 146, 148, 160, 152, 145, 139, 133, 143, 149, 142, 101, 132, 154, 116,
+  120, 126, 130, 125, 118, 119, 123, 124, 121, 121, 125, 126, 123, 124, 128, 124,
+  128, 133, 134, 132, 130, 127, 127, 128, 128, 129, 130, 132, 132, 133, 134, 127,
+  126, 125, 125, 126, 129, 131, 133, 124, 135, 134, 133, 135, 129, 124, 130, 135,
+  134, 133, 132, 134, 136, 139, 141, 141, 143, 146, 149, 149, 146, 143, 141, 149,
+  152, 155, 154, 151, 149, 150, 151, 150, 156, 158, 156, 155, 154, 151, 145, 154,
+  153, 152, 152, 154, 156, 156, 156, 159, 158, 157, 155, 153, 152, 151, 151, 157,
+  155, 152, 150, 148, 147, 146, 146, 150, 148, 149, 153, 154, 149, 147, 147, 147,
+  139, 149, 175, 189, 186, 189, 202, 195, 193, 193, 196, 196, 194, 195, 198, 192,
+  191, 188, 184, 183, 186, 193, 199, 196, 199, 200, 197, 198, 202, 202, 201, 202,
+  201, 200, 200, 201, 202, 203, 202, 208, 205, 200, 197, 195, 191, 187, 184, 182,
+  182, 183, 184, 184, 183, 179, 176, 169, 134, 121, 138, 140, 145, 146, 134, 140,
+  140, 140, 140, 142, 144, 148, 149, 148, 146, 145, 142, 141, 141, 142, 143, 150,
+  150, 149, 147, 143, 144, 149, 153, 143, 144, 151, 154, 144, 143, 139, 126, 138,
+  102, 133, 111, 112, 116, 120, 120, 116, 117, 123, 121, 119, 121, 127, 128, 126,
+  127, 132, 128, 131, 135, 135, 131, 127, 126, 125, 125, 127, 128, 130, 131, 132,
+  132, 132, 129, 128, 126, 126, 128, 131, 134, 136, 130, 138, 134, 131, 136, 135,
+  133, 142, 138, 138, 139, 139, 140, 142, 144, 145, 151, 150, 149, 149, 151, 153,
+  155, 157, 146, 149, 151, 151, 149, 147, 146, 146, 157, 158, 155, 149, 150, 156,
+  160, 161, 164, 159, 154, 154, 156, 159, 158, 157, 161, 161, 159, 158, 156, 155,
+  154, 154, 161, 160, 156, 154, 152, 153, 154, 155, 150, 148, 148, 152, 153, 149,
+  147, 148, 150, 142, 145, 164, 177, 179, 184, 193, 195, 193, 193, 192, 192, 192,
+  193, 193, 192, 192, 189, 186, 185, 186, 190, 193, 194, 194, 194, 193, 194, 197,
+  200, 200, 206, 204, 202, 200, 199, 199, 198, 198, 202, 202, 200, 198, 194, 191,
+  190, 190, 180, 179, 179, 181, 181, 181, 177, 176, 161, 115, 138, 135, 138, 143,
+  143, 132, 144, 143, 142, 140, 139, 140, 143, 145, 149, 149, 150, 150, 150, 150,
+  151, 151, 150, 152, 152, 148, 143, 142, 145, 150, 151, 147, 149, 146, 135, 134,
+  137, 133, 135, 129, 120, 118, 113, 112, 118, 123, 124, 126, 129, 123, 122, 123,
+  129, 130, 127, 126, 129, 129, 130, 130, 130, 126, 125, 125, 126, 124, 126, 128,
+  130, 133, 133, 132, 130, 136, 135, 135, 136, 136, 137, 138, 139, 135, 142, 139,
+  138, 144, 143, 141, 148, 142, 144, 147, 150, 151, 151, 150, 149, 155, 153, 150,
+  149, 150, 153, 157, 160, 158, 159, 159, 158, 157, 156, 157, 158, 146, 152, 158,
+  160, 163, 166, 164, 159, 166, 161, 156, 154, 155, 157, 155, 154, 155, 155, 154,
+  155, 154, 154, 153, 153, 155, 153, 152, 150, 150, 151, 154, 156, 153, 149, 148,
+  150, 151, 149, 150, 154, 150, 148, 146, 151, 161, 175, 184, 186, 190, 192, 192,
+  190, 189, 191, 190, 190, 188, 187, 187, 188, 190, 191, 190, 189, 193, 191, 191,
+  191, 191, 193, 197, 200, 199, 202, 203, 201, 197, 195, 198, 201, 192, 194, 194,
+  192, 189, 187, 187, 189, 180, 178, 176, 175, 173, 170, 167, 163, 159, 117, 155,
+  139, 137, 135, 136, 128, 145, 146, 146, 143, 140, 139, 141, 143, 143, 144, 146,
+  147, 148, 149, 150, 150, 143, 145, 146, 146, 143, 141, 143, 144, 149, 143, 146,
+  146, 137, 136, 140, 139, 143, 138, 167, 123, 115, 111, 117, 123, 126, 128, 130,
+  129, 126, 128, 130, 128, 123, 120, 123, 125, 125, 124, 123, 122, 124, 127, 131,
+  127, 129, 130, 132, 133, 133, 132, 133, 136, 136, 137, 138, 138, 138, 137, 137,
+  131, 140, 141, 143, 148, 143, 135, 138, 139, 142, 146, 150, 151, 150, 147, 145,
+  152, 152, 152, 152, 151, 150, 149, 148, 150, 149, 147, 146, 146, 148, 150, 151,
+  155, 159, 161, 160, 158, 157, 154, 148, 164, 161, 157, 155, 155, 155, 154, 153,
+  154, 155, 155, 155, 156, 156, 157, 157, 152, 152, 151, 151, 151, 153, 154, 156,
+  157, 152, 150, 153, 154, 152, 155, 158, 149, 152, 150, 146, 152, 170, 182, 184,
+  185, 189, 189, 188, 187, 188, 187, 184, 181, 180, 182, 186, 191, 194, 193, 191,
+  196, 192, 191, 193, 193, 192, 196, 200, 190, 195, 200, 200, 197, 197, 200, 203,
+  193, 193, 193, 191, 188, 185, 185, 184, 186, 182, 177, 173, 168, 162, 155, 152,
+  146, 121, 155, 141, 141, 139, 143, 143, 142, 145, 149, 148, 144, 143, 145, 148,
+  145, 145, 146, 146, 146, 147, 148, 147, 141, 142, 144, 147, 148, 148, 146, 146,
+  139, 134, 142, 150, 145, 141, 141, 136, 140, 137, 147, 118, 115, 113, 117, 119,
+  118, 120, 124, 126, 124, 125, 128, 128, 122, 119, 120, 123, 123, 122, 122, 120,
+  123, 126, 130, 129, 130, 132, 133, 133, 133, 133, 133, 134, 134, 134, 135, 134,
+  135, 135, 135, 132, 139, 138, 139, 146, 142, 133, 136, 137, 139, 142, 144, 146,
+  145, 144, 143, 150, 151, 152, 152, 151, 149, 147, 146, 151, 150, 149, 150, 152,
+  154, 154, 154, 151, 152, 150, 146, 150, 158, 163, 164, 159, 159, 160, 159, 157,
+  156, 156, 157, 158, 158, 158, 159, 159, 160, 160, 160, 156, 156, 156, 156, 156,
+  156, 156, 156, 156, 152, 153, 157, 157, 156, 157, 159, 154, 154, 152, 151, 152,
+  156, 166, 176, 177, 183, 185, 184, 182, 185, 183, 178, 177, 179, 180, 181, 183,
+  186, 191, 195, 197, 192, 191, 194, 196, 193, 194, 199, 189, 191, 195, 197, 198,
+  198, 196, 195, 193, 192, 190, 189, 188, 186, 184, 183, 181, 177, 171, 166, 160,
+  153, 147, 142, 137, 130, 144, 139, 145, 143, 146, 151, 140, 145, 150, 151, 147,
+  145, 147, 149, 149, 148, 149, 148, 148, 149, 150, 151, 148, 145, 141, 142, 146,
+  147, 145, 141, 152, 134, 127, 127, 124, 129, 139, 141, 146, 72, 101, 117, 117,
+  120, 123, 118, 113, 115, 121, 119, 118, 121, 127, 127, 123, 121, 123, 125, 126,
+  125, 124, 121, 121, 123, 125, 129, 129, 131, 131, 131, 131, 130, 131, 136, 136,
+  135, 135, 135, 137, 139, 141, 140, 143, 136, 134, 143, 144, 142, 148, 143, 143,
+  145, 146, 147, 148, 149, 149, 153, 152, 150, 149, 149, 152, 154, 156, 148, 147,
+  148, 150, 154, 154, 153, 152, 155, 158, 158, 155, 155, 159, 159, 156, 156, 159,
+  162, 162, 159, 158, 160, 162, 157, 158, 157, 157, 157, 158, 158, 158, 159, 158,
+  158, 157, 157, 156, 155, 154, 152, 150, 153, 158, 159, 156, 155, 156, 162, 152,
+  153, 158, 151, 140, 146, 164, 172, 179, 182, 181, 180, 184, 179, 173, 177, 181,
+  181, 178, 174, 176, 187, 196, 196, 192, 191, 195, 194, 191, 190, 195, 196, 193,
+  193, 196, 200, 198, 191, 184, 187, 185, 183, 183, 184, 184, 182, 180, 164, 160,
+  156, 151, 146, 143, 137, 133, 145, 146, 139, 137, 143, 139, 135, 138, 140, 144,
+  151, 151, 147, 143, 144, 146, 147, 146, 147, 147, 148, 150, 152, 154, 151, 144,
+  135, 133, 135, 136, 132, 127, 132, 121, 127, 138, 133, 125, 117, 108, 129, 101,
+  124, 117, 119, 121, 121, 122, 120, 114, 109, 112, 114, 118, 123, 125, 126, 125,
+  123, 123, 123, 122, 123, 124, 124, 125, 125, 122, 127, 131, 132, 130, 130, 133,
+  137, 134, 134, 135, 136, 136, 137, 137, 137, 137, 135, 133, 132, 134, 137, 140,
+  143, 137, 141, 145, 147, 146, 145, 145, 146, 145, 146, 146, 147, 149, 150, 151,
+  151, 149, 150, 151, 151, 151, 153, 158, 161, 161, 157, 153, 154, 158, 160, 158,
+  155, 161, 152, 156, 160, 152, 150, 157, 160, 163, 162, 158, 156, 155, 156, 158,
+  159, 154, 154, 155, 156, 155, 153, 152, 150, 151, 149, 153, 158, 160, 157, 159,
+  161, 156, 154, 153, 155, 157, 156, 151, 147, 166, 162, 160, 164, 170, 175, 174,
+  172, 173, 174, 173, 164, 161, 178, 184, 168, 181, 190, 188, 185, 188, 187, 185,
+  194, 193, 192, 190, 188, 186, 185, 185, 185, 185, 183, 181, 179, 177, 175, 173,
+  171, 165, 157, 147, 139, 135, 139, 146, 152, 148, 149, 148, 144, 141, 141, 146,
+  150, 146, 144, 143, 147, 151, 151, 145, 139, 143, 144, 148, 151, 151, 144, 132,
+  124, 118, 123, 123, 124, 128, 133, 130, 124, 128, 126, 128, 134, 142, 142, 135,
+  128, 122, 110, 105, 125, 123, 121, 120, 121, 122, 120, 117, 127, 126, 123, 122,
+  121, 123, 125, 126, 124, 124, 125, 126, 126, 127, 127, 127, 126, 126, 127, 129,
+  131, 132, 131, 130, 134, 134, 135, 136, 137, 137, 137, 137, 135, 135, 135, 136,
+  137, 139, 140, 141, 137, 140, 144, 145, 146, 146, 147, 148, 149, 149, 149, 149,
+  149, 150, 150, 150, 151, 152, 153, 153, 152, 153, 156, 158, 159, 156, 152, 154,
+  157, 159, 157, 154, 162, 151, 154, 161, 157, 157, 158, 154, 158, 157, 154, 154,
+  153, 155, 157, 159, 158, 157, 156, 155, 155, 154, 155, 155, 155, 154, 156, 160,
+  160, 157, 157, 158, 158, 158, 159, 162, 163, 163, 161, 158, 159, 149, 141, 139,
+  144, 154, 160, 163, 172, 165, 161, 155, 153, 169, 180, 172, 180, 188, 188, 188,
+  191, 188, 182, 187, 183, 183, 182, 184, 183, 185, 184, 185, 179, 176, 172, 175,
+  180, 183, 179, 176, 154, 150, 146, 140, 140, 141, 145, 148, 149, 150, 150, 147,
+  143, 140, 141, 143, 147, 145, 145, 149, 154, 155, 152, 147, 151, 149, 148, 147,
+  148, 149, 149, 150, 137, 136, 129, 124, 126, 133, 136, 134, 146, 146, 147, 151,
+  152, 143, 127, 114, 131, 133, 131, 125, 124, 123, 124, 124, 124, 124, 123, 130,
+  127, 124, 121, 120, 121, 122, 124, 124, 123, 124, 125, 126, 127, 128, 128, 129,
+  126, 124, 127, 131, 133, 129, 126, 134, 136, 136, 137, 137, 138, 138, 138, 134,
+  136, 138, 140, 141, 141, 141, 140, 138, 140, 143, 144, 144, 145, 148, 150, 150,
+  150, 149, 148, 147, 147, 148, 148, 153, 155, 157, 156, 155, 153, 154, 155, 158,
+  155, 153, 154, 157, 158, 156, 153, 163, 151, 154, 162, 161, 161, 158, 148, 153,
+  153, 150, 150, 151, 154, 157, 158, 160, 159, 157, 155, 154, 155, 157, 157, 160,
+  158, 159, 163, 162, 158, 157, 158, 155, 157, 161, 162, 162, 163, 162, 163, 166,
+  162, 159, 160, 162, 161, 158, 154, 162, 152, 150, 150, 147, 154, 163, 161, 160,
+  169, 171, 177, 188, 187, 180, 182, 177, 178, 180, 181, 182, 182, 181, 180, 178,
+  170, 164, 165, 170, 171, 164, 155, 146, 146, 147, 148, 148, 148, 148, 148, 149,
+  151, 152, 150, 147, 144, 143, 143, 143, 142, 141, 145, 150, 153, 152, 150, 153,
+  152, 151, 149, 148, 151, 158, 163, 168, 167, 159, 152, 152, 157, 160, 159, 156,
+  148, 139, 134, 133, 131, 126, 121, 132, 141, 137, 116, 116, 118, 123, 124, 121,
+  116, 115, 114, 117, 119, 123, 124, 123, 121, 119, 121, 122, 122, 123, 124, 125,
+  126, 126, 130, 129, 128, 128, 130, 130, 128, 126, 135, 136, 137, 137, 137, 138,
+  139, 139, 136, 137, 139, 141, 142, 142, 142, 141, 141, 142, 143, 143, 143, 144,
+  146, 149, 146, 146, 144, 144, 144, 144, 145, 146, 152, 154, 157, 157, 156, 154,
+  154, 154, 157, 155, 154, 155, 157, 158, 156, 154, 161, 153, 156, 161, 159, 159,
+  158, 149, 152, 151, 149, 150, 150, 152, 155, 156, 158, 157, 156, 156, 155, 155,
+  156, 155, 161, 158, 159, 163, 162, 158, 158, 161, 154, 157, 162, 163, 161, 160,
+  162, 164, 162, 163, 166, 169, 169, 166, 158, 152, 159, 148, 152, 161, 153, 148,
+  149, 148, 151, 159, 160, 165, 178, 177, 170, 171, 173, 174, 174, 174, 172, 170,
+  165, 164, 169, 164, 157, 156, 155, 154, 147, 143, 148, 150, 153, 155, 156, 154,
+  153, 152, 148, 149, 150, 151, 150, 149, 149, 150, 144, 142, 141, 143, 147, 150,
+  151, 151, 152, 156, 161, 161, 157, 155, 157, 159, 161, 166, 166, 164, 161, 161,
+  156, 151, 150, 140, 128, 121, 119, 123, 123, 123, 117, 125, 127, 116, 111, 109,
+  114, 115, 113, 112, 115, 112, 114, 119, 123, 126, 126, 126, 125, 123, 123, 123,
+  124, 126, 126, 126, 126, 128, 131, 133, 132, 129, 128, 128, 130, 135, 136, 137,
+  138, 139, 139, 139, 139, 141, 140, 139, 139, 140, 141, 142, 143, 143, 144, 145,
+  144, 142, 142, 144, 146, 144, 143, 142, 142, 143, 145, 147, 149, 149, 153, 155,
+  156, 155, 154, 154, 155, 156, 156, 156, 157, 158, 158, 156, 154, 158, 154, 159,
+  159, 152, 153, 158, 152, 152, 152, 151, 150, 150, 152, 153, 153, 155, 157, 159,
+  161, 161, 159, 156, 154, 159, 156, 158, 161, 162, 160, 162, 164, 162, 166, 168,
+  169, 165, 164, 166, 168, 162, 160, 159, 159, 162, 167, 170, 172, 182, 171, 177,
+  186, 178, 171, 172, 172, 163, 167, 162, 161, 169, 166, 157, 159, 164, 165, 164,
+  164, 160, 157, 152, 151, 153, 155, 155, 156, 155, 155, 156, 157, 156, 155, 156,
+  157, 156, 155, 154, 154, 149, 148, 147, 146, 148, 149, 149, 150, 151, 149, 148,
+  148, 149, 151, 153, 153, 153, 158, 165, 165, 162, 157, 157, 157, 148, 157, 161,
+  162, 159, 158, 151, 145, 148, 147, 144, 142, 137, 129, 118, 110, 110, 111, 119,
+  128, 118, 110, 113, 114, 113, 117, 125, 124, 123, 121, 122, 124, 128, 131, 134,
+  128, 128, 128, 129, 129, 129, 129, 129, 127, 132, 135, 133, 129, 126, 127, 133,
+  136, 137, 137, 138, 139, 140, 139, 140, 141, 141, 139, 138, 139, 140, 142, 143,
+  142, 144, 145, 145, 143, 143, 144, 145, 146, 145, 144, 144, 145, 148, 151, 154,
+  148, 151, 153, 153, 153, 153, 154, 155, 154, 155, 156, 157, 157, 156, 155, 154,
+  155, 154, 160, 157, 148, 150, 157, 150, 152, 152, 151, 151, 152, 152, 152, 152,
+  155, 157, 161, 164, 164, 161, 156, 153, 156, 153, 155, 159, 160, 159, 162, 166,
+  167, 168, 169, 168, 165, 164, 164, 165, 167, 167, 169, 169, 169, 169, 167, 166,
+  158, 146, 149, 154, 147, 147, 154, 158, 163, 166, 159, 156, 161, 159, 153, 157,
+  161, 160, 161, 160, 159, 157, 155, 154, 148, 152, 157, 157, 155, 156, 161, 165,
+  159, 157, 156, 154, 151, 151, 151, 151, 151, 148, 144, 142, 143, 144, 144, 143,
+  151, 150, 149, 148, 147, 148, 149, 150, 150, 151, 153, 154, 153, 153, 155, 157,
+  155, 161, 162, 160, 158, 160, 160, 158, 158, 157, 153, 150, 144, 138, 129, 124,
+  125, 114, 111, 124, 114, 108, 113, 114, 109, 111, 119, 122, 121, 119, 120, 123,
+  127, 132, 135, 132, 131, 132, 132, 130, 129, 129, 129, 129, 130, 130, 130, 130,
+  129, 128, 129, 136, 138, 139, 139, 139, 140, 140, 140, 139, 139, 139, 140, 140,
+  140, 140, 139, 138, 141, 144, 146, 145, 145, 146, 147, 149, 148, 146, 144, 145,
+  147, 150, 153, 150, 152, 153, 152, 149, 149, 151, 153, 150, 152, 155, 156, 155,
+  153, 152, 151, 153, 152, 157, 156, 150, 154, 155, 143, 149, 149, 150, 151, 151,
+  152, 153, 152, 153, 154, 157, 159, 159, 157, 154, 152, 156, 152, 152, 155, 158,
+  157, 160, 163, 163, 162, 160, 161, 161, 161, 160, 159, 157, 161, 167, 169, 166,
+  158, 149, 143, 164, 157, 160, 161, 154, 157, 166, 167, 153, 161, 157, 156, 160,
+  159, 157, 165, 160, 160, 160, 160, 160, 160, 160, 160, 154, 156, 158, 157, 156,
+  156, 158, 159, 156, 156, 155, 152, 150, 149, 148, 147, 148, 147, 144, 144, 146,
+  146, 143, 141, 147, 147, 148, 148, 146, 146, 147, 148, 148, 147, 147, 148, 151,
+  153, 153, 153, 148, 153, 153, 149, 146, 150, 153, 155, 160, 156, 148, 143, 139,
+  139, 138, 140, 132, 126, 118, 102, 95, 99, 109, 109, 99, 93, 95, 108, 112,
+  117, 122, 126, 127, 127, 127, 133, 133, 132, 131, 131, 129, 127, 126, 131, 127,
+  126, 128, 131, 132, 129, 127, 136, 137, 137, 138, 138, 138, 139, 139, 134, 137,
+  139, 142, 143, 141, 138, 136, 135, 139, 144, 147, 148, 147, 148, 149, 150, 148,
+  145, 143, 143, 144, 147, 148, 153, 154, 153, 150, 147, 146, 148, 150, 147, 150,
+  153, 154, 153, 151, 150, 149, 151, 149, 152, 154, 152, 157, 152, 134, 144, 145,
+  146, 149, 151, 152, 154, 153, 149, 150, 151, 152, 151, 151, 150, 150, 155, 152,
+  151, 154, 155, 155, 158, 161, 161, 159, 157, 156, 159, 161, 159, 157, 161, 161,
+  160, 160, 159, 160, 163, 165, 157, 156, 164, 165, 155, 157, 160, 154, 160, 168,
+  167, 164, 165, 161, 158, 166, 156, 155, 155, 154, 154, 154, 154, 155, 158, 157,
+  155, 159, 162, 165, 164, 162, 155, 155, 154, 153, 151, 149, 148, 147, 144, 144,
+  146, 149, 153, 153, 148, 145, 147, 150, 151, 152, 150, 150, 151, 152, 153, 153,
+  154, 158, 161, 160, 156, 150, 147, 153, 155, 152, 149, 151, 153, 152, 151, 153,
+  152, 151, 145, 139, 129, 125, 121, 135, 139, 109, 106, 109, 110, 109, 111, 96,
+  69, 113, 120, 124, 121, 120, 122, 123, 121, 119, 128, 128, 126, 131, 128, 126,
+  134, 126, 132, 139, 138, 134, 129, 129, 132, 138, 134, 133, 137, 137, 132, 133,
+  137, 136, 140, 143, 145, 144, 144, 143, 144, 145, 144, 141, 142, 143, 143, 141,
+  140, 144, 145, 146, 148, 149, 151, 152, 152, 149, 148, 146, 145, 145, 146, 147,
+  148, 148, 150, 149, 145, 145, 150, 152, 150, 148, 152, 156, 154, 148, 147, 152,
+  158, 151, 153, 152, 151, 151, 151, 154, 154, 149, 153, 154, 153, 152, 153, 149,
+  145, 148, 152, 155, 155, 153, 154, 158, 163, 163, 161, 160, 162, 164, 163, 159,
+  156, 152, 155, 159, 162, 164, 164, 162, 161, 156, 156, 156, 156, 157, 158, 160,
+  162, 162, 162, 162, 161, 159, 158, 158, 157, 160, 160, 160, 159, 157, 155, 153,
+  152, 154, 152, 151, 153, 156, 159, 160, 160, 156, 154, 152, 148, 147, 147, 148,
+  149, 149, 148, 146, 144, 143, 144, 144, 144, 152, 155, 151, 145, 143, 150, 152,
+  149, 154, 151, 148, 150, 154, 156, 153, 151, 152, 153, 153, 150, 147, 147, 149,
+  153, 144, 146, 146, 146, 141, 135, 126, 121, 123, 126, 132, 102, 99, 105, 109,
+  103, 100, 88, 68, 114, 122, 128, 124, 118, 119, 121, 121, 127, 132, 129, 129,
+  137, 135, 130, 134, 139, 138, 137, 135, 132, 130, 129, 129, 138, 135, 135, 138,
+  137, 132, 131, 135, 131, 135, 139, 139, 139, 139, 140, 141, 141, 140, 139, 141,
+  142, 143, 141, 140, 140, 141, 142, 143, 144, 145, 146, 146, 152, 151, 149, 148,
+  147, 148, 148, 149, 146, 149, 150, 147, 148, 151, 151, 147, 147, 150, 151, 150,
+  146, 147, 150, 154, 149, 151, 151, 149, 149, 150, 153, 155, 148, 154, 157, 153,
+  150, 152, 154, 154, 156, 155, 155, 155, 156, 158, 158, 158, 158, 157, 157, 158,
+  161, 161, 159, 156, 156, 157, 160, 161, 162, 162, 161, 159, 158, 158, 159, 160,
+  159, 157, 156, 156, 158, 158, 160, 160, 160, 159, 158, 158, 157, 157, 157, 156,
+  156, 156, 156, 156, 165, 162, 159, 159, 160, 160, 159, 158, 157, 157, 157, 156,
+  154, 152, 149, 148, 148, 147, 146, 145, 144, 145, 146, 147, 146, 151, 150, 148,
+  148, 152, 153, 149, 150, 148, 147, 148, 150, 151, 151, 151, 155, 157, 158, 156,
+  153, 151, 153, 155, 159, 154, 151, 151, 152, 149, 141, 133, 132, 130, 128, 102,
+  101, 112, 122, 112, 106, 100, 93, 108, 119, 128, 127, 124, 128, 134, 136, 132,
+  135, 131, 133, 145, 146, 140, 142, 136, 133, 129, 131, 136, 142, 145, 145, 143,
+  141, 141, 142, 142, 138, 137, 139, 132, 135, 136, 136, 136, 137, 139, 141, 139,
+  138, 138, 139, 141, 143, 143, 142, 143, 143, 143, 144, 144, 145, 145, 145, 148,
+  147, 146, 145, 145, 145, 145, 145, 144, 149, 151, 150, 150, 152, 150, 146, 151,
+  151, 149, 150, 149, 150, 150, 151, 149, 151, 151, 150, 150, 152, 155, 158, 149,
+  155, 160, 154, 150, 152, 158, 162, 163, 158, 155, 156, 159, 160, 158, 154, 160,
+  159, 159, 161, 164, 164, 163, 162, 161, 161, 161, 161, 161, 161, 160, 160, 159,
+  161, 162, 163, 162, 160, 156, 155, 157, 158, 160, 161, 163, 162, 161, 159, 157,
+  156, 156, 156, 157, 159, 161, 163, 169, 167, 164, 162, 161, 160, 158, 156, 156,
+  158, 160, 161, 159, 155, 150, 147, 147, 146, 146, 146, 146, 147, 148, 149, 141,
+  146, 150, 151, 152, 153, 151, 147, 149, 150, 151, 150, 150, 150, 152, 155, 149,
+  150, 151, 150, 148, 146, 146, 146, 156, 148, 141, 141, 146, 146, 139, 131, 132,
+  126, 123, 115, 112, 122, 131, 117, 107, 109, 112, 121, 125, 124, 116, 109, 104,
+  101, 97, 95, 99, 97, 101, 112, 113, 109, 113, 108, 107, 108, 113, 119, 127,
+  134, 139, 144, 143, 141, 142, 141, 139, 138, 139, 137, 138, 139, 139, 139, 140,
+  142, 144, 141, 140, 138, 140, 142, 144, 143, 142, 146, 146, 145, 146, 146, 146,
+  145, 145, 144, 145, 144, 145, 144, 146, 145, 147, 146, 151, 152, 151, 150, 154,
+  152, 148, 156, 153, 151, 151, 153, 155, 153, 152, 150, 152, 152, 151, 151, 153,
+  156, 158, 151, 155, 158, 155, 152, 155, 159, 159, 162, 159, 157, 157, 158, 159,
+  158, 156, 162, 162, 162, 163, 164, 164, 164, 164, 164, 163, 162, 161, 161, 162,
+  163, 164, 159, 160, 161, 163, 165, 164, 162, 160, 161, 162, 164, 164, 164, 163,
+  161, 160, 159, 158, 157, 157, 158, 161, 164, 167, 163, 161, 159, 159, 160, 160,
+  159, 158, 154, 155, 158, 159, 158, 155, 152, 150, 149, 149, 148, 148, 148, 148,
+  148, 148, 142, 143, 146, 149, 149, 150, 149, 147, 147, 151, 152, 151, 149, 150,
+  152, 157, 157, 158, 159, 159, 157, 155, 153, 152, 157, 152, 147, 147, 148, 147,
+  142, 136, 133, 132, 131, 124, 116, 121, 124, 107, 96, 102, 108, 98, 103, 108,
+  113, 122, 131, 134, 129, 115, 123, 124, 125, 130, 129, 128, 136, 130, 133, 137,
+  138, 135, 137, 142, 147, 139, 139, 139, 137, 137, 137, 136, 135, 140, 142, 142,
+  142, 141, 142, 144, 146, 144, 144, 143, 144, 145, 145, 144, 143, 145, 146, 144,
+  144, 145, 145, 144, 144, 146, 147, 148, 150, 152, 153, 154, 154, 152, 154, 154,
+  150, 151, 155, 156, 154, 159, 155, 152, 152, 155, 156, 154, 151, 148, 150, 151,
+  150, 150, 151, 154, 157, 153, 155, 155, 154, 157, 160, 156, 149, 155, 157, 159,
+  158, 156, 156, 158, 161, 160, 160, 160, 159, 158, 158, 158, 159, 164, 163, 162,
+  162, 162, 164, 167, 169, 166, 164, 162, 162, 165, 166, 164, 163, 161, 162, 163,
+  162, 161, 159, 157, 155, 159, 158, 156, 156, 156, 158, 161, 163, 157, 156, 156,
+  157, 158, 160, 159, 158, 155, 156, 156, 157, 157, 158, 158, 158, 155, 154, 154,
+  153, 151, 150, 148, 146, 146, 144, 143, 145, 145, 144, 146, 147, 144, 148, 151,
+  152, 149, 150, 151, 155, 156, 157, 157, 157, 156, 154, 151, 149, 149, 150, 152,
+  150, 146, 142, 138, 136, 130, 130, 131, 117, 111, 115, 116, 106, 105, 114, 116,
+  137, 138, 137, 134, 135, 136, 133, 125, 128, 137, 137, 134, 136, 132, 129, 139,
+  126, 131, 137, 136, 130, 127, 129, 135, 140, 143, 143, 141, 141, 143, 143, 140,
+  139, 141, 143, 143, 142, 142, 143, 145, 148, 147, 146, 146, 146, 147, 146, 145,
+  147, 147, 147, 147, 147, 148, 148, 147, 145, 146, 147, 150, 151, 153, 153, 154,
+  153, 156, 153, 150, 149, 155, 156, 156, 157, 154, 151, 152, 154, 155, 153, 150,
+  147, 148, 148, 147, 146, 147, 149, 152, 154, 153, 152, 153, 158, 162, 155, 145,
+  152, 156, 160, 159, 156, 155, 160, 164, 161, 162, 162, 160, 157, 157, 158, 159,
+  162, 162, 161, 161, 162, 164, 166, 168, 172, 169, 164, 163, 164, 165, 163, 160,
+  160, 160, 158, 156, 154, 153, 152, 151, 156, 155, 154, 153, 153, 154, 155, 156,
+  159, 158, 158, 158, 160, 160, 157, 156, 159, 158, 157, 156, 156, 158, 161, 163,
+  157, 157, 157, 155, 153, 151, 149, 145, 150, 143, 141, 142, 142, 142, 146, 150,
+  149, 152, 156, 159, 158, 158, 157, 158, 154, 154, 152, 151, 151, 150, 147, 145,
+  144, 149, 154, 152, 146, 141, 140, 141, 138, 138, 137, 107, 105, 109, 112, 110,
+  119, 126, 119, 110, 119, 126, 125, 126, 129, 133, 133, 131, 137, 134, 132, 137,
+  135, 131, 136, 137, 139, 142, 142, 140, 139, 139, 143, 142, 146, 147, 144, 144,
+  149, 150, 146, 140, 142, 144, 146, 144, 144, 143, 145, 148, 146, 145, 147, 149,
+  150, 149, 148, 150, 150, 150, 151, 151, 151, 152, 151, 143, 144, 145, 147, 148,
+  148, 147, 147, 149, 152, 152, 149, 150, 153, 154, 152, 157, 156, 154, 154, 154,
+  154, 153, 153, 151, 151, 150, 149, 146, 147, 149, 152, 152, 153, 152, 152, 156,
+  160, 158, 152, 158, 158, 158, 158, 158, 159, 161, 162, 161, 162, 162, 161, 158,
+  158, 161, 163, 161, 160, 160, 160, 160, 160, 161, 162, 173, 169, 165, 165, 166,
+  166, 162, 157, 158, 157, 154, 152, 150, 151, 152, 153, 153, 153, 155, 155, 155,
+  156, 156, 157, 160, 159, 159, 159, 160, 159, 158, 155, 160, 160, 156, 155, 154,
+  156, 157, 159, 157, 158, 157, 157, 155, 154, 150, 148, 150, 142, 141, 144, 145,
+  144, 148, 154, 151, 154, 158, 163, 166, 166, 161, 158, 161, 159, 156, 155, 155,
+  155, 153, 150, 151, 152, 154, 154, 152, 151, 152, 153, 154, 155, 155, 103, 102,
+  106, 104, 103, 113, 114, 98, 100, 114, 124, 122, 116, 118, 125, 131, 128, 131,
+  126, 128, 140, 140, 135, 137, 140, 138, 135, 134, 134, 134, 133, 132, 135, 141,
+  143, 140, 140, 146, 147, 143, 142, 145, 148, 149, 148, 146, 145, 145, 144, 143,
+  144, 146, 150, 151, 151, 150, 146, 146, 146, 147, 147, 148, 149, 148, 148, 148,
+  149, 150, 150, 148, 147, 146, 145, 150, 152, 150, 151, 153, 151, 148, 159, 159,
+  159, 158, 157, 156, 156, 157, 156, 156, 155, 152, 150, 150, 152, 154, 150, 153,
+  154, 152, 153, 158, 162, 161, 164, 160, 156, 157, 161, 163, 162, 159, 154, 156,
+  157, 156, 154, 155, 158, 162, 160, 160, 159, 158, 157, 156, 156, 156, 166, 165,
+  163, 166, 170, 170, 163, 157, 158, 157, 153, 151, 152, 154, 157, 159, 153, 155,
+  157, 158, 159, 160, 160, 161, 156, 156, 156, 158, 159, 160, 158, 156, 158, 158,
+  155, 153, 151, 151, 150, 151, 154, 156, 156, 157, 156, 155, 152, 150, 148, 142,
+  142, 148, 149, 148, 151, 158, 145, 147, 151, 158, 163, 163, 156, 151, 147, 143,
+  138, 136, 137, 138, 136, 134, 132, 129, 127, 128, 132, 136, 137, 137, 134, 139,
+  142, 101, 103, 108, 116, 122, 124, 121, 118, 94, 122, 135, 121, 111, 120, 123,
+  116, 127, 128, 130, 131, 131, 131, 131, 132, 135, 139, 137, 133, 131, 135, 134,
+  129, 134, 138, 140, 139, 137, 136, 139, 142, 139, 142, 145, 146, 145, 145, 146,
+  147, 146, 145, 144, 145, 146, 148, 150, 152, 148, 152, 152, 144, 143, 149, 152,
+  151, 147, 144, 143, 147, 153, 155, 154, 151, 157, 151, 150, 155, 157, 153, 152,
+  157, 156, 155, 153, 153, 152, 151, 149, 147, 156, 156, 155, 151, 149, 149, 153,
+  159, 156, 156, 157, 157, 157, 155, 154, 153, 156, 157, 157, 158, 158, 157, 155,
+  155, 155, 159, 162, 161, 156, 154, 157, 161, 158, 159, 160, 161, 161, 160, 158,
+  157, 164, 165, 166, 167, 165, 164, 162, 160, 158, 157, 155, 155, 156, 159, 162,
+  163, 159, 159, 157, 161, 163, 165, 161, 159, 163, 158, 153, 154, 157, 160, 157,
+  154, 154, 154, 152, 153, 154, 156, 155, 156, 155, 157, 158, 159, 156, 152, 146,
+  142, 147, 140, 144, 147, 141, 142, 151, 155, 156, 156, 146, 133, 128, 137, 145,
+  150, 147, 145, 143, 141, 137, 134, 137, 142, 134, 134, 134, 134, 133, 133, 133,
+  133, 133, 131, 130, 106, 106, 107, 110, 110, 108, 101, 95, 102, 118, 126, 120,
+  117, 125, 126, 120, 124, 124, 126, 128, 129, 130, 129, 131, 121, 126, 128, 126,
+  128, 134, 135, 132, 128, 130, 132, 132, 133, 134, 137, 139, 137, 137, 139, 139,
+  138, 140, 144, 145, 145, 144, 144, 143, 144, 144, 145, 146, 148, 152, 152, 147,
+  144, 147, 147, 144, 146, 147, 149, 150, 151, 152, 153, 154, 156, 151, 150, 154,
+  156, 153, 152, 155, 155, 154, 152, 152, 152, 153, 152, 152, 153, 155, 155, 153,
+  151, 151, 154, 158, 153, 153, 154, 154, 153, 151, 150, 149, 157, 157, 157, 157,
+  157, 156, 154, 153, 151, 157, 162, 162, 158, 155, 155, 157, 152, 153, 154, 156,
+  156, 157, 157, 157, 160, 161, 162, 163, 163, 163, 161, 160, 157, 155, 154, 153,
+  154, 156, 157, 160, 161, 161, 159, 160, 162, 164, 160, 159, 157, 155, 153, 156,
+  161, 162, 159, 154, 154, 155, 156, 153, 149, 148, 150, 153, 152, 154, 156, 158,
+  158, 156, 154, 152, 159, 151, 153, 154, 146, 145, 152, 154, 140, 146, 155, 156,
+  145, 133, 135, 146, 144, 139, 138, 142, 147, 145, 138, 131, 133, 133, 132, 131,
+  130, 129, 128, 128, 132, 132, 133, 120, 121, 122, 124, 124, 123, 118, 114, 116,
+  119, 119, 120, 123, 128, 125, 121, 128, 128, 129, 131, 131, 131, 130, 131, 123,
+  126, 128, 127, 127, 130, 128, 125, 130, 129, 128, 129, 132, 134, 134, 134, 140,
+  140, 140, 140, 140, 142, 147, 150, 149, 149, 148, 147, 147, 148, 148, 148, 147,
+  152, 154, 152, 149, 150, 149, 146, 147, 151, 154, 153, 150, 150, 153, 157, 153,
+  149, 147, 151, 152, 150, 149, 150, 154, 154, 151, 150, 149, 149, 150, 151, 150,
+  152, 155, 154, 152, 150, 149, 150, 148, 149, 150, 151, 152, 152, 150, 150, 156,
+  156, 157, 157, 156, 155, 154, 153, 152, 158, 164, 165, 162, 159, 157, 158, 157,
+  157, 157, 157, 157, 158, 159, 160, 158, 158, 159, 161, 161, 161, 160, 160, 162,
+  161, 158, 157, 157, 158, 160, 162, 167, 166, 163, 164, 164, 165, 164, 162, 163,
+  163, 162, 164, 166, 165, 160, 155, 155, 159, 161, 156, 149, 146, 149, 154, 148,
+  149, 151, 152, 153, 153, 153, 153, 157, 148, 150, 151, 143, 141, 147, 147, 152,
+  144, 146, 156, 151, 137, 139, 156, 158, 152, 146, 143, 145, 145, 142, 138, 142,
+  141, 140, 139, 137, 136, 134, 134, 125, 127, 129, 117, 119, 121, 124, 128, 127,
+  126, 125, 128, 123, 120, 123, 127, 124, 122, 121, 130, 130, 130, 130, 129, 128,
+  127, 126, 128, 129, 130, 129, 128, 126, 123, 121, 132, 129, 126, 127, 131, 133,
+  131, 129, 144, 145, 146, 145, 145, 145, 148, 150, 149, 149, 149, 149, 150, 150,
+  150, 150, 147, 151, 153, 153, 151, 152, 154, 154, 150, 151, 152, 151, 149, 149,
+  151, 154, 153, 150, 149, 150, 151, 151, 149, 149, 154, 153, 151, 147, 145, 145,
+  146, 148, 150, 151, 153, 154, 151, 147, 143, 142, 145, 146, 148, 150, 152, 154,
+  155, 155, 154, 154, 155, 155, 156, 156, 156, 156, 154, 157, 161, 162, 160, 158,
+  158, 158, 163, 162, 160, 159, 158, 159, 160, 161, 159, 160, 160, 159, 160, 159,
+  159, 159, 164, 163, 162, 161, 160, 160, 161, 162, 165, 165, 163, 162, 162, 163,
+  164, 165, 164, 164, 163, 164, 165, 165, 163, 159, 161, 162, 162, 159, 154, 153,
+  153, 157, 152, 152, 150, 150, 148, 149, 148, 149, 160, 151, 154, 157, 151, 151,
+  158, 156, 161, 141, 129, 138, 149, 150, 150, 153, 148, 153, 154, 149, 143, 144,
+  146, 148, 149, 149, 148, 148, 146, 146, 144, 144, 144, 146, 145, 123, 125, 125,
+  125, 124, 123, 122, 122, 130, 124, 124, 127, 126, 121, 122, 127, 123, 124, 125,
+  125, 125, 125, 124, 123, 123, 124, 125, 128, 128, 128, 126, 126, 128, 126, 124,
+  126, 130, 133, 132, 130, 143, 145, 148, 149, 147, 145, 145, 145, 142, 143, 144,
+  146, 147, 148, 148, 149, 151, 151, 151, 150, 149, 150, 154, 157, 153, 150, 147,
+  148, 150, 152, 151, 150, 157, 156, 155, 154, 155, 156, 155, 151, 150, 149, 151,
+  149, 147, 147, 150, 153, 148, 150, 152, 154, 153, 151, 147, 143, 147, 148, 148,
+  150, 151, 153, 153, 154, 151, 151, 152, 154, 155, 157, 157, 159, 154, 155, 155,
+  154, 154, 155, 156, 158, 159, 158, 157, 156, 156, 158, 159, 160, 163, 162, 162,
+  159, 159, 157, 158, 157, 160, 159, 159, 158, 157, 157, 157, 156, 157, 156, 155,
+  155, 155, 158, 160, 163, 157, 155, 154, 155, 158, 163, 166, 167, 163, 160, 156,
+  157, 159, 161, 158, 157, 158, 158, 155, 154, 151, 152, 150, 152, 153, 144, 148,
+  154, 150, 150, 156, 154, 143, 135, 127, 130, 143, 153, 149, 141, 127, 136, 144,
+  148, 149, 153, 149, 143, 147, 148, 147, 148, 147, 148, 147, 148, 150, 152, 151,
+  127, 130, 130, 130, 127, 127, 127, 128, 123, 124, 127, 128, 127, 124, 127, 132,
+  121, 123, 125, 127, 128, 129, 129, 130, 131, 129, 128, 130, 130, 127, 127, 129,
+  128, 128, 128, 131, 134, 138, 140, 139, 142, 147, 150, 153, 151, 148, 147, 145,
+  144, 145, 147, 149, 150, 151, 151, 151, 156, 152, 150, 149, 146, 143, 147, 152,
+  153, 149, 145, 145, 150, 152, 151, 148, 153, 153, 152, 149, 150, 152, 151, 145,
+  145, 148, 152, 152, 153, 153, 157, 161, 150, 150, 150, 153, 155, 156, 155, 153,
+  152, 151, 150, 149, 148, 148, 147, 148, 151, 151, 151, 153, 154, 157, 158, 160,
+  159, 158, 157, 156, 156, 159, 161, 163, 156, 156, 157, 158, 159, 161, 163, 165,
+  166, 164, 162, 159, 158, 156, 155, 156, 157, 158, 157, 157, 158, 157, 157, 155,
+  153, 154, 155, 156, 156, 158, 160, 163, 165, 164, 158, 156, 155, 157, 160, 162,
+  158, 153, 148, 151, 156, 160, 156, 153, 152, 152, 150, 151, 150, 151, 150, 152,
+  151, 140, 144, 149, 144, 144, 147, 144, 137, 142, 139, 127, 125, 137, 150, 154,
+  150, 144, 133, 131, 140, 153, 150, 140, 144, 145, 145, 146, 146, 148, 147, 148,
+  142, 142, 141, 114, 118, 118, 119, 117, 119, 122, 126, 121, 124, 127, 127, 126,
+  129, 129, 130, 128, 129, 130, 132, 133, 133, 133, 133, 131, 125, 123, 125, 124,
+  121, 121, 126, 129, 130, 131, 132, 132, 133, 135, 137, 142, 145, 148, 151, 150,
+  149, 149, 150, 150, 152, 153, 155, 156, 156, 155, 154, 158, 154, 153, 153, 150,
+  144, 145, 150, 152, 149, 147, 147, 148, 151, 152, 153, 148, 150, 148, 144, 145,
+  148, 147, 140, 143, 148, 153, 155, 154, 153, 155, 158, 154, 152, 150, 150, 153,
+  155, 154, 153, 154, 152, 151, 150, 149, 150, 150, 151, 153, 153, 152, 152, 153,
+  155, 155, 158, 161, 160, 159, 159, 161, 163, 164, 164, 159, 159, 160, 160, 161,
+  160, 160, 161, 163, 161, 159, 156, 155, 154, 155, 156, 156, 157, 157, 158, 158,
+  157, 158, 155, 151, 153, 155, 156, 154, 154, 155, 158, 167, 165, 161, 157, 151,
+  150, 149, 150, 152, 150, 146, 148, 151, 154, 152, 151, 143, 145, 144, 146, 146,
+  147, 146, 147, 157, 147, 148, 153, 148, 148, 150, 146, 144, 143, 139, 128, 119,
+  122, 141, 158, 158, 156, 144, 131, 131, 144, 147, 144, 145, 146, 145, 146, 146,
+  147, 146, 146, 148, 146, 144, 120, 123, 124, 121, 118, 117, 120, 124, 124, 128,
+  129, 126, 127, 132, 129, 122, 132, 133, 133, 132, 130, 128, 126, 126, 110, 105,
+  105, 110, 114, 113, 118, 126, 127, 127, 128, 125, 120, 119, 120, 122, 135, 136,
+  140, 143, 143, 145, 148, 150, 151, 153, 154, 155, 155, 154, 152, 151, 156, 154,
+  156, 160, 156, 150, 149, 153, 149, 150, 151, 149, 146, 147, 152, 157, 151, 153,
+  151, 147, 147, 151, 150, 143, 146, 151, 156, 155, 151, 147, 146, 147, 158, 153,
+  148, 145, 146, 147, 146, 146, 152, 151, 151, 152, 154, 156, 159, 160, 157, 155,
+  154, 154, 153, 154, 155, 156, 153, 154, 155, 157, 159, 160, 158, 157, 161, 162,
+  161, 160, 157, 154, 150, 148, 159, 159, 157, 155, 153, 154, 156, 156, 150, 151,
+  152, 153, 153, 154, 153, 150, 144, 146, 150, 150, 147, 146, 146, 148, 146, 148,
+  149, 148, 147, 147, 148, 150, 149, 150, 150, 149, 148, 148, 150, 151, 145, 146,
+  147, 148, 148, 148, 146, 146, 142, 131, 132, 138, 135, 135, 136, 131, 136, 127,
+  130, 138, 135, 122, 121, 132, 117, 142, 160, 154, 140, 138, 141, 143, 144, 144,
+  143, 143, 142, 142, 140, 140, 144, 141, 139, 130, 124, 122, 125, 125, 120, 117,
+  120, 130, 124, 124, 132, 136, 131, 127, 127, 125, 119, 131, 122, 120, 114, 96,
+  117, 109, 110, 110, 109, 107, 106, 107, 108, 120, 114, 115, 122, 123, 117, 119,
+  127, 128, 121, 122, 134, 144, 145, 146, 148, 147, 150, 153, 153, 151, 151, 155,
+  158, 162, 161, 159, 156, 155, 155, 155, 155, 150, 149, 150, 150, 150, 150, 151,
+  151, 144, 143, 143, 147, 151, 152, 149, 146, 154, 155, 155, 154, 154, 156, 156,
+  157, 150, 153, 155, 152, 148, 147, 151, 158, 162, 160, 156, 153, 151, 152, 155,
+  157, 151, 153, 157, 159, 160, 160, 159, 158, 151, 153, 155, 155, 155, 156, 159,
+  162, 159, 156, 153, 153, 155, 156, 154, 152, 153, 151, 152, 155, 154, 151, 150,
+  153, 149, 149, 150, 151, 153, 153, 151, 149, 150, 153, 153, 149, 151, 156, 157,
+  155, 159, 153, 150, 151, 151, 146, 147, 153, 148, 149, 149, 149, 148, 146, 143,
+  142, 144, 142, 140, 139, 139, 140, 142, 143, 140, 150, 132, 122, 133, 104, 128,
+  144, 139, 148, 149, 141, 136, 133, 120, 100, 100, 111, 140, 171, 152, 147, 123,
+  144, 139, 136, 141, 150, 151, 143, 141, 145, 146, 146, 146, 26, 28, 28, 27,
+  25, 24, 24, 24, 24, 24, 24, 25, 25, 24, 26, 26, 27, 35, 33, 31,
+  37, 33, 27, 31, 30, 31, 33, 37, 38, 38, 38, 35, 37, 35, 37, 35,
+  37, 35, 37, 35, 34, 33, 36, 35, 38, 37, 39, 39, 38, 42, 42, 39,
+  40, 43, 43, 41, 43, 42, 42, 41, 41, 42, 42, 43, 42, 42, 42, 43,
+  43, 44, 44, 44, 43, 44, 45, 46, 46, 46, 46, 45, 45, 45, 47, 48,
+  48, 49, 49, 49, 49, 49, 49, 50, 50, 51, 51, 51, 51, 51, 51, 52,
+  52, 53, 53, 53, 56, 55, 54, 53, 54, 55, 57, 58, 54, 58, 54, 51,
+  58, 56, 54, 59, 58, 58, 61, 60, 59, 58, 61, 62, 58, 59, 60, 61,
+  61, 61, 61, 60, 55, 62, 60, 57, 62, 60, 57, 66, 63, 61, 62, 59,
+  62, 62, 67, 66, 68, 68, 66, 72, 70, 62, 66, 46, 0, 16, 54, 62,
+  86, 85, 101, 97, 91, 86, 75, 76, 89, 90, 86, 90, 91, 86, 86, 89,
+  89, 87, 88, 91, 92, 91, 89, 89, 91, 91, 89, 88, 90, 91, 91, 91,
+  91, 90, 89, 88, 92, 92, 92, 91, 91, 90, 90, 90, 92, 91, 91, 27,
+  27, 27, 26, 26, 25, 25, 25, 21, 22, 24, 25, 26, 25, 27, 26, 31,
+  32, 32, 31, 30, 31, 35, 38, 34, 35, 37, 38, 37, 36, 38, 39, 39,
+  37, 40, 37, 38, 34, 33, 30, 37, 35, 37, 35, 37, 36, 40, 40, 40,
+  40, 40, 41, 41, 42, 42, 42, 44, 43, 43, 42, 42, 43, 43, 44, 41,
+  43, 45, 44, 43, 42, 42, 43, 44, 47, 48, 45, 45, 48, 47, 42, 43,
+  41, 43, 44, 44, 45, 45, 45, 49, 49, 50, 51, 51, 52, 52, 52, 52,
+  56, 56, 53, 54, 57, 57, 55, 54, 54, 54, 55, 55, 56, 56, 56, 55,
+  55, 59, 57, 58, 55, 58, 57, 56, 58, 60, 55, 58, 59, 61, 59, 63,
+  61, 59, 60, 64, 65, 63, 61, 64, 63, 61, 60, 60, 61, 63, 64, 60,
+  63, 65, 60, 62, 63, 65, 60, 70, 63, 67, 64, 72, 53, 64, 42, 0,
+  19, 53, 60, 89, 87, 95, 96, 92, 91, 80, 79, 90, 90, 84, 86, 86,
+  84, 84, 87, 88, 85, 85, 89, 90, 90, 90, 90, 90, 90, 90, 90, 89,
+  91, 93, 93, 91, 90, 90, 91, 93, 93, 91, 90, 90, 90, 90, 90, 90,
+  97, 94, 26, 26, 25, 25, 25, 24, 24, 24, 25, 25, 26, 27, 28, 28,
+  29, 30, 31, 32, 32, 31, 30, 31, 35, 38, 32, 33, 36, 36, 36, 36,
+  38, 37, 37, 37, 38, 38, 38, 37, 36, 36, 40, 39, 38, 37, 37, 37,
+  38, 38, 40, 40, 40, 41, 41, 42, 42, 42, 44, 43, 43, 42, 42, 43,
+  43, 44, 42, 43, 45, 45, 44, 42, 43, 44, 44, 48, 48, 45, 45, 48,
+  47, 41, 43, 41, 42, 42, 44, 45, 45, 45, 49, 49, 50, 51, 51, 52,
+  52, 52, 52, 56, 56, 53, 54, 57, 57, 55, 54, 54, 55, 55, 55, 56,
+  56, 56, 55, 58, 60, 60, 59, 58, 59, 60, 57, 60, 60, 57, 58, 61,
+  62, 59, 62, 61, 60, 61, 63, 64, 63, 62, 63, 63, 62, 61, 61, 62,
+  63, 63, 62, 65, 65, 62, 62, 65, 65, 62, 67, 63, 65, 63, 70, 54,
+  63, 42, 0, 22, 53, 60, 87, 85, 93, 96, 90, 90, 81, 81, 90, 92,
+  84, 87, 88, 85, 85, 89, 89, 86, 87, 90, 90, 90, 90, 90, 90, 90,
+  90, 90, 89, 91, 93, 93, 91, 90, 90, 91, 93, 92, 91, 90, 90, 90,
+  90, 91, 90, 97, 94, 25, 24, 24, 24, 24, 23, 23, 23, 27, 27, 26,
+  26, 26, 28, 30, 31, 29, 30, 32, 32, 31, 31, 35, 37, 32, 34, 36,
+  36, 35, 34, 36, 37, 36, 36, 36, 36, 37, 37, 38, 39, 41, 40, 39,
+  38, 37, 37, 37, 37, 40, 40, 40, 41, 41, 42, 42, 42, 44, 43, 43,
+  42, 42, 43, 43, 44, 42, 44, 46, 46, 44, 43, 44, 45, 45, 48, 49,
+  46, 45, 47, 46, 40, 43, 42, 42, 42, 45, 45, 45, 45, 49, 49, 50,
+  51, 51, 52, 52, 52, 52, 56, 56, 53, 54, 57, 57, 55, 54, 55, 55,
+  55, 56, 56, 56, 56, 56, 59, 61, 61, 60, 59, 60, 61, 57, 60, 60,
+  58, 58, 61, 62, 59, 60, 61, 63, 62, 62, 61, 63, 64, 63, 63, 62,
+  62, 62, 62, 63, 63, 63, 66, 66, 63, 63, 66, 66, 63, 65, 62, 64,
+  62, 70, 56, 64, 41, 0, 22, 54, 61, 87, 85, 93, 96, 88, 89, 80,
+  80, 91, 93, 86, 88, 89, 86, 86, 90, 90, 87, 88, 91, 90, 90, 90,
+  90, 90, 90, 90, 90, 89, 91, 93, 93, 91, 90, 90, 91, 93, 92, 91,
+  90, 90, 90, 91, 91, 90, 97, 94, 25, 25, 24, 24, 24, 24, 24, 24,
+  27, 26, 24, 23, 23, 25, 28, 30, 28, 30, 33, 32, 31, 31, 35, 37,
+  35, 36, 39, 38, 37, 37, 39, 40, 38, 37, 36, 35, 35, 37, 39, 40,
+  40, 40, 39, 38, 38, 38, 39, 39, 40, 40, 40, 41, 41, 42, 42, 42,
+  44, 43, 43, 42, 42, 43, 43, 44, 43, 45, 47, 47, 45, 44, 45, 46,
+  46, 49, 49, 46, 45, 47, 46, 40, 44, 42, 42, 43, 45, 45, 46, 46,
+  49, 49, 50, 51, 51, 52, 52, 52, 52, 56, 56, 53, 54, 57, 57, 55,
+  55, 55, 55, 56, 56, 56, 57, 57, 57, 59, 61, 62, 60, 60, 60, 62,
+  57, 60, 61, 58, 58, 62, 62, 59, 59, 62, 64, 63, 61, 60, 62, 65,
+  63, 63, 63, 62, 62, 63, 63, 63, 62, 65, 65, 62, 62, 65, 65, 62,
+  64, 62, 63, 61, 70, 57, 65, 39, 0, 23, 55, 61, 87, 85, 93, 96,
+  89, 90, 81, 80, 90, 92, 85, 87, 88, 85, 86, 89, 89, 87, 87, 90,
+  91, 91, 90, 90, 90, 90, 89, 89, 89, 91, 93, 93, 91, 90, 90, 91,
+  92, 92, 91, 90, 90, 90, 91, 92, 90, 97, 94, 25, 25, 26, 26, 26,
+  26, 26, 26, 28, 27, 25, 23, 24, 25, 28, 29, 27, 29, 31, 31, 32,
+  31, 32, 34, 35, 37, 38, 38, 38, 38, 39, 41, 40, 39, 37, 35, 35,
+  36, 37, 38, 37, 37, 37, 38, 39, 40, 42, 43, 40, 40, 40, 41, 41,
+  42, 42, 42, 44, 43, 43, 42, 42, 43, 43, 44, 43, 45, 47, 47, 45,
+  44, 45, 46, 45, 48, 49, 46, 45, 47, 46, 40, 44, 42, 43, 43, 45,
+  46, 46, 46, 49, 49, 50, 51, 51, 52, 52, 52, 52, 56, 56, 53, 54,
+  57, 57, 55, 55, 55, 56, 56, 56, 57, 57, 57, 57, 59, 61, 62, 60,
+  60, 60, 62, 58, 61, 61, 59, 59, 62, 63, 60, 59, 62, 64, 63, 61,
+  60, 62, 65, 63, 63, 63, 64, 64, 63, 63, 63, 61, 64, 64, 61, 61,
+  64, 64, 61, 63, 62, 64, 60, 70, 59, 64, 36, 0, 24, 55, 62, 88,
+  85, 92, 96, 91, 92, 82, 81, 90, 91, 83, 85, 87, 84, 84, 88, 88,
+  85, 86, 89, 91, 91, 91, 90, 90, 89, 89, 89, 89, 91, 93, 93, 91,
+  90, 90, 91, 92, 91, 90, 90, 90, 91, 92, 92, 90, 97, 94, 25, 26,
+  26, 26, 26, 27, 27, 27, 30, 29, 28, 27, 27, 28, 30, 30, 27, 29,
+  31, 31, 32, 32, 32, 33, 33, 35, 36, 36, 36, 36, 37, 39, 39, 38,
+  37, 37, 36, 36, 36, 36, 36, 37, 37, 38, 40, 42, 43, 44, 40, 40,
+  40, 41, 41, 42, 42, 42, 44, 43, 43, 42, 42, 43, 43, 44, 42, 44,
+  46, 46, 44, 43, 44, 45, 44, 47, 48, 45, 45, 48, 47, 42, 45, 43,
+  43, 43, 46, 46, 46, 47, 49, 49, 50, 51, 51, 52, 52, 52, 52, 56,
+  56, 53, 54, 57, 57, 55, 56, 56, 56, 56, 57, 57, 57, 58, 56, 59,
+  61, 61, 60, 59, 60, 61, 58, 61, 62, 59, 59, 63, 63, 60, 60, 61,
+  63, 62, 62, 61, 63, 64, 63, 63, 64, 64, 64, 64, 63, 63, 60, 63,
+  63, 60, 60, 63, 63, 60, 64, 63, 64, 59, 69, 59, 64, 32, 0, 25,
+  56, 62, 88, 85, 92, 96, 92, 92, 83, 81, 90, 90, 82, 84, 86, 83,
+  84, 87, 87, 85, 85, 88, 92, 92, 91, 90, 90, 89, 88, 88, 89, 91,
+  93, 93, 91, 90, 90, 91, 91, 91, 90, 90, 90, 91, 92, 93, 90, 97,
+  94, 24, 24, 25, 25, 25, 26, 26, 26, 29, 29, 29, 29, 29, 29, 29,
+  29, 24, 27, 31, 32, 31, 30, 32, 33, 32, 33, 37, 36, 35, 35, 36,
+  38, 36, 36, 37, 38, 38, 38, 37, 37, 38, 38, 38, 39, 40, 41, 42,
+  43, 40, 40, 40, 41, 41, 42, 42, 42, 44, 43, 43, 42, 42, 43, 43,
+  44, 42, 43, 45, 45, 44, 42, 43, 44, 42, 46, 47, 45, 46, 49, 49,
+  44, 45, 43, 43, 44, 46, 46, 47, 47, 49, 49, 50, 51, 51, 52, 52,
+  52, 52, 56, 56, 53, 54, 57, 57, 55, 56, 56, 56, 57, 57, 57, 58,
+  58, 55, 58, 60, 60, 59, 58, 59, 60, 58, 61, 62, 59, 60, 63, 63,
+  60, 62, 61, 60, 61, 63, 64, 63, 62, 63, 63, 64, 65, 65, 64, 63,
+  63, 61, 64, 64, 61, 61, 64, 64, 61, 65, 65, 65, 58, 69, 60, 62,
+  28, 0, 26, 57, 63, 88, 85, 92, 95, 91, 91, 82, 81, 90, 91, 83,
+  86, 87, 84, 85, 88, 88, 86, 86, 89, 92, 92, 91, 90, 90, 89, 88,
+  88, 89, 91, 93, 93, 91, 90, 90, 91, 91, 90, 90, 90, 90, 91, 92,
+  93, 90, 97, 94, 23, 23, 23, 24, 24, 25, 25, 25, 26, 27, 27, 28,
+  28, 27, 26, 26, 24, 27, 31, 32, 31, 30, 32, 33, 34, 36, 39, 39,
+  38, 37, 39, 40, 32, 33, 36, 38, 39, 40, 39, 39, 40, 40, 39, 39,
+  39, 40, 41, 41, 40, 40, 40, 41, 41, 42, 42, 42, 44, 43, 43, 42,
+  42, 43, 43, 44, 41, 43, 45, 44, 43, 42, 42, 43, 41, 45, 46, 45,
+  46, 50, 50, 45, 45, 43, 43, 44, 46, 47, 47, 47, 49, 49, 50, 51,
+  51, 52, 52, 52, 52, 56, 56, 53, 54, 57, 57, 55, 56, 56, 56, 57,
+  57, 58, 58, 58, 55, 57, 59, 59, 58, 57, 58, 59, 58, 62, 62, 59,
+  60, 63, 63, 61, 63, 61, 59, 60, 64, 65, 63, 61, 62, 63, 65, 66,
+  66, 65, 63, 62, 63, 66, 66, 63, 63, 66, 66, 63, 65, 66, 66, 58,
+  69, 60, 62, 26, 0, 26, 57, 63, 88, 85, 92, 95, 88, 89, 80, 80,
+  90, 92, 85, 88, 88, 86, 86, 89, 90, 87, 87, 91, 92, 92, 91, 90,
+  90, 89, 88, 88, 89, 91, 93, 93, 91, 90, 90, 91, 90, 90, 90, 90,
+  90, 91, 93, 93, 90, 97, 94, 27, 27, 28, 28, 28, 27, 26, 26, 28,
+  27, 26, 27, 29, 30, 29, 28, 28, 28, 28, 28, 28, 28, 30, 30, 34,
+  35, 35, 36, 38, 37, 37, 36, 38, 35, 35, 38, 38, 35, 35, 38, 41,
+  40, 40, 40, 40, 41, 42, 43, 45, 44, 42, 40, 39, 39, 40, 40, 43,
+  44, 45, 46, 46, 44, 43, 42, 44, 43, 43, 43, 43, 44, 45, 46, 50,
+  49, 47, 46, 45, 45, 46, 45, 46, 44, 44, 45, 47, 48, 48, 48, 50,
+  50, 52, 52, 52, 53, 53, 53, 57, 56, 55, 55, 57, 57, 56, 55, 61,
+  55, 58, 60, 54, 57, 62, 57, 59, 59, 59, 60, 60, 61, 61, 61, 62,
+  61, 61, 61, 61, 61, 60, 60, 66, 65, 63, 63, 63, 63, 65, 66, 64,
+  64, 64, 64, 64, 64, 64, 64, 64, 66, 65, 61, 61, 65, 66, 64, 71,
+  63, 68, 65, 67, 56, 61, 22, 0, 29, 60, 63, 89, 89, 96, 97, 96,
+  87, 82, 86, 89, 90, 86, 86, 88, 86, 87, 89, 88, 84, 85, 89, 93,
+  92, 90, 88, 86, 85, 85, 84, 89, 93, 94, 91, 91, 93, 91, 87, 96,
+  94, 90, 87, 87, 89, 92, 94, 89, 98, 96, 27, 27, 27, 28, 27, 27,
+  27, 26, 28, 27, 26, 27, 29, 30, 29, 28, 28, 28, 28, 28, 28, 28,
+  30, 30, 34, 35, 35, 36, 38, 37, 37, 36, 39, 36, 36, 39, 39, 36,
+  36, 39, 41, 40, 40, 40, 40, 41, 42, 43, 40, 40, 40, 40, 41, 42,
+  43, 44, 43, 44, 44, 45, 45, 44, 44, 43, 44, 44, 43, 43, 44, 44,
+  45, 46, 48, 47, 46, 46, 46, 47, 48, 47, 46, 44, 44, 45, 47, 48,
+  48, 48, 50, 50, 51, 51, 52, 52, 52, 53, 56, 55, 53, 54, 56, 56,
+  55, 54, 60, 54, 58, 60, 54, 57, 61, 56, 59, 59, 59, 60, 60, 61,
+  61, 61, 61, 61, 61, 61, 61, 61, 61, 62, 63, 62, 61, 61, 61, 61,
+  62, 63, 64, 64, 64, 64, 64, 64, 64, 64, 63, 66, 65, 62, 62, 65,
+  66, 63, 67, 61, 66, 63, 68, 58, 63, 24, 0, 29, 60, 63, 89, 89,
+  96, 97, 96, 87, 82, 86, 89, 90, 86, 86, 88, 86, 87, 89, 88, 84,
+  85, 90, 91, 91, 90, 89, 88, 88, 89, 89, 90, 93, 93, 90, 90, 92,
+  91, 88, 95, 93, 90, 88, 88, 89, 91, 93, 93, 97, 93, 27, 27, 27,
+  27, 27, 27, 27, 27, 28, 27, 26, 27, 29, 30, 29, 28, 28, 26, 26,
+  26, 28, 29, 29, 29, 32, 33, 35, 36, 36, 35, 35, 34, 39, 36, 36,
+  39, 39, 36, 36, 39, 41, 40, 40, 40, 40, 41, 42, 43, 39, 39, 40,
+  42, 43, 43, 43, 43, 44, 44, 44, 43, 43, 44, 44, 45, 44, 44, 43,
+  43, 44, 45, 46, 46, 46, 46, 45, 46, 47, 48, 49, 48, 46, 44, 44,
+  45, 47, 48, 48, 48, 49, 49, 50, 51, 51, 52, 52, 52, 55, 54, 53,
+  53, 55, 56, 54, 53, 60, 54, 57, 59, 53, 56, 61, 56, 59, 59, 59,
+  60, 60, 61, 61, 61, 60, 60, 60, 61, 62, 62, 63, 63, 63, 62, 62,
+  61, 61, 62, 62, 63, 64, 64, 64, 64, 64, 64, 64, 64, 62, 65, 66,
+  63, 63, 66, 65, 62, 64, 59, 64, 62, 68, 61, 66, 24, 0, 30, 61,
+  64, 89, 89, 96, 96, 96, 87, 82, 86, 89, 90, 86, 86, 88, 86, 87,
+  90, 88, 85, 86, 90, 89, 89, 89, 89, 90, 91, 92, 93, 91, 94, 93,
+  89, 89, 92, 92, 89, 93, 92, 91, 90, 90, 90, 91, 91, 95, 97, 90,
+  27, 27, 26, 26, 27, 27, 28, 28, 28, 27, 26, 27, 29, 30, 29, 26,
+  28, 26, 26, 27, 29, 29, 29, 30, 32, 33, 35, 36, 36, 35, 35, 34,
+  39, 36, 36, 39, 39, 36, 36, 39, 41, 40, 40, 40, 40, 41, 42, 43,
+  41, 42, 43, 44, 43, 42, 40, 39, 45, 44, 43, 42, 42, 44, 45, 46,
+  45, 44, 44, 44, 44, 45, 46, 47, 46, 46, 46, 46, 47, 48, 48, 47,
+  46, 44, 44, 45, 47, 48, 48, 48, 49, 49, 50, 50, 51, 51, 52, 52,
+  56, 55, 54, 54, 56, 56, 55, 54, 59, 54, 57, 59, 53, 56, 60, 56,
+  59, 59, 59, 60, 60, 61, 61, 61, 59, 60, 60, 61, 62, 63, 64, 64,
+  64, 64, 64, 64, 64, 64, 64, 64, 65, 65, 65, 65, 65, 65, 65, 65,
+  61, 65, 66, 64, 64, 66, 65, 61, 63, 59, 64, 61, 68, 62, 66, 21,
+  0, 30, 61, 64, 90, 89, 96, 96, 96, 87, 82, 86, 89, 90, 86, 86,
+  87, 86, 87, 90, 89, 85, 87, 91, 89, 89, 88, 89, 89, 90, 92, 92,
+  92, 94, 92, 88, 88, 91, 92, 90, 91, 92, 92, 92, 91, 91, 90, 89,
+  94, 97, 91, 27, 26, 26, 26, 26, 27, 29, 29, 28, 27, 26, 27, 29,
+  30, 29, 26, 28, 26, 26, 27, 27, 28, 30, 31, 32, 33, 33, 34, 36,
+  35, 35, 34, 40, 37, 37, 40, 40, 37, 37, 40, 41, 40, 40, 40, 40,
+  41, 42, 43, 41, 42, 43, 44, 44, 43, 41, 40, 44, 44, 43, 42, 43,
+  44, 46, 47, 45, 45, 44, 44, 45, 45, 46, 47, 48, 48, 48, 48, 47,
+  46, 46, 43, 46, 44, 44, 45, 47, 48, 48, 48, 49, 49, 50, 51, 51,
+  52, 52, 52, 58, 57, 56, 56, 58, 58, 57, 56, 60, 54, 57, 59, 53,
+  56, 61, 56, 59, 59, 59, 60, 60, 61, 61, 61, 60, 60, 61, 62, 63,
+  64, 64, 65, 64, 64, 64, 64, 64, 64, 64, 64, 65, 65, 65, 65, 65,
+  65, 65, 65, 61, 65, 66, 64, 64, 66, 65, 61, 65, 62, 66, 60, 67,
+  62, 63, 16, 0, 31, 62, 65, 90, 89, 96, 96, 96, 87, 82, 86, 89,
+  90, 86, 86, 87, 86, 87, 90, 89, 86, 88, 92, 90, 89, 88, 88, 87,
+  88, 88, 88, 92, 94, 92, 88, 88, 91, 92, 90, 91, 91, 92, 92, 92,
+  91, 90, 89, 90, 98, 95, 27, 26, 25, 25, 26, 27, 29, 31, 28, 27,
+  26, 27, 29, 30, 29, 26, 28, 26, 27, 27, 28, 29, 31, 31, 32, 33,
+  33, 34, 36, 35, 35, 34, 40, 37, 37, 40, 40, 37, 37, 40, 41, 40,
+  40, 40, 40, 41, 42, 43, 38, 39, 41, 43, 44, 45, 46, 46, 43, 43,
+  43, 43, 44, 45, 46, 47, 45, 45, 45, 45, 45, 46, 47, 47, 48, 48,
+  49, 48, 47, 46, 45, 42, 46, 44, 44, 45, 47, 48, 48, 48, 50, 50,
+  52, 52, 52, 53, 53, 53, 59, 58, 56, 57, 59, 59, 58, 57, 61, 55,
+  58, 60, 54, 57, 62, 57, 59, 59, 59, 60, 60, 61, 61, 61, 61, 61,
+  62, 62, 63, 64, 64, 64, 61, 62, 62, 63, 63, 62, 62, 61, 66, 66,
+  66, 66, 66, 66, 66, 66, 62, 65, 66, 63, 63, 66, 65, 62, 66, 64,
+  67, 60, 67, 62, 62, 11, 0, 32, 63, 65, 90, 89, 96, 96, 96, 87,
+  82, 86, 89, 90, 86, 86, 87, 86, 87, 91, 90, 87, 88, 93, 91, 90,
+  89, 87, 86, 86, 86, 86, 91, 94, 93, 89, 89, 92, 92, 89, 91, 92,
+  92, 92, 92, 91, 90, 89, 89, 98, 97, 27, 26, 25, 24, 25, 27, 30,
+  31, 28, 27, 26, 27, 29, 30, 29, 26, 28, 26, 27, 27, 28, 29, 32,
+  32, 30, 31, 33, 34, 34, 33, 35, 34, 40, 37, 37, 40, 40, 37, 37,
+  40, 41, 40, 40, 40, 40, 41, 42, 43, 39, 40, 40, 41, 43, 45, 47,
+  48, 41, 42, 43, 44, 45, 46, 46, 46, 46, 45, 45, 45, 45, 46, 47,
+  48, 46, 47, 48, 48, 48, 47, 46, 43, 46, 44, 44, 45, 47, 48, 48,
+  48, 51, 51, 53, 53, 54, 54, 54, 54, 58, 57, 56, 56, 58, 59, 57,
+  56, 62, 56, 60, 61, 56, 58, 63, 58, 59, 59, 59, 60, 60, 61, 61,
+  61, 62, 63, 63, 63, 63, 63, 63, 63, 61, 61, 62, 63, 63, 62, 61,
+  61, 66, 66, 66, 66, 66, 66, 66, 66, 63, 66, 65, 62, 62, 65, 66,
+  63, 66, 64, 67, 59, 67, 63, 62, 9, 0, 33, 63, 66, 90, 89, 96,
+  96, 96, 87, 82, 86, 89, 90, 86, 86, 87, 86, 87, 91, 90, 87, 89,
+  94, 92, 91, 90, 88, 88, 87, 87, 87, 90, 93, 93, 90, 90, 92, 91,
+  88, 92, 92, 92, 91, 91, 90, 90, 90, 91, 98, 94, 27, 26, 25, 24,
+  25, 27, 30, 32, 28, 27, 26, 27, 29, 30, 29, 28, 28, 26, 27, 28,
+  29, 29, 32, 33, 30, 31, 33, 34, 34, 33, 33, 34, 39, 38, 38, 41,
+  41, 38, 38, 41, 41, 40, 40, 40, 40, 41, 42, 43, 44, 43, 42, 41,
+  41, 43, 44, 45, 40, 41, 43, 45, 46, 46, 45, 45, 46, 45, 45, 45,
+  45, 46, 47, 48, 44, 45, 47, 48, 49, 49, 48, 47, 46, 44, 44, 45,
+  47, 48, 48, 48, 52, 52, 54, 54, 54, 55, 55, 55, 57, 56, 55, 55,
+  57, 57, 56, 55, 63, 57, 61, 62, 56, 59, 64, 57, 57, 57, 57, 58,
+  58, 59, 59, 59, 62, 64, 63, 63, 63, 63, 63, 62, 63, 63, 65, 66,
+  66, 65, 63, 63, 66, 66, 66, 66, 66, 66, 68, 66, 64, 66, 65, 61,
+  61, 65, 66, 64, 64, 63, 66, 58, 69, 67, 65, 9, 0, 33, 64, 64,
+  90, 87, 96, 94, 96, 86, 82, 86, 89, 90, 88, 88, 87, 86, 88, 91,
+  90, 88, 89, 94, 92, 91, 90, 89, 89, 89, 90, 90, 89, 93, 94, 91,
+  91, 93, 91, 87, 93, 92, 91, 90, 90, 90, 91, 91, 93, 95, 90, 27,
+  27, 27, 28, 28, 29, 29, 29, 30, 29, 29, 29, 29, 30, 31, 30, 27,
+  27, 27, 28, 28, 29, 29, 29, 31, 31, 31, 32, 32, 33, 33, 35, 35,
+  36, 37, 38, 38, 38, 38, 37, 36, 37, 39, 39, 37, 37, 39, 42, 42,
+  43, 43, 44, 44, 45, 45, 45, 47, 47, 47, 46, 46, 45, 45, 45, 44,
+  51, 48, 45, 49, 46, 43, 50, 45, 49, 48, 44, 44, 51, 53, 50, 47,
+  48, 48, 49, 49, 48, 50, 49, 50, 58, 56, 52, 57, 54, 51, 59, 49,
+  54, 55, 53, 54, 58, 54, 46, 62, 58, 57, 59, 59, 56, 56, 59, 57,
+  54, 55, 55, 56, 57, 58, 58, 57, 59, 60, 60, 63, 62, 62, 62, 61,
+  63, 64, 64, 64, 64, 65, 66, 66, 67, 67, 66, 65, 66, 70, 71, 61,
+  64, 66, 65, 62, 60, 63, 65, 68, 60, 68, 63, 66, 63, 66, 7, 1,
+  38, 59, 68, 82, 89, 90, 91, 95, 83, 79, 86, 93, 90, 88, 91, 90,
+  86, 86, 89, 90, 87, 87, 91, 88, 90, 92, 91, 89, 88, 90, 92, 90,
+  94, 94, 91, 90, 92, 91, 87, 93, 92, 91, 90, 90, 90, 90, 91, 89,
+  88, 91, 27, 27, 28, 28, 28, 29, 29, 29, 31, 31, 30, 30, 31, 32,
+  33, 31, 29, 27, 28, 28, 28, 29, 29, 29, 31, 31, 31, 32, 32, 33,
+  33, 33, 36, 36, 36, 37, 37, 38, 38, 38, 36, 38, 39, 39, 38, 37,
+  39, 40, 43, 43, 43, 44, 44, 45, 45, 45, 47, 47, 47, 46, 46, 45,
+  45, 45, 44, 51, 48, 45, 49, 46, 43, 50, 45, 48, 48, 45, 46, 51,
+  52, 49, 48, 48, 48, 48, 48, 48, 50, 50, 44, 52, 51, 49, 55, 52,
+  50, 58, 50, 52, 52, 49, 51, 55, 54, 49, 57, 53, 52, 54, 53, 49,
+  49, 51, 52, 50, 53, 54, 55, 54, 55, 53, 59, 59, 61, 61, 64, 64,
+  64, 65, 60, 61, 62, 61, 61, 61, 62, 64, 66, 67, 67, 66, 67, 68,
+  70, 71, 64, 65, 67, 66, 63, 61, 64, 65, 70, 63, 72, 66, 66, 62,
+  65, 6, 2, 37, 59, 66, 82, 89, 88, 91, 92, 81, 78, 85, 92, 89,
+  89, 90, 90, 86, 86, 89, 90, 87, 87, 91, 88, 90, 92, 91, 89, 88,
+  90, 92, 89, 93, 93, 90, 90, 92, 92, 88, 93, 92, 91, 90, 90, 90,
+  90, 91, 89, 90, 90, 27, 28, 28, 28, 29, 29, 29, 29, 32, 32, 32,
+  32, 32, 33, 34, 32, 29, 28, 28, 28, 29, 29, 29, 29, 31, 31, 31,
+  32, 32, 33, 33, 33, 37, 37, 36, 35, 36, 37, 39, 40, 36, 38, 39,
+  39, 38, 38, 39, 41, 43, 43, 43, 44, 44, 45, 45, 45, 47, 47, 46,
+  46, 46, 46, 45, 45, 44, 51, 48, 45, 49, 46, 43, 50, 45, 48, 49,
+  47, 48, 51, 51, 48, 50, 47, 47, 46, 46, 47, 51, 52, 47, 54, 53,
+  50, 55, 53, 50, 57, 58, 58, 56, 54, 56, 61, 61, 59, 62, 59, 58,
+  60, 60, 57, 58, 60, 50, 50, 53, 54, 54, 53, 54, 53, 60, 60, 60,
+  59, 61, 61, 62, 62, 62, 62, 63, 62, 61, 62, 67, 69, 64, 65, 67,
+  67, 68, 68, 70, 70, 66, 66, 67, 67, 65, 63, 66, 66, 73, 65, 74,
+  68, 67, 62, 64, 4, 2, 37, 59, 67, 82, 89, 88, 91, 90, 79, 77,
+  84, 92, 89, 88, 90, 90, 86, 86, 89, 90, 87, 87, 91, 89, 90, 91,
+  91, 89, 89, 90, 91, 88, 92, 92, 90, 90, 93, 93, 89, 93, 92, 91,
+  90, 90, 90, 90, 91, 91, 91, 91, 28, 28, 28, 29, 29, 29, 30, 30,
+  32, 32, 32, 31, 32, 33, 34, 34, 30, 28, 28, 29, 29, 29, 30, 30,
+  31, 31, 31, 32, 32, 33, 33, 35, 38, 37, 35, 34, 35, 37, 39, 41,
+  37, 38, 40, 39, 38, 38, 39, 41, 43, 43, 43, 44, 44, 45, 45, 45,
+  46, 46, 46, 46, 46, 46, 46, 46, 44, 51, 48, 45, 49, 46, 43, 50,
+  45, 47, 49, 50, 50, 51, 50, 46, 51, 47, 47, 45, 45, 47, 51, 53,
+  52, 58, 55, 52, 57, 54, 50, 55, 51, 50, 49, 49, 52, 54, 54, 53,
+  56, 53, 53, 56, 57, 56, 57, 60, 54, 53, 55, 55, 54, 54, 57, 58,
+  61, 60, 60, 59, 61, 61, 62, 60, 61, 62, 62, 62, 61, 63, 69, 72,
+  63, 65, 68, 67, 68, 68, 70, 70, 65, 66, 67, 67, 66, 66, 67, 67,
+  72, 65, 74, 68, 67, 63, 65, 4, 3, 38, 60, 67, 82, 89, 88, 91,
+  89, 78, 76, 84, 91, 88, 88, 90, 90, 86, 86, 89, 90, 87, 87, 91,
+  90, 90, 90, 90, 90, 90, 90, 90, 87, 91, 92, 90, 91, 94, 94, 90,
+  93, 92, 91, 90, 90, 90, 90, 91, 91, 91, 90, 28, 28, 29, 29, 29,
+  30, 30, 30, 31, 31, 31, 31, 31, 32, 33, 33, 30, 30, 31, 31, 31,
+  32, 32, 32, 33, 33, 33, 34, 34, 35, 35, 35, 38, 37, 35, 34, 35,
+  37, 39, 41, 37, 39, 40, 40, 39, 38, 40, 41, 43, 43, 43, 44, 44,
+  45, 45, 45, 46, 46, 46, 46, 46, 46, 46, 46, 44, 51, 48, 45, 49,
+  46, 43, 50, 47, 47, 49, 51, 52, 50, 49, 47, 51, 47, 45, 43, 45,
+  47, 49, 51, 51, 55, 51, 49, 56, 54, 49, 54, 53, 53, 54, 57, 59,
+  58, 55, 54, 58, 54, 53, 56, 56, 53, 53, 56, 53, 51, 50, 48, 48,
+  49, 53, 56, 53, 54, 55, 57, 59, 61, 62, 63, 61, 61, 61, 59, 59,
+  59, 62, 64, 62, 64, 68, 68, 67, 66, 67, 69, 66, 66, 66, 67, 67,
+  67, 68, 67, 69, 62, 73, 68, 68, 64, 65, 5, 4, 39, 61, 68, 83,
+  89, 88, 91, 89, 78, 76, 83, 91, 89, 88, 90, 90, 86, 86, 89, 90,
+  87, 87, 91, 90, 90, 90, 90, 90, 90, 90, 90, 87, 91, 92, 90, 91,
+  94, 94, 90, 93, 92, 91, 90, 90, 90, 90, 91, 89, 89, 89, 29, 29,
+  29, 29, 30, 30, 30, 31, 31, 31, 30, 30, 31, 32, 33, 33, 31, 31,
+  31, 31, 32, 32, 32, 33, 33, 33, 33, 34, 34, 35, 35, 35, 37, 37,
+  36, 35, 36, 37, 39, 40, 37, 39, 40, 40, 39, 39, 40, 42, 42, 43,
+  43, 44, 44, 45, 45, 45, 45, 45, 46, 46, 46, 46, 47, 47, 44, 51,
+  48, 45, 49, 46, 43, 50, 50, 48, 48, 52, 52, 49, 48, 48, 48, 47,
+  45, 44, 46, 47, 49, 50, 51, 55, 50, 48, 57, 56, 51, 55, 52, 50,
+  52, 57, 58, 54, 51, 50, 52, 48, 46, 47, 45, 40, 39, 41, 34, 33,
+  32, 29, 28, 29, 33, 38, 33, 35, 39, 43, 47, 50, 52, 53, 62, 63,
+  64, 63, 61, 60, 60, 61, 62, 64, 68, 68, 67, 67, 67, 68, 66, 65,
+  65, 66, 68, 68, 69, 67, 67, 61, 72, 68, 68, 63, 64, 4, 5, 40,
+  62, 68, 83, 89, 88, 91, 89, 78, 76, 84, 92, 90, 89, 92, 90, 86,
+  86, 89, 90, 87, 87, 91, 91, 90, 89, 89, 91, 91, 90, 89, 88, 92,
+  92, 90, 90, 93, 93, 89, 93, 92, 91, 90, 90, 90, 90, 91, 89, 88,
+  88, 29, 29, 29, 30, 30, 30, 31, 31, 32, 32, 32, 32, 32, 33, 34,
+  35, 31, 31, 31, 32, 32, 32, 33, 33, 33, 33, 33, 34, 34, 35, 35,
+  35, 36, 36, 36, 37, 37, 38, 38, 38, 38, 39, 41, 40, 39, 39, 40,
+  42, 42, 42, 42, 43, 43, 44, 44, 44, 44, 44, 44, 45, 45, 46, 46,
+  46, 44, 51, 48, 45, 49, 46, 43, 50, 53, 48, 48, 51, 51, 48, 48,
+  50, 46, 44, 46, 46, 46, 46, 48, 48, 49, 52, 47, 43, 50, 47, 40,
+  42, 29, 24, 23, 28, 29, 24, 21, 23, 27, 23, 21, 23, 21, 18, 17,
+  20, 17, 21, 24, 23, 19, 17, 22, 25, 20, 23, 27, 30, 33, 33, 32,
+  31, 49, 53, 57, 60, 60, 60, 62, 63, 59, 62, 66, 67, 68, 67, 67,
+  68, 65, 64, 63, 65, 68, 68, 69, 66, 67, 61, 72, 67, 67, 61, 61,
+  0, 6, 40, 62, 69, 83, 90, 87, 91, 89, 79, 77, 85, 93, 91, 91,
+  93, 90, 86, 86, 89, 90, 87, 87, 91, 92, 90, 88, 89, 91, 92, 90,
+  88, 89, 93, 93, 90, 90, 92, 92, 88, 93, 92, 91, 90, 90, 90, 90,
+  91, 93, 92, 91, 29, 29, 29, 30, 30, 31, 31, 31, 34, 34, 33, 33,
+  33, 34, 35, 36, 31, 31, 31, 32, 32, 33, 33, 33, 33, 33, 33, 34,
+  34, 35, 35, 35, 35, 36, 37, 38, 38, 38, 38, 37, 38, 39, 41, 41,
+  39, 39, 41, 42, 42, 42, 42, 43, 43, 44, 44, 44, 44, 44, 44, 45,
+  45, 46, 46, 46, 44, 51, 48, 45, 49, 46, 43, 50, 54, 49, 47, 51,
+  50, 47, 48, 52, 45, 44, 46, 47, 47, 46, 48, 47, 45, 46, 38, 32,
+  35, 29, 20, 20, 27, 19, 16, 20, 20, 16, 15, 18, 26, 23, 23, 27,
+  28, 26, 28, 31, 18, 24, 30, 31, 27, 23, 25, 26, 25, 27, 29, 30,
+  29, 25, 21, 18, 26, 32, 41, 48, 53, 56, 60, 62, 59, 62, 66, 67,
+  68, 67, 67, 68, 65, 63, 62, 64, 67, 68, 68, 65, 69, 62, 73, 67,
+  65, 59, 58, 0, 6, 41, 62, 69, 83, 90, 87, 91, 90, 79, 77, 85,
+  94, 92, 92, 94, 90, 86, 86, 89, 90, 87, 87, 91, 92, 90, 88, 89,
+  91, 92, 90, 88, 90, 94, 94, 91, 90, 92, 91, 87, 93, 92, 91, 90,
+  90, 90, 90, 91, 95, 94, 92, 30, 32, 33, 32, 30, 29, 30, 32, 30,
+  31, 33, 35, 35, 35, 34, 33, 32, 31, 29, 29, 30, 32, 35, 37, 38,
+  37, 36, 34, 34, 35, 36, 37, 40, 38, 36, 37, 41, 42, 40, 38, 38,
+  39, 41, 41, 39, 39, 41, 42, 42, 43, 43, 44, 44, 43, 43, 42, 38,
+  41, 44, 44, 41, 40, 41, 44, 49, 48, 48, 48, 48, 49, 50, 51, 44,
+  48, 51, 50, 46, 44, 45, 45, 43, 37, 41, 42, 32, 32, 37, 32, 20,
+  20, 13, 12, 20, 15, 12, 21, 20, 16, 20, 21, 16, 23, 27, 17, 33,
+  30, 28, 30, 29, 25, 25, 28, 22, 33, 31, 38, 31, 21, 37, 42, 42,
+  35, 37, 19, 32, 20, 26, 14, 18, 24, 24, 19, 29, 50, 64, 66, 62,
+  68, 63, 59, 65, 64, 63, 71, 64, 64, 65, 66, 66, 67, 70, 70, 70,
+  64, 73, 65, 66, 65, 65, 1, 5, 46, 59, 72, 87, 86, 92, 89, 91,
+  74, 76, 88, 91, 92, 96, 92, 89, 90, 83, 92, 92, 83, 90, 87, 89,
+  89, 90, 90, 90, 89, 88, 88, 91, 92, 92, 93, 93, 92, 92, 91, 93,
+  92, 92, 91, 91, 92, 92, 93, 88, 90, 91, 27, 29, 30, 29, 27, 27,
+  28, 29, 32, 33, 33, 33, 33, 32, 32, 31, 34, 33, 32, 32, 33, 35,
+  37, 38, 37, 36, 36, 35, 35, 36, 36, 37, 40, 38, 36, 38, 40, 42,
+  40, 38, 38, 39, 41, 41, 39, 39, 41, 42, 42, 42, 43, 43, 43, 43,
+  42, 42, 44, 46, 47, 46, 43, 42, 43, 45, 47, 47, 47, 47, 47, 47,
+  47, 47, 44, 46, 50, 51, 50, 48, 47, 45, 45, 32, 27, 22, 11, 11,
+  18, 13, 12, 17, 16, 18, 26, 22, 20, 31, 23, 20, 24, 24, 19, 25,
+  28, 19, 37, 33, 32, 34, 33, 30, 30, 33, 26, 31, 23, 32, 31, 23,
+  35, 35, 29, 26, 30, 16, 28, 21, 28, 20, 20, 20, 20, 21, 25, 30,
+  43, 54, 69, 70, 62, 60, 71, 71, 65, 68, 67, 66, 66, 66, 66, 66,
+  68, 68, 71, 66, 75, 67, 66, 63, 62, 0, 6, 46, 60, 72, 87, 86,
+  92, 89, 91, 74, 77, 88, 91, 92, 96, 92, 89, 90, 83, 92, 92, 83,
+  90, 87, 88, 89, 89, 90, 90, 89, 89, 88, 91, 92, 92, 93, 93, 92,
+  92, 91, 93, 92, 92, 91, 91, 92, 92, 93, 89, 91, 92, 27, 28, 29,
+  29, 27, 27, 28, 30, 34, 33, 32, 31, 30, 30, 30, 30, 35, 35, 35,
+  36, 37, 38, 38, 39, 37, 38, 38, 39, 39, 38, 38, 38, 39, 38, 37,
+  38, 40, 41, 40, 39, 38, 39, 41, 41, 39, 39, 41, 42, 41, 41, 42,
+  42, 42, 42, 41, 41, 47, 47, 47, 46, 43, 43, 44, 45, 45, 46, 47,
+  48, 48, 48, 48, 48, 51, 50, 48, 47, 44, 39, 33, 27, 29, 15, 11,
+  10, 6, 10, 15, 9, 6, 14, 17, 21, 27, 22, 21, 32, 24, 21, 25,
+  24, 18, 23, 27, 19, 29, 25, 25, 27, 27, 24, 25, 28, 29, 28, 15,
+  25, 29, 23, 30, 26, 17, 19, 25, 14, 20, 16, 24, 20, 23, 16, 18,
+  24, 20, 13, 23, 39, 58, 65, 65, 64, 69, 66, 64, 71, 69, 68, 68,
+  67, 66, 65, 67, 66, 71, 67, 77, 69, 67, 63, 59, 0, 7, 47, 60,
+  72, 86, 86, 92, 89, 90, 75, 78, 89, 91, 91, 95, 91, 89, 90, 83,
+  92, 92, 83, 90, 87, 88, 88, 89, 90, 90, 89, 89, 88, 91, 92, 92,
+  93, 93, 92, 92, 91, 93, 92, 92, 91, 91, 92, 92, 93, 92, 94, 95,
+  30, 31, 33, 32, 31, 31, 32, 34, 33, 32, 30, 29, 29, 30, 31, 32,
+  32, 33, 34, 35, 36, 36, 35, 35, 36, 37, 38, 40, 40, 39, 38, 37,
+  38, 38, 38, 39, 39, 40, 40, 40, 38, 39, 41, 41, 39, 39, 41, 42,
+  40, 41, 41, 42, 42, 41, 41, 40, 44, 44, 43, 42, 42, 42, 43, 44,
+  47, 47, 49, 50, 50, 49, 48, 48, 47, 42, 36, 32, 29, 25, 19, 12,
+  15, 5, 8, 15, 17, 21, 21, 10, 12, 15, 13, 15, 23, 19, 15, 24,
+  21, 19, 23, 22, 14, 18, 23, 15, 18, 15, 14, 17, 17, 15, 16, 19,
+  27, 25, 11, 20, 24, 18, 25, 20, 17, 21, 24, 17, 14, 14, 18, 18,
+  26, 20, 21, 24, 22, 17, 21, 27, 32, 52, 65, 65, 63, 57, 61, 76,
+  68, 68, 67, 67, 67, 66, 68, 68, 69, 66, 77, 70, 69, 63, 58, 0,
+  8, 48, 60, 72, 86, 86, 92, 90, 90, 75, 79, 90, 91, 90, 94, 91,
+  89, 90, 83, 92, 92, 83, 90, 87, 87, 88, 89, 90, 90, 90, 89, 89,
+  91, 92, 92, 93, 93, 92, 92, 91, 93, 92, 92, 91, 91, 92, 92, 93,
+  93, 95, 95, 30, 32, 34, 33, 32, 32, 34, 35, 30, 29, 29, 29, 30,
+  32, 34, 35, 33, 34, 35, 36, 36, 36, 35, 35, 35, 36, 38, 39, 40,
+  39, 38, 38, 38, 38, 39, 39, 39, 39, 40, 40, 38, 39, 41, 41, 39,
+  39, 41, 42, 38, 39, 39, 40, 40, 39, 39, 38, 40, 40, 39, 40, 41,
+  42, 42, 44, 49, 49, 47, 45, 43, 40, 38, 37, 29, 23, 17, 16, 18,
+  20, 20, 17, 21, 11, 13, 18, 15, 17, 17, 5, 21, 16, 6, 7, 20,
+  19, 14, 19, 17, 16, 21, 19, 10, 14, 19, 13, 15, 12, 12, 14, 15,
+  12, 13, 19, 21, 26, 16, 23, 20, 11, 21, 20, 19, 25, 22, 19, 13,
+  17, 15, 16, 23, 25, 22, 18, 24, 31, 28, 19, 18, 36, 47, 54, 62,
+  61, 61, 71, 66, 66, 67, 67, 67, 68, 70, 70, 67, 64, 76, 70, 69,
+  63, 58, 0, 10, 49, 61, 72, 86, 86, 93, 90, 89, 76, 81, 91, 91,
+  89, 93, 91, 89, 90, 83, 92, 92, 83, 90, 87, 87, 88, 89, 90, 90,
+  90, 90, 90, 91, 92, 92, 93, 93, 92, 92, 91, 93, 92, 92, 91, 91,
+  92, 92, 93, 93, 95, 95, 28, 29, 31, 31, 30, 30, 32, 34, 28, 28,
+  29, 30, 32, 34, 35, 36, 38, 38, 38, 38, 38, 38, 38, 38, 35, 36,
+  37, 38, 39, 39, 39, 39, 37, 38, 40, 40, 38, 38, 40, 41, 38, 39,
+  41, 41, 39, 39, 41, 42, 39, 39, 40, 40, 40, 40, 39, 39, 41, 41,
+  41, 42, 44, 44, 43, 41, 46, 43, 39, 34, 29, 25, 22, 21, 22, 19,
+  14, 13, 14, 18, 20, 20, 30, 18, 17, 17, 13, 17, 23, 16, 23, 18,
+  6, 6, 20, 21, 17, 24, 17, 18, 24, 22, 12, 16, 22, 17, 18, 15,
+  14, 16, 16, 13, 14, 19, 19, 27, 21, 28, 22, 11, 22, 23, 19, 26,
+  19, 23, 14, 25, 19, 21, 18, 25, 24, 18, 25, 36, 33, 20, 25, 27,
+  25, 36, 62, 71, 64, 63, 65, 66, 66, 67, 68, 69, 71, 72, 67, 64,
+  76, 69, 68, 63, 58, 0, 11, 50, 61, 72, 85, 86, 93, 91, 88, 76,
+  82, 93, 91, 88, 92, 90, 89, 90, 83, 92, 92, 83, 90, 87, 86, 87,
+  88, 89, 90, 90, 90, 90, 91, 92, 92, 93, 93, 92, 92, 91, 93, 92,
+  92, 91, 91, 92, 92, 93, 92, 94, 95, 25, 27, 29, 29, 28, 29, 30,
+  32, 29, 30, 31, 33, 34, 34, 34, 34, 40, 39, 37, 37, 36, 37, 38,
+  39, 36, 36, 36, 37, 38, 39, 40, 41, 36, 39, 40, 40, 38, 38, 39,
+  42, 38, 39, 41, 41, 39, 39, 41, 42, 40, 40, 41, 41, 41, 41, 40,
+  40, 42, 41, 41, 43, 44, 43, 38, 34, 33, 30, 25, 20, 16, 15, 15,
+  15, 20, 21, 21, 19, 18, 19, 21, 20, 26, 18, 20, 22, 17, 22, 31,
+  27, 16, 17, 13, 12, 18, 15, 17, 28, 17, 19, 26, 24, 14, 18, 25,
+  20, 22, 19, 18, 19, 19, 16, 16, 21, 22, 31, 26, 35, 29, 18, 27,
+  27, 22, 28, 17, 25, 16, 31, 21, 22, 20, 24, 27, 26, 25, 26, 30,
+  30, 32, 28, 18, 24, 49, 61, 61, 64, 67, 68, 68, 68, 68, 68, 70,
+  70, 70, 66, 77, 68, 67, 61, 56, 0, 12, 51, 62, 72, 85, 86, 93,
+  91, 87, 76, 83, 93, 91, 88, 92, 90, 89, 90, 83, 92, 92, 83, 90,
+  87, 86, 87, 88, 89, 90, 91, 91, 90, 91, 92, 92, 93, 93, 92, 92,
+  91, 93, 92, 92, 91, 91, 92, 92, 93, 91, 94, 95, 25, 27, 29, 29,
+  29, 29, 31, 33, 31, 32, 33, 35, 35, 34, 33, 32, 37, 35, 33, 31,
+  31, 33, 37, 38, 37, 37, 36, 37, 38, 40, 42, 43, 38, 39, 41, 40,
+  38, 37, 39, 40, 38, 39, 41, 41, 39, 39, 41, 44, 44, 45, 43, 44,
+  42, 41, 39, 38, 39, 39, 40, 42, 42, 40, 33, 28, 20, 18, 14, 12,
+  11, 14, 17, 19, 8, 14, 20, 24, 24, 23, 28, 29, 19, 16, 24, 27,
+  20, 19, 22, 16, 11, 18, 20, 17, 16, 8, 11, 26, 16, 15, 25, 23,
+  14, 18, 26, 21, 30, 26, 24, 28, 27, 23, 23, 26, 25, 32, 26, 37,
+  35, 25, 32, 29, 26, 30, 18, 28, 18, 35, 22, 22, 26, 26, 33, 38,
+  30, 19, 25, 40, 30, 33, 25, 21, 30, 42, 55, 73, 72, 72, 71, 68,
+  68, 67, 68, 68, 74, 69, 78, 68, 66, 60, 56, 0, 15, 54, 62, 74,
+  85, 86, 95, 91, 89, 76, 84, 94, 91, 87, 91, 90, 89, 90, 83, 92,
+  92, 83, 90, 87, 86, 87, 90, 91, 92, 93, 93, 93, 91, 92, 92, 93,
+  93, 92, 92, 91, 93, 92, 92, 91, 91, 92, 92, 93, 90, 92, 94, 30,
+  30, 30, 30, 31, 32, 33, 33, 33, 33, 33, 32, 31, 33, 37, 38, 33,
+  31, 31, 32, 34, 35, 37, 39, 35, 37, 38, 40, 41, 42, 45, 43, 43,
+  42, 41, 41, 39, 38, 37, 35, 41, 40, 38, 37, 39, 40, 43, 45, 45,
+  46, 45, 43, 42, 38, 36, 35, 44, 32, 37, 49, 43, 32, 24, 14, 19,
+  16, 14, 15, 17, 16, 12, 8, 9, 13, 19, 22, 22, 23, 31, 34, 24,
+  20, 26, 46, 18, 28, 29, 29, 20, 29, 17, 22, 26, 15, 22, 25, 13,
+  24, 29, 19, 16, 23, 26, 18, 35, 30, 33, 35, 25, 24, 28, 23, 27,
+  34, 30, 27, 33, 30, 26, 33, 38, 34, 30, 29, 31, 34, 36, 35, 22,
+  31, 34, 29, 25, 25, 27, 25, 23, 26, 31, 31, 28, 30, 50, 69, 79,
+  67, 62, 67, 74, 73, 67, 66, 71, 68, 69, 71, 62, 68, 57, 0, 20,
+  57, 66, 79, 89, 88, 94, 88, 90, 71, 84, 90, 91, 96, 89, 93, 89,
+  83, 90, 92, 87, 89, 94, 90, 92, 92, 95, 95, 95, 94, 93, 93, 91,
+  92, 92, 92, 92, 91, 90, 89, 93, 93, 93, 92, 92, 91, 91, 91, 89,
+  89, 92, 30, 30, 29, 28, 28, 28, 29, 29, 33, 33, 34, 33, 32, 33,
+  36, 36, 31, 29, 29, 30, 32, 35, 37, 37, 37, 37, 40, 41, 44, 44,
+  47, 45, 45, 42, 42, 40, 37, 37, 35, 36, 38, 38, 39, 38, 40, 41,
+  44, 47, 52, 52, 51, 47, 44, 40, 38, 37, 35, 32, 38, 43, 31, 23,
+  22, 15, 20, 16, 14, 15, 18, 19, 17, 15, 16, 16, 19, 22, 24, 26,
+  27, 24, 23, 18, 28, 30, 25, 21, 32, 34, 22, 31, 20, 25, 28, 15,
+  20, 22, 12, 18, 22, 19, 23, 30, 33, 29, 30, 26, 33, 34, 27, 29,
+  34, 29, 27, 32, 30, 27, 33, 29, 28, 34, 34, 30, 26, 29, 32, 34,
+  30, 28, 36, 36, 35, 31, 31, 32, 29, 22, 23, 26, 30, 32, 29, 30,
+  42, 56, 69, 75, 76, 71, 69, 74, 73, 68, 70, 69, 71, 73, 66, 71,
+  59, 0, 20, 58, 65, 79, 91, 89, 96, 91, 92, 73, 85, 91, 91, 95,
+  87, 88, 89, 84, 90, 92, 87, 89, 94, 90, 91, 92, 92, 93, 94, 93,
+  92, 91, 94, 93, 93, 93, 93, 92, 91, 90, 93, 93, 93, 92, 92, 91,
+  91, 91, 89, 89, 90, 32, 31, 30, 29, 28, 28, 28, 28, 33, 34, 35,
+  35, 33, 33, 34, 34, 31, 29, 31, 32, 34, 35, 37, 37, 38, 38, 40,
+  41, 44, 44, 47, 45, 45, 41, 40, 37, 35, 36, 36, 37, 36, 37, 40,
+  40, 42, 42, 44, 46, 55, 55, 52, 47, 44, 40, 38, 38, 34, 35, 40,
+  34, 18, 14, 20, 16, 19, 15, 14, 15, 18, 21, 22, 22, 21, 19, 19,
+  23, 26, 27, 23, 17, 22, 18, 26, 12, 30, 14, 30, 37, 19, 29, 20,
+  26, 29, 16, 22, 23, 14, 13, 16, 20, 28, 32, 33, 32, 28, 24, 30,
+  32, 27, 29, 35, 30, 27, 32, 28, 24, 30, 26, 24, 31, 28, 26, 24,
+  29, 33, 32, 27, 22, 42, 38, 33, 30, 35, 35, 28, 16, 23, 25, 28,
+  32, 31, 27, 32, 39, 49, 71, 80, 69, 61, 69, 71, 65, 70, 69, 72,
+  75, 68, 72, 59, 0, 19, 58, 65, 79, 92, 90, 97, 92, 93, 74, 86,
+  91, 91, 94, 86, 87, 90, 84, 90, 93, 86, 87, 94, 90, 91, 91, 92,
+  93, 94, 93, 93, 91, 95, 94, 94, 94, 94, 93, 92, 91, 93, 93, 93,
+  92, 92, 91, 91, 91, 89, 89, 90, 33, 33, 32, 31, 31, 31, 32, 32,
+  32, 34, 36, 36, 34, 33, 33, 32, 31, 29, 31, 32, 34, 35, 37, 37,
+  37, 39, 41, 42, 44, 45, 47, 45, 45, 41, 39, 36, 34, 36, 36, 38,
+  35, 36, 40, 41, 44, 43, 45, 46, 53, 52, 49, 45, 42, 39, 38, 38,
+  38, 39, 38, 22, 7, 14, 25, 20, 19, 16, 15, 15, 18, 21, 23, 25,
+  20, 20, 21, 24, 25, 24, 20, 14, 20, 23, 20, 10, 29, 16, 22, 36,
+  17, 28, 20, 27, 32, 19, 23, 26, 20, 13, 12, 20, 27, 27, 26, 28,
+  31, 26, 32, 32, 24, 28, 34, 28, 24, 29, 25, 21, 26, 22, 20, 27,
+  23, 27, 29, 30, 31, 30, 31, 30, 39, 34, 29, 26, 30, 29, 23, 16,
+  24, 23, 25, 29, 30, 28, 27, 30, 33, 56, 72, 67, 63, 67, 68, 65,
+  70, 69, 72, 76, 67, 72, 58, 0, 19, 58, 65, 80, 92, 90, 98, 93,
+  93, 73, 86, 91, 91, 94, 87, 88, 88, 85, 91, 93, 86, 87, 94, 89,
+  93, 93, 94, 95, 96, 96, 95, 94, 93, 93, 94, 94, 93, 92, 91, 91,
+  93, 93, 93, 92, 92, 91, 91, 91, 90, 90, 90, 31, 31, 31, 31, 32,
+  33, 35, 36, 32, 34, 36, 36, 34, 33, 33, 32, 31, 31, 31, 32, 34,
+  35, 37, 37, 38, 39, 40, 40, 42, 43, 45, 45, 45, 41, 39, 36, 35,
+  37, 37, 39, 35, 36, 40, 42, 44, 44, 46, 47, 48, 48, 46, 44, 43,
+  40, 39, 40, 42, 33, 27, 11, 2, 14, 26, 20, 20, 18, 17, 16, 17,
+  19, 21, 24, 14, 19, 24, 25, 22, 20, 19, 18, 17, 26, 12, 19, 20,
+  21, 10, 28, 18, 29, 20, 27, 30, 17, 20, 23, 22, 15, 14, 19, 23,
+  22, 23, 24, 29, 23, 29, 29, 21, 25, 32, 27, 20, 26, 23, 20, 23,
+  19, 18, 24, 17, 25, 30, 29, 25, 25, 32, 38, 31, 29, 28, 26, 25,
+  22, 21, 22, 26, 22, 21, 26, 29, 29, 27, 29, 31, 41, 57, 69, 73,
+  68, 68, 69, 68, 69, 72, 76, 66, 71, 57, 0, 20, 59, 66, 80, 93,
+  90, 98, 93, 90, 71, 84, 90, 91, 95, 89, 90, 89, 84, 92, 94, 86,
+  87, 94, 89, 90, 91, 94, 95, 95, 95, 95, 95, 92, 92, 92, 92, 92,
+  91, 90, 89, 93, 93, 93, 92, 92, 91, 91, 91, 90, 90, 91, 27, 27,
+  28, 29, 30, 32, 34, 35, 33, 34, 35, 35, 33, 33, 34, 36, 33, 31,
+  31, 32, 34, 35, 37, 37, 39, 39, 40, 41, 43, 43, 45, 43, 43, 41,
+  40, 38, 37, 39, 38, 39, 36, 37, 40, 41, 44, 44, 47, 49, 49, 49,
+  49, 47, 46, 44, 42, 40, 38, 22, 15, 7, 2, 14, 26, 18, 21, 19,
+  19, 19, 18, 18, 20, 23, 14, 20, 25, 26, 21, 19, 20, 21, 17, 22,
+  9, 24, 15, 22, 8, 20, 23, 32, 22, 26, 29, 15, 18, 21, 20, 19,
+  18, 19, 21, 23, 26, 25, 25, 20, 26, 27, 20, 24, 34, 30, 20, 26,
+  24, 20, 24, 21, 20, 27, 14, 21, 29, 27, 22, 22, 29, 36, 28, 27,
+  30, 28, 24, 20, 24, 31, 28, 22, 20, 24, 29, 28, 29, 30, 28, 28,
+  36, 56, 67, 67, 66, 68, 68, 67, 71, 73, 64, 68, 54, 0, 22, 60,
+  67, 81, 93, 90, 97, 92, 89, 71, 84, 90, 92, 96, 90, 91, 90, 85,
+  92, 94, 87, 87, 94, 89, 87, 88, 91, 92, 93, 93, 93, 93, 91, 91,
+  92, 92, 91, 91, 90, 89, 93, 93, 93, 92, 92, 91, 91, 91, 91, 91,
+  91, 29, 29, 29, 29, 30, 32, 33, 34, 33, 33, 34, 33, 32, 33, 36,
+  38, 33, 33, 33, 34, 36, 37, 37, 37, 40, 40, 41, 41, 43, 43, 43,
+  43, 42, 41, 42, 41, 40, 41, 39, 40, 37, 37, 39, 40, 43, 44, 48,
+  49, 47, 49, 49, 49, 46, 42, 39, 35, 29, 12, 9, 12, 10, 15, 24,
+  19, 20, 20, 22, 22, 21, 21, 22, 24, 22, 23, 25, 25, 23, 22, 22,
+  20, 20, 11, 12, 20, 13, 14, 16, 15, 20, 29, 17, 22, 28, 16, 21,
+  25, 19, 25, 25, 18, 17, 23, 26, 22, 25, 19, 23, 23, 18, 22, 30,
+  28, 18, 25, 22, 19, 24, 21, 18, 25, 15, 18, 23, 24, 23, 22, 23,
+  24, 29, 28, 30, 30, 25, 19, 23, 32, 25, 22, 22, 27, 30, 27, 26,
+  30, 26, 27, 27, 36, 50, 63, 65, 63, 69, 67, 69, 71, 61, 65, 53,
+  0, 24, 62, 69, 81, 93, 89, 96, 91, 91, 72, 85, 91, 91, 95, 88,
+  89, 91, 85, 91, 93, 85, 85, 92, 87, 87, 88, 89, 90, 93, 93, 93,
+  93, 92, 92, 93, 93, 92, 91, 91, 90, 93, 93, 93, 92, 92, 91, 91,
+  91, 91, 91, 91, 33, 33, 32, 32, 32, 33, 34, 35, 33, 33, 33, 32,
+  31, 33, 37, 40, 33, 33, 33, 34, 36, 37, 37, 37, 40, 40, 41, 41,
+  43, 43, 43, 43, 42, 42, 43, 43, 42, 42, 40, 40, 38, 38, 39, 39,
+  42, 44, 49, 50, 44, 46, 48, 48, 44, 40, 33, 30, 21, 8, 12, 22,
+  21, 19, 24, 22, 18, 20, 24, 25, 23, 23, 25, 27, 30, 27, 24, 25,
+  26, 26, 24, 18, 23, 1, 17, 13, 16, 7, 26, 14, 14, 23, 12, 19,
+  28, 19, 28, 33, 16, 27, 29, 14, 12, 18, 23, 15, 29, 23, 24, 23,
+  16, 19, 26, 23, 16, 21, 18, 16, 21, 19, 17, 24, 20, 19, 22, 26,
+  29, 28, 21, 15, 31, 27, 26, 28, 23, 18, 21, 29, 24, 21, 25, 28,
+  31, 26, 24, 27, 30, 35, 31, 24, 38, 64, 72, 64, 69, 67, 66, 69,
+  58, 64, 52, 0, 25, 63, 69, 82, 93, 89, 95, 90, 93, 74, 86, 91,
+  91, 94, 86, 87, 91, 86, 91, 93, 85, 85, 92, 87, 89, 90, 91, 92,
+  95, 96, 96, 96, 93, 94, 94, 94, 94, 93, 92, 91, 93, 93, 93, 92,
+  92, 91, 91, 91, 91, 91, 91, 27, 32, 33, 30, 29, 32, 33, 32, 34,
+  34, 34, 35, 35, 36, 36, 36, 38, 37, 36, 35, 35, 35, 38, 38, 34,
+  39, 42, 42, 44, 46, 45, 40, 43, 40, 40, 41, 40, 37, 35, 39, 38,
+  36, 37, 37, 41, 42, 44, 43, 48, 50, 47, 41, 41, 42, 30, 12, 12,
+  14, 14, 16, 19, 23, 25, 26, 25, 21, 19, 19, 22, 24, 23, 23, 24,
+  30, 32, 26, 21, 22, 21, 15, 27, 16, 12, 14, 18, 17, 16, 16, 18,
+  17, 20, 22, 22, 20, 24, 30, 30, 25, 31, 29, 21, 17, 24, 20, 27,
+  23, 23, 26, 24, 20, 22, 28, 20, 25, 25, 19, 16, 19, 25, 27, 19,
+  24, 26, 25, 26, 29, 26, 25, 31, 34, 20, 29, 31, 28, 33, 24, 18,
+  26, 28, 24, 29, 24, 21, 31, 30, 28, 25, 24, 31, 41, 56, 65, 70,
+  65, 63, 82, 58, 63, 38, 0, 26, 61, 68, 83, 94, 87, 94, 91, 90,
+  76, 89, 91, 90, 96, 90, 89, 87, 87, 89, 88, 87, 85, 85, 86, 92,
+  92, 93, 92, 92, 91, 90, 90, 93, 93, 93, 92, 92, 91, 91, 91, 92,
+  92, 92, 92, 92, 92, 92, 92, 94, 93, 93, 27, 32, 33, 30, 29, 32,
+  33, 32, 34, 34, 34, 35, 35, 36, 36, 36, 35, 35, 35, 35, 35, 36,
+  40, 40, 36, 40, 42, 41, 42, 45, 45, 41, 44, 40, 40, 41, 40, 37,
+  36, 39, 35, 36, 39, 41, 45, 45, 48, 47, 41, 45, 48, 45, 38, 29,
+  16, 5, 14, 15, 16, 18, 21, 22, 24, 24, 23, 21, 20, 20, 21, 22,
+  23, 24, 15, 22, 25, 23, 20, 24, 24, 19, 22, 15, 11, 14, 16, 15,
+  14, 15, 22, 21, 20, 23, 23, 22, 26, 31, 31, 30, 36, 38, 28, 25,
+  27, 20, 25, 21, 25, 27, 26, 21, 21, 26, 21, 24, 24, 22, 24, 28,
+  28, 23, 23, 26, 27, 25, 25, 28, 25, 24, 32, 34, 23, 28, 32, 25,
+  31, 21, 28, 34, 30, 29, 36, 32, 27, 33, 23, 26, 26, 26, 24, 31,
+  43, 53, 73, 67, 63, 77, 58, 70, 41, 0, 26, 61, 68, 84, 95, 88,
+  93, 91, 89, 75, 89, 91, 90, 96, 90, 90, 86, 86, 88, 88, 87, 86,
+  86, 87, 90, 90, 92, 92, 92, 92, 92, 92, 93, 93, 93, 92, 92, 91,
+  91, 91, 92, 92, 92, 92, 92, 92, 92, 92, 93, 93, 92, 28, 32, 34,
+  30, 29, 32, 34, 32, 34, 34, 34, 35, 35, 36, 36, 36, 36, 36, 36,
+  37, 38, 39, 41, 42, 38, 41, 41, 39, 40, 44, 44, 41, 44, 40, 40,
+  42, 40, 37, 36, 39, 33, 36, 42, 44, 45, 44, 47, 47, 43, 40, 40,
+  37, 28, 13, 5, 6, 15, 17, 16, 18, 20, 21, 23, 22, 20, 21, 23,
+  22, 20, 20, 23, 26, 13, 19, 23, 23, 21, 24, 26, 22, 18, 14, 14,
+  17, 17, 16, 16, 19, 24, 21, 19, 21, 23, 21, 23, 26, 31, 30, 39,
+  43, 34, 31, 31, 21, 22, 21, 27, 29, 28, 24, 23, 26, 23, 24, 23,
+  24, 30, 35, 32, 23, 27, 30, 29, 25, 22, 25, 26, 23, 31, 34, 22,
+  27, 29, 24, 29, 20, 30, 31, 25, 25, 35, 34, 27, 28, 20, 27, 30,
+  29, 22, 23, 31, 39, 67, 66, 65, 72, 57, 75, 39, 0, 26, 62, 69,
+  85, 96, 88, 93, 90, 88, 73, 88, 90, 90, 96, 91, 91, 84, 85, 87,
+  87, 86, 85, 87, 88, 86, 86, 89, 90, 90, 91, 94, 94, 93, 93, 92,
+  92, 92, 92, 91, 91, 92, 92, 92, 92, 92, 92, 92, 92, 91, 91, 92,
+  28, 33, 34, 31, 30, 32, 34, 32, 34, 34, 34, 35, 35, 36, 36, 36,
+  37, 36, 36, 37, 38, 39, 40, 41, 39, 42, 41, 38, 39, 43, 44, 42,
+  44, 40, 41, 42, 40, 38, 36, 39, 35, 38, 42, 42, 42, 40, 44, 44,
+  52, 39, 27, 21, 13, 3, 6, 16, 17, 19, 18, 20, 20, 21, 22, 21,
+  18, 21, 25, 24, 20, 20, 23, 28, 21, 24, 27, 27, 24, 24, 24, 24,
+  19, 16, 20, 23, 22, 18, 21, 25, 28, 24, 21, 23, 24, 22, 23, 25,
+  30, 32, 41, 44, 38, 37, 37, 26, 23, 24, 27, 27, 27, 24, 27, 29,
+  26, 29, 29, 28, 31, 35, 33, 26, 27, 27, 26, 22, 22, 24, 25, 25,
+  29, 33, 23, 27, 29, 22, 29, 21, 23, 28, 23, 23, 31, 32, 26, 31,
+  26, 28, 31, 28, 24, 24, 27, 32, 51, 60, 68, 67, 55, 73, 29, 0,
+  26, 62, 70, 86, 97, 88, 93, 89, 86, 72, 87, 90, 90, 97, 91, 91,
+  83, 85, 87, 87, 86, 86, 88, 89, 87, 87, 89, 90, 90, 91, 93, 93,
+  92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+  90, 91, 91, 29, 33, 35, 31, 30, 33, 34, 33, 34, 34, 34, 35, 35,
+  36, 36, 36, 39, 38, 38, 37, 37, 38, 38, 39, 40, 42, 40, 36, 37,
+  41, 41, 41, 45, 41, 41, 43, 41, 38, 37, 40, 38, 39, 40, 40, 41,
+  41, 46, 47, 51, 31, 17, 11, 9, 5, 12, 24, 18, 18, 21, 22, 23,
+  23, 23, 22, 18, 21, 26, 25, 22, 21, 24, 29, 26, 27, 29, 30, 26,
+  22, 22, 23, 22, 20, 23, 27, 25, 21, 24, 28, 33, 30, 27, 28, 28,
+  25, 26, 28, 30, 32, 38, 39, 35, 40, 44, 33, 29, 28, 28, 24, 24,
+  25, 30, 33, 31, 35, 35, 29, 27, 28, 32, 31, 25, 25, 24, 21, 22,
+  25, 27, 25, 26, 31, 23, 28, 30, 23, 32, 25, 23, 32, 31, 28, 34,
+  34, 33, 41, 33, 28, 26, 24, 26, 27, 28, 29, 34, 51, 70, 67, 56,
+  71, 19, 0, 28, 63, 71, 86, 96, 88, 93, 89, 86, 72, 86, 89, 89,
+  96, 91, 91, 82, 83, 85, 85, 86, 86, 87, 88, 89, 89, 91, 90, 90,
+  89, 89, 89, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92,
+  92, 92, 92, 90, 91, 91, 29, 33, 35, 32, 31, 33, 35, 33, 34, 34,
+  34, 35, 35, 36, 36, 36, 40, 39, 38, 37, 37, 37, 37, 38, 39, 42,
+  40, 38, 38, 41, 41, 38, 45, 41, 42, 43, 41, 39, 37, 40, 39, 37,
+  38, 39, 44, 46, 48, 46, 33, 22, 15, 13, 15, 15, 18, 20, 17, 20,
+  22, 24, 24, 25, 25, 23, 20, 22, 26, 27, 26, 25, 27, 29, 25, 25,
+  27, 30, 26, 22, 22, 25, 25, 22, 22, 26, 27, 24, 23, 28, 31, 28,
+  28, 28, 25, 21, 23, 30, 35, 33, 39, 35, 32, 42, 47, 36, 34, 33,
+  32, 24, 24, 27, 32, 35, 34, 38, 38, 30, 26, 26, 31, 32, 23, 25,
+  26, 21, 23, 27, 29, 27, 24, 31, 23, 30, 31, 25, 34, 27, 25, 35,
+  34, 32, 36, 34, 36, 47, 35, 27, 20, 20, 23, 27, 27, 26, 27, 40,
+  66, 66, 60, 71, 12, 0, 30, 65, 71, 85, 95, 87, 94, 91, 86, 72,
+  86, 89, 89, 95, 90, 90, 83, 83, 85, 85, 86, 85, 86, 87, 90, 90,
+  91, 90, 90, 89, 88, 88, 91, 91, 92, 92, 92, 92, 93, 93, 92, 92,
+  92, 92, 92, 92, 92, 92, 91, 91, 92, 29, 34, 35, 32, 31, 34, 35,
+  34, 34, 34, 34, 35, 35, 36, 36, 36, 38, 39, 38, 38, 37, 38, 39,
+  39, 38, 42, 41, 39, 39, 41, 40, 36, 45, 41, 42, 43, 42, 39, 37,
+  40, 40, 37, 37, 39, 45, 43, 39, 31, 10, 12, 15, 14, 14, 16, 19,
+  19, 18, 19, 23, 25, 28, 29, 29, 27, 23, 23, 25, 28, 29, 30, 29,
+  29, 27, 26, 28, 32, 29, 23, 23, 27, 34, 27, 23, 28, 30, 28, 27,
+  29, 29, 30, 33, 32, 26, 21, 25, 36, 40, 39, 43, 37, 33, 42, 45,
+  31, 34, 35, 34, 29, 27, 30, 34, 33, 33, 36, 36, 31, 30, 32, 33,
+  29, 27, 28, 29, 26, 27, 30, 30, 27, 25, 32, 25, 30, 31, 23, 33,
+  28, 30, 34, 30, 28, 34, 34, 33, 40, 33, 28, 23, 23, 23, 25, 23,
+  23, 27, 29, 52, 57, 61, 71, 5, 0, 33, 66, 70, 84, 93, 87, 94,
+  93, 87, 73, 87, 89, 88, 94, 88, 88, 85, 84, 86, 86, 86, 85, 85,
+  86, 88, 88, 88, 88, 90, 90, 90, 90, 91, 91, 91, 92, 92, 93, 93,
+  93, 92, 92, 92, 92, 92, 92, 92, 92, 93, 93, 92, 29, 32, 35, 30,
+  31, 32, 35, 32, 34, 32, 34, 33, 35, 34, 36, 36, 36, 37, 37, 38,
+  38, 39, 41, 42, 37, 42, 42, 40, 40, 41, 39, 35, 44, 42, 40, 41,
+  42, 39, 37, 41, 41, 37, 36, 38, 43, 37, 24, 12, 1, 12, 19, 10,
+  8, 15, 21, 23, 17, 20, 25, 28, 32, 33, 33, 31, 29, 25, 29, 30,
+  36, 35, 34, 32, 37, 34, 36, 40, 36, 29, 28, 32, 44, 34, 30, 33,
+  36, 35, 34, 33, 40, 42, 45, 44, 35, 30, 38, 49, 45, 44, 48, 41,
+  36, 46, 45, 29, 34, 39, 40, 34, 33, 36, 37, 34, 32, 35, 32, 32,
+  36, 40, 36, 29, 32, 36, 37, 32, 32, 32, 32, 28, 31, 38, 28, 34,
+  31, 25, 34, 29, 37, 37, 29, 27, 35, 36, 30, 33, 29, 29, 31, 28,
+  25, 21, 22, 24, 26, 20, 36, 46, 57, 70, 0, 0, 30, 64, 69, 81,
+  90, 86, 94, 94, 88, 74, 87, 89, 88, 94, 87, 87, 87, 87, 89, 88,
+  86, 85, 85, 86, 86, 88, 89, 90, 90, 93, 94, 94, 91, 91, 91, 92,
+  92, 93, 93, 93, 92, 92, 92, 92, 92, 92, 92, 92, 94, 93, 93, 29,
+  26, 28, 26, 29, 29, 33, 32, 35, 29, 29, 31, 34, 30, 30, 32, 36,
+  42, 38, 36, 42, 40, 36, 42, 42, 45, 45, 42, 43, 46, 47, 42, 35,
+  37, 40, 39, 38, 37, 39, 39, 43, 39, 37, 39, 36, 26, 15, 11, 16,
+  19, 19, 15, 17, 18, 21, 23, 27, 25, 32, 34, 33, 40, 46, 38, 34,
+  41, 42, 36, 44, 45, 43, 48, 47, 49, 48, 47, 48, 49, 42, 33, 62,
+  40, 44, 53, 42, 40, 46, 39, 58, 47, 42, 46, 50, 49, 47, 51, 58,
+  47, 42, 43, 49, 51, 49, 48, 55, 51, 45, 41, 44, 44, 43, 42, 42,
+  44, 44, 41, 36, 35, 36, 40, 44, 42, 42, 34, 30, 43, 47, 31, 40,
+  32, 39, 48, 34, 24, 26, 30, 37, 33, 30, 29, 30, 31, 31, 31, 37,
+  32, 25, 21, 23, 23, 21, 19, 30, 22, 25, 34, 42, 44, 23, 0, 34,
+  61, 74, 76, 85, 89, 85, 88, 92, 75, 89, 91, 89, 93, 87, 90, 88,
+  87, 89, 89, 87, 89, 91, 92, 89, 91, 91, 92, 92, 95, 95, 95, 95,
+  94, 92, 90, 89, 89, 89, 90, 92, 92, 92, 92, 92, 92, 92, 92, 94,
+  94, 93, 32, 29, 29, 28, 29, 31, 32, 33, 33, 28, 27, 31, 32, 30,
+  29, 32, 34, 42, 38, 36, 42, 40, 37, 42, 38, 41, 42, 39, 39, 43,
+  43, 38, 40, 38, 39, 39, 38, 38, 40, 41, 37, 40, 40, 32, 16, 5,
+  11, 25, 25, 26, 22, 20, 19, 21, 22, 25, 33, 28, 35, 41, 39, 42,
+  47, 41, 55, 62, 57, 50, 56, 59, 61, 67, 55, 56, 56, 56, 59, 62,
+  59, 52, 56, 42, 47, 55, 50, 56, 65, 59, 51, 51, 57, 67, 69, 65,
+  63, 66, 65, 63, 64, 62, 60, 54, 59, 63, 58, 54, 55, 54, 59, 58,
+  58, 56, 57, 59, 60, 57, 56, 56, 58, 61, 42, 42, 52, 54, 51, 55,
+  52, 34, 52, 42, 46, 55, 45, 40, 43, 45, 37, 33, 32, 30, 30, 30,
+  28, 26, 26, 27, 27, 30, 32, 30, 26, 23, 23, 24, 32, 32, 25, 30,
+  32, 26, 38, 53, 63, 74, 87, 89, 85, 90, 87, 75, 93, 95, 91, 94,
+  89, 93, 90, 89, 91, 91, 89, 89, 93, 94, 91, 91, 93, 94, 94, 95,
+  96, 95, 97, 94, 92, 91, 90, 90, 90, 91, 92, 92, 92, 92, 92, 92,
+  92, 92, 94, 93, 92, 33, 30, 30, 29, 29, 30, 31, 31, 33, 28, 27,
+  31, 33, 30, 29, 33, 34, 42, 38, 36, 43, 41, 37, 42, 37, 40, 41,
+  38, 38, 42, 42, 37, 43, 41, 40, 39, 39, 39, 40, 41, 40, 37, 31,
+  19, 4, 0, 11, 30, 27, 25, 20, 17, 19, 20, 23, 25, 38, 29, 36,
+  46, 47, 51, 64, 68, 67, 80, 85, 85, 90, 86, 77, 76, 79, 80, 80,
+  80, 83, 87, 84, 78, 88, 80, 78, 73, 64, 69, 72, 63, 72, 78, 88,
+  96, 97, 94, 96, 103, 104, 102, 104, 102, 98, 91, 93, 97, 112, 110, 109,
+  106, 105, 98, 92, 87, 79, 81, 82, 81, 80, 78, 80, 81, 74, 67, 70,
+  70, 65, 68, 71, 64, 62, 49, 50, 57, 50, 49, 53, 51, 41, 42, 46,
+  48, 48, 43, 34, 28, 38, 36, 31, 27, 24, 24, 25, 24, 23, 25, 33,
+  29, 17, 22, 37, 41, 41, 49, 55, 69, 86, 88, 84, 91, 81, 72, 94,
+  96, 89, 93, 90, 93, 90, 89, 91, 91, 89, 89, 93, 94, 91, 91, 94,
+  94, 94, 94, 96, 95, 97, 94, 93, 92, 91, 91, 91, 92, 92, 92, 92,
+  92, 92, 92, 92, 92, 93, 93, 92, 31, 28, 28, 28, 27, 27, 28, 28,
+  33, 28, 27, 31, 33, 31, 30, 34, 35, 42, 39, 37, 43, 41, 37, 43,
+  40, 43, 43, 41, 41, 45, 45, 42, 44, 39, 38, 35, 38, 38, 39, 40,
+  45, 28, 12, 8, 10, 13, 17, 23, 24, 21, 18, 21, 24, 25, 26, 29,
+  40, 30, 38, 55, 63, 76, 101, 116, 132, 149, 156, 158, 164, 159, 148, 146,
+  148, 150, 150, 149, 150, 151, 145, 136, 142, 143, 141, 133, 130, 140, 144, 136,
+  146, 148, 149, 149, 149, 152, 160, 168, 169, 163, 162, 163, 167, 160, 157, 153,
+  158, 156, 160, 159, 161, 157, 156, 154, 156, 157, 157, 155, 152, 149, 148, 146,
+  148, 134, 130, 130, 122, 121, 127, 127, 120, 104, 99, 100, 96, 94, 95, 91,
+  98, 86, 67, 52, 45, 44, 48, 51, 49, 45, 42, 36, 30, 27, 26, 26,
+  31, 24, 28, 29, 26, 29, 32, 25, 33, 46, 50, 55, 73, 82, 85, 91,
+  81, 73, 89, 91, 87, 94, 90, 90, 90, 89, 91, 91, 89, 89, 93, 94,
+  92, 92, 94, 94, 94, 94, 95, 94, 97, 94, 94, 93, 93, 92, 92, 92,
+  92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 91, 30, 30, 30, 30, 30,
+  30, 29, 29, 35, 30, 30, 34, 36, 34, 33, 35, 35, 43, 39, 37, 43,
+  41, 38, 43, 41, 44, 45, 42, 43, 46, 46, 43, 45, 40, 40, 38, 42,
+  41, 41, 40, 35, 18, 4, 7, 18, 22, 18, 15, 23, 23, 23, 29, 32,
+  30, 32, 35, 42, 41, 57, 81, 95, 115, 140, 154, 157, 167, 160, 154, 161,
+  167, 171, 179, 187, 190, 192, 192, 193, 191, 182, 172, 182, 190, 187, 178, 180,
+  188, 190, 188, 191, 188, 183, 179, 181, 187, 194, 198, 190, 188, 192, 193, 192,
+  184, 185, 187, 191, 188, 188, 184, 183, 179, 180, 180, 179, 177, 175, 174, 172,
+  171, 168, 167, 180, 171, 178, 183, 172, 164, 162, 157, 175, 158, 151, 151, 147,
+  147, 146, 139, 135, 129, 117, 104, 91, 78, 65, 55, 45, 46, 49, 51, 48,
+  44, 39, 34, 36, 23, 24, 29, 27, 28, 27, 18, 21, 43, 45, 37, 50,
+  69, 81, 88, 85, 72, 85, 85, 84, 95, 91, 88, 90, 89, 91, 91, 89,
+  89, 93, 94, 92, 92, 94, 94, 94, 94, 95, 94, 96, 94, 94, 94, 93,
+  93, 92, 92, 92, 92, 92, 92, 92, 92, 92, 92, 91, 91, 90, 33, 31,
+  32, 33, 33, 33, 32, 32, 34, 30, 30, 34, 36, 35, 34, 36, 38, 43,
+  39, 37, 44, 42, 38, 44, 40, 43, 43, 40, 41, 44, 44, 42, 45, 43,
+  42, 43, 45, 44, 39, 33, 13, 10, 12, 15, 20, 15, 13, 17, 20, 20,
+  25, 31, 31, 27, 30, 40, 54, 66, 92, 117, 130, 145, 161, 165, 170, 178,
+  172, 166, 174, 180, 184, 193, 180, 184, 187, 188, 191, 191, 183, 173, 191, 200,
+  194, 186, 190, 189, 186, 191, 190, 191, 190, 187, 189, 194, 196, 194, 180, 191,
+  202, 201, 187, 178, 187, 202, 204, 202, 198, 193, 189, 188, 190, 194, 192, 189,
+  189, 186, 188, 190, 190, 189, 184, 178, 184, 182, 173, 171, 176, 171, 181, 169,
+  167, 166, 163, 164, 166, 155, 150, 154, 161, 163, 154, 136, 115, 98, 71, 62,
+  50, 42, 40, 40, 38, 35, 35, 26, 28, 29, 20, 20, 28, 29, 18, 37,
+  38, 27, 36, 53, 66, 76, 80, 73, 87, 85, 83, 98, 92, 88, 88, 89,
+  91, 91, 89, 89, 93, 94, 93, 93, 94, 94, 94, 94, 94, 93, 94, 92,
+  93, 93, 93, 93, 92, 91, 92, 92, 92, 92, 92, 92, 92, 92, 90, 90,
+  90, 31, 30, 32, 33, 34, 34, 33, 32, 34, 30, 30, 34, 37, 35, 35,
+  36, 38, 43, 40, 38, 44, 42, 38, 44, 39, 42, 42, 39, 40, 43, 44,
+  41, 45, 43, 43, 44, 45, 39, 29, 20, 8, 12, 19, 22, 22, 13, 12,
+  19, 15, 16, 23, 32, 33, 29, 41, 57, 80, 100, 125, 139, 147, 161, 171,
+  162, 166, 179, 182, 181, 188, 188, 183, 186, 185, 187, 188, 189, 193, 196, 192,
+  185, 185, 195, 193, 195, 206, 202, 199, 214, 198, 205, 208, 203, 200, 202, 203,
+  200, 199, 205, 212, 212, 203, 197, 202, 213, 190, 192, 194, 196, 199, 204, 212,
+  220, 201, 197, 195, 192, 195, 198, 200, 199, 200, 196, 196, 184, 174, 183, 196,
+  190, 183, 176, 179, 179, 176, 180, 181, 170, 183, 174, 165, 157, 157, 162, 166,
+  170, 133, 112, 85, 67, 58, 54, 48, 41, 37, 28, 31, 33, 22, 20, 29,
+  33, 24, 28, 27, 30, 39, 37, 41, 59, 63, 65, 89, 87, 82, 92, 89,
+  88, 88, 89, 91, 91, 89, 89, 93, 94, 93, 93, 95, 94, 94, 93, 94,
+  93, 92, 91, 92, 93, 93, 92, 91, 90, 92, 92, 92, 92, 92, 92, 92,
+  92, 90, 89, 89, 28, 27, 29, 31, 32, 32, 31, 31, 34, 30, 30, 34,
+  37, 35, 35, 39, 38, 44, 40, 38, 44, 42, 38, 44, 40, 43, 43, 40,
+  41, 44, 44, 42, 42, 41, 41, 42, 41, 33, 18, 7, 17, 15, 19, 25,
+  27, 22, 17, 19, 18, 21, 29, 38, 41, 43, 60, 84, 106, 123, 144, 146,
+  147, 165, 175, 163, 173, 182, 178, 173, 179, 182, 182, 188, 189, 189, 186, 185,
+  189, 194, 193, 188, 198, 204, 198, 197, 204, 188, 179, 197, 198, 207, 210, 199,
+  189, 189, 194, 197, 210, 198, 192, 197, 205, 204, 199, 195, 207, 207, 205, 199,
+  193, 190, 191, 195, 209, 205, 199, 197, 197, 200, 202, 202, 193, 200, 206, 196,
+  182, 189, 192, 177, 182, 179, 182, 185, 180, 183, 184, 172, 169, 167, 169, 170,
+  170, 165, 159, 155, 171, 159, 144, 132, 121, 102, 74, 53, 46, 30, 31, 38,
+  34, 30, 28, 22, 35, 20, 17, 35, 46, 26, 24, 47, 44, 56, 88, 87,
+  76, 84, 83, 88, 88, 89, 91, 91, 89, 89, 93, 94, 93, 93, 95, 94,
+  94, 93, 94, 93, 91, 90, 91, 92, 93, 92, 91, 90, 92, 92, 92, 92,
+  92, 92, 92, 92, 89, 89, 89, 31, 35, 35, 32, 33, 36, 36, 34, 37,
+  37, 38, 38, 38, 39, 39, 39, 43, 42, 41, 40, 39, 38, 38, 38, 44,
+  42, 40, 39, 39, 41, 44, 45, 41, 42, 48, 42, 24, 17, 23, 22, 14,
+  24, 32, 28, 23, 21, 16, 14, 17, 35, 44, 39, 43, 62, 94, 118, 138,
+  144, 155, 163, 168, 172, 175, 177, 169, 169, 175, 182, 183, 180, 180, 184, 189,
+  181, 176, 180, 191, 198, 198, 194, 195, 195, 195, 193, 191, 192, 195, 197, 196,
+  197, 199, 201, 203, 204, 204, 202, 204, 198, 194, 198, 203, 203, 201, 199, 212,
+  205, 212, 207, 188, 195, 209, 204, 200, 210, 213, 207, 202, 201, 197, 193, 195,
+  203, 200, 187, 181, 188, 192, 190, 186, 176, 174, 176, 174, 182, 188, 181, 181,
+  172, 165, 167, 176, 179, 172, 163, 161, 156, 154, 155, 156, 142, 120, 99, 68,
+  49, 37, 38, 38, 28, 26, 33, 27, 28, 29, 27, 28, 30, 36, 41, 45,
+  37, 45, 73, 86, 82, 78, 86, 92, 93, 90, 84, 84, 88, 93, 92, 92,
+  93, 95, 94, 92, 92, 95, 96, 94, 93, 93, 93, 93, 92, 91, 90, 93,
+  93, 93, 92, 92, 91, 91, 91, 92, 92, 92, 32, 35, 35, 32, 33, 36,
+  37, 34, 35, 35, 35, 36, 36, 37, 37, 37, 40, 40, 39, 39, 39, 40,
+  41, 42, 37, 41, 44, 45, 43, 42, 42, 42, 44, 36, 34, 27, 14, 12,
+  16, 14, 19, 25, 25, 21, 22, 24, 22, 21, 29, 36, 45, 58, 79, 104,
+  121, 128, 147, 154, 163, 170, 174, 178, 180, 180, 173, 168, 171, 179, 182, 180,
+  180, 182, 180, 176, 174, 178, 186, 191, 189, 185, 192, 193, 194, 193, 191, 189,
+  189, 190, 191, 192, 194, 196, 199, 201, 203, 204, 198, 198, 201, 203, 205, 203,
+  203, 202, 205, 199, 208, 208, 199, 204, 212, 200, 203, 207, 206, 200, 198, 203,
+  205, 201, 180, 196, 205, 199, 193, 190, 183, 173, 186, 178, 180, 174, 164, 164,
+  174, 171, 184, 179, 176, 175, 176, 175, 168, 160, 159, 157, 152, 155, 158, 156,
+  146, 133, 136, 98, 62, 49, 45, 40, 32, 27, 27, 23, 22, 29, 37, 38,
+  33, 27, 38, 38, 45, 60, 75, 83, 83, 84, 84, 91, 92, 88, 85, 87,
+  92, 92, 92, 93, 95, 94, 92, 92, 95, 96, 94, 93, 93, 93, 93, 92,
+  91, 90, 93, 93, 93, 92, 92, 91, 91, 91, 92, 92, 92, 34, 37, 37,
+  35, 35, 38, 39, 36, 37, 37, 38, 38, 38, 39, 39, 39, 37, 37, 38,
+  39, 40, 42, 44, 45, 38, 42, 46, 46, 44, 42, 42, 44, 44, 29, 21,
+  16, 11, 17, 22, 18, 28, 31, 29, 26, 27, 29, 28, 26, 33, 45, 59,
+  82, 109, 132, 139, 136, 151, 158, 165, 172, 174, 176, 178, 178, 173, 168, 170,
+  176, 180, 179, 179, 181, 176, 176, 178, 181, 184, 185, 184, 181, 187, 190, 192,
+  192, 189, 186, 185, 184, 187, 188, 189, 192, 195, 199, 202, 203, 192, 196, 205,
+  204, 202, 197, 198, 197, 212, 204, 207, 203, 199, 201, 205, 192, 206, 210, 212,
+  213, 214, 213, 209, 203, 186, 193, 195, 188, 185, 188, 190, 188, 179, 178, 183,
+  175, 160, 159, 174, 178, 171, 170, 173, 172, 172, 170, 166, 166, 168, 164, 161,
+  160, 162, 159, 154, 147, 143, 143, 132, 105, 69, 43, 36, 39, 42, 32, 25,
+  26, 30, 32, 30, 25, 31, 37, 42, 45, 58, 78, 84, 82, 80, 90, 94,
+  91, 86, 87, 91, 92, 92, 93, 95, 94, 92, 92, 95, 96, 94, 93, 93,
+  93, 93, 92, 91, 90, 93, 93, 93, 92, 92, 91, 91, 91, 92, 92, 92,
+  34, 37, 38, 35, 35, 39, 39, 36, 40, 40, 40, 41, 41, 41, 42, 42,
+  38, 38, 38, 39, 41, 43, 44, 45, 46, 45, 43, 42, 42, 43, 43, 41,
+  32, 16, 13, 14, 12, 22, 32, 32, 31, 34, 36, 33, 32, 29, 28, 27,
+  46, 69, 95, 111, 122, 134, 142, 146, 155, 161, 168, 172, 173, 175, 176, 175,
+  174, 170, 172, 175, 174, 171, 174, 179, 178, 179, 181, 181, 181, 181, 181, 182,
+  182, 184, 186, 186, 184, 183, 182, 183, 186, 186, 187, 189, 191, 195, 197, 199,
+  193, 200, 204, 202, 198, 196, 195, 194, 218, 213, 207, 199, 195, 200, 205, 202,
+  200, 199, 195, 194, 196, 197, 194, 189, 203, 201, 191, 176, 172, 181, 192, 197,
+  182, 181, 186, 181, 165, 167, 181, 186, 171, 168, 168, 171, 173, 172, 171, 171,
+  168, 168, 168, 169, 165, 159, 153, 146, 149, 148, 143, 133, 117, 97, 68, 45,
+  39, 37, 34, 31, 27, 27, 29, 32, 27, 34, 40, 39, 44, 57, 72, 80,
+  83, 90, 93, 90, 89, 90, 92, 89, 92, 93, 95, 94, 92, 92, 95, 96,
+  94, 93, 93, 93, 93, 92, 91, 90, 93, 93, 93, 92, 92, 91, 91, 91,
+  92, 92, 92, 35, 38, 38, 36, 36, 39, 40, 37, 40, 40, 41, 41, 42,
+  42, 42, 42, 41, 40, 40, 40, 41, 42, 43, 43, 49, 44, 41, 42, 45,
+  45, 38, 29, 12, 3, 8, 9, 9, 19, 30, 34, 26, 31, 33, 32, 30,
+  29, 37, 47, 80, 103, 125, 135, 137, 142, 148, 154, 162, 166, 172, 175, 175,
+  177, 177, 176, 174, 176, 180, 181, 173, 168, 172, 182, 181, 182, 181, 179, 177,
+  177, 181, 184, 182, 183, 184, 183, 183, 184, 187, 190, 188, 188, 188, 188, 190,
+  191, 192, 193, 199, 203, 203, 199, 199, 203, 203, 199, 205, 211, 208, 201, 201,
+  207, 214, 221, 229, 219, 206, 201, 203, 207, 214, 218, 206, 205, 200, 191, 185,
+  181, 179, 177, 194, 190, 191, 187, 174, 175, 183, 183, 190, 179, 172, 175, 177,
+  175, 171, 171, 165, 166, 166, 167, 166, 163, 161, 159, 157, 151, 143, 136, 134,
+  128, 112, 92, 42, 37, 34, 37, 40, 39, 35, 31, 27, 29, 34, 36, 33,
+  35, 53, 74, 85, 90, 90, 88, 90, 93, 92, 87, 92, 93, 95, 94, 92,
+  92, 95, 96, 94, 93, 93, 93, 93, 92, 91, 90, 93, 93, 93, 92, 92,
+  91, 91, 91, 92, 92, 92, 35, 38, 39, 36, 36, 40, 40, 37, 38, 39,
+  39, 39, 40, 40, 40, 41, 43, 42, 42, 41, 41, 41, 42, 42, 43, 41,
+  42, 45, 46, 39, 25, 11, 5, 3, 11, 13, 9, 16, 27, 31, 29, 28,
+  30, 34, 39, 51, 72, 89, 114, 123, 132, 139, 148, 156, 158, 153, 163, 167,
+  171, 173, 175, 173, 175, 174, 176, 178, 186, 185, 180, 172, 178, 185, 184, 181,
+  180, 176, 176, 175, 180, 181, 186, 184, 187, 184, 187, 187, 194, 196, 190, 189,
+  191, 190, 191, 188, 189, 189, 195, 202, 202, 198, 201, 209, 211, 206, 195, 211,
+  212, 207, 210, 208, 207, 215, 205, 201, 200, 203, 205, 201, 201, 203, 202, 200,
+  200, 198, 195, 190, 186, 183, 193, 186, 190, 190, 183, 186, 191, 187, 190, 178,
+  173, 179, 184, 181, 178, 177, 175, 169, 164, 161, 161, 164, 169, 173, 158, 161,
+  162, 154, 142, 133, 132, 133, 92, 66, 41, 32, 39, 43, 38, 27, 30, 27,
+  31, 33, 29, 26, 39, 58, 77, 85, 88, 89, 91, 93, 92, 87, 92, 93,
+  95, 94, 92, 92, 95, 96, 94, 93, 93, 93, 93, 92, 91, 90, 93, 93,
+  93, 92, 92, 91, 91, 91, 92, 92, 92, 35, 38, 39, 36, 37, 40, 40,
+  37, 39, 39, 39, 40, 40, 40, 41, 41, 43, 42, 42, 41, 41, 42, 42,
+  43, 40, 41, 42, 39, 33, 23, 14, 5, 11, 7, 15, 18, 12, 18, 28,
+  31, 32, 29, 33, 48, 68, 88, 106, 124, 131, 134, 136, 141, 153, 162, 161,
+  154, 161, 164, 168, 171, 173, 170, 173, 173, 176, 176, 182, 185, 188, 182, 184,
+  186, 187, 183, 184, 181, 183, 181, 184, 182, 187, 187, 191, 189, 191, 190, 195,
+  195, 192, 192, 196, 195, 196, 192, 191, 189, 193, 204, 208, 202, 201, 207, 209,
+  205, 200, 216, 213, 207, 213, 209, 200, 206, 205, 207, 214, 222, 220, 209, 203,
+  203, 205, 200, 197, 197, 198, 197, 199, 202, 190, 186, 194, 197, 191, 193, 199,
+  195, 182, 175, 176, 185, 188, 182, 181, 185, 179, 171, 165, 162, 162, 167, 169,
+  170, 179, 164, 154, 160, 167, 157, 140, 128, 139, 108, 73, 49, 41, 39, 37,
+  33, 29, 30, 30, 27, 29, 32, 35, 39, 57, 75, 89, 92, 90, 89, 90,
+  89, 92, 93, 95, 94, 92, 92, 95, 96, 94, 93, 93, 93, 93, 92, 91,
+  90, 93, 93, 93, 92, 92, 91, 91, 91, 92, 92, 92, 35, 39, 39, 36,
+  37, 40, 40, 36, 41, 39, 40, 40, 40, 41, 41, 43, 42, 42, 42, 41,
+  41, 42, 43, 44, 43, 44, 40, 29, 14, 7, 9, 12, 14, 9, 15, 18,
+  16, 23, 32, 32, 29, 26, 37, 63, 94, 116, 124, 130, 138, 146, 148, 149,
+  152, 159, 163, 163, 165, 169, 173, 176, 176, 176, 176, 179, 174, 172, 173, 183,
+  191, 191, 187, 184, 189, 188, 188, 189, 190, 190, 190, 185, 185, 188, 191, 192,
+  192, 191, 191, 191, 192, 194, 197, 199, 199, 196, 193, 190, 198, 214, 224, 213,
+  206, 205, 209, 204, 211, 221, 213, 204, 221, 220, 214, 219, 223, 214, 210, 205,
+  200, 196, 203, 214, 210, 209, 208, 209, 205, 200, 194, 192, 200, 198, 204, 204,
+  192, 190, 196, 192, 186, 184, 189, 197, 193, 180, 178, 183, 169, 165, 162, 165,
+  169, 172, 169, 164, 173, 169, 168, 169, 153, 137, 140, 156, 132, 128, 118, 94,
+  68, 49, 43, 45, 30, 35, 29, 21, 27, 41, 37, 23, 37, 65, 89, 94,
+  87, 85, 86, 91, 92, 93, 95, 94, 92, 92, 95, 96, 92, 93, 93, 93,
+  93, 92, 91, 90, 93, 93, 93, 92, 92, 91, 91, 91, 94, 94, 94, 35,
+  37, 37, 37, 35, 35, 35, 33, 36, 34, 34, 35, 35, 36, 36, 38, 45,
+  47, 46, 43, 42, 43, 43, 45, 48, 37, 25, 16, 15, 17, 18, 16, 11,
+  13, 25, 26, 22, 29, 34, 27, 29, 42, 62, 92, 127, 135, 131, 135, 144,
+  147, 152, 156, 159, 162, 166, 168, 170, 170, 171, 173, 175, 178, 181, 182, 171,
+  177, 183, 184, 183, 182, 185, 189, 196, 188, 190, 192, 187, 187, 188, 176, 182,
+  187, 192, 192, 188, 186, 190, 194, 186, 199, 207, 200, 188, 187, 194, 200, 201,
+  202, 201, 196, 201, 207, 213, 210, 212, 206, 205, 204, 212, 213, 214, 210, 209,
+  203, 207, 212, 209, 200, 199, 206, 211, 215, 215, 209, 204, 204, 204, 202, 206,
+  205, 204, 201, 194, 189, 197, 206, 191, 192, 189, 183, 181, 184, 185, 181, 180,
+  172, 163, 160, 166, 168, 167, 163, 169, 168, 165, 164, 159, 155, 151, 147, 149,
+  147, 142, 132, 120, 101, 68, 37, 32, 36, 35, 26, 27, 33, 28, 18, 45,
+  46, 58, 76, 89, 88, 85, 87, 88, 89, 91, 94, 94, 96, 96, 96, 92,
+  90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 90, 90, 89, 89, 91, 96,
+  98, 98, 35, 37, 37, 37, 35, 35, 33, 33, 35, 35, 34, 34, 35, 35,
+  35, 37, 47, 48, 46, 45, 46, 47, 46, 46, 35, 26, 17, 12, 12, 16,
+  17, 17, 27, 20, 24, 24, 22, 29, 38, 35, 34, 59, 82, 107, 130, 139,
+  139, 145, 146, 148, 150, 154, 158, 161, 163, 164, 173, 173, 174, 175, 177, 178,
+  178, 179, 175, 179, 182, 183, 184, 184, 187, 190, 187, 179, 181, 187, 188, 192,
+  193, 182, 188, 188, 189, 189, 188, 187, 187, 187, 187, 194, 196, 192, 188, 191,
+  195, 197, 198, 203, 208, 208, 210, 210, 206, 199, 206, 208, 212, 218, 223, 224,
+  220, 217, 202, 204, 209, 216, 217, 214, 215, 218, 205, 213, 216, 212, 208, 209,
+  211, 212, 208, 201, 197, 202, 205, 200, 192, 188, 191, 194, 193, 186, 182, 183,
+  184, 183, 179, 173, 168, 168, 171, 171, 166, 160, 169, 166, 163, 162, 162, 160,
+  154, 152, 151, 152, 147, 141, 135, 124, 103, 83, 52, 38, 31, 35, 35, 23,
+  21, 27, 31, 33, 39, 57, 73, 83, 87, 87, 87, 89, 92, 92, 94, 95,
+  96, 95, 92, 90, 90, 90, 90, 90, 90, 90, 91, 91, 91, 90, 90, 89,
+  89, 91, 95, 97, 97, 35, 37, 37, 37, 35, 35, 35, 35, 37, 37, 37,
+  37, 36, 36, 37, 39, 46, 45, 44, 44, 47, 47, 44, 41, 22, 17, 12,
+  11, 14, 20, 21, 21, 21, 17, 27, 38, 36, 33, 33, 27, 45, 82, 108,
+  122, 134, 141, 145, 151, 153, 151, 151, 155, 161, 164, 164, 162, 172, 173, 175,
+  176, 176, 175, 174, 173, 178, 178, 179, 180, 181, 183, 187, 188, 184, 174, 178,
+  185, 189, 196, 198, 186, 196, 192, 190, 191, 192, 192, 189, 186, 196, 196, 194,
+  191, 194, 200, 200, 196, 200, 202, 201, 198, 198, 202, 204, 202, 204, 208, 212,
+  214, 212, 210, 207, 206, 216, 220, 220, 213, 207, 202, 198, 193, 206, 214, 218,
+  213, 208, 208, 209, 209, 208, 201, 198, 202, 205, 200, 191, 186, 187, 194, 196,
+  189, 183, 182, 183, 183, 177, 173, 171, 173, 176, 174, 167, 160, 170, 166, 162,
+  163, 165, 165, 159, 156, 154, 156, 152, 146, 143, 139, 133, 122, 91, 58, 34,
+  34, 39, 33, 28, 28, 25, 25, 27, 37, 55, 76, 85, 89, 89, 91, 92,
+  92, 94, 94, 94, 93, 92, 92, 92, 92, 92, 92, 92, 92, 93, 93, 93,
+  92, 92, 91, 91, 91, 93, 94, 94, 36, 38, 38, 38, 36, 36, 36, 36,
+  36, 37, 37, 37, 36, 36, 36, 39, 40, 39, 40, 43, 46, 43, 34, 27,
+  16, 14, 13, 16, 22, 26, 27, 26, 40, 28, 29, 32, 27, 29, 41, 48,
+  59, 101, 126, 130, 139, 145, 148, 151, 160, 156, 154, 158, 166, 170, 169, 166,
+  168, 169, 172, 174, 174, 173, 171, 170, 178, 176, 175, 176, 179, 182, 185, 185,
+  194, 183, 184, 189, 192, 198, 198, 185, 193, 193, 193, 193, 192, 192, 190, 188,
+  198, 198, 196, 195, 198, 203, 200, 194, 193, 196, 196, 193, 194, 200, 204, 205,
+  205, 207, 207, 203, 198, 197, 201, 206, 207, 215, 216, 210, 210, 218, 220, 216,
+  204, 207, 209, 207, 207, 209, 207, 203, 205, 204, 205, 202, 195, 189, 194, 203,
+  178, 188, 193, 188, 180, 179, 180, 181, 175, 173, 172, 174, 176, 175, 168, 163,
+  170, 165, 161, 162, 166, 167, 162, 159, 164, 163, 159, 151, 144, 139, 137, 135,
+  115, 100, 72, 43, 32, 38, 37, 27, 29, 31, 29, 28, 39, 61, 79, 88,
+  89, 89, 91, 92, 94, 93, 94, 93, 94, 92, 94, 92, 94, 92, 94, 92,
+  95, 93, 95, 92, 94, 91, 93, 91, 93, 91, 93, 36, 38, 38, 38, 38,
+  38, 36, 36, 37, 38, 36, 36, 37, 37, 35, 36, 38, 38, 40, 42, 41,
+  35, 24, 16, 15, 17, 20, 22, 27, 29, 30, 31, 33, 31, 40, 44, 33,
+  31, 42, 48, 77, 110, 130, 134, 146, 154, 153, 155, 161, 157, 154, 158, 166,
+  170, 170, 167, 164, 166, 169, 172, 174, 174, 173, 172, 177, 175, 173, 174, 179,
+  181, 182, 182, 199, 188, 190, 193, 192, 195, 194, 183, 187, 191, 194, 193, 189,
+  187, 189, 192, 186, 192, 196, 195, 197, 199, 197, 193, 181, 193, 205, 210, 209,
+  207, 201, 194, 202, 206, 208, 207, 204, 207, 215, 223, 225, 228, 221, 206, 198,
+  201, 201, 196, 201, 200, 199, 201, 209, 215, 211, 203, 202, 203, 205, 203, 197,
+  192, 197, 206, 173, 183, 190, 187, 180, 179, 181, 182, 176, 174, 171, 171, 173,
+  173, 170, 167, 167, 163, 159, 160, 164, 166, 163, 161, 167, 165, 162, 155, 146,
+  139, 137, 137, 122, 130, 118, 79, 45, 33, 38, 38, 32, 34, 32, 27, 27,
+  44, 69, 88, 89, 89, 91, 92, 94, 93, 94, 93, 95, 94, 95, 94, 95,
+  94, 95, 94, 96, 95, 96, 94, 95, 93, 94, 93, 93, 91, 93, 39, 39,
+  39, 39, 39, 39, 37, 37, 37, 37, 36, 36, 37, 37, 35, 35, 38, 39,
+  40, 37, 35, 27, 18, 15, 19, 21, 25, 27, 31, 32, 32, 34, 27, 32,
+  44, 43, 36, 43, 59, 59, 98, 120, 132, 136, 152, 161, 159, 160, 157, 154,
+  152, 154, 158, 162, 163, 162, 163, 165, 168, 171, 174, 175, 176, 176, 176, 176,
+  177, 177, 180, 181, 182, 183, 192, 184, 190, 194, 191, 193, 193, 184, 189, 195,
+  200, 198, 193, 190, 193, 198, 181, 189, 196, 197, 197, 200, 201, 200, 187, 197,
+  204, 204, 201, 200, 198, 194, 196, 202, 208, 210, 207, 206, 208, 211, 198, 200,
+  200, 198, 201, 211, 220, 224, 214, 210, 204, 202, 208, 213, 207, 196, 203, 198,
+  197, 204, 209, 204, 196, 190, 177, 185, 191, 187, 183, 183, 185, 184, 177, 174,
+  171, 170, 171, 172, 172, 172, 164, 162, 160, 160, 162, 163, 162, 162, 161, 159,
+  159, 158, 154, 146, 145, 146, 144, 129, 118, 113, 94, 64, 43, 33, 33, 28,
+  30, 26, 23, 30, 55, 79, 86, 88, 90, 90, 92, 94, 94, 94, 95, 95,
+  95, 95, 95, 95, 95, 95, 96, 96, 96, 95, 95, 94, 94, 94, 93, 91,
+  93, 39, 40, 40, 40, 39, 39, 39, 39, 39, 39, 39, 39, 38, 38, 39,
+  37, 36, 37, 34, 28, 22, 16, 17, 20, 23, 26, 32, 34, 35, 35, 38,
+  41, 58, 55, 48, 37, 43, 82, 118, 126, 126, 137, 139, 143, 157, 159, 157,
+  162, 153, 151, 149, 148, 148, 150, 151, 152, 159, 160, 162, 164, 167, 169, 171,
+  172, 171, 174, 177, 177, 175, 174, 178, 181, 180, 178, 188, 194, 191, 192, 194,
+  187, 195, 197, 199, 198, 195, 193, 193, 195, 189, 194, 196, 195, 195, 200, 202,
+  201, 197, 200, 197, 189, 186, 192, 200, 205, 197, 200, 202, 201, 197, 194, 194,
+  195, 221, 218, 216, 215, 212, 210, 213, 219, 216, 215, 210, 203, 202, 205, 203,
+  198, 204, 196, 195, 201, 204, 198, 189, 183, 182, 187, 189, 186, 183, 184, 183,
+  181, 177, 175, 174, 173, 174, 174, 174, 174, 162, 163, 163, 162, 160, 160, 162,
+  165, 161, 157, 158, 162, 161, 154, 151, 153, 156, 133, 118, 126, 129, 107, 74,
+  46, 39, 25, 24, 28, 27, 25, 41, 65, 84, 86, 90, 90, 92, 92, 95,
+  96, 95, 97, 97, 97, 97, 97, 97, 97, 98, 98, 98, 97, 97, 96, 96,
+  94, 94, 92, 94, 40, 40, 40, 40, 39, 39, 39, 39, 40, 40, 40, 41,
+  39, 40, 40, 38, 34, 33, 28, 21, 12, 10, 16, 26, 29, 33, 39, 41,
+  41, 42, 45, 48, 47, 65, 84, 97, 117, 152, 167, 149, 150, 152, 148, 150,
+  158, 153, 151, 161, 154, 153, 151, 148, 144, 144, 146, 148, 156, 156, 157, 159,
+  161, 163, 165, 167, 164, 169, 174, 174, 170, 168, 172, 176, 177, 177, 191, 196,
+  192, 191, 195, 189, 194, 192, 190, 189, 190, 188, 185, 182, 198, 197, 192, 187,
+  188, 193, 195, 192, 191, 198, 201, 198, 195, 199, 205, 207, 201, 200, 197, 194,
+  194, 196, 202, 206, 205, 200, 202, 208, 208, 201, 203, 212, 200, 205, 207, 202,
+  200, 206, 212, 216, 200, 201, 202, 199, 190, 182, 184, 191, 187, 190, 189, 184,
+  182, 183, 181, 177, 176, 176, 176, 176, 177, 177, 176, 175, 162, 165, 166, 164,
+  159, 158, 163, 167, 167, 161, 160, 164, 164, 157, 151, 152, 140, 149, 148, 134,
+  123, 118, 106, 84, 52, 27, 21, 33, 32, 23, 32, 53, 83, 86, 87, 90,
+  92, 93, 95, 96, 95, 95, 97, 95, 97, 95, 97, 95, 98, 96, 98, 95,
+  97, 94, 96, 94, 94, 93, 94, 41, 42, 40, 40, 40, 40, 39, 38, 38,
+  39, 39, 42, 44, 42, 38, 32, 37, 24, 13, 11, 13, 18, 25, 34, 35,
+  41, 46, 45, 49, 60, 71, 80, 121, 132, 145, 153, 156, 156, 162, 166, 155,
+  155, 153, 154, 155, 156, 158, 159, 158, 159, 158, 155, 150, 146, 144, 145, 138,
+  142, 147, 149, 150, 153, 157, 161, 164, 158, 159, 168, 174, 171, 174, 182, 181,
+  177, 176, 181, 192, 195, 191, 186, 209, 205, 201, 196, 193, 193, 194, 196, 196,
+  197, 199, 200, 195, 189, 192, 198, 187, 193, 200, 204, 202, 198, 194, 192, 195,
+  198, 200, 200, 198, 198, 200, 203, 200, 205, 205, 203, 213, 226, 225, 214, 204,
+  196, 192, 201, 211, 211, 204, 199, 210, 192, 182, 187, 192, 188, 185, 189, 187,
+  185, 177, 177, 182, 175, 169, 180, 158, 173, 179, 170, 165, 170, 172, 167, 175,
+  170, 166, 168, 171, 168, 156, 145, 157, 154, 158, 166, 169, 162, 157, 157, 152,
+  150, 147, 144, 140, 136, 133, 124, 88, 38, 25, 41, 36, 23, 32, 53, 74,
+  91, 91, 80, 85, 90, 92, 97, 95, 94, 93, 90, 94, 97, 96, 89, 94,
+  93, 94, 93, 94, 94, 95, 95, 89, 96, 96, 40, 42, 40, 40, 40, 40,
+  40, 39, 42, 44, 43, 41, 37, 36, 40, 42, 27, 15, 8, 14, 24, 29,
+  33, 38, 36, 53, 72, 83, 94, 111, 128, 138, 152, 158, 164, 165, 161, 158,
+  158, 159, 153, 153, 150, 150, 150, 150, 151, 151, 156, 154, 152, 152, 153, 151,
+  147, 143, 138, 140, 140, 138, 137, 138, 143, 146, 152, 157, 167, 173, 170, 164,
+  168, 177, 180, 178, 180, 185, 194, 197, 196, 193, 192, 192, 192, 193, 194, 195,
+  197, 198, 196, 197, 200, 202, 199, 194, 196, 202, 201, 199, 196, 193, 191, 194,
+  200, 204, 198, 201, 203, 203, 201, 200, 201, 203, 204, 211, 211, 203, 202, 209,
+  211, 205, 195, 193, 196, 204, 207, 204, 200, 197, 194, 187, 189, 198, 200, 191,
+  186, 188, 199, 193, 181, 176, 180, 177, 172, 176, 178, 171, 174, 184, 181, 166,
+  158, 161, 163, 164, 162, 158, 153, 153, 158, 163, 160, 158, 160, 165, 167, 161,
+  159, 162, 163, 153, 144, 142, 146, 145, 136, 121, 110, 90, 70, 42, 24, 30,
+  39, 31, 61, 87, 98, 93, 95, 91, 83, 83, 88, 93, 94, 90, 89, 90,
+  88, 85, 88, 88, 89, 89, 89, 89, 89, 91, 91, 98, 94, 38, 41, 41,
+  42, 42, 41, 41, 42, 44, 43, 41, 41, 39, 38, 36, 33, 11, 10, 11,
+  15, 23, 32, 49, 63, 101, 120, 139, 144, 141, 145, 152, 159, 159, 164, 167,
+  166, 162, 158, 157, 159, 160, 159, 156, 154, 153, 153, 153, 153, 160, 156, 154,
+  157, 162, 162, 156, 149, 148, 146, 143, 137, 133, 132, 134, 136, 143, 142, 146,
+  152, 158, 165, 172, 177, 176, 177, 183, 187, 190, 192, 195, 195, 189, 190, 192,
+  193, 193, 193, 192, 191, 194, 195, 199, 203, 201, 197, 198, 203, 197, 205, 215,
+  221, 219, 212, 204, 199, 200, 202, 204, 204, 202, 201, 200, 200, 196, 205, 210,
+  202, 195, 200, 206, 208, 209, 205, 201, 196, 190, 186, 191, 199, 203, 194, 188,
+  187, 181, 172, 172, 178, 180, 177, 171, 168, 173, 177, 174, 170, 189, 172, 163,
+  168, 167, 157, 150, 152, 159, 164, 169, 169, 164, 159, 158, 159, 158, 158, 160,
+  162, 161, 157, 159, 165, 168, 160, 153, 149, 149, 146, 139, 127, 125, 124, 108,
+  65, 38, 47, 48, 24, 47, 73, 86, 87, 92, 93, 92, 96, 81, 89, 94,
+  91, 86, 86, 86, 85, 87, 87, 87, 87, 87, 87, 87, 89, 89, 97, 94,
+  39, 40, 41, 41, 43, 43, 42, 43, 42, 36, 34, 41, 47, 42, 23, 5,
+  11, 17, 24, 24, 23, 40, 78, 113, 125, 140, 156, 157, 155, 152, 153, 152,
+  157, 159, 162, 160, 158, 156, 157, 159, 164, 164, 160, 159, 158, 158, 158, 158,
+  161, 159, 159, 162, 165, 165, 160, 154, 156, 154, 150, 144, 138, 134, 132, 131,
+  123, 127, 136, 144, 150, 156, 163, 169, 170, 174, 181, 184, 184, 184, 188, 191,
+  193, 193, 194, 194, 193, 192, 191, 190, 192, 193, 197, 201, 199, 195, 195, 199,
+  201, 201, 201, 199, 197, 197, 199, 201, 199, 201, 202, 202, 201, 198, 197, 193,
+  190, 200, 208, 204, 200, 202, 207, 210, 191, 198, 209, 215, 208, 192, 181, 178,
+  195, 189, 186, 189, 191, 191, 195, 201, 197, 199, 203, 202, 199, 203, 203, 192,
+  184, 189, 184, 175, 177, 186, 182, 170, 167, 163, 162, 167, 173, 171, 161, 150,
+  152, 156, 160, 159, 157, 154, 156, 161, 159, 165, 171, 164, 151, 142, 143, 143,
+  133, 122, 120, 104, 79, 65, 53, 35, 52, 70, 77, 78, 85, 84, 82, 84,
+  77, 83, 86, 84, 82, 84, 86, 84, 85, 85, 85, 84, 84, 84, 84, 84,
+  81, 89, 86, 39, 42, 41, 41, 43, 43, 42, 43, 39, 38, 39, 42, 42,
+  33, 15, 1, 22, 25, 31, 37, 46, 71, 109, 142, 137, 147, 152, 155, 157,
+  158, 155, 150, 166, 165, 165, 160, 157, 152, 151, 151, 157, 156, 156, 156, 156,
+  157, 158, 159, 155, 157, 159, 159, 157, 155, 153, 152, 153, 152, 150, 146, 141,
+  135, 128, 124, 106, 117, 133, 144, 144, 139, 144, 155, 160, 166, 173, 176, 179,
+  180, 184, 188, 188, 188, 188, 190, 192, 194, 197, 198, 195, 194, 196, 199, 198,
+  194, 193, 197, 196, 196, 196, 194, 192, 193, 195, 198, 201, 200, 200, 200, 200,
+  198, 196, 192, 193, 198, 204, 205, 203, 202, 200, 197, 214, 201, 187, 182, 184,
+  191, 205, 217, 198, 194, 197, 206, 209, 200, 186, 176, 168, 163, 165, 157, 137,
+  136, 140, 133, 133, 152, 164, 166, 173, 183, 183, 175, 175, 164, 153, 151, 158,
+  163, 163, 160, 149, 156, 161, 160, 155, 153, 154, 156, 150, 160, 170, 167, 154,
+  144, 144, 146, 144, 125, 128, 131, 114, 91, 70, 56, 41, 54, 59, 66, 79,
+  81, 79, 79, 77, 75, 73, 70, 73, 78, 77, 73, 75, 75, 74, 74, 73,
+  73, 72, 72, 73, 80, 77, 40, 43, 41, 42, 42, 43, 41, 42, 38, 45,
+  47, 37, 21, 11, 13, 21, 27, 23, 27, 48, 77, 104, 125, 136, 162, 164,
+  164, 161, 162, 165, 161, 153, 164, 163, 161, 159, 156, 154, 152, 151, 154, 154,
+  154, 155, 156, 158, 159, 160, 159, 161, 162, 160, 156, 154, 154, 155, 153, 153,
+  152, 151, 148, 141, 132, 125, 126, 96, 80, 97, 123, 134, 142, 153, 149, 155,
+  163, 169, 175, 179, 185, 189, 186, 186, 186, 186, 187, 189, 192, 193, 198, 195,
+  195, 198, 198, 195, 195, 198, 189, 196, 205, 210, 209, 203, 197, 194, 203, 201,
+  199, 199, 199, 199, 198, 194, 185, 189, 194, 198, 201, 200, 196, 191, 188, 189,
+  199, 212, 216, 205, 189, 178, 187, 180, 173, 169, 164, 150, 130, 115, 125, 104,
+  99, 90, 64, 62, 75, 75, 71, 71, 80, 95, 102, 108, 127, 150, 167, 170,
+  171, 167, 160, 156, 158, 160, 151, 159, 163, 161, 159, 158, 158, 156, 153, 153,
+  155, 157, 160, 153, 147, 139, 142, 135, 136, 134, 125, 121, 112, 92, 64, 64,
+  52, 47, 59, 67, 75, 85, 82, 79, 75, 72, 75, 79, 77, 70, 74, 73,
+  73, 72, 72, 71, 70, 70, 67, 73, 69, 42, 44, 44, 44, 42, 42, 42,
+  42, 41, 43, 38, 24, 9, 5, 15, 30, 25, 26, 38, 65, 97, 120, 133,
+  141, 150, 154, 156, 154, 154, 161, 162, 161, 152, 152, 153, 154, 155, 155, 154,
+  152, 156, 156, 156, 157, 158, 160, 161, 162, 167, 165, 162, 161, 160, 160, 160,
+  159, 158, 156, 155, 154, 151, 146, 137, 131, 132, 70, 27, 43, 79, 100, 122,
+  142, 143, 147, 154, 161, 168, 173, 177, 179, 184, 185, 186, 186, 187, 187, 186,
+  186, 197, 193, 191, 194, 195, 194, 196, 200, 198, 195, 190, 186, 186, 191, 199,
+  206, 203, 200, 196, 195, 197, 198, 198, 195, 185, 185, 187, 191, 193, 192, 190,
+  189, 190, 185, 183, 185, 182, 172, 161, 155, 142, 136, 129, 124, 124, 123, 119,
+  114, 81, 46, 42, 46, 25, 23, 37, 36, 45, 38, 35, 40, 44, 53, 78,
+  106, 131, 143, 160, 169, 169, 163, 157, 154, 158, 162, 161, 158, 157, 161, 160,
+  156, 158, 155, 153, 153, 157, 154, 149, 142, 143, 139, 140, 138, 132, 135, 134,
+  119, 120, 113, 89, 64, 52, 43, 44, 57, 74, 76, 79, 78, 80, 82, 79,
+  74, 77, 76, 76, 75, 74, 73, 72, 70, 62, 66, 62, 45, 44, 44, 44,
+  44, 42, 42, 41, 44, 34, 19, 11, 10, 13, 16, 20, 29, 44, 64, 89,
+  107, 125, 146, 163, 166, 173, 172, 165, 156, 155, 157, 157, 159, 159, 159, 159,
+  160, 159, 156, 153, 155, 155, 155, 156, 157, 158, 159, 160, 166, 159, 153, 155,
+  160, 163, 161, 157, 159, 156, 152, 150, 146, 142, 135, 128, 97, 54, 29, 38,
+  44, 42, 73, 119, 144, 147, 151, 156, 161, 164, 165, 166, 169, 173, 179, 185,
+  190, 192, 191, 191, 191, 186, 183, 186, 189, 188, 193, 198, 190, 194, 199, 202,
+  202, 201, 200, 200, 199, 196, 191, 190, 193, 195, 196, 193, 198, 196, 194, 191,
+  185, 179, 178, 180, 172, 162, 152, 146, 141, 135, 133, 136, 137, 141, 142, 142,
+  141, 136, 132, 128, 70, 28, 28, 45, 30, 25, 31, 23, 26, 39, 41, 32,
+  31, 42, 49, 47, 87, 92, 106, 129, 153, 167, 167, 162, 160, 162, 157, 152,
+  153, 160, 160, 156, 158, 162, 163, 158, 152, 147, 151, 155, 154, 142, 146, 150,
+  137, 125, 123, 122, 112, 124, 121, 105, 84, 59, 46, 51, 57, 64, 75, 78,
+  76, 77, 76, 73, 72, 72, 71, 70, 70, 70, 69, 66, 57, 62, 59, 44,
+  48, 51, 48, 45, 44, 44, 40, 44, 25, 8, 6, 12, 17, 17, 22, 27,
+  55, 76, 91, 118, 141, 153, 167, 156, 162, 169, 167, 163, 159, 163, 165, 170,
+  167, 164, 161, 159, 158, 158, 156, 154, 159, 154, 152, 157, 157, 155, 161, 160,
+  156, 151, 151, 153, 155, 157, 157, 153, 157, 149, 139, 150, 126, 144, 116, 50,
+  16, 25, 31, 31, 29, 28, 72, 106, 127, 148, 156, 157, 163, 167, 169, 175,
+  169, 177, 185, 179, 179, 184, 182, 189, 182, 194, 194, 167, 162, 186, 197, 202,
+  189, 183, 188, 194, 190, 184, 182, 185, 186, 185, 183, 181, 178, 176, 173, 165,
+  162, 160, 158, 157, 156, 155, 155, 155, 153, 150, 149, 150, 151, 150, 151, 150,
+  173, 129, 149, 150, 121, 145, 101, 17, 17, 20, 20, 20, 20, 20, 21, 27,
+  33, 36, 34, 29, 29, 34, 40, 48, 53, 71, 89, 125, 154, 155, 170, 160,
+  170, 166, 155, 154, 154, 157, 167, 156, 164, 169, 163, 159, 155, 157, 153, 149,
+  146, 149, 152, 147, 137, 130, 128, 129, 135, 127, 119, 121, 104, 71, 46, 38,
+  31, 48, 68, 72, 72, 72, 68, 70, 62, 68, 73, 66, 62, 68, 67, 59,
+  56, 55, 44, 46, 47, 49, 49, 48, 43, 36, 20, 13, 11, 16, 19, 18,
+  15, 20, 43, 74, 92, 108, 130, 143, 148, 156, 164, 167, 169, 169, 169, 167,
+  170, 169, 171, 168, 165, 163, 161, 160, 159, 159, 157, 162, 157, 154, 158, 157,
+  155, 159, 156, 152, 149, 150, 152, 153, 154, 155, 156, 135, 169, 137, 133, 130,
+  127, 45, 24, 12, 28, 27, 28, 29, 22, 42, 44, 75, 113, 139, 155, 160,
+  156, 147, 148, 147, 159, 168, 160, 161, 171, 174, 182, 165, 171, 175, 165, 163,
+  161, 146, 155, 159, 163, 165, 165, 167, 171, 176, 168, 168, 170, 169, 168, 165,
+  166, 163, 162, 160, 159, 158, 158, 158, 158, 159, 164, 161, 159, 158, 159, 160,
+  159, 161, 162, 150, 163, 146, 149, 130, 141, 37, 19, 21, 21, 22, 22, 22,
+  22, 24, 31, 33, 32, 31, 30, 30, 32, 33, 37, 42, 52, 53, 84, 121,
+  133, 153, 158, 167, 163, 160, 166, 163, 151, 147, 154, 160, 163, 161, 158, 158,
+  157, 154, 153, 149, 147, 146, 143, 137, 135, 139, 126, 136, 134, 130, 132, 126,
+  111, 101, 76, 47, 38, 47, 56, 67, 75, 67, 75, 61, 61, 60, 54, 57,
+  67, 64, 70, 63, 60, 45, 44, 47, 53, 55, 50, 34, 23, 6, 10, 16,
+  23, 20, 15, 16, 26, 43, 75, 98, 119, 143, 153, 154, 161, 169, 166, 164,
+  164, 167, 166, 167, 164, 168, 167, 165, 163, 162, 161, 160, 160, 158, 163, 157,
+  154, 157, 155, 151, 155, 151, 148, 147, 149, 151, 150, 151, 149, 153, 134, 152,
+  142, 116, 133, 68, 6, 17, 23, 35, 24, 25, 35, 26, 25, 36, 41, 48,
+  56, 74, 94, 110, 115, 111, 108, 119, 123, 113, 110, 119, 124, 128, 101, 85,
+  77, 78, 93, 98, 87, 64, 101, 137, 151, 151, 154, 158, 159, 166, 166, 166,
+  167, 167, 166, 168, 167, 172, 171, 170, 169, 168, 168, 168, 168, 171, 169, 167,
+  167, 168, 169, 168, 167, 168, 155, 155, 158, 141, 146, 89, 7, 22, 21, 22,
+  21, 22, 23, 22, 25, 33, 32, 29, 28, 30, 31, 29, 27, 31, 37, 42,
+  31, 50, 84, 101, 128, 149, 159, 159, 159, 168, 168, 161, 160, 153, 156, 157,
+  156, 158, 160, 156, 151, 154, 149, 147, 147, 145, 141, 139, 142, 131, 142, 139,
+  132, 131, 130, 129, 134, 116, 85, 62, 49, 42, 47, 57, 56, 66, 62, 71,
+  75, 70, 72, 74, 60, 57, 53, 54, 49, 49, 52, 57, 53, 40, 22, 12,
+  15, 16, 18, 20, 16, 13, 18, 31, 40, 73, 100, 125, 150, 158, 160, 166,
+  167, 166, 164, 162, 162, 161, 161, 161, 166, 166, 165, 164, 163, 163, 161, 161,
+  157, 162, 156, 152, 155, 151, 146, 151, 148, 147, 148, 148, 150, 149, 148, 145,
+  149, 142, 129, 123, 129, 86, 15, 25, 25, 32, 33, 23, 24, 33, 32, 29,
+  26, 27, 28, 28, 32, 35, 39, 39, 44, 39, 46, 48, 38, 33, 39, 40,
+  44, 45, 45, 42, 42, 49, 50, 42, 44, 98, 150, 165, 166, 171, 174, 170,
+  178, 177, 177, 177, 177, 176, 179, 177, 186, 185, 183, 180, 178, 176, 175, 175,
+  173, 172, 170, 170, 171, 172, 171, 169, 167, 170, 137, 152, 153, 110, 31, 25,
+  17, 17, 17, 17, 19, 22, 23, 25, 30, 31, 30, 29, 30, 30, 29, 28,
+  32, 33, 40, 34, 42, 56, 67, 102, 121, 143, 155, 158, 163, 162, 161, 167,
+  157, 157, 155, 154, 158, 160, 155, 147, 149, 147, 149, 153, 153, 147, 141, 140,
+  139, 146, 140, 130, 127, 126, 129, 139, 127, 117, 109, 85, 49, 35, 40, 42,
+  44, 49, 64, 67, 64, 69, 72, 58, 67, 68, 68, 62, 58, 50, 45, 35,
+  22, 14, 15, 22, 19, 15, 16, 16, 15, 19, 32, 57, 85, 105, 127, 148,
+  152, 153, 160, 165, 169, 169, 167, 161, 158, 161, 165, 164, 164, 164, 165, 165,
+  164, 163, 163, 158, 163, 157, 153, 155, 150, 144, 149, 146, 145, 146, 147, 149,
+  148, 144, 141, 141, 140, 134, 109, 124, 22, 17, 38, 28, 28, 24, 25, 24,
+  23, 29, 28, 18, 25, 35, 39, 32, 23, 16, 12, 30, 21, 25, 32, 31,
+  32, 38, 35, 24, 36, 40, 38, 41, 43, 47, 50, 86, 129, 164, 167, 166,
+  177, 183, 179, 183, 182, 181, 178, 178, 176, 179, 180, 186, 185, 182, 180, 178,
+  176, 176, 175, 175, 173, 172, 172, 173, 172, 170, 166, 165, 161, 157, 132, 156,
+  34, 28, 28, 13, 13, 13, 15, 17, 21, 24, 27, 26, 30, 33, 32, 29,
+  28, 30, 34, 34, 25, 34, 39, 42, 37, 42, 86, 99, 123, 139, 149, 160,
+  158, 150, 150, 162, 160, 156, 154, 158, 160, 154, 145, 150, 147, 148, 153, 155,
+  149, 143, 142, 141, 143, 136, 131, 133, 132, 133, 143, 122, 129, 136, 119, 78,
+  53, 45, 39, 24, 22, 26, 24, 19, 30, 47, 49, 51, 60, 68, 66, 52,
+  37, 26, 15, 8, 12, 24, 17, 13, 11, 16, 20, 19, 20, 29, 67, 90,
+  109, 129, 148, 149, 151, 161, 159, 163, 168, 164, 158, 153, 157, 161, 161, 163,
+  164, 165, 166, 166, 164, 164, 161, 166, 161, 157, 158, 153, 147, 150, 144, 143,
+  144, 145, 147, 145, 142, 139, 131, 143, 126, 136, 50, 16, 31, 27, 24, 27,
+  19, 33, 34, 20, 26, 24, 31, 28, 27, 22, 17, 16, 21, 31, 19, 7,
+  9, 18, 20, 25, 28, 25, 35, 34, 21, 19, 31, 34, 40, 55, 113, 143,
+  168, 169, 170, 178, 180, 172, 184, 183, 179, 175, 174, 175, 176, 176, 181, 181,
+  180, 179, 179, 180, 181, 181, 178, 177, 175, 175, 175, 173, 170, 166, 156, 156,
+  165, 142, 85, 11, 37, 11, 13, 14, 16, 19, 22, 24, 28, 29, 23, 29,
+  34, 33, 29, 27, 31, 36, 37, 24, 31, 38, 42, 35, 37, 76, 107, 113,
+  112, 119, 144, 159, 161, 163, 164, 163, 159, 155, 157, 159, 154, 146, 158, 150,
+  145, 146, 149, 148, 147, 149, 143, 143, 135, 134, 137, 132, 126, 133, 136, 135,
+  140, 131, 107, 84, 63, 38, 15, 6, 9, 11, 4, 6, 19, 24, 13, 27,
+  42, 46, 31, 20, 15, 12, 7, 12, 22, 16, 14, 15, 19, 22, 20, 23,
+  34, 64, 87, 107, 128, 148, 151, 152, 164, 154, 158, 161, 161, 157, 153, 153,
+  154, 160, 162, 164, 166, 167, 167, 166, 165, 161, 167, 162, 158, 160, 154, 147,
+  151, 144, 142, 141, 141, 141, 140, 137, 135, 127, 143, 116, 125, 2, 33, 24,
+  21, 27, 32, 21, 37, 38, 23, 29, 20, 22, 19, 21, 25, 24, 16, 13,
+  15, 30, 19, 23, 28, 24, 25, 31, 29, 22, 28, 29, 39, 53, 42, 40,
+  61, 138, 161, 183, 187, 188, 191, 189, 180, 186, 185, 181, 177, 177, 176, 177,
+  178, 181, 182, 182, 182, 183, 184, 185, 186, 181, 179, 177, 176, 176, 173, 169,
+  164, 153, 161, 146, 138, 15, 29, 21, 11, 17, 19, 22, 24, 24, 25, 26,
+  26, 23, 26, 29, 29, 27, 25, 26, 27, 34, 30, 36, 34, 40, 40, 33,
+  56, 112, 115, 107, 104, 121, 140, 155, 170, 160, 160, 157, 153, 154, 156, 153,
+  146, 160, 151, 144, 146, 149, 148, 147, 148, 144, 145, 139, 138, 137, 127, 120,
+  130, 144, 138, 141, 138, 130, 118, 92, 57, 29, 10, 14, 27, 22, 13, 13,
+  13, 20, 24, 29, 18, 7, 6, 17, 23, 16, 11, 13, 25, 22, 19, 19,
+  17, 19, 28, 43, 65, 87, 107, 127, 145, 146, 145, 157, 159, 158, 160, 162,
+  163, 160, 156, 154, 159, 162, 164, 166, 167, 168, 166, 166, 159, 165, 160, 157,
+  158, 153, 146, 150, 142, 140, 138, 137, 138, 137, 135, 134, 136, 124, 129, 58,
+  29, 20, 18, 28, 28, 39, 22, 28, 28, 21, 31, 14, 33, 23, 18, 23,
+  25, 22, 19, 19, 19, 12, 18, 22, 15, 17, 26, 26, 29, 35, 31, 36,
+  47, 40, 61, 107, 167, 176, 181, 177, 176, 180, 184, 184, 187, 183, 181, 178,
+  176, 178, 179, 182, 183, 184, 183, 182, 182, 182, 182, 183, 181, 179, 177, 176,
+  175, 171, 167, 159, 158, 157, 139, 90, 11, 32, 0, 30, 20, 23, 25, 25,
+  25, 23, 23, 21, 27, 25, 25, 26, 27, 26, 23, 20, 25, 34, 43, 31,
+  37, 44, 25, 26, 94, 120, 131, 122, 113, 109, 120, 140, 156, 158, 156, 153,
+  153, 155, 153, 149, 154, 148, 146, 151, 154, 151, 144, 141, 139, 143, 142, 143,
+  142, 132, 128, 142, 131, 133, 142, 150, 146, 142, 123, 89, 55, 19, 10, 24,
+  25, 18, 20, 23, 26, 22, 20, 15, 17, 17, 17, 18, 19, 20, 20, 24,
+  23, 24, 23, 19, 17, 23, 39, 80, 99, 109, 121, 145, 158, 160, 162, 158,
+  162, 164, 164, 166, 165, 159, 151, 151, 153, 157, 163, 168, 171, 169, 167, 163,
+  160, 158, 157, 154, 152, 146, 141, 147, 140, 143, 146, 136, 135, 134, 128, 150,
+  106, 112, 35, 21, 33, 15, 23, 31, 32, 29, 32, 33, 32, 26, 18, 14,
+  23, 24, 22, 23, 18, 18, 30, 22, 23, 22, 20, 19, 22, 26, 29, 31,
+  29, 30, 47, 66, 77, 112, 158, 180, 183, 187, 187, 188, 187, 186, 186, 187,
+  184, 184, 182, 180, 180, 178, 179, 184, 186, 185, 184, 184, 183, 182, 182, 182,
+  185, 183, 176, 170, 170, 169, 163, 167, 137, 142, 38, 26, 15, 15, 17, 19,
+  19, 29, 33, 24, 22, 24, 19, 30, 22, 29, 29, 20, 31, 39, 24, 31,
+  33, 35, 37, 38, 37, 35, 34, 77, 122, 118, 126, 130, 126, 99, 125, 132,
+  150, 162, 159, 153, 153, 159, 161, 159, 153, 151, 154, 153, 147, 143, 146, 146,
+  144, 142, 142, 139, 135, 132, 134, 128, 139, 141, 137, 139, 138, 128, 112, 52,
+  17, 23, 43, 31, 26, 28, 14, 26, 23, 22, 11, 10, 12, 12, 13, 14,
+  17, 18, 22, 22, 23, 24, 21, 19, 27, 41, 67, 99, 116, 127, 138, 142,
+  144, 154, 169, 169, 166, 161, 161, 163, 163, 158, 166, 165, 162, 161, 163, 165,
+  165, 165, 162, 160, 158, 158, 156, 153, 148, 146, 143, 137, 139, 142, 135, 136,
+  137, 130, 132, 126, 84, 25, 26, 26, 19, 23, 26, 26, 25, 25, 28, 26,
+  20, 15, 18, 23, 20, 18, 20, 16, 14, 24, 19, 21, 23, 25, 27, 27,
+  28, 28, 35, 31, 40, 86, 140, 163, 166, 174, 176, 179, 183, 184, 183, 182,
+  184, 183, 189, 189, 187, 185, 184, 182, 182, 182, 182, 184, 183, 183, 183, 182,
+  182, 182, 179, 179, 175, 171, 171, 173, 170, 161, 155, 141, 110, 11, 13, 15,
+  12, 24, 17, 17, 21, 17, 11, 19, 28, 28, 12, 23, 37, 37, 27, 27,
+  28, 21, 29, 31, 33, 35, 36, 36, 35, 32, 55, 115, 119, 124, 128, 125,
+  120, 118, 121, 133, 143, 147, 149, 155, 158, 157, 155, 148, 145, 148, 149, 146,
+  142, 144, 142, 144, 145, 143, 136, 131, 131, 136, 135, 140, 141, 143, 145, 144,
+  130, 118, 98, 59, 41, 39, 24, 22, 29, 29, 34, 31, 28, 11, 10, 11,
+  11, 12, 15, 20, 21, 18, 17, 20, 22, 20, 19, 27, 38, 88, 115, 131,
+  140, 152, 155, 153, 157, 160, 167, 172, 172, 171, 166, 157, 148, 160, 160, 160,
+  162, 166, 169, 169, 169, 159, 158, 157, 157, 155, 152, 147, 146, 142, 136, 137,
+  140, 134, 137, 137, 128, 122, 138, 49, 21, 33, 24, 28, 24, 23, 23, 23,
+  23, 25, 23, 18, 12, 19, 19, 15, 16, 23, 19, 15, 23, 34, 30, 25,
+  22, 24, 26, 30, 32, 30, 51, 79, 121, 163, 177, 172, 172, 177, 179, 184,
+  185, 186, 185, 187, 187, 189, 189, 187, 185, 185, 185, 185, 185, 182, 182, 182,
+  182, 182, 181, 181, 181, 178, 175, 171, 169, 174, 178, 173, 161, 155, 148, 79,
+  4, 13, 21, 10, 23, 31, 33, 26, 19, 26, 35, 30, 12, 19, 25, 21,
+  19, 26, 29, 27, 28, 25, 26, 29, 31, 33, 33, 33, 32, 32, 95, 123,
+  122, 127, 126, 140, 114, 122, 127, 133, 141, 151, 160, 161, 158, 159, 151, 146,
+  148, 152, 151, 148, 147, 140, 146, 149, 145, 135, 131, 133, 139, 138, 136, 137,
+  145, 149, 143, 131, 122, 103, 70, 41, 32, 25, 19, 21, 27, 19, 20, 18,
+  9, 11, 14, 16, 18, 19, 22, 22, 19, 17, 20, 22, 21, 19, 25, 35,
+  72, 105, 123, 130, 135, 138, 143, 155, 151, 161, 170, 175, 173, 166, 155, 144,
+  151, 155, 162, 168, 173, 172, 166, 162, 158, 158, 158, 157, 153, 149, 144, 143,
+  147, 142, 143, 141, 134, 135, 134, 123, 125, 114, 21, 23, 29, 25, 28, 19,
+  23, 23, 22, 23, 24, 22, 18, 15, 17, 16, 13, 18, 29, 25, 20, 28,
+  24, 22, 24, 28, 36, 39, 41, 40, 73, 112, 142, 157, 164, 164, 169, 182,
+  177, 178, 183, 184, 186, 187, 187, 189, 186, 187, 187, 185, 185, 184, 186, 186,
+  185, 184, 184, 183, 182, 181, 180, 180, 178, 178, 175, 173, 176, 179, 175, 166,
+  150, 124, 41, 15, 18, 27, 16, 22, 9, 29, 31, 18, 21, 27, 21, 9,
+  24, 36, 27, 20, 29, 27, 24, 37, 25, 26, 28, 31, 33, 34, 34, 34,
+  25, 62, 127, 123, 128, 133, 143, 121, 133, 133, 135, 139, 148, 156, 159, 160,
+  163, 156, 150, 150, 154, 155, 152, 148, 143, 148, 149, 145, 138, 137, 137, 138,
+  137, 129, 129, 142, 149, 141, 132, 127, 115, 86, 48, 35, 39, 35, 28, 35,
+  22, 22, 22, 4, 7, 12, 16, 19, 19, 18, 17, 25, 22, 23, 25, 26,
+  23, 25, 32, 51, 93, 122, 132, 137, 140, 153, 173, 158, 161, 161, 158, 159,
+  161, 164, 163, 167, 169, 171, 173, 172, 166, 156, 150, 161, 162, 163, 162, 156,
+  150, 145, 144, 150, 147, 148, 145, 138, 139, 135, 117, 129, 63, 8, 29, 18,
+  26, 22, 13, 22, 22, 22, 21, 22, 19, 17, 15, 16, 15, 13, 21, 32,
+  27, 26, 36, 33, 44, 65, 86, 100, 103, 99, 94, 131, 154, 163, 166, 173,
+  177, 177, 181, 170, 174, 178, 179, 181, 182, 184, 186, 186, 187, 187, 187, 187,
+  186, 188, 186, 189, 188, 186, 185, 183, 181, 180, 179, 177, 180, 180, 176, 173,
+  174, 172, 166, 146, 88, 13, 21, 12, 25, 26, 37, 76, 100, 84, 38, 10,
+  5, 14, 31, 11, 37, 44, 40, 38, 22, 14, 31, 26, 27, 29, 31, 33,
+  34, 35, 36, 32, 31, 120, 122, 128, 138, 131, 133, 134, 134, 133, 133, 134,
+  139, 147, 157, 161, 156, 151, 149, 152, 154, 150, 145, 145, 146, 144, 140, 139,
+  142, 138, 131, 132, 126, 128, 141, 149, 143, 135, 132, 139, 102, 52, 28, 33,
+  33, 28, 32, 26, 26, 24, 7, 10, 15, 20, 22, 21, 20, 17, 22, 18,
+  19, 21, 22, 19, 19, 25, 26, 48, 65, 88, 121, 137, 137, 139, 151, 156,
+  159, 159, 159, 164, 167, 166, 180, 177, 172, 169, 166, 164, 160, 157, 164, 166,
+  168, 167, 160, 154, 150, 149, 150, 149, 152, 149, 143, 143, 136, 114, 116, 28,
+  16, 33, 19, 28, 22, 18, 18, 18, 19, 17, 17, 17, 16, 15, 16, 18,
+  17, 23, 31, 25, 32, 53, 90, 98, 113, 127, 139, 148, 155, 159, 152, 162,
+  163, 161, 169, 170, 168, 172, 171, 175, 179, 181, 182, 183, 184, 186, 187, 187,
+  188, 189, 189, 189, 191, 190, 189, 188, 187, 185, 183, 181, 180, 179, 175, 180,
+  181, 176, 171, 169, 168, 163, 168, 102, 35, 28, 15, 25, 32, 71, 119, 156,
+  164, 149, 131, 86, 25, 0, 32, 32, 25, 28, 38, 35, 25, 25, 28, 28,
+  29, 31, 32, 34, 35, 34, 36, 23, 97, 121, 130, 140, 127, 143, 135, 135,
+  136, 134, 130, 130, 140, 152, 157, 158, 156, 153, 153, 155, 152, 148, 143, 144,
+  139, 135, 137, 143, 138, 126, 129, 127, 133, 141, 148, 145, 140, 136, 131, 95,
+  59, 40, 37, 34, 29, 22, 24, 24, 22, 11, 12, 17, 19, 21, 20, 20,
+  21, 17, 15, 14, 17, 20, 17, 17, 22, 37, 39, 35, 55, 101, 128, 132,
+  129, 138, 149, 159, 163, 164, 164, 161, 157, 170, 167, 164, 164, 165, 167, 167,
+  167, 160, 164, 168, 168, 162, 157, 153, 154, 154, 154, 157, 153, 145, 143, 133,
+  106, 72, 20, 26, 26, 25, 22, 23, 24, 17, 18, 18, 16, 16, 13, 14,
+  16, 17, 20, 19, 25, 30, 28, 51, 85, 130, 131, 133, 133, 133, 141, 156,
+  168, 162, 173, 175, 174, 175, 168, 168, 180, 175, 178, 182, 184, 184, 184, 185,
+  186, 186, 186, 189, 189, 190, 189, 192, 190, 187, 185, 184, 184, 183, 182, 182,
+  181, 176, 179, 178, 174, 173, 172, 168, 160, 176, 145, 81, 26, 24, 28, 26,
+  111, 150, 161, 146, 141, 160, 144, 104, 94, 99, 69, 46, 40, 39, 40, 36,
+  27, 27, 27, 28, 28, 29, 31, 32, 32, 32, 36, 63, 117, 131, 134, 138,
+  143, 140, 139, 141, 141, 134, 129, 133, 143, 150, 157, 160, 157, 155, 157, 156,
+  153, 142, 146, 143, 137, 137, 143, 140, 129, 126, 132, 138, 139, 141, 142, 141,
+  135, 126, 99, 89, 77, 57, 49, 49, 35, 41, 39, 38, 13, 12, 11, 12,
+  13, 14, 16, 19, 20, 18, 18, 22, 23, 23, 23, 26, 20, 32, 28, 25,
+  41, 66, 98, 128, 139, 148, 151, 150, 150, 155, 160, 161, 158, 159, 161, 164,
+  167, 167, 163, 161, 156, 159, 166, 166, 162, 158, 155, 157, 158, 158, 159, 153,
+  145, 142, 127, 97, 30, 23, 27, 12, 25, 10, 18, 21, 18, 19, 20, 20,
+  17, 16, 17, 20, 18, 22, 23, 26, 31, 35, 69, 114, 135, 141, 155, 156,
+  152, 150, 155, 160, 170, 169, 166, 171, 181, 175, 173, 181, 171, 174, 179, 181,
+  180, 180, 181, 182, 181, 183, 183, 184, 185, 186, 187, 187, 183, 183, 183, 184,
+  184, 183, 183, 183, 180, 179, 176, 174, 178, 177, 172, 160, 147, 158, 101, 12,
+  30, 32, 16, 134, 138, 162, 158, 153, 166, 152, 136, 155, 144, 130, 123, 97,
+  43, 19, 25, 29, 25, 27, 27, 27, 28, 29, 31, 31, 27, 54, 40, 115,
+  132, 130, 153, 141, 144, 140, 141, 143, 136, 126, 123, 128, 137, 148, 156, 152,
+  151, 152, 153, 152, 142, 150, 150, 142, 138, 144, 143, 135, 124, 135, 142, 136,
+  135, 138, 138, 130, 132, 104, 97, 78, 41, 37, 53, 44, 48, 45, 40, 16,
+  11, 7, 10, 15, 20, 21, 20, 17, 11, 15, 18, 15, 21, 25, 18, 28,
+  26, 19, 18, 17, 12, 33, 73, 128, 132, 137, 143, 147, 150, 153, 155, 164,
+  160, 158, 159, 161, 164, 164, 162, 159, 160, 163, 162, 160, 159, 164, 165, 164,
+  156, 149, 141, 146, 155, 123, 68, 22, 27, 25, 17, 18, 24, 24, 21, 24,
+  21, 18, 17, 19, 24, 30, 32, 31, 29, 26, 28, 50, 83, 113, 122, 136,
+  136, 142, 142, 143, 147, 153, 159, 162, 171, 176, 174, 173, 174, 175, 170, 177,
+  180, 180, 176, 175, 180, 183, 183, 178, 184, 186, 185, 184, 185, 187, 188, 186,
+  184, 181, 182, 185, 185, 184, 182, 180, 174, 175, 178, 172, 171, 173, 165, 156,
+  106, 73, 36, 32, 24, 23, 108, 149, 145, 151, 162, 166, 160, 162, 166, 144,
+  155, 155, 143, 119, 60, 16, 15, 21, 23, 35, 40, 32, 30, 38, 38, 43,
+  37, 53, 98, 139, 138, 138, 150, 142, 149, 152, 147, 136, 132, 129, 126, 127,
+  140, 155, 155, 153, 151, 151, 149, 146, 147, 146, 143, 138, 134, 132, 131, 136,
+  133, 137, 143, 146, 141, 135, 134, 134, 112, 104, 64, 49, 52, 41, 53, 47,
+  43, 42, 19, 20, 20, 20, 19, 17, 17, 17, 22, 15, 18, 21, 18, 21,
+  24, 18, 14, 20, 24, 27, 26, 10, 7, 20, 61, 104, 130, 123, 127, 151,
+  157, 143, 154, 155, 155, 153, 152, 153, 156, 159, 158, 162, 163, 160, 156, 155,
+  163, 165, 169, 160, 156, 151, 146, 136, 89, 29, 38, 36, 35, 33, 27, 19,
+  18, 24, 23, 23, 24, 26, 28, 25, 21, 16, 38, 27, 40, 75, 108, 118,
+  126, 134, 132, 136, 144, 149, 149, 149, 151, 153, 160, 166, 170, 168, 169, 173,
+  175, 173, 173, 176, 176, 174, 177, 181, 181, 177, 187, 180, 173, 170, 173, 177,
+  175, 174, 185, 184, 182, 182, 182, 184, 183, 182, 181, 174, 175, 176, 168, 169,
+  170, 164, 169, 124, 81, 27, 24, 31, 25, 88, 148, 135, 137, 152, 159, 150,
+  146, 146, 129, 138, 144, 151, 153, 121, 61, 18, 40, 26, 17, 24, 35, 37,
+  39, 41, 45, 33, 51, 77, 127, 140, 141, 143, 141, 147, 148, 143, 136, 133,
+  129, 124, 133, 123, 136, 158, 159, 152, 153, 155, 150, 149, 148, 146, 143, 141,
+  139, 138, 140, 137, 139, 144, 146, 141, 134, 131, 135, 118, 102, 62, 33, 45,
+  39, 54, 53, 51, 50, 15, 21, 26, 26, 21, 16, 15, 16, 23, 16, 19,
+  22, 18, 21, 24, 17, 15, 23, 21, 19, 25, 21, 14, 17, 25, 58, 100,
+  127, 139, 142, 139, 134, 144, 149, 153, 151, 147, 146, 153, 160, 155, 159, 161,
+  157, 154, 154, 163, 167, 148, 155, 162, 149, 119, 103, 93, 77, 38, 37, 28,
+  20, 27, 37, 29, 11, 27, 23, 18, 18, 24, 30, 35, 36, 33, 37, 67,
+  107, 134, 131, 130, 136, 135, 140, 147, 151, 152, 153, 157, 160, 159, 163, 165,
+  163, 166, 171, 175, 176, 176, 178, 177, 176, 179, 182, 179, 173, 169, 170, 174,
+  178, 180, 178, 173, 171, 183, 182, 180, 180, 180, 183, 183, 182, 182, 174, 174,
+  174, 168, 169, 168, 162, 161, 124, 76, 18, 23, 37, 13, 29, 89, 136, 157,
+  133, 128, 154, 162, 141, 152, 149, 144, 138, 142, 139, 90, 24, 10, 34, 36,
+  25, 32, 41, 35, 28, 46, 28, 48, 50, 103, 142, 144, 138, 143, 146, 145,
+  142, 139, 138, 133, 126, 133, 114, 125, 148, 152, 157, 161, 150, 154, 151, 147,
+  146, 147, 147, 145, 142, 141, 138, 139, 143, 146, 141, 134, 131, 132, 126, 103,
+  69, 15, 30, 22, 35, 38, 42, 46, 12, 17, 22, 23, 21, 18, 16, 16,
+  20, 13, 17, 20, 16, 20, 23, 17, 19, 25, 17, 9, 18, 27, 28, 32,
+  14, 18, 44, 83, 112, 121, 124, 128, 140, 144, 148, 147, 144, 144, 149, 155,
+  152, 153, 155, 155, 156, 158, 165, 165, 170, 149, 141, 143, 147, 154, 151, 136,
+  139, 108, 68, 38, 25, 23, 30, 38, 27, 29, 31, 30, 27, 24, 23, 22,
+  49, 80, 109, 116, 117, 123, 131, 131, 136, 136, 139, 139, 141, 146, 156, 164,
+  159, 161, 163, 163, 165, 168, 172, 174, 177, 179, 179, 175, 174, 175, 173, 169,
+  171, 172, 173, 169, 163, 163, 175, 188, 178, 180, 181, 181, 182, 183, 181, 181,
+  182, 174, 173, 173, 166, 167, 166, 161, 169, 151, 115, 56, 38, 40, 21, 29,
+  39, 63, 107, 143, 145, 130, 132, 147, 140, 135, 141, 136, 137, 157, 151, 108,
+  19, 37, 38, 32, 37, 34, 28, 29, 43, 34, 45, 40, 71, 143, 146, 143,
+  148, 148, 145, 144, 145, 146, 140, 131, 129, 123, 128, 128, 129, 158, 170, 142,
+  156, 150, 145, 144, 147, 148, 145, 140, 138, 135, 136, 141, 144, 140, 135, 132,
+  122, 127, 107, 86, 14, 27, 16, 23, 24, 33, 40, 18, 17, 16, 18, 20,
+  21, 18, 16, 17, 11, 15, 19, 16, 21, 25, 18, 7, 25, 23, 15, 20,
+  22, 17, 17, 18, 26, 24, 23, 52, 101, 130, 130, 136, 138, 140, 140, 139,
+  138, 140, 141, 150, 149, 148, 150, 156, 158, 157, 153, 157, 147, 152, 165, 170,
+  172, 166, 151, 148, 131, 137, 148, 110, 41, 9, 20, 22, 25, 28, 26, 26,
+  38, 58, 73, 102, 126, 138, 128, 116, 122, 133, 136, 129, 128, 130, 128, 128,
+  131, 139, 148, 149, 152, 156, 160, 163, 164, 167, 170, 166, 172, 173, 167, 163,
+  164, 167, 167, 166, 169, 176, 181, 176, 165, 161, 165, 171, 175, 180, 184, 184,
+  182, 180, 179, 181, 174, 175, 175, 166, 167, 168, 159, 152, 156, 140, 80, 27,
+  6, 10, 36, 26, 30, 64, 119, 153, 149, 137, 131, 143, 140, 154, 154, 143,
+  148, 145, 122, 105, 63, 26, 27, 34, 26, 25, 42, 36, 43, 41, 44, 42,
+  132, 146, 153, 150, 149, 146, 145, 147, 149, 143, 134, 133, 131, 132, 123, 121,
+  146, 164, 151, 157, 152, 146, 145, 148, 148, 143, 138, 135, 132, 133, 139, 143,
+  140, 136, 134, 117, 123, 107, 100, 24, 30, 27, 28, 26, 36, 40, 26, 21,
+  17, 17, 20, 21, 19, 15, 19, 13, 17, 21, 17, 21, 25, 19, 5, 21,
+  23, 14, 17, 18, 15, 19, 28, 34, 33, 29, 34, 55, 84, 103, 124, 127,
+  133, 136, 138, 137, 137, 135, 149, 147, 145, 145, 149, 149, 147, 143, 137, 152,
+  176, 176, 153, 144, 153, 158, 145, 144, 141, 134, 122, 96, 57, 26, 30, 40,
+  54, 63, 77, 99, 130, 151, 141, 135, 133, 135, 134, 126, 127, 133, 128, 132,
+  135, 137, 133, 129, 129, 132, 135, 139, 145, 153, 158, 159, 163, 168, 162, 167,
+  169, 166, 164, 167, 169, 168, 165, 157, 160, 177, 187, 181, 166, 157, 166, 172,
+  178, 182, 182, 180, 178, 178, 179, 172, 175, 177, 168, 168, 168, 159, 165, 166,
+  158, 130, 90, 58, 41, 33, 23, 44, 50, 51, 85, 140, 163, 147, 127, 121,
+  133, 144, 147, 152, 152, 143, 142, 119, 85, 40, 12, 26, 39, 30, 31, 46,
+  37, 48, 31, 105, 148, 158, 150, 149, 146, 144, 145, 148, 143, 135, 140, 133,
+  130, 136, 133, 125, 136, 160, 157, 154, 151, 151, 151, 149, 144, 140, 136, 132,
+  133, 138, 143, 140, 136, 135, 130, 122, 104, 100, 27, 16, 23, 20, 16, 24,
+  27, 23, 22, 20, 20, 20, 21, 20, 19, 23, 16, 19, 22, 18, 20, 23,
+  14, 12, 19, 15, 8, 14, 18, 21, 33, 22, 18, 28, 41, 31, 11, 17,
+  43, 90, 102, 117, 125, 129, 132, 136, 140, 145, 146, 146, 142, 139, 140, 146,
+  151, 174, 166, 164, 164, 163, 172, 170, 152, 147, 162, 155, 137, 142, 147, 103,
+  42, 80, 98, 125, 142, 147, 142, 136, 132, 141, 132, 128, 132, 136, 132, 128,
+  127, 134, 138, 142, 143, 138, 134, 132, 134, 130, 131, 135, 141, 146, 147, 152,
+  159, 160, 161, 162, 163, 167, 168, 161, 151, 151, 126, 106, 106, 119, 135, 156,
+  176, 164, 168, 173, 175, 175, 175, 177, 179, 179, 173, 176, 179, 173, 172, 171,
+  159, 153, 149, 141, 139, 134, 115, 78, 29, 44, 23, 17, 29, 36, 49, 97,
+  147, 153, 154, 145, 139, 144, 144, 138, 138, 132, 144, 144, 81, 12, 27, 49,
+  22, 29, 43, 39, 46, 41, 73, 157, 159, 151, 152, 149, 146, 146, 148, 144,
+  137, 138, 142, 137, 143, 143, 110, 100, 137, 153, 153, 154, 155, 153, 150, 146,
+  143, 141, 137, 137, 140, 143, 140, 135, 134, 140, 117, 104, 104, 40, 6, 18,
+  5, 3, 13, 18, 10, 15, 19, 20, 18, 17, 20, 23, 24, 16, 18, 20,
+  14, 15, 17, 10, 15, 16, 13, 11, 19, 14, 13, 20, 29, 37, 37, 28,
+  27, 31, 30, 25, 49, 70, 93, 108, 113, 119, 131, 142, 140, 146, 148, 142,
+  136, 138, 154, 168, 164, 162, 163, 159, 155, 164, 162, 142, 142, 135, 139, 146,
+  142, 126, 128, 141, 146, 142, 137, 135, 136, 139, 139, 138, 127, 141, 145, 130,
+  125, 138, 140, 131, 131, 133, 136, 134, 131, 133, 136, 141, 132, 129, 131, 134,
+  137, 135, 141, 150, 158, 155, 152, 155, 163, 162, 145, 126, 78, 73, 73, 75,
+  72, 75, 97, 123, 162, 167, 169, 169, 169, 171, 176, 180, 177, 172, 176, 181,
+  175, 174, 172, 159, 155, 160, 154, 145, 139, 140, 129, 88, 56, 39, 36, 44,
+  42, 33, 47, 73, 110, 133, 135, 130, 142, 144, 139, 145, 152, 120, 131, 117,
+  44, 19, 40, 39, 34, 40, 44, 43, 57, 54, 166, 158, 154, 156, 153, 150,
+  148, 149, 146, 141, 127, 155, 149, 139, 141, 105, 77, 101, 147, 150, 154, 155,
+  153, 149, 146, 145, 146, 142, 140, 143, 144, 140, 135, 133, 135, 106, 105, 115,
+  64, 16, 29, 9, 11, 20, 26, 17, 19, 19, 16, 16, 21, 23, 21, 20,
+  20, 20, 19, 18, 17, 15, 15, 16, 17, 17, 15, 16, 16, 18, 23, 24,
+  29, 30, 30, 32, 30, 24, 15, 33, 13, 62, 112, 99, 106, 137, 133, 137,
+  148, 139, 128, 140, 159, 162, 157, 161, 156, 150, 151, 153, 151, 140, 132, 146,
+  135, 127, 126, 127, 127, 137, 147, 136, 135, 132, 131, 130, 131, 132, 133, 137,
+  135, 138, 137, 134, 130, 125, 122, 142, 136, 132, 133, 140, 146, 142, 138, 142,
+  139, 137, 137, 140, 139, 139, 136, 138, 142, 135, 128, 141, 147, 108, 56, 64,
+  74, 45, 53, 63, 75, 84, 93, 141, 163, 166, 157, 160, 166, 172, 178, 172,
+  170, 170, 173, 178, 179, 173, 165, 163, 162, 157, 146, 142, 142, 141, 135, 115,
+  87, 55, 37, 39, 43, 40, 31, 40, 97, 147, 148, 132, 130, 138, 140, 138,
+  143, 152, 119, 105, 39, 12, 48, 44, 37, 44, 54, 38, 77, 157, 169, 149,
+  161, 159, 147, 143, 152, 151, 140, 131, 142, 142, 141, 145, 130, 98, 78, 114,
+  159, 158, 162, 157, 150, 154, 141, 145, 144, 140, 135, 137, 139, 133, 125, 123,
+  111, 106, 111, 72, 21, 26, 40, 28, 38, 58, 18, 20, 19, 16, 16, 20,
+  22, 20, 19, 19, 19, 19, 18, 17, 16, 15, 18, 16, 18, 16, 15, 17,
+  20, 23, 21, 25, 29, 29, 31, 33, 32, 25, 34, 14, 35, 69, 85, 115,
+  138, 117, 111, 104, 103, 127, 154, 158, 163, 181, 139, 137, 137, 141, 145, 145,
+  142, 136, 136, 132, 132, 134, 133, 128, 127, 131, 134, 133, 134, 133, 134, 134,
+  132, 132, 133, 132, 132, 131, 130, 126, 123, 121, 134, 129, 125, 129, 135, 140,
+  138, 136, 142, 142, 141, 144, 147, 145, 143, 139, 138, 135, 130, 118, 111, 98,
+  82, 63, 50, 65, 69, 55, 52, 60, 68, 75, 92, 127, 152, 161, 171, 172,
+  167, 166, 178, 177, 176, 173, 171, 169, 168, 168, 161, 162, 161, 153, 150, 153,
+  150, 147, 139, 140, 128, 94, 54, 31, 36, 45, 26, 42, 73, 112, 143, 154,
+  143, 125, 157, 144, 141, 134, 146, 95, 21, 12, 34, 40, 42, 49, 52, 99,
+  167, 171, 150, 157, 158, 152, 148, 152, 149, 140, 133, 139, 137, 137, 140, 127,
+  96, 74, 33, 108, 138, 144, 142, 145, 161, 154, 141, 142, 141, 137, 140, 141,
+  134, 125, 135, 115, 101, 107, 81, 41, 38, 35, 51, 56, 64, 21, 24, 23,
+  19, 18, 22, 22, 20, 20, 20, 21, 21, 21, 20, 19, 19, 20, 18, 19,
+  18, 17, 20, 24, 28, 22, 25, 27, 27, 31, 35, 35, 30, 34, 30, 27,
+  21, 26, 52, 65, 47, 31, 60, 106, 155, 174, 149, 127, 129, 135, 138, 142,
+  147, 150, 150, 151, 149, 135, 133, 136, 138, 136, 130, 123, 123, 126, 127, 131,
+  134, 134, 131, 126, 124, 125, 125, 125, 123, 122, 119, 118, 119, 123, 124, 122,
+  124, 128, 132, 132, 134, 138, 142, 146, 151, 155, 154, 151, 147, 143, 134, 134,
+  129, 109, 74, 56, 53, 50, 50, 26, 40, 41, 60, 51, 91, 106, 136, 155,
+  163, 176, 180, 178, 180, 179, 180, 179, 175, 170, 170, 174, 179, 165, 165, 167,
+  163, 161, 163, 160, 155, 148, 153, 152, 137, 116, 100, 98, 103, 87, 59, 44,
+  64, 92, 110, 131, 149, 137, 134, 130, 136, 143, 118, 43, 24, 29, 46, 40,
+  51, 83, 132, 178, 173, 153, 153, 153, 155, 154, 151, 145, 141, 138, 137, 136,
+  136, 136, 125, 99, 77, 44, 61, 84, 130, 162, 149, 156, 165, 140, 142, 142,
+  139, 141, 141, 135, 126, 122, 108, 97, 102, 86, 59, 60, 51, 64, 61, 55,
+  22, 25, 24, 20, 19, 21, 21, 17, 19, 19, 20, 21, 21, 21, 20, 20,
+  20, 20, 20, 18, 18, 21, 27, 31, 26, 28, 28, 26, 28, 32, 31, 27,
+  27, 38, 33, 17, 19, 34, 36, 32, 30, 96, 144, 148, 143, 139, 133, 132,
+  145, 150, 156, 157, 155, 151, 149, 147, 140, 136, 135, 132, 132, 130, 130, 130,
+  122, 125, 128, 131, 130, 128, 124, 122, 126, 123, 123, 122, 120, 120, 121, 121,
+  119, 120, 123, 123, 125, 126, 127, 131, 133, 138, 146, 153, 159, 160, 160, 158,
+  154, 140, 135, 138, 129, 102, 79, 70, 53, 71, 58, 31, 46, 50, 88, 77,
+  125, 144, 150, 149, 159, 166, 171, 181, 184, 185, 184, 180, 176, 174, 178, 182,
+  172, 174, 175, 174, 171, 168, 164, 161, 168, 161, 156, 156, 159, 156, 148, 136,
+  138, 118, 103, 100, 93, 87, 101, 125, 135, 147, 144, 145, 131, 118, 50, 33,
+  32, 48, 38, 68, 127, 164, 181, 174, 158, 149, 147, 154, 154, 147, 141, 141,
+  140, 137, 140, 142, 135, 126, 111, 93, 80, 44, 40, 85, 144, 136, 138, 150,
+  142, 144, 143, 139, 139, 139, 135, 128, 123, 121, 113, 105, 74, 46, 50, 43,
+  51, 54, 52, 22, 25, 24, 20, 19, 21, 20, 16, 19, 19, 20, 21, 21,
+  21, 20, 20, 20, 21, 23, 20, 21, 24, 29, 33, 30, 31, 30, 27, 28,
+  32, 29, 25, 33, 37, 30, 30, 47, 47, 36, 34, 60, 124, 153, 128, 120,
+  139, 150, 148, 141, 148, 154, 153, 147, 137, 132, 128, 134, 132, 130, 126, 127,
+  129, 132, 132, 128, 127, 128, 129, 129, 129, 128, 128, 130, 127, 126, 126, 126,
+  127, 128, 129, 123, 123, 127, 125, 125, 125, 127, 130, 133, 138, 144, 148, 151,
+  153, 156, 156, 155, 146, 134, 130, 133, 136, 129, 119, 88, 86, 23, 99, 36,
+  50, 92, 111, 117, 136, 147, 151, 160, 162, 164, 171, 191, 189, 188, 186, 184,
+  181, 177, 175, 179, 180, 182, 184, 183, 179, 175, 173, 169, 169, 167, 163, 158,
+  155, 157, 157, 157, 151, 146, 142, 134, 122, 108, 101, 112, 117, 117, 128, 130,
+  131, 58, 21, 35, 46, 42, 95, 165, 181, 179, 176, 163, 149, 142, 149, 151,
+  144, 139, 141, 137, 133, 144, 148, 134, 127, 123, 111, 69, 61, 60, 50, 99,
+  122, 143, 145, 145, 147, 144, 137, 135, 136, 133, 128, 114, 115, 109, 101, 72,
+  48, 52, 43, 45, 49, 49, 21, 24, 24, 21, 20, 21, 20, 16, 20, 20,
+  21, 21, 21, 20, 19, 20, 22, 23, 24, 25, 25, 25, 28, 31, 31, 32,
+  31, 30, 32, 37, 34, 30, 29, 32, 33, 38, 41, 32, 29, 43, 84, 121,
+  141, 141, 145, 146, 137, 130, 141, 145, 149, 147, 141, 132, 127, 123, 123, 125,
+  128, 127, 129, 131, 131, 126, 127, 124, 123, 123, 123, 124, 126, 127, 125, 125,
+  125, 125, 126, 127, 128, 129, 127, 128, 129, 128, 128, 128, 129, 130, 133, 138,
+  143, 146, 147, 147, 149, 150, 143, 152, 151, 139, 135, 143, 143, 134, 141, 129,
+  152, 239, 63, 43, 105, 104, 132, 146, 153, 157, 166, 167, 169, 178, 181, 182,
+  185, 188, 190, 189, 185, 182, 185, 185, 190, 193, 194, 191, 189, 188, 174, 174,
+  170, 165, 161, 161, 165, 170, 163, 164, 158, 146, 143, 147, 142, 134, 131, 122,
+  122, 128, 134, 139, 84, 47, 41, 55, 64, 126, 183, 180, 176, 178, 168, 153,
+  142, 145, 148, 144, 139, 137, 135, 126, 141, 150, 134, 129, 133, 121, 75, 62,
+  75, 59, 105, 115, 132, 141, 142, 145, 144, 137, 135, 135, 132, 128, 116, 108,
+  97, 97, 78, 54, 52, 36, 24, 26, 27, 21, 24, 25, 22, 22, 23, 22,
+  18, 22, 22, 22, 22, 21, 20, 19, 18, 23, 26, 28, 29, 29, 28, 29,
+  29, 29, 32, 31, 30, 33, 37, 34, 30, 15, 25, 38, 44, 42, 49, 79,
+  108, 136, 143, 143, 145, 155, 154, 147, 149, 143, 142, 141, 139, 137, 132, 130,
+  129, 121, 125, 129, 127, 130, 133, 133, 126, 122, 121, 121, 121, 120, 121, 122,
+  122, 121, 121, 122, 123, 126, 127, 128, 126, 129, 130, 130, 131, 133, 134, 134,
+  133, 135, 142, 150, 154, 154, 152, 153, 153, 143, 155, 160, 151, 143, 142, 136,
+  127, 130, 157, 121, 44, 139, 131, 143, 139, 143, 150, 146, 146, 157, 162, 170,
+  184, 178, 184, 191, 193, 194, 192, 193, 194, 190, 188, 193, 197, 198, 192, 191,
+  194, 200, 189, 176, 172, 172, 172, 165, 158, 154, 167, 173, 167, 156, 154, 153,
+  151, 152, 134, 135, 113, 104, 88, 51, 23, 57, 86, 109, 157, 182, 170, 174,
+  177, 169, 158, 146, 146, 149, 149, 140, 131, 140, 122, 137, 151, 138, 136, 140,
+  122, 86, 42, 62, 72, 133, 116, 109, 120, 133, 139, 143, 139, 137, 136, 132,
+  127, 134, 122, 107, 103, 72, 34, 25, 9, 9, 10, 18, 19, 23, 25, 22,
+  22, 24, 22, 18, 23, 23, 23, 22, 21, 20, 18, 18, 21, 26, 27, 29,
+  29, 28, 27, 28, 27, 30, 28, 27, 29, 32, 28, 24, 41, 32, 30, 34,
+  48, 81, 116, 130, 129, 143, 143, 139, 145, 150, 149, 154, 139, 135, 130, 125,
+  124, 124, 125, 125, 130, 132, 132, 127, 129, 135, 139, 133, 124, 122, 125, 126,
+  125, 125, 123, 123, 126, 127, 128, 130, 133, 134, 134, 132, 131, 130, 130, 134,
+  138, 138, 138, 136, 134, 144, 156, 164, 166, 163, 164, 163, 162, 157, 148, 144,
+  146, 148, 147, 142, 148, 109, 137, 147, 127, 149, 131, 140, 139, 149, 151, 157,
+  172, 177, 184, 197, 194, 201, 207, 202, 193, 186, 188, 193, 192, 189, 190, 195,
+  193, 187, 186, 190, 181, 179, 177, 178, 181, 183, 180, 180, 181, 176, 169, 165,
+  163, 163, 164, 166, 168, 148, 165, 149, 152, 124, 85, 45, 75, 116, 147, 175,
+  175, 161, 171, 174, 170, 161, 152, 149, 154, 155, 143, 129, 147, 122, 134, 152,
+  143, 144, 145, 119, 81, 56, 87, 86, 151, 146, 132, 123, 123, 132, 140, 142,
+  139, 139, 135, 128, 106, 106, 105, 105, 68, 24, 29, 30, 41, 38, 43, 20,
+  20, 22, 21, 21, 20, 20, 19, 19, 21, 23, 22, 19, 18, 18, 18, 19,
+  22, 24, 26, 24, 24, 25, 27, 25, 31, 33, 28, 24, 25, 24, 23, 26,
+  38, 27, 46, 76, 122, 125, 127, 138, 147, 137, 148, 130, 117, 90, 104, 106,
+  115, 118, 119, 122, 130, 136, 137, 127, 129, 133, 134, 136, 135, 137, 137, 123,
+  120, 122, 122, 123, 125, 127, 128, 123, 129, 132, 131, 131, 133, 134, 134, 140,
+  143, 144, 142, 140, 139, 141, 144, 147, 158, 160, 160, 165, 162, 160, 165, 167,
+  162, 154, 150, 146, 142, 139, 137, 136, 135, 135, 137, 141, 142, 141, 138, 149,
+  154, 156, 152, 149, 152, 165, 177, 197, 205, 203, 188, 181, 186, 188, 182, 174,
+  177, 183, 187, 183, 178, 181, 188, 184, 182, 179, 178, 176, 175, 175, 176, 175,
+  185, 187, 178, 176, 184, 187, 183, 173, 168, 171, 171, 160, 148, 126, 97, 120,
+  142, 164, 174, 176, 175, 172, 167, 180, 164, 152, 154, 162, 158, 145, 134, 142,
+  149, 137, 124, 142, 170, 157, 116, 98, 40, 75, 118, 144, 139, 156, 163, 130,
+  116, 129, 143, 137, 135, 135, 122, 118, 108, 106, 107, 50, 51, 46, 38, 49,
+  62, 64, 19, 19, 19, 19, 22, 22, 22, 22, 18, 20, 22, 21, 19, 18,
+  19, 19, 19, 22, 24, 25, 22, 22, 23, 24, 26, 31, 30, 25, 22, 22,
+  21, 21, 46, 42, 45, 90, 103, 118, 117, 130, 118, 140, 151, 108, 77, 47,
+  23, 42, 48, 71, 100, 119, 131, 136, 133, 128, 135, 136, 138, 137, 136, 133,
+  133, 133, 126, 124, 124, 125, 126, 128, 129, 130, 129, 134, 136, 134, 132, 134,
+  134, 134, 142, 145, 147, 147, 147, 145, 148, 148, 146, 154, 156, 156, 162, 159,
+  155, 163, 158, 156, 154, 150, 147, 143, 137, 134, 134, 133, 134, 139, 145, 148,
+  150, 149, 151, 152, 153, 156, 156, 156, 156, 159, 171, 187, 194, 189, 186, 186,
+  184, 175, 177, 175, 178, 184, 186, 182, 180, 181, 182, 181, 181, 180, 181, 181,
+  181, 181, 178, 187, 189, 181, 178, 184, 184, 179, 194, 186, 184, 181, 173, 173,
+  166, 149, 148, 162, 173, 174, 172, 172, 172, 169, 178, 169, 164, 168, 170, 163,
+  149, 138, 131, 143, 150, 148, 146, 146, 133, 118, 96, 50, 91, 128, 150, 143,
+  154, 155, 169, 133, 122, 132, 140, 147, 142, 120, 114, 103, 103, 105, 53, 45,
+  43, 43, 70, 79, 80, 18, 20, 21, 22, 22, 23, 24, 24, 19, 20, 23,
+  23, 21, 21, 22, 23, 19, 22, 24, 24, 23, 23, 23, 25, 27, 29, 28,
+  24, 23, 23, 24, 26, 47, 39, 61, 116, 118, 126, 127, 136, 139, 147, 129,
+  38, 29, 27, 49, 94, 90, 109, 129, 136, 138, 136, 133, 129, 134, 135, 135,
+  134, 130, 127, 127, 125, 129, 127, 128, 128, 130, 131, 133, 134, 132, 137, 139,
+  136, 135, 137, 138, 138, 138, 143, 147, 148, 148, 146, 148, 148, 143, 154, 152,
+  153, 158, 155, 151, 158, 152, 152, 152, 151, 150, 145, 138, 134, 134, 133, 135,
+  138, 146, 152, 157, 159, 160, 155, 152, 155, 160, 163, 159, 155, 157, 173, 185,
+  185, 183, 182, 180, 170, 177, 168, 170, 179, 188, 188, 182, 177, 179, 179, 181,
+  182, 182, 182, 183, 183, 181, 189, 191, 185, 182, 185, 183, 177, 188, 181, 179,
+  174, 168, 175, 180, 171, 168, 175, 180, 178, 174, 172, 170, 168, 172, 169, 170,
+  175, 174, 163, 149, 140, 132, 138, 152, 163, 153, 134, 123, 126, 89, 70, 119,
+  138, 145, 136, 153, 161, 171, 135, 115, 120, 132, 142, 135, 114, 114, 103, 103,
+  99, 49, 35, 37, 42, 53, 61, 61, 20, 22, 22, 22, 22, 23, 23, 23,
+  21, 22, 25, 25, 24, 24, 27, 28, 19, 20, 22, 25, 25, 24, 26, 27,
+  22, 22, 21, 23, 25, 29, 31, 33, 45, 48, 75, 119, 112, 137, 143, 132,
+  139, 138, 83, 23, 33, 31, 53, 77, 114, 126, 135, 133, 131, 134, 139, 143,
+  128, 129, 130, 130, 129, 127, 128, 128, 129, 129, 130, 130, 132, 133, 135, 136,
+  133, 138, 140, 137, 136, 139, 141, 139, 135, 141, 144, 148, 146, 145, 143, 145,
+  145, 155, 152, 152, 156, 152, 150, 156, 153, 155, 155, 154, 152, 147, 142, 136,
+  133, 132, 132, 137, 142, 151, 158, 162, 165, 157, 150, 148, 153, 159, 162, 161,
+  163, 171, 176, 173, 173, 175, 176, 173, 171, 164, 164, 173, 183, 185, 183, 180,
+  177, 178, 181, 181, 182, 182, 182, 182, 184, 190, 193, 190, 189, 190, 186, 180,
+  189, 186, 189, 186, 178, 182, 187, 180, 168, 174, 181, 184, 183, 180, 176, 172,
+  171, 167, 169, 176, 177, 167, 154, 144, 147, 139, 141, 155, 157, 146, 135, 135,
+  98, 85, 124, 130, 142, 141, 152, 152, 131, 118, 115, 120, 126, 127, 121, 110,
+  110, 108, 102, 75, 29, 20, 24, 25, 38, 50, 54, 22, 24, 23, 22, 21,
+  20, 20, 19, 20, 21, 22, 22, 21, 23, 25, 26, 16, 17, 20, 23, 23,
+  24, 28, 29, 24, 21, 20, 24, 29, 31, 33, 37, 53, 57, 84, 126, 117,
+  141, 144, 128, 128, 117, 28, 28, 36, 27, 45, 52, 102, 115, 129, 131, 131,
+  131, 131, 129, 129, 130, 133, 134, 133, 132, 135, 137, 130, 130, 130, 131, 132,
+  134, 135, 136, 137, 141, 142, 137, 135, 138, 139, 137, 136, 141, 144, 147, 144,
+  143, 141, 141, 145, 154, 150, 148, 151, 147, 145, 153, 157, 157, 155, 151, 149,
+  144, 141, 136, 131, 130, 129, 132, 134, 142, 148, 155, 159, 155, 150, 145, 145,
+  150, 153, 157, 165, 168, 166, 164, 165, 168, 171, 172, 171, 165, 163, 167, 173,
+  175, 176, 180, 177, 177, 177, 177, 179, 179, 180, 180, 182, 187, 190, 192, 193,
+  193, 189, 184, 189, 188, 193, 190, 180, 183, 187, 180, 169, 170, 175, 181, 185,
+  185, 182, 181, 175, 166, 163, 170, 176, 172, 161, 151, 151, 146, 143, 147, 153,
+  154, 144, 134, 111, 94, 118, 120, 149, 152, 142, 125, 109, 114, 120, 123, 128,
+  125, 117, 114, 104, 107, 94, 45, 13, 13, 24, 14, 33, 50, 59, 25, 24,
+  23, 22, 20, 19, 17, 17, 18, 19, 19, 18, 18, 19, 22, 21, 15, 16,
+  20, 22, 23, 23, 27, 28, 28, 22, 22, 28, 32, 31, 32, 35, 45, 47,
+  74, 128, 127, 137, 135, 138, 136, 95, 2, 25, 27, 36, 74, 99, 116, 126,
+  134, 135, 134, 131, 127, 122, 132, 133, 135, 133, 131, 131, 133, 133, 131, 131,
+  131, 132, 133, 135, 136, 137, 142, 145, 144, 138, 134, 135, 136, 134, 140, 142,
+  144, 146, 143, 142, 140, 142, 141, 148, 145, 143, 146, 145, 141, 149, 158, 159,
+  154, 151, 147, 142, 139, 135, 132, 131, 130, 128, 129, 131, 136, 143, 149, 154,
+  156, 154, 150, 148, 149, 153, 155, 156, 159, 160, 162, 163, 163, 165, 171, 169,
+  167, 167, 168, 166, 169, 175, 176, 175, 174, 173, 176, 177, 179, 180, 179, 181,
+  185, 189, 192, 192, 189, 185, 184, 180, 182, 178, 170, 176, 183, 177, 171, 165,
+  161, 166, 171, 174, 176, 179, 172, 161, 154, 159, 167, 166, 159, 151, 141, 152,
+  156, 152, 147, 147, 138, 127, 98, 105, 140, 132, 143, 131, 123, 120, 122, 126,
+  121, 119, 130, 128, 119, 113, 106, 106, 87, 35, 22, 24, 35, 23, 30, 48,
+  59, 22, 23, 22, 21, 20, 19, 17, 17, 19, 20, 20, 18, 15, 17, 20,
+  21, 18, 16, 20, 20, 21, 21, 23, 24, 29, 24, 23, 30, 37, 35, 34,
+  36, 39, 60, 79, 117, 119, 134, 132, 144, 130, 63, 29, 44, 53, 67, 84,
+  103, 116, 118, 120, 120, 126, 133, 138, 135, 132, 131, 132, 129, 128, 126, 128,
+  129, 132, 132, 133, 133, 134, 136, 138, 139, 141, 145, 144, 138, 136, 138, 139,
+  138, 138, 140, 141, 142, 139, 140, 140, 142, 135, 144, 141, 140, 145, 145, 143,
+  154, 158, 161, 158, 156, 153, 147, 142, 137, 133, 131, 130, 126, 125, 125, 128,
+  134, 140, 143, 147, 148, 148, 150, 153, 156, 150, 151, 154, 156, 158, 158, 160,
+  161, 169, 166, 168, 170, 170, 166, 168, 172, 173, 171, 171, 170, 172, 175, 180,
+  182, 179, 178, 180, 186, 190, 190, 187, 184, 187, 183, 185, 183, 177, 183, 188,
+  180, 171, 161, 156, 160, 165, 166, 167, 169, 171, 162, 156, 158, 161, 159, 155,
+  152, 145, 153, 157, 154, 145, 140, 131, 124, 92, 112, 152, 135, 133, 114, 118,
+  136, 135, 143, 130, 119, 128, 125, 112, 114, 111, 96, 73, 36, 41, 33, 39,
+  34, 40, 55, 65, 20, 20, 20, 20, 20, 19, 18, 18, 23, 24, 23, 19,
+  18, 19, 23, 24, 19, 18, 21, 20, 19, 18, 20, 22, 27, 21, 22, 33,
+  41, 40, 37, 39, 56, 98, 104, 103, 100, 131, 133, 138, 128, 35, 55, 56,
+  91, 124, 123, 135, 129, 130, 132, 132, 136, 138, 134, 127, 132, 132, 132, 132,
+  129, 130, 131, 133, 134, 134, 134, 135, 136, 138, 139, 140, 136, 140, 141, 138,
+  138, 143, 146, 145, 134, 133, 137, 136, 136, 136, 139, 141, 134, 141, 141, 140,
+  148, 148, 149, 159, 159, 162, 164, 164, 161, 155, 146, 138, 132, 133, 132, 127,
+  125, 124, 126, 131, 127, 128, 127, 129, 136, 145, 155, 160, 160, 154, 149, 148,
+  151, 153, 157, 162, 162, 162, 166, 173, 176, 174, 173, 173, 172, 170, 169, 168,
+  171, 177, 183, 187, 183, 181, 182, 187, 191, 191, 188, 186, 181, 179, 185, 187,
+  181, 184, 182, 169, 172, 164, 162, 171, 176, 172, 167, 165, 176, 171, 168, 168,
+  165, 160, 159, 159, 159, 151, 145, 148, 148, 143, 132, 126, 113, 110, 128, 115,
+  135, 129, 128, 139, 136, 155, 148, 129, 127, 118, 109, 117, 108, 79, 57, 31,
+  47, 24, 26, 31, 43, 54, 59, 18, 24, 25, 23, 21, 23, 22, 18, 22,
+  18, 14, 16, 21, 23, 22, 18, 23, 16, 15, 16, 22, 22, 20, 17, 31,
+  29, 42, 37, 34, 38, 35, 47, 82, 111, 107, 105, 107, 109, 125, 131, 121,
+  54, 67, 99, 105, 116, 117, 127, 126, 128, 133, 137, 139, 138, 136, 132, 134,
+  132, 133, 132, 134, 135, 135, 135, 140, 142, 143, 142, 140, 139, 140, 141, 145,
+  142, 140, 139, 140, 140, 139, 136, 144, 139, 135, 131, 130, 129, 130, 132, 137,
+  140, 144, 143, 142, 143, 148, 157, 161, 167, 164, 162, 137, 154, 140, 135, 130,
+  133, 134, 131, 130, 133, 141, 144, 140, 142, 135, 130, 134, 134, 138, 151, 152,
+  156, 157, 153, 147, 145, 150, 159, 163, 173, 176, 170, 165, 168, 173, 173, 168,
+  170, 171, 170, 171, 173, 176, 180, 181, 182, 185, 188, 191, 191, 188, 185, 189,
+  186, 183, 180, 176, 174, 175, 179, 168, 162, 165, 179, 185, 179, 176, 180, 164,
+  168, 172, 173, 170, 167, 166, 164, 159, 147, 149, 156, 146, 139, 133, 125, 118,
+  105, 129, 128, 129, 143, 138, 146, 154, 156, 147, 131, 121, 119, 116, 108, 97,
+  70, 50, 29, 29, 31, 19, 35, 38, 53, 61, 20, 24, 25, 23, 23, 23,
+  22, 18, 22, 22, 20, 19, 18, 20, 24, 24, 24, 22, 19, 18, 18, 20,
+  22, 22, 36, 32, 43, 35, 35, 41, 37, 47, 98, 122, 113, 109, 112, 110,
+  123, 122, 119, 74, 90, 104, 105, 123, 128, 129, 129, 129, 133, 137, 137, 136,
+  132, 130, 132, 132, 131, 133, 134, 135, 135, 135, 136, 137, 139, 139, 138, 138,
+  140, 142, 142, 140, 138, 138, 139, 139, 138, 136, 143, 139, 135, 132, 131, 130,
+  131, 134, 139, 138, 140, 142, 145, 148, 149, 153, 152, 159, 152, 155, 139, 150,
+  132, 131, 135, 125, 125, 133, 136, 144, 143, 130, 130, 138, 141, 142, 146, 138,
+  128, 131, 143, 147, 151, 150, 147, 146, 148, 152, 162, 173, 177, 172, 169, 171,
+  175, 174, 173, 173, 172, 171, 172, 172, 174, 176, 177, 181, 187, 193, 196, 197,
+  196, 196, 182, 183, 184, 183, 180, 175, 172, 171, 170, 163, 166, 180, 185, 176,
+  166, 163, 174, 176, 177, 173, 167, 161, 158, 155, 156, 149, 154, 159, 146, 137,
+  134, 129, 110, 105, 133, 136, 138, 149, 145, 152, 148, 150, 144, 129, 121, 121,
+  116, 108, 95, 58, 40, 27, 25, 28, 20, 30, 41, 55, 60, 20, 26, 27,
+  22, 22, 25, 22, 19, 23, 25, 25, 22, 17, 18, 22, 28, 21, 22, 21,
+  21, 18, 20, 27, 31, 32, 27, 36, 30, 31, 40, 36, 48, 111, 131, 117,
+  112, 118, 115, 123, 116, 109, 90, 106, 106, 103, 125, 134, 126, 132, 132, 133,
+  135, 135, 134, 130, 129, 132, 133, 134, 135, 134, 135, 136, 137, 134, 136, 138,
+  138, 139, 140, 143, 146, 141, 139, 138, 138, 140, 140, 139, 137, 140, 137, 136,
+  134, 133, 132, 135, 135, 140, 137, 138, 142, 148, 151, 151, 149, 146, 157, 144,
+  147, 143, 142, 126, 125, 127, 119, 131, 134, 123, 133, 151, 149, 142, 148, 145,
+  143, 149, 145, 137, 139, 134, 137, 142, 147, 149, 148, 146, 148, 162, 170, 174,
+  173, 172, 173, 174, 173, 177, 174, 173, 172, 172, 172, 172, 171, 171, 177, 184,
+  187, 185, 182, 181, 181, 181, 181, 180, 178, 174, 171, 168, 165, 169, 163, 167,
+  182, 190, 185, 176, 172, 170, 171, 171, 168, 164, 161, 159, 157, 156, 153, 160,
+  162, 145, 135, 131, 126, 101, 110, 138, 143, 145, 151, 148, 155, 145, 148, 141,
+  127, 119, 120, 113, 102, 91, 41, 34, 32, 24, 28, 25, 31, 54, 65, 64,
+  22, 26, 26, 24, 22, 25, 23, 20, 23, 23, 25, 23, 21, 19, 21, 23,
+  17, 18, 20, 21, 25, 29, 33, 38, 29, 24, 36, 30, 30, 40, 38, 54,
+  112, 130, 115, 115, 125, 127, 130, 120, 107, 100, 108, 110, 108, 127, 137, 127,
+  132, 131, 131, 132, 132, 132, 130, 130, 135, 133, 134, 135, 136, 136, 138, 137,
+  139, 141, 143, 143, 143, 145, 147, 150, 140, 139, 139, 140, 142, 142, 141, 139,
+  136, 135, 134, 133, 133, 133, 136, 136, 141, 142, 142, 146, 148, 149, 148, 145,
+  146, 159, 145, 144, 145, 132, 124, 123, 130, 122, 139, 145, 125, 126, 139, 135,
+  149, 152, 148, 143, 153, 153, 149, 151, 137, 137, 140, 145, 150, 151, 148, 146,
+  160, 166, 171, 173, 174, 173, 173, 173, 179, 176, 174, 172, 173, 174, 172, 171,
+  182, 189, 196, 197, 192, 186, 185, 186, 190, 186, 178, 169, 165, 166, 166, 164,
+  154, 154, 160, 173, 181, 179, 176, 176, 164, 164, 164, 162, 161, 160, 159, 157,
+  160, 155, 159, 160, 144, 135, 127, 117, 98, 119, 140, 144, 147, 146, 145, 153,
+  148, 147, 139, 124, 116, 114, 107, 95, 85, 31, 34, 38, 24, 30, 35, 38,
+  41, 51, 49, 22, 27, 26, 23, 21, 25, 24, 21, 22, 20, 22, 23, 25,
+  22, 18, 14, 20, 18, 19, 25, 34, 37, 35, 31, 30, 29, 41, 32, 28,
+  36, 36, 57, 109, 131, 119, 122, 134, 137, 139, 129, 122, 111, 107, 119, 123,
+  127, 132, 128, 129, 128, 128, 129, 130, 132, 133, 131, 135, 136, 136, 138, 139,
+  138, 141, 139, 144, 146, 148, 148, 147, 146, 147, 148, 138, 137, 137, 138, 140,
+  140, 138, 136, 134, 134, 134, 134, 136, 137, 140, 141, 144, 147, 151, 152, 149,
+  146, 147, 146, 142, 154, 143, 141, 141, 126, 130, 115, 79, 70, 91, 124, 143,
+  151, 149, 131, 137, 149, 153, 152, 161, 159, 148, 145, 146, 143, 141, 143, 148,
+  150, 147, 146, 157, 161, 166, 170, 171, 170, 171, 172, 178, 176, 173, 172, 174,
+  175, 175, 175, 177, 184, 193, 195, 192, 189, 189, 191, 192, 189, 179, 168, 164,
+  166, 164, 158, 157, 164, 178, 189, 190, 184, 179, 179, 170, 168, 166, 163, 160,
+  158, 155, 152, 159, 151, 151, 152, 143, 138, 128, 112, 98, 128, 140, 142, 149,
+  144, 147, 155, 146, 144, 134, 121, 112, 111, 102, 88, 69, 27, 38, 41, 23,
+  28, 38, 48, 58, 71, 70, 23, 27, 25, 22, 23, 25, 24, 21, 23, 19,
+  18, 21, 23, 22, 15, 10, 26, 25, 25, 28, 34, 35, 29, 22, 30, 27,
+  38, 29, 23, 29, 26, 43, 108, 136, 128, 133, 141, 140, 143, 134, 133, 120,
+  104, 122, 131, 122, 126, 125, 127, 126, 128, 129, 131, 133, 134, 135, 135, 136,
+  137, 138, 139, 140, 141, 142, 145, 146, 149, 149, 147, 144, 143, 142, 134, 134,
+  134, 135, 137, 136, 134, 131, 132, 133, 134, 136, 139, 141, 144, 145, 147, 152,
+  156, 154, 148, 145, 148, 149, 136, 145, 138, 135, 137, 127, 140, 95, 12, 17,
+  34, 66, 101, 121, 136, 149, 143, 156, 155, 148, 153, 155, 150, 151, 150, 145,
+  141, 140, 143, 145, 143, 145, 156, 157, 160, 167, 169, 168, 170, 172, 175, 176,
+  176, 174, 174, 174, 177, 179, 175, 179, 184, 184, 181, 178, 177, 178, 185, 187,
+  184, 176, 172, 172, 162, 150, 155, 168, 186, 200, 204, 198, 190, 186, 168, 167,
+  165, 165, 165, 164, 161, 156, 154, 145, 143, 145, 140, 141, 132, 113, 97, 135,
+  139, 141, 153, 146, 151, 155, 138, 138, 131, 118, 109, 105, 91, 75, 50, 26,
+  39, 36, 22, 30, 40, 52, 61, 71, 71, 23, 27, 27, 22, 23, 25, 25,
+  22, 24, 22, 20, 20, 19, 18, 15, 14, 30, 30, 31, 30, 31, 30, 26,
+  22, 27, 19, 27, 21, 23, 30, 22, 31, 102, 136, 136, 138, 142, 137, 140,
+  134, 131, 127, 106, 121, 132, 121, 131, 129, 128, 129, 131, 133, 134, 135, 135,
+  135, 138, 138, 139, 140, 141, 143, 144, 142, 141, 144, 148, 150, 148, 144, 141,
+  139, 136, 135, 135, 137, 137, 136, 133, 130, 136, 137, 139, 142, 146, 148, 151,
+  152, 151, 152, 153, 152, 153, 152, 155, 152, 140, 138, 135, 134, 137, 130, 143,
+  60, 8, 26, 24, 28, 44, 48, 68, 113, 143, 158, 155, 143, 143, 150, 155,
+  162, 152, 149, 145, 143, 144, 145, 146, 147, 156, 155, 157, 165, 168, 167, 170,
+  174, 173, 176, 180, 177, 171, 170, 176, 182, 191, 191, 190, 188, 185, 182, 179,
+  178, 180, 185, 183, 176, 175, 176, 166, 152, 150, 154, 162, 174, 184, 188, 185,
+  179, 163, 162, 162, 164, 167, 166, 162, 157, 153, 146, 144, 142, 135, 137, 131,
+  114, 97, 141, 137, 140, 155, 144, 147, 148, 133, 135, 130, 118, 107, 94, 72,
+  49, 38, 29, 36, 28, 27, 40, 42, 56, 76, 88, 89, 25, 27, 26, 23,
+  24, 27, 27, 24, 25, 25, 25, 20, 16, 15, 17, 23, 26, 29, 29, 28,
+  25, 24, 26, 28, 30, 18, 23, 22, 33, 42, 30, 35, 90, 129, 134, 139,
+  139, 132, 138, 135, 127, 138, 115, 125, 137, 133, 148, 144, 135, 134, 136, 138,
+  138, 138, 137, 135, 138, 138, 139, 140, 142, 141, 142, 142, 140, 145, 151, 154,
+  151, 146, 142, 139, 138, 138, 138, 139, 140, 139, 135, 132, 137, 141, 144, 147,
+  152, 154, 155, 157, 154, 150, 149, 149, 156, 159, 158, 154, 148, 137, 136, 138,
+  138, 136, 144, 32, 7, 30, 21, 24, 50, 41, 37, 74, 121, 144, 154, 148,
+  148, 150, 147, 149, 152, 151, 150, 149, 149, 149, 151, 152, 157, 154, 156, 164,
+  168, 169, 171, 178, 175, 180, 185, 181, 172, 169, 175, 183, 183, 182, 180, 181,
+  182, 182, 181, 180, 184, 186, 181, 172, 173, 179, 174, 161, 181, 170, 159, 160,
+  173, 185, 187, 182, 168, 166, 164, 164, 163, 158, 151, 143, 156, 150, 151, 144,
+  132, 133, 128, 112, 96, 143, 133, 135, 151, 135, 134, 133, 133, 134, 130, 118,
+  102, 82, 52, 23, 33, 33, 35, 22, 34, 51, 46, 58, 69, 82, 86, 26,
+  29, 31, 31, 32, 30, 30, 27, 32, 27, 24, 21, 20, 20, 23, 23, 21,
+  20, 20, 22, 22, 24, 27, 27, 26, 27, 28, 27, 25, 25, 27, 33, 79,
+  129, 132, 125, 130, 129, 138, 142, 137, 136, 124, 122, 136, 144, 147, 156, 144,
+  145, 144, 144, 140, 139, 138, 137, 140, 133, 132, 136, 140, 139, 139, 141, 151,
+  152, 149, 148, 146, 143, 139, 135, 128, 128, 129, 131, 135, 137, 135, 134, 139,
+  143, 146, 149, 151, 152, 152, 153, 163, 158, 152, 148, 147, 149, 150, 149, 151,
+  133, 139, 134, 136, 133, 123, 7, 15, 42, 31, 34, 36, 52, 41, 53, 99,
+  150, 158, 143, 138, 155, 131, 148, 146, 152, 152, 147, 151, 162, 158, 146, 162,
+  160, 157, 155, 161, 172, 180, 184, 188, 188, 184, 180, 175, 176, 180, 183, 183,
+  187, 191, 190, 185, 180, 178, 179, 186, 183, 180, 181, 184, 180, 172, 165, 161,
+  170, 168, 145, 173, 170, 176, 178, 162, 158, 163, 164, 155, 156, 160, 154, 155,
+  141, 147, 144, 134, 137, 134, 108, 101, 131, 127, 116, 132, 132, 121, 131, 130,
+  122, 101, 77, 59, 48, 36, 27, 32, 30, 28, 29, 36, 48, 61, 67, 78,
+  73, 66, 24, 27, 28, 29, 28, 28, 28, 26, 29, 27, 27, 25, 26, 25,
+  26, 26, 17, 17, 17, 19, 21, 24, 26, 27, 28, 29, 30, 29, 26, 24,
+  26, 31, 77, 124, 129, 125, 130, 130, 143, 148, 147, 145, 133, 129, 142, 145,
+  144, 151, 148, 151, 153, 153, 148, 142, 140, 137, 141, 135, 133, 134, 135, 134,
+  131, 135, 148, 149, 149, 148, 144, 141, 138, 134, 135, 135, 138, 137, 133, 133,
+  133, 138, 146, 149, 149, 150, 151, 152, 153, 154, 156, 155, 154, 154, 154, 152,
+  148, 143, 141, 131, 135, 134, 140, 130, 111, 10, 31, 34, 25, 46, 54, 60,
+  42, 45, 77, 153, 161, 150, 145, 149, 131, 144, 145, 151, 155, 152, 159, 167,
+  164, 152, 155, 152, 153, 155, 161, 170, 178, 180, 181, 182, 180, 177, 173, 176,
+  182, 188, 192, 193, 193, 190, 185, 181, 183, 184, 192, 188, 185, 185, 187, 184,
+  177, 168, 160, 165, 156, 142, 166, 174, 177, 178, 164, 158, 160, 159, 150, 152,
+  158, 155, 154, 143, 146, 146, 134, 135, 130, 104, 95, 125, 124, 117, 131, 125,
+  109, 113, 77, 71, 61, 48, 39, 35, 31, 25, 29, 27, 27, 31, 40, 53,
+  69, 77, 82, 77, 71, 24, 25, 23, 23, 23, 21, 22, 21, 21, 20, 22,
+  23, 24, 22, 21, 20, 22, 24, 24, 25, 27, 29, 29, 31, 29, 31, 30,
+  30, 27, 26, 29, 33, 69, 110, 120, 123, 126, 124, 139, 143, 147, 149, 139,
+  135, 146, 146, 142, 146, 148, 152, 157, 158, 153, 144, 138, 133, 134, 129, 130,
+  134, 137, 139, 141, 146, 147, 147, 148, 148, 145, 141, 138, 135, 129, 132, 138,
+  136, 132, 133, 139, 150, 151, 152, 150, 150, 150, 151, 153, 154, 155, 154, 154,
+  154, 154, 152, 148, 143, 137, 135, 139, 140, 149, 130, 95, 17, 39, 26, 25,
+  58, 55, 58, 48, 49, 62, 162, 158, 149, 144, 137, 132, 143, 144, 149, 154,
+  153, 160, 169, 166, 155, 151, 149, 152, 156, 161, 168, 176, 179, 177, 178, 177,
+  174, 172, 176, 184, 193, 198, 196, 192, 187, 182, 180, 184, 186, 191, 187, 185,
+  184, 184, 182, 178, 172, 164, 164, 145, 142, 154, 175, 172, 176, 166, 158, 158,
+  154, 145, 148, 157, 155, 152, 144, 147, 145, 134, 131, 122, 103, 92, 112, 107,
+  95, 100, 91, 74, 74, 57, 54, 51, 39, 36, 35, 34, 30, 28, 27, 28,
+  33, 42, 56, 71, 80, 83, 80, 77, 24, 23, 21, 20, 20, 20, 21, 20,
+  19, 18, 19, 19, 20, 19, 16, 18, 25, 26, 25, 27, 28, 27, 28, 27,
+  30, 30, 32, 31, 30, 31, 32, 38, 59, 96, 111, 121, 123, 121, 135, 136,
+  137, 140, 137, 136, 145, 145, 140, 145, 147, 151, 155, 155, 151, 144, 137, 134,
+  129, 127, 128, 133, 138, 138, 142, 149, 149, 152, 153, 150, 146, 141, 137, 135,
+  128, 132, 134, 134, 135, 138, 147, 155, 148, 150, 150, 151, 151, 152, 152, 152,
+  157, 153, 149, 146, 147, 148, 149, 148, 137, 140, 138, 139, 150, 127, 76, 22,
+  35, 28, 38, 66, 45, 51, 56, 64, 69, 172, 147, 137, 134, 125, 133, 144,
+  143, 145, 148, 148, 156, 163, 164, 157, 155, 151, 153, 156, 161, 166, 174, 182,
+  182, 184, 183, 178, 175, 178, 187, 196, 193, 191, 187, 182, 179, 178, 181, 183,
+  186, 183, 182, 181, 181, 180, 180, 175, 169, 167, 144, 146, 142, 168, 166, 173,
+  166, 158, 158, 155, 145, 148, 156, 153, 148, 143, 144, 142, 135, 129, 118, 104,
+  77, 82, 71, 54, 55, 50, 44, 44, 45, 45, 40, 34, 26, 26, 24, 20,
+  22, 24, 31, 38, 46, 56, 67, 74, 80, 80, 81, 25, 23, 21, 20, 20,
+  18, 20, 21, 24, 21, 20, 16, 16, 16, 16, 19, 17, 20, 21, 24, 24,
+  24, 26, 25, 35, 36, 35, 34, 32, 32, 33, 40, 47, 78, 98, 122, 123,
+  121, 136, 132, 128, 136, 136, 137, 145, 145, 139, 143, 144, 147, 150, 151, 149,
+  144, 141, 141, 136, 133, 133, 134, 135, 133, 133, 139, 153, 156, 154, 148, 141,
+  135, 134, 133, 143, 141, 140, 139, 142, 143, 146, 146, 144, 149, 152, 155, 157,
+  156, 154, 152, 155, 152, 148, 146, 147, 149, 150, 148, 139, 141, 133, 131, 138,
+  120, 58, 18, 27, 32, 46, 68, 45, 57, 59, 56, 84, 168, 136, 129, 130,
+  126, 137, 144, 146, 144, 144, 143, 149, 159, 160, 157, 158, 152, 152, 154, 156,
+  161, 172, 184, 185, 186, 185, 182, 177, 181, 191, 199, 185, 184, 182, 181, 181,
+  180, 179, 178, 180, 179, 180, 180, 181, 181, 181, 180, 169, 166, 149, 152, 136,
+  159, 165, 175, 163, 158, 160, 160, 150, 151, 157, 152, 145, 144, 140, 138, 137,
+  129, 115, 110, 55, 53, 41, 33, 35, 39, 44, 46, 34, 36, 36, 28, 25,
+  24, 25, 22, 19, 24, 36, 46, 55, 62, 69, 72, 78, 81, 84, 23, 22,
+  22, 21, 21, 22, 22, 23, 20, 19, 16, 15, 14, 15, 16, 17, 16, 18,
+  22, 28, 32, 34, 35, 36, 36, 35, 35, 31, 28, 24, 25, 31, 37, 60,
+  81, 112, 116, 117, 135, 127, 129, 138, 137, 140, 146, 143, 137, 138, 145, 147,
+  148, 148, 145, 146, 146, 148, 140, 138, 139, 144, 142, 141, 145, 153, 158, 160,
+  155, 147, 137, 132, 133, 133, 141, 141, 141, 146, 149, 151, 148, 146, 145, 149,
+  154, 158, 159, 158, 154, 152, 147, 148, 150, 152, 154, 152, 147, 142, 143, 142,
+  134, 130, 130, 123, 56, 16, 27, 35, 42, 67, 59, 68, 52, 40, 101, 153,
+  132, 136, 136, 141, 142, 145, 151, 149, 146, 145, 150, 156, 158, 156, 156, 148,
+  146, 150, 151, 156, 170, 186, 184, 184, 183, 182, 182, 186, 193, 198, 183, 183,
+  182, 183, 185, 184, 180, 178, 178, 179, 182, 183, 183, 183, 183, 180, 166, 157,
+  152, 153, 138, 153, 169, 176, 160, 157, 162, 163, 154, 154, 158, 152, 142, 143,
+  139, 134, 138, 128, 116, 118, 45, 40, 36, 32, 35, 39, 41, 41, 33, 37,
+  36, 30, 24, 24, 26, 26, 25, 33, 44, 56, 65, 71, 76, 78, 80, 84,
+  86, 21, 20, 23, 22, 22, 23, 22, 22, 19, 20, 20, 22, 23, 23, 23,
+  21, 19, 20, 25, 32, 36, 38, 39, 37, 28, 28, 27, 25, 23, 19, 22,
+  30, 48, 57, 73, 107, 111, 111, 130, 119, 129, 139, 138, 141, 146, 141, 135,
+  138, 143, 142, 144, 144, 144, 144, 144, 146, 138, 139, 143, 149, 152, 152, 158,
+  168, 161, 163, 157, 147, 137, 134, 137, 141, 140, 145, 152, 158, 160, 160, 157,
+  158, 151, 153, 157, 159, 160, 158, 156, 154, 147, 148, 151, 154, 156, 154, 149,
+  143, 146, 141, 138, 134, 127, 134, 62, 16, 26, 32, 32, 61, 63, 63, 46,
+  52, 124, 144, 139, 147, 137, 149, 146, 152, 155, 150, 149, 150, 154, 155, 154,
+  152, 152, 144, 145, 152, 154, 158, 172, 188, 186, 184, 181, 182, 186, 190, 192,
+  192, 186, 184, 183, 183, 184, 183, 180, 177, 175, 177, 181, 182, 181, 179, 179,
+  176, 168, 150, 155, 149, 145, 149, 170, 167, 159, 155, 161, 163, 155, 155, 159,
+  154, 145, 146, 137, 133, 138, 127, 115, 122, 45, 33, 32, 33, 29, 32, 35,
+  30, 27, 29, 30, 24, 19, 20, 23, 25, 42, 46, 54, 63, 69, 73, 78,
+  80, 81, 85, 86, 20, 21, 23, 25, 26, 26, 25, 25, 26, 29, 34, 38,
+  41, 41, 39, 34, 25, 25, 29, 32, 36, 36, 34, 32, 33, 32, 34, 32,
+  33, 32, 36, 43, 72, 71, 80, 110, 112, 113, 130, 119, 123, 133, 136, 137,
+  143, 141, 133, 138, 137, 139, 142, 142, 141, 141, 139, 140, 139, 140, 142, 147,
+  149, 148, 152, 161, 166, 167, 161, 151, 143, 139, 144, 150, 155, 164, 175, 179,
+  174, 168, 164, 164, 158, 159, 159, 160, 159, 158, 157, 156, 154, 152, 150, 150,
+  152, 153, 154, 151, 141, 134, 136, 134, 122, 138, 64, 9, 20, 30, 28, 56,
+  57, 46, 43, 82, 147, 142, 145, 150, 131, 150, 147, 160, 153, 149, 150, 152,
+  154, 152, 148, 144, 147, 142, 147, 157, 159, 161, 174, 193, 195, 190, 185, 186,
+  190, 191, 189, 186, 189, 185, 181, 180, 181, 180, 178, 175, 173, 175, 180, 180,
+  178, 174, 173, 170, 172, 147, 156, 146, 149, 146, 168, 156, 158, 154, 159, 160,
+  153, 155, 160, 156, 147, 150, 137, 131, 138, 124, 113, 123, 43, 28, 24, 27,
+  24, 28, 39, 36, 30, 35, 39, 37, 35, 41, 49, 53, 59, 60, 64, 66,
+  69, 72, 74, 74, 81, 82, 83, 32, 34, 36, 37, 36, 33, 31, 29, 37,
+  47, 44, 37, 36, 31, 28, 34, 21, 28, 34, 41, 50, 45, 44, 57, 58,
+  54, 55, 57, 64, 68, 71, 73, 91, 90, 92, 100, 107, 111, 114, 118, 124,
+  128, 133, 136, 136, 135, 132, 133, 135, 134, 136, 138, 140, 141, 142, 142, 143,
+  141, 142, 147, 148, 146, 148, 153, 159, 161, 160, 159, 161, 159, 159, 159, 160,
+  161, 166, 168, 172, 175, 174, 174, 167, 165, 162, 159, 160, 162, 166, 168, 163,
+  158, 152, 148, 148, 150, 152, 151, 150, 141, 124, 133, 134, 136, 109, 10, 33,
+  18, 32, 55, 51, 46, 75, 105, 141, 142, 149, 151, 152, 153, 153, 155, 146,
+  151, 157, 156, 152, 148, 145, 144, 150, 149, 152, 156, 161, 166, 170, 173, 193,
+  188, 183, 183, 188, 193, 194, 191, 183, 181, 178, 176, 178, 178, 176, 174, 175,
+  169, 172, 176, 174, 176, 179, 171, 163, 165, 163, 154, 156, 137, 163, 167, 158,
+  158, 157, 155, 157, 159, 155, 147, 146, 141, 142, 137, 139, 108, 129, 128, 49,
+  32, 38, 29, 22, 33, 32, 32, 45, 47, 53, 58, 63, 63, 64, 64, 71,
+  72, 70, 69, 68, 70, 72, 75, 73, 73, 73, 29, 30, 28, 27, 27, 29,
+  31, 32, 26, 37, 42, 40, 39, 32, 29, 32, 39, 44, 47, 60, 79, 80,
+  76, 82, 81, 87, 95, 99, 99, 94, 93, 89, 84, 82, 85, 93, 100, 104,
+  112, 120, 119, 123, 129, 133, 134, 134, 133, 132, 129, 131, 134, 137, 139, 141,
+  143, 143, 140, 138, 140, 145, 146, 144, 144, 149, 154, 156, 158, 158, 156, 155,
+  152, 151, 156, 157, 161, 163, 168, 170, 172, 172, 174, 172, 169, 166, 165, 166,
+  168, 169, 171, 170, 167, 162, 157, 153, 150, 147, 139, 137, 131, 143, 140, 138,
+  117, 37, 22, 29, 45, 43, 30, 49, 105, 148, 146, 146, 151, 153, 152, 153,
+  154, 157, 154, 155, 157, 155, 151, 145, 141, 140, 145, 147, 150, 153, 156, 165,
+  177, 187, 188, 185, 184, 186, 192, 195, 192, 189, 183, 180, 178, 177, 178, 178,
+  176, 174, 176, 169, 173, 176, 173, 174, 176, 168, 168, 166, 160, 151, 156, 142,
+  172, 177, 163, 163, 161, 158, 159, 161, 156, 148, 147, 145, 138, 135, 133, 115,
+  128, 123, 51, 34, 42, 41, 45, 65, 69, 71, 84, 84, 83, 83, 81, 76,
+  76, 74, 75, 75, 76, 74, 75, 77, 80, 80, 79, 77, 76, 34, 35, 32,
+  30, 30, 30, 33, 34, 31, 36, 44, 46, 46, 44, 45, 51, 72, 84, 87,
+  94, 107, 104, 99, 105, 99, 109, 118, 115, 104, 92, 92, 89, 85, 79, 84,
+  89, 93, 97, 107, 118, 114, 118, 125, 130, 132, 134, 134, 134, 129, 129, 131,
+  133, 135, 137, 137, 138, 136, 134, 137, 142, 144, 141, 141, 144, 147, 149, 153,
+  153, 152, 148, 144, 142, 151, 152, 155, 156, 162, 163, 167, 168, 179, 177, 175,
+  173, 171, 170, 170, 170, 167, 170, 172, 169, 160, 151, 145, 141, 141, 139, 141,
+  149, 138, 134, 128, 81, 59, 57, 52, 43, 53, 97, 141, 153, 148, 150, 156,
+  161, 162, 162, 163, 163, 165, 162, 157, 152, 147, 143, 139, 137, 154, 155, 156,
+  152, 151, 159, 174, 185, 181, 182, 184, 190, 195, 194, 190, 186, 180, 178, 178,
+  177, 177, 176, 176, 174, 175, 168, 173, 175, 170, 171, 171, 163, 170, 167, 162,
+  155, 163, 148, 174, 175, 161, 161, 158, 155, 156, 157, 151, 143, 144, 149, 133,
+  134, 124, 124, 129, 120, 57, 35, 42, 47, 58, 79, 82, 85, 83, 84, 83,
+  82, 80, 76, 77, 74, 78, 78, 78, 79, 78, 80, 83, 84, 76, 74, 74,
+  20, 25, 27, 30, 32, 33, 35, 35, 54, 50, 54, 58, 59, 65, 76, 86,
+  101, 118, 119, 114, 108, 99, 96, 108, 97, 101, 105, 98, 87, 84, 89, 89,
+  91, 84, 88, 91, 90, 92, 102, 114, 111, 117, 123, 128, 130, 132, 133, 133,
+  133, 131, 132, 132, 132, 132, 131, 131, 133, 132, 135, 140, 142, 139, 138, 140,
+  142, 143, 145, 145, 145, 144, 142, 140, 149, 149, 149, 152, 155, 160, 165, 166,
+  174, 173, 173, 172, 171, 169, 168, 167, 176, 183, 189, 188, 181, 173, 170, 168,
+  158, 148, 145, 145, 132, 130, 134, 118, 120, 106, 95, 93, 114, 153, 166, 145,
+  147, 152, 160, 168, 172, 172, 171, 170, 168, 162, 153, 148, 145, 143, 139, 136,
+  157, 155, 152, 150, 151, 158, 171, 182, 182, 183, 186, 191, 192, 192, 187, 183,
+  180, 178, 178, 178, 177, 176, 176, 173, 174, 168, 173, 176, 170, 171, 171, 163,
+  169, 169, 168, 165, 172, 150, 166, 159, 158, 158, 156, 153, 153, 154, 149, 140,
+  135, 152, 132, 135, 117, 132, 134, 124, 58, 32, 39, 48, 62, 80, 78, 79,
+  85, 86, 85, 82, 84, 83, 84, 84, 79, 78, 78, 77, 75, 76, 78, 79,
+  68, 69, 71, 48, 51, 54, 59, 68, 75, 81, 85, 70, 58, 65, 72, 69,
+  75, 89, 95, 100, 110, 107, 99, 101, 99, 96, 103, 96, 96, 97, 96, 95,
+  99, 110, 110, 92, 85, 89, 92, 91, 92, 100, 112, 113, 117, 122, 126, 128,
+  130, 131, 132, 132, 130, 131, 131, 131, 130, 129, 129, 136, 134, 136, 141, 142,
+  139, 139, 139, 140, 139, 139, 139, 140, 139, 141, 142, 146, 148, 148, 151, 154,
+  159, 164, 165, 166, 167, 168, 169, 169, 168, 167, 167, 161, 167, 173, 173, 168,
+  164, 165, 166, 165, 151, 148, 143, 133, 134, 136, 138, 147, 147, 157, 163, 163,
+  170, 178, 168, 157, 155, 156, 158, 164, 169, 172, 174, 164, 158, 151, 146, 143,
+  142, 139, 136, 144, 141, 139, 144, 155, 167, 178, 184, 187, 188, 188, 190, 188,
+  187, 182, 180, 179, 178, 176, 176, 178, 177, 173, 171, 173, 167, 172, 176, 171,
+  172, 172, 163, 166, 167, 167, 165, 171, 147, 161, 152, 160, 160, 158, 155, 156,
+  157, 152, 143, 129, 151, 134, 136, 118, 135, 139, 130, 57, 30, 39, 54, 72,
+  91, 85, 84, 95, 94, 91, 85, 85, 81, 81, 80, 81, 81, 79, 78, 75,
+  72, 73, 72, 67, 71, 75, 62, 58, 53, 51, 53, 63, 72, 78, 71, 55,
+  68, 80, 71, 71, 79, 74, 76, 77, 67, 73, 97, 111, 106, 102, 101, 103,
+  104, 105, 108, 109, 112, 106, 87, 81, 84, 89, 91, 91, 97, 106, 112, 117,
+  121, 124, 126, 128, 129, 129, 127, 126, 128, 130, 131, 132, 132, 132, 137, 134,
+  134, 138, 139, 137, 138, 139, 138, 137, 136, 134, 135, 136, 139, 141, 143, 143,
+  146, 148, 154, 156, 159, 163, 162, 163, 165, 166, 167, 168, 168, 168, 172, 175,
+  176, 175, 172, 171, 173, 174, 157, 148, 153, 147, 143, 145, 137, 144, 144, 149,
+  167, 180, 174, 172, 182, 184, 170, 160, 150, 144, 148, 156, 165, 171, 158, 155,
+  152, 149, 145, 143, 141, 139, 143, 137, 134, 140, 154, 168, 175, 177, 190, 190,
+  190, 189, 185, 184, 180, 179, 179, 178, 177, 177, 179, 177, 173, 170, 172, 167,
+  172, 175, 170, 170, 169, 160, 161, 161, 160, 155, 162, 143, 163, 161, 159, 159,
+  156, 153, 153, 154, 148, 139, 129, 146, 135, 134, 126, 135, 142, 131, 63, 36,
+  45, 61, 77, 92, 84, 86, 90, 92, 86, 83, 81, 79, 77, 77, 82, 81,
+  81, 78, 75, 72, 72, 71, 72, 77, 80, 81, 74, 69, 62, 59, 61, 63,
+  65, 66, 46, 59, 74, 61, 60, 69, 57, 56, 61, 59, 65, 89, 101, 98,
+  95, 95, 97, 98, 97, 95, 90, 88, 84, 86, 83, 84, 90, 94, 91, 93,
+  98, 109, 112, 118, 121, 121, 124, 127, 128, 125, 125, 127, 129, 132, 133, 133,
+  133, 137, 133, 132, 135, 135, 134, 136, 139, 137, 134, 134, 132, 133, 134, 135,
+  134, 136, 139, 143, 146, 152, 153, 155, 155, 160, 160, 161, 162, 163, 165, 166,
+  167, 164, 163, 161, 160, 158, 158, 158, 157, 152, 150, 160, 148, 146, 150, 136,
+  150, 146, 142, 151, 163, 169, 177, 181, 171, 167, 158, 150, 144, 148, 153, 158,
+  160, 154, 156, 157, 155, 149, 145, 141, 141, 148, 142, 138, 141, 149, 161, 169,
+  173, 188, 189, 190, 190, 186, 183, 180, 179, 178, 177, 177, 177, 177, 175, 173,
+  169, 172, 166, 172, 174, 167, 165, 162, 152, 152, 155, 157, 153, 159, 141, 164,
+  165, 160, 159, 155, 150, 149, 148, 141, 132, 137, 140, 131, 129, 138, 134, 140,
+  122, 72, 39, 46, 59, 71, 83, 79, 81, 91, 94, 93, 92, 89, 89, 88,
+  88, 81, 80, 79, 76, 73, 70, 70, 71, 75, 79, 81, 69, 70, 71, 70,
+  69, 64, 60, 56, 66, 40, 51, 67, 52, 54, 71, 60, 57, 74, 82, 80,
+  84, 84, 85, 91, 85, 88, 92, 91, 89, 86, 90, 93, 94, 89, 90, 95,
+  96, 92, 90, 91, 106, 109, 113, 116, 119, 123, 127, 128, 130, 129, 130, 131,
+  131, 131, 131, 131, 137, 132, 130, 132, 132, 130, 135, 138, 133, 132, 133, 133,
+  133, 132, 129, 128, 132, 135, 140, 144, 147, 148, 150, 149, 154, 153, 155, 154,
+  157, 158, 160, 161, 166, 164, 162, 161, 161, 161, 160, 156, 156, 157, 166, 145,
+  140, 149, 136, 156, 150, 151, 156, 159, 162, 173, 175, 161, 159, 155, 156, 157,
+  159, 159, 155, 151, 153, 158, 161, 160, 153, 147, 143, 143, 142, 141, 140, 140,
+  147, 158, 171, 181, 182, 185, 190, 189, 188, 185, 180, 179, 178, 177, 179, 177,
+  179, 177, 173, 169, 173, 166, 171, 172, 164, 160, 157, 146, 143, 151, 159, 158,
+  163, 140, 161, 160, 166, 164, 160, 153, 150, 147, 140, 131, 142, 133, 128, 123,
+  145, 131, 138, 113, 70, 38, 46, 60, 75, 93, 92, 99, 96, 97, 98, 96,
+  94, 91, 90, 87, 85, 86, 84, 82, 77, 73, 73, 73, 72, 74, 76, 73,
+  72, 70, 69, 67, 66, 68, 67, 73, 59, 57, 88, 75, 89, 83, 73, 76,
+  76, 76, 79, 84, 90, 93, 94, 97, 99, 97, 93, 93, 100, 102, 99, 101,
+  98, 95, 95, 98, 99, 96, 93, 94, 104, 111, 113, 116, 123, 127, 125, 129,
+  124, 124, 127, 130, 130, 130, 130, 131, 130, 128, 127, 129, 130, 135, 136, 135,
+  132, 131, 130, 131, 131, 131, 131, 135, 136, 139, 142, 143, 144, 144, 143, 150,
+  150, 151, 150, 151, 149, 148, 147, 155, 154, 152, 152, 155, 157, 160, 160, 160,
+  155, 150, 151, 153, 153, 149, 146, 155, 153, 151, 159, 168, 172, 164, 158, 154,
+  153, 153, 156, 161, 163, 162, 160, 155, 154, 151, 149, 146, 144, 142, 141, 151,
+  141, 134, 139, 147, 151, 162, 176, 176, 182, 189, 189, 184, 179, 179, 181, 181,
+  180, 181, 178, 179, 177, 173, 169, 173, 172, 175, 172, 159, 153, 146, 131, 143,
+  151, 148, 147, 159, 163, 159, 160, 165, 156, 151, 146, 143, 140, 140, 139, 133,
+  152, 94, 137, 129, 143, 138, 127, 66, 51, 51, 70, 85, 91, 105, 120, 109,
+  105, 108, 101, 109, 113, 99, 107, 103, 94, 98, 97, 87, 82, 78, 67, 73,
+  72, 76, 63, 64, 66, 68, 69, 71, 70, 69, 68, 67, 68, 76, 65, 73,
+  76, 77, 76, 78, 78, 79, 83, 89, 93, 93, 100, 103, 104, 99, 99, 101,
+  102, 96, 100, 99, 102, 106, 109, 106, 98, 92, 94, 107, 114, 110, 109, 116,
+  127, 135, 133, 131, 130, 132, 134, 134, 131, 130, 130, 129, 127, 126, 126, 129,
+  132, 132, 133, 131, 130, 129, 131, 132, 132, 133, 133, 133, 137, 139, 140, 141,
+  141, 141, 145, 146, 147, 148, 149, 149, 151, 150, 150, 150, 150, 152, 157, 161,
+  165, 165, 162, 157, 153, 154, 157, 157, 154, 150, 156, 153, 152, 157, 165, 167,
+  163, 160, 162, 162, 161, 162, 162, 163, 161, 159, 159, 158, 156, 154, 151, 149,
+  148, 148, 146, 141, 137, 140, 146, 154, 167, 176, 179, 183, 187, 186, 183, 180,
+  180, 182, 184, 182, 181, 180, 179, 177, 173, 169, 170, 166, 169, 166, 156, 154,
+  151, 138, 142, 152, 150, 145, 151, 153, 152, 157, 159, 152, 146, 144, 141, 138,
+  132, 128, 128, 136, 111, 137, 142, 138, 132, 115, 58, 44, 47, 72, 92, 97,
+  104, 110, 106, 102, 119, 116, 114, 119, 113, 118, 117, 105, 99, 93, 81, 83,
+  89, 82, 71, 70, 75, 69, 72, 75, 77, 78, 78, 76, 74, 74, 79, 74,
+  59, 68, 72, 80, 82, 82, 83, 83, 83, 85, 85, 89, 93, 91, 95, 99,
+  100, 102, 105, 104, 99, 98, 98, 102, 106, 109, 107, 101, 96, 96, 104, 110,
+  110, 113, 119, 128, 132, 133, 133, 131, 132, 135, 136, 133, 131, 130, 129, 126,
+  125, 125, 127, 130, 131, 130, 128, 128, 129, 130, 131, 134, 135, 133, 134, 136,
+  138, 139, 140, 140, 140, 140, 141, 143, 145, 148, 149, 152, 152, 151, 151, 151,
+  153, 158, 162, 165, 165, 160, 156, 154, 155, 157, 158, 156, 153, 154, 153, 153,
+  156, 162, 164, 164, 165, 170, 170, 166, 165, 164, 163, 160, 158, 158, 157, 155,
+  152, 150, 148, 146, 146, 143, 147, 145, 142, 147, 159, 172, 177, 182, 184, 186,
+  184, 182, 180, 182, 184, 185, 183, 182, 181, 180, 177, 173, 169, 166, 164, 169,
+  168, 159, 157, 152, 137, 136, 148, 147, 142, 148, 152, 155, 165, 158, 154, 149,
+  148, 145, 141, 133, 125, 131, 122, 126, 133, 148, 133, 124, 112, 45, 33, 37,
+  64, 89, 98, 104, 109, 100, 94, 125, 127, 112, 117, 118, 119, 122, 109, 102,
+  95, 84, 88, 98, 94, 80, 74, 75, 66, 66, 71, 74, 76, 79, 80, 79,
+  79, 83, 70, 41, 76, 81, 86, 77, 83, 85, 87, 88, 86, 85, 88, 93,
+  90, 96, 99, 98, 102, 106, 106, 101, 99, 96, 96, 96, 99, 101, 102, 103,
+  97, 97, 100, 109, 123, 130, 127, 122, 126, 128, 130, 129, 132, 136, 136, 130,
+  130, 129, 128, 125, 125, 126, 128, 128, 124, 122, 125, 124, 128, 131, 133, 134,
+  136, 136, 137, 138, 139, 138, 138, 138, 136, 138, 140, 143, 145, 146, 149, 150,
+  154, 154, 153, 153, 155, 156, 158, 156, 155, 152, 151, 152, 154, 155, 154, 152,
+  153, 154, 155, 155, 158, 161, 164, 168, 173, 173, 169, 166, 164, 162, 160, 158,
+  159, 158, 155, 151, 148, 145, 143, 142, 147, 155, 154, 147, 149, 163, 175, 176,
+  184, 185, 185, 182, 181, 181, 183, 185, 185, 184, 182, 181, 180, 177, 172, 169,
+  166, 166, 173, 174, 165, 160, 149, 130, 141, 150, 147, 143, 152, 158, 161, 168,
+  154, 155, 153, 148, 142, 140, 135, 129, 137, 117, 129, 130, 136, 132, 122, 117,
+  44, 33, 35, 56, 78, 90, 103, 111, 100, 91, 124, 128, 107, 116, 122, 116,
+  119, 111, 112, 108, 97, 99, 102, 95, 86, 78, 76, 49, 48, 52, 56, 62,
+  70, 75, 78, 76, 84, 71, 38, 71, 74, 79, 70, 74, 75, 80, 87, 88,
+  87, 88, 94, 101, 104, 100, 96, 96, 99, 99, 95, 96, 94, 94, 94, 97,
+  99, 101, 103, 95, 95, 99, 107, 118, 124, 126, 127, 127, 129, 131, 130, 133,
+  136, 134, 128, 133, 130, 129, 128, 128, 128, 127, 128, 124, 122, 125, 125, 130,
+  133, 135, 137, 142, 142, 142, 142, 141, 140, 138, 138, 138, 139, 141, 143, 145,
+  145, 148, 148, 156, 156, 155, 154, 155, 155, 154, 152, 152, 150, 150, 150, 152,
+  152, 153, 152, 153, 154, 155, 155, 157, 159, 163, 169, 169, 169, 167, 164, 161,
+  159, 159, 159, 164, 162, 159, 155, 151, 147, 144, 145, 148, 156, 155, 149, 153,
+  167, 177, 176, 185, 185, 183, 181, 181, 181, 183, 185, 185, 183, 181, 180, 179,
+  175, 171, 167, 168, 165, 168, 168, 161, 159, 152, 134, 151, 155, 147, 144, 158,
+  164, 160, 161, 146, 151, 150, 141, 131, 131, 133, 132, 135, 119, 128, 136, 126,
+  137, 120, 110, 43, 38, 43, 59, 71, 77, 85, 95, 107, 89, 116, 119, 103,
+  114, 119, 109, 112, 107, 110, 108, 98, 95, 100, 90, 86, 79, 79, 55, 52,
+  52, 52, 54, 59, 63, 66, 68, 84, 80, 51, 50, 53, 64, 65, 60, 61,
+  68, 83, 91, 88, 87, 90, 89, 90, 89, 84, 85, 90, 93, 89, 91, 93,
+  98, 101, 103, 101, 100, 100, 94, 99, 106, 107, 105, 106, 120, 136, 129, 135,
+  136, 131, 133, 138, 135, 125, 133, 132, 131, 128, 127, 127, 127, 126, 125, 125,
+  127, 128, 131, 134, 137, 139, 142, 142, 142, 142, 141, 139, 138, 137, 141, 142,
+  144, 145, 146, 146, 148, 148, 154, 154, 154, 155, 157, 158, 158, 156, 153, 152,
+  152, 152, 152, 153, 154, 154, 154, 155, 155, 155, 157, 158, 161, 166, 164, 165,
+  163, 160, 157, 156, 158, 160, 161, 159, 157, 154, 150, 147, 144, 145, 146, 149,
+  148, 150, 158, 170, 178, 179, 185, 183, 181, 180, 181, 181, 182, 182, 184, 182,
+  180, 179, 177, 174, 169, 165, 169, 160, 157, 155, 152, 159, 161, 149, 143, 147,
+  142, 145, 164, 172, 165, 163, 149, 154, 150, 137, 128, 131, 135, 134, 123, 121,
+  129, 147, 133, 140, 123, 87, 34, 39, 54, 72, 82, 83, 85, 91, 105, 90,
+  106, 106, 100, 112, 110, 105, 106, 101, 100, 97, 84, 86, 94, 87, 88, 80,
+  81, 71, 68, 66, 64, 62, 64, 64, 65, 73, 83, 79, 64, 37, 46, 59,
+  63, 60, 57, 65, 83, 95, 89, 82, 82, 76, 80, 83, 82, 85, 92, 96,
+  93, 92, 95, 100, 102, 103, 101, 101, 101, 98, 100, 105, 109, 108, 104, 111,
+  121, 123, 131, 133, 131, 134, 140, 138, 128, 133, 131, 130, 129, 128, 127, 127,
+  124, 125, 123, 127, 127, 130, 133, 135, 137, 139, 140, 140, 140, 140, 140, 139,
+  139, 139, 140, 141, 143, 144, 145, 147, 147, 149, 150, 152, 154, 157, 158, 159,
+  157, 154, 154, 154, 153, 153, 152, 153, 154, 156, 155, 155, 155, 158, 159, 160,
+  162, 162, 162, 161, 157, 153, 152, 156, 159, 155, 154, 153, 151, 152, 150, 149,
+  148, 153, 148, 146, 154, 166, 174, 179, 182, 183, 182, 180, 179, 181, 181, 180,
+  180, 183, 181, 179, 177, 175, 172, 167, 163, 164, 156, 154, 155, 156, 166, 170,
+  158, 136, 145, 145, 150, 167, 174, 166, 165, 158, 158, 150, 136, 131, 137, 135,
+  127, 121, 127, 138, 144, 143, 132, 133, 65, 27, 34, 53, 76, 91, 96, 97,
+  98, 100, 92, 101, 98, 101, 110, 103, 106, 104, 100, 102, 97, 87, 89, 100,
+  97, 94, 86, 83, 68, 67, 69, 71, 74, 76, 76, 77, 85, 78, 67, 68,
+  37, 57, 63, 60, 69, 62, 70, 89, 98, 89, 78, 73, 85, 90, 94, 94,
+  96, 100, 100, 95, 98, 97, 97, 95, 95, 97, 102, 106, 105, 96, 97, 111,
+  123, 118, 103, 95, 113, 122, 127, 126, 132, 143, 143, 132, 132, 131, 130, 127,
+  126, 125, 124, 124, 123, 121, 124, 124, 127, 128, 131, 132, 135, 136, 138, 138,
+  139, 140, 140, 140, 133, 134, 136, 139, 140, 142, 144, 145, 147, 148, 149, 151,
+  154, 155, 155, 153, 153, 153, 154, 153, 151, 150, 152, 153, 157, 156, 154, 155,
+  159, 160, 158, 156, 160, 162, 161, 156, 152, 151, 154, 157, 155, 155, 155, 155,
+  157, 157, 157, 159, 167, 153, 149, 161, 174, 177, 179, 183, 182, 180, 179, 179,
+  181, 181, 179, 178, 182, 180, 178, 176, 174, 171, 166, 162, 160, 155, 160, 166,
+  168, 175, 173, 157, 146, 158, 159, 159, 167, 166, 155, 154, 160, 156, 143, 131,
+  131, 137, 129, 113, 125, 131, 144, 134, 150, 121, 143, 51, 33, 35, 47, 67,
+  84, 93, 94, 92, 94, 93, 101, 95, 103, 108, 97, 110, 103, 102, 109, 110,
+  100, 102, 109, 104, 95, 85, 82, 74, 71, 64, 59, 61, 68, 72, 69, 76,
+  71, 72, 87, 72, 51, 63, 65, 72, 84, 87, 88, 94, 88, 81, 86, 88,
+  90, 92, 91, 90, 92, 98, 101, 99, 95, 103, 105, 97, 96, 100, 95, 100,
+  97, 100, 110, 121, 122, 119, 119, 99, 115, 119, 121, 137, 144, 138, 135, 133,
+  135, 140, 140, 138, 136, 136, 138, 131, 129, 130, 127, 127, 127, 132, 136, 133,
+  133, 136, 139, 140, 140, 139, 138, 144, 140, 138, 139, 139, 138, 142, 146, 144,
+  142, 146, 152, 154, 149, 150, 153, 152, 152, 154, 154, 153, 151, 149, 147, 154,
+  155, 155, 155, 157, 156, 155, 155, 153, 154, 154, 154, 155, 157, 160, 163, 164,
+  163, 159, 153, 157, 162, 157, 148, 154, 147, 148, 161, 175, 178, 178, 179, 182,
+  183, 184, 184, 185, 182, 179, 178, 178, 179, 180, 177, 171, 167, 166, 167, 159,
+  165, 170, 176, 159, 156, 164, 135, 155, 156, 156, 160, 167, 172, 169, 164, 154,
+  144, 142, 126, 125, 135, 122, 117, 134, 141, 135, 145, 163, 111, 145, 52, 38,
+  36, 52, 72, 78, 86, 91, 87, 78, 82, 89, 94, 100, 106, 105, 101, 103,
+  103, 102, 104, 105, 104, 103, 99, 90, 86, 84, 80, 78, 71, 63, 60, 60,
+  58, 51, 64, 59, 56, 68, 60, 52, 71, 71, 73, 75, 69, 66, 77, 78,
+  75, 81, 75, 77, 82, 83, 88, 90, 97, 98, 95, 91, 98, 100, 94, 95,
+  100, 96, 103, 102, 99, 98, 108, 120, 123, 122, 118, 122, 112, 104, 112, 118,
+  125, 137, 142, 143, 144, 140, 137, 135, 136, 138, 135, 135, 136, 131, 129, 128,
+  132, 133, 129, 130, 131, 134, 135, 136, 137, 137, 140, 136, 136, 138, 139, 137,
+  141, 145, 147, 145, 148, 153, 155, 151, 152, 156, 151, 151, 153, 153, 152, 150,
+  149, 147, 154, 155, 155, 154, 156, 154, 153, 152, 153, 154, 154, 153, 154, 155,
+  158, 161, 160, 159, 156, 151, 156, 162, 163, 159, 149, 149, 157, 169, 175, 175,
+  176, 180, 180, 181, 182, 182, 183, 180, 178, 176, 177, 175, 173, 171, 170, 168,
+  165, 162, 163, 183, 161, 166, 184, 156, 143, 159, 162, 160, 160, 166, 171, 172,
+  167, 163, 158, 145, 142, 127, 122, 129, 118, 120, 135, 133, 138, 139, 124, 128,
+  123, 39, 38, 38, 56, 72, 77, 80, 86, 82, 76, 80, 85, 86, 90, 96,
+  96, 93, 92, 91, 90, 92, 94, 92, 91, 88, 88, 85, 85, 77, 77, 75,
+  71, 71, 70, 64, 57, 59, 58, 52, 61, 60, 60, 75, 66, 72, 71, 61,
+  59, 71, 74, 72, 77, 77, 77, 82, 85, 92, 94, 98, 96, 94, 90, 95,
+  96, 91, 93, 99, 96, 93, 100, 102, 99, 106, 119, 124, 122, 126, 130, 123,
+  115, 117, 113, 114, 124, 123, 130, 140, 147, 148, 147, 144, 142, 138, 137, 137,
+  133, 130, 128, 130, 131, 128, 126, 126, 127, 129, 132, 133, 134, 135, 132, 133,
+  137, 138, 136, 139, 143, 147, 146, 148, 150, 152, 150, 153, 156, 150, 150, 151,
+  151, 150, 149, 148, 146, 153, 153, 153, 153, 154, 152, 151, 150, 150, 151, 151,
+  149, 150, 150, 155, 157, 152, 154, 156, 155, 156, 159, 162, 159, 145, 153, 166,
+  176, 176, 172, 175, 181, 181, 181, 182, 181, 182, 180, 178, 176, 183, 178, 173,
+  171, 171, 170, 164, 159, 167, 174, 175, 183, 170, 155, 166, 162, 169, 164, 166,
+  175, 178, 171, 163, 163, 161, 145, 142, 127, 119, 122, 115, 126, 144, 146, 145,
+  145, 129, 154, 84, 49, 38, 48, 63, 74, 79, 81, 84, 82, 72, 72, 73,
+  74, 79, 85, 84, 83, 83, 82, 81, 82, 84, 83, 82, 82, 81, 81, 80,
+  71, 75, 77, 76, 77, 81, 78, 73, 69, 74, 70, 77, 77, 74, 76, 49,
+  71, 79, 77, 79, 87, 86, 80, 83, 91, 88, 90, 91, 97, 95, 93, 88,
+  96, 90, 93, 93, 88, 91, 98, 94, 92, 96, 99, 97, 98, 106, 119, 132,
+  132, 137, 134, 134, 135, 121, 113, 121, 115, 118, 124, 130, 135, 136, 138, 139,
+  136, 136, 136, 134, 133, 132, 135, 136, 130, 129, 126, 124, 125, 127, 129, 131,
+  130, 129, 130, 136, 137, 136, 138, 141, 145, 145, 145, 145, 146, 147, 150, 152,
+  148, 148, 148, 148, 148, 147, 146, 146, 149, 150, 150, 150, 152, 151, 151, 150,
+  149, 150, 149, 148, 148, 148, 152, 155, 146, 152, 159, 159, 156, 152, 150, 148,
+  150, 159, 170, 176, 175, 173, 176, 180, 183, 183, 183, 183, 183, 182, 180, 179,
+  183, 180, 175, 171, 167, 164, 160, 157, 158, 178, 193, 184, 151, 159, 188, 161,
+  172, 166, 169, 180, 181, 170, 162, 164, 160, 143, 140, 125, 115, 118, 117, 135,
+  139, 148, 126, 138, 151, 139, 39, 54, 40, 57, 72, 78, 82, 83, 85, 88,
+  79, 78, 78, 77, 81, 89, 90, 89, 95, 95, 94, 95, 98, 99, 99, 100,
+  98, 99, 97, 74, 76, 76, 72, 71, 73, 72, 69, 77, 83, 80, 86, 86,
+  83, 79, 47, 76, 89, 94, 94, 97, 91, 86, 93, 95, 92, 91, 91, 93,
+  90, 85, 79, 91, 84, 86, 87, 85, 90, 97, 93, 102, 95, 90, 88, 82,
+  81, 102, 130, 147, 146, 134, 127, 131, 128, 126, 133, 135, 128, 117, 108, 107,
+  112, 120, 126, 131, 132, 134, 132, 132, 133, 137, 138, 132, 131, 126, 125, 123,
+  124, 126, 127, 128, 126, 128, 134, 136, 134, 137, 140, 142, 144, 144, 142, 143,
+  145, 148, 148, 146, 145, 146, 146, 145, 145, 145, 145, 146, 146, 148, 149, 151,
+  152, 151, 151, 146, 147, 148, 147, 147, 147, 151, 153, 150, 153, 156, 156, 155,
+  151, 151, 151, 160, 164, 168, 170, 173, 176, 178, 179, 182, 182, 182, 181, 182,
+  180, 179, 178, 173, 175, 175, 169, 161, 157, 158, 161, 166, 201, 175, 153, 166,
+  168, 170, 172, 169, 167, 171, 181, 182, 172, 164, 164, 156, 141, 138, 122, 113,
+  120, 124, 143, 146, 143, 124, 141, 150, 117, 69, 51, 38, 62, 75, 76, 84,
+  85, 84, 93, 75, 75, 72, 71, 71, 78, 78, 75, 85, 85, 84, 85, 90,
+  93, 92, 93, 95, 98, 98, 72, 76, 76, 71, 69, 72, 74, 73, 80, 81,
+  74, 81, 84, 85, 88, 62, 81, 95, 96, 92, 92, 87, 89, 100, 91, 90,
+  91, 91, 91, 87, 86, 82, 83, 75, 78, 82, 82, 89, 96, 92, 92, 90,
+  93, 96, 89, 76, 75, 84, 129, 140, 137, 133, 137, 139, 136, 140, 138, 134,
+  129, 126, 122, 120, 117, 117, 121, 123, 125, 125, 125, 125, 128, 131, 132, 129,
+  124, 123, 121, 122, 123, 124, 126, 124, 125, 129, 131, 130, 133, 137, 141, 144,
+  145, 142, 143, 146, 148, 146, 144, 143, 143, 143, 143, 143, 144, 144, 145, 146,
+  147, 148, 151, 151, 151, 151, 145, 145, 147, 146, 146, 147, 151, 154, 160, 153,
+  150, 148, 151, 154, 161, 168, 169, 168, 166, 166, 170, 177, 179, 176, 179, 178,
+  177, 176, 177, 176, 175, 175, 169, 174, 177, 172, 163, 160, 166, 173, 200, 180,
+  147, 157, 174, 167, 169, 166, 167, 170, 175, 179, 179, 174, 168, 164, 152, 142,
+  138, 117, 111, 127, 132, 146, 162, 137, 138, 150, 126, 114, 142, 55, 39, 68,
+  76, 73, 85, 85, 82, 93, 75, 73, 70, 65, 64, 66, 66, 62, 68, 68,
+  66, 69, 71, 74, 75, 75, 76, 80, 82, 71, 74, 77, 75, 76, 79, 81,
+  81, 80, 76, 67, 78, 81, 82, 92, 76, 83, 92, 90, 85, 86, 83, 84,
+  95, 86, 86, 89, 90, 90, 87, 89, 90, 84, 77, 80, 83, 83, 89, 94,
+  88, 82, 92, 98, 98, 100, 93, 67, 41, 73, 112, 137, 142, 149, 150, 140,
+  136, 132, 135, 139, 145, 147, 142, 131, 125, 122, 124, 125, 123, 122, 120, 120,
+  122, 124, 121, 119, 119, 117, 119, 120, 121, 124, 121, 121, 124, 125, 125, 129,
+  133, 137, 142, 144, 141, 141, 145, 145, 141, 143, 142, 141, 141, 141, 141, 143,
+  143, 148, 149, 149, 149, 150, 149, 148, 148, 144, 144, 145, 144, 145, 148, 153,
+  155, 160, 150, 146, 148, 156, 159, 166, 172, 170, 171, 168, 165, 169, 176, 178,
+  174, 177, 177, 175, 174, 175, 174, 173, 173, 172, 174, 175, 171, 165, 163, 167,
+  172, 188, 149, 148, 184, 177, 168, 181, 157, 167, 177, 181, 177, 175, 177, 171,
+  162, 150, 145, 140, 114, 110, 134, 138, 145, 145, 132, 134, 140, 121, 118, 146,
+  67, 49, 77, 78, 70, 87, 87, 80, 94, 91, 92, 90, 87, 87, 88, 87,
+  83, 85, 84, 81, 82, 83, 85, 86, 85, 86, 90, 90, 74, 78, 82, 80,
+  77, 77, 77, 76, 84, 78, 72, 87, 87, 83, 90, 77, 82, 89, 87, 85,
+  90, 86, 80, 85, 79, 83, 87, 87, 86, 84, 88, 91, 94, 86, 87, 89,
+  86, 89, 91, 83, 95, 103, 94, 78, 90, 106, 82, 39, 27, 84, 123, 133,
+  140, 147, 143, 140, 145, 141, 135, 134, 137, 139, 141, 140, 136, 137, 137, 135,
+  129, 127, 125, 125, 118, 117, 115, 117, 117, 119, 119, 120, 126, 121, 119, 122,
+  123, 123, 127, 132, 132, 139, 142, 138, 138, 141, 141, 137, 142, 142, 141, 141,
+  141, 142, 144, 145, 154, 153, 153, 152, 150, 148, 148, 145, 145, 144, 144, 146,
+  145, 148, 154, 157, 153, 147, 146, 156, 163, 163, 162, 162, 168, 172, 172, 167,
+  168, 174, 176, 173, 179, 178, 176, 175, 173, 173, 175, 175, 170, 168, 165, 160,
+  156, 154, 155, 156, 127, 160, 167, 186, 200, 177, 166, 167, 169, 183, 186, 176,
+  173, 179, 174, 160, 150, 148, 142, 112, 109, 138, 142, 142, 135, 150, 134, 142,
+  160, 141, 118, 106, 61, 91, 87, 76, 92, 92, 81, 93, 87, 89, 90, 87,
+  90, 94, 93, 87, 90, 87, 84, 82, 82, 83, 83, 84, 90, 91, 91, 72,
+  74, 76, 78, 77, 76, 76, 79, 78, 78, 78, 80, 80, 80, 80, 82, 74,
+  83, 82, 81, 84, 80, 77, 84, 69, 76, 79, 77, 79, 85, 90, 89, 87,
+  89, 93, 92, 88, 87, 90, 93, 93, 96, 97, 84, 95, 91, 91, 45, 15,
+  39, 73, 109, 133, 142, 142, 138, 145, 145, 143, 143, 144, 145, 143, 140, 132,
+  130, 130, 131, 136, 138, 135, 133, 135, 136, 135, 128, 119, 112, 109, 107, 118,
+  120, 124, 128, 128, 126, 121, 117, 130, 132, 134, 139, 138, 134, 136, 143, 143,
+  147, 145, 141, 142, 148, 151, 151, 148, 149, 152, 153, 152, 148, 145, 140, 146,
+  143, 141, 143, 146, 150, 148, 147, 127, 142, 158, 164, 162, 163, 167, 171, 171,
+  170, 169, 171, 173, 175, 176, 175, 178, 175, 171, 169, 170, 170, 171, 170, 172,
+  168, 161, 155, 153, 150, 144, 137, 160, 154, 173, 184, 172, 176, 178, 153, 170,
+  182, 191, 188, 179, 171, 164, 160, 136, 143, 147, 132, 107, 142, 142, 145, 157,
+  141, 140, 153, 154, 140, 128, 127, 77, 92, 81, 85, 88, 76, 83, 82, 89,
+  88, 94, 93, 83, 84, 83, 72, 83, 79, 77, 78, 79, 78, 75, 78, 83,
+  89, 87, 77, 78, 79, 77, 74, 73, 75, 77, 78, 77, 78, 77, 76, 76,
+  78, 79, 78, 86, 85, 83, 87, 84, 80, 87, 81, 84, 82, 74, 70, 73,
+  75, 74, 77, 80, 84, 84, 83, 83, 88, 90, 91, 90, 93, 89, 99, 88,
+  95, 63, 21, 28, 39, 52, 73, 102, 136, 158, 158, 154, 148, 142, 141, 143,
+  141, 137, 140, 138, 136, 137, 141, 144, 145, 145, 139, 139, 136, 132, 129, 127,
+  127, 128, 124, 121, 117, 116, 117, 122, 125, 127, 120, 122, 127, 132, 134, 135,
+  139, 148, 147, 151, 149, 145, 146, 150, 152, 150, 157, 157, 155, 152, 148, 146,
+  145, 145, 141, 142, 144, 147, 151, 148, 141, 137, 148, 156, 164, 167, 168, 167,
+  168, 170, 175, 174, 175, 177, 179, 179, 176, 173, 177, 174, 171, 169, 169, 169,
+  168, 167, 157, 161, 162, 156, 149, 149, 158, 164, 155, 171, 181, 182, 183, 178,
+  173, 171, 190, 195, 195, 186, 177, 173, 170, 167, 154, 149, 138, 120, 102, 146,
+  154, 160, 146, 141, 147, 162, 165, 152, 137, 129, 103, 84, 92, 76, 93, 81,
+  82, 80, 81, 77, 81, 83, 80, 87, 87, 75, 85, 83, 76, 71, 67, 67,
+  73, 82, 78, 86, 88, 77, 78, 78, 77, 75, 74, 78, 79, 82, 80, 79,
+  77, 76, 76, 79, 80, 79, 86, 84, 82, 87, 84, 81, 87, 82, 84, 80,
+  74, 71, 74, 78, 79, 86, 88, 90, 90, 92, 93, 95, 96, 93, 87, 93,
+  95, 105, 90, 101, 79, 16, 21, 26, 26, 33, 54, 89, 115, 129, 137, 147,
+  151, 156, 157, 152, 143, 145, 144, 143, 141, 139, 141, 146, 149, 142, 142, 142,
+  143, 142, 141, 138, 136, 132, 127, 118, 114, 116, 121, 124, 127, 122, 118, 121,
+  125, 127, 127, 129, 138, 146, 149, 149, 145, 145, 148, 148, 144, 151, 153, 153,
+  151, 147, 146, 147, 149, 148, 144, 138, 135, 137, 141, 146, 149, 163, 164, 165,
+  168, 172, 173, 173, 170, 176, 177, 179, 181, 182, 180, 175, 171, 176, 174, 171,
+  169, 169, 169, 167, 165, 159, 159, 157, 151, 146, 146, 155, 162, 160, 190, 189,
+  179, 190, 180, 169, 187, 192, 193, 189, 181, 175, 173, 169, 164, 151, 146, 140,
+  130, 116, 155, 149, 146, 138, 141, 149, 159, 163, 156, 140, 128, 127, 74, 92,
+  68, 92, 82, 79, 77, 86, 78, 80, 79, 75, 80, 81, 70, 67, 78, 91,
+  94, 92, 85, 80, 82, 87, 94, 97, 67, 70, 75, 77, 78, 79, 82, 84,
+  85, 83, 82, 79, 79, 80, 85, 86, 81, 87, 84, 82, 88, 86, 82, 88,
+  82, 83, 83, 82, 82, 85, 89, 92, 97, 98, 98, 98, 99, 99, 99, 100,
+  95, 94, 98, 96, 107, 96, 103, 70, 9, 22, 34, 34, 31, 32, 42, 52,
+  129, 136, 138, 134, 137, 151, 160, 162, 151, 150, 150, 147, 142, 138, 141, 144,
+  146, 145, 148, 152, 153, 148, 138, 130, 139, 136, 133, 129, 129, 127, 125, 121,
+  124, 121, 120, 121, 122, 123, 127, 135, 153, 158, 159, 156, 156, 159, 157, 153,
+  149, 154, 157, 156, 150, 145, 144, 144, 144, 138, 133, 131, 134, 144, 156, 164,
+  164, 164, 166, 166, 170, 173, 176, 177, 177, 175, 176, 179, 180, 179, 175, 172,
+  175, 172, 170, 168, 168, 167, 165, 163, 168, 155, 144, 144, 150, 152, 151, 149,
+  175, 193, 190, 178, 181, 177, 175, 188, 179, 181, 181, 178, 178, 177, 168, 159,
+  145, 144, 145, 140, 123, 151, 137, 131, 160, 164, 165, 163, 164, 165, 157, 142,
+  135, 85, 78, 76, 89, 78, 80, 73, 86, 80, 81, 77, 71, 76, 81, 72,
+  86, 88, 87, 82, 82, 89, 94, 99, 101, 102, 102, 57, 62, 70, 75, 77,
+  77, 79, 80, 80, 78, 78, 77, 77, 80, 85, 87, 84, 89, 84, 82, 89,
+  88, 84, 89, 86, 87, 88, 89, 87, 84, 84, 86, 90, 89, 89, 90, 90,
+  91, 92, 92, 93, 100, 99, 86, 101, 99, 95, 42, 14, 20, 26, 30, 30,
+  31, 34, 39, 45, 80, 118, 141, 150, 155, 150, 139, 155, 158, 160, 157, 152,
+  149, 149, 148, 149, 148, 148, 147, 148, 146, 139, 133, 144, 144, 143, 142, 141,
+  138, 132, 126, 122, 116, 115, 120, 124, 127, 133, 139, 140, 145, 148, 147, 148,
+  150, 149, 145, 158, 159, 157, 152, 145, 140, 139, 139, 129, 134, 143, 149, 153,
+  157, 157, 159, 163, 167, 168, 169, 170, 172, 178, 182, 177, 174, 173, 175, 177,
+  179, 178, 177, 172, 170, 168, 167, 166, 164, 161, 159, 158, 147, 142, 149, 160,
+  162, 162, 163, 197, 188, 191, 185, 170, 177, 189, 181, 180, 181, 180, 179, 181,
+  182, 174, 165, 156, 150, 143, 129, 105, 138, 139, 149, 162, 168, 165, 158, 156,
+  160, 155, 141, 131, 114, 65, 97, 89, 76, 85, 75, 73, 75, 82, 83, 79,
+  89, 98, 97, 107, 108, 103, 100, 104, 110, 108, 105, 108, 107, 103, 56, 61,
+  68, 71, 71, 70, 71, 71, 71, 70, 71, 71, 72, 75, 79, 81, 79, 83,
+  77, 75, 83, 82, 78, 83, 79, 80, 83, 86, 85, 80, 79, 81, 84, 83,
+  83, 86, 89, 91, 94, 93, 88, 98, 96, 78, 93, 94, 85, 22, 18, 20,
+  22, 27, 32, 36, 37, 36, 31, 44, 54, 60, 81, 117, 148, 157, 150, 151,
+  156, 159, 159, 156, 155, 155, 154, 147, 142, 139, 140, 141, 144, 145, 146, 144,
+  142, 142, 143, 143, 142, 140, 125, 117, 114, 115, 120, 118, 123, 127, 140, 144,
+  147, 146, 147, 150, 150, 146, 146, 142, 136, 132, 133, 138, 144, 150, 141, 145,
+  152, 156, 157, 161, 162, 164, 168, 171, 175, 174, 172, 172, 176, 179, 177, 174,
+  173, 174, 177, 179, 180, 179, 169, 167, 165, 164, 163, 161, 158, 155, 144, 145,
+  151, 156, 155, 152, 162, 177, 207, 186, 191, 189, 171, 184, 198, 178, 190, 188,
+  182, 176, 176, 178, 175, 169, 157, 151, 144, 129, 102, 135, 145, 163, 149, 157,
+  159, 158, 158, 158, 149, 135, 129, 139, 61, 105, 95, 84, 91, 81, 76, 76,
+  86, 90, 89, 98, 108, 103, 63, 76, 89, 99, 108, 110, 93, 72, 114, 108,
+  101, 65, 66, 69, 69, 68, 67, 70, 71, 71, 70, 72, 72, 73, 74, 77,
+  78, 76, 79, 72, 70, 79, 79, 74, 78, 74, 73, 76, 82, 82, 79, 80,
+  86, 84, 82, 82, 85, 90, 93, 93, 92, 82, 88, 89, 77, 89, 85, 79,
+  25, 16, 22, 27, 32, 35, 35, 31, 28, 41, 43, 38, 38, 63, 105, 130,
+  129, 144, 143, 146, 150, 155, 156, 156, 153, 151, 149, 146, 141, 140, 143, 148,
+  152, 148, 147, 145, 146, 148, 147, 147, 146, 135, 127, 121, 119, 121, 116, 117,
+  118, 112, 117, 118, 116, 117, 120, 120, 117, 131, 128, 126, 131, 140, 150, 156,
+  157, 158, 157, 157, 155, 154, 160, 168, 176, 171, 173, 174, 174, 176, 176, 175,
+  172, 175, 172, 173, 174, 177, 177, 175, 173, 166, 165, 163, 162, 161, 159, 155,
+  151, 151, 152, 158, 160, 152, 146, 162, 182, 198, 193, 191, 187, 186, 192, 193,
+  185, 190, 190, 185, 178, 175, 175, 172, 167, 150, 148, 148, 138, 112, 139, 143,
+  158, 159, 165, 170, 173, 174, 168, 159, 150, 133, 145, 69, 87, 103, 94, 87,
+  87, 88, 82, 87, 92, 95, 100, 100, 89, 95, 101, 102, 101, 112, 125, 129,
+  122, 120, 112, 105, 72, 72, 72, 70, 68, 70, 75, 79, 76, 76, 78, 78,
+  78, 78, 80, 80, 82, 84, 77, 75, 84, 84, 80, 84, 83, 79, 79, 83,
+  81, 77, 79, 86, 81, 78, 77, 78, 83, 84, 83, 81, 82, 82, 86, 81,
+  92, 80, 81, 41, 19, 22, 26, 28, 29, 32, 33, 35, 39, 35, 31, 40,
+  83, 137, 162, 158, 148, 142, 142, 145, 151, 155, 156, 153, 148, 150, 154, 154,
+  151, 145, 145, 146, 150, 151, 153, 153, 156, 152, 147, 141, 143, 134, 131, 132,
+  135, 132, 130, 132, 135, 138, 137, 134, 134, 136, 136, 133, 136, 135, 139, 149,
+  160, 164, 159, 154, 153, 158, 163, 165, 166, 165, 169, 171, 171, 169, 168, 172,
+  179, 180, 175, 167, 171, 169, 171, 174, 175, 173, 169, 165, 165, 163, 162, 161,
+  160, 157, 153, 149, 164, 155, 153, 158, 161, 161, 173, 189, 180, 198, 189, 182,
+  199, 195, 182, 190, 184, 190, 192, 189, 184, 180, 172, 165, 157, 150, 146, 135,
+  109, 137, 140, 155, 160, 160, 163, 166, 165, 158, 154, 149, 136, 137, 78, 65,
+  106, 101, 81, 89, 90, 79, 79, 87, 95, 102, 93, 74, 95, 107, 109, 103,
+  107, 116, 116, 109, 121, 112, 108, 64, 67, 67, 63, 61, 66, 71, 71, 71,
+  74, 80, 82, 82, 81, 83, 83, 85, 88, 80, 75, 81, 82, 82, 90, 84,
+  85, 83, 77, 76, 78, 79, 76, 77, 76, 75, 76, 79, 80, 80, 79, 76,
+  90, 94, 84, 84, 91, 79, 56, 18, 21, 28, 32, 28, 23, 29, 41, 39,
+  38, 37, 47, 88, 141, 167, 164, 163, 162, 161, 157, 152, 147, 146, 146, 148,
+  148, 149, 150, 150, 150, 152, 154, 157, 157, 156, 153, 155, 153, 154, 152, 150,
+  141, 133, 128, 133, 134, 135, 134, 140, 140, 140, 141, 142, 142, 143, 143, 145,
+  145, 147, 150, 153, 157, 160, 164, 160, 161, 161, 161, 164, 166, 168, 170, 171,
+  171, 172, 172, 172, 173, 174, 175, 172, 170, 171, 173, 174, 173, 170, 167, 166,
+  166, 162, 156, 150, 148, 152, 156, 155, 158, 161, 159, 164, 175, 185, 188, 190,
+  178, 180, 187, 191, 195, 192, 177, 191, 185, 179, 178, 180, 179, 172, 167, 168,
+  156, 146, 134, 112, 145, 145, 155, 164, 163, 163, 167, 166, 159, 157, 154, 136,
+  124, 90, 62, 90, 85, 92, 87, 86, 81, 78, 79, 86, 89, 88, 88, 108,
+  103, 98, 104, 118, 121, 109, 96, 135, 163, 122, 60, 63, 64, 60, 59, 64,
+  69, 69, 67, 71, 77, 79, 79, 79, 84, 86, 94, 97, 90, 84, 86, 81,
+  75, 79, 79, 81, 81, 77, 77, 80, 81, 78, 83, 82, 80, 81, 83, 84,
+  84, 83, 81, 90, 93, 87, 90, 97, 92, 78, 26, 25, 23, 25, 26, 34,
+  52, 70, 81, 85, 83, 84, 108, 146, 167, 164, 172, 170, 171, 169, 166, 163,
+  163, 161, 157, 162, 165, 162, 158, 156, 160, 164, 168, 167, 167, 166, 168, 169,
+  171, 170, 166, 162, 155, 145, 139, 138, 140, 142, 134, 136, 140, 143, 145, 144,
+  143, 141, 145, 146, 149, 153, 157, 160, 163, 167, 169, 169, 167, 166, 167, 168,
+  168, 169, 172, 172, 172, 172, 175, 173, 176, 174, 170, 170, 171, 173, 175, 175,
+  173, 171, 163, 161, 159, 155, 152, 151, 153, 156, 159, 160, 162, 164, 174, 185,
+  191, 189, 191, 195, 206, 204, 187, 183, 192, 194, 187, 185, 183, 180, 176, 173,
+  171, 170, 160, 161, 160, 142, 106, 130, 139, 161, 164, 164, 163, 168, 168, 163,
+  157, 153, 133, 119, 87, 61, 94, 93, 94, 84, 76, 75, 77, 83, 93, 98,
+  101, 105, 94, 93, 93, 98, 107, 110, 108, 104, 90, 116, 117, 57, 61, 62,
+  59, 58, 63, 68, 68, 64, 69, 75, 74, 72, 72, 79, 84, 77, 84, 82,
+  81, 86, 81, 73, 77, 75, 78, 80, 78, 80, 83, 84, 81, 86, 84, 82,
+  82, 85, 86, 85, 84, 83, 83, 82, 82, 88, 92, 90, 89, 60, 57, 52,
+  54, 61, 76, 97, 112, 117, 126, 127, 121, 128, 146, 161, 160, 172, 173, 176,
+  177, 176, 172, 171, 171, 168, 173, 178, 176, 167, 161, 164, 170, 172, 171, 173,
+  171, 175, 176, 179, 180, 176, 174, 169, 156, 145, 139, 139, 142, 139, 140, 142,
+  144, 146, 148, 148, 149, 145, 147, 149, 153, 156, 158, 160, 160, 167, 167, 165,
+  163, 162, 162, 163, 164, 166, 166, 167, 168, 170, 168, 170, 168, 169, 168, 167,
+  168, 169, 170, 168, 167, 161, 159, 156, 155, 156, 157, 158, 157, 159, 162, 164,
+  171, 185, 196, 196, 190, 201, 196, 200, 199, 190, 189, 194, 190, 180, 182, 182,
+  177, 170, 165, 166, 168, 161, 155, 149, 136, 109, 136, 137, 148, 163, 163, 165,
+  168, 169, 163, 157, 154, 141, 121, 86, 56, 93, 99, 99, 93, 95, 92, 93,
+  93, 92, 90, 90, 90, 99, 102, 102, 101, 99, 101, 102, 104, 96, 101, 125,
+  60, 64, 66, 62, 60, 64, 68, 67, 66, 70, 73, 70, 65, 64, 71, 77,
+  64, 73, 73, 75, 83, 81, 76, 80, 76, 80, 82, 82, 83, 87, 86, 83,
+  86, 84, 81, 80, 83, 84, 84, 83, 85, 80, 77, 80, 84, 83, 83, 88,
+  95, 97, 97, 102, 109, 117, 126, 134, 132, 142, 145, 139, 139, 152, 161, 163,
+  170, 174, 176, 178, 178, 176, 175, 172, 172, 177, 181, 178, 172, 168, 168, 170,
+  174, 173, 171, 171, 172, 175, 178, 179, 174, 173, 170, 164, 155, 146, 142, 142,
+  146, 143, 140, 137, 138, 142, 147, 150, 145, 147, 148, 150, 151, 152, 152, 151,
+  160, 160, 159, 159, 159, 160, 162, 163, 163, 163, 165, 165, 166, 165, 165, 165,
+  170, 168, 166, 165, 165, 166, 165, 163, 164, 160, 158, 158, 161, 163, 162, 159,
+  158, 164, 171, 178, 190, 198, 197, 191, 200, 188, 187, 189, 190, 195, 197, 188,
+  183, 184, 183, 177, 171, 167, 167, 169, 161, 151, 145, 136, 115, 145, 142, 150,
+  162, 161, 162, 169, 169, 163, 157, 151, 149, 126, 93, 52, 86, 102, 104, 104,
+  88, 90, 95, 96, 95, 96, 96, 100, 105, 108, 108, 106, 102, 100, 101, 103,
+  112, 95, 106, 67, 71, 72, 67, 65, 67, 70, 68, 69, 71, 74, 70, 66,
+  66, 73, 79, 79, 85, 82, 80, 86, 82, 76, 81, 81, 85, 87, 86, 86,
+  89, 88, 84, 87, 84, 81, 80, 80, 82, 84, 83, 88, 82, 82, 86, 87,
+  83, 84, 92, 108, 114, 120, 123, 128, 131, 131, 129, 139, 146, 149, 146, 148,
+  160, 167, 168, 175, 178, 182, 184, 183, 179, 178, 177, 177, 175, 176, 177, 177,
+  174, 170, 167, 179, 178, 176, 174, 174, 174, 175, 177, 172, 170, 170, 172, 172,
+  167, 159, 154, 147, 145, 142, 139, 138, 138, 140, 141, 145, 145, 147, 148, 149,
+  149, 150, 150, 159, 158, 157, 157, 157, 159, 161, 162, 161, 159, 162, 161, 163,
+  161, 163, 163, 167, 166, 164, 164, 166, 167, 167, 166, 164, 161, 158, 159, 162,
+  164, 162, 160, 160, 171, 184, 189, 192, 196, 198, 197, 193, 191, 199, 198, 187,
+  190, 200, 201, 192, 190, 185, 180, 177, 175, 172, 172, 154, 159, 165, 150, 114,
+  138, 146, 168, 163, 161, 159, 166, 167, 162, 156, 149, 145, 126, 105, 56, 82,
+  99, 97, 103, 88, 91, 96, 97, 97, 98, 101, 102, 100, 101, 103, 105, 107,
+  108, 105, 103, 102, 98, 89, 69, 74, 75, 71, 69, 70, 73, 71, 72, 73,
+  75, 74, 75, 77, 84, 87, 86, 91, 86, 83, 88, 85, 80, 85, 86, 89,
+  90, 87, 87, 90, 90, 86, 89, 85, 82, 81, 82, 84, 87, 87, 84, 82,
+  84, 87, 88, 87, 90, 97, 112, 122, 129, 129, 132, 135, 138, 137, 145, 149,
+  151, 149, 151, 159, 164, 164, 174, 179, 182, 183, 182, 180, 178, 178, 179, 176,
+  172, 175, 179, 179, 173, 170, 178, 179, 175, 174, 173, 172, 172, 169, 168, 167,
+  167, 172, 177, 177, 170, 163, 158, 157, 158, 157, 154, 149, 144, 140, 141, 141,
+  141, 142, 143, 145, 147, 148, 156, 155, 153, 152, 152, 152, 154, 153, 152, 152,
+  151, 151, 151, 150, 154, 154, 155, 155, 156, 159, 163, 165, 166, 165, 163, 161,
+  159, 159, 160, 162, 163, 165, 170, 183, 195, 196, 194, 196, 199, 200, 201, 192,
+  194, 195, 191, 195, 199, 192, 192, 188, 182, 178, 175, 173, 170, 169, 160, 160,
+  161, 147, 114, 139, 143, 160, 166, 161, 158, 163, 168, 163, 156, 149, 135, 120,
+  112, 61, 83, 98, 86, 92, 99, 97, 98, 98, 97, 97, 97, 98, 105, 103,
+  103, 105, 110, 109, 103, 99, 92, 112, 102, 66, 71, 74, 71, 70, 73, 76,
+  74, 75, 74, 75, 77, 81, 85, 88, 88, 81, 87, 84, 83, 90, 88, 83,
+  88, 87, 89, 89, 86, 87, 91, 91, 89, 89, 83, 80, 79, 83, 86, 89,
+  90, 82, 84, 85, 83, 85, 89, 92, 97, 116, 129, 139, 138, 140, 145, 152,
+  153, 150, 154, 158, 156, 153, 155, 155, 158, 171, 177, 179, 180, 179, 178, 179,
+  181, 179, 177, 174, 174, 175, 175, 174, 172, 174, 176, 176, 175, 174, 170, 168,
+  166, 168, 168, 169, 171, 171, 172, 171, 170, 175, 175, 173, 171, 167, 163, 159,
+  157, 152, 150, 147, 145, 145, 146, 148, 149, 148, 147, 146, 145, 146, 147, 149,
+  148, 147, 145, 143, 142, 143, 143, 147, 149, 153, 154, 155, 158, 162, 163, 162,
+  161, 162, 162, 162, 161, 162, 165, 169, 175, 182, 192, 198, 197, 195, 196, 198,
+  197, 205, 190, 187, 191, 195, 200, 198, 182, 188, 187, 184, 177, 170, 166, 167,
+  170, 166, 157, 150, 140, 117, 146, 144, 152, 170, 164, 160, 163, 168, 164, 159,
+  152, 139, 121, 112, 58, 83, 103, 86, 92, 86, 82, 82, 87, 94, 102, 104,
+  105, 106, 105, 102, 101, 101, 100, 96, 94, 89, 109, 104, 59, 65, 70, 68,
+  69, 73, 75, 74, 79, 75, 72, 74, 79, 83, 81, 80, 82, 89, 89, 86,
+  93, 86, 81, 83, 86, 86, 87, 82, 86, 89, 93, 89, 85, 82, 78, 78,
+  80, 85, 87, 88, 86, 92, 90, 84, 83, 92, 97, 102, 111, 131, 143, 143,
+  144, 148, 154, 155, 154, 164, 169, 168, 161, 156, 157, 160, 172, 176, 180, 180,
+  180, 181, 183, 186, 176, 178, 176, 173, 170, 169, 170, 172, 174, 175, 176, 177,
+  176, 173, 170, 167, 173, 175, 175, 172, 166, 167, 172, 177, 187, 181, 172, 164,
+  161, 162, 166, 170, 173, 169, 163, 157, 154, 153, 153, 153, 147, 147, 148, 149,
+  151, 154, 156, 157, 155, 153, 150, 147, 148, 149, 154, 157, 165, 165, 168, 167,
+  170, 167, 165, 160, 166, 165, 168, 165, 167, 169, 179, 186, 189, 194, 195, 193,
+  193, 196, 195, 190, 191, 193, 202, 202, 187, 185, 196, 198, 190, 193, 193, 184,
+  172, 167, 171, 179, 157, 162, 165, 150, 115, 141, 150, 173, 171, 166, 161, 165,
+  168, 168, 161, 157, 154, 125, 110, 52, 79, 108, 93, 102, 99, 93, 86, 85,
+  87, 89, 87, 83, 93, 91, 91, 90, 92, 93, 96, 97, 102, 104, 99, 66,
+  66, 68, 66, 64, 67, 71, 74, 79, 78, 76, 75, 74, 76, 78, 79, 82,
+  81, 83, 80, 82, 81, 84, 82, 92, 84, 81, 79, 85, 85, 85, 80, 80,
+  82, 80, 80, 83, 88, 83, 76, 80, 88, 93, 76, 79, 91, 89, 108, 127,
+  137, 144, 148, 149, 151, 155, 158, 167, 167, 169, 171, 169, 167, 162, 158, 163,
+  167, 173, 175, 176, 177, 178, 180, 173, 175, 179, 184, 188, 187, 181, 173, 176,
+  173, 170, 167, 166, 166, 168, 168, 162, 167, 173, 174, 171, 168, 166, 166, 168,
+  173, 177, 168, 159, 160, 167, 175, 177, 180, 183, 182, 177, 171, 166, 163, 166,
+  165, 163, 160, 158, 156, 154, 154, 153, 154, 156, 160, 166, 170, 177, 180, 185,
+  180, 179, 177, 176, 166, 162, 159, 168, 170, 177, 177, 180, 179, 183, 186, 190,
+  196, 200, 198, 196, 196, 194, 190, 185, 192, 192, 188, 190, 199, 198, 189, 195,
+  193, 186, 178, 177, 180, 180, 177, 164, 162, 160, 147, 128, 134, 146, 147, 167,
+  166, 164, 163, 166, 165, 165, 162, 149, 132, 122, 69, 74, 90, 101, 92, 94,
+  92, 89, 85, 83, 83, 83, 83, 87, 86, 91, 92, 97, 96, 99, 99, 91,
+  95, 100, 75, 73, 74, 72, 71, 70, 73, 75, 73, 72, 71, 71, 71, 73,
+  76, 78, 77, 77, 78, 76, 79, 78, 81, 79, 77, 73, 73, 72, 76, 75,
+  73, 70, 81, 80, 74, 66, 67, 74, 78, 77, 81, 75, 81, 81, 90, 92,
+  83, 105, 130, 140, 147, 150, 151, 152, 156, 159, 158, 159, 162, 166, 167, 164,
+  159, 154, 158, 161, 166, 170, 174, 175, 174, 173, 173, 174, 176, 180, 184, 184,
+  181, 175, 180, 176, 173, 171, 169, 169, 170, 170, 169, 168, 166, 162, 160, 162,
+  167, 171, 168, 171, 174, 169, 167, 170, 176, 177, 183, 182, 180, 176, 172, 171,
+  171, 173, 175, 174, 172, 171, 172, 174, 177, 179, 179, 178, 178, 178, 179, 181,
+  183, 185, 189, 184, 183, 185, 185, 181, 179, 179, 180, 182, 184, 184, 183, 184,
+  188, 191, 194, 199, 200, 196, 194, 195, 195, 193, 195, 200, 198, 191, 191, 197,
+  196, 187, 191, 191, 186, 179, 177, 179, 176, 171, 162, 158, 154, 139, 121, 128,
+  143, 147, 163, 162, 163, 163, 167, 168, 165, 162, 153, 140, 125, 79, 79, 98,
+  102, 96, 95, 94, 94, 92, 90, 88, 85, 84, 87, 87, 86, 86, 87, 89,
+  91, 92, 92, 93, 97, 71, 73, 74, 72, 72, 70, 71, 72, 75, 75, 74,
+  74, 75, 76, 78, 80, 73, 73, 74, 74, 76, 76, 79, 79, 80, 79, 81,
+  80, 79, 75, 71, 68, 73, 73, 68, 60, 58, 65, 70, 72, 69, 64, 77,
+  80, 79, 70, 69, 107, 133, 143, 150, 153, 153, 154, 157, 159, 157, 159, 164,
+  169, 171, 169, 164, 159, 150, 151, 156, 165, 174, 179, 179, 177, 175, 175, 175,
+  177, 181, 183, 183, 180, 178, 175, 174, 172, 170, 169, 167, 167, 171, 168, 164,
+  159, 157, 159, 165, 169, 165, 166, 169, 169, 172, 177, 179, 175, 180, 179, 178,
+  174, 172, 172, 176, 179, 182, 180, 179, 179, 181, 186, 191, 195, 192, 190, 188,
+  186, 184, 184, 184, 184, 187, 182, 180, 184, 186, 185, 186, 188, 191, 191, 190,
+  188, 186, 187, 190, 193, 197, 200, 199, 194, 191, 194, 195, 194, 198, 201, 198,
+  190, 191, 196, 195, 189, 188, 189, 186, 181, 179, 179, 174, 168, 166, 159, 153,
+  138, 120, 128, 147, 154, 159, 158, 159, 161, 165, 166, 165, 162, 151, 144, 125,
+  89, 76, 103, 99, 97, 97, 98, 99, 99, 97, 93, 89, 87, 91, 89, 86,
+  84, 83, 85, 87, 89, 90, 91, 91, 65, 66, 70, 71, 72, 71, 72, 73,
+  78, 77, 76, 74, 73, 73, 74, 73, 72, 73, 73, 74, 76, 78, 80, 81,
+  76, 78, 78, 76, 70, 65, 61, 60, 70, 76, 79, 73, 69, 71, 70, 70,
+  74, 69, 76, 71, 73, 72, 72, 106, 133, 144, 150, 154, 154, 154, 156, 158,
+  162, 163, 166, 171, 175, 175, 172, 169, 157, 155, 155, 162, 172, 180, 181, 179,
+  177, 176, 175, 176, 178, 182, 185, 184, 175, 175, 175, 174, 172, 170, 167, 165,
+  168, 168, 168, 166, 164, 161, 160, 159, 158, 161, 166, 166, 170, 174, 176, 172,
+  175, 177, 181, 181, 179, 176, 176, 176, 183, 183, 182, 182, 183, 186, 190, 192,
+  189, 188, 186, 185, 184, 185, 186, 187, 188, 182, 179, 181, 182, 182, 184, 187,
+  192, 192, 191, 190, 189, 189, 189, 190, 195, 198, 198, 192, 190, 192, 193, 191,
+  191, 192, 189, 185, 187, 194, 195, 192, 187, 187, 185, 180, 179, 181, 177, 171,
+  167, 159, 153, 141, 124, 130, 148, 155, 156, 156, 158, 161, 166, 167, 165, 161,
+  154, 149, 127, 96, 71, 106, 98, 99, 98, 99, 100, 100, 99, 96, 93, 90,
+  94, 92, 90, 88, 87, 87, 89, 90, 88, 86, 84, 69, 73, 77, 79, 78,
+  77, 78, 78, 75, 75, 75, 73, 72, 72, 74, 71, 75, 76, 76, 78, 80,
+  82, 84, 85, 82, 83, 83, 80, 76, 72, 71, 72, 83, 92, 96, 92, 88,
+  85, 82, 79, 74, 73, 76, 70, 83, 95, 86, 102, 131, 140, 147, 151, 151,
+  151, 152, 154, 160, 160, 161, 164, 168, 170, 170, 169, 172, 165, 159, 159, 165,
+  170, 171, 170, 173, 172, 172, 171, 173, 176, 180, 183, 179, 179, 180, 179, 178,
+  175, 172, 170, 168, 168, 169, 168, 166, 161, 155, 151, 148, 156, 163, 163, 164,
+  168, 173, 174, 176, 178, 181, 181, 180, 178, 177, 177, 181, 182, 183, 185, 186,
+  186, 186, 186, 186, 186, 185, 185, 186, 188, 190, 191, 192, 185, 181, 183, 184,
+  184, 186, 189, 188, 189, 191, 193, 193, 192, 190, 188, 189, 194, 195, 191, 189,
+  190, 189, 187, 187, 186, 184, 182, 185, 191, 193, 191, 184, 184, 180, 175, 176,
+  179, 178, 174, 162, 154, 152, 143, 126, 128, 144, 150, 155, 156, 158, 161, 166,
+  167, 164, 161, 158, 156, 132, 98, 70, 104, 97, 102, 95, 94, 94, 94, 93,
+  92, 91, 91, 89, 90, 90, 90, 90, 89, 88, 88, 88, 86, 83, 75, 78,
+  81, 81, 79, 77, 78, 78, 76, 77, 78, 81, 82, 85, 85, 84, 82, 81,
+  83, 82, 86, 86, 90, 90, 94, 92, 94, 92, 95, 93, 95, 97, 94, 100,
+  98, 92, 90, 90, 89, 85, 38, 61, 83, 70, 70, 80, 79, 102, 128, 138,
+  146, 150, 151, 150, 151, 153, 161, 161, 161, 164, 167, 169, 168, 167, 167, 162,
+  157, 156, 161, 167, 172, 173, 168, 169, 170, 170, 169, 171, 174, 177, 177, 177,
+  178, 178, 177, 175, 172, 171, 173, 169, 165, 162, 161, 159, 157, 156, 143, 151,
+  157, 157, 158, 165, 173, 177, 181, 180, 177, 176, 175, 176, 180, 183, 179, 181,
+  184, 187, 188, 188, 187, 186, 185, 184, 183, 183, 183, 185, 187, 188, 188, 182,
+  179, 181, 184, 184, 187, 190, 188, 189, 192, 195, 197, 195, 191, 187, 185, 190,
+  192, 189, 188, 189, 188, 186, 190, 188, 185, 184, 185, 187, 187, 186, 181, 180,
+  177, 172, 172, 176, 176, 172, 163, 155, 154, 149, 131, 130, 143, 149, 155, 157,
+  158, 161, 166, 167, 165, 162, 154, 151, 132, 92, 67, 92, 89, 93, 93, 93,
+  93, 94, 95, 95, 95, 96, 92, 93, 94, 95, 95, 94, 93, 90, 89, 88,
+  86, 77, 79, 81, 81, 77, 75, 75, 78, 80, 82, 85, 87, 90, 93, 94,
+  94, 90, 90, 91, 91, 94, 94, 97, 97, 91, 89, 91, 93, 98, 97, 94,
+  90, 99, 102, 96, 90, 87, 89, 87, 82, 33, 50, 71, 64, 59, 61, 67,
+  103, 126, 136, 145, 150, 151, 151, 152, 154, 160, 162, 165, 169, 171, 170, 166,
+  162, 159, 158, 158, 159, 162, 167, 172, 175, 167, 170, 173, 173, 171, 170, 171,
+  173, 174, 174, 174, 174, 173, 173, 172, 171, 176, 171, 165, 163, 164, 166, 166,
+  165, 148, 150, 149, 147, 149, 158, 164, 165, 174, 174, 174, 173, 174, 177, 180,
+  185, 177, 179, 180, 182, 184, 184, 184, 184, 183, 182, 181, 180, 180, 181, 182,
+  183, 182, 177, 175, 178, 181, 181, 182, 186, 190, 190, 190, 193, 195, 194, 190,
+  186, 186, 190, 190, 186, 185, 188, 190, 190, 191, 188, 186, 185, 185, 183, 181,
+  180, 182, 183, 180, 176, 176, 177, 174, 168, 167, 157, 156, 151, 133, 130, 143,
+  150, 159, 157, 158, 159, 163, 165, 165, 164, 149, 145, 137, 88, 71, 80, 83,
+  81, 86, 86, 90, 93, 95, 95, 94, 93, 95, 95, 94, 94, 93, 93, 93,
+  93, 87, 87, 87, 75, 77, 80, 81, 81, 79, 80, 82, 80, 80, 83, 86,
+  88, 89, 90, 92, 98, 98, 100, 99, 102, 102, 105, 104, 105, 101, 104, 106,
+  111, 107, 101, 93, 104, 104, 101, 97, 95, 94, 88, 79, 83, 56, 46, 50,
+  75, 84, 74, 96, 124, 136, 145, 151, 152, 152, 154, 155, 156, 159, 165, 170,
+  172, 168, 160, 154, 167, 168, 168, 166, 164, 162, 163, 164, 169, 173, 177, 178,
+  175, 173, 173, 173, 176, 176, 176, 176, 176, 176, 176, 176, 174, 172, 170, 171,
+  174, 175, 173, 171, 157, 152, 143, 138, 141, 151, 153, 150, 160, 165, 173, 178,
+  180, 178, 180, 179, 177, 176, 175, 175, 175, 176, 177, 178, 185, 184, 183, 182,
+  182, 183, 185, 186, 185, 180, 177, 180, 181, 180, 180, 183, 192, 190, 188, 188,
+  190, 190, 187, 184, 188, 190, 189, 184, 183, 189, 193, 194, 188, 185, 183, 184,
+  184, 181, 178, 177, 186, 188, 187, 183, 182, 181, 174, 166, 165, 153, 151, 146,
+  127, 124, 138, 146, 161, 159, 159, 159, 163, 165, 166, 165, 152, 147, 149, 92,
+  81, 82, 87, 79, 71, 76, 82, 87, 90, 89, 86, 84, 95, 93, 90, 87,
+  85, 86, 88, 87, 82, 84, 86, 80, 82, 83, 83, 82, 80, 76, 74, 89,
+  86, 75, 91, 85, 93, 90, 103, 103, 96, 89, 89, 96, 99, 98, 93, 105,
+  112, 116, 108, 103, 104, 108, 107, 109, 105, 103, 100, 96, 91, 86, 84, 90,
+  89, 84, 76, 70, 59, 64, 90, 122, 135, 139, 144, 152, 148, 144, 151, 153,
+  158, 164, 167, 166, 163, 159, 158, 163, 164, 164, 163, 161, 161, 163, 165, 164,
+  169, 175, 180, 181, 177, 172, 168, 169, 170, 172, 176, 178, 176, 171, 167, 167,
+  174, 179, 176, 167, 161, 161, 164, 167, 162, 147, 143, 146, 141, 138, 147, 152,
+  160, 171, 178, 177, 169, 169, 170, 170, 172, 178, 184, 180, 171, 170, 175, 185,
+  180, 175, 175, 180, 184, 185, 185, 186, 181, 177, 177, 181, 186, 188, 188, 192,
+  193, 192, 190, 187, 185, 186, 188, 190, 190, 189, 188, 188, 187, 186, 186, 188,
+  187, 187, 188, 187, 184, 178, 174, 181, 177, 175, 178, 179, 175, 171, 172, 164,
+  161, 156, 148, 133, 126, 131, 141, 155, 154, 156, 158, 162, 164, 164, 162, 144,
+  141, 144, 71, 98, 83, 76, 87, 77, 76, 77, 81, 83, 83, 81, 78, 81,
+  78, 75, 74, 75, 79, 83, 87, 79, 79, 81, 82, 82, 80, 80, 78, 76,
+  72, 71, 73, 81, 75, 84, 76, 88, 81, 86, 112, 111, 104, 94, 88, 86,
+  92, 96, 89, 93, 96, 94, 98, 103, 105, 100, 93, 94, 103, 110, 107, 95,
+  87, 87, 67, 83, 90, 89, 95, 95, 93, 103, 120, 134, 138, 142, 149, 146,
+  143, 150, 153, 157, 163, 165, 165, 162, 160, 160, 162, 164, 165, 165, 164, 164,
+  165, 167, 161, 164, 169, 173, 176, 176, 175, 174, 175, 171, 166, 165, 167, 170,
+  173, 174, 171, 165, 162, 166, 174, 175, 168, 160, 157, 165, 164, 154, 143, 127,
+  122, 130, 141, 156, 161, 156, 164, 185, 185, 169, 172, 175, 180, 182, 175, 171,
+  178, 190, 177, 177, 178, 178, 179, 181, 184, 186, 193, 188, 181, 179, 180, 183,
+  184, 185, 186, 187, 188, 187, 186, 186, 188, 189, 190, 190, 189, 188, 188, 187,
+  186, 186, 189, 188, 187, 185, 183, 178, 171, 166, 173, 169, 169, 173, 174, 171,
+  167, 168, 168, 163, 156, 145, 132, 127, 135, 147, 154, 155, 159, 162, 165, 165,
+  162, 158, 147, 145, 132, 81, 102, 86, 77, 82, 78, 77, 76, 78, 80, 80,
+  79, 77, 80, 81, 82, 82, 80, 78, 76, 73, 77, 78, 80, 81, 80, 78,
+  77, 76, 76, 75, 75, 71, 96, 99, 95, 71, 83, 84, 95, 86, 90, 92,
+  90, 94, 96, 105, 108, 115, 112, 110, 106, 110, 109, 105, 93, 103, 94, 96,
+  101, 93, 81, 78, 86, 84, 97, 94, 83, 89, 94, 90, 91, 120, 135, 140,
+  142, 148, 146, 143, 150, 152, 156, 160, 163, 163, 162, 162, 162, 162, 164, 167,
+  168, 167, 166, 166, 167, 163, 164, 165, 167, 169, 172, 174, 176, 177, 172, 165,
+  161, 162, 166, 169, 171, 163, 167, 171, 171, 169, 168, 170, 173, 168, 165, 159,
+  155, 153, 144, 129, 117, 123, 127, 142, 159, 165, 168, 179, 193, 180, 172, 167,
+  169, 172, 171, 169, 169, 171, 176, 181, 182, 180, 181, 186, 190, 195, 190, 183,
+  179, 179, 181, 184, 185, 185, 187, 188, 188, 187, 186, 188, 190, 190, 190, 189,
+  188, 188, 187, 186, 186, 192, 191, 189, 187, 184, 179, 173, 169, 172, 170, 171,
+  176, 178, 175, 171, 171, 175, 168, 157, 144, 129, 126, 136, 150, 151, 154, 161,
+  164, 167, 164, 160, 156, 150, 149, 115, 98, 107, 89, 82, 81, 78, 74, 71,
+  71, 74, 76, 77, 78, 75, 77, 79, 81, 82, 82, 81, 80, 78, 80, 80,
+  75, 76, 74, 72, 72, 75, 76, 77, 75, 86, 80, 83, 67, 79, 78, 88,
+  96, 93, 90, 98, 110, 113, 102, 90, 98, 99, 101, 107, 114, 119, 118, 113,
+  120, 105, 100, 104, 98, 81, 76, 82, 78, 85, 81, 75, 78, 81, 78, 86,
+  119, 137, 141, 141, 147, 147, 145, 152, 152, 155, 158, 160, 161, 162, 164, 165,
+  163, 166, 169, 170, 168, 166, 165, 165, 170, 169, 168, 167, 167, 168, 168, 169,
+  173, 172, 170, 169, 168, 166, 162, 160, 160, 168, 174, 170, 160, 156, 162, 170,
+  170, 159, 151, 147, 148, 150, 137, 116, 110, 108, 122, 146, 156, 158, 166, 181,
+  185, 179, 177, 179, 181, 179, 175, 171, 173, 176, 180, 181, 183, 186, 191, 195,
+  191, 187, 181, 178, 178, 182, 187, 190, 190, 192, 193, 192, 189, 187, 188, 188,
+  189, 189, 189, 188, 188, 187, 187, 187, 187, 186, 186, 186, 186, 184, 180, 177,
+  177, 174, 175, 180, 182, 178, 174, 174, 178, 171, 159, 145, 129, 124, 133, 147,
+  153, 157, 163, 165, 166, 163, 160, 156, 151, 148, 99, 112, 108, 96, 91, 87,
+  79, 73, 70, 69, 72, 76, 79, 81, 78, 77, 75, 74, 75, 79, 82, 85,
+  79, 81, 84, 66, 65, 61, 58, 58, 60, 61, 63, 80, 64, 52, 82, 90,
+  97, 80, 81, 104, 102, 100, 108, 118, 120, 109, 98, 96, 98, 103, 109, 114,
+  117, 119, 119, 115, 105, 110, 124, 122, 100, 80, 72, 73, 76, 81, 89, 84,
+  63, 51, 64, 111, 133, 138, 136, 141, 144, 144, 151, 151, 154, 157, 159, 160,
+  161, 164, 166, 164, 166, 169, 169, 166, 163, 161, 161, 172, 172, 171, 170, 169,
+  166, 164, 163, 169, 169, 170, 172, 172, 169, 164, 160, 168, 162, 157, 157, 162,
+  162, 157, 151, 156, 158, 164, 148, 123, 120, 117, 98, 103, 122, 124, 112, 133,
+  174, 182, 160, 167, 174, 182, 180, 173, 172, 178, 185, 176, 174, 174, 177, 184,
+  190, 193, 194, 188, 185, 181, 178, 178, 181, 186, 190, 190, 192, 193, 193, 190,
+  189, 188, 189, 189, 189, 188, 188, 188, 188, 187, 187, 181, 180, 180, 181, 182,
+  181, 179, 176, 176, 173, 173, 177, 177, 173, 168, 168, 172, 166, 157, 145, 130,
+  124, 132, 144, 155, 158, 163, 164, 163, 161, 158, 157, 148, 144, 96, 120, 109,
+  105, 100, 96, 84, 78, 73, 70, 71, 73, 75, 75, 83, 81, 77, 74, 71,
+  71, 72, 75, 79, 81, 82, 57, 55, 53, 47, 46, 46, 46, 47, 59, 57,
+  65, 104, 103, 98, 83, 98, 95, 101, 106, 104, 105, 106, 115, 120, 118, 114,
+  116, 116, 117, 111, 114, 116, 113, 106, 107, 110, 107, 92, 74, 60, 85, 79,
+  79, 85, 77, 49, 42, 63, 104, 128, 134, 131, 136, 141, 143, 150, 152, 155,
+  159, 161, 161, 162, 164, 166, 165, 167, 169, 168, 165, 163, 162, 162, 168, 169,
+  171, 172, 171, 169, 167, 165, 169, 167, 166, 166, 169, 171, 172, 172, 165, 166,
+  166, 167, 166, 166, 165, 164, 167, 164, 170, 154, 125, 112, 89, 46, 59, 81,
+  87, 78, 82, 115, 149, 163, 176, 171, 165, 164, 171, 177, 175, 168, 175, 172,
+  171, 176, 185, 191, 193, 192, 192, 190, 187, 182, 179, 179, 182, 185, 183, 186,
+  189, 190, 190, 189, 190, 191, 188, 188, 188, 188, 188, 188, 188, 188, 186, 184,
+  182, 182, 182, 180, 177, 175, 178, 173, 172, 174, 175, 171, 167, 168, 164, 160,
+  154, 145, 131, 126, 133, 144, 154, 158, 163, 163, 162, 159, 158, 158, 144, 136,
+  108, 124, 110, 113, 106, 104, 95, 88, 82, 78, 75, 73, 71, 69, 79, 82,
+  85, 87, 87, 84, 81, 80, 80, 81, 80, 58, 58, 57, 52, 53, 53, 53,
+  54, 45, 61, 77, 104, 88, 85, 79, 99, 104, 109, 111, 102, 94, 91, 101,
+  108, 97, 90, 92, 98, 109, 110, 116, 120, 114, 112, 108, 97, 87, 82, 76,
+  68, 73, 67, 63, 69, 77, 71, 76, 98, 101, 127, 134, 130, 135, 142, 146,
+  153, 154, 157, 161, 163, 163, 163, 164, 165, 165, 167, 168, 167, 166, 165, 166,
+  168, 167, 168, 169, 170, 171, 170, 169, 168, 171, 168, 165, 164, 167, 170, 172,
+  173, 163, 174, 184, 182, 172, 167, 173, 181, 182, 165, 165, 158, 140, 130, 87,
+  12, 23, 19, 30, 44, 36, 33, 71, 122, 169, 168, 169, 173, 181, 185, 176,
+  163, 171, 174, 179, 185, 190, 193, 193, 193, 196, 196, 193, 188, 182, 179, 180,
+  182, 182, 185, 189, 191, 191, 190, 190, 191, 188, 188, 188, 188, 188, 188, 188,
+  188, 191, 189, 186, 184, 183, 181, 177, 175, 180, 175, 172, 175, 176, 174, 172,
+  174, 166, 162, 155, 145, 130, 124, 131, 143, 147, 155, 163, 164, 163, 159, 157,
+  156, 139, 128, 128, 128, 113, 117, 107, 106, 98, 93, 89, 85, 82, 78, 73,
+  69, 71, 75, 82, 88, 92, 93, 92, 93, 83, 84, 82, 66, 66, 68, 68,
+  69, 73, 74, 76, 85, 84, 75, 92, 95, 105, 89, 84, 88, 91, 91, 95,
+  101, 104, 107, 108, 98, 83, 79, 87, 98, 101, 100, 100, 91, 108, 117, 109,
+  100, 100, 97, 90, 77, 82, 81, 83, 93, 92, 85, 91, 100, 127, 137, 130,
+  138, 144, 151, 155, 154, 156, 162, 163, 165, 164, 164, 165, 164, 164, 167, 167,
+  167, 168, 171, 174, 169, 169, 168, 168, 168, 168, 168, 168, 171, 169, 168, 167,
+  167, 167, 165, 163, 172, 172, 173, 176, 180, 179, 174, 169, 169, 162, 170, 165,
+  142, 136, 100, 31, 72, 47, 36, 42, 52, 51, 53, 60, 94, 134, 174, 177,
+  159, 152, 161, 173, 169, 178, 189, 196, 197, 195, 195, 194, 197, 196, 196, 190,
+  185, 179, 181, 181, 188, 189, 194, 192, 193, 188, 189, 189, 186, 186, 186, 186,
+  186, 186, 188, 188, 187, 185, 182, 180, 179, 178, 175, 172, 178, 173, 170, 172,
+  174, 173, 174, 177, 177, 170, 158, 145, 128, 120, 127, 138, 144, 153, 164, 167,
+  163, 156, 151, 150, 132, 119, 141, 129, 115, 122, 106, 109, 101, 102, 101, 100,
+  98, 94, 89, 83, 80, 79, 78, 78, 79, 80, 84, 86, 90, 93, 90, 87,
+  86, 85, 84, 81, 81, 80, 80, 85, 85, 82, 81, 82, 84, 91, 97, 99,
+  101, 90, 84, 90, 91, 90, 97, 89, 81, 76, 73, 73, 74, 79, 81, 97,
+  91, 88, 83, 78, 77, 85, 93, 86, 78, 79, 89, 92, 83, 79, 87, 100,
+  126, 131, 120, 129, 139, 145, 144, 150, 154, 162, 161, 159, 156, 157, 159, 160,
+  162, 168, 170, 169, 168, 168, 169, 167, 168, 171, 171, 172, 172, 171, 169, 162,
+  161, 160, 158, 160, 161, 164, 165, 162, 170, 176, 177, 173, 168, 164, 163, 174,
+  158, 159, 155, 153, 142, 98, 70, 119, 104, 80, 61, 48, 45, 47, 47, 36,
+  65, 72, 127, 144, 168, 181, 175, 184, 190, 192, 190, 188, 191, 191, 187, 199,
+  196, 197, 190, 183, 175, 182, 189, 182, 181, 184, 184, 187, 186, 189, 190, 184,
+  185, 186, 186, 184, 184, 187, 189, 191, 183, 176, 178, 182, 179, 176, 175, 177,
+  179, 174, 175, 182, 176, 170, 177, 176, 161, 167, 144, 137, 121, 140, 140, 148,
+  154, 160, 154, 148, 156, 157, 138, 113, 127, 132, 115, 108, 118, 121, 116, 127,
+  135, 134, 126, 116, 110, 109, 110, 104, 95, 89, 86, 83, 77, 80, 91, 92,
+  118, 96, 82, 83, 82, 82, 81, 80, 81, 80, 75, 77, 80, 81, 82, 83,
+  84, 87, 84, 91, 86, 83, 88, 84, 82, 88, 73, 79, 85, 90, 90, 86,
+  84, 84, 77, 73, 75, 81, 85, 80, 78, 77, 79, 77, 82, 90, 90, 84,
+  90, 105, 100, 125, 129, 121, 128, 139, 142, 144, 150, 155, 161, 161, 157, 154,
+  157, 158, 159, 160, 164, 166, 168, 167, 168, 169, 170, 171, 173, 173, 172, 171,
+  170, 167, 164, 160, 160, 159, 159, 160, 163, 163, 162, 165, 171, 171, 168, 166,
+  166, 167, 174, 154, 156, 148, 151, 144, 127, 71, 107, 111, 114, 116, 107, 91,
+  68, 49, 32, 29, 38, 125, 170, 183, 188, 190, 189, 195, 196, 194, 192, 195,
+  194, 193, 191, 193, 195, 194, 187, 179, 180, 187, 180, 180, 181, 181, 181, 181,
+  181, 181, 180, 182, 183, 182, 183, 182, 183, 185, 190, 183, 178, 180, 184, 181,
+  177, 176, 169, 175, 173, 172, 176, 168, 168, 178, 175, 160, 163, 138, 127, 113,
+  136, 141, 172, 171, 170, 158, 143, 143, 140, 122, 132, 125, 126, 136, 130, 118,
+  118, 135, 142, 119, 101, 102, 109, 110, 112, 116, 124, 109, 95, 90, 87, 83,
+  85, 95, 100, 121, 109, 78, 79, 80, 80, 79, 78, 78, 77, 82, 82, 82,
+  81, 80, 79, 80, 79, 82, 77, 66, 67, 85, 89, 79, 74, 72, 77, 80,
+  79, 74, 74, 78, 81, 90, 78, 71, 76, 85, 86, 83, 81, 87, 89, 95,
+  93, 78, 61, 61, 75, 98, 124, 128, 121, 128, 137, 142, 145, 152, 157, 161,
+  162, 160, 157, 160, 159, 158, 161, 165, 167, 167, 167, 170, 171, 175, 175, 175,
+  174, 173, 171, 171, 167, 165, 163, 162, 160, 159, 159, 162, 162, 163, 163, 166,
+  165, 165, 165, 168, 169, 161, 146, 154, 146, 149, 139, 117, 45, 111, 104, 94,
+  91, 92, 96, 95, 91, 108, 79, 67, 128, 161, 162, 161, 166, 185, 191, 192,
+  190, 188, 192, 191, 190, 185, 189, 196, 199, 193, 183, 181, 184, 185, 185, 185,
+  184, 183, 182, 180, 179, 179, 180, 181, 180, 181, 180, 181, 183, 188, 182, 180,
+  183, 186, 182, 177, 176, 173, 179, 179, 176, 176, 166, 165, 177, 176, 165, 165,
+  139, 123, 116, 142, 150, 146, 145, 152, 156, 144, 137, 131, 118, 125, 132, 136,
+  132, 133, 138, 135, 135, 130, 104, 89, 102, 115, 111, 108, 114, 125, 119, 114,
+  113, 110, 105, 101, 100, 103, 110, 106, 77, 76, 78, 78, 80, 78, 76, 76,
+  86, 82, 77, 71, 70, 72, 77, 79, 65, 78, 79, 71, 67, 64, 72, 89,
+  77, 80, 80, 77, 77, 82, 88, 88, 80, 66, 57, 59, 67, 68, 68, 69,
+  69, 75, 83, 86, 76, 64, 63, 74, 96, 121, 125, 121, 128, 136, 140, 145,
+  151, 154, 159, 161, 161, 162, 164, 165, 161, 162, 167, 167, 169, 170, 172, 173,
+  175, 176, 176, 175, 174, 173, 173, 171, 167, 164, 162, 160, 158, 160, 161, 161,
+  165, 164, 165, 163, 164, 164, 166, 165, 151, 145, 148, 139, 141, 139, 83, 61,
+  106, 99, 93, 91, 96, 98, 97, 95, 92, 86, 90, 124, 154, 173, 190, 201,
+  181, 186, 187, 185, 183, 187, 187, 186, 185, 189, 195, 199, 194, 184, 180, 182,
+  186, 186, 187, 186, 185, 182, 180, 179, 178, 180, 181, 180, 180, 179, 180, 181,
+  185, 181, 181, 185, 188, 182, 177, 176, 182, 185, 181, 177, 178, 169, 164, 174,
+  174, 168, 164, 141, 119, 121, 146, 157, 160, 151, 152, 155, 141, 130, 126, 120,
+  123, 135, 136, 127, 130, 142, 139, 126, 123, 116, 114, 119, 118, 109, 113, 124,
+  123, 126, 124, 124, 120, 115, 112, 111, 107, 100, 101, 75, 74, 75, 75, 77,
+  78, 77, 78, 72, 70, 66, 65, 71, 77, 82, 85, 84, 83, 75, 73, 82,
+  84, 78, 80, 67, 75, 82, 90, 99, 105, 99, 89, 91, 90, 94, 98, 97,
+  90, 82, 81, 73, 73, 75, 78, 78, 76, 79, 87, 93, 117, 123, 121, 131,
+  137, 139, 145, 150, 153, 158, 161, 164, 167, 169, 171, 165, 166, 170, 170, 171,
+  172, 174, 176, 174, 175, 176, 176, 176, 176, 175, 174, 169, 168, 166, 164, 163,
+  165, 166, 166, 170, 169, 167, 166, 166, 164, 162, 156, 144, 143, 136, 124, 125,
+  136, 49, 103, 96, 94, 93, 93, 94, 89, 81, 75, 93, 97, 121, 142, 162,
+  162, 168, 175, 186, 191, 190, 188, 185, 189, 189, 188, 190, 190, 194, 195, 190,
+  182, 179, 181, 180, 181, 182, 182, 182, 180, 178, 176, 179, 180, 181, 180, 180,
+  179, 180, 181, 182, 180, 181, 186, 188, 182, 178, 177, 184, 182, 174, 172, 180,
+  173, 166, 171, 165, 165, 159, 140, 111, 117, 134, 141, 157, 141, 134, 131, 123,
+  125, 136, 141, 143, 127, 128, 142, 144, 130, 124, 134, 134, 138, 134, 118, 109,
+  111, 123, 132, 129, 131, 131, 121, 111, 110, 115, 118, 110, 106, 108, 75, 72,
+  72, 73, 75, 77, 77, 79, 72, 72, 74, 80, 87, 89, 86, 83, 91, 84,
+  75, 81, 100, 100, 81, 69, 81, 84, 86, 85, 94, 101, 94, 82, 90, 91,
+  93, 93, 87, 80, 82, 86, 104, 95, 84, 75, 73, 74, 74, 78, 92, 113,
+  119, 121, 131, 137, 139, 147, 150, 152, 156, 160, 165, 169, 171, 172, 168, 170,
+  171, 172, 172, 172, 174, 176, 173, 174, 175, 176, 176, 176, 176, 174, 174, 171,
+  169, 168, 169, 170, 171, 172, 172, 170, 168, 167, 166, 163, 158, 149, 130, 135,
+  135, 123, 118, 110, 23, 94, 91, 86, 80, 75, 77, 81, 87, 93, 98, 82,
+  114, 142, 175, 169, 173, 190, 190, 194, 192, 189, 186, 189, 189, 188, 193, 190,
+  190, 190, 186, 180, 179, 182, 179, 180, 182, 184, 183, 182, 180, 178, 179, 180,
+  181, 180, 179, 178, 179, 180, 182, 180, 183, 187, 189, 183, 180, 181, 184, 180,
+  171, 172, 184, 181, 173, 175, 165, 166, 155, 138, 105, 114, 122, 126, 124, 120,
+  125, 131, 130, 136, 145, 143, 134, 129, 131, 140, 144, 142, 140, 144, 141, 146,
+  141, 129, 127, 133, 132, 122, 128, 137, 143, 134, 123, 114, 111, 108, 106, 114,
+  117, 74, 70, 68, 69, 69, 71, 77, 80, 85, 85, 87, 92, 97, 96, 91,
+  85, 68, 90, 101, 93, 82, 71, 78, 99, 102, 103, 97, 87, 89, 99, 100,
+  94, 104, 102, 95, 91, 86, 85, 95, 105, 94, 89, 85, 83, 83, 85, 84,
+  84, 89, 107, 115, 118, 130, 135, 140, 149, 154, 154, 157, 161, 167, 171, 172,
+  173, 171, 173, 172, 171, 170, 170, 172, 174, 173, 174, 174, 174, 174, 173, 173,
+  172, 172, 171, 170, 169, 170, 171, 172, 173, 173, 169, 166, 164, 163, 160, 155,
+  147, 124, 128, 130, 118, 112, 77, 51, 75, 82, 87, 92, 96, 98, 97, 99,
+  101, 114, 98, 130, 139, 171, 170, 176, 192, 190, 194, 192, 187, 183, 186, 186,
+  185, 190, 187, 186, 187, 185, 180, 179, 183, 181, 183, 185, 186, 186, 184, 181,
+  179, 178, 179, 179, 178, 177, 176, 176, 178, 184, 183, 185, 189, 190, 185, 184,
+  186, 186, 183, 175, 175, 182, 178, 173, 179, 169, 169, 151, 138, 102, 117, 122,
+  127, 136, 143, 152, 152, 143, 144, 141, 125, 119, 134, 137, 131, 137, 153, 156,
+  148, 143, 146, 146, 147, 149, 148, 139, 129, 133, 139, 143, 138, 131, 126, 116,
+  104, 108, 112, 109, 73, 67, 66, 65, 67, 70, 75, 79, 85, 80, 81, 83,
+  93, 97, 98, 94, 101, 90, 72, 70, 89, 96, 91, 91, 76, 88, 93, 91,
+  92, 98, 98, 91, 87, 88, 89, 92, 88, 85, 86, 92, 88, 94, 99, 103,
+  100, 94, 83, 76, 87, 104, 113, 118, 129, 135, 138, 150, 155, 157, 159, 161,
+  167, 170, 170, 170, 172, 173, 171, 170, 168, 168, 170, 171, 175, 175, 175, 172,
+  173, 170, 168, 167, 168, 167, 166, 166, 167, 168, 170, 172, 170, 166, 163, 158,
+  159, 156, 155, 148, 138, 129, 122, 98, 97, 57, 116, 100, 94, 95, 93, 86,
+  80, 78, 83, 89, 90, 106, 157, 143, 167, 178, 182, 180, 193, 197, 194, 188,
+  184, 186, 186, 185, 187, 184, 184, 186, 185, 181, 180, 183, 179, 181, 183, 184,
+  182, 180, 176, 174, 176, 177, 178, 176, 176, 174, 174, 176, 187, 186, 188, 191,
+  192, 187, 187, 190, 184, 184, 177, 173, 175, 167, 163, 172, 164, 164, 144, 132,
+  98, 119, 126, 130, 131, 134, 136, 125, 119, 133, 143, 134, 139, 129, 130, 142,
+  143, 133, 135, 151, 151, 143, 143, 145, 141, 138, 146, 156, 148, 137, 122, 108,
+  110, 119, 123, 122, 115, 110, 98, 73, 69, 71, 71, 73, 74, 76, 78, 85,
+  83, 85, 74, 64, 69, 77, 70, 58, 72, 80, 81, 85, 80, 80, 90, 99,
+  95, 96, 103, 97, 79, 69, 75, 97, 97, 92, 88, 87, 89, 93, 98, 88,
+  93, 97, 101, 100, 101, 105, 108, 93, 100, 113, 122, 127, 132, 135, 140, 155,
+  156, 160, 161, 164, 168, 175, 179, 172, 171, 170, 169, 169, 170, 170, 171, 170,
+  168, 169, 168, 171, 171, 172, 173, 166, 163, 169, 170, 161, 163, 168, 167, 163,
+  166, 168, 160, 158, 154, 152, 145, 146, 111, 125, 110, 79, 104, 121, 99, 115,
+  112, 106, 102, 99, 96, 96, 96, 80, 117, 146, 154, 165, 170, 176, 182, 189,
+  192, 192, 191, 185, 184, 184, 187, 196, 191, 185, 183, 183, 182, 179, 175, 176,
+  178, 181, 183, 183, 182, 180, 179, 184, 180, 176, 176, 181, 183, 181, 179, 192,
+  191, 190, 191, 193, 190, 184, 179, 188, 185, 180, 174, 170, 168, 167, 168, 164,
+  142, 150, 121, 73, 127, 125, 138, 132, 137, 138, 138, 133, 130, 132, 136, 143,
+  146, 148, 150, 148, 145, 150, 157, 148, 141, 135, 137, 141, 142, 137, 128, 131,
+  129, 124, 116, 99, 87, 91, 110, 114, 114, 109, 75, 72, 71, 73, 72, 73,
+  76, 78, 83, 81, 84, 80, 73, 80, 88, 80, 66, 73, 69, 71, 81, 88,
+  93, 107, 91, 95, 95, 93, 92, 93, 92, 91, 85, 94, 100, 101, 97, 89,
+  85, 81, 91, 99, 113, 117, 110, 95, 79, 67, 101, 96, 98, 108, 117, 120,
+  125, 134, 146, 151, 156, 161, 164, 166, 170, 170, 174, 173, 172, 171, 171, 171,
+  172, 171, 169, 168, 168, 166, 165, 163, 160, 160, 173, 166, 172, 172, 170, 170,
+  174, 166, 169, 165, 158, 151, 149, 150, 145, 141, 131, 128, 131, 108, 99, 113,
+  114, 119, 119, 119, 118, 115, 112, 108, 106, 100, 91, 123, 149, 156, 168, 173,
+  178, 182, 188, 190, 191, 192, 189, 188, 186, 187, 186, 185, 184, 184, 184, 181,
+  178, 175, 179, 178, 177, 176, 176, 177, 179, 180, 182, 176, 169, 167, 172, 180,
+  188, 192, 194, 194, 193, 189, 186, 183, 182, 182, 184, 179, 172, 170, 171, 171,
+  170, 166, 179, 157, 152, 106, 79, 122, 116, 122, 123, 125, 124, 125, 129, 142,
+  158, 174, 161, 158, 159, 163, 162, 158, 157, 159, 148, 143, 141, 140, 141, 142,
+  142, 139, 139, 133, 126, 118, 100, 80, 71, 78, 110, 140, 132, 79, 75, 75,
+  76, 77, 79, 78, 80, 86, 81, 85, 86, 84, 90, 95, 87, 80, 77, 64,
+  59, 67, 71, 70, 79, 86, 97, 101, 94, 90, 95, 89, 78, 94, 89, 77,
+  66, 63, 73, 91, 103, 113, 105, 92, 80, 80, 91, 108, 119, 91, 83, 88,
+  101, 113, 118, 129, 141, 140, 147, 157, 162, 166, 166, 166, 166, 173, 171, 171,
+  170, 170, 169, 169, 168, 161, 161, 164, 165, 163, 161, 159, 158, 167, 158, 162,
+  164, 164, 166, 166, 155, 161, 160, 157, 155, 155, 151, 136, 123, 127, 141, 122,
+  93, 115, 123, 105, 130, 129, 129, 131, 131, 129, 123, 119, 114, 102, 129, 149,
+  156, 170, 175, 178, 181, 186, 187, 189, 192, 193, 192, 187, 184, 176, 180, 184,
+  185, 184, 180, 177, 176, 179, 179, 177, 176, 176, 177, 178, 178, 172, 175, 179,
+  182, 185, 187, 189, 190, 198, 199, 197, 191, 186, 184, 187, 192, 185, 177, 170,
+  169, 173, 175, 171, 165, 157, 146, 138, 84, 97, 130, 122, 122, 128, 130, 124,
+  116, 109, 106, 109, 114, 148, 147, 148, 157, 163, 161, 159, 156, 148, 150, 150,
+  149, 145, 143, 141, 141, 111, 103, 97, 97, 93, 82, 69, 72, 96, 137, 132,
+  81, 79, 80, 80, 82, 85, 85, 87, 92, 86, 90, 91, 90, 93, 95, 86,
+  92, 93, 84, 77, 83, 80, 75, 78, 63, 71, 75, 77, 81, 91, 93, 91,
+  93, 92, 88, 85, 79, 75, 69, 65, 74, 82, 93, 99, 97, 88, 75, 67,
+  68, 75, 84, 87, 95, 109, 121, 126, 135, 142, 152, 159, 161, 163, 163, 163,
+  169, 166, 168, 166, 166, 164, 164, 163, 158, 157, 158, 156, 156, 154, 153, 155,
+  164, 158, 162, 165, 162, 163, 165, 155, 169, 164, 154, 144, 143, 149, 148, 147,
+  133, 133, 104, 81, 114, 127, 106, 125, 128, 130, 132, 132, 131, 125, 121, 117,
+  109, 129, 146, 154, 170, 175, 177, 181, 186, 186, 187, 192, 194, 192, 184, 178,
+  176, 180, 184, 185, 181, 178, 178, 179, 178, 180, 182, 183, 183, 181, 179, 177,
+  173, 179, 186, 189, 189, 186, 185, 186, 199, 198, 195, 191, 190, 189, 191, 193,
+  187, 182, 177, 174, 174, 172, 169, 165, 156, 154, 146, 78, 114, 123, 112, 100,
+  105, 110, 118, 121, 126, 128, 131, 134, 123, 124, 126, 133, 139, 138, 138, 139,
+  132, 133, 136, 136, 131, 124, 116, 110, 114, 105, 94, 92, 91, 85, 75, 76,
+  92, 114, 115, 82, 81, 82, 83, 87, 88, 90, 91, 93, 86, 90, 93, 89,
+  91, 93, 85, 74, 83, 85, 86, 95, 93, 93, 100, 110, 94, 79, 71, 61,
+  53, 54, 60, 69, 72, 81, 94, 102, 93, 72, 53, 84, 80, 74, 71, 72,
+  77, 82, 86, 85, 104, 107, 87, 84, 102, 114, 111, 126, 133, 140, 146, 150,
+  155, 157, 159, 164, 162, 164, 163, 163, 160, 159, 157, 159, 156, 151, 147, 146,
+  145, 144, 147, 152, 151, 158, 158, 152, 152, 157, 152, 153, 160, 165, 161, 153,
+  148, 142, 137, 121, 108, 104, 95, 105, 121, 113, 117, 116, 116, 117, 114, 114,
+  111, 110, 109, 109, 130, 145, 155, 173, 177, 181, 186, 188, 188, 187, 191, 191,
+  189, 180, 175, 183, 185, 185, 182, 178, 177, 179, 183, 182, 182, 182, 182, 182,
+  181, 181, 181, 185, 183, 179, 174, 173, 177, 186, 194, 200, 195, 191, 190, 194,
+  193, 187, 181, 181, 182, 181, 177, 171, 168, 170, 169, 154, 156, 142, 73, 118,
+  117, 118, 108, 129, 127, 118, 111, 105, 103, 103, 105, 117, 115, 116, 116, 112,
+  109, 112, 117, 122, 117, 114, 113, 113, 110, 101, 94, 97, 94, 94, 93, 91,
+  89, 85, 85, 88, 89, 84, 81, 81, 83, 85, 86, 88, 91, 92, 92, 83,
+  88, 94, 90, 90, 96, 92, 75, 83, 78, 76, 81, 80, 81, 90, 89, 81,
+  83, 91, 90, 80, 77, 80, 63, 52, 47, 54, 66, 73, 71, 67, 44, 49,
+  60, 73, 85, 93, 97, 99, 98, 114, 108, 81, 73, 94, 110, 107, 122, 127,
+  134, 140, 145, 151, 158, 159, 159, 160, 160, 159, 159, 157, 155, 152, 151, 149,
+  146, 145, 145, 144, 146, 148, 145, 145, 152, 153, 145, 145, 154, 151, 143, 154,
+  163, 156, 140, 123, 108, 96, 98, 88, 115, 116, 100, 110, 115, 116, 110, 109,
+  107, 103, 102, 101, 101, 102, 111, 132, 147, 159, 177, 180, 184, 192, 191, 191,
+  189, 189, 188, 186, 180, 177, 190, 188, 184, 180, 177, 178, 181, 184, 186, 183,
+  178, 175, 175, 179, 185, 189, 183, 182, 180, 179, 182, 186, 191, 196, 206, 199,
+  194, 195, 201, 198, 187, 176, 171, 176, 179, 177, 169, 167, 170, 174, 148, 144,
+  122, 64, 108, 108, 122, 120, 119, 121, 121, 123, 127, 126, 124, 123, 114, 113,
+  114, 114, 109, 105, 111, 119, 96, 86, 73, 70, 74, 78, 79, 77, 81, 90,
+  102, 105, 106, 105, 101, 95, 97, 97, 85, 87, 88, 88, 89, 90, 90, 93,
+  93, 94, 86, 91, 97, 91, 90, 97, 99, 105, 107, 96, 89, 91, 87, 83,
+  85, 95, 99, 107, 112, 108, 97, 81, 67, 69, 59, 53, 50, 47, 41, 33,
+  28, 36, 39, 47, 57, 68, 73, 73, 74, 81, 87, 82, 72, 73, 86, 96,
+  97, 112, 119, 126, 134, 140, 145, 152, 155, 153, 151, 152, 152, 152, 149, 148,
+  146, 138, 137, 139, 139, 136, 132, 130, 130, 135, 131, 135, 137, 133, 136, 145,
+  141, 143, 138, 124, 104, 94, 98, 106, 107, 94, 85, 107, 107, 96, 103, 104,
+  109, 106, 105, 104, 102, 100, 97, 96, 101, 109, 133, 150, 162, 177, 178, 182,
+  193, 193, 193, 191, 189, 185, 185, 184, 186, 191, 187, 181, 178, 178, 180, 182,
+  183, 183, 182, 180, 180, 181, 183, 187, 189, 178, 181, 187, 193, 199, 199, 195,
+  192, 200, 197, 194, 196, 200, 197, 189, 182, 171, 174, 177, 176, 171, 171, 172,
+  173, 166, 150, 117, 71, 98, 93, 103, 93, 90, 95, 101, 109, 113, 112, 105,
+  99, 107, 105, 106, 109, 111, 109, 112, 116, 114, 106, 98, 95, 97, 103, 107,
+  111, 119, 128, 133, 131, 126, 122, 112, 97, 112, 116, 105, 94, 94, 94, 93,
+  95, 95, 94, 96, 100, 92, 97, 102, 93, 89, 97, 102, 104, 105, 96, 97,
+  107, 104, 93, 91, 95, 100, 97, 86, 84, 89, 88, 75, 72, 65, 65, 60,
+  53, 50, 49, 53, 54, 52, 54, 59, 67, 74, 80, 82, 91, 85, 84, 97,
+  105, 100, 96, 99, 92, 97, 107, 115, 122, 127, 133, 136, 139, 139, 139, 140,
+  140, 137, 134, 132, 128, 127, 125, 122, 113, 100, 88, 83, 88, 80, 80, 83,
+  82, 90, 97, 90, 80, 88, 96, 103, 111, 118, 119, 111, 108, 91, 89, 82,
+  93, 102, 88, 96, 99, 99, 99, 98, 96, 92, 90, 94, 104, 130, 148, 162,
+  174, 173, 176, 190, 192, 193, 192, 189, 184, 185, 188, 193, 189, 183, 179, 176,
+  180, 183, 183, 182, 175, 180, 187, 193, 194, 192, 187, 184, 187, 185, 183, 185,
+  192, 196, 197, 196, 184, 184, 185, 187, 188, 187, 187, 185, 179, 179, 177, 177,
+  175, 175, 174, 169, 161, 142, 112, 88, 111, 104, 108, 93, 101, 97, 93, 93,
+  98, 103, 105, 104, 105, 100, 98, 102, 107, 104, 100, 97, 102, 103, 104, 103,
+  103, 102, 104, 108, 113, 117, 118, 116, 118, 123, 119, 106, 92, 95, 94, 92,
+  86, 84, 88, 94, 94, 95, 96, 101, 98, 97, 100, 100, 96, 97, 100, 102,
+  102, 100, 96, 92, 89, 91, 91, 92, 88, 83, 79, 77, 79, 79, 79, 74,
+  77, 80, 82, 80, 76, 70, 68, 61, 69, 66, 62, 68, 71, 79, 93, 86,
+  87, 89, 92, 93, 94, 94, 95, 101, 96, 89, 86, 88, 96, 105, 114, 119,
+  120, 118, 112, 108, 108, 114, 120, 109, 100, 84, 68, 62, 69, 76, 80, 94,
+  97, 100, 100, 99, 97, 99, 101, 106, 106, 106, 107, 107, 107, 108, 106, 98,
+  97, 97, 97, 97, 98, 97, 98, 100, 95, 95, 96, 96, 94, 96, 106, 110,
+  129, 143, 152, 164, 179, 186, 186, 186, 185, 187, 193, 192, 188, 188, 191, 192,
+  181, 174, 170, 177, 180, 178, 175, 178, 184, 187, 183, 183, 186, 186, 180, 179,
+  188, 195, 194, 188, 186, 192, 199, 193, 186, 180, 183, 190, 192, 188, 181, 176,
+  176, 178, 180, 181, 177, 173, 167, 153, 155, 78, 120, 102, 101, 105, 106, 104,
+  100, 99, 98, 97, 98, 97, 95, 98, 96, 94, 92, 94, 97, 103, 105, 100,
+  100, 103, 103, 103, 104, 102, 103, 105, 108, 117, 123, 119, 120, 110, 88, 79,
+  85, 110, 88, 87, 89, 95, 97, 95, 96, 100, 101, 98, 97, 99, 99, 95,
+  95, 98, 96, 98, 100, 98, 94, 91, 90, 87, 90, 85, 82, 80, 78, 78,
+  80, 82, 80, 83, 84, 85, 84, 83, 82, 81, 72, 83, 84, 82, 85, 81,
+  79, 87, 88, 88, 88, 89, 90, 92, 94, 95, 93, 93, 93, 93, 93, 93,
+  93, 95, 88, 92, 93, 87, 83, 81, 85, 87, 76, 83, 90, 95, 100, 104,
+  100, 95, 94, 95, 96, 96, 97, 97, 99, 100, 102, 102, 101, 100, 102, 101,
+  100, 98, 97, 94, 95, 94, 92, 91, 91, 91, 100, 97, 99, 102, 103, 99,
+  99, 106, 113, 119, 133, 154, 170, 176, 184, 191, 184, 183, 186, 190, 189, 186,
+  186, 188, 184, 178, 172, 169, 171, 175, 181, 183, 182, 186, 188, 185, 186, 189,
+  190, 185, 183, 187, 190, 191, 190, 190, 193, 197, 195, 189, 183, 182, 184, 183,
+  177, 173, 175, 175, 176, 177, 177, 173, 169, 163, 159, 142, 89, 117, 107, 105,
+  105, 98, 101, 101, 98, 99, 101, 102, 103, 103, 98, 96, 93, 90, 90, 92,
+  93, 95, 99, 101, 101, 100, 99, 102, 104, 108, 121, 114, 108, 101, 97, 107,
+  116, 108, 65, 94, 116, 76, 79, 85, 91, 90, 86, 89, 96, 97, 94, 94,
+  96, 97, 92, 93, 96, 93, 97, 102, 102, 100, 95, 92, 87, 89, 85, 85,
+  84, 83, 84, 85, 86, 81, 80, 79, 79, 80, 83, 85, 87, 79, 90, 90,
+  89, 91, 85, 80, 86, 90, 89, 88, 87, 89, 91, 94, 96, 96, 98, 101,
+  104, 104, 101, 98, 98, 111, 116, 117, 116, 113, 108, 108, 107, 106, 109, 109,
+  107, 105, 104, 98, 92, 103, 102, 100, 100, 104, 106, 106, 106, 110, 109, 110,
+  108, 106, 105, 103, 103, 107, 104, 102, 100, 98, 97, 98, 98, 101, 99, 103,
+  107, 107, 102, 100, 106, 114, 112, 123, 153, 171, 169, 176, 190, 184, 181, 183,
+  185, 185, 183, 184, 185, 179, 176, 176, 172, 170, 173, 181, 187, 184, 187, 189,
+  186, 187, 191, 191, 190, 193, 192, 191, 191, 192, 193, 194, 193, 199, 196, 191,
+  188, 186, 182, 178, 175, 176, 175, 176, 177, 175, 174, 168, 162, 152, 114, 99,
+  110, 109, 110, 109, 95, 101, 101, 101, 101, 103, 105, 108, 109, 106, 104, 102,
+  99, 98, 98, 98, 99, 106, 108, 108, 105, 102, 105, 110, 116, 107, 108, 116,
+  118, 112, 110, 107, 93, 101, 64, 96, 69, 70, 74, 81, 85, 83, 86, 91,
+  92, 90, 92, 95, 97, 93, 94, 98, 96, 99, 100, 100, 97, 92, 88, 85,
+  83, 85, 85, 86, 85, 86, 86, 86, 83, 82, 80, 80, 82, 85, 88, 90,
+  85, 93, 90, 87, 92, 91, 89, 98, 93, 93, 94, 94, 95, 97, 99, 100,
+  106, 105, 104, 104, 106, 108, 110, 114, 108, 113, 113, 113, 108, 106, 104, 104,
+  113, 111, 106, 100, 100, 106, 110, 108, 112, 107, 102, 102, 106, 109, 108, 107,
+  112, 111, 112, 111, 109, 108, 106, 106, 114, 110, 109, 104, 104, 105, 106, 107,
+  101, 99, 102, 106, 106, 100, 100, 105, 116, 111, 119, 138, 155, 161, 167, 180,
+  183, 182, 181, 182, 182, 181, 182, 181, 179, 177, 177, 174, 172, 173, 178, 181,
+  182, 182, 183, 182, 183, 186, 189, 189, 197, 195, 193, 191, 190, 190, 189, 189,
+  193, 193, 191, 189, 185, 182, 181, 181, 174, 173, 173, 172, 173, 170, 164, 159,
+  143, 94, 111, 106, 103, 105, 104, 90, 105, 104, 103, 101, 100, 101, 103, 105,
+  107, 107, 107, 107, 107, 107, 107, 109, 109, 111, 113, 109, 104, 106, 109, 114,
+  116, 112, 114, 114, 103, 102, 105, 99, 97, 90, 82, 75, 70, 69, 77, 84,
+  88, 92, 96, 93, 89, 90, 94, 95, 90, 89, 92, 94, 95, 95, 92, 89,
+  88, 86, 87, 82, 84, 85, 87, 88, 88, 87, 84, 90, 89, 89, 90, 90,
+  91, 92, 93, 90, 97, 94, 93, 100, 99, 97, 104, 97, 99, 102, 105, 106,
+  106, 105, 104, 110, 108, 105, 104, 105, 108, 112, 117, 117, 120, 120, 119, 116,
+  115, 114, 115, 101, 105, 108, 110, 113, 115, 113, 109, 116, 111, 106, 104, 105,
+  107, 106, 104, 105, 105, 107, 107, 106, 106, 107, 107, 110, 106, 106, 102, 104,
+  103, 105, 107, 104, 100, 99, 101, 102, 97, 101, 107, 111, 114, 116, 122, 136,
+  154, 167, 170, 178, 181, 180, 179, 178, 179, 178, 178, 176, 175, 174, 175, 178,
+  179, 178, 177, 183, 181, 180, 180, 183, 185, 188, 191, 192, 195, 196, 194, 190,
+  188, 191, 194, 185, 187, 187, 185, 182, 180, 180, 182, 172, 170, 168, 164, 163,
+  158, 151, 145, 138, 92, 125, 105, 101, 95, 94, 85, 104, 105, 104, 101, 98,
+  97, 99, 101, 103, 104, 105, 106, 107, 108, 108, 108, 104, 106, 110, 110, 107,
+  106, 108, 109, 117, 111, 114, 116, 107, 106, 110, 105, 103, 97, 127, 79, 71,
+  68, 74, 83, 88, 92, 96, 95, 92, 93, 93, 91, 84, 81, 81, 86, 86,
+  85, 84, 83, 85, 88, 92, 85, 87, 87, 89, 90, 90, 89, 88, 90, 90,
+  91, 92, 92, 92, 91, 91, 86, 95, 96, 98, 104, 99, 91, 94, 94, 97,
+  101, 105, 106, 105, 102, 100, 107, 107, 107, 107, 106, 105, 104, 105, 109, 110,
+  108, 105, 105, 107, 107, 108, 110, 114, 114, 110, 108, 107, 103, 97, 114, 111,
+  107, 105, 105, 104, 104, 103, 104, 105, 107, 107, 108, 108, 111, 111, 109, 109,
+  108, 105, 105, 107, 108, 107, 108, 103, 101, 101, 102, 100, 103, 109, 106, 114,
+  117, 113, 124, 145, 161, 167, 169, 174, 176, 174, 175, 176, 175, 172, 169, 168,
+  169, 173, 179, 182, 181, 179, 186, 182, 180, 182, 185, 184, 187, 191, 183, 188,
+  193, 193, 190, 190, 193, 196, 186, 186, 186, 184, 181, 178, 178, 176, 178, 173,
+  168, 161, 155, 147, 138, 131, 121, 92, 121, 104, 101, 97, 98, 98, 99, 104,
+  107, 106, 102, 101, 103, 106, 105, 105, 105, 105, 105, 106, 106, 108, 104, 105,
+  108, 111, 112, 112, 113, 113, 106, 101, 111, 119, 114, 110, 110, 103, 102, 95,
+  106, 75, 69, 70, 75, 79, 80, 84, 88, 90, 88, 89, 89, 86, 78, 75,
+  76, 82, 82, 82, 81, 80, 82, 85, 89, 88, 89, 90, 91, 91, 91, 91,
+  89, 89, 87, 87, 88, 88, 89, 89, 89, 86, 93, 93, 94, 101, 97, 88,
+  91, 92, 94, 97, 99, 101, 100, 99, 98, 105, 106, 107, 107, 106, 104, 102,
+  103, 110, 109, 108, 109, 111, 111, 111, 111, 106, 107, 103, 99, 100, 108, 113,
+  114, 109, 109, 110, 108, 107, 106, 106, 107, 110, 110, 112, 113, 113, 114, 114,
+  116, 114, 114, 114, 113, 112, 110, 110, 110, 107, 103, 101, 105, 105, 102, 103,
+  107, 110, 111, 114, 115, 119, 127, 141, 155, 160, 167, 171, 169, 170, 172, 170,
+  164, 163, 164, 165, 166, 170, 173, 178, 182, 185, 180, 179, 182, 185, 182, 183,
+  188, 181, 183, 187, 189, 190, 190, 188, 187, 185, 184, 182, 181, 180, 178, 176,
+  175, 172, 166, 159, 151, 143, 134, 125, 116, 108, 97, 107, 98, 103, 98, 99,
+  104, 97, 102, 108, 109, 105, 103, 105, 107, 109, 108, 108, 107, 107, 108, 111,
+  111, 111, 107, 106, 107, 111, 112, 112, 108, 119, 101, 94, 94, 91, 96, 106,
+  107, 106, 31, 61, 74, 74, 77, 80, 78, 75, 79, 85, 83, 82, 82, 85,
+  85, 79, 76, 78, 81, 82, 82, 81, 78, 78, 82, 84, 88, 88, 89, 89,
+  89, 89, 91, 89, 91, 89, 88, 88, 89, 91, 93, 95, 94, 97, 91, 89,
+  98, 99, 97, 103, 98, 98, 100, 101, 102, 103, 104, 104, 108, 107, 105, 104,
+  104, 107, 109, 111, 105, 106, 107, 109, 111, 111, 110, 109, 110, 113, 111, 108,
+  108, 109, 109, 106, 106, 108, 111, 111, 109, 108, 110, 112, 109, 109, 111, 111,
+  111, 111, 111, 113, 116, 118, 116, 115, 114, 112, 111, 108, 105, 101, 104, 106,
+  107, 102, 101, 104, 113, 109, 110, 118, 115, 107, 118, 139, 151, 160, 165, 163,
+  164, 167, 163, 156, 161, 164, 165, 161, 159, 161, 172, 181, 183, 178, 178, 181,
+  182, 178, 178, 183, 186, 183, 183, 186, 190, 188, 181, 174, 177, 175, 173, 173,
+  174, 174, 172, 168, 152, 147, 140, 133, 127, 121, 111, 104, 112, 110, 99, 95,
+  98, 91, 86, 91, 95, 101, 109, 109, 105, 101, 102, 104, 107, 106, 106, 106,
+  107, 109, 113, 116, 115, 107, 98, 96, 101, 102, 98, 93, 98, 87, 93, 104,
+  99, 91, 83, 72, 89, 59, 83, 74, 76, 78, 80, 81, 81, 78, 72, 75,
+  77, 79, 81, 83, 81, 79, 78, 79, 77, 79, 80, 80, 80, 82, 82, 79,
+  84, 90, 91, 91, 91, 94, 95, 89, 87, 88, 89, 89, 90, 91, 91, 91,
+  89, 87, 86, 88, 91, 95, 98, 92, 96, 100, 102, 101, 100, 100, 101, 100,
+  101, 101, 102, 104, 105, 106, 106, 106, 107, 108, 108, 108, 110, 112, 115, 115,
+  111, 107, 106, 110, 112, 110, 105, 111, 102, 106, 110, 102, 100, 109, 111, 117,
+  115, 111, 109, 110, 111, 113, 114, 111, 114, 115, 113, 112, 109, 107, 103, 104,
+  100, 103, 106, 108, 105, 104, 107, 105, 106, 107, 112, 119, 122, 121, 121, 141,
+  139, 139, 142, 148, 153, 152, 152, 154, 154, 154, 144, 142, 159, 165, 149, 164,
+  172, 173, 170, 173, 171, 170, 179, 180, 179, 177, 175, 173, 172, 172, 172, 172,
+  170, 168, 166, 164, 162, 160, 156, 149, 140, 128, 118, 113, 112, 116, 117, 113,
+  109, 106, 99, 94, 92, 97, 103, 101, 99, 99, 103, 107, 107, 103, 97, 103,
+  104, 109, 112, 112, 105, 95, 86, 81, 86, 86, 87, 91, 96, 93, 87, 91,
+  89, 91, 97, 103, 103, 96, 88, 81, 68, 63, 83, 81, 81, 80, 83, 84,
+  85, 82, 92, 88, 85, 81, 79, 78, 80, 81, 78, 78, 79, 80, 82, 83,
+  84, 84, 83, 83, 86, 88, 90, 93, 92, 89, 89, 87, 88, 89, 90, 90,
+  91, 91, 89, 89, 89, 90, 91, 93, 95, 96, 92, 95, 99, 100, 101, 101,
+  102, 103, 104, 104, 104, 104, 104, 105, 105, 105, 108, 109, 110, 110, 109, 110,
+  110, 112, 113, 110, 106, 108, 109, 111, 109, 106, 112, 101, 104, 111, 107, 106,
+  109, 105, 111, 110, 107, 106, 108, 110, 112, 114, 115, 117, 116, 115, 112, 111,
+  110, 110, 108, 106, 108, 110, 110, 105, 104, 106, 107, 108, 111, 118, 123, 125,
+  127, 128, 130, 123, 115, 113, 118, 128, 134, 137, 146, 142, 138, 131, 129, 147,
+  158, 150, 158, 168, 168, 167, 172, 167, 163, 168, 164, 164, 166, 165, 167, 166,
+  168, 166, 163, 157, 156, 156, 164, 164, 163, 157, 133, 128, 121, 114, 112, 112,
+  112, 111, 110, 107, 105, 100, 96, 91, 92, 96, 100, 100, 101, 105, 110, 111,
+  110, 105, 111, 109, 109, 108, 109, 110, 112, 113, 99, 99, 92, 87, 89, 96,
+  99, 97, 109, 106, 110, 111, 112, 101, 87, 74, 90, 92, 90, 86, 84, 85,
+  86, 88, 88, 88, 87, 94, 91, 87, 82, 79, 78, 79, 79, 79, 77, 80,
+  81, 82, 83, 84, 84, 86, 83, 81, 84, 88, 92, 89, 83, 89, 88, 88,
+  89, 90, 91, 91, 91, 88, 90, 92, 94, 95, 95, 95, 94, 93, 95, 98,
+  99, 99, 100, 103, 105, 105, 105, 104, 103, 102, 102, 103, 103, 107, 109, 111,
+  110, 109, 107, 108, 109, 112, 109, 107, 108, 111, 112, 110, 105, 112, 100, 105,
+  113, 112, 112, 111, 101, 106, 105, 105, 105, 106, 108, 111, 113, 117, 116, 114,
+  112, 111, 112, 112, 112, 115, 110, 111, 114, 113, 107, 106, 108, 103, 106, 112,
+  116, 119, 122, 126, 129, 133, 131, 128, 128, 130, 129, 126, 122, 132, 123, 121,
+  121, 118, 126, 135, 133, 132, 143, 145, 150, 163, 160, 155, 157, 153, 154, 158,
+  157, 160, 158, 159, 156, 156, 146, 142, 141, 148, 147, 142, 132, 119, 118, 117,
+  116, 115, 114, 110, 108, 106, 107, 106, 104, 101, 98, 96, 96, 96, 95, 96,
+  100, 106, 109, 110, 108, 113, 112, 112, 110, 112, 115, 122, 126, 130, 130, 122,
+  115, 115, 120, 120, 119, 116, 106, 99, 92, 91, 88, 84, 79, 92, 103, 99,
+  78, 77, 81, 86, 90, 87, 83, 82, 82, 82, 83, 85, 84, 81, 79, 76,
+  76, 77, 78, 79, 80, 81, 82, 82, 87, 86, 85, 86, 88, 88, 86, 83,
+  90, 88, 89, 89, 90, 91, 92, 92, 90, 91, 93, 95, 96, 96, 96, 95,
+  96, 97, 98, 98, 98, 99, 101, 104, 101, 101, 99, 99, 99, 99, 100, 101,
+  106, 108, 111, 111, 110, 108, 108, 108, 111, 109, 108, 109, 111, 112, 110, 108,
+  112, 102, 107, 112, 110, 110, 111, 101, 104, 103, 104, 104, 104, 106, 109, 110,
+  113, 113, 113, 113, 112, 112, 111, 110, 116, 113, 113, 114, 116, 112, 112, 112,
+  102, 106, 113, 116, 116, 117, 123, 128, 127, 128, 131, 134, 134, 128, 120, 114,
+  124, 114, 118, 126, 121, 116, 117, 115, 120, 127, 128, 133, 149, 148, 141, 142,
+  144, 145, 147, 145, 145, 141, 138, 135, 142, 135, 130, 127, 128, 125, 120, 114,
+  116, 116, 118, 118, 117, 114, 111, 109, 103, 102, 103, 103, 104, 103, 103, 103,
+  97, 95, 96, 98, 103, 106, 109, 109, 112, 116, 122, 122, 121, 119, 121, 122,
+  124, 129, 130, 127, 125, 122, 118, 110, 109, 99, 87, 78, 77, 78, 81, 80,
+  78, 88, 90, 79, 74, 75, 80, 83, 81, 81, 84, 81, 83, 86, 88, 89,
+  88, 88, 83, 79, 79, 80, 81, 81, 81, 82, 82, 85, 88, 90, 89, 86,
+  85, 85, 87, 88, 88, 89, 90, 91, 91, 92, 92, 94, 93, 93, 93, 94,
+  95, 96, 97, 98, 99, 100, 99, 97, 97, 99, 101, 99, 98, 97, 97, 98,
+  100, 102, 104, 101, 104, 109, 110, 109, 108, 108, 109, 110, 110, 112, 113, 114,
+  114, 112, 108, 109, 105, 110, 110, 103, 104, 110, 104, 107, 106, 105, 104, 105,
+  106, 107, 107, 110, 110, 114, 116, 116, 114, 111, 109, 115, 112, 113, 115, 117,
+  115, 116, 118, 113, 114, 119, 121, 120, 120, 124, 129, 123, 121, 119, 119, 120,
+  122, 125, 127, 143, 132, 138, 147, 141, 133, 134, 134, 128, 131, 126, 124, 133,
+  130, 121, 123, 129, 130, 132, 129, 128, 122, 120, 116, 121, 120, 123, 121, 123,
+  120, 124, 123, 118, 116, 117, 116, 113, 110, 107, 107, 100, 99, 100, 99, 102,
+  105, 105, 106, 104, 102, 100, 100, 104, 107, 111, 111, 113, 118, 126, 129, 127,
+  122, 121, 121, 113, 120, 125, 125, 123, 119, 113, 106, 110, 107, 104, 99, 95,
+  84, 76, 70, 73, 75, 83, 92, 82, 77, 80, 84, 84, 89, 95, 95, 92,
+  90, 89, 89, 91, 95, 95, 86, 84, 84, 85, 84, 84, 85, 85, 84, 89,
+  92, 91, 87, 82, 86, 88, 89, 89, 89, 90, 91, 92, 92, 93, 94, 94,
+  93, 92, 93, 94, 96, 97, 97, 99, 100, 100, 98, 98, 99, 100, 101, 100,
+  99, 99, 100, 103, 106, 108, 100, 102, 107, 107, 107, 107, 108, 109, 108, 109,
+  112, 113, 113, 112, 111, 108, 108, 105, 111, 108, 99, 101, 109, 102, 106, 106,
+  105, 105, 106, 106, 106, 106, 107, 110, 114, 117, 119, 116, 111, 108, 112, 109,
+  110, 114, 115, 117, 119, 121, 119, 116, 119, 120, 120, 119, 120, 123, 125, 125,
+  124, 124, 123, 120, 118, 118, 113, 103, 106, 111, 104, 103, 112, 116, 121, 124,
+  119, 115, 121, 118, 115, 119, 123, 123, 124, 123, 122, 120, 118, 117, 111, 115,
+  120, 120, 118, 119, 124, 126, 117, 114, 111, 108, 104, 102, 102, 101, 101, 98,
+  96, 98, 100, 102, 101, 100, 104, 103, 101, 100, 102, 103, 107, 108, 110, 111,
+  117, 118, 118, 118, 119, 121, 121, 126, 128, 123, 122, 123, 124, 120, 120, 116,
+  113, 107, 102, 95, 87, 83, 89, 79, 76, 89, 78, 76, 81, 85, 81, 84,
+  92, 97, 94, 91, 90, 90, 92, 97, 97, 91, 89, 87, 87, 86, 86, 85,
+  85, 83, 85, 86, 86, 86, 83, 85, 85, 89, 89, 90, 90, 91, 92, 93,
+  93, 92, 92, 93, 94, 94, 94, 94, 93, 93, 96, 99, 101, 100, 100, 101,
+  102, 104, 103, 101, 99, 100, 102, 105, 107, 102, 103, 104, 103, 103, 103, 105,
+  107, 104, 106, 111, 112, 111, 109, 108, 105, 106, 103, 108, 107, 102, 106, 107,
+  95, 103, 103, 103, 104, 105, 106, 107, 106, 105, 105, 108, 110, 112, 110, 109,
+  107, 111, 107, 110, 113, 115, 116, 119, 121, 115, 112, 112, 112, 115, 115, 115,
+  114, 112, 116, 121, 120, 115, 105, 96, 91, 115, 111, 114, 115, 108, 110, 121,
+  122, 110, 117, 113, 111, 118, 117, 115, 123, 121, 121, 121, 121, 121, 121, 121,
+  121, 115, 117, 119, 118, 117, 117, 119, 118, 113, 109, 106, 102, 99, 96, 96,
+  96, 97, 97, 96, 100, 103, 104, 103, 98, 100, 98, 100, 100, 101, 101, 105,
+  106, 108, 107, 111, 112, 116, 118, 120, 120, 116, 121, 119, 114, 112, 114, 118,
+  116, 122, 115, 108, 100, 97, 96, 96, 98, 97, 95, 86, 63, 59, 63, 76,
+  77, 69, 64, 67, 81, 83, 86, 90, 93, 93, 93, 89, 91, 89, 86, 85,
+  85, 84, 83, 83, 87, 84, 83, 85, 87, 88, 85, 82, 91, 91, 92, 93,
+  93, 94, 95, 95, 91, 91, 96, 96, 97, 95, 92, 90, 89, 93, 98, 101,
+  102, 104, 105, 106, 107, 105, 102, 100, 100, 99, 102, 103, 105, 105, 104, 101,
+  101, 100, 102, 104, 101, 104, 107, 108, 109, 105, 106, 103, 105, 100, 106, 108,
+  106, 110, 105, 87, 99, 99, 100, 102, 105, 106, 108, 107, 102, 101, 102, 103,
+  105, 104, 105, 105, 111, 107, 109, 112, 115, 114, 119, 119, 116, 111, 108, 110,
+  113, 115, 114, 112, 116, 116, 114, 111, 108, 109, 110, 115, 111, 111, 121, 119,
+  109, 111, 116, 110, 116, 124, 122, 119, 122, 118, 115, 123, 116, 115, 115, 114,
+  114, 114, 114, 115, 118, 114, 115, 116, 119, 122, 121, 119, 111, 109, 106, 103,
+  102, 99, 98, 97, 95, 96, 100, 105, 110, 111, 108, 102, 103, 103, 104, 104,
+  105, 105, 107, 108, 111, 111, 114, 120, 126, 125, 121, 116, 112, 118, 119, 115,
+  113, 112, 114, 113, 110, 111, 109, 107, 102, 95, 86, 83, 82, 99, 103, 67,
+  62, 67, 70, 70, 72, 60, 33, 77, 85, 89, 85, 83, 83, 85, 80, 74,
+  82, 82, 81, 86, 83, 82, 91, 83, 90, 97, 97, 93, 89, 89, 92, 96,
+  92, 92, 97, 95, 91, 92, 96, 96, 98, 102, 102, 101, 100, 99, 97, 96,
+  95, 95, 96, 99, 100, 98, 97, 104, 105, 104, 106, 107, 108, 109, 107, 101,
+  100, 98, 97, 97, 98, 99, 100, 100, 102, 101, 97, 99, 102, 106, 104, 103,
+  108, 114, 111, 105, 104, 109, 115, 107, 108, 107, 105, 104, 104, 106, 108, 103,
+  105, 106, 104, 106, 107, 105, 100, 105, 108, 113, 113, 111, 112, 118, 121, 119,
+  116, 115, 118, 120, 119, 115, 112, 108, 111, 115, 117, 119, 119, 117, 116, 117,
+  118, 120, 118, 118, 119, 119, 121, 121, 121, 119, 118, 116, 115, 115, 114, 118,
+  120, 120, 119, 117, 115, 111, 110, 112, 109, 109, 110, 113, 116, 117, 117, 113,
+  111, 107, 104, 103, 103, 104, 105, 105, 104, 102, 102, 101, 101, 103, 103, 108,
+  111, 107, 100, 97, 103, 105, 102, 107, 106, 105, 107, 113, 117, 117, 112, 111,
+  110, 110, 107, 104, 102, 105, 108, 100, 101, 102, 101, 97, 90, 82, 75, 77,
+  80, 88, 56, 53, 61, 64, 63, 59, 49, 28, 77, 86, 92, 88, 81, 81,
+  84, 81, 83, 85, 82, 82, 93, 92, 88, 92, 97, 97, 97, 95, 93, 91,
+  90, 90, 99, 96, 96, 100, 98, 94, 94, 98, 92, 95, 98, 98, 96, 95,
+  95, 94, 92, 91, 92, 96, 99, 100, 101, 100, 102, 103, 102, 103, 102, 103,
+  103, 103, 106, 103, 101, 100, 99, 100, 100, 101, 98, 101, 102, 99, 100, 103,
+  103, 102, 105, 108, 110, 108, 104, 104, 107, 111, 105, 106, 106, 104, 103, 103,
+  106, 106, 102, 107, 109, 105, 104, 106, 110, 110, 113, 112, 113, 113, 114, 116,
+  118, 116, 116, 113, 113, 114, 117, 117, 115, 112, 112, 113, 116, 117, 118, 118,
+  117, 118, 121, 124, 125, 123, 122, 118, 117, 115, 117, 117, 117, 117, 117, 116,
+  113, 115, 115, 117, 117, 116, 116, 114, 114, 113, 122, 119, 116, 113, 114, 114,
+  113, 112, 114, 114, 114, 113, 111, 109, 106, 105, 105, 104, 103, 102, 101, 102,
+  103, 104, 104, 107, 107, 102, 102, 106, 104, 100, 101, 102, 103, 105, 107, 111,
+  113, 112, 112, 112, 113, 111, 108, 106, 108, 110, 114, 109, 106, 106, 107, 104,
+  96, 89, 85, 83, 81, 59, 55, 68, 77, 72, 65, 61, 56, 72, 83, 92,
+  92, 88, 91, 97, 96, 92, 91, 87, 89, 102, 103, 98, 100, 93, 90, 87,
+  89, 95, 101, 104, 104, 104, 102, 102, 104, 102, 99, 99, 101, 92, 94, 95,
+  95, 93, 93, 94, 94, 89, 88, 90, 94, 98, 100, 102, 103, 105, 105, 103,
+  104, 102, 103, 102, 102, 102, 101, 100, 99, 99, 99, 99, 99, 98, 103, 105,
+  104, 104, 106, 104, 100, 108, 108, 107, 107, 106, 107, 107, 108, 105, 106, 106,
+  105, 104, 105, 108, 109, 103, 108, 112, 106, 104, 106, 114, 118, 120, 115, 113,
+  114, 117, 118, 118, 112, 118, 115, 115, 117, 120, 120, 119, 118, 117, 117, 117,
+  117, 117, 117, 116, 118, 120, 122, 124, 125, 124, 120, 116, 112, 115, 115, 117,
+  118, 117, 116, 115, 116, 115, 114, 114, 114, 115, 117, 119, 120, 126, 121, 118,
+  116, 115, 112, 110, 110, 112, 114, 116, 117, 115, 111, 106, 103, 103, 102, 102,
+  102, 102, 103, 104, 105, 98, 103, 107, 105, 106, 105, 103, 99, 103, 104, 108,
+  109, 111, 114, 118, 120, 110, 111, 112, 111, 109, 107, 107, 107, 117, 109, 102,
+  102, 107, 107, 100, 90, 89, 84, 80, 72, 66, 79, 87, 78, 67, 73, 76,
+  85, 89, 89, 82, 73, 69, 65, 60, 55, 58, 56, 57, 69, 71, 67, 71,
+  65, 65, 66, 71, 78, 84, 91, 95, 102, 103, 102, 103, 101, 99, 99, 100,
+  96, 97, 98, 97, 95, 95, 97, 99, 93, 92, 93, 96, 99, 103, 104, 103,
+  108, 108, 108, 106, 104, 104, 102, 102, 101, 99, 101, 99, 101, 100, 102, 101,
+  103, 105, 109, 105, 107, 108, 109, 105, 113, 110, 108, 108, 110, 111, 110, 108,
+  106, 107, 107, 106, 106, 107, 110, 113, 105, 108, 110, 107, 106, 109, 115, 115,
+  119, 116, 115, 115, 116, 117, 118, 114, 118, 118, 118, 119, 120, 120, 120, 120,
+  120, 119, 118, 117, 117, 118, 119, 120, 117, 118, 121, 121, 123, 120, 118, 115,
+  116, 117, 119, 118, 118, 117, 115, 114, 116, 116, 115, 115, 116, 118, 121, 121,
+  117, 115, 113, 111, 112, 112, 111, 109, 107, 110, 113, 114, 113, 110, 107, 105,
+  104, 104, 103, 103, 103, 103, 103, 103, 99, 99, 102, 104, 102, 102, 101, 101,
+  101, 106, 111, 112, 113, 115, 121, 125, 122, 123, 124, 124, 122, 120, 118, 117,
+  122, 117, 112, 112, 113, 112, 107, 100, 98, 95, 94, 81, 71, 79, 81, 68,
+  57, 66, 72, 65, 70, 73, 79, 86, 96, 98, 92, 77, 85, 86, 84, 90,
+  89, 86, 94, 87, 91, 93, 94, 92, 92, 97, 103, 96, 98, 98, 97, 95,
+  96, 96, 95, 98, 99, 99, 99, 96, 97, 99, 101, 99, 98, 97, 99, 103,
+  106, 105, 106, 109, 107, 106, 104, 102, 102, 100, 100, 102, 103, 105, 106, 109,
+  109, 111, 110, 109, 110, 111, 106, 108, 111, 113, 111, 116, 112, 109, 109, 112,
+  113, 111, 108, 105, 106, 107, 106, 106, 107, 110, 112, 107, 109, 109, 108, 111,
+  114, 112, 105, 112, 114, 115, 114, 114, 114, 116, 119, 116, 116, 116, 115, 114,
+  114, 114, 115, 120, 119, 118, 118, 118, 120, 123, 124, 120, 118, 118, 116, 119,
+  120, 119, 117, 116, 114, 115, 115, 114, 110, 108, 109, 116, 115, 113, 113, 113,
+  113, 116, 118, 112, 109, 109, 110, 111, 110, 109, 109, 107, 107, 107, 108, 108,
+  109, 109, 109, 106, 105, 105, 104, 102, 101, 99, 99, 101, 98, 97, 98, 98,
+  97, 100, 101, 100, 105, 112, 117, 116, 118, 124, 127, 128, 128, 128, 128, 127,
+  125, 122, 120, 120, 121, 123, 121, 117, 113, 109, 107, 101, 99, 102, 75, 66,
+  73, 76, 67, 67, 78, 80, 104, 106, 103, 101, 102, 102, 99, 89, 90, 99,
+  100, 96, 98, 92, 90, 97, 85, 89, 95, 92, 86, 82, 84, 90, 96, 101,
+  101, 99, 100, 101, 101, 98, 98, 98, 99, 99, 98, 96, 98, 99, 102, 102,
+  101, 104, 107, 108, 109, 108, 111, 111, 109, 107, 107, 105, 104, 103, 102, 103,
+  107, 107, 111, 110, 113, 111, 113, 113, 113, 107, 109, 112, 116, 113, 114, 111,
+  108, 108, 110, 111, 109, 106, 103, 104, 104, 103, 103, 104, 106, 109, 110, 107,
+  106, 107, 112, 116, 111, 101, 109, 113, 116, 115, 114, 113, 118, 122, 117, 118,
+  118, 116, 113, 113, 114, 115, 118, 118, 117, 117, 118, 120, 122, 123, 126, 122,
+  117, 116, 118, 117, 116, 113, 111, 111, 110, 108, 105, 104, 103, 105, 113, 112,
+  111, 110, 108, 109, 110, 111, 112, 111, 111, 111, 110, 110, 107, 105, 109, 109,
+  108, 107, 107, 109, 112, 114, 108, 108, 108, 106, 104, 102, 100, 98, 103, 98,
+  95, 96, 95, 95, 100, 106, 106, 113, 121, 127, 129, 130, 133, 135, 132, 133,
+  131, 130, 130, 129, 126, 124, 123, 128, 133, 131, 125, 120, 119, 120, 116, 114,
+  115, 67, 63, 70, 72, 72, 82, 91, 87, 78, 87, 94, 92, 93, 95, 99,
+  99, 95, 100, 99, 95, 101, 97, 93, 97, 95, 96, 99, 97, 95, 94, 94,
+  97, 99, 105, 106, 103, 104, 107, 108, 102, 97, 99, 102, 101, 99, 98, 98,
+  99, 102, 103, 102, 106, 109, 112, 114, 113, 115, 113, 111, 110, 110, 108, 107,
+  108, 103, 104, 107, 107, 110, 108, 109, 107, 111, 112, 114, 109, 112, 113, 116,
+  112, 114, 112, 110, 109, 109, 109, 108, 108, 106, 106, 106, 105, 103, 104, 106,
+  109, 108, 109, 108, 108, 112, 116, 113, 107, 113, 113, 115, 115, 115, 116, 118,
+  119, 117, 118, 118, 117, 114, 114, 117, 119, 117, 116, 116, 116, 116, 116, 117,
+  117, 125, 121, 117, 117, 119, 117, 113, 108, 110, 109, 107, 105, 104, 105, 106,
+  107, 110, 110, 109, 109, 109, 110, 108, 109, 112, 111, 109, 109, 110, 109, 106,
+  104, 110, 111, 108, 106, 106, 107, 109, 110, 109, 109, 109, 108, 107, 105, 102,
+  101, 103, 95, 93, 96, 98, 97, 102, 111, 110, 117, 124, 133, 139, 140, 140,
+  139, 146, 145, 142, 141, 141, 141, 139, 136, 137, 138, 140, 140, 138, 137, 138,
+  139, 139, 140, 140, 64, 61, 67, 67, 67, 79, 82, 66, 68, 82, 93, 91,
+  84, 86, 92, 97, 94, 96, 91, 93, 105, 103, 98, 99, 100, 96, 93, 90,
+  91, 91, 87, 87, 94, 101, 103, 98, 101, 105, 106, 100, 100, 103, 106, 105,
+  104, 103, 102, 102, 101, 102, 103, 107, 111, 116, 116, 115, 111, 111, 109, 108,
+  106, 105, 104, 105, 108, 110, 111, 112, 112, 110, 109, 108, 107, 112, 114, 112,
+  113, 115, 113, 109, 117, 115, 114, 112, 111, 110, 110, 111, 110, 111, 110, 108,
+  107, 107, 109, 111, 107, 109, 110, 108, 109, 114, 117, 116, 119, 115, 113, 114,
+  118, 120, 119, 116, 110, 112, 113, 112, 110, 111, 114, 118, 116, 116, 115, 114,
+  113, 112, 112, 111, 119, 117, 116, 119, 121, 121, 115, 109, 111, 110, 107, 105,
+  106, 108, 111, 113, 110, 111, 111, 112, 113, 114, 112, 112, 108, 107, 106, 107,
+  109, 109, 106, 105, 111, 110, 108, 105, 104, 103, 103, 103, 107, 108, 109, 109,
+  109, 107, 105, 104, 101, 94, 94, 99, 102, 103, 107, 115, 108, 112, 121, 131,
+  140, 141, 137, 134, 135, 135, 130, 128, 129, 130, 128, 126, 124, 121, 119, 120,
+  124, 128, 129, 129, 123, 128, 132, 62, 62, 69, 79, 86, 90, 89, 86, 65,
+  93, 104, 90, 79, 88, 90, 84, 95, 94, 96, 97, 98, 96, 96, 94, 97,
+  100, 99, 92, 90, 92, 91, 88, 94, 98, 100, 98, 97, 95, 99, 100, 98,
+  101, 104, 103, 103, 103, 104, 105, 104, 106, 105, 108, 109, 113, 115, 117, 114,
+  117, 114, 105, 101, 105, 107, 107, 108, 108, 107, 111, 117, 119, 118, 115, 121,
+  115, 114, 119, 121, 117, 116, 118, 114, 113, 111, 110, 109, 107, 105, 103, 112,
+  112, 112, 109, 107, 108, 113, 116, 113, 113, 114, 114, 114, 112, 109, 108, 111,
+  112, 113, 114, 114, 113, 111, 110, 111, 115, 118, 117, 112, 110, 113, 117, 114,
+  115, 116, 117, 117, 116, 114, 113, 118, 116, 117, 118, 117, 116, 117, 115, 114,
+  113, 112, 112, 113, 116, 119, 120, 115, 114, 113, 116, 117, 118, 115, 112, 114,
+  109, 104, 105, 106, 108, 106, 102, 108, 109, 108, 108, 110, 111, 111, 111, 111,
+  112, 114, 114, 112, 107, 102, 96, 100, 93, 97, 100, 95, 96, 108, 113, 120,
+  120, 117, 107, 106, 118, 129, 137, 139, 140, 138, 136, 132, 129, 132, 137, 129,
+  129, 129, 129, 128, 128, 128, 128, 128, 126, 125, 67, 67, 70, 72, 76, 73,
+  69, 63, 72, 89, 97, 89, 87, 93, 95, 87, 90, 91, 91, 93, 94, 95,
+  95, 96, 84, 89, 89, 87, 89, 94, 96, 92, 90, 93, 93, 93, 94, 95,
+  96, 98, 97, 98, 99, 100, 100, 102, 106, 108, 108, 107, 107, 107, 108, 111,
+  113, 114, 116, 118, 117, 107, 105, 103, 103, 100, 107, 111, 113, 114, 115, 116,
+  117, 118, 120, 115, 114, 118, 120, 117, 116, 116, 113, 112, 110, 109, 108, 108,
+  107, 107, 108, 110, 111, 110, 109, 110, 113, 117, 110, 110, 111, 111, 110, 108,
+  105, 104, 112, 112, 113, 113, 113, 112, 110, 109, 108, 113, 118, 118, 114, 111,
+  111, 113, 108, 109, 110, 112, 112, 113, 113, 113, 115, 113, 115, 116, 116, 118,
+  117, 116, 113, 112, 112, 111, 112, 114, 116, 118, 118, 116, 115, 115, 117, 116,
+  115, 111, 109, 105, 103, 106, 111, 110, 109, 105, 109, 111, 113, 109, 106, 104,
+  107, 109, 109, 110, 113, 114, 115, 112, 111, 108, 113, 105, 107, 108, 101, 100,
+  110, 113, 103, 112, 125, 131, 124, 115, 120, 134, 139, 136, 135, 139, 144, 142,
+  135, 128, 130, 130, 129, 128, 127, 126, 125, 125, 129, 129, 132, 80, 81, 84,
+  86, 89, 87, 85, 83, 88, 89, 90, 89, 93, 96, 94, 87, 93, 93, 94,
+  96, 96, 96, 96, 96, 89, 92, 94, 93, 93, 93, 94, 90, 94, 93, 92,
+  93, 94, 96, 97, 97, 101, 102, 103, 103, 102, 105, 110, 114, 113, 113, 112,
+  113, 113, 116, 117, 115, 115, 117, 118, 111, 109, 105, 104, 101, 105, 112, 115,
+  114, 111, 111, 114, 118, 114, 110, 108, 112, 113, 111, 110, 111, 113, 112, 109,
+  107, 105, 104, 105, 105, 105, 107, 110, 110, 109, 108, 108, 109, 107, 107, 108,
+  109, 108, 108, 107, 107, 112, 112, 111, 111, 110, 109, 108, 109, 109, 114, 120,
+  121, 118, 115, 113, 114, 113, 113, 113, 113, 113, 114, 115, 116, 113, 113, 115,
+  116, 116, 118, 117, 117, 119, 118, 118, 117, 117, 118, 120, 121, 125, 121, 121,
+  119, 119, 119, 119, 116, 117, 114, 113, 115, 117, 114, 111, 106, 112, 116, 120,
+  113, 108, 103, 108, 111, 107, 106, 110, 109, 112, 110, 112, 110, 112, 103, 105,
+  106, 98, 98, 106, 107, 115, 111, 117, 133, 131, 119, 124, 144, 153, 151, 145,
+  142, 144, 144, 141, 137, 141, 140, 139, 138, 136, 135, 133, 133, 125, 127, 131,
+  79, 79, 83, 87, 92, 94, 95, 94, 100, 95, 90, 94, 96, 94, 90, 89,
+  95, 94, 94, 94, 94, 93, 92, 93, 95, 96, 97, 96, 95, 95, 93, 90,
+  99, 96, 93, 94, 95, 97, 96, 94, 108, 110, 112, 112, 111, 112, 115, 118,
+  115, 115, 115, 117, 118, 118, 119, 119, 115, 116, 117, 114, 111, 110, 109, 109,
+  108, 112, 113, 112, 110, 110, 112, 115, 114, 111, 110, 111, 112, 112, 110, 110,
+  113, 112, 109, 105, 101, 100, 100, 101, 103, 105, 108, 109, 107, 104, 101, 100,
+  103, 104, 106, 108, 108, 110, 112, 112, 110, 110, 109, 109, 110, 110, 110, 110,
+  109, 113, 117, 118, 116, 114, 114, 114, 119, 118, 116, 115, 114, 115, 116, 117,
+  114, 115, 115, 116, 116, 115, 115, 117, 122, 123, 122, 121, 120, 122, 123, 121,
+  124, 121, 121, 118, 118, 117, 120, 119, 118, 116, 115, 114, 117, 115, 115, 112,
+  119, 122, 123, 119, 115, 113, 114, 117, 113, 112, 111, 110, 109, 109, 109, 107,
+  114, 105, 108, 113, 107, 109, 117, 118, 126, 107, 101, 114, 128, 132, 136, 142,
+  143, 150, 154, 146, 143, 141, 146, 145, 149, 146, 148, 145, 146, 143, 144, 144,
+  144, 148, 148, 85, 84, 86, 87, 88, 89, 90, 90, 101, 96, 94, 98, 95,
+  91, 89, 94, 87, 87, 88, 88, 90, 90, 89, 91, 93, 93, 97, 100, 100,
+  101, 100, 100, 101, 97, 92, 94, 98, 101, 98, 96, 110, 113, 115, 117, 116,
+  115, 114, 114, 110, 111, 112, 116, 117, 118, 119, 117, 118, 115, 114, 111, 108,
+  107, 108, 112, 111, 108, 105, 106, 108, 110, 109, 108, 115, 114, 113, 112, 113,
+  114, 113, 110, 112, 112, 112, 109, 105, 104, 106, 108, 103, 105, 108, 110, 111,
+  109, 106, 103, 107, 108, 106, 108, 109, 111, 110, 111, 107, 107, 106, 108, 107,
+  109, 110, 113, 109, 111, 111, 110, 110, 111, 112, 114, 115, 114, 113, 112, 112,
+  114, 115, 116, 119, 118, 117, 117, 116, 114, 114, 115, 118, 119, 118, 117, 116,
+  118, 118, 118, 116, 114, 115, 113, 113, 113, 118, 118, 112, 108, 107, 107, 111,
+  115, 119, 120, 121, 120, 117, 117, 120, 121, 119, 117, 119, 118, 116, 114, 112,
+  112, 111, 112, 111, 99, 103, 110, 106, 109, 114, 114, 106, 103, 99, 106, 122,
+  134, 135, 128, 121, 131, 142, 143, 147, 148, 147, 138, 145, 143, 145, 143, 145,
+  143, 145, 146, 151, 153, 152, 89, 88, 92, 91, 93, 92, 95, 96, 94, 95,
+  96, 98, 95, 93, 94, 99, 83, 84, 86, 88, 92, 95, 95, 98, 101, 100,
+  99, 104, 106, 103, 105, 106, 102, 100, 100, 100, 106, 107, 109, 107, 113, 116,
+  121, 122, 124, 120, 119, 116, 114, 113, 117, 119, 120, 121, 122, 122, 125, 119,
+  114, 110, 105, 100, 101, 106, 111, 107, 103, 103, 108, 110, 109, 106, 111, 111,
+  110, 107, 108, 110, 109, 104, 108, 111, 114, 113, 111, 110, 113, 116, 104, 104,
+  105, 109, 112, 114, 113, 112, 112, 111, 108, 107, 106, 106, 104, 105, 107, 107,
+  105, 107, 106, 109, 111, 114, 114, 114, 113, 112, 112, 115, 117, 119, 112, 112,
+  113, 114, 115, 117, 119, 120, 120, 118, 118, 115, 113, 111, 112, 112, 115, 115,
+  117, 116, 116, 116, 116, 115, 113, 113, 114, 115, 115, 114, 117, 119, 122, 118,
+  113, 108, 107, 109, 112, 116, 117, 113, 109, 111, 117, 120, 117, 113, 113, 112,
+  111, 111, 111, 111, 111, 112, 109, 96, 101, 106, 101, 101, 107, 104, 102, 109,
+  110, 103, 104, 118, 133, 141, 142, 139, 130, 126, 137, 148, 147, 135, 141, 140,
+  142, 141, 143, 143, 144, 145, 141, 141, 143, 76, 76, 80, 80, 83, 84, 90,
+  95, 91, 95, 98, 96, 94, 97, 98, 96, 89, 90, 91, 93, 95, 98, 100,
+  102, 102, 98, 98, 102, 102, 99, 102, 105, 106, 103, 104, 103, 104, 104, 106,
+  106, 114, 116, 121, 122, 125, 123, 124, 123, 121, 121, 124, 126, 127, 127, 127,
+  125, 126, 120, 117, 114, 108, 100, 99, 104, 107, 105, 103, 103, 104, 107, 108,
+  109, 104, 106, 104, 100, 101, 104, 103, 99, 106, 111, 116, 116, 112, 110, 111,
+  113, 108, 106, 104, 105, 109, 112, 112, 111, 113, 112, 109, 108, 107, 108, 107,
+  108, 109, 109, 106, 106, 105, 107, 108, 112, 116, 116, 115, 115, 117, 119, 120,
+  120, 115, 115, 116, 116, 117, 116, 116, 116, 118, 116, 116, 113, 111, 110, 112,
+  112, 114, 114, 115, 115, 115, 116, 116, 115, 110, 113, 116, 116, 115, 112, 114,
+  114, 123, 121, 117, 110, 105, 103, 103, 106, 111, 109, 106, 107, 111, 113, 112,
+  110, 103, 104, 104, 105, 106, 106, 106, 106, 116, 103, 107, 112, 107, 107, 110,
+  105, 108, 111, 109, 103, 96, 103, 124, 144, 149, 149, 140, 124, 127, 137, 143,
+  137, 141, 139, 141, 139, 142, 140, 142, 142, 145, 143, 145, 83, 84, 85, 84,
+  83, 82, 87, 91, 92, 96, 97, 94, 94, 97, 97, 90, 98, 100, 100, 101,
+  102, 104, 105, 106, 93, 89, 91, 98, 102, 102, 107, 113, 112, 111, 112, 108,
+  103, 101, 102, 103, 116, 117, 118, 120, 120, 122, 124, 125, 122, 122, 124, 125,
+  125, 124, 124, 122, 127, 122, 122, 122, 119, 110, 107, 112, 107, 107, 108, 106,
+  103, 104, 109, 114, 108, 110, 108, 104, 104, 108, 107, 102, 108, 113, 117, 116,
+  109, 104, 102, 103, 113, 108, 103, 101, 102, 104, 104, 104, 111, 109, 109, 110,
+  112, 114, 117, 117, 114, 112, 111, 109, 108, 109, 110, 112, 111, 113, 114, 116,
+  118, 119, 117, 116, 120, 120, 119, 118, 115, 112, 108, 106, 117, 116, 114, 112,
+  112, 112, 113, 113, 107, 108, 110, 111, 111, 113, 112, 111, 105, 106, 110, 110,
+  107, 106, 106, 107, 105, 106, 107, 106, 103, 103, 104, 107, 109, 112, 112, 111,
+  110, 110, 112, 113, 107, 108, 109, 109, 110, 109, 108, 106, 102, 91, 92, 98,
+  95, 95, 99, 96, 102, 96, 100, 113, 111, 100, 99, 115, 106, 135, 153, 147,
+  133, 131, 134, 136, 137, 137, 136, 136, 135, 135, 134, 136, 141, 139, 137, 95,
+  89, 87, 90, 90, 85, 82, 85, 95, 89, 90, 96, 100, 93, 91, 94, 97,
+  97, 112, 106, 111, 110, 95, 120, 115, 117, 117, 116, 113, 111, 112, 110, 122,
+  116, 117, 124, 126, 122, 124, 129, 128, 116, 113, 121, 125, 124, 120, 119, 116,
+  118, 121, 121, 119, 119, 125, 128, 132, 131, 127, 124, 123, 123, 123, 119, 111,
+  109, 110, 110, 110, 110, 111, 111, 104, 103, 103, 107, 111, 112, 109, 105, 115,
+  117, 116, 115, 115, 116, 116, 117, 109, 112, 114, 112, 108, 107, 112, 116, 119,
+  114, 111, 108, 109, 110, 113, 117, 111, 112, 115, 119, 119, 119, 119, 118, 112,
+  115, 117, 117, 117, 118, 121, 124, 121, 117, 114, 114, 116, 117, 114, 111, 114,
+  111, 112, 115, 116, 112, 111, 114, 110, 109, 109, 110, 112, 114, 112, 110, 114,
+  118, 118, 114, 115, 120, 121, 116, 120, 114, 111, 112, 111, 106, 106, 114, 112,
+  115, 115, 115, 113, 111, 108, 107, 108, 106, 104, 103, 103, 104, 106, 107, 104,
+  112, 96, 87, 101, 72, 99, 115, 112, 120, 122, 113, 110, 106, 92, 79, 86,
+  104, 134, 165, 146, 141, 117, 138, 134, 131, 136, 145, 146, 138, 136, 140, 143,
+  143, 143 };
+
+/* Define image 'test' of size 555x103x1x3 and type 'unsigned char' */
+const unsigned char data_logo[] = {
+  76, 77, 75, 75, 75, 99, 102, 72, 63, 0, 84, 115, 114, 110, 115, 80,
+  81, 108, 112, 69, 38, 87, 115, 118, 96, 116, 84, 88, 85, 107, 83, 72,
+  65, 0, 111, 131, 127, 72, 131, 75, 73, 77, 104, 102, 33, 56, 111, 110,
+  111, 114, 116, 112, 87, 80, 104, 100, 106, 24, 96, 79, 71, 71, 104, 108,
+  83, 69, 65, 57, 63, 32, 100, 120, 76, 79, 79, 65, 107, 67, 84, 69,
+  59, 32, 65, 112, 67, 68, 69, 111, 103, 71, 103, 59, 61, 4, 107, 111,
+  80, 118, 136, 80, 65, 106, 71, 96, 37, 38, 115, 123, 118, 57, 48, 57,
+  83, 57, 87, 51, 49, 12, 100, 106, 118, 111, 96, 100, 96, 68, 65, 55,
+  46, 0, 103, 106, 97, 103, 72, 65, 63, 93, 127, 68, 65, 17, 92, 126,
+  106, 65, 64, 96, 68, 61, 57, 55, 36, 67, 131, 110, 67, 106, 93, 63,
+  65, 63, 95, 130, 53, 0, 100, 79, 103, 99, 75, 59, 64, 93, 97, 89,
+  14, 104, 106, 65, 71, 67, 68, 103, 69, 55, 63, 99, 16, 97, 96, 72,
+  100, 99, 88, 75, 67, 69, 55, 52, 46, 1, 52, 123, 84, 87, 57, 85,
+  48, 93, 52, 49, 45, 17, 95, 100, 64, 103, 77, 57, 53, 49, 48, 48,
+  38, 5, 89, 93, 102, 99, 55, 59, 68, 52, 89, 36, 8, 136, 111, 112,
+  80, 136, 111, 106, 76, 85, 76, 79, 69, 38, 61, 108, 93, 68, 59, 65,
+  92, 59, 89, 52, 28, 52, 128, 147, 127, 154, 100, 93, 96, 128, 85, 88,
+  26, 53, 93, 99, 89, 52, 56, 52, 103, 49, 49, 76, 22, 73, 103, 124,
+  89, 132, 56, 51, 45, 52, 42, 53, 46, 12, 88, 55, 59, 59, 87, 57,
+  48, 51, 84, 40, 49, 12, 123, 96, 87, 91, 92, 63, 65, 99, 49, 44,
+  40, 4, 53, 118, 89, 111, 44, 46, 42, 73, 40, 41, 18, 81, 91, 88,
+  87, 83, 49, 56, 93, 93, 46, 41, 33, 1, 93, 63, 93, 92, 46, 57,
+  40, 44, 41, 80, 42, 1, 123, 95, 134, 69, 53, 84, 45, 41, 37, 36,
+  17, 61, 91, 49, 102, 85, 38, 85, 87, 32, 36, 36, 5, 97, 142, 114,
+  83, 72, 76, 143, 108, 69, 71, 64, 57, 1, 73, 79, 79, 48, 41, 42,
+  48, 45, 44, 45, 44, 8, 79, 83, 38, 102, 68, 77, 30, 33, 30, 28,
+  26, 2, 87, 107, 88, 93, 111, 34, 83, 88, 41, 36, 30, 20, 0, 108,
+  115, 99, 91, 88, 69, 64, 60, 56, 61, 1, 115, 89, 116, 71, 26, 76,
+  33, 84, 30, 26, 5, 75, 106, 53, 73, 32, 71, 24, 65, 97, 55, 26,
+  20, 10, 48, 89, 80, 89, 85, 46, 21, 22, 30, 32, 22, 5, 77, 75,
+  28, 71, 38, 79, 25, 20, 18, 16, 0, 114, 107, 95, 21, 24, 83, 69,
+  73, 102, 30, 20, 16, 1, 85, 21, 21, 14, 16, 95, 75, 40, 17, 16,
+  10, 1, 38, 80, 48, 77, 93, 10, 17, 21, 9, 14, 6, 0, 71, 76,
+  21, 16, 9, 10, 22, 71, 16, 13, 6, 0, 38, 96, 67, 42, 29, 96,
+  30, 30, 33, 24, 57, 18, 12, 97, 38, 114, 30, 110, 104, 110, 75, 75,
+  93, 99, 77, 60, 0, 88, 120, 108, 103, 119, 87, 80, 106, 112, 63, 34,
+  88, 106, 115, 108, 92, 84, 85, 84, 104, 89, 75, 65, 0, 107, 122, 118,
+  76, 118, 76, 72, 88, 96, 91, 45, 61, 106, 107, 108, 93, 92, 76, 79,
+  95, 81, 89, 97, 37, 92, 85, 71, 72, 77, 108, 99, 83, 67, 57, 60,
+  42, 100, 124, 80, 77, 89, 75, 107, 77, 89, 67, 52, 29, 67, 112, 69,
+  68, 69, 106, 99, 75, 99, 57, 59, 1, 106, 107, 96, 112, 130, 87, 65,
+  102, 75, 87, 30, 42, 97, 114, 68, 49, 55, 63, 69, 72, 59, 46, 44,
+  17, 96, 102, 97, 131, 106, 92, 95, 95, 64, 57, 48, 0, 99, 102, 110,
+  96, 72, 67, 71, 87, 107, 84, 65, 18, 87, 120, 103, 71, 68, 91, 95,
+  64, 53, 57, 34, 67, 119, 92, 67, 79, 80, 84, 63, 64, 87, 115, 48,
+  0, 99, 87, 88, 97, 76, 63, 69, 85, 95, 85, 20, 111, 102, 72, 76,
+  60, 95, 93, 64, 64, 55, 84, 25, 91, 96, 88, 93, 72, 73, 73, 65,
+  80, 53, 53, 41, 0, 65, 107, 73, 57, 72, 75, 52, 77, 51, 51, 46,
+  24, 89, 103, 68, 92, 88, 65, 73, 71, 57, 46, 44, 5, 84, 89, 87,
+  64, 57, 80, 59, 61, 79, 41, 12, 126, 110, 111, 91, 107, 110, 99, 83,
+  95, 77, 87, 69, 36, 63, 110, 95, 59, 69, 87, 81, 56, 85, 61, 26,
+  56, 123, 136, 120, 135, 99, 88, 97, 122, 85, 85, 32, 61, 93, 97, 77,
+  49, 63, 55, 92, 51, 49, 65, 21, 69, 106, 115, 91, 112, 67, 56, 49,
+  48, 44, 52, 48, 18, 68, 63, 65, 89, 85, 67, 48, 48, 69, 45, 48,
+  12, 118, 102, 73, 83, 53, 53, 71, 92, 42, 45, 41, 5, 64, 103, 84,
+  110, 41, 46, 48, 65, 40, 40, 17, 77, 87, 88, 83, 57, 84, 84, 87,
+  65, 46, 49, 33, 1, 93, 67, 89, 81, 48, 52, 51, 36, 51, 67, 40,
+  2, 114, 112, 100, 65, 38, 81, 45, 44, 36, 34, 17, 64, 83, 87, 95,
+  57, 36, 83, 84, 32, 36, 34, 8, 91, 128, 108, 103, 68, 68, 110, 103,
+  67, 81, 67, 61, 8, 69, 73, 68, 44, 40, 41, 37, 42, 40, 41, 41,
+  12, 77, 81, 52, 83, 59, 76, 30, 32, 37, 28, 22, 4, 83, 83, 83,
+  93, 76, 38, 75, 81, 51, 36, 28, 20, 0, 115, 119, 89, 83, 67, 65,
+  65, 57, 56, 55, 0, 102, 104, 115, 57, 28, 68, 37, 81, 36, 25, 6,
+  72, 108, 63, 65, 33, 63, 24, 25, 22, 22, 28, 21, 10, 48, 97, 61,
+  79, 81, 42, 24, 24, 59, 37, 28, 5, 75, 61, 36, 44, 49, 72, 28,
+  20, 20, 13, 1, 102, 91, 76, 40, 24, 85, 75, 55, 49, 40, 21, 14,
+  1, 83, 41, 28, 17, 13, 25, 84, 73, 17, 25, 10, 0, 51, 77, 60,
+  88, 51, 26, 17, 24, 8, 8, 6, 0, 75, 72, 18, 18, 12, 10, 12,
+  69, 21, 34, 6, 0, 34, 87, 61, 48, 28, 79, 34, 28, 29, 21, 51,
+  16, 12, 104, 51, 104, 41, 84, 97, 85, 75, 75, 88, 100, 77, 69, 8,
+  91, 115, 103, 110, 110, 89, 80, 93, 108, 67, 32, 88, 111, 108, 112, 88,
+  87, 79, 85, 100, 87, 76, 64, 0, 106, 110, 81, 106, 92, 76, 73, 79,
+  102, 91, 42, 64, 110, 96, 77, 79, 96, 96, 95, 88, 88, 85, 103, 36,
+  85, 84, 73, 69, 71, 87, 100, 95, 76, 57, 57, 42, 102, 126, 79, 81,
+  77, 77, 85, 91, 81, 69, 65, 28, 73, 97, 73, 69, 87, 104, 80, 91,
+  92, 56, 59, 2, 92, 106, 83, 81, 79, 72, 67, 100, 77, 81, 28, 42,
+  104, 108, 65, 41, 63, 42, 48, 46, 46, 51, 44, 17, 91, 100, 99, 100,
+  116, 100, 80, 91, 67, 57, 48, 0, 97, 111, 104, 88, 79, 65, 67, 68,
+  65, 76, 65, 24, 79, 118, 99, 69, 64, 76, 97, 60, 59, 59, 33, 68,
+  115, 103, 100, 85, 81, 83, 81, 67, 81, 102, 60, 1, 88, 88, 96, 87,
+  84, 68, 72, 80, 89, 79, 21, 104, 102, 69, 68, 93, 68, 59, 71, 65,
+  51, 79, 28, 87, 96, 80, 75, 83, 77, 72, 72, 67, 52, 52, 53, 9,
+  51, 103, 72, 63, 75, 71, 57, 69, 51, 49, 46, 26, 85, 102, 68, 91,
+  76, 76, 63, 67, 59, 51, 42, 4, 80, 88, 76, 64, 77, 52, 59, 48,
+  71, 32, 13, 118, 107, 108, 100, 88, 76, 80, 91, 77, 83, 83, 68, 33,
+  64, 104, 91, 64, 68, 104, 84, 63, 73, 67, 28, 80, 122, 122, 119, 126,
+  108, 96, 103, 119, 89, 87, 37, 59, 93, 95, 76, 55, 63, 56, 87, 49,
+  46, 59, 20, 69, 100, 107, 92, 108, 80, 53, 51, 45, 44, 51, 48, 20,
+  83, 68, 63, 100, 61, 59, 51, 48, 68, 45, 52, 20, 106, 96, 72, 80,
+  104, 106, 104, 87, 45, 46, 34, 9, 65, 96, 83, 76, 41, 45, 56, 41,
+  40, 41, 22, 68, 85, 87, 81, 63, 59, 48, 61, 49, 45, 45, 32, 9,
+  100, 73, 103, 53, 37, 49, 51, 34, 44, 57, 40, 2, 107, 89, 112, 91,
+  63, 89, 49, 45, 41, 30, 21, 75, 69, 96, 73, 37, 44, 80, 87, 33,
+  34, 36, 8, 83, 128, 110, 95, 81, 72, 76, 69, 69, 76, 68, 60, 5,
+  67, 79, 53, 37, 36, 34, 34, 37, 44, 37, 33, 10, 73, 84, 59, 71,
+  52, 68, 32, 33, 34, 30, 26, 0, 80, 81, 87, 103, 49, 37, 63, 84,
+  45, 37, 29, 20, 0, 95, 120, 89, 80, 65, 69, 65, 69, 53, 55, 0,
+  96, 91, 60, 33, 59, 56, 60, 76, 30, 26, 8, 64, 99, 55, 85, 30,
+  28, 22, 22, 22, 22, 28, 18, 9, 44, 87, 71, 76, 75, 44, 25, 26,
+  30, 37, 25, 10, 67, 55, 57, 59, 51, 65, 26, 21, 20, 16, 1, 96,
+  69, 61, 30, 22, 79, 75, 48, 42, 33, 34, 16, 0, 92, 22, 24, 25,
+  16, 16, 14, 75, 49, 24, 10, 0, 51, 64, 72, 103, 24, 16, 37, 37,
+  8, 8, 6, 0, 65, 72, 41, 30, 16, 9, 46, 32, 18, 18, 6, 0,
+  33, 34, 63, 51, 24, 22, 25, 28, 25, 25, 42, 13, 16, 96, 63, 93,
+  83, 80, 92, 85, 73, 75, 85, 93, 72, 68, 0, 92, 123, 100, 99, 110,
+  106, 81, 91, 99, 65, 26, 87, 108, 100, 81, 81, 99, 89, 91, 93, 97,
+  75, 63, 8, 104, 104, 77, 96, 80, 77, 73, 83, 88, 71, 42, 69, 106,
+  92, 114, 88, 103, 95, 91, 87, 79, 88, 91, 40, 83, 96, 79, 69, 71,
+  69, 75, 87, 64, 61, 53, 44, 106, 134, 67, 72, 75, 91, 80, 76, 67,
+  65, 64, 24, 71, 103, 69, 72, 93, 84, 85, 85, 71, 59, 56, 2, 102,
+  106, 100, 97, 93, 68, 84, 80, 89, 59, 25, 42, 92, 59, 42, 34, 36,
+  29, 34, 34, 36, 45, 37, 17, 87, 100, 89, 93, 110, 112, 83, 72, 71,
+  64, 41, 0, 95, 102, 102, 85, 83, 95, 79, 76, 71, 75, 67, 26, 76,
+  97, 96, 72, 67, 71, 88, 71, 56, 44, 29, 65, 110, 97, 103, 111, 91,
+  107, 95, 81, 75, 92, 57, 0, 84, 93, 79, 81, 83, 71, 65, 80, 75,
+  73, 25, 99, 97, 73, 71, 69, 68, 57, 60, 67, 46, 71, 30, 83, 89,
+  85, 87, 80, 76, 73, 75, 80, 52, 52, 52, 2, 63, 85, 63, 52, 72,
+  63, 57, 67, 48, 51, 46, 30, 81, 100, 76, 89, 97, 59, 69, 65, 59,
+  49, 38, 9, 65, 85, 93, 68, 42, 75, 60, 65, 67, 29, 12, 104, 111,
+  107, 97, 79, 84, 85, 77, 75, 88, 87, 68, 28, 67, 103, 84, 60, 75,
+  81, 69, 59, 69, 67, 28, 63, 120, 128, 112, 99, 95, 100, 115, 112, 89,
+  87, 42, 59, 88, 103, 53, 65, 55, 52, 99, 49, 44, 51, 17, 69, 99,
+  91, 84, 91, 96, 55, 61, 48, 44, 55, 48, 21, 73, 67, 71, 76, 65,
+  67, 56, 49, 61, 45, 55, 21, 103, 96, 71, 83, 75, 79, 61, 60, 59,
+  59, 32, 12, 67, 83, 84, 73, 41, 49, 55, 36, 38, 46, 24, 69, 83,
+  84, 77, 88, 56, 55, 55, 64, 38, 44, 33, 2, 87, 61, 76, 79, 33,
+  61, 64, 37, 41, 56, 41, 2, 92, 96, 110, 73, 60, 104, 56, 48, 38,
+  34, 24, 73, 52, 88, 68, 36, 40, 73, 72, 32, 34, 36, 6, 88, 120,
+  103, 69, 76, 72, 69, 65, 71, 83, 69, 57, 8, 52, 72, 40, 32, 30,
+  25, 36, 34, 40, 29, 29, 10, 67, 67, 53, 57, 46, 61, 37, 45, 37,
+  30, 28, 0, 77, 77, 77, 99, 37, 46, 57, 72, 57, 33, 30, 18, 0,
+  103, 120, 80, 73, 65, 69, 65, 71, 52, 55, 0, 88, 95, 56, 26, 52,
+  24, 44, 34, 52, 26, 9, 61, 75, 84, 61, 45, 22, 21, 22, 22, 22,
+  33, 25, 8, 52, 81, 75, 65, 64, 56, 26, 26, 38, 38, 29, 9, 72,
+  53, 53, 45, 52, 45, 25, 20, 18, 16, 1, 89, 60, 49, 34, 25, 76,
+  83, 87, 57, 40, 24, 18, 0, 88, 41, 34, 33, 10, 14, 14, 16, 38,
+  24, 10, 1, 57, 67, 57, 34, 10, 21, 21, 16, 8, 8, 6, 0, 60,
+  71, 20, 30, 21, 9, 30, 25, 28, 20, 6, 0, 16, 56, 52, 51, 22,
+  21, 21, 21, 14, 17, 26, 10, 18, 80, 63, 64, 92, 72, 75, 76, 75,
+  75, 88, 89, 69, 60, 0, 89, 97, 99, 102, 104, 106, 85, 84, 84, 64,
+  26, 84, 115, 110, 89, 96, 108, 96, 93, 95, 81, 71, 61, 0, 103, 106,
+  75, 100, 79, 79, 73, 77, 91, 65, 44, 68, 102, 106, 91, 88, 99, 104,
+  92, 92, 92, 85, 91, 41, 52, 88, 83, 69, 72, 69, 71, 69, 72, 57,
+  56, 46, 102, 110, 76, 92, 81, 95, 88, 79, 71, 65, 53, 22, 72, 99,
+  72, 89, 85, 79, 87, 89, 63, 57, 56, 12, 97, 92, 91, 80, 68, 83,
+  71, 77, 92, 57, 22, 41, 93, 51, 28, 29, 34, 42, 25, 30, 37, 51,
+  37, 21, 85, 99, 93, 89, 110, 88, 89, 73, 75, 53, 41, 0, 92, 89,
+  108, 93, 68, 76, 81, 88, 84, 72, 69, 30, 44, 93, 103, 85, 64, 65,
+  83, 75, 53, 42, 29, 64, 108, 100, 77, 88, 99, 89, 87, 89, 75, 93,
+  48, 0, 91, 99, 97, 77, 83, 75, 73, 79, 77, 75, 28, 93, 96, 92,
+  76, 77, 65, 55, 55, 68, 67, 72, 29, 81, 81, 77, 77, 83, 79, 85,
+  83, 80, 53, 52, 42, 2, 48, 91, 60, 60, 67, 55, 64, 63, 52, 48,
+  45, 30, 49, 91, 69, 96, 97, 63, 67, 56, 55, 41, 38, 9, 76, 80,
+  72, 59, 75, 80, 80, 73, 71, 26, 10, 59, 114, 103, 89, 81, 85, 81,
+  79, 79, 89, 67, 67, 26, 75, 100, 87, 68, 77, 65, 61, 64, 65, 56,
+  28, 64, 120, 108, 122, 92, 118, 100, 111, 95, 88, 91, 46, 48, 84, 100,
+  53, 64, 67, 72, 88, 51, 40, 48, 22, 69, 93, 75, 79, 68, 72, 64,
+  56, 67, 42, 53, 48, 24, 75, 69, 69, 69, 60, 61, 65, 53, 48, 48,
+  51, 24, 92, 92, 83, 79, 57, 75, 61, 67, 60, 46, 42, 12, 73, 93,
+  75, 65, 38, 53, 49, 36, 37, 37, 24, 32, 77, 81, 79, 80, 53, 46,
+  67, 52, 41, 41, 30, 4, 84, 84, 71, 75, 53, 68, 72, 34, 40, 53,
+  40, 5, 89, 88, 104, 61, 88, 89, 71, 49, 34, 34, 25, 75, 69, 83,
+  69, 65, 34, 67, 71, 32, 34, 37, 12, 75, 126, 97, 79, 72, 72, 79,
+  76, 72, 77, 79, 53, 9, 38, 67, 33, 28, 37, 26, 32, 24, 32, 25,
+  25, 10, 32, 68, 42, 73, 49, 51, 51, 51, 38, 42, 25, 0, 77, 80,
+  81, 48, 67, 68, 52, 73, 67, 38, 44, 17, 0, 107, 115, 81, 73, 68,
+  72, 67, 57, 52, 63, 4, 96, 83, 45, 36, 60, 56, 38, 46, 57, 26,
+  14, 22, 64, 83, 85, 41, 32, 29, 24, 21, 21, 28, 21, 8, 46, 80,
+  63, 63, 59, 51, 24, 22, 36, 42, 22, 10, 64, 57, 49, 44, 52, 67,
+  26, 22, 18, 16, 1, 96, 73, 49, 20, 28, 20, 30, 32, 22, 38, 22,
+  14, 2, 77, 33, 22, 14, 14, 10, 14, 14, 21, 14, 10, 0, 53, 61,
+  57, 9, 28, 14, 59, 26, 21, 17, 5, 0, 48, 61, 28, 41, 36, 9,
+  22, 33, 22, 16, 5, 0, 5, 12, 25, 36, 49, 37, 14, 12, 10, 36,
+  17, 8, 26, 84, 68, 41, 32, 76, 79, 80, 75, 81, 81, 92, 77, 55,
+  1, 84, 110, 92, 99, 107, 103, 85, 95, 95, 51, 24, 84, 110, 114, 93,
+  93, 103, 103, 100, 95, 88, 84, 63, 0, 99, 110, 84, 100, 77, 73, 76,
+  80, 88, 48, 41, 61, 84, 110, 95, 97, 83, 89, 88, 91, 79, 92, 69,
+  44, 51, 79, 85, 79, 73, 72, 68, 77, 65, 56, 51, 49, 91, 128, 83,
+  92, 83, 81, 93, 79, 67, 67, 46, 18, 76, 103, 68, 91, 76, 81, 95,
+  87, 61, 52, 55, 5, 95, 96, 99, 89, 80, 87, 89, 77, 88, 56, 21,
+  45, 91, 32, 49, 45, 51, 45, 22, 25, 34, 44, 33, 24, 51, 99, 93,
+  84, 106, 102, 108, 96, 72, 51, 53, 0, 89, 96, 108, 91, 80, 76, 73,
+  72, 75, 72, 68, 34, 38, 76, 83, 96, 63, 52, 73, 71, 49, 41, 25,
+  56, 107, 95, 91, 88, 89, 83, 87, 72, 75, 92, 41, 0, 88, 88, 87,
+  75, 84, 76, 67, 64, 84, 77, 34, 59, 81, 103, 87, 97, 75, 75, 79,
+  83, 46, 69, 34, 55, 76, 79, 76, 75, 75, 71, 73, 57, 52, 55, 34,
+  1, 48, 95, 65, 49, 49, 57, 45, 46, 46, 48, 45, 33, 38, 83, 91,
+  92, 61, 67, 63, 53, 53, 44, 44, 8, 71, 76, 68, 48, 53, 40, 60,
+  60, 81, 28, 12, 56, 112, 104, 89, 79, 80, 83, 93, 89, 89, 75, 56,
+  21, 65, 95, 79, 68, 92, 65, 60, 63, 64, 52, 28, 57, 110, 108, 95,
+  99, 91, 100, 107, 92, 87, 92, 49, 25, 72, 95, 49, 71, 67, 84, 73,
+  44, 48, 45, 16, 68, 88, 81, 88, 67, 63, 68, 45, 48, 42, 52, 49,
+  25, 65, 64, 71, 71, 64, 64, 60, 67, 49, 46, 53, 24, 45, 96, 85,
+  63, 69, 77, 60, 75, 51, 48, 46, 12, 72, 92, 67, 38, 40, 56, 48,
+  37, 38, 42, 30, 32, 72, 76, 75, 68, 57, 76, 42, 48, 40, 36, 30,
+  4, 80, 69, 61, 56, 64, 37, 52, 34, 36, 49, 52, 8, 76, 104, 81,
+  56, 52, 56, 75, 55, 33, 34, 22, 68, 61, 81, 77, 61, 37, 63, 36,
+  34, 36, 37, 13, 88, 116, 93, 67, 64, 80, 63, 79, 75, 84, 71, 61,
+  9, 60, 59, 28, 21, 26, 40, 24, 28, 20, 18, 24, 9, 24, 60, 87,
+  53, 42, 29, 36, 48, 37, 33, 18, 5, 59, 80, 48, 51, 59, 52, 68,
+  51, 51, 41, 32, 17, 0, 99, 107, 75, 72, 65, 68, 67, 56, 51, 51,
+  4, 83, 88, 42, 26, 56, 57, 45, 33, 53, 24, 21, 17, 57, 81, 85,
+  40, 21, 22, 20, 21, 25, 30, 21, 5, 69, 71, 59, 83, 56, 40, 26,
+  26, 25, 44, 26, 10, 20, 65, 51, 46, 41, 41, 36, 22, 21, 12, 1,
+  92, 61, 46, 28, 28, 37, 32, 26, 26, 41, 18, 14, 2, 75, 28, 14,
+  10, 12, 13, 38, 25, 17, 13, 9, 0, 53, 55, 68, 30, 29, 40, 41,
+  9, 22, 9, 5, 0, 34, 59, 32, 30, 30, 36, 37, 30, 22, 14, 5,
+  0, 5, 4, 18, 21, 21, 33, 14, 9, 10, 24, 10, 4, 36, 72, 37,
+  36, 32, 99, 92, 87, 84, 83, 81, 80, 81, 68, 16, 84, 96, 93, 92,
+  93, 102, 96, 100, 95, 61, 20, 80, 103, 96, 96, 87, 92, 91, 95, 81,
+  88, 79, 63, 0, 95, 102, 92, 79, 81, 96, 91, 93, 69, 56, 38, 80,
+  91, 104, 104, 93, 65, 61, 65, 72, 72, 63, 64, 69, 63, 55, 61, 76,
+  80, 79, 75, 64, 59, 52, 46, 56, 97, 124, 88, 96, 84, 93, 84, 67,
+  76, 64, 63, 16, 75, 96, 67, 93, 93, 93, 83, 87, 73, 52, 56, 6,
+  95, 96, 99, 87, 83, 93, 87, 89, 89, 41, 18, 40, 41, 22, 22, 45,
+  37, 46, 26, 20, 24, 24, 49, 25, 40, 85, 93, 88, 85, 80, 84, 77,
+  59, 55, 42, 1, 85, 80, 103, 83, 84, 79, 73, 69, 71, 67, 65, 63,
+  61, 38, 42, 48, 53, 53, 63, 72, 56, 52, 28, 68, 102, 83, 83, 75,
+  87, 85, 84, 87, 88, 91, 56, 1, 81, 88, 88, 79, 87, 84, 69, 80,
+  80, 75, 37, 41, 48, 77, 75, 91, 85, 67, 61, 81, 63, 40, 34, 41,
+  45, 73, 49, 52, 56, 52, 53, 52, 49, 55, 51, 14, 56, 84, 52, 48,
+  44, 49, 46, 44, 49, 45, 45, 46, 32, 45, 71, 72, 51, 44, 59, 51,
+  56, 51, 42, 5, 67, 73, 53, 67, 57, 57, 52, 56, 46, 25, 36, 40,
+  110, 103, 93, 92, 85, 85, 84, 85, 87, 72, 65, 18, 69, 89, 76, 64,
+  71, 73, 60, 60, 63, 55, 24, 92, 114, 92, 91, 99, 102, 100, 88, 96,
+  96, 91, 53, 41, 61, 89, 51, 79, 73, 59, 53, 51, 49, 42, 16, 63,
+  85, 68, 45, 45, 45, 46, 44, 45, 49, 53, 49, 26, 34, 75, 72, 71,
+  65, 57, 56, 63, 48, 48, 51, 32, 38, 83, 84, 67, 75, 92, 71, 61,
+  40, 46, 41, 16, 64, 69, 44, 38, 38, 38, 32, 36, 26, 34, 40, 26,
+  36, 61, 60, 68, 45, 48, 41, 40, 40, 44, 28, 6, 71, 84, 89, 60,
+  61, 61, 34, 57, 49, 45, 38, 6, 83, 88, 73, 93, 41, 40, 57, 53,
+  42, 28, 20, 75, 65, 75, 69, 53, 37, 56, 37, 36, 34, 34, 14, 73,
+  122, 99, 87, 76, 77, 80, 80, 76, 71, 71, 59, 9, 44, 17, 17, 14,
+  6, 13, 14, 14, 14, 14, 20, 12, 28, 55, 42, 29, 30, 25, 30, 32,
+  32, 36, 25, 1, 68, 68, 46, 45, 68, 53, 46, 45, 45, 45, 32, 16,
+  0, 103, 107, 73, 72, 76, 68, 68, 76, 49, 49, 0, 76, 75, 46, 28,
+  53, 53, 53, 38, 38, 25, 22, 14, 51, 68, 59, 18, 20, 26, 21, 25,
+  28, 28, 22, 6, 49, 71, 76, 36, 45, 41, 26, 33, 40, 45, 32, 17,
+  10, 36, 64, 61, 49, 53, 46, 36, 25, 16, 2, 81, 63, 44, 18, 26,
+  28, 36, 32, 26, 41, 16, 18, 0, 69, 21, 14, 14, 12, 16, 30, 42,
+  18, 16, 9, 1, 55, 79, 51, 32, 26, 48, 16, 24, 24, 9, 5, 0,
+  16, 40, 44, 44, 33, 30, 36, 34, 29, 9, 5, 0, 5, 13, 6, 9,
+  8, 8, 9, 9, 9, 21, 24, 4, 71, 85, 64, 46, 41, 76, 80, 75,
+  80, 79, 87, 81, 69, 61, 0, 80, 81, 83, 81, 83, 81, 85, 80, 73,
+  59, 14, 79, 83, 80, 77, 79, 77, 79, 85, 75, 76, 63, 61, 12, 89,
+  96, 95, 92, 92, 84, 91, 89, 65, 53, 42, 68, 87, 96, 93, 65, 71,
+  56, 55, 63, 71, 60, 57, 55, 59, 60, 63, 72, 67, 67, 65, 65, 51,
+  53, 44, 56, 95, 95, 88, 75, 68, 73, 79, 63, 61, 63, 63, 13, 71,
+  96, 87, 71, 67, 81, 89, 80, 69, 57, 56, 8, 89, 95, 104, 88, 89,
+  96, 92, 87, 61, 49, 16, 49, 42, 14, 18, 13, 21, 16, 20, 20, 18,
+  17, 21, 24, 52, 36, 44, 46, 46, 48, 49, 55, 60, 46, 36, 4, 77,
+  83, 83, 80, 75, 52, 71, 44, 48, 51, 63, 46, 52, 55, 61, 55, 56,
+  59, 59, 79, 57, 40, 21, 63, 67, 79, 68, 65, 65, 68, 69, 71, 63,
+  57, 56, 1, 79, 77, 81, 76, 71, 69, 69, 69, 68, 61, 59, 59, 64,
+  51, 49, 53, 52, 49, 63, 55, 60, 56, 53, 57, 56, 55, 45, 57, 56,
+  48, 56, 57, 56, 53, 52, 4, 44, 75, 57, 45, 37, 37, 41, 42, 42,
+  42, 46, 44, 46, 51, 49, 51, 49, 49, 51, 52, 52, 45, 37, 12, 57,
+  63, 57, 53, 48, 44, 57, 40, 36, 32, 22, 38, 61, 100, 107, 69, 85,
+  85, 88, 72, 73, 67, 65, 14, 61, 59, 61, 53, 55, 55, 59, 59, 63,
+  56, 25, 68, 103, 95, 92, 83, 85, 83, 80, 72, 63, 65, 53, 41, 53,
+  68, 64, 55, 53, 51, 52, 56, 44, 41, 13, 64, 81, 67, 63, 65, 57,
+  63, 55, 60, 63, 59, 48, 51, 29, 33, 41, 59, 36, 40, 57, 61, 59,
+  61, 46, 41, 32, 42, 88, 73, 71, 67, 40, 42, 49, 38, 30, 25, 59,
+  76, 42, 32, 33, 34, 28, 28, 34, 28, 28, 33, 40, 40, 49, 42, 45,
+  41, 42, 44, 45, 42, 30, 5, 68, 71, 77, 61, 38, 67, 59, 65, 49,
+  48, 42, 9, 73, 88, 61, 57, 67, 65, 60, 59, 36, 34, 24, 73, 59,
+  52, 42, 57, 34, 33, 36, 34, 33, 38, 10, 77, 104, 84, 53, 76, 72,
+  53, 65, 69, 68, 65, 32, 12, 10, 13, 18, 8, 9, 14, 12, 13, 13,
+  16, 16, 14, 22, 28, 26, 24, 24, 28, 29, 26, 26, 25, 25, 0, 56,
+  60, 56, 53, 51, 49, 48, 38, 41, 40, 28, 16, 0, 93, 103, 72, 71,
+  68, 71, 69, 75, 46, 49, 6, 63, 75, 44, 26, 20, 29, 22, 24, 16,
+  18, 22, 16, 16, 18, 20, 22, 26, 25, 25, 24, 26, 25, 20, 6, 18,
+  49, 45, 20, 28, 40, 37, 22, 30, 30, 30, 17, 12, 14, 25, 20, 20,
+  18, 18, 24, 25, 16, 2, 53, 60, 53, 45, 42, 42, 37, 26, 32, 41,
+  17, 17, 0, 65, 37, 14, 12, 10, 29, 25, 25, 20, 17, 10, 1, 49,
+  75, 30, 30, 6, 29, 28, 8, 9, 20, 4, 0, 13, 22, 36, 10, 10,
+  16, 25, 21, 10, 10, 5, 0, 4, 10, 10, 9, 8, 8, 8, 10, 8,
+  17, 10, 2, 56, 85, 42, 24, 24, 56, 55, 63, 52, 51, 46, 63, 45,
+  18, 0, 33, 41, 38, 40, 45, 42, 42, 44, 48, 42, 17, 44, 51, 49,
+  46, 44, 42, 40, 41, 40, 38, 37, 30, 0, 33, 36, 34, 42, 42, 37,
+  38, 49, 45, 34, 45, 38, 60, 65, 38, 37, 46, 38, 36, 37, 34, 36,
+  32, 33, 30, 30, 34, 38, 41, 42, 44, 48, 49, 53, 41, 46, 64, 63,
+  55, 49, 53, 60, 51, 48, 56, 51, 32, 12, 37, 55, 65, 55, 59, 57,
+  64, 57, 60, 53, 52, 9, 81, 92, 91, 91, 79, 75, 83, 73, 46, 45,
+  12, 61, 26, 10, 14, 10, 10, 12, 17, 16, 13, 20, 16, 17, 21, 22,
+  18, 30, 32, 34, 36, 36, 40, 42, 38, 1, 24, 36, 41, 26, 26, 26,
+  28, 21, 21, 18, 26, 25, 18, 20, 26, 26, 28, 21, 51, 53, 52, 33,
+  20, 36, 42, 41, 41, 41, 56, 51, 41, 37, 36, 32, 16, 30, 33, 37,
+  45, 52, 40, 41, 45, 45, 45, 45, 46, 45, 49, 51, 55, 51, 51, 49,
+  51, 51, 55, 48, 45, 44, 53, 48, 44, 41, 52, 41, 37, 36, 52, 36,
+  8, 6, 41, 29, 29, 32, 20, 25, 17, 16, 18, 21, 18, 18, 20, 20,
+  20, 20, 26, 28, 32, 33, 44, 36, 34, 12, 12, 13, 14, 13, 16, 10,
+  14, 13, 17, 12, 12, 25, 46, 42, 49, 52, 49, 48, 51, 51, 51, 46,
+  44, 13, 38, 44, 42, 45, 42, 42, 44, 55, 46, 45, 26, 18, 71, 81,
+  60, 60, 65, 76, 61, 61, 67, 69, 59, 41, 36, 37, 42, 49, 52, 51,
+  55, 63, 41, 37, 12, 56, 75, 75, 69, 55, 60, 60, 60, 51, 48, 46,
+  40, 37, 41, 45, 45, 42, 44, 41, 44, 42, 41, 40, 38, 41, 42, 44,
+  46, 49, 44, 42, 41, 41, 41, 34, 45, 17, 60, 33, 26, 25, 22, 21,
+  24, 18, 17, 16, 17, 17, 17, 30, 16, 17, 17, 20, 18, 28, 30, 26,
+  25, 6, 18, 64, 60, 26, 26, 52, 51, 26, 33, 44, 33, 9, 44, 72,
+  67, 48, 46, 57, 56, 38, 36, 32, 25, 69, 59, 36, 34, 32, 32, 34,
+  32, 33, 33, 36, 17, 65, 81, 73, 26, 21, 22, 22, 25, 18, 18, 12,
+  36, 13, 0, 1, 8, 1, 8, 0, 4, 5, 8, 4, 10, 13, 18, 22,
+  21, 16, 22, 21, 22, 14, 24, 22, 17, 0, 10, 13, 14, 13, 13, 12,
+  13, 13, 13, 13, 13, 13, 0, 41, 89, 85, 83, 83, 81, 80, 73, 45,
+  64, 8, 42, 61, 24, 26, 21, 22, 32, 26, 24, 22, 22, 21, 18, 12,
+  10, 10, 8, 10, 9, 9, 8, 6, 6, 4, 9, 9, 9, 12, 10, 10,
+  10, 10, 13, 12, 12, 13, 13, 14, 14, 16, 16, 16, 14, 14, 16, 14,
+  2, 9, 17, 26, 12, 14, 17, 34, 34, 41, 21, 20, 12, 4, 60, 20,
+  22, 21, 17, 18, 13, 17, 12, 9, 6, 2, 8, 14, 30, 2, 2, 1,
+  4, 1, 1, 1, 13, 0, 2, 2, 1, 8, 4, 5, 4, 8, 10, 14,
+  4, 0, 8, 2, 13, 4, 9, 12, 13, 9, 16, 17, 9, 5, 37, 85,
+  30, 29, 25, 4, 1, 4, 12, 13, 1, 1, 18, 20, 6, 21, 17, 13,
+  12, 10, 24, 9, 8, 6, 25, 20, 2, 21, 4, 2, 2, 13, 2, 2,
+  2, 1, 1, 1, 2, 5, 8, 5, 9, 6, 6, 6, 12, 9, 9, 45,
+  48, 51, 72, 72, 81, 81, 83, 89, 91, 87, 81, 83, 81, 81, 100, 80,
+  83, 52, 55, 51, 49, 42, 42, 36, 25, 28, 24, 22, 18, 18, 17, 17,
+  17, 18, 20, 20, 20, 22, 26, 26, 29, 33, 34, 37, 38, 41, 44, 48,
+  16, 13, 34, 36, 36, 34, 36, 37, 37, 37, 33, 14, 33, 9, 24, 12,
+  18, 12, 17, 36, 55, 69, 72, 59, 61, 75, 79, 88, 79, 72, 59, 53,
+  44, 46, 18, 36, 2, 16, 18, 33, 33, 40, 48, 57, 65, 91, 81, 65,
+  56, 88, 91, 77, 87, 88, 63, 48, 42, 33, 21, 10, 18, 16, 8, 10,
+  10, 9, 5, 6, 6, 5, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2, 0, 0,
+  0, 8, 0, 0, 0, 13, 0, 0, 0, 21, 0, 0, 4, 12, 20, 25,
+  24, 65, 89, 92, 99, 92, 85, 63, 72, 88, 85, 69, 83, 80, 73, 59,
+  40, 34, 17, 26, 13, 1, 0, 12, 10, 0, 0, 8, 2, 4, 0, 2,
+  4, 4, 0, 1, 1, 0, 2, 9, 10, 0, 4, 1, 1, 25, 28, 1,
+  1, 14, 16, 16, 17, 24, 17, 30, 9, 9, 14, 10, 9, 10, 14, 9,
+  9, 9, 14, 10, 10, 10, 32, 10, 10, 10, 13, 16, 20, 20, 37, 10,
+  29, 48, 48, 30, 29, 44, 44, 29, 29, 30, 29, 28, 21, 21, 17, 10,
+  13, 14, 16, 21, 21, 32, 32, 30, 28, 32, 30, 22, 21, 28, 22, 17,
+  14, 26, 16, 36, 21, 32, 44, 56, 53, 57, 65, 85, 67, 49, 45, 34,
+  34, 42, 71, 68, 71, 64, 48, 34, 28, 24, 18, 13, 14, 17, 25, 18,
+  22, 14, 18, 21, 24, 16, 17, 13, 26, 25, 25, 26, 26, 25, 22, 25,
+  25, 24, 24, 26, 65, 34, 26, 34, 28, 32, 28, 29, 25, 25, 26, 33,
+  20, 26, 37, 42, 52, 53, 55, 55, 45, 52, 38, 29, 5, 25, 97, 69,
+  63, 45, 22, 25, 17, 16, 4, 4, 4, 1, 8, 6, 2, 1, 8, 8,
+  5, 1, 6, 8, 2, 1, 5, 6, 5, 0, 4, 1, 4, 0, 1, 1,
+  0, 0, 20, 22, 26, 29, 32, 34, 37, 40, 44, 42, 6, 49, 16, 17,
+  12, 10, 14, 12, 10, 9, 12, 6, 9, 29, 41, 45, 56, 57, 60, 61,
+  52, 45, 38, 17, 6, 57, 69, 68, 49, 63, 57, 52, 21, 10, 10, 4,
+  8, 8, 9, 8, 12, 10, 6, 4, 5, 4, 2, 2, 9, 8, 9, 6,
+  6, 9, 12, 13, 14, 13, 13, 12, 0, 51, 2, 2, 5, 2, 1, 1,
+  0, 1, 1, 0, 1, 4, 14, 29, 25, 26, 36, 40, 37, 33, 25, 6,
+  0, 41, 69, 61, 61, 61, 56, 26, 16, 6, 4, 1, 0, 0, 2, 0,
+  0, 4, 2, 2, 1, 2, 0, 6, 4, 24, 76, 42, 40, 29, 138, 130,
+  122, 114, 106, 103, 99, 75, 36, 16, 52, 102, 108, 95, 81, 83, 87, 87,
+  89, 68, 30, 40, 102, 106, 107, 102, 111, 108, 108, 99, 104, 92, 103, 99,
+  108, 110, 114, 122, 118, 108, 111, 100, 59, 45, 53, 81, 108, 122, 111, 102,
+  111, 110, 111, 100, 106, 111, 103, 71, 65, 77, 71, 83, 80, 79, 87, 81,
+  41, 53, 41, 40, 102, 99, 89, 81, 88, 87, 76, 76, 77, 65, 65, 72,
+  81, 93, 83, 84, 60, 51, 34, 22, 32, 22, 13, 17, 22, 12, 10, 13,
+  28, 8, 6, 8, 37, 21, 21, 26, 56, 65, 69, 76, 69, 75, 84, 76,
+  73, 81, 72, 63, 53, 67, 84, 68, 73, 71, 75, 69, 76, 60, 48, 4,
+  36, 100, 103, 103, 107, 97, 92, 87, 84, 92, 83, 49, 76, 89, 100, 91,
+  91, 85, 71, 81, 52, 44, 22, 33, 76, 80, 89, 92, 92, 79, 85, 97,
+  99, 64, 63, 67, 111, 108, 111, 110, 108, 106, 111, 108, 102, 67, 71, 97,
+  104, 107, 100, 85, 95, 106, 89, 91, 89, 91, 77, 16, 40, 91, 96, 71,
+  79, 85, 93, 76, 81, 79, 28, 28, 36, 99, 85, 85, 92, 87, 83, 96,
+  85, 60, 67, 52, 64, 72, 88, 80, 85, 76, 64, 65, 65, 41, 20, 2,
+  26, 75, 84, 73, 65, 72, 64, 61, 57, 40, 20, 0, 37, 85, 107, 80,
+  77, 76, 72, 87, 88, 87, 48, 33, 41, 95, 99, 87, 92, 93, 97, 68,
+  77, 37, 40, 32, 75, 80, 81, 64, 65, 60, 55, 77, 64, 57, 25, 32,
+  37, 67, 72, 65, 71, 40, 40, 17, 16, 12, 13, 18, 17, 26, 32, 25,
+  26, 20, 20, 29, 34, 25, 25, 17, 9, 55, 81, 88, 71, 80, 64, 56,
+  24, 22, 14, 9, 16, 29, 49, 53, 52, 52, 59, 51, 53, 44, 33, 49,
+  73, 106, 114, 100, 99, 97, 93, 91, 88, 87, 34, 34, 61, 91, 89, 95,
+  87, 84, 79, 88, 79, 59, 41, 40, 65, 65, 72, 67, 59, 55, 59, 48,
+  26, 20, 13, 21, 21, 32, 32, 24, 12, 16, 12, 25, 8, 10, 29, 25,
+  46, 63, 64, 77, 80, 87, 80, 85, 75, 40, 33, 55, 67, 71, 75, 71,
+  73, 72, 75, 63, 80, 59, 44, 0, 76, 71, 64, 44, 71, 69, 60, 52,
+  48, 64, 53, 44, 75, 83, 72, 76, 84, 76, 68, 61, 60, 52, 12, 0,
+  20, 68, 96, 75, 67, 65, 72, 59, 56, 71, 56, 17, 0, 64, 75, 69,
+  68, 61, 55, 18, 36, 32, 25, 1, 16, 26, 44, 51, 49, 59, 67, 72,
+  59, 68, 55, 68, 55, 61, 65, 60, 57, 65, 61, 71, 56, 41, 18, 8,
+  68, 69, 45, 48, 56, 38, 46, 41, 46, 41, 25, 33, 24, 60, 68, 67,
+  57, 69, 64, 55, 52, 14, 2, 26, 59, 55, 41, 44, 44, 38, 12, 8,
+  5, 5, 5, 0, 1, 32, 32, 30, 32, 40, 41, 42, 41, 41, 12, 2,
+  38, 71, 67, 71, 67, 63, 56, 49, 44, 26, 8, 0, 49, 79, 59, 56,
+  51, 60, 49, 55, 46, 25, 6, 0, 37, 52, 51, 13, 10, 8, 6, 13,
+  6, 2, 6, 2, 71, 48, 106, 116, 120, 124, 115, 107, 110, 103, 106, 96,
+  93, 41, 24, 107, 100, 93, 85, 97, 97, 92, 89, 87, 96, 32, 115, 118,
+  118, 114, 110, 115, 112, 122, 110, 118, 108, 102, 93, 107, 100, 106, 104, 110,
+  106, 106, 106, 102, 103, 55, 118, 112, 99, 95, 102, 93, 107, 92, 97, 93,
+  67, 69, 57, 75, 88, 83, 85, 72, 71, 72, 77, 85, 57, 51, 85, 97,
+  93, 97, 103, 92, 96, 93, 95, 89, 85, 72, 85, 80, 80, 80, 73, 80,
+  69, 69, 73, 67, 71, 52, 12, 30, 81, 88, 67, 75, 76, 88, 79, 73,
+  40, 18, 60, 85, 85, 92, 81, 89, 91, 102, 93, 81, 89, 73, 38, 68,
+  89, 100, 96, 72, 83, 83, 76, 79, 64, 52, 5, 76, 110, 88, 89, 95,
+  83, 93, 77, 81, 102, 80, 52, 76, 104, 102, 89, 96, 92, 96, 71, 85,
+  49, 22, 76, 87, 95, 85, 88, 83, 89, 83, 96, 89, 96, 91, 81, 75,
+  75, 73, 72, 73, 72, 72, 75, 77, 85, 79, 67, 80, 81, 80, 71, 88,
+  87, 92, 92, 99, 93, 87, 16, 100, 114, 99, 95, 99, 91, 79, 80, 76,
+  79, 34, 24, 75, 83, 87, 85, 89, 88, 91, 91, 81, 71, 60, 48, 63,
+  91, 93, 88, 92, 87, 76, 71, 68, 45, 22, 6, 83, 87, 87, 80, 84,
+  85, 79, 75, 75, 64, 21, 1, 115, 119, 119, 112, 116, 111, 106, 97, 116,
+  110, 76, 34, 100, 118, 115, 106, 103, 89, 100, 92, 84, 53, 40, 75, 96,
+  84, 80, 80, 89, 91, 81, 87, 84, 85, 72, 30, 64, 83, 85, 81, 81,
+  77, 73, 65, 38, 24, 12, 42, 63, 40, 48, 55, 51, 61, 52, 46, 44,
+  30, 28, 12, 8, 68, 88, 69, 61, 68, 72, 88, 71, 83, 67, 55, 72,
+  53, 76, 80, 89, 76, 91, 71, 81, 57, 51, 59, 91, 115, 79, 83, 79,
+  80, 64, 79, 69, 63, 67, 53, 85, 72, 77, 67, 64, 64, 75, 67, 64,
+  57, 73, 61, 65, 69, 68, 55, 71, 69, 71, 57, 57, 60, 60, 81, 76,
+  83, 83, 84, 85, 83, 89, 93, 93, 40, 41, 63, 116, 116, 118, 115, 118,
+  114, 107, 111, 108, 67, 33, 53, 77, 73, 67, 64, 56, 57, 48, 44, 55,
+  63, 30, 2, 51, 72, 61, 49, 44, 59, 38, 51, 46, 36, 41, 49, 49,
+  55, 59, 51, 40, 45, 46, 53, 44, 63, 14, 0, 93, 97, 102, 103, 97,
+  93, 91, 79, 87, 81, 64, 33, 0, 68, 67, 72, 75, 75, 69, 63, 55,
+  48, 26, 6, 49, 81, 83, 85, 88, 87, 85, 76, 67, 63, 30, 55, 80,
+  79, 80, 80, 71, 63, 49, 52, 56, 42, 22, 9, 67, 73, 44, 42, 34,
+  40, 55, 45, 60, 49, 20, 16, 63, 80, 76, 76, 75, 65, 59, 67, 65,
+  16, 4, 48, 60, 60, 60, 63, 55, 56, 42, 44, 37, 28, 8, 37, 67,
+  81, 77, 76, 69, 72, 68, 60, 65, 44, 21, 2, 60, 61, 51, 48, 48,
+  32, 34, 20, 30, 45, 10, 1, 32, 76, 61, 49, 33, 37, 36, 37, 55,
+  42, 10, 0, 56, 56, 64, 52, 48, 30, 41, 46, 45, 5, 8, 0, 69,
+  64, 85, 84, 92, 138, 136, 124, 120, 111, 110, 71, 71, 41, 22, 92, 99,
+  83, 83, 87, 60, 83, 87, 84, 41, 34, 118, 132, 139, 150, 170, 178, 189,
+  197, 205, 205, 212, 216, 220, 213, 218, 218, 216, 202, 193, 155, 128, 123, 120,
+  93, 112, 108, 110, 104, 99, 104, 106, 84, 60, 60, 63, 59, 55, 76, 95,
+  107, 85, 77, 87, 85, 88, 84, 77, 37, 96, 103, 91, 92, 83, 85, 87,
+  84, 79, 85, 84, 77, 75, 91, 93, 92, 83, 80, 72, 72, 80, 83, 63,
+  55, 16, 92, 88, 100, 99, 85, 95, 95, 88, 89, 73, 20, 73, 110, 96,
+  76, 99, 91, 84, 83, 84, 95, 91, 69, 45, 68, 92, 100, 81, 80, 88,
+  84, 91, 75, 64, 60, 4, 83, 103, 100, 91, 79, 85, 81, 96, 81, 91,
+  87, 37, 71, 92, 93, 95, 79, 81, 75, 73, 80, 56, 28, 81, 72, 81,
+  83, 75, 91, 88, 96, 97, 84, 77, 65, 93, 75, 91, 81, 84, 84, 84,
+  77, 67, 65, 55, 55, 73, 89, 85, 87, 89, 88, 83, 88, 88, 87, 87,
+  81, 16, 103, 112, 73, 72, 73, 67, 68, 64, 76, 75, 34, 25, 72, 92,
+  87, 83, 73, 71, 75, 77, 88, 72, 65, 34, 57, 88, 77, 81, 89, 87,
+  67, 60, 71, 49, 37, 9, 80, 83, 79, 76, 76, 68, 68, 68, 61, 65,
+  28, 0, 100, 112, 114, 115, 111, 111, 114, 103, 103, 108, 85, 41, 110, 106,
+  103, 84, 73, 79, 64, 72, 75, 89, 71, 92, 79, 73, 79, 65, 76, 52,
+  57, 56, 60, 44, 46, 36, 84, 118, 80, 87, 84, 91, 81, 72, 84, 33,
+  12, 52, 53, 36, 52, 38, 33, 52, 40, 36, 45, 26, 24, 14, 10, 69,
+  97, 65, 57, 76, 64, 67, 65, 52, 71, 34, 48, 99, 92, 91, 97, 92,
+  85, 79, 77, 67, 53, 55, 106, 108, 75, 77, 73, 64, 57, 71, 88, 83,
+  85, 85, 95, 93, 104, 93, 93, 97, 124, 96, 103, 99, 102, 95, 102, 103,
+  106, 97, 96, 103, 99, 102, 79, 60, 41, 85, 83, 77, 81, 76, 73, 64,
+  73, 72, 69, 46, 30, 88, 122, 111, 110, 107, 112, 112, 118, 104, 87, 83,
+  40, 56, 73, 72, 51, 48, 63, 51, 46, 63, 61, 56, 30, 4, 40, 73,
+  63, 61, 51, 59, 53, 65, 61, 46, 41, 41, 64, 77, 65, 81, 80, 73,
+  60, 80, 68, 59, 16, 4, 83, 96, 87, 88, 92, 89, 84, 83, 76, 93,
+  67, 30, 0, 71, 75, 71, 52, 53, 41, 57, 69, 52, 14, 9, 45, 89,
+  85, 73, 57, 48, 68, 45, 44, 36, 33, 65, 84, 68, 68, 53, 45, 52,
+  67, 56, 45, 24, 20, 5, 65, 76, 65, 44, 45, 51, 55, 52, 46, 45,
+  20, 36, 76, 77, 72, 57, 72, 52, 49, 57, 72, 14, 4, 56, 63, 37,
+  37, 30, 22, 25, 20, 26, 46, 38, 8, 33, 72, 65, 72, 79, 59, 48,
+  49, 67, 59, 56, 17, 2, 59, 44, 25, 55, 37, 37, 26, 20, 25, 21,
+  8, 0, 48, 71, 48, 59, 44, 32, 32, 60, 41, 38, 12, 0, 24, 59,
+  51, 59, 51, 55, 42, 52, 38, 13, 8, 1, 83, 103, 84, 75, 84, 112,
+  99, 108, 103, 91, 77, 81, 93, 44, 36, 67, 93, 85, 73, 64, 60, 61,
+  64, 68, 93, 102, 130, 204, 212, 222, 225, 225, 224, 226, 228, 233, 234, 237,
+  237, 237, 233, 230, 230, 229, 226, 221, 222, 193, 147, 132, 122, 146, 161, 190,
+  165, 140, 107, 85, 56, 61, 61, 60, 55, 97, 108, 99, 96, 84, 95, 100,
+  102, 85, 95, 81, 89, 87, 89, 64, 91, 85, 92, 84, 87, 79, 79, 77,
+  89, 106, 114, 99, 102, 97, 104, 100, 83, 69, 63, 56, 16, 100, 92, 97,
+  96, 97, 84, 85, 79, 77, 71, 32, 80, 89, 99, 88, 84, 89, 79, 84,
+  95, 96, 80, 65, 37, 64, 95, 107, 85, 80, 85, 91, 84, 76, 60, 46,
+  5, 71, 95, 93, 91, 88, 85, 83, 65, 100, 99, 77, 45, 75, 93, 89,
+  81, 81, 79, 67, 79, 81, 59, 38, 48, 75, 77, 84, 93, 102, 80, 81,
+  84, 71, 72, 57, 84, 89, 71, 87, 83, 85, 68, 76, 76, 75, 51, 51,
+  81, 85, 83, 81, 76, 80, 83, 61, 83, 83, 49, 53, 21, 64, 115, 75,
+  71, 79, 59, 67, 69, 75, 72, 37, 22, 71, 85, 84, 67, 71, 71, 67,
+  69, 84, 72, 60, 34, 63, 81, 72, 61, 91, 93, 67, 61, 73, 40, 37,
+  9, 60, 88, 75, 72, 79, 64, 83, 77, 57, 61, 25, 4, 65, 111, 102,
+  89, 85, 85, 93, 99, 88, 85, 88, 87, 91, 107, 104, 95, 83, 100, 71,
+  83, 63, 69, 61, 71, 60, 72, 67, 63, 60, 67, 65, 64, 60, 67, 64,
+  68, 76, 89, 97, 65, 72, 73, 107, 77, 73, 30, 9, 34, 45, 34, 42,
+  51, 55, 48, 52, 36, 29, 32, 18, 10, 8, 64, 83, 60, 63, 76, 77,
+  77, 71, 61, 64, 34, 87, 103, 96, 87, 75, 76, 73, 68, 77, 52, 51,
+  65, 87, 107, 67, 76, 63, 68, 73, 116, 202, 205, 193, 206, 221, 222, 206,
+  214, 228, 232, 228, 225, 232, 242, 226, 229, 224, 241, 221, 210, 216, 246, 222,
+  155, 91, 57, 45, 85, 100, 114, 110, 106, 106, 93, 87, 88, 69, 46, 42,
+  104, 115, 104, 103, 110, 108, 120, 114, 87, 95, 77, 45, 45, 72, 60, 51,
+  45, 56, 51, 45, 45, 60, 53, 25, 1, 51, 84, 68, 88, 65, 52, 60,
+  53, 51, 46, 40, 18, 69, 76, 63, 65, 69, 69, 44, 68, 67, 59, 13,
+  4, 57, 91, 85, 77, 72, 71, 65, 69, 73, 84, 65, 29, 0, 68, 68,
+  60, 34, 55, 57, 52, 55, 53, 25, 12, 56, 87, 67, 60, 60, 53, 64,
+  33, 42, 38, 22, 60, 71, 56, 49, 48, 67, 45, 46, 37, 30, 34, 21,
+  9, 64, 76, 67, 59, 68, 68, 34, 45, 38, 46, 12, 29, 80, 76, 69,
+  41, 69, 55, 71, 68, 64, 16, 5, 55, 45, 30, 32, 21, 21, 21, 21,
+  21, 41, 36, 9, 30, 67, 64, 69, 89, 61, 44, 49, 53, 45, 41, 16,
+  2, 52, 56, 29, 63, 29, 41, 24, 25, 37, 21, 6, 0, 48, 72, 49,
+  45, 40, 41, 37, 56, 36, 20, 10, 0, 45, 42, 49, 51, 34, 37, 36,
+  26, 34, 28, 9, 1, 67, 61, 59, 28, 17, 81, 81, 88, 81, 87, 73,
+  95, 85, 44, 32, 72, 96, 89, 65, 61, 56, 55, 102, 115, 162, 197, 214,
+  226, 236, 233, 233, 230, 230, 225, 232, 237, 238, 237, 236, 233, 232, 228, 222,
+  225, 226, 225, 221, 224, 218, 220, 212, 205, 208, 202, 194, 130, 106, 83, 56,
+  61, 67, 68, 69, 123, 183, 193, 186, 187, 194, 199, 202, 198, 195, 194, 193,
+  193, 136, 114, 106, 102, 103, 92, 89, 97, 99, 135, 170, 195, 201, 195, 193,
+  189, 134, 97, 84, 53, 64, 46, 18, 65, 92, 84, 81, 80, 80, 71, 81,
+  85, 73, 34, 55, 89, 100, 81, 84, 84, 79, 80, 85, 95, 79, 67, 36,
+  71, 84, 100, 88, 77, 84, 88, 81, 76, 59, 51, 6, 61, 99, 104, 97,
+  88, 96, 71, 85, 89, 88, 77, 36, 75, 84, 93, 75, 75, 85, 73, 91,
+  76, 57, 37, 42, 89, 93, 73, 76, 77, 89, 77, 81, 76, 68, 51, 91,
+  89, 79, 76, 73, 72, 75, 97, 87, 73, 64, 49, 85, 83, 91, 72, 80,
+  81, 77, 81, 72, 80, 83, 76, 22, 64, 112, 79, 73, 67, 53, 57, 57,
+  75, 73, 37, 20, 71, 84, 73, 61, 60, 60, 61, 63, 80, 65, 53, 36,
+  52, 79, 76, 60, 77, 68, 56, 61, 71, 41, 21, 4, 60, 92, 68, 61,
+  72, 77, 71, 63, 68, 56, 25, 2, 100, 102, 93, 92, 99, 99, 95, 96,
+  130, 181, 193, 199, 209, 214, 221, 224, 230, 232, 249, 249, 246, 240, 240, 225,
+  232, 236, 233, 230, 225, 228, 222, 224, 198, 202, 181, 205, 197, 228, 190, 182,
+  174, 175, 199, 142, 83, 36, 14, 48, 28, 51, 55, 45, 41, 56, 30, 26,
+  10, 34, 10, 8, 5, 61, 89, 64, 65, 80, 85, 81, 57, 55, 67, 24,
+  88, 102, 87, 71, 71, 80, 87, 77, 84, 64, 40, 49, 81, 103, 65, 69,
+  61, 64, 67, 127, 190, 195, 199, 205, 206, 212, 209, 209, 214, 217, 218, 220,
+  222, 221, 218, 218, 216, 208, 208, 204, 199, 199, 193, 143, 85, 57, 12, 77,
+  88, 92, 96, 95, 93, 111, 108, 76, 77, 49, 49, 76, 115, 103, 120, 118,
+  102, 93, 72, 75, 87, 81, 46, 42, 76, 64, 45, 51, 51, 51, 44, 56,
+  37, 52, 33, 0, 53, 83, 59, 67, 55, 64, 61, 80, 44, 42, 40, 32,
+  63, 84, 72, 79, 81, 79, 77, 65, 55, 53, 14, 0, 60, 91, 76, 67,
+  63, 69, 81, 83, 85, 91, 71, 28, 0, 65, 57, 51, 40, 69, 53, 55,
+  57, 44, 20, 9, 41, 89, 72, 53, 52, 45, 63, 37, 36, 28, 22, 57,
+  80, 48, 64, 71, 56, 46, 44, 48, 53, 32, 22, 14, 59, 64, 51, 57,
+  45, 45, 36, 51, 38, 44, 12, 32, 76, 68, 52, 67, 59, 83, 68, 67,
+  61, 18, 5, 42, 61, 34, 34, 24, 20, 17, 21, 21, 21, 25, 8, 2,
+  64, 64, 77, 83, 42, 49, 51, 45, 56, 40, 21, 2, 45, 59, 30, 65,
+  17, 40, 22, 20, 30, 18, 5, 0, 33, 68, 57, 60, 44, 44, 34, 53,
+  42, 22, 10, 0, 41, 53, 48, 21, 26, 24, 25, 14, 29, 12, 8, 6,
+  68, 60, 45, 56, 18, 77, 76, 79, 84, 77, 73, 95, 81, 44, 36, 97,
+  88, 64, 61, 69, 91, 103, 177, 228, 233, 236, 237, 230, 229, 229, 229, 205,
+  175, 162, 166, 170, 162, 146, 135, 128, 124, 112, 108, 116, 122, 135, 183, 205,
+  218, 217, 214, 212, 202, 202, 187, 136, 103, 72, 55, 63, 53, 69, 116, 147,
+  204, 201, 213, 201, 212, 218, 218, 216, 225, 222, 228, 225, 222, 217, 222, 220,
+  217, 212, 202, 210, 214, 210, 217, 214, 202, 198, 189, 191, 134, 97, 79, 49,
+  63, 49, 21, 65, 91, 73, 73, 102, 87, 87, 85, 76, 71, 34, 33, 84,
+  93, 92, 88, 87, 93, 95, 96, 96, 79, 67, 36, 63, 106, 110, 80, 85,
+  85, 89, 80, 75, 60, 46, 9, 77, 100, 92, 88, 81, 96, 77, 81, 92,
+  77, 81, 36, 80, 81, 87, 80, 76, 88, 79, 83, 76, 57, 37, 33, 88,
+  75, 72, 77, 85, 75, 87, 81, 68, 63, 48, 80, 91, 72, 69, 69, 81,
+  77, 73, 76, 69, 49, 49, 85, 87, 97, 85, 83, 68, 88, 81, 68, 81,
+  80, 79, 24, 67, 107, 81, 69, 67, 52, 53, 68, 79, 71, 37, 18, 77,
+  79, 71, 61, 64, 59, 59, 64, 75, 63, 59, 37, 61, 76, 69, 60, 56,
+  88, 79, 61, 65, 42, 21, 8, 69, 92, 75, 71, 72, 64, 63, 51, 67,
+  76, 24, 2, 112, 114, 93, 95, 103, 91, 106, 179, 190, 202, 205, 205, 213,
+  225, 225, 229, 233, 237, 246, 248, 248, 245, 244, 242, 226, 236, 241, 232, 225,
+  225, 233, 226, 221, 228, 217, 213, 204, 210, 199, 195, 186, 206, 187, 157, 81,
+  34, 13, 45, 26, 52, 45, 40, 46, 34, 36, 26, 13, 33, 12, 6, 5,
+  64, 83, 65, 76, 71, 81, 84, 69, 56, 59, 22, 87, 96, 72, 83, 83,
+  89, 99, 95, 91, 72, 51, 67, 77, 111, 72, 76, 76, 61, 63, 91, 131,
+  178, 193, 197, 199, 195, 205, 194, 199, 206, 209, 210, 217, 217, 220, 209, 205,
+  210, 202, 191, 190, 194, 166, 99, 76, 33, 21, 81, 95, 76, 89, 89, 97,
+  96, 107, 80, 80, 49, 44, 77, 110, 96, 91, 71, 73, 77, 75, 80, 84,
+  89, 60, 40, 71, 64, 56, 44, 46, 49, 52, 41, 55, 75, 30, 2, 75,
+  59, 73, 52, 53, 60, 65, 59, 60, 44, 40, 30, 65, 85, 56, 79, 60,
+  56, 56, 59, 64, 57, 13, 0, 93, 80, 71, 75, 77, 76, 76, 87, 85,
+  83, 67, 40, 0, 61, 76, 48, 79, 45, 38, 52, 49, 44, 18, 4, 37,
+  87, 69, 64, 60, 63, 60, 48, 33, 33, 22, 60, 76, 45, 56, 72, 59,
+  46, 52, 51, 37, 33, 24, 18, 60, 79, 65, 67, 68, 48, 37, 41, 38,
+  56, 16, 40, 73, 64, 44, 73, 79, 81, 61, 67, 52, 21, 5, 44, 55,
+  41, 32, 21, 20, 33, 20, 24, 37, 46, 9, 2, 60, 57, 51, 42, 45,
+  40, 40, 37, 38, 42, 20, 4, 37, 63, 38, 79, 17, 40, 16, 33, 26,
+  22, 8, 2, 45, 67, 60, 55, 42, 33, 41, 44, 45, 30, 13, 0, 41,
+  57, 28, 22, 10, 13, 14, 18, 25, 8, 8, 0, 63, 56, 34, 13, 2,
+  102, 80, 75, 75, 73, 73, 99, 71, 48, 34, 99, 93, 64, 73, 97, 130,
+  216, 236, 234, 232, 233, 236, 230, 217, 185, 151, 118, 107, 102, 103, 103, 103,
+  103, 102, 100, 103, 100, 102, 99, 100, 99, 102, 115, 124, 151, 183, 191, 198,
+  185, 140, 116, 84, 48, 52, 57, 60, 72, 128, 153, 226, 232, 202, 220, 212,
+  224, 222, 226, 224, 221, 220, 226, 233, 229, 226, 224, 218, 217, 224, 217, 213,
+  212, 212, 217, 209, 201, 201, 191, 118, 81, 68, 49, 59, 49, 24, 89, 89,
+  84, 83, 92, 79, 87, 84, 88, 89, 68, 25, 80, 92, 103, 103, 103, 97,
+  97, 91, 89, 76, 65, 36, 61, 92, 99, 89, 84, 88, 93, 83, 77, 77,
+  49, 8, 71, 97, 92, 97, 89, 96, 92, 95, 95, 67, 65, 26, 76, 79,
+  96, 73, 97, 81, 80, 75, 79, 68, 57, 32, 80, 77, 75, 72, 72, 77,
+  77, 77, 67, 53, 45, 75, 83, 67, 65, 72, 81, 71, 71, 68, 64, 41,
+  45, 75, 80, 88, 89, 79, 67, 81, 71, 80, 64, 81, 73, 26, 45, 67,
+  108, 80, 65, 61, 53, 63, 79, 65, 38, 22, 64, 73, 68, 52, 56, 53,
+  52, 71, 79, 73, 55, 30, 48, 65, 64, 55, 53, 83, 60, 64, 65, 46,
+  30, 9, 71, 83, 67, 77, 71, 76, 71, 63, 69, 59, 25, 0, 92, 110,
+  93, 96, 102, 91, 165, 190, 198, 201, 206, 210, 210, 217, 221, 229, 229, 232,
+  241, 245, 244, 246, 245, 244, 238, 229, 238, 232, 228, 230, 220, 217, 221, 225,
+  214, 213, 202, 198, 194, 190, 185, 189, 143, 120, 49, 33, 14, 45, 29, 41,
+  56, 38, 34, 33, 24, 25, 13, 21, 17, 10, 6, 51, 95, 68, 81, 67,
+  76, 79, 72, 64, 55, 29, 83, 81, 96, 104, 107, 118, 116, 114, 104, 87,
+  77, 53, 92, 118, 80, 76, 60, 57, 64, 64, 79, 92, 104, 107, 107, 100,
+  97, 93, 99, 97, 97, 99, 103, 108, 108, 104, 104, 106, 99, 96, 99, 96,
+  92, 79, 71, 32, 38, 77, 91, 75, 73, 96, 89, 91, 99, 77, 75, 51,
+  53, 72, 107, 108, 85, 85, 108, 93, 96, 102, 72, 80, 79, 40, 60, 77,
+  61, 45, 48, 42, 51, 57, 56, 61, 29, 4, 46, 68, 65, 52, 52, 49,
+  45, 57, 64, 51, 38, 30, 55, 92, 51, 84, 85, 69, 76, 73, 71, 48,
+  17, 2, 92, 92, 79, 83, 73, 77, 76, 91, 83, 83, 65, 30, 0, 67,
+  75, 55, 53, 52, 55, 44, 53, 29, 16, 10, 40, 84, 72, 46, 64, 55,
+  46, 42, 36, 36, 26, 63, 77, 63, 63, 67, 55, 46, 46, 64, 40, 22,
+  25, 12, 68, 73, 60, 48, 59, 55, 36, 48, 34, 42, 14, 59, 67, 45,
+  68, 63, 61, 57, 67, 69, 56, 16, 6, 22, 41, 53, 32, 33, 20, 37,
+  33, 21, 33, 45, 9, 22, 55, 64, 52, 40, 38, 42, 40, 40, 38, 38,
+  21, 4, 38, 61, 29, 51, 20, 34, 16, 36, 28, 17, 6, 0, 57, 68,
+  64, 63, 42, 38, 51, 46, 46, 34, 12, 0, 24, 41, 21, 9, 4, 1,
+  2, 12, 18, 9, 8, 1, 64, 77, 28, 2, 25, 130, 88, 85, 84, 84,
+  87, 88, 87, 48, 48, 75, 61, 75, 102, 165, 225, 240, 233, 234, 226, 216,
+  195, 169, 126, 110, 103, 103, 103, 104, 104, 104, 104, 110, 104, 91, 77, 69,
+  76, 84, 95, 124, 107, 100, 100, 97, 106, 108, 108, 108, 104, 100, 63, 48,
+  52, 57, 51, 68, 111, 131, 182, 191, 191, 159, 124, 115, 120, 126, 123, 122,
+  124, 135, 162, 190, 198, 205, 210, 216, 214, 206, 195, 197, 204, 202, 198, 183,
+  138, 115, 92, 77, 45, 44, 56, 44, 24, 61, 85, 85, 83, 83, 93, 92,
+  84, 84, 92, 53, 28, 68, 91, 88, 89, 95, 88, 91, 91, 88, 71, 65,
+  30, 57, 85, 102, 104, 106, 97, 99, 83, 79, 64, 45, 6, 64, 92, 91,
+  92, 84, 96, 88, 89, 84, 79, 48, 25, 75, 83, 91, 72, 84, 83, 84,
+  76, 73, 77, 49, 32, 52, 84, 77, 84, 77, 76, 77, 72, 65, 49, 40,
+  65, 89, 73, 68, 73, 76, 77, 72, 73, 68, 41, 40, 79, 77, 77, 75,
+  76, 76, 81, 79, 81, 61, 51, 64, 32, 38, 68, 83, 95, 76, 61, 52,
+  69, 71, 68, 41, 18, 60, 80, 65, 61, 52, 53, 64, 96, 68, 64, 51,
+  24, 61, 75, 55, 49, 55, 51, 56, 57, 55, 40, 30, 10, 48, 91, 79,
+  80, 69, 61, 63, 79, 65, 67, 24, 5, 69, 108, 95, 96, 106, 93, 93,
+  138, 182, 191, 189, 169, 123, 114, 111, 110, 115, 112, 110, 104, 108, 108, 111,
+  111, 111, 107, 103, 104, 106, 104, 103, 97, 97, 106, 110, 104, 102, 95, 89,
+  93, 71, 63, 60, 56, 45, 16, 12, 41, 36, 45, 38, 45, 34, 29, 29,
+  26, 10, 17, 14, 6, 5, 56, 71, 72, 63, 71, 77, 59, 65, 57, 48,
+  33, 87, 89, 110, 132, 170, 179, 181, 162, 166, 144, 118, 102, 88, 115, 71,
+  84, 71, 56, 59, 57, 72, 71, 64, 73, 79, 83, 80, 79, 81, 81, 81,
+  83, 84, 84, 85, 87, 87, 85, 84, 85, 85, 81, 85, 81, 22, 13, 36,
+  80, 85, 76, 85, 80, 80, 85, 102, 76, 71, 63, 42, 53, 92, 103, 83,
+  69, 100, 104, 103, 77, 72, 80, 65, 44, 46, 63, 65, 49, 52, 52, 51,
+  52, 53, 57, 21, 2, 41, 75, 69, 51, 55, 52, 45, 55, 65, 42, 37,
+  14, 67, 84, 57, 67, 84, 85, 67, 83, 71, 44, 13, 2, 60, 77, 68,
+  81, 87, 72, 77, 81, 81, 84, 63, 29, 1, 63, 53, 69, 53, 40, 32,
+  45, 25, 24, 21, 14, 38, 77, 71, 63, 71, 57, 51, 46, 46, 26, 16,
+  68, 72, 63, 71, 71, 48, 48, 61, 44, 34, 26, 24, 17, 71, 63, 48,
+  61, 46, 38, 44, 52, 36, 42, 12, 38, 76, 72, 76, 57, 28, 60, 61,
+  81, 57, 16, 8, 17, 42, 51, 37, 30, 29, 37, 18, 20, 36, 34, 10,
+  18, 49, 63, 57, 45, 52, 45, 46, 45, 42, 40, 26, 6, 16, 57, 36,
+  26, 22, 26, 18, 33, 33, 18, 5, 0, 30, 67, 45, 55, 38, 48, 36,
+  37, 46, 20, 10, 0, 55, 49, 9, 9, 2, 13, 1, 6, 20, 14, 4,
+  2, 64, 81, 20, 6, 51, 111, 112, 99, 104, 91, 100, 81, 81, 49, 46,
+  63, 72, 114, 199, 234, 237, 234, 237, 236, 189, 146, 114, 104, 104, 106, 108,
+  112, 100, 116, 115, 102, 73, 46, 30, 30, 29, 36, 30, 34, 37, 59, 77,
+  119, 112, 100, 103, 99, 99, 96, 107, 95, 44, 41, 45, 53, 52, 71, 87,
+  108, 103, 118, 104, 108, 92, 88, 87, 95, 89, 92, 87, 97, 93, 95, 102,
+  103, 106, 103, 103, 103, 100, 97, 100, 106, 107, 95, 95, 85, 73, 40, 44,
+  51, 53, 44, 25, 51, 81, 91, 84, 96, 85, 91, 91, 88, 84, 56, 32,
+  56, 87, 85, 87, 81, 85, 89, 92, 84, 65, 63, 24, 63, 73, 85, 91,
+  88, 84, 81, 84, 69, 69, 49, 8, 64, 85, 97, 92, 93, 88, 88, 89,
+  80, 76, 59, 24, 68, 76, 91, 92, 77, 83, 71, 79, 59, 56, 45, 37,
+  45, 44, 60, 57, 52, 55, 57, 59, 64, 60, 38, 72, 85, 67, 63, 73,
+  73, 72, 72, 71, 69, 48, 36, 77, 75, 73, 69, 68, 71, 69, 73, 72,
+  72, 72, 72, 51, 37, 73, 88, 77, 59, 49, 51, 72, 64, 65, 42, 17,
+  71, 83, 71, 61, 51, 51, 65, 84, 68, 61, 51, 26, 51, 67, 53, 49,
+  40, 42, 41, 51, 41, 38, 24, 10, 45, 88, 67, 42, 61, 72, 75, 56,
+  61, 61, 22, 5, 97, 100, 95, 92, 96, 95, 99, 99, 102, 102, 102, 96,
+  97, 97, 99, 97, 97, 95, 99, 97, 97, 96, 97, 96, 96, 92, 92, 89,
+  88, 87, 88, 79, 84, 81, 80, 79, 77, 72, 72, 69, 61, 57, 42, 38,
+  18, 12, 17, 37, 29, 41, 33, 29, 13, 17, 10, 2, 14, 16, 28, 6,
+  2, 61, 95, 73, 65, 68, 65, 69, 59, 56, 25, 51, 91, 108, 174, 193,
+  206, 206, 204, 189, 194, 194, 186, 174, 139, 112, 76, 53, 55, 60, 48, 55,
+  44, 60, 56, 55, 64, 77, 87, 87, 89, 88, 85, 89, 93, 95, 95, 95,
+  93, 92, 93, 93, 91, 97, 71, 18, 25, 14, 8, 72, 79, 87, 69, 77,
+  68, 64, 61, 79, 67, 60, 41, 55, 73, 81, 77, 96, 88, 83, 73, 68,
+  65, 69, 75, 45, 40, 51, 81, 75, 69, 63, 67, 69, 55, 53, 34, 1,
+  49, 73, 75, 63, 55, 61, 52, 57, 73, 34, 37, 22, 55, 91, 65, 76,
+  63, 46, 46, 57, 56, 51, 13, 1, 60, 85, 71, 72, 73, 75, 80, 83,
+  76, 79, 72, 28, 1, 63, 69, 37, 30, 34, 29, 25, 37, 24, 17, 16,
+  42, 73, 69, 73, 53, 42, 56, 51, 51, 29, 18, 52, 65, 56, 64, 52,
+  49, 49, 48, 48, 46, 26, 25, 20, 75, 61, 57, 40, 42, 40, 33, 45,
+  38, 20, 10, 63, 64, 77, 57, 33, 49, 44, 64, 45, 55, 13, 9, 13,
+  38, 46, 42, 46, 40, 30, 20, 21, 24, 29, 8, 2, 52, 60, 64, 44,
+  48, 48, 40, 34, 40, 42, 17, 8, 10, 53, 44, 24, 33, 30, 18, 25,
+  22, 14, 5, 0, 49, 63, 55, 44, 32, 36, 36, 45, 46, 32, 26, 0,
+  24, 38, 5, 17, 5, 16, 6, 8, 21, 9, 4, 12, 55, 52, 26, 42,
+  95, 68, 67, 68, 64, 60, 61, 61, 52, 41, 76, 71, 112, 213, 240, 237,
+  238, 236, 238, 197, 132, 107, 108, 108, 115, 115, 110, 115, 120, 115, 81, 44,
+  26, 22, 24, 25, 26, 32, 32, 33, 36, 36, 49, 77, 108, 150, 112, 103,
+  102, 102, 107, 89, 42, 37, 40, 49, 52, 55, 87, 84, 84, 79, 77, 91,
+  92, 93, 93, 93, 95, 95, 92, 93, 92, 93, 95, 93, 92, 93, 91, 91,
+  89, 87, 87, 91, 89, 87, 83, 61, 36, 38, 36, 51, 51, 46, 28, 34,
+  79, 80, 91, 79, 55, 65, 57, 49, 45, 46, 55, 34, 51, 67, 79, 77,
+  76, 76, 75, 80, 64, 63, 22, 61, 67, 87, 91, 89, 85, 81, 69, 65,
+  63, 45, 12, 65, 69, 71, 71, 69, 69, 69, 71, 73, 63, 56, 24, 64,
+  71, 85, 75, 57, 67, 64, 53, 55, 61, 55, 51, 55, 67, 51, 69, 61,
+  64, 55, 64, 63, 44, 38, 59, 71, 76, 63, 65, 69, 69, 64, 68, 64,
+  46, 34, 77, 73, 73, 64, 68, 67, 67, 61, 64, 60, 67, 56, 60, 34,
+  48, 55, 53, 52, 53, 59, 60, 64, 63, 44, 14, 72, 64, 71, 59, 51,
+  48, 46, 51, 56, 55, 44, 34, 48, 60, 41, 33, 36, 36, 37, 36, 37,
+  36, 18, 12, 33, 64, 67, 48, 57, 67, 64, 61, 65, 72, 21, 2, 89,
+  104, 97, 95, 93, 93, 95, 92, 92, 84, 88, 87, 76, 85, 72, 80, 85,
+  81, 114, 111, 108, 111, 108, 108, 108, 107, 106, 103, 100, 102, 97, 93, 92,
+  95, 89, 88, 91, 85, 67, 38, 18, 16, 13, 12, 10, 8, 17, 4, 8,
+  9, 2, 1, 1, 2, 1, 2, 2, 9, 10, 5, 2, 46, 76, 81, 79,
+  75, 83, 75, 60, 56, 22, 60, 100, 158, 214, 210, 206, 210, 195, 202, 205,
+  197, 179, 174, 150, 73, 64, 68, 61, 64, 60, 57, 53, 61, 67, 38, 38,
+  41, 75, 162, 107, 104, 111, 108, 124, 118, 120, 124, 131, 127, 128, 126, 107,
+  84, 49, 14, 30, 16, 9, 56, 72, 79, 79, 77, 80, 76, 81, 77, 73,
+  69, 67, 72, 75, 57, 57, 63, 56, 55, 56, 65, 67, 56, 51, 51, 48,
+  45, 46, 44, 42, 42, 30, 41, 40, 42, 20, 4, 44, 53, 56, 59, 56,
+  60, 51, 57, 61, 41, 34, 20, 79, 91, 65, 61, 41, 56, 59, 49, 48,
+  51, 13, 1, 80, 80, 69, 73, 67, 77, 68, 72, 69, 73, 59, 42, 1,
+  56, 65, 38, 45, 28, 32, 25, 28, 22, 16, 5, 44, 65, 63, 60, 36,
+  40, 52, 52, 34, 28, 16, 48, 52, 53, 49, 49, 52, 49, 49, 52, 46,
+  26, 32, 25, 80, 61, 41, 38, 42, 38, 30, 40, 34, 14, 10, 52, 38,
+  52, 56, 52, 46, 38, 41, 38, 37, 14, 13, 12, 25, 34, 36, 20, 26,
+  26, 33, 32, 32, 29, 10, 0, 44, 51, 48, 41, 36, 33, 32, 30, 26,
+  26, 10, 10, 10, 9, 9, 9, 14, 16, 10, 28, 20, 18, 6, 5, 44,
+  59, 51, 38, 33, 33, 33, 34, 34, 26, 14, 0, 45, 42, 5, 12, 9,
+  16, 12, 12, 6, 5, 2, 0, 42, 60, 45, 38, 30, 44, 36, 46, 45,
+  41, 38, 44, 55, 88, 67, 93, 194, 238, 236, 237, 237, 240, 189, 136, 107,
+  115, 119, 118, 111, 103, 119, 124, 119, 80, 30, 20, 21, 20, 22, 30, 37,
+  41, 40, 45, 40, 40, 41, 60, 85, 140, 155, 116, 115, 115, 108, 92, 38,
+  34, 36, 46, 52, 41, 73, 81, 81, 81, 83, 88, 93, 95, 96, 100, 99,
+  100, 102, 103, 103, 97, 96, 96, 96, 95, 99, 93, 93, 91, 89, 88, 93,
+  79, 40, 34, 33, 32, 24, 28, 46, 45, 42, 29, 33, 38, 46, 53, 36,
+  32, 30, 26, 28, 22, 24, 25, 36, 36, 48, 51, 55, 57, 63, 64, 64,
+  55, 24, 53, 61, 77, 79, 73, 68, 55, 29, 33, 28, 17, 12, 38, 40,
+  40, 42, 42, 42, 42, 46, 46, 45, 34, 29, 44, 46, 53, 32, 29, 29,
+  32, 21, 13, 21, 18, 13, 12, 10, 12, 12, 12, 17, 18, 20, 21, 22,
+  29, 17, 18, 18, 18, 18, 32, 33, 22, 28, 33, 56, 33, 56, 69, 56,
+  52, 52, 52, 51, 51, 51, 49, 51, 49, 46, 48, 51, 55, 55, 56, 57,
+  59, 59, 59, 61, 44, 18, 65, 64, 53, 46, 41, 45, 42, 40, 48, 48,
+  36, 16, 44, 29, 25, 14, 13, 12, 12, 12, 12, 9, 9, 13, 17, 17,
+  20, 17, 16, 17, 17, 26, 26, 36, 21, 0, 14, 51, 57, 56, 57, 61,
+  67, 65, 68, 65, 68, 48, 68, 97, 106, 118, 122, 120, 123, 126, 119, 124,
+  123, 124, 123, 123, 120, 119, 115, 114, 111, 108, 107, 102, 106, 95, 77, 52,
+  17, 12, 12, 10, 8, 6, 6, 6, 20, 13, 10, 14, 13, 10, 6, 8,
+  8, 6, 5, 8, 2, 8, 5, 29, 59, 61, 57, 64, 65, 51, 38, 57,
+  21, 67, 118, 197, 216, 210, 210, 210, 216, 190, 165, 134, 127, 106, 87, 71,
+  69, 46, 34, 52, 52, 46, 45, 49, 45, 32, 40, 34, 72, 173, 147, 108,
+  108, 131, 123, 126, 128, 131, 140, 135, 136, 132, 110, 73, 18, 14, 10, 32,
+  26, 34, 59, 57, 49, 53, 56, 53, 55, 57, 56, 57, 56, 59, 60, 61,
+  61, 60, 60, 60, 61, 59, 59, 59, 57, 51, 51, 48, 46, 40, 57, 44,
+  41, 32, 41, 40, 21, 4, 17, 45, 46, 25, 30, 46, 45, 36, 36, 40,
+  30, 25, 59, 106, 46, 37, 45, 44, 28, 29, 36, 26, 20, 2, 65, 88,
+  80, 84, 76, 80, 71, 69, 75, 71, 42, 30, 1, 59, 60, 33, 34, 24,
+  20, 21, 21, 18, 12, 12, 34, 14, 18, 20, 21, 20, 20, 17, 12, 10,
+  18, 16, 18, 20, 17, 17, 21, 32, 41, 41, 41, 21, 22, 14, 73, 57,
+  38, 32, 36, 25, 24, 22, 20, 17, 14, 36, 18, 29, 16, 16, 33, 26,
+  32, 26, 30, 28, 14, 9, 21, 26, 29, 24, 20, 17, 17, 14, 14, 13,
+  9, 13, 17, 17, 8, 9, 12, 12, 9, 10, 10, 9, 10, 10, 8, 10,
+  10, 10, 13, 14, 13, 14, 13, 16, 5, 0, 36, 33, 30, 28, 29, 28,
+  26, 26, 26, 14, 17, 0, 37, 30, 1, 1, 0, 0, 0, 0, 1, 2,
+  0, 0, 5, 9, 8, 12, 2, 102, 96, 89, 84, 80, 83, 79, 88, 67,
+  76, 151, 234, 237, 237, 237, 236, 186, 135, 111, 114, 123, 112, 104, 100, 123,
+  130, 124, 91, 34, 18, 20, 18, 20, 32, 37, 37, 33, 33, 28, 33, 18,
+  24, 56, 77, 120, 165, 138, 116, 115, 110, 97, 37, 34, 36, 45, 48, 40,
+  40, 42, 46, 48, 48, 51, 63, 110, 170, 114, 99, 100, 104, 102, 100, 95,
+  95, 99, 100, 108, 108, 108, 102, 99, 103, 99, 71, 32, 28, 28, 21, 22,
+  25, 22, 25, 28, 28, 29, 25, 25, 26, 24, 45, 49, 52, 55, 59, 60,
+  56, 25, 75, 76, 52, 46, 45, 46, 41, 38, 44, 53, 20, 46, 29, 25,
+  22, 21, 22, 16, 14, 14, 14, 16, 8, 12, 12, 9, 9, 10, 12, 12,
+  12, 14, 16, 16, 32, 13, 24, 45, 48, 53, 45, 56, 64, 87, 69, 80,
+  68, 89, 96, 88, 97, 96, 89, 83, 77, 63, 33, 29, 72, 106, 108, 81,
+  77, 67, 51, 46, 41, 14, 12, 9, 8, 9, 9, 8, 8, 9, 9, 9,
+  9, 12, 13, 13, 14, 14, 17, 20, 21, 22, 26, 29, 45, 46, 59, 45,
+  21, 59, 41, 34, 25, 24, 24, 21, 24, 24, 21, 22, 17, 12, 30, 48,
+  48, 52, 73, 81, 77, 85, 73, 40, 12, 53, 88, 87, 67, 46, 48, 48,
+  34, 32, 12, 9, 1, 9, 9, 21, 16, 17, 17, 26, 24, 28, 28, 36,
+  51, 75, 108, 171, 161, 111, 122, 140, 134, 131, 134, 132, 132, 130, 128, 127,
+  126, 123, 122, 119, 114, 112, 102, 103, 92, 48, 16, 13, 10, 9, 10, 13,
+  13, 16, 24, 14, 21, 42, 55, 59, 61, 64, 57, 56, 40, 36, 13, 10,
+  5, 5, 20, 16, 17, 29, 30, 55, 56, 44, 46, 17, 76, 134, 204, 232,
+  213, 213, 202, 151, 124, 92, 93, 85, 79, 77, 73, 28, 51, 40, 45, 42,
+  34, 29, 33, 30, 32, 49, 55, 73, 181, 177, 114, 95, 112, 120, 131, 135,
+  139, 144, 140, 140, 134, 112, 65, 16, 14, 13, 14, 10, 4, 4, 5, 2,
+  1, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  4, 9, 9, 10, 10, 10, 13, 14, 18, 21, 25, 36, 13, 40, 51, 48,
+  32, 33, 41, 40, 25, 26, 33, 12, 2, 9, 36, 38, 33, 29, 40, 41,
+  33, 29, 44, 41, 8, 1, 16, 46, 49, 14, 9, 6, 5, 6, 12, 33,
+  21, 17, 29, 21, 33, 30, 36, 40, 40, 37, 29, 13, 45, 53, 60, 56,
+  33, 12, 9, 13, 9, 17, 18, 30, 24, 56, 33, 32, 34, 30, 42, 51,
+  44, 51, 33, 12, 49, 56, 59, 55, 30, 24, 24, 12, 16, 16, 8, 13,
+  22, 20, 12, 16, 13, 13, 12, 10, 13, 8, 5, 5, 12, 1, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 2, 1, 4,
+  6, 8, 8, 4, 0, 12, 5, 8, 5, 5, 5, 8, 5, 5, 5, 6,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 4, 1,
+  0, 1, 110, 97, 99, 91, 89, 95, 89, 68, 73, 135, 222, 237, 237, 238,
+  236, 187, 124, 112, 120, 127, 110, 104, 110, 126, 136, 131, 110, 44, 18, 17,
+  16, 17, 26, 30, 29, 30, 32, 33, 48, 52, 68, 64, 57, 71, 111, 169,
+  153, 120, 115, 116, 96, 38, 34, 34, 45, 49, 40, 48, 88, 97, 99, 92,
+  97, 95, 111, 181, 153, 99, 97, 102, 96, 102, 111, 114, 127, 131, 134, 132,
+  138, 135, 131, 103, 96, 36, 28, 26, 21, 20, 20, 22, 21, 20, 21, 28,
+  28, 45, 60, 73, 84, 96, 100, 104, 103, 102, 93, 63, 41, 87, 92, 64,
+  64, 68, 69, 61, 51, 48, 53, 20, 20, 28, 45, 48, 53, 83, 93, 103,
+  72, 59, 55, 102, 100, 110, 88, 96, 83, 102, 87, 80, 87, 80, 32, 20,
+  64, 104, 95, 106, 97, 81, 73, 83, 100, 79, 93, 85, 79, 68, 83, 96,
+  92, 81, 84, 75, 92, 38, 28, 79, 115, 102, 100, 115, 111, 114, 118, 104,
+  96, 48, 24, 85, 100, 93, 97, 96, 100, 106, 99, 97, 96, 91, 87, 85,
+  92, 89, 96, 85, 84, 76, 49, 37, 38, 33, 45, 18, 24, 30, 52, 63,
+  60, 65, 79, 69, 61, 52, 41, 33, 76, 100, 99, 97, 95, 97, 93, 87,
+  83, 73, 41, 13, 68, 89, 89, 83, 84, 83, 83, 80, 59, 40, 33, 2,
+  57, 71, 72, 63, 68, 76, 73, 71, 73, 69, 24, 44, 80, 102, 195, 170,
+  120, 114, 126, 143, 143, 140, 144, 153, 153, 151, 153, 153, 144, 142, 118, 112,
+  102, 118, 104, 88, 28, 16, 12, 12, 14, 14, 16, 24, 24, 25, 13, 34,
+  68, 67, 79, 85, 89, 80, 79, 65, 61, 59, 46, 24, 4, 71, 75, 73,
+  71, 30, 29, 24, 46, 46, 10, 85, 162, 214, 210, 218, 201, 138, 103, 93,
+  85, 76, 77, 73, 80, 33, 28, 41, 49, 61, 64, 72, 57, 60, 59, 63,
+  69, 93, 72, 190, 186, 150, 110, 108, 111, 131, 146, 139, 142, 146, 142, 132,
+  116, 61, 16, 21, 18, 17, 10, 14, 45, 52, 51, 53, 51, 56, 45, 80,
+  72, 42, 48, 92, 79, 96, 102, 97, 106, 104, 93, 108, 108, 103, 96, 77,
+  80, 96, 97, 87, 87, 91, 87, 83, 55, 38, 17, 4, 46, 73, 63, 55,
+  51, 38, 25, 26, 8, 17, 16, 18, 2, 1, 8, 2, 2, 0, 4, 0,
+  1, 0, 2, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  2, 10, 10, 14, 20, 36, 44, 26, 22, 37, 4, 24, 61, 73, 77, 75,
+  71, 75, 76, 81, 51, 29, 14, 49, 63, 65, 77, 72, 61, 60, 55, 44,
+  42, 40, 52, 37, 51, 59, 48, 51, 55, 64, 63, 71, 68, 32, 10, 61,
+  55, 34, 65, 60, 56, 51, 42, 32, 24, 18, 12, 13, 5, 12, 29, 24,
+  40, 40, 41, 29, 25, 20, 4, 9, 20, 68, 77, 60, 65, 69, 67, 59,
+  61, 40, 44, 55, 63, 67, 79, 76, 71, 26, 5, 1, 0, 5, 0, 0,
+  6, 6, 2, 4, 6, 5, 2, 4, 4, 0, 0, 8, 21, 24, 29, 18,
+  29, 44, 53, 38, 25, 17, 1, 16, 68, 83, 69, 71, 83, 77, 80, 80,
+  87, 85, 87, 72, 83, 126, 216, 230, 238, 236, 234, 177, 122, 114, 122, 130,
+  107, 107, 119, 130, 143, 139, 128, 81, 25, 18, 17, 18, 26, 30, 32, 33,
+  38, 79, 79, 75, 79, 79, 67, 63, 64, 85, 166, 173, 143, 112, 107, 91,
+  36, 32, 32, 44, 46, 36, 83, 107, 114, 114, 110, 96, 85, 97, 193, 177,
+  120, 96, 97, 108, 116, 131, 134, 136, 142, 143, 147, 146, 140, 134, 110, 84,
+  28, 24, 21, 20, 24, 30, 36, 33, 34, 34, 36, 48, 96, 107, 110, 103,
+  100, 102, 95, 88, 81, 65, 60, 22, 85, 85, 71, 65, 63, 71, 72, 77,
+  48, 56, 20, 71, 102, 99, 102, 99, 107, 88, 107, 81, 108, 68, 72, 91,
+  93, 95, 97, 83, 80, 85, 79, 93, 95, 40, 17, 84, 100, 104, 95, 96,
+  96, 97, 84, 83, 89, 83, 57, 77, 91, 100, 97, 85, 93, 96, 89, 93,
+  41, 38, 93, 114, 110, 85, 103, 100, 102, 95, 100, 111, 68, 25, 110, 118,
+  118, 81, 72, 69, 71, 79, 79, 72, 96, 87, 51, 65, 77, 95, 81, 84,
+  80, 85, 87, 72, 42, 49, 14, 44, 85, 91, 91, 87, 92, 84, 84, 83,
+  61, 42, 28, 75, 96, 83, 77, 75, 73, 73, 72, 68, 76, 46, 14, 59,
+  88, 93, 83, 76, 85, 87, 83, 76, 52, 33, 9, 80, 102, 99, 76, 71,
+  60, 77, 72, 65, 69, 32, 42, 79, 97, 187, 202, 150, 110, 120, 140, 142,
+  154, 159, 167, 170, 166, 170, 162, 155, 148, 115, 107, 122, 118, 107, 79, 21,
+  12, 10, 16, 20, 18, 21, 30, 25, 34, 17, 55, 75, 84, 77, 73, 60,
+  67, 61, 71, 73, 76, 60, 29, 4, 65, 71, 84, 77, 72, 65, 68, 48,
+  45, 12, 85, 175, 216, 216, 208, 150, 108, 95, 83, 89, 73, 71, 85, 85,
+  28, 21, 34, 29, 36, 36, 40, 41, 44, 38, 71, 102, 83, 91, 195, 191,
+  178, 110, 106, 115, 136, 148, 144, 154, 151, 142, 132, 114, 48, 18, 10, 16,
+  17, 16, 29, 71, 87, 72, 67, 65, 59, 68, 64, 65, 59, 69, 81, 102,
+  95, 96, 91, 92, 77, 81, 100, 115, 84, 80, 77, 64, 75, 67, 69, 65,
+  69, 64, 67, 69, 65, 20, 4, 44, 79, 71, 69, 55, 56, 56, 55, 38,
+  37, 25, 17, 13, 83, 84, 65, 60, 61, 52, 49, 46, 36, 16, 4, 22,
+  81, 73, 61, 64, 73, 72, 73, 60, 72, 59, 14, 2, 26, 59, 56, 21,
+  25, 30, 33, 38, 26, 5, 45, 92, 84, 80, 64, 63, 49, 55, 40, 46,
+  30, 14, 56, 69, 71, 59, 52, 49, 48, 44, 56, 64, 57, 46, 49, 63,
+  67, 69, 64, 69, 77, 73, 57, 57, 30, 12, 59, 57, 56, 37, 45, 48,
+  51, 55, 53, 41, 18, 18, 12, 49, 56, 49, 55, 41, 33, 12, 28, 30,
+  16, 6, 2, 51, 67, 64, 55, 59, 55, 67, 48, 56, 48, 41, 42, 42,
+  57, 53, 45, 49, 51, 48, 55, 48, 46, 37, 37, 63, 68, 79, 71, 81,
+  79, 71, 69, 55, 63, 60, 65, 42, 45, 46, 56, 60, 30, 45, 32, 44,
+  26, 5, 53, 84, 85, 61, 42, 28, 84, 87, 88, 79, 83, 71, 81, 85,
+  185, 225, 229, 233, 233, 187, 126, 112, 124, 134, 115, 107, 131, 139, 144, 140,
+  138, 115, 49, 18, 17, 20, 26, 36, 32, 28, 33, 77, 88, 87, 79, 76,
+  85, 85, 63, 72, 79, 146, 178, 158, 116, 103, 84, 34, 30, 30, 44, 48,
+  42, 96, 119, 99, 103, 92, 93, 92, 97, 198, 182, 166, 97, 97, 112, 123,
+  135, 142, 148, 144, 148, 147, 150, 144, 128, 110, 55, 28, 22, 18, 30, 33,
+  36, 38, 36, 40, 42, 38, 84, 115, 114, 107, 107, 92, 93, 77, 71, 76,
+  59, 59, 26, 77, 91, 77, 60, 63, 67, 68, 77, 49, 57, 21, 76, 93,
+  100, 95, 111, 80, 89, 93, 69, 81, 61, 87, 103, 99, 87, 87, 79, 81,
+  80, 85, 87, 87, 34, 17, 99, 96, 93, 87, 95, 97, 88, 84, 85, 77,
+  71, 49, 75, 97, 107, 93, 92, 92, 89, 84, 88, 40, 29, 85, 110, 111,
+  103, 100, 85, 100, 87, 100, 93, 92, 29, 96, 89, 126, 115, 115, 114, 110,
+  111, 107, 102, 85, 77, 52, 92, 103, 96, 103, 92, 91, 89, 87, 83, 61,
+  52, 17, 72, 96, 88, 88, 69, 75, 63, 61, 75, 73, 44, 29, 63, 80,
+  87, 79, 80, 76, 75, 76, 81, 71, 46, 16, 63, 73, 92, 80, 68, 79,
+  75, 88, 87, 52, 36, 0, 80, 77, 88, 88, 97, 92, 88, 95, 73, 73,
+  36, 40, 83, 100, 186, 213, 191, 128, 115, 130, 144, 151, 159, 171, 174, 173,
+  171, 174, 166, 153, 116, 116, 130, 120, 110, 77, 18, 12, 13, 20, 22, 33,
+  33, 25, 29, 29, 17, 64, 76, 81, 72, 55, 56, 52, 64, 52, 57, 65,
+  67, 28, 4, 75, 73, 76, 67, 61, 65, 55, 30, 45, 20, 80, 182, 213,
+  220, 190, 111, 92, 87, 89, 75, 72, 92, 91, 75, 28, 20, 24, 45, 33,
+  34, 32, 41, 33, 34, 75, 97, 92, 87, 199, 205, 191, 110, 97, 114, 122,
+  139, 144, 147, 154, 146, 132, 116, 53, 17, 9, 21, 26, 10, 40, 77, 63,
+  67, 64, 63, 59, 68, 63, 51, 48, 64, 95, 108, 97, 85, 83, 76, 81,
+  77, 87, 91, 91, 84, 59, 75, 87, 92, 92, 99, 93, 92, 75, 63, 29,
+  21, 5, 56, 75, 69, 71, 68, 65, 49, 53, 51, 45, 24, 18, 53, 84,
+  68, 65, 65, 61, 71, 64, 52, 55, 18, 2, 64, 81, 55, 46, 60, 65,
+  56, 59, 65, 52, 53, 20, 2, 45, 49, 33, 20, 32, 18, 29, 40, 18,
+  5, 34, 91, 69, 65, 40, 38, 37, 41, 42, 77, 29, 16, 46, 59, 45,
+  69, 80, 61, 51, 56, 40, 45, 42, 26, 57, 68, 81, 81, 79, 91, 71,
+  73, 37, 68, 34, 13, 56, 52, 55, 42, 30, 28, 32, 38, 32, 53, 25,
+  18, 2, 56, 56, 56, 53, 29, 40, 26, 26, 29, 30, 5, 4, 67, 64,
+  29, 40, 34, 42, 52, 59, 60, 48, 59, 16, 51, 41, 55, 45, 44, 44,
+  33, 28, 41, 57, 14, 69, 77, 69, 69, 72, 64, 55, 64, 68, 67, 63,
+  24, 26, 53, 79, 60, 60, 51, 37, 17, 48, 49, 33, 4, 63, 83, 61,
+  55, 25, 10, 75, 75, 76, 97, 67, 83, 81, 127, 222, 225, 230, 234, 209,
+  143, 116, 120, 132, 130, 107, 124, 146, 151, 147, 142, 132, 85, 25, 17, 16,
+  22, 26, 38, 33, 17, 34, 81, 81, 87, 77, 71, 73, 71, 72, 67, 77,
+  116, 183, 173, 122, 106, 79, 34, 30, 30, 44, 49, 42, 77, 114, 100, 102,
+  97, 93, 102, 104, 202, 194, 178, 92, 99, 112, 131, 139, 150, 147, 157, 148,
+  144, 148, 139, 127, 112, 33, 24, 21, 18, 32, 42, 42, 37, 41, 42, 38,
+  53, 103, 112, 114, 106, 89, 87, 83, 80, 72, 69, 65, 55, 25, 76, 81,
+  84, 77, 73, 68, 60, 61, 48, 55, 17, 84, 92, 111, 81, 79, 79, 76,
+  83, 83, 80, 59, 83, 103, 95, 89, 89, 100, 92, 92, 84, 76, 81, 37,
+  20, 77, 100, 84, 102, 85, 69, 91, 84, 80, 80, 71, 48, 76, 89, 107,
+  89, 106, 95, 85, 93, 84, 44, 26, 85, 106, 103, 96, 96, 95, 84, 83,
+  89, 93, 103, 33, 65, 110, 84, 107, 116, 100, 112, 106, 96, 107, 91, 67,
+  51, 95, 100, 85, 75, 73, 65, 83, 88, 81, 75, 52, 22, 84, 88, 89,
+  92, 68, 59, 60, 67, 71, 60, 40, 16, 72, 85, 75, 85, 81, 76, 83,
+  80, 77, 60, 48, 22, 56, 77, 88, 84, 84, 65, 80, 75, 81, 48, 32,
+  0, 80, 87, 83, 84, 92, 77, 103, 100, 104, 85, 41, 41, 81, 100, 183,
+  205, 189, 130, 114, 127, 140, 144, 155, 171, 177, 178, 178, 170, 166, 148, 118,
+  128, 132, 124, 116, 63, 17, 12, 16, 24, 33, 29, 25, 25, 30, 36, 20,
+  68, 83, 80, 56, 64, 71, 67, 60, 56, 59, 61, 51, 28, 4, 75, 57,
+  80, 72, 73, 65, 51, 32, 42, 14, 85, 178, 209, 216, 167, 102, 92, 83,
+  85, 76, 77, 100, 93, 77, 26, 17, 16, 25, 36, 38, 29, 34, 32, 22,
+  71, 97, 76, 93, 199, 193, 197, 108, 97, 104, 115, 130, 138, 153, 158, 150,
+  134, 110, 49, 20, 8, 13, 26, 12, 40, 77, 80, 61, 53, 45, 48, 41,
+  48, 44, 41, 14, 89, 104, 92, 80, 76, 76, 87, 91, 92, 79, 96, 83,
+  57, 79, 89, 100, 91, 81, 71, 60, 76, 69, 67, 24, 6, 52, 55, 75,
+  55, 49, 44, 44, 46, 56, 71, 26, 16, 68, 84, 46, 56, 41, 63, 68,
+  72, 59, 55, 21, 2, 72, 80, 59, 49, 64, 77, 75, 72, 73, 59, 61,
+  20, 2, 51, 41, 18, 20, 37, 20, 20, 28, 22, 4, 37, 75, 72, 40,
+  57, 60, 38, 41, 46, 42, 45, 12, 40, 61, 48, 69, 51, 36, 44, 36,
+  51, 49, 42, 30, 72, 60, 56, 49, 60, 71, 81, 60, 60, 52, 33, 14,
+  52, 51, 67, 52, 37, 40, 36, 40, 40, 51, 44, 17, 22, 41, 65, 56,
+  37, 34, 52, 26, 37, 22, 20, 5, 6, 28, 63, 59, 33, 33, 30, 29,
+  20, 30, 25, 18, 13, 59, 49, 57, 36, 32, 29, 25, 26, 29, 57, 18,
+  71, 73, 69, 52, 55, 42, 44, 49, 44, 42, 30, 25, 26, 55, 48, 42,
+  37, 26, 16, 29, 30, 38, 40, 2, 25, 85, 55, 56, 13, 0, 110, 104,
+  102, 76, 73, 83, 93, 178, 221, 234, 228, 220, 158, 126, 116, 131, 135, 120,
+  112, 144, 155, 155, 147, 140, 120, 55, 18, 14, 18, 24, 32, 38, 33, 18,
+  71, 91, 84, 77, 71, 76, 80, 69, 65, 65, 69, 111, 189, 181, 154, 104,
+  75, 34, 28, 28, 40, 49, 42, 64, 118, 102, 97, 100, 92, 89, 95, 209,
+  199, 178, 93, 103, 114, 126, 140, 148, 150, 150, 147, 148, 148, 136, 118, 112,
+  30, 20, 18, 32, 38, 44, 42, 46, 41, 42, 37, 52, 106, 107, 110, 89,
+  83, 84, 83, 77, 73, 68, 60, 67, 37, 83, 79, 68, 71, 69, 80, 57,
+  71, 46, 55, 16, 77, 87, 92, 68, 84, 69, 89, 61, 80, 75, 51, 83,
+  103, 89, 93, 91, 92, 99, 88, 88, 93, 75, 36, 18, 81, 93, 88, 102,
+  93, 95, 85, 91, 76, 84, 69, 49, 75, 89, 92, 92, 107, 91, 79, 89,
+  77, 49, 25, 87, 111, 111, 106, 93, 91, 89, 88, 87, 89, 103, 44, 37,
+  108, 116, 119, 112, 108, 106, 104, 104, 115, 97, 75, 51, 89, 104, 83, 81,
+  95, 73, 73, 73, 84, 65, 53, 20, 76, 104, 77, 83, 65, 60, 75, 60,
+  64, 64, 41, 17, 60, 76, 77, 95, 76, 73, 72, 67, 64, 68, 51, 24,
+  57, 85, 88, 89, 71, 75, 73, 79, 77, 49, 36, 4, 87, 76, 75, 93,
+  95, 77, 91, 103, 107, 80, 34, 46, 83, 88, 148, 213, 195, 134, 110, 122,
+  140, 144, 155, 167, 166, 169, 173, 174, 165, 130, 114, 131, 136, 126, 116, 44,
+  14, 10, 20, 25, 33, 26, 25, 29, 32, 29, 25, 68, 81, 67, 65, 57,
+  61, 53, 61, 65, 53, 60, 51, 26, 4, 55, 80, 73, 69, 65, 65, 44,
+  33, 44, 16, 92, 193, 208, 208, 138, 103, 85, 91, 77, 71, 91, 93, 96,
+  77, 25, 17, 21, 20, 38, 42, 38, 33, 36, 26, 63, 97, 92, 97, 201,
+  205, 201, 106, 93, 102, 119, 123, 131, 151, 157, 151, 135, 106, 51, 21, 12,
+  17, 17, 13, 33, 69, 68, 60, 46, 63, 56, 56, 56, 45, 38, 46, 102,
+  106, 96, 81, 93, 83, 89, 89, 77, 75, 91, 75, 60, 80, 95, 92, 80,
+  73, 69, 69, 75, 69, 64, 22, 6, 51, 72, 64, 45, 48, 48, 51, 42,
+  56, 49, 25, 16, 36, 79, 44, 53, 57, 68, 57, 73, 63, 45, 22, 4,
+  34, 80, 49, 60, 49, 60, 55, 53, 51, 48, 56, 17, 5, 44, 32, 24,
+  25, 38, 18, 20, 21, 17, 5, 38, 79, 68, 52, 68, 79, 63, 41, 44,
+  52, 29, 13, 36, 72, 48, 65, 51, 30, 41, 61, 45, 56, 41, 24, 75,
+  67, 64, 61, 79, 75, 60, 32, 59, 55, 33, 14, 52, 46, 67, 73, 63,
+  56, 51, 55, 44, 38, 24, 20, 22, 49, 67, 42, 41, 28, 42, 30, 49,
+  20, 17, 4, 5, 28, 68, 60, 36, 26, 26, 26, 29, 29, 24, 20, 14,
+  56, 30, 49, 46, 37, 32, 21, 24, 38, 33, 8, 52, 72, 63, 46, 40,
+  34, 37, 42, 28, 49, 32, 17, 26, 59, 51, 57, 41, 37, 9, 33, 33,
+  36, 24, 4, 26, 67, 55, 24, 1, 0, 108, 83, 92, 67, 81, 84, 127,
+  210, 222, 225, 225, 181, 120, 120, 128, 135, 131, 108, 126, 151, 158, 154, 146,
+  135, 99, 28, 16, 14, 20, 28, 29, 37, 34, 18, 80, 87, 81, 75, 75,
+  79, 83, 73, 68, 71, 68, 93, 187, 183, 162, 104, 76, 30, 26, 29, 41,
+  48, 44, 55, 112, 103, 99, 100, 95, 97, 91, 210, 199, 169, 99, 99, 111,
+  124, 136, 136, 148, 146, 148, 148, 144, 131, 115, 114, 29, 18, 17, 32, 45,
+  38, 40, 46, 49, 45, 40, 51, 107, 112, 107, 84, 77, 84, 71, 75, 80,
+  68, 61, 63, 26, 80, 75, 85, 91, 85, 84, 57, 64, 45, 56, 20, 75,
+  89, 106, 81, 79, 76, 65, 71, 76, 77, 52, 88, 97, 84, 92, 92, 99,
+  83, 80, 83, 84, 75, 41, 17, 73, 89, 81, 102, 104, 100, 88, 85, 77,
+  79, 68, 45, 76, 83, 85, 87, 102, 107, 103, 102, 77, 41, 26, 77, 108,
+  108, 103, 91, 87, 85, 97, 83, 91, 99, 75, 37, 96, 112, 106, 102, 88,
+  100, 108, 114, 92, 87, 67, 52, 91, 104, 73, 79, 83, 76, 76, 93, 83,
+  60, 55, 22, 69, 85, 88, 81, 68, 57, 55, 73, 72, 59, 41, 22, 75,
+  80, 81, 103, 85, 80, 65, 76, 83, 72, 64, 25, 59, 88, 73, 69, 72,
+  65, 60, 68, 80, 51, 36, 4, 75, 77, 72, 79, 80, 83, 65, 88, 81,
+  61, 48, 45, 68, 99, 136, 212, 212, 154, 107, 111, 138, 144, 157, 167, 173,
+  178, 173, 165, 161, 123, 127, 139, 134, 127, 115, 25, 13, 10, 21, 30, 29,
+  25, 29, 34, 34, 33, 25, 68, 79, 75, 68, 72, 53, 71, 60, 65, 53,
+  59, 56, 28, 4, 71, 55, 68, 97, 65, 64, 60, 34, 41, 13, 84, 181,
+  205, 205, 126, 89, 81, 81, 72, 77, 95, 95, 97, 91, 22, 17, 12, 17,
+  36, 44, 36, 29, 36, 29, 71, 106, 81, 104, 205, 206, 201, 106, 100, 106,
+  108, 123, 135, 147, 158, 153, 138, 119, 46, 20, 17, 14, 18, 16, 33, 65,
+  64, 55, 42, 67, 36, 52, 69, 41, 42, 48, 103, 97, 83, 69, 84, 87,
+  96, 75, 68, 75, 91, 67, 57, 75, 100, 83, 71, 73, 59, 65, 56, 77,
+  79, 24, 6, 49, 64, 72, 41, 46, 51, 38, 45, 40, 46, 25, 14, 53,
+  75, 34, 49, 53, 56, 73, 75, 51, 53, 22, 4, 32, 76, 49, 46, 46,
+  48, 44, 45, 69, 53, 53, 18, 4, 56, 34, 21, 26, 38, 20, 17, 17,
+  13, 5, 55, 81, 64, 73, 83, 85, 69, 51, 49, 49, 29, 16, 34, 76,
+  57, 60, 51, 29, 32, 42, 34, 53, 46, 17, 79, 59, 64, 53, 67, 56,
+  37, 32, 65, 46, 32, 16, 52, 46, 64, 40, 45, 49, 46, 49, 48, 36,
+  25, 18, 6, 40, 67, 60, 26, 24, 41, 25, 38, 41, 32, 5, 4, 22,
+  67, 56, 26, 32, 18, 24, 22, 25, 17, 17, 10, 51, 63, 36, 34, 32,
+  44, 30, 22, 33, 41, 14, 53, 60, 55, 41, 22, 22, 34, 52, 37, 37,
+  18, 22, 34, 53, 63, 32, 18, 24, 18, 33, 18, 42, 25, 6, 34, 57,
+  41, 29, 0, 0, 127, 92, 73, 65, 83, 88, 174, 214, 226, 220, 208, 154,
+  115, 116, 134, 138, 131, 114, 142, 158, 158, 153, 146, 132, 76, 20, 13, 14,
+  24, 29, 36, 34, 34, 21, 87, 85, 84, 71, 80, 85, 77, 69, 72, 76,
+  71, 99, 185, 186, 170, 108, 77, 34, 26, 29, 45, 51, 45, 42, 108, 107,
+  97, 107, 97, 99, 96, 212, 194, 178, 103, 102, 112, 124, 132, 136, 144, 148,
+  148, 148, 135, 130, 112, 111, 30, 17, 16, 33, 48, 46, 42, 40, 48, 45,
+  37, 64, 102, 115, 92, 91, 80, 83, 81, 81, 75, 76, 59, 59, 26, 85,
+  76, 71, 72, 75, 80, 56, 63, 46, 52, 18, 75, 88, 95, 71, 76, 71,
+  76, 64, 63, 73, 53, 81, 95, 99, 93, 97, 81, 84, 87, 85, 83, 72,
+  37, 16, 69, 89, 80, 77, 92, 92, 84, 85, 80, 77, 64, 38, 71, 88,
+  99, 89, 103, 89, 87, 77, 87, 37, 28, 68, 108, 103, 97, 88, 91, 93,
+  85, 83, 89, 95, 69, 30, 72, 110, 115, 91, 102, 107, 104, 92, 96, 81,
+  61, 59, 91, 100, 71, 77, 87, 76, 75, 63, 75, 76, 55, 25, 73, 85,
+  84, 88, 80, 59, 59, 56, 68, 67, 42, 26, 72, 88, 71, 76, 84, 68,
+  79, 81, 80, 72, 56, 26, 59, 73, 83, 68, 67, 64, 73, 72, 69, 53,
+  37, 0, 93, 81, 69, 57, 83, 77, 89, 85, 80, 71, 42, 37, 67, 99,
+  87, 213, 217, 181, 110, 110, 132, 143, 154, 165, 170, 170, 169, 171, 150, 124,
+  132, 143, 135, 127, 115, 21, 13, 12, 20, 33, 30, 29, 36, 41, 34, 30,
+  25, 57, 79, 72, 76, 53, 68, 61, 60, 67, 52, 56, 56, 28, 4, 67,
+  65, 69, 67, 93, 81, 68, 34, 41, 12, 75, 170, 195, 228, 142, 92, 75,
+  83, 71, 89, 96, 96, 102, 76, 22, 17, 10, 22, 30, 40, 38, 29, 33,
+  25, 75, 92, 88, 115, 210, 213, 199, 97, 92, 103, 115, 122, 138, 146, 159,
+  154, 139, 130, 48, 25, 8, 17, 22, 17, 28, 67, 63, 56, 61, 52, 48,
+  52, 44, 53, 33, 40, 92, 95, 92, 83, 88, 69, 65, 79, 72, 83, 85,
+  56, 60, 81, 97, 79, 65, 69, 65, 61, 77, 68, 61, 25, 9, 51, 61,
+  61, 36, 57, 37, 48, 44, 46, 38, 26, 14, 55, 83, 36, 44, 59, 59,
+  63, 65, 44, 55, 24, 4, 34, 75, 55, 57, 55, 48, 55, 73, 42, 46,
+  49, 17, 4, 42, 29, 24, 30, 36, 32, 16, 13, 9, 6, 46, 76, 53,
+  75, 73, 72, 67, 79, 73, 51, 25, 13, 44, 69, 37, 65, 44, 32, 36,
+  44, 45, 56, 42, 18, 69, 68, 77, 55, 57, 52, 44, 29, 28, 42, 29,
+  14, 33, 42, 61, 55, 52, 51, 41, 51, 46, 49, 22, 18, 4, 40, 76,
+  56, 46, 22, 38, 32, 36, 20, 24, 4, 4, 22, 64, 59, 38, 40, 24,
+  22, 22, 21, 22, 34, 10, 40, 44, 17, 26, 25, 20, 28, 26, 28, 41,
+  24, 60, 71, 68, 53, 16, 44, 38, 42, 32, 40, 28, 20, 38, 46, 26,
+  51, 24, 12, 22, 21, 21, 16, 9, 4, 34, 52, 46, 18, 0, 0, 77,
+  104, 73, 76, 84, 114, 199, 221, 214, 217, 170, 128, 115, 131, 135, 138, 120,
+  126, 155, 159, 157, 151, 142, 124, 40, 16, 12, 17, 24, 34, 37, 42, 36,
+  20, 95, 84, 79, 73, 87, 77, 75, 72, 73, 69, 65, 120, 183, 182, 178,
+  106, 73, 33, 28, 29, 44, 48, 44, 40, 107, 106, 102, 108, 103, 96, 93,
+  217, 191, 189, 104, 100, 111, 120, 131, 138, 142, 144, 148, 143, 135, 128, 111,
+  110, 26, 16, 16, 33, 53, 44, 46, 44, 55, 46, 37, 67, 107, 114, 91,
+  83, 88, 91, 81, 81, 84, 72, 57, 57, 26, 77, 81, 75, 73, 59, 63,
+  67, 60, 48, 51, 17, 73, 93, 104, 77, 79, 81, 60, 77, 67, 73, 49,
+  87, 97, 95, 85, 84, 92, 91, 91, 88, 83, 46, 44, 18, 65, 81, 85,
+  81, 83, 85, 80, 79, 84, 76, 68, 34, 83, 87, 95, 92, 95, 96, 91,
+  97, 85, 37, 28, 64, 95, 102, 93, 77, 95, 95, 77, 87, 87, 83, 76,
+  38, 71, 107, 116, 110, 88, 96, 80, 92, 88, 79, 42, 68, 83, 99, 81,
+  83, 67, 61, 67, 59, 65, 76, 55, 29, 49, 75, 93, 65, 56, 65, 71,
+  61, 65, 51, 42, 10, 67, 80, 76, 69, 71, 60, 72, 80, 72, 67, 57,
+  32, 36, 67, 79, 83, 85, 83, 81, 84, 69, 46, 33, 0, 79, 72, 68,
+  69, 72, 88, 87, 84, 59, 87, 48, 51, 42, 96, 80, 218, 221, 213, 111,
+  108, 131, 147, 150, 154, 170, 171, 170, 170, 140, 128, 147, 146, 135, 126, 115,
+  22, 13, 9, 24, 38, 29, 32, 36, 45, 38, 36, 28, 48, 76, 71, 69,
+  68, 71, 71, 65, 63, 60, 56, 60, 26, 5, 63, 57, 53, 67, 103, 71,
+  63, 34, 37, 8, 57, 114, 182, 228, 147, 88, 84, 87, 88, 96, 92, 99,
+  92, 48, 21, 18, 12, 21, 32, 40, 38, 36, 29, 17, 68, 89, 83, 108,
+  210, 204, 202, 102, 95, 106, 119, 128, 138, 146, 158, 155, 148, 135, 49, 24,
+  6, 12, 20, 14, 17, 59, 56, 63, 57, 55, 57, 51, 44, 49, 33, 9,
+  93, 96, 76, 65, 71, 76, 79, 79, 80, 85, 88, 56, 63, 88, 77, 61,
+  84, 61, 57, 63, 64, 68, 60, 28, 9, 41, 65, 69, 42, 40, 44, 42,
+  41, 53, 55, 29, 12, 68, 75, 42, 52, 59, 56, 57, 59, 42, 41, 29,
+  2, 37, 64, 55, 52, 49, 72, 72, 48, 41, 40, 53, 16, 4, 57, 33,
+  21, 18, 17, 34, 13, 13, 9, 6, 38, 71, 64, 67, 65, 81, 63, 59,
+  55, 46, 33, 12, 41, 71, 59, 59, 34, 32, 42, 44, 37, 61, 44, 21,
+  67, 59, 79, 45, 45, 72, 38, 28, 36, 25, 33, 14, 24, 49, 37, 51,
+  75, 63, 46, 45, 55, 45, 25, 17, 28, 40, 76, 44, 28, 33, 36, 22,
+  10, 10, 9, 5, 5, 17, 37, 53, 34, 29, 33, 29, 25, 22, 24, 12,
+  9, 25, 24, 22, 21, 25, 21, 33, 26, 30, 14, 17, 65, 68, 65, 60,
+  24, 45, 26, 25, 48, 20, 28, 22, 44, 29, 17, 18, 10, 21, 5, 6,
+  2, 16, 5, 5, 20, 51, 10, 12, 2, 0, 104, 79, 64, 83, 88, 138,
+  198, 218, 212, 204, 135, 131, 127, 132, 138, 138, 114, 144, 162, 161, 158, 150,
+  140, 116, 32, 16, 13, 18, 24, 30, 26, 37, 36, 18, 88, 80, 80, 81,
+  73, 73, 72, 68, 69, 77, 65, 130, 183, 183, 166, 102, 68, 33, 26, 28,
+  46, 55, 49, 46, 95, 116, 95, 102, 102, 92, 89, 220, 193, 198, 104, 100,
+  111, 122, 130, 140, 144, 146, 146, 131, 132, 130, 115, 115, 25, 14, 13, 36,
+  49, 40, 45, 41, 60, 46, 36, 68, 100, 100, 87, 56, 57, 75, 79, 61,
+  61, 65, 63, 67, 40, 89, 80, 75, 60, 65, 57, 65, 56, 45, 48, 14,
+  73, 81, 95, 67, 77, 80, 72, 79, 79, 69, 40, 81, 97, 106, 102, 102,
+  95, 83, 73, 81, 59, 46, 41, 18, 52, 71, 75, 55, 65, 84, 75, 59,
+  65, 73, 60, 36, 69, 80, 95, 97, 80, 71, 68, 67, 53, 45, 25, 59,
+  103, 106, 100, 96, 87, 85, 84, 87, 80, 84, 83, 42, 56, 102, 112, 104,
+  81, 103, 97, 88, 83, 75, 42, 56, 81, 99, 83, 77, 64, 65, 55, 60,
+  61, 64, 56, 26, 48, 56, 55, 55, 55, 53, 57, 57, 64, 64, 41, 12,
+  64, 80, 81, 71, 71, 68, 61, 68, 59, 59, 56, 34, 42, 60, 84, 83,
+  92, 81, 73, 79, 46, 48, 38, 2, 80, 73, 65, 69, 56, 75, 79, 81,
+  69, 77, 34, 46, 33, 89, 85, 221, 226, 214, 111, 106, 131, 146, 150, 153,
+  163, 170, 167, 158, 128, 140, 146, 146, 139, 132, 118, 18, 13, 10, 21, 33,
+  30, 32, 33, 41, 45, 37, 32, 37, 73, 77, 77, 63, 67, 69, 63, 63,
+  59, 52, 48, 26, 6, 55, 59, 69, 67, 61, 57, 51, 45, 40, 8, 41,
+  83, 139, 136, 95, 85, 73, 63, 79, 77, 83, 79, 45, 22, 20, 17, 14,
+  17, 33, 37, 37, 34, 32, 18, 73, 88, 73, 69, 204, 216, 213, 104, 93,
+  106, 120, 130, 139, 147, 161, 155, 135, 124, 46, 24, 9, 12, 20, 16, 16,
+  42, 59, 55, 57, 55, 56, 53, 45, 53, 30, 29, 96, 91, 67, 73, 89,
+  91, 85, 89, 87, 89, 83, 55, 69, 97, 75, 76, 77, 63, 65, 75, 67,
+  64, 55, 28, 8, 48, 61, 65, 41, 36, 38, 34, 52, 57, 48, 28, 13,
+  44, 71, 40, 33, 37, 38, 40, 38, 42, 49, 32, 5, 37, 36, 76, 69,
+  72, 75, 76, 41, 49, 45, 49, 20, 6, 42, 22, 20, 14, 22, 20, 30,
+  16, 12, 5, 33, 68, 63, 64, 81, 53, 57, 51, 42, 46, 28, 14, 41,
+  68, 44, 38, 42, 67, 46, 63, 53, 48, 38, 20, 59, 57, 56, 57, 59,
+  52, 49, 44, 30, 42, 37, 18, 21, 36, 48, 40, 28, 24, 24, 34, 29,
+  26, 24, 18, 29, 60, 76, 46, 20, 4, 4, 14, 13, 2, 4, 9, 6,
+  9, 24, 29, 26, 18, 20, 16, 16, 17, 21, 18, 17, 25, 25, 38, 25,
+  29, 18, 18, 21, 24, 17, 22, 37, 60, 71, 45, 25, 21, 20, 22, 17,
+  13, 14, 18, 20, 18, 18, 20, 18, 10, 32, 28, 33, 26, 13, 24, 26,
+  34, 34, 28, 16, 10, 77, 79, 57, 80, 91, 147, 201, 212, 213, 151, 134,
+  122, 132, 136, 142, 135, 119, 154, 165, 162, 157, 148, 136, 103, 25, 14, 12,
+  17, 22, 34, 36, 44, 34, 22, 89, 79, 73, 80, 72, 69, 67, 68, 71,
+  67, 69, 140, 178, 178, 163, 104, 65, 33, 28, 29, 46, 52, 49, 41, 83,
+  114, 107, 91, 102, 93, 88, 220, 199, 206, 106, 103, 111, 124, 138, 136, 140,
+  139, 132, 124, 130, 127, 116, 116, 22, 14, 12, 36, 44, 45, 40, 41, 38,
+  56, 56, 61, 71, 73, 67, 63, 67, 61, 63, 65, 85, 76, 64, 57, 28,
+  73, 80, 60, 53, 57, 56, 53, 51, 56, 53, 21, 73, 91, 87, 67, 64,
+  63, 57, 67, 65, 64, 45, 63, 80, 96, 63, 68, 59, 57, 51, 44, 36,
+  32, 45, 40, 44, 45, 44, 55, 40, 42, 41, 41, 42, 40, 34, 30, 51,
+  51, 53, 46, 40, 40, 44, 42, 36, 36, 49, 51, 83, 93, 87, 72, 81,
+  85, 88, 75, 75, 88, 81, 72, 52, 60, 100, 91, 69, 80, 80, 81, 80,
+  68, 46, 52, 75, 76, 61, 60, 61, 68, 68, 59, 56, 57, 53, 52, 45,
+  53, 53, 53, 45, 51, 44, 61, 53, 59, 42, 21, 69, 64, 65, 63, 61,
+  60, 60, 60, 56, 56, 46, 53, 29, 33, 36, 40, 37, 40, 38, 38, 38,
+  44, 37, 2, 28, 77, 72, 34, 49, 65, 69, 61, 56, 69, 61, 51, 38,
+  60, 64, 212, 228, 217, 106, 103, 126, 140, 144, 144, 150, 162, 163, 158, 135,
+  151, 151, 150, 142, 132, 118, 17, 12, 12, 18, 29, 33, 38, 37, 34, 36,
+  40, 38, 30, 36, 53, 63, 57, 57, 55, 57, 59, 59, 52, 53, 28, 6,
+  51, 63, 64, 49, 52, 42, 41, 41, 40, 16, 28, 41, 64, 83, 59, 29,
+  20, 16, 14, 16, 16, 16, 16, 18, 17, 10, 10, 14, 34, 34, 36, 26,
+  32, 20, 67, 75, 91, 69, 185, 214, 210, 102, 95, 110, 123, 134, 139, 148,
+  161, 155, 136, 123, 42, 26, 25, 10, 20, 18, 16, 20, 36, 42, 41, 52,
+  44, 53, 45, 42, 37, 38, 93, 83, 87, 84, 79, 80, 75, 76, 81, 77,
+  63, 53, 57, 79, 87, 85, 77, 81, 75, 67, 42, 38, 37, 26, 9, 38,
+  48, 55, 64, 75, 53, 63, 52, 40, 25, 30, 12, 42, 64, 63, 55, 53,
+  51, 49, 42, 45, 40, 33, 5, 28, 21, 22, 28, 38, 41, 25, 28, 41,
+  21, 25, 18, 6, 44, 22, 28, 26, 26, 20, 18, 18, 10, 10, 33, 29,
+  24, 29, 20, 38, 46, 52, 46, 38, 25, 17, 21, 48, 38, 48, 34, 41,
+  40, 45, 38, 33, 40, 12, 42, 55, 53, 34, 38, 42, 42, 33, 33, 36,
+  32, 25, 30, 30, 28, 22, 24, 24, 22, 29, 22, 21, 20, 17, 2, 55,
+  1, 22, 1, 20, 2, 4, 17, 16, 4, 5, 10, 10, 9, 8, 9, 9,
+  9, 9, 12, 12, 10, 13, 10, 14, 18, 13, 20, 14, 13, 12, 14, 16,
+  17, 14, 28, 41, 22, 37, 17, 21, 60, 65, 60, 29, 51, 48, 18, 17,
+  12, 14, 18, 16, 17, 13, 9, 8, 12, 16, 37, 16, 14, 53, 57, 68,
+  52, 53, 56, 83, 88, 165, 213, 157, 151, 144, 112, 142, 131, 138, 139, 131,
+  131, 161, 165, 161, 155, 147, 132, 87, 20, 14, 13, 20, 26, 36, 36, 37,
+  34, 13, 84, 79, 69, 69, 55, 61, 67, 60, 72, 69, 68, 154, 182, 177,
+  163, 97, 61, 33, 29, 30, 48, 51, 56, 52, 59, 85, 106, 99, 97, 91,
+  87, 218, 212, 214, 107, 102, 108, 123, 124, 124, 127, 126, 131, 134, 132, 131,
+  122, 119, 21, 13, 13, 32, 36, 38, 44, 45, 41, 46, 44, 46, 55, 52,
+  48, 53, 53, 53, 56, 55, 56, 57, 57, 56, 53, 59, 56, 55, 53, 53,
+  55, 55, 51, 51, 45, 22, 67, 91, 60, 53, 49, 49, 52, 49, 48, 49,
+  41, 48, 49, 46, 46, 44, 41, 40, 41, 38, 37, 33, 28, 18, 18, 17,
+  18, 17, 14, 14, 14, 12, 13, 10, 10, 12, 10, 16, 17, 17, 13, 14,
+  21, 32, 28, 30, 28, 41, 61, 60, 71, 80, 69, 65, 71, 73, 72, 71,
+  72, 61, 56, 64, 57, 53, 46, 38, 38, 38, 45, 40, 32, 38, 41, 49,
+  42, 42, 61, 60, 59, 42, 42, 36, 32, 38, 48, 53, 53, 53, 40, 32,
+  34, 44, 48, 46, 41, 18, 34, 37, 32, 38, 37, 38, 37, 40, 40, 40,
+  42, 44, 42, 48, 32, 33, 28, 18, 14, 13, 17, 20, 16, 0, 13, 14,
+  21, 18, 21, 25, 29, 30, 38, 46, 65, 53, 51, 51, 76, 210, 229, 218,
+  106, 100, 107, 118, 134, 143, 153, 150, 155, 151, 136, 153, 151, 148, 140, 128,
+  116, 16, 12, 9, 14, 17, 25, 24, 28, 32, 33, 34, 30, 32, 41, 42,
+  44, 41, 44, 44, 45, 44, 48, 49, 44, 26, 6, 56, 60, 41, 30, 32,
+  28, 22, 33, 33, 17, 14, 16, 25, 20, 17, 16, 14, 13, 13, 17, 18,
+  13, 14, 14, 16, 17, 18, 18, 18, 20, 20, 21, 29, 18, 29, 34, 41,
+  73, 171, 217, 208, 103, 99, 110, 119, 132, 142, 150, 163, 154, 135, 120, 41,
+  29, 8, 14, 14, 17, 16, 20, 20, 20, 18, 18, 18, 21, 20, 18, 30,
+  25, 33, 67, 67, 53, 53, 60, 63, 53, 52, 53, 51, 45, 48, 46, 48,
+  49, 57, 42, 44, 34, 32, 24, 36, 26, 29, 29, 29, 14, 29, 34, 22,
+  30, 22, 21, 37, 28, 29, 28, 32, 29, 26, 25, 22, 22, 21, 36, 28,
+  26, 2, 6, 6, 10, 10, 9, 10, 13, 10, 12, 18, 29, 18, 10, 18,
+  17, 12, 16, 18, 14, 14, 34, 17, 22, 17, 21, 26, 22, 20, 18, 20,
+  25, 22, 21, 21, 24, 21, 22, 22, 24, 22, 24, 22, 25, 24, 24, 20,
+  13, 16, 25, 17, 17, 16, 25, 16, 17, 17, 20, 21, 16, 14, 17, 16,
+  16, 16, 14, 14, 14, 14, 13, 12, 12, 1, 32, 32, 32, 29, 45, 41,
+  41, 41, 46, 48, 49, 49, 59, 63, 67, 71, 81, 107, 127, 148, 162, 170,
+  226, 224, 221, 208, 202, 202, 198, 202, 187, 185, 175, 158, 73, 26, 21, 17,
+  18, 14, 68, 60, 153, 183, 162, 159, 158, 97, 80, 81, 59, 48, 46, 55,
+  85, 110, 143, 161, 153, 115, 75, 42, 13, 8, 6, 87, 80, 83, 99, 107,
+  179, 120, 139, 111, 112, 111, 128, 127, 138, 144, 138, 138, 165, 167, 158, 151,
+  139, 126, 45, 17, 12, 14, 24, 28, 20, 32, 32, 28, 18, 40, 48, 45,
+  46, 46, 46, 48, 49, 73, 63, 51, 136, 174, 175, 162, 97, 55, 32, 28,
+  33, 46, 48, 49, 51, 55, 60, 57, 61, 64, 96, 72, 222, 217, 217, 106,
+  99, 107, 122, 116, 116, 115, 118, 120, 132, 131, 134, 122, 116, 18, 10, 10,
+  20, 18, 21, 22, 22, 18, 21, 26, 29, 34, 44, 44, 46, 49, 49, 48,
+  53, 57, 60, 64, 57, 52, 64, 71, 60, 72, 79, 89, 123, 107, 52, 49,
+  57, 51, 46, 45, 44, 42, 52, 44, 42, 33, 29, 30, 32, 26, 37, 34,
+  36, 34, 40, 30, 36, 32, 61, 81, 108, 110, 106, 115, 102, 107, 97, 111,
+  108, 93, 73, 77, 75, 80, 95, 95, 81, 72, 57, 41, 30, 26, 20, 16,
+  14, 13, 12, 10, 10, 12, 13, 10, 12, 14, 14, 13, 13, 18, 24, 72,
+  77, 83, 88, 93, 89, 61, 61, 40, 96, 95, 107, 81, 41, 38, 55, 33,
+  34, 72, 79, 96, 84, 89, 97, 103, 99, 87, 67, 53, 44, 29, 30, 40,
+  20, 10, 9, 9, 10, 8, 8, 9, 9, 6, 8, 8, 8, 8, 12, 29,
+  34, 57, 72, 67, 68, 59, 33, 29, 0, 57, 91, 79, 60, 81, 60, 67,
+  68, 49, 38, 37, 41, 42, 46, 65, 199, 216, 206, 95, 91, 102, 103, 97,
+  111, 128, 143, 150, 155, 132, 147, 154, 150, 138, 131, 115, 14, 10, 9, 8,
+  8, 8, 8, 8, 8, 8, 13, 12, 8, 9, 10, 21, 22, 25, 12, 13,
+  13, 22, 14, 30, 10, 6, 61, 24, 18, 18, 20, 17, 21, 14, 13, 13,
+  13, 16, 14, 12, 17, 16, 9, 9, 10, 10, 10, 12, 10, 10, 10, 10,
+  12, 13, 18, 26, 30, 33, 30, 13, 61, 80, 79, 71, 171, 204, 193, 106,
+  99, 111, 123, 131, 139, 153, 162, 155, 134, 104, 37, 32, 6, 12, 9, 12,
+  4, 4, 4, 2, 2, 4, 2, 1, 1, 1, 1, 1, 1, 2, 2, 2,
+  4, 4, 4, 5, 6, 6, 8, 8, 10, 10, 13, 13, 13, 17, 18, 18,
+  24, 48, 53, 45, 38, 44, 30, 28, 26, 25, 22, 24, 29, 36, 60, 67,
+  77, 69, 64, 60, 57, 63, 67, 57, 46, 26, 29, 34, 14, 32, 75, 83,
+  59, 51, 57, 32, 22, 16, 17, 13, 14, 12, 18, 29, 25, 21, 25, 26,
+  21, 17, 24, 28, 30, 38, 33, 34, 30, 33, 28, 24, 17, 14, 12, 12,
+  9, 10, 9, 10, 9, 10, 10, 10, 9, 10, 10, 38, 10, 8, 8, 8,
+  6, 5, 5, 5, 4, 4, 2, 2, 2, 2, 1, 1, 0, 18, 1, 0,
+  0, 1, 0, 2, 40, 37, 56, 60, 84, 107, 144, 148, 163, 171, 165, 151,
+  140, 132, 119, 120, 130, 116, 110, 118, 123, 139, 153, 163, 175, 185, 182, 179,
+  177, 178, 174, 173, 166, 159, 146, 147, 138, 20, 14, 12, 67, 33, 130, 189,
+  195, 197, 194, 193, 198, 190, 187, 195, 199, 189, 195, 195, 204, 201, 189, 197,
+  194, 136, 55, 48, 12, 9, 112, 114, 122, 116, 165, 159, 161, 157, 127, 146,
+  103, 103, 108, 111, 111, 130, 138, 163, 163, 161, 147, 136, 122, 42, 16, 13,
+  22, 26, 38, 37, 45, 32, 38, 40, 42, 55, 59, 61, 68, 73, 79, 71,
+  59, 76, 56, 128, 171, 174, 123, 95, 52, 32, 28, 42, 48, 46, 42, 45,
+  53, 59, 63, 69, 84, 88, 88, 220, 218, 218, 106, 99, 107, 115, 112, 122,
+  128, 131, 131, 130, 132, 139, 124, 123, 22, 13, 10, 21, 32, 42, 42, 49,
+  64, 153, 162, 177, 183, 183, 178, 189, 197, 202, 197, 197, 193, 190, 194, 195,
+  194, 187, 189, 186, 183, 179, 185, 179, 183, 127, 99, 57, 67, 72, 102, 143,
+  169, 182, 181, 169, 162, 151, 153, 154, 143, 134, 116, 104, 114, 111, 106, 114,
+  118, 93, 132, 159, 178, 186, 193, 187, 179, 178, 174, 142, 114, 87, 99, 99,
+  88, 103, 97, 107, 93, 108, 93, 89, 77, 52, 36, 21, 77, 96, 92, 85,
+  85, 89, 93, 100, 89, 88, 80, 83, 85, 79, 76, 92, 92, 92, 92, 88,
+  80, 65, 33, 100, 114, 87, 85, 114, 108, 104, 95, 84, 110, 138, 151, 159,
+  151, 155, 155, 151, 143, 128, 104, 85, 79, 51, 44, 17, 33, 95, 104, 80,
+  83, 69, 95, 81, 83, 76, 73, 65, 76, 91, 75, 71, 65, 75, 60, 63,
+  71, 55, 32, 1, 71, 89, 96, 100, 72, 93, 89, 75, 81, 67, 51, 56,
+  75, 75, 64, 218, 229, 221, 106, 102, 112, 110, 111, 110, 114, 112, 119, 118,
+  136, 154, 155, 150, 136, 127, 110, 16, 12, 10, 18, 22, 22, 28, 18, 18,
+  16, 30, 9, 12, 33, 76, 72, 65, 65, 65, 40, 22, 21, 16, 20, 20,
+  18, 40, 59, 64, 65, 69, 79, 72, 65, 56, 64, 75, 84, 72, 65, 53,
+  60, 51, 56, 29, 29, 25, 21, 22, 29, 37, 36, 36, 41, 51, 53, 48,
+  51, 34, 14, 73, 73, 81, 77, 183, 214, 179, 104, 100, 110, 124, 132, 142,
+  151, 165, 157, 157, 123, 44, 33, 6, 6, 17, 17, 32, 65, 71, 72, 72,
+  71, 80, 76, 73, 71, 38, 24, 67, 84, 96, 88, 85, 89, 97, 93, 87,
+  80, 84, 84, 97, 116, 104, 104, 104, 87, 79, 83, 96, 163, 174, 186, 170,
+  146, 103, 67, 57, 57, 64, 76, 116, 136, 157, 143, 146, 140, 132, 140, 119,
+  118, 111, 103, 69, 44, 36, 20, 10, 71, 85, 108, 111, 85, 89, 65, 59,
+  64, 65, 55, 52, 72, 123, 136, 147, 148, 147, 151, 153, 144, 151, 161, 175,
+  182, 181, 165, 150, 100, 81, 41, 41, 34, 33, 21, 9, 26, 65, 79, 57,
+  65, 64, 55, 51, 41, 24, 9, 28, 71, 83, 71, 69, 85, 84, 68, 99,
+  99, 99, 69, 76, 111, 119, 150, 150, 146, 154, 142, 134, 124, 77, 45, 42,
+  65, 118, 155, 167, 182, 193, 193, 193, 197, 199, 190, 175, 187, 174, 159, 157,
+  159, 148, 143, 144, 146, 142, 143, 139, 153, 150, 154, 179, 179, 163, 150, 161,
+  147, 139, 132, 147, 134, 110, 115, 96, 48, 166, 212, 202, 218, 178, 218, 174,
+  214, 204, 225, 206, 210, 195, 205, 201, 201, 195, 201, 198, 146, 64, 67, 61,
+  61, 126, 136, 115, 135, 194, 195, 229, 189, 116, 104, 108, 123, 128, 135, 123,
+  131, 147, 166, 165, 150, 142, 136, 122, 40, 17, 13, 38, 38, 53, 60, 63,
+  65, 68, 85, 91, 99, 95, 103, 103, 106, 104, 106, 87, 76, 49, 79, 135,
+  169, 110, 79, 38, 34, 33, 46, 63, 63, 61, 55, 56, 92, 106, 103, 103,
+  91, 87, 225, 220, 218, 106, 99, 108, 118, 130, 135, 134, 135, 134, 134, 130,
+  136, 124, 123, 22, 10, 10, 26, 45, 55, 122, 69, 128, 165, 185, 190, 190,
+  193, 198, 204, 209, 210, 214, 222, 225, 225, 229, 228, 229, 226, 233, 224, 232,
+  236, 234, 228, 222, 224, 216, 218, 217, 209, 209, 212, 208, 210, 202, 201, 190,
+  186, 183, 183, 177, 167, 157, 142, 139, 97, 99, 127, 153, 171, 187, 198, 208,
+  209, 206, 209, 206, 205, 202, 197, 190, 171, 122, 103, 89, 79, 81, 85, 91,
+  97, 97, 97, 95, 71, 48, 22, 95, 88, 102, 95, 97, 96, 83, 81, 84,
+  91, 91, 65, 63, 102, 107, 114, 114, 108, 88, 81, 93, 64, 36, 108, 108,
+  108, 88, 119, 87, 96, 111, 130, 173, 202, 213, 210, 208, 206, 199, 194, 189,
+  178, 174, 157, 144, 81, 44, 22, 93, 93, 76, 76, 84, 89, 93, 77, 76,
+  87, 93, 83, 61, 81, 79, 72, 71, 68, 68, 69, 69, 63, 36, 0, 57,
+  84, 85, 80, 65, 61, 76, 73, 60, 69, 76, 32, 65, 89, 68, 226, 234,
+  221, 104, 96, 107, 123, 130, 134, 138, 138, 135, 136, 140, 155, 153, 144, 136,
+  130, 116, 13, 12, 13, 18, 12, 20, 32, 29, 26, 17, 12, 10, 17, 61,
+  84, 89, 84, 89, 81, 73, 68, 76, 73, 61, 65, 75, 79, 76, 79, 75,
+  81, 88, 91, 68, 76, 76, 95, 115, 108, 100, 119, 120, 120, 75, 63, 59,
+  51, 46, 45, 51, 46, 37, 24, 29, 30, 22, 18, 17, 30, 18, 73, 83,
+  80, 75, 212, 217, 186, 100, 97, 107, 123, 134, 140, 151, 163, 157, 140, 128,
+  45, 45, 49, 51, 52, 77, 72, 80, 83, 83, 79, 87, 64, 68, 67, 67,
+  71, 30, 91, 84, 87, 99, 91, 126, 148, 163, 167, 170, 170, 174, 182, 189,
+  189, 182, 183, 181, 181, 181, 183, 190, 190, 191, 189, 181, 171, 170, 144, 138,
+  154, 139, 154, 177, 182, 195, 191, 185, 183, 183, 170, 171, 177, 173, 150, 69,
+  32, 30, 14, 83, 102, 87, 107, 112, 93, 108, 104, 81, 102, 120, 159, 158,
+  179, 183, 191, 185, 186, 186, 190, 194, 193, 197, 205, 205, 206, 204, 202, 195,
+  175, 154, 102, 60, 49, 22, 6, 68, 77, 60, 71, 77, 61, 71, 60, 51,
+  18, 14, 80, 167, 178, 181, 175, 181, 189, 198, 206, 201, 195, 198, 194, 195,
+  194, 195, 177, 191, 193, 185, 148, 170, 136, 61, 46, 95, 150, 177, 185, 191,
+  195, 199, 204, 201, 204, 201, 174, 202, 197, 155, 104, 95, 146, 167, 167, 163,
+  150, 157, 153, 142, 120, 119, 106, 114, 112, 104, 147, 150, 95, 148, 157, 118,
+  110, 106, 53, 34, 91, 155, 187, 143, 124, 97, 102, 108, 108, 136, 178, 183,
+  183, 191, 171, 175, 187, 191, 111, 76, 65, 87, 102, 114, 108, 108, 116, 140,
+  177, 202, 237, 208, 122, 103, 120, 130, 136, 147, 153, 158, 162, 161, 153, 151,
+  142, 138, 122, 36, 16, 14, 34, 49, 53, 75, 67, 79, 89, 83, 87, 92,
+  97, 100, 88, 104, 95, 96, 92, 76, 65, 68, 80, 151, 96, 63, 42, 36,
+  30, 57, 56, 55, 52, 42, 84, 108, 104, 96, 93, 87, 85, 232, 224, 220,
+  100, 97, 114, 122, 135, 132, 138, 140, 138, 132, 130, 134, 123, 120, 22, 10,
+  12, 25, 40, 110, 49, 64, 76, 111, 169, 178, 185, 194, 197, 201, 205, 210,
+  216, 218, 218, 225, 225, 228, 229, 229, 232, 226, 234, 233, 233, 228, 221, 213,
+  208, 210, 210, 216, 217, 212, 208, 209, 202, 187, 189, 175, 166, 178, 167, 167,
+  122, 87, 122, 139, 163, 183, 198, 199, 195, 190, 202, 209, 208, 210, 210, 210,
+  206, 205, 201, 195, 190, 171, 147, 104, 81, 75, 81, 80, 79, 84, 81, 85,
+  53, 29, 97, 91, 100, 91, 83, 72, 68, 69, 69, 68, 71, 52, 76, 114,
+  95, 79, 111, 111, 102, 73, 71, 61, 37, 114, 112, 120, 111, 120, 126, 115,
+  142, 201, 218, 226, 224, 213, 204, 194, 181, 155, 140, 116, 93, 73, 64, 132,
+  55, 29, 100, 88, 92, 100, 95, 91, 83, 73, 85, 77, 65, 52, 84, 85,
+  81, 59, 60, 73, 67, 59, 73, 46, 33, 0, 65, 61, 68, 69, 76, 79,
+  85, 95, 88, 76, 79, 40, 63, 84, 61, 233, 236, 232, 107, 97, 110, 130,
+  138, 144, 151, 151, 151, 154, 151, 148, 144, 142, 140, 132, 122, 17, 12, 14,
+  13, 21, 12, 8, 18, 17, 21, 9, 12, 17, 65, 88, 91, 87, 83, 88,
+  77, 81, 85, 100, 87, 67, 65, 79, 123, 158, 165, 177, 186, 197, 198, 193,
+  198, 206, 212, 209, 212, 221, 221, 212, 206, 210, 189, 195, 195, 199, 190, 157,
+  67, 28, 20, 24, 18, 18, 12, 32, 21, 65, 73, 83, 89, 218, 224, 213,
+  96, 93, 107, 122, 132, 142, 151, 162, 162, 155, 169, 87, 76, 71, 71, 72,
+  73, 73, 91, 92, 99, 77, 79, 75, 92, 76, 71, 67, 69, 59, 87, 79,
+  68, 100, 173, 186, 187, 170, 183, 194, 189, 195, 185, 183, 198, 183, 197, 198,
+  190, 185, 183, 177, 178, 181, 185, 193, 181, 171, 131, 138, 178, 193, 193, 190,
+  185, 197, 183, 169, 134, 138, 122, 112, 122, 107, 81, 26, 26, 17, 67, 73,
+  93, 77, 81, 100, 80, 76, 103, 146, 153, 174, 178, 179, 177, 170, 178, 182,
+  189, 183, 181, 177, 171, 174, 179, 183, 194, 199, 201, 201, 198, 187, 123, 53,
+  30, 8, 79, 75, 61, 56, 51, 46, 52, 71, 61, 29, 22, 115, 177, 181,
+  173, 189, 202, 201, 201, 204, 204, 205, 198, 189, 183, 186, 179, 174, 166, 151,
+  158, 148, 146, 122, 68, 53, 118, 154, 175, 183, 189, 195, 205, 205, 165, 165,
+  147, 136, 139, 134, 112, 64, 68, 89, 162, 167, 151, 142, 130, 131, 127, 127,
+  123, 119, 124, 126, 132, 132, 140, 142, 142, 144, 106, 96, 97, 111, 46, 57,
+  72, 81, 77, 75, 72, 72, 73, 77, 76, 79, 79, 83, 87, 89, 91, 84,
+  80, 75, 60, 88, 22, 18, 13, 100, 102, 119, 130, 193, 208, 199, 190, 139,
+  107, 115, 134, 155, 158, 158, 162, 163, 159, 153, 147, 140, 138, 124, 34, 16,
+  14, 37, 55, 55, 73, 75, 85, 65, 100, 104, 89, 87, 93, 85, 96, 96,
+  96, 96, 79, 64, 37, 71, 147, 96, 63, 38, 33, 33, 57, 60, 52, 52,
+  49, 95, 108, 102, 92, 89, 85, 85, 237, 228, 222, 108, 97, 114, 124, 132,
+  134, 142, 139, 134, 127, 127, 131, 124, 119, 20, 10, 12, 22, 44, 60, 59,
+  67, 119, 143, 174, 173, 130, 161, 138, 143, 142, 138, 134, 134, 132, 130, 126,
+  126, 122, 120, 119, 127, 122, 116, 116, 118, 110, 107, 110, 110, 163, 178, 210,
+  183, 174, 170, 154, 131, 108, 102, 102, 103, 107, 102, 99, 115, 118, 170, 197,
+  198, 199, 205, 183, 167, 174, 171, 159, 148, 139, 143, 142, 144, 146, 167, 182,
+  182, 186, 114, 92, 64, 79, 72, 49, 61, 71, 83, 60, 26, 73, 92, 104,
+  83, 67, 76, 81, 69, 64, 59, 77, 48, 71, 116, 111, 84, 88, 102, 79,
+  79, 76, 60, 48, 119, 123, 103, 115, 122, 127, 135, 205, 228, 233, 222, 213,
+  185, 135, 108, 93, 87, 80, 76, 64, 42, 44, 63, 48, 17, 67, 85, 83,
+  81, 71, 63, 56, 63, 61, 83, 67, 40, 77, 79, 73, 60, 72, 67, 65,
+  63, 76, 49, 29, 0, 64, 72, 76, 72, 73, 65, 65, 75, 79, 81, 55,
+  21, 69, 97, 49, 230, 237, 233, 110, 100, 108, 135, 142, 148, 148, 157, 157,
+  161, 157, 158, 154, 144, 138, 134, 122, 13, 8, 9, 13, 26, 14, 5, 18,
+  6, 44, 9, 10, 12, 57, 87, 85, 85, 89, 88, 80, 85, 76, 75, 60,
+  42, 84, 92, 84, 151, 178, 189, 198, 201, 205, 209, 212, 214, 218, 221, 226,
+  226, 225, 224, 222, 220, 222, 221, 218, 217, 212, 185, 79, 30, 26, 17, 34,
+  13, 18, 32, 16, 45, 63, 80, 72, 226, 230, 224, 100, 93, 107, 122, 132,
+  142, 151, 162, 165, 161, 136, 170, 119, 124, 179, 195, 198, 199, 198, 199, 198,
+  195, 193, 197, 191, 185, 175, 110, 68, 72, 71, 48, 91, 103, 110, 183, 197,
+  178, 194, 195, 198, 169, 157, 132, 144, 163, 185, 182, 182, 165, 167, 147, 158,
+  155, 151, 150, 146, 130, 114, 163, 193, 195, 195, 189, 185, 155, 138, 111, 104,
+  106, 100, 102, 99, 110, 37, 28, 25, 16, 77, 77, 95, 104, 73, 83, 96,
+  72, 106, 143, 162, 183, 187, 169, 157, 134, 132, 132, 139, 134, 134, 126, 123,
+  120, 127, 128, 144, 153, 154, 165, 175, 187, 169, 81, 42, 12, 49, 80, 61,
+  51, 53, 51, 59, 60, 65, 28, 18, 107, 158, 183, 195, 195, 229, 193, 197,
+  197, 197, 190, 179, 175, 187, 178, 171, 167, 103, 88, 84, 79, 87, 77, 71,
+  63, 114, 161, 175, 187, 202, 171, 162, 143, 120, 126, 118, 115, 119, 110, 114,
+  63, 48, 77, 99, 162, 161, 142, 155, 131, 127, 114, 131, 128, 132, 132, 131,
+  131, 138, 139, 142, 132, 100, 88, 91, 108, 55, 60, 64, 67, 64, 71, 79,
+  81, 77, 71, 76, 68, 80, 73, 76, 75, 77, 72, 69, 88, 77, 16, 12,
+  12, 46, 84, 93, 110, 118, 191, 209, 232, 190, 119, 104, 126, 140, 154, 162,
+  158, 159, 159, 161, 154, 150, 143, 136, 118, 29, 14, 14, 34, 51, 63, 71,
+  76, 88, 69, 100, 100, 84, 92, 83, 85, 91, 107, 104, 87, 73, 67, 40,
+  68, 136, 97, 85, 61, 40, 34, 53, 49, 52, 40, 40, 103, 112, 96, 99,
+  92, 84, 80, 237, 228, 221, 107, 99, 112, 124, 130, 136, 136, 130, 127, 126,
+  127, 126, 122, 115, 20, 10, 9, 22, 38, 44, 61, 42, 77, 110, 134, 108,
+  142, 118, 107, 107, 110, 110, 99, 107, 111, 108, 100, 100, 100, 103, 100, 100,
+  97, 100, 97, 97, 97, 96, 96, 97, 100, 103, 103, 99, 96, 95, 95, 95,
+  96, 97, 100, 103, 106, 110, 112, 118, 118, 187, 195, 195, 198, 182, 150, 124,
+  111, 106, 107, 104, 102, 106, 108, 108, 111, 114, 131, 132, 159, 155, 93, 64,
+  87, 60, 73, 75, 69, 76, 53, 28, 89, 102, 97, 83, 84, 77, 102, 71,
+  60, 56, 72, 45, 79, 116, 106, 84, 72, 75, 68, 75, 73, 60, 41, 110,
+  120, 111, 135, 128, 136, 202, 226, 237, 234, 214, 155, 87, 76, 68, 68, 68,
+  64, 55, 49, 36, 29, 45, 49, 28, 68, 81, 85, 67, 61, 59, 57, 56,
+  60, 72, 59, 46, 80, 84, 63, 63, 79, 77, 60, 71, 75, 63, 28, 1,
+  57, 81, 76, 64, 83, 95, 85, 83, 76, 71, 56, 22, 64, 71, 49, 236,
+  240, 234, 110, 102, 110, 135, 144, 153, 153, 161, 166, 167, 165, 159, 154, 146,
+  139, 131, 118, 10, 10, 13, 10, 20, 5, 8, 1, 18, 26, 13, 9, 17,
+  53, 84, 83, 73, 81, 92, 77, 84, 64, 60, 53, 42, 83, 85, 107, 99,
+  126, 151, 185, 199, 198, 206, 209, 217, 217, 224, 208, 230, 228, 225, 210, 224,
+  228, 222, 197, 228, 228, 186, 77, 28, 14, 32, 29, 13, 21, 28, 24, 33,
+  61, 79, 71, 229, 234, 228, 102, 93, 106, 119, 131, 144, 150, 162, 167, 167,
+  159, 174, 181, 186, 191, 198, 198, 198, 198, 197, 194, 194, 190, 191, 187, 183,
+  181, 177, 167, 103, 80, 76, 75, 59, 72, 99, 122, 108, 104, 110, 95, 93,
+  91, 87, 96, 95, 103, 103, 103, 102, 103, 100, 99, 103, 108, 107, 106, 130,
+  119, 161, 195, 193, 185, 186, 136, 114, 107, 106, 104, 111, 110, 111, 116, 87,
+  29, 22, 16, 9, 75, 80, 89, 93, 93, 77, 103, 108, 116, 165, 163, 151,
+  163, 153, 111, 93, 91, 92, 95, 96, 96, 95, 95, 99, 102, 103, 107, 110,
+  115, 119, 124, 134, 171, 123, 57, 13, 57, 77, 60, 60, 57, 53, 49, 46,
+  65, 29, 20, 40, 83, 143, 159, 155, 146, 135, 114, 106, 99, 85, 79, 84,
+  80, 81, 79, 72, 69, 71, 65, 65, 65, 61, 76, 68, 118, 165, 175, 175,
+  167, 128, 123, 102, 107, 119, 120, 128, 119, 124, 108, 61, 61, 56, 60, 96,
+  185, 161, 153, 144, 138, 135, 132, 134, 135, 132, 131, 135, 135, 130, 118, 134,
+  93, 33, 84, 84, 85, 89, 92, 53, 63, 97, 124, 110, 111, 100, 97, 88,
+  89, 87, 81, 95, 79, 80, 93, 84, 25, 10, 9, 16, 21, 72, 87, 100,
+  104, 185, 212, 238, 179, 123, 108, 126, 148, 158, 162, 162, 165, 169, 162, 155,
+  150, 143, 134, 120, 32, 14, 17, 36, 48, 56, 60, 71, 80, 63, 91, 96,
+  80, 102, 83, 76, 91, 76, 79, 77, 69, 67, 46, 77, 130, 128, 99, 76,
+  60, 52, 53, 51, 48, 38, 68, 102, 106, 100, 95, 89, 80, 77, 241, 232,
+  230, 102, 99, 111, 122, 130, 136, 128, 127, 126, 135, 134, 132, 127, 120, 20,
+  9, 9, 22, 34, 44, 72, 63, 42, 72, 107, 111, 115, 122, 108, 110, 96,
+  107, 112, 107, 104, 102, 106, 107, 108, 108, 108, 107, 108, 110, 110, 111, 115,
+  118, 114, 111, 99, 97, 96, 97, 97, 100, 97, 102, 110, 112, 116, 119, 122,
+  122, 119, 122, 112, 142, 201, 177, 151, 131, 104, 119, 119, 118, 116, 116, 118,
+  118, 118, 116, 114, 112, 107, 108, 114, 135, 102, 67, 77, 61, 65, 68, 71,
+  76, 56, 29, 88, 102, 99, 96, 95, 73, 99, 73, 59, 69, 72, 42, 72,
+  107, 102, 88, 85, 83, 79, 75, 71, 60, 45, 118, 126, 139, 118, 130, 190,
+  225, 238, 238, 226, 159, 103, 71, 56, 44, 38, 34, 40, 36, 36, 25, 29,
+  33, 52, 28, 42, 91, 87, 61, 61, 61, 64, 61, 56, 68, 64, 44, 76,
+  80, 60, 75, 79, 63, 59, 71, 69, 73, 32, 0, 68, 76, 81, 71, 65,
+  61, 69, 76, 83, 65, 49, 32, 57, 87, 51, 228, 238, 237, 108, 97, 110,
+  134, 147, 154, 161, 165, 175, 175, 173, 162, 158, 148, 142, 130, 120, 10, 8,
+  10, 13, 22, 16, 8, 10, 30, 37, 14, 9, 16, 55, 79, 83, 83, 88,
+  76, 81, 79, 64, 56, 65, 36, 72, 96, 77, 108, 110, 115, 120, 134, 142,
+  135, 127, 126, 128, 131, 131, 153, 144, 139, 157, 167, 139, 132, 147, 165, 126,
+  106, 75, 24, 21, 30, 37, 16, 18, 22, 34, 17, 59, 69, 68, 233, 234,
+  232, 106, 95, 107, 120, 131, 143, 151, 163, 170, 169, 165, 161, 131, 175, 185,
+  191, 199, 198, 199, 197, 195, 195, 194, 193, 191, 190, 185, 181, 170, 166, 150,
+  144, 79, 72, 72, 59, 63, 72, 87, 75, 85, 83, 85, 84, 89, 89, 96,
+  95, 96, 97, 99, 100, 103, 103, 106, 110, 112, 131, 122, 151, 186, 178, 181,
+  120, 108, 112, 108, 119, 118, 120, 116, 120, 120, 76, 20, 18, 21, 12, 71,
+  80, 87, 87, 97, 95, 79, 97, 132, 139, 148, 127, 119, 95, 85, 93, 102,
+  99, 99, 102, 100, 104, 106, 107, 106, 108, 108, 108, 111, 111, 112, 114, 124,
+  147, 67, 17, 51, 68, 52, 59, 59, 61, 55, 51, 53, 44, 26, 33, 36,
+  61, 69, 73, 68, 77, 79, 68, 69, 67, 69, 67, 73, 75, 72, 69, 72,
+  79, 106, 110, 112, 112, 81, 76, 122, 193, 182, 142, 110, 107, 119, 122, 128,
+  131, 134, 132, 132, 134, 96, 48, 14, 48, 65, 53, 80, 178, 162, 148, 148,
+  148, 143, 146, 146, 150, 148, 150, 150, 147, 136, 110, 100, 88, 89, 76, 73,
+  76, 92, 81, 60, 95, 182, 183, 132, 132, 115, 118, 118, 110, 123, 123, 126,
+  115, 112, 37, 16, 10, 20, 25, 40, 65, 87, 84, 110, 191, 214, 238, 161,
+  128, 108, 127, 150, 157, 161, 166, 166, 170, 166, 162, 147, 142, 132, 122, 32,
+  16, 16, 40, 44, 56, 71, 64, 79, 68, 97, 97, 75, 96, 87, 77, 75,
+  111, 76, 77, 67, 65, 37, 65, 126, 123, 92, 96, 80, 67, 69, 48, 41,
+  33, 71, 106, 99, 102, 87, 104, 106, 81, 238, 232, 233, 107, 95, 112, 123,
+  132, 127, 136, 140, 142, 147, 146, 139, 128, 124, 20, 9, 9, 24, 37, 45,
+  57, 49, 69, 40, 57, 108, 80, 89, 96, 107, 126, 135, 115, 118, 119, 139,
+  119, 123, 126, 135, 123, 123, 124, 138, 128, 130, 139, 139, 134, 132, 124, 116,
+  114, 114, 115, 116, 116, 120, 124, 131, 134, 138, 138, 139, 128, 124, 100, 116,
+  132, 124, 102, 124, 124, 143, 140, 128, 127, 128, 127, 127, 128, 128, 126, 124,
+  120, 119, 115, 111, 115, 71, 63, 73, 60, 65, 71, 71, 57, 34, 83, 95,
+  95, 93, 95, 80, 103, 84, 57, 65, 60, 38, 67, 107, 103, 75, 84, 65,
+  89, 88, 88, 79, 77, 119, 148, 142, 142, 178, 216, 237, 242, 234, 209, 119,
+  77, 51, 29, 26, 32, 26, 25, 28, 32, 30, 32, 30, 93, 30, 36, 89,
+  81, 61, 61, 65, 65, 64, 61, 61, 61, 42, 72, 83, 63, 76, 68, 59,
+  59, 60, 73, 52, 30, 0, 67, 77, 65, 63, 63, 67, 67, 76, 73, 61,
+  40, 40, 48, 83, 76, 238, 242, 238, 115, 97, 108, 132, 143, 154, 161, 167,
+  175, 174, 173, 171, 161, 144, 140, 132, 122, 10, 10, 9, 13, 21, 12, 8,
+  10, 32, 24, 4, 9, 14, 44, 65, 83, 83, 79, 84, 89, 63, 51, 45,
+  44, 37, 83, 84, 76, 111, 108, 92, 100, 107, 108, 110, 116, 114, 108, 114,
+  120, 118, 122, 124, 126, 124, 127, 115, 119, 112, 112, 91, 48, 16, 12, 34,
+  28, 16, 20, 18, 30, 9, 53, 81, 71, 233, 240, 233, 107, 97, 110, 124,
+  131, 143, 151, 163, 169, 171, 169, 162, 163, 144, 139, 138, 134, 132, 128, 127,
+  124, 124, 123, 122, 120, 116, 114, 112, 104, 112, 110, 110, 89, 95, 72, 93,
+  87, 92, 85, 88, 89, 91, 93, 93, 95, 99, 102, 102, 103, 104, 107, 110,
+  110, 112, 114, 119, 120, 115, 122, 119, 163, 194, 123, 115, 120, 124, 128, 130,
+  130, 127, 123, 126, 122, 65, 18, 18, 17, 8, 64, 79, 84, 89, 83, 84,
+  81, 87, 81, 84, 79, 85, 87, 73, 68, 61, 68, 85, 85, 108, 108, 110,
+  114, 116, 116, 118, 118, 120, 120, 122, 120, 119, 116, 161, 85, 30, 33, 53,
+  73, 69, 57, 46, 48, 53, 42, 59, 28, 18, 53, 49, 65, 69, 79, 80,
+  81, 81, 89, 88, 92, 95, 99, 102, 103, 106, 104, 108, 118, 122, 124, 122,
+  91, 79, 115, 163, 155, 126, 106, 128, 134, 140, 138, 139, 138, 138, 139, 127,
+  79, 14, 33, 44, 49, 51, 61, 103, 163, 162, 140, 131, 154, 154, 155, 155,
+  159, 159, 161, 159, 155, 142, 122, 95, 40, 79, 81, 75, 73, 73, 53, 96,
+  191, 179, 162, 161, 132, 126, 128, 134, 122, 128, 144, 124, 104, 38, 14, 8,
+  22, 26, 8, 63, 80, 79, 100, 202, 220, 229, 162, 116, 108, 127, 147, 158,
+  162, 165, 165, 170, 166, 162, 150, 139, 136, 124, 33, 14, 20, 40, 55, 61,
+  67, 71, 73, 64, 92, 89, 76, 85, 88, 84, 75, 69, 75, 71, 67, 57,
+  33, 63, 122, 112, 84, 87, 84, 63, 111, 75, 40, 32, 84, 104, 95, 95,
+  85, 100, 89, 79, 240, 232, 234, 107, 95, 110, 123, 135, 138, 150, 154, 159,
+  161, 154, 142, 131, 126, 20, 9, 10, 18, 30, 42, 41, 57, 85, 61, 41,
+  53, 96, 96, 92, 167, 179, 161, 115, 134, 159, 126, 128, 138, 148, 134, 132,
+  136, 147, 134, 138, 144, 138, 143, 144, 143, 140, 136, 134, 134, 132, 138, 139,
+  140, 143, 146, 150, 150, 150, 150, 144, 127, 132, 99, 97, 132, 130, 102, 72,
+  65, 79, 103, 119, 154, 131, 134, 153, 135, 135, 134, 131, 130, 126, 115, 131,
+  89, 52, 69, 71, 68, 60, 79, 60, 33, 41, 91, 96, 108, 96, 79, 102,
+  83, 52, 68, 56, 40, 93, 96, 103, 88, 97, 91, 107, 126, 144, 151, 161,
+  190, 206, 212, 217, 221, 236, 242, 244, 233, 169, 92, 45, 52, 37, 46, 41,
+  46, 41, 37, 36, 37, 37, 40, 40, 42, 29, 69, 77, 65, 68, 68, 67,
+  73, 65, 65, 61, 40, 67, 72, 61, 75, 67, 61, 63, 65, 75, 57, 28,
+  1, 60, 79, 73, 75, 72, 79, 76, 73, 77, 55, 25, 18, 49, 76, 53,
+  237, 244, 241, 112, 99, 108, 135, 146, 151, 161, 166, 171, 173, 173, 171, 162,
+  144, 136, 134, 122, 10, 8, 14, 9, 14, 8, 9, 2, 24, 10, 13, 6,
+  14, 40, 61, 79, 89, 83, 79, 67, 63, 52, 52, 48, 32, 83, 83, 88,
+  76, 80, 73, 76, 124, 130, 103, 116, 122, 128, 131, 130, 122, 123, 124, 126,
+  122, 118, 120, 118, 116, 104, 87, 33, 17, 16, 28, 34, 16, 21, 22, 34,
+  9, 56, 73, 75, 228, 238, 237, 108, 99, 111, 124, 134, 143, 153, 165, 169,
+  170, 169, 155, 147, 116, 91, 85, 106, 100, 114, 112, 112, 108, 106, 102, 99,
+  91, 88, 88, 88, 81, 80, 73, 67, 61, 57, 53, 56, 64, 53, 63, 170,
+  99, 100, 97, 104, 103, 108, 111, 111, 112, 118, 122, 122, 123, 124, 126, 128,
+  128, 130, 120, 122, 119, 118, 126, 135, 139, 138, 138, 135, 134, 132, 128, 110,
+  41, 21, 13, 17, 12, 52, 79, 76, 84, 88, 88, 91, 79, 75, 65, 57,
+  45, 41, 37, 29, 36, 36, 51, 65, 80, 93, 112, 110, 118, 116, 122, 115,
+  119, 124, 130, 130, 128, 127, 124, 122, 59, 14, 51, 53, 42, 38, 55, 46,
+  49, 42, 49, 28, 25, 49, 45, 45, 53, 52, 134, 89, 96, 102, 106, 104,
+  108, 112, 111, 114, 115, 114, 114, 126, 128, 131, 131, 126, 85, 106, 151, 130,
+  123, 134, 144, 140, 143, 139, 140, 144, 142, 140, 128, 61, 30, 29, 37, 30,
+  42, 57, 63, 130, 170, 155, 134, 132, 153, 163, 163, 161, 166, 166, 170, 170,
+  166, 148, 108, 77, 68, 40, 63, 71, 56, 60, 110, 191, 190, 177, 136, 150,
+  134, 135, 135, 140, 147, 144, 118, 120, 30, 16, 20, 24, 8, 0, 57, 77,
+  77, 96, 199, 221, 233, 139, 116, 107, 126, 140, 155, 161, 161, 163, 170, 166,
+  165, 151, 143, 134, 126, 30, 14, 17, 36, 56, 64, 64, 84, 87, 56, 89,
+  84, 77, 84, 84, 87, 75, 69, 69, 67, 65, 60, 33, 63, 128, 142, 93,
+  91, 92, 92, 65, 76, 45, 25, 81, 100, 93, 93, 87, 93, 85, 76, 241,
+  238, 233, 104, 96, 110, 124, 139, 147, 159, 165, 163, 165, 157, 144, 132, 126,
+  17, 9, 9, 20, 38, 41, 41, 46, 64, 61, 45, 42, 80, 87, 91, 195,
+  190, 124, 107, 118, 136, 134, 151, 157, 136, 138, 147, 151, 142, 146, 142, 148,
+  148, 147, 159, 159, 163, 157, 148, 144, 146, 151, 155, 154, 158, 157, 161, 161,
+  161, 159, 155, 140, 140, 140, 134, 106, 60, 38, 28, 30, 41, 77, 111, 130,
+  170, 179, 177, 163, 170, 169, 155, 135, 132, 124, 115, 104, 57, 51, 68, 65,
+  63, 64, 63, 46, 36, 83, 83, 73, 93, 84, 85, 61, 61, 57, 46, 61,
+  91, 84, 126, 140, 171, 195, 218, 222, 237, 237, 244, 244, 246, 248, 246, 246,
+  248, 248, 238, 213, 134, 89, 56, 29, 40, 38, 38, 41, 37, 38, 40, 44,
+  44, 38, 40, 40, 34, 67, 85, 80, 79, 80, 76, 80, 72, 63, 56, 40,
+  71, 77, 64, 67, 77, 72, 88, 75, 65, 61, 25, 0, 64, 88, 76, 87,
+  83, 75, 81, 79, 71, 56, 26, 20, 45, 73, 51, 237, 244, 240, 110, 97,
+  108, 132, 143, 151, 158, 162, 167, 174, 171, 171, 165, 146, 139, 132, 123, 10,
+  10, 9, 12, 18, 20, 20, 8, 6, 10, 6, 6, 18, 29, 56, 56, 57,
+  55, 57, 56, 44, 48, 49, 45, 33, 57, 77, 77, 69, 68, 65, 65, 73,
+  57, 79, 157, 119, 112, 118, 134, 135, 140, 142, 147, 147, 150, 142, 147, 112,
+  106, 89, 21, 12, 16, 20, 16, 29, 33, 17, 28, 20, 48, 69, 77, 216,
+  238, 238, 107, 99, 108, 124, 135, 144, 153, 165, 169, 170, 166, 157, 124, 65,
+  26, 24, 24, 64, 81, 108, 106, 111, 108, 108, 110, 110, 108, 112, 112, 111,
+  108, 59, 55, 59, 56, 53, 52, 48, 51, 57, 174, 178, 108, 88, 114, 120,
+  112, 115, 119, 119, 120, 126, 128, 131, 134, 135, 135, 135, 128, 127, 116, 112,
+  138, 143, 143, 146, 140, 140, 139, 134, 135, 124, 79, 20, 17, 13, 17, 13,
+  34, 73, 77, 75, 65, 55, 41, 45, 45, 45, 38, 49, 49, 48, 45, 61,
+  59, 37, 32, 61, 99, 112, 167, 170, 166, 144, 153, 166, 151, 151, 147, 132,
+  136, 126, 153, 91, 29, 18, 51, 51, 46, 41, 45, 44, 45, 55, 25, 21,
+  37, 46, 52, 38, 45, 131, 158, 100, 99, 108, 119, 116, 118, 120, 122, 120,
+  120, 123, 128, 138, 135, 136, 135, 131, 89, 89, 131, 143, 147, 147, 147, 146,
+  138, 143, 143, 142, 138, 96, 41, 33, 32, 9, 34, 34, 55, 51, 57, 148,
+  163, 139, 127, 136, 153, 161, 166, 169, 173, 173, 174, 175, 167, 138, 72, 67,
+  48, 67, 61, 67, 60, 119, 202, 195, 212, 147, 153, 136, 135, 138, 139, 151,
+  144, 118, 118, 26, 14, 6, 12, 8, 0, 56, 59, 67, 89, 208, 220, 234,
+  140, 102, 111, 130, 144, 153, 157, 159, 165, 167, 166, 162, 155, 136, 131, 123,
+  33, 16, 18, 37, 53, 53, 63, 65, 72, 55, 99, 97, 76, 65, 64, 67,
+  64, 64, 61, 63, 65, 61, 44, 69, 87, 110, 95, 33, 44, 40, 38, 37,
+  34, 24, 49, 79, 77, 69, 68, 87, 77, 75, 242, 240, 233, 103, 96, 108,
+  123, 138, 150, 163, 166, 163, 166, 158, 143, 132, 124, 17, 9, 9, 18, 22,
+  34, 37, 36, 41, 34, 38, 46, 79, 93, 87, 198, 195, 167, 112, 115, 123,
+  139, 139, 144, 157, 154, 142, 155, 146, 150, 148, 148, 155, 166, 170, 178, 185,
+  185, 179, 159, 158, 161, 167, 166, 167, 166, 167, 169, 169, 166, 162, 144, 144,
+  142, 110, 60, 28, 28, 24, 20, 29, 57, 87, 119, 173, 177, 190, 181, 175,
+  151, 170, 163, 150, 131, 119, 116, 71, 42, 49, 61, 64, 63, 59, 59, 51,
+  44, 46, 52, 52, 55, 55, 55, 56, 49, 77, 88, 115, 177, 214, 234, 240,
+  240, 245, 249, 252, 252, 252, 252, 252, 250, 252, 249, 248, 245, 233, 171, 122,
+  93, 53, 26, 38, 36, 34, 34, 38, 37, 38, 38, 42, 37, 41, 38, 36,
+  36, 52, 56, 52, 64, 56, 60, 57, 56, 59, 37, 67, 67, 67, 55, 60,
+  59, 61, 56, 57, 44, 28, 2, 59, 65, 72, 77, 71, 71, 69, 71, 59,
+  52, 25, 21, 36, 71, 46, 237, 242, 237, 108, 95, 108, 134, 144, 153, 158,
+  159, 162, 171, 173, 171, 161, 151, 139, 131, 120, 9, 8, 9, 12, 14, 12,
+  14, 16, 17, 16, 33, 24, 20, 32, 38, 44, 37, 37, 41, 45, 40, 44,
+  49, 40, 28, 65, 72, 67, 64, 63, 65, 64, 65, 61, 59, 161, 167, 112,
+  111, 122, 127, 135, 140, 147, 148, 144, 150, 147, 119, 107, 91, 21, 13, 17,
+  13, 10, 20, 22, 12, 17, 24, 37, 51, 73, 224, 242, 238, 112, 99, 110,
+  124, 136, 142, 150, 165, 170, 167, 178, 146, 77, 34, 16, 12, 9, 26, 73,
+  123, 163, 167, 162, 119, 151, 154, 153, 150, 122, 119, 114, 80, 49, 63, 53,
+  52, 49, 48, 40, 45, 161, 187, 161, 103, 103, 122, 123, 127, 127, 131, 131,
+  134, 138, 138, 139, 139, 143, 140, 138, 136, 136, 148, 147, 151, 146, 142, 127,
+  120, 110, 96, 95, 69, 30, 16, 10, 12, 17, 13, 25, 32, 37, 34, 38,
+  40, 40, 51, 52, 57, 49, 63, 60, 60, 56, 57, 60, 60, 61, 77, 104,
+  175, 187, 189, 179, 171, 171, 174, 170, 163, 167, 157, 143, 138, 126, 115, 63,
+  16, 24, 59, 57, 40, 41, 40, 36, 52, 29, 21, 30, 48, 44, 40, 48,
+  126, 166, 155, 97, 100, 120, 122, 126, 126, 124, 128, 128, 126, 142, 148, 151,
+  148, 147, 139, 143, 151, 153, 150, 150, 144, 140, 132, 126, 116, 111, 108, 84,
+  45, 26, 21, 30, 21, 26, 13, 28, 32, 20, 92, 169, 163, 132, 126, 136,
+  153, 159, 167, 171, 174, 174, 177, 177, 161, 111, 56, 67, 77, 77, 65, 59,
+  155, 204, 199, 187, 165, 162, 144, 140, 146, 150, 148, 144, 116, 114, 24, 9,
+  5, 17, 13, 13, 53, 51, 59, 88, 197, 221, 234, 131, 97, 107, 128, 144,
+  155, 158, 165, 166, 167, 159, 155, 157, 139, 132, 124, 36, 14, 20, 36, 37,
+  56, 64, 60, 69, 57, 91, 84, 60, 61, 59, 64, 61, 60, 57, 65, 65,
+  55, 41, 49, 37, 24, 22, 22, 22, 20, 17, 20, 20, 22, 29, 32, 37,
+  44, 45, 57, 77, 76, 241, 240, 229, 103, 96, 108, 127, 139, 150, 162, 169,
+  169, 162, 157, 142, 130, 122, 14, 8, 8, 16, 14, 32, 36, 28, 29, 30,
+  28, 33, 48, 87, 87, 205, 198, 193, 114, 110, 122, 135, 165, 163, 144, 154,
+  148, 150, 157, 161, 163, 167, 170, 174, 178, 169, 153, 174, 183, 190, 181, 163,
+  178, 178, 175, 171, 183, 178, 175, 178, 174, 181, 150, 144, 100, 45, 28, 21,
+  17, 17, 20, 48, 81, 114, 182, 190, 161, 165, 183, 179, 159, 155, 161, 135,
+  124, 131, 80, 44, 42, 57, 59, 57, 52, 55, 53, 57, 55, 52, 56, 56,
+  53, 57, 46, 87, 95, 140, 218, 241, 242, 244, 248, 249, 252, 252, 250, 241,
+  236, 230, 229, 229, 222, 220, 213, 209, 175, 140, 128, 102, 55, 49, 38, 41,
+  38, 38, 42, 40, 40, 41, 40, 40, 42, 40, 38, 42, 42, 42, 42, 42,
+  45, 42, 42, 42, 42, 40, 41, 34, 40, 40, 49, 32, 36, 34, 32, 28,
+  33, 4, 16, 28, 30, 33, 32, 33, 32, 42, 36, 22, 12, 34, 33, 64,
+  53, 240, 242, 238, 110, 95, 103, 130, 140, 153, 158, 163, 170, 170, 173, 163,
+  157, 148, 139, 131, 123, 8, 10, 10, 14, 14, 16, 22, 12, 14, 13, 10,
+  16, 18, 18, 18, 28, 25, 24, 22, 22, 24, 25, 24, 38, 42, 40, 46,
+  38, 30, 59, 60, 55, 57, 61, 52, 142, 173, 162, 112, 116, 130, 128, 136,
+  143, 139, 146, 148, 150, 123, 112, 83, 18, 10, 9, 14, 12, 16, 26, 25,
+  13, 16, 36, 49, 75, 233, 242, 241, 112, 100, 110, 124, 135, 144, 153, 166,
+  170, 163, 157, 112, 40, 20, 9, 10, 12, 18, 59, 142, 179, 128, 162, 154,
+  154, 158, 167, 140, 146, 122, 118, 107, 44, 41, 45, 51, 49, 45, 52, 38,
+  89, 197, 179, 114, 104, 112, 136, 131, 134, 135, 136, 138, 140, 142, 143, 144,
+  146, 148, 153, 155, 151, 153, 151, 136, 104, 65, 41, 22, 16, 16, 17, 14,
+  13, 9, 13, 10, 18, 14, 30, 28, 30, 34, 44, 64, 106, 177, 195, 209,
+  210, 208, 199, 186, 177, 103, 92, 85, 85, 108, 186, 213, 163, 191, 183, 185,
+  182, 174, 178, 177, 170, 163, 155, 142, 132, 147, 91, 29, 16, 29, 34, 38,
+  40, 37, 41, 42, 44, 28, 29, 40, 45, 29, 38, 104, 175, 173, 108, 100,
+  110, 123, 132, 130, 130, 135, 143, 146, 153, 157, 157, 157, 154, 151, 155, 155,
+  151, 146, 130, 95, 67, 38, 26, 20, 13, 21, 21, 22, 25, 25, 1, 4,
+  4, 34, 36, 25, 22, 32, 118, 171, 146, 120, 122, 143, 154, 159, 166, 171,
+  175, 178, 181, 177, 135, 68, 37, 45, 63, 75, 88, 187, 201, 202, 189, 161,
+  151, 154, 153, 154, 155, 148, 147, 128, 110, 21, 10, 6, 9, 13, 10, 33,
+  41, 40, 72, 190, 222, 221, 130, 107, 110, 128, 144, 154, 159, 162, 166, 165,
+  151, 158, 150, 139, 132, 124, 44, 17, 18, 25, 29, 30, 37, 67, 65, 52,
+  60, 60, 53, 41, 38, 40, 36, 32, 28, 21, 29, 29, 37, 17, 41, 45,
+  48, 52, 55, 52, 61, 53, 37, 18, 59, 104, 104, 81, 87, 87, 83, 77,
+  242, 237, 222, 104, 96, 107, 126, 134, 150, 162, 169, 167, 163, 158, 142, 127,
+  126, 18, 9, 9, 13, 13, 10, 21, 25, 26, 24, 26, 30, 38, 88, 91,
+  208, 206, 204, 116, 126, 116, 132, 161, 165, 151, 153, 154, 165, 173, 173, 173,
+  171, 169, 178, 143, 89, 59, 80, 150, 183, 185, 169, 161, 174, 175, 177, 175,
+  175, 179, 181, 183, 185, 154, 151, 95, 42, 25, 21, 17, 17, 20, 49, 73,
+  106, 195, 197, 163, 186, 189, 187, 165, 181, 170, 140, 128, 118, 100, 53, 38,
+  48, 44, 37, 32, 38, 36, 36, 37, 40, 40, 38, 42, 55, 68, 106, 165,
+  236, 245, 246, 244, 250, 249, 238, 220, 191, 167, 124, 112, 115, 108, 111, 116,
+  114, 110, 115, 131, 118, 124, 116, 89, 63, 20, 18, 16, 13, 12, 12, 10,
+  9, 8, 9, 9, 5, 4, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 2, 6, 8, 6, 1, 1, 0, 2, 5, 6, 2, 16, 14, 14, 6,
+  17, 16, 13, 13, 17, 18, 17, 30, 25, 24, 75, 57, 240, 244, 242, 114,
+  96, 106, 130, 142, 154, 161, 169, 173, 171, 169, 159, 161, 144, 136, 132, 120,
+  6, 9, 12, 10, 9, 9, 8, 9, 8, 10, 9, 9, 9, 14, 24, 57,
+  64, 75, 71, 73, 67, 67, 63, 56, 56, 80, 85, 77, 48, 38, 37, 34,
+  53, 67, 57, 76, 185, 179, 119, 115, 126, 128, 134, 135, 136, 150, 146, 146,
+  116, 111, 84, 18, 8, 13, 17, 12, 20, 21, 24, 22, 28, 55, 51, 80,
+  233, 244, 241, 107, 97, 108, 122, 134, 140, 154, 166, 169, 165, 144, 73, 26,
+  14, 10, 10, 10, 28, 72, 185, 193, 162, 130, 159, 162, 150, 142, 131, 151,
+  126, 120, 111, 41, 40, 41, 45, 46, 42, 51, 45, 75, 210, 201, 126, 103,
+  115, 130, 139, 139, 138, 139, 138, 142, 144, 147, 147, 158, 162, 159, 155, 157,
+  148, 100, 53, 16, 10, 9, 8, 8, 8, 9, 8, 9, 10, 13, 10, 21,
+  29, 30, 46, 55, 72, 126, 185, 234, 242, 244, 244, 244, 242, 240, 240, 237,
+  237, 236, 232, 224, 229, 229, 224, 208, 190, 183, 179, 179, 177, 175, 178, 174,
+  170, 169, 150, 140, 127, 115, 61, 18, 21, 22, 28, 20, 25, 28, 26, 33,
+  33, 32, 33, 29, 33, 42, 97, 186, 183, 120, 106, 107, 120, 130, 134, 138,
+  153, 157, 162, 161, 159, 157, 159, 163, 159, 157, 153, 134, 91, 46, 13, 9,
+  6, 8, 9, 10, 14, 12, 2, 6, 4, 6, 13, 5, 5, 10, 16, 8,
+  20, 64, 151, 165, 128, 118, 132, 147, 155, 159, 167, 174, 177, 182, 185, 158,
+  100, 75, 75, 76, 73, 112, 201, 205, 208, 194, 166, 157, 167, 155, 150, 157,
+  146, 147, 123, 119, 21, 9, 10, 2, 2, 1, 144, 134, 128, 85, 186, 221,
+  222, 140, 110, 107, 126, 144, 154, 158, 162, 163, 159, 159, 161, 140, 138, 132,
+  127, 49, 17, 18, 24, 45, 41, 37, 37, 41, 46, 37, 44, 61, 73, 71,
+  84, 89, 92, 100, 99, 91, 73, 22, 67, 79, 104, 110, 102, 93, 93, 91,
+  68, 44, 17, 92, 104, 102, 100, 104, 104, 84, 84, 245, 233, 233, 104, 93,
+  104, 127, 135, 148, 162, 166, 165, 161, 158, 143, 132, 127, 20, 10, 9, 16,
+  12, 18, 32, 30, 38, 5, 36, 30, 84, 87, 99, 216, 212, 210, 130, 126,
+  131, 123, 154, 162, 155, 153, 167, 177, 177, 177, 175, 167, 169, 155, 91, 34,
+  36, 59, 108, 174, 197, 178, 157, 174, 179, 178, 181, 182, 183, 186, 187, 185,
+  159, 155, 103, 48, 32, 24, 22, 20, 22, 52, 85, 103, 199, 204, 169, 166,
+  170, 189, 189, 186, 173, 151, 134, 122, 126, 76, 37, 42, 49, 56, 52, 59,
+  80, 88, 97, 91, 99, 95, 84, 96, 135, 183, 240, 242, 245, 249, 244, 221,
+  186, 143, 118, 112, 104, 97, 107, 110, 111, 97, 115, 114, 110, 104, 123, 126,
+  127, 122, 116, 76, 80, 61, 59, 60, 65, 60, 60, 57, 51, 55, 41, 49,
+  73, 92, 95, 108, 102, 99, 111, 114, 97, 75, 69, 79, 122, 97, 100, 128,
+  124, 99, 89, 91, 110, 83, 10, 0, 22, 45, 60, 32, 38, 33, 29, 26,
+  5, 14, 21, 49, 77, 73, 65, 241, 244, 241, 112, 95, 110, 131, 143, 153,
+  161, 170, 170, 171, 166, 162, 161, 143, 135, 132, 124, 8, 14, 12, 24, 48,
+  61, 67, 71, 77, 75, 73, 63, 72, 72, 71, 83, 106, 97, 97, 80, 87,
+  84, 89, 89, 80, 93, 103, 99, 79, 56, 49, 45, 42, 53, 59, 71, 193,
+  187, 136, 115, 122, 132, 130, 132, 146, 148, 147, 146, 122, 110, 77, 16, 8,
+  14, 22, 29, 36, 46, 45, 57, 57, 41, 77, 81, 233, 244, 240, 106, 97,
+  108, 124, 135, 143, 155, 167, 166, 178, 134, 40, 20, 16, 13, 16, 8, 44,
+  72, 195, 198, 187, 130, 154, 155, 157, 139, 130, 130, 127, 123, 112, 44, 34,
+  38, 53, 49, 44, 45, 37, 65, 212, 209, 182, 110, 107, 122, 134, 143, 148,
+  140, 144, 144, 151, 151, 158, 167, 162, 159, 159, 144, 83, 25, 9, 6, 9,
+  9, 13, 14, 14, 14, 13, 13, 13, 12, 18, 22, 32, 42, 60, 107, 204,
+  236, 240, 242, 242, 242, 240, 241, 241, 241, 240, 238, 236, 234, 233, 230, 230,
+  230, 226, 222, 169, 165, 182, 183, 190, 173, 185, 178, 175, 171, 161, 146, 132,
+  138, 87, 26, 26, 28, 36, 33, 45, 38, 33, 24, 18, 22, 29, 29, 36,
+  53, 96, 191, 197, 166, 103, 104, 112, 127, 134, 148, 162, 162, 159, 161, 162,
+  161, 162, 165, 159, 155, 138, 77, 17, 12, 5, 4, 0, 1, 1, 5, 4,
+  10, 18, 13, 16, 14, 20, 26, 17, 17, 9, 9, 21, 37, 135, 162, 139,
+  118, 118, 134, 151, 157, 165, 170, 177, 181, 183, 183, 131, 73, 65, 59, 89,
+  146, 210, 208, 216, 206, 171, 161, 166, 151, 154, 154, 150, 148, 127, 118, 25,
+  14, 12, 12, 34, 42, 103, 88, 93, 80, 155, 216, 224, 146, 110, 107, 126,
+  140, 154, 159, 162, 163, 157, 159, 157, 140, 135, 132, 126, 57, 18, 20, 29,
+  41, 55, 64, 64, 64, 45, 68, 99, 119, 112, 115, 122, 122, 116, 110, 116,
+  104, 76, 22, 67, 138, 122, 123, 104, 106, 110, 80, 69, 44, 20, 100, 102,
+  87, 80, 80, 96, 84, 85, 245, 236, 233, 104, 92, 106, 128, 134, 148, 162,
+  169, 167, 162, 157, 143, 134, 128, 20, 10, 10, 13, 14, 26, 34, 24, 37,
+  12, 29, 32, 84, 95, 106, 214, 216, 213, 131, 107, 114, 123, 134, 161, 158,
+  162, 175, 178, 177, 179, 178, 173, 167, 122, 45, 30, 32, 37, 63, 153, 199,
+  185, 158, 159, 174, 189, 190, 193, 194, 195, 195, 191, 185, 163, 134, 65, 34,
+  26, 25, 21, 40, 65, 89, 97, 201, 209, 183, 166, 186, 189, 174, 187, 170,
+  163, 136, 127, 119, 99, 45, 36, 51, 48, 81, 69, 76, 92, 96, 112, 87,
+  100, 103, 139, 222, 241, 244, 245, 249, 230, 182, 136, 114, 108, 108, 111, 122,
+  72, 41, 34, 37, 48, 99, 106, 114, 151, 174, 181, 171, 128, 124, 112, 91,
+  63, 85, 83, 65, 69, 63, 64, 57, 76, 88, 59, 93, 112, 108, 107, 72,
+  96, 118, 119, 100, 96, 80, 73, 112, 111, 119, 115, 120, 107, 110, 104, 96,
+  93, 64, 0, 60, 52, 55, 65, 53, 46, 55, 45, 22, 18, 20, 77, 77,
+  65, 76, 244, 244, 241, 103, 99, 110, 132, 142, 153, 162, 169, 169, 174, 165,
+  159, 158, 142, 135, 132, 120, 8, 10, 17, 38, 60, 56, 60, 63, 64, 73,
+  68, 77, 59, 80, 108, 88, 79, 77, 81, 93, 80, 79, 93, 134, 147, 199,
+  185, 131, 96, 73, 59, 60, 57, 55, 55, 61, 199, 198, 169, 116, 120, 130,
+  132, 130, 139, 153, 146, 151, 120, 112, 80, 17, 10, 16, 28, 48, 52, 51,
+  49, 55, 34, 64, 91, 138, 234, 244, 238, 111, 99, 110, 126, 136, 143, 159,
+  167, 165, 158, 114, 36, 20, 10, 12, 18, 9, 52, 83, 204, 202, 194, 158,
+  151, 151, 159, 142, 144, 132, 128, 130, 118, 41, 37, 32, 42, 52, 55, 37,
+  33, 59, 213, 206, 190, 108, 107, 115, 130, 140, 148, 148, 150, 165, 169, 167,
+  169, 169, 161, 159, 146, 87, 20, 5, 6, 8, 9, 16, 14, 17, 17, 17,
+  17, 17, 22, 22, 22, 20, 33, 48, 95, 221, 238, 238, 242, 241, 238, 229,
+  218, 197, 194, 185, 186, 190, 201, 205, 208, 218, 221, 224, 220, 224, 210, 171,
+  198, 197, 206, 205, 197, 178, 182, 175, 167, 150, 139, 132, 110, 55, 22, 20,
+  48, 41, 46, 61, 60, 56, 49, 56, 64, 65, 64, 52, 104, 193, 201, 183,
+  106, 104, 114, 127, 139, 151, 162, 165, 167, 165, 166, 163, 167, 165, 161, 136,
+  77, 16, 12, 4, 2, 4, 6, 2, 4, 9, 6, 20, 30, 37, 30, 44,
+  40, 41, 44, 48, 40, 41, 13, 42, 122, 159, 158, 118, 114, 128, 144, 154,
+  159, 166, 173, 178, 185, 191, 178, 118, 56, 79, 102, 174, 212, 210, 210, 193,
+  178, 166, 161, 158, 162, 155, 150, 148, 128, 119, 17, 12, 13, 22, 20, 6,
+  103, 97, 93, 97, 107, 208, 213, 175, 114, 107, 120, 142, 151, 158, 161, 159,
+  159, 157, 146, 128, 135, 131, 126, 81, 22, 20, 36, 45, 61, 68, 60, 63,
+  34, 100, 116, 122, 118, 112, 134, 128, 131, 122, 123, 97, 73, 20, 84, 146,
+  139, 142, 136, 126, 104, 92, 61, 41, 22, 93, 102, 87, 87, 83, 92, 83,
+  81, 241, 230, 233, 102, 92, 107, 130, 136, 148, 162, 167, 170, 159, 158, 144,
+  135, 128, 21, 12, 10, 12, 6, 29, 29, 14, 26, 12, 44, 21, 102, 95,
+  143, 221, 220, 216, 115, 106, 114, 136, 135, 146, 157, 169, 178, 179, 179, 177,
+  174, 170, 161, 92, 34, 29, 30, 37, 64, 126, 201, 198, 163, 153, 171, 177,
+  189, 195, 198, 198, 198, 197, 191, 167, 155, 88, 41, 24, 25, 22, 53, 75,
+  91, 100, 194, 214, 198, 170, 186, 187, 185, 186, 171, 170, 140, 132, 123, 116,
+  68, 37, 49, 44, 46, 61, 95, 76, 81, 79, 88, 85, 104, 199, 244, 242,
+  246, 248, 218, 158, 116, 111, 111, 115, 134, 120, 63, 32, 28, 32, 29, 48,
+  97, 179, 193, 185, 159, 166, 166, 171, 130, 127, 118, 93, 49, 67, 64, 75,
+  59, 61, 60, 61, 56, 63, 128, 123, 116, 107, 111, 106, 95, 100, 88, 76,
+  69, 93, 123, 118, 107, 104, 99, 103, 103, 112, 100, 100, 76, 16, 69, 44,
+  25, 17, 13, 21, 26, 49, 29, 12, 22, 75, 88, 72, 108, 244, 244, 238,
+  106, 99, 111, 132, 142, 151, 161, 169, 169, 173, 163, 158, 142, 131, 134, 131,
+  120, 9, 14, 18, 48, 49, 61, 60, 71, 56, 61, 61, 52, 37, 81, 104,
+  91, 75, 73, 83, 81, 84, 87, 163, 224, 205, 217, 205, 161, 100, 80, 60,
+  69, 57, 51, 55, 56, 199, 199, 187, 118, 120, 131, 139, 134, 135, 146, 140,
+  135, 122, 115, 69, 18, 9, 21, 36, 48, 42, 45, 65, 40, 33, 64, 93,
+  142, 234, 242, 240, 118, 102, 114, 127, 140, 147, 161, 167, 162, 154, 84, 32,
+  17, 12, 13, 20, 8, 57, 89, 202, 206, 204, 124, 147, 150, 157, 128, 134,
+  138, 127, 128, 115, 38, 29, 30, 38, 40, 46, 46, 38, 59, 218, 209, 193,
+  107, 108, 114, 127, 140, 148, 154, 167, 170, 174, 175, 170, 167, 165, 150, 85,
+  22, 5, 9, 10, 9, 14, 16, 24, 30, 28, 29, 25, 26, 22, 26, 32,
+  25, 36, 65, 169, 238, 238, 238, 234, 230, 197, 175, 151, 150, 147, 151, 154,
+  158, 163, 167, 171, 174, 178, 181, 191, 195, 204, 198, 199, 195, 194, 197, 198,
+  195, 187, 178, 169, 154, 146, 128, 119, 75, 28, 32, 44, 49, 42, 51, 40,
+  46, 55, 60, 59, 48, 44, 45, 88, 197, 205, 193, 107, 104, 114, 128, 138,
+  154, 162, 165, 166, 167, 166, 169, 166, 165, 150, 96, 26, 13, 4, 6, 9,
+  6, 8, 8, 14, 12, 9, 33, 40, 42, 41, 44, 32, 28, 22, 30, 33,
+  45, 1, 44, 100, 143, 170, 134, 112, 120, 138, 148, 155, 162, 170, 177, 182,
+  195, 194, 185, 138, 110, 148, 204, 204, 212, 208, 189, 191, 173, 179, 165, 162,
+  161, 154, 150, 135, 119, 24, 12, 5, 30, 5, 59, 69, 89, 93, 81, 88,
+  191, 216, 197, 114, 103, 116, 139, 151, 155, 158, 161, 157, 154, 138, 136, 135,
+  131, 126, 97, 25, 22, 36, 48, 60, 64, 55, 69, 41, 103, 132, 126, 130,
+  128, 122, 126, 124, 128, 112, 93, 76, 20, 91, 139, 166, 189, 162, 140, 116,
+  103, 67, 44, 24, 87, 97, 89, 102, 84, 89, 79, 91, 240, 237, 232, 93,
+  93, 106, 127, 134, 147, 162, 169, 167, 162, 157, 147, 138, 127, 18, 13, 10,
+  10, 16, 29, 29, 17, 17, 14, 34, 21, 88, 100, 143, 226, 225, 217, 118,
+  118, 114, 123, 136, 155, 158, 171, 177, 181, 181, 177, 174, 167, 143, 53, 29,
+  25, 30, 49, 53, 107, 191, 204, 171, 150, 154, 173, 182, 191, 198, 198, 199,
+  199, 195, 191, 169, 124, 51, 29, 25, 29, 55, 76, 91, 91, 190, 220, 212,
+  175, 170, 185, 174, 185, 173, 166, 147, 136, 128, 131, 85, 36, 37, 45, 41,
+  60, 83, 89, 93, 88, 77, 93, 130, 229, 237, 242, 245, 224, 146, 114, 114,
+  114, 120, 139, 140, 83, 49, 26, 29, 32, 30, 51, 112, 197, 191, 162, 165,
+  170, 169, 174, 134, 130, 115, 107, 84, 46, 56, 51, 56, 49, 60, 59, 52,
+  22, 118, 128, 100, 115, 110, 116, 126, 120, 97, 76, 67, 88, 126, 111, 107,
+  99, 97, 103, 100, 96, 99, 108, 42, 14, 44, 51, 38, 13, 16, 14, 20,
+  37, 25, 13, 18, 75, 85, 67, 91, 242, 244, 240, 110, 100, 110, 132, 143,
+  150, 161, 167, 170, 174, 162, 158, 136, 131, 131, 131, 119, 9, 14, 14, 25,
+  51, 57, 72, 65, 52, 72, 55, 59, 41, 72, 108, 80, 95, 77, 69, 87,
+  77, 95, 198, 226, 208, 213, 183, 139, 97, 67, 49, 53, 59, 49, 55, 57,
+  206, 204, 194, 122, 123, 131, 136, 139, 140, 131, 146, 132, 120, 115, 59, 17,
+  10, 20, 38, 46, 40, 44, 76, 41, 29, 63, 95, 138, 232, 241, 240, 120,
+  103, 114, 126, 138, 146, 161, 165, 163, 144, 61, 24, 14, 12, 13, 24, 10,
+  56, 85, 205, 208, 232, 127, 147, 147, 148, 139, 131, 130, 127, 124, 112, 34,
+  30, 24, 38, 37, 46, 36, 42, 59, 222, 220, 204, 107, 106, 115, 126, 138,
+  148, 154, 166, 173, 173, 171, 167, 163, 158, 111, 32, 6, 9, 9, 8, 9,
+  17, 26, 33, 33, 33, 26, 28, 26, 28, 28, 34, 32, 42, 89, 218, 236,
+  236, 229, 214, 179, 146, 134, 135, 140, 148, 157, 166, 173, 183, 193, 197, 201,
+  202, 199, 183, 187, 191, 194, 195, 198, 202, 201, 205, 202, 182, 178, 163, 154,
+  147, 132, 128, 95, 36, 30, 34, 41, 59, 46, 48, 52, 38, 33, 49, 60,
+  60, 60, 76, 198, 210, 199, 110, 106, 115, 128, 139, 154, 162, 165, 167, 166,
+  171, 169, 165, 157, 116, 40, 16, 6, 6, 9, 9, 8, 10, 12, 8, 9,
+  5, 36, 42, 33, 26, 28, 33, 28, 18, 36, 37, 37, 4, 46, 91, 115,
+  165, 146, 116, 110, 128, 136, 154, 161, 169, 173, 182, 187, 199, 198, 195, 182,
+  204, 210, 210, 212, 212, 193, 181, 179, 173, 167, 169, 159, 153, 151, 135, 123,
+  18, 12, 9, 20, 6, 1, 120, 81, 84, 80, 71, 130, 213, 205, 120, 102,
+  112, 130, 144, 153, 158, 161, 159, 157, 147, 132, 136, 128, 128, 111, 32, 25,
+  36, 44, 57, 68, 59, 76, 40, 77, 118, 126, 124, 120, 123, 123, 134, 119,
+  115, 95, 77, 24, 118, 159, 210, 216, 225, 183, 140, 115, 81, 42, 22, 88,
+  96, 97, 87, 85, 87, 80, 84, 238, 241, 225, 97, 92, 103, 122, 134, 146,
+  162, 169, 167, 162, 158, 147, 138, 128, 20, 9, 16, 10, 14, 25, 33, 30,
+  30, 8, 30, 29, 87, 96, 114, 228, 225, 221, 127, 118, 126, 122, 142, 138,
+  162, 167, 179, 173, 181, 178, 169, 165, 123, 41, 28, 22, 32, 42, 55, 88,
+  183, 208, 189, 151, 148, 167, 178, 187, 191, 198, 199, 201, 199, 195, 175, 157,
+  69, 32, 24, 26, 55, 75, 89, 91, 170, 224, 216, 183, 185, 181, 186, 186,
+  177, 161, 148, 139, 130, 122, 102, 44, 34, 45, 41, 56, 87, 96, 80, 80,
+  92, 88, 181, 234, 241, 244, 233, 157, 116, 116, 120, 127, 143, 142, 146, 71,
+  45, 26, 18, 34, 37, 68, 89, 202, 198, 165, 166, 170, 163, 165, 166, 132,
+  124, 120, 93, 46, 44, 52, 55, 48, 51, 57, 56, 42, 122, 136, 106, 115,
+  110, 116, 126, 107, 92, 88, 59, 99, 127, 116, 96, 102, 96, 108, 104, 102,
+  106, 100, 60, 0, 53, 41, 25, 13, 30, 41, 51, 38, 13, 12, 16, 71,
+  83, 61, 89, 244, 242, 232, 108, 99, 111, 131, 139, 154, 161, 166, 170, 173,
+  161, 154, 146, 136, 131, 130, 115, 9, 14, 17, 32, 53, 65, 67, 63, 51,
+  64, 55, 53, 38, 81, 97, 75, 84, 89, 80, 79, 75, 100, 214, 220, 224,
+  218, 177, 115, 85, 49, 32, 53, 49, 49, 51, 60, 210, 208, 202, 126, 123,
+  134, 138, 142, 139, 132, 150, 130, 116, 110, 46, 17, 10, 18, 38, 45, 38,
+  45, 64, 42, 25, 77, 89, 95, 229, 241, 237, 119, 104, 114, 124, 135, 143,
+  162, 163, 161, 142, 41, 17, 14, 14, 14, 17, 9, 53, 88, 205, 206, 208,
+  146, 138, 143, 143, 139, 131, 130, 123, 122, 107, 29, 25, 24, 34, 37, 41,
+  37, 34, 52, 228, 224, 210, 111, 106, 116, 127, 136, 147, 155, 166, 173, 173,
+  169, 157, 161, 136, 49, 6, 10, 10, 9, 14, 16, 20, 38, 41, 36, 32,
+  30, 33, 30, 29, 42, 30, 29, 63, 179, 216, 230, 218, 195, 159, 135, 124,
+  132, 142, 157, 166, 175, 182, 190, 201, 210, 213, 216, 217, 216, 213, 198, 193,
+  194, 189, 185, 183, 206, 206, 206, 183, 178, 161, 158, 150, 136, 128, 106, 52,
+  30, 28, 49, 46, 56, 49, 44, 40, 42, 26, 38, 56, 33, 64, 195, 216,
+  206, 108, 106, 115, 130, 138, 154, 161, 165, 167, 167, 170, 166, 162, 136, 53,
+  14, 12, 9, 12, 9, 13, 13, 12, 8, 8, 9, 5, 41, 42, 24, 26,
+  25, 30, 18, 22, 42, 29, 44, 5, 42, 73, 95, 126, 165, 124, 112, 116,
+  132, 148, 158, 166, 170, 177, 186, 194, 201, 202, 205, 208, 205, 209, 221, 208,
+  190, 183, 183, 175, 170, 163, 161, 153, 150, 135, 122, 16, 12, 5, 12, 63,
+  72, 114, 68, 80, 83, 79, 95, 193, 206, 132, 103, 111, 124, 142, 150, 154,
+  158, 163, 165, 158, 148, 126, 126, 127, 116, 44, 22, 34, 37, 55, 68, 59,
+  65, 61, 51, 111, 126, 126, 130, 124, 126, 126, 123, 108, 99, 81, 34, 155,
+  193, 226, 209, 204, 198, 209, 139, 102, 46, 24, 81, 89, 91, 79, 77, 81,
+  72, 79, 240, 240, 230, 102, 95, 99, 118, 132, 148, 161, 170, 170, 162, 158,
+  147, 138, 126, 17, 12, 13, 13, 12, 24, 29, 37, 34, 30, 26, 32, 79,
+  89, 104, 226, 226, 222, 128, 104, 114, 124, 134, 136, 153, 163, 174, 181, 183,
+  178, 167, 157, 100, 34, 26, 22, 32, 48, 60, 81, 171, 216, 198, 155, 144,
+  158, 173, 182, 190, 193, 197, 201, 202, 198, 193, 174, 102, 36, 25, 28, 55,
+  75, 80, 83, 144, 221, 221, 187, 169, 181, 187, 177, 165, 146, 140, 140, 134,
+  123, 115, 60, 36, 40, 38, 55, 87, 97, 85, 85, 87, 79, 197, 238, 241,
+  242, 190, 124, 118, 124, 130, 130, 144, 148, 148, 65, 26, 24, 22, 29, 36,
+  55, 92, 205, 206, 183, 163, 169, 167, 165, 167, 136, 132, 119, 91, 40, 40,
+  51, 44, 51, 55, 59, 40, 71, 111, 122, 106, 99, 97, 106, 102, 106, 89,
+  72, 41, 107, 127, 116, 96, 106, 96, 106, 104, 103, 96, 97, 56, 0, 51,
+  42, 33, 13, 16, 22, 16, 12, 24, 16, 17, 72, 83, 68, 85, 241, 240,
+  226, 104, 99, 112, 132, 143, 153, 161, 167, 166, 173, 173, 161, 154, 139, 124,
+  127, 112, 10, 16, 16, 46, 51, 57, 67, 73, 71, 69, 52, 56, 38, 75,
+  97, 73, 72, 84, 67, 83, 76, 110, 218, 232, 222, 169, 118, 106, 61, 42,
+  41, 48, 45, 42, 48, 60, 213, 216, 210, 130, 124, 135, 143, 158, 144, 144,
+  148, 120, 115, 107, 33, 14, 10, 17, 38, 41, 38, 45, 64, 41, 22, 88,
+  91, 71, 225, 240, 234, 120, 104, 114, 126, 138, 146, 162, 162, 158, 132, 34,
+  16, 14, 13, 13, 17, 10, 44, 96, 209, 214, 206, 140, 135, 139, 144, 138,
+  132, 132, 131, 115, 104, 25, 22, 18, 30, 32, 34, 45, 53, 55, 228, 228,
+  216, 112, 108, 118, 127, 138, 148, 157, 161, 173, 169, 163, 159, 151, 96, 21,
+  8, 10, 10, 9, 8, 14, 18, 38, 42, 60, 59, 57, 52, 42, 34, 30,
+  40, 48, 122, 217, 225, 212, 179, 144, 126, 124, 136, 146, 157, 169, 175, 185,
+  191, 199, 208, 199, 148, 116, 144, 193, 217, 214, 201, 193, 187, 195, 197, 206,
+  204, 202, 183, 175, 163, 157, 147, 134, 127, 112, 71, 32, 22, 40, 44, 55,
+  60, 45, 40, 42, 34, 41, 57, 20, 77, 204, 218, 213, 112, 107, 118, 131,
+  138, 154, 161, 166, 169, 170, 170, 163, 153, 96, 25, 16, 12, 12, 10, 17,
+  18, 13, 10, 10, 9, 12, 9, 40, 46, 30, 26, 16, 20, 22, 40, 33,
+  25, 26, 2, 44, 63, 81, 104, 159, 158, 114, 106, 124, 142, 155, 162, 169,
+  175, 185, 186, 191, 199, 197, 198, 212, 217, 209, 195, 189, 186, 179, 175, 170,
+  163, 161, 153, 150, 132, 120, 13, 9, 9, 17, 5, 10, 97, 110, 87, 75,
+  71, 64, 132, 204, 162, 104, 107, 118, 134, 144, 150, 158, 166, 161, 162, 153,
+  126, 122, 128, 123, 61, 25, 28, 44, 49, 65, 63, 71, 59, 48, 106, 123,
+  130, 126, 130, 130, 128, 124, 114, 102, 79, 34, 167, 206, 224, 216, 220, 201,
+  179, 142, 100, 42, 25, 80, 97, 91, 93, 80, 83, 75, 96, 240, 241, 233,
+  107, 93, 97, 112, 136, 146, 161, 167, 167, 163, 158, 147, 139, 128, 22, 14,
+  8, 13, 14, 21, 21, 36, 33, 42, 16, 13, 79, 87, 103, 225, 225, 220,
+  115, 103, 115, 127, 122, 127, 142, 158, 170, 177, 177, 174, 161, 147, 73, 29,
+  26, 20, 34, 63, 53, 77, 153, 216, 206, 159, 142, 148, 167, 177, 183, 189,
+  190, 195, 201, 201, 194, 181, 142, 48, 30, 24, 51, 72, 79, 84, 120, 218,
+  224, 191, 171, 182, 182, 175, 154, 143, 136, 143, 139, 126, 124, 76, 34, 34,
+  40, 53, 84, 102, 81, 72, 75, 85, 208, 232, 240, 238, 157, 118, 123, 131,
+  135, 139, 148, 151, 154, 59, 28, 24, 17, 29, 34, 55, 81, 205, 212, 204,
+  169, 170, 169, 165, 171, 142, 136, 116, 88, 33, 33, 42, 48, 44, 48, 51,
+  46, 60, 120, 118, 108, 103, 103, 104, 100, 112, 88, 65, 56, 85, 108, 114,
+  102, 104, 104, 104, 107, 103, 103, 95, 57, 13, 53, 40, 34, 8, 16, 40,
+  12, 12, 25, 10, 18, 79, 81, 69, 89, 240, 236, 178, 100, 99, 112, 132,
+  139, 148, 155, 163, 166, 173, 174, 169, 158, 144, 128, 126, 116, 10, 17, 18,
+  49, 42, 59, 61, 64, 72, 55, 53, 48, 36, 83, 88, 73, 79, 80, 75,
+  83, 77, 118, 230, 234, 221, 139, 107, 88, 49, 38, 33, 51, 45, 41, 55,
+  67, 213, 216, 210, 131, 126, 139, 163, 162, 161, 154, 147, 118, 116, 107, 29,
+  16, 12, 18, 37, 40, 38, 46, 52, 34, 22, 60, 89, 103, 224, 238, 236,
+  123, 103, 115, 124, 138, 146, 163, 163, 159, 124, 30, 16, 13, 16, 13, 18,
+  10, 48, 88, 209, 213, 228, 119, 132, 134, 140, 132, 136, 139, 134, 114, 92,
+  25, 22, 22, 29, 32, 29, 38, 32, 53, 232, 221, 214, 111, 108, 119, 130,
+  139, 151, 159, 161, 171, 167, 161, 159, 139, 52, 10, 10, 10, 10, 12, 14,
+  16, 38, 40, 53, 46, 48, 55, 64, 42, 32, 26, 36, 73, 199, 222, 220,
+  197, 136, 112, 124, 135, 147, 158, 167, 174, 182, 186, 195, 202, 202, 104, 64,
+  59, 69, 106, 154, 218, 209, 204, 190, 197, 205, 208, 208, 195, 179, 175, 167,
+  159, 147, 134, 122, 116, 83, 38, 40, 41, 46, 51, 48, 44, 38, 45, 41,
+  37, 56, 34, 64, 217, 220, 216, 112, 108, 119, 131, 139, 153, 162, 165, 167,
+  171, 166, 158, 136, 56, 14, 12, 13, 13, 21, 17, 16, 10, 9, 13, 10,
+  13, 12, 45, 49, 32, 29, 34, 29, 33, 41, 20, 26, 29, 1, 41, 59,
+  77, 81, 134, 171, 123, 104, 120, 135, 151, 161, 169, 174, 181, 187, 189, 189,
+  187, 187, 190, 198, 199, 195, 193, 193, 182, 174, 171, 163, 162, 154, 151, 135,
+  116, 12, 10, 6, 25, 9, 9, 95, 92, 93, 67, 72, 67, 96, 183, 189,
+  108, 106, 114, 123, 140, 153, 159, 167, 165, 165, 154, 123, 123, 128, 126, 92,
+  29, 26, 32, 37, 48, 69, 68, 64, 45, 87, 126, 127, 123, 128, 126, 128,
+  124, 111, 97, 87, 28, 182, 213, 224, 217, 185, 163, 134, 107, 95, 40, 25,
+  56, 93, 96, 100, 75, 81, 73, 85, 241, 242, 234, 107, 97, 96, 115, 130,
+  143, 158, 166, 167, 165, 155, 144, 140, 127, 21, 16, 20, 14, 17, 32, 24,
+  24, 29, 37, 25, 26, 69, 81, 96, 222, 233, 222, 126, 115, 115, 120, 120,
+  126, 132, 146, 159, 177, 175, 162, 158, 140, 57, 30, 22, 20, 34, 55, 49,
+  68, 138, 210, 212, 174, 138, 140, 159, 170, 175, 182, 186, 189, 194, 197, 195,
+  181, 169, 79, 29, 25, 48, 63, 77, 81, 106, 213, 224, 194, 170, 181, 185,
+  166, 150, 131, 128, 130, 136, 128, 126, 97, 44, 30, 38, 49, 81, 88, 80,
+  75, 87, 88, 209, 232, 241, 218, 142, 122, 128, 135, 134, 150, 154, 159, 161,
+  56, 28, 26, 22, 28, 38, 44, 75, 206, 216, 212, 171, 170, 174, 167, 170,
+  143, 134, 118, 88, 29, 29, 38, 38, 37, 41, 45, 16, 64, 112, 111, 108,
+  108, 107, 102, 99, 122, 91, 63, 51, 107, 123, 99, 106, 108, 116, 123, 114,
+  106, 100, 102, 41, 16, 36, 37, 41, 10, 16, 14, 12, 12, 10, 13, 18,
+  73, 81, 68, 81, 236, 236, 166, 99, 96, 111, 120, 132, 142, 151, 162, 166,
+  175, 173, 169, 158, 146, 126, 128, 115, 12, 18, 16, 33, 41, 48, 60, 64,
+  64, 56, 53, 52, 34, 64, 84, 73, 75, 72, 68, 72, 79, 157, 244, 236,
+  210, 122, 103, 77, 34, 37, 37, 48, 44, 40, 49, 67, 216, 217, 210, 131,
+  127, 139, 163, 157, 161, 148, 150, 116, 116, 106, 30, 14, 10, 20, 34, 38,
+  37, 37, 48, 34, 17, 61, 95, 99, 224, 237, 236, 120, 104, 112, 126, 138,
+  148, 165, 161, 163, 123, 26, 14, 14, 17, 13, 24, 12, 41, 79, 206, 214,
+  210, 134, 127, 131, 140, 135, 132, 136, 132, 114, 85, 20, 20, 20, 26, 30,
+  33, 34, 34, 76, 232, 233, 217, 112, 108, 119, 130, 139, 153, 159, 163, 170,
+  165, 161, 157, 110, 30, 10, 12, 13, 9, 12, 9, 10, 44, 46, 55, 71,
+  59, 44, 64, 41, 38, 34, 42, 132, 213, 218, 210, 167, 112, 119, 132, 142,
+  157, 166, 170, 179, 179, 190, 194, 205, 165, 72, 37, 22, 28, 46, 103, 198,
+  218, 209, 195, 186, 208, 206, 206, 204, 189, 175, 169, 158, 147, 131, 118, 118,
+  92, 42, 40, 36, 53, 45, 48, 57, 37, 45, 36, 46, 51, 25, 72, 217,
+  226, 217, 114, 110, 119, 131, 138, 154, 161, 161, 166, 166, 161, 155, 110, 33,
+  14, 12, 17, 18, 24, 20, 13, 10, 12, 16, 9, 13, 9, 42, 37, 42,
+  24, 37, 33, 33, 33, 33, 28, 24, 4, 36, 55, 64, 63, 92, 162, 138,
+  103, 110, 131, 146, 157, 166, 173, 178, 185, 191, 191, 194, 193, 190, 189, 191,
+  202, 193, 194, 185, 177, 169, 165, 165, 155, 148, 134, 120, 13, 9, 6, 18,
+  12, 9, 69, 69, 72, 79, 63, 61, 67, 128, 185, 122, 102, 107, 115, 138,
+  150, 158, 162, 167, 161, 147, 128, 123, 130, 124, 110, 36, 30, 41, 38, 44,
+  67, 56, 72, 49, 81, 112, 122, 131, 128, 132, 126, 120, 103, 100, 88, 32,
+  181, 224, 229, 218, 165, 124, 97, 92, 73, 34, 25, 44, 83, 93, 97, 77,
+  76, 71, 87, 240, 241, 230, 103, 95, 99, 119, 131, 140, 158, 163, 167, 162,
+  155, 146, 142, 124, 22, 18, 17, 14, 17, 26, 24, 13, 25, 26, 30, 36,
+  56, 88, 112, 228, 230, 222, 127, 118, 123, 119, 118, 123, 136, 150, 146, 154,
+  157, 153, 154, 131, 40, 26, 20, 20, 33, 37, 52, 67, 99, 202, 213, 183,
+  138, 135, 151, 163, 170, 171, 175, 181, 189, 194, 194, 189, 181, 106, 34, 24,
+  49, 56, 75, 80, 91, 205, 222, 204, 173, 179, 185, 167, 157, 147, 147, 143,
+  130, 131, 122, 108, 53, 33, 36, 34, 68, 83, 76, 72, 85, 81, 208, 234,
+  241, 187, 134, 127, 131, 136, 135, 147, 154, 159, 161, 55, 25, 24, 17, 25,
+  41, 61, 72, 204, 218, 217, 171, 174, 173, 163, 171, 147, 134, 120, 84, 29,
+  25, 30, 34, 36, 40, 48, 29, 84, 115, 120, 116, 108, 118, 104, 107, 92,
+  88, 84, 45, 99, 115, 123, 119, 128, 118, 115, 107, 114, 108, 93, 61, 0,
+  51, 36, 12, 14, 10, 6, 12, 10, 16, 14, 18, 59, 80, 61, 84, 233,
+  230, 178, 103, 100, 108, 114, 126, 134, 148, 161, 167, 173, 174, 162, 157, 143,
+  128, 132, 111, 13, 17, 18, 33, 40, 49, 57, 61, 56, 67, 53, 49, 34,
+  63, 77, 79, 63, 77, 75, 69, 91, 197, 237, 237, 208, 122, 103, 63, 34,
+  32, 36, 36, 42, 36, 48, 63, 212, 218, 206, 130, 128, 142, 167, 162, 154,
+  148, 147, 119, 115, 102, 24, 14, 14, 22, 30, 38, 36, 45, 46, 37, 16,
+  69, 89, 69, 221, 237, 232, 118, 106, 116, 126, 138, 153, 165, 162, 159, 116,
+  32, 16, 14, 10, 17, 21, 12, 34, 67, 206, 212, 201, 130, 126, 130, 140,
+  138, 130, 134, 132, 114, 85, 17, 16, 13, 24, 28, 34, 32, 30, 57, 233,
+  226, 220, 112, 108, 119, 131, 140, 153, 161, 163, 169, 161, 155, 146, 75, 14,
+  13, 14, 12, 12, 16, 13, 12, 38, 49, 55, 65, 68, 45, 59, 42, 40,
+  34, 37, 158, 209, 216, 201, 135, 107, 120, 134, 147, 159, 163, 175, 181, 185,
+  191, 197, 208, 130, 42, 20, 18, 22, 41, 81, 159, 221, 212, 206, 182, 206,
+  210, 213, 205, 193, 177, 170, 161, 147, 134, 123, 122, 107, 52, 41, 32, 36,
+  45, 48, 42, 21, 42, 29, 57, 44, 36, 60, 210, 226, 224, 112, 107, 118,
+  131, 138, 153, 162, 158, 166, 165, 159, 144, 81, 21, 16, 16, 17, 21, 17,
+  14, 14, 13, 14, 13, 12, 13, 9, 41, 42, 25, 38, 38, 34, 36, 34,
+  34, 24, 21, 1, 29, 45, 51, 64, 79, 124, 155, 119, 100, 119, 139, 154,
+  162, 173, 177, 183, 187, 183, 182, 186, 195, 191, 185, 189, 201, 194, 186, 179,
+  173, 166, 165, 157, 150, 139, 120, 8, 12, 8, 10, 16, 2, 60, 59, 60,
+  53, 48, 53, 55, 84, 174, 167, 102, 104, 115, 136, 148, 155, 157, 155, 151,
+  148, 122, 123, 123, 126, 123, 65, 30, 30, 36, 40, 64, 64, 73, 55, 61,
+  100, 111, 114, 116, 110, 114, 114, 107, 100, 89, 44, 186, 225, 233, 197, 150,
+  102, 95, 95, 68, 34, 28, 34, 52, 60, 73, 65, 76, 67, 79, 238, 240,
+  222, 104, 93, 102, 116, 126, 136, 157, 167, 165, 162, 155, 143, 142, 124, 22,
+  20, 22, 13, 17, 8, 22, 24, 12, 29, 34, 28, 49, 81, 106, 226, 229,
+  221, 128, 104, 111, 127, 128, 127, 138, 140, 139, 151, 150, 150, 148, 127, 41,
+  29, 25, 21, 33, 42, 56, 69, 80, 191, 214, 193, 142, 132, 140, 157, 163,
+  166, 169, 174, 181, 189, 190, 189, 182, 140, 49, 28, 42, 55, 69, 69, 79,
+  194, 225, 212, 174, 175, 185, 173, 161, 157, 150, 147, 144, 130, 122, 120, 76,
+  36, 36, 33, 63, 89, 100, 77, 80, 71, 187, 236, 241, 181, 128, 132, 139,
+  142, 136, 148, 158, 162, 162, 53, 26, 21, 17, 24, 32, 49, 77, 213, 220,
+  218, 173, 173, 174, 167, 171, 147, 135, 123, 85, 28, 25, 28, 32, 48, 33,
+  46, 30, 80, 88, 77, 85, 84, 85, 84, 87, 83, 83, 60, 32, 96, 108,
+  110, 100, 115, 106, 99, 95, 106, 102, 85, 40, 0, 44, 14, 18, 13, 24,
+  12, 30, 12, 17, 17, 16, 60, 77, 71, 84, 237, 238, 220, 104, 100, 106,
+  114, 114, 134, 153, 162, 173, 175, 167, 157, 147, 132, 127, 123, 107, 16, 20,
+  20, 30, 44, 44, 53, 57, 57, 63, 51, 48, 34, 61, 80, 79, 69, 67,
+  73, 72, 107, 220, 237, 241, 209, 126, 100, 52, 32, 26, 38, 29, 42, 41,
+  38, 53, 214, 213, 206, 126, 128, 140, 159, 154, 153, 144, 136, 118, 114, 97,
+  25, 12, 13, 18, 26, 37, 34, 38, 65, 36, 13, 76, 87, 80, 214, 234,
+  226, 122, 107, 116, 127, 140, 154, 158, 161, 162, 131, 41, 16, 17, 17, 16,
+  22, 12, 30, 60, 206, 205, 199, 122, 127, 130, 140, 131, 132, 130, 132, 114,
+  80, 16, 17, 10, 29, 25, 26, 25, 29, 55, 230, 228, 220, 114, 107, 118,
+  128, 139, 153, 162, 166, 166, 158, 155, 140, 53, 13, 13, 13, 13, 10, 9,
+  16, 12, 49, 55, 49, 44, 38, 44, 41, 41, 38, 30, 37, 165, 208, 201,
+  191, 119, 108, 120, 134, 147, 166, 166, 178, 182, 185, 191, 197, 201, 116, 37,
+  24, 18, 18, 33, 60, 135, 222, 214, 208, 190, 204, 208, 209, 208, 201, 179,
+  174, 161, 153, 135, 126, 119, 112, 72, 45, 45, 36, 40, 49, 42, 38, 29,
+  25, 25, 26, 25, 57, 197, 225, 225, 115, 107, 118, 131, 136, 153, 159, 158,
+  165, 162, 154, 136, 59, 17, 16, 16, 20, 18, 20, 16, 13, 13, 12, 12,
+  12, 16, 13, 33, 36, 37, 42, 38, 38, 37, 34, 37, 20, 21, 1, 26,
+  38, 52, 57, 71, 80, 162, 138, 102, 110, 135, 150, 159, 169, 177, 181, 181,
+  182, 179, 183, 187, 197, 197, 183, 190, 194, 189, 183, 174, 167, 167, 157, 151,
+  139, 120, 8, 9, 8, 18, 13, 5, 59, 46, 52, 60, 42, 41, 38, 48,
+  100, 186, 114, 102, 112, 126, 142, 148, 155, 158, 150, 134, 122, 122, 122, 123,
+  126, 99, 41, 36, 40, 42, 49, 53, 53, 57, 69, 84, 73, 75, 81, 77,
+  80, 77, 108, 100, 85, 36, 170, 224, 236, 179, 120, 102, 95, 92, 67, 32,
+  26, 34, 40, 42, 46, 48, 49, 75, 83, 240, 238, 229, 107, 88, 97, 115,
+  116, 134, 148, 158, 163, 161, 154, 142, 140, 126, 24, 20, 9, 9, 12, 13,
+  17, 5, 5, 20, 29, 30, 42, 80, 92, 224, 228, 228, 123, 99, 111, 122,
+  130, 142, 143, 138, 134, 140, 135, 147, 144, 122, 45, 26, 26, 14, 36, 34,
+  56, 53, 73, 182, 214, 195, 139, 130, 135, 150, 155, 162, 163, 169, 177, 183,
+  187, 186, 181, 161, 73, 34, 34, 51, 60, 68, 79, 175, 226, 217, 179, 169,
+  183, 187, 161, 169, 162, 154, 148, 144, 131, 122, 111, 52, 34, 32, 55, 85,
+  89, 68, 69, 76, 177, 221, 240, 169, 126, 135, 142, 143, 136, 150, 166, 170,
+  170, 61, 34, 20, 21, 24, 33, 65, 89, 221, 224, 221, 177, 175, 175, 169,
+  170, 151, 138, 126, 81, 25, 28, 25, 28, 29, 28, 33, 40, 42, 64, 64,
+  67, 68, 73, 69, 64, 77, 80, 42, 40, 37, 83, 75, 65, 60, 77, 63,
+  53, 51, 72, 49, 9, 24, 16, 12, 10, 12, 17, 14, 13, 13, 22, 17,
+  17, 55, 67, 73, 97, 238, 234, 226, 106, 104, 108, 114, 122, 135, 159, 161,
+  167, 174, 170, 159, 146, 122, 130, 132, 103, 17, 21, 21, 26, 32, 37, 44,
+  51, 53, 49, 49, 46, 32, 64, 69, 73, 63, 65, 65, 75, 130, 240, 245,
+  240, 190, 120, 100, 44, 29, 28, 30, 34, 33, 36, 40, 48, 214, 218, 209,
+  130, 130, 139, 153, 155, 154, 151, 119, 119, 114, 95, 20, 14, 10, 20, 24,
+  32, 36, 37, 49, 30, 20, 42, 77, 76, 206, 230, 228, 122, 108, 118, 128,
+  143, 154, 165, 163, 162, 139, 46, 16, 17, 17, 14, 18, 10, 49, 79, 199,
+  212, 209, 128, 124, 124, 134, 134, 131, 128, 126, 112, 72, 16, 13, 12, 20,
+  17, 22, 28, 30, 49, 230, 229, 225, 116, 110, 115, 124, 140, 154, 162, 166,
+  167, 158, 154, 139, 45, 13, 16, 16, 25, 17, 12, 18, 17, 44, 52, 41,
+  46, 46, 44, 41, 49, 41, 32, 34, 163, 202, 199, 167, 106, 111, 119, 130,
+  148, 163, 166, 171, 175, 183, 189, 194, 208, 107, 37, 26, 21, 21, 21, 42,
+  127, 225, 220, 210, 189, 194, 206, 206, 213, 208, 191, 174, 163, 153, 143, 134,
+  119, 119, 88, 51, 52, 29, 30, 34, 29, 40, 21, 4, 18, 13, 22, 61,
+  181, 221, 226, 115, 108, 119, 131, 135, 151, 159, 161, 163, 159, 151, 130, 52,
+  20, 16, 18, 24, 20, 25, 14, 18, 18, 20, 18, 21, 20, 14, 14, 30,
+  51, 17, 20, 29, 30, 26, 32, 24, 21, 1, 25, 29, 34, 32, 59, 61,
+  99, 153, 104, 99, 127, 143, 157, 166, 173, 174, 177, 177, 181, 182, 185, 187,
+  195, 194, 185, 189, 189, 185, 178, 170, 167, 158, 154, 140, 122, 9, 9, 6,
+  10, 4, 2, 55, 63, 68, 64, 61, 72, 68, 64, 49, 148, 167, 110, 106,
+  112, 130, 142, 147, 153, 147, 138, 127, 122, 115, 126, 127, 120, 63, 40, 30,
+  33, 34, 36, 33, 33, 37, 40, 40, 48, 53, 60, 64, 65, 80, 97, 92,
+  38, 171, 220, 230, 169, 112, 93, 93, 91, 65, 30, 20, 26, 36, 36, 36,
+  42, 42, 68, 68, 240, 237, 226, 107, 99, 96, 115, 127, 127, 143, 155, 166,
+  162, 151, 142, 142, 118, 24, 24, 24, 17, 17, 24, 21, 22, 22, 38, 21,
+  25, 42, 72, 102, 224, 229, 224, 126, 111, 114, 123, 128, 140, 134, 136, 132,
+  135, 135, 144, 140, 118, 41, 37, 25, 26, 51, 67, 63, 65, 68, 171, 209,
+  205, 144, 126, 134, 146, 153, 155, 162, 165, 170, 178, 183, 185, 182, 173, 95,
+  38, 26, 40, 55, 64, 73, 153, 226, 220, 183, 169, 177, 187, 183, 154, 169,
+  159, 155, 143, 144, 130, 123, 85, 37, 37, 52, 59, 65, 60, 76, 72, 134,
+  226, 240, 169, 131, 136, 146, 142, 143, 157, 167, 173, 175, 68, 41, 26, 22,
+  49, 64, 65, 100, 222, 226, 224, 183, 175, 178, 171, 171, 155, 140, 124, 89,
+  24, 22, 22, 8, 6, 5, 8, 8, 20, 18, 9, 9, 18, 20, 18, 17,
+  24, 28, 26, 38, 13, 13, 8, 10, 13, 14, 4, 9, 13, 14, 2, 8,
+  38, 5, 30, 42, 48, 49, 56, 55, 53, 51, 44, 18, 77, 72, 77, 108,
+  237, 238, 226, 106, 104, 111, 116, 127, 140, 155, 158, 163, 167, 171, 158, 146,
+  126, 130, 127, 99, 21, 24, 21, 24, 29, 28, 29, 32, 33, 38, 37, 33,
+  32, 55, 60, 53, 55, 63, 75, 75, 190, 241, 245, 236, 166, 115, 97, 37,
+  28, 24, 20, 22, 25, 29, 40, 53, 220, 222, 208, 128, 123, 123, 144, 151,
+  151, 144, 116, 108, 118, 88, 18, 12, 12, 14, 21, 26, 29, 28, 30, 28,
+  16, 21, 80, 81, 199, 226, 226, 123, 110, 119, 128, 142, 153, 165, 167, 166,
+  146, 68, 24, 18, 18, 10, 17, 29, 59, 112, 208, 214, 197, 126, 122, 123,
+  130, 130, 134, 130, 123, 111, 65, 13, 12, 9, 12, 14, 13, 29, 34, 45,
+  229, 233, 228, 114, 106, 114, 124, 140, 154, 162, 169, 166, 157, 151, 140, 42,
+  13, 16, 16, 20, 26, 24, 13, 12, 26, 29, 25, 28, 34, 33, 28, 28,
+  34, 37, 41, 150, 201, 183, 144, 100, 110, 116, 130, 147, 165, 171, 178, 173,
+  183, 185, 187, 204, 131, 42, 29, 17, 26, 30, 52, 131, 222, 221, 216, 191,
+  178, 202, 208, 208, 206, 194, 174, 166, 157, 151, 136, 118, 119, 102, 56, 56,
+  44, 37, 33, 29, 4, 16, 12, 17, 13, 21, 72, 174, 228, 224, 115, 110,
+  120, 131, 135, 151, 159, 161, 165, 158, 151, 131, 51, 18, 20, 22, 17, 17,
+  14, 13, 12, 12, 9, 9, 8, 5, 14, 14, 5, 14, 10, 9, 5, 6,
+  14, 22, 22, 16, 2, 28, 29, 32, 29, 25, 33, 67, 136, 122, 95, 120,
+  140, 153, 162, 167, 170, 170, 169, 170, 171, 174, 183, 191, 198, 187, 186, 193,
+  186, 178, 170, 167, 158, 154, 142, 123, 6, 6, 6, 10, 5, 4, 143, 134,
+  119, 119, 119, 111, 118, 75, 69, 89, 161, 114, 104, 107, 115, 128, 143, 143,
+  142, 134, 140, 140, 128, 116, 123, 127, 108, 51, 45, 59, 64, 67, 60, 64,
+  71, 77, 92, 81, 87, 81, 65, 68, 59, 68, 88, 42, 159, 222, 233, 189,
+  114, 96, 95, 85, 53, 26, 25, 26, 49, 63, 73, 72, 69, 72, 81, 226,
+  232, 224, 100, 91, 106, 118, 118, 120, 130, 151, 165, 157, 150, 139, 139, 122,
+  25, 24, 26, 9, 21, 24, 24, 17, 29, 45, 26, 24, 75, 72, 124, 221,
+  226, 222, 123, 112, 122, 130, 128, 138, 124, 146, 139, 138, 132, 143, 136, 111,
+  41, 36, 22, 34, 60, 69, 67, 68, 69, 151, 214, 201, 150, 123, 130, 139,
+  148, 151, 159, 162, 166, 174, 179, 181, 178, 175, 124, 44, 40, 41, 63, 68,
+  85, 142, 221, 224, 183, 166, 173, 182, 186, 179, 154, 166, 162, 155, 146, 144,
+  127, 116, 57, 37, 38, 40, 48, 67, 83, 72, 118, 217, 228, 173, 134, 142,
+  151, 139, 140, 155, 175, 179, 179, 80, 32, 24, 16, 38, 64, 73, 147, 226,
+  226, 224, 179, 179, 175, 169, 169, 155, 140, 126, 88, 28, 24, 24, 18, 30,
+  20, 29, 18, 77, 83, 76, 65, 73, 75, 76, 69, 75, 72, 29, 17, 29,
+  96, 88, 75, 73, 88, 84, 73, 68, 65, 63, 37, 4, 26, 81, 89, 93,
+  83, 91, 84, 85, 53, 37, 16, 81, 81, 83, 163, 234, 238, 216, 104, 104,
+  108, 118, 130, 143, 151, 151, 150, 155, 167, 159, 147, 130, 136, 138, 100, 25,
+  26, 28, 36, 41, 44, 30, 42, 42, 40, 36, 46, 41, 51, 55, 65, 64,
+  68, 79, 148, 234, 241, 244, 236, 144, 110, 95, 33, 25, 21, 24, 25, 32,
+  36, 40, 63, 217, 221, 210, 126, 124, 127, 134, 139, 153, 142, 120, 114, 119,
+  97, 20, 14, 13, 18, 21, 21, 24, 24, 20, 26, 12, 32, 67, 72, 195,
+  222, 220, 126, 110, 119, 128, 139, 153, 159, 163, 165, 153, 91, 25, 20, 16,
+  20, 20, 44, 69, 181, 221, 221, 206, 123, 122, 126, 127, 126, 138, 136, 118,
+  111, 55, 13, 9, 9, 21, 21, 28, 34, 36, 56, 229, 228, 226, 115, 106,
+  118, 130, 142, 153, 163, 167, 163, 155, 147, 142, 46, 17, 20, 29, 36, 42,
+  40, 20, 17, 20, 18, 26, 18, 22, 20, 25, 16, 24, 20, 26, 138, 197,
+  187, 131, 100, 112, 116, 128, 131, 162, 171, 169, 173, 177, 187, 191, 202, 150,
+  56, 33, 24, 40, 32, 75, 135, 224, 222, 218, 189, 174, 193, 206, 205, 202,
+  195, 178, 173, 157, 158, 142, 127, 120, 110, 67, 48, 57, 55, 48, 33, 5,
+  21, 85, 115, 88, 85, 122, 194, 216, 221, 111, 110, 116, 130, 130, 147, 157,
+  162, 159, 158, 148, 134, 55, 22, 24, 36, 42, 64, 76, 81, 81, 77, 88,
+  84, 77, 33, 14, 45, 63, 61, 53, 57, 57, 38, 16, 8, 6, 17, 20,
+  13, 17, 17, 24, 24, 17, 30, 102, 134, 100, 99, 134, 140, 150, 157, 153,
+  155, 150, 151, 139, 146, 146, 183, 197, 205, 178, 191, 186, 177, 169, 166, 157,
+  153, 143, 119, 6, 6, 6, 6, 22, 24, 144, 124, 136, 126, 124, 136, 89,
+  103, 72, 36, 158, 140, 110, 106, 108, 108, 118, 130, 132, 143, 136, 134, 142,
+  132, 122, 131, 122, 95, 49, 46, 37, 57, 65, 65, 80, 91, 115, 97, 102,
+  103, 91, 83, 92, 96, 89, 60, 181, 230, 236, 186, 114, 92, 89, 71, 38,
+  24, 25, 26, 59, 69, 69, 71, 67, 71, 83, 210, 225, 222, 95, 89, 106,
+  119, 118, 118, 127, 139, 159, 157, 148, 136, 138, 123, 33, 29, 24, 20, 36,
+  49, 67, 72, 73, 80, 76, 73, 60, 85, 191, 214, 221, 220, 120, 104, 114,
+  115, 130, 139, 119, 130, 138, 142, 134, 140, 139, 115, 36, 29, 26, 32, 65,
+  60, 63, 59, 68, 132, 206, 204, 158, 120, 128, 131, 140, 151, 157, 163, 163,
+  171, 177, 177, 174, 174, 148, 69, 40, 37, 72, 75, 77, 120, 212, 221, 189,
+  163, 169, 178, 186, 187, 163, 153, 165, 167, 157, 151, 139, 126, 100, 64, 60,
+  63, 87, 91, 89, 79, 97, 199, 225, 175, 140, 144, 154, 138, 142, 157, 179,
+  186, 185, 130, 56, 26, 13, 48, 71, 87, 175, 230, 229, 225, 179, 178, 177,
+  170, 166, 155, 140, 126, 81, 25, 22, 22, 34, 32, 33, 32, 17, 91, 91,
+  80, 63, 59, 68, 60, 67, 71, 75, 37, 13, 73, 93, 76, 81, 81, 77,
+  84, 75, 81, 73, 77, 34, 4, 77, 91, 87, 87, 77, 79, 64, 76, 64,
+  51, 14, 84, 85, 85, 186, 238, 240, 220, 104, 103, 107, 116, 132, 146, 157,
+  154, 140, 150, 151, 147, 126, 126, 139, 140, 100, 28, 28, 25, 38, 29, 41,
+  46, 46, 53, 57, 59, 53, 61, 72, 73, 80, 85, 92, 131, 204, 242, 244,
+  241, 213, 122, 111, 68, 29, 22, 21, 26, 32, 30, 38, 41, 71, 220, 225,
+  220, 119, 118, 128, 114, 130, 131, 131, 114, 119, 118, 103, 21, 13, 13, 20,
+  25, 38, 34, 40, 30, 26, 9, 88, 80, 81, 173, 218, 214, 131, 112, 119,
+  127, 138, 147, 162, 163, 167, 167, 130, 40, 24, 18, 24, 40, 53, 89, 194,
+  222, 222, 208, 123, 122, 124, 122, 131, 128, 126, 118, 100, 29, 12, 8, 14,
+  28, 32, 32, 37, 33, 67, 226, 229, 228, 116, 107, 116, 126, 140, 153, 162,
+  167, 159, 150, 144, 132, 59, 25, 17, 30, 46, 53, 53, 38, 13, 28, 91,
+  88, 85, 81, 91, 81, 81, 80, 80, 48, 122, 187, 183, 120, 100, 114, 119,
+  123, 124, 150, 155, 173, 169, 166, 179, 189, 193, 194, 107, 46, 40, 46, 53,
+  123, 194, 226, 224, 220, 183, 173, 187, 197, 198, 197, 195, 171, 171, 163, 154,
+  154, 135, 120, 120, 72, 69, 88, 130, 118, 36, 10, 67, 123, 111, 120, 142,
+  151, 210, 220, 208, 112, 108, 118, 127, 124, 143, 153, 161, 161, 154, 147, 132,
+  61, 26, 21, 42, 73, 88, 85, 80, 84, 85, 85, 85, 88, 57, 20, 59,
+  71, 69, 69, 64, 65, 60, 60, 48, 17, 8, 20, 36, 83, 89, 57, 72,
+  77, 64, 34, 144, 122, 91, 112, 124, 132, 139, 142, 120, 122, 130, 67, 55,
+  77, 162, 197, 209, 185, 182, 185, 175, 167, 165, 157, 148, 139, 114, 5, 8,
+  9, 17, 57, 64, 123, 120, 99, 124, 122, 112, 79, 102, 71, 30, 143, 139,
+  103, 107, 106, 106, 104, 106, 112, 132, 147, 139, 132, 140, 127, 120, 124, 116,
+  84, 46, 55, 63, 34, 57, 76, 111, 102, 95, 97, 87, 83, 79, 92, 72,
+  56, 123, 210, 234, 230, 199, 112, 88, 81, 59, 32, 22, 25, 24, 56, 71,
+  63, 63, 57, 71, 115, 228, 222, 204, 100, 100, 108, 120, 124, 119, 126, 132,
+  148, 153, 143, 128, 139, 124, 30, 30, 9, 61, 51, 59, 60, 73, 84, 76,
+  75, 60, 80, 102, 221, 220, 220, 209, 123, 97, 107, 118, 142, 143, 127, 116,
+  124, 131, 128, 139, 138, 114, 49, 26, 26, 33, 65, 65, 75, 52, 60, 110,
+  197, 199, 165, 122, 127, 127, 140, 144, 154, 161, 157, 165, 169, 174, 170, 170,
+  161, 92, 44, 30, 61, 73, 76, 102, 194, 218, 198, 163, 166, 177, 185, 189,
+  182, 153, 154, 166, 170, 159, 150, 138, 128, 96, 87, 84, 87, 83, 77, 75,
+  81, 179, 229, 178, 142, 150, 158, 138, 140, 169, 181, 187, 190, 158, 42, 26,
+  25, 61, 80, 96, 186, 233, 230, 225, 179, 178, 170, 169, 166, 158, 140, 123,
+  76, 24, 22, 21, 30, 41, 42, 30, 18, 84, 99, 85, 96, 83, 83, 99,
+  83, 73, 73, 37, 34, 89, 99, 77, 83, 76, 64, 57, 77, 63, 49, 73,
+  25, 1, 76, 95, 80, 65, 59, 67, 75, 80, 56, 41, 17, 84, 85, 91,
+  208, 238, 233, 213, 108, 104, 110, 114, 126, 147, 157, 159, 159, 153, 138, 131,
+  122, 134, 138, 144, 104, 56, 29, 28, 40, 34, 40, 53, 56, 48, 45, 49,
+  48, 69, 85, 95, 100, 93, 126, 198, 241, 246, 244, 236, 155, 118, 108, 55,
+  26, 24, 20, 29, 33, 32, 37, 41, 69, 221, 222, 217, 127, 128, 123, 131,
+  116, 110, 106, 111, 122, 112, 102, 21, 17, 12, 22, 32, 40, 41, 42, 44,
+  24, 10, 81, 92, 77, 139, 208, 216, 147, 114, 120, 128, 139, 146, 155, 162,
+  159, 167, 150, 103, 48, 45, 49, 72, 100, 170, 197, 221, 214, 214, 123, 120,
+  124, 124, 124, 131, 119, 114, 69, 17, 13, 6, 16, 26, 30, 38, 44, 40,
+  79, 224, 226, 225, 114, 110, 119, 134, 142, 153, 163, 167, 158, 151, 147, 134,
+  71, 26, 18, 34, 53, 46, 49, 55, 13, 99, 97, 88, 84, 80, 92, 91,
+  84, 87, 75, 52, 59, 177, 175, 118, 103, 114, 118, 122, 127, 130, 162, 170,
+  178, 158, 173, 179, 189, 202, 155, 76, 52, 68, 112, 135, 213, 222, 224, 220,
+  185, 167, 174, 183, 179, 183, 185, 175, 171, 166, 162, 161, 151, 127, 120, 81,
+  85, 127, 136, 131, 28, 5, 76, 126, 112, 136, 143, 158, 214, 221, 217, 108,
+  107, 118, 128, 120, 134, 154, 165, 158, 151, 143, 131, 88, 32, 25, 45, 79,
+  76, 81, 73, 84, 80, 69, 72, 85, 88, 18, 61, 68, 63, 41, 32, 29,
+  32, 40, 59, 34, 9, 14, 79, 79, 79, 80, 83, 68, 61, 56, 41, 45,
+  52, 72, 102, 97, 107, 89, 65, 42, 38, 28, 33, 65, 139, 197, 209, 191,
+  175, 183, 174, 169, 166, 155, 148, 139, 106, 4, 8, 13, 26, 41, 44, 134,
+  102, 96, 102, 83, 100, 81, 75, 64, 36, 139, 134, 97, 115, 107, 103, 106,
+  104, 102, 108, 131, 150, 139, 128, 138, 123, 128, 120, 116, 79, 63, 60, 57,
+  53, 73, 108, 89, 87, 83, 79, 80, 75, 76, 91, 132, 183, 226, 232, 229,
+  185, 110, 88, 64, 36, 25, 21, 25, 24, 41, 65, 64, 52, 57, 85, 191,
+  228, 225, 208, 104, 99, 108, 123, 124, 138, 126, 120, 135, 148, 146, 134, 138,
+  114, 33, 29, 14, 51, 53, 51, 76, 59, 59, 61, 57, 57, 80, 153, 212,
+  216, 220, 209, 123, 118, 106, 116, 132, 131, 142, 131, 115, 115, 124, 130, 138,
+  116, 55, 24, 21, 33, 68, 81, 57, 56, 64, 92, 185, 199, 163, 124, 119,
+  124, 136, 142, 150, 158, 155, 157, 159, 165, 169, 163, 163, 120, 53, 51, 68,
+  67, 81, 89, 151, 217, 201, 162, 162, 173, 186, 186, 187, 173, 148, 153, 167,
+  165, 159, 148, 132, 127, 119, 112, 92, 77, 81, 79, 68, 114, 216, 189, 147,
+  148, 166, 140, 140, 174, 183, 194, 197, 179, 75, 32, 25, 30, 85, 104, 204,
+  233, 233, 228, 175, 177, 171, 167, 170, 159, 139, 115, 48, 22, 22, 13, 33,
+  32, 38, 34, 22, 52, 71, 95, 59, 84, 79, 77, 77, 81, 71, 40, 30,
+  60, 97, 87, 91, 59, 59, 76, 53, 59, 64, 64, 26, 0, 76, 84, 65,
+  73, 83, 73, 76, 63, 51, 46, 24, 71, 76, 102, 218, 237, 236, 210, 111,
+  107, 111, 112, 122, 143, 155, 163, 157, 151, 150, 147, 130, 135, 144, 144, 111,
+  87, 32, 29, 40, 32, 34, 34, 38, 41, 40, 40, 63, 68, 97, 102, 95,
+  127, 185, 234, 244, 248, 245, 221, 128, 114, 100, 41, 24, 20, 21, 30, 30,
+  30, 37, 55, 110, 205, 216, 217, 128, 112, 119, 123, 114, 118, 107, 107, 119,
+  120, 102, 22, 14, 16, 17, 18, 40, 44, 40, 37, 29, 8, 88, 88, 75,
+  95, 189, 213, 181, 118, 116, 128, 135, 144, 151, 162, 161, 171, 171, 151, 107,
+  107, 128, 159, 187, 202, 197, 225, 209, 209, 124, 123, 124, 126, 132, 126, 114,
+  92, 24, 9, 10, 9, 24, 21, 28, 41, 40, 40, 81, 218, 228, 222, 112,
+  104, 114, 123, 142, 153, 161, 166, 158, 150, 143, 134, 111, 36, 18, 34, 45,
+  48, 45, 41, 13, 102, 100, 115, 95, 85, 91, 73, 73, 79, 85, 72, 36,
+  122, 174, 127, 97, 114, 119, 123, 130, 126, 150, 155, 167, 155, 166, 171, 183,
+  191, 202, 165, 131, 150, 177, 213, 221, 224, 218, 218, 181, 166, 163, 173, 177,
+  174, 179, 177, 177, 170, 162, 154, 161, 144, 124, 87, 93, 114, 143, 123, 24,
+  5, 64, 108, 126, 124, 140, 171, 218, 216, 220, 110, 106, 116, 131, 126, 142,
+  154, 163, 159, 151, 140, 134, 108, 42, 32, 45, 76, 76, 75, 83, 92, 89,
+  83, 71, 87, 63, 28, 53, 67, 60, 34, 37, 36, 25, 24, 57, 45, 10,
+  13, 83, 67, 73, 71, 64, 63, 49, 40, 41, 34, 37, 32, 34, 49, 44,
+  29, 26, 29, 24, 18, 36, 64, 147, 205, 216, 194, 171, 181, 177, 170, 166,
+  158, 144, 136, 97, 2, 6, 12, 28, 4, 2, 132, 97, 107, 107, 96, 89,
+  119, 81, 64, 30, 142, 128, 100, 80, 104, 112, 106, 106, 106, 102, 111, 131,
+  142, 139, 138, 135, 114, 123, 123, 114, 97, 84, 88, 79, 97, 96, 115, 93,
+  84, 81, 83, 93, 132, 181, 214, 232, 236, 232, 208, 163, 96, 75, 46, 28,
+  21, 21, 25, 28, 51, 60, 61, 59, 67, 122, 214, 218, 226, 204, 93, 93,
+  111, 119, 120, 136, 115, 119, 123, 142, 136, 131, 136, 116, 37, 33, 45, 80,
+  77, 49, 60, 51, 67, 53, 56, 52, 79, 165, 210, 213, 208, 191, 124, 104,
+  112, 128, 142, 136, 144, 147, 135, 116, 112, 127, 132, 118, 49, 37, 37, 40,
+  69, 73, 67, 52, 57, 64, 179, 201, 163, 116, 123, 123, 135, 140, 147, 157,
+  161, 148, 148, 153, 153, 161, 162, 138, 84, 55, 40, 53, 75, 77, 127, 208,
+  209, 163, 161, 171, 179, 185, 187, 187, 177, 146, 153, 171, 165, 154, 148, 138,
+  128, 130, 132, 106, 83, 72, 72, 83, 181, 213, 163, 153, 165, 140, 143, 179,
+  189, 201, 201, 194, 140, 69, 29, 30, 92, 148, 214, 233, 233, 229, 183, 178,
+  166, 167, 167, 158, 134, 103, 29, 22, 21, 17, 40, 32, 34, 37, 25, 32,
+  93, 99, 85, 89, 83, 80, 76, 73, 67, 38, 34, 63, 100, 69, 77, 63,
+  80, 63, 52, 63, 64, 61, 34, 6, 79, 88, 61, 64, 64, 52, 67, 53,
+  42, 40, 40, 72, 88, 157, 222, 241, 233, 208, 111, 110, 115, 107, 118, 138,
+  151, 159, 165, 161, 154, 148, 142, 126, 131, 147, 130, 93, 33, 34, 33, 40,
+  38, 53, 57, 51, 42, 46, 61, 77, 100, 96, 115, 175, 232, 241, 246, 246,
+  242, 166, 116, 114, 87, 30, 21, 14, 21, 28, 29, 38, 40, 56, 171, 206,
+  214, 204, 123, 116, 122, 127, 115, 115, 118, 102, 106, 119, 107, 28, 16, 13,
+  16, 33, 41, 42, 34, 37, 29, 6, 80, 87, 80, 80, 115, 197, 197, 124,
+  116, 124, 132, 140, 142, 150, 147, 174, 177, 175, 166, 182, 195, 198, 206, 205,
+  213, 202, 209, 161, 124, 124, 132, 135, 130, 120, 114, 34, 13, 12, 8, 14,
+  24, 25, 33, 36, 37, 41, 161, 221, 224, 222, 112, 99, 114, 120, 140, 148,
+  159, 159, 162, 153, 147, 144, 138, 56, 30, 26, 48, 48, 45, 42, 16, 73,
+  103, 115, 106, 97, 110, 91, 92, 84, 77, 84, 38, 61, 166, 143, 102, 103,
+  118, 120, 124, 127, 131, 155, 157, 154, 163, 166, 178, 183, 199, 209, 205, 214,
+  216, 221, 220, 218, 224, 204, 182, 161, 162, 142, 162, 167, 177, 177, 175, 177,
+  167, 166, 159, 159, 140, 118, 96, 131, 139, 63, 20, 5, 56, 108, 108, 115,
+  127, 155, 216, 226, 214, 110, 104, 115, 126, 120, 147, 155, 159, 155, 151, 143,
+  136, 122, 63, 33, 51, 76, 72, 81, 81, 84, 83, 84, 87, 72, 75, 22,
+  42, 65, 55, 26, 34, 18, 20, 29, 32, 36, 12, 16, 40, 63, 36, 52,
+  53, 63, 38, 33, 29, 28, 22, 30, 29, 36, 24, 22, 25, 21, 24, 20,
+  59, 65, 170, 212, 218, 182, 167, 179, 175, 170, 166, 158, 143, 132, 52, 2,
+  6, 13, 38, 2, 1, 135, 111, 89, 100, 102, 87, 85, 88, 64, 26, 128,
+  119, 96, 85, 71, 85, 115, 110, 106, 104, 102, 107, 132, 146, 143, 143, 136,
+  118, 116, 119, 148, 126, 116, 115, 120, 124, 131, 132, 134, 134, 154, 186, 212,
+  225, 236, 234, 229, 216, 186, 111, 84, 51, 30, 22, 18, 22, 26, 41, 55,
+  48, 59, 61, 127, 182, 228, 225, 226, 212, 108, 93, 104, 115, 130, 132, 122,
+  126, 119, 128, 130, 132, 135, 123, 91, 67, 37, 69, 80, 80, 60, 59, 64,
+  77, 55, 65, 99, 185, 205, 209, 212, 155, 110, 112, 118, 126, 131, 143, 143,
+  144, 143, 134, 111, 116, 130, 123, 95, 49, 44, 44, 73, 56, 59, 52, 56,
+  55, 158, 198, 163, 114, 119, 123, 135, 143, 147, 154, 158, 146, 144, 139, 139,
+  146, 154, 147, 100, 56, 29, 49, 68, 79, 107, 190, 209, 170, 158, 169, 178,
+  181, 183, 185, 187, 177, 150, 154, 166, 163, 155, 147, 143, 132, 132, 131, 100,
+  72, 77, 77, 127, 218, 175, 154, 162, 144, 179, 183, 199, 205, 204, 206, 186,
+  110, 40, 45, 102, 179, 230, 232, 233, 222, 178, 177, 174, 169, 166, 146, 134,
+  83, 24, 21, 21, 22, 37, 37, 32, 38, 29, 29, 81, 97, 84, 89, 77,
+  76, 84, 75, 75, 46, 34, 64, 91, 76, 76, 57, 67, 52, 60, 56, 61,
+  63, 32, 1, 84, 88, 52, 64, 53, 60, 44, 36, 45, 63, 59, 71, 96,
+  206, 233, 228, 237, 197, 112, 115, 115, 116, 110, 127, 147, 157, 159, 161, 158,
+  154, 150, 136, 139, 132, 154, 108, 89, 69, 65, 71, 73, 71, 69, 75, 75,
+  69, 71, 91, 108, 96, 171, 228, 234, 238, 245, 241, 216, 122, 118, 108, 56,
+  28, 21, 17, 25, 26, 34, 36, 49, 171, 208, 206, 216, 195, 110, 124, 132,
+  123, 128, 130, 134, 123, 104, 120, 115, 41, 13, 12, 25, 29, 30, 40, 44,
+  30, 26, 5, 79, 80, 75, 81, 84, 122, 195, 132, 118, 122, 126, 131, 134,
+  134, 135, 138, 153, 182, 181, 190, 193, 204, 210, 212, 201, 206, 186, 124, 123,
+  132, 134, 131, 122, 122, 57, 13, 10, 9, 5, 21, 26, 32, 41, 38, 38,
+  65, 199, 213, 221, 218, 112, 102, 108, 118, 132, 144, 157, 159, 159, 155, 146,
+  139, 124, 107, 46, 25, 28, 49, 46, 45, 20, 69, 103, 116, 93, 102, 110,
+  71, 103, 83, 77, 76, 45, 37, 153, 175, 110, 95, 112, 122, 124, 123, 126,
+  139, 140, 151, 163, 169, 170, 175, 181, 195, 194, 204, 210, 212, 216, 213, 206,
+  189, 173, 161, 139, 139, 138, 142, 159, 167, 175, 174, 171, 161, 161, 162, 159,
+  132, 102, 138, 91, 28, 8, 8, 53, 103, 111, 124, 138, 162, 216, 221, 217,
+  115, 107, 114, 122, 122, 157, 157, 157, 155, 151, 143, 132, 123, 106, 44, 56,
+  80, 85, 75, 75, 80, 80, 85, 84, 92, 84, 36, 37, 67, 55, 29, 21,
+  29, 29, 32, 28, 33, 9, 16, 69, 60, 57, 49, 38, 40, 29, 34, 29,
+  38, 29, 25, 36, 29, 28, 22, 22, 17, 21, 16, 53, 79, 199, 214, 217,
+  162, 162, 179, 178, 170, 165, 157, 142, 130, 42, 2, 4, 12, 32, 4, 10,
+  124, 116, 91, 93, 102, 107, 73, 92, 64, 30, 122, 119, 97, 91, 85, 69,
+  68, 87, 111, 111, 107, 104, 106, 127, 144, 139, 130, 123, 119, 148, 165, 175,
+  175, 183, 189, 185, 191, 189, 194, 206, 213, 225, 228, 232, 230, 218, 217, 177,
+  127, 81, 52, 33, 24, 21, 22, 34, 42, 52, 46, 71, 120, 159, 183, 210,
+  213, 220, 225, 206, 114, 87, 114, 107, 116, 130, 144, 147, 130, 122, 120, 136,
+  135, 140, 119, 106, 108, 110, 116, 104, 84, 68, 55, 75, 53, 72, 140, 198,
+  209, 209, 201, 153, 118, 107, 110, 126, 138, 143, 132, 147, 147, 140, 131, 110,
+  123, 122, 108, 92, 57, 53, 75, 71, 59, 53, 44, 53, 124, 202, 177, 111,
+  116, 124, 138, 142, 148, 157, 139, 134, 130, 127, 126, 128, 142, 146, 127, 92,
+  60, 32, 56, 71, 93, 150, 204, 174, 155, 161, 171, 175, 179, 178, 181, 182,
+  170, 151, 159, 166, 159, 155, 143, 132, 131, 127, 93, 75, 68, 72, 79, 178,
+  210, 158, 155, 140, 185, 195, 204, 208, 210, 209, 208, 178, 124, 132, 182, 222,
+  234, 233, 233, 214, 186, 179, 173, 170, 159, 136, 120, 46, 20, 18, 20, 25,
+  41, 36, 45, 45, 36, 30, 85, 100, 64, 84, 77, 71, 83, 88, 77, 61,
+  34, 48, 95, 65, 77, 56, 51, 51, 63, 57, 49, 65, 25, 4, 76, 81,
+  51, 63, 42, 59, 59, 53, 61, 65, 75, 130, 201, 222, 234, 236, 228, 182,
+  114, 119, 108, 119, 123, 112, 136, 148, 153, 155, 154, 155, 153, 151, 143, 127,
+  142, 157, 108, 103, 103, 100, 97, 100, 96, 91, 91, 87, 83, 89, 128, 181,
+  226, 230, 237, 241, 240, 230, 142, 116, 120, 104, 42, 22, 18, 21, 29, 33,
+  32, 48, 175, 204, 209, 210, 205, 197, 119, 111, 124, 119, 138, 120, 126, 122,
+  130, 112, 115, 95, 17, 22, 16, 16, 30, 41, 41, 34, 21, 10, 71, 80,
+  76, 67, 72, 83, 103, 173, 170, 124, 124, 123, 126, 127, 128, 128, 130, 130,
+  131, 140, 159, 163, 166, 177, 182, 159, 124, 128, 127, 126, 124, 122, 115, 46,
+  13, 9, 8, 4, 6, 14, 21, 30, 40, 37, 44, 158, 213, 214, 217, 212,
+  114, 103, 114, 120, 134, 143, 153, 161, 161, 157, 150, 151, 134, 136, 100, 63,
+  40, 33, 34, 48, 21, 71, 103, 111, 110, 92, 93, 73, 79, 96, 73, 79,
+  42, 29, 124, 167, 135, 95, 103, 118, 123, 126, 120, 122, 126, 150, 161, 158,
+  167, 163, 162, 158, 153, 173, 185, 189, 197, 194, 183, 158, 136, 140, 139, 136,
+  138, 139, 136, 139, 151, 157, 154, 151, 158, 148, 140, 114, 131, 91, 28, 0,
+  9, 5, 46, 91, 120, 142, 138, 189, 205, 216, 216, 118, 106, 108, 123, 144,
+  154, 166, 155, 153, 151, 142, 134, 124, 123, 91, 56, 44, 55, 73, 79, 87,
+  80, 77, 89, 68, 103, 29, 20, 56, 37, 42, 30, 30, 37, 33, 25, 33,
+  10, 12, 59, 61, 63, 65, 65, 57, 48, 44, 33, 40, 37, 18, 34, 37,
+  37, 28, 25, 21, 20, 30, 40, 108, 210, 224, 217, 154, 157, 173, 177, 170,
+  163, 157, 144, 128, 30, 2, 4, 10, 30, 4, 1, 118, 85, 85, 79, 81,
+  73, 73, 72, 60, 30, 114, 112, 97, 84, 81, 80, 68, 53, 61, 84, 104,
+  107, 103, 106, 112, 120, 128, 135, 135, 139, 139, 150, 171, 185, 194, 198, 208,
+  204, 209, 216, 220, 221, 217, 217, 214, 197, 158, 118, 79, 48, 32, 24, 20,
+  20, 30, 38, 53, 42, 128, 166, 202, 212, 199, 206, 208, 213, 209, 154, 110,
+  89, 135, 116, 124, 131, 132, 126, 132, 139, 132, 127, 146, 135, 136, 130, 139,
+  144, 159, 140, 127, 100, 80, 46, 45, 75, 163, 199, 202, 201, 206, 144, 119,
+  115, 116, 144, 146, 138, 138, 132, 131, 132, 139, 128, 108, 123, 119, 106, 81,
+  106, 91, 84, 51, 59, 48, 51, 89, 185, 187, 128, 108, 124, 135, 139, 138,
+  138, 134, 127, 124, 118, 118, 116, 118, 132, 134, 108, 75, 26, 42, 65, 79,
+  104, 179, 193, 151, 155, 163, 171, 174, 175, 175, 181, 179, 158, 150, 163, 165,
+  153, 138, 136, 128, 103, 64, 41, 63, 68, 72, 99, 204, 170, 163, 147, 187,
+  195, 209, 210, 213, 209, 216, 210, 205, 209, 226, 230, 230, 233, 232, 201, 181,
+  182, 177, 166, 140, 131, 85, 25, 20, 18, 21, 30, 42, 38, 46, 41, 38,
+  25, 71, 73, 92, 76, 85, 93, 91, 88, 77, 73, 33, 38, 64, 85, 88,
+  49, 55, 49, 57, 63, 63, 60, 26, 1, 72, 73, 69, 52, 60, 53, 59,
+  68, 106, 167, 187, 218, 216, 232, 221, 226, 224, 150, 116, 118, 124, 130, 142,
+  123, 116, 135, 140, 142, 142, 144, 148, 148, 153, 142, 138, 148, 159, 146, 169,
+  179, 189, 198, 204, 208, 212, 217, 220, 217, 222, 222, 226, 232, 237, 237, 224,
+  154, 118, 122, 118, 81, 26, 18, 18, 21, 30, 36, 76, 150, 221, 206, 201,
+  214, 216, 158, 124, 128, 135, 130, 131, 124, 138, 119, 122, 111, 112, 96, 67,
+  48, 20, 17, 12, 36, 41, 32, 28, 9, 69, 71, 65, 65, 72, 61, 79,
+  91, 99, 107, 112, 151, 155, 150, 147, 147, 143, 140, 136, 131, 131, 128, 128,
+  128, 130, 127, 124, 124, 122, 120, 118, 81, 29, 12, 9, 9, 4, 4, 22,
+  20, 32, 37, 38, 41, 136, 197, 206, 209, 214, 205, 108, 104, 107, 120, 134,
+  136, 139, 146, 153, 153, 148, 140, 146, 138, 142, 112, 93, 79, 59, 32, 21,
+  55, 104, 95, 107, 80, 99, 95, 93, 97, 73, 77, 59, 25, 81, 148, 177,
+  114, 102, 110, 118, 119, 122, 123, 124, 127, 130, 132, 131, 132, 140, 130, 128,
+  126, 128, 130, 127, 126, 128, 131, 131, 136, 136, 139, 142, 139, 139, 142, 135,
+  130, 130, 128, 127, 123, 135, 138, 99, 26, 0, 5, 5, 5, 45, 89, 97,
+  132, 191, 197, 195, 213, 206, 115, 111, 116, 120, 147, 151, 153, 144, 153, 150,
+  143, 136, 127, 122, 120, 119, 97, 67, 63, 49, 84, 79, 75, 76, 65, 89,
+  32, 13, 72, 26, 26, 28, 41, 36, 38, 25, 30, 12, 12, 51, 55, 56,
+  52, 40, 42, 30, 24, 20, 24, 26, 18, 30, 41, 36, 29, 32, 34, 14,
+  42, 51, 138, 220, 222, 210, 146, 151, 161, 173, 173, 163, 157, 143, 126, 25,
+  4, 4, 12, 24, 6, 2, 77, 76, 75, 79, 73, 73, 80, 67, 61, 26,
+  93, 104, 97, 88, 99, 85, 77, 68, 55, 48, 53, 71, 95, 104, 106, 104,
+  104, 111, 108, 116, 118, 122, 127, 142, 165, 177, 186, 201, 205, 202, 202, 202,
+  199, 181, 158, 118, 84, 65, 44, 30, 24, 18, 18, 21, 29, 38, 38, 104,
+  225, 193, 202, 194, 206, 201, 210, 177, 140, 118, 104, 115, 115, 116, 112, 118,
+  111, 116, 115, 120, 119, 123, 127, 120, 130, 142, 134, 138, 138, 135, 139, 148,
+  79, 45, 63, 96, 216, 190, 193, 197, 202, 138, 122, 126, 136, 119, 140, 138,
+  135, 123, 126, 123, 123, 123, 120, 120, 122, 108, 114, 108, 102, 77, 49, 51,
+  52, 46, 57, 144, 191, 151, 106, 123, 127, 131, 134, 132, 127, 126, 119, 118,
+  114, 110, 107, 103, 108, 122, 85, 72, 65, 49, 61, 77, 130, 197, 161, 151,
+  158, 161, 159, 166, 169, 174, 178, 174, 155, 153, 159, 147, 136, 136, 115, 69,
+  34, 33, 32, 71, 65, 63, 157, 182, 174, 134, 182, 197, 198, 205, 210, 217,
+  217, 221, 220, 222, 230, 228, 230, 226, 217, 190, 186, 179, 175, 161, 134, 99,
+  38, 22, 20, 18, 17, 34, 40, 37, 40, 45, 41, 26, 56, 79, 92, 89,
+  73, 76, 71, 83, 65, 41, 33, 32, 64, 89, 73, 46, 60, 57, 59, 63,
+  72, 38, 29, 4, 64, 69, 59, 67, 32, 52, 79, 185, 210, 205, 213, 234,
+  212, 225, 240, 221, 190, 120, 118, 119, 138, 140, 131, 139, 131, 127, 127, 124,
+  127, 130, 123, 127, 130, 136, 146, 143, 132, 167, 170, 182, 190, 198, 202, 208,
+  213, 216, 218, 222, 224, 229, 229, 230, 226, 199, 138, 115, 118, 124, 114, 49,
+  20, 17, 18, 28, 34, 83, 181, 190, 190, 202, 208, 228, 205, 140, 120, 111,
+  119, 116, 131, 126, 115, 128, 115, 114, 126, 96, 83, 73, 63, 44, 16, 21,
+  40, 28, 28, 8, 64, 73, 61, 46, 38, 48, 52, 53, 51, 56, 57, 75,
+  96, 103, 106, 103, 100, 107, 111, 111, 112, 111, 110, 111, 118, 115, 114, 107,
+  102, 72, 30, 17, 9, 8, 5, 2, 4, 8, 18, 22, 40, 37, 44, 140,
+  190, 197, 198, 202, 209, 147, 108, 100, 110, 126, 122, 127, 135, 136, 144, 140,
+  153, 148, 138, 143, 126, 138, 148, 144, 103, 67, 38, 24, 69, 106, 85, 100,
+  79, 93, 89, 97, 71, 79, 73, 20, 69, 135, 144, 150, 144, 139, 136, 143,
+  138, 116, 115, 118, 118, 123, 126, 126, 123, 122, 127, 119, 102, 96, 89, 81,
+  85, 97, 114, 123, 130, 134, 135, 132, 127, 132, 132, 135, 138, 136, 132, 132,
+  123, 96, 28, 9, 1, 2, 5, 6, 44, 99, 132, 194, 204, 201, 198, 214,
+  187, 114, 106, 120, 128, 126, 140, 147, 150, 146, 147, 143, 139, 135, 128, 120,
+  118, 114, 126, 111, 76, 53, 53, 56, 68, 61, 88, 29, 12, 67, 42, 28,
+  33, 45, 28, 29, 32, 22, 14, 17, 55, 71, 49, 45, 34, 33, 32, 22,
+  24, 32, 20, 38, 34, 28, 20, 20, 21, 26, 14, 42, 51, 158, 220, 225,
+  208, 142, 146, 150, 163, 171, 163, 155, 143, 118, 13, 5, 2, 12, 24, 14,
+  17, 72, 75, 76, 80, 72, 77, 84, 85, 59, 25, 99, 99, 93, 97, 84,
+  80, 72, 67, 59, 55, 45, 38, 42, 48, 65, 83, 96, 97, 103, 103, 103,
+  104, 106, 111, 119, 124, 128, 135, 153, 150, 144, 142, 115, 91, 76, 57, 34,
+  29, 28, 22, 17, 18, 22, 21, 42, 49, 41, 146, 191, 212, 193, 194, 178,
+  155, 134, 122, 108, 89, 83, 79, 81, 85, 88, 91, 91, 95, 99, 100, 99,
+  102, 104, 110, 115, 119, 118, 116, 120, 126, 126, 114, 80, 42, 72, 154, 175,
+  181, 155, 158, 135, 128, 107, 110, 115, 110, 116, 115, 119, 111, 122, 123, 114,
+  127, 123, 118, 108, 106, 106, 102, 93, 45, 25, 33, 48, 41, 45, 100, 171,
+  178, 104, 115, 112, 115, 116, 116, 114, 118, 112, 112, 108, 106, 103, 103, 100,
+  99, 91, 80, 46, 42, 48, 60, 92, 155, 173, 147, 153, 157, 155, 150, 159,
+  165, 166, 170, 167, 158, 140, 136, 139, 123, 85, 46, 32, 26, 26, 49, 63,
+  65, 126, 195, 175, 151, 162, 182, 195, 198, 201, 201, 201, 199, 201, 198, 199,
+  199, 201, 199, 191, 182, 177, 174, 165, 139, 111, 37, 18, 18, 18, 20, 20,
+  34, 32, 34, 42, 40, 41, 34, 33, 36, 40, 49, 33, 36, 42, 36, 34,
+  44, 42, 38, 37, 48, 52, 57, 44, 45, 44, 42, 41, 44, 22, 2, 24,
+  52, 56, 36, 40, 61, 154, 202, 198, 204, 218, 242, 212, 206, 198, 148, 120,
+  114, 122, 132, 135, 134, 136, 136, 134, 132, 126, 130, 131, 128, 127, 123, 120,
+  122, 123, 124, 122, 122, 123, 123, 132, 140, 159, 182, 187, 201, 201, 198, 195,
+  197, 198, 185, 158, 119, 114, 116, 123, 123, 97, 25, 16, 12, 28, 32, 59,
+  165, 186, 191, 201, 193, 201, 170, 139, 127, 111, 128, 115, 116, 118, 124, 107,
+  112, 100, 107, 100, 120, 100, 103, 89, 79, 20, 18, 38, 26, 25, 9, 72,
+  67, 34, 30, 26, 30, 29, 34, 25, 26, 21, 20, 20, 22, 22, 18, 20,
+  18, 17, 17, 16, 16, 13, 14, 18, 14, 13, 10, 10, 10, 6, 6, 6,
+  2, 2, 5, 13, 20, 13, 41, 33, 52, 136, 181, 181, 178, 193, 201, 171,
+  122, 104, 112, 122, 116, 120, 127, 126, 128, 126, 130, 139, 135, 124, 140, 135,
+  118, 115, 116, 153, 130, 37, 25, 57, 53, 57, 59, 63, 64, 68, 68, 73,
+  73, 56, 16, 38, 84, 97, 88, 87, 83, 91, 95, 99, 103, 103, 99, 99,
+  111, 112, 103, 99, 96, 73, 34, 13, 8, 4, 4, 5, 12, 53, 91, 100,
+  104, 106, 102, 95, 96, 100, 99, 96, 95, 92, 80, 38, 16, 2, 0, 1,
+  12, 10, 14, 84, 140, 179, 195, 183, 181, 201, 199, 134, 110, 114, 124, 118,
+  119, 118, 127, 128, 130, 134, 130, 122, 124, 123, 123, 120, 112, 112, 128, 114,
+  96, 84, 85, 76, 75, 57, 46, 14, 38, 53, 60, 45, 46, 32, 28, 29,
+  24, 10, 16, 51, 40, 26, 33, 22, 16, 14, 21, 21, 21, 26, 22, 18,
+  17, 13, 18, 14, 17, 37, 48, 63, 178, 225, 225, 204, 138, 143, 148, 158,
+  166, 161, 154, 139, 96, 8, 4, 2, 6, 16, 10, 5, 84, 80, 79, 80,
+  79, 87, 80, 73, 56, 25, 88, 95, 77, 83, 75, 75, 64, 65, 57, 56,
+  49, 45, 40, 38, 33, 32, 33, 41, 46, 57, 68, 88, 88, 89, 89, 85,
+  85, 80, 77, 76, 72, 63, 42, 32, 28, 24, 24, 18, 16, 16, 25, 33,
+  33, 29, 37, 26, 26, 80, 126, 144, 139, 134, 135, 87, 75, 64, 59, 44,
+  25, 28, 28, 24, 22, 22, 25, 26, 28, 33, 33, 30, 37, 68, 77, 84,
+  81, 80, 79, 95, 88, 61, 33, 46, 68, 130, 131, 142, 139, 143, 115, 92,
+  81, 81, 96, 97, 96, 93, 99, 100, 106, 103, 102, 102, 104, 99, 92, 89,
+  89, 83, 49, 22, 22, 20, 24, 44, 34, 42, 103, 122, 104, 110, 88, 106,
+  107, 111, 108, 110, 107, 103, 96, 96, 89, 97, 89, 92, 91, 76, 24, 26,
+  59, 40, 67, 93, 157, 166, 146, 153, 151, 151, 151, 154, 154, 153, 148, 143,
+  138, 138, 123, 97, 49, 32, 30, 30, 32, 38, 68, 61, 161, 183, 178, 163,
+  118, 150, 181, 183, 187, 190, 189, 187, 185, 182, 175, 174, 177, 178, 177, 174,
+  159, 143, 131, 103, 40, 21, 18, 18, 24, 28, 25, 30, 22, 22, 33, 34,
+  38, 37, 42, 42, 56, 44, 46, 44, 48, 46, 46, 44, 44, 42, 37, 45,
+  44, 30, 26, 13, 13, 20, 20, 18, 18, 2, 9, 13, 21, 38, 33, 57,
+  144, 193, 209, 197, 199, 173, 143, 128, 119, 111, 120, 114, 130, 128, 128, 128,
+  130, 130, 130, 126, 126, 123, 122, 122, 120, 112, 118, 119, 119, 119, 119, 116,
+  119, 116, 114, 112, 111, 111, 112, 115, 116, 116, 114, 111, 111, 110, 111, 111,
+  118, 120, 126, 119, 49, 13, 14, 17, 28, 30, 128, 186, 171, 182, 197, 169,
+  135, 128, 111, 110, 96, 103, 100, 97, 104, 100, 97, 88, 93, 93, 92, 89,
+  97, 91, 83, 76, 20, 21, 33, 26, 20, 12, 61, 65, 30, 24, 24, 24,
+  22, 22, 20, 17, 14, 12, 13, 12, 12, 10, 12, 9, 9, 9, 6, 6,
+  6, 8, 6, 5, 4, 5, 2, 2, 2, 4, 8, 6, 9, 17, 13, 16,
+  26, 41, 41, 87, 166, 173, 185, 177, 154, 140, 115, 104, 114, 110, 116, 110,
+  114, 111, 110, 112, 119, 124, 126, 119, 116, 126, 126, 114, 111, 120, 126, 100,
+  24, 46, 55, 52, 52, 46, 55, 53, 55, 51, 60, 56, 28, 17, 20, 24,
+  21, 16, 13, 14, 12, 9, 9, 10, 9, 8, 6, 8, 5, 5, 5, 5,
+  4, 2, 2, 2, 1, 1, 2, 4, 2, 4, 2, 1, 1, 2, 2, 1,
+  1, 2, 1, 1, 1, 2, 0, 0, 0, 1, 4, 8, 12, 14, 89, 157,
+  198, 189, 195, 185, 154, 126, 115, 108, 112, 115, 108, 106, 114, 118, 116, 120,
+  123, 119, 115, 112, 112, 108, 100, 104, 114, 111, 106, 77, 69, 56, 60, 51,
+  33, 29, 25, 26, 25, 29, 28, 28, 25, 36, 28, 24, 13, 9, 45, 41,
+  20, 14, 40, 71, 115, 153, 140, 84, 18, 30, 34, 9, 14, 14, 22, 14,
+  41, 36, 88, 202, 224, 230, 199, 135, 138, 143, 154, 163, 159, 148, 135, 60,
+  2, 5, 2, 2, 1, 1, 0, 29, 29, 32, 51, 52, 53, 61, 57, 53,
+  24, 38, 44, 40, 41, 42, 40, 38, 36, 34, 34, 33, 30, 26, 29, 25,
+  24, 22, 24, 22, 25, 24, 21, 21, 21, 24, 22, 24, 22, 22, 22, 22,
+  22, 22, 17, 14, 12, 14, 21, 33, 25, 34, 40, 37, 25, 25, 36, 26,
+  14, 26, 34, 33, 30, 28, 18, 26, 28, 20, 14, 16, 16, 16, 14, 13,
+  14, 13, 13, 13, 16, 14, 12, 8, 12, 14, 13, 13, 18, 22, 5, 9,
+  20, 20, 25, 14, 32, 42, 44, 63, 29, 4, 5, 16, 16, 13, 13, 14,
+  17, 13, 13, 16, 13, 13, 14, 16, 20, 20, 18, 18, 17, 22, 26, 34,
+  44, 41, 34, 26, 33, 30, 24, 20, 9, 10, 16, 13, 12, 10, 10, 8,
+  6, 10, 6, 5, 10, 14, 6, 6, 13, 10, 12, 16, 13, 25, 59, 91,
+  151, 154, 142, 140, 144, 143, 146, 148, 146, 143, 138, 134, 123, 85, 44, 32,
+  29, 29, 28, 18, 41, 64, 60, 147, 181, 194, 175, 132, 107, 108, 124, 119,
+  119, 112, 127, 122, 118, 115, 115, 115, 118, 114, 112, 108, 65, 49, 28, 20,
+  18, 20, 21, 18, 18, 10, 8, 18, 8, 8, 8, 8, 20, 6, 6, 5,
+  6, 8, 6, 6, 8, 8, 6, 6, 10, 21, 22, 34, 37, 65, 75, 79,
+  80, 64, 57, 30, 5, 45, 55, 52, 28, 34, 55, 88, 120, 139, 126, 124,
+  110, 93, 92, 93, 99, 100, 102, 126, 126, 120, 124, 124, 126, 126, 124, 124,
+  123, 120, 122, 122, 118, 120, 120, 120, 120, 118, 116, 116, 115, 116, 115, 115,
+  115, 114, 112, 114, 114, 112, 112, 112, 114, 116, 119, 123, 126, 122, 88, 21,
+  12, 13, 14, 20, 29, 87, 151, 173, 138, 131, 102, 88, 83, 84, 85, 88,
+  89, 89, 91, 91, 93, 92, 91, 91, 92, 87, 87, 83, 81, 76, 48, 21,
+  18, 20, 21, 21, 10, 59, 22, 22, 14, 14, 13, 17, 9, 10, 12, 10,
+  6, 6, 5, 5, 5, 6, 6, 6, 6, 5, 5, 5, 6, 8, 9, 10,
+  10, 10, 10, 12, 13, 16, 17, 25, 12, 17, 29, 49, 41, 51, 143, 140,
+  130, 123, 118, 108, 107, 99, 93, 99, 100, 106, 103, 100, 102, 108, 106, 106,
+  111, 110, 108, 108, 104, 100, 95, 93, 95, 92, 33, 38, 5, 4, 5, 4,
+  2, 4, 2, 4, 4, 1, 4, 2, 1, 10, 9, 6, 2, 9, 4, 0,
+  0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 1, 2,
+  1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 4, 4, 13, 9, 12, 17, 107, 150, 170, 154, 157, 131, 112,
+  106, 100, 97, 100, 93, 99, 100, 96, 96, 106, 107, 110, 107, 106, 102, 96,
+  96, 97, 95, 93, 87, 53, 20, 9, 5, 5, 5, 5, 4, 5, 4, 2,
+  4, 5, 5, 5, 5, 6, 6, 13, 9, 41, 14, 32, 75, 138, 158, 171,
+  186, 182, 169, 100, 21, 17, 49, 65, 56, 57, 48, 34, 60, 112, 214, 230,
+  230, 189, 132, 138, 142, 154, 161, 158, 146, 130, 28, 2, 4, 5, 9, 14,
+  29, 41, 85, 84, 83, 79, 57, 32, 40, 26, 38, 13, 0, 2, 2, 16,
+  1, 2, 9, 12, 2, 2, 9, 10, 10, 6, 10, 10, 10, 5, 5, 14,
+  13, 13, 12, 12, 12, 10, 9, 9, 9, 9, 9, 12, 10, 13, 20, 21,
+  30, 28, 37, 42, 40, 44, 48, 51, 63, 59, 30, 34, 42, 52, 37, 33,
+  29, 28, 32, 30, 28, 26, 28, 29, 29, 26, 25, 24, 22, 25, 29, 26,
+  24, 22, 20, 17, 14, 20, 29, 33, 14, 24, 37, 17, 20, 17, 38, 34,
+  44, 48, 46, 40, 33, 30, 34, 33, 30, 28, 32, 30, 30, 28, 29, 32,
+  32, 29, 30, 30, 24, 26, 26, 30, 24, 29, 55, 48, 49, 49, 52, 46,
+  33, 38, 33, 33, 36, 38, 36, 30, 32, 32, 30, 26, 29, 30, 28, 25,
+  32, 32, 29, 28, 34, 41, 42, 53, 57, 48, 46, 92, 140, 148, 158, 142,
+  147, 142, 146, 136, 139, 126, 114, 67, 36, 32, 30, 21, 20, 18, 32, 56,
+  63, 128, 165, 190, 199, 171, 119, 81, 61, 59, 55, 51, 51, 41, 41, 38,
+  42, 36, 38, 37, 37, 33, 36, 30, 30, 29, 32, 22, 36, 29, 33, 29,
+  29, 29, 29, 28, 21, 20, 18, 6, 5, 26, 83, 110, 72, 77, 79, 79,
+  73, 64, 69, 77, 83, 103, 89, 102, 103, 75, 81, 76, 84, 72, 45, 9,
+  55, 49, 61, 57, 26, 41, 55, 73, 60, 60, 60, 52, 52, 44, 40, 37,
+  32, 34, 32, 33, 28, 28, 25, 24, 22, 26, 22, 26, 24, 24, 22, 24,
+  21, 22, 20, 22, 21, 26, 24, 25, 24, 21, 24, 29, 34, 55, 89, 104,
+  114, 116, 118, 120, 120, 123, 124, 120, 106, 34, 13, 10, 12, 17, 28, 26,
+  45, 53, 52, 56, 59, 60, 17, 12, 12, 12, 9, 9, 9, 9, 6, 8,
+  8, 8, 9, 9, 9, 10, 9, 9, 10, 10, 8, 5, 8, 6, 8, 12,
+  14, 30, 38, 37, 45, 51, 41, 36, 36, 36, 25, 5, 32, 46, 40, 38,
+  26, 29, 25, 30, 20, 10, 16, 28, 49, 55, 52, 49, 45, 51, 45, 46,
+  48, 41, 36, 8, 33, 49, 51, 41, 65, 88, 84, 93, 81, 76, 71, 69,
+  68, 61, 38, 51, 36, 40, 36, 32, 28, 30, 29, 29, 28, 29, 28, 28,
+  29, 29, 28, 32, 32, 28, 8, 10, 55, 60, 61, 67, 68, 61, 72, 60,
+  56, 56, 21, 5, 53, 56, 63, 52, 56, 45, 51, 21, 12, 9, 8, 4,
+  9, 9, 8, 6, 5, 4, 6, 5, 2, 5, 4, 4, 2, 9, 12, 10,
+  5, 13, 10, 5, 2, 2, 5, 4, 6, 8, 8, 6, 6, 6, 8, 18,
+  24, 10, 17, 13, 96, 99, 104, 95, 102, 88, 76, 52, 40, 38, 25, 24,
+  22, 25, 18, 18, 18, 18, 13, 16, 14, 10, 9, 10, 13, 12, 10, 10,
+  8, 9, 22, 24, 34, 36, 21, 32, 40, 46, 52, 48, 45, 24, 22, 17,
+  12, 33, 34, 28, 13, 44, 81, 144, 189, 191, 187, 198, 186, 147, 100, 24,
+  24, 49, 63, 53, 41, 51, 49, 81, 159, 220, 230, 232, 175, 130, 132, 140,
+  151, 158, 153, 142, 106, 12, 4, 2, 5, 20, 41, 48, 55, 139, 128, 122,
+  116, 88, 77, 71, 64, 42, 5, 26, 89, 103, 87, 83, 93, 104, 89, 85,
+  84, 84, 84, 85, 91, 89, 89, 77, 65, 40, 33, 26, 18, 17, 16, 17,
+  18, 25, 26, 24, 26, 29, 37, 36, 38, 41, 40, 38, 46, 57, 68, 75,
+  72, 83, 76, 85, 71, 52, 25, 80, 68, 45, 41, 41, 37, 38, 37, 38,
+  40, 37, 26, 34, 44, 46, 41, 40, 41, 44, 37, 29, 22, 18, 17, 10,
+  13, 26, 28, 24, 21, 28, 26, 26, 30, 24, 5, 56, 45, 38, 37, 36,
+  33, 41, 33, 29, 29, 32, 29, 28, 18, 21, 33, 26, 29, 30, 32, 25,
+  32, 26, 25, 26, 51, 55, 48, 49, 49, 52, 49, 52, 44, 10, 67, 56,
+  40, 41, 30, 34, 37, 33, 30, 33, 33, 32, 34, 34, 37, 37, 34, 36,
+  37, 37, 46, 51, 53, 41, 48, 127, 136, 136, 140, 131, 128, 126, 124, 107,
+  64, 49, 38, 36, 32, 34, 22, 18, 29, 56, 85, 76, 131, 186, 195, 201,
+  158, 99, 51, 34, 29, 57, 34, 34, 32, 38, 40, 36, 33, 34, 36, 34,
+  34, 28, 30, 26, 28, 25, 28, 24, 18, 24, 29, 29, 28, 32, 33, 28,
+  36, 18, 6, 5, 91, 107, 97, 91, 77, 83, 79, 97, 88, 92, 52, 72,
+  80, 77, 76, 84, 84, 73, 72, 80, 84, 44, 5, 34, 61, 57, 65, 48,
+  25, 37, 41, 25, 20, 20, 34, 22, 24, 22, 22, 22, 22, 21, 17, 17,
+  16, 20, 13, 14, 14, 17, 14, 17, 14, 14, 14, 14, 14, 13, 10, 13,
+  13, 12, 12, 12, 12, 12, 12, 12, 13, 17, 22, 30, 41, 55, 69, 79,
+  87, 87, 71, 33, 13, 13, 12, 17, 18, 32, 33, 34, 28, 29, 30, 25,
+  33, 25, 25, 24, 20, 24, 21, 18, 17, 18, 17, 16, 16, 13, 14, 14,
+  13, 13, 12, 12, 13, 12, 12, 18, 12, 18, 14, 56, 84, 87, 84, 81,
+  87, 79, 76, 77, 49, 26, 1, 65, 51, 45, 41, 38, 49, 59, 40, 44,
+  29, 16, 60, 71, 65, 63, 61, 68, 63, 63, 61, 55, 49, 36, 8, 55,
+  48, 44, 63, 75, 64, 69, 61, 64, 61, 68, 45, 28, 29, 33, 29, 22,
+  20, 18, 17, 17, 18, 16, 16, 16, 16, 12, 12, 10, 8, 12, 9, 9,
+  6, 9, 12, 69, 71, 65, 64, 59, 55, 53, 56, 61, 72, 24, 5, 72,
+  56, 42, 56, 46, 48, 45, 41, 37, 26, 12, 4, 18, 42, 36, 22, 26,
+  37, 36, 22, 26, 33, 26, 16, 14, 26, 30, 29, 38, 34, 32, 26, 26,
+  12, 2, 10, 22, 30, 24, 22, 26, 18, 21, 22, 22, 12, 17, 6, 69,
+  77, 63, 45, 51, 48, 44, 26, 29, 29, 30, 20, 22, 20, 25, 18, 18,
+  16, 16, 13, 17, 14, 13, 17, 20, 17, 17, 17, 21, 26, 24, 26, 32,
+  38, 37, 26, 40, 57, 56, 26, 26, 49, 56, 51, 36, 34, 16, 12, 49,
+  76, 134, 190, 189, 174, 187, 136, 112, 91, 99, 24, 26, 49, 76, 75, 80,
+  65, 51, 88, 191, 222, 229, 228, 159, 128, 134, 139, 150, 151, 144, 134, 61,
+  5, 5, 2, 4, 21, 44, 41, 69, 107, 107, 111, 108, 95, 108, 91, 83,
+  45, 2, 107, 102, 93, 91, 91, 91, 85, 92, 89, 88, 83, 84, 85, 83,
+  79, 80, 80, 79, 91, 84, 61, 40, 36, 24, 42, 57, 59, 56, 56, 53,
+  52, 49, 52, 48, 42, 29, 36, 71, 80, 88, 83, 85, 81, 84, 87, 80,
+  64, 28, 79, 69, 67, 61, 63, 61, 57, 56, 51, 49, 45, 26, 42, 56,
+  65, 61, 60, 56, 59, 52, 42, 41, 38, 33, 10, 48, 49, 48, 59, 32,
+  37, 55, 34, 32, 33, 12, 56, 71, 61, 64, 61, 49, 48, 36, 32, 38,
+  30, 12, 21, 67, 36, 60, 45, 52, 38, 51, 38, 25, 17, 14, 26, 46,
+  56, 55, 52, 52, 63, 52, 46, 40, 9, 67, 71, 41, 48, 40, 40, 40,
+  40, 45, 37, 37, 26, 18, 32, 36, 45, 34, 40, 41, 48, 45, 46, 51,
+  51, 41, 103, 132, 115, 84, 69, 65, 61, 51, 49, 42, 42, 34, 30, 33,
+  26, 21, 37, 51, 55, 77, 79, 173, 186, 198, 197, 150, 97, 40, 34, 34,
+  33, 34, 33, 36, 42, 41, 41, 59, 84, 124, 136, 154, 162, 153, 142, 97,
+  52, 36, 29, 24, 26, 26, 21, 14, 17, 16, 21, 30, 21, 16, 17, 96,
+  107, 68, 56, 55, 59, 55, 51, 75, 48, 63, 88, 88, 75, 95, 67, 69,
+  63, 71, 73, 88, 41, 4, 45, 51, 72, 49, 41, 45, 25, 21, 21, 33,
+  37, 13, 17, 14, 16, 18, 9, 14, 12, 12, 9, 6, 9, 9, 10, 12,
+  12, 12, 10, 10, 10, 10, 12, 9, 12, 12, 12, 14, 14, 20, 14, 17,
+  17, 20, 14, 13, 10, 13, 13, 14, 14, 16, 14, 14, 16, 13, 13, 12,
+  12, 8, 17, 30, 40, 37, 30, 30, 28, 26, 24, 25, 24, 22, 28, 21,
+  24, 21, 20, 20, 17, 17, 14, 14, 14, 14, 16, 13, 12, 14, 12, 14,
+  16, 22, 26, 26, 22, 36, 67, 83, 79, 69, 68, 67, 69, 67, 75, 55,
+  30, 2, 57, 53, 60, 33, 48, 48, 44, 40, 44, 34, 16, 63, 80, 84,
+  79, 72, 77, 83, 77, 64, 64, 55, 38, 6, 55, 46, 51, 85, 88, 72,
+  64, 87, 57, 26, 29, 32, 33, 36, 24, 21, 20, 17, 17, 17, 17, 16,
+  13, 14, 14, 14, 12, 9, 9, 9, 10, 10, 8, 8, 10, 21, 68, 64,
+  53, 56, 59, 52, 44, 44, 46, 91, 22, 6, 67, 64, 65, 64, 61, 60,
+  53, 40, 41, 29, 12, 4, 37, 46, 45, 34, 32, 21, 26, 33, 24, 16,
+  17, 9, 21, 40, 59, 53, 55, 41, 48, 42, 25, 14, 5, 42, 51, 32,
+  32, 26, 26, 26, 25, 18, 16, 13, 17, 9, 48, 91, 65, 57, 42, 37,
+  44, 29, 29, 29, 28, 21, 21, 24, 25, 17, 20, 20, 17, 20, 16, 16,
+  18, 21, 18, 22, 24, 20, 21, 25, 26, 34, 25, 33, 13, 18, 57, 55,
+  77, 51, 25, 22, 26, 18, 22, 18, 12, 46, 79, 85, 171, 189, 173, 170,
+  139, 96, 89, 93, 68, 40, 32, 45, 69, 45, 51, 46, 63, 120, 204, 222,
+  229, 222, 142, 127, 132, 139, 148, 147, 140, 112, 20, 4, 5, 1, 4, 22,
+  41, 44, 59, 81, 88, 84, 77, 81, 79, 102, 79, 45, 10, 91, 108, 96,
+  107, 92, 89, 91, 84, 80, 77, 61, 49, 64, 84, 97, 97, 91, 93, 72,
+  80, 84, 67, 41, 29, 51, 63, 60, 63, 59, 61, 61, 57, 57, 61, 33,
+  28, 57, 85, 92, 88, 87, 80, 85, 84, 76, 64, 53, 30, 75, 73, 67,
+  67, 68, 63, 67, 56, 57, 59, 48, 28, 51, 55, 63, 63, 64, 75, 71,
+  68, 56, 55, 41, 33, 13, 51, 60, 49, 59, 59, 53, 51, 55, 34, 30,
+  9, 49, 69, 85, 88, 89, 64, 65, 53, 48, 34, 32, 9, 51, 75, 73,
+  65, 63, 59, 59, 60, 49, 44, 28, 13, 34, 53, 59, 44, 42, 51, 55,
+  53, 57, 28, 2, 75, 76, 71, 53, 33, 37, 28, 40, 34, 32, 36, 24,
+  16, 30, 67, 56, 56, 55, 55, 49, 49, 48, 51, 59, 41, 119, 127, 108,
+  85, 75, 61, 60, 53, 49, 41, 41, 33, 22, 21, 28, 33, 51, 53, 87,
+  81, 112, 170, 198, 197, 201, 136, 96, 63, 59, 60, 49, 45, 49, 64, 80,
+  112, 146, 179, 204, 216, 221, 225, 224, 217, 217, 208, 183, 153, 120, 65, 40,
+  25, 22, 20, 20, 16, 12, 26, 17, 13, 4, 69, 107, 55, 45, 57, 60,
+  56, 51, 71, 51, 67, 77, 85, 80, 85, 92, 83, 73, 75, 73, 81, 38,
+  5, 45, 49, 57, 48, 41, 24, 25, 26, 22, 21, 20, 12, 55, 34, 26,
+  24, 26, 40, 24, 30, 26, 25, 20, 21, 26, 16, 25, 29, 28, 25, 22,
+  22, 21, 18, 18, 20, 20, 32, 28, 30, 28, 30, 28, 28, 25, 28, 18,
+  16, 13, 14, 13, 10, 12, 12, 12, 13, 12, 13, 10, 5, 22, 37, 40,
+  42, 45, 41, 44, 38, 38, 28, 26, 24, 52, 53, 34, 32, 30, 24, 25,
+  29, 26, 10, 6, 25, 32, 36, 22, 17, 22, 29, 18, 33, 26, 30, 20,
+  30, 65, 77, 69, 71, 73, 64, 64, 53, 61, 65, 22, 4, 37, 60, 56,
+  55, 51, 61, 65, 44, 57, 29, 16, 59, 81, 81, 84, 80, 79, 85, 73,
+  79, 63, 55, 45, 8, 53, 40, 45, 57, 68, 107, 83, 64, 29, 33, 30,
+  46, 64, 61, 56, 40, 44, 44, 45, 37, 36, 25, 25, 24, 26, 22, 21,
+  20, 17, 17, 16, 14, 18, 13, 12, 10, 51, 75, 84, 56, 40, 52, 73,
+  49, 51, 71, 21, 8, 57, 63, 60, 56, 55, 49, 81, 36, 38, 37, 12,
+  5, 41, 46, 32, 44, 28, 33, 17, 18, 20, 29, 14, 10, 38, 57, 63,
+  60, 42, 30, 32, 53, 25, 16, 12, 46, 45, 29, 24, 25, 20, 32, 20,
+  21, 12, 13, 16, 5, 51, 72, 44, 63, 49, 56, 56, 36, 28, 29, 32,
+  25, 29, 28, 13, 20, 20, 20, 21, 18, 22, 21, 16, 21, 26, 26, 28,
+  24, 25, 26, 30, 28, 45, 34, 22, 5, 46, 59, 51, 42, 42, 16, 26,
+  16, 12, 21, 10, 51, 81, 102, 183, 179, 177, 146, 103, 93, 89, 110, 57,
+  40, 29, 51, 56, 57, 48, 48, 64, 143, 212, 220, 226, 205, 131, 128, 134,
+  140, 147, 143, 135, 71, 9, 5, 4, 1, 2, 22, 34, 26, 77, 77, 75,
+  88, 88, 84, 80, 84, 65, 42, 20, 72, 102, 103, 96, 106, 92, 95, 91,
+  93, 79, 60, 44, 83, 92, 93, 84, 77, 77, 80, 77, 79, 80, 49, 30,
+  64, 72, 71, 72, 67, 67, 65, 60, 59, 69, 33, 26, 59, 88, 89, 95,
+  93, 72, 73, 76, 75, 68, 45, 33, 73, 68, 65, 68, 64, 72, 67, 61,
+  60, 64, 51, 36, 53, 63, 76, 65, 53, 76, 64, 80, 64, 57, 49, 37,
+  14, 44, 64, 63, 53, 49, 49, 51, 55, 38, 34, 9, 60, 77, 83, 80,
+  83, 88, 67, 73, 57, 48, 34, 6, 60, 73, 85, 73, 69, 68, 72, 65,
+  64, 60, 26, 13, 57, 60, 67, 61, 45, 53, 72, 60, 52, 40, 8, 79,
+  75, 64, 59, 44, 36, 37, 48, 51, 48, 44, 28, 13, 61, 69, 71, 68,
+  67, 57, 59, 53, 55, 60, 57, 51, 108, 124, 111, 97, 84, 69, 63, 56,
+  46, 41, 41, 24, 21, 30, 30, 49, 49, 63, 83, 71, 84, 182, 191, 208,
+  177, 131, 99, 115, 119, 108, 118, 126, 150, 169, 194, 208, 218, 224, 225, 224,
+  222, 220, 220, 220, 217, 212, 213, 206, 206, 175, 108, 42, 22, 21, 17, 24,
+  18, 24, 32, 5, 4, 68, 103, 67, 51, 84, 59, 80, 67, 55, 42, 67,
+  93, 89, 72, 83, 77, 93, 88, 65, 65, 76, 46, 8, 52, 48, 59, 52,
+  52, 34, 33, 14, 24, 13, 29, 21, 41, 60, 52, 32, 36, 28, 38, 32,
+  32, 32, 33, 20, 18, 32, 33, 34, 37, 30, 30, 30, 32, 32, 33, 28,
+  26, 32, 38, 33, 34, 29, 32, 29, 30, 28, 18, 32, 37, 37, 37, 32,
+  33, 20, 17, 17, 12, 13, 10, 6, 28, 40, 46, 41, 36, 37, 40, 44,
+  41, 33, 26, 28, 48, 60, 38, 49, 46, 45, 33, 26, 28, 24, 8, 40,
+  40, 37, 38, 38, 34, 32, 28, 28, 25, 25, 24, 21, 60, 75, 76, 69,
+  68, 61, 63, 52, 59, 42, 29, 5, 53, 60, 72, 56, 48, 48, 53, 60,
+  53, 33, 22, 71, 84, 77, 76, 79, 84, 87, 84, 83, 75, 61, 41, 6,
+  53, 44, 55, 38, 52, 72, 93, 81, 29, 33, 28, 49, 67, 55, 52, 51,
+  52, 49, 51, 52, 51, 33, 33, 22, 34, 33, 29, 28, 28, 24, 21, 25,
+  25, 14, 12, 44, 65, 73, 60, 56, 48, 57, 48, 55, 53, 83, 28, 9,
+  69, 64, 59, 76, 51, 53, 48, 53, 37, 37, 13, 4, 40, 52, 34, 71,
+  40, 41, 40, 32, 24, 26, 14, 6, 49, 63, 64, 33, 26, 25, 26, 46,
+  25, 12, 5, 38, 45, 30, 26, 22, 21, 16, 18, 17, 16, 16, 18, 10,
+  57, 76, 64, 42, 49, 46, 60, 44, 46, 25, 24, 10, 8, 22, 18, 21,
+  18, 21, 14, 17, 20, 10, 12, 21, 38, 41, 40, 44, 22, 16, 18, 22,
+  29, 30, 25, 9, 52, 53, 49, 42, 32, 20, 24, 18, 14, 10, 10, 52,
+  81, 106, 185, 179, 146, 112, 96, 85, 103, 100, 73, 37, 30, 38, 61, 52,
+  40, 53, 96, 187, 216, 222, 228, 185, 124, 127, 132, 146, 143, 138, 114, 20,
+  5, 5, 4, 1, 2, 12, 40, 21, 49, 108, 76, 76, 80, 73, 81, 81,
+  88, 38, 2, 72, 108, 100, 97, 104, 99, 92, 89, 92, 71, 61, 42, 80,
+  87, 76, 84, 85, 87, 103, 91, 80, 83, 60, 38, 71, 76, 80, 73, 80,
+  73, 75, 64, 57, 64, 34, 24, 73, 91, 88, 89, 87, 71, 84, 77, 80,
+  65, 56, 37, 69, 76, 61, 77, 76, 61, 64, 69, 67, 68, 55, 36, 59,
+  72, 71, 68, 53, 65, 61, 75, 71, 64, 52, 37, 5, 46, 52, 63, 56,
+  51, 49, 52, 55, 38, 34, 10, 55, 76, 79, 71, 67, 67, 68, 64, 63,
+  49, 32, 8, 68, 85, 83, 73, 73, 67, 77, 75, 68, 59, 37, 14, 57,
+  63, 69, 53, 64, 53, 65, 59, 49, 41, 6, 76, 67, 59, 53, 53, 41,
+  42, 56, 59, 53, 44, 26, 13, 63, 65, 75, 69, 71, 59, 63, 63, 56,
+  49, 46, 44, 95, 119, 116, 92, 96, 88, 72, 67, 52, 48, 25, 17, 25,
+  45, 52, 52, 65, 53, 77, 69, 80, 155, 201, 204, 171, 119, 91, 111, 182,
+  186, 191, 199, 204, 209, 218, 220, 220, 220, 213, 208, 193, 190, 190, 179, 170,
+  159, 162, 166, 182, 198, 197, 151, 61, 29, 20, 16, 20, 20, 18, 1, 5,
+  89, 114, 80, 56, 55, 67, 52, 65, 64, 37, 67, 88, 84, 68, 65, 67,
+  68, 72, 72, 69, 71, 46, 9, 55, 34, 57, 44, 57, 52, 34, 30, 16,
+  12, 21, 21, 49, 53, 37, 45, 45, 32, 38, 44, 46, 38, 29, 13, 30,
+  48, 64, 60, 34, 34, 34, 40, 40, 38, 37, 21, 30, 57, 49, 51, 49,
+  34, 33, 33, 30, 29, 21, 30, 44, 38, 42, 36, 36, 30, 28, 28, 25,
+  25, 12, 5, 33, 40, 45, 51, 55, 55, 44, 30, 45, 34, 28, 22, 45,
+  45, 61, 44, 41, 44, 41, 33, 34, 26, 4, 46, 40, 25, 41, 37, 22,
+  24, 38, 30, 36, 28, 24, 16, 59, 75, 77, 59, 57, 51, 49, 61, 41,
+  48, 30, 1, 55, 60, 69, 53, 42, 38, 42, 49, 63, 36, 24, 77, 85,
+  93, 87, 80, 73, 75, 84, 85, 80, 67, 41, 6, 53, 40, 45, 36, 60,
+  68, 67, 49, 30, 34, 33, 52, 63, 61, 53, 52, 49, 52, 46, 45, 52,
+  52, 32, 26, 34, 37, 32, 30, 29, 29, 26, 30, 28, 17, 8, 59, 51,
+  71, 42, 52, 51, 56, 53, 48, 53, 65, 32, 9, 68, 64, 72, 75, 76,
+  75, 48, 53, 38, 37, 14, 4, 32, 53, 44, 46, 51, 38, 33, 38, 36,
+  28, 14, 14, 53, 63, 59, 25, 24, 37, 37, 40, 24, 16, 5, 56, 33,
+  36, 17, 17, 16, 17, 17, 20, 18, 16, 17, 8, 41, 85, 63, 55, 46,
+  59, 37, 48, 40, 37, 26, 6, 10, 18, 29, 25, 16, 16, 14, 17, 21,
+  12, 13, 42, 40, 40, 40, 30, 41, 36, 41, 28, 29, 25, 25, 16, 51,
+  56, 44, 40, 32, 18, 12, 16, 16, 13, 12, 44, 77, 84, 178, 177, 131,
+  102, 97, 95, 118, 112, 73, 25, 30, 40, 55, 52, 46, 72, 159, 202, 208,
+  222, 217, 146, 122, 127, 139, 142, 136, 123, 48, 6, 4, 4, 2, 1, 4,
+  20, 34, 25, 17, 108, 77, 76, 81, 85, 88, 83, 80, 37, 2, 80, 100,
+  95, 104, 102, 100, 97, 97, 85, 71, 56, 38, 79, 75, 84, 83, 96, 93,
+  95, 85, 87, 80, 72, 41, 75, 85, 87, 85, 77, 80, 71, 67, 61, 60,
+  32, 48, 80, 87, 87, 76, 81, 61, 65, 65, 67, 67, 64, 38, 60, 73,
+  63, 56, 61, 68, 72, 77, 64, 64, 65, 34, 59, 69, 67, 61, 60, 72,
+  67, 79, 71, 71, 53, 37, 8, 42, 60, 65, 52, 67, 55, 51, 52, 38,
+  36, 14, 56, 80, 72, 72, 72, 73, 72, 67, 67, 51, 32, 8, 63, 67,
+  76, 76, 77, 77, 81, 77, 76, 59, 32, 25, 61, 60, 69, 59, 65, 65,
+  79, 56, 46, 36, 6, 76, 76, 63, 57, 53, 69, 69, 69, 68, 63, 45,
+  26, 10, 65, 72, 72, 67, 68, 64, 67, 72, 57, 59, 61, 40, 83, 111,
+  112, 102, 84, 92, 77, 71, 56, 64, 29, 14, 38, 51, 65, 68, 65, 53,
+  100, 72, 93, 108, 177, 197, 174, 115, 103, 111, 148, 183, 193, 195, 202, 205,
+  206, 208, 199, 193, 185, 166, 147, 143, 143, 144, 136, 140, 136, 143, 146, 144,
+  155, 179, 169, 73, 18, 16, 22, 18, 16, 12, 14, 91, 95, 81, 56, 57,
+  65, 53, 64, 59, 37, 64, 88, 79, 69, 75, 68, 67, 63, 77, 76, 68,
+  45, 9, 46, 33, 67, 72, 60, 40, 29, 22, 21, 13, 26, 9, 42, 59,
+  44, 46, 34, 37, 42, 44, 44, 41, 28, 14, 42, 60, 59, 63, 65, 45,
+  44, 42, 38, 44, 33, 22, 56, 52, 56, 52, 51, 48, 36, 34, 36, 32,
+  21, 41, 40, 49, 44, 46, 42, 36, 29, 30, 30, 25, 12, 5, 37, 46,
+  45, 42, 38, 44, 44, 30, 37, 37, 29, 18, 46, 45, 56, 52, 57, 60,
+  44, 53, 32, 26, 4, 51, 41, 34, 40, 34, 44, 37, 44, 40, 41, 34,
+  24, 29, 59, 83, 59, 60, 56, 65, 52, 55, 64, 42, 32, 1, 65, 60,
+  55, 52, 61, 65, 67, 64, 51, 38, 21, 72, 80, 88, 99, 92, 85, 83,
+  84, 77, 83, 67, 41, 5, 52, 48, 46, 42, 71, 26, 29, 28, 29, 36,
+  30, 52, 61, 59, 63, 48, 61, 55, 53, 46, 49, 48, 40, 26, 30, 34,
+  44, 41, 44, 38, 37, 36, 28, 18, 8, 51, 75, 69, 51, 55, 71, 64,
+  63, 49, 45, 67, 24, 12, 64, 68, 55, 53, 56, 56, 56, 53, 37, 37,
+  17, 5, 41, 61, 32, 40, 34, 55, 44, 45, 37, 24, 13, 20, 53, 67,
+  38, 30, 26, 41, 42, 41, 22, 12, 5, 52, 57, 34, 30, 22, 25, 24,
+  24, 26, 21, 18, 18, 9, 48, 72, 81, 59, 53, 42, 29, 36, 36, 33,
+  22, 5, 22, 41, 38, 32, 26, 26, 25, 32, 22, 12, 8, 41, 34, 37,
+  26, 36, 41, 28, 40, 32, 30, 25, 14, 16, 49, 65, 32, 34, 25, 20,
+  14, 16, 14, 14, 10, 45, 67, 79, 127, 171, 143, 107, 99, 102, 126, 114,
+  53, 44, 36, 45, 49, 41, 69, 134, 198, 208, 212, 220, 193, 124, 123, 128,
+  143, 136, 128, 80, 10, 4, 8, 4, 2, 1, 2, 21, 34, 38, 18, 76,
+  80, 85, 99, 96, 89, 81, 80, 38, 4, 92, 103, 97, 102, 102, 100, 91,
+  99, 79, 68, 56, 36, 75, 100, 108, 100, 100, 97, 87, 83, 81, 81, 75,
+  44, 45, 69, 75, 69, 73, 72, 72, 65, 64, 60, 32, 52, 85, 89, 72,
+  69, 68, 71, 69, 71, 69, 64, 61, 38, 55, 80, 68, 65, 56, 67, 53,
+  61, 53, 52, 65, 38, 63, 72, 68, 67, 71, 73, 71, 60, 63, 73, 53,
+  36, 6, 46, 53, 65, 56, 56, 61, 52, 49, 42, 37, 9, 45, 79, 73,
+  73, 75, 73, 69, 71, 63, 49, 33, 5, 44, 83, 71, 83, 77, 80, 81,
+  80, 73, 72, 30, 10, 55, 67, 72, 65, 60, 61, 57, 59, 55, 28, 1,
+  72, 69, 52, 63, 56, 52, 51, 56, 53, 60, 44, 25, 9, 67, 59, 65,
+  65, 64, 65, 73, 85, 63, 59, 59, 46, 63, 107, 110, 100, 81, 88, 77,
+  76, 68, 60, 34, 17, 45, 64, 67, 61, 57, 56, 100, 77, 102, 77, 147,
+  205, 177, 107, 99, 100, 120, 130, 157, 166, 175, 178, 179, 173, 158, 140, 134,
+  138, 139, 140, 144, 154, 157, 161, 146, 139, 134, 128, 135, 136, 173, 146, 69,
+  16, 22, 16, 12, 8, 5, 75, 89, 79, 44, 55, 69, 57, 64, 55, 38,
+  64, 84, 87, 79, 68, 75, 69, 68, 81, 75, 71, 44, 12, 38, 40, 42,
+  46, 51, 51, 30, 22, 21, 13, 36, 8, 33, 48, 53, 52, 68, 65, 75,
+  73, 69, 45, 34, 6, 46, 60, 55, 65, 55, 53, 55, 67, 71, 49, 37,
+  20, 55, 49, 65, 52, 46, 52, 46, 45, 36, 33, 24, 42, 45, 45, 45,
+  41, 41, 38, 36, 32, 29, 24, 13, 4, 37, 48, 40, 34, 44, 60, 37,
+  40, 41, 34, 29, 18, 55, 52, 55, 46, 51, 51, 52, 55, 40, 21, 4,
+  49, 48, 57, 45, 42, 45, 52, 40, 38, 37, 42, 29, 18, 41, 75, 81,
+  81, 79, 73, 80, 81, 59, 55, 22, 0, 49, 61, 60, 68, 77, 64, 63,
+  61, 48, 38, 21, 56, 85, 83, 85, 81, 83, 84, 85, 93, 88, 80, 41,
+  5, 52, 36, 52, 65, 37, 56, 38, 44, 28, 36, 34, 51, 56, 69, 69,
+  53, 56, 61, 64, 57, 59, 51, 48, 29, 34, 44, 38, 41, 45, 42, 41,
+  41, 32, 17, 9, 64, 73, 67, 75, 59, 60, 57, 48, 48, 55, 68, 24,
+  14, 36, 68, 57, 48, 56, 56, 52, 46, 37, 34, 14, 5, 45, 53, 44,
+  40, 45, 46, 49, 37, 29, 20, 17, 12, 53, 64, 38, 25, 38, 33, 38,
+  37, 22, 14, 4, 51, 38, 40, 33, 45, 44, 53, 51, 45, 26, 20, 20,
+  9, 42, 76, 87, 85, 61, 64, 32, 32, 34, 28, 20, 14, 33, 33, 22,
+  30, 40, 40, 41, 29, 18, 12, 9, 46, 33, 33, 18, 42, 41, 34, 38,
+  28, 30, 29, 21, 9, 48, 63, 40, 32, 20, 20, 17, 30, 10, 17, 9,
+  33, 52, 72, 95, 131, 166, 111, 99, 126, 136, 96, 45, 45, 57, 44, 53,
+  71, 132, 186, 208, 209, 220, 209, 150, 120, 127, 138, 135, 124, 96, 20, 5,
+  5, 5, 5, 2, 1, 1, 14, 33, 5, 28, 77, 79, 79, 77, 79, 81,
+  83, 69, 33, 5, 65, 103, 96, 97, 96, 97, 100, 89, 71, 65, 57, 29,
+  84, 83, 91, 81, 95, 84, 83, 76, 72, 72, 68, 67, 46, 51, 60, 59,
+  69, 71, 72, 61, 63, 61, 28, 55, 81, 80, 69, 75, 76, 75, 69, 75,
+  65, 81, 57, 42, 55, 79, 75, 77, 67, 72, 61, 59, 57, 67, 51, 42,
+  67, 76, 71, 80, 63, 64, 73, 69, 71, 56, 53, 40, 10, 38, 60, 63,
+  63, 57, 64, 55, 55, 44, 40, 13, 72, 80, 85, 87, 77, 73, 73, 72,
+  68, 48, 33, 4, 61, 84, 72, 79, 81, 80, 88, 80, 76, 65, 42, 12,
+  59, 73, 77, 63, 64, 61, 61, 65, 49, 44, 5, 67, 81, 67, 81, 69,
+  81, 72, 71, 67, 63, 44, 25, 9, 71, 68, 69, 77, 64, 63, 61, 72,
+  72, 57, 63, 45, 55, 99, 102, 97, 97, 84, 80, 79, 73, 65, 36, 17,
+  53, 67, 68, 68, 69, 91, 75, 100, 65, 107, 84, 190, 189, 120, 108, 102,
+  107, 114, 127, 131, 132, 136, 132, 130, 123, 115, 114, 112, 116, 130, 140, 150,
+  154, 155, 158, 143, 140, 142, 139, 128, 138, 167, 80, 17, 16, 17, 13, 5,
+  5, 67, 93, 75, 57, 59, 61, 59, 65, 49, 32, 61, 83, 93, 93, 81,
+  80, 83, 83, 87, 73, 69, 44, 17, 37, 38, 51, 40, 37, 26, 24, 12,
+  18, 24, 21, 28, 41, 69, 67, 65, 65, 59, 67, 51, 44, 45, 29, 9,
+  44, 64, 67, 55, 56, 56, 53, 57, 55, 44, 37, 20, 72, 46, 69, 45,
+  56, 49, 48, 46, 49, 36, 22, 37, 45, 38, 38, 38, 44, 36, 36, 33,
+  33, 25, 14, 5, 37, 46, 40, 30, 40, 36, 36, 28, 29, 34, 26, 20,
+  51, 61, 57, 48, 46, 48, 53, 55, 36, 28, 12, 49, 46, 45, 59, 46,
+  45, 45, 48, 46, 51, 52, 40, 22, 38, 61, 71, 72, 69, 52, 56, 51,
+  51, 44, 32, 4, 52, 60, 59, 64, 61, 57, 51, 49, 51, 44, 32, 36,
+  73, 77, 79, 77, 76, 79, 79, 76, 77, 69, 46, 5, 49, 48, 33, 38,
+  28, 33, 33, 33, 33, 37, 37, 33, 57, 46, 49, 45, 51, 46, 49, 46,
+  51, 48, 48, 41, 32, 32, 32, 28, 32, 36, 37, 42, 32, 21, 9, 63,
+  73, 61, 49, 48, 55, 48, 49, 57, 68, 69, 34, 12, 21, 63, 71, 63,
+  71, 59, 53, 33, 34, 25, 14, 5, 38, 49, 53, 63, 49, 53, 46, 41,
+  38, 18, 16, 18, 52, 76, 51, 24, 26, 41, 42, 53, 26, 10, 4, 33,
+  51, 37, 36, 38, 30, 26, 30, 33, 40, 21, 22, 9, 38, 64, 77, 71,
+  53, 55, 24, 32, 33, 29, 16, 13, 40, 29, 32, 26, 25, 20, 22, 26,
+  20, 9, 9, 45, 26, 36, 38, 38, 32, 33, 33, 30, 30, 32, 22, 8,
+  46, 53, 33, 17, 26, 20, 17, 12, 14, 9, 14, 34, 40, 34, 59, 77,
+  155, 143, 100, 110, 132, 123, 56, 42, 52, 67, 107, 148, 185, 198, 204, 217,
+  213, 162, 119, 123, 135, 131, 120, 87, 18, 6, 5, 6, 5, 4, 2, 1,
+  1, 20, 25, 57, 65, 67, 65, 65, 65, 65, 65, 63, 61, 32, 13, 37,
+  71, 103, 107, 87, 88, 71, 69, 69, 51, 51, 29, 79, 77, 75, 76, 76,
+  79, 75, 64, 59, 57, 59, 56, 60, 71, 71, 61, 57, 57, 57, 55, 60,
+  48, 26, 71, 80, 87, 69, 69, 61, 64, 61, 60, 59, 64, 63, 52, 45,
+  61, 60, 55, 60, 59, 73, 64, 63, 67, 64, 57, 56, 55, 59, 68, 61,
+  56, 55, 55, 53, 52, 49, 38, 5, 36, 60, 56, 55, 53, 53, 53, 55,
+  56, 37, 16, 51, 68, 65, 67, 67, 68, 64, 77, 68, 48, 30, 6, 65,
+  84, 79, 73, 72, 76, 68, 75, 73, 61, 34, 6, 56, 61, 72, 71, 63,
+  71, 71, 64, 46, 42, 5, 61, 68, 67, 67, 64, 64, 63, 61, 59, 59,
+  42, 24, 8, 65, 67, 72, 68, 73, 68, 75, 61, 68, 68, 60, 48, 45,
+  76, 100, 87, 81, 71, 59, 61, 65, 63, 41, 16, 46, 64, 84, 75, 95,
+  107, 77, 112, 112, 100, 69, 111, 174, 132, 100, 102, 108, 111, 112, 107, 120,
+  116, 120, 112, 108, 104, 104, 108, 147, 153, 128, 148, 159, 154, 154, 162, 147,
+  146, 143, 143, 139, 163, 81, 13, 12, 14, 13, 2, 4, 63, 85, 75, 60,
+  55, 61, 59, 65, 52, 30, 63, 69, 83, 80, 73, 72, 68, 71, 68, 59,
+  56, 45, 16, 8, 28, 26, 9, 5, 20, 21, 2, 5, 12, 14, 30, 44,
+  60, 68, 56, 53, 48, 48, 45, 45, 49, 26, 9, 38, 59, 69, 61, 64,
+  67, 57, 61, 59, 46, 38, 21, 52, 45, 60, 48, 40, 40, 33, 30, 40,
+  37, 33, 33, 28, 32, 29, 29, 26, 25, 26, 28, 25, 24, 13, 4, 38,
+  53, 22, 22, 25, 21, 22, 24, 24, 26, 24, 25, 25, 36, 48, 48, 36,
+  34, 33, 32, 26, 29, 4, 46, 45, 42, 40, 40, 41, 42, 40, 40, 37,
+  38, 37, 34, 26, 24, 30, 32, 30, 28, 30, 30, 30, 32, 34, 1, 26,
+  52, 53, 51, 49, 49, 29, 26, 29, 33, 46, 48, 40, 52, 64, 57, 60,
+  59, 63, 69, 68, 57, 41, 5, 41, 29, 26, 29, 29, 29, 32, 34, 20,
+  18, 20, 38, 38, 41, 41, 45, 42, 44, 44, 45, 44, 45, 44, 44, 42,
+  48, 42, 42, 40, 30, 32, 40, 30, 24, 12, 60, 75, 55, 60, 64, 48,
+  67, 71, 57, 49, 46, 36, 13, 16, 59, 55, 59, 32, 29, 29, 20, 24,
+  20, 14, 4, 36, 41, 36, 21, 34, 34, 37, 26, 26, 21, 16, 17, 49,
+  61, 32, 33, 29, 38, 40, 56, 18, 13, 4, 48, 41, 42, 36, 32, 29,
+  29, 29, 26, 24, 24, 25, 10, 21, 34, 57, 51, 34, 24, 29, 25, 22,
+  29, 25, 13, 40, 30, 34, 24, 32, 25, 24, 21, 20, 10, 9, 38, 40,
+  36, 32, 33, 33, 32, 25, 28, 24, 22, 14, 9, 40, 49, 24, 9, 10,
+  13, 16, 14, 13, 10, 12, 24, 33, 32, 37, 57, 73, 170, 112, 107, 138,
+  130, 124, 120, 123, 150, 177, 182, 193, 195, 209, 206, 162, 116, 122, 130, 119,
+  111, 81, 22, 6, 6, 6, 5, 4, 4, 4, 1, 1, 12, 14, 12, 10,
+  38, 36, 34, 30, 26, 25, 21, 20, 16, 18, 20, 26, 32, 30, 38, 40,
+  48, 38, 48, 52, 42, 28, 42, 34, 40, 37, 30, 30, 36, 29, 28, 25,
+  29, 28, 34, 28, 34, 34, 49, 67, 69, 69, 49, 38, 26, 61, 67, 69,
+  61, 59, 53, 63, 60, 55, 64, 63, 59, 55, 59, 64, 72, 64, 63, 63,
+  61, 61, 61, 59, 57, 57, 56, 56, 34, 36, 25, 18, 17, 17, 16, 16,
+  13, 17, 5, 14, 16, 18, 20, 21, 25, 44, 52, 45, 37, 20, 5, 42,
+  60, 32, 40, 46, 60, 32, 45, 44, 24, 6, 32, 44, 36, 36, 44, 44,
+  37, 37, 45, 45, 18, 8, 32, 41, 30, 41, 37, 37, 28, 42, 34, 20,
+  6, 16, 38, 38, 37, 36, 40, 40, 38, 38, 41, 40, 21, 8, 48, 71,
+  65, 51, 49, 61, 61, 44, 49, 56, 61, 52, 56, 59, 53, 49, 56, 53,
+  55, 48, 45, 45, 36, 16, 49, 75, 76, 65, 64, 79, 80, 76, 85, 107,
+  108, 142, 174, 167, 112, 106, 97, 108, 99, 56, 45, 45, 46, 45, 42, 44,
+  44, 81, 103, 163, 123, 126, 153, 155, 159, 157, 154, 161, 147, 147, 140, 162,
+  91, 20, 12, 13, 2, 9, 8, 22, 42, 64, 83, 81, 75, 84, 55, 48,
+  30, 55, 56, 71, 69, 65, 52, 46, 44, 40, 40, 30, 22, 21, 25, 10,
+  13, 12, 10, 8, 9, 6, 6, 5, 5, 6, 14, 40, 46, 46, 44, 40,
+  60, 46, 56, 42, 16, 9, 32, 55, 49, 42, 51, 52, 49, 46, 49, 46,
+  38, 24, 63, 45, 37, 40, 38, 38, 38, 38, 36, 34, 33, 32, 33, 32,
+  32, 32, 30, 29, 28, 28, 28, 25, 25, 4, 18, 21, 17, 17, 20, 21,
+  20, 21, 21, 24, 21, 21, 24, 24, 25, 25, 24, 24, 24, 25, 24, 21,
+  4, 25, 29, 26, 28, 28, 29, 29, 29, 30, 30, 32, 32, 26, 30, 33,
+  32, 28, 34, 33, 29, 24, 34, 29, 22, 9, 33, 20, 17, 16, 20, 12,
+  18, 21, 13, 13, 22, 13, 28, 34, 30, 28, 42, 48, 44, 33, 48, 49,
+  29, 6, 37, 9, 10, 10, 10, 8, 8, 9, 9, 6, 6, 8, 6, 6,
+  6, 8, 8, 8, 8, 10, 10, 9, 10, 12, 14, 14, 16, 18, 21, 40,
+  38, 45, 32, 21, 9, 51, 69, 56, 67, 71, 64, 63, 51, 52, 36, 33,
+  24, 20, 12, 18, 18, 20, 22, 21, 14, 14, 12, 10, 17, 6, 12, 12,
+  12, 13, 13, 20, 28, 17, 14, 17, 16, 25, 32, 28, 21, 29, 20, 24,
+  28, 25, 20, 12, 4, 38, 36, 38, 38, 33, 30, 29, 28, 29, 26, 25,
+  26, 24, 25, 22, 22, 22, 22, 20, 22, 21, 22, 21, 20, 14, 36, 21,
+  25, 24, 22, 21, 14, 18, 20, 12, 6, 5, 8, 6, 8, 8, 6, 5,
+  6, 20, 18, 17, 9, 9, 33, 14, 9, 8, 10, 9, 5, 8, 8, 6,
+  21, 24, 12, 26, 26, 37, 42, 88, 132, 112, 123, 148, 151, 159, 167, 174,
+  181, 191, 194, 205, 198, 165, 120, 120, 119, 110, 96, 60, 18, 9, 6, 8,
+  4, 5, 5, 6, 2, 4, 0, 0, 0, 0, 0, 65, 60, 75, 77, 69,
+  63, 84, 80, 29, 6, 44, 73, 68, 52, 63, 57, 33, 29, 34, 32, 30,
+  28, 17, 21, 40, 48, 63, 68, 81, 81, 96, 103, 84, 67, 85, 93, 85,
+  76, 48, 37, 34, 30, 52, 45, 26, 42, 44, 36, 37, 29, 30, 22, 25,
+  24, 22, 24, 21, 17, 16, 13, 13, 12, 12, 12, 12, 12, 12, 13, 12,
+  10, 12, 21, 53, 69, 79, 77, 81, 80, 81, 75, 75, 42, 6, 79, 108,
+  107, 89, 53, 52, 44, 28, 26, 37, 29, 5, 1, 13, 9, 10, 1, 10,
+  6, 1, 1, 8, 6, 0, 0, 10, 2, 1, 1, 5, 2, 1, 4, 8,
+  8, 1, 1, 4, 13, 1, 0, 4, 1, 2, 0, 0, 4, 0, 0, 0,
+  1, 1, 1, 1, 1, 1, 2, 14, 5, 16, 13, 17, 16, 18, 24, 29,
+  44, 44, 46, 55, 37, 36, 29, 33, 29, 28, 28, 22, 21, 32, 26, 28,
+  18, 48, 52, 51, 60, 72, 72, 67, 96, 76, 110, 132, 146, 194, 189, 150,
+  110, 100, 102, 100, 32, 29, 28, 37, 34, 32, 37, 36, 56, 95, 154, 161,
+  126, 122, 150, 153, 155, 155, 162, 143, 144, 158, 151, 85, 17, 13, 10, 4,
+  2, 13, 18, 20, 26, 18, 17, 29, 29, 37, 51, 30, 51, 52, 46, 33,
+  34, 37, 34, 22, 24, 25, 18, 12, 6, 8, 9, 5, 4, 4, 2, 4,
+  2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 2, 4, 5, 5, 5,
+  6, 12, 14, 20, 18, 21, 21, 26, 34, 46, 49, 38, 25, 46, 34, 34,
+  28, 21, 22, 20, 16, 14, 14, 10, 8, 8, 8, 5, 4, 4, 6, 2,
+  2, 2, 6, 1, 1, 0, 1, 1, 0, 0, 1, 1, 1, 1, 2, 2,
+  2, 4, 5, 1, 2, 8, 9, 1, 4, 12, 13, 10, 2, 10, 9, 1,
+  1, 8, 1, 1, 5, 5, 0, 0, 0, 4, 1, 0, 2, 2, 0, 0,
+  0, 2, 0, 0, 8, 10, 20, 40, 63, 42, 48, 57, 71, 60, 45, 25,
+  17, 42, 60, 60, 45, 46, 22, 12, 12, 9, 13, 9, 5, 6, 26, 28,
+  22, 22, 33, 29, 33, 26, 41, 20, 1, 16, 75, 96, 59, 69, 77, 88,
+  67, 69, 64, 64, 60, 68, 76, 76, 65, 32, 22, 21, 21, 32, 18, 9,
+  24, 22, 22, 21, 24, 21, 21, 22, 24, 22, 24, 21, 20, 16, 9, 6,
+  14, 21, 10, 12, 38, 59, 64, 36, 6, 45, 59, 56, 22, 20, 18, 22,
+  14, 20, 10, 34, 17, 12, 8, 8, 13, 8, 20, 17, 21, 13, 14, 17,
+  6, 18, 18, 30, 14, 17, 16, 18, 16, 20, 20, 16, 16, 18, 18, 16,
+  17, 20, 17, 16, 16, 21, 17, 6, 18, 36, 26, 26, 21, 25, 28, 30,
+  41, 29, 21, 8, 45, 65, 65, 51, 64, 61, 59, 29, 21, 17, 8, 4,
+  2, 9, 25, 33, 33, 36, 29, 32, 20, 28, 14, 14, 36, 75, 96, 65,
+  63, 65, 53, 127, 151, 138, 146, 123, 126, 128, 144, 147, 154, 153, 155, 140,
+  127, 131, 107, 72, 53, 29, 10, 9, 9, 8, 5, 9, 12, 18, 17, 21,
+  1, 0, 18, 64, 64, 61, 115, 114, 110, 108, 96, 102, 96, 92, 61, 18,
+  44, 59, 55, 59, 68, 63, 63, 64, 53, 55, 30, 18, 52, 112, 123, 115,
+  116, 115, 114, 107, 103, 89, 102, 107, 106, 107, 99, 108, 106, 97, 87, 76,
+  51, 48, 25, 28, 33, 42, 48, 61, 67, 91, 76, 83, 67, 48, 45, 53,
+  100, 107, 100, 89, 112, 103, 80, 108, 95, 96, 88, 93, 91, 97, 112, 96,
+  89, 76, 87, 91, 79, 87, 77, 45, 9, 80, 106, 106, 99, 107, 107, 83,
+  93, 57, 38, 29, 42, 60, 60, 59, 51, 46, 34, 46, 36, 12, 14, 4,
+  24, 108, 104, 72, 76, 99, 97, 76, 76, 73, 28, 2, 18, 67, 81, 53,
+  56, 53, 52, 61, 52, 26, 10, 44, 57, 60, 46, 42, 46, 46, 44, 42,
+  33, 29, 4, 6, 81, 99, 96, 80, 95, 69, 30, 21, 18, 17, 14, 16,
+  20, 34, 52, 56, 61, 61, 65, 73, 71, 69, 51, 18, 85, 87, 88, 75,
+  107, 80, 88, 75, 84, 126, 143, 199, 202, 190, 177, 119, 104, 100, 110, 30,
+  28, 30, 29, 32, 26, 28, 42, 55, 92, 175, 177, 119, 126, 110, 127, 134,
+  130, 126, 154, 150, 138, 97, 68, 17, 13, 5, 20, 16, 20, 69, 80, 63,
+  63, 38, 30, 30, 28, 44, 22, 18, 29, 41, 44, 46, 37, 42, 41, 60,
+  56, 59, 61, 96, 91, 100, 89, 97, 91, 84, 102, 97, 89, 91, 83, 81,
+  84, 88, 100, 81, 85, 73, 44, 52, 41, 30, 2, 9, 69, 103, 108, 77,
+  73, 61, 55, 45, 48, 30, 34, 26, 28, 42, 40, 44, 29, 41, 41, 64,
+  36, 33, 37, 72, 96, 100, 83, 71, 84, 87, 80, 79, 85, 77, 13, 2,
+  45, 104, 75, 77, 72, 80, 77, 85, 95, 91, 88, 77, 88, 89, 104, 88,
+  87, 87, 88, 84, 81, 16, 5, 26, 91, 110, 84, 87, 89, 89, 87, 95,
+  92, 93, 95, 89, 97, 108, 104, 102, 96, 92, 88, 80, 85, 80, 18, 1,
+  44, 72, 83, 88, 81, 79, 83, 73, 80, 71, 34, 14, 44, 73, 59, 59,
+  53, 51, 56, 48, 45, 36, 9, 28, 69, 79, 76, 75, 69, 64, 40, 42,
+  53, 36, 22, 1, 80, 84, 67, 72, 68, 77, 65, 80, 63, 65, 59, 63,
+  42, 59, 72, 60, 55, 65, 64, 57, 45, 26, 9, 8, 8, 6, 5, 6,
+  6, 6, 5, 5, 6, 6, 6, 6, 13, 61, 76, 69, 61, 67, 57, 60,
+  65, 64, 46, 6, 53, 69, 60, 55, 44, 42, 36, 48, 49, 38, 8, 13,
+  63, 75, 72, 65, 59, 44, 22, 12, 12, 10, 4, 0, 0, 4, 2, 0,
+  0, 2, 1, 0, 0, 1, 0, 0, 1, 1, 1, 0, 6, 1, 1, 1,
+  10, 2, 2, 17, 33, 49, 79, 80, 83, 81, 79, 73, 36, 26, 8, 53,
+  65, 42, 48, 53, 45, 44, 42, 55, 46, 32, 10, 5, 45, 65, 73, 72,
+  67, 75, 65, 65, 29, 16, 14, 100, 110, 88, 97, 85, 97, 89, 99, 41,
+  61, 61, 88, 89, 99, 134, 135, 132, 127, 132, 131, 116, 84, 57, 22, 12,
+  13, 14, 13, 8, 6, 10, 17, 13, 20, 29, 8, 1, 4, 42, 68, 83,
+  84, 84, 91, 91, 103, 99, 104, 95, 100, 63, 18, 59, 61, 72, 52, 65,
+  65, 48, 72, 72, 55, 29, 14, 103, 111, 104, 80, 85, 81, 75, 79, 84,
+  79, 91, 67, 84, 89, 110, 111, 103, 106, 97, 97, 64, 59, 25, 69, 97,
+  93, 97, 92, 97, 92, 106, 119, 83, 73, 73, 56, 72, 111, 103, 84, 89,
+  104, 111, 118, 112, 96, 95, 97, 77, 79, 92, 92, 87, 88, 80, 76, 76,
+  77, 80, 53, 6, 91, 108, 102, 104, 97, 97, 96, 102, 80, 56, 30, 53,
+  65, 63, 68, 61, 60, 65, 75, 65, 30, 9, 12, 83, 107, 95, 89, 89,
+  91, 96, 96, 93, 88, 33, 0, 89, 96, 100, 95, 88, 84, 88, 81, 76,
+  51, 13, 67, 59, 56, 44, 48, 36, 37, 26, 25, 25, 32, 1, 5, 83,
+  97, 99, 96, 93, 88, 85, 92, 84, 80, 67, 75, 59, 72, 89, 80, 88,
+  84, 99, 100, 93, 84, 51, 18, 92, 104, 96, 112, 87, 100, 80, 83, 111,
+  144, 197, 198, 194, 198, 170, 111, 104, 106, 110, 36, 28, 25, 30, 32, 28,
+  46, 40, 60, 87, 186, 186, 123, 120, 127, 123, 92, 103, 99, 83, 76, 87,
+  72, 49, 13, 13, 6, 18, 14, 45, 85, 77, 79, 71, 76, 76, 65, 68,
+  36, 25, 42, 100, 104, 96, 95, 93, 104, 85, 99, 53, 83, 71, 69, 87,
+  81, 93, 85, 77, 81, 88, 75, 72, 80, 73, 76, 65, 46, 33, 61, 38,
+  42, 37, 36, 41, 33, 2, 8, 83, 118, 100, 96, 108, 107, 87, 96, 104,
+  69, 52, 28, 55, 95, 99, 96, 95, 87, 95, 99, 93, 110, 89, 64, 61,
+  65, 64, 61, 69, 76, 64, 77, 69, 76, 38, 4, 99, 91, 60, 71, 85,
+  79, 85, 69, 81, 91, 88, 79, 59, 55, 61, 51, 46, 59, 59, 52, 48,
+  18, 0, 97, 119, 115, 116, 112, 116, 111, 112, 106, 104, 108, 103, 80, 63,
+  75, 77, 76, 81, 81, 81, 64, 63, 68, 18, 12, 60, 79, 80, 60, 52,
+  61, 56, 57, 57, 76, 37, 20, 55, 71, 52, 59, 56, 69, 53, 34, 55,
+  37, 9, 22, 73, 72, 57, 75, 61, 65, 71, 57, 36, 32, 22, 4, 79,
+  79, 60, 59, 51, 64, 72, 72, 64, 73, 40, 32, 59, 72, 60, 57, 53,
+  51, 49, 57, 32, 32, 12, 17, 80, 89, 71, 60, 81, 89, 85, 81, 85,
+  77, 75, 68, 71, 75, 92, 93, 87, 83, 64, 60, 52, 59, 42, 8, 48,
+  68, 65, 64, 61, 61, 56, 36, 30, 12, 8, 49, 104, 102, 110, 97, 100,
+  89, 85, 77, 48, 22, 5, 57, 64, 75, 61, 76, 61, 69, 55, 65, 60,
+  63, 51, 52, 85, 69, 83, 76, 83, 84, 63, 73, 100, 75, 25, 18, 60,
+  83, 75, 72, 59, 57, 48, 57, 45, 21, 6, 51, 64, 67, 42, 48, 53,
+  52, 48, 44, 41, 44, 13, 6, 55, 64, 72, 67, 67, 67, 59, 36, 22,
+  12, 9, 108, 85, 96, 96, 95, 75, 130, 127, 56, 44, 36, 32, 38, 42,
+  59, 65, 56, 59, 57, 51, 33, 18, 13, 10, 13, 13, 13, 2, 4, 9,
+  20, 21, 13, 25, 10, 9, 0, 2, 38, 73, 55, 57, 77, 80, 87, 96,
+  102, 96, 95, 97, 55, 8, 42, 59, 67, 60, 57, 52, 68, 63, 68, 49,
+  29, 16, 107, 108, 83, 73, 87, 85, 102, 89, 73, 79, 83, 61, 81, 99,
+  81, 97, 92, 97, 99, 96, 93, 57, 26, 87, 99, 104, 84, 80, 76, 76,
+  71, 69, 64, 76, 71, 53, 108, 115, 106, 97, 103, 99, 97, 87, 100, 83,
+  80, 60, 96, 99, 80, 75, 73, 79, 77, 81, 69, 77, 67, 49, 6, 84,
+  97, 92, 104, 99, 96, 89, 92, 75, 57, 32, 59, 51, 72, 79, 77, 84,
+  88, 80, 63, 33, 9, 2, 111, 104, 81, 84, 84, 81, 80, 75, 81, 77,
+  33, 10, 95, 72, 77, 79, 83, 89, 88, 89, 71, 63, 17, 61, 49, 41,
+  34, 21, 14, 34, 24, 13, 26, 34, 1, 2, 76, 96, 83, 79, 71, 77,
+  89, 91, 83, 79, 52, 42, 87, 103, 99, 92, 85, 91, 87, 93, 93, 80,
+  55, 20, 88, 93, 107, 99, 123, 104, 83, 91, 116, 173, 199, 197, 195, 194,
+  138, 107, 106, 103, 97, 26, 24, 25, 28, 22, 36, 46, 36, 56, 88, 201,
+  193, 175, 122, 124, 144, 135, 134, 134, 130, 130, 111, 100, 48, 13, 10, 6,
+  21, 13, 48, 87, 69, 84, 75, 71, 65, 69, 61, 38, 22, 76, 88, 79,
+  85, 88, 80, 72, 68, 65, 89, 73, 60, 83, 93, 95, 87, 75, 76, 60,
+  67, 64, 76, 64, 61, 33, 52, 48, 28, 28, 30, 29, 41, 38, 45, 28,
+  6, 6, 77, 123, 104, 108, 95, 93, 103, 103, 108, 112, 63, 29, 77, 100,
+  103, 96, 107, 92, 99, 92, 81, 85, 57, 71, 88, 83, 80, 73, 68, 71,
+  80, 80, 73, 75, 51, 5, 95, 57, 96, 88, 60, 64, 89, 75, 69, 69,
+  72, 45, 64, 77, 88, 92, 81, 79, 80, 59, 57, 21, 8, 102, 115, 110,
+  89, 93, 97, 104, 100, 107, 99, 104, 83, 61, 88, 89, 85, 80, 80, 81,
+  69, 69, 64, 56, 25, 1, 59, 80, 71, 56, 59, 56, 72, 73, 67, 71,
+  36, 18, 59, 64, 38, 57, 36, 44, 38, 36, 67, 37, 9, 21, 67, 65,
+  61, 59, 57, 67, 64, 63, 36, 33, 21, 2, 51, 77, 64, 64, 48, 46,
+  60, 45, 63, 48, 38, 29, 56, 72, 67, 59, 52, 61, 56, 48, 37, 32,
+  12, 46, 92, 84, 83, 81, 84, 87, 84, 80, 71, 68, 64, 40, 72, 93,
+  75, 61, 71, 64, 63, 67, 52, 69, 34, 9, 45, 51, 75, 38, 36, 37,
+  22, 17, 22, 8, 5, 64, 104, 102, 84, 89, 91, 102, 95, 96, 68, 36,
+  9, 49, 56, 33, 48, 63, 79, 44, 34, 56, 38, 37, 48, 57, 63, 85,
+  99, 97, 95, 83, 81, 83, 93, 80, 46, 30, 64, 72, 55, 59, 59, 63,
+  63, 64, 34, 22, 6, 55, 65, 65, 38, 38, 49, 37, 49, 51, 49, 41,
+  12, 5, 57, 69, 63, 51, 57, 56, 52, 32, 18, 10, 6, 81, 97, 81,
+  107, 115, 97, 97, 48, 65, 56, 51, 29, 33, 24, 24, 29, 20, 24, 20,
+  21, 18, 16, 14, 10, 13, 5, 5, 13, 22, 21, 18, 17, 18, 26, 10,
+  2, 0, 0, 44, 67, 48, 12, 112, 106, 102, 79, 80, 99, 91, 91, 55,
+  6, 53, 64, 68, 81, 61, 57, 52, 60, 61, 34, 24, 14, 83, 111, 79,
+  83, 69, 88, 76, 89, 73, 81, 85, 63, 77, 93, 75, 79, 87, 107, 100,
+  87, 93, 65, 26, 83, 104, 79, 81, 75, 73, 73, 68, 65, 73, 71, 37,
+  22, 111, 112, 100, 107, 95, 99, 95, 95, 107, 77, 81, 55, 91, 93, 77,
+  79, 79, 73, 89, 89, 80, 72, 81, 45, 6, 80, 99, 93, 97, 92, 85,
+  76, 106, 96, 59, 41, 37, 60, 61, 77, 69, 51, 63, 71, 57, 5, 9,
+  2, 72, 103, 79, 84, 81, 88, 79, 87, 85, 84, 36, 1, 61, 85, 89,
+  68, 67, 72, 73, 103, 84, 41, 20, 26, 46, 46, 33, 18, 24, 10, 17,
+  16, 14, 22, 1, 4, 71, 92, 93, 72, 64, 69, 71, 69, 67, 51, 55,
+  46, 102, 102, 91, 112, 83, 89, 87, 91, 93, 84, 60, 24, 93, 96, 92,
+  69, 67, 85, 77, 103, 144, 202, 198, 198, 190, 140, 111, 100, 103, 114, 56,
+  24, 24, 24, 25, 36, 38, 48, 46, 69, 92, 201, 202, 187, 122, 124, 128,
+  143, 147, 148, 147, 143, 135, 116, 56, 12, 14, 5, 18, 10, 37, 83, 71,
+  75, 73, 88, 87, 71, 67, 46, 24, 79, 81, 81, 72, 79, 85, 71, 68,
+  71, 72, 69, 52, 79, 93, 69, 64, 81, 67, 71, 61, 61, 65, 68, 59,
+  30, 49, 67, 64, 55, 34, 17, 46, 21, 22, 25, 6, 8, 91, 112, 95,
+  99, 104, 106, 102, 99, 97, 93, 71, 36, 85, 102, 87, 84, 85, 83, 81,
+  85, 77, 59, 52, 76, 91, 68, 76, 76, 75, 72, 73, 73, 76, 83, 32,
+  5, 51, 87, 65, 79, 79, 76, 83, 87, 84, 76, 59, 41, 65, 77, 71,
+  61, 52, 60, 61, 73, 65, 18, 6, 75, 115, 107, 114, 102, 100, 103, 108,
+  106, 111, 93, 79, 60, 91, 95, 73, 81, 77, 79, 80, 81, 76, 52, 22,
+  1, 57, 84, 69, 52, 53, 56, 61, 55, 60, 65, 38, 25, 44, 75, 42,
+  44, 48, 42, 52, 41, 51, 29, 9, 21, 44, 68, 57, 49, 48, 59, 63,
+  64, 36, 36, 22, 0, 49, 85, 52, 65, 46, 51, 56, 41, 63, 41, 33,
+  21, 65, 73, 71, 61, 38, 45, 48, 60, 55, 45, 12, 63, 93, 77, 59,
+  61, 64, 75, 64, 77, 68, 60, 42, 37, 72, 88, 69, 72, 68, 64, 55,
+  53, 56, 64, 34, 10, 51, 57, 36, 38, 18, 25, 22, 24, 9, 6, 2,
+  52, 102, 99, 83, 89, 88, 88, 84, 103, 75, 40, 6, 48, 49, 79, 64,
+  73, 87, 34, 55, 57, 36, 44, 53, 42, 80, 97, 89, 88, 75, 84, 85,
+  84, 81, 76, 55, 20, 72, 64, 61, 42, 46, 40, 46, 60, 44, 22, 9,
+  49, 69, 72, 38, 37, 36, 41, 36, 33, 46, 26, 10, 4, 56, 60, 64,
+  37, 42, 30, 30, 29, 21, 13, 9, 88, 93, 95, 79, 89, 68, 104, 64,
+  67, 56, 53, 45, 36, 25, 24, 21, 21, 18, 17, 14, 16, 14, 13, 10,
+  5, 6, 16, 21, 22, 30, 17, 14, 17, 30, 12, 21, 0, 0, 41, 67,
+  37, 59, 77, 80, 80, 96, 80, 77, 89, 84, 60, 14, 52, 52, 64, 60,
+  60, 63, 57, 69, 55, 40, 36, 13, 85, 103, 89, 71, 88, 77, 77, 72,
+  75, 85, 75, 57, 87, 99, 93, 84, 93, 108, 95, 85, 102, 64, 32, 71,
+  96, 75, 76, 71, 67, 84, 79, 77, 75, 68, 46, 20, 111, 112, 106, 99,
+  92, 100, 83, 84, 88, 71, 73, 53, 91, 93, 79, 81, 79, 84, 69, 77,
+  88, 71, 72, 48, 8, 83, 96, 85, 115, 100, 83, 89, 99, 88, 64, 42,
+  55, 51, 56, 45, 32, 42, 45, 38, 49, 12, 6, 1, 71, 99, 76, 83,
+  87, 85, 85, 89, 87, 80, 34, 1, 68, 81, 80, 76, 69, 67, 68, 83,
+  77, 44, 18, 56, 65, 24, 29, 13, 32, 13, 12, 28, 24, 22, 0, 2,
+  79, 93, 88, 69, 73, 76, 80, 75, 64, 55, 36, 42, 97, 106, 89, 97,
+  77, 91, 103, 102, 91, 76, 56, 29, 79, 85, 93, 73, 68, 79, 67, 100,
+  181, 198, 197, 194, 146, 115, 100, 107, 111, 65, 38, 21, 25, 25, 26, 36,
+  41, 48, 48, 64, 89, 209, 206, 195, 120, 122, 128, 131, 139, 143, 146, 147,
+  140, 120, 57, 10, 10, 5, 21, 9, 42, 84, 68, 73, 71, 87, 87, 68,
+  79, 38, 24, 71, 79, 87, 96, 96, 100, 71, 63, 61, 71, 60, 49, 73,
+  92, 75, 75, 61, 73, 75, 76, 60, 80, 65, 53, 36, 61, 57, 48, 28,
+  21, 10, 16, 18, 25, 21, 4, 6, 91, 114, 111, 92, 114, 99, 97, 97,
+  91, 96, 68, 42, 73, 97, 80, 77, 72, 95, 79, 67, 75, 63, 44, 79,
+  93, 69, 68, 75, 67, 75, 69, 72, 76, 79, 33, 5, 55, 83, 92, 56,
+  59, 81, 67, 68, 69, 71, 57, 38, 63, 93, 81, 48, 71, 87, 73, 56,
+  56, 17, 0, 89, 110, 108, 106, 99, 100, 92, 93, 93, 102, 95, 75, 57,
+  87, 85, 67, 69, 75, 79, 79, 81, 64, 61, 22, 1, 51, 75, 63, 60,
+  52, 59, 45, 60, 60, 65, 42, 24, 48, 64, 34, 32, 46, 46, 45, 51,
+  52, 29, 12, 18, 60, 67, 48, 75, 52, 68, 65, 41, 38, 37, 18, 1,
+  73, 71, 57, 64, 44, 42, 52, 38, 73, 42, 33, 25, 56, 68, 80, 65,
+  68, 56, 44, 42, 49, 32, 14, 53, 95, 88, 85, 67, 71, 52, 59, 59,
+  65, 32, 30, 21, 67, 80, 59, 56, 53, 44, 52, 53, 65, 57, 37, 14,
+  44, 61, 34, 29, 24, 38, 24, 25, 9, 6, 4, 56, 103, 100, 83, 99,
+  89, 83, 81, 93, 67, 42, 6, 34, 41, 56, 67, 46, 51, 48, 57, 29,
+  51, 49, 52, 8, 77, 95, 76, 88, 92, 84, 96, 100, 96, 81, 52, 22,
+  63, 67, 51, 45, 44, 44, 59, 60, 65, 33, 8, 52, 55, 65, 38, 40,
+  44, 41, 37, 53, 44, 40, 14, 2, 49, 76, 60, 41, 33, 42, 34, 28,
+  24, 13, 8, 100, 104, 88, 91, 63, 65, 83, 64, 65, 52, 56, 55, 48,
+  22, 33, 21, 24, 22, 21, 16, 14, 14, 17, 9, 2, 6, 17, 26, 29,
+  26, 30, 22, 22, 21, 13, 5, 0, 6, 49, 61, 40, 30, 114, 114, 93,
+  92, 96, 91, 89, 102, 63, 10, 34, 60, 65, 52, 75, 55, 59, 45, 57,
+  36, 24, 12, 85, 108, 87, 89, 89, 77, 85, 84, 77, 84, 69, 56, 81,
+  88, 85, 72, 93, 99, 93, 83, 100, 64, 34, 75, 96, 83, 83, 61, 69,
+  83, 72, 69, 69, 68, 59, 41, 116, 120, 92, 104, 77, 92, 85, 88, 83,
+  79, 77, 53, 92, 87, 80, 83, 87, 72, 81, 85, 85, 69, 73, 49, 8,
+  79, 91, 97, 92, 102, 81, 85, 107, 81, 65, 36, 59, 69, 48, 55, 59,
+  55, 53, 41, 32, 20, 5, 10, 77, 100, 91, 87, 89, 96, 97, 89, 92,
+  79, 34, 0, 79, 83, 64, 77, 76, 67, 69, 72, 67, 53, 24, 51, 57,
+  40, 24, 16, 29, 6, 13, 17, 16, 20, 0, 2, 83, 93, 88, 79, 79,
+  72, 81, 88, 69, 55, 40, 53, 107, 99, 96, 84, 72, 92, 95, 84, 80,
+  79, 56, 29, 81, 89, 96, 79, 91, 64, 61, 99, 190, 199, 193, 155, 116,
+  97, 119, 57, 55, 37, 22, 24, 22, 26, 25, 32, 40, 42, 49, 75, 115,
+  208, 205, 198, 118, 118, 126, 128, 131, 135, 143, 147, 140, 116, 48, 9, 8,
+  5, 16, 13, 48, 83, 68, 72, 71, 88, 73, 80, 56, 44, 30, 71, 92,
+  77, 93, 83, 81, 91, 80, 59, 68, 59, 46, 80, 92, 89, 55, 89, 65,
+  71, 60, 79, 72, 65, 46, 40, 32, 53, 38, 24, 12, 12, 20, 20, 28,
+  17, 1, 5, 95, 112, 92, 95, 103, 114, 103, 91, 103, 97, 72, 42, 64,
+  102, 85, 79, 97, 84, 67, 75, 64, 53, 40, 79, 95, 69, 79, 88, 81,
+  87, 92, 76, 72, 75, 38, 9, 60, 76, 84, 60, 73, 85, 77, 68, 76,
+  68, 57, 36, 60, 76, 73, 65, 60, 59, 59, 59, 59, 18, 0, 88, 112,
+  108, 108, 103, 107, 99, 93, 95, 99, 91, 52, 63, 89, 76, 67, 79, 89,
+  88, 71, 63, 63, 56, 21, 17, 69, 76, 60, 56, 52, 68, 53, 64, 64,
+  65, 44, 29, 52, 75, 34, 30, 51, 53, 55, 44, 44, 26, 10, 17, 57,
+  64, 55, 65, 55, 64, 45, 41, 41, 40, 21, 8, 68, 67, 45, 56, 40,
+  41, 55, 36, 56, 42, 32, 25, 51, 69, 67, 72, 72, 59, 34, 45, 46,
+  32, 17, 41, 89, 81, 84, 63, 60, 63, 89, 65, 59, 33, 33, 34, 67,
+  77, 61, 55, 52, 68, 71, 61, 68, 61, 42, 14, 44, 56, 37, 25, 12,
+  18, 16, 33, 13, 6, 6, 65, 102, 96, 84, 99, 84, 84, 91, 95, 69,
+  41, 6, 53, 44, 53, 57, 40, 51, 59, 38, 26, 37, 44, 25, 5, 79,
+  93, 89, 96, 95, 85, 83, 84, 80, 81, 53, 26, 57, 69, 61, 40, 44,
+  41, 49, 55, 56, 33, 6, 42, 63, 59, 38, 40, 33, 38, 33, 33, 42,
+  34, 14, 4, 55, 63, 61, 40, 24, 33, 30, 18, 22, 12, 6, 102, 93,
+  93, 64, 76, 81, 49, 65, 55, 59, 56, 52, 44, 26, 37, 25, 22, 16,
+  18, 13, 22, 21, 17, 9, 4, 8, 17, 26, 21, 25, 29, 14, 20, 6,
+  18, 5, 0, 1, 36, 63, 24, 18, 88, 100, 104, 97, 95, 88, 91, 88,
+  59, 10, 46, 55, 61, 59, 52, 51, 55, 53, 56, 38, 25, 13, 77, 100,
+  77, 77, 80, 80, 85, 81, 79, 67, 68, 45, 84, 89, 88, 65, 91, 83,
+  83, 81, 87, 64, 36, 53, 89, 81, 87, 71, 75, 81, 81, 85, 80, 65,
+  65, 38, 118, 106, 100, 108, 85, 102, 83, 88, 79, 83, 75, 56, 88, 87,
+  80, 71, 76, 71, 87, 75, 81, 69, 63, 48, 8, 84, 81, 79, 92, 92,
+  83, 84, 92, 81, 68, 37, 49, 44, 52, 41, 34, 34, 49, 48, 18, 10,
+  8, 2, 76, 100, 77, 83, 99, 97, 83, 88, 93, 77, 36, 12, 83, 80,
+  65, 79, 73, 64, 71, 69, 72, 64, 28, 56, 52, 61, 26, 18, 41, 12,
+  12, 13, 28, 20, 0, 1, 83, 81, 92, 80, 75, 61, 77, 87, 71, 57,
+  38, 63, 110, 96, 84, 80, 79, 97, 85, 77, 68, 71, 60, 30, 76, 91,
+  89, 88, 65, 63, 72, 93, 183, 191, 166, 118, 99, 106, 56, 34, 24, 21,
+  21, 22, 21, 25, 22, 33, 42, 44, 63, 81, 166, 210, 206, 199, 119, 119,
+  126, 130, 130, 134, 143, 144, 138, 112, 26, 9, 9, 6, 16, 13, 44, 80,
+  64, 73, 72, 83, 76, 77, 59, 40, 25, 72, 83, 85, 81, 73, 64, 64,
+  65, 63, 65, 46, 42, 75, 89, 91, 65, 73, 61, 75, 73, 79, 68, 59,
+  49, 30, 42, 52, 37, 37, 44, 46, 38, 28, 32, 16, 5, 4, 75, 112,
+  91, 95, 87, 104, 114, 99, 93, 96, 69, 48, 64, 96, 79, 89, 87, 93,
+  68, 71, 65, 52, 41, 83, 97, 79, 75, 91, 84, 85, 79, 76, 72, 67,
+  51, 10, 69, 76, 84, 61, 72, 81, 72, 73, 71, 68, 53, 32, 53, 79,
+  75, 81, 60, 65, 73, 63, 56, 20, 5, 89, 108, 118, 91, 85, 103, 100,
+  99, 91, 93, 89, 46, 63, 95, 77, 71, 79, 97, 88, 77, 69, 55, 51,
+  22, 2, 72, 75, 55, 53, 51, 64, 60, 64, 60, 64, 48, 22, 41, 71,
+  41, 73, 37, 26, 38, 53, 40, 25, 9, 14, 63, 61, 45, 71, 51, 44,
+  42, 38, 42, 38, 20, 5, 37, 56, 49, 38, 42, 40, 63, 36, 52, 40,
+  30, 20, 55, 67, 77, 68, 76, 71, 57, 40, 44, 29, 16, 46, 85, 83,
+  76, 49, 63, 53, 67, 57, 41, 37, 34, 32, 69, 71, 56, 61, 63, 51,
+  45, 53, 48, 52, 38, 12, 38, 53, 41, 26, 21, 9, 9, 8, 14, 5,
+  5, 67, 97, 96, 84, 88, 92, 85, 85, 100, 59, 41, 9, 48, 30, 51,
+  40, 45, 36, 40, 41, 36, 38, 18, 37, 21, 77, 91, 89, 103, 77, 84,
+  91, 87, 85, 77, 52, 28, 59, 61, 45, 30, 48, 59, 46, 56, 25, 28,
+  8, 30, 38, 60, 32, 37, 41, 42, 32, 32, 38, 34, 12, 2, 53, 61,
+  59, 34, 36, 29, 44, 21, 34, 10, 6, 59, 102, 79, 81, 79, 73, 59,
+  65, 64, 63, 57, 61, 45, 28, 29, 25, 13, 28, 25, 24, 13, 16, 12,
+  13, 4, 13, 20, 34, 37, 30, 25, 21, 8, 12, 12, 2, 0, 1, 49,
+  38, 49, 20, 75, 106, 110, 89, 92, 95, 87, 81, 56, 5, 38, 61, 64,
+  59, 56, 59, 68, 68, 48, 32, 24, 12, 72, 95, 79, 100, 80, 88, 80,
+  72, 81, 73, 71, 41, 69, 103, 76, 63, 91, 87, 83, 83, 91, 65, 40,
+  51, 89, 75, 89, 63, 76, 71, 75, 87, 75, 65, 41, 10, 115, 108, 95,
+  89, 99, 88, 96, 92, 88, 76, 77, 52, 87, 84, 73, 77, 69, 71, 79,
+  80, 75, 71, 67, 46, 8, 80, 93, 89, 95, 89, 73, 81, 87, 89, 69,
+  53, 40, 51, 69, 60, 55, 61, 37, 33, 18, 1, 5, 1, 67, 96, 92,
+  84, 87, 96, 85, 91, 83, 69, 37, 2, 60, 79, 61, 80, 73, 77, 59,
+  68, 81, 52, 33, 16, 49, 49, 21, 20, 30, 13, 9, 17, 16, 16, 0,
+  0, 79, 89, 89, 80, 80, 83, 81, 79, 68, 52, 41, 67, 108, 81, 91,
+  92, 85, 85, 84, 97, 89, 67, 60, 32, 76, 87, 91, 88, 84, 75, 61,
+  87, 170, 197, 162, 107, 89, 96, 44, 32, 24, 20, 25, 21, 20, 25, 22,
+  45, 42, 41, 67, 93, 182, 217, 210, 204, 120, 119, 124, 130, 132, 138, 142,
+  143, 130, 84, 13, 9, 8, 8, 16, 13, 51, 75, 65, 73, 75, 68, 80,
+  71, 40, 46, 25, 65, 81, 76, 72, 71, 69, 81, 69, 64, 68, 57, 40,
+  79, 80, 102, 72, 67, 68, 72, 73, 75, 59, 57, 30, 38, 28, 38, 33,
+  32, 29, 29, 13, 18, 28, 18, 5, 4, 97, 114, 99, 88, 88, 88, 91,
+  91, 89, 87, 81, 59, 67, 100, 79, 95, 83, 84, 61, 72, 53, 53, 38,
+  77, 92, 73, 75, 81, 95, 76, 77, 75, 72, 64, 37, 9, 40, 56, 79,
+  69, 83, 69, 68, 81, 68, 61, 48, 32, 48, 68, 69, 85, 80, 76, 59,
+  63, 65, 18, 4, 76, 111, 110, 103, 99, 92, 97, 95, 95, 97, 72, 41,
+  65, 88, 80, 63, 79, 99, 81, 72, 63, 57, 45, 24, 1, 57, 77, 53,
+  46, 56, 55, 55, 60, 59, 61, 44, 36, 34, 63, 38, 36, 67, 26, 26,
+  36, 32, 25, 8, 13, 56, 55, 48, 61, 61, 59, 48, 40, 48, 40, 22,
+  5, 49, 67, 44, 37, 37, 32, 46, 46, 36, 38, 25, 14, 49, 63, 71,
+  61, 69, 63, 60, 40, 42, 30, 17, 34, 73, 73, 103, 61, 68, 42, 37,
+  44, 29, 28, 34, 28, 69, 69, 52, 45, 61, 49, 49, 44, 48, 44, 38,
+  13, 37, 55, 42, 34, 26, 16, 26, 18, 8, 6, 2, 68, 96, 89, 92,
+  95, 88, 75, 88, 103, 64, 42, 6, 49, 34, 63, 37, 25, 25, 57, 42,
+  28, 25, 20, 45, 26, 81, 92, 92, 87, 87, 83, 83, 77, 83, 80, 73,
+  29, 33, 64, 55, 46, 51, 49, 34, 30, 33, 25, 9, 20, 51, 56, 40,
+  32, 29, 30, 34, 38, 36, 24, 9, 1, 41, 49, 53, 34, 44, 24, 30,
+  22, 20, 10, 5, 89, 96, 76, 85, 80, 80, 65, 69, 69, 61, 57, 56,
+  48, 28, 45, 30, 13, 13, 10, 9, 16, 10, 16, 8, 4, 17, 29, 28,
+  13, 9, 10, 10, 8, 21, 13, 4, 0, 0, 22, 57, 21, 24, 80, 96,
+  114, 107, 88, 83, 88, 81, 59, 8, 38, 56, 64, 69, 73, 65, 55, 52,
+  45, 26, 17, 13, 71, 83, 97, 81, 100, 88, 81, 81, 80, 84, 65, 38,
+  80, 89, 81, 80, 64, 71, 76, 71, 71, 69, 41, 53, 76, 73, 79, 80,
+  76, 75, 75, 75, 75, 73, 46, 18, 106, 102, 77, 80, 88, 102, 100, 84,
+  100, 75, 72, 46, 77, 85, 79, 72, 77, 73, 73, 76, 67, 69, 71, 46,
+  9, 80, 83, 61, 75, 73, 59, 59, 75, 69, 72, 55, 34, 44, 30, 44,
+  25, 28, 28, 34, 32, 1, 5, 8, 65, 92, 73, 80, 81, 80, 83, 93,
+  87, 61, 36, 1, 59, 77, 64, 76, 77, 69, 68, 72, 69, 53, 22, 12,
+  29, 21, 29, 21, 28, 24, 29, 22, 25, 16, 0, 0, 83, 92, 80, 83,
+  85, 99, 89, 73, 59, 56, 29, 79, 108, 97, 102, 91, 93, 87, 72, 79,
+  84, 77, 63, 34, 71, 85, 91, 87, 83, 61, 56, 69, 126, 198, 163, 114,
+  97, 97, 49, 36, 22, 29, 29, 24, 24, 24, 24, 30, 42, 61, 83, 136,
+  205, 216, 213, 198, 122, 119, 126, 131, 138, 143, 144, 139, 119, 41, 10, 8,
+  5, 10, 21, 10, 42, 72, 71, 81, 76, 80, 77, 71, 53, 42, 24, 36,
+  76, 79, 56, 61, 60, 52, 69, 67, 65, 52, 34, 68, 76, 79, 79, 73,
+  73, 72, 71, 71, 64, 52, 32, 30, 45, 53, 57, 45, 42, 29, 45, 34,
+  14, 13, 1, 2, 96, 110, 99, 68, 67, 67, 76, 63, 72, 73, 75, 60,
+  55, 87, 83, 84, 83, 83, 59, 72, 51, 49, 32, 71, 85, 76, 75, 80,
+  76, 76, 73, 76, 75, 72, 33, 9, 61, 73, 100, 79, 81, 79, 68, 65,
+  63, 60, 49, 28, 38, 51, 60, 69, 76, 65, 72, 59, 64, 17, 10, 77,
+  97, 102, 100, 92, 97, 99, 96, 95, 91, 73, 36, 61, 65, 91, 88, 95,
+  88, 77, 65, 63, 51, 52, 21, 1, 67, 65, 55, 46, 53, 49, 48, 44,
+  45, 45, 49, 37, 20, 44, 64, 49, 52, 18, 26, 38, 38, 26, 14, 10,
+  57, 49, 44, 52, 46, 49, 46, 45, 45, 41, 20, 8, 48, 46, 42, 30,
+  29, 26, 29, 33, 32, 36, 26, 14, 38, 57, 69, 68, 59, 49, 37, 42,
+  44, 32, 18, 22, 46, 71, 68, 67, 34, 38, 36, 37, 34, 26, 25, 14,
+  67, 69, 42, 56, 60, 56, 56, 41, 55, 46, 41, 21, 17, 52, 33, 36,
+  14, 9, 16, 22, 20, 6, 14, 60, 91, 79, 93, 92, 91, 87, 88, 99,
+  56, 41, 5, 48, 48, 52, 37, 24, 21, 18, 25, 36, 17, 33, 45, 4,
+  68, 83, 81, 87, 79, 85, 76, 84, 79, 83, 64, 29, 33, 52, 53, 37,
+  44, 33, 34, 36, 24, 29, 12, 16, 45, 25, 24, 17, 20, 25, 34, 37,
+  25, 24, 14, 0, 44, 51, 61, 56, 38, 36, 37, 26, 21, 12, 4, 100,
+  106, 72, 71, 73, 72, 73, 68, 68, 55, 59, 60, 48, 25, 22, 20, 10,
+  9, 14, 16, 13, 10, 13, 9, 2, 17, 34, 9, 22, 40, 25, 26, 18,
+  10, 9, 5, 0, 1, 45, 33, 30, 20, 81, 85, 88, 89, 99, 91, 91,
+  73, 56, 6, 32, 48, 51, 49, 45, 48, 45, 46, 40, 29, 24, 12, 65,
+  89, 97, 96, 87, 84, 85, 85, 84, 81, 57, 36, 77, 77, 81, 81, 83,
+  72, 75, 72, 68, 68, 64, 60, 46, 48, 49, 46, 51, 49, 51, 55, 53,
+  55, 56, 24, 116, 97, 92, 97, 88, 89, 89, 89, 88, 83, 76, 49, 89,
+  87, 73, 73, 72, 64, 68, 61, 65, 64, 68, 46, 10, 77, 80, 73, 73,
+  69, 84, 68, 65, 57, 71, 38, 33, 38, 28, 25, 24, 21, 21, 18, 17,
+  13, 4, 1, 48, 91, 84, 84, 83, 91, 87, 91, 73, 73, 38, 1, 57,
+  73, 63, 56, 77, 75, 71, 59, 61, 45, 40, 30, 18, 18, 12, 8, 5,
+  5, 6, 5, 2, 4, 0, 1, 89, 89, 89, 83, 80, 77, 73, 73, 46,
+  48, 29, 71, 103, 95, 84, 80, 80, 80, 72, 71, 71, 68, 63, 36, 46,
+  76, 83, 77, 68, 44, 63, 59, 100, 182, 183, 143, 92, 119, 85, 44, 36,
+  29, 33, 30, 30, 33, 38, 36, 65, 73, 116, 195, 216, 214, 216, 191, 120,
+  120, 127, 135, 140, 146, 140, 128, 65, 12, 10, 8, 6, 9, 14, 16, 41,
+  63, 67, 65, 64, 63, 59, 53, 56, 53, 30, 37, 72, 80, 55, 59, 64,
+  60, 63, 61, 53, 48, 32, 46, 71, 75, 59, 56, 68, 71, 59, 59, 59,
+  45, 29, 30, 29, 10, 14, 12, 25, 9, 12, 8, 4, 10, 0, 2, 84,
+  97, 103, 96, 88, 87, 91, 88, 83, 81, 76, 75, 75, 52, 57, 63, 61,
+  60, 72, 69, 64, 49, 29, 68, 84, 79, 81, 75, 76, 75, 77, 73, 72,
+  68, 42, 13, 56, 59, 60, 60, 60, 60, 64, 57, 60, 49, 46, 25, 38,
+  44, 57, 57, 52, 51, 51, 51, 44, 18, 0, 13, 48, 60, 49, 49, 57,
+  67, 59, 56, 65, 57, 29, 26, 32, 34, 37, 41, 45, 41, 46, 44, 52,
+  46, 18, 8, 64, 63, 64, 67, 59, 67, 56, 53, 49, 45, 41, 41, 20,
+  18, 29, 37, 28, 20, 38, 37, 32, 25, 12, 9, 52, 45, 64, 49, 48,
+  51, 49, 48, 46, 44, 24, 0, 38, 49, 25, 25, 28, 32, 30, 44, 33,
+  38, 22, 14, 22, 45, 48, 37, 34, 38, 41, 32, 32, 37, 29, 18, 28,
+  46, 45, 32, 32, 49, 36, 29, 32, 26, 25, 22, 60, 64, 63, 60, 55,
+  60, 56, 49, 48, 53, 45, 17, 12, 38, 42, 42, 33, 12, 25, 25, 16,
+  6, 6, 65, 93, 85, 88, 91, 92, 96, 88, 96, 69, 41, 5, 38, 45,
+  36, 18, 25, 17, 17, 21, 17, 21, 25, 28, 12, 56, 68, 71, 49, 53,
+  64, 64, 67, 59, 55, 46, 41, 42, 38, 33, 33, 32, 42, 30, 30, 25,
+  25, 24, 10, 13, 16, 13, 17, 17, 20, 13, 37, 26, 17, 13, 0, 37,
+  44, 42, 45, 41, 55, 24, 17, 20, 12, 2, 92, 92, 76, 65, 68, 60,
+  59, 59, 60, 59, 55, 52, 44, 28, 30, 14, 22, 17, 13, 14, 10, 12,
+  8, 8, 2, 20, 37, 44, 21, 16, 12, 8, 9, 8, 6, 4, 0, 0,
+  32, 36, 25, 24, 72, 69, 69, 68, 69, 67, 69, 59, 41, 6, 29, 40,
+  34, 25, 38, 40, 32, 29, 36, 32, 22, 10, 46, 89, 88, 85, 83, 63,
+  56, 53, 64, 60, 51, 33, 53, 59, 59, 57, 56, 57, 60, 56, 56, 55,
+  55, 51, 52, 37, 26, 21, 22, 32, 16, 12, 13, 10, 10, 21, 114, 77,
+  92, 48, 88, 85, 83, 53, 84, 79, 72, 46, 81, 84, 65, 61, 57, 56,
+  49, 53, 53, 53, 41, 21, 13, 44, 38, 41, 38, 37, 40, 37, 38, 36,
+  33, 30, 26, 22, 21, 22, 20, 14, 13, 14, 12, 10, 12, 0, 18, 68,
+  73, 51, 56, 77, 71, 64, 67, 65, 36, 16, 48, 64, 65, 61, 53, 51,
+  49, 46, 42, 44, 18, 10, 6, 5, 9, 18, 22, 16, 8, 10, 10, 8,
+  1, 0, 80, 51, 61, 59, 60, 64, 65, 71, 49, 42, 26, 63, 79, 85,
+  83, 76, 79, 73, 69, 67, 71, 76, 67, 63, 64, 61, 41, 45, 59, 57,
+  51, 56, 65, 162, 193, 157, 111, 111, 107, 72, 44, 30, 42, 41, 38, 36,
+  40, 63, 73, 114, 183, 216, 216, 217, 213, 161, 119, 122, 128, 140, 143, 142,
+  132, 92, 21, 10, 9, 8, 10, 10, 14, 17, 25, 52, 52, 48, 38, 51,
+  49, 38, 41, 46, 36, 34, 67, 53, 51, 41, 40, 38, 37, 38, 40, 48,
+  26, 16, 16, 22, 18, 17, 18, 24, 32, 44, 49, 34, 28, 8, 8, 5,
+  5, 4, 4, 2, 0, 2, 4, 0, 5, 1, 10, 52, 63, 53, 53, 56,
+  67, 60, 59, 61, 61, 61, 53, 63, 60, 63, 60, 67, 63, 65, 55, 48,
+  34, 55, 75, 75, 77, 67, 64, 61, 60, 53, 56, 53, 38, 14, 24, 26,
+  25, 26, 28, 30, 32, 36, 34, 36, 36, 24, 24, 13, 17, 17, 13, 9,
+  9, 12, 12, 10, 2, 2, 5, 13, 5, 4, 12, 17, 8, 9, 16, 18,
+  18, 16, 5, 13, 13, 12, 18, 26, 21, 26, 32, 32, 21, 0, 14, 24,
+  28, 26, 26, 29, 30, 24, 25, 25, 22, 24, 20, 24, 33, 24, 22, 22,
+  14, 22, 20, 24, 13, 16, 45, 40, 49, 46, 45, 44, 44, 40, 40, 38,
+  18, 12, 34, 12, 16, 9, 9, 12, 14, 6, 5, 9, 13, 13, 9, 10,
+  13, 12, 12, 14, 14, 17, 20, 28, 30, 30, 29, 32, 29, 26, 26, 28,
+  26, 25, 24, 28, 28, 22, 57, 53, 51, 51, 41, 40, 38, 34, 33, 32,
+  18, 21, 21, 18, 22, 16, 14, 9, 9, 9, 10, 5, 5, 61, 67, 83,
+  85, 79, 76, 75, 81, 72, 53, 38, 8, 48, 33, 24, 21, 22, 20, 20,
+  22, 22, 21, 22, 36, 17, 13, 14, 14, 13, 18, 21, 24, 24, 26, 34,
+  38, 32, 29, 25, 26, 25, 25, 24, 25, 22, 22, 20, 18, 17, 20, 18,
+  18, 16, 17, 16, 16, 12, 16, 16, 12, 0, 21, 29, 41, 17, 20, 25,
+  36, 25, 16, 10, 2, 59, 92, 75, 63, 61, 61, 60, 55, 40, 38, 34,
+  29, 29, 29, 16, 9, 20, 17, 13, 16, 13, 16, 10, 10, 2, 9, 18,
+  16, 9, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 48,
+  45, 42, 38, 32, 30, 29, 25, 22, 0, 4, 8, 8, 6, 8, 14, 12,
+  13, 18, 30, 17, 9, 64, 34, 33, 32, 32, 44, 33, 25, 22, 40, 36,
+  20, 17, 13, 16, 13, 13, 12, 16, 13, 12, 10, 13, 12, 13, 29, 42,
+  52, 52, 57, 91, 76, 95, 76, 55, 8, 122, 83, 96, 75, 63, 56, 57,
+  57, 71, 73, 71, 44, 45, 46, 46, 40, 36, 33, 28, 25, 21, 22, 16,
+  13, 12, 10, 9, 8, 6, 6, 5, 5, 4, 4, 4, 2, 1, 5, 6,
+  1, 0, 1, 4, 0, 0, 1, 2, 0, 17, 13, 13, 17, 16, 34, 61,
+  37, 46, 55, 33, 1, 44, 14, 20, 16, 17, 12, 17, 12, 16, 9, 8,
+  9, 10, 24, 49, 44, 57, 61, 67, 59, 68, 64, 38, 0, 92, 79, 77,
+  68, 61, 59, 59, 45, 55, 44, 25, 48, 49, 52, 49, 49, 51, 52, 52,
+  53, 49, 55, 52, 51, 51, 33, 25, 26, 28, 37, 64, 63, 65, 108, 181,
+  171, 114, 81, 151, 100, 77, 76, 80, 81, 81, 80, 79, 102, 150, 197, 216,
+  216, 214, 214, 199, 132, 119, 127, 139, 142, 139, 132, 103, 29, 12, 10, 8,
+  10, 14, 16, 8, 17, 24, 21, 25, 28, 28, 28, 29, 30, 34, 42, 42,
+  36, 38, 30, 33, 40, 33, 37, 45, 61, 52, 46, 32, 37, 79, 81, 71,
+  63, 46, 45, 41, 37, 13, 9, 6, 4, 0, 13, 2, 1, 2, 9, 0,
+  2, 4, 0, 0, 5, 8, 2, 2, 2, 6, 5, 5, 6, 8, 9, 10,
+  12, 13, 16, 18, 25, 25, 29, 30, 36, 37, 45, 33, 37, 51, 51, 32,
+  33, 36, 37, 22, 22, 26, 21, 12, 2, 8, 2, 13, 14, 8, 6, 12,
+  12, 6, 8, 10, 13, 45, 57, 69, 68, 60, 72, 64, 68, 36, 32, 1,
+  14, 102, 108, 72, 67, 84, 92, 60, 64, 61, 21, 10, 40, 89, 85, 48,
+  45, 48, 26, 25, 20, 25, 13, 10, 4, 1, 0, 8, 1, 0, 0, 6,
+  4, 0, 2, 9, 8, 10, 6, 12, 9, 8, 20, 14, 10, 13, 21, 5,
+  8, 37, 8, 12, 8, 9, 9, 9, 6, 6, 4, 4, 9, 6, 22, 34,
+  40, 40, 42, 52, 59, 48, 46, 24, 10, 51, 76, 85, 64, 65, 42, 29,
+  24, 16, 16, 13, 12, 14, 12, 17, 10, 12, 14, 12, 14, 16, 17, 17,
+  13, 25, 21, 30, 24, 24, 18, 22, 21, 20, 18, 18, 16, 13, 6, 2,
+  1, 1, 2, 2, 2, 2, 6, 4, 12, 18, 25, 21, 36, 37, 33, 24,
+  40, 44, 25, 6, 34, 18, 25, 21, 18, 20, 22, 29, 33, 34, 33, 45,
+  1, 32, 103, 103, 65, 65, 57, 56, 48, 34, 17, 13, 10, 8, 8, 8,
+  6, 6, 6, 5, 5, 4, 6, 6, 4, 1, 0, 0, 1, 0, 0, 0,
+  0, 1, 1, 0, 0, 4, 2, 6, 4, 5, 5, 6, 6, 17, 10, 1,
+  55, 87, 61, 53, 51, 46, 45, 45, 41, 40, 48, 37, 41, 13, 17, 25,
+  16, 13, 6, 4, 2, 2, 2, 1, 1, 2, 1, 1, 1, 4, 4, 1,
+  1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 52, 63, 64, 56, 68, 57,
+  68, 67, 52, 0, 32, 83, 80, 55, 60, 65, 53, 36, 25, 20, 12, 12,
+  22, 53, 56, 48, 59, 65, 88, 76, 68, 64, 52, 14, 65, 87, 89, 80,
+  69, 83, 73, 84, 80, 77, 36, 9, 68, 119, 115, 110, 108, 103, 102, 102,
+  111, 88, 51, 10, 122, 84, 88, 123, 115, 99, 81, 84, 61, 45, 25, 38,
+  44, 51, 53, 59, 59, 57, 65, 69, 68, 46, 64, 61, 112, 115, 115, 116,
+  122, 118, 111, 115, 123, 110, 93, 89, 110, 106, 100, 108, 107, 102, 91, 83,
+  102, 81, 20, 1, 65, 106, 104, 81, 67, 49, 40, 36, 20, 14, 10, 1,
+  10, 44, 51, 56, 48, 57, 61, 64, 61, 65, 41, 1, 52, 111, 123, 126,
+  122, 120, 104, 114, 103, 76, 37, 0, 88, 77, 92, 89, 96, 88, 87, 75,
+  63, 44, 25, 9, 9, 9, 9, 10, 10, 10, 13, 12, 12, 12, 16, 17,
+  18, 59, 61, 79, 79, 76, 103, 97, 76, 69, 120, 179, 128, 88, 114, 126,
+  123, 135, 131, 118, 124, 138, 148, 191, 210, 214, 218, 216, 213, 212, 150, 122,
+  126, 135, 138, 134, 126, 89, 28, 13, 13, 10, 16, 14, 12, 17, 25, 32,
+  38, 73, 88, 80, 63, 61, 48, 45, 45, 36, 32, 29, 53, 84, 99, 91,
+  104, 75, 76, 88, 67, 49, 29, 55, 99, 80, 65, 64, 80, 72, 73, 46,
+  42, 36, 0, 16, 118, 110, 85, 73, 87, 85, 81, 76, 84, 65, 33, 0,
+  30, 76, 88, 87, 88, 88, 91, 83, 81, 76, 69, 63, 75, 76, 77, 79,
+  73, 51, 37, 30, 24, 24, 25, 17, 22, 42, 38, 49, 42, 51, 48, 55,
+  56, 45, 33, 4, 18, 61, 67, 77, 69, 64, 65, 57, 65, 67, 60, 60,
+  59, 80, 89, 93, 88, 87, 79, 65, 61, 34, 4, 91, 88, 67, 84, 72,
+  80, 68, 81, 75, 61, 25, 6, 83, 100, 96, 93, 93, 88, 79, 57, 64,
+  65, 26, 18, 4, 14, 100, 93, 60, 45, 91, 85, 61, 49, 61, 55, 24,
+  2, 36, 89, 84, 48, 46, 41, 34, 25, 17, 9, 4, 6, 33, 34, 37,
+  28, 41, 45, 36, 40, 40, 29, 0, 30, 92, 87, 83, 85, 88, 77, 79,
+  75, 59, 24, 9, 59, 85, 63, 60, 80, 80, 79, 79, 56, 29, 22, 5,
+  37, 122, 115, 75, 68, 67, 60, 51, 24, 10, 12, 5, 5, 6, 6, 4,
+  5, 4, 4, 1, 4, 2, 2, 2, 5, 12, 55, 64, 65, 63, 49, 72,
+  57, 16, 5, 40, 79, 72, 67, 29, 24, 16, 12, 10, 6, 9, 2, 14,
+  34, 76, 75, 75, 77, 75, 79, 69, 72, 53, 45, 4, 85, 119, 111, 95,
+  112, 99, 100, 99, 99, 89, 89, 68, 63, 81, 61, 45, 57, 69, 60, 57,
+  46, 34, 2, 0, 14, 68, 95, 64, 59, 63, 79, 64, 60, 52, 4, 0,
+  48, 64, 60, 38, 64, 53, 53, 12, 6, 10, 1, 64, 68, 72, 69, 76,
+  73, 72, 72, 73, 75, 68, 38, 24, 18, 21, 45, 40, 34, 38, 37, 25,
+  18, 9, 12, 4, 2, 14, 37, 40, 52, 38, 44, 45, 60, 60, 67, 56,
+  72, 76, 83, 81, 83, 120, 103, 110, 104, 99, 100, 64, 68, 53, 0, 67,
+  77, 95, 91, 84, 87, 83, 81, 80, 75, 33, 12, 73, 112, 114, 108, 106,
+  97, 110, 107, 96, 67, 57, 16, 91, 92, 85, 76, 73, 92, 81, 77, 75,
+  77, 41, 8, 96, 118, 93, 99, 108, 119, 99, 102, 83, 92, 57, 14, 130,
+  106, 81, 79, 59, 80, 93, 111, 119, 104, 85, 99, 116, 106, 108, 116, 106,
+  107, 112, 103, 108, 92, 102, 88, 76, 110, 97, 85, 93, 96, 83, 76, 72,
+  76, 91, 64, 76, 93, 110, 114, 99, 99, 88, 83, 92, 91, 45, 0, 84,
+  102, 127, 89, 95, 71, 80, 77, 71, 55, 33, 8, 69, 112, 108, 108, 100,
+  99, 64, 84, 87, 71, 46, 1, 102, 124, 106, 91, 77, 100, 89, 81, 84,
+  73, 36, 0, 104, 75, 81, 87, 83, 80, 83, 84, 71, 56, 25, 30, 100,
+  81, 76, 80, 93, 93, 77, 75, 72, 68, 67, 63, 69, 65, 104, 108, 106,
+  89, 89, 91, 85, 56, 73, 169, 146, 97, 79, 158, 169, 177, 190, 199, 205,
+  206, 210, 213, 214, 213, 209, 212, 205, 155, 124, 130, 134, 130, 126, 99, 56,
+  26, 16, 13, 10, 18, 13, 18, 25, 40, 25, 26, 64, 103, 114, 100, 103,
+  106, 112, 111, 112, 92, 83, 84, 87, 102, 99, 83, 72, 83, 72, 71, 71,
+  52, 32, 51, 97, 93, 81, 67, 63, 59, 73, 80, 52, 40, 0, 118, 120,
+  95, 97, 92, 93, 89, 67, 64, 59, 55, 65, 0, 110, 104, 92, 93, 81,
+  92, 77, 80, 80, 81, 77, 55, 49, 77, 80, 72, 72, 60, 59, 64, 72,
+  40, 22, 41, 91, 89, 96, 85, 87, 87, 81, 85, 83, 64, 36, 2, 99,
+  93, 102, 96, 85, 80, 73, 65, 71, 67, 48, 59, 95, 114, 108, 93, 93,
+  79, 83, 85, 59, 36, 2, 104, 84, 83, 73, 65, 64, 63, 63, 69, 75,
+  26, 9, 96, 108, 85, 51, 68, 55, 83, 76, 60, 38, 33, 20, 0, 104,
+  115, 96, 48, 65, 84, 75, 61, 59, 59, 56, 29, 2, 87, 96, 75, 72,
+  77, 68, 83, 45, 30, 21, 2, 36, 87, 96, 102, 88, 83, 75, 72, 76,
+  71, 41, 14, 80, 97, 92, 83, 71, 73, 71, 72, 69, 75, 28, 8, 67,
+  93, 63, 65, 52, 52, 55, 67, 71, 60, 25, 4, 106, 126, 104, 102, 108,
+  104, 100, 73, 85, 83, 81, 81, 92, 99, 89, 87, 91, 80, 97, 87, 88,
+  87, 71, 69, 75, 61, 63, 60, 68, 56, 75, 63, 60, 20, 5, 52, 104,
+  72, 64, 71, 48, 57, 51, 36, 28, 14, 24, 63, 85, 89, 97, 88, 88,
+  80, 84, 71, 65, 55, 33, 12, 100, 110, 115, 103, 103, 93, 76, 71, 80,
+  68, 65, 76, 77, 67, 40, 41, 57, 61, 28, 34, 24, 59, 2, 0, 71,
+  96, 63, 60, 55, 49, 57, 49, 55, 61, 9, 0, 56, 56, 45, 55, 69,
+  52, 53, 52, 16, 10, 0, 91, 72, 67, 67, 65, 61, 38, 53, 64, 52,
+  49, 30, 21, 16, 30, 37, 21, 24, 17, 20, 17, 25, 21, 2, 0, 34,
+  64, 75, 75, 79, 71, 63, 53, 67, 52, 61, 56, 57, 46, 65, 84, 72,
+  143, 128, 106, 114, 122, 108, 119, 67, 55, 0, 71, 85, 92, 89, 73, 76,
+  53, 67, 65, 73, 38, 13, 97, 118, 107, 100, 97, 100, 104, 111, 106, 72,
+  57, 18, 91, 102, 111, 122, 104, 112, 102, 99, 83, 79, 46, 8, 88, 116,
+  95, 96, 79, 83, 88, 81, 68, 68, 52, 13, 130, 102, 99, 69, 77, 77,
+  81, 84, 65, 84, 95, 91, 65, 64, 77, 77, 79, 60, 55, 80, 61, 64,
+  95, 64, 111, 97, 104, 100, 88, 95, 92, 95, 91, 79, 81, 57, 103, 124,
+  110, 92, 103, 97, 96, 102, 96, 91, 49, 1, 89, 104, 131, 88, 75, 93,
+  67, 84, 68, 60, 37, 21, 88, 107, 96, 102, 102, 91, 85, 91, 88, 83,
+  46, 0, 99, 124, 71, 80, 85, 85, 77, 103, 79, 85, 41, 0, 97, 71,
+  79, 75, 73, 75, 73, 76, 76, 53, 25, 92, 93, 89, 77, 65, 83, 89,
+  80, 72, 84, 72, 84, 65, 46, 103, 114, 97, 76, 68, 73, 89, 93, 53,
+  55, 124, 154, 104, 73, 112, 118, 136, 154, 179, 191, 199, 204, 202, 204, 208,
+  193, 170, 147, 119, 132, 128, 112, 92, 56, 28, 16, 17, 14, 13, 16, 13,
+  17, 22, 34, 26, 29, 29, 64, 104, 112, 112, 110, 106, 100, 102, 104, 85,
+  83, 64, 103, 95, 69, 72, 84, 87, 84, 73, 52, 67, 30, 52, 85, 80,
+  69, 72, 69, 64, 71, 71, 52, 38, 0, 122, 118, 114, 87, 79, 77, 73,
+  57, 57, 57, 73, 67, 0, 107, 87, 80, 84, 96, 88, 87, 97, 83, 81,
+  63, 36, 69, 116, 87, 72, 67, 65, 63, 75, 71, 40, 30, 85, 89, 83,
+  75, 64, 77, 88, 69, 71, 64, 53, 40, 9, 97, 76, 73, 76, 96, 84,
+  69, 63, 67, 51, 42, 84, 118, 91, 77, 91, 81, 60, 48, 71, 42, 34,
+  0, 68, 81, 71, 56, 45, 53, 68, 67, 87, 64, 28, 6, 85, 107, 64,
+  57, 41, 46, 49, 60, 37, 30, 32, 18, 2, 88, 91, 84, 65, 69, 57,
+  53, 64, 56, 80, 61, 30, 4, 91, 95, 61, 53, 55, 51, 53, 63, 34,
+  29, 4, 75, 95, 91, 87, 79, 87, 84, 77, 52, 49, 29, 8, 80, 95,
+  84, 68, 69, 59, 63, 63, 63, 56, 25, 8, 65, 88, 72, 69, 67, 52,
+  51, 46, 57, 65, 24, 5, 93, 115, 112, 111, 97, 91, 81, 95, 80, 76,
+  65, 72, 89, 89, 103, 69, 84, 88, 80, 80, 65, 83, 69, 46, 42, 83,
+  91, 67, 61, 40, 34, 65, 48, 25, 5, 42, 102, 77, 65, 63, 53, 65,
+  51, 52, 32, 16, 30, 65, 95, 84, 73, 69, 69, 71, 69, 76, 83, 37,
+  40, 10, 89, 106, 112, 106, 100, 69, 71, 99, 96, 92, 81, 61, 34, 73,
+  73, 44, 41, 30, 26, 9, 32, 41, 1, 4, 85, 85, 59, 61, 51, 68,
+  69, 61, 55, 52, 10, 0, 38, 45, 41, 29, 22, 22, 18, 36, 32, 10,
+  0, 102, 81, 59, 67, 46, 42, 33, 42, 45, 48, 42, 29, 16, 22, 40,
+  33, 21, 8, 4, 4, 5, 12, 20, 0, 4, 53, 93, 95, 61, 67, 60,
+  61, 68, 53, 33, 40, 44, 51, 89, 107, 131, 136, 84, 89, 115, 108, 79,
+  95, 116, 68, 53, 0, 64, 99, 89, 67, 65, 75, 72, 64, 52, 65, 38,
+  16, 80, 120, 103, 108, 99, 95, 93, 95, 111, 73, 60, 25, 59, 104, 104,
+  89, 97, 111, 107, 79, 77, 77, 45, 6, 104, 110, 112, 88, 97, 97, 88,
+  99, 75, 87, 57, 5, 124, 107, 97, 68, 65, 71, 87, 80, 81, 77, 61,
+  67, 60, 97, 71, 69, 87, 80, 83, 80, 79, 61, 56, 37, 111, 100, 103,
+  95, 83, 85, 76, 73, 92, 84, 75, 59, 119, 122, 93, 87, 83, 91, 96,
+  88, 85, 104, 45, 0, 93, 110, 114, 71, 76, 91, 84, 100, 99, 81, 40,
+  6, 106, 106, 110, 92, 104, 97, 88, 89, 85, 69, 46, 0, 93, 118, 69,
+  81, 77, 93, 96, 97, 83, 67, 40, 0, 99, 80, 80, 87, 84, 73, 75,
+  73, 79, 59, 25, 92, 89, 79, 84, 89, 85, 77, 79, 79, 71, 71, 57,
+  38, 61, 110, 104, 96, 69, 72, 76, 64, 89, 56, 48, 108, 153, 104, 67,
+  81, 99, 111, 118, 124, 150, 161, 170, 169, 163, 159, 139, 126, 126, 119, 100,
+  77, 45, 29, 17, 14, 14, 13, 17, 13, 13, 24, 22, 29, 32, 32, 28,
+  25, 67, 116, 119, 112, 88, 97, 88, 80, 72, 71, 52, 88, 107, 69, 75,
+  97, 77, 69, 65, 73, 55, 69, 37, 42, 87, 83, 75, 87, 71, 83, 69,
+  67, 60, 37, 0, 76, 111, 92, 97, 111, 88, 81, 76, 60, 59, 63, 36,
+  4, 76, 75, 87, 96, 84, 85, 83, 77, 76, 55, 51, 34, 73, 108, 71,
+  67, 84, 97, 92, 73, 60, 38, 21, 83, 88, 76, 64, 60, 56, 77, 76,
+  63, 53, 49, 40, 2, 91, 65, 76, 57, 83, 97, 85, 64, 67, 41, 26,
+  80, 119, 89, 85, 89, 79, 55, 65, 55, 46, 37, 0, 87, 91, 91, 42,
+  57, 63, 59, 77, 72, 79, 29, 5, 88, 104, 59, 52, 41, 53, 53, 42,
+  45, 29, 25, 20, 1, 77, 95, 53, 69, 75, 61, 56, 55, 51, 63, 53,
+  41, 4, 79, 89, 59, 44, 61, 63, 59, 59, 56, 29, 0, 81, 100, 77,
+  73, 73, 59, 53, 46, 40, 45, 28, 1, 76, 96, 76, 56, 69, 55, 53,
+  57, 55, 63, 26, 5, 64, 88, 84, 65, 79, 79, 75, 53, 52, 49, 25,
+  5, 81, 108, 111, 106, 110, 100, 107, 107, 104, 95, 64, 91, 106, 83, 63,
+  57, 59, 64, 59, 46, 51, 55, 34, 30, 55, 96, 89, 33, 53, 55, 87,
+  46, 49, 24, 6, 52, 95, 73, 48, 68, 71, 56, 64, 52, 38, 17, 26,
+  64, 95, 80, 68, 68, 80, 80, 65, 64, 76, 38, 41, 1, 88, 102, 99,
+  103, 108, 68, 75, 83, 93, 88, 79, 56, 60, 84, 63, 24, 44, 18, 29,
+  28, 33, 34, 1, 0, 68, 72, 63, 60, 49, 56, 64, 61, 59, 44, 10,
+  0, 65, 57, 26, 37, 34, 28, 17, 33, 44, 12, 0, 96, 64, 61, 65,
+  42, 67, 36, 33, 57, 49, 36, 33, 16, 12, 40, 29, 8, 12, 16, 10,
+  8, 9, 16, 0, 10, 73, 96, 61, 53, 60, 37, 51, 84, 57, 41, 51,
+  38, 51, 93, 131, 77, 30, 111, 112, 120, 83, 92, 97, 110, 64, 53, 1,
+  64, 95, 91, 56, 61, 64, 77, 51, 51, 71, 40, 17, 72, 110, 104, 100,
+  110, 114, 93, 91, 97, 76, 61, 22, 100, 112, 103, 89, 93, 106, 106, 80,
+  79, 80, 45, 6, 93, 110, 87, 96, 99, 91, 96, 85, 77, 75, 55, 5,
+  122, 97, 95, 68, 71, 68, 92, 84, 84, 73, 53, 73, 92, 89, 95, 91,
+  68, 71, 80, 68, 72, 76, 77, 32, 110, 110, 100, 83, 85, 77, 93, 73,
+  84, 81, 77, 61, 118, 119, 77, 79, 84, 85, 72, 84, 85, 83, 48, 1,
+  93, 107, 123, 83, 93, 76, 67, 68, 92, 59, 40, 0, 93, 97, 116, 96,
+  106, 92, 91, 87, 69, 79, 48, 0, 106, 118, 79, 91, 89, 88, 79, 95,
+  89, 77, 40, 0, 89, 89, 81, 81, 80, 75, 73, 73, 75, 56, 28, 57,
+  76, 93, 81, 71, 85, 76, 75, 80, 75, 67, 56, 36, 87, 111, 102, 91,
+  81, 65, 72, 77, 95, 63, 46, 99, 154, 115, 84, 60, 64, 64, 69, 89,
+  110, 114, 118, 122, 118, 116, 112, 87, 65, 44, 29, 21, 18, 18, 14, 10,
+  16, 17, 12, 25, 26, 28, 29, 36, 37, 32, 32, 25, 60, 112, 96, 83,
+  71, 81, 87, 84, 69, 55, 51, 93, 97, 71, 87, 77, 77, 60, 56, 79,
+  65, 72, 38, 34, 81, 80, 71, 71, 75, 68, 61, 63, 46, 38, 0, 80,
+  108, 106, 119, 95, 51, 49, 64, 52, 72, 72, 37, 2, 79, 89, 87, 91,
+  72, 76, 77, 76, 56, 67, 53, 32, 75, 115, 83, 63, 65, 57, 60, 79,
+  64, 38, 21, 71, 87, 73, 79, 71, 56, 71, 65, 52, 53, 42, 37, 1,
+  73, 80, 76, 56, 76, 92, 85, 60, 51, 42, 30, 83, 123, 71, 77, 65,
+  76, 56, 56, 46, 52, 34, 2, 92, 88, 79, 45, 52, 67, 72, 64, 75,
+  65, 30, 4, 103, 106, 56, 42, 41, 38, 49, 48, 36, 38, 26, 18, 0,
+  83, 111, 75, 73, 67, 59, 44, 77, 55, 57, 59, 28, 1, 77, 93, 51,
+  45, 52, 49, 48, 53, 33, 28, 0, 84, 93, 57, 75, 55, 46, 52, 41,
+  44, 37, 28, 9, 85, 95, 68, 65, 49, 55, 53, 51, 41, 60, 26, 5,
+  63, 83, 77, 56, 45, 53, 45, 48, 53, 49, 26, 2, 97, 120, 110, 115,
+  88, 91, 92, 100, 92, 91, 42, 89, 91, 84, 65, 57, 46, 55, 52, 52,
+  53, 34, 46, 28, 91, 104, 102, 29, 67, 65, 73, 42, 44, 41, 10, 53,
+  99, 76, 67, 69, 72, 53, 49, 65, 52, 17, 9, 51, 93, 64, 56, 51,
+  59, 65, 59, 55, 83, 49, 41, 2, 99, 103, 96, 103, 95, 76, 73, 67,
+  103, 83, 79, 51, 64, 92, 51, 21, 33, 10, 18, 26, 28, 30, 1, 0,
+  57, 83, 53, 51, 46, 46, 49, 48, 40, 49, 10, 0, 42, 44, 42, 37,
+  51, 41, 17, 24, 36, 12, 0, 106, 61, 59, 65, 37, 72, 36, 33, 32,
+  38, 30, 30, 14, 18, 34, 24, 2, 9, 2, 4, 1, 5, 20, 0, 32,
+  85, 87, 45, 48, 60, 48, 41, 68, 32, 28, 42, 33, 71, 108, 107, 24,
+  32, 116, 119, 80, 87, 95, 83, 103, 79, 52, 0, 69, 100, 91, 59, 57,
+  64, 71, 52, 51, 65, 42, 18, 68, 115, 108, 104, 92, 103, 104, 92, 93,
+  89, 64, 25, 99, 104, 103, 96, 81, 84, 92, 77, 79, 75, 45, 5, 95,
+  114, 91, 92, 92, 89, 102, 91, 77, 80, 59, 6, 124, 111, 91, 71, 68,
+  69, 69, 76, 85, 79, 51, 97, 102, 89, 88, 71, 69, 91, 99, 68, 88,
+  83, 84, 46, 119, 95, 84, 79, 84, 73, 93, 72, 89, 79, 65, 65, 122,
+  110, 79, 87, 71, 83, 88, 103, 81, 81, 51, 0, 89, 110, 123, 83, 81,
+  79, 71, 69, 103, 57, 42, 5, 100, 112, 99, 87, 99, 81, 81, 87, 71,
+  81, 49, 1, 102, 122, 79, 76, 87, 85, 88, 95, 88, 72, 41, 0, 92,
+  83, 83, 89, 76, 75, 76, 71, 67, 56, 30, 60, 81, 85, 83, 80, 85,
+  75, 67, 71, 65, 71, 60, 29, 89, 110, 104, 75, 84, 64, 75, 87, 77,
+  69, 42, 89, 150, 123, 93, 77, 60, 52, 46, 48, 42, 41, 41, 41, 45,
+  38, 33, 30, 22, 22, 20, 18, 16, 14, 14, 16, 10, 18, 29, 34, 44,
+  44, 41, 38, 32, 33, 33, 25, 63, 116, 85, 88, 88, 83, 72, 95, 83,
+  69, 37, 87, 100, 69, 91, 67, 55, 55, 53, 73, 67, 73, 41, 24, 83,
+  87, 92, 87, 88, 81, 73, 63, 51, 40, 0, 76, 102, 85, 104, 51, 48,
+  59, 64, 51, 60, 61, 59, 0, 106, 96, 68, 100, 72, 64, 61, 64, 55,
+  80, 57, 30, 81, 103, 76, 75, 59, 61, 53, 75, 65, 40, 24, 68, 83,
+  99, 112, 65, 53, 49, 52, 53, 56, 49, 37, 0, 114, 72, 65, 59, 72,
+  71, 85, 59, 52, 46, 29, 81, 122, 89, 83, 60, 72, 51, 51, 44, 56,
+  40, 0, 96, 88, 91, 48, 51, 52, 77, 80, 77, 75, 30, 5, 95, 110,
+  59, 42, 33, 37, 34, 49, 28, 37, 28, 21, 1, 115, 115, 73, 88, 38,
+  59, 79, 42, 48, 63, 53, 30, 0, 84, 87, 55, 41, 49, 102, 55, 65,
+  32, 26, 0, 83, 96, 60, 69, 42, 60, 45, 40, 40, 52, 28, 16, 79,
+  91, 56, 69, 52, 51, 49, 51, 45, 61, 26, 4, 57, 85, 65, 44, 44,
+  53, 77, 49, 49, 59, 28, 2, 91, 126, 107, 102, 85, 89, 88, 88, 93,
+  85, 41, 91, 103, 69, 96, 72, 53, 48, 51, 46, 38, 37, 44, 28, 89,
+  95, 87, 37, 75, 83, 42, 44, 25, 22, 9, 55, 100, 60, 61, 64, 38,
+  32, 28, 52, 59, 17, 12, 67, 92, 79, 53, 52, 49, 53, 48, 65, 75,
+  51, 37, 5, 97, 115, 97, 97, 69, 68, 71, 65, 97, 77, 79, 45, 64,
+  91, 57, 13, 32, 9, 20, 22, 28, 28, 0, 0, 71, 75, 59, 48, 44,
+  60, 59, 49, 34, 51, 10, 0, 61, 46, 32, 29, 18, 53, 26, 26, 26,
+  12, 0, 91, 75, 69, 36, 21, 75, 33, 30, 26, 48, 20, 30, 14, 14,
+  26, 21, 13, 34, 20, 21, 6, 6, 13, 0, 41, 89, 79, 41, 46, 48,
+  41, 55, 75, 32, 29, 33, 33, 63, 108, 46, 38, 33, 118, 107, 77, 89,
+  95, 80, 104, 67, 55, 0, 60, 93, 84, 59, 65, 57, 77, 49, 63, 72,
+  46, 21, 45, 102, 114, 100, 104, 100, 89, 85, 93, 96, 60, 29, 73, 110,
+  87, 97, 102, 87, 96, 81, 77, 87, 49, 6, 95, 111, 81, 83, 107, 89,
+  87, 75, 68, 71, 59, 5, 123, 110, 106, 72, 72, 68, 72, 72, 84, 76,
+  49, 103, 99, 91, 73, 68, 77, 114, 68, 69, 68, 81, 96, 42, 108, 89,
+  88, 85, 83, 76, 100, 72, 83, 76, 45, 71, 123, 123, 79, 112, 79, 77,
+  89, 107, 79, 79, 57, 0, 88, 103, 112, 81, 89, 76, 71, 65, 99, 61,
+  44, 13, 96, 112, 92, 92, 83, 79, 104, 87, 77, 72, 51, 0, 99, 123,
+  68, 89, 85, 80, 83, 102, 79, 71, 41, 0, 88, 83, 85, 80, 68, 72,
+  73, 71, 77, 52, 30, 57, 93, 64, 77, 81, 89, 77, 85, 84, 53, 76,
+  51, 26, 100, 116, 102, 85, 83, 61, 65, 85, 73, 71, 44, 84, 143, 127,
+  104, 92, 81, 75, 53, 44, 41, 37, 34, 34, 29, 29, 28, 25, 22, 20,
+  18, 18, 18, 18, 17, 6, 17, 29, 46, 51, 41, 42, 42, 42, 42, 36,
+  36, 30, 59, 127, 88, 76, 92, 85, 85, 80, 76, 75, 30, 88, 88, 71,
+  68, 69, 55, 76, 64, 60, 65, 77, 41, 20, 69, 84, 93, 71, 64, 60,
+  68, 60, 51, 40, 0, 92, 99, 89, 97, 48, 49, 73, 51, 51, 71, 72,
+  60, 0, 100, 87, 75, 99, 64, 61, 69, 53, 51, 76, 55, 26, 73, 122,
+  72, 63, 65, 63, 57, 76, 64, 40, 25, 61, 95, 96, 68, 56, 67, 49,
+  71, 68, 59, 51, 40, 6, 104, 59, 77, 51, 72, 49, 100, 55, 53, 45,
+  30, 79, 120, 77, 88, 67, 65, 68, 45, 44, 41, 36, 0, 89, 87, 87,
+  45, 61, 45, 56, 59, 81, 57, 30, 4, 97, 111, 65, 55, 36, 33, 32,
+  63, 29, 33, 30, 20, 0, 106, 124, 67, 80, 38, 61, 53, 64, 53, 52,
+  49, 30, 2, 73, 102, 53, 49, 84, 79, 60, 55, 33, 29, 5, 88, 97,
+  51, 57, 45, 45, 40, 53, 38, 52, 29, 6, 76, 95, 67, 72, 67, 73,
+  71, 73, 45, 67, 28, 2, 68, 77, 59, 51, 89, 44, 42, 46, 48, 65,
+  26, 4, 124, 122, 110, 91, 91, 104, 88, 91, 91, 91, 45, 95, 87, 92,
+  68, 89, 61, 44, 49, 34, 37, 36, 49, 25, 95, 107, 83, 29, 71, 63,
+  41, 40, 41, 26, 10, 59, 106, 45, 51, 36, 28, 28, 25, 26, 51, 17,
+  28, 64, 92, 91, 52, 48, 48, 61, 48, 51, 69, 55, 37, 4, 92, 115,
+  93, 91, 77, 68, 67, 71, 84, 77, 73, 41, 76, 96, 46, 16, 13, 5,
+  18, 21, 21, 46, 0, 2, 73, 80, 53, 53, 56, 51, 36, 57, 44, 48,
+  12, 0, 67, 56, 29, 33, 29, 20, 28, 28, 21, 12, 1, 77, 83, 46,
+  53, 34, 75, 30, 28, 28, 38, 21, 26, 9, 16, 21, 22, 24, 16, 20,
+  21, 5, 6, 6, 0, 41, 97, 65, 42, 51, 53, 46, 57, 96, 36, 34,
+  34, 30, 76, 107, 41, 63, 63, 122, 81, 76, 88, 88, 77, 116, 64, 56,
+  0, 61, 84, 91, 60, 79, 59, 68, 48, 53, 61, 52, 29, 52, 96, 114,
+  112, 108, 88, 112, 96, 91, 100, 61, 30, 46, 108, 107, 89, 88, 89, 77,
+  89, 81, 76, 51, 5, 104, 116, 83, 83, 80, 88, 92, 72, 68, 73, 59,
+  2, 123, 110, 100, 71, 68, 65, 91, 75, 73, 73, 45, 108, 84, 75, 69,
+  76, 107, 73, 69, 75, 81, 69, 80, 24, 112, 95, 80, 81, 72, 76, 103,
+  68, 84, 72, 51, 85, 124, 110, 83, 108, 83, 72, 81, 111, 76, 75, 56,
+  0, 88, 92, 122, 80, 77, 67, 72, 68, 114, 75, 53, 5, 99, 114, 85,
+  85, 77, 77, 103, 80, 77, 67, 55, 0, 85, 123, 81, 76, 79, 79, 76,
+  102, 72, 71, 41, 0, 96, 69, 80, 71, 68, 65, 72, 68, 71, 55, 32,
+  26, 57, 104, 77, 71, 57, 71, 59, 59, 57, 79, 53, 22, 111, 112, 108,
+  72, 92, 65, 63, 85, 67, 69, 46, 75, 130, 123, 127, 95, 91, 79, 71,
+  57, 53, 44, 40, 34, 30, 30, 28, 30, 26, 29, 26, 26, 24, 20, 30,
+  6, 28, 51, 49, 45, 57, 51, 59, 64, 61, 37, 34, 24, 55, 131, 88,
+  99, 63, 91, 102, 65, 75, 72, 33, 80, 89, 72, 75, 59, 55, 87, 67,
+  64, 64, 83, 44, 21, 75, 81, 84, 69, 60, 61, 67, 61, 48, 38, 0,
+  93, 95, 85, 114, 48, 49, 61, 49, 49, 56, 57, 38, 1, 67, 81, 64,
+  110, 67, 64, 67, 53, 53, 83, 59, 24, 67, 120, 65, 63, 68, 57, 67,
+  60, 56, 41, 24, 73, 92, 102, 53, 52, 51, 64, 60, 51, 49, 46, 40,
+  0, 100, 61, 69, 52, 77, 51, 84, 55, 53, 40, 16, 71, 120, 83, 92,
+  67, 63, 53, 49, 49, 44, 36, 0, 91, 75, 106, 42, 48, 45, 45, 57,
+  85, 60, 32, 2, 99, 118, 69, 73, 29, 42, 29, 73, 30, 29, 28, 20,
+  0, 91, 99, 51, 93, 38, 59, 45, 68, 49, 53, 48, 30, 2, 87, 108,
+  55, 38, 80, 52, 53, 57, 42, 30, 0, 79, 87, 57, 42, 42, 40, 38,
+  72, 40, 68, 32, 1, 61, 91, 83, 51, 64, 59, 51, 44, 44, 73, 29,
+  1, 63, 77, 56, 79, 95, 68, 41, 45, 46, 60, 28, 2, 108, 114, 108,
+  85, 92, 107, 87, 87, 87, 89, 44, 100, 102, 75, 75, 81, 53, 38, 60,
+  36, 36, 40, 37, 21, 97, 96, 37, 87, 38, 42, 51, 38, 41, 29, 13,
+  32, 97, 46, 40, 28, 25, 26, 24, 25, 52, 20, 10, 56, 84, 99, 48,
+  41, 46, 71, 48, 51, 83, 41, 41, 1, 93, 116, 95, 67, 69, 67, 67,
+  97, 83, 72, 71, 34, 76, 88, 67, 13, 13, 10, 12, 22, 20, 26, 0,
+  0, 48, 69, 38, 33, 30, 46, 37, 60, 36, 73, 12, 0, 53, 53, 25,
+  17, 24, 30, 25, 17, 30, 13, 2, 25, 96, 41, 36, 30, 59, 26, 24,
+  24, 48, 17, 18, 5, 20, 14, 2, 6, 5, 18, 6, 4, 13, 1, 0,
+  45, 91, 55, 32, 51, 38, 45, 45, 81, 42, 37, 33, 25, 71, 111, 45,
+  61, 5, 122, 79, 81, 87, 89, 73, 116, 65, 51, 0, 55, 77, 97, 56,
+  87, 56, 64, 49, 56, 46, 59, 29, 33, 88, 118, 115, 119, 87, 108, 122,
+  80, 107, 57, 33, 26, 119, 112, 76, 76, 81, 93, 92, 76, 75, 52, 4,
+  108, 120, 84, 77, 80, 80, 73, 75, 68, 73, 60, 2, 123, 111, 111, 71,
+  68, 68, 73, 76, 73, 68, 37, 112, 77, 72, 65, 110, 88, 68, 71, 75,
+  84, 72, 67, 21, 99, 97, 77, 72, 72, 76, 112, 67, 79, 71, 46, 96,
+  128, 115, 80, 110, 71, 77, 81, 114, 76, 76, 60, 0, 80, 88, 122, 68,
+  81, 68, 77, 67, 134, 61, 51, 0, 110, 115, 81, 83, 75, 75, 111, 77,
+  73, 68, 52, 0, 79, 122, 76, 76, 73, 71, 76, 112, 76, 75, 42, 0,
+  84, 76, 75, 67, 64, 73, 67, 68, 64, 51, 34, 32, 56, 107, 106, 59,
+  71, 61, 53, 56, 53, 96, 52, 21, 108, 118, 120, 75, 100, 97, 60, 77,
+  69, 60, 45, 69, 115, 126, 118, 114, 93, 85, 76, 71, 63, 55, 41, 42,
+  41, 37, 36, 36, 22, 24, 24, 22, 20, 20, 36, 5, 28, 55, 37, 63,
+  44, 45, 63, 85, 81, 52, 36, 32, 48, 136, 79, 108, 64, 102, 77, 68,
+  72, 60, 29, 80, 84, 68, 72, 60, 55, 99, 61, 65, 60, 97, 46, 24,
+  79, 75, 59, 60, 61, 61, 61, 63, 48, 38, 0, 96, 80, 80, 130, 48,
+  48, 56, 49, 51, 55, 64, 42, 0, 69, 85, 67, 110, 64, 64, 63, 53,
+  49, 92, 52, 20, 69, 134, 60, 65, 61, 53, 55, 56, 56, 41, 25, 65,
+  97, 60, 52, 51, 52, 49, 52, 55, 51, 41, 38, 1, 115, 63, 61, 51,
+  92, 49, 100, 51, 46, 37, 17, 65, 119, 67, 102, 57, 57, 53, 44, 38,
+  48, 37, 0, 104, 73, 93, 42, 51, 81, 84, 56, 96, 59, 33, 1, 115,
+  127, 77, 75, 25, 32, 30, 81, 37, 26, 28, 20, 0, 89, 111, 63, 95,
+  38, 52, 44, 77, 48, 53, 48, 32, 0, 91, 99, 51, 42, 88, 44, 57,
+  55, 34, 30, 0, 89, 106, 53, 42, 41, 38, 38, 81, 40, 40, 29, 0,
+  55, 96, 97, 46, 44, 42, 41, 38, 38, 85, 29, 1, 57, 65, 55, 83,
+  110, 45, 40, 40, 45, 77, 29, 1, 112, 126, 120, 84, 85, 115, 85, 84,
+  85, 87, 26, 104, 99, 93, 57, 92, 51, 38, 44, 33, 36, 33, 37, 17,
+  102, 97, 36, 97, 37, 40, 38, 37, 37, 29, 14, 22, 97, 42, 30, 29,
+  68, 26, 24, 26, 40, 20, 10, 51, 56, 107, 44, 44, 45, 56, 48, 48,
+  68, 45, 38, 1, 84, 119, 87, 71, 67, 67, 64, 99, 80, 75, 72, 28,
+  81, 89, 71, 16, 5, 12, 17, 10, 17, 22, 0, 0, 40, 68, 21, 17,
+  17, 24, 33, 72, 34, 45, 13, 0, 45, 44, 29, 17, 25, 24, 22, 26,
+  30, 13, 8, 5, 97, 45, 33, 29, 48, 28, 22, 22, 26, 18, 16, 8,
+  6, 14, 1, 30, 1, 0, 2, 5, 4, 1, 0, 38, 83, 40, 37, 53,
+  41, 33, 53, 91, 28, 26, 38, 21, 92, 106, 9, 8, 0, 162, 165, 161,
+  159, 159, 170, 173, 154, 132, 0, 162, 179, 179, 175, 181, 155, 165, 177, 178,
+  148, 84, 124, 179, 181, 165, 181, 163, 165, 165, 174, 159, 153, 140, 0, 170,
+  185, 182, 151, 186, 155, 153, 155, 169, 161, 72, 100, 169, 169, 170, 174, 175,
+  173, 161, 158, 170, 163, 169, 46, 161, 157, 150, 150, 165, 171, 154, 140, 139,
+  122, 130, 65, 148, 170, 148, 150, 147, 131, 161, 131, 155, 142, 126, 68, 102,
+  170, 138, 146, 146, 169, 165, 146, 163, 124, 130, 8, 163, 166, 143, 171, 185,
+  151, 134, 165, 144, 153, 77, 73, 153, 158, 158, 120, 115, 123, 138, 124, 142,
+  123, 115, 30, 155, 163, 170, 166, 153, 157, 153, 138, 135, 115, 100, 0, 150,
+  157, 153, 159, 140, 138, 128, 153, 173, 139, 136, 37, 148, 171, 158, 135, 134,
+  150, 130, 131, 120, 119, 79, 102, 174, 159, 135, 157, 148, 130, 132, 130, 147,
+  171, 114, 1, 153, 139, 154, 153, 138, 123, 131, 146, 148, 142, 33, 151, 154,
+  127, 132, 128, 126, 153, 132, 114, 128, 147, 34, 144, 147, 134, 150, 148, 142,
+  135, 130, 128, 110, 110, 99, 4, 104, 151, 127, 135, 112, 132, 102, 135, 111,
+  106, 96, 34, 142, 147, 123, 148, 132, 116, 112, 104, 100, 104, 85, 13, 135,
+  136, 144, 143, 112, 115, 123, 107, 135, 84, 17, 169, 153, 153, 132, 171, 151,
+  148, 123, 135, 130, 130, 115, 65, 91, 147, 138, 120, 112, 118, 138, 115, 132,
+  97, 56, 73, 163, 177, 162, 182, 144, 139, 140, 163, 132, 128, 38, 106, 135,
+  138, 131, 107, 104, 107, 139, 104, 104, 108, 49, 91, 136, 157, 130, 162, 106,
+  103, 95, 103, 92, 104, 99, 28, 124, 104, 108, 103, 126, 106, 97, 100, 122,
+  83, 99, 26, 150, 130, 124, 126, 127, 108, 110, 132, 93, 92, 83, 8, 91,
+  139, 120, 140, 87, 89, 87, 107, 88, 88, 36, 114, 124, 123, 122, 119, 95,
+  99, 126, 126, 92, 84, 69, 4, 122, 102, 123, 123, 88, 99, 80, 85, 83,
+  110, 81, 4, 146, 123, 154, 107, 95, 115, 84, 80, 80, 77, 38, 76, 116,
+  84, 127, 114, 72, 111, 114, 64, 75, 69, 8, 119, 161, 136, 114, 104, 107,
+  161, 131, 102, 103, 89, 85, 2, 91, 97, 97, 57, 52, 51, 57, 53, 55,
+  56, 49, 16, 104, 106, 73, 119, 92, 103, 63, 68, 63, 63, 61, 8, 110,
+  127, 111, 114, 130, 65, 106, 111, 73, 68, 61, 40, 0, 123, 131, 118, 110,
+  110, 91, 87, 84, 76, 81, 4, 124, 103, 128, 87, 53, 93, 61, 99, 57,
+  52, 13, 92, 122, 76, 88, 56, 87, 45, 84, 111, 76, 53, 41, 25, 56,
+  103, 96, 103, 102, 68, 46, 48, 53, 56, 44, 12, 89, 89, 52, 84, 56,
+  91, 48, 45, 42, 37, 1, 123, 116, 107, 42, 44, 93, 83, 87, 111, 49,
+  38, 33, 2, 91, 38, 38, 36, 36, 104, 84, 55, 32, 32, 26, 2, 51,
+  84, 60, 84, 100, 22, 30, 36, 24, 29, 20, 0, 77, 83, 33, 26, 21,
+  22, 34, 76, 25, 22, 13, 8, 40, 97, 68, 42, 29, 97, 30, 30, 33,
+  24, 59, 18, 12, 97, 38, 114, 30, 181, 178, 181, 158, 159, 167, 173, 155,
+  127, 1, 163, 183, 177, 170, 183, 161, 162, 175, 178, 134, 75, 128, 173, 179,
+  177, 161, 162, 158, 162, 174, 162, 153, 140, 0, 167, 181, 178, 155, 179, 157,
+  150, 162, 162, 154, 88, 103, 159, 167, 170, 159, 162, 153, 155, 163, 158, 157,
+  162, 67, 155, 159, 150, 151, 153, 169, 167, 158, 136, 122, 126, 83, 150, 173,
+  151, 148, 158, 144, 167, 143, 157, 139, 111, 64, 106, 170, 140, 144, 144, 166,
+  162, 147, 159, 120, 122, 5, 157, 159, 155, 169, 181, 155, 135, 163, 147, 144,
+  64, 73, 142, 150, 122, 115, 118, 124, 127, 131, 127, 122, 110, 46, 150, 159,
+  158, 178, 163, 150, 151, 153, 135, 116, 104, 0, 146, 154, 165, 155, 140, 139,
+  136, 147, 162, 148, 134, 42, 143, 167, 157, 136, 135, 147, 150, 126, 112, 119,
+  75, 103, 166, 148, 134, 140, 142, 142, 130, 130, 140, 162, 102, 0, 151, 143,
+  144, 151, 139, 128, 134, 140, 147, 140, 40, 155, 148, 135, 135, 118, 144, 146,
+  119, 126, 115, 135, 52, 136, 147, 143, 144, 132, 132, 134, 128, 136, 110, 112,
+  88, 2, 111, 139, 119, 108, 119, 120, 108, 124, 110, 108, 99, 48, 135, 150,
+  126, 143, 139, 123, 127, 127, 115, 103, 97, 12, 131, 132, 132, 116, 114, 128,
+  112, 115, 127, 91, 22, 158, 151, 151, 140, 150, 151, 144, 128, 142, 131, 135,
+  115, 60, 93, 148, 136, 108, 119, 134, 130, 114, 128, 103, 55, 77, 159, 169,
+  157, 167, 142, 136, 140, 158, 132, 126, 46, 111, 134, 136, 123, 106, 110, 108,
+  132, 106, 102, 100, 48, 89, 136, 148, 130, 147, 114, 107, 100, 100, 93, 103,
+  99, 40, 107, 110, 111, 127, 124, 111, 97, 99, 111, 89, 96, 26, 146, 134,
+  114, 116, 100, 100, 112, 128, 87, 93, 84, 6, 99, 128, 114, 138, 83, 91,
+  91, 99, 85, 84, 34, 108, 120, 122, 118, 102, 119, 119, 120, 104, 91, 85,
+  68, 4, 122, 104, 120, 114, 89, 95, 92, 75, 92, 99, 76, 4, 138, 136,
+  128, 103, 84, 115, 84, 84, 77, 76, 36, 80, 111, 112, 120, 89, 71, 108,
+  111, 65, 75, 68, 9, 112, 150, 132, 128, 96, 97, 134, 127, 99, 108, 95,
+  89, 14, 89, 92, 91, 55, 51, 51, 46, 53, 52, 51, 48, 20, 103, 106,
+  79, 106, 89, 102, 64, 67, 71, 61, 51, 9, 106, 107, 107, 114, 102, 69,
+  99, 104, 81, 68, 56, 40, 0, 130, 135, 110, 104, 89, 88, 87, 79, 75,
+  75, 0, 114, 116, 126, 76, 53, 87, 64, 97, 63, 49, 17, 89, 123, 84,
+  81, 56, 79, 46, 51, 49, 49, 53, 41, 22, 56, 110, 80, 95, 99, 63,
+  49, 51, 77, 60, 49, 14, 88, 79, 57, 64, 68, 87, 49, 45, 42, 30,
+  1, 111, 102, 91, 59, 45, 96, 88, 71, 65, 57, 38, 30, 2, 88, 55,
+  46, 37, 34, 44, 93, 83, 33, 40, 25, 1, 61, 83, 68, 93, 63, 38,
+  29, 37, 24, 22, 18, 0, 81, 80, 30, 30, 24, 22, 24, 76, 29, 42,
+  13, 8, 36, 87, 63, 48, 28, 80, 34, 28, 29, 21, 52, 16, 12, 104,
+  51, 104, 41, 169, 174, 169, 161, 159, 162, 173, 155, 147, 17, 162, 179, 173,
+  173, 178, 162, 162, 169, 175, 140, 69, 131, 175, 175, 179, 166, 155, 151, 158,
+  169, 159, 155, 138, 0, 165, 174, 157, 173, 165, 154, 153, 155, 166, 153, 84,
+  110, 170, 163, 153, 155, 163, 166, 166, 161, 158, 154, 166, 71, 150, 158, 153,
+  150, 148, 158, 159, 162, 146, 123, 120, 80, 153, 175, 150, 148, 143, 146, 148,
+  157, 151, 140, 136, 60, 118, 162, 144, 144, 154, 165, 153, 157, 155, 118, 123,
+  6, 153, 163, 147, 150, 148, 139, 136, 162, 147, 139, 57, 76, 139, 151, 126,
+  106, 119, 110, 115, 120, 116, 116, 111, 48, 144, 159, 158, 158, 169, 159, 140,
+  147, 135, 122, 102, 1, 146, 162, 161, 150, 144, 136, 139, 136, 131, 142, 134,
+  52, 135, 166, 153, 136, 132, 138, 151, 116, 124, 122, 72, 107, 165, 157, 153,
+  142, 142, 142, 139, 131, 136, 148, 123, 4, 144, 144, 148, 144, 144, 132, 135,
+  136, 143, 135, 48, 148, 150, 127, 123, 143, 127, 110, 128, 127, 107, 130, 56,
+  132, 146, 138, 135, 139, 136, 131, 131, 123, 108, 108, 112, 18, 99, 134, 114,
+  119, 116, 116, 114, 116, 108, 107, 99, 53, 131, 147, 126, 140, 130, 128, 119,
+  122, 116, 111, 95, 10, 127, 131, 123, 115, 127, 107, 114, 106, 123, 79, 32,
+  150, 150, 150, 144, 136, 126, 128, 139, 131, 135, 130, 115, 56, 97, 144, 134,
+  114, 118, 146, 132, 118, 119, 107, 55, 110, 159, 158, 154, 159, 150, 140, 144,
+  157, 131, 128, 56, 107, 134, 135, 122, 106, 112, 108, 130, 104, 97, 95, 44,
+  93, 132, 143, 131, 143, 123, 104, 102, 96, 92, 102, 99, 44, 116, 114, 107,
+  135, 108, 107, 99, 97, 110, 91, 99, 40, 135, 128, 111, 118, 136, 138, 136,
+  124, 88, 95, 73, 13, 99, 120, 110, 108, 81, 85, 95, 81, 84, 84, 46,
+  102, 120, 122, 118, 104, 100, 92, 103, 92, 88, 85, 67, 14, 127, 110, 131,
+  87, 76, 84, 88, 75, 84, 88, 76, 5, 134, 120, 136, 123, 103, 120, 87,
+  84, 83, 64, 42, 92, 100, 120, 104, 71, 77, 108, 112, 68, 71, 68, 10,
+  107, 150, 134, 122, 112, 100, 107, 99, 100, 106, 95, 84, 8, 88, 99, 71,
+  49, 48, 46, 46, 48, 56, 49, 38, 20, 97, 107, 88, 95, 77, 95, 64,
+  64, 67, 64, 61, 1, 103, 106, 110, 123, 79, 69, 88, 107, 76, 71, 59,
+  40, 0, 112, 136, 108, 102, 88, 92, 88, 93, 72, 76, 0, 107, 103, 77,
+  56, 81, 77, 80, 92, 57, 51, 20, 83, 115, 77, 102, 55, 49, 48, 48,
+  48, 49, 53, 36, 20, 55, 100, 87, 91, 92, 65, 51, 52, 55, 60, 45,
+  20, 80, 73, 75, 75, 69, 80, 48, 44, 44, 37, 2, 107, 85, 77, 51,
+  44, 91, 88, 65, 60, 52, 48, 33, 0, 96, 38, 41, 44, 36, 34, 33,
+  85, 61, 38, 25, 1, 60, 72, 77, 110, 37, 28, 51, 51, 22, 22, 18,
+  0, 72, 79, 51, 40, 26, 21, 55, 41, 26, 26, 12, 6, 34, 36, 64,
+  51, 25, 22, 25, 28, 25, 25, 44, 13, 16, 96, 63, 93, 83, 166, 171,
+  169, 155, 158, 162, 169, 150, 142, 0, 162, 183, 169, 169, 178, 173, 159, 167,
+  169, 138, 60, 132, 174, 165, 153, 154, 170, 166, 166, 167, 166, 153, 136, 17,
+  163, 171, 154, 163, 159, 155, 150, 158, 158, 135, 81, 115, 166, 162, 174, 162,
+  171, 166, 162, 157, 155, 159, 158, 79, 147, 165, 154, 148, 150, 144, 151, 158,
+  130, 131, 111, 85, 159, 182, 135, 138, 143, 153, 139, 142, 136, 135, 134, 55,
+  115, 165, 143, 146, 158, 154, 154, 153, 138, 122, 118, 8, 155, 162, 159, 158,
+  155, 136, 153, 150, 154, 120, 53, 75, 131, 111, 114, 100, 103, 106, 107, 112,
+  111, 112, 103, 53, 139, 158, 153, 154, 165, 167, 146, 134, 139, 119, 88, 1,
+  143, 155, 159, 147, 147, 154, 144, 144, 140, 142, 135, 60, 131, 153, 151, 138,
+  132, 136, 146, 134, 120, 92, 64, 108, 161, 153, 155, 159, 147, 158, 147, 138,
+  132, 143, 118, 1, 142, 147, 135, 139, 143, 134, 124, 136, 127, 131, 55, 144,
+  148, 127, 130, 130, 128, 111, 111, 127, 102, 122, 63, 128, 142, 140, 142, 138,
+  132, 131, 132, 134, 110, 111, 110, 5, 103, 119, 108, 104, 114, 112, 108, 120,
+  100, 107, 100, 61, 126, 146, 128, 140, 144, 110, 123, 122, 116, 107, 85, 20,
+  116, 128, 139, 122, 100, 127, 115, 118, 120, 75, 29, 136, 153, 148, 142, 127,
+  134, 136, 131, 128, 135, 132, 116, 48, 103, 143, 128, 108, 122, 127, 122, 112,
+  116, 106, 55, 87, 155, 165, 148, 139, 139, 144, 154, 151, 134, 127, 63, 106,
+  131, 140, 108, 112, 108, 104, 136, 106, 85, 88, 41, 93, 134, 130, 124, 130,
+  135, 104, 108, 97, 95, 103, 97, 48, 110, 112, 114, 118, 110, 110, 104, 99,
+  104, 91, 99, 44, 132, 130, 111, 119, 115, 119, 106, 103, 103, 102, 69, 20,
+  96, 111, 118, 106, 81, 89, 92, 77, 84, 88, 49, 102, 118, 119, 115, 122,
+  97, 95, 96, 103, 80, 84, 68, 6, 114, 100, 100, 114, 69, 102, 102, 76,
+  73, 92, 79, 6, 122, 124, 135, 108, 99, 132, 93, 88, 81, 73, 45, 92,
+  84, 114, 99, 72, 75, 100, 100, 65, 72, 65, 9, 111, 143, 127, 99, 107,
+  103, 99, 95, 102, 110, 95, 83, 10, 68, 95, 55, 44, 48, 40, 51, 48,
+  53, 41, 37, 18, 92, 87, 79, 83, 75, 88, 71, 73, 69, 63, 61, 0,
+  100, 103, 102, 120, 69, 76, 85, 96, 87, 65, 59, 38, 0, 119, 136, 100,
+  96, 88, 92, 88, 93, 71, 72, 0, 100, 106, 73, 51, 76, 51, 67, 59,
+  73, 51, 24, 80, 93, 97, 77, 65, 46, 46, 48, 48, 48, 59, 42, 17,
+  63, 96, 91, 81, 83, 76, 51, 52, 61, 60, 49, 21, 85, 72, 71, 63,
+  69, 64, 46, 44, 41, 38, 2, 100, 77, 68, 53, 45, 89, 95, 97, 72,
+  57, 40, 34, 0, 93, 55, 51, 45, 29, 34, 33, 33, 52, 38, 26, 2,
+  65, 75, 65, 48, 21, 33, 33, 29, 22, 21, 17, 0, 67, 77, 32, 41,
+  30, 21, 40, 34, 36, 28, 12, 5, 20, 59, 55, 52, 24, 21, 21, 21,
+  14, 18, 28, 10, 18, 80, 63, 64, 92, 153, 159, 162, 158, 158, 163, 166,
+  148, 126, 0, 161, 170, 167, 174, 175, 173, 163, 163, 148, 135, 57, 131, 177,
+  177, 165, 169, 174, 169, 167, 166, 158, 146, 132, 0, 162, 166, 151, 167, 157,
+  155, 151, 153, 159, 124, 81, 112, 162, 170, 165, 163, 167, 171, 163, 161, 163,
+  157, 158, 84, 97, 157, 157, 147, 150, 148, 147, 144, 143, 122, 114, 88, 153,
+  157, 146, 158, 150, 158, 154, 146, 139, 136, 112, 49, 115, 162, 143, 155, 155,
+  148, 153, 154, 131, 120, 119, 24, 153, 154, 154, 147, 140, 148, 142, 148, 154,
+  116, 48, 77, 134, 112, 95, 104, 104, 108, 104, 108, 106, 111, 103, 59, 138,
+  157, 154, 151, 166, 150, 148, 135, 138, 112, 88, 0, 138, 146, 163, 153, 136,
+  142, 146, 150, 148, 140, 136, 68, 89, 150, 155, 144, 131, 130, 142, 135, 114,
+  91, 61, 110, 158, 155, 139, 147, 153, 144, 142, 146, 131, 142, 100, 0, 146,
+  151, 150, 139, 143, 136, 135, 136, 131, 132, 60, 139, 144, 143, 126, 136, 118,
+  106, 107, 128, 128, 123, 64, 127, 136, 134, 134, 136, 135, 138, 136, 134, 107,
+  111, 89, 8, 93, 120, 103, 115, 110, 100, 110, 110, 108, 102, 99, 64, 84,
+  140, 126, 144, 143, 118, 123, 108, 114, 92, 84, 20, 122, 123, 119, 108, 127,
+  130, 131, 124, 124, 72, 29, 85, 154, 146, 138, 131, 135, 132, 130, 131, 135,
+  111, 114, 44, 110, 142, 130, 118, 126, 116, 115, 115, 115, 97, 53, 85, 157,
+  146, 155, 135, 155, 143, 150, 138, 132, 131, 71, 81, 128, 140, 107, 112, 116,
+  118, 130, 104, 81, 83, 41, 93, 128, 119, 120, 114, 116, 110, 107, 112, 92,
+  103, 97, 51, 111, 114, 112, 114, 106, 106, 110, 99, 96, 93, 96, 48, 123,
+  127, 120, 116, 93, 114, 104, 108, 103, 92, 83, 17, 102, 116, 104, 97, 77,
+  89, 85, 77, 80, 77, 48, 63, 112, 118, 115, 118, 95, 87, 106, 92, 81,
+  81, 65, 8, 111, 116, 95, 104, 93, 106, 108, 72, 80, 88, 75, 10, 118,
+  118, 131, 99, 118, 122, 104, 88, 73, 72, 46, 89, 97, 108, 99, 96, 69,
+  96, 97, 65, 71, 65, 16, 99, 147, 123, 106, 103, 100, 107, 104, 103, 106,
+  104, 77, 18, 57, 89, 49, 46, 52, 41, 46, 38, 44, 38, 37, 20, 49,
+  96, 67, 102, 76, 81, 79, 77, 71, 72, 55, 0, 100, 104, 104, 77, 92,
+  93, 80, 97, 93, 71, 69, 37, 0, 122, 131, 102, 96, 91, 93, 89, 79,
+  69, 80, 8, 106, 95, 64, 56, 83, 79, 61, 67, 76, 49, 28, 38, 84,
+  102, 100, 60, 55, 53, 48, 44, 46, 53, 38, 17, 59, 95, 81, 81, 77,
+  72, 48, 46, 59, 63, 44, 21, 79, 75, 68, 61, 68, 81, 49, 46, 41,
+  36, 2, 104, 87, 68, 41, 48, 41, 51, 52, 42, 56, 38, 30, 6, 81,
+  46, 38, 26, 29, 26, 28, 29, 37, 29, 24, 2, 63, 69, 65, 21, 40,
+  26, 69, 38, 34, 32, 16, 0, 53, 69, 38, 51, 44, 20, 32, 41, 30,
+  24, 12, 5, 10, 16, 29, 38, 51, 38, 14, 12, 10, 38, 18, 8, 26,
+  84, 68, 41, 32, 154, 158, 159, 157, 158, 158, 167, 155, 116, 2, 157, 175,
+  163, 173, 177, 173, 165, 170, 167, 110, 51, 134, 174, 179, 167, 166, 171, 171,
+  170, 169, 159, 158, 135, 1, 159, 173, 157, 167, 157, 150, 151, 155, 157, 95,
+  79, 111, 142, 173, 157, 167, 157, 163, 161, 162, 144, 161, 130, 89, 96, 150,
+  157, 153, 150, 148, 147, 150, 136, 120, 102, 96, 150, 178, 151, 158, 150, 144,
+  158, 146, 135, 138, 99, 40, 122, 163, 142, 157, 147, 148, 159, 153, 128, 110,
+  114, 13, 146, 150, 159, 154, 148, 153, 155, 148, 151, 114, 44, 77, 143, 106,
+  111, 107, 128, 111, 99, 100, 104, 111, 96, 71, 89, 155, 154, 147, 162, 159,
+  163, 157, 130, 107, 112, 1, 134, 153, 163, 151, 146, 143, 140, 139, 140, 139,
+  135, 75, 80, 136, 142, 151, 130, 110, 135, 134, 104, 89, 55, 99, 158, 151,
+  148, 146, 146, 139, 144, 131, 131, 144, 87, 0, 143, 143, 143, 135, 143, 138,
+  128, 123, 140, 135, 71, 100, 130, 151, 132, 150, 123, 119, 134, 138, 100, 120,
+  71, 93, 128, 134, 134, 128, 128, 127, 128, 108, 106, 112, 72, 4, 91, 122,
+  119, 99, 93, 103, 97, 97, 97, 102, 96, 68, 75, 132, 140, 140, 108, 122,
+  118, 104, 112, 95, 97, 18, 118, 119, 114, 102, 107, 97, 118, 115, 130, 72,
+  32, 83, 153, 147, 136, 130, 131, 134, 140, 136, 138, 119, 96, 36, 106, 136,
+  123, 118, 136, 115, 114, 112, 112, 95, 52, 81, 147, 144, 134, 139, 132, 140,
+  146, 135, 131, 132, 72, 45, 120, 135, 106, 116, 115, 127, 122, 93, 85, 76,
+  33, 92, 122, 123, 128, 114, 108, 112, 92, 96, 92, 102, 97, 53, 102, 110,
+  115, 114, 108, 107, 106, 110, 99, 92, 99, 51, 71, 128, 122, 106, 111, 118,
+  103, 114, 91, 92, 87, 16, 99, 116, 99, 75, 77, 91, 85, 80, 77, 81,
+  65, 60, 107, 112, 112, 107, 97, 112, 84, 88, 79, 72, 64, 8, 110, 103,
+  87, 96, 103, 75, 92, 73, 72, 83, 83, 13, 108, 131, 114, 95, 91, 93,
+  108, 93, 72, 75, 42, 85, 91, 112, 103, 93, 71, 93, 68, 68, 72, 68,
+  17, 108, 138, 122, 93, 87, 110, 88, 108, 104, 111, 96, 89, 13, 77, 81,
+  48, 34, 37, 52, 37, 40, 37, 30, 33, 18, 45, 89, 110, 79, 69, 57,
+  64, 80, 68, 64, 41, 13, 84, 103, 77, 80, 87, 80, 93, 80, 80, 73,
+  60, 36, 0, 115, 122, 96, 95, 89, 91, 91, 77, 68, 68, 8, 93, 97,
+  61, 48, 79, 79, 71, 56, 72, 49, 41, 33, 79, 99, 102, 60, 45, 46,
+  44, 44, 49, 55, 37, 12, 81, 87, 79, 99, 75, 61, 48, 51, 49, 65,
+  48, 24, 32, 81, 69, 65, 60, 59, 53, 46, 42, 28, 4, 103, 76, 65,
+  48, 48, 56, 51, 46, 45, 59, 36, 30, 5, 79, 41, 29, 29, 26, 28,
+  51, 37, 33, 29, 24, 2, 61, 61, 77, 44, 41, 52, 53, 24, 36, 22,
+  16, 0, 38, 67, 41, 40, 40, 44, 46, 38, 30, 22, 10, 4, 10, 8,
+  21, 24, 24, 34, 14, 10, 10, 26, 13, 4, 36, 72, 37, 36, 32, 171,
+  167, 163, 162, 161, 159, 158, 158, 143, 33, 155, 167, 163, 166, 167, 174, 169,
+  169, 167, 130, 44, 134, 171, 169, 169, 159, 167, 166, 169, 154, 158, 153, 134,
+  1, 157, 167, 162, 153, 153, 163, 159, 163, 127, 116, 71, 124, 159, 169, 170,
+  163, 127, 118, 130, 140, 140, 128, 130, 136, 128, 108, 119, 148, 153, 153, 150,
+  130, 127, 114, 92, 108, 153, 175, 154, 159, 147, 158, 146, 134, 144, 132, 130,
+  36, 128, 159, 139, 161, 157, 158, 151, 154, 140, 108, 116, 16, 150, 155, 159,
+  153, 151, 158, 154, 154, 150, 87, 38, 77, 93, 87, 89, 106, 103, 108, 104,
+  84, 88, 88, 111, 77, 83, 142, 151, 150, 148, 143, 142, 142, 123, 119, 91,
+  4, 134, 130, 161, 147, 147, 143, 134, 130, 134, 128, 126, 123, 120, 83, 89,
+  100, 111, 111, 127, 134, 120, 112, 60, 114, 154, 140, 142, 131, 140, 142, 142,
+  140, 142, 142, 114, 5, 139, 143, 144, 131, 142, 140, 122, 139, 138, 132, 79,
+  76, 89, 124, 120, 142, 131, 112, 104, 134, 110, 81, 73, 76, 87, 127, 96,
+  97, 102, 100, 102, 102, 102, 114, 107, 29, 95, 114, 93, 95, 88, 103, 93,
+  91, 104, 95, 95, 100, 68, 88, 123, 124, 96, 92, 106, 102, 115, 108, 95,
+  13, 112, 118, 103, 119, 112, 112, 107, 112, 104, 67, 76, 69, 148, 144, 139,
+  139, 131, 132, 130, 132, 131, 116, 111, 32, 110, 132, 123, 110, 115, 120, 110,
+  110, 112, 97, 46, 127, 153, 131, 128, 139, 140, 140, 128, 136, 136, 131, 80,
+  67, 112, 131, 104, 122, 119, 111, 108, 103, 85, 73, 30, 93, 119, 111, 93,
+  95, 93, 96, 93, 96, 99, 102, 97, 57, 63, 112, 115, 114, 111, 102, 102,
+  108, 95, 93, 93, 67, 65, 119, 119, 108, 112, 128, 111, 104, 83, 92, 81,
+  20, 93, 96, 79, 76, 77, 77, 68, 76, 57, 71, 80, 56, 71, 97, 97,
+  104, 81, 84, 79, 77, 79, 85, 60, 10, 100, 118, 122, 97, 102, 100, 71,
+  96, 83, 76, 71, 12, 112, 118, 107, 124, 84, 83, 95, 91, 81, 59, 34,
+  93, 93, 108, 97, 85, 72, 87, 72, 71, 71, 61, 18, 96, 143, 124, 114,
+  103, 104, 108, 107, 103, 99, 97, 83, 14, 64, 37, 37, 34, 25, 34, 33,
+  32, 33, 32, 28, 24, 44, 84, 65, 56, 57, 52, 59, 61, 63, 65, 57,
+  2, 92, 95, 76, 75, 93, 83, 76, 76, 76, 75, 57, 33, 0, 118, 124,
+  95, 93, 97, 91, 91, 97, 65, 71, 1, 88, 87, 63, 48, 77, 76, 76,
+  60, 60, 48, 42, 32, 72, 87, 79, 41, 42, 52, 44, 46, 49, 52, 42,
+  13, 64, 87, 93, 55, 64, 61, 45, 53, 60, 67, 52, 34, 24, 49, 79,
+  77, 68, 69, 65, 55, 46, 37, 4, 93, 79, 63, 40, 46, 48, 55, 52,
+  46, 57, 32, 33, 0, 75, 36, 28, 29, 25, 29, 42, 55, 33, 30, 22,
+  4, 63, 88, 60, 44, 38, 59, 29, 37, 37, 22, 14, 0, 18, 49, 52,
+  52, 41, 40, 44, 42, 37, 17, 10, 4, 9, 14, 9, 12, 10, 9, 10,
+  10, 10, 24, 26, 4, 71, 85, 64, 46, 41, 151, 154, 151, 157, 155, 161,
+  157, 144, 128, 0, 153, 159, 161, 157, 159, 159, 162, 158, 151, 124, 32, 135,
+  144, 144, 140, 144, 142, 144, 151, 143, 143, 134, 131, 26, 151, 165, 165, 161,
+  163, 153, 159, 157, 122, 110, 71, 119, 153, 166, 163, 127, 136, 118, 116, 128,
+  138, 126, 122, 114, 122, 123, 130, 142, 139, 138, 136, 135, 111, 108, 83, 108,
+  157, 157, 153, 139, 132, 140, 147, 127, 127, 130, 130, 28, 122, 161, 154, 142,
+  139, 148, 155, 147, 138, 120, 114, 17, 144, 153, 162, 153, 154, 159, 155, 148,
+  119, 106, 33, 83, 104, 73, 80, 72, 91, 81, 85, 85, 84, 80, 83, 84,
+  110, 91, 97, 103, 107, 107, 108, 115, 127, 103, 77, 8, 128, 142, 143, 140,
+  136, 104, 131, 93, 103, 104, 122, 99, 102, 115, 126, 115, 118, 123, 122, 138,
+  122, 84, 46, 111, 122, 130, 123, 120, 124, 127, 128, 130, 123, 115, 114, 4,
+  134, 135, 139, 134, 130, 128, 128, 127, 126, 119, 116, 118, 122, 102, 97, 102,
+  103, 99, 112, 107, 118, 112, 110, 111, 111, 97, 93, 116, 112, 97, 115, 118,
+  115, 112, 110, 10, 81, 107, 110, 95, 77, 80, 87, 88, 89, 91, 100, 92,
+  96, 102, 106, 107, 106, 106, 107, 110, 111, 99, 81, 26, 106, 108, 106, 97,
+  92, 87, 95, 81, 75, 67, 59, 68, 91, 139, 147, 108, 127, 127, 132, 114,
+  115, 111, 111, 25, 106, 103, 106, 96, 100, 100, 108, 108, 111, 96, 48, 93,
+  140, 130, 127, 116, 119, 119, 114, 106, 93, 96, 80, 67, 106, 116, 112, 107,
+  104, 104, 104, 107, 77, 73, 26, 93, 120, 114, 107, 110, 103, 108, 102, 106,
+  110, 102, 91, 93, 61, 68, 75, 99, 72, 76, 102, 104, 103, 104, 91, 83,
+  60, 77, 124, 112, 111, 108, 80, 83, 93, 83, 65, 32, 84, 100, 81, 69,
+  67, 65, 60, 60, 69, 59, 59, 68, 79, 81, 91, 85, 88, 83, 84, 85,
+  87, 83, 64, 12, 93, 106, 114, 99, 69, 103, 99, 102, 83, 81, 77, 17,
+  104, 118, 97, 88, 103, 102, 97, 97, 75, 72, 41, 93, 87, 83, 75, 87,
+  68, 67, 72, 69, 68, 65, 14, 99, 130, 111, 75, 103, 102, 76, 92, 97,
+  96, 92, 42, 18, 21, 36, 40, 25, 24, 36, 26, 28, 28, 34, 36, 26,
+  38, 51, 53, 49, 51, 55, 57, 55, 56, 55, 56, 0, 80, 87, 84, 81,
+  80, 79, 77, 67, 71, 69, 53, 30, 0, 108, 120, 93, 92, 91, 92, 91,
+  97, 63, 65, 13, 77, 85, 60, 46, 41, 51, 45, 45, 32, 33, 42, 34,
+  36, 38, 40, 46, 49, 48, 49, 46, 51, 49, 38, 12, 29, 65, 63, 38,
+  45, 59, 56, 41, 49, 49, 51, 36, 28, 30, 41, 37, 37, 36, 37, 42,
+  46, 36, 5, 64, 75, 69, 63, 60, 59, 56, 45, 51, 57, 34, 32, 1,
+  71, 48, 28, 25, 24, 41, 37, 37, 33, 32, 24, 4, 57, 84, 41, 44,
+  18, 41, 40, 20, 22, 33, 12, 0, 17, 30, 45, 17, 20, 25, 33, 30,
+  18, 18, 9, 2, 8, 13, 12, 10, 9, 10, 9, 12, 9, 18, 12, 2,
+  56, 85, 42, 24, 24, 119, 114, 132, 108, 106, 99, 131, 96, 40, 0, 72,
+  88, 83, 84, 96, 92, 91, 93, 103, 91, 38, 92, 106, 103, 99, 92, 91,
+  85, 87, 84, 83, 81, 67, 0, 72, 79, 76, 89, 91, 80, 83, 102, 97,
+  73, 71, 79, 119, 123, 84, 80, 85, 76, 72, 71, 68, 72, 65, 67, 64,
+  65, 75, 85, 89, 92, 96, 104, 107, 102, 80, 95, 114, 126, 110, 103, 110,
+  122, 102, 100, 114, 103, 68, 25, 80, 110, 127, 115, 120, 119, 128, 122, 124,
+  111, 110, 22, 138, 151, 153, 153, 140, 136, 144, 135, 97, 95, 25, 102, 79,
+  61, 75, 61, 65, 64, 76, 68, 56, 67, 60, 59, 61, 60, 48, 75, 80,
+  84, 88, 88, 93, 96, 81, 4, 53, 77, 81, 59, 57, 57, 61, 48, 45,
+  41, 59, 56, 41, 40, 55, 56, 59, 45, 107, 114, 111, 71, 42, 75, 88,
+  85, 83, 83, 97, 87, 79, 72, 72, 63, 34, 64, 67, 75, 91, 93, 84,
+  84, 95, 93, 92, 93, 97, 95, 102, 104, 111, 107, 106, 104, 107, 106, 114,
+  99, 95, 93, 114, 100, 93, 87, 110, 87, 80, 77, 110, 77, 18, 16, 79,
+  63, 63, 65, 44, 55, 37, 34, 40, 48, 42, 41, 44, 44, 44, 44, 57,
+  64, 71, 75, 96, 80, 75, 26, 40, 42, 48, 45, 51, 41, 48, 45, 53,
+  41, 38, 59, 89, 77, 92, 96, 89, 85, 91, 91, 88, 80, 76, 22, 77,
+  84, 85, 89, 85, 85, 89, 97, 89, 83, 46, 37, 107, 119, 96, 99, 102,
+  114, 103, 102, 108, 112, 103, 76, 69, 75, 84, 91, 93, 95, 104, 110, 72,
+  67, 24, 87, 110, 118, 114, 96, 103, 104, 103, 91, 91, 89, 80, 77, 84,
+  89, 89, 88, 88, 85, 88, 88, 87, 80, 80, 85, 83, 85, 89, 91, 88,
+  87, 85, 85, 84, 75, 81, 21, 84, 55, 49, 46, 42, 41, 45, 38, 34,
+  33, 36, 34, 36, 52, 36, 37, 37, 41, 38, 57, 60, 55, 53, 13, 36,
+  97, 95, 51, 53, 84, 84, 53, 64, 77, 65, 16, 72, 106, 102, 79, 81,
+  96, 92, 73, 73, 69, 42, 91, 85, 67, 61, 56, 56, 59, 56, 57, 60,
+  60, 24, 85, 107, 96, 38, 34, 34, 38, 40, 29, 30, 18, 51, 25, 1,
+  2, 12, 4, 17, 2, 8, 10, 17, 14, 20, 29, 36, 48, 45, 36, 51,
+  46, 49, 33, 53, 52, 40, 1, 25, 30, 32, 30, 30, 28, 29, 29, 29,
+  29, 28, 26, 0, 51, 108, 106, 103, 103, 102, 100, 95, 60, 81, 16, 55,
+  73, 40, 42, 38, 40, 49, 45, 44, 42, 42, 41, 40, 28, 25, 22, 20,
+  21, 20, 18, 17, 16, 16, 9, 16, 14, 17, 21, 17, 20, 22, 24, 29,
+  28, 24, 29, 28, 32, 30, 34, 34, 33, 30, 34, 36, 32, 6, 18, 30,
+  41, 26, 30, 33, 51, 52, 59, 37, 34, 26, 9, 65, 32, 33, 36, 29,
+  30, 26, 30, 24, 24, 18, 5, 14, 22, 38, 8, 8, 8, 9, 8, 5,
+  5, 17, 0, 5, 5, 5, 9, 6, 8, 6, 16, 18, 22, 8, 2, 13,
+  6, 16, 6, 10, 14, 14, 10, 17, 20, 12, 5, 37, 85, 30, 29, 25,
+  8, 4, 8, 28, 29, 4, 4, 40, 42, 13, 44, 34, 26, 24, 21, 49,
+  18, 17, 13, 53, 42, 5, 38, 9, 6, 5, 24, 6, 5, 4, 2, 4,
+  2, 6, 12, 16, 10, 16, 14, 14, 16, 20, 20, 20, 79, 76, 73, 107,
+  107, 123, 124, 126, 132, 138, 136, 131, 132, 131, 134, 151, 134, 134, 95, 95,
+  93, 88, 80, 80, 67, 44, 46, 42, 40, 36, 36, 36, 34, 34, 37, 40,
+  40, 42, 46, 55, 56, 63, 69, 73, 80, 81, 85, 92, 99, 34, 34, 73,
+  76, 76, 73, 77, 77, 79, 77, 69, 28, 79, 41, 71, 40, 56, 37, 40,
+  68, 85, 110, 112, 96, 100, 116, 126, 140, 130, 119, 103, 95, 87, 87, 42,
+  76, 5, 32, 30, 51, 53, 61, 73, 89, 102, 138, 130, 102, 95, 135, 139,
+  122, 134, 138, 107, 89, 81, 71, 44, 22, 40, 33, 17, 24, 24, 21, 12,
+  13, 13, 10, 8, 5, 6, 4, 5, 2, 2, 1, 1, 0, 0, 0, 0,
+  0, 0, 0, 4, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 14, 0,
+  0, 0, 25, 0, 0, 0, 38, 0, 0, 9, 26, 33, 38, 37, 92, 123,
+  127, 134, 128, 122, 92, 106, 127, 126, 116, 124, 120, 112, 96, 72, 69, 36,
+  59, 29, 2, 1, 26, 22, 1, 0, 17, 5, 8, 1, 6, 9, 9, 1,
+  5, 4, 1, 6, 18, 21, 1, 8, 4, 2, 36, 37, 2, 2, 21, 22,
+  25, 26, 33, 29, 59, 21, 20, 32, 24, 20, 22, 32, 22, 20, 22, 30,
+  24, 22, 22, 56, 25, 24, 24, 30, 36, 45, 41, 65, 22, 59, 80, 79,
+  61, 61, 75, 73, 59, 60, 64, 60, 55, 42, 46, 49, 37, 41, 41, 45,
+  51, 46, 69, 69, 67, 63, 69, 67, 51, 48, 60, 48, 38, 34, 59, 34,
+  52, 26, 44, 63, 75, 75, 76, 87, 111, 93, 69, 73, 61, 59, 64, 97,
+  95, 97, 89, 72, 57, 46, 42, 36, 29, 29, 32, 46, 36, 44, 32, 36,
+  44, 49, 33, 34, 26, 52, 51, 52, 56, 55, 52, 46, 53, 53, 52, 49,
+  44, 88, 59, 45, 56, 44, 48, 45, 45, 40, 40, 42, 53, 29, 41, 56,
+  63, 71, 72, 75, 73, 69, 75, 64, 51, 12, 34, 119, 83, 77, 60, 34,
+  34, 28, 25, 10, 9, 8, 5, 16, 12, 6, 5, 17, 17, 13, 5, 17,
+  17, 5, 4, 13, 14, 13, 1, 9, 2, 9, 1, 5, 2, 0, 0, 26,
+  30, 36, 38, 42, 46, 49, 53, 59, 56, 13, 60, 28, 29, 22, 22, 25,
+  24, 21, 18, 21, 14, 16, 38, 51, 56, 69, 71, 73, 75, 68, 60, 53,
+  34, 12, 68, 80, 79, 57, 72, 67, 60, 26, 14, 13, 6, 10, 10, 10,
+  9, 13, 12, 8, 5, 6, 6, 4, 6, 17, 14, 18, 12, 12, 17, 25,
+  26, 29, 29, 28, 25, 1, 55, 9, 9, 16, 10, 8, 6, 6, 9, 5,
+  4, 5, 10, 21, 36, 32, 33, 44, 48, 45, 42, 34, 17, 0, 48, 75,
+  68, 67, 67, 61, 30, 20, 10, 6, 2, 2, 0, 4, 1, 1, 6, 6,
+  6, 4, 6, 4, 9, 4, 24, 76, 42, 40, 29, 191, 187, 182, 177, 171,
+  159, 166, 135, 73, 32, 80, 151, 161, 147, 136, 142, 139, 139, 144, 123, 57,
+  68, 155, 161, 162, 157, 165, 163, 162, 157, 163, 147, 157, 150, 162, 165, 162,
+  167, 167, 163, 161, 151, 96, 64, 80, 114, 157, 167, 162, 159, 165, 166, 163,
+  155, 165, 167, 162, 124, 114, 131, 122, 143, 143, 136, 146, 139, 75, 100, 69,
+  64, 154, 153, 140, 136, 139, 136, 126, 128, 126, 114, 106, 116, 134, 151, 143,
+  138, 112, 88, 61, 45, 56, 41, 24, 37, 42, 36, 34, 41, 48, 37, 30,
+  34, 57, 51, 64, 59, 87, 100, 108, 119, 111, 122, 131, 126, 118, 132, 118,
+  119, 91, 107, 134, 116, 119, 122, 126, 123, 131, 106, 97, 9, 57, 148, 153,
+  153, 157, 148, 143, 130, 131, 150, 138, 88, 116, 134, 154, 143, 140, 136, 122,
+  135, 102, 89, 48, 67, 114, 119, 134, 135, 134, 115, 126, 139, 139, 96, 92,
+  97, 153, 150, 155, 154, 153, 148, 154, 150, 144, 97, 106, 138, 143, 148, 142,
+  130, 134, 147, 130, 130, 128, 136, 114, 33, 64, 132, 142, 103, 120, 128, 140,
+  102, 124, 124, 60, 55, 53, 136, 124, 130, 132, 136, 132, 142, 135, 97, 107,
+  91, 95, 110, 130, 123, 127, 120, 107, 108, 114, 79, 45, 6, 44, 108, 126,
+  102, 96, 108, 99, 97, 93, 75, 42, 0, 52, 110, 142, 106, 107, 106, 103,
+  116, 122, 118, 71, 48, 61, 132, 139, 127, 131, 134, 136, 99, 120, 56, 63,
+  56, 112, 122, 120, 104, 107, 99, 95, 115, 108, 92, 51, 57, 64, 100, 108,
+  100, 104, 71, 71, 34, 32, 26, 25, 36, 37, 45, 49, 45, 48, 48, 48,
+  57, 61, 59, 55, 53, 21, 73, 110, 116, 89, 107, 84, 83, 40, 46, 33,
+  21, 30, 46, 71, 77, 75, 80, 85, 83, 81, 72, 60, 68, 95, 127, 138,
+  127, 123, 123, 116, 115, 114, 114, 59, 57, 87, 119, 116, 122, 116, 112, 107,
+  114, 107, 81, 60, 57, 85, 87, 92, 88, 77, 72, 75, 63, 37, 29, 21,
+  30, 29, 41, 41, 34, 18, 21, 18, 37, 16, 17, 42, 37, 61, 77, 79,
+  93, 96, 103, 96, 104, 92, 57, 52, 72, 89, 96, 100, 97, 100, 100, 102,
+  93, 108, 84, 69, 1, 99, 87, 83, 67, 93, 92, 79, 72, 67, 85, 71,
+  64, 96, 107, 95, 99, 107, 100, 92, 88, 85, 79, 28, 0, 22, 81, 114,
+  87, 81, 81, 85, 76, 65, 88, 72, 26, 0, 77, 92, 88, 87, 80, 63,
+  24, 46, 42, 40, 2, 24, 33, 52, 57, 57, 69, 79, 84, 68, 81, 68,
+  83, 68, 73, 79, 75, 71, 80, 77, 87, 72, 59, 37, 13, 79, 81, 59,
+  64, 72, 52, 57, 53, 61, 55, 34, 44, 34, 69, 77, 79, 69, 80, 76,
+  69, 68, 24, 6, 34, 71, 68, 53, 56, 56, 51, 21, 12, 9, 8, 6,
+  1, 4, 34, 36, 36, 37, 45, 48, 49, 49, 51, 24, 6, 46, 80, 76,
+  79, 76, 71, 67, 61, 56, 37, 17, 0, 56, 84, 68, 63, 59, 67, 57,
+  61, 53, 30, 12, 1, 42, 59, 57, 17, 13, 12, 9, 16, 10, 5, 10,
+  2, 71, 48, 106, 116, 120, 186, 179, 173, 174, 167, 173, 166, 161, 87, 42,
+  162, 161, 158, 153, 161, 159, 159, 157, 154, 158, 57, 166, 173, 170, 170, 166,
+  173, 167, 174, 166, 175, 161, 155, 150, 165, 158, 163, 162, 165, 157, 157, 161,
+  154, 153, 85, 147, 169, 157, 162, 165, 157, 163, 158, 161, 155, 120, 131, 107,
+  126, 140, 136, 139, 130, 131, 134, 134, 143, 103, 91, 127, 158, 155, 155, 161,
+  151, 154, 151, 153, 150, 144, 130, 143, 142, 146, 144, 140, 144, 138, 138, 140,
+  135, 138, 104, 28, 56, 127, 136, 120, 123, 127, 135, 130, 123, 84, 61, 93,
+  131, 134, 138, 128, 144, 151, 154, 147, 131, 147, 134, 73, 112, 146, 158, 154,
+  123, 138, 140, 131, 136, 116, 99, 12, 124, 158, 147, 144, 143, 135, 148, 124,
+  128, 158, 143, 95, 119, 158, 154, 147, 151, 148, 151, 123, 138, 100, 45, 116,
+  132, 143, 130, 134, 134, 140, 130, 143, 140, 143, 138, 126, 107, 111, 115, 119,
+  115, 116, 118, 122, 120, 128, 124, 95, 123, 132, 120, 114, 127, 136, 134, 135,
+  140, 143, 140, 34, 147, 158, 147, 144, 147, 140, 134, 135, 131, 130, 72, 45,
+  104, 123, 128, 127, 136, 136, 139, 138, 132, 123, 111, 85, 93, 128, 139, 127,
+  130, 130, 124, 116, 118, 88, 49, 20, 123, 134, 135, 126, 130, 132, 128, 124,
+  123, 107, 48, 2, 153, 155, 151, 150, 153, 151, 146, 139, 154, 147, 108, 51,
+  138, 153, 151, 143, 143, 132, 138, 130, 127, 87, 63, 114, 136, 122, 116, 114,
+  131, 132, 126, 128, 127, 128, 119, 56, 100, 119, 122, 118, 116, 112, 108, 100,
+  73, 51, 24, 80, 100, 81, 93, 96, 92, 102, 92, 92, 85, 76, 61, 46,
+  17, 100, 119, 107, 104, 102, 108, 119, 100, 112, 95, 77, 99, 76, 96, 103,
+  111, 100, 114, 97, 107, 84, 69, 75, 115, 138, 108, 111, 111, 107, 95, 110,
+  104, 93, 99, 77, 112, 106, 111, 103, 102, 100, 108, 103, 99, 91, 103, 92,
+  99, 100, 102, 88, 102, 96, 97, 87, 81, 80, 76, 107, 100, 103, 106, 110,
+  112, 108, 114, 120, 122, 57, 63, 80, 136, 139, 140, 138, 140, 136, 131, 134,
+  132, 88, 52, 79, 106, 102, 97, 96, 89, 91, 81, 79, 83, 93, 57, 10,
+  72, 91, 81, 69, 69, 77, 65, 81, 77, 61, 65, 71, 64, 77, 80, 77,
+  67, 73, 73, 77, 69, 91, 34, 0, 112, 118, 120, 122, 116, 114, 111, 100,
+  108, 103, 84, 48, 0, 81, 89, 95, 97, 97, 92, 87, 77, 69, 40, 9,
+  63, 95, 99, 102, 103, 102, 102, 93, 84, 81, 42, 64, 93, 95, 95, 96,
+  89, 81, 71, 71, 73, 60, 42, 14, 80, 85, 61, 56, 49, 55, 72, 64,
+  79, 69, 30, 24, 72, 93, 91, 91, 89, 80, 76, 83, 80, 29, 8, 57,
+  75, 75, 75, 77, 71, 71, 60, 57, 52, 40, 17, 40, 75, 91, 88, 85,
+  81, 83, 80, 69, 76, 55, 32, 6, 68, 71, 61, 59, 59, 45, 46, 34,
+  44, 55, 21, 2, 40, 83, 71, 59, 42, 46, 45, 46, 61, 49, 17, 1,
+  61, 61, 69, 59, 55, 38, 48, 53, 51, 9, 12, 1, 69, 64, 85, 84,
+  92, 191, 191, 185, 178, 175, 175, 150, 134, 87, 46, 155, 161, 153, 153, 154,
+  111, 153, 151, 148, 80, 64, 171, 183, 182, 190, 201, 205, 209, 214, 217, 220,
+  224, 228, 230, 226, 226, 226, 226, 218, 209, 189, 173, 167, 161, 142, 167, 159,
+  158, 154, 148, 151, 150, 135, 112, 118, 128, 114, 96, 130, 144, 157, 142, 139,
+  143, 144, 146, 144, 139, 65, 151, 161, 153, 154, 148, 148, 151, 148, 144, 146,
+  147, 138, 139, 150, 154, 153, 147, 144, 139, 138, 146, 147, 131, 111, 34, 142,
+  146, 157, 157, 148, 153, 153, 150, 150, 131, 56, 118, 162, 154, 138, 157, 150,
+  138, 138, 150, 150, 151, 132, 77, 110, 151, 159, 148, 147, 150, 150, 148, 132,
+  119, 108, 9, 132, 153, 154, 143, 134, 143, 130, 147, 138, 151, 144, 76, 107,
+  148, 142, 148, 140, 142, 126, 126, 136, 107, 57, 126, 122, 128, 138, 124, 139,
+  140, 147, 146, 138, 127, 97, 130, 123, 139, 139, 140, 139, 135, 127, 114, 112,
+  104, 88, 118, 144, 134, 135, 146, 143, 140, 144, 143, 142, 140, 135, 33, 150,
+  158, 131, 127, 130, 124, 126, 120, 131, 128, 72, 46, 103, 128, 132, 126, 126,
+  122, 127, 127, 135, 124, 115, 67, 85, 126, 118, 123, 131, 132, 119, 108, 112,
+  95, 81, 29, 123, 127, 128, 127, 127, 120, 120, 120, 114, 110, 64, 1, 131,
+  150, 151, 153, 148, 151, 153, 146, 143, 147, 124, 60, 146, 143, 142, 130, 123,
+  126, 115, 120, 120, 127, 112, 132, 119, 112, 116, 106, 115, 92, 96, 95, 99,
+  80, 79, 64, 123, 142, 116, 119, 118, 122, 112, 108, 110, 64, 22, 89, 96,
+  85, 99, 91, 84, 95, 89, 84, 87, 69, 65, 56, 22, 97, 130, 104, 104,
+  118, 106, 107, 104, 93, 103, 59, 67, 127, 122, 120, 128, 123, 118, 112, 106,
+  93, 76, 71, 127, 132, 103, 106, 106, 99, 92, 103, 116, 111, 116, 112, 122,
+  120, 130, 123, 122, 123, 147, 123, 128, 123, 127, 116, 126, 126, 128, 122, 120,
+  123, 122, 122, 104, 85, 59, 108, 108, 106, 110, 106, 103, 92, 103, 102, 97,
+  69, 48, 108, 143, 135, 132, 130, 136, 134, 140, 128, 111, 104, 61, 81, 100,
+  103, 87, 85, 93, 84, 83, 91, 93, 85, 56, 10, 61, 95, 83, 93, 75,
+  89, 79, 92, 92, 80, 68, 61, 81, 99, 92, 107, 104, 100, 88, 106, 93,
+  85, 36, 9, 104, 116, 110, 110, 112, 111, 107, 106, 99, 114, 87, 42, 0,
+  88, 96, 89, 79, 79, 67, 83, 91, 73, 29, 14, 60, 102, 103, 93, 77,
+  71, 88, 68, 67, 52, 45, 76, 100, 87, 87, 73, 65, 71, 83, 75, 65,
+  42, 37, 9, 79, 88, 80, 59, 60, 67, 72, 69, 67, 64, 32, 45, 88,
+  92, 87, 73, 87, 69, 68, 72, 85, 29, 8, 65, 77, 56, 55, 49, 41,
+  44, 40, 45, 63, 53, 18, 36, 81, 77, 84, 91, 72, 60, 61, 77, 68,
+  67, 30, 8, 67, 57, 38, 63, 49, 48, 41, 34, 40, 33, 18, 0, 55,
+  77, 59, 67, 55, 42, 44, 68, 49, 45, 18, 1, 30, 65, 57, 65, 57,
+  61, 51, 57, 46, 20, 13, 1, 83, 103, 84, 75, 84, 179, 171, 175, 171,
+  166, 154, 157, 166, 92, 68, 106, 158, 154, 127, 122, 119, 120, 122, 116, 153,
+  154, 178, 221, 220, 228, 229, 226, 225, 226, 229, 233, 236, 238, 240, 240, 236,
+  234, 236, 234, 234, 232, 232, 216, 178, 167, 161, 173, 179, 205, 179, 167, 148,
+  138, 104, 119, 122, 111, 96, 146, 157, 150, 151, 143, 151, 157, 155, 143, 153,
+  132, 150, 144, 151, 115, 155, 148, 153, 147, 153, 143, 143, 140, 146, 153, 155,
+  147, 147, 143, 161, 158, 131, 123, 131, 107, 34, 148, 153, 155, 155, 157, 147,
+  147, 148, 143, 130, 83, 126, 148, 153, 151, 148, 146, 134, 144, 148, 154, 140,
+  127, 69, 103, 150, 163, 150, 146, 150, 153, 142, 132, 114, 95, 10, 116, 144,
+  147, 143, 140, 143, 131, 118, 157, 157, 136, 83, 114, 150, 147, 139, 134, 131,
+  124, 130, 140, 111, 80, 80, 126, 130, 138, 146, 151, 132, 134, 136, 123, 126,
+  89, 122, 143, 127, 143, 139, 140, 127, 134, 135, 134, 95, 81, 127, 142, 131,
+  139, 132, 139, 138, 112, 138, 139, 95, 97, 45, 99, 161, 132, 123, 127, 112,
+  119, 123, 130, 126, 77, 42, 103, 123, 127, 116, 119, 120, 122, 124, 138, 123,
+  108, 61, 92, 118, 114, 103, 134, 139, 119, 110, 118, 83, 81, 26, 93, 136,
+  126, 124, 127, 116, 128, 128, 111, 102, 55, 6, 84, 148, 142, 134, 130, 130,
+  135, 136, 128, 124, 130, 126, 131, 143, 144, 136, 127, 139, 120, 128, 110, 116,
+  104, 115, 106, 116, 115, 110, 108, 112, 114, 111, 106, 110, 106, 108, 111, 122,
+  130, 100, 108, 108, 132, 108, 106, 60, 20, 79, 89, 85, 92, 97, 99, 93,
+  93, 88, 80, 71, 57, 51, 20, 95, 115, 100, 108, 118, 118, 118, 114, 104,
+  103, 55, 111, 135, 130, 122, 111, 112, 110, 103, 106, 81, 75, 80, 110, 128,
+  96, 107, 100, 99, 104, 136, 206, 209, 201, 213, 224, 224, 212, 221, 230, 234,
+  230, 228, 233, 244, 229, 230, 225, 242, 221, 212, 216, 246, 222, 167, 112, 84,
+  63, 107, 127, 139, 136, 132, 132, 122, 116, 115, 99, 71, 63, 123, 138, 130,
+  128, 134, 134, 143, 138, 110, 122, 97, 69, 69, 100, 93, 87, 83, 88, 85,
+  83, 83, 93, 83, 46, 6, 71, 108, 96, 112, 88, 79, 91, 85, 76, 77,
+  68, 36, 89, 99, 91, 93, 96, 95, 73, 96, 95, 87, 32, 9, 68, 112,
+  107, 100, 96, 96, 89, 93, 97, 107, 85, 41, 0, 84, 84, 80, 61, 81,
+  80, 75, 77, 79, 44, 17, 72, 100, 87, 83, 81, 76, 83, 56, 64, 56,
+  33, 72, 91, 77, 71, 68, 84, 67, 67, 57, 49, 52, 38, 13, 76, 88,
+  80, 76, 83, 84, 56, 64, 60, 64, 22, 36, 92, 91, 84, 61, 81, 72,
+  85, 83, 80, 30, 9, 67, 61, 51, 51, 41, 41, 41, 41, 41, 57, 51,
+  20, 32, 76, 75, 81, 100, 75, 56, 61, 65, 56, 51, 30, 9, 60, 67,
+  41, 71, 41, 52, 37, 40, 49, 34, 17, 0, 56, 77, 61, 55, 49, 52,
+  48, 64, 44, 26, 18, 1, 49, 46, 56, 57, 42, 45, 44, 34, 42, 36,
+  13, 2, 67, 61, 59, 28, 17, 163, 163, 166, 162, 162, 154, 169, 157, 93,
+  59, 114, 161, 157, 127, 124, 110, 103, 161, 167, 197, 214, 222, 228, 236, 233,
+  233, 229, 229, 224, 230, 237, 238, 238, 236, 234, 233, 230, 225, 229, 230, 232,
+  229, 233, 230, 221, 225, 222, 209, 202, 216, 157, 144, 131, 106, 123, 123, 114,
+  110, 163, 193, 198, 194, 198, 205, 209, 210, 208, 208, 204, 206, 208, 177, 166,
+  162, 155, 159, 153, 150, 154, 151, 169, 185, 199, 205, 202, 195, 190, 155, 139,
+  131, 108, 130, 103, 44, 104, 151, 146, 148, 146, 147, 140, 148, 153, 132, 84,
+  96, 150, 159, 142, 144, 148, 136, 134, 138, 154, 140, 128, 67, 112, 148, 158,
+  147, 146, 147, 151, 139, 138, 115, 103, 14, 112, 151, 157, 150, 143, 155, 124,
+  148, 148, 148, 135, 67, 116, 139, 148, 134, 134, 139, 128, 143, 134, 111, 76,
+  75, 140, 146, 127, 131, 132, 143, 131, 135, 128, 116, 81, 127, 143, 135, 134,
+  131, 130, 134, 148, 140, 134, 120, 76, 130, 140, 140, 126, 138, 136, 135, 138,
+  130, 136, 138, 128, 49, 102, 158, 135, 123, 118, 106, 114, 111, 127, 126, 77,
+  38, 104, 123, 122, 112, 112, 112, 115, 119, 128, 116, 102, 65, 84, 112, 110,
+  103, 124, 110, 103, 108, 114, 85, 48, 10, 95, 139, 118, 116, 124, 127, 122,
+  118, 115, 100, 55, 4, 134, 142, 136, 134, 138, 135, 128, 132, 157, 194, 205,
+  209, 218, 222, 230, 232, 236, 237, 248, 248, 246, 238, 238, 224, 232, 236, 232,
+  230, 225, 228, 222, 224, 204, 205, 187, 206, 198, 228, 191, 182, 177, 178, 199,
+  155, 114, 63, 26, 85, 77, 92, 99, 91, 89, 97, 79, 81, 55, 68, 49,
+  42, 13, 93, 122, 106, 111, 122, 122, 119, 104, 92, 104, 42, 116, 132, 124,
+  108, 107, 114, 118, 111, 115, 89, 71, 56, 106, 126, 93, 99, 96, 97, 97,
+  142, 199, 205, 206, 213, 213, 217, 216, 213, 217, 221, 224, 225, 226, 225, 224,
+  222, 221, 213, 214, 210, 208, 209, 202, 154, 106, 79, 22, 100, 118, 122, 126,
+  124, 123, 136, 135, 107, 106, 72, 71, 97, 136, 128, 144, 140, 124, 120, 97,
+  103, 110, 103, 67, 64, 104, 96, 83, 87, 85, 85, 83, 87, 75, 80, 60,
+  1, 73, 108, 83, 97, 80, 89, 88, 107, 71, 71, 67, 46, 79, 104, 99,
+  104, 106, 104, 103, 93, 81, 81, 32, 0, 71, 112, 99, 91, 88, 93, 104,
+  104, 107, 111, 91, 40, 0, 79, 80, 77, 65, 95, 76, 76, 80, 64, 38,
+  10, 60, 106, 92, 77, 72, 68, 83, 60, 59, 44, 34, 68, 97, 69, 83,
+  87, 76, 68, 63, 68, 72, 49, 38, 18, 72, 77, 71, 75, 65, 65, 59,
+  69, 57, 63, 24, 40, 89, 83, 69, 80, 75, 95, 83, 81, 77, 32, 12,
+  55, 76, 53, 52, 42, 40, 38, 38, 40, 40, 40, 18, 2, 75, 76, 88,
+  95, 56, 63, 64, 57, 67, 51, 33, 10, 53, 68, 41, 75, 29, 52, 37,
+  34, 44, 30, 17, 0, 42, 75, 67, 69, 53, 55, 45, 63, 49, 29, 17,
+  1, 46, 59, 55, 29, 34, 32, 33, 24, 37, 18, 13, 8, 68, 60, 45,
+  56, 18, 161, 161, 162, 163, 161, 154, 167, 151, 93, 65, 153, 150, 123, 119,
+  128, 158, 159, 205, 233, 234, 236, 237, 230, 228, 228, 228, 204, 175, 162, 167,
+  170, 163, 147, 136, 131, 127, 116, 112, 120, 128, 143, 191, 214, 228, 228, 228,
+  225, 221, 221, 209, 157, 139, 119, 106, 124, 104, 115, 151, 175, 206, 205, 213,
+  204, 214, 220, 218, 216, 226, 224, 229, 226, 225, 222, 225, 221, 218, 213, 206,
+  210, 214, 218, 216, 222, 214, 213, 208, 208, 155, 135, 126, 102, 127, 104, 48,
+  106, 154, 139, 140, 161, 154, 153, 151, 147, 131, 85, 67, 142, 154, 153, 148,
+  150, 155, 155, 155, 155, 139, 128, 63, 107, 162, 163, 144, 150, 147, 153, 139,
+  138, 115, 96, 17, 126, 153, 144, 146, 140, 148, 138, 142, 151, 142, 138, 67,
+  118, 138, 144, 136, 134, 140, 138, 139, 135, 110, 77, 61, 139, 131, 131, 134,
+  140, 130, 142, 135, 120, 108, 77, 116, 139, 131, 127, 131, 139, 136, 134, 136,
+  126, 95, 77, 131, 143, 150, 140, 139, 120, 143, 136, 127, 138, 135, 131, 53,
+  104, 155, 138, 118, 116, 104, 107, 119, 128, 127, 80, 37, 111, 116, 118, 115,
+  115, 110, 110, 120, 124, 115, 106, 64, 89, 108, 107, 97, 95, 132, 131, 106,
+  111, 88, 48, 21, 106, 139, 124, 124, 123, 118, 116, 102, 115, 119, 51, 4,
+  148, 148, 135, 132, 139, 127, 136, 199, 202, 216, 212, 214, 220, 232, 233, 234,
+  238, 241, 245, 248, 248, 244, 242, 242, 226, 236, 240, 229, 224, 228, 233, 229,
+  221, 226, 216, 213, 205, 214, 206, 201, 186, 212, 199, 169, 107, 61, 28, 83,
+  76, 92, 93, 88, 93, 87, 85, 81, 59, 65, 48, 40, 12, 100, 119, 106,
+  115, 112, 122, 122, 112, 93, 95, 37, 115, 128, 110, 119, 119, 120, 127, 122,
+  119, 104, 76, 81, 103, 131, 100, 104, 107, 96, 95, 116, 144, 190, 201, 206,
+  208, 204, 210, 201, 205, 212, 214, 216, 222, 222, 224, 216, 210, 217, 209, 201,
+  197, 204, 178, 116, 97, 51, 33, 106, 122, 107, 120, 120, 126, 126, 134, 110,
+  110, 73, 67, 99, 132, 120, 116, 97, 99, 103, 97, 103, 107, 114, 83, 61,
+  100, 96, 89, 80, 84, 85, 85, 79, 87, 100, 57, 8, 95, 84, 99, 80,
+  84, 91, 96, 87, 87, 75, 65, 45, 81, 108, 87, 103, 89, 87, 85, 87,
+  92, 87, 29, 1, 114, 103, 95, 99, 102, 100, 100, 108, 107, 104, 88, 57,
+  1, 77, 96, 73, 102, 75, 63, 77, 72, 65, 36, 6, 56, 103, 89, 85,
+  80, 83, 81, 71, 55, 49, 33, 72, 95, 67, 75, 89, 77, 68, 71, 71,
+  57, 53, 42, 24, 75, 91, 83, 84, 85, 68, 59, 63, 60, 75, 28, 48,
+  85, 79, 63, 87, 92, 95, 77, 81, 69, 36, 10, 59, 71, 59, 51, 41,
+  40, 51, 37, 42, 53, 60, 20, 4, 69, 69, 63, 56, 59, 56, 56, 53,
+  55, 53, 34, 12, 46, 72, 51, 87, 28, 51, 32, 46, 40, 36, 20, 4,
+  53, 73, 69, 64, 52, 45, 52, 52, 53, 38, 20, 0, 48, 63, 36, 30,
+  18, 22, 22, 26, 33, 14, 13, 1, 63, 56, 34, 13, 2, 173, 161, 158,
+  158, 154, 154, 170, 140, 102, 69, 153, 159, 122, 131, 159, 179, 225, 236, 233,
+  232, 233, 234, 229, 216, 185, 150, 118, 107, 103, 104, 104, 104, 104, 104, 103,
+  106, 106, 107, 104, 107, 108, 111, 126, 136, 166, 197, 206, 214, 202, 162, 140,
+  124, 93, 104, 115, 110, 118, 159, 178, 232, 234, 218, 229, 224, 232, 228, 232,
+  230, 225, 225, 230, 234, 232, 229, 226, 221, 220, 228, 222, 221, 222, 222, 225,
+  220, 216, 216, 208, 146, 127, 116, 99, 122, 107, 55, 139, 150, 143, 150, 158,
+  139, 150, 151, 154, 155, 126, 56, 135, 153, 159, 161, 161, 157, 157, 151, 150,
+  135, 127, 63, 100, 154, 158, 150, 146, 146, 154, 142, 140, 132, 100, 16, 120,
+  151, 147, 153, 146, 148, 151, 153, 154, 128, 116, 53, 112, 134, 147, 135, 146,
+  139, 136, 134, 136, 120, 110, 63, 131, 132, 135, 132, 128, 132, 135, 134, 118,
+  89, 69, 112, 131, 127, 123, 134, 140, 134, 132, 128, 120, 81, 72, 124, 138,
+  142, 142, 135, 122, 138, 131, 138, 115, 136, 126, 59, 79, 108, 155, 136, 114,
+  110, 107, 116, 132, 119, 80, 44, 99, 114, 115, 106, 107, 104, 103, 127, 127,
+  122, 100, 61, 80, 102, 102, 95, 92, 131, 108, 106, 108, 91, 67, 25, 110,
+  123, 118, 128, 123, 126, 123, 115, 118, 104, 57, 1, 118, 146, 134, 134, 132,
+  126, 189, 201, 208, 214, 217, 221, 220, 225, 230, 234, 234, 237, 241, 245, 244,
+  246, 245, 244, 238, 230, 240, 233, 230, 232, 222, 222, 225, 229, 220, 220, 209,
+  205, 202, 199, 195, 202, 159, 138, 73, 63, 28, 83, 81, 87, 99, 92, 88,
+  81, 76, 79, 59, 60, 55, 46, 14, 75, 127, 108, 118, 108, 114, 119, 112,
+  106, 88, 45, 112, 119, 126, 131, 132, 143, 139, 135, 128, 120, 104, 87, 114,
+  136, 106, 104, 88, 87, 99, 93, 104, 112, 122, 122, 120, 112, 110, 107, 110,
+  108, 108, 108, 114, 118, 118, 114, 114, 116, 111, 108, 108, 107, 106, 92, 87,
+  49, 53, 103, 119, 106, 106, 126, 119, 120, 124, 108, 104, 76, 73, 93, 130,
+  132, 112, 112, 132, 118, 120, 126, 92, 102, 102, 57, 89, 106, 95, 81, 85,
+  80, 85, 91, 87, 91, 53, 9, 67, 93, 89, 80, 81, 80, 76, 85, 91,
+  79, 63, 45, 72, 111, 77, 108, 110, 96, 100, 97, 96, 75, 38, 8, 111,
+  112, 102, 106, 97, 102, 100, 112, 106, 106, 87, 44, 1, 84, 96, 80, 80,
+  75, 76, 65, 79, 49, 30, 16, 56, 97, 93, 71, 84, 77, 69, 67, 57,
+  56, 37, 75, 95, 81, 81, 84, 75, 67, 67, 84, 60, 41, 42, 16, 81,
+  87, 79, 65, 76, 72, 57, 67, 56, 63, 25, 68, 81, 63, 81, 80, 77,
+  73, 83, 84, 72, 32, 14, 36, 56, 68, 52, 52, 40, 55, 52, 38, 49,
+  60, 20, 24, 65, 76, 65, 55, 55, 59, 55, 55, 55, 51, 36, 13, 48,
+  72, 42, 59, 32, 44, 32, 49, 41, 30, 17, 1, 64, 75, 72, 71, 52,
+  48, 60, 56, 55, 41, 18, 0, 30, 48, 29, 18, 13, 10, 12, 20, 26,
+  16, 13, 1, 64, 77, 28, 2, 25, 189, 165, 163, 163, 162, 159, 158, 162,
+  102, 87, 118, 118, 134, 162, 198, 229, 240, 233, 233, 225, 216, 195, 170, 126,
+  110, 103, 104, 104, 106, 104, 106, 106, 112, 111, 103, 92, 88, 93, 97, 107,
+  128, 108, 111, 114, 114, 122, 126, 127, 130, 127, 131, 102, 87, 104, 116, 100,
+  111, 143, 162, 204, 212, 208, 174, 142, 128, 134, 138, 134, 131, 134, 140, 167,
+  195, 204, 210, 216, 221, 220, 213, 201, 206, 213, 216, 212, 201, 159, 138, 123,
+  119, 89, 89, 120, 99, 55, 97, 147, 148, 150, 150, 157, 157, 151, 151, 157,
+  103, 68, 122, 153, 151, 153, 155, 151, 153, 153, 151, 128, 130, 56, 96, 139,
+  158, 158, 159, 154, 155, 143, 140, 120, 92, 16, 116, 146, 148, 151, 144, 150,
+  146, 147, 144, 142, 89, 42, 112, 134, 146, 128, 138, 142, 139, 134, 128, 128,
+  103, 61, 95, 138, 132, 139, 130, 132, 132, 126, 116, 88, 61, 106, 144, 132,
+  126, 134, 135, 136, 132, 134, 123, 83, 65, 130, 127, 138, 135, 135, 134, 139,
+  138, 136, 114, 97, 115, 67, 72, 111, 134, 147, 123, 110, 103, 118, 126, 123,
+  88, 38, 96, 118, 110, 112, 103, 103, 123, 147, 118, 114, 95, 41, 88, 106,
+  88, 87, 93, 93, 102, 102, 99, 81, 68, 28, 80, 138, 130, 131, 123, 112,
+  114, 124, 114, 108, 51, 8, 88, 143, 134, 132, 139, 124, 122, 161, 201, 208,
+  204, 183, 139, 130, 126, 123, 128, 123, 111, 106, 110, 111, 114, 114, 112, 110,
+  106, 107, 110, 110, 107, 102, 103, 111, 116, 112, 111, 104, 99, 104, 84, 79,
+  77, 76, 65, 33, 22, 80, 88, 92, 87, 91, 85, 80, 80, 79, 55, 56,
+  49, 40, 12, 92, 108, 111, 106, 112, 118, 103, 108, 99, 79, 48, 115, 123,
+  139, 153, 181, 187, 195, 178, 177, 158, 135, 123, 111, 135, 97, 110, 95, 84,
+  87, 89, 104, 95, 87, 92, 96, 97, 96, 95, 96, 95, 95, 95, 96, 96,
+  97, 99, 99, 96, 97, 99, 96, 93, 97, 96, 36, 29, 48, 104, 114, 107,
+  116, 112, 112, 116, 128, 107, 102, 88, 60, 72, 115, 126, 108, 95, 122, 130,
+  127, 102, 99, 103, 89, 64, 75, 95, 97, 85, 87, 87, 85, 85, 87, 87,
+  41, 6, 64, 100, 93, 77, 85, 81, 76, 83, 92, 72, 63, 29, 89, 106,
+  88, 91, 108, 111, 93, 107, 96, 72, 30, 6, 69, 102, 92, 104, 108, 96,
+  102, 104, 104, 106, 84, 42, 2, 79, 75, 93, 80, 64, 55, 69, 45, 44,
+  37, 18, 57, 91, 91, 83, 89, 77, 72, 68, 68, 44, 24, 84, 91, 83,
+  89, 88, 69, 68, 79, 65, 55, 45, 41, 21, 83, 79, 65, 79, 67, 60,
+  63, 69, 55, 57, 21, 48, 89, 87, 91, 73, 48, 76, 77, 95, 73, 29,
+  16, 29, 56, 68, 55, 51, 48, 55, 36, 37, 51, 49, 22, 21, 59, 75,
+  69, 61, 65, 59, 60, 60, 57, 52, 40, 14, 25, 67, 49, 37, 33, 38,
+  33, 45, 46, 33, 17, 1, 40, 73, 56, 64, 48, 57, 46, 48, 55, 28,
+  18, 0, 57, 55, 18, 17, 12, 21, 10, 16, 28, 22, 9, 2, 64, 81,
+  20, 6, 51, 177, 178, 169, 173, 161, 170, 157, 158, 104, 81, 120, 128, 170,
+  218, 236, 236, 234, 237, 236, 191, 143, 114, 106, 106, 107, 110, 114, 102, 118,
+  116, 108, 87, 67, 53, 56, 53, 61, 60, 63, 67, 85, 97, 126, 115, 116,
+  119, 119, 120, 120, 128, 126, 83, 77, 89, 110, 106, 116, 124, 140, 134, 142,
+  127, 127, 110, 103, 100, 107, 99, 103, 96, 104, 100, 103, 110, 111, 115, 115,
+  115, 114, 111, 112, 116, 122, 124, 118, 119, 112, 110, 81, 85, 108, 112, 99,
+  57, 85, 134, 154, 151, 159, 153, 155, 155, 151, 146, 108, 80, 100, 144, 148,
+  151, 146, 148, 151, 151, 147, 127, 124, 44, 104, 126, 150, 153, 150, 147, 142,
+  146, 132, 126, 97, 18, 118, 142, 151, 148, 151, 148, 148, 151, 140, 138, 114,
+  44, 110, 130, 146, 143, 135, 138, 127, 130, 106, 103, 97, 75, 83, 84, 107,
+  104, 100, 103, 107, 107, 116, 108, 64, 114, 140, 128, 123, 131, 132, 132, 132,
+  131, 127, 93, 57, 127, 127, 127, 124, 120, 128, 126, 131, 128, 130, 128, 126,
+  96, 73, 112, 128, 123, 103, 99, 102, 119, 120, 120, 89, 33, 106, 124, 115,
+  110, 102, 99, 123, 136, 116, 110, 96, 45, 80, 99, 88, 87, 80, 83, 85,
+  92, 84, 79, 55, 29, 76, 136, 112, 83, 103, 119, 120, 103, 108, 110, 48,
+  8, 128, 135, 132, 128, 131, 128, 131, 131, 130, 128, 126, 118, 116, 112, 112,
+  111, 111, 106, 100, 97, 99, 97, 99, 99, 97, 95, 93, 92, 92, 91, 92,
+  84, 88, 88, 87, 87, 88, 83, 83, 84, 77, 72, 56, 56, 32, 24, 30,
+  77, 75, 88, 83, 72, 57, 60, 51, 40, 55, 51, 56, 41, 6, 93, 128,
+  114, 110, 110, 108, 111, 103, 96, 49, 75, 124, 138, 186, 202, 213, 212, 205,
+  197, 201, 201, 197, 178, 151, 132, 103, 79, 80, 87, 72, 81, 72, 84, 83,
+  81, 92, 103, 103, 102, 103, 102, 99, 100, 104, 106, 107, 107, 104, 104, 106,
+  106, 103, 107, 83, 30, 38, 32, 14, 96, 104, 115, 100, 110, 97, 93, 89,
+  111, 95, 84, 61, 77, 96, 106, 100, 119, 108, 107, 96, 91, 88, 89, 99,
+  67, 67, 83, 108, 103, 99, 92, 99, 100, 87, 83, 63, 5, 72, 100, 100,
+  92, 84, 91, 83, 87, 100, 60, 63, 33, 69, 108, 93, 102, 89, 72, 75,
+  84, 85, 80, 30, 2, 71, 108, 95, 97, 97, 97, 103, 106, 99, 100, 95,
+  38, 2, 76, 89, 67, 55, 56, 49, 45, 59, 45, 34, 18, 60, 91, 89,
+  93, 75, 67, 76, 72, 72, 48, 28, 63, 85, 76, 81, 72, 69, 71, 68,
+  68, 67, 44, 41, 24, 87, 79, 75, 61, 63, 60, 56, 64, 59, 32, 20,
+  73, 76, 92, 73, 53, 65, 61, 80, 63, 73, 26, 20, 24, 55, 61, 59,
+  64, 57, 49, 38, 38, 40, 45, 18, 4, 63, 72, 75, 59, 61, 61, 53,
+  49, 53, 56, 32, 20, 21, 63, 55, 37, 42, 41, 33, 40, 37, 26, 17,
+  1, 56, 71, 65, 53, 41, 46, 45, 53, 55, 40, 32, 1, 30, 45, 14,
+  25, 14, 24, 14, 16, 29, 17, 9, 13, 55, 52, 26, 42, 95, 144, 140,
+  143, 135, 124, 130, 128, 110, 83, 142, 132, 169, 226, 241, 238, 238, 236, 240,
+  198, 131, 108, 110, 111, 116, 116, 111, 115, 120, 118, 92, 61, 48, 44, 45,
+  48, 48, 56, 57, 61, 64, 69, 81, 103, 119, 154, 115, 120, 122, 124, 132,
+  118, 79, 75, 76, 97, 103, 85, 127, 120, 119, 114, 106, 114, 111, 110, 110,
+  108, 107, 108, 106, 104, 104, 104, 106, 104, 103, 104, 103, 104, 104, 103, 104,
+  110, 108, 108, 111, 95, 72, 76, 75, 106, 108, 99, 61, 72, 128, 143, 154,
+  139, 107, 122, 108, 104, 97, 96, 107, 84, 103, 123, 140, 136, 139, 139, 139,
+  142, 122, 127, 41, 103, 120, 148, 150, 150, 146, 144, 128, 124, 122, 92, 24,
+  123, 128, 131, 130, 127, 127, 127, 132, 135, 116, 112, 44, 104, 126, 138, 131,
+  104, 120, 118, 107, 108, 115, 106, 103, 108, 120, 102, 123, 116, 118, 104, 119,
+  116, 75, 64, 97, 115, 131, 115, 122, 126, 126, 119, 126, 122, 91, 57, 128,
+  126, 126, 119, 123, 123, 123, 119, 119, 115, 122, 112, 114, 76, 87, 95, 97,
+  99, 102, 107, 110, 120, 119, 92, 30, 110, 107, 116, 107, 100, 97, 95, 100,
+  107, 107, 85, 64, 77, 92, 79, 72, 75, 76, 79, 77, 79, 77, 40, 30,
+  59, 110, 118, 89, 104, 115, 114, 108, 115, 120, 45, 4, 122, 139, 132, 131,
+  126, 124, 128, 123, 119, 108, 111, 106, 89, 99, 81, 87, 93, 83, 115, 114,
+  111, 112, 111, 111, 111, 111, 108, 107, 104, 107, 104, 100, 96, 103, 99, 97,
+  102, 97, 77, 48, 32, 28, 24, 24, 21, 14, 34, 29, 40, 42, 37, 34,
+  34, 37, 36, 38, 36, 42, 40, 34, 6, 68, 115, 118, 116, 114, 122, 115,
+  102, 95, 42, 85, 130, 174, 217, 216, 209, 218, 206, 208, 214, 210, 194, 190,
+  166, 102, 88, 96, 87, 92, 89, 88, 77, 88, 96, 57, 65, 64, 102, 163,
+  110, 116, 122, 119, 131, 126, 128, 132, 134, 134, 134, 131, 116, 92, 61, 26,
+  45, 33, 20, 75, 99, 104, 106, 104, 107, 104, 108, 104, 100, 96, 93, 99,
+  100, 79, 79, 84, 77, 76, 79, 89, 91, 79, 72, 80, 79, 77, 80, 76,
+  76, 75, 61, 73, 71, 73, 40, 9, 67, 81, 84, 88, 87, 87, 84, 87,
+  85, 72, 59, 30, 102, 112, 92, 89, 68, 87, 87, 77, 76, 79, 29, 4,
+  99, 103, 93, 97, 91, 100, 92, 96, 92, 96, 79, 59, 2, 75, 87, 59,
+  68, 48, 53, 46, 49, 44, 32, 8, 60, 84, 83, 80, 60, 64, 73, 73,
+  55, 44, 25, 60, 72, 73, 68, 68, 71, 71, 71, 72, 67, 45, 51, 30,
+  92, 79, 61, 60, 61, 59, 49, 60, 52, 28, 20, 64, 52, 65, 72, 68,
+  64, 55, 59, 56, 53, 29, 24, 20, 40, 51, 52, 36, 42, 42, 49, 46,
+  46, 45, 24, 2, 57, 63, 60, 55, 51, 48, 45, 45, 41, 40, 28, 26,
+  25, 20, 21, 20, 29, 29, 22, 40, 34, 33, 17, 8, 51, 67, 61, 48,
+  42, 41, 41, 44, 42, 34, 22, 1, 51, 48, 14, 20, 17, 24, 20, 20,
+  13, 13, 8, 1, 42, 60, 45, 38, 30, 91, 80, 92, 91, 88, 83, 88,
+  102, 134, 123, 150, 217, 241, 237, 238, 237, 241, 191, 136, 108, 116, 122, 120,
+  112, 103, 120, 127, 122, 89, 49, 40, 42, 38, 42, 55, 73, 79, 80, 87,
+  84, 80, 76, 89, 106, 147, 159, 120, 119, 119, 132, 119, 73, 68, 69, 92,
+  104, 83, 116, 127, 124, 122, 120, 119, 118, 116, 115, 119, 116, 115, 116, 118,
+  118, 111, 108, 108, 108, 108, 111, 107, 110, 107, 108, 107, 115, 104, 72, 69,
+  68, 67, 56, 60, 100, 99, 93, 59, 71, 83, 95, 103, 76, 69, 67, 59,
+  57, 51, 52, 56, 80, 80, 96, 107, 111, 115, 122, 122, 126, 111, 42, 92,
+  112, 138, 143, 135, 130, 97, 61, 71, 60, 38, 26, 83, 87, 87, 89, 92,
+  91, 91, 95, 99, 96, 69, 60, 81, 91, 92, 65, 60, 59, 60, 45, 30,
+  46, 37, 29, 28, 21, 25, 22, 22, 30, 33, 33, 36, 37, 48, 36, 38,
+  38, 38, 40, 65, 68, 48, 56, 63, 97, 55, 99, 114, 106, 100, 102, 102,
+  100, 102, 103, 103, 106, 102, 99, 100, 106, 111, 111, 112, 115, 115, 116, 115,
+  114, 92, 37, 100, 106, 99, 95, 89, 95, 89, 80, 97, 97, 69, 32, 68,
+  60, 44, 32, 29, 28, 25, 28, 26, 20, 21, 32, 38, 36, 44, 37, 36,
+  37, 37, 52, 52, 65, 49, 0, 18, 73, 81, 80, 79, 84, 91, 88, 91,
+  87, 87, 49, 81, 111, 122, 134, 135, 130, 126, 127, 120, 127, 126, 127, 127,
+  126, 123, 123, 120, 119, 116, 115, 115, 110, 114, 104, 84, 60, 28, 21, 21,
+  18, 12, 13, 12, 10, 37, 37, 33, 40, 38, 36, 29, 33, 33, 32, 29,
+  37, 30, 34, 10, 44, 99, 103, 96, 106, 108, 89, 72, 92, 36, 93, 144,
+  205, 220, 217, 216, 220, 225, 202, 177, 146, 140, 123, 106, 91, 89, 68, 56,
+  73, 76, 73, 72, 76, 69, 53, 68, 60, 102, 174, 150, 111, 110, 135, 132,
+  134, 136, 139, 144, 142, 140, 136, 119, 83, 29, 25, 21, 52, 40, 46, 83,
+  83, 73, 80, 84, 80, 79, 84, 83, 84, 81, 83, 87, 89, 88, 89, 88,
+  88, 89, 85, 88, 88, 84, 76, 80, 80, 77, 67, 87, 75, 68, 56, 73,
+  71, 38, 8, 30, 73, 76, 51, 59, 79, 77, 64, 65, 69, 53, 42, 87,
+  124, 73, 64, 73, 73, 53, 55, 63, 52, 44, 8, 83, 110, 103, 104, 97,
+  102, 91, 91, 97, 93, 60, 41, 4, 77, 84, 53, 56, 44, 40, 42, 41,
+  38, 21, 17, 53, 26, 32, 33, 36, 33, 32, 32, 24, 22, 29, 30, 34,
+  34, 33, 32, 38, 51, 60, 61, 61, 38, 38, 20, 88, 73, 57, 52, 55,
+  38, 36, 36, 32, 30, 24, 44, 26, 37, 25, 28, 45, 41, 46, 41, 42,
+  41, 28, 16, 33, 40, 42, 37, 33, 32, 33, 32, 30, 28, 22, 16, 28,
+  29, 21, 21, 25, 25, 22, 24, 24, 22, 26, 25, 24, 26, 25, 26, 28,
+  29, 28, 30, 28, 30, 16, 1, 45, 44, 41, 37, 38, 37, 36, 36, 34,
+  21, 24, 0, 42, 36, 9, 9, 8, 8, 8, 6, 8, 10, 5, 1, 5,
+  9, 8, 12, 2, 143, 140, 136, 132, 130, 126, 128, 144, 126, 139, 190, 240,
+  241, 240, 238, 238, 190, 135, 111, 115, 126, 114, 106, 100, 124, 131, 126, 97,
+  49, 37, 37, 37, 37, 59, 69, 68, 60, 60, 52, 59, 33, 38, 93, 110,
+  134, 170, 143, 122, 120, 135, 123, 69, 64, 67, 88, 97, 77, 55, 56, 61,
+  61, 57, 60, 73, 135, 171, 115, 116, 118, 119, 115, 104, 99, 99, 103, 107,
+  116, 118, 119, 114, 112, 118, 116, 93, 60, 59, 57, 46, 49, 56, 49, 57,
+  63, 61, 67, 55, 55, 55, 51, 87, 91, 96, 99, 106, 111, 108, 53, 122,
+  127, 100, 92, 89, 91, 85, 80, 95, 111, 38, 84, 65, 55, 51, 46, 46,
+  34, 33, 34, 28, 32, 17, 22, 21, 18, 18, 21, 22, 24, 22, 26, 29,
+  30, 64, 29, 36, 64, 71, 77, 73, 81, 93, 128, 108, 116, 111, 132, 142,
+  130, 142, 142, 136, 130, 127, 110, 63, 48, 102, 144, 147, 116, 112, 97, 83,
+  75, 69, 26, 25, 20, 18, 18, 18, 18, 17, 18, 20, 21, 21, 24, 28,
+  29, 32, 30, 34, 41, 46, 49, 57, 63, 95, 99, 112, 93, 41, 95, 87,
+  69, 55, 52, 48, 44, 46, 46, 40, 38, 29, 25, 44, 72, 71, 79, 111,
+  122, 120, 130, 119, 79, 25, 84, 130, 130, 99, 77, 79, 80, 67, 67, 26,
+  18, 2, 9, 9, 34, 20, 17, 18, 36, 28, 29, 29, 42, 61, 91, 126,
+  175, 174, 124, 131, 144, 138, 135, 138, 136, 136, 134, 132, 132, 131, 130, 128,
+  126, 120, 119, 106, 112, 102, 55, 24, 21, 16, 16, 17, 20, 24, 26, 45,
+  38, 44, 71, 80, 87, 92, 95, 88, 84, 69, 65, 32, 29, 20, 10, 36,
+  36, 37, 52, 55, 91, 93, 85, 85, 28, 103, 157, 209, 234, 220, 222, 213,
+  163, 136, 111, 110, 104, 96, 95, 91, 49, 64, 55, 61, 59, 51, 46, 51,
+  49, 52, 71, 75, 102, 182, 178, 115, 103, 114, 128, 139, 142, 147, 148, 146,
+  146, 139, 120, 75, 26, 26, 26, 32, 24, 10, 9, 12, 6, 5, 4, 6,
+  2, 1, 1, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 1, 9, 20, 20,
+  22, 22, 22, 28, 29, 37, 40, 46, 61, 26, 60, 79, 76, 59, 59, 69,
+  67, 51, 53, 61, 26, 6, 13, 52, 56, 48, 42, 56, 60, 48, 44, 63,
+  57, 12, 4, 30, 71, 71, 32, 21, 17, 14, 13, 20, 44, 32, 25, 37,
+  30, 45, 44, 49, 53, 55, 53, 48, 22, 63, 67, 75, 69, 44, 20, 17,
+  25, 17, 33, 36, 46, 29, 72, 45, 44, 48, 42, 56, 64, 59, 65, 51,
+  20, 60, 67, 71, 67, 40, 34, 36, 20, 25, 25, 17, 22, 36, 34, 25,
+  28, 25, 24, 21, 20, 21, 17, 10, 12, 13, 4, 2, 2, 1, 1, 1,
+  1, 0, 0, 0, 2, 5, 1, 5, 2, 5, 9, 8, 14, 18, 22, 22,
+  13, 2, 18, 14, 16, 13, 12, 12, 13, 12, 10, 10, 12, 0, 4, 4,
+  4, 4, 2, 2, 1, 1, 1, 1, 1, 2, 2, 4, 1, 1, 1, 173,
+  165, 163, 159, 158, 161, 154, 127, 138, 181, 232, 241, 241, 241, 240, 191, 127,
+  114, 123, 128, 110, 102, 108, 126, 139, 132, 115, 55, 36, 33, 30, 33, 48,
+  60, 52, 48, 45, 52, 68, 76, 93, 95, 97, 107, 128, 174, 159, 127, 122,
+  136, 122, 71, 64, 65, 87, 100, 61, 65, 128, 143, 144, 138, 143, 144, 143,
+  182, 154, 116, 110, 103, 97, 103, 114, 118, 127, 132, 135, 134, 139, 138, 131,
+  116, 114, 60, 55, 52, 45, 44, 42, 46, 46, 45, 45, 55, 56, 81, 96,
+  112, 124, 140, 143, 146, 153, 144, 143, 115, 69, 138, 144, 123, 112, 116, 122,
+  110, 100, 99, 110, 37, 42, 46, 71, 71, 81, 120, 135, 146, 112, 88, 85,
+  150, 153, 159, 144, 148, 138, 150, 142, 138, 140, 135, 69, 36, 96, 157, 151,
+  159, 153, 131, 122, 134, 154, 126, 143, 128, 128, 107, 131, 147, 144, 128, 134,
+  127, 143, 75, 45, 110, 157, 146, 144, 161, 159, 162, 165, 150, 139, 81, 41,
+  120, 136, 135, 136, 135, 138, 144, 138, 136, 138, 135, 127, 127, 134, 134, 139,
+  132, 130, 124, 87, 72, 73, 64, 93, 37, 53, 56, 87, 97, 96, 103, 118,
+  110, 103, 93, 83, 51, 111, 142, 144, 143, 142, 144, 142, 138, 134, 122, 84,
+  30, 102, 134, 135, 128, 130, 128, 128, 124, 95, 77, 69, 6, 75, 96, 97,
+  91, 96, 104, 104, 103, 108, 108, 48, 57, 102, 123, 197, 182, 132, 122, 128,
+  147, 146, 143, 147, 155, 157, 155, 155, 155, 147, 144, 122, 116, 106, 126, 111,
+  93, 36, 24, 18, 17, 22, 25, 29, 40, 46, 51, 40, 61, 100, 103, 118,
+  124, 127, 119, 116, 106, 100, 95, 81, 60, 8, 100, 108, 108, 106, 55, 55,
+  52, 87, 83, 21, 116, 178, 216, 218, 225, 210, 148, 119, 110, 102, 92, 93,
+  89, 95, 55, 38, 72, 69, 79, 83, 89, 79, 81, 79, 83, 88, 116, 103,
+  191, 187, 153, 111, 110, 118, 139, 148, 144, 148, 151, 146, 135, 123, 71, 25,
+  32, 32, 37, 22, 24, 65, 73, 72, 76, 71, 76, 67, 106, 92, 61, 64,
+  115, 99, 118, 124, 123, 128, 126, 118, 131, 131, 127, 120, 99, 102, 119, 120,
+  112, 111, 116, 112, 110, 83, 64, 37, 9, 68, 100, 91, 79, 76, 59, 45,
+  44, 17, 26, 26, 29, 5, 4, 17, 4, 4, 1, 10, 0, 2, 1, 5,
+  4, 1, 4, 1, 0, 0, 1, 1, 0, 0, 0, 2, 0, 6, 20, 17,
+  22, 30, 46, 61, 38, 32, 53, 10, 30, 75, 87, 93, 89, 88, 92, 96,
+  100, 67, 49, 24, 67, 79, 83, 92, 85, 77, 75, 69, 56, 56, 48, 63,
+  48, 64, 72, 60, 67, 67, 79, 76, 79, 81, 51, 20, 72, 69, 52, 80,
+  76, 72, 67, 57, 45, 38, 30, 21, 21, 8, 14, 33, 28, 45, 46, 48,
+  34, 30, 25, 10, 13, 28, 79, 88, 69, 75, 80, 76, 68, 71, 48, 53,
+  64, 71, 73, 84, 83, 76, 33, 10, 5, 4, 10, 4, 2, 9, 9, 5,
+  6, 9, 8, 5, 5, 4, 2, 2, 9, 21, 25, 29, 20, 30, 45, 55,
+  40, 25, 18, 4, 17, 69, 85, 71, 72, 83, 155, 158, 158, 161, 155, 154,
+  132, 150, 179, 229, 237, 241, 241, 238, 183, 126, 116, 124, 132, 107, 104, 118,
+  130, 146, 142, 131, 88, 40, 34, 32, 34, 48, 63, 60, 51, 60, 114, 115,
+  112, 115, 115, 102, 107, 104, 112, 174, 181, 150, 120, 126, 115, 65, 61, 64,
+  87, 93, 56, 110, 155, 166, 166, 159, 153, 146, 134, 194, 178, 134, 108, 97,
+  110, 119, 132, 136, 139, 144, 146, 151, 148, 143, 134, 122, 102, 53, 51, 45,
+  42, 46, 63, 68, 65, 71, 69, 75, 80, 136, 153, 158, 157, 154, 157, 150,
+  138, 135, 120, 120, 51, 138, 136, 126, 122, 115, 126, 128, 126, 96, 118, 38,
+  107, 147, 150, 157, 154, 159, 128, 158, 127, 159, 126, 116, 140, 143, 144, 148,
+  139, 139, 140, 132, 148, 150, 83, 32, 126, 155, 158, 153, 154, 154, 148, 134,
+  128, 146, 142, 95, 123, 144, 151, 151, 142, 148, 151, 139, 143, 77, 64, 130,
+  159, 155, 134, 153, 150, 151, 143, 150, 159, 110, 42, 151, 161, 161, 115, 108,
+  107, 108, 118, 119, 112, 139, 124, 87, 96, 114, 139, 120, 123, 123, 127, 136,
+  123, 83, 100, 33, 76, 126, 138, 140, 138, 140, 135, 135, 134, 106, 85, 45,
+  110, 142, 134, 131, 130, 128, 128, 128, 112, 126, 93, 30, 96, 132, 136, 131,
+  124, 130, 131, 128, 123, 95, 69, 21, 122, 144, 142, 110, 106, 100, 123, 108,
+  102, 107, 63, 56, 103, 120, 191, 202, 162, 119, 122, 143, 144, 158, 162, 171,
+  175, 171, 174, 166, 159, 153, 118, 108, 126, 123, 112, 84, 29, 20, 17, 25,
+  32, 34, 38, 49, 51, 59, 44, 83, 108, 124, 120, 116, 108, 112, 107, 114,
+  115, 116, 96, 67, 8, 95, 106, 120, 114, 110, 103, 104, 89, 83, 21, 118,
+  189, 218, 224, 217, 162, 123, 111, 97, 104, 87, 84, 100, 102, 45, 36, 63,
+  52, 63, 60, 64, 67, 69, 59, 92, 126, 111, 115, 195, 193, 181, 112, 107,
+  116, 139, 151, 151, 157, 155, 146, 136, 120, 56, 29, 21, 29, 37, 29, 44,
+  93, 112, 99, 92, 89, 89, 89, 91, 91, 84, 87, 96, 120, 114, 115, 111,
+  115, 96, 100, 122, 135, 107, 99, 103, 83, 99, 95, 99, 96, 96, 93, 93,
+  96, 93, 42, 9, 67, 106, 99, 100, 83, 87, 80, 84, 61, 61, 46, 26,
+  20, 104, 107, 83, 81, 83, 73, 68, 71, 60, 33, 9, 33, 106, 97, 76,
+  80, 97, 96, 89, 75, 95, 80, 30, 5, 37, 73, 71, 34, 38, 42, 46,
+  49, 37, 12, 57, 110, 103, 100, 87, 85, 73, 79, 65, 64, 53, 25, 73,
+  87, 89, 80, 71, 68, 65, 63, 69, 77, 71, 61, 64, 75, 80, 81, 73,
+  79, 88, 85, 75, 72, 52, 21, 71, 73, 71, 59, 61, 64, 68, 72, 71,
+  60, 33, 36, 18, 55, 63, 55, 60, 48, 38, 16, 33, 37, 20, 13, 6,
+  61, 79, 75, 67, 71, 67, 77, 61, 68, 60, 53, 52, 51, 67, 63, 56,
+  59, 60, 57, 63, 55, 52, 42, 42, 71, 73, 84, 76, 87, 84, 76, 76,
+  60, 67, 64, 68, 51, 53, 53, 64, 67, 38, 53, 40, 51, 32, 8, 56,
+  87, 88, 63, 44, 29, 161, 161, 162, 155, 151, 138, 153, 151, 212, 233, 237,
+  238, 238, 194, 130, 116, 127, 138, 115, 104, 131, 140, 148, 143, 139, 119, 61,
+  34, 32, 36, 51, 64, 67, 52, 56, 115, 127, 128, 126, 123, 148, 148, 111,
+  116, 116, 158, 186, 167, 124, 122, 108, 64, 59, 61, 87, 95, 67, 140, 170,
+  158, 162, 150, 154, 155, 139, 198, 182, 167, 108, 97, 114, 126, 138, 144, 151,
+  147, 151, 150, 153, 147, 128, 122, 73, 51, 45, 42, 64, 69, 76, 77, 76,
+  87, 85, 73, 120, 165, 166, 159, 158, 143, 151, 135, 127, 136, 114, 119, 56,
+  131, 143, 135, 120, 123, 123, 126, 132, 99, 119, 40, 114, 146, 143, 142, 162,
+  130, 144, 153, 128, 142, 99, 132, 158, 155, 148, 148, 143, 146, 144, 147, 144,
+  144, 75, 33, 139, 151, 151, 146, 153, 155, 144, 143, 144, 140, 127, 87, 118,
+  148, 159, 148, 148, 150, 148, 138, 142, 75, 48, 123, 151, 158, 151, 147, 134,
+  148, 135, 151, 140, 140, 49, 135, 130, 167, 155, 162, 161, 157, 158, 154, 148,
+  131, 122, 81, 138, 150, 143, 148, 142, 142, 142, 130, 128, 107, 106, 38, 104,
+  142, 138, 130, 126, 127, 119, 116, 127, 119, 87, 45, 106, 132, 136, 126, 132,
+  127, 124, 127, 128, 119, 95, 37, 100, 112, 136, 122, 122, 126, 116, 132, 132,
+  96, 76, 0, 120, 126, 135, 135, 142, 138, 127, 138, 110, 112, 68, 51, 104,
+  126, 190, 214, 197, 132, 116, 132, 147, 155, 163, 177, 179, 178, 177, 179, 170,
+  157, 119, 119, 135, 126, 114, 85, 26, 20, 20, 33, 44, 53, 52, 49, 56,
+  55, 41, 95, 114, 122, 116, 104, 104, 103, 110, 102, 104, 110, 107, 67, 8,
+  107, 110, 108, 104, 102, 104, 89, 61, 85, 29, 111, 193, 214, 226, 201, 124,
+  108, 102, 106, 87, 85, 107, 107, 91, 46, 37, 40, 69, 65, 60, 57, 73,
+  68, 55, 96, 124, 119, 114, 199, 205, 193, 111, 103, 115, 127, 142, 148, 153,
+  159, 150, 135, 122, 61, 26, 18, 36, 49, 21, 56, 106, 92, 95, 95, 97,
+  95, 102, 97, 80, 75, 79, 112, 131, 122, 111, 108, 100, 110, 104, 115, 118,
+  116, 110, 77, 100, 115, 119, 119, 124, 120, 119, 106, 91, 57, 44, 12, 79,
+  102, 99, 100, 99, 96, 79, 81, 77, 71, 49, 28, 73, 107, 95, 92, 92,
+  89, 99, 93, 77, 80, 37, 6, 84, 104, 83, 76, 87, 91, 83, 84, 89,
+  79, 75, 37, 6, 59, 64, 48, 32, 45, 28, 41, 53, 26, 12, 48, 110,
+  91, 87, 68, 67, 65, 68, 69, 97, 52, 28, 65, 75, 65, 89, 97, 83,
+  71, 77, 60, 67, 59, 37, 67, 83, 92, 91, 88, 102, 84, 89, 55, 81,
+  55, 24, 68, 67, 71, 63, 49, 46, 51, 57, 52, 71, 42, 37, 5, 60,
+  63, 63, 59, 34, 45, 33, 32, 34, 36, 13, 9, 77, 75, 46, 55, 49,
+  56, 65, 71, 71, 61, 68, 29, 59, 52, 64, 56, 55, 55, 45, 41, 52,
+  67, 22, 75, 84, 75, 75, 79, 69, 61, 69, 75, 72, 67, 30, 34, 60,
+  84, 67, 68, 59, 45, 28, 56, 56, 40, 5, 64, 85, 64, 56, 28, 13,
+  155, 153, 154, 163, 132, 147, 153, 175, 233, 233, 238, 240, 218, 150, 122, 123,
+  136, 132, 106, 123, 147, 154, 150, 144, 135, 93, 41, 30, 30, 40, 52, 68,
+  67, 30, 53, 122, 135, 150, 146, 140, 142, 140, 123, 115, 120, 138, 193, 182,
+  132, 124, 100, 63, 57, 60, 87, 99, 83, 106, 167, 159, 159, 159, 157, 161,
+  146, 204, 194, 179, 102, 99, 114, 134, 142, 153, 150, 159, 151, 148, 153, 140,
+  127, 124, 53, 45, 42, 41, 69, 83, 81, 79, 87, 87, 81, 92, 148, 163,
+  163, 158, 139, 146, 142, 139, 132, 131, 127, 114, 53, 128, 134, 139, 132, 131,
+  126, 116, 116, 100, 115, 33, 124, 142, 161, 132, 139, 140, 132, 140, 143, 140,
+  97, 127, 159, 154, 150, 151, 157, 151, 153, 144, 135, 135, 80, 40, 118, 155,
+  144, 155, 142, 118, 146, 144, 140, 140, 130, 81, 126, 143, 158, 147, 158, 151,
+  140, 143, 139, 75, 48, 122, 151, 148, 146, 143, 144, 134, 131, 140, 144, 151,
+  55, 93, 157, 119, 147, 154, 142, 161, 154, 143, 151, 140, 107, 77, 140, 147,
+  134, 127, 126, 122, 135, 139, 128, 124, 106, 45, 124, 138, 134, 136, 123, 112,
+  114, 120, 127, 106, 83, 28, 111, 132, 127, 135, 127, 126, 130, 127, 127, 108,
+  96, 49, 92, 119, 135, 131, 131, 116, 130, 124, 126, 92, 67, 0, 116, 131,
+  132, 132, 138, 126, 146, 144, 143, 131, 72, 60, 106, 127, 190, 206, 197, 132,
+  115, 128, 143, 147, 159, 177, 182, 183, 182, 174, 170, 151, 119, 132, 138, 130,
+  122, 69, 25, 20, 24, 49, 55, 52, 49, 53, 61, 64, 48, 100, 122, 123,
+  106, 111, 115, 112, 107, 106, 106, 107, 89, 68, 8, 106, 93, 114, 110, 108,
+  103, 87, 64, 80, 24, 116, 187, 210, 222, 179, 118, 108, 99, 99, 87, 91,
+  115, 107, 93, 45, 32, 33, 52, 64, 69, 59, 68, 68, 46, 91, 122, 108,
+  120, 199, 198, 198, 110, 102, 110, 119, 134, 140, 155, 162, 154, 138, 115, 59,
+  29, 18, 25, 51, 25, 57, 106, 108, 93, 91, 85, 85, 76, 85, 76, 68,
+  24, 104, 127, 118, 106, 104, 103, 114, 118, 119, 104, 120, 107, 76, 106, 116,
+  126, 118, 110, 102, 93, 102, 96, 97, 46, 12, 76, 83, 103, 89, 84, 72,
+  80, 83, 88, 99, 52, 25, 91, 107, 79, 87, 75, 91, 95, 97, 87, 80,
+  41, 6, 97, 103, 87, 79, 91, 102, 97, 96, 99, 87, 87, 38, 5, 64,
+  55, 30, 33, 48, 26, 28, 40, 34, 9, 49, 93, 92, 67, 81, 83, 67,
+  68, 71, 63, 65, 24, 59, 79, 69, 88, 72, 60, 67, 59, 71, 71, 63,
+  41, 87, 75, 72, 67, 77, 85, 95, 77, 75, 69, 53, 25, 65, 65, 79,
+  67, 55, 57, 53, 57, 60, 67, 60, 36, 28, 46, 71, 61, 41, 38, 57,
+  32, 42, 26, 24, 13, 10, 38, 75, 71, 46, 49, 46, 45, 36, 46, 41,
+  32, 26, 67, 59, 65, 48, 44, 41, 37, 40, 41, 65, 28, 76, 80, 76,
+  59, 63, 52, 51, 57, 51, 48, 36, 33, 36, 61, 56, 51, 45, 36, 25,
+  38, 38, 46, 44, 5, 28, 88, 57, 57, 14, 0, 171, 169, 165, 150, 135,
+  150, 157, 208, 232, 241, 236, 229, 169, 128, 122, 134, 139, 122, 110, 144, 159,
+  159, 151, 143, 124, 65, 33, 28, 34, 46, 65, 69, 67, 30, 108, 134, 134,
+  146, 140, 144, 148, 143, 122, 118, 112, 132, 199, 193, 165, 123, 97, 61, 55,
+  59, 81, 99, 73, 92, 169, 161, 158, 159, 157, 154, 142, 209, 199, 178, 102,
+  103, 116, 128, 143, 151, 154, 154, 150, 151, 153, 138, 123, 123, 49, 41, 40,
+  68, 79, 83, 87, 91, 87, 87, 80, 89, 154, 161, 162, 144, 143, 140, 146,
+  139, 135, 127, 123, 123, 65, 139, 132, 124, 131, 126, 138, 111, 120, 97, 115,
+  30, 122, 134, 142, 126, 143, 128, 148, 114, 140, 134, 89, 130, 158, 150, 153,
+  153, 154, 157, 148, 147, 146, 134, 80, 33, 124, 148, 147, 155, 153, 150, 144,
+  148, 135, 142, 127, 84, 123, 142, 143, 148, 158, 147, 135, 140, 132, 81, 46,
+  127, 154, 157, 151, 143, 142, 140, 135, 135, 135, 151, 73, 60, 155, 162, 162,
+  154, 154, 155, 148, 151, 159, 144, 119, 75, 136, 144, 138, 136, 143, 131, 127,
+  126, 132, 114, 108, 44, 111, 140, 123, 126, 122, 116, 126, 116, 122, 110, 84,
+  29, 104, 128, 127, 142, 124, 122, 120, 115, 111, 120, 97, 52, 95, 130, 134,
+  138, 123, 126, 124, 128, 122, 96, 77, 10, 123, 124, 122, 139, 140, 128, 134,
+  142, 146, 122, 65, 68, 107, 120, 163, 214, 202, 136, 111, 123, 143, 147, 159,
+  173, 171, 174, 178, 179, 169, 132, 115, 134, 142, 131, 122, 51, 22, 20, 37,
+  49, 56, 53, 55, 60, 73, 60, 55, 102, 123, 114, 112, 107, 108, 103, 108,
+  111, 100, 104, 87, 63, 6, 88, 111, 107, 107, 104, 104, 77, 67, 85, 29,
+  120, 199, 210, 216, 153, 118, 100, 107, 91, 81, 103, 108, 111, 93, 44, 32,
+  34, 41, 65, 71, 72, 65, 75, 46, 88, 123, 118, 122, 199, 206, 202, 108,
+  97, 106, 120, 126, 135, 154, 161, 155, 139, 110, 59, 32, 21, 29, 38, 29,
+  52, 96, 99, 92, 87, 97, 87, 87, 88, 77, 65, 61, 122, 128, 122, 111,
+  119, 112, 116, 116, 104, 103, 116, 99, 79, 108, 122, 119, 110, 103, 97, 97,
+  103, 96, 95, 48, 13, 75, 99, 95, 81, 83, 84, 85, 79, 88, 73, 51,
+  25, 55, 99, 76, 84, 87, 95, 87, 100, 91, 73, 44, 9, 55, 103, 79,
+  88, 79, 88, 83, 81, 80, 76, 83, 36, 10, 60, 46, 38, 40, 51, 24,
+  28, 30, 25, 10, 51, 97, 91, 76, 91, 99, 85, 68, 69, 71, 51, 28,
+  56, 88, 69, 83, 71, 56, 64, 81, 68, 76, 65, 37, 87, 83, 80, 77,
+  93, 89, 77, 51, 76, 71, 53, 26, 64, 61, 80, 87, 76, 71, 68, 72,
+  61, 57, 41, 38, 28, 56, 72, 48, 46, 32, 48, 37, 55, 24, 20, 10,
+  9, 40, 79, 73, 51, 42, 41, 42, 44, 42, 36, 34, 26, 64, 40, 59,
+  57, 48, 44, 34, 36, 49, 42, 16, 57, 77, 69, 56, 48, 44, 45, 51,
+  37, 56, 40, 22, 32, 65, 59, 63, 51, 46, 20, 42, 41, 42, 30, 6,
+  29, 69, 57, 26, 1, 0, 171, 161, 163, 131, 146, 155, 179, 226, 234, 236,
+  236, 193, 128, 124, 131, 139, 132, 108, 124, 155, 162, 157, 148, 138, 106, 42,
+  29, 29, 38, 52, 57, 68, 71, 30, 124, 138, 138, 147, 146, 151, 150, 143,
+  126, 124, 112, 120, 199, 197, 174, 123, 96, 61, 55, 57, 85, 96, 88, 81,
+  165, 162, 159, 158, 155, 155, 136, 212, 201, 174, 106, 100, 114, 127, 139, 139,
+  153, 148, 153, 153, 147, 131, 120, 123, 46, 38, 36, 69, 85, 77, 83, 97,
+  95, 91, 85, 85, 154, 163, 158, 142, 136, 148, 131, 135, 143, 130, 120, 123,
+  53, 134, 132, 136, 146, 142, 142, 118, 118, 95, 120, 40, 122, 138, 158, 143,
+  138, 142, 123, 132, 139, 139, 92, 131, 154, 147, 154, 153, 157, 146, 140, 143,
+  140, 136, 87, 34, 119, 147, 143, 155, 159, 154, 146, 144, 139, 139, 123, 76,
+  124, 136, 135, 146, 153, 157, 154, 153, 131, 76, 48, 116, 154, 155, 154, 142,
+  139, 140, 151, 130, 142, 148, 118, 61, 140, 158, 143, 142, 131, 150, 158, 159,
+  138, 132, 108, 80, 139, 144, 124, 132, 131, 127, 126, 143, 134, 106, 108, 51,
+  107, 123, 132, 123, 122, 114, 114, 128, 126, 107, 87, 40, 115, 131, 131, 147,
+  131, 132, 118, 124, 135, 123, 110, 55, 97, 132, 123, 119, 123, 122, 114, 118,
+  122, 97, 76, 10, 115, 126, 120, 128, 131, 130, 116, 130, 126, 103, 80, 67,
+  95, 127, 155, 213, 213, 158, 107, 112, 140, 148, 162, 173, 178, 183, 178, 169,
+  163, 123, 128, 143, 138, 132, 119, 32, 22, 17, 34, 53, 57, 55, 61, 68,
+  68, 67, 56, 102, 120, 119, 114, 116, 104, 116, 108, 112, 100, 106, 97, 65,
+  8, 97, 92, 102, 132, 103, 103, 100, 69, 80, 26, 114, 190, 214, 214, 142,
+  106, 96, 97, 84, 89, 108, 108, 112, 106, 38, 29, 28, 37, 63, 72, 68,
+  57, 73, 49, 93, 130, 112, 127, 204, 208, 201, 107, 100, 107, 111, 123, 138,
+  151, 162, 158, 142, 123, 56, 30, 30, 26, 42, 33, 52, 95, 96, 91, 83,
+  95, 68, 80, 102, 69, 69, 64, 123, 122, 108, 99, 108, 112, 120, 99, 95,
+  103, 118, 91, 73, 104, 126, 111, 97, 103, 89, 95, 88, 103, 107, 49, 14,
+  72, 93, 100, 79, 81, 84, 73, 80, 71, 76, 52, 25, 71, 95, 68, 81,
+  84, 87, 100, 99, 81, 81, 45, 10, 53, 99, 79, 77, 77, 79, 75, 76,
+  95, 79, 76, 40, 9, 72, 51, 34, 41, 49, 26, 24, 25, 20, 9, 65,
+  100, 87, 95, 103, 104, 91, 76, 75, 69, 51, 29, 55, 93, 77, 81, 72,
+  55, 56, 67, 57, 73, 68, 26, 91, 76, 80, 72, 83, 73, 57, 51, 80,
+  65, 53, 29, 65, 63, 77, 57, 64, 67, 63, 65, 65, 53, 44, 37, 12,
+  46, 72, 67, 30, 29, 46, 30, 44, 46, 36, 12, 9, 34, 77, 69, 41,
+  48, 34, 38, 37, 40, 30, 30, 24, 59, 72, 46, 46, 44, 55, 42, 34,
+  44, 52, 21, 59, 67, 61, 52, 33, 32, 42, 59, 45, 42, 25, 28, 42,
+  60, 69, 40, 29, 34, 29, 40, 28, 49, 32, 9, 38, 60, 44, 30, 0,
+  0, 183, 163, 148, 131, 150, 155, 206, 229, 236, 232, 222, 159, 124, 123, 136,
+  142, 132, 112, 143, 161, 161, 155, 148, 135, 84, 34, 26, 30, 46, 55, 72,
+  67, 71, 34, 130, 138, 146, 143, 148, 154, 148, 140, 127, 128, 116, 126, 199,
+  199, 185, 120, 100, 64, 55, 57, 89, 99, 89, 67, 158, 165, 157, 166, 158,
+  159, 147, 213, 194, 177, 108, 103, 114, 127, 135, 139, 147, 151, 153, 153, 136,
+  128, 116, 119, 45, 36, 36, 72, 91, 95, 85, 84, 92, 93, 79, 103, 154,
+  162, 147, 143, 139, 144, 144, 147, 136, 138, 115, 120, 56, 136, 136, 130, 131,
+  136, 138, 111, 116, 95, 110, 38, 123, 142, 143, 127, 138, 131, 136, 132, 122,
+  134, 89, 130, 153, 157, 154, 157, 147, 144, 146, 143, 138, 132, 83, 33, 116,
+  142, 143, 139, 147, 148, 143, 142, 139, 135, 120, 67, 114, 139, 154, 148, 155,
+  147, 143, 131, 143, 72, 51, 106, 153, 150, 150, 139, 144, 148, 140, 130, 140,
+  144, 114, 48, 111, 157, 161, 132, 143, 157, 146, 139, 144, 131, 95, 85, 138,
+  142, 124, 130, 139, 130, 130, 116, 130, 130, 107, 55, 112, 132, 128, 131, 130,
+  112, 111, 111, 123, 116, 88, 44, 115, 136, 122, 126, 134, 120, 130, 131, 132,
+  122, 106, 56, 99, 116, 130, 120, 120, 119, 126, 122, 115, 99, 79, 0, 127,
+  127, 116, 99, 132, 127, 136, 134, 127, 110, 77, 59, 89, 130, 120, 214, 217,
+  183, 110, 111, 135, 146, 158, 170, 174, 174, 173, 175, 153, 124, 134, 148, 139,
+  131, 119, 29, 22, 20, 33, 59, 65, 63, 71, 83, 71, 63, 57, 91, 119,
+  118, 120, 104, 114, 108, 107, 112, 97, 103, 100, 68, 9, 96, 99, 102, 103,
+  130, 115, 106, 69, 79, 21, 103, 181, 208, 233, 153, 106, 91, 97, 83, 103,
+  110, 110, 115, 91, 37, 32, 25, 38, 57, 71, 73, 60, 72, 45, 99, 120,
+  116, 136, 210, 216, 199, 102, 95, 106, 118, 124, 140, 150, 163, 158, 142, 132,
+  57, 36, 18, 30, 46, 36, 48, 95, 95, 92, 96, 87, 81, 87, 76, 85,
+  57, 53, 110, 118, 116, 110, 114, 96, 92, 106, 100, 110, 112, 77, 84, 111,
+  124, 106, 95, 97, 97, 89, 103, 96, 93, 51, 17, 77, 88, 92, 73, 88,
+  75, 83, 79, 76, 65, 53, 24, 75, 104, 69, 76, 87, 89, 91, 92, 71,
+  81, 46, 8, 57, 97, 83, 87, 83, 77, 83, 99, 71, 72, 73, 37, 9,
+  59, 44, 36, 45, 46, 41, 22, 18, 14, 10, 57, 96, 77, 96, 93, 93,
+  89, 99, 95, 72, 48, 28, 61, 84, 59, 85, 67, 56, 59, 67, 67, 76,
+  64, 25, 83, 84, 92, 73, 76, 71, 59, 49, 48, 60, 52, 28, 46, 59,
+  75, 71, 67, 67, 59, 67, 64, 67, 42, 37, 8, 45, 81, 63, 51, 26,
+  42, 37, 41, 22, 28, 10, 9, 36, 76, 71, 53, 53, 40, 38, 37, 36,
+  34, 46, 22, 49, 55, 30, 37, 37, 32, 40, 37, 38, 51, 29, 68, 77,
+  75, 61, 26, 52, 48, 49, 38, 46, 34, 25, 46, 55, 36, 57, 33, 21,
+  30, 29, 29, 24, 14, 8, 38, 55, 49, 21, 0, 0, 157, 170, 150, 142,
+  151, 170, 221, 233, 229, 232, 182, 135, 124, 134, 139, 142, 122, 126, 158, 163,
+  161, 154, 144, 127, 52, 30, 26, 33, 48, 68, 72, 72, 72, 33, 138, 136,
+  144, 142, 151, 146, 144, 142, 131, 126, 111, 146, 199, 197, 191, 124, 97, 64,
+  56, 57, 87, 95, 85, 64, 161, 158, 162, 162, 161, 157, 146, 217, 191, 189,
+  110, 102, 112, 123, 132, 140, 144, 147, 153, 146, 135, 128, 114, 116, 42, 34,
+  33, 71, 96, 91, 93, 91, 99, 92, 80, 107, 161, 162, 148, 143, 150, 154,
+  142, 144, 147, 134, 116, 116, 56, 132, 131, 132, 135, 115, 118, 119, 111, 96,
+  107, 36, 126, 148, 150, 139, 139, 144, 116, 140, 134, 135, 83, 139, 155, 155,
+  148, 146, 150, 146, 147, 146, 140, 99, 95, 38, 112, 135, 146, 144, 140, 146,
+  143, 139, 140, 136, 123, 60, 128, 135, 150, 150, 151, 148, 144, 150, 140, 71,
+  51, 99, 139, 150, 148, 127, 146, 144, 127, 139, 139, 128, 120, 64, 108, 154,
+  162, 158, 128, 144, 123, 139, 134, 124, 69, 100, 135, 140, 135, 131, 119, 115,
+  120, 114, 116, 127, 110, 60, 89, 122, 132, 111, 100, 111, 120, 112, 114, 100,
+  89, 22, 112, 127, 126, 122, 120, 112, 120, 128, 123, 118, 107, 63, 68, 112,
+  128, 130, 132, 130, 130, 128, 114, 92, 71, 0, 119, 122, 115, 118, 111, 136,
+  134, 131, 103, 134, 83, 73, 61, 127, 118, 220, 222, 216, 111, 111, 134, 151,
+  154, 158, 175, 177, 174, 174, 142, 128, 150, 151, 139, 130, 119, 29, 22, 17,
+  38, 64, 60, 68, 72, 81, 76, 72, 63, 83, 115, 116, 115, 114, 115, 115,
+  112, 108, 106, 103, 99, 63, 10, 93, 89, 87, 102, 138, 106, 100, 69, 76,
+  16, 84, 136, 189, 234, 159, 106, 100, 100, 102, 110, 106, 112, 106, 63, 36,
+  30, 26, 38, 57, 72, 72, 68, 71, 36, 93, 116, 112, 131, 209, 208, 205,
+  104, 96, 108, 120, 131, 140, 150, 161, 161, 151, 139, 59, 33, 17, 25, 42,
+  33, 37, 89, 88, 96, 91, 89, 92, 84, 75, 80, 56, 16, 107, 120, 102,
+  92, 99, 104, 106, 107, 108, 112, 114, 77, 88, 116, 107, 88, 111, 91, 88,
+  91, 92, 96, 91, 55, 17, 69, 93, 97, 80, 75, 77, 79, 75, 85, 85,
+  57, 21, 91, 97, 75, 79, 87, 85, 87, 88, 72, 69, 51, 5, 61, 89,
+  84, 81, 80, 97, 96, 73, 69, 68, 79, 36, 8, 71, 48, 33, 30, 29,
+  46, 18, 20, 16, 10, 51, 89, 87, 89, 88, 102, 84, 80, 76, 69, 56,
+  26, 57, 87, 76, 79, 59, 56, 65, 68, 60, 80, 65, 28, 81, 76, 93,
+  65, 65, 88, 59, 49, 56, 48, 53, 29, 37, 65, 55, 67, 88, 77, 63,
+  63, 71, 63, 44, 37, 32, 46, 81, 49, 30, 38, 40, 25, 13, 14, 14,
+  14, 10, 30, 49, 67, 49, 44, 48, 42, 40, 37, 36, 26, 20, 37, 36,
+  34, 33, 36, 33, 44, 37, 41, 26, 25, 72, 75, 72, 68, 33, 53, 36,
+  34, 56, 28, 36, 29, 51, 37, 26, 28, 18, 29, 13, 14, 9, 21, 12,
+  9, 25, 55, 14, 14, 2, 0, 167, 155, 128, 146, 154, 185, 218, 233, 228,
+  218, 148, 136, 132, 136, 142, 140, 114, 144, 166, 165, 161, 153, 143, 120, 44,
+  29, 26, 37, 49, 55, 55, 73, 69, 30, 135, 135, 150, 146, 144, 143, 144,
+  135, 128, 132, 107, 155, 198, 201, 185, 122, 95, 64, 56, 60, 88, 102, 96,
+  76, 136, 171, 158, 158, 161, 155, 144, 221, 193, 198, 111, 103, 112, 123, 132,
+  143, 148, 150, 150, 132, 131, 130, 118, 122, 40, 32, 32, 76, 93, 87, 92,
+  87, 103, 93, 76, 114, 154, 158, 146, 115, 116, 132, 140, 126, 123, 127, 123,
+  123, 65, 144, 136, 130, 120, 120, 118, 122, 110, 93, 104, 29, 124, 135, 148,
+  127, 142, 143, 135, 143, 143, 130, 73, 128, 155, 161, 158, 158, 150, 142, 132,
+  140, 112, 100, 91, 41, 99, 124, 128, 107, 120, 138, 132, 112, 122, 130, 116,
+  61, 119, 128, 150, 153, 132, 124, 122, 118, 102, 85, 44, 95, 146, 151, 148,
+  146, 134, 131, 128, 136, 127, 134, 131, 71, 91, 151, 159, 146, 122, 151, 144,
+  134, 127, 118, 69, 83, 132, 139, 132, 126, 115, 118, 112, 114, 112, 120, 110,
+  59, 81, 100, 100, 100, 103, 100, 106, 104, 114, 114, 87, 25, 111, 128, 128,
+  122, 123, 120, 115, 118, 111, 110, 107, 68, 81, 106, 128, 130, 138, 128, 120,
+  127, 91, 96, 83, 8, 116, 120, 112, 119, 100, 122, 127, 130, 119, 124, 69,
+  69, 52, 124, 123, 222, 228, 220, 112, 108, 134, 148, 153, 157, 169, 174, 171,
+  162, 130, 142, 148, 150, 142, 136, 122, 26, 21, 18, 38, 63, 65, 67, 71,
+  79, 79, 75, 64, 72, 110, 118, 120, 108, 112, 114, 107, 107, 103, 96, 83,
+  61, 10, 84, 92, 103, 100, 100, 95, 84, 79, 80, 17, 65, 111, 155, 150,
+  112, 99, 89, 76, 93, 92, 97, 92, 60, 37, 33, 29, 28, 36, 60, 69,
+  72, 67, 71, 37, 97, 115, 104, 103, 202, 217, 213, 104, 95, 108, 122, 131,
+  142, 150, 165, 159, 139, 130, 56, 34, 18, 24, 42, 37, 33, 68, 91, 88,
+  92, 88, 89, 87, 79, 83, 55, 38, 119, 115, 95, 103, 115, 116, 114, 116,
+  112, 116, 108, 73, 95, 123, 102, 103, 103, 92, 93, 102, 95, 96, 87, 55,
+  17, 76, 91, 95, 77, 72, 72, 71, 83, 87, 77, 56, 25, 61, 92, 72,
+  65, 69, 72, 72, 68, 73, 77, 55, 13, 61, 59, 100, 95, 97, 99, 100,
+  65, 75, 72, 75, 44, 14, 60, 37, 32, 25, 36, 30, 40, 21, 20, 10,
+  46, 88, 84, 85, 100, 76, 79, 75, 65, 71, 51, 30, 59, 85, 65, 61,
+  64, 85, 67, 83, 73, 67, 60, 32, 73, 76, 73, 75, 77, 71, 68, 64,
+  52, 63, 57, 36, 34, 51, 63, 56, 44, 40, 40, 52, 46, 44, 42, 37,
+  33, 65, 81, 51, 24, 6, 8, 20, 18, 8, 9, 17, 16, 21, 36, 42,
+  41, 34, 33, 32, 30, 32, 34, 33, 29, 37, 36, 49, 37, 40, 30, 32,
+  34, 34, 29, 33, 45, 67, 79, 53, 34, 30, 29, 32, 26, 22, 22, 26,
+  29, 26, 26, 29, 25, 17, 38, 34, 38, 33, 20, 28, 30, 38, 38, 30,
+  18, 12, 157, 158, 116, 142, 157, 189, 222, 228, 229, 169, 140, 132, 135, 140,
+  146, 138, 119, 158, 169, 166, 159, 151, 139, 107, 38, 28, 25, 36, 48, 69,
+  73, 76, 73, 36, 138, 142, 143, 148, 143, 138, 134, 136, 130, 124, 115, 165,
+  195, 198, 182, 123, 91, 64, 57, 63, 89, 102, 97, 72, 127, 169, 163, 144,
+  161, 153, 140, 221, 199, 210, 111, 104, 112, 127, 140, 139, 143, 142, 134, 123,
+  130, 128, 119, 122, 36, 30, 29, 79, 87, 83, 87, 87, 76, 110, 103, 111,
+  122, 130, 122, 122, 126, 122, 120, 127, 140, 134, 122, 116, 57, 135, 134, 115,
+  110, 114, 116, 111, 103, 104, 114, 45, 126, 142, 143, 132, 127, 124, 112, 130,
+  126, 123, 83, 111, 135, 148, 118, 122, 114, 114, 110, 95, 79, 67, 96, 84,
+  93, 93, 95, 97, 85, 87, 88, 88, 89, 81, 73, 55, 93, 93, 97, 91,
+  77, 79, 84, 85, 73, 72, 88, 87, 126, 138, 132, 112, 128, 132, 136, 120,
+  118, 136, 128, 118, 84, 96, 148, 139, 110, 130, 131, 131, 128, 107, 72, 76,
+  119, 124, 108, 108, 111, 122, 123, 110, 107, 108, 104, 102, 92, 107, 108, 108,
+  95, 104, 88, 107, 100, 110, 91, 38, 119, 112, 112, 112, 112, 111, 110, 112,
+  107, 108, 89, 104, 61, 72, 76, 83, 79, 83, 83, 84, 83, 93, 77, 5,
+  51, 124, 119, 68, 91, 110, 115, 107, 99, 112, 104, 83, 59, 81, 103, 213,
+  229, 220, 107, 104, 128, 143, 148, 147, 154, 167, 169, 161, 135, 153, 155, 154,
+  144, 136, 122, 25, 20, 20, 34, 59, 65, 71, 73, 71, 75, 80, 79, 63,
+  73, 95, 103, 102, 100, 99, 102, 103, 103, 97, 96, 61, 12, 80, 93, 96,
+  85, 88, 76, 77, 77, 77, 32, 49, 68, 87, 108, 79, 48, 41, 30, 29,
+  32, 30, 30, 29, 33, 30, 25, 25, 32, 63, 65, 65, 55, 71, 40, 91,
+  103, 119, 102, 189, 214, 212, 102, 96, 112, 124, 136, 140, 153, 165, 159, 140,
+  128, 51, 36, 37, 22, 44, 42, 34, 42, 64, 72, 71, 79, 76, 85, 76,
+  75, 65, 52, 118, 107, 111, 110, 103, 103, 97, 100, 106, 102, 85, 72, 83,
+  103, 112, 107, 103, 107, 102, 96, 75, 67, 69, 53, 20, 64, 75, 85, 95,
+  102, 85, 92, 83, 72, 53, 59, 24, 64, 84, 89, 80, 79, 77, 75, 65,
+  71, 65, 56, 12, 51, 41, 44, 55, 64, 67, 49, 53, 65, 42, 49, 41,
+  14, 60, 37, 42, 40, 40, 30, 28, 28, 20, 16, 45, 48, 45, 48, 38,
+  57, 68, 71, 71, 61, 46, 36, 36, 67, 59, 68, 55, 61, 60, 65, 59,
+  53, 61, 17, 60, 72, 69, 53, 59, 61, 61, 53, 53, 56, 52, 44, 49,
+  51, 48, 44, 44, 44, 42, 48, 42, 40, 38, 37, 6, 60, 5, 28, 4,
+  25, 6, 9, 24, 22, 9, 13, 18, 20, 20, 20, 21, 21, 21, 22, 24,
+  24, 22, 28, 21, 26, 29, 26, 32, 28, 24, 24, 26, 28, 28, 25, 37,
+  49, 32, 46, 28, 29, 65, 71, 65, 34, 55, 52, 26, 25, 21, 22, 26,
+  24, 25, 20, 17, 14, 16, 20, 41, 18, 17, 56, 60, 71, 104, 106, 111,
+  146, 150, 201, 230, 179, 171, 151, 124, 148, 143, 140, 143, 132, 131, 165, 169,
+  165, 158, 150, 134, 93, 33, 26, 26, 40, 52, 71, 76, 72, 72, 21, 134,
+  136, 136, 136, 108, 119, 126, 118, 132, 130, 116, 175, 202, 195, 182, 119, 89,
+  65, 59, 63, 92, 97, 108, 97, 95, 132, 161, 148, 147, 144, 140, 221, 210,
+  214, 112, 104, 110, 126, 126, 126, 127, 126, 131, 134, 132, 131, 124, 123, 34,
+  29, 30, 69, 76, 81, 89, 91, 87, 96, 91, 97, 110, 110, 99, 106, 107,
+  110, 112, 112, 115, 120, 118, 118, 112, 119, 115, 112, 111, 108, 106, 104, 97,
+  106, 93, 51, 119, 147, 120, 112, 106, 107, 110, 104, 102, 103, 87, 102, 103,
+  99, 99, 93, 89, 84, 85, 81, 77, 65, 53, 32, 33, 30, 30, 29, 26,
+  25, 25, 22, 25, 21, 21, 22, 22, 29, 34, 33, 29, 32, 42, 61, 56,
+  60, 57, 76, 107, 102, 122, 130, 118, 108, 122, 124, 123, 120, 120, 106, 95,
+  107, 96, 91, 77, 64, 63, 63, 73, 63, 51, 69, 73, 81, 80, 79, 107,
+  110, 108, 88, 85, 69, 64, 75, 83, 95, 97, 96, 79, 69, 72, 92, 100,
+  99, 88, 37, 69, 77, 68, 79, 79, 80, 80, 84, 84, 87, 89, 89, 87,
+  93, 67, 67, 57, 40, 29, 26, 36, 42, 33, 0, 26, 26, 38, 34, 40,
+  44, 52, 55, 65, 77, 104, 88, 79, 73, 114, 212, 230, 220, 106, 103, 110,
+  119, 135, 146, 157, 154, 159, 154, 138, 155, 155, 153, 143, 131, 119, 24, 20,
+  18, 26, 36, 52, 51, 60, 65, 68, 71, 67, 67, 83, 85, 88, 85, 88,
+  87, 89, 88, 93, 93, 87, 63, 16, 88, 92, 72, 63, 63, 57, 48, 68,
+  64, 36, 32, 33, 53, 41, 37, 32, 34, 28, 29, 37, 36, 28, 28, 28,
+  29, 38, 40, 40, 41, 44, 44, 45, 71, 36, 53, 56, 68, 104, 178, 217,
+  208, 104, 100, 111, 120, 134, 144, 153, 167, 158, 139, 126, 52, 40, 16, 30,
+  32, 36, 34, 41, 40, 41, 38, 40, 41, 44, 41, 40, 51, 34, 48, 91,
+  91, 79, 77, 87, 89, 80, 77, 80, 77, 73, 77, 76, 77, 79, 85, 73,
+  75, 64, 57, 46, 56, 51, 52, 56, 53, 32, 59, 59, 46, 63, 46, 41,
+  60, 52, 52, 55, 56, 53, 51, 51, 45, 46, 41, 55, 38, 34, 6, 16,
+  14, 24, 24, 21, 22, 29, 26, 28, 36, 51, 33, 22, 33, 32, 24, 26,
+  29, 29, 28, 48, 33, 37, 29, 34, 40, 37, 33, 33, 41, 48, 45, 42,
+  42, 45, 42, 44, 45, 46, 44, 44, 42, 44, 44, 42, 37, 18, 29, 45,
+  32, 33, 33, 45, 32, 33, 34, 40, 38, 32, 30, 37, 34, 33, 32, 30,
+  30, 30, 30, 29, 28, 26, 2, 37, 34, 34, 32, 46, 42, 41, 42, 46,
+  48, 51, 51, 59, 64, 68, 72, 83, 107, 128, 150, 163, 171, 228, 226, 222,
+  209, 202, 205, 199, 204, 191, 187, 178, 162, 80, 36, 32, 29, 29, 22, 73,
+  65, 155, 185, 165, 161, 159, 100, 83, 83, 61, 51, 48, 57, 87, 111, 144,
+  162, 154, 116, 76, 45, 16, 9, 9, 142, 139, 140, 161, 159, 205, 140, 147,
+  130, 124, 127, 135, 132, 143, 148, 140, 139, 169, 170, 162, 154, 140, 128, 55,
+  29, 25, 30, 45, 56, 40, 67, 67, 55, 29, 77, 95, 88, 91, 91, 93,
+  93, 99, 140, 119, 91, 166, 193, 198, 182, 118, 83, 63, 59, 68, 91, 91,
+  95, 96, 102, 108, 106, 112, 114, 150, 118, 225, 218, 218, 111, 102, 108, 123,
+  116, 116, 115, 116, 119, 131, 131, 134, 124, 120, 29, 24, 25, 42, 38, 42,
+  45, 48, 38, 40, 46, 53, 60, 77, 73, 80, 84, 85, 83, 89, 93, 97,
+  102, 96, 87, 100, 106, 99, 104, 110, 116, 146, 132, 92, 99, 110, 108, 95,
+  92, 87, 80, 79, 72, 72, 63, 56, 56, 57, 49, 64, 59, 57, 56, 63,
+  56, 61, 56, 89, 112, 146, 150, 144, 155, 147, 153, 146, 158, 157, 136, 110,
+  111, 107, 116, 136, 136, 120, 110, 93, 73, 60, 51, 42, 29, 29, 25, 25,
+  21, 21, 22, 24, 20, 24, 26, 26, 25, 24, 29, 37, 107, 114, 120, 126,
+  132, 128, 96, 106, 57, 134, 130, 143, 116, 68, 64, 84, 60, 63, 111, 118,
+  124, 114, 115, 123, 128, 123, 112, 103, 92, 84, 60, 59, 84, 40, 22, 21,
+  21, 22, 16, 16, 17, 20, 13, 14, 16, 16, 16, 18, 52, 60, 91, 107,
+  103, 106, 97, 65, 61, 0, 84, 124, 114, 80, 115, 81, 92, 89, 68, 57,
+  55, 63, 60, 63, 106, 201, 216, 208, 95, 92, 103, 104, 99, 112, 130, 147,
+  154, 159, 132, 148, 158, 154, 140, 134, 118, 20, 17, 17, 14, 14, 14, 16,
+  16, 14, 17, 28, 25, 17, 21, 42, 59, 41, 44, 25, 30, 28, 49, 33,
+  71, 24, 16, 92, 48, 38, 37, 37, 33, 40, 32, 26, 29, 26, 28, 29,
+  28, 34, 30, 24, 24, 26, 25, 26, 28, 26, 28, 26, 28, 30, 32, 36,
+  46, 53, 56, 73, 34, 83, 104, 104, 103, 177, 202, 193, 107, 100, 112, 124,
+  132, 142, 155, 166, 159, 136, 111, 46, 42, 14, 24, 17, 22, 6, 6, 6,
+  4, 5, 5, 4, 4, 2, 2, 2, 2, 4, 5, 5, 5, 8, 9, 9,
+  10, 13, 14, 16, 16, 21, 21, 26, 28, 29, 33, 36, 36, 45, 68, 73,
+  64, 57, 63, 49, 49, 52, 48, 44, 48, 49, 55, 71, 76, 85, 77, 72,
+  69, 67, 71, 76, 68, 63, 49, 52, 56, 26, 38, 88, 96, 69, 60, 65,
+  40, 29, 22, 24, 20, 24, 18, 25, 37, 36, 29, 34, 34, 30, 25, 33,
+  38, 42, 55, 46, 48, 42, 45, 40, 36, 28, 24, 21, 22, 18, 20, 18,
+  18, 17, 20, 18, 20, 17, 21, 21, 51, 20, 16, 14, 14, 12, 10, 10,
+  9, 8, 6, 5, 4, 5, 4, 1, 1, 0, 18, 1, 0, 0, 1, 1,
+  8, 44, 40, 56, 60, 85, 108, 146, 150, 165, 174, 165, 151, 140, 132, 120,
+  122, 131, 118, 108, 118, 124, 139, 155, 165, 177, 186, 185, 182, 178, 179, 175,
+  174, 169, 159, 147, 150, 139, 28, 22, 18, 72, 40, 132, 189, 194, 197, 194,
+  191, 198, 190, 187, 195, 201, 190, 197, 197, 204, 201, 189, 197, 195, 138, 59,
+  51, 13, 10, 173, 173, 178, 170, 199, 169, 173, 163, 140, 151, 103, 103, 108,
+  111, 111, 132, 140, 167, 167, 163, 150, 139, 124, 52, 29, 26, 41, 46, 63,
+  64, 73, 60, 67, 67, 71, 87, 96, 99, 112, 119, 130, 120, 110, 135, 103,
+  161, 193, 197, 147, 120, 83, 64, 59, 81, 87, 85, 76, 81, 93, 99, 99,
+  110, 130, 147, 147, 221, 218, 218, 110, 100, 108, 115, 112, 122, 128, 131, 132,
+  130, 132, 140, 126, 126, 33, 26, 26, 41, 55, 75, 77, 84, 99, 175, 185,
+  193, 198, 198, 193, 201, 208, 210, 205, 202, 195, 191, 197, 197, 194, 189, 190,
+  185, 182, 178, 183, 178, 183, 142, 120, 80, 88, 91, 119, 157, 178, 194, 191,
+  182, 177, 169, 167, 174, 167, 161, 142, 134, 140, 143, 136, 148, 161, 130, 163,
+  178, 190, 195, 199, 198, 193, 193, 189, 169, 148, 130, 150, 147, 140, 151, 150,
+  155, 146, 154, 140, 139, 124, 97, 75, 45, 112, 135, 128, 124, 124, 130, 128,
+  135, 130, 130, 122, 120, 122, 120, 116, 135, 134, 134, 140, 132, 115, 115, 53,
+  138, 151, 122, 119, 150, 148, 144, 132, 116, 140, 163, 174, 179, 171, 175, 175,
+  171, 165, 154, 131, 118, 112, 92, 85, 38, 52, 131, 140, 116, 119, 110, 132,
+  118, 122, 115, 110, 103, 112, 128, 120, 112, 110, 122, 106, 108, 122, 93, 65,
+  2, 110, 128, 136, 142, 104, 138, 135, 115, 119, 96, 80, 77, 99, 104, 108,
+  220, 229, 222, 107, 103, 114, 111, 111, 111, 114, 114, 119, 118, 139, 157, 159,
+  151, 139, 130, 111, 22, 20, 18, 37, 48, 48, 53, 51, 52, 51, 59, 51,
+  30, 56, 107, 104, 89, 93, 95, 61, 38, 36, 40, 42, 46, 33, 61, 80,
+  88, 88, 95, 103, 100, 87, 79, 87, 102, 110, 97, 89, 81, 83, 73, 75,
+  44, 44, 40, 34, 37, 45, 55, 53, 53, 59, 73, 77, 72, 76, 77, 32,
+  103, 103, 111, 108, 187, 213, 179, 106, 102, 111, 126, 134, 146, 154, 169, 161,
+  159, 130, 55, 44, 12, 12, 21, 22, 41, 83, 87, 91, 92, 92, 99, 97,
+  96, 93, 57, 36, 84, 106, 118, 111, 108, 111, 119, 115, 108, 104, 108, 104,
+  116, 134, 123, 122, 119, 103, 95, 99, 110, 169, 179, 190, 175, 154, 115, 81,
+  72, 71, 77, 87, 124, 143, 162, 146, 150, 144, 136, 144, 123, 120, 115, 110,
+  77, 57, 55, 44, 20, 85, 102, 124, 127, 102, 106, 79, 72, 76, 80, 67,
+  64, 85, 134, 144, 154, 155, 155, 157, 157, 150, 157, 165, 181, 187, 185, 170,
+  155, 110, 91, 51, 49, 44, 44, 32, 12, 32, 77, 92, 68, 77, 75, 69,
+  64, 52, 41, 18, 34, 83, 95, 84, 84, 97, 96, 81, 110, 110, 110, 80,
+  85, 120, 128, 157, 157, 153, 158, 147, 140, 132, 84, 48, 45, 67, 120, 158,
+  170, 183, 194, 193, 193, 198, 201, 190, 179, 189, 175, 161, 159, 161, 148, 142,
+  143, 143, 138, 140, 135, 148, 147, 153, 179, 179, 162, 150, 159, 146, 139, 134,
+  150, 136, 114, 119, 102, 53, 167, 212, 202, 220, 179, 218, 174, 214, 204, 224,
+  206, 212, 195, 205, 202, 201, 195, 202, 198, 147, 67, 68, 63, 64, 182, 189,
+  171, 183, 210, 197, 238, 198, 135, 104, 108, 124, 128, 136, 123, 132, 148, 170,
+  167, 153, 144, 139, 126, 49, 29, 26, 67, 65, 83, 97, 106, 110, 108, 132,
+  147, 154, 157, 162, 162, 165, 163, 166, 144, 135, 91, 127, 169, 195, 136, 108,
+  72, 68, 67, 84, 107, 107, 103, 96, 91, 134, 155, 155, 157, 153, 142, 226,
+  221, 220, 108, 100, 110, 116, 131, 136, 135, 136, 135, 134, 130, 138, 124, 124,
+  33, 25, 26, 57, 80, 95, 151, 110, 170, 191, 201, 210, 208, 210, 212, 220,
+  222, 222, 222, 230, 232, 232, 233, 234, 234, 230, 236, 225, 233, 237, 237, 229,
+  225, 225, 220, 224, 224, 216, 216, 218, 216, 221, 216, 214, 205, 204, 201, 204,
+  199, 195, 187, 174, 174, 134, 132, 157, 174, 181, 193, 202, 210, 212, 209, 213,
+  210, 210, 208, 204, 199, 186, 151, 139, 130, 122, 139, 139, 143, 148, 148, 148,
+  146, 118, 92, 46, 142, 134, 147, 140, 143, 142, 130, 128, 130, 136, 135, 115,
+  93, 140, 151, 157, 153, 147, 138, 130, 136, 112, 56, 147, 148, 146, 124, 154,
+  120, 131, 147, 159, 193, 213, 222, 221, 220, 218, 214, 210, 206, 195, 193, 181,
+  171, 116, 85, 46, 131, 139, 123, 120, 130, 134, 138, 118, 115, 130, 132, 123,
+  99, 126, 126, 126, 126, 123, 123, 123, 116, 110, 76, 0, 99, 124, 132, 127,
+  100, 104, 124, 123, 102, 112, 116, 65, 102, 126, 110, 228, 236, 222, 106, 97,
+  108, 124, 131, 136, 140, 139, 138, 138, 143, 159, 155, 147, 139, 131, 118, 20,
+  20, 20, 46, 48, 60, 76, 71, 72, 64, 61, 55, 40, 91, 118, 124, 122,
+  124, 118, 108, 99, 111, 104, 88, 93, 103, 110, 100, 104, 100, 107, 116, 118,
+  96, 106, 102, 123, 140, 135, 128, 143, 142, 140, 100, 88, 84, 75, 72, 65,
+  72, 67, 57, 45, 61, 65, 59, 57, 59, 77, 40, 102, 111, 111, 108, 210,
+  217, 187, 102, 99, 108, 124, 135, 143, 155, 167, 161, 143, 135, 55, 56, 61,
+  64, 65, 92, 88, 99, 102, 103, 102, 107, 89, 93, 93, 92, 95, 42, 112,
+  108, 111, 122, 116, 143, 159, 171, 174, 179, 179, 181, 189, 194, 191, 186, 187,
+  185, 185, 183, 186, 193, 194, 195, 193, 186, 177, 177, 153, 146, 159, 146, 158,
+  181, 186, 199, 195, 190, 189, 187, 174, 175, 182, 177, 155, 80, 51, 55, 26,
+  97, 118, 106, 123, 128, 110, 124, 120, 97, 118, 130, 165, 165, 182, 186, 193,
+  186, 189, 187, 190, 194, 194, 199, 206, 206, 208, 205, 205, 198, 179, 159, 110,
+  69, 59, 30, 9, 84, 93, 80, 89, 95, 80, 89, 79, 67, 33, 21, 93,
+  170, 181, 185, 178, 182, 189, 198, 206, 202, 197, 199, 195, 197, 194, 195, 179,
+  193, 193, 185, 148, 171, 140, 65, 46, 96, 153, 178, 186, 194, 195, 201, 205,
+  204, 205, 202, 179, 204, 198, 161, 110, 104, 151, 170, 167, 165, 150, 157, 153,
+  142, 122, 120, 106, 116, 112, 107, 146, 150, 97, 150, 158, 118, 112, 110, 59,
+  41, 93, 157, 187, 144, 126, 97, 102, 110, 110, 138, 179, 185, 185, 193, 173,
+  178, 189, 193, 112, 79, 67, 88, 103, 115, 163, 162, 173, 189, 187, 204, 242,
+  216, 138, 104, 122, 131, 139, 151, 158, 162, 166, 163, 154, 153, 143, 139, 126,
+  46, 28, 29, 63, 80, 91, 124, 115, 134, 142, 131, 136, 140, 159, 163, 157,
+  166, 161, 159, 155, 140, 130, 116, 124, 181, 127, 96, 77, 69, 65, 99, 104,
+  99, 95, 75, 124, 162, 159, 157, 153, 153, 148, 233, 224, 218, 103, 99, 115,
+  122, 136, 132, 138, 140, 138, 132, 130, 135, 124, 123, 33, 25, 26, 57, 77,
+  144, 95, 104, 119, 135, 189, 197, 202, 212, 213, 216, 218, 221, 225, 226, 226,
+  232, 233, 234, 234, 233, 236, 229, 236, 237, 236, 232, 225, 218, 213, 216, 217,
+  222, 224, 221, 218, 220, 214, 199, 202, 189, 181, 198, 186, 187, 143, 122, 150,
+  163, 171, 186, 201, 202, 197, 191, 204, 209, 209, 213, 213, 212, 210, 208, 205,
+  202, 197, 185, 167, 138, 120, 118, 139, 135, 135, 140, 136, 135, 100, 61, 146,
+  143, 146, 139, 139, 131, 128, 130, 130, 128, 127, 92, 111, 153, 140, 127, 151,
+  153, 147, 119, 111, 108, 56, 153, 147, 157, 148, 155, 158, 150, 169, 214, 225,
+  234, 232, 222, 216, 206, 194, 171, 159, 136, 116, 99, 92, 159, 102, 60, 142,
+  134, 139, 144, 140, 138, 134, 126, 134, 127, 115, 87, 123, 135, 131, 118, 118,
+  126, 120, 114, 123, 89, 71, 0, 104, 95, 103, 119, 124, 123, 131, 139, 134,
+  120, 116, 72, 99, 124, 110, 233, 237, 233, 108, 100, 111, 132, 140, 148, 154,
+  155, 154, 157, 153, 151, 144, 143, 142, 135, 124, 21, 20, 21, 45, 65, 64,
+  61, 71, 71, 73, 64, 63, 42, 99, 124, 130, 127, 123, 128, 115, 116, 120,
+  130, 119, 100, 88, 108, 150, 179, 185, 194, 201, 210, 212, 205, 209, 216, 220,
+  218, 218, 226, 226, 217, 210, 214, 194, 201, 199, 204, 195, 169, 85, 46, 41,
+  57, 55, 60, 55, 77, 42, 91, 102, 112, 120, 217, 224, 213, 97, 95, 108,
+  123, 135, 144, 154, 166, 167, 159, 171, 97, 88, 84, 85, 88, 92, 93, 111,
+  115, 120, 103, 106, 102, 115, 102, 97, 93, 93, 75, 108, 102, 93, 118, 177,
+  187, 187, 173, 182, 194, 189, 197, 185, 182, 198, 185, 198, 199, 190, 186, 185,
+  178, 181, 182, 187, 195, 185, 178, 139, 144, 182, 197, 197, 195, 189, 201, 189,
+  174, 140, 143, 127, 119, 127, 115, 91, 42, 52, 28, 83, 91, 111, 96, 100,
+  118, 97, 92, 115, 151, 158, 178, 182, 181, 178, 170, 178, 183, 190, 183, 182,
+  178, 171, 175, 179, 185, 195, 201, 202, 202, 201, 191, 128, 60, 38, 9, 92,
+  92, 81, 77, 73, 68, 73, 88, 80, 46, 30, 122, 178, 181, 174, 190, 204,
+  204, 204, 205, 204, 208, 199, 189, 183, 187, 179, 174, 167, 151, 158, 150, 146,
+  123, 73, 55, 119, 155, 177, 185, 190, 197, 208, 208, 170, 169, 151, 140, 142,
+  138, 116, 73, 77, 99, 167, 171, 154, 144, 134, 134, 130, 128, 126, 120, 126,
+  127, 134, 134, 142, 143, 144, 146, 107, 99, 102, 114, 53, 61, 75, 83, 79,
+  77, 75, 73, 75, 79, 77, 79, 80, 84, 88, 91, 92, 85, 81, 76, 63,
+  89, 22, 18, 13, 155, 155, 177, 182, 202, 208, 201, 205, 144, 110, 115, 138,
+  161, 162, 162, 166, 166, 161, 155, 148, 142, 139, 127, 45, 28, 29, 67, 88,
+  97, 126, 130, 136, 110, 154, 159, 154, 155, 163, 154, 166, 166, 165, 157, 142,
+  123, 75, 116, 178, 131, 99, 73, 68, 71, 102, 111, 96, 97, 85, 146, 166,
+  158, 153, 150, 148, 148, 238, 228, 221, 110, 100, 115, 124, 134, 135, 143, 140,
+  134, 127, 126, 131, 124, 120, 32, 24, 26, 57, 83, 104, 110, 108, 161, 158,
+  175, 177, 142, 165, 146, 148, 146, 142, 138, 136, 134, 132, 130, 130, 126, 123,
+  123, 128, 123, 119, 118, 119, 112, 110, 112, 115, 169, 186, 220, 193, 185, 181,
+  166, 144, 120, 115, 118, 120, 127, 120, 123, 144, 140, 174, 198, 199, 201, 206,
+  189, 173, 175, 171, 162, 153, 143, 146, 144, 148, 148, 171, 186, 187, 194, 143,
+  126, 107, 120, 130, 102, 124, 131, 135, 107, 59, 118, 142, 151, 135, 130, 134,
+  139, 128, 122, 116, 131, 83, 106, 154, 153, 131, 135, 144, 122, 122, 116, 108,
+  65, 155, 155, 142, 155, 155, 159, 165, 218, 234, 240, 230, 221, 197, 148, 124,
+  110, 106, 99, 96, 85, 69, 72, 93, 93, 38, 93, 132, 128, 132, 124, 119,
+  114, 119, 115, 131, 119, 67, 116, 130, 126, 118, 126, 120, 119, 112, 123, 93,
+  64, 0, 102, 104, 124, 122, 120, 110, 114, 122, 120, 126, 88, 53, 103, 134,
+  99, 232, 238, 234, 111, 103, 111, 138, 144, 153, 151, 159, 159, 165, 159, 161,
+  155, 146, 140, 136, 124, 18, 17, 18, 44, 69, 67, 63, 68, 71, 89, 64,
+  63, 33, 92, 120, 120, 122, 128, 126, 122, 126, 114, 111, 97, 63, 111, 126,
+  115, 173, 195, 204, 210, 212, 216, 217, 221, 222, 226, 226, 232, 232, 228, 228,
+  225, 222, 225, 224, 221, 218, 214, 190, 96, 52, 48, 56, 65, 53, 63, 76,
+  41, 67, 93, 111, 107, 226, 230, 222, 102, 93, 108, 122, 134, 144, 154, 166,
+  170, 166, 139, 173, 130, 135, 185, 198, 202, 204, 204, 205, 204, 201, 199, 202,
+  199, 193, 185, 128, 92, 95, 96, 65, 111, 120, 122, 187, 198, 179, 195, 198,
+  198, 173, 157, 135, 147, 166, 185, 185, 182, 165, 167, 146, 158, 157, 154, 151,
+  148, 134, 122, 167, 197, 201, 199, 193, 189, 162, 144, 118, 111, 111, 106, 107,
+  106, 115, 52, 44, 48, 26, 91, 95, 112, 120, 92, 102, 114, 85, 115, 147,
+  165, 186, 191, 169, 157, 134, 132, 132, 139, 134, 134, 126, 123, 120, 127, 128,
+  146, 154, 155, 167, 177, 190, 173, 88, 49, 14, 59, 97, 81, 72, 75, 72,
+  79, 79, 84, 48, 26, 115, 165, 186, 197, 199, 230, 194, 201, 201, 199, 193,
+  181, 175, 189, 181, 171, 167, 102, 88, 84, 79, 87, 79, 75, 64, 115, 162,
+  177, 190, 205, 175, 166, 147, 123, 130, 120, 118, 122, 114, 119, 69, 60, 88,
+  107, 167, 165, 144, 158, 132, 128, 116, 132, 130, 134, 134, 134, 134, 139, 140,
+  143, 134, 103, 91, 95, 111, 61, 65, 67, 69, 65, 72, 80, 83, 79, 72,
+  77, 69, 81, 75, 77, 76, 77, 75, 71, 91, 79, 16, 12, 12, 46, 144,
+  147, 167, 175, 199, 212, 240, 199, 131, 106, 127, 144, 158, 165, 161, 163, 162,
+  163, 155, 153, 144, 139, 122, 41, 26, 29, 65, 83, 108, 122, 130, 143, 119,
+  151, 158, 148, 158, 150, 158, 150, 171, 163, 148, 136, 132, 77, 108, 175, 135,
+  124, 92, 76, 71, 99, 99, 95, 79, 68, 154, 167, 158, 157, 153, 148, 147,
+  238, 228, 222, 108, 102, 114, 126, 131, 138, 138, 130, 126, 124, 127, 126, 123,
+  116, 30, 24, 24, 56, 72, 85, 108, 95, 126, 151, 151, 126, 148, 130, 119,
+  119, 119, 119, 108, 114, 115, 114, 107, 107, 106, 107, 104, 104, 100, 103, 99,
+  99, 99, 97, 97, 97, 106, 108, 110, 107, 106, 104, 106, 106, 96, 97, 100,
+  104, 106, 110, 112, 144, 136, 190, 197, 208, 206, 189, 158, 132, 118, 111, 114,
+  108, 106, 110, 112, 111, 114, 116, 132, 136, 163, 169, 126, 104, 127, 123, 132,
+  134, 128, 130, 104, 61, 136, 150, 147, 139, 142, 134, 154, 127, 118, 114, 127,
+  79, 114, 155, 150, 134, 120, 122, 114, 119, 116, 103, 63, 146, 157, 147, 166,
+  161, 166, 216, 232, 242, 240, 222, 169, 103, 92, 83, 85, 85, 84, 77, 73,
+  61, 57, 72, 91, 63, 99, 124, 132, 122, 116, 114, 112, 111, 116, 122, 111,
+  81, 118, 134, 119, 119, 128, 127, 115, 118, 124, 108, 63, 5, 100, 115, 126,
+  116, 130, 138, 131, 127, 126, 118, 85, 51, 96, 116, 96, 237, 242, 236, 111,
+  103, 111, 138, 148, 157, 155, 163, 169, 171, 167, 162, 157, 147, 142, 134, 120,
+  16, 18, 21, 42, 65, 61, 67, 67, 79, 77, 68, 59, 45, 87, 120, 122,
+  110, 119, 128, 120, 123, 108, 96, 89, 64, 107, 122, 138, 124, 146, 166, 201,
+  213, 210, 214, 220, 226, 226, 229, 216, 236, 234, 232, 218, 230, 234, 229, 206,
+  234, 234, 190, 95, 46, 37, 65, 68, 55, 65, 73, 53, 52, 97, 110, 106,
+  229, 234, 228, 103, 95, 108, 119, 132, 147, 153, 165, 171, 171, 163, 178, 183,
+  190, 197, 204, 204, 205, 204, 204, 201, 202, 198, 199, 197, 193, 190, 187, 178,
+  123, 104, 100, 99, 75, 93, 112, 130, 116, 111, 115, 103, 100, 97, 95, 102,
+  100, 107, 107, 106, 104, 104, 103, 102, 104, 110, 110, 108, 136, 124, 165, 199,
+  198, 190, 191, 142, 119, 112, 111, 110, 115, 114, 116, 123, 93, 42, 36, 37,
+  20, 89, 97, 107, 111, 110, 96, 118, 119, 124, 167, 166, 153, 165, 153, 115,
+  99, 96, 97, 99, 100, 100, 99, 99, 102, 104, 106, 110, 111, 116, 120, 126,
+  135, 174, 128, 63, 14, 68, 95, 80, 79, 77, 73, 71, 68, 84, 49, 29,
+  51, 87, 148, 166, 161, 151, 139, 116, 108, 102, 87, 80, 85, 80, 83, 80,
+  73, 69, 71, 67, 67, 67, 63, 79, 69, 118, 166, 177, 178, 170, 131, 126,
+  104, 110, 123, 124, 131, 123, 130, 114, 67, 68, 67, 72, 106, 190, 163, 154,
+  147, 140, 136, 135, 136, 138, 134, 134, 138, 138, 132, 119, 135, 95, 37, 88,
+  88, 89, 93, 96, 59, 68, 99, 128, 112, 114, 102, 99, 88, 91, 88, 83,
+  96, 81, 81, 96, 85, 25, 10, 9, 16, 21, 138, 139, 142, 165, 195, 213,
+  244, 185, 130, 110, 128, 153, 162, 165, 165, 169, 173, 165, 158, 151, 144, 136,
+  123, 41, 26, 32, 68, 76, 102, 104, 119, 130, 108, 148, 155, 143, 170, 150,
+  148, 163, 147, 146, 130, 132, 128, 87, 119, 169, 171, 138, 119, 96, 95, 96,
+  97, 91, 79, 107, 151, 165, 159, 155, 148, 143, 140, 242, 232, 230, 103, 100,
+  114, 123, 131, 138, 128, 127, 124, 136, 135, 132, 127, 122, 30, 22, 24, 55,
+  67, 84, 122, 115, 88, 119, 148, 134, 134, 138, 126, 124, 112, 122, 124, 118,
+  115, 111, 115, 115, 115, 115, 114, 111, 112, 114, 112, 114, 118, 119, 115, 112,
+  99, 99, 97, 97, 97, 99, 97, 102, 108, 112, 116, 119, 122, 122, 120, 146,
+  131, 157, 201, 186, 163, 142, 114, 122, 122, 119, 119, 119, 120, 120, 120, 118,
+  116, 115, 110, 110, 115, 138, 128, 103, 123, 123, 127, 130, 130, 128, 107, 63,
+  136, 150, 150, 146, 148, 126, 150, 131, 115, 123, 127, 73, 106, 146, 143, 134,
+  134, 130, 126, 120, 120, 108, 71, 153, 161, 170, 155, 162, 208, 232, 242, 244,
+  233, 171, 118, 84, 75, 68, 64, 61, 65, 64, 64, 49, 59, 64, 92, 64,
+  67, 136, 134, 119, 115, 115, 119, 116, 108, 119, 116, 79, 115, 131, 118, 127,
+  130, 118, 115, 120, 118, 118, 68, 1, 107, 111, 130, 111, 116, 112, 118, 124,
+  127, 107, 79, 63, 85, 126, 100, 229, 238, 237, 110, 99, 111, 136, 151, 158,
+  163, 169, 179, 179, 177, 165, 161, 150, 143, 132, 122, 16, 16, 20, 41, 67,
+  68, 64, 71, 76, 81, 67, 59, 45, 88, 116, 119, 120, 124, 118, 123, 120,
+  107, 93, 97, 59, 100, 130, 115, 136, 135, 136, 138, 147, 154, 148, 139, 138,
+  139, 140, 142, 159, 153, 148, 163, 173, 146, 142, 155, 171, 135, 118, 88, 40,
+  41, 67, 68, 59, 64, 67, 72, 33, 88, 100, 104, 233, 234, 232, 107, 96,
+  108, 120, 132, 147, 155, 167, 174, 174, 170, 165, 135, 178, 189, 195, 204, 204,
+  205, 202, 202, 202, 201, 199, 198, 198, 194, 189, 181, 177, 163, 158, 103, 97,
+  96, 75, 77, 85, 97, 84, 95, 92, 95, 93, 97, 96, 103, 102, 102, 103,
+  104, 106, 107, 106, 108, 112, 115, 138, 128, 157, 190, 183, 185, 126, 114, 116,
+  112, 123, 122, 124, 122, 127, 124, 83, 32, 32, 41, 24, 87, 97, 104, 104,
+  114, 110, 92, 110, 138, 142, 148, 128, 126, 100, 92, 100, 107, 106, 104, 106,
+  106, 110, 110, 111, 110, 112, 111, 111, 112, 114, 115, 115, 126, 151, 73, 18,
+  61, 87, 75, 80, 79, 80, 76, 72, 75, 63, 42, 44, 46, 65, 73, 76,
+  71, 79, 80, 71, 71, 68, 71, 68, 75, 75, 72, 69, 72, 80, 108, 112,
+  115, 114, 85, 77, 123, 197, 186, 144, 111, 111, 123, 126, 134, 135, 138, 136,
+  136, 138, 102, 55, 24, 57, 75, 65, 89, 183, 165, 150, 151, 151, 146, 148,
+  147, 153, 151, 153, 153, 148, 139, 111, 100, 89, 92, 80, 77, 81, 96, 87,
+  65, 97, 185, 187, 136, 135, 118, 120, 120, 112, 126, 127, 128, 118, 114, 37,
+  16, 10, 20, 25, 40, 132, 136, 131, 169, 202, 216, 244, 171, 132, 110, 130,
+  154, 161, 165, 169, 170, 174, 170, 165, 148, 143, 135, 124, 41, 28, 33, 75,
+  72, 97, 120, 111, 130, 114, 151, 154, 136, 165, 151, 147, 143, 174, 144, 132,
+  131, 123, 72, 103, 162, 159, 134, 139, 126, 104, 111, 96, 80, 67, 107, 163,
+  159, 163, 150, 159, 162, 147, 240, 232, 233, 108, 96, 114, 123, 134, 127, 138,
+  140, 143, 150, 148, 140, 130, 126, 30, 22, 24, 60, 72, 87, 102, 96, 123,
+  84, 103, 150, 130, 132, 120, 128, 144, 150, 134, 134, 134, 147, 131, 134, 134,
+  140, 130, 128, 131, 140, 134, 135, 142, 143, 138, 135, 126, 118, 114, 115, 116,
+  116, 118, 122, 126, 132, 135, 140, 140, 142, 130, 126, 120, 134, 148, 138, 114,
+  127, 128, 148, 147, 131, 130, 131, 130, 131, 131, 131, 128, 127, 123, 122, 118,
+  114, 134, 102, 108, 131, 123, 124, 130, 126, 108, 73, 132, 147, 144, 144, 148,
+  136, 154, 142, 112, 120, 112, 68, 104, 144, 144, 118, 128, 100, 135, 132, 132,
+  120, 110, 155, 178, 171, 171, 198, 225, 242, 246, 240, 217, 132, 89, 71, 46,
+  46, 55, 51, 51, 56, 64, 57, 63, 60, 127, 68, 61, 135, 131, 118, 119,
+  120, 122, 120, 115, 111, 114, 73, 112, 132, 119, 127, 122, 116, 115, 114, 120,
+  96, 65, 2, 106, 111, 107, 116, 116, 119, 119, 126, 120, 107, 65, 73, 91,
+  122, 119, 241, 244, 238, 116, 100, 111, 135, 147, 158, 163, 170, 179, 178, 177,
+  175, 163, 146, 142, 134, 123, 16, 17, 18, 40, 64, 65, 67, 71, 81, 76,
+  67, 63, 42, 76, 106, 120, 122, 119, 123, 126, 107, 87, 85, 77, 59, 107,
+  120, 115, 139, 139, 122, 126, 128, 127, 127, 131, 128, 124, 128, 132, 131, 134,
+  135, 136, 135, 136, 126, 130, 124, 123, 99, 64, 34, 32, 68, 64, 59, 63,
+  63, 68, 22, 85, 111, 107, 233, 241, 233, 110, 99, 111, 124, 134, 146, 155,
+  167, 173, 175, 174, 166, 167, 148, 143, 143, 140, 138, 135, 134, 131, 132, 130,
+  128, 128, 126, 122, 122, 116, 122, 120, 122, 108, 114, 97, 110, 103, 107, 103,
+  103, 103, 104, 106, 104, 104, 108, 110, 108, 108, 111, 114, 115, 115, 116, 119,
+  122, 124, 118, 127, 124, 167, 198, 130, 120, 124, 128, 132, 134, 135, 132, 130,
+  131, 127, 72, 32, 32, 38, 14, 79, 95, 102, 107, 100, 100, 97, 102, 96,
+  97, 92, 97, 97, 85, 80, 73, 79, 95, 95, 115, 114, 115, 118, 120, 120,
+  122, 122, 124, 124, 124, 123, 122, 119, 163, 92, 37, 41, 73, 91, 87, 77,
+  68, 71, 73, 64, 76, 48, 28, 63, 60, 69, 73, 83, 83, 84, 84, 92,
+  89, 95, 97, 102, 103, 107, 108, 106, 111, 122, 124, 128, 124, 95, 80, 116,
+  166, 158, 130, 108, 132, 136, 144, 142, 143, 142, 142, 142, 132, 83, 22, 40,
+  53, 61, 60, 71, 110, 169, 165, 142, 132, 158, 157, 158, 158, 162, 162, 163,
+  161, 157, 144, 123, 96, 44, 81, 85, 79, 79, 79, 59, 100, 194, 182, 166,
+  163, 136, 130, 131, 136, 124, 132, 148, 126, 107, 38, 14, 8, 22, 26, 8,
+  126, 130, 126, 165, 210, 221, 237, 166, 122, 110, 130, 151, 162, 166, 167, 169,
+  173, 170, 165, 153, 140, 138, 127, 44, 28, 36, 69, 89, 108, 112, 119, 123,
+  106, 147, 148, 139, 157, 153, 148, 144, 127, 131, 138, 130, 115, 65, 102, 155,
+  157, 143, 150, 138, 122, 163, 128, 76, 61, 131, 162, 157, 155, 147, 157, 153,
+  143, 241, 233, 234, 108, 96, 111, 123, 136, 139, 153, 158, 163, 165, 158, 144,
+  132, 128, 30, 22, 25, 56, 63, 84, 85, 108, 136, 115, 83, 91, 142, 146,
+  122, 174, 182, 162, 134, 148, 166, 142, 142, 148, 154, 143, 140, 144, 151, 142,
+  144, 148, 143, 147, 148, 147, 144, 140, 136, 136, 135, 140, 143, 143, 147, 148,
+  154, 154, 153, 154, 147, 128, 153, 116, 112, 136, 132, 112, 88, 81, 95, 119,
+  134, 161, 134, 136, 159, 138, 138, 136, 134, 132, 128, 118, 134, 112, 85, 122,
+  128, 127, 122, 132, 112, 73, 80, 143, 148, 154, 148, 132, 154, 142, 106, 123,
+  106, 65, 132, 135, 142, 135, 136, 134, 147, 162, 174, 179, 186, 208, 217, 225,
+  226, 229, 241, 246, 248, 238, 177, 104, 60, 73, 69, 81, 68, 83, 77, 75,
+  72, 72, 72, 76, 72, 84, 57, 108, 127, 120, 122, 123, 122, 126, 120, 114,
+  115, 68, 111, 126, 118, 127, 120, 116, 118, 118, 123, 102, 63, 4, 103, 115,
+  120, 126, 122, 122, 123, 123, 123, 93, 45, 60, 83, 122, 106, 238, 245, 241,
+  114, 102, 110, 136, 148, 155, 163, 170, 174, 177, 177, 175, 166, 146, 138, 135,
+  123, 14, 16, 22, 37, 59, 63, 67, 68, 77, 68, 68, 57, 41, 69, 99,
+  114, 127, 119, 116, 110, 107, 84, 88, 83, 46, 110, 119, 124, 115, 116, 108,
+  110, 148, 150, 123, 134, 136, 142, 143, 142, 135, 135, 136, 136, 134, 130, 131,
+  128, 126, 114, 97, 46, 33, 33, 64, 69, 59, 65, 65, 69, 28, 85, 104,
+  108, 229, 238, 237, 110, 100, 112, 124, 135, 146, 157, 169, 173, 175, 174, 159,
+  151, 120, 96, 89, 110, 107, 120, 119, 119, 116, 115, 112, 108, 102, 100, 102,
+  102, 96, 96, 91, 88, 84, 83, 79, 83, 91, 83, 87, 174, 111, 108, 108,
+  114, 112, 116, 118, 118, 119, 123, 127, 127, 128, 128, 131, 134, 132, 135, 126,
+  127, 124, 124, 131, 140, 144, 144, 144, 142, 139, 138, 134, 115, 52, 32, 25,
+  37, 22, 65, 95, 93, 102, 104, 104, 106, 95, 89, 80, 73, 61, 57, 51,
+  45, 51, 52, 64, 77, 89, 102, 119, 116, 123, 123, 127, 122, 126, 130, 135,
+  134, 131, 130, 127, 126, 65, 18, 65, 72, 61, 59, 73, 68, 71, 64, 68,
+  48, 40, 64, 57, 55, 67, 63, 138, 93, 100, 106, 108, 108, 112, 116, 115,
+  118, 118, 116, 116, 128, 132, 134, 134, 128, 87, 108, 153, 132, 126, 139, 148,
+  144, 147, 144, 146, 148, 146, 146, 134, 67, 37, 36, 45, 44, 56, 67, 72,
+  139, 174, 157, 134, 135, 157, 167, 167, 165, 170, 170, 174, 174, 169, 150, 111,
+  81, 72, 45, 67, 76, 61, 65, 112, 193, 193, 182, 140, 153, 136, 139, 139,
+  144, 151, 150, 120, 122, 30, 16, 20, 24, 8, 0, 119, 126, 123, 161, 210,
+  224, 238, 148, 119, 108, 128, 144, 159, 165, 165, 166, 173, 170, 167, 154, 144,
+  136, 130, 41, 28, 36, 64, 92, 111, 108, 144, 136, 95, 138, 144, 140, 158,
+  158, 147, 140, 135, 135, 132, 131, 119, 63, 104, 167, 186, 147, 142, 144, 142,
+  120, 131, 87, 53, 127, 159, 154, 157, 148, 151, 148, 142, 242, 238, 233, 107,
+  97, 111, 126, 140, 150, 163, 169, 169, 169, 161, 147, 134, 128, 28, 22, 24,
+  57, 73, 80, 84, 92, 120, 115, 91, 81, 131, 142, 127, 198, 193, 127, 124,
+  132, 150, 146, 161, 163, 147, 148, 153, 155, 148, 151, 148, 153, 153, 150, 163,
+  163, 167, 159, 153, 148, 150, 155, 159, 157, 162, 161, 163, 165, 165, 163, 159,
+  142, 157, 157, 138, 110, 77, 59, 48, 51, 60, 96, 130, 143, 177, 182, 181,
+  167, 174, 171, 161, 139, 135, 127, 116, 123, 85, 89, 118, 120, 120, 122, 116,
+  95, 75, 136, 139, 120, 147, 138, 140, 112, 115, 111, 80, 95, 130, 132, 165,
+  175, 197, 213, 230, 230, 242, 241, 248, 246, 250, 250, 249, 249, 250, 250, 244,
+  220, 143, 102, 76, 42, 73, 79, 79, 75, 77, 76, 79, 83, 77, 73, 76,
+  83, 72, 104, 134, 130, 130, 130, 126, 132, 124, 110, 108, 72, 111, 128, 118,
+  120, 123, 119, 132, 122, 114, 108, 60, 6, 107, 128, 115, 134, 128, 124, 130,
+  126, 116, 95, 46, 64, 88, 119, 103, 238, 245, 240, 111, 100, 110, 135, 147,
+  154, 162, 167, 170, 177, 175, 175, 167, 147, 140, 135, 126, 13, 18, 18, 37,
+  61, 63, 69, 67, 67, 71, 65, 59, 52, 57, 93, 96, 100, 96, 97, 97,
+  80, 84, 87, 83, 53, 80, 115, 116, 108, 108, 104, 103, 112, 93, 106, 173,
+  134, 127, 131, 146, 147, 151, 151, 155, 155, 158, 147, 153, 122, 114, 99, 37,
+  28, 32, 56, 53, 68, 71, 56, 65, 41, 79, 100, 110, 220, 240, 238, 110,
+  100, 111, 126, 138, 147, 157, 170, 174, 174, 170, 161, 130, 69, 38, 34, 34,
+  73, 92, 111, 110, 114, 112, 112, 112, 112, 111, 115, 115, 114, 110, 64, 68,
+  81, 79, 77, 76, 76, 80, 84, 177, 179, 118, 100, 122, 130, 120, 122, 126,
+  126, 127, 132, 134, 136, 139, 140, 139, 139, 132, 132, 122, 119, 143, 148, 150,
+  151, 146, 146, 144, 139, 140, 130, 85, 32, 26, 25, 36, 25, 46, 89, 92,
+  91, 81, 69, 55, 59, 59, 60, 49, 61, 63, 61, 59, 73, 69, 52, 48,
+  75, 107, 119, 171, 174, 170, 148, 157, 170, 155, 155, 151, 138, 140, 128, 155,
+  96, 36, 28, 67, 72, 65, 60, 64, 65, 65, 73, 42, 36, 48, 60, 65,
+  52, 59, 136, 163, 103, 103, 112, 123, 120, 122, 124, 124, 124, 124, 127, 131,
+  140, 139, 140, 139, 134, 92, 91, 135, 147, 151, 151, 151, 151, 143, 147, 148,
+  146, 143, 102, 46, 40, 37, 18, 46, 48, 64, 61, 67, 155, 166, 140, 128,
+  140, 157, 163, 171, 174, 177, 178, 178, 178, 171, 140, 76, 69, 52, 71, 65,
+  72, 65, 123, 204, 198, 216, 151, 155, 140, 138, 142, 142, 155, 148, 120, 120,
+  26, 14, 6, 12, 8, 0, 110, 110, 111, 153, 222, 224, 240, 147, 103, 112,
+  132, 147, 155, 159, 162, 169, 171, 170, 165, 157, 138, 132, 126, 42, 29, 37,
+  67, 89, 91, 108, 118, 120, 92, 155, 153, 138, 131, 128, 130, 127, 127, 126,
+  124, 132, 124, 81, 116, 134, 161, 143, 72, 88, 83, 83, 79, 67, 51, 92,
+  130, 131, 126, 124, 147, 142, 139, 244, 240, 233, 104, 97, 110, 124, 139, 153,
+  167, 171, 166, 169, 162, 146, 134, 127, 28, 21, 25, 55, 51, 72, 84, 79,
+  91, 76, 83, 87, 112, 144, 126, 201, 198, 170, 127, 128, 136, 153, 150, 154,
+  162, 159, 150, 159, 150, 151, 150, 151, 158, 170, 174, 181, 187, 187, 183, 163,
+  162, 165, 171, 170, 171, 171, 171, 173, 173, 170, 165, 147, 159, 158, 114, 75,
+  46, 46, 42, 38, 48, 77, 106, 136, 178, 181, 194, 185, 179, 155, 174, 167,
+  154, 134, 120, 130, 93, 75, 95, 114, 119, 118, 112, 114, 102, 89, 95, 103,
+  103, 106, 104, 104, 106, 83, 116, 126, 155, 201, 226, 238, 242, 242, 246, 250,
+  253, 253, 253, 252, 253, 252, 252, 250, 250, 248, 238, 178, 138, 103, 73, 40,
+  73, 69, 69, 69, 73, 73, 76, 76, 81, 75, 81, 79, 76, 75, 93, 99,
+  97, 108, 104, 107, 106, 104, 111, 68, 106, 115, 115, 103, 108, 108, 111, 106,
+  106, 93, 60, 5, 102, 114, 118, 122, 116, 115, 115, 115, 102, 92, 41, 69,
+  84, 116, 96, 238, 242, 238, 110, 96, 110, 135, 147, 155, 161, 162, 163, 175,
+  177, 175, 163, 153, 140, 132, 122, 12, 16, 17, 36, 57, 57, 56, 65, 68,
+  65, 75, 68, 64, 64, 71, 77, 71, 73, 77, 81, 75, 80, 85, 73, 48,
+  87, 108, 104, 102, 102, 103, 104, 104, 100, 91, 175, 179, 126, 124, 132, 136,
+  146, 150, 155, 155, 150, 155, 151, 126, 115, 99, 34, 26, 30, 44, 45, 56,
+  61, 49, 51, 48, 56, 80, 107, 228, 241, 237, 115, 100, 112, 126, 139, 144,
+  154, 169, 174, 173, 182, 151, 83, 45, 26, 21, 18, 37, 85, 131, 165, 169,
+  162, 120, 153, 155, 153, 151, 123, 120, 115, 83, 55, 79, 77, 76, 75, 76,
+  73, 76, 163, 190, 169, 111, 112, 130, 131, 134, 134, 136, 138, 139, 142, 142,
+  143, 143, 147, 144, 142, 140, 142, 154, 153, 155, 151, 146, 132, 126, 116, 103,
+  100, 77, 40, 25, 22, 24, 36, 25, 38, 45, 51, 46, 52, 56, 55, 65,
+  67, 71, 60, 77, 75, 75, 71, 71, 73, 73, 75, 87, 111, 179, 190, 191,
+  183, 174, 174, 177, 173, 166, 170, 161, 147, 142, 128, 120, 67, 20, 34, 77,
+  76, 59, 61, 59, 56, 71, 49, 37, 42, 60, 57, 56, 61, 131, 169, 159,
+  102, 104, 124, 126, 130, 130, 128, 132, 131, 130, 144, 151, 155, 151, 150, 143,
+  147, 157, 157, 154, 154, 150, 144, 136, 131, 122, 116, 112, 89, 49, 32, 28,
+  37, 28, 38, 26, 41, 42, 33, 100, 171, 165, 134, 127, 140, 157, 162, 170,
+  175, 178, 179, 182, 181, 165, 114, 60, 71, 80, 83, 71, 64, 158, 206, 202,
+  191, 170, 165, 147, 144, 150, 153, 151, 148, 120, 116, 24, 9, 5, 17, 13,
+  13, 114, 107, 97, 150, 214, 225, 240, 139, 99, 108, 132, 148, 158, 161, 167,
+  170, 171, 161, 158, 158, 140, 134, 128, 45, 28, 37, 63, 67, 93, 112, 110,
+  119, 96, 150, 138, 119, 122, 116, 124, 124, 122, 115, 130, 134, 110, 73, 88,
+  76, 53, 51, 51, 49, 44, 42, 45, 45, 46, 57, 63, 72, 80, 84, 110,
+  138, 140, 242, 240, 229, 104, 97, 111, 130, 140, 153, 167, 174, 173, 165, 159,
+  144, 132, 123, 24, 20, 22, 49, 56, 63, 73, 65, 67, 76, 65, 73, 85,
+  139, 128, 208, 201, 197, 126, 122, 132, 147, 170, 169, 153, 159, 150, 153, 159,
+  165, 167, 171, 174, 178, 181, 173, 161, 179, 187, 193, 185, 167, 183, 182, 181,
+  177, 189, 182, 179, 183, 178, 186, 166, 159, 106, 61, 46, 38, 36, 34, 36,
+  67, 102, 134, 189, 193, 165, 169, 186, 183, 163, 159, 165, 138, 126, 132, 99,
+  68, 77, 95, 110, 108, 104, 104, 102, 112, 110, 104, 107, 106, 104, 108, 77,
+  126, 135, 175, 228, 244, 244, 244, 248, 249, 252, 253, 252, 245, 240, 234, 234,
+  233, 229, 225, 220, 216, 183, 147, 138, 110, 69, 69, 67, 75, 72, 75, 79,
+  77, 80, 81, 80, 81, 84, 81, 79, 89, 89, 91, 91, 89, 92, 91, 91,
+  88, 87, 83, 84, 73, 84, 84, 84, 68, 76, 73, 68, 59, 65, 8, 33,
+  57, 63, 67, 65, 67, 64, 79, 69, 44, 24, 88, 69, 108, 104, 241, 244,
+  238, 110, 95, 104, 131, 144, 157, 162, 166, 173, 174, 177, 165, 159, 148, 140,
+  134, 126, 13, 18, 18, 42, 45, 48, 49, 45, 51, 45, 42, 49, 51, 49,
+  51, 61, 59, 56, 56, 53, 55, 56, 53, 63, 71, 64, 71, 61, 59, 93,
+  97, 92, 95, 100, 84, 155, 185, 173, 124, 127, 138, 136, 146, 150, 148, 150,
+  154, 154, 130, 119, 91, 30, 24, 25, 42, 41, 46, 61, 60, 45, 45, 55,
+  77, 108, 234, 244, 241, 115, 103, 114, 126, 138, 147, 157, 170, 174, 169, 161,
+  116, 48, 30, 20, 24, 21, 32, 71, 148, 179, 131, 163, 155, 155, 159, 169,
+  143, 147, 124, 119, 110, 51, 51, 65, 75, 73, 72, 80, 69, 111, 199, 189,
+  120, 111, 120, 144, 139, 142, 142, 142, 144, 146, 146, 148, 148, 150, 153, 157,
+  161, 157, 157, 155, 142, 108, 71, 49, 30, 24, 24, 25, 24, 22, 20, 24,
+  22, 34, 24, 46, 41, 45, 48, 57, 77, 116, 183, 201, 212, 214, 212, 204,
+  190, 181, 112, 100, 95, 95, 116, 191, 216, 166, 194, 187, 189, 186, 177, 182,
+  181, 173, 166, 159, 146, 135, 150, 95, 32, 22, 45, 52, 57, 60, 57, 60,
+  63, 63, 45, 40, 53, 61, 41, 52, 112, 178, 177, 112, 103, 114, 127, 138,
+  134, 134, 138, 147, 150, 157, 161, 161, 161, 158, 157, 159, 159, 155, 150, 134,
+  99, 72, 42, 32, 25, 18, 26, 26, 28, 32, 30, 9, 12, 12, 44, 46,
+  37, 34, 42, 124, 175, 147, 122, 123, 147, 158, 163, 170, 175, 179, 183, 185,
+  179, 138, 71, 41, 49, 67, 79, 92, 190, 204, 205, 194, 166, 155, 157, 155,
+  157, 158, 153, 151, 131, 112, 21, 10, 6, 9, 13, 10, 53, 63, 69, 120,
+  208, 228, 232, 139, 110, 110, 132, 147, 157, 163, 166, 170, 169, 154, 161, 151,
+  139, 134, 127, 52, 30, 34, 49, 53, 55, 67, 114, 112, 87, 114, 112, 106,
+  83, 75, 84, 76, 67, 59, 44, 60, 60, 68, 33, 68, 72, 79, 87, 89,
+  85, 100, 93, 80, 40, 99, 153, 150, 124, 131, 135, 143, 140, 244, 240, 222,
+  106, 97, 108, 126, 135, 151, 166, 173, 170, 166, 162, 143, 127, 127, 29, 22,
+  24, 51, 56, 55, 68, 69, 69, 67, 69, 69, 69, 135, 128, 212, 210, 206,
+  127, 132, 128, 142, 166, 170, 159, 155, 157, 167, 178, 178, 178, 177, 173, 182,
+  150, 99, 76, 97, 162, 189, 187, 173, 165, 178, 179, 181, 179, 179, 183, 183,
+  189, 190, 169, 165, 100, 57, 44, 38, 34, 34, 36, 71, 97, 130, 202, 199,
+  166, 190, 191, 191, 169, 185, 174, 143, 131, 119, 114, 76, 68, 85, 72, 67,
+  59, 63, 57, 60, 57, 61, 61, 61, 67, 84, 97, 144, 191, 240, 245, 246,
+  244, 252, 250, 242, 225, 197, 173, 130, 118, 120, 112, 115, 120, 118, 115, 120,
+  136, 126, 131, 124, 97, 83, 25, 22, 20, 17, 14, 14, 14, 12, 10, 13,
+  13, 8, 5, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 4, 10,
+  12, 9, 2, 2, 8, 6, 9, 10, 8, 30, 28, 30, 13, 30, 32, 30,
+  26, 33, 34, 33, 81, 51, 48, 115, 103, 241, 244, 242, 114, 97, 106, 132,
+  146, 158, 165, 173, 177, 177, 173, 162, 165, 146, 138, 134, 122, 10, 16, 21,
+  25, 17, 14, 14, 17, 16, 17, 18, 20, 20, 25, 36, 76, 83, 96, 91,
+  97, 91, 93, 88, 81, 79, 108, 115, 108, 75, 63, 64, 63, 88, 104, 95,
+  100, 195, 189, 130, 124, 135, 136, 142, 144, 144, 154, 150, 148, 123, 118, 91,
+  29, 22, 26, 38, 24, 36, 40, 42, 37, 48, 83, 77, 111, 234, 245, 241,
+  111, 99, 110, 123, 136, 143, 157, 170, 173, 169, 148, 77, 37, 24, 22, 25,
+  18, 38, 85, 186, 194, 165, 132, 162, 165, 153, 143, 132, 153, 127, 122, 112,
+  46, 49, 57, 64, 68, 67, 80, 75, 97, 212, 202, 132, 111, 122, 138, 147,
+  146, 144, 144, 143, 146, 147, 151, 151, 162, 167, 165, 161, 161, 153, 104, 57,
+  22, 17, 16, 14, 14, 16, 16, 17, 20, 22, 22, 24, 38, 45, 44, 63,
+  71, 85, 135, 190, 236, 242, 245, 245, 244, 242, 240, 240, 237, 238, 237, 233,
+  225, 230, 229, 225, 210, 191, 186, 182, 182, 179, 178, 181, 178, 174, 171, 153,
+  144, 130, 119, 65, 21, 29, 36, 44, 36, 41, 45, 44, 52, 52, 52, 53,
+  48, 44, 56, 104, 189, 187, 124, 108, 111, 126, 134, 138, 140, 155, 161, 167,
+  166, 165, 162, 165, 169, 163, 161, 157, 138, 93, 51, 17, 13, 10, 12, 13,
+  14, 18, 16, 8, 10, 9, 14, 18, 13, 13, 17, 28, 22, 32, 71, 157,
+  166, 130, 119, 135, 151, 159, 163, 171, 178, 181, 186, 187, 161, 102, 77, 77,
+  81, 79, 116, 204, 208, 210, 201, 171, 161, 170, 158, 154, 159, 148, 151, 127,
+  122, 21, 9, 10, 2, 2, 1, 194, 189, 183, 143, 209, 228, 230, 150, 112,
+  108, 128, 148, 157, 161, 166, 166, 161, 162, 163, 140, 136, 135, 130, 57, 30,
+  36, 49, 83, 76, 71, 68, 75, 80, 73, 77, 99, 115, 112, 130, 136, 136,
+  144, 148, 140, 128, 42, 96, 119, 144, 153, 142, 138, 135, 134, 107, 93, 37,
+  140, 158, 158, 158, 161, 162, 144, 147, 246, 233, 236, 106, 95, 104, 128, 136,
+  151, 165, 171, 169, 163, 161, 144, 134, 130, 30, 24, 25, 57, 59, 73, 87,
+  100, 108, 72, 100, 65, 127, 138, 138, 218, 213, 213, 136, 131, 136, 134, 159,
+  167, 158, 155, 170, 182, 182, 181, 179, 171, 173, 159, 103, 55, 57, 81, 128,
+  183, 199, 182, 161, 178, 183, 182, 183, 186, 187, 190, 191, 189, 162, 170, 108,
+  60, 51, 44, 40, 38, 38, 69, 110, 127, 206, 205, 173, 170, 174, 191, 193,
+  190, 175, 155, 136, 123, 134, 93, 61, 75, 89, 92, 88, 89, 119, 127, 134,
+  132, 140, 132, 115, 134, 174, 205, 242, 244, 245, 250, 246, 225, 190, 147, 122,
+  115, 108, 103, 111, 114, 115, 103, 118, 116, 115, 111, 127, 128, 130, 127, 123,
+  87, 102, 80, 79, 83, 91, 84, 84, 84, 79, 77, 68, 69, 99, 124, 127,
+  143, 132, 124, 143, 147, 130, 102, 93, 103, 155, 126, 127, 163, 161, 126, 116,
+  116, 144, 106, 16, 0, 48, 92, 110, 75, 76, 73, 72, 71, 46, 59, 44,
+  76, 116, 115, 112, 242, 244, 241, 114, 96, 111, 134, 147, 155, 165, 174, 174,
+  175, 169, 165, 163, 144, 135, 135, 127, 12, 20, 21, 32, 63, 80, 85, 93,
+  100, 99, 97, 87, 93, 95, 91, 107, 131, 123, 124, 108, 114, 116, 118, 120,
+  108, 122, 126, 123, 102, 91, 79, 76, 69, 92, 93, 95, 202, 197, 147, 124,
+  131, 140, 135, 139, 150, 151, 150, 148, 127, 115, 87, 26, 21, 28, 40, 51,
+  57, 71, 72, 83, 83, 68, 103, 114, 234, 245, 241, 107, 99, 111, 126, 138,
+  146, 159, 171, 170, 182, 136, 48, 30, 25, 26, 28, 16, 56, 84, 197, 199,
+  189, 132, 157, 158, 158, 140, 131, 131, 128, 124, 115, 48, 42, 52, 72, 68,
+  67, 72, 67, 88, 213, 210, 189, 116, 114, 128, 140, 151, 155, 146, 148, 148,
+  155, 155, 162, 171, 166, 163, 163, 148, 87, 30, 17, 14, 16, 17, 21, 21,
+  22, 22, 22, 22, 25, 25, 37, 36, 48, 60, 75, 119, 208, 237, 240, 242,
+  242, 244, 241, 242, 244, 244, 242, 241, 237, 237, 234, 232, 233, 233, 229, 224,
+  170, 167, 185, 187, 193, 177, 187, 181, 178, 174, 163, 148, 135, 140, 91, 29,
+  32, 37, 45, 42, 56, 48, 42, 34, 28, 32, 38, 40, 46, 65, 103, 194,
+  201, 170, 107, 107, 116, 132, 138, 151, 166, 166, 163, 166, 166, 163, 166, 170,
+  163, 158, 140, 80, 21, 16, 9, 8, 5, 6, 5, 8, 8, 18, 24, 17,
+  18, 18, 24, 33, 24, 24, 14, 17, 32, 45, 142, 163, 139, 119, 119, 135,
+  157, 161, 169, 174, 179, 186, 186, 186, 134, 76, 68, 64, 92, 148, 213, 209,
+  218, 212, 175, 165, 170, 154, 158, 158, 153, 154, 130, 120, 25, 14, 12, 12,
+  34, 42, 165, 157, 157, 136, 193, 225, 232, 157, 114, 108, 128, 144, 157, 162,
+  165, 166, 158, 162, 158, 140, 135, 135, 128, 64, 32, 37, 57, 73, 103, 115,
+  119, 115, 87, 104, 146, 167, 162, 167, 177, 178, 171, 170, 174, 157, 132, 45,
+  99, 183, 170, 169, 155, 157, 157, 128, 111, 95, 42, 148, 161, 151, 148, 142,
+  154, 146, 144, 246, 234, 234, 106, 93, 107, 131, 136, 151, 166, 173, 170, 165,
+  161, 146, 135, 130, 32, 24, 25, 57, 67, 79, 106, 92, 106, 88, 99, 64,
+  131, 134, 143, 217, 218, 214, 136, 115, 122, 131, 142, 165, 161, 166, 179, 183,
+  182, 183, 182, 175, 173, 128, 63, 52, 53, 60, 85, 167, 202, 189, 162, 163,
+  179, 194, 195, 198, 199, 202, 202, 197, 189, 177, 138, 75, 49, 46, 45, 40,
+  57, 84, 116, 127, 208, 210, 186, 169, 189, 191, 177, 190, 173, 166, 139, 130,
+  120, 111, 67, 63, 85, 89, 120, 108, 107, 131, 134, 147, 127, 138, 151, 175,
+  230, 244, 244, 245, 250, 233, 187, 139, 116, 112, 111, 114, 126, 80, 60, 57,
+  60, 69, 115, 120, 128, 158, 178, 185, 175, 131, 130, 118, 97, 87, 112, 111,
+  93, 95, 91, 89, 85, 107, 123, 84, 123, 153, 148, 151, 104, 135, 155, 158,
+  135, 128, 112, 96, 142, 147, 157, 154, 157, 146, 147, 144, 131, 128, 92, 0,
+  108, 107, 111, 118, 108, 104, 108, 88, 72, 68, 38, 116, 116, 112, 116, 244,
+  244, 241, 104, 100, 112, 135, 144, 157, 166, 173, 171, 177, 166, 162, 159, 143,
+  135, 134, 123, 10, 18, 38, 53, 84, 81, 89, 92, 95, 100, 97, 104, 92,
+  102, 135, 122, 116, 115, 119, 124, 114, 114, 122, 155, 165, 208, 195, 147, 116,
+  99, 92, 93, 91, 91, 92, 85, 208, 208, 179, 124, 128, 135, 138, 134, 140,
+  155, 147, 154, 126, 116, 85, 28, 22, 34, 46, 72, 80, 84, 85, 91, 59,
+  87, 122, 158, 236, 244, 238, 114, 100, 112, 127, 139, 146, 163, 171, 169, 162,
+  118, 42, 30, 21, 25, 32, 18, 63, 95, 205, 205, 197, 161, 154, 154, 159,
+  142, 146, 134, 128, 131, 119, 45, 42, 41, 60, 72, 75, 68, 68, 85, 214,
+  212, 197, 115, 114, 122, 136, 147, 154, 154, 154, 169, 173, 171, 173, 174, 165,
+  163, 150, 92, 25, 13, 14, 16, 17, 26, 22, 28, 28, 28, 29, 29, 38,
+  40, 44, 33, 49, 64, 107, 224, 240, 238, 244, 242, 240, 230, 220, 199, 197,
+  186, 189, 193, 204, 206, 209, 220, 222, 226, 222, 225, 213, 175, 201, 199, 209,
+  209, 199, 181, 185, 179, 170, 153, 140, 135, 112, 57, 26, 28, 59, 53, 59,
+  73, 73, 68, 61, 69, 76, 77, 77, 63, 111, 195, 204, 187, 108, 107, 118,
+  131, 143, 154, 166, 170, 171, 169, 169, 169, 171, 169, 165, 140, 80, 20, 14,
+  9, 8, 9, 12, 8, 9, 17, 9, 24, 37, 45, 37, 51, 48, 49, 53,
+  57, 48, 49, 26, 49, 127, 162, 158, 118, 115, 130, 148, 159, 163, 171, 177,
+  182, 189, 194, 181, 120, 59, 83, 106, 178, 213, 212, 213, 198, 183, 170, 165,
+  161, 165, 158, 154, 154, 131, 122, 17, 12, 13, 22, 20, 6, 166, 161, 155,
+  153, 161, 224, 222, 186, 120, 108, 123, 146, 155, 161, 165, 161, 162, 158, 146,
+  128, 135, 134, 128, 87, 37, 38, 65, 76, 116, 132, 118, 114, 71, 147, 174,
+  181, 178, 171, 190, 186, 186, 179, 182, 148, 128, 37, 120, 189, 179, 175, 174,
+  165, 151, 143, 104, 89, 46, 142, 159, 150, 151, 148, 153, 147, 148, 241, 229,
+  234, 102, 92, 107, 131, 139, 151, 166, 171, 173, 162, 161, 147, 138, 131, 32,
+  26, 29, 59, 57, 84, 102, 92, 93, 87, 107, 49, 147, 135, 173, 224, 221,
+  217, 123, 114, 120, 140, 143, 154, 159, 173, 183, 185, 183, 182, 179, 174, 165,
+  100, 52, 48, 52, 59, 89, 148, 205, 201, 167, 157, 175, 182, 194, 201, 204,
+  205, 204, 204, 197, 178, 167, 95, 55, 44, 46, 41, 73, 102, 118, 132, 204,
+  216, 201, 174, 190, 191, 186, 190, 175, 174, 144, 135, 126, 126, 84, 61, 80,
+  83, 84, 99, 131, 126, 131, 127, 134, 132, 151, 213, 245, 244, 246, 248, 222,
+  163, 119, 115, 114, 118, 138, 126, 75, 55, 49, 57, 49, 68, 115, 183, 195,
+  189, 163, 170, 170, 174, 131, 131, 122, 99, 64, 97, 99, 108, 96, 95, 95,
+  99, 88, 89, 165, 162, 158, 153, 150, 144, 136, 144, 128, 114, 95, 119, 161,
+  159, 151, 150, 144, 148, 148, 155, 144, 142, 106, 29, 115, 104, 93, 87, 85,
+  91, 95, 107, 83, 63, 41, 116, 127, 119, 144, 245, 244, 238, 107, 100, 114,
+  135, 144, 154, 165, 171, 173, 175, 165, 161, 142, 131, 134, 134, 122, 13, 22,
+  38, 71, 77, 95, 95, 103, 87, 92, 97, 87, 57, 106, 132, 124, 114, 110,
+  119, 115, 118, 119, 179, 228, 216, 218, 208, 174, 119, 103, 85, 103, 91, 87,
+  92, 83, 206, 208, 195, 126, 128, 138, 144, 138, 139, 147, 140, 139, 126, 120,
+  77, 28, 22, 42, 57, 75, 76, 83, 96, 73, 57, 85, 123, 163, 236, 244,
+  240, 120, 104, 115, 128, 144, 151, 165, 171, 166, 158, 88, 40, 26, 24, 28,
+  33, 18, 69, 104, 204, 208, 204, 128, 150, 153, 158, 128, 135, 138, 128, 130,
+  116, 45, 37, 41, 55, 60, 67, 75, 72, 87, 220, 214, 199, 114, 114, 119,
+  132, 147, 155, 159, 171, 175, 178, 179, 175, 171, 169, 154, 89, 28, 13, 17,
+  17, 17, 24, 24, 34, 42, 45, 46, 42, 45, 41, 45, 51, 41, 53, 80,
+  175, 240, 240, 241, 237, 232, 197, 177, 154, 153, 151, 155, 158, 162, 167, 171,
+  175, 179, 183, 186, 197, 198, 206, 201, 202, 199, 199, 201, 202, 199, 191, 181,
+  171, 157, 148, 131, 122, 77, 30, 38, 53, 59, 55, 65, 51, 60, 69, 71,
+  71, 59, 56, 56, 97, 199, 208, 197, 110, 107, 116, 132, 142, 158, 166, 170,
+  170, 171, 170, 173, 170, 169, 153, 99, 29, 16, 9, 12, 12, 12, 13, 13,
+  22, 18, 12, 40, 49, 53, 51, 53, 42, 40, 34, 44, 46, 56, 12, 51,
+  107, 146, 170, 132, 112, 122, 142, 153, 159, 166, 173, 179, 186, 199, 198, 187,
+  139, 114, 153, 208, 206, 214, 212, 195, 197, 178, 183, 169, 165, 163, 157, 154,
+  138, 122, 24, 12, 5, 30, 5, 59, 146, 155, 155, 146, 147, 214, 226, 208,
+  122, 106, 118, 143, 154, 159, 161, 162, 159, 155, 136, 136, 135, 132, 127, 103,
+  40, 42, 67, 88, 118, 126, 111, 123, 83, 151, 190, 186, 189, 187, 183, 186,
+  186, 187, 171, 144, 130, 36, 127, 182, 194, 204, 186, 171, 157, 148, 114, 92,
+  51, 134, 154, 151, 159, 150, 148, 142, 153, 241, 236, 232, 93, 93, 106, 128,
+  136, 148, 165, 173, 170, 165, 161, 150, 139, 130, 32, 28, 25, 60, 71, 84,
+  104, 95, 95, 87, 103, 51, 136, 142, 175, 229, 226, 220, 124, 120, 119, 128,
+  142, 158, 162, 175, 182, 186, 186, 182, 179, 171, 147, 67, 49, 44, 52, 77,
+  83, 135, 198, 206, 175, 154, 157, 177, 187, 198, 204, 204, 205, 205, 201, 197,
+  181, 131, 63, 48, 44, 52, 76, 106, 122, 128, 201, 221, 213, 178, 174, 189,
+  177, 189, 175, 169, 151, 138, 130, 134, 97, 57, 67, 83, 80, 96, 120, 140,
+  143, 135, 126, 146, 167, 233, 238, 244, 245, 228, 148, 116, 116, 118, 123, 142,
+  144, 92, 63, 48, 41, 53, 52, 73, 131, 199, 194, 167, 169, 174, 171, 178,
+  142, 135, 118, 111, 89, 61, 85, 83, 92, 83, 93, 95, 83, 37, 154, 166,
+  143, 159, 153, 159, 166, 162, 143, 114, 93, 112, 165, 155, 153, 146, 144, 148,
+  147, 144, 146, 151, 65, 30, 81, 106, 100, 88, 88, 88, 91, 99, 68, 63,
+  38, 118, 128, 115, 131, 242, 245, 241, 111, 102, 112, 134, 146, 151, 165, 171,
+  174, 178, 165, 161, 136, 130, 131, 132, 120, 13, 22, 26, 42, 79, 92, 107,
+  103, 92, 106, 89, 95, 61, 93, 136, 115, 127, 115, 107, 120, 115, 126, 208,
+  228, 213, 217, 195, 153, 115, 89, 75, 85, 92, 87, 93, 85, 213, 210, 202,
+  130, 130, 136, 140, 143, 144, 134, 147, 136, 123, 119, 65, 28, 24, 41, 63,
+  75, 75, 81, 106, 76, 52, 84, 124, 159, 234, 242, 240, 123, 106, 116, 127,
+  140, 148, 166, 169, 167, 147, 67, 33, 25, 25, 29, 38, 24, 69, 102, 205,
+  209, 233, 130, 150, 150, 150, 140, 134, 130, 128, 124, 114, 40, 37, 34, 56,
+  56, 67, 65, 75, 88, 224, 221, 209, 114, 111, 120, 131, 144, 155, 159, 171,
+  177, 178, 177, 173, 169, 162, 115, 37, 14, 17, 17, 14, 18, 24, 36, 46,
+  52, 52, 45, 46, 45, 46, 49, 49, 52, 59, 100, 220, 237, 237, 230, 217,
+  181, 147, 135, 138, 143, 151, 161, 170, 178, 190, 199, 202, 206, 208, 205, 189,
+  193, 198, 199, 202, 205, 209, 208, 209, 206, 185, 181, 166, 157, 150, 135, 131,
+  97, 37, 36, 44, 51, 68, 60, 61, 65, 48, 45, 64, 72, 71, 73, 87,
+  201, 213, 202, 112, 108, 118, 132, 143, 157, 166, 170, 171, 171, 175, 174, 170,
+  161, 119, 42, 20, 10, 12, 14, 16, 13, 14, 17, 17, 17, 8, 44, 52,
+  45, 40, 41, 46, 41, 34, 48, 51, 48, 14, 53, 96, 120, 166, 144, 116,
+  112, 131, 140, 158, 165, 171, 177, 186, 193, 204, 201, 199, 185, 208, 213, 213,
+  214, 216, 199, 187, 185, 178, 171, 173, 163, 157, 155, 139, 127, 18, 12, 9,
+  20, 6, 1, 169, 146, 148, 143, 124, 175, 225, 217, 130, 104, 114, 132, 148,
+  155, 161, 162, 162, 159, 147, 131, 136, 130, 131, 115, 46, 45, 65, 75, 112,
+  130, 116, 135, 81, 120, 179, 187, 185, 183, 183, 185, 190, 181, 169, 148, 134,
+  42, 157, 194, 218, 218, 226, 197, 167, 153, 131, 91, 49, 135, 154, 158, 151,
+  147, 148, 142, 148, 240, 241, 225, 99, 92, 103, 122, 135, 148, 166, 171, 171,
+  165, 162, 151, 140, 131, 33, 28, 33, 61, 69, 79, 89, 107, 108, 76, 99,
+  69, 131, 139, 157, 230, 226, 224, 131, 122, 128, 128, 146, 143, 166, 171, 185,
+  178, 186, 183, 173, 169, 130, 56, 45, 37, 52, 65, 85, 119, 193, 209, 191,
+  155, 153, 171, 183, 194, 197, 204, 205, 208, 205, 201, 186, 167, 79, 48, 42,
+  49, 79, 106, 122, 130, 186, 225, 218, 187, 187, 185, 189, 189, 179, 163, 151,
+  140, 131, 123, 111, 64, 61, 80, 79, 91, 126, 146, 123, 123, 136, 140, 201,
+  237, 241, 245, 234, 159, 119, 119, 123, 130, 146, 144, 150, 81, 60, 46, 33,
+  59, 57, 88, 112, 205, 201, 169, 170, 174, 166, 169, 169, 135, 128, 124, 99,
+  60, 65, 81, 85, 81, 84, 95, 92, 64, 159, 173, 148, 159, 154, 158, 166,
+  151, 138, 132, 81, 131, 166, 158, 143, 147, 144, 154, 150, 148, 150, 144, 92,
+  0, 102, 102, 91, 85, 89, 106, 110, 93, 65, 63, 34, 108, 124, 110, 130,
+  245, 242, 232, 110, 100, 114, 132, 142, 157, 165, 169, 174, 175, 162, 157, 146,
+  136, 131, 130, 116, 14, 24, 29, 49, 80, 99, 106, 102, 93, 103, 91, 89,
+  57, 103, 126, 110, 118, 122, 116, 114, 112, 130, 220, 226, 230, 226, 189, 127,
+  102, 72, 65, 87, 81, 85, 89, 88, 217, 213, 209, 132, 130, 140, 142, 147,
+  142, 135, 153, 134, 119, 115, 55, 26, 22, 38, 63, 75, 72, 81, 93, 81,
+  46, 103, 120, 126, 232, 241, 237, 122, 107, 116, 126, 139, 147, 167, 167, 165,
+  144, 49, 28, 24, 26, 30, 33, 21, 67, 103, 206, 208, 209, 148, 140, 144,
+  143, 139, 132, 131, 124, 122, 107, 36, 32, 33, 52, 57, 63, 68, 69, 83,
+  229, 224, 216, 116, 111, 122, 132, 142, 154, 161, 171, 177, 178, 173, 161, 166,
+  140, 53, 14, 17, 18, 16, 25, 26, 26, 55, 60, 56, 53, 52, 55, 51,
+  52, 59, 49, 46, 76, 183, 217, 233, 220, 197, 162, 138, 126, 134, 144, 159,
+  171, 181, 187, 197, 206, 216, 218, 221, 222, 221, 218, 202, 197, 201, 194, 190,
+  189, 213, 212, 210, 187, 182, 163, 159, 153, 139, 131, 107, 53, 34, 36, 60,
+  59, 69, 61, 57, 48, 55, 40, 51, 67, 45, 73, 198, 217, 209, 112, 108,
+  118, 134, 142, 158, 165, 169, 171, 173, 175, 170, 166, 140, 56, 18, 14, 13,
+  16, 16, 18, 18, 17, 14, 17, 17, 8, 48, 52, 38, 40, 38, 42, 32,
+  37, 55, 41, 55, 13, 51, 80, 102, 130, 163, 123, 112, 118, 135, 153, 163,
+  169, 173, 181, 190, 199, 206, 206, 209, 212, 208, 212, 224, 213, 195, 189, 189,
+  179, 174, 165, 165, 157, 155, 138, 124, 16, 12, 5, 12, 63, 72, 162, 135,
+  144, 140, 135, 153, 213, 220, 144, 104, 112, 127, 144, 153, 157, 159, 166, 167,
+  161, 150, 124, 124, 128, 122, 57, 44, 67, 69, 110, 127, 115, 118, 114, 85,
+  165, 186, 187, 190, 187, 187, 186, 182, 165, 153, 139, 57, 195, 212, 228, 212,
+  205, 201, 214, 165, 142, 93, 52, 130, 148, 147, 139, 142, 146, 135, 138, 241,
+  241, 230, 103, 95, 99, 116, 132, 150, 165, 174, 173, 165, 162, 150, 140, 130,
+  34, 28, 33, 65, 68, 77, 92, 108, 104, 102, 93, 72, 124, 139, 147, 230,
+  229, 225, 130, 110, 119, 128, 135, 139, 155, 166, 178, 186, 187, 183, 170, 161,
+  110, 49, 44, 36, 52, 77, 92, 115, 186, 217, 201, 159, 148, 161, 178, 187,
+  197, 197, 202, 206, 208, 205, 198, 183, 108, 49, 44, 49, 79, 107, 115, 123,
+  166, 225, 222, 191, 173, 183, 190, 179, 167, 146, 140, 142, 135, 124, 122, 79,
+  61, 75, 75, 91, 124, 147, 132, 127, 132, 131, 209, 240, 242, 242, 193, 126,
+  120, 127, 132, 132, 148, 151, 153, 76, 48, 44, 36, 52, 57, 77, 115, 208,
+  209, 187, 167, 173, 170, 167, 171, 139, 136, 122, 96, 53, 56, 84, 71, 80,
+  85, 100, 71, 97, 154, 159, 151, 146, 144, 151, 148, 150, 136, 111, 64, 139,
+  165, 158, 144, 151, 144, 151, 151, 148, 142, 140, 83, 0, 106, 99, 96, 85,
+  91, 76, 68, 65, 75, 64, 34, 111, 123, 116, 126, 241, 241, 226, 106, 100,
+  114, 135, 146, 155, 165, 170, 169, 177, 175, 163, 155, 139, 124, 126, 114, 14,
+  24, 34, 63, 79, 93, 106, 106, 110, 107, 88, 95, 57, 97, 127, 110, 107,
+  118, 104, 118, 112, 138, 222, 233, 230, 179, 128, 118, 80, 64, 69, 80, 79,
+  77, 84, 88, 218, 220, 216, 135, 130, 139, 146, 159, 148, 147, 150, 122, 118,
+  111, 41, 25, 24, 37, 63, 71, 73, 81, 95, 81, 41, 112, 122, 104, 228,
+  240, 236, 123, 106, 116, 127, 142, 148, 167, 166, 161, 136, 42, 26, 25, 29,
+  28, 30, 24, 61, 111, 210, 216, 208, 143, 138, 140, 146, 139, 134, 132, 132,
+  115, 104, 32, 29, 29, 48, 51, 53, 71, 81, 83, 229, 229, 220, 118, 112,
+  123, 131, 143, 155, 162, 166, 178, 173, 167, 165, 155, 100, 28, 16, 18, 18,
+  18, 17, 21, 26, 49, 64, 84, 83, 81, 79, 68, 57, 46, 59, 68, 131,
+  220, 228, 213, 179, 144, 127, 126, 139, 148, 161, 174, 181, 190, 197, 204, 213,
+  204, 154, 123, 150, 198, 222, 220, 205, 198, 193, 201, 202, 213, 209, 206, 186,
+  178, 166, 159, 150, 135, 128, 114, 72, 36, 29, 51, 55, 68, 72, 57, 46,
+  53, 48, 55, 68, 32, 87, 205, 220, 216, 115, 108, 120, 134, 142, 158, 165,
+  170, 173, 174, 175, 167, 155, 99, 29, 18, 16, 16, 17, 21, 22, 18, 17,
+  17, 18, 20, 12, 48, 57, 45, 40, 30, 36, 37, 52, 48, 38, 40, 12,
+  52, 69, 88, 110, 162, 157, 114, 106, 127, 147, 159, 167, 173, 179, 190, 191,
+  197, 205, 202, 204, 216, 220, 213, 202, 194, 191, 186, 181, 173, 166, 166, 157,
+  154, 136, 123, 13, 9, 9, 17, 5, 10, 155, 166, 144, 136, 134, 119, 175,
+  218, 175, 106, 108, 119, 136, 147, 153, 159, 169, 163, 165, 155, 124, 120, 130,
+  126, 73, 44, 56, 76, 99, 127, 124, 128, 110, 84, 161, 185, 190, 186, 189,
+  187, 187, 185, 169, 157, 135, 57, 201, 218, 225, 217, 220, 202, 195, 162, 138,
+  88, 56, 124, 154, 147, 154, 142, 146, 135, 155, 241, 241, 233, 108, 95, 97,
+  111, 138, 148, 165, 171, 171, 166, 161, 150, 142, 132, 37, 32, 25, 65, 72,
+  67, 80, 107, 110, 114, 76, 48, 120, 134, 148, 230, 228, 221, 122, 108, 119,
+  130, 126, 130, 144, 161, 174, 182, 181, 179, 165, 151, 84, 44, 42, 33, 55,
+  88, 87, 112, 173, 217, 208, 163, 146, 151, 171, 182, 189, 194, 195, 199, 206,
+  208, 199, 190, 151, 60, 46, 44, 75, 104, 114, 124, 150, 224, 225, 194, 174,
+  185, 185, 177, 155, 144, 136, 143, 142, 127, 127, 92, 59, 67, 75, 87, 126,
+  150, 128, 116, 119, 138, 217, 234, 242, 238, 159, 120, 127, 134, 138, 142, 151,
+  154, 158, 72, 49, 42, 28, 53, 57, 77, 108, 208, 214, 206, 173, 173, 173,
+  169, 174, 144, 140, 120, 93, 46, 49, 65, 79, 71, 83, 85, 83, 83, 161,
+  158, 153, 147, 150, 151, 147, 157, 132, 99, 81, 108, 151, 157, 147, 150, 150,
+  148, 150, 148, 148, 138, 83, 24, 103, 96, 96, 81, 88, 95, 71, 72, 84,
+  56, 36, 120, 124, 116, 131, 240, 236, 179, 102, 100, 114, 134, 142, 151, 158,
+  166, 169, 177, 177, 171, 161, 146, 126, 126, 118, 16, 26, 37, 72, 71, 95,
+  99, 103, 108, 96, 92, 83, 55, 110, 119, 108, 111, 115, 110, 118, 116, 144,
+  233, 236, 229, 150, 118, 102, 69, 60, 65, 80, 76, 76, 88, 97, 216, 220,
+  216, 136, 130, 143, 166, 163, 163, 158, 148, 119, 118, 111, 37, 26, 25, 40,
+  61, 72, 73, 83, 84, 68, 42, 79, 119, 131, 226, 238, 237, 126, 106, 118,
+  126, 140, 148, 169, 167, 162, 128, 40, 26, 25, 30, 30, 33, 25, 61, 107,
+  209, 214, 229, 122, 135, 136, 142, 134, 138, 142, 135, 114, 92, 30, 29, 30,
+  49, 49, 49, 67, 64, 84, 234, 225, 218, 116, 112, 123, 134, 144, 157, 163,
+  166, 177, 171, 165, 163, 142, 56, 18, 18, 18, 18, 24, 26, 22, 56, 61,
+  79, 73, 75, 80, 88, 69, 51, 45, 56, 89, 204, 225, 222, 195, 135, 114,
+  126, 136, 148, 161, 173, 179, 187, 190, 201, 206, 208, 111, 72, 67, 77, 112,
+  161, 224, 213, 208, 194, 202, 210, 214, 212, 199, 182, 179, 171, 162, 150, 135,
+  123, 118, 84, 41, 45, 51, 56, 63, 61, 56, 45, 56, 53, 51, 67, 46,
+  72, 218, 221, 218, 116, 111, 122, 135, 143, 157, 165, 169, 171, 175, 170, 162,
+  139, 59, 18, 14, 17, 20, 25, 22, 21, 17, 17, 22, 21, 22, 13, 53,
+  61, 46, 44, 49, 44, 48, 53, 33, 40, 41, 10, 49, 65, 85, 89, 138,
+  171, 122, 104, 123, 139, 157, 165, 173, 178, 185, 191, 194, 194, 193, 193, 197,
+  204, 206, 202, 198, 198, 187, 178, 174, 165, 166, 158, 155, 138, 118, 12, 10,
+  6, 25, 9, 9, 148, 147, 144, 130, 134, 122, 153, 206, 205, 111, 107, 115,
+  124, 143, 154, 161, 170, 166, 167, 155, 120, 122, 130, 127, 100, 48, 51, 60,
+  72, 95, 135, 124, 112, 79, 138, 186, 187, 186, 189, 186, 189, 185, 167, 153,
+  144, 45, 212, 224, 225, 218, 202, 181, 155, 138, 127, 84, 55, 95, 148, 154,
+  165, 138, 143, 136, 146, 242, 242, 234, 108, 97, 95, 114, 131, 144, 162, 170,
+  171, 167, 158, 147, 143, 132, 37, 33, 38, 69, 75, 89, 93, 93, 103, 106,
+  89, 72, 110, 130, 142, 229, 236, 225, 130, 118, 118, 123, 123, 126, 134, 147,
+  162, 181, 181, 165, 163, 146, 69, 44, 38, 29, 53, 81, 85, 104, 163, 213,
+  213, 178, 143, 144, 163, 174, 181, 187, 191, 194, 199, 204, 201, 190, 178, 87,
+  45, 42, 75, 97, 114, 124, 142, 220, 225, 198, 173, 183, 187, 167, 150, 131,
+  126, 130, 135, 130, 127, 107, 64, 59, 73, 81, 120, 139, 126, 116, 131, 140,
+  216, 233, 241, 221, 144, 124, 131, 138, 136, 153, 157, 162, 165, 69, 49, 45,
+  32, 53, 64, 71, 106, 208, 218, 214, 175, 174, 177, 170, 173, 147, 138, 120,
+  92, 42, 44, 64, 64, 61, 71, 79, 32, 84, 154, 148, 151, 153, 153, 147,
+  147, 162, 134, 93, 73, 140, 163, 146, 151, 153, 159, 163, 157, 146, 146, 144,
+  63, 32, 79, 92, 93, 79, 85, 72, 71, 75, 68, 63, 37, 115, 123, 116,
+  126, 237, 234, 165, 99, 97, 112, 122, 134, 144, 154, 165, 169, 179, 175, 171,
+  161, 147, 126, 127, 119, 17, 28, 29, 52, 69, 80, 97, 103, 103, 97, 92,
+  89, 53, 89, 116, 106, 107, 106, 104, 108, 116, 175, 244, 236, 220, 131, 114,
+  95, 56, 59, 63, 76, 73, 75, 85, 96, 218, 220, 214, 136, 131, 142, 166,
+  159, 163, 151, 153, 116, 118, 108, 38, 25, 25, 41, 61, 69, 75, 75, 79,
+  69, 34, 80, 123, 128, 228, 238, 236, 123, 107, 114, 126, 142, 151, 169, 163,
+  166, 127, 36, 25, 26, 34, 28, 42, 26, 57, 97, 206, 214, 210, 135, 130,
+  132, 142, 136, 135, 138, 134, 112, 85, 28, 26, 29, 45, 48, 53, 61, 68,
+  100, 233, 234, 221, 116, 111, 123, 134, 144, 158, 165, 167, 174, 169, 165, 161,
+  112, 36, 18, 20, 21, 18, 22, 18, 16, 63, 67, 80, 95, 84, 71, 89,
+  68, 61, 55, 64, 142, 216, 220, 212, 166, 111, 120, 134, 144, 159, 171, 174,
+  185, 185, 194, 201, 209, 170, 80, 46, 33, 37, 55, 110, 204, 222, 213, 199,
+  191, 213, 213, 210, 208, 193, 178, 173, 161, 148, 132, 118, 119, 93, 45, 44,
+  45, 65, 56, 61, 69, 44, 55, 49, 59, 60, 36, 81, 218, 228, 218, 116,
+  112, 122, 135, 140, 157, 165, 165, 169, 170, 165, 159, 112, 37, 17, 16, 21,
+  24, 28, 25, 20, 18, 20, 25, 20, 22, 12, 49, 49, 56, 41, 52, 48,
+  48, 48, 46, 41, 37, 14, 45, 61, 71, 72, 97, 162, 136, 103, 111, 134,
+  151, 162, 170, 175, 182, 189, 197, 197, 198, 197, 195, 194, 198, 209, 199, 199,
+  190, 182, 173, 167, 169, 158, 153, 136, 123, 13, 9, 6, 18, 12, 9, 136,
+  134, 130, 132, 119, 119, 119, 173, 204, 136, 102, 107, 116, 140, 153, 159, 165,
+  171, 163, 148, 128, 123, 131, 126, 116, 55, 56, 76, 72, 89, 128, 111, 130,
+  89, 132, 169, 182, 190, 187, 190, 186, 179, 155, 155, 146, 52, 212, 229, 229,
+  220, 167, 144, 127, 120, 103, 73, 55, 79, 132, 148, 159, 136, 135, 132, 148,
+  241, 241, 230, 104, 95, 99, 119, 131, 142, 162, 167, 170, 165, 158, 148, 146,
+  131, 40, 36, 38, 69, 75, 83, 83, 76, 99, 93, 95, 84, 91, 134, 155,
+  233, 233, 226, 130, 120, 126, 122, 120, 124, 136, 151, 147, 157, 159, 154, 158,
+  138, 53, 40, 36, 29, 49, 56, 79, 104, 134, 208, 213, 187, 140, 142, 154,
+  167, 175, 177, 179, 186, 194, 201, 199, 195, 190, 114, 48, 41, 76, 89, 111,
+  120, 132, 214, 225, 206, 177, 182, 187, 167, 158, 148, 147, 142, 127, 131, 123,
+  114, 71, 59, 69, 67, 111, 131, 114, 111, 128, 134, 217, 236, 241, 190, 135,
+  130, 135, 140, 138, 151, 157, 162, 165, 68, 46, 44, 30, 53, 61, 84, 102,
+  208, 220, 220, 177, 178, 175, 166, 175, 150, 138, 123, 88, 42, 38, 46, 57,
+  61, 67, 83, 52, 122, 155, 161, 157, 150, 158, 147, 151, 134, 134, 128, 67,
+  134, 155, 163, 161, 167, 161, 158, 151, 157, 150, 136, 93, 0, 91, 93, 81,
+  79, 76, 71, 68, 71, 69, 67, 36, 96, 122, 108, 127, 234, 229, 178, 103,
+  102, 110, 114, 126, 135, 151, 163, 171, 175, 178, 165, 159, 143, 127, 132, 114,
+  18, 28, 30, 52, 65, 81, 96, 100, 93, 106, 92, 87, 49, 91, 107, 110,
+  97, 110, 108, 104, 124, 209, 240, 237, 216, 130, 114, 76, 55, 52, 61, 63,
+  71, 65, 84, 92, 214, 220, 210, 134, 132, 144, 169, 163, 157, 151, 148, 119,
+  118, 106, 33, 24, 28, 41, 57, 69, 72, 81, 80, 76, 30, 93, 118, 104,
+  224, 237, 232, 122, 108, 119, 127, 142, 157, 169, 166, 163, 120, 41, 28, 25,
+  22, 33, 38, 24, 48, 87, 206, 212, 202, 132, 128, 131, 142, 140, 130, 135,
+  134, 114, 87, 25, 24, 22, 38, 46, 56, 59, 64, 87, 234, 228, 222, 116,
+  111, 123, 135, 144, 158, 166, 169, 173, 163, 161, 148, 77, 22, 21, 22, 20,
+  21, 28, 26, 16, 51, 69, 81, 89, 88, 72, 83, 71, 59, 55, 57, 166,
+  212, 220, 202, 134, 107, 122, 135, 150, 163, 169, 181, 186, 190, 197, 202, 212,
+  136, 53, 29, 28, 33, 51, 89, 167, 225, 214, 209, 186, 213, 217, 218, 209,
+  197, 181, 173, 163, 148, 135, 123, 123, 108, 53, 45, 41, 45, 57, 61, 55,
+  30, 53, 41, 71, 55, 45, 69, 212, 228, 226, 115, 110, 120, 134, 142, 155,
+  166, 162, 170, 169, 163, 148, 84, 25, 18, 20, 21, 26, 24, 25, 25, 22,
+  25, 24, 22, 22, 12, 49, 55, 40, 51, 52, 48, 49, 48, 48, 36, 34,
+  6, 38, 52, 59, 72, 87, 128, 155, 118, 102, 122, 143, 159, 167, 177, 179,
+  186, 193, 187, 186, 189, 199, 195, 190, 195, 208, 201, 191, 183, 177, 169, 170,
+  159, 154, 143, 123, 8, 12, 8, 10, 16, 2, 127, 126, 126, 114, 104, 102,
+  108, 142, 201, 185, 102, 106, 116, 139, 151, 158, 159, 158, 154, 150, 120, 122,
+  123, 128, 131, 79, 55, 61, 69, 79, 122, 123, 126, 103, 104, 157, 169, 173,
+  178, 167, 170, 171, 161, 158, 150, 64, 216, 230, 234, 198, 163, 126, 119, 123,
+  93, 73, 60, 69, 88, 106, 120, 114, 135, 123, 136, 240, 240, 222, 104, 95,
+  102, 116, 126, 138, 159, 170, 167, 165, 158, 146, 146, 130, 42, 38, 42, 65,
+  75, 60, 84, 84, 69, 96, 104, 80, 85, 128, 147, 233, 233, 225, 131, 107,
+  114, 130, 130, 128, 139, 142, 139, 151, 150, 153, 154, 134, 52, 41, 40, 29,
+  51, 63, 83, 107, 120, 199, 214, 195, 147, 139, 144, 159, 167, 169, 173, 179,
+  187, 194, 197, 194, 191, 148, 60, 44, 68, 85, 104, 110, 122, 205, 226, 214,
+  178, 178, 187, 174, 163, 158, 151, 148, 144, 127, 120, 123, 91, 59, 68, 65,
+  104, 131, 150, 124, 122, 124, 198, 237, 241, 185, 130, 135, 142, 144, 140, 151,
+  161, 165, 166, 68, 48, 41, 30, 44, 57, 76, 107, 216, 221, 221, 177, 177,
+  178, 170, 174, 151, 138, 126, 89, 41, 38, 44, 53, 77, 57, 87, 51, 115,
+  128, 118, 127, 128, 130, 127, 131, 127, 127, 95, 53, 131, 146, 150, 143, 155,
+  147, 139, 136, 148, 144, 126, 61, 0, 92, 76, 76, 69, 81, 72, 85, 69,
+  77, 61, 34, 99, 118, 115, 124, 238, 237, 220, 106, 102, 106, 115, 114, 135,
+  155, 165, 177, 179, 170, 159, 148, 132, 127, 124, 111, 22, 29, 33, 48, 68,
+  79, 92, 96, 100, 102, 88, 84, 51, 89, 110, 108, 100, 102, 106, 108, 136,
+  226, 238, 241, 217, 131, 110, 67, 51, 45, 71, 56, 68, 69, 72, 83, 214,
+  213, 209, 130, 132, 143, 162, 157, 155, 146, 138, 119, 115, 100, 33, 22, 26,
+  40, 51, 68, 71, 76, 96, 75, 28, 104, 118, 111, 220, 236, 228, 126, 110,
+  118, 128, 144, 157, 163, 165, 166, 134, 49, 28, 28, 33, 33, 40, 25, 45,
+  81, 206, 202, 199, 124, 131, 130, 142, 132, 134, 131, 134, 114, 81, 22, 24,
+  21, 46, 42, 45, 48, 61, 83, 233, 230, 224, 118, 111, 120, 131, 144, 158,
+  166, 171, 171, 161, 159, 144, 57, 21, 21, 21, 22, 20, 20, 29, 16, 69,
+  75, 76, 68, 63, 71, 69, 68, 61, 51, 59, 173, 210, 202, 190, 118, 110,
+  122, 135, 148, 170, 170, 183, 189, 189, 197, 202, 205, 122, 48, 33, 28, 28,
+  41, 68, 142, 226, 218, 212, 194, 209, 213, 214, 213, 205, 182, 178, 163, 154,
+  136, 126, 120, 114, 75, 48, 51, 46, 51, 63, 55, 44, 41, 38, 37, 36,
+  34, 65, 198, 226, 226, 118, 110, 120, 134, 139, 155, 162, 161, 169, 166, 157,
+  139, 63, 21, 18, 20, 24, 26, 29, 25, 24, 24, 22, 22, 22, 26, 16,
+  42, 49, 51, 56, 52, 51, 51, 49, 51, 32, 36, 6, 37, 46, 60, 65,
+  79, 87, 162, 136, 102, 112, 139, 154, 165, 174, 181, 183, 185, 186, 183, 186,
+  190, 201, 201, 189, 197, 199, 195, 189, 178, 169, 171, 161, 157, 142, 123, 8,
+  9, 8, 18, 13, 5, 127, 102, 114, 126, 92, 88, 84, 95, 146, 209, 128,
+  102, 112, 128, 144, 150, 158, 159, 151, 132, 119, 120, 120, 124, 127, 110, 63,
+  65, 73, 76, 91, 100, 99, 106, 124, 146, 127, 130, 138, 131, 134, 127, 162,
+  157, 146, 56, 195, 230, 236, 182, 138, 124, 119, 116, 92, 67, 59, 72, 76,
+  87, 92, 91, 92, 130, 136, 241, 238, 229, 108, 88, 96, 114, 115, 135, 151,
+  162, 167, 165, 158, 144, 143, 132, 42, 38, 24, 61, 65, 68, 76, 57, 53,
+  75, 89, 83, 75, 124, 136, 232, 233, 232, 127, 102, 114, 123, 131, 143, 144,
+  140, 136, 142, 136, 151, 150, 128, 56, 38, 40, 24, 49, 52, 81, 91, 114,
+  193, 214, 198, 147, 136, 139, 153, 159, 165, 167, 174, 182, 190, 193, 191, 189,
+  169, 81, 48, 56, 81, 96, 108, 123, 193, 229, 220, 183, 173, 187, 190, 161,
+  170, 165, 155, 150, 144, 130, 122, 116, 71, 64, 61, 96, 130, 140, 115, 107,
+  128, 191, 225, 240, 171, 128, 138, 144, 147, 139, 153, 169, 171, 173, 75, 55,
+  38, 29, 42, 55, 89, 116, 222, 225, 222, 182, 179, 178, 173, 174, 155, 142,
+  128, 87, 38, 41, 41, 44, 48, 46, 60, 71, 71, 103, 103, 107, 108, 116,
+  110, 100, 124, 123, 60, 61, 51, 122, 110, 96, 89, 116, 95, 83, 77, 110,
+  76, 14, 51, 75, 64, 45, 48, 56, 48, 44, 44, 61, 49, 37, 89, 104,
+  118, 135, 240, 234, 228, 107, 106, 110, 114, 122, 136, 162, 165, 170, 177, 173,
+  162, 147, 120, 130, 131, 108, 25, 33, 34, 41, 52, 61, 79, 89, 92, 89,
+  85, 84, 46, 92, 99, 104, 95, 96, 99, 111, 155, 242, 245, 241, 198, 127,
+  111, 60, 48, 44, 59, 67, 57, 63, 73, 80, 216, 218, 212, 135, 134, 142,
+  155, 157, 155, 154, 119, 120, 115, 97, 28, 24, 24, 42, 45, 61, 69, 73,
+  79, 64, 38, 60, 106, 107, 212, 232, 229, 126, 112, 120, 130, 146, 157, 169,
+  167, 166, 142, 55, 30, 29, 32, 26, 34, 24, 63, 96, 199, 210, 210, 131,
+  128, 126, 135, 135, 132, 130, 126, 111, 73, 24, 20, 21, 38, 32, 37, 46,
+  61, 77, 233, 232, 228, 120, 114, 119, 127, 144, 159, 167, 171, 171, 161, 159,
+  142, 49, 21, 24, 24, 37, 28, 22, 30, 22, 65, 73, 63, 71, 68, 65,
+  61, 69, 60, 53, 56, 171, 205, 202, 166, 104, 111, 120, 131, 151, 167, 170,
+  177, 181, 189, 193, 199, 212, 114, 46, 36, 32, 32, 32, 52, 134, 229, 222,
+  214, 194, 199, 213, 212, 220, 212, 195, 177, 166, 154, 144, 135, 119, 119, 88,
+  53, 56, 37, 40, 45, 37, 45, 29, 17, 26, 20, 30, 68, 182, 221, 228,
+  116, 110, 122, 134, 139, 155, 163, 163, 166, 163, 155, 132, 55, 25, 18, 24,
+  32, 28, 32, 25, 28, 28, 29, 28, 30, 28, 17, 22, 41, 61, 28, 32,
+  42, 44, 40, 45, 37, 33, 6, 36, 37, 42, 40, 65, 69, 100, 151, 104,
+  100, 130, 147, 161, 170, 177, 178, 182, 181, 185, 186, 189, 191, 199, 198, 190,
+  195, 194, 190, 182, 173, 171, 162, 158, 144, 124, 9, 9, 6, 10, 4, 2,
+  87, 99, 104, 104, 110, 118, 120, 134, 97, 181, 190, 111, 107, 112, 132, 144,
+  148, 154, 148, 136, 126, 120, 112, 126, 130, 130, 80, 65, 61, 61, 63, 63,
+  60, 59, 65, 68, 71, 84, 89, 97, 104, 107, 131, 153, 154, 59, 201, 232,
+  232, 170, 130, 118, 118, 115, 91, 64, 46, 55, 73, 72, 72, 79, 80, 119,
+  111, 241, 237, 226, 107, 99, 95, 114, 128, 127, 144, 159, 170, 165, 155, 144,
+  146, 126, 42, 46, 45, 56, 60, 71, 68, 72, 73, 93, 65, 69, 76, 119,
+  140, 232, 234, 225, 131, 114, 116, 126, 130, 143, 136, 139, 135, 138, 136, 150,
+  146, 124, 52, 49, 38, 32, 73, 91, 88, 104, 110, 186, 210, 206, 153, 132,
+  136, 148, 155, 159, 166, 170, 175, 183, 189, 190, 190, 181, 104, 51, 45, 65,
+  88, 102, 115, 175, 229, 224, 186, 173, 179, 189, 186, 154, 170, 161, 157, 144,
+  144, 131, 126, 95, 61, 67, 89, 106, 111, 99, 111, 123, 162, 230, 238, 171,
+  132, 139, 148, 146, 146, 161, 171, 175, 179, 81, 60, 48, 36, 67, 85, 93,
+  127, 226, 228, 226, 189, 179, 182, 174, 174, 159, 144, 126, 95, 34, 33, 36,
+  13, 13, 9, 12, 13, 34, 36, 16, 14, 32, 33, 25, 25, 36, 41, 36,
+  61, 30, 30, 18, 24, 29, 32, 9, 22, 30, 34, 6, 24, 76, 22, 51,
+  64, 71, 75, 84, 84, 87, 85, 88, 40, 118, 112, 120, 143, 238, 240, 229,
+  107, 106, 112, 118, 127, 142, 158, 161, 166, 170, 174, 161, 146, 124, 130, 127,
+  103, 29, 34, 34, 42, 53, 53, 55, 57, 60, 72, 68, 56, 46, 85, 91,
+  84, 81, 93, 107, 107, 202, 242, 246, 238, 173, 122, 107, 53, 45, 38, 36,
+  40, 44, 51, 71, 79, 221, 224, 208, 131, 127, 124, 147, 154, 153, 146, 118,
+  110, 118, 89, 25, 22, 26, 36, 44, 55, 59, 59, 64, 57, 33, 41, 104,
+  112, 206, 228, 228, 127, 114, 122, 130, 146, 155, 169, 171, 170, 148, 73, 34,
+  29, 34, 24, 29, 44, 75, 124, 208, 214, 197, 128, 124, 123, 131, 131, 135,
+  131, 123, 110, 67, 21, 18, 17, 25, 28, 30, 49, 63, 68, 233, 236, 230,
+  118, 110, 118, 127, 144, 159, 167, 174, 170, 159, 157, 143, 46, 22, 22, 25,
+  26, 37, 32, 24, 17, 44, 49, 44, 45, 56, 55, 46, 46, 55, 56, 61,
+  159, 204, 187, 143, 99, 111, 118, 131, 150, 169, 177, 183, 178, 189, 190, 193,
+  208, 136, 52, 37, 25, 33, 38, 61, 138, 226, 224, 218, 195, 183, 209, 213,
+  213, 212, 198, 177, 169, 158, 153, 138, 118, 119, 102, 59, 61, 49, 41, 38,
+  33, 12, 21, 17, 22, 20, 26, 80, 175, 229, 225, 118, 112, 123, 134, 139,
+  155, 163, 163, 169, 162, 154, 134, 55, 22, 22, 29, 21, 20, 16, 14, 14,
+  12, 10, 10, 10, 6, 17, 21, 13, 21, 18, 16, 12, 14, 24, 34, 34,
+  25, 8, 37, 36, 38, 36, 34, 40, 72, 135, 120, 95, 123, 143, 157, 166,
+  171, 174, 174, 173, 174, 175, 178, 187, 194, 202, 191, 191, 199, 191, 183, 173,
+  173, 162, 159, 146, 127, 6, 6, 6, 10, 5, 4, 197, 191, 183, 179, 179,
+  177, 179, 126, 138, 135, 194, 136, 104, 108, 115, 130, 146, 144, 143, 132, 139,
+  139, 126, 115, 124, 130, 120, 76, 75, 93, 99, 104, 97, 104, 106, 123, 136,
+  126, 132, 126, 106, 110, 95, 104, 143, 64, 187, 232, 233, 191, 128, 118, 116,
+  106, 83, 55, 56, 52, 79, 102, 115, 115, 114, 124, 132, 228, 234, 224, 102,
+  91, 104, 118, 116, 120, 131, 154, 167, 159, 153, 140, 143, 128, 41, 42, 48,
+  30, 34, 40, 40, 30, 48, 67, 44, 40, 118, 110, 163, 230, 232, 226, 128,
+  118, 126, 132, 130, 140, 127, 148, 143, 140, 134, 148, 142, 118, 51, 49, 38,
+  45, 81, 95, 99, 110, 111, 173, 216, 202, 158, 132, 134, 142, 151, 155, 162,
+  165, 170, 179, 186, 189, 185, 185, 132, 55, 56, 65, 95, 107, 126, 167, 225,
+  226, 187, 171, 177, 185, 189, 181, 154, 169, 163, 157, 147, 144, 127, 120, 76,
+  65, 69, 73, 79, 96, 115, 122, 154, 222, 229, 175, 135, 144, 154, 142, 143,
+  159, 178, 181, 183, 92, 52, 44, 25, 61, 88, 102, 162, 229, 229, 225, 185,
+  183, 179, 171, 171, 159, 143, 127, 93, 40, 36, 38, 29, 53, 33, 56, 38,
+  112, 124, 119, 106, 116, 120, 119, 107, 119, 120, 63, 37, 51, 138, 132, 114,
+  114, 134, 126, 111, 108, 108, 103, 72, 32, 52, 118, 134, 138, 131, 135, 130,
+  132, 93, 84, 37, 119, 123, 122, 182, 236, 240, 218, 106, 106, 110, 119, 131,
+  144, 153, 153, 151, 158, 170, 162, 148, 128, 136, 138, 106, 34, 38, 41, 57,
+  67, 69, 49, 68, 69, 67, 60, 72, 65, 76, 81, 92, 95, 99, 112, 169,
+  237, 244, 246, 240, 150, 116, 103, 49, 42, 38, 41, 45, 56, 61, 75, 91,
+  220, 222, 212, 130, 127, 130, 136, 142, 154, 143, 119, 115, 119, 99, 28, 24,
+  28, 40, 45, 42, 44, 48, 38, 57, 25, 48, 89, 103, 202, 224, 221, 130,
+  114, 122, 130, 142, 155, 163, 167, 169, 157, 95, 38, 32, 28, 33, 34, 59,
+  87, 185, 221, 222, 208, 126, 124, 127, 128, 127, 139, 136, 116, 110, 57, 21,
+  17, 24, 38, 40, 49, 56, 67, 83, 232, 230, 230, 119, 110, 122, 134, 144,
+  158, 169, 173, 167, 159, 153, 144, 51, 25, 29, 40, 46, 55, 52, 26, 22,
+  25, 24, 33, 25, 29, 25, 30, 21, 30, 25, 37, 147, 199, 191, 128, 99,
+  112, 118, 128, 132, 166, 177, 174, 177, 181, 191, 197, 206, 154, 65, 41, 32,
+  48, 40, 83, 143, 228, 225, 222, 193, 179, 199, 212, 210, 208, 199, 182, 177,
+  158, 161, 143, 128, 120, 111, 68, 55, 64, 61, 57, 41, 9, 25, 89, 120,
+  93, 91, 128, 194, 216, 222, 114, 111, 120, 134, 132, 151, 159, 166, 162, 161,
+  153, 136, 59, 26, 26, 41, 46, 68, 83, 88, 88, 84, 93, 91, 84, 37,
+  16, 53, 73, 72, 63, 67, 67, 49, 26, 14, 13, 25, 24, 14, 18, 20,
+  25, 25, 18, 34, 104, 132, 100, 100, 138, 144, 155, 162, 157, 159, 154, 154,
+  143, 150, 148, 186, 201, 209, 183, 197, 191, 182, 171, 171, 161, 158, 146, 122,
+  6, 6, 6, 6, 22, 24, 198, 187, 193, 186, 182, 194, 148, 173, 140, 60,
+  194, 171, 112, 107, 107, 108, 119, 131, 134, 144, 135, 132, 140, 131, 122, 134,
+  134, 110, 80, 80, 75, 96, 108, 106, 115, 126, 158, 135, 150, 148, 138, 120,
+  146, 150, 143, 88, 208, 234, 237, 190, 126, 112, 111, 95, 69, 51, 55, 53,
+  97, 111, 112, 116, 115, 126, 128, 212, 226, 222, 96, 89, 104, 118, 118, 118,
+  127, 140, 163, 159, 153, 138, 143, 131, 52, 48, 46, 34, 57, 75, 102, 110,
+  114, 122, 118, 116, 102, 122, 213, 217, 222, 225, 127, 110, 118, 118, 132, 142,
+  120, 132, 142, 146, 138, 146, 144, 123, 46, 42, 41, 41, 88, 88, 99, 100,
+  110, 161, 209, 204, 167, 131, 131, 132, 144, 154, 161, 167, 169, 177, 183, 185,
+  181, 183, 158, 77, 53, 60, 106, 114, 122, 155, 220, 226, 193, 167, 173, 182,
+  189, 189, 163, 153, 167, 169, 159, 154, 139, 127, 107, 84, 84, 88, 114, 120,
+  122, 128, 139, 209, 226, 177, 142, 147, 157, 140, 146, 161, 183, 189, 186, 138,
+  72, 48, 22, 68, 95, 114, 187, 233, 230, 228, 183, 181, 181, 173, 170, 159,
+  143, 127, 85, 37, 34, 38, 63, 55, 59, 64, 38, 131, 139, 124, 110, 107,
+  116, 103, 107, 112, 123, 75, 29, 106, 139, 128, 131, 131, 128, 132, 124, 130,
+  123, 126, 76, 28, 115, 136, 132, 132, 127, 128, 116, 124, 106, 99, 37, 126,
+  126, 124, 199, 240, 241, 221, 106, 103, 108, 118, 134, 147, 159, 155, 140, 151,
+  153, 148, 124, 124, 139, 139, 106, 36, 40, 40, 64, 49, 60, 69, 73, 80,
+  85, 85, 79, 88, 100, 103, 110, 116, 124, 155, 214, 244, 245, 242, 218, 127,
+  118, 80, 44, 37, 37, 49, 53, 56, 68, 72, 96, 222, 228, 221, 123, 122,
+  131, 115, 131, 132, 131, 114, 120, 118, 104, 29, 24, 26, 45, 49, 65, 69,
+  69, 61, 59, 20, 112, 107, 111, 183, 221, 216, 135, 115, 122, 130, 142, 150,
+  166, 167, 171, 170, 135, 52, 38, 33, 37, 56, 72, 103, 197, 222, 224, 208,
+  126, 124, 126, 122, 132, 130, 127, 116, 100, 34, 18, 14, 28, 45, 52, 53,
+  64, 63, 89, 232, 232, 232, 120, 112, 122, 131, 144, 158, 167, 173, 163, 153,
+  148, 136, 61, 33, 26, 40, 60, 68, 67, 52, 17, 32, 106, 107, 97, 96,
+  106, 100, 93, 95, 99, 64, 132, 190, 185, 118, 100, 114, 119, 124, 124, 153,
+  158, 178, 173, 170, 183, 194, 197, 198, 114, 56, 48, 55, 63, 131, 201, 229,
+  226, 222, 187, 177, 193, 204, 204, 202, 199, 175, 175, 166, 157, 155, 136, 122,
+  122, 73, 76, 93, 132, 122, 46, 16, 75, 131, 119, 128, 150, 158, 210, 220,
+  209, 115, 110, 120, 131, 127, 147, 157, 163, 165, 157, 150, 135, 65, 30, 25,
+  45, 80, 95, 93, 87, 92, 93, 93, 93, 96, 63, 22, 67, 81, 80, 80,
+  75, 76, 72, 71, 59, 29, 21, 22, 38, 88, 95, 61, 75, 83, 68, 38,
+  144, 120, 91, 115, 128, 136, 142, 144, 123, 124, 131, 71, 57, 81, 165, 199,
+  213, 190, 187, 190, 179, 170, 170, 159, 153, 143, 116, 5, 8, 9, 17, 57,
+  64, 186, 183, 161, 187, 185, 173, 140, 171, 139, 60, 182, 177, 116, 108, 106,
+  104, 103, 104, 112, 134, 148, 139, 131, 139, 124, 120, 126, 131, 104, 81, 89,
+  103, 73, 99, 112, 155, 147, 140, 154, 138, 132, 122, 147, 111, 89, 146, 226,
+  237, 232, 202, 127, 110, 104, 85, 61, 46, 56, 46, 95, 110, 104, 108, 111,
+  123, 162, 229, 225, 204, 102, 99, 108, 119, 124, 118, 124, 132, 151, 155, 146,
+  130, 146, 132, 49, 51, 22, 83, 83, 93, 97, 111, 123, 118, 116, 103, 115,
+  136, 232, 228, 226, 212, 130, 103, 111, 120, 144, 147, 130, 119, 127, 135, 134,
+  144, 144, 123, 60, 40, 40, 40, 88, 93, 112, 95, 104, 144, 201, 199, 166,
+  132, 130, 130, 143, 147, 158, 163, 161, 170, 175, 182, 177, 177, 170, 99, 56,
+  51, 97, 115, 122, 140, 205, 222, 201, 167, 170, 179, 187, 191, 183, 153, 154,
+  169, 173, 162, 153, 138, 130, 104, 108, 110, 116, 116, 112, 126, 130, 193, 230,
+  179, 142, 153, 161, 140, 143, 173, 185, 190, 191, 163, 63, 51, 41, 81, 103,
+  122, 197, 234, 232, 228, 185, 182, 173, 173, 171, 162, 143, 124, 81, 36, 36,
+  36, 53, 76, 83, 63, 41, 123, 143, 131, 142, 134, 132, 142, 131, 123, 120,
+  77, 59, 134, 143, 128, 124, 120, 114, 110, 123, 114, 103, 122, 56, 26, 118,
+  136, 127, 118, 112, 118, 123, 127, 99, 91, 40, 124, 127, 128, 218, 238, 234,
+  216, 110, 104, 110, 114, 126, 150, 159, 161, 159, 151, 136, 130, 119, 131, 138,
+  144, 111, 65, 41, 42, 68, 52, 64, 77, 81, 76, 76, 80, 79, 95, 115,
+  123, 131, 123, 151, 209, 241, 246, 245, 238, 161, 123, 115, 67, 42, 40, 34,
+  51, 56, 57, 67, 72, 96, 222, 225, 220, 131, 131, 126, 132, 116, 110, 106,
+  112, 123, 112, 103, 29, 28, 25, 48, 63, 76, 77, 72, 76, 53, 21, 106,
+  118, 107, 157, 212, 217, 151, 116, 123, 130, 142, 148, 159, 166, 163, 170, 153,
+  108, 60, 60, 65, 87, 112, 174, 198, 221, 216, 217, 126, 123, 126, 124, 124,
+  132, 118, 112, 71, 24, 18, 16, 30, 44, 51, 61, 71, 71, 102, 229, 230,
+  229, 119, 114, 123, 136, 146, 158, 169, 173, 162, 155, 151, 138, 75, 34, 28,
+  45, 65, 63, 64, 68, 18, 116, 118, 110, 104, 102, 111, 108, 100, 106, 95,
+  69, 77, 179, 177, 116, 104, 115, 118, 122, 127, 131, 166, 175, 182, 161, 177,
+  183, 194, 205, 161, 85, 61, 77, 122, 143, 220, 225, 226, 222, 189, 171, 178,
+  189, 185, 187, 189, 179, 174, 169, 165, 162, 153, 127, 120, 84, 91, 130, 139,
+  135, 38, 10, 84, 134, 122, 144, 150, 162, 216, 222, 217, 110, 108, 120, 131,
+  122, 138, 158, 169, 162, 154, 146, 135, 91, 36, 29, 49, 85, 84, 89, 83,
+  93, 89, 79, 81, 93, 96, 22, 71, 80, 73, 56, 48, 46, 48, 53, 71,
+  46, 22, 16, 85, 85, 85, 87, 89, 75, 68, 63, 44, 48, 52, 75, 104,
+  99, 108, 92, 68, 45, 42, 32, 36, 69, 143, 201, 213, 197, 181, 189, 177,
+  171, 171, 158, 151, 143, 108, 4, 8, 13, 26, 41, 44, 191, 173, 166, 171,
+  163, 169, 143, 138, 131, 64, 185, 177, 136, 119, 107, 103, 104, 104, 100, 108,
+  134, 151, 138, 128, 138, 120, 130, 122, 132, 104, 99, 99, 93, 89, 107, 151,
+  138, 132, 127, 127, 123, 116, 120, 134, 171, 208, 233, 232, 229, 186, 124, 108,
+  88, 65, 53, 45, 51, 45, 75, 103, 108, 100, 110, 130, 209, 229, 228, 208,
+  106, 99, 108, 123, 124, 139, 124, 119, 135, 150, 148, 139, 140, 123, 55, 51,
+  38, 79, 85, 83, 110, 97, 95, 99, 95, 99, 112, 183, 220, 225, 228, 217,
+  131, 123, 110, 119, 135, 134, 147, 135, 119, 119, 130, 135, 144, 126, 64, 37,
+  34, 40, 91, 106, 99, 100, 106, 134, 191, 198, 165, 126, 131, 126, 139, 146,
+  154, 162, 159, 161, 166, 171, 177, 171, 173, 128, 63, 68, 102, 107, 123, 134,
+  175, 222, 208, 166, 165, 177, 189, 190, 190, 174, 148, 153, 170, 167, 161, 150,
+  132, 128, 126, 120, 107, 110, 115, 118, 119, 151, 220, 190, 148, 151, 167, 143,
+  144, 178, 189, 197, 198, 182, 89, 56, 41, 52, 106, 128, 210, 234, 234, 230,
+  179, 179, 174, 170, 174, 163, 142, 118, 57, 34, 34, 24, 59, 60, 72, 69,
+  51, 79, 102, 139, 96, 134, 131, 127, 124, 130, 119, 80, 57, 92, 143, 128,
+  135, 110, 114, 124, 108, 112, 112, 112, 64, 24, 115, 130, 116, 123, 128, 122,
+  124, 104, 95, 95, 52, 111, 118, 136, 225, 237, 237, 214, 112, 108, 111, 112,
+  123, 144, 158, 166, 158, 153, 150, 146, 128, 134, 143, 144, 118, 95, 44, 45,
+  67, 46, 59, 60, 67, 69, 71, 69, 93, 96, 124, 130, 126, 153, 198, 236,
+  244, 248, 245, 225, 132, 119, 107, 56, 40, 36, 37, 51, 53, 60, 68, 83,
+  127, 205, 216, 221, 132, 116, 123, 124, 115, 119, 108, 108, 119, 120, 103, 30,
+  24, 34, 38, 40, 77, 81, 71, 68, 63, 17, 111, 115, 104, 120, 197, 214,
+  183, 122, 119, 131, 138, 147, 153, 165, 163, 174, 175, 155, 114, 115, 135, 165,
+  190, 205, 197, 226, 210, 210, 127, 124, 126, 126, 134, 124, 114, 91, 30, 17,
+  17, 21, 41, 40, 46, 65, 67, 71, 103, 224, 232, 225, 118, 108, 118, 128,
+  146, 158, 167, 171, 162, 154, 148, 139, 114, 42, 28, 46, 59, 61, 60, 55,
+  18, 122, 120, 134, 118, 108, 111, 93, 93, 102, 107, 89, 55, 130, 177, 126,
+  97, 114, 119, 123, 130, 126, 151, 158, 171, 158, 169, 175, 189, 197, 206, 170,
+  138, 158, 185, 217, 225, 226, 221, 222, 185, 170, 166, 178, 181, 178, 183, 181,
+  181, 174, 165, 155, 162, 146, 124, 88, 99, 119, 146, 126, 33, 12, 71, 118,
+  135, 134, 148, 175, 220, 216, 221, 111, 108, 120, 134, 127, 144, 158, 167, 162,
+  154, 143, 136, 112, 46, 36, 48, 84, 84, 84, 92, 100, 97, 92, 79, 95,
+  68, 30, 63, 77, 72, 51, 53, 52, 42, 41, 68, 56, 25, 16, 89, 76,
+  80, 77, 71, 71, 57, 49, 49, 42, 45, 38, 41, 53, 48, 33, 30, 33,
+  28, 22, 38, 69, 150, 209, 220, 198, 177, 187, 181, 174, 170, 161, 148, 140,
+  99, 2, 6, 12, 28, 4, 2, 190, 171, 179, 173, 170, 163, 183, 144, 130,
+  59, 187, 173, 142, 106, 115, 114, 106, 106, 104, 100, 111, 132, 142, 139, 136,
+  134, 114, 124, 124, 131, 123, 115, 124, 119, 136, 136, 154, 146, 135, 132, 130,
+  135, 173, 208, 228, 234, 236, 232, 208, 170, 112, 97, 75, 56, 42, 45, 51,
+  52, 88, 100, 103, 110, 112, 158, 222, 218, 229, 205, 96, 95, 110, 119, 120,
+  136, 115, 118, 123, 143, 138, 136, 140, 124, 59, 56, 71, 106, 102, 80, 91,
+  84, 102, 95, 95, 91, 112, 195, 226, 224, 216, 193, 132, 111, 118, 134, 148,
+  144, 153, 153, 140, 120, 118, 134, 142, 127, 64, 48, 49, 48, 89, 99, 102,
+  95, 102, 107, 189, 199, 175, 130, 124, 124, 138, 143, 150, 159, 165, 153, 153,
+  158, 159, 169, 170, 147, 92, 67, 65, 93, 118, 124, 159, 216, 217, 167, 163,
+  174, 183, 187, 191, 190, 178, 144, 154, 173, 167, 157, 150, 139, 128, 128, 135,
+  116, 104, 111, 122, 130, 194, 214, 163, 154, 166, 142, 146, 183, 193, 204, 202,
+  195, 150, 87, 51, 53, 115, 165, 221, 233, 234, 232, 186, 182, 169, 170, 171,
+  162, 134, 107, 40, 34, 33, 29, 65, 61, 68, 72, 53, 57, 138, 144, 135,
+  138, 135, 128, 128, 126, 115, 79, 64, 93, 144, 112, 119, 110, 128, 116, 107,
+  115, 112, 111, 71, 28, 116, 132, 112, 110, 110, 97, 112, 102, 91, 73, 77,
+  112, 124, 179, 226, 242, 234, 213, 112, 111, 116, 107, 118, 139, 153, 162, 167,
+  162, 155, 147, 140, 124, 130, 147, 134, 103, 46, 48, 52, 59, 60, 76, 80,
+  75, 71, 76, 88, 108, 128, 127, 142, 189, 233, 241, 246, 246, 244, 170, 120,
+  119, 95, 44, 36, 24, 40, 46, 55, 67, 69, 83, 179, 208, 214, 206, 127,
+  120, 126, 128, 118, 118, 119, 103, 107, 119, 108, 34, 25, 26, 37, 63, 75,
+  81, 64, 67, 61, 14, 106, 114, 107, 108, 134, 201, 198, 127, 120, 127, 135,
+  143, 146, 153, 150, 177, 181, 178, 169, 185, 198, 201, 208, 206, 213, 202, 212,
+  163, 127, 127, 134, 136, 130, 119, 114, 38, 20, 17, 14, 28, 38, 44, 51,
+  61, 65, 72, 173, 226, 228, 226, 118, 104, 118, 126, 143, 153, 165, 165, 167,
+  159, 153, 147, 140, 61, 38, 36, 60, 63, 61, 57, 22, 88, 123, 135, 127,
+  119, 130, 112, 112, 106, 99, 106, 55, 76, 171, 142, 100, 104, 118, 122, 124,
+  127, 132, 158, 161, 157, 165, 169, 182, 189, 204, 213, 208, 217, 218, 225, 222,
+  221, 226, 209, 186, 165, 166, 143, 165, 171, 181, 182, 181, 181, 170, 169, 161,
+  162, 142, 118, 100, 132, 143, 69, 29, 10, 63, 118, 119, 124, 135, 158, 217,
+  228, 217, 112, 107, 118, 130, 122, 151, 158, 163, 158, 155, 146, 139, 126, 67,
+  37, 56, 83, 80, 89, 91, 93, 92, 93, 96, 80, 80, 26, 53, 76, 68,
+  44, 51, 37, 38, 46, 48, 48, 25, 18, 48, 72, 46, 60, 61, 69, 48,
+  42, 40, 37, 32, 38, 36, 40, 30, 26, 30, 26, 29, 26, 64, 71, 173,
+  214, 221, 187, 173, 185, 179, 174, 171, 162, 146, 135, 52, 2, 6, 13, 38,
+  2, 1, 189, 177, 161, 169, 170, 163, 159, 162, 130, 52, 177, 169, 140, 127,
+  103, 100, 118, 110, 104, 103, 102, 107, 134, 146, 142, 143, 135, 118, 116, 136,
+  158, 144, 139, 143, 150, 154, 159, 166, 170, 171, 185, 206, 224, 230, 236, 234,
+  229, 217, 187, 124, 103, 77, 61, 48, 41, 49, 53, 73, 92, 88, 100, 111,
+  154, 190, 229, 232, 229, 213, 111, 95, 103, 115, 131, 134, 120, 124, 119, 130,
+  131, 139, 144, 131, 107, 88, 61, 93, 106, 108, 89, 88, 97, 119, 95, 102,
+  130, 209, 220, 220, 220, 163, 118, 120, 124, 131, 136, 151, 150, 153, 151, 139,
+  115, 124, 138, 132, 107, 60, 55, 51, 95, 83, 97, 93, 99, 100, 175, 198,
+  177, 127, 120, 124, 136, 146, 151, 157, 162, 151, 150, 144, 144, 154, 163, 155,
+  110, 65, 45, 81, 111, 126, 147, 202, 217, 174, 161, 173, 181, 185, 187, 187,
+  190, 178, 150, 154, 169, 166, 157, 150, 144, 132, 132, 135, 118, 111, 120, 126,
+  158, 222, 177, 155, 163, 147, 183, 187, 202, 208, 205, 206, 190, 123, 64, 69,
+  126, 191, 233, 233, 234, 226, 181, 179, 177, 171, 170, 150, 135, 88, 36, 33,
+  34, 46, 65, 71, 57, 76, 65, 55, 128, 143, 134, 138, 128, 128, 136, 126,
+  123, 87, 67, 97, 138, 127, 119, 114, 119, 100, 115, 111, 111, 115, 68, 18,
+  122, 130, 106, 112, 104, 107, 93, 75, 77, 108, 99, 112, 131, 216, 236, 230,
+  238, 202, 115, 116, 116, 118, 110, 127, 150, 159, 162, 163, 159, 155, 148, 135,
+  138, 131, 154, 118, 102, 85, 83, 92, 95, 96, 96, 104, 104, 100, 99, 118,
+  134, 127, 186, 229, 233, 238, 245, 242, 220, 126, 122, 114, 65, 41, 36, 30,
+  44, 49, 61, 67, 76, 179, 209, 208, 216, 198, 114, 128, 135, 124, 130, 131,
+  134, 124, 104, 120, 115, 46, 22, 25, 53, 60, 63, 77, 81, 60, 56, 13,
+  103, 107, 104, 110, 110, 138, 198, 136, 120, 124, 128, 134, 135, 136, 138, 140,
+  155, 185, 183, 193, 195, 206, 212, 213, 202, 208, 189, 127, 126, 134, 135, 132,
+  122, 120, 59, 20, 17, 16, 13, 37, 44, 48, 64, 65, 68, 93, 206, 220,
+  226, 224, 119, 107, 115, 123, 135, 148, 162, 165, 166, 162, 151, 144, 127, 110,
+  53, 34, 37, 64, 61, 59, 28, 84, 123, 135, 112, 123, 130, 95, 123, 104,
+  99, 97, 63, 51, 159, 175, 108, 95, 112, 122, 124, 123, 124, 140, 142, 154,
+  166, 171, 173, 179, 185, 201, 198, 208, 214, 216, 220, 217, 210, 194, 177, 165,
+  142, 140, 139, 144, 165, 171, 181, 179, 175, 165, 163, 165, 162, 134, 107, 140,
+  96, 36, 14, 12, 59, 112, 122, 134, 144, 166, 218, 221, 220, 118, 108, 116,
+  124, 124, 159, 159, 161, 158, 155, 146, 135, 126, 110, 49, 63, 87, 92, 83,
+  85, 89, 89, 95, 93, 99, 91, 40, 48, 77, 68, 46, 38, 46, 46, 46,
+  45, 45, 24, 18, 75, 69, 65, 59, 48, 49, 40, 45, 40, 49, 40, 34,
+  42, 36, 33, 28, 28, 22, 26, 20, 59, 84, 202, 217, 220, 166, 167, 185,
+  183, 174, 169, 161, 144, 132, 42, 2, 4, 12, 32, 4, 10, 181, 182, 162,
+  165, 173, 174, 154, 165, 130, 60, 170, 167, 143, 130, 122, 111, 91, 96, 114,
+  112, 107, 103, 104, 127, 147, 139, 130, 123, 131, 151, 163, 177, 181, 189, 194,
+  193, 201, 198, 204, 216, 218, 225, 228, 230, 229, 218, 217, 181, 136, 102, 76,
+  63, 51, 44, 45, 63, 75, 88, 81, 106, 144, 171, 187, 212, 220, 226, 229,
+  209, 118, 89, 112, 106, 115, 131, 146, 148, 131, 122, 120, 144, 144, 143, 130,
+  119, 122, 124, 130, 123, 108, 97, 85, 115, 95, 104, 169, 208, 224, 221, 204,
+  161, 127, 115, 116, 132, 147, 154, 143, 155, 155, 147, 136, 118, 131, 134, 120,
+  100, 65, 64, 96, 99, 93, 93, 89, 97, 154, 202, 177, 126, 119, 127, 140,
+  146, 151, 159, 142, 136, 132, 130, 130, 134, 148, 154, 135, 97, 72, 61, 93,
+  115, 138, 174, 212, 185, 158, 163, 174, 179, 182, 181, 185, 185, 171, 151, 162,
+  169, 161, 157, 144, 134, 132, 132, 108, 111, 110, 120, 127, 193, 212, 158, 157,
+  143, 189, 199, 208, 212, 212, 208, 208, 183, 139, 146, 191, 225, 236, 236, 234,
+  218, 189, 183, 177, 173, 162, 139, 123, 56, 32, 30, 34, 51, 72, 71, 87,
+  85, 75, 55, 131, 146, 107, 134, 118, 115, 135, 138, 123, 111, 68, 79, 140,
+  107, 118, 111, 107, 106, 116, 111, 102, 118, 53, 24, 115, 127, 103, 107, 92,
+  95, 104, 102, 104, 108, 114, 153, 209, 226, 234, 237, 232, 189, 116, 120, 110,
+  119, 123, 112, 138, 150, 154, 158, 155, 157, 154, 151, 143, 126, 140, 157, 119,
+  115, 116, 115, 115, 120, 119, 118, 118, 115, 110, 120, 148, 191, 226, 229, 236,
+  241, 241, 233, 146, 120, 123, 110, 55, 36, 32, 36, 56, 59, 60, 73, 182,
+  206, 210, 214, 206, 199, 123, 116, 128, 122, 139, 123, 130, 124, 131, 111, 115,
+  97, 26, 41, 30, 32, 63, 79, 79, 64, 46, 22, 95, 106, 107, 95, 99,
+  107, 122, 178, 173, 127, 127, 124, 128, 130, 130, 130, 131, 132, 132, 143, 162,
+  166, 170, 179, 183, 161, 126, 130, 128, 126, 124, 120, 115, 49, 20, 16, 14,
+  12, 17, 29, 37, 49, 64, 64, 73, 173, 220, 220, 224, 217, 120, 110, 118,
+  126, 136, 146, 158, 166, 166, 163, 157, 154, 138, 138, 104, 69, 48, 42, 46,
+  61, 29, 88, 123, 131, 130, 115, 114, 99, 102, 118, 93, 100, 59, 41, 134,
+  169, 135, 93, 102, 119, 123, 126, 120, 122, 126, 153, 163, 159, 170, 165, 165,
+  159, 154, 175, 187, 193, 202, 198, 187, 162, 139, 143, 139, 138, 139, 142, 138,
+  143, 155, 161, 157, 155, 162, 151, 142, 119, 132, 96, 34, 8, 14, 10, 53,
+  102, 128, 150, 143, 189, 206, 216, 218, 120, 108, 110, 124, 147, 158, 170, 158,
+  155, 155, 143, 136, 127, 126, 95, 60, 49, 60, 80, 87, 95, 89, 87, 99,
+  76, 110, 34, 30, 69, 53, 57, 49, 48, 52, 49, 42, 45, 25, 14, 65,
+  69, 72, 73, 73, 65, 56, 53, 44, 52, 48, 26, 42, 44, 44, 34, 30,
+  28, 26, 34, 44, 112, 212, 225, 218, 157, 161, 178, 182, 174, 169, 159, 146,
+  131, 30, 2, 4, 10, 30, 4, 1, 183, 162, 163, 159, 161, 151, 150, 138,
+  124, 56, 165, 165, 143, 128, 126, 119, 106, 83, 80, 95, 108, 108, 103, 106,
+  112, 120, 128, 135, 136, 140, 140, 151, 173, 185, 194, 197, 206, 202, 206, 214,
+  220, 221, 217, 217, 214, 199, 162, 128, 97, 72, 60, 49, 41, 42, 53, 69,
+  88, 75, 147, 173, 204, 213, 209, 216, 216, 217, 212, 158, 114, 92, 139, 120,
+  127, 132, 136, 130, 134, 143, 138, 134, 148, 147, 142, 138, 146, 148, 162, 147,
+  136, 122, 112, 83, 81, 103, 193, 218, 218, 216, 217, 154, 131, 126, 124, 155,
+  155, 147, 146, 142, 140, 142, 147, 135, 115, 134, 131, 119, 91, 111, 100, 108,
+  84, 97, 92, 93, 124, 189, 187, 143, 126, 127, 138, 142, 142, 140, 136, 131,
+  128, 120, 120, 120, 122, 140, 142, 119, 83, 44, 75, 110, 126, 144, 194, 204,
+  155, 159, 166, 174, 177, 178, 179, 185, 182, 158, 151, 165, 166, 154, 138, 138,
+  132, 114, 81, 68, 91, 111, 119, 140, 208, 171, 165, 150, 191, 199, 213, 213,
+  216, 210, 216, 210, 206, 212, 228, 232, 230, 234, 233, 205, 183, 185, 181, 170,
+  143, 132, 92, 36, 32, 30, 37, 61, 73, 73, 84, 80, 81, 53, 115, 112,
+  139, 127, 135, 140, 138, 135, 124, 120, 65, 72, 104, 134, 128, 96, 110, 102,
+  110, 115, 114, 111, 63, 22, 112, 119, 119, 102, 99, 97, 103, 108, 134, 182,
+  198, 222, 217, 232, 226, 230, 228, 157, 118, 119, 126, 131, 143, 123, 116, 135,
+  142, 142, 143, 144, 150, 150, 153, 142, 136, 148, 157, 148, 169, 178, 187, 197,
+  202, 206, 210, 216, 218, 216, 221, 221, 225, 230, 237, 238, 226, 157, 120, 124,
+  122, 89, 38, 32, 30, 40, 59, 61, 93, 159, 222, 208, 205, 218, 218, 163,
+  130, 132, 138, 132, 134, 127, 139, 123, 127, 115, 112, 97, 71, 55, 33, 32,
+  30, 73, 77, 60, 60, 20, 95, 99, 95, 92, 96, 88, 103, 111, 116, 120,
+  124, 154, 158, 153, 150, 148, 144, 142, 138, 132, 134, 130, 130, 130, 131, 130,
+  126, 124, 122, 120, 116, 83, 34, 20, 16, 14, 12, 14, 40, 34, 48, 61,
+  65, 69, 150, 206, 214, 216, 220, 212, 118, 111, 114, 126, 136, 139, 143, 151,
+  158, 158, 154, 146, 150, 140, 144, 115, 99, 87, 67, 42, 28, 67, 126, 118,
+  128, 100, 120, 116, 115, 119, 96, 99, 72, 41, 95, 154, 177, 112, 102, 110,
+  118, 119, 120, 123, 124, 128, 130, 134, 132, 132, 142, 130, 128, 126, 127, 131,
+  128, 126, 130, 132, 132, 138, 138, 140, 143, 140, 139, 143, 138, 134, 132, 131,
+  131, 127, 138, 139, 103, 33, 8, 12, 16, 10, 52, 100, 107, 136, 193, 198,
+  198, 214, 208, 118, 114, 118, 122, 150, 155, 157, 148, 157, 153, 146, 139, 130,
+  124, 123, 123, 103, 72, 69, 55, 92, 88, 84, 85, 73, 96, 37, 22, 83,
+  44, 45, 45, 57, 52, 52, 41, 42, 25, 14, 59, 65, 67, 63, 49, 53,
+  40, 36, 30, 34, 36, 25, 40, 48, 42, 36, 37, 40, 24, 48, 56, 140,
+  221, 224, 212, 148, 155, 165, 178, 178, 167, 159, 146, 127, 25, 4, 4, 12,
+  24, 6, 2, 162, 161, 157, 154, 154, 154, 151, 128, 127, 52, 132, 158, 147,
+  135, 139, 130, 118, 106, 89, 75, 71, 81, 102, 107, 107, 106, 106, 112, 110,
+  118, 119, 124, 130, 144, 166, 178, 186, 199, 204, 201, 202, 202, 199, 182, 162,
+  127, 99, 85, 69, 57, 48, 38, 40, 46, 55, 69, 68, 126, 228, 206, 214,
+  206, 217, 208, 217, 183, 146, 122, 107, 119, 119, 120, 116, 123, 116, 122, 120,
+  127, 126, 132, 138, 130, 139, 144, 142, 150, 151, 153, 163, 155, 110, 83, 95,
+  118, 222, 208, 210, 210, 216, 150, 134, 136, 148, 131, 151, 148, 144, 134, 134,
+  132, 134, 132, 131, 132, 134, 120, 127, 124, 120, 100, 87, 88, 92, 87, 97,
+  162, 191, 169, 123, 124, 130, 134, 136, 136, 130, 130, 122, 120, 119, 114, 111,
+  108, 115, 134, 96, 83, 87, 87, 107, 126, 159, 209, 165, 155, 162, 162, 162,
+  169, 173, 178, 182, 177, 155, 154, 162, 147, 136, 139, 124, 85, 59, 57, 59,
+  106, 108, 112, 175, 185, 174, 138, 185, 201, 202, 209, 214, 220, 218, 221, 218,
+  222, 230, 228, 232, 229, 221, 194, 190, 183, 179, 165, 135, 104, 51, 34, 32,
+  30, 30, 65, 73, 73, 77, 85, 85, 57, 89, 123, 138, 132, 116, 122, 116,
+  132, 110, 85, 72, 64, 104, 136, 111, 92, 112, 108, 110, 114, 120, 84, 61,
+  16, 100, 115, 107, 107, 71, 95, 111, 195, 216, 212, 216, 236, 220, 229, 242,
+  226, 199, 128, 119, 120, 140, 142, 134, 142, 132, 127, 127, 124, 127, 130, 123,
+  127, 130, 136, 146, 143, 131, 166, 169, 181, 189, 198, 202, 208, 212, 216, 218,
+  221, 222, 228, 228, 230, 226, 201, 140, 118, 122, 127, 118, 59, 33, 29, 32,
+  48, 59, 97, 186, 193, 197, 208, 212, 232, 210, 146, 126, 116, 123, 120, 134,
+  128, 119, 131, 119, 118, 127, 99, 84, 77, 68, 53, 29, 42, 76, 56, 57,
+  17, 91, 100, 91, 71, 64, 69, 77, 77, 73, 75, 75, 89, 108, 114, 115,
+  112, 107, 112, 116, 116, 116, 115, 112, 114, 119, 118, 115, 108, 104, 76, 37,
+  24, 16, 14, 12, 9, 12, 17, 33, 38, 63, 64, 72, 155, 201, 205, 206,
+  209, 216, 155, 118, 108, 118, 132, 127, 131, 139, 139, 148, 147, 158, 154, 144,
+  147, 132, 140, 151, 147, 108, 73, 51, 32, 88, 126, 104, 122, 99, 116, 108,
+  115, 92, 100, 95, 33, 84, 142, 148, 151, 146, 139, 138, 142, 138, 115, 114,
+  118, 119, 124, 126, 127, 124, 123, 128, 120, 104, 99, 92, 85, 89, 100, 116,
+  124, 131, 136, 138, 134, 127, 134, 134, 136, 139, 138, 135, 135, 126, 102, 34,
+  17, 9, 8, 16, 10, 51, 110, 139, 195, 205, 202, 199, 216, 189, 116, 108,
+  123, 131, 130, 144, 150, 154, 151, 151, 147, 142, 138, 131, 122, 120, 118, 130,
+  118, 83, 60, 60, 61, 75, 68, 95, 34, 21, 77, 59, 46, 49, 60, 42,
+  44, 46, 34, 26, 20, 63, 79, 60, 56, 45, 42, 41, 32, 33, 40, 29,
+  46, 42, 37, 30, 28, 29, 33, 18, 49, 57, 161, 221, 226, 209, 143, 148,
+  154, 169, 175, 166, 159, 147, 120, 13, 5, 2, 12, 24, 14, 17, 150, 153,
+  154, 158, 151, 151, 155, 159, 120, 49, 154, 154, 147, 146, 136, 132, 124, 115,
+  99, 91, 76, 65, 64, 64, 76, 91, 100, 103, 107, 107, 107, 108, 110, 115,
+  122, 127, 131, 138, 154, 153, 148, 146, 123, 103, 91, 76, 57, 53, 53, 42,
+  36, 38, 45, 46, 76, 84, 75, 166, 208, 220, 206, 206, 187, 165, 142, 128,
+  114, 95, 87, 83, 84, 88, 92, 95, 93, 100, 104, 107, 106, 110, 115, 122,
+  128, 134, 131, 131, 135, 147, 140, 134, 107, 77, 107, 181, 198, 198, 171, 174,
+  150, 143, 120, 115, 127, 122, 128, 127, 128, 120, 132, 134, 124, 138, 134, 130,
+  122, 119, 122, 118, 112, 69, 45, 56, 87, 80, 83, 131, 175, 177, 126, 134,
+  131, 131, 132, 131, 127, 128, 123, 122, 119, 114, 111, 111, 108, 106, 97, 89,
+  63, 75, 87, 106, 135, 178, 187, 150, 157, 159, 158, 153, 162, 167, 169, 174,
+  171, 161, 140, 138, 142, 131, 97, 65, 55, 44, 45, 77, 103, 112, 154, 199,
+  175, 155, 165, 185, 199, 202, 205, 205, 204, 202, 204, 201, 202, 202, 205, 202,
+  195, 186, 181, 179, 169, 140, 116, 48, 29, 30, 30, 33, 36, 65, 64, 71,
+  81, 79, 83, 75, 68, 69, 76, 89, 69, 72, 81, 72, 72, 92, 89, 77,
+  79, 88, 93, 108, 96, 97, 97, 97, 92, 95, 53, 13, 55, 96, 100, 77,
+  83, 97, 170, 208, 210, 214, 225, 244, 218, 214, 206, 157, 130, 122, 124, 134,
+  136, 136, 139, 139, 136, 134, 127, 130, 132, 130, 127, 123, 120, 122, 123, 124,
+  122, 122, 123, 123, 132, 140, 159, 182, 189, 201, 202, 199, 195, 198, 199, 186,
+  159, 120, 116, 119, 127, 127, 104, 36, 28, 20, 53, 53, 79, 171, 189, 193,
+  205, 199, 204, 178, 146, 132, 118, 132, 120, 119, 123, 127, 111, 115, 106, 111,
+  103, 123, 106, 108, 96, 81, 30, 36, 76, 53, 53, 21, 96, 93, 60, 57,
+  53, 56, 53, 57, 46, 46, 41, 37, 34, 36, 36, 32, 32, 30, 30, 29,
+  26, 25, 22, 24, 28, 24, 22, 21, 18, 20, 14, 14, 12, 10, 10, 14,
+  24, 34, 28, 63, 59, 76, 151, 191, 191, 187, 201, 209, 181, 131, 114, 120,
+  130, 124, 127, 132, 131, 134, 132, 134, 143, 139, 130, 143, 140, 123, 122, 123,
+  154, 135, 49, 32, 73, 72, 76, 79, 83, 84, 88, 88, 93, 93, 71, 22,
+  56, 96, 111, 100, 95, 89, 97, 100, 104, 108, 107, 103, 103, 114, 115, 107,
+  103, 100, 77, 41, 21, 16, 12, 12, 13, 20, 57, 93, 103, 108, 110, 106,
+  97, 100, 103, 103, 102, 99, 96, 84, 44, 24, 12, 8, 6, 18, 22, 18,
+  95, 148, 182, 198, 186, 181, 202, 202, 136, 112, 116, 127, 122, 122, 122, 130,
+  132, 134, 136, 132, 126, 127, 126, 127, 123, 115, 116, 132, 119, 103, 89, 91,
+  81, 80, 64, 52, 25, 51, 64, 71, 59, 60, 45, 42, 45, 37, 24, 18,
+  59, 49, 37, 42, 30, 25, 22, 32, 30, 30, 34, 30, 26, 28, 25, 29,
+  25, 26, 41, 53, 69, 179, 225, 226, 206, 140, 147, 151, 162, 170, 163, 158,
+  142, 99, 8, 4, 2, 6, 16, 10, 5, 162, 158, 158, 158, 154, 162, 153,
+  144, 118, 52, 143, 153, 132, 139, 130, 130, 116, 118, 108, 104, 93, 87, 73,
+  69, 60, 56, 53, 57, 60, 68, 79, 95, 96, 99, 97, 95, 95, 91, 89,
+  88, 85, 77, 63, 52, 49, 46, 45, 37, 33, 36, 48, 61, 63, 59, 69,
+  49, 49, 99, 143, 159, 153, 146, 144, 93, 80, 69, 64, 49, 34, 37, 38,
+  32, 30, 30, 33, 34, 34, 40, 38, 36, 44, 72, 81, 88, 88, 85, 83,
+  114, 110, 68, 40, 59, 99, 157, 151, 159, 157, 159, 130, 107, 87, 88, 102,
+  106, 103, 102, 107, 108, 112, 112, 114, 114, 115, 111, 106, 102, 103, 96, 67,
+  42, 40, 36, 41, 76, 68, 76, 131, 146, 128, 130, 108, 124, 124, 127, 123,
+  124, 122, 115, 110, 108, 102, 111, 103, 106, 106, 91, 38, 44, 80, 76, 112,
+  132, 178, 169, 150, 155, 154, 154, 153, 155, 157, 155, 150, 144, 139, 140, 131,
+  108, 65, 53, 48, 49, 56, 63, 106, 108, 178, 189, 179, 167, 120, 151, 183,
+  187, 191, 194, 193, 191, 189, 185, 178, 177, 181, 182, 181, 178, 163, 146, 135,
+  108, 51, 33, 30, 30, 42, 55, 49, 60, 45, 46, 69, 73, 80, 79, 83,
+  87, 103, 92, 96, 92, 100, 99, 97, 93, 93, 91, 79, 97, 95, 65, 56,
+  30, 28, 42, 40, 38, 38, 14, 34, 40, 55, 80, 73, 95, 163, 205, 218,
+  210, 210, 183, 157, 140, 130, 123, 130, 124, 131, 128, 130, 130, 131, 131, 131,
+  126, 126, 123, 123, 122, 120, 112, 118, 119, 119, 119, 119, 118, 120, 116, 114,
+  112, 111, 112, 114, 116, 118, 118, 115, 112, 112, 111, 114, 112, 119, 123, 128,
+  123, 57, 22, 25, 29, 55, 51, 139, 189, 183, 193, 205, 175, 143, 135, 119,
+  115, 103, 108, 106, 102, 108, 103, 102, 92, 97, 99, 97, 95, 102, 96, 88,
+  84, 32, 42, 57, 51, 42, 26, 89, 92, 60, 52, 52, 51, 49, 49, 45,
+  38, 34, 26, 30, 26, 25, 26, 25, 22, 22, 22, 18, 17, 16, 18, 17,
+  16, 14, 13, 12, 10, 9, 9, 13, 12, 17, 30, 22, 29, 40, 61, 65,
+  107, 179, 183, 193, 186, 163, 151, 124, 115, 124, 120, 126, 119, 123, 118, 116,
+  120, 126, 131, 132, 127, 124, 131, 131, 122, 118, 124, 131, 110, 30, 60, 69,
+  69, 68, 63, 73, 71, 73, 68, 80, 76, 38, 24, 36, 41, 40, 34, 30,
+  26, 25, 21, 21, 21, 21, 17, 17, 17, 16, 14, 14, 14, 13, 12, 10,
+  9, 8, 9, 10, 12, 10, 13, 12, 10, 10, 12, 10, 9, 8, 10, 10,
+  9, 10, 10, 9, 9, 8, 4, 8, 20, 24, 20, 100, 161, 201, 191, 197,
+  186, 157, 130, 118, 112, 116, 119, 111, 108, 116, 122, 120, 126, 128, 124, 119,
+  116, 116, 112, 104, 108, 119, 116, 111, 83, 77, 65, 69, 60, 44, 41, 36,
+  38, 40, 42, 40, 42, 38, 49, 42, 36, 25, 10, 55, 52, 29, 22, 48,
+  76, 118, 155, 142, 89, 28, 36, 40, 13, 20, 20, 28, 18, 45, 42, 93,
+  205, 225, 232, 202, 136, 140, 146, 158, 169, 163, 151, 138, 61, 2, 5, 2,
+  2, 1, 1, 0, 61, 60, 65, 106, 110, 111, 126, 119, 111, 49, 79, 88,
+  87, 87, 87, 83, 83, 79, 76, 75, 73, 67, 59, 63, 57, 53, 49, 52,
+  49, 51, 46, 42, 41, 40, 44, 42, 44, 42, 44, 44, 44, 44, 42, 36,
+  30, 26, 30, 40, 56, 44, 60, 67, 63, 52, 51, 65, 45, 28, 38, 45,
+  41, 38, 34, 26, 38, 40, 30, 24, 25, 25, 25, 22, 21, 22, 20, 18,
+  20, 21, 20, 17, 12, 16, 20, 17, 17, 24, 28, 6, 12, 26, 26, 33,
+  18, 34, 45, 48, 67, 32, 5, 8, 20, 20, 17, 18, 20, 22, 18, 18,
+  22, 20, 21, 22, 25, 30, 30, 30, 29, 26, 34, 41, 48, 61, 61, 51,
+  44, 56, 53, 44, 37, 17, 18, 28, 24, 22, 17, 20, 17, 13, 17, 13,
+  10, 16, 22, 13, 13, 20, 20, 24, 26, 26, 44, 96, 132, 173, 158, 146,
+  144, 148, 147, 150, 153, 147, 144, 142, 142, 131, 97, 61, 51, 46, 46, 49,
+  36, 64, 103, 106, 167, 186, 195, 178, 136, 111, 112, 128, 123, 123, 118, 131,
+  126, 122, 119, 118, 119, 122, 118, 116, 112, 73, 60, 40, 30, 29, 33, 34,
+  30, 29, 14, 13, 33, 13, 13, 13, 14, 38, 13, 10, 29, 30, 12, 12,
+  29, 13, 13, 13, 16, 26, 44, 41, 59, 56, 97, 111, 119, 118, 104, 95,
+  63, 13, 92, 100, 100, 56, 76, 89, 118, 142, 157, 143, 140, 128, 114, 108,
+  110, 112, 114, 112, 127, 127, 120, 126, 126, 127, 127, 126, 124, 124, 122, 123,
+  123, 120, 120, 122, 122, 122, 119, 116, 118, 116, 118, 116, 116, 116, 115, 114,
+  115, 115, 115, 115, 114, 115, 118, 120, 124, 127, 126, 95, 29, 21, 24, 24,
+  38, 48, 102, 161, 178, 148, 140, 111, 96, 91, 92, 93, 96, 97, 96, 97,
+  97, 100, 100, 100, 97, 102, 95, 95, 92, 92, 89, 63, 40, 38, 46, 48,
+  42, 24, 84, 48, 44, 34, 32, 32, 33, 24, 25, 22, 20, 14, 13, 12,
+  12, 12, 12, 12, 12, 10, 9, 9, 9, 10, 12, 13, 13, 16, 14, 16,
+  17, 18, 24, 26, 38, 21, 29, 41, 71, 64, 76, 157, 154, 143, 135, 130,
+  122, 120, 112, 107, 112, 112, 115, 114, 110, 111, 115, 112, 112, 118, 115, 116,
+  115, 111, 106, 100, 100, 102, 99, 37, 49, 9, 6, 9, 6, 5, 6, 5,
+  8, 9, 4, 10, 8, 4, 24, 21, 13, 4, 18, 9, 1, 1, 2, 2,
+  4, 4, 5, 6, 5, 5, 5, 5, 4, 5, 6, 9, 9, 9, 9, 10,
+  10, 10, 9, 8, 8, 8, 8, 8, 5, 8, 8, 8, 6, 6, 5, 2,
+  5, 8, 18, 21, 25, 22, 118, 154, 173, 158, 159, 135, 116, 111, 104, 102,
+  104, 97, 103, 104, 99, 100, 108, 111, 114, 111, 110, 106, 100, 99, 102, 97,
+  97, 91, 60, 26, 13, 9, 9, 10, 10, 9, 12, 10, 6, 10, 14, 16,
+  14, 14, 17, 18, 22, 12, 51, 24, 41, 81, 143, 162, 174, 186, 183, 171,
+  104, 30, 20, 52, 69, 61, 61, 52, 41, 65, 116, 216, 232, 232, 191, 134,
+  140, 144, 158, 165, 161, 148, 132, 29, 2, 4, 5, 9, 14, 29, 41, 139,
+  138, 132, 130, 103, 60, 81, 51, 83, 20, 0, 5, 5, 32, 2, 5, 20,
+  22, 4, 5, 17, 20, 18, 12, 18, 17, 17, 9, 9, 32, 30, 29, 28,
+  28, 25, 24, 21, 21, 21, 20, 20, 22, 21, 24, 33, 36, 49, 49, 60,
+  73, 72, 72, 76, 80, 102, 95, 63, 63, 64, 73, 59, 53, 48, 46, 52,
+  48, 45, 42, 46, 45, 45, 41, 38, 38, 36, 38, 44, 42, 37, 34, 30,
+  26, 22, 30, 44, 49, 22, 37, 57, 28, 30, 28, 57, 45, 56, 61, 59,
+  52, 45, 42, 46, 45, 42, 40, 45, 41, 42, 40, 41, 44, 45, 41, 44,
+  45, 38, 40, 41, 44, 37, 44, 85, 75, 85, 85, 91, 69, 52, 64, 51,
+  59, 64, 57, 53, 46, 48, 48, 45, 41, 42, 46, 42, 40, 48, 49, 45,
+  45, 52, 63, 64, 84, 92, 76, 79, 131, 166, 153, 162, 147, 153, 147, 150,
+  143, 146, 134, 123, 79, 52, 46, 45, 32, 33, 36, 52, 93, 104, 153, 177,
+  193, 199, 175, 124, 92, 73, 71, 68, 64, 65, 59, 56, 52, 56, 51, 52,
+  52, 52, 48, 49, 44, 51, 49, 52, 38, 59, 46, 60, 51, 52, 51, 52,
+  52, 52, 52, 53, 46, 12, 38, 114, 147, 103, 108, 111, 112, 110, 93, 103,
+  107, 122, 144, 136, 144, 144, 114, 120, 119, 131, 116, 96, 22, 103, 100, 115,
+  114, 64, 79, 88, 104, 92, 87, 87, 77, 79, 68, 65, 61, 53, 55, 41,
+  41, 36, 34, 33, 30, 30, 33, 30, 33, 30, 30, 29, 30, 29, 29, 28,
+  28, 28, 32, 30, 32, 32, 29, 32, 37, 41, 60, 92, 107, 115, 119, 120,
+  123, 123, 126, 127, 123, 111, 42, 24, 18, 17, 28, 56, 45, 61, 68, 67,
+  68, 69, 71, 26, 20, 20, 18, 17, 17, 17, 16, 14, 14, 16, 16, 18,
+  20, 18, 22, 22, 22, 24, 24, 12, 6, 12, 9, 13, 25, 32, 51, 63,
+  57, 72, 76, 67, 59, 67, 64, 52, 9, 41, 59, 55, 55, 38, 46, 37,
+  48, 29, 18, 25, 37, 64, 69, 65, 64, 61, 65, 61, 63, 64, 56, 53,
+  20, 46, 68, 73, 67, 88, 107, 107, 112, 100, 96, 88, 87, 81, 71, 52,
+  60, 45, 49, 44, 41, 36, 38, 36, 37, 36, 37, 36, 36, 37, 37, 36,
+  41, 41, 36, 12, 17, 71, 76, 79, 87, 87, 81, 92, 81, 80, 81, 41,
+  12, 69, 72, 79, 69, 72, 63, 68, 34, 21, 13, 10, 6, 13, 13, 12,
+  9, 9, 6, 9, 8, 5, 9, 6, 8, 4, 12, 14, 13, 8, 16, 13,
+  8, 4, 4, 8, 6, 8, 10, 10, 10, 9, 10, 12, 24, 30, 24, 30,
+  20, 108, 107, 111, 102, 108, 95, 81, 59, 46, 44, 32, 30, 28, 30, 24,
+  22, 22, 24, 18, 21, 20, 16, 14, 14, 17, 14, 14, 14, 12, 13, 28,
+  29, 41, 42, 30, 40, 46, 55, 61, 56, 51, 30, 29, 22, 17, 40, 40,
+  34, 22, 52, 85, 148, 191, 193, 187, 201, 187, 150, 104, 32, 29, 53, 68,
+  60, 49, 56, 55, 85, 162, 221, 232, 232, 178, 132, 135, 143, 154, 161, 155,
+  144, 107, 12, 4, 2, 5, 20, 41, 48, 55, 194, 189, 185, 178, 154, 134,
+  124, 115, 87, 13, 44, 131, 159, 127, 127, 140, 162, 136, 134, 134, 132, 130,
+  131, 134, 138, 138, 124, 104, 71, 61, 53, 29, 28, 25, 26, 29, 38, 40,
+  40, 42, 48, 63, 60, 65, 68, 65, 69, 69, 91, 111, 119, 119, 132, 126,
+  140, 116, 102, 52, 120, 115, 79, 77, 75, 72, 71, 71, 75, 75, 72, 52,
+  60, 83, 85, 79, 79, 81, 84, 75, 57, 45, 36, 32, 18, 20, 44, 46,
+  42, 42, 51, 49, 52, 59, 46, 8, 88, 71, 64, 64, 63, 61, 67, 48,
+  45, 42, 45, 42, 42, 34, 37, 48, 42, 45, 46, 46, 41, 48, 41, 38,
+  44, 84, 87, 77, 85, 91, 95, 95, 99, 89, 14, 100, 92, 76, 75, 55,
+  60, 55, 53, 53, 57, 56, 52, 56, 57, 61, 61, 61, 65, 65, 69, 81,
+  87, 93, 77, 83, 159, 162, 142, 146, 138, 136, 134, 132, 116, 77, 64, 53,
+  51, 41, 51, 40, 33, 49, 87, 120, 118, 157, 194, 198, 202, 162, 104, 71,
+  56, 51, 69, 55, 55, 51, 56, 56, 55, 52, 57, 59, 60, 59, 56, 56,
+  53, 53, 53, 55, 53, 52, 59, 64, 65, 67, 72, 73, 73, 77, 71, 48,
+  9, 122, 146, 138, 134, 119, 119, 114, 138, 122, 132, 81, 114, 123, 120, 114,
+  127, 131, 120, 122, 124, 128, 85, 16, 92, 110, 112, 118, 96, 68, 79, 87,
+  61, 51, 49, 64, 46, 48, 45, 45, 42, 42, 30, 26, 26, 24, 26, 21,
+  22, 24, 25, 24, 24, 22, 22, 22, 22, 22, 20, 20, 18, 21, 20, 20,
+  20, 20, 20, 21, 20, 22, 25, 30, 38, 49, 61, 76, 84, 92, 92, 77,
+  41, 24, 24, 22, 24, 33, 59, 59, 57, 44, 46, 49, 42, 51, 42, 41,
+  37, 36, 37, 34, 29, 26, 28, 25, 22, 22, 18, 21, 20, 17, 17, 14,
+  14, 16, 16, 18, 33, 21, 40, 28, 76, 112, 118, 118, 115, 118, 112, 111,
+  111, 81, 59, 2, 85, 68, 67, 60, 56, 71, 83, 59, 61, 51, 26, 75,
+  91, 87, 84, 81, 87, 81, 83, 80, 72, 67, 53, 20, 76, 75, 67, 85,
+  95, 91, 93, 84, 84, 76, 80, 59, 42, 44, 45, 41, 33, 30, 28, 25,
+  25, 25, 21, 22, 22, 21, 17, 17, 14, 13, 16, 14, 13, 10, 16, 16,
+  85, 89, 85, 85, 85, 83, 81, 84, 87, 95, 46, 13, 93, 81, 72, 81,
+  73, 75, 72, 63, 55, 42, 24, 6, 24, 53, 48, 26, 32, 45, 44, 26,
+  32, 40, 34, 21, 24, 38, 40, 41, 46, 48, 41, 38, 36, 17, 4, 13,
+  26, 37, 28, 26, 30, 25, 26, 29, 33, 28, 32, 13, 81, 84, 73, 52,
+  60, 55, 51, 33, 36, 37, 37, 26, 26, 28, 30, 24, 24, 22, 22, 20,
+  21, 20, 18, 22, 24, 22, 21, 22, 25, 32, 29, 34, 41, 46, 49, 36,
+  45, 65, 61, 37, 40, 60, 65, 61, 45, 45, 26, 18, 57, 81, 139, 193,
+  190, 177, 187, 142, 116, 93, 104, 32, 32, 53, 80, 79, 84, 71, 57, 93,
+  194, 222, 230, 229, 163, 131, 136, 142, 153, 154, 147, 136, 63, 5, 5, 2,
+  4, 21, 44, 41, 69, 177, 174, 179, 174, 170, 175, 158, 147, 92, 6, 165,
+  163, 159, 155, 155, 159, 151, 155, 154, 151, 147, 146, 147, 147, 146, 147, 142,
+  143, 147, 138, 110, 79, 69, 46, 75, 93, 95, 88, 87, 87, 84, 81, 83,
+  79, 75, 56, 60, 114, 132, 142, 140, 140, 138, 130, 135, 135, 114, 59, 122,
+  116, 116, 112, 115, 112, 104, 104, 95, 93, 85, 52, 75, 97, 111, 108, 104,
+  106, 106, 97, 84, 83, 80, 68, 18, 79, 84, 85, 99, 57, 65, 91, 64,
+  60, 65, 20, 81, 106, 99, 106, 103, 89, 88, 65, 60, 67, 56, 29, 40,
+  102, 59, 93, 76, 87, 63, 81, 64, 44, 30, 22, 44, 85, 89, 92, 85,
+  91, 115, 99, 95, 79, 12, 106, 103, 73, 88, 79, 73, 75, 75, 81, 69,
+  68, 52, 42, 52, 61, 77, 64, 69, 76, 85, 83, 85, 92, 93, 76, 142,
+  161, 140, 95, 81, 76, 75, 65, 63, 56, 55, 44, 41, 49, 45, 38, 56,
+  80, 95, 116, 119, 189, 195, 201, 198, 154, 104, 63, 56, 55, 56, 55, 56,
+  56, 61, 61, 64, 77, 100, 136, 148, 165, 173, 165, 154, 115, 75, 63, 57,
+  53, 57, 60, 59, 59, 63, 63, 65, 73, 72, 72, 34, 135, 143, 123, 110,
+  110, 110, 107, 104, 119, 80, 97, 134, 138, 119, 131, 115, 122, 112, 122, 119,
+  132, 88, 14, 97, 103, 120, 110, 99, 92, 61, 59, 55, 72, 71, 45, 37,
+  36, 36, 42, 26, 32, 22, 22, 21, 20, 20, 20, 18, 20, 20, 21, 20,
+  20, 20, 21, 20, 20, 20, 20, 20, 21, 25, 32, 28, 30, 32, 30, 26,
+  22, 20, 21, 21, 24, 25, 25, 24, 25, 26, 24, 24, 21, 22, 13, 25,
+  60, 67, 65, 59, 59, 56, 53, 49, 45, 42, 41, 45, 40, 38, 37, 33,
+  33, 30, 30, 26, 26, 26, 25, 28, 24, 24, 24, 21, 24, 29, 38, 46,
+  48, 46, 59, 93, 116, 114, 108, 107, 100, 99, 100, 107, 88, 64, 6, 80,
+  73, 79, 60, 71, 72, 69, 61, 64, 59, 26, 80, 102, 108, 103, 95, 100,
+  107, 103, 87, 85, 73, 56, 18, 69, 68, 80, 110, 111, 88, 81, 102, 75,
+  46, 46, 46, 49, 51, 37, 33, 32, 26, 26, 26, 25, 24, 20, 21, 21,
+  20, 18, 16, 14, 14, 16, 16, 13, 12, 22, 30, 88, 81, 76, 80, 84,
+  80, 75, 75, 75, 111, 46, 16, 89, 89, 91, 91, 88, 87, 81, 68, 64,
+  46, 28, 6, 48, 61, 64, 48, 45, 29, 34, 42, 36, 24, 26, 18, 28,
+  55, 73, 69, 69, 60, 65, 59, 40, 26, 6, 55, 63, 46, 46, 40, 40,
+  40, 37, 32, 30, 29, 34, 16, 61, 103, 73, 65, 49, 42, 51, 36, 34,
+  36, 34, 25, 25, 28, 29, 20, 22, 24, 20, 24, 18, 18, 21, 24, 21,
+  26, 28, 24, 25, 32, 34, 42, 34, 42, 22, 26, 63, 63, 85, 61, 38,
+  36, 40, 33, 34, 29, 22, 53, 85, 92, 175, 190, 175, 171, 139, 96, 91,
+  96, 73, 46, 37, 48, 75, 53, 57, 52, 69, 124, 206, 222, 230, 224, 144,
+  130, 135, 140, 153, 150, 142, 114, 21, 4, 5, 1, 4, 22, 41, 44, 59,
+  163, 169, 163, 158, 163, 159, 174, 144, 95, 22, 155, 173, 170, 175, 162, 162,
+  162, 154, 147, 143, 120, 104, 115, 147, 158, 159, 153, 155, 130, 143, 143, 123,
+  80, 55, 91, 104, 104, 106, 102, 103, 102, 100, 99, 103, 69, 52, 95, 136,
+  147, 146, 136, 140, 138, 143, 144, 114, 108, 63, 119, 123, 118, 120, 120, 116,
+  122, 107, 107, 110, 91, 56, 95, 102, 114, 116, 119, 132, 127, 124, 108, 108,
+  83, 68, 18, 80, 103, 87, 99, 107, 93, 95, 93, 65, 63, 17, 72, 107,
+  142, 144, 146, 107, 110, 96, 89, 64, 59, 26, 75, 114, 122, 112, 108, 103,
+  104, 107, 87, 75, 53, 21, 56, 92, 96, 81, 69, 91, 99, 99, 110, 63,
+  5, 114, 111, 118, 110, 68, 72, 56, 75, 71, 67, 69, 46, 33, 49, 108,
+  92, 92, 91, 91, 84, 84, 83, 93, 111, 73, 154, 159, 139, 99, 87, 72,
+  69, 61, 61, 51, 51, 42, 40, 37, 46, 55, 77, 83, 122, 120, 142, 186,
+  204, 202, 202, 139, 103, 83, 77, 81, 71, 68, 71, 80, 95, 124, 155, 186,
+  208, 218, 224, 226, 226, 218, 220, 212, 190, 163, 138, 88, 67, 57, 60, 60,
+  63, 60, 60, 71, 69, 68, 12, 96, 142, 100, 97, 114, 114, 107, 107, 114,
+  81, 102, 123, 135, 132, 126, 131, 127, 120, 127, 123, 126, 81, 14, 97, 102,
+  112, 108, 97, 64, 63, 61, 61, 67, 49, 29, 80, 68, 56, 49, 56, 68,
+  48, 52, 49, 44, 40, 38, 44, 40, 51, 51, 51, 44, 42, 42, 40, 37,
+  34, 36, 33, 55, 48, 51, 49, 57, 55, 57, 51, 48, 38, 29, 22, 26,
+  24, 21, 21, 20, 20, 22, 20, 24, 22, 9, 33, 64, 77, 81, 84, 81,
+  85, 79, 79, 67, 56, 48, 76, 80, 60, 57, 59, 48, 48, 57, 55, 24,
+  9, 38, 53, 61, 40, 32, 40, 48, 32, 55, 48, 52, 45, 53, 95, 114,
+  108, 107, 108, 100, 99, 84, 95, 102, 48, 8, 59, 84, 77, 87, 85, 95,
+  96, 72, 87, 51, 28, 73, 104, 110, 110, 104, 103, 112, 99, 104, 85, 75,
+  64, 20, 71, 64, 72, 83, 96, 128, 107, 93, 53, 56, 46, 61, 85, 81,
+  76, 55, 61, 61, 64, 55, 53, 44, 40, 34, 37, 34, 32, 30, 28, 28,
+  26, 25, 28, 22, 25, 16, 68, 95, 104, 83, 72, 80, 99, 80, 79, 96,
+  45, 18, 77, 89, 88, 84, 83, 77, 104, 65, 63, 60, 28, 8, 51, 63,
+  48, 64, 45, 53, 34, 37, 38, 51, 28, 21, 48, 72, 80, 77, 65, 56,
+  55, 68, 40, 30, 13, 59, 60, 46, 42, 44, 38, 48, 37, 37, 25, 32,
+  34, 13, 63, 83, 61, 79, 65, 71, 72, 51, 41, 41, 40, 33, 37, 36,
+  21, 28, 28, 28, 28, 26, 29, 28, 24, 29, 32, 33, 33, 30, 32, 33,
+  38, 34, 52, 48, 33, 12, 53, 65, 57, 51, 53, 30, 38, 29, 25, 32,
+  21, 59, 88, 106, 186, 181, 175, 144, 103, 96, 93, 112, 64, 45, 33, 55,
+  60, 61, 55, 55, 71, 147, 213, 220, 228, 208, 134, 131, 136, 143, 150, 146,
+  138, 72, 9, 5, 4, 1, 2, 22, 34, 26, 77, 162, 157, 167, 165, 162,
+  155, 157, 128, 88, 38, 110, 171, 174, 170, 175, 166, 163, 165, 163, 147, 120,
+  97, 143, 155, 159, 154, 150, 146, 151, 136, 143, 139, 96, 61, 107, 128, 132,
+  131, 127, 127, 127, 118, 110, 119, 67, 48, 97, 143, 146, 148, 148, 132, 131,
+  138, 132, 120, 89, 71, 118, 118, 123, 114, 115, 127, 124, 116, 114, 118, 97,
+  67, 96, 115, 131, 124, 106, 134, 122, 132, 123, 111, 103, 77, 25, 67, 110,
+  103, 97, 95, 95, 92, 102, 72, 69, 17, 97, 115, 143, 138, 139, 144, 115,
+  120, 106, 92, 63, 13, 95, 116, 131, 127, 119, 118, 120, 115, 111, 104, 52,
+  21, 100, 102, 104, 104, 79, 96, 120, 110, 102, 85, 12, 118, 120, 110, 103,
+  89, 75, 79, 99, 103, 97, 91, 56, 20, 99, 110, 115, 114, 104, 95, 96,
+  91, 91, 102, 103, 91, 146, 159, 148, 130, 106, 87, 77, 69, 61, 53, 55,
+  45, 37, 48, 52, 79, 79, 100, 118, 112, 123, 195, 198, 210, 183, 135, 104,
+  122, 127, 118, 126, 136, 158, 174, 198, 210, 221, 225, 226, 225, 224, 221, 220,
+  221, 218, 213, 213, 208, 210, 181, 127, 71, 61, 59, 61, 65, 61, 69, 76,
+  51, 10, 99, 146, 120, 106, 132, 114, 132, 116, 99, 71, 100, 139, 138, 127,
+  132, 124, 138, 132, 118, 116, 122, 97, 18, 103, 102, 114, 111, 110, 87, 83,
+  63, 75, 65, 67, 49, 72, 89, 87, 68, 67, 59, 65, 63, 60, 59, 59,
+  40, 33, 49, 51, 55, 60, 52, 56, 57, 57, 59, 57, 49, 45, 53, 64,
+  60, 63, 57, 59, 57, 57, 56, 37, 59, 63, 64, 63, 56, 56, 34, 32,
+  30, 28, 28, 24, 10, 41, 71, 85, 85, 83, 85, 85, 89, 83, 75, 63,
+  53, 71, 89, 68, 80, 77, 77, 61, 52, 60, 53, 13, 64, 65, 67, 64,
+  64, 59, 55, 52, 51, 46, 49, 51, 44, 85, 107, 111, 104, 106, 95, 95,
+  85, 95, 77, 64, 12, 76, 81, 95, 80, 77, 81, 84, 88, 84, 57, 37,
+  91, 106, 103, 104, 106, 112, 115, 112, 110, 99, 83, 60, 20, 71, 67, 83,
+  69, 84, 99, 119, 107, 56, 57, 46, 67, 91, 77, 75, 73, 75, 71, 73,
+  75, 71, 53, 52, 41, 57, 59, 56, 53, 53, 44, 40, 46, 46, 32, 22,
+  56, 87, 93, 81, 83, 76, 87, 79, 84, 81, 106, 53, 21, 88, 89, 87,
+  100, 79, 81, 75, 79, 60, 63, 28, 6, 53, 69, 56, 88, 59, 60, 63,
+  53, 44, 49, 28, 18, 63, 80, 80, 57, 51, 51, 52, 67, 41, 25, 5,
+  48, 60, 49, 52, 42, 41, 32, 37, 36, 33, 34, 37, 21, 71, 85, 80,
+  60, 68, 65, 76, 61, 63, 40, 37, 18, 14, 32, 28, 32, 29, 30, 24,
+  26, 29, 20, 17, 26, 46, 51, 51, 52, 29, 25, 25, 30, 38, 45, 37,
+  17, 57, 60, 57, 51, 44, 33, 36, 32, 28, 24, 22, 60, 88, 110, 186,
+  182, 146, 112, 99, 89, 107, 104, 80, 44, 36, 44, 65, 56, 48, 61, 102,
+  189, 217, 224, 228, 187, 127, 130, 135, 148, 146, 140, 116, 20, 5, 5, 4,
+  1, 4, 12, 40, 21, 49, 181, 162, 162, 161, 155, 159, 155, 153, 79, 5,
+  122, 174, 171, 170, 174, 169, 165, 162, 165, 135, 118, 93, 142, 155, 146, 153,
+  150, 157, 165, 157, 148, 144, 114, 71, 120, 138, 140, 124, 139, 135, 135, 124,
+  108, 106, 69, 45, 120, 147, 147, 151, 140, 130, 143, 136, 138, 119, 111, 79,
+  116, 126, 114, 135, 124, 114, 115, 127, 124, 127, 104, 69, 103, 128, 131, 130,
+  107, 118, 119, 127, 123, 119, 107, 79, 8, 71, 97, 108, 100, 95, 93, 97,
+  100, 72, 69, 20, 88, 116, 138, 132, 127, 131, 130, 115, 111, 96, 60, 28,
+  108, 126, 130, 127, 130, 122, 132, 131, 119, 107, 71, 20, 104, 104, 108, 96,
+  104, 100, 111, 108, 100, 85, 10, 118, 104, 97, 92, 102, 87, 91, 114, 116,
+  103, 91, 55, 36, 102, 110, 124, 124, 123, 102, 103, 107, 102, 92, 92, 83,
+  136, 157, 154, 132, 132, 123, 95, 91, 71, 64, 48, 33, 42, 71, 80, 81,
+  100, 96, 118, 116, 122, 178, 206, 208, 179, 122, 96, 114, 183, 187, 193, 201,
+  205, 212, 220, 221, 221, 221, 214, 209, 194, 193, 193, 181, 171, 161, 162, 166,
+  182, 199, 199, 161, 87, 67, 57, 60, 61, 64, 67, 42, 9, 118, 154, 128,
+  115, 110, 119, 107, 114, 111, 63, 102, 132, 135, 122, 122, 122, 123, 124, 122,
+  119, 116, 96, 20, 102, 95, 112, 107, 111, 107, 99, 81, 73, 64, 55, 52,
+  80, 88, 79, 81, 81, 64, 81, 85, 87, 75, 53, 38, 44, 79, 95, 91,
+  59, 59, 60, 64, 65, 65, 68, 37, 51, 87, 83, 84, 83, 65, 64, 67,
+  63, 63, 42, 59, 72, 69, 73, 65, 65, 56, 52, 51, 48, 45, 25, 8,
+  64, 72, 87, 93, 97, 95, 85, 73, 91, 79, 68, 44, 71, 73, 91, 75,
+  73, 80, 76, 67, 67, 57, 6, 72, 69, 53, 75, 72, 42, 48, 72, 64,
+  68, 53, 51, 37, 83, 110, 112, 96, 95, 89, 87, 97, 76, 83, 64, 2,
+  76, 83, 102, 83, 73, 71, 75, 83, 96, 60, 38, 97, 110, 116, 114, 107,
+  100, 102, 112, 115, 104, 89, 61, 20, 69, 63, 69, 63, 85, 99, 96, 81,
+  57, 59, 52, 69, 88, 85, 79, 76, 75, 76, 72, 71, 73, 73, 53, 44,
+  60, 63, 63, 60, 59, 57, 56, 56, 55, 34, 16, 77, 67, 88, 72, 80,
+  80, 84, 84, 77, 80, 92, 57, 22, 89, 89, 95, 99, 100, 99, 75, 81,
+  63, 63, 30, 6, 46, 71, 67, 68, 65, 57, 53, 59, 59, 51, 29, 24,
+  71, 81, 79, 46, 48, 60, 60, 63, 38, 28, 5, 72, 53, 53, 40, 41,
+  41, 44, 42, 45, 45, 36, 40, 18, 59, 97, 77, 72, 65, 76, 57, 65,
+  59, 55, 44, 13, 20, 29, 42, 38, 28, 29, 29, 32, 34, 24, 18, 49,
+  48, 53, 51, 40, 52, 49, 51, 37, 42, 38, 37, 21, 56, 61, 53, 49,
+  44, 32, 25, 29, 29, 26, 22, 51, 85, 91, 183, 178, 130, 103, 100, 99,
+  120, 118, 80, 32, 36, 44, 59, 57, 53, 79, 163, 204, 208, 224, 220, 148,
+  124, 130, 142, 143, 138, 126, 49, 6, 4, 4, 2, 1, 4, 20, 34, 25,
+  17, 178, 166, 161, 161, 165, 161, 159, 147, 76, 6, 132, 170, 166, 174, 169,
+  171, 169, 167, 157, 132, 112, 89, 136, 140, 155, 154, 161, 155, 150, 153, 154,
+  142, 134, 80, 122, 130, 136, 132, 126, 131, 130, 126, 119, 108, 68, 83, 135,
+  146, 146, 134, 140, 123, 128, 135, 128, 123, 122, 83, 103, 127, 123, 108, 111,
+  123, 126, 135, 122, 123, 119, 72, 106, 130, 128, 116, 110, 124, 128, 128, 126,
+  126, 111, 77, 13, 77, 108, 110, 99, 111, 100, 99, 97, 75, 73, 26, 81,
+  122, 131, 134, 136, 136, 136, 131, 116, 97, 60, 28, 100, 112, 118, 126, 134,
+  135, 135, 134, 128, 108, 64, 46, 107, 104, 108, 103, 123, 118, 122, 104, 96,
+  72, 9, 123, 118, 107, 102, 108, 124, 126, 126, 124, 118, 96, 55, 18, 107,
+  120, 130, 127, 127, 127, 128, 130, 108, 107, 108, 79, 124, 153, 151, 143, 128,
+  131, 116, 111, 83, 96, 52, 30, 59, 75, 100, 103, 104, 96, 136, 118, 131,
+  144, 191, 204, 175, 118, 106, 112, 151, 185, 194, 197, 204, 206, 206, 209, 201,
+  195, 186, 167, 150, 144, 144, 147, 139, 142, 138, 144, 147, 144, 155, 181, 173,
+  96, 57, 60, 64, 63, 67, 63, 29, 128, 132, 132, 115, 111, 118, 107, 111,
+  102, 64, 96, 136, 131, 123, 128, 120, 122, 114, 128, 127, 115, 92, 20, 97,
+  92, 118, 122, 114, 100, 87, 73, 75, 68, 55, 29, 76, 99, 83, 89, 77,
+  80, 92, 93, 95, 84, 55, 37, 64, 95, 95, 103, 100, 75, 76, 73, 67,
+  77, 63, 36, 81, 85, 91, 89, 91, 84, 71, 68, 69, 67, 45, 71, 73,
+  81, 77, 77, 73, 65, 57, 57, 52, 48, 25, 6, 69, 84, 89, 75, 85,
+  93, 95, 73, 83, 81, 68, 37, 72, 76, 88, 83, 89, 93, 76, 83, 67,
+  60, 6, 80, 72, 65, 69, 67, 73, 71, 76, 73, 75, 68, 52, 55, 85,
+  116, 96, 97, 93, 102, 89, 89, 97, 77, 68, 4, 85, 84, 80, 79, 99,
+  95, 100, 89, 81, 63, 36, 92, 104, 112, 120, 118, 111, 110, 111, 104, 110,
+  89, 61, 20, 68, 68, 71, 69, 96, 55, 60, 63, 56, 61, 51, 71, 87,
+  85, 88, 71, 85, 80, 79, 73, 76, 73, 63, 44, 55, 64, 73, 72, 72,
+  68, 67, 65, 56, 36, 16, 69, 96, 89, 77, 84, 93, 91, 89, 77, 73,
+  92, 51, 26, 87, 93, 84, 83, 84, 83, 84, 80, 61, 63, 33, 9, 57,
+  79, 52, 61, 49, 73, 63, 69, 61, 46, 28, 30, 68, 85, 60, 55, 49,
+  64, 65, 63, 37, 25, 5, 68, 73, 53, 51, 45, 48, 49, 51, 51, 46,
+  38, 41, 22, 61, 85, 92, 71, 67, 60, 49, 55, 53, 52, 41, 9, 32,
+  53, 55, 46, 42, 40, 44, 48, 36, 25, 14, 48, 46, 49, 42, 48, 53,
+  41, 52, 45, 46, 38, 28, 21, 55, 72, 41, 45, 37, 33, 28, 29, 28,
+  25, 20, 52, 73, 85, 131, 173, 142, 108, 103, 106, 130, 118, 60, 51, 40,
+  48, 53, 48, 76, 138, 201, 208, 212, 221, 194, 126, 124, 131, 146, 139, 130,
+  81, 12, 4, 8, 4, 2, 1, 2, 21, 34, 38, 18, 162, 163, 165, 174,
+  171, 166, 157, 150, 80, 9, 154, 171, 170, 171, 171, 171, 165, 165, 144, 130,
+  112, 81, 130, 154, 167, 165, 162, 159, 153, 151, 148, 143, 135, 87, 85, 119,
+  128, 123, 131, 131, 126, 123, 124, 107, 65, 92, 143, 144, 130, 130, 130, 138,
+  138, 135, 134, 115, 119, 83, 102, 135, 126, 123, 110, 128, 104, 120, 103, 96,
+  123, 77, 108, 132, 131, 115, 122, 134, 132, 118, 112, 127, 111, 75, 9, 81,
+  103, 115, 102, 102, 107, 99, 93, 81, 77, 20, 75, 124, 132, 128, 130, 128,
+  124, 134, 116, 99, 65, 25, 73, 127, 116, 132, 135, 138, 138, 138, 128, 126,
+  61, 18, 104, 112, 111, 112, 107, 115, 110, 110, 110, 61, 4, 120, 116, 97,
+  115, 108, 102, 95, 108, 99, 119, 92, 52, 16, 108, 110, 118, 124, 119, 128,
+  132, 138, 110, 108, 108, 89, 103, 148, 150, 142, 128, 134, 119, 118, 112, 99,
+  63, 32, 72, 97, 106, 102, 100, 99, 135, 123, 136, 122, 171, 209, 178, 110,
+  103, 106, 120, 131, 158, 167, 177, 178, 181, 174, 159, 143, 135, 140, 142, 143,
+  146, 157, 158, 163, 147, 140, 135, 130, 136, 136, 173, 153, 93, 53, 63, 60,
+  60, 59, 14, 103, 128, 127, 96, 112, 122, 114, 114, 96, 65, 99, 134, 136,
+  130, 122, 127, 123, 122, 131, 126, 116, 89, 25, 92, 97, 99, 104, 107, 107,
+  89, 72, 77, 73, 60, 29, 55, 91, 93, 92, 103, 104, 119, 118, 115, 89,
+  60, 16, 68, 96, 96, 103, 91, 84, 89, 108, 100, 80, 67, 34, 83, 87,
+  95, 87, 84, 88, 84, 84, 71, 67, 49, 69, 80, 81, 80, 76, 77, 73,
+  67, 61, 57, 46, 28, 6, 71, 88, 69, 73, 81, 102, 88, 84, 88, 77,
+  68, 40, 83, 81, 88, 80, 87, 83, 85, 87, 71, 46, 8, 79, 79, 95,
+  77, 76, 79, 89, 77, 75, 73, 81, 60, 42, 68, 104, 114, 115, 108, 103,
+  110, 115, 92, 85, 46, 1, 69, 88, 87, 96, 106, 95, 95, 93, 80, 64,
+  34, 73, 107, 107, 111, 108, 111, 112, 111, 118, 114, 106, 63, 21, 67, 60,
+  73, 88, 65, 83, 67, 68, 53, 63, 55, 71, 77, 95, 93, 76, 79, 88,
+  89, 83, 85, 79, 72, 48, 57, 75, 60, 69, 76, 75, 72, 71, 59, 38,
+  18, 87, 95, 91, 97, 87, 87, 84, 77, 77, 81, 95, 51, 33, 53, 92,
+  84, 77, 83, 81, 79, 75, 61, 59, 32, 9, 59, 73, 65, 61, 68, 67,
+  69, 59, 53, 41, 32, 24, 69, 80, 63, 46, 61, 55, 61, 60, 38, 29,
+  4, 64, 60, 57, 53, 68, 68, 75, 73, 69, 53, 41, 42, 24, 57, 91,
+  97, 96, 77, 77, 51, 51, 53, 46, 33, 22, 45, 48, 40, 46, 55, 55,
+  53, 44, 34, 25, 14, 53, 48, 46, 32, 55, 52, 48, 51, 44, 46, 42,
+  34, 13, 53, 68, 48, 41, 32, 33, 30, 41, 24, 29, 18, 42, 60, 79,
+  102, 135, 167, 112, 103, 130, 139, 100, 52, 51, 60, 48, 57, 77, 135, 187,
+  208, 209, 221, 210, 151, 120, 130, 140, 138, 126, 97, 18, 5, 5, 5, 5,
+  2, 1, 1, 14, 33, 5, 28, 158, 159, 157, 154, 157, 155, 154, 138, 71,
+  12, 116, 171, 169, 169, 169, 171, 171, 158, 134, 126, 112, 72, 150, 147, 158,
+  148, 157, 148, 146, 142, 138, 138, 132, 130, 91, 96, 108, 107, 124, 130, 134,
+  119, 123, 116, 60, 93, 142, 146, 124, 134, 135, 136, 131, 135, 122, 143, 106,
+  88, 100, 135, 126, 128, 119, 130, 114, 111, 107, 123, 96, 84, 112, 134, 127,
+  139, 111, 114, 132, 128, 130, 115, 110, 84, 21, 68, 107, 110, 112, 104, 108,
+  103, 103, 83, 81, 26, 119, 127, 128, 139, 127, 122, 123, 124, 120, 96, 64,
+  8, 108, 130, 119, 130, 134, 132, 140, 134, 128, 120, 83, 20, 114, 122, 120,
+  110, 118, 115, 118, 123, 99, 93, 9, 118, 134, 123, 130, 122, 123, 124, 119,
+  114, 118, 95, 52, 13, 119, 118, 122, 135, 126, 116, 114, 130, 127, 108, 111,
+  91, 96, 143, 147, 142, 142, 134, 128, 127, 118, 107, 68, 32, 80, 100, 106,
+  108, 116, 132, 119, 136, 114, 140, 126, 201, 191, 123, 111, 107, 115, 119, 127,
+  132, 134, 139, 134, 132, 126, 118, 115, 115, 118, 132, 143, 153, 157, 158, 159,
+  144, 142, 142, 140, 130, 139, 170, 100, 53, 59, 60, 63, 51, 14, 102, 140,
+  128, 116, 114, 116, 115, 118, 95, 52, 96, 130, 142, 139, 134, 132, 132, 132,
+  135, 122, 114, 95, 34, 93, 99, 107, 100, 91, 84, 81, 65, 76, 79, 52,
+  64, 76, 106, 116, 102, 107, 103, 116, 99, 92, 89, 55, 16, 76, 100, 106,
+  95, 97, 97, 96, 99, 97, 75, 69, 30, 97, 87, 96, 83, 91, 85, 88,
+  89, 89, 71, 49, 67, 75, 73, 75, 73, 76, 69, 68, 65, 65, 48, 30,
+  9, 73, 89, 87, 67, 89, 73, 72, 79, 79, 76, 65, 44, 79, 91, 91,
+  83, 80, 81, 87, 87, 67, 64, 22, 80, 80, 80, 93, 83, 81, 81, 87,
+  87, 88, 87, 76, 51, 68, 91, 99, 102, 99, 83, 91, 85, 85, 80, 69,
+  8, 72, 91, 89, 92, 93, 89, 83, 80, 81, 75, 55, 52, 95, 103, 103,
+  103, 102, 104, 104, 103, 103, 95, 68, 21, 65, 67, 56, 64, 55, 69, 64,
+  63, 63, 72, 64, 55, 79, 71, 73, 69, 75, 72, 75, 73, 77, 75, 75,
+  69, 55, 61, 61, 55, 63, 67, 65, 72, 63, 44, 16, 76, 95, 85, 79,
+  79, 83, 77, 79, 85, 93, 96, 60, 28, 38, 87, 95, 88, 95, 84, 79,
+  57, 59, 49, 32, 9, 55, 71, 73, 81, 71, 76, 69, 65, 63, 38, 32,
+  28, 69, 93, 72, 45, 48, 63, 64, 75, 42, 24, 5, 45, 68, 57, 60,
+  61, 53, 49, 53, 57, 64, 42, 44, 24, 55, 80, 92, 85, 71, 71, 42,
+  51, 52, 49, 29, 18, 52, 46, 51, 44, 41, 37, 40, 42, 34, 21, 14,
+  55, 44, 48, 52, 52, 48, 49, 48, 45, 46, 48, 36, 10, 52, 59, 41,
+  29, 38, 32, 29, 24, 26, 20, 20, 45, 49, 42, 65, 81, 157, 144, 103,
+  114, 135, 127, 61, 49, 56, 72, 111, 150, 186, 198, 202, 217, 213, 165, 119,
+  124, 136, 134, 122, 87, 18, 6, 5, 6, 5, 5, 2, 1, 2, 21, 25,
+  57, 65, 139, 138, 138, 138, 136, 138, 131, 130, 67, 26, 79, 128, 173, 174,
+  151, 155, 134, 134, 132, 104, 99, 72, 142, 146, 144, 140, 143, 147, 142, 132,
+  126, 122, 124, 119, 124, 138, 134, 123, 110, 110, 110, 106, 111, 97, 59, 119,
+  140, 148, 127, 128, 118, 124, 120, 119, 114, 123, 122, 107, 92, 111, 114, 108,
+  116, 115, 127, 122, 122, 123, 123, 116, 111, 99, 104, 128, 123, 118, 114, 115,
+  112, 108, 103, 81, 9, 64, 107, 104, 102, 104, 102, 100, 102, 93, 77, 30,
+  83, 119, 119, 122, 120, 123, 120, 128, 122, 95, 59, 30, 112, 128, 123, 122,
+  122, 127, 115, 128, 123, 108, 72, 12, 108, 106, 124, 124, 120, 122, 126, 116,
+  96, 88, 9, 110, 120, 119, 118, 119, 118, 116, 115, 114, 115, 89, 49, 29,
+  112, 116, 124, 119, 123, 118, 124, 114, 118, 119, 111, 97, 85, 120, 146, 138,
+  131, 124, 110, 115, 122, 106, 71, 30, 80, 103, 126, 122, 134, 146, 127, 150,
+  147, 135, 116, 144, 182, 134, 103, 106, 110, 118, 119, 115, 124, 123, 126, 120,
+  118, 115, 116, 120, 151, 155, 131, 150, 161, 157, 157, 165, 148, 147, 143, 144,
+  140, 166, 96, 46, 52, 57, 61, 44, 9, 92, 124, 127, 118, 111, 118, 115,
+  106, 95, 51, 96, 115, 132, 130, 124, 122, 119, 119, 116, 108, 104, 93, 29,
+  48, 84, 85, 61, 55, 75, 73, 49, 52, 60, 61, 67, 79, 99, 108, 99,
+  96, 93, 96, 93, 92, 91, 48, 30, 68, 95, 110, 104, 104, 110, 97, 102,
+  97, 77, 68, 33, 85, 83, 89, 84, 79, 77, 67, 64, 80, 76, 72, 71,
+  56, 59, 59, 59, 55, 53, 55, 57, 52, 51, 29, 6, 77, 95, 59, 60,
+  64, 60, 61, 61, 65, 69, 63, 61, 59, 64, 76, 76, 65, 65, 63, 64,
+  59, 67, 5, 79, 79, 80, 76, 76, 79, 81, 79, 79, 75, 79, 77, 72,
+  53, 52, 61, 65, 63, 61, 65, 65, 65, 69, 73, 5, 41, 85, 85, 83,
+  83, 80, 53, 51, 53, 59, 73, 73, 59, 73, 85, 79, 83, 80, 85, 91,
+  91, 81, 63, 21, 57, 51, 52, 57, 55, 56, 60, 63, 40, 38, 41, 69,
+  71, 73, 75, 76, 75, 76, 77, 79, 75, 77, 73, 73, 72, 77, 75, 76,
+  73, 60, 60, 71, 60, 46, 20, 85, 96, 81, 87, 92, 79, 93, 96, 84,
+  73, 71, 63, 32, 32, 83, 77, 85, 55, 53, 53, 42, 46, 42, 32, 9,
+  53, 63, 60, 42, 59, 59, 63, 49, 51, 42, 30, 25, 68, 81, 55, 56,
+  49, 60, 60, 76, 34, 26, 5, 67, 63, 60, 57, 55, 52, 52, 52, 49,
+  48, 46, 46, 26, 34, 52, 73, 67, 52, 41, 48, 44, 41, 49, 45, 18,
+  52, 48, 51, 42, 48, 42, 40, 37, 34, 24, 14, 48, 53, 49, 46, 48,
+  48, 46, 41, 42, 40, 36, 24, 13, 44, 56, 34, 21, 22, 25, 28, 26,
+  25, 21, 21, 33, 42, 41, 46, 67, 77, 171, 114, 110, 140, 134, 128, 124,
+  126, 153, 179, 182, 193, 195, 210, 206, 163, 116, 124, 131, 120, 111, 83, 22,
+  6, 6, 6, 5, 4, 5, 4, 1, 2, 12, 14, 12, 10, 81, 77, 75,
+  67, 60, 56, 49, 45, 36, 40, 40, 56, 65, 63, 80, 84, 95, 77, 97,
+  107, 84, 69, 106, 75, 99, 93, 65, 67, 85, 71, 60, 55, 68, 64, 77,
+  60, 76, 75, 99, 131, 134, 132, 95, 81, 56, 114, 123, 127, 118, 116, 110,
+  123, 118, 115, 126, 127, 120, 115, 119, 130, 135, 134, 130, 132, 128, 130, 128,
+  124, 122, 122, 119, 119, 75, 76, 53, 40, 37, 36, 33, 33, 28, 36, 10,
+  32, 32, 37, 41, 44, 55, 84, 99, 89, 76, 37, 10, 85, 112, 68, 83,
+  95, 114, 68, 91, 91, 48, 29, 60, 83, 68, 67, 84, 80, 69, 67, 84,
+  85, 38, 13, 63, 83, 61, 87, 77, 77, 59, 91, 75, 42, 10, 33, 80,
+  81, 80, 79, 87, 88, 83, 84, 88, 87, 45, 17, 85, 122, 118, 96, 92,
+  108, 111, 84, 95, 103, 115, 102, 107, 111, 104, 93, 107, 103, 103, 95, 92,
+  89, 69, 33, 76, 112, 112, 103, 100, 112, 112, 103, 106, 130, 136, 167, 182,
+  170, 115, 108, 103, 110, 106, 65, 56, 56, 57, 57, 56, 60, 60, 97, 116,
+  165, 124, 130, 154, 158, 161, 158, 155, 162, 148, 148, 142, 163, 102, 46, 46,
+  55, 44, 53, 18, 48, 75, 102, 128, 126, 120, 132, 97, 87, 55, 91, 100,
+  122, 122, 115, 95, 87, 83, 77, 77, 60, 48, 63, 69, 61, 65, 63, 61,
+  53, 55, 53, 53, 44, 45, 45, 55, 87, 85, 93, 100, 96, 104, 87, 97,
+  83, 32, 28, 63, 91, 87, 77, 88, 89, 85, 81, 85, 80, 68, 36, 87,
+  84, 72, 79, 77, 76, 76, 77, 73, 71, 69, 67, 71, 69, 67, 68, 67,
+  64, 61, 61, 60, 56, 53, 6, 49, 59, 53, 55, 56, 59, 57, 60, 61,
+  63, 61, 57, 63, 60, 61, 61, 59, 57, 56, 60, 53, 46, 5, 52, 60,
+  55, 59, 59, 63, 64, 64, 65, 67, 68, 68, 59, 67, 73, 68, 60, 73,
+  71, 63, 51, 75, 63, 48, 18, 52, 38, 33, 33, 36, 26, 32, 34, 29,
+  30, 34, 29, 46, 55, 46, 44, 64, 72, 65, 51, 71, 72, 44, 25, 51,
+  21, 22, 22, 21, 18, 18, 20, 20, 14, 14, 20, 14, 13, 13, 17, 16,
+  16, 17, 20, 21, 20, 21, 24, 28, 29, 32, 34, 40, 72, 69, 76, 60,
+  41, 17, 73, 93, 80, 89, 93, 88, 87, 75, 76, 63, 60, 48, 45, 28,
+  41, 40, 44, 48, 44, 33, 32, 28, 25, 34, 13, 24, 21, 21, 28, 29,
+  36, 48, 34, 30, 33, 29, 34, 46, 49, 45, 51, 41, 46, 48, 45, 34,
+  24, 5, 60, 57, 61, 60, 56, 55, 53, 52, 53, 52, 49, 49, 46, 48,
+  45, 45, 46, 45, 44, 45, 44, 44, 42, 38, 18, 46, 37, 41, 40, 38,
+  36, 28, 34, 36, 24, 13, 12, 13, 13, 16, 13, 13, 12, 14, 29, 26,
+  25, 18, 12, 38, 21, 16, 16, 18, 17, 13, 16, 14, 12, 30, 30, 13,
+  33, 33, 42, 49, 93, 132, 114, 126, 151, 153, 161, 169, 174, 181, 191, 194,
+  205, 199, 166, 120, 122, 119, 110, 97, 61, 18, 10, 8, 8, 4, 5, 5,
+  8, 4, 4, 0, 0, 0, 0, 0, 99, 88, 118, 123, 102, 92, 135, 134,
+  64, 13, 84, 131, 127, 95, 107, 99, 60, 53, 65, 61, 57, 69, 34, 36,
+  60, 71, 89, 102, 119, 122, 140, 151, 127, 108, 127, 143, 131, 122, 87, 76,
+  75, 68, 108, 93, 56, 88, 92, 73, 73, 61, 60, 49, 51, 51, 46, 51,
+  42, 37, 32, 26, 26, 24, 24, 25, 25, 24, 22, 26, 24, 21, 24, 37,
+  88, 112, 124, 124, 128, 131, 131, 127, 128, 89, 10, 120, 161, 161, 138, 88,
+  89, 76, 56, 55, 71, 57, 10, 1, 29, 20, 21, 1, 21, 12, 2, 2,
+  14, 32, 1, 0, 41, 22, 2, 1, 21, 16, 4, 6, 20, 17, 5, 4,
+  9, 30, 2, 1, 10, 2, 6, 0, 1, 9, 0, 0, 1, 4, 2, 2,
+  1, 2, 2, 4, 26, 8, 34, 29, 38, 37, 42, 51, 63, 85, 87, 95,
+  106, 79, 76, 69, 72, 65, 61, 60, 51, 46, 67, 57, 59, 36, 67, 72,
+  73, 81, 93, 93, 93, 118, 120, 142, 161, 163, 199, 190, 153, 114, 104, 106,
+  107, 48, 49, 49, 56, 53, 51, 57, 56, 73, 111, 158, 162, 127, 126, 151,
+  154, 157, 157, 163, 144, 146, 159, 153, 97, 42, 41, 45, 32, 10, 33, 45,
+  46, 55, 41, 41, 57, 61, 72, 96, 53, 83, 95, 89, 68, 64, 67, 64,
+  44, 45, 46, 34, 25, 14, 16, 16, 12, 9, 9, 8, 8, 5, 5, 5,
+  4, 2, 2, 1, 1, 0, 0, 0, 6, 8, 12, 12, 14, 16, 22, 26,
+  36, 33, 38, 49, 46, 61, 79, 83, 65, 37, 76, 64, 64, 53, 44, 44,
+  38, 33, 29, 29, 22, 16, 14, 20, 10, 9, 8, 21, 6, 5, 5, 24,
+  4, 2, 1, 2, 2, 0, 1, 4, 2, 2, 5, 8, 5, 6, 9, 12,
+  4, 6, 18, 20, 4, 8, 26, 28, 24, 6, 21, 21, 4, 2, 16, 4,
+  4, 12, 13, 1, 1, 0, 8, 2, 0, 5, 8, 0, 0, 0, 6, 0,
+  0, 17, 22, 29, 55, 84, 63, 71, 87, 99, 89, 73, 51, 34, 64, 92,
+  92, 76, 80, 36, 26, 25, 22, 25, 21, 16, 13, 40, 44, 38, 41, 53,
+  52, 52, 51, 65, 45, 5, 21, 95, 116, 76, 85, 97, 110, 85, 88, 87,
+  84, 81, 87, 97, 99, 85, 49, 36, 41, 41, 60, 41, 18, 45, 46, 46,
+  44, 48, 46, 46, 48, 48, 46, 52, 45, 44, 34, 21, 17, 24, 34, 18,
+  21, 52, 76, 84, 57, 13, 56, 75, 73, 37, 32, 28, 36, 22, 28, 18,
+  49, 30, 24, 18, 18, 25, 20, 30, 30, 34, 26, 26, 22, 17, 36, 37,
+  46, 33, 37, 36, 38, 36, 41, 42, 37, 36, 38, 40, 37, 37, 42, 38,
+  34, 34, 42, 36, 14, 25, 48, 38, 38, 30, 36, 38, 42, 52, 42, 37,
+  14, 56, 77, 77, 61, 75, 72, 69, 38, 30, 28, 14, 9, 5, 14, 30,
+  40, 38, 42, 37, 40, 29, 37, 26, 17, 38, 80, 102, 69, 67, 69, 59,
+  132, 154, 138, 148, 123, 126, 130, 144, 147, 155, 154, 157, 140, 128, 131, 107,
+  72, 55, 29, 12, 9, 9, 8, 6, 10, 12, 18, 18, 22, 2, 0, 18,
+  64, 64, 61, 178, 178, 174, 174, 166, 170, 165, 150, 124, 38, 87, 142, 130,
+  136, 138, 130, 130, 130, 112, 119, 85, 40, 79, 158, 173, 177, 177, 175, 174,
+  173, 169, 157, 165, 170, 167, 167, 165, 165, 162, 153, 143, 127, 104, 95, 53,
+  56, 63, 73, 79, 93, 103, 136, 115, 124, 108, 77, 79, 81, 148, 161, 150,
+  135, 167, 158, 135, 159, 147, 150, 140, 143, 140, 147, 166, 154, 139, 134, 139,
+  143, 139, 144, 135, 95, 16, 122, 162, 163, 159, 163, 163, 127, 147, 110, 73,
+  61, 88, 116, 122, 112, 108, 106, 100, 103, 97, 65, 53, 8, 36, 155, 158,
+  112, 119, 151, 151, 123, 128, 122, 63, 6, 30, 102, 126, 95, 95, 91, 91,
+  111, 97, 53, 29, 76, 97, 99, 87, 84, 84, 83, 79, 77, 73, 72, 37,
+  9, 123, 142, 139, 116, 139, 106, 56, 42, 40, 37, 33, 36, 40, 63, 84,
+  93, 96, 107, 108, 119, 120, 118, 100, 34, 116, 134, 132, 114, 143, 127, 130,
+  120, 123, 157, 162, 206, 205, 191, 179, 123, 108, 104, 116, 46, 48, 48, 49,
+  51, 41, 41, 61, 72, 110, 178, 178, 120, 127, 114, 132, 136, 135, 131, 157,
+  153, 143, 106, 83, 41, 40, 38, 38, 45, 45, 100, 114, 96, 97, 73, 61,
+  63, 57, 76, 40, 37, 45, 61, 64, 68, 59, 61, 60, 84, 80, 80, 84,
+  130, 132, 140, 131, 139, 134, 128, 139, 136, 132, 131, 120, 122, 123, 127, 135,
+  123, 127, 118, 93, 96, 89, 79, 33, 14, 92, 135, 143, 104, 100, 85, 79,
+  67, 72, 51, 57, 41, 46, 61, 61, 65, 51, 60, 65, 89, 60, 55, 60,
+  99, 131, 135, 112, 100, 122, 123, 107, 103, 122, 112, 26, 5, 61, 134, 96,
+  100, 97, 104, 103, 111, 119, 119, 115, 110, 116, 120, 135, 119, 119, 119, 120,
+  116, 114, 34, 12, 33, 108, 135, 103, 108, 111, 111, 110, 118, 119, 120, 119,
+  114, 124, 135, 130, 128, 126, 123, 119, 103, 116, 112, 38, 2, 64, 96, 115,
+  120, 115, 114, 115, 110, 114, 102, 67, 32, 69, 106, 97, 97, 93, 92, 95,
+  87, 83, 76, 37, 36, 91, 107, 106, 104, 102, 96, 68, 75, 88, 63, 53,
+  4, 103, 106, 92, 99, 95, 102, 93, 104, 92, 93, 87, 89, 59, 84, 99,
+  88, 76, 92, 88, 81, 71, 51, 20, 17, 14, 13, 13, 13, 12, 13, 12,
+  10, 12, 12, 12, 12, 20, 77, 93, 85, 79, 87, 76, 76, 85, 88, 67,
+  14, 67, 87, 76, 71, 61, 61, 53, 65, 69, 53, 20, 18, 73, 85, 84,
+  77, 72, 56, 33, 21, 22, 20, 9, 0, 0, 9, 5, 0, 0, 6, 4,
+  0, 0, 4, 2, 0, 2, 2, 2, 1, 9, 2, 2, 4, 14, 4, 5,
+  24, 46, 61, 91, 93, 95, 95, 92, 88, 49, 45, 14, 64, 79, 61, 64,
+  69, 63, 59, 59, 69, 59, 44, 21, 8, 53, 75, 84, 84, 77, 85, 76,
+  76, 38, 29, 17, 106, 115, 95, 103, 91, 103, 95, 104, 46, 65, 65, 91,
+  92, 102, 135, 136, 134, 128, 134, 132, 118, 85, 59, 24, 13, 13, 14, 13,
+  10, 8, 12, 18, 14, 22, 32, 10, 4, 4, 42, 68, 83, 84, 166, 170,
+  169, 174, 171, 174, 167, 167, 124, 38, 111, 142, 140, 135, 136, 136, 128, 144,
+  139, 122, 88, 32, 144, 169, 170, 144, 155, 153, 136, 155, 153, 153, 158, 115,
+  144, 158, 170, 173, 166, 169, 159, 155, 118, 120, 53, 110, 150, 143, 150, 144,
+  144, 139, 161, 174, 130, 120, 119, 93, 106, 157, 150, 138, 140, 157, 159, 169,
+  165, 150, 146, 148, 120, 120, 150, 151, 151, 154, 147, 143, 143, 138, 139, 112,
+  13, 135, 165, 155, 162, 161, 158, 157, 162, 131, 107, 64, 123, 128, 130, 130,
+  128, 126, 131, 135, 124, 96, 53, 24, 122, 162, 155, 151, 151, 151, 155, 155,
+  154, 140, 71, 1, 130, 143, 155, 144, 142, 142, 147, 140, 138, 100, 33, 119,
+  119, 118, 110, 111, 104, 102, 95, 95, 93, 92, 36, 9, 123, 142, 146, 146,
+  139, 135, 130, 136, 131, 122, 107, 116, 93, 106, 130, 128, 128, 128, 143, 147,
+  140, 131, 100, 37, 128, 150, 140, 150, 130, 139, 130, 127, 150, 166, 204, 204,
+  198, 201, 174, 115, 108, 110, 115, 48, 46, 42, 53, 51, 44, 64, 60, 80,
+  107, 189, 187, 126, 123, 130, 123, 100, 107, 104, 93, 89, 95, 87, 68, 37,
+  38, 37, 49, 42, 75, 128, 123, 126, 111, 114, 116, 107, 107, 76, 46, 63,
+  138, 144, 135, 131, 135, 142, 123, 139, 93, 127, 110, 96, 120, 118, 130, 124,
+  111, 122, 126, 112, 115, 120, 111, 115, 111, 81, 83, 99, 89, 81, 88, 84,
+  87, 79, 34, 14, 110, 151, 139, 132, 144, 143, 118, 131, 139, 103, 85, 42,
+  79, 128, 134, 132, 131, 124, 131, 134, 128, 142, 126, 92, 89, 95, 97, 97,
+  102, 107, 99, 112, 107, 118, 67, 8, 132, 128, 84, 99, 119, 116, 123, 99,
+  118, 127, 123, 112, 83, 88, 95, 88, 83, 93, 92, 88, 83, 40, 0, 119,
+  146, 138, 143, 139, 144, 139, 140, 135, 135, 138, 132, 108, 81, 103, 107, 107,
+  111, 111, 110, 99, 97, 99, 40, 24, 85, 110, 114, 97, 93, 100, 96, 97,
+  97, 108, 71, 40, 83, 106, 92, 97, 93, 104, 92, 77, 89, 77, 41, 30,
+  96, 99, 88, 106, 88, 99, 103, 93, 76, 61, 53, 8, 100, 102, 85, 84,
+  80, 93, 99, 99, 92, 99, 67, 48, 79, 100, 91, 87, 84, 83, 83, 85,
+  55, 57, 24, 29, 100, 111, 88, 80, 99, 108, 100, 97, 104, 95, 91, 84,
+  89, 92, 112, 112, 107, 103, 89, 81, 80, 84, 68, 17, 65, 85, 81, 79,
+  76, 76, 71, 53, 49, 26, 17, 59, 118, 116, 124, 112, 116, 106, 100, 93,
+  64, 34, 12, 65, 80, 88, 75, 87, 76, 83, 65, 77, 75, 73, 61, 61,
+  97, 87, 96, 89, 97, 99, 77, 87, 112, 88, 32, 25, 72, 95, 89, 87,
+  75, 75, 65, 75, 57, 38, 14, 63, 79, 79, 60, 64, 68, 68, 64, 60,
+  59, 59, 28, 9, 63, 77, 84, 79, 79, 79, 72, 52, 34, 24, 10, 114,
+  92, 102, 102, 100, 81, 135, 132, 63, 48, 38, 36, 41, 46, 60, 68, 59,
+  61, 59, 53, 36, 21, 14, 10, 13, 13, 13, 4, 5, 12, 21, 22, 16,
+  28, 12, 12, 4, 2, 38, 73, 55, 57, 161, 161, 165, 171, 174, 171, 169,
+  167, 118, 17, 79, 140, 143, 140, 136, 118, 143, 139, 142, 119, 88, 34, 155,
+  173, 155, 144, 162, 162, 173, 162, 151, 157, 151, 108, 140, 162, 151, 165, 142,
+  163, 163, 162, 150, 119, 56, 138, 153, 166, 143, 138, 134, 143, 136, 142, 134,
+  139, 128, 89, 153, 170, 165, 161, 158, 157, 155, 147, 151, 142, 140, 100, 143,
+  158, 142, 139, 138, 143, 143, 150, 135, 142, 123, 103, 13, 131, 154, 151, 162,
+  161, 159, 154, 155, 130, 110, 65, 122, 118, 130, 131, 131, 136, 139, 135, 124,
+  100, 55, 5, 159, 161, 147, 147, 147, 144, 144, 140, 139, 131, 75, 25, 138,
+  132, 140, 142, 144, 148, 147, 147, 126, 120, 40, 116, 103, 100, 85, 99, 95,
+  103, 92, 91, 89, 92, 41, 5, 124, 143, 142, 135, 128, 131, 140, 142, 131,
+  131, 96, 73, 126, 148, 151, 144, 140, 144, 144, 148, 142, 132, 110, 38, 127,
+  142, 151, 142, 161, 146, 126, 135, 150, 186, 205, 202, 199, 198, 142, 112, 110,
+  108, 106, 40, 41, 42, 49, 33, 53, 64, 56, 79, 111, 201, 194, 177, 123,
+  126, 147, 136, 135, 134, 131, 131, 112, 102, 67, 37, 36, 40, 48, 38, 79,
+  130, 119, 128, 124, 120, 116, 120, 104, 84, 42, 110, 131, 128, 132, 132, 128,
+  122, 118, 107, 132, 118, 88, 116, 138, 138, 132, 120, 123, 107, 112, 108, 123,
+  110, 103, 68, 99, 99, 87, 88, 88, 88, 95, 95, 96, 73, 42, 12, 102,
+  157, 142, 143, 135, 135, 144, 143, 147, 147, 95, 45, 107, 138, 140, 135, 143,
+  131, 136, 132, 123, 123, 89, 99, 126, 123, 122, 115, 108, 112, 119, 120, 114,
+  114, 84, 13, 130, 83, 132, 127, 93, 96, 126, 112, 103, 103, 111, 67, 91,
+  115, 123, 126, 118, 114, 118, 100, 99, 42, 18, 124, 144, 138, 124, 126, 130,
+  135, 132, 136, 131, 134, 111, 85, 120, 122, 119, 115, 115, 115, 104, 104, 103,
+  91, 52, 5, 81, 112, 107, 95, 97, 96, 108, 108, 104, 108, 69, 40, 85,
+  97, 84, 95, 80, 87, 80, 81, 99, 77, 38, 29, 89, 93, 91, 96, 92,
+  103, 100, 97, 77, 65, 49, 6, 65, 99, 88, 87, 79, 76, 89, 76, 93,
+  76, 63, 45, 77, 100, 95, 89, 84, 91, 87, 80, 63, 60, 24, 61, 112,
+  104, 104, 103, 106, 106, 104, 102, 92, 89, 87, 55, 91, 114, 99, 88, 95,
+  91, 88, 92, 80, 93, 61, 18, 63, 68, 92, 59, 55, 57, 42, 40, 40,
+  21, 14, 75, 119, 118, 103, 108, 107, 118, 112, 111, 83, 51, 17, 60, 65,
+  45, 65, 81, 95, 53, 46, 71, 53, 48, 60, 73, 73, 97, 110, 110, 106,
+  95, 93, 96, 106, 92, 56, 40, 76, 87, 72, 76, 76, 77, 76, 79, 49,
+  40, 13, 65, 79, 79, 56, 57, 67, 55, 65, 65, 65, 57, 26, 8, 67,
+  83, 75, 64, 68, 69, 65, 46, 30, 22, 9, 87, 104, 87, 112, 120, 104,
+  103, 53, 73, 63, 57, 34, 38, 26, 25, 30, 21, 25, 21, 22, 20, 17,
+  16, 12, 13, 8, 8, 14, 24, 24, 21, 18, 21, 29, 12, 5, 2, 0,
+  44, 67, 48, 12, 178, 177, 174, 161, 161, 173, 165, 150, 116, 13, 110, 142,
+  146, 148, 136, 136, 127, 138, 132, 100, 83, 34, 134, 167, 154, 158, 143, 162,
+  155, 163, 148, 159, 146, 102, 128, 162, 130, 151, 143, 169, 163, 155, 151, 131,
+  59, 134, 167, 143, 148, 142, 143, 146, 142, 139, 146, 146, 80, 42, 155, 169,
+  155, 167, 158, 157, 155, 161, 163, 138, 143, 92, 139, 155, 138, 139, 140, 138,
+  147, 146, 142, 136, 136, 97, 12, 130, 154, 151, 158, 155, 150, 130, 166, 158,
+  114, 79, 81, 123, 127, 131, 128, 115, 123, 126, 123, 55, 56, 5, 110, 161,
+  144, 147, 143, 151, 138, 150, 140, 135, 77, 4, 91, 147, 150, 136, 134, 138,
+  139, 157, 146, 85, 46, 76, 100, 107, 92, 100, 102, 93, 92, 99, 99, 81,
+  40, 5, 114, 139, 150, 130, 124, 126, 131, 127, 124, 103, 100, 77, 146, 154,
+  146, 161, 142, 147, 144, 146, 146, 132, 114, 42, 127, 142, 143, 123, 120, 131,
+  124, 142, 167, 212, 205, 204, 195, 146, 118, 107, 106, 118, 67, 42, 41, 42,
+  45, 57, 56, 65, 65, 95, 115, 202, 205, 190, 123, 126, 131, 146, 148, 151,
+  150, 146, 138, 118, 73, 36, 38, 37, 46, 34, 67, 124, 120, 126, 124, 135,
+  130, 123, 108, 91, 46, 112, 127, 128, 126, 130, 135, 120, 119, 110, 118, 112,
+  79, 112, 136, 116, 115, 130, 116, 118, 112, 111, 114, 119, 100, 64, 97, 114,
+  110, 103, 92, 83, 100, 80, 85, 71, 41, 12, 123, 146, 135, 136, 142, 143,
+  143, 142, 139, 128, 104, 52, 116, 139, 128, 127, 126, 126, 123, 126, 120, 97,
+  80, 108, 127, 112, 116, 118, 119, 116, 118, 118, 116, 120, 59, 12, 69, 124,
+  92, 119, 120, 115, 119, 123, 120, 114, 95, 63, 92, 116, 111, 104, 96, 103,
+  104, 112, 104, 40, 14, 95, 143, 135, 143, 134, 130, 134, 138, 135, 140, 123,
+  107, 85, 122, 127, 110, 115, 115, 112, 116, 116, 110, 84, 51, 2, 77, 114,
+  104, 91, 93, 96, 102, 96, 99, 99, 71, 48, 72, 108, 85, 83, 89, 83,
+  93, 85, 87, 68, 38, 28, 65, 92, 87, 84, 85, 93, 96, 99, 76, 65,
+  52, 0, 63, 106, 80, 91, 79, 80, 87, 73, 93, 69, 55, 34, 85, 100,
+  97, 92, 72, 79, 80, 89, 83, 73, 24, 84, 115, 102, 84, 89, 91, 97,
+  89, 100, 93, 84, 64, 52, 89, 111, 93, 96, 93, 89, 83, 81, 83, 89,
+  60, 24, 64, 73, 57, 59, 41, 45, 44, 44, 29, 20, 10, 61, 116, 115,
+  102, 108, 106, 106, 103, 119, 89, 56, 14, 59, 59, 91, 73, 81, 103, 51,
+  72, 75, 51, 63, 71, 52, 89, 110, 103, 102, 91, 99, 99, 99, 96, 91,
+  65, 28, 84, 80, 77, 61, 64, 59, 61, 76, 57, 41, 17, 61, 83, 87,
+  57, 53, 53, 59, 55, 52, 63, 41, 21, 5, 67, 73, 75, 53, 56, 48,
+  44, 41, 34, 25, 10, 93, 100, 100, 85, 96, 73, 110, 69, 72, 63, 60,
+  52, 40, 29, 25, 24, 22, 20, 18, 16, 17, 14, 14, 10, 9, 10, 18,
+  24, 25, 36, 18, 17, 20, 34, 14, 24, 2, 0, 41, 67, 37, 59, 163,
+  165, 163, 169, 159, 157, 167, 151, 126, 30, 110, 138, 142, 131, 138, 142, 134,
+  139, 128, 111, 89, 29, 131, 163, 162, 146, 165, 157, 157, 148, 148, 162, 138,
+  99, 146, 165, 159, 157, 161, 170, 162, 155, 159, 130, 69, 120, 155, 142, 144,
+  140, 140, 154, 147, 148, 143, 142, 95, 38, 155, 169, 163, 159, 154, 161, 146,
+  148, 150, 130, 134, 88, 136, 150, 139, 140, 140, 142, 134, 140, 147, 132, 131,
+  102, 16, 131, 154, 151, 169, 162, 150, 155, 161, 151, 120, 87, 107, 120, 126,
+  116, 115, 118, 120, 114, 122, 68, 52, 4, 108, 154, 144, 146, 151, 150, 150,
+  147, 146, 136, 75, 2, 93, 143, 142, 139, 136, 135, 136, 143, 131, 93, 48,
+  108, 104, 87, 92, 97, 104, 95, 92, 97, 104, 76, 41, 2, 124, 142, 146,
+  128, 132, 139, 142, 139, 118, 106, 75, 72, 144, 155, 144, 150, 138, 148, 150,
+  150, 142, 128, 108, 55, 116, 135, 144, 130, 119, 126, 114, 136, 195, 206, 205,
+  201, 153, 122, 107, 108, 115, 73, 53, 40, 41, 45, 44, 57, 59, 68, 69,
+  89, 115, 210, 208, 198, 123, 124, 131, 134, 142, 147, 148, 151, 143, 123, 75,
+  34, 34, 33, 49, 30, 72, 126, 118, 123, 123, 132, 131, 119, 122, 81, 46,
+  102, 130, 135, 142, 142, 144, 120, 114, 107, 119, 100, 75, 108, 136, 123, 122,
+  114, 124, 124, 122, 108, 127, 118, 96, 61, 107, 107, 102, 88, 84, 77, 80,
+  79, 83, 67, 34, 10, 123, 148, 148, 132, 151, 138, 134, 138, 131, 134, 103,
+  63, 103, 136, 123, 122, 118, 134, 119, 106, 116, 100, 71, 107, 131, 115, 115,
+  116, 114, 119, 114, 115, 119, 120, 60, 10, 85, 122, 126, 91, 93, 118, 111,
+  108, 108, 112, 96, 59, 88, 128, 119, 92, 112, 124, 112, 99, 99, 37, 0,
+  114, 138, 139, 136, 131, 134, 124, 127, 128, 130, 124, 100, 80, 120, 119, 106,
+  108, 112, 116, 115, 115, 100, 97, 51, 5, 84, 107, 99, 99, 92, 97, 87,
+  100, 100, 100, 77, 46, 77, 100, 80, 79, 91, 91, 89, 92, 91, 69, 42,
+  24, 81, 93, 81, 108, 91, 102, 100, 80, 77, 71, 46, 2, 95, 91, 81,
+  88, 75, 73, 81, 71, 100, 72, 55, 38, 79, 96, 106, 93, 96, 87, 77,
+  76, 79, 61, 29, 68, 114, 111, 106, 93, 93, 77, 83, 84, 88, 53, 49,
+  33, 85, 103, 85, 83, 80, 72, 80, 81, 91, 84, 60, 28, 57, 80, 55,
+  49, 48, 61, 46, 49, 28, 24, 9, 65, 119, 116, 100, 115, 107, 102, 100,
+  110, 80, 57, 14, 46, 55, 65, 80, 65, 65, 67, 75, 52, 67, 69, 69,
+  13, 87, 107, 92, 103, 107, 97, 110, 112, 110, 96, 60, 30, 76, 81, 67,
+  60, 61, 61, 75, 73, 81, 52, 17, 64, 71, 80, 57, 59, 61, 59, 55,
+  68, 60, 55, 29, 4, 59, 88, 71, 57, 48, 56, 46, 40, 36, 26, 10,
+  107, 111, 93, 96, 69, 71, 87, 72, 71, 57, 63, 61, 53, 26, 38, 26,
+  29, 28, 26, 20, 18, 20, 22, 13, 5, 8, 20, 29, 34, 32, 36, 26,
+  25, 24, 14, 9, 4, 6, 49, 61, 40, 30, 181, 178, 170, 167, 167, 163,
+  165, 167, 126, 24, 83, 140, 142, 127, 146, 135, 139, 123, 130, 104, 83, 28,
+  132, 171, 161, 163, 166, 153, 161, 159, 151, 161, 131, 100, 144, 153, 140, 143,
+  161, 163, 161, 153, 157, 128, 76, 126, 157, 155, 150, 134, 144, 153, 144, 139,
+  140, 143, 104, 69, 162, 173, 153, 163, 142, 155, 151, 150, 142, 138, 138, 87,
+  142, 144, 140, 142, 143, 132, 143, 146, 146, 131, 132, 106, 17, 132, 154, 154,
+  151, 162, 144, 151, 166, 138, 124, 76, 114, 134, 114, 115, 115, 112, 115, 102,
+  111, 83, 51, 20, 120, 159, 153, 147, 150, 158, 158, 151, 154, 136, 75, 1,
+  118, 143, 127, 140, 140, 134, 138, 138, 126, 108, 57, 110, 104, 95, 87, 99,
+  104, 92, 99, 93, 97, 77, 38, 4, 132, 143, 146, 136, 139, 132, 143, 147,
+  124, 104, 79, 91, 151, 150, 147, 142, 132, 148, 146, 135, 132, 130, 107, 56,
+  118, 138, 146, 130, 138, 115, 110, 135, 202, 208, 201, 161, 123, 104, 123, 71,
+  69, 56, 41, 41, 40, 46, 42, 45, 59, 64, 73, 102, 136, 209, 208, 199,
+  120, 120, 130, 131, 132, 138, 147, 150, 143, 119, 65, 33, 30, 32, 40, 37,
+  79, 124, 116, 122, 122, 135, 123, 126, 103, 91, 60, 100, 136, 128, 139, 131,
+  131, 135, 128, 107, 116, 100, 71, 111, 135, 131, 108, 134, 115, 116, 108, 124,
+  120, 114, 85, 65, 91, 106, 93, 87, 79, 76, 80, 79, 87, 61, 36, 9,
+  123, 148, 132, 132, 142, 150, 142, 132, 144, 136, 107, 64, 96, 139, 127, 119,
+  136, 126, 112, 118, 103, 88, 64, 108, 134, 115, 123, 127, 123, 128, 131, 120,
+  115, 118, 69, 18, 89, 118, 123, 96, 114, 119, 116, 110, 115, 108, 95, 55,
+  85, 116, 114, 107, 103, 103, 103, 100, 100, 41, 0, 110, 139, 139, 139, 135,
+  138, 132, 128, 128, 130, 122, 69, 89, 122, 112, 106, 116, 123, 118, 106, 97,
+  96, 92, 48, 30, 99, 108, 99, 95, 92, 104, 93, 104, 103, 103, 79, 55,
+  81, 107, 80, 75, 91, 93, 93, 84, 81, 68, 42, 22, 79, 89, 91, 100,
+  91, 99, 84, 80, 79, 72, 51, 14, 88, 88, 72, 80, 69, 72, 89, 68,
+  87, 72, 53, 37, 72, 97, 96, 99, 99, 91, 68, 77, 75, 63, 33, 57,
+  111, 103, 104, 85, 85, 88, 110, 88, 83, 56, 52, 53, 87, 102, 88, 83,
+  80, 93, 93, 87, 92, 87, 68, 29, 60, 73, 57, 46, 34, 42, 40, 57,
+  34, 20, 12, 76, 118, 114, 103, 115, 103, 103, 108, 111, 87, 57, 16, 64,
+  55, 63, 72, 57, 67, 79, 56, 49, 53, 64, 40, 10, 89, 107, 104, 110,
+  108, 100, 96, 99, 95, 95, 63, 34, 71, 85, 73, 55, 61, 57, 67, 72,
+  71, 52, 17, 56, 79, 73, 57, 59, 51, 57, 51, 49, 59, 51, 29, 5,
+  64, 76, 73, 56, 40, 46, 41, 32, 36, 24, 9, 107, 99, 99, 71, 83,
+  88, 55, 73, 60, 67, 63, 59, 51, 29, 42, 30, 30, 25, 26, 21, 29,
+  29, 25, 14, 5, 10, 20, 32, 25, 30, 33, 18, 24, 9, 21, 9, 4,
+  1, 36, 63, 24, 18, 167, 173, 177, 169, 169, 162, 166, 161, 123, 24, 87,
+  138, 142, 134, 134, 132, 132, 130, 134, 106, 84, 32, 119, 169, 151, 154, 157,
+  155, 161, 155, 154, 138, 128, 83, 144, 158, 157, 132, 161, 154, 154, 153, 151,
+  130, 79, 102, 148, 154, 153, 142, 148, 154, 146, 155, 151, 139, 123, 65, 165,
+  161, 163, 163, 151, 163, 144, 153, 132, 144, 132, 91, 138, 143, 139, 132, 136,
+  135, 147, 142, 144, 131, 118, 102, 17, 136, 146, 140, 155, 154, 150, 150, 155,
+  140, 127, 79, 102, 93, 126, 116, 104, 104, 123, 119, 89, 67, 52, 6, 114,
+  158, 144, 146, 158, 153, 143, 153, 154, 135, 79, 25, 127, 134, 132, 142, 139,
+  134, 138, 135, 131, 123, 64, 115, 122, 122, 91, 102, 110, 97, 97, 96, 106,
+  76, 40, 2, 131, 131, 148, 136, 138, 120, 142, 147, 126, 110, 75, 100, 158,
+  148, 140, 139, 138, 146, 139, 134, 120, 124, 115, 59, 112, 136, 136, 135, 111,
+  116, 119, 131, 198, 201, 174, 126, 108, 108, 69, 56, 42, 38, 37, 40, 38,
+  45, 34, 48, 59, 67, 89, 111, 177, 212, 209, 202, 122, 122, 130, 131, 132,
+  136, 146, 147, 140, 116, 46, 33, 32, 20, 40, 37, 79, 123, 114, 123, 123,
+  131, 123, 124, 103, 84, 53, 108, 124, 131, 131, 124, 119, 120, 118, 114, 110,
+  87, 65, 110, 134, 135, 116, 120, 110, 124, 123, 126, 118, 107, 85, 61, 96,
+  104, 95, 92, 95, 96, 93, 88, 87, 52, 36, 8, 97, 147, 134, 132, 120,
+  144, 151, 139, 136, 136, 106, 69, 97, 135, 122, 130, 126, 134, 111, 114, 106,
+  85, 65, 118, 135, 120, 120, 131, 126, 127, 122, 120, 116, 108, 84, 22, 103,
+  116, 122, 99, 112, 118, 112, 112, 110, 107, 91, 49, 80, 119, 114, 119, 103,
+  107, 114, 104, 99, 42, 12, 111, 138, 146, 120, 118, 134, 131, 130, 122, 124,
+  119, 61, 88, 127, 115, 110, 115, 128, 122, 111, 103, 88, 85, 53, 6, 92,
+  108, 95, 93, 91, 102, 99, 103, 100, 103, 83, 48, 73, 104, 85, 106, 75,
+  69, 84, 91, 81, 67, 40, 20, 81, 84, 77, 104, 89, 83, 83, 79, 80,
+  72, 49, 13, 55, 79, 75, 67, 72, 69, 96, 67, 83, 69, 51, 30, 77,
+  95, 106, 96, 104, 99, 88, 73, 72, 59, 33, 64, 107, 103, 99, 73, 88,
+  81, 91, 84, 65, 60, 53, 48, 89, 96, 81, 87, 88, 76, 71, 79, 75,
+  77, 65, 28, 56, 71, 63, 46, 44, 34, 34, 33, 36, 17, 10, 79, 112,
+  114, 100, 106, 110, 103, 104, 115, 73, 56, 18, 59, 45, 63, 60, 61, 53,
+  61, 57, 55, 56, 36, 55, 29, 89, 104, 104, 116, 93, 99, 104, 102, 100,
+  92, 63, 37, 71, 77, 65, 51, 65, 72, 63, 71, 42, 46, 18, 42, 49,
+  75, 51, 56, 59, 60, 51, 51, 55, 51, 28, 2, 63, 75, 71, 51, 51,
+  44, 59, 33, 46, 24, 8, 64, 107, 85, 88, 84, 79, 65, 72, 72, 68,
+  65, 68, 51, 30, 36, 32, 24, 36, 33, 32, 22, 24, 20, 20, 8, 17,
+  25, 37, 41, 36, 29, 24, 12, 14, 14, 6, 5, 1, 49, 38, 49, 20,
+  155, 177, 177, 163, 167, 166, 163, 147, 120, 12, 89, 139, 142, 136, 136, 136,
+  143, 140, 128, 96, 84, 28, 118, 159, 153, 167, 158, 159, 153, 139, 154, 140,
+  130, 69, 122, 166, 139, 126, 157, 157, 148, 151, 153, 131, 87, 103, 151, 144,
+  155, 134, 148, 147, 147, 155, 147, 138, 89, 21, 165, 167, 157, 154, 161, 151,
+  157, 158, 146, 131, 135, 84, 135, 139, 132, 135, 132, 135, 144, 142, 136, 134,
+  127, 100, 16, 135, 146, 154, 158, 151, 140, 147, 146, 151, 128, 102, 83, 102,
+  130, 122, 115, 128, 100, 111, 92, 51, 52, 2, 106, 157, 154, 147, 151, 157,
+  147, 154, 146, 123, 79, 5, 87, 132, 130, 143, 138, 140, 123, 135, 144, 104,
+  71, 65, 108, 103, 83, 97, 106, 97, 97, 102, 99, 72, 38, 0, 130, 135,
+  144, 138, 135, 143, 143, 142, 123, 107, 77, 104, 157, 139, 148, 148, 143, 143,
+  143, 151, 147, 119, 114, 61, 111, 135, 142, 139, 134, 124, 110, 126, 190, 208,
+  171, 116, 93, 107, 63, 55, 41, 37, 42, 38, 38, 48, 40, 69, 60, 63,
+  92, 122, 190, 220, 212, 205, 123, 122, 128, 132, 136, 142, 144, 146, 132, 95,
+  34, 30, 30, 28, 42, 36, 77, 118, 114, 123, 124, 120, 126, 119, 85, 92,
+  52, 99, 122, 123, 122, 120, 123, 131, 119, 112, 116, 100, 59, 114, 127, 143,
+  122, 116, 119, 120, 120, 123, 107, 103, 63, 80, 89, 96, 92, 89, 87, 91,
+  80, 84, 85, 61, 41, 6, 131, 148, 134, 127, 123, 127, 130, 134, 128, 124,
+  116, 81, 100, 138, 123, 135, 126, 126, 100, 115, 88, 88, 60, 111, 130, 116,
+  119, 124, 134, 119, 122, 118, 115, 104, 65, 20, 63, 91, 118, 111, 122, 111,
+  111, 120, 110, 100, 80, 46, 71, 107, 111, 123, 119, 116, 102, 103, 106, 41,
+  8, 100, 140, 140, 134, 131, 126, 130, 126, 126, 130, 100, 55, 96, 120, 116,
+  102, 115, 130, 114, 107, 96, 92, 77, 59, 5, 77, 110, 93, 84, 95, 93,
+  92, 102, 97, 96, 77, 63, 68, 97, 83, 83, 100, 68, 69, 72, 72, 67,
+  36, 18, 72, 77, 76, 97, 97, 95, 85, 79, 85, 72, 52, 12, 63, 87,
+  69, 64, 65, 65, 76, 77, 65, 68, 45, 24, 72, 91, 100, 91, 97, 93,
+  91, 71, 72, 60, 34, 52, 96, 95, 123, 85, 93, 68, 63, 69, 51, 48,
+  53, 38, 89, 93, 80, 75, 88, 76, 77, 72, 75, 71, 64, 29, 51, 71,
+  63, 56, 48, 37, 49, 42, 33, 18, 9, 80, 111, 107, 110, 112, 107, 93,
+  107, 118, 80, 56, 14, 60, 48, 79, 55, 45, 46, 77, 60, 51, 44, 38,
+  64, 33, 93, 103, 107, 102, 102, 97, 97, 92, 96, 95, 84, 38, 46, 80,
+  71, 64, 64, 64, 51, 46, 52, 44, 21, 32, 64, 73, 57, 51, 48, 49,
+  53, 56, 52, 38, 20, 1, 52, 63, 67, 51, 60, 41, 44, 34, 34, 24,
+  6, 96, 102, 83, 91, 85, 87, 72, 75, 76, 67, 64, 64, 53, 30, 51,
+  37, 24, 24, 21, 17, 25, 21, 25, 17, 8, 20, 33, 32, 18, 16, 14,
+  14, 12, 24, 17, 9, 5, 0, 22, 57, 21, 24, 157, 169, 181, 177, 163,
+  158, 166, 150, 124, 17, 79, 135, 140, 146, 146, 140, 134, 131, 128, 91, 79,
+  32, 118, 136, 166, 155, 169, 155, 154, 153, 155, 157, 126, 68, 147, 159, 148,
+  150, 135, 138, 144, 135, 139, 138, 89, 106, 138, 144, 150, 146, 142, 144, 146,
+  147, 147, 139, 100, 33, 153, 159, 144, 148, 150, 163, 163, 153, 158, 131, 128,
+  72, 127, 138, 135, 130, 135, 131, 138, 134, 128, 131, 128, 99, 18, 136, 140,
+  132, 136, 136, 126, 127, 135, 131, 130, 104, 72, 108, 107, 112, 93, 97, 107,
+  115, 112, 52, 46, 16, 100, 153, 142, 144, 146, 143, 144, 154, 148, 111, 76,
+  2, 85, 139, 124, 142, 142, 135, 134, 138, 131, 108, 59, 60, 77, 79, 99,
+  96, 104, 99, 103, 99, 104, 67, 33, 0, 131, 143, 138, 139, 139, 153, 147,
+  131, 115, 110, 60, 122, 157, 153, 157, 146, 146, 140, 131, 134, 138, 131, 115,
+  63, 110, 134, 142, 139, 135, 110, 108, 115, 155, 210, 174, 124, 100, 108, 68,
+  52, 41, 46, 48, 42, 45, 44, 42, 46, 63, 87, 111, 157, 206, 218, 216,
+  201, 123, 122, 130, 134, 142, 147, 148, 142, 122, 57, 32, 28, 26, 29, 49,
+  32, 73, 118, 116, 128, 124, 127, 124, 120, 97, 85, 51, 67, 116, 122, 107,
+  112, 111, 99, 119, 118, 114, 92, 56, 102, 123, 126, 126, 120, 120, 120, 119,
+  118, 111, 97, 57, 65, 96, 102, 106, 97, 95, 87, 97, 89, 73, 52, 29,
+  5, 131, 146, 140, 104, 103, 102, 115, 95, 110, 112, 107, 85, 84, 122, 126,
+  123, 122, 122, 97, 115, 84, 81, 51, 100, 126, 120, 120, 123, 120, 119, 116,
+  118, 116, 114, 60, 20, 93, 114, 134, 115, 120, 118, 110, 108, 103, 100, 85,
+  42, 65, 76, 102, 111, 116, 106, 112, 100, 104, 36, 22, 102, 127, 132, 130,
+  124, 128, 130, 128, 126, 122, 99, 46, 92, 96, 122, 120, 127, 119, 110, 100,
+  97, 83, 88, 46, 2, 99, 102, 95, 81, 92, 88, 85, 84, 83, 83, 85,
+  64, 45, 83, 102, 80, 84, 61, 69, 76, 77, 69, 51, 14, 76, 76, 83,
+  89, 84, 87, 84, 84, 83, 77, 51, 17, 64, 69, 68, 59, 56, 52, 57,
+  61, 61, 64, 45, 22, 52, 85, 97, 97, 88, 79, 67, 72, 72, 61, 38,
+  41, 67, 92, 89, 89, 60, 64, 60, 63, 63, 45, 42, 24, 88, 93, 71,
+  83, 85, 81, 83, 71, 81, 72, 67, 40, 32, 69, 56, 57, 41, 33, 37,
+  46, 41, 16, 22, 71, 108, 96, 111, 108, 108, 104, 106, 114, 71, 56, 14,
+  60, 60, 68, 57, 42, 41, 38, 45, 56, 37, 52, 63, 8, 79, 96, 95,
+  100, 92, 99, 88, 97, 93, 97, 75, 38, 46, 67, 67, 55, 61, 51, 52,
+  55, 42, 46, 28, 28, 60, 45, 44, 33, 36, 40, 52, 55, 41, 40, 32,
+  1, 55, 64, 75, 68, 53, 51, 53, 40, 36, 26, 6, 106, 111, 79, 79,
+  80, 79, 80, 75, 75, 61, 65, 67, 53, 28, 29, 28, 18, 18, 22, 24,
+  20, 18, 22, 17, 6, 20, 38, 16, 28, 42, 29, 30, 20, 13, 13, 10,
+  6, 1, 45, 33, 30, 20, 162, 163, 165, 159, 171, 162, 161, 144, 118, 16,
+  71, 128, 131, 134, 127, 130, 127, 130, 124, 93, 87, 29, 112, 153, 166, 162,
+  154, 154, 157, 157, 155, 153, 115, 67, 146, 146, 146, 148, 147, 140, 143, 139,
+  136, 136, 131, 126, 100, 103, 107, 103, 111, 107, 110, 119, 114, 115, 111, 40,
+  166, 154, 154, 161, 150, 153, 153, 154, 147, 144, 135, 75, 140, 138, 130, 130,
+  134, 123, 128, 122, 127, 126, 128, 97, 22, 138, 135, 128, 124, 120, 130, 119,
+  115, 104, 124, 104, 103, 107, 91, 87, 87, 81, 84, 77, 76, 69, 46, 2,
+  73, 153, 147, 148, 147, 153, 150, 151, 131, 130, 83, 2, 87, 138, 123, 126,
+  140, 136, 127, 112, 115, 89, 83, 93, 91, 92, 73, 61, 53, 49, 53, 55,
+  51, 49, 29, 1, 140, 140, 142, 135, 135, 132, 130, 127, 91, 97, 59, 115,
+  151, 148, 142, 134, 138, 136, 131, 128, 130, 123, 115, 71, 77, 118, 126, 126,
+  108, 85, 111, 104, 135, 198, 195, 155, 99, 124, 97, 57, 56, 52, 56, 53,
+  55, 56, 60, 56, 91, 97, 139, 201, 217, 217, 218, 194, 122, 123, 130, 138,
+  144, 150, 144, 132, 79, 32, 29, 28, 29, 28, 37, 41, 68, 106, 110, 111,
+  111, 110, 103, 100, 104, 99, 64, 72, 116, 123, 103, 107, 114, 110, 110, 112,
+  99, 88, 55, 80, 116, 122, 104, 100, 115, 119, 106, 107, 106, 84, 51, 61,
+  69, 63, 63, 61, 68, 63, 53, 52, 41, 42, 26, 6, 116, 135, 140, 134,
+  127, 126, 130, 130, 123, 123, 118, 119, 118, 84, 92, 96, 97, 97, 118, 115,
+  106, 83, 46, 95, 123, 120, 123, 118, 119, 118, 120, 114, 114, 110, 73, 28,
+  91, 95, 100, 102, 100, 100, 106, 97, 100, 85, 84, 37, 64, 71, 99, 96,
+  93, 92, 91, 89, 84, 40, 0, 22, 68, 81, 71, 69, 80, 89, 83, 77,
+  89, 79, 36, 49, 56, 63, 65, 75, 77, 72, 77, 76, 89, 80, 41, 25,
+  99, 97, 100, 102, 93, 95, 93, 91, 87, 84, 79, 80, 53, 56, 64, 71,
+  67, 61, 81, 80, 64, 69, 51, 12, 71, 69, 100, 85, 84, 87, 84, 83,
+  81, 79, 55, 1, 53, 69, 51, 49, 53, 59, 57, 68, 61, 67, 38, 21,
+  36, 75, 76, 65, 64, 69, 71, 61, 61, 65, 57, 36, 46, 64, 64, 52,
+  52, 65, 55, 48, 53, 48, 44, 40, 83, 89, 88, 84, 80, 84, 83, 75,
+  75, 79, 72, 37, 28, 55, 60, 61, 52, 32, 44, 45, 40, 18, 13, 76,
+  110, 103, 104, 108, 108, 112, 106, 112, 85, 56, 14, 52, 57, 55, 37, 46,
+  37, 36, 40, 36, 38, 44, 44, 16, 68, 81, 84, 63, 67, 76, 76, 77,
+  69, 65, 57, 57, 60, 55, 52, 51, 48, 59, 49, 49, 44, 42, 42, 24,
+  28, 32, 29, 33, 32, 34, 29, 52, 41, 34, 29, 0, 48, 57, 56, 60,
+  56, 67, 40, 30, 33, 25, 6, 99, 97, 83, 72, 75, 67, 65, 65, 65,
+  65, 61, 57, 48, 30, 37, 22, 30, 25, 24, 24, 22, 22, 18, 17, 6,
+  24, 41, 45, 24, 20, 16, 13, 14, 13, 12, 10, 6, 0, 32, 36, 25,
+  24, 153, 147, 147, 143, 144, 140, 143, 124, 88, 14, 63, 119, 115, 95, 122,
+  124, 112, 106, 120, 100, 84, 26, 89, 153, 155, 155, 150, 124, 115, 110, 130,
+  123, 99, 64, 107, 119, 120, 120, 118, 120, 126, 120, 120, 116, 118, 111, 114,
+  83, 61, 48, 53, 73, 37, 28, 33, 24, 24, 37, 161, 126, 144, 92, 146,
+  147, 146, 108, 147, 139, 128, 73, 131, 132, 123, 120, 115, 115, 103, 111, 111,
+  111, 88, 45, 28, 92, 92, 97, 95, 91, 99, 93, 99, 93, 91, 87, 84,
+  81, 81, 84, 77, 67, 68, 68, 61, 57, 57, 0, 32, 124, 132, 100, 110,
+  138, 128, 119, 124, 120, 76, 36, 72, 119, 134, 130, 116, 118, 114, 110, 107,
+  114, 76, 60, 52, 44, 41, 60, 63, 55, 37, 44, 41, 34, 25, 0, 126,
+  92, 114, 107, 115, 120, 123, 126, 96, 87, 55, 108, 123, 130, 124, 118, 124,
+  123, 119, 115, 122, 123, 114, 111, 108, 108, 77, 83, 108, 106, 97, 100, 102,
+  186, 208, 171, 123, 112, 119, 88, 56, 44, 55, 55, 52, 52, 57, 83, 96,
+  132, 190, 216, 218, 218, 214, 163, 122, 124, 132, 144, 146, 146, 136, 104, 38,
+  29, 26, 25, 29, 32, 34, 41, 53, 89, 92, 87, 79, 93, 92, 83, 83,
+  89, 77, 69, 103, 95, 99, 83, 83, 79, 76, 80, 80, 85, 48, 40, 40,
+  55, 48, 48, 49, 57, 60, 80, 92, 65, 46, 52, 56, 56, 53, 51, 51,
+  51, 41, 40, 40, 30, 33, 4, 18, 83, 97, 83, 85, 91, 104, 93, 97,
+  99, 99, 97, 92, 102, 104, 106, 106, 111, 110, 111, 95, 81, 57, 81, 115,
+  115, 119, 104, 103, 100, 99, 88, 95, 89, 68, 30, 52, 56, 52, 55, 55,
+  59, 60, 65, 64, 65, 61, 37, 52, 28, 32, 32, 25, 21, 20, 25, 24,
+  22, 6, 6, 10, 25, 10, 9, 20, 33, 17, 17, 30, 34, 38, 33, 12,
+  26, 30, 30, 41, 59, 45, 56, 65, 64, 52, 0, 32, 53, 59, 59, 59,
+  63, 65, 57, 59, 61, 57, 60, 56, 64, 64, 65, 61, 64, 49, 65, 57,
+  68, 48, 28, 63, 64, 87, 83, 81, 80, 79, 73, 76, 75, 45, 22, 49,
+  28, 33, 21, 22, 24, 30, 14, 13, 18, 28, 20, 18, 20, 24, 24, 25,
+  28, 30, 34, 38, 51, 57, 57, 59, 60, 53, 53, 52, 52, 51, 48, 46,
+  48, 44, 38, 80, 77, 75, 73, 63, 63, 63, 60, 56, 55, 41, 44, 42,
+  42, 46, 38, 36, 30, 30, 28, 29, 14, 10, 73, 81, 100, 102, 95, 92,
+  92, 97, 88, 67, 51, 18, 61, 48, 44, 41, 41, 37, 38, 38, 38, 37,
+  40, 53, 22, 20, 21, 18, 17, 26, 30, 34, 34, 38, 48, 53, 48, 41,
+  44, 45, 41, 42, 41, 42, 40, 41, 38, 36, 34, 40, 38, 37, 33, 37,
+  34, 34, 26, 34, 34, 28, 0, 29, 41, 55, 29, 32, 38, 51, 37, 29,
+  24, 5, 65, 99, 80, 69, 68, 68, 65, 60, 44, 42, 38, 32, 30, 32,
+  20, 14, 28, 25, 21, 25, 22, 25, 20, 20, 8, 13, 22, 20, 16, 8,
+  9, 8, 6, 6, 6, 5, 4, 0, 0, 0, 0, 0, 104, 96, 91, 84,
+  71, 67, 64, 57, 51, 0, 25, 33, 37, 34, 40, 53, 51, 57, 73, 93,
+  76, 25, 107, 73, 72, 68, 67, 89, 67, 55, 48, 83, 76, 42, 36, 29,
+  36, 30, 29, 28, 34, 29, 28, 26, 29, 29, 29, 49, 59, 84, 84, 95,
+  144, 122, 150, 124, 110, 16, 171, 128, 142, 111, 96, 87, 89, 93, 123, 128,
+  122, 68, 84, 87, 91, 76, 72, 68, 57, 53, 46, 52, 38, 32, 21, 18,
+  17, 16, 13, 13, 10, 9, 8, 9, 8, 5, 4, 9, 12, 4, 0, 2,
+  8, 0, 0, 2, 9, 0, 37, 24, 28, 30, 33, 71, 112, 80, 96, 108,
+  71, 4, 68, 48, 53, 48, 49, 49, 55, 42, 46, 44, 42, 45, 32, 38,
+  72, 57, 85, 93, 106, 77, 108, 104, 95, 0, 142, 123, 122, 112, 104, 102,
+  103, 85, 107, 91, 53, 96, 96, 106, 102, 100, 100, 103, 104, 107, 100, 108,
+  103, 102, 99, 68, 51, 51, 52, 59, 100, 97, 106, 150, 198, 187, 128, 88,
+  154, 112, 92, 95, 97, 102, 102, 100, 99, 120, 163, 201, 218, 218, 217, 216,
+  202, 135, 122, 130, 143, 146, 143, 136, 111, 44, 29, 28, 26, 28, 33, 34,
+  20, 42, 53, 48, 53, 59, 60, 60, 63, 64, 71, 80, 81, 76, 80, 64,
+  65, 68, 61, 67, 73, 93, 89, 95, 56, 65, 115, 120, 108, 97, 77, 79,
+  77, 72, 48, 41, 44, 8, 0, 29, 6, 4, 6, 18, 0, 4, 4, 0,
+  0, 29, 29, 21, 20, 18, 24, 24, 21, 21, 25, 26, 28, 29, 32, 36,
+  41, 48, 51, 56, 59, 65, 68, 77, 57, 63, 80, 77, 55, 56, 60, 57,
+  42, 41, 46, 34, 24, 6, 18, 6, 29, 32, 16, 12, 24, 25, 14, 14,
+  22, 25, 68, 83, 93, 97, 91, 103, 96, 99, 69, 64, 4, 18, 128, 139,
+  95, 91, 116, 127, 81, 96, 95, 46, 21, 49, 118, 115, 71, 71, 73, 51,
+  51, 46, 57, 34, 25, 6, 4, 2, 26, 6, 4, 5, 22, 14, 6, 12,
+  28, 24, 24, 24, 33, 32, 29, 53, 45, 37, 38, 64, 34, 12, 55, 21,
+  28, 21, 25, 22, 21, 18, 18, 13, 10, 22, 14, 34, 48, 55, 56, 61,
+  75, 76, 69, 69, 49, 14, 72, 100, 108, 85, 92, 65, 51, 44, 29, 29,
+  25, 24, 30, 25, 34, 20, 22, 32, 22, 29, 32, 34, 34, 28, 49, 44,
+  59, 51, 49, 42, 51, 48, 45, 42, 44, 41, 36, 21, 12, 12, 9, 9,
+  8, 9, 10, 17, 12, 17, 26, 33, 29, 46, 49, 45, 32, 53, 57, 34,
+  14, 46, 34, 37, 34, 33, 30, 33, 41, 45, 48, 48, 64, 4, 37, 112,
+  114, 72, 73, 65, 64, 55, 41, 21, 16, 12, 10, 9, 9, 9, 8, 6,
+  6, 6, 4, 13, 12, 4, 2, 6, 4, 1, 0, 5, 2, 0, 1, 6,
+  0, 0, 9, 9, 14, 13, 13, 14, 16, 17, 30, 24, 4, 63, 92, 65,
+  56, 53, 49, 49, 49, 45, 44, 52, 41, 45, 17, 21, 29, 18, 17, 10,
+  9, 8, 8, 9, 9, 9, 8, 8, 6, 6, 8, 8, 4, 4, 5, 4,
+  2, 2, 2, 2, 1, 1, 1, 84, 97, 100, 99, 114, 110, 120, 123, 115,
+  1, 71, 146, 143, 99, 111, 123, 104, 71, 60, 55, 45, 32, 48, 91, 96,
+  87, 102, 111, 143, 127, 120, 119, 104, 32, 106, 136, 140, 135, 127, 139, 135,
+  140, 140, 140, 79, 24, 93, 171, 174, 161, 158, 154, 151, 154, 166, 151, 104,
+  21, 167, 131, 139, 174, 167, 150, 128, 126, 91, 71, 44, 63, 65, 76, 83,
+  89, 89, 88, 97, 103, 107, 80, 88, 93, 153, 165, 165, 169, 170, 167, 162,
+  163, 171, 162, 138, 130, 162, 158, 153, 165, 163, 159, 139, 120, 161, 136, 42,
+  4, 99, 158, 157, 130, 112, 87, 77, 72, 36, 26, 20, 2, 28, 67, 75,
+  83, 77, 91, 97, 102, 102, 110, 89, 20, 77, 155, 169, 174, 171, 170, 155,
+  165, 157, 122, 95, 0, 138, 127, 150, 146, 150, 143, 139, 122, 112, 89, 52,
+  20, 18, 18, 18, 21, 21, 20, 24, 22, 22, 22, 29, 32, 34, 88, 99,
+  120, 111, 110, 148, 136, 126, 108, 154, 199, 147, 99, 115, 135, 131, 144, 143,
+  134, 140, 151, 162, 195, 213, 216, 220, 218, 214, 213, 153, 124, 128, 139, 142,
+  138, 130, 97, 42, 29, 28, 24, 34, 25, 25, 34, 55, 57, 68, 99, 115,
+  108, 91, 89, 75, 69, 69, 59, 55, 53, 80, 118, 135, 131, 142, 114, 115,
+  124, 103, 100, 52, 93, 140, 126, 108, 108, 123, 112, 116, 87, 81, 73, 12,
+  20, 151, 150, 110, 102, 115, 116, 112, 104, 124, 103, 52, 16, 40, 97, 116,
+  108, 111, 114, 122, 111, 111, 108, 102, 88, 106, 111, 118, 115, 110, 84, 64,
+  52, 37, 38, 42, 33, 37, 67, 63, 76, 69, 80, 81, 89, 88, 81, 69,
+  9, 26, 80, 89, 95, 89, 87, 88, 84, 88, 91, 84, 92, 81, 110, 123,
+  127, 123, 122, 116, 104, 97, 69, 8, 118, 124, 108, 122, 112, 118, 110, 119,
+  115, 96, 57, 16, 110, 127, 128, 118, 119, 122, 114, 87, 100, 102, 63, 52,
+  6, 20, 130, 124, 81, 73, 122, 119, 88, 73, 91, 87, 45, 12, 52, 116,
+  111, 67, 67, 63, 56, 48, 41, 36, 6, 16, 45, 49, 53, 46, 60, 64,
+  59, 63, 67, 57, 0, 41, 116, 115, 112, 114, 116, 108, 108, 104, 81, 51,
+  13, 80, 111, 93, 92, 107, 106, 106, 104, 84, 57, 46, 9, 42, 139, 131,
+  84, 79, 77, 71, 60, 32, 16, 20, 10, 10, 10, 12, 9, 9, 8, 8,
+  5, 8, 6, 6, 5, 10, 17, 67, 79, 83, 81, 68, 91, 76, 33, 12,
+  52, 96, 91, 84, 42, 40, 21, 16, 16, 10, 13, 6, 25, 45, 92, 91,
+  91, 93, 91, 96, 88, 89, 68, 64, 6, 93, 130, 123, 108, 123, 111, 112,
+  111, 110, 102, 100, 77, 72, 92, 73, 59, 68, 81, 72, 69, 59, 48, 12,
+  0, 18, 77, 106, 69, 69, 73, 91, 69, 72, 64, 10, 0, 59, 75, 71,
+  46, 73, 64, 64, 22, 14, 24, 4, 71, 72, 76, 76, 83, 80, 80, 79,
+  80, 83, 76, 49, 30, 21, 24, 49, 42, 37, 41, 40, 29, 22, 13, 16,
+  6, 4, 16, 38, 41, 52, 40, 45, 46, 61, 61, 68, 57, 72, 77, 83,
+  83, 83, 182, 173, 175, 173, 169, 169, 124, 127, 115, 2, 123, 148, 163, 162,
+  158, 159, 155, 153, 155, 147, 85, 30, 118, 173, 175, 173, 167, 165, 174, 169,
+  159, 123, 114, 36, 148, 158, 157, 142, 140, 159, 153, 147, 147, 142, 89, 17,
+  139, 177, 157, 163, 171, 175, 157, 162, 148, 158, 116, 24, 178, 162, 134, 143,
+  107, 135, 148, 162, 169, 151, 131, 139, 159, 148, 158, 167, 155, 155, 165, 158,
+  159, 142, 153, 143, 107, 159, 148, 144, 148, 151, 134, 127, 118, 128, 142, 114,
+  119, 136, 153, 155, 144, 150, 142, 138, 146, 155, 91, 1, 120, 159, 177, 151,
+  154, 122, 134, 134, 126, 107, 72, 16, 95, 166, 163, 163, 158, 158, 112, 146,
+  148, 118, 100, 14, 140, 170, 161, 153, 143, 159, 153, 146, 148, 120, 91, 0,
+  154, 127, 144, 146, 144, 142, 144, 142, 122, 116, 52, 46, 147, 135, 115, 119,
+  139, 139, 115, 115, 114, 111, 108, 102, 104, 93, 144, 158, 155, 146, 143, 144,
+  131, 107, 107, 193, 167, 116, 85, 159, 170, 179, 193, 201, 206, 208, 212, 214,
+  217, 216, 210, 213, 206, 158, 127, 134, 138, 134, 130, 106, 67, 40, 30, 26,
+  24, 33, 24, 36, 46, 60, 56, 51, 92, 132, 150, 143, 138, 142, 150, 144,
+  148, 127, 114, 116, 128, 140, 142, 131, 126, 132, 124, 122, 114, 106, 60, 88,
+  140, 136, 122, 112, 111, 107, 119, 126, 95, 81, 0, 154, 157, 140, 142, 138,
+  139, 136, 118, 116, 111, 108, 114, 14, 147, 142, 131, 132, 126, 130, 119, 122,
+  122, 123, 120, 95, 75, 115, 120, 116, 111, 96, 97, 108, 115, 71, 38, 64,
+  120, 123, 128, 116, 123, 123, 119, 112, 112, 100, 72, 5, 131, 126, 132, 128,
+  118, 115, 108, 100, 104, 100, 81, 85, 126, 144, 140, 130, 130, 120, 122, 124,
+  97, 73, 4, 134, 120, 120, 114, 107, 107, 104, 106, 111, 106, 60, 18, 122,
+  135, 118, 96, 107, 99, 118, 114, 102, 87, 67, 57, 2, 134, 139, 127, 73,
+  88, 115, 111, 89, 88, 89, 89, 52, 14, 112, 123, 106, 103, 107, 100, 114,
+  75, 57, 60, 5, 52, 114, 123, 127, 118, 112, 106, 103, 107, 103, 71, 20,
+  104, 123, 119, 111, 102, 102, 102, 104, 100, 99, 57, 12, 91, 118, 88, 97,
+  85, 87, 88, 96, 99, 87, 53, 8, 120, 142, 118, 114, 123, 119, 115, 84,
+  100, 96, 93, 95, 106, 116, 104, 102, 106, 99, 111, 102, 104, 103, 85, 83,
+  91, 81, 77, 79, 87, 77, 97, 88, 84, 38, 13, 64, 119, 93, 84, 89,
+  68, 79, 73, 55, 48, 33, 34, 77, 102, 106, 114, 106, 106, 97, 102, 89,
+  84, 72, 51, 16, 110, 120, 128, 115, 115, 107, 87, 83, 91, 77, 75, 88,
+  89, 80, 51, 52, 72, 75, 41, 45, 36, 69, 14, 0, 80, 107, 77, 75,
+  69, 65, 72, 65, 69, 75, 22, 0, 67, 68, 61, 69, 83, 67, 68, 64,
+  26, 25, 4, 96, 76, 76, 76, 75, 71, 49, 63, 72, 63, 57, 41, 28,
+  18, 34, 40, 22, 26, 20, 21, 18, 26, 24, 5, 1, 34, 65, 77, 77,
+  81, 73, 64, 55, 68, 53, 63, 57, 59, 48, 65, 84, 72, 195, 187, 175,
+  179, 183, 177, 181, 128, 122, 2, 130, 151, 162, 162, 151, 155, 136, 144, 143,
+  154, 96, 32, 153, 179, 175, 170, 169, 170, 173, 175, 171, 131, 119, 40, 146,
+  170, 175, 182, 173, 174, 169, 165, 151, 144, 99, 20, 136, 177, 163, 165, 146,
+  148, 157, 153, 130, 124, 110, 22, 178, 154, 161, 128, 142, 142, 147, 151, 130,
+  135, 150, 143, 104, 106, 126, 128, 130, 108, 103, 135, 108, 111, 155, 100, 157,
+  154, 165, 163, 155, 161, 158, 161, 153, 144, 140, 96, 148, 175, 166, 155, 161,
+  158, 157, 161, 148, 150, 99, 2, 134, 162, 179, 151, 126, 154, 124, 148, 127,
+  112, 83, 33, 134, 163, 157, 161, 159, 154, 151, 151, 148, 138, 100, 16, 143,
+  171, 138, 143, 148, 150, 144, 159, 142, 131, 100, 0, 150, 123, 142, 142, 139,
+  139, 138, 138, 128, 112, 53, 142, 147, 138, 118, 108, 131, 135, 119, 112, 127,
+  115, 124, 110, 71, 144, 161, 151, 134, 131, 136, 146, 143, 100, 87, 162, 179,
+  126, 81, 115, 119, 136, 155, 182, 194, 202, 205, 204, 205, 210, 194, 173, 148,
+  122, 135, 131, 118, 99, 67, 41, 30, 30, 28, 26, 28, 25, 33, 46, 56,
+  56, 63, 60, 91, 135, 150, 148, 147, 142, 139, 143, 144, 123, 118, 88, 143,
+  142, 124, 126, 134, 136, 134, 126, 96, 116, 57, 84, 130, 127, 120, 122, 119,
+  111, 115, 119, 97, 80, 18, 158, 155, 154, 134, 128, 127, 124, 114, 114, 112,
+  124, 114, 13, 144, 130, 123, 124, 134, 128, 126, 134, 123, 122, 103, 60, 103,
+  150, 131, 119, 116, 111, 111, 120, 115, 76, 52, 114, 120, 116, 111, 108, 118,
+  124, 110, 108, 99, 91, 81, 21, 131, 114, 116, 119, 132, 126, 112, 107, 100,
+  89, 64, 112, 147, 128, 119, 128, 120, 104, 96, 106, 81, 69, 0, 93, 119,
+  111, 100, 92, 97, 110, 110, 123, 102, 61, 13, 110, 132, 106, 100, 83, 92,
+  95, 103, 85, 68, 69, 59, 4, 122, 112, 119, 103, 106, 96, 92, 100, 95,
+  114, 93, 57, 14, 118, 122, 99, 92, 92, 89, 89, 96, 64, 68, 6, 99,
+  123, 120, 115, 104, 115, 114, 107, 87, 85, 60, 13, 107, 122, 111, 100, 99,
+  89, 89, 89, 88, 80, 55, 10, 89, 112, 99, 99, 96, 83, 84, 81, 89,
+  93, 53, 12, 110, 131, 130, 128, 116, 110, 96, 115, 93, 88, 79, 84, 106,
+  111, 122, 92, 102, 106, 102, 100, 87, 100, 92, 71, 55, 102, 111, 92, 88,
+  71, 68, 87, 75, 45, 13, 59, 116, 97, 88, 84, 76, 85, 73, 75, 52,
+  34, 40, 81, 111, 102, 92, 89, 89, 89, 89, 95, 100, 56, 59, 13, 99,
+  118, 126, 119, 115, 85, 85, 114, 110, 107, 96, 69, 45, 84, 84, 57, 53,
+  44, 41, 26, 46, 51, 13, 8, 97, 97, 73, 76, 67, 83, 83, 76, 69,
+  68, 24, 0, 51, 60, 57, 46, 41, 41, 37, 52, 42, 25, 5, 107, 85,
+  65, 76, 59, 55, 46, 55, 55, 57, 55, 41, 21, 26, 44, 36, 24, 9,
+  4, 4, 6, 13, 22, 1, 5, 55, 96, 97, 64, 69, 63, 64, 69, 55,
+  34, 41, 46, 51, 89, 107, 131, 136, 165, 166, 179, 178, 155, 167, 181, 131,
+  122, 2, 127, 162, 162, 147, 144, 153, 147, 146, 139, 143, 104, 37, 130, 182,
+  173, 175, 166, 165, 163, 166, 174, 132, 122, 51, 102, 171, 173, 163, 167, 175,
+  173, 153, 148, 143, 97, 17, 147, 166, 175, 150, 159, 155, 161, 165, 140, 146,
+  122, 10, 175, 155, 157, 128, 136, 140, 155, 147, 146, 143, 95, 100, 104, 158,
+  122, 122, 150, 146, 144, 142, 144, 112, 107, 65, 158, 158, 165, 159, 150, 154,
+  143, 140, 151, 150, 136, 93, 165, 173, 157, 150, 150, 153, 155, 148, 142, 159,
+  93, 0, 138, 163, 158, 131, 130, 151, 150, 158, 158, 144, 87, 14, 154, 162,
+  166, 157, 163, 158, 151, 154, 148, 119, 102, 13, 139, 165, 138, 147, 146, 154,
+  157, 157, 144, 120, 97, 0, 151, 131, 143, 147, 144, 138, 140, 135, 136, 119,
+  53, 143, 134, 135, 131, 139, 135, 116, 128, 127, 118, 111, 107, 68, 88, 153,
+  155, 150, 131, 135, 138, 128, 140, 103, 88, 144, 183, 131, 80, 88, 103, 114,
+  119, 126, 151, 162, 173, 170, 166, 161, 140, 128, 130, 124, 107, 87, 57, 44,
+  32, 28, 26, 26, 36, 21, 26, 45, 46, 52, 55, 69, 64, 55, 96, 154,
+  154, 153, 138, 139, 128, 128, 118, 114, 77, 126, 150, 124, 128, 143, 130, 126,
+  122, 126, 102, 116, 69, 71, 131, 128, 122, 132, 112, 122, 116, 118, 103, 79,
+  14, 106, 151, 139, 142, 151, 135, 130, 126, 115, 111, 115, 75, 17, 104, 123,
+  128, 135, 127, 126, 118, 119, 120, 104, 93, 61, 111, 146, 119, 118, 128, 135,
+  134, 120, 107, 79, 40, 112, 127, 118, 111, 110, 106, 119, 115, 99, 95, 88,
+  80, 5, 114, 108, 119, 104, 124, 134, 126, 107, 103, 80, 46, 110, 150, 127,
+  124, 127, 118, 102, 104, 93, 87, 75, 2, 111, 126, 126, 89, 102, 106, 102,
+  115, 112, 112, 64, 12, 114, 131, 103, 97, 92, 95, 92, 81, 89, 69, 64,
+  61, 4, 97, 114, 83, 107, 108, 99, 97, 95, 93, 95, 89, 67, 13, 104,
+  116, 93, 85, 99, 102, 97, 95, 83, 69, 1, 107, 127, 107, 106, 106, 93,
+  89, 84, 77, 81, 60, 4, 103, 122, 106, 91, 99, 85, 83, 87, 84, 88,
+  56, 9, 88, 112, 110, 96, 107, 107, 103, 87, 87, 73, 55, 10, 100, 127,
+  130, 124, 127, 119, 126, 127, 123, 115, 76, 106, 123, 106, 87, 80, 85, 87,
+  84, 69, 75, 79, 60, 44, 65, 116, 111, 67, 83, 83, 106, 72, 76, 46,
+  17, 64, 111, 95, 75, 91, 92, 81, 84, 75, 59, 37, 37, 80, 112, 99,
+  88, 88, 97, 99, 85, 84, 95, 56, 60, 2, 97, 112, 112, 118, 122, 84,
+  91, 99, 107, 102, 92, 63, 71, 95, 76, 38, 57, 33, 44, 40, 44, 46,
+  12, 0, 76, 85, 76, 75, 65, 72, 77, 76, 75, 60, 24, 0, 75, 69,
+  44, 53, 52, 45, 36, 49, 57, 26, 5, 102, 69, 69, 75, 55, 75, 48,
+  46, 65, 59, 48, 44, 20, 13, 44, 32, 8, 13, 17, 10, 9, 9, 17,
+  1, 10, 76, 99, 65, 56, 63, 41, 55, 85, 60, 42, 52, 40, 51, 93,
+  131, 77, 30, 177, 177, 183, 162, 170, 173, 177, 130, 122, 2, 127, 159, 162,
+  142, 140, 143, 151, 136, 138, 144, 110, 44, 124, 170, 171, 169, 175, 177, 165,
+  162, 166, 135, 124, 51, 157, 175, 171, 163, 165, 173, 173, 154, 150, 147, 99,
+  16, 144, 167, 158, 162, 163, 161, 165, 148, 146, 139, 115, 12, 173, 146, 153,
+  131, 139, 136, 159, 148, 151, 140, 85, 108, 159, 154, 158, 155, 142, 143, 146,
+  138, 142, 134, 134, 57, 157, 169, 163, 154, 155, 147, 159, 140, 146, 144, 134,
+  92, 166, 171, 147, 151, 154, 148, 142, 153, 144, 143, 99, 2, 138, 162, 175,
+  150, 154, 132, 127, 127, 147, 115, 88, 1, 146, 153, 170, 158, 163, 155, 153,
+  153, 128, 128, 103, 13, 148, 163, 143, 153, 153, 148, 144, 153, 148, 130, 97,
+  0, 144, 147, 143, 143, 142, 139, 140, 136, 128, 116, 61, 96, 124, 144, 134,
+  119, 136, 120, 122, 122, 116, 114, 106, 60, 124, 154, 150, 146, 140, 128, 134,
+  138, 143, 116, 87, 138, 186, 144, 110, 72, 75, 73, 79, 95, 114, 116, 120,
+  123, 122, 120, 118, 95, 76, 57, 45, 37, 34, 32, 28, 24, 28, 34, 22,
+  48, 52, 53, 55, 60, 63, 69, 68, 57, 89, 144, 139, 131, 115, 127, 128,
+  127, 116, 95, 77, 131, 143, 124, 135, 130, 131, 118, 116, 130, 115, 118, 76,
+  60, 120, 127, 118, 116, 119, 115, 108, 111, 93, 81, 12, 110, 150, 148, 157,
+  139, 108, 106, 116, 107, 120, 120, 77, 14, 114, 132, 127, 130, 115, 120, 120,
+  120, 106, 106, 97, 57, 110, 150, 127, 115, 116, 110, 108, 123, 108, 77, 41,
+  96, 126, 119, 123, 118, 106, 114, 102, 96, 97, 84, 79, 2, 103, 118, 119,
+  103, 119, 130, 124, 103, 89, 81, 46, 112, 153, 115, 118, 108, 116, 102, 103,
+  87, 92, 72, 4, 122, 124, 118, 92, 99, 110, 112, 106, 112, 104, 67, 9,
+  127, 132, 100, 92, 92, 81, 92, 92, 76, 75, 68, 57, 1, 104, 135, 112,
+  110, 104, 99, 89, 110, 93, 96, 92, 56, 8, 104, 120, 89, 88, 91, 89,
+  87, 92, 64, 67, 1, 107, 122, 93, 107, 91, 84, 88, 79, 83, 68, 60,
+  14, 111, 122, 100, 95, 81, 87, 83, 80, 72, 87, 56, 8, 87, 108, 106,
+  88, 81, 88, 81, 83, 87, 76, 56, 6, 114, 138, 128, 132, 111, 115, 114,
+  119, 112, 111, 52, 104, 112, 106, 92, 84, 76, 80, 77, 77, 77, 60, 69,
+  41, 106, 123, 120, 64, 93, 89, 95, 71, 71, 60, 21, 65, 115, 97, 89,
+  92, 95, 79, 73, 84, 73, 36, 18, 68, 110, 84, 76, 73, 79, 85, 79,
+  73, 99, 67, 60, 5, 110, 115, 111, 116, 110, 92, 88, 83, 116, 96, 92,
+  57, 76, 103, 65, 37, 46, 25, 30, 40, 37, 42, 14, 0, 67, 95, 69,
+  67, 64, 64, 67, 63, 57, 63, 25, 0, 55, 59, 59, 55, 64, 56, 37,
+  42, 46, 26, 5, 110, 68, 67, 75, 49, 79, 46, 46, 45, 51, 44, 40,
+  18, 22, 37, 25, 4, 10, 2, 4, 1, 5, 22, 1, 33, 89, 89, 49,
+  52, 64, 52, 44, 68, 33, 29, 44, 36, 71, 108, 107, 24, 32, 181, 183,
+  162, 166, 170, 154, 171, 142, 116, 2, 132, 163, 162, 142, 142, 144, 144, 138,
+  138, 139, 114, 49, 118, 173, 175, 174, 167, 173, 173, 162, 163, 148, 123, 56,
+  157, 171, 170, 167, 159, 161, 162, 153, 151, 143, 97, 12, 148, 174, 162, 159,
+  161, 158, 167, 155, 144, 146, 123, 12, 177, 166, 146, 148, 138, 139, 138, 150,
+  154, 142, 81, 151, 162, 154, 153, 146, 142, 154, 159, 139, 154, 144, 146, 73,
+  165, 157, 155, 148, 154, 140, 159, 139, 148, 143, 120, 102, 170, 166, 148, 155,
+  147, 154, 151, 163, 143, 144, 104, 0, 136, 165, 175, 148, 138, 135, 132, 130,
+  159, 112, 93, 10, 148, 166, 161, 154, 159, 148, 147, 153, 130, 134, 104, 10,
+  148, 170, 144, 144, 150, 150, 150, 153, 147, 128, 100, 0, 148, 138, 144, 148,
+  139, 138, 142, 132, 122, 118, 64, 99, 122, 128, 124, 126, 138, 127, 116, 122,
+  112, 120, 111, 52, 124, 155, 155, 136, 140, 127, 136, 144, 131, 124, 85, 126,
+  185, 155, 124, 103, 77, 64, 60, 60, 55, 55, 53, 53, 57, 53, 49, 46,
+  41, 40, 36, 34, 30, 30, 29, 34, 18, 30, 53, 60, 67, 68, 68, 65,
+  67, 72, 72, 59, 91, 151, 130, 134, 134, 131, 122, 140, 126, 112, 59, 127,
+  144, 124, 139, 123, 115, 115, 114, 127, 116, 115, 83, 42, 123, 134, 136, 132,
+  130, 126, 118, 111, 100, 81, 2, 111, 144, 134, 146, 107, 102, 114, 116, 108,
+  111, 116, 107, 9, 146, 138, 116, 138, 120, 110, 108, 110, 106, 122, 100, 55,
+  118, 140, 123, 123, 111, 111, 104, 118, 112, 80, 45, 95, 124, 138, 147, 115,
+  103, 96, 99, 97, 100, 92, 76, 0, 143, 112, 112, 104, 116, 115, 124, 104,
+  91, 87, 45, 111, 151, 127, 122, 104, 114, 99, 99, 85, 96, 80, 0, 130,
+  124, 126, 93, 97, 97, 116, 116, 115, 111, 67, 12, 123, 136, 102, 92, 87,
+  81, 77, 93, 71, 77, 69, 63, 2, 142, 142, 112, 119, 85, 99, 114, 87,
+  87, 100, 89, 60, 5, 111, 116, 91, 85, 89, 128, 93, 100, 64, 67, 0,
+  108, 124, 95, 103, 83, 93, 81, 77, 79, 88, 63, 22, 106, 118, 91, 100,
+  84, 81, 81, 83, 76, 89, 56, 5, 85, 111, 96, 80, 81, 88, 106, 84,
+  83, 87, 57, 5, 110, 142, 126, 123, 110, 111, 110, 110, 114, 104, 49, 106,
+  123, 93, 115, 97, 83, 77, 77, 72, 67, 64, 68, 38, 104, 114, 110, 69,
+  99, 103, 69, 72, 52, 44, 20, 68, 115, 85, 85, 87, 67, 60, 57, 75,
+  79, 37, 25, 81, 108, 97, 76, 73, 71, 72, 69, 83, 93, 71, 56, 6,
+  110, 126, 112, 112, 85, 85, 87, 83, 111, 91, 93, 52, 76, 100, 71, 29,
+  45, 25, 32, 37, 40, 41, 12, 0, 81, 88, 73, 65, 61, 75, 73, 67,
+  52, 64, 25, 0, 71, 61, 49, 46, 38, 67, 44, 44, 40, 26, 8, 96,
+  80, 77, 46, 33, 81, 44, 44, 41, 59, 33, 40, 17, 17, 29, 22, 14,
+  36, 21, 22, 8, 6, 14, 0, 44, 92, 81, 45, 49, 51, 45, 59, 76,
+  33, 30, 34, 34, 63, 108, 46, 38, 33, 181, 177, 161, 169, 170, 153, 174,
+  136, 123, 0, 130, 158, 161, 142, 144, 140, 151, 134, 142, 143, 118, 60, 88,
+  163, 178, 170, 173, 170, 165, 161, 162, 158, 124, 64, 123, 174, 159, 167, 170,
+  163, 166, 157, 148, 153, 106, 16, 148, 174, 159, 157, 169, 161, 161, 144, 131,
+  136, 124, 9, 175, 162, 166, 143, 139, 139, 143, 153, 153, 139, 77, 157, 162,
+  155, 148, 142, 144, 169, 140, 136, 131, 146, 158, 65, 161, 153, 158, 154, 153,
+  147, 163, 138, 144, 142, 92, 106, 171, 174, 150, 169, 151, 150, 158, 166, 139,
+  144, 115, 0, 140, 162, 169, 148, 153, 139, 136, 126, 153, 120, 96, 22, 143,
+  166, 157, 157, 151, 144, 162, 153, 140, 132, 110, 12, 150, 171, 136, 151, 150,
+  146, 147, 157, 140, 128, 99, 0, 147, 136, 144, 143, 134, 134, 139, 134, 135,
+  112, 68, 99, 146, 115, 128, 131, 146, 123, 135, 131, 103, 124, 100, 46, 139,
+  163, 154, 143, 140, 124, 128, 143, 128, 127, 87, 118, 181, 163, 139, 127, 112,
+  96, 71, 61, 56, 52, 49, 48, 46, 44, 44, 41, 38, 37, 36, 34, 34,
+  37, 37, 14, 28, 57, 69, 73, 72, 84, 85, 88, 89, 76, 76, 68, 85,
+  162, 136, 126, 138, 131, 128, 127, 126, 118, 51, 128, 138, 124, 124, 126, 115,
+  130, 119, 119, 118, 119, 85, 37, 107, 131, 136, 122, 118, 112, 112, 111, 102,
+  84, 12, 123, 143, 138, 142, 103, 104, 122, 107, 108, 119, 123, 111, 9, 142,
+  131, 119, 138, 115, 112, 114, 103, 100, 119, 99, 45, 111, 154, 122, 115, 115,
+  112, 108, 120, 111, 80, 49, 87, 132, 135, 116, 104, 114, 96, 112, 110, 106,
+  93, 84, 14, 138, 104, 120, 99, 114, 97, 135, 102, 92, 84, 45, 112, 150,
+  119, 126, 108, 108, 111, 89, 85, 84, 76, 0, 114, 123, 124, 92, 106, 92,
+  102, 103, 118, 96, 68, 8, 122, 136, 107, 100, 88, 85, 84, 96, 75, 71,
+  73, 63, 1, 134, 150, 107, 114, 85, 102, 95, 102, 88, 89, 87, 61, 9,
+  103, 127, 92, 92, 115, 112, 97, 91, 65, 68, 8, 112, 124, 88, 93, 81,
+  81, 79, 88, 79, 87, 64, 9, 104, 122, 100, 102, 96, 102, 99, 102, 77,
+  92, 60, 4, 93, 104, 89, 87, 116, 81, 80, 81, 83, 93, 59, 9, 142,
+  139, 128, 114, 112, 124, 108, 112, 111, 111, 56, 111, 108, 112, 93, 110, 89,
+  75, 77, 64, 65, 63, 69, 34, 110, 124, 106, 64, 93, 87, 69, 68, 71,
+  48, 22, 71, 120, 73, 76, 64, 56, 56, 55, 57, 72, 38, 42, 77, 108,
+  107, 75, 71, 67, 83, 68, 69, 89, 72, 57, 5, 103, 126, 108, 106, 92,
+  84, 83, 87, 97, 91, 88, 48, 87, 107, 60, 32, 28, 20, 28, 36, 29,
+  57, 12, 5, 87, 92, 69, 69, 72, 68, 55, 72, 60, 63, 26, 0, 77,
+  68, 46, 51, 46, 38, 45, 44, 36, 28, 8, 84, 87, 56, 64, 48, 83,
+  41, 41, 42, 51, 34, 36, 12, 17, 22, 24, 25, 17, 22, 22, 5, 8,
+  8, 0, 44, 100, 68, 46, 55, 57, 51, 60, 96, 37, 34, 36, 32, 76,
+  107, 41, 63, 63, 183, 163, 161, 162, 167, 151, 181, 134, 127, 0, 130, 155,
+  162, 142, 154, 139, 143, 131, 136, 135, 127, 84, 93, 162, 178, 178, 174, 163,
+  178, 170, 163, 162, 124, 65, 83, 173, 173, 163, 163, 163, 155, 163, 151, 144,
+  111, 12, 157, 171, 159, 158, 153, 157, 157, 142, 131, 139, 124, 6, 175, 162,
+  154, 139, 144, 135, 161, 154, 147, 139, 69, 163, 151, 147, 146, 146, 165, 144,
+  138, 143, 146, 131, 143, 38, 166, 157, 153, 153, 136, 150, 163, 132, 153, 132,
+  93, 126, 177, 165, 151, 165, 154, 147, 153, 167, 138, 139, 112, 0, 146, 154,
+  174, 147, 138, 130, 138, 131, 166, 138, 115, 12, 151, 167, 153, 153, 143, 143,
+  162, 148, 140, 126, 115, 9, 140, 170, 147, 144, 144, 140, 144, 157, 134, 132,
+  96, 0, 148, 128, 140, 136, 131, 128, 136, 131, 131, 118, 72, 52, 108, 155,
+  140, 131, 104, 124, 108, 114, 107, 127, 104, 41, 151, 161, 158, 134, 147, 126,
+  127, 143, 122, 124, 92, 102, 171, 163, 162, 132, 126, 114, 97, 81, 77, 63,
+  57, 52, 49, 48, 46, 49, 48, 52, 49, 51, 46, 42, 51, 13, 53, 73,
+  75, 77, 96, 99, 106, 110, 110, 79, 77, 60, 84, 167, 136, 144, 114, 138,
+  144, 114, 122, 116, 51, 123, 138, 126, 128, 119, 115, 136, 119, 122, 115, 123,
+  89, 41, 110, 130, 132, 122, 115, 115, 114, 115, 100, 83, 9, 124, 140, 135,
+  154, 102, 106, 114, 104, 110, 108, 114, 79, 9, 106, 128, 111, 146, 118, 118,
+  112, 104, 104, 123, 100, 40, 111, 154, 116, 115, 116, 108, 116, 107, 106, 84,
+  48, 99, 131, 139, 104, 104, 97, 108, 106, 97, 96, 89, 83, 1, 124, 108,
+  115, 99, 119, 96, 123, 100, 92, 80, 28, 107, 150, 123, 128, 108, 106, 97,
+  93, 91, 88, 76, 0, 118, 114, 136, 89, 96, 92, 92, 102, 122, 102, 69,
+  6, 124, 142, 108, 111, 84, 92, 81, 104, 75, 68, 71, 64, 0, 112, 122,
+  88, 124, 87, 100, 88, 103, 87, 91, 84, 60, 8, 112, 131, 92, 84, 112,
+  91, 92, 92, 77, 71, 0, 107, 116, 95, 80, 79, 79, 76, 103, 80, 100,
+  67, 2, 91, 119, 112, 87, 95, 89, 85, 80, 76, 99, 61, 4, 89, 104,
+  87, 108, 120, 99, 79, 80, 81, 85, 60, 6, 126, 131, 128, 110, 112, 127,
+  108, 108, 107, 110, 52, 116, 122, 96, 99, 103, 84, 68, 88, 65, 64, 69,
+  61, 30, 112, 116, 69, 107, 67, 71, 77, 69, 71, 52, 28, 45, 114, 75,
+  68, 59, 53, 56, 52, 56, 73, 41, 25, 72, 103, 114, 72, 63, 65, 89,
+  68, 69, 100, 60, 60, 2, 104, 127, 110, 84, 85, 81, 83, 111, 97, 85,
+  85, 40, 87, 99, 80, 29, 28, 21, 26, 37, 30, 38, 14, 0, 61, 84,
+  56, 52, 49, 63, 55, 75, 52, 84, 26, 0, 64, 67, 45, 38, 41, 46,
+  42, 36, 45, 30, 9, 36, 102, 52, 48, 44, 67, 38, 38, 38, 60, 32,
+  29, 8, 24, 16, 2, 6, 6, 20, 8, 5, 13, 2, 0, 49, 93, 59,
+  37, 55, 42, 49, 48, 83, 44, 38, 34, 26, 71, 111, 45, 61, 5, 183,
+  162, 163, 166, 169, 142, 181, 135, 118, 0, 128, 151, 166, 139, 159, 136, 142,
+  134, 134, 123, 138, 88, 68, 157, 181, 179, 181, 163, 175, 183, 158, 169, 120,
+  72, 55, 179, 177, 150, 150, 159, 166, 166, 148, 144, 114, 10, 159, 177, 159,
+  158, 157, 154, 147, 150, 132, 139, 124, 6, 173, 162, 165, 138, 138, 138, 147,
+  153, 148, 136, 55, 169, 146, 151, 138, 169, 155, 142, 138, 148, 154, 134, 130,
+  33, 158, 161, 150, 138, 140, 151, 170, 128, 148, 131, 84, 136, 178, 169, 150,
+  166, 147, 150, 151, 170, 140, 140, 118, 0, 140, 153, 174, 132, 143, 132, 144,
+  132, 179, 120, 110, 1, 158, 165, 151, 151, 139, 140, 166, 146, 136, 131, 112,
+  8, 136, 169, 143, 144, 142, 134, 144, 163, 136, 138, 99, 0, 144, 139, 136,
+  131, 124, 140, 131, 130, 123, 110, 75, 64, 108, 157, 158, 115, 131, 123, 104,
+  112, 103, 142, 99, 33, 147, 161, 166, 138, 153, 151, 124, 138, 120, 115, 92,
+  96, 161, 169, 158, 154, 134, 122, 111, 104, 92, 80, 64, 68, 65, 64, 63,
+  63, 51, 55, 52, 49, 42, 44, 56, 10, 57, 79, 72, 92, 93, 95, 116,
+  127, 126, 106, 77, 69, 76, 167, 132, 150, 116, 143, 130, 116, 120, 104, 41,
+  127, 135, 123, 127, 119, 116, 144, 115, 123, 114, 135, 99, 46, 112, 126, 114,
+  116, 116, 116, 108, 118, 102, 80, 2, 128, 131, 131, 165, 102, 103, 108, 103,
+  110, 106, 119, 88, 5, 114, 132, 114, 144, 116, 118, 110, 104, 99, 130, 93,
+  33, 112, 163, 114, 116, 114, 106, 103, 104, 102, 84, 52, 88, 134, 111, 104,
+  102, 102, 99, 100, 104, 97, 87, 81, 2, 139, 108, 110, 97, 130, 95, 135,
+  96, 87, 75, 26, 103, 148, 112, 135, 102, 102, 102, 89, 81, 93, 79, 0,
+  134, 114, 128, 88, 97, 119, 122, 102, 130, 103, 72, 4, 138, 150, 114, 112,
+  81, 85, 84, 115, 87, 67, 75, 64, 0, 114, 136, 104, 124, 87, 95, 89,
+  112, 84, 93, 85, 64, 4, 115, 124, 91, 87, 119, 87, 96, 91, 69, 71,
+  0, 114, 131, 92, 79, 80, 73, 76, 111, 80, 72, 65, 2, 88, 122, 123,
+  85, 81, 80, 77, 71, 72, 110, 61, 2, 85, 96, 87, 110, 132, 80, 79,
+  77, 81, 102, 63, 4, 130, 143, 138, 108, 107, 132, 106, 106, 106, 107, 32,
+  122, 119, 114, 85, 114, 83, 69, 75, 61, 64, 61, 63, 24, 118, 116, 69,
+  115, 65, 71, 69, 68, 68, 52, 30, 36, 114, 72, 60, 56, 88, 57, 52,
+  56, 63, 41, 26, 60, 76, 122, 68, 65, 64, 79, 67, 65, 87, 65, 56,
+  2, 97, 130, 103, 85, 83, 83, 81, 112, 95, 89, 87, 30, 92, 100, 83,
+  29, 20, 20, 30, 25, 26, 32, 17, 0, 55, 83, 42, 38, 38, 45, 52,
+  84, 51, 60, 29, 0, 57, 59, 48, 37, 42, 41, 40, 44, 46, 29, 20,
+  16, 103, 57, 45, 44, 59, 38, 37, 37, 40, 33, 26, 9, 8, 16, 1,
+  32, 2, 0, 2, 5, 5, 2, 0, 42, 85, 45, 42, 57, 45, 37, 56,
+  91, 29, 28, 40, 22, 92, 106, 9, 8, 0, 9, 12, 9, 12, 12, 56,
+  59, 12, 14, 0, 34, 80, 80, 75, 80, 34, 30, 73, 80, 22, 10, 68,
+  85, 88, 60, 85, 40, 44, 44, 76, 42, 30, 26, 0, 85, 110, 104, 32,
+  108, 34, 36, 41, 77, 77, 16, 38, 91, 88, 91, 93, 96, 91, 60, 51,
+  81, 77, 84, 16, 76, 53, 42, 44, 85, 89, 60, 48, 42, 38, 42, 24,
+  89, 108, 56, 59, 60, 49, 95, 51, 67, 49, 42, 21, 59, 102, 52, 53,
+  55, 100, 92, 57, 93, 45, 48, 2, 99, 103, 68, 110, 130, 71, 56, 97,
+  61, 89, 32, 34, 112, 120, 114, 52, 42, 51, 80, 52, 83, 46, 48, 12,
+  99, 106, 118, 111, 96, 100, 96, 69, 68, 57, 49, 0, 104, 108, 102, 106,
+  76, 71, 68, 99, 130, 73, 71, 20, 99, 131, 112, 73, 73, 103, 77, 72,
+  65, 65, 44, 72, 139, 119, 80, 116, 104, 76, 80, 77, 107, 139, 68, 1,
+  114, 93, 116, 114, 91, 77, 83, 108, 112, 104, 21, 118, 120, 87, 91, 88,
+  88, 119, 92, 76, 87, 115, 24, 115, 116, 96, 119, 119, 111, 100, 93, 95,
+  77, 77, 71, 2, 76, 136, 106, 110, 84, 108, 75, 114, 84, 80, 72, 26,
+  120, 126, 99, 128, 108, 92, 88, 83, 80, 83, 68, 10, 119, 122, 130, 127,
+  93, 96, 106, 89, 122, 69, 14, 159, 140, 142, 118, 161, 140, 136, 112, 122,
+  116, 118, 104, 60, 87, 139, 128, 111, 104, 108, 130, 107, 127, 92, 53, 69,
+  159, 175, 159, 181, 142, 136, 138, 162, 130, 127, 38, 106, 136, 139, 132, 110,
+  106, 111, 142, 108, 107, 111, 52, 93, 140, 161, 135, 166, 114, 112, 102, 111,
+  100, 115, 110, 30, 131, 116, 119, 114, 136, 119, 112, 115, 135, 96, 114, 30,
+  162, 144, 140, 140, 142, 126, 128, 148, 112, 112, 102, 9, 110, 153, 136, 157,
+  108, 114, 110, 126, 112, 112, 49, 134, 146, 146, 144, 143, 124, 128, 150, 148,
+  122, 115, 96, 5, 144, 134, 150, 151, 122, 134, 112, 119, 119, 139, 116, 5,
+  170, 153, 178, 143, 135, 147, 122, 119, 123, 119, 60, 93, 148, 123, 161, 147,
+  112, 147, 148, 103, 122, 112, 10, 153, 191, 174, 157, 150, 154, 193, 170, 150,
+  150, 134, 131, 5, 124, 131, 135, 103, 104, 99, 111, 106, 118, 119, 107, 34,
+  153, 157, 136, 158, 140, 154, 124, 134, 123, 124, 123, 17, 162, 174, 163, 165,
+  175, 132, 162, 165, 144, 139, 134, 92, 0, 170, 181, 174, 169, 170, 153, 150,
+  147, 140, 144, 12, 163, 151, 167, 144, 128, 157, 140, 159, 139, 128, 37, 159,
+  179, 155, 150, 135, 150, 123, 163, 177, 151, 142, 112, 76, 96, 171, 167, 171,
+  170, 155, 146, 147, 146, 151, 135, 41, 166, 169, 151, 167, 147, 170, 148, 147,
+  147, 131, 6, 187, 185, 182, 153, 146, 175, 171, 170, 185, 157, 138, 136, 14,
+  154, 138, 139, 153, 150, 178, 167, 155, 130, 135, 124, 14, 153, 154, 169, 157,
+  174, 139, 148, 147, 136, 139, 115, 0, 173, 179, 158, 159, 146, 150, 163, 177,
+  162, 144, 116, 73, 115, 185, 173, 161, 155, 183, 155, 155, 144, 151, 163, 76,
+  88, 187, 174, 198, 174, 68, 57, 63, 12, 12, 45, 55, 20, 13, 0, 41,
+  89, 71, 65, 84, 41, 29, 68, 79, 21, 9, 68, 72, 85, 73, 55, 38,
+  45, 44, 71, 52, 34, 26, 0, 83, 97, 92, 37, 91, 37, 34, 55, 67,
+  64, 26, 44, 87, 85, 87, 69, 67, 48, 51, 71, 53, 65, 75, 28, 72,
+  61, 44, 44, 52, 89, 79, 59, 44, 37, 41, 30, 89, 112, 61, 59, 71,
+  57, 93, 61, 72, 49, 37, 20, 59, 102, 55, 53, 55, 95, 88, 60, 89,
+  44, 45, 1, 97, 99, 87, 104, 123, 77, 56, 93, 65, 80, 25, 40, 93,
+  111, 64, 42, 49, 57, 65, 67, 53, 42, 42, 17, 95, 100, 97, 131, 106,
+  92, 96, 95, 65, 59, 51, 0, 102, 106, 112, 100, 76, 72, 77, 92, 112,
+  89, 71, 22, 93, 126, 110, 77, 76, 99, 103, 72, 61, 67, 41, 72, 127,
+  103, 80, 91, 92, 96, 77, 77, 99, 126, 61, 0, 112, 100, 103, 111, 92,
+  81, 87, 100, 110, 102, 26, 124, 116, 93, 96, 80, 111, 111, 84, 87, 77,
+  103, 36, 110, 116, 110, 114, 97, 97, 99, 92, 104, 76, 79, 63, 1, 85,
+  122, 96, 83, 95, 97, 80, 100, 83, 83, 75, 37, 115, 128, 102, 120, 116,
+  100, 106, 104, 92, 81, 79, 9, 115, 118, 116, 99, 95, 112, 95, 97, 112,
+  75, 20, 148, 139, 140, 126, 138, 140, 132, 118, 130, 116, 124, 106, 55, 88,
+  140, 127, 100, 110, 124, 122, 104, 123, 99, 52, 75, 155, 166, 154, 165, 140,
+  132, 136, 157, 130, 124, 46, 111, 135, 138, 124, 107, 110, 111, 134, 110, 104,
+  103, 49, 92, 140, 153, 135, 153, 122, 115, 108, 108, 102, 114, 108, 45, 116,
+  120, 123, 138, 136, 124, 111, 112, 124, 104, 111, 32, 157, 148, 131, 131, 119,
+  119, 130, 144, 106, 112, 103, 8, 116, 142, 128, 154, 103, 114, 114, 118, 110,
+  107, 48, 130, 143, 146, 142, 128, 143, 144, 144, 131, 119, 112, 96, 5, 144,
+  134, 147, 142, 123, 130, 126, 107, 128, 130, 110, 6, 163, 163, 159, 139, 127,
+  148, 123, 124, 119, 116, 57, 100, 144, 144, 153, 127, 112, 144, 147, 106, 122,
+  108, 12, 147, 183, 170, 167, 136, 140, 173, 166, 147, 150, 142, 135, 24, 131,
+  127, 135, 103, 97, 100, 100, 111, 115, 115, 106, 42, 150, 155, 130, 148, 148,
+  154, 126, 130, 131, 123, 103, 18, 158, 162, 161, 163, 157, 136, 158, 161, 148,
+  139, 124, 93, 0, 174, 181, 170, 165, 155, 151, 150, 139, 138, 138, 1, 154,
+  159, 165, 136, 124, 153, 139, 157, 140, 126, 48, 155, 179, 159, 144, 132, 143,
+  124, 134, 136, 138, 140, 110, 71, 99, 175, 161, 165, 169, 151, 144, 148, 154,
+  150, 139, 51, 162, 163, 154, 157, 159, 169, 148, 147, 144, 110, 6, 181, 178,
+  173, 159, 147, 177, 173, 162, 162, 159, 136, 124, 14, 150, 139, 150, 151, 150,
+  151, 171, 165, 142, 139, 119, 8, 151, 154, 147, 162, 170, 158, 136, 143, 138,
+  130, 112, 0, 178, 175, 154, 158, 148, 151, 155, 177, 163, 158, 112, 67, 120,
+  181, 170, 163, 154, 177, 157, 154, 146, 147, 161, 72, 87, 190, 175, 194, 177,
+  22, 46, 24, 12, 12, 38, 56, 20, 14, 2, 49, 81, 65, 73, 73, 45,
+  28, 51, 73, 22, 9, 67, 79, 76, 79, 45, 48, 38, 48, 65, 51, 36,
+  25, 0, 81, 80, 45, 75, 57, 37, 37, 44, 75, 64, 24, 46, 89, 72,
+  49, 49, 72, 69, 69, 61, 64, 60, 81, 24, 64, 60, 46, 42, 44, 64,
+  81, 75, 55, 38, 38, 32, 89, 114, 59, 63, 60, 60, 68, 75, 64, 51,
+  48, 18, 64, 84, 60, 53, 73, 93, 67, 79, 81, 44, 45, 1, 83, 97,
+  72, 71, 68, 63, 57, 92, 69, 75, 24, 40, 100, 106, 60, 36, 57, 36,
+  42, 41, 42, 48, 42, 17, 91, 100, 99, 100, 116, 100, 80, 91, 68, 59,
+  51, 0, 99, 114, 107, 92, 83, 71, 72, 75, 72, 81, 72, 28, 85, 124,
+  106, 77, 73, 84, 104, 68, 68, 68, 40, 75, 124, 114, 110, 97, 93, 95,
+  93, 80, 93, 112, 75, 2, 102, 103, 110, 102, 100, 85, 89, 96, 104, 96,
+  30, 118, 116, 89, 87, 110, 89, 77, 91, 88, 72, 96, 40, 104, 115, 103,
+  99, 106, 102, 96, 96, 91, 76, 76, 80, 13, 73, 116, 92, 91, 96, 93,
+  85, 93, 81, 80, 75, 41, 111, 126, 102, 119, 107, 107, 96, 99, 93, 88,
+  76, 8, 112, 116, 107, 99, 111, 89, 96, 88, 107, 64, 26, 140, 138, 139,
+  132, 123, 114, 116, 127, 116, 122, 119, 104, 52, 92, 135, 124, 104, 110, 138,
+  124, 108, 114, 102, 52, 107, 155, 155, 153, 158, 147, 138, 142, 155, 130, 127,
+  55, 107, 136, 136, 124, 107, 114, 112, 131, 108, 102, 97, 45, 96, 136, 148,
+  136, 148, 131, 112, 108, 103, 100, 112, 108, 49, 124, 124, 119, 146, 122, 120,
+  114, 112, 123, 106, 114, 46, 146, 144, 128, 134, 151, 153, 151, 140, 107, 114,
+  91, 16, 115, 134, 124, 126, 102, 108, 115, 104, 107, 107, 64, 123, 143, 144,
+  142, 132, 128, 123, 130, 120, 116, 116, 93, 17, 148, 139, 157, 116, 107, 114,
+  120, 107, 122, 119, 110, 8, 161, 151, 165, 155, 140, 153, 126, 123, 126, 99,
+  65, 112, 136, 150, 139, 112, 119, 144, 147, 110, 114, 107, 14, 140, 183, 171,
+  163, 157, 143, 151, 143, 148, 150, 139, 127, 10, 130, 136, 119, 100, 100, 103,
+  103, 107, 119, 115, 89, 46, 146, 155, 142, 140, 128, 148, 126, 124, 127, 126,
+  124, 2, 154, 159, 162, 171, 140, 136, 150, 163, 144, 142, 124, 91, 0, 163,
+  186, 169, 165, 154, 155, 154, 159, 131, 142, 1, 148, 147, 132, 124, 151, 147,
+  143, 154, 136, 127, 55, 153, 177, 158, 167, 130, 124, 127, 128, 132, 135, 138,
+  96, 61, 104, 170, 158, 161, 166, 154, 147, 150, 148, 151, 135, 65, 154, 161,
+  159, 161, 158, 163, 150, 142, 147, 134, 8, 179, 170, 167, 155, 148, 174, 174,
+  163, 155, 155, 134, 130, 0, 153, 130, 135, 154, 150, 147, 144, 169, 154, 139,
+  115, 10, 150, 154, 147, 190, 159, 135, 162, 158, 131, 132, 110, 0, 173, 175,
+  169, 162, 157, 148, 165, 169, 161, 148, 112, 63, 124, 139, 169, 163, 148, 144,
+  146, 150, 150, 147, 150, 63, 103, 189, 178, 190, 185, 16, 36, 25, 10, 12,
+  33, 45, 16, 14, 0, 51, 92, 61, 60, 72, 68, 33, 45, 59, 22, 8,
+  65, 75, 67, 42, 41, 61, 51, 52, 56, 64, 33, 25, 2, 79, 73, 40,
+  65, 42, 40, 37, 49, 57, 41, 25, 52, 84, 67, 92, 60, 79, 68, 64,
+  60, 49, 63, 68, 26, 63, 76, 55, 42, 44, 44, 51, 64, 44, 40, 37,
+  33, 92, 123, 48, 53, 57, 75, 65, 59, 49, 48, 48, 17, 61, 91, 56,
+  57, 81, 71, 73, 75, 59, 45, 44, 2, 93, 97, 91, 89, 85, 59, 76,
+  71, 81, 52, 21, 40, 89, 55, 36, 29, 30, 24, 29, 28, 30, 44, 36,
+  16, 87, 99, 89, 93, 110, 112, 83, 72, 73, 65, 42, 0, 97, 106, 104,
+  89, 87, 99, 83, 81, 76, 80, 72, 32, 83, 104, 103, 80, 76, 80, 96,
+  80, 65, 51, 34, 73, 119, 108, 112, 120, 102, 116, 106, 92, 88, 103, 72,
+  0, 99, 107, 95, 97, 97, 87, 83, 96, 89, 91, 34, 114, 114, 91, 91,
+  89, 89, 76, 79, 88, 68, 88, 44, 102, 110, 107, 110, 104, 100, 97, 99,
+  103, 77, 77, 79, 4, 81, 100, 84, 77, 93, 88, 83, 93, 75, 81, 75,
+  48, 107, 126, 106, 118, 123, 89, 100, 99, 93, 84, 68, 16, 99, 115, 124,
+  104, 83, 110, 97, 102, 103, 60, 24, 127, 140, 138, 130, 115, 120, 123, 116,
+  115, 123, 122, 106, 44, 96, 134, 119, 100, 114, 119, 114, 104, 111, 102, 52,
+  84, 153, 162, 146, 136, 136, 142, 151, 150, 131, 126, 61, 106, 132, 143, 111,
+  112, 110, 107, 139, 108, 89, 91, 41, 96, 138, 135, 130, 135, 140, 112, 116,
+  106, 102, 112, 108, 53, 118, 123, 124, 130, 123, 122, 118, 112, 119, 106, 114,
+  51, 144, 144, 128, 135, 131, 135, 124, 122, 122, 120, 85, 22, 112, 126, 135,
+  123, 100, 111, 112, 100, 108, 110, 67, 123, 140, 143, 139, 146, 124, 123, 123,
+  128, 110, 114, 96, 9, 136, 131, 120, 142, 100, 134, 134, 108, 103, 126, 112,
+  9, 150, 154, 163, 143, 136, 162, 131, 127, 123, 114, 68, 115, 122, 143, 135,
+  114, 116, 138, 138, 106, 115, 103, 12, 146, 178, 167, 143, 153, 148, 143, 140,
+  150, 153, 138, 127, 16, 102, 134, 100, 95, 108, 95, 110, 112, 116, 106, 97,
+  52, 139, 130, 126, 132, 126, 142, 132, 130, 131, 123, 126, 0, 153, 158, 158,
+  169, 136, 140, 148, 155, 151, 135, 124, 88, 0, 165, 186, 163, 161, 155, 155,
+  154, 159, 128, 131, 1, 142, 147, 130, 118, 151, 124, 138, 131, 140, 124, 64,
+  147, 165, 148, 139, 132, 124, 128, 128, 132, 131, 143, 102, 55, 112, 167, 159,
+  148, 161, 161, 146, 147, 151, 144, 138, 68, 155, 161, 158, 147, 154, 155, 150,
+  147, 143, 136, 9, 170, 167, 162, 155, 150, 173, 178, 179, 169, 157, 135, 127,
+  2, 147, 134, 146, 122, 130, 146, 144, 140, 148, 139, 122, 14, 150, 157, 143,
+  163, 130, 138, 131, 132, 131, 124, 106, 0, 148, 175, 159, 159, 158, 155, 161,
+  163, 159, 144, 104, 53, 130, 143, 143, 163, 151, 151, 153, 151, 143, 134, 135,
+  59, 104, 183, 177, 178, 185, 9, 10, 10, 10, 12, 38, 38, 12, 12, 0,
+  48, 56, 61, 59, 67, 67, 38, 34, 46, 21, 6, 61, 84, 75, 48, 60,
+  75, 60, 55, 59, 42, 30, 25, 0, 77, 79, 36, 71, 40, 41, 36, 41,
+  61, 40, 28, 52, 80, 83, 64, 61, 75, 81, 67, 67, 67, 59, 68, 26,
+  36, 65, 59, 42, 46, 44, 45, 45, 51, 37, 38, 36, 89, 99, 57, 75,
+  63, 79, 72, 61, 52, 48, 38, 16, 63, 87, 57, 76, 73, 67, 75, 77,
+  49, 44, 44, 9, 88, 83, 80, 69, 57, 73, 60, 68, 85, 49, 18, 37,
+  91, 44, 20, 21, 28, 37, 20, 24, 33, 49, 36, 20, 84, 97, 93, 89,
+  110, 88, 89, 75, 75, 55, 42, 0, 93, 93, 111, 97, 73, 81, 85, 92,
+  88, 77, 75, 36, 49, 100, 108, 92, 72, 73, 91, 84, 61, 51, 34, 73,
+  118, 111, 91, 100, 110, 100, 97, 102, 88, 104, 60, 0, 104, 112, 111, 93,
+  99, 91, 91, 95, 93, 91, 38, 107, 111, 108, 92, 97, 83, 72, 72, 88,
+  89, 89, 44, 100, 103, 102, 100, 106, 103, 107, 106, 103, 76, 77, 64, 5,
+  69, 104, 81, 87, 88, 77, 87, 87, 81, 77, 73, 49, 69, 119, 103, 123,
+  123, 95, 100, 87, 89, 73, 67, 16, 107, 108, 104, 92, 110, 112, 115, 110,
+  107, 59, 24, 79, 143, 135, 124, 118, 122, 119, 116, 118, 124, 102, 103, 40,
+  103, 132, 120, 108, 116, 108, 106, 107, 108, 93, 51, 83, 153, 143, 154, 131,
+  153, 142, 147, 135, 130, 130, 69, 81, 130, 142, 110, 112, 119, 120, 132, 107,
+  84, 84, 42, 96, 132, 124, 127, 120, 123, 118, 116, 120, 100, 114, 107, 57,
+  119, 124, 123, 127, 119, 119, 123, 112, 111, 108, 110, 57, 136, 143, 136, 132,
+  108, 130, 123, 126, 122, 111, 100, 20, 115, 130, 120, 114, 97, 108, 104, 99,
+  103, 99, 65, 81, 135, 140, 139, 142, 122, 114, 132, 119, 110, 110, 91, 10,
+  132, 143, 118, 128, 127, 136, 138, 103, 116, 120, 106, 14, 146, 150, 159, 136,
+  148, 153, 139, 127, 112, 111, 69, 110, 132, 139, 135, 132, 111, 134, 132, 106,
+  114, 103, 21, 135, 182, 163, 148, 150, 142, 150, 147, 151, 150, 146, 119, 30,
+  93, 128, 97, 104, 114, 108, 112, 107, 110, 103, 100, 56, 81, 148, 115, 155,
+  124, 139, 135, 130, 132, 132, 114, 0, 150, 158, 158, 142, 153, 154, 144, 157,
+  153, 142, 131, 84, 0, 167, 179, 162, 161, 155, 157, 154, 138, 126, 136, 21,
+  142, 138, 122, 118, 155, 151, 128, 132, 140, 123, 64, 89, 154, 167, 166, 127,
+  128, 128, 127, 123, 128, 138, 99, 51, 111, 166, 161, 153, 151, 155, 144, 144,
+  148, 147, 132, 72, 154, 161, 158, 147, 148, 166, 151, 146, 143, 127, 13, 166,
+  169, 162, 150, 155, 147, 153, 155, 150, 155, 134, 120, 25, 138, 124, 130, 100,
+  115, 118, 115, 118, 140, 122, 111, 16, 142, 150, 135, 122, 157, 131, 167, 135,
+  148, 139, 93, 0, 124, 171, 161, 167, 162, 155, 159, 161, 155, 144, 102, 49,
+  110, 138, 139, 147, 148, 158, 148, 140, 138, 147, 122, 51, 97, 182, 179, 173,
+  170, 17, 20, 21, 13, 26, 29, 42, 22, 12, 0, 40, 75, 51, 56, 69,
+  61, 36, 52, 53, 17, 6, 59, 77, 80, 53, 55, 68, 67, 64, 56, 53,
+  48, 25, 0, 73, 81, 49, 69, 38, 37, 42, 45, 57, 26, 24, 41, 64,
+  87, 72, 72, 55, 63, 61, 65, 55, 68, 46, 29, 36, 56, 63, 55, 48,
+  48, 42, 55, 42, 37, 36, 36, 76, 118, 65, 75, 65, 65, 79, 63, 49,
+  48, 33, 12, 67, 91, 53, 79, 63, 68, 83, 75, 48, 40, 42, 4, 87,
+  87, 88, 79, 69, 77, 81, 68, 80, 48, 17, 42, 85, 22, 42, 40, 45,
+  41, 16, 18, 30, 42, 33, 24, 51, 99, 93, 84, 107, 102, 110, 97, 72,
+  53, 56, 0, 91, 99, 111, 95, 85, 81, 79, 77, 80, 77, 73, 40, 44,
+  84, 91, 103, 71, 60, 83, 80, 57, 49, 30, 64, 116, 106, 103, 100, 100,
+  93, 99, 84, 87, 104, 52, 0, 102, 103, 103, 91, 100, 92, 84, 81, 100,
+  95, 46, 72, 96, 118, 103, 115, 91, 89, 97, 103, 67, 88, 49, 71, 97,
+  102, 100, 97, 97, 95, 96, 79, 75, 79, 52, 2, 68, 107, 91, 73, 71,
+  80, 73, 73, 73, 76, 72, 52, 60, 111, 119, 119, 88, 99, 95, 84, 88,
+  75, 77, 14, 102, 106, 99, 84, 89, 79, 99, 97, 115, 59, 25, 75, 142,
+  135, 124, 116, 118, 120, 128, 124, 126, 108, 87, 33, 99, 128, 114, 110, 128,
+  107, 104, 106, 106, 89, 49, 79, 143, 142, 131, 136, 130, 138, 144, 132, 128,
+  130, 71, 45, 122, 136, 107, 116, 118, 130, 124, 96, 88, 79, 34, 96, 126,
+  128, 134, 120, 116, 119, 100, 103, 99, 111, 107, 60, 111, 120, 126, 126, 122,
+  120, 119, 123, 114, 107, 112, 59, 80, 143, 138, 123, 127, 134, 122, 131, 107,
+  111, 104, 17, 114, 130, 115, 93, 96, 110, 106, 102, 99, 102, 87, 80, 130,
+  136, 138, 134, 124, 138, 111, 115, 107, 100, 89, 12, 134, 130, 110, 128, 135,
+  106, 126, 106, 106, 115, 112, 17, 139, 159, 147, 134, 130, 131, 142, 132, 110,
+  115, 64, 108, 126, 150, 132, 131, 108, 131, 107, 108, 116, 104, 22, 140, 173,
+  162, 134, 123, 154, 127, 153, 148, 154, 140, 134, 18, 110, 122, 99, 85, 104,
+  112, 104, 108, 102, 92, 95, 57, 83, 144, 158, 126, 118, 111, 116, 139, 126,
+  120, 87, 28, 140, 158, 139, 146, 148, 144, 154, 144, 147, 143, 124, 81, 0,
+  163, 171, 159, 161, 155, 154, 157, 136, 123, 124, 20, 132, 136, 118, 111, 153,
+  150, 146, 126, 132, 122, 97, 85, 153, 167, 166, 126, 122, 122, 123, 122, 127,
+  135, 95, 37, 140, 162, 158, 171, 150, 143, 127, 144, 147, 151, 136, 81, 87,
+  159, 158, 154, 150, 140, 143, 143, 142, 99, 16, 177, 165, 161, 151, 154, 155,
+  154, 150, 148, 154, 128, 119, 24, 131, 123, 112, 128, 112, 114, 132, 115, 135,
+  126, 115, 17, 139, 130, 173, 158, 155, 163, 159, 132, 148, 123, 89, 1, 100,
+  170, 161, 163, 159, 159, 163, 158, 155, 142, 97, 36, 111, 130, 136, 138, 142,
+  142, 151, 142, 142, 144, 124, 44, 114, 179, 165, 161, 158, 53, 41, 34, 28,
+  28, 28, 24, 28, 13, 4, 41, 55, 52, 49, 51, 60, 53, 60, 55, 20,
+  5, 52, 69, 59, 59, 49, 52, 52, 57, 44, 53, 41, 25, 0, 68, 72,
+  60, 45, 51, 67, 61, 63, 42, 28, 25, 63, 67, 80, 80, 68, 40, 38,
+  41, 45, 46, 37, 41, 45, 40, 37, 42, 53, 57, 56, 52, 44, 37, 34,
+  34, 41, 84, 112, 71, 81, 68, 77, 69, 49, 59, 46, 46, 10, 64, 84,
+  52, 80, 81, 81, 71, 75, 60, 40, 44, 4, 87, 87, 89, 76, 72, 85,
+  77, 81, 81, 36, 16, 36, 36, 17, 16, 41, 32, 41, 18, 16, 18, 20,
+  48, 24, 40, 85, 95, 88, 85, 81, 85, 79, 60, 56, 45, 1, 87, 83,
+  106, 88, 88, 83, 79, 75, 76, 72, 71, 69, 68, 45, 49, 55, 61, 61,
+  71, 81, 65, 61, 33, 77, 111, 95, 95, 87, 97, 97, 96, 97, 100, 103,
+  69, 2, 96, 103, 103, 93, 102, 100, 84, 96, 96, 91, 51, 53, 61, 92,
+  89, 108, 100, 81, 76, 99, 79, 55, 51, 56, 63, 96, 69, 71, 75, 72,
+  75, 73, 72, 79, 76, 21, 75, 99, 72, 71, 67, 77, 72, 69, 79, 72,
+  72, 77, 53, 71, 100, 103, 77, 73, 87, 81, 91, 85, 76, 10, 97, 103,
+  87, 103, 95, 95, 89, 95, 87, 55, 65, 61, 138, 134, 127, 126, 120, 120,
+  119, 120, 120, 106, 100, 29, 102, 124, 114, 102, 107, 112, 102, 103, 106, 92,
+  45, 123, 148, 128, 126, 136, 138, 138, 126, 135, 135, 128, 79, 67, 112, 134,
+  106, 123, 120, 114, 111, 107, 88, 76, 32, 97, 123, 116, 102, 103, 103, 104,
+  102, 104, 108, 111, 107, 64, 71, 122, 126, 126, 123, 115, 114, 122, 110, 108,
+  107, 79, 75, 134, 135, 126, 128, 143, 130, 123, 100, 111, 100, 22, 108, 111,
+  96, 93, 96, 97, 87, 99, 75, 92, 104, 75, 93, 120, 122, 128, 107, 110,
+  106, 104, 107, 115, 83, 14, 124, 144, 150, 128, 134, 132, 100, 130, 114, 106,
+  100, 16, 140, 148, 140, 155, 126, 126, 132, 128, 120, 89, 52, 118, 126, 147,
+  131, 122, 111, 124, 114, 112, 114, 96, 25, 131, 178, 165, 154, 144, 146, 153,
+  151, 147, 143, 140, 124, 20, 102, 91, 88, 85, 79, 95, 91, 91, 96, 92,
+  84, 68, 75, 140, 111, 104, 107, 102, 114, 116, 118, 122, 120, 6, 143, 153,
+  142, 140, 153, 148, 143, 144, 144, 142, 118, 76, 0, 166, 178, 158, 157, 159,
+  155, 155, 159, 118, 135, 4, 128, 128, 116, 107, 150, 150, 150, 124, 127, 118,
+  103, 85, 146, 158, 155, 114, 116, 132, 116, 120, 124, 132, 115, 37, 126, 162,
+  166, 128, 143, 142, 124, 132, 144, 151, 140, 111, 80, 115, 157, 159, 157, 155,
+  153, 140, 142, 130, 17, 171, 166, 158, 147, 150, 154, 157, 155, 151, 153, 118,
+  120, 4, 131, 115, 112, 115, 107, 110, 120, 140, 131, 127, 107, 21, 139, 178,
+  142, 158, 154, 162, 131, 150, 150, 123, 84, 1, 64, 162, 166, 166, 161, 157,
+  157, 158, 155, 128, 93, 32, 112, 135, 132, 138, 135, 138, 138, 140, 138, 139,
+  131, 36, 166, 182, 169, 162, 161, 21, 26, 18, 25, 25, 36, 29, 16, 12,
+  0, 34, 34, 36, 36, 37, 36, 41, 34, 28, 20, 4, 51, 52, 48, 44,
+  45, 44, 44, 53, 40, 41, 25, 24, 4, 61, 64, 63, 63, 60, 53, 61,
+  60, 40, 26, 30, 48, 63, 71, 68, 42, 45, 32, 32, 38, 45, 36, 34,
+  33, 37, 38, 38, 49, 42, 44, 42, 41, 32, 37, 33, 42, 80, 79, 72,
+  60, 52, 57, 61, 46, 45, 46, 46, 9, 61, 84, 73, 56, 52, 68, 77,
+  68, 56, 45, 44, 5, 80, 85, 95, 76, 80, 88, 84, 79, 55, 42, 13,
+  45, 36, 8, 13, 9, 17, 12, 14, 16, 16, 14, 18, 21, 51, 36, 44,
+  48, 48, 48, 51, 56, 61, 48, 37, 4, 80, 85, 88, 84, 80, 56, 76,
+  49, 53, 56, 68, 52, 57, 61, 69, 61, 63, 67, 67, 87, 65, 46, 25,
+  72, 77, 88, 79, 77, 77, 80, 81, 84, 76, 71, 69, 2, 93, 92, 97,
+  91, 88, 85, 87, 87, 84, 79, 76, 77, 83, 68, 65, 69, 71, 68, 81,
+  75, 81, 77, 75, 79, 77, 73, 65, 81, 80, 69, 81, 83, 81, 79, 77,
+  6, 61, 89, 83, 71, 59, 60, 65, 67, 68, 69, 76, 72, 75, 80, 81,
+  83, 81, 81, 84, 87, 87, 77, 64, 21, 89, 93, 89, 84, 79, 73, 83,
+  68, 63, 56, 48, 60, 83, 128, 136, 97, 116, 116, 122, 104, 106, 100, 100,
+  22, 99, 95, 97, 89, 93, 92, 100, 102, 104, 92, 45, 92, 136, 126, 124,
+  114, 116, 116, 111, 103, 92, 93, 79, 65, 107, 118, 114, 108, 106, 106, 107,
+  108, 79, 75, 28, 97, 126, 120, 115, 118, 111, 116, 110, 115, 119, 111, 100,
+  103, 71, 77, 84, 111, 83, 87, 114, 116, 115, 118, 103, 97, 69, 91, 139,
+  130, 127, 126, 96, 99, 112, 100, 80, 36, 97, 114, 100, 89, 84, 83, 77,
+  79, 89, 76, 77, 88, 102, 106, 118, 112, 115, 110, 112, 115, 115, 112, 91,
+  16, 115, 135, 143, 131, 96, 135, 132, 134, 114, 114, 110, 24, 135, 148, 134,
+  118, 140, 139, 136, 135, 114, 111, 61, 119, 120, 118, 111, 122, 107, 106, 114,
+  112, 110, 100, 21, 135, 169, 154, 108, 144, 146, 112, 134, 142, 140, 135, 61,
+  26, 57, 89, 96, 73, 69, 91, 79, 80, 83, 92, 96, 72, 75, 96, 100,
+  97, 103, 107, 110, 108, 112, 112, 116, 2, 134, 148, 147, 143, 142, 142, 140,
+  128, 136, 135, 112, 72, 0, 157, 175, 158, 157, 155, 155, 155, 159, 115, 116,
+  30, 120, 124, 114, 106, 102, 115, 110, 111, 79, 79, 104, 92, 95, 103, 106,
+  124, 126, 124, 126, 123, 130, 127, 102, 33, 73, 138, 136, 111, 115, 138, 135,
+  118, 127, 130, 134, 116, 93, 100, 112, 112, 118, 118, 123, 127, 142, 124, 18,
+  132, 165, 161, 155, 155, 151, 154, 148, 151, 153, 126, 118, 9, 127, 118, 107,
+  106, 106, 122, 123, 123, 124, 122, 112, 26, 131, 175, 136, 154, 104, 150, 148,
+  112, 122, 138, 76, 2, 53, 130, 158, 111, 120, 135, 154, 151, 135, 131, 81,
+  26, 111, 136, 136, 135, 134, 134, 134, 139, 138, 134, 128, 32, 154, 181, 165,
+  154, 153, 8, 8, 10, 8, 8, 8, 10, 8, 2, 0, 9, 10, 10, 10,
+  13, 12, 12, 12, 14, 12, 5, 16, 20, 18, 18, 16, 16, 14, 14, 14,
+  14, 14, 12, 0, 14, 16, 16, 20, 20, 17, 17, 24, 21, 16, 36, 21,
+  37, 42, 20, 18, 32, 24, 21, 25, 21, 21, 18, 21, 18, 18, 21, 22,
+  24, 25, 26, 29, 30, 38, 30, 34, 52, 46, 40, 36, 40, 44, 37, 36,
+  42, 36, 24, 8, 28, 44, 53, 42, 46, 45, 51, 45, 46, 41, 40, 6,
+  73, 84, 83, 81, 69, 67, 75, 65, 40, 38, 10, 57, 20, 6, 12, 8,
+  9, 10, 14, 14, 12, 18, 14, 17, 20, 22, 18, 30, 32, 34, 36, 37,
+  40, 42, 40, 1, 26, 38, 45, 29, 29, 29, 30, 24, 24, 21, 30, 29,
+  21, 22, 30, 30, 32, 24, 59, 61, 60, 38, 24, 44, 52, 51, 49, 49,
+  64, 59, 49, 44, 44, 38, 20, 40, 42, 48, 57, 64, 53, 55, 60, 60,
+  60, 61, 64, 61, 67, 69, 73, 69, 69, 69, 71, 69, 77, 67, 64, 63,
+  77, 68, 64, 59, 76, 60, 55, 53, 77, 53, 13, 10, 59, 46, 46, 49,
+  33, 41, 28, 26, 30, 37, 32, 32, 34, 33, 33, 33, 45, 49, 55, 59,
+  75, 63, 60, 21, 30, 33, 37, 36, 40, 32, 37, 36, 42, 33, 30, 48,
+  77, 68, 81, 84, 79, 76, 81, 80, 79, 73, 69, 21, 71, 77, 79, 83,
+  79, 79, 83, 91, 84, 79, 44, 36, 106, 116, 95, 97, 99, 111, 102, 102,
+  108, 111, 102, 77, 71, 76, 85, 92, 95, 97, 107, 112, 75, 69, 24, 91,
+  114, 124, 120, 103, 111, 112, 111, 99, 99, 97, 88, 85, 93, 100, 100, 99,
+  100, 97, 100, 102, 102, 93, 93, 99, 96, 100, 106, 108, 104, 103, 102, 103,
+  102, 92, 99, 24, 96, 65, 61, 57, 53, 52, 57, 49, 45, 44, 46, 45,
+  48, 65, 48, 49, 51, 57, 53, 77, 81, 75, 76, 18, 51, 126, 123, 71,
+  76, 111, 112, 75, 89, 107, 93, 22, 99, 139, 138, 111, 115, 132, 128, 108,
+  111, 106, 61, 116, 116, 104, 93, 85, 85, 87, 87, 88, 92, 92, 33, 119,
+  147, 132, 56, 60, 53, 59, 65, 57, 63, 29, 77, 59, 14, 12, 30, 22,
+  49, 25, 36, 40, 55, 52, 59, 80, 87, 110, 103, 85, 112, 103, 107, 76,
+  118, 111, 88, 4, 53, 65, 68, 65, 64, 61, 64, 64, 64, 63, 61, 61,
+  0, 83, 165, 166, 163, 163, 163, 161, 158, 108, 134, 36, 92, 116, 89, 96,
+  89, 89, 106, 106, 104, 104, 106, 104, 102, 73, 68, 59, 53, 55, 51, 49,
+  45, 42, 40, 29, 48, 41, 49, 61, 51, 57, 71, 75, 92, 92, 80, 96,
+  93, 104, 99, 118, 119, 116, 99, 119, 124, 111, 24, 68, 99, 119, 100, 110,
+  112, 142, 151, 155, 127, 122, 106, 37, 114, 102, 102, 131, 111, 111, 108, 115,
+  106, 107, 91, 32, 63, 85, 108, 48, 46, 46, 51, 48, 37, 36, 53, 4,
+  28, 28, 32, 34, 37, 38, 40, 103, 124, 134, 79, 25, 106, 126, 136, 131,
+  135, 135, 136, 136, 140, 134, 116, 30, 112, 183, 157, 151, 154, 0, 0, 0,
+  2, 4, 0, 0, 5, 5, 1, 6, 5, 4, 4, 2, 8, 2, 2, 1,
+  9, 6, 0, 12, 1, 1, 0, 6, 1, 0, 1, 0, 0, 0, 1, 2,
+  4, 1, 6, 2, 2, 2, 8, 4, 4, 30, 37, 42, 60, 59, 67, 68,
+  68, 76, 76, 71, 64, 67, 65, 64, 84, 64, 67, 37, 41, 37, 37, 30,
+  30, 28, 20, 24, 18, 18, 13, 14, 13, 13, 12, 14, 14, 16, 14, 17,
+  20, 21, 22, 25, 26, 29, 29, 32, 33, 37, 13, 9, 28, 29, 29, 28,
+  30, 30, 32, 32, 28, 12, 26, 6, 20, 10, 16, 10, 16, 34, 53, 68,
+  72, 59, 61, 75, 79, 88, 79, 72, 59, 53, 45, 46, 18, 37, 2, 16,
+  20, 34, 36, 41, 51, 60, 69, 95, 87, 69, 60, 93, 96, 83, 92, 93,
+  68, 53, 48, 38, 25, 12, 22, 18, 9, 13, 13, 12, 5, 8, 8, 5,
+  4, 2, 4, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  2, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 10, 0, 0, 0, 18,
+  0, 0, 0, 29, 0, 0, 6, 20, 26, 32, 32, 79, 107, 111, 118, 111,
+  106, 79, 91, 110, 108, 96, 107, 103, 96, 81, 60, 56, 28, 46, 24, 2,
+  1, 21, 18, 1, 0, 14, 4, 6, 1, 5, 6, 8, 1, 4, 2, 1,
+  6, 17, 20, 1, 6, 4, 2, 33, 36, 2, 2, 20, 21, 24, 25, 32,
+  26, 55, 20, 20, 30, 22, 20, 22, 30, 22, 20, 22, 30, 25, 24, 24,
+  56, 26, 24, 25, 32, 37, 46, 42, 67, 22, 63, 85, 84, 65, 65, 79,
+  79, 64, 67, 71, 65, 61, 46, 52, 57, 44, 48, 49, 53, 59, 53, 80,
+  80, 77, 72, 81, 79, 60, 56, 72, 57, 45, 41, 72, 42, 60, 29, 52,
+  73, 85, 85, 87, 99, 128, 110, 83, 89, 77, 73, 79, 115, 112, 115, 106,
+  88, 73, 61, 57, 48, 40, 41, 44, 64, 49, 63, 44, 51, 65, 72, 48,
+  49, 38, 73, 73, 77, 84, 81, 77, 71, 81, 80, 79, 76, 63, 114, 87,
+  68, 80, 64, 68, 65, 67, 59, 59, 61, 79, 42, 65, 81, 92, 100, 102,
+  106, 104, 103, 110, 100, 81, 36, 51, 158, 107, 104, 84, 57, 51, 46, 41,
+  26, 29, 24, 17, 36, 29, 18, 16, 37, 36, 33, 17, 38, 40, 10, 8,
+  28, 30, 26, 2, 18, 5, 18, 2, 10, 5, 0, 0, 48, 56, 64, 71,
+  77, 83, 89, 96, 103, 102, 32, 97, 61, 65, 55, 56, 59, 55, 49, 44,
+  48, 37, 37, 72, 88, 95, 116, 120, 124, 127, 124, 116, 114, 93, 30, 120,
+  130, 128, 95, 119, 111, 100, 48, 33, 28, 16, 20, 25, 20, 18, 25, 20,
+  14, 10, 14, 21, 8, 25, 65, 52, 63, 46, 45, 65, 96, 103, 114, 114,
+  111, 96, 9, 97, 45, 46, 71, 55, 40, 36, 34, 46, 25, 20, 32, 52,
+  80, 102, 99, 103, 118, 123, 120, 124, 115, 97, 5, 118, 166, 162, 158, 153,
+  153, 95, 77, 41, 32, 21, 22, 38, 45, 49, 57, 89, 104, 110, 93, 104,
+  114, 115, 29, 111, 173, 96, 89, 65, 107, 97, 87, 76, 64, 69, 57, 36,
+  10, 5, 34, 75, 79, 64, 51, 49, 57, 59, 59, 36, 14, 24, 76, 79,
+  81, 76, 87, 83, 84, 72, 79, 68, 80, 77, 87, 87, 93, 104, 99, 85,
+  92, 81, 42, 38, 44, 72, 91, 108, 95, 80, 92, 89, 95, 83, 84, 92,
+  84, 53, 49, 61, 55, 63, 61, 60, 69, 63, 32, 37, 34, 34, 89, 85,
+  76, 67, 76, 76, 64, 64, 67, 55, 56, 63, 71, 83, 71, 73, 49, 42,
+  29, 17, 28, 18, 10, 13, 20, 8, 6, 9, 25, 5, 4, 5, 34, 18,
+  14, 22, 55, 63, 67, 73, 68, 73, 81, 75, 71, 79, 71, 61, 53, 67,
+  84, 69, 73, 72, 75, 71, 77, 60, 49, 4, 37, 104, 107, 107, 111, 102,
+  96, 89, 88, 97, 88, 55, 81, 95, 107, 96, 97, 92, 77, 88, 59, 51,
+  26, 40, 83, 88, 97, 102, 100, 87, 93, 107, 107, 71, 68, 73, 120, 119,
+  122, 122, 120, 116, 122, 119, 114, 76, 80, 110, 115, 119, 114, 100, 107, 119,
+  103, 104, 103, 107, 91, 22, 51, 108, 115, 84, 96, 104, 114, 87, 100, 99,
+  42, 40, 44, 118, 104, 108, 112, 112, 108, 119, 111, 80, 89, 75, 81, 93,
+  112, 104, 108, 102, 89, 91, 95, 64, 36, 5, 38, 97, 111, 92, 87, 97,
+  87, 85, 83, 64, 36, 0, 48, 103, 132, 99, 100, 99, 96, 110, 114, 111,
+  65, 45, 57, 126, 131, 120, 124, 126, 131, 93, 114, 53, 60, 53, 108, 118,
+  118, 102, 103, 96, 92, 112, 106, 91, 49, 56, 63, 100, 108, 100, 104, 71,
+  72, 36, 33, 26, 26, 38, 40, 48, 52, 48, 53, 53, 53, 63, 67, 65,
+  61, 61, 24, 79, 118, 124, 95, 115, 91, 91, 45, 55, 38, 25, 36, 53,
+  80, 87, 84, 92, 97, 97, 93, 85, 72, 79, 107, 140, 153, 143, 139, 139,
+  130, 130, 130, 131, 72, 71, 104, 139, 135, 142, 136, 132, 127, 134, 128, 97,
+  75, 72, 100, 104, 110, 107, 93, 87, 89, 76, 45, 38, 28, 41, 37, 51,
+  51, 46, 25, 28, 25, 51, 22, 24, 59, 53, 81, 97, 99, 116, 120, 126,
+  120, 131, 118, 80, 77, 99, 123, 134, 138, 136, 140, 143, 142, 139, 148, 123,
+  108, 13, 138, 115, 116, 104, 132, 131, 114, 107, 97, 123, 104, 99, 136, 153,
+  139, 143, 148, 147, 139, 138, 132, 130, 57, 0, 29, 115, 159, 122, 119, 124,
+  124, 120, 91, 136, 115, 48, 0, 116, 142, 140, 138, 131, 89, 38, 80, 73,
+  80, 9, 53, 55, 81, 84, 88, 110, 124, 127, 106, 127, 114, 135, 114, 122,
+  130, 128, 127, 138, 138, 148, 134, 119, 99, 33, 124, 139, 111, 127, 135, 108,
+  107, 103, 120, 108, 73, 91, 80, 124, 131, 138, 134, 140, 144, 143, 146, 71,
+  26, 85, 146, 144, 122, 124, 131, 120, 77, 36, 36, 25, 22, 8, 18, 71,
+  75, 77, 87, 99, 107, 106, 115, 122, 102, 44, 115, 163, 167, 167, 167, 165,
+  166, 165, 161, 123, 102, 5, 130, 175, 171, 166, 167, 171, 167, 166, 157, 115,
+  93, 21, 130, 163, 161, 81, 73, 81, 76, 83, 87, 68, 108, 28, 165, 111,
+  182, 190, 197, 88, 76, 67, 69, 63, 64, 51, 48, 12, 10, 77, 68, 57,
+  46, 63, 61, 53, 49, 46, 63, 17, 91, 92, 95, 89, 84, 89, 89, 100,
+  87, 93, 85, 77, 69, 81, 73, 80, 80, 87, 85, 84, 83, 81, 85, 41,
+  110, 91, 77, 71, 80, 69, 88, 68, 76, 72, 46, 48, 40, 59, 72, 65,
+  68, 55, 52, 53, 60, 68, 44, 40, 75, 84, 79, 84, 91, 77, 83, 80,
+  81, 77, 73, 60, 72, 68, 67, 67, 59, 67, 55, 55, 60, 53, 57, 42,
+  9, 28, 75, 81, 59, 69, 71, 83, 73, 68, 34, 16, 57, 83, 83, 89,
+  77, 85, 87, 99, 89, 79, 85, 71, 38, 68, 89, 102, 96, 72, 84, 83,
+  76, 79, 64, 53, 5, 80, 114, 92, 95, 97, 87, 99, 81, 85, 106, 85,
+  57, 81, 111, 107, 96, 103, 99, 103, 77, 92, 57, 26, 84, 96, 104, 95,
+  97, 93, 100, 93, 106, 102, 107, 102, 93, 84, 84, 84, 84, 85, 84, 84,
+  88, 89, 97, 92, 75, 95, 99, 92, 85, 100, 103, 106, 106, 112, 110, 106,
+  24, 119, 132, 119, 116, 119, 112, 103, 103, 100, 102, 52, 33, 89, 103, 107,
+  106, 114, 112, 115, 115, 108, 99, 87, 69, 80, 112, 120, 110, 112, 111, 104,
+  97, 96, 72, 38, 14, 110, 118, 119, 110, 115, 116, 112, 108, 107, 92, 40,
+  2, 142, 146, 142, 140, 143, 142, 136, 130, 144, 139, 102, 46, 130, 146, 144,
+  136, 136, 126, 134, 126, 122, 84, 60, 110, 132, 118, 114, 111, 128, 128, 122,
+  124, 124, 126, 116, 56, 99, 119, 122, 119, 118, 114, 110, 102, 75, 53, 25,
+  85, 106, 87, 100, 102, 97, 108, 99, 99, 93, 84, 69, 55, 20, 110, 127,
+  118, 118, 111, 119, 128, 110, 122, 104, 85, 110, 84, 106, 112, 120, 111, 124,
+  111, 119, 96, 79, 83, 128, 151, 124, 127, 128, 122, 112, 128, 124, 112, 118,
+  93, 130, 128, 132, 128, 126, 126, 132, 128, 126, 116, 126, 116, 124, 126, 127,
+  115, 126, 120, 122, 111, 103, 97, 92, 130, 124, 126, 128, 136, 142, 136, 142,
+  150, 153, 79, 88, 102, 166, 170, 171, 170, 173, 171, 166, 169, 167, 118, 77,
+  115, 146, 143, 143, 143, 136, 138, 131, 127, 124, 136, 95, 30, 108, 123, 115,
+  104, 110, 111, 110, 130, 128, 103, 106, 108, 92, 120, 123, 128, 115, 124, 123,
+  124, 119, 143, 69, 0, 161, 170, 169, 171, 166, 166, 165, 158, 163, 162, 136,
+  85, 0, 119, 146, 155, 158, 157, 154, 147, 135, 126, 77, 20, 103, 142, 153,
+  154, 153, 150, 153, 150, 142, 143, 81, 102, 142, 153, 148, 159, 158, 154, 147,
+  139, 139, 124, 111, 32, 142, 144, 130, 114, 110, 114, 148, 138, 155, 147, 73,
+  60, 127, 159, 165, 169, 165, 159, 162, 166, 155, 96, 26, 116, 157, 161, 166,
+  166, 162, 162, 154, 135, 140, 114, 71, 71, 143, 177, 174, 170, 173, 173, 171,
+  150, 171, 136, 120, 42, 150, 170, 166, 166, 166, 158, 148, 153, 159, 143, 114,
+  8, 131, 178, 173, 170, 163, 163, 165, 161, 167, 155, 106, 17, 150, 151, 175,
+  171, 167, 159, 161, 170, 158, 96, 122, 26, 173, 131, 187, 187, 190, 107, 104,
+  88, 84, 68, 68, 14, 25, 10, 6, 55, 63, 40, 38, 45, 28, 40, 49,
+  45, 18, 17, 95, 112, 123, 136, 163, 174, 189, 197, 205, 205, 213, 214, 221,
+  212, 222, 222, 218, 202, 193, 147, 112, 107, 107, 75, 91, 89, 92, 88, 81,
+  88, 91, 65, 41, 40, 40, 38, 41, 60, 80, 92, 68, 60, 72, 68, 72,
+  67, 59, 29, 81, 89, 76, 77, 67, 71, 71, 69, 63, 72, 71, 63, 61,
+  80, 81, 80, 69, 67, 59, 60, 67, 69, 51, 45, 12, 85, 81, 93, 92,
+  77, 88, 87, 81, 83, 67, 17, 71, 107, 93, 72, 96, 87, 81, 80, 80,
+  91, 85, 68, 45, 68, 92, 100, 83, 81, 88, 84, 91, 75, 64, 60, 4,
+  85, 107, 104, 95, 83, 91, 85, 100, 85, 96, 92, 42, 75, 99, 99, 102,
+  87, 88, 81, 80, 87, 63, 33, 89, 81, 89, 93, 85, 100, 99, 107, 108,
+  96, 89, 73, 103, 87, 104, 97, 99, 99, 97, 91, 80, 79, 68, 65, 88,
+  108, 102, 103, 108, 107, 103, 107, 107, 106, 106, 100, 22, 122, 131, 97, 96,
+  97, 92, 93, 89, 99, 97, 52, 34, 87, 110, 110, 103, 100, 96, 102, 103,
+  112, 100, 92, 52, 73, 108, 100, 104, 114, 112, 97, 88, 95, 77, 65, 22,
+  108, 112, 111, 110, 110, 103, 103, 103, 96, 96, 53, 0, 123, 140, 142, 143,
+  139, 140, 143, 135, 134, 138, 116, 56, 139, 136, 135, 122, 115, 118, 108, 115,
+  115, 123, 107, 128, 116, 110, 114, 103, 112, 89, 93, 92, 97, 79, 77, 64,
+  122, 144, 118, 120, 119, 124, 115, 110, 112, 67, 24, 95, 103, 92, 104, 97,
+  91, 103, 97, 92, 93, 79, 73, 65, 26, 106, 139, 115, 118, 130, 118, 119,
+  116, 106, 114, 68, 75, 138, 134, 132, 140, 136, 130, 126, 118, 106, 87, 80,
+  140, 147, 120, 122, 123, 118, 112, 123, 134, 130, 136, 132, 140, 139, 148, 143,
+  143, 143, 165, 143, 148, 142, 147, 132, 146, 146, 148, 143, 140, 139, 140, 140,
+  126, 107, 76, 134, 138, 138, 140, 138, 135, 122, 135, 135, 127, 95, 69, 135,
+  175, 169, 165, 163, 170, 166, 174, 162, 143, 134, 91, 118, 140, 146, 135, 135,
+  139, 132, 131, 131, 139, 128, 91, 29, 99, 132, 118, 143, 114, 140, 122, 139,
+  142, 134, 114, 97, 115, 144, 146, 157, 154, 151, 143, 157, 146, 138, 76, 18,
+  155, 169, 163, 165, 166, 165, 162, 162, 157, 167, 140, 76, 0, 136, 154, 143,
+  146, 143, 130, 144, 147, 131, 67, 29, 108, 142, 158, 155, 142, 139, 148, 134,
+  134, 108, 88, 119, 163, 155, 159, 148, 135, 142, 146, 143, 136, 108, 99, 25,
+  139, 143, 142, 119, 120, 138, 144, 142, 148, 142, 81, 95, 151, 166, 161, 158,
+  161, 157, 157, 148, 158, 95, 29, 131, 161, 155, 155, 151, 146, 146, 143, 147,
+  157, 139, 76, 60, 157, 169, 170, 177, 169, 147, 146, 165, 144, 150, 124, 46,
+  155, 165, 157, 150, 154, 148, 155, 150, 154, 127, 106, 6, 135, 170, 169, 173,
+  169, 165, 165, 173, 163, 157, 120, 16, 134, 153, 153, 175, 173, 174, 171, 173,
+  166, 114, 118, 21, 174, 190, 187, 185, 187, 73, 52, 68, 60, 40, 22, 28,
+  46, 10, 13, 44, 57, 44, 41, 28, 24, 26, 30, 38, 61, 76, 110, 204,
+  216, 228, 230, 230, 232, 234, 234, 238, 241, 244, 242, 241, 238, 236, 236, 233,
+  229, 222, 224, 189, 139, 122, 110, 140, 159, 191, 165, 135, 92, 67, 38, 40,
+  40, 42, 41, 84, 96, 84, 81, 67, 80, 85, 87, 69, 80, 68, 73, 72,
+  73, 52, 75, 69, 77, 69, 71, 63, 63, 64, 79, 97, 108, 91, 95, 91,
+  93, 89, 75, 59, 51, 46, 12, 93, 85, 91, 88, 89, 77, 77, 71, 69,
+  64, 26, 77, 85, 96, 84, 80, 87, 75, 81, 91, 92, 77, 63, 37, 63,
+  95, 107, 87, 80, 87, 91, 84, 77, 61, 48, 5, 73, 99, 97, 95, 92,
+  89, 87, 69, 104, 104, 83, 49, 80, 100, 97, 89, 87, 85, 75, 85, 89,
+  67, 46, 55, 84, 87, 95, 104, 111, 91, 92, 96, 83, 85, 65, 93, 104,
+  85, 102, 97, 100, 84, 92, 92, 91, 63, 60, 96, 104, 99, 102, 95, 100,
+  102, 79, 102, 103, 65, 68, 32, 79, 134, 99, 92, 99, 81, 89, 92, 97,
+  95, 56, 32, 87, 104, 106, 92, 95, 96, 95, 97, 111, 99, 85, 49, 79,
+  102, 96, 85, 115, 119, 97, 89, 100, 65, 65, 21, 83, 120, 108, 107, 110,
+  99, 112, 111, 95, 88, 45, 6, 79, 139, 132, 123, 119, 120, 126, 128, 119,
+  116, 122, 118, 123, 136, 138, 131, 120, 132, 115, 123, 104, 111, 100, 111, 102,
+  112, 111, 107, 104, 110, 111, 110, 104, 108, 104, 107, 112, 123, 132, 103, 110,
+  111, 136, 112, 107, 61, 21, 84, 96, 92, 99, 104, 106, 100, 100, 96, 88,
+  79, 67, 59, 22, 103, 123, 112, 122, 130, 130, 130, 126, 116, 114, 61, 120,
+  147, 142, 134, 126, 126, 123, 118, 119, 95, 87, 88, 123, 140, 112, 124, 120,
+  116, 122, 150, 212, 214, 208, 218, 228, 230, 220, 226, 236, 238, 236, 233, 236,
+  248, 233, 234, 232, 248, 226, 216, 220, 249, 226, 179, 132, 107, 81, 131, 158,
+  169, 166, 162, 163, 153, 150, 146, 131, 96, 87, 150, 170, 165, 163, 169, 169,
+  177, 173, 142, 158, 128, 100, 103, 143, 139, 135, 131, 136, 134, 134, 134, 139,
+  126, 77, 21, 106, 148, 144, 153, 127, 122, 139, 136, 120, 126, 114, 65, 130,
+  143, 144, 148, 148, 147, 128, 148, 148, 140, 65, 20, 96, 166, 163, 159, 157,
+  155, 153, 154, 155, 163, 139, 75, 0, 131, 128, 135, 122, 148, 136, 132, 134,
+  142, 91, 33, 118, 143, 147, 148, 144, 143, 142, 126, 128, 110, 68, 116, 162,
+  155, 147, 138, 148, 139, 138, 127, 118, 115, 100, 28, 130, 143, 142, 144, 151,
+  154, 140, 144, 143, 138, 67, 69, 159, 163, 163, 151, 151, 158, 161, 159, 159,
+  93, 32, 132, 154, 153, 151, 147, 144, 142, 142, 142, 150, 138, 81, 57, 150,
+  167, 170, 179, 169, 147, 148, 161, 140, 132, 126, 59, 147, 169, 155, 153, 144,
+  148, 154, 153, 155, 126, 103, 6, 138, 171, 170, 161, 163, 169, 167, 170, 157,
+  126, 116, 13, 136, 124, 147, 173, 166, 170, 166, 159, 161, 150, 127, 24, 171,
+  143, 179, 171, 169, 24, 25, 36, 25, 36, 14, 46, 37, 10, 14, 49, 57,
+  48, 26, 21, 22, 24, 71, 89, 150, 195, 218, 234, 242, 240, 241, 238, 238,
+  234, 238, 244, 245, 244, 241, 240, 238, 234, 228, 232, 230, 230, 224, 224, 217,
+  224, 210, 202, 212, 206, 189, 122, 92, 65, 37, 38, 46, 53, 57, 114, 186,
+  195, 189, 191, 199, 205, 206, 204, 199, 198, 195, 195, 130, 103, 93, 89, 91,
+  79, 76, 87, 88, 132, 171, 201, 206, 199, 201, 194, 132, 92, 76, 42, 52,
+  37, 13, 60, 84, 77, 73, 72, 71, 63, 73, 77, 65, 29, 52, 84, 96,
+  77, 81, 80, 76, 77, 81, 89, 73, 64, 36, 71, 84, 100, 89, 77, 84,
+  88, 83, 77, 60, 51, 6, 65, 103, 107, 102, 92, 102, 76, 91, 95, 93,
+  83, 40, 80, 91, 100, 81, 81, 91, 80, 96, 83, 65, 44, 49, 99, 104,
+  83, 88, 89, 100, 88, 92, 88, 80, 59, 100, 103, 93, 92, 89, 87, 91,
+  110, 100, 89, 81, 57, 100, 103, 108, 91, 100, 100, 96, 100, 92, 100, 103,
+  95, 34, 79, 131, 103, 93, 88, 76, 81, 80, 97, 96, 56, 28, 87, 103,
+  97, 87, 87, 87, 88, 92, 104, 92, 79, 52, 69, 97, 93, 85, 104, 91,
+  84, 89, 96, 68, 37, 8, 83, 123, 100, 99, 107, 111, 106, 100, 99, 85,
+  45, 4, 124, 131, 126, 123, 130, 127, 122, 124, 154, 194, 205, 210, 218, 222,
+  229, 232, 236, 237, 250, 250, 249, 242, 244, 229, 238, 242, 240, 237, 233, 233,
+  230, 230, 210, 212, 195, 214, 206, 234, 199, 191, 186, 186, 206, 161, 116, 65,
+  28, 91, 84, 99, 104, 97, 96, 104, 85, 89, 63, 75, 57, 51, 16, 102,
+  131, 118, 123, 132, 132, 131, 118, 104, 116, 48, 127, 146, 138, 123, 123, 128,
+  131, 126, 128, 102, 87, 60, 119, 139, 110, 115, 115, 116, 115, 154, 209, 213,
+  212, 221, 222, 226, 225, 222, 228, 230, 232, 232, 233, 232, 230, 230, 229, 222,
+  224, 220, 220, 220, 213, 165, 122, 97, 33, 124, 150, 155, 157, 157, 157, 166,
+  165, 140, 136, 99, 96, 124, 170, 163, 178, 174, 158, 157, 134, 142, 143, 134,
+  96, 93, 146, 142, 131, 136, 136, 135, 134, 131, 124, 123, 99, 10, 110, 150,
+  126, 146, 122, 132, 131, 153, 116, 115, 112, 75, 111, 146, 148, 153, 155, 154,
+  153, 150, 132, 134, 65, 1, 99, 167, 157, 153, 148, 153, 162, 161, 163, 166,
+  146, 73, 1, 119, 139, 143, 126, 158, 132, 134, 138, 116, 84, 20, 111, 154,
+  153, 144, 135, 134, 143, 130, 130, 95, 72, 110, 163, 150, 151, 150, 144, 142,
+  132, 139, 143, 111, 99, 36, 128, 140, 147, 148, 142, 143, 144, 148, 138, 140,
+  71, 76, 155, 157, 154, 153, 158, 167, 162, 158, 161, 99, 42, 124, 159, 154,
+  150, 147, 143, 143, 131, 136, 139, 126, 77, 8, 154, 167, 174, 178, 148, 150,
+  151, 143, 146, 136, 131, 64, 140, 169, 134, 161, 131, 155, 155, 151, 157, 116,
+  100, 8, 128, 171, 170, 173, 167, 169, 166, 170, 159, 126, 104, 12, 135, 146,
+  146, 136, 144, 144, 143, 139, 157, 122, 131, 32, 174, 140, 174, 181, 169, 17,
+  16, 18, 28, 18, 14, 45, 33, 10, 16, 67, 51, 28, 24, 32, 51, 75,
+  171, 233, 241, 242, 245, 240, 238, 238, 237, 216, 185, 171, 175, 178, 169, 153,
+  139, 132, 127, 116, 111, 118, 123, 136, 187, 208, 221, 220, 214, 210, 197, 199,
+  183, 131, 91, 56, 34, 40, 34, 55, 108, 142, 208, 205, 218, 206, 218, 221,
+  224, 221, 232, 228, 232, 229, 228, 224, 230, 228, 225, 218, 208, 217, 220, 213,
+  221, 217, 202, 198, 189, 191, 132, 91, 69, 38, 51, 40, 16, 60, 84, 65,
+  64, 93, 77, 79, 77, 68, 63, 30, 30, 80, 88, 87, 84, 81, 89, 89,
+  92, 91, 75, 64, 34, 63, 106, 110, 80, 85, 85, 89, 81, 76, 60, 48,
+  9, 81, 104, 96, 92, 85, 100, 83, 87, 96, 83, 87, 40, 84, 88, 95,
+  87, 83, 93, 87, 91, 84, 65, 44, 38, 97, 87, 84, 88, 97, 87, 97,
+  92, 80, 73, 55, 89, 103, 88, 84, 85, 96, 95, 91, 92, 85, 63, 57,
+  100, 107, 116, 104, 102, 85, 106, 100, 88, 102, 100, 96, 37, 81, 127, 106,
+  89, 87, 75, 77, 89, 100, 95, 57, 28, 93, 97, 93, 88, 89, 84, 84,
+  92, 100, 89, 84, 52, 77, 93, 91, 80, 77, 114, 110, 88, 92, 71, 37,
+  17, 92, 123, 107, 107, 107, 100, 99, 85, 99, 104, 42, 4, 139, 139, 126,
+  124, 131, 119, 131, 197, 202, 214, 213, 213, 220, 232, 232, 233, 237, 241, 249,
+  250, 250, 248, 246, 246, 232, 242, 245, 237, 232, 236, 240, 236, 228, 233, 225,
+  221, 214, 224, 216, 209, 195, 220, 206, 173, 110, 64, 28, 88, 81, 97, 100,
+  95, 100, 93, 92, 89, 65, 72, 55, 46, 13, 110, 128, 118, 127, 124, 132,
+  132, 124, 104, 107, 42, 126, 140, 124, 132, 134, 134, 139, 135, 132, 118, 88,
+  88, 118, 144, 115, 120, 124, 116, 112, 131, 154, 201, 210, 216, 217, 213, 220,
+  212, 216, 221, 224, 226, 230, 230, 230, 225, 222, 225, 220, 213, 210, 214, 193,
+  132, 118, 67, 45, 132, 151, 142, 154, 154, 158, 158, 163, 142, 142, 100, 92,
+  127, 165, 157, 153, 134, 135, 138, 128, 135, 139, 147, 114, 91, 143, 142, 138,
+  130, 134, 136, 131, 130, 131, 138, 96, 24, 131, 126, 144, 124, 135, 140, 144,
+  132, 132, 124, 107, 73, 112, 153, 142, 153, 147, 144, 142, 140, 146, 143, 60,
+  2, 162, 161, 155, 158, 161, 159, 159, 166, 163, 162, 144, 104, 2, 120, 153,
+  136, 161, 142, 122, 136, 127, 122, 77, 14, 110, 153, 153, 150, 140, 147, 146,
+  136, 123, 103, 69, 118, 163, 143, 143, 157, 146, 142, 142, 142, 128, 120, 107,
+  42, 136, 153, 151, 155, 158, 150, 143, 146, 140, 151, 77, 88, 150, 157, 147,
+  159, 166, 165, 159, 155, 153, 107, 38, 136, 158, 157, 150, 146, 144, 147, 130,
+  140, 144, 144, 81, 13, 151, 166, 154, 151, 148, 159, 162, 159, 159, 140, 131,
+  71, 126, 170, 159, 170, 131, 142, 154, 157, 157, 134, 110, 12, 138, 173, 170,
+  167, 166, 161, 163, 166, 166, 147, 116, 9, 150, 140, 138, 134, 130, 132, 132,
+  132, 153, 118, 123, 26, 173, 143, 173, 169, 161, 56, 22, 16, 16, 14, 13,
+  49, 21, 13, 9, 68, 55, 28, 37, 64, 110, 221, 245, 242, 240, 242, 242,
+  237, 226, 194, 159, 124, 112, 107, 110, 108, 108, 107, 106, 103, 106, 103, 103,
+  102, 102, 99, 102, 115, 124, 151, 185, 190, 197, 185, 136, 108, 71, 32, 33,
+  36, 41, 57, 122, 150, 230, 237, 202, 221, 214, 228, 229, 234, 232, 228, 226,
+  234, 238, 236, 230, 230, 224, 221, 226, 221, 217, 216, 214, 220, 210, 202, 205,
+  195, 114, 75, 59, 40, 48, 40, 18, 84, 81, 77, 73, 84, 71, 79, 75,
+  81, 81, 61, 22, 76, 87, 99, 99, 99, 92, 92, 85, 85, 71, 63, 36,
+  60, 93, 99, 89, 85, 88, 95, 84, 77, 77, 51, 8, 73, 102, 96, 102,
+  93, 100, 97, 100, 99, 72, 69, 30, 80, 85, 102, 80, 103, 88, 88, 81,
+  85, 76, 65, 38, 91, 88, 87, 84, 84, 88, 89, 89, 79, 63, 52, 84,
+  95, 83, 81, 89, 97, 88, 88, 85, 80, 53, 53, 91, 100, 107, 107, 97,
+  85, 100, 91, 100, 83, 102, 91, 40, 59, 84, 127, 104, 85, 81, 76, 85,
+  102, 89, 57, 33, 80, 92, 91, 79, 81, 79, 77, 100, 103, 99, 79, 48,
+  65, 85, 85, 77, 75, 111, 87, 88, 89, 73, 53, 20, 96, 108, 100, 111,
+  107, 110, 107, 97, 102, 89, 48, 1, 111, 136, 124, 124, 126, 119, 186, 201,
+  206, 212, 216, 221, 220, 226, 230, 236, 234, 238, 246, 249, 248, 249, 250, 248,
+  244, 236, 245, 241, 240, 241, 230, 230, 232, 236, 228, 226, 217, 213, 210, 206,
+  202, 208, 163, 142, 76, 65, 28, 88, 88, 92, 104, 99, 95, 89, 84, 88,
+  67, 68, 63, 55, 17, 81, 136, 119, 128, 122, 124, 130, 124, 119, 99, 51,
+  123, 132, 138, 143, 144, 155, 150, 147, 140, 136, 116, 103, 127, 148, 122, 120,
+  104, 106, 119, 110, 119, 126, 132, 131, 130, 122, 119, 115, 119, 116, 116, 116,
+  120, 126, 126, 123, 123, 126, 120, 119, 118, 116, 118, 104, 103, 65, 68, 131,
+  148, 139, 140, 157, 153, 154, 154, 143, 136, 104, 99, 122, 163, 167, 148, 151,
+  167, 154, 155, 161, 120, 131, 134, 80, 131, 148, 140, 131, 135, 131, 134, 139,
+  131, 134, 87, 22, 103, 136, 130, 127, 128, 130, 126, 131, 138, 124, 104, 72,
+  104, 151, 127, 157, 161, 150, 150, 146, 148, 127, 76, 16, 159, 166, 159, 163,
+  158, 161, 159, 166, 162, 161, 144, 80, 5, 131, 153, 144, 146, 130, 131, 118,
+  140, 99, 71, 32, 114, 136, 158, 139, 144, 143, 136, 139, 126, 115, 73, 122,
+  161, 150, 147, 148, 147, 136, 138, 154, 131, 108, 107, 30, 140, 147, 151, 136,
+  147, 147, 140, 144, 136, 140, 69, 124, 153, 143, 151, 162, 161, 157, 161, 159,
+  154, 110, 53, 104, 134, 155, 153, 150, 144, 150, 147, 134, 136, 144, 79, 48,
+  143, 167, 154, 157, 157, 161, 159, 159, 159, 140, 135, 75, 134, 170, 157, 139,
+  132, 136, 153, 157, 157, 132, 103, 9, 143, 170, 171, 170, 165, 162, 169, 170,
+  166, 146, 122, 9, 126, 131, 130, 127, 118, 116, 119, 130, 139, 126, 116, 18,
+  158, 181, 169, 165, 173, 95, 34, 29, 28, 29, 36, 40, 33, 12, 21, 49,
+  26, 38, 69, 155, 232, 246, 241, 241, 233, 225, 205, 178, 132, 115, 108, 110,
+  110, 110, 110, 108, 110, 115, 107, 91, 73, 64, 71, 81, 96, 130, 112, 100,
+  99, 95, 104, 106, 103, 103, 99, 92, 49, 33, 33, 36, 32, 55, 104, 127,
+  182, 191, 194, 162, 124, 116, 122, 128, 127, 124, 128, 140, 169, 199, 208, 214,
+  220, 224, 222, 213, 205, 204, 210, 208, 202, 187, 139, 114, 88, 72, 37, 34,
+  45, 34, 18, 56, 79, 77, 73, 73, 85, 84, 75, 76, 84, 48, 25, 64,
+  87, 83, 85, 91, 83, 85, 87, 84, 67, 64, 30, 57, 85, 102, 104, 106,
+  99, 99, 84, 79, 65, 46, 6, 67, 96, 95, 96, 88, 100, 92, 93, 88,
+  84, 52, 26, 80, 88, 97, 79, 89, 89, 92, 84, 80, 84, 59, 38, 61,
+  95, 88, 95, 88, 88, 88, 84, 77, 59, 45, 75, 103, 88, 84, 89, 92,
+  92, 89, 89, 83, 53, 48, 95, 95, 99, 95, 96, 96, 102, 99, 100, 80,
+  68, 81, 46, 52, 85, 104, 116, 95, 81, 73, 89, 93, 92, 63, 28, 77,
+  97, 87, 87, 77, 79, 95, 122, 93, 91, 75, 34, 76, 91, 73, 71, 77,
+  76, 83, 83, 81, 65, 55, 22, 68, 122, 112, 114, 106, 95, 97, 108, 97,
+  95, 42, 8, 83, 134, 124, 124, 132, 118, 116, 158, 198, 206, 202, 183, 139,
+  128, 126, 123, 127, 123, 115, 110, 114, 115, 116, 118, 116, 112, 110, 112, 115,
+  114, 112, 107, 108, 116, 120, 118, 115, 108, 104, 108, 88, 83, 81, 79, 69,
+  34, 24, 85, 95, 97, 93, 96, 93, 87, 88, 87, 61, 63, 57, 46, 14,
+  100, 118, 122, 118, 124, 128, 116, 122, 112, 88, 53, 126, 136, 153, 163, 190,
+  197, 206, 191, 186, 169, 147, 136, 123, 146, 114, 124, 111, 99, 104, 108, 122,
+  110, 100, 103, 107, 107, 106, 106, 106, 104, 106, 106, 106, 104, 106, 110, 108,
+  107, 107, 111, 108, 106, 110, 111, 46, 44, 60, 131, 144, 140, 148, 146, 147,
+  150, 159, 140, 135, 116, 83, 95, 146, 159, 144, 131, 151, 166, 161, 136, 135,
+  135, 123, 91, 114, 139, 142, 135, 136, 134, 132, 131, 131, 128, 68, 18, 102,
+  143, 136, 120, 135, 130, 126, 131, 138, 120, 104, 52, 134, 147, 143, 136, 158,
+  161, 148, 158, 146, 124, 63, 14, 96, 159, 153, 162, 163, 155, 161, 162, 162,
+  161, 140, 76, 5, 122, 130, 154, 146, 118, 110, 126, 96, 93, 80, 34, 108,
+  136, 153, 146, 151, 142, 138, 131, 134, 99, 48, 144, 162, 153, 157, 157, 140,
+  142, 146, 142, 126, 110, 102, 40, 136, 148, 134, 151, 144, 140, 142, 144, 132,
+  122, 59, 93, 161, 165, 167, 151, 140, 159, 161, 170, 155, 99, 56, 87, 134,
+  158, 151, 150, 148, 148, 130, 128, 139, 139, 88, 40, 140, 166, 158, 159, 162,
+  150, 150, 159, 158, 143, 138, 80, 104, 166, 161, 128, 130, 140, 154, 157, 157,
+  134, 103, 12, 134, 171, 169, 167, 163, 167, 166, 166, 165, 136, 124, 8, 134,
+  131, 124, 120, 118, 116, 112, 127, 147, 135, 115, 24, 166, 183, 169, 158, 173,
+  71, 73, 53, 61, 45, 56, 28, 26, 12, 24, 25, 36, 85, 198, 240, 244,
+  241, 242, 242, 199, 153, 119, 110, 110, 112, 114, 118, 108, 124, 120, 104, 72,
+  38, 20, 20, 17, 24, 17, 21, 25, 49, 73, 122, 118, 99, 102, 95, 95,
+  91, 102, 87, 29, 28, 29, 33, 33, 56, 76, 100, 97, 115, 102, 107, 91,
+  85, 84, 95, 88, 92, 88, 100, 95, 97, 106, 106, 110, 104, 106, 106, 102,
+  99, 102, 107, 108, 95, 92, 83, 69, 33, 36, 41, 42, 34, 21, 46, 75,
+  83, 75, 88, 77, 83, 83, 80, 76, 51, 28, 53, 83, 81, 81, 76, 80,
+  85, 88, 80, 61, 60, 24, 61, 72, 87, 91, 88, 84, 81, 85, 71, 69,
+  49, 8, 67, 89, 102, 96, 97, 92, 93, 95, 85, 81, 65, 26, 73, 83,
+  97, 97, 84, 89, 79, 87, 65, 63, 53, 44, 53, 52, 69, 67, 63, 65,
+  68, 69, 76, 72, 45, 83, 100, 84, 79, 89, 89, 88, 89, 88, 85, 61,
+  42, 93, 92, 92, 88, 85, 91, 88, 93, 92, 93, 92, 91, 69, 52, 89,
+  104, 96, 77, 71, 73, 92, 88, 89, 64, 25, 87, 103, 92, 85, 76, 75,
+  95, 111, 93, 87, 75, 37, 67, 84, 73, 71, 64, 67, 68, 75, 67, 63,
+  44, 22, 65, 119, 96, 69, 88, 103, 104, 87, 93, 93, 40, 6, 120, 126,
+  123, 120, 123, 120, 124, 124, 124, 123, 120, 114, 114, 111, 111, 110, 110, 106,
+  104, 102, 102, 102, 103, 103, 102, 97, 97, 96, 96, 95, 96, 88, 93, 92,
+  92, 92, 92, 87, 87, 87, 83, 76, 60, 57, 33, 24, 32, 83, 80, 93,
+  89, 77, 63, 67, 56, 45, 60, 57, 61, 48, 8, 103, 138, 124, 122, 120,
+  120, 123, 116, 110, 57, 83, 136, 150, 194, 213, 221, 221, 212, 208, 213, 213,
+  209, 186, 163, 144, 119, 95, 96, 102, 87, 97, 88, 100, 100, 97, 110, 118,
+  112, 112, 112, 111, 110, 110, 114, 115, 115, 115, 114, 112, 115, 115, 114, 118,
+  96, 41, 51, 46, 21, 123, 134, 147, 134, 144, 130, 126, 122, 146, 126, 112,
+  85, 106, 126, 136, 130, 153, 138, 139, 126, 123, 120, 119, 132, 93, 103, 124,
+  146, 144, 142, 134, 143, 144, 131, 127, 103, 13, 111, 146, 146, 140, 134, 140,
+  131, 136, 146, 103, 104, 53, 99, 146, 146, 150, 143, 120, 126, 135, 142, 136,
+  61, 6, 100, 163, 155, 158, 157, 157, 161, 163, 159, 157, 154, 71, 6, 114,
+  143, 135, 112, 110, 99, 93, 114, 97, 79, 33, 111, 147, 151, 155, 138, 136,
+  139, 135, 138, 107, 57, 104, 159, 148, 147, 142, 140, 144, 139, 142, 140, 107,
+  102, 44, 140, 150, 144, 140, 142, 140, 139, 140, 136, 81, 57, 131, 143, 169,
+  154, 148, 144, 150, 161, 153, 159, 93, 75, 80, 140, 147, 146, 157, 148, 144,
+  134, 130, 130, 131, 76, 14, 143, 165, 159, 151, 157, 157, 150, 147, 150, 150,
+  135, 107, 104, 159, 153, 150, 136, 144, 153, 154, 154, 111, 100, 13, 139, 171,
+  166, 165, 161, 162, 162, 166, 163, 155, 118, 8, 127, 123, 115, 124, 112, 118,
+  114, 127, 143, 126, 118, 40, 170, 153, 173, 174, 189, 12, 12, 14, 13, 12,
+  13, 13, 10, 10, 34, 32, 84, 216, 245, 242, 244, 241, 245, 206, 139, 112,
+  114, 115, 120, 122, 118, 122, 127, 119, 81, 37, 16, 13, 12, 13, 14, 18,
+  18, 18, 21, 18, 37, 69, 108, 155, 118, 100, 99, 97, 102, 83, 29, 25,
+  25, 30, 32, 44, 75, 73, 73, 68, 71, 87, 89, 91, 91, 92, 93, 95,
+  92, 93, 93, 95, 96, 95, 95, 95, 92, 92, 91, 87, 87, 91, 88, 84,
+  81, 56, 29, 32, 28, 41, 41, 37, 21, 30, 72, 73, 83, 71, 48, 59,
+  52, 42, 40, 42, 49, 32, 46, 63, 75, 73, 72, 72, 69, 75, 61, 60,
+  22, 61, 67, 88, 92, 89, 85, 81, 69, 67, 64, 45, 12, 69, 73, 75,
+  75, 75, 75, 75, 76, 79, 67, 61, 26, 69, 79, 92, 83, 63, 75, 72,
+  63, 63, 71, 64, 60, 64, 76, 60, 80, 72, 75, 65, 75, 75, 51, 45,
+  68, 81, 91, 76, 81, 84, 85, 79, 84, 80, 60, 41, 95, 92, 92, 83,
+  87, 85, 87, 81, 84, 80, 88, 77, 80, 52, 64, 71, 72, 72, 73, 80,
+  81, 87, 87, 65, 22, 91, 85, 93, 83, 76, 75, 72, 77, 83, 81, 67,
+  51, 64, 77, 63, 56, 60, 60, 61, 61, 63, 61, 32, 24, 49, 93, 100,
+  75, 88, 99, 96, 92, 97, 104, 37, 2, 112, 130, 124, 122, 118, 118, 120,
+  115, 112, 103, 106, 102, 88, 96, 81, 87, 93, 84, 118, 115, 112, 115, 114,
+  114, 114, 112, 111, 110, 106, 110, 107, 103, 100, 106, 102, 102, 106, 103, 81,
+  49, 32, 28, 24, 24, 21, 16, 36, 32, 44, 46, 41, 40, 40, 41, 40,
+  44, 40, 48, 45, 41, 8, 73, 126, 128, 128, 126, 132, 126, 114, 107, 49,
+  95, 142, 183, 222, 222, 214, 225, 213, 212, 221, 217, 205, 199, 175, 118, 103,
+  112, 102, 110, 107, 106, 93, 104, 114, 68, 80, 77, 116, 170, 114, 124, 128,
+  126, 136, 132, 134, 138, 138, 138, 138, 135, 127, 104, 75, 37, 59, 48, 29,
+  95, 127, 134, 136, 135, 139, 135, 140, 136, 132, 130, 126, 134, 134, 106, 106,
+  114, 107, 106, 108, 122, 123, 108, 99, 122, 120, 120, 124, 119, 120, 120, 102,
+  116, 115, 116, 68, 20, 107, 130, 131, 135, 136, 131, 136, 138, 127, 120, 99,
+  49, 146, 157, 144, 143, 119, 142, 140, 130, 132, 132, 59, 8, 148, 159, 154,
+  155, 151, 158, 151, 155, 151, 157, 134, 106, 6, 126, 146, 110, 123, 95, 104,
+  97, 103, 96, 72, 16, 111, 142, 144, 143, 127, 132, 138, 140, 119, 95, 55,
+  102, 139, 146, 139, 139, 144, 144, 147, 146, 139, 110, 116, 53, 151, 148, 134,
+  142, 138, 136, 122, 136, 122, 80, 60, 122, 118, 134, 148, 146, 146, 130, 143,
+  135, 134, 104, 79, 60, 115, 136, 138, 119, 127, 130, 132, 131, 130, 135, 91,
+  18, 144, 147, 151, 144, 147, 142, 146, 139, 144, 136, 140, 135, 132, 103, 107,
+  112, 142, 143, 119, 147, 151, 142, 104, 22, 139, 170, 165, 161, 154, 151, 147,
+  151, 153, 140, 126, 9, 153, 120, 114, 116, 114, 127, 128, 132, 126, 119, 108,
+  26, 166, 175, 161, 159, 163, 10, 4, 13, 13, 9, 5, 12, 24, 63, 32,
+  63, 190, 242, 240, 241, 241, 245, 199, 143, 114, 122, 124, 126, 120, 111, 126,
+  132, 124, 81, 22, 10, 9, 9, 12, 18, 18, 22, 21, 24, 18, 20, 24,
+  46, 79, 144, 158, 122, 120, 120, 104, 85, 26, 24, 21, 29, 33, 26, 59,
+  65, 67, 68, 72, 80, 88, 92, 93, 97, 97, 99, 100, 103, 104, 100, 99,
+  99, 97, 97, 100, 93, 95, 92, 89, 88, 93, 76, 34, 28, 28, 25, 20,
+  22, 37, 36, 33, 25, 26, 33, 41, 46, 32, 26, 26, 22, 24, 20, 20,
+  22, 33, 32, 44, 45, 51, 53, 59, 60, 61, 52, 24, 52, 60, 77, 79,
+  75, 68, 53, 29, 33, 28, 17, 12, 41, 44, 44, 45, 48, 48, 46, 51,
+  52, 51, 37, 32, 49, 52, 59, 36, 33, 33, 36, 25, 14, 25, 21, 16,
+  14, 12, 14, 13, 14, 20, 21, 22, 24, 26, 33, 22, 24, 24, 24, 25,
+  42, 42, 29, 36, 41, 68, 40, 71, 84, 73, 69, 69, 69, 68, 69, 69,
+  69, 71, 69, 67, 68, 72, 77, 77, 79, 81, 81, 83, 83, 84, 65, 28,
+  81, 84, 76, 72, 67, 72, 67, 60, 75, 73, 53, 25, 57, 48, 34, 25,
+  22, 21, 20, 21, 21, 16, 16, 25, 30, 29, 36, 30, 29, 30, 30, 42,
+  42, 56, 40, 0, 18, 68, 76, 73, 75, 79, 85, 83, 85, 83, 83, 49,
+  80, 111, 120, 131, 134, 131, 128, 130, 124, 130, 128, 130, 130, 128, 127, 127,
+  124, 123, 120, 118, 118, 112, 119, 111, 89, 63, 28, 21, 21, 18, 12, 13,
+  12, 10, 38, 40, 36, 42, 41, 38, 30, 36, 36, 36, 32, 41, 34, 41,
+  12, 48, 110, 114, 107, 118, 120, 102, 81, 104, 40, 103, 155, 210, 225, 224,
+  220, 224, 230, 209, 185, 155, 148, 134, 116, 103, 102, 80, 67, 87, 89, 88,
+  87, 91, 83, 67, 84, 75, 119, 179, 155, 115, 114, 139, 139, 140, 142, 144,
+  148, 147, 146, 140, 128, 93, 40, 33, 29, 69, 55, 60, 107, 110, 100, 110,
+  114, 108, 108, 114, 114, 115, 111, 112, 120, 124, 123, 126, 124, 126, 126, 122,
+  128, 127, 122, 111, 119, 122, 118, 102, 128, 119, 106, 88, 116, 114, 63, 18,
+  56, 122, 126, 92, 102, 128, 130, 111, 111, 118, 91, 72, 136, 165, 122, 111,
+  126, 124, 99, 103, 114, 99, 87, 16, 127, 163, 159, 159, 151, 159, 142, 146,
+  157, 151, 107, 75, 9, 124, 144, 102, 107, 92, 89, 93, 89, 87, 44, 33,
+  110, 79, 72, 75, 79, 72, 72, 73, 68, 59, 59, 77, 85, 87, 85, 85,
+  99, 116, 131, 135, 135, 102, 96, 36, 148, 138, 132, 126, 128, 93, 85, 88,
+  83, 81, 64, 84, 59, 76, 69, 83, 102, 107, 115, 107, 108, 110, 93, 55,
+  97, 112, 115, 112, 107, 106, 122, 120, 114, 110, 87, 37, 100, 107, 95, 97,
+  108, 110, 103, 111, 112, 110, 136, 131, 123, 138, 138, 139, 143, 143, 139, 143,
+  139, 135, 97, 14, 138, 154, 153, 151, 151, 148, 151, 151, 151, 118, 127, 6,
+  124, 107, 103, 110, 104, 108, 106, 91, 114, 122, 88, 24, 68, 100, 112, 111,
+  108, 77, 71, 61, 57, 49, 57, 49, 56, 29, 36, 136, 238, 241, 240, 240,
+  241, 195, 140, 116, 120, 130, 122, 114, 108, 131, 136, 131, 93, 28, 9, 9,
+  8, 10, 18, 20, 21, 21, 22, 17, 21, 12, 20, 40, 67, 122, 169, 142,
+  122, 120, 106, 91, 26, 24, 22, 29, 30, 25, 37, 40, 44, 45, 46, 52,
+  63, 107, 175, 119, 97, 100, 106, 104, 107, 100, 99, 103, 104, 111, 111, 111,
+  104, 100, 104, 100, 69, 26, 22, 21, 17, 18, 21, 18, 21, 22, 22, 25,
+  21, 21, 22, 20, 40, 44, 46, 49, 55, 56, 51, 21, 71, 71, 48, 42,
+  42, 44, 38, 36, 41, 52, 20, 45, 30, 25, 22, 21, 22, 16, 14, 16,
+  14, 16, 9, 13, 12, 9, 9, 12, 12, 13, 13, 14, 17, 17, 36, 14,
+  25, 46, 51, 57, 49, 60, 68, 93, 76, 85, 76, 97, 104, 96, 106, 106,
+  99, 92, 87, 72, 38, 33, 79, 115, 118, 89, 85, 73, 60, 55, 49, 18,
+  16, 12, 12, 12, 12, 12, 10, 13, 13, 13, 14, 16, 18, 20, 22, 21,
+  25, 29, 33, 34, 40, 44, 65, 69, 83, 67, 30, 76, 64, 52, 40, 38,
+  36, 33, 34, 36, 32, 30, 24, 20, 37, 63, 61, 68, 95, 104, 102, 111,
+  100, 63, 20, 73, 115, 115, 88, 68, 69, 69, 57, 56, 22, 16, 2, 9,
+  9, 30, 18, 18, 18, 34, 28, 29, 29, 41, 60, 89, 124, 179, 175, 124,
+  131, 144, 139, 136, 139, 139, 139, 136, 135, 135, 134, 132, 131, 130, 123, 126,
+  114, 118, 107, 56, 24, 21, 16, 16, 17, 20, 24, 26, 48, 41, 46, 73,
+  83, 92, 96, 100, 92, 89, 75, 71, 33, 32, 21, 10, 41, 41, 44, 59,
+  63, 102, 104, 97, 97, 32, 112, 167, 214, 238, 224, 228, 220, 170, 143, 119,
+  119, 115, 108, 107, 103, 60, 72, 64, 69, 68, 60, 56, 60, 60, 63, 83,
+  85, 119, 189, 182, 119, 110, 118, 135, 144, 147, 151, 153, 151, 150, 142, 128,
+  85, 36, 36, 37, 46, 34, 17, 14, 18, 10, 8, 6, 9, 5, 2, 2,
+  4, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 2, 0, 0, 0, 0, 4, 4, 18, 37, 37, 42, 41, 40,
+  51, 52, 67, 71, 81, 104, 48, 97, 130, 128, 106, 106, 120, 116, 97, 102,
+  112, 53, 13, 25, 91, 99, 84, 75, 99, 106, 84, 79, 111, 103, 24, 10,
+  67, 131, 126, 72, 46, 38, 32, 29, 40, 79, 68, 80, 85, 80, 99, 100,
+  106, 112, 115, 118, 111, 51, 123, 116, 130, 119, 84, 46, 40, 68, 45, 87,
+  93, 102, 51, 135, 96, 89, 100, 88, 108, 122, 119, 130, 124, 59, 118, 131,
+  140, 136, 88, 87, 89, 55, 67, 65, 55, 63, 102, 100, 91, 89, 83, 79,
+  72, 67, 69, 64, 40, 41, 29, 18, 16, 17, 9, 8, 9, 12, 1, 1,
+  1, 17, 29, 17, 36, 33, 40, 52, 40, 83, 103, 126, 123, 84, 17, 80,
+  89, 85, 84, 84, 80, 79, 79, 73, 75, 71, 5, 52, 55, 65, 60, 46,
+  60, 59, 55, 56, 48, 56, 42, 52, 59, 59, 60, 65, 73, 56, 59, 48,
+  45, 55, 51, 28, 32, 115, 225, 238, 238, 240, 238, 194, 130, 118, 127, 134,
+  118, 112, 116, 132, 143, 139, 115, 42, 10, 8, 8, 8, 16, 16, 17, 22,
+  28, 25, 40, 42, 59, 52, 40, 56, 110, 171, 157, 126, 120, 115, 91, 28,
+  24, 21, 30, 30, 34, 44, 76, 84, 85, 77, 84, 81, 107, 186, 161, 97,
+  99, 108, 102, 106, 115, 118, 132, 139, 140, 140, 144, 143, 136, 106, 97, 32,
+  24, 21, 18, 17, 17, 18, 17, 17, 17, 24, 22, 41, 56, 69, 79, 92,
+  95, 100, 99, 96, 88, 57, 38, 83, 88, 60, 60, 65, 65, 59, 48, 46,
+  52, 20, 20, 28, 45, 48, 53, 83, 93, 103, 73, 59, 56, 103, 103, 112,
+  92, 100, 85, 106, 91, 85, 91, 84, 36, 21, 68, 112, 102, 112, 104, 88,
+  80, 91, 108, 87, 102, 92, 87, 76, 92, 106, 103, 91, 93, 85, 103, 46,
+  32, 85, 124, 114, 112, 127, 123, 126, 130, 116, 107, 57, 29, 96, 112, 106,
+  110, 108, 112, 119, 112, 111, 111, 106, 102, 100, 108, 107, 112, 103, 103, 95,
+  65, 52, 55, 46, 67, 28, 38, 42, 69, 80, 79, 84, 99, 89, 83, 73,
+  64, 42, 95, 123, 124, 124, 122, 124, 120, 116, 112, 102, 67, 24, 89, 118,
+  119, 114, 114, 114, 114, 110, 84, 65, 57, 6, 71, 89, 91, 84, 89, 97,
+  96, 95, 102, 100, 42, 56, 97, 120, 201, 183, 134, 123, 131, 148, 148, 147,
+  151, 159, 159, 158, 159, 159, 153, 148, 130, 124, 114, 131, 118, 99, 37, 24,
+  18, 17, 24, 25, 29, 40, 48, 52, 44, 64, 106, 108, 123, 130, 134, 126,
+  123, 112, 107, 102, 88, 65, 9, 108, 116, 118, 115, 61, 63, 59, 99, 95,
+  24, 127, 186, 220, 224, 230, 217, 157, 127, 120, 111, 102, 106, 100, 107, 65,
+  45, 88, 80, 88, 93, 100, 91, 93, 89, 95, 99, 131, 120, 197, 191, 157,
+  115, 114, 126, 144, 151, 148, 153, 155, 151, 140, 131, 81, 36, 42, 44, 53,
+  34, 32, 85, 96, 93, 100, 92, 97, 88, 135, 114, 80, 80, 140, 123, 146,
+  155, 155, 159, 157, 151, 165, 165, 161, 154, 128, 132, 154, 155, 150, 150, 155,
+  151, 150, 123, 100, 65, 18, 102, 144, 138, 119, 119, 95, 77, 73, 32, 42,
+  45, 45, 10, 8, 33, 9, 8, 4, 20, 1, 5, 2, 12, 9, 4, 8,
+  5, 1, 0, 2, 2, 0, 0, 0, 5, 1, 14, 42, 34, 42, 61, 85,
+  114, 83, 71, 115, 71, 77, 128, 142, 151, 148, 148, 151, 158, 161, 127, 112,
+  56, 126, 135, 147, 153, 143, 134, 130, 122, 102, 106, 83, 103, 91, 115, 130,
+  112, 128, 123, 139, 138, 124, 146, 130, 57, 131, 144, 131, 159, 158, 153, 146,
+  131, 110, 106, 91, 61, 59, 24, 30, 79, 75, 111, 119, 124, 102, 96, 102,
+  87, 37, 76, 167, 171, 140, 155, 167, 151, 144, 148, 114, 131, 140, 140, 140,
+  146, 150, 143, 87, 46, 36, 33, 53, 32, 30, 33, 33, 28, 24, 28, 28,
+  24, 24, 26, 30, 29, 33, 53, 68, 72, 72, 85, 112, 122, 104, 87, 81,
+  89, 93, 142, 154, 140, 140, 146, 21, 24, 24, 37, 40, 44, 32, 38, 97,
+  216, 232, 241, 237, 236, 185, 127, 119, 128, 136, 115, 112, 126, 136, 151, 146,
+  135, 83, 18, 10, 9, 9, 14, 14, 17, 25, 29, 65, 64, 61, 65, 67,
+  52, 44, 48, 77, 170, 175, 147, 118, 106, 85, 25, 21, 20, 28, 29, 29,
+  77, 92, 99, 97, 96, 79, 69, 92, 197, 182, 122, 97, 103, 112, 122, 139,
+  142, 144, 148, 151, 154, 153, 147, 139, 114, 84, 22, 20, 17, 17, 20, 25,
+  29, 26, 29, 28, 29, 44, 92, 102, 104, 97, 93, 95, 88, 83, 75, 60,
+  53, 20, 81, 81, 67, 60, 59, 65, 68, 75, 44, 55, 20, 71, 102, 99,
+  102, 99, 108, 88, 108, 81, 110, 72, 75, 93, 97, 97, 102, 88, 85, 89,
+  83, 97, 99, 44, 18, 89, 107, 111, 102, 104, 103, 104, 91, 89, 99, 92,
+  64, 87, 100, 110, 108, 96, 104, 107, 99, 103, 49, 45, 102, 124, 120, 99,
+  116, 114, 115, 107, 114, 124, 79, 30, 123, 131, 131, 92, 84, 81, 83, 91,
+  92, 85, 111, 100, 65, 79, 92, 114, 96, 100, 97, 103, 107, 93, 60, 72,
+  24, 60, 106, 115, 116, 112, 118, 111, 111, 110, 84, 65, 37, 93, 122, 112,
+  108, 107, 106, 106, 106, 93, 106, 75, 24, 83, 118, 120, 114, 108, 115, 116,
+  114, 108, 81, 57, 17, 111, 134, 131, 102, 97, 92, 112, 99, 93, 99, 57,
+  55, 100, 116, 195, 205, 163, 120, 124, 146, 148, 162, 167, 174, 177, 174, 177,
+  170, 163, 157, 126, 116, 130, 130, 118, 88, 30, 20, 17, 25, 32, 34, 40,
+  51, 53, 60, 48, 87, 114, 130, 127, 124, 116, 120, 115, 122, 123, 123, 104,
+  73, 8, 102, 115, 130, 123, 120, 114, 115, 103, 95, 24, 128, 194, 221, 228,
+  222, 167, 131, 119, 106, 115, 97, 95, 111, 114, 55, 42, 77, 64, 76, 72,
+  77, 80, 83, 71, 104, 140, 128, 132, 202, 197, 185, 115, 111, 120, 143, 155,
+  157, 161, 159, 151, 140, 128, 65, 40, 29, 40, 55, 42, 57, 116, 140, 128,
+  118, 115, 119, 114, 120, 118, 112, 108, 116, 146, 140, 142, 138, 146, 123, 128,
+  151, 163, 136, 124, 140, 108, 134, 134, 140, 139, 135, 136, 132, 135, 136, 76,
+  18, 102, 150, 148, 148, 128, 138, 122, 134, 102, 102, 83, 42, 33, 148, 150,
+  118, 120, 124, 115, 104, 114, 103, 64, 20, 56, 159, 155, 115, 120, 154, 153,
+  131, 112, 151, 130, 68, 12, 63, 116, 115, 93, 114, 112, 116, 112, 106, 69,
+  106, 169, 165, 163, 155, 157, 148, 154, 144, 130, 123, 57, 135, 148, 162, 157,
+  134, 135, 128, 128, 124, 135, 122, 116, 122, 130, 138, 131, 116, 124, 135, 147,
+  148, 142, 134, 63, 135, 153, 144, 154, 142, 140, 150, 157, 157, 147, 97, 114,
+  51, 97, 135, 128, 143, 144, 140, 128, 138, 138, 103, 95, 30, 136, 163, 161,
+  155, 157, 157, 161, 150, 161, 151, 142, 131, 108, 150, 151, 143, 146, 147, 148,
+  151, 114, 102, 95, 102, 148, 151, 165, 161, 169, 166, 167, 167, 144, 138, 138,
+  144, 155, 155, 154, 170, 171, 150, 159, 153, 155, 134, 91, 130, 169, 167, 162,
+  167, 166, 30, 36, 38, 24, 38, 24, 33, 45, 179, 228, 229, 232, 233, 193,
+  130, 118, 131, 140, 123, 114, 138, 147, 153, 148, 144, 120, 46, 9, 9, 10,
+  13, 21, 14, 14, 24, 63, 73, 71, 60, 56, 59, 57, 41, 53, 64, 147,
+  179, 162, 120, 102, 79, 24, 20, 17, 28, 30, 33, 84, 104, 83, 85, 75,
+  75, 75, 88, 204, 187, 173, 99, 103, 116, 130, 143, 148, 155, 151, 155, 154,
+  157, 151, 135, 114, 53, 24, 17, 17, 24, 28, 29, 32, 28, 32, 34, 34,
+  80, 108, 108, 100, 100, 85, 87, 71, 64, 69, 53, 52, 22, 73, 87, 73,
+  55, 59, 63, 63, 73, 45, 55, 21, 75, 93, 99, 95, 111, 80, 89, 93,
+  72, 81, 63, 89, 106, 103, 91, 92, 83, 87, 85, 89, 92, 92, 38, 18,
+  103, 103, 102, 95, 102, 106, 96, 93, 95, 88, 81, 57, 83, 107, 116, 104,
+  103, 104, 102, 95, 99, 48, 33, 95, 119, 122, 115, 112, 99, 112, 100, 114,
+  107, 106, 36, 108, 103, 139, 127, 130, 128, 124, 126, 122, 116, 100, 93, 64,
+  111, 122, 115, 122, 112, 111, 111, 104, 102, 80, 76, 28, 88, 119, 114, 108,
+  99, 103, 92, 89, 102, 97, 67, 38, 87, 110, 115, 106, 110, 106, 104, 107,
+  108, 99, 75, 29, 87, 99, 120, 107, 104, 111, 102, 118, 116, 81, 64, 0,
+  110, 114, 123, 123, 130, 127, 116, 127, 102, 103, 63, 49, 102, 122, 194, 217,
+  201, 136, 119, 136, 150, 159, 167, 178, 182, 179, 179, 181, 173, 161, 127, 126,
+  140, 131, 120, 88, 28, 20, 20, 34, 45, 55, 53, 52, 57, 57, 44, 99,
+  119, 128, 123, 112, 112, 111, 118, 110, 112, 118, 115, 73, 9, 115, 119, 118,
+  115, 111, 115, 97, 71, 97, 33, 122, 199, 218, 230, 206, 131, 115, 110, 114,
+  99, 97, 116, 118, 102, 56, 45, 46, 81, 83, 73, 72, 89, 87, 67, 108,
+  140, 136, 132, 206, 209, 198, 114, 108, 119, 132, 146, 153, 157, 163, 155, 140,
+  128, 71, 36, 28, 49, 68, 32, 73, 134, 123, 124, 127, 134, 131, 136, 132,
+  111, 103, 99, 135, 163, 157, 147, 142, 135, 148, 142, 153, 154, 153, 146, 104,
+  136, 157, 158, 158, 162, 159, 158, 148, 131, 95, 77, 22, 116, 147, 147, 150,
+  150, 146, 124, 128, 122, 114, 89, 42, 110, 151, 144, 143, 143, 142, 150, 147,
+  127, 128, 72, 13, 132, 159, 144, 139, 147, 148, 144, 146, 148, 140, 126, 77,
+  14, 93, 108, 102, 99, 118, 110, 112, 118, 89, 67, 95, 167, 159, 157, 146,
+  147, 144, 147, 147, 159, 118, 63, 128, 131, 134, 161, 166, 158, 142, 154, 130,
+  147, 115, 75, 111, 143, 147, 134, 136, 155, 150, 163, 130, 144, 135, 68, 134,
+  138, 147, 154, 136, 135, 138, 148, 142, 154, 120, 118, 24, 120, 130, 136, 135,
+  134, 139, 132, 131, 138, 131, 107, 42, 167, 162, 148, 151, 148, 151, 154, 155,
+  154, 151, 146, 122, 132, 143, 151, 144, 146, 151, 153, 150, 154, 159, 83, 150,
+  170, 157, 161, 170, 154, 155, 155, 171, 170, 144, 119, 135, 170, 181, 173, 171,
+  169, 162, 148, 169, 167, 150, 92, 138, 171, 162, 166, 163, 162, 16, 18, 20,
+  59, 21, 41, 34, 104, 222, 226, 230, 233, 212, 146, 119, 126, 139, 138, 114,
+  130, 153, 159, 155, 150, 139, 87, 18, 9, 8, 12, 14, 25, 16, 10, 28,
+  65, 57, 59, 46, 38, 40, 37, 49, 45, 59, 114, 185, 174, 126, 104, 75,
+  24, 21, 17, 28, 30, 26, 71, 99, 83, 84, 79, 75, 85, 95, 206, 199,
+  185, 95, 104, 116, 138, 147, 155, 154, 163, 155, 153, 157, 146, 134, 116, 30,
+  20, 17, 16, 25, 37, 36, 30, 33, 36, 30, 49, 96, 106, 108, 100, 83,
+  79, 76, 73, 64, 63, 60, 49, 22, 71, 76, 80, 73, 68, 64, 56, 57,
+  45, 52, 17, 83, 91, 110, 81, 79, 80, 77, 84, 83, 81, 60, 85, 106,
+  99, 93, 93, 104, 96, 96, 89, 81, 85, 41, 21, 83, 107, 92, 108, 92,
+  75, 99, 92, 89, 89, 81, 55, 85, 100, 116, 102, 116, 106, 96, 103, 95,
+  51, 32, 95, 116, 114, 108, 108, 108, 97, 96, 103, 108, 116, 40, 75, 124,
+  95, 119, 128, 114, 127, 122, 111, 122, 108, 80, 61, 114, 119, 106, 96, 95,
+  89, 104, 108, 100, 95, 76, 33, 104, 114, 111, 115, 97, 87, 88, 95, 100,
+  84, 63, 22, 93, 112, 106, 115, 107, 104, 110, 107, 107, 88, 77, 40, 80,
+  104, 118, 115, 115, 100, 112, 108, 111, 79, 56, 0, 107, 120, 119, 120, 127,
+  114, 135, 134, 134, 120, 67, 57, 102, 123, 194, 210, 199, 135, 118, 132, 146,
+  150, 163, 178, 183, 185, 186, 177, 173, 155, 127, 138, 142, 136, 127, 72, 26,
+  20, 24, 51, 55, 53, 52, 56, 64, 67, 51, 104, 127, 128, 114, 118, 122,
+  120, 115, 114, 112, 115, 97, 75, 8, 112, 103, 122, 119, 118, 114, 97, 75,
+  92, 28, 127, 193, 214, 226, 185, 124, 115, 107, 107, 99, 102, 124, 116, 103,
+  55, 40, 40, 65, 79, 84, 73, 85, 87, 60, 104, 138, 128, 138, 208, 205,
+  202, 114, 107, 115, 124, 139, 146, 159, 166, 158, 143, 123, 69, 38, 25, 36,
+  71, 40, 73, 135, 140, 126, 128, 123, 122, 110, 122, 107, 96, 34, 124, 159,
+  154, 142, 143, 139, 150, 154, 155, 140, 155, 142, 103, 144, 157, 163, 157, 150,
+  144, 139, 138, 134, 142, 81, 21, 114, 130, 151, 143, 140, 116, 136, 139, 140,
+  147, 93, 40, 134, 151, 136, 144, 136, 144, 147, 148, 142, 130, 76, 13, 154,
+  158, 147, 143, 150, 159, 153, 153, 158, 150, 144, 80, 12, 103, 102, 97, 103,
+  118, 108, 108, 111, 104, 59, 93, 153, 159, 143, 155, 155, 147, 147, 148, 130,
+  130, 60, 119, 138, 140, 161, 150, 143, 146, 138, 143, 148, 138, 81, 150, 144,
+  142, 138, 148, 153, 161, 153, 139, 142, 132, 76, 130, 142, 153, 143, 138, 139,
+  139, 142, 148, 150, 142, 120, 56, 100, 143, 127, 128, 138, 146, 124, 140, 134,
+  111, 111, 40, 112, 166, 158, 139, 148, 144, 148, 142, 147, 144, 126, 111, 146,
+  143, 148, 154, 151, 147, 150, 148, 138, 159, 100, 154, 178, 170, 163, 174, 167,
+  150, 169, 154, 136, 128, 130, 139, 170, 166, 165, 150, 157, 151, 162, 161, 157,
+  140, 89, 108, 170, 162, 165, 157, 161, 75, 67, 64, 25, 32, 37, 56, 170,
+  218, 236, 224, 218, 162, 132, 122, 138, 142, 128, 119, 151, 163, 163, 155, 147,
+  126, 52, 10, 6, 9, 10, 16, 24, 16, 12, 55, 75, 64, 46, 37, 44,
+  49, 34, 40, 42, 52, 107, 190, 182, 157, 102, 69, 24, 18, 14, 25, 30,
+  32, 57, 103, 83, 80, 83, 72, 71, 83, 213, 204, 186, 95, 108, 119, 132,
+  147, 155, 158, 157, 155, 155, 157, 144, 122, 118, 28, 17, 16, 25, 32, 37,
+  33, 40, 34, 36, 30, 46, 99, 102, 104, 81, 75, 76, 75, 71, 65, 61,
+  55, 61, 34, 79, 75, 64, 67, 65, 76, 53, 68, 44, 52, 16, 76, 85,
+  92, 68, 85, 71, 89, 63, 81, 75, 53, 85, 106, 93, 97, 95, 96, 103,
+  92, 93, 97, 80, 41, 20, 85, 102, 96, 108, 100, 103, 93, 99, 85, 93,
+  80, 56, 84, 100, 103, 103, 116, 103, 89, 99, 89, 57, 30, 96, 120, 122,
+  118, 107, 106, 104, 100, 100, 102, 116, 53, 45, 124, 131, 132, 126, 123, 122,
+  119, 119, 130, 112, 89, 60, 108, 119, 106, 104, 115, 97, 95, 95, 104, 85,
+  77, 32, 92, 122, 100, 104, 95, 88, 100, 89, 95, 88, 64, 24, 84, 106,
+  106, 122, 103, 102, 100, 96, 92, 99, 79, 41, 83, 115, 118, 120, 106, 108,
+  107, 111, 107, 81, 64, 8, 114, 112, 110, 127, 128, 116, 123, 131, 136, 112,
+  59, 64, 103, 115, 165, 220, 206, 140, 115, 127, 147, 151, 163, 174, 173, 177,
+  181, 181, 173, 139, 123, 139, 146, 135, 127, 53, 22, 20, 38, 49, 57, 56,
+  57, 63, 77, 64, 59, 107, 128, 120, 119, 115, 116, 111, 116, 119, 108, 112,
+  95, 69, 8, 96, 119, 115, 116, 114, 115, 85, 77, 97, 33, 131, 204, 213,
+  220, 159, 126, 107, 115, 100, 93, 112, 118, 119, 102, 52, 40, 40, 52, 80,
+  85, 89, 81, 93, 57, 104, 139, 135, 139, 209, 210, 206, 112, 103, 111, 126,
+  131, 140, 159, 165, 159, 143, 118, 68, 41, 30, 40, 59, 44, 69, 124, 131,
+  126, 126, 134, 118, 118, 120, 111, 92, 79, 148, 162, 157, 147, 155, 151, 155,
+  154, 140, 142, 153, 135, 106, 147, 161, 158, 150, 143, 135, 136, 142, 132, 139,
+  85, 25, 112, 144, 146, 138, 138, 140, 140, 136, 142, 116, 92, 42, 87, 142,
+  136, 142, 144, 146, 142, 151, 144, 123, 83, 18, 99, 158, 140, 150, 146, 151,
+  144, 144, 146, 138, 140, 79, 24, 99, 102, 100, 111, 119, 108, 112, 110, 93,
+  60, 96, 157, 159, 153, 159, 165, 158, 148, 147, 136, 118, 68, 120, 148, 144,
+  148, 148, 140, 140, 157, 146, 150, 146, 88, 144, 154, 151, 150, 162, 158, 151,
+  128, 146, 144, 132, 81, 130, 139, 155, 165, 150, 150, 157, 161, 150, 143, 120,
+  122, 55, 111, 135, 118, 132, 128, 139, 132, 142, 127, 110, 100, 40, 120, 167,
+  162, 146, 138, 132, 140, 138, 135, 120, 130, 103, 138, 131, 138, 150, 151, 150,
+  147, 143, 150, 139, 77, 127, 170, 157, 155, 150, 161, 150, 155, 159, 155, 151,
+  103, 120, 171, 167, 155, 167, 169, 143, 163, 162, 154, 138, 85, 116, 165, 163,
+  163, 161, 157, 71, 28, 44, 21, 40, 37, 100, 206, 220, 221, 222, 182, 120,
+  126, 134, 142, 136, 116, 132, 159, 166, 161, 153, 142, 102, 22, 6, 6, 9,
+  14, 16, 21, 14, 13, 61, 65, 57, 41, 42, 45, 51, 41, 42, 48, 49,
+  87, 187, 183, 163, 102, 69, 20, 17, 17, 26, 30, 29, 48, 97, 85, 81,
+  83, 76, 81, 81, 214, 205, 173, 102, 104, 116, 131, 143, 142, 155, 153, 157,
+  157, 151, 138, 119, 118, 26, 16, 14, 25, 38, 32, 33, 38, 41, 37, 32,
+  46, 100, 106, 100, 76, 71, 76, 63, 67, 72, 60, 56, 57, 24, 75, 71,
+  83, 87, 81, 80, 53, 60, 42, 55, 20, 73, 88, 106, 80, 80, 77, 65,
+  72, 77, 79, 55, 91, 100, 88, 96, 97, 103, 88, 85, 88, 89, 80, 45,
+  18, 79, 97, 89, 108, 111, 107, 96, 95, 87, 88, 79, 51, 85, 93, 95,
+  99, 111, 116, 114, 111, 88, 49, 30, 87, 119, 120, 116, 106, 102, 102, 111,
+  96, 106, 114, 85, 45, 111, 127, 118, 114, 102, 115, 124, 128, 107, 102, 81,
+  64, 110, 120, 95, 100, 102, 96, 96, 115, 104, 79, 79, 36, 88, 104, 110,
+  103, 96, 87, 85, 102, 99, 84, 65, 33, 97, 110, 110, 127, 111, 110, 96,
+  104, 112, 102, 91, 42, 84, 116, 107, 102, 107, 103, 96, 102, 107, 83, 64,
+  9, 104, 114, 108, 116, 118, 118, 104, 119, 115, 93, 73, 63, 91, 122, 155,
+  218, 217, 162, 111, 116, 143, 150, 166, 175, 179, 185, 181, 171, 167, 131, 135,
+  147, 143, 136, 123, 33, 22, 18, 36, 55, 59, 59, 64, 71, 72, 71, 60,
+  107, 126, 126, 120, 124, 112, 123, 116, 119, 108, 114, 106, 71, 8, 104, 102,
+  111, 142, 112, 112, 110, 79, 91, 30, 126, 195, 220, 220, 150, 112, 102, 106,
+  93, 100, 116, 116, 120, 114, 45, 37, 33, 46, 76, 87, 84, 72, 91, 61,
+  108, 146, 131, 144, 213, 213, 206, 111, 106, 111, 118, 130, 142, 157, 166, 162,
+  146, 130, 67, 40, 41, 38, 63, 49, 69, 123, 128, 128, 122, 124, 100, 111,
+  135, 99, 97, 83, 151, 154, 142, 135, 140, 148, 154, 134, 130, 143, 154, 124,
+  96, 146, 163, 153, 135, 143, 131, 135, 131, 138, 148, 87, 28, 111, 142, 148,
+  136, 136, 138, 128, 134, 119, 123, 93, 41, 106, 135, 127, 139, 143, 144, 153,
+  148, 138, 132, 84, 22, 100, 151, 142, 144, 144, 143, 142, 143, 154, 134, 127,
+  87, 20, 114, 107, 97, 111, 119, 110, 108, 107, 96, 60, 110, 162, 157, 162,
+  166, 167, 159, 153, 150, 136, 122, 72, 118, 154, 151, 157, 150, 140, 140, 148,
+  138, 146, 146, 56, 150, 153, 153, 150, 157, 150, 144, 127, 144, 142, 138, 85,
+  131, 140, 150, 139, 154, 150, 146, 147, 154, 136, 123, 120, 33, 106, 131, 138,
+  112, 120, 136, 122, 131, 140, 130, 102, 40, 116, 167, 161, 134, 142, 135, 132,
+  132, 131, 115, 120, 104, 135, 157, 148, 147, 148, 155, 146, 144, 143, 153, 81,
+  130, 169, 165, 159, 153, 151, 155, 153, 146, 138, 122, 115, 143, 169, 170, 150,
+  157, 159, 158, 151, 153, 155, 142, 92, 123, 163, 159, 162, 159, 155, 93, 45,
+  20, 20, 37, 45, 161, 209, 224, 214, 206, 159, 116, 119, 139, 144, 138, 120,
+  148, 165, 165, 161, 153, 138, 77, 12, 4, 5, 10, 16, 18, 20, 16, 16,
+  69, 64, 56, 36, 48, 56, 44, 37, 46, 53, 52, 93, 185, 185, 171, 110,
+  71, 24, 16, 16, 28, 32, 30, 34, 93, 91, 79, 89, 79, 81, 83, 217,
+  201, 186, 106, 107, 118, 131, 139, 143, 150, 155, 157, 155, 143, 135, 116, 115,
+  28, 16, 13, 26, 42, 38, 34, 32, 40, 37, 30, 60, 95, 110, 84, 83,
+  72, 75, 75, 73, 67, 69, 53, 53, 24, 81, 72, 67, 67, 71, 76, 52,
+  59, 44, 51, 18, 73, 87, 95, 71, 76, 72, 77, 65, 64, 75, 55, 85,
+  99, 103, 97, 102, 87, 89, 92, 89, 88, 77, 42, 17, 75, 96, 89, 87,
+  100, 100, 93, 93, 88, 87, 75, 44, 79, 97, 108, 102, 112, 102, 97, 88,
+  97, 45, 33, 77, 119, 115, 111, 102, 104, 108, 100, 96, 104, 108, 81, 36,
+  85, 124, 128, 104, 114, 123, 118, 108, 112, 97, 72, 69, 110, 116, 92, 99,
+  108, 97, 97, 85, 97, 97, 77, 40, 92, 110, 106, 110, 106, 87, 87, 84,
+  96, 92, 67, 36, 96, 115, 100, 104, 112, 99, 108, 110, 111, 102, 85, 45,
+  85, 102, 114, 103, 103, 100, 108, 104, 100, 84, 65, 0, 118, 115, 104, 88,
+  119, 115, 124, 122, 115, 100, 71, 55, 85, 124, 115, 220, 222, 189, 114, 114,
+  139, 150, 162, 173, 177, 178, 175, 178, 158, 132, 139, 151, 143, 136, 123, 29,
+  22, 20, 34, 60, 68, 65, 75, 87, 73, 67, 61, 95, 124, 124, 127, 112,
+  122, 116, 115, 119, 106, 111, 108, 75, 10, 103, 107, 110, 112, 139, 124, 115,
+  79, 91, 22, 114, 186, 213, 237, 159, 112, 97, 106, 93, 111, 119, 116, 123,
+  99, 44, 38, 30, 46, 71, 85, 91, 76, 93, 56, 115, 138, 135, 154, 220,
+  220, 208, 107, 100, 111, 123, 130, 144, 155, 167, 162, 147, 139, 68, 45, 26,
+  42, 67, 53, 67, 124, 127, 128, 131, 120, 114, 122, 110, 119, 81, 69, 134,
+  150, 150, 143, 148, 132, 128, 142, 139, 147, 147, 106, 119, 153, 162, 142, 134,
+  136, 142, 131, 140, 134, 139, 89, 29, 119, 132, 142, 128, 139, 132, 136, 134,
+  124, 111, 95, 38, 114, 148, 130, 134, 143, 147, 146, 146, 124, 134, 87, 17,
+  106, 151, 144, 150, 146, 143, 147, 157, 130, 126, 128, 81, 21, 100, 104, 104,
+  110, 116, 115, 106, 103, 85, 60, 103, 161, 150, 163, 162, 161, 157, 163, 159,
+  140, 120, 71, 123, 142, 132, 158, 147, 140, 142, 150, 144, 147, 143, 53, 144,
+  157, 158, 150, 153, 150, 124, 130, 124, 134, 136, 85, 108, 138, 146, 151, 146,
+  148, 140, 148, 150, 154, 128, 120, 26, 103, 138, 136, 130, 116, 130, 132, 130,
+  110, 126, 100, 45, 120, 166, 153, 144, 144, 136, 131, 128, 124, 115, 132, 100,
+  130, 148, 142, 142, 140, 139, 144, 139, 140, 153, 93, 153, 173, 162, 162, 153,
+  151, 158, 155, 134, 147, 144, 110, 154, 165, 161, 165, 153, 151, 135, 146, 140,
+  136, 124, 87, 136, 161, 162, 154, 159, 159, 20, 65, 20, 33, 38, 83, 190,
+  218, 208, 212, 171, 132, 116, 138, 142, 144, 128, 132, 162, 167, 165, 158, 148,
+  130, 36, 8, 5, 6, 10, 17, 20, 29, 17, 14, 76, 63, 49, 40, 57,
+  45, 41, 40, 48, 44, 45, 116, 185, 182, 178, 103, 67, 22, 17, 16, 26,
+  29, 29, 33, 92, 89, 84, 92, 85, 80, 80, 221, 199, 197, 107, 106, 115,
+  127, 136, 143, 147, 151, 157, 151, 142, 135, 115, 114, 25, 14, 10, 25, 46,
+  36, 38, 36, 48, 38, 29, 61, 102, 108, 83, 75, 80, 83, 73, 75, 77,
+  65, 52, 52, 24, 72, 79, 72, 68, 56, 60, 64, 56, 45, 49, 17, 72,
+  92, 103, 77, 77, 83, 61, 79, 67, 75, 51, 89, 102, 99, 91, 88, 97,
+  95, 96, 92, 87, 51, 48, 20, 71, 88, 93, 91, 91, 93, 89, 88, 92,
+  85, 77, 40, 92, 96, 106, 104, 106, 107, 102, 108, 96, 45, 33, 73, 106,
+  114, 108, 92, 108, 108, 91, 102, 100, 96, 88, 46, 83, 123, 131, 126, 100,
+  112, 93, 108, 104, 95, 53, 81, 104, 115, 103, 103, 88, 84, 89, 83, 87,
+  97, 79, 45, 68, 99, 114, 88, 77, 88, 96, 88, 91, 76, 68, 17, 92,
+  107, 106, 100, 99, 91, 100, 108, 102, 97, 87, 51, 57, 96, 111, 112, 116,
+  114, 112, 112, 99, 77, 59, 0, 108, 110, 104, 107, 102, 124, 122, 119, 92,
+  123, 76, 69, 59, 122, 111, 226, 226, 220, 115, 114, 138, 153, 157, 163, 177,
+  179, 177, 177, 148, 136, 154, 154, 143, 135, 123, 30, 22, 18, 38, 67, 63,
+  71, 76, 85, 80, 76, 68, 88, 122, 123, 122, 120, 122, 122, 119, 116, 112,
+  112, 106, 69, 10, 100, 97, 96, 111, 147, 116, 110, 79, 87, 18, 93, 146,
+  193, 237, 165, 112, 108, 107, 110, 118, 114, 120, 114, 69, 42, 36, 32, 46,
+  71, 88, 91, 84, 91, 46, 110, 135, 132, 148, 220, 214, 210, 110, 102, 112,
+  126, 135, 146, 155, 166, 165, 157, 144, 71, 45, 25, 37, 64, 51, 56, 119,
+  122, 131, 126, 124, 127, 116, 106, 112, 81, 24, 126, 154, 136, 127, 138, 142,
+  144, 144, 146, 148, 148, 104, 126, 157, 150, 124, 150, 131, 131, 131, 132, 136,
+  136, 93, 29, 112, 140, 144, 136, 132, 127, 134, 126, 136, 138, 102, 37, 134,
+  143, 132, 131, 142, 142, 142, 143, 127, 119, 89, 13, 111, 148, 146, 146, 144,
+  157, 154, 128, 130, 128, 138, 77, 17, 108, 102, 100, 97, 100, 116, 103, 104,
+  88, 52, 96, 151, 155, 158, 157, 165, 150, 144, 143, 138, 124, 71, 114, 148,
+  143, 154, 143, 140, 144, 148, 139, 151, 144, 53, 148, 153, 162, 144, 146, 161,
+  138, 139, 139, 134, 136, 93, 100, 140, 135, 147, 161, 157, 146, 150, 153, 146,
+  126, 126, 52, 95, 140, 111, 124, 115, 132, 120, 111, 115, 107, 110, 49, 114,
+  127, 158, 140, 135, 136, 132, 134, 126, 119, 122, 92, 132, 142, 143, 142, 138,
+  142, 147, 143, 135, 134, 96, 158, 177, 167, 163, 144, 157, 146, 142, 158, 134,
+  143, 126, 161, 144, 134, 139, 131, 144, 134, 127, 115, 130, 108, 93, 120, 162,
+  146, 144, 157, 163, 64, 25, 18, 41, 45, 114, 189, 213, 204, 204, 134, 136,
+  134, 139, 144, 144, 122, 150, 169, 169, 165, 157, 147, 120, 26, 6, 5, 6,
+  12, 18, 12, 20, 17, 13, 68, 56, 48, 52, 40, 40, 38, 36, 42, 53,
+  46, 126, 185, 182, 166, 99, 61, 22, 16, 14, 30, 38, 33, 37, 83, 99,
+  76, 84, 83, 73, 76, 225, 199, 205, 108, 106, 115, 127, 135, 146, 151, 153,
+  153, 138, 139, 136, 122, 119, 22, 13, 10, 29, 41, 32, 37, 32, 53, 38,
+  29, 63, 92, 92, 80, 49, 49, 68, 71, 53, 55, 59, 57, 61, 37, 84,
+  76, 71, 56, 61, 55, 63, 53, 42, 46, 14, 72, 80, 93, 65, 77, 80,
+  72, 80, 79, 71, 42, 84, 102, 110, 106, 106, 99, 87, 79, 85, 63, 51,
+  46, 21, 57, 77, 81, 63, 73, 92, 83, 67, 73, 83, 69, 40, 79, 89,
+  106, 108, 89, 81, 79, 77, 63, 55, 29, 68, 114, 116, 112, 110, 99, 97,
+  96, 102, 93, 99, 96, 51, 67, 118, 127, 116, 95, 119, 112, 103, 97, 88,
+  52, 67, 103, 114, 103, 97, 85, 88, 80, 83, 83, 88, 80, 42, 64, 79,
+  77, 77, 79, 77, 81, 81, 89, 89, 65, 18, 91, 108, 108, 100, 100, 99,
+  92, 97, 89, 88, 87, 55, 68, 91, 114, 114, 122, 112, 104, 111, 76, 81,
+  69, 6, 107, 110, 100, 107, 89, 111, 115, 118, 107, 114, 63, 65, 48, 119,
+  116, 226, 232, 222, 116, 111, 139, 151, 155, 159, 171, 177, 174, 165, 136, 147,
+  153, 154, 146, 140, 126, 28, 21, 18, 40, 64, 68, 69, 75, 83, 83, 79,
+  68, 77, 115, 124, 127, 115, 119, 120, 114, 114, 110, 103, 89, 68, 12, 92,
+  100, 112, 110, 111, 106, 92, 88, 92, 20, 73, 122, 163, 157, 120, 106, 96,
+  83, 100, 97, 103, 99, 68, 44, 40, 34, 33, 44, 75, 87, 89, 83, 91,
+  48, 114, 134, 123, 122, 213, 224, 220, 110, 97, 112, 127, 136, 146, 155, 169,
+  163, 144, 138, 67, 46, 26, 34, 64, 56, 51, 93, 123, 120, 126, 122, 123,
+  122, 111, 114, 79, 48, 150, 148, 131, 140, 150, 153, 151, 153, 148, 154, 143,
+  100, 131, 162, 140, 142, 139, 134, 134, 139, 134, 139, 135, 95, 32, 122, 138,
+  143, 134, 128, 127, 126, 134, 134, 124, 102, 44, 95, 136, 131, 122, 128, 131,
+  130, 123, 131, 128, 97, 26, 112, 110, 158, 154, 155, 157, 158, 115, 131, 128,
+  131, 93, 30, 102, 97, 97, 96, 102, 99, 114, 103, 91, 56, 104, 154, 148,
+  151, 161, 144, 146, 144, 136, 142, 123, 81, 119, 151, 142, 144, 144, 155, 139,
+  157, 144, 136, 138, 77, 144, 154, 153, 151, 155, 148, 148, 147, 139, 146, 142,
+  110, 93, 120, 138, 135, 116, 110, 118, 135, 123, 123, 126, 123, 52, 116, 142,
+  127, 102, 102, 88, 114, 115, 104, 110, 112, 73, 97, 123, 134, 134, 128, 128,
+  135, 131, 128, 130, 146, 127, 139, 139, 153, 146, 146, 136, 147, 146, 139, 140,
+  135, 126, 174, 171, 142, 144, 142, 140, 142, 135, 130, 135, 135, 142, 128, 130,
+  136, 124, 115, 139, 147, 154, 143, 146, 142, 148, 155, 158, 155, 150, 146, 25,
+  25, 13, 38, 48, 126, 191, 202, 209, 146, 139, 122, 139, 143, 148, 142, 127,
+  162, 171, 169, 165, 155, 143, 106, 18, 6, 4, 6, 9, 17, 16, 30, 14,
+  14, 69, 52, 41, 46, 38, 36, 34, 36, 44, 41, 51, 136, 179, 177, 162,
+  102, 57, 21, 17, 16, 29, 33, 33, 30, 71, 97, 91, 75, 84, 77, 75,
+  225, 208, 210, 108, 107, 116, 131, 144, 143, 147, 146, 139, 131, 136, 134, 122,
+  122, 20, 13, 10, 29, 37, 37, 32, 32, 32, 48, 49, 55, 64, 67, 60,
+  56, 60, 55, 56, 59, 80, 71, 59, 52, 25, 68, 76, 56, 51, 52, 51,
+  49, 46, 53, 52, 21, 72, 88, 85, 67, 63, 63, 57, 67, 67, 65, 46,
+  65, 84, 100, 67, 72, 63, 63, 56, 48, 40, 34, 51, 45, 49, 51, 51,
+  60, 46, 48, 48, 48, 49, 46, 41, 36, 59, 59, 61, 56, 48, 48, 52,
+  52, 44, 44, 59, 59, 93, 106, 99, 83, 93, 99, 102, 88, 87, 102, 95,
+  85, 63, 72, 116, 107, 83, 96, 96, 97, 96, 81, 56, 61, 93, 96, 81,
+  81, 83, 91, 92, 80, 79, 81, 77, 75, 68, 79, 80, 80, 69, 77, 67,
+  84, 79, 84, 68, 30, 97, 91, 93, 92, 91, 91, 89, 92, 87, 88, 72,
+  85, 51, 59, 63, 68, 65, 69, 68, 69, 69, 77, 64, 4, 45, 114, 107,
+  60, 81, 99, 104, 96, 89, 103, 95, 77, 55, 77, 96, 220, 233, 224, 111,
+  108, 132, 147, 151, 150, 157, 170, 170, 165, 143, 158, 158, 157, 148, 140, 126,
+  25, 20, 20, 34, 61, 68, 75, 76, 75, 80, 85, 84, 68, 79, 100, 110,
+  108, 107, 107, 110, 111, 111, 106, 104, 68, 12, 87, 100, 104, 95, 97, 84,
+  87, 88, 88, 36, 57, 77, 96, 118, 87, 56, 48, 37, 34, 37, 37, 37,
+  34, 40, 36, 30, 30, 40, 77, 80, 81, 68, 89, 49, 107, 120, 136, 120,
+  201, 222, 218, 107, 100, 116, 130, 140, 146, 158, 169, 165, 146, 136, 63, 48,
+  49, 33, 64, 63, 53, 63, 92, 100, 99, 107, 107, 116, 106, 106, 93, 68,
+  148, 138, 144, 144, 135, 135, 128, 131, 139, 134, 115, 96, 119, 138, 148, 140,
+  138, 143, 139, 138, 119, 107, 114, 93, 37, 106, 118, 136, 144, 147, 136, 140,
+  131, 122, 97, 104, 44, 102, 122, 140, 128, 128, 127, 124, 108, 119, 111, 96,
+  26, 97, 83, 89, 107, 118, 119, 100, 107, 120, 89, 100, 91, 30, 104, 102,
+  103, 103, 106, 100, 97, 103, 95, 61, 102, 116, 118, 114, 102, 112, 134, 126,
+  142, 128, 116, 95, 83, 134, 126, 139, 124, 134, 131, 138, 132, 128, 139, 37,
+  134, 146, 143, 132, 139, 139, 143, 135, 134, 142, 134, 124, 130, 135, 135, 132,
+  132, 127, 128, 134, 131, 123, 124, 123, 22, 108, 84, 115, 75, 110, 91, 95,
+  118, 114, 96, 107, 111, 118, 115, 122, 122, 120, 119, 123, 127, 124, 112, 131,
+  104, 124, 126, 131, 134, 136, 119, 123, 134, 130, 132, 128, 140, 147, 127, 155,
+  147, 128, 138, 150, 147, 116, 132, 132, 126, 128, 138, 143, 143, 138, 142, 144,
+  126, 107, 102, 95, 147, 99, 147, 163, 163, 173, 14, 17, 17, 40, 48, 150,
+  209, 148, 143, 150, 112, 147, 131, 144, 146, 138, 138, 169, 173, 169, 162, 154,
+  138, 89, 14, 6, 5, 8, 12, 17, 16, 20, 14, 9, 61, 53, 37, 37,
+  29, 34, 38, 33, 45, 42, 48, 151, 181, 175, 163, 95, 53, 21, 17, 16,
+  32, 34, 37, 36, 48, 71, 89, 84, 83, 76, 72, 225, 217, 220, 110, 107,
+  112, 130, 131, 131, 134, 132, 138, 142, 139, 138, 127, 124, 18, 12, 9, 25,
+  28, 30, 36, 38, 34, 38, 37, 40, 46, 44, 41, 46, 48, 46, 51, 48,
+  49, 51, 51, 49, 48, 53, 51, 51, 48, 48, 51, 51, 46, 46, 42, 24,
+  64, 89, 59, 53, 49, 49, 52, 51, 49, 51, 42, 51, 51, 49, 51, 48,
+  45, 44, 44, 42, 40, 36, 30, 20, 20, 18, 20, 18, 16, 16, 16, 14,
+  16, 13, 13, 14, 13, 18, 21, 21, 17, 18, 25, 37, 33, 37, 34, 48,
+  73, 71, 84, 93, 83, 77, 84, 87, 87, 85, 85, 75, 67, 76, 69, 64,
+  56, 48, 46, 46, 55, 48, 38, 51, 55, 63, 59, 59, 81, 83, 81, 64,
+  63, 51, 46, 56, 64, 73, 75, 75, 60, 51, 53, 68, 75, 73, 67, 29,
+  55, 61, 53, 64, 63, 64, 64, 68, 68, 69, 72, 73, 71, 77, 55, 53,
+  46, 32, 24, 21, 29, 34, 28, 0, 24, 24, 34, 30, 36, 40, 46, 51,
+  60, 71, 96, 81, 73, 69, 107, 217, 234, 225, 110, 106, 115, 124, 140, 150,
+  158, 157, 162, 159, 144, 159, 159, 155, 147, 135, 123, 24, 20, 20, 28, 37,
+  53, 53, 63, 68, 71, 75, 71, 71, 88, 91, 93, 92, 95, 93, 96, 96,
+  100, 102, 93, 69, 17, 95, 99, 80, 71, 72, 64, 53, 77, 73, 40, 38,
+  40, 63, 49, 44, 38, 41, 33, 34, 44, 42, 33, 33, 33, 36, 48, 51,
+  51, 53, 56, 55, 57, 91, 46, 68, 68, 84, 123, 191, 224, 216, 108, 104,
+  115, 126, 139, 148, 158, 171, 163, 144, 132, 63, 51, 22, 45, 48, 55, 51,
+  61, 61, 63, 59, 60, 61, 67, 63, 63, 72, 45, 68, 123, 123, 111, 108,
+  120, 123, 115, 112, 118, 112, 110, 119, 118, 118, 122, 124, 116, 116, 104, 93,
+  79, 87, 85, 87, 97, 91, 60, 103, 97, 87, 112, 84, 73, 99, 93, 91,
+  100, 97, 96, 92, 92, 85, 88, 77, 93, 59, 53, 12, 40, 37, 55, 59,
+  53, 59, 73, 73, 77, 89, 104, 91, 73, 91, 95, 89, 84, 89, 95, 92,
+  99, 100, 99, 77, 84, 93, 88, 81, 80, 112, 123, 122, 114, 114, 115, 115,
+  116, 116, 118, 112, 111, 110, 111, 111, 107, 95, 36, 84, 128, 95, 97, 96,
+  130, 97, 103, 104, 119, 111, 102, 97, 114, 107, 106, 103, 99, 99, 100, 100,
+  97, 93, 91, 13, 108, 97, 89, 80, 76, 75, 68, 67, 69, 65, 68, 67,
+  73, 80, 83, 84, 95, 119, 139, 161, 173, 179, 238, 236, 233, 225, 221, 222,
+  220, 228, 220, 213, 209, 198, 153, 126, 142, 139, 143, 114, 150, 140, 193, 204,
+  202, 194, 197, 167, 146, 150, 134, 128, 122, 130, 150, 165, 170, 197, 174, 150,
+  126, 142, 84, 143, 143, 53, 41, 46, 59, 77, 165, 114, 144, 106, 112, 110,
+  135, 135, 143, 153, 144, 144, 173, 174, 166, 158, 146, 131, 44, 9, 5, 6,
+  12, 12, 6, 13, 12, 14, 12, 21, 25, 22, 25, 24, 24, 25, 26, 44,
+  37, 33, 131, 173, 173, 162, 95, 45, 18, 16, 18, 29, 32, 33, 34, 40,
+  42, 42, 44, 48, 80, 60, 229, 224, 222, 111, 104, 112, 128, 123, 123, 122,
+  124, 127, 139, 138, 140, 128, 122, 16, 9, 9, 17, 16, 18, 20, 20, 17,
+  20, 25, 28, 32, 41, 41, 44, 46, 46, 45, 51, 55, 57, 63, 55, 51,
+  63, 71, 60, 73, 80, 93, 127, 110, 51, 46, 56, 49, 44, 44, 42, 42,
+  53, 45, 44, 33, 30, 30, 32, 28, 38, 36, 36, 36, 41, 33, 38, 34,
+  65, 85, 115, 116, 111, 122, 108, 114, 104, 118, 115, 100, 80, 83, 80, 85,
+  102, 103, 88, 80, 65, 49, 37, 32, 25, 18, 18, 16, 16, 13, 13, 14,
+  16, 13, 16, 18, 18, 17, 16, 21, 28, 84, 89, 95, 102, 106, 103, 73,
+  77, 46, 111, 110, 122, 96, 53, 51, 68, 45, 48, 89, 97, 112, 102, 106,
+  115, 119, 116, 104, 88, 75, 65, 45, 44, 64, 30, 17, 17, 17, 17, 13,
+  13, 14, 16, 10, 12, 13, 13, 13, 16, 44, 52, 79, 95, 89, 93, 84,
+  56, 52, 0, 77, 115, 104, 76, 107, 77, 87, 84, 64, 53, 52, 59, 57,
+  60, 97, 209, 221, 214, 100, 97, 110, 111, 107, 119, 136, 151, 157, 162, 139,
+  154, 161, 157, 144, 138, 122, 20, 17, 17, 14, 14, 16, 17, 17, 16, 18,
+  30, 28, 18, 22, 46, 63, 44, 48, 28, 33, 30, 53, 37, 77, 26, 17,
+  100, 53, 44, 42, 42, 38, 44, 36, 32, 33, 30, 32, 34, 34, 41, 37,
+  29, 30, 33, 32, 34, 36, 34, 36, 34, 36, 38, 41, 45, 57, 64, 69,
+  95, 45, 96, 120, 120, 123, 187, 212, 199, 111, 104, 116, 130, 138, 146, 162,
+  170, 165, 143, 120, 57, 53, 22, 36, 25, 34, 9, 9, 9, 6, 6, 8,
+  6, 5, 5, 5, 5, 5, 6, 8, 9, 9, 14, 14, 16, 17, 22, 24,
+  26, 26, 34, 36, 44, 48, 51, 56, 61, 63, 75, 99, 103, 93, 85, 93,
+  79, 84, 89, 84, 79, 87, 83, 85, 96, 102, 108, 103, 99, 96, 93, 97,
+  100, 97, 93, 89, 93, 96, 52, 61, 126, 139, 103, 92, 96, 67, 55, 46,
+  52, 51, 57, 49, 59, 81, 84, 72, 88, 91, 87, 76, 91, 93, 100, 112,
+  103, 103, 96, 95, 91, 88, 72, 60, 59, 63, 52, 53, 48, 49, 46, 53,
+  51, 53, 46, 59, 59, 102, 55, 42, 41, 37, 33, 30, 29, 28, 24, 20,
+  22, 21, 20, 18, 20, 20, 20, 24, 6, 29, 29, 21, 40, 63, 102, 73,
+  77, 84, 110, 135, 171, 177, 190, 199, 190, 181, 169, 165, 155, 159, 165, 151,
+  143, 146, 150, 165, 177, 179, 190, 197, 201, 199, 201, 193, 195, 198, 195, 177,
+  178, 183, 182, 104, 95, 89, 146, 136, 174, 199, 205, 208, 205, 205, 208, 208,
+  205, 213, 216, 210, 212, 208, 212, 208, 198, 205, 202, 161, 123, 150, 65, 56,
+  76, 80, 92, 88, 144, 166, 162, 163, 126, 153, 108, 110, 115, 118, 118, 136,
+  146, 171, 170, 167, 154, 143, 127, 40, 9, 6, 12, 18, 28, 25, 32, 18,
+  26, 28, 30, 40, 42, 44, 48, 55, 57, 49, 34, 49, 36, 122, 171, 170,
+  120, 89, 41, 20, 16, 29, 34, 33, 30, 33, 40, 45, 52, 57, 72, 72,
+  72, 226, 225, 224, 111, 104, 112, 120, 118, 127, 135, 138, 139, 136, 139, 147,
+  132, 128, 20, 12, 9, 20, 29, 37, 38, 45, 59, 153, 161, 177, 183, 185,
+  182, 190, 199, 204, 198, 199, 197, 195, 199, 201, 199, 195, 197, 194, 191, 187,
+  193, 189, 193, 134, 102, 59, 69, 75, 107, 150, 177, 189, 189, 177, 170, 159,
+  158, 161, 148, 139, 122, 108, 118, 116, 110, 119, 124, 100, 142, 169, 189, 195,
+  201, 197, 190, 189, 183, 151, 122, 93, 107, 107, 97, 111, 107, 116, 104, 116,
+  103, 99, 88, 61, 45, 26, 87, 107, 102, 96, 96, 100, 103, 110, 102, 100,
+  92, 95, 96, 91, 89, 106, 106, 106, 108, 103, 92, 84, 41, 115, 130, 103,
+  100, 130, 127, 122, 114, 100, 127, 154, 165, 171, 165, 169, 170, 165, 157, 143,
+  122, 106, 99, 73, 65, 30, 44, 116, 124, 102, 104, 93, 118, 104, 107, 99,
+  96, 89, 99, 115, 104, 97, 95, 106, 91, 93, 106, 81, 56, 2, 100, 118,
+  127, 131, 96, 127, 123, 106, 110, 88, 75, 73, 95, 99, 102, 225, 234, 226,
+  111, 107, 118, 116, 118, 116, 120, 120, 127, 127, 143, 161, 162, 157, 143, 134,
+  115, 22, 21, 20, 38, 49, 51, 56, 53, 55, 53, 61, 53, 34, 59, 112,
+  111, 95, 99, 100, 65, 42, 38, 42, 48, 51, 37, 67, 87, 95, 95, 102,
+  110, 108, 93, 85, 93, 110, 118, 106, 99, 92, 91, 83, 83, 51, 51, 45,
+  41, 44, 53, 63, 63, 63, 69, 84, 91, 85, 89, 99, 42, 120, 122, 130,
+  128, 201, 218, 190, 110, 107, 116, 131, 138, 148, 161, 173, 166, 165, 138, 67,
+  57, 17, 18, 26, 29, 53, 104, 107, 114, 115, 116, 120, 123, 123, 119, 80,
+  49, 104, 132, 147, 140, 139, 142, 151, 144, 139, 136, 142, 131, 143, 159, 151,
+  147, 143, 128, 122, 126, 134, 187, 198, 208, 194, 173, 139, 108, 100, 95, 103,
+  111, 148, 166, 181, 161, 163, 159, 153, 162, 142, 139, 134, 132, 104, 89, 88,
+  85, 42, 123, 148, 167, 169, 151, 154, 119, 115, 120, 132, 110, 110, 135, 171,
+  177, 185, 186, 186, 186, 185, 175, 183, 189, 201, 206, 201, 189, 179, 144, 134,
+  103, 99, 93, 97, 77, 22, 52, 128, 148, 118, 130, 122, 127, 119, 97, 110,
+  51, 59, 138, 151, 140, 143, 155, 151, 140, 161, 163, 161, 131, 128, 167, 170,
+  193, 194, 189, 186, 182, 177, 174, 118, 63, 87, 85, 148, 183, 193, 201, 210,
+  208, 209, 212, 213, 206, 208, 208, 197, 191, 190, 189, 175, 170, 167, 167, 162,
+  157, 153, 166, 171, 178, 191, 193, 177, 179, 171, 162, 171, 171, 170, 187, 167,
+  181, 169, 142, 187, 229, 225, 234, 212, 233, 206, 228, 221, 232, 220, 220, 214,
+  212, 210, 210, 205, 220, 217, 169, 122, 161, 159, 166, 97, 111, 84, 108, 195,
+  199, 234, 197, 110, 111, 114, 130, 134, 140, 128, 138, 154, 174, 171, 158, 148,
+  143, 127, 37, 10, 6, 24, 25, 40, 42, 44, 45, 49, 64, 67, 76, 68,
+  77, 76, 81, 77, 79, 61, 51, 30, 61, 128, 165, 104, 71, 26, 21, 18,
+  32, 46, 46, 46, 41, 45, 81, 91, 87, 87, 73, 71, 230, 228, 224, 111,
+  103, 114, 120, 136, 142, 142, 143, 142, 140, 136, 144, 131, 128, 21, 9, 9,
+  24, 40, 49, 118, 64, 124, 165, 186, 191, 191, 194, 202, 206, 212, 213, 218,
+  226, 229, 230, 233, 234, 236, 234, 240, 233, 241, 242, 242, 236, 230, 230, 225,
+  225, 224, 216, 216, 218, 216, 217, 212, 208, 201, 195, 193, 194, 186, 175, 166,
+  150, 146, 103, 106, 135, 163, 183, 199, 209, 218, 217, 216, 218, 216, 214, 210,
+  205, 199, 181, 130, 111, 97, 87, 92, 96, 102, 108, 107, 107, 104, 81, 59,
+  28, 107, 100, 114, 107, 110, 108, 96, 95, 96, 104, 104, 81, 73, 115, 120,
+  127, 126, 120, 104, 97, 108, 81, 44, 126, 126, 124, 106, 135, 103, 114, 130,
+  146, 186, 212, 222, 220, 217, 216, 210, 205, 201, 193, 190, 171, 162, 103, 67,
+  37, 115, 120, 103, 102, 111, 115, 119, 102, 99, 112, 118, 107, 85, 111, 110,
+  107, 107, 106, 104, 106, 102, 95, 64, 0, 88, 114, 120, 115, 91, 93, 112,
+  111, 92, 103, 107, 59, 95, 119, 102, 233, 240, 226, 110, 102, 112, 130, 136,
+  140, 144, 143, 142, 143, 147, 162, 159, 151, 144, 135, 122, 20, 20, 20, 48,
+  49, 61, 77, 73, 75, 67, 64, 59, 44, 96, 123, 131, 128, 131, 123, 115,
+  106, 119, 112, 95, 99, 110, 118, 107, 112, 107, 115, 124, 126, 106, 116, 111,
+  132, 150, 146, 139, 153, 151, 150, 111, 97, 93, 85, 83, 73, 81, 76, 65,
+  53, 75, 80, 75, 73, 77, 99, 52, 119, 130, 130, 128, 222, 225, 195, 107,
+  104, 114, 130, 140, 147, 161, 171, 166, 148, 142, 67, 68, 75, 79, 81, 110,
+  107, 119, 123, 126, 124, 131, 116, 122, 123, 120, 123, 57, 140, 140, 143, 153,
+  148, 170, 182, 194, 197, 204, 201, 202, 209, 214, 212, 208, 209, 208, 206, 205,
+  208, 212, 212, 213, 210, 205, 198, 198, 174, 170, 183, 162, 171, 190, 195, 206,
+  204, 199, 205, 198, 186, 186, 197, 187, 169, 107, 84, 99, 52, 138, 163, 154,
+  169, 173, 158, 169, 165, 150, 165, 165, 191, 194, 208, 206, 216, 209, 209, 208,
+  209, 213, 212, 216, 221, 218, 220, 217, 214, 212, 195, 179, 143, 116, 108, 77,
+  18, 140, 161, 153, 159, 161, 154, 159, 154, 132, 87, 45, 153, 193, 198, 212,
+  204, 202, 208, 214, 220, 220, 214, 217, 216, 216, 210, 213, 198, 208, 208, 199,
+  170, 189, 171, 87, 76, 118, 177, 193, 199, 206, 208, 212, 217, 221, 220, 218,
+  209, 217, 217, 187, 139, 167, 194, 190, 189, 183, 169, 171, 161, 150, 136, 138,
+  118, 136, 123, 131, 155, 158, 124, 163, 166, 143, 159, 167, 146, 135, 144, 187,
+  208, 174, 161, 136, 136, 140, 142, 171, 204, 209, 214, 209, 204, 205, 210, 213,
+  154, 124, 119, 143, 157, 167, 79, 80, 84, 114, 185, 206, 241, 216, 116, 110,
+  127, 135, 142, 154, 161, 165, 169, 167, 159, 158, 148, 143, 128, 33, 9, 6,
+  20, 34, 36, 53, 44, 55, 65, 61, 65, 71, 71, 71, 56, 77, 64, 68,
+  63, 48, 36, 49, 64, 144, 89, 51, 29, 24, 16, 41, 37, 37, 37, 32,
+  72, 92, 88, 77, 76, 67, 68, 237, 230, 226, 106, 103, 119, 127, 142, 139,
+  144, 147, 146, 140, 136, 142, 130, 127, 21, 10, 10, 20, 33, 106, 41, 59,
+  71, 114, 174, 182, 189, 198, 201, 204, 209, 214, 220, 225, 226, 229, 232, 233,
+  233, 236, 237, 234, 240, 240, 240, 234, 228, 220, 214, 217, 217, 222, 224, 218,
+  214, 214, 210, 195, 197, 183, 174, 189, 177, 175, 130, 92, 128, 147, 174, 194,
+  209, 210, 208, 202, 214, 220, 218, 221, 218, 218, 214, 213, 209, 205, 198, 179,
+  155, 112, 89, 83, 93, 91, 91, 95, 93, 96, 64, 37, 110, 104, 114, 104,
+  99, 88, 85, 85, 87, 85, 87, 64, 87, 127, 110, 96, 124, 124, 116, 89,
+  85, 79, 44, 130, 127, 136, 127, 138, 140, 132, 157, 212, 225, 233, 230, 222,
+  216, 206, 194, 169, 155, 131, 108, 88, 80, 148, 80, 48, 124, 115, 120, 126,
+  122, 119, 114, 104, 115, 107, 95, 73, 110, 118, 115, 97, 99, 108, 103, 97,
+  107, 76, 59, 0, 93, 87, 93, 107, 112, 112, 119, 127, 123, 110, 108, 65,
+  92, 116, 102, 238, 242, 237, 112, 104, 115, 136, 144, 151, 158, 158, 158, 161,
+  158, 155, 151, 147, 147, 138, 128, 22, 20, 22, 45, 68, 67, 64, 73, 73,
+  76, 67, 67, 46, 104, 130, 135, 134, 130, 135, 122, 123, 127, 136, 127, 107,
+  93, 116, 159, 187, 193, 201, 209, 214, 216, 210, 214, 221, 224, 222, 222, 230,
+  229, 221, 216, 220, 201, 206, 204, 208, 199, 174, 95, 55, 51, 71, 71, 77,
+  72, 100, 55, 107, 120, 132, 139, 228, 233, 222, 103, 99, 114, 128, 139, 150,
+  159, 170, 171, 165, 175, 111, 102, 97, 102, 104, 114, 116, 132, 138, 143, 131,
+  132, 130, 142, 131, 126, 122, 122, 95, 138, 128, 126, 143, 193, 201, 202, 190,
+  198, 210, 206, 216, 204, 202, 217, 204, 217, 217, 209, 205, 204, 198, 201, 202,
+  206, 214, 205, 199, 157, 159, 190, 204, 205, 205, 198, 214, 195, 183, 150, 153,
+  138, 128, 142, 131, 116, 73, 96, 53, 126, 140, 157, 150, 153, 166, 150, 144,
+  157, 179, 187, 204, 206, 201, 202, 191, 201, 205, 209, 202, 201, 195, 189, 191,
+  195, 199, 209, 212, 212, 212, 209, 202, 153, 110, 92, 18, 140, 161, 154, 153,
+  150, 147, 148, 158, 151, 114, 61, 159, 194, 197, 190, 208, 214, 225, 225, 218,
+  218, 222, 218, 206, 201, 206, 197, 193, 186, 174, 178, 170, 165, 148, 99, 87,
+  142, 174, 191, 198, 204, 206, 218, 217, 193, 183, 170, 155, 157, 155, 140, 116,
+  142, 165, 202, 191, 169, 157, 142, 139, 138, 136, 132, 127, 135, 135, 140, 142,
+  150, 151, 155, 159, 134, 128, 155, 171, 146, 134, 130, 134, 127, 120, 119, 112,
+  112, 112, 111, 114, 116, 119, 124, 130, 127, 120, 122, 118, 114, 135, 89, 103,
+  112, 68, 72, 87, 99, 199, 210, 206, 191, 146, 114, 120, 140, 162, 165, 166,
+  170, 170, 166, 159, 153, 147, 143, 130, 32, 9, 6, 24, 40, 34, 49, 51,
+  63, 44, 76, 80, 60, 53, 60, 55, 65, 65, 64, 69, 49, 36, 21, 52,
+  139, 85, 51, 24, 18, 18, 40, 40, 37, 36, 37, 80, 92, 84, 75, 71,
+  67, 67, 241, 234, 230, 112, 103, 119, 130, 139, 142, 150, 147, 142, 134, 134,
+  138, 131, 124, 18, 9, 10, 20, 38, 55, 52, 60, 114, 146, 181, 181, 135,
+  167, 144, 148, 148, 146, 140, 139, 138, 136, 131, 132, 130, 127, 126, 134, 127,
+  122, 122, 123, 116, 114, 115, 116, 171, 187, 220, 191, 185, 179, 165, 140, 115,
+  108, 107, 108, 114, 107, 104, 122, 126, 182, 208, 209, 212, 218, 193, 177, 183,
+  181, 167, 157, 147, 151, 150, 153, 154, 177, 191, 191, 194, 122, 99, 72, 87,
+  85, 61, 76, 84, 93, 69, 34, 84, 104, 118, 97, 84, 92, 97, 85, 80,
+  75, 92, 59, 81, 128, 126, 100, 104, 115, 93, 93, 89, 77, 55, 134, 136,
+  120, 132, 138, 143, 151, 216, 236, 238, 232, 222, 197, 147, 120, 106, 99, 92,
+  89, 77, 57, 60, 80, 72, 29, 81, 112, 110, 112, 103, 96, 91, 97, 95,
+  111, 99, 56, 103, 114, 108, 99, 108, 103, 102, 96, 107, 79, 53, 0, 92,
+  96, 111, 110, 110, 100, 102, 111, 110, 115, 81, 46, 97, 127, 91, 237, 242,
+  238, 116, 106, 115, 142, 147, 155, 155, 165, 165, 170, 165, 165, 161, 150, 144,
+  140, 128, 18, 17, 18, 45, 72, 69, 67, 72, 75, 91, 67, 67, 37, 99,
+  126, 126, 128, 134, 132, 128, 132, 122, 119, 106, 67, 118, 136, 123, 179, 202,
+  209, 216, 214, 220, 221, 225, 225, 229, 230, 234, 234, 230, 230, 229, 226, 228,
+  226, 225, 222, 220, 195, 104, 61, 56, 72, 80, 71, 81, 96, 56, 79, 114,
+  130, 128, 236, 238, 232, 106, 99, 114, 128, 139, 148, 161, 170, 174, 170, 146,
+  177, 143, 148, 191, 204, 209, 210, 210, 212, 212, 209, 209, 212, 209, 204, 197,
+  153, 119, 122, 126, 85, 139, 147, 146, 208, 217, 199, 214, 216, 216, 191, 175,
+  155, 165, 186, 204, 202, 201, 185, 186, 165, 177, 174, 170, 169, 166, 153, 139,
+  177, 204, 213, 212, 201, 198, 175, 154, 130, 123, 123, 120, 119, 122, 128, 80,
+  73, 88, 49, 126, 142, 157, 165, 147, 154, 162, 131, 148, 178, 194, 212, 214,
+  190, 179, 153, 151, 150, 155, 148, 147, 139, 135, 134, 136, 139, 157, 163, 166,
+  177, 187, 198, 183, 123, 95, 24, 96, 163, 153, 150, 153, 147, 153, 153, 155,
+  127, 57, 153, 191, 204, 208, 225, 241, 212, 224, 224, 222, 216, 202, 193, 205,
+  198, 190, 182, 119, 107, 103, 95, 106, 103, 93, 88, 136, 179, 191, 206, 214,
+  195, 183, 162, 138, 143, 134, 135, 136, 134, 140, 108, 118, 158, 171, 201, 181,
+  158, 163, 139, 138, 130, 140, 139, 144, 143, 142, 144, 148, 150, 155, 148, 123,
+  122, 136, 166, 147, 153, 127, 124, 123, 123, 122, 123, 119, 112, 112, 106, 112,
+  107, 114, 111, 112, 114, 115, 127, 120, 81, 80, 122, 110, 45, 63, 73, 81,
+  199, 213, 236, 195, 119, 111, 132, 147, 162, 169, 165, 167, 167, 167, 161, 155,
+  150, 143, 123, 25, 8, 5, 18, 36, 42, 48, 52, 63, 45, 77, 75, 55,
+  61, 51, 52, 64, 81, 79, 59, 44, 36, 24, 53, 124, 88, 72, 49, 25,
+  20, 36, 30, 37, 25, 30, 88, 95, 77, 81, 73, 67, 60, 242, 236, 230,
+  111, 104, 116, 131, 138, 143, 144, 138, 134, 131, 134, 134, 128, 120, 18, 10,
+  8, 18, 33, 37, 55, 34, 71, 104, 136, 111, 147, 123, 111, 111, 115, 114,
+  103, 112, 116, 114, 106, 107, 107, 108, 106, 106, 103, 106, 103, 103, 103, 103,
+  102, 103, 107, 108, 108, 106, 103, 102, 102, 100, 102, 103, 106, 108, 111, 114,
+  118, 123, 126, 198, 208, 206, 209, 190, 157, 131, 116, 111, 112, 111, 108, 112,
+  115, 115, 118, 122, 139, 140, 170, 165, 102, 72, 95, 75, 87, 87, 81, 88,
+  65, 37, 102, 114, 111, 97, 100, 92, 115, 85, 76, 73, 87, 56, 89, 128,
+  120, 100, 88, 91, 84, 89, 88, 75, 49, 124, 136, 127, 150, 144, 153, 214,
+  234, 242, 241, 222, 167, 97, 87, 79, 79, 79, 77, 68, 63, 49, 44, 61,
+  72, 48, 85, 107, 114, 100, 95, 91, 91, 89, 93, 102, 91, 68, 104, 116,
+  100, 100, 111, 111, 97, 103, 108, 93, 53, 4, 89, 107, 112, 103, 118, 127,
+  120, 116, 114, 107, 80, 46, 89, 108, 88, 241, 245, 240, 116, 107, 115, 142,
+  151, 159, 161, 169, 174, 175, 173, 167, 161, 151, 146, 138, 124, 16, 18, 21,
+  44, 68, 64, 72, 71, 83, 80, 71, 61, 49, 92, 126, 127, 116, 126, 134,
+  127, 130, 116, 103, 96, 68, 114, 132, 147, 132, 154, 174, 208, 218, 218, 220,
+  225, 232, 232, 234, 224, 241, 241, 237, 226, 237, 238, 234, 212, 240, 240, 195,
+  103, 55, 46, 80, 84, 71, 84, 95, 69, 63, 119, 130, 127, 237, 242, 236,
+  107, 100, 112, 126, 139, 151, 158, 170, 175, 175, 169, 185, 190, 197, 204, 210,
+  214, 213, 212, 212, 210, 212, 210, 210, 209, 206, 202, 201, 191, 144, 131, 130,
+  128, 97, 123, 135, 151, 138, 131, 132, 122, 115, 112, 108, 114, 111, 118, 116,
+  114, 112, 112, 111, 108, 111, 116, 115, 114, 151, 139, 174, 210, 208, 199, 202,
+  154, 128, 124, 122, 119, 126, 126, 128, 138, 111, 69, 60, 73, 40, 127, 142,
+  153, 155, 154, 151, 161, 157, 163, 193, 193, 182, 189, 174, 139, 118, 115, 114,
+  114, 114, 114, 111, 110, 111, 112, 112, 116, 118, 122, 126, 132, 142, 181, 150,
+  104, 22, 111, 162, 157, 153, 151, 148, 148, 146, 155, 127, 64, 92, 111, 175,
+  194, 185, 174, 161, 138, 130, 119, 103, 97, 102, 97, 100, 96, 89, 85, 85,
+  81, 81, 80, 80, 93, 89, 138, 181, 190, 193, 186, 144, 138, 122, 123, 138,
+  142, 143, 138, 148, 134, 99, 102, 128, 147, 171, 214, 177, 162, 154, 147, 142,
+  139, 143, 142, 140, 140, 144, 144, 139, 130, 154, 123, 88, 122, 142, 158, 159,
+  169, 147, 155, 132, 150, 144, 139, 130, 126, 122, 123, 120, 115, 126, 116, 120,
+  127, 122, 79, 72, 73, 102, 118, 22, 57, 79, 65, 195, 216, 242, 189, 127,
+  115, 132, 155, 165, 169, 170, 171, 177, 169, 162, 155, 148, 140, 126, 29, 8,
+  6, 18, 33, 36, 40, 48, 59, 41, 65, 69, 49, 71, 52, 41, 56, 42,
+  46, 53, 41, 38, 29, 61, 119, 114, 87, 61, 46, 34, 36, 32, 33, 25,
+  56, 87, 88, 81, 76, 72, 61, 59, 245, 237, 236, 107, 104, 116, 128, 138,
+  143, 134, 132, 131, 140, 139, 139, 132, 126, 18, 9, 8, 20, 29, 37, 67,
+  53, 36, 65, 103, 111, 118, 124, 111, 112, 99, 110, 115, 111, 110, 108, 112,
+  114, 114, 114, 114, 111, 114, 115, 116, 118, 120, 122, 120, 116, 104, 103, 100,
+  103, 103, 104, 103, 107, 112, 116, 120, 123, 126, 127, 124, 128, 120, 150, 210,
+  186, 159, 138, 111, 127, 127, 126, 124, 124, 124, 124, 124, 123, 122, 120, 114,
+  116, 120, 143, 108, 75, 87, 76, 79, 81, 84, 88, 67, 38, 100, 114, 114,
+  110, 108, 87, 111, 88, 75, 84, 87, 52, 83, 119, 115, 104, 103, 99, 96,
+  91, 88, 77, 55, 132, 140, 154, 135, 147, 202, 233, 244, 244, 234, 170, 114,
+  80, 67, 57, 52, 49, 53, 51, 51, 38, 45, 51, 75, 49, 56, 118, 115,
+  96, 93, 93, 97, 93, 88, 99, 96, 65, 103, 114, 99, 110, 112, 100, 97,
+  104, 102, 103, 57, 1, 96, 102, 116, 100, 104, 100, 106, 112, 116, 97, 72,
+  57, 80, 118, 91, 240, 246, 241, 114, 103, 115, 140, 154, 161, 167, 173, 182,
+  183, 181, 170, 165, 154, 147, 136, 126, 16, 16, 20, 41, 69, 71, 68, 75,
+  79, 84, 69, 61, 49, 93, 123, 124, 126, 131, 124, 130, 126, 115, 102, 106,
+  63, 107, 139, 126, 146, 143, 144, 146, 157, 162, 157, 146, 144, 146, 146, 147,
+  165, 158, 154, 169, 177, 151, 147, 161, 177, 142, 126, 96, 48, 51, 83, 83,
+  77, 84, 87, 92, 42, 106, 120, 126, 240, 242, 238, 111, 100, 112, 127, 138,
+  151, 161, 171, 178, 178, 174, 170, 142, 186, 197, 202, 210, 212, 212, 212, 210,
+  210, 210, 209, 209, 209, 205, 201, 194, 191, 182, 177, 131, 127, 126, 95, 97,
+  104, 112, 97, 110, 108, 110, 107, 108, 107, 112, 111, 111, 112, 112, 114, 114,
+  114, 116, 119, 119, 148, 143, 167, 199, 191, 195, 140, 126, 126, 123, 132, 131,
+  135, 132, 139, 138, 100, 57, 57, 79, 45, 124, 142, 150, 148, 155, 151, 139,
+  147, 166, 166, 173, 154, 154, 124, 114, 122, 124, 123, 119, 120, 118, 122, 120,
+  120, 120, 120, 118, 118, 119, 119, 118, 119, 131, 163, 111, 26, 102, 155, 153,
+  157, 154, 153, 153, 151, 148, 135, 103, 84, 88, 88, 95, 93, 88, 95, 96,
+  87, 87, 84, 88, 84, 89, 89, 87, 85, 87, 93, 116, 119, 122, 120, 97,
+  91, 142, 206, 198, 163, 126, 126, 132, 139, 146, 140, 143, 142, 142, 153, 123,
+  85, 72, 112, 139, 142, 154, 208, 175, 157, 158, 155, 150, 151, 151, 158, 155,
+  158, 157, 154, 147, 123, 122, 114, 118, 131, 131, 147, 158, 159, 150, 139, 189,
+  195, 157, 154, 139, 139, 139, 134, 140, 140, 140, 142, 138, 77, 67, 65, 84,
+  93, 111, 14, 60, 56, 72, 197, 217, 244, 162, 132, 114, 134, 157, 165, 169,
+  173, 174, 179, 174, 170, 153, 147, 139, 127, 28, 9, 6, 22, 30, 38, 49,
+  42, 53, 46, 73, 72, 45, 65, 59, 42, 42, 84, 44, 52, 37, 38, 21,
+  51, 116, 114, 80, 81, 64, 53, 55, 28, 28, 21, 60, 87, 81, 83, 67,
+  88, 91, 61, 245, 237, 238, 112, 99, 118, 128, 139, 132, 143, 146, 147, 154,
+  153, 146, 135, 130, 18, 9, 8, 20, 33, 38, 51, 41, 61, 32, 49, 103,
+  72, 83, 97, 110, 128, 139, 116, 119, 122, 144, 123, 127, 131, 140, 128, 127,
+  130, 144, 134, 136, 144, 146, 139, 139, 130, 122, 119, 119, 120, 120, 122, 126,
+  131, 138, 140, 144, 146, 146, 134, 130, 107, 124, 139, 131, 108, 132, 132, 150,
+  147, 136, 135, 136, 134, 135, 135, 135, 132, 132, 127, 126, 123, 119, 122, 77,
+  72, 87, 75, 79, 84, 84, 68, 44, 95, 108, 108, 107, 110, 95, 115, 100,
+  73, 80, 75, 48, 79, 119, 116, 89, 99, 77, 106, 104, 104, 93, 89, 135,
+  163, 157, 157, 190, 225, 244, 246, 241, 218, 130, 87, 63, 38, 37, 44, 38,
+  38, 42, 49, 45, 49, 46, 112, 52, 51, 116, 111, 95, 96, 97, 99, 97,
+  93, 91, 93, 60, 99, 115, 102, 111, 104, 97, 97, 97, 106, 83, 55, 1,
+  95, 102, 95, 103, 103, 106, 107, 114, 108, 96, 60, 68, 83, 115, 111, 245,
+  248, 242, 120, 104, 115, 139, 151, 161, 169, 175, 183, 182, 181, 181, 167, 150,
+  146, 138, 127, 16, 18, 18, 41, 67, 68, 71, 76, 85, 80, 69, 65, 48,
+  81, 112, 126, 127, 126, 130, 131, 114, 93, 93, 84, 63, 114, 131, 127, 148,
+  148, 131, 134, 136, 134, 134, 138, 134, 131, 134, 138, 136, 139, 140, 142, 140,
+  143, 132, 135, 131, 131, 106, 72, 42, 40, 83, 80, 76, 81, 84, 88, 30,
+  104, 130, 128, 241, 246, 241, 114, 103, 115, 131, 139, 151, 161, 171, 178, 181,
+  178, 171, 173, 154, 150, 148, 146, 144, 142, 140, 140, 139, 138, 138, 139, 135,
+  134, 132, 131, 134, 136, 138, 132, 136, 127, 128, 123, 126, 126, 123, 122, 120,
+  120, 119, 118, 120, 120, 119, 119, 120, 123, 123, 123, 124, 126, 128, 130, 123,
+  139, 136, 177, 208, 142, 130, 134, 138, 142, 142, 144, 142, 142, 143, 139, 89,
+  55, 55, 75, 25, 119, 138, 147, 151, 144, 143, 140, 142, 138, 134, 127, 128,
+  126, 116, 110, 104, 107, 119, 118, 128, 127, 127, 128, 131, 130, 131, 130, 131,
+  131, 131, 128, 126, 123, 169, 122, 68, 71, 140, 161, 159, 150, 144, 147, 148,
+  143, 143, 124, 61, 107, 103, 92, 95, 99, 99, 100, 97, 107, 104, 108, 111,
+  114, 115, 116, 119, 115, 120, 128, 131, 134, 131, 111, 103, 135, 182, 175, 140,
+  122, 139, 142, 147, 146, 147, 144, 144, 146, 147, 106, 67, 71, 103, 122, 127,
+  143, 162, 193, 174, 147, 136, 163, 162, 162, 162, 166, 166, 169, 165, 162, 151,
+  142, 123, 88, 124, 130, 134, 136, 148, 144, 140, 198, 187, 179, 175, 157, 147,
+  147, 151, 140, 146, 151, 144, 134, 73, 63, 59, 75, 93, 99, 17, 51, 49,
+  60, 206, 222, 230, 170, 122, 115, 135, 154, 165, 170, 171, 173, 178, 174, 169,
+  157, 146, 142, 130, 30, 9, 9, 26, 38, 41, 46, 48, 51, 45, 69, 63,
+  46, 51, 59, 55, 41, 42, 48, 40, 36, 32, 18, 49, 111, 96, 61, 63,
+  64, 38, 92, 55, 26, 20, 71, 88, 75, 76, 67, 83, 72, 60, 245, 241,
+  240, 111, 99, 115, 128, 142, 144, 157, 161, 166, 167, 161, 148, 138, 132, 18,
+  9, 10, 16, 25, 36, 34, 51, 77, 52, 34, 46, 91, 89, 92, 171, 185,
+  166, 118, 138, 165, 130, 134, 143, 155, 138, 139, 143, 154, 140, 144, 151, 146,
+  150, 153, 151, 148, 143, 140, 139, 139, 143, 146, 147, 150, 153, 158, 158, 157,
+  158, 151, 132, 139, 106, 104, 142, 136, 107, 76, 68, 83, 110, 127, 161, 138,
+  140, 159, 142, 142, 140, 138, 136, 132, 123, 139, 95, 59, 80, 84, 81, 75,
+  91, 71, 44, 51, 104, 110, 120, 110, 93, 115, 99, 67, 84, 69, 48, 106,
+  108, 116, 104, 111, 107, 123, 143, 159, 166, 175, 201, 216, 222, 226, 229, 242,
+  246, 248, 241, 178, 102, 53, 63, 53, 65, 55, 65, 61, 57, 56, 56, 56,
+  60, 59, 67, 45, 92, 107, 99, 99, 102, 99, 104, 99, 93, 93, 56, 96,
+  107, 99, 110, 103, 99, 100, 100, 107, 88, 53, 4, 91, 106, 108, 114, 111,
+  111, 111, 111, 112, 85, 41, 53, 77, 112, 96, 244, 249, 245, 118, 104, 114,
+  142, 154, 159, 167, 174, 179, 182, 181, 179, 170, 151, 144, 139, 127, 14, 16,
+  22, 37, 61, 65, 71, 72, 80, 71, 72, 61, 46, 75, 104, 119, 132, 124,
+  123, 116, 114, 91, 96, 89, 51, 116, 130, 135, 126, 127, 119, 120, 157, 158,
+  131, 140, 143, 147, 148, 148, 142, 142, 144, 144, 142, 136, 138, 135, 132, 120,
+  103, 52, 38, 40, 80, 84, 77, 85, 85, 87, 37, 103, 123, 131, 238, 246,
+  244, 114, 104, 116, 131, 140, 151, 162, 173, 177, 179, 178, 165, 155, 126, 102,
+  95, 112, 114, 127, 127, 128, 124, 124, 122, 120, 115, 115, 116, 116, 114, 115,
+  112, 112, 111, 111, 108, 114, 124, 116, 116, 178, 127, 119, 120, 127, 126, 128,
+  130, 128, 130, 131, 134, 134, 134, 134, 136, 138, 136, 144, 138, 139, 136, 134,
+  139, 148, 153, 153, 153, 151, 150, 148, 146, 128, 72, 53, 46, 75, 44, 100,
+  136, 136, 147, 146, 147, 146, 135, 127, 119, 111, 99, 95, 84, 81, 85, 87,
+  96, 108, 114, 119, 130, 128, 135, 135, 136, 134, 136, 138, 140, 139, 136, 134,
+  131, 140, 95, 34, 114, 140, 123, 124, 140, 144, 147, 143, 139, 123, 95, 123,
+  108, 92, 118, 116, 157, 106, 114, 119, 120, 120, 123, 127, 126, 128, 127, 126,
+  126, 136, 138, 140, 140, 134, 108, 126, 171, 142, 135, 146, 151, 155, 151, 158,
+  159, 151, 157, 158, 150, 92, 65, 65, 79, 107, 126, 134, 146, 186, 191, 165,
+  140, 140, 159, 171, 170, 170, 174, 174, 177, 177, 173, 155, 134, 104, 110, 102,
+  128, 136, 136, 146, 151, 197, 198, 195, 165, 169, 155, 154, 154, 158, 155, 153,
+  142, 142, 65, 57, 55, 64, 68, 75, 10, 46, 48, 53, 206, 224, 236, 142,
+  123, 114, 134, 147, 162, 167, 169, 171, 178, 175, 173, 158, 150, 140, 131, 26,
+  8, 6, 21, 38, 44, 44, 59, 63, 36, 68, 56, 48, 48, 49, 59, 42,
+  38, 37, 36, 34, 32, 21, 46, 115, 130, 73, 72, 72, 73, 44, 55, 29,
+  16, 68, 83, 75, 75, 67, 76, 67, 56, 248, 244, 240, 111, 100, 115, 130,
+  146, 154, 166, 171, 170, 171, 163, 151, 138, 132, 14, 9, 8, 16, 33, 36,
+  34, 40, 55, 53, 37, 36, 72, 79, 88, 199, 195, 132, 110, 120, 140, 138,
+  158, 163, 143, 143, 153, 158, 148, 154, 150, 158, 157, 155, 167, 167, 170, 163,
+  155, 153, 153, 159, 162, 161, 165, 165, 167, 169, 169, 167, 163, 146, 147, 148,
+  142, 111, 64, 41, 29, 33, 44, 83, 118, 138, 178, 185, 185, 173, 177, 175,
+  162, 142, 139, 131, 122, 111, 64, 59, 79, 77, 76, 77, 75, 59, 45, 96,
+  97, 85, 108, 99, 100, 76, 76, 72, 57, 71, 103, 100, 142, 155, 183, 206,
+  228, 232, 244, 245, 250, 249, 252, 252, 250, 250, 250, 250, 246, 222, 143, 99,
+  68, 36, 57, 59, 60, 59, 59, 59, 60, 65, 63, 57, 60, 64, 57, 88,
+  114, 108, 108, 110, 104, 111, 103, 91, 88, 59, 96, 111, 100, 103, 108, 103,
+  118, 107, 97, 93, 51, 5, 96, 118, 106, 122, 118, 112, 118, 114, 106, 87,
+  42, 56, 80, 110, 92, 244, 249, 245, 115, 104, 114, 139, 151, 158, 166, 171,
+  175, 182, 181, 181, 173, 153, 146, 139, 128, 13, 18, 18, 37, 64, 67, 73,
+  69, 69, 75, 68, 61, 57, 63, 100, 103, 107, 103, 104, 104, 87, 91, 93,
+  89, 57, 87, 124, 127, 120, 119, 116, 115, 123, 106, 115, 179, 140, 132, 136,
+  151, 154, 157, 157, 159, 159, 162, 153, 158, 127, 119, 104, 44, 34, 38, 71,
+  69, 85, 89, 73, 84, 55, 96, 119, 131, 230, 248, 245, 114, 104, 115, 131,
+  142, 151, 161, 173, 178, 179, 175, 165, 134, 76, 48, 45, 45, 83, 102, 115,
+  114, 118, 116, 115, 115, 116, 115, 118, 119, 118, 114, 72, 83, 107, 104, 106,
+  106, 107, 115, 116, 182, 183, 128, 112, 131, 142, 132, 132, 135, 135, 136, 139,
+  140, 142, 143, 144, 144, 144, 138, 142, 135, 128, 150, 155, 158, 159, 154, 154,
+  153, 148, 150, 143, 99, 52, 45, 45, 69, 46, 76, 130, 132, 132, 123, 107,
+  88, 92, 93, 95, 77, 93, 92, 91, 91, 102, 95, 88, 84, 104, 123, 131,
+  175, 178, 174, 155, 162, 174, 161, 161, 157, 146, 144, 132, 161, 118, 64, 57,
+  122, 142, 127, 127, 128, 142, 144, 143, 110, 91, 92, 114, 119, 103, 118, 158,
+  175, 115, 115, 124, 135, 131, 131, 134, 134, 132, 132, 134, 138, 144, 144, 146,
+  144, 139, 106, 112, 143, 151, 154, 161, 161, 161, 158, 158, 158, 158, 157, 123,
+  76, 68, 63, 63, 107, 111, 127, 135, 142, 194, 179, 148, 132, 143, 161, 169,
+  175, 177, 181, 182, 182, 182, 175, 148, 107, 100, 102, 127, 135, 147, 142, 158,
+  206, 204, 222, 171, 173, 161, 155, 158, 157, 158, 153, 139, 138, 59, 53, 52,
+  45, 88, 87, 14, 20, 40, 46, 213, 222, 238, 144, 107, 116, 136, 151, 159,
+  163, 166, 174, 177, 174, 170, 161, 143, 138, 128, 30, 8, 8, 22, 36, 37,
+  44, 40, 49, 37, 73, 73, 46, 33, 33, 36, 33, 34, 30, 33, 34, 32,
+  28, 51, 69, 91, 77, 17, 25, 21, 21, 20, 22, 14, 36, 61, 60, 51,
+  51, 68, 59, 56, 248, 245, 241, 108, 100, 112, 128, 144, 157, 170, 173, 170,
+  171, 165, 151, 138, 131, 14, 8, 9, 16, 18, 28, 30, 29, 34, 29, 32,
+  41, 75, 88, 84, 202, 201, 175, 116, 119, 126, 143, 144, 151, 163, 161, 150,
+  163, 154, 158, 157, 157, 163, 175, 178, 185, 190, 191, 186, 167, 165, 167, 174,
+  173, 174, 174, 174, 175, 177, 174, 170, 151, 151, 150, 116, 64, 29, 30, 26,
+  22, 30, 61, 91, 126, 182, 185, 199, 189, 183, 158, 178, 170, 157, 139, 126,
+  123, 76, 49, 57, 73, 76, 75, 71, 72, 63, 56, 60, 67, 65, 69, 68,
+  69, 69, 59, 88, 100, 130, 189, 222, 240, 245, 246, 249, 252, 255, 255, 255,
+  253, 255, 255, 255, 253, 253, 250, 241, 182, 134, 103, 64, 33, 56, 53, 53,
+  53, 57, 56, 59, 59, 64, 57, 64, 61, 59, 59, 76, 81, 79, 91, 85,
+  88, 87, 85, 89, 56, 92, 99, 99, 87, 92, 92, 95, 89, 91, 77, 51,
+  5, 89, 102, 106, 111, 106, 104, 104, 104, 92, 84, 37, 61, 75, 108, 87,
+  244, 248, 244, 114, 100, 115, 140, 151, 159, 165, 167, 170, 179, 181, 181, 167,
+  157, 146, 138, 126, 12, 17, 18, 37, 60, 60, 60, 69, 72, 71, 79, 73,
+  69, 69, 76, 83, 76, 80, 84, 88, 81, 87, 93, 80, 52, 92, 119, 115,
+  112, 112, 115, 115, 116, 112, 102, 183, 186, 132, 131, 138, 143, 153, 157, 161,
+  161, 155, 159, 155, 132, 120, 104, 40, 33, 37, 57, 60, 71, 80, 65, 67,
+  61, 67, 96, 127, 234, 246, 242, 119, 104, 115, 131, 143, 148, 159, 173, 179,
+  178, 187, 154, 88, 55, 36, 29, 25, 46, 96, 140, 169, 174, 167, 126, 159,
+  161, 158, 154, 128, 124, 119, 88, 63, 97, 103, 104, 103, 108, 112, 111, 170,
+  193, 179, 120, 123, 139, 140, 142, 142, 144, 144, 146, 148, 148, 148, 148, 153,
+  151, 148, 146, 147, 161, 159, 161, 158, 154, 142, 136, 128, 116, 114, 92, 57,
+  44, 41, 45, 68, 46, 67, 77, 84, 77, 85, 92, 89, 99, 103, 106, 85,
+  114, 108, 110, 104, 102, 100, 100, 100, 108, 126, 185, 194, 195, 187, 179, 179,
+  181, 178, 171, 175, 165, 153, 144, 131, 134, 91, 34, 72, 142, 143, 123, 130,
+  127, 124, 143, 127, 92, 85, 111, 118, 110, 122, 158, 183, 170, 112, 115, 134,
+  136, 140, 140, 138, 142, 139, 138, 150, 155, 158, 155, 154, 148, 151, 159, 159,
+  162, 162, 158, 155, 148, 142, 135, 131, 130, 110, 73, 59, 55, 64, 61, 97,
+  100, 114, 120, 119, 159, 198, 174, 140, 132, 144, 161, 166, 174, 179, 182, 182,
+  186, 183, 170, 132, 96, 114, 124, 138, 143, 142, 181, 221, 221, 197, 183, 178,
+  165, 163, 166, 165, 155, 153, 138, 134, 55, 51, 48, 68, 85, 99, 5, 5,
+  33, 46, 201, 224, 238, 134, 104, 114, 135, 151, 161, 165, 173, 174, 177, 169,
+  162, 162, 144, 136, 130, 33, 6, 9, 22, 22, 38, 42, 36, 45, 40, 65,
+  59, 32, 33, 32, 36, 32, 32, 30, 34, 33, 28, 26, 34, 22, 12, 10,
+  10, 13, 10, 8, 10, 10, 14, 20, 21, 25, 32, 32, 38, 59, 57, 246,
+  245, 240, 108, 99, 114, 134, 144, 157, 170, 177, 175, 167, 162, 148, 136, 126,
+  13, 8, 8, 13, 12, 26, 29, 22, 24, 24, 22, 28, 41, 79, 84, 209,
+  204, 201, 118, 112, 124, 140, 171, 170, 151, 162, 158, 159, 165, 169, 171, 175,
+  178, 182, 186, 177, 161, 181, 190, 197, 189, 170, 186, 185, 183, 178, 190, 185,
+  181, 185, 181, 187, 157, 153, 106, 49, 29, 22, 20, 18, 20, 52, 85, 122,
+  189, 197, 170, 175, 191, 189, 167, 165, 169, 143, 131, 138, 85, 49, 49, 65,
+  71, 69, 65, 67, 65, 71, 69, 65, 69, 69, 67, 72, 55, 99, 108, 154,
+  225, 246, 248, 248, 250, 252, 253, 255, 255, 248, 241, 237, 237, 236, 232, 229,
+  222, 218, 186, 148, 138, 110, 64, 60, 53, 59, 57, 57, 63, 60, 61, 63,
+  63, 64, 65, 63, 61, 69, 69, 71, 72, 71, 73, 72, 72, 71, 71, 67,
+  68, 59, 68, 68, 72, 56, 63, 61, 57, 49, 56, 8, 28, 51, 55, 59,
+  57, 59, 56, 71, 63, 38, 21, 79, 63, 100, 95, 245, 248, 244, 115, 100,
+  110, 136, 148, 159, 166, 171, 178, 179, 182, 173, 163, 154, 144, 136, 128, 13,
+  18, 20, 44, 46, 51, 52, 49, 53, 49, 46, 53, 55, 52, 53, 65, 64,
+  61, 61, 59, 60, 61, 59, 67, 76, 69, 77, 68, 65, 103, 108, 103, 107,
+  111, 93, 162, 191, 179, 128, 131, 143, 143, 153, 157, 155, 155, 158, 157, 135,
+  124, 95, 36, 30, 33, 56, 55, 60, 77, 76, 61, 59, 65, 95, 128, 241,
+  248, 245, 119, 106, 116, 131, 142, 151, 162, 174, 178, 174, 165, 120, 56, 40,
+  28, 36, 28, 44, 83, 157, 185, 135, 169, 161, 159, 163, 174, 148, 153, 127,
+  123, 114, 59, 63, 87, 102, 103, 102, 115, 107, 139, 202, 199, 130, 119, 130,
+  154, 148, 150, 150, 150, 151, 151, 151, 154, 154, 154, 158, 163, 166, 163, 163,
+  161, 148, 118, 83, 63, 44, 40, 38, 41, 40, 36, 36, 40, 41, 63, 41,
+  81, 72, 76, 77, 89, 110, 143, 197, 210, 220, 221, 218, 210, 199, 189, 131,
+  120, 116, 116, 130, 195, 220, 173, 198, 191, 193, 190, 182, 186, 185, 178, 173,
+  165, 151, 139, 155, 114, 40, 44, 95, 114, 120, 124, 124, 127, 132, 134, 110,
+  81, 103, 122, 87, 112, 148, 191, 186, 123, 114, 123, 135, 147, 142, 142, 142,
+  150, 153, 159, 163, 163, 163, 161, 159, 163, 162, 162, 158, 143, 114, 88, 63,
+  52, 48, 45, 49, 51, 51, 56, 56, 48, 56, 57, 96, 104, 114, 122, 120,
+  177, 190, 155, 128, 127, 150, 161, 167, 174, 178, 183, 187, 189, 183, 146, 103,
+  93, 102, 120, 138, 139, 201, 220, 210, 210, 182, 171, 171, 170, 170, 167, 158,
+  154, 144, 130, 49, 46, 46, 60, 84, 83, 20, 29, 20, 41, 193, 225, 221,
+  132, 114, 115, 135, 150, 159, 166, 170, 174, 174, 159, 165, 155, 144, 139, 131,
+  41, 9, 9, 12, 17, 18, 24, 46, 42, 37, 33, 36, 26, 21, 20, 18,
+  16, 13, 13, 9, 13, 13, 24, 10, 32, 36, 37, 40, 44, 41, 46, 37,
+  21, 12, 46, 89, 91, 69, 73, 72, 64, 59, 248, 245, 232, 110, 100, 112,
+  132, 142, 157, 169, 177, 174, 169, 165, 148, 132, 130, 17, 9, 9, 10, 10,
+  9, 17, 21, 22, 20, 21, 26, 36, 81, 87, 212, 213, 210, 120, 131, 120,
+  136, 167, 170, 158, 161, 162, 171, 181, 181, 181, 179, 177, 185, 150, 93, 60,
+  83, 157, 191, 191, 175, 167, 182, 183, 185, 183, 183, 186, 187, 190, 193, 161,
+  158, 99, 45, 26, 22, 18, 18, 21, 53, 79, 115, 202, 204, 173, 195, 197,
+  195, 173, 189, 179, 147, 135, 124, 106, 60, 45, 56, 51, 44, 37, 44, 41,
+  41, 42, 45, 45, 45, 49, 63, 77, 119, 177, 241, 249, 252, 246, 253, 252,
+  244, 226, 199, 175, 132, 119, 123, 116, 118, 123, 120, 116, 123, 139, 127, 134,
+  126, 97, 73, 24, 21, 17, 16, 13, 13, 13, 10, 9, 12, 12, 6, 5,
+  1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 4, 9, 10, 8, 2,
+  2, 6, 5, 9, 9, 6, 26, 24, 26, 12, 28, 28, 26, 24, 29, 30,
+  30, 72, 45, 44, 107, 93, 246, 249, 246, 119, 102, 111, 136, 150, 161, 167,
+  177, 181, 181, 179, 169, 169, 150, 143, 139, 126, 10, 16, 21, 26, 17, 16,
+  16, 17, 17, 18, 20, 21, 21, 26, 38, 79, 85, 100, 95, 103, 95, 99,
+  93, 87, 84, 115, 122, 116, 81, 69, 71, 71, 97, 116, 107, 110, 202, 195,
+  134, 130, 139, 143, 147, 150, 151, 159, 154, 154, 130, 124, 96, 34, 26, 32,
+  48, 29, 44, 49, 52, 45, 59, 100, 93, 130, 241, 249, 245, 114, 103, 114,
+  128, 140, 148, 162, 174, 178, 174, 153, 83, 45, 32, 32, 36, 25, 49, 96,
+  191, 198, 169, 135, 166, 169, 158, 150, 138, 157, 131, 126, 118, 55, 57, 75,
+  84, 93, 95, 114, 110, 127, 213, 205, 140, 119, 130, 144, 155, 155, 153, 153,
+  151, 153, 153, 157, 158, 167, 171, 170, 166, 166, 158, 112, 68, 36, 30, 26,
+  25, 26, 28, 29, 30, 33, 38, 41, 48, 73, 77, 73, 97, 107, 120, 158,
+  202, 240, 245, 246, 248, 246, 248, 244, 244, 240, 240, 238, 236, 229, 233, 233,
+  228, 214, 198, 191, 187, 187, 187, 186, 187, 185, 181, 178, 159, 148, 132, 132,
+  85, 33, 59, 80, 95, 84, 96, 104, 103, 114, 116, 118, 119, 111, 85, 118,
+  148, 202, 197, 134, 118, 120, 134, 142, 144, 144, 158, 163, 169, 169, 167, 165,
+  169, 171, 167, 166, 162, 146, 103, 64, 37, 30, 28, 26, 29, 32, 34, 36,
+  36, 38, 44, 60, 61, 60, 63, 63, 97, 102, 112, 138, 189, 177, 136, 124,
+  138, 154, 162, 167, 175, 181, 186, 190, 190, 170, 120, 99, 107, 138, 142, 155,
+  209, 212, 213, 214, 186, 175, 179, 171, 169, 169, 155, 155, 140, 135, 42, 38,
+  38, 12, 10, 8, 115, 104, 97, 48, 185, 222, 224, 142, 114, 114, 132, 151,
+  159, 165, 170, 171, 167, 167, 166, 146, 142, 139, 132, 48, 10, 9, 8, 24,
+  22, 18, 20, 24, 30, 20, 29, 45, 56, 53, 65, 71, 76, 81, 80, 71,
+  49, 14, 56, 64, 91, 96, 89, 79, 80, 76, 55, 26, 9, 76, 88, 84,
+  81, 88, 87, 67, 65, 250, 240, 242, 110, 97, 110, 132, 142, 157, 169, 173,
+  171, 166, 165, 148, 138, 132, 18, 9, 9, 14, 10, 16, 26, 26, 34, 4,
+  29, 25, 79, 80, 95, 220, 217, 217, 135, 131, 136, 127, 161, 169, 163, 161,
+  175, 185, 185, 185, 182, 175, 177, 162, 93, 34, 34, 60, 112, 181, 204, 185,
+  163, 179, 186, 183, 186, 189, 190, 193, 194, 193, 166, 163, 108, 51, 34, 25,
+  24, 22, 24, 56, 91, 110, 206, 209, 178, 177, 181, 198, 197, 194, 179, 159,
+  140, 128, 132, 81, 42, 49, 59, 64, 60, 65, 91, 99, 107, 102, 110, 104,
+  93, 108, 148, 193, 245, 248, 249, 250, 248, 228, 193, 150, 124, 119, 111, 104,
+  112, 116, 116, 104, 122, 120, 118, 112, 131, 132, 134, 130, 126, 84, 92, 72,
+  69, 72, 79, 73, 72, 71, 65, 65, 56, 60, 87, 111, 112, 128, 119, 112,
+  130, 132, 116, 89, 83, 93, 142, 114, 116, 150, 146, 115, 107, 107, 131, 97,
+  14, 0, 42, 81, 99, 65, 68, 64, 63, 63, 40, 52, 40, 71, 108, 107,
+  103, 246, 249, 245, 118, 100, 115, 138, 151, 159, 167, 178, 178, 181, 175, 170,
+  167, 148, 140, 138, 130, 12, 21, 21, 33, 63, 81, 87, 95, 103, 102, 100,
+  89, 96, 97, 95, 111, 136, 127, 130, 114, 120, 123, 124, 127, 115, 128, 131,
+  130, 108, 100, 87, 85, 77, 103, 104, 104, 209, 204, 151, 130, 135, 146, 142,
+  146, 155, 157, 154, 153, 131, 120, 92, 32, 26, 33, 49, 61, 69, 85, 88,
+  99, 99, 83, 120, 135, 241, 249, 246, 111, 102, 115, 131, 142, 151, 163, 175,
+  175, 186, 142, 55, 38, 34, 37, 37, 22, 67, 97, 202, 204, 191, 135, 159,
+  162, 162, 146, 135, 136, 131, 128, 118, 55, 51, 65, 92, 89, 93, 104, 102,
+  118, 216, 213, 197, 123, 122, 136, 146, 158, 163, 154, 155, 155, 162, 162, 170,
+  175, 171, 169, 167, 154, 95, 44, 30, 25, 26, 29, 33, 36, 36, 38, 38,
+  44, 46, 49, 69, 60, 81, 99, 108, 147, 217, 241, 244, 246, 246, 248, 246,
+  246, 246, 246, 245, 245, 242, 242, 240, 238, 238, 237, 234, 228, 175, 174, 191,
+  193, 199, 182, 194, 187, 183, 181, 169, 154, 138, 146, 108, 38, 51, 72, 76,
+  77, 95, 83, 75, 68, 61, 63, 73, 76, 87, 126, 143, 206, 210, 181, 116,
+  116, 126, 139, 144, 154, 167, 169, 167, 170, 171, 169, 170, 173, 167, 162, 147,
+  91, 40, 33, 26, 26, 28, 30, 29, 30, 32, 63, 59, 42, 46, 48, 57,
+  80, 65, 68, 53, 76, 106, 114, 183, 179, 147, 124, 123, 139, 158, 165, 171,
+  177, 183, 189, 190, 190, 147, 108, 102, 134, 134, 177, 216, 214, 228, 218, 186,
+  178, 178, 170, 170, 169, 158, 157, 142, 132, 48, 42, 41, 32, 81, 91, 68,
+  44, 55, 42, 140, 216, 226, 147, 115, 114, 132, 147, 159, 165, 170, 171, 165,
+  166, 163, 146, 140, 139, 131, 56, 12, 10, 10, 24, 29, 38, 37, 38, 25,
+  52, 81, 100, 92, 95, 100, 100, 95, 85, 95, 84, 53, 13, 55, 124, 107,
+  108, 87, 89, 93, 64, 55, 25, 12, 85, 83, 67, 57, 61, 77, 67, 68,
+  250, 242, 241, 110, 96, 111, 135, 140, 157, 170, 175, 173, 167, 163, 150, 139,
+  132, 18, 10, 9, 12, 12, 22, 30, 20, 33, 10, 24, 29, 76, 91, 102,
+  218, 221, 218, 136, 111, 118, 127, 139, 167, 166, 170, 182, 187, 187, 187, 186,
+  179, 175, 126, 46, 29, 32, 37, 64, 158, 206, 193, 165, 166, 181, 195, 197,
+  199, 201, 204, 204, 198, 193, 171, 139, 71, 36, 28, 26, 22, 42, 69, 95,
+  104, 208, 214, 193, 175, 194, 198, 183, 195, 178, 173, 143, 134, 126, 104, 51,
+  41, 57, 57, 91, 79, 84, 103, 107, 122, 97, 112, 119, 153, 229, 246, 248,
+  248, 252, 236, 189, 142, 119, 115, 114, 115, 127, 77, 49, 44, 46, 57, 110,
+  116, 124, 161, 183, 189, 181, 135, 132, 120, 99, 76, 100, 99, 80, 84, 77,
+  79, 73, 92, 107, 72, 110, 134, 131, 131, 89, 118, 138, 142, 120, 115, 99,
+  88, 131, 134, 143, 140, 143, 132, 134, 131, 119, 116, 81, 0, 96, 93, 97,
+  106, 95, 92, 95, 79, 61, 60, 36, 108, 108, 103, 110, 249, 248, 245, 110,
+  104, 116, 140, 150, 161, 169, 175, 177, 183, 173, 166, 165, 147, 140, 138, 126,
+  12, 18, 40, 55, 85, 84, 92, 95, 97, 103, 100, 107, 96, 104, 139, 127,
+  122, 120, 124, 130, 120, 120, 130, 162, 170, 210, 199, 153, 123, 107, 100, 103,
+  100, 102, 103, 93, 213, 213, 185, 130, 134, 140, 144, 142, 146, 161, 151, 159,
+  131, 122, 91, 32, 28, 44, 57, 87, 95, 104, 106, 111, 73, 100, 142, 174,
+  242, 248, 242, 116, 104, 115, 132, 144, 151, 167, 175, 174, 167, 123, 49, 38,
+  29, 37, 44, 26, 73, 108, 209, 209, 199, 163, 157, 158, 165, 147, 150, 139,
+  132, 136, 122, 53, 49, 52, 80, 93, 97, 103, 108, 120, 217, 218, 205, 122,
+  120, 128, 142, 153, 161, 162, 162, 174, 178, 177, 177, 178, 170, 169, 154, 99,
+  37, 25, 25, 26, 32, 48, 41, 49, 48, 51, 52, 51, 68, 71, 84, 59,
+  81, 99, 138, 230, 244, 244, 249, 248, 245, 236, 224, 204, 201, 190, 193, 197,
+  208, 212, 214, 224, 226, 229, 226, 230, 217, 181, 206, 205, 216, 216, 205, 187,
+  191, 185, 177, 158, 146, 139, 126, 72, 45, 57, 103, 104, 112, 124, 127, 118,
+  111, 122, 128, 127, 130, 118, 158, 206, 213, 197, 118, 116, 124, 138, 148, 157,
+  169, 173, 174, 173, 173, 171, 174, 173, 167, 144, 91, 36, 29, 25, 28, 30,
+  37, 36, 40, 59, 28, 55, 88, 99, 85, 111, 103, 110, 124, 127, 111, 112,
+  111, 115, 181, 186, 166, 126, 119, 132, 150, 162, 166, 174, 179, 186, 193, 197,
+  186, 142, 99, 135, 144, 194, 216, 216, 216, 201, 193, 185, 177, 174, 175, 169,
+  158, 157, 142, 135, 44, 41, 40, 63, 91, 91, 65, 56, 55, 64, 77, 210,
+  216, 178, 115, 112, 127, 148, 158, 163, 169, 167, 166, 163, 153, 134, 140, 138,
+  132, 83, 17, 10, 17, 30, 34, 37, 30, 37, 16, 81, 93, 100, 95, 88,
+  114, 106, 110, 99, 102, 77, 51, 12, 71, 134, 128, 134, 127, 115, 88, 75,
+  46, 24, 13, 79, 84, 65, 65, 61, 73, 63, 63, 248, 236, 242, 107, 95,
+  111, 135, 143, 155, 170, 174, 177, 165, 163, 151, 140, 134, 20, 12, 10, 10,
+  5, 25, 25, 13, 24, 10, 37, 18, 95, 91, 142, 225, 224, 221, 119, 111,
+  118, 142, 142, 153, 166, 177, 186, 187, 187, 185, 182, 178, 169, 95, 33, 29,
+  30, 36, 65, 130, 208, 204, 170, 159, 177, 183, 197, 202, 206, 206, 205, 205,
+  198, 175, 163, 92, 44, 26, 28, 24, 57, 80, 96, 107, 201, 220, 206, 181,
+  195, 197, 193, 195, 179, 178, 148, 139, 130, 123, 73, 42, 56, 53, 55, 71,
+  104, 89, 96, 92, 102, 100, 119, 209, 248, 248, 249, 250, 225, 166, 122, 116,
+  116, 120, 140, 127, 69, 41, 36, 42, 37, 56, 108, 187, 199, 191, 169, 175,
+  175, 181, 136, 134, 126, 100, 59, 84, 83, 93, 79, 79, 79, 81, 73, 77,
+  147, 143, 138, 131, 131, 126, 118, 124, 111, 97, 84, 108, 147, 144, 135, 134,
+  128, 132, 132, 140, 130, 127, 95, 25, 104, 89, 79, 72, 71, 75, 79, 93,
+  72, 55, 37, 107, 119, 110, 138, 249, 248, 244, 111, 104, 116, 139, 148, 158,
+  167, 175, 178, 182, 170, 165, 148, 136, 139, 136, 126, 13, 24, 40, 72, 80,
+  97, 97, 106, 89, 95, 100, 91, 60, 108, 138, 128, 120, 115, 124, 120, 124,
+  126, 186, 229, 220, 220, 209, 178, 126, 110, 92, 111, 99, 97, 104, 91, 212,
+  214, 201, 130, 131, 143, 150, 144, 144, 154, 146, 144, 131, 124, 81, 32, 28,
+  53, 71, 92, 96, 104, 115, 93, 72, 99, 143, 179, 242, 246, 244, 123, 107,
+  118, 132, 147, 157, 169, 175, 171, 162, 95, 48, 34, 33, 40, 45, 28, 80,
+  119, 208, 212, 208, 130, 151, 155, 162, 134, 139, 144, 131, 135, 119, 52, 45,
+  52, 72, 80, 89, 108, 110, 122, 222, 221, 209, 120, 119, 126, 139, 151, 159,
+  165, 177, 178, 182, 182, 179, 175, 173, 158, 96, 40, 25, 28, 29, 36, 45,
+  41, 55, 67, 76, 79, 75, 80, 76, 83, 89, 72, 91, 114, 193, 244, 246,
+  246, 245, 237, 205, 181, 157, 155, 154, 158, 161, 165, 169, 174, 178, 181, 185,
+  189, 199, 202, 210, 206, 206, 204, 202, 206, 208, 205, 197, 187, 178, 162, 153,
+  135, 131, 95, 42, 63, 92, 100, 106, 120, 93, 124, 130, 122, 120, 114, 115,
+  119, 153, 210, 217, 206, 118, 115, 124, 138, 147, 161, 169, 173, 173, 174, 173,
+  175, 174, 171, 157, 106, 44, 30, 26, 30, 34, 40, 46, 51, 73, 64, 28,
+  89, 112, 120, 118, 115, 111, 110, 107, 128, 132, 135, 72, 116, 166, 181, 182,
+  140, 118, 126, 143, 155, 162, 170, 177, 183, 189, 204, 201, 193, 155, 142, 175,
+  213, 217, 218, 222, 205, 201, 189, 189, 178, 175, 173, 161, 157, 146, 132, 44,
+  38, 37, 85, 85, 108, 10, 45, 55, 40, 51, 190, 216, 199, 116, 110, 123,
+  147, 157, 162, 166, 169, 163, 161, 143, 140, 140, 136, 131, 102, 20, 12, 17,
+  28, 30, 33, 26, 44, 21, 84, 110, 103, 108, 106, 99, 103, 102, 106, 89,
+  73, 55, 13, 77, 127, 163, 193, 163, 136, 104, 89, 49, 25, 13, 72, 79,
+  69, 83, 63, 72, 60, 73, 245, 242, 241, 99, 96, 111, 132, 140, 154, 169,
+  175, 174, 167, 165, 154, 143, 132, 16, 12, 9, 8, 13, 25, 25, 14, 16,
+  13, 29, 17, 81, 96, 142, 229, 229, 224, 123, 123, 118, 127, 143, 162, 167,
+  179, 185, 190, 190, 186, 182, 175, 150, 53, 29, 25, 30, 48, 53, 110, 199,
+  210, 179, 157, 159, 179, 190, 199, 205, 206, 208, 208, 204, 198, 177, 130, 55,
+  32, 26, 30, 59, 81, 96, 97, 197, 224, 218, 185, 179, 195, 183, 194, 179,
+  174, 155, 143, 135, 138, 91, 40, 44, 53, 51, 69, 93, 103, 108, 102, 92,
+  110, 144, 234, 244, 246, 248, 230, 151, 119, 119, 119, 126, 146, 147, 89, 56,
+  34, 34, 41, 38, 60, 124, 205, 198, 170, 174, 179, 177, 183, 143, 138, 120,
+  114, 91, 55, 72, 68, 75, 68, 79, 79, 68, 30, 138, 147, 124, 139, 132,
+  139, 147, 143, 123, 96, 83, 103, 151, 139, 136, 130, 128, 132, 131, 127, 130,
+  136, 57, 26, 71, 92, 85, 73, 73, 72, 76, 85, 57, 55, 34, 110, 119,
+  106, 124, 249, 249, 246, 115, 106, 116, 139, 151, 157, 167, 175, 179, 183, 170,
+  166, 142, 135, 136, 136, 124, 13, 24, 26, 44, 80, 95, 110, 106, 95, 110,
+  93, 99, 64, 96, 142, 120, 132, 120, 112, 126, 122, 132, 212, 229, 216, 218,
+  199, 157, 122, 95, 83, 93, 102, 99, 106, 95, 218, 216, 208, 132, 132, 142,
+  146, 148, 151, 140, 151, 143, 128, 123, 71, 32, 28, 52, 77, 91, 96, 103,
+  122, 97, 65, 97, 144, 175, 240, 245, 242, 126, 108, 120, 132, 144, 153, 169,
+  174, 171, 151, 73, 41, 34, 37, 44, 51, 33, 81, 116, 209, 213, 236, 132,
+  153, 153, 154, 146, 138, 135, 131, 130, 118, 46, 45, 46, 75, 76, 89, 99,
+  112, 124, 226, 224, 216, 119, 116, 124, 136, 148, 158, 163, 175, 181, 181, 181,
+  177, 173, 165, 122, 49, 26, 28, 28, 34, 38, 38, 51, 71, 87, 88, 81,
+  84, 83, 85, 93, 77, 91, 92, 128, 228, 244, 244, 238, 224, 187, 151, 139,
+  140, 146, 154, 163, 173, 181, 191, 201, 205, 208, 209, 208, 191, 195, 199, 202,
+  204, 206, 209, 209, 213, 210, 191, 187, 173, 162, 154, 139, 138, 112, 48, 56,
+  80, 93, 111, 115, 115, 116, 85, 110, 131, 126, 122, 140, 150, 213, 222, 212,
+  119, 115, 124, 139, 147, 159, 169, 173, 174, 174, 178, 177, 173, 163, 123, 55,
+  33, 25, 30, 38, 48, 48, 51, 56, 69, 60, 24, 99, 122, 122, 124, 119,
+  131, 122, 123, 132, 134, 134, 80, 122, 162, 174, 185, 154, 122, 118, 134, 143,
+  161, 167, 175, 179, 189, 195, 208, 206, 204, 194, 213, 216, 216, 225, 225, 206,
+  195, 193, 187, 181, 179, 171, 161, 158, 146, 135, 40, 38, 37, 63, 85, 106,
+  92, 38, 41, 40, 34, 108, 212, 206, 120, 108, 118, 136, 151, 159, 165, 167,
+  166, 163, 154, 136, 142, 134, 135, 115, 26, 14, 18, 28, 29, 37, 29, 46,
+  17, 60, 95, 102, 102, 96, 100, 99, 112, 96, 95, 75, 55, 16, 106, 153,
+  214, 220, 230, 189, 138, 104, 64, 25, 13, 72, 79, 77, 65, 65, 67, 63,
+  64, 245, 245, 234, 103, 95, 107, 127, 139, 153, 169, 175, 174, 167, 165, 154,
+  143, 134, 17, 9, 14, 9, 12, 22, 28, 28, 26, 6, 25, 25, 80, 91,
+  110, 230, 229, 228, 134, 124, 131, 127, 148, 146, 170, 175, 187, 182, 190, 187,
+  177, 173, 128, 41, 28, 22, 32, 41, 56, 91, 190, 214, 195, 158, 154, 173,
+  186, 195, 199, 205, 208, 209, 206, 202, 183, 163, 73, 34, 25, 29, 59, 79,
+  95, 97, 179, 228, 224, 193, 194, 191, 195, 194, 185, 170, 157, 146, 135, 128,
+  107, 48, 41, 53, 49, 64, 97, 110, 93, 93, 106, 104, 191, 240, 246, 248,
+  238, 163, 122, 122, 126, 132, 150, 147, 153, 77, 52, 34, 24, 45, 45, 76,
+  103, 210, 205, 173, 175, 179, 173, 173, 175, 140, 132, 127, 100, 55, 56, 67,
+  71, 67, 68, 77, 75, 55, 142, 155, 130, 139, 134, 139, 147, 131, 118, 114,
+  72, 119, 151, 143, 127, 131, 127, 136, 134, 132, 134, 128, 81, 0, 89, 87,
+  76, 69, 76, 91, 96, 81, 55, 55, 30, 100, 116, 100, 123, 250, 248, 240,
+  114, 104, 118, 138, 146, 162, 169, 173, 179, 181, 169, 162, 151, 142, 136, 135,
+  120, 14, 25, 29, 51, 81, 102, 108, 104, 96, 106, 93, 92, 60, 106, 130,
+  115, 123, 127, 122, 119, 119, 136, 225, 229, 233, 229, 191, 131, 107, 77, 75,
+  95, 89, 96, 102, 97, 222, 221, 213, 136, 134, 146, 147, 151, 147, 142, 157,
+  139, 124, 120, 60, 32, 28, 48, 77, 92, 92, 102, 112, 106, 59, 120, 140,
+  146, 237, 244, 240, 124, 108, 119, 132, 143, 151, 170, 173, 169, 150, 56, 36,
+  34, 38, 44, 46, 30, 80, 118, 210, 214, 212, 151, 143, 148, 148, 144, 138,
+  136, 127, 126, 112, 42, 40, 42, 72, 80, 87, 103, 108, 118, 230, 226, 221,
+  122, 115, 126, 138, 146, 157, 163, 175, 181, 181, 178, 167, 169, 144, 64, 29,
+  28, 30, 34, 49, 48, 40, 87, 96, 95, 93, 92, 95, 92, 97, 92, 88,
+  83, 108, 198, 225, 240, 229, 206, 167, 140, 130, 138, 148, 162, 174, 182, 190,
+  198, 209, 218, 220, 222, 224, 222, 218, 205, 201, 204, 198, 197, 194, 214, 214,
+  216, 194, 187, 170, 166, 157, 142, 138, 120, 61, 49, 71, 106, 106, 127, 114,
+  110, 84, 107, 106, 120, 118, 108, 143, 210, 226, 218, 119, 116, 124, 139, 146,
+  161, 167, 171, 174, 175, 177, 173, 169, 143, 63, 33, 29, 32, 41, 49, 52,
+  53, 57, 60, 72, 64, 24, 102, 127, 134, 119, 120, 126, 111, 134, 139, 128,
+  136, 72, 120, 151, 165, 166, 174, 130, 118, 120, 138, 155, 165, 171, 177, 183,
+  194, 202, 209, 212, 210, 214, 217, 216, 229, 218, 202, 195, 194, 187, 181, 174,
+  171, 161, 158, 144, 132, 36, 36, 33, 55, 118, 124, 84, 20, 36, 45, 41,
+  60, 193, 206, 132, 108, 116, 131, 148, 157, 161, 165, 171, 173, 165, 154, 131,
+  131, 134, 122, 41, 12, 16, 21, 25, 38, 30, 40, 37, 36, 91, 103, 103,
+  107, 100, 100, 103, 102, 87, 77, 59, 26, 144, 191, 232, 214, 210, 206, 217,
+  138, 89, 29, 13, 65, 69, 73, 59, 55, 61, 53, 61, 246, 245, 238, 107,
+  97, 104, 122, 138, 155, 167, 177, 175, 167, 165, 154, 143, 131, 14, 10, 12,
+  12, 10, 21, 25, 33, 30, 28, 22, 29, 72, 83, 99, 230, 230, 228, 134,
+  110, 119, 130, 139, 143, 161, 173, 183, 189, 191, 186, 174, 165, 104, 33, 25,
+  22, 32, 48, 61, 84, 178, 221, 205, 162, 150, 163, 181, 189, 198, 201, 205,
+  208, 209, 206, 199, 182, 106, 38, 28, 29, 59, 80, 85, 89, 151, 226, 226,
+  197, 179, 191, 197, 185, 174, 155, 150, 147, 140, 130, 120, 67, 41, 48, 46,
+  64, 96, 111, 99, 97, 102, 93, 206, 244, 246, 245, 195, 130, 123, 130, 135,
+  136, 151, 155, 155, 71, 34, 30, 28, 38, 44, 64, 104, 214, 212, 190, 173,
+  178, 175, 173, 178, 144, 140, 127, 97, 46, 49, 69, 57, 65, 72, 81, 57,
+  85, 134, 140, 131, 124, 123, 131, 128, 131, 115, 95, 55, 127, 151, 143, 127,
+  135, 127, 135, 134, 132, 126, 126, 75, 0, 92, 84, 81, 69, 75, 64, 57,
+  53, 64, 56, 32, 103, 114, 107, 119, 248, 246, 233, 110, 104, 119, 140, 150,
+  161, 169, 175, 174, 182, 181, 170, 159, 144, 131, 131, 118, 14, 25, 34, 64,
+  80, 96, 108, 108, 112, 111, 91, 97, 60, 100, 131, 115, 111, 123, 110, 123,
+  119, 144, 226, 234, 233, 183, 132, 123, 84, 71, 75, 88, 87, 87, 96, 97,
+  224, 225, 220, 139, 135, 144, 151, 165, 154, 153, 155, 128, 124, 116, 46, 29,
+  29, 48, 77, 89, 93, 102, 112, 106, 52, 128, 142, 126, 233, 242, 238, 126,
+  110, 119, 132, 146, 153, 170, 170, 165, 140, 49, 36, 36, 41, 41, 41, 34,
+  76, 124, 214, 220, 210, 146, 140, 144, 150, 143, 139, 138, 136, 122, 108, 38,
+  37, 40, 68, 71, 76, 100, 116, 116, 232, 232, 225, 122, 116, 126, 136, 146,
+  157, 165, 170, 181, 178, 173, 169, 159, 107, 40, 28, 30, 33, 40, 41, 38,
+  42, 72, 104, 130, 130, 127, 127, 119, 102, 79, 96, 108, 153, 228, 237, 222,
+  187, 150, 130, 130, 142, 153, 163, 177, 183, 191, 199, 206, 216, 208, 165, 139,
+  162, 204, 224, 222, 209, 201, 197, 205, 205, 216, 212, 212, 193, 185, 173, 167,
+  155, 140, 136, 123, 85, 49, 59, 91, 100, 126, 124, 110, 80, 107, 108, 122,
+  119, 96, 147, 217, 229, 222, 122, 115, 126, 139, 146, 161, 167, 173, 175, 177,
+  177, 170, 158, 106, 41, 33, 32, 38, 51, 56, 59, 57, 61, 68, 77, 69,
+  26, 108, 135, 131, 123, 115, 134, 131, 139, 143, 120, 134, 63, 123, 139, 155,
+  165, 182, 165, 119, 111, 131, 148, 162, 169, 175, 182, 194, 194, 201, 208, 205,
+  206, 220, 224, 220, 209, 201, 198, 193, 189, 179, 173, 171, 159, 157, 143, 131,
+  32, 34, 34, 61, 85, 104, 63, 77, 49, 32, 29, 28, 114, 202, 161, 111,
+  112, 124, 142, 151, 158, 165, 174, 169, 170, 159, 130, 127, 135, 130, 61, 16,
+  12, 26, 22, 33, 32, 42, 34, 30, 84, 100, 107, 103, 107, 107, 106, 103,
+  91, 80, 56, 26, 159, 209, 229, 222, 226, 209, 181, 140, 91, 26, 14, 65,
+  81, 72, 73, 59, 63, 55, 80, 245, 246, 241, 112, 97, 103, 118, 143, 154,
+  167, 174, 174, 170, 165, 154, 144, 134, 20, 13, 6, 12, 13, 18, 18, 30,
+  30, 38, 13, 10, 72, 80, 97, 229, 232, 226, 120, 108, 119, 134, 128, 132,
+  148, 166, 178, 186, 185, 182, 169, 154, 76, 29, 26, 20, 34, 63, 53, 80,
+  158, 222, 213, 166, 146, 154, 174, 183, 191, 197, 199, 204, 209, 209, 202, 189,
+  148, 52, 32, 25, 53, 76, 84, 91, 127, 224, 229, 202, 181, 191, 191, 182,
+  163, 153, 146, 151, 147, 132, 131, 83, 40, 41, 48, 61, 95, 115, 95, 85,
+  88, 102, 216, 238, 244, 242, 163, 124, 130, 136, 140, 144, 157, 158, 161, 65,
+  36, 30, 21, 40, 44, 64, 96, 213, 218, 210, 177, 178, 178, 174, 181, 150,
+  144, 124, 96, 40, 41, 55, 64, 57, 67, 69, 67, 72, 142, 138, 134, 128,
+  128, 130, 127, 136, 114, 84, 72, 99, 136, 142, 131, 134, 134, 132, 135, 132,
+  134, 123, 75, 21, 91, 83, 81, 65, 73, 83, 59, 59, 71, 49, 32, 112,
+  115, 107, 123, 246, 244, 189, 106, 106, 118, 139, 146, 157, 163, 173, 174, 182,
+  182, 177, 166, 150, 132, 131, 123, 16, 28, 37, 73, 72, 97, 102, 106, 111,
+  99, 95, 87, 57, 114, 123, 114, 116, 120, 115, 123, 123, 151, 236, 237, 232,
+  153, 123, 107, 75, 65, 73, 88, 84, 87, 100, 107, 222, 226, 220, 140, 134,
+  148, 170, 170, 167, 162, 154, 124, 124, 116, 42, 30, 30, 49, 75, 89, 95,
+  104, 102, 87, 52, 92, 139, 151, 233, 241, 240, 128, 108, 120, 131, 144, 154,
+  171, 171, 166, 134, 48, 34, 36, 45, 45, 46, 37, 75, 123, 214, 220, 233,
+  126, 138, 139, 147, 138, 143, 146, 138, 118, 97, 38, 37, 40, 72, 68, 73,
+  99, 102, 119, 236, 233, 224, 120, 116, 127, 138, 147, 158, 166, 170, 179, 175,
+  169, 166, 146, 65, 32, 30, 33, 38, 49, 53, 38, 88, 99, 127, 123, 123,
+  126, 132, 120, 91, 79, 99, 124, 216, 233, 230, 205, 140, 118, 130, 140, 153,
+  165, 175, 182, 189, 194, 204, 210, 210, 127, 95, 89, 99, 128, 170, 225, 217,
+  210, 198, 206, 214, 217, 217, 205, 189, 185, 177, 169, 154, 140, 131, 127, 96,
+  53, 67, 91, 102, 115, 115, 110, 79, 110, 114, 120, 119, 103, 143, 226, 230,
+  225, 122, 116, 127, 139, 146, 159, 167, 171, 175, 178, 173, 165, 143, 71, 33,
+  29, 37, 52, 57, 57, 61, 61, 65, 73, 83, 76, 29, 115, 142, 135, 140,
+  138, 136, 139, 142, 118, 127, 132, 65, 123, 136, 155, 161, 175, 181, 128, 110,
+  126, 142, 158, 166, 174, 181, 189, 195, 197, 198, 197, 197, 198, 205, 208, 208,
+  205, 201, 194, 186, 181, 173, 170, 162, 158, 144, 126, 30, 32, 30, 73, 60,
+  103, 64, 59, 60, 22, 32, 30, 63, 181, 186, 114, 111, 120, 131, 148, 159,
+  166, 175, 171, 173, 159, 127, 128, 135, 131, 93, 20, 14, 16, 18, 24, 37,
+  41, 41, 29, 67, 103, 103, 99, 106, 102, 106, 102, 89, 76, 63, 21, 177,
+  217, 228, 225, 186, 165, 130, 100, 87, 24, 14, 42, 75, 79, 80, 53, 61,
+  55, 67, 245, 246, 242, 112, 100, 100, 119, 136, 151, 166, 173, 174, 171, 161,
+  151, 146, 131, 18, 14, 17, 12, 14, 29, 21, 21, 26, 33, 21, 22, 63,
+  75, 89, 226, 237, 230, 132, 120, 119, 126, 127, 131, 138, 154, 167, 185, 185,
+  170, 166, 147, 57, 29, 22, 20, 34, 53, 49, 69, 143, 218, 217, 182, 143,
+  146, 166, 177, 183, 190, 193, 197, 202, 206, 204, 190, 177, 83, 32, 26, 52,
+  67, 83, 88, 112, 220, 229, 205, 179, 190, 194, 174, 161, 139, 135, 138, 144,
+  136, 132, 104, 49, 37, 48, 57, 92, 102, 93, 87, 100, 104, 217, 237, 245,
+  225, 148, 128, 132, 140, 139, 155, 161, 165, 167, 61, 37, 33, 26, 40, 49,
+  56, 91, 214, 221, 217, 179, 178, 182, 175, 178, 153, 142, 124, 95, 37, 37,
+  52, 52, 49, 57, 63, 25, 75, 135, 131, 132, 134, 132, 127, 126, 143, 115,
+  80, 64, 127, 148, 130, 135, 138, 143, 148, 142, 132, 130, 130, 55, 26, 68,
+  79, 80, 64, 71, 60, 59, 61, 56, 55, 33, 107, 115, 107, 118, 245, 242,
+  171, 103, 102, 116, 128, 139, 150, 159, 171, 174, 183, 181, 177, 166, 151, 131,
+  132, 123, 17, 29, 29, 53, 71, 81, 102, 107, 107, 100, 95, 93, 55, 92,
+  120, 111, 111, 111, 110, 114, 123, 181, 246, 237, 222, 135, 119, 100, 61, 64,
+  69, 84, 80, 85, 97, 106, 225, 226, 220, 140, 135, 147, 171, 163, 169, 157,
+  158, 123, 124, 115, 44, 30, 30, 52, 76, 88, 96, 95, 96, 88, 44, 92,
+  142, 147, 232, 240, 238, 124, 110, 116, 131, 146, 155, 173, 167, 170, 132, 44,
+  34, 36, 48, 40, 57, 37, 72, 114, 212, 220, 214, 139, 132, 136, 146, 140,
+  140, 143, 136, 118, 91, 36, 34, 38, 67, 69, 76, 92, 107, 132, 237, 237,
+  226, 120, 115, 126, 136, 147, 158, 166, 171, 177, 173, 169, 163, 118, 48, 32,
+  32, 37, 42, 48, 41, 28, 96, 104, 130, 140, 134, 119, 136, 119, 107, 95,
+  108, 167, 228, 230, 224, 175, 115, 123, 138, 148, 163, 174, 177, 186, 187, 197,
+  202, 213, 178, 99, 71, 59, 63, 79, 127, 208, 224, 216, 205, 195, 216, 216,
+  214, 213, 199, 186, 179, 167, 154, 138, 124, 127, 104, 56, 61, 85, 119, 106,
+  114, 115, 75, 107, 112, 119, 112, 93, 148, 229, 236, 226, 123, 118, 126, 138,
+  144, 159, 166, 169, 173, 173, 167, 162, 120, 53, 34, 33, 45, 56, 63, 63,
+  63, 64, 71, 76, 77, 77, 28, 110, 138, 140, 140, 142, 136, 139, 140, 136,
+  130, 128, 80, 128, 131, 142, 148, 159, 181, 146, 108, 116, 136, 153, 163, 171,
+  178, 186, 193, 199, 199, 202, 201, 198, 197, 201, 210, 202, 202, 194, 187, 178,
+  174, 173, 162, 157, 142, 128, 28, 30, 30, 53, 63, 102, 20, 22, 33, 45,
+  25, 22, 32, 107, 181, 119, 107, 111, 122, 144, 157, 165, 170, 175, 169, 154,
+  134, 130, 136, 131, 112, 28, 17, 21, 21, 21, 37, 28, 44, 29, 61, 91,
+  99, 108, 106, 111, 103, 97, 83, 80, 65, 24, 175, 226, 234, 226, 173, 123,
+  92, 87, 65, 20, 14, 30, 68, 76, 76, 59, 56, 52, 69, 244, 245, 238,
+  110, 97, 103, 123, 138, 147, 166, 170, 174, 169, 162, 153, 147, 128, 20, 17,
+  16, 12, 16, 24, 21, 12, 22, 24, 26, 32, 51, 83, 107, 229, 234, 232,
+  132, 124, 128, 123, 124, 128, 142, 157, 153, 162, 165, 158, 161, 139, 40, 25,
+  20, 20, 32, 37, 52, 68, 102, 210, 217, 191, 143, 140, 157, 169, 177, 179,
+  183, 189, 197, 202, 202, 198, 189, 110, 37, 25, 52, 61, 80, 85, 97, 213,
+  228, 212, 183, 189, 194, 174, 167, 155, 154, 150, 136, 138, 128, 114, 59, 40,
+  44, 42, 79, 96, 87, 84, 99, 97, 217, 244, 245, 194, 139, 132, 136, 143,
+  142, 154, 162, 167, 169, 61, 34, 32, 22, 37, 49, 71, 85, 210, 222, 222,
+  179, 183, 181, 173, 181, 155, 142, 127, 89, 37, 32, 40, 46, 48, 55, 67,
+  41, 104, 136, 142, 138, 131, 139, 127, 131, 116, 114, 110, 59, 120, 142, 148,
+  146, 153, 146, 143, 136, 142, 135, 122, 83, 0, 80, 79, 65, 65, 63, 59,
+  56, 59, 57, 59, 32, 89, 114, 99, 119, 241, 237, 187, 107, 107, 115, 119,
+  132, 142, 157, 169, 177, 181, 183, 170, 165, 148, 132, 138, 119, 18, 29, 32,
+  52, 68, 83, 99, 104, 96, 108, 95, 89, 52, 95, 110, 114, 102, 115, 114,
+  111, 131, 213, 241, 240, 220, 132, 119, 81, 60, 57, 67, 69, 79, 73, 95,
+  103, 221, 228, 216, 138, 136, 150, 174, 169, 162, 157, 153, 124, 123, 111, 38,
+  29, 33, 51, 72, 88, 92, 102, 99, 99, 40, 110, 138, 127, 229, 238, 234,
+  123, 110, 120, 132, 146, 159, 173, 170, 167, 127, 49, 37, 36, 33, 48, 53,
+  33, 61, 103, 213, 218, 206, 135, 131, 135, 144, 143, 136, 140, 136, 118, 92,
+  33, 30, 34, 56, 68, 81, 88, 103, 122, 237, 234, 230, 122, 115, 126, 138,
+  147, 158, 167, 171, 177, 169, 165, 151, 85, 36, 34, 37, 38, 44, 53, 53,
+  26, 75, 110, 131, 136, 130, 120, 130, 120, 99, 96, 97, 189, 222, 230, 214,
+  139, 112, 127, 140, 154, 167, 171, 183, 189, 193, 198, 205, 214, 147, 76, 53,
+  51, 57, 75, 110, 177, 226, 217, 213, 190, 216, 220, 221, 213, 204, 187, 179,
+  169, 154, 140, 130, 130, 116, 63, 60, 80, 88, 104, 116, 107, 64, 104, 107,
+  135, 106, 102, 144, 224, 237, 232, 120, 115, 124, 138, 144, 158, 167, 165, 173,
+  171, 166, 151, 95, 44, 33, 40, 48, 64, 69, 79, 80, 79, 81, 81, 85,
+  75, 28, 116, 138, 131, 136, 143, 138, 138, 135, 138, 123, 123, 46, 124, 128,
+  135, 143, 157, 167, 165, 126, 107, 126, 146, 161, 169, 178, 183, 190, 195, 191,
+  190, 194, 204, 201, 194, 198, 212, 204, 195, 189, 181, 174, 173, 162, 157, 146,
+  128, 24, 29, 29, 53, 73, 83, 8, 8, 9, 8, 6, 17, 18, 48, 167,
+  162, 107, 110, 122, 144, 155, 162, 165, 165, 159, 155, 127, 130, 130, 134, 126,
+  63, 20, 13, 18, 20, 34, 34, 48, 30, 42, 79, 88, 91, 92, 87, 91,
+  91, 87, 77, 67, 36, 181, 229, 238, 208, 154, 99, 91, 88, 61, 21, 14,
+  21, 38, 42, 57, 49, 57, 49, 63, 242, 244, 234, 110, 97, 106, 122, 131,
+  143, 165, 174, 171, 169, 161, 150, 147, 127, 20, 18, 20, 12, 14, 6, 20,
+  22, 10, 25, 32, 25, 44, 75, 100, 228, 232, 229, 134, 110, 118, 132, 135,
+  132, 144, 147, 144, 157, 157, 157, 157, 135, 41, 29, 25, 21, 32, 42, 56,
+  71, 81, 199, 220, 201, 147, 138, 146, 162, 169, 171, 175, 182, 189, 195, 198,
+  197, 190, 147, 52, 30, 45, 59, 73, 75, 85, 201, 229, 220, 185, 185, 194,
+  181, 170, 166, 159, 155, 151, 136, 128, 127, 83, 42, 42, 41, 72, 100, 114,
+  89, 93, 87, 198, 242, 245, 187, 135, 138, 144, 147, 143, 154, 165, 170, 170,
+  60, 36, 29, 21, 32, 42, 61, 92, 221, 224, 224, 181, 182, 183, 177, 179,
+  157, 143, 130, 91, 34, 32, 36, 42, 64, 46, 69, 41, 99, 111, 100, 108,
+  108, 110, 108, 111, 107, 108, 80, 45, 118, 132, 135, 128, 140, 132, 124, 122,
+  134, 130, 111, 55, 0, 80, 63, 63, 57, 68, 59, 75, 57, 65, 53, 30,
+  91, 110, 106, 116, 244, 245, 225, 110, 106, 112, 120, 120, 142, 161, 171, 181,
+  185, 175, 166, 154, 139, 134, 130, 116, 22, 30, 33, 49, 69, 80, 95, 99,
+  104, 104, 91, 88, 52, 92, 114, 112, 104, 107, 111, 115, 143, 232, 241, 242,
+  220, 135, 115, 71, 55, 51, 77, 61, 75, 77, 83, 92, 222, 222, 214, 134,
+  135, 148, 166, 162, 161, 153, 144, 126, 122, 107, 38, 28, 32, 51, 64, 87,
+  92, 96, 112, 97, 34, 122, 138, 132, 226, 237, 229, 127, 112, 120, 132, 147,
+  161, 166, 167, 169, 139, 56, 37, 37, 46, 46, 55, 37, 57, 99, 213, 212,
+  205, 127, 134, 135, 146, 138, 140, 136, 138, 119, 88, 30, 30, 30, 67, 63,
+  67, 72, 97, 116, 236, 236, 229, 122, 114, 124, 135, 147, 158, 167, 174, 174,
+  166, 163, 148, 68, 33, 33, 36, 42, 44, 44, 59, 25, 107, 116, 126, 115,
+  108, 119, 122, 119, 106, 92, 97, 193, 222, 216, 201, 123, 114, 127, 140, 154,
+  173, 173, 185, 190, 191, 199, 205, 209, 135, 71, 57, 52, 52, 64, 89, 153,
+  228, 221, 214, 199, 213, 217, 218, 216, 210, 189, 183, 170, 159, 142, 132, 127,
+  122, 83, 61, 69, 88, 96, 118, 104, 67, 96, 96, 93, 87, 85, 134, 213,
+  234, 232, 123, 115, 124, 138, 143, 158, 165, 165, 173, 170, 161, 144, 76, 41,
+  34, 44, 60, 76, 79, 77, 77, 81, 80, 80, 84, 83, 33, 110, 135, 136,
+  144, 139, 138, 138, 144, 142, 112, 132, 37, 123, 122, 134, 135, 148, 151, 178,
+  147, 108, 118, 142, 155, 166, 175, 183, 187, 189, 189, 186, 190, 195, 205, 206,
+  193, 199, 204, 197, 191, 182, 175, 175, 163, 158, 146, 128, 22, 26, 28, 56,
+  68, 87, 2, 1, 2, 8, 2, 4, 5, 17, 75, 177, 108, 107, 118, 134,
+  148, 155, 163, 166, 157, 139, 126, 128, 128, 130, 131, 100, 33, 22, 22, 26,
+  26, 29, 30, 33, 42, 56, 49, 52, 56, 55, 57, 56, 87, 79, 63, 28,
+  166, 225, 240, 189, 119, 99, 91, 87, 59, 18, 14, 21, 26, 26, 29, 32,
+  33, 57, 67, 245, 242, 240, 114, 92, 102, 120, 122, 140, 157, 165, 170, 167,
+  162, 148, 144, 130, 21, 17, 8, 8, 10, 12, 14, 5, 5, 18, 26, 26,
+  38, 73, 87, 225, 230, 232, 128, 104, 116, 127, 135, 146, 151, 147, 142, 146,
+  142, 154, 151, 127, 46, 26, 26, 14, 36, 34, 56, 53, 75, 190, 221, 204,
+  146, 134, 142, 154, 162, 166, 170, 177, 183, 191, 195, 194, 189, 167, 76, 37,
+  36, 55, 65, 73, 85, 183, 230, 224, 189, 178, 194, 195, 169, 177, 170, 163,
+  157, 151, 139, 128, 118, 57, 41, 40, 65, 97, 103, 81, 80, 92, 187, 229,
+  245, 175, 132, 140, 147, 148, 143, 155, 173, 177, 177, 68, 42, 28, 25, 30,
+  41, 76, 103, 226, 228, 226, 185, 183, 183, 178, 178, 159, 146, 132, 87, 33,
+  34, 33, 36, 38, 38, 48, 57, 57, 87, 87, 89, 91, 97, 92, 85, 104,
+  106, 53, 53, 45, 108, 97, 85, 79, 103, 83, 72, 68, 97, 67, 13, 42,
+  61, 52, 37, 38, 46, 40, 37, 36, 52, 41, 33, 81, 96, 108, 128, 245,
+  238, 234, 111, 110, 115, 120, 128, 143, 167, 170, 177, 182, 178, 167, 153, 128,
+  135, 138, 114, 25, 34, 34, 42, 52, 63, 81, 92, 95, 92, 88, 87, 48,
+  95, 103, 110, 100, 102, 104, 116, 161, 245, 248, 242, 201, 131, 115, 64, 52,
+  49, 67, 75, 63, 69, 84, 89, 222, 228, 218, 138, 136, 147, 161, 163, 161,
+  159, 126, 126, 122, 104, 33, 29, 29, 53, 56, 77, 88, 93, 96, 81, 51,
+  71, 123, 127, 220, 233, 232, 127, 114, 122, 134, 150, 161, 171, 170, 169, 148,
+  63, 40, 40, 44, 37, 46, 34, 75, 111, 208, 220, 217, 134, 131, 131, 140,
+  139, 139, 135, 131, 118, 80, 30, 28, 30, 60, 48, 55, 69, 96, 111, 237,
+  238, 232, 124, 116, 123, 131, 147, 161, 169, 174, 175, 166, 163, 146, 60, 36,
+  37, 40, 63, 52, 46, 60, 36, 106, 114, 102, 115, 110, 107, 97, 111, 100,
+  96, 96, 193, 220, 216, 175, 110, 115, 124, 136, 157, 171, 173, 178, 182, 191,
+  195, 202, 214, 127, 71, 60, 56, 59, 55, 77, 148, 230, 225, 217, 198, 202,
+  216, 216, 221, 216, 202, 183, 173, 162, 148, 140, 126, 127, 97, 65, 71, 73,
+  80, 88, 72, 67, 67, 69, 71, 60, 79, 132, 201, 230, 233, 123, 115, 127,
+  138, 142, 158, 166, 166, 170, 167, 159, 140, 72, 45, 36, 51, 73, 73, 77,
+  71, 76, 80, 83, 84, 85, 77, 34, 77, 119, 139, 102, 111, 127, 134, 128,
+  136, 123, 124, 37, 123, 120, 122, 120, 131, 139, 146, 165, 112, 107, 134, 150,
+  163, 173, 179, 181, 183, 182, 186, 187, 190, 194, 204, 204, 194, 198, 195, 193,
+  185, 177, 175, 165, 159, 147, 128, 24, 28, 28, 55, 63, 64, 36, 41, 46,
+  40, 29, 45, 36, 13, 17, 138, 162, 115, 111, 118, 138, 148, 154, 158, 155,
+  142, 131, 127, 122, 132, 134, 122, 59, 28, 13, 18, 21, 22, 20, 18, 24,
+  25, 25, 32, 37, 42, 46, 48, 59, 75, 68, 30, 165, 220, 234, 177, 110,
+  91, 89, 85, 57, 18, 10, 17, 24, 22, 24, 30, 30, 52, 55, 244, 241,
+  236, 112, 103, 102, 120, 132, 134, 151, 162, 174, 169, 158, 147, 146, 123, 20,
+  21, 21, 16, 16, 21, 20, 20, 21, 36, 20, 22, 38, 65, 97, 225, 232,
+  228, 130, 115, 119, 128, 132, 146, 143, 143, 140, 143, 140, 153, 147, 123, 41,
+  38, 25, 26, 49, 68, 63, 67, 69, 178, 216, 210, 150, 130, 139, 151, 158,
+  161, 167, 171, 178, 186, 191, 193, 190, 179, 99, 41, 28, 42, 59, 69, 80,
+  161, 230, 228, 193, 178, 186, 195, 191, 162, 178, 169, 165, 151, 151, 136, 130,
+  92, 44, 44, 61, 71, 77, 71, 87, 87, 147, 234, 244, 174, 136, 142, 151,
+  148, 148, 163, 175, 179, 182, 75, 49, 34, 28, 56, 73, 79, 114, 230, 230,
+  229, 191, 183, 187, 181, 179, 163, 148, 130, 95, 29, 28, 29, 10, 9, 6,
+  9, 10, 28, 28, 13, 12, 25, 28, 22, 21, 30, 36, 32, 53, 25, 25,
+  14, 20, 24, 26, 8, 18, 25, 29, 5, 20, 67, 18, 45, 59, 65, 68,
+  77, 77, 79, 77, 77, 36, 110, 104, 112, 138, 245, 245, 234, 111, 111, 118,
+  122, 135, 148, 163, 167, 173, 175, 179, 166, 153, 131, 136, 134, 108, 29, 36,
+  34, 44, 55, 56, 56, 59, 63, 75, 71, 59, 48, 89, 95, 88, 85, 97,
+  112, 112, 208, 245, 248, 240, 177, 126, 112, 57, 49, 42, 41, 44, 49, 57,
+  80, 87, 228, 230, 216, 135, 131, 131, 151, 159, 159, 151, 124, 118, 124, 96,
+  30, 28, 32, 45, 57, 69, 75, 75, 81, 75, 41, 53, 120, 132, 214, 229,
+  229, 127, 114, 123, 134, 150, 159, 171, 174, 173, 154, 81, 45, 40, 48, 34,
+  40, 59, 89, 138, 214, 221, 204, 131, 127, 128, 135, 136, 140, 135, 128, 116,
+  75, 28, 25, 28, 40, 42, 49, 75, 96, 96, 238, 241, 234, 122, 114, 122,
+  132, 147, 161, 169, 177, 174, 163, 161, 146, 57, 34, 34, 44, 48, 63, 56,
+  52, 26, 77, 87, 80, 80, 96, 95, 84, 83, 95, 93, 102, 183, 218, 204,
+  151, 106, 115, 122, 136, 154, 171, 178, 185, 179, 191, 193, 195, 210, 147, 75,
+  61, 45, 49, 61, 83, 151, 228, 225, 222, 199, 186, 212, 216, 217, 214, 205,
+  183, 175, 165, 157, 143, 124, 126, 108, 69, 79, 71, 60, 60, 55, 46, 51,
+  49, 59, 56, 67, 140, 195, 236, 230, 124, 118, 127, 139, 143, 157, 166, 166,
+  173, 166, 159, 142, 71, 42, 41, 67, 44, 32, 28, 25, 33, 20, 17, 17,
+  30, 10, 33, 59, 57, 69, 65, 57, 59, 59, 84, 114, 118, 99, 40, 122,
+  93, 106, 100, 112, 116, 128, 155, 132, 104, 127, 146, 159, 169, 173, 175, 175,
+  174, 177, 178, 182, 190, 197, 208, 195, 194, 201, 193, 186, 177, 175, 165, 161,
+  148, 130, 22, 25, 26, 51, 53, 59, 115, 100, 80, 84, 84, 69, 80, 42,
+  24, 64, 147, 106, 110, 112, 120, 138, 153, 150, 148, 139, 146, 146, 132, 123,
+  131, 132, 108, 40, 32, 42, 51, 49, 42, 46, 57, 57, 73, 64, 69, 64,
+  49, 52, 44, 52, 67, 34, 155, 222, 237, 198, 115, 92, 91, 81, 42, 16,
+  14, 16, 40, 51, 60, 59, 56, 56, 65, 237, 237, 232, 106, 95, 110, 123,
+  123, 127, 138, 158, 171, 162, 155, 144, 143, 126, 22, 21, 25, 8, 20, 21,
+  21, 16, 28, 42, 24, 21, 68, 67, 119, 222, 229, 226, 128, 118, 127, 135,
+  134, 143, 132, 153, 147, 147, 139, 151, 144, 116, 41, 37, 22, 36, 60, 69,
+  67, 69, 71, 158, 221, 210, 155, 127, 136, 144, 154, 158, 165, 167, 173, 182,
+  186, 190, 186, 183, 128, 46, 42, 44, 67, 72, 91, 148, 226, 229, 194, 177,
+  182, 191, 194, 187, 162, 175, 170, 165, 155, 151, 134, 123, 64, 45, 46, 49,
+  57, 76, 93, 85, 132, 225, 236, 178, 139, 148, 158, 146, 147, 162, 182, 185,
+  186, 87, 40, 32, 20, 48, 75, 87, 157, 233, 232, 229, 189, 189, 185, 178,
+  177, 165, 148, 132, 93, 34, 30, 32, 24, 42, 26, 44, 30, 97, 107, 100,
+  88, 99, 102, 102, 91, 102, 100, 49, 30, 44, 123, 116, 100, 100, 118, 112,
+  99, 95, 95, 89, 63, 26, 46, 108, 122, 126, 119, 124, 119, 120, 84, 73,
+  32, 111, 115, 115, 183, 242, 245, 225, 110, 110, 115, 124, 138, 151, 159, 158,
+  157, 166, 177, 167, 154, 136, 142, 143, 111, 34, 40, 42, 59, 69, 72, 52,
+  71, 72, 69, 63, 75, 68, 80, 84, 95, 99, 103, 119, 174, 241, 246, 248,
+  244, 154, 122, 107, 55, 46, 42, 46, 51, 63, 69, 85, 100, 226, 232, 218,
+  132, 131, 134, 142, 147, 159, 148, 126, 122, 126, 106, 33, 29, 33, 49, 57,
+  53, 55, 60, 49, 75, 33, 57, 104, 123, 209, 226, 222, 131, 115, 123, 134,
+  146, 159, 166, 170, 173, 161, 103, 49, 42, 38, 44, 46, 73, 102, 194, 229,
+  230, 213, 130, 127, 131, 134, 132, 143, 140, 124, 116, 64, 28, 25, 37, 59,
+  61, 73, 81, 103, 116, 237, 237, 234, 123, 114, 126, 138, 148, 159, 170, 175,
+  171, 163, 158, 147, 61, 38, 42, 63, 64, 77, 72, 45, 34, 37, 33, 46,
+  36, 42, 37, 45, 33, 46, 37, 61, 173, 213, 206, 135, 104, 118, 123, 134,
+  138, 169, 178, 175, 179, 185, 195, 201, 209, 162, 87, 67, 56, 71, 61, 104,
+  159, 229, 226, 225, 198, 182, 202, 214, 214, 212, 206, 187, 182, 166, 165, 148,
+  134, 127, 118, 77, 76, 88, 85, 85, 68, 30, 52, 128, 165, 128, 126, 174,
+  210, 226, 230, 120, 118, 126, 139, 138, 154, 162, 169, 166, 166, 158, 144, 77,
+  49, 46, 73, 77, 112, 132, 146, 142, 136, 144, 153, 140, 65, 32, 112, 153,
+  151, 132, 142, 143, 126, 93, 59, 57, 81, 64, 24, 32, 40, 40, 38, 30,
+  69, 142, 147, 110, 110, 140, 147, 157, 163, 159, 162, 158, 159, 153, 158, 159,
+  191, 205, 213, 186, 198, 193, 185, 177, 174, 163, 159, 148, 126, 20, 22, 26,
+  49, 48, 51, 115, 84, 103, 88, 91, 106, 52, 57, 25, 21, 144, 127, 114,
+  111, 114, 115, 126, 138, 139, 150, 142, 142, 148, 136, 130, 139, 123, 92, 36,
+  30, 17, 38, 46, 46, 68, 79, 100, 84, 83, 85, 73, 68, 72, 76, 69,
+  49, 177, 236, 241, 195, 116, 89, 85, 65, 28, 14, 14, 17, 46, 57, 55,
+  56, 52, 52, 69, 216, 230, 230, 100, 92, 111, 124, 123, 123, 134, 146, 167,
+  162, 155, 143, 142, 127, 30, 26, 21, 18, 33, 45, 61, 67, 68, 75, 69,
+  68, 53, 81, 190, 217, 225, 225, 126, 110, 119, 120, 135, 144, 126, 138, 146,
+  148, 142, 147, 146, 122, 34, 30, 25, 32, 65, 60, 63, 59, 69, 136, 216,
+  210, 165, 126, 134, 136, 147, 157, 162, 169, 170, 178, 183, 185, 182, 182, 155,
+  72, 42, 38, 76, 80, 84, 128, 218, 228, 198, 174, 178, 187, 195, 195, 171,
+  162, 175, 175, 166, 161, 147, 132, 107, 69, 67, 71, 96, 102, 100, 93, 112,
+  210, 232, 182, 146, 153, 159, 146, 148, 165, 186, 191, 191, 136, 64, 34, 17,
+  56, 81, 99, 185, 237, 234, 232, 187, 187, 186, 179, 175, 165, 147, 131, 87,
+  32, 28, 30, 49, 44, 48, 51, 29, 114, 119, 106, 89, 87, 96, 85, 91,
+  96, 103, 61, 24, 93, 124, 111, 114, 115, 111, 116, 108, 114, 107, 110, 65,
+  22, 106, 124, 120, 120, 115, 116, 104, 112, 96, 88, 32, 116, 118, 116, 201,
+  245, 245, 226, 110, 108, 114, 123, 140, 154, 165, 162, 147, 157, 158, 154, 131,
+  131, 146, 146, 111, 37, 41, 41, 65, 51, 61, 71, 77, 83, 88, 88, 83,
+  92, 104, 106, 114, 120, 130, 162, 218, 248, 248, 246, 221, 131, 123, 84, 48,
+  41, 41, 55, 61, 64, 76, 81, 104, 226, 232, 225, 127, 126, 135, 122, 136,
+  138, 138, 119, 127, 124, 111, 34, 29, 32, 56, 64, 81, 88, 85, 77, 77,
+  25, 128, 124, 130, 194, 222, 217, 135, 116, 123, 134, 144, 154, 169, 171, 175,
+  174, 142, 61, 49, 45, 49, 69, 87, 116, 204, 230, 228, 213, 130, 127, 130,
+  127, 136, 135, 131, 122, 107, 42, 26, 22, 42, 67, 75, 79, 97, 97, 120,
+  237, 238, 236, 124, 116, 126, 135, 147, 158, 169, 175, 169, 158, 154, 143, 72,
+  45, 40, 60, 87, 96, 93, 79, 26, 42, 139, 148, 126, 131, 142, 139, 120,
+  131, 139, 97, 159, 206, 201, 124, 106, 118, 124, 130, 131, 157, 162, 181, 175,
+  174, 187, 197, 199, 201, 128, 79, 71, 77, 87, 150, 209, 230, 228, 226, 193,
+  181, 197, 206, 208, 206, 205, 183, 181, 171, 162, 161, 142, 127, 127, 83, 96,
+  112, 143, 134, 77, 44, 124, 178, 173, 178, 190, 193, 222, 229, 218, 122, 118,
+  127, 138, 134, 150, 159, 167, 169, 163, 157, 143, 84, 55, 46, 73, 130, 153,
+  155, 154, 159, 161, 159, 162, 163, 115, 41, 138, 162, 170, 170, 166, 166, 163,
+  157, 140, 107, 97, 53, 67, 154, 161, 106, 120, 143, 114, 85, 161, 132, 102,
+  122, 134, 140, 146, 148, 134, 135, 147, 107, 97, 112, 175, 204, 217, 194, 189,
+  191, 182, 175, 173, 162, 155, 147, 122, 17, 24, 29, 53, 89, 102, 88, 84,
+  60, 87, 84, 76, 37, 55, 25, 10, 127, 123, 100, 114, 111, 111, 110, 112,
+  119, 140, 153, 146, 140, 147, 132, 127, 131, 116, 79, 29, 38, 44, 14, 38,
+  63, 96, 84, 76, 76, 65, 63, 63, 69, 56, 44, 118, 212, 238, 237, 209,
+  112, 85, 77, 51, 21, 13, 14, 14, 44, 57, 49, 48, 37, 55, 103, 236,
+  228, 210, 106, 103, 114, 126, 130, 124, 130, 140, 157, 159, 150, 135, 142, 130,
+  28, 28, 9, 59, 44, 53, 55, 68, 77, 69, 68, 52, 75, 96, 224, 221,
+  224, 216, 127, 103, 112, 123, 146, 148, 132, 123, 132, 139, 136, 146, 144, 120,
+  49, 26, 26, 33, 67, 67, 75, 52, 61, 112, 206, 206, 173, 126, 132, 134,
+  146, 151, 161, 166, 163, 171, 177, 182, 178, 177, 167, 96, 46, 32, 67, 79,
+  83, 108, 201, 225, 208, 173, 175, 186, 194, 197, 189, 161, 163, 177, 179, 167,
+  159, 144, 136, 103, 96, 95, 97, 95, 89, 89, 96, 190, 237, 185, 147, 157,
+  165, 144, 147, 178, 189, 194, 197, 166, 51, 37, 30, 69, 91, 108, 195, 237,
+  236, 232, 189, 187, 181, 178, 175, 166, 147, 128, 81, 30, 29, 28, 42, 60,
+  65, 48, 32, 106, 123, 112, 122, 112, 112, 123, 111, 102, 102, 61, 49, 118,
+  128, 111, 110, 106, 96, 92, 107, 97, 87, 106, 48, 21, 107, 126, 115, 104,
+  99, 106, 111, 115, 88, 80, 36, 116, 119, 122, 221, 244, 241, 222, 112, 110,
+  115, 120, 132, 157, 166, 167, 166, 161, 144, 138, 127, 139, 144, 150, 116, 69,
+  42, 42, 69, 53, 65, 80, 84, 79, 79, 83, 81, 99, 119, 127, 135, 128,
+  157, 213, 245, 249, 248, 242, 163, 126, 119, 71, 46, 44, 38, 57, 63, 65,
+  76, 81, 106, 230, 232, 224, 134, 134, 128, 138, 124, 118, 114, 119, 130, 119,
+  110, 34, 33, 30, 60, 80, 95, 97, 89, 93, 69, 28, 122, 134, 127, 170,
+  216, 218, 153, 118, 124, 135, 146, 153, 162, 170, 167, 175, 159, 118, 71, 73,
+  79, 102, 126, 181, 206, 230, 222, 221, 128, 126, 130, 130, 130, 135, 123, 118,
+  77, 30, 25, 24, 46, 65, 73, 91, 103, 107, 131, 236, 238, 234, 123, 119,
+  127, 139, 148, 159, 169, 175, 166, 162, 157, 144, 83, 48, 42, 63, 92, 91,
+  95, 93, 29, 157, 163, 159, 148, 148, 155, 148, 136, 146, 139, 107, 119, 195,
+  190, 122, 108, 119, 123, 128, 132, 138, 170, 178, 185, 166, 181, 187, 197, 209,
+  169, 104, 85, 97, 139, 159, 224, 228, 229, 226, 194, 175, 183, 194, 190, 193,
+  194, 186, 181, 174, 170, 167, 157, 134, 127, 91, 108, 138, 147, 146, 69, 36,
+  135, 179, 175, 189, 190, 193, 226, 233, 226, 118, 118, 127, 138, 131, 144, 161,
+  171, 169, 162, 155, 146, 108, 63, 55, 80, 135, 154, 161, 158, 169, 162, 154,
+  157, 161, 161, 41, 140, 167, 167, 158, 153, 153, 153, 153, 163, 131, 107, 28,
+  148, 155, 153, 151, 150, 142, 132, 130, 77, 76, 75, 107, 134, 111, 119, 118,
+  95, 77, 88, 79, 87, 103, 161, 205, 217, 201, 182, 191, 181, 177, 174, 162,
+  155, 146, 115, 17, 24, 41, 59, 89, 111, 100, 55, 49, 56, 26, 55, 37,
+  32, 18, 17, 119, 114, 77, 119, 112, 108, 110, 110, 107, 116, 139, 155, 144,
+  138, 144, 128, 136, 127, 114, 71, 46, 42, 41, 36, 61, 93, 71, 69, 65,
+  60, 63, 59, 59, 76, 120, 182, 232, 238, 234, 193, 110, 85, 59, 26, 16,
+  12, 13, 14, 30, 53, 48, 34, 37, 72, 191, 234, 229, 216, 111, 103, 114,
+  128, 130, 143, 131, 127, 143, 154, 153, 138, 143, 118, 30, 26, 13, 45, 48,
+  44, 72, 51, 52, 55, 51, 51, 76, 150, 214, 218, 224, 214, 127, 122, 111,
+  122, 136, 136, 146, 135, 122, 123, 131, 135, 144, 122, 56, 24, 21, 34, 69,
+  83, 57, 56, 64, 93, 193, 206, 171, 130, 123, 130, 143, 148, 157, 163, 162,
+  163, 167, 171, 177, 171, 170, 124, 56, 53, 72, 72, 87, 96, 159, 224, 209,
+  171, 171, 182, 194, 195, 195, 179, 155, 162, 177, 174, 167, 157, 140, 134, 126,
+  119, 99, 89, 93, 91, 83, 128, 224, 197, 153, 157, 171, 148, 147, 183, 194,
+  201, 202, 186, 81, 42, 32, 38, 95, 116, 212, 238, 237, 234, 186, 186, 181,
+  175, 178, 169, 146, 120, 53, 29, 28, 18, 46, 46, 56, 55, 38, 67, 88,
+  120, 80, 114, 108, 106, 104, 110, 99, 64, 48, 80, 127, 114, 120, 92, 95,
+  108, 89, 96, 97, 96, 53, 18, 106, 119, 104, 110, 116, 110, 112, 93, 84,
+  84, 46, 103, 108, 130, 229, 241, 241, 220, 115, 112, 118, 119, 130, 151, 165,
+  171, 165, 159, 159, 154, 138, 142, 150, 150, 123, 99, 44, 46, 68, 48, 60,
+  63, 69, 72, 73, 72, 97, 99, 128, 135, 130, 159, 202, 240, 246, 250, 248,
+  229, 136, 123, 112, 60, 44, 38, 42, 56, 60, 68, 79, 92, 135, 217, 225,
+  224, 135, 120, 126, 130, 120, 124, 116, 116, 126, 127, 110, 34, 29, 42, 48,
+  52, 96, 102, 89, 85, 81, 22, 127, 132, 124, 138, 202, 216, 185, 122, 120,
+  135, 142, 151, 158, 169, 169, 178, 178, 161, 124, 127, 144, 171, 195, 209, 205,
+  233, 217, 216, 130, 128, 130, 130, 136, 131, 120, 97, 37, 25, 24, 32, 60,
+  61, 69, 93, 100, 108, 132, 233, 240, 232, 123, 115, 124, 134, 148, 159, 169,
+  173, 167, 158, 154, 146, 119, 55, 44, 71, 84, 89, 89, 83, 29, 166, 166,
+  177, 165, 161, 157, 139, 138, 153, 157, 130, 93, 155, 193, 131, 103, 119, 124,
+  128, 135, 131, 158, 162, 174, 162, 173, 179, 193, 199, 209, 178, 151, 171, 194,
+  221, 226, 228, 225, 226, 189, 173, 173, 182, 185, 182, 187, 185, 186, 179, 170,
+  163, 166, 150, 131, 95, 115, 132, 153, 138, 63, 38, 115, 169, 183, 179, 190,
+  202, 232, 229, 228, 120, 116, 127, 140, 135, 148, 161, 170, 169, 163, 154, 146,
+  128, 73, 61, 83, 139, 154, 163, 167, 167, 169, 162, 153, 162, 120, 55, 131,
+  162, 167, 158, 158, 153, 151, 151, 158, 139, 118, 42, 161, 159, 150, 146, 142,
+  140, 130, 124, 123, 110, 108, 99, 96, 96, 95, 84, 81, 79, 76, 72, 92,
+  106, 170, 213, 224, 202, 178, 189, 183, 177, 174, 163, 153, 144, 107, 16, 25,
+  40, 85, 96, 100, 99, 48, 57, 63, 45, 40, 79, 40, 18, 12, 122, 107,
+  80, 69, 103, 118, 111, 111, 110, 108, 119, 139, 147, 146, 144, 139, 122, 131,
+  130, 111, 89, 75, 73, 64, 83, 83, 102, 73, 63, 61, 64, 79, 120, 177,
+  216, 234, 241, 237, 216, 169, 95, 69, 37, 18, 13, 13, 14, 20, 38, 46,
+  46, 40, 52, 115, 218, 224, 230, 214, 99, 97, 116, 126, 127, 143, 122, 124,
+  130, 148, 143, 135, 140, 119, 34, 30, 40, 77, 75, 45, 56, 45, 61, 45,
+  49, 45, 75, 162, 210, 214, 214, 197, 127, 108, 116, 132, 146, 140, 150, 151,
+  139, 120, 119, 134, 139, 123, 49, 37, 37, 41, 69, 75, 67, 52, 57, 64,
+  187, 208, 170, 120, 128, 128, 142, 146, 154, 162, 166, 155, 155, 159, 161, 169,
+  169, 143, 88, 57, 42, 57, 81, 84, 135, 214, 217, 171, 169, 179, 189, 193,
+  195, 194, 183, 153, 162, 181, 174, 162, 155, 144, 136, 139, 139, 112, 92, 84,
+  87, 97, 193, 221, 169, 159, 171, 147, 150, 187, 198, 206, 208, 201, 148, 77,
+  37, 40, 103, 159, 222, 237, 238, 234, 191, 187, 177, 175, 177, 166, 139, 108,
+  34, 28, 26, 22, 55, 48, 53, 56, 41, 46, 119, 124, 114, 118, 112, 107,
+  107, 104, 95, 64, 53, 83, 130, 97, 104, 93, 112, 99, 89, 99, 96, 95,
+  60, 24, 107, 120, 100, 97, 99, 87, 100, 89, 80, 65, 69, 104, 118, 178,
+  230, 246, 240, 217, 116, 115, 120, 112, 124, 146, 159, 166, 171, 167, 162, 157,
+  147, 132, 138, 154, 140, 108, 48, 48, 53, 60, 61, 79, 83, 77, 73, 79,
+  92, 111, 134, 132, 147, 194, 238, 245, 249, 249, 248, 173, 124, 123, 99, 48,
+  40, 26, 44, 52, 61, 75, 79, 91, 187, 214, 221, 212, 131, 123, 128, 134,
+  123, 124, 126, 111, 118, 126, 115, 40, 32, 32, 46, 80, 93, 102, 80, 83,
+  81, 18, 123, 132, 124, 126, 148, 204, 199, 128, 122, 130, 138, 147, 148, 157,
+  154, 181, 183, 182, 174, 189, 201, 205, 212, 210, 218, 209, 217, 169, 130, 130,
+  136, 140, 135, 126, 120, 46, 28, 24, 22, 42, 56, 64, 72, 92, 99, 108,
+  190, 234, 237, 233, 124, 111, 124, 132, 147, 155, 167, 169, 170, 165, 157, 151,
+  144, 72, 52, 53, 85, 91, 89, 87, 37, 119, 170, 177, 171, 167, 177, 162,
+  157, 155, 148, 155, 87, 107, 190, 147, 107, 110, 123, 127, 131, 132, 138, 163,
+  165, 161, 169, 174, 186, 191, 208, 216, 212, 220, 221, 226, 224, 224, 229, 212,
+  189, 167, 170, 150, 171, 177, 185, 185, 183, 185, 175, 173, 166, 166, 146, 123,
+  116, 139, 151, 87, 57, 32, 104, 169, 170, 173, 175, 187, 229, 238, 228, 122,
+  116, 126, 138, 132, 154, 163, 169, 166, 165, 158, 148, 139, 92, 67, 97, 132,
+  153, 166, 166, 169, 170, 170, 169, 151, 132, 52, 124, 163, 165, 154, 155, 151,
+  153, 153, 153, 128, 118, 48, 120, 161, 139, 140, 143, 140, 128, 119, 127, 126,
+  115, 107, 91, 91, 83, 80, 79, 75, 77, 88, 106, 112, 187, 218, 226, 191,
+  175, 186, 182, 177, 174, 165, 150, 139, 67, 16, 25, 41, 102, 96, 100, 106,
+  69, 42, 56, 59, 33, 33, 38, 20, 10, 104, 92, 72, 61, 52, 81, 119,
+  115, 111, 108, 106, 114, 140, 151, 148, 151, 142, 124, 123, 118, 151, 123, 111,
+  107, 112, 116, 123, 123, 124, 123, 146, 183, 213, 229, 240, 238, 236, 224, 193,
+  112, 80, 42, 20, 13, 10, 12, 16, 30, 41, 33, 44, 44, 123, 186, 233,
+  226, 229, 221, 114, 97, 108, 120, 135, 140, 127, 132, 124, 135, 136, 136, 138,
+  127, 92, 65, 33, 68, 79, 77, 56, 55, 60, 71, 48, 60, 95, 183, 208,
+  212, 217, 159, 112, 116, 122, 130, 135, 148, 148, 150, 148, 138, 115, 122, 136,
+  128, 99, 51, 45, 45, 75, 56, 60, 52, 56, 55, 165, 206, 170, 118, 126,
+  128, 140, 148, 154, 159, 163, 151, 151, 146, 146, 154, 162, 153, 104, 59, 30,
+  53, 73, 85, 114, 198, 216, 179, 166, 177, 186, 189, 193, 194, 195, 183, 157,
+  162, 175, 171, 162, 155, 150, 139, 139, 136, 108, 84, 91, 92, 142, 229, 182,
+  162, 169, 151, 187, 193, 206, 212, 210, 212, 194, 118, 49, 55, 114, 190, 234,
+  237, 238, 229, 187, 186, 183, 177, 174, 154, 139, 88, 29, 26, 26, 36, 52,
+  56, 45, 60, 51, 44, 108, 123, 112, 118, 107, 107, 115, 104, 103, 71, 55,
+  85, 122, 110, 104, 93, 102, 84, 97, 92, 95, 97, 59, 14, 112, 119, 92,
+  100, 92, 96, 81, 65, 69, 99, 89, 103, 124, 220, 238, 234, 242, 206, 118,
+  120, 122, 123, 116, 135, 157, 165, 167, 169, 166, 162, 158, 142, 146, 140, 159,
+  123, 106, 89, 85, 95, 97, 99, 100, 108, 108, 104, 103, 122, 138, 131, 191,
+  234, 238, 242, 248, 245, 224, 130, 126, 119, 69, 45, 38, 34, 48, 56, 69,
+  75, 85, 186, 214, 214, 222, 204, 118, 132, 139, 130, 136, 136, 140, 131, 112,
+  127, 122, 52, 28, 32, 67, 77, 80, 97, 102, 76, 73, 18, 120, 124, 124,
+  128, 127, 150, 201, 136, 122, 127, 131, 138, 140, 140, 142, 144, 159, 187, 186,
+  197, 199, 209, 214, 216, 206, 212, 193, 130, 128, 138, 139, 138, 128, 127, 65,
+  28, 24, 21, 21, 56, 63, 68, 91, 96, 103, 128, 217, 230, 236, 230, 126,
+  115, 122, 131, 140, 151, 163, 167, 169, 167, 159, 150, 136, 116, 67, 52, 56,
+  92, 88, 87, 45, 115, 170, 178, 157, 169, 174, 148, 171, 151, 150, 147, 100,
+  79, 181, 185, 115, 100, 118, 127, 131, 130, 130, 147, 148, 158, 169, 175, 177,
+  183, 189, 204, 201, 212, 218, 218, 222, 220, 213, 198, 179, 169, 147, 147, 146,
+  151, 171, 174, 183, 182, 178, 169, 169, 170, 166, 138, 120, 147, 112, 61, 34,
+  37, 96, 165, 173, 179, 179, 195, 230, 234, 230, 128, 120, 126, 135, 135, 163,
+  165, 167, 167, 165, 158, 147, 142, 131, 79, 112, 140, 161, 158, 166, 167, 163,
+  167, 171, 163, 147, 71, 127, 163, 167, 155, 148, 157, 155, 147, 151, 134, 116,
+  45, 135, 155, 144, 148, 135, 136, 128, 134, 123, 136, 122, 118, 107, 97, 88,
+  84, 79, 75, 80, 75, 107, 126, 209, 222, 225, 170, 169, 186, 185, 177, 171,
+  163, 148, 136, 57, 17, 24, 42, 99, 100, 106, 92, 77, 42, 44, 56, 64,
+  16, 42, 20, 10, 97, 93, 75, 71, 65, 45, 56, 85, 115, 116, 111, 107,
+  111, 134, 153, 146, 136, 130, 122, 154, 170, 181, 179, 187, 193, 189, 194, 190,
+  197, 209, 216, 229, 233, 236, 234, 224, 222, 182, 130, 79, 44, 22, 14, 12,
+  13, 22, 32, 38, 34, 60, 116, 162, 189, 216, 214, 222, 230, 214, 119, 91,
+  116, 112, 123, 138, 151, 154, 135, 128, 127, 140, 138, 144, 122, 107, 108, 110,
+  118, 104, 83, 64, 51, 69, 46, 68, 138, 201, 209, 210, 206, 155, 119, 110,
+  114, 130, 143, 148, 138, 154, 153, 144, 135, 115, 128, 128, 114, 96, 59, 55,
+  76, 72, 59, 53, 44, 55, 130, 210, 185, 115, 123, 130, 143, 148, 154, 161,
+  143, 139, 135, 132, 131, 135, 148, 153, 131, 96, 64, 36, 60, 77, 100, 157,
+  210, 182, 163, 169, 178, 185, 187, 186, 190, 189, 177, 158, 169, 175, 167, 162,
+  150, 139, 138, 134, 100, 87, 81, 87, 93, 190, 220, 163, 163, 147, 194, 205,
+  212, 214, 214, 214, 214, 186, 134, 142, 191, 229, 238, 238, 238, 221, 195, 189,
+  182, 178, 167, 143, 126, 52, 26, 24, 26, 38, 59, 55, 68, 68, 57, 45,
+  112, 126, 88, 114, 100, 96, 112, 118, 104, 91, 55, 68, 124, 92, 104, 92,
+  88, 87, 100, 93, 84, 100, 45, 20, 106, 115, 89, 95, 81, 85, 95, 91,
+  95, 100, 107, 150, 213, 230, 238, 240, 236, 193, 119, 124, 114, 124, 128, 119,
+  144, 157, 162, 165, 162, 162, 161, 159, 150, 134, 150, 163, 124, 120, 122, 120,
+  120, 126, 123, 123, 122, 120, 115, 126, 154, 197, 232, 236, 240, 245, 244, 237,
+  148, 123, 128, 114, 57, 40, 34, 40, 63, 67, 68, 81, 189, 212, 217, 220,
+  213, 205, 127, 119, 131, 126, 144, 130, 136, 132, 136, 119, 123, 104, 32, 51,
+  37, 40, 80, 99, 99, 80, 61, 30, 112, 123, 127, 114, 118, 124, 136, 182,
+  174, 128, 128, 127, 131, 132, 132, 132, 135, 135, 136, 147, 165, 170, 173, 182,
+  187, 165, 130, 132, 132, 132, 130, 126, 120, 56, 28, 22, 21, 18, 29, 44,
+  56, 72, 93, 97, 108, 191, 229, 230, 234, 225, 128, 119, 127, 134, 140, 148,
+  161, 167, 167, 169, 163, 158, 144, 142, 112, 80, 65, 61, 67, 88, 44, 122,
+  171, 178, 177, 163, 157, 153, 153, 169, 142, 148, 95, 65, 158, 182, 140, 99,
+  108, 124, 128, 132, 128, 128, 132, 157, 167, 163, 174, 169, 169, 165, 159, 181,
+  191, 197, 205, 202, 190, 166, 143, 147, 144, 143, 144, 147, 146, 150, 163, 165,
+  162, 159, 165, 157, 147, 131, 138, 110, 59, 30, 37, 37, 92, 155, 175, 190,
+  177, 208, 222, 230, 230, 134, 120, 120, 136, 154, 165, 173, 167, 165, 165, 158,
+  153, 140, 146, 124, 97, 89, 108, 135, 159, 167, 165, 165, 174, 144, 169, 67,
+  104, 161, 161, 155, 159, 159, 153, 151, 150, 131, 119, 28, 135, 154, 162, 153,
+  144, 139, 134, 127, 122, 140, 135, 103, 115, 108, 107, 100, 88, 89, 87, 89,
+  93, 148, 220, 229, 225, 161, 163, 181, 183, 177, 171, 162, 150, 135, 46, 20,
+  25, 41, 99, 97, 102, 79, 34, 32, 22, 24, 17, 18, 25, 14, 13, 87,
+  83, 72, 59, 56, 59, 45, 37, 53, 84, 107, 112, 108, 111, 118, 128, 135,
+  142, 142, 146, 146, 158, 177, 189, 199, 205, 213, 210, 214, 221, 226, 228, 224,
+  222, 220, 202, 163, 119, 76, 40, 21, 14, 12, 12, 20, 26, 41, 32, 127,
+  169, 206, 217, 201, 209, 209, 218, 214, 159, 115, 92, 140, 120, 130, 136, 138,
+  131, 138, 144, 136, 131, 151, 138, 140, 134, 142, 148, 165, 143, 128, 100, 77,
+  40, 40, 72, 162, 198, 202, 204, 210, 146, 122, 119, 119, 148, 150, 142, 142,
+  138, 135, 138, 143, 132, 112, 130, 126, 111, 85, 110, 93, 87, 51, 59, 48,
+  51, 92, 193, 195, 132, 114, 130, 140, 143, 143, 142, 138, 132, 130, 123, 122,
+  120, 123, 139, 139, 114, 79, 29, 46, 71, 87, 111, 186, 201, 158, 163, 171,
+  179, 181, 183, 185, 189, 187, 165, 158, 171, 173, 161, 144, 143, 135, 110, 71,
+  49, 72, 81, 87, 114, 214, 177, 170, 154, 197, 206, 217, 217, 220, 214, 222,
+  216, 212, 217, 233, 234, 234, 237, 237, 209, 190, 191, 186, 174, 147, 136, 91,
+  30, 25, 24, 29, 46, 59, 57, 67, 63, 64, 41, 96, 95, 119, 106, 115,
+  122, 118, 115, 104, 102, 52, 60, 89, 118, 115, 80, 91, 84, 92, 99, 96,
+  95, 52, 17, 102, 107, 106, 89, 88, 88, 93, 100, 130, 183, 201, 226, 222,
+  234, 229, 234, 232, 161, 122, 123, 130, 136, 148, 128, 123, 143, 150, 150, 150,
+  153, 157, 157, 159, 150, 143, 157, 166, 157, 177, 185, 195, 204, 209, 212, 216,
+  221, 224, 222, 226, 228, 230, 236, 241, 242, 230, 162, 123, 128, 126, 92, 41,
+  34, 33, 45, 65, 69, 100, 165, 228, 214, 212, 225, 221, 167, 132, 135, 142,
+  138, 140, 134, 146, 130, 134, 122, 120, 104, 76, 61, 40, 38, 38, 93, 97,
+  76, 77, 26, 112, 116, 114, 112, 112, 107, 120, 124, 128, 131, 132, 158, 159,
+  154, 151, 151, 147, 144, 142, 136, 136, 134, 134, 134, 135, 132, 130, 130, 126,
+  126, 122, 89, 41, 26, 22, 20, 18, 24, 59, 52, 68, 89, 97, 104, 171,
+  217, 225, 228, 232, 218, 127, 120, 122, 134, 140, 144, 148, 157, 162, 162, 159,
+  154, 153, 147, 148, 122, 111, 100, 83, 63, 42, 95, 171, 167, 175, 144, 169,
+  165, 165, 167, 146, 148, 106, 72, 126, 175, 186, 118, 107, 116, 124, 124, 127,
+  128, 131, 134, 135, 139, 138, 138, 147, 135, 134, 131, 132, 136, 134, 132, 134,
+  136, 136, 142, 143, 144, 147, 146, 144, 148, 146, 142, 140, 140, 140, 135, 144,
+  144, 114, 55, 32, 28, 52, 33, 91, 154, 161, 170, 212, 217, 217, 229, 222,
+  131, 127, 128, 135, 157, 162, 166, 161, 166, 166, 161, 158, 148, 139, 144, 153,
+  140, 116, 118, 107, 159, 162, 161, 158, 143, 150, 72, 88, 167, 155, 155, 157,
+  155, 151, 148, 140, 124, 115, 41, 131, 153, 154, 153, 128, 132, 127, 120, 111,
+  108, 110, 96, 115, 115, 112, 106, 97, 100, 97, 104, 108, 170, 228, 229, 218,
+  153, 158, 167, 179, 179, 170, 163, 150, 132, 41, 21, 24, 46, 97, 99, 102,
+  16, 16, 13, 22, 12, 13, 30, 21, 17, 9, 75, 73, 72, 61, 79, 63,
+  57, 45, 33, 33, 46, 69, 97, 107, 110, 108, 108, 115, 114, 123, 123, 128,
+  134, 148, 171, 182, 190, 205, 209, 206, 208, 208, 204, 186, 163, 120, 83, 61,
+  36, 21, 14, 9, 12, 10, 18, 28, 28, 102, 230, 191, 202, 194, 206, 205,
+  213, 181, 146, 123, 110, 119, 120, 120, 116, 122, 115, 120, 119, 123, 122, 126,
+  130, 124, 134, 147, 136, 140, 140, 135, 136, 153, 76, 38, 57, 95, 218, 190,
+  194, 199, 202, 139, 123, 128, 139, 123, 143, 142, 139, 127, 130, 127, 127, 127,
+  124, 126, 127, 112, 118, 115, 107, 79, 49, 51, 52, 46, 59, 151, 198, 157,
+  110, 128, 132, 136, 139, 138, 131, 130, 123, 120, 118, 112, 111, 107, 114, 127,
+  88, 77, 69, 55, 68, 85, 136, 204, 169, 159, 166, 169, 167, 174, 177, 182,
+  186, 181, 161, 161, 166, 154, 143, 143, 123, 76, 42, 40, 40, 81, 79, 79,
+  169, 190, 182, 140, 190, 205, 208, 213, 218, 224, 222, 225, 224, 226, 233, 232,
+  236, 233, 225, 199, 195, 189, 183, 169, 138, 104, 45, 28, 25, 24, 24, 51,
+  59, 57, 61, 68, 67, 44, 75, 104, 118, 115, 97, 103, 96, 111, 91, 68,
+  56, 53, 91, 120, 99, 76, 93, 91, 92, 97, 104, 69, 52, 13, 91, 103,
+  95, 97, 63, 85, 106, 198, 218, 214, 218, 238, 221, 232, 246, 229, 204, 130,
+  123, 124, 144, 146, 138, 146, 136, 134, 134, 131, 135, 138, 131, 135, 139, 144,
+  153, 150, 139, 174, 175, 187, 195, 204, 208, 213, 217, 220, 222, 225, 228, 232,
+  233, 234, 232, 206, 144, 122, 124, 131, 122, 61, 36, 33, 36, 55, 65, 104,
+  191, 198, 204, 213, 218, 236, 214, 150, 130, 119, 127, 127, 140, 136, 126, 139,
+  126, 126, 134, 107, 91, 84, 75, 61, 36, 55, 95, 71, 75, 24, 108, 118,
+  110, 88, 80, 85, 95, 93, 89, 88, 88, 102, 116, 120, 123, 119, 115, 119,
+  123, 122, 122, 120, 118, 119, 123, 122, 120, 112, 108, 83, 44, 32, 24, 21,
+  18, 16, 21, 28, 48, 56, 88, 95, 106, 175, 214, 218, 220, 225, 228, 163,
+  127, 118, 127, 142, 138, 139, 146, 144, 151, 154, 159, 158, 153, 150, 143, 144,
+  155, 153, 118, 88, 72, 46, 128, 173, 146, 170, 144, 165, 153, 159, 139, 148,
+  140, 59, 116, 166, 165, 165, 157, 150, 147, 148, 143, 120, 119, 123, 124, 130,
+  131, 131, 128, 127, 134, 127, 112, 108, 102, 96, 96, 108, 122, 128, 136, 140,
+  142, 139, 132, 138, 139, 142, 143, 143, 142, 142, 134, 112, 55, 41, 30, 25,
+  53, 32, 91, 158, 170, 213, 222, 220, 218, 230, 202, 131, 123, 136, 143, 146,
+  153, 159, 163, 163, 163, 161, 157, 158, 154, 146, 144, 144, 161, 155, 134, 115,
+  116, 120, 139, 131, 146, 68, 89, 165, 163, 157, 157, 157, 139, 142, 150, 110,
+  114, 48, 136, 162, 151, 140, 132, 126, 119, 106, 104, 104, 96, 123, 112, 110,
+  111, 103, 99, 102, 80, 107, 114, 185, 226, 232, 216, 147, 151, 157, 171, 178,
+  169, 161, 150, 126, 30, 22, 22, 42, 97, 96, 100, 12, 17, 17, 24, 13,
+  24, 36, 36, 16, 8, 68, 67, 61, 71, 52, 49, 41, 37, 34, 32, 26,
+  22, 33, 41, 64, 83, 97, 100, 106, 106, 106, 107, 108, 115, 123, 130, 134,
+  142, 159, 158, 151, 148, 119, 91, 75, 52, 25, 20, 18, 14, 9, 10, 14,
+  12, 30, 37, 30, 144, 190, 213, 193, 195, 179, 158, 136, 124, 112, 92, 87,
+  83, 85, 89, 92, 95, 96, 99, 103, 104, 103, 106, 107, 112, 118, 120, 120,
+  119, 123, 126, 127, 114, 77, 37, 68, 153, 175, 181, 155, 158, 136, 130, 108,
+  114, 119, 112, 119, 119, 122, 115, 126, 127, 119, 131, 127, 122, 112, 110, 110,
+  106, 96, 45, 25, 33, 48, 41, 45, 104, 178, 186, 108, 120, 118, 120, 122,
+  122, 119, 123, 118, 118, 114, 112, 108, 110, 106, 103, 95, 85, 49, 46, 53,
+  67, 100, 163, 181, 155, 159, 165, 163, 158, 167, 171, 173, 178, 175, 165, 146,
+  144, 147, 130, 91, 53, 38, 32, 32, 59, 76, 80, 138, 204, 182, 158, 170,
+  191, 205, 206, 210, 210, 209, 209, 210, 208, 210, 210, 212, 209, 202, 191, 186,
+  182, 173, 143, 116, 42, 24, 24, 24, 25, 28, 52, 51, 55, 64, 61, 65,
+  57, 53, 56, 61, 73, 55, 57, 65, 57, 57, 75, 72, 64, 65, 73, 79,
+  91, 79, 80, 80, 80, 76, 79, 45, 10, 48, 85, 89, 68, 73, 89, 169,
+  210, 210, 214, 228, 248, 221, 217, 210, 159, 131, 123, 128, 138, 140, 140, 143,
+  143, 140, 138, 132, 136, 139, 135, 134, 130, 127, 128, 130, 131, 128, 128, 130,
+  130, 139, 147, 165, 189, 194, 206, 206, 204, 201, 205, 205, 193, 166, 126, 120,
+  123, 130, 131, 107, 37, 30, 21, 60, 60, 85, 177, 193, 198, 213, 206, 208,
+  181, 150, 136, 120, 138, 127, 126, 130, 134, 116, 122, 112, 119, 110, 130, 115,
+  116, 104, 89, 37, 46, 95, 67, 68, 28, 112, 111, 76, 76, 69, 75, 71,
+  72, 63, 61, 53, 49, 46, 46, 48, 44, 42, 41, 42, 38, 37, 34, 30,
+  33, 37, 34, 33, 30, 28, 28, 22, 20, 18, 17, 17, 22, 37, 51, 42,
+  88, 87, 107, 174, 208, 206, 205, 217, 221, 191, 142, 126, 131, 140, 136, 138,
+  142, 139, 142, 143, 142, 148, 143, 139, 146, 144, 131, 132, 136, 161, 144, 72,
+  45, 110, 114, 118, 120, 126, 128, 135, 135, 140, 139, 104, 37, 91, 124, 142,
+  127, 116, 110, 116, 116, 120, 123, 120, 118, 116, 123, 123, 116, 114, 111, 88,
+  55, 37, 33, 29, 30, 30, 36, 68, 102, 110, 114, 116, 112, 107, 108, 112,
+  111, 110, 110, 107, 97, 61, 44, 34, 28, 25, 42, 60, 42, 148, 189, 204,
+  216, 209, 199, 221, 218, 150, 128, 131, 143, 138, 138, 138, 146, 148, 150, 150,
+  148, 147, 148, 146, 151, 150, 144, 146, 163, 158, 147, 131, 126, 120, 122, 102,
+  85, 97, 134, 148, 159, 150, 151, 136, 140, 147, 126, 112, 42, 131, 135, 130,
+  124, 108, 104, 91, 107, 112, 104, 93, 89, 95, 114, 111, 116, 107, 106, 99,
+  112, 123, 199, 230, 232, 213, 144, 150, 154, 165, 173, 167, 161, 146, 107, 25,
+  24, 21, 44, 81, 88, 87, 30, 25, 24, 26, 26, 33, 28, 25, 13, 6,
+  56, 61, 45, 48, 44, 41, 32, 33, 26, 26, 22, 21, 20, 21, 17, 17,
+  22, 34, 41, 55, 67, 89, 89, 91, 89, 85, 87, 81, 77, 75, 71, 59,
+  36, 24, 20, 16, 14, 12, 8, 8, 16, 22, 21, 17, 25, 18, 20, 76,
+  124, 144, 138, 135, 138, 88, 76, 65, 60, 44, 24, 25, 24, 21, 21, 22,
+  24, 26, 28, 33, 33, 32, 37, 69, 80, 87, 85, 83, 81, 96, 88, 63,
+  33, 46, 64, 128, 130, 140, 139, 143, 116, 93, 84, 85, 100, 102, 99, 97,
+  103, 103, 110, 107, 106, 106, 108, 103, 96, 92, 93, 85, 49, 22, 22, 20,
+  24, 44, 34, 42, 107, 128, 110, 115, 92, 110, 111, 116, 114, 114, 112, 108,
+  103, 102, 96, 104, 96, 97, 96, 81, 26, 30, 65, 45, 75, 100, 166, 171,
+  154, 159, 158, 158, 158, 161, 162, 161, 155, 150, 146, 144, 130, 103, 55, 38,
+  34, 36, 38, 45, 80, 76, 171, 191, 189, 173, 126, 157, 189, 193, 195, 198,
+  198, 197, 195, 191, 185, 183, 186, 187, 185, 182, 167, 148, 136, 108, 45, 26,
+  24, 24, 33, 42, 37, 45, 33, 36, 53, 56, 61, 60, 65, 68, 84, 73,
+  76, 73, 79, 79, 77, 75, 76, 73, 63, 79, 77, 52, 44, 24, 22, 34,
+  33, 32, 30, 12, 29, 34, 46, 71, 65, 87, 162, 206, 220, 210, 212, 185,
+  158, 142, 131, 123, 131, 124, 135, 134, 135, 135, 136, 136, 135, 131, 131, 130,
+  128, 127, 127, 119, 124, 126, 126, 126, 127, 123, 124, 123, 120, 119, 118, 118,
+  118, 120, 122, 122, 119, 118, 116, 116, 118, 118, 123, 127, 132, 127, 60, 25,
+  28, 32, 60, 57, 144, 193, 189, 197, 209, 181, 147, 139, 124, 120, 108, 114,
+  112, 108, 114, 110, 108, 100, 104, 106, 106, 104, 111, 103, 96, 92, 40, 55,
+  72, 64, 56, 34, 107, 111, 77, 71, 69, 68, 67, 67, 61, 52, 46, 36,
+  42, 37, 36, 36, 36, 32, 32, 32, 28, 25, 22, 26, 25, 24, 22, 21,
+  18, 17, 17, 14, 21, 20, 26, 44, 34, 42, 56, 85, 95, 135, 195, 202,
+  212, 204, 179, 163, 136, 128, 138, 132, 138, 132, 135, 130, 128, 131, 138, 138,
+  139, 138, 134, 138, 138, 132, 130, 131, 138, 128, 46, 89, 103, 106, 104, 96,
+  112, 108, 114, 106, 124, 119, 63, 37, 67, 75, 77, 68, 60, 49, 51, 42,
+  42, 41, 45, 37, 36, 34, 34, 32, 32, 32, 30, 28, 25, 25, 22, 25,
+  25, 29, 28, 30, 28, 26, 28, 29, 28, 26, 22, 28, 28, 29, 32, 32,
+  29, 29, 25, 17, 25, 65, 65, 48, 154, 194, 220, 212, 216, 206, 174, 150,
+  136, 132, 134, 136, 132, 126, 134, 136, 136, 140, 143, 143, 139, 135, 138, 134,
+  127, 130, 147, 146, 148, 118, 128, 127, 135, 127, 112, 114, 106, 120, 126, 131,
+  126, 135, 130, 143, 134, 115, 108, 25, 135, 148, 108, 95, 123, 139, 163, 186,
+  177, 136, 111, 79, 85, 65, 87, 88, 93, 81, 102, 110, 146, 217, 229, 237,
+  209, 140, 144, 148, 161, 170, 166, 154, 142, 75, 22, 22, 21, 48, 42, 33,
+  40, 1, 5, 5, 10, 12, 13, 14, 13, 13, 6, 13, 16, 9, 10, 13,
+  12, 9, 8, 8, 9, 8, 6, 5, 6, 5, 5, 5, 6, 6, 10, 9,
+  8, 10, 10, 14, 13, 14, 13, 13, 13, 13, 13, 12, 10, 8, 5, 6,
+  14, 25, 18, 26, 30, 28, 17, 17, 28, 20, 10, 24, 33, 32, 29, 26,
+  16, 22, 24, 16, 12, 13, 13, 13, 12, 10, 12, 12, 12, 12, 14, 13,
+  10, 8, 10, 13, 13, 13, 18, 21, 5, 9, 20, 20, 25, 14, 32, 44,
+  46, 65, 30, 4, 5, 14, 16, 13, 13, 14, 16, 13, 13, 16, 13, 13,
+  14, 16, 20, 20, 18, 18, 17, 22, 26, 34, 44, 41, 34, 26, 33, 30,
+  25, 20, 9, 10, 16, 13, 12, 10, 10, 8, 8, 12, 6, 5, 10, 16,
+  8, 8, 14, 12, 14, 17, 16, 29, 65, 99, 159, 161, 148, 147, 151, 150,
+  154, 157, 153, 150, 144, 140, 128, 91, 49, 37, 33, 34, 33, 24, 48, 76,
+  75, 159, 189, 202, 183, 139, 114, 114, 131, 126, 124, 119, 134, 127, 123, 120,
+  120, 120, 123, 119, 118, 114, 69, 55, 33, 24, 24, 26, 28, 25, 24, 12,
+  10, 26, 10, 10, 10, 12, 30, 10, 9, 20, 21, 10, 10, 20, 12, 12,
+  10, 12, 20, 37, 34, 51, 49, 85, 99, 106, 104, 91, 83, 52, 12, 81,
+  89, 89, 51, 67, 81, 112, 139, 157, 142, 139, 127, 111, 107, 108, 112, 114,
+  112, 130, 130, 124, 128, 128, 131, 130, 128, 128, 128, 124, 127, 127, 124, 126,
+  126, 126, 127, 124, 123, 123, 122, 122, 120, 120, 120, 119, 118, 120, 119, 119,
+  119, 119, 120, 122, 124, 128, 131, 128, 96, 32, 24, 26, 28, 44, 53, 108,
+  166, 183, 153, 144, 116, 102, 95, 97, 97, 100, 100, 100, 102, 102, 106, 106,
+  106, 104, 108, 100, 100, 99, 102, 99, 73, 51, 51, 61, 64, 56, 32, 100,
+  64, 57, 46, 44, 42, 42, 32, 33, 28, 26, 18, 17, 16, 16, 14, 16,
+  14, 14, 14, 13, 13, 13, 14, 16, 17, 18, 20, 20, 21, 22, 26, 33,
+  37, 53, 33, 42, 55, 97, 91, 107, 178, 175, 165, 153, 147, 138, 138, 130,
+  123, 126, 126, 127, 126, 122, 122, 123, 122, 120, 128, 123, 126, 127, 120, 114,
+  108, 110, 115, 114, 46, 72, 14, 10, 17, 12, 9, 12, 8, 16, 17, 6,
+  21, 17, 8, 46, 42, 25, 8, 36, 18, 4, 4, 5, 8, 10, 12, 13,
+  16, 16, 16, 16, 14, 13, 16, 17, 21, 22, 24, 22, 29, 29, 30, 25,
+  24, 21, 21, 22, 22, 17, 22, 22, 22, 21, 20, 20, 13, 17, 21, 37,
+  68, 72, 51, 166, 175, 191, 178, 177, 157, 135, 134, 128, 123, 124, 116, 120,
+  120, 116, 118, 126, 127, 130, 128, 128, 124, 123, 120, 122, 120, 120, 116, 103,
+  67, 36, 28, 34, 38, 37, 34, 48, 41, 36, 51, 69, 72, 69, 67, 87,
+  91, 85, 33, 135, 99, 118, 146, 181, 191, 195, 197, 195, 193, 146, 107, 51,
+  97, 120, 118, 112, 108, 110, 118, 161, 225, 236, 237, 198, 138, 143, 148, 161,
+  167, 163, 151, 136, 46, 24, 22, 33, 46, 71, 79, 95, 56, 53, 53, 49,
+  24, 12, 10, 8, 8, 9, 0, 1, 1, 5, 1, 1, 2, 4, 1, 2,
+  4, 6, 5, 5, 6, 8, 8, 4, 1, 4, 2, 4, 2, 2, 2, 2,
+  2, 2, 4, 4, 5, 6, 6, 9, 14, 16, 24, 20, 28, 30, 28, 34,
+  38, 40, 49, 45, 20, 24, 34, 44, 30, 26, 22, 21, 24, 24, 22, 21,
+  22, 24, 24, 21, 20, 18, 18, 21, 25, 22, 20, 18, 17, 14, 13, 18,
+  26, 32, 13, 22, 33, 16, 17, 14, 36, 33, 42, 48, 45, 38, 33, 30,
+  33, 32, 30, 28, 32, 29, 30, 28, 29, 32, 32, 29, 30, 30, 24, 26,
+  26, 30, 24, 29, 55, 46, 49, 49, 52, 46, 33, 38, 34, 34, 37, 40,
+  37, 32, 32, 33, 32, 28, 30, 32, 29, 26, 33, 34, 30, 30, 37, 44,
+  45, 57, 63, 52, 52, 100, 148, 155, 163, 148, 154, 148, 153, 143, 146, 131,
+  119, 72, 41, 37, 34, 24, 24, 24, 38, 67, 76, 140, 175, 198, 208, 181,
+  127, 88, 67, 64, 61, 56, 57, 48, 46, 44, 48, 41, 44, 44, 42, 38,
+  41, 36, 40, 38, 41, 30, 48, 38, 48, 41, 41, 41, 41, 41, 38, 38,
+  38, 30, 9, 33, 100, 131, 89, 96, 99, 100, 95, 83, 89, 96, 107, 130,
+  119, 128, 130, 100, 107, 104, 115, 102, 80, 18, 92, 88, 102, 99, 56, 71,
+  81, 99, 85, 83, 81, 73, 73, 64, 60, 57, 49, 52, 41, 40, 36, 34,
+  32, 30, 29, 33, 30, 33, 30, 30, 29, 30, 29, 30, 29, 29, 28, 33,
+  30, 33, 32, 30, 33, 38, 42, 63, 96, 110, 119, 123, 124, 127, 126, 128,
+  131, 127, 114, 45, 26, 21, 18, 30, 61, 49, 65, 73, 71, 72, 73, 75,
+  29, 22, 21, 21, 20, 20, 20, 20, 17, 17, 18, 18, 24, 25, 24, 28,
+  29, 29, 32, 30, 14, 8, 14, 12, 14, 34, 41, 64, 79, 71, 91, 95,
+  84, 73, 88, 84, 72, 12, 49, 71, 68, 68, 49, 61, 46, 63, 38, 25,
+  34, 48, 79, 85, 81, 81, 80, 84, 79, 81, 83, 75, 72, 32, 61, 89,
+  100, 97, 118, 131, 135, 136, 124, 119, 110, 107, 100, 85, 69, 73, 60, 63,
+  57, 55, 49, 52, 49, 51, 49, 51, 49, 53, 53, 55, 53, 60, 60, 53,
+  17, 30, 103, 107, 114, 124, 124, 122, 130, 126, 128, 130, 76, 25, 104, 111,
+  118, 111, 111, 102, 106, 67, 38, 25, 20, 13, 25, 21, 24, 18, 18, 17,
+  20, 18, 13, 17, 14, 17, 8, 18, 22, 22, 14, 25, 21, 14, 9, 9,
+  13, 13, 16, 18, 21, 21, 21, 26, 25, 44, 55, 69, 76, 46, 161, 142,
+  146, 136, 138, 127, 111, 88, 75, 72, 56, 53, 48, 52, 41, 40, 40, 41,
+  37, 38, 36, 33, 32, 30, 33, 32, 34, 34, 30, 34, 65, 68, 84, 91,
+  84, 91, 103, 118, 130, 120, 107, 81, 80, 59, 56, 87, 89, 95, 88, 124,
+  146, 186, 202, 201, 195, 218, 197, 187, 139, 114, 71, 107, 123, 127, 122, 122,
+  115, 138, 191, 226, 236, 237, 185, 135, 139, 146, 158, 163, 158, 147, 114, 32,
+  24, 26, 30, 67, 97, 122, 135, 108, 93, 83, 79, 48, 45, 37, 32, 12,
+  1, 17, 68, 73, 67, 60, 71, 77, 67, 61, 57, 60, 63, 65, 71, 65,
+  65, 55, 46, 25, 20, 14, 14, 13, 12, 13, 14, 20, 21, 18, 20, 21,
+  26, 25, 28, 30, 30, 26, 37, 45, 53, 60, 55, 65, 59, 67, 55, 36,
+  14, 65, 52, 33, 30, 30, 26, 28, 26, 26, 28, 26, 20, 26, 33, 34,
+  30, 29, 29, 33, 26, 21, 16, 13, 13, 9, 12, 24, 24, 20, 17, 22,
+  22, 21, 25, 20, 5, 52, 41, 34, 33, 33, 29, 38, 32, 28, 28, 30,
+  28, 26, 17, 20, 33, 26, 28, 29, 32, 24, 32, 26, 25, 26, 51, 55,
+  48, 49, 49, 52, 51, 53, 45, 12, 69, 57, 41, 42, 32, 36, 37, 34,
+  33, 34, 36, 33, 37, 37, 40, 40, 38, 40, 42, 42, 52, 56, 60, 48,
+  55, 135, 144, 142, 146, 136, 134, 131, 130, 112, 69, 55, 44, 40, 34, 38,
+  28, 22, 36, 64, 96, 89, 143, 195, 202, 208, 166, 104, 59, 42, 37, 64,
+  42, 42, 40, 46, 46, 44, 41, 45, 46, 46, 45, 41, 42, 38, 40, 38,
+  41, 40, 37, 42, 48, 49, 49, 55, 56, 55, 60, 49, 32, 6, 108, 130,
+  122, 116, 102, 103, 99, 122, 108, 118, 71, 99, 108, 106, 100, 112, 115, 104,
+  104, 110, 114, 73, 13, 80, 97, 99, 104, 85, 60, 71, 77, 53, 45, 44,
+  59, 41, 44, 41, 41, 38, 40, 29, 25, 25, 22, 25, 20, 20, 22, 22,
+  22, 22, 21, 21, 21, 21, 21, 20, 20, 18, 21, 20, 20, 20, 20, 21,
+  21, 20, 22, 26, 32, 40, 51, 64, 77, 87, 95, 95, 79, 44, 26, 25,
+  24, 26, 36, 64, 65, 61, 48, 52, 53, 46, 56, 46, 46, 42, 40, 41,
+  37, 32, 30, 30, 28, 26, 26, 21, 24, 22, 21, 21, 17, 17, 18, 18,
+  22, 41, 26, 52, 37, 89, 134, 139, 142, 138, 140, 136, 135, 134, 103, 81,
+  4, 103, 81, 85, 77, 72, 89, 104, 75, 77, 68, 36, 93, 112, 111, 107,
+  104, 108, 104, 106, 102, 93, 88, 72, 30, 102, 103, 96, 114, 120, 123, 124,
+  112, 111, 96, 99, 77, 61, 63, 60, 55, 48, 44, 40, 36, 34, 34, 29,
+  30, 30, 29, 24, 24, 21, 21, 21, 20, 17, 16, 26, 24, 116, 128, 126,
+  128, 135, 135, 135, 135, 138, 142, 87, 29, 143, 136, 134, 136, 132, 132, 132,
+  112, 97, 77, 52, 14, 36, 84, 79, 41, 48, 71, 67, 41, 49, 61, 56,
+  37, 51, 73, 68, 75, 72, 89, 71, 73, 63, 33, 8, 21, 41, 61, 44,
+  44, 49, 52, 52, 59, 73, 81, 80, 40, 131, 120, 119, 87, 96, 88, 83,
+  63, 64, 65, 63, 49, 48, 51, 51, 45, 45, 45, 44, 42, 44, 44, 42,
+  44, 49, 49, 49, 51, 56, 71, 71, 87, 99, 110, 131, 91, 91, 131, 116,
+  107, 120, 135, 139, 132, 120, 118, 108, 68, 131, 154, 182, 204, 197, 202, 206,
+  178, 154, 132, 142, 106, 71, 104, 126, 135, 140, 134, 124, 148, 210, 228, 234,
+  234, 169, 134, 139, 146, 157, 158, 150, 140, 77, 25, 25, 25, 32, 64, 116,
+  138, 154, 65, 65, 68, 71, 45, 65, 48, 40, 12, 1, 77, 68, 57, 55,
+  55, 52, 46, 59, 56, 55, 49, 51, 53, 49, 42, 44, 48, 45, 63, 57,
+  37, 21, 20, 13, 28, 41, 42, 42, 42, 40, 38, 36, 38, 34, 28, 17,
+  26, 55, 63, 69, 63, 67, 63, 69, 71, 60, 46, 17, 65, 53, 51, 42,
+  46, 45, 41, 40, 36, 34, 32, 17, 32, 45, 55, 49, 48, 42, 45, 40,
+  30, 29, 28, 24, 9, 42, 42, 42, 51, 28, 33, 48, 29, 25, 28, 10,
+  53, 65, 56, 59, 56, 44, 42, 32, 28, 34, 28, 10, 20, 64, 34, 57,
+  42, 51, 37, 49, 37, 25, 16, 14, 28, 46, 56, 56, 52, 52, 63, 53,
+  48, 41, 9, 68, 72, 42, 51, 42, 42, 41, 42, 46, 40, 38, 28, 21,
+  34, 40, 51, 37, 44, 46, 53, 51, 52, 56, 59, 48, 111, 140, 123, 89,
+  75, 69, 67, 56, 53, 46, 46, 37, 34, 38, 30, 26, 42, 59, 67, 89,
+  93, 182, 195, 206, 204, 158, 103, 48, 42, 41, 41, 41, 41, 44, 51, 51,
+  51, 69, 93, 134, 146, 163, 173, 165, 153, 110, 64, 49, 44, 40, 42, 44,
+  41, 40, 42, 42, 46, 55, 52, 51, 28, 118, 128, 100, 88, 88, 89, 87,
+  84, 102, 68, 84, 118, 120, 103, 118, 99, 104, 96, 104, 104, 118, 73, 12,
+  85, 91, 108, 95, 87, 81, 53, 51, 48, 64, 64, 40, 33, 32, 33, 38,
+  25, 29, 21, 21, 20, 17, 20, 18, 18, 20, 20, 20, 20, 18, 20, 21,
+  20, 20, 20, 20, 20, 22, 26, 32, 28, 32, 32, 32, 28, 24, 21, 22,
+  21, 24, 25, 25, 25, 26, 28, 25, 26, 24, 25, 14, 28, 67, 73, 72,
+  65, 65, 63, 59, 55, 51, 48, 46, 49, 44, 42, 41, 37, 37, 34, 33,
+  30, 29, 29, 29, 30, 26, 26, 28, 25, 28, 36, 46, 59, 61, 61, 72,
+  112, 140, 139, 132, 132, 123, 120, 122, 128, 112, 88, 9, 97, 89, 96, 81,
+  88, 91, 91, 81, 83, 79, 36, 99, 127, 135, 128, 120, 127, 132, 131, 111,
+  110, 95, 76, 30, 91, 93, 112, 139, 142, 110, 104, 123, 96, 72, 71, 65,
+  69, 71, 55, 49, 46, 38, 41, 38, 37, 34, 30, 30, 29, 29, 28, 25,
+  24, 22, 24, 22, 20, 18, 40, 45, 127, 115, 122, 126, 135, 135, 132, 134,
+  128, 153, 89, 34, 139, 147, 147, 148, 146, 146, 140, 127, 114, 87, 61, 13,
+  76, 100, 106, 80, 77, 48, 56, 69, 64, 45, 49, 46, 49, 100, 123, 120,
+  120, 115, 118, 108, 83, 63, 10, 96, 106, 96, 95, 88, 85, 84, 81, 77,
+  80, 85, 91, 46, 114, 158, 114, 104, 81, 73, 81, 67, 64, 67, 61, 51,
+  49, 53, 52, 46, 48, 49, 48, 49, 45, 46, 49, 51, 49, 56, 60, 60,
+  61, 77, 83, 97, 91, 102, 80, 77, 112, 122, 147, 134, 120, 123, 126, 119,
+  119, 107, 92, 120, 154, 154, 195, 199, 201, 197, 170, 132, 123, 126, 130, 110,
+  72, 97, 124, 130, 132, 118, 131, 169, 218, 228, 236, 229, 148, 134, 138, 144,
+  155, 153, 146, 120, 42, 26, 25, 25, 20, 64, 116, 140, 153, 22, 29, 26,
+  17, 21, 20, 52, 36, 10, 4, 55, 75, 53, 68, 52, 46, 49, 44, 41,
+  38, 28, 24, 37, 52, 68, 68, 60, 61, 42, 48, 55, 38, 24, 17, 33,
+  44, 40, 45, 40, 44, 42, 37, 38, 42, 17, 17, 44, 68, 73, 68, 71,
+  59, 65, 63, 51, 46, 34, 18, 60, 57, 49, 48, 51, 44, 48, 38, 41,
+  44, 34, 21, 37, 41, 48, 48, 49, 60, 55, 52, 41, 40, 29, 24, 12,
+  45, 52, 42, 52, 51, 46, 42, 48, 28, 25, 8, 45, 65, 77, 81, 81,
+  59, 61, 48, 42, 32, 29, 9, 49, 73, 69, 64, 60, 57, 56, 59, 48,
+  42, 26, 13, 34, 53, 59, 44, 42, 51, 55, 55, 57, 29, 2, 77, 79,
+  73, 56, 36, 40, 30, 42, 37, 34, 37, 25, 17, 33, 72, 61, 61, 59,
+  59, 55, 53, 53, 56, 67, 46, 127, 135, 118, 91, 79, 65, 64, 57, 53,
+  44, 44, 36, 26, 25, 33, 38, 59, 61, 97, 95, 126, 179, 206, 205, 208,
+  143, 102, 72, 67, 69, 59, 55, 59, 73, 89, 120, 154, 187, 210, 221, 226,
+  229, 229, 222, 224, 216, 193, 163, 134, 79, 55, 42, 44, 42, 44, 41, 40,
+  52, 49, 46, 9, 84, 127, 81, 76, 91, 92, 87, 85, 96, 69, 89, 108,
+  118, 115, 111, 116, 111, 104, 110, 107, 111, 68, 12, 85, 89, 99, 93, 85,
+  56, 56, 55, 53, 57, 44, 25, 76, 61, 51, 45, 51, 63, 44, 49, 46,
+  42, 38, 36, 41, 38, 49, 49, 49, 42, 41, 41, 40, 36, 34, 36, 34,
+  56, 49, 53, 51, 59, 57, 59, 52, 51, 40, 30, 25, 28, 25, 22, 22,
+  22, 22, 24, 21, 26, 25, 9, 36, 69, 87, 92, 95, 93, 96, 91, 91,
+  76, 64, 56, 87, 92, 69, 67, 68, 57, 56, 68, 67, 28, 10, 45, 63,
+  73, 48, 38, 48, 57, 38, 67, 59, 65, 60, 67, 115, 138, 134, 131, 132,
+  123, 123, 106, 118, 127, 67, 12, 75, 103, 96, 112, 112, 120, 122, 95, 112,
+  69, 37, 91, 130, 140, 138, 134, 131, 142, 127, 132, 112, 99, 85, 32, 92,
+  91, 102, 114, 132, 161, 138, 128, 83, 87, 68, 84, 118, 112, 106, 77, 87,
+  87, 89, 81, 79, 69, 63, 51, 53, 51, 48, 48, 44, 44, 42, 41, 42,
+  36, 45, 25, 102, 135, 143, 135, 128, 132, 146, 139, 131, 147, 89, 38, 123,
+  147, 147, 143, 143, 138, 157, 127, 114, 112, 60, 14, 80, 104, 87, 115, 88,
+  102, 76, 80, 81, 102, 63, 48, 75, 120, 135, 134, 130, 128, 123, 118, 84,
+  72, 24, 100, 108, 102, 102, 99, 96, 97, 92, 88, 68, 91, 95, 51, 115,
+  138, 126, 143, 127, 135, 138, 111, 93, 89, 80, 72, 75, 76, 64, 69, 69,
+  69, 68, 68, 68, 68, 68, 69, 71, 75, 76, 73, 77, 81, 91, 79, 106,
+  127, 99, 51, 108, 115, 111, 111, 123, 114, 120, 112, 111, 107, 91, 128, 161,
+  163, 201, 191, 198, 167, 132, 126, 122, 147, 116, 103, 65, 96, 110, 120, 118,
+  120, 136, 182, 221, 225, 232, 213, 138, 134, 139, 146, 154, 150, 140, 85, 30,
+  26, 25, 26, 16, 64, 114, 132, 154, 16, 14, 33, 36, 30, 29, 32, 20,
+  9, 10, 53, 64, 63, 53, 68, 49, 56, 48, 53, 40, 26, 20, 52, 60,
+  59, 46, 38, 40, 41, 48, 45, 51, 26, 16, 45, 46, 42, 45, 38, 38,
+  36, 33, 34, 48, 17, 16, 44, 69, 69, 76, 75, 51, 52, 52, 53, 49,
+  29, 18, 60, 51, 45, 53, 46, 55, 48, 42, 41, 48, 36, 25, 41, 48,
+  61, 49, 38, 60, 49, 67, 48, 42, 36, 28, 13, 40, 56, 55, 45, 41,
+  41, 42, 46, 32, 28, 8, 55, 72, 76, 72, 76, 80, 60, 67, 52, 42,
+  32, 6, 59, 71, 81, 69, 67, 65, 69, 63, 61, 57, 25, 13, 57, 60,
+  67, 61, 45, 53, 72, 60, 52, 41, 8, 81, 77, 68, 61, 46, 38, 41,
+  52, 55, 53, 48, 30, 13, 67, 75, 76, 73, 72, 61, 63, 59, 59, 65,
+  65, 57, 116, 134, 120, 107, 91, 75, 68, 60, 51, 44, 45, 29, 25, 36,
+  37, 57, 56, 72, 93, 84, 97, 191, 199, 217, 186, 138, 104, 122, 127, 118,
+  126, 135, 158, 177, 201, 213, 224, 228, 229, 229, 228, 224, 224, 225, 222, 217,
+  218, 213, 213, 185, 122, 59, 44, 42, 42, 46, 44, 51, 57, 33, 8, 84,
+  128, 99, 84, 112, 92, 112, 97, 83, 60, 88, 123, 122, 108, 116, 108, 123,
+  118, 100, 99, 107, 81, 16, 91, 89, 100, 96, 96, 76, 72, 53, 65, 56,
+  60, 45, 67, 84, 81, 63, 61, 53, 61, 57, 56, 55, 56, 37, 33, 49,
+  51, 53, 59, 52, 56, 56, 56, 57, 56, 49, 45, 55, 64, 61, 63, 59,
+  61, 60, 60, 59, 40, 63, 67, 68, 67, 60, 60, 37, 34, 33, 30, 32,
+  25, 10, 44, 77, 95, 96, 93, 96, 96, 100, 95, 87, 73, 63, 79, 102,
+  80, 91, 89, 89, 71, 61, 72, 63, 16, 75, 80, 81, 79, 77, 71, 67,
+  64, 63, 57, 63, 67, 57, 102, 130, 134, 128, 131, 116, 116, 110, 120, 102,
+  88, 16, 92, 99, 116, 100, 102, 108, 110, 112, 111, 80, 51, 114, 131, 132,
+  135, 136, 143, 146, 143, 140, 127, 107, 81, 32, 92, 93, 116, 104, 123, 134,
+  151, 139, 87, 88, 69, 91, 126, 112, 110, 107, 107, 104, 106, 110, 103, 83,
+  79, 65, 93, 99, 97, 93, 92, 73, 69, 80, 83, 59, 38, 80, 127, 135,
+  124, 135, 128, 140, 138, 139, 134, 151, 96, 45, 132, 147, 147, 154, 140, 140,
+  132, 136, 112, 115, 61, 14, 89, 112, 103, 136, 106, 110, 119, 106, 92, 103,
+  64, 49, 108, 135, 128, 126, 123, 124, 123, 132, 85, 61, 10, 80, 114, 107,
+  130, 108, 106, 84, 99, 96, 91, 96, 99, 61, 127, 135, 147, 128, 138, 136,
+  140, 128, 128, 95, 88, 57, 41, 73, 75, 77, 77, 76, 68, 71, 79, 67,
+  48, 63, 95, 110, 114, 110, 76, 75, 75, 81, 96, 130, 112, 53, 110, 107,
+  111, 110, 122, 115, 116, 118, 116, 104, 95, 134, 163, 175, 198, 199, 173, 139,
+  124, 118, 138, 144, 130, 97, 71, 87, 112, 115, 114, 127, 158, 205, 224, 229,
+  233, 193, 131, 132, 139, 151, 150, 144, 123, 41, 29, 28, 28, 26, 36, 59,
+  122, 131, 143, 61, 12, 12, 21, 13, 28, 29, 46, 9, 1, 44, 73, 59,
+  56, 65, 59, 52, 48, 49, 34, 29, 18, 49, 52, 38, 46, 52, 51, 71,
+  57, 45, 52, 32, 24, 48, 48, 52, 52, 53, 46, 48, 37, 33, 45, 18,
+  14, 56, 72, 68, 68, 68, 48, 63, 56, 61, 46, 37, 22, 53, 59, 42,
+  59, 60, 44, 46, 51, 48, 49, 38, 25, 46, 56, 55, 51, 38, 52, 45,
+  60, 56, 49, 37, 28, 5, 42, 42, 55, 48, 42, 41, 45, 46, 32, 28,
+  9, 49, 69, 71, 63, 59, 59, 60, 57, 56, 42, 29, 6, 65, 83, 80,
+  71, 71, 63, 73, 71, 64, 56, 36, 14, 57, 63, 69, 53, 64, 53, 65,
+  59, 51, 42, 8, 77, 68, 61, 56, 56, 44, 46, 60, 63, 57, 48, 29,
+  14, 68, 71, 80, 76, 77, 64, 68, 68, 61, 55, 55, 51, 103, 128, 126,
+  102, 107, 97, 79, 73, 57, 53, 30, 20, 29, 52, 60, 60, 75, 65, 89,
+  83, 95, 167, 209, 212, 181, 126, 96, 119, 189, 194, 198, 206, 210, 216, 222,
+  224, 225, 224, 218, 213, 201, 197, 198, 186, 179, 167, 170, 173, 189, 205, 205,
+  162, 76, 51, 41, 41, 44, 46, 48, 28, 8, 104, 138, 108, 91, 88, 99,
+  87, 95, 93, 53, 88, 118, 118, 103, 103, 104, 104, 107, 104, 103, 102, 80,
+  16, 91, 81, 99, 92, 97, 95, 84, 72, 61, 55, 49, 46, 75, 83, 71,
+  76, 76, 59, 75, 79, 81, 69, 52, 36, 44, 76, 93, 89, 57, 57, 59,
+  63, 65, 65, 67, 37, 52, 88, 84, 85, 84, 67, 65, 68, 64, 65, 45,
+  63, 76, 75, 77, 69, 69, 60, 55, 55, 52, 48, 28, 9, 71, 80, 96,
+  104, 107, 104, 95, 83, 102, 91, 80, 51, 80, 84, 103, 87, 85, 93, 89,
+  80, 79, 69, 6, 84, 84, 68, 91, 91, 53, 59, 91, 81, 87, 69, 67,
+  51, 100, 132, 136, 122, 119, 114, 111, 123, 100, 107, 88, 4, 93, 100, 128,
+  107, 99, 96, 100, 111, 123, 83, 53, 120, 136, 143, 144, 136, 130, 131, 144,
+  148, 134, 115, 84, 33, 89, 89, 99, 92, 116, 139, 135, 122, 89, 91, 76,
+  95, 126, 122, 115, 114, 111, 112, 110, 107, 108, 107, 85, 69, 99, 104, 110,
+  107, 104, 102, 100, 97, 97, 63, 28, 112, 97, 126, 126, 131, 136, 138, 142,
+  134, 132, 144, 104, 46, 139, 148, 150, 154, 155, 155, 131, 142, 116, 116, 67,
+  16, 88, 118, 123, 120, 104, 104, 104, 107, 115, 104, 69, 48, 123, 138, 138,
+  107, 118, 130, 126, 132, 84, 68, 9, 124, 115, 111, 108, 111, 114, 118, 120,
+  123, 124, 103, 107, 63, 120, 154, 139, 140, 138, 142, 132, 131, 130, 119, 111,
+  37, 57, 80, 106, 103, 85, 89, 91, 99, 93, 79, 51, 97, 100, 126, 111,
+  97, 119, 122, 112, 96, 126, 118, 110, 55, 104, 103, 120, 118, 119, 116, 111,
+  112, 118, 103, 91, 119, 166, 166, 213, 187, 154, 126, 123, 127, 144, 150, 128,
+  95, 68, 81, 106, 112, 116, 138, 190, 213, 214, 229, 225, 153, 127, 132, 146,
+  147, 143, 131, 67, 30, 28, 26, 30, 29, 38, 61, 123, 127, 134, 64, 12,
+  12, 25, 28, 38, 29, 33, 9, 1, 53, 63, 52, 64, 64, 61, 59, 57,
+  45, 33, 24, 18, 49, 38, 46, 44, 63, 63, 67, 51, 53, 49, 41, 22,
+  55, 68, 65, 64, 56, 57, 45, 40, 33, 37, 14, 34, 60, 67, 65, 53,
+  60, 38, 42, 40, 44, 46, 45, 22, 45, 56, 42, 37, 44, 49, 55, 60,
+  46, 44, 48, 24, 46, 53, 48, 45, 46, 57, 49, 67, 56, 55, 38, 26,
+  6, 36, 51, 56, 44, 60, 46, 42, 42, 32, 29, 12, 52, 75, 65, 63,
+  63, 65, 64, 57, 60, 44, 29, 6, 60, 63, 73, 73, 73, 73, 79, 73,
+  72, 57, 30, 25, 61, 60, 69, 59, 65, 65, 79, 57, 48, 37, 6, 79,
+  79, 67, 60, 57, 73, 73, 73, 72, 67, 49, 29, 12, 71, 79, 80, 73,
+  76, 72, 75, 79, 64, 65, 69, 48, 91, 120, 122, 112, 95, 102, 87, 81,
+  64, 73, 34, 18, 44, 56, 75, 77, 75, 65, 112, 85, 107, 123, 189, 206,
+  183, 122, 110, 118, 157, 190, 198, 202, 208, 210, 210, 213, 206, 201, 193, 174,
+  155, 150, 150, 151, 143, 147, 142, 148, 153, 151, 162, 187, 177, 87, 41, 41,
+  46, 45, 46, 44, 22, 111, 116, 111, 91, 89, 97, 87, 92, 85, 53, 84,
+  120, 114, 106, 110, 102, 104, 96, 111, 110, 100, 77, 16, 85, 79, 106, 108,
+  100, 87, 76, 63, 64, 57, 51, 24, 69, 92, 76, 83, 69, 73, 84, 87,
+  88, 77, 52, 36, 63, 93, 92, 100, 97, 73, 73, 72, 65, 76, 61, 36,
+  83, 87, 92, 91, 92, 85, 72, 69, 71, 69, 46, 75, 79, 87, 83, 83,
+  79, 71, 61, 61, 56, 51, 28, 8, 76, 93, 99, 81, 95, 104, 106, 83,
+  95, 95, 79, 44, 81, 88, 100, 95, 103, 107, 88, 95, 79, 72, 8, 93,
+  88, 83, 85, 83, 89, 88, 95, 92, 95, 88, 68, 71, 103, 140, 122, 123,
+  118, 124, 115, 114, 120, 103, 92, 5, 100, 106, 103, 102, 128, 120, 128, 112,
+  107, 87, 49, 115, 132, 139, 147, 144, 139, 140, 142, 135, 139, 115, 84, 33,
+  88, 92, 100, 100, 126, 89, 97, 100, 88, 95, 77, 96, 124, 123, 126, 104,
+  122, 119, 116, 114, 116, 112, 96, 71, 91, 110, 122, 120, 119, 116, 115, 114,
+  100, 64, 29, 106, 138, 131, 127, 140, 139, 142, 139, 132, 127, 142, 96, 55,
+  138, 150, 143, 143, 143, 140, 144, 138, 114, 118, 73, 20, 102, 124, 99, 111,
+  85, 124, 111, 127, 119, 100, 64, 59, 118, 143, 127, 122, 115, 134, 131, 130,
+  81, 65, 9, 120, 128, 115, 118, 119, 122, 123, 127, 128, 127, 106, 110, 68,
+  119, 146, 142, 124, 126, 123, 119, 123, 120, 120, 108, 30, 75, 112, 131, 115,
+  111, 102, 122, 119, 96, 83, 46, 97, 118, 119, 128, 119, 120, 112, 120, 127,
+  134, 118, 103, 56, 103, 131, 100, 114, 112, 114, 112, 115, 111, 100, 84, 124,
+  139, 150, 171, 183, 163, 128, 122, 132, 151, 150, 111, 104, 73, 85, 110, 107,
+  132, 173, 210, 214, 218, 226, 201, 131, 128, 135, 148, 143, 135, 95, 34, 28,
+  29, 28, 34, 30, 9, 76, 126, 134, 139, 9, 16, 29, 49, 45, 34, 26,
+  32, 8, 1, 59, 67, 56, 61, 63, 59, 46, 63, 40, 32, 24, 16, 48,
+  75, 79, 68, 68, 67, 53, 46, 46, 49, 42, 25, 25, 46, 51, 44, 48,
+  45, 48, 38, 36, 38, 17, 36, 64, 69, 51, 46, 44, 45, 44, 46, 46,
+  45, 42, 24, 40, 63, 49, 45, 38, 45, 34, 41, 36, 37, 48, 26, 49,
+  56, 49, 53, 57, 56, 53, 45, 48, 59, 37, 25, 5, 40, 44, 57, 46,
+  48, 53, 44, 41, 36, 29, 8, 40, 73, 65, 65, 67, 65, 61, 61, 56,
+  42, 30, 4, 41, 80, 67, 80, 73, 76, 79, 77, 69, 69, 29, 10, 55,
+  67, 72, 65, 60, 61, 59, 60, 56, 29, 1, 75, 72, 56, 65, 59, 56,
+  55, 59, 57, 64, 48, 28, 10, 72, 67, 73, 72, 71, 73, 81, 91, 68,
+  67, 67, 53, 71, 116, 119, 110, 93, 99, 88, 85, 79, 69, 41, 21, 52,
+  72, 76, 72, 69, 68, 111, 91, 114, 92, 159, 214, 186, 114, 106, 107, 127,
+  138, 163, 174, 183, 186, 189, 181, 166, 148, 140, 147, 148, 150, 153, 162, 163,
+  167, 154, 147, 140, 135, 140, 143, 178, 155, 84, 37, 46, 42, 41, 40, 10,
+  89, 112, 107, 75, 88, 102, 92, 95, 80, 55, 85, 116, 119, 112, 104, 110,
+  104, 104, 115, 108, 102, 76, 20, 80, 84, 85, 91, 93, 93, 77, 63, 65,
+  61, 56, 24, 51, 84, 87, 85, 97, 97, 112, 111, 108, 84, 57, 16, 65,
+  95, 93, 100, 88, 83, 87, 106, 97, 79, 65, 34, 83, 87, 95, 87, 85,
+  91, 87, 85, 72, 68, 52, 73, 85, 87, 85, 83, 83, 79, 72, 67, 61,
+  51, 30, 6, 77, 97, 75, 81, 89, 111, 99, 95, 99, 89, 79, 48, 93,
+  93, 102, 92, 100, 95, 97, 99, 83, 56, 9, 92, 96, 115, 95, 93, 97,
+  110, 97, 95, 93, 103, 79, 57, 87, 126, 136, 138, 130, 124, 131, 138, 116,
+  108, 64, 1, 84, 111, 110, 120, 131, 120, 122, 119, 106, 88, 48, 93, 132,
+  135, 140, 139, 140, 142, 139, 146, 144, 134, 85, 34, 87, 87, 100, 116, 97,
+  115, 100, 99, 84, 97, 83, 99, 108, 131, 130, 111, 114, 128, 130, 120, 126,
+  122, 110, 75, 93, 123, 95, 114, 127, 126, 122, 119, 103, 72, 34, 128, 138,
+  138, 144, 142, 136, 135, 130, 131, 132, 146, 97, 71, 93, 147, 143, 140, 142,
+  138, 138, 134, 115, 111, 71, 21, 97, 123, 116, 115, 122, 115, 123, 110, 110,
+  92, 69, 56, 118, 132, 131, 110, 131, 120, 126, 131, 83, 72, 8, 112, 124,
+  118, 116, 142, 143, 150, 148, 146, 132, 108, 112, 71, 115, 154, 148, 147, 139,
+  138, 118, 120, 123, 115, 87, 55, 100, 116, 115, 119, 122, 122, 119, 108, 102,
+  89, 42, 103, 128, 122, 95, 120, 115, 123, 120, 131, 138, 120, 115, 40, 102,
+  122, 103, 103, 107, 112, 112, 115, 108, 112, 79, 116, 140, 155, 171, 170, 183,
+  130, 122, 148, 161, 139, 106, 95, 99, 100, 110, 130, 167, 199, 214, 216, 226,
+  217, 157, 126, 132, 144, 142, 132, 107, 44, 29, 29, 29, 32, 34, 32, 12,
+  61, 128, 150, 143, 17, 20, 21, 21, 22, 30, 33, 20, 8, 1, 37, 65,
+  55, 56, 55, 56, 60, 49, 34, 30, 25, 13, 51, 49, 56, 46, 63, 51,
+  48, 42, 38, 38, 36, 36, 26, 30, 38, 36, 44, 42, 44, 34, 33, 36,
+  13, 41, 59, 56, 49, 52, 55, 52, 46, 52, 44, 60, 41, 26, 40, 61,
+  59, 60, 51, 53, 44, 42, 41, 49, 36, 29, 55, 60, 56, 63, 51, 52,
+  57, 53, 55, 41, 37, 29, 9, 33, 52, 55, 53, 49, 56, 46, 45, 36,
+  32, 12, 65, 73, 79, 80, 71, 67, 67, 65, 61, 41, 30, 2, 57, 81,
+  69, 76, 77, 77, 85, 76, 72, 63, 41, 12, 59, 73, 77, 63, 64, 63,
+  63, 65, 51, 45, 5, 71, 84, 71, 84, 73, 84, 76, 73, 71, 67, 49,
+  28, 10, 77, 75, 76, 84, 72, 69, 67, 79, 79, 64, 71, 52, 63, 110,
+  112, 107, 107, 95, 91, 91, 84, 76, 44, 21, 60, 75, 77, 77, 84, 104,
+  88, 111, 80, 120, 97, 201, 198, 128, 115, 107, 115, 122, 134, 138, 140, 144,
+  140, 139, 132, 123, 120, 120, 123, 139, 150, 159, 162, 163, 165, 153, 148, 148,
+  146, 136, 144, 174, 95, 37, 41, 44, 44, 33, 10, 85, 122, 107, 92, 92,
+  95, 93, 97, 77, 44, 83, 114, 124, 123, 116, 115, 115, 116, 119, 106, 99,
+  79, 29, 80, 85, 93, 87, 80, 72, 71, 56, 65, 68, 48, 57, 69, 100,
+  108, 96, 100, 96, 108, 92, 85, 84, 52, 16, 73, 97, 103, 93, 96, 95,
+  93, 96, 95, 75, 68, 30, 99, 88, 96, 83, 92, 87, 89, 91, 91, 72,
+  52, 71, 80, 79, 79, 79, 81, 75, 73, 71, 71, 52, 33, 10, 83, 100,
+  97, 73, 100, 80, 80, 92, 91, 87, 77, 51, 88, 103, 103, 95, 92, 95,
+  99, 100, 80, 77, 28, 95, 96, 99, 114, 102, 100, 102, 108, 108, 110, 108,
+  99, 67, 87, 111, 119, 122, 120, 104, 114, 110, 110, 104, 96, 12, 88, 116,
+  115, 116, 119, 115, 111, 106, 108, 102, 75, 69, 120, 131, 131, 131, 128, 132,
+  134, 132, 132, 124, 92, 34, 87, 89, 83, 93, 87, 111, 103, 102, 102, 116,
+  100, 83, 110, 104, 108, 103, 112, 110, 115, 115, 119, 119, 119, 111, 88, 106,
+  110, 97, 111, 115, 108, 120, 114, 79, 28, 103, 138, 131, 134, 135, 134, 130,
+  131, 140, 143, 147, 107, 59, 76, 142, 148, 146, 148, 140, 139, 112, 112, 100,
+  69, 22, 97, 124, 123, 128, 122, 130, 126, 124, 122, 89, 75, 56, 123, 150,
+  134, 107, 110, 130, 128, 142, 91, 61, 8, 83, 130, 118, 136, 135, 123, 120,
+  123, 136, 140, 108, 112, 73, 115, 146, 154, 144, 136, 135, 111, 124, 122, 123,
+  77, 44, 111, 124, 131, 119, 115, 115, 114, 110, 100, 76, 44, 115, 132, 116,
+  132, 134, 132, 135, 131, 130, 135, 138, 115, 33, 104, 102, 99, 103, 114, 107,
+  106, 102, 106, 93, 63, 130, 136, 114, 144, 140, 175, 159, 120, 134, 158, 155,
+  110, 103, 106, 118, 147, 173, 197, 206, 209, 224, 221, 171, 124, 128, 140, 138,
+  127, 99, 42, 30, 30, 28, 29, 33, 37, 30, 45, 95, 128, 147, 155, 10,
+  10, 10, 12, 12, 12, 12, 12, 8, 4, 13, 37, 64, 71, 51, 52, 33,
+  33, 32, 18, 22, 13, 46, 42, 38, 42, 40, 42, 40, 32, 28, 26, 28,
+  26, 30, 38, 40, 33, 32, 33, 33, 30, 36, 25, 13, 52, 57, 63, 46,
+  48, 40, 41, 38, 38, 37, 41, 42, 33, 29, 45, 42, 37, 41, 41, 57,
+  46, 44, 49, 45, 40, 38, 41, 45, 51, 44, 38, 37, 38, 38, 36, 36,
+  28, 4, 32, 52, 48, 46, 45, 44, 45, 45, 49, 30, 13, 46, 60, 57,
+  59, 59, 60, 57, 69, 60, 41, 28, 4, 61, 80, 76, 71, 69, 73, 65,
+  72, 69, 59, 33, 6, 56, 61, 72, 72, 64, 72, 71, 65, 48, 44, 5,
+  64, 72, 69, 69, 68, 68, 67, 65, 64, 64, 46, 26, 9, 72, 73, 79,
+  75, 80, 75, 81, 69, 75, 76, 68, 56, 53, 85, 111, 99, 92, 83, 69,
+  73, 77, 72, 48, 20, 55, 73, 95, 88, 107, 119, 91, 124, 124, 112, 84,
+  124, 183, 139, 107, 106, 114, 119, 120, 115, 127, 124, 127, 120, 116, 112, 114,
+  118, 155, 161, 138, 158, 167, 163, 161, 170, 157, 154, 151, 150, 146, 170, 91,
+  32, 36, 40, 42, 28, 6, 79, 108, 106, 93, 88, 95, 93, 89, 79, 42,
+  83, 99, 115, 114, 107, 106, 103, 103, 100, 92, 89, 79, 24, 40, 71, 73,
+  51, 45, 63, 63, 40, 42, 51, 52, 60, 72, 92, 102, 92, 89, 87, 89,
+  87, 85, 85, 45, 29, 65, 93, 107, 102, 102, 107, 96, 99, 95, 77, 67,
+  33, 87, 84, 89, 84, 80, 79, 68, 65, 83, 80, 75, 75, 60, 63, 63,
+  63, 59, 57, 59, 61, 57, 55, 32, 8, 87, 104, 67, 69, 75, 71, 72,
+  72, 76, 81, 75, 73, 71, 73, 87, 87, 76, 76, 75, 76, 71, 80, 6,
+  96, 96, 99, 93, 95, 97, 102, 99, 100, 95, 102, 100, 93, 71, 71, 83,
+  87, 84, 84, 89, 89, 89, 93, 100, 8, 53, 112, 112, 110, 110, 106, 73,
+  71, 76, 81, 99, 97, 77, 97, 108, 103, 108, 106, 111, 116, 116, 108, 85,
+  36, 77, 73, 84, 92, 87, 89, 95, 100, 65, 63, 67, 110, 112, 116, 119,
+  120, 119, 123, 124, 124, 122, 126, 119, 119, 118, 123, 123, 126, 124, 104, 104,
+  122, 107, 83, 34, 132, 139, 130, 139, 143, 138, 144, 146, 134, 122, 118, 111,
+  67, 64, 136, 128, 143, 104, 104, 104, 91, 97, 91, 69, 25, 96, 119, 115,
+  93, 119, 119, 124, 104, 107, 95, 71, 46, 126, 142, 120, 123, 108, 127, 122,
+  142, 77, 65, 8, 127, 130, 119, 128, 124, 126, 124, 124, 120, 120, 118, 116,
+  83, 85, 116, 136, 131, 118, 107, 115, 114, 110, 122, 120, 44, 110, 126, 124,
+  122, 120, 116, 114, 108, 102, 85, 44, 103, 131, 131, 128, 128, 132, 132, 123,
+  127, 124, 118, 81, 37, 87, 110, 97, 89, 93, 100, 110, 106, 104, 91, 84,
+  110, 120, 118, 128, 148, 132, 178, 128, 127, 157, 158, 157, 154, 155, 171, 190,
+  191, 198, 202, 216, 214, 171, 122, 128, 136, 127, 119, 97, 46, 30, 30, 26,
+  32, 32, 34, 30, 28, 40, 49, 120, 124, 127, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 4, 9, 8, 10, 12, 13, 13, 20, 14, 17, 20, 20, 13,
+  16, 13, 14, 14, 12, 12, 13, 10, 12, 9, 12, 10, 16, 12, 16, 14,
+  26, 34, 40, 38, 29, 18, 13, 41, 45, 48, 40, 37, 32, 40, 37, 32,
+  41, 38, 36, 33, 37, 41, 51, 40, 41, 40, 40, 40, 41, 38, 38, 38,
+  38, 37, 22, 24, 17, 12, 12, 12, 10, 10, 9, 12, 5, 12, 12, 14,
+  16, 17, 20, 37, 42, 37, 29, 17, 4, 37, 52, 26, 33, 40, 53, 28,
+  38, 38, 22, 4, 29, 41, 33, 33, 41, 41, 34, 34, 42, 42, 17, 6,
+  32, 41, 30, 41, 37, 37, 28, 44, 36, 20, 6, 17, 41, 41, 40, 40,
+  44, 45, 42, 44, 45, 44, 24, 8, 53, 77, 73, 57, 56, 68, 69, 51,
+  56, 63, 71, 61, 65, 68, 64, 59, 67, 63, 64, 57, 56, 55, 44, 21,
+  56, 85, 87, 76, 73, 88, 89, 85, 93, 116, 119, 153, 185, 177, 119, 111,
+  103, 115, 106, 61, 52, 52, 53, 52, 49, 52, 51, 91, 112, 170, 131, 135,
+  163, 165, 167, 163, 161, 167, 154, 155, 147, 169, 100, 36, 33, 38, 28, 36,
+  14, 37, 61, 85, 110, 107, 102, 112, 80, 72, 45, 76, 85, 104, 104, 97,
+  80, 73, 69, 65, 65, 51, 40, 52, 59, 49, 53, 51, 51, 44, 45, 44,
+  44, 36, 38, 37, 46, 80, 79, 87, 91, 87, 99, 81, 91, 77, 29, 26,
+  60, 89, 84, 76, 85, 88, 83, 80, 83, 79, 67, 36, 88, 85, 72, 80,
+  80, 79, 79, 81, 76, 73, 72, 69, 75, 73, 71, 72, 71, 68, 65, 65,
+  64, 60, 57, 8, 57, 67, 61, 63, 67, 68, 67, 69, 73, 73, 72, 68,
+  75, 72, 73, 72, 69, 68, 68, 71, 63, 56, 6, 65, 76, 69, 75, 75,
+  80, 83, 81, 84, 87, 89, 89, 76, 88, 96, 89, 79, 99, 96, 84, 68,
+  100, 85, 65, 26, 64, 55, 45, 46, 49, 38, 44, 46, 41, 42, 46, 42,
+  63, 75, 64, 60, 87, 96, 87, 69, 95, 96, 59, 41, 68, 34, 37, 36,
+  34, 29, 30, 32, 32, 25, 24, 33, 24, 22, 22, 28, 26, 26, 29, 33,
+  34, 34, 37, 41, 46, 52, 57, 60, 69, 120, 118, 124, 107, 76, 32, 116,
+  139, 127, 134, 139, 134, 131, 123, 122, 112, 112, 95, 92, 60, 88, 85, 95,
+  102, 95, 72, 68, 60, 55, 72, 28, 57, 49, 48, 67, 68, 79, 100, 79,
+  73, 75, 63, 63, 92, 111, 115, 111, 110, 114, 104, 104, 79, 60, 8, 127,
+  127, 131, 131, 130, 131, 131, 131, 132, 131, 130, 127, 124, 126, 124, 123, 128,
+  126, 127, 124, 124, 122, 122, 110, 40, 102, 104, 119, 114, 115, 107, 87, 103,
+  112, 80, 44, 44, 42, 51, 55, 46, 48, 46, 61, 79, 76, 73, 71, 33,
+  79, 59, 57, 63, 64, 59, 55, 63, 53, 44, 93, 80, 26, 97, 97, 104,
+  116, 169, 146, 124, 138, 162, 162, 170, 177, 183, 189, 198, 202, 210, 206, 174,
+  126, 128, 127, 118, 110, 81, 45, 34, 29, 29, 34, 32, 26, 32, 18, 20,
+  26, 26, 42, 46, 46, 48, 46, 51, 51, 53, 48, 55, 48, 4, 1, 24,
+  49, 48, 36, 41, 37, 18, 16, 17, 14, 16, 13, 8, 14, 30, 38, 52,
+  53, 65, 64, 77, 81, 65, 49, 68, 73, 68, 57, 29, 18, 17, 13, 25,
+  22, 13, 24, 26, 21, 22, 17, 18, 12, 14, 13, 13, 13, 13, 9, 9,
+  8, 9, 6, 8, 8, 8, 6, 8, 8, 8, 6, 9, 17, 45, 59, 67,
+  65, 69, 68, 69, 61, 61, 30, 5, 72, 99, 97, 80, 46, 44, 38, 22,
+  22, 30, 24, 5, 1, 10, 8, 10, 1, 8, 5, 1, 1, 6, 5, 0,
+  0, 8, 1, 1, 1, 2, 1, 1, 4, 6, 8, 1, 1, 4, 13, 1,
+  0, 4, 1, 2, 0, 0, 4, 0, 0, 0, 1, 1, 1, 1, 1, 1,
+  2, 14, 5, 20, 16, 21, 20, 22, 28, 34, 51, 51, 55, 64, 45, 45,
+  37, 41, 37, 34, 34, 29, 26, 40, 33, 36, 22, 55, 59, 57, 67, 79,
+  80, 75, 104, 88, 122, 144, 157, 205, 201, 158, 116, 107, 108, 107, 37, 36,
+  36, 45, 41, 38, 44, 44, 64, 104, 161, 169, 134, 131, 159, 162, 166, 166,
+  171, 153, 153, 166, 159, 96, 32, 30, 32, 21, 6, 25, 34, 36, 42, 32,
+  32, 45, 48, 57, 79, 45, 69, 80, 75, 56, 53, 56, 55, 36, 37, 38,
+  28, 20, 12, 13, 13, 9, 8, 8, 6, 6, 5, 5, 4, 4, 2, 1,
+  1, 1, 0, 0, 0, 6, 8, 12, 10, 14, 16, 22, 26, 34, 33, 37,
+  48, 45, 60, 76, 81, 64, 37, 77, 65, 65, 53, 44, 44, 38, 33, 29,
+  30, 22, 16, 14, 21, 10, 9, 8, 24, 6, 5, 5, 26, 4, 2, 1,
+  4, 2, 1, 1, 4, 4, 4, 6, 9, 6, 9, 13, 14, 4, 8, 22,
+  25, 5, 10, 34, 36, 29, 8, 26, 25, 5, 4, 20, 4, 4, 14, 16,
+  1, 1, 0, 10, 2, 0, 8, 10, 0, 0, 0, 9, 0, 0, 24, 30,
+  37, 68, 102, 80, 91, 112, 124, 116, 99, 72, 48, 84, 123, 120, 103, 110,
+  48, 38, 37, 33, 34, 30, 25, 20, 57, 64, 57, 64, 77, 79, 73, 80,
+  95, 76, 8, 29, 126, 147, 103, 112, 130, 144, 114, 119, 122, 116, 115, 119,
+  135, 135, 120, 79, 60, 72, 75, 106, 77, 33, 83, 88, 88, 85, 92, 91,
+  91, 93, 95, 93, 104, 92, 89, 72, 45, 37, 46, 65, 36, 41, 88, 120,
+  130, 108, 30, 96, 124, 128, 83, 67, 56, 72, 45, 51, 42, 96, 75, 65,
+  59, 56, 60, 59, 63, 68, 76, 68, 60, 38, 48, 88, 93, 97, 93, 100,
+  100, 103, 99, 115, 115, 103, 102, 108, 115, 107, 106, 122, 114, 102, 102, 119,
+  107, 46, 55, 100, 96, 97, 81, 85, 93, 96, 111, 111, 114, 46, 114, 154,
+  151, 130, 144, 140, 139, 99, 87, 84, 51, 37, 20, 45, 69, 92, 87, 92,
+  95, 104, 96, 107, 108, 41, 75, 138, 178, 128, 130, 136, 116, 189, 162, 148,
+  155, 130, 132, 136, 153, 157, 165, 162, 163, 148, 135, 136, 116, 88, 77, 56,
+  36, 32, 30, 29, 33, 38, 45, 52, 59, 65, 72, 6, 64, 159, 157, 151,
+  80, 77, 72, 71, 52, 60, 51, 56, 14, 4, 22, 26, 25, 29, 40, 37,
+  38, 40, 33, 33, 13, 5, 40, 93, 103, 87, 89, 88, 87, 76, 72, 57,
+  73, 79, 79, 81, 71, 85, 83, 75, 64, 53, 25, 26, 12, 16, 21, 30,
+  36, 48, 53, 75, 61, 69, 52, 37, 33, 44, 85, 89, 84, 76, 96, 85,
+  63, 93, 79, 81, 73, 80, 76, 85, 99, 80, 77, 63, 73, 77, 64, 73,
+  63, 33, 8, 72, 96, 93, 87, 96, 96, 75, 84, 48, 32, 24, 37, 53,
+  52, 53, 44, 40, 26, 40, 29, 9, 10, 2, 22, 106, 100, 71, 75, 96,
+  95, 75, 75, 72, 26, 2, 18, 67, 81, 53, 56, 55, 52, 61, 53, 28,
+  12, 45, 60, 61, 48, 45, 48, 48, 45, 44, 36, 32, 4, 6, 87, 104,
+  102, 85, 102, 75, 34, 25, 22, 21, 18, 20, 24, 40, 59, 63, 68, 71,
+  75, 83, 81, 79, 61, 22, 93, 99, 100, 85, 118, 93, 99, 88, 97, 139,
+  154, 210, 213, 201, 185, 126, 111, 106, 116, 36, 34, 37, 36, 38, 32, 33,
+  49, 61, 102, 181, 185, 126, 134, 120, 136, 142, 139, 135, 163, 159, 147, 107,
+  79, 30, 29, 25, 30, 33, 34, 87, 99, 83, 83, 60, 49, 49, 46, 63,
+  33, 30, 38, 55, 57, 60, 52, 55, 53, 76, 72, 73, 77, 120, 120, 130,
+  119, 128, 122, 118, 130, 127, 122, 122, 112, 114, 115, 119, 128, 116, 119, 110,
+  87, 91, 84, 73, 30, 14, 91, 132, 140, 103, 99, 84, 77, 65, 71, 49,
+  56, 40, 46, 61, 63, 65, 52, 61, 68, 91, 61, 55, 61, 102, 135, 139,
+  116, 103, 127, 128, 111, 106, 127, 119, 28, 6, 65, 143, 103, 108, 107, 114,
+  112, 120, 128, 130, 126, 120, 127, 131, 147, 131, 131, 131, 134, 130, 127, 42,
+  14, 37, 120, 150, 115, 120, 124, 126, 126, 132, 136, 138, 136, 131, 142, 155,
+  148, 147, 147, 144, 140, 120, 139, 135, 55, 4, 81, 116, 143, 148, 146, 143,
+  144, 142, 144, 130, 95, 45, 92, 136, 132, 132, 130, 130, 131, 122, 118, 110,
+  60, 48, 118, 139, 140, 140, 140, 135, 102, 112, 128, 96, 88, 8, 135, 136,
+  130, 136, 135, 136, 135, 142, 135, 138, 130, 130, 84, 128, 146, 135, 112, 135,
+  131, 122, 115, 93, 37, 32, 28, 25, 25, 25, 22, 24, 22, 20, 22, 21,
+  25, 24, 34, 114, 134, 126, 122, 136, 123, 114, 138, 147, 114, 32, 112, 143,
+  128, 123, 114, 118, 104, 118, 128, 104, 68, 48, 118, 131, 130, 126, 118, 102,
+  69, 55, 52, 49, 25, 0, 0, 25, 16, 0, 0, 18, 10, 0, 0, 12,
+  8, 1, 6, 8, 8, 5, 21, 8, 9, 12, 33, 13, 16, 53, 104, 116,
+  153, 161, 165, 165, 166, 163, 114, 132, 46, 127, 162, 154, 155, 159, 155, 143,
+  151, 155, 136, 118, 83, 22, 114, 157, 170, 173, 167, 171, 166, 159, 116, 123,
+  37, 181, 185, 179, 177, 171, 183, 179, 175, 107, 118, 100, 115, 112, 122, 142,
+  142, 140, 136, 139, 138, 126, 103, 84, 55, 41, 38, 40, 34, 46, 38, 48,
+  57, 60, 81, 92, 83, 80, 40, 142, 165, 186, 186, 24, 36, 36, 60, 53,
+  60, 46, 57, 18, 4, 32, 30, 44, 22, 36, 38, 22, 42, 44, 32, 14,
+  4, 84, 84, 73, 46, 49, 44, 44, 37, 48, 40, 57, 44, 59, 56, 84,
+  84, 76, 80, 71, 72, 38, 30, 12, 53, 77, 75, 79, 73, 80, 76, 87,
+  102, 64, 56, 57, 42, 63, 99, 88, 68, 73, 89, 99, 103, 99, 83, 81,
+  84, 67, 68, 77, 77, 71, 72, 63, 60, 59, 61, 65, 38, 5, 83, 97,
+  91, 93, 87, 87, 85, 91, 71, 48, 24, 44, 56, 52, 60, 51, 52, 56,
+  67, 57, 25, 4, 12, 81, 103, 91, 85, 85, 87, 92, 92, 89, 85, 32,
+  0, 89, 96, 100, 95, 88, 84, 88, 81, 76, 52, 13, 69, 61, 57, 46,
+  51, 40, 41, 30, 29, 30, 36, 2, 5, 87, 103, 106, 103, 100, 95, 92,
+  99, 91, 87, 73, 81, 65, 79, 97, 91, 96, 93, 107, 110, 103, 93, 61,
+  24, 102, 116, 108, 123, 97, 111, 95, 97, 124, 155, 208, 209, 205, 208, 178,
+  118, 110, 114, 116, 41, 34, 30, 40, 38, 34, 53, 46, 69, 97, 193, 194,
+  131, 128, 135, 130, 104, 112, 110, 95, 89, 97, 87, 63, 26, 28, 25, 37,
+  30, 61, 110, 104, 106, 95, 97, 99, 89, 92, 60, 38, 56, 124, 131, 122,
+  119, 120, 128, 111, 126, 81, 114, 99, 89, 111, 108, 120, 115, 103, 112, 116,
+  103, 106, 111, 103, 107, 102, 76, 75, 92, 81, 75, 81, 79, 81, 73, 32,
+  13, 107, 150, 136, 130, 142, 140, 115, 130, 138, 102, 83, 41, 80, 130, 135,
+  135, 132, 127, 134, 135, 131, 144, 128, 95, 93, 99, 103, 102, 107, 112, 106,
+  118, 112, 124, 73, 9, 143, 138, 91, 107, 130, 127, 135, 110, 130, 139, 135,
+  123, 92, 100, 107, 102, 97, 107, 107, 103, 97, 49, 0, 131, 162, 153, 161,
+  154, 162, 158, 159, 154, 155, 158, 153, 127, 95, 123, 128, 130, 131, 132, 131,
+  123, 123, 122, 56, 32, 106, 134, 143, 131, 128, 135, 132, 132, 132, 139, 99,
+  57, 108, 138, 128, 132, 128, 138, 127, 114, 122, 114, 67, 41, 123, 131, 124,
+  142, 122, 138, 142, 136, 123, 95, 89, 13, 130, 134, 118, 118, 118, 135, 136,
+  138, 134, 138, 108, 73, 115, 147, 142, 135, 135, 136, 136, 132, 92, 103, 42,
+  48, 143, 153, 124, 118, 138, 147, 134, 134, 144, 131, 128, 120, 130, 132, 159,
+  161, 157, 155, 146, 128, 142, 144, 128, 36, 118, 143, 135, 130, 126, 123, 120,
+  106, 110, 83, 55, 88, 167, 171, 179, 165, 171, 163, 157, 148, 122, 71, 32,
+  95, 140, 143, 123, 138, 132, 138, 111, 130, 134, 120, 106, 102, 153, 158, 157,
+  151, 169, 169, 144, 151, 177, 157, 67, 59, 131, 165, 167, 166, 161, 161, 153,
+  161, 124, 122, 49, 128, 163, 147, 154, 155, 159, 159, 157, 157, 155, 146, 107,
+  24, 136, 170, 173, 169, 169, 169, 166, 157, 118, 104, 32, 190, 179, 167, 177,
+  185, 147, 194, 191, 159, 110, 92, 85, 84, 87, 89, 92, 92, 87, 85, 84,
+  69, 56, 48, 42, 40, 36, 42, 45, 46, 55, 63, 76, 80, 91, 89, 92,
+  89, 17, 146, 171, 177, 178, 16, 20, 30, 45, 53, 46, 45, 51, 9, 1,
+  25, 28, 36, 33, 28, 28, 38, 33, 40, 26, 12, 4, 84, 77, 44, 33,
+  45, 44, 67, 52, 33, 36, 48, 37, 56, 72, 48, 68, 71, 69, 71, 68,
+  69, 29, 13, 68, 80, 81, 61, 57, 52, 48, 44, 40, 34, 52, 51, 40,
+  96, 99, 88, 77, 85, 83, 80, 69, 85, 67, 63, 49, 84, 84, 64, 59,
+  56, 61, 61, 63, 52, 60, 53, 36, 5, 76, 87, 81, 93, 87, 85, 77,
+  80, 65, 48, 25, 51, 42, 64, 72, 71, 77, 83, 73, 53, 25, 5, 1,
+  108, 100, 76, 79, 80, 76, 76, 71, 77, 75, 32, 10, 95, 72, 77, 79,
+  83, 89, 88, 89, 71, 63, 17, 63, 52, 44, 37, 24, 16, 36, 25, 17,
+  29, 37, 2, 4, 83, 102, 91, 87, 79, 85, 96, 97, 89, 87, 60, 48,
+  95, 112, 108, 102, 96, 102, 99, 104, 103, 91, 67, 25, 99, 107, 119, 111,
+  135, 116, 96, 106, 130, 183, 210, 209, 206, 202, 146, 115, 112, 111, 106, 32,
+  30, 32, 36, 26, 42, 53, 44, 67, 99, 205, 201, 183, 128, 132, 154, 142,
+  140, 140, 135, 136, 118, 107, 61, 28, 26, 28, 37, 28, 65, 111, 97, 110,
+  103, 100, 96, 100, 88, 67, 36, 97, 115, 111, 116, 116, 112, 106, 103, 93,
+  120, 104, 80, 107, 127, 127, 120, 110, 112, 96, 102, 99, 112, 100, 93, 63,
+  91, 91, 77, 79, 79, 79, 87, 87, 89, 68, 38, 12, 99, 154, 139, 140,
+  132, 132, 142, 140, 144, 144, 93, 44, 108, 140, 143, 138, 144, 134, 139, 135,
+  127, 127, 93, 103, 132, 130, 127, 122, 115, 119, 126, 127, 120, 120, 89, 14,
+  140, 89, 143, 138, 103, 106, 136, 124, 114, 115, 124, 75, 100, 131, 136, 139,
+  132, 128, 131, 116, 115, 52, 24, 136, 162, 154, 143, 144, 150, 154, 153, 155,
+  151, 153, 131, 102, 143, 144, 143, 139, 139, 139, 130, 130, 130, 115, 73, 6,
+  99, 139, 138, 128, 131, 132, 142, 142, 138, 140, 97, 56, 111, 130, 122, 131,
+  118, 124, 116, 119, 131, 114, 63, 38, 116, 127, 126, 136, 132, 144, 142, 138,
+  124, 104, 84, 10, 85, 130, 120, 119, 119, 116, 131, 120, 134, 118, 99, 72,
+  116, 147, 143, 139, 136, 140, 138, 134, 106, 110, 42, 91, 154, 150, 148, 150,
+  153, 148, 150, 148, 139, 135, 134, 87, 132, 162, 154, 148, 153, 150, 148, 151,
+  143, 153, 123, 40, 114, 122, 147, 123, 115, 122, 110, 110, 100, 76, 52, 110,
+  171, 177, 169, 171, 167, 177, 171, 165, 138, 103, 42, 93, 103, 89, 124, 151,
+  162, 95, 91, 134, 108, 89, 112, 140, 123, 158, 167, 177, 167, 162, 162, 165,
+  170, 159, 102, 83, 135, 163, 157, 159, 159, 154, 150, 158, 120, 120, 49, 130,
+  159, 161, 151, 155, 159, 150, 154, 155, 155, 147, 107, 18, 143, 173, 167, 161,
+  148, 163, 162, 153, 120, 102, 25, 154, 182, 165, 183, 187, 178, 178, 126, 165,
+  155, 139, 93, 106, 71, 68, 69, 64, 64, 60, 57, 55, 51, 46, 41, 42,
+  49, 52, 63, 64, 73, 73, 79, 92, 96, 93, 91, 89, 10, 150, 170, 175,
+  166, 72, 61, 55, 18, 22, 49, 40, 52, 9, 1, 28, 33, 38, 55, 33,
+  29, 25, 30, 34, 17, 6, 4, 59, 84, 37, 41, 28, 49, 33, 51, 33,
+  40, 56, 45, 56, 64, 49, 44, 63, 80, 73, 56, 68, 33, 12, 61, 80,
+  53, 55, 48, 44, 44, 37, 34, 44, 37, 21, 14, 97, 96, 84, 88, 75,
+  81, 76, 75, 89, 60, 64, 45, 77, 77, 61, 63, 63, 56, 73, 75, 63,
+  56, 68, 33, 5, 71, 88, 83, 87, 80, 72, 67, 95, 85, 49, 34, 30,
+  51, 52, 71, 63, 45, 55, 63, 49, 0, 4, 1, 69, 99, 73, 80, 76,
+  83, 75, 83, 81, 81, 34, 1, 61, 87, 89, 69, 67, 72, 73, 103, 84,
+  41, 20, 28, 49, 49, 36, 21, 26, 14, 21, 18, 18, 26, 1, 4, 76,
+  97, 102, 80, 73, 77, 80, 79, 75, 60, 63, 52, 110, 111, 102, 122, 95,
+  102, 99, 102, 103, 95, 72, 29, 102, 108, 106, 84, 81, 99, 91, 116, 157,
+  212, 212, 209, 199, 150, 119, 108, 110, 122, 64, 30, 29, 30, 33, 44, 46,
+  56, 55, 81, 104, 208, 210, 195, 128, 132, 135, 153, 157, 158, 157, 151, 142,
+  124, 69, 26, 28, 24, 34, 24, 53, 106, 99, 104, 103, 115, 111, 100, 92,
+  73, 37, 100, 111, 111, 107, 112, 118, 104, 103, 97, 104, 100, 71, 104, 126,
+  104, 103, 118, 106, 106, 100, 99, 103, 107, 92, 59, 89, 106, 102, 95, 83,
+  73, 92, 72, 76, 65, 37, 12, 120, 143, 131, 134, 139, 140, 139, 139, 136,
+  126, 102, 51, 118, 140, 131, 130, 128, 128, 127, 128, 123, 100, 83, 112, 132,
+  119, 122, 124, 126, 123, 124, 123, 123, 127, 64, 13, 73, 134, 99, 130, 132,
+  127, 131, 135, 134, 127, 107, 71, 102, 131, 127, 120, 114, 120, 122, 128, 120,
+  49, 18, 106, 161, 151, 161, 153, 148, 153, 157, 155, 158, 143, 127, 104, 144,
+  150, 135, 139, 140, 136, 140, 142, 134, 106, 71, 4, 93, 136, 135, 124, 128,
+  131, 136, 131, 134, 130, 99, 68, 96, 140, 123, 116, 127, 119, 130, 124, 119,
+  103, 63, 37, 89, 120, 122, 123, 126, 134, 135, 140, 123, 102, 87, 0, 83,
+  135, 115, 123, 120, 119, 127, 119, 134, 111, 89, 55, 120, 146, 143, 143, 127,
+  132, 134, 140, 131, 122, 45, 127, 161, 150, 135, 143, 143, 144, 142, 148, 147,
+  134, 107, 84, 134, 162, 151, 153, 151, 150, 144, 143, 143, 148, 119, 51, 111,
+  128, 123, 124, 116, 111, 112, 108, 99, 75, 48, 91, 166, 174, 167, 171, 171,
+  170, 169, 178, 143, 110, 38, 93, 95, 146, 116, 126, 167, 108, 138, 143, 104,
+  130, 140, 96, 143, 175, 173, 171, 166, 173, 171, 171, 170, 159, 122, 63, 147,
+  162, 162, 153, 150, 148, 136, 161, 124, 124, 64, 130, 163, 167, 155, 143, 144,
+  151, 148, 146, 157, 122, 87, 16, 146, 169, 157, 157, 143, 154, 134, 127, 123,
+  112, 30, 166, 181, 179, 170, 174, 146, 182, 140, 140, 158, 151, 131, 99, 71,
+  67, 64, 63, 57, 53, 49, 49, 46, 45, 41, 55, 63, 69, 72, 84, 123,
+  79, 92, 96, 106, 99, 104, 91, 5, 151, 170, 171, 178, 13, 18, 18, 46,
+  24, 20, 37, 38, 13, 2, 25, 20, 34, 33, 29, 33, 30, 42, 29, 18,
+  17, 4, 64, 73, 52, 29, 48, 34, 34, 30, 36, 46, 44, 37, 60, 69,
+  67, 49, 65, 83, 67, 55, 79, 33, 14, 51, 75, 46, 48, 42, 36, 57,
+  52, 49, 46, 36, 28, 13, 99, 95, 88, 79, 73, 83, 64, 65, 69, 53,
+  56, 42, 80, 79, 63, 67, 64, 69, 52, 61, 72, 56, 59, 34, 6, 73,
+  85, 72, 104, 88, 71, 76, 87, 77, 55, 34, 46, 41, 48, 36, 20, 33,
+  34, 26, 38, 6, 4, 1, 68, 95, 71, 79, 81, 80, 81, 85, 83, 77,
+  33, 1, 68, 81, 80, 76, 69, 67, 68, 83, 77, 44, 20, 57, 67, 26,
+  30, 14, 34, 16, 17, 30, 26, 25, 2, 2, 84, 100, 95, 77, 81, 85,
+  88, 84, 72, 64, 42, 48, 107, 115, 100, 108, 89, 103, 112, 111, 102, 88,
+  68, 36, 88, 99, 107, 89, 81, 93, 81, 114, 193, 208, 209, 204, 157, 124,
+  107, 112, 119, 72, 45, 28, 30, 32, 33, 44, 48, 56, 56, 76, 102, 214,
+  213, 202, 128, 128, 136, 139, 147, 153, 155, 157, 148, 128, 69, 25, 25, 21,
+  37, 21, 59, 107, 96, 102, 100, 112, 112, 99, 104, 64, 38, 89, 111, 118,
+  127, 127, 130, 104, 97, 92, 104, 88, 67, 99, 124, 111, 110, 102, 112, 112,
+  111, 97, 115, 106, 87, 57, 97, 97, 92, 79, 75, 67, 71, 69, 75, 61,
+  32, 9, 119, 146, 146, 130, 148, 136, 132, 135, 130, 132, 100, 61, 104, 139,
+  126, 124, 120, 136, 122, 108, 119, 104, 73, 112, 136, 122, 122, 122, 120, 126,
+  120, 120, 124, 128, 65, 12, 93, 132, 136, 102, 103, 130, 123, 120, 122, 124,
+  108, 65, 96, 143, 134, 111, 128, 139, 128, 116, 115, 46, 0, 128, 155, 158,
+  157, 150, 153, 142, 147, 147, 147, 144, 118, 97, 143, 143, 131, 135, 139, 142,
+  139, 139, 124, 123, 71, 6, 110, 134, 131, 132, 127, 130, 123, 135, 135, 131,
+  107, 65, 103, 134, 119, 119, 128, 128, 127, 130, 126, 104, 71, 32, 107, 124,
+  119, 146, 132, 142, 140, 126, 123, 110, 79, 5, 124, 120, 115, 120, 115, 112,
+  122, 115, 138, 115, 87, 59, 116, 144, 148, 142, 144, 136, 131, 131, 130, 112,
+  55, 97, 157, 159, 148, 147, 140, 130, 134, 134, 135, 97, 87, 59, 130, 157,
+  146, 144, 139, 132, 140, 143, 150, 146, 116, 57, 103, 140, 123, 116, 122, 131,
+  122, 126, 95, 85, 42, 96, 175, 175, 165, 174, 171, 167, 166, 174, 132, 110,
+  38, 87, 96, 103, 136, 135, 123, 135, 143, 124, 130, 144, 140, 36, 136, 173,
+  167, 173, 177, 167, 177, 178, 177, 166, 111, 68, 139, 161, 140, 139, 147, 146,
+  155, 143, 161, 136, 65, 131, 159, 163, 153, 154, 158, 154, 146, 153, 148, 144,
+  114, 13, 132, 173, 158, 161, 143, 148, 138, 122, 124, 123, 26, 182, 186, 177,
+  175, 148, 143, 157, 167, 144, 134, 155, 148, 130, 69, 104, 97, 96, 99, 99,
+  95, 91, 99, 100, 84, 52, 61, 77, 89, 127, 127, 127, 107, 110, 111, 108,
+  103, 95, 57, 158, 169, 173, 163, 75, 75, 40, 41, 48, 40, 37, 59, 17,
+  2, 13, 30, 36, 25, 45, 26, 29, 24, 30, 17, 8, 2, 64, 79, 46,
+  51, 49, 37, 46, 45, 38, 45, 38, 33, 53, 60, 60, 38, 65, 72, 64,
+  52, 76, 33, 16, 53, 75, 53, 56, 32, 37, 55, 42, 40, 40, 37, 41,
+  30, 103, 104, 73, 87, 57, 73, 67, 69, 65, 61, 60, 44, 79, 72, 64,
+  67, 73, 56, 65, 69, 69, 53, 59, 36, 5, 69, 80, 87, 80, 91, 68,
+  73, 97, 71, 55, 29, 51, 60, 38, 46, 52, 46, 45, 32, 21, 14, 4,
+  9, 75, 96, 85, 83, 85, 91, 93, 85, 88, 75, 33, 0, 79, 83, 64,
+  77, 76, 67, 69, 72, 67, 55, 25, 52, 60, 44, 26, 18, 32, 10, 18,
+  20, 18, 24, 1, 2, 89, 99, 96, 87, 85, 80, 89, 95, 77, 63, 46,
+  61, 115, 108, 106, 96, 85, 103, 104, 95, 91, 89, 67, 37, 91, 103, 110,
+  93, 104, 79, 75, 111, 199, 210, 205, 165, 124, 104, 126, 64, 61, 44, 29,
+  29, 28, 34, 32, 37, 46, 51, 60, 87, 127, 213, 213, 205, 126, 126, 134,
+  136, 139, 143, 153, 157, 148, 126, 60, 24, 22, 21, 29, 26, 64, 106, 96,
+  100, 100, 115, 103, 106, 84, 73, 49, 89, 120, 111, 123, 115, 114, 119, 111,
+  91, 102, 88, 64, 103, 124, 120, 96, 122, 103, 106, 97, 114, 108, 102, 77,
+  61, 81, 96, 85, 76, 68, 65, 71, 69, 79, 56, 33, 8, 120, 146, 130,
+  130, 139, 148, 139, 130, 142, 135, 104, 63, 96, 140, 130, 122, 138, 128, 115,
+  120, 107, 92, 65, 112, 139, 122, 128, 132, 130, 134, 136, 127, 122, 124, 75,
+  21, 96, 128, 134, 106, 126, 131, 128, 123, 127, 120, 107, 61, 95, 132, 130,
+  123, 120, 119, 120, 116, 118, 51, 0, 120, 155, 157, 158, 154, 155, 151, 150,
+  148, 147, 142, 81, 110, 146, 138, 131, 140, 146, 139, 130, 120, 119, 118, 67,
+  40, 122, 135, 132, 130, 127, 135, 128, 138, 136, 135, 110, 77, 108, 140, 118,
+  112, 126, 130, 130, 119, 116, 104, 71, 29, 103, 118, 134, 139, 131, 139, 128,
+  126, 124, 110, 84, 22, 116, 118, 107, 112, 107, 112, 136, 111, 127, 114, 84,
+  56, 108, 146, 144, 143, 146, 142, 123, 130, 123, 114, 60, 91, 155, 147, 148,
+  130, 135, 142, 154, 134, 135, 102, 92, 95, 132, 155, 147, 142, 140, 150, 144,
+  148, 150, 146, 128, 60, 111, 130, 124, 114, 107, 122, 112, 128, 104, 79, 46,
+  112, 174, 174, 167, 175, 169, 169, 173, 174, 146, 110, 40, 97, 92, 102, 131,
+  118, 130, 157, 115, 126, 110, 139, 99, 29, 144, 173, 174, 178, 177, 171, 169,
+  171, 169, 163, 115, 75, 134, 163, 139, 130, 147, 134, 155, 158, 143, 139, 67,
+  124, 165, 159, 154, 157, 143, 150, 146, 135, 146, 144, 111, 13, 140, 170, 166,
+  161, 142, 134, 124, 123, 124, 110, 32, 186, 181, 178, 151, 173, 174, 132, 167,
+  138, 158, 155, 154, 130, 71, 110, 114, 123, 120, 114, 114, 111, 119, 106, 83,
+  55, 67, 76, 123, 114, 127, 124, 116, 116, 110, 112, 111, 103, 14, 155, 170,
+  169, 155, 30, 53, 57, 51, 45, 36, 38, 37, 12, 0, 25, 25, 30, 32,
+  22, 21, 25, 25, 26, 17, 8, 2, 56, 67, 37, 34, 37, 37, 44, 42,
+  40, 28, 38, 26, 57, 59, 57, 33, 60, 51, 49, 51, 59, 32, 17, 33,
+  67, 52, 61, 41, 44, 53, 56, 57, 52, 34, 42, 29, 103, 88, 80, 91,
+  65, 83, 64, 69, 63, 65, 59, 46, 76, 72, 65, 55, 60, 53, 71, 59,
+  65, 53, 49, 34, 5, 75, 69, 68, 81, 80, 71, 72, 80, 71, 56, 29,
+  41, 34, 42, 30, 25, 26, 40, 40, 9, 4, 4, 2, 73, 96, 73, 79,
+  95, 93, 79, 84, 89, 75, 34, 12, 83, 80, 65, 79, 73, 64, 71, 69,
+  72, 64, 29, 57, 53, 64, 28, 21, 44, 16, 16, 17, 30, 22, 1, 1,
+  88, 88, 99, 87, 83, 69, 87, 95, 79, 67, 45, 71, 119, 106, 95, 92,
+  91, 107, 96, 88, 80, 81, 73, 38, 85, 103, 102, 102, 77, 77, 87, 106,
+  194, 204, 175, 126, 107, 111, 63, 42, 30, 28, 26, 28, 28, 32, 28, 38,
+  49, 53, 75, 93, 175, 216, 214, 208, 126, 126, 134, 138, 138, 143, 153, 154,
+  146, 120, 38, 24, 22, 13, 29, 25, 64, 104, 93, 102, 102, 110, 103, 104,
+  85, 67, 42, 95, 110, 115, 114, 107, 100, 100, 100, 97, 95, 75, 59, 100,
+  122, 123, 104, 108, 97, 111, 111, 114, 106, 96, 79, 56, 87, 95, 85, 84,
+  87, 88, 85, 80, 80, 48, 33, 8, 95, 146, 131, 130, 118, 142, 148, 136,
+  134, 134, 104, 69, 97, 136, 124, 132, 127, 136, 114, 116, 108, 88, 68, 123,
+  140, 127, 126, 136, 131, 134, 127, 126, 122, 116, 91, 25, 112, 127, 131, 110,
+  124, 130, 126, 126, 122, 120, 102, 55, 89, 135, 130, 135, 120, 124, 131, 122,
+  115, 52, 14, 123, 157, 163, 138, 135, 153, 150, 148, 140, 143, 138, 71, 106,
+  148, 139, 136, 139, 150, 146, 134, 127, 111, 110, 76, 9, 107, 136, 128, 126,
+  124, 134, 134, 136, 135, 138, 114, 68, 100, 135, 123, 136, 107, 104, 122, 124,
+  119, 103, 65, 25, 104, 112, 112, 143, 131, 127, 127, 124, 126, 111, 83, 22,
+  77, 110, 108, 104, 110, 110, 140, 108, 123, 111, 83, 46, 114, 142, 154, 144,
+  151, 146, 136, 126, 122, 107, 61, 97, 153, 146, 146, 118, 138, 136, 143, 136,
+  115, 106, 91, 84, 136, 153, 136, 144, 144, 130, 127, 136, 131, 134, 126, 60,
+  108, 127, 127, 114, 118, 111, 116, 111, 110, 73, 45, 119, 166, 174, 163, 167,
+  171, 167, 170, 174, 127, 106, 46, 96, 92, 106, 128, 120, 115, 130, 118, 122,
+  119, 95, 123, 59, 144, 173, 177, 182, 167, 171, 175, 175, 173, 161, 118, 79,
+  132, 159, 155, 147, 147, 144, 143, 144, 123, 131, 71, 106, 108, 159, 143, 153,
+  155, 154, 148, 150, 146, 143, 108, 9, 140, 169, 165, 158, 147, 139, 161, 118,
+  134, 111, 28, 134, 182, 169, 162, 161, 155, 150, 150, 169, 147, 159, 158, 124,
+  67, 108, 122, 128, 128, 128, 122, 111, 115, 110, 107, 71, 83, 93, 134, 136,
+  130, 123, 108, 116, 118, 110, 111, 99, 6, 161, 166, 170, 159, 14, 63, 68,
+  40, 41, 48, 32, 34, 9, 0, 14, 30, 36, 29, 26, 30, 38, 40, 20,
+  13, 4, 2, 49, 61, 38, 65, 36, 51, 42, 36, 44, 38, 41, 28, 45,
+  77, 46, 33, 63, 57, 53, 53, 63, 36, 18, 29, 65, 45, 63, 34, 46,
+  38, 44, 60, 45, 33, 22, 6, 100, 91, 76, 71, 80, 69, 79, 73, 71,
+  61, 60, 42, 76, 71, 59, 63, 52, 53, 60, 63, 59, 55, 52, 34, 5,
+  71, 83, 77, 83, 77, 61, 71, 76, 79, 57, 44, 33, 44, 61, 52, 46,
+  52, 28, 22, 9, 0, 2, 1, 64, 92, 88, 80, 83, 92, 81, 87, 77,
+  65, 36, 1, 60, 79, 61, 80, 73, 77, 59, 68, 81, 52, 33, 17, 51,
+  52, 22, 22, 32, 17, 12, 21, 18, 20, 0, 0, 84, 95, 96, 88, 87,
+  89, 89, 87, 76, 61, 48, 75, 118, 93, 103, 103, 97, 97, 96, 108, 102,
+  77, 72, 40, 85, 99, 104, 102, 97, 89, 75, 99, 181, 208, 171, 114, 95,
+  104, 52, 40, 29, 26, 32, 28, 26, 33, 29, 55, 51, 49, 77, 107, 191,
+  222, 217, 210, 127, 126, 132, 138, 142, 147, 153, 151, 138, 93, 26, 22, 22,
+  20, 32, 25, 65, 99, 93, 102, 104, 97, 107, 99, 68, 75, 42, 87, 107,
+  107, 106, 104, 104, 114, 102, 97, 102, 87, 53, 104, 115, 132, 110, 104, 106,
+  108, 110, 111, 95, 93, 57, 73, 79, 87, 83, 80, 77, 81, 71, 75, 77,
+  56, 38, 6, 128, 146, 131, 124, 120, 126, 127, 131, 127, 123, 115, 80, 102,
+  140, 124, 136, 128, 128, 102, 118, 91, 91, 63, 116, 136, 123, 126, 130, 140,
+  126, 128, 124, 120, 112, 72, 22, 69, 99, 128, 123, 132, 123, 124, 132, 123,
+  114, 91, 52, 79, 122, 127, 138, 134, 132, 118, 119, 122, 51, 10, 112, 158,
+  158, 153, 151, 144, 150, 144, 144, 148, 118, 63, 118, 144, 140, 128, 139, 151,
+  136, 130, 120, 116, 100, 83, 6, 93, 136, 127, 116, 127, 126, 126, 136, 130,
+  128, 107, 84, 96, 132, 122, 122, 131, 102, 103, 104, 108, 104, 60, 24, 92,
+  103, 108, 139, 139, 136, 130, 123, 128, 111, 87, 21, 81, 115, 103, 100, 103,
+  107, 115, 119, 107, 108, 73, 36, 112, 138, 150, 140, 144, 144, 140, 122, 123,
+  112, 64, 84, 140, 140, 167, 132, 142, 118, 112, 122, 95, 91, 91, 64, 138,
+  151, 142, 139, 143, 136, 140, 132, 134, 127, 123, 64, 99, 127, 127, 120, 118,
+  104, 122, 119, 108, 75, 38, 118, 165, 170, 171, 173, 171, 161, 171, 175, 136,
+  106, 37, 97, 93, 135, 118, 111, 116, 153, 124, 127, 104, 100, 135, 60, 154,
+  166, 178, 175, 174, 170, 171, 166, 166, 165, 140, 81, 110, 161, 150, 150, 132,
+  140, 126, 120, 139, 128, 80, 93, 142, 163, 155, 153, 148, 150, 150, 151, 139,
+  124, 81, 8, 130, 159, 163, 158, 162, 151, 136, 119, 135, 115, 24, 166, 181,
+  162, 171, 163, 165, 154, 151, 151, 144, 158, 157, 132, 65, 120, 127, 134, 126,
+  130, 108, 123, 124, 127, 106, 68, 76, 142, 132, 134, 128, 130, 127, 123, 130,
+  112, 112, 102, 1, 150, 169, 158, 161, 24, 48, 73, 64, 36, 30, 33, 32,
+  10, 1, 20, 26, 33, 40, 45, 34, 26, 24, 17, 9, 4, 4, 46, 55,
+  61, 42, 65, 55, 44, 44, 40, 48, 33, 24, 49, 59, 51, 48, 30, 40,
+  44, 40, 38, 37, 18, 33, 51, 42, 51, 53, 51, 48, 45, 45, 45, 45,
+  24, 13, 91, 84, 57, 57, 69, 84, 81, 64, 83, 59, 55, 38, 64, 72,
+  64, 57, 61, 57, 57, 60, 51, 53, 56, 34, 6, 69, 72, 48, 63, 61,
+  45, 46, 63, 57, 60, 45, 28, 34, 21, 33, 16, 20, 18, 22, 21, 0,
+  2, 8, 63, 88, 69, 75, 77, 76, 77, 89, 83, 59, 36, 1, 59, 77,
+  64, 76, 77, 69, 68, 72, 69, 55, 24, 13, 30, 24, 30, 22, 30, 26,
+  32, 25, 29, 18, 0, 0, 88, 99, 87, 89, 92, 106, 96, 83, 67, 64,
+  34, 87, 118, 108, 112, 102, 104, 97, 84, 89, 95, 89, 73, 42, 81, 97,
+  106, 100, 96, 75, 71, 84, 138, 209, 174, 122, 103, 106, 57, 44, 29, 36,
+  37, 30, 32, 30, 32, 37, 51, 72, 95, 150, 212, 222, 221, 205, 128, 127,
+  134, 139, 147, 153, 154, 148, 127, 52, 24, 21, 18, 21, 37, 22, 60, 97,
+  97, 108, 103, 107, 104, 100, 81, 69, 41, 56, 102, 107, 89, 96, 93, 84,
+  102, 100, 97, 80, 51, 92, 111, 114, 114, 108, 108, 108, 107, 107, 100, 87,
+  52, 59, 87, 93, 97, 89, 87, 77, 89, 81, 67, 48, 26, 5, 128, 143,
+  138, 102, 102, 99, 112, 92, 108, 111, 106, 84, 84, 123, 128, 124, 124, 123,
+  100, 116, 87, 84, 52, 104, 131, 126, 126, 130, 127, 126, 123, 123, 123, 122,
+  67, 21, 103, 126, 144, 126, 132, 130, 122, 120, 114, 112, 97, 46, 73, 85,
+  118, 127, 132, 122, 128, 118, 119, 44, 28, 115, 144, 151, 147, 143, 146, 148,
+  147, 144, 139, 115, 55, 112, 119, 143, 144, 148, 142, 132, 124, 120, 107, 114,
+  65, 4, 124, 130, 127, 112, 124, 122, 119, 116, 115, 116, 116, 87, 65, 116,
+  135, 108, 114, 93, 104, 108, 114, 107, 83, 18, 97, 106, 127, 132, 127, 131,
+  128, 128, 127, 119, 84, 29, 85, 99, 99, 95, 93, 87, 96, 99, 102, 104,
+  73, 33, 75, 132, 144, 144, 135, 127, 115, 123, 123, 112, 72, 73, 104, 136,
+  132, 134, 108, 112, 108, 112, 120, 83, 76, 41, 136, 147, 131, 139, 143, 139,
+  139, 132, 142, 128, 124, 79, 79, 132, 123, 122, 119, 106, 106, 119, 110, 76,
+  51, 107, 167, 163, 171, 171, 170, 169, 171, 174, 124, 106, 38, 100, 103, 130,
+  123, 106, 106, 102, 110, 126, 102, 120, 136, 18, 135, 161, 163, 173, 162, 169,
+  154, 170, 163, 169, 131, 85, 111, 143, 135, 136, 142, 131, 134, 140, 122, 132,
+  103, 89, 139, 146, 148, 116, 119, 123, 144, 148, 130, 127, 119, 6, 135, 161,
+  167, 159, 153, 157, 155, 130, 134, 124, 21, 181, 186, 157, 167, 170, 161, 159,
+  167, 167, 155, 157, 155, 126, 64, 103, 120, 119, 123, 124, 122, 115, 122, 123,
+  106, 68, 76, 138, 131, 135, 130, 143, 139, 120, 114, 112, 114, 107, 59, 162,
+  163, 162, 153, 22, 29, 34, 42, 51, 44, 44, 24, 9, 1, 14, 18, 21,
+  18, 17, 18, 17, 18, 17, 12, 4, 1, 40, 59, 61, 64, 52, 46, 48,
+  49, 48, 45, 28, 20, 46, 46, 52, 52, 55, 41, 45, 41, 37, 37, 34,
+  32, 24, 24, 24, 22, 26, 25, 26, 28, 28, 30, 34, 18, 102, 81, 73,
+  79, 69, 69, 71, 71, 71, 64, 60, 41, 76, 73, 59, 60, 56, 48, 52,
+  45, 49, 49, 53, 33, 6, 67, 69, 64, 63, 60, 76, 57, 56, 48, 61,
+  29, 22, 30, 17, 14, 13, 12, 13, 12, 10, 8, 2, 1, 45, 87, 80,
+  80, 77, 87, 83, 85, 69, 69, 37, 1, 56, 73, 64, 56, 77, 76, 71,
+  59, 61, 45, 40, 32, 20, 20, 13, 8, 5, 5, 6, 5, 4, 5, 0,
+  1, 96, 96, 96, 89, 88, 84, 81, 80, 55, 56, 34, 80, 112, 106, 96,
+  91, 92, 92, 84, 83, 84, 80, 75, 45, 55, 87, 93, 89, 79, 56, 76,
+  72, 112, 193, 195, 153, 99, 126, 93, 51, 44, 37, 42, 38, 38, 41, 46,
+  44, 76, 84, 128, 204, 221, 221, 222, 199, 127, 127, 134, 143, 150, 155, 150,
+  136, 75, 24, 21, 20, 20, 20, 28, 30, 56, 87, 91, 92, 91, 89, 84,
+  81, 87, 81, 52, 60, 100, 108, 87, 91, 96, 92, 93, 95, 84, 76, 48,
+  72, 104, 110, 93, 89, 104, 107, 93, 95, 95, 76, 46, 56, 61, 53, 53,
+  52, 61, 55, 46, 45, 36, 40, 24, 6, 114, 132, 139, 132, 124, 124, 128,
+  130, 122, 123, 118, 118, 118, 85, 93, 97, 99, 99, 119, 118, 108, 85, 48,
+  99, 130, 127, 130, 123, 124, 124, 127, 122, 120, 116, 80, 32, 100, 106, 110,
+  112, 111, 111, 118, 110, 111, 96, 95, 41, 72, 80, 115, 112, 110, 108, 107,
+  107, 100, 51, 0, 28, 79, 93, 83, 80, 92, 104, 96, 89, 103, 91, 41,
+  64, 72, 81, 85, 97, 99, 95, 100, 99, 115, 103, 59, 36, 126, 127, 130,
+  131, 123, 119, 123, 122, 116, 116, 110, 112, 81, 85, 93, 100, 99, 95, 118,
+  118, 92, 108, 81, 16, 93, 96, 140, 128, 127, 130, 127, 126, 122, 120, 91,
+  2, 72, 97, 84, 83, 87, 93, 95, 104, 100, 104, 63, 30, 56, 123, 123,
+  111, 111, 119, 120, 107, 110, 115, 106, 67, 81, 100, 104, 89, 89, 100, 91,
+  85, 97, 89, 81, 76, 132, 147, 143, 140, 136, 140, 140, 134, 135, 139, 132,
+  79, 72, 112, 120, 123, 115, 93, 111, 112, 111, 77, 38, 115, 169, 166, 167,
+  173, 167, 175, 169, 171, 143, 104, 37, 99, 99, 119, 99, 115, 100, 96, 103,
+  97, 100, 104, 108, 33, 128, 151, 144, 120, 126, 136, 136, 136, 123, 116, 112,
+  130, 138, 131, 134, 135, 130, 138, 135, 139, 130, 131, 130, 92, 99, 107, 108,
+  118, 110, 116, 111, 135, 126, 126, 111, 4, 130, 153, 154, 157, 157, 161, 150,
+  123, 130, 119, 25, 178, 179, 163, 162, 163, 154, 153, 154, 157, 155, 151, 140,
+  120, 64, 108, 108, 126, 122, 128, 128, 130, 124, 123, 106, 68, 85, 140, 132,
+  118, 116, 119, 116, 119, 118, 115, 112, 111, 10, 159, 158, 161, 153, 10, 10,
+  12, 12, 12, 13, 14, 9, 4, 0, 14, 14, 13, 5, 13, 12, 9, 9,
+  16, 13, 8, 1, 24, 56, 53, 49, 46, 29, 25, 22, 30, 26, 25, 17,
+  28, 30, 29, 28, 26, 29, 29, 26, 26, 25, 25, 22, 25, 16, 10, 8,
+  9, 14, 5, 2, 4, 4, 4, 16, 99, 63, 76, 36, 71, 68, 63, 36,
+  65, 61, 56, 40, 69, 71, 51, 46, 42, 41, 36, 38, 38, 38, 29, 14,
+  9, 34, 29, 30, 28, 26, 29, 28, 28, 25, 24, 21, 17, 13, 12, 13,
+  10, 9, 8, 10, 6, 6, 5, 0, 18, 64, 69, 48, 53, 73, 67, 60,
+  63, 61, 34, 16, 48, 64, 67, 61, 53, 52, 49, 46, 42, 44, 18, 10,
+  6, 5, 10, 18, 24, 16, 8, 10, 10, 9, 1, 0, 85, 56, 69, 65,
+  68, 72, 73, 79, 56, 51, 32, 72, 88, 95, 91, 85, 88, 84, 80, 77,
+  81, 87, 77, 75, 75, 73, 52, 56, 72, 71, 63, 68, 77, 174, 202, 166,
+  119, 116, 116, 81, 49, 37, 49, 48, 45, 42, 48, 72, 84, 123, 193, 218,
+  221, 224, 220, 170, 126, 130, 136, 148, 151, 151, 142, 102, 32, 21, 20, 18,
+  21, 22, 26, 30, 40, 73, 75, 71, 61, 75, 75, 65, 67, 73, 63, 57,
+  89, 80, 81, 68, 68, 64, 63, 65, 67, 75, 41, 34, 33, 48, 41, 41,
+  42, 49, 55, 72, 83, 59, 42, 44, 48, 48, 44, 42, 42, 42, 33, 33,
+  34, 25, 30, 4, 18, 81, 95, 81, 84, 89, 103, 93, 97, 99, 99, 97,
+  92, 103, 106, 107, 107, 112, 111, 112, 97, 84, 59, 85, 120, 122, 124, 111,
+  110, 107, 106, 93, 102, 96, 73, 34, 59, 63, 57, 61, 63, 67, 68, 73,
+  72, 73, 69, 42, 61, 33, 37, 38, 30, 26, 25, 30, 29, 28, 8, 8,
+  14, 32, 13, 13, 26, 42, 22, 24, 40, 45, 52, 45, 17, 36, 41, 44,
+  57, 79, 61, 76, 89, 87, 75, 0, 45, 76, 84, 84, 84, 89, 92, 84,
+  85, 91, 84, 89, 83, 99, 91, 100, 95, 99, 77, 103, 88, 106, 77, 41,
+  81, 89, 130, 124, 124, 123, 122, 112, 118, 118, 76, 37, 68, 48, 56, 37,
+  38, 40, 53, 26, 24, 30, 49, 28, 34, 34, 44, 42, 48, 52, 57, 65,
+  71, 91, 103, 103, 107, 108, 97, 99, 97, 96, 95, 92, 89, 89, 80, 71,
+  134, 132, 131, 128, 111, 118, 124, 123, 112, 112, 99, 102, 100, 104, 115, 102,
+  96, 91, 89, 85, 88, 64, 36, 111, 134, 158, 161, 153, 150, 150, 155, 147,
+  122, 96, 48, 103, 93, 107, 103, 103, 95, 99, 97, 99, 93, 99, 120, 41,
+  44, 48, 37, 34, 59, 73, 80, 85, 93, 115, 123, 116, 99, 122, 126, 122,
+  123, 122, 127, 123, 130, 124, 119, 115, 135, 134, 127, 115, 131, 126, 126, 97,
+  130, 130, 107, 4, 91, 128, 151, 107, 116, 130, 148, 127, 122, 115, 22, 128,
+  174, 161, 153, 153, 153, 147, 140, 102, 93, 83, 72, 64, 72, 65, 76, 114,
+  118, 112, 127, 124, 132, 119, 120, 93, 91, 111, 114, 110, 116, 114, 102, 84,
+  128, 83, 75, 64, 38, 97, 100, 132, 134, 0, 0, 1, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 4, 1, 0, 4, 9, 2, 0, 42,
+  12, 12, 10, 12, 20, 14, 9, 9, 18, 16, 9, 6, 5, 6, 5, 5,
+  4, 6, 5, 5, 4, 5, 4, 5, 22, 38, 42, 41, 44, 73, 61, 76,
+  59, 32, 4, 108, 68, 83, 63, 52, 48, 48, 46, 55, 56, 56, 37, 34,
+  34, 34, 29, 26, 24, 18, 17, 14, 14, 9, 9, 9, 8, 6, 6, 5,
+  5, 4, 4, 2, 2, 2, 1, 1, 5, 5, 1, 0, 1, 2, 0, 0,
+  1, 2, 0, 16, 12, 12, 16, 14, 33, 59, 36, 42, 52, 32, 1, 44,
+  14, 20, 16, 17, 13, 17, 13, 16, 9, 8, 9, 12, 24, 51, 44, 60,
+  65, 71, 60, 72, 68, 42, 0, 97, 84, 84, 73, 68, 64, 64, 51, 61,
+  52, 30, 59, 59, 64, 60, 60, 61, 64, 64, 64, 61, 68, 64, 63, 63,
+  42, 33, 33, 34, 42, 73, 72, 77, 123, 190, 182, 123, 87, 157, 108, 85,
+  85, 89, 91, 91, 89, 88, 111, 161, 204, 220, 222, 221, 221, 212, 140, 127,
+  134, 147, 150, 147, 140, 111, 37, 22, 21, 18, 18, 24, 25, 14, 30, 41,
+  37, 42, 46, 48, 48, 49, 51, 56, 65, 67, 60, 64, 52, 53, 59, 52,
+  57, 64, 83, 77, 80, 48, 59, 106, 110, 99, 89, 69, 71, 69, 64, 41,
+  34, 37, 6, 0, 26, 5, 4, 5, 17, 0, 4, 4, 0, 0, 25, 28,
+  20, 17, 17, 24, 22, 20, 21, 25, 28, 28, 29, 33, 36, 41, 49, 52,
+  57, 60, 67, 71, 80, 59, 64, 83, 80, 57, 59, 63, 60, 44, 44, 51,
+  37, 25, 6, 21, 8, 33, 36, 18, 13, 28, 29, 17, 17, 26, 28, 76,
+  92, 104, 108, 103, 116, 110, 112, 84, 79, 5, 21, 143, 157, 107, 104, 132,
+  146, 92, 112, 114, 60, 29, 57, 136, 136, 87, 88, 92, 68, 68, 63, 79,
+  46, 33, 9, 6, 5, 40, 10, 6, 10, 34, 22, 12, 20, 44, 37, 36,
+  38, 52, 51, 46, 83, 72, 60, 59, 100, 57, 17, 75, 34, 44, 36, 41,
+  34, 34, 30, 33, 21, 18, 37, 26, 51, 68, 77, 81, 88, 107, 104, 102,
+  103, 85, 22, 107, 142, 150, 122, 135, 102, 84, 77, 52, 52, 44, 44, 57,
+  48, 65, 37, 42, 63, 45, 57, 64, 68, 69, 57, 102, 93, 120, 110, 104,
+  95, 112, 110, 104, 100, 104, 102, 95, 68, 48, 46, 41, 42, 40, 42, 41,
+  53, 37, 40, 56, 67, 60, 89, 95, 87, 64, 100, 108, 71, 41, 87, 83,
+  79, 77, 77, 71, 76, 87, 96, 103, 106, 142, 12, 61, 170, 170, 115, 119,
+  110, 108, 95, 79, 45, 28, 22, 20, 18, 17, 16, 14, 13, 12, 10, 9,
+  40, 38, 6, 4, 49, 40, 2, 1, 40, 26, 0, 4, 36, 1, 2, 46,
+  48, 65, 68, 69, 72, 79, 84, 124, 118, 24, 128, 166, 115, 106, 102, 99,
+  99, 107, 104, 99, 119, 111, 104, 81, 95, 106, 95, 65, 60, 56, 60, 73,
+  89, 83, 81, 72, 72, 69, 73, 76, 71, 60, 57, 57, 51, 36, 34, 32,
+  29, 25, 24, 18, 33, 40, 40, 24, 38, 21, 32, 26, 1, 0, 14, 49,
+  48, 32, 32, 34, 25, 18, 10, 5, 0, 1, 6, 33, 36, 28, 36, 42,
+  63, 52, 42, 36, 24, 5, 48, 65, 67, 57, 42, 60, 46, 59, 55, 51,
+  17, 4, 60, 102, 95, 92, 91, 85, 85, 84, 92, 67, 30, 6, 108, 68,
+  73, 108, 100, 84, 67, 73, 53, 38, 20, 32, 38, 44, 45, 52, 51, 49,
+  59, 63, 59, 38, 59, 55, 104, 106, 106, 107, 114, 108, 102, 107, 115, 102,
+  87, 83, 103, 99, 93, 102, 100, 95, 84, 79, 95, 75, 17, 1, 63, 103,
+  102, 79, 64, 48, 38, 34, 18, 13, 10, 1, 10, 45, 51, 56, 48, 59,
+  61, 65, 63, 67, 42, 1, 53, 114, 126, 130, 126, 124, 108, 118, 107, 80,
+  42, 0, 93, 84, 100, 96, 104, 96, 93, 81, 69, 52, 29, 12, 10, 10,
+  10, 13, 13, 12, 16, 14, 14, 14, 20, 21, 24, 65, 71, 89, 87, 85,
+  115, 108, 91, 81, 132, 190, 139, 95, 120, 134, 130, 143, 139, 127, 134, 147,
+  158, 198, 216, 218, 222, 222, 220, 220, 159, 128, 132, 144, 146, 142, 134, 96,
+  36, 22, 21, 18, 25, 21, 18, 26, 41, 45, 56, 88, 103, 96, 79, 77,
+  64, 60, 60, 51, 46, 44, 71, 104, 122, 116, 128, 100, 102, 112, 91, 84,
+  45, 83, 130, 115, 97, 97, 112, 103, 106, 77, 73, 67, 9, 18, 144, 142,
+  106, 97, 111, 111, 107, 99, 119, 97, 49, 13, 40, 96, 115, 108, 111, 112,
+  120, 110, 111, 108, 102, 88, 107, 111, 119, 115, 111, 85, 67, 53, 37, 38,
+  45, 34, 38, 71, 67, 81, 75, 85, 87, 96, 95, 88, 76, 10, 29, 85,
+  96, 102, 96, 93, 96, 93, 97, 100, 93, 104, 89, 120, 136, 140, 136, 136,
+  132, 119, 114, 85, 10, 131, 143, 130, 140, 132, 138, 131, 139, 135, 115, 72,
+  22, 127, 147, 150, 135, 138, 144, 138, 108, 126, 128, 87, 73, 9, 24, 155,
+  151, 102, 97, 148, 147, 112, 95, 118, 116, 65, 21, 67, 144, 140, 87, 88,
+  84, 79, 71, 65, 57, 9, 24, 61, 68, 72, 69, 84, 89, 87, 92, 99,
+  89, 0, 55, 153, 157, 154, 157, 158, 153, 150, 150, 118, 89, 21, 116, 153,
+  144, 146, 153, 153, 153, 150, 134, 103, 87, 20, 56, 177, 170, 110, 106, 103,
+  96, 84, 51, 26, 37, 22, 22, 21, 25, 21, 22, 20, 21, 18, 22, 21,
+  22, 21, 30, 38, 103, 123, 128, 128, 114, 142, 130, 85, 40, 91, 154, 151,
+  142, 92, 95, 44, 34, 34, 25, 29, 20, 61, 80, 150, 153, 153, 158, 154,
+  162, 158, 158, 128, 139, 17, 139, 187, 182, 178, 187, 178, 178, 177, 177, 171,
+  167, 136, 130, 161, 143, 140, 144, 157, 151, 153, 146, 139, 79, 0, 37, 136,
+  181, 106, 135, 144, 171, 110, 147, 140, 52, 1, 135, 159, 154, 111, 154, 148,
+  151, 88, 79, 114, 24, 134, 122, 143, 150, 159, 169, 167, 162, 165, 173, 169,
+  140, 100, 87, 108, 139, 140, 136, 136, 136, 112, 88, 79, 85, 57, 69, 83,
+  97, 102, 111, 112, 116, 124, 134, 135, 140, 139, 150, 157, 162, 166, 169, 83,
+  59, 68, 60, 53, 55, 21, 28, 4, 0, 40, 34, 57, 51, 42, 46, 42,
+  41, 36, 33, 6, 1, 51, 83, 84, 79, 76, 64, 80, 77, 67, 38, 28,
+  6, 65, 63, 53, 44, 41, 63, 48, 45, 42, 49, 20, 2, 81, 99, 71,
+  76, 85, 100, 77, 80, 59, 68, 33, 10, 116, 88, 65, 60, 45, 65, 77,
+  97, 104, 92, 73, 88, 106, 93, 96, 103, 93, 95, 99, 89, 96, 80, 89,
+  76, 71, 102, 88, 73, 83, 85, 75, 67, 64, 68, 84, 57, 72, 88, 104,
+  108, 93, 93, 83, 76, 85, 84, 41, 0, 81, 97, 123, 85, 91, 67, 76,
+  75, 68, 53, 32, 8, 69, 112, 108, 108, 100, 99, 64, 85, 88, 72, 48,
+  1, 103, 127, 110, 96, 83, 106, 95, 87, 89, 77, 41, 0, 110, 80, 88,
+  93, 89, 88, 89, 91, 79, 67, 29, 34, 110, 92, 84, 88, 103, 103, 85,
+  84, 81, 79, 76, 72, 77, 72, 115, 122, 119, 106, 104, 106, 97, 71, 84,
+  179, 157, 106, 84, 165, 173, 182, 195, 204, 208, 210, 214, 217, 221, 221, 216,
+  220, 213, 163, 132, 138, 143, 138, 135, 107, 63, 33, 24, 21, 18, 25, 18,
+  28, 36, 49, 42, 40, 79, 119, 134, 124, 123, 126, 134, 130, 134, 112, 102,
+  104, 114, 127, 127, 115, 107, 115, 107, 104, 99, 88, 52, 79, 130, 124, 111,
+  100, 99, 95, 107, 115, 84, 72, 0, 146, 150, 131, 134, 130, 131, 128, 111,
+  108, 104, 102, 108, 12, 143, 139, 128, 130, 123, 128, 118, 119, 120, 123, 119,
+  95, 76, 116, 123, 118, 114, 99, 100, 111, 116, 73, 40, 68, 126, 128, 134,
+  120, 130, 128, 126, 116, 118, 107, 79, 6, 139, 135, 143, 138, 128, 126, 119,
+  111, 115, 111, 93, 95, 138, 157, 154, 144, 144, 136, 138, 140, 114, 89, 5,
+  148, 140, 140, 134, 130, 128, 127, 127, 132, 124, 76, 25, 140, 154, 138, 123,
+  131, 126, 142, 139, 128, 116, 89, 83, 2, 158, 159, 153, 95, 110, 143, 140,
+  115, 115, 118, 120, 75, 24, 139, 151, 138, 136, 139, 134, 147, 104, 84, 96,
+  8, 72, 146, 159, 162, 154, 151, 146, 144, 147, 143, 106, 28, 139, 162, 159,
+  154, 146, 140, 147, 150, 147, 138, 99, 18, 132, 159, 132, 147, 140, 142, 143,
+  148, 148, 134, 97, 16, 153, 182, 153, 148, 158, 154, 150, 110, 132, 128, 127,
+  128, 140, 159, 143, 140, 144, 147, 147, 142, 147, 148, 127, 124, 134, 132, 118,
+  126, 134, 131, 155, 150, 143, 96, 41, 108, 169, 155, 148, 153, 131, 143, 140,
+  118, 112, 88, 69, 126, 161, 171, 178, 173, 173, 170, 171, 162, 158, 140, 122,
+  30, 158, 183, 191, 181, 185, 179, 148, 143, 144, 134, 127, 163, 163, 159, 120,
+  124, 158, 158, 123, 127, 128, 153, 91, 0, 135, 181, 167, 165, 163, 158, 163,
+  161, 162, 161, 89, 2, 147, 159, 166, 169, 174, 169, 170, 162, 104, 122, 28,
+  167, 142, 166, 171, 170, 166, 147, 161, 167, 162, 136, 136, 99, 79, 124, 138,
+  132, 138, 134, 135, 134, 130, 119, 92, 64, 81, 126, 166, 173, 179, 171, 167,
+  150, 150, 135, 147, 155, 127, 130, 140, 178, 154, 112, 92, 61, 75, 87, 65,
+  85, 22, 0, 0, 42, 49, 56, 51, 29, 32, 4, 24, 22, 26, 8, 2,
+  69, 89, 73, 65, 63, 65, 71, 81, 75, 41, 25, 6, 67, 71, 83, 96,
+  75, 87, 73, 71, 52, 49, 22, 2, 69, 96, 69, 69, 55, 59, 63, 56,
+  44, 46, 29, 9, 115, 85, 80, 48, 59, 59, 61, 64, 45, 69, 81, 76,
+  55, 53, 64, 64, 65, 46, 42, 67, 49, 52, 81, 57, 103, 87, 93, 88,
+  75, 83, 80, 83, 79, 67, 71, 53, 96, 119, 102, 84, 95, 91, 89, 95,
+  89, 83, 45, 1, 85, 100, 127, 83, 72, 88, 63, 80, 64, 56, 36, 21,
+  88, 107, 95, 102, 102, 91, 87, 91, 88, 84, 48, 0, 100, 128, 75, 84,
+  91, 91, 83, 107, 84, 89, 45, 0, 104, 76, 85, 84, 81, 84, 83, 85,
+  83, 63, 30, 102, 103, 99, 85, 73, 92, 99, 88, 80, 93, 81, 93, 76,
+  52, 112, 126, 112, 92, 85, 91, 106, 107, 68, 65, 138, 166, 114, 79, 118,
+  123, 142, 162, 187, 199, 208, 210, 209, 210, 217, 201, 178, 155, 127, 138, 135,
+  120, 99, 63, 34, 24, 25, 22, 21, 22, 20, 25, 34, 45, 42, 48, 46,
+  79, 120, 132, 132, 131, 126, 122, 126, 128, 107, 104, 80, 128, 126, 106, 108,
+  118, 119, 116, 108, 81, 102, 49, 76, 119, 115, 108, 108, 106, 99, 104, 107,
+  87, 72, 14, 150, 148, 144, 126, 119, 119, 116, 106, 106, 106, 118, 108, 12,
+  142, 127, 122, 123, 132, 127, 124, 132, 122, 120, 103, 60, 104, 151, 132, 122,
+  119, 114, 114, 123, 118, 79, 55, 118, 124, 120, 116, 115, 123, 130, 115, 114,
+  104, 99, 89, 25, 140, 124, 127, 131, 143, 136, 124, 119, 112, 102, 72, 123,
+  159, 143, 135, 144, 135, 123, 115, 122, 97, 84, 0, 106, 139, 132, 122, 115,
+  122, 131, 131, 142, 120, 77, 18, 127, 151, 131, 127, 107, 119, 123, 128, 115,
+  92, 95, 84, 6, 150, 128, 147, 135, 138, 130, 127, 132, 128, 144, 124, 80,
+  22, 146, 153, 135, 131, 128, 127, 127, 132, 92, 106, 10, 130, 158, 157, 151,
+  138, 153, 151, 146, 131, 131, 99, 18, 143, 161, 148, 144, 140, 130, 128, 126,
+  126, 120, 96, 16, 130, 153, 146, 148, 146, 132, 139, 138, 143, 142, 99, 22,
+  143, 170, 171, 170, 162, 154, 132, 161, 127, 119, 108, 114, 147, 158, 167, 142,
+  148, 153, 153, 147, 139, 146, 146, 127, 87, 154, 165, 155, 155, 144, 143, 143,
+  138, 106, 38, 107, 167, 157, 154, 150, 144, 150, 143, 146, 118, 92, 73, 135,
+  174, 169, 166, 165, 165, 166, 165, 169, 170, 124, 135, 24, 153, 178, 190, 187,
+  185, 167, 167, 185, 182, 179, 175, 114, 104, 161, 165, 151, 147, 143, 144, 139,
+  143, 144, 93, 32, 174, 177, 163, 167, 162, 167, 169, 167, 161, 161, 93, 0,
+  143, 159, 163, 159, 157, 158, 154, 162, 120, 124, 30, 178, 153, 142, 167, 161,
+  159, 159, 163, 151, 144, 150, 139, 75, 102, 135, 136, 134, 130, 128, 130, 128,
+  132, 119, 84, 55, 116, 186, 191, 179, 178, 177, 153, 169, 161, 146, 147, 130,
+  122, 183, 195, 206, 209, 30, 37, 79, 65, 24, 48, 81, 21, 0, 0, 36,
+  65, 51, 20, 20, 29, 29, 17, 0, 22, 5, 2, 53, 93, 69, 76, 65,
+  60, 59, 61, 81, 44, 28, 12, 38, 76, 75, 55, 67, 83, 79, 45, 45,
+  49, 21, 2, 89, 91, 89, 67, 75, 77, 61, 75, 51, 67, 33, 2, 108,
+  92, 79, 48, 40, 49, 67, 60, 63, 59, 53, 59, 49, 81, 57, 56, 69,
+  63, 65, 64, 61, 49, 44, 32, 103, 89, 91, 84, 69, 72, 64, 61, 81,
+  72, 63, 53, 114, 115, 85, 77, 73, 83, 88, 80, 79, 97, 41, 0, 89,
+  107, 111, 67, 73, 87, 80, 96, 95, 77, 38, 6, 106, 106, 110, 92, 104,
+  97, 88, 91, 87, 71, 49, 0, 95, 122, 73, 87, 81, 97, 100, 103, 88,
+  72, 45, 0, 104, 85, 88, 93, 91, 81, 83, 81, 87, 68, 29, 102, 97,
+  89, 93, 100, 96, 85, 89, 88, 81, 80, 69, 46, 68, 119, 118, 111, 87,
+  91, 93, 83, 104, 71, 60, 120, 166, 115, 75, 87, 104, 116, 123, 131, 155,
+  167, 177, 174, 170, 166, 146, 132, 132, 126, 107, 84, 52, 36, 24, 21, 20,
+  20, 26, 17, 20, 34, 34, 41, 44, 52, 48, 42, 83, 136, 138, 135, 116,
+  122, 111, 110, 99, 97, 68, 112, 134, 106, 110, 127, 111, 107, 103, 108, 87,
+  100, 60, 63, 119, 116, 108, 120, 102, 111, 106, 106, 93, 71, 12, 100, 143,
+  130, 134, 144, 127, 122, 118, 107, 104, 108, 69, 16, 102, 120, 126, 132, 126,
+  124, 115, 118, 119, 103, 93, 61, 111, 147, 122, 119, 130, 138, 135, 123, 110,
+  81, 41, 116, 132, 124, 118, 116, 112, 126, 120, 106, 102, 96, 88, 5, 119,
+  119, 130, 116, 135, 144, 138, 119, 115, 93, 53, 120, 161, 143, 140, 142, 134,
+  119, 119, 111, 104, 92, 2, 122, 144, 144, 114, 124, 128, 124, 136, 134, 131,
+  81, 17, 131, 151, 128, 124, 120, 122, 116, 106, 115, 96, 89, 88, 5, 114,
+  128, 106, 138, 139, 132, 132, 130, 130, 126, 122, 89, 21, 132, 146, 128, 127,
+  138, 140, 138, 132, 112, 108, 2, 139, 161, 146, 146, 146, 138, 135, 131, 124,
+  127, 99, 8, 138, 161, 148, 136, 143, 128, 126, 128, 126, 127, 99, 13, 128,
+  154, 154, 146, 155, 154, 153, 142, 143, 118, 102, 20, 138, 169, 174, 169, 171,
+  163, 173, 174, 169, 162, 106, 143, 169, 155, 142, 135, 142, 142, 140, 123, 127,
+  134, 118, 77, 96, 170, 167, 142, 153, 153, 157, 136, 138, 114, 51, 107, 163,
+  155, 150, 158, 157, 151, 150, 147, 124, 99, 72, 136, 177, 169, 163, 165, 170,
+  170, 163, 162, 167, 123, 136, 9, 150, 175, 179, 186, 189, 166, 169, 177, 179,
+  175, 171, 106, 140, 170, 159, 140, 151, 139, 144, 138, 140, 143, 95, 0, 127,
+  171, 166, 165, 157, 163, 162, 167, 167, 155, 96, 0, 154, 159, 155, 163, 161,
+  159, 154, 162, 158, 130, 32, 177, 140, 148, 170, 161, 167, 161, 155, 155, 147,
+  148, 144, 71, 81, 136, 138, 131, 132, 134, 131, 126, 132, 124, 91, 55, 161,
+  190, 177, 173, 174, 139, 162, 177, 169, 155, 154, 102, 127, 189, 206, 187, 163,
+  72, 72, 83, 26, 40, 48, 68, 16, 0, 1, 33, 63, 52, 6, 16, 18,
+  36, 1, 0, 29, 1, 1, 44, 83, 72, 65, 77, 85, 59, 56, 67, 46,
+  29, 8, 77, 87, 75, 55, 61, 76, 77, 49, 46, 49, 22, 2, 76, 89,
+  61, 73, 76, 65, 71, 64, 52, 52, 32, 4, 106, 81, 76, 45, 48, 48,
+  71, 64, 63, 55, 45, 64, 73, 72, 77, 72, 48, 52, 63, 49, 53, 61,
+  65, 28, 100, 100, 89, 69, 72, 63, 81, 61, 73, 69, 67, 57, 111, 112,
+  68, 68, 73, 77, 63, 76, 77, 76, 42, 1, 89, 103, 119, 79, 88, 72,
+  63, 64, 89, 55, 38, 0, 93, 97, 116, 96, 104, 92, 91, 88, 71, 80,
+  49, 0, 107, 120, 83, 96, 93, 93, 84, 100, 95, 83, 45, 0, 96, 96,
+  88, 88, 87, 83, 83, 81, 83, 65, 33, 65, 85, 104, 92, 80, 96, 85,
+  84, 89, 84, 77, 68, 41, 96, 120, 115, 106, 97, 84, 89, 95, 108, 80,
+  59, 111, 166, 127, 95, 67, 69, 69, 76, 95, 115, 119, 123, 127, 123, 122,
+  119, 93, 71, 51, 37, 28, 25, 25, 21, 18, 21, 25, 18, 36, 40, 41,
+  42, 48, 51, 52, 52, 44, 76, 130, 120, 110, 95, 108, 111, 110, 97, 79,
+  68, 118, 127, 106, 119, 111, 112, 97, 96, 114, 99, 103, 65, 53, 110, 115,
+  106, 104, 107, 103, 97, 100, 83, 73, 9, 103, 142, 139, 148, 131, 99, 97,
+  108, 99, 114, 115, 73, 13, 110, 130, 124, 128, 114, 118, 118, 119, 106, 106,
+  96, 57, 111, 151, 130, 116, 118, 112, 110, 127, 111, 80, 42, 100, 132, 124,
+  128, 124, 114, 120, 108, 103, 104, 92, 87, 4, 110, 128, 130, 116, 130, 140,
+  136, 115, 103, 93, 53, 122, 163, 131, 132, 123, 132, 119, 122, 106, 110, 88,
+  5, 136, 143, 138, 115, 122, 130, 132, 127, 132, 126, 85, 12, 143, 153, 127,
+  120, 120, 107, 119, 119, 100, 99, 96, 83, 2, 122, 155, 143, 140, 136, 132,
+  127, 136, 130, 132, 122, 81, 13, 132, 148, 127, 130, 128, 128, 124, 131, 95,
+  104, 2, 138, 158, 138, 147, 136, 131, 134, 124, 130, 106, 99, 22, 147, 159,
+  144, 135, 127, 132, 123, 123, 115, 128, 97, 12, 128, 151, 154, 140, 139, 143,
+  138, 138, 142, 124, 104, 13, 147, 177, 171, 179, 163, 169, 163, 167, 162, 158,
+  75, 143, 161, 155, 148, 143, 138, 138, 135, 134, 135, 119, 128, 75, 148, 175,
+  174, 140, 159, 148, 150, 135, 135, 120, 60, 107, 169, 159, 155, 157, 159, 148,
+  148, 150, 144, 95, 51, 123, 173, 161, 155, 155, 158, 161, 158, 150, 170, 138,
+  136, 12, 162, 179, 178, 186, 181, 171, 166, 166, 185, 173, 170, 95, 143, 173,
+  154, 142, 146, 135, 132, 138, 134, 140, 99, 0, 132, 174, 163, 161, 161, 162,
+  161, 153, 161, 146, 106, 0, 144, 157, 162, 162, 167, 163, 155, 158, 130, 131,
+  40, 179, 146, 150, 171, 158, 171, 157, 155, 161, 150, 148, 134, 65, 104, 138,
+  136, 124, 126, 120, 119, 119, 130, 114, 75, 89, 163, 189, 170, 169, 174, 150,
+  147, 159, 144, 143, 144, 95, 161, 195, 197, 163, 163, 80, 83, 22, 30, 45,
+  34, 60, 34, 2, 0, 37, 68, 53, 10, 8, 16, 29, 1, 0, 24, 2,
+  1, 40, 89, 76, 71, 52, 68, 72, 57, 60, 61, 33, 10, 75, 76, 73,
+  65, 44, 49, 60, 44, 46, 45, 21, 1, 76, 92, 65, 67, 67, 64, 77,
+  68, 53, 56, 34, 5, 110, 93, 72, 44, 45, 48, 48, 53, 65, 60, 42,
+  84, 85, 72, 71, 49, 49, 73, 83, 49, 71, 67, 71, 41, 111, 84, 69,
+  64, 71, 60, 81, 59, 80, 67, 56, 60, 115, 103, 68, 76, 60, 73, 80,
+  96, 75, 75, 46, 0, 85, 106, 119, 77, 77, 75, 65, 64, 99, 53, 41,
+  5, 100, 112, 99, 87, 99, 81, 81, 88, 72, 83, 51, 1, 103, 126, 83,
+  81, 91, 89, 93, 100, 93, 77, 46, 0, 99, 89, 89, 96, 83, 83, 85,
+  79, 75, 65, 36, 67, 88, 93, 91, 89, 96, 85, 77, 81, 76, 83, 72,
+  34, 97, 120, 118, 92, 100, 81, 92, 103, 93, 87, 56, 102, 163, 135, 106,
+  87, 69, 59, 53, 53, 48, 48, 46, 48, 51, 45, 41, 37, 30, 30, 28,
+  26, 22, 22, 21, 25, 14, 24, 41, 48, 55, 56, 55, 52, 51, 53, 55,
+  44, 77, 135, 111, 115, 115, 111, 102, 122, 110, 96, 51, 112, 128, 106, 123,
+  104, 95, 95, 93, 110, 102, 102, 69, 37, 111, 122, 124, 120, 119, 114, 107,
+  99, 88, 73, 2, 103, 135, 124, 139, 99, 93, 106, 108, 100, 104, 110, 100,
+  8, 142, 135, 114, 136, 118, 107, 106, 108, 106, 120, 100, 56, 118, 142, 126,
+  124, 112, 112, 107, 120, 115, 83, 46, 99, 130, 142, 151, 120, 110, 104, 106,
+  104, 108, 102, 83, 0, 153, 123, 124, 116, 128, 126, 136, 116, 104, 99, 51,
+  122, 162, 143, 138, 120, 130, 118, 119, 103, 115, 97, 0, 146, 143, 144, 116,
+  120, 120, 136, 136, 135, 131, 85, 16, 142, 155, 128, 120, 116, 107, 104, 122,
+  97, 103, 97, 91, 4, 165, 163, 142, 147, 123, 132, 143, 124, 122, 134, 122,
+  87, 10, 139, 148, 127, 127, 128, 158, 134, 136, 95, 106, 1, 139, 159, 139,
+  144, 131, 136, 126, 124, 127, 132, 103, 30, 143, 158, 134, 143, 127, 126, 128,
+  127, 120, 134, 100, 9, 131, 154, 147, 138, 139, 143, 155, 140, 138, 135, 106,
+  10, 148, 182, 171, 173, 163, 159, 161, 162, 163, 151, 71, 146, 169, 148, 162,
+  153, 143, 139, 135, 127, 130, 122, 128, 65, 150, 170, 166, 143, 162, 159, 134,
+  140, 118, 106, 56, 110, 170, 151, 154, 155, 143, 142, 139, 144, 148, 97, 61,
+  128, 173, 169, 158, 151, 151, 144, 153, 155, 167, 146, 132, 12, 166, 186, 185,
+  183, 166, 165, 166, 166, 182, 166, 170, 87, 147, 171, 155, 136, 144, 136, 132,
+  139, 142, 143, 97, 0, 148, 171, 166, 163, 159, 165, 162, 165, 155, 147, 100,
+  1, 153, 158, 158, 154, 157, 169, 158, 161, 138, 130, 48, 170, 153, 153, 140,
+  134, 175, 155, 151, 154, 158, 138, 135, 61, 104, 122, 134, 132, 140, 135, 135,
+  126, 128, 108, 68, 108, 182, 186, 169, 170, 167, 150, 165, 165, 146, 146, 142,
+  92, 159, 195, 173, 175, 174, 81, 65, 20, 34, 42, 29, 60, 14, 0, 0,
+  24, 60, 44, 12, 20, 8, 37, 1, 17, 34, 4, 0, 20, 71, 83, 65,
+  71, 65, 51, 46, 60, 67, 26, 12, 52, 81, 55, 67, 72, 52, 65, 48,
+  45, 59, 24, 2, 76, 89, 52, 55, 85, 64, 59, 49, 44, 46, 34, 2,
+  107, 92, 87, 46, 49, 45, 49, 48, 63, 59, 42, 89, 80, 73, 52, 48,
+  60, 99, 49, 52, 52, 65, 84, 38, 99, 77, 75, 72, 68, 63, 88, 59,
+  72, 64, 37, 65, 116, 116, 69, 103, 67, 67, 81, 102, 72, 71, 52, 0,
+  84, 99, 107, 76, 85, 72, 67, 61, 95, 57, 42, 13, 96, 112, 92, 92,
+  83, 79, 104, 88, 79, 75, 53, 0, 100, 127, 73, 93, 91, 85, 88, 107,
+  84, 76, 46, 0, 95, 88, 92, 87, 75, 80, 81, 80, 85, 63, 37, 65,
+  103, 75, 88, 91, 100, 87, 96, 93, 65, 88, 63, 30, 108, 127, 115, 102,
+  99, 80, 83, 103, 89, 88, 56, 95, 157, 140, 116, 106, 93, 84, 61, 52,
+  48, 44, 41, 40, 37, 36, 34, 32, 30, 28, 26, 26, 25, 26, 26, 12,
+  22, 42, 57, 61, 57, 64, 65, 65, 68, 57, 59, 52, 72, 144, 116, 104,
+  118, 112, 111, 107, 107, 102, 42, 114, 120, 106, 106, 106, 95, 111, 102, 100,
+  100, 106, 72, 32, 96, 119, 126, 108, 104, 100, 103, 99, 89, 75, 10, 115,
+  134, 127, 134, 95, 96, 115, 99, 100, 112, 116, 106, 8, 138, 128, 116, 135,
+  111, 110, 111, 102, 100, 119, 97, 45, 112, 155, 123, 115, 116, 116, 111, 123,
+  114, 84, 52, 91, 138, 140, 122, 111, 120, 104, 119, 116, 114, 102, 92, 17,
+  147, 115, 131, 112, 126, 110, 146, 114, 106, 96, 51, 123, 161, 135, 140, 124,
+  124, 127, 107, 104, 103, 93, 0, 126, 142, 143, 115, 128, 116, 124, 127, 138,
+  118, 87, 10, 139, 155, 131, 126, 118, 116, 115, 119, 103, 95, 103, 89, 2,
+  158, 170, 139, 142, 124, 135, 131, 135, 120, 124, 119, 88, 14, 134, 155, 130,
+  131, 146, 147, 136, 128, 97, 106, 10, 143, 159, 131, 138, 126, 126, 127, 132,
+  127, 131, 106, 13, 143, 159, 143, 144, 138, 142, 139, 140, 122, 135, 104, 6,
+  136, 148, 143, 143, 162, 139, 135, 138, 142, 143, 111, 18, 179, 179, 173, 167,
+  162, 171, 161, 163, 162, 158, 77, 151, 159, 161, 153, 159, 148, 138, 138, 127,
+  128, 122, 123, 59, 157, 175, 163, 140, 153, 147, 136, 134, 139, 111, 60, 112,
+  173, 150, 147, 143, 139, 136, 138, 143, 143, 100, 89, 126, 173, 173, 157, 150,
+  139, 161, 151, 144, 165, 142, 135, 10, 162, 185, 182, 181, 169, 165, 163, 167,
+  171, 167, 166, 83, 154, 175, 150, 138, 135, 131, 130, 138, 128, 150, 102, 22,
+  170, 175, 163, 162, 165, 162, 157, 163, 155, 148, 108, 0, 161, 163, 158, 159,
+  158, 157, 159, 161, 132, 138, 55, 155, 157, 147, 166, 158, 174, 153, 153, 162,
+  159, 143, 128, 46, 110, 128, 122, 126, 124, 131, 130, 120, 130, 97, 65, 114,
+  191, 178, 167, 169, 163, 165, 167, 185, 158, 155, 142, 83, 169, 194, 171, 179,
+  181, 87, 26, 16, 40, 30, 25, 81, 12, 0, 0, 26, 42, 55, 14, 38,
+  12, 28, 1, 5, 21, 6, 2, 28, 61, 83, 80, 77, 48, 81, 59, 56,
+  73, 28, 12, 29, 81, 79, 55, 55, 56, 41, 56, 51, 46, 25, 1, 87,
+  99, 55, 55, 52, 64, 69, 45, 45, 49, 34, 1, 107, 93, 83, 46, 42,
+  44, 69, 51, 51, 55, 38, 92, 65, 55, 48, 57, 92, 55, 52, 59, 65,
+  53, 65, 21, 102, 83, 65, 68, 59, 61, 91, 56, 71, 61, 44, 80, 118,
+  102, 73, 100, 72, 63, 73, 106, 69, 67, 51, 0, 83, 87, 118, 75, 73,
+  63, 68, 63, 110, 69, 52, 5, 99, 115, 85, 85, 77, 77, 103, 83, 77,
+  69, 56, 0, 88, 126, 85, 81, 83, 84, 81, 106, 77, 76, 45, 0, 103,
+  77, 85, 77, 75, 75, 80, 77, 79, 65, 38, 32, 67, 112, 89, 83, 68,
+  81, 69, 71, 69, 91, 67, 28, 120, 123, 120, 89, 107, 83, 81, 102, 83,
+  85, 60, 83, 144, 138, 140, 108, 103, 92, 80, 67, 63, 52, 48, 42, 38,
+  38, 36, 38, 36, 40, 36, 36, 34, 30, 40, 10, 40, 61, 63, 61, 79,
+  76, 83, 88, 87, 60, 59, 44, 71, 150, 115, 126, 92, 118, 126, 93, 104,
+  99, 44, 107, 120, 107, 110, 99, 95, 119, 102, 103, 99, 110, 76, 36, 100,
+  118, 119, 108, 100, 102, 103, 102, 88, 75, 8, 118, 131, 124, 146, 93, 96,
+  106, 96, 100, 102, 107, 73, 8, 102, 124, 108, 143, 115, 114, 110, 103, 104,
+  122, 99, 40, 111, 155, 118, 115, 118, 111, 119, 110, 108, 87, 49, 103, 136,
+  144, 111, 111, 104, 115, 112, 106, 103, 99, 91, 2, 131, 119, 126, 111, 131,
+  108, 134, 114, 104, 93, 32, 118, 161, 139, 143, 124, 122, 114, 112, 108, 107,
+  92, 0, 131, 135, 154, 112, 119, 118, 118, 126, 140, 123, 88, 8, 142, 159,
+  132, 135, 114, 122, 112, 127, 104, 93, 100, 92, 0, 130, 139, 116, 151, 124,
+  134, 124, 134, 120, 126, 118, 88, 12, 139, 159, 130, 126, 146, 132, 132, 130,
+  114, 110, 0, 142, 154, 139, 124, 123, 126, 122, 144, 128, 139, 110, 5, 130,
+  158, 153, 135, 139, 135, 132, 130, 119, 139, 107, 6, 134, 150, 140, 157, 165,
+  150, 135, 138, 139, 131, 112, 13, 161, 174, 178, 163, 161, 174, 159, 159, 158,
+  159, 71, 158, 169, 147, 155, 153, 147, 131, 151, 128, 127, 131, 122, 53, 159,
+  171, 142, 162, 134, 136, 143, 138, 139, 122, 76, 84, 167, 148, 143, 142, 132,
+  143, 126, 143, 146, 108, 68, 122, 169, 177, 155, 142, 138, 165, 151, 143, 171,
+  135, 139, 6, 166, 186, 178, 165, 163, 161, 169, 181, 171, 161, 170, 67, 157,
+  170, 161, 136, 135, 126, 132, 139, 138, 139, 107, 0, 136, 171, 155, 155, 155,
+  161, 157, 165, 147, 165, 107, 0, 153, 161, 158, 155, 151, 159, 158, 157, 153,
+  148, 60, 102, 182, 147, 153, 154, 169, 153, 150, 161, 166, 143, 123, 36, 111,
+  126, 123, 123, 122, 124, 122, 119, 131, 96, 59, 123, 183, 170, 163, 169, 155,
+  167, 154, 181, 167, 165, 142, 71, 170, 197, 173, 182, 167, 87, 21, 24, 29,
+  33, 24, 83, 12, 0, 0, 16, 33, 63, 8, 48, 8, 22, 0, 12, 5,
+  10, 1, 10, 51, 89, 85, 89, 44, 77, 95, 38, 81, 25, 13, 12, 95,
+  85, 42, 41, 44, 60, 60, 44, 44, 25, 1, 91, 102, 57, 46, 51, 51,
+  46, 46, 45, 49, 36, 1, 107, 95, 93, 46, 45, 46, 51, 52, 49, 48,
+  33, 97, 59, 51, 46, 93, 69, 48, 53, 56, 67, 57, 52, 18, 88, 85,
+  63, 57, 57, 61, 102, 55, 67, 60, 41, 91, 122, 108, 69, 103, 59, 68,
+  73, 108, 68, 68, 55, 0, 75, 83, 118, 63, 77, 63, 72, 63, 131, 57,
+  49, 0, 110, 115, 81, 83, 75, 75, 111, 79, 73, 71, 55, 0, 80, 124,
+  80, 81, 77, 75, 83, 118, 81, 81, 48, 0, 91, 83, 81, 73, 72, 83,
+  76, 77, 72, 60, 41, 38, 67, 115, 115, 69, 83, 75, 64, 69, 65, 107,
+  64, 24, 116, 127, 131, 92, 114, 112, 79, 95, 84, 77, 59, 77, 131, 140,
+  131, 128, 107, 97, 89, 83, 75, 65, 52, 52, 51, 48, 46, 46, 34, 37,
+  36, 33, 30, 30, 45, 8, 42, 65, 55, 77, 71, 71, 89, 107, 104, 81,
+  59, 53, 63, 153, 110, 131, 93, 124, 108, 97, 102, 87, 37, 110, 116, 104,
+  108, 99, 96, 128, 97, 104, 96, 123, 83, 40, 102, 112, 100, 102, 103, 103,
+  97, 104, 89, 72, 1, 120, 120, 120, 158, 93, 95, 100, 95, 102, 100, 112,
+  84, 4, 110, 128, 110, 143, 112, 114, 106, 104, 99, 130, 92, 33, 114, 165,
+  115, 116, 115, 108, 106, 107, 106, 87, 55, 91, 139, 118, 111, 108, 108, 107,
+  110, 114, 107, 96, 89, 2, 144, 119, 122, 110, 140, 107, 146, 108, 100, 87,
+  30, 115, 161, 130, 148, 118, 118, 119, 108, 100, 112, 97, 1, 148, 135, 146,
+  111, 122, 139, 140, 126, 147, 127, 92, 5, 155, 166, 135, 135, 112, 116, 115,
+  138, 116, 91, 104, 92, 0, 134, 158, 138, 151, 124, 130, 127, 142, 116, 130,
+  119, 93, 6, 143, 154, 130, 128, 150, 128, 136, 128, 103, 110, 0, 146, 163,
+  136, 123, 128, 114, 120, 150, 130, 111, 107, 4, 131, 157, 161, 135, 134, 131,
+  127, 114, 118, 150, 108, 5, 132, 146, 142, 157, 173, 136, 135, 138, 140, 146,
+  119, 8, 166, 182, 182, 163, 155, 178, 155, 155, 155, 155, 44, 165, 167, 162,
+  147, 163, 147, 134, 143, 124, 127, 120, 126, 38, 167, 171, 143, 169, 131, 142,
+  139, 138, 138, 122, 84, 71, 169, 148, 143, 132, 154, 143, 128, 143, 139, 107,
+  72, 96, 144, 182, 154, 144, 134, 159, 147, 138, 165, 144, 132, 6, 169, 189,
+  179, 161, 161, 161, 166, 181, 169, 163, 169, 52, 162, 170, 162, 134, 130, 123,
+  131, 131, 131, 135, 114, 0, 131, 171, 146, 147, 146, 155, 157, 171, 147, 150,
+  115, 0, 150, 159, 161, 155, 151, 153, 154, 161, 157, 135, 104, 68, 182, 162,
+  151, 159, 167, 155, 147, 161, 151, 153, 118, 29, 102, 127, 128, 140, 116, 124,
+  116, 119, 131, 89, 48, 127, 186, 165, 163, 170, 153, 170, 162, 175, 154, 157,
+  146, 56, 182, 194, 167, 167, 166 };
diff --git a/examples/img/logo.bmp b/examples/img/logo.bmp
new file mode 100644
index 0000000..4b21da3
Binary files /dev/null and b/examples/img/logo.bmp differ
diff --git a/examples/img/milla.bmp b/examples/img/milla.bmp
new file mode 100644
index 0000000..54350e9
Binary files /dev/null and b/examples/img/milla.bmp differ
diff --git a/examples/img/odykill.h b/examples/img/odykill.h
new file mode 100644
index 0000000..cfeafff
--- /dev/null
+++ b/examples/img/odykill.h
@@ -0,0 +1,79162 @@
+/*------------------------------------------------------------
+
+  Define hard-coded color images used in the 'odykill.cpp'
+  example file, so that the corresponding executable does not
+  depend on additional data files.
+
+--------------------------------------------------------------*/
+
+/* Define image 'brain' of size 100x100x1x3 and type 'const unsigned char' */
+const unsigned char data_brain[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 251, 139, 89, 7, 7, 7, 7, 7, 7, 7, 7, 105,
+  150, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 208, 147, 43, 15, 15, 15,
+  15, 15, 15, 15, 15, 112, 147, 147, 88, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 51, 151, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 121, 13, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  68, 92, 92, 92, 92, 56, 0, 0, 0, 0, 0, 105, 235, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  159, 0, 0, 0, 0, 11, 85, 85, 85, 85, 85, 53, 0, 0, 0, 0,
+  0, 0, 114, 207, 229, 236, 236, 236, 236, 224, 206, 116, 7, 0, 0, 0,
+  76, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 253, 170, 170, 170, 170, 161, 39, 39,
+  39, 39, 39, 39, 3, 0, 0, 47, 174, 205, 237, 237, 237, 237, 237, 223,
+  200, 161, 39, 0, 37, 200, 229, 237, 237, 236, 236, 236, 236, 236, 236, 236,
+  202, 95, 0, 0, 0, 215, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 169, 47, 46, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 33, 219, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 215, 193, 212, 237, 237, 237, 237, 236, 236, 236,
+  236, 236, 236, 236, 236, 225, 135, 0, 0, 113, 198, 178, 142, 47, 47, 47,
+  47, 47, 47, 84, 182, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 75, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 27, 63, 63, 28, 0, 0, 0, 178, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 236, 236, 236, 236, 236, 236, 236, 236, 237, 230, 23, 0, 8, 14, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 2, 138, 242, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 240, 194, 194, 194,
+  115, 0, 0, 0, 23, 56, 100, 178, 178, 178, 178, 203, 237, 237, 188, 38,
+  0, 14, 208, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 236, 236, 236, 236, 236, 236, 236, 236, 237, 237, 111,
+  0, 0, 0, 0, 0, 0, 35, 55, 55, 55, 4, 0, 0, 0, 103, 254,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 145,
+  53, 0, 0, 0, 0, 0, 3, 129, 198, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 216, 171, 187, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 236, 236, 236, 236, 236, 236, 236,
+  236, 237, 237, 196, 9, 0, 16, 60, 170, 170, 211, 236, 236, 236, 175, 72,
+  0, 0, 0, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 249, 116, 8, 0, 0, 0, 0, 0, 0, 101, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 236, 236,
+  236, 236, 236, 236, 236, 237, 237, 237, 178, 163, 187, 236, 236, 236, 236, 236,
+  236, 236, 236, 215, 105, 0, 0, 12, 193, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 139, 0, 0, 0, 28, 34, 7, 0, 61, 228, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 236, 236, 236, 236, 236, 237, 237, 237, 237, 237, 236, 236, 236,
+  236, 236, 236, 236, 236, 236, 236, 236, 232, 71, 0, 0, 29, 228, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 185, 5, 0, 1, 56, 222, 237, 53,
+  0, 169, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 236, 208, 196, 196, 196, 195, 234, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 216, 39, 0,
+  0, 66, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 23, 0, 0, 81,
+  237, 237, 237, 68, 19, 175, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 235, 215, 224, 237, 237, 237, 217, 210, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
+  236, 236, 198, 9, 0, 10, 199, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 149,
+  0, 0, 45, 225, 237, 236, 236, 236, 236, 236, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 216, 210, 237, 237, 237, 237, 237,
+  206, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 236, 236, 236, 236, 236, 236, 236,
+  236, 236, 236, 236, 236, 236, 236, 155, 0, 0, 68, 253, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 252, 48, 0, 15, 205, 237, 236, 236, 236, 236, 236, 236, 236, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 216, 224, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 236, 236, 236,
+  236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 217, 33, 0, 0, 222,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 149, 0, 0, 78, 237, 236, 236, 236, 236, 236,
+  236, 236, 236, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 216, 224, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
+  155, 0, 0, 169, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 169, 17, 2, 1, 0, 0, 173, 236, 236,
+  236, 236, 236, 236, 236, 236, 236, 236, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 231, 198, 196, 186, 224, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 231, 199, 203, 236, 236, 236, 236, 236, 236, 236, 236,
+  236, 236, 236, 236, 235, 16, 0, 67, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 179, 3, 0, 0, 0, 0,
+  81, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 205, 234, 237, 225, 230, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 205, 233, 230, 209, 237, 237, 237,
+  236, 236, 236, 236, 236, 236, 236, 236, 236, 59, 0, 7, 141, 141, 207, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 119, 0,
+  0, 21, 94, 97, 197, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 204, 237, 237, 237, 237, 237,
+  237, 237, 237, 206, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 207, 233, 237, 237,
+  214, 211, 196, 196, 209, 236, 236, 236, 236, 236, 236, 236, 237, 154, 0, 0,
+  0, 0, 10, 18, 33, 180, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 114, 0, 47, 204, 222, 234, 237, 236, 236, 236, 236, 236, 236, 236,
+  236, 236, 236, 236, 237, 237, 237, 237, 237, 237, 237, 237, 237, 210, 230, 237,
+  237, 237, 237, 237, 237, 237, 211, 229, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 207, 186, 196, 196, 201, 237, 237, 237, 237, 237, 237, 237, 221,
+  219, 237, 237, 237, 234, 186, 237, 237, 223, 199, 234, 236, 236, 236, 236, 236,
+  237, 221, 27, 0, 0, 0, 0, 0, 0, 7, 186, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 240, 104, 0, 105, 222, 222, 224, 235, 236, 236, 236,
+  236, 236, 236, 236, 236, 236, 236, 236, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 207, 233, 237, 237, 237, 237, 237, 237, 233, 208, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 221, 208, 229, 237, 237, 204, 237, 237, 237, 237,
+  237, 237, 237, 226, 226, 237, 237, 237, 237, 232, 237, 237, 237, 219, 221, 237,
+  237, 237, 237, 237, 237, 237, 214, 205, 177, 83, 83, 20, 0, 0, 22, 222,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 104, 0, 105, 222, 222, 222,
+  233, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 207, 233, 237, 237, 237, 237, 237, 237, 225, 215, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 204,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 212, 229, 237, 237, 237, 237, 237, 237, 236, 236, 236, 236, 236, 207,
+  44, 0, 0, 57, 240, 255, 255, 255, 255, 255, 255, 255, 255, 229, 104, 0,
+  105, 222, 222, 222, 233, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 207, 233, 237, 237, 237, 237, 237,
+  237, 225, 215, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 213, 214, 214, 214, 214, 214, 220, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 235, 232, 237, 237, 237, 237, 237, 236, 236, 236,
+  236, 236, 236, 236, 198, 20, 0, 0, 124, 255, 255, 255, 255, 255, 255, 255,
+  255, 229, 104, 0, 105, 222, 222, 222, 233, 236, 236, 236, 236, 236, 236, 236,
+  236, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 215, 226, 237,
+  237, 237, 237, 237, 237, 228, 212, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 235, 203, 219, 219, 219, 219, 212, 206, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 236, 236, 236, 236, 236, 236, 236, 236, 163, 7, 0, 23, 227, 255, 255,
+  255, 255, 255, 255, 255, 229, 104, 0, 105, 222, 222, 222, 233, 236, 236, 236,
+  236, 236, 236, 236, 236, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 204, 237, 237, 237, 237, 237, 237, 237, 204, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 204, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 236, 236, 236, 236, 236, 236, 236, 236, 236, 101, 0,
+  0, 71, 255, 255, 255, 255, 255, 255, 255, 229, 86, 0, 105, 222, 222, 222,
+  229, 236, 236, 236, 236, 236, 236, 236, 236, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 204, 237, 237, 237, 237, 237, 237, 237, 197, 198,
+  221, 228, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 204, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 236, 236, 236, 236, 236, 236, 236,
+  236, 236, 197, 16, 0, 44, 255, 255, 255, 255, 255, 255, 255, 161, 4, 0,
+  105, 222, 222, 222, 226, 235, 236, 236, 236, 236, 236, 236, 236, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 226, 237, 237, 237, 237, 237,
+  237, 237, 237, 234, 208, 204, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 204, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 236, 236, 236,
+  236, 236, 236, 236, 236, 236, 236, 150, 0, 14, 213, 255, 255, 255, 255, 255,
+  225, 20, 0, 0, 117, 222, 222, 222, 222, 235, 236, 236, 236, 236, 236, 236,
+  235, 226, 231, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 216, 224, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 234, 207, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 181, 0, 0, 194, 255,
+  255, 255, 255, 255, 144, 0, 0, 50, 212, 222, 222, 222, 222, 236, 236, 236,
+  236, 236, 236, 237, 213, 206, 201, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 216, 224, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 217, 192, 216, 232, 237, 237, 237, 237, 237, 237, 237, 237, 230, 228, 228,
+  232, 237, 237, 237, 237, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 215,
+  26, 0, 194, 255, 255, 255, 255, 255, 43, 0, 15, 195, 222, 222, 222, 222,
+  222, 236, 237, 237, 237, 237, 237, 234, 206, 237, 206, 235, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  216, 224, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 216, 201, 231, 237, 237, 237, 237, 237, 237,
+  237, 212, 204, 204, 200, 219, 237, 237, 237, 237, 236, 236, 236, 236, 236, 236,
+  236, 236, 236, 236, 42, 0, 194, 255, 255, 255, 255, 255, 0, 0, 77, 222,
+  222, 222, 222, 222, 222, 236, 237, 237, 237, 237, 237, 208, 233, 237, 234, 206,
+  237, 237, 237, 237, 235, 215, 196, 227, 235, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 216, 223, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 190, 236, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 235, 206, 237, 237, 237, 237, 237, 236,
+  236, 236, 236, 236, 236, 236, 236, 205, 19, 0, 190, 255, 255, 255, 255, 255,
+  0, 0, 165, 222, 222, 222, 222, 222, 222, 236, 237, 237, 237, 237, 237, 223,
+  235, 237, 237, 204, 236, 237, 237, 237, 212, 213, 237, 205, 197, 210, 236, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 227, 198, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 224, 216, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 212, 229, 237,
+  237, 237, 237, 237, 236, 236, 236, 236, 236, 236, 236, 180, 0, 0, 183, 254,
+  255, 255, 255, 255, 0, 38, 215, 222, 222, 222, 222, 222, 222, 236, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 217, 223, 237, 237, 237, 224, 232, 237, 237,
+  237, 191, 233, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 188, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 214, 226, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 219, 222, 237, 237, 237, 237, 237, 237, 236, 236, 236, 236, 236, 236, 84,
+  0, 20, 208, 250, 255, 255, 255, 255, 0, 78, 222, 222, 222, 222, 222, 222,
+  224, 236, 237, 237, 237, 237, 237, 237, 237, 237, 237, 217, 223, 237, 237, 237,
+  237, 237, 237, 237, 237, 207, 198, 200, 233, 237, 237, 237, 237, 237, 237, 237,
+  237, 235, 196, 196, 166, 209, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 219, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 204, 236, 237, 237, 237, 237, 237, 237, 237, 236, 236,
+  236, 236, 236, 84, 0, 40, 237, 239, 255, 255, 255, 255, 0, 78, 222, 222,
+  222, 222, 222, 222, 230, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 225,
+  195, 223, 237, 237, 237, 237, 237, 237, 237, 235, 232, 232, 199, 209, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 207, 232, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 221, 220, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 84, 0, 2, 141, 237, 249, 255, 255, 255,
+  0, 78, 222, 222, 222, 222, 222, 222, 222, 233, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 236, 204, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 223, 204, 237, 237, 237, 237, 237, 237, 237, 222, 219, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 215, 196, 199, 210,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 124, 0, 0, 6, 94,
+  249, 255, 255, 255, 0, 49, 217, 222, 222, 222, 222, 222, 222, 223, 235, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 220, 221, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 200, 237, 237, 237, 237, 237, 237, 237, 221, 220,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 233, 222, 214, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 202,
+  52, 0, 0, 17, 223, 255, 255, 255, 0, 0, 209, 222, 222, 222, 222, 222,
+  222, 222, 225, 236, 237, 237, 237, 237, 237, 237, 237, 237, 237, 234, 202, 224,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 214, 226, 237, 237, 237, 237,
+  237, 237, 221, 220, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 218, 223, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 223, 67, 0, 0, 87, 254, 255, 255, 0, 0, 133, 222,
+  222, 222, 222, 222, 222, 222, 222, 233, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 204, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 209, 231,
+  237, 237, 237, 237, 237, 237, 221, 220, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 236, 236, 236, 236, 236, 236, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 211, 229, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 208, 17, 0, 12, 223, 255, 255,
+  0, 0, 37, 203, 222, 222, 222, 222, 222, 222, 222, 223, 235, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 210, 230, 237, 237, 237, 237, 237, 237, 237,
+  237, 231, 210, 237, 237, 237, 237, 237, 237, 237, 233, 207, 237, 237, 237, 237,
+  237, 237, 237, 172, 171, 171, 171, 171, 171, 171, 181, 236, 236, 236, 233, 170,
+  170, 170, 170, 231, 236, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 230, 210, 237, 237, 237, 237, 237, 236, 236, 236, 236, 236, 237, 133, 0,
+  0, 217, 255, 255, 80, 0, 0, 37, 52, 140, 222, 222, 222, 222, 222, 222,
+  217, 196, 200, 232, 237, 237, 237, 237, 237, 237, 237, 218, 198, 237, 237, 237,
+  237, 237, 237, 237, 237, 232, 234, 237, 237, 237, 237, 237, 237, 237, 237, 204,
+  237, 237, 237, 237, 235, 102, 56, 1, 0, 0, 0, 0, 0, 0, 8, 146,
+  166, 55, 53, 0, 0, 0, 0, 113, 217, 236, 236, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 212, 229, 237, 237, 237, 236, 236, 236, 236, 236,
+  236, 236, 217, 11, 0, 217, 255, 255, 191, 12, 0, 0, 0, 52, 222, 222,
+  222, 222, 222, 222, 224, 236, 225, 215, 237, 237, 237, 237, 237, 237, 237, 201,
+  231, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 228, 237, 237, 237, 237, 137, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 43, 191, 236, 236,
+  236, 237, 237, 237, 237, 237, 237, 237, 237, 237, 212, 229, 237, 237, 236, 236,
+  236, 236, 236, 236, 236, 236, 237, 14, 0, 196, 255, 255, 255, 150, 47, 13,
+  0, 15, 195, 222, 222, 222, 222, 222, 222, 234, 237, 207, 234, 237, 237, 237,
+  237, 237, 237, 227, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 225, 28, 0, 0, 42,
+  83, 166, 165, 165, 165, 51, 0, 0, 0, 0, 19, 43, 91, 89, 0, 0,
+  0, 31, 174, 236, 236, 237, 237, 237, 237, 237, 237, 237, 237, 226, 214, 237,
+  237, 237, 236, 236, 236, 236, 236, 236, 236, 236, 236, 14, 0, 119, 255, 255,
+  255, 255, 255, 144, 0, 0, 169, 222, 222, 222, 222, 222, 222, 230, 237, 227,
+  213, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 225, 200, 118, 78, 78, 78, 78, 78, 78, 57,
+  0, 0, 75, 234, 237, 237, 236, 236, 236, 205, 68, 0, 3, 69, 193, 236,
+  236, 223, 117, 17, 0, 0, 148, 236, 236, 236, 236, 237, 237, 237, 237, 211,
+  193, 206, 237, 237, 237, 237, 236, 236, 236, 236, 236, 236, 236, 236, 236, 14,
+  0, 119, 255, 255, 255, 255, 255, 188, 3, 0, 92, 222, 222, 222, 222, 222,
+  222, 227, 237, 237, 204, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 236, 235, 235, 235, 225, 140, 58, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 6, 194, 237, 237, 237, 236, 236, 236, 236, 187, 150,
+  158, 236, 236, 236, 236, 236, 236, 180, 9, 0, 148, 236, 236, 236, 236, 237,
+  237, 237, 237, 232, 209, 236, 237, 237, 237, 237, 236, 236, 236, 236, 236, 236,
+  236, 236, 226, 12, 0, 119, 255, 255, 255, 255, 255, 255, 29, 0, 83, 222,
+  222, 222, 222, 222, 222, 222, 227, 234, 185, 196, 196, 218, 235, 237, 237, 237,
+  237, 237, 237, 237, 236, 235, 228, 227, 224, 222, 222, 217, 81, 0, 0, 0,
+  0, 0, 21, 21, 21, 21, 20, 0, 0, 57, 237, 237, 237, 237, 236, 236,
+  236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 172, 143, 201, 236,
+  236, 236, 236, 236, 237, 237, 237, 237, 226, 215, 237, 237, 237, 237, 236, 236,
+  236, 236, 236, 236, 236, 236, 153, 0, 0, 129, 255, 255, 255, 255, 255, 255,
+  89, 0, 0, 222, 222, 222, 222, 222, 222, 222, 222, 224, 232, 237, 237, 215,
+  212, 237, 237, 237, 237, 237, 237, 236, 230, 222, 222, 222, 222, 222, 222, 125,
+  0, 0, 0, 13, 96, 139, 237, 237, 237, 237, 228, 136, 136, 198, 237, 237,
+  237, 237, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
+  236, 236, 236, 236, 236, 236, 236, 236, 236, 237, 237, 237, 237, 216, 192, 227,
+  235, 237, 236, 236, 236, 236, 236, 236, 236, 236, 153, 0, 4, 226, 255, 255,
+  255, 255, 255, 255, 137, 0, 0, 219, 222, 222, 222, 222, 222, 222, 222, 222,
+  222, 231, 236, 237, 204, 237, 237, 237, 237, 237, 237, 233, 222, 222, 222, 222,
+  222, 222, 222, 86, 0, 1, 96, 226, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
+  236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 237, 237,
+  237, 200, 199, 199, 206, 236, 237, 236, 236, 236, 236, 236, 236, 236, 153, 0,
+  33, 238, 255, 255, 255, 255, 255, 255, 239, 0, 0, 131, 222, 222, 222, 222,
+  222, 222, 222, 222, 222, 222, 228, 229, 199, 229, 229, 229, 229, 229, 229, 223,
+  222, 222, 222, 222, 222, 222, 222, 86, 0, 80, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 236, 236, 236, 236, 236,
+  236, 236, 236, 237, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236,
+  236, 236, 237, 237, 223, 218, 226, 199, 219, 222, 237, 236, 236, 236, 236, 236,
+  236, 236, 153, 0, 0, 170, 255, 255, 255, 255, 255, 255, 239, 0, 0, 87,
+  222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 195, 222, 222, 222,
+  222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 86, 0, 124, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 236, 236, 236, 236, 236,
+  236, 236, 236, 236, 236, 236, 236, 237, 237, 237, 226, 215, 237, 204, 237, 236,
+  236, 236, 236, 236, 236, 236, 193, 7, 0, 0, 164, 255, 255, 255, 255, 255,
+  254, 86, 0, 21, 198, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
+  195, 222, 222, 222, 222, 222, 222, 222, 222, 222, 208, 85, 6, 6, 6, 2,
+  0, 124, 237, 237, 237, 237, 237, 237, 237, 237, 233, 201, 216, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 236,
+  236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 237, 210, 200, 207, 236,
+  237, 204, 237, 236, 236, 236, 236, 236, 236, 236, 236, 58, 0, 0, 63, 255,
+  255, 255, 255, 255, 255, 133, 0, 0, 132, 222, 222, 222, 222, 222, 222, 222,
+  222, 222, 222, 213, 187, 211, 222, 222, 222, 222, 222, 222, 222, 222, 67, 0,
+  0, 0, 0, 0, 0, 127, 237, 237, 237, 237, 237, 237, 237, 226, 200, 232,
+  216, 207, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 237,
+  233, 232, 237, 237, 237, 204, 237, 237, 236, 236, 236, 236, 236, 236, 236, 215,
+  29, 0, 3, 212, 255, 255, 255, 255, 255, 217, 17, 0, 79, 222, 222, 222,
+  222, 222, 222, 222, 222, 222, 222, 222, 221, 199, 204, 222, 222, 222, 222, 222,
+  205, 45, 0, 0, 0, 57, 85, 0, 0, 168, 237, 237, 237, 237, 237, 237,
+  232, 209, 236, 237, 237, 225, 200, 236, 226, 208, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 232, 186, 196, 196, 201, 236, 236, 236, 236, 236, 236,
+  236, 236, 236, 237, 237, 237, 237, 237, 215, 226, 237, 237, 236, 236, 236, 236,
+  236, 236, 237, 237, 158, 0, 0, 209, 255, 255, 255, 255, 255, 255, 81, 0,
+  9, 178, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 196, 220,
+  222, 222, 222, 222, 146, 0, 0, 0, 128, 212, 221, 199, 206, 235, 237, 237,
+  237, 237, 237, 237, 207, 234, 237, 237, 237, 237, 233, 185, 206, 228, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 235, 230, 237, 237, 204, 236, 236,
+  236, 236, 236, 236, 236, 236, 236, 237, 237, 237, 237, 223, 205, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 228, 24, 0, 209, 255, 255, 255, 255,
+  255, 255, 149, 0, 0, 41, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
+  222, 222, 218, 199, 222, 222, 222, 220, 58, 0, 9, 109, 218, 222, 222, 230,
+  237, 237, 237, 222, 196, 196, 193, 210, 230, 237, 237, 237, 237, 237, 237, 231,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 214, 227, 236, 236, 236, 236, 236, 236, 236, 236, 237, 237, 237, 218, 195,
+  232, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 28, 0, 209,
+  255, 255, 255, 255, 255, 255, 234, 31, 0, 5, 142, 222, 222, 222, 222, 222,
+  222, 222, 222, 222, 222, 222, 222, 195, 222, 222, 222, 218, 0, 0, 57, 222,
+  222, 222, 222, 222, 232, 237, 237, 204, 237, 237, 217, 190, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 233, 202, 212, 216, 236, 236, 236, 236, 236, 236, 237,
+  237, 237, 232, 202, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 28, 0, 209, 255, 255, 255, 255, 255, 255, 255, 186, 0, 0, 14, 178,
+  222, 222, 222, 222, 222, 222, 222, 222, 221, 191, 192, 214, 222, 222, 222, 218,
+  0, 0, 121, 222, 222, 222, 222, 222, 223, 236, 237, 204, 237, 237, 233, 226,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 236, 210, 219, 202, 230, 236, 236,
+  236, 236, 237, 237, 237, 237, 237, 226, 214, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 156, 6, 0, 209, 255, 255, 255, 255, 255, 255, 255, 243,
+  69, 0, 0, 34, 175, 169, 179, 222, 222, 222, 222, 222, 221, 206, 218, 222,
+  222, 222, 222, 218, 0, 0, 121, 222, 222, 222, 222, 222, 222, 236, 237, 204,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  233, 207, 236, 236, 236, 237, 237, 237, 237, 237, 237, 236, 205, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 193, 17, 0, 0, 209, 255, 255, 255, 255,
+  255, 255, 255, 255, 182, 24, 0, 0, 0, 0, 11, 61, 214, 222, 222, 222,
+  222, 222, 222, 222, 222, 222, 222, 219, 18, 0, 102, 222, 222, 222, 222, 222,
+  222, 236, 237, 209, 231, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 217,
+  196, 196, 217, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 204, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  204, 237, 237, 237, 237, 237, 237, 237, 237, 237, 219, 38, 0, 0, 64, 242,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 12, 0, 0, 0, 0, 0,
+  147, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 87, 0, 30, 222,
+  222, 222, 222, 222, 222, 236, 237, 230, 210, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 215, 215, 237, 237, 216, 225, 234, 223, 223, 223, 223, 223, 229, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 234, 206, 237, 237, 237, 237, 237, 237,
+  226, 224, 237, 236, 205, 237, 237, 237, 237, 237, 237, 237, 237, 237, 86, 0,
+  0, 28, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 168,
+  168, 58, 0, 0, 110, 225, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
+  100, 0, 10, 168, 222, 222, 222, 222, 222, 236, 237, 230, 210, 237, 237, 237,
+  237, 237, 237, 237, 237, 226, 215, 237, 237, 237, 237, 187, 210, 210, 210, 210,
+  210, 210, 203, 217, 237, 237, 237, 237, 237, 237, 237, 237, 232, 230, 237, 237,
+  237, 237, 237, 208, 206, 208, 199, 231, 208, 237, 237, 237, 237, 237, 237, 237,
+  237, 131, 19, 0, 10, 193, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 254, 64, 0, 11, 180, 223, 222, 222, 222, 222, 222,
+  222, 222, 222, 222, 179, 0, 0, 69, 222, 222, 222, 222, 230, 237, 237, 234,
+  227, 237, 237, 237, 237, 237, 237, 237, 237, 222, 222, 237, 237, 237, 237, 223,
+  225, 237, 237, 237, 237, 237, 235, 205, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 204, 237, 237, 216, 198, 226, 237, 237, 237,
+  237, 237, 237, 237, 176, 0, 0, 0, 140, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 111, 0, 0, 0, 96, 209,
+  203, 203, 203, 206, 222, 222, 222, 222, 124, 0, 0, 69, 222, 222, 222, 222,
+  227, 236, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 236, 204, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 234, 207, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 140, 0, 0, 24, 221, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 8,
+  0, 0, 0, 0, 0, 0, 0, 12, 134, 222, 222, 219, 37, 0, 1, 124,
+  222, 222, 222, 222, 222, 225, 234, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 235, 201, 224,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 235, 236, 237, 205, 236,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 140, 0, 0, 121,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 212, 65, 1, 0, 0, 0, 0, 0, 0, 31, 209, 222, 169,
+  0, 0, 79, 222, 222, 222, 222, 222, 222, 222, 224, 236, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  236, 214, 226, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 226,
+  214, 237, 205, 236, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  142, 0, 0, 13, 214, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 164, 66, 0, 0, 24, 28, 0,
+  0, 153, 222, 126, 0, 0, 167, 222, 222, 222, 222, 222, 222, 222, 222, 225,
+  234, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 216, 208, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 219, 197, 213, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 50, 0, 0, 179, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 252,
+  252, 252, 204, 5, 0, 1, 2, 1, 0, 38, 217, 222, 222, 222, 222, 222,
+  222, 222, 222, 222, 224, 235, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 199, 208, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 236, 236, 236, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 214, 26, 0, 179, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 11, 0, 0, 0, 0, 0, 82, 222, 222,
+  222, 222, 222, 222, 222, 222, 222, 222, 222, 225, 201, 215, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 224, 202, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 197, 2, 0,
+  179, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 166, 105, 105, 105, 60,
+  0, 82, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 197, 218, 203,
+  235, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 230, 208, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 65, 0, 0, 179, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 145, 0, 8, 213, 222, 222, 222, 222, 222, 222, 222, 222, 222,
+  183, 210, 222, 223, 207, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 235, 205, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 227, 146, 146, 204, 237, 237, 237,
+  237, 237, 237, 221, 96, 0, 0, 26, 247, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 145, 0, 0, 180, 222, 222, 222, 222, 222,
+  222, 222, 222, 222, 216, 220, 222, 222, 201, 228, 209, 209, 232, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 209, 209, 209, 205, 197, 233, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 235, 164, 153, 184, 227, 197, 36, 0, 0,
+  20, 31, 102, 153, 153, 118, 31, 26, 0, 0, 0, 157, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 233, 0, 0, 92, 222,
+  222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 210, 186, 223, 223,
+  200, 227, 237, 237, 237, 237, 237, 237, 237, 237, 224, 223, 223, 227, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 235, 231, 142, 4, 0, 60, 151,
+  52, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 252,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252,
+  29, 0, 5, 126, 162, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
+  215, 204, 228, 235, 236, 205, 219, 224, 214, 214, 214, 233, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 228, 223, 177, 13,
+  0, 0, 0, 0, 0, 0, 18, 64, 49, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 127, 0, 0, 0, 3, 50, 53, 222, 222, 222, 222, 222,
+  222, 222, 222, 222, 222, 222, 222, 224, 225, 225, 191, 205, 215, 215, 202, 225,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 230,
+  222, 202, 32, 0, 0, 0, 0, 0, 0, 6, 151, 222, 210, 171, 164, 175,
+  182, 182, 186, 47, 0, 0, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 216, 36, 0, 0, 0, 0, 3, 202,
+  222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 195, 221,
+  222, 222, 220, 206, 233, 226, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237,
+  237, 237, 233, 222, 222, 126, 0, 0, 28, 164, 164, 164, 164, 170, 222, 222,
+  222, 222, 182, 226, 236, 236, 131, 0, 0, 56, 239, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 181, 86,
+  46, 0, 0, 135, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
+  222, 222, 222, 222, 222, 222, 222, 195, 205, 223, 237, 237, 237, 237, 237, 237,
+  237, 237, 237, 237, 237, 235, 223, 222, 196, 16, 0, 12, 172, 222, 222, 222,
+  222, 222, 222, 222, 222, 216, 200, 226, 236, 236, 29, 0, 0, 169, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 238, 14, 0, 65, 214, 222, 222, 222, 222, 222, 222, 222,
+  222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 199, 215, 233, 237, 237,
+  237, 237, 237, 237, 237, 237, 237, 237, 237, 226, 222, 222, 171, 0, 0, 77,
+  222, 222, 222, 222, 222, 222, 222, 203, 206, 194, 221, 227, 236, 236, 29, 0,
+  87, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 0, 0, 104, 208, 222, 222,
+  222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
+  222, 227, 237, 237, 237, 237, 237, 237, 237, 237, 237, 237, 233, 222, 222, 222,
+  35, 0, 3, 162, 222, 222, 222, 222, 222, 222, 222, 194, 204, 222, 224, 234,
+  236, 236, 29, 0, 208, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 156, 4, 0,
+  0, 62, 215, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222,
+  222, 222, 222, 222, 222, 227, 237, 237, 237, 237, 237, 237, 237, 237, 237, 234,
+  223, 222, 222, 158, 1, 0, 32, 222, 222, 222, 222, 222, 222, 222, 222, 195,
+  222, 223, 233, 236, 236, 236, 29, 0, 208, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 55, 0, 0, 0, 66, 196, 222, 222, 222, 222, 222, 222, 222, 222,
+  222, 222, 222, 222, 222, 222, 222, 222, 222, 227, 237, 237, 237, 237, 237, 237,
+  237, 237, 233, 222, 222, 221, 181, 17, 0, 0, 167, 222, 222, 222, 222, 222,
+  222, 230, 230, 200, 231, 236, 236, 236, 236, 231, 27, 0, 208, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 252, 115, 2, 0, 0, 8, 98, 148, 214, 222,
+  222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 227, 237, 229,
+  227, 227, 227, 227, 227, 227, 223, 222, 222, 158, 0, 0, 0, 45, 214, 222,
+  222, 222, 222, 219, 221, 237, 236, 205, 236, 236, 236, 236, 236, 164, 0, 0,
+  208, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 110, 1, 0, 0,
+  0, 0, 21, 105, 105, 105, 105, 105, 105, 175, 221, 222, 222, 222, 222, 222,
+  222, 231, 217, 29, 0, 0, 0, 0, 0, 16, 143, 219, 141, 14, 0, 0,
+  19, 195, 222, 222, 222, 223, 235, 223, 217, 237, 214, 226, 236, 236, 236, 236,
+  236, 70, 0, 0, 209, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 183, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 89, 173,
+  222, 222, 222, 222, 228, 237, 55, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 43, 174, 222, 222, 222, 225, 234, 237, 230, 197, 197, 208, 236,
+  236, 236, 236, 236, 236, 70, 0, 58, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 251, 238, 118, 18, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 2, 41, 119, 119, 213, 213, 79, 0, 0, 9, 102, 102, 102,
+  20, 0, 0, 0, 0, 0, 22, 197, 222, 222, 222, 223, 235, 237, 237, 237,
+  235, 235, 235, 236, 236, 236, 236, 236, 223, 38, 0, 161, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 241, 241,
+  241, 241, 241, 203, 61, 0, 0, 0, 0, 0, 0, 10, 9, 0, 0, 0,
+  147, 222, 222, 222, 212, 98, 96, 96, 96, 99, 185, 194, 210, 222, 228, 234,
+  235, 202, 230, 237, 237, 236, 236, 236, 236, 236, 236, 236, 209, 0, 0, 163,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 245, 206, 102, 2, 0, 0, 0, 0,
+  0, 0, 0, 103, 220, 222, 222, 222, 222, 222, 222, 222, 214, 191, 216, 216,
+  202, 225, 236, 212, 197, 214, 222, 237, 223, 236, 236, 236, 236, 236, 236, 236,
+  120, 0, 5, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226,
+  226, 160, 94, 91, 33, 0, 29, 215, 222, 222, 222, 222, 222, 222, 222, 209,
+  189, 221, 222, 222, 214, 217, 203, 220, 223, 207, 235, 232, 209, 236, 236, 236,
+  236, 236, 236, 236, 26, 0, 13, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 253, 95, 0, 111, 222, 222, 222, 222, 222,
+  222, 222, 222, 217, 215, 222, 222, 213, 231, 203, 229, 237, 191, 197, 196, 201,
+  234, 236, 236, 236, 236, 236, 236, 166, 2, 0, 103, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 96, 0, 125, 222,
+  222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 195, 224, 235, 237, 237,
+  224, 231, 237, 237, 237, 237, 236, 236, 236, 236, 223, 56, 0, 0, 205, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  96, 0, 52, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 222, 218, 192,
+  222, 226, 236, 237, 237, 237, 237, 237, 237, 237, 237, 236, 236, 236, 169, 0,
+  0, 58, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 96, 0, 25, 207, 222, 222, 222, 222, 222, 222, 222, 222,
+  222, 222, 204, 206, 222, 222, 235, 237, 237, 223, 178, 178, 178, 208, 237, 237,
+  237, 139, 23, 0, 7, 172, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 119, 0, 0, 128, 218, 222, 222, 222,
+  222, 222, 222, 222, 212, 204, 202, 222, 222, 222, 235, 237, 234, 94, 0, 0,
+  0, 32, 63, 63, 63, 11, 0, 0, 51, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211, 9, 0, 0,
+  122, 222, 222, 222, 222, 222, 222, 222, 222, 192, 222, 222, 222, 222, 235, 224,
+  83, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 209, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 67, 0, 0, 6, 104, 187, 187, 187, 221, 222, 222, 222, 222, 222, 222,
+  222, 222, 232, 94, 0, 0, 0, 93, 39, 39, 39, 39, 39, 39, 61, 234,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 219, 84, 0, 0, 0, 0, 0, 0, 206, 222, 222,
+  222, 222, 222, 222, 222, 204, 135, 0, 0, 7, 84, 253, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 57, 1, 0, 0, 0,
+  0, 49, 172, 211, 222, 222, 222, 222, 191, 21, 0, 0, 1, 129, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  156, 147, 142, 5, 0, 0, 0, 47, 93, 192, 208, 166, 40, 0, 0, 0,
+  78, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 154, 4, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 17, 139, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 110, 0, 0,
+  0, 0, 0, 0, 0, 0, 185, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 251, 139, 89, 7, 7, 7, 7, 7, 7, 7, 7, 105,
+  150, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 208, 147, 43, 15, 15, 15,
+  15, 15, 15, 15, 15, 112, 147, 147, 88, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 51, 151, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 121, 13, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  48, 65, 69, 79, 79, 48, 0, 0, 0, 0, 0, 105, 235, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  159, 0, 0, 0, 0, 8, 60, 60, 60, 60, 60, 37, 0, 0, 0, 0,
+  0, 0, 81, 147, 162, 169, 193, 202, 202, 192, 177, 99, 5, 0, 0, 0,
+  76, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 253, 170, 170, 170, 170, 161, 39, 39,
+  39, 39, 39, 39, 3, 0, 0, 33, 123, 145, 168, 168, 168, 168, 168, 158,
+  142, 114, 27, 0, 26, 142, 162, 168, 168, 171, 202, 202, 202, 202, 202, 202,
+  170, 67, 0, 0, 0, 215, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 169, 47, 46, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 23, 155, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 152, 136, 150, 168, 168, 168, 168, 171, 202, 202,
+  202, 202, 202, 202, 198, 159, 96, 0, 0, 113, 198, 178, 142, 47, 47, 47,
+  47, 47, 47, 84, 182, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 75, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 19, 45, 45, 20, 0, 0, 0, 126, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 171, 202, 202, 202, 202, 202, 202, 198, 168, 163, 16, 0, 8, 14, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 2, 138, 242, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 240, 194, 194, 194,
+  115, 0, 0, 0, 16, 39, 71, 126, 126, 126, 126, 144, 168, 168, 133, 27,
+  0, 10, 147, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 171, 202, 202, 202, 202, 202, 202, 198, 168, 168, 79,
+  0, 0, 0, 0, 0, 0, 30, 47, 47, 47, 3, 0, 0, 0, 103, 254,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 145,
+  53, 0, 0, 0, 0, 0, 2, 91, 141, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 153, 121, 133, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 191, 202, 202, 202, 202, 202,
+  185, 168, 168, 139, 6, 0, 13, 51, 145, 145, 181, 202, 202, 202, 149, 62,
+  0, 0, 0, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 249, 116, 8, 0, 0, 0, 0, 0, 0, 71, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 170, 196,
+  202, 202, 202, 191, 168, 168, 168, 168, 126, 139, 160, 202, 202, 202, 202, 202,
+  202, 202, 202, 184, 90, 0, 0, 12, 193, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 139, 0, 0, 0, 20, 24, 5, 0, 43, 161, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 173, 179, 179, 179, 170, 168, 168, 168, 168, 168, 201, 202, 202,
+  202, 202, 202, 202, 202, 202, 202, 202, 198, 60, 0, 0, 29, 228, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 185, 5, 0, 1, 40, 157, 168, 38,
+  0, 120, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 167, 143, 132, 132, 132, 132, 165, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 201, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 185, 33, 0,
+  0, 66, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 23, 0, 0, 58,
+  168, 168, 168, 48, 13, 124, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 166, 149, 157, 168, 168, 168, 151, 145, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 201, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
+  202, 202, 169, 8, 0, 10, 199, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 149,
+  0, 0, 32, 159, 168, 168, 169, 169, 169, 169, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 150, 145, 168, 168, 168, 168, 168,
+  141, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 200, 202, 202, 202, 202, 202, 202,
+  202, 202, 202, 202, 202, 202, 202, 132, 0, 0, 68, 253, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 252, 48, 0, 11, 145, 168, 172, 186, 202, 202, 202, 197, 170, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 150, 157, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 179, 201, 202,
+  202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 186, 28, 0, 0, 222,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 149, 0, 0, 55, 168, 176, 196, 202, 202, 202,
+  202, 202, 192, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 150, 157, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 186, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
+  119, 0, 0, 169, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 169, 17, 2, 1, 0, 0, 122, 172, 199,
+  202, 202, 202, 202, 202, 202, 201, 179, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 163, 134, 132, 124, 157, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 162, 135, 139, 168, 168, 168, 175, 195, 202, 202, 202,
+  202, 202, 202, 202, 175, 11, 0, 67, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 179, 3, 0, 0, 0, 0,
+  57, 169, 195, 202, 202, 202, 202, 202, 202, 202, 202, 179, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 140, 166, 168, 158, 162, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 140, 165, 162, 144, 168, 168, 168,
+  171, 198, 202, 202, 202, 202, 202, 199, 172, 42, 0, 7, 141, 141, 207, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 119, 0,
+  0, 13, 62, 69, 140, 172, 202, 202, 202, 202, 202, 202, 202, 202, 202, 179,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 140, 168, 168, 168, 168, 168,
+  168, 168, 168, 142, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 142, 165, 168, 168,
+  148, 146, 132, 132, 144, 175, 195, 202, 202, 202, 202, 177, 168, 109, 0, 0,
+  0, 0, 10, 18, 33, 180, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 101, 0, 29, 129, 141, 163, 168, 184, 202, 202, 202, 202, 202, 202,
+  202, 202, 202, 179, 168, 168, 168, 168, 168, 168, 168, 168, 168, 145, 162, 168,
+  168, 168, 168, 168, 168, 168, 146, 161, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 142, 124, 132, 132, 137, 168, 168, 168, 168, 168, 168, 168, 154,
+  153, 168, 168, 168, 166, 124, 168, 168, 156, 136, 169, 189, 189, 189, 182, 168,
+  168, 156, 19, 0, 0, 0, 0, 0, 0, 7, 186, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 203, 66, 0, 66, 140, 140, 144, 165, 191, 202, 202,
+  202, 202, 202, 202, 202, 202, 201, 175, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 142, 165, 168, 168, 168, 168, 168, 168, 164, 143, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 154, 143, 161, 168, 168, 140, 168, 168, 168, 168,
+  168, 168, 168, 158, 159, 168, 168, 168, 168, 164, 168, 168, 168, 153, 154, 168,
+  168, 168, 168, 168, 168, 168, 152, 145, 125, 58, 58, 14, 0, 0, 22, 222,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 166, 65, 0, 66, 140, 140, 140,
+  161, 200, 202, 202, 202, 202, 202, 202, 202, 202, 183, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 142, 165, 168, 168, 168, 168, 168, 168, 158, 149, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 140,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 146, 161, 168, 168, 168, 168, 168, 168, 171, 194, 196, 196, 193, 154,
+  31, 0, 0, 57, 240, 255, 255, 255, 255, 255, 255, 255, 255, 166, 65, 0,
+  66, 140, 140, 140, 161, 200, 202, 202, 202, 202, 202, 202, 196, 186, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 142, 165, 168, 168, 168, 168, 168,
+  168, 158, 149, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 147, 148, 148, 148, 148, 148, 153, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 166, 163, 168, 168, 168, 168, 168, 169, 191, 202,
+  202, 202, 202, 199, 166, 17, 0, 0, 124, 255, 255, 255, 255, 255, 255, 255,
+  255, 166, 65, 0, 66, 140, 140, 140, 161, 200, 202, 202, 202, 202, 202, 202,
+  180, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 149, 158, 168,
+  168, 168, 168, 168, 168, 160, 147, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 166, 139, 152, 152, 152, 152, 147, 141, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 182, 202, 202, 202, 202, 202, 202, 202, 139, 6, 0, 23, 227, 255, 255,
+  255, 255, 255, 255, 255, 166, 65, 0, 66, 140, 140, 140, 161, 200, 202, 202,
+  202, 202, 202, 202, 169, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 140, 168, 168, 168, 168, 168, 168, 168, 140, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 140, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 185, 202, 202, 202, 202, 202, 202, 202, 202, 86, 0,
+  0, 71, 255, 255, 255, 255, 255, 255, 255, 166, 54, 0, 66, 140, 140, 140,
+  153, 200, 202, 202, 202, 202, 202, 202, 169, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 140, 168, 168, 168, 168, 168, 168, 168, 134, 134,
+  154, 160, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 140, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 185, 202, 202, 202, 202, 202, 202,
+  202, 202, 168, 11, 0, 44, 255, 255, 255, 255, 255, 255, 255, 123, 2, 0,
+  66, 140, 140, 140, 148, 197, 202, 202, 202, 202, 202, 199, 169, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 159, 168, 168, 168, 168, 168,
+  168, 168, 168, 166, 143, 139, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 140, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 185, 202, 202,
+  202, 202, 202, 202, 202, 202, 201, 117, 0, 14, 213, 255, 255, 255, 255, 255,
+  225, 20, 0, 0, 73, 140, 140, 140, 140, 175, 200, 202, 202, 202, 201, 179,
+  166, 158, 163, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 150, 157, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 165, 142, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 183, 202, 202, 202, 202, 202, 202, 202, 202, 202, 155, 0, 0, 194, 255,
+  255, 255, 255, 255, 144, 0, 0, 31, 133, 140, 140, 140, 140, 166, 182, 198,
+  198, 198, 185, 168, 147, 142, 137, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 150, 157, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 151, 129, 150, 163, 168, 168, 168, 168, 168, 168, 168, 168, 162, 160, 160,
+  164, 168, 168, 168, 168, 169, 194, 202, 202, 202, 202, 202, 202, 202, 202, 179,
+  18, 0, 194, 255, 255, 255, 255, 255, 43, 0, 9, 123, 140, 140, 140, 140,
+  140, 166, 168, 168, 168, 168, 168, 166, 141, 168, 141, 166, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  150, 157, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 150, 137, 163, 168, 168, 168, 168, 168, 168,
+  168, 146, 139, 139, 136, 153, 168, 168, 168, 168, 171, 197, 202, 202, 202, 202,
+  202, 202, 202, 194, 30, 0, 194, 255, 255, 255, 255, 255, 0, 0, 48, 140,
+  140, 140, 140, 140, 140, 166, 168, 168, 168, 168, 168, 143, 164, 168, 165, 142,
+  168, 168, 168, 168, 167, 149, 132, 160, 166, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 150, 156, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 128, 167, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 166, 141, 168, 168, 168, 168, 168, 168,
+  187, 202, 202, 202, 202, 202, 202, 172, 13, 0, 174, 255, 255, 255, 255, 255,
+  0, 0, 104, 140, 140, 140, 140, 140, 140, 166, 168, 168, 168, 168, 168, 156,
+  166, 168, 168, 140, 167, 168, 168, 168, 147, 147, 168, 140, 134, 145, 167, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 159, 134, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 157, 150, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 146, 161, 168,
+  168, 168, 168, 168, 171, 198, 202, 202, 202, 202, 201, 147, 0, 0, 142, 252,
+  255, 255, 255, 255, 0, 24, 135, 140, 140, 140, 140, 140, 140, 166, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 151, 156, 168, 168, 168, 157, 164, 168, 168,
+  168, 128, 165, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 125, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 148, 159, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 152, 155, 168, 168, 168, 168, 168, 168, 174, 201, 202, 202, 202, 193, 60,
+  0, 14, 147, 231, 255, 255, 255, 255, 0, 49, 140, 140, 140, 140, 140, 140,
+  144, 167, 168, 168, 168, 168, 168, 168, 168, 168, 168, 151, 156, 168, 168, 168,
+  168, 168, 168, 168, 168, 142, 134, 136, 164, 168, 168, 168, 168, 168, 168, 168,
+  168, 166, 132, 132, 106, 144, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 152, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 140, 167, 168, 168, 168, 168, 168, 168, 168, 178, 186,
+  186, 186, 170, 60, 0, 29, 168, 178, 255, 255, 255, 255, 0, 49, 140, 140,
+  140, 140, 140, 140, 155, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 158,
+  132, 156, 168, 168, 168, 168, 168, 168, 168, 166, 164, 164, 136, 144, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 142, 163, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 154, 153, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 60, 0, 1, 100, 168, 230, 255, 255, 255,
+  0, 49, 140, 140, 140, 140, 140, 140, 140, 161, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 167, 140, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 156, 140, 168, 168, 168, 168, 168, 168, 168, 155, 152, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 149, 132, 136, 145,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 87, 0, 0, 4, 67,
+  229, 255, 255, 255, 0, 31, 137, 140, 140, 140, 140, 140, 140, 143, 165, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 153, 154, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 136, 168, 168, 168, 168, 168, 168, 168, 154, 153,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 164, 155, 148, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 143,
+  36, 0, 0, 12, 210, 255, 255, 255, 0, 0, 131, 140, 140, 140, 140, 140,
+  140, 140, 147, 166, 168, 168, 168, 168, 168, 168, 168, 168, 168, 166, 138, 156,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 149, 158, 168, 168, 168, 168,
+  168, 168, 154, 153, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 151, 156, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 158, 47, 0, 0, 81, 251, 255, 255, 0, 0, 84, 140,
+  140, 140, 140, 140, 140, 140, 140, 161, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 140, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 144, 163,
+  168, 168, 168, 168, 168, 168, 154, 153, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 178, 178, 178, 178, 176, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 146, 161, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 147, 12, 0, 8, 198, 255, 255,
+  0, 0, 23, 128, 140, 140, 140, 140, 140, 140, 140, 143, 165, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 145, 162, 168, 168, 168, 168, 168, 168, 168,
+  168, 163, 144, 168, 168, 168, 168, 168, 168, 168, 165, 142, 168, 168, 168, 168,
+  168, 168, 168, 122, 121, 121, 121, 121, 121, 121, 129, 183, 195, 202, 199, 145,
+  145, 144, 138, 174, 170, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 162, 145, 168, 168, 168, 168, 168, 172, 177, 177, 177, 169, 168, 94, 0,
+  0, 188, 255, 255, 80, 0, 0, 23, 33, 88, 140, 140, 140, 140, 140, 140,
+  141, 132, 136, 164, 168, 168, 168, 168, 168, 168, 168, 152, 134, 168, 168, 168,
+  168, 168, 168, 168, 168, 163, 165, 168, 168, 168, 168, 168, 168, 168, 168, 140,
+  168, 168, 168, 168, 166, 72, 39, 1, 0, 0, 0, 0, 0, 0, 7, 125,
+  142, 47, 46, 0, 0, 0, 0, 97, 180, 186, 174, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 146, 161, 168, 168, 168, 170, 196, 202, 202, 202,
+  188, 168, 154, 7, 0, 188, 255, 255, 191, 12, 0, 0, 0, 33, 140, 140,
+  140, 140, 140, 140, 145, 166, 158, 149, 168, 168, 168, 168, 168, 168, 168, 137,
+  162, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 160, 168, 168, 168, 168, 97, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37, 163, 200, 178,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 146, 161, 168, 168, 169, 191,
+  202, 202, 202, 202, 202, 181, 168, 10, 0, 173, 255, 255, 255, 150, 47, 13,
+  0, 9, 123, 140, 140, 140, 140, 140, 140, 163, 168, 142, 165, 168, 168, 168,
+  168, 168, 168, 159, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 159, 20, 0, 0, 30,
+  59, 117, 133, 141, 141, 43, 0, 0, 0, 0, 16, 37, 78, 76, 0, 0,
+  0, 27, 149, 202, 180, 168, 168, 168, 168, 168, 168, 168, 168, 159, 148, 168,
+  168, 168, 173, 202, 202, 202, 202, 202, 202, 197, 169, 10, 0, 119, 255, 255,
+  255, 255, 255, 144, 0, 0, 106, 140, 140, 140, 140, 140, 140, 155, 168, 159,
+  148, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 159, 142, 83, 55, 55, 55, 55, 55, 55, 40,
+  0, 0, 53, 166, 168, 168, 191, 202, 202, 176, 59, 0, 2, 59, 165, 202,
+  202, 191, 100, 15, 0, 0, 127, 202, 200, 177, 168, 168, 168, 168, 168, 146,
+  130, 141, 168, 168, 168, 168, 173, 202, 202, 202, 202, 202, 202, 202, 176, 10,
+  0, 119, 255, 255, 255, 255, 255, 188, 3, 0, 58, 140, 140, 140, 140, 140,
+  140, 150, 168, 168, 140, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 166, 164, 164, 164, 159, 99, 41, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 4, 137, 168, 168, 168, 191, 202, 202, 202, 160, 129,
+  136, 202, 202, 202, 202, 202, 202, 154, 7, 0, 127, 202, 202, 202, 181, 168,
+  168, 168, 168, 163, 144, 167, 168, 168, 168, 168, 173, 202, 202, 202, 202, 202,
+  202, 202, 177, 9, 0, 119, 255, 255, 255, 255, 255, 255, 29, 0, 52, 140,
+  140, 140, 140, 140, 140, 140, 150, 163, 123, 132, 132, 151, 166, 168, 168, 168,
+  168, 168, 168, 168, 167, 165, 151, 150, 145, 140, 140, 137, 54, 0, 0, 0,
+  0, 0, 15, 15, 15, 15, 14, 0, 0, 40, 168, 168, 168, 168, 191, 202,
+  202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 147, 122, 172, 202,
+  202, 202, 200, 175, 168, 168, 168, 168, 158, 149, 168, 168, 168, 168, 173, 202,
+  202, 202, 202, 202, 202, 202, 131, 0, 0, 129, 255, 255, 255, 255, 255, 255,
+  89, 0, 0, 140, 140, 140, 140, 140, 140, 140, 140, 144, 159, 168, 168, 149,
+  147, 168, 168, 168, 168, 168, 168, 167, 155, 140, 140, 140, 140, 140, 140, 79,
+  0, 0, 0, 9, 68, 98, 168, 168, 168, 168, 161, 96, 96, 140, 168, 168,
+  168, 168, 190, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
+  202, 202, 202, 202, 202, 202, 202, 197, 171, 168, 168, 168, 168, 150, 129, 159,
+  166, 168, 170, 197, 202, 202, 202, 202, 202, 202, 131, 0, 4, 226, 255, 255,
+  255, 255, 255, 255, 137, 0, 0, 138, 140, 140, 140, 140, 140, 140, 140, 140,
+  141, 157, 167, 168, 140, 168, 168, 168, 168, 168, 168, 160, 140, 140, 140, 140,
+  140, 140, 140, 54, 0, 0, 68, 160, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 172, 198, 202, 202, 202, 202, 202, 202, 201, 200,
+  201, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202, 194, 168, 168, 168,
+  168, 136, 135, 135, 141, 167, 168, 186, 202, 202, 202, 202, 202, 202, 131, 0,
+  33, 238, 255, 255, 255, 255, 255, 255, 239, 0, 0, 82, 140, 140, 140, 140,
+  140, 140, 140, 140, 140, 140, 152, 153, 131, 153, 153, 153, 153, 153, 153, 142,
+  140, 140, 140, 140, 140, 140, 140, 54, 0, 53, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 175, 202, 202, 202, 196,
+  184, 184, 170, 168, 174, 187, 202, 202, 202, 202, 202, 202, 202, 202, 202, 202,
+  202, 187, 168, 168, 156, 151, 158, 135, 152, 155, 168, 179, 202, 202, 202, 202,
+  202, 202, 131, 0, 0, 170, 255, 255, 255, 255, 255, 255, 239, 0, 0, 55,
+  140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 123, 140, 140, 140,
+  140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 54, 0, 81, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 185, 202, 202, 202, 202,
+  202, 202, 202, 202, 202, 202, 174, 168, 168, 168, 158, 149, 168, 140, 168, 179,
+  202, 202, 202, 202, 202, 202, 159, 5, 0, 0, 164, 255, 255, 255, 255, 255,
+  254, 86, 0, 13, 125, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
+  123, 140, 140, 140, 140, 140, 140, 140, 140, 140, 131, 53, 4, 4, 4, 1,
+  0, 81, 168, 168, 168, 168, 168, 168, 168, 168, 165, 137, 150, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  185, 202, 202, 202, 202, 202, 202, 202, 202, 202, 174, 168, 144, 136, 142, 167,
+  168, 140, 168, 174, 200, 202, 202, 202, 202, 202, 183, 41, 0, 0, 63, 255,
+  255, 255, 255, 255, 255, 133, 0, 0, 83, 140, 140, 140, 140, 140, 140, 140,
+  140, 140, 140, 134, 118, 133, 140, 140, 140, 140, 140, 140, 140, 140, 42, 0,
+  0, 0, 0, 0, 0, 85, 168, 168, 168, 168, 168, 168, 168, 158, 136, 163,
+  150, 142, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 185, 202, 202, 202, 202, 202, 202, 202, 202, 174, 168,
+  164, 164, 168, 168, 168, 140, 168, 168, 180, 202, 202, 202, 202, 190, 168, 152,
+  21, 0, 3, 212, 255, 255, 255, 255, 255, 217, 17, 0, 50, 140, 140, 140,
+  140, 140, 140, 140, 140, 140, 140, 140, 139, 126, 128, 140, 140, 140, 140, 140,
+  129, 28, 0, 0, 0, 36, 53, 0, 0, 119, 168, 168, 168, 168, 168, 168,
+  164, 144, 167, 168, 168, 158, 136, 167, 159, 143, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 163, 124, 132, 132, 137, 190, 202, 202, 202, 202, 202,
+  202, 202, 174, 168, 168, 168, 168, 168, 149, 158, 168, 168, 168, 183, 188, 188,
+  188, 169, 168, 168, 112, 0, 0, 209, 255, 255, 255, 255, 255, 255, 81, 0,
+  6, 112, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 124, 139,
+  140, 140, 140, 140, 92, 0, 0, 0, 80, 134, 139, 132, 144, 167, 168, 168,
+  168, 168, 168, 168, 142, 165, 168, 168, 168, 168, 164, 123, 141, 160, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 166, 162, 168, 168, 140, 174, 199,
+  202, 202, 202, 202, 202, 202, 174, 168, 168, 168, 168, 156, 141, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 161, 17, 0, 209, 255, 255, 255, 255,
+  255, 255, 149, 0, 0, 26, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
+  140, 140, 137, 125, 140, 140, 140, 139, 37, 0, 6, 68, 137, 140, 140, 154,
+  168, 168, 168, 155, 132, 132, 130, 145, 162, 168, 168, 168, 168, 168, 168, 163,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 148, 159, 195, 202, 202, 202, 202, 202, 202, 174, 168, 168, 168, 151, 132,
+  164, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 20, 0, 209,
+  255, 255, 255, 255, 255, 255, 234, 31, 0, 3, 89, 140, 140, 140, 140, 140,
+  140, 140, 140, 140, 140, 140, 140, 123, 140, 140, 140, 137, 0, 0, 36, 140,
+  140, 140, 140, 141, 159, 168, 168, 140, 168, 168, 151, 128, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 165, 138, 166, 176, 202, 202, 202, 202, 199, 172, 168,
+  168, 168, 164, 138, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 20, 0, 209, 255, 255, 255, 255, 255, 255, 255, 186, 0, 0, 9, 112,
+  140, 140, 140, 140, 140, 140, 140, 140, 139, 121, 121, 135, 140, 140, 140, 137,
+  0, 0, 76, 140, 140, 140, 140, 140, 142, 167, 168, 140, 168, 168, 165, 158,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 167, 144, 153, 153, 195, 202, 202,
+  201, 180, 168, 168, 168, 168, 168, 159, 148, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 111, 4, 0, 209, 255, 255, 255, 255, 255, 255, 255, 243,
+  69, 0, 0, 22, 117, 106, 112, 140, 140, 140, 140, 140, 139, 130, 137, 140,
+  140, 140, 140, 137, 0, 0, 76, 140, 140, 140, 140, 140, 140, 166, 168, 140,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  171, 159, 193, 193, 185, 168, 168, 168, 168, 168, 168, 167, 140, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 137, 12, 0, 0, 209, 255, 255, 255, 255,
+  255, 255, 255, 255, 182, 24, 0, 0, 0, 0, 7, 38, 135, 140, 140, 140,
+  140, 140, 140, 140, 140, 140, 140, 138, 11, 0, 64, 140, 140, 140, 140, 140,
+  140, 166, 168, 144, 163, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 151,
+  132, 132, 150, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 140, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  140, 168, 168, 168, 168, 168, 168, 168, 168, 168, 155, 27, 0, 0, 64, 242,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 12, 0, 0, 0, 0, 0,
+  93, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 55, 0, 19, 140,
+  140, 140, 140, 140, 140, 166, 168, 162, 145, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 149, 149, 168, 168, 149, 158, 165, 156, 156, 156, 156, 156, 161, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 166, 141, 168, 168, 168, 168, 168, 168,
+  159, 157, 168, 167, 140, 168, 168, 168, 168, 168, 168, 168, 168, 168, 61, 0,
+  0, 28, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 168,
+  168, 58, 0, 0, 75, 146, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
+  63, 0, 6, 106, 140, 140, 140, 140, 141, 167, 168, 162, 145, 168, 168, 168,
+  168, 168, 168, 168, 168, 158, 149, 168, 168, 168, 168, 125, 145, 144, 144, 144,
+  144, 144, 139, 151, 168, 168, 168, 168, 168, 168, 168, 168, 164, 162, 168, 168,
+  168, 168, 168, 143, 141, 143, 136, 163, 143, 168, 168, 168, 168, 168, 168, 168,
+  168, 93, 13, 0, 10, 193, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 254, 64, 0, 7, 153, 151, 140, 140, 140, 140, 140,
+  140, 140, 140, 140, 112, 0, 0, 43, 140, 140, 140, 140, 156, 168, 168, 165,
+  159, 168, 168, 168, 168, 168, 168, 168, 168, 155, 155, 168, 168, 168, 168, 156,
+  158, 168, 168, 168, 168, 168, 167, 140, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 140, 168, 168, 150, 134, 158, 168, 168, 168,
+  168, 168, 168, 168, 124, 0, 0, 0, 140, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 111, 0, 0, 0, 83, 148,
+  128, 128, 128, 129, 140, 140, 140, 140, 78, 0, 0, 43, 140, 140, 140, 140,
+  149, 166, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 167, 140, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 165, 142, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 99, 0, 0, 18, 211, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 8,
+  0, 0, 0, 0, 0, 0, 0, 7, 85, 140, 140, 138, 23, 0, 0, 78,
+  140, 140, 140, 140, 140, 146, 163, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 167, 137, 156,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 167, 167, 168, 140, 167,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 99, 0, 0, 94,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 212, 65, 1, 0, 0, 0, 0, 0, 0, 20, 132, 140, 106,
+  0, 0, 49, 140, 140, 140, 140, 140, 140, 140, 144, 166, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  167, 148, 158, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 159,
+  148, 168, 140, 167, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  100, 0, 0, 13, 214, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 164, 66, 0, 0, 24, 28, 0,
+  0, 96, 140, 80, 0, 0, 105, 140, 140, 140, 140, 140, 140, 140, 140, 146,
+  163, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 150, 143, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 152, 133, 147, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 35, 0, 0, 179, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 252,
+  252, 252, 204, 5, 0, 0, 1, 0, 0, 24, 136, 140, 140, 140, 140, 140,
+  140, 140, 140, 140, 143, 165, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 135, 143, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 167, 167, 167, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 152, 19, 0, 179, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 11, 0, 0, 0, 0, 0, 51, 140, 140,
+  140, 140, 140, 140, 140, 140, 140, 140, 140, 146, 137, 149, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 157, 138, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 140, 1, 0,
+  179, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 166, 105, 105, 105, 60,
+  0, 51, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 124, 140, 137,
+  167, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 162, 143, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 46, 0, 0, 179, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 145, 0, 5, 134, 140, 140, 140, 140, 140, 140, 140, 140, 140,
+  115, 132, 140, 145, 142, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 167, 140, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 161, 103, 103, 144, 168, 168, 168,
+  168, 168, 169, 178, 68, 0, 0, 26, 247, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 145, 0, 0, 114, 140, 140, 140, 140, 140,
+  140, 140, 140, 140, 136, 139, 140, 140, 135, 160, 144, 144, 164, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 144, 144, 144, 141, 133, 164, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 165, 115, 109, 128, 149, 126, 25, 0, 0,
+  14, 22, 72, 109, 109, 84, 23, 26, 0, 0, 0, 157, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 233, 0, 0, 58, 140,
+  140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 133, 122, 155, 156,
+  136, 159, 168, 168, 168, 168, 168, 168, 168, 168, 157, 156, 156, 159, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 164, 157, 92, 3, 0, 38, 95,
+  33, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 252,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252,
+  29, 0, 3, 79, 102, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
+  135, 129, 152, 165, 167, 141, 152, 157, 148, 148, 148, 165, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 151, 143, 111, 8,
+  0, 0, 0, 0, 0, 0, 11, 40, 31, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 127, 0, 0, 0, 2, 31, 33, 140, 140, 140, 140, 140,
+  140, 140, 140, 140, 140, 140, 140, 144, 146, 146, 123, 137, 145, 146, 138, 158,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 156,
+  140, 127, 20, 0, 0, 0, 0, 0, 0, 3, 95, 140, 132, 108, 104, 124,
+  156, 156, 164, 47, 0, 0, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 216, 36, 0, 0, 0, 0, 2, 127,
+  140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 123, 139,
+  140, 140, 142, 139, 164, 158, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168,
+  168, 168, 160, 141, 140, 79, 0, 0, 17, 103, 103, 103, 103, 107, 140, 140,
+  140, 140, 115, 161, 202, 202, 116, 0, 0, 56, 239, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 181, 86,
+  46, 0, 0, 85, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
+  140, 140, 140, 140, 140, 140, 140, 123, 136, 155, 168, 168, 168, 168, 168, 168,
+  168, 168, 168, 168, 168, 164, 142, 140, 124, 10, 0, 7, 108, 140, 140, 140,
+  140, 140, 140, 140, 140, 136, 126, 161, 202, 202, 24, 0, 0, 169, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 238, 14, 0, 41, 135, 140, 140, 140, 140, 140, 140, 140,
+  140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 125, 137, 162, 168, 168,
+  168, 168, 168, 168, 168, 168, 168, 168, 168, 147, 140, 140, 108, 0, 0, 48,
+  140, 140, 140, 140, 140, 140, 140, 128, 130, 122, 139, 165, 202, 202, 24, 0,
+  87, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 0, 0, 65, 131, 140, 140,
+  140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
+  140, 150, 168, 168, 168, 168, 168, 168, 168, 168, 168, 168, 161, 141, 140, 140,
+  22, 0, 1, 102, 140, 140, 140, 140, 140, 140, 140, 122, 129, 140, 150, 196,
+  202, 202, 24, 0, 208, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 156, 4, 0,
+  0, 39, 136, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140,
+  140, 140, 140, 140, 140, 150, 168, 168, 168, 168, 168, 168, 168, 168, 168, 163,
+  143, 140, 140, 99, 0, 0, 20, 140, 140, 140, 140, 140, 140, 140, 140, 123,
+  141, 146, 191, 202, 202, 202, 24, 0, 208, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 55, 0, 0, 0, 42, 123, 140, 140, 140, 140, 140, 140, 140, 140,
+  140, 140, 140, 140, 140, 140, 140, 140, 140, 150, 168, 168, 168, 168, 168, 168,
+  168, 168, 161, 140, 140, 139, 114, 11, 0, 0, 105, 140, 140, 140, 140, 140,
+  140, 155, 156, 134, 182, 202, 202, 202, 202, 197, 23, 0, 208, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 252, 115, 2, 0, 0, 5, 62, 93, 135, 140,
+  140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 150, 168, 162,
+  161, 161, 161, 161, 161, 159, 143, 140, 140, 99, 0, 0, 0, 28, 135, 140,
+  140, 140, 140, 143, 150, 168, 167, 150, 202, 202, 202, 202, 202, 140, 0, 0,
+  208, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 110, 1, 0, 0,
+  0, 0, 13, 66, 66, 66, 66, 66, 66, 110, 139, 140, 140, 140, 140, 140,
+  140, 156, 153, 20, 0, 0, 0, 0, 0, 10, 90, 138, 88, 9, 0, 0,
+  12, 123, 140, 140, 140, 143, 165, 156, 151, 168, 148, 189, 202, 202, 202, 202,
+  202, 60, 0, 0, 209, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 183, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 56, 109,
+  140, 140, 140, 140, 151, 168, 39, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 27, 109, 140, 140, 140, 146, 162, 168, 162, 134, 134, 160, 202,
+  202, 202, 202, 202, 202, 60, 0, 58, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 251, 238, 118, 18, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 1, 26, 75, 75, 142, 151, 56, 0, 0, 6, 64, 64, 64,
+  12, 0, 0, 0, 0, 0, 14, 124, 140, 140, 140, 143, 165, 168, 168, 168,
+  166, 170, 201, 202, 202, 202, 202, 202, 191, 32, 0, 161, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 241, 241,
+  241, 241, 241, 188, 61, 0, 0, 0, 0, 0, 0, 7, 6, 0, 0, 0,
+  92, 140, 140, 140, 134, 62, 60, 60, 60, 62, 117, 122, 132, 140, 151, 162,
+  166, 138, 162, 168, 168, 171, 202, 202, 202, 202, 202, 202, 179, 0, 0, 163,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 245, 206, 102, 2, 0, 0, 0, 0,
+  0, 0, 0, 65, 139, 140, 140, 140, 140, 140, 140, 140, 135, 120, 136, 136,
+  127, 155, 167, 146, 134, 148, 155, 168, 156, 171, 202, 202, 202, 202, 202, 202,
+  103, 0, 5, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226,
+  226, 160, 94, 80, 23, 0, 18, 135, 140, 140, 140, 140, 140, 140, 140, 132,
+  119, 139, 140, 140, 137, 150, 139, 154, 156, 142, 166, 163, 144, 171, 202, 202,
+  202, 202, 202, 202, 22, 0, 13, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 249, 91, 0, 70, 140, 140, 140, 140, 140,
+  140, 140, 140, 137, 135, 140, 140, 134, 160, 139, 161, 168, 129, 133, 132, 137,
+  165, 168, 188, 202, 202, 202, 202, 142, 1, 0, 103, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 96, 0, 78, 140,
+  140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 123, 145, 165, 168, 168,
+  157, 163, 168, 168, 168, 168, 169, 194, 202, 202, 191, 48, 0, 0, 205, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  96, 0, 33, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 137, 121,
+  140, 149, 167, 168, 168, 168, 168, 168, 168, 168, 168, 171, 175, 175, 126, 0,
+  0, 58, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 96, 0, 16, 131, 140, 140, 140, 140, 140, 140, 140, 140,
+  140, 140, 129, 130, 140, 140, 165, 168, 168, 158, 126, 126, 126, 147, 168, 168,
+  168, 99, 16, 0, 7, 172, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 119, 0, 0, 81, 137, 140, 140, 140,
+  140, 140, 140, 140, 134, 129, 127, 140, 140, 140, 165, 168, 166, 66, 0, 0,
+  0, 23, 45, 45, 45, 8, 0, 0, 51, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211, 9, 0, 0,
+  77, 140, 140, 140, 140, 140, 140, 140, 140, 121, 140, 140, 140, 140, 165, 159,
+  59, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 209, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 67, 0, 0, 4, 65, 118, 118, 118, 139, 140, 140, 140, 140, 140, 140,
+  140, 140, 163, 66, 0, 0, 0, 93, 39, 39, 39, 39, 39, 39, 61, 234,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 219, 84, 0, 0, 0, 0, 0, 0, 129, 140, 140,
+  140, 140, 140, 140, 140, 131, 95, 0, 0, 7, 84, 253, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 57, 1, 0, 0, 0,
+  0, 31, 108, 133, 140, 140, 140, 140, 120, 13, 0, 0, 1, 129, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  156, 147, 142, 5, 0, 0, 0, 30, 59, 121, 131, 108, 25, 0, 0, 0,
+  78, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 154, 4, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 17, 139, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 110, 0, 0,
+  0, 0, 0, 0, 0, 0, 185, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 251, 139, 89, 7, 7, 7, 7, 7, 7, 7, 7, 105,
+  150, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 208, 147, 43, 15, 15, 15,
+  15, 15, 15, 15, 15, 112, 147, 147, 88, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 51, 151, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 121, 13, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  15, 21, 26, 39, 39, 24, 0, 0, 0, 0, 0, 105, 235, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  159, 0, 0, 0, 0, 2, 19, 19, 19, 19, 19, 12, 0, 0, 0, 0,
+  0, 0, 26, 47, 52, 55, 89, 102, 102, 97, 89, 50, 3, 0, 0, 0,
+  76, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 253, 170, 170, 170, 170, 161, 39, 39,
+  39, 39, 39, 39, 3, 0, 0, 10, 39, 46, 54, 54, 54, 54, 54, 50,
+  45, 36, 8, 0, 8, 45, 52, 54, 54, 58, 102, 102, 102, 102, 102, 102,
+  83, 21, 0, 0, 0, 215, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 169, 47, 46, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7, 50, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 49, 43, 48, 54, 54, 54, 54, 58, 102, 102,
+  102, 102, 102, 102, 97, 51, 30, 0, 0, 113, 198, 178, 142, 47, 47, 47,
+  47, 47, 47, 84, 182, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 75, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 6, 14, 14, 6, 0, 0, 0, 40, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 58, 102, 102, 102, 102, 102, 102, 97, 54, 52, 5, 0, 8, 14, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 2, 138, 242, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 240, 194, 194, 194,
+  115, 0, 0, 0, 5, 12, 22, 40, 40, 40, 40, 46, 54, 54, 42, 8,
+  0, 3, 47, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 58, 102, 102, 102, 102, 102, 102, 97, 54, 54, 25,
+  0, 0, 0, 0, 0, 0, 15, 24, 24, 24, 1, 0, 0, 0, 103, 254,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 145,
+  53, 0, 0, 0, 0, 0, 0, 29, 45, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 49, 38, 42, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 55, 86, 102, 102, 102, 102, 102,
+  79, 54, 54, 44, 2, 0, 7, 26, 73, 73, 91, 102, 102, 102, 75, 31,
+  0, 0, 0, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 249, 116, 8, 0, 0, 0, 0, 0, 0, 23, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 57, 93,
+  102, 102, 102, 87, 55, 54, 54, 54, 40, 69, 80, 102, 102, 102, 102, 102,
+  102, 102, 102, 93, 45, 0, 0, 12, 193, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 139, 0, 0, 0, 6, 7, 1, 0, 14, 52, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 61, 70, 70, 70, 58, 54, 54, 54, 54, 54, 101, 102, 102,
+  102, 102, 102, 102, 102, 102, 102, 102, 100, 30, 0, 0, 29, 228, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 185, 5, 0, 0, 12, 50, 54, 12,
+  0, 38, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 53, 46, 42, 42, 42, 42, 53, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 101, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 93, 16, 0,
+  0, 66, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 23, 0, 0, 18,
+  54, 54, 54, 15, 4, 39, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 53, 48, 50, 54, 54, 54, 48, 46, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 101, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+  102, 102, 85, 4, 0, 10, 199, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 149,
+  0, 0, 10, 51, 54, 54, 56, 56, 56, 55, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 48, 46, 54, 54, 54, 54, 54,
+  45, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 99, 102, 102, 102, 102, 102, 102,
+  102, 102, 102, 102, 102, 102, 102, 67, 0, 0, 68, 253, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 252, 48, 0, 3, 46, 54, 60, 79, 102, 102, 102, 95, 57, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 48, 50, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 70, 101, 102,
+  102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 94, 13, 0, 0, 222,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 149, 0, 0, 17, 54, 65, 93, 102, 102, 102,
+  102, 102, 88, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 48, 50, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 79, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+  47, 0, 0, 169, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 169, 17, 2, 1, 0, 0, 39, 60, 98,
+  102, 102, 102, 102, 102, 102, 101, 70, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 52, 43, 42, 39, 50, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 52, 43, 45, 54, 54, 54, 64, 92, 102, 102, 102,
+  102, 102, 102, 102, 65, 3, 0, 67, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 179, 3, 0, 0, 0, 0,
+  18, 56, 93, 102, 102, 102, 102, 102, 102, 102, 102, 70, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 45, 53, 54, 50, 52, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 45, 53, 52, 46, 54, 54, 54,
+  59, 96, 102, 102, 102, 102, 102, 98, 60, 13, 0, 7, 141, 141, 207, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 119, 0,
+  0, 4, 20, 22, 45, 59, 102, 102, 102, 102, 102, 102, 102, 102, 102, 70,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 44, 54, 54, 54, 54, 54,
+  54, 54, 54, 45, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 45, 53, 54, 54,
+  47, 47, 42, 42, 46, 64, 92, 102, 102, 102, 102, 67, 54, 35, 0, 0,
+  0, 0, 10, 18, 33, 180, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 86, 0, 9, 41, 45, 52, 54, 77, 102, 102, 102, 102, 102, 102,
+  102, 102, 102, 70, 54, 54, 54, 54, 54, 54, 54, 54, 54, 46, 52, 54,
+  54, 54, 54, 54, 54, 54, 46, 51, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 45, 39, 42, 42, 44, 54, 54, 54, 54, 54, 54, 54, 49,
+  49, 54, 54, 54, 53, 39, 54, 54, 50, 43, 58, 83, 83, 83, 73, 54,
+  54, 50, 6, 0, 0, 0, 0, 0, 0, 7, 186, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 160, 22, 0, 21, 45, 45, 46, 53, 86, 102, 102,
+  102, 102, 102, 102, 102, 102, 100, 64, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 45, 53, 54, 54, 54, 54, 54, 54, 52, 46, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 49, 46, 52, 54, 54, 44, 54, 54, 54, 54,
+  54, 54, 54, 50, 51, 54, 54, 54, 54, 52, 54, 54, 54, 49, 49, 54,
+  54, 54, 54, 54, 54, 54, 48, 46, 40, 18, 18, 4, 0, 0, 22, 222,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 94, 21, 0, 21, 45, 45, 45,
+  51, 99, 102, 102, 102, 102, 102, 102, 102, 102, 75, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 45, 53, 54, 54, 54, 54, 54, 54, 50, 48, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 44,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 47, 51, 54, 54, 54, 54, 54, 54, 58, 90, 94, 94, 89, 57,
+  10, 0, 0, 57, 240, 255, 255, 255, 255, 255, 255, 255, 255, 94, 21, 0,
+  21, 45, 45, 45, 51, 99, 102, 102, 102, 102, 102, 102, 94, 80, 55, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 45, 53, 54, 54, 54, 54, 54,
+  54, 50, 48, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 47, 47, 47, 47, 47, 47, 49, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 53, 52, 54, 54, 54, 54, 54, 55, 87, 102,
+  102, 102, 102, 98, 81, 8, 0, 0, 124, 255, 255, 255, 255, 255, 255, 255,
+  255, 94, 21, 0, 21, 45, 45, 45, 51, 99, 102, 102, 102, 102, 102, 102,
+  71, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 47, 50, 54,
+  54, 54, 54, 54, 54, 51, 47, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 53, 44, 49, 49, 49, 49, 47, 45, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 74, 102, 102, 102, 102, 102, 102, 102, 70, 3, 0, 23, 227, 255, 255,
+  255, 255, 255, 255, 255, 94, 21, 0, 21, 45, 45, 45, 51, 99, 102, 102,
+  102, 102, 102, 102, 56, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 44, 54, 54, 54, 54, 54, 54, 54, 44, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 44, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 78, 102, 102, 102, 102, 102, 102, 102, 102, 43, 0,
+  0, 71, 255, 255, 255, 255, 255, 255, 255, 94, 17, 0, 21, 45, 45, 45,
+  49, 99, 102, 102, 102, 102, 102, 102, 56, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 44, 54, 54, 54, 54, 54, 54, 54, 43, 43,
+  49, 51, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 44, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 78, 102, 102, 102, 102, 102, 102,
+  102, 102, 84, 3, 0, 44, 255, 255, 255, 255, 255, 255, 255, 80, 0, 0,
+  21, 45, 45, 45, 47, 96, 102, 102, 102, 102, 102, 99, 55, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 51, 54, 54, 54, 54, 54,
+  54, 54, 54, 53, 46, 44, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 44, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 78, 102, 102,
+  102, 102, 102, 102, 102, 102, 101, 49, 0, 14, 213, 255, 255, 255, 255, 255,
+  225, 20, 0, 0, 23, 45, 45, 45, 45, 65, 100, 102, 102, 102, 100, 70,
+  53, 51, 52, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 48, 50, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 53, 45, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 76, 102, 102, 102, 102, 102, 102, 102, 102, 102, 78, 0, 0, 194, 255,
+  255, 255, 255, 255, 144, 0, 0, 10, 43, 45, 45, 45, 45, 53, 74, 97,
+  97, 97, 78, 54, 47, 45, 44, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 48, 50, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 48, 41, 48, 52, 54, 54, 54, 54, 54, 54, 54, 54, 52, 51, 51,
+  52, 54, 54, 54, 54, 55, 90, 102, 102, 102, 102, 102, 102, 102, 102, 86,
+  6, 0, 194, 255, 255, 255, 255, 255, 43, 0, 3, 39, 45, 45, 45, 45,
+  45, 53, 54, 54, 54, 54, 54, 53, 45, 54, 45, 53, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  48, 50, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 48, 44, 52, 54, 54, 54, 54, 54, 54,
+  54, 47, 44, 44, 43, 49, 54, 54, 54, 54, 59, 95, 102, 102, 102, 102,
+  102, 102, 102, 90, 9, 0, 194, 255, 255, 255, 255, 255, 0, 0, 15, 45,
+  45, 45, 45, 45, 45, 53, 54, 54, 54, 54, 54, 46, 52, 54, 53, 45,
+  54, 54, 54, 54, 53, 48, 42, 51, 53, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 48, 50, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 41, 53, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 53, 45, 54, 54, 54, 54, 54, 55,
+  81, 102, 102, 102, 102, 102, 102, 84, 4, 0, 148, 255, 255, 255, 255, 255,
+  0, 0, 33, 45, 45, 45, 45, 45, 45, 53, 54, 54, 54, 54, 54, 50,
+  53, 54, 54, 44, 53, 54, 54, 54, 47, 47, 54, 45, 43, 46, 53, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 51, 43, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 50, 48, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 47, 51, 54,
+  54, 54, 54, 54, 59, 97, 102, 102, 102, 102, 101, 67, 0, 0, 74, 248,
+  255, 255, 255, 255, 0, 7, 43, 45, 45, 45, 45, 45, 45, 53, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 48, 50, 54, 54, 54, 50, 52, 54, 54,
+  54, 41, 53, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 40, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 47, 51, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 49, 49, 54, 54, 54, 54, 54, 54, 63, 101, 102, 102, 102, 89, 19,
+  0, 4, 47, 201, 255, 255, 255, 255, 0, 15, 45, 45, 45, 45, 45, 45,
+  46, 53, 54, 54, 54, 54, 54, 54, 54, 54, 54, 48, 50, 54, 54, 54,
+  54, 54, 54, 54, 54, 45, 43, 43, 52, 54, 54, 54, 54, 54, 54, 54,
+  54, 53, 42, 42, 34, 46, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 49, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 45, 53, 54, 54, 54, 54, 54, 54, 54, 69, 79,
+  79, 79, 57, 19, 0, 9, 54, 78, 255, 255, 255, 255, 0, 15, 45, 45,
+  45, 45, 45, 45, 50, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 50,
+  42, 50, 54, 54, 54, 54, 54, 54, 54, 53, 52, 52, 43, 46, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 45, 52, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 49, 49, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 19, 0, 0, 32, 55, 198, 255, 255, 255,
+  0, 15, 45, 45, 45, 45, 45, 45, 45, 52, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 53, 44, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 50, 44, 54, 54, 54, 54, 54, 54, 54, 49, 49, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 48, 42, 43, 46,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 28, 0, 0, 1, 21,
+  195, 255, 255, 255, 0, 10, 44, 45, 45, 45, 45, 45, 45, 46, 53, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 49, 49, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 43, 54, 54, 54, 54, 54, 54, 54, 49, 49,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 53, 50, 47, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 46,
+  11, 0, 0, 3, 189, 255, 255, 255, 0, 0, 42, 45, 45, 45, 45, 45,
+  45, 45, 47, 53, 54, 54, 54, 54, 54, 54, 54, 54, 54, 53, 44, 50,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 47, 51, 54, 54, 54, 54,
+  54, 54, 49, 49, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 48, 50, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 50, 15, 0, 0, 69, 246, 255, 255, 0, 0, 27, 45,
+  45, 45, 45, 45, 45, 45, 45, 51, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 44, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 46, 52,
+  54, 54, 54, 54, 54, 54, 49, 49, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 55, 68, 68, 68, 68, 66, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 47, 51, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 47, 3, 0, 2, 157, 255, 255,
+  0, 0, 7, 41, 45, 45, 45, 45, 45, 45, 45, 46, 53, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 46, 52, 54, 54, 54, 54, 54, 54, 54,
+  54, 52, 46, 54, 54, 54, 54, 54, 54, 54, 53, 45, 54, 54, 54, 54,
+  54, 54, 54, 39, 38, 38, 38, 38, 38, 38, 43, 75, 93, 102, 100, 73,
+  73, 72, 63, 67, 58, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 52, 46, 54, 54, 54, 54, 54, 60, 67, 67, 67, 56, 54, 30, 0,
+  0, 141, 255, 255, 80, 0, 0, 7, 10, 28, 45, 45, 45, 45, 45, 45,
+  45, 42, 43, 52, 54, 54, 54, 54, 54, 54, 54, 48, 43, 54, 54, 54,
+  54, 54, 54, 54, 54, 52, 53, 54, 54, 54, 54, 54, 54, 54, 54, 44,
+  54, 54, 54, 54, 53, 23, 12, 0, 0, 0, 0, 0, 0, 0, 3, 63,
+  71, 24, 23, 0, 0, 0, 0, 49, 86, 79, 63, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 47, 51, 54, 54, 54, 58, 94, 102, 102, 102,
+  82, 54, 49, 2, 0, 141, 255, 255, 191, 12, 0, 0, 0, 10, 45, 45,
+  45, 45, 45, 45, 46, 53, 50, 48, 54, 54, 54, 54, 54, 54, 54, 44,
+  52, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 51, 54, 54, 54, 54, 31, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 82, 99, 69,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 47, 51, 54, 54, 55, 87,
+  102, 102, 102, 102, 102, 72, 54, 3, 0, 137, 255, 255, 255, 150, 47, 13,
+  0, 3, 39, 45, 45, 45, 45, 45, 45, 52, 54, 45, 53, 54, 54, 54,
+  54, 54, 54, 51, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 51, 6, 0, 0, 9,
+  19, 37, 60, 71, 71, 22, 0, 0, 0, 0, 8, 18, 39, 38, 0, 0,
+  0, 13, 75, 102, 72, 54, 54, 54, 54, 54, 54, 54, 54, 51, 47, 54,
+  54, 54, 62, 102, 102, 102, 102, 102, 102, 95, 56, 3, 0, 119, 255, 255,
+  255, 255, 255, 144, 0, 0, 34, 45, 45, 45, 45, 45, 45, 49, 54, 51,
+  47, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 51, 45, 26, 17, 17, 17, 17, 17, 17, 13,
+  0, 0, 17, 53, 54, 54, 86, 102, 102, 88, 29, 0, 1, 30, 83, 102,
+  102, 96, 50, 7, 0, 0, 64, 102, 99, 67, 54, 54, 54, 54, 54, 46,
+  41, 45, 54, 54, 54, 54, 62, 102, 102, 102, 102, 102, 102, 102, 65, 3,
+  0, 119, 255, 255, 255, 255, 255, 188, 3, 0, 18, 45, 45, 45, 45, 45,
+  45, 48, 54, 54, 44, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 53, 52, 52, 52, 51, 31, 13, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 1, 44, 54, 54, 54, 86, 102, 102, 102, 81, 65,
+  68, 102, 102, 102, 102, 102, 102, 78, 3, 0, 64, 102, 102, 102, 72, 54,
+  54, 54, 54, 52, 46, 53, 54, 54, 54, 54, 62, 102, 102, 102, 102, 102,
+  102, 102, 75, 2, 0, 119, 255, 255, 255, 255, 255, 255, 29, 0, 16, 45,
+  45, 45, 45, 45, 45, 45, 48, 52, 39, 42, 42, 48, 53, 54, 54, 54,
+  54, 54, 54, 54, 53, 53, 48, 48, 46, 45, 45, 44, 17, 0, 0, 0,
+  0, 0, 5, 5, 5, 5, 4, 0, 0, 13, 54, 54, 54, 54, 86, 102,
+  102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 74, 62, 87, 102,
+  102, 102, 100, 64, 54, 54, 54, 54, 51, 47, 54, 54, 54, 54, 62, 102,
+  102, 102, 102, 102, 102, 102, 66, 0, 0, 129, 255, 255, 255, 255, 255, 255,
+  89, 0, 0, 45, 45, 45, 45, 45, 45, 45, 45, 46, 51, 54, 54, 47,
+  47, 54, 54, 54, 54, 54, 54, 53, 49, 45, 45, 45, 45, 45, 45, 25,
+  0, 0, 0, 3, 22, 31, 54, 54, 54, 54, 52, 31, 31, 45, 54, 54,
+  54, 54, 85, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+  102, 102, 102, 102, 102, 102, 102, 96, 58, 54, 54, 54, 54, 48, 41, 51,
+  53, 54, 57, 95, 102, 102, 102, 102, 102, 102, 66, 0, 4, 226, 255, 255,
+  255, 255, 255, 255, 137, 0, 0, 44, 45, 45, 45, 45, 45, 45, 45, 45,
+  45, 50, 53, 54, 44, 54, 54, 54, 54, 54, 54, 51, 45, 45, 45, 45,
+  45, 45, 45, 17, 0, 0, 21, 51, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 59, 97, 102, 102, 102, 102, 102, 102, 100, 100,
+  101, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 90, 54, 54, 54,
+  54, 43, 43, 43, 45, 53, 54, 79, 102, 102, 102, 102, 102, 102, 66, 0,
+  33, 238, 255, 255, 255, 255, 255, 255, 239, 0, 0, 26, 45, 45, 45, 45,
+  45, 45, 45, 45, 45, 45, 48, 49, 42, 49, 49, 49, 49, 49, 49, 45,
+  45, 45, 45, 45, 45, 45, 45, 17, 0, 17, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 65, 102, 102, 102, 93,
+  77, 77, 57, 54, 63, 81, 102, 102, 102, 102, 102, 102, 102, 102, 102, 102,
+  102, 81, 54, 54, 50, 48, 50, 43, 49, 49, 54, 70, 102, 102, 102, 102,
+  102, 102, 66, 0, 0, 170, 255, 255, 255, 255, 255, 255, 239, 0, 0, 17,
+  45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 39, 45, 45, 45,
+  45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 17, 0, 26, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 79, 102, 102, 102, 102,
+  102, 102, 102, 102, 102, 102, 63, 54, 54, 54, 50, 47, 54, 44, 54, 70,
+  102, 102, 102, 102, 102, 102, 75, 1, 0, 0, 164, 255, 255, 255, 255, 255,
+  254, 86, 0, 4, 40, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+  39, 45, 45, 45, 45, 45, 45, 45, 45, 45, 42, 17, 1, 1, 1, 0,
+  0, 26, 54, 54, 54, 54, 54, 54, 54, 54, 53, 44, 48, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  78, 102, 102, 102, 102, 102, 102, 102, 102, 102, 63, 54, 46, 43, 45, 53,
+  54, 44, 54, 63, 100, 102, 102, 102, 102, 102, 76, 13, 0, 0, 63, 255,
+  255, 255, 255, 255, 255, 133, 0, 0, 26, 45, 45, 45, 45, 45, 45, 45,
+  45, 45, 45, 43, 37, 42, 45, 45, 45, 45, 45, 45, 45, 45, 13, 0,
+  0, 0, 0, 0, 0, 27, 54, 54, 54, 54, 54, 54, 54, 51, 43, 52,
+  48, 45, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 79, 102, 102, 102, 102, 102, 102, 102, 102, 63, 54,
+  52, 52, 54, 54, 54, 44, 54, 54, 71, 102, 102, 102, 102, 85, 54, 49,
+  6, 0, 3, 212, 255, 255, 255, 255, 255, 217, 17, 0, 16, 45, 45, 45,
+  45, 45, 45, 45, 45, 45, 45, 45, 44, 40, 41, 45, 45, 45, 45, 45,
+  41, 9, 0, 0, 0, 11, 17, 0, 0, 38, 54, 54, 54, 54, 54, 54,
+  52, 46, 53, 54, 54, 50, 43, 53, 51, 46, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 52, 39, 42, 42, 44, 85, 102, 102, 102, 102, 102,
+  102, 102, 63, 54, 54, 54, 54, 54, 47, 51, 54, 54, 54, 75, 83, 83,
+  83, 55, 54, 54, 36, 0, 0, 209, 255, 255, 255, 255, 255, 255, 81, 0,
+  1, 36, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 39, 44,
+  45, 45, 45, 45, 29, 0, 0, 0, 25, 43, 44, 42, 46, 53, 54, 54,
+  54, 54, 54, 54, 45, 53, 54, 54, 54, 54, 52, 39, 45, 51, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 53, 52, 54, 54, 44, 63, 98,
+  102, 102, 102, 102, 102, 102, 63, 54, 54, 54, 54, 50, 45, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 52, 5, 0, 209, 255, 255, 255, 255,
+  255, 255, 149, 0, 0, 8, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+  45, 45, 44, 40, 45, 45, 45, 44, 11, 0, 2, 22, 44, 45, 45, 49,
+  54, 54, 54, 50, 42, 42, 41, 46, 52, 54, 54, 54, 54, 54, 54, 52,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 47, 51, 92, 102, 102, 102, 102, 102, 102, 63, 54, 54, 54, 48, 42,
+  52, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 6, 0, 209,
+  255, 255, 255, 255, 255, 255, 234, 31, 0, 1, 28, 45, 45, 45, 45, 45,
+  45, 45, 45, 45, 45, 45, 45, 39, 45, 45, 45, 44, 0, 0, 11, 45,
+  45, 45, 45, 45, 51, 54, 54, 44, 54, 54, 48, 41, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 53, 44, 74, 84, 102, 102, 102, 102, 98, 60, 54,
+  54, 54, 52, 44, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 6, 0, 209, 255, 255, 255, 255, 255, 255, 255, 186, 0, 0, 2, 36,
+  45, 45, 45, 45, 45, 45, 45, 45, 44, 38, 39, 43, 45, 45, 45, 44,
+  0, 0, 24, 45, 45, 45, 45, 45, 45, 53, 54, 44, 54, 54, 53, 51,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 53, 46, 49, 65, 97, 102, 102,
+  101, 71, 54, 54, 54, 54, 54, 51, 47, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 35, 1, 0, 209, 255, 255, 255, 255, 255, 255, 255, 243,
+  69, 0, 0, 7, 37, 34, 36, 45, 45, 45, 45, 45, 44, 41, 44, 45,
+  45, 45, 45, 44, 0, 0, 24, 45, 45, 45, 45, 45, 45, 53, 54, 44,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  61, 69, 90, 90, 78, 54, 54, 54, 54, 54, 54, 53, 45, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 44, 3, 0, 0, 209, 255, 255, 255, 255,
+  255, 255, 255, 255, 182, 24, 0, 0, 0, 0, 2, 12, 43, 45, 45, 45,
+  45, 45, 45, 45, 45, 45, 45, 44, 3, 0, 20, 45, 45, 45, 45, 45,
+  45, 53, 54, 46, 52, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 48,
+  42, 42, 48, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 44, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  44, 54, 54, 54, 54, 54, 54, 54, 54, 54, 50, 8, 0, 0, 64, 242,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 12, 0, 0, 0, 0, 0,
+  29, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 17, 0, 6, 45,
+  45, 45, 45, 45, 45, 53, 54, 52, 46, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 48, 48, 54, 54, 48, 50, 53, 50, 50, 50, 50, 50, 51, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 53, 45, 54, 54, 54, 54, 54, 54,
+  51, 50, 54, 53, 45, 54, 54, 54, 54, 54, 54, 54, 54, 54, 19, 0,
+  0, 28, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 168,
+  168, 58, 0, 0, 24, 47, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+  20, 0, 2, 34, 45, 45, 45, 45, 45, 53, 54, 52, 46, 54, 54, 54,
+  54, 54, 54, 54, 54, 51, 47, 54, 54, 54, 54, 40, 46, 46, 46, 46,
+  46, 46, 44, 48, 54, 54, 54, 54, 54, 54, 54, 54, 52, 52, 54, 54,
+  54, 54, 54, 46, 45, 46, 43, 52, 46, 54, 54, 54, 54, 54, 54, 54,
+  54, 29, 4, 0, 10, 193, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 254, 64, 0, 2, 113, 66, 45, 45, 45, 45, 45,
+  45, 45, 45, 45, 36, 0, 0, 14, 45, 45, 45, 45, 50, 54, 54, 53,
+  51, 54, 54, 54, 54, 54, 54, 54, 54, 49, 49, 54, 54, 54, 54, 50,
+  50, 54, 54, 54, 54, 54, 53, 45, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 44, 54, 54, 48, 43, 51, 54, 54, 54,
+  54, 54, 54, 54, 40, 0, 0, 0, 140, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 111, 0, 0, 0, 61, 78,
+  41, 41, 41, 41, 45, 45, 45, 45, 25, 0, 0, 14, 45, 45, 45, 45,
+  48, 53, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 53, 45, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 53, 45, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 32, 0, 0, 7, 193, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 8,
+  0, 0, 0, 0, 0, 0, 0, 2, 27, 45, 45, 44, 7, 0, 0, 25,
+  45, 45, 45, 45, 45, 47, 52, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 53, 44, 50,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 53, 53, 54, 45, 53,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 32, 0, 0, 50,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 212, 65, 1, 0, 0, 0, 0, 0, 0, 6, 42, 45, 34,
+  0, 0, 16, 45, 45, 45, 45, 45, 45, 45, 46, 53, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  53, 47, 50, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 51,
+  47, 54, 45, 53, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  32, 0, 0, 13, 214, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 164, 66, 0, 0, 24, 28, 0,
+  0, 31, 45, 25, 0, 0, 33, 45, 45, 45, 45, 45, 45, 45, 45, 47,
+  52, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 48, 46, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 49, 42, 47, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 11, 0, 0, 179, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 252,
+  252, 252, 204, 5, 0, 0, 0, 0, 0, 7, 44, 45, 45, 45, 45, 45,
+  45, 45, 45, 45, 46, 53, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 43, 46, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 53, 53, 53, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 48, 6, 0, 179, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 11, 0, 0, 0, 0, 0, 16, 45, 45,
+  45, 45, 45, 45, 45, 45, 45, 45, 45, 47, 44, 47, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 50, 44, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 45, 0, 0,
+  179, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 166, 105, 105, 105, 60,
+  0, 16, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 40, 44, 44,
+  53, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 52, 46, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 14, 0, 0, 179, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 145, 0, 1, 43, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+  37, 42, 45, 46, 45, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 53, 45, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 51, 33, 33, 46, 54, 54, 54,
+  54, 54, 58, 108, 22, 0, 0, 26, 247, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 145, 0, 0, 36, 45, 45, 45, 45, 45,
+  45, 45, 45, 45, 43, 44, 45, 45, 43, 51, 46, 46, 52, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 46, 46, 46, 45, 42, 52, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 53, 37, 35, 41, 48, 40, 8, 0, 0,
+  4, 7, 23, 35, 35, 27, 8, 26, 0, 0, 0, 157, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 233, 0, 0, 18, 45,
+  45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 42, 39, 50, 50,
+  43, 51, 54, 54, 54, 54, 54, 54, 54, 54, 50, 50, 50, 51, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 53, 50, 29, 0, 0, 12, 30,
+  10, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 108, 252,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252,
+  29, 0, 1, 25, 33, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+  43, 41, 48, 53, 53, 45, 49, 50, 47, 47, 47, 53, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 48, 46, 35, 2,
+  0, 0, 0, 0, 0, 0, 3, 12, 10, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 127, 0, 0, 0, 0, 10, 10, 45, 45, 45, 45, 45,
+  45, 45, 45, 45, 45, 45, 45, 46, 47, 47, 39, 43, 46, 46, 44, 50,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 50,
+  45, 41, 6, 0, 0, 0, 0, 0, 0, 1, 30, 45, 42, 34, 33, 50,
+  78, 78, 120, 47, 0, 0, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 216, 36, 0, 0, 0, 0, 0, 41,
+  45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 39, 44,
+  45, 45, 45, 44, 52, 50, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 54, 51, 45, 45, 25, 0, 0, 5, 33, 33, 33, 33, 34, 45, 45,
+  45, 45, 36, 64, 102, 102, 72, 0, 0, 56, 239, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 181, 86,
+  46, 0, 0, 27, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+  45, 45, 45, 45, 45, 45, 45, 39, 43, 50, 54, 54, 54, 54, 54, 54,
+  54, 54, 54, 54, 54, 53, 45, 45, 39, 3, 0, 2, 34, 45, 45, 45,
+  45, 45, 45, 45, 45, 43, 40, 64, 102, 102, 12, 0, 0, 169, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 238, 14, 0, 13, 43, 45, 45, 45, 45, 45, 45, 45,
+  45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 40, 44, 52, 54, 54,
+  54, 54, 54, 54, 54, 54, 54, 54, 54, 47, 45, 45, 34, 0, 0, 15,
+  45, 45, 45, 45, 45, 45, 45, 41, 41, 39, 44, 68, 102, 102, 12, 0,
+  87, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 0, 0, 21, 42, 45, 45,
+  45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+  45, 48, 54, 54, 54, 54, 54, 54, 54, 54, 54, 54, 51, 45, 45, 45,
+  7, 0, 0, 32, 45, 45, 45, 45, 45, 45, 45, 39, 41, 45, 54, 97,
+  102, 102, 12, 0, 208, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 156, 4, 0,
+  0, 12, 43, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45,
+  45, 45, 45, 45, 45, 48, 54, 54, 54, 54, 54, 54, 54, 54, 54, 52,
+  46, 45, 45, 32, 0, 0, 6, 45, 45, 45, 45, 45, 45, 45, 45, 39,
+  46, 50, 92, 102, 102, 102, 12, 0, 208, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 55, 0, 0, 0, 13, 39, 45, 45, 45, 45, 45, 45, 45, 45,
+  45, 45, 45, 45, 45, 45, 45, 45, 45, 48, 54, 54, 54, 54, 54, 54,
+  54, 54, 51, 45, 45, 44, 36, 3, 0, 0, 34, 45, 45, 45, 45, 45,
+  45, 49, 50, 44, 83, 102, 102, 102, 102, 99, 11, 0, 208, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 252, 115, 2, 0, 0, 1, 19, 30, 43, 45,
+  45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 48, 54, 52,
+  51, 51, 51, 51, 51, 51, 46, 45, 45, 32, 0, 0, 0, 9, 43, 45,
+  45, 45, 45, 46, 48, 54, 53, 59, 102, 102, 102, 102, 102, 70, 0, 0,
+  208, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 110, 1, 0, 0,
+  0, 0, 4, 21, 21, 21, 21, 21, 21, 35, 44, 45, 45, 45, 45, 45,
+  45, 50, 49, 6, 0, 0, 0, 0, 0, 3, 29, 44, 28, 2, 0, 0,
+  3, 39, 45, 45, 45, 46, 53, 50, 48, 54, 47, 93, 102, 102, 102, 102,
+  102, 30, 0, 0, 209, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 183, 34, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 35,
+  45, 45, 45, 45, 48, 54, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 8, 35, 45, 45, 45, 47, 52, 54, 52, 43, 43, 69, 102,
+  102, 102, 102, 102, 102, 30, 0, 58, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 251, 238, 118, 18, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 8, 24, 24, 45, 48, 18, 0, 0, 1, 20, 20, 20,
+  4, 0, 0, 0, 0, 0, 4, 39, 45, 45, 45, 46, 53, 54, 54, 54,
+  53, 58, 101, 102, 102, 102, 102, 102, 96, 16, 0, 161, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 241, 241,
+  241, 241, 241, 164, 61, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0,
+  29, 45, 45, 45, 43, 19, 19, 19, 19, 20, 37, 39, 42, 45, 48, 52,
+  53, 44, 52, 54, 54, 59, 102, 102, 102, 102, 102, 102, 90, 0, 0, 163,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 245, 206, 102, 2, 0, 0, 0, 0,
+  0, 0, 0, 21, 44, 45, 45, 45, 45, 45, 45, 45, 43, 38, 43, 43,
+  40, 49, 53, 47, 43, 47, 49, 54, 50, 59, 102, 102, 102, 102, 102, 102,
+  52, 0, 5, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226,
+  226, 160, 94, 61, 7, 0, 6, 43, 45, 45, 45, 45, 45, 45, 45, 42,
+  38, 44, 45, 45, 44, 48, 44, 49, 50, 45, 53, 52, 46, 59, 102, 102,
+  102, 102, 102, 102, 11, 0, 13, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 242, 85, 0, 22, 45, 45, 45, 45, 45,
+  45, 45, 45, 44, 43, 45, 45, 43, 51, 44, 51, 54, 41, 42, 42, 44,
+  53, 54, 82, 102, 102, 102, 102, 71, 0, 0, 103, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 96, 0, 25, 45,
+  45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 39, 46, 53, 54, 54,
+  50, 52, 54, 54, 54, 54, 56, 90, 102, 102, 96, 24, 0, 0, 205, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  96, 0, 10, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 45, 44, 38,
+  45, 47, 53, 54, 54, 54, 54, 54, 54, 54, 54, 58, 63, 63, 46, 0,
+  0, 58, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 96, 0, 5, 42, 45, 45, 45, 45, 45, 45, 45, 45,
+  45, 45, 41, 41, 45, 45, 53, 54, 54, 51, 40, 40, 40, 47, 54, 54,
+  54, 31, 5, 0, 7, 172, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 119, 0, 0, 26, 44, 45, 45, 45,
+  45, 45, 45, 45, 43, 41, 41, 45, 45, 45, 53, 54, 53, 21, 0, 0,
+  0, 7, 14, 14, 14, 2, 0, 0, 51, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211, 9, 0, 0,
+  24, 45, 45, 45, 45, 45, 45, 45, 45, 39, 45, 45, 45, 45, 53, 51,
+  19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 35, 209, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 67, 0, 0, 1, 21, 38, 38, 38, 44, 45, 45, 45, 45, 45, 45,
+  45, 45, 52, 21, 0, 0, 0, 93, 39, 39, 39, 39, 39, 39, 61, 234,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 219, 84, 0, 0, 0, 0, 0, 0, 41, 45, 45,
+  45, 45, 45, 45, 45, 42, 30, 0, 0, 7, 84, 253, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 57, 1, 0, 0, 0,
+  0, 10, 34, 42, 45, 45, 45, 45, 38, 4, 0, 0, 1, 129, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  156, 147, 142, 5, 0, 0, 0, 9, 19, 39, 42, 34, 8, 0, 0, 0,
+  78, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 154, 4, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 17, 139, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 110, 0, 0,
+  0, 0, 0, 0, 0, 0, 185, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 };
+/* Define image 'cdrom' of size 100x100x1x3 and type 'const unsigned char' */
+const unsigned char data_cdrom[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 245, 191, 191, 187, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+  148, 175, 224, 242, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251,
+  246, 245, 222, 139, 59, 26, 8, 24, 24, 48, 108, 95, 95, 95, 95, 95,
+  95, 95, 95, 57, 24, 5, 23, 25, 65, 119, 177, 222, 253, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 241, 178, 103, 45, 0, 0, 50, 110, 160, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 144, 143, 125, 71, 50, 0, 0,
+  61, 102, 181, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 249, 146, 16, 9, 78, 119, 180, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 137, 105, 47, 0, 7, 123, 249, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 246, 153, 55, 3, 40, 170, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 189, 149, 62, 7, 40, 159, 240,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 170, 45, 0, 29, 82, 107,
+  139, 189, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 189, 197, 210, 211,
+  179, 43, 0, 53, 233, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 244, 153, 37, 1, 38,
+  86, 107, 107, 81, 47, 128, 182, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  167, 0, 156, 246, 246, 235, 122, 20, 1, 116, 245, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 74,
+  0, 67, 95, 107, 107, 107, 107, 72, 0, 60, 141, 184, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 200, 111, 5, 235, 246, 246, 246, 233, 165, 67, 9, 32, 153,
+  238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 243, 68, 0, 83, 189, 121, 107, 107, 107, 107, 107, 33, 0, 62, 134,
+  189, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 192, 232, 30, 78, 246, 246, 246, 246, 245, 190,
+  190, 161, 50, 0, 43, 190, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 237, 58, 16, 127, 190, 190, 130, 107, 107, 107, 107, 107,
+  98, 23, 10, 87, 156, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 217, 222, 5, 162, 246, 246,
+  246, 237, 81, 35, 190, 190, 190, 142, 50, 0, 97, 234, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 235, 53, 9, 155, 190, 190, 190, 183, 115,
+  107, 107, 107, 107, 107, 100, 19, 13, 105, 180, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 241, 157,
+  6, 203, 246, 246, 246, 151, 0, 139, 190, 190, 190, 190, 187, 91, 11, 21,
+  192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 232, 50, 19, 141, 190, 190,
+  190, 190, 190, 176, 123, 107, 107, 107, 107, 107, 80, 5, 30, 123, 189, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 202, 244, 84, 48, 246, 246, 246, 217, 13, 52, 188, 190, 190, 190, 190,
+  190, 190, 151, 17, 14, 185, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 74, 5,
+  140, 190, 190, 190, 190, 190, 190, 190, 175, 131, 107, 107, 107, 107, 107, 66,
+  0, 61, 149, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 206, 246, 62, 142, 246, 246, 246, 146, 6, 154, 190,
+  190, 190, 190, 190, 190, 190, 190, 188, 65, 0, 90, 248, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 154, 0, 112, 190, 190, 190, 190, 190, 190, 190, 190, 190, 177, 114, 107,
+  107, 107, 107, 105, 34, 7, 96, 171, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 220, 216, 6, 156, 246, 246, 246,
+  76, 63, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 185, 74, 0, 85,
+  245, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 221, 13, 61, 182, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 158, 107, 107, 107, 107, 107, 86, 3, 49, 124, 183, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 194, 246, 210, 0,
+  238, 246, 246, 231, 17, 99, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 186, 76, 0, 76, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 217, 45, 19, 188, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 135, 107, 107, 107, 107, 107, 34, 14, 105,
+  174, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  216, 246, 116, 0, 238, 246, 246, 201, 0, 146, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 113, 0, 80, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 35, 4, 117, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 186, 112, 107, 107, 107,
+  107, 89, 3, 45, 140, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 216, 246, 66, 78, 245, 246, 246, 117, 29, 181, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 187, 93, 5, 140, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 235, 40, 1,
+  116, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  165, 107, 107, 107, 107, 107, 57, 4, 91, 166, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 225, 244, 20, 126, 246, 246, 244, 34,
+  58, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 39, 0, 140, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 115, 5, 124, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 122, 107, 107, 107, 107, 93, 12, 18, 114, 182, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 238, 171, 0, 183,
+  246, 246, 185, 0, 130, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 178, 93, 0, 123, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 228, 8, 69, 190, 190, 190, 91, 161, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 143, 107, 107, 107, 107, 107, 81,
+  0, 66, 133, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 202,
+  245, 85, 30, 239, 246, 246, 99, 13, 184, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 189, 103, 1, 166, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 253, 101, 20, 176, 190, 190, 190, 5, 18,
+  108, 189, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 188, 119, 107,
+  107, 107, 107, 102, 32, 16, 102, 157, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 220, 237, 45, 107, 246, 246, 239, 20, 72, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 180,
+  52, 16, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 0, 99, 190, 190,
+  190, 190, 175, 42, 0, 93, 174, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 174, 109, 107, 107, 107, 107, 73, 0, 65, 115, 185, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 238, 225, 0, 191, 246, 246, 144, 0, 136,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 155, 17, 22, 236, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 118,
+  8, 183, 190, 190, 190, 190, 190, 178, 81, 3, 63, 172, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 151, 107, 107, 107, 107, 106, 40, 12, 102,
+  159, 186, 190, 190, 190, 190, 190, 190, 190, 190, 194, 246, 139, 11, 228, 246,
+  246, 93, 47, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 156, 10, 50, 248, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 45, 67, 190, 190, 190, 190, 190, 190, 190, 190, 110, 1, 33,
+  169, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 188, 127, 107, 107, 107,
+  107, 90, 5, 41, 106, 155, 189, 190, 190, 190, 190, 190, 190, 190, 213, 246,
+  91, 74, 246, 246, 244, 47, 112, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 106, 0,
+  162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 131, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 143, 29, 24, 119, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  171, 108, 107, 107, 107, 107, 41, 0, 86, 107, 169, 190, 190, 190, 190, 190,
+  190, 190, 235, 205, 11, 137, 246, 246, 172, 0, 120, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 182, 33, 32, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 165, 8, 192, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 169, 46, 4, 79, 179, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 142, 107, 107, 107, 107, 98, 17, 34, 107, 114, 176,
+  190, 190, 190, 190, 190, 190, 235, 169, 10, 210, 246, 246, 88, 19, 183, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 184, 176, 176, 176, 188, 152, 4, 94, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 153, 49,
+  215, 212, 210, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 91, 1, 45,
+  175, 190, 190, 190, 190, 190, 190, 190, 190, 175, 115, 107, 107, 107, 107, 64,
+  3, 85, 107, 141, 190, 190, 190, 190, 190, 190, 235, 89, 23, 246, 246, 246,
+  7, 86, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 189, 131, 44, 100, 107, 107, 107, 139, 180, 96, 0, 138, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 57, 80, 246, 246, 246, 232, 198, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 103, 0, 6, 132, 190, 190, 190, 190, 190, 190, 190, 190, 168, 108,
+  107, 107, 107, 95, 5, 39, 107, 141, 190, 190, 190, 190, 190, 190, 212, 63,
+  115, 246, 246, 187, 2, 159, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 96, 0, 24, 99, 107, 107, 107, 107, 138,
+  177, 47, 19, 199, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 245, 46, 149, 246, 246, 246, 246, 243, 216, 193, 190,
+  190, 190, 190, 190, 190, 190, 189, 154, 24, 5, 121, 182, 190, 190, 190, 190,
+  190, 190, 190, 155, 107, 107, 107, 107, 76, 75, 107, 141, 190, 190, 190, 190,
+  190, 190, 184, 0, 167, 246, 246, 70, 32, 186, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 187, 90, 3, 60, 102, 107, 107,
+  107, 107, 107, 107, 186, 182, 11, 59, 241, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 170, 0, 188, 246, 246, 246, 246,
+  246, 246, 238, 223, 192, 190, 190, 190, 190, 190, 190, 190, 170, 76, 0, 57,
+  186, 190, 190, 190, 190, 190, 190, 186, 157, 107, 107, 107, 107, 107, 113, 173,
+  190, 190, 190, 190, 190, 190, 184, 0, 173, 201, 181, 13, 94, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 88, 1, 63,
+  107, 107, 107, 107, 107, 107, 107, 107, 186, 190, 132, 1, 130, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 114, 27, 245,
+  246, 246, 246, 246, 246, 246, 246, 246, 246, 229, 212, 197, 190, 190, 190, 190,
+  190, 190, 83, 0, 52, 158, 190, 190, 190, 190, 190, 190, 189, 154, 110, 107,
+  107, 115, 166, 190, 190, 142, 135, 135, 135, 135, 131, 34, 171, 190, 164, 0,
+  159, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  138, 9, 43, 107, 107, 107, 107, 107, 107, 107, 107, 107, 186, 190, 190, 79,
+  24, 237, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  209, 52, 94, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 240,
+  212, 199, 191, 190, 190, 190, 187, 147, 25, 7, 81, 173, 190, 190, 190, 190,
+  190, 190, 183, 182, 166, 128, 87, 29, 16, 5, 32, 32, 32, 32, 18, 10,
+  16, 65, 122, 169, 189, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 187, 120, 6, 20, 104, 107, 107, 107, 107, 107, 107, 107, 107, 150,
+  189, 190, 190, 173, 10, 84, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 170, 1, 135, 245, 246, 246, 246, 246, 246, 246, 246, 246,
+  246, 246, 246, 246, 246, 246, 236, 228, 211, 192, 190, 190, 181, 116, 2, 19,
+  112, 186, 190, 190, 190, 190, 179, 88, 18, 6, 51, 84, 155, 159, 197, 197,
+  197, 197, 179, 155, 120, 59, 3, 34, 136, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 189, 175, 87, 4, 39, 103, 107, 107, 107, 107, 107, 107,
+  107, 107, 142, 185, 190, 190, 190, 190, 92, 17, 226, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 170, 41, 204, 221, 243, 246, 246, 246,
+  246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 228, 219,
+  202, 190, 148, 59, 0, 34, 117, 188, 190, 175, 42, 0, 92, 180, 197, 195,
+  120, 65, 65, 65, 65, 65, 65, 65, 65, 116, 135, 76, 1, 27, 169, 190,
+  190, 190, 190, 190, 190, 190, 169, 144, 131, 69, 1, 41, 107, 107, 107, 107,
+  107, 107, 107, 107, 108, 148, 190, 190, 190, 190, 190, 190, 172, 13, 119, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 170, 31, 191, 190,
+  203, 232, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
+  246, 246, 246, 246, 245, 224, 220, 196, 151, 60, 0, 186, 188, 62, 3, 110,
+  190, 108, 17, 15, 0, 34, 106, 106, 106, 106, 106, 106, 43, 10, 8, 71,
+  108, 19, 9, 82, 180, 190, 190, 181, 175, 137, 108, 107, 64, 2, 47, 105,
+  107, 107, 107, 107, 107, 107, 107, 122, 166, 190, 190, 190, 190, 190, 190, 190,
+  190, 87, 39, 247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  129, 31, 190, 190, 190, 193, 214, 243, 245, 246, 246, 246, 246, 246, 246, 246,
+  246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 240, 204, 184, 150, 189,
+  152, 0, 92, 197, 74, 3, 80, 142, 156, 191, 197, 197, 197, 197, 197, 197,
+  197, 168, 78, 5, 37, 156, 91, 1, 48, 148, 164, 115, 107, 107, 101, 50,
+  2, 48, 106, 107, 107, 107, 107, 107, 107, 107, 122, 171, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 124, 0, 200, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 71, 52, 190, 190, 183, 62, 131, 190, 207, 230, 246, 246,
+  246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
+  240, 192, 190, 190, 59, 43, 209, 112, 0, 123, 197, 197, 197, 197, 197, 197,
+  197, 197, 197, 197, 197, 197, 197, 173, 26, 1, 111, 127, 18, 8, 83, 107,
+  107, 107, 29, 0, 53, 107, 107, 107, 107, 107, 107, 107, 107, 148, 184, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 174, 15, 142, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 239, 32, 104, 190, 190, 182, 32, 5, 14,
+  81, 142, 185, 216, 238, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
+  246, 246, 246, 246, 246, 194, 190, 141, 3, 137, 190, 26, 68, 193, 197, 197,
+  197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 173, 76, 0, 53,
+  153, 22, 2, 80, 107, 107, 31, 57, 106, 107, 107, 107, 107, 107, 107, 123,
+  175, 189, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 64, 51,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 0, 163, 190, 190,
+  190, 190, 148, 80, 13, 5, 23, 38, 88, 174, 219, 239, 245, 246, 246, 246,
+  246, 246, 246, 246, 246, 246, 246, 246, 246, 194, 190, 46, 39, 195, 114, 2,
+  166, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
+  197, 196, 92, 5, 49, 122, 13, 19, 97, 107, 107, 107, 107, 107, 107, 107,
+  107, 111, 151, 188, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 125, 8, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227,
+  0, 178, 190, 190, 190, 190, 190, 190, 190, 166, 128, 97, 19, 0, 0, 33,
+  75, 163, 172, 172, 179, 246, 246, 246, 246, 246, 246, 246, 240, 192, 142, 1,
+  135, 197, 26, 61, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
+  197, 197, 197, 197, 197, 197, 197, 132, 18, 23, 72, 1, 57, 107, 107, 107,
+  107, 107, 107, 107, 129, 175, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 169, 6, 169, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 227, 0, 178, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  180, 175, 152, 104, 50, 33, 33, 24, 1, 18, 18, 18, 18, 18, 18, 212,
+  205, 190, 79, 21, 180, 136, 5, 142, 197, 197, 197, 197, 197, 197, 197, 197,
+  197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 164, 23, 20, 40,
+  4, 100, 107, 107, 108, 132, 158, 183, 187, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 50, 100, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 227, 0, 178, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 180, 152, 152, 163, 173,
+  173, 173, 173, 192, 190, 178, 26, 72, 196, 66, 21, 197, 197, 197, 197, 197,
+  197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
+  197, 128, 2, 8, 0, 32, 113, 142, 160, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 87,
+  20, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 0, 178, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 161, 0, 139, 190, 0, 94, 197,
+  197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
+  197, 197, 197, 197, 197, 197, 123, 2, 0, 0, 174, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 157, 0, 225, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227,
+  0, 137, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 161, 0, 193,
+  147, 0, 165, 197, 197, 197, 197, 197, 197, 197, 197, 125, 32, 14, 14, 14,
+  20, 110, 193, 197, 197, 197, 197, 197, 197, 197, 197, 120, 0, 0, 59, 193,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 165, 9, 156, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 239, 30, 104, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 164, 0, 193, 113, 40, 191, 197, 197, 197, 197, 197, 197, 197, 143, 3,
+  82, 165, 205, 181, 64, 4, 83, 194, 197, 197, 197, 197, 197, 197, 197, 189,
+  32, 0, 10, 175, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 201, 55, 114, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 71, 104, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 164, 0, 193, 113, 50, 197, 197, 197, 197, 197, 197,
+  197, 197, 59, 24, 234, 255, 255, 255, 255, 108, 0, 94, 197, 197, 197, 197,
+  197, 197, 197, 197, 92, 17, 10, 107, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 201,
+  123, 57, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 89, 36, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 121, 0, 193, 113, 50, 197, 197,
+  197, 197, 197, 197, 197, 197, 59, 128, 255, 255, 255, 255, 255, 249, 130, 4,
+  148, 197, 197, 197, 197, 197, 197, 197, 130, 0, 42, 45, 188, 200, 200, 200,
+  193, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 127, 25, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  170, 29, 187, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 87, 58, 196,
+  113, 50, 197, 197, 197, 197, 197, 197, 197, 197, 59, 134, 255, 255, 255, 255,
+  255, 255, 235, 33, 49, 194, 197, 197, 197, 197, 197, 197, 193, 0, 105, 0,
+  200, 246, 246, 246, 234, 203, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 194, 0, 213, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 170, 0, 147, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 87, 22, 194, 113, 15, 179, 197, 197, 197, 197, 197, 197, 197, 59, 134,
+  255, 255, 255, 255, 255, 255, 255, 192, 2, 157, 197, 197, 197, 197, 197, 197,
+  194, 22, 82, 24, 40, 77, 77, 114, 169, 196, 222, 191, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 189, 0, 182, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 249, 13, 105, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 157, 0, 178, 185, 0, 170, 197, 197, 197, 197, 197,
+  197, 197, 59, 79, 254, 255, 255, 255, 255, 255, 255, 255, 7, 157, 197, 197,
+  197, 197, 197, 197, 197, 72, 94, 77, 71, 138, 85, 46, 35, 7, 15, 57,
+  83, 151, 154, 176, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  189, 18, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 58, 74, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 174, 20, 82, 190, 0, 137, 197,
+  197, 197, 197, 197, 197, 197, 122, 19, 225, 255, 255, 255, 255, 255, 255, 249,
+  7, 157, 197, 197, 197, 197, 197, 197, 197, 72, 94, 77, 127, 246, 246, 246,
+  235, 199, 173, 107, 40, 15, 9, 22, 95, 154, 179, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 87, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 114, 30, 189, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 99, 12,
+  169, 48, 94, 197, 197, 197, 197, 197, 197, 197, 178, 11, 92, 252, 255, 255,
+  255, 255, 255, 132, 0, 157, 197, 197, 197, 197, 197, 197, 194, 22, 94, 77,
+  127, 246, 246, 246, 246, 246, 246, 246, 246, 246, 215, 112, 42, 0, 7, 59,
+  71, 130, 130, 180, 190, 190, 190, 190, 190, 73, 114, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 207, 0, 194, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 3, 145, 84, 18, 185, 197, 197, 197, 197, 197, 197, 197, 102,
+  0, 88, 225, 254, 255, 255, 160, 28, 78, 194, 197, 197, 197, 197, 197, 197,
+  193, 0, 163, 63, 7, 14, 67, 180, 246, 246, 246, 246, 246, 246, 246, 246,
+  239, 231, 148, 123, 50, 46, 0, 20, 190, 190, 190, 190, 190, 73, 57, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 0, 207, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 8, 78, 149, 1, 104, 197, 197, 197, 197,
+  197, 197, 197, 191, 105, 12, 18, 46, 46, 46, 5, 39, 179, 197, 197, 197,
+  197, 197, 197, 197, 193, 0, 167, 62, 101, 131, 52, 0, 67, 143, 234, 246,
+  246, 246, 246, 246, 246, 246, 246, 246, 246, 245, 200, 193, 208, 193, 191, 190,
+  190, 133, 14, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 18, 132,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 102, 4, 174, 50, 18,
+  161, 197, 197, 197, 197, 197, 197, 197, 197, 185, 136, 136, 136, 136, 144, 197,
+  197, 197, 197, 197, 197, 197, 197, 197, 140, 0, 163, 42, 98, 210, 217, 169,
+  78, 11, 22, 122, 225, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246,
+  246, 246, 233, 213, 190, 147, 14, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 57, 92, 196, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 175,
+  20, 45, 173, 11, 55, 187, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
+  197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 116, 44, 180, 0,
+  112, 190, 194, 222, 246, 227, 113, 23, 10, 118, 217, 246, 246, 246, 246, 246,
+  246, 246, 246, 246, 246, 246, 246, 245, 226, 147, 14, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 138, 9, 165, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 102, 0, 136, 126, 1, 80, 191, 197, 197, 197, 197, 197,
+  197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 194,
+  50, 47, 118, 3, 173, 190, 190, 190, 200, 227, 243, 223, 102, 14, 17, 44,
+  128, 233, 246, 246, 246, 246, 246, 246, 246, 246, 246, 246, 245, 164, 13, 248,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 0, 133, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 188, 47, 69, 197, 93, 0, 62, 197,
+  197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
+  197, 197, 197, 135, 0, 99, 78, 56, 190, 190, 190, 190, 190, 190, 194, 220,
+  246, 232, 170, 79, 12, 21, 121, 224, 246, 246, 246, 246, 246, 246, 246, 246,
+  246, 168, 0, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 57,
+  41, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 191, 217, 222, 222, 133, 7, 147,
+  195, 103, 2, 101, 183, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197,
+  197, 197, 197, 197, 197, 197, 167, 9, 47, 180, 22, 98, 190, 190, 190, 190,
+  190, 190, 190, 190, 192, 204, 222, 241, 193, 78, 23, 9, 116, 216, 246, 246,
+  246, 246, 246, 246, 246, 209, 29, 170, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 144, 5, 161, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 194, 234, 246, 209,
+  132, 32, 7, 33, 184, 197, 105, 2, 40, 179, 197, 197, 197, 197, 197, 197,
+  197, 197, 197, 197, 197, 197, 197, 197, 197, 135, 8, 22, 161, 113, 6, 176,
+  203, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 201, 220, 235, 219, 131,
+  12, 17, 100, 177, 239, 246, 246, 246, 244, 201, 31, 170, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 238, 30, 101, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 194, 219,
+  246, 234, 95, 1, 2, 103, 185, 0, 42, 181, 197, 116, 0, 34, 177, 197,
+  197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 197, 130, 5, 47, 175,
+  200, 0, 0, 77, 236, 215, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 164, 112, 47, 0, 49, 156, 224, 242, 212, 190, 31, 170,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 100, 41, 185, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 200, 236, 241, 167, 17, 18, 104, 181, 190, 23, 11, 2, 34, 178, 196,
+  168, 30, 6, 87, 157, 195, 197, 197, 197, 197, 197, 197, 197, 197, 171, 88,
+  2, 30, 175, 208, 25, 53, 95, 0, 70, 232, 209, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 187, 116, 38, 18, 8, 51,
+  136, 134, 4, 187, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  187, 0, 100, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 219, 232, 110, 38, 6, 32, 197, 246, 187, 15, 17, 171,
+  111, 3, 63, 173, 197, 180, 111, 19, 0, 33, 93, 154, 181, 192, 197, 197,
+  188, 120, 12, 19, 111, 180, 187, 75, 1, 189, 242, 113, 1, 63, 188, 219,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 173, 133, 46, 3, 12, 13, 248, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 251, 60, 13, 172, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 192, 216, 146, 41, 0, 79, 196, 246, 246, 179,
+  13, 76, 208, 221, 190, 121, 1, 26, 173, 197, 197, 188, 138, 66, 37, 0,
+  0, 40, 58, 58, 24, 0, 59, 188, 197, 183, 54, 0, 0, 123, 246, 246,
+  168, 21, 13, 178, 204, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 146, 75, 0, 170, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 221, 17, 80, 187, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 200, 173, 32, 10, 90, 202, 244,
+  246, 246, 173, 6, 47, 242, 232, 190, 190, 190, 125, 7, 24, 121, 197, 197,
+  197, 197, 193, 188, 124, 114, 114, 114, 114, 144, 193, 197, 183, 48, 0, 114,
+  103, 2, 155, 246, 246, 205, 44, 5, 118, 199, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 104, 12, 241,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 120, 0,
+  110, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 175, 55, 5, 54,
+  175, 246, 246, 246, 246, 164, 10, 74, 220, 227, 194, 190, 190, 190, 190, 161,
+  37, 2, 55, 112, 150, 155, 156, 194, 197, 197, 197, 197, 197, 197, 186, 140,
+  22, 17, 112, 202, 226, 49, 26, 202, 246, 246, 238, 93, 0, 78, 201, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 73, 75, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 247, 51, 8, 159, 190, 190, 190, 190, 190, 190, 190, 190, 198, 136,
+  28, 0, 136, 246, 246, 246, 246, 246, 159, 5, 96, 236, 205, 190, 190, 190,
+  190, 190, 190, 190, 175, 100, 33, 0, 11, 31, 31, 48, 120, 131, 131, 131,
+  117, 57, 21, 0, 43, 157, 190, 190, 219, 206, 12, 48, 238, 246, 246, 244,
+  116, 12, 71, 201, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 189, 48, 106, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 216, 9, 75, 190, 190, 190, 190, 190, 190,
+  190, 163, 109, 3, 54, 208, 245, 246, 246, 246, 232, 69, 2, 109, 224, 192,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 164, 35, 8, 62, 62, 62, 36,
+  23, 39, 39, 39, 39, 69, 111, 144, 187, 190, 190, 190, 190, 210, 186, 16,
+  68, 232, 246, 246, 246, 188, 16, 64, 181, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 189, 0, 172, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 107, 11, 182, 190,
+  190, 190, 190, 163, 47, 4, 25, 137, 240, 246, 246, 246, 246, 225, 62, 10,
+  106, 196, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 146, 17, 49,
+  107, 107, 107, 107, 113, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 217, 189, 18, 62, 233, 246, 246, 246, 191, 19, 14, 168, 191, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 127, 0, 213, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  228, 19, 61, 190, 190, 190, 121, 3, 31, 188, 246, 246, 246, 246, 246, 246,
+  177, 12, 21, 186, 201, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 127, 0, 86, 107, 107, 107, 107, 113, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 212, 197, 21, 57, 228, 246, 246, 246, 198,
+  21, 12, 148, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  90, 40, 242, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 116, 16, 170, 190, 191, 58, 42, 218, 246, 246, 246,
+  246, 246, 246, 171, 5, 26, 198, 193, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 59, 19, 103, 107, 107, 107, 107, 113, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 207, 174, 2, 46,
+  226, 246, 246, 246, 207, 47, 2, 68, 183, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 183, 32, 115, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 10, 88, 190, 213, 217, 227,
+  246, 246, 246, 246, 246, 246, 161, 9, 31, 191, 196, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 25, 52, 107, 107, 107, 107, 107,
+  116, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  191, 213, 136, 4, 68, 242, 246, 246, 246, 238, 96, 0, 62, 186, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 157, 0, 165, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 135, 2,
+  143, 217, 246, 246, 246, 246, 246, 246, 246, 157, 4, 24, 181, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 155, 7, 74, 107,
+  107, 107, 107, 107, 146, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 206, 151, 0, 107, 246, 246, 246, 246, 245, 99,
+  0, 63, 158, 190, 190, 190, 190, 190, 190, 190, 190, 104, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 232, 47, 42, 212, 246, 246, 246, 246, 246, 246, 145, 2, 33, 169,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  141, 8, 105, 107, 107, 107, 107, 107, 146, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 200, 153, 8, 97, 240,
+  246, 246, 246, 244, 189, 17, 3, 82, 188, 190, 190, 190, 190, 190, 176, 10,
+  59, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 190, 0, 114, 244, 246, 246, 246, 245, 138,
+  6, 68, 171, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 135, 9, 107, 107, 107, 107, 107, 107, 146, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  205, 161, 7, 93, 239, 246, 246, 246, 246, 219, 113, 6, 56, 190, 190, 190,
+  190, 190, 91, 4, 189, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 96, 15, 204, 244,
+  246, 246, 133, 0, 97, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 68, 9, 107, 107, 107, 107, 107, 107,
+  146, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 200, 147, 0, 82, 242, 246, 246, 246, 246, 246, 163,
+  110, 206, 190, 190, 190, 174, 14, 77, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  227, 18, 27, 179, 212, 169, 1, 65, 189, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 68, 49, 107, 107,
+  107, 107, 107, 107, 146, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 201, 95, 0, 75, 234, 246,
+  246, 246, 246, 246, 246, 236, 194, 190, 190, 123, 0, 201, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 164, 7, 65, 185, 168, 92, 179, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  68, 50, 107, 107, 107, 107, 107, 107, 146, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 192,
+  157, 14, 67, 227, 246, 246, 246, 246, 246, 246, 211, 190, 190, 59, 73, 253,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 173, 5, 67, 189, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 185, 18, 50, 107, 107, 107, 107, 107, 107, 146, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 173, 18, 15, 151, 246, 246, 246, 246, 246, 211, 190,
+  150, 5, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 135,
+  0, 126, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 184, 0, 75, 107, 107, 107, 107, 107, 107,
+  177, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 165, 42, 0, 168, 246, 246,
+  246, 246, 211, 187, 50, 17, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 249, 97, 5, 118, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 184, 0, 92, 107, 107,
+  107, 107, 107, 124, 188, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 209,
+  209, 234, 246, 246, 246, 235, 193, 80, 0, 161, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 228, 37, 2, 116, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 184,
+  0, 92, 107, 107, 107, 107, 107, 139, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 193, 216, 246, 246, 246, 231, 199, 132, 8, 87, 247, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 50, 1,
+  105, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 164, 0, 92, 107, 107, 107, 107, 107, 159, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 191, 191, 191, 190, 127, 1, 98,
+  253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 234, 52, 2, 100, 188, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 151, 0, 92, 107, 107, 107, 107, 107, 159,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  186, 36, 97, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 236, 130, 0, 58, 173, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 151, 0, 92, 107, 107,
+  107, 107, 108, 181, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 102, 0, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 152, 27, 29,
+  153, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 151,
+  0, 92, 107, 107, 107, 107, 109, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 197, 155, 6, 122, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 183, 40, 5, 115, 182, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 155, 0, 92, 107, 107, 107, 107, 107, 164, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 184, 157, 9, 32, 226, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 229, 74, 0, 51, 154, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 184, 0, 92, 107, 107, 107, 107, 107, 159,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 158, 58, 0, 99,
+  225, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 132, 21, 8,
+  133, 186, 190, 190, 190, 190, 190, 190, 190, 190, 190, 138, 0, 92, 107, 107,
+  107, 107, 107, 159, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 162,
+  12, 0, 114, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 207, 78, 8, 34, 97, 171, 190, 190, 190, 190, 190, 190, 190, 110,
+  13, 99, 107, 107, 107, 107, 111, 174, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 180, 47, 1, 120, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 207, 86, 0, 10, 79, 165, 190, 190,
+  190, 190, 190, 139, 86, 122, 107, 107, 107, 112, 159, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 59, 21, 140, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 216, 100,
+  11, 19, 107, 176, 190, 190, 190, 190, 190, 186, 157, 157, 157, 176, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 65, 1, 143, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 223, 63, 3, 17, 101, 176, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 169, 44, 6, 143, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 189, 64, 0, 17, 90, 149,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 191, 129, 23,
+  0, 155, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254,
+  202, 122, 25, 0, 19, 78, 143, 186, 190, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 171,
+  136, 39, 0, 67, 227, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 235, 181, 101, 27, 0, 32, 96, 137, 167, 167,
+  169, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190, 190,
+  160, 96, 27, 14, 19, 74, 191, 251, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 249, 190, 102,
+  60, 0, 0, 0, 3, 48, 85, 119, 187, 190, 190, 190, 190, 190, 190, 190,
+  190, 190, 157, 98, 4, 0, 90, 170, 230, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 254, 254, 230, 158, 92, 54, 0, 0, 0, 0, 0,
+  49, 71, 71, 71, 42, 0, 0, 43, 75, 191, 254, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 222,
+  222, 212, 198, 164, 127, 127, 127, 127, 127, 187, 222, 244, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 245, 191, 191, 187, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+  147, 174, 222, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251,
+  246, 245, 222, 139, 59, 26, 8, 23, 23, 48, 106, 93, 93, 93, 93, 93,
+  93, 93, 93, 56, 23, 5, 22, 25, 64, 119, 177, 222, 253, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 240, 176, 101, 44, 0, 0, 49, 107, 157, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 141, 140, 122, 70, 49, 0, 0,
+  61, 102, 181, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 249, 144, 16, 9, 77, 117, 177, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 134, 103, 46, 0, 7, 123, 249, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 246, 153, 55, 3, 39, 167, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 185, 146, 61, 7, 40, 159, 240,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 170, 45, 0, 28, 79, 104,
+  136, 185, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 185, 192, 205, 206,
+  175, 42, 0, 53, 233, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 244, 153, 37, 1, 37,
+  84, 104, 104, 79, 46, 125, 178, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  163, 0, 152, 240, 240, 229, 119, 20, 1, 116, 245, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 74,
+  0, 66, 92, 104, 104, 104, 104, 70, 0, 58, 138, 180, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 195, 108, 4, 229, 240, 240, 240, 228, 161, 66, 9, 32, 153,
+  238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 243, 68, 0, 81, 185, 118, 104, 104, 104, 104, 104, 32, 0, 60, 131,
+  185, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 188, 226, 29, 76, 240, 240, 240, 240, 239, 186,
+  186, 157, 49, 0, 43, 190, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 237, 58, 15, 124, 186, 186, 127, 104, 104, 104, 104, 104,
+  96, 22, 9, 84, 153, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 212, 217, 5, 158, 240, 240,
+  240, 231, 79, 34, 186, 186, 186, 139, 49, 0, 96, 234, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 235, 53, 9, 151, 186, 186, 186, 179, 112,
+  104, 104, 104, 104, 104, 97, 18, 12, 102, 176, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 235, 154,
+  6, 198, 240, 240, 240, 147, 0, 136, 186, 186, 186, 186, 183, 89, 11, 21,
+  192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 232, 50, 19, 138, 186, 186,
+  186, 186, 186, 172, 120, 104, 104, 104, 104, 104, 77, 5, 29, 120, 185, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 198, 238, 82, 47, 240, 240, 240, 211, 13, 51, 184, 186, 186, 186, 186,
+  186, 186, 148, 17, 14, 185, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 74, 5,
+  137, 186, 186, 186, 186, 186, 186, 186, 171, 127, 104, 104, 104, 104, 104, 64,
+  0, 59, 145, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 202, 240, 60, 139, 240, 240, 240, 143, 6, 150, 186,
+  186, 186, 186, 186, 186, 186, 186, 184, 63, 0, 90, 248, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 154, 0, 110, 186, 186, 186, 186, 186, 186, 186, 186, 186, 173, 111, 104,
+  104, 104, 104, 102, 33, 7, 94, 168, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 215, 210, 6, 152, 240, 240, 240,
+  74, 62, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 181, 72, 0, 85,
+  245, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 221, 13, 60, 178, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 154, 104, 104, 104, 104, 104, 84, 3, 47, 121, 179, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 190, 240, 205, 0,
+  232, 240, 240, 225, 17, 96, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 182, 75, 0, 76, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 216, 45, 19, 184, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 132, 104, 104, 104, 104, 104, 33, 13, 102,
+  170, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  211, 240, 113, 0, 232, 240, 240, 196, 0, 143, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 111, 0, 80, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 34, 4, 114, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 182, 109, 104, 104, 104,
+  104, 86, 3, 44, 137, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 211, 240, 65, 76, 239, 240, 240, 114, 29, 178, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 183, 91, 5, 140, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 234, 39, 1,
+  114, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  162, 104, 104, 104, 104, 104, 56, 4, 88, 162, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 219, 238, 20, 122, 240, 240, 238, 33,
+  57, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 38, 0, 140, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 115, 5, 122, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 118, 104, 104, 104, 104, 90, 12, 17, 111, 178, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 232, 167, 0, 179,
+  240, 240, 181, 0, 128, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 174, 92, 0, 123, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 228, 8, 68, 186, 186, 186, 89, 158, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 140, 104, 104, 104, 104, 104, 78,
+  0, 64, 129, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 198,
+  239, 83, 29, 233, 240, 240, 97, 13, 180, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 185, 101, 1, 166, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 253, 101, 20, 172, 186, 186, 186, 5, 18,
+  106, 185, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 184, 116, 104,
+  104, 104, 104, 99, 31, 16, 100, 154, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 215, 232, 44, 105, 240, 240, 233, 19, 70, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 176,
+  51, 16, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 0, 97, 186, 186,
+  186, 186, 172, 41, 0, 91, 171, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 170, 106, 104, 104, 104, 104, 71, 0, 63, 112, 181, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 233, 220, 0, 186, 240, 240, 141, 0, 134,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 151, 16, 22, 236, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 116,
+  8, 179, 186, 186, 186, 186, 186, 174, 79, 3, 62, 168, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 148, 104, 104, 104, 104, 103, 39, 11, 99,
+  156, 182, 186, 186, 186, 186, 186, 186, 186, 186, 190, 240, 136, 11, 222, 240,
+  240, 91, 46, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 153, 9, 50, 248, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 44, 65, 186, 186, 186, 186, 186, 186, 186, 186, 108, 1, 33,
+  166, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 184, 123, 104, 104, 104,
+  104, 88, 5, 40, 103, 152, 185, 186, 186, 186, 186, 186, 186, 186, 209, 240,
+  89, 72, 240, 240, 238, 46, 109, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 104, 0,
+  162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 129, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 140, 28, 24, 116, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  167, 105, 104, 104, 104, 104, 40, 0, 84, 104, 166, 186, 186, 186, 186, 186,
+  186, 186, 229, 200, 11, 134, 240, 240, 168, 0, 117, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 178, 32, 32, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 165, 8, 191, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 165, 45, 4, 77, 175, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 138, 104, 104, 104, 104, 95, 16, 33, 104, 111, 172,
+  186, 186, 186, 186, 186, 186, 229, 165, 10, 205, 240, 240, 86, 18, 179, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 180, 173, 173, 173, 184, 149, 4, 94, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 153, 48,
+  210, 208, 205, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 89, 1, 44,
+  171, 186, 186, 186, 186, 186, 186, 186, 186, 171, 112, 104, 104, 104, 104, 62,
+  3, 82, 104, 138, 186, 186, 186, 186, 186, 186, 229, 86, 22, 240, 240, 240,
+  7, 84, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 185, 128, 43, 97, 104, 104, 104, 135, 177, 94, 0, 138, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 57, 78, 240, 240, 240, 226, 194, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 101, 0, 6, 129, 186, 186, 186, 186, 186, 186, 186, 186, 164, 105,
+  104, 104, 104, 92, 5, 38, 104, 138, 186, 186, 186, 186, 186, 186, 207, 62,
+  112, 240, 240, 183, 2, 156, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 94, 0, 23, 96, 104, 104, 104, 104, 134,
+  173, 46, 19, 199, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 243, 45, 145, 240, 240, 240, 240, 237, 211, 189, 186,
+  186, 186, 186, 186, 186, 186, 185, 150, 24, 5, 119, 178, 186, 186, 186, 186,
+  186, 186, 186, 151, 104, 104, 104, 104, 74, 73, 104, 138, 186, 186, 186, 186,
+  186, 186, 180, 0, 163, 240, 240, 69, 32, 182, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 183, 88, 3, 58, 99, 104, 104,
+  104, 104, 104, 104, 182, 178, 11, 59, 241, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 169, 0, 184, 240, 240, 240, 240,
+  240, 240, 233, 218, 188, 186, 186, 186, 186, 186, 186, 186, 166, 74, 0, 56,
+  182, 186, 186, 186, 186, 186, 186, 182, 154, 104, 104, 104, 104, 104, 110, 169,
+  186, 186, 186, 186, 186, 186, 180, 0, 169, 197, 177, 12, 92, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 86, 1, 61,
+  104, 104, 104, 104, 104, 104, 104, 104, 182, 186, 129, 1, 130, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 114, 26, 239,
+  240, 240, 240, 240, 240, 240, 240, 240, 240, 223, 207, 193, 186, 186, 186, 186,
+  186, 186, 81, 0, 51, 155, 186, 186, 186, 186, 186, 186, 185, 150, 107, 104,
+  104, 112, 163, 186, 186, 139, 132, 132, 132, 132, 128, 34, 167, 186, 160, 0,
+  155, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  135, 9, 42, 104, 104, 104, 104, 104, 104, 104, 104, 104, 182, 186, 186, 77,
+  24, 237, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  209, 52, 92, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 234,
+  207, 194, 187, 186, 186, 186, 183, 143, 25, 6, 79, 170, 186, 186, 186, 186,
+  186, 186, 179, 178, 162, 125, 85, 29, 16, 4, 31, 31, 31, 31, 18, 10,
+  16, 64, 120, 166, 185, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 183, 117, 5, 19, 101, 104, 104, 104, 104, 104, 104, 104, 104, 146,
+  185, 186, 186, 170, 10, 84, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 170, 1, 131, 239, 240, 240, 240, 240, 240, 240, 240, 240,
+  240, 240, 240, 240, 240, 240, 230, 223, 206, 188, 186, 186, 177, 114, 2, 18,
+  110, 182, 186, 186, 186, 186, 176, 86, 18, 5, 49, 81, 150, 154, 191, 191,
+  191, 191, 174, 150, 117, 57, 3, 34, 135, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 185, 171, 85, 4, 37, 100, 104, 104, 104, 104, 104, 104,
+  104, 104, 138, 181, 186, 186, 186, 186, 90, 17, 226, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 170, 41, 201, 216, 237, 240, 240, 240,
+  240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 223, 214,
+  198, 186, 145, 58, 0, 33, 114, 184, 186, 172, 41, 0, 89, 175, 191, 189,
+  117, 63, 63, 63, 63, 63, 63, 63, 63, 113, 131, 73, 1, 27, 166, 186,
+  186, 186, 186, 186, 186, 186, 165, 141, 127, 67, 1, 40, 104, 104, 104, 104,
+  104, 104, 104, 104, 105, 144, 186, 186, 186, 186, 186, 186, 168, 13, 119, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 170, 31, 187, 186,
+  198, 226, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
+  240, 240, 240, 240, 239, 219, 215, 191, 148, 58, 0, 182, 184, 60, 3, 107,
+  185, 104, 17, 15, 0, 33, 103, 103, 103, 103, 103, 103, 42, 9, 8, 69,
+  104, 18, 9, 80, 176, 186, 186, 178, 171, 134, 104, 104, 62, 2, 46, 102,
+  104, 104, 104, 104, 104, 104, 104, 119, 162, 186, 186, 186, 186, 186, 186, 186,
+  186, 85, 39, 247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  129, 30, 186, 186, 186, 189, 209, 237, 239, 240, 240, 240, 240, 240, 240, 240,
+  240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 234, 199, 180, 147, 185,
+  149, 0, 91, 192, 72, 3, 78, 138, 151, 185, 191, 191, 191, 191, 191, 191,
+  191, 163, 76, 5, 36, 152, 88, 1, 47, 145, 160, 112, 104, 104, 98, 48,
+  2, 47, 103, 104, 104, 104, 104, 104, 104, 104, 119, 168, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 122, 0, 200, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 71, 51, 186, 186, 179, 61, 128, 186, 202, 225, 240, 240,
+  240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
+  234, 188, 186, 186, 58, 43, 205, 109, 0, 119, 191, 191, 191, 191, 191, 191,
+  191, 191, 191, 191, 191, 191, 191, 168, 25, 1, 108, 123, 17, 8, 81, 104,
+  104, 104, 28, 0, 52, 104, 104, 104, 104, 104, 104, 104, 104, 144, 180, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 170, 14, 142, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 239, 32, 102, 186, 186, 178, 32, 5, 14,
+  79, 139, 181, 211, 233, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
+  240, 240, 240, 240, 240, 189, 186, 138, 3, 134, 185, 25, 65, 187, 191, 191,
+  191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 168, 74, 0, 51,
+  148, 22, 2, 78, 104, 104, 30, 56, 103, 104, 104, 104, 104, 104, 104, 120,
+  171, 185, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 63, 51,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 0, 160, 186, 186,
+  186, 186, 145, 78, 13, 5, 22, 37, 86, 170, 214, 233, 239, 240, 240, 240,
+  240, 240, 240, 240, 240, 240, 240, 240, 240, 189, 186, 45, 38, 189, 110, 2,
+  161, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+  191, 190, 89, 4, 48, 118, 13, 19, 95, 104, 104, 104, 104, 104, 104, 104,
+  104, 107, 147, 184, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 123, 8, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227,
+  0, 175, 186, 186, 186, 186, 186, 186, 186, 162, 125, 95, 19, 0, 0, 33,
+  74, 159, 168, 168, 175, 240, 240, 240, 240, 240, 240, 240, 234, 188, 139, 1,
+  131, 191, 25, 59, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+  191, 191, 191, 191, 191, 191, 191, 128, 17, 22, 70, 1, 55, 104, 104, 104,
+  104, 104, 104, 104, 126, 171, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 165, 6, 169, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 227, 0, 175, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  176, 172, 149, 102, 49, 32, 32, 24, 1, 17, 17, 17, 17, 17, 17, 206,
+  200, 186, 77, 21, 174, 132, 4, 138, 191, 191, 191, 191, 191, 191, 191, 191,
+  191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 159, 22, 19, 39,
+  4, 97, 104, 104, 105, 129, 154, 179, 183, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 49, 100, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 227, 0, 175, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 176, 149, 149, 160, 169,
+  169, 169, 169, 188, 186, 174, 25, 70, 190, 64, 20, 191, 191, 191, 191, 191,
+  191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+  191, 124, 2, 8, 0, 31, 110, 139, 156, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 85,
+  20, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 0, 175, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 158, 0, 135, 184, 0, 91, 191,
+  191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+  191, 191, 191, 191, 191, 191, 119, 2, 0, 0, 173, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 154, 0, 225, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227,
+  0, 135, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 158, 0, 187,
+  143, 0, 160, 191, 191, 191, 191, 191, 191, 191, 191, 121, 31, 13, 13, 13,
+  19, 106, 188, 191, 191, 191, 191, 191, 191, 191, 191, 116, 0, 0, 58, 189,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 162, 9, 156, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 239, 30, 102, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 160, 0, 187, 109, 39, 186, 191, 191, 191, 191, 191, 191, 191, 139, 3,
+  82, 165, 205, 181, 64, 4, 81, 188, 191, 191, 191, 191, 191, 191, 191, 184,
+  31, 0, 10, 173, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 197, 55, 114, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 71, 102, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 160, 0, 187, 109, 49, 191, 191, 191, 191, 191, 191,
+  191, 191, 57, 24, 234, 255, 255, 255, 255, 108, 0, 92, 191, 191, 191, 191,
+  191, 191, 191, 191, 89, 17, 10, 105, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 197,
+  123, 57, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 89, 35, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 118, 0, 187, 109, 49, 191, 191,
+  191, 191, 191, 191, 191, 191, 57, 128, 255, 255, 255, 255, 255, 249, 130, 4,
+  143, 191, 191, 191, 191, 191, 191, 191, 126, 0, 41, 44, 184, 195, 195, 195,
+  189, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 125, 25, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  170, 28, 183, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 86, 57, 190,
+  109, 49, 191, 191, 191, 191, 191, 191, 191, 191, 57, 134, 255, 255, 255, 255,
+  255, 255, 235, 33, 48, 188, 191, 191, 191, 191, 191, 191, 187, 0, 102, 0,
+  196, 240, 240, 240, 228, 198, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 191, 0, 213, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 170, 0, 144, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 86, 22, 188, 109, 15, 173, 191, 191, 191, 191, 191, 191, 191, 57, 134,
+  255, 255, 255, 255, 255, 255, 255, 192, 2, 153, 191, 191, 191, 191, 191, 191,
+  188, 21, 79, 23, 39, 75, 75, 111, 165, 191, 217, 187, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 185, 0, 182, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 249, 13, 103, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 153, 0, 173, 179, 0, 165, 191, 191, 191, 191, 191,
+  191, 191, 57, 79, 254, 255, 255, 255, 255, 255, 255, 255, 7, 153, 191, 191,
+  191, 191, 191, 191, 191, 70, 92, 75, 69, 134, 83, 44, 34, 7, 15, 55,
+  81, 148, 151, 172, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  185, 18, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 58, 73, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 170, 20, 80, 184, 0, 133, 191,
+  191, 191, 191, 191, 191, 191, 118, 19, 225, 255, 255, 255, 255, 255, 255, 249,
+  7, 153, 191, 191, 191, 191, 191, 191, 191, 70, 92, 75, 124, 240, 240, 240,
+  229, 195, 168, 105, 39, 15, 9, 21, 93, 151, 175, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 86, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 114, 30, 185, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 96, 12,
+  164, 46, 91, 191, 191, 191, 191, 191, 191, 191, 172, 10, 92, 252, 255, 255,
+  255, 255, 255, 132, 0, 153, 191, 191, 191, 191, 191, 191, 188, 21, 92, 75,
+  124, 240, 240, 240, 240, 240, 240, 240, 240, 240, 210, 109, 41, 0, 6, 57,
+  70, 127, 127, 176, 186, 186, 186, 186, 186, 71, 114, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 207, 0, 190, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 185, 3, 141, 81, 18, 180, 191, 191, 191, 191, 191, 191, 191, 99,
+  0, 88, 225, 254, 255, 255, 160, 28, 76, 188, 191, 191, 191, 191, 191, 191,
+  187, 0, 158, 61, 7, 14, 65, 176, 240, 240, 240, 240, 240, 240, 240, 240,
+  233, 225, 144, 120, 49, 45, 0, 20, 186, 186, 186, 186, 186, 71, 57, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 0, 205, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 8, 75, 145, 1, 100, 191, 191, 191, 191,
+  191, 191, 191, 186, 102, 12, 18, 46, 46, 46, 5, 38, 174, 191, 191, 191,
+  191, 191, 191, 191, 187, 0, 162, 60, 99, 128, 51, 0, 65, 140, 228, 240,
+  240, 240, 240, 240, 240, 240, 240, 240, 240, 239, 195, 188, 204, 189, 186, 186,
+  186, 130, 14, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 18, 131,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 100, 4, 169, 48, 18,
+  157, 191, 191, 191, 191, 191, 191, 191, 191, 179, 132, 132, 132, 132, 140, 191,
+  191, 191, 191, 191, 191, 191, 191, 191, 135, 0, 158, 41, 96, 205, 212, 164,
+  76, 11, 21, 119, 219, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
+  240, 240, 227, 209, 186, 144, 14, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 57, 91, 192, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 171,
+  20, 43, 168, 11, 54, 181, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+  191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 112, 43, 175, 0,
+  110, 186, 190, 217, 240, 222, 110, 22, 9, 115, 211, 240, 240, 240, 240, 240,
+  240, 240, 240, 240, 240, 240, 240, 239, 221, 144, 14, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 138, 9, 162, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 99, 0, 132, 122, 1, 78, 185, 191, 191, 191, 191, 191,
+  191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 188,
+  49, 46, 115, 3, 169, 186, 186, 186, 195, 222, 237, 217, 99, 14, 17, 43,
+  124, 227, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 239, 161, 13, 248,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 0, 130, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 184, 46, 67, 191, 90, 0, 60, 191,
+  191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+  191, 191, 191, 131, 0, 97, 76, 55, 186, 186, 186, 186, 186, 186, 190, 214,
+  240, 226, 166, 77, 12, 20, 118, 219, 240, 240, 240, 240, 240, 240, 240, 240,
+  240, 164, 0, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 57,
+  40, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 187, 212, 216, 216, 130, 7, 143,
+  189, 100, 2, 97, 177, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+  191, 191, 191, 191, 191, 191, 162, 9, 46, 175, 22, 96, 186, 186, 186, 186,
+  186, 186, 186, 186, 188, 200, 217, 235, 188, 76, 23, 9, 114, 211, 240, 240,
+  240, 240, 240, 240, 240, 204, 28, 170, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 144, 5, 157, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 190, 228, 240, 204,
+  128, 31, 6, 32, 178, 191, 101, 2, 39, 173, 191, 191, 191, 191, 191, 191,
+  191, 191, 191, 191, 191, 191, 191, 191, 191, 131, 8, 21, 157, 110, 6, 172,
+  199, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 196, 215, 229, 214, 127,
+  11, 16, 97, 172, 234, 240, 240, 240, 238, 197, 30, 170, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 238, 30, 99, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 190, 214,
+  240, 228, 93, 1, 2, 101, 181, 0, 40, 175, 191, 112, 0, 33, 172, 191,
+  191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 126, 5, 46, 170,
+  195, 0, 0, 75, 230, 210, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 160, 110, 46, 0, 48, 152, 218, 236, 208, 186, 30, 170,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 100, 40, 181, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 195, 230, 235, 163, 16, 17, 101, 176, 185, 22, 11, 2, 33, 173, 190,
+  163, 30, 6, 85, 152, 189, 191, 191, 191, 191, 191, 191, 191, 191, 166, 85,
+  2, 29, 170, 203, 25, 52, 93, 0, 68, 226, 204, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 183, 114, 37, 18, 8, 50,
+  133, 131, 4, 187, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  187, 0, 98, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 214, 226, 107, 37, 5, 32, 192, 240, 183, 14, 17, 167,
+  109, 3, 61, 168, 191, 175, 108, 18, 0, 32, 90, 150, 175, 186, 191, 191,
+  182, 116, 12, 18, 107, 175, 182, 73, 1, 184, 236, 110, 1, 62, 184, 214,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 169, 130, 45, 3, 12, 13, 248, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 251, 60, 13, 168, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 188, 211, 143, 40, 0, 77, 191, 240, 240, 175,
+  13, 74, 202, 216, 186, 118, 1, 25, 168, 191, 191, 183, 134, 64, 36, 0,
+  0, 39, 56, 56, 23, 0, 57, 182, 191, 179, 53, 0, 0, 120, 240, 240,
+  164, 20, 12, 174, 200, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 142, 74, 0, 170, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 221, 17, 78, 183, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 196, 169, 32, 10, 87, 197, 238,
+  240, 240, 169, 6, 46, 236, 226, 186, 186, 186, 123, 7, 23, 117, 191, 191,
+  191, 191, 187, 182, 120, 110, 110, 110, 110, 140, 187, 191, 178, 47, 0, 111,
+  100, 2, 151, 240, 240, 200, 43, 5, 115, 195, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 102, 12, 241,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 120, 0,
+  108, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 171, 54, 5, 53,
+  171, 240, 240, 240, 240, 160, 9, 72, 215, 222, 189, 186, 186, 186, 186, 158,
+  36, 2, 54, 109, 145, 151, 152, 188, 191, 191, 191, 191, 191, 191, 181, 136,
+  22, 17, 109, 197, 220, 48, 25, 197, 240, 240, 232, 91, 0, 76, 197, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 71, 74, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 247, 51, 8, 155, 186, 186, 186, 186, 186, 186, 186, 186, 193, 133,
+  27, 0, 133, 240, 240, 240, 240, 240, 155, 5, 93, 230, 201, 186, 186, 186,
+  186, 186, 186, 186, 172, 98, 32, 0, 10, 30, 30, 46, 117, 127, 127, 127,
+  113, 55, 20, 0, 42, 153, 186, 186, 214, 201, 11, 47, 232, 240, 240, 238,
+  113, 12, 69, 196, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 185, 47, 106, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 216, 9, 73, 186, 186, 186, 186, 186, 186,
+  186, 159, 107, 3, 52, 203, 239, 240, 240, 240, 226, 67, 2, 106, 218, 188,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 160, 34, 8, 60, 60, 60, 35,
+  23, 39, 39, 39, 39, 67, 108, 141, 183, 186, 186, 186, 186, 205, 181, 15,
+  67, 226, 240, 240, 240, 184, 16, 62, 177, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 185, 0, 172, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 107, 11, 178, 186,
+  186, 186, 186, 160, 46, 4, 24, 134, 235, 240, 240, 240, 240, 219, 60, 9,
+  104, 192, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 142, 17, 48,
+  104, 104, 104, 104, 110, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 212, 184, 18, 60, 227, 240, 240, 240, 186, 18, 13, 164, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 124, 0, 213, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  228, 19, 60, 186, 186, 186, 118, 3, 30, 184, 240, 240, 240, 240, 240, 240,
+  173, 12, 21, 181, 196, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 124, 0, 83, 104, 104, 104, 104, 110, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 208, 192, 21, 56, 223, 240, 240, 240, 193,
+  21, 12, 144, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  88, 40, 242, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 116, 16, 166, 186, 187, 56, 41, 213, 240, 240, 240,
+  240, 240, 240, 167, 5, 25, 193, 189, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 58, 18, 100, 104, 104, 104, 104, 110, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 202, 170, 1, 44,
+  220, 240, 240, 240, 202, 45, 2, 66, 179, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 179, 31, 115, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 10, 86, 186, 209, 212, 222,
+  240, 240, 240, 240, 240, 240, 157, 9, 30, 187, 192, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 25, 50, 104, 104, 104, 104, 104,
+  113, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  187, 208, 132, 4, 66, 236, 240, 240, 240, 233, 94, 0, 61, 182, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 154, 0, 165, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 135, 2,
+  140, 212, 240, 240, 240, 240, 240, 240, 240, 153, 4, 23, 177, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 152, 7, 72, 104,
+  104, 104, 104, 104, 142, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 201, 148, 0, 104, 240, 240, 240, 240, 239, 96,
+  0, 61, 154, 186, 186, 186, 186, 186, 186, 186, 186, 102, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 232, 47, 41, 207, 240, 240, 240, 240, 240, 240, 141, 2, 32, 165,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  138, 8, 102, 104, 104, 104, 104, 104, 142, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 196, 149, 8, 95, 234,
+  240, 240, 240, 238, 185, 16, 3, 81, 184, 186, 186, 186, 186, 186, 172, 9,
+  59, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 190, 0, 111, 238, 240, 240, 240, 239, 134,
+  6, 66, 167, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 132, 8, 104, 104, 104, 104, 104, 104, 142, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  200, 157, 7, 91, 234, 240, 240, 240, 240, 214, 110, 6, 55, 186, 186, 186,
+  186, 186, 89, 4, 189, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 96, 14, 200, 238,
+  240, 240, 130, 0, 95, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 66, 8, 104, 104, 104, 104, 104, 104,
+  142, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 195, 143, 0, 80, 236, 240, 240, 240, 240, 240, 159,
+  107, 201, 186, 186, 186, 170, 14, 77, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  227, 18, 26, 175, 207, 165, 1, 63, 185, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 66, 48, 104, 104,
+  104, 104, 104, 104, 142, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 197, 93, 0, 74, 228, 240,
+  240, 240, 240, 240, 240, 231, 190, 186, 186, 121, 0, 201, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 164, 7, 64, 181, 165, 90, 176, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  66, 49, 104, 104, 104, 104, 104, 104, 142, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 188,
+  153, 13, 66, 222, 240, 240, 240, 240, 240, 240, 206, 186, 186, 57, 73, 253,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 173, 5, 65, 185, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 181, 18, 49, 104, 104, 104, 104, 104, 104, 142, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 169, 17, 15, 147, 240, 240, 240, 240, 240, 206, 186,
+  147, 5, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 135,
+  0, 124, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 180, 0, 73, 104, 104, 104, 104, 104, 104,
+  173, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 161, 41, 0, 164, 240, 240,
+  240, 240, 206, 183, 49, 17, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 249, 97, 5, 115, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 180, 0, 89, 104, 104,
+  104, 104, 104, 121, 184, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 204,
+  204, 228, 240, 240, 240, 229, 189, 78, 0, 161, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 228, 37, 2, 113, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 180,
+  0, 89, 104, 104, 104, 104, 104, 135, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 189, 211, 240, 240, 240, 225, 194, 129, 8, 87, 247, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 50, 1,
+  103, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 160, 0, 89, 104, 104, 104, 104, 104, 156, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 187, 187, 187, 186, 124, 1, 98,
+  253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 234, 52, 2, 98, 184, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 148, 0, 89, 104, 104, 104, 104, 104, 156,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  182, 35, 97, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 236, 130, 0, 57, 170, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 148, 0, 89, 104, 104,
+  104, 104, 105, 177, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 100, 0, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 152, 27, 28,
+  150, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 148,
+  0, 89, 104, 104, 104, 104, 106, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 194, 153, 5, 122, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 183, 40, 5, 113, 178, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 151, 0, 89, 104, 104, 104, 104, 104, 160, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 180, 157, 9, 32, 226, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 229, 74, 0, 50, 151, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 180, 0, 89, 104, 104, 104, 104, 104, 156,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 155, 57, 0, 99,
+  225, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 132, 21, 7,
+  131, 182, 186, 186, 186, 186, 186, 186, 186, 186, 186, 136, 0, 89, 104, 104,
+  104, 104, 104, 156, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 159,
+  12, 0, 114, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 207, 78, 8, 34, 95, 167, 186, 186, 186, 186, 186, 186, 186, 107,
+  12, 96, 104, 104, 104, 104, 108, 170, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 176, 46, 1, 120, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 207, 86, 0, 9, 78, 162, 186, 186,
+  186, 186, 186, 136, 84, 119, 104, 104, 104, 109, 155, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 58, 21, 140, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 216, 100,
+  11, 19, 105, 172, 186, 186, 186, 186, 186, 182, 154, 154, 154, 172, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 64, 1, 143, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 223, 63, 3, 17, 99, 172, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 166, 43, 6, 143, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 189, 64, 0, 17, 88, 146,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 187, 127, 23,
+  0, 155, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254,
+  202, 122, 25, 0, 19, 77, 140, 182, 186, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 167,
+  134, 39, 0, 67, 227, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 235, 181, 101, 27, 0, 32, 94, 134, 163, 163,
+  165, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186, 186,
+  156, 94, 27, 14, 19, 74, 191, 251, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 249, 190, 102,
+  60, 0, 0, 0, 3, 47, 83, 117, 183, 186, 186, 186, 186, 186, 186, 186,
+  186, 186, 154, 96, 4, 0, 90, 170, 230, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 254, 254, 230, 158, 92, 54, 0, 0, 0, 0, 0,
+  48, 70, 70, 70, 41, 0, 0, 43, 75, 191, 254, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 222,
+  222, 211, 196, 164, 127, 127, 127, 127, 127, 187, 222, 244, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 245, 191, 191, 187, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95,
+  134, 154, 200, 233, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 249,
+  240, 239, 222, 139, 59, 26, 6, 17, 17, 42, 92, 69, 69, 69, 69, 69,
+  69, 69, 69, 42, 17, 3, 17, 20, 56, 113, 177, 222, 253, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 231, 147, 75, 33, 0, 0, 37, 80, 117, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 105, 104, 91, 52, 36, 0, 0,
+  61, 102, 181, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 245, 120, 12, 7, 57, 87, 132, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 100, 77, 34, 0, 7, 123, 249, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 246, 146, 53, 2, 27, 124, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 138, 109, 45, 5, 40, 159, 240,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 170, 45, 0, 16, 46, 61,
+  91, 138, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 138, 147, 163, 163,
+  140, 33, 0, 53, 233, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 244, 153, 37, 0, 21,
+  49, 61, 61, 46, 27, 82, 131, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  128, 0, 129, 204, 204, 191, 93, 15, 1, 116, 245, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 74,
+  0, 49, 57, 61, 61, 61, 61, 41, 0, 34, 93, 133, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 150, 91, 4, 195, 204, 204, 204, 189, 121, 49, 6, 32, 153,
+  238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 243, 68, 0, 61, 138, 74, 61, 61, 61, 61, 61, 19, 0, 35, 86,
+  138, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 142, 187, 25, 65, 204, 204, 204, 204, 203, 139,
+  139, 117, 37, 0, 43, 190, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 237, 58, 11, 92, 139, 139, 82, 61, 61, 61, 61, 61,
+  56, 13, 5, 49, 107, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 170, 184, 4, 134, 204, 204,
+  204, 196, 67, 25, 139, 139, 139, 104, 36, 0, 90, 229, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 235, 53, 7, 113, 139, 139, 139, 132, 68,
+  61, 61, 61, 61, 61, 57, 10, 7, 61, 129, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 198, 130,
+  5, 169, 204, 204, 204, 125, 0, 101, 139, 139, 139, 139, 136, 66, 8, 19,
+  192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 232, 50, 14, 103, 139, 139,
+  139, 139, 139, 126, 76, 61, 61, 61, 61, 61, 45, 3, 17, 77, 138, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 154, 202, 70, 40, 204, 204, 204, 180, 11, 38, 137, 139, 139, 139, 139,
+  139, 139, 110, 12, 14, 185, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 74, 4,
+  102, 139, 139, 139, 139, 139, 139, 139, 125, 83, 61, 61, 61, 61, 61, 37,
+  0, 34, 100, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 158, 204, 51, 118, 204, 204, 204, 121, 4, 112, 139,
+  139, 139, 139, 139, 139, 139, 139, 138, 47, 0, 90, 248, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 154, 0, 82, 139, 139, 139, 139, 139, 139, 139, 139, 139, 126, 68, 61,
+  61, 61, 61, 60, 19, 4, 56, 121, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 174, 179, 5, 129, 204, 204, 204,
+  63, 46, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 135, 54, 0, 85,
+  245, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 221, 13, 45, 133, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 108, 61, 61, 61, 61, 61, 49, 1, 28, 77, 133, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 144, 204, 174, 0,
+  197, 204, 204, 191, 14, 72, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 136, 56, 0, 76, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 206, 44, 14, 138, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 87, 61, 61, 61, 61, 61, 19, 8, 60,
+  124, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  169, 204, 96, 0, 197, 204, 204, 166, 0, 107, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 83, 0, 80, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 28, 3, 85, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 135, 66, 61, 61, 61,
+  61, 50, 2, 26, 92, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 169, 204, 55, 65, 203, 204, 204, 97, 21, 133, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 137, 68, 5, 140, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 221, 31, 1,
+  85, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  116, 61, 61, 61, 61, 61, 33, 2, 52, 117, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 179, 202, 17, 104, 204, 204, 202, 28,
+  42, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 28, 0, 140, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 111, 3, 91, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 75, 61, 61, 61, 61, 53, 7, 10, 68, 132, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 194, 142, 0, 152,
+  204, 204, 153, 0, 95, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 130, 68, 0, 123, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 228, 8, 51, 139, 139, 139, 66, 118, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 95, 61, 61, 61, 61, 61, 46,
+  0, 38, 85, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 153,
+  203, 70, 24, 198, 204, 204, 82, 9, 134, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 138, 75, 1, 166, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 253, 101, 15, 129, 139, 139, 139, 3, 13,
+  79, 138, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 137, 72, 61,
+  61, 61, 61, 58, 18, 9, 59, 108, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 174, 197, 37, 89, 204, 204, 198, 16, 52, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 131,
+  38, 16, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 0, 73, 139, 139,
+  139, 139, 128, 30, 0, 68, 127, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 124, 63, 61, 61, 61, 61, 41, 0, 37, 69, 135, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 140, 195, 187, 0, 158, 204, 204, 119, 0, 100,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 113, 12, 22, 236, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 95,
+  6, 134, 139, 139, 139, 139, 139, 130, 59, 2, 46, 125, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 103, 61, 61, 61, 61, 60, 23, 6, 58,
+  110, 136, 139, 139, 139, 139, 139, 139, 139, 139, 144, 204, 115, 9, 189, 204,
+  204, 77, 36, 140, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 114, 7, 50, 248, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 33, 49, 139, 139, 139, 139, 139, 139, 139, 139, 81, 1, 24,
+  124, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 137, 79, 61, 61, 61,
+  61, 51, 3, 23, 60, 106, 138, 139, 139, 139, 139, 139, 139, 139, 166, 204,
+  75, 61, 204, 204, 202, 39, 85, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 78, 0,
+  162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 0, 96, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 104, 21, 18, 87, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  121, 62, 61, 61, 61, 61, 23, 0, 49, 61, 120, 139, 139, 139, 139, 139,
+  139, 139, 191, 170, 9, 113, 204, 204, 142, 0, 88, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 133, 24, 32, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 165, 8, 172, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 123, 34, 2, 57, 131, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 94, 61, 61, 61, 61, 56, 9, 19, 61, 68, 126,
+  139, 139, 139, 139, 139, 139, 191, 140, 8, 174, 204, 204, 73, 15, 134, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 134, 126, 126, 126, 137, 111, 3, 94, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 153, 41,
+  169, 165, 162, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 67, 0, 33,
+  128, 139, 139, 139, 139, 139, 139, 139, 139, 125, 68, 61, 61, 61, 61, 36,
+  1, 48, 61, 93, 139, 139, 139, 139, 139, 139, 191, 73, 19, 204, 204, 204,
+  6, 65, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 138, 96, 32, 61, 61, 61, 61, 91, 130, 70, 0, 138, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 57, 67, 204, 204, 204, 188, 148, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 75, 0, 4, 96, 139, 139, 139, 139, 139, 139, 139, 139, 118, 62,
+  61, 61, 61, 54, 3, 22, 61, 93, 139, 139, 139, 139, 139, 139, 165, 52,
+  96, 204, 204, 155, 2, 120, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 70, 0, 13, 56, 61, 61, 61, 61, 90,
+  129, 35, 19, 199, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 231, 39, 123, 204, 204, 204, 204, 200, 170, 143, 139,
+  139, 139, 139, 139, 139, 139, 138, 112, 17, 3, 89, 133, 139, 139, 139, 139,
+  139, 139, 139, 106, 61, 61, 61, 61, 43, 43, 61, 93, 139, 139, 139, 139,
+  139, 139, 135, 0, 138, 204, 204, 58, 24, 136, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 137, 65, 2, 34, 58, 61, 61,
+  61, 61, 61, 61, 135, 133, 8, 59, 241, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 160, 0, 156, 204, 204, 204, 204,
+  204, 204, 195, 178, 141, 139, 139, 139, 139, 139, 139, 139, 124, 55, 0, 42,
+  136, 139, 139, 139, 139, 139, 139, 135, 108, 61, 61, 61, 61, 61, 67, 123,
+  139, 139, 139, 139, 139, 139, 135, 0, 131, 152, 137, 11, 69, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 64, 0, 36,
+  61, 61, 61, 61, 61, 61, 61, 61, 135, 139, 96, 0, 130, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 114, 22, 203,
+  204, 204, 204, 204, 204, 204, 204, 204, 204, 184, 164, 147, 139, 139, 139, 139,
+  139, 139, 61, 0, 38, 116, 139, 139, 139, 139, 139, 139, 138, 105, 63, 61,
+  61, 69, 117, 139, 139, 104, 98, 98, 98, 98, 96, 25, 125, 139, 120, 0,
+  116, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  101, 7, 24, 61, 61, 61, 61, 61, 61, 61, 61, 61, 135, 139, 139, 58,
+  24, 237, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  209, 52, 78, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 197,
+  164, 149, 140, 139, 139, 139, 137, 107, 18, 5, 59, 127, 139, 139, 139, 139,
+  139, 139, 133, 132, 120, 92, 64, 21, 11, 4, 31, 31, 31, 31, 18, 7,
+  11, 48, 89, 128, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 136, 84, 4, 11, 59, 61, 61, 61, 61, 61, 61, 61, 61, 101,
+  138, 139, 139, 127, 7, 84, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 170, 1, 111, 203, 204, 204, 204, 204, 204, 204, 204, 204,
+  204, 204, 204, 204, 204, 204, 192, 183, 163, 141, 139, 139, 132, 85, 2, 14,
+  82, 136, 139, 139, 139, 139, 131, 65, 13, 5, 49, 81, 150, 154, 191, 191,
+  191, 191, 174, 150, 117, 57, 3, 30, 115, 144, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 138, 125, 55, 2, 22, 59, 61, 61, 61, 61, 61, 61,
+  61, 61, 93, 134, 139, 139, 139, 139, 67, 17, 226, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 170, 41, 165, 175, 200, 204, 204, 204,
+  204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 183, 173,
+  154, 139, 108, 43, 0, 24, 85, 138, 139, 128, 31, 0, 89, 175, 191, 189,
+  117, 63, 63, 63, 63, 63, 63, 63, 63, 113, 131, 73, 1, 20, 124, 139,
+  139, 139, 139, 139, 139, 139, 119, 96, 83, 39, 0, 23, 61, 61, 61, 61,
+  61, 61, 61, 61, 62, 99, 139, 139, 139, 139, 139, 139, 125, 9, 119, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 170, 24, 141, 139,
+  154, 187, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204,
+  204, 204, 204, 204, 202, 178, 174, 146, 111, 44, 0, 136, 138, 45, 3, 107,
+  185, 104, 17, 15, 0, 33, 103, 103, 103, 103, 103, 103, 42, 9, 8, 69,
+  104, 18, 7, 60, 131, 139, 139, 131, 125, 89, 61, 61, 36, 1, 27, 59,
+  61, 61, 61, 61, 61, 61, 61, 76, 117, 139, 139, 139, 139, 139, 139, 139,
+  139, 64, 39, 247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  129, 22, 139, 139, 139, 142, 166, 201, 203, 204, 204, 204, 204, 204, 204, 204,
+  204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 197, 155, 134, 110, 138,
+  111, 0, 91, 192, 72, 3, 78, 138, 151, 185, 191, 191, 191, 191, 191, 191,
+  191, 163, 76, 5, 36, 152, 88, 1, 35, 108, 114, 68, 61, 61, 58, 28,
+  1, 27, 60, 61, 61, 61, 61, 61, 61, 61, 75, 121, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 91, 0, 200, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 71, 38, 139, 139, 134, 45, 96, 139, 159, 186, 204, 204,
+  204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204,
+  197, 142, 139, 139, 43, 43, 205, 109, 0, 119, 191, 191, 191, 191, 191, 191,
+  191, 191, 191, 191, 191, 191, 191, 168, 25, 1, 108, 123, 17, 6, 50, 61,
+  61, 61, 16, 0, 30, 61, 61, 61, 61, 61, 61, 61, 61, 99, 133, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 127, 11, 142, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 239, 32, 76, 139, 139, 133, 23, 3, 10,
+  59, 105, 139, 169, 195, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204,
+  204, 204, 204, 204, 204, 143, 139, 103, 2, 118, 185, 25, 65, 187, 191, 191,
+  191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 168, 74, 0, 51,
+  148, 22, 1, 46, 61, 61, 17, 32, 60, 61, 61, 61, 61, 61, 61, 76,
+  125, 138, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 47, 51,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 0, 119, 139, 139,
+  139, 139, 108, 58, 10, 4, 16, 28, 65, 140, 177, 197, 203, 204, 204, 204,
+  204, 204, 204, 204, 204, 204, 204, 204, 204, 143, 139, 33, 37, 180, 110, 2,
+  161, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+  191, 190, 89, 4, 48, 102, 7, 11, 55, 61, 61, 61, 61, 61, 61, 61,
+  61, 64, 102, 137, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 91, 8, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227,
+  0, 130, 139, 139, 139, 139, 139, 139, 139, 121, 93, 71, 14, 0, 0, 24,
+  61, 132, 142, 142, 148, 204, 204, 204, 204, 204, 204, 204, 197, 142, 104, 0,
+  131, 191, 25, 59, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+  191, 191, 191, 191, 191, 191, 191, 128, 17, 13, 41, 0, 32, 61, 61, 61,
+  61, 61, 61, 61, 82, 125, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 123, 4, 169, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 227, 0, 130, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  132, 128, 111, 76, 36, 24, 24, 17, 1, 15, 15, 15, 15, 15, 15, 174,
+  156, 139, 57, 21, 174, 132, 4, 138, 191, 191, 191, 191, 191, 191, 191, 191,
+  191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 159, 22, 11, 22,
+  2, 57, 61, 61, 62, 84, 109, 133, 136, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 36, 100, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 227, 0, 130, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 131, 111, 111, 124, 135,
+  135, 135, 135, 143, 139, 130, 19, 70, 190, 64, 20, 191, 191, 191, 191, 191,
+  191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+  191, 124, 2, 4, 0, 18, 68, 94, 111, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 63,
+  20, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 0, 130, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 118, 0, 135, 184, 0, 91, 191,
+  191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+  191, 191, 191, 191, 191, 191, 119, 2, 0, 0, 164, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 115, 0, 225, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227,
+  0, 100, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 118, 0, 187,
+  143, 0, 160, 191, 191, 191, 191, 191, 191, 191, 191, 121, 31, 13, 13, 13,
+  19, 106, 188, 191, 191, 191, 191, 191, 191, 191, 191, 116, 0, 0, 56, 145,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 123, 9, 156, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 239, 30, 76, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 134, 0, 187, 109, 39, 186, 191, 191, 191, 191, 191, 191, 191, 139, 3,
+  82, 165, 205, 181, 64, 4, 81, 188, 191, 191, 191, 191, 191, 191, 191, 184,
+  31, 0, 10, 140, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 158, 55, 114, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 71, 76, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 138, 0, 187, 109, 49, 191, 191, 191, 191, 191, 191,
+  191, 191, 57, 24, 234, 255, 255, 255, 255, 108, 0, 92, 191, 191, 191, 191,
+  191, 191, 191, 191, 89, 17, 10, 78, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 158,
+  123, 57, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 89, 26, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 97, 0, 187, 109, 49, 191, 191,
+  191, 191, 191, 191, 191, 191, 57, 128, 255, 255, 255, 255, 255, 249, 130, 4,
+  143, 191, 191, 191, 191, 191, 191, 191, 126, 0, 41, 33, 138, 150, 150, 150,
+  143, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 140, 106, 25, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  170, 21, 137, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 64, 57, 190,
+  109, 49, 191, 191, 191, 191, 191, 191, 191, 191, 57, 134, 255, 255, 255, 255,
+  255, 255, 235, 33, 48, 188, 191, 191, 191, 191, 191, 191, 187, 0, 102, 0,
+  161, 204, 204, 204, 190, 154, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 161, 0, 213, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 170, 0, 107, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 64, 22, 188, 109, 15, 173, 191, 191, 191, 191, 191, 191, 191, 57, 134,
+  255, 255, 255, 255, 255, 255, 255, 192, 2, 153, 191, 191, 191, 191, 191, 191,
+  188, 21, 79, 19, 33, 64, 64, 95, 140, 160, 176, 140, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 138, 0, 182, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 249, 13, 77, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 115, 0, 173, 179, 0, 165, 191, 191, 191, 191, 191,
+  191, 191, 57, 79, 254, 255, 255, 255, 255, 255, 255, 255, 7, 153, 191, 191,
+  191, 191, 191, 191, 191, 70, 89, 64, 59, 114, 70, 38, 29, 5, 12, 45,
+  60, 110, 112, 129, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  138, 18, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 58, 56, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 130, 20, 80, 184, 0, 133, 191,
+  191, 191, 191, 191, 191, 191, 118, 19, 225, 255, 255, 255, 255, 255, 255, 249,
+  7, 153, 191, 191, 191, 191, 191, 191, 191, 70, 89, 64, 105, 204, 204, 204,
+  194, 165, 143, 89, 33, 12, 7, 16, 69, 113, 131, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 78, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 114, 30, 138, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 144, 93, 12,
+  164, 46, 91, 191, 191, 191, 191, 191, 191, 191, 172, 10, 92, 252, 255, 255,
+  255, 255, 255, 132, 0, 153, 191, 191, 191, 191, 191, 191, 188, 21, 89, 64,
+  105, 204, 204, 204, 204, 204, 204, 204, 204, 204, 178, 93, 34, 0, 5, 43,
+  52, 95, 95, 132, 139, 139, 139, 139, 139, 53, 114, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 207, 0, 147, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 170, 3, 141, 81, 18, 180, 191, 191, 191, 191, 191, 191, 191, 99,
+  0, 88, 225, 254, 255, 255, 160, 28, 76, 188, 191, 191, 191, 191, 191, 191,
+  187, 0, 158, 60, 6, 12, 55, 149, 204, 204, 204, 204, 204, 204, 204, 204,
+  198, 191, 123, 97, 41, 38, 0, 15, 139, 139, 139, 139, 139, 53, 57, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 0, 176, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 142, 7, 75, 145, 1, 100, 191, 191, 191, 191,
+  191, 191, 191, 186, 102, 12, 18, 46, 46, 46, 5, 38, 174, 191, 191, 191,
+  191, 191, 191, 191, 187, 0, 162, 60, 83, 108, 43, 0, 55, 119, 194, 204,
+  204, 204, 204, 204, 204, 204, 204, 204, 204, 203, 166, 157, 160, 143, 140, 139,
+  139, 97, 14, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 18, 115,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 86, 4, 169, 48, 18,
+  157, 191, 191, 191, 191, 191, 191, 191, 191, 179, 132, 132, 132, 132, 140, 191,
+  191, 191, 191, 191, 191, 191, 191, 191, 135, 0, 158, 41, 71, 162, 175, 140,
+  64, 9, 18, 101, 186, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204,
+  204, 204, 189, 166, 139, 107, 14, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 57, 87, 150, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  18, 43, 168, 11, 54, 181, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+  191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 112, 43, 175, 0,
+  82, 139, 144, 177, 204, 188, 93, 19, 8, 98, 180, 204, 204, 204, 204, 204,
+  204, 204, 204, 204, 204, 204, 204, 203, 181, 107, 14, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 138, 9, 123, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 81, 0, 132, 122, 1, 78, 185, 191, 191, 191, 191, 191,
+  191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 188,
+  49, 46, 106, 2, 126, 139, 139, 139, 150, 182, 200, 185, 84, 11, 14, 36,
+  106, 193, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 203, 128, 13, 248,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 0, 97, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 138, 41, 67, 191, 90, 0, 60, 191,
+  191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+  191, 191, 191, 131, 0, 89, 59, 41, 139, 139, 139, 139, 139, 139, 144, 173,
+  204, 192, 141, 65, 10, 17, 100, 186, 204, 204, 204, 204, 204, 204, 204, 204,
+  204, 132, 0, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 57,
+  30, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 140, 170, 176, 176, 107, 7, 143,
+  189, 100, 2, 97, 177, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191,
+  191, 191, 191, 191, 191, 191, 162, 9, 45, 152, 16, 72, 139, 139, 139, 139,
+  139, 139, 139, 139, 142, 156, 176, 199, 160, 65, 19, 7, 96, 179, 204, 204,
+  204, 204, 204, 204, 204, 162, 21, 170, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 144, 3, 117, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 143, 190, 204, 173,
+  109, 26, 5, 32, 178, 191, 101, 2, 39, 173, 191, 191, 191, 191, 191, 191,
+  191, 191, 191, 191, 191, 191, 191, 191, 191, 131, 8, 21, 147, 86, 5, 139,
+  154, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 151, 174, 191, 180, 107,
+  9, 14, 83, 146, 199, 204, 204, 204, 201, 152, 22, 170, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 238, 30, 74, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 144, 173,
+  204, 194, 79, 1, 2, 86, 153, 0, 40, 175, 191, 112, 0, 33, 172, 191,
+  191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 191, 126, 5, 46, 165,
+  165, 0, 0, 64, 195, 168, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 123, 86, 34, 0, 41, 129, 185, 200, 165, 139, 22, 170,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 100, 30, 135, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 150, 193, 200, 138, 14, 15, 86, 150, 157, 19, 8, 2, 33, 173, 190,
+  163, 30, 6, 85, 152, 189, 191, 191, 191, 191, 191, 191, 191, 191, 166, 85,
+  2, 29, 170, 179, 21, 44, 79, 0, 58, 192, 161, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 137, 85, 28, 13, 7, 38,
+  99, 98, 4, 187, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  187, 0, 73, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 173, 192, 91, 31, 5, 27, 163, 204, 155, 12, 14, 136,
+  81, 2, 61, 168, 191, 175, 108, 18, 0, 32, 90, 150, 175, 186, 191, 191,
+  182, 116, 12, 18, 107, 174, 154, 61, 1, 156, 201, 93, 1, 52, 156, 173,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 126, 97, 33, 2, 9, 13, 248, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 251, 60, 9, 125, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 142, 169, 121, 34, 0, 65, 162, 204, 204, 148,
+  11, 63, 172, 175, 139, 88, 1, 25, 168, 191, 191, 183, 134, 64, 36, 0,
+  0, 39, 56, 56, 23, 0, 57, 182, 191, 149, 39, 0, 0, 102, 204, 204,
+  139, 17, 11, 147, 156, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 106, 55, 0, 170, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 221, 17, 58, 137, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 151, 139, 27, 8, 74, 168, 202,
+  204, 204, 143, 5, 39, 200, 188, 139, 139, 139, 91, 5, 23, 117, 191, 191,
+  191, 191, 187, 182, 120, 110, 110, 110, 110, 140, 187, 191, 169, 36, 0, 93,
+  85, 2, 129, 204, 204, 170, 37, 4, 96, 153, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 76, 11, 234,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 120, 0,
+  80, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 128, 42, 4, 45,
+  145, 204, 204, 204, 204, 136, 8, 61, 183, 182, 143, 139, 139, 139, 139, 118,
+  27, 2, 54, 106, 128, 131, 132, 187, 191, 191, 191, 191, 191, 191, 181, 136,
+  19, 12, 81, 153, 187, 40, 21, 168, 204, 204, 197, 77, 0, 62, 154, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 53, 58, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 247, 51, 6, 116, 139, 139, 139, 139, 139, 139, 139, 139, 148, 102,
+  20, 0, 113, 204, 204, 204, 204, 204, 132, 4, 79, 193, 157, 139, 139, 139,
+  139, 139, 139, 139, 128, 73, 21, 0, 6, 17, 17, 42, 117, 127, 127, 127,
+  113, 55, 20, 0, 31, 114, 139, 139, 172, 171, 10, 40, 197, 204, 204, 203,
+  96, 10, 57, 154, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 138, 35, 100, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 216, 9, 55, 139, 139, 139, 139, 139, 139,
+  139, 124, 89, 2, 44, 173, 203, 204, 204, 204, 192, 57, 2, 89, 179, 141,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 114, 20, 4, 35, 35, 35, 21,
+  14, 29, 29, 29, 29, 50, 81, 105, 137, 139, 139, 139, 140, 162, 153, 13,
+  56, 192, 204, 204, 204, 156, 13, 51, 140, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 138, 0, 172, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 107, 8, 133, 139,
+  139, 139, 139, 119, 35, 3, 20, 114, 199, 204, 204, 204, 204, 186, 51, 8,
+  86, 147, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 99, 9, 28,
+  61, 61, 61, 61, 67, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 170, 156, 15, 51, 193, 204, 204, 204, 158, 15, 11, 134, 140, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 93, 0, 213, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  228, 19, 45, 139, 139, 139, 88, 2, 25, 156, 204, 204, 204, 204, 204, 204,
+  147, 10, 17, 150, 151, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 88, 0, 49, 61, 61, 61, 61, 67, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 165, 163, 17, 47, 189, 204, 204, 204, 164,
+  18, 10, 113, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  66, 40, 242, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 116, 12, 124, 139, 140, 44, 35, 181, 204, 204, 204,
+  204, 204, 204, 142, 4, 21, 161, 143, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 38, 11, 58, 61, 61, 61, 61, 67, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 158, 144, 1, 38,
+  187, 204, 204, 204, 171, 39, 2, 49, 134, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 133, 23, 115, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 10, 64, 139, 166, 180, 189,
+  204, 204, 204, 204, 204, 204, 134, 7, 25, 154, 146, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 18, 29, 61, 61, 61, 61, 61,
+  70, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  140, 166, 112, 3, 56, 201, 204, 204, 204, 198, 79, 0, 46, 137, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 115, 0, 165, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 135, 1,
+  104, 170, 204, 204, 204, 204, 204, 204, 204, 130, 4, 17, 138, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 113, 5, 42, 61,
+  61, 61, 61, 61, 97, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 158, 125, 0, 89, 204, 204, 204, 204, 203, 82,
+  0, 48, 115, 139, 139, 139, 139, 139, 139, 139, 139, 76, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 232, 47, 31, 167, 204, 204, 204, 204, 204, 204, 120, 2, 24, 123,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  103, 5, 60, 61, 61, 61, 61, 61, 97, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 151, 125, 7, 81, 199,
+  204, 204, 204, 202, 157, 14, 2, 60, 137, 139, 139, 139, 139, 139, 128, 7,
+  59, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 190, 0, 91, 202, 204, 204, 204, 203, 114,
+  5, 49, 125, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 98, 5, 61, 61, 61, 61, 61, 61, 97, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  156, 133, 6, 77, 198, 204, 204, 204, 204, 182, 94, 5, 41, 139, 139, 139,
+  139, 139, 66, 4, 189, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 96, 13, 168, 202,
+  204, 204, 110, 0, 71, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 49, 5, 61, 61, 61, 61, 61, 61,
+  97, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 150, 122, 0, 68, 200, 204, 204, 204, 204, 204, 135,
+  90, 157, 139, 139, 139, 127, 10, 77, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  227, 18, 19, 136, 165, 131, 1, 47, 138, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 49, 28, 61, 61,
+  61, 61, 61, 61, 97, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 153, 77, 0, 62, 194, 204,
+  204, 204, 204, 204, 204, 193, 144, 139, 139, 90, 0, 201, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 164, 7, 48, 135, 123, 67, 131, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  49, 28, 61, 61, 61, 61, 61, 61, 97, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 143,
+  123, 11, 56, 188, 204, 204, 204, 204, 204, 204, 163, 139, 139, 43, 73, 253,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 173, 5, 49, 138, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 135, 13, 28, 61, 61, 61, 61, 61, 61, 97, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 137, 14, 13, 125, 204, 204, 204, 204, 204, 163, 139,
+  110, 4, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 135,
+  0, 92, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 134, 0, 43, 61, 61, 61, 61, 61, 61,
+  127, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 124, 35, 0, 139, 204, 204,
+  204, 204, 163, 137, 36, 17, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 249, 97, 4, 86, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 134, 0, 52, 61, 61,
+  61, 61, 61, 77, 137, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 163,
+  173, 194, 204, 204, 204, 191, 142, 58, 0, 161, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 228, 37, 1, 84, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 134,
+  0, 52, 61, 61, 61, 61, 61, 91, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 143, 169, 204, 204, 204, 186, 149, 96, 6, 87, 247, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 50, 0,
+  77, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 116, 0, 52, 61, 61, 61, 61, 61, 110, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 140, 140, 140, 139, 92, 1, 98,
+  253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 234, 52, 1, 73, 137, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 104, 0, 52, 61, 61, 61, 61, 61, 110,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  136, 26, 97, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 236, 130, 0, 42, 127, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 104, 0, 52, 61, 61,
+  61, 61, 62, 131, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 75, 0, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 152, 27, 21,
+  112, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 104,
+  0, 52, 61, 61, 61, 61, 63, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 152, 136, 5, 122, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 183, 40, 4, 84, 133, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 107, 0, 52, 61, 61, 61, 61, 61, 114, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 134, 150, 9, 32, 226, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 229, 74, 0, 37, 113, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 134, 0, 52, 61, 61, 61, 61, 61, 110,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 116, 43, 0, 99,
+  225, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 132, 21, 5,
+  107, 136, 139, 139, 139, 139, 139, 139, 139, 139, 139, 101, 0, 52, 61, 61,
+  61, 61, 61, 110, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 119,
+  9, 0, 114, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 207, 78, 8, 25, 71, 125, 139, 139, 139, 139, 139, 139, 139, 80,
+  7, 56, 61, 61, 61, 61, 65, 124, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 132, 34, 1, 120, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 207, 86, 0, 7, 58, 121, 139, 139,
+  139, 139, 139, 101, 60, 75, 61, 61, 61, 66, 110, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 43, 21, 140, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 216, 100,
+  11, 14, 78, 129, 139, 139, 139, 139, 139, 136, 108, 108, 108, 126, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 47, 1, 143, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 223, 63, 3, 13, 74, 128, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 124, 32, 6, 143, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 189, 64, 0, 13, 66, 109,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 141, 102, 17,
+  0, 155, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254,
+  202, 122, 25, 0, 14, 57, 105, 136, 139, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 125,
+  109, 29, 0, 67, 227, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 235, 181, 101, 27, 0, 24, 70, 100, 122, 122,
+  123, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139, 139,
+  117, 70, 20, 10, 19, 74, 191, 251, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 249, 190, 102,
+  60, 0, 0, 0, 2, 35, 62, 87, 137, 139, 139, 139, 139, 139, 139, 139,
+  139, 139, 115, 72, 3, 0, 90, 170, 230, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 254, 254, 230, 158, 92, 54, 0, 0, 0, 0, 0,
+  36, 52, 52, 52, 31, 0, 0, 43, 75, 191, 254, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 222,
+  222, 204, 179, 154, 127, 127, 127, 127, 127, 187, 222, 244, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 };
+/* Define image 'choose' of size 524x49x1x3 and type 'const unsigned char' */
+const unsigned char data_choose[] = {
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 20, 19, 14, 14, 15,
+  14, 14, 14, 27, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 20, 19,
+  14, 14, 14, 14, 15, 18, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 14, 14, 18, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 17, 17, 14, 14, 14, 14, 14, 16, 20, 26,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 15, 15, 15, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 19, 15, 19, 24, 27, 24, 22, 22, 29, 28, 27, 27,
+  25, 21, 21, 21, 24, 27, 35, 36, 27, 14, 14, 14, 14, 14, 14, 52,
+  44, 37, 21, 23, 26, 19, 28, 25, 14, 14, 16, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 17, 36, 55, 38, 31, 35, 37,
+  41, 44, 29, 14, 14, 14, 14, 14, 14, 15, 15, 14, 14, 14, 14, 34,
+  49, 31, 20, 24, 29, 27, 32, 40, 24, 14, 14, 14, 14, 14, 14, 15,
+  14, 14, 14, 14, 29, 17, 22, 27, 34, 40, 47, 55, 20, 14, 14, 14,
+  16, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15,
+  15, 15, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 32, 53,
+  16, 14, 14, 14, 14, 17, 21, 25, 24, 24, 21, 21, 19, 17, 16, 17,
+  14, 18, 27, 32, 21, 14, 14, 14, 14, 14, 14, 43, 43, 33, 16, 20,
+  18, 14, 27, 24, 14, 14, 21, 16, 16, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 18, 14, 14, 14, 14, 24, 49, 33, 24, 26, 30, 37, 47, 33, 14,
+  14, 14, 14, 14, 14, 15, 15, 14, 14, 14, 14, 45, 57, 31, 14, 18,
+  18, 18, 26, 37, 23, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14,
+  22, 14, 17, 21, 27, 33, 41, 47, 37, 15, 14, 14, 18, 14, 14, 16,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 14, 14, 15, 14, 14, 14, 14, 47, 65, 36, 15, 14, 14, 14,
+  14, 15, 18, 23, 24, 26, 25, 23, 20, 19, 16, 16, 15, 14, 19, 28,
+  14, 14, 16, 14, 14, 14, 14, 69, 36, 32, 14, 14, 14, 21, 17, 20,
+  14, 14, 15, 20, 16, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 15,
+  16, 14, 14, 14, 16, 15, 14, 14, 14, 14, 14, 15, 14, 15, 15, 18,
+  19, 18, 14, 14, 19, 14, 14, 14, 14, 18, 14, 14, 16, 14, 14, 15,
+  16, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14,
+  14, 16, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 14, 14, 14,
+  15, 16, 15, 14, 14, 14, 14, 15, 15, 15, 15, 15, 14, 16, 14, 14,
+  14, 15, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 16, 16, 14, 14, 14, 14, 14, 14, 14, 18, 14, 14, 14,
+  14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 19, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 19, 14, 14, 14, 14,
+  14, 14, 14, 15, 18, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 15, 16, 16, 20, 16, 15, 15, 14, 14, 15, 17, 14, 15, 15, 16,
+  16, 14, 14, 14, 14, 15, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 19, 15, 18, 15, 14,
+  14, 14, 14, 14, 14, 15, 14, 14, 15, 16, 31, 15, 15, 15, 15, 15,
+  14, 14, 14, 14, 14, 15, 14, 14, 15, 16, 14, 14, 14, 15, 14, 14,
+  14, 14, 32, 41, 31, 22, 24, 23, 24, 27, 25, 18, 14, 17, 14, 14,
+  22, 15, 21, 14, 14, 14, 38, 67, 44, 26, 14, 15, 16, 20, 14, 20,
+  27, 14, 14, 14, 14, 14, 19, 14, 14, 14, 14, 38, 24, 14, 14, 18,
+  21, 24, 31, 41, 24, 14, 14, 16, 14, 14, 19, 14, 15, 15, 15, 15,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 15, 15, 15,
+  15, 14, 14, 14, 14, 14, 14, 20, 18, 14, 14, 15, 19, 14, 14, 14,
+  14, 14, 14, 15, 14, 14, 15, 14, 14, 14, 14, 15, 16, 14, 14, 14,
+  14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 14, 16, 14, 14,
+  14, 14, 23, 14, 14, 21, 14, 14, 14, 21, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 16, 17, 14, 14, 14, 15, 14, 14, 14,
+  14, 14, 14, 14, 17, 53, 55, 37, 15, 14, 14, 14, 14, 14, 18, 24,
+  22, 22, 21, 20, 17, 15, 14, 14, 14, 14, 16, 27, 14, 14, 14, 14,
+  14, 14, 14, 64, 37, 29, 14, 14, 14, 24, 24, 14, 14, 16, 15, 16,
+  16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 22, 19, 14, 14, 14, 14, 15, 15, 14, 15, 15, 15, 14, 14,
+  14, 15, 27, 24, 14, 14, 14, 18, 17, 14, 14, 14, 14, 14, 15, 17,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 14, 14,
+  14, 17, 19, 18, 18, 15, 15, 15, 15, 15, 16, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 16, 14, 14, 14, 14, 14, 14, 14, 16, 17, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 19,
+  17, 14, 14, 14, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  15, 14, 14, 16, 15, 14, 14, 14, 15, 14, 16, 19, 15, 18, 21, 19,
+  18, 16, 27, 28, 19, 14, 14, 14, 15, 15, 15, 15, 14, 14, 14, 14,
+  14, 15, 15, 16, 14, 14, 14, 14, 18, 14, 14, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 14, 15, 18, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 18, 20, 15, 15, 14, 14, 14, 14,
+  15, 14, 14, 21, 21, 15, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 32, 41,
+  30, 19, 21, 21, 21, 24, 23, 16, 14, 14, 14, 15, 19, 14, 15, 14,
+  14, 24, 76, 64, 42, 23, 14, 14, 14, 18, 14, 19, 27, 14, 14, 14,
+  16, 14, 14, 14, 14, 14, 18, 60, 24, 15, 15, 16, 18, 22, 27, 32,
+  14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 15, 14, 15, 15, 15, 15,
+  14, 14, 14, 14, 16, 16, 16, 16, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  18, 15, 14, 14, 15, 19, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 16, 19, 18, 21, 27, 23, 15, 14, 14, 15,
+  24, 14, 14, 14, 14, 18, 15, 15, 15, 15, 15, 18, 16, 14, 14, 17,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 14, 14, 14,
+  15, 15, 14, 15, 16, 18, 15, 15, 14, 14, 15, 20, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 14, 14, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  71, 59, 46, 36, 25, 21, 20, 21, 21, 21, 29, 37, 37, 37, 36, 32,
+  30, 25, 21, 19, 14, 15, 25, 31, 14, 14, 14, 14, 14, 14, 42, 67,
+  39, 29, 18, 18, 15, 21, 31, 14, 14, 16, 14, 16, 16, 15, 14, 14,
+  14, 14, 18, 16, 14, 14, 14, 14, 14, 14, 15, 14, 24, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 23, 15, 14, 14,
+  20, 21, 15, 15, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16,
+  16, 15, 16, 16, 18, 15, 15, 14, 14, 14, 14, 16, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 16, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 14, 14, 17, 16, 15, 16, 15, 14, 14, 14, 14,
+  14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 16, 20, 16, 15, 14,
+  14, 14, 16, 16, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 14,
+  15, 15, 15, 16, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 18, 15, 15, 14, 14, 14, 14, 14, 14, 14, 18,
+  19, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 18, 14, 15, 14, 14, 14, 14, 38, 49, 34, 23, 22, 22,
+  21, 24, 21, 16, 14, 14, 14, 18, 14, 14, 14, 14, 14, 53, 84, 60,
+  39, 21, 19, 14, 16, 21, 16, 21, 29, 14, 14, 14, 16, 14, 14, 14,
+  14, 14, 55, 64, 27, 19, 20, 18, 18, 23, 22, 20, 14, 14, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 20, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 14, 16, 14, 14,
+  14, 15, 15, 15, 16, 18, 18, 16, 15, 14, 14, 14, 19, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 15,
+  15, 16, 16, 15, 14, 14, 14, 14, 18, 14, 14, 19, 16, 14, 15, 15,
+  14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 15, 16, 16, 14, 15,
+  15, 16, 18, 15, 14, 14, 14, 14, 14, 14, 14, 21, 78, 55, 40, 33,
+  34, 34, 33, 32, 31, 28, 32, 42, 48, 49, 47, 45, 42, 38, 34, 27,
+  24, 19, 24, 22, 14, 14, 16, 16, 14, 14, 76, 72, 46, 34, 23, 21,
+  31, 18, 27, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 18, 14, 14, 15, 20,
+  14, 15, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 16, 16, 21,
+  23, 15, 14, 14, 16, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 16, 18, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 14, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 20, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 20, 19, 15, 14, 14, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 16, 16, 15,
+  20, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 21,
+  14, 18, 15, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16,
+  18, 18, 16, 21, 14, 15, 14, 14, 14, 14, 14, 14, 14, 16, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 46, 63, 44, 31, 29, 29, 27, 28, 24, 18,
+  14, 14, 14, 17, 14, 14, 14, 14, 14, 78, 76, 61, 41, 24, 30, 20,
+  19, 25, 19, 27, 32, 14, 14, 14, 14, 14, 14, 14, 14, 14, 78, 53,
+  32, 24, 24, 20, 25, 30, 20, 14, 14, 14, 14, 14, 15, 16, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 19, 21, 19, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 18, 18,
+  14, 29, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  18, 15, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 15, 16,
+  16, 18, 16, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 16, 16, 21,
+  21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 18, 15, 15, 18, 18, 15,
+  14, 14, 14, 14, 14, 14, 14, 69, 59, 49, 39, 32, 40, 44, 41, 37,
+  30, 21, 21, 27, 31, 33, 33, 31, 31, 27, 25, 19, 14, 14, 14, 14,
+  14, 14, 15, 14, 14, 14, 97, 75, 57, 45, 34, 24, 43, 21, 17, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 16, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 16, 16, 15, 15, 16, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 16, 14,
+  14, 14, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 17, 14, 14, 16, 14, 14, 16, 14, 14, 14, 14, 14,
+  14, 14, 59, 67, 46, 41, 39, 37, 35, 34, 28, 18, 14, 14, 16, 14,
+  14, 14, 14, 14, 45, 95, 72, 60, 50, 31, 37, 27, 27, 33, 26, 32,
+  39, 14, 14, 14, 14, 15, 14, 14, 14, 24, 67, 53, 40, 31, 27, 29,
+  36, 38, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 14,
+  15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 18, 14, 15, 15, 16, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 15, 14, 15, 15, 15, 14, 14, 14, 14,
+  14, 14, 19, 92, 61, 45, 34, 35, 45, 50, 43, 32, 20, 14, 14, 14,
+  14, 14, 14, 16, 15, 14, 14, 14, 14, 14, 14, 14, 18, 14, 14, 14,
+  14, 19, 104, 81, 65, 57, 44, 31, 41, 32, 14, 14, 15, 43, 65, 43,
+  57, 54, 54, 57, 65, 63, 56, 52, 14, 14, 14, 14, 14, 14, 14, 14,
+  21, 14, 14, 14, 14, 27, 47, 57, 72, 75, 76, 81, 84, 89, 89, 85,
+  75, 36, 14, 14, 14, 14, 14, 14, 14, 15, 14, 15, 14, 14, 14, 14,
+  14, 14, 33, 63, 89, 92, 87, 87, 84, 82, 79, 67, 59, 45, 25, 14,
+  14, 14, 14, 14, 17, 15, 14, 14, 14, 14, 14, 14, 14, 14, 27, 45,
+  69, 67, 64, 61, 59, 59, 56, 56, 55, 47, 64, 72, 64, 79, 76, 36,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 24, 34, 37, 36, 34,
+  31, 29, 29, 33, 35, 28, 16, 14, 15, 18, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 22, 61, 87,
+  100, 89, 75, 73, 78, 65, 31, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  20, 18, 14, 14, 19, 50, 65, 56, 50, 45, 53, 48, 24, 14, 14, 14,
+  14, 14, 14, 14, 17, 40, 56, 59, 76, 75, 75, 81, 84, 82, 85, 85,
+  48, 28, 14, 14, 14, 14, 14, 14, 15, 21, 14, 16, 50, 81, 72, 72,
+  64, 61, 75, 79, 56, 24, 14, 14, 24, 29, 19, 21, 14, 22, 89, 75,
+  67, 67, 69, 71, 65, 44, 18, 14, 18, 21, 16, 14, 14, 82, 60, 78,
+  68, 46, 61, 60, 52, 19, 14, 22, 52, 47, 53, 60, 63, 68, 72, 75,
+  44, 14, 14, 14, 14, 14, 21, 14, 14, 14, 14, 14, 14, 14, 69, 79,
+  54, 48, 46, 46, 41, 39, 29, 18, 14, 15, 18, 14, 14, 14, 14, 14,
+  89, 92, 68, 63, 57, 45, 44, 41, 36, 42, 34, 41, 45, 14, 14, 15,
+  15, 14, 14, 14, 14, 63, 53, 45, 46, 35, 31, 36, 44, 35, 17, 14,
+  14, 14, 14, 14, 14, 14, 14, 24, 21, 20, 21, 24, 26, 27, 30, 32,
+  48, 40, 22, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 48, 79, 72, 75, 67, 56, 60, 46, 44, 46, 48, 54, 57, 63, 67,
+  71, 67, 69, 64, 37, 14, 14, 14, 26, 21, 18, 21, 41, 78, 93, 73,
+  61, 60, 64, 63, 49, 28, 14, 14, 14, 16, 44, 55, 54, 56, 67, 76,
+  60, 45, 26, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 24, 50, 78, 85, 89, 84, 82, 87, 82, 71, 63, 54, 36, 16, 14,
+  14, 14, 14, 14, 15, 14, 14, 14, 14, 16, 85, 82, 57, 78, 68, 75,
+  60, 44, 14, 14, 14, 31, 42, 57, 52, 48, 53, 57, 64, 63, 55, 49,
+  14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 59, 104,
+  60, 44, 34, 34, 42, 42, 35, 23, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 27, 15, 14, 14, 14, 52, 109, 89,
+  72, 64, 55, 45, 46, 31, 14, 32, 75, 82, 93, 68, 60, 55, 56, 63,
+  72, 84, 90, 89, 48, 21, 14, 14, 14, 14, 14, 14, 14, 14, 16, 45,
+  93, 100, 82, 63, 53, 49, 50, 54, 60, 68, 76, 85, 95, 100, 79, 42,
+  14, 14, 14, 20, 14, 15, 18, 23, 15, 14, 14, 14, 75, 90, 104, 102,
+  90, 82, 78, 73, 63, 68, 73, 78, 82, 92, 92, 76, 30, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 21, 55, 93, 105, 82, 73, 69, 65,
+  60, 61, 57, 64, 75, 79, 89, 97, 89, 113, 95, 27, 14, 14, 14, 14,
+  14, 14, 17, 37, 78, 71, 78, 78, 79, 78, 79, 78, 78, 79, 79, 84,
+  84, 78, 75, 75, 73, 69, 34, 14, 14, 14, 15, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 52, 130, 120, 111, 104, 95,
+  85, 81, 48, 29, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 68, 98, 81, 73, 73, 73, 55, 18, 14, 14, 14, 14, 14, 19, 55,
+  95, 98, 85, 63, 54, 50, 50, 55, 63, 68, 76, 85, 97, 90, 55, 27,
+  14, 14, 14, 14, 14, 14, 14, 14, 52, 113, 107, 104, 118, 104, 114, 128,
+  81, 24, 14, 14, 15, 15, 14, 14, 14, 19, 116, 111, 113, 102, 98, 102,
+  92, 56, 18, 14, 14, 14, 14, 14, 14, 100, 87, 90, 81, 65, 64, 68,
+  73, 23, 14, 52, 78, 78, 82, 87, 90, 100, 104, 107, 50, 14, 14, 15,
+  14, 14, 21, 14, 14, 14, 14, 14, 14, 14, 79, 97, 65, 52, 50, 52,
+  48, 44, 32, 21, 14, 15, 14, 14, 14, 14, 14, 39, 95, 73, 64, 65,
+  55, 60, 56, 56, 44, 53, 44, 49, 53, 14, 15, 15, 15, 14, 14, 14,
+  22, 67, 44, 41, 50, 40, 36, 43, 40, 24, 14, 14, 15, 14, 14, 54,
+  100, 111, 104, 78, 65, 63, 63, 64, 69, 75, 81, 93, 92, 100, 105, 105,
+  82, 50, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 75, 126, 104,
+  97, 90, 84, 75, 56, 49, 50, 54, 57, 64, 71, 78, 95, 98, 102, 100,
+  73, 32, 14, 14, 14, 15, 14, 14, 14, 54, 116, 111, 104, 102, 111, 113,
+  105, 55, 16, 14, 40, 61, 69, 68, 63, 67, 69, 78, 87, 93, 93, 67,
+  29, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 32, 100, 104, 102, 100,
+  82, 73, 69, 68, 63, 61, 69, 78, 84, 92, 76, 65, 18, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 79, 98, 82, 92, 90, 90, 98, 84, 23, 14,
+  30, 73, 90, 89, 69, 69, 73, 78, 82, 92, 92, 87, 43, 17, 14, 14,
+  14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 100, 97, 69, 48, 38, 37,
+  38, 37, 27, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 21, 14, 14, 14, 14, 79, 116, 92, 75, 67, 63, 57,
+  59, 23, 14, 84, 113, 75, 67, 61, 55, 49, 54, 59, 67, 73, 84, 92,
+  120, 45, 14, 14, 15, 14, 14, 14, 14, 27, 87, 118, 105, 85, 75, 72,
+  60, 54, 59, 60, 60, 67, 73, 75, 81, 89, 98, 102, 63, 19, 14, 14,
+  18, 14, 14, 14, 14, 14, 32, 84, 126, 124, 118, 107, 93, 84, 82, 81,
+  75, 72, 73, 75, 78, 79, 87, 95, 109, 60, 19, 14, 14, 14, 14, 14,
+  14, 14, 14, 22, 85, 114, 104, 72, 67, 64, 63, 60, 64, 65, 63, 68,
+  75, 73, 90, 92, 81, 105, 76, 14, 14, 14, 14, 14, 14, 14, 55, 126,
+  78, 60, 64, 67, 71, 76, 81, 81, 78, 78, 73, 73, 68, 64, 60, 81,
+  124, 128, 75, 27, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 14, 14, 14, 14, 14, 84, 109, 118, 116, 90, 81, 71, 63, 63,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 87, 93, 72,
+  63, 55, 63, 45, 14, 14, 14, 14, 14, 34, 104, 132, 92, 78, 72, 68,
+  59, 57, 57, 60, 60, 65, 72, 76, 81, 89, 95, 97, 44, 14, 14, 14,
+  14, 19, 14, 14, 47, 111, 107, 97, 92, 89, 89, 104, 64, 16, 14, 16,
+  15, 24, 14, 14, 14, 16, 114, 109, 105, 89, 92, 93, 97, 71, 28, 14,
+  14, 15, 14, 14, 14, 98, 79, 76, 63, 56, 67, 61, 69, 60, 36, 109,
+  79, 78, 78, 84, 90, 87, 81, 81, 37, 14, 14, 18, 14, 14, 19, 14,
+  14, 14, 14, 14, 14, 14, 84, 109, 79, 61, 60, 64, 60, 55, 37, 23,
+  14, 15, 14, 14, 14, 14, 14, 87, 104, 71, 81, 65, 56, 68, 63, 61,
+  50, 60, 48, 57, 56, 14, 16, 15, 14, 17, 14, 14, 76, 68, 45, 47,
+  60, 47, 46, 49, 35, 15, 14, 14, 14, 15, 85, 164, 130, 93, 84, 73,
+  63, 57, 56, 61, 63, 64, 72, 75, 84, 89, 92, 92, 95, 89, 33, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 90, 143, 107, 95, 89, 84, 73,
+  63, 54, 55, 54, 53, 55, 60, 63, 71, 75, 82, 87, 93, 78, 24, 14,
+  20, 15, 25, 14, 14, 16, 100, 114, 98, 82, 82, 89, 85, 60, 28, 14,
+  67, 56, 53, 54, 49, 63, 64, 67, 75, 82, 90, 107, 89, 29, 14, 14,
+  14, 14, 14, 14, 14, 14, 49, 122, 118, 104, 92, 84, 82, 78, 75, 73,
+  76, 76, 76, 78, 81, 81, 92, 95, 82, 35, 14, 14, 14, 14, 14, 14,
+  14, 14, 54, 95, 79, 89, 73, 72, 72, 72, 53, 14, 89, 90, 92, 73,
+  67, 65, 71, 72, 78, 82, 89, 97, 107, 35, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 21, 102, 100, 82, 60, 59, 59, 46, 54, 35, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  20, 14, 14, 14, 14, 104, 95, 93, 73, 71, 69, 65, 46, 43, 56, 84,
+  89, 81, 76, 72, 68, 69, 71, 72, 78, 72, 84, 65, 100, 79, 16, 14,
+  14, 14, 14, 14, 26, 90, 118, 87, 82, 102, 98, 72, 63, 50, 50, 65,
+  57, 57, 82, 81, 79, 78, 85, 84, 82, 55, 14, 14, 15, 14, 16, 14,
+  14, 27, 126, 120, 107, 111, 98, 89, 79, 81, 73, 57, 59, 54, 82, 78,
+  68, 75, 72, 76, 81, 72, 78, 14, 14, 14, 14, 14, 14, 14, 14, 89,
+  100, 79, 98, 68, 73, 67, 68, 50, 60, 69, 57, 72, 54, 61, 63, 57,
+  79, 90, 50, 15, 14, 14, 14, 14, 14, 53, 113, 85, 59, 47, 53, 63,
+  73, 82, 89, 95, 95, 89, 85, 72, 63, 65, 50, 59, 68, 90, 72, 60,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  14, 14, 14, 41, 132, 118, 113, 89, 82, 68, 47, 50, 35, 14, 16, 14,
+  14, 14, 17, 14, 14, 14, 14, 14, 84, 81, 75, 82, 53, 54, 56, 21,
+  14, 14, 14, 14, 75, 118, 145, 118, 90, 87, 79, 59, 53, 54, 48, 59,
+  73, 79, 78, 76, 73, 78, 87, 84, 84, 50, 14, 14, 14, 14, 14, 14,
+  55, 109, 84, 82, 76, 71, 65, 52, 75, 14, 17, 15, 14, 19, 14, 14,
+  14, 45, 111, 98, 93, 92, 79, 65, 68, 63, 14, 14, 14, 16, 14, 14,
+  16, 120, 84, 81, 63, 61, 63, 72, 75, 90, 104, 111, 93, 89, 87, 93,
+  82, 64, 61, 75, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14,
+  14, 14, 90, 109, 85, 73, 76, 79, 68, 59, 44, 24, 14, 15, 14, 14,
+  14, 14, 27, 98, 89, 89, 72, 72, 72, 71, 68, 68, 61, 65, 55, 63,
+  63, 14, 15, 14, 15, 14, 14, 16, 93, 64, 57, 57, 75, 31, 64, 55,
+  17, 14, 14, 14, 14, 102, 164, 118, 105, 105, 89, 85, 75, 72, 73, 65,
+  67, 73, 73, 76, 76, 75, 81, 78, 76, 55, 72, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 128, 132, 98, 89, 53, 65, 72, 75, 59, 65, 50,
+  73, 57, 61, 65, 56, 63, 64, 72, 68, 67, 52, 14, 14, 20, 16, 14,
+  14, 16, 111, 95, 82, 69, 73, 56, 79, 33, 14, 85, 71, 71, 60, 61,
+  61, 73, 65, 67, 75, 85, 95, 85, 107, 65, 14, 14, 14, 14, 14, 14,
+  14, 100, 134, 93, 104, 100, 90, 84, 68, 63, 63, 57, 61, 75, 72, 59,
+  81, 75, 75, 76, 85, 46, 26, 14, 14, 14, 14, 14, 14, 14, 92, 104,
+  93, 78, 75, 68, 64, 54, 60, 53, 81, 84, 100, 81, 76, 68, 78, 65,
+  79, 78, 82, 85, 78, 69, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 55, 130, 114, 82, 72, 69, 60, 55, 55, 33, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14,
+  14, 102, 93, 92, 72, 69, 73, 72, 64, 65, 82, 89, 87, 76, 71, 85,
+  85, 81, 82, 81, 84, 78, 81, 65, 84, 61, 56, 14, 14, 15, 14, 14,
+  93, 85, 100, 92, 85, 75, 73, 75, 71, 60, 57, 71, 84, 90, 90, 64,
+  78, 78, 79, 79, 89, 87, 35, 14, 14, 14, 14, 14, 14, 116, 104, 124,
+  116, 93, 85, 68, 67, 65, 75, 79, 76, 68, 92, 82, 73, 72, 68, 72,
+  79, 82, 93, 31, 14, 14, 18, 14, 14, 14, 42, 97, 113, 87, 79, 75,
+  68, 57, 61, 56, 67, 73, 57, 64, 50, 56, 63, 68, 84, 84, 46, 16,
+  14, 14, 14, 14, 17, 87, 92, 76, 60, 50, 61, 64, 67, 67, 76, 87,
+  78, 69, 85, 73, 61, 57, 47, 55, 64, 75, 60, 57, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 24,
+  141, 118, 105, 95, 87, 68, 47, 60, 37, 14, 14, 14, 14, 14, 15, 14,
+  14, 14, 14, 44, 97, 79, 90, 67, 72, 52, 48, 14, 14, 14, 14, 50,
+  143, 148, 150, 139, 97, 61, 44, 49, 54, 67, 60, 57, 71, 82, 82, 71,
+  76, 75, 82, 84, 93, 76, 24, 14, 14, 14, 14, 14, 93, 107, 90, 78,
+  72, 64, 60, 59, 55, 14, 19, 15, 14, 14, 14, 14, 14, 67, 120, 98,
+  87, 87, 79, 67, 65, 57, 14, 14, 14, 15, 14, 14, 39, 130, 98, 87,
+  67, 67, 68, 79, 73, 84, 109, 111, 89, 67, 50, 45, 47, 49, 56, 65,
+  14, 14, 14, 14, 14, 14, 14, 14, 16, 15, 14, 14, 14, 14, 85, 113,
+  102, 84, 84, 89, 75, 65, 48, 24, 18, 14, 14, 14, 14, 14, 79, 111,
+  97, 87, 81, 79, 76, 75, 73, 71, 64, 68, 57, 64, 65, 14, 14, 14,
+  14, 14, 14, 65, 84, 79, 59, 64, 65, 63, 48, 46, 18, 14, 14, 14,
+  69, 130, 145, 113, 104, 93, 82, 67, 50, 53, 59, 64, 63, 59, 56, 54,
+  81, 78, 81, 75, 75, 53, 72, 31, 14, 14, 14, 15, 14, 14, 14, 14,
+  14, 114, 124, 105, 90, 52, 59, 54, 82, 84, 95, 69, 87, 68, 61, 52,
+  56, 57, 64, 72, 61, 63, 52, 14, 14, 19, 14, 14, 14, 41, 114, 90,
+  76, 67, 68, 65, 57, 41, 29, 98, 95, 84, 64, 65, 65, 65, 63, 69,
+  79, 84, 95, 85, 98, 75, 15, 14, 14, 14, 14, 14, 84, 105, 120, 114,
+  92, 82, 63, 65, 73, 75, 78, 79, 75, 90, 95, 85, 82, 72, 69, 69,
+  79, 69, 52, 14, 14, 14, 16, 14, 14, 14, 109, 111, 102, 84, 75, 71,
+  68, 67, 73, 76, 84, 87, 87, 65, 71, 61, 78, 68, 78, 81, 82, 65,
+  72, 76, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 104, 141, 116,
+  79, 76, 71, 59, 59, 47, 24, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 30, 118, 104, 93,
+  73, 73, 76, 73, 71, 76, 87, 93, 72, 55, 60, 87, 89, 87, 87, 85,
+  90, 85, 81, 67, 72, 68, 32, 14, 14, 17, 14, 95, 145, 118, 98, 92,
+  85, 55, 53, 65, 50, 42, 32, 30, 45, 79, 98, 92, 84, 81, 81, 84,
+  82, 104, 68, 14, 14, 14, 14, 14, 84, 162, 137, 120, 95, 85, 71, 65,
+  57, 38, 34, 39, 35, 35, 64, 82, 89, 87, 72, 72, 82, 84, 102, 65,
+  14, 14, 14, 14, 14, 31, 132, 120, 128, 100, 90, 72, 60, 35, 32, 28,
+  35, 41, 30, 31, 23, 21, 24, 31, 39, 37, 21, 14, 14, 14, 14, 14,
+  82, 116, 89, 84, 63, 68, 60, 59, 60, 60, 61, 64, 79, 72, 85, 98,
+  89, 75, 60, 72, 75, 73, 63, 71, 18, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 139, 122, 104, 97,
+  89, 71, 53, 73, 48, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 124,
+  120, 109, 84, 46, 69, 43, 27, 14, 14, 14, 21, 132, 169, 152, 136, 114,
+  90, 48, 34, 39, 36, 52, 46, 39, 56, 92, 93, 100, 82, 76, 82, 89,
+  92, 102, 46, 14, 14, 14, 14, 14, 134, 111, 102, 76, 75, 65, 59, 67,
+  31, 14, 15, 15, 15, 14, 14, 14, 14, 102, 128, 114, 89, 87, 81, 69,
+  64, 43, 14, 14, 14, 14, 14, 14, 82, 132, 104, 85, 67, 69, 75, 81,
+  68, 75, 93, 93, 76, 69, 63, 60, 68, 67, 50, 35, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 15, 14, 14, 14, 14, 95, 118, 109, 87, 92, 93,
+  84, 69, 52, 26, 19, 14, 14, 14, 14, 24, 122, 116, 107, 82, 82, 81,
+  81, 76, 75, 72, 67, 75, 64, 72, 68, 14, 14, 14, 14, 14, 14, 126,
+  98, 84, 68, 65, 54, 72, 47, 24, 14, 14, 14, 16, 164, 148, 128, 109,
+  104, 92, 72, 61, 64, 54, 48, 54, 59, 59, 75, 97, 100, 93, 95, 89,
+  87, 63, 71, 64, 14, 14, 14, 14, 14, 14, 14, 14, 14, 67, 79, 89,
+  85, 65, 82, 67, 50, 61, 65, 40, 63, 78, 85, 76, 75, 73, 79, 85,
+  63, 69, 60, 14, 14, 15, 14, 14, 14, 102, 126, 97, 89, 71, 76, 78,
+  50, 61, 107, 124, 82, 67, 44, 59, 65, 73, 72, 85, 85, 87, 100, 97,
+  89, 85, 32, 14, 14, 14, 14, 45, 173, 120, 120, 113, 87, 67, 52, 46,
+  43, 36, 38, 42, 41, 53, 76, 97, 89, 81, 72, 73, 79, 89, 82, 17,
+  14, 14, 14, 14, 14, 38, 118, 113, 114, 84, 79, 75, 68, 68, 79, 84,
+  89, 89, 92, 79, 76, 68, 79, 76, 81, 81, 87, 63, 65, 76, 25, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 143, 139, 122, 84, 78, 76, 61,
+  60, 39, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 14, 14, 14, 15, 14, 14, 73, 134, 118, 97, 78, 76, 79, 67,
+  57, 48, 37, 31, 27, 24, 35, 54, 87, 113, 102, 92, 95, 87, 84, 67,
+  71, 64, 14, 14, 14, 14, 57, 178, 147, 122, 93, 78, 69, 64, 50, 34,
+  14, 14, 14, 14, 14, 16, 47, 98, 90, 95, 84, 85, 78, 90, 84, 14,
+  14, 14, 14, 55, 182, 128, 157, 100, 81, 68, 57, 49, 33, 16, 14, 14,
+  14, 14, 21, 47, 95, 100, 79, 79, 85, 79, 92, 97, 14, 14, 14, 14,
+  14, 85, 169, 132, 128, 104, 92, 85, 57, 21, 14, 14, 14, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 27, 130, 124, 89, 78,
+  72, 69, 64, 55, 47, 39, 35, 34, 40, 32, 31, 54, 95, 116, 85, 85,
+  84, 71, 63, 75, 34, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 102, 136, 122, 111, 98, 82, 68, 82,
+  63, 14, 14, 14, 14, 14, 14, 14, 14, 14, 82, 164, 122, 126, 67, 55,
+  52, 39, 14, 14, 14, 14, 113, 159, 145, 141, 107, 85, 65, 54, 34, 21,
+  14, 14, 14, 14, 14, 22, 47, 93, 98, 81, 84, 97, 82, 109, 65, 14,
+  14, 14, 14, 22, 159, 120, 98, 79, 84, 67, 61, 69, 16, 14, 14, 14,
+  18, 14, 14, 14, 14, 130, 134, 120, 102, 90, 87, 78, 65, 33, 14, 14,
+  14, 14, 14, 14, 124, 130, 109, 85, 71, 75, 82, 75, 55, 50, 55, 47,
+  52, 57, 64, 65, 72, 63, 36, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 15, 14, 14, 14, 14, 102, 136, 118, 92, 97, 100, 92, 81, 54, 27,
+  14, 19, 14, 14, 14, 107, 128, 113, 113, 84, 87, 90, 84, 82, 78, 75,
+  71, 78, 69, 79, 71, 14, 14, 14, 14, 14, 54, 145, 124, 78, 76, 67,
+  63, 49, 60, 14, 14, 14, 14, 89, 175, 143, 128, 114, 95, 73, 68, 64,
+  46, 28, 19, 19, 21, 24, 44, 75, 116, 114, 124, 111, 100, 72, 63, 82,
+  15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 25, 97, 109, 105, 89, 102, 107, 73, 76, 63, 14,
+  14, 14, 14, 14, 14, 147, 132, 107, 92, 78, 79, 89, 64, 76, 141, 114,
+  81, 72, 52, 68, 85, 82, 84, 85, 95, 95, 116, 109, 87, 90, 46, 14,
+  14, 14, 18, 141, 139, 132, 116, 90, 68, 65, 53, 32, 16, 14, 14, 14,
+  14, 14, 34, 95, 98, 85, 79, 84, 73, 82, 87, 29, 14, 14, 14, 14,
+  14, 82, 128, 120, 114, 89, 85, 81, 65, 55, 47, 40, 41, 40, 49, 54,
+  72, 82, 87, 85, 82, 87, 95, 67, 63, 68, 22, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 48, 179, 145, 132, 93, 84, 79, 63, 59, 32, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 15, 14, 14, 120, 143, 130, 105, 87, 81, 79, 54, 38, 21, 14, 14,
+  14, 14, 14, 14, 60, 128, 124, 105, 98, 95, 87, 73, 69, 44, 14, 14,
+  19, 14, 152, 167, 145, 128, 97, 68, 65, 57, 31, 14, 14, 14, 14, 14,
+  14, 14, 14, 78, 104, 97, 87, 97, 93, 95, 100, 23, 14, 14, 14, 167,
+  173, 136, 134, 97, 78, 72, 45, 18, 14, 14, 14, 14, 14, 14, 14, 14,
+  61, 113, 102, 111, 98, 87, 92, 118, 23, 14, 14, 14, 27, 143, 143, 150,
+  136, 113, 107, 95, 63, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 14, 14, 14, 111, 143, 107, 97, 78, 85, 85, 65, 39,
+  23, 14, 14, 14, 14, 14, 14, 14, 41, 141, 120, 102, 92, 81, 68, 79,
+  45, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14,
+  14, 14, 14, 14, 40, 143, 147, 118, 98, 87, 85, 78, 79, 26, 14, 14,
+  14, 14, 14, 14, 14, 32, 175, 167, 150, 100, 52, 59, 40, 24, 14, 14,
+  14, 27, 157, 150, 143, 120, 100, 75, 60, 43, 21, 14, 14, 14, 14, 14,
+  14, 14, 23, 120, 120, 97, 109, 104, 84, 109, 84, 14, 14, 14, 14, 61,
+  159, 137, 105, 84, 85, 75, 67, 64, 14, 14, 14, 15, 18, 14, 14, 14,
+  27, 157, 139, 122, 107, 90, 92, 82, 63, 21, 14, 14, 14, 14, 14, 14,
+  150, 132, 116, 93, 84, 82, 84, 60, 31, 19, 16, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 109, 150, 132, 100, 104, 107, 100, 85, 55, 26, 14, 14, 14, 14,
+  41, 164, 118, 126, 113, 93, 92, 90, 89, 85, 81, 81, 75, 84, 82, 89,
+  71, 14, 14, 14, 14, 14, 145, 143, 128, 85, 76, 68, 73, 44, 39, 14,
+  14, 14, 16, 175, 173, 155, 136, 111, 89, 64, 48, 32, 15, 14, 14, 14,
+  14, 14, 14, 14, 102, 152, 147, 145, 122, 90, 64, 84, 40, 32, 16, 15,
+  15, 14, 14, 14, 21, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 89, 130, 137, 113, 132, 124, 87, 84, 56, 14, 14, 14, 14, 14,
+  16, 167, 130, 113, 90, 100, 79, 82, 73, 60, 82, 45, 38, 41, 30, 42,
+  65, 89, 118, 98, 109, 107, 126, 118, 92, 89, 52, 14, 14, 14, 81, 183,
+  120, 141, 111, 79, 50, 52, 36, 14, 14, 14, 14, 14, 14, 14, 14, 53,
+  109, 120, 98, 92, 87, 78, 87, 47, 14, 14, 14, 14, 14, 107, 141, 132,
+  116, 98, 98, 90, 81, 47, 19, 14, 14, 14, 14, 14, 33, 89, 98, 98,
+  87, 95, 109, 73, 65, 53, 14, 14, 14, 14, 18, 14, 14, 14, 14, 14,
+  118, 179, 145, 128, 111, 87, 85, 69, 60, 27, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14,
+  155, 148, 141, 107, 100, 89, 75, 50, 27, 14, 14, 14, 14, 14, 14, 14,
+  26, 118, 136, 124, 102, 102, 90, 84, 63, 34, 14, 14, 14, 73, 178, 164,
+  159, 111, 90, 85, 71, 37, 14, 14, 18, 14, 14, 18, 19, 14, 14, 71,
+  128, 107, 102, 107, 102, 97, 82, 35, 14, 14, 75, 173, 154, 152, 114, 93,
+  76, 65, 31, 14, 14, 14, 14, 14, 14, 14, 14, 14, 64, 134, 116, 118,
+  111, 98, 89, 98, 31, 14, 15, 14, 65, 170, 126, 162, 147, 124, 116, 95,
+  54, 14, 14, 15, 14, 15, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14,
+  14, 14, 21, 173, 143, 98, 105, 81, 98, 87, 52, 22, 14, 14, 14, 14,
+  14, 18, 14, 14, 14, 130, 159, 143, 105, 92, 75, 71, 49, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 14, 14,
+  14, 134, 154, 126, 109, 97, 93, 78, 93, 44, 14, 14, 14, 14, 14, 14,
+  14, 132, 195, 173, 165, 72, 68, 42, 31, 14, 14, 14, 14, 118, 145, 148,
+  150, 104, 82, 84, 64, 25, 14, 14, 14, 14, 14, 14, 14, 14, 14, 114,
+  128, 114, 116, 111, 90, 98, 85, 14, 14, 14, 14, 130, 152, 154, 116, 102,
+  92, 78, 69, 46, 14, 14, 14, 18, 14, 14, 14, 14, 68, 164, 145, 126,
+  114, 97, 89, 79, 54, 14, 14, 14, 14, 14, 14, 38, 164, 145, 126, 107,
+  93, 92, 82, 53, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 116, 162,
+  148, 116, 120, 120, 107, 95, 61, 27, 15, 14, 16, 14, 128, 173, 139, 141,
+  107, 104, 82, 61, 92, 98, 89, 87, 81, 85, 92, 93, 76, 14, 14, 14,
+  14, 54, 175, 159, 114, 114, 82, 78, 68, 57, 14, 14, 14, 14, 81, 197,
+  178, 162, 128, 107, 98, 75, 31, 14, 14, 14, 14, 15, 14, 14, 14, 14,
+  40, 167, 154, 162, 141, 105, 82, 81, 37, 30, 15, 15, 15, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 111, 169,
+  157, 134, 152, 134, 97, 87, 41, 14, 14, 14, 14, 14, 53, 170, 134, 124,
+  89, 109, 78, 67, 54, 24, 19, 14, 14, 14, 14, 14, 18, 43, 134, 120,
+  120, 122, 128, 134, 107, 85, 53, 14, 14, 25, 159, 148, 157, 128, 97, 82,
+  65, 40, 14, 14, 14, 14, 14, 14, 14, 14, 14, 22, 134, 143, 126, 109,
+  102, 82, 81, 54, 14, 14, 14, 14, 14, 120, 145, 137, 120, 111, 107, 98,
+  76, 37, 14, 14, 14, 14, 14, 14, 14, 82, 98, 118, 102, 105, 107, 76,
+  76, 42, 14, 14, 14, 14, 19, 14, 14, 14, 14, 14, 159, 164, 161, 128,
+  118, 98, 92, 75, 60, 27, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 27, 185, 155, 157, 116,
+  111, 92, 79, 56, 20, 16, 14, 14, 14, 14, 14, 14, 14, 122, 159, 157,
+  122, 114, 97, 93, 60, 27, 14, 14, 14, 178, 172, 181, 154, 116, 89, 87,
+  60, 21, 14, 14, 16, 14, 14, 14, 14, 14, 14, 69, 155, 136, 132, 104,
+  105, 105, 56, 26, 14, 18, 170, 148, 161, 141, 114, 87, 69, 43, 18, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 75, 162, 134, 122, 114, 105, 89, 76,
+  35, 14, 14, 14, 105, 159, 143, 139, 147, 134, 124, 102, 49, 14, 14, 17,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 87, 185,
+  145, 113, 95, 84, 102, 73, 34, 14, 14, 14, 18, 19, 14, 17, 14, 14,
+  14, 113, 167, 147, 118, 104, 84, 61, 46, 14, 14, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 126, 152, 143,
+  139, 105, 102, 92, 109, 67, 14, 14, 14, 14, 14, 14, 67, 199, 192, 181,
+  136, 64, 67, 29, 16, 14, 14, 14, 31, 172, 130, 150, 126, 98, 76, 75,
+  48, 16, 14, 19, 14, 14, 16, 14, 18, 14, 14, 130, 152, 137, 118, 120,
+  100, 95, 76, 14, 14, 14, 14, 179, 159, 164, 141, 109, 98, 85, 69, 29,
+  14, 14, 14, 19, 14, 14, 14, 14, 137, 170, 157, 139, 124, 105, 95, 85,
+  52, 14, 14, 14, 14, 14, 14, 89, 167, 162, 126, 113, 98, 98, 84, 46,
+  18, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 126, 173, 164, 132, 134, 141,
+  116, 105, 68, 30, 14, 14, 14, 33, 170, 167, 159, 134, 109, 113, 56, 32,
+  97, 128, 102, 98, 87, 97, 104, 105, 79, 14, 14, 14, 15, 157, 181, 169,
+  134, 113, 92, 82, 60, 45, 14, 14, 14, 17, 165, 195, 172, 165, 122, 104,
+  109, 69, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 183, 162, 169,
+  137, 97, 95, 73, 16, 15, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 130, 164, 164, 150, 152, 128,
+  107, 82, 25, 14, 14, 14, 14, 14, 126, 165, 137, 134, 104, 102, 87, 71,
+  34, 14, 14, 14, 14, 14, 14, 14, 14, 14, 118, 132, 143, 145, 132, 143,
+  116, 82, 53, 14, 14, 93, 170, 128, 162, 116, 81, 78, 65, 24, 14, 14,
+  14, 16, 14, 14, 18, 14, 14, 14, 164, 162, 145, 122, 107, 89, 79, 49,
+  14, 14, 14, 14, 53, 137, 152, 143, 120, 132, 114, 102, 64, 30, 14, 14,
+  14, 20, 14, 14, 14, 98, 118, 136, 122, 122, 111, 84, 78, 33, 14, 14,
+  14, 14, 18, 14, 14, 14, 14, 14, 195, 181, 190, 145, 134, 111, 98, 71,
+  64, 27, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 15, 14, 22, 63, 199, 162, 165, 118, 113, 98, 84, 64,
+  16, 14, 14, 14, 14, 14, 14, 14, 14, 137, 182, 173, 134, 122, 102, 102,
+  60, 15, 14, 14, 98, 164, 176, 164, 159, 130, 104, 81, 41, 14, 14, 14,
+  14, 14, 26, 14, 16, 14, 14, 78, 170, 154, 150, 107, 111, 122, 54, 27,
+  14, 79, 154, 179, 152, 143, 105, 95, 81, 32, 14, 14, 14, 14, 14, 14,
+  14, 19, 14, 14, 65, 170, 162, 162, 130, 118, 105, 72, 41, 14, 14, 14,
+  114, 126, 157, 105, 132, 136, 126, 120, 63, 14, 14, 15, 14, 14, 14, 16,
+  14, 14, 14, 14, 14, 15, 18, 15, 14, 16, 167, 170, 157, 141, 82, 89,
+  100, 65, 24, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 141, 186, 157,
+  126, 118, 90, 57, 44, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 14, 14, 15, 15, 14, 14, 14, 14, 122, 148, 157, 164, 113, 113, 109,
+  113, 82, 14, 14, 14, 14, 14, 14, 186, 215, 200, 176, 100, 84, 52, 25,
+  14, 14, 14, 14, 132, 167, 155, 141, 105, 109, 97, 60, 27, 14, 15, 16,
+  16, 14, 19, 15, 16, 16, 15, 139, 178, 167, 136, 130, 114, 102, 78, 14,
+  14, 14, 19, 205, 172, 155, 159, 114, 105, 92, 75, 21, 14, 14, 14, 18,
+  14, 15, 14, 14, 176, 172, 167, 159, 150, 116, 104, 90, 54, 14, 15, 14,
+  14, 14, 14, 130, 164, 173, 128, 118, 116, 109, 85, 43, 14, 14, 14, 16,
+  21, 14, 14, 14, 18, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 136, 186, 176, 148, 148, 148, 124, 114, 73, 31,
+  14, 19, 14, 139, 173, 175, 164, 122, 111, 122, 42, 20, 102, 159, 116, 105,
+  95, 107, 107, 111, 84, 14, 14, 14, 31, 213, 181, 167, 178, 105, 109, 76,
+  59, 24, 14, 14, 14, 61, 198, 198, 173, 173, 130, 113, 111, 47, 14, 14,
+  14, 14, 16, 14, 14, 14, 14, 14, 14, 202, 175, 170, 134, 85, 100, 61,
+  14, 14, 14, 16, 15, 14, 14, 14, 61, 72, 79, 67, 71, 76, 65, 87,
+  69, 78, 72, 73, 72, 87, 198, 173, 157, 152, 152, 118, 111, 78, 15, 14,
+  14, 14, 14, 14, 173, 170, 148, 148, 134, 97, 105, 87, 25, 14, 14, 15,
+  14, 14, 14, 14, 14, 14, 120, 162, 165, 167, 141, 145, 124, 79, 48, 14,
+  21, 161, 164, 159, 128, 111, 87, 75, 43, 14, 14, 14, 18, 14, 14, 19,
+  14, 14, 14, 14, 189, 175, 155, 136, 116, 102, 93, 49, 14, 14, 14, 14,
+  109, 150, 148, 148, 126, 148, 114, 109, 78, 37, 14, 14, 14, 19, 14, 14,
+  14, 141, 141, 139, 134, 132, 113, 90, 79, 29, 14, 14, 14, 14, 14, 14,
+  15, 14, 14, 84, 206, 197, 185, 169, 154, 120, 100, 87, 67, 14, 14, 14,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  18, 16, 14, 167, 202, 179, 170, 148, 118, 97, 73, 55, 14, 19, 14, 14,
+  16, 14, 14, 14, 16, 199, 194, 183, 159, 132, 111, 97, 52, 14, 14, 14,
+  155, 164, 185, 178, 152, 141, 104, 97, 31, 14, 17, 14, 20, 14, 21, 15,
+  15, 15, 15, 65, 190, 173, 148, 139, 124, 114, 71, 18, 14, 147, 175, 155,
+  157, 124, 116, 97, 72, 18, 14, 14, 14, 14, 14, 14, 15, 14, 14, 15,
+  68, 172, 183, 170, 152, 116, 122, 78, 20, 14, 14, 14, 157, 118, 126, 128,
+  109, 120, 137, 126, 152, 56, 14, 14, 14, 14, 14, 14, 15, 14, 16, 14,
+  14, 18, 14, 14, 14, 68, 200, 181, 173, 122, 107, 97, 111, 53, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 178, 175, 181, 159, 89, 92, 92,
+  27, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 40, 181, 176, 155, 141, 137, 114, 122, 95, 27, 14,
+  14, 14, 14, 126, 219, 210, 202, 150, 89, 84, 45, 14, 14, 14, 14, 30,
+  190, 161, 162, 139, 113, 78, 93, 65, 14, 17, 16, 16, 14, 16, 16, 15,
+  25, 15, 15, 155, 186, 178, 162, 132, 118, 120, 60, 14, 14, 14, 85, 199,
+  181, 165, 165, 137, 109, 89, 72, 14, 14, 14, 14, 14, 17, 14, 14, 14,
+  193, 175, 189, 147, 152, 113, 128, 81, 21, 14, 14, 14, 14, 14, 14, 176,
+  178, 173, 143, 155, 126, 116, 78, 53, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14,
+  14, 14, 150, 197, 189, 170, 161, 154, 141, 136, 78, 29, 16, 14, 32, 195,
+  190, 164, 173, 132, 134, 84, 26, 14, 132, 164, 130, 130, 128, 109, 124, 137,
+  73, 14, 18, 14, 167, 203, 200, 176, 161, 124, 93, 89, 57, 14, 14, 14,
+  14, 161, 215, 197, 189, 162, 137, 130, 102, 41, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 102, 176, 179, 155, 116, 102, 85, 57, 14, 14, 14, 14,
+  14, 29, 147, 210, 199, 193, 193, 194, 190, 176, 176, 182, 183, 181, 183, 169,
+  194, 179, 173, 152, 155, 165, 134, 113, 87, 68, 14, 14, 14, 14, 14, 33,
+  183, 164, 179, 143, 143, 120, 102, 71, 14, 14, 14, 18, 14, 17, 14, 16,
+  14, 14, 78, 183, 186, 170, 162, 139, 132, 84, 28, 14, 87, 161, 159, 139,
+  137, 111, 82, 71, 29, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  194, 195, 176, 150, 120, 98, 84, 48, 14, 14, 14, 14, 147, 141, 154, 152,
+  141, 130, 126, 116, 72, 14, 14, 14, 22, 14, 14, 14, 28, 132, 155, 155,
+  137, 145, 118, 109, 78, 14, 14, 14, 14, 21, 14, 14, 14, 14, 14, 118,
+  213, 203, 190, 176, 157, 130, 105, 90, 63, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 186,
+  208, 190, 178, 162, 126, 105, 92, 45, 14, 18, 14, 14, 14, 14, 15, 14,
+  46, 210, 205, 195, 169, 139, 120, 100, 50, 14, 14, 28, 178, 175, 185, 178,
+  147, 136, 98, 79, 19, 14, 14, 14, 15, 14, 19, 15, 15, 18, 14, 107,
+  205, 183, 167, 148, 130, 124, 72, 14, 27, 173, 181, 167, 170, 124, 107, 85,
+  55, 18, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 109, 192, 197, 186,
+  165, 120, 120, 79, 14, 14, 14, 14, 134, 118, 132, 137, 118, 132, 157, 164,
+  145, 162, 165, 145, 82, 31, 14, 14, 14, 14, 14, 14, 22, 16, 14, 20,
+  14, 139, 218, 203, 173, 143, 124, 105, 126, 116, 97, 105, 134, 152, 162, 162,
+  162, 162, 161, 150, 132, 195, 165, 147, 148, 102, 79, 85, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 175, 172, 169, 162, 145, 132, 141, 107, 30, 14, 14, 14, 47, 203,
+  217, 208, 181, 141, 109, 64, 21, 14, 14, 14, 14, 97, 202, 188, 167, 154,
+  116, 84, 92, 47, 14, 14, 16, 16, 14, 14, 14, 15, 16, 18, 14, 183,
+  205, 194, 176, 145, 132, 120, 57, 14, 14, 14, 134, 214, 195, 178, 172, 139,
+  118, 98, 72, 14, 14, 14, 14, 14, 14, 14, 14, 50, 207, 189, 192, 162,
+  162, 122, 124, 76, 16, 14, 14, 14, 14, 14, 41, 194, 189, 185, 155, 164,
+  134, 120, 92, 44, 14, 14, 15, 14, 15, 15, 15, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 159, 205,
+  203, 183, 175, 167, 154, 139, 79, 30, 14, 14, 145, 209, 195, 193, 139, 122,
+  124, 59, 18, 14, 145, 182, 161, 152, 128, 126, 130, 141, 75, 16, 14, 27,
+  206, 211, 204, 186, 162, 130, 98, 93, 31, 14, 14, 14, 21, 194, 217, 206,
+  182, 161, 148, 154, 155, 143, 143, 148, 152, 147, 148, 150, 148, 147, 141, 139,
+  165, 194, 193, 176, 122, 85, 69, 40, 14, 14, 14, 14, 16, 169, 206, 193,
+  206, 193, 186, 183, 182, 173, 165, 167, 164, 173, 183, 169, 164, 154, 167, 175,
+  148, 161, 134, 116, 87, 52, 14, 14, 14, 14, 14, 71, 199, 183, 185, 161,
+  139, 124, 109, 67, 14, 14, 14, 15, 19, 15, 14, 15, 14, 14, 126, 209,
+  195, 173, 185, 150, 152, 85, 19, 14, 134, 173, 164, 154, 145, 111, 89, 79,
+  19, 14, 14, 14, 14, 14, 15, 15, 14, 14, 15, 23, 205, 203, 185, 175,
+  143, 134, 79, 42, 14, 14, 14, 14, 167, 159, 164, 161, 154, 150, 139, 114,
+  73, 14, 14, 14, 14, 14, 14, 14, 65, 159, 164, 169, 157, 155, 126, 105,
+  75, 14, 14, 14, 14, 18, 14, 14, 14, 14, 14, 170, 217, 209, 198, 185,
+  172, 139, 111, 93, 56, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 30, 211, 216, 203, 178, 170,
+  130, 109, 105, 29, 14, 15, 18, 14, 14, 14, 16, 14, 118, 216, 214, 206,
+  176, 147, 134, 97, 40, 14, 14, 98, 195, 188, 183, 181, 148, 136, 107, 59,
+  14, 14, 14, 14, 14, 14, 15, 15, 15, 18, 14, 167, 214, 192, 186, 157,
+  134, 134, 63, 14, 92, 185, 178, 172, 176, 134, 113, 98, 37, 14, 14, 14,
+  14, 14, 14, 14, 14, 17, 14, 14, 172, 202, 209, 197, 178, 132, 124, 82,
+  14, 14, 14, 14, 152, 124, 120, 116, 145, 154, 143, 137, 145, 173, 183, 178,
+  167, 164, 155, 148, 71, 16, 15, 15, 14, 14, 16, 14, 14, 186, 223, 209,
+  176, 161, 161, 132, 137, 148, 164, 183, 194, 195, 203, 208, 208, 190, 214, 200,
+  203, 188, 181, 172, 139, 126, 85, 84, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 148, 182,
+  189, 179, 154, 155, 139, 137, 52, 14, 14, 14, 147, 225, 216, 203, 152, 120,
+  105, 34, 14, 14, 14, 14, 14, 183, 203, 202, 169, 162, 122, 97, 82, 25,
+  14, 14, 16, 16, 16, 14, 14, 16, 15, 27, 14, 221, 216, 206, 186, 155,
+  139, 113, 49, 14, 14, 14, 167, 214, 200, 193, 181, 152, 128, 98, 59, 14,
+  14, 14, 14, 14, 14, 14, 14, 128, 213, 194, 193, 179, 164, 137, 116, 68,
+  14, 14, 14, 14, 14, 14, 107, 210, 199, 192, 169, 172, 145, 107, 98, 26,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 175, 214, 210, 192, 183, 176,
+  165, 150, 89, 32, 14, 20, 217, 206, 186, 189, 141, 137, 104, 34, 14, 14,
+  155, 198, 179, 162, 130, 150, 139, 145, 84, 18, 14, 120, 226, 215, 202, 189,
+  154, 130, 105, 81, 14, 14, 14, 16, 48, 220, 216, 208, 193, 172, 157, 157,
+  165, 178, 199, 208, 194, 193, 190, 193, 195, 193, 195, 193, 182, 190, 183, 170,
+  116, 90, 84, 38, 14, 14, 14, 14, 97, 213, 211, 197, 193, 181, 167, 170,
+  172, 169, 169, 165, 167, 159, 159, 161, 152, 161, 167, 165, 157, 159, 134, 122,
+  87, 38, 14, 14, 14, 14, 14, 147, 209, 199, 192, 178, 139, 132, 107, 52,
+  14, 15, 14, 14, 20, 14, 14, 14, 14, 14, 170, 215, 206, 182, 195, 159,
+  162, 81, 14, 33, 188, 178, 161, 167, 141, 111, 100, 73, 14, 14, 14, 17,
+  15, 14, 15, 16, 14, 15, 14, 76, 220, 204, 197, 189, 143, 161, 78, 31,
+  14, 14, 14, 71, 183, 167, 164, 162, 167, 162, 139, 113, 65, 15, 14, 14,
+  14, 14, 19, 14, 132, 181, 173, 175, 175, 161, 128, 105, 61, 14, 15, 14,
+  14, 16, 14, 14, 14, 14, 14, 209, 224, 214, 203, 190, 181, 154, 122, 97,
+  42, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 14, 14, 71, 233, 219, 209, 181, 173, 134, 105, 100, 16,
+  16, 14, 19, 14, 14, 14, 14, 14, 189, 223, 218, 210, 179, 154, 141, 90,
+  27, 14, 14, 170, 203, 192, 178, 175, 155, 134, 124, 36, 14, 15, 14, 14,
+  14, 14, 14, 14, 16, 15, 14, 210, 217, 200, 193, 164, 143, 143, 55, 14,
+  159, 188, 178, 181, 175, 134, 113, 102, 21, 14, 14, 14, 14, 14, 14, 14,
+  14, 16, 14, 14, 207, 210, 216, 204, 181, 137, 128, 85, 14, 14, 14, 14,
+  143, 134, 124, 118, 157, 179, 175, 185, 203, 199, 193, 189, 198, 194, 179, 162,
+  190, 169, 71, 14, 14, 15, 14, 14, 19, 217, 221, 211, 185, 176, 181, 162,
+  143, 152, 170, 181, 188, 186, 198, 205, 208, 189, 206, 186, 190, 162, 178, 172,
+  114, 118, 98, 67, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 85, 204, 198, 190, 170, 172,
+  136, 164, 81, 14, 14, 61, 213, 222, 210, 185, 141, 111, 71, 18, 14, 14,
+  14, 14, 16, 216, 205, 208, 182, 154, 132, 116, 69, 14, 15, 14, 15, 14,
+  14, 14, 14, 19, 15, 18, 47, 238, 225, 215, 188, 162, 150, 104, 39, 14,
+  14, 17, 202, 215, 203, 200, 185, 164, 139, 97, 40, 14, 14, 14, 14, 14,
+  14, 14, 14, 175, 213, 200, 195, 194, 162, 148, 113, 61, 14, 15, 14, 15,
+  14, 14, 169, 218, 209, 202, 183, 170, 147, 100, 95, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 182, 223, 216, 198, 192, 188, 183, 162, 95, 34,
+  14, 111, 214, 206, 188, 157, 162, 141, 85, 21, 14, 14, 169, 205, 193, 167,
+  150, 167, 159, 159, 89, 14, 29, 210, 225, 210, 203, 182, 148, 137, 111, 55,
+  14, 14, 14, 14, 124, 232, 217, 205, 189, 175, 165, 167, 182, 194, 207, 211,
+  189, 183, 182, 183, 186, 190, 192, 193, 202, 192, 179, 159, 114, 105, 93, 24,
+  14, 14, 14, 43, 204, 199, 203, 208, 179, 165, 145, 132, 128, 126, 120, 116,
+  120, 105, 113, 139, 148, 175, 176, 170, 181, 169, 147, 137, 84, 24, 14, 14,
+  14, 14, 14, 199, 215, 209, 194, 190, 148, 136, 104, 34, 14, 15, 14, 14,
+  14, 14, 14, 14, 14, 16, 203, 214, 213, 194, 186, 164, 143, 79, 14, 105,
+  205, 181, 165, 170, 134, 118, 107, 42, 14, 14, 14, 18, 15, 14, 14, 16,
+  14, 16, 14, 148, 227, 215, 203, 190, 139, 155, 85, 18, 14, 14, 16, 169,
+  190, 178, 170, 165, 170, 161, 137, 111, 38, 14, 20, 15, 14, 16, 14, 14,
+  182, 194, 181, 182, 182, 155, 130, 107, 40, 14, 16, 14, 14, 14, 14, 14,
+  14, 14, 24, 227, 227, 216, 207, 197, 186, 162, 126, 95, 32, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16,
+  14, 17, 136, 238, 224, 214, 188, 172, 137, 113, 85, 14, 19, 14, 16, 14,
+  14, 16, 14, 15, 220, 225, 226, 209, 188, 165, 147, 89, 19, 14, 15, 210,
+  204, 192, 181, 170, 157, 120, 124, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 28, 226, 222, 205, 200, 167, 157, 141, 50, 15, 208, 202, 192, 189,
+  173, 132, 104, 82, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 21,
+  222, 214, 222, 207, 179, 143, 134, 78, 14, 15, 16, 14, 78, 126, 157, 145,
+  145, 150, 175, 207, 182, 182, 194, 202, 197, 185, 182, 194, 206, 188, 197, 136,
+  14, 14, 23, 14, 95, 237, 228, 225, 203, 186, 181, 170, 147, 148, 148, 154,
+  157, 154, 157, 165, 165, 162, 172, 159, 150, 136, 141, 105, 113, 102, 104, 42,
+  14, 14, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 29, 215, 202, 193, 192, 181, 157, 164, 95, 14,
+  14, 173, 226, 216, 199, 155, 136, 92, 30, 14, 14, 14, 14, 14, 65, 225,
+  217, 217, 208, 155, 145, 122, 53, 14, 16, 14, 14, 14, 14, 14, 14, 14,
+  21, 15, 126, 240, 227, 218, 193, 169, 161, 95, 30, 14, 14, 61, 225, 218,
+  205, 207, 185, 161, 143, 89, 22, 14, 14, 16, 14, 14, 14, 14, 14, 199,
+  211, 210, 200, 197, 161, 152, 116, 52, 14, 17, 14, 14, 14, 20, 204, 223,
+  217, 213, 194, 172, 154, 105, 75, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 192, 227, 222, 209, 202, 198, 193, 173, 105, 37, 15, 204, 204, 206,
+  199, 148, 139, 111, 63, 16, 14, 16, 179, 216, 204, 176, 169, 175, 173, 173,
+  95, 14, 128, 234, 215, 207, 202, 178, 141, 147, 104, 30, 14, 16, 14, 14,
+  203, 240, 225, 206, 185, 175, 165, 162, 170, 181, 183, 173, 154, 143, 143, 148,
+  150, 150, 155, 157, 159, 159, 148, 137, 109, 128, 102, 14, 14, 14, 14, 116,
+  222, 205, 208, 198, 169, 162, 141, 122, 109, 105, 109, 109, 120, 111, 130, 148,
+  165, 173, 190, 198, 203, 189, 165, 148, 85, 18, 14, 14, 14, 14, 38, 221,
+  217, 213, 197, 192, 154, 139, 87, 19, 14, 14, 14, 14, 14, 19, 14, 14,
+  14, 64, 223, 217, 213, 204, 173, 181, 109, 72, 14, 175, 206, 189, 178, 176,
+  137, 132, 107, 20, 14, 14, 14, 14, 15, 14, 14, 14, 16, 14, 14, 189,
+  229, 223, 214, 188, 154, 141, 98, 14, 14, 14, 14, 199, 193, 182, 178, 175,
+  172, 154, 132, 105, 18, 14, 14, 14, 14, 14, 14, 16, 200, 199, 189, 186,
+  186, 147, 139, 118, 20, 14, 14, 14, 14, 14, 14, 14, 14, 14, 64, 232,
+  228, 219, 209, 199, 188, 164, 126, 93, 22, 14, 15, 14, 14, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 21, 194, 237,
+  228, 216, 197, 162, 143, 120, 56, 14, 16, 14, 15, 14, 14, 14, 14, 40,
+  230, 228, 226, 207, 197, 175, 150, 82, 16, 15, 50, 223, 205, 193, 186, 155,
+  161, 128, 90, 15, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 81, 232,
+  224, 208, 203, 170, 169, 120, 40, 55, 219, 203, 199, 197, 169, 145, 107, 68,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 78, 228, 225, 223, 202,
+  173, 147, 130, 50, 15, 16, 18, 14, 19, 68, 154, 173, 178, 173, 169, 176,
+  209, 202, 199, 194, 181, 165, 173, 195, 185, 208, 195, 176, 92, 14, 14, 15,
+  179, 239, 229, 223, 214, 195, 176, 155, 134, 120, 120, 128, 130, 118, 116, 118,
+  118, 132, 122, 128, 118, 130, 143, 102, 137, 111, 105, 24, 15, 14, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 193, 204, 192, 202, 183, 175, 157, 134, 76, 93, 223, 220, 204,
+  172, 134, 111, 57, 14, 14, 19, 14, 14, 14, 155, 221, 224, 220, 216, 164,
+  152, 118, 34, 14, 15, 14, 14, 14, 14, 14, 14, 14, 18, 14, 199, 233,
+  228, 217, 189, 165, 162, 85, 24, 14, 14, 134, 225, 217, 207, 211, 183, 167,
+  137, 81, 14, 14, 14, 15, 14, 14, 14, 14, 39, 217, 219, 217, 202, 189,
+  155, 148, 113, 34, 15, 15, 14, 14, 14, 56, 225, 227, 226, 219, 205, 172,
+  152, 120, 49, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 192, 231,
+  229, 217, 210, 203, 194, 178, 124, 52, 116, 225, 211, 198, 182, 169, 105, 104,
+  34, 14, 14, 16, 189, 224, 209, 190, 181, 173, 181, 176, 116, 14, 207, 234,
+  210, 208, 194, 165, 141, 130, 76, 15, 14, 14, 14, 14, 232, 238, 226, 202,
+  190, 178, 150, 132, 122, 136, 143, 126, 116, 107, 109, 114, 114, 116, 118, 118,
+  111, 139, 136, 136, 126, 137, 93, 14, 14, 14, 14, 203, 226, 229, 214, 190,
+  162, 152, 124, 87, 68, 67, 72, 78, 82, 61, 65, 89, 192, 199, 209, 213,
+  214, 202, 179, 148, 81, 15, 14, 14, 14, 14, 109, 233, 222, 217, 198, 189,
+  157, 130, 76, 14, 14, 14, 14, 14, 14, 23, 14, 14, 14, 145, 225, 218,
+  205, 204, 167, 192, 97, 50, 14, 205, 205, 200, 192, 178, 143, 134, 97, 14,
+  16, 14, 14, 14, 14, 15, 14, 14, 14, 14, 23, 215, 227, 232, 217, 179,
+  161, 130, 93, 14, 14, 15, 31, 222, 199, 186, 189, 179, 172, 157, 128, 98,
+  14, 14, 14, 14, 14, 14, 14, 75, 208, 204, 202, 189, 186, 145, 148, 109,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 139, 231, 226, 219, 209, 203,
+  193, 167, 126, 92, 15, 14, 16, 14, 14, 16, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 31, 223, 232, 225, 207, 199, 147,
+  147, 126, 28, 14, 14, 14, 14, 14, 15, 14, 14, 102, 228, 227, 228, 195,
+  199, 176, 130, 65, 18, 18, 124, 227, 205, 189, 189, 150, 154, 137, 46, 15,
+  16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 178, 234, 222, 209, 197, 155,
+  164, 84, 25, 120, 222, 204, 207, 197, 162, 162, 111, 41, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 14, 179, 229, 229, 223, 193, 169, 137, 116, 24,
+  21, 14, 15, 14, 14, 19, 67, 114, 159, 198, 207, 182, 175, 183, 192, 200,
+  203, 203, 193, 183, 207, 185, 164, 189, 120, 22, 14, 14, 202, 229, 231, 211,
+  215, 204, 179, 130, 69, 65, 68, 81, 97, 102, 105, 111, 114, 113, 92, 89,
+  82, 75, 111, 81, 82, 63, 54, 16, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 137,
+  210, 200, 209, 194, 178, 173, 167, 178, 204, 219, 205, 175, 141, 113, 67, 27,
+  14, 14, 15, 14, 14, 14, 195, 223, 228, 220, 207, 175, 155, 102, 18, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 36, 233, 230, 226, 214, 170, 154,
+  155, 72, 20, 14, 14, 186, 218, 216, 207, 216, 176, 170, 118, 72, 14, 14,
+  14, 14, 14, 14, 14, 14, 104, 223, 224, 217, 204, 182, 157, 134, 105, 18,
+  14, 14, 15, 14, 14, 126, 236, 233, 227, 215, 200, 172, 143, 124, 24, 15,
+  15, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 193, 229, 228, 217, 208, 202,
+  193, 190, 157, 97, 217, 220, 214, 186, 155, 145, 105, 72, 16, 14, 14, 14,
+  192, 226, 208, 198, 178, 185, 190, 183, 154, 72, 226, 222, 210, 199, 173, 152,
+  141, 95, 42, 15, 14, 14, 14, 25, 242, 236, 218, 195, 170, 162, 132, 82,
+  60, 73, 100, 100, 89, 84, 85, 87, 90, 90, 97, 97, 104, 122, 107, 107,
+  97, 73, 48, 14, 18, 14, 72, 237, 234, 232, 213, 198, 179, 148, 82, 31,
+  15, 14, 14, 14, 14, 14, 14, 24, 217, 228, 230, 222, 222, 205, 178, 139,
+  75, 14, 18, 14, 14, 14, 198, 236, 226, 222, 202, 179, 154, 111, 65, 14,
+  14, 14, 14, 15, 14, 15, 14, 14, 24, 199, 222, 209, 199, 195, 164, 175,
+  90, 25, 23, 225, 211, 206, 195, 182, 145, 116, 72, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 76, 234, 220, 226, 214, 169, 155, 120, 61, 14,
+  18, 21, 109, 237, 203, 186, 185, 182, 173, 154, 111, 75, 14, 19, 14, 14,
+  16, 14, 14, 169, 209, 203, 203, 189, 186, 141, 141, 79, 14, 16, 14, 14,
+  14, 14, 14, 14, 17, 14, 189, 234, 232, 224, 215, 206, 198, 169, 124, 90,
+  14, 14, 18, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 14, 41, 238, 238, 228, 206, 204, 139, 145, 118, 14, 16,
+  14, 14, 14, 14, 15, 14, 14, 175, 231, 231, 231, 188, 199, 176, 113, 52,
+  16, 18, 173, 228, 214, 195, 198, 141, 132, 134, 15, 19, 14, 15, 14, 14,
+  14, 14, 14, 14, 15, 14, 228, 241, 231, 215, 198, 161, 165, 64, 18, 165,
+  235, 219, 222, 202, 167, 165, 95, 16, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 224, 232, 235, 225, 188, 162, 137, 105, 14, 19, 14, 14, 14,
+  14, 14, 15, 14, 14, 59, 134, 139, 164, 193, 198, 189, 189, 206, 207, 197,
+  195, 211, 181, 179, 150, 38, 14, 14, 219, 233, 244, 211, 215, 209, 176, 100,
+  24, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 17, 20, 14, 20, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 87, 225, 214, 217, 205,
+  197, 204, 190, 192, 222, 199, 204, 155, 118, 111, 39, 14, 14, 14, 14, 15,
+  14, 14, 218, 232, 236, 226, 195, 183, 147, 85, 14, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 92, 246, 236, 232, 218, 170, 145, 141, 63, 14, 14,
+  14, 229, 230, 232, 219, 223, 170, 159, 107, 71, 14, 14, 14, 14, 14, 14,
+  14, 14, 161, 226, 225, 221, 211, 194, 164, 128, 98, 14, 14, 14, 15, 14,
+  14, 173, 240, 238, 225, 210, 195, 172, 126, 122, 14, 16, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 192, 232, 228, 217, 211, 202, 199, 204, 193, 152,
+  232, 203, 204, 207, 167, 100, 128, 28, 14, 19, 16, 14, 189, 227, 210, 205,
+  185, 198, 203, 197, 190, 176, 234, 226, 219, 203, 157, 143, 139, 69, 22, 14,
+  14, 19, 21, 55, 249, 242, 222, 213, 186, 181, 134, 46, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 20, 14, 14, 16,
+  18, 14, 208, 231, 230, 228, 224, 181, 161, 114, 50, 16, 14, 14, 14, 14,
+  14, 14, 22, 46, 246, 238, 233, 224, 222, 205, 173, 120, 68, 14, 21, 14,
+  14, 14, 230, 238, 231, 227, 207, 175, 150, 105, 60, 14, 18, 14, 14, 14,
+  14, 14, 14, 15, 67, 231, 226, 218, 210, 199, 173, 161, 90, 15, 48, 242,
+  225, 221, 205, 192, 155, 100, 57, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 16, 148, 243, 223, 227, 208, 165, 155, 132, 40, 14, 16, 14, 167, 235,
+  211, 195, 190, 181, 178, 157, 100, 56, 14, 20, 14, 14, 17, 14, 14, 195,
+  224, 216, 213, 190, 188, 136, 126, 53, 14, 21, 14, 14, 14, 14, 14, 15,
+  14, 14, 229, 237, 234, 236, 224, 209, 208, 186, 122, 72, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 20, 14, 14, 14, 14, 15,
+  15, 155, 244, 236, 232, 219, 194, 167, 116, 81, 14, 14, 14, 14, 14, 14,
+  14, 21, 15, 229, 239, 241, 225, 215, 188, 175, 143, 30, 14, 14, 188, 222,
+  218, 217, 193, 172, 143, 87, 16, 16, 14, 14, 14, 14, 14, 14, 15, 14,
+  14, 102, 246, 248, 243, 234, 210, 193, 143, 47, 19, 204, 237, 243, 239, 214,
+  186, 173, 93, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 25, 87, 237,
+  238, 237, 234, 164, 154, 136, 69, 14, 18, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 41, 65, 130, 172, 217, 215, 221, 219, 217, 226, 203, 175,
+  141, 55, 14, 14, 238, 240, 240, 230, 211, 203, 164, 97, 14, 14, 14, 14,
+  14, 15, 14, 14, 20, 14, 14, 19, 14, 14, 21, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 16, 217, 224, 239, 217, 217, 215, 216, 218,
+  218, 208, 173, 126, 118, 53, 16, 14, 14, 14, 14, 15, 14, 14, 229, 235,
+  239, 215, 203, 183, 122, 57, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 186, 237, 243, 236, 211, 197, 161, 120, 29, 20, 14, 81, 247, 240, 237,
+  226, 209, 181, 157, 114, 30, 14, 14, 15, 15, 14, 14, 14, 14, 205, 236,
+  228, 236, 215, 188, 161, 130, 75, 14, 14, 14, 14, 14, 14, 225, 242, 237,
+  221, 220, 203, 155, 116, 76, 14, 14, 15, 14, 17, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 199, 234, 232, 222, 215, 213, 217, 214, 216, 214, 218, 215, 219, 170,
+  161, 137, 89, 14, 15, 15, 16, 14, 192, 232, 225, 213, 200, 204, 210, 219,
+  226, 234, 236, 235, 228, 221, 162, 150, 89, 42, 14, 16, 14, 14, 14, 128,
+  244, 243, 239, 224, 208, 193, 147, 53, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 16, 18, 14, 14, 18, 14, 16, 219, 235,
+  229, 228, 197, 183, 167, 89, 27, 14, 14, 14, 14, 14, 14, 14, 17, 143,
+  241, 246, 242, 225, 225, 186, 167, 126, 22, 19, 14, 14, 14, 64, 234, 233,
+  240, 218, 223, 178, 157, 120, 14, 14, 18, 14, 14, 14, 14, 14, 14, 14,
+  219, 238, 241, 233, 229, 185, 205, 143, 71, 14, 120, 241, 237, 233, 236, 192,
+  175, 139, 28, 20, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 227, 243,
+  228, 234, 209, 183, 145, 118, 21, 14, 14, 14, 195, 219, 206, 219, 189, 199,
+  178, 132, 116, 14, 18, 14, 14, 14, 14, 14, 14, 231, 228, 238, 224, 206,
+  164, 143, 120, 27, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 235, 241,
+  236, 234, 225, 216, 206, 186, 120, 59, 14, 14, 14, 14, 14, 14, 14, 15,
+  14, 14, 14, 24, 15, 14, 14, 14, 14, 14, 14, 14, 15, 185, 245, 238,
+  236, 225, 193, 169, 128, 65, 14, 14, 14, 14, 14, 14, 14, 24, 31, 239,
+  239, 240, 225, 208, 175, 154, 104, 16, 14, 14, 182, 225, 224, 225, 206, 176,
+  155, 85, 14, 15, 14, 14, 14, 14, 16, 14, 14, 19, 14, 215, 251, 243,
+  245, 230, 200, 186, 122, 36, 14, 194, 242, 242, 236, 215, 183, 157, 84, 20,
+  14, 14, 14, 14, 14, 14, 14, 14, 16, 16, 183, 240, 238, 240, 203, 178,
+  155, 124, 40, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  14, 14, 21, 55, 181, 231, 231, 233, 230, 233, 202, 162, 122, 39, 14, 31,
+  240, 241, 243, 234, 216, 203, 155, 81, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 16, 14, 14, 17, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 18, 197, 234, 239, 230, 225, 221, 220, 218, 210, 185, 147, 113,
+  75, 34, 15, 14, 14, 14, 14, 15, 14, 14, 231, 234, 241, 218, 200, 176,
+  137, 57, 15, 14, 14, 14, 14, 14, 14, 14, 16, 14, 31, 231, 246, 237,
+  235, 194, 179, 150, 102, 21, 14, 14, 141, 251, 243, 240, 226, 208, 182, 150,
+  114, 32, 14, 15, 16, 16, 14, 14, 14, 22, 215, 239, 234, 234, 217, 193,
+  161, 118, 43, 14, 14, 14, 14, 14, 34, 238, 245, 237, 221, 214, 195, 150,
+  126, 63, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 203, 238,
+  235, 229, 219, 219, 219, 220, 218, 220, 217, 215, 203, 178, 134, 116, 55, 14,
+  15, 15, 16, 14, 193, 234, 230, 220, 211, 215, 219, 221, 225, 234, 239, 238,
+  230, 195, 170, 114, 82, 15, 14, 14, 14, 14, 15, 152, 243, 244, 240, 232,
+  207, 186, 134, 54, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  26, 15, 14, 14, 14, 16, 16, 14, 14, 44, 224, 233, 230, 217, 195, 176,
+  120, 53, 14, 14, 14, 14, 14, 14, 14, 14, 14, 203, 244, 246, 244, 232,
+  222, 176, 154, 102, 18, 16, 14, 14, 14, 124, 243, 239, 238, 216, 215, 173,
+  161, 128, 16, 14, 18, 15, 14, 14, 14, 14, 14, 76, 243, 242, 240, 228,
+  220, 189, 185, 128, 43, 14, 104, 239, 242, 236, 231, 190, 195, 148, 23, 15,
+  20, 15, 14, 14, 15, 14, 14, 14, 14, 87, 239, 243, 234, 230, 199, 167,
+  145, 69, 16, 14, 14, 19, 207, 221, 217, 226, 202, 198, 172, 132, 98, 14,
+  15, 14, 15, 14, 14, 17, 53, 237, 238, 244, 228, 205, 159, 124, 89, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 32, 239, 243, 241, 231, 232, 229,
+  208, 189, 137, 53, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 18, 14, 16, 14, 14, 14, 14, 26, 222, 243, 242, 236, 219, 181, 161,
+  128, 36, 14, 14, 14, 14, 14, 14, 18, 19, 100, 246, 242, 242, 225, 209,
+  173, 134, 78, 14, 14, 14, 186, 226, 226, 225, 202, 175, 137, 76, 14, 18,
+  14, 14, 14, 14, 14, 14, 14, 14, 20, 250, 250, 240, 243, 213, 189, 176,
+  92, 24, 14, 186, 240, 234, 224, 210, 178, 136, 69, 20, 14, 14, 15, 15,
+  14, 14, 14, 14, 16, 26, 239, 243, 239, 237, 185, 173, 155, 95, 19, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 15,
+  139, 234, 225, 227, 226, 225, 188, 159, 122, 33, 19, 92, 240, 242, 243, 235,
+  218, 204, 154, 75, 14, 14, 14, 14, 14, 14, 14, 14, 19, 17, 14, 14,
+  14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16,
+  120, 238, 230, 234, 228, 225, 223, 217, 202, 161, 126, 105, 38, 21, 14, 14,
+  15, 14, 14, 14, 14, 14, 232, 235, 239, 215, 195, 176, 132, 42, 14, 14,
+  14, 14, 14, 14, 14, 14, 16, 14, 111, 246, 248, 238, 231, 176, 165, 143,
+  76, 14, 14, 14, 204, 249, 238, 236, 218, 197, 176, 134, 60, 14, 14, 14,
+  14, 15, 14, 18, 16, 78, 228, 240, 235, 228, 217, 183, 159, 111, 21, 16,
+  15, 14, 14, 15, 97, 243, 243, 234, 221, 207, 183, 145, 118, 37, 19, 16,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 203, 240, 239, 232, 225, 224,
+  222, 220, 220, 221, 217, 216, 181, 175, 111, 78, 25, 14, 14, 14, 15, 14,
+  195, 238, 234, 225, 217, 220, 222, 221, 225, 232, 234, 234, 224, 175, 159, 100,
+  50, 14, 14, 14, 14, 14, 15, 193, 241, 243, 242, 236, 233, 203, 150, 65,
+  21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 27, 19,
+  14, 14, 15, 14, 14, 113, 232, 234, 232, 211, 202, 183, 147, 63, 19, 14,
+  14, 14, 14, 14, 14, 14, 14, 242, 246, 246, 244, 232, 211, 169, 143, 78,
+  14, 14, 14, 14, 14, 198, 243, 238, 236, 217, 214, 189, 139, 85, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 183, 241, 238, 242, 234, 202, 190, 162, 93,
+  19, 15, 100, 234, 239, 237, 223, 172, 181, 111, 15, 14, 14, 15, 18, 14,
+  14, 14, 14, 14, 14, 217, 242, 238, 234, 214, 183, 159, 136, 29, 16, 14,
+  19, 61, 225, 228, 229, 221, 208, 185, 155, 128, 67, 14, 14, 16, 14, 14,
+  14, 15, 141, 238, 241, 243, 226, 202, 161, 118, 65, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 68, 243, 249, 247, 234, 238, 239, 218, 202, 162, 63,
+  16, 14, 14, 14, 15, 15, 15, 15, 14, 19, 14, 14, 22, 15, 14, 14,
+  14, 14, 14, 15, 44, 240, 244, 246, 239, 218, 175, 155, 118, 15, 15, 14,
+  14, 14, 14, 14, 15, 16, 182, 248, 246, 243, 232, 209, 179, 137, 63, 14,
+  14, 14, 193, 231, 231, 228, 207, 182, 139, 78, 15, 21, 14, 14, 14, 14,
+  14, 21, 14, 14, 148, 249, 244, 249, 238, 197, 183, 164, 63, 14, 15, 189,
+  234, 228, 219, 205, 183, 147, 68, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 165, 249, 246, 239, 222, 208, 148, 137, 65, 18, 15, 14, 18, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 19, 27, 14, 136, 238, 235, 229,
+  223, 217, 183, 164, 120, 25, 16, 137, 243, 245, 245, 240, 226, 211, 169, 93,
+  14, 14, 14, 17, 17, 14, 14, 16, 14, 14, 14, 14, 20, 14, 14, 47,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 55, 234, 224, 239,
+  224, 229, 225, 213, 192, 161, 118, 84, 19, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 236, 238, 242, 217, 200, 182, 124, 32, 14, 21, 14, 14, 14, 14,
+  14, 15, 16, 15, 234, 239, 243, 246, 225, 182, 170, 118, 47, 14, 14, 26,
+  232, 244, 234, 235, 217, 189, 178, 126, 65, 20, 14, 19, 18, 18, 14, 14,
+  15, 152, 242, 242, 237, 232, 221, 182, 155, 111, 15, 16, 15, 16, 15, 14,
+  169, 245, 243, 236, 229, 206, 181, 159, 107, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 15, 207, 243, 244, 238, 232, 232, 232, 230, 229, 227,
+  223, 217, 176, 162, 105, 44, 14, 17, 14, 14, 14, 15, 195, 243, 239, 232,
+  222, 223, 228, 227, 229, 233, 234, 233, 210, 181, 132, 97, 17, 14, 14, 14,
+  16, 14, 18, 216, 239, 244, 243, 240, 219, 193, 143, 61, 15, 14, 14, 14,
+  15, 14, 14, 14, 14, 15, 15, 15, 33, 15, 18, 36, 14, 14, 14, 14,
+  14, 188, 234, 232, 234, 211, 218, 198, 148, 59, 15, 15, 23, 18, 14, 15,
+  16, 18, 45, 250, 240, 242, 245, 243, 210, 170, 139, 59, 14, 14, 14, 14,
+  25, 236, 239, 234, 234, 224, 213, 198, 148, 63, 20, 21, 15, 16, 21, 18,
+  14, 21, 76, 243, 242, 241, 239, 229, 195, 190, 152, 59, 15, 18, 113, 231,
+  232, 239, 221, 175, 170, 90, 15, 19, 14, 14, 15, 14, 14, 14, 14, 19,
+  57, 246, 243, 238, 226, 190, 159, 155, 104, 14, 18, 18, 14, 147, 242, 231,
+  237, 222, 218, 181, 150, 114, 38, 14, 14, 17, 14, 14, 14, 15, 215, 242,
+  243, 240, 224, 198, 170, 124, 56, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 120, 249, 251, 250, 240, 243, 244, 225, 211, 186, 97, 15, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 14, 18, 14, 14, 30, 167, 14, 14, 20, 15,
+  90, 248, 248, 250, 244, 221, 186, 161, 100, 14, 15, 14, 14, 15, 14, 15,
+  16, 18, 234, 251, 250, 246, 235, 206, 181, 124, 45, 14, 15, 14, 199, 237,
+  236, 232, 218, 203, 188, 104, 18, 16, 15, 19, 18, 15, 14, 21, 15, 38,
+  242, 243, 248, 249, 222, 189, 169, 128, 37, 14, 14, 188, 231, 231, 223, 205,
+  188, 169, 78, 14, 15, 19, 15, 14, 14, 14, 14, 14, 23, 249, 249, 247,
+  237, 199, 188, 152, 118, 40, 21, 15, 15, 25, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 29, 15, 198, 239, 241, 232, 225, 215, 178, 150,
+  90, 14, 14, 136, 249, 249, 250, 248, 239, 228, 197, 141, 24, 14, 14, 14,
+  14, 14, 14, 14, 18, 16, 30, 14, 14, 14, 24, 137, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 21, 222, 228, 243, 225, 234, 229, 194,
+  175, 159, 98, 44, 14, 14, 14, 14, 14, 14, 14, 14, 16, 15, 239, 239,
+  245, 228, 217, 197, 176, 43, 16, 21, 15, 15, 16, 16, 18, 19, 18, 124,
+  253, 240, 249, 241, 200, 190, 165, 78, 21, 14, 14, 52, 242, 238, 234, 232,
+  222, 194, 186, 139, 52, 15, 15, 18, 19, 19, 14, 16, 18, 211, 250, 244,
+  239, 240, 227, 185, 148, 104, 15, 15, 14, 16, 14, 14, 220, 247, 246, 239,
+  238, 215, 188, 161, 111, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  18, 16, 215, 248, 248, 246, 242, 241, 242, 240, 238, 237, 228, 206, 176, 126,
+  89, 18, 14, 14, 14, 14, 14, 15, 204, 248, 247, 242, 229, 229, 234, 234,
+  238, 239, 240, 234, 193, 179, 114, 60, 14, 14, 14, 14, 14, 14, 15, 216,
+  237, 243, 243, 242, 243, 233, 203, 128, 24, 16, 15, 15, 15, 15, 15, 15,
+  16, 16, 18, 18, 16, 21, 56, 107, 19, 14, 14, 14, 14, 224, 237, 236,
+  238, 223, 231, 217, 186, 84, 19, 18, 19, 16, 15, 14, 14, 14, 136, 251,
+  248, 250, 245, 240, 216, 176, 134, 46, 14, 14, 14, 15, 76, 251, 240, 237,
+  233, 230, 208, 194, 148, 27, 19, 19, 16, 15, 15, 15, 18, 27, 213, 253,
+  246, 250, 239, 215, 193, 181, 137, 23, 16, 15, 114, 230, 228, 236, 219, 190,
+  197, 118, 25, 16, 19, 14, 14, 14, 16, 17, 15, 14, 202, 252, 247, 246,
+  217, 173, 128, 134, 53, 14, 15, 19, 16, 222, 248, 239, 243, 227, 226, 181,
+  147, 100, 18, 14, 14, 16, 14, 21, 15, 21, 243, 249, 246, 240, 225, 194,
+  173, 124, 44, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 169, 251, 252,
+  253, 248, 249, 250, 243, 236, 218, 175, 20, 18, 16, 16, 16, 16, 16, 15,
+  24, 18, 15, 15, 15, 24, 113, 226, 14, 14, 21, 18, 165, 249, 251, 252,
+  248, 224, 198, 165, 76, 15, 14, 15, 14, 14, 14, 16, 16, 34, 250, 253,
+  254, 250, 239, 206, 178, 107, 28, 15, 18, 15, 197, 239, 240, 240, 231, 226,
+  230, 157, 20, 18, 18, 23, 20, 15, 16, 15, 16, 170, 251, 248, 254, 238,
+  200, 186, 155, 85, 21, 14, 15, 188, 233, 236, 232, 217, 200, 193, 116, 21,
+  14, 14, 15, 15, 14, 14, 14, 14, 165, 254, 252, 249, 236, 199, 147, 173,
+  84, 23, 18, 18, 34, 19, 18, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  39, 15, 16, 50, 246, 246, 246, 232, 229, 207, 165, 137, 71, 14, 21, 137,
+  250, 252, 253, 252, 246, 243, 232, 197, 64, 34, 16, 15, 18, 16, 16, 18,
+  15, 15, 15, 15, 31, 104, 170, 207, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 16, 15, 16, 189, 236, 246, 238, 241, 229, 190, 167, 143, 73, 21,
+  14, 14, 14, 14, 14, 14, 14, 16, 18, 18, 242, 242, 248, 238, 234, 220,
+  227, 90, 19, 18, 16, 15, 19, 15, 21, 20, 20, 244, 250, 252, 253, 216,
+  186, 193, 150, 50, 15, 16, 15, 126, 246, 242, 242, 236, 235, 218, 210, 176,
+  34, 16, 16, 16, 16, 15, 15, 19, 68, 240, 253, 248, 244, 246, 223, 194,
+  154, 82, 23, 15, 14, 16, 14, 27, 244, 250, 250, 241, 243, 217, 185, 150,
+  92, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 18, 224, 251,
+  252, 250, 248, 248, 248, 247, 246, 245, 232, 198, 179, 102, 68, 14, 14, 14,
+  14, 14, 15, 15, 215, 252, 252, 249, 238, 236, 239, 240, 245, 247, 241, 234,
+  195, 161, 107, 24, 14, 14, 15, 14, 14, 14, 15, 194, 244, 247, 248, 247,
+  244, 243, 235, 186, 85, 26, 21, 20, 18, 18, 19, 20, 21, 21, 21, 21,
+  21, 145, 206, 172, 14, 14, 14, 16, 15, 240, 245, 243, 242, 231, 239, 230,
+  217, 143, 48, 21, 21, 21, 18, 16, 15, 26, 214, 252, 253, 253, 246, 236,
+  217, 178, 130, 31, 14, 14, 14, 15, 167, 251, 243, 242, 240, 240, 229, 219,
+  139, 23, 20, 21, 23, 18, 18, 20, 48, 122, 251, 251, 243, 252, 239, 215,
+  195, 161, 109, 16, 24, 15, 116, 231, 237, 238, 217, 207, 219, 165, 49, 15,
+  15, 14, 16, 19, 14, 14, 15, 50, 252, 251, 250, 246, 206, 173, 130, 105,
+  21, 14, 15, 16, 21, 246, 252, 248, 248, 234, 225, 183, 147, 79, 14, 14,
+  14, 14, 14, 19, 16, 68, 250, 252, 250, 242, 224, 190, 169, 107, 29, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 16, 200, 252, 253, 253, 253, 252, 252,
+  251, 250, 247, 240, 217, 217, 217, 219, 221, 222, 223, 223, 210, 229, 231, 220,
+  224, 240, 233, 176, 19, 14, 16, 20, 228, 249, 254, 253, 248, 218, 202, 162,
+  50, 16, 14, 18, 14, 14, 14, 16, 18, 102, 255, 254, 255, 250, 240, 202,
+  175, 105, 20, 15, 16, 16, 197, 242, 244, 245, 239, 237, 238, 221, 107, 55,
+  20, 19, 19, 18, 18, 21, 113, 244, 253, 250, 252, 215, 185, 183, 120, 46,
+  15, 14, 14, 181, 236, 243, 240, 233, 225, 219, 185, 116, 20, 15, 15, 18,
+  15, 14, 19, 73, 250, 254, 254, 249, 217, 188, 155, 139, 47, 19, 18, 53,
+  145, 20, 23, 18, 14, 14, 14, 14, 14, 15, 16, 16, 18, 18, 24, 178,
+  254, 250, 252, 243, 227, 189, 162, 130, 56, 16, 27, 97, 252, 253, 254, 254,
+  250, 248, 247, 237, 241, 226, 214, 220, 224, 219, 219, 227, 224, 229, 220, 229,
+  242, 246, 229, 128, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 21, 15,
+  18, 155, 246, 247, 248, 242, 224, 194, 167, 104, 47, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 18, 18, 243, 243, 250, 243, 243, 238, 235, 186, 92, 32,
+  18, 18, 18, 18, 20, 40, 154, 254, 250, 254, 247, 193, 181, 178, 97, 21,
+  16, 19, 15, 204, 251, 249, 250, 241, 248, 238, 234, 221, 95, 31, 29, 23,
+  19, 19, 19, 21, 211, 253, 254, 252, 249, 249, 206, 204, 161, 53, 31, 15,
+  21, 14, 14, 85, 253, 253, 253, 243, 244, 217, 190, 152, 54, 27, 14, 14,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 15, 19, 18, 230, 253, 253, 252, 251, 252,
+  252, 251, 251, 250, 232, 204, 172, 98, 37, 14, 14, 14, 14, 14, 15, 15,
+  221, 254, 254, 253, 247, 244, 244, 246, 249, 250, 240, 217, 193, 137, 64, 14,
+  19, 14, 14, 14, 14, 15, 18, 173, 249, 251, 252, 251, 251, 251, 252, 251,
+  240, 229, 227, 223, 219, 221, 222, 227, 230, 232, 229, 229, 250, 251, 224, 71,
+  14, 14, 19, 14, 20, 244, 250, 250, 246, 246, 247, 243, 251, 243, 225, 210,
+  218, 226, 225, 222, 215, 209, 249, 251, 252, 250, 250, 248, 210, 172, 116, 19,
+  14, 14, 14, 16, 232, 250, 249, 249, 246, 248, 243, 240, 206, 150, 175, 154,
+  167, 154, 150, 161, 246, 252, 255, 254, 248, 250, 218, 204, 190, 136, 64, 16,
+  24, 16, 97, 235, 245, 245, 236, 229, 229, 207, 139, 34, 18, 16, 21, 21,
+  15, 15, 69, 200, 255, 253, 250, 229, 189, 162, 136, 52, 14, 14, 15, 18,
+  114, 254, 254, 254, 251, 243, 217, 188, 150, 60, 14, 14, 14, 14, 14, 14,
+  18, 169, 254, 253, 252, 243, 229, 190, 170, 97, 18, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 222, 253, 254, 252, 253, 252, 251, 253, 253, 252, 252,
+  251, 251, 251, 252, 253, 253, 253, 253, 254, 253, 254, 253, 250, 252, 242, 167,
+  24, 15, 15, 20, 246, 250, 255, 252, 242, 209, 199, 152, 23, 19, 15, 16,
+  18, 19, 14, 16, 21, 150, 255, 254, 254, 247, 234, 193, 173, 95, 16, 15,
+  16, 16, 194, 241, 245, 246, 244, 244, 229, 251, 232, 165, 27, 20, 21, 26,
+  21, 122, 246, 254, 255, 246, 232, 199, 165, 173, 82, 15, 14, 14, 14, 159,
+  242, 244, 246, 245, 239, 237, 236, 226, 143, 34, 18, 23, 20, 18, 109, 246,
+  255, 253, 253, 240, 182, 147, 193, 63, 19, 21, 19, 136, 240, 21, 36, 20,
+  16, 15, 16, 16, 18, 18, 19, 20, 20, 145, 199, 255, 255, 252, 253, 246,
+  227, 182, 165, 130, 43, 14, 15, 21, 252, 253, 255, 254, 250, 250, 251, 249,
+  248, 246, 249, 253, 254, 253, 253, 254, 254, 254, 250, 253, 248, 229, 211, 109,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 26, 16, 21, 126, 251, 250,
+  250, 234, 206, 192, 152, 72, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 18, 239, 242, 250, 246, 247, 243, 230, 246, 219, 87, 20, 19, 20, 19,
+  21, 189, 255, 252, 255, 253, 206, 188, 172, 148, 50, 16, 16, 16, 14, 229,
+  254, 254, 254, 245, 252, 249, 247, 244, 252, 232, 234, 234, 232, 242, 248, 254,
+  255, 255, 254, 254, 252, 248, 192, 210, 157, 20, 23, 15, 24, 15, 14, 148,
+  255, 253, 254, 243, 245, 220, 192, 152, 16, 23, 14, 14, 16, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 18, 18, 234, 254, 254, 253, 253, 253, 253, 253, 252, 251,
+  222, 202, 152, 92, 14, 14, 14, 14, 14, 14, 15, 16, 226, 255, 255, 254,
+  251, 249, 247, 249, 251, 250, 236, 202, 181, 114, 18, 14, 14, 14, 14, 14,
+  14, 14, 15, 143, 250, 250, 253, 250, 253, 251, 251, 252, 252, 253, 254, 252,
+  252, 252, 253, 253, 254, 254, 254, 253, 246, 229, 173, 19, 19, 14, 21, 14,
+  21, 246, 252, 253, 250, 251, 251, 250, 246, 251, 253, 253, 253, 253, 251, 246,
+  226, 240, 249, 255, 255, 252, 250, 240, 204, 161, 97, 14, 14, 15, 16, 18,
+  254, 252, 254, 254, 247, 248, 246, 244, 249, 245, 255, 248, 253, 253, 253, 253,
+  254, 255, 251, 254, 252, 247, 204, 198, 165, 105, 21, 16, 15, 15, 68, 233,
+  243, 249, 248, 245, 238, 242, 240, 185, 82, 21, 19, 19, 27, 75, 195, 255,
+  255, 255, 250, 193, 165, 130, 107, 14, 16, 14, 18, 19, 199, 255, 255, 255,
+  253, 249, 214, 190, 154, 50, 14, 14, 14, 14, 14, 15, 21, 233, 255, 255,
+  253, 243, 231, 192, 170, 98, 15, 16, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 228, 254, 253, 250, 251, 252, 252, 253, 253, 254, 254, 254, 254, 255, 255,
+  254, 255, 255, 254, 255, 252, 252, 255, 252, 243, 222, 122, 16, 15, 15, 85,
+  248, 255, 251, 253, 230, 221, 181, 132, 18, 26, 15, 18, 27, 14, 22, 15,
+  18, 240, 254, 254, 254, 250, 205, 214, 162, 73, 20, 15, 16, 21, 92, 241,
+  238, 249, 245, 252, 247, 244, 244, 246, 245, 238, 236, 236, 253, 254, 254, 254,
+  250, 238, 195, 162, 170, 78, 20, 14, 14, 14, 19, 63, 245, 250, 250, 249,
+  250, 249, 245, 238, 246, 240, 230, 222, 238, 251, 253, 253, 253, 255, 243, 179,
+  148, 155, 89, 19, 18, 32, 19, 225, 251, 242, 242, 238, 229, 225, 226, 227,
+  231, 229, 232, 229, 255, 255, 255, 255, 255, 255, 253, 243, 189, 190, 159, 68,
+  19, 14, 15, 19, 249, 249, 252, 250, 255, 250, 249, 248, 254, 255, 255, 255,
+  255, 255, 255, 254, 255, 253, 254, 251, 234, 244, 203, 20, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 18, 16, 18, 42, 246, 254, 253, 253, 225, 195, 178,
+  100, 24, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 24, 21, 157, 249,
+  248, 248, 253, 243, 245, 242, 242, 243, 242, 238, 238, 240, 255, 255, 255, 255,
+  249, 225, 183, 150, 157, 75, 16, 18, 18, 18, 15, 250, 254, 255, 255, 253,
+  252, 252, 253, 251, 251, 253, 253, 253, 255, 255, 254, 255, 255, 255, 254, 253,
+  250, 238, 207, 183, 111, 18, 18, 16, 25, 15, 15, 220, 255, 255, 253, 252,
+  238, 193, 181, 139, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 16, 15,
+  16, 18, 233, 252, 253, 252, 251, 250, 253, 254, 253, 245, 215, 205, 145, 45,
+  14, 14, 14, 14, 14, 14, 14, 16, 236, 255, 255, 255, 253, 251, 251, 252,
+  251, 245, 220, 192, 159, 75, 19, 14, 15, 14, 14, 14, 14, 14, 20, 71,
+  252, 251, 247, 250, 250, 252, 252, 251, 251, 251, 252, 253, 253, 254, 254, 253,
+  253, 254, 253, 247, 227, 229, 122, 16, 14, 16, 14, 14, 19, 253, 248, 255,
+  252, 251, 252, 253, 250, 252, 253, 252, 251, 250, 246, 233, 220, 179, 254, 254,
+  253, 253, 251, 229, 193, 154, 90, 14, 15, 15, 18, 111, 255, 255, 255, 254,
+  253, 250, 249, 250, 251, 250, 251, 252, 252, 253, 254, 254, 255, 255, 254, 251,
+  245, 231, 193, 162, 141, 29, 20, 15, 20, 15, 14, 233, 246, 252, 252, 250,
+  248, 247, 247, 243, 245, 240, 236, 239, 249, 254, 254, 254, 255, 250, 210, 179,
+  155, 107, 40, 14, 14, 14, 29, 19, 239, 255, 255, 255, 254, 249, 210, 197,
+  132, 14, 14, 14, 14, 14, 14, 15, 34, 253, 255, 255, 253, 250, 203, 210,
+  178, 56, 27, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 213, 246, 240,
+  247, 247, 248, 249, 250, 250, 249, 249, 252, 253, 253, 253, 252, 253, 252, 250,
+  250, 251, 250, 249, 222, 219, 219, 126, 24, 19, 18, 136, 248, 254, 248, 247,
+  204, 188, 170, 89, 21, 21, 15, 18, 14, 14, 21, 29, 19, 248, 251, 253,
+  246, 236, 189, 192, 136, 46, 15, 16, 28, 15, 34, 217, 244, 244, 213, 226,
+  247, 245, 245, 247, 250, 250, 252, 254, 254, 254, 251, 242, 207, 179, 167, 165,
+  90, 40, 15, 15, 14, 14, 14, 32, 240, 251, 250, 243, 239, 247, 249, 247,
+  245, 247, 247, 247, 251, 254, 255, 253, 246, 221, 185, 175, 165, 105, 45, 16,
+  16, 21, 21, 236, 253, 251, 253, 254, 254, 253, 253, 254, 254, 254, 254, 254,
+  253, 254, 254, 254, 255, 253, 249, 224, 188, 157, 102, 41, 14, 14, 15, 18,
+  190, 242, 250, 250, 250, 251, 248, 250, 251, 253, 253, 253, 253, 253, 252, 251,
+  249, 243, 246, 229, 199, 209, 175, 24, 15, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 15, 18, 24, 190, 250, 255, 254, 243, 213, 189, 150, 68, 16, 15, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 18, 100, 238, 243, 231, 238, 229,
+  246, 243, 243, 245, 248, 250, 253, 255, 254, 254, 253, 242, 198, 167, 159, 165,
+  65, 31, 15, 15, 15, 15, 15, 249, 255, 255, 255, 254, 253, 252, 251, 247,
+  249, 252, 251, 251, 253, 253, 252, 253, 254, 254, 254, 252, 248, 226, 190, 155,
+  116, 18, 16, 16, 21, 15, 23, 245, 255, 255, 253, 250, 233, 190, 172, 111,
+  16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 19, 15, 16, 21, 225, 246,
+  250, 250, 249, 248, 251, 252, 248, 229, 202, 176, 98, 24, 14, 14, 14, 14,
+  14, 14, 15, 16, 217, 253, 255, 255, 252, 251, 251, 248, 242, 217, 189, 157,
+  116, 55, 15, 14, 14, 14, 14, 14, 16, 14, 15, 31, 226, 244, 247, 243,
+  245, 247, 248, 248, 248, 248, 250, 252, 251, 254, 254, 253, 253, 252, 244, 217,
+  179, 188, 105, 18, 14, 14, 14, 18, 20, 250, 252, 252, 245, 245, 248, 247,
+  245, 250, 251, 248, 246, 238, 207, 175, 134, 209, 254, 255, 253, 250, 250, 202,
+  173, 132, 42, 14, 15, 16, 20, 185, 255, 255, 255, 254, 252, 249, 248, 247,
+  249, 248, 248, 248, 250, 250, 251, 252, 254, 254, 251, 238, 210, 192, 172, 154,
+  68, 19, 19, 15, 21, 18, 14, 139, 246, 249, 248, 247, 250, 252, 250, 245,
+  251, 251, 251, 252, 253, 254, 254, 253, 243, 208, 189, 185, 132, 42, 14, 16,
+  18, 14, 19, 31, 243, 254, 254, 254, 252, 242, 199, 182, 116, 14, 15, 14,
+  14, 14, 14, 15, 73, 253, 254, 255, 251, 247, 193, 185, 126, 16, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 21, 170, 236, 236, 220, 217, 218, 229,
+  243, 246, 247, 247, 249, 251, 251, 249, 248, 248, 247, 243, 240, 248, 243, 217,
+  192, 198, 194, 65, 16, 14, 15, 186, 248, 252, 243, 234, 204, 173, 179, 48,
+  21, 15, 20, 14, 16, 16, 14, 15, 20, 243, 246, 249, 243, 231, 198, 183,
+  128, 20, 15, 16, 18, 14, 16, 92, 213, 239, 220, 205, 197, 207, 227, 248,
+  252, 251, 250, 249, 243, 236, 224, 205, 189, 162, 124, 95, 24, 16, 14, 14,
+  14, 14, 14, 14, 114, 208, 245, 236, 210, 213, 220, 217, 243, 248, 249, 247,
+  246, 243, 238, 223, 222, 179, 152, 150, 102, 36, 15, 15, 15, 16, 69, 245,
+  252, 253, 254, 255, 251, 250, 250, 251, 251, 251, 251, 251, 253, 253, 252, 248,
+  238, 222, 208, 186, 175, 107, 48, 21, 14, 14, 14, 18, 126, 227, 240, 226,
+  194, 227, 227, 243, 248, 252, 251, 251, 250, 250, 248, 246, 245, 236, 225, 204,
+  183, 178, 120, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 18, 93,
+  250, 254, 255, 251, 209, 197, 170, 104, 26, 15, 15, 18, 14, 14, 14, 14,
+  14, 14, 14, 14, 22, 15, 31, 145, 222, 234, 225, 210, 208, 213, 232, 246,
+  250, 250, 249, 247, 242, 238, 224, 202, 175, 143, 105, 85, 15, 15, 14, 14,
+  14, 16, 18, 238, 248, 252, 250, 246, 248, 249, 249, 246, 249, 249, 246, 234,
+  233, 218, 206, 208, 249, 247, 246, 240, 228, 202, 170, 132, 45, 15, 26, 15,
+  15, 24, 57, 242, 251, 252, 243, 233, 204, 176, 147, 69, 16, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 19, 14, 15, 26, 214, 241, 246, 244, 242, 239,
+  243, 243, 230, 211, 188, 128, 55, 16, 14, 14, 14, 14, 14, 14, 15, 15,
+  198, 250, 250, 244, 246, 246, 246, 243, 232, 204, 179, 157, 69, 32, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 16, 165, 230, 244, 220, 226, 230, 234, 235,
+  235, 234, 238, 240, 239, 246, 246, 244, 240, 228, 206, 176, 154, 141, 64, 14,
+  14, 14, 14, 16, 18, 205, 249, 244, 239, 240, 246, 242, 239, 239, 228, 217,
+  211, 202, 179, 139, 21, 237, 250, 253, 247, 242, 249, 189, 182, 148, 21, 21,
+  16, 18, 18, 234, 255, 255, 255, 252, 249, 246, 240, 234, 220, 217, 218, 218,
+  222, 221, 224, 226, 238, 235, 219, 199, 183, 159, 126, 92, 18, 15, 15, 14,
+  15, 18, 14, 34, 234, 245, 244, 228, 214, 217, 236, 246, 246, 248, 247, 246,
+  243, 239, 230, 214, 198, 189, 167, 116, 53, 20, 14, 14, 14, 14, 15, 98,
+  251, 252, 251, 251, 249, 233, 195, 164, 93, 14, 14, 14, 14, 14, 14, 15,
+  150, 254, 255, 253, 242, 238, 192, 186, 118, 16, 15, 26, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 78, 181, 217, 209, 206, 199, 195, 198, 200, 202, 203,
+  208, 215, 215, 209, 206, 207, 203, 198, 182, 193, 181, 175, 175, 185, 155, 26,
+  15, 14, 14, 214, 235, 226, 195, 162, 169, 141, 152, 23, 15, 14, 19, 14,
+  14, 14, 19, 14, 107, 245, 239, 199, 173, 159, 152, 137, 111, 15, 15, 14,
+  14, 14, 14, 15, 97, 170, 202, 209, 206, 205, 199, 198, 197, 193, 195, 195,
+  200, 185, 172, 169, 155, 116, 57, 21, 14, 14, 14, 14, 14, 14, 14, 14,
+  20, 109, 192, 215, 214, 213, 204, 190, 183, 190, 195, 193, 198, 199, 195, 179,
+  173, 143, 105, 57, 28, 14, 14, 19, 18, 16, 100, 239, 234, 226, 203, 200,
+  224, 221, 222, 222, 221, 219, 217, 214, 206, 206, 203, 197, 194, 194, 190, 175,
+  120, 59, 21, 14, 14, 14, 14, 18, 23, 152, 217, 225, 198, 205, 182, 181,
+  210, 219, 217, 214, 209, 210, 204, 199, 195, 188, 169, 164, 175, 150, 75, 18,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 19, 18, 21, 194, 250, 255, 250, 236,
+  192, 169, 130, 56, 16, 15, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  21, 16, 15, 29, 114, 199, 213, 195, 193, 189, 186, 188, 192, 194, 202, 206,
+  199, 188, 172, 157, 139, 95, 45, 14, 14, 14, 15, 15, 14, 21, 14, 175,
+  237, 243, 233, 214, 202, 199, 199, 199, 190, 198, 195, 192, 194, 181, 169, 172,
+  239, 234, 217, 199, 186, 175, 155, 143, 21, 14, 24, 14, 15, 37, 87, 238,
+  238, 238, 207, 193, 175, 161, 139, 59, 15, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 14, 15, 21, 179, 240, 204, 199, 189, 185, 186, 186, 176, 157,
+  178, 89, 27, 15, 14, 14, 14, 14, 14, 14, 14, 15, 176, 245, 238, 206,
+  198, 199, 195, 194, 182, 164, 139, 118, 32, 18, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 78, 170, 229, 207, 194, 198, 198, 198, 188, 189, 188, 190,
+  200, 205, 202, 192, 185, 182, 167, 145, 165, 102, 23, 14, 15, 16, 14, 14,
+  15, 109, 221, 217, 221, 203, 193, 182, 203, 195, 185, 175, 167, 154, 116, 81,
+  18, 244, 242, 234, 205, 192, 195, 139, 143, 128, 14, 14, 15, 16, 26, 250,
+  255, 255, 253, 249, 242, 232, 216, 202, 186, 185, 183, 185, 186, 186, 189, 193,
+  202, 198, 186, 179, 170, 137, 65, 23, 14, 14, 14, 14, 14, 14, 17, 15,
+  79, 161, 215, 232, 217, 202, 197, 197, 192, 195, 197, 197, 198, 203, 198, 190,
+  164, 137, 79, 31, 15, 16, 18, 14, 14, 14, 15, 137, 244, 234, 211, 200,
+  202, 189, 172, 145, 95, 14, 18, 14, 14, 14, 16, 16, 170, 244, 234, 209,
+  183, 181, 159, 172, 116, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 18, 64, 102, 164, 170, 175, 172, 167, 164, 167, 173, 175, 182, 182, 173,
+  170, 175, 170, 164, 155, 157, 141, 152, 148, 116, 73, 18, 14, 14, 15, 203,
+  207, 190, 183, 148, 167, 159, 157, 57, 15, 14, 14, 14, 14, 14, 19, 14,
+  122, 230, 219, 178, 161, 154, 152, 145, 130, 27, 15, 14, 16, 14, 14, 14,
+  36, 24, 78, 148, 169, 172, 173, 170, 170, 167, 167, 161, 155, 148, 118, 82,
+  48, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 19, 20, 32, 84,
+  150, 173, 169, 159, 164, 159, 159, 159, 164, 164, 154, 126, 82, 54, 27, 15,
+  14, 18, 16, 14, 14, 14, 84, 203, 197, 206, 185, 176, 182, 179, 178, 179,
+  173, 175, 170, 165, 165, 164, 157, 157, 162, 161, 145, 114, 49, 19, 14, 14,
+  14, 14, 14, 14, 15, 48, 130, 150, 179, 169, 162, 162, 181, 194, 190, 183,
+  176, 179, 173, 162, 159, 161, 136, 122, 122, 72, 26, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 16, 18, 113, 242, 248, 254, 245, 209, 182, 124, 69, 21,
+  15, 14, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 16, 15,
+  20, 64, 111, 145, 175, 173, 172, 164, 165, 162, 165, 162, 143, 132, 105, 71,
+  39, 17, 14, 14, 14, 14, 14, 14, 14, 18, 14, 57, 175, 202, 207, 195,
+  179, 170, 170, 167, 152, 165, 165, 159, 164, 145, 120, 124, 199, 188, 170, 150,
+  139, 139, 137, 137, 61, 14, 14, 16, 15, 14, 64, 231, 195, 192, 162, 148,
+  137, 139, 136, 69, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 16,
+  14, 15, 100, 200, 189, 176, 162, 161, 157, 157, 155, 147, 126, 55, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 15, 107, 205, 198, 185, 186, 181, 170, 167,
+  161, 147, 114, 92, 18, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14,
+  19, 60, 150, 169, 165, 170, 175, 169, 157, 154, 150, 154, 175, 179, 172, 164,
+  165, 164, 159, 147, 107, 56, 14, 14, 16, 15, 14, 14, 14, 21, 113, 147,
+  198, 175, 162, 155, 157, 162, 164, 164, 152, 109, 56, 19, 20, 208, 210, 186,
+  179, 183, 155, 162, 145, 147, 45, 14, 21, 18, 84, 252, 254, 254, 252, 244,
+  228, 210, 175, 134, 139, 137, 137, 141, 148, 150, 154, 159, 170, 167, 150, 130,
+  102, 67, 27, 14, 14, 14, 14, 14, 14, 14, 20, 14, 18, 31, 75, 124,
+  170, 185, 175, 154, 173, 170, 164, 159, 157, 155, 141, 107, 82, 32, 14, 14,
+  14, 14, 14, 28, 15, 21, 15, 109, 204, 202, 186, 167, 157, 154, 159, 139,
+  95, 21, 14, 14, 14, 14, 18, 19, 165, 219, 204, 178, 170, 162, 150, 175,
+  152, 48, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 19,
+  38, 60, 81, 100, 97, 97, 102, 105, 100, 109, 105, 98, 98, 102, 102, 97,
+  98, 104, 85, 90, 67, 31, 19, 15, 14, 14, 14, 104, 109, 114, 124, 116,
+  113, 118, 122, 75, 19, 18, 14, 14, 14, 16, 14, 14, 21, 113, 105, 130,
+  124, 128, 111, 116, 107, 36, 19, 14, 14, 14, 16, 14, 16, 15, 20, 24,
+  23, 50, 82, 111, 126, 120, 98, 78, 71, 55, 35, 16, 14, 14, 14, 14,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 24, 33, 47, 69,
+  111, 102, 92, 89, 82, 68, 47, 29, 26, 15, 15, 14, 14, 14, 14, 14,
+  14, 14, 36, 95, 113, 137, 141, 139, 134, 132, 130, 130, 134, 128, 122, 120,
+  109, 109, 102, 90, 82, 68, 41, 19, 16, 14, 14, 14, 14, 14, 14, 14,
+  16, 15, 21, 19, 63, 53, 76, 102, 109, 126, 120, 111, 105, 107, 105, 92,
+  85, 100, 89, 64, 40, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  16, 21, 213, 244, 249, 249, 234, 185, 165, 78, 29, 14, 14, 16, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 16, 42,
+  54, 72, 100, 118, 120, 107, 84, 63, 64, 47, 28, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 14, 18, 36, 69, 102, 114, 109, 102, 102, 98,
+  93, 104, 95, 81, 76, 55, 36, 34, 132, 128, 118, 109, 109, 105, 102, 100,
+  52, 15, 14, 15, 14, 14, 21, 113, 150, 141, 113, 114, 107, 116, 132, 81,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 19, 15, 14, 34, 97,
+  128, 111, 100, 98, 93, 92, 95, 98, 56, 25, 14, 14, 14, 14, 14, 14,
+  14, 14, 18, 14, 30, 71, 89, 114, 132, 122, 105, 105, 109, 102, 81, 64,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 15, 40, 57,
+  87, 93, 92, 95, 89, 82, 82, 84, 90, 95, 100, 100, 100, 95, 85, 79,
+  27, 16, 14, 14, 14, 14, 14, 14, 14, 14, 27, 48, 114, 93, 100, 109,
+  90, 87, 89, 87, 82, 55, 26, 14, 14, 76, 105, 95, 122, 134, 98, 130,
+  105, 105, 64, 15, 21, 18, 159, 250, 253, 253, 248, 230, 210, 176, 113, 60,
+  57, 54, 54, 56, 60, 61, 63, 69, 72, 85, 78, 48, 20, 14, 14, 14,
+  14, 14, 14, 15, 14, 14, 15, 14, 18, 16, 15, 15, 26, 52, 81, 98,
+  105, 105, 90, 79, 69, 55, 32, 15, 14, 14, 14, 14, 14, 14, 15, 15,
+  15, 15, 15, 42, 93, 122, 124, 109, 136, 128, 150, 128, 105, 39, 25, 15,
+  15, 15, 15, 15, 90, 126, 137, 122, 116, 102, 93, 107, 111, 56, 23, 17,
+  14, 14, 14, 14, 14, 14, 14, 14, 18, 21, 15, 15, 15, 16, 19, 21,
+  19, 15, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 16, 14, 18,
+  17, 14, 14, 17, 16, 14, 14, 20, 15, 16, 18, 18, 18, 18, 27, 28,
+  14, 17, 14, 14, 14, 14, 14, 19, 14, 29, 18, 21, 18, 19, 18, 20,
+  24, 16, 14, 14, 14, 14, 18, 14, 14, 20, 23, 15, 16, 18, 18, 18,
+  18, 16, 16, 15, 15, 14, 14, 14, 14, 19, 18, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 18, 15, 14, 14, 14, 21, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 15, 19, 22, 14, 14, 14, 14, 14, 14, 14, 19,
+  21, 18, 20, 20, 19, 18, 18, 18, 18, 16, 15, 15, 14, 15, 16, 15,
+  16, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 15, 15,
+  21, 14, 14, 14, 15, 19, 18, 15, 15, 16, 15, 14, 14, 14, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 20, 105, 235, 239,
+  246, 218, 209, 172, 122, 38, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 14, 18, 21, 14, 15, 15, 16, 16, 16, 15,
+  15, 19, 23, 19, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 14, 14, 14, 14, 20, 20, 16, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 18, 14,
+  14, 14, 15, 15, 16, 15, 15, 15, 15, 14, 22, 14, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 24, 18, 16, 15, 15,
+  15, 15, 14, 16, 18, 14, 14, 14, 14, 14, 14, 15, 15, 15, 20, 14,
+  14, 15, 19, 36, 19, 16, 16, 15, 19, 19, 16, 14, 14, 14, 14, 14,
+  14, 15, 14, 14, 14, 14, 15, 19, 16, 15, 18, 18, 18, 18, 19, 19,
+  16, 15, 16, 16, 14, 16, 20, 21, 21, 16, 15, 15, 15, 14, 14, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 23, 14, 15, 15, 27, 18, 15, 14,
+  14, 14, 14, 14, 14, 21, 31, 21, 27, 20, 19, 18, 15, 14, 21, 14,
+  16, 21, 213, 250, 250, 250, 242, 213, 189, 145, 71, 21, 15, 15, 15, 15,
+  16, 16, 16, 18, 18, 21, 20, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 17, 14, 14, 14, 14, 14, 14, 14, 16, 16,
+  20, 20, 14, 14, 14, 14, 16, 14, 14, 18, 16, 15, 21, 15, 15, 15,
+  14, 16, 14, 14, 14, 14, 15, 15, 24, 15, 15, 15, 23, 16, 15, 15,
+  15, 14, 18, 14, 15, 14, 14, 14, 19, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 19, 15, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 17, 14, 14, 16, 14, 14, 14,
+  14, 14, 15, 14, 14, 19, 16, 16, 23, 15, 16, 16, 14, 14, 14, 14,
+  16, 14, 15, 14, 21, 15, 20, 16, 16, 33, 15, 15, 14, 16, 14, 14,
+  16, 14, 14, 17, 14, 14, 15, 15, 14, 16, 18, 15, 15, 19, 17, 15,
+  14, 15, 19, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  14, 14, 14, 14, 14, 18, 14, 14, 14, 14, 14, 14, 14, 14, 15, 19,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 16, 15, 19, 18,
+  16, 15, 15, 15, 15, 15, 14, 14, 14, 15, 14, 14, 14, 14, 14, 16,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 22, 14, 14, 14, 18, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 16, 16, 60, 227, 232, 240, 232, 203, 170, 169,
+  81, 18, 14, 19, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 20, 15, 14, 18, 16, 14, 14, 14, 14, 14,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14,
+  15, 14, 14, 14, 14, 14, 15, 14, 14, 15, 14, 14, 14, 14, 14, 15,
+  15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 16,
+  14, 14, 14, 22, 14, 14, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 24, 14, 14, 14, 14, 14, 16, 16, 14, 14, 14,
+  14, 14, 14, 17, 15, 14, 14, 15, 15, 15, 14, 16, 15, 18, 14, 14,
+  14, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 16, 14,
+  14, 14, 14, 14, 14, 21, 16, 16, 15, 15, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 22, 14, 14, 14, 14, 14, 14, 14,
+  14, 21, 14, 14, 16, 14, 14, 18, 14, 14, 14, 14, 14, 14, 14, 15,
+  16, 14, 14, 15, 21, 16, 31, 15, 21, 14, 22, 20, 18, 31, 229, 243,
+  245, 244, 226, 202, 170, 130, 57, 15, 15, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14,
+  14, 14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15,
+  14, 14, 14, 14, 14, 14, 14, 21, 19, 14, 27, 14, 14, 16, 14, 14,
+  21, 14, 18, 14, 19, 15, 18, 22, 15, 15, 16, 24, 14, 14, 15, 14,
+  14, 15, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 16, 15, 14, 14, 14, 14, 14, 14, 14,
+  14, 16, 18, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 15, 16, 16, 16,
+  15, 15, 15, 15, 16, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 18, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 15, 18, 21, 173, 229, 238, 215, 202, 172, 143, 134, 39, 21, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 14, 16, 14, 18, 17, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 17, 18, 18, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 19, 15, 16, 19, 97, 242, 241, 246, 233, 220, 175,
+  155, 122, 32, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  17, 14, 14, 14, 14, 15, 14, 14, 14, 14, 15, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  18, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 21, 71,
+  198, 230, 224, 192, 178, 178, 143, 97, 19, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 17, 16, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  18, 18, 16, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 15,
+  14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  17, 16, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 18, 19, 134, 234, 226, 237, 220, 210, 170, 141, 92, 19, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 15, 16, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 16, 14, 15, 19, 20, 16, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 17, 16, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  18, 18, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14,
+  14, 16, 15, 14, 14, 14, 15, 15, 14, 14, 14, 14, 16, 16, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 17, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15,
+  15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 59, 159, 213, 218, 204, 164,
+  137, 143, 85, 20, 18, 15, 14, 15, 15, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 15, 14, 16, 16, 16, 14, 14, 14, 14, 14, 14,
+  14, 15, 15, 15, 14, 15, 15, 14, 14, 14, 14, 16, 14, 14, 14, 14,
+  14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 18, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 18,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 17, 14, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 16, 16, 14, 14, 14, 14,
+  14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 19, 16,
+  14, 14, 14, 15, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 15, 21,
+  23, 176, 218, 216, 215, 203, 190, 152, 116, 63, 15, 14, 17, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 20, 16, 16, 15, 14, 14, 14, 15, 14, 14, 17, 15,
+  14, 14, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 16, 19, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 19, 82, 198, 172, 162, 152, 137, 114, 137, 104, 21,
+  21, 18, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 18, 170, 173, 189,
+  176, 165, 145, 128, 109, 67, 23, 20, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 18, 17, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 16, 17, 14, 14, 16, 14, 14, 14, 14, 14, 15, 14, 14, 14,
+  16, 15, 14, 15, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 16, 18, 19, 18, 16, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 16, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 14, 14, 16, 16, 16, 15, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 20, 71, 170, 152, 114, 113, 132, 122, 137, 143, 104, 64, 42, 24, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 18, 19, 20, 18, 18, 18, 16,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 16, 14, 14, 14, 16, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 21, 19, 14, 16, 18, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 16, 14, 14, 14, 21, 20, 14, 14, 14, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 15, 15, 15, 18, 18, 16, 15, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 16, 18, 14, 15, 15, 18, 19, 19, 18, 18, 14, 14, 14, 14,
+  14, 14, 14, 16, 14, 15, 14, 15, 16, 124, 116, 162, 141, 141, 120, 122,
+  134, 98, 69, 56, 21, 14, 14, 14, 14, 14, 14, 14, 18, 16, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 18, 15, 15, 15, 15, 14,
+  14, 14, 14, 15, 14, 14, 14, 14, 18, 19, 16, 15, 18, 18, 18, 18,
+  18, 16, 18, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 16, 16, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 14, 15, 14, 15, 15, 16, 18, 17, 15, 17, 15, 14, 14, 14,
+  14, 14, 19, 23, 16, 16, 17, 17, 19, 18, 18, 17, 14, 14, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 18, 14, 14, 14, 14, 16, 17, 16,
+  16, 17, 17, 16, 15, 16, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 14, 14, 15, 16, 17, 16, 16, 17, 16, 18, 18, 15, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 25, 16, 18, 18, 17, 16, 17, 17, 16,
+  15, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 15,
+  15, 16, 15, 18, 17, 23, 33, 50, 61, 67, 64, 57, 63, 63, 61, 61,
+  60, 60, 57, 61, 75, 71, 59, 48, 27, 14, 14, 14, 14, 15, 33, 85,
+  75, 69, 56, 61, 76, 57, 61, 41, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 22, 43, 67, 87, 71, 69, 82, 75,
+  56, 49, 30, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 17, 40,
+  67, 67, 61, 69, 69, 69, 69, 61, 39, 18, 14, 14, 14, 14, 14, 14,
+  14, 14, 23, 43, 67, 72, 71, 72, 72, 71, 67, 60, 19, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 15, 16, 22, 50, 85,
+  147, 165, 170, 179, 179, 178, 165, 155, 178, 176, 167, 165, 165, 164, 162, 162,
+  170, 154, 128, 93, 42, 14, 14, 14, 14, 15, 37, 152, 167, 165, 141, 157,
+  162, 134, 120, 75, 18, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 19, 55, 132, 186, 186, 183, 181, 165, 137, 105, 56, 20,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 27, 97, 161, 155, 152, 161,
+  162, 150, 147, 136, 71, 20, 14, 15, 14, 14, 14, 15, 14, 14, 22, 42,
+  154, 165, 172, 165, 155, 145, 128, 116, 45, 20, 14, 14, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 16, 19, 48, 124, 193, 189, 188, 189, 181,
+  190, 194, 198, 202, 194, 194, 189, 188, 188, 182, 181, 179, 152, 154, 126, 87,
+  37, 14, 14, 14, 16, 15, 24, 152, 176, 182, 152, 172, 161, 120, 116, 71,
+  15, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 26, 124, 203, 204, 195, 188, 170, 148, 126, 75, 27, 14, 14, 14, 14,
+  14, 14, 14, 14, 18, 15, 41, 143, 199, 182, 159, 167, 167, 145, 145, 139,
+  75, 17, 14, 18, 14, 14, 14, 15, 14, 14, 15, 31, 172, 175, 176, 170,
+  159, 145, 118, 111, 69, 24, 14, 14, 17, 14, 14, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  19, 14, 19, 19, 18, 162, 190, 186, 197, 193, 192, 195, 192, 193, 194, 197,
+  195, 190, 192, 192, 190, 183, 185, 183, 169, 130, 105, 87, 14, 14, 14, 14,
+  14, 15, 25, 192, 179, 194, 157, 161, 137, 143, 84, 61, 17, 14, 14, 15,
+  14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 16, 16, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 15, 16, 15, 14, 14,
+  16, 14, 14, 14, 14, 15, 14, 14, 16, 14, 14, 15, 16, 14, 14, 14,
+  16, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 16, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 15, 14, 14,
+  17, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16,
+  16, 14, 14, 14, 14, 14, 14, 14, 18, 14, 14, 14, 14, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 18, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 16, 14, 17,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 16, 14, 15, 15, 16, 16, 14, 14, 14, 14,
+  14, 16, 14, 14, 15, 16, 14, 14, 14, 14, 14, 14, 18, 18, 154, 203,
+  208, 199, 192, 179, 137, 104, 72, 41, 14, 17, 14, 14, 16, 14, 16, 14,
+  14, 15, 100, 182, 186, 185, 162, 183, 162, 165, 114, 105, 89, 16, 17, 14,
+  14, 14, 18, 14, 14, 23, 15, 120, 182, 186, 179, 170, 152, 122, 98, 90,
+  46, 16, 14, 17, 14, 14, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 17, 15, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 14, 14, 14, 14, 15, 16, 14, 14, 14, 14, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 19, 14,
+  14, 18, 14, 14, 14, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 18,
+  82, 176, 195, 193, 182, 182, 173, 170, 167, 154, 159, 161, 157, 157, 152, 148,
+  143, 145, 132, 137, 100, 89, 89, 78, 14, 14, 14, 14, 15, 15, 61, 200,
+  183, 186, 162, 165, 118, 130, 93, 36, 14, 16, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 19,
+  15, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 16,
+  14, 14, 14, 15, 15, 14, 14, 14, 14, 14, 16, 21, 14, 14, 14, 14,
+  14, 15, 15, 14, 14, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18,
+  16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16,
+  14, 14, 14, 14, 14, 14, 15, 18, 17, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  15, 14, 14, 14, 16, 14, 14, 14, 14, 14, 16, 14, 14, 14, 18, 18,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 14, 14, 16, 14, 14, 15, 15, 15, 15, 16, 18,
+  17, 14, 14, 14, 16, 15, 14, 14, 14, 14, 14, 16, 14, 14, 14, 15,
+  14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 15, 15, 14, 14, 18,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 17, 18, 152, 198, 204, 193, 190, 170,
+  130, 107, 71, 38, 14, 14, 14, 14, 14, 14, 15, 14, 16, 56, 170, 208,
+  188, 183, 169, 170, 172, 169, 114, 111, 89, 15, 17, 14, 14, 14, 14, 14,
+  15, 15, 46, 169, 192, 193, 185, 167, 136, 107, 89, 75, 24, 14, 14, 15,
+  14, 14, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16,
+  15, 15, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 17, 15, 14, 14,
+  15, 18, 15, 14, 14, 14, 14, 14, 16, 15, 14, 16, 19, 19, 16, 14,
+  14, 14, 14, 16, 15, 17, 18, 18, 14, 14, 14, 15, 21, 14, 14, 14,
+  14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 18, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 16, 27, 188, 194, 190, 192,
+  175, 165, 150, 139, 120, 113, 111, 118, 111, 105, 102, 102, 97, 90, 84, 93,
+  113, 111, 98, 76, 16, 14, 14, 14, 16, 15, 120, 211, 183, 189, 167, 164,
+  128, 111, 100, 26, 14, 17, 14, 15, 15, 15, 14, 14, 14, 14, 14, 14,
+  15, 16, 14, 14, 14, 14, 14, 14, 20, 14, 14, 14, 14, 17, 19, 20,
+  14, 14, 14, 14, 14, 14, 14, 14, 19, 14, 14, 14, 15, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 16, 15, 15, 14, 14, 14, 14, 15,
+  14, 15, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 15, 14, 14, 14, 14, 15, 16, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 16, 16, 14, 14, 14, 14, 14, 14, 14, 15,
+  14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 18,
+  15, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 16, 19,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 14, 14, 14, 15, 14, 15, 16, 15, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 15, 16, 15, 15, 16, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 17, 14, 14, 18, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 14, 15, 14, 14, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 18, 150, 200, 203, 190, 189, 172, 132, 107, 75, 39,
+  16, 14, 14, 16, 14, 14, 15, 15, 15, 113, 207, 209, 183, 176, 185, 170,
+  165, 169, 120, 113, 89, 15, 15, 14, 14, 14, 14, 14, 16, 15, 124, 185,
+  197, 203, 190, 161, 122, 95, 69, 44, 14, 15, 22, 18, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 17, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 16, 16, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14,
+  14, 15, 14, 14, 16, 14, 14, 18, 15, 15, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 18, 14, 16, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 15, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 18, 14, 14, 19, 16, 14, 15, 15, 14, 14, 14, 15,
+  16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 18, 17, 82, 224, 198, 193, 179, 161, 148, 132, 116,
+  90, 75, 71, 78, 73, 73, 69, 71, 64, 64, 61, 71, 107, 95, 78, 52,
+  15, 14, 14, 16, 15, 16, 170, 210, 186, 186, 173, 155, 154, 92, 84, 18,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 17, 17, 14,
+  14, 14, 14, 14, 14, 14, 14, 18, 19, 18, 15, 15, 17, 15, 14, 14,
+  15, 16, 15, 15, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14,
+  14, 15, 15, 14, 15, 15, 15, 15, 15, 16, 18, 18, 18, 19, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 17, 15, 15, 16,
+  15, 14, 15, 14, 14, 15, 14, 14, 14, 14, 14, 14, 19, 16, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 18, 14, 14, 14, 14,
+  14, 14, 16, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 15, 14, 14, 14,
+  14, 14, 14, 14, 16, 14, 14, 15, 15, 15, 15, 18, 18, 14, 14, 16,
+  14, 14, 17, 15, 14, 14, 14, 15, 16, 15, 14, 15, 15, 15, 15, 15,
+  15, 15, 15, 15, 15, 14, 14, 14, 14, 15, 14, 14, 19, 16, 14, 14,
+  18, 15, 15, 15, 15, 16, 16, 14, 14, 14, 18, 19, 14, 16, 15, 19,
+  17, 15, 18, 15, 16, 15, 15, 15, 15, 15, 16, 18, 15, 14, 14, 18,
+  14, 19, 14, 15, 14, 16, 18, 14, 14, 20, 15, 15, 16, 17, 16, 15,
+  15, 15, 15, 14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 17, 148, 198, 204, 190, 185, 172, 148, 118, 79, 40, 15, 14, 14, 17,
+  14, 14, 19, 15, 20, 169, 209, 197, 181, 175, 192, 175, 170, 170, 124, 107,
+  85, 15, 15, 14, 14, 14, 14, 19, 15, 19, 170, 182, 197, 202, 183, 150,
+  126, 97, 54, 25, 15, 15, 14, 14, 24, 32, 19, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 16, 18, 19, 19, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 18, 18, 15, 15, 15, 15, 15, 16, 15, 15, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 20, 19, 14, 24, 19, 14,
+  17, 14, 15, 18, 15, 15, 17, 18, 18, 17, 18, 18, 23, 19, 15, 14,
+  14, 15, 14, 14, 14, 14, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 17, 19, 18, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 21, 14, 14, 14,
+  16, 15, 14, 15, 14, 14, 14, 22, 14, 14, 14, 14, 15, 15, 14, 14,
+  15, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 15, 21, 167, 213, 197, 198, 175, 155, 134, 118, 93, 64, 39, 30, 32,
+  31, 31, 29, 28, 28, 29, 28, 34, 43, 31, 24, 16, 14, 14, 14, 14,
+  14, 20, 197, 202, 189, 188, 176, 152, 159, 90, 67, 15, 15, 19, 21, 21,
+  16, 16, 17, 18, 18, 16, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14,
+  14, 14, 16, 15, 15, 15, 18, 25, 16, 15, 15, 16, 16, 16, 15, 15,
+  16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 19, 19,
+  15, 15, 18, 20, 19, 18, 17, 17, 16, 16, 15, 15, 18, 21, 19, 14,
+  16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 15, 15,
+  16, 16, 16, 16, 15, 15, 15, 15, 17, 16, 15, 16, 15, 15, 15, 14,
+  14, 14, 14, 14, 14, 18, 16, 14, 15, 15, 15, 15, 16, 16, 15, 15,
+  19, 17, 15, 16, 18, 17, 15, 15, 14, 14, 14, 14, 15, 18, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 15, 26, 18,
+  15, 16, 16, 15, 16, 16, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 17, 19, 17, 16, 17, 16, 18, 19, 14, 14, 14, 14,
+  14, 15, 18, 15, 15, 15, 19, 24, 15, 15, 15, 15, 16, 15, 15, 15,
+  17, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14, 14, 19, 20, 16, 18,
+  15, 16, 17, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 26, 16,
+  15, 15, 15, 16, 18, 16, 15, 14, 14, 14, 14, 14, 14, 29, 15, 16,
+  15, 18, 23, 15, 15, 16, 15, 15, 16, 17, 16, 17, 16, 16, 15, 15,
+  27, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 139, 199,
+  197, 186, 183, 175, 152, 122, 84, 44, 14, 14, 15, 14, 14, 19, 16, 16,
+  113, 214, 208, 195, 186, 165, 183, 176, 173, 175, 130, 113, 84, 15, 14, 14,
+  14, 14, 16, 19, 15, 84, 193, 190, 199, 193, 170, 148, 130, 95, 40, 14,
+  16, 17, 14, 14, 15, 15, 16, 19, 16, 16, 16, 16, 15, 16, 16, 16,
+  14, 14, 14, 14, 14, 14, 15, 16, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 18, 15, 18, 16, 15, 19, 17, 17, 18, 18, 18, 18, 18, 18,
+  15, 16, 19, 18, 14, 14, 14, 14, 14, 14, 14, 14, 16, 20, 16, 18,
+  16, 16, 15, 16, 15, 15, 15, 15, 14, 15, 16, 17, 18, 18, 16, 15,
+  21, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14,
+  14, 15, 19, 19, 17, 15, 16, 16, 16, 16, 16, 16, 17, 18, 15, 14,
+  15, 15, 14, 14, 14, 14, 14, 14, 14, 15, 23, 15, 15, 19, 15, 15,
+  19, 18, 15, 18, 15, 27, 17, 19, 15, 16, 15, 17, 17, 16, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 56, 218,
+  192, 195, 205, 179, 165, 147, 118, 85, 46, 23, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 16, 16, 14, 14, 16, 14, 14, 14, 14, 53, 209, 199,
+  195, 190, 176, 150, 150, 120, 57, 20, 43, 95, 136, 113, 152, 157, 159, 159,
+  148, 126, 95, 78, 19, 14, 14, 14, 14, 14, 14, 14, 24, 14, 14, 15,
+  30, 78, 128, 157, 186, 188, 188, 182, 181, 176, 159, 152, 126, 63, 23, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 37, 81, 141,
+  175, 198, 206, 207, 203, 194, 178, 161, 137, 102, 59, 31, 17, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 26, 61, 102, 152, 150, 148, 143,
+  137, 130, 126, 126, 141, 130, 145, 139, 114, 128, 109, 49, 14, 14, 14, 15,
+  14, 14, 14, 14, 19, 27, 48, 71, 89, 93, 92, 89, 84, 79, 79, 87,
+  90, 78, 55, 36, 27, 24, 15, 14, 14, 15, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 16, 14, 14, 34, 85, 128, 143, 143, 130, 136,
+  147, 141, 81, 40, 15, 14, 14, 14, 14, 14, 14, 14, 18, 21, 18, 19,
+  48, 107, 150, 145, 132, 116, 120, 100, 50, 25, 19, 18, 22, 14, 15, 17,
+  48, 98, 136, 145, 182, 183, 185, 181, 176, 170, 154, 150, 89, 52, 24, 15,
+  14, 14, 14, 16, 16, 25, 19, 29, 89, 141, 139, 148, 130, 124, 134, 128,
+  82, 34, 15, 14, 16, 19, 15, 22, 19, 42, 145, 139, 141, 148, 145, 143,
+  130, 89, 43, 15, 20, 22, 20, 21, 28, 141, 132, 164, 159, 126, 147, 143,
+  118, 55, 16, 69, 139, 145, 147, 147, 141, 136, 130, 122, 67, 18, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 137, 197, 190, 179, 179, 172,
+  150, 130, 89, 47, 14, 14, 17, 14, 14, 16, 16, 26, 199, 220, 204, 197,
+  188, 172, 179, 175, 176, 178, 136, 118, 85, 14, 14, 14, 14, 14, 14, 14,
+  19, 161, 202, 210, 198, 186, 161, 141, 116, 75, 29, 14, 14, 14, 15, 17,
+  17, 23, 54, 85, 75, 78, 76, 78, 75, 75, 73, 73, 85, 72, 43, 18,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 15, 20, 87, 139, 136,
+  150, 148, 130, 147, 143, 145, 143, 145, 143, 143, 147, 147, 143, 128, 128, 114,
+  65, 26, 15, 16, 21, 15, 14, 23, 57, 116, 148, 136, 134, 139, 137, 128,
+  105, 64, 27, 15, 20, 54, 105, 132, 130, 137, 150, 159, 124, 90, 54, 31,
+  16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 27, 56, 113, 161,
+  179, 190, 199, 206, 203, 186, 170, 154, 128, 85, 44, 19, 15, 14, 14, 14,
+  14, 14, 14, 14, 20, 47, 150, 148, 114, 143, 130, 139, 118, 93, 21, 15,
+  18, 72, 90, 126, 143, 145, 143, 148, 143, 128, 105, 89, 21, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 122, 225, 203, 200, 199, 186,
+  175, 157, 128, 84, 41, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 15, 19, 14, 21, 14, 14, 14, 14, 104, 220, 210, 204, 190, 179, 161,
+  154, 114, 38, 93, 154, 188, 217, 210, 215, 216, 217, 211, 206, 190, 157, 139,
+  76, 35, 14, 14, 14, 14, 14, 14, 14, 14, 34, 90, 173, 213, 213, 200,
+  200, 199, 199, 198, 194, 190, 179, 173, 190, 170, 130, 73, 26, 14, 14, 24,
+  14, 14, 14, 18, 14, 14, 14, 26, 128, 159, 195, 216, 216, 206, 198, 193,
+  192, 195, 197, 202, 203, 202, 175, 147, 63, 33, 15, 14, 14, 14, 14, 14,
+  15, 14, 14, 20, 50, 116, 188, 220, 214, 209, 202, 198, 193, 189, 179, 185,
+  190, 183, 195, 188, 159, 172, 139, 42, 15, 14, 15, 16, 14, 14, 27, 68,
+  161, 175, 189, 203, 207, 203, 197, 188, 206, 204, 207, 211, 211, 203, 179, 159,
+  109, 82, 43, 14, 14, 14, 17, 17, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 18, 31, 93, 199, 200, 205, 204, 197, 199, 190, 145, 85,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 36, 154, 216, 213,
+  199, 183, 176, 143, 61, 18, 15, 15, 15, 19, 53, 128, 195, 220, 218, 207,
+  197, 198, 199, 197, 190, 183, 176, 173, 192, 155, 95, 53, 23, 14, 14, 19,
+  14, 15, 14, 15, 95, 189, 200, 205, 210, 195, 190, 188, 118, 36, 14, 14,
+  14, 14, 14, 14, 14, 38, 185, 194, 208, 208, 198, 190, 173, 122, 46, 15,
+  14, 14, 14, 15, 19, 188, 194, 217, 221, 188, 208, 204, 179, 92, 31, 143,
+  199, 203, 202, 203, 194, 185, 169, 164, 79, 18, 14, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 130, 190, 189, 181, 179, 172, 157, 136, 98, 48,
+  14, 14, 14, 14, 16, 15, 16, 105, 219, 200, 202, 192, 182, 188, 185, 185,
+  179, 183, 145, 120, 87, 14, 14, 14, 14, 14, 14, 15, 69, 199, 203, 207,
+  200, 179, 155, 141, 92, 44, 18, 14, 14, 14, 17, 82, 159, 203, 215, 202,
+  199, 200, 198, 203, 203, 203, 198, 197, 178, 182, 182, 159, 132, 79, 27, 14,
+  14, 14, 14, 14, 14, 14, 14, 15, 15, 128, 202, 195, 205, 202, 185, 199,
+  199, 198, 195, 197, 200, 204, 199, 203, 211, 205, 198, 182, 139, 78, 26, 15,
+  14, 14, 14, 14, 21, 87, 186, 195, 203, 208, 209, 210, 185, 122, 43, 15,
+  116, 162, 195, 202, 193, 193, 202, 203, 204, 188, 165, 118, 53, 16, 14, 15,
+  14, 14, 14, 15, 14, 15, 27, 67, 172, 195, 219, 226, 223, 211, 204, 199,
+  193, 192, 192, 199, 200, 189, 162, 137, 45, 19, 14, 14, 14, 14, 14, 14,
+  15, 23, 172, 209, 181, 205, 203, 204, 211, 189, 81, 17, 97, 167, 204, 216,
+  207, 207, 200, 205, 203, 195, 175, 159, 82, 36, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 25, 182, 218, 224, 199, 183, 182, 159, 145, 105, 68,
+  26, 15, 14, 14, 14, 14, 14, 14, 15, 14, 15, 14, 14, 14, 15, 14,
+  16, 14, 14, 15, 16, 155, 225, 219, 206, 183, 178, 164, 161, 89, 21, 182,
+  219, 178, 192, 208, 208, 207, 206, 206, 198, 192, 169, 157, 173, 68, 14, 14,
+  16, 14, 14, 14, 14, 56, 165, 214, 214, 203, 193, 200, 197, 195, 193, 194,
+  195, 200, 203, 205, 186, 185, 194, 178, 113, 40, 15, 14, 16, 14, 14, 14,
+  14, 16, 56, 139, 203, 215, 218, 216, 211, 203, 195, 195, 200, 206, 204, 200,
+  198, 200, 199, 185, 200, 111, 40, 17, 14, 14, 14, 15, 15, 15, 15, 56,
+  161, 221, 225, 208, 208, 206, 200, 194, 188, 179, 178, 176, 179, 181, 190, 176,
+  137, 154, 104, 17, 14, 14, 14, 16, 14, 21, 93, 204, 203, 205, 203, 198,
+  202, 206, 207, 209, 205, 205, 203, 203, 200, 207, 205, 200, 189, 167, 105, 42,
+  16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 19, 14, 14, 15,
+  14, 15, 27, 154, 189, 214, 217, 209, 185, 181, 172, 154, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 18, 15, 15, 57, 182, 220, 193, 172, 159, 159, 116,
+  44, 15, 16, 17, 17, 79, 193, 225, 217, 194, 204, 219, 199, 200, 197, 195,
+  194, 198, 200, 202, 182, 189, 189, 162, 82, 24, 14, 14, 14, 25, 14, 15,
+  90, 203, 211, 207, 204, 169, 161, 165, 97, 24, 14, 16, 14, 16, 14, 16,
+  14, 41, 193, 204, 208, 202, 186, 178, 172, 136, 64, 19, 14, 21, 18, 15,
+  21, 204, 204, 218, 217, 202, 220, 202, 198, 169, 113, 228, 204, 209, 206, 203,
+  188, 170, 148, 136, 61, 14, 14, 19, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 128, 193, 190, 185, 178, 176, 157, 137, 98, 50, 14, 14, 14, 14,
+  20, 16, 22, 206, 229, 193, 216, 198, 170, 193, 179, 179, 185, 185, 143, 120,
+  87, 14, 15, 14, 14, 17, 14, 18, 169, 216, 211, 205, 194, 178, 145, 120,
+  71, 26, 14, 15, 14, 22, 126, 218, 209, 190, 203, 204, 197, 198, 202, 202,
+  207, 206, 200, 200, 200, 199, 195, 190, 179, 155, 76, 25, 14, 14, 14, 14,
+  14, 14, 15, 15, 15, 148, 219, 202, 202, 200, 190, 204, 199, 198, 199, 199,
+  202, 205, 205, 209, 199, 199, 190, 188, 189, 155, 64, 15, 16, 14, 20, 14,
+  14, 36, 176, 217, 209, 198, 189, 183, 176, 141, 81, 41, 195, 200, 197, 190,
+  200, 217, 213, 199, 205, 185, 189, 193, 147, 56, 18, 14, 15, 14, 14, 15,
+  15, 21, 98, 214, 219, 218, 217, 216, 209, 203, 200, 199, 208, 205, 203, 202,
+  203, 198, 194, 185, 164, 75, 19, 14, 14, 14, 14, 14, 18, 17, 143, 210,
+  188, 216, 199, 189, 182, 188, 154, 42, 213, 217, 217, 181, 205, 202, 202, 203,
+  207, 205, 194, 179, 179, 75, 16, 14, 16, 14, 14, 14, 14, 14, 14, 15,
+  15, 54, 202, 215, 216, 188, 186, 185, 141, 137, 93, 36, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 16, 14, 14, 16,
+  16, 195, 218, 225, 194, 178, 176, 157, 128, 118, 143, 189, 200, 190, 185, 197,
+  195, 189, 200, 193, 197, 167, 183, 143, 173, 134, 28, 14, 14, 14, 20, 15,
+  76, 197, 238, 226, 203, 211, 194, 136, 147, 136, 128, 141, 132, 136, 188, 206,
+  215, 192, 204, 183, 161, 102, 18, 14, 15, 14, 18, 14, 14, 54, 202, 210,
+  211, 215, 206, 178, 161, 159, 141, 124, 130, 132, 176, 173, 178, 197, 194, 195,
+  173, 148, 137, 23, 14, 14, 14, 14, 17, 16, 20, 189, 214, 209, 225, 205,
+  181, 172, 161, 136, 139, 141, 116, 148, 130, 139, 128, 109, 116, 116, 60, 18,
+  15, 15, 14, 17, 16, 124, 214, 209, 214, 207, 202, 200, 189, 179, 173, 182,
+  186, 175, 197, 182, 198, 220, 211, 190, 172, 172, 139, 107, 15, 14, 19, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 14, 14, 27, 75,
+  200, 202, 210, 195, 181, 172, 145, 132, 60, 14, 21, 14, 14, 14, 16, 14,
+  14, 20, 15, 19, 164, 198, 206, 211, 136, 126, 114, 52, 18, 16, 15, 15,
+  122, 189, 221, 217, 211, 215, 204, 181, 150, 143, 124, 137, 152, 162, 183, 188,
+  200, 199, 204, 170, 150, 82, 14, 14, 14, 17, 14, 15, 111, 213, 211, 211,
+  209, 165, 137, 97, 102, 14, 15, 14, 14, 15, 14, 14, 16, 95, 205, 202,
+  204, 203, 165, 141, 120, 105, 15, 16, 14, 16, 14, 18, 44, 216, 211, 211,
+  198, 193, 203, 195, 169, 176, 198, 204, 204, 194, 189, 188, 167, 130, 114, 122,
+  15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 16, 148, 202,
+  198, 179, 188, 186, 152, 136, 97, 46, 14, 14, 14, 16, 15, 17, 95, 225,
+  218, 215, 195, 179, 188, 186, 178, 189, 197, 193, 148, 122, 87, 14, 14, 14,
+  16, 14, 18, 63, 223, 205, 214, 198, 202, 113, 143, 102, 34, 23, 14, 14,
+  15, 162, 232, 215, 209, 210, 193, 197, 183, 189, 186, 175, 176, 192, 204, 207,
+  206, 205, 207, 205, 197, 155, 175, 46, 14, 14, 14, 14, 14, 14, 14, 16,
+  15, 197, 205, 172, 167, 122, 150, 161, 155, 137, 148, 136, 181, 170, 185, 219,
+  188, 209, 195, 189, 161, 150, 122, 16, 14, 15, 15, 14, 18, 42, 209, 218,
+  213, 198, 198, 164, 185, 104, 21, 181, 190, 217, 197, 189, 189, 219, 182, 204,
+  205, 199, 194, 164, 175, 114, 18, 15, 22, 14, 15, 16, 16, 172, 225, 205,
+  220, 216, 209, 181, 154, 141, 137, 132, 139, 164, 164, 154, 213, 199, 188, 181,
+  178, 109, 60, 15, 14, 14, 14, 14, 15, 16, 175, 209, 206, 203, 182, 205,
+  197, 167, 169, 159, 210, 211, 215, 193, 193, 185, 203, 176, 209, 190, 181, 172,
+  155, 132, 29, 14, 18, 14, 14, 14, 14, 14, 14, 15, 15, 116, 221, 226,
+  215, 189, 190, 169, 134, 118, 72, 27, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 28, 206, 217, 223,
+  193, 176, 170, 154, 143, 147, 167, 193, 186, 161, 154, 170, 181, 182, 188, 179,
+  194, 169, 189, 148, 161, 116, 81, 14, 14, 17, 14, 29, 199, 229, 244, 239,
+  207, 161, 126, 116, 128, 120, 109, 124, 141, 162, 176, 167, 205, 205, 210, 188,
+  179, 154, 57, 16, 14, 14, 15, 15, 21, 197, 199, 223, 223, 206, 173, 150,
+  126, 122, 120, 130, 130, 124, 164, 169, 169, 195, 193, 203, 189, 169, 161, 56,
+  14, 14, 15, 14, 15, 31, 111, 207, 223, 214, 209, 178, 162, 143, 136, 118,
+  118, 126, 90, 107, 105, 118, 116, 105, 109, 97, 48, 16, 14, 14, 16, 15,
+  56, 181, 220, 224, 220, 206, 182, 169, 157, 137, 134, 137, 126, 130, 161, 167,
+  165, 176, 176, 193, 170, 169, 143, 118, 21, 14, 17, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 20, 44, 203, 198, 199, 197,
+  186, 164, 143, 143, 71, 14, 17, 14, 14, 14, 15, 14, 14, 17, 15, 93,
+  197, 199, 218, 169, 148, 100, 89, 27, 15, 23, 14, 81, 195, 211, 223, 225,
+  205, 173, 155, 154, 132, 139, 113, 105, 122, 143, 162, 165, 206, 192, 205, 183,
+  165, 126, 33, 15, 14, 14, 14, 15, 165, 209, 218, 214, 204, 165, 139, 104,
+  76, 14, 14, 14, 14, 14, 15, 14, 15, 128, 215, 208, 199, 198, 159, 132,
+  114, 90, 14, 15, 14, 15, 14, 18, 76, 217, 213, 216, 200, 193, 194, 181,
+  152, 154, 167, 172, 167, 145, 116, 107, 98, 97, 97, 104, 15, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 15, 14, 16, 152, 208, 204, 190, 195, 189,
+  154, 139, 100, 46, 14, 14, 15, 14, 16, 25, 185, 232, 219, 205, 188, 183,
+  186, 190, 188, 193, 194, 195, 152, 124, 84, 14, 14, 14, 14, 15, 16, 157,
+  218, 221, 214, 205, 170, 154, 104, 81, 30, 14, 16, 15, 122, 211, 232, 219,
+  215, 202, 157, 139, 128, 139, 143, 154, 159, 155, 147, 150, 193, 188, 200, 199,
+  189, 159, 178, 87, 16, 14, 15, 16, 15, 14, 14, 15, 17, 167, 185, 164,
+  157, 111, 122, 107, 132, 136, 154, 137, 175, 170, 167, 165, 193, 203, 198, 192,
+  152, 145, 120, 16, 14, 14, 14, 14, 16, 87, 217, 217, 220, 188, 195, 175,
+  159, 118, 89, 202, 222, 225, 193, 190, 182, 199, 172, 206, 202, 192, 192, 169,
+  170, 134, 40, 19, 14, 15, 16, 27, 150, 199, 223, 225, 208, 182, 152, 148,
+  143, 134, 128, 128, 128, 152, 167, 172, 194, 185, 181, 190, 185, 155, 105, 18,
+  14, 14, 14, 14, 15, 33, 185, 210, 210, 203, 189, 197, 195, 183, 198, 188,
+  211, 194, 182, 162, 178, 167, 188, 173, 210, 197, 183, 155, 154, 141, 43, 14,
+  21, 14, 14, 14, 14, 14, 15, 15, 15, 176, 228, 221, 202, 202, 206, 164,
+  137, 98, 53, 20, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 14, 14, 14, 14, 14, 16, 71, 217, 225, 221, 192, 179, 173, 150,
+  145, 145, 157, 164, 147, 120, 136, 169, 175, 192, 188, 181, 194, 181, 190, 150,
+  147, 122, 56, 14, 14, 21, 14, 162, 241, 237, 236, 231, 189, 124, 90, 98,
+  90, 84, 63, 60, 78, 136, 179, 195, 208, 223, 214, 186, 165, 161, 100, 14,
+  14, 14, 15, 19, 136, 226, 223, 220, 202, 173, 150, 139, 105, 75, 59, 68,
+  61, 71, 122, 159, 185, 204, 192, 195, 195, 164, 167, 104, 16, 14, 14, 14,
+  15, 78, 219, 215, 225, 207, 182, 157, 139, 90, 75, 60, 60, 63, 40, 49,
+  55, 57, 55, 54, 56, 43, 22, 14, 14, 14, 16, 15, 159, 222, 217, 225,
+  209, 188, 161, 137, 124, 107, 97, 95, 113, 111, 139, 170, 185, 192, 176, 216,
+  183, 164, 139, 132, 41, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 19, 200, 200, 195, 203, 198, 167, 150, 159,
+  87, 15, 14, 14, 15, 14, 14, 14, 14, 14, 24, 194, 209, 216, 208, 128,
+  136, 81, 52, 15, 15, 18, 43, 193, 225, 218, 214, 209, 181, 137, 111, 116,
+  87, 104, 82, 69, 92, 143, 178, 203, 209, 183, 199, 183, 159, 147, 60, 14,
+  14, 14, 18, 19, 207, 215, 225, 206, 199, 159, 130, 116, 46, 14, 14, 14,
+  14, 14, 16, 14, 16, 172, 219, 221, 200, 200, 162, 136, 111, 71, 14, 14,
+  14, 14, 14, 15, 143, 218, 217, 213, 195, 186, 189, 173, 145, 137, 148, 148,
+  141, 136, 120, 116, 118, 111, 84, 59, 15, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 14, 16, 155, 208, 205, 189, 195, 199, 165, 145, 105, 47,
+  15, 14, 14, 15, 16, 92, 234, 234, 227, 198, 188, 193, 190, 194, 197, 199,
+  197, 198, 157, 126, 87, 14, 14, 14, 14, 15, 22, 229, 223, 225, 215, 194,
+  154, 162, 98, 48, 22, 14, 14, 31, 220, 224, 223, 218, 207, 178, 137, 120,
+  122, 107, 109, 118, 120, 130, 152, 183, 192, 182, 198, 194, 181, 159, 161, 128,
+  14, 14, 14, 14, 14, 14, 14, 18, 17, 92, 118, 137, 141, 120, 143, 116,
+  79, 89, 100, 84, 128, 165, 203, 202, 200, 190, 194, 190, 143, 137, 109, 15,
+  14, 14, 14, 14, 15, 167, 225, 220, 223, 186, 193, 190, 141, 147, 194, 213,
+  176, 169, 136, 161, 172, 179, 178, 214, 199, 188, 200, 178, 155, 147, 68, 21,
+  14, 18, 16, 87, 233, 216, 219, 219, 189, 157, 126, 109, 93, 76, 67, 72,
+  68, 97, 141, 185, 186, 179, 182, 203, 175, 169, 148, 36, 14, 14, 14, 14,
+  15, 89, 204, 210, 216, 203, 199, 185, 173, 176, 188, 183, 190, 175, 175, 164,
+  175, 175, 188, 179, 199, 200, 200, 147, 139, 141, 52, 17, 16, 14, 14, 14,
+  14, 14, 15, 15, 20, 214, 221, 221, 197, 205, 205, 162, 137, 87, 38, 16,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14,
+  14, 14, 14, 16, 128, 225, 228, 218, 205, 183, 164, 126, 105, 89, 72, 67,
+  60, 59, 78, 113, 162, 204, 200, 190, 198, 189, 185, 150, 141, 124, 16, 18,
+  15, 14, 85, 236, 236, 237, 225, 188, 155, 122, 82, 52, 27, 21, 19, 15,
+  15, 36, 98, 199, 211, 226, 214, 198, 161, 148, 116, 15, 17, 14, 15, 89,
+  231, 203, 235, 200, 161, 150, 128, 102, 68, 34, 18, 16, 18, 20, 49, 97,
+  179, 210, 192, 197, 197, 161, 159, 141, 21, 14, 14, 14, 19, 152, 230, 210,
+  209, 193, 169, 155, 114, 48, 28, 19, 16, 19, 14, 19, 19, 16, 15, 15,
+  16, 14, 14, 14, 14, 14, 15, 56, 217, 231, 222, 214, 182, 169, 141, 114,
+  89, 65, 47, 42, 47, 47, 54, 98, 165, 213, 189, 199, 190, 162, 134, 137,
+  59, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 15, 15, 159, 209, 211, 210, 205, 172, 164, 164, 107, 24, 14, 14,
+  16, 14, 14, 14, 16, 14, 122, 217, 210, 222, 159, 134, 95, 67, 25, 15,
+  20, 16, 173, 224, 219, 217, 200, 167, 143, 124, 92, 63, 15, 15, 15, 14,
+  20, 42, 90, 189, 209, 190, 210, 190, 148, 152, 82, 14, 14, 14, 19, 42,
+  224, 215, 214, 199, 194, 157, 126, 114, 26, 14, 14, 14, 15, 14, 18, 15,
+  24, 204, 218, 217, 204, 194, 162, 141, 107, 50, 14, 14, 14, 14, 14, 15,
+  193, 217, 217, 213, 199, 185, 176, 154, 111, 92, 89, 79, 92, 104, 109, 109,
+  113, 95, 56, 25, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  14, 16, 159, 214, 213, 197, 197, 198, 169, 150, 107, 48, 14, 14, 14, 19,
+  24, 197, 232, 228, 225, 193, 186, 194, 189, 188, 206, 206, 204, 202, 165, 139,
+  93, 14, 14, 14, 14, 15, 113, 232, 236, 211, 209, 172, 159, 120, 107, 24,
+  15, 17, 14, 130, 227, 221, 221, 216, 185, 157, 130, 114, 75, 53, 39, 44,
+  45, 52, 84, 134, 193, 195, 205, 204, 185, 155, 139, 136, 16, 14, 14, 14,
+  14, 14, 14, 18, 14, 14, 14, 18, 15, 15, 17, 15, 16, 18, 23, 16,
+  31, 65, 181, 214, 208, 186, 202, 189, 128, 130, 98, 16, 14, 14, 14, 15,
+  17, 217, 226, 220, 217, 206, 188, 192, 152, 157, 214, 183, 159, 155, 130, 159,
+  178, 183, 193, 194, 205, 195, 207, 189, 150, 148, 82, 16, 18, 15, 42, 207,
+  218, 223, 217, 185, 152, 147, 120, 75, 41, 19, 18, 21, 19, 30, 68, 161,
+  194, 197, 189, 200, 164, 164, 152, 53, 14, 14, 14, 14, 15, 154, 217, 216,
+  216, 198, 198, 178, 159, 137, 120, 104, 100, 95, 104, 114, 169, 194, 205, 195,
+  185, 202, 207, 148, 128, 124, 44, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  85, 232, 220, 222, 204, 195, 189, 159, 130, 71, 24, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 14, 14, 14, 14, 14, 14,
+  181, 225, 231, 219, 205, 179, 154, 104, 64, 40, 18, 15, 16, 16, 21, 26,
+  116, 203, 206, 199, 198, 199, 185, 157, 143, 90, 20, 15, 30, 14, 199, 224,
+  230, 229, 204, 165, 137, 104, 48, 15, 14, 14, 15, 15, 14, 14, 29, 148,
+  207, 219, 210, 215, 178, 154, 141, 36, 14, 15, 16, 217, 229, 209, 218, 181,
+  155, 141, 93, 43, 18, 14, 14, 14, 15, 15, 15, 31, 126, 210, 205, 218,
+  203, 164, 150, 161, 35, 14, 14, 14, 48, 206, 207, 211, 202, 178, 169, 152,
+  98, 29, 15, 14, 14, 14, 14, 14, 16, 15, 14, 14, 14, 14, 14, 15,
+  14, 14, 14, 173, 229, 220, 228, 202, 172, 157, 120, 72, 39, 21, 14, 14,
+  14, 14, 14, 26, 75, 208, 205, 203, 197, 167, 136, 139, 73, 16, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  75, 208, 220, 208, 205, 182, 178, 162, 130, 39, 14, 14, 16, 14, 14, 14,
+  14, 43, 213, 219, 217, 199, 132, 132, 67, 40, 15, 16, 18, 65, 234, 232,
+  228, 215, 182, 137, 113, 82, 40, 18, 18, 14, 14, 14, 15, 18, 46, 198,
+  214, 206, 218, 207, 150, 154, 100, 14, 14, 15, 14, 95, 217, 223, 208, 202,
+  190, 155, 126, 98, 15, 14, 14, 14, 15, 14, 16, 16, 48, 217, 217, 216,
+  206, 189, 161, 139, 97, 32, 15, 14, 14, 14, 14, 28, 211, 217, 217, 209,
+  200, 186, 164, 124, 64, 36, 27, 17, 15, 16, 16, 14, 15, 17, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 16, 164, 217,
+  218, 198, 198, 202, 173, 152, 109, 47, 14, 14, 14, 14, 95, 239, 225, 226,
+  214, 192, 175, 170, 173, 186, 204, 210, 207, 210, 172, 143, 95, 14, 14, 14,
+  14, 27, 217, 230, 233, 211, 202, 161, 161, 109, 76, 16, 14, 15, 25, 213,
+  226, 223, 221, 208, 172, 137, 92, 61, 22, 15, 14, 16, 16, 14, 15, 24,
+  145, 198, 202, 205, 193, 155, 124, 126, 37, 21, 14, 14, 14, 14, 14, 14,
+  21, 18, 15, 18, 14, 14, 19, 14, 14, 14, 15, 14, 15, 20, 147, 209,
+  217, 190, 200, 186, 130, 122, 82, 17, 14, 14, 14, 16, 38, 230, 221, 219,
+  206, 215, 172, 167, 143, 113, 137, 84, 75, 84, 71, 97, 139, 173, 214, 197,
+  208, 200, 207, 198, 154, 147, 90, 15, 18, 16, 136, 236, 202, 224, 208, 164,
+  122, 118, 81, 37, 15, 14, 14, 14, 14, 15, 24, 95, 195, 215, 203, 204,
+  182, 155, 145, 78, 21, 14, 14, 17, 15, 185, 224, 218, 214, 194, 197, 172,
+  165, 111, 50, 31, 19, 18, 17, 21, 92, 190, 211, 210, 186, 197, 207, 150,
+  126, 100, 29, 14, 14, 14, 18, 14, 14, 14, 14, 15, 162, 229, 216, 216,
+  208, 189, 185, 157, 118, 56, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 18, 14, 14, 14, 14, 14, 16, 207, 224, 232, 217,
+  207, 173, 141, 90, 41, 20, 14, 14, 14, 15, 15, 15, 52, 188, 208, 207,
+  197, 202, 182, 161, 128, 76, 17, 15, 14, 105, 217, 220, 229, 211, 176, 161,
+  126, 61, 20, 14, 24, 14, 15, 18, 19, 14, 16, 120, 215, 218, 217, 217,
+  186, 157, 120, 52, 15, 15, 122, 224, 217, 220, 198, 164, 145, 116, 65, 20,
+  14, 14, 15, 14, 16, 14, 15, 17, 111, 214, 208, 213, 203, 170, 147, 150,
+  48, 14, 16, 14, 102, 226, 195, 222, 213, 185, 169, 139, 78, 16, 14, 16,
+  14, 14, 14, 14, 15, 16, 16, 19, 16, 14, 14, 14, 14, 14, 37, 229,
+  229, 214, 229, 194, 178, 147, 85, 37, 15, 14, 14, 14, 14, 16, 14, 14,
+  20, 185, 216, 214, 199, 170, 137, 122, 78, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 24, 197, 222, 207,
+  208, 189, 188, 155, 145, 64, 14, 14, 14, 14, 14, 14, 15, 152, 221, 221,
+  222, 139, 147, 93, 47, 15, 15, 19, 16, 208, 232, 240, 235, 195, 154, 145,
+  98, 36, 15, 14, 16, 14, 14, 14, 14, 14, 17, 170, 209, 211, 217, 210,
+  148, 141, 104, 14, 14, 14, 14, 172, 209, 226, 211, 208, 182, 155, 122, 76,
+  14, 15, 14, 14, 14, 14, 14, 16, 104, 221, 215, 214, 205, 185, 155, 132,
+  85, 18, 14, 14, 15, 14, 15, 71, 221, 225, 217, 209, 198, 178, 154, 102,
+  39, 16, 14, 14, 15, 15, 15, 14, 14, 17, 19, 18, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 167, 221, 217, 202, 204, 204,
+  178, 154, 114, 47, 14, 14, 20, 14, 189, 242, 230, 229, 204, 193, 145, 124,
+  162, 198, 200, 214, 208, 213, 175, 148, 93, 14, 14, 14, 14, 92, 236, 232,
+  218, 221, 186, 164, 148, 118, 26, 17, 14, 14, 97, 223, 224, 227, 216, 194,
+  181, 139, 61, 23, 14, 14, 14, 16, 15, 14, 14, 14, 57, 199, 194, 205,
+  197, 162, 136, 120, 34, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 19, 15, 16, 14, 14, 15, 15, 15, 167, 225, 219, 198, 206, 178,
+  137, 120, 56, 18, 14, 14, 17, 15, 93, 231, 218, 222, 198, 213, 161, 134,
+  104, 52, 37, 17, 15, 17, 15, 18, 46, 93, 207, 202, 202, 206, 204, 204,
+  164, 143, 95, 15, 15, 55, 219, 218, 227, 216, 176, 159, 130, 89, 37, 15,
+  14, 21, 18, 14, 18, 14, 15, 42, 197, 219, 214, 206, 197, 154, 137, 95,
+  20, 14, 14, 15, 33, 204, 226, 221, 202, 195, 185, 165, 141, 76, 21, 17,
+  15, 14, 14, 15, 20, 175, 211, 217, 205, 205, 197, 141, 130, 69, 18, 14,
+  14, 14, 18, 14, 14, 14, 14, 15, 198, 214, 218, 208, 208, 194, 183, 150,
+  107, 48, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 38, 223, 221, 234, 213, 203, 162, 136, 85,
+  24, 16, 14, 14, 18, 19, 17, 15, 20, 176, 215, 217, 198, 198, 169, 165,
+  113, 61, 15, 15, 19, 219, 219, 230, 222, 185, 148, 145, 92, 34, 14, 14,
+  18, 14, 14, 14, 14, 14, 14, 107, 222, 225, 225, 207, 186, 167, 87, 44,
+  15, 41, 219, 207, 218, 213, 190, 152, 126, 82, 36, 18, 14, 16, 16, 14,
+  14, 17, 14, 18, 113, 217, 207, 205, 198, 176, 147, 126, 53, 14, 15, 14,
+  161, 225, 215, 211, 209, 197, 178, 148, 73, 14, 14, 19, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 124, 233, 227, 219, 219, 195,
+  173, 130, 57, 20, 14, 14, 16, 16, 14, 15, 15, 14, 14, 159, 217, 210,
+  202, 178, 145, 104, 73, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 16, 15, 176, 216, 214, 218, 195, 192, 167,
+  152, 92, 14, 14, 14, 15, 14, 14, 78, 217, 218, 219, 198, 114, 132, 57,
+  26, 14, 14, 18, 76, 244, 231, 243, 229, 183, 141, 124, 64, 16, 14, 15,
+  14, 14, 15, 14, 14, 14, 15, 162, 208, 216, 208, 202, 159, 134, 93, 14,
+  14, 14, 17, 217, 210, 220, 218, 203, 172, 152, 120, 52, 14, 15, 14, 15,
+  14, 14, 14, 15, 179, 222, 217, 216, 207, 178, 147, 126, 73, 14, 15, 14,
+  15, 16, 15, 141, 224, 231, 214, 208, 193, 172, 145, 82, 28, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 16, 169, 225, 221, 205, 207, 205, 181, 162, 118, 46,
+  14, 14, 16, 57, 226, 238, 235, 218, 183, 188, 97, 69, 157, 209, 206, 214,
+  207, 215, 178, 148, 97, 14, 14, 14, 23, 204, 234, 236, 221, 213, 169, 152,
+  118, 90, 15, 17, 14, 21, 186, 221, 220, 225, 207, 183, 179, 122, 37, 15,
+  14, 14, 14, 14, 14, 14, 15, 18, 18, 213, 202, 213, 195, 154, 147, 107,
+  16, 14, 14, 14, 14, 14, 14, 15, 14, 15, 18, 15, 14, 14, 14, 14,
+  21, 15, 14, 14, 15, 26, 194, 218, 217, 207, 206, 172, 148, 114, 36, 17,
+  15, 14, 17, 15, 183, 229, 220, 223, 205, 188, 152, 122, 61, 17, 14, 14,
+  15, 17, 14, 14, 16, 27, 175, 195, 210, 211, 202, 203, 172, 132, 87, 15,
+  16, 152, 232, 204, 229, 199, 150, 148, 126, 54, 15, 14, 15, 18, 14, 14,
+  18, 14, 14, 20, 207, 217, 214, 205, 193, 154, 136, 89, 14, 14, 14, 14,
+  95, 216, 223, 218, 198, 200, 176, 159, 107, 55, 14, 17, 14, 25, 16, 19,
+  16, 194, 217, 223, 211, 206, 181, 137, 126, 56, 14, 15, 14, 14, 16, 14,
+  14, 14, 14, 15, 229, 219, 236, 208, 207, 193, 179, 134, 98, 42, 14, 14,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 22, 79, 233, 221, 232, 211, 197, 157, 128, 84, 16, 14, 14, 14,
+  14, 14, 14, 15, 14, 181, 222, 225, 199, 199, 169, 161, 107, 35, 26, 15,
+  150, 217, 227, 218, 216, 185, 150, 113, 59, 18, 14, 14, 14, 14, 20, 14,
+  14, 14, 14, 100, 223, 224, 229, 197, 189, 186, 81, 47, 15, 134, 210, 233,
+  213, 207, 164, 157, 136, 59, 16, 14, 14, 14, 14, 14, 14, 19, 14, 14,
+  90, 213, 217, 220, 198, 189, 162, 109, 60, 14, 16, 15, 182, 215, 232, 188,
+  205, 202, 186, 164, 87, 16, 14, 19, 14, 14, 14, 16, 14, 15, 14, 14,
+  14, 14, 16, 14, 14, 20, 200, 219, 229, 226, 195, 193, 172, 116, 47, 15,
+  14, 14, 14, 14, 14, 14, 14, 22, 14, 186, 234, 218, 204, 185, 147, 90,
+  67, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  16, 14, 14, 14, 15, 167, 209, 218, 228, 200, 198, 178, 157, 111, 16, 14,
+  14, 15, 14, 14, 200, 230, 223, 215, 143, 132, 93, 47, 14, 14, 17, 15,
+  210, 240, 241, 239, 214, 197, 157, 93, 31, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 159, 217, 224, 209, 206, 173, 139, 85, 14, 15, 14, 27, 229,
+  215, 211, 217, 194, 164, 147, 113, 35, 14, 15, 14, 16, 14, 16, 14, 16,
+  214, 219, 220, 218, 210, 181, 154, 132, 73, 14, 16, 15, 14, 16, 15, 186,
+  222, 234, 208, 203, 195, 169, 136, 69, 18, 14, 14, 15, 17, 14, 14, 14,
+  15, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 16, 167, 224, 222, 207, 208, 208, 186, 167, 120, 48, 14, 16, 14, 179,
+  227, 238, 231, 194, 170, 176, 69, 39, 154, 218, 208, 208, 206, 209, 176, 150,
+  95, 14, 14, 14, 46, 240, 230, 232, 236, 173, 172, 124, 111, 52, 16, 14,
+  14, 67, 209, 218, 216, 229, 211, 188, 173, 82, 19, 14, 14, 14, 16, 14,
+  14, 14, 14, 14, 14, 227, 217, 219, 192, 136, 152, 97, 14, 14, 14, 16,
+  15, 14, 14, 15, 72, 92, 104, 95, 100, 107, 98, 120, 93, 104, 102, 109,
+  111, 137, 240, 229, 214, 209, 206, 161, 152, 109, 25, 16, 16, 14, 16, 15,
+  222, 229, 222, 222, 211, 162, 161, 132, 38, 14, 14, 17, 14, 14, 14, 14,
+  14, 15, 164, 214, 217, 220, 198, 202, 175, 122, 81, 16, 53, 225, 227, 224,
+  203, 189, 152, 134, 82, 26, 14, 15, 20, 14, 14, 17, 14, 14, 16, 14,
+  217, 215, 211, 200, 185, 161, 148, 79, 14, 16, 16, 14, 164, 223, 222, 218,
+  194, 208, 167, 148, 107, 54, 14, 14, 14, 19, 14, 14, 19, 225, 226, 224,
+  214, 200, 169, 132, 116, 47, 14, 18, 15, 14, 14, 14, 14, 14, 18, 104,
+  231, 230, 223, 217, 210, 192, 165, 141, 102, 15, 14, 17, 14, 14, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 14, 14, 14, 14, 14, 181,
+  233, 230, 232, 220, 185, 154, 107, 64, 14, 16, 14, 14, 15, 14, 14, 14,
+  24, 226, 229, 222, 210, 195, 167, 152, 82, 15, 15, 18, 214, 217, 231, 225,
+  198, 175, 132, 109, 36, 14, 19, 14, 20, 14, 15, 14, 14, 14, 14, 81,
+  228, 229, 223, 217, 193, 164, 104, 33, 15, 213, 231, 217, 219, 186, 176, 150,
+  111, 35, 14, 14, 16, 14, 14, 14, 14, 14, 14, 19, 89, 210, 222, 218,
+  209, 167, 167, 116, 33, 15, 14, 16, 227, 218, 225, 218, 203, 204, 204, 183,
+  198, 87, 19, 14, 14, 14, 14, 14, 18, 18, 20, 14, 14, 16, 14, 14,
+  14, 78, 225, 226, 227, 213, 211, 203, 183, 102, 31, 15, 15, 15, 14, 14,
+  14, 18, 14, 18, 20, 224, 229, 234, 215, 137, 136, 132, 44, 15, 18, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  15, 65, 227, 228, 217, 213, 211, 176, 165, 126, 41, 14, 14, 18, 14, 139,
+  231, 227, 224, 185, 130, 124, 73, 14, 14, 14, 14, 52, 240, 236, 241, 235,
+  215, 161, 152, 92, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 169,
+  221, 227, 222, 202, 172, 150, 67, 14, 14, 14, 105, 225, 217, 211, 215, 199,
+  157, 132, 105, 14, 14, 15, 14, 14, 17, 14, 14, 24, 219, 215, 231, 206,
+  209, 162, 165, 111, 29, 18, 15, 14, 15, 15, 29, 223, 228, 229, 207, 215,
+  192, 170, 114, 75, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 181, 223,
+  223, 213, 213, 208, 198, 179, 116, 45, 16, 14, 40, 229, 237, 229, 234, 199,
+  189, 124, 41, 14, 182, 218, 205, 219, 219, 203, 185, 181, 84, 14, 19, 14,
+  197, 234, 240, 227, 217, 185, 134, 132, 93, 15, 19, 14, 14, 161, 225, 220,
+  226, 220, 214, 207, 159, 68, 21, 14, 14, 14, 14, 14, 14, 15, 14, 15,
+  139, 218, 225, 209, 189, 162, 145, 95, 22, 14, 14, 17, 14, 40, 170, 232,
+  225, 226, 228, 229, 227, 223, 223, 227, 224, 221, 223, 217, 239, 233, 229, 219,
+  215, 224, 198, 165, 137, 107, 15, 15, 16, 14, 15, 56, 229, 218, 233, 207,
+  208, 173, 147, 100, 15, 14, 14, 18, 14, 18, 14, 20, 14, 21, 107, 219,
+  225, 218, 205, 188, 176, 122, 48, 15, 150, 225, 225, 213, 210, 172, 136, 118,
+  52, 26, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 217, 229, 217, 204,
+  186, 150, 126, 78, 14, 19, 14, 14, 206, 218, 221, 213, 203, 188, 165, 145,
+  92, 15, 14, 14, 21, 14, 14, 14, 60, 218, 227, 222, 206, 202, 162, 145,
+  102, 14, 14, 14, 14, 21, 14, 14, 14, 14, 14, 139, 232, 227, 225, 217,
+  210, 189, 162, 132, 85, 15, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 200, 234, 233, 232, 221,
+  183, 148, 116, 50, 14, 15, 14, 14, 14, 14, 15, 14, 55, 227, 230, 229,
+  210, 198, 173, 143, 72, 16, 15, 56, 229, 229, 231, 225, 181, 157, 105, 81,
+  20, 14, 14, 14, 15, 14, 15, 14, 14, 14, 14, 120, 230, 232, 225, 217,
+  194, 172, 97, 21, 55, 229, 230, 219, 222, 179, 161, 128, 85, 28, 14, 14,
+  16, 14, 14, 14, 14, 14, 14, 15, 130, 216, 230, 220, 208, 164, 159, 107,
+  22, 14, 14, 15, 219, 225, 227, 223, 210, 211, 217, 218, 202, 205, 206, 181,
+  113, 48, 21, 14, 14, 14, 14, 14, 22, 14, 14, 19, 14, 152, 237, 234,
+  225, 215, 213, 199, 207, 178, 155, 157, 173, 188, 185, 185, 185, 185, 195, 195,
+  188, 240, 225, 210, 203, 148, 116, 118, 22, 15, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 27, 217, 220,
+  224, 220, 209, 195, 185, 139, 44, 16, 15, 14, 56, 215, 232, 225, 202, 167,
+  137, 85, 35, 15, 14, 14, 14, 132, 241, 242, 238, 234, 204, 157, 137, 60,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 183, 227, 232, 223, 202,
+  175, 145, 61, 14, 18, 14, 161, 233, 222, 213, 208, 188, 155, 130, 95, 14,
+  14, 14, 14, 14, 14, 14, 15, 69, 232, 224, 229, 206, 205, 165, 155, 98,
+  21, 15, 14, 14, 16, 14, 67, 232, 232, 229, 211, 218, 190, 159, 118, 53,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 182, 226, 227, 219, 214, 210,
+  199, 189, 122, 47, 14, 14, 165, 238, 236, 240, 199, 175, 164, 79, 26, 14,
+  181, 221, 217, 220, 210, 208, 186, 173, 85, 16, 14, 34, 228, 240, 241, 231,
+  207, 172, 124, 116, 49, 14, 14, 14, 19, 189, 223, 228, 221, 217, 213, 216,
+  200, 176, 155, 162, 164, 170, 172, 178, 179, 181, 183, 188, 210, 236, 238, 225,
+  193, 152, 130, 72, 14, 18, 16, 14, 25, 200, 231, 226, 239, 236, 231, 232,
+  229, 224, 219, 220, 218, 224, 232, 223, 220, 215, 229, 235, 218, 220, 197, 172,
+  137, 92, 15, 16, 16, 14, 15, 105, 233, 229, 233, 217, 198, 167, 145, 82,
+  15, 14, 14, 15, 17, 14, 14, 16, 14, 14, 154, 234, 228, 216, 220, 194,
+  197, 116, 32, 19, 198, 227, 220, 215, 205, 165, 141, 116, 32, 18, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 28, 223, 225, 221, 210, 190, 182, 113, 61,
+  14, 14, 14, 22, 220, 225, 220, 216, 208, 195, 165, 139, 82, 14, 14, 14,
+  14, 14, 14, 16, 109, 229, 228, 226, 210, 203, 159, 134, 93, 14, 14, 14,
+  14, 18, 14, 14, 14, 14, 14, 188, 233, 230, 223, 220, 210, 188, 155, 124,
+  65, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 26, 219, 235, 236, 229, 224, 175, 141, 116, 27,
+  14, 14, 15, 14, 14, 14, 16, 14, 128, 232, 234, 231, 206, 192, 173, 128,
+  47, 16, 14, 145, 240, 238, 232, 221, 178, 145, 98, 55, 14, 14, 14, 15,
+  14, 14, 14, 14, 14, 14, 14, 178, 234, 234, 234, 218, 192, 176, 84, 14,
+  134, 232, 225, 220, 223, 181, 154, 132, 53, 19, 14, 15, 15, 14, 14, 14,
+  14, 16, 14, 14, 188, 218, 231, 223, 207, 162, 152, 102, 14, 14, 14, 15,
+  225, 228, 217, 211, 220, 221, 210, 199, 202, 216, 223, 217, 208, 206, 200, 192,
+  90, 21, 19, 16, 14, 14, 16, 14, 14, 195, 239, 233, 217, 216, 221, 208,
+  214, 213, 218, 229, 229, 229, 227, 229, 230, 217, 242, 234, 241, 234, 234, 227,
+  189, 159, 116, 109, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 190, 221, 226, 225, 206, 209,
+  182, 169, 73, 19, 19, 18, 167, 239, 232, 220, 172, 141, 126, 45, 14, 17,
+  14, 14, 14, 208, 236, 243, 227, 222, 185, 152, 114, 31, 14, 14, 14, 14,
+  16, 14, 14, 14, 14, 15, 14, 218, 232, 236, 224, 202, 172, 134, 54, 14,
+  14, 14, 195, 233, 224, 215, 205, 179, 152, 126, 73, 14, 14, 14, 14, 16,
+  14, 15, 14, 154, 236, 229, 228, 217, 205, 170, 143, 84, 14, 14, 14, 14,
+  15, 14, 136, 236, 232, 229, 210, 214, 186, 143, 120, 33, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 190, 229, 231, 221, 215, 214, 206, 194, 128, 47,
+  14, 20, 233, 237, 231, 236, 194, 181, 132, 42, 15, 14, 179, 224, 225, 221,
+  206, 215, 189, 173, 90, 18, 14, 136, 244, 241, 240, 226, 197, 155, 116, 87,
+  16, 14, 14, 15, 43, 214, 216, 225, 228, 225, 217, 216, 206, 199, 199, 215,
+  214, 219, 225, 228, 229, 230, 232, 235, 227, 232, 232, 223, 178, 148, 141, 75,
+  14, 15, 16, 18, 136, 245, 244, 238, 234, 229, 220, 221, 225, 226, 225, 224,
+  225, 219, 219, 219, 213, 218, 225, 224, 219, 215, 197, 176, 130, 65, 15, 18,
+  14, 14, 14, 179, 239, 234, 228, 217, 185, 162, 130, 61, 14, 15, 14, 14,
+  16, 14, 14, 14, 14, 14, 192, 238, 231, 218, 222, 194, 197, 105, 19, 52,
+  230, 228, 216, 219, 197, 155, 141, 97, 15, 14, 14, 17, 14, 14, 14, 15,
+  14, 15, 14, 79, 231, 221, 220, 217, 178, 193, 102, 42, 16, 14, 16, 89,
+  232, 231, 222, 213, 208, 197, 159, 124, 65, 15, 14, 14, 14, 14, 17, 14,
+  188, 238, 225, 223, 214, 195, 150, 120, 71, 14, 15, 14, 14, 16, 14, 14,
+  14, 14, 14, 221, 234, 230, 225, 217, 209, 188, 154, 122, 47, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15,
+  14, 14, 64, 235, 239, 238, 227, 222, 167, 128, 109, 14, 14, 14, 16, 14,
+  14, 14, 14, 14, 200, 233, 234, 231, 206, 189, 173, 111, 26, 14, 14, 209,
+  244, 240, 229, 217, 178, 130, 109, 27, 14, 15, 14, 19, 14, 14, 14, 14,
+  14, 14, 14, 210, 236, 235, 238, 218, 192, 175, 69, 14, 202, 232, 218, 218,
+  217, 173, 147, 130, 31, 14, 14, 16, 14, 14, 14, 14, 14, 15, 14, 14,
+  214, 222, 231, 221, 202, 159, 141, 98, 14, 14, 14, 14, 206, 223, 206, 197,
+  217, 228, 222, 225, 234, 232, 226, 226, 232, 236, 225, 207, 215, 185, 79, 17,
+  14, 14, 14, 14, 19, 217, 231, 229, 214, 215, 218, 214, 206, 211, 218, 225,
+  226, 222, 223, 230, 229, 216, 236, 225, 233, 214, 229, 220, 155, 148, 126, 87,
+  15, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 18, 14, 118, 234, 230, 227, 214, 214, 178, 195, 111, 14,
+  14, 82, 229, 237, 227, 205, 155, 124, 82, 23, 14, 17, 14, 14, 21, 231,
+  231, 238, 222, 200, 170, 150, 87, 15, 15, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 38, 236, 234, 239, 224, 203, 178, 118, 39, 14, 14, 27, 225, 234,
+  225, 218, 205, 178, 152, 109, 48, 14, 14, 14, 14, 14, 14, 15, 14, 195,
+  232, 226, 222, 220, 194, 176, 134, 72, 14, 15, 14, 15, 14, 14, 193, 239,
+  234, 229, 215, 205, 182, 130, 109, 18, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 194, 233, 232, 221, 217, 217, 215, 203, 136, 49, 14, 118, 234, 236,
+  232, 210, 209, 176, 109, 24, 14, 14, 179, 227, 226, 217, 214, 220, 202, 183,
+  97, 14, 33, 222, 245, 239, 237, 218, 178, 152, 105, 53, 14, 14, 14, 14,
+  109, 225, 217, 223, 224, 221, 222, 217, 214, 205, 203, 211, 215, 219, 221, 223,
+  225, 227, 228, 229, 234, 229, 218, 203, 157, 148, 143, 45, 19, 14, 15, 63,
+  234, 230, 237, 241, 225, 217, 202, 190, 188, 183, 176, 173, 179, 162, 169, 202,
+  207, 225, 224, 218, 220, 210, 194, 179, 122, 44, 15, 18, 14, 14, 20, 223,
+  238, 234, 223, 219, 178, 162, 118, 39, 14, 15, 14, 14, 14, 14, 14, 14,
+  15, 21, 220, 234, 236, 220, 217, 193, 170, 100, 14, 134, 239, 226, 215, 213,
+  182, 157, 134, 54, 14, 14, 14, 16, 14, 14, 14, 15, 14, 14, 14, 150,
+  233, 226, 220, 209, 161, 179, 97, 24, 16, 14, 16, 185, 232, 231, 224, 217,
+  202, 189, 152, 113, 38, 14, 16, 14, 14, 16, 14, 14, 222, 242, 226, 221,
+  214, 183, 145, 118, 40, 14, 14, 14, 14, 14, 14, 14, 14, 14, 30, 236,
+  237, 232, 225, 220, 211, 192, 154, 114, 31, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 130, 240,
+  238, 237, 227, 216, 164, 128, 82, 14, 15, 14, 15, 14, 14, 16, 14, 16,
+  229, 235, 236, 226, 207, 188, 170, 97, 15, 14, 18, 234, 245, 240, 230, 208,
+  172, 111, 93, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 22, 226,
+  236, 236, 239, 218, 200, 172, 60, 22, 233, 236, 225, 224, 206, 159, 134, 104,
+  18, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 21, 228, 225, 233, 220,
+  193, 159, 141, 81, 14, 15, 14, 14, 116, 197, 211, 193, 188, 186, 200, 230,
+  205, 208, 218, 229, 233, 229, 227, 229, 228, 209, 210, 145, 17, 14, 23, 14,
+  92, 237, 228, 231, 220, 210, 206, 203, 194, 194, 192, 197, 192, 183, 186, 194,
+  189, 190, 199, 194, 193, 175, 183, 147, 143, 126, 130, 50, 19, 14, 21, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 44, 237, 233, 228, 225, 217, 200, 205, 126, 17, 17, 206, 244, 235,
+  217, 179, 150, 102, 35, 14, 14, 14, 14, 15, 76, 236, 228, 232, 225, 178,
+  159, 139, 59, 14, 18, 14, 14, 14, 14, 16, 14, 14, 14, 14, 109, 240,
+  238, 238, 222, 205, 183, 105, 29, 14, 18, 84, 240, 234, 223, 217, 194, 172,
+  154, 95, 26, 14, 14, 18, 14, 14, 15, 14, 16, 217, 232, 231, 223, 220,
+  189, 172, 132, 60, 14, 16, 14, 14, 14, 24, 214, 233, 234, 230, 218, 200,
+  182, 130, 87, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 194, 235,
+  230, 221, 220, 221, 217, 206, 141, 53, 17, 209, 226, 237, 234, 203, 181, 139,
+  72, 16, 14, 14, 179, 225, 229, 218, 218, 215, 204, 186, 95, 14, 136, 243,
+  239, 238, 235, 209, 164, 150, 90, 24, 14, 18, 14, 14, 189, 229, 225, 224,
+  221, 221, 217, 207, 198, 189, 175, 170, 182, 192, 186, 192, 193, 194, 198, 199,
+  194, 194, 183, 164, 143, 157, 132, 22, 14, 16, 16, 141, 241, 225, 233, 224,
+  200, 194, 185, 162, 148, 147, 150, 154, 162, 162, 175, 195, 206, 213, 219, 225,
+  225, 214, 198, 172, 107, 26, 14, 15, 14, 14, 47, 237, 234, 233, 219, 217,
+  176, 155, 102, 22, 14, 14, 14, 14, 14, 18, 14, 14, 14, 75, 238, 236,
+  234, 226, 200, 202, 130, 84, 14, 195, 236, 227, 218, 214, 170, 159, 124, 24,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 193, 235, 234, 225, 203,
+  169, 157, 105, 14, 14, 14, 14, 206, 231, 233, 224, 215, 199, 178, 143, 107,
+  18, 14, 14, 14, 14, 14, 14, 21, 235, 241, 232, 221, 210, 170, 150, 118,
+  18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 72, 239, 234, 230, 222, 217,
+  207, 188, 147, 109, 20, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 179, 235, 237, 236, 228, 203,
+  167, 134, 50, 14, 15, 14, 15, 14, 14, 15, 14, 42, 238, 236, 236, 219,
+  210, 192, 164, 84, 14, 14, 53, 244, 245, 240, 235, 199, 172, 111, 63, 14,
+  14, 14, 15, 15, 15, 15, 14, 14, 14, 14, 75, 234, 240, 238, 237, 215,
+  205, 152, 49, 65, 239, 234, 231, 225, 197, 169, 134, 81, 14, 14, 14, 14,
+  14, 14, 16, 14, 15, 14, 14, 79, 234, 231, 234, 215, 183, 150, 134, 49,
+  14, 14, 14, 14, 30, 104, 182, 202, 193, 189, 179, 181, 215, 211, 211, 219,
+  213, 206, 216, 232, 209, 225, 214, 192, 104, 15, 14, 15, 176, 238, 228, 225,
+  220, 206, 192, 178, 162, 157, 152, 157, 152, 145, 132, 134, 136, 147, 137, 150,
+  143, 159, 172, 132, 161, 126, 120, 31, 20, 14, 20, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 14, 218,
+  230, 227, 233, 220, 214, 200, 165, 104, 124, 245, 240, 225, 194, 157, 120, 65,
+  14, 14, 19, 14, 14, 16, 170, 232, 231, 220, 216, 157, 150, 116, 32, 14,
+  16, 14, 14, 14, 14, 19, 14, 14, 14, 14, 188, 233, 238, 238, 217, 203,
+  188, 95, 22, 14, 16, 162, 241, 234, 219, 219, 183, 167, 137, 82, 14, 14,
+  14, 17, 14, 14, 14, 14, 50, 233, 238, 236, 224, 209, 179, 162, 124, 36,
+  15, 15, 14, 14, 14, 60, 228, 234, 234, 229, 217, 195, 175, 136, 57, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 194, 233, 231, 225, 222, 222,
+  213, 204, 152, 71, 122, 230, 231, 229, 222, 211, 141, 132, 37, 14, 14, 14,
+  186, 230, 230, 225, 220, 214, 204, 189, 116, 14, 215, 243, 235, 239, 231, 200,
+  155, 128, 54, 14, 14, 14, 14, 14, 219, 226, 226, 220, 217, 217, 205, 170,
+  143, 139, 128, 116, 143, 148, 152, 147, 148, 150, 150, 150, 136, 155, 152, 145,
+  139, 141, 98, 14, 14, 17, 18, 214, 236, 239, 225, 209, 185, 175, 145, 114,
+  84, 90, 97, 104, 114, 89, 92, 114, 217, 218, 221, 221, 222, 205, 183, 154,
+  85, 16, 14, 14, 14, 14, 122, 243, 232, 234, 217, 208, 175, 145, 84, 14,
+  14, 14, 14, 14, 14, 23, 14, 14, 14, 165, 243, 238, 227, 226, 190, 210,
+  111, 57, 14, 217, 230, 232, 226, 208, 169, 154, 105, 14, 16, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 24, 217, 233, 237, 228, 195, 172, 134, 97, 14,
+  14, 14, 26, 224, 231, 234, 228, 215, 199, 172, 130, 98, 14, 14, 14, 14,
+  14, 14, 14, 93, 240, 242, 236, 224, 206, 159, 148, 105, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 14, 143, 238, 234, 228, 217, 215, 206, 183, 141, 100,
+  14, 14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 24, 211, 231, 235, 230, 226, 181, 161, 128, 26, 14,
+  14, 14, 15, 14, 16, 15, 14, 113, 236, 235, 236, 206, 209, 189, 141, 63,
+  14, 14, 124, 245, 245, 239, 236, 185, 154, 114, 28, 14, 14, 16, 15, 15,
+  15, 15, 14, 14, 14, 14, 172, 236, 238, 234, 228, 203, 199, 105, 32, 137,
+  242, 230, 232, 221, 188, 176, 126, 47, 14, 14, 14, 14, 14, 14, 16, 14,
+  16, 14, 15, 183, 235, 234, 229, 202, 172, 139, 114, 21, 16, 14, 14, 14,
+  14, 26, 71, 118, 157, 195, 199, 173, 167, 181, 195, 210, 221, 229, 226, 220,
+  232, 209, 193, 208, 134, 26, 14, 14, 199, 227, 229, 209, 213, 206, 183, 139,
+  82, 78, 78, 92, 100, 105, 104, 109, 113, 114, 95, 98, 93, 89, 128, 95,
+  97, 78, 65, 22, 17, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 165, 234, 226, 234, 224,
+  215, 211, 207, 216, 235, 248, 230, 202, 162, 136, 73, 28, 14, 14, 15, 14,
+  14, 14, 216, 229, 228, 214, 192, 152, 134, 89, 16, 14, 14, 14, 15, 14,
+  15, 14, 14, 14, 14, 30, 225, 230, 237, 236, 208, 183, 170, 76, 16, 14,
+  14, 214, 235, 232, 219, 222, 181, 167, 116, 71, 14, 14, 14, 14, 14, 14,
+  14, 14, 124, 238, 238, 233, 221, 203, 173, 145, 107, 18, 14, 14, 14, 14,
+  14, 126, 236, 236, 231, 223, 210, 188, 159, 141, 29, 18, 16, 14, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 193, 233, 229, 225, 220, 220, 214, 217, 185, 118,
+  226, 229, 232, 222, 203, 190, 141, 95, 16, 14, 14, 14, 183, 232, 229, 229,
+  218, 220, 208, 190, 154, 73, 232, 238, 235, 234, 215, 179, 152, 90, 27, 14,
+  14, 14, 14, 19, 229, 225, 218, 215, 202, 205, 186, 120, 75, 76, 82, 89,
+  109, 114, 118, 114, 116, 116, 113, 113, 116, 132, 109, 107, 97, 67, 45, 14,
+  18, 14, 71, 235, 232, 234, 215, 202, 182, 152, 84, 38, 16, 14, 14, 14,
+  15, 14, 14, 30, 225, 232, 232, 220, 216, 197, 170, 130, 68, 14, 15, 14,
+  14, 14, 202, 243, 234, 232, 215, 194, 162, 120, 65, 14, 14, 14, 14, 14,
+  14, 16, 14, 14, 31, 217, 240, 234, 223, 219, 188, 195, 104, 30, 24, 231,
+  232, 231, 219, 203, 165, 132, 81, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 79, 236, 227, 232, 220, 178, 159, 124, 60, 14, 14, 16, 93, 235,
+  234, 234, 225, 211, 195, 169, 113, 75, 14, 18, 14, 14, 17, 14, 17, 190,
+  241, 242, 234, 218, 202, 152, 136, 71, 14, 15, 14, 14, 14, 14, 14, 14,
+  17, 14, 192, 236, 234, 224, 215, 208, 200, 178, 134, 93, 14, 14, 14, 14,
+  14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14,
+  14, 32, 228, 229, 228, 216, 217, 155, 154, 122, 14, 14, 14, 14, 18, 14,
+  16, 14, 14, 175, 227, 231, 231, 188, 203, 181, 114, 48, 14, 14, 173, 243,
+  243, 232, 233, 167, 132, 116, 14, 14, 14, 19, 14, 15, 15, 14, 14, 14,
+  14, 14, 219, 239, 231, 225, 213, 178, 185, 75, 19, 170, 242, 228, 230, 211,
+  170, 169, 97, 18, 15, 14, 14, 14, 14, 14, 17, 14, 14, 14, 14, 222,
+  234, 237, 227, 192, 167, 139, 107, 14, 19, 14, 14, 14, 14, 14, 15, 14,
+  14, 48, 116, 122, 150, 181, 195, 189, 192, 219, 225, 217, 208, 224, 197, 193,
+  164, 43, 14, 14, 215, 226, 238, 202, 211, 206, 176, 102, 26, 21, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 17, 20, 14, 22, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 14, 18, 100, 236, 227, 228, 223, 216, 225, 215, 217,
+  240, 222, 225, 183, 145, 126, 45, 14, 14, 14, 14, 15, 15, 14, 229, 234,
+  236, 217, 178, 167, 130, 73, 14, 16, 14, 15, 16, 15, 19, 14, 14, 16,
+  14, 82, 242, 234, 237, 230, 193, 164, 154, 64, 14, 14, 14, 240, 238, 236,
+  222, 223, 165, 154, 102, 65, 14, 14, 14, 14, 14, 15, 17, 14, 178, 236,
+  235, 229, 221, 203, 167, 128, 98, 14, 14, 14, 15, 14, 14, 169, 238, 235,
+  225, 210, 199, 176, 136, 132, 14, 18, 15, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 189, 230, 225, 217, 215, 211, 209, 217, 206, 165, 237, 214, 222, 228,
+  199, 128, 145, 31, 14, 14, 14, 14, 183, 229, 222, 226, 214, 219, 215, 197,
+  182, 170, 231, 229, 229, 217, 181, 159, 145, 65, 16, 14, 14, 18, 15, 45,
+  235, 232, 217, 215, 200, 207, 165, 68, 18, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 19, 14, 14, 15, 18, 14, 208, 231,
+  230, 228, 224, 181, 161, 113, 50, 16, 14, 14, 14, 14, 15, 14, 27, 46,
+  240, 229, 218, 208, 205, 186, 154, 105, 56, 14, 18, 14, 14, 14, 234, 242,
+  234, 231, 210, 179, 155, 105, 59, 14, 17, 14, 14, 14, 14, 14, 15, 18,
+  76, 240, 236, 229, 217, 209, 186, 164, 93, 15, 48, 242, 232, 227, 207, 194,
+  157, 98, 55, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 150, 245,
+  221, 227, 208, 165, 155, 126, 37, 14, 15, 14, 162, 237, 234, 231, 217, 207,
+  193, 161, 100, 54, 14, 19, 14, 14, 18, 14, 14, 215, 242, 238, 234, 210,
+  199, 139, 126, 50, 14, 18, 14, 14, 14, 14, 14, 14, 14, 14, 225, 232,
+  228, 231, 216, 202, 198, 182, 116, 68, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 20, 14, 14, 17, 14, 14, 14, 120, 222, 211,
+  211, 197, 179, 159, 113, 84, 14, 14, 14, 21, 14, 14, 14, 14, 14, 203,
+  216, 222, 207, 202, 178, 172, 145, 30, 14, 14, 188, 228, 231, 229, 206, 179,
+  143, 87, 16, 16, 14, 14, 14, 14, 15, 14, 23, 14, 14, 82, 231, 229,
+  220, 214, 186, 173, 128, 42, 16, 193, 219, 226, 222, 189, 161, 155, 79, 14,
+  14, 14, 14, 14, 15, 16, 14, 14, 14, 16, 68, 225, 229, 229, 234, 165,
+  157, 145, 76, 14, 19, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  32, 54, 120, 161, 207, 208, 219, 210, 204, 213, 198, 178, 150, 64, 14, 14,
+  231, 230, 223, 213, 194, 192, 164, 98, 14, 14, 14, 14, 15, 17, 14, 14,
+  20, 14, 14, 18, 14, 14, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 14, 16, 216, 217, 233, 210, 214, 215, 218, 221, 226, 221, 189, 143,
+  136, 59, 19, 14, 14, 14, 14, 14, 14, 15, 231, 235, 238, 215, 198, 178,
+  113, 56, 19, 14, 16, 14, 15, 19, 14, 16, 18, 14, 14, 178, 230, 237,
+  230, 206, 192, 161, 120, 30, 21, 14, 73, 245, 234, 229, 217, 197, 165, 141,
+  98, 23, 14, 14, 14, 14, 14, 14, 14, 14, 213, 238, 229, 236, 208, 179,
+  150, 120, 65, 14, 14, 14, 14, 14, 14, 208, 229, 228, 213, 211, 200, 152,
+  118, 78, 14, 14, 15, 14, 17, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 185, 225,
+  222, 211, 202, 203, 205, 209, 208, 214, 225, 225, 225, 182, 165, 137, 87, 14,
+  14, 14, 14, 14, 182, 228, 223, 213, 206, 209, 206, 208, 206, 208, 215, 216,
+  208, 205, 154, 150, 90, 45, 14, 17, 14, 14, 14, 105, 230, 225, 221, 205,
+  198, 193, 148, 60, 14, 14, 15, 16, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 16, 19, 14, 14, 19, 14, 24, 229, 243, 234, 229, 199, 186,
+  169, 90, 30, 14, 14, 14, 14, 14, 15, 14, 20, 137, 225, 226, 216, 190,
+  203, 162, 152, 114, 21, 19, 14, 14, 14, 71, 238, 236, 240, 211, 215, 167,
+  141, 111, 14, 14, 18, 14, 14, 16, 14, 14, 14, 14, 221, 236, 236, 224,
+  215, 165, 186, 126, 63, 14, 109, 234, 219, 213, 211, 157, 143, 107, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 227, 240, 219, 225, 190, 165,
+  124, 105, 18, 14, 14, 14, 216, 239, 227, 234, 204, 209, 182, 132, 114, 14,
+  16, 14, 14, 14, 14, 14, 18, 238, 232, 239, 227, 210, 169, 148, 126, 30,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 224, 230, 225, 218, 210, 197,
+  188, 165, 104, 53, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 24,
+  15, 14, 14, 14, 14, 15, 14, 14, 14, 152, 215, 205, 204, 188, 164, 150,
+  118, 64, 14, 14, 14, 15, 14, 14, 14, 14, 15, 207, 208, 210, 189, 178,
+  155, 137, 104, 16, 14, 14, 182, 223, 224, 225, 202, 172, 152, 87, 14, 16,
+  14, 15, 14, 14, 27, 14, 16, 21, 14, 193, 233, 208, 210, 190, 161, 148,
+  90, 25, 14, 179, 220, 215, 206, 185, 150, 126, 64, 16, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 148, 228, 221, 232, 192, 175, 152, 130, 44, 14,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 45,
+  159, 217, 217, 215, 205, 207, 185, 162, 134, 46, 14, 29, 230, 227, 221, 206,
+  189, 183, 150, 82, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 15, 15,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14,
+  173, 219, 222, 210, 207, 209, 214, 217, 213, 189, 152, 126, 89, 42, 16, 14,
+  14, 14, 14, 14, 14, 14, 227, 232, 238, 216, 193, 173, 132, 57, 15, 14,
+  14, 18, 16, 14, 21, 14, 17, 14, 26, 223, 238, 225, 222, 178, 159, 137,
+  93, 19, 14, 14, 122, 244, 232, 227, 211, 189, 162, 134, 98, 25, 14, 14,
+  14, 14, 14, 14, 14, 22, 213, 238, 228, 225, 203, 169, 132, 92, 32, 14,
+  14, 14, 14, 14, 25, 215, 227, 219, 199, 200, 181, 141, 116, 61, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 185, 224, 219, 207, 198, 198,
+  199, 198, 205, 209, 217, 217, 206, 178, 132, 105, 46, 14, 14, 14, 14, 14,
+  178, 223, 217, 209, 204, 207, 208, 199, 199, 202, 204, 203, 194, 159, 148, 102,
+  84, 19, 14, 14, 14, 14, 14, 122, 220, 221, 218, 204, 181, 161, 120, 54,
+  16, 14, 17, 15, 15, 14, 14, 14, 14, 14, 14, 14, 26, 15, 14, 14,
+  14, 18, 21, 14, 15, 56, 235, 243, 234, 222, 195, 176, 120, 53, 14, 14,
+  14, 14, 15, 18, 23, 19, 15, 186, 217, 216, 210, 192, 186, 152, 143, 98,
+  18, 16, 14, 14, 14, 134, 243, 236, 232, 202, 194, 152, 134, 105, 15, 14,
+  16, 16, 14, 16, 17, 18, 14, 78, 238, 230, 222, 202, 192, 157, 150, 98,
+  31, 14, 93, 225, 216, 205, 192, 145, 152, 109, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 84, 232, 235, 221, 210, 178, 143, 118, 56, 15, 14,
+  18, 31, 229, 241, 228, 228, 205, 198, 169, 130, 97, 14, 14, 14, 15, 14,
+  14, 19, 55, 237, 232, 238, 222, 205, 161, 132, 93, 19, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 27, 228, 232, 225, 210, 208, 203, 182, 164, 104, 39,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 19, 14, 16,
+  14, 14, 14, 14, 15, 189, 217, 209, 199, 182, 147, 136, 114, 35, 14, 14,
+  14, 14, 14, 14, 15, 14, 61, 217, 208, 208, 192, 173, 150, 118, 69, 14,
+  14, 14, 186, 225, 220, 220, 190, 167, 128, 67, 14, 17, 14, 14, 14, 14,
+  14, 14, 14, 14, 17, 239, 229, 207, 209, 170, 147, 141, 68, 18, 14, 176,
+  221, 210, 198, 186, 155, 120, 59, 16, 14, 14, 17, 19, 17, 14, 14, 15,
+  14, 15, 218, 229, 222, 226, 170, 157, 136, 87, 18, 14, 14, 14, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 122, 227, 210, 207,
+  200, 200, 172, 154, 128, 36, 19, 81, 225, 221, 216, 204, 185, 176, 137, 72,
+  14, 14, 14, 14, 14, 14, 14, 14, 19, 18, 14, 14, 14, 16, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 97, 221, 209, 214,
+  208, 205, 207, 206, 193, 159, 128, 114, 41, 23, 14, 14, 14, 14, 14, 14,
+  14, 14, 224, 232, 234, 210, 185, 159, 111, 37, 14, 14, 14, 15, 16, 14,
+  14, 14, 16, 14, 93, 236, 236, 223, 215, 155, 143, 122, 67, 14, 14, 14,
+  188, 241, 228, 225, 203, 178, 162, 118, 49, 14, 14, 14, 14, 14, 14, 15,
+  14, 65, 219, 234, 224, 214, 193, 157, 128, 82, 15, 14, 14, 14, 18, 15,
+  73, 221, 221, 211, 200, 183, 165, 134, 111, 32, 19, 16, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 181, 224, 217, 206, 198, 193, 198, 194, 193, 197,
+  206, 214, 178, 172, 109, 75, 20, 14, 14, 14, 14, 14, 175, 222, 216, 205,
+  204, 207, 203, 194, 189, 190, 195, 193, 185, 134, 134, 89, 52, 14, 14, 15,
+  14, 14, 14, 167, 219, 221, 215, 206, 202, 176, 120, 56, 19, 14, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 22, 18, 14, 14, 18, 14,
+  14, 120, 233, 236, 226, 204, 192, 165, 126, 52, 16, 14, 14, 14, 14, 14,
+  14, 14, 14, 229, 221, 205, 207, 188, 172, 141, 132, 75, 14, 14, 14, 14,
+  14, 198, 235, 225, 219, 192, 179, 155, 98, 59, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 173, 232, 219, 221, 204, 165, 159, 122, 69, 15, 14, 90, 225,
+  217, 211, 188, 141, 147, 82, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14,
+  14, 199, 228, 225, 217, 190, 159, 134, 107, 22, 15, 14, 20, 67, 234, 232,
+  227, 219, 206, 182, 152, 126, 65, 14, 14, 16, 14, 14, 14, 15, 139, 232,
+  232, 232, 214, 192, 152, 114, 68, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 53, 231, 234, 226, 206, 210, 210, 181, 162, 109, 39, 15, 14, 14, 14,
+  15, 15, 15, 15, 14, 19, 14, 14, 21, 15, 14, 14, 14, 14, 14, 14,
+  27, 213, 217, 223, 204, 181, 137, 124, 98, 15, 15, 14, 14, 15, 14, 14,
+  14, 14, 137, 222, 217, 213, 195, 178, 154, 114, 52, 14, 14, 14, 183, 227,
+  218, 216, 189, 164, 113, 57, 14, 16, 14, 14, 14, 14, 14, 24, 14, 14,
+  120, 232, 218, 224, 202, 154, 139, 126, 44, 14, 14, 179, 221, 208, 198, 186,
+  164, 132, 61, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 130, 238, 233,
+  223, 200, 185, 122, 111, 52, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 16, 23, 14, 113, 227, 220, 211, 192, 189, 162, 154,
+  122, 27, 16, 116, 225, 218, 210, 202, 183, 179, 139, 75, 14, 14, 14, 17,
+  18, 14, 14, 16, 14, 14, 14, 14, 19, 14, 14, 44, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 39, 215, 202, 217, 193, 200, 203, 189,
+  172, 152, 118, 85, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14, 223, 229,
+  233, 204, 182, 157, 97, 21, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  217, 219, 226, 229, 198, 152, 143, 93, 40, 14, 14, 22, 221, 233, 220, 221,
+  198, 173, 161, 113, 54, 16, 14, 15, 14, 14, 14, 14, 14, 122, 225, 226,
+  217, 208, 190, 143, 114, 79, 14, 14, 14, 16, 17, 14, 139, 217, 217, 207,
+  200, 179, 159, 141, 95, 15, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 183, 221, 218, 209, 199, 199, 195, 194, 188, 193, 199, 194, 154, 147,
+  93, 42, 14, 17, 14, 14, 14, 14, 175, 222, 215, 200, 198, 203, 199, 193,
+  192, 195, 192, 192, 167, 141, 105, 85, 18, 14, 14, 15, 16, 14, 14, 190,
+  213, 218, 214, 207, 183, 150, 104, 43, 14, 14, 14, 14, 15, 14, 14, 14,
+  14, 14, 14, 14, 24, 14, 15, 30, 14, 14, 14, 14, 14, 179, 228, 225,
+  220, 188, 193, 172, 107, 41, 14, 14, 18, 15, 14, 15, 19, 24, 38, 234,
+  203, 199, 205, 204, 170, 143, 122, 56, 14, 14, 14, 14, 16, 222, 223, 211,
+  207, 189, 164, 152, 105, 38, 14, 16, 14, 14, 17, 15, 14, 18, 57, 229,
+  222, 217, 217, 192, 155, 154, 114, 40, 14, 15, 97, 221, 213, 215, 197, 145,
+  143, 65, 14, 14, 14, 14, 14, 14, 14, 14, 16, 18, 40, 226, 220, 219,
+  204, 167, 130, 134, 84, 14, 16, 16, 14, 136, 235, 224, 222, 203, 203, 170,
+  139, 116, 39, 14, 14, 19, 14, 14, 14, 14, 194, 225, 224, 221, 203, 178,
+  152, 114, 55, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 95, 234, 234,
+  229, 203, 208, 214, 179, 167, 128, 55, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 16, 14, 14, 26, 159, 14, 14, 15, 14, 61, 225, 223, 234,
+  216, 186, 145, 126, 79, 14, 14, 14, 14, 15, 14, 14, 14, 14, 199, 230,
+  228, 217, 203, 175, 147, 95, 31, 14, 14, 14, 183, 228, 220, 217, 192, 170,
+  150, 69, 14, 14, 14, 14, 14, 14, 14, 21, 14, 27, 224, 217, 226, 222,
+  185, 147, 132, 98, 27, 14, 14, 185, 217, 215, 204, 190, 170, 159, 71, 14,
+  15, 20, 16, 14, 14, 16, 18, 14, 19, 233, 236, 232, 219, 173, 155, 120,
+  85, 24, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 20, 14, 178, 227, 226, 208, 195, 189, 157, 143, 89, 14, 14, 109,
+  227, 217, 214, 207, 197, 186, 159, 104, 18, 14, 14, 14, 14, 14, 14, 14,
+  17, 16, 25, 14, 14, 14, 20, 126, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 198, 200, 219, 179, 195, 192, 164, 147, 139, 90, 44,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 223, 225, 232, 208, 190, 165,
+  137, 23, 14, 14, 14, 14, 14, 14, 14, 14, 14, 85, 241, 211, 229, 214,
+  162, 159, 143, 61, 18, 14, 14, 43, 231, 223, 217, 217, 200, 176, 165, 114,
+  35, 14, 14, 15, 15, 14, 14, 14, 14, 170, 229, 219, 210, 210, 192, 137,
+  97, 67, 14, 14, 14, 14, 14, 14, 185, 216, 217, 205, 207, 182, 157, 134,
+  93, 14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 182, 225,
+  222, 211, 204, 203, 204, 202, 195, 200, 183, 167, 139, 98, 79, 18, 14, 16,
+  14, 14, 14, 14, 176, 225, 215, 204, 195, 202, 202, 197, 202, 204, 198, 194,
+  148, 141, 92, 52, 14, 14, 15, 14, 14, 14, 14, 190, 213, 217, 206, 208,
+  204, 194, 162, 85, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 16, 41, 92, 17, 14, 14, 14, 14, 203, 218, 209, 209, 183, 195, 175,
+  136, 46, 14, 14, 14, 14, 14, 14, 14, 14, 105, 233, 214, 210, 194, 194,
+  175, 148, 118, 40, 14, 14, 14, 14, 53, 231, 211, 200, 194, 188, 155, 141,
+  93, 18, 14, 14, 14, 14, 14, 14, 14, 20, 175, 238, 217, 227, 205, 172,
+  150, 136, 93, 18, 14, 14, 98, 216, 211, 218, 197, 165, 172, 93, 16, 15,
+  16, 14, 14, 14, 16, 19, 16, 14, 162, 224, 217, 221, 182, 150, 105, 118,
+  44, 14, 14, 16, 14, 193, 230, 211, 217, 192, 199, 159, 136, 102, 24, 14,
+  14, 20, 14, 19, 14, 15, 217, 224, 223, 206, 190, 165, 147, 104, 38, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 136, 234, 234, 231, 214, 214, 216,
+  195, 183, 159, 107, 14, 15, 14, 14, 14, 14, 14, 14, 21, 14, 14, 14,
+  14, 20, 89, 210, 14, 14, 15, 14, 128, 226, 233, 235, 223, 189, 162, 128,
+  54, 14, 14, 14, 14, 14, 14, 14, 14, 26, 232, 239, 239, 223, 207, 170,
+  145, 78, 18, 14, 15, 14, 181, 225, 221, 220, 198, 183, 189, 104, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 134, 232, 223, 239, 203, 162, 145, 114, 63,
+  18, 14, 15, 188, 218, 221, 214, 194, 182, 176, 97, 19, 14, 14, 15, 15,
+  14, 14, 14, 14, 137, 248, 240, 233, 207, 170, 102, 136, 52, 14, 14, 14,
+  17, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 29, 14, 14, 30,
+  227, 229, 222, 200, 197, 172, 145, 124, 64, 14, 19, 102, 229, 219, 216, 216,
+  199, 198, 185, 152, 40, 22, 14, 14, 15, 14, 14, 15, 14, 14, 14, 14,
+  22, 79, 143, 194, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14,
+  14, 157, 211, 217, 193, 200, 182, 148, 130, 116, 59, 19, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 223, 225, 232, 214, 204, 183, 183, 48, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 213, 226, 230, 238, 178, 145, 162, 114, 35,
+  14, 14, 14, 104, 231, 217, 217, 214, 211, 190, 179, 147, 24, 14, 14, 14,
+  14, 14, 14, 14, 32, 199, 230, 221, 210, 216, 176, 147, 98, 48, 14, 14,
+  14, 14, 14, 20, 214, 219, 221, 209, 214, 181, 150, 124, 73, 17, 14, 14,
+  14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 186, 229, 225, 217, 207, 208,
+  207, 205, 203, 194, 176, 150, 130, 72, 57, 14, 14, 16, 14, 14, 15, 14,
+  179, 229, 222, 209, 197, 200, 199, 202, 207, 211, 203, 189, 150, 118, 84, 19,
+  14, 14, 21, 14, 14, 14, 14, 172, 218, 221, 215, 208, 199, 197, 188, 136,
+  48, 18, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 104, 182, 148,
+  14, 14, 14, 15, 14, 214, 217, 213, 204, 188, 197, 181, 167, 81, 24, 14,
+  14, 14, 14, 14, 14, 23, 185, 227, 225, 220, 200, 189, 173, 150, 107, 27,
+  14, 14, 14, 14, 116, 222, 203, 197, 193, 194, 172, 162, 73, 14, 14, 14,
+  16, 14, 14, 14, 28, 68, 226, 226, 208, 226, 197, 172, 152, 111, 71, 14,
+  18, 14, 93, 217, 222, 220, 192, 181, 190, 139, 32, 14, 14, 14, 15, 17,
+  14, 14, 15, 37, 220, 208, 214, 211, 167, 150, 113, 95, 18, 14, 14, 14,
+  16, 223, 226, 215, 207, 190, 190, 162, 136, 81, 15, 14, 14, 15, 14, 17,
+  14, 40, 224, 225, 217, 204, 182, 150, 134, 84, 22, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 172, 236, 235, 232, 224, 217, 213, 208, 202, 190, 185,
+  179, 185, 182, 188, 185, 186, 186, 186, 175, 194, 198, 183, 186, 211, 202, 141,
+  14, 14, 14, 14, 193, 230, 240, 235, 220, 181, 165, 114, 30, 14, 14, 14,
+  14, 14, 14, 14, 14, 68, 245, 242, 243, 229, 209, 162, 136, 71, 14, 14,
+  14, 14, 170, 223, 221, 219, 206, 202, 197, 170, 57, 26, 14, 14, 14, 14,
+  14, 16, 73, 220, 236, 226, 232, 175, 139, 150, 89, 33, 14, 14, 14, 172,
+  221, 218, 220, 209, 197, 194, 157, 92, 16, 14, 14, 15, 14, 14, 16, 59,
+  235, 243, 241, 227, 181, 147, 104, 93, 20, 14, 14, 24, 90, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 132, 239, 227, 230, 213,
+  189, 157, 145, 118, 52, 15, 23, 65, 230, 223, 221, 216, 202, 205, 208, 194,
+  205, 183, 170, 178, 186, 183, 183, 195, 198, 203, 192, 200, 219, 225, 197, 97,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 105, 218, 219,
+  210, 189, 165, 147, 116, 76, 32, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 216, 219, 232, 218, 209, 195, 197, 132, 49, 15, 14, 14, 14, 14,
+  14, 24, 85, 234, 222, 236, 221, 152, 141, 143, 68, 18, 14, 16, 14, 179,
+  230, 221, 224, 205, 219, 204, 198, 181, 52, 20, 19, 15, 14, 14, 14, 14,
+  150, 219, 225, 221, 217, 214, 154, 152, 104, 24, 14, 14, 14, 14, 14, 67,
+  231, 224, 226, 206, 214, 181, 148, 116, 37, 22, 14, 14, 15, 14, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 193, 234, 229, 218, 210, 211, 209, 206, 204, 202,
+  165, 136, 114, 65, 29, 14, 15, 15, 14, 14, 15, 14, 190, 233, 225, 217,
+  210, 210, 204, 208, 215, 217, 198, 170, 148, 95, 48, 14, 19, 14, 18, 14,
+  14, 14, 14, 139, 224, 224, 223, 211, 204, 209, 218, 217, 199, 189, 188, 182,
+  179, 181, 181, 182, 185, 183, 188, 185, 225, 234, 200, 50, 14, 14, 19, 14,
+  15, 215, 225, 222, 207, 203, 200, 189, 211, 198, 165, 157, 167, 179, 182, 182,
+  189, 188, 229, 227, 217, 208, 209, 208, 169, 145, 95, 16, 14, 14, 14, 14,
+  179, 205, 204, 202, 194, 200, 193, 186, 143, 82, 111, 97, 118, 100, 100, 111,
+  205, 216, 239, 223, 210, 214, 165, 152, 139, 87, 37, 14, 17, 14, 76, 219,
+  228, 221, 207, 199, 198, 182, 100, 26, 14, 14, 17, 18, 14, 14, 55, 170,
+  224, 213, 206, 178, 143, 137, 120, 49, 14, 14, 14, 14, 65, 227, 228, 218,
+  210, 197, 173, 155, 141, 67, 14, 14, 14, 14, 14, 14, 14, 107, 230, 221,
+  220, 198, 179, 141, 120, 72, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 197, 237, 236, 224, 224, 210, 207, 210, 209, 199, 210, 220, 223, 225, 227,
+  229, 231, 230, 231, 232, 230, 233, 227, 219, 224, 200, 114, 14, 14, 14, 14,
+  225, 230, 246, 233, 211, 170, 159, 107, 17, 15, 14, 14, 14, 14, 14, 14,
+  15, 102, 249, 243, 240, 223, 200, 152, 126, 64, 14, 14, 14, 14, 162, 221,
+  219, 220, 213, 210, 183, 222, 182, 100, 17, 14, 14, 18, 14, 79, 224, 242,
+  246, 219, 195, 159, 116, 137, 60, 14, 14, 14, 14, 152, 223, 217, 220, 221,
+  213, 206, 203, 192, 93, 24, 14, 16, 15, 14, 76, 230, 249, 238, 236, 210,
+  137, 97, 147, 33, 14, 14, 14, 81, 199, 14, 22, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 92, 143, 243, 239, 220, 225, 207, 185, 148, 148, 114,
+  40, 14, 14, 16, 225, 222, 222, 216, 205, 207, 217, 216, 209, 205, 213, 226,
+  233, 228, 229, 235, 237, 236, 224, 236, 216, 188, 169, 71, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 18, 14, 14, 76, 229, 217, 214, 179, 141, 136,
+  102, 46, 17, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 211, 215,
+  230, 223, 217, 208, 186, 209, 167, 45, 14, 14, 14, 14, 14, 120, 239, 223,
+  240, 229, 167, 145, 126, 109, 31, 14, 14, 14, 14, 207, 232, 223, 225, 203,
+  223, 209, 205, 203, 218, 186, 188, 186, 182, 205, 217, 231, 235, 232, 217, 224,
+  224, 213, 132, 165, 100, 14, 14, 14, 14, 14, 14, 116, 237, 231, 232, 207,
+  213, 183, 155, 116, 14, 19, 14, 14, 16, 14, 16, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 198, 235, 229, 225, 214, 217, 210, 206, 205, 206, 148, 130, 84, 60,
+  14, 14, 14, 14, 14, 14, 15, 14, 192, 238, 229, 220, 217, 217, 209, 214,
+  219, 216, 193, 152, 132, 81, 14, 14, 14, 16, 14, 16, 14, 14, 14, 105,
+  225, 223, 221, 213, 218, 204, 209, 218, 221, 227, 233, 229, 226, 227, 226, 229,
+  229, 228, 231, 231, 216, 195, 139, 15, 17, 14, 21, 14, 15, 211, 225, 223,
+  215, 217, 211, 207, 197, 210, 221, 221, 225, 228, 226, 220, 203, 218, 225, 240,
+  236, 210, 213, 190, 162, 134, 85, 14, 14, 14, 14, 14, 221, 207, 217, 215,
+  200, 203, 198, 193, 210, 207, 236, 220, 235, 238, 234, 235, 222, 229, 207, 225,
+  217, 207, 148, 143, 113, 64, 16, 14, 14, 14, 56, 217, 219, 224, 222, 217,
+  198, 214, 210, 139, 46, 15, 14, 14, 19, 47, 164, 242, 219, 227, 203, 128,
+  114, 102, 97, 14, 16, 14, 14, 14, 148, 229, 230, 223, 207, 202, 169, 154,
+  134, 56, 14, 14, 14, 14, 14, 14, 15, 192, 238, 225, 217, 197, 176, 139,
+  124, 68, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 202, 238, 231,
+  217, 217, 210, 210, 207, 210, 216, 218, 224, 232, 230, 229, 229, 231, 230, 226,
+  231, 215, 215, 231, 214, 190, 164, 61, 14, 14, 14, 56, 228, 249, 232, 234,
+  198, 188, 134, 89, 14, 15, 14, 14, 20, 14, 17, 14, 14, 214, 245, 241,
+  239, 228, 162, 178, 113, 47, 14, 14, 14, 16, 59, 218, 206, 226, 213, 229,
+  210, 211, 209, 218, 213, 208, 202, 207, 238, 240, 241, 240, 234, 209, 155, 118,
+  134, 53, 17, 14, 14, 14, 23, 57, 223, 217, 217, 223, 225, 221, 209, 203,
+  214, 208, 189, 181, 200, 228, 234, 233, 234, 240, 211, 126, 92, 102, 52, 14,
+  14, 14, 14, 179, 227, 204, 205, 200, 198, 198, 192, 195, 190, 192, 193, 185,
+  236, 235, 233, 229, 234, 232, 215, 190, 147, 167, 141, 59, 18, 14, 14, 14,
+  219, 211, 210, 199, 227, 209, 216, 211, 217, 218, 224, 223, 225, 226, 229, 225,
+  231, 224, 229, 220, 176, 200, 141, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 14, 14, 25, 216, 234, 225, 220, 172, 124, 116, 59, 18, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 109, 228, 226, 227, 233, 209,
+  213, 205, 207, 215, 217, 214, 217, 216, 238, 234, 238, 237, 220, 189, 137, 105,
+  118, 50, 14, 14, 15, 15, 14, 229, 228, 226, 220, 214, 210, 210, 211, 211,
+  205, 221, 219, 222, 229, 230, 227, 228, 226, 225, 225, 225, 219, 195, 162, 132,
+  68, 14, 14, 14, 14, 14, 14, 190, 240, 238, 231, 229, 198, 148, 141, 104,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 195, 229,
+  225, 221, 207, 207, 210, 218, 208, 189, 136, 136, 78, 25, 14, 14, 16, 14,
+  16, 14, 14, 14, 204, 238, 229, 224, 220, 220, 221, 222, 222, 204, 173, 147,
+  113, 48, 15, 14, 15, 15, 14, 14, 14, 14, 18, 50, 234, 229, 209, 208,
+  202, 209, 214, 214, 219, 221, 230, 233, 231, 236, 232, 228, 227, 235, 232, 217,
+  190, 198, 89, 14, 14, 16, 14, 14, 14, 234, 217, 235, 221, 217, 216, 215,
+  207, 217, 221, 220, 219, 225, 215, 200, 194, 136, 235, 231, 214, 216, 215, 183,
+  152, 122, 79, 14, 14, 14, 14, 68, 230, 225, 224, 218, 211, 213, 210, 213,
+  219, 225, 226, 232, 233, 236, 237, 237, 229, 227, 222, 214, 197, 176, 137, 107,
+  92, 20, 15, 14, 16, 14, 14, 214, 217, 224, 224, 218, 214, 214, 210, 208,
+  209, 199, 190, 198, 218, 234, 234, 231, 227, 190, 139, 118, 111, 82, 33, 14,
+  14, 14, 20, 14, 194, 237, 237, 228, 219, 207, 157, 162, 111, 14, 14, 14,
+  14, 14, 14, 14, 24, 229, 234, 236, 217, 213, 143, 165, 134, 35, 21, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 183, 223, 204, 209, 203, 202, 202,
+  205, 205, 202, 197, 210, 218, 217, 215, 210, 213, 209, 205, 205, 203, 200, 195,
+  154, 148, 148, 57, 15, 14, 14, 95, 225, 244, 224, 223, 157, 136, 124, 53,
+  15, 14, 14, 14, 14, 14, 16, 21, 14, 232, 235, 239, 218, 204, 145, 148,
+  92, 26, 14, 14, 17, 14, 20, 183, 218, 221, 169, 185, 218, 214, 214, 222,
+  227, 232, 238, 242, 240, 242, 236, 216, 170, 139, 130, 132, 63, 31, 15, 15,
+  14, 14, 14, 29, 210, 219, 215, 199, 194, 209, 214, 208, 207, 214, 211, 209,
+  221, 232, 234, 231, 211, 176, 136, 120, 114, 69, 23, 14, 14, 15, 15, 206,
+  234, 227, 236, 239, 239, 235, 232, 237, 234, 233, 232, 232, 221, 224, 225, 221,
+  221, 215, 195, 169, 145, 136, 85, 37, 14, 14, 14, 14, 141, 197, 203, 209,
+  209, 220, 218, 217, 202, 203, 204, 206, 205, 214, 210, 205, 200, 192, 199, 170,
+  126, 145, 95, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16,
+  141, 222, 243, 230, 198, 157, 126, 93, 37, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 61, 206, 219, 199, 205, 198, 216, 215, 210, 221,
+  231, 239, 246, 248, 236, 231, 226, 204, 155, 124, 120, 132, 48, 25, 14, 14,
+  14, 14, 14, 227, 231, 232, 221, 211, 203, 206, 200, 192, 199, 210, 208, 206,
+  216, 214, 210, 216, 217, 217, 217, 224, 217, 190, 145, 107, 76, 14, 14, 14,
+  14, 14, 18, 226, 243, 239, 229, 224, 193, 148, 126, 78, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 14, 14, 15, 188, 217, 217, 209, 200, 198,
+  204, 207, 195, 167, 124, 97, 53, 17, 14, 14, 16, 14, 14, 14, 15, 14,
+  185, 230, 229, 226, 219, 222, 218, 215, 197, 172, 134, 107, 81, 37, 14, 14,
+  14, 14, 14, 14, 16, 14, 14, 23, 197, 214, 211, 195, 190, 192, 195, 205,
+  208, 220, 222, 229, 225, 234, 233, 230, 229, 226, 209, 181, 136, 159, 78, 16,
+  14, 14, 14, 18, 15, 224, 228, 229, 203, 204, 209, 207, 202, 215, 221, 217,
+  207, 199, 167, 124, 93, 176, 236, 234, 215, 209, 213, 147, 128, 100, 35, 14,
+  14, 14, 14, 130, 234, 232, 224, 218, 215, 213, 210, 213, 218, 221, 222, 229,
+  225, 233, 230, 229, 218, 217, 206, 181, 155, 137, 118, 104, 40, 15, 15, 14,
+  15, 15, 14, 107, 215, 213, 208, 207, 215, 219, 216, 202, 217, 218, 220, 223,
+  226, 232, 228, 217, 182, 143, 114, 130, 92, 29, 14, 14, 16, 14, 15, 21,
+  207, 226, 221, 213, 215, 198, 147, 141, 95, 14, 20, 16, 18, 19, 14, 14,
+  45, 232, 232, 229, 217, 208, 134, 134, 79, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 18, 137, 205, 199, 173, 167, 162, 178, 194, 204, 205, 203,
+  203, 211, 208, 203, 202, 202, 199, 183, 181, 198, 183, 150, 104, 114, 107, 30,
+  14, 14, 14, 161, 232, 236, 217, 206, 161, 126, 132, 30, 16, 14, 14, 14,
+  14, 14, 14, 14, 16, 225, 224, 227, 211, 190, 155, 141, 92, 15, 14, 14,
+  14, 14, 14, 67, 181, 214, 189, 170, 152, 167, 197, 226, 236, 236, 234, 233,
+  219, 208, 193, 178, 157, 128, 98, 76, 21, 15, 14, 14, 14, 14, 14, 14,
+  71, 154, 205, 190, 155, 159, 172, 165, 198, 208, 210, 207, 204, 202, 190, 178,
+  172, 130, 100, 104, 65, 22, 14, 14, 14, 14, 43, 227, 235, 235, 237, 239,
+  224, 218, 215, 219, 218, 217, 218, 211, 217, 217, 214, 200, 176, 155, 130, 113,
+  130, 90, 41, 21, 14, 14, 14, 14, 81, 182, 194, 173, 128, 186, 197, 210,
+  190, 194, 193, 194, 192, 193, 197, 190, 186, 181, 167, 136, 105, 105, 54, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 53, 224, 225, 236, 215,
+  159, 145, 116, 63, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 17, 105, 186, 205, 193, 178, 165, 181, 206, 226, 234, 239, 239, 235,
+  214, 197, 183, 169, 141, 107, 81, 68, 14, 14, 14, 14, 14, 15, 14, 209,
+  204, 204, 197, 188, 192, 197, 197, 192, 199, 200, 189, 179, 178, 161, 137, 141,
+  205, 200, 202, 203, 188, 165, 126, 97, 30, 14, 15, 14, 14, 16, 45, 228,
+  232, 231, 214, 200, 165, 130, 105, 48, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 14, 14, 19, 176, 209, 209, 202, 192, 189, 194, 194, 178, 147,
+  120, 73, 27, 14, 14, 14, 14, 14, 14, 14, 15, 14, 161, 225, 217, 193,
+  208, 214, 216, 207, 193, 164, 134, 116, 43, 21, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 130, 190, 207, 165, 167, 178, 182, 188, 189, 199, 206, 211,
+  204, 217, 216, 210, 204, 192, 164, 126, 113, 111, 47, 14, 14, 14, 14, 16,
+  14, 172, 226, 217, 200, 203, 207, 203, 198, 198, 189, 178, 172, 162, 137, 98,
+  15, 206, 225, 225, 202, 186, 209, 136, 148, 124, 18, 16, 14, 14, 14, 186,
+  234, 232, 225, 213, 205, 204, 200, 195, 183, 186, 186, 190, 189, 194, 193, 190,
+  185, 178, 161, 143, 122, 104, 85, 67, 14, 14, 14, 14, 14, 15, 14, 22,
+  189, 200, 199, 179, 157, 164, 189, 204, 203, 208, 206, 203, 189, 182, 167, 159,
+  136, 136, 114, 76, 34, 15, 14, 14, 14, 14, 14, 65, 229, 228, 218, 217,
+  211, 189, 147, 116, 72, 14, 14, 14, 14, 14, 14, 14, 100, 240, 236, 227,
+  202, 197, 143, 145, 82, 14, 14, 21, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 56, 147, 175, 167, 159, 148, 143, 147, 150, 152, 150, 154, 159, 159, 150,
+  145, 143, 139, 130, 104, 118, 100, 95, 92, 104, 75, 16, 14, 14, 14, 192,
+  214, 192, 154, 114, 116, 90, 104, 17, 14, 14, 15, 14, 14, 14, 16, 14,
+  79, 229, 207, 157, 122, 105, 102, 97, 75, 14, 14, 14, 14, 14, 14, 14,
+  73, 130, 169, 176, 169, 170, 164, 161, 159, 159, 161, 161, 172, 152, 139, 137,
+  132, 93, 44, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 57, 137, 170,
+  169, 167, 155, 136, 126, 136, 141, 139, 145, 148, 141, 126, 116, 98, 64, 37,
+  16, 14, 14, 15, 15, 15, 81, 219, 204, 193, 152, 148, 176, 172, 169, 167,
+  173, 170, 167, 162, 150, 150, 137, 126, 124, 120, 114, 107, 87, 46, 19, 14,
+  14, 14, 14, 15, 17, 97, 172, 179, 155, 173, 155, 137, 139, 139, 147, 137,
+  136, 137, 134, 130, 134, 126, 102, 102, 113, 92, 36, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 147, 220, 232, 211, 186, 137, 116, 84, 35,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18,
+  82, 173, 181, 159, 157, 152, 148, 148, 162, 175, 185, 189, 165, 145, 136, 130,
+  116, 81, 39, 14, 14, 14, 15, 15, 14, 14, 14, 139, 185, 185, 173, 152,
+  130, 126, 126, 130, 118, 136, 132, 120, 126, 118, 102, 105, 193, 182, 170, 157,
+  148, 143, 130, 120, 18, 14, 18, 14, 14, 27, 72, 223, 210, 206, 173, 152,
+  130, 120, 100, 39, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14,
+  14, 16, 145, 210, 161, 148, 134, 128, 130, 132, 113, 102, 122, 56, 18, 14,
+  14, 14, 14, 14, 15, 14, 14, 14, 147, 219, 197, 154, 148, 150, 152, 148,
+  136, 116, 98, 82, 23, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  55, 130, 181, 155, 132, 137, 141, 145, 143, 152, 157, 162, 164, 165, 161, 148,
+  139, 136, 120, 100, 128, 82, 21, 14, 15, 18, 14, 14, 14, 75, 193, 185,
+  186, 162, 148, 126, 154, 152, 139, 130, 128, 118, 84, 57, 14, 225, 209, 188,
+  143, 126, 134, 85, 104, 98, 14, 14, 14, 14, 17, 220, 228, 226, 214, 204,
+  198, 188, 175, 162, 145, 143, 148, 150, 152, 152, 154, 150, 148, 136, 130, 126,
+  122, 100, 49, 19, 14, 14, 14, 14, 14, 14, 15, 14, 43, 92, 165, 185,
+  169, 148, 141, 141, 132, 137, 139, 139, 139, 147, 139, 134, 111, 97, 52, 21,
+  14, 14, 14, 14, 14, 14, 14, 98, 219, 202, 167, 155, 152, 143, 122, 111,
+  73, 14, 18, 15, 14, 14, 15, 14, 137, 217, 199, 167, 132, 132, 111, 137,
+  87, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 44, 67,
+  114, 124, 128, 126, 118, 116, 120, 128, 126, 139, 139, 124, 120, 126, 122, 111,
+  100, 104, 84, 95, 92, 67, 38, 14, 14, 14, 14, 185, 181, 157, 141, 100,
+  114, 109, 113, 37, 14, 14, 14, 14, 14, 14, 18, 14, 93, 211, 178, 126,
+  107, 100, 102, 107, 100, 20, 14, 14, 15, 14, 14, 14, 27, 19, 53, 109,
+  124, 130, 130, 128, 126, 132, 130, 126, 132, 118, 97, 65, 38, 19, 14, 14,
+  14, 14, 14, 14, 14, 16, 15, 14, 15, 14, 24, 59, 109, 137, 130, 118,
+  124, 118, 111, 109, 114, 116, 104, 89, 53, 34, 15, 14, 14, 16, 18, 14,
+  14, 14, 73, 185, 165, 169, 128, 116, 120, 118, 114, 120, 122, 124, 118, 114,
+  113, 111, 105, 107, 109, 107, 92, 78, 32, 17, 14, 14, 14, 14, 14, 14,
+  14, 28, 81, 102, 150, 145, 152, 141, 120, 118, 118, 109, 107, 113, 113, 105,
+  105, 113, 93, 85, 84, 52, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 67, 203, 208, 232, 194, 148, 136, 92, 48, 18, 14, 14, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 17, 47, 78, 109,
+  134, 128, 126, 128, 137, 143, 147, 145, 116, 109, 90, 64, 36, 18, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 40, 124, 152, 162, 148, 126, 114, 113, 118,
+  102, 118, 116, 111, 116, 105, 84, 79, 157, 141, 124, 111, 116, 120, 128, 130,
+  60, 14, 14, 14, 14, 14, 50, 219, 173, 162, 124, 107, 98, 107, 109, 53,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 15, 14, 14, 75, 170,
+  148, 132, 114, 113, 107, 109, 104, 104, 97, 39, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 84, 173, 167, 143, 143, 134, 122, 120, 120, 109, 85, 72,
+  15, 14, 14, 14, 14, 14, 14, 14, 21, 14, 14, 14, 15, 36, 97, 113,
+  107, 111, 118, 122, 124, 128, 132, 134, 143, 145, 137, 126, 118, 116, 120, 111,
+  84, 43, 14, 14, 16, 19, 14, 14, 14, 18, 90, 118, 169, 137, 116, 107,
+  109, 114, 128, 130, 124, 90, 44, 16, 16, 182, 170, 137, 116, 122, 97, 113,
+  113, 124, 36, 14, 16, 14, 44, 223, 221, 217, 205, 192, 176, 161, 124, 90,
+  102, 102, 104, 107, 109, 111, 114, 109, 113, 111, 102, 92, 75, 54, 23, 14,
+  14, 15, 14, 15, 14, 14, 20, 14, 14, 18, 40, 79, 122, 143, 128, 105,
+  126, 122, 111, 104, 104, 102, 84, 69, 63, 27, 14, 14, 14, 14, 14, 18,
+  14, 15, 14, 81, 183, 175, 162, 134, 122, 116, 124, 111, 76, 16, 14, 14,
+  14, 14, 15, 15, 139, 192, 176, 145, 132, 130, 120, 152, 130, 42, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 24, 36, 53, 69,
+  73, 72, 76, 79, 78, 85, 82, 76, 73, 78, 78, 71, 72, 78, 59, 64,
+  45, 18, 14, 14, 14, 14, 14, 92, 82, 78, 82, 69, 67, 75, 84, 54,
+  14, 16, 14, 14, 18, 21, 14, 14, 17, 82, 65, 81, 75, 78, 72, 79,
+  81, 28, 17, 14, 14, 14, 17, 14, 15, 14, 15, 18, 18, 31, 53, 72,
+  84, 82, 67, 53, 54, 44, 27, 15, 14, 14, 14, 14, 14, 14, 15, 14,
+  14, 15, 14, 14, 14, 14, 14, 14, 19, 24, 36, 56, 92, 85, 73, 69,
+  65, 53, 36, 22, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 36, 78,
+  84, 93, 82, 82, 79, 81, 79, 84, 85, 90, 87, 84, 78, 78, 76, 72,
+  64, 53, 28, 16, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14, 17, 14,
+  46, 48, 81, 97, 71, 73, 71, 68, 65, 69, 71, 69, 65, 84, 78, 57,
+  34, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 170, 210,
+  215, 207, 175, 113, 118, 61, 24, 14, 14, 14, 16, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 29, 33, 46, 67, 81,
+  90, 85, 67, 53, 57, 44, 29, 14, 14, 14, 14, 15, 16, 14, 14, 14,
+  14, 14, 14, 14, 23, 43, 69, 79, 75, 78, 76, 78, 72, 81, 73, 67,
+  63, 44, 27, 24, 92, 89, 90, 89, 93, 102, 104, 104, 55, 15, 14, 14,
+  14, 14, 19, 93, 124, 114, 85, 85, 82, 90, 105, 68, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 19, 15, 14, 24, 72, 90, 76, 68, 65,
+  69, 65, 68, 73, 47, 24, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14,
+  21, 50, 65, 85, 92, 84, 71, 72, 76, 75, 59, 49, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 18, 14, 14, 14, 19, 29, 48, 53, 57, 64,
+  69, 75, 81, 76, 75, 73, 73, 75, 68, 64, 61, 56, 19, 14, 14, 14,
+  14, 14, 14, 15, 14, 14, 21, 39, 89, 71, 67, 76, 60, 63, 64, 72,
+  67, 47, 24, 14, 14, 55, 71, 57, 68, 76, 53, 87, 79, 90, 56, 14,
+  16, 14, 98, 215, 213, 213, 195, 172, 152, 122, 69, 36, 40, 39, 39, 42,
+  41, 42, 43, 44, 46, 55, 52, 34, 18, 14, 14, 14, 14, 14, 14, 18,
+  14, 14, 16, 14, 14, 14, 14, 14, 18, 36, 61, 78, 79, 78, 68, 56,
+  48, 37, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 28,
+  76, 107, 107, 93, 116, 105, 128, 109, 85, 27, 15, 14, 14, 14, 14, 14,
+  73, 102, 114, 100, 93, 82, 76, 95, 102, 55, 24, 19, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 16, 14, 14, 14, 14, 15, 18, 16, 14, 14, 14,
+  14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 15, 14, 14, 15,
+  18, 14, 14, 18, 14, 14, 14, 14, 14, 14, 15, 19, 14, 15, 14, 18,
+  14, 14, 14, 18, 14, 18, 14, 14, 14, 14, 14, 15, 18, 15, 14, 14,
+  14, 16, 24, 14, 14, 18, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 20, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 16, 19, 16, 14, 14, 14, 22, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 16, 23, 15, 14, 14, 18, 16, 14, 14, 17, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 15, 16, 16, 14, 14,
+  14, 14, 15, 16, 16, 14, 14, 15, 14, 14, 14, 14, 19, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 17, 15, 14, 14, 14, 18,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 68, 194, 195, 202, 159, 134, 97,
+  85, 33, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 14, 18, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16,
+  16, 14, 14, 14, 14, 20, 16, 14, 18, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 18, 18, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 18, 15, 18, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 19, 15, 14, 14, 14, 14, 14, 14, 14,
+  18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 24,
+  15, 14, 14, 14, 15, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 16, 19, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 16, 16,
+  14, 15, 15, 17, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 17, 14, 14, 14, 16, 15, 14, 14, 14, 14, 14, 14,
+  14, 15, 18, 14, 18, 14, 14, 14, 14, 14, 17, 14, 14, 15, 162, 206,
+  197, 193, 178, 150, 124, 92, 42, 16, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 16, 16, 14, 14, 14, 14, 21, 14, 14, 15, 15, 14, 14, 14, 14,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 15, 15, 16, 16, 14, 14,
+  14, 21, 27, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14,
+  14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14,
+  14, 14, 14, 14, 19, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 17, 14, 14, 16, 14, 14, 14, 14, 14, 15, 14,
+  14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 22, 14, 19, 14,
+  16, 14, 14, 14, 14, 19, 14, 14, 14, 16, 14, 14, 22, 14, 14, 19,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 20, 19,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14,
+  14, 19, 16, 14, 14, 14, 14, 14, 14, 14, 15, 20, 14, 14, 14, 14,
+  14, 15, 15, 14, 14, 21, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 17, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 18, 14, 14, 14, 19, 14, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 18, 14, 14, 14, 14, 15, 16, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 35, 188, 183, 197, 179, 134, 87, 95, 56, 16, 14, 19,
+  16, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14,
+  14, 15, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 19, 18,
+  14, 14, 14, 15, 15, 14, 16, 14, 14, 14, 14, 14, 15, 14, 14, 14,
+  14, 14, 15, 14, 14, 17, 14, 14, 16, 14, 14, 17, 14, 14, 14, 14,
+  14, 14, 14, 15, 14, 14, 14, 16, 14, 14, 14, 15, 14, 14, 14, 19,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14,
+  14, 21, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 17,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 17, 14, 14,
+  14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 14, 14, 14, 14, 15, 16, 14, 14, 21, 14, 14,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14,
+  15, 14, 18, 14, 15, 14, 17, 16, 14, 20, 176, 190, 188, 188, 169, 141,
+  116, 82, 39, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 19, 15, 14, 15, 15, 16, 14, 14, 18, 14, 14, 14, 14, 14, 14,
+  14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 16, 14, 14, 14,
+  14, 14, 14, 15, 14, 14, 21, 14, 14, 16, 14, 14, 21, 14, 16, 14,
+  15, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 15, 14, 14,
+  14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16,
+  14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 16, 18, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14,
+  120, 183, 190, 161, 137, 97, 69, 75, 24, 16, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 14, 14, 14,
+  14, 14, 14, 15, 16, 14, 14, 14, 14, 14, 14, 16, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 14, 14, 14,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 17, 17, 14, 14, 14, 14, 14, 14, 14, 16,
+  14, 14, 14, 14, 14, 14, 14, 15, 14, 15, 14, 14, 14, 14, 14, 14,
+  14, 15, 14, 14, 14, 54, 194, 192, 199, 179, 169, 116, 111, 89, 26, 14,
+  14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  17, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14,
+  14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 16, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 41, 147, 183, 170, 124,
+  107, 107, 78, 53, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 18, 14, 14, 15,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 18, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 16,
+  16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14,
+  14, 79, 186, 173, 185, 172, 157, 111, 97, 69, 18, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 17, 16, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 18, 18, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 18, 15, 14, 14, 14, 16, 15, 15,
+  14, 14, 16, 16, 14, 14, 14, 14, 14, 15, 16, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 16, 16, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 14, 14,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 35, 104, 169, 172, 150, 97, 73, 78, 42, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 18, 18, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 15, 14, 16, 16, 16, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15,
+  14, 15, 15, 14, 14, 14, 14, 18, 14, 14, 14, 14, 14, 14, 14, 15,
+  14, 16, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 18, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 17, 14, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 16, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 18, 18, 16, 15, 15, 15, 14, 14, 14, 14, 16, 17, 126, 173, 162,
+  155, 137, 124, 90, 72, 44, 14, 14, 18, 15, 14, 15, 18, 18, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 15, 15, 16, 15, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14,
+  16, 14, 14, 15, 14, 14, 14, 15, 14, 14, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14,
+  14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 55, 161, 118, 100, 92, 72, 56, 72, 49, 14, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 122, 122, 136, 98, 85, 75, 71,
+  63, 42, 18, 17, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 15, 14, 15, 15, 15, 15, 15, 15, 15,
+  14, 14, 15, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 16, 18,
+  14, 14, 16, 14, 14, 14, 14, 14, 17, 14, 14, 14, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 16, 16, 15, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14,
+  16, 14, 14, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 15, 14, 15, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  14, 14, 14, 15, 15, 15, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15,
+  18, 16, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 18, 50, 134,
+  98, 67, 64, 73, 64, 79, 79, 56, 39, 28, 16, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 19,
+  16, 15, 15, 15, 15, 15, 15, 16, 14, 14, 14, 14, 14, 16, 14, 14,
+  14, 15, 15, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 18, 16, 14,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 16, 14, 14, 14, 18, 18, 14, 14, 14, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 18, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 16, 16, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16,
+  14, 14, 14, 14, 14, 87, 79, 109, 71, 65, 53, 59, 76, 63, 49, 42,
+  16, 14, 14, 14, 14, 14, 14, 14, 18, 16, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 15, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16,
+  19, 19, 20, 21, 23, 24, 24, 24, 26, 26, 24, 24, 26, 26, 26, 26,
+  26, 26, 26, 26, 23, 21, 21, 21, 21, 14, 14, 14, 14, 14, 20, 26,
+  21, 23, 29, 29, 29, 26, 26, 24, 20, 18, 19, 14, 14, 14, 14, 14,
+  14, 15, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15,
+  15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 15, 15, 15, 14, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14,
+  15, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 16, 16, 16, 16, 15, 16, 15, 16, 15, 16, 16,
+  16, 16, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15,
+  15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 18, 18, 18, 18, 18, 16, 16, 16, 16, 16, 15,
+  15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 22, 18, 14, 14, 14, 16, 18, 20, 21, 26, 27, 26,
+  23, 21, 21, 15, 14, 14, 14, 14, 14, 14, 14, 14, 18, 14, 16, 19,
+  21, 24, 24, 26, 24, 21, 23, 21, 19, 18, 14, 14, 16, 14, 14, 14,
+  14, 14, 14, 27, 21, 24, 24, 23, 21, 21, 21, 19, 16, 14, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15,
+  15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15,
+  15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 14, 15, 14, 15, 14, 15, 14, 15, 14,
+  15, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 16, 19, 21, 21, 27,
+  32, 42, 57, 97, 128, 136, 128, 120, 130, 130, 128, 128, 126, 126, 120, 120,
+  120, 105, 104, 78, 44, 19, 14, 15, 14, 15, 42, 114, 118, 128, 111, 120,
+  136, 92, 104, 73, 21, 18, 19, 14, 14, 14, 14, 14, 14, 15, 16, 16,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 16, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 15, 16, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 18, 18, 16, 16, 15, 15, 15, 15, 15, 15, 16, 16, 18, 18, 16,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 18, 18, 18, 19, 18, 18, 18, 18, 16, 16, 15, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  18, 14, 14, 14, 23, 42, 75, 111, 105, 111, 141, 141, 113, 92, 60, 20,
+  18, 15, 14, 14, 14, 14, 14, 14, 15, 14, 20, 63, 105, 120, 111, 120,
+  120, 113, 120, 100, 60, 21, 16, 14, 16, 14, 14, 14, 14, 14, 23, 53,
+  111, 113, 118, 120, 120, 113, 97, 84, 23, 16, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 16, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 16, 18, 21, 29, 71, 137, 210, 224, 225, 229,
+  228, 224, 219, 216, 222, 221, 222, 221, 221, 222, 221, 221, 217, 206, 185, 143,
+  65, 21, 14, 14, 14, 15, 50, 188, 215, 228, 225, 230, 227, 203, 188, 136,
+  27, 16, 18, 14, 14, 14, 14, 14, 14, 14, 15, 16, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 16, 15,
+  15, 14, 14, 14, 14, 14, 14, 15, 15, 16, 16, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 16, 16,
+  18, 18, 18, 18, 16, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  19, 57, 145, 210, 218, 222, 229, 225, 205, 178, 118, 40, 19, 16, 15, 14,
+  14, 14, 14, 14, 14, 14, 34, 137, 205, 215, 218, 227, 225, 208, 202, 183,
+  114, 27, 18, 19, 14, 14, 14, 14, 14, 14, 24, 63, 215, 231, 228, 220,
+  213, 194, 179, 159, 64, 26, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 16, 19, 24, 68, 169, 227, 236, 236, 232, 232, 233, 235, 236, 238,
+  232, 232, 233, 232, 233, 234, 233, 232, 214, 206, 189, 145, 63, 15, 14, 14,
+  16, 16, 31, 195, 226, 241, 236, 242, 226, 197, 185, 124, 21, 15, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15, 16, 16,
+  16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 19, 15, 14, 15, 27, 141, 221,
+  231, 233, 234, 231, 217, 203, 154, 67, 20, 18, 15, 14, 14, 14, 14, 14,
+  17, 15, 57, 190, 237, 232, 229, 236, 232, 214, 208, 200, 122, 24, 18, 21,
+  14, 14, 14, 15, 14, 14, 16, 40, 228, 239, 238, 232, 224, 203, 179, 157,
+  102, 36, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 14, 21, 23,
+  23, 200, 224, 225, 240, 239, 238, 240, 238, 235, 234, 234, 233, 233, 234, 234,
+  234, 234, 236, 236, 225, 200, 173, 139, 21, 16, 16, 14, 14, 16, 32, 225,
+  232, 245, 242, 239, 211, 200, 150, 104, 21, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 18, 16, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 14, 14, 15, 16, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 16, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 24, 19, 14, 15, 16, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 19, 15, 16, 15, 15, 14, 14, 14, 14, 16, 15, 14, 14,
+  14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 18, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 19, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 14, 14, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14,
+  17, 18, 14, 14, 14, 15, 14, 14, 19, 20, 178, 225, 238, 240, 241, 237,
+  214, 193, 157, 89, 21, 29, 14, 14, 16, 14, 14, 14, 14, 16, 137, 219,
+  234, 239, 232, 243, 234, 229, 197, 178, 148, 23, 21, 14, 14, 14, 19, 14,
+  14, 29, 18, 169, 239, 245, 241, 234, 218, 193, 165, 143, 72, 20, 15, 19,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  14, 14, 14, 14, 19, 14, 14, 14, 14, 14, 14, 15, 14, 14, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 18,
+  18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 19, 23, 128, 215, 229, 234,
+  239, 236, 230, 228, 225, 216, 217, 219, 211, 211, 213, 210, 214, 211, 214, 208,
+  162, 143, 147, 124, 20, 15, 14, 14, 15, 16, 85, 236, 234, 245, 243, 241,
+  195, 189, 150, 55, 18, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 17, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 14, 14,
+  16, 14, 14, 14, 14, 14, 15, 20, 14, 14, 14, 14, 14, 15, 14, 14,
+  14, 17, 19, 16, 14, 14, 14, 14, 14, 18, 19, 18, 17, 15, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 16, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 17, 17, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 18, 14, 14, 15, 14, 14, 19, 18, 14, 14, 14, 16, 15, 14, 14,
+  15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 19, 19, 14, 14, 14,
+  19, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 16, 16, 16, 15, 18, 18, 16, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 16, 15, 15, 14, 16, 16, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 18, 18, 19, 14, 14, 17, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 17, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 19, 20, 183, 228, 238, 240, 241, 236, 216, 195, 152, 84,
+  21, 22, 14, 16, 15, 14, 14, 14, 16, 71, 204, 242, 236, 239, 236, 237,
+  237, 232, 199, 181, 148, 21, 21, 14, 15, 14, 14, 14, 18, 19, 67, 208,
+  241, 247, 243, 232, 211, 185, 150, 120, 34, 18, 15, 18, 14, 14, 19, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 15, 14, 16, 23, 21, 16, 14, 14, 14, 15, 15,
+  14, 14, 16, 15, 14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 15, 17, 16, 14, 14, 18, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 15, 14, 14, 14, 14, 14, 14, 14, 15, 16, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 15, 15, 15, 14,
+  14, 14, 14, 14, 14, 18, 20, 36, 220, 229, 233, 237, 236, 232, 226, 217,
+  206, 193, 186, 193, 182, 182, 183, 181, 185, 182, 183, 183, 176, 161, 147, 107,
+  20, 14, 14, 14, 16, 18, 152, 241, 234, 243, 243, 238, 197, 161, 147, 34,
+  18, 21, 14, 14, 14, 14, 14, 14, 14, 14, 15, 18, 16, 16, 14, 14,
+  14, 14, 14, 14, 15, 14, 14, 14, 14, 19, 23, 24, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 17, 15,
+  14, 14, 14, 14, 16, 15, 15, 14, 14, 14, 14, 15, 15, 16, 21, 16,
+  15, 15, 16, 15, 14, 14, 15, 16, 16, 15, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 15, 14, 14,
+  14, 14, 15, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 18,
+  16, 15, 18, 15, 15, 14, 15, 15, 20, 21, 18, 15, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 16, 21, 16, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 20, 23, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 15, 16, 20, 18, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 16, 19, 18, 18, 18, 16, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 20, 14, 14, 18, 15, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 14, 15, 14, 14, 16, 16, 14, 14, 14, 15, 14, 14, 14, 14,
+  18, 20, 183, 231, 239, 240, 240, 236, 217, 194, 152, 78, 24, 14, 14, 19,
+  14, 14, 15, 15, 18, 145, 235, 243, 234, 236, 242, 237, 236, 230, 200, 181,
+  141, 20, 18, 14, 14, 14, 14, 16, 20, 21, 172, 226, 243, 248, 242, 221,
+  200, 172, 128, 78, 20, 19, 30, 21, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 14, 14, 16, 18, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 14, 15, 20, 18, 18, 18, 15, 15, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 16, 15,
+  15, 14, 14, 14, 23, 19, 15, 15, 16, 16, 16, 15, 15, 14, 15, 18,
+  16, 16, 18, 19, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 15, 18, 16, 16, 15,
+  15, 15, 16, 18, 18, 16, 14, 15, 15, 16, 16, 14, 14, 14, 14, 14,
+  15, 19, 20, 124, 248, 236, 237, 232, 230, 225, 216, 202, 178, 150, 137, 134,
+  137, 128, 139, 143, 141, 145, 148, 143, 159, 132, 105, 65, 16, 14, 15, 16,
+  15, 18, 194, 238, 233, 240, 240, 230, 203, 126, 122, 24, 19, 16, 14, 14,
+  14, 14, 14, 14, 14, 16, 18, 16, 15, 18, 19, 14, 14, 14, 14, 14,
+  14, 14, 14, 19, 21, 21, 21, 21, 20, 16, 15, 15, 15, 16, 15, 15,
+  14, 14, 15, 14, 14, 14, 14, 15, 14, 14, 18, 14, 14, 16, 15, 14,
+  16, 15, 16, 16, 18, 18, 20, 21, 23, 24, 21, 19, 19, 18, 16, 16,
+  16, 15, 14, 15, 15, 15, 15, 18, 15, 14, 14, 14, 14, 16, 14, 14,
+  14, 14, 14, 14, 15, 15, 15, 16, 20, 18, 18, 19, 16, 16, 16, 16,
+  14, 15, 14, 14, 14, 14, 14, 14, 18, 16, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 18, 14, 14, 14, 14, 14, 14, 16, 18,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 21, 14, 14, 15, 15,
+  16, 16, 18, 19, 19, 20, 21, 21, 15, 14, 14, 14, 14, 14, 14, 14,
+  19, 18, 15, 18, 18, 19, 20, 21, 21, 16, 14, 19, 14, 14, 14, 14,
+  14, 14, 14, 15, 18, 15, 16, 16, 18, 16, 16, 16, 15, 15, 15, 15,
+  16, 14, 14, 14, 14, 14, 14, 14, 17, 14, 14, 14, 20, 18, 19, 20,
+  20, 20, 20, 15, 14, 14, 16, 14, 14, 14, 14, 16, 18, 16, 21, 19,
+  21, 20, 20, 18, 16, 16, 18, 17, 14, 14, 14, 14, 14, 23, 15, 16,
+  18, 20, 21, 15, 14, 21, 15, 15, 18, 19, 18, 18, 16, 16, 15, 15,
+  14, 14, 14, 18, 14, 14, 14, 14, 14, 14, 14, 14, 16, 20, 182, 232,
+  243, 241, 242, 237, 220, 195, 148, 72, 20, 14, 14, 19, 14, 14, 21, 18,
+  24, 193, 240, 234, 231, 229, 242, 236, 232, 229, 202, 173, 130, 19, 15, 14,
+  14, 14, 14, 23, 21, 29, 214, 227, 242, 243, 232, 213, 190, 161, 100, 38,
+  20, 20, 16, 16, 32, 41, 23, 18, 18, 16, 16, 15, 15, 14, 14, 14,
+  14, 14, 16, 16, 18, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  23, 20, 16, 16, 18, 18, 19, 19, 16, 15, 15, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 17, 14, 14, 15, 14, 14, 18, 15, 18, 21,
+  21, 20, 21, 21, 21, 19, 20, 22, 30, 26, 18, 15, 14, 15, 14, 14,
+  14, 14, 17, 14, 14, 14, 14, 14, 14, 16, 15, 15, 15, 15, 16, 15,
+  16, 16, 18, 19, 19, 21, 21, 21, 23, 21, 19, 18, 16, 16, 15, 15,
+  16, 14, 14, 14, 14, 14, 14, 16, 24, 14, 14, 14, 18, 15, 14, 15,
+  14, 14, 14, 22, 14, 14, 14, 14, 19, 20, 20, 19, 20, 20, 19, 20,
+  15, 20, 19, 15, 15, 16, 16, 14, 14, 14, 14, 14, 15, 15, 27, 200,
+  246, 240, 243, 232, 222, 208, 193, 167, 120, 76, 56, 53, 54, 52, 59, 60,
+  63, 67, 68, 71, 53, 32, 26, 16, 14, 14, 14, 14, 14, 21, 214, 229,
+  229, 238, 237, 220, 198, 126, 92, 21, 21, 26, 27, 26, 19, 19, 19, 21,
+  21, 20, 19, 18, 15, 14, 15, 14, 14, 14, 14, 14, 14, 14, 18, 18,
+  20, 21, 27, 36, 23, 21, 21, 21, 21, 21, 20, 19, 20, 16, 15, 15,
+  14, 14, 14, 16, 15, 14, 14, 14, 14, 18, 21, 21, 16, 18, 21, 24,
+  23, 21, 21, 21, 21, 21, 21, 21, 23, 27, 23, 19, 23, 16, 15, 18,
+  16, 15, 14, 15, 14, 14, 16, 18, 15, 15, 16, 18, 20, 21, 21, 21,
+  21, 21, 21, 21, 24, 21, 21, 21, 20, 19, 19, 16, 15, 14, 14, 14,
+  14, 16, 15, 14, 16, 18, 19, 18, 20, 19, 19, 18, 23, 20, 19, 19,
+  21, 20, 19, 16, 14, 14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 17, 14, 19, 14, 14, 20, 38, 26, 20, 21, 21, 21,
+  23, 24, 21, 21, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16,
+  21, 24, 23, 21, 23, 21, 21, 21, 14, 14, 14, 14, 14, 14, 18, 15,
+  16, 19, 24, 32, 21, 21, 21, 21, 21, 21, 20, 19, 21, 16, 15, 14,
+  19, 16, 14, 14, 14, 14, 14, 15, 23, 26, 21, 24, 21, 21, 21, 21,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 16, 34, 21, 21, 21, 21, 20,
+  21, 19, 16, 14, 14, 14, 14, 14, 14, 37, 19, 21, 21, 24, 32, 21,
+  19, 19, 16, 18, 21, 21, 21, 21, 20, 19, 18, 16, 34, 14, 14, 18,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 19, 182, 238, 246, 241, 240, 235,
+  217, 194, 143, 68, 14, 14, 14, 14, 14, 21, 19, 21, 150, 240, 243, 236,
+  232, 223, 234, 229, 231, 229, 194, 169, 120, 16, 14, 14, 14, 14, 21, 24,
+  23, 147, 241, 234, 238, 232, 217, 199, 181, 145, 69, 19, 21, 27, 16, 18,
+  19, 20, 21, 26, 23, 23, 23, 21, 21, 21, 21, 20, 18, 16, 15, 14,
+  14, 14, 18, 18, 14, 14, 14, 14, 14, 14, 15, 16, 16, 19, 21, 20,
+  23, 21, 21, 27, 23, 23, 24, 23, 23, 23, 21, 21, 18, 19, 20, 19,
+  14, 14, 14, 14, 14, 14, 14, 14, 18, 23, 21, 23, 23, 21, 21, 20,
+  19, 18, 16, 18, 21, 21, 24, 24, 23, 24, 21, 19, 24, 20, 15, 14,
+  14, 16, 14, 14, 14, 14, 15, 14, 15, 21, 20, 18, 19, 19, 24, 26,
+  23, 21, 21, 21, 21, 21, 21, 21, 21, 21, 18, 16, 18, 16, 18, 18,
+  14, 14, 14, 16, 16, 18, 31, 18, 19, 23, 19, 18, 23, 21, 19, 21,
+  19, 34, 21, 24, 21, 21, 21, 23, 23, 21, 19, 19, 18, 16, 19, 15,
+  14, 15, 14, 14, 14, 14, 14, 14, 14, 15, 79, 243, 232, 243, 250, 235,
+  219, 199, 176, 130, 75, 34, 18, 18, 14, 14, 14, 18, 19, 21, 21, 20,
+  16, 15, 14, 14, 15, 14, 14, 14, 14, 57, 221, 226, 232, 233, 233, 214,
+  188, 145, 79, 29, 76, 150, 189, 164, 192, 195, 190, 192, 183, 165, 143, 116,
+  21, 14, 14, 14, 14, 14, 14, 14, 22, 14, 15, 19, 44, 124, 185, 206,
+  231, 228, 227, 225, 221, 213, 202, 189, 167, 93, 34, 19, 18, 18, 16, 14,
+  14, 14, 14, 16, 14, 14, 15, 16, 20, 50, 109, 172, 204, 220, 231, 232,
+  231, 224, 208, 190, 176, 139, 82, 44, 21, 18, 16, 14, 21, 15, 14, 14,
+  15, 18, 18, 16, 18, 34, 85, 139, 188, 190, 193, 195, 195, 195, 198, 193,
+  189, 173, 182, 176, 161, 165, 145, 72, 16, 15, 15, 16, 14, 14, 14, 14,
+  23, 36, 73, 104, 126, 132, 130, 126, 120, 114, 114, 124, 128, 113, 84, 48,
+  30, 21, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 18, 14, 15, 46, 109, 154, 173, 175, 170, 175, 193, 186, 139, 65,
+  15, 14, 14, 14, 14, 14, 14, 14, 19, 25, 21, 23, 69, 148, 186, 185,
+  181, 164, 159, 134, 67, 29, 20, 18, 23, 14, 16, 20, 71, 137, 179, 195,
+  222, 225, 226, 223, 217, 208, 197, 186, 130, 79, 38, 19, 16, 16, 16, 21,
+  19, 26, 21, 37, 111, 170, 176, 188, 173, 164, 164, 152, 98, 38, 15, 14,
+  14, 17, 15, 24, 23, 57, 178, 179, 182, 185, 179, 175, 152, 107, 55, 15,
+  16, 14, 16, 24, 35, 165, 169, 200, 202, 182, 193, 183, 164, 85, 23, 95,
+  173, 182, 178, 175, 175, 165, 157, 147, 81, 21, 14, 16, 14, 14, 16, 14,
+  14, 14, 14, 14, 14, 19, 179, 240, 246, 240, 238, 233, 214, 188, 134, 60,
+  14, 14, 14, 14, 14, 19, 20, 34, 234, 246, 240, 233, 230, 221, 225, 226,
+  229, 229, 194, 164, 113, 14, 14, 14, 14, 14, 15, 20, 31, 218, 247, 249,
+  233, 219, 200, 183, 159, 102, 44, 16, 15, 15, 21, 21, 21, 31, 81, 130,
+  132, 134, 134, 126, 130, 122, 124, 118, 134, 114, 68, 24, 19, 19, 19, 16,
+  14, 14, 14, 14, 14, 15, 16, 18, 24, 114, 169, 173, 188, 185, 176, 192,
+  197, 197, 197, 194, 193, 189, 186, 179, 175, 161, 154, 132, 76, 31, 16, 16,
+  18, 14, 14, 25, 68, 143, 179, 175, 176, 178, 173, 164, 128, 79, 34, 21,
+  34, 116, 178, 192, 185, 185, 190, 189, 159, 120, 75, 43, 19, 16, 16, 16,
+  14, 14, 14, 15, 15, 16, 18, 19, 38, 79, 148, 190, 210, 218, 228, 234,
+  228, 213, 197, 181, 164, 114, 61, 23, 16, 15, 14, 16, 16, 14, 14, 14,
+  26, 78, 186, 186, 159, 182, 172, 179, 162, 137, 29, 21, 24, 109, 134, 170,
+  185, 186, 181, 181, 179, 164, 137, 116, 26, 19, 16, 14, 14, 14, 14, 15,
+  14, 14, 14, 14, 14, 16, 154, 246, 242, 243, 248, 237, 215, 189, 154, 97,
+  46, 15, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14,
+  17, 14, 14, 14, 14, 113, 232, 230, 232, 228, 227, 211, 183, 139, 50, 141,
+  203, 234, 251, 249, 248, 248, 246, 244, 241, 231, 209, 183, 97, 37, 14, 14,
+  14, 14, 14, 14, 14, 14, 45, 120, 209, 245, 248, 244, 246, 246, 246, 245,
+  243, 238, 230, 220, 236, 214, 181, 114, 46, 20, 20, 37, 14, 14, 15, 22,
+  18, 14, 16, 34, 157, 185, 219, 237, 241, 234, 228, 222, 220, 222, 225, 226,
+  232, 224, 202, 175, 85, 45, 16, 14, 15, 14, 14, 16, 21, 20, 20, 27,
+  81, 162, 219, 244, 243, 245, 246, 247, 248, 246, 246, 242, 231, 220, 232, 221,
+  202, 210, 175, 65, 19, 16, 16, 18, 14, 14, 21, 67, 193, 215, 226, 238,
+  240, 238, 232, 225, 240, 238, 240, 243, 243, 238, 217, 193, 118, 78, 40, 14,
+  14, 14, 16, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  20, 39, 113, 219, 224, 231, 231, 229, 236, 226, 194, 126, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 16, 20, 50, 189, 242, 242, 236, 218, 215, 183,
+  85, 21, 18, 16, 16, 21, 69, 159, 227, 247, 246, 243, 244, 245, 246, 243,
+  240, 233, 227, 220, 236, 200, 148, 87, 38, 20, 20, 29, 14, 15, 15, 18,
+  124, 218, 231, 236, 241, 228, 219, 210, 143, 44, 14, 14, 14, 14, 14, 14,
+  16, 57, 220, 232, 242, 239, 232, 215, 194, 143, 59, 15, 14, 14, 14, 15,
+  23, 214, 225, 248, 249, 232, 246, 240, 220, 148, 44, 185, 229, 232, 230, 228,
+  225, 209, 193, 188, 100, 21, 14, 19, 14, 14, 15, 14, 14, 14, 14, 14,
+  14, 19, 181, 241, 247, 243, 239, 234, 215, 186, 130, 55, 14, 14, 14, 14,
+  16, 18, 21, 154, 247, 237, 242, 232, 224, 227, 225, 225, 225, 225, 192, 157,
+  107, 14, 14, 14, 14, 14, 14, 21, 128, 245, 251, 250, 230, 208, 186, 164,
+  122, 60, 24, 15, 21, 15, 29, 116, 193, 232, 240, 234, 240, 242, 243, 243,
+  242, 241, 241, 239, 225, 229, 224, 202, 178, 126, 53, 20, 14, 14, 14, 14,
+  14, 15, 18, 19, 20, 164, 231, 228, 238, 236, 226, 238, 240, 243, 244, 244,
+  243, 241, 239, 235, 243, 236, 225, 205, 169, 97, 32, 16, 14, 14, 14, 14,
+  29, 120, 222, 234, 239, 239, 239, 233, 204, 141, 55, 21, 192, 232, 251, 250,
+  244, 241, 241, 235, 239, 219, 200, 161, 81, 21, 20, 26, 15, 14, 14, 15,
+  15, 16, 36, 90, 195, 219, 238, 244, 245, 238, 229, 225, 218, 217, 216, 219,
+  225, 208, 181, 155, 55, 21, 14, 14, 14, 14, 14, 15, 23, 36, 215, 243,
+  222, 242, 240, 241, 244, 229, 141, 29, 161, 213, 241, 245, 238, 232, 229, 229,
+  232, 218, 202, 185, 109, 48, 16, 14, 15, 14, 14, 15, 14, 14, 14, 14,
+  14, 29, 205, 246, 250, 242, 237, 229, 197, 164, 122, 75, 26, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  18, 169, 238, 239, 234, 225, 224, 213, 193, 122, 31, 223, 251, 229, 243, 249,
+  250, 249, 245, 244, 244, 238, 223, 202, 189, 68, 14, 14, 15, 14, 14, 14,
+  14, 65, 182, 235, 243, 240, 241, 245, 243, 243, 238, 240, 244, 246, 243, 242,
+  228, 227, 227, 213, 159, 69, 21, 18, 19, 14, 14, 15, 15, 19, 75, 173,
+  229, 237, 243, 244, 239, 231, 225, 225, 228, 234, 232, 228, 228, 233, 229, 215,
+  222, 137, 53, 19, 14, 14, 14, 16, 20, 21, 21, 95, 206, 249, 249, 243,
+  244, 245, 244, 243, 241, 237, 237, 230, 217, 213, 221, 206, 179, 192, 141, 21,
+  18, 16, 15, 18, 14, 21, 93, 221, 238, 245, 243, 244, 243, 243, 243, 244,
+  242, 242, 243, 243, 245, 246, 245, 235, 208, 175, 116, 45, 16, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 18, 14, 14, 15, 14, 15, 32, 173,
+  215, 235, 243, 238, 221, 217, 214, 192, 16, 14, 14, 14, 14, 14, 14, 14,
+  14, 22, 19, 21, 92, 219, 247, 231, 210, 202, 197, 164, 65, 21, 21, 21,
+  21, 107, 219, 244, 242, 225, 232, 248, 239, 240, 240, 242, 243, 244, 245, 244,
+  231, 232, 232, 200, 122, 36, 20, 18, 16, 31, 16, 19, 132, 232, 241, 242,
+  240, 210, 197, 190, 120, 31, 14, 16, 14, 14, 14, 20, 18, 64, 232, 239,
+  243, 239, 222, 207, 198, 159, 79, 20, 14, 17, 18, 16, 27, 234, 236, 250,
+  249, 244, 252, 243, 239, 208, 172, 250, 236, 238, 238, 231, 217, 198, 182, 164,
+  79, 16, 14, 23, 14, 14, 14, 14, 14, 14, 14, 14, 14, 20, 182, 239,
+  246, 243, 242, 232, 213, 186, 132, 59, 14, 14, 14, 14, 21, 19, 29, 236,
+  250, 234, 248, 239, 216, 232, 218, 221, 224, 224, 192, 155, 102, 14, 14, 14,
+  14, 17, 16, 26, 213, 250, 252, 246, 224, 198, 175, 154, 95, 38, 16, 18,
+  15, 31, 152, 239, 235, 223, 239, 242, 239, 242, 244, 243, 243, 245, 245, 244,
+  242, 243, 238, 234, 232, 204, 136, 40, 16, 14, 14, 14, 15, 16, 19, 19,
+  20, 185, 243, 235, 236, 238, 228, 242, 240, 245, 245, 246, 247, 246, 245, 245,
+  239, 238, 232, 225, 220, 188, 97, 19, 16, 14, 19, 14, 18, 57, 211, 244,
+  243, 238, 227, 215, 199, 162, 98, 60, 245, 252, 251, 246, 249, 251, 249, 238,
+  242, 224, 225, 226, 183, 84, 24, 18, 15, 14, 14, 15, 16, 24, 124, 232,
+  236, 241, 242, 240, 234, 228, 228, 227, 230, 227, 225, 226, 229, 228, 217, 206,
+  186, 92, 21, 14, 14, 14, 14, 14, 26, 29, 195, 244, 233, 247, 243, 234,
+  228, 232, 208, 71, 249, 247, 248, 222, 236, 232, 227, 231, 236, 233, 222, 205,
+  203, 92, 18, 15, 18, 14, 14, 14, 14, 15, 18, 19, 20, 82, 229, 245,
+  246, 227, 229, 225, 183, 167, 120, 48, 16, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 19, 15, 15, 20, 21, 219, 240, 247,
+  232, 227, 229, 217, 186, 176, 195, 229, 243, 238, 234, 242, 243, 238, 243, 236,
+  243, 216, 234, 186, 176, 120, 30, 14, 16, 16, 31, 20, 100, 211, 249, 242,
+  232, 244, 238, 195, 192, 176, 176, 192, 189, 189, 225, 240, 242, 219, 227, 207,
+  192, 145, 26, 18, 17, 14, 19, 15, 18, 81, 231, 240, 241, 243, 238, 215,
+  199, 190, 178, 159, 167, 170, 208, 214, 215, 236, 238, 234, 216, 188, 167, 27,
+  14, 14, 14, 14, 23, 26, 32, 232, 246, 244, 252, 243, 225, 219, 210, 192,
+  192, 193, 170, 188, 170, 173, 164, 137, 141, 139, 72, 23, 16, 18, 16, 21,
+  21, 155, 238, 242, 250, 250, 247, 244, 236, 220, 218, 225, 229, 220, 242, 231,
+  243, 253, 252, 235, 213, 207, 176, 137, 18, 14, 19, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 19, 14, 15, 38, 95, 224, 229, 239, 232,
+  218, 213, 198, 181, 79, 14, 25, 14, 14, 14, 14, 14, 14, 27, 20, 27,
+  207, 241, 247, 245, 165, 147, 139, 73, 24, 24, 23, 21, 170, 225, 245, 241,
+  234, 232, 218, 198, 181, 176, 169, 190, 206, 215, 236, 237, 239, 232, 234, 200,
+  179, 107, 16, 15, 15, 24, 18, 20, 155, 242, 243, 245, 240, 208, 183, 139,
+  128, 14, 18, 14, 14, 15, 14, 15, 21, 139, 244, 242, 245, 244, 210, 186,
+  162, 130, 19, 18, 14, 14, 14, 20, 65, 243, 243, 249, 243, 242, 245, 239,
+  214, 209, 229, 234, 238, 230, 226, 219, 199, 164, 147, 147, 18, 16, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 18, 16, 21, 190, 242, 244, 234, 237, 232,
+  202, 179, 137, 60, 14, 14, 14, 16, 15, 19, 124, 243, 245, 246, 241, 228,
+  232, 229, 218, 222, 225, 220, 189, 162, 111, 14, 15, 14, 18, 14, 21, 87,
+  247, 242, 252, 238, 229, 150, 176, 145, 53, 34, 18, 18, 18, 178, 242, 234,
+  236, 240, 234, 236, 225, 228, 224, 217, 217, 229, 242, 243, 243, 242, 243, 242,
+  236, 206, 217, 79, 18, 14, 14, 16, 18, 18, 18, 20, 20, 227, 233, 206,
+  204, 178, 194, 198, 195, 182, 199, 192, 225, 222, 234, 252, 238, 249, 241, 234,
+  208, 200, 170, 21, 14, 14, 14, 14, 21, 69, 239, 246, 248, 239, 234, 205,
+  213, 136, 26, 206, 232, 251, 243, 236, 236, 251, 227, 241, 242, 236, 225, 194,
+  198, 145, 21, 16, 24, 14, 15, 19, 19, 198, 245, 234, 245, 246, 238, 209,
+  189, 172, 164, 159, 170, 188, 198, 193, 242, 238, 228, 218, 215, 155, 81, 16,
+  14, 14, 14, 14, 18, 21, 204, 238, 242, 238, 223, 243, 239, 217, 217, 210,
+  245, 243, 245, 228, 227, 218, 232, 210, 240, 225, 213, 206, 188, 164, 38, 15,
+  21, 14, 14, 14, 16, 18, 19, 20, 21, 159, 246, 247, 243, 228, 229, 208,
+  178, 155, 98, 40, 18, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 15, 18, 21, 40, 236, 246, 248, 236, 229, 233, 217,
+  203, 202, 215, 237, 232, 210, 206, 217, 226, 231, 234, 228, 240, 219, 236, 189,
+  164, 100, 85, 15, 23, 32, 21, 42, 221, 244, 251, 248, 230, 198, 181, 173,
+  159, 145, 141, 165, 182, 198, 209, 203, 229, 225, 229, 210, 202, 188, 95, 21,
+  14, 14, 16, 16, 26, 225, 234, 248, 250, 242, 217, 192, 167, 155, 150, 159,
+  159, 155, 199, 206, 213, 239, 240, 246, 234, 206, 193, 72, 14, 14, 14, 14,
+  21, 48, 172, 242, 250, 246, 244, 219, 213, 194, 188, 164, 161, 155, 114, 132,
+  137, 150, 137, 126, 124, 105, 52, 18, 14, 14, 20, 21, 92, 217, 246, 251,
+  253, 248, 231, 221, 205, 190, 181, 182, 173, 176, 206, 213, 219, 227, 228, 242,
+  223, 214, 189, 159, 27, 15, 20, 14, 14, 14, 14, 14, 14, 14, 15, 15,
+  14, 14, 14, 17, 14, 15, 24, 60, 228, 226, 230, 229, 223, 208, 193, 189,
+  95, 15, 21, 14, 14, 14, 15, 14, 14, 20, 20, 137, 239, 244, 253, 214,
+  167, 102, 100, 34, 20, 36, 21, 130, 236, 241, 246, 243, 225, 188, 169, 167,
+  143, 154, 145, 152, 178, 202, 217, 215, 243, 226, 233, 207, 190, 145, 43, 19,
+  14, 15, 19, 21, 200, 244, 249, 246, 240, 207, 183, 147, 100, 14, 15, 14,
+  14, 14, 15, 16, 21, 176, 247, 247, 245, 242, 210, 182, 157, 114, 16, 15,
+  14, 14, 14, 20, 109, 244, 245, 249, 246, 241, 242, 227, 199, 188, 199, 203,
+  202, 188, 162, 147, 143, 128, 120, 126, 16, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 19, 18, 21, 194, 242, 243, 231, 235, 232, 200, 181, 145, 64,
+  15, 14, 14, 14, 16, 26, 202, 247, 246, 242, 235, 236, 236, 231, 225, 222,
+  223, 220, 189, 164, 114, 15, 15, 14, 14, 15, 19, 183, 244, 250, 250, 242,
+  204, 181, 145, 126, 55, 20, 21, 19, 143, 225, 242, 238, 240, 235, 206, 195,
+  178, 181, 190, 198, 197, 195, 195, 195, 228, 225, 235, 238, 229, 206, 219, 134,
+  20, 18, 21, 21, 18, 16, 18, 19, 21, 190, 213, 197, 193, 157, 167, 147,
+  162, 164, 189, 179, 217, 215, 221, 221, 244, 247, 242, 235, 203, 197, 170, 21,
+  14, 14, 14, 14, 20, 124, 245, 248, 251, 231, 234, 213, 197, 150, 118, 222,
+  247, 251, 236, 233, 227, 240, 218, 244, 236, 229, 224, 197, 194, 154, 52, 21,
+  14, 15, 18, 31, 179, 225, 248, 249, 242, 220, 197, 183, 175, 161, 147, 148,
+  157, 179, 202, 208, 234, 229, 231, 239, 230, 198, 147, 21, 14, 14, 14, 14,
+  15, 44, 210, 235, 242, 239, 229, 237, 234, 225, 234, 222, 243, 225, 219, 197,
+  210, 207, 221, 210, 241, 232, 222, 199, 188, 172, 57, 15, 20, 14, 14, 14,
+  16, 18, 19, 20, 21, 207, 249, 247, 236, 234, 239, 205, 176, 139, 79, 24,
+  18, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 18, 21, 105, 241, 246, 246, 238, 234, 234, 213, 199, 192, 200, 205,
+  198, 178, 192, 214, 220, 236, 234, 226, 238, 226, 238, 190, 150, 114, 59, 15,
+  18, 42, 21, 197, 251, 248, 245, 242, 213, 169, 137, 145, 118, 100, 87, 82,
+  120, 178, 213, 225, 229, 240, 232, 209, 194, 193, 148, 19, 14, 14, 15, 23,
+  164, 246, 247, 246, 240, 217, 192, 181, 148, 100, 78, 85, 82, 95, 164, 199,
+  227, 241, 235, 239, 236, 207, 197, 126, 16, 14, 14, 14, 20, 120, 245, 242,
+  248, 239, 217, 198, 183, 136, 114, 89, 79, 76, 50, 56, 69, 73, 67, 65,
+  60, 48, 24, 14, 14, 15, 20, 21, 194, 249, 248, 251, 245, 227, 208, 190,
+  169, 148, 136, 132, 148, 150, 178, 204, 227, 232, 220, 247, 225, 208, 183, 172,
+  59, 15, 16, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14,
+  14, 15, 18, 23, 222, 228, 228, 234, 233, 210, 197, 197, 114, 16, 15, 14,
+  17, 14, 14, 14, 14, 16, 34, 229, 245, 249, 249, 186, 157, 85, 61, 18,
+  20, 24, 73, 229, 249, 245, 238, 232, 203, 162, 137, 132, 97, 116, 111, 109,
+  150, 199, 231, 242, 242, 218, 229, 208, 186, 172, 78, 15, 14, 15, 26, 26,
+  239, 243, 249, 243, 238, 204, 176, 154, 63, 14, 14, 14, 14, 14, 19, 16,
+  23, 210, 249, 249, 243, 239, 209, 185, 154, 92, 15, 14, 14, 14, 14, 18,
+  172, 244, 247, 248, 243, 235, 229, 216, 189, 173, 179, 173, 178, 173, 159, 148,
+  155, 136, 104, 71, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 19,
+  18, 21, 197, 243, 244, 235, 238, 234, 203, 185, 150, 64, 18, 14, 14, 15,
+  16, 97, 245, 247, 247, 238, 234, 240, 235, 233, 236, 228, 225, 221, 188, 167,
+  118, 15, 16, 14, 14, 15, 24, 241, 245, 249, 249, 237, 193, 188, 143, 81,
+  42, 20, 19, 45, 232, 235, 236, 237, 234, 218, 198, 179, 164, 147, 145, 154,
+  161, 167, 190, 211, 219, 214, 230, 230, 217, 197, 206, 167, 15, 14, 14, 14,
+  14, 14, 14, 21, 20, 116, 145, 165, 169, 152, 172, 147, 100, 105, 126, 114,
+  172, 205, 243, 244, 244, 237, 238, 230, 186, 179, 152, 19, 14, 14, 14, 14,
+  18, 197, 248, 247, 251, 229, 227, 225, 181, 173, 214, 230, 208, 209, 186, 205,
+  217, 220, 219, 244, 236, 225, 228, 200, 183, 165, 84, 23, 14, 19, 18, 105,
+  247, 238, 243, 246, 226, 200, 167, 148, 124, 93, 78, 84, 89, 126, 181, 221,
+  229, 221, 228, 243, 217, 210, 183, 48, 14, 14, 14, 14, 16, 118, 228, 236,
+  241, 239, 234, 226, 217, 213, 224, 216, 227, 204, 204, 197, 206, 208, 224, 217,
+  234, 235, 231, 186, 175, 172, 68, 19, 16, 14, 14, 14, 15, 16, 19, 19,
+  27, 237, 244, 245, 234, 236, 237, 205, 172, 116, 55, 20, 18, 16, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 19, 21,
+  169, 245, 248, 246, 242, 233, 227, 198, 165, 130, 109, 105, 97, 98, 124, 167,
+  207, 240, 240, 234, 239, 235, 235, 190, 152, 116, 16, 20, 20, 20, 126, 250,
+  248, 246, 236, 205, 182, 161, 118, 78, 36, 24, 23, 19, 21, 64, 143, 227,
+  234, 243, 234, 224, 193, 188, 167, 21, 20, 14, 16, 114, 247, 232, 253, 238,
+  205, 192, 172, 143, 92, 45, 21, 19, 21, 24, 75, 139, 213, 244, 236, 240,
+  236, 199, 192, 167, 24, 14, 14, 14, 23, 189, 249, 236, 238, 225, 202, 189,
+  155, 72, 40, 21, 18, 23, 14, 19, 21, 19, 16, 16, 16, 14, 14, 14,
+  15, 15, 19, 89, 244, 252, 249, 246, 217, 205, 185, 155, 116, 85, 63, 52,
+  64, 61, 72, 128, 197, 240, 220, 236, 228, 204, 181, 173, 78, 18, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 15, 16, 18,
+  183, 230, 235, 235, 236, 210, 208, 202, 137, 33, 15, 15, 19, 14, 14, 14,
+  18, 15, 148, 242, 244, 251, 214, 189, 124, 73, 29, 18, 24, 21, 204, 245,
+  242, 240, 226, 192, 172, 150, 118, 73, 16, 15, 18, 20, 31, 82, 154, 235,
+  243, 226, 238, 219, 183, 181, 111, 16, 15, 15, 24, 63, 245, 245, 246, 234,
+  234, 200, 170, 154, 36, 14, 14, 14, 14, 14, 21, 18, 34, 236, 248, 249,
+  243, 238, 207, 185, 145, 68, 16, 14, 14, 14, 14, 19, 217, 242, 247, 246,
+  242, 226, 218, 200, 155, 126, 114, 98, 120, 134, 139, 134, 136, 118, 69, 31,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 16, 21, 194, 243,
+  246, 237, 239, 236, 202, 185, 147, 65, 14, 14, 14, 19, 24, 203, 243, 244,
+  247, 234, 232, 238, 229, 229, 238, 234, 227, 226, 195, 169, 118, 15, 16, 14,
+  14, 15, 132, 246, 250, 242, 249, 219, 194, 154, 148, 34, 21, 26, 19, 155,
+  238, 233, 234, 234, 215, 197, 186, 164, 104, 68, 52, 56, 60, 72, 111, 164,
+  217, 225, 232, 229, 217, 190, 183, 169, 19, 14, 14, 14, 14, 14, 15, 18,
+  14, 14, 15, 20, 18, 18, 21, 18, 16, 20, 26, 19, 48, 98, 217, 243,
+  243, 229, 234, 223, 169, 165, 126, 18, 14, 14, 14, 15, 21, 239, 248, 247,
+  248, 238, 224, 220, 179, 181, 225, 200, 190, 190, 173, 202, 215, 222, 231, 234,
+  238, 227, 232, 215, 179, 167, 104, 18, 20, 16, 54, 225, 238, 243, 243, 221,
+  192, 183, 159, 104, 53, 21, 19, 23, 21, 43, 97, 194, 227, 236, 234, 242,
+  208, 202, 185, 72, 14, 14, 14, 14, 18, 183, 238, 238, 241, 233, 237, 217,
+  204, 186, 167, 145, 139, 130, 136, 150, 198, 224, 235, 226, 224, 232, 236, 185,
+  164, 152, 57, 15, 14, 14, 14, 14, 15, 16, 19, 19, 120, 249, 244, 246,
+  238, 232, 225, 197, 167, 97, 34, 18, 16, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 16, 18, 16, 19, 208, 243, 249, 243,
+  242, 228, 213, 173, 104, 55, 21, 20, 21, 23, 29, 38, 165, 236, 239, 238,
+  239, 238, 231, 197, 157, 97, 21, 18, 50, 21, 232, 244, 245, 242, 221, 181,
+  155, 134, 68, 18, 14, 14, 18, 18, 19, 20, 46, 185, 234, 239, 235, 239,
+  207, 194, 190, 69, 18, 16, 20, 232, 244, 236, 243, 217, 195, 182, 136, 65,
+  21, 15, 14, 14, 16, 16, 19, 46, 170, 239, 242, 247, 240, 203, 186, 182,
+  43, 14, 14, 14, 65, 233, 234, 237, 230, 210, 193, 178, 126, 41, 16, 14,
+  14, 14, 14, 14, 16, 15, 14, 14, 14, 14, 14, 19, 18, 16, 20, 205,
+  250, 247, 251, 234, 206, 186, 152, 92, 48, 25, 15, 14, 14, 14, 14, 33,
+  95, 229, 229, 230, 232, 203, 178, 169, 95, 18, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 14, 14, 14, 15, 14, 14, 14, 16, 18, 100, 230, 243, 236,
+  236, 219, 215, 195, 159, 52, 15, 14, 18, 14, 14, 14, 14, 54, 229, 243,
+  244, 240, 195, 185, 87, 46, 16, 19, 21, 92, 247, 246, 243, 234, 205, 173,
+  145, 109, 60, 21, 19, 14, 15, 18, 21, 31, 93, 238, 244, 239, 243, 234,
+  185, 186, 143, 18, 15, 19, 16, 128, 242, 247, 243, 238, 230, 195, 167, 132,
+  19, 15, 14, 14, 14, 14, 19, 19, 71, 242, 245, 247, 243, 234, 202, 181,
+  130, 44, 16, 14, 14, 14, 15, 40, 237, 243, 247, 244, 242, 227, 207, 169,
+  92, 49, 33, 19, 16, 19, 19, 15, 16, 19, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 18, 16, 21, 197, 244, 244, 236, 238, 235,
+  207, 189, 148, 64, 14, 14, 14, 14, 98, 243, 235, 242, 240, 232, 218, 217,
+  218, 227, 238, 236, 229, 231, 194, 175, 122, 15, 15, 14, 14, 27, 225, 242,
+  247, 243, 244, 208, 194, 137, 109, 21, 20, 20, 41, 229, 237, 236, 237, 229,
+  199, 179, 152, 100, 32, 15, 14, 18, 18, 15, 16, 32, 169, 223, 229, 229,
+  225, 188, 167, 154, 39, 16, 14, 14, 14, 14, 14, 14, 24, 19, 15, 19,
+  14, 14, 21, 14, 14, 14, 16, 15, 18, 26, 183, 235, 242, 222, 230, 215,
+  157, 147, 92, 19, 14, 14, 14, 18, 52, 248, 246, 248, 240, 245, 210, 199,
+  172, 134, 148, 95, 100, 113, 105, 134, 175, 204, 241, 230, 234, 226, 234, 226,
+  181, 165, 113, 18, 21, 20, 164, 249, 230, 246, 238, 202, 162, 157, 118, 54,
+  18, 14, 14, 14, 14, 16, 32, 130, 229, 242, 240, 240, 225, 195, 182, 102,
+  26, 14, 14, 18, 19, 216, 243, 239, 237, 227, 230, 207, 198, 150, 78, 42,
+  23, 21, 19, 24, 128, 218, 238, 238, 223, 229, 233, 183, 159, 118, 37, 14,
+  14, 14, 14, 14, 15, 16, 18, 19, 190, 245, 240, 242, 238, 226, 217, 195,
+  159, 78, 21, 18, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 16, 21, 232, 242, 249, 241, 239, 218, 200, 148,
+  56, 27, 15, 16, 16, 19, 19, 20, 78, 223, 239, 240, 237, 238, 226, 200,
+  152, 87, 20, 19, 20, 148, 244, 243, 245, 226, 193, 178, 145, 73, 29, 14,
+  24, 14, 18, 24, 31, 19, 23, 162, 237, 239, 240, 241, 218, 198, 175, 92,
+  19, 18, 147, 239, 236, 241, 228, 195, 181, 159, 95, 24, 15, 14, 16, 14,
+  18, 14, 16, 21, 154, 240, 239, 244, 240, 204, 183, 176, 59, 15, 18, 14,
+  130, 246, 226, 240, 233, 213, 192, 159, 92, 18, 14, 15, 14, 14, 14, 14,
+  15, 16, 16, 19, 18, 14, 14, 16, 14, 16, 57, 248, 249, 244, 252, 229,
+  204, 170, 105, 46, 15, 14, 14, 14, 14, 17, 14, 14, 24, 200, 234, 233,
+  230, 204, 173, 152, 98, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 14, 14, 14, 16, 18, 29, 219, 243, 234, 234, 217, 219, 188,
+  173, 84, 16, 15, 15, 14, 14, 14, 16, 169, 237, 243, 245, 188, 199, 148,
+  64, 15, 16, 23, 19, 223, 242, 249, 247, 217, 183, 173, 132, 55, 20, 16,
+  18, 14, 18, 15, 21, 21, 27, 217, 242, 240, 242, 235, 188, 183, 152, 19,
+  15, 15, 16, 193, 236, 248, 243, 239, 224, 193, 164, 100, 15, 18, 14, 14,
+  14, 14, 14, 19, 137, 243, 245, 246, 241, 221, 197, 172, 109, 21, 15, 14,
+  16, 14, 16, 90, 243, 246, 246, 244, 238, 218, 192, 134, 53, 19, 14, 14,
+  15, 16, 15, 14, 14, 19, 19, 18, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 16, 16, 21, 197, 245, 244, 233, 234, 234, 209, 189, 147, 63,
+  18, 14, 24, 14, 194, 246, 237, 243, 228, 225, 192, 176, 204, 232, 236, 240,
+  234, 234, 202, 179, 122, 15, 15, 14, 14, 90, 241, 242, 236, 244, 227, 209,
+  178, 141, 34, 21, 19, 19, 132, 240, 238, 236, 229, 214, 204, 179, 107, 38,
+  15, 14, 14, 18, 16, 14, 15, 15, 78, 222, 222, 228, 225, 192, 175, 147,
+  36, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 20, 15,
+  16, 14, 14, 15, 16, 19, 190, 242, 238, 225, 226, 200, 161, 130, 63, 20,
+  14, 14, 20, 18, 122, 248, 243, 247, 233, 239, 193, 167, 124, 60, 39, 18,
+  16, 20, 18, 21, 63, 124, 232, 230, 230, 229, 230, 226, 188, 162, 113, 18,
+  19, 76, 238, 240, 246, 242, 209, 194, 169, 118, 54, 18, 14, 20, 17, 14,
+  18, 14, 16, 57, 228, 243, 242, 240, 237, 192, 176, 124, 24, 14, 14, 16,
+  48, 232, 245, 241, 230, 226, 216, 197, 172, 98, 26, 20, 15, 14, 14, 15,
+  26, 206, 238, 241, 232, 232, 223, 178, 159, 90, 21, 14, 14, 14, 16, 14,
+  15, 16, 18, 19, 225, 237, 242, 234, 236, 227, 217, 188, 145, 65, 19, 16,
+  15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 19, 56, 242, 239, 247, 234, 232, 204, 192, 132, 30, 16, 14, 14,
+  21, 24, 20, 19, 24, 207, 240, 242, 232, 235, 216, 200, 141, 75, 19, 20,
+  26, 241, 241, 246, 239, 202, 165, 161, 107, 38, 14, 14, 15, 14, 14, 14,
+  15, 16, 19, 147, 244, 243, 244, 234, 220, 206, 143, 81, 20, 59, 237, 231,
+  242, 236, 219, 185, 157, 109, 50, 20, 14, 16, 15, 14, 14, 20, 14, 20,
+  147, 241, 239, 239, 235, 215, 183, 155, 71, 15, 16, 15, 189, 246, 239, 236,
+  236, 223, 202, 169, 89, 14, 14, 18, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 19, 161, 250, 249, 248, 247, 232, 197, 148, 69, 24,
+  14, 14, 17, 16, 14, 16, 16, 14, 15, 172, 230, 227, 229, 209, 173, 128,
+  87, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 19, 18, 195, 232, 233, 238, 222, 224, 194, 175, 116, 16, 15,
+  14, 15, 14, 14, 89, 229, 235, 239, 229, 161, 182, 97, 38, 14, 16, 21,
+  92, 249, 240, 248, 239, 199, 172, 154, 90, 31, 16, 20, 14, 14, 18, 14,
+  24, 19, 24, 207, 239, 241, 236, 230, 193, 178, 141, 19, 15, 15, 21, 233,
+  235, 243, 243, 236, 213, 189, 157, 69, 15, 17, 14, 15, 14, 14, 14, 18,
+  200, 242, 244, 244, 240, 217, 189, 159, 95, 15, 15, 14, 15, 18, 19, 169,
+  244, 250, 242, 242, 229, 206, 173, 104, 35, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16,
+  15, 20, 195, 245, 243, 233, 235, 232, 213, 192, 148, 63, 15, 14, 18, 60,
+  230, 242, 240, 231, 206, 217, 147, 114, 198, 238, 236, 238, 232, 235, 203, 178,
+  126, 15, 15, 14, 26, 204, 238, 242, 239, 237, 213, 197, 152, 109, 19, 21,
+  18, 36, 216, 238, 235, 236, 221, 203, 208, 164, 69, 21, 14, 14, 14, 14,
+  14, 14, 18, 21, 21, 232, 228, 236, 229, 190, 189, 145, 18, 14, 14, 14,
+  14, 14, 14, 16, 14, 15, 21, 16, 14, 14, 15, 14, 20, 15, 14, 15,
+  16, 36, 217, 236, 234, 227, 226, 189, 164, 126, 40, 18, 15, 14, 19, 18,
+  205, 246, 244, 246, 236, 220, 185, 152, 72, 18, 14, 14, 15, 18, 14, 15,
+  19, 34, 198, 222, 232, 232, 225, 224, 194, 155, 107, 19, 20, 188, 248, 233,
+  247, 229, 185, 185, 159, 75, 18, 15, 15, 15, 14, 14, 18, 14, 14, 24,
+  230, 241, 242, 239, 232, 194, 175, 116, 18, 15, 14, 15, 130, 241, 244, 242,
+  229, 230, 200, 183, 132, 71, 15, 18, 14, 24, 16, 19, 21, 222, 240, 242,
+  235, 229, 205, 164, 150, 73, 15, 15, 14, 14, 15, 14, 14, 15, 16, 18,
+  243, 239, 250, 235, 235, 223, 213, 175, 132, 57, 16, 15, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 15, 14, 32, 100,
+  246, 236, 246, 231, 227, 194, 182, 120, 18, 14, 14, 14, 14, 14, 14, 18,
+  18, 203, 243, 246, 231, 229, 206, 197, 137, 47, 34, 20, 183, 238, 244, 236,
+  234, 205, 170, 124, 63, 21, 14, 14, 14, 14, 17, 14, 16, 16, 18, 139,
+  244, 244, 246, 223, 226, 225, 132, 81, 21, 162, 233, 247, 238, 234, 197, 183,
+  164, 75, 19, 14, 14, 14, 14, 14, 14, 19, 14, 15, 114, 234, 241, 244,
+  231, 225, 192, 143, 79, 15, 18, 18, 217, 243, 250, 222, 233, 230, 217, 186,
+  111, 18, 14, 19, 14, 14, 14, 14, 14, 15, 14, 14, 14, 15, 19, 18,
+  15, 31, 227, 244, 249, 250, 236, 229, 195, 134, 56, 16, 14, 14, 14, 14,
+  14, 14, 14, 26, 15, 198, 242, 232, 226, 209, 173, 114, 81, 14, 14, 16,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 18, 14, 14, 15,
+  16, 185, 223, 234, 243, 225, 224, 202, 181, 137, 19, 16, 15, 16, 15, 14,
+  209, 240, 236, 232, 173, 167, 136, 73, 16, 14, 20, 16, 218, 244, 246, 243,
+  225, 208, 179, 118, 49, 16, 15, 16, 14, 14, 16, 14, 16, 19, 29, 197,
+  244, 244, 234, 232, 207, 178, 136, 19, 19, 14, 39, 244, 238, 238, 242, 226,
+  199, 183, 147, 49, 15, 16, 14, 15, 14, 18, 14, 19, 230, 241, 243, 243,
+  238, 213, 185, 157, 92, 14, 19, 15, 14, 19, 19, 209, 243, 250, 237, 234,
+  227, 202, 159, 82, 20, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 15, 20, 192, 242,
+  243, 231, 232, 232, 215, 190, 145, 65, 15, 24, 14, 186, 229, 240, 237, 207,
+  190, 207, 111, 69, 194, 243, 233, 234, 230, 235, 205, 182, 128, 15, 14, 14,
+  47, 242, 236, 238, 246, 202, 210, 172, 132, 60, 19, 18, 18, 95, 234, 238,
+  233, 239, 225, 202, 198, 116, 29, 19, 14, 14, 18, 15, 15, 15, 16, 16,
+  19, 245, 240, 244, 226, 181, 193, 136, 14, 14, 14, 18, 16, 14, 14, 19,
+  82, 98, 118, 105, 111, 118, 114, 130, 98, 109, 113, 126, 132, 161, 251, 242,
+  236, 229, 226, 182, 167, 120, 31, 16, 18, 14, 18, 18, 239, 244, 244, 244,
+  236, 193, 183, 154, 46, 14, 14, 14, 14, 14, 14, 14, 15, 16, 181, 229,
+  235, 237, 221, 219, 194, 145, 100, 20, 75, 244, 247, 245, 232, 221, 185, 164,
+  109, 32, 15, 15, 19, 14, 14, 14, 14, 14, 18, 16, 234, 235, 238, 232,
+  220, 197, 179, 109, 18, 19, 18, 16, 197, 246, 244, 240, 225, 232, 190, 169,
+  124, 57, 14, 14, 14, 15, 14, 14, 23, 243, 244, 240, 235, 224, 192, 157,
+  141, 59, 14, 21, 16, 14, 14, 14, 18, 14, 23, 128, 244, 243, 242, 240,
+  233, 224, 198, 173, 128, 19, 15, 20, 14, 14, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 16, 14, 14, 19, 18, 15, 204, 244, 240, 240, 234,
+  209, 190, 155, 90, 14, 14, 14, 14, 14, 14, 14, 14, 31, 236, 242, 241,
+  235, 227, 205, 188, 113, 19, 19, 21, 232, 234, 244, 241, 219, 198, 147, 120,
+  41, 14, 16, 14, 14, 14, 14, 14, 14, 15, 24, 107, 244, 244, 241, 237,
+  227, 200, 150, 57, 21, 233, 246, 236, 238, 215, 204, 176, 132, 44, 15, 14,
+  15, 14, 14, 14, 14, 14, 14, 23, 107, 228, 241, 240, 236, 197, 198, 143,
+  47, 18, 14, 20, 250, 248, 248, 247, 236, 232, 232, 205, 219, 109, 21, 15,
+  14, 14, 14, 14, 19, 16, 19, 14, 14, 19, 14, 15, 15, 107, 242, 246,
+  248, 242, 241, 234, 205, 122, 42, 18, 16, 16, 14, 14, 14, 22, 15, 20,
+  24, 238, 240, 246, 232, 165, 162, 155, 50, 16, 21, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 78, 238, 238,
+  234, 232, 232, 195, 188, 152, 54, 16, 15, 20, 15, 150, 240, 238, 236, 208,
+  155, 150, 102, 19, 15, 14, 15, 63, 245, 240, 244, 237, 224, 170, 167, 107,
+  15, 18, 15, 14, 14, 14, 14, 14, 21, 15, 21, 198, 241, 242, 240, 225,
+  203, 181, 104, 20, 15, 14, 130, 240, 238, 236, 238, 229, 194, 169, 132, 16,
+  14, 16, 14, 14, 17, 14, 14, 33, 236, 235, 248, 234, 236, 192, 194, 137,
+  38, 21, 17, 14, 15, 16, 41, 237, 245, 248, 234, 239, 219, 194, 139, 81,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 14, 16, 16, 204, 240, 242, 234, 232, 229,
+  221, 202, 143, 61, 24, 15, 49, 234, 238, 232, 237, 210, 205, 150, 64, 20,
+  213, 243, 231, 238, 239, 229, 213, 203, 114, 15, 24, 14, 199, 236, 243, 233,
+  230, 213, 176, 169, 114, 15, 21, 16, 16, 189, 243, 236, 241, 232, 229, 223,
+  183, 95, 38, 18, 15, 14, 14, 14, 18, 18, 19, 20, 178, 240, 247, 239,
+  227, 202, 189, 141, 32, 15, 15, 21, 15, 54, 192, 245, 240, 239, 242, 243,
+  242, 237, 237, 240, 236, 234, 235, 232, 250, 247, 244, 238, 239, 241, 225, 189,
+  161, 130, 18, 18, 16, 14, 16, 73, 241, 239, 247, 234, 230, 197, 172, 118,
+  15, 14, 14, 14, 14, 14, 14, 19, 14, 23, 124, 234, 240, 233, 225, 210,
+  199, 147, 63, 19, 179, 246, 246, 238, 235, 203, 169, 148, 69, 33, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 231, 243, 237, 230, 220, 183, 164, 100,
+  18, 24, 14, 16, 234, 243, 243, 238, 228, 211, 185, 159, 98, 15, 14, 14,
+  18, 14, 14, 14, 82, 239, 244, 240, 225, 219, 179, 162, 116, 14, 14, 14,
+  14, 24, 14, 14, 15, 14, 15, 157, 243, 242, 239, 237, 230, 219, 192, 164,
+  111, 18, 14, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 14, 14, 15, 14, 14, 214, 243, 243, 239, 234, 205, 178, 155, 68,
+  14, 14, 14, 14, 14, 14, 15, 14, 64, 238, 243, 243, 232, 220, 204, 173,
+  97, 20, 18, 73, 240, 240, 244, 239, 204, 178, 126, 90, 22, 14, 14, 14,
+  14, 14, 14, 14, 14, 17, 15, 147, 245, 245, 243, 236, 221, 202, 132, 31,
+  84, 244, 246, 239, 238, 204, 185, 155, 100, 35, 14, 14, 15, 14, 14, 14,
+  14, 14, 14, 15, 148, 229, 243, 240, 231, 192, 189, 137, 31, 16, 14, 19,
+  245, 250, 252, 249, 241, 239, 242, 239, 223, 225, 223, 195, 130, 59, 23, 14,
+  14, 14, 14, 14, 24, 17, 14, 27, 20, 181, 251, 249, 246, 239, 239, 225,
+  228, 197, 173, 178, 193, 203, 205, 205, 205, 205, 210, 215, 206, 248, 239, 227,
+  221, 169, 141, 137, 27, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 32, 228, 232, 235, 232, 223, 210,
+  205, 164, 57, 19, 18, 15, 68, 222, 242, 236, 216, 185, 159, 105, 49, 18,
+  16, 18, 15, 143, 246, 246, 243, 239, 210, 167, 152, 73, 14, 14, 15, 14,
+  14, 14, 14, 14, 14, 16, 15, 211, 242, 242, 237, 219, 197, 175, 93, 23,
+  21, 14, 173, 243, 239, 235, 232, 215, 185, 159, 116, 16, 14, 14, 14, 14,
+  14, 14, 16, 87, 245, 239, 245, 229, 228, 193, 178, 118, 26, 16, 14, 14,
+  18, 15, 79, 242, 243, 243, 231, 236, 209, 178, 134, 59, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 16, 14, 16, 15, 203, 238, 242, 234, 229, 225, 220, 206, 145, 57,
+  19, 16, 182, 243, 238, 242, 202, 185, 178, 98, 41, 19, 211, 240, 234, 239,
+  233, 231, 209, 198, 116, 24, 14, 39, 229, 240, 240, 234, 223, 193, 162, 150,
+  56, 14, 15, 16, 29, 217, 243, 242, 237, 230, 229, 229, 221, 199, 186, 193,
+  188, 192, 193, 197, 203, 206, 214, 215, 235, 253, 253, 248, 229, 194, 176, 114,
+  20, 24, 21, 19, 41, 223, 246, 240, 251, 248, 245, 245, 243, 239, 236, 237,
+  236, 239, 245, 242, 243, 239, 247, 250, 240, 238, 223, 194, 161, 116, 18, 19,
+  18, 14, 16, 122, 246, 241, 246, 234, 220, 189, 162, 98, 15, 14, 14, 14,
+  14, 14, 14, 15, 14, 14, 167, 243, 240, 233, 236, 213, 216, 136, 41, 23,
+  225, 248, 243, 239, 234, 193, 169, 141, 41, 20, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 31, 234, 237, 237, 234, 217, 209, 148, 84, 16, 15, 14, 31,
+  243, 246, 243, 237, 229, 215, 183, 147, 84, 14, 14, 14, 14, 14, 14, 15,
+  134, 246, 243, 240, 227, 219, 173, 148, 102, 14, 15, 14, 14, 20, 14, 14,
+  14, 14, 14, 204, 243, 242, 238, 236, 228, 215, 185, 154, 85, 15, 14, 16,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 35, 233, 243, 243, 235, 233, 193, 165, 152, 39, 14, 14, 14, 14,
+  14, 14, 16, 14, 143, 242, 244, 244, 225, 213, 203, 157, 69, 23, 16, 165,
+  246, 244, 241, 234, 200, 169, 126, 64, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 16, 14, 204, 247, 245, 243, 232, 211, 198, 107, 19, 165, 245, 241, 238,
+  237, 198, 175, 148, 63, 21, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  198, 234, 244, 240, 228, 183, 175, 126, 15, 14, 14, 19, 246, 252, 248, 243,
+  244, 243, 232, 221, 219, 233, 239, 234, 227, 225, 221, 205, 97, 21, 19, 19,
+  14, 15, 21, 14, 15, 217, 251, 247, 237, 237, 239, 230, 229, 229, 236, 241,
+  243, 242, 242, 243, 244, 234, 250, 246, 250, 247, 246, 238, 206, 173, 136, 124,
+  14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 198, 230, 235, 237, 220, 223, 202, 190, 95, 23,
+  23, 20, 183, 247, 242, 232, 188, 159, 145, 56, 15, 21, 14, 15, 15, 219,
+  243, 247, 235, 231, 195, 164, 126, 38, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 21, 14, 231, 242, 241, 232, 214, 194, 162, 79, 21, 14, 14, 208, 243,
+  239, 236, 229, 209, 181, 152, 89, 15, 14, 14, 14, 15, 14, 15, 14, 172,
+  248, 242, 242, 233, 224, 193, 162, 100, 14, 14, 14, 14, 16, 15, 150, 244,
+  243, 240, 229, 228, 200, 154, 130, 33, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14,
+  16, 14, 200, 239, 242, 232, 226, 225, 223, 208, 145, 61, 19, 37, 245, 245,
+  234, 236, 198, 188, 147, 52, 21, 16, 205, 240, 238, 236, 228, 234, 217, 203,
+  124, 27, 14, 145, 245, 241, 239, 231, 204, 173, 148, 120, 16, 14, 14, 21,
+  60, 236, 239, 242, 242, 236, 230, 229, 223, 217, 228, 238, 234, 236, 238, 242,
+  243, 246, 246, 248, 246, 249, 250, 244, 217, 188, 182, 114, 21, 21, 21, 24,
+  170, 254, 254, 250, 250, 246, 240, 240, 243, 243, 242, 241, 242, 238, 238, 243,
+  238, 242, 243, 241, 238, 236, 223, 200, 157, 87, 18, 20, 14, 14, 14, 189,
+  246, 244, 242, 234, 206, 183, 154, 71, 14, 15, 14, 14, 14, 14, 14, 14,
+  15, 14, 206, 246, 244, 233, 238, 209, 211, 120, 21, 63, 248, 247, 240, 239,
+  225, 185, 164, 118, 18, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 90,
+  238, 236, 236, 235, 204, 215, 128, 56, 20, 14, 21, 111, 249, 249, 243, 236,
+  227, 211, 175, 134, 65, 14, 14, 14, 14, 14, 14, 14, 206, 250, 243, 240,
+  229, 210, 159, 130, 76, 14, 17, 14, 14, 18, 14, 16, 14, 14, 14, 229,
+  243, 240, 237, 234, 228, 210, 179, 143, 61, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 15, 14, 14, 15, 19, 14, 14, 79, 243,
+  242, 243, 229, 225, 182, 152, 136, 19, 14, 14, 14, 14, 14, 14, 14, 14,
+  207, 239, 243, 242, 222, 204, 195, 136, 37, 19, 15, 222, 248, 246, 238, 226,
+  198, 154, 130, 36, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 228,
+  246, 243, 243, 225, 204, 189, 84, 16, 221, 243, 235, 235, 231, 188, 162, 145,
+  34, 14, 14, 16, 14, 14, 14, 14, 14, 16, 14, 14, 224, 232, 243, 236,
+  225, 179, 165, 114, 14, 14, 15, 15, 233, 246, 236, 228, 242, 243, 236, 237,
+  245, 243, 239, 241, 245, 249, 242, 223, 218, 193, 87, 20, 14, 21, 14, 15,
+  29, 236, 244, 244, 232, 232, 235, 229, 220, 225, 233, 239, 238, 236, 238, 243,
+  246, 232, 246, 238, 244, 229, 240, 232, 164, 154, 141, 95, 15, 14, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  19, 14, 130, 239, 239, 236, 224, 228, 197, 217, 137, 18, 16, 102, 242, 246,
+  238, 218, 167, 136, 93, 26, 14, 20, 14, 14, 29, 240, 240, 246, 234, 213,
+  183, 159, 95, 16, 16, 14, 14, 14, 14, 14, 14, 15, 14, 15, 44, 244,
+  239, 238, 225, 205, 189, 136, 53, 15, 14, 29, 228, 241, 237, 237, 227, 206,
+  181, 136, 56, 14, 14, 14, 14, 14, 14, 16, 15, 210, 243, 242, 238, 236,
+  216, 195, 152, 82, 14, 15, 14, 15, 14, 14, 200, 241, 239, 235, 226, 218,
+  192, 136, 118, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 202, 239,
+  237, 230, 226, 229, 226, 216, 152, 64, 19, 157, 247, 244, 234, 209, 208, 175,
+  114, 31, 14, 20, 205, 242, 239, 232, 230, 237, 221, 209, 122, 15, 41, 228,
+  245, 239, 235, 220, 182, 167, 141, 69, 14, 14, 14, 15, 130, 242, 240, 240,
+  239, 235, 234, 230, 225, 225, 227, 232, 232, 234, 237, 239, 240, 242, 242, 243,
+  246, 245, 238, 226, 185, 178, 170, 67, 26, 20, 21, 92, 249, 246, 250, 252,
+  242, 235, 223, 215, 210, 205, 199, 197, 206, 192, 197, 227, 231, 240, 240, 233,
+  236, 229, 217, 198, 147, 54, 16, 19, 14, 14, 21, 226, 243, 243, 234, 231,
+  200, 181, 136, 47, 14, 16, 14, 14, 14, 14, 14, 14, 15, 26, 232, 244,
+  247, 236, 228, 210, 183, 107, 14, 148, 251, 246, 238, 234, 209, 179, 154, 67,
+  14, 14, 14, 15, 14, 14, 14, 14, 14, 15, 14, 161, 241, 236, 236, 227,
+  186, 200, 122, 31, 21, 14, 20, 200, 249, 250, 245, 235, 224, 206, 164, 116,
+  38, 14, 14, 14, 14, 14, 14, 14, 234, 250, 242, 237, 225, 195, 154, 120,
+  43, 14, 15, 14, 14, 15, 14, 16, 14, 14, 33, 241, 243, 242, 236, 234,
+  226, 209, 176, 134, 40, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 15, 14, 14, 14, 19, 14, 18, 143, 246, 241, 240, 226, 216,
+  176, 145, 104, 14, 16, 14, 14, 14, 14, 16, 14, 18, 234, 242, 242, 237,
+  220, 203, 192, 118, 21, 14, 24, 238, 246, 243, 236, 220, 197, 139, 120, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 29, 240, 245, 240, 242, 222,
+  202, 176, 67, 26, 242, 246, 239, 234, 218, 172, 139, 111, 20, 14, 14, 16,
+  14, 14, 14, 14, 14, 16, 14, 26, 236, 236, 242, 232, 215, 175, 161, 92,
+  14, 16, 17, 14, 143, 221, 232, 216, 207, 202, 211, 233, 213, 218, 227, 239,
+  243, 242, 243, 243, 236, 217, 219, 159, 24, 15, 33, 15, 114, 249, 243, 243,
+  232, 221, 217, 211, 202, 200, 205, 210, 206, 202, 204, 211, 214, 207, 216, 209,
+  206, 189, 190, 155, 148, 134, 139, 56, 22, 14, 25, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 47, 240,
+  238, 233, 231, 228, 218, 224, 152, 21, 21, 218, 252, 245, 228, 195, 162, 111,
+  40, 14, 14, 14, 14, 16, 90, 244, 243, 244, 239, 198, 182, 157, 69, 14,
+  16, 14, 14, 14, 14, 15, 14, 14, 16, 14, 114, 243, 238, 236, 221, 204,
+  189, 114, 37, 14, 21, 85, 244, 243, 234, 234, 217, 197, 178, 114, 32, 14,
+  14, 16, 14, 14, 16, 14, 19, 229, 243, 242, 236, 234, 206, 188, 145, 65,
+  14, 14, 14, 14, 14, 25, 219, 238, 238, 235, 227, 205, 186, 137, 95, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 14, 14, 15, 14, 198, 240, 235, 229, 226, 230,
+  227, 215, 152, 68, 31, 236, 241, 245, 239, 203, 179, 137, 73, 18, 14, 20,
+  202, 240, 239, 232, 236, 235, 225, 215, 126, 15, 148, 247, 235, 234, 230, 209,
+  170, 162, 109, 32, 15, 17, 14, 14, 207, 246, 246, 241, 237, 235, 229, 223,
+  215, 207, 200, 194, 199, 204, 206, 205, 206, 208, 205, 206, 203, 203, 193, 176,
+  148, 162, 137, 27, 18, 21, 21, 172, 253, 243, 246, 239, 221, 216, 205, 182,
+  169, 169, 165, 172, 183, 182, 198, 217, 223, 224, 231, 232, 233, 217, 203, 179,
+  114, 28, 14, 15, 14, 14, 47, 240, 238, 241, 228, 226, 197, 172, 120, 28,
+  14, 14, 14, 14, 14, 16, 14, 14, 14, 85, 246, 246, 246, 241, 217, 219,
+  148, 95, 14, 210, 247, 244, 239, 230, 193, 178, 143, 30, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 14, 14, 203, 243, 243, 236, 217, 194, 173, 126, 14,
+  14, 14, 14, 217, 248, 251, 246, 235, 219, 194, 152, 111, 18, 14, 14, 14,
+  14, 14, 14, 25, 244, 251, 243, 235, 221, 178, 152, 118, 19, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 79, 243, 243, 237, 233, 229, 225, 208, 167, 128,
+  25, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15,
+  14, 14, 14, 16, 14, 22, 197, 243, 242, 237, 228, 203, 175, 141, 64, 14,
+  16, 14, 15, 14, 14, 17, 14, 45, 242, 240, 243, 227, 219, 203, 175, 97,
+  15, 14, 56, 244, 244, 242, 236, 214, 192, 139, 85, 15, 18, 14, 15, 14,
+  14, 14, 14, 14, 14, 14, 89, 243, 244, 239, 237, 211, 204, 148, 49, 72,
+  245, 243, 240, 231, 209, 176, 139, 81, 14, 14, 14, 14, 14, 14, 15, 14,
+  16, 14, 14, 89, 243, 239, 243, 226, 202, 162, 147, 57, 16, 14, 15, 14,
+  37, 122, 194, 206, 200, 189, 182, 178, 211, 214, 217, 223, 225, 223, 233, 243,
+  224, 236, 225, 206, 130, 19, 16, 26, 199, 250, 242, 234, 230, 213, 199, 182,
+  164, 157, 157, 162, 161, 154, 148, 150, 154, 162, 150, 159, 150, 161, 175, 134,
+  167, 136, 130, 35, 24, 14, 24, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 21, 14, 222, 236, 232, 238, 231,
+  229, 220, 188, 130, 150, 253, 250, 238, 209, 164, 136, 72, 14, 14, 19, 14,
+  14, 16, 179, 242, 245, 239, 236, 192, 172, 134, 41, 14, 15, 14, 14, 14,
+  14, 18, 14, 14, 15, 14, 190, 233, 235, 232, 209, 192, 179, 97, 26, 14,
+  18, 164, 245, 238, 230, 233, 205, 192, 161, 95, 16, 14, 14, 16, 14, 14,
+  14, 14, 63, 243, 248, 246, 236, 223, 195, 173, 134, 39, 15, 14, 14, 14,
+  14, 57, 226, 236, 236, 234, 224, 200, 179, 145, 60, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 198, 236, 238, 231, 229, 229, 225, 216, 165, 89,
+  159, 252, 247, 238, 227, 209, 136, 122, 35, 14, 14, 16, 203, 242, 242, 234,
+  236, 232, 228, 217, 145, 18, 225, 246, 232, 234, 225, 194, 164, 141, 71, 15,
+  14, 14, 14, 14, 234, 243, 243, 239, 236, 234, 220, 183, 161, 152, 148, 137,
+  155, 157, 159, 157, 154, 155, 154, 154, 134, 155, 147, 143, 128, 136, 90, 14,
+  14, 26, 27, 232, 248, 247, 236, 222, 200, 190, 162, 120, 100, 95, 102, 109,
+  126, 105, 107, 130, 221, 223, 227, 223, 224, 203, 181, 145, 82, 14, 14, 14,
+  14, 14, 118, 243, 236, 238, 224, 221, 192, 161, 97, 18, 14, 14, 14, 14,
+  14, 23, 14, 14, 14, 182, 251, 247, 242, 241, 210, 223, 124, 64, 14, 225,
+  243, 244, 240, 228, 186, 170, 120, 14, 18, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 30, 225, 241, 244, 238, 210, 192, 147, 109, 14, 14, 14, 27, 231,
+  247, 250, 246, 237, 219, 186, 141, 98, 14, 14, 14, 14, 14, 14, 15, 102,
+  249, 250, 245, 234, 219, 167, 154, 100, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 148, 239, 239, 233, 227, 222, 218, 199, 157, 114, 18, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 14, 14, 14, 15,
+  14, 31, 225, 239, 240, 232, 226, 175, 169, 132, 31, 14, 14, 14, 17, 14,
+  18, 15, 14, 122, 240, 240, 240, 213, 216, 197, 150, 73, 14, 14, 124, 243,
+  243, 236, 238, 194, 175, 147, 43, 15, 16, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 185, 243, 241, 234, 228, 195, 188, 92, 27, 132, 244, 236, 238, 225,
+  195, 185, 136, 48, 14, 14, 14, 14, 14, 14, 16, 14, 19, 14, 19, 197,
+  246, 245, 238, 215, 185, 150, 128, 25, 18, 14, 14, 14, 14, 26, 68, 113,
+  147, 181, 186, 159, 154, 170, 193, 213, 227, 236, 236, 231, 242, 224, 210, 226,
+  165, 38, 19, 16, 217, 241, 240, 220, 223, 209, 181, 137, 73, 69, 75, 89,
+  105, 111, 116, 122, 126, 126, 100, 100, 90, 84, 122, 90, 92, 76, 65, 22,
+  19, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 167, 238, 230, 237, 231, 229, 229, 225, 232,
+  246, 254, 243, 217, 179, 145, 85, 31, 14, 14, 14, 14, 14, 14, 222, 238,
+  243, 232, 221, 188, 164, 107, 21, 14, 14, 14, 14, 14, 15, 14, 14, 14,
+  14, 31, 223, 226, 230, 225, 189, 167, 161, 73, 17, 14, 14, 216, 240, 237,
+  227, 232, 194, 183, 134, 84, 14, 14, 14, 14, 14, 14, 15, 15, 143, 246,
+  246, 243, 232, 217, 182, 154, 111, 18, 14, 14, 14, 14, 14, 120, 233, 234,
+  229, 225, 213, 188, 159, 141, 31, 19, 15, 14, 14, 14, 14, 15, 15, 15,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 14, 193, 231, 233, 227, 226, 225, 220, 220, 197, 143, 249, 251, 248, 236,
+  209, 186, 136, 87, 16, 14, 14, 14, 203, 240, 238, 238, 235, 236, 233, 219,
+  181, 85, 240, 241, 232, 228, 207, 176, 154, 98, 35, 14, 14, 14, 14, 23,
+  243, 243, 238, 234, 224, 225, 202, 137, 90, 87, 100, 104, 114, 120, 118, 116,
+  113, 113, 107, 102, 100, 111, 87, 85, 73, 49, 27, 14, 18, 14, 81, 243,
+  242, 242, 223, 206, 186, 157, 87, 36, 18, 14, 14, 14, 15, 14, 14, 31,
+  224, 226, 223, 209, 203, 183, 157, 107, 57, 14, 14, 14, 14, 14, 195, 241,
+  236, 236, 221, 204, 175, 136, 84, 14, 18, 14, 14, 16, 14, 19, 14, 14,
+  39, 234, 249, 246, 239, 236, 208, 210, 116, 34, 30, 239, 243, 244, 236, 220,
+  182, 145, 89, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 90, 243,
+  239, 243, 230, 193, 173, 134, 69, 14, 15, 16, 93, 243, 249, 250, 244, 232,
+  215, 178, 124, 75, 14, 16, 14, 14, 19, 14, 22, 205, 251, 250, 245, 226,
+  211, 154, 139, 69, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 179, 227,
+  224, 221, 215, 211, 208, 193, 148, 105, 14, 14, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 18, 14, 38, 235, 236,
+  232, 217, 214, 150, 152, 116, 14, 15, 14, 14, 21, 14, 18, 14, 15, 179,
+  232, 234, 234, 192, 207, 178, 118, 54, 15, 16, 178, 242, 238, 226, 227, 164,
+  137, 122, 14, 15, 14, 15, 14, 14, 14, 14, 14, 14, 15, 14, 217, 236,
+  227, 217, 203, 167, 165, 63, 15, 162, 243, 233, 235, 214, 175, 173, 95, 17,
+  14, 14, 14, 14, 14, 14, 18, 14, 23, 18, 21, 236, 243, 243, 230, 189,
+  159, 126, 95, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 42, 105, 111,
+  141, 172, 192, 189, 195, 219, 229, 223, 217, 234, 211, 215, 186, 56, 21, 15,
+  221, 228, 236, 199, 214, 208, 176, 100, 24, 19, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 17, 20, 14, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  19, 14, 21, 109, 236, 226, 228, 227, 228, 238, 229, 231, 249, 235, 234, 195,
+  154, 136, 50, 14, 14, 14, 14, 15, 16, 15, 235, 240, 239, 225, 190, 178,
+  141, 84, 14, 14, 14, 14, 14, 14, 18, 14, 14, 16, 14, 75, 234, 225,
+  219, 209, 159, 141, 137, 55, 14, 14, 14, 233, 236, 234, 225, 225, 173, 165,
+  114, 78, 14, 16, 14, 14, 14, 16, 21, 16, 194, 242, 240, 230, 227, 205,
+  172, 134, 100, 14, 14, 14, 14, 14, 14, 172, 239, 237, 225, 210, 197, 173,
+  134, 130, 14, 17, 14, 14, 14, 14, 14, 15, 15, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 185, 226,
+  222, 217, 213, 214, 216, 225, 218, 190, 253, 237, 240, 239, 204, 126, 139, 27,
+  14, 14, 14, 14, 198, 238, 229, 234, 232, 239, 236, 216, 202, 183, 233, 224,
+  221, 207, 167, 148, 141, 68, 20, 14, 14, 16, 17, 48, 241, 239, 224, 223,
+  209, 211, 170, 72, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 16, 14, 208, 231, 230, 225, 221, 176,
+  155, 109, 47, 15, 14, 14, 14, 14, 15, 14, 31, 46, 234, 217, 198, 188,
+  182, 162, 137, 90, 45, 14, 14, 14, 14, 14, 224, 232, 229, 225, 205, 176,
+  152, 111, 68, 14, 23, 15, 14, 19, 15, 14, 15, 21, 82, 246, 243, 236,
+  228, 216, 194, 169, 98, 16, 52, 245, 240, 236, 218, 207, 170, 111, 67, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 22, 161, 251, 230, 231, 214, 165,
+  155, 130, 39, 14, 16, 14, 165, 243, 248, 246, 236, 223, 203, 172, 100, 50,
+  14, 17, 14, 14, 20, 14, 14, 227, 247, 243, 238, 215, 202, 143, 126, 47,
+  14, 17, 14, 14, 14, 14, 14, 15, 14, 14, 197, 198, 192, 197, 188, 183,
+  190, 185, 130, 78, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 20, 14, 14, 18, 14, 16, 14, 134, 232, 221, 215, 200, 170, 145,
+  100, 65, 14, 14, 14, 18, 14, 14, 14, 16, 14, 214, 221, 225, 203, 193,
+  169, 157, 132, 30, 15, 21, 208, 236, 231, 221, 188, 148, 107, 60, 14, 14,
+  14, 14, 14, 14, 15, 14, 21, 14, 14, 69, 209, 207, 197, 186, 157, 148,
+  111, 34, 14, 190, 222, 229, 225, 193, 164, 155, 79, 14, 14, 14, 14, 14,
+  14, 16, 14, 14, 21, 49, 126, 248, 240, 228, 218, 124, 107, 92, 41, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 38, 61, 122, 157,
+  200, 195, 208, 204, 208, 222, 210, 188, 164, 69, 14, 14, 210, 202, 198, 182,
+  178, 183, 169, 109, 14, 14, 14, 14, 16, 16, 14, 14, 18, 14, 14, 19,
+  14, 14, 24, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 16, 14, 14, 16,
+  213, 205, 218, 199, 216, 217, 217, 219, 225, 217, 183, 137, 130, 57, 18, 14,
+  14, 14, 14, 18, 18, 23, 240, 235, 228, 190, 162, 143, 92, 47, 15, 14,
+  14, 14, 14, 14, 14, 18, 21, 14, 14, 154, 205, 213, 195, 162, 154, 126,
+  97, 23, 16, 14, 55, 224, 214, 209, 202, 186, 157, 141, 104, 28, 14, 14,
+  16, 16, 14, 20, 19, 18, 227, 242, 220, 221, 195, 165, 148, 122, 78, 14,
+  15, 14, 14, 14, 14, 226, 243, 235, 215, 209, 189, 139, 102, 65, 14, 14,
+  14, 14, 17, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 167, 210, 207, 195, 193, 200,
+  215, 220, 225, 230, 239, 232, 234, 189, 162, 132, 78, 14, 14, 14, 14, 14,
+  185, 233, 232, 229, 232, 234, 229, 221, 214, 208, 204, 192, 183, 175, 128, 128,
+  79, 40, 14, 19, 14, 14, 14, 100, 219, 209, 198, 173, 164, 162, 132, 59,
+  14, 16, 19, 20, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 14, 16, 215, 231, 220, 213, 176, 164, 154, 76, 26, 14,
+  14, 14, 14, 15, 19, 19, 29, 141, 215, 206, 185, 155, 176, 147, 141, 105,
+  18, 15, 14, 14, 14, 52, 221, 215, 221, 190, 192, 139, 122, 97, 14, 14,
+  19, 16, 14, 21, 14, 14, 14, 14, 210, 227, 227, 209, 199, 148, 169, 114,
+  56, 14, 107, 232, 222, 216, 217, 172, 167, 134, 27, 21, 19, 14, 14, 14,
+  15, 14, 14, 15, 14, 14, 231, 242, 213, 217, 165, 143, 102, 82, 14, 14,
+  14, 14, 222, 245, 239, 246, 217, 216, 179, 126, 104, 14, 14, 14, 14, 14,
+  14, 14, 21, 243, 226, 231, 217, 198, 161, 139, 122, 28, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 183, 181, 164, 157, 157, 155, 164, 157, 104, 54,
+  14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 21, 14, 14, 14, 14,
+  14, 16, 14, 14, 14, 152, 215, 205, 195, 178, 143, 128, 93, 45, 14, 14,
+  14, 15, 14, 14, 14, 14, 14, 207, 199, 203, 181, 164, 139, 118, 82, 15,
+  15, 20, 204, 232, 221, 207, 167, 130, 98, 48, 14, 14, 14, 14, 14, 14,
+  29, 14, 16, 16, 14, 157, 200, 164, 165, 136, 118, 120, 76, 22, 14, 170,
+  216, 213, 204, 179, 150, 122, 60, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  21, 21, 200, 242, 224, 218, 155, 120, 92, 68, 17, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 15, 14, 14, 18, 45, 150, 197, 190, 195,
+  200, 213, 192, 167, 136, 44, 14, 15, 192, 178, 165, 155, 155, 165, 154, 92,
+  21, 21, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 19, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 16, 18, 18, 14, 14, 14, 164, 199, 199, 185,
+  200, 202, 200, 205, 198, 176, 139, 109, 78, 36, 15, 14, 15, 15, 14, 16,
+  19, 21, 232, 223, 211, 157, 137, 122, 95, 39, 14, 14, 14, 15, 14, 14,
+  24, 14, 19, 14, 16, 194, 203, 176, 169, 120, 111, 104, 72, 14, 14, 14,
+  89, 209, 200, 195, 183, 164, 145, 122, 98, 27, 14, 15, 18, 19, 16, 19,
+  23, 36, 223, 230, 208, 197, 167, 141, 126, 100, 43, 14, 14, 14, 14, 14,
+  36, 235, 242, 226, 203, 189, 162, 114, 92, 43, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 152, 198, 192, 178, 178, 183, 194, 206, 215, 218,
+  220, 219, 204, 178, 128, 97, 41, 14, 14, 14, 14, 14, 169, 223, 217, 218,
+  225, 227, 221, 208, 194, 188, 173, 164, 150, 126, 114, 79, 71, 15, 14, 14,
+  14, 14, 14, 116, 199, 185, 170, 139, 122, 109, 85, 40, 15, 14, 21, 18,
+  15, 14, 14, 14, 14, 14, 14, 14, 17, 14, 14, 14, 14, 15, 19, 14,
+  14, 42, 215, 225, 210, 195, 165, 148, 97, 39, 14, 14, 14, 14, 16, 21,
+  34, 26, 18, 186, 199, 179, 167, 148, 157, 137, 134, 93, 16, 14, 14, 14,
+  14, 105, 225, 211, 207, 165, 161, 118, 107, 84, 14, 14, 17, 19, 14, 18,
+  18, 14, 14, 65, 219, 207, 197, 165, 154, 120, 122, 75, 24, 14, 85, 221,
+  208, 197, 192, 148, 175, 137, 21, 15, 23, 16, 14, 14, 18, 15, 14, 14,
+  14, 89, 231, 229, 207, 185, 143, 104, 89, 36, 14, 14, 14, 29, 230, 243,
+  233, 232, 203, 194, 157, 114, 84, 14, 14, 14, 14, 14, 14, 18, 59, 237,
+  215, 214, 202, 183, 145, 114, 85, 18, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 178, 170, 152, 130, 136, 150, 143, 136, 92, 35, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 16, 14, 14, 14,
+  14, 170, 198, 186, 169, 145, 120, 104, 90, 22, 14, 14, 14, 14, 14, 14,
+  14, 14, 48, 195, 185, 185, 164, 145, 130, 102, 55, 14, 14, 14, 186, 217,
+  204, 192, 154, 124, 85, 43, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 206, 189, 157, 154, 116, 105, 104, 54, 15, 14, 167, 217, 199, 188, 170,
+  147, 111, 53, 14, 14, 14, 16, 19, 18, 14, 14, 17, 16, 18, 222, 224,
+  206, 198, 130, 111, 89, 54, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14,
+  14, 14, 15, 15, 18, 14, 14, 14, 104, 207, 182, 182, 189, 195, 172, 157,
+  124, 30, 14, 54, 175, 157, 141, 134, 128, 143, 118, 68, 14, 14, 15, 14,
+  14, 14, 14, 14, 15, 14, 14, 14, 14, 18, 14, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 16, 16, 18, 15, 14, 14, 90, 199, 182, 186, 189, 192, 192, 192,
+  173, 145, 111, 95, 34, 19, 14, 14, 18, 14, 14, 14, 14, 14, 217, 206,
+  190, 139, 126, 111, 84, 30, 14, 14, 14, 15, 16, 14, 15, 14, 14, 14,
+  65, 200, 195, 172, 152, 98, 95, 84, 49, 14, 14, 14, 150, 206, 195, 192,
+  173, 154, 145, 109, 49, 14, 14, 14, 14, 18, 15, 24, 20, 75, 213, 215,
+  189, 162, 143, 128, 116, 85, 19, 16, 16, 14, 14, 14, 81, 226, 221, 207,
+  186, 162, 136, 102, 79, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 145, 183, 178, 164, 154, 164, 170, 182, 188, 192, 199, 204, 173, 167,
+  105, 71, 19, 14, 14, 14, 14, 14, 155, 205, 197, 192, 204, 213, 205, 189,
+  167, 157, 154, 145, 132, 95, 102, 68, 44, 14, 14, 15, 16, 14, 14, 145,
+  186, 176, 148, 130, 132, 114, 75, 35, 14, 14, 18, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 19, 16, 14, 14, 21, 14, 14, 100, 217, 219,
+  206, 181, 157, 136, 104, 41, 14, 14, 14, 14, 14, 14, 16, 15, 14, 216,
+  183, 159, 150, 136, 134, 120, 122, 71, 14, 14, 14, 14, 14, 175, 223, 205,
+  197, 161, 148, 128, 78, 47, 14, 14, 14, 14, 14, 14, 14, 14, 14, 143,
+  204, 186, 183, 162, 124, 122, 95, 50, 14, 14, 82, 217, 202, 195, 178, 136,
+  159, 98, 15, 14, 15, 19, 21, 15, 14, 14, 14, 14, 14, 192, 222, 211,
+  198, 162, 132, 102, 84, 14, 14, 14, 15, 55, 227, 226, 219, 210, 193, 169,
+  139, 111, 55, 14, 14, 14, 14, 14, 14, 14, 128, 218, 204, 194, 181, 157,
+  134, 102, 56, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 28, 176, 162,
+  147, 105, 122, 136, 116, 116, 82, 28, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 21, 181, 173, 169,
+  145, 116, 92, 89, 73, 14, 14, 14, 14, 17, 14, 14, 14, 14, 93, 170,
+  164, 164, 145, 137, 126, 92, 45, 14, 14, 14, 162, 199, 186, 178, 137, 118,
+  78, 42, 14, 16, 14, 15, 16, 18, 14, 15, 14, 14, 79, 188, 162, 167,
+  134, 102, 95, 90, 33, 14, 14, 170, 207, 189, 178, 162, 147, 114, 52, 14,
+  14, 14, 14, 14, 14, 14, 15, 14, 14, 82, 199, 193, 178, 147, 136, 85,
+  82, 35, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 16, 22, 14, 90, 199, 186, 181, 165, 178, 157, 145, 109, 19, 14, 73,
+  164, 134, 126, 113, 111, 122, 102, 63, 14, 14, 16, 17, 14, 14, 14, 14,
+  14, 14, 14, 14, 17, 14, 14, 49, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 16,
+  16, 16, 14, 14, 31, 190, 164, 183, 164, 175, 176, 161, 147, 126, 95, 72,
+  15, 14, 14, 14, 16, 14, 14, 14, 14, 14, 198, 181, 170, 122, 114, 107,
+  75, 19, 14, 26, 16, 16, 18, 14, 14, 14, 14, 14, 175, 169, 170, 169,
+  120, 93, 93, 63, 27, 14, 14, 17, 186, 189, 178, 178, 157, 139, 132, 89,
+  47, 14, 14, 16, 18, 19, 14, 14, 14, 116, 203, 188, 157, 136, 130, 104,
+  98, 79, 14, 16, 15, 16, 14, 14, 128, 204, 198, 181, 173, 139, 120, 98,
+  68, 14, 14, 14, 14, 15, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 134, 172,
+  162, 143, 136, 136, 147, 150, 154, 164, 172, 179, 145, 136, 90, 39, 14, 15,
+  14, 14, 14, 14, 141, 185, 169, 157, 170, 183, 175, 157, 147, 143, 141, 132,
+  113, 102, 78, 65, 14, 14, 14, 15, 18, 14, 14, 162, 173, 162, 132, 118,
+  100, 81, 52, 20, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  18, 14, 14, 28, 14, 14, 18, 14, 14, 159, 208, 204, 194, 159, 161, 141,
+  85, 27, 14, 14, 15, 14, 14, 17, 20, 19, 26, 205, 145, 126, 134, 139,
+  124, 114, 111, 53, 14, 14, 14, 14, 14, 207, 211, 195, 185, 161, 136, 126,
+  82, 27, 14, 14, 14, 14, 18, 14, 14, 14, 35, 193, 178, 172, 167, 141,
+  111, 114, 82, 26, 14, 14, 87, 213, 189, 190, 169, 128, 137, 68, 14, 17,
+  14, 15, 16, 14, 14, 14, 16, 15, 30, 204, 197, 195, 178, 141, 109, 109,
+  65, 14, 14, 14, 14, 104, 211, 197, 195, 170, 173, 143, 118, 100, 32, 14,
+  14, 15, 14, 14, 14, 14, 161, 193, 181, 170, 150, 137, 122, 93, 46, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 52, 162, 145, 126, 90, 97, 109,
+  95, 93, 73, 29, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 16, 145, 14, 14, 15, 14, 40, 173, 147, 148, 122, 100, 79, 75,
+  55, 14, 14, 14, 14, 16, 14, 14, 14, 14, 111, 145, 141, 134, 122, 120,
+  120, 78, 29, 14, 14, 14, 136, 179, 165, 162, 128, 118, 111, 53, 14, 14,
+  15, 21, 21, 16, 14, 14, 14, 14, 169, 152, 157, 155, 105, 85, 82, 61,
+  16, 14, 14, 172, 192, 178, 172, 152, 141, 128, 53, 14, 14, 16, 14, 14,
+  14, 16, 18, 14, 14, 130, 143, 154, 143, 113, 114, 92, 71, 19, 14, 14,
+  14, 20, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14,
+  137, 186, 183, 159, 167, 161, 139, 128, 76, 14, 14, 61, 147, 120, 104, 98,
+  93, 100, 102, 73, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14,
+  14, 14, 17, 124, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 16, 14, 16, 14, 14,
+  14, 167, 155, 173, 130, 154, 147, 128, 116, 109, 69, 31, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 178, 161, 152, 107, 105, 109, 111, 21, 15, 24,
+  18, 19, 23, 18, 14, 14, 14, 52, 194, 145, 164, 141, 93, 93, 89, 34,
+  14, 14, 14, 34, 192, 165, 155, 162, 147, 128, 128, 84, 23, 14, 14, 14,
+  14, 14, 14, 14, 14, 126, 185, 150, 124, 122, 109, 90, 76, 65, 14, 14,
+  14, 15, 14, 14, 139, 172, 169, 155, 157, 124, 107, 90, 60, 14, 14, 14,
+  14, 18, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 124, 154, 147, 126, 109, 114,
+  116, 114, 120, 132, 134, 136, 114, 85, 72, 18, 14, 16, 14, 14, 14, 14,
+  120, 155, 130, 116, 130, 145, 137, 128, 126, 128, 122, 122, 97, 93, 65, 37,
+  14, 14, 15, 14, 14, 14, 14, 148, 161, 141, 111, 102, 102, 89, 81, 33,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 38, 92,
+  20, 18, 14, 14, 14, 176, 193, 183, 178, 137, 152, 126, 98, 31, 14, 14,
+  14, 14, 14, 14, 14, 14, 64, 178, 132, 114, 102, 111, 118, 118, 109, 35,
+  14, 14, 14, 14, 45, 215, 193, 176, 170, 154, 124, 113, 68, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 113, 189, 155, 172, 147, 113, 104, 92, 68, 14,
+  14, 14, 89, 200, 175, 170, 148, 130, 143, 76, 14, 14, 15, 14, 14, 14,
+  15, 16, 14, 14, 116, 173, 178, 183, 150, 130, 90, 102, 35, 14, 14, 14,
+  14, 139, 186, 154, 152, 124, 145, 120, 107, 87, 19, 14, 14, 16, 14, 14,
+  14, 14, 161, 167, 152, 141, 124, 116, 111, 78, 28, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 73, 150, 132, 116, 87, 87, 90, 82, 79, 79, 53,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 59, 189,
+  14, 14, 14, 14, 79, 152, 132, 124, 104, 85, 78, 68, 33, 14, 14, 15,
+  14, 14, 14, 14, 14, 14, 132, 134, 128, 116, 109, 105, 109, 65, 18, 14,
+  14, 14, 124, 169, 155, 147, 118, 111, 132, 72, 14, 14, 14, 20, 20, 15,
+  14, 14, 14, 72, 170, 147, 172, 116, 93, 85, 68, 35, 14, 14, 14, 165,
+  173, 169, 165, 137, 134, 130, 67, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  40, 114, 116, 130, 114, 105, 69, 111, 46, 14, 14, 14, 20, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 20, 14, 14, 15, 181, 167, 154, 137,
+  154, 141, 120, 98, 47, 14, 14, 50, 145, 113, 97, 84, 82, 85, 95, 98,
+  23, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 60, 122, 178,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14, 116, 159, 164,
+  130, 141, 128, 104, 90, 81, 41, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 157, 141, 134, 98, 100, 105, 139, 42, 14, 15, 16, 15, 20, 14,
+  14, 14, 14, 148, 161, 159, 170, 100, 79, 97, 67, 17, 14, 14, 14, 82,
+  178, 136, 136, 128, 134, 116, 116, 93, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 132, 155, 120, 100, 105, 93, 85, 72, 43, 15, 14, 14, 14, 14, 14,
+  152, 141, 141, 122, 132, 105, 93, 75, 43, 14, 14, 14, 14, 18, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 113, 150, 134, 105, 97, 90, 97, 93, 93, 102,
+  107, 107, 100, 59, 52, 14, 14, 16, 14, 14, 14, 14, 105, 132, 98, 90,
+  98, 109, 102, 105, 114, 120, 114, 100, 90, 75, 60, 14, 14, 14, 29, 14,
+  14, 14, 14, 128, 155, 137, 116, 93, 79, 76, 81, 55, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 82, 167, 143, 14, 14, 14, 16,
+  14, 175, 175, 164, 157, 126, 136, 116, 107, 45, 14, 14, 14, 14, 14, 14,
+  14, 14, 107, 141, 120, 107, 93, 100, 113, 113, 92, 23, 14, 14, 14, 14,
+  93, 197, 167, 161, 148, 150, 118, 111, 45, 14, 14, 14, 14, 14, 14, 14,
+  14, 26, 152, 152, 124, 162, 120, 105, 100, 72, 45, 14, 14, 14, 87, 197,
+  170, 143, 118, 118, 137, 95, 20, 14, 14, 14, 14, 14, 14, 14, 14, 22,
+  165, 128, 155, 165, 136, 130, 102, 87, 15, 14, 14, 14, 14, 152, 148, 116,
+  109, 93, 109, 105, 104, 68, 15, 14, 14, 15, 14, 14, 14, 14, 137, 134,
+  137, 116, 105, 93, 89, 55, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 100, 147, 124, 102, 87, 78, 78, 78, 79, 75, 76, 97, 102, 107, 104,
+  107, 109, 107, 107, 102, 120, 126, 113, 113, 145, 132, 100, 15, 14, 14, 14,
+  118, 137, 126, 95, 76, 68, 71, 57, 15, 14, 14, 19, 15, 15, 14, 14,
+  14, 17, 137, 109, 113, 98, 93, 92, 98, 59, 14, 14, 14, 14, 105, 150,
+  141, 137, 116, 109, 107, 104, 32, 15, 14, 14, 14, 14, 14, 14, 27, 137,
+  164, 147, 155, 95, 72, 85, 48, 15, 14, 14, 14, 147, 162, 134, 139, 132,
+  118, 118, 104, 49, 14, 14, 14, 14, 14, 14, 14, 27, 105, 89, 107, 111,
+  98, 90, 79, 81, 20, 14, 14, 27, 85, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 68, 165, 139, 134, 126, 132, 116, 109, 87,
+  32, 14, 14, 24, 134, 100, 90, 76, 68, 81, 93, 102, 148, 126, 111, 109,
+  113, 107, 107, 105, 109, 120, 116, 136, 170, 182, 154, 72, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 15, 14, 14, 14, 14, 14, 65, 159, 152, 132, 116, 102, 95,
+  75, 50, 21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 143, 126,
+  124, 98, 95, 97, 126, 98, 39, 14, 14, 14, 14, 14, 14, 14, 39, 161,
+  143, 164, 141, 78, 68, 79, 34, 14, 14, 14, 14, 150, 157, 114, 118, 93,
+  116, 104, 105, 100, 19, 14, 14, 14, 14, 14, 14, 14, 87, 126, 122, 107,
+  89, 93, 71, 89, 72, 19, 18, 14, 18, 14, 14, 45, 148, 107, 120, 95,
+  109, 98, 81, 63, 18, 14, 14, 14, 17, 14, 18, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 15, 14, 14,
+  14, 14, 105, 141, 116, 95, 75, 76, 76, 72, 71, 82, 87, 92, 76, 49,
+  24, 14, 15, 15, 14, 14, 14, 14, 97, 113, 79, 69, 82, 85, 82, 89,
+  104, 109, 93, 92, 90, 57, 31, 14, 19, 14, 23, 14, 14, 14, 14, 93,
+  167, 145, 118, 95, 82, 76, 95, 100, 87, 89, 98, 100, 100, 100, 105, 98,
+  98, 105, 114, 122, 181, 202, 170, 39, 14, 14, 19, 14, 14, 154, 157, 145,
+  128, 114, 111, 97, 124, 109, 92, 95, 102, 114, 126, 124, 116, 104, 137, 109,
+  90, 76, 93, 111, 105, 98, 75, 14, 14, 14, 14, 14, 134, 148, 145, 143,
+  126, 132, 120, 113, 82, 37, 57, 47, 59, 54, 52, 54, 109, 120, 165, 139,
+  118, 130, 92, 89, 87, 54, 20, 14, 14, 14, 71, 192, 152, 120, 100, 100,
+  104, 104, 49, 14, 14, 14, 14, 14, 14, 14, 34, 118, 143, 109, 126, 113,
+  113, 116, 111, 46, 14, 14, 14, 14, 27, 137, 118, 90, 78, 76, 90, 90,
+  97, 48, 14, 14, 14, 14, 14, 14, 14, 44, 120, 107, 114, 102, 95, 78,
+  75, 42, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 109, 148, 124,
+  93, 84, 71, 68, 71, 72, 73, 90, 111, 120, 124, 124, 132, 134, 139, 139,
+  141, 139, 152, 143, 132, 139, 114, 69, 15, 14, 14, 14, 148, 126, 122, 87,
+  64, 52, 65, 46, 14, 14, 14, 18, 20, 21, 14, 14, 14, 31, 130, 100,
+  92, 78, 82, 78, 84, 52, 14, 14, 14, 14, 105, 148, 137, 130, 107, 100,
+  87, 128, 93, 50, 14, 14, 14, 14, 14, 26, 130, 162, 170, 128, 97, 82,
+  57, 75, 31, 14, 14, 14, 14, 116, 145, 107, 111, 120, 113, 116, 114, 111,
+  47, 14, 14, 14, 14, 14, 52, 172, 134, 89, 111, 95, 72, 61, 126, 33,
+  14, 14, 14, 72, 170, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 38, 68, 165, 141, 105, 109, 97, 113, 107, 105, 82, 23, 14, 14, 14,
+  132, 100, 82, 72, 65, 72, 100, 109, 126, 118, 120, 139, 145, 139, 132, 137,
+  141, 145, 137, 162, 147, 114, 104, 45, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14,
+  14, 14, 14, 14, 14, 38, 157, 137, 130, 90, 79, 79, 63, 26, 14, 14,
+  14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 154, 130, 126, 97, 90, 92,
+  92, 137, 107, 24, 14, 14, 14, 14, 14, 53, 159, 137, 162, 143, 85, 72,
+  65, 55, 14, 14, 14, 14, 14, 178, 141, 97, 100, 76, 100, 90, 93, 92,
+  124, 87, 92, 90, 93, 120, 136, 159, 139, 120, 98, 98, 85, 85, 50, 92,
+  69, 14, 15, 14, 19, 14, 14, 82, 143, 95, 104, 78, 98, 89, 82, 65,
+  14, 14, 14, 14, 18, 14, 21, 16, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 18, 15, 14, 14, 14, 14, 105, 139,
+  109, 85, 73, 69, 68, 64, 64, 75, 76, 76, 55, 43, 14, 14, 14, 14,
+  14, 14, 14, 14, 87, 105, 72, 64, 76, 75, 75, 81, 95, 105, 85, 79,
+  76, 46, 14, 14, 14, 21, 16, 18, 14, 14, 14, 64, 167, 145, 116, 87,
+  87, 71, 76, 95, 107, 122, 136, 130, 124, 124, 124, 128, 128, 139, 148, 157,
+  145, 130, 90, 14, 14, 14, 17, 14, 14, 126, 141, 132, 107, 107, 102, 89,
+  87, 100, 118, 130, 139, 152, 152, 143, 107, 113, 109, 118, 113, 78, 87, 90,
+  102, 90, 65, 14, 14, 14, 14, 14, 157, 114, 136, 124, 100, 104, 98, 93,
+  114, 104, 148, 118, 143, 150, 152, 143, 116, 126, 97, 126, 122, 122, 82, 81,
+  71, 37, 14, 14, 14, 14, 49, 182, 122, 98, 97, 93, 84, 102, 105, 67,
+  14, 14, 14, 14, 14, 20, 111, 182, 116, 136, 116, 78, 89, 89, 95, 14,
+  16, 14, 14, 14, 76, 128, 93, 78, 65, 65, 75, 78, 87, 40, 14, 14,
+  14, 14, 14, 14, 14, 82, 122, 93, 113, 95, 90, 71, 72, 37, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 118, 159, 124, 92, 78, 71, 71,
+  68, 71, 78, 87, 89, 97, 105, 104, 111, 111, 113, 105, 120, 98, 107, 130,
+  105, 81, 76, 27, 14, 14, 14, 33, 152, 164, 92, 84, 68, 69, 48, 35,
+  14, 14, 14, 20, 37, 14, 14, 14, 14, 100, 122, 97, 92, 85, 61, 97,
+  73, 37, 15, 14, 14, 14, 31, 162, 122, 137, 100, 113, 82, 76, 79, 97,
+  100, 95, 95, 104, 157, 155, 155, 154, 148, 107, 81, 53, 72, 23, 14, 14,
+  14, 14, 16, 35, 130, 89, 89, 104, 107, 111, 100, 95, 120, 120, 102, 105,
+  130, 172, 186, 164, 132, 132, 105, 67, 60, 82, 52, 14, 14, 14, 14, 134,
+  170, 109, 87, 89, 107, 113, 111, 105, 104, 100, 89, 84, 134, 128, 114, 113,
+  114, 102, 79, 72, 79, 118, 98, 37, 14, 14, 14, 14, 130, 93, 78, 61,
+  89, 81, 87, 92, 111, 113, 113, 111, 107, 107, 104, 98, 111, 102, 128, 114,
+  84, 105, 72, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 145, 152, 132, 128, 87, 67, 65, 32, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 75, 159, 120, 102, 105, 73, 89, 92, 98, 113,
+  114, 98, 90, 92, 143, 147, 152, 150, 130, 95, 65, 45, 61, 21, 14, 14,
+  14, 14, 14, 203, 126, 84, 76, 73, 71, 78, 78, 79, 84, 98, 105, 109,
+  128, 128, 126, 124, 116, 105, 93, 85, 79, 73, 72, 65, 42, 14, 14, 15,
+  18, 14, 14, 143, 134, 98, 95, 107, 82, 64, 68, 56, 14, 14, 14, 14,
+  14, 15, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 20, 14, 14, 14, 14, 14, 102, 130, 104, 82, 68, 61,
+  68, 75, 65, 63, 68, 81, 50, 15, 14, 14, 16, 14, 16, 14, 14, 14,
+  89, 105, 71, 63, 72, 76, 81, 92, 97, 89, 85, 73, 65, 27, 14, 14,
+  15, 18, 15, 14, 14, 14, 14, 25, 179, 150, 100, 92, 79, 79, 81, 85,
+  95, 104, 116, 118, 109, 109, 105, 98, 105, 114, 116, 109, 95, 107, 42, 14,
+  14, 14, 14, 14, 14, 136, 111, 134, 107, 93, 84, 79, 75, 90, 95, 95,
+  100, 114, 104, 89, 93, 49, 116, 93, 73, 82, 90, 87, 90, 87, 60, 14,
+  14, 14, 14, 42, 139, 100, 105, 98, 90, 87, 92, 95, 102, 105, 107, 116,
+  120, 126, 122, 122, 113, 116, 118, 107, 98, 90, 78, 57, 57, 14, 14, 14,
+  14, 14, 14, 179, 107, 81, 81, 79, 72, 78, 82, 92, 100, 95, 93, 100,
+  137, 164, 172, 155, 124, 84, 71, 67, 82, 71, 35, 14, 14, 14, 14, 14,
+  105, 130, 130, 76, 68, 67, 63, 85, 69, 14, 14, 14, 14, 14, 14, 14,
+  14, 116, 97, 105, 111, 116, 75, 92, 79, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 113, 141, 92, 89, 78, 69, 65, 75, 75, 72, 64,
+  71, 71, 78, 75, 78, 79, 76, 75, 75, 79, 85, 81, 71, 67, 67, 24,
+  14, 15, 14, 61, 157, 154, 90, 78, 46, 43, 47, 19, 14, 14, 15, 20,
+  15, 14, 14, 14, 14, 134, 114, 102, 75, 75, 55, 76, 61, 19, 14, 14,
+  15, 14, 14, 126, 155, 126, 76, 75, 76, 69, 69, 76, 82, 95, 113, 128,
+  154, 162, 152, 116, 93, 67, 64, 71, 31, 14, 14, 14, 14, 14, 14, 15,
+  105, 87, 89, 73, 76, 89, 102, 98, 104, 114, 120, 124, 145, 164, 165, 161,
+  126, 97, 78, 82, 95, 64, 27, 14, 14, 14, 14, 145, 159, 124, 100, 116,
+  150, 162, 150, 145, 147, 136, 120, 113, 95, 98, 89, 90, 85, 79, 60, 73,
+  78, 90, 59, 21, 14, 14, 14, 14, 72, 85, 81, 78, 81, 97, 105, 107,
+  85, 82, 82, 78, 79, 78, 78, 72, 64, 67, 82, 75, 50, 69, 46, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 81, 143, 165, 128,
+  98, 85, 71, 54, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 48, 155, 124, 84, 75, 72, 82, 79, 82, 93, 98, 100, 100, 124,
+  132, 147, 143, 109, 81, 56, 57, 71, 21, 14, 14, 14, 14, 14, 14, 199,
+  120, 81, 78, 67, 67, 67, 63, 60, 67, 81, 78, 85, 97, 93, 95, 100,
+  104, 100, 97, 92, 82, 81, 61, 57, 54, 14, 14, 15, 16, 14, 14, 183,
+  139, 102, 98, 100, 85, 75, 71, 44, 14, 14, 14, 14, 14, 14, 15, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 16, 14, 14, 14, 104, 114, 100, 82, 64, 63, 71, 73, 64, 69,
+  65, 61, 30, 14, 14, 14, 16, 14, 14, 14, 14, 14, 95, 107, 82, 75,
+  79, 82, 85, 89, 84, 81, 60, 52, 45, 21, 14, 14, 15, 16, 15, 14,
+  14, 14, 14, 14, 130, 143, 120, 84, 73, 71, 75, 81, 90, 98, 111, 113,
+  93, 95, 98, 95, 92, 95, 81, 78, 49, 72, 30, 14, 14, 14, 14, 14,
+  14, 118, 120, 114, 76, 69, 69, 68, 64, 75, 81, 82, 78, 78, 67, 42,
+  29, 81, 124, 116, 79, 78, 104, 71, 75, 69, 24, 14, 14, 14, 14, 87,
+  128, 98, 81, 78, 73, 72, 76, 76, 84, 89, 97, 97, 102, 104, 100, 98,
+  98, 102, 97, 82, 79, 68, 65, 64, 22, 14, 14, 14, 14, 14, 14, 81,
+  104, 72, 68, 68, 75, 79, 82, 75, 100, 104, 114, 118, 139, 148, 152, 132,
+  79, 63, 60, 87, 69, 25, 14, 18, 19, 14, 14, 14, 120, 124, 87, 71,
+  68, 64, 57, 69, 59, 14, 20, 16, 20, 19, 14, 14, 14, 126, 97, 95,
+  107, 114, 67, 72, 46, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 84, 128, 105, 85, 78, 73, 75, 82, 93, 93, 78, 68, 71, 73, 68,
+  69, 69, 68, 67, 69, 81, 73, 67, 40, 47, 46, 14, 14, 14, 14, 124,
+  173, 154, 105, 82, 60, 45, 64, 14, 14, 14, 20, 14, 20, 18, 14, 14,
+  14, 147, 114, 111, 89, 84, 75, 82, 64, 14, 14, 15, 15, 14, 14, 47,
+  124, 128, 89, 64, 42, 49, 68, 75, 89, 92, 93, 100, 122, 120, 105, 100,
+  85, 68, 49, 39, 14, 14, 14, 14, 14, 14, 14, 14, 26, 60, 82, 76,
+  68, 71, 79, 76, 98, 111, 113, 113, 107, 114, 100, 97, 116, 93, 79, 90,
+  64, 24, 14, 14, 14, 14, 23, 159, 147, 116, 100, 107, 122, 130, 118, 113,
+  107, 100, 93, 82, 89, 89, 81, 68, 67, 63, 46, 42, 73, 57, 25, 14,
+  14, 14, 14, 14, 42, 98, 84, 78, 48, 85, 98, 104, 82, 73, 73, 68,
+  67, 68, 67, 63, 67, 73, 78, 63, 48, 48, 24, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 26, 148, 134, 136, 105, 81, 73, 64, 34,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 23, 15, 17, 73,
+  109, 92, 82, 63, 55, 65, 78, 93, 97, 82, 68, 78, 102, 107, 102, 92,
+  73, 54, 39, 33, 14, 14, 14, 14, 14, 14, 14, 183, 97, 65, 59, 55,
+  57, 63, 63, 64, 68, 81, 69, 73, 73, 68, 57, 60, 105, 102, 90, 85,
+  84, 71, 56, 54, 19, 14, 18, 14, 14, 14, 30, 179, 130, 102, 89, 89,
+  89, 67, 61, 29, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 19, 14,
+  14, 14, 107, 122, 107, 89, 79, 73, 82, 82, 79, 75, 72, 45, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 93, 124, 92, 67, 79, 87, 95, 95,
+  89, 89, 69, 65, 23, 14, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14,
+  82, 128, 136, 89, 81, 79, 79, 81, 87, 93, 98, 98, 78, 75, 82, 75,
+  72, 78, 63, 43, 39, 44, 16, 14, 14, 14, 14, 14, 14, 87, 130, 107,
+  85, 78, 78, 69, 69, 69, 72, 71, 69, 68, 47, 31, 14, 116, 126, 116,
+  84, 75, 111, 68, 97, 92, 14, 14, 14, 14, 14, 114, 114, 85, 65, 61,
+  63, 64, 69, 76, 76, 78, 82, 79, 82, 81, 79, 78, 78, 78, 81, 73,
+  65, 60, 50, 43, 14, 14, 14, 14, 14, 14, 14, 14, 97, 81, 79, 72,
+  59, 64, 72, 78, 84, 92, 97, 93, 97, 92, 89, 87, 64, 68, 64, 49,
+  27, 14, 14, 14, 14, 14, 14, 37, 164, 128, 93, 78, 71, 73, 61, 64,
+  46, 14, 14, 14, 14, 14, 14, 14, 52, 152, 116, 105, 98, 107, 79, 89,
+  48, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 31, 95, 109,
+  100, 85, 71, 67, 69, 72, 73, 69, 60, 60, 60, 59, 55, 59, 59, 52,
+  43, 56, 48, 46, 46, 54, 38, 14, 14, 14, 14, 155, 159, 111, 78, 44,
+  48, 38, 57, 14, 14, 14, 19, 14, 14, 14, 15, 14, 53, 175, 122, 76,
+  52, 46, 48, 55, 55, 14, 14, 14, 14, 14, 14, 14, 44, 75, 92, 81,
+  68, 56, 53, 47, 48, 47, 54, 64, 93, 87, 76, 79, 79, 52, 22, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 17, 63, 89, 93, 92, 82, 67,
+  60, 67, 69, 69, 72, 76, 69, 69, 97, 90, 64, 37, 18, 14, 14, 16,
+  14, 14, 46, 152, 104, 85, 54, 52, 85, 93, 85, 82, 81, 78, 71, 67,
+  57, 57, 56, 48, 48, 53, 49, 53, 47, 27, 14, 14, 14, 14, 14, 14,
+  14, 55, 95, 90, 81, 97, 81, 73, 71, 67, 67, 59, 56, 57, 55, 50,
+  54, 52, 46, 45, 63, 52, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 85, 134, 132, 85, 75, 68, 65, 44, 15, 14, 14, 14, 14,
+  14, 15, 14, 14, 14, 14, 14, 14, 29, 18, 14, 14, 44, 92, 85, 61,
+  61, 57, 55, 52, 48, 48, 48, 63, 82, 84, 73, 72, 67, 41, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 120, 95, 68, 71, 61, 53, 50, 50, 50,
+  45, 54, 52, 50, 55, 48, 38, 44, 109, 97, 92, 76, 68, 65, 68, 78,
+  14, 14, 20, 14, 14, 20, 48, 165, 113, 93, 84, 78, 73, 72, 69, 31,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 19, 14, 16, 14, 14, 14, 93, 134,
+  89, 76, 60, 61, 63, 65, 59, 53, 82, 41, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 93, 145, 105, 71, 61, 63, 72, 73, 69, 64, 56, 53,
+  14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 34, 84, 124, 97,
+  73, 72, 72, 72, 75, 76, 81, 81, 69, 69, 65, 57, 54, 52, 45, 38,
+  57, 31, 14, 14, 14, 14, 14, 14, 14, 33, 111, 102, 100, 75, 64, 46,
+  64, 59, 52, 46, 47, 45, 30, 16, 14, 162, 128, 92, 67, 57, 69, 43,
+  69, 75, 14, 14, 14, 14, 14, 155, 97, 72, 64, 59, 64, 73, 75, 68,
+  55, 59, 60, 61, 63, 63, 60, 61, 68, 64, 63, 67, 78, 60, 31, 14,
+  14, 14, 14, 14, 14, 14, 16, 14, 21, 43, 92, 92, 89, 68, 57, 57,
+  50, 59, 65, 65, 75, 81, 81, 75, 61, 55, 30, 14, 14, 14, 16, 14,
+  14, 14, 14, 65, 157, 109, 75, 56, 63, 60, 57, 65, 52, 14, 18, 18,
+  14, 14, 14, 14, 84, 139, 93, 78, 65, 76, 63, 89, 59, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 26, 37, 72, 72, 71, 71,
+  64, 64, 67, 67, 57, 59, 59, 56, 57, 60, 61, 61, 57, 64, 53, 63,
+  63, 43, 24, 14, 14, 14, 14, 152, 141, 111, 85, 55, 69, 71, 84, 28,
+  14, 14, 14, 15, 14, 14, 16, 14, 71, 167, 122, 76, 64, 61, 65, 76,
+  76, 14, 14, 14, 19, 14, 14, 14, 16, 14, 23, 50, 55, 55, 54, 54,
+  57, 61, 64, 67, 79, 73, 55, 35, 19, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 16, 14, 14, 14, 14, 29, 64, 87, 79, 68, 72, 68, 60, 57,
+  63, 64, 54, 50, 43, 34, 15, 14, 14, 17, 17, 14, 14, 14, 48, 130,
+  109, 98, 61, 54, 64, 64, 60, 56, 56, 53, 49, 44, 46, 49, 49, 52,
+  60, 64, 55, 46, 18, 14, 14, 14, 15, 14, 14, 14, 14, 15, 46, 56,
+  97, 89, 95, 89, 73, 68, 67, 60, 56, 56, 54, 53, 57, 64, 56, 55,
+  63, 36, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 37, 130,
+  111, 122, 64, 56, 67, 52, 23, 14, 14, 14, 19, 14, 16, 16, 15, 14,
+  14, 14, 14, 14, 19, 27, 16, 14, 14, 16, 29, 44, 63, 67, 65, 64,
+  57, 57, 50, 53, 59, 64, 49, 33, 18, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 14, 37, 79, 79, 90, 78, 61, 54, 57, 59, 48, 60, 57, 60,
+  64, 53, 39, 41, 109, 93, 72, 56, 52, 61, 76, 92, 50, 14, 14, 14,
+  14, 14, 26, 155, 93, 85, 60, 60, 65, 81, 90, 48, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 20, 14, 14, 14, 14, 14, 44, 118, 92, 75, 65, 64,
+  69, 75, 79, 81, 73, 31, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  60, 130, 118, 87, 76, 65, 67, 69, 72, 67, 57, 49, 14, 14, 14, 14,
+  14, 14, 14, 14, 19, 14, 14, 14, 14, 24, 72, 79, 71, 72, 71, 71,
+  69, 69, 71, 72, 79, 75, 71, 63, 60, 64, 63, 61, 44, 20, 14, 14,
+  14, 15, 14, 14, 14, 14, 61, 78, 118, 82, 68, 57, 53, 57, 64, 69,
+  68, 43, 18, 14, 14, 143, 116, 79, 61, 65, 55, 73, 85, 107, 31, 14,
+  14, 14, 24, 148, 93, 71, 67, 64, 75, 71, 53, 36, 47, 50, 55, 57,
+  55, 56, 59, 57, 57, 56, 56, 53, 49, 34, 15, 14, 14, 14, 14, 17,
+  14, 14, 22, 14, 14, 14, 26, 52, 78, 87, 71, 52, 64, 61, 61, 55,
+  64, 63, 53, 44, 39, 14, 14, 14, 14, 14, 14, 23, 14, 14, 14, 59,
+  124, 109, 82, 59, 52, 52, 71, 72, 59, 14, 14, 14, 14, 14, 14, 14,
+  95, 122, 98, 71, 78, 79, 75, 113, 98, 31, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 31, 38, 44, 40, 45, 45,
+  40, 41, 43, 39, 41, 47, 47, 46, 52, 57, 47, 55, 38, 16, 14, 14,
+  14, 14, 14, 65, 61, 57, 59, 49, 52, 60, 71, 50, 14, 18, 14, 14,
+  18, 19, 14, 14, 14, 69, 52, 63, 59, 61, 53, 61, 65, 21, 14, 14,
+  14, 15, 19, 14, 14, 14, 14, 14, 14, 14, 28, 46, 60, 64, 54, 42,
+  35, 24, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 16, 14, 14,
+  14, 14, 14, 14, 14, 14, 23, 36, 63, 54, 43, 39, 35, 25, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 22, 56, 56, 63, 57, 52,
+  50, 47, 46, 44, 42, 43, 38, 35, 35, 39, 43, 42, 43, 35, 20, 14,
+  14, 14, 14, 15, 19, 18, 16, 14, 14, 14, 14, 14, 27, 28, 53, 67,
+  49, 48, 49, 42, 40, 44, 43, 41, 41, 57, 59, 44, 30, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 116, 128, 105, 82, 63, 33,
+  60, 31, 14, 14, 14, 15, 20, 15, 18, 18, 16, 14, 14, 14, 14, 14,
+  19, 20, 16, 14, 14, 14, 14, 14, 14, 26, 48, 60, 61, 50, 32, 22,
+  29, 23, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 16, 14, 14,
+  14, 23, 43, 50, 47, 47, 45, 45, 46, 53, 47, 40, 37, 24, 15, 14,
+  69, 67, 55, 49, 49, 54, 68, 82, 49, 16, 14, 15, 14, 14, 14, 45,
+  67, 63, 49, 57, 63, 78, 100, 72, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 15, 19, 14, 14, 14, 42, 59, 48, 42, 47, 50, 56, 64, 69,
+  42, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 39, 52, 63,
+  56, 46, 40, 45, 52, 54, 46, 40, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 14, 14, 14, 15, 21, 36, 36, 39, 39, 39, 41, 43, 46,
+  46, 47, 48, 44, 44, 41, 39, 39, 14, 14, 14, 14, 14, 14, 15, 16,
+  14, 14, 18, 33, 76, 53, 48, 52, 38, 40, 41, 44, 43, 30, 14, 14,
+  14, 43, 52, 35, 40, 46, 30, 63, 64, 81, 50, 14, 14, 14, 63, 132,
+  90, 76, 73, 76, 73, 59, 31, 15, 19, 21, 24, 26, 27, 27, 28, 24,
+  21, 27, 26, 18, 14, 14, 14, 14, 14, 14, 14, 20, 14, 14, 18, 14,
+  16, 14, 14, 14, 14, 24, 38, 45, 47, 43, 40, 35, 32, 24, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 44, 57, 54, 45,
+  59, 59, 84, 78, 72, 24, 18, 14, 14, 14, 14, 14, 48, 63, 65, 55,
+  52, 47, 50, 68, 82, 46, 18, 16, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 14, 19, 19, 14, 14, 18, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 19, 14, 18, 14, 18, 14, 14, 14, 16,
+  14, 17, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 24, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 15, 14, 14, 14, 14,
+  14, 16, 16, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14, 18, 21, 18,
+  14, 14, 14, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 15, 18,
+  20, 20, 19, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 19, 16, 15, 16, 18, 27, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 47, 134, 109, 90, 60, 37, 26, 40, 16, 14, 14,
+  14, 14, 15, 16, 18, 18, 16, 14, 14, 14, 14, 14, 31, 20, 15, 18,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14,
+  14, 15, 14, 14, 18, 14, 14, 14, 14, 18, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 17, 15, 22, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 18, 14, 15, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 20, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 21, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 18, 19,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 22, 16, 19, 20, 20, 21, 16, 15, 14,
+  21, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 105, 126, 90, 78, 75, 79,
+  68, 55, 24, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 23, 14, 15, 16, 15, 15, 14, 14, 15, 18, 20, 26, 16,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 25, 14,
+  14, 17, 15, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 17, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 19, 14, 14, 21, 14, 19, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 14, 15, 14, 14, 14, 16, 20, 14, 18, 14, 18, 14, 16, 14,
+  14, 19, 14, 14, 14, 14, 14, 14, 18, 14, 14, 15, 14, 14, 14, 14,
+  14, 14, 15, 14, 15, 20, 21, 15, 14, 14, 16, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 17, 15, 16, 14, 14, 14, 18, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 21, 21, 14, 14, 15, 15, 18, 19, 19, 16,
+  14, 19, 14, 14, 14, 15, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 14, 14, 14, 15, 20, 21, 16, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  24, 136, 113, 109, 79, 45, 19, 31, 27, 14, 14, 14, 16, 14, 15, 21,
+  18, 18, 15, 14, 14, 14, 14, 14, 16, 16, 16, 14, 14, 14, 14, 14,
+  14, 15, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  15, 14, 16, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 14,
+  15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 14, 14, 14, 16, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 17, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 16, 14, 14, 14, 20, 14, 14, 14, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 14, 14, 18, 16, 20, 21, 19, 18, 34, 15, 14, 19, 14, 14, 15,
+  14, 14, 14, 14, 14, 16, 16, 16, 17, 14, 14, 14, 14, 14, 16, 14,
+  15, 14, 14, 14, 14, 14, 100, 98, 78, 71, 78, 68, 64, 50, 25, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 16, 14,
+  18, 16, 16, 14, 14, 20, 14, 14, 18, 19, 19, 18, 19, 18, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 18, 16, 14, 14, 14, 14, 14, 14, 17,
+  14, 14, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 17,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 16,
+  16, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 15, 14, 15, 15, 14, 15, 14, 14, 14, 14, 14,
+  14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 18, 19, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 67, 97, 100, 82,
+  63, 38, 19, 29, 14, 14, 14, 14, 14, 14, 14, 18, 16, 16, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 17,
+  15, 14, 14, 14, 14, 14, 14, 15, 17, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 18, 14,
+  14, 16, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 17, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 17, 16, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 18, 18, 14, 14, 14, 14, 14, 14, 14, 16, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 14, 14, 14, 19, 19, 15, 14, 19, 14, 14,
+  14, 23, 105, 81, 73, 68, 73, 42, 48, 46, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 18, 15, 14, 14, 14,
+  14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 18, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 15, 15, 14, 14, 14, 14, 15, 18, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 75, 92, 85, 55, 46, 46, 31, 21,
+  14, 14, 14, 14, 14, 14, 14, 16, 16, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 16, 18, 14, 14, 16, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 14, 14, 14, 14, 14, 14, 14, 14, 15, 16, 14, 14, 14, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 18, 17, 16, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 18, 20, 20, 18, 16, 14, 14, 14, 14, 36, 90, 78,
+  71, 65, 63, 39, 40, 31, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 15, 16, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 15, 18, 19, 16,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 19, 18, 18, 16, 14, 14, 14, 14, 15, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 15, 18, 18, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 16, 16, 15, 15, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 15, 16, 15, 16, 14, 14, 14, 15, 14,
+  14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 15,
+  15, 15, 15, 15, 15, 15, 15, 15, 18, 18, 18, 18, 14, 14, 14, 14,
+  14, 14, 15, 15, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 55, 95, 92, 79, 43, 29, 31, 14, 14, 14, 14, 14, 14,
+  15, 14, 14, 16, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 15, 14, 16,
+  18, 18, 16, 14, 15, 15, 15, 16, 16, 15, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 17, 14, 14, 14, 14, 14, 14, 14, 15, 14, 15, 15, 14,
+  14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 16, 16, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 14, 15, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14,
+  14, 14, 16, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 16, 15, 15, 14, 14, 14, 15, 15, 15, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 17, 19, 16, 14, 14, 14, 14, 14, 14, 19, 18,
+  19, 21, 21, 16, 18, 14, 14, 14, 14, 72, 95, 84, 68, 56, 47, 34,
+  33, 21, 14, 14, 14, 14, 14, 15, 18, 18, 16, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  16, 18, 15, 14, 14, 14, 15, 15, 18, 15, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 15, 15, 14,
+  14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 28, 104,
+  65, 44, 40, 27, 21, 27, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 18, 18, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 16, 18, 16, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15, 15,
+  15, 14, 14, 14, 14, 78, 69, 68, 41, 32, 27, 27, 31, 23, 14, 14,
+  14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 15, 15, 16, 16, 16, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 15, 16, 15, 15, 15, 15, 15, 15, 15, 15, 14, 14, 15, 14,
+  14, 14, 14, 17, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 15, 15, 15, 15, 15, 14, 14, 14, 14, 14, 14,
+  15, 16, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 18, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 15, 16, 19, 14, 14, 14, 15, 16, 18, 18, 16, 16, 15, 15, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 15, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 15, 15, 15, 15, 15, 15, 15, 20, 18, 14, 14,
+  14, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 27, 84, 57, 31, 27, 28,
+  27, 32, 37, 27, 26, 22, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 16, 18, 18, 16, 16, 16, 15, 14, 14, 14, 14, 14,
+  14, 15, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 16, 19, 16, 15, 16, 16,
+  16, 16, 16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 15,
+  16, 15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 15, 14, 14, 14, 14, 14, 14, 14, 15, 15, 16, 16,
+  15, 16, 19, 18, 14, 14, 14, 14, 15, 18, 17, 18, 14, 15, 15, 18,
+  19, 19, 18, 15, 14, 14, 14, 14, 14, 14, 18, 20, 14, 14, 14, 14,
+  14, 56, 47, 60, 27, 27, 21, 29, 46, 43, 34, 38, 14, 14, 14, 14,
+  15, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 15, 16, 16, 18, 16, 16, 15, 15, 14, 18, 15, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14, 14,
+  15, 15, 15, 14, 15, 15, 15, 15, 15, 14, 15, 14, 14, 14, 14, 14,
+  14, 14, 14, 14 };
+/* Define image 'dynamite' of size 100x100x1x3 and type 'const unsigned char' */
+const unsigned char data_dynamite[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 208, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 69, 85, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 177, 61, 23, 23, 23, 23, 23, 23, 23, 100, 139,
+  61, 0, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 239, 77, 0, 21, 127, 127, 124, 124, 124,
+  124, 0, 0, 0, 15, 177, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 30, 15, 113, 234, 234,
+  231, 229, 229, 229, 229, 41, 34, 15, 224, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 21,
+  197, 234, 234, 234, 230, 229, 229, 229, 229, 208, 0, 167, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 123, 46,
+  46, 46, 0, 173, 239, 234, 234, 232, 229, 229, 229, 229, 229, 62, 30, 253,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  216, 61, 0, 0, 0, 0, 0, 94, 238, 234, 234, 230, 229, 229, 229, 229,
+  124, 0, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 115, 0, 0, 38,
+  193, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 115, 7, 21, 94, 130, 72, 0, 86, 234, 234, 234, 230,
+  229, 229, 215, 138, 0, 139, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 129,
+  13, 74, 109, 26, 0, 92, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 130, 239, 239, 159, 0, 28, 207,
+  234, 170, 85, 84, 83, 83, 27, 0, 85, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 199, 0, 91, 216, 216, 196, 91, 19, 23, 170, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 43, 65, 65,
+  0, 79, 217, 235, 234, 21, 46, 69, 69, 69, 69, 185, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 193, 15, 26, 202, 216, 216, 216, 216, 157, 54, 15,
+  123, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 123, 46, 46, 46, 46,
+  61, 61, 0, 0, 65, 224, 239, 237, 170, 0, 239, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 100, 7, 32, 202, 216, 216, 216, 216,
+  216, 216, 210, 65, 0, 23, 139, 255, 255, 255, 255, 255, 255, 139, 7, 0,
+  77, 115, 115, 115, 208, 247, 154, 0, 7, 21, 21, 57, 85, 77, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 115, 6, 85, 216, 218,
+  218, 218, 216, 216, 216, 216, 216, 216, 150, 52, 6, 38, 231, 255, 255, 239,
+  38, 0, 100, 255, 255, 255, 255, 255, 255, 255, 255, 216, 139, 139, 139, 23,
+  23, 139, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 100, 0,
+  130, 216, 225, 244, 244, 244, 225, 216, 216, 216, 216, 216, 216, 216, 163, 13,
+  0, 170, 239, 30, 15, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 146, 0, 124, 216, 221, 244, 244, 244, 244, 244, 218, 216, 216, 216, 216,
+  216, 216, 216, 176, 72, 0, 46, 0, 208, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 123, 0, 85, 216, 222, 242, 244, 244, 244, 244, 244, 232,
+  216, 216, 216, 216, 216, 216, 216, 216, 202, 111, 0, 38, 224, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 138, 0, 98, 209, 224, 243, 244, 244, 244,
+  244, 244, 244, 234, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 163, 0,
+  54, 216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 35, 111, 216, 217, 239,
+  244, 244, 244, 244, 244, 244, 244, 234, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 183, 13, 0, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 100, 13,
+  189, 219, 240, 244, 244, 244, 244, 244, 244, 244, 244, 234, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 214, 178, 11, 69, 239, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  231, 46, 0, 144, 221, 241, 244, 244, 244, 244, 244, 244, 244, 244, 244, 225,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 206, 193, 128, 0, 146,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 69, 26, 144, 219, 238, 244, 244, 244, 244, 244, 244, 244,
+  244, 244, 237, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 194,
+  193, 193, 76, 15, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 139, 0, 170, 220, 238, 244, 244, 244, 244,
+  244, 244, 244, 244, 244, 239, 221, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 212, 193, 193, 193, 187, 29, 54, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 0, 117, 221, 239, 244,
+  244, 244, 244, 244, 244, 244, 244, 244, 238, 220, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 204, 193, 193, 193, 193, 163, 0, 162, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 222, 30, 58,
+  216, 237, 244, 244, 244, 244, 244, 244, 244, 244, 244, 236, 219, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 200, 193, 193, 193, 193, 193,
+  52, 30, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  226, 21, 19, 196, 227, 244, 244, 244, 244, 244, 244, 244, 244, 244, 241, 222,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 200, 193,
+  193, 193, 193, 193, 175, 0, 169, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 252, 65, 26, 193, 238, 244, 244, 244, 244, 244, 244, 244, 244,
+  244, 240, 223, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 200, 193, 193, 193, 193, 193, 193, 76, 53, 254, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 254, 96, 0, 170, 242, 244, 244, 244, 244, 244,
+  244, 244, 244, 244, 239, 221, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 200, 193, 193, 193, 193, 193, 193, 157, 0, 177,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 76, 6, 117, 231, 244, 244,
+  244, 244, 244, 244, 244, 244, 244, 243, 224, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 196, 193, 193, 193, 193, 193,
+  193, 193, 70, 76, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 30, 13, 130,
+  227, 244, 244, 244, 244, 244, 244, 244, 244, 244, 242, 222, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 209, 193, 193,
+  193, 193, 193, 193, 193, 193, 140, 0, 238, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 169,
+  23, 39, 176, 221, 241, 244, 244, 244, 244, 244, 244, 244, 244, 244, 221, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 200, 193, 193, 193, 193, 193, 193, 193, 193, 193, 17, 170, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 253, 150, 15, 52, 202, 222, 242, 244, 244, 244, 244, 244, 244, 244, 244,
+  244, 225, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 200, 193, 193, 193, 193, 193, 193, 193, 193, 193, 64,
+  100, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 132, 7, 65, 209, 216, 238, 244, 244, 244, 244, 244,
+  244, 244, 244, 244, 235, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 197, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 122, 85, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 154, 0, 85, 216, 216, 231, 244, 244,
+  244, 244, 244, 244, 244, 244, 244, 232, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 215, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 128, 85, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 170, 0, 72, 216, 217,
+  232, 244, 244, 244, 244, 244, 244, 244, 244, 244, 232, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  208, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 87, 85, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 157, 0,
+  72, 216, 218, 234, 244, 244, 244, 244, 244, 244, 244, 244, 244, 234, 218, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 202, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 64,
+  146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  250, 141, 13, 85, 202, 219, 232, 244, 244, 244, 244, 244, 244, 244, 244, 244,
+  232, 217, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 197, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 40, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 203, 6, 65, 209, 220, 238, 244, 244, 244, 244, 244, 244,
+  244, 244, 244, 239, 221, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 209, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 163, 0, 208, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 187, 0, 45, 216, 216, 231, 244, 244, 244,
+  244, 244, 244, 244, 244, 244, 243, 220, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 215, 196,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 96, 46, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 0, 58, 189, 216, 225,
+  244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 231, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 214, 202, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 205, 29, 139,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 46, 52,
+  196, 216, 227, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 232, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 206, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 152, 0, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  224, 69, 26, 157, 216, 230, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
+  229, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 209, 194, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 206, 14, 100, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 216, 54, 0, 170, 216, 220, 244, 244, 244, 244, 244, 244, 244,
+  244, 244, 244, 227, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 194, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 115, 0, 247, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 239, 38, 13, 183, 216, 216, 234, 244, 244, 244,
+  244, 244, 244, 244, 244, 244, 232, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 199,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 192, 35, 131, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 30, 13, 189, 216, 216, 216,
+  234, 244, 244, 244, 244, 244, 244, 244, 244, 234, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 206, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 79,
+  15, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 23, 19, 176,
+  216, 216, 216, 216, 234, 244, 244, 244, 244, 244, 244, 244, 238, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 213, 195, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 129, 0, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 202,
+  61, 26, 189, 216, 216, 216, 216, 216, 234, 244, 244, 244, 244, 244, 244, 237,
+  217, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 213, 199, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 41, 100, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 192, 13, 0, 170, 216, 216, 216, 216, 216, 216, 221, 244, 244, 244,
+  244, 244, 235, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 201, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 164, 0, 208, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 247, 142, 32, 0, 65, 98, 98, 98, 130, 196, 216, 216,
+  216, 232, 244, 244, 244, 232, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 210,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 187, 29, 54, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 239, 61, 0, 39, 39, 39, 39, 39, 26,
+  0, 0, 78, 144, 202, 216, 226, 226, 226, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 213, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  76, 15, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 0, 72, 216, 216,
+  216, 216, 216, 196, 157, 91, 39, 0, 39, 144, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 211, 195, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 128, 0, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 154, 0,
+  85, 202, 216, 216, 216, 216, 216, 216, 216, 216, 202, 144, 52, 13, 72, 189,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 210, 194, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 169, 40, 100, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 7, 32, 209, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  209, 98, 0, 45, 205, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 212, 197, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 40, 0, 208, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 197, 0, 183, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 199, 163, 5, 58, 184, 214, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 211, 196,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 152, 0, 216,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 112, 45, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 209, 193, 193, 116, 11, 23, 187, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 209, 198, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  181, 23, 69, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 61, 124, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 200, 193, 193, 193,
+  157, 17, 64, 199, 199, 211, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 213, 206, 195, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 64, 23, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  224, 0, 170, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  200, 193, 193, 193, 193, 140, 0, 116, 193, 194, 210, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 206, 195, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 116, 0, 185, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 170, 32, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 200, 193, 193, 193, 193, 193, 87, 5, 105, 193, 193, 205,
+  216, 216, 216, 216, 216, 216, 216, 216, 209, 198, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 163, 5, 115, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 85, 75, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 201, 193, 193, 193, 193, 193, 193, 76,
+  0, 152, 193, 193, 199, 213, 216, 216, 213, 213, 203, 196, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 187, 29, 54,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 100, 80, 217, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 209, 193, 193, 193,
+  193, 193, 193, 193, 52, 52, 193, 193, 193, 193, 201, 201, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 76, 15, 223, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  170, 22, 218, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  213, 193, 193, 193, 193, 193, 193, 193, 146, 0, 128, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 128, 0, 169, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 239, 0, 157, 216, 216, 216, 216, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 208, 193, 193, 193, 193, 193, 193, 193, 193, 76, 11, 169,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 11, 100, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 77, 78, 216, 216, 216, 216, 216,
+  216, 216, 216, 216, 216, 216, 216, 216, 201, 193, 193, 193, 193, 193, 193, 193,
+  193, 187, 29, 99, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 46, 0, 247, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 167, 32, 216,
+  216, 216, 213, 213, 213, 216, 216, 216, 216, 216, 216, 210, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 105, 0, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 187, 58, 7,
+  177, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 224, 0, 189, 216, 208, 193, 193, 193, 201, 211, 216, 216, 216, 208, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 0, 152, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 116, 15, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 23, 19, 216, 193, 193, 193, 193, 193, 193, 199,
+  202, 199, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 46,
+  64, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 128, 17, 108, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 0, 138, 196, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 140, 0, 140, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 169, 11, 61, 239, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 115,
+  7, 192, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 58, 99, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 163, 40, 38, 247, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 54, 38, 203, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 99, 32, 199, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 29, 15,
+  216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 224, 15, 92, 200, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  169, 0, 181, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 140, 0, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 170, 0, 151,
+  194, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 17, 128, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 175, 17, 85, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 100, 53, 218, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 64, 76, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 169, 23, 30, 239, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 208, 0, 174, 202, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 122, 5, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 40, 38, 200, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 61, 0, 226, 194, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 0, 157, 193, 193, 193, 193, 193, 193, 193, 193, 193, 187, 58, 7,
+  216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  15, 30, 222, 204, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 40, 116, 193, 193, 193, 193, 193, 193, 193, 193,
+  181, 46, 15, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 208, 0, 96, 216, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 81, 64, 193, 193, 193, 193,
+  193, 193, 193, 175, 35, 23, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 131, 0, 130, 195, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 128, 64,
+  193, 193, 193, 193, 193, 193, 169, 23, 30, 185, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 77, 6,
+  167, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 128, 64, 193, 193, 193, 193, 193, 163, 40, 38, 200, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 249, 45, 29, 152, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 128, 64, 193, 193, 193, 193, 187, 58, 15, 216,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 208, 26, 23, 181, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 128, 64, 193, 193, 193, 181,
+  76, 0, 185, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 170, 19, 64, 175,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 128, 64,
+  193, 193, 193, 64, 0, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  246, 161, 0, 52, 169, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 193,
+  193, 193, 128, 64, 193, 193, 116, 0, 170, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 240, 163, 0, 40, 163, 193, 193, 193, 193, 193, 193,
+  193, 193, 193, 193, 193, 193, 70, 64, 193, 134, 5, 115, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 185, 13, 0, 116, 187,
+  193, 193, 193, 193, 193, 193, 193, 193, 193, 193, 58, 144, 170, 0, 61, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250,
+  194, 72, 0, 46, 157, 193, 193, 193, 193, 193, 193, 193, 193, 181, 0, 98,
+  26, 69, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 251, 223, 124, 19, 0, 81, 157, 193, 193, 193, 193, 193,
+  193, 111, 0, 19, 42, 225, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 231, 189, 111, 0, 11, 93,
+  169, 193, 193, 193, 169, 11, 0, 30, 231, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 245,
+  227, 196, 65, 0, 11, 46, 105, 17, 11, 0, 38, 239, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 237, 219, 186, 121, 23, 23, 55, 133, 139, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 208, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 69, 85, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 177, 61, 23, 23, 23, 23, 23, 23, 23, 100, 139,
+  61, 0, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 239, 77, 0, 14, 85, 82, 30, 30, 30,
+  30, 0, 0, 0, 15, 177, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 30, 15, 75, 156, 156,
+  101, 56, 56, 56, 56, 10, 8, 15, 224, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 21,
+  194, 156, 156, 156, 80, 56, 56, 56, 56, 50, 0, 151, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 123, 46,
+  46, 46, 0, 170, 235, 165, 156, 116, 56, 56, 56, 56, 56, 15, 30, 242,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  216, 61, 0, 0, 0, 0, 0, 92, 223, 158, 156, 89, 56, 56, 56, 56,
+  30, 0, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 115, 0, 0, 38,
+  193, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 115, 7, 21, 92, 128, 71, 0, 83, 167, 156, 156, 92,
+  56, 56, 52, 33, 0, 139, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 91,
+  3, 33, 52, 7, 0, 92, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 128, 235, 235, 156, 0, 28, 163,
+  156, 113, 56, 44, 20, 20, 6, 0, 85, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 160, 0, 23, 56, 56, 51, 23, 5, 23, 170, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 42, 64, 64,
+  0, 78, 213, 182, 156, 14, 46, 69, 69, 69, 69, 185, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 193, 15, 6, 52, 56, 56, 56, 56, 42, 25, 15,
+  123, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 123, 46, 46, 46, 46,
+  61, 61, 0, 0, 64, 220, 235, 184, 113, 0, 239, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 100, 7, 8, 52, 56, 56, 56, 56,
+  56, 56, 61, 16, 0, 23, 139, 255, 255, 255, 255, 255, 255, 139, 7, 0,
+  77, 115, 115, 115, 208, 247, 154, 0, 7, 21, 21, 40, 56, 77, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 115, 1, 22, 56, 68,
+  68, 68, 56, 56, 56, 56, 56, 56, 39, 13, 1, 38, 231, 255, 255, 239,
+  38, 0, 100, 255, 255, 255, 255, 255, 255, 255, 255, 216, 139, 139, 139, 23,
+  23, 139, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 100, 0,
+  33, 56, 100, 188, 188, 188, 100, 56, 56, 56, 56, 56, 56, 56, 42, 3,
+  0, 170, 239, 30, 15, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 146, 0, 32, 56, 80, 188, 188, 188, 188, 188, 68, 56, 56, 56, 56,
+  56, 56, 56, 45, 18, 0, 46, 0, 208, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 123, 0, 22, 56, 88, 180, 188, 188, 188, 188, 188, 136,
+  56, 56, 56, 56, 56, 56, 56, 56, 52, 28, 0, 38, 224, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 133, 0, 25, 54, 96, 184, 188, 188, 188,
+  188, 188, 188, 144, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 42, 0,
+  54, 216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 20, 28, 56, 64, 168,
+  188, 188, 188, 188, 188, 188, 188, 144, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 47, 3, 0, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 98, 3,
+  49, 72, 172, 188, 188, 188, 188, 188, 188, 188, 188, 144, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 54, 36, 1, 69, 239, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  231, 46, 0, 37, 80, 176, 188, 188, 188, 188, 188, 188, 188, 188, 188, 100,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 44, 29, 19, 0, 146,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 69, 6, 37, 72, 160, 188, 188, 188, 188, 188, 188, 188,
+  188, 188, 156, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 30,
+  29, 29, 11, 15, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 139, 0, 44, 76, 160, 188, 188, 188, 188,
+  188, 188, 188, 188, 188, 168, 80, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 51, 29, 29, 29, 28, 4, 54, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 0, 30, 80, 168, 188,
+  188, 188, 188, 188, 188, 188, 188, 188, 160, 76, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 42, 29, 29, 29, 29, 24, 0, 162, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 217, 30, 15,
+  56, 156, 188, 188, 188, 188, 188, 188, 188, 188, 188, 152, 72, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 38, 29, 29, 29, 29, 29,
+  7, 30, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  205, 13, 5, 50, 112, 188, 188, 188, 188, 188, 188, 188, 188, 188, 176, 88,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 38, 29,
+  29, 29, 29, 29, 26, 0, 169, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 242, 49, 6, 65, 164, 188, 188, 188, 188, 188, 188, 188, 188,
+  188, 172, 92, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 38, 29, 29, 29, 29, 29, 29, 11, 52, 254, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 250, 79, 0, 44, 180, 188, 188, 188, 188, 188,
+  188, 188, 188, 188, 168, 84, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 38, 29, 29, 29, 29, 29, 29, 23, 0, 176,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 70, 1, 30, 128, 188, 188,
+  188, 188, 188, 188, 188, 188, 188, 184, 96, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 33, 29, 29, 29, 29, 29,
+  29, 29, 10, 75, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 30, 3, 33,
+  112, 188, 188, 188, 188, 188, 188, 188, 188, 188, 180, 88, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 48, 29, 29,
+  29, 29, 29, 29, 29, 29, 21, 0, 232, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 169,
+  23, 10, 45, 80, 176, 188, 188, 188, 188, 188, 188, 188, 188, 188, 80, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 38, 29, 29, 29, 29, 29, 29, 29, 29, 29, 2, 170, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 246, 134, 15, 13, 52, 88, 180, 188, 188, 188, 188, 188, 188, 188, 188,
+  188, 100, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 38, 29, 29, 29, 29, 29, 29, 29, 29, 29, 9,
+  100, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 106, 4, 16, 54, 56, 164, 188, 188, 188, 188, 188,
+  188, 188, 188, 188, 148, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 33, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 18, 85, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 154, 0, 22, 56, 60, 128, 188, 188,
+  188, 188, 188, 188, 188, 188, 188, 136, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 55, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 19, 85, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 170, 0, 18, 56, 64,
+  136, 188, 188, 188, 188, 188, 188, 188, 188, 188, 132, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  47, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 13, 85, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 236, 103, 0,
+  18, 56, 68, 144, 188, 188, 188, 188, 188, 188, 188, 188, 188, 144, 68, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 40, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 9,
+  146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  230, 88, 3, 22, 52, 72, 132, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+  136, 64, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 34, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 6, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 150, 1, 16, 54, 76, 160, 188, 188, 188, 188, 188, 188,
+  188, 188, 188, 168, 80, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 47, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 24, 0, 208, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 163, 0, 11, 56, 56, 128, 188, 188, 188,
+  188, 188, 188, 188, 188, 188, 184, 76, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 55, 33,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 26, 46, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 0, 15, 49, 56, 100,
+  188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 128, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 54, 39, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 75, 24, 139,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 46, 13,
+  50, 56, 112, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 132, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 44, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  30, 106, 0, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  224, 69, 6, 40, 56, 124, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+  120, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 48, 30, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 77, 12, 100, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 216, 54, 0, 44, 56, 76, 188, 188, 188, 188, 188, 188, 188,
+  188, 188, 188, 108, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 30, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 52, 0, 247, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 239, 38, 3, 47, 56, 56, 144, 188, 188, 188,
+  188, 188, 188, 188, 188, 188, 136, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 37,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 46, 26, 131, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 30, 3, 49, 56, 56, 56,
+  144, 188, 188, 188, 188, 188, 188, 188, 188, 144, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 44, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 24,
+  15, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 23, 5, 45,
+  56, 56, 56, 56, 144, 188, 188, 188, 188, 188, 188, 188, 164, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 53, 31, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 22, 0, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 115,
+  27, 6, 49, 56, 56, 56, 56, 56, 144, 188, 188, 188, 188, 188, 188, 156,
+  64, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 52, 36, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 9, 100, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 95, 3, 0, 44, 56, 56, 56, 56, 56, 56, 84, 188, 188, 188,
+  188, 188, 148, 60, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 38, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 27, 0, 208, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 247, 94, 8, 0, 16, 25, 25, 25, 33, 50, 56, 56,
+  56, 136, 188, 188, 188, 136, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 49,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 28, 4, 54, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 239, 61, 0, 10, 10, 10, 10, 10, 6,
+  0, 0, 20, 37, 52, 56, 104, 104, 104, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 52, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  11, 15, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 0, 18, 56, 56,
+  56, 56, 56, 50, 40, 23, 10, 0, 10, 37, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 51, 31, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 19, 0, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 154, 0,
+  22, 52, 56, 56, 56, 56, 56, 56, 56, 56, 52, 37, 13, 3, 18, 49,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 49, 30, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 25, 6, 100, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 7, 8, 54, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  54, 25, 0, 11, 43, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 51, 33, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 6, 0, 208, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 152, 0, 47, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 37, 24, 0, 8, 31, 54, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 51, 33,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 22, 0, 216,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 98, 11, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 48, 29, 29, 17, 1, 3, 34, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 48, 35, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  27, 3, 69, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 61, 32, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 38, 29, 29, 29,
+  23, 2, 9, 36, 36, 51, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 53, 44, 31, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 9, 23, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  224, 0, 44, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  38, 29, 29, 29, 29, 21, 0, 17, 29, 30, 49, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 45, 32, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 17, 0, 185, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 170, 9, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 38, 29, 29, 29, 29, 29, 13, 0, 15, 29, 29, 43,
+  56, 56, 56, 56, 56, 56, 56, 56, 47, 35, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 24, 0, 115, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 85, 33, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 38, 29, 29, 29, 29, 29, 29, 11,
+  0, 22, 29, 29, 37, 53, 56, 56, 53, 53, 41, 33, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 28, 4, 53,
+  254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 100, 62, 61, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 48, 29, 29, 29,
+  29, 29, 29, 29, 7, 7, 29, 29, 29, 29, 38, 38, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 11, 14, 223, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  170, 20, 67, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  53, 29, 29, 29, 29, 29, 29, 29, 21, 0, 19, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 19, 0, 169, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 239, 0, 43, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 47, 29, 29, 29, 29, 29, 29, 29, 29, 11, 1, 25,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 1, 100, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 77, 20, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 38, 29, 29, 29, 29, 29, 29, 29,
+  29, 28, 4, 14, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 7, 0, 247, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 156, 8, 56,
+  56, 56, 53, 53, 53, 56, 56, 56, 56, 56, 56, 49, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 15, 0, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 28, 8, 7,
+  177, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 224, 0, 49, 56, 47, 29, 29, 29, 38, 51, 56, 56, 56, 47, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, 22, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 17, 15, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 23, 5, 69, 29, 29, 29, 29, 29, 29, 36,
+  40, 36, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 7,
+  9, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 19, 2, 108, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 0, 91, 40, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 21, 0, 21, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 25, 1, 61, 239, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 115,
+  7, 128, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 8, 14, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 24, 6, 38, 247, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 54, 36, 88, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 14, 8, 37, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 4, 15,
+  216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 224, 15, 72, 58, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  25, 0, 27, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 21, 0, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 170, 0, 103,
+  34, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 2, 19, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 26, 2, 85, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 100, 51, 121, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 9, 11, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 25, 3, 30, 239, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 208, 0, 166, 64, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18, 0, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 6, 38, 200, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 61, 0, 191, 32, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 0, 23, 29, 29, 29, 29, 29, 29, 29, 29, 29, 28, 8, 7,
+  216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  15, 30, 108, 42, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 6, 17, 29, 29, 29, 29, 29, 29, 29, 29,
+  27, 7, 15, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 208, 0, 49, 56, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 12, 9, 29, 29, 29, 29,
+  29, 29, 29, 26, 5, 23, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 131, 0, 33, 32, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 19, 9,
+  29, 29, 29, 29, 29, 29, 25, 3, 30, 185, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 77, 1,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 19, 9, 29, 29, 29, 29, 29, 24, 6, 38, 200, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 224, 11, 4, 22, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 19, 9, 29, 29, 29, 29, 28, 8, 15, 216,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 145, 6, 3, 27, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 19, 9, 29, 29, 29, 27,
+  11, 0, 185, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 78, 5, 9, 26,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 19, 9,
+  29, 29, 29, 9, 0, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  212, 64, 0, 7, 25, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 19, 9, 29, 29, 17, 0, 170, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 182, 42, 0, 6, 24, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 10, 9, 29, 20, 0, 115, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 59, 3, 0, 17, 28,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 8, 37, 44, 0, 61, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230,
+  73, 18, 0, 7, 23, 29, 29, 29, 29, 29, 29, 29, 29, 27, 0, 25,
+  6, 69, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 236, 92, 32, 5, 0, 12, 23, 29, 29, 29, 29, 29,
+  29, 16, 0, 5, 28, 201, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 134, 49, 28, 0, 1, 14,
+  25, 29, 29, 29, 25, 1, 0, 30, 197, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 206,
+  116, 50, 16, 0, 1, 7, 15, 2, 1, 0, 38, 239, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 164, 74, 65, 48, 23, 23, 31, 108, 139, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 208, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 69, 85, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 177, 61, 23, 23, 23, 23, 23, 23, 23, 100, 139,
+  61, 0, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 239, 77, 0, 1, 6, 6, 7, 7, 7,
+  7, 0, 0, 0, 15, 177, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 30, 15, 5, 11, 11,
+  12, 13, 13, 13, 13, 2, 1, 15, 224, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 0,
+  29, 11, 11, 11, 12, 13, 13, 13, 13, 11, 0, 148, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 123, 46,
+  46, 46, 0, 6, 9, 10, 11, 11, 13, 13, 13, 13, 13, 3, 30, 240,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  216, 61, 0, 0, 0, 0, 0, 3, 9, 10, 11, 12, 13, 13, 13, 13,
+  7, 0, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 115, 0, 0, 38,
+  193, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 115, 0, 0, 3, 4, 2, 0, 3, 10, 11, 11, 12,
+  13, 13, 12, 7, 0, 139, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 91,
+  3, 33, 52, 7, 0, 92, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 0, 4, 9, 9, 6, 0, 1, 9,
+  11, 8, 4, 4, 4, 4, 1, 0, 85, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 160, 0, 23, 56, 56, 51, 23, 5, 23, 170, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 1, 2, 2,
+  0, 3, 8, 10, 11, 1, 46, 69, 69, 69, 69, 185, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 193, 15, 6, 52, 56, 56, 56, 56, 42, 25, 15,
+  123, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 123, 46, 46, 46, 46,
+  61, 61, 0, 0, 2, 8, 9, 40, 8, 0, 239, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 100, 7, 8, 52, 56, 56, 56, 56,
+  56, 56, 61, 16, 0, 23, 139, 255, 255, 255, 255, 255, 255, 139, 7, 0,
+  77, 115, 115, 115, 208, 247, 154, 0, 0, 0, 0, 10, 4, 77, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 115, 1, 22, 56, 68,
+  68, 68, 56, 56, 56, 56, 56, 56, 39, 13, 1, 38, 231, 255, 255, 239,
+  38, 0, 100, 255, 255, 255, 255, 255, 255, 255, 255, 216, 139, 139, 139, 23,
+  23, 139, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 100, 0,
+  33, 56, 100, 188, 188, 188, 100, 56, 56, 56, 56, 56, 56, 56, 42, 3,
+  0, 170, 239, 30, 15, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 146, 0, 32, 56, 80, 188, 188, 188, 188, 188, 68, 56, 56, 56, 56,
+  56, 56, 56, 45, 18, 0, 46, 0, 208, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 123, 0, 22, 56, 88, 180, 188, 188, 188, 188, 188, 136,
+  56, 56, 56, 56, 56, 56, 56, 56, 52, 28, 0, 38, 224, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 133, 0, 25, 54, 96, 184, 188, 188, 188,
+  188, 188, 188, 144, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 42, 0,
+  54, 216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 20, 28, 56, 64, 168,
+  188, 188, 188, 188, 188, 188, 188, 144, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 47, 3, 0, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 98, 3,
+  49, 72, 172, 188, 188, 188, 188, 188, 188, 188, 188, 144, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 54, 36, 1, 69, 239, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  231, 46, 0, 37, 80, 176, 188, 188, 188, 188, 188, 188, 188, 188, 188, 100,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 44, 29, 19, 0, 146,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 69, 6, 37, 72, 160, 188, 188, 188, 188, 188, 188, 188,
+  188, 188, 156, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 30,
+  29, 29, 11, 15, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 139, 0, 44, 76, 160, 188, 188, 188, 188,
+  188, 188, 188, 188, 188, 168, 80, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 51, 29, 29, 29, 28, 4, 54, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 0, 30, 80, 168, 188,
+  188, 188, 188, 188, 188, 188, 188, 188, 160, 76, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 42, 29, 29, 29, 29, 24, 0, 162, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 217, 30, 15,
+  56, 156, 188, 188, 188, 188, 188, 188, 188, 188, 188, 152, 72, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 38, 29, 29, 29, 29, 29,
+  7, 30, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  205, 13, 5, 50, 112, 188, 188, 188, 188, 188, 188, 188, 188, 188, 176, 88,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 38, 29,
+  29, 29, 29, 29, 26, 0, 169, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 242, 49, 6, 65, 164, 188, 188, 188, 188, 188, 188, 188, 188,
+  188, 172, 92, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 38, 29, 29, 29, 29, 29, 29, 11, 52, 254, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 250, 79, 0, 44, 180, 188, 188, 188, 188, 188,
+  188, 188, 188, 188, 168, 84, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 38, 29, 29, 29, 29, 29, 29, 23, 0, 176,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 70, 1, 30, 128, 188, 188,
+  188, 188, 188, 188, 188, 188, 188, 184, 96, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 33, 29, 29, 29, 29, 29,
+  29, 29, 10, 75, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 30, 3, 33,
+  112, 188, 188, 188, 188, 188, 188, 188, 188, 188, 180, 88, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 48, 29, 29,
+  29, 29, 29, 29, 29, 29, 21, 0, 232, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 169,
+  23, 10, 45, 80, 176, 188, 188, 188, 188, 188, 188, 188, 188, 188, 80, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 38, 29, 29, 29, 29, 29, 29, 29, 29, 29, 2, 170, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 246, 134, 15, 13, 52, 88, 180, 188, 188, 188, 188, 188, 188, 188, 188,
+  188, 100, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 38, 29, 29, 29, 29, 29, 29, 29, 29, 29, 9,
+  100, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 106, 4, 16, 54, 56, 164, 188, 188, 188, 188, 188,
+  188, 188, 188, 188, 148, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 33, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 18, 85, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 154, 0, 22, 56, 60, 128, 188, 188,
+  188, 188, 188, 188, 188, 188, 188, 136, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 55, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 19, 85, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 170, 0, 18, 56, 64,
+  136, 188, 188, 188, 188, 188, 188, 188, 188, 188, 132, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  47, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 13, 85, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 236, 103, 0,
+  18, 56, 68, 144, 188, 188, 188, 188, 188, 188, 188, 188, 188, 144, 68, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 40, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 9,
+  146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  230, 88, 3, 22, 52, 72, 132, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+  136, 64, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 34, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 6, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 150, 1, 16, 54, 76, 160, 188, 188, 188, 188, 188, 188,
+  188, 188, 188, 168, 80, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 47, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 24, 0, 208, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 163, 0, 11, 56, 56, 128, 188, 188, 188,
+  188, 188, 188, 188, 188, 188, 184, 76, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 55, 33,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 26, 46, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 0, 15, 49, 56, 100,
+  188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 128, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 54, 39, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 75, 24, 139,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 46, 13,
+  50, 56, 112, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188, 132, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 44, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  30, 106, 0, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  224, 69, 6, 40, 56, 124, 188, 188, 188, 188, 188, 188, 188, 188, 188, 188,
+  120, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 48, 30, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 77, 12, 100, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 216, 54, 0, 44, 56, 76, 188, 188, 188, 188, 188, 188, 188,
+  188, 188, 188, 108, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 30, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 52, 0, 247, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 239, 38, 3, 47, 56, 56, 144, 188, 188, 188,
+  188, 188, 188, 188, 188, 188, 136, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 37,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 46, 26, 131, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 30, 3, 49, 56, 56, 56,
+  144, 188, 188, 188, 188, 188, 188, 188, 188, 144, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 44, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 24,
+  15, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 23, 5, 45,
+  56, 56, 56, 56, 144, 188, 188, 188, 188, 188, 188, 188, 164, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 53, 31, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 22, 0, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 115,
+  27, 6, 49, 56, 56, 56, 56, 56, 144, 188, 188, 188, 188, 188, 188, 156,
+  64, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 52, 36, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 9, 100, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 95, 3, 0, 44, 56, 56, 56, 56, 56, 56, 84, 188, 188, 188,
+  188, 188, 148, 60, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 38, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 27, 0, 208, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 247, 94, 8, 0, 16, 25, 25, 25, 33, 50, 56, 56,
+  56, 136, 188, 188, 188, 136, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 49,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 28, 4, 54, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 239, 61, 0, 10, 10, 10, 10, 10, 6,
+  0, 0, 20, 37, 52, 56, 104, 104, 104, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 52, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  11, 15, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 0, 18, 56, 56,
+  56, 56, 56, 50, 40, 23, 10, 0, 10, 37, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 51, 31, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 19, 0, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 154, 0,
+  22, 52, 56, 56, 56, 56, 56, 56, 56, 56, 52, 37, 13, 3, 18, 49,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 49, 30, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 25, 6, 100, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 7, 8, 54, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  54, 25, 0, 11, 43, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 51, 33, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 6, 0, 208, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 152, 0, 47, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 37, 24, 0, 8, 31, 54, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 51, 33,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 22, 0, 216,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 98, 11, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 48, 29, 29, 17, 1, 3, 34, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 48, 35, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  27, 3, 69, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 61, 32, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 38, 29, 29, 29,
+  23, 2, 9, 36, 36, 51, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 53, 44, 31, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 9, 23, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  224, 0, 44, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  38, 29, 29, 29, 29, 21, 0, 17, 29, 30, 49, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 45, 32, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 17, 0, 185, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 170, 9, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 38, 29, 29, 29, 29, 29, 13, 0, 15, 29, 29, 43,
+  56, 56, 56, 56, 56, 56, 56, 56, 47, 35, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 24, 0, 115, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 85, 33, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 38, 29, 29, 29, 29, 29, 29, 11,
+  0, 22, 29, 29, 37, 53, 56, 56, 53, 53, 41, 33, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 28, 4, 53,
+  254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 100, 62, 61, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 48, 29, 29, 29,
+  29, 29, 29, 29, 7, 7, 29, 29, 29, 29, 38, 38, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 11, 14, 223, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  170, 20, 67, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  53, 29, 29, 29, 29, 29, 29, 29, 21, 0, 19, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 19, 0, 169, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 239, 0, 43, 56, 56, 56, 56, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 47, 29, 29, 29, 29, 29, 29, 29, 29, 11, 1, 25,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 1, 100, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 77, 20, 56, 56, 56, 56, 56,
+  56, 56, 56, 56, 56, 56, 56, 56, 38, 29, 29, 29, 29, 29, 29, 29,
+  29, 28, 4, 14, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 7, 0, 247, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 156, 8, 56,
+  56, 56, 53, 53, 53, 56, 56, 56, 56, 56, 56, 49, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 15, 0, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 28, 8, 7,
+  177, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 224, 0, 49, 56, 47, 29, 29, 29, 38, 51, 56, 56, 56, 47, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 0, 22, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 17, 15, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 23, 5, 69, 29, 29, 29, 29, 29, 29, 36,
+  40, 36, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 7,
+  9, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 19, 2, 108, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 0, 91, 40, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 21, 0, 21, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 25, 1, 61, 239, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 115,
+  7, 128, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 8, 14, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 24, 6, 38, 247, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 54, 36, 88, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 14, 8, 37, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 4, 15,
+  216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 224, 15, 72, 58, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  25, 0, 27, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 21, 0, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 170, 0, 103,
+  34, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 2, 19, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 26, 2, 85, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 100, 51, 121, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 9, 11, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 25, 3, 30, 239, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 208, 0, 166, 64, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 18, 0, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 6, 38, 200, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 61, 0, 191, 32, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 0, 23, 29, 29, 29, 29, 29, 29, 29, 29, 29, 28, 8, 7,
+  216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  15, 30, 108, 42, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 6, 17, 29, 29, 29, 29, 29, 29, 29, 29,
+  27, 7, 15, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 208, 0, 49, 56, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 12, 9, 29, 29, 29, 29,
+  29, 29, 29, 26, 5, 23, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 131, 0, 33, 32, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 19, 9,
+  29, 29, 29, 29, 29, 29, 25, 3, 30, 185, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 77, 1,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 19, 9, 29, 29, 29, 29, 29, 24, 6, 38, 200, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 224, 11, 4, 22, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 19, 9, 29, 29, 29, 29, 28, 8, 15, 216,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 145, 6, 3, 27, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 19, 9, 29, 29, 29, 27,
+  11, 0, 185, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 78, 5, 9, 26,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 19, 9,
+  29, 29, 29, 9, 0, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  212, 64, 0, 7, 25, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  29, 29, 19, 9, 29, 29, 17, 0, 170, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 182, 42, 0, 6, 24, 29, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 10, 9, 29, 20, 0, 115, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 59, 3, 0, 17, 28,
+  29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 8, 37, 44, 0, 61, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230,
+  73, 18, 0, 7, 23, 29, 29, 29, 29, 29, 29, 29, 29, 27, 0, 25,
+  6, 69, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 236, 92, 32, 5, 0, 12, 23, 29, 29, 29, 29, 29,
+  29, 16, 0, 5, 28, 201, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 134, 49, 28, 0, 1, 14,
+  25, 29, 29, 29, 25, 1, 0, 30, 197, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 206,
+  116, 50, 16, 0, 1, 7, 15, 2, 1, 0, 38, 239, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 164, 74, 65, 48, 23, 23, 31, 108, 139, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 };
+/* Define image 'enemy10' of size 158x214x1x3 and type 'const unsigned char' */
+const unsigned char data_enemy10[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 71, 79, 113, 136, 142, 148, 145, 137,
+  135, 138, 145, 147, 139, 131, 129, 130, 129, 126, 124, 123, 119, 115, 115, 118,
+  166, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 187, 57, 80, 104, 114, 142, 153, 147, 146, 145, 138, 136, 129,
+  140, 149, 149, 145, 143, 140, 136, 139, 137, 136, 131, 124, 119, 119, 121, 118,
+  126, 134, 142, 155, 162, 184, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191,
+  92, 125, 133, 116, 96, 131, 152, 152, 135, 129, 124, 115, 110, 86, 95, 104,
+  111, 120, 134, 146, 150, 140, 140, 138, 130, 120, 114, 114, 116, 121, 131, 142,
+  153, 165, 167, 149, 124, 125, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 68, 67, 64, 75, 106, 136,
+  146, 136, 124, 134, 156, 155, 136, 128, 121, 107, 97, 119, 116, 106, 98, 101,
+  118, 136, 146, 127, 126, 122, 113, 102, 96, 96, 99, 118, 128, 140, 150, 159,
+  157, 133, 107, 90, 83, 83, 82, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 75, 76, 81, 74, 74, 92, 128, 155, 159, 152,
+  148, 138, 148, 150, 136, 118, 108, 108, 111, 101, 99, 99, 101, 107, 116, 125,
+  129, 120, 112, 113, 121, 123, 114, 108, 110, 121, 128, 134, 136, 135, 126, 104,
+  82, 74, 74, 76, 77, 78, 76, 75, 134, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 78, 72, 68, 68, 79, 89, 109, 133, 147, 147, 142, 139, 140,
+  130, 113, 96, 90, 93, 95, 92, 111, 113, 116, 118, 117, 113, 109, 107, 126,
+  122, 122, 124, 122, 112, 103, 98, 96, 100, 98, 87, 80, 81, 86, 87, 70,
+  69, 68, 67, 68, 68, 68, 66, 60, 100, 210, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195,
+  79, 83, 84, 84, 85, 86, 106, 127, 135, 134, 131, 127, 124, 115, 112, 106,
+  102, 104, 106, 100, 91, 93, 97, 102, 105, 104, 98, 90, 84, 90, 94, 97,
+  97, 96, 94, 86, 77, 78, 82, 80, 71, 65, 69, 78, 85, 73, 70, 66,
+  65, 67, 68, 69, 68, 64, 56, 49, 117, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 80, 81, 82, 83, 82,
+  82, 84, 87, 86, 109, 126, 125, 117, 113, 108, 101, 94, 106, 117, 118, 113,
+  109, 103, 98, 86, 87, 89, 91, 92, 91, 90, 89, 75, 82, 85, 82, 82,
+  87, 83, 73, 83, 82, 79, 77, 77, 79, 79, 78, 70, 67, 67, 66, 70,
+  72, 72, 69, 65, 57, 51, 50, 97, 210, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 199, 87, 78, 86, 92, 89, 83, 83, 91,
+  98, 101, 117, 128, 126, 121, 119, 112, 102, 97, 100, 98, 88, 80, 80, 84,
+  85, 84, 83, 83, 82, 81, 80, 80, 80, 84, 90, 88, 79, 75, 78, 76,
+  68, 88, 87, 85, 82, 77, 74, 75, 79, 60, 59, 62, 66, 72, 74, 71,
+  65, 65, 57, 53, 53, 49, 42, 39, 111, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 195, 82, 86, 86, 79, 89, 95, 90, 85, 88, 98, 106, 80,
+  86, 92, 95, 97, 96, 89, 81, 94, 86, 73, 64, 66, 72, 72, 67, 73,
+  76, 80, 82, 82, 79, 76, 73, 82, 83, 81, 73, 69, 69, 69, 68, 72,
+  85, 100, 102, 88, 72, 69, 74, 58, 57, 60, 67, 75, 77, 73, 67, 66,
+  59, 56, 57, 52, 43, 42, 48, 49, 119, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 82,
+  80, 83, 86, 86, 81, 104, 106, 100, 87, 78, 78, 80, 80, 90, 88, 92,
+  101, 107, 106, 102, 100, 86, 86, 82, 78, 78, 80, 76, 69, 83, 87, 92,
+  97, 98, 96, 92, 89, 82, 81, 83, 84, 83, 80, 82, 88, 68, 77, 94,
+  109, 107, 91, 76, 69, 65, 63, 63, 70, 79, 82, 78, 72, 77, 64, 60,
+  66, 67, 60, 57, 62, 60, 57, 98, 210, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 87, 88, 84, 75, 75,
+  83, 90, 88, 96, 92, 83, 74, 73, 80, 81, 77, 72, 66, 72, 85, 92,
+  90, 89, 93, 93, 102, 104, 91, 75, 70, 75, 80, 91, 91, 91, 91, 90,
+  88, 86, 85, 77, 74, 79, 85, 83, 75, 77, 84, 83, 65, 61, 78, 100,
+  100, 85, 70, 70, 65, 63, 68, 77, 81, 78, 73, 87, 73, 65, 74, 81,
+  77, 73, 75, 68, 61, 53, 45, 42, 114, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 218, 139, 130, 122, 87, 84, 94, 87, 83, 84, 82, 79, 83,
+  90, 90, 82, 77, 81, 90, 96, 93, 88, 77, 78, 81, 83, 84, 82, 78,
+  76, 78, 76, 80, 85, 82, 75, 72, 76, 80, 86, 91, 88, 83, 82, 82,
+  81, 82, 90, 92, 79, 75, 74, 71, 59, 72, 64, 64, 71, 87, 90, 84,
+  74, 66, 63, 59, 65, 75, 81, 77, 71, 76, 85, 87, 80, 72, 69, 66,
+  62, 61, 44, 37, 43, 47, 46, 122, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 118,
+  87, 118, 135, 91, 91, 96, 94, 105, 94, 86, 87, 89, 89, 91, 93, 86,
+  88, 95, 103, 108, 106, 96, 87, 76, 74, 72, 71, 70, 67, 63, 62, 72,
+  72, 76, 80, 77, 71, 71, 76, 70, 76, 79, 77, 75, 77, 77, 75, 74,
+  82, 82, 71, 66, 72, 76, 74, 67, 67, 71, 80, 90, 91, 83, 76, 85,
+  75, 61, 58, 65, 75, 80, 81, 87, 90, 87, 76, 68, 67, 68, 68, 54,
+  49, 54, 69, 76, 70, 63, 126, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 108, 70, 76, 106, 112,
+  93, 88, 96, 98, 95, 90, 78, 68, 68, 73, 75, 76, 75, 77, 85, 97,
+  105, 103, 96, 84, 77, 79, 76, 71, 69, 66, 63, 60, 57, 63, 66, 71,
+  75, 72, 70, 75, 83, 68, 73, 76, 78, 82, 87, 87, 82, 70, 79, 78,
+  67, 62, 67, 72, 73, 73, 77, 82, 87, 89, 87, 83, 79, 81, 74, 67,
+  66, 70, 76, 77, 76, 86, 88, 85, 75, 67, 65, 66, 66, 53, 65, 81,
+  90, 86, 75, 63, 56, 126, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 241, 186, 119, 73, 66, 73, 92, 120, 113, 91, 95,
+  100, 92, 89, 77, 70, 64, 62, 64, 67, 68, 66, 71, 72, 75, 76, 74,
+  71, 66, 63, 74, 74, 71, 69, 69, 66, 64, 61, 58, 64, 71, 75, 76,
+  80, 90, 99, 102, 100, 94, 87, 81, 74, 60, 47, 68, 71, 70, 65, 63,
+  65, 65, 62, 81, 85, 87, 84, 80, 77, 80, 84, 75, 72, 69, 69, 73,
+  76, 77, 74, 73, 77, 80, 79, 74, 69, 65, 63, 68, 86, 96, 84, 62,
+  50, 51, 55, 48, 93, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  247, 216, 154, 109, 91, 74, 69, 67, 75, 108, 116, 102, 92, 106, 103, 86,
+  83, 67, 69, 69, 65, 61, 60, 63, 65, 75, 68, 61, 58, 58, 61, 60,
+  58, 59, 61, 63, 66, 71, 69, 68, 65, 63, 71, 77, 82, 88, 98, 108,
+  116, 91, 95, 97, 103, 111, 115, 107, 96, 74, 70, 64, 60, 62, 66, 65,
+  61, 78, 83, 88, 86, 81, 78, 82, 86, 86, 79, 70, 62, 64, 71, 81,
+  86, 68, 72, 78, 82, 81, 77, 73, 72, 89, 92, 84, 63, 43, 38, 44,
+  49, 49, 58, 62, 122, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 208, 128, 108,
+  83, 86, 79, 70, 76, 80, 89, 105, 97, 89, 94, 106, 99, 83, 79, 70,
+  76, 77, 69, 62, 61, 65, 68, 79, 70, 64, 60, 61, 62, 59, 56, 52,
+  56, 60, 66, 70, 71, 69, 65, 69, 76, 80, 85, 93, 105, 113, 116, 118,
+  120, 119, 120, 123, 124, 115, 105, 101, 91, 76, 65, 62, 62, 62, 60, 69,
+  75, 83, 87, 87, 85, 85, 85, 88, 86, 81, 77, 75, 76, 79, 83, 78,
+  78, 81, 87, 89, 87, 86, 87, 95, 79, 59, 49, 50, 52, 50, 46, 49,
+  65, 72, 65, 60, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 198, 77, 76, 71, 59, 72,
+  71, 72, 89, 94, 100, 96, 92, 100, 108, 103, 99, 94, 86, 90, 92, 88,
+  77, 71, 74, 79, 80, 78, 75, 72, 67, 63, 63, 62, 62, 58, 60, 61,
+  64, 67, 67, 66, 63, 69, 73, 75, 77, 83, 93, 96, 93, 90, 93, 95,
+  99, 106, 115, 118, 114, 112, 108, 99, 88, 76, 67, 64, 65, 72, 72, 73,
+  76, 80, 83, 83, 81, 78, 83, 90, 93, 88, 82, 78, 76, 88, 87, 92,
+  100, 99, 93, 89, 91, 82, 62, 47, 52, 62, 64, 61, 60, 58, 59, 60,
+  61, 62, 64, 125, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 197, 79, 74, 69, 71, 63, 76, 71, 73,
+  91, 94, 95, 98, 105, 127, 129, 108, 107, 113, 100, 88, 86, 76, 63, 60,
+  67, 71, 70, 83, 82, 78, 70, 63, 61, 66, 72, 64, 61, 59, 58, 59,
+  59, 57, 56, 67, 67, 66, 65, 71, 77, 76, 68, 96, 97, 95, 94, 98,
+  108, 114, 116, 97, 105, 112, 109, 95, 81, 77, 80, 83, 73, 61, 58, 64,
+  73, 78, 80, 80, 82, 85, 84, 81, 80, 84, 88, 89, 91, 101, 113, 111,
+  98, 85, 83, 65, 54, 52, 61, 63, 60, 67, 82, 105, 84, 69, 73, 74,
+  68, 61, 61, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 191, 70, 85, 64, 60, 59, 74, 66, 83, 87, 94, 83,
+  106, 116, 120, 117, 108, 110, 117, 109, 92, 107, 83, 61, 61, 73, 83, 88,
+  91, 112, 99, 80, 71, 79, 87, 79, 64, 62, 59, 60, 64, 64, 62, 64,
+  65, 68, 67, 67, 69, 74, 78, 77, 77, 75, 73, 77, 91, 102, 104, 101,
+  99, 118, 123, 124, 113, 96, 85, 85, 90, 75, 73, 69, 64, 62, 66, 73,
+  79, 100, 101, 96, 92, 94, 97, 88, 77, 71, 77, 89, 105, 111, 99, 77,
+  59, 55, 57, 62, 68, 69, 67, 68, 72, 57, 65, 73, 75, 71, 69, 71,
+  74, 62, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  217, 123, 73, 80, 85, 63, 67, 66, 77, 82, 95, 98, 101, 100, 115, 104,
+  108, 109, 108, 109, 105, 88, 68, 65, 67, 72, 76, 76, 79, 94, 111, 103,
+  97, 81, 67, 63, 69, 71, 68, 71, 66, 64, 64, 63, 61, 65, 68, 63,
+  63, 64, 67, 69, 72, 74, 73, 73, 73, 78, 87, 92, 91, 90, 92, 101,
+  102, 101, 98, 93, 91, 93, 96, 80, 75, 69, 67, 71, 79, 87, 91, 87,
+  91, 91, 86, 89, 95, 100, 98, 105, 96, 91, 91, 89, 81, 75, 76, 70,
+  63, 63, 73, 83, 83, 77, 72, 66, 69, 71, 70, 64, 62, 63, 65, 60,
+  78, 145, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 114, 79, 83,
+  78, 89, 82, 59, 72, 72, 73, 92, 99, 101, 97, 107, 106, 95, 99, 102,
+  95, 82, 74, 74, 77, 87, 75, 71, 86, 106, 116, 112, 106, 98, 90, 77,
+  66, 68, 74, 77, 76, 75, 69, 65, 65, 66, 66, 70, 76, 80, 80, 80,
+  79, 79, 80, 83, 86, 80, 82, 86, 91, 90, 87, 88, 93, 93, 89, 84,
+  83, 85, 87, 86, 83, 84, 75, 65, 61, 65, 71, 75, 74, 88, 93, 92,
+  82, 76, 79, 90, 95, 106, 97, 95, 96, 86, 69, 64, 71, 76, 72, 73,
+  81, 85, 81, 74, 70, 62, 60, 58, 55, 51, 50, 50, 51, 65, 64, 64,
+  131, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 62, 64, 75, 77, 81, 98,
+  85, 63, 75, 76, 65, 91, 91, 97, 88, 102, 85, 90, 85, 81, 79, 73,
+  69, 74, 83, 85, 87, 92, 98, 102, 106, 112, 116, 95, 84, 74, 78, 91,
+  100, 91, 78, 70, 67, 67, 71, 75, 76, 81, 86, 78, 77, 74, 70, 67,
+  69, 74, 79, 79, 77, 78, 82, 81, 78, 79, 84, 79, 76, 75, 81, 90,
+  97, 98, 96, 91, 85, 78, 72, 70, 70, 71, 72, 90, 91, 91, 79, 69,
+  64, 70, 75, 80, 78, 88, 95, 85, 63, 56, 65, 69, 77, 86, 85, 71,
+  58, 58, 65, 51, 49, 47, 47, 46, 47, 47, 46, 37, 45, 53, 55, 120,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 185, 55, 65, 70, 80, 78, 89, 104, 93, 80,
+  78, 83, 67, 87, 85, 95, 89, 98, 73, 79, 67, 63, 75, 87, 87, 75,
+  66, 68, 73, 81, 89, 98, 103, 104, 102, 92, 88, 89, 99, 107, 103, 86,
+  71, 66, 67, 73, 82, 87, 86, 85, 87, 91, 89, 85, 82, 82, 87, 93,
+  98, 97, 89, 84, 87, 90, 87, 84, 84, 89, 88, 89, 91, 93, 94, 92,
+  91, 80, 83, 85, 81, 74, 70, 71, 74, 75, 76, 79, 77, 74, 69, 69,
+  68, 73, 67, 71, 76, 70, 59, 64, 76, 65, 73, 83, 81, 66, 51, 51,
+  59, 49, 49, 50, 52, 53, 55, 54, 52, 46, 47, 47, 46, 44, 118, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 190, 64, 64, 66, 75, 83, 81, 93, 98, 95, 96, 76, 87,
+  78, 83, 81, 88, 88, 87, 68, 64, 68, 72, 74, 73, 74, 78, 82, 86,
+  84, 87, 102, 121, 127, 109, 87, 101, 109, 120, 121, 108, 88, 77, 73, 73,
+  77, 87, 98, 100, 93, 85, 83, 71, 69, 69, 72, 79, 87, 91, 94, 110,
+  101, 94, 97, 100, 97, 91, 88, 88, 88, 87, 84, 79, 75, 73, 72, 75,
+  82, 87, 83, 72, 63, 62, 65, 69, 67, 71, 75, 77, 74, 71, 70, 69,
+  68, 70, 71, 70, 67, 71, 76, 68, 66, 68, 73, 71, 64, 58, 57, 53,
+  54, 57, 60, 59, 60, 60, 60, 73, 57, 45, 51, 62, 66, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  185, 54, 59, 58, 55, 72, 80, 85, 97, 90, 98, 118, 84, 96, 102, 89,
+  84, 80, 82, 69, 67, 60, 73, 79, 69, 63, 72, 89, 100, 91, 116, 137,
+  135, 121, 112, 112, 114, 112, 118, 124, 118, 99, 79, 74, 81, 81, 86, 98,
+  108, 110, 98, 86, 82, 78, 78, 83, 93, 104, 110, 109, 105, 95, 90, 89,
+  94, 94, 91, 89, 89, 80, 78, 76, 76, 77, 81, 84, 86, 85, 90, 93,
+  88, 79, 70, 67, 69, 75, 70, 70, 71, 71, 67, 67, 69, 68, 72, 76,
+  78, 82, 83, 77, 66, 66, 61, 61, 67, 69, 65, 60, 59, 59, 62, 65,
+  66, 63, 65, 70, 74, 66, 69, 73, 71, 58, 49, 121, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 182, 39, 51,
+  62, 65, 63, 71, 81, 93, 104, 88, 105, 141, 100, 110, 127, 103, 93, 76,
+  78, 59, 69, 66, 65, 63, 68, 90, 109, 101, 78, 100, 113, 123, 120, 114,
+  113, 112, 110, 117, 110, 103, 97, 89, 78, 77, 83, 87, 93, 104, 115, 116,
+  103, 90, 84, 78, 80, 88, 101, 114, 117, 108, 98, 93, 95, 100, 106, 106,
+  104, 106, 111, 128, 117, 105, 94, 89, 86, 83, 81, 70, 71, 73, 74, 72,
+  70, 68, 67, 77, 71, 68, 66, 64, 59, 67, 74, 77, 79, 77, 72, 80,
+  89, 86, 71, 56, 59, 67, 67, 60, 52, 55, 61, 67, 70, 74, 73, 73,
+  75, 86, 95, 87, 72, 61, 62, 61, 55, 47, 114, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 44, 61, 69, 61, 57,
+  59, 68, 69, 89, 107, 108, 121, 133, 124, 116, 150, 80, 100, 57, 78, 67,
+  58, 60, 61, 65, 67, 68, 74, 85, 94, 97, 115, 127, 122, 115, 116, 117,
+  116, 115, 110, 105, 97, 84, 72, 78, 93, 86, 103, 112, 106, 105, 104, 93,
+  76, 92, 82, 87, 106, 115, 106, 97, 98, 94, 98, 111, 130, 142, 139, 129,
+  121, 120, 115, 107, 97, 94, 94, 92, 85, 76, 73, 68, 67, 68, 71, 76,
+  81, 75, 68, 68, 71, 73, 68, 68, 69, 72, 76, 79, 76, 71, 70, 76,
+  80, 61, 52, 55, 64, 64, 52, 48, 52, 55, 67, 67, 59, 60, 58, 59,
+  66, 68, 82, 78, 61, 61, 75, 66, 42, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 182, 35, 45, 55, 55, 47, 48, 60, 78,
+  85, 97, 105, 109, 121, 127, 120, 120, 149, 88, 97, 61, 72, 65, 56, 56,
+  58, 61, 61, 62, 68, 77, 85, 87, 96, 103, 102, 99, 105, 114, 120, 110,
+  104, 95, 87, 81, 78, 86, 97, 107, 107, 121, 138, 131, 103, 89, 95, 74,
+  99, 116, 111, 101, 99, 98, 94, 107, 117, 130, 135, 124, 109, 103, 105, 110,
+  113, 116, 118, 118, 112, 98, 83, 75, 74, 74, 71, 71, 71, 73, 74, 71,
+  69, 69, 69, 68, 64, 67, 72, 84, 84, 82, 79, 78, 79, 79, 77, 77,
+  67, 57, 55, 60, 64, 60, 54, 50, 59, 63, 68, 78, 77, 65, 57, 68,
+  61, 62, 74, 79, 71, 58, 55, 46, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 183, 37, 41, 49, 53, 47, 41, 52, 71, 78, 97, 101,
+  98, 108, 119, 117, 114, 116, 138, 93, 87, 64, 63, 65, 57, 58, 60, 63,
+  63, 64, 68, 76, 82, 101, 98, 97, 95, 92, 95, 108, 122, 102, 102, 97,
+  89, 89, 93, 96, 96, 102, 100, 115, 131, 118, 87, 77, 88, 76, 96, 110,
+  107, 102, 103, 99, 89, 100, 104, 107, 105, 98, 97, 112, 129, 113, 113, 111,
+  108, 109, 108, 100, 91, 81, 83, 85, 82, 79, 75, 75, 76, 69, 70, 72,
+  73, 71, 70, 76, 82, 88, 82, 76, 76, 80, 81, 76, 72, 86, 86, 78,
+  63, 62, 71, 69, 58, 60, 62, 61, 62, 69, 78, 80, 78, 73, 61, 61,
+  75, 80, 70, 61, 62, 49, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 42, 38, 42, 49, 50, 46, 47, 63, 85, 70, 97, 98, 91, 107,
+  116, 107, 106, 102, 118, 91, 75, 65, 56, 65, 59, 59, 60, 61, 62, 64,
+  68, 74, 79, 93, 84, 77, 73, 65, 59, 67, 81, 93, 103, 107, 99, 96,
+  97, 92, 84, 98, 114, 120, 107, 99, 100, 96, 85, 89, 89, 96, 103, 99,
+  88, 85, 91, 90, 82, 76, 76, 79, 84, 94, 103, 105, 104, 98, 88, 84,
+  85, 87, 86, 87, 90, 92, 89, 85, 81, 81, 83, 75, 78, 82, 86, 91,
+  91, 95, 97, 83, 74, 70, 71, 75, 74, 72, 70, 74, 88, 93, 82, 73,
+  76, 78, 77, 73, 77, 79, 69, 53, 57, 70, 76, 74, 83, 77, 60, 59,
+  75, 77, 62, 60, 51, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 43,
+  44, 42, 43, 46, 48, 50, 56, 73, 87, 70, 97, 99, 94, 108, 111, 99,
+  98, 93, 104, 89, 68, 65, 54, 62, 59, 54, 54, 55, 57, 59, 63, 68,
+  72, 89, 84, 82, 81, 73, 64, 69, 81, 94, 107, 113, 101, 88, 83, 81,
+  75, 95, 114, 116, 96, 95, 111, 107, 82, 87, 97, 107, 100, 78, 63, 75,
+  95, 82, 85, 93, 103, 105, 97, 87, 83, 84, 95, 103, 100, 93, 85, 79,
+  74, 87, 88, 89, 86, 85, 83, 85, 88, 90, 89, 93, 99, 109, 113, 110,
+  103, 80, 74, 72, 71, 72, 67, 72, 77, 73, 77, 83, 86, 85, 83, 85,
+  90, 78, 85, 102, 100, 74, 61, 56, 41, 63, 85, 83, 55, 51, 74, 83,
+  69, 66, 55, 115, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 209, 47, 48, 52,
+  53, 56, 59, 63, 69, 79, 86, 85, 97, 101, 100, 105, 101, 91, 88, 90,
+  96, 86, 69, 66, 59, 57, 59, 56, 55, 55, 56, 59, 62, 65, 67, 50,
+  57, 65, 69, 66, 65, 74, 87, 108, 114, 112, 97, 80, 75, 79, 84, 92,
+  96, 100, 102, 103, 101, 90, 77, 80, 101, 105, 86, 76, 88, 96, 92, 93,
+  102, 114, 119, 111, 98, 94, 97, 87, 98, 107, 109, 107, 101, 93, 85, 88,
+  88, 88, 88, 91, 92, 92, 91, 98, 97, 99, 105, 116, 121, 114, 103, 91,
+  85, 83, 80, 73, 66, 75, 89, 97, 84, 74, 78, 84, 84, 78, 75, 84,
+  81, 100, 113, 103, 100, 87, 55, 56, 65, 70, 67, 65, 70, 76, 79, 68,
+  56, 45, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 95, 51, 57, 58, 64, 71,
+  74, 78, 80, 84, 86, 93, 86, 92, 97, 90, 83, 80, 76, 81, 86, 77,
+  69, 64, 66, 53, 58, 60, 59, 58, 58, 59, 60, 61, 61, 51, 67, 80,
+  81, 80, 89, 106, 119, 117, 113, 106, 97, 86, 80, 85, 95, 111, 103, 107,
+  118, 115, 97, 85, 86, 87, 100, 100, 93, 102, 121, 116, 94, 111, 106, 101,
+  96, 88, 83, 87, 94, 109, 105, 99, 98, 106, 111, 106, 96, 89, 88, 88,
+  92, 97, 98, 94, 90, 95, 96, 98, 101, 110, 117, 115, 108, 108, 98, 91,
+  83, 73, 62, 71, 87, 98, 97, 90, 81, 80, 82, 76, 66, 82, 68, 83,
+  100, 100, 117, 123, 97, 73, 63, 64, 75, 75, 67, 68, 80, 79, 66, 51,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 187, 51, 56, 62, 52, 63, 75, 79, 80,
+  81, 83, 86, 90, 71, 78, 88, 74, 66, 71, 67, 71, 76, 67, 67, 62,
+  71, 51, 59, 59, 56, 54, 53, 53, 52, 51, 50, 55, 74, 86, 80, 76,
+  89, 110, 124, 111, 102, 97, 97, 93, 84, 85, 94, 115, 110, 110, 111, 101,
+  87, 81, 85, 99, 107, 118, 123, 120, 112, 106, 104, 98, 86, 81, 93, 111,
+  123, 127, 127, 114, 102, 90, 92, 105, 113, 100, 83, 85, 83, 84, 91, 98,
+  98, 90, 81, 87, 92, 95, 97, 103, 115, 120, 118, 119, 106, 91, 82, 69,
+  58, 63, 76, 66, 96, 109, 93, 81, 87, 89, 81, 66, 56, 76, 90, 82,
+  100, 120, 103, 97, 80, 68, 71, 72, 69, 69, 73, 90, 77, 62, 117, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 185, 61, 67, 65, 58, 67, 67, 73, 84, 87, 84, 81,
+  80, 80, 81, 79, 72, 64, 64, 74, 84, 83, 77, 73, 73, 72, 66, 56,
+  49, 53, 51, 48, 57, 70, 62, 51, 55, 83, 85, 87, 91, 98, 105, 108,
+  108, 96, 106, 108, 95, 84, 84, 93, 98, 103, 106, 113, 114, 99, 82, 85,
+  100, 101, 102, 104, 105, 104, 105, 111, 119, 101, 94, 89, 94, 101, 102, 97,
+  92, 103, 102, 105, 106, 101, 92, 88, 89, 83, 97, 91, 84, 91, 83, 75,
+  86, 86, 82, 89, 101, 107, 108, 117, 130, 121, 118, 105, 82, 65, 63, 65,
+  67, 81, 86, 105, 118, 109, 97, 85, 71, 71, 61, 56, 63, 73, 84, 98,
+  110, 96, 90, 86, 87, 90, 84, 71, 59, 74, 72, 70, 63, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 180, 39, 51, 60, 65, 65, 71, 72, 79, 89, 93, 89, 85, 84, 70,
+  77, 85, 84, 75, 67, 63, 63, 85, 84, 79, 67, 54, 51, 59, 69, 64,
+  62, 52, 47, 51, 54, 72, 103, 102, 95, 92, 100, 114, 119, 109, 96, 113,
+  111, 102, 87, 81, 88, 99, 103, 108, 110, 109, 102, 99, 102, 108, 112, 113,
+  103, 97, 104, 117, 124, 121, 115, 88, 100, 116, 125, 122, 113, 106, 104, 98,
+  97, 100, 102, 100, 93, 92, 94, 90, 88, 70, 68, 88, 89, 77, 78, 87,
+  83, 85, 91, 99, 108, 120, 131, 125, 121, 109, 87, 68, 61, 59, 59, 62,
+  64, 79, 95, 99, 100, 98, 93, 77, 65, 56, 55, 59, 65, 77, 88, 98,
+  92, 86, 84, 87, 87, 81, 76, 73, 73, 73, 68, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 29,
+  33, 45, 58, 72, 80, 72, 72, 79, 88, 92, 87, 81, 79, 79, 75, 68,
+  61, 59, 66, 80, 90, 61, 73, 84, 82, 71, 61, 58, 59, 50, 60, 64,
+  69, 74, 72, 84, 111, 113, 106, 103, 110, 117, 115, 100, 86, 121, 111, 97,
+  86, 87, 96, 104, 105, 110, 111, 104, 94, 100, 114, 116, 105, 105, 111, 119,
+  123, 123, 121, 118, 116, 105, 112, 117, 114, 105, 98, 96, 96, 95, 93, 95,
+  98, 96, 91, 90, 94, 83, 88, 81, 79, 88, 88, 87, 94, 86, 88, 89,
+  92, 100, 114, 123, 124, 105, 104, 93, 77, 64, 58, 56, 54, 60, 57, 60,
+  71, 81, 87, 91, 94, 85, 74, 62, 54, 49, 50, 58, 66, 91, 89, 84,
+  82, 82, 86, 89, 91, 73, 73, 74, 71, 125, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 30, 33, 42,
+  57, 77, 91, 78, 77, 82, 88, 90, 82, 75, 72, 74, 74, 75, 77, 81,
+  86, 90, 93, 79, 75, 69, 63, 63, 66, 65, 61, 66, 64, 58, 65, 79,
+  85, 96, 117, 108, 109, 109, 107, 98, 88, 83, 84, 115, 105, 95, 89, 92,
+  98, 101, 100, 105, 104, 99, 96, 101, 107, 101, 89, 105, 122, 139, 141, 130,
+  118, 109, 105, 127, 119, 107, 97, 94, 94, 90, 86, 95, 94, 94, 92, 89,
+  84, 84, 87, 77, 87, 92, 93, 93, 91, 94, 100, 82, 89, 94, 96, 107,
+  117, 117, 109, 88, 85, 77, 64, 55, 51, 51, 54, 65, 61, 56, 60, 67,
+  68, 72, 85, 92, 86, 77, 67, 57, 52, 55, 59, 73, 75, 77, 79, 79,
+  83, 87, 89, 77, 75, 75, 70, 58, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 30, 34, 36, 41, 52, 71,
+  85, 93, 90, 92, 96, 94, 85, 79, 77, 73, 73, 75, 79, 80, 77, 69,
+  62, 76, 73, 64, 58, 61, 67, 64, 57, 73, 73, 69, 76, 89, 91, 97,
+  116, 113, 109, 105, 98, 87, 78, 81, 90, 112, 104, 95, 89, 88, 90, 96,
+  99, 102, 95, 94, 101, 105, 100, 98, 100, 123, 127, 129, 129, 130, 125, 109,
+  92, 112, 117, 119, 117, 117, 113, 101, 90, 95, 91, 89, 88, 85, 79, 81,
+  86, 92, 82, 76, 81, 88, 93, 87, 77, 78, 85, 89, 89, 97, 107, 105,
+  93, 93, 86, 75, 64, 55, 51, 51, 54, 53, 57, 54, 59, 68, 63, 64,
+  85, 92, 95, 93, 85, 72, 63, 59, 58, 54, 62, 72, 79, 82, 82, 80,
+  80, 87, 82, 77, 71, 58, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 34, 38, 38, 39, 44, 57, 67, 95,
+  93, 93, 95, 94, 86, 82, 81, 86, 82, 79, 82, 84, 81, 70, 60, 43,
+  57, 69, 72, 74, 78, 76, 69, 70, 83, 93, 100, 102, 93, 96, 116, 123,
+  107, 95, 93, 94, 91, 93, 99, 111, 102, 92, 86, 83, 85, 96, 106, 99,
+  92, 94, 104, 107, 103, 111, 127, 117, 121, 118, 108, 103, 106, 107, 102, 95,
+  114, 127, 122, 109, 101, 95, 91, 90, 87, 84, 85, 83, 83, 86, 93, 101,
+  87, 81, 78, 71, 75, 78, 71, 78, 79, 77, 76, 80, 87, 91, 90, 92,
+  81, 71, 64, 58, 53, 55, 60, 47, 56, 56, 65, 79, 67, 58, 80, 81,
+  93, 100, 95, 82, 71, 63, 60, 53, 59, 69, 77, 81, 81, 78, 78, 95,
+  89, 82, 75, 63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 37, 40, 39, 40, 42, 51, 59, 84, 82, 82,
+  86, 89, 86, 84, 85, 88, 91, 100, 113, 121, 111, 88, 69, 65, 68, 66,
+  62, 72, 92, 103, 103, 94, 96, 91, 90, 94, 94, 107, 134, 108, 96, 90,
+  94, 97, 95, 98, 106, 100, 92, 87, 88, 93, 97, 106, 115, 93, 97, 103,
+  106, 109, 111, 120, 129, 109, 122, 123, 105, 90, 95, 110, 119, 111, 125, 128,
+  111, 94, 89, 88, 87, 89, 86, 84, 85, 85, 87, 93, 101, 96, 91, 97,
+  93, 72, 70, 80, 76, 80, 77, 76, 78, 79, 81, 87, 93, 86, 77, 69,
+  65, 61, 56, 57, 61, 54, 61, 57, 70, 92, 74, 51, 66, 62, 80, 95,
+  94, 85, 77, 72, 68, 65, 65, 64, 66, 71, 76, 80, 83, 94, 89, 83,
+  79, 70, 125, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 33, 37, 40, 40, 42, 46, 54, 61, 75, 73, 74, 80, 85,
+  87, 89, 92, 97, 86, 75, 76, 85, 89, 83, 75, 90, 85, 80, 82, 100,
+  114, 102, 79, 86, 87, 89, 103, 121, 115, 105, 109, 83, 83, 92, 97, 92,
+  83, 94, 111, 83, 78, 82, 95, 108, 112, 116, 121, 88, 103, 113, 110, 108,
+  113, 116, 110, 124, 127, 123, 110, 110, 118, 121, 114, 134, 138, 134, 120, 113,
+  110, 102, 88, 94, 89, 87, 88, 89, 90, 98, 107, 97, 84, 92, 102, 95,
+  93, 88, 65, 80, 78, 83, 92, 91, 86, 89, 99, 97, 86, 79, 74, 67,
+  57, 52, 53, 56, 60, 53, 71, 102, 83, 53, 61, 47, 67, 87, 91, 86,
+  82, 81, 79, 78, 70, 59, 54, 59, 71, 81, 89, 88, 85, 83, 80, 74,
+  62, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 27, 43, 42, 34, 41, 52, 60, 70, 70, 78, 86, 91, 87, 83, 85,
+  92, 98, 91, 81, 77, 77, 81, 83, 84, 86, 93, 109, 120, 123, 113, 94,
+  79, 67, 80, 91, 98, 118, 130, 114, 83, 84, 98, 109, 107, 106, 104, 98,
+  87, 74, 91, 84, 105, 118, 138, 106, 87, 115, 117, 115, 107, 99, 101, 116,
+  129, 127, 128, 129, 124, 125, 127, 139, 145, 143, 127, 117, 112, 110, 99, 94,
+  94, 100, 100, 99, 98, 99, 98, 94, 89, 79, 87, 92, 90, 92, 95, 92,
+  86, 78, 76, 78, 80, 79, 75, 77, 81, 77, 73, 70, 66, 63, 60, 57,
+  54, 60, 50, 60, 87, 94, 73, 60, 62, 62, 58, 79, 87, 87, 97, 92,
+  75, 76, 72, 71, 70, 65, 62, 71, 83, 89, 85, 84, 83, 81, 68, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 43,
+  55, 49, 38, 46, 58, 66, 76, 66, 73, 82, 88, 89, 90, 97, 106, 90,
+  94, 93, 84, 74, 77, 92, 107, 104, 106, 108, 107, 101, 90, 76, 67, 91,
+  85, 93, 115, 124, 110, 94, 88, 91, 96, 102, 108, 114, 113, 102, 89, 95,
+  104, 112, 135, 137, 123, 101, 107, 92, 95, 101, 106, 113, 122, 132, 140, 133,
+  129, 123, 121, 123, 128, 133, 135, 127, 117, 110, 112, 114, 111, 109, 112, 114,
+  113, 110, 112, 115, 116, 109, 103, 88, 90, 90, 88, 89, 89, 85, 76, 75,
+  72, 72, 74, 73, 69, 70, 75, 80, 77, 71, 67, 63, 61, 60, 58, 60,
+  53, 61, 80, 87, 76, 65, 66, 61, 85, 68, 73, 85, 79, 86, 83, 94,
+  79, 68, 71, 77, 76, 71, 68, 78, 84, 92, 93, 83, 68, 126, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 45, 54, 43,
+  32, 44, 59, 68, 76, 80, 84, 90, 88, 87, 88, 96, 103, 95, 89, 79,
+  75, 80, 90, 100, 106, 115, 122, 130, 135, 132, 122, 110, 102, 99, 86, 88,
+  105, 105, 88, 80, 89, 95, 100, 110, 120, 118, 106, 94, 88, 103, 117, 135,
+  136, 129, 96, 91, 105, 103, 105, 112, 124, 138, 146, 148, 148, 133, 125, 115,
+  114, 121, 128, 129, 126, 125, 119, 115, 119, 123, 124, 123, 127, 121, 119, 114,
+  114, 116, 116, 109, 104, 95, 91, 87, 84, 86, 88, 80, 71, 82, 78, 78,
+  79, 77, 73, 74, 79, 83, 79, 73, 67, 62, 59, 59, 58, 59, 57, 63,
+  73, 79, 77, 72, 71, 67, 80, 85, 58, 79, 88, 55, 95, 92, 89, 86,
+  83, 76, 68, 66, 68, 70, 74, 82, 88, 86, 75, 67, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 180, 48, 57, 48, 40, 55,
+  71, 78, 85, 88, 94, 94, 90, 84, 86, 88, 91, 91, 81, 68, 69, 81,
+  93, 97, 95, 95, 105, 118, 124, 125, 121, 118, 116, 98, 91, 84, 81, 82,
+  85, 88, 91, 98, 111, 129, 133, 113, 89, 85, 95, 108, 132, 144, 109, 104,
+  83, 91, 92, 112, 111, 112, 116, 122, 123, 120, 115, 130, 121, 113, 113, 120,
+  126, 128, 126, 135, 131, 128, 127, 127, 125, 122, 123, 125, 122, 117, 111, 105,
+  103, 101, 101, 98, 92, 84, 83, 87, 89, 82, 75, 74, 69, 68, 68, 65,
+  60, 61, 66, 79, 78, 74, 68, 63, 59, 59, 58, 58, 62, 67, 70, 75,
+  79, 76, 72, 58, 95, 66, 79, 95, 72, 82, 80, 86, 91, 94, 89, 76,
+  66, 65, 70, 73, 61, 58, 70, 84, 85, 75, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 36, 42, 54, 51, 47, 61, 72, 74,
+  79, 79, 88, 91, 89, 87, 91, 92, 91, 75, 81, 83, 81, 78, 78, 86,
+  94, 91, 89, 86, 83, 82, 87, 98, 107, 109, 99, 88, 84, 87, 91, 93,
+  95, 108, 115, 124, 123, 105, 89, 96, 115, 133, 138, 132, 92, 95, 85, 97,
+  98, 105, 104, 103, 101, 101, 102, 105, 109, 127, 126, 123, 121, 121, 124, 128,
+  130, 139, 137, 134, 130, 126, 123, 119, 116, 130, 131, 126, 115, 104, 101, 106,
+  112, 104, 95, 86, 86, 88, 89, 85, 78, 74, 69, 67, 65, 61, 57, 58,
+  62, 71, 72, 74, 72, 69, 67, 68, 68, 61, 66, 70, 72, 76, 81, 76,
+  68, 78, 59, 90, 84, 85, 104, 77, 87, 94, 88, 83, 83, 87, 85, 75,
+  64, 79, 64, 54, 61, 74, 79, 76, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 44, 44, 60, 62, 58, 68, 75, 72, 72, 81,
+  89, 93, 88, 88, 92, 93, 89, 86, 85, 84, 85, 86, 86, 85, 82, 84,
+  84, 84, 85, 91, 102, 114, 120, 120, 98, 91, 103, 103, 89, 85, 96, 120,
+  112, 104, 102, 104, 110, 122, 133, 139, 123, 104, 91, 100, 88, 95, 110, 101,
+  103, 108, 109, 112, 118, 131, 141, 133, 136, 137, 133, 127, 124, 127, 131, 137,
+  140, 140, 136, 134, 133, 130, 127, 133, 135, 132, 123, 113, 109, 117, 126, 112,
+  102, 93, 93, 93, 89, 85, 82, 85, 78, 75, 73, 68, 63, 63, 68, 64,
+  68, 73, 74, 75, 77, 81, 84, 72, 71, 72, 75, 80, 82, 73, 63, 83,
+  81, 67, 94, 90, 83, 110, 86, 91, 92, 91, 87, 87, 87, 82, 77, 81,
+  77, 74, 70, 65, 64, 73, 83, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 45, 59, 80, 85, 81, 87, 91, 89, 89, 92, 98, 98,
+  89, 87, 93, 95, 89, 102, 91, 82, 86, 97, 98, 86, 73, 74, 76, 84,
+  94, 105, 113, 117, 117, 110, 100, 97, 102, 101, 92, 94, 105, 119, 114, 107,
+  105, 114, 127, 134, 135, 118, 110, 93, 100, 104, 101, 97, 111, 107, 111, 117,
+  120, 124, 129, 138, 144, 139, 143, 146, 143, 136, 132, 132, 134, 140, 146, 148,
+  146, 145, 146, 144, 141, 135, 137, 135, 131, 125, 123, 124, 126, 118, 110, 105,
+  104, 103, 98, 96, 97, 79, 72, 68, 65, 59, 54, 54, 59, 67, 70, 72,
+  71, 71, 75, 83, 90, 86, 77, 72, 77, 83, 81, 69, 61, 91, 78, 86,
+  80, 86, 95, 82, 100, 88, 98, 101, 91, 79, 77, 82, 86, 78, 82, 85,
+  81, 69, 63, 73, 85, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 184, 41, 50, 72, 80, 77, 84, 87, 87, 89, 97, 103, 101, 91, 90,
+  99, 103, 98, 96, 97, 97, 94, 91, 87, 85, 83, 97, 92, 87, 85, 89,
+  95, 99, 99, 96, 107, 105, 88, 85, 104, 119, 120, 108, 120, 127, 124, 123,
+  128, 128, 124, 97, 119, 109, 114, 110, 128, 114, 114, 137, 139, 141, 142, 140,
+  137, 136, 135, 142, 144, 148, 148, 145, 141, 139, 139, 142, 149, 152, 148, 147,
+  148, 146, 141, 143, 142, 139, 137, 138, 135, 127, 121, 121, 115, 112, 115, 112,
+  108, 108, 112, 84, 77, 72, 69, 63, 57, 58, 63, 74, 73, 71, 66, 63,
+  67, 77, 85, 97, 80, 71, 77, 84, 79, 67, 61, 79, 100, 82, 80, 98,
+  81, 72, 96, 100, 97, 89, 81, 82, 86, 82, 72, 76, 77, 80, 83, 79,
+  74, 76, 79, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 24,
+  30, 45, 61, 84, 89, 79, 81, 90, 90, 98, 103, 105, 100, 95, 92, 95,
+  93, 97, 94, 96, 104, 107, 95, 78, 67, 82, 86, 92, 98, 102, 101, 99,
+  94, 91, 89, 86, 88, 101, 116, 121, 118, 117, 115, 117, 124, 127, 121, 115,
+  114, 114, 116, 121, 130, 133, 130, 132, 138, 149, 147, 144, 143, 144, 147, 150,
+  151, 151, 151, 152, 153, 153, 151, 146, 142, 144, 147, 151, 152, 151, 149, 149,
+  149, 146, 149, 150, 148, 144, 140, 142, 144, 135, 129, 123, 122, 120, 117, 118,
+  121, 92, 81, 76, 80, 79, 70, 62, 61, 66, 78, 79, 65, 61, 73, 81,
+  76, 80, 77, 75, 75, 75, 72, 64, 60, 67, 90, 102, 92, 82, 86, 88,
+  87, 98, 92, 93, 99, 94, 80, 76, 81, 73, 79, 75, 71, 72, 70, 77,
+  94, 80, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 28, 32, 50,
+  61, 82, 94, 88, 86, 96, 96, 101, 108, 110, 103, 98, 98, 97, 97, 114,
+  103, 95, 97, 106, 118, 138, 154, 106, 95, 85, 84, 91, 94, 87, 80, 87,
+  94, 102, 111, 120, 125, 119, 110, 110, 107, 107, 112, 114, 113, 115, 121, 139,
+  140, 144, 150, 150, 145, 145, 150, 152, 152, 152, 153, 155, 157, 159, 160, 154,
+  153, 153, 153, 154, 152, 148, 145, 147, 149, 152, 152, 151, 150, 150, 153, 149,
+  150, 150, 147, 143, 141, 140, 141, 142, 135, 126, 124, 122, 120, 124, 129, 118,
+  102, 87, 79, 76, 71, 64, 60, 62, 72, 71, 59, 58, 71, 77, 70, 76,
+  73, 71, 70, 69, 66, 59, 54, 55, 75, 93, 98, 97, 98, 92, 85, 95,
+  83, 85, 99, 98, 80, 70, 75, 71, 71, 63, 61, 67, 67, 71, 83, 91,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 28, 32, 53, 56, 77,
+  97, 95, 91, 99, 102, 106, 112, 114, 109, 104, 102, 101, 100, 111, 107, 100,
+  92, 88, 92, 108, 122, 126, 113, 98, 89, 88, 89, 88, 85, 84, 97, 111,
+  120, 123, 121, 111, 101, 108, 106, 106, 109, 111, 115, 125, 137, 141, 143, 146,
+  149, 147, 144, 143, 147, 155, 157, 159, 162, 164, 165, 165, 165, 160, 158, 156,
+  155, 156, 155, 153, 151, 152, 153, 154, 154, 152, 153, 154, 156, 158, 156, 154,
+  152, 151, 149, 146, 144, 144, 136, 128, 124, 121, 120, 124, 127, 133, 120, 102,
+  87, 81, 77, 69, 60, 64, 71, 69, 59, 60, 72, 76, 70, 75, 73, 71,
+  70, 69, 66, 59, 56, 56, 67, 84, 101, 111, 113, 105, 99, 96, 80, 78,
+  94, 101, 87, 74, 73, 82, 76, 62, 59, 68, 69, 68, 76, 101, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 177, 23, 26, 50, 48, 68, 95, 98,
+  93, 98, 103, 108, 114, 118, 111, 106, 105, 104, 103, 96, 102, 108, 107, 100,
+  91, 90, 93, 121, 121, 119, 108, 93, 88, 94, 102, 89, 99, 108, 109, 107,
+  106, 102, 97, 105, 108, 113, 118, 120, 123, 136, 149, 148, 150, 154, 156, 156,
+  156, 157, 160, 158, 160, 161, 163, 164, 165, 164, 164, 162, 159, 156, 155, 155,
+  155, 154, 153, 153, 154, 153, 152, 151, 152, 155, 158, 162, 158, 155, 154, 156,
+  155, 152, 148, 142, 137, 132, 130, 125, 119, 117, 117, 125, 122, 115, 102, 92,
+  86, 77, 66, 64, 72, 71, 61, 58, 67, 72, 70, 71, 69, 68, 68, 67,
+  66, 62, 61, 64, 65, 73, 91, 106, 112, 112, 114, 108, 92, 78, 81, 95,
+  100, 91, 78, 91, 84, 69, 63, 69, 67, 66, 73, 89, 147, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 20, 22, 23, 42, 40, 61, 89, 95, 93, 98,
+  103, 110, 116, 119, 114, 107, 107, 107, 106, 110, 113, 113, 109, 107, 107, 107,
+  105, 106, 115, 121, 116, 104, 96, 98, 103, 105, 112, 114, 110, 105, 105, 106,
+  106, 102, 109, 121, 130, 131, 131, 139, 150, 154, 155, 158, 159, 160, 162, 164,
+  166, 162, 161, 160, 159, 159, 159, 160, 160, 162, 159, 155, 154, 154, 155, 154,
+  154, 153, 153, 152, 150, 149, 151, 154, 158, 154, 150, 148, 148, 151, 151, 151,
+  148, 144, 142, 143, 143, 137, 124, 115, 108, 114, 117, 119, 110, 99, 90, 84,
+  80, 61, 70, 70, 60, 52, 57, 64, 66, 62, 61, 61, 60, 61, 63, 64,
+  66, 64, 61, 63, 77, 91, 100, 105, 112, 125, 114, 88, 69, 80, 104, 102,
+  81, 84, 83, 72, 64, 64, 59, 62, 74, 66, 92, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 22, 24, 24, 34, 37, 60, 87, 94, 95, 102, 105, 115,
+  121, 123, 118, 113, 112, 112, 111, 121, 118, 110, 105, 104, 109, 109, 106, 114,
+  115, 116, 120, 122, 118, 110, 105, 127, 134, 138, 132, 130, 126, 127, 122, 115,
+  122, 137, 145, 147, 142, 148, 153, 155, 157, 158, 156, 155, 158, 159, 158, 166,
+  165, 163, 161, 160, 159, 160, 160, 162, 160, 156, 155, 155, 156, 155, 154, 153,
+  153, 152, 151, 149, 151, 154, 157, 152, 151, 150, 150, 151, 152, 153, 152, 143,
+  143, 146, 148, 140, 124, 112, 103, 114, 113, 116, 114, 103, 92, 89, 93, 65,
+  71, 71, 62, 55, 58, 65, 67, 63, 61, 60, 58, 60, 65, 70, 76, 63,
+  61, 62, 72, 88, 100, 103, 102, 129, 129, 106, 74, 71, 93, 99, 86, 78,
+  83, 77, 70, 66, 60, 65, 81, 63, 91, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 22, 23, 23, 30, 41, 68, 89, 95, 104, 113, 109, 121, 128, 130,
+  125, 120, 118, 118, 118, 112, 116, 119, 120, 127, 135, 134, 130, 133, 130, 128,
+  131, 135, 138, 135, 133, 149, 154, 157, 153, 151, 149, 146, 140, 139, 143, 153,
+  159, 160, 155, 159, 164, 165, 168, 169, 163, 162, 165, 166, 164, 163, 164, 164,
+  164, 163, 162, 161, 160, 163, 161, 159, 158, 158, 158, 156, 155, 153, 154, 154,
+  153, 152, 152, 155, 157, 154, 155, 155, 154, 152, 151, 154, 155, 147, 145, 145,
+  145, 139, 125, 115, 108, 114, 105, 110, 122, 119, 102, 93, 97, 72, 71, 67,
+  62, 64, 69, 71, 69, 68, 66, 62, 59, 60, 67, 76, 84, 68, 65, 60,
+  66, 87, 109, 109, 99, 114, 127, 124, 100, 78, 79, 92, 102, 85, 90, 86,
+  78, 74, 66, 68, 83, 78, 85, 255, 255, 255, 255, 255, 255, 255, 255, 177,
+  19, 20, 19, 30, 47, 76, 94, 99, 111, 121, 116, 127, 133, 135, 130, 125,
+  124, 124, 123, 129, 135, 136, 132, 132, 138, 138, 134, 140, 142, 142, 140, 138,
+  141, 156, 166, 161, 163, 161, 157, 155, 156, 155, 151, 155, 155, 158, 162, 162,
+  160, 163, 169, 161, 165, 168, 160, 161, 163, 167, 162, 160, 160, 165, 165, 167,
+  163, 162, 160, 164, 162, 162, 160, 161, 160, 159, 156, 155, 155, 157, 155, 155,
+  154, 157, 158, 154, 156, 157, 155, 150, 148, 149, 152, 156, 151, 148, 146, 140,
+  130, 125, 122, 108, 98, 109, 133, 137, 114, 95, 94, 72, 65, 57, 57, 66,
+  74, 72, 67, 69, 65, 60, 56, 56, 63, 76, 83, 72, 64, 51, 52, 80,
+  112, 116, 98, 97, 117, 136, 126, 92, 71, 89, 120, 93, 96, 89, 81, 76,
+  66, 64, 78, 89, 74, 138, 255, 255, 255, 255, 255, 255, 255, 15, 16, 19,
+  20, 39, 61, 86, 102, 111, 112, 119, 124, 121, 126, 128, 131, 132, 130, 128,
+  127, 131, 133, 136, 137, 139, 142, 146, 150, 151, 149, 149, 153, 159, 164, 167,
+  167, 170, 170, 169, 164, 156, 152, 154, 156, 157, 155, 159, 164, 165, 162, 162,
+  164, 165, 165, 167, 167, 167, 164, 162, 159, 165, 163, 163, 162, 163, 163, 166,
+  167, 164, 166, 169, 164, 162, 159, 163, 164, 164, 161, 163, 160, 161, 158, 159,
+  159, 163, 162, 159, 158, 157, 155, 155, 154, 160, 160, 156, 149, 141, 134, 129,
+  126, 105, 114, 107, 111, 133, 131, 105, 96, 89, 74, 64, 66, 67, 60, 62,
+  66, 66, 67, 74, 69, 55, 59, 75, 80, 72, 82, 72, 50, 59, 96, 117,
+  110, 98, 104, 131, 118, 98, 83, 75, 120, 105, 84, 95, 71, 96, 65, 79,
+  69, 90, 93, 86, 255, 255, 255, 255, 255, 255, 255, 18, 19, 19, 21, 42,
+  74, 100, 105, 108, 118, 126, 125, 126, 128, 129, 130, 131, 128, 127, 125, 132,
+  135, 139, 143, 145, 148, 152, 155, 160, 158, 157, 159, 164, 168, 169, 169, 166,
+  166, 165, 162, 159, 157, 157, 158, 167, 164, 167, 171, 171, 168, 167, 169, 169,
+  167, 168, 168, 167, 165, 164, 163, 163, 162, 162, 161, 162, 163, 164, 165, 164,
+  164, 164, 162, 160, 159, 160, 162, 161, 160, 160, 159, 158, 157, 157, 156, 160,
+  159, 158, 158, 158, 157, 155, 155, 154, 154, 151, 147, 139, 132, 126, 124, 119,
+  121, 119, 124, 144, 142, 119, 100, 92, 78, 71, 75, 77, 69, 66, 68, 65,
+  65, 70, 67, 56, 61, 74, 77, 78, 88, 83, 64, 57, 77, 101, 114, 108,
+  102, 113, 122, 115, 88, 78, 110, 115, 94, 94, 77, 95, 76, 83, 76, 80,
+  90, 87, 255, 255, 255, 255, 255, 255, 255, 22, 21, 20, 22, 52, 90, 111,
+  106, 105, 120, 131, 128, 136, 137, 135, 135, 135, 133, 133, 131, 136, 140, 146,
+  150, 153, 155, 158, 161, 168, 167, 165, 166, 168, 170, 170, 169, 169, 168, 167,
+  167, 168, 169, 171, 170, 174, 171, 173, 176, 175, 171, 170, 172, 171, 170, 169,
+  168, 167, 167, 167, 167, 168, 167, 167, 167, 167, 168, 169, 170, 168, 166, 164,
+  163, 163, 164, 163, 162, 163, 162, 162, 161, 160, 160, 159, 159, 161, 161, 160,
+  161, 161, 162, 160, 160, 149, 150, 150, 147, 140, 133, 126, 124, 120, 109, 111,
+  121, 134, 138, 120, 91, 89, 77, 72, 79, 85, 79, 72, 69, 66, 62, 65,
+  65, 57, 61, 70, 71, 80, 92, 94, 80, 60, 61, 89, 119, 116, 102, 93,
+  122, 129, 93, 83, 97, 120, 105, 93, 87, 90, 86, 85, 83, 78, 92, 93,
+  255, 255, 255, 255, 255, 255, 255, 23, 19, 19, 21, 73, 95, 108, 105, 105,
+  119, 131, 132, 138, 137, 137, 137, 137, 137, 139, 140, 142, 146, 152, 156, 158,
+  159, 161, 162, 169, 168, 167, 168, 168, 169, 168, 168, 171, 168, 167, 168, 172,
+  175, 176, 174, 173, 170, 171, 174, 173, 170, 169, 172, 172, 170, 168, 165, 165,
+  165, 167, 167, 167, 166, 167, 167, 168, 168, 169, 169, 170, 167, 163, 163, 165,
+  166, 164, 161, 162, 162, 161, 161, 160, 160, 159, 159, 160, 160, 160, 160, 160,
+  161, 159, 159, 150, 152, 152, 150, 143, 135, 128, 125, 129, 109, 112, 122, 131,
+  141, 133, 101, 84, 71, 66, 73, 83, 82, 76, 70, 69, 61, 63, 66, 59,
+  60, 64, 63, 69, 84, 91, 80, 61, 60, 82, 107, 110, 106, 85, 114, 124,
+  92, 89, 88, 113, 110, 95, 98, 84, 92, 84, 89, 86, 96, 96, 255, 255,
+  255, 255, 255, 255, 255, 21, 18, 22, 28, 95, 95, 99, 106, 112, 118, 128,
+  138, 133, 133, 133, 133, 135, 137, 139, 142, 147, 151, 156, 159, 159, 159, 160,
+  161, 163, 164, 165, 165, 165, 165, 165, 165, 167, 164, 161, 163, 167, 169, 170,
+  168, 170, 167, 167, 170, 171, 169, 169, 173, 172, 169, 167, 163, 164, 164, 166,
+  167, 161, 160, 162, 162, 163, 162, 163, 162, 166, 163, 159, 159, 161, 162, 160,
+  157, 156, 156, 156, 155, 155, 155, 155, 154, 155, 155, 154, 154, 153, 153, 151,
+  151, 154, 155, 155, 151, 144, 136, 127, 124, 130, 109, 109, 115, 122, 137, 138,
+  114, 91, 77, 66, 68, 76, 78, 75, 69, 72, 62, 64, 68, 61, 58, 59,
+  56, 57, 72, 77, 67, 59, 65, 75, 81, 97, 110, 91, 101, 106, 88, 94,
+  87, 101, 110, 100, 108, 85, 95, 85, 93, 95, 99, 93, 255, 255, 255, 255,
+  255, 255, 255, 24, 22, 31, 48, 106, 96, 97, 110, 119, 122, 129, 141, 136,
+  136, 136, 137, 141, 143, 145, 147, 151, 154, 157, 159, 158, 158, 159, 160, 159,
+  161, 163, 163, 162, 162, 162, 163, 166, 165, 163, 164, 165, 166, 168, 168, 169,
+  166, 165, 168, 170, 168, 169, 173, 170, 168, 166, 164, 163, 163, 165, 166, 161,
+  162, 163, 164, 164, 164, 164, 163, 167, 164, 162, 161, 161, 162, 161, 160, 157,
+  156, 156, 156, 156, 156, 156, 156, 156, 156, 155, 154, 154, 153, 151, 151, 155,
+  156, 155, 151, 143, 135, 128, 125, 123, 111, 107, 106, 113, 126, 132, 123, 111,
+  95, 79, 71, 72, 73, 72, 68, 73, 63, 66, 72, 64, 57, 57, 55, 61,
+  71, 71, 64, 64, 72, 74, 70, 91, 107, 98, 92, 94, 91, 94, 92, 92,
+  106, 103, 111, 91, 100, 90, 95, 103, 105, 99, 142, 255, 255, 255, 255, 255,
+  181, 29, 29, 47, 73, 103, 105, 110, 118, 127, 131, 136, 142, 145, 145, 146,
+  147, 150, 151, 152, 153, 152, 156, 158, 159, 160, 161, 163, 165, 163, 166, 168,
+  168, 165, 163, 164, 165, 167, 168, 171, 170, 169, 169, 172, 174, 171, 167, 167,
+  169, 168, 166, 167, 170, 172, 170, 169, 167, 166, 166, 167, 167, 168, 169, 170,
+  171, 172, 171, 171, 168, 167, 167, 166, 164, 162, 162, 163, 164, 160, 160, 160,
+  160, 160, 161, 161, 161, 159, 160, 159, 159, 159, 160, 158, 158, 157, 158, 156,
+  152, 145, 139, 133, 131, 126, 129, 122, 113, 121, 128, 132, 139, 127, 113, 93,
+  78, 73, 72, 72, 69, 71, 62, 68, 77, 67, 58, 59, 59, 69, 68, 67,
+  68, 68, 67, 73, 81, 98, 98, 98, 91, 98, 101, 90, 98, 87, 96, 96,
+  101, 95, 103, 95, 92, 103, 110, 110, 98, 255, 255, 255, 255, 255, 37, 34,
+  38, 61, 93, 97, 113, 124, 125, 130, 139, 143, 140, 148, 147, 149, 150, 152,
+  151, 152, 153, 153, 155, 157, 159, 159, 162, 165, 168, 167, 170, 172, 171, 168,
+  165, 165, 166, 163, 166, 170, 169, 167, 167, 171, 175, 172, 167, 166, 167, 166,
+  162, 163, 166, 172, 171, 170, 169, 168, 167, 167, 168, 167, 168, 170, 171, 172,
+  171, 170, 167, 162, 163, 164, 162, 158, 157, 159, 162, 159, 159, 159, 159, 159,
+  159, 159, 159, 157, 157, 157, 158, 160, 161, 160, 160, 160, 160, 158, 154, 148,
+  144, 139, 139, 115, 129, 121, 107, 115, 116, 118, 134, 132, 119, 101, 83, 76,
+  74, 74, 72, 68, 61, 69, 79, 69, 59, 61, 64, 66, 57, 57, 68, 64,
+  54, 66, 92, 108, 89, 95, 93, 107, 110, 86, 103, 85, 88, 88, 90, 96,
+  103, 97, 86, 94, 107, 114, 103, 255, 255, 255, 255, 255, 42, 23, 34, 92,
+  97, 104, 111, 117, 125, 130, 133, 137, 137, 144, 146, 150, 151, 151, 150, 152,
+  154, 154, 155, 156, 157, 157, 160, 165, 168, 170, 170, 170, 170, 170, 170, 170,
+  170, 166, 166, 167, 167, 168, 169, 169, 169, 168, 167, 167, 166, 168, 169, 170,
+  170, 169, 170, 170, 168, 165, 164, 164, 165, 173, 172, 172, 172, 173, 172, 169,
+  164, 168, 165, 163, 163, 165, 166, 167, 167, 161, 161, 160, 160, 159, 159, 160,
+  161, 156, 156, 156, 157, 159, 160, 159, 160, 158, 157, 158, 158, 150, 141, 139,
+  146, 122, 121, 120, 117, 118, 121, 127, 132, 116, 128, 105, 74, 78, 83, 77,
+  75, 65, 62, 70, 74, 66, 64, 66, 62, 65, 73, 61, 56, 65, 59, 55,
+  74, 98, 112, 84, 98, 107, 89, 103, 95, 85, 74, 92, 92, 105, 89, 94,
+  79, 94, 105, 112, 102, 255, 255, 255, 255, 255, 36, 25, 46, 102, 105, 114,
+  120, 125, 132, 136, 139, 142, 143, 142, 144, 146, 148, 149, 150, 150, 152, 151,
+  154, 157, 160, 161, 162, 165, 167, 168, 168, 168, 168, 168, 168, 168, 168, 169,
+  169, 169, 170, 171, 171, 172, 172, 170, 169, 169, 169, 171, 172, 173, 173, 172,
+  173, 174, 173, 171, 170, 171, 173, 175, 173, 172, 171, 171, 169, 166, 162, 167,
+  164, 162, 162, 165, 167, 167, 167, 165, 165, 164, 162, 159, 158, 158, 159, 155,
+  155, 155, 157, 158, 159, 158, 159, 158, 157, 157, 157, 150, 141, 139, 145, 130,
+  127, 124, 117, 116, 116, 121, 126, 133, 119, 102, 95, 93, 82, 86, 103, 68,
+  60, 65, 72, 64, 60, 63, 62, 62, 69, 59, 56, 63, 56, 51, 67, 90,
+  108, 89, 90, 106, 100, 102, 102, 88, 76, 91, 92, 102, 90, 95, 81, 93,
+  105, 113, 104, 255, 255, 255, 255, 177, 28, 30, 65, 113, 108, 119, 125, 130,
+  138, 142, 145, 146, 146, 145, 147, 150, 151, 151, 152, 155, 157, 156, 160, 165,
+  168, 169, 169, 170, 171, 172, 172, 172, 172, 172, 172, 172, 172, 169, 169, 169,
+  170, 170, 170, 172, 172, 170, 170, 172, 172, 172, 173, 175, 175, 175, 174, 175,
+  175, 174, 174, 176, 178, 181, 178, 175, 172, 171, 170, 168, 166, 166, 163, 161,
+  161, 164, 166, 167, 167, 168, 168, 167, 164, 159, 156, 155, 156, 160, 160, 160,
+  161, 162, 163, 162, 162, 156, 156, 156, 155, 150, 143, 140, 144, 132, 128, 123,
+  115, 112, 112, 117, 122, 128, 104, 99, 105, 98, 90, 107, 127, 76, 61, 63,
+  71, 64, 58, 61, 64, 65, 69, 63, 62, 66, 59, 53, 63, 81, 104, 101,
+  82, 100, 110, 94, 108, 93, 80, 89, 92, 99, 92, 95, 84, 92, 103, 112,
+  106, 255, 255, 255, 255, 24, 24, 36, 80, 116, 109, 120, 126, 132, 137, 141,
+  144, 145, 145, 147, 149, 151, 151, 152, 153, 156, 158, 160, 163, 166, 167, 167,
+  167, 168, 169, 170, 170, 170, 170, 170, 170, 170, 170, 163, 163, 163, 164, 164,
+  165, 166, 166, 167, 167, 169, 169, 171, 172, 174, 174, 174, 173, 175, 173, 172,
+  172, 175, 177, 182, 178, 175, 171, 171, 170, 169, 167, 162, 160, 159, 159, 162,
+  165, 166, 166, 166, 168, 168, 164, 159, 154, 154, 155, 160, 160, 160, 161, 162,
+  163, 161, 162, 155, 156, 155, 154, 149, 145, 142, 144, 133, 129, 124, 117, 115,
+  116, 122, 127, 114, 102, 106, 104, 89, 96, 116, 117, 87, 66, 63, 73, 67,
+  60, 64, 69, 65, 66, 65, 67, 67, 59, 53, 56, 71, 100, 117, 79, 91,
+  110, 83, 110, 99, 85, 88, 93, 96, 95, 96, 87, 91, 100, 109, 107, 255,
+  255, 255, 255, 26, 22, 44, 93, 114, 109, 121, 127, 132, 137, 140, 142, 143,
+  143, 144, 145, 147, 147, 147, 148, 151, 154, 159, 159, 159, 158, 156, 156, 158,
+  161, 162, 162, 162, 162, 162, 162, 162, 162, 160, 160, 160, 161, 162, 162, 163,
+  163, 165, 166, 166, 167, 169, 171, 173, 173, 172, 171, 171, 168, 167, 167, 170,
+  172, 174, 170, 168, 165, 166, 165, 165, 163, 161, 159, 158, 158, 161, 163, 164,
+  164, 161, 164, 166, 163, 157, 153, 153, 155, 154, 154, 154, 154, 155, 156, 154,
+  154, 155, 156, 156, 153, 150, 149, 145, 144, 135, 132, 127, 120, 119, 120, 125,
+  130, 120, 109, 116, 114, 94, 92, 104, 99, 93, 70, 64, 71, 68, 65, 68,
+  70, 62, 59, 61, 66, 62, 55, 50, 47, 57, 90, 125, 84, 84, 107, 82,
+  113, 105, 91, 87, 97, 95, 100, 98, 90, 93, 97, 105, 108, 255, 255, 255,
+  255, 24, 21, 53, 102, 110, 112, 126, 130, 135, 139, 143, 144, 145, 145, 147,
+  148, 149, 148, 148, 150, 153, 156, 161, 160, 159, 156, 154, 155, 158, 160, 161,
+  161, 161, 161, 161, 161, 161, 161, 163, 163, 163, 163, 165, 165, 166, 166, 166,
+  167, 167, 169, 171, 174, 176, 176, 174, 173, 171, 169, 167, 167, 170, 173, 174,
+  172, 169, 168, 168, 167, 166, 164, 164, 162, 159, 159, 161, 163, 164, 163, 157,
+  162, 166, 163, 157, 152, 153, 155, 154, 154, 154, 154, 155, 155, 154, 154, 155,
+  158, 156, 153, 152, 152, 149, 145, 133, 130, 126, 118, 114, 112, 115, 118, 124,
+  108, 114, 126, 115, 95, 97, 106, 92, 73, 65, 68, 66, 70, 73, 68, 66,
+  58, 63, 71, 64, 59, 55, 47, 49, 76, 121, 93, 84, 106, 92, 112, 111,
+  97, 88, 102, 95, 105, 99, 93, 97, 96, 101, 110, 152, 255, 255, 255, 27,
+  27, 63, 109, 110, 119, 129, 133, 137, 141, 145, 147, 146, 146, 151, 152, 154,
+  153, 153, 154, 158, 161, 162, 164, 165, 164, 163, 163, 165, 167, 167, 167, 167,
+  167, 167, 167, 167, 167, 167, 167, 168, 168, 169, 170, 172, 172, 172, 173, 175,
+  176, 179, 181, 183, 184, 178, 176, 175, 172, 171, 173, 176, 180, 179, 177, 175,
+  174, 173, 171, 168, 165, 168, 166, 163, 162, 164, 165, 165, 164, 158, 163, 168,
+  165, 157, 152, 153, 155, 159, 159, 158, 159, 159, 159, 157, 158, 156, 159, 157,
+  153, 153, 156, 152, 146, 135, 132, 129, 120, 115, 111, 111, 113, 118, 115, 115,
+  121, 123, 106, 98, 107, 92, 78, 70, 66, 67, 78, 80, 67, 72, 61, 68,
+  77, 68, 65, 64, 52, 53, 67, 112, 104, 90, 108, 104, 104, 115, 101, 89,
+  106, 97, 110, 101, 95, 104, 97, 100, 114, 110, 255, 255, 255, 36, 36, 72,
+  113, 109, 123, 129, 133, 138, 142, 145, 147, 147, 146, 151, 151, 153, 152, 151,
+  153, 157, 160, 157, 161, 165, 167, 167, 166, 167, 168, 166, 166, 166, 166, 166,
+  166, 168, 166, 170, 170, 171, 171, 172, 172, 174, 174, 178, 179, 180, 182, 184,
+  187, 189, 189, 182, 180, 180, 178, 178, 181, 185, 189, 181, 179, 177, 176, 174,
+  170, 166, 164, 172, 170, 167, 166, 167, 167, 168, 166, 160, 166, 170, 167, 158,
+  152, 152, 155, 158, 158, 157, 158, 158, 158, 156, 156, 156, 159, 158, 154, 154,
+  156, 153, 146, 142, 139, 136, 129, 124, 121, 120, 122, 115, 136, 125, 105, 111,
+  109, 92, 83, 92, 83, 75, 66, 69, 84, 87, 68, 72, 58, 67, 77, 67,
+  65, 65, 51, 62, 65, 106, 112, 95, 109, 111, 93, 117, 104, 90, 109, 98,
+  113, 101, 96, 109, 98, 100, 116, 117, 255, 255, 30, 29, 42, 87, 113, 114,
+  121, 131, 136, 140, 140, 141, 142, 144, 146, 149, 150, 151, 152, 154, 155, 156,
+  156, 164, 164, 165, 165, 166, 166, 167, 167, 167, 167, 167, 168, 169, 170, 173,
+  173, 174, 173, 173, 172, 172, 173, 172, 172, 177, 175, 174, 177, 183, 188, 188,
+  188, 187, 183, 181, 183, 188, 189, 185, 180, 173, 174, 174, 172, 171, 171, 174,
+  176, 169, 168, 168, 169, 170, 170, 169, 167, 166, 165, 162, 160, 159, 158, 157,
+  157, 156, 156, 157, 158, 158, 158, 157, 157, 153, 153, 154, 153, 152, 150, 148,
+  143, 130, 129, 138, 119, 134, 126, 127, 107, 120, 129, 138, 136, 122, 103, 88,
+  80, 86, 84, 75, 63, 69, 78, 76, 65, 70, 58, 64, 55, 71, 53, 56,
+  47, 54, 69, 97, 121, 103, 93, 116, 111, 107, 97, 94, 106, 108, 100, 90,
+  90, 110, 103, 91, 99, 116, 255, 255, 27, 28, 49, 94, 116, 116, 125, 132,
+  137, 141, 143, 144, 145, 147, 149, 154, 155, 156, 157, 158, 159, 160, 161, 163,
+  164, 164, 164, 165, 165, 166, 167, 168, 168, 168, 168, 169, 170, 172, 172, 174,
+  174, 173, 173, 173, 174, 175, 174, 176, 175, 176, 179, 183, 186, 185, 182, 180,
+  181, 181, 181, 182, 182, 183, 183, 180, 179, 176, 175, 174, 174, 174, 175, 169,
+  169, 167, 169, 169, 170, 168, 165, 165, 164, 162, 160, 159, 159, 159, 159, 158,
+  158, 158, 159, 158, 158, 156, 157, 151, 150, 151, 152, 153, 154, 153, 150, 138,
+  128, 136, 128, 140, 124, 126, 119, 114, 123, 135, 141, 136, 121, 102, 89, 88,
+  85, 78, 72, 76, 82, 77, 67, 80, 68, 72, 63, 74, 58, 60, 51, 56,
+  67, 88, 112, 101, 93, 111, 103, 111, 100, 102, 105, 111, 97, 95, 93, 110,
+  112, 97, 96, 115, 255, 255, 22, 27, 58, 100, 116, 116, 127, 132, 137, 142,
+  144, 146, 148, 151, 153, 157, 157, 158, 159, 160, 161, 162, 162, 164, 164, 164,
+  164, 165, 165, 166, 167, 173, 173, 172, 172, 173, 174, 174, 175, 176, 176, 176,
+  177, 178, 178, 180, 181, 179, 178, 179, 182, 185, 184, 182, 179, 178, 182, 186,
+  185, 182, 182, 186, 190, 180, 177, 174, 174, 176, 177, 176, 174, 175, 173, 170,
+  172, 174, 175, 172, 168, 164, 163, 161, 160, 159, 159, 159, 160, 160, 159, 159,
+  159, 158, 157, 155, 155, 161, 158, 157, 154, 152, 150, 150, 146, 144, 132, 139,
+  140, 145, 126, 130, 135, 123, 126, 131, 137, 136, 124, 106, 92, 91, 85, 79,
+  79, 83, 85, 79, 72, 82, 73, 75, 71, 78, 64, 63, 57, 62, 70, 83,
+  106, 104, 97, 110, 102, 114, 99, 107, 97, 113, 91, 98, 92, 105, 120, 101,
+  88, 110, 255, 255, 17, 28, 67, 103, 112, 113, 123, 130, 135, 140, 143, 145,
+  148, 151, 153, 154, 154, 155, 156, 157, 158, 158, 159, 163, 163, 163, 164, 164,
+  165, 166, 166, 172, 172, 171, 170, 171, 171, 172, 172, 171, 172, 172, 173, 175,
+  177, 179, 179, 180, 181, 181, 180, 181, 181, 180, 178, 176, 181, 185, 186, 184,
+  183, 184, 187, 173, 169, 166, 169, 175, 178, 176, 174, 178, 175, 170, 172, 175,
+  177, 173, 169, 161, 160, 159, 158, 158, 158, 159, 159, 160, 160, 159, 157, 156,
+  153, 153, 151, 162, 161, 156, 153, 150, 149, 149, 146, 141, 136, 141, 142, 140,
+  131, 135, 143, 132, 129, 127, 126, 124, 118, 109, 101, 93, 85, 79, 80, 85,
+  86, 81, 77, 74, 70, 73, 76, 78, 69, 63, 58, 63, 71, 78, 99, 103,
+  97, 108, 104, 114, 95, 105, 86, 112, 86, 97, 86, 93, 118, 99, 78, 98,
+  255, 178, 15, 34, 76, 103, 107, 109, 117, 126, 132, 137, 140, 143, 145, 149,
+  151, 152, 152, 152, 153, 154, 155, 155, 155, 159, 159, 159, 160, 160, 161, 162,
+  162, 164, 163, 163, 162, 163, 163, 163, 164, 166, 166, 167, 169, 171, 171, 173,
+  174, 179, 177, 176, 175, 175, 177, 180, 181, 173, 174, 177, 180, 180, 179, 176,
+  174, 171, 167, 165, 168, 174, 177, 175, 172, 173, 170, 166, 167, 168, 170, 168,
+  164, 159, 159, 157, 156, 156, 156, 157, 157, 159, 159, 157, 156, 155, 152, 151,
+  149, 151, 151, 150, 150, 151, 153, 155, 154, 132, 140, 142, 137, 130, 136, 139,
+  140, 124, 125, 126, 125, 123, 120, 117, 115, 103, 94, 85, 82, 86, 89, 86,
+  81, 70, 71, 73, 82, 77, 70, 59, 55, 57, 69, 71, 88, 95, 88, 101,
+  104, 113, 94, 103, 82, 109, 86, 96, 83, 83, 110, 97, 74, 88, 255, 21,
+  17, 45, 86, 103, 106, 111, 116, 126, 131, 136, 139, 142, 144, 147, 150, 153,
+  154, 154, 154, 155, 155, 156, 156, 155, 155, 156, 156, 156, 157, 158, 158, 163,
+  162, 162, 161, 163, 163, 164, 164, 170, 171, 170, 171, 173, 175, 177, 177, 174,
+  174, 172, 171, 172, 176, 182, 185, 179, 177, 177, 177, 177, 176, 174, 172, 176,
+  174, 172, 173, 176, 176, 172, 170, 172, 171, 168, 167, 166, 167, 167, 166, 160,
+  159, 157, 156, 156, 156, 156, 156, 159, 158, 157, 156, 153, 152, 150, 150, 151,
+  150, 150, 149, 150, 151, 152, 150, 130, 143, 140, 136, 124, 138, 136, 133, 117,
+  122, 128, 130, 126, 118, 109, 104, 111, 107, 96, 87, 91, 99, 97, 87, 79,
+  81, 78, 88, 75, 71, 56, 54, 61, 74, 69, 81, 93, 86, 95, 103, 109,
+  99, 106, 90, 105, 88, 97, 89, 82, 100, 98, 81, 80, 255, 18, 21, 58,
+  96, 105, 111, 122, 121, 129, 134, 138, 141, 143, 146, 148, 151, 156, 156, 156,
+  156, 157, 157, 157, 158, 157, 157, 158, 158, 158, 159, 160, 160, 167, 167, 167,
+  167, 169, 170, 171, 172, 176, 177, 177, 178, 179, 180, 182, 183, 173, 175, 177,
+  179, 180, 184, 191, 195, 187, 186, 183, 177, 171, 170, 174, 179, 177, 177, 177,
+  177, 176, 175, 173, 172, 172, 175, 174, 171, 166, 166, 168, 171, 163, 162, 160,
+  158, 157, 156, 156, 156, 159, 159, 158, 158, 155, 154, 153, 153, 157, 155, 154,
+  152, 150, 146, 144, 142, 140, 147, 139, 145, 128, 137, 128, 131, 122, 123, 127,
+  131, 130, 121, 108, 98, 103, 109, 102, 91, 98, 116, 114, 98, 87, 89, 79,
+  88, 70, 71, 57, 61, 73, 81, 66, 76, 94, 87, 91, 97, 99, 105, 113,
+  102, 96, 87, 95, 99, 85, 90, 99, 90, 73, 255, 15, 25, 67, 103, 108,
+  116, 130, 126, 132, 137, 141, 144, 146, 148, 150, 153, 156, 156, 157, 157, 157,
+  157, 157, 158, 162, 162, 163, 163, 163, 164, 165, 165, 167, 167, 167, 168, 170,
+  171, 173, 173, 175, 175, 175, 175, 177, 177, 179, 180, 175, 179, 185, 189, 191,
+  195, 201, 204, 189, 188, 183, 172, 161, 160, 171, 182, 172, 174, 177, 177, 176,
+  175, 174, 176, 168, 172, 173, 169, 162, 161, 165, 170, 166, 165, 162, 160, 159,
+  158, 157, 157, 160, 160, 160, 157, 157, 156, 155, 153, 151, 152, 152, 153, 151,
+  149, 148, 146, 151, 148, 137, 153, 134, 132, 119, 130, 126, 122, 121, 127, 134,
+  134, 124, 113, 89, 102, 102, 92, 104, 129, 128, 108, 90, 90, 76, 85, 66,
+  72, 61, 69, 78, 82, 59, 68, 91, 85, 83, 85, 88, 107, 118, 110, 88,
+  83, 92, 106, 87, 83, 99, 95, 68, 255, 18, 32, 66, 103, 116, 111, 113,
+  126, 132, 137, 141, 144, 145, 146, 147, 149, 156, 156, 157, 157, 157, 158, 158,
+  158, 159, 161, 162, 164, 164, 163, 163, 163, 168, 168, 167, 167, 168, 169, 170,
+  170, 168, 175, 181, 183, 180, 178, 180, 181, 175, 176, 178, 183, 189, 194, 196,
+  197, 193, 187, 180, 176, 173, 172, 174, 178, 174, 170, 186, 172, 169, 180, 169,
+  179, 173, 176, 177, 173, 167, 165, 166, 169, 162, 161, 159, 158, 156, 157, 160,
+  162, 157, 163, 163, 159, 156, 156, 157, 154, 157, 154, 151, 151, 150, 150, 146,
+  141, 147, 143, 144, 146, 137, 122, 117, 121, 122, 124, 122, 121, 123, 126, 122,
+  116, 106, 96, 110, 121, 112, 115, 125, 119, 87, 88, 66, 76, 66, 70, 55,
+  68, 74, 75, 77, 76, 76, 78, 76, 73, 79, 103, 118, 97, 105, 78, 86,
+  103, 87, 97, 106, 91, 66, 188, 81, 87, 95, 104, 112, 118, 125, 131, 134,
+  140, 144, 147, 148, 149, 151, 153, 157, 157, 157, 157, 158, 158, 158, 159, 160,
+  161, 163, 164, 165, 164, 164, 163, 169, 168, 168, 168, 170, 171, 172, 173, 171,
+  175, 179, 179, 176, 175, 179, 184, 185, 180, 178, 180, 191, 195, 196, 193, 189,
+  186, 182, 179, 177, 175, 176, 177, 176, 173, 186, 175, 175, 186, 175, 183, 179,
+  181, 179, 176, 170, 168, 168, 169, 164, 164, 163, 162, 160, 159, 159, 159, 157,
+  163, 163, 159, 155, 156, 155, 152, 157, 153, 150, 147, 149, 150, 148, 144, 143,
+  137, 138, 140, 134, 121, 116, 120, 123, 121, 115, 109, 110, 115, 116, 113, 115,
+  104, 113, 122, 115, 119, 131, 127, 104, 106, 87, 93, 85, 88, 76, 89, 80,
+  76, 75, 77, 78, 76, 73, 71, 74, 100, 120, 104, 108, 80, 83, 97, 90,
+  100, 105, 90, 67, 121, 131, 128, 115, 103, 109, 124, 134, 134, 137, 143, 147,
+  149, 151, 152, 155, 157, 156, 156, 157, 157, 158, 158, 158, 158, 160, 161, 163,
+  164, 165, 164, 164, 163, 169, 169, 169, 169, 171, 173, 174, 175, 178, 179, 179,
+  177, 176, 177, 184, 190, 190, 182, 178, 182, 194, 200, 199, 195, 186, 185, 183,
+  181, 179, 178, 178, 177, 177, 175, 183, 176, 179, 188, 180, 182, 182, 182, 178,
+  175, 172, 170, 168, 166, 166, 166, 164, 163, 162, 160, 158, 156, 160, 165, 166,
+  163, 160, 161, 160, 156, 156, 153, 149, 146, 147, 147, 147, 144, 141, 134, 132,
+  136, 134, 125, 120, 122, 123, 121, 115, 108, 108, 112, 112, 108, 118, 108, 111,
+  117, 114, 120, 131, 132, 119, 121, 104, 102, 92, 90, 80, 91, 90, 78, 75,
+  80, 82, 75, 69, 68, 69, 97, 123, 116, 113, 87, 85, 95, 91, 100, 101,
+  86, 68, 128, 134, 121, 108, 102, 112, 126, 131, 131, 139, 143, 147, 149, 151,
+  152, 155, 158, 155, 155, 155, 156, 156, 156, 157, 157, 159, 160, 162, 163, 163,
+  163, 163, 162, 168, 168, 168, 169, 171, 173, 175, 176, 179, 178, 178, 175, 174,
+  175, 183, 186, 177, 175, 175, 181, 191, 196, 196, 193, 184, 184, 182, 178, 176,
+  179, 179, 178, 177, 176, 178, 175, 178, 184, 178, 175, 178, 176, 172, 171, 170,
+  170, 167, 164, 166, 164, 160, 158, 158, 158, 157, 157, 160, 164, 165, 160, 160,
+  159, 158, 155, 153, 152, 148, 147, 145, 143, 142, 138, 141, 132, 129, 135, 136,
+  129, 124, 126, 114, 117, 117, 113, 110, 109, 104, 97, 109, 100, 100, 106, 110,
+  115, 123, 127, 115, 118, 106, 98, 92, 87, 80, 88, 91, 76, 70, 77, 79,
+  69, 60, 59, 62, 89, 115, 117, 108, 89, 87, 93, 87, 96, 91, 77, 67,
+  120, 125, 104, 95, 105, 119, 123, 126, 134, 139, 144, 146, 148, 149, 150, 154,
+  156, 153, 153, 153, 154, 154, 155, 155, 155, 157, 159, 160, 162, 162, 161, 161,
+  161, 167, 167, 167, 168, 170, 172, 174, 175, 169, 167, 170, 168, 168, 168, 172,
+  173, 163, 167, 174, 178, 182, 181, 183, 183, 183, 184, 179, 172, 171, 177, 180,
+  179, 178, 180, 176, 176, 178, 178, 177, 168, 172, 171, 167, 168, 168, 169, 168,
+  165, 165, 160, 153, 150, 152, 155, 158, 159, 153, 156, 155, 152, 152, 153, 150,
+  146, 149, 151, 149, 148, 144, 139, 133, 131, 138, 129, 127, 133, 135, 129, 125,
+  127, 109, 113, 114, 109, 104, 102, 96, 89, 94, 90, 89, 96, 106, 109, 111,
+  117, 109, 113, 108, 98, 103, 97, 94, 98, 86, 72, 65, 70, 71, 62, 53,
+  50, 57, 77, 100, 110, 96, 89, 88, 92, 82, 90, 80, 68, 67, 129, 126,
+  104, 98, 110, 123, 123, 128, 142, 142, 146, 148, 148, 148, 150, 153, 155, 153,
+  153, 153, 154, 154, 154, 155, 155, 158, 159, 160, 162, 162, 162, 162, 161, 167,
+  167, 167, 168, 170, 172, 173, 173, 166, 166, 169, 169, 170, 170, 170, 169, 168,
+  173, 181, 183, 180, 177, 177, 178, 183, 185, 179, 169, 168, 176, 180, 177, 179,
+  187, 179, 181, 181, 176, 179, 168, 170, 170, 169, 169, 169, 170, 170, 169, 166,
+  159, 150, 146, 150, 155, 159, 161, 154, 156, 155, 152, 151, 154, 151, 146, 148,
+  150, 150, 148, 142, 137, 131, 130, 134, 127, 127, 133, 133, 125, 122, 125, 117,
+  118, 115, 106, 100, 100, 100, 98, 87, 87, 83, 90, 104, 104, 100, 108, 114,
+  117, 115, 102, 113, 103, 100, 95, 89, 82, 76, 75, 74, 70, 62, 55, 65,
+  76, 92, 108, 91, 96, 96, 96, 82, 90, 75, 63, 70, 117, 115, 107, 107,
+  114, 123, 127, 134, 144, 148, 151, 152, 151, 150, 151, 154, 157, 154, 154, 155,
+  155, 156, 156, 156, 156, 160, 161, 162, 164, 164, 163, 163, 163, 170, 170, 170,
+  170, 171, 172, 173, 173, 173, 172, 173, 173, 175, 176, 175, 173, 180, 183, 185,
+  185, 183, 181, 181, 181, 180, 186, 182, 171, 170, 178, 180, 175, 176, 189, 180,
+  185, 182, 173, 182, 171, 169, 172, 172, 171, 168, 168, 169, 171, 170, 162, 153,
+  150, 153, 158, 160, 160, 161, 161, 160, 158, 158, 161, 158, 152, 149, 150, 148,
+  145, 140, 138, 136, 137, 133, 130, 132, 137, 134, 124, 121, 125, 121, 124, 121,
+  113, 106, 105, 106, 103, 88, 90, 82, 85, 102, 99, 92, 102, 113, 114, 115,
+  99, 118, 106, 100, 88, 94, 96, 93, 83, 80, 82, 76, 65, 76, 79, 88,
+  109, 89, 102, 100, 96, 89, 96, 76, 64, 76, 125, 96, 105, 112, 114, 122,
+  132, 138, 137, 153, 156, 156, 154, 153, 154, 156, 159, 156, 156, 157, 157, 157,
+  158, 158, 158, 162, 163, 164, 166, 166, 165, 165, 165, 172, 172, 171, 171, 171,
+  172, 174, 173, 176, 175, 174, 174, 176, 177, 177, 177, 185, 181, 178, 179, 182,
+  183, 183, 182, 179, 187, 185, 175, 173, 180, 180, 172, 171, 188, 179, 185, 182,
+  171, 185, 173, 168, 170, 171, 169, 165, 163, 166, 168, 174, 167, 158, 155, 158,
+  161, 160, 156, 162, 163, 161, 157, 160, 162, 159, 153, 151, 151, 147, 142, 138,
+  139, 143, 146, 135, 133, 137, 142, 137, 125, 122, 127, 113, 120, 123, 118, 111,
+  107, 102, 97, 92, 93, 83, 81, 98, 95, 86, 97, 97, 99, 106, 95, 123,
+  115, 112, 97, 89, 100, 98, 84, 80, 86, 81, 68, 76, 75, 81, 104, 83,
+  99, 97, 87, 96, 102, 79, 67, 81, 119, 102, 101, 108, 123, 132, 132, 134,
+  140, 157, 155, 153, 152, 153, 155, 157, 157, 159, 159, 159, 158, 158, 157, 157,
+  157, 164, 166, 167, 167, 165, 165, 166, 167, 169, 169, 169, 170, 171, 172, 175,
+  174, 178, 181, 183, 181, 177, 177, 184, 190, 185, 189, 193, 192, 187, 183, 186,
+  190, 178, 181, 184, 183, 181, 177, 174, 174, 183, 183, 183, 182, 180, 177, 175,
+  172, 171, 168, 166, 165, 166, 166, 167, 166, 159, 162, 162, 159, 155, 155, 161,
+  165, 159, 157, 157, 157, 157, 155, 154, 153, 145, 149, 151, 150, 145, 140, 138,
+  137, 146, 140, 132, 127, 125, 123, 120, 117, 116, 118, 120, 120, 117, 115, 113,
+  111, 96, 88, 85, 86, 86, 84, 87, 94, 98, 107, 104, 100, 109, 111, 104,
+  101, 100, 96, 99, 94, 78, 75, 83, 81, 79, 79, 81, 86, 91, 93, 94,
+  91, 90, 87, 87, 77, 62, 110, 96, 97, 103, 111, 119, 125, 135, 149, 154,
+  155, 154, 153, 154, 156, 157, 158, 161, 160, 159, 159, 158, 159, 159, 160, 163,
+  165, 167, 168, 167, 167, 169, 171, 169, 169, 169, 170, 171, 173, 175, 176, 177,
+  179, 181, 178, 176, 175, 177, 179, 189, 187, 186, 188, 191, 194, 193, 190, 191,
+  188, 183, 181, 182, 180, 176, 173, 184, 183, 182, 181, 180, 178, 176, 173, 171,
+  168, 165, 164, 165, 167, 167, 166, 160, 161, 161, 157, 153, 153, 157, 161, 160,
+  158, 159, 159, 157, 156, 154, 152, 153, 154, 152, 149, 144, 140, 137, 136, 139,
+  136, 133, 133, 134, 133, 130, 127, 117, 115, 113, 112, 112, 111, 109, 105, 98,
+  92, 89, 89, 85, 80, 82, 88, 96, 105, 101, 98, 106, 107, 99, 98, 101,
+  103, 110, 103, 81, 74, 84, 86, 76, 76, 76, 77, 80, 83, 88, 90, 87,
+  87, 90, 87, 71, 96, 77, 85, 101, 115, 124, 127, 135, 146, 152, 154, 154,
+  154, 155, 156, 158, 159, 161, 160, 160, 159, 159, 160, 162, 164, 162, 164, 166,
+  167, 167, 168, 171, 173, 167, 168, 168, 170, 172, 174, 176, 177, 175, 177, 179,
+  180, 181, 180, 179, 177, 191, 191, 191, 188, 189, 191, 193, 194, 196, 188, 179,
+  177, 179, 180, 179, 174, 184, 183, 181, 178, 177, 176, 175, 174, 171, 167, 164,
+  164, 165, 166, 166, 165, 165, 166, 165, 161, 157, 156, 159, 161, 161, 159, 159,
+  158, 156, 155, 153, 152, 149, 147, 146, 146, 145, 145, 145, 144, 132, 132, 131,
+  130, 128, 124, 118, 113, 122, 118, 114, 113, 114, 114, 111, 106, 100, 97, 96,
+  93, 86, 79, 78, 82, 94, 102, 97, 94, 101, 100, 93, 93, 99, 106, 118,
+  110, 83, 72, 82, 86, 81, 79, 76, 73, 74, 78, 86, 91, 80, 85, 91,
+  97, 82, 79, 65, 74, 87, 101, 112, 121, 129, 137, 149, 153, 155, 155, 157,
+  157, 159, 160, 162, 160, 159, 158, 158, 160, 163, 165, 162, 164, 166, 167, 167,
+  167, 169, 171, 167, 168, 169, 170, 172, 175, 177, 179, 174, 175, 177, 181, 186,
+  187, 187, 183, 190, 193, 196, 190, 182, 178, 185, 194, 186, 181, 174, 173, 175,
+  177, 178, 176, 182, 180, 178, 175, 174, 173, 173, 172, 168, 165, 162, 162, 163,
+  164, 164, 163, 165, 166, 165, 162, 159, 158, 161, 162, 161, 158, 155, 153, 150,
+  149, 149, 149, 147, 143, 139, 139, 140, 144, 144, 143, 138, 137, 136, 134, 129,
+  123, 116, 112, 117, 117, 116, 115, 114, 113, 111, 110, 101, 101, 101, 96, 88,
+  81, 78, 80, 86, 93, 90, 89, 95, 94, 88, 91, 96, 101, 113, 106, 81,
+  70, 77, 78, 86, 80, 74, 72, 75, 81, 85, 87, 75, 82, 87, 101, 86,
+  68, 68, 61, 55, 59, 78, 106, 127, 138, 144, 148, 152, 154, 157, 157, 159,
+  161, 162, 160, 159, 157, 157, 159, 162, 164, 163, 165, 166, 166, 165, 164, 166,
+  167, 167, 168, 169, 170, 172, 175, 177, 179, 175, 174, 175, 177, 183, 185, 186,
+  185, 190, 190, 189, 183, 182, 179, 183, 186, 178, 177, 176, 174, 172, 172, 175,
+  176, 178, 176, 175, 172, 170, 169, 169, 169, 166, 163, 160, 160, 161, 162, 162,
+  161, 158, 158, 158, 157, 156, 156, 158, 158, 160, 155, 150, 146, 144, 143, 144,
+  145, 153, 147, 138, 134, 133, 133, 130, 128, 128, 128, 128, 126, 122, 119, 116,
+  114, 102, 107, 111, 111, 107, 103, 103, 104, 98, 100, 100, 95, 87, 82, 80,
+  79, 78, 85, 83, 84, 91, 89, 84, 89, 91, 93, 102, 101, 84, 76, 76,
+  71, 84, 76, 70, 72, 79, 83, 80, 75, 71, 79, 79, 100, 84, 64, 60,
+  53, 47, 50, 74, 103, 123, 130, 136, 143, 150, 154, 157, 158, 160, 163, 163,
+  161, 161, 159, 158, 159, 161, 162, 164, 165, 166, 166, 164, 163, 164, 166, 167,
+  168, 168, 170, 172, 174, 176, 176, 178, 179, 179, 180, 181, 182, 184, 185, 200,
+  187, 178, 182, 195, 200, 194, 185, 178, 181, 180, 176, 171, 169, 172, 175, 176,
+  175, 174, 171, 169, 168, 167, 166, 165, 162, 160, 159, 160, 161, 161, 161, 158,
+  158, 157, 157, 158, 159, 160, 158, 158, 154, 150, 145, 142, 141, 140, 140, 146,
+  141, 133, 128, 126, 126, 124, 124, 127, 128, 128, 125, 119, 114, 111, 110, 101,
+  104, 107, 106, 103, 100, 99, 100, 95, 96, 94, 89, 84, 83, 80, 75, 73,
+  80, 80, 81, 87, 82, 78, 87, 86, 84, 92, 95, 87, 84, 82, 73, 83,
+  77, 75, 79, 86, 88, 81, 74, 69, 78, 72, 100, 83, 69, 57, 58, 59,
+  64, 83, 104, 115, 115, 130, 138, 147, 153, 155, 156, 162, 165, 164, 163, 164,
+  162, 161, 160, 161, 162, 162, 164, 165, 165, 164, 164, 166, 168, 167, 167, 167,
+  168, 169, 171, 173, 174, 175, 178, 182, 183, 182, 179, 180, 182, 194, 185, 180,
+  184, 195, 199, 194, 187, 183, 181, 175, 170, 169, 170, 172, 173, 175, 175, 174,
+  172, 171, 169, 167, 166, 166, 164, 161, 160, 161, 163, 163, 162, 163, 162, 161,
+  161, 162, 162, 162, 159, 155, 156, 156, 154, 149, 144, 139, 136, 134, 133, 130,
+  126, 122, 123, 126, 127, 138, 141, 144, 141, 134, 127, 121, 119, 117, 111, 105,
+  104, 106, 107, 103, 99, 99, 98, 92, 87, 87, 89, 83, 74, 74, 78, 79,
+  81, 84, 76, 72, 82, 80, 78, 87, 93, 88, 88, 89, 80, 79, 80, 81,
+  84, 86, 85, 81, 78, 70, 80, 71, 103, 85, 73, 68, 69, 66, 62, 73,
+  92, 107, 111, 127, 134, 146, 152, 154, 156, 160, 166, 166, 166, 166, 165, 163,
+  162, 162, 161, 161, 163, 165, 166, 166, 167, 169, 171, 167, 167, 167, 168, 169,
+  170, 171, 170, 161, 169, 177, 178, 176, 174, 175, 177, 174, 181, 185, 183, 177,
+  175, 179, 184, 184, 177, 166, 163, 167, 173, 176, 176, 175, 176, 176, 175, 174,
+  171, 168, 166, 168, 165, 163, 162, 163, 164, 164, 164, 164, 162, 160, 160, 160,
+  159, 158, 156, 155, 157, 161, 162, 156, 148, 139, 133, 136, 136, 133, 127, 119,
+  116, 119, 122, 117, 122, 130, 134, 130, 124, 120, 118, 130, 116, 101, 99, 106,
+  110, 104, 96, 105, 102, 95, 88, 90, 94, 86, 76, 76, 80, 79, 81, 84,
+  72, 67, 78, 73, 73, 84, 91, 87, 88, 92, 86, 71, 78, 83, 84, 80,
+  76, 77, 80, 70, 82, 72, 107, 89, 74, 88, 88, 96, 104, 105, 96, 97,
+  105, 119, 133, 142, 138, 145, 163, 167, 156, 162, 162, 164, 163, 164, 165, 166,
+  166, 165, 167, 168, 167, 165, 163, 163, 164, 159, 169, 167, 156, 155, 164, 160,
+  144, 153, 154, 156, 158, 164, 168, 167, 162, 166, 167, 169, 169, 166, 164, 164,
+  166, 172, 175, 176, 172, 168, 166, 170, 175, 179, 179, 180, 178, 174, 170, 167,
+  164, 168, 167, 166, 165, 164, 164, 164, 164, 164, 163, 162, 161, 159, 158, 157,
+  157, 153, 153, 153, 154, 154, 155, 154, 154, 147, 147, 143, 134, 124, 119, 121,
+  123, 123, 121, 116, 122, 134, 128, 116, 116, 126, 126, 118, 105, 97, 99, 105,
+  108, 108, 102, 98, 95, 89, 84, 85, 90, 70, 75, 81, 83, 80, 72, 63,
+  57, 67, 66, 87, 85, 95, 90, 96, 78, 72, 81, 88, 87, 82, 78, 76,
+  74, 75, 69, 88, 94, 90, 74, 92, 98, 111, 121, 122, 113, 105, 101, 106,
+  116, 129, 138, 148, 154, 156, 155, 164, 163, 165, 165, 166, 166, 166, 167, 165,
+  169, 174, 176, 172, 164, 158, 154, 153, 159, 157, 148, 145, 145, 137, 123, 118,
+  124, 127, 122, 118, 122, 132, 138, 135, 139, 144, 147, 148, 153, 160, 167, 162,
+  168, 174, 176, 176, 172, 171, 171, 174, 174, 175, 174, 171, 167, 164, 162, 167,
+  166, 165, 164, 163, 163, 163, 163, 162, 162, 161, 160, 158, 157, 156, 156, 154,
+  154, 154, 155, 156, 156, 157, 155, 151, 152, 149, 144, 135, 128, 123, 121, 125,
+  134, 130, 123, 131, 133, 124, 119, 112, 115, 113, 107, 105, 110, 115, 117, 108,
+  104, 100, 98, 91, 85, 84, 87, 82, 80, 75, 68, 62, 60, 62, 65, 59,
+  58, 80, 81, 92, 89, 97, 81, 79, 80, 82, 84, 82, 78, 73, 72, 82,
+  75, 91, 96, 90, 73, 95, 109, 124, 131, 133, 127, 117, 106, 103, 105, 118,
+  138, 149, 150, 153, 160, 164, 163, 165, 164, 164, 164, 165, 165, 166, 168, 173,
+  174, 169, 162, 155, 151, 141, 143, 145, 147, 145, 138, 128, 121, 107, 109, 106,
+  96, 92, 99, 109, 115, 131, 134, 136, 135, 133, 135, 142, 148, 156, 161, 166,
+  171, 174, 174, 175, 174, 172, 172, 173, 172, 170, 167, 167, 165, 165, 164, 163,
+  162, 161, 161, 161, 161, 162, 162, 161, 160, 159, 158, 157, 156, 155, 155, 156,
+  156, 157, 157, 157, 158, 155, 156, 156, 155, 149, 140, 128, 120, 123, 142, 139,
+  124, 126, 132, 127, 121, 113, 116, 115, 111, 109, 110, 110, 107, 108, 105, 102,
+  102, 97, 89, 83, 84, 82, 82, 80, 74, 66, 60, 57, 57, 62, 59, 78,
+  76, 84, 80, 88, 71, 82, 75, 74, 80, 82, 75, 71, 73, 84, 76, 91,
+  94, 145, 78, 94, 112, 125, 126, 126, 130, 128, 119, 112, 105, 110, 124, 139,
+  146, 152, 157, 159, 160, 162, 160, 161, 161, 162, 161, 167, 166, 167, 165, 161,
+  158, 157, 157, 139, 137, 141, 151, 150, 138, 127, 125, 119, 110, 99, 96, 104,
+  111, 110, 102, 104, 111, 119, 121, 123, 127, 136, 145, 152, 152, 152, 155, 162,
+  168, 175, 177, 168, 169, 171, 171, 170, 168, 168, 166, 163, 163, 161, 160, 159,
+  159, 159, 159, 163, 162, 162, 161, 160, 159, 158, 158, 155, 155, 155, 156, 156,
+  157, 156, 156, 156, 156, 156, 159, 157, 149, 136, 124, 117, 134, 136, 126, 124,
+  123, 119, 122, 119, 120, 116, 109, 105, 104, 99, 94, 105, 102, 101, 103, 101,
+  93, 85, 84, 79, 82, 83, 79, 71, 61, 53, 50, 61, 58, 75, 70, 80,
+  74, 83, 67, 75, 68, 68, 77, 77, 72, 73, 82, 79, 74, 88, 91, 255,
+  89, 85, 108, 125, 125, 121, 127, 132, 131, 123, 114, 105, 105, 120, 139, 149,
+  147, 158, 159, 161, 160, 160, 160, 162, 161, 164, 163, 164, 162, 159, 156, 155,
+  155, 143, 137, 140, 148, 146, 130, 120, 119, 119, 115, 111, 112, 121, 128, 122,
+  109, 105, 110, 117, 118, 116, 115, 117, 120, 139, 138, 137, 141, 149, 156, 162,
+  164, 159, 160, 162, 163, 163, 163, 161, 160, 162, 161, 160, 159, 158, 158, 158,
+  158, 160, 160, 159, 158, 158, 157, 157, 156, 155, 155, 154, 154, 154, 155, 154,
+  154, 156, 154, 152, 156, 159, 155, 144, 134, 115, 122, 127, 131, 130, 116, 112,
+  126, 115, 116, 112, 105, 101, 102, 101, 99, 102, 98, 99, 103, 102, 97, 91,
+  89, 87, 85, 79, 73, 66, 62, 60, 60, 54, 49, 67, 63, 76, 74, 87,
+  73, 60, 61, 67, 74, 71, 69, 76, 92, 79, 76, 91, 92, 255, 205, 86,
+  104, 122, 126, 126, 126, 131, 135, 135, 129, 117, 106, 114, 133, 143, 141, 159,
+  160, 161, 162, 163, 164, 166, 165, 161, 164, 168, 169, 164, 157, 150, 146, 143,
+  138, 138, 145, 145, 137, 131, 132, 122, 133, 143, 144, 143, 143, 144, 143, 146,
+  145, 144, 138, 130, 120, 112, 108, 125, 128, 133, 138, 143, 145, 146, 147, 154,
+  155, 158, 160, 162, 162, 161, 161, 162, 161, 160, 158, 158, 157, 157, 157, 156,
+  156, 155, 155, 154, 154, 153, 153, 155, 155, 153, 153, 153, 153, 152, 152, 154,
+  152, 150, 154, 159, 158, 152, 144, 123, 121, 123, 134, 138, 120, 114, 130, 119,
+  121, 118, 109, 102, 102, 104, 105, 101, 96, 95, 99, 101, 97, 94, 93, 88,
+  86, 86, 86, 85, 81, 72, 65, 58, 53, 66, 61, 70, 69, 80, 66, 53,
+  60, 68, 68, 65, 68, 78, 92, 81, 82, 98, 95, 255, 255, 103, 108, 116,
+  121, 123, 123, 127, 133, 137, 136, 133, 130, 126, 124, 131, 139, 158, 159, 160,
+  163, 164, 165, 168, 167, 164, 166, 171, 173, 169, 161, 155, 151, 148, 145, 144,
+  147, 151, 153, 155, 156, 149, 161, 169, 165, 160, 159, 162, 163, 158, 155, 154,
+  154, 154, 151, 146, 142, 127, 132, 137, 139, 140, 140, 142, 145, 151, 153, 155,
+  158, 161, 162, 162, 162, 162, 161, 160, 158, 158, 157, 157, 158, 156, 156, 155,
+  155, 155, 154, 154, 154, 156, 156, 156, 156, 154, 154, 154, 154, 153, 153, 153,
+  157, 161, 160, 156, 151, 136, 132, 127, 131, 139, 131, 123, 131, 128, 134, 133,
+  121, 109, 106, 109, 111, 104, 97, 92, 95, 98, 97, 94, 93, 85, 85, 89,
+  98, 104, 99, 83, 69, 67, 59, 69, 58, 64, 59, 68, 53, 53, 64, 70,
+  63, 61, 68, 77, 80, 75, 80, 99, 94, 255, 255, 123, 111, 103, 110, 116,
+  117, 125, 135, 130, 131, 141, 148, 133, 109, 112, 131, 153, 154, 157, 159, 162,
+  164, 166, 167, 169, 169, 172, 169, 167, 165, 165, 166, 161, 159, 154, 150, 152,
+  157, 162, 162, 169, 169, 166, 161, 161, 163, 160, 154, 168, 161, 156, 154, 154,
+  152, 147, 141, 141, 143, 143, 140, 137, 139, 147, 155, 145, 146, 150, 153, 156,
+  158, 158, 158, 160, 159, 158, 157, 156, 156, 156, 158, 159, 159, 158, 158, 158,
+  158, 159, 157, 157, 157, 157, 157, 155, 155, 155, 155, 154, 156, 157, 161, 164,
+  163, 159, 154, 143, 143, 131, 125, 135, 139, 131, 129, 128, 138, 141, 131, 119,
+  115, 120, 124, 107, 97, 90, 92, 95, 95, 93, 94, 94, 84, 80, 84, 95,
+  99, 92, 82, 67, 59, 68, 56, 63, 59, 69, 54, 57, 69, 71, 60, 59,
+  70, 74, 68, 64, 73, 94, 89, 255, 255, 137, 123, 107, 95, 96, 107, 120,
+  128, 133, 128, 130, 141, 143, 132, 122, 120, 146, 149, 153, 156, 161, 164, 169,
+  171, 171, 170, 172, 171, 171, 170, 167, 166, 164, 163, 162, 162, 162, 161, 164,
+  165, 165, 162, 159, 159, 161, 160, 156, 152, 161, 159, 159, 158, 156, 154, 152,
+  150, 148, 146, 148, 154, 161, 161, 156, 148, 151, 155, 151, 139, 139, 147, 149,
+  141, 156, 157, 158, 157, 156, 154, 156, 159, 158, 158, 159, 159, 159, 158, 157,
+  156, 159, 159, 159, 159, 157, 157, 157, 157, 159, 160, 161, 162, 161, 162, 163,
+  162, 147, 144, 137, 130, 130, 137, 137, 131, 138, 140, 144, 144, 135, 123, 119,
+  122, 129, 117, 99, 88, 91, 98, 99, 94, 96, 87, 84, 87, 91, 89, 88,
+  91, 72, 76, 72, 65, 61, 64, 64, 62, 56, 65, 67, 64, 65, 72, 71,
+  68, 67, 67, 101, 86, 255, 255, 128, 130, 121, 105, 107, 124, 134, 132, 142,
+  143, 142, 138, 138, 140, 138, 134, 129, 136, 148, 160, 167, 171, 173, 172, 173,
+  173, 173, 174, 172, 171, 169, 168, 165, 165, 163, 163, 161, 162, 163, 164, 164,
+  161, 157, 156, 158, 159, 157, 156, 147, 148, 150, 153, 155, 156, 158, 158, 150,
+  146, 144, 147, 153, 157, 158, 155, 170, 174, 170, 160, 160, 167, 169, 162, 154,
+  154, 155, 153, 151, 149, 152, 153, 158, 158, 159, 160, 160, 160, 159, 157, 158,
+  157, 157, 157, 155, 155, 155, 155, 158, 158, 159, 160, 160, 161, 162, 161, 148,
+  144, 137, 129, 128, 131, 130, 124, 119, 120, 125, 131, 129, 119, 110, 107, 130,
+  123, 116, 105, 101, 101, 101, 96, 95, 86, 80, 84, 89, 88, 89, 91, 92,
+  93, 86, 74, 63, 60, 58, 56, 50, 61, 67, 63, 59, 63, 67, 70, 73,
+  73, 104, 90, 255, 255, 255, 138, 132, 107, 98, 110, 114, 102, 119, 132, 139,
+  135, 139, 151, 156, 151, 125, 135, 150, 163, 171, 173, 175, 176, 175, 175, 175,
+  176, 174, 173, 170, 169, 167, 167, 165, 164, 162, 162, 163, 163, 162, 159, 155,
+  154, 154, 157, 158, 159, 158, 158, 157, 156, 156, 156, 156, 157, 158, 154, 149,
+  149, 151, 153, 154, 152, 159, 162, 161, 154, 153, 160, 164, 158, 156, 155, 155,
+  153, 151, 149, 151, 152, 156, 157, 159, 159, 161, 160, 160, 159, 158, 157, 157,
+  157, 157, 157, 155, 155, 157, 157, 157, 158, 157, 159, 160, 159, 152, 147, 140,
+  131, 127, 126, 124, 119, 128, 125, 127, 135, 139, 133, 125, 119, 121, 122, 124,
+  114, 105, 99, 95, 91, 86, 82, 79, 83, 88, 89, 91, 93, 104, 109, 106,
+  95, 81, 69, 59, 52, 48, 61, 69, 65, 57, 57, 62, 71, 74, 77, 104,
+  255, 255, 255, 255, 127, 120, 95, 80, 81, 82, 77, 68, 75, 86, 95, 111,
+  136, 159, 173, 132, 140, 151, 159, 165, 170, 174, 177, 177, 176, 176, 176, 176,
+  173, 172, 169, 168, 166, 165, 162, 161, 160, 160, 160, 158, 157, 155, 154, 154,
+  156, 158, 159, 169, 167, 164, 162, 159, 157, 155, 155, 155, 155, 155, 155, 156,
+  156, 157, 155, 160, 163, 163, 159, 160, 165, 168, 163, 156, 156, 155, 155, 154,
+  153, 155, 155, 154, 155, 157, 158, 160, 160, 160, 159, 159, 158, 158, 158, 158,
+  158, 156, 156, 155, 155, 155, 156, 155, 156, 157, 157, 155, 149, 143, 136, 130,
+  126, 122, 119, 127, 122, 121, 126, 130, 129, 126, 125, 112, 118, 120, 112, 104,
+  96, 90, 84, 75, 84, 95, 101, 101, 99, 99, 103, 109, 116, 122, 121, 114,
+  99, 78, 58, 53, 59, 67, 68, 63, 58, 59, 66, 66, 73, 99, 255, 255,
+  255, 255, 206, 101, 90, 79, 75, 85, 97, 83, 62, 50, 51, 56, 67, 93,
+  123, 120, 132, 147, 157, 164, 168, 173, 176, 178, 178, 178, 176, 175, 173, 172,
+  169, 168, 166, 164, 160, 158, 156, 156, 156, 156, 157, 159, 160, 159, 159, 159,
+  160, 159, 159, 158, 156, 157, 158, 160, 163, 151, 151, 152, 152, 154, 158, 163,
+  167, 153, 154, 154, 150, 149, 150, 149, 145, 150, 149, 149, 150, 152, 153, 155,
+  155, 153, 153, 156, 157, 158, 158, 158, 158, 157, 157, 157, 157, 156, 156, 156,
+  156, 153, 153, 153, 154, 156, 157, 158, 155, 152, 148, 144, 139, 133, 126, 123,
+  122, 115, 114, 118, 125, 128, 127, 128, 129, 117, 118, 116, 109, 102, 94, 87,
+  81, 76, 99, 125, 134, 129, 122, 122, 125, 120, 124, 129, 133, 137, 127, 104,
+  80, 54, 51, 56, 66, 67, 60, 54, 58, 58, 69, 93, 255, 255, 255, 255,
+  255, 203, 96, 90, 86, 100, 120, 108, 76, 54, 53, 49, 37, 42, 62, 94,
+  114, 140, 160, 171, 174, 178, 180, 181, 179, 179, 178, 176, 174, 172, 169, 169,
+  166, 162, 159, 156, 155, 154, 153, 157, 160, 163, 164, 162, 161, 161, 160, 158,
+  156, 156, 157, 159, 161, 164, 166, 166, 164, 158, 150, 147, 149, 158, 165, 174,
+  173, 173, 169, 166, 162, 159, 155, 143, 141, 141, 143, 147, 149, 151, 150, 154,
+  154, 156, 157, 158, 158, 158, 157, 155, 155, 155, 155, 154, 154, 154, 154, 152,
+  153, 153, 154, 155, 156, 157, 155, 146, 143, 141, 138, 132, 123, 119, 121, 107,
+  111, 120, 131, 135, 133, 133, 133, 122, 122, 116, 105, 97, 90, 86, 79, 94,
+  124, 153, 163, 155, 146, 145, 147, 141, 139, 134, 135, 141, 139, 124, 107, 64,
+  50, 47, 61, 68, 62, 53, 52, 57, 70, 144, 255, 255, 255, 255, 255, 255,
+  107, 100, 99, 108, 116, 103, 76, 59, 66, 74, 72, 72, 78, 90, 112, 140,
+  163, 175, 179, 183, 185, 183, 183, 183, 180, 178, 176, 173, 170, 170, 168, 163,
+  160, 157, 154, 152, 153, 156, 158, 160, 159, 156, 155, 156, 159, 162, 159, 158,
+  157, 157, 159, 161, 163, 177, 177, 173, 163, 152, 147, 151, 155, 160, 159, 161,
+  161, 158, 154, 152, 150, 147, 144, 143, 145, 150, 152, 153, 151, 157, 157, 159,
+  159, 160, 159, 158, 158, 156, 156, 156, 156, 156, 156, 155, 155, 154, 152, 153,
+  154, 155, 156, 157, 155, 145, 141, 140, 140, 132, 121, 118, 121, 109, 105, 107,
+  116, 123, 124, 123, 122, 122, 126, 126, 112, 101, 94, 95, 94, 117, 143, 166,
+  170, 163, 158, 157, 158, 157, 155, 148, 143, 143, 145, 139, 130, 93, 71, 60,
+  68, 73, 61, 52, 54, 62, 73, 255, 255, 255, 255, 255, 255, 255, 115, 109,
+  113, 115, 109, 143, 108, 73, 60, 68, 84, 92, 91, 105, 124, 147, 165, 173,
+  179, 186, 191, 186, 185, 184, 184, 180, 178, 175, 172, 172, 170, 165, 161, 157,
+  154, 153, 152, 154, 154, 154, 151, 147, 148, 151, 155, 151, 149, 149, 150, 152,
+  154, 158, 162, 166, 175, 181, 179, 169, 160, 157, 157, 156, 156, 161, 165, 166,
+  164, 163, 163, 156, 153, 151, 153, 157, 158, 159, 156, 160, 160, 161, 161, 162,
+  161, 159, 159, 160, 160, 160, 160, 160, 160, 159, 159, 154, 154, 153, 154, 156,
+  156, 157, 155, 149, 143, 143, 143, 135, 122, 118, 122, 132, 117, 105, 106, 115,
+  121, 124, 125, 123, 133, 139, 127, 114, 107, 112, 119, 134, 151, 165, 164, 162,
+  161, 160, 158, 158, 164, 164, 158, 151, 150, 148, 142, 126, 96, 78, 80, 78,
+  61, 54, 56, 66, 75, 255, 255, 255, 255, 255, 255, 255, 116, 113, 119, 123,
+  120, 117, 100, 89, 85, 77, 77, 95, 118, 116, 131, 150, 165, 173, 178, 184,
+  187, 192, 189, 185, 181, 176, 173, 172, 170, 170, 166, 165, 165, 158, 149, 146,
+  153, 162, 153, 148, 147, 141, 146, 150, 144, 150, 149, 148, 145, 147, 149, 152,
+  154, 162, 169, 171, 169, 171, 169, 158, 144, 153, 156, 160, 163, 164, 161, 156,
+  152, 157, 153, 150, 152, 156, 157, 155, 151, 156, 160, 165, 165, 163, 160, 160,
+  160, 161, 162, 162, 162, 161, 160, 159, 158, 158, 158, 157, 154, 153, 153, 154,
+  151, 144, 144, 137, 130, 136, 144, 134, 115, 128, 119, 112, 114, 116, 117, 120,
+  124, 121, 131, 142, 134, 122, 127, 135, 128, 138, 161, 153, 158, 149, 166, 159,
+  170, 170, 171, 165, 164, 172, 164, 153, 152, 151, 120, 74, 75, 68, 63, 41,
+  49, 58, 74, 255, 255, 255, 255, 255, 255, 255, 113, 108, 115, 121, 117, 112,
+  110, 113, 113, 119, 129, 136, 139, 129, 143, 159, 170, 176, 180, 185, 189, 188,
+  187, 185, 181, 179, 176, 174, 171, 175, 166, 161, 160, 160, 158, 163, 172, 150,
+  146, 148, 154, 152, 157, 160, 151, 152, 156, 155, 153, 159, 169, 170, 165, 153,
+  164, 169, 165, 161, 160, 158, 154, 154, 155, 158, 160, 164, 164, 164, 162, 160,
+  154, 148, 148, 154, 160, 165, 165, 158, 160, 163, 162, 160, 159, 160, 162, 163,
+  163, 162, 162, 160, 160, 160, 160, 159, 158, 158, 157, 154, 152, 152, 150, 143,
+  143, 137, 130, 137, 147, 140, 123, 118, 112, 107, 108, 115, 123, 126, 127, 128,
+  128, 136, 139, 132, 136, 151, 156, 151, 157, 148, 156, 172, 183, 173, 174, 172,
+  173, 169, 170, 178, 174, 164, 162, 157, 130, 80, 72, 64, 64, 47, 54, 62,
+  136, 255, 255, 255, 255, 255, 255, 255, 110, 103, 116, 125, 120, 116, 121, 126,
+  126, 136, 149, 145, 130, 138, 149, 160, 168, 171, 173, 177, 180, 183, 181, 181,
+  180, 180, 177, 175, 171, 178, 168, 163, 166, 171, 172, 175, 178, 178, 167, 158,
+  144, 124, 114, 108, 95, 107, 99, 106, 129, 145, 149, 164, 185, 179, 171, 160,
+  151, 153, 160, 164, 161, 155, 154, 154, 155, 156, 159, 163, 165, 162, 157, 152,
+  152, 157, 163, 168, 169, 163, 163, 164, 162, 161, 161, 163, 165, 166, 165, 161,
+  160, 160, 160, 160, 161, 160, 160, 159, 157, 155, 152, 148, 145, 140, 140, 135,
+  128, 135, 148, 145, 131, 127, 124, 116, 109, 115, 125, 125, 117, 138, 129, 137,
+  149, 142, 135, 145, 154, 160, 156, 155, 161, 189, 183, 173, 168, 165, 166, 165,
+  168, 176, 177, 171, 164, 164, 146, 92, 71, 59, 71, 58, 59, 70, 255, 255,
+  255, 255, 255, 255, 255, 255, 107, 101, 119, 132, 129, 126, 128, 128, 126, 131,
+  136, 130, 121, 144, 150, 158, 164, 166, 167, 171, 173, 175, 176, 178, 178, 178,
+  176, 174, 170, 176, 171, 172, 178, 184, 182, 175, 169, 155, 140, 126, 110, 94,
+  94, 101, 97, 100, 101, 104, 101, 93, 92, 109, 131, 169, 166, 160, 155, 155,
+  157, 158, 157, 162, 160, 159, 156, 156, 157, 159, 161, 158, 158, 158, 160, 164,
+  164, 163, 160, 166, 166, 166, 165, 165, 164, 165, 165, 165, 164, 159, 157, 157,
+  158, 159, 160, 158, 159, 158, 157, 154, 149, 143, 140, 137, 137, 132, 123, 128,
+  141, 141, 131, 138, 137, 127, 114, 118, 130, 127, 115, 136, 133, 146, 157, 149,
+  140, 139, 137, 147, 149, 168, 176, 203, 180, 171, 170, 161, 157, 158, 163, 168,
+  176, 175, 162, 167, 159, 108, 75, 58, 77, 65, 62, 132, 255, 255, 255, 255,
+  255, 255, 255, 255, 103, 100, 118, 131, 130, 136, 132, 134, 140, 139, 132, 132,
+  137, 151, 155, 160, 166, 168, 170, 172, 173, 170, 171, 173, 174, 174, 173, 172,
+  168, 174, 171, 173, 180, 186, 184, 173, 162, 123, 114, 108, 104, 103, 119, 141,
+  146, 126, 159, 161, 116, 77, 73, 80, 77, 96, 113, 133, 146, 148, 144, 144,
+  146, 166, 165, 164, 162, 162, 161, 160, 160, 158, 158, 160, 162, 164, 163, 162,
+  160, 165, 165, 167, 168, 168, 166, 163, 161, 164, 162, 160, 158, 155, 156, 158,
+  159, 157, 157, 157, 156, 152, 148, 144, 138, 135, 138, 132, 120, 121, 133, 135,
+  126, 128, 131, 124, 115, 122, 137, 137, 125, 128, 137, 150, 155, 151, 154, 154,
+  139, 130, 138, 167, 185, 218, 194, 181, 176, 160, 152, 157, 161, 164, 177, 179,
+  162, 163, 164, 117, 78, 57, 80, 68, 57, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 101, 100, 112, 124, 127, 136, 134, 142, 151, 144, 130, 130, 143, 152,
+  157, 161, 166, 169, 171, 171, 171, 169, 170, 171, 171, 172, 170, 170, 167, 173,
+  170, 168, 168, 176, 180, 173, 167, 149, 143, 140, 134, 127, 132, 145, 143, 146,
+  158, 172, 159, 116, 77, 70, 84, 66, 63, 70, 96, 128, 146, 148, 144, 159,
+  159, 160, 161, 162, 161, 161, 160, 163, 161, 159, 159, 161, 164, 169, 171, 163,
+  163, 165, 167, 168, 166, 161, 157, 162, 161, 160, 158, 156, 157, 157, 158, 156,
+  156, 156, 155, 152, 149, 146, 142, 138, 142, 136, 121, 118, 127, 129, 121, 120,
+  122, 119, 114, 119, 130, 132, 127, 134, 140, 148, 146, 144, 156, 157, 141, 137,
+  141, 157, 178, 213, 201, 177, 159, 155, 145, 149, 154, 154, 176, 184, 162, 155,
+  161, 119, 80, 57, 76, 63, 53, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  104, 106, 113, 122, 129, 134, 138, 145, 143, 137, 131, 135, 141, 158, 161, 166,
+  170, 173, 174, 170, 171, 172, 172, 171, 170, 171, 169, 169, 167, 172, 169, 164,
+  160, 166, 173, 171, 168, 164, 160, 159, 153, 140, 137, 142, 136, 157, 146, 157,
+  172, 146, 96, 79, 97, 106, 84, 69, 86, 121, 147, 156, 154, 157, 157, 159,
+  160, 162, 163, 164, 165, 168, 167, 166, 165, 165, 167, 172, 174, 168, 166, 166,
+  166, 168, 167, 163, 160, 163, 162, 162, 161, 161, 161, 159, 158, 158, 157, 156,
+  156, 153, 152, 151, 149, 144, 149, 143, 127, 121, 128, 129, 122, 126, 125, 123,
+  121, 121, 122, 125, 127, 147, 144, 148, 150, 146, 150, 149, 136, 150, 159, 157,
+  173, 189, 192, 162, 149, 153, 139, 143, 149, 149, 175, 190, 166, 153, 160, 121,
+  82, 57, 74, 62, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 109, 115,
+  120, 129, 138, 135, 144, 144, 134, 134, 145, 156, 156, 167, 169, 174, 178, 182,
+  181, 177, 176, 175, 175, 174, 172, 170, 171, 170, 170, 169, 171, 166, 162, 164,
+  170, 168, 162, 165, 160, 160, 152, 138, 136, 142, 138, 131, 150, 157, 147, 148,
+  156, 142, 117, 136, 138, 140, 140, 134, 134, 148, 165, 165, 166, 165, 165, 167,
+  169, 172, 173, 171, 173, 176, 177, 175, 171, 169, 169, 175, 172, 168, 168, 170,
+  170, 170, 168, 163, 164, 164, 162, 164, 161, 160, 158, 159, 158, 157, 156, 155,
+  155, 156, 153, 147, 152, 147, 130, 123, 129, 130, 126, 130, 128, 128, 130, 127,
+  125, 129, 138, 150, 140, 149, 165, 163, 154, 147, 140, 150, 171, 165, 174, 171,
+  185, 168, 169, 157, 141, 146, 153, 153, 185, 203, 177, 156, 164, 125, 86, 59,
+  74, 63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 104, 111, 124, 132,
+  133, 148, 142, 133, 128, 130, 138, 148, 156, 162, 167, 173, 176, 176, 174, 173,
+  174, 174, 174, 174, 173, 174, 173, 173, 171, 176, 169, 164, 161, 162, 163, 159,
+  156, 152, 154, 154, 152, 149, 146, 143, 139, 136, 142, 148, 146, 142, 140, 144,
+  150, 168, 169, 169, 162, 153, 150, 150, 152, 170, 173, 174, 169, 168, 173, 187,
+  200, 187, 181, 177, 175, 179, 179, 175, 171, 170, 172, 174, 176, 175, 172, 170,
+  167, 170, 167, 165, 162, 162, 161, 162, 162, 158, 160, 160, 155, 151, 150, 152,
+  151, 152, 143, 145, 116, 120, 119, 136, 121, 124, 129, 127, 143, 122, 127, 127,
+  152, 168, 153, 148, 156, 157, 156, 148, 135, 172, 168, 165, 167, 172, 174, 172,
+  170, 159, 153, 142, 132, 164, 168, 224, 174, 159, 162, 129, 74, 77, 67, 136,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 111, 119, 130, 135, 136, 140,
+  135, 130, 130, 137, 147, 158, 164, 165, 169, 175, 177, 177, 174, 173, 174, 171,
+  174, 175, 176, 176, 175, 172, 170, 173, 172, 169, 166, 163, 159, 158, 157, 150,
+  151, 152, 153, 153, 153, 153, 152, 154, 159, 163, 161, 157, 157, 163, 167, 165,
+  166, 167, 165, 161, 160, 163, 167, 170, 177, 183, 182, 177, 175, 179, 187, 187,
+  182, 178, 176, 180, 180, 177, 173, 172, 172, 173, 174, 173, 171, 169, 167, 166,
+  163, 160, 159, 158, 158, 157, 158, 160, 160, 156, 153, 150, 150, 154, 155, 155,
+  149, 140, 120, 123, 123, 130, 125, 120, 124, 124, 144, 129, 131, 126, 143, 161,
+  163, 164, 168, 164, 152, 140, 137, 154, 165, 176, 184, 200, 208, 193, 170, 164,
+  157, 141, 137, 163, 173, 223, 180, 170, 170, 128, 69, 65, 57, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 117, 125, 133, 136, 136, 134, 131, 130,
+  135, 146, 157, 166, 169, 170, 173, 178, 178, 177, 174, 173, 175, 170, 172, 175,
+  176, 177, 174, 169, 167, 171, 173, 175, 169, 161, 154, 154, 156, 149, 150, 150,
+  151, 153, 155, 156, 157, 163, 165, 167, 165, 162, 164, 169, 174, 162, 163, 165,
+  164, 163, 165, 173, 178, 175, 182, 189, 188, 183, 178, 180, 182, 185, 181, 178,
+  177, 180, 180, 178, 175, 175, 174, 173, 171, 171, 170, 170, 169, 168, 165, 162,
+  161, 160, 160, 159, 159, 162, 161, 156, 152, 150, 151, 155, 156, 152, 155, 134,
+  126, 128, 129, 121, 134, 117, 123, 127, 146, 139, 137, 127, 132, 161, 175, 171,
+  163, 160, 151, 153, 176, 173, 187, 193, 183, 191, 205, 201, 183, 172, 164, 143,
+  142, 153, 170, 208, 172, 172, 170, 126, 72, 61, 124, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 119, 127, 130, 130, 129, 130, 129, 130, 139, 150,
+  159, 164, 164, 170, 173, 177, 176, 175, 174, 173, 176, 171, 174, 176, 175, 175,
+  173, 171, 168, 174, 174, 175, 171, 164, 158, 155, 154, 155, 155, 153, 152, 152,
+  153, 155, 155, 159, 162, 166, 164, 162, 163, 167, 171, 167, 166, 167, 165, 164,
+  166, 172, 176, 182, 183, 184, 181, 178, 177, 183, 186, 182, 179, 177, 176, 179,
+  179, 178, 178, 178, 176, 174, 171, 171, 170, 172, 171, 166, 165, 163, 162, 161,
+  161, 160, 159, 162, 160, 156, 153, 151, 150, 151, 149, 142, 155, 129, 129, 128,
+  129, 115, 146, 122, 127, 135, 148, 146, 139, 130, 130, 156, 177, 169, 156, 158,
+  147, 153, 191, 201, 213, 211, 192, 184, 194, 207, 209, 182, 173, 149, 147, 139,
+  160, 186, 158, 165, 160, 114, 75, 68, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 117, 125, 126, 124, 124, 126, 127, 132, 142, 152, 158, 162,
+  162, 170, 172, 174, 174, 173, 172, 174, 177, 177, 176, 174, 171, 171, 171, 171,
+  170, 177, 174, 172, 171, 170, 165, 159, 154, 163, 161, 160, 156, 155, 156, 157,
+  157, 158, 162, 167, 170, 169, 169, 170, 170, 175, 174, 175, 173, 172, 173, 176,
+  178, 185, 183, 181, 178, 176, 177, 180, 182, 179, 178, 178, 176, 176, 175, 175,
+  176, 178, 175, 172, 168, 168, 168, 169, 170, 161, 160, 159, 159, 158, 157, 155,
+  154, 156, 155, 153, 151, 149, 145, 141, 135, 129, 147, 128, 129, 124, 125, 117,
+  153, 126, 132, 144, 148, 146, 136, 134, 136, 144, 172, 170, 162, 163, 144, 135,
+  164, 158, 158, 162, 165, 165, 163, 169, 176, 188, 178, 162, 153, 136, 150, 169,
+  150, 165, 150, 94, 70, 67, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 116, 125, 122, 121, 125, 121, 127, 136, 145, 155, 161, 164, 165, 169,
+  170, 172, 171, 170, 171, 173, 177, 179, 178, 174, 172, 171, 171, 173, 174, 180,
+  176, 173, 172, 174, 172, 168, 161, 159, 157, 157, 157, 157, 155, 156, 156, 158,
+  162, 169, 172, 173, 172, 172, 171, 173, 171, 173, 174, 175, 176, 178, 179, 182,
+  181, 182, 182, 181, 178, 173, 170, 179, 178, 178, 176, 174, 174, 175, 175, 174,
+  172, 169, 166, 165, 165, 165, 165, 161, 161, 160, 160, 159, 158, 155, 154, 150,
+  150, 148, 148, 147, 142, 135, 127, 124, 138, 132, 127, 123, 126, 128, 154, 131,
+  136, 150, 144, 147, 136, 142, 143, 149, 166, 166, 161, 159, 148, 146, 168, 171,
+  151, 145, 159, 176, 174, 171, 171, 184, 175, 180, 160, 143, 147, 166, 152, 181,
+  152, 82, 66, 130, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  115, 125, 125, 127, 133, 123, 133, 145, 154, 159, 163, 167, 171, 173, 173, 172,
+  170, 169, 169, 173, 177, 179, 178, 177, 174, 174, 172, 172, 172, 180, 178, 176,
+  174, 175, 174, 174, 172, 161, 159, 160, 161, 161, 160, 160, 159, 160, 162, 166,
+  169, 171, 171, 172, 171, 168, 168, 172, 175, 178, 180, 182, 182, 182, 182, 184,
+  186, 187, 183, 175, 169, 180, 181, 180, 177, 175, 173, 174, 175, 175, 173, 170,
+  167, 165, 164, 163, 163, 162, 163, 162, 162, 161, 160, 157, 156, 152, 151, 148,
+  149, 149, 147, 141, 133, 131, 135, 139, 123, 126, 130, 143, 146, 137, 138, 152,
+  144, 156, 147, 155, 151, 156, 161, 163, 159, 151, 151, 168, 190, 189, 168, 151,
+  148, 158, 164, 165, 165, 177, 168, 193, 162, 150, 141, 164, 154, 182, 150, 73,
+  129, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 117, 127,
+  129, 133, 142, 130, 141, 154, 160, 163, 162, 167, 173, 176, 176, 174, 171, 168,
+  168, 172, 175, 177, 178, 178, 177, 176, 174, 172, 171, 178, 181, 181, 179, 176,
+  174, 178, 182, 173, 172, 173, 172, 173, 169, 168, 165, 164, 165, 167, 168, 172,
+  172, 174, 174, 172, 173, 176, 181, 185, 186, 187, 186, 183, 182, 181, 183, 187,
+  188, 183, 179, 184, 183, 181, 178, 175, 173, 174, 175, 177, 176, 174, 171, 169,
+  167, 166, 165, 158, 159, 159, 159, 158, 156, 153, 152, 157, 155, 151, 152, 154,
+  154, 150, 144, 141, 135, 143, 122, 131, 136, 155, 139, 145, 142, 155, 147, 167,
+  159, 170, 161, 149, 154, 168, 169, 152, 147, 163, 175, 189, 190, 181, 165, 156,
+  163, 169, 168, 172, 163, 200, 162, 153, 132, 159, 149, 162, 133, 64, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 110, 120, 129, 141, 139,
+  125, 140, 152, 161, 161, 161, 165, 170, 170, 175, 174, 173, 172, 171, 171, 171,
+  172, 176, 178, 178, 178, 178, 177, 177, 178, 177, 180, 183, 185, 185, 182, 178,
+  173, 176, 175, 174, 172, 172, 170, 170, 167, 166, 170, 177, 177, 175, 173, 175,
+  176, 180, 180, 181, 182, 184, 185, 188, 189, 196, 200, 197, 188, 184, 186, 183,
+  177, 178, 178, 179, 178, 179, 177, 175, 173, 173, 175, 177, 174, 169, 166, 166,
+  168, 165, 163, 161, 160, 159, 160, 160, 161, 157, 155, 151, 149, 149, 149, 150,
+  148, 143, 125, 130, 134, 141, 147, 136, 142, 146, 148, 150, 152, 160, 168, 172,
+  168, 154, 150, 151, 156, 155, 154, 161, 174, 180, 199, 186, 163, 163, 162, 156,
+  161, 168, 170, 176, 189, 159, 128, 146, 160, 160, 116, 126, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 112, 124, 130, 137, 136, 129, 149,
+  156, 162, 161, 165, 171, 173, 170, 175, 174, 173, 172, 171, 171, 171, 172, 177,
+  177, 179, 177, 178, 179, 180, 180, 183, 181, 184, 187, 188, 187, 183, 180, 184,
+  182, 181, 178, 176, 173, 171, 169, 169, 174, 179, 177, 175, 174, 177, 180, 181,
+  182, 184, 187, 189, 190, 189, 189, 190, 193, 192, 187, 188, 190, 189, 184, 179,
+  179, 179, 179, 180, 178, 176, 174, 172, 174, 175, 172, 168, 165, 165, 166, 169,
+  168, 164, 161, 160, 159, 157, 157, 155, 156, 155, 154, 152, 151, 150, 148, 139,
+  127, 137, 135, 138, 139, 130, 140, 151, 153, 154, 157, 165, 174, 176, 174, 163,
+  154, 150, 150, 151, 149, 157, 168, 178, 194, 192, 173, 168, 167, 166, 168, 166,
+  167, 172, 185, 160, 133, 150, 159, 149, 100, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 114, 130, 133, 131, 133, 135, 158, 160, 162,
+  162, 168, 174, 175, 170, 178, 177, 176, 175, 173, 173, 173, 173, 176, 176, 178,
+  177, 179, 180, 182, 183, 186, 182, 181, 184, 189, 191, 187, 182, 189, 186, 186,
+  182, 181, 177, 176, 174, 174, 177, 180, 179, 177, 178, 182, 184, 178, 180, 185,
+  189, 190, 191, 188, 187, 187, 190, 191, 189, 190, 192, 191, 188, 181, 181, 181,
+  180, 179, 178, 176, 175, 173, 174, 173, 171, 167, 165, 164, 166, 169, 168, 165,
+  162, 160, 159, 157, 157, 153, 157, 159, 159, 155, 151, 150, 149, 134, 129, 141,
+  135, 130, 131, 126, 141, 154, 156, 159, 161, 170, 179, 181, 179, 181, 164, 151,
+  148, 150, 151, 159, 169, 178, 188, 198, 188, 172, 168, 172, 168, 162, 168, 171,
+  181, 158, 137, 153, 155, 134, 140, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 114, 132, 131, 124, 131, 140, 162, 163, 163, 164, 167,
+  168, 170, 170, 179, 177, 176, 175, 173, 173, 174, 174, 174, 175, 175, 177, 178,
+  179, 183, 182, 184, 178, 175, 179, 186, 190, 186, 181, 183, 182, 182, 181, 181,
+  180, 180, 178, 177, 177, 178, 177, 177, 178, 182, 184, 172, 174, 178, 181, 184,
+  184, 183, 182, 187, 189, 189, 188, 188, 187, 185, 183, 180, 180, 179, 178, 177,
+  176, 175, 174, 174, 174, 173, 171, 168, 166, 165, 165, 163, 163, 161, 160, 160,
+  159, 158, 158, 153, 157, 159, 158, 154, 150, 149, 149, 136, 130, 139, 130, 126,
+  131, 129, 143, 154, 156, 160, 163, 172, 182, 185, 182, 191, 169, 149, 147, 150,
+  154, 161, 170, 176, 181, 202, 201, 175, 166, 169, 161, 159, 171, 174, 174, 152,
+  139, 154, 149, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 114, 132, 129, 123, 135, 146, 160, 163, 165, 165, 163, 161, 165,
+  168, 173, 172, 171, 170, 169, 170, 171, 171, 174, 172, 173, 174, 176, 177, 180,
+  180, 183, 177, 174, 175, 183, 187, 184, 181, 179, 179, 178, 178, 178, 176, 176,
+  176, 176, 174, 173, 173, 173, 175, 179, 182, 173, 172, 174, 176, 178, 180, 183,
+  184, 187, 187, 187, 188, 188, 184, 182, 181, 179, 178, 177, 176, 175, 174, 172,
+  172, 172, 171, 169, 168, 166, 164, 160, 161, 160, 161, 159, 159, 158, 156, 154,
+  154, 154, 156, 155, 154, 150, 147, 147, 149, 140, 131, 134, 124, 125, 137, 137,
+  148, 152, 154, 157, 161, 170, 180, 184, 181, 185, 162, 142, 142, 149, 155, 161,
+  168, 167, 172, 197, 203, 177, 161, 161, 154, 153, 171, 174, 168, 147, 139, 155,
+  144, 88, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 113, 128, 127, 128, 143, 152, 160, 165, 167, 167, 162, 157, 160, 167, 165,
+  165, 164, 164, 164, 166, 167, 168, 173, 172, 172, 173, 175, 177, 179, 180, 184,
+  178, 176, 179, 184, 187, 185, 183, 181, 182, 179, 177, 176, 174, 173, 171, 172,
+  172, 169, 169, 171, 173, 176, 177, 176, 174, 175, 177, 179, 182, 187, 188, 183,
+  182, 183, 187, 189, 184, 182, 183, 178, 177, 175, 174, 173, 172, 171, 171, 169,
+  167, 165, 163, 163, 161, 157, 157, 162, 163, 160, 158, 156, 152, 149, 147, 155,
+  154, 151, 150, 148, 147, 146, 145, 142, 132, 133, 121, 127, 145, 145, 150, 151,
+  154, 157, 161, 171, 180, 182, 180, 178, 159, 144, 149, 158, 164, 167, 172, 161,
+  166, 187, 194, 178, 159, 155, 156, 153, 171, 170, 159, 145, 146, 156, 130, 128,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 116,
+  126, 129, 139, 154, 160, 165, 166, 169, 172, 166, 160, 159, 164, 162, 162, 162,
+  164, 166, 168, 169, 169, 175, 173, 173, 173, 174, 176, 177, 178, 182, 180, 180,
+  182, 184, 185, 183, 182, 183, 185, 183, 182, 181, 177, 176, 175, 176, 175, 174,
+  175, 175, 178, 180, 180, 178, 177, 180, 183, 188, 189, 190, 191, 183, 180, 185,
+  191, 191, 185, 183, 185, 179, 177, 175, 173, 172, 172, 171, 171, 170, 167, 164,
+  163, 161, 160, 157, 156, 162, 163, 161, 159, 156, 153, 148, 146, 155, 153, 149,
+  150, 152, 150, 144, 141, 139, 132, 135, 123, 129, 146, 145, 151, 152, 155, 158,
+  162, 171, 180, 181, 178, 170, 158, 150, 160, 170, 173, 174, 177, 166, 171, 178,
+  181, 176, 155, 148, 161, 165, 176, 164, 150, 144, 152, 150, 108, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 113, 119, 125, 130,
+  145, 162, 163, 171, 168, 168, 171, 172, 165, 160, 159, 164, 163, 165, 166, 168,
+  171, 172, 174, 175, 175, 175, 175, 176, 177, 178, 178, 179, 180, 181, 183, 184,
+  182, 182, 181, 183, 185, 185, 185, 185, 183, 183, 182, 182, 181, 181, 180, 183,
+  185, 186, 185, 178, 178, 185, 190, 192, 193, 191, 190, 186, 183, 187, 193, 192,
+  185, 182, 184, 179, 177, 176, 173, 173, 171, 172, 172, 173, 170, 167, 166, 164,
+  163, 160, 159, 159, 160, 160, 159, 158, 155, 152, 151, 154, 151, 148, 152, 156,
+  154, 144, 137, 134, 131, 138, 127, 129, 144, 142, 148, 154, 158, 161, 166, 175,
+  183, 183, 181, 164, 154, 152, 164, 175, 175, 175, 175, 178, 182, 174, 174, 174,
+  152, 142, 164, 180, 183, 160, 144, 143, 154, 142, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 113, 116, 127, 143, 157, 164,
+  166, 175, 175, 171, 170, 169, 167, 165, 161, 164, 164, 162, 160, 160, 165, 170,
+  170, 178, 176, 176, 177, 179, 179, 179, 178, 180, 188, 186, 184, 189, 181, 177,
+  182, 176, 180, 185, 186, 184, 179, 178, 178, 179, 181, 185, 184, 180, 177, 177,
+  179, 189, 194, 197, 191, 190, 193, 194, 191, 179, 182, 185, 186, 186, 183, 179,
+  176, 175, 175, 176, 173, 173, 170, 169, 169, 169, 166, 162, 159, 159, 159, 158,
+  159, 158, 159, 159, 159, 158, 157, 156, 155, 150, 154, 155, 153, 152, 154, 150,
+  142, 131, 145, 148, 135, 126, 135, 149, 155, 166, 158, 158, 170, 181, 181, 175,
+  172, 161, 151, 160, 177, 177, 173, 176, 174, 176, 177, 174, 164, 153, 150, 158,
+  169, 170, 178, 148, 149, 159, 152, 129, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 117, 123, 135, 151, 162, 167, 168, 173,
+  172, 168, 166, 164, 165, 163, 164, 166, 166, 163, 161, 162, 166, 170, 171, 171,
+  172, 175, 179, 183, 185, 186, 185, 189, 196, 194, 190, 192, 186, 180, 185, 178,
+  180, 182, 181, 177, 176, 177, 179, 184, 184, 184, 186, 188, 188, 187, 185, 188,
+  192, 195, 191, 188, 189, 187, 183, 184, 185, 187, 188, 187, 184, 181, 179, 177,
+  177, 176, 175, 174, 173, 173, 172, 169, 167, 163, 162, 161, 161, 159, 159, 158,
+  160, 160, 160, 158, 158, 157, 156, 148, 152, 154, 153, 153, 155, 152, 145, 136,
+  147, 149, 138, 132, 141, 155, 159, 160, 155, 164, 184, 193, 182, 167, 162, 155,
+  159, 174, 180, 159, 145, 151, 160, 154, 155, 159, 162, 167, 172, 176, 180, 169,
+  163, 158, 154, 156, 148, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 120, 129, 142, 157, 168, 170, 170, 171, 169, 166,
+  164, 163, 165, 165, 167, 164, 162, 161, 159, 160, 163, 166, 168, 168, 169, 174,
+  179, 183, 186, 187, 188, 195, 201, 196, 191, 191, 185, 179, 186, 186, 186, 184,
+  181, 178, 179, 182, 185, 185, 182, 179, 182, 188, 191, 190, 187, 186, 190, 195,
+  194, 192, 191, 188, 184, 188, 188, 188, 187, 186, 184, 182, 181, 179, 178, 178,
+  177, 177, 176, 176, 175, 169, 167, 165, 164, 163, 162, 158, 158, 158, 159, 160,
+  160, 159, 158, 157, 156, 151, 153, 152, 151, 152, 153, 150, 144, 142, 149, 148,
+  141, 139, 149, 159, 160, 162, 158, 171, 192, 192, 169, 151, 149, 162, 164, 177,
+  177, 152, 137, 145, 155, 159, 156, 160, 170, 184, 189, 182, 175, 167, 149, 168,
+  162, 155, 177, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 121, 133, 144, 159, 167, 168, 168, 166, 166, 168, 165, 166,
+  164, 166, 168, 163, 159, 158, 160, 161, 162, 163, 165, 166, 167, 169, 172, 174,
+  176, 180, 183, 192, 198, 193, 188, 189, 182, 177, 183, 187, 187, 184, 182, 180,
+  181, 183, 186, 184, 181, 178, 179, 183, 187, 188, 187, 184, 186, 190, 190, 189,
+  188, 188, 187, 189, 188, 186, 184, 182, 181, 180, 180, 177, 177, 177, 176, 176,
+  175, 175, 175, 167, 166, 164, 164, 163, 160, 156, 155, 156, 157, 158, 158, 157,
+  156, 156, 155, 156, 155, 152, 151, 150, 148, 143, 139, 143, 145, 143, 139, 141,
+  150, 156, 155, 164, 162, 175, 190, 181, 155, 147, 157, 164, 155, 159, 165, 159,
+  158, 161, 161, 169, 165, 164, 174, 184, 183, 171, 157, 164, 150, 169, 172, 151,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 119, 132, 145, 156, 163, 164, 163, 160, 164, 169, 168, 167, 165, 164,
+  164, 166, 159, 157, 161, 163, 161, 162, 163, 161, 160, 160, 160, 161, 165, 173,
+  179, 183, 191, 187, 183, 186, 181, 177, 183, 179, 180, 179, 179, 179, 179, 179,
+  179, 186, 186, 185, 183, 181, 182, 186, 189, 184, 182, 182, 181, 179, 177, 178,
+  181, 186, 185, 182, 180, 178, 177, 177, 177, 174, 174, 173, 173, 172, 171, 171,
+  171, 165, 163, 162, 161, 160, 157, 153, 151, 153, 153, 154, 154, 155, 154, 153,
+  152, 156, 154, 150, 149, 148, 145, 139, 137, 143, 142, 139, 138, 142, 149, 152,
+  150, 154, 159, 175, 184, 168, 144, 145, 162, 144, 136, 146, 163, 172, 176, 174,
+  163, 159, 158, 159, 166, 172, 170, 162, 153, 161, 164, 159, 170, 179, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  123, 134, 145, 155, 160, 161, 160, 160, 166, 171, 173, 169, 164, 162, 162, 163,
+  154, 153, 159, 162, 158, 156, 159, 155, 156, 157, 155, 156, 159, 167, 174, 175,
+  184, 183, 182, 186, 183, 178, 184, 177, 178, 179, 182, 183, 183, 181, 179, 184,
+  186, 186, 182, 178, 177, 182, 186, 191, 185, 182, 180, 176, 172, 173, 177, 183,
+  182, 180, 178, 177, 176, 176, 175, 173, 173, 172, 171, 169, 168, 167, 167, 163,
+  161, 159, 157, 156, 154, 150, 147, 150, 151, 152, 153, 153, 153, 151, 151, 153,
+  147, 146, 148, 149, 146, 142, 142, 147, 144, 141, 142, 145, 149, 150, 149, 148,
+  160, 176, 177, 156, 131, 128, 138, 133, 139, 162, 180, 182, 180, 176, 164, 155,
+  157, 161, 162, 163, 162, 160, 157, 161, 169, 152, 187, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 129, 140,
+  150, 157, 162, 162, 162, 169, 174, 179, 180, 173, 168, 166, 168, 165, 156, 153,
+  161, 165, 159, 156, 159, 157, 158, 161, 159, 157, 158, 161, 166, 168, 178, 179,
+  180, 185, 180, 174, 181, 180, 180, 181, 184, 187, 189, 187, 185, 185, 185, 183,
+  182, 180, 180, 182, 182, 191, 186, 184, 185, 181, 175, 175, 180, 182, 182, 181,
+  180, 179, 178, 178, 177, 175, 175, 173, 171, 169, 167, 166, 165, 164, 161, 157,
+  155, 153, 152, 149, 147, 150, 151, 152, 153, 152, 152, 152, 152, 153, 148, 146,
+  149, 150, 146, 144, 146, 149, 146, 145, 146, 148, 148, 149, 149, 156, 168, 178,
+  175, 159, 144, 138, 136, 155, 160, 179, 189, 185, 181, 177, 165, 162, 164, 165,
+  165, 163, 162, 161, 161, 161, 161, 148, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 126, 135, 145, 154, 160,
+  165, 165, 163, 181, 185, 187, 185, 177, 174, 173, 176, 175, 165, 162, 170, 175,
+  169, 165, 167, 163, 166, 168, 166, 160, 157, 158, 158, 164, 173, 176, 178, 183,
+  177, 170, 177, 179, 178, 177, 180, 184, 187, 187, 186, 193, 189, 185, 186, 189,
+  191, 189, 185, 181, 177, 179, 184, 183, 177, 177, 182, 183, 183, 183, 183, 183,
+  181, 180, 180, 178, 177, 175, 173, 171, 168, 167, 166, 165, 162, 157, 154, 152,
+  151, 149, 148, 150, 151, 152, 153, 153, 153, 153, 151, 158, 152, 148, 152, 151,
+  146, 143, 145, 150, 147, 146, 147, 148, 146, 147, 148, 164, 173, 180, 178, 177,
+  179, 178, 172, 186, 177, 178, 180, 179, 181, 178, 163, 157, 159, 161, 160, 161,
+  162, 163, 164, 160, 185, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 113, 135, 150, 155, 156, 161, 164,
+  164, 202, 206, 194, 181, 180, 177, 169, 168, 162, 166, 170, 170, 170, 169, 171,
+  172, 163, 162, 163, 163, 164, 164, 160, 156, 161, 170, 179, 181, 179, 180, 177,
+  176, 179, 176, 175, 179, 181, 182, 187, 193, 186, 188, 186, 184, 187, 192, 193,
+  188, 188, 184, 181, 181, 182, 184, 184, 183, 181, 181, 182, 182, 181, 180, 178,
+  177, 177, 172, 167, 167, 170, 172, 170, 167, 161, 160, 158, 155, 153, 150, 148,
+  147, 143, 150, 157, 159, 156, 154, 153, 155, 152, 152, 152, 148, 142, 139, 140,
+  145, 150, 149, 149, 150, 146, 141, 145, 151, 162, 168, 175, 176, 175, 176, 182,
+  187, 177, 180, 183, 182, 182, 180, 173, 164, 157, 151, 160, 168, 165, 165, 166,
+  162, 165, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 113, 133, 149, 157, 161, 169, 175, 176, 211,
+  210, 192, 176, 176, 176, 171, 173, 169, 169, 170, 172, 176, 177, 177, 175, 167,
+  168, 169, 164, 159, 157, 158, 160, 162, 170, 176, 177, 179, 179, 177, 174, 182,
+  179, 178, 180, 181, 181, 185, 190, 188, 191, 190, 186, 186, 189, 190, 187, 190,
+  185, 183, 182, 183, 184, 183, 183, 184, 183, 182, 180, 179, 179, 179, 180, 176,
+  172, 168, 168, 171, 172, 170, 166, 163, 161, 159, 156, 153, 151, 150, 150, 150,
+  156, 161, 161, 157, 151, 151, 152, 152, 153, 153, 150, 144, 142, 143, 145, 151,
+  149, 150, 150, 146, 142, 146, 153, 164, 167, 170, 169, 167, 167, 172, 175, 174,
+  177, 180, 177, 180, 180, 177, 170, 168, 152, 151, 159, 162, 162, 160, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 116, 132, 146, 155, 163, 171, 178, 179, 192, 192, 177,
+  168, 174, 177, 174, 175, 174, 171, 168, 173, 182, 184, 181, 175, 172, 173, 172,
+  166, 157, 155, 159, 165, 160, 166, 172, 175, 179, 182, 179, 173, 184, 180, 179,
+  181, 180, 179, 182, 187, 189, 194, 194, 189, 185, 186, 187, 186, 191, 186, 184,
+  183, 183, 183, 182, 181, 185, 183, 181, 178, 178, 178, 180, 181, 173, 171, 168,
+  169, 171, 171, 168, 164, 164, 162, 159, 155, 153, 152, 152, 153, 156, 159, 161,
+  160, 156, 152, 152, 152, 152, 153, 151, 149, 146, 145, 146, 148, 151, 150, 150,
+  150, 146, 142, 147, 154, 168, 167, 168, 168, 168, 169, 172, 173, 179, 180, 182,
+  178, 181, 182, 180, 175, 173, 153, 149, 159, 164, 161, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 120, 131, 140, 147, 154, 163, 168, 171, 170, 172, 167, 166, 177,
+  176, 167, 168, 172, 169, 170, 173, 179, 181, 179, 176, 173, 173, 173, 166, 160,
+  158, 160, 164, 157, 162, 168, 172, 180, 186, 183, 176, 181, 177, 176, 179, 179,
+  178, 180, 184, 187, 194, 196, 190, 185, 185, 187, 186, 189, 185, 183, 182, 182,
+  181, 180, 178, 181, 181, 179, 178, 177, 177, 177, 177, 170, 168, 168, 168, 169,
+  168, 164, 161, 164, 161, 157, 153, 151, 152, 153, 154, 155, 158, 159, 158, 156,
+  154, 154, 155, 151, 151, 149, 148, 147, 147, 148, 148, 149, 148, 148, 148, 145,
+  141, 147, 154, 165, 165, 168, 172, 177, 179, 179, 178, 182, 185, 184, 180, 181,
+  180, 176, 168, 163, 148, 149, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 123, 128, 133, 139, 147, 153, 158, 161, 172, 173, 165, 163, 172, 167, 157,
+  158, 166, 169, 172, 173, 174, 174, 176, 177, 172, 170, 167, 163, 160, 157, 154,
+  152, 154, 159, 164, 168, 177, 184, 182, 175, 174, 171, 171, 175, 176, 176, 179,
+  183, 183, 191, 194, 190, 185, 185, 188, 187, 186, 182, 181, 180, 180, 179, 177,
+  175, 175, 176, 178, 178, 178, 175, 173, 171, 167, 167, 166, 166, 166, 164, 161,
+  159, 161, 159, 155, 152, 150, 151, 153, 154, 154, 155, 156, 155, 154, 153, 152,
+  153, 148, 147, 146, 145, 145, 145, 145, 146, 147, 146, 145, 145, 142, 139, 145,
+  153, 160, 163, 169, 176, 181, 182, 180, 177, 179, 181, 182, 179, 179, 176, 168,
+  159, 154, 182, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 126,
+  125, 126, 134, 142, 149, 154, 159, 166, 165, 154, 150, 157, 155, 153, 164, 164,
+  168, 171, 170, 168, 169, 170, 173, 169, 167, 162, 158, 156, 153, 148, 143, 153,
+  159, 165, 169, 175, 180, 179, 172, 169, 166, 168, 173, 175, 175, 178, 183, 180,
+  187, 190, 188, 185, 187, 188, 186, 183, 180, 179, 179, 179, 178, 176, 173, 171,
+  173, 176, 178, 177, 174, 170, 167, 167, 167, 166, 165, 163, 162, 160, 159, 159,
+  157, 154, 152, 151, 151, 153, 154, 159, 157, 155, 153, 151, 150, 149, 149, 147,
+  145, 143, 143, 143, 144, 144, 144, 145, 144, 144, 143, 140, 138, 145, 153, 165,
+  169, 176, 181, 182, 180, 178, 175, 177, 180, 182, 182, 181, 177, 169, 191, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 129, 124, 122,
+  129, 139, 144, 149, 154, 153, 153, 145, 143, 149, 147, 151, 169, 162, 163, 163,
+  163, 164, 164, 163, 162, 165, 163, 160, 155, 152, 150, 153, 154, 162, 169, 175,
+  176, 177, 179, 179, 175, 168, 166, 167, 173, 175, 175, 177, 182, 181, 185, 187,
+  185, 185, 188, 186, 181, 181, 179, 178, 179, 180, 179, 177, 174, 173, 174, 175,
+  176, 175, 173, 170, 168, 169, 169, 167, 165, 163, 161, 161, 162, 157, 157, 155,
+  154, 153, 153, 154, 154, 159, 157, 154, 152, 150, 150, 150, 150, 148, 146, 143,
+  143, 143, 144, 143, 142, 146, 144, 144, 143, 140, 138, 146, 154, 168, 172, 178,
+  178, 176, 173, 174, 176, 178, 180, 180, 177, 175, 172, 194, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 214, 122, 117, 123, 133,
+  139, 144, 149, 152, 155, 152, 153, 153, 146, 146, 161, 161, 157, 153, 155, 160,
+  161, 156, 151, 157, 161, 160, 156, 151, 153, 163, 171, 170, 178, 185, 183, 180,
+  180, 179, 177, 169, 167, 169, 174, 176, 175, 177, 179, 182, 184, 185, 184, 185,
+  186, 184, 177, 179, 178, 178, 180, 181, 181, 178, 176, 176, 176, 175, 175, 174,
+  173, 172, 172, 171, 171, 169, 166, 163, 164, 165, 166, 159, 159, 159, 156, 156,
+  155, 155, 155, 156, 154, 151, 151, 151, 153, 155, 155, 152, 147, 145, 143, 145,
+  146, 144, 141, 147, 145, 144, 144, 141, 139, 145, 153, 162, 166, 169, 167, 163,
+  162, 167, 172, 175, 174, 171, 163, 191, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 132, 120, 109, 125, 135, 138,
+  151, 152, 151, 148, 144, 143, 147, 155, 163, 155, 156, 158, 161, 163, 164, 164,
+  163, 154, 146, 143, 150, 161, 168, 174, 178, 176, 178, 180, 181, 182, 181, 180,
+  179, 173, 170, 168, 170, 174, 179, 179, 179, 180, 181, 184, 187, 189, 187, 188,
+  185, 179, 179, 178, 177, 177, 178, 178, 179, 180, 175, 172, 172, 176, 176, 173,
+  168, 170, 169, 169, 169, 168, 167, 164, 161, 163, 161, 158, 155, 155, 155, 155,
+  156, 156, 153, 150, 151, 155, 157, 153, 149, 147, 143, 145, 150, 151, 147, 144,
+  144, 147, 145, 142, 137, 134, 135, 140, 144, 154, 157, 156, 152, 152, 157, 161,
+  162, 160, 157, 155, 185, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 129, 116, 106, 124, 135, 137, 140, 142,
+  143, 147, 150, 149, 148, 151, 154, 155, 160, 165, 166, 165, 164, 164, 166, 167,
+  164, 166, 174, 180, 179, 178, 178, 179, 178, 177, 176, 178, 178, 178, 178, 179,
+  174, 169, 169, 171, 177, 178, 180, 178, 180, 182, 185, 184, 184, 184, 183, 181,
+  180, 179, 178, 177, 177, 178, 178, 180, 176, 173, 173, 176, 177, 174, 170, 170,
+  170, 172, 172, 173, 170, 166, 163, 164, 161, 159, 158, 157, 158, 157, 158, 159,
+  155, 151, 151, 155, 157, 155, 152, 148, 144, 144, 148, 149, 145, 143, 143, 145,
+  143, 140, 136, 135, 136, 138, 140, 118, 129, 137, 139, 138, 138, 136, 132, 135,
+  175, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 212, 116, 109, 124, 136, 135, 131, 124, 128, 134,
+  139, 140, 139, 141, 140, 152, 159, 167, 168, 165, 161, 164, 169, 172, 171, 175,
+  181, 183, 179, 177, 178, 181, 180, 177, 174, 175, 175, 176, 177, 181, 176, 169,
+  167, 169, 174, 177, 180, 178, 180, 181, 183, 184, 184, 181, 180, 182, 181, 179,
+  178, 177, 176, 176, 176, 179, 176, 173, 174, 176, 177, 174, 171, 169, 171, 175,
+  176, 176, 171, 164, 158, 157, 158, 158, 159, 159, 160, 158, 157, 161, 156, 152,
+  152, 155, 156, 155, 153, 151, 146, 144, 147, 147, 144, 142, 143, 143, 140, 137,
+  135, 134, 134, 133, 132, 123, 137, 150, 153, 151, 149, 146, 142, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 118, 113, 121, 131, 134, 127, 116, 113, 115, 117, 122,
+  129, 138, 143, 148, 153, 160, 161, 161, 162, 164, 167, 167, 165, 167, 170, 171,
+  170, 175, 181, 178, 177, 175, 174, 175, 175, 175, 176, 177, 173, 169, 167, 168,
+  170, 175, 177, 179, 180, 181, 182, 182, 182, 180, 179, 181, 180, 178, 176, 174,
+  173, 173, 172, 176, 174, 172, 173, 174, 174, 173, 170, 169, 170, 173, 176, 174,
+  166, 157, 150, 151, 153, 155, 158, 158, 157, 155, 154, 158, 156, 154, 154, 156,
+  156, 153, 151, 154, 148, 145, 146, 146, 143, 141, 142, 141, 138, 133, 131, 130,
+  128, 125, 122, 135, 145, 152, 151, 147, 148, 186, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 122, 116, 112, 121, 130, 124, 114, 109, 110, 113, 122, 133, 147,
+  153, 147, 147, 149, 154, 162, 165, 165, 163, 162, 162, 164, 168, 169, 168, 173,
+  179, 172, 173, 174, 175, 177, 176, 175, 174, 168, 168, 168, 167, 168, 170, 173,
+  174, 180, 181, 180, 181, 182, 182, 180, 180, 180, 178, 176, 174, 172, 171, 170,
+  170, 172, 171, 170, 170, 171, 171, 170, 169, 169, 169, 170, 171, 168, 160, 150,
+  143, 146, 148, 151, 155, 156, 154, 152, 152, 153, 154, 155, 156, 156, 154, 150,
+  147, 151, 145, 142, 143, 143, 139, 138, 139, 139, 135, 130, 126, 123, 121, 119,
+  118, 138, 145, 147, 143, 139, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 211, 112, 103, 113, 125, 118, 108, 105, 108, 117, 128, 141, 149, 154, 154,
+  150, 147, 151, 161, 167, 165, 164, 160, 162, 165, 171, 173, 168, 167, 167, 169,
+  170, 173, 174, 177, 176, 174, 173, 165, 165, 168, 169, 169, 170, 171, 173, 179,
+  179, 179, 180, 181, 182, 181, 181, 179, 177, 175, 173, 171, 170, 170, 169, 169,
+  169, 169, 169, 169, 169, 169, 169, 169, 168, 167, 164, 162, 156, 149, 143, 146,
+  147, 151, 153, 154, 154, 153, 152, 153, 154, 156, 157, 155, 152, 149, 147, 145,
+  140, 138, 140, 140, 136, 133, 134, 136, 133, 128, 121, 116, 116, 120, 123, 141,
+  147, 151, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  106, 95, 111, 129, 121, 106, 103, 108, 118, 129, 142, 148, 150, 158, 154, 151,
+  152, 157, 160, 163, 164, 163, 161, 161, 167, 170, 167, 164, 164, 171, 172, 172,
+  172, 174, 173, 173, 172, 168, 168, 169, 169, 167, 168, 172, 175, 175, 176, 176,
+  177, 179, 181, 182, 183, 179, 178, 176, 174, 173, 172, 172, 172, 168, 169, 170,
+  169, 169, 169, 169, 170, 170, 167, 164, 161, 160, 156, 153, 149, 150, 152, 154,
+  156, 156, 157, 156, 154, 156, 156, 155, 154, 152, 150, 150, 150, 142, 138, 137,
+  140, 140, 136, 132, 132, 131, 130, 126, 119, 113, 116, 126, 136, 138, 179, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 98, 93,
+  115, 137, 125, 114, 109, 109, 116, 128, 142, 151, 154, 160, 158, 155, 152, 152,
+  153, 158, 164, 172, 164, 158, 160, 166, 169, 171, 173, 176, 174, 172, 169, 170,
+  170, 171, 170, 173, 172, 172, 169, 166, 167, 172, 177, 173, 173, 174, 175, 177,
+  179, 181, 182, 180, 179, 177, 176, 175, 174, 174, 174, 169, 170, 171, 170, 169,
+  169, 170, 170, 170, 164, 162, 160, 161, 159, 159, 157, 155, 156, 157, 157, 159,
+  159, 158, 158, 161, 159, 155, 151, 149, 149, 152, 155, 143, 140, 140, 144, 144,
+  139, 135, 135, 128, 129, 126, 117, 112, 117, 133, 147, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 78, 90, 117, 132,
+  126, 115, 99, 110, 126, 125, 139, 158, 159, 163, 158, 154, 155, 160, 164, 162,
+  162, 166, 169, 170, 171, 169, 166, 163, 160, 170, 169, 168, 168, 171, 173, 175,
+  174, 174, 171, 173, 172, 172, 172, 172, 173, 179, 179, 179, 179, 179, 179, 179,
+  179, 176, 176, 176, 175, 174, 173, 171, 170, 169, 168, 167, 169, 171, 173, 173,
+  170, 167, 166, 167, 164, 160, 158, 157, 157, 159, 159, 159, 158, 158, 158, 157,
+  157, 153, 154, 155, 156, 155, 154, 152, 151, 147, 145, 142, 141, 139, 137, 133,
+  130, 130, 128, 121, 115, 121, 135, 143, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 90, 115, 128, 121, 122,
+  109, 109, 119, 129, 143, 161, 167, 163, 158, 155, 154, 159, 163, 163, 162, 160,
+  164, 166, 166, 165, 163, 161, 159, 170, 170, 169, 169, 171, 172, 174, 172, 170,
+  168, 168, 167, 167, 170, 171, 171, 177, 178, 179, 180, 181, 181, 180, 180, 177,
+  177, 177, 176, 175, 174, 172, 171, 167, 166, 165, 167, 169, 170, 170, 168, 167,
+  167, 168, 165, 161, 158, 159, 160, 161, 160, 159, 159, 159, 157, 158, 158, 158,
+  158, 159, 159, 158, 156, 154, 153, 147, 145, 142, 140, 139, 136, 132, 129, 127,
+  124, 117, 114, 122, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 90, 118, 130, 126, 128, 122, 110,
+  115, 137, 149, 156, 166, 167, 162, 159, 159, 164, 167, 169, 170, 165, 167, 168,
+  169, 169, 167, 166, 164, 171, 170, 169, 168, 170, 170, 170, 169, 169, 167, 167,
+  167, 168, 170, 171, 172, 173, 175, 178, 180, 183, 182, 181, 179, 178, 178, 178,
+  177, 176, 174, 172, 171, 167, 166, 165, 166, 169, 170, 169, 167, 169, 168, 167,
+  165, 161, 159, 162, 163, 162, 162, 160, 161, 160, 158, 158, 157, 157, 158, 158,
+  158, 156, 154, 151, 149, 145, 143, 140, 138, 136, 133, 129, 125, 125, 120, 115,
+  116, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 84, 108, 128, 136, 131, 131, 115, 117, 144,
+  153, 149, 160, 164, 160, 159, 159, 165, 170, 175, 177, 172, 173, 174, 174, 173,
+  172, 170, 169, 170, 169, 168, 167, 168, 167, 166, 164, 165, 164, 164, 164, 165,
+  167, 169, 170, 168, 171, 175, 178, 181, 181, 179, 177, 178, 176, 176, 176, 174,
+  173, 171, 170, 169, 168, 167, 168, 170, 171, 171, 169, 169, 167, 166, 162, 160,
+  160, 163, 165, 163, 163, 161, 160, 157, 157, 156, 156, 155, 155, 155, 154, 152,
+  149, 146, 144, 145, 142, 139, 136, 134, 131, 126, 123, 123, 117, 114, 120, 174,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 68, 89, 119, 142, 134, 137, 119, 114, 137, 147, 149,
+  161, 156, 154, 156, 157, 163, 169, 175, 177, 175, 175, 175, 175, 173, 171, 170,
+  169, 169, 168, 167, 166, 166, 165, 163, 160, 155, 152, 152, 153, 156, 157, 159,
+  160, 162, 164, 171, 174, 177, 177, 176, 174, 176, 174, 174, 173, 172, 170, 169,
+  168, 169, 168, 167, 168, 170, 171, 170, 167, 168, 166, 165, 161, 159, 160, 164,
+  166, 163, 163, 160, 159, 156, 156, 154, 154, 153, 153, 153, 151, 149, 146, 143,
+  141, 143, 141, 137, 134, 131, 127, 123, 119, 117, 113, 113, 166, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 80, 114, 145, 142, 142, 124, 113, 121, 136, 150, 163, 156,
+  156, 158, 161, 166, 170, 175, 178, 177, 177, 177, 176, 176, 174, 174, 173, 169,
+  169, 168, 167, 167, 165, 163, 159, 154, 151, 151, 151, 154, 155, 156, 157, 160,
+  162, 168, 171, 173, 174, 173, 172, 175, 173, 173, 172, 171, 169, 168, 167, 167,
+  166, 165, 165, 167, 168, 167, 164, 166, 165, 165, 162, 161, 160, 162, 166, 164,
+  162, 160, 159, 156, 155, 153, 153, 153, 153, 153, 152, 150, 147, 144, 142, 141,
+  139, 135, 131, 128, 124, 119, 115, 111, 110, 161, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 81, 111, 143, 150, 148, 140, 124, 111, 122, 141, 148, 155, 157, 160,
+  162, 164, 168, 171, 171, 174, 174, 174, 175, 176, 176, 177, 178, 170, 171, 171,
+  170, 170, 168, 166, 162, 158, 155, 154, 154, 155, 156, 159, 159, 162, 163, 167,
+  169, 171, 172, 172, 171, 175, 173, 173, 172, 171, 170, 168, 167, 167, 166, 165,
+  165, 167, 167, 166, 164, 164, 165, 166, 165, 164, 163, 164, 165, 164, 164, 162,
+  160, 157, 156, 154, 152, 151, 152, 152, 151, 149, 146, 144, 142, 138, 136, 131,
+  128, 124, 120, 114, 111, 110, 159, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  76, 100, 129, 152, 154, 157, 141, 113, 114, 130, 127, 150, 153, 155, 157, 156,
+  156, 158, 157, 164, 165, 166, 168, 170, 172, 173, 174, 170, 170, 172, 172, 170,
+  168, 167, 163, 158, 156, 155, 154, 154, 156, 157, 158, 164, 164, 167, 168, 170,
+  171, 172, 173, 176, 174, 174, 173, 172, 171, 169, 168, 170, 168, 167, 166, 169,
+  168, 167, 166, 164, 166, 168, 167, 167, 165, 165, 165, 166, 164, 163, 162, 158,
+  157, 155, 154, 149, 150, 150, 149, 148, 145, 143, 141, 137, 134, 130, 126, 123,
+  118, 112, 108, 160, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 57, 78,
+  110, 151, 162, 157, 142, 123, 114, 121, 131, 131, 136, 141, 143, 143, 142, 143,
+  143, 145, 154, 154, 155, 163, 158, 151, 155, 160, 157, 159, 160, 163, 162, 160,
+  156, 164, 156, 154, 159, 156, 149, 152, 164, 160, 161, 164, 167, 170, 172, 174,
+  173, 176, 174, 175, 175, 174, 173, 170, 168, 164, 164, 164, 162, 165, 164, 165,
+  165, 169, 166, 163, 160, 159, 160, 162, 164, 167, 163, 160, 158, 158, 158, 156,
+  155, 157, 154, 150, 147, 145, 144, 143, 141, 141, 139, 131, 123, 122, 125, 121,
+  113, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 54, 68, 98, 142,
+  151, 148, 134, 119, 111, 114, 122, 151, 149, 145, 139, 135, 136, 140, 145, 142,
+  147, 141, 136, 138, 133, 127, 130, 143, 145, 147, 145, 140, 137, 137, 139, 153,
+  146, 146, 152, 152, 148, 155, 166, 159, 162, 165, 164, 162, 165, 172, 179, 176,
+  175, 175, 176, 175, 173, 170, 169, 165, 165, 163, 163, 163, 164, 164, 165, 169,
+  167, 165, 163, 162, 163, 164, 164, 165, 162, 159, 157, 157, 156, 155, 153, 155,
+  152, 148, 146, 144, 143, 142, 140, 137, 136, 130, 121, 118, 119, 115, 158, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63, 85, 139, 147, 146,
+  133, 122, 113, 113, 117, 136, 140, 145, 146, 147, 145, 145, 143, 143, 144, 134,
+  128, 133, 134, 135, 143, 120, 128, 135, 132, 123, 122, 128, 136, 110, 104, 105,
+  111, 113, 113, 120, 131, 153, 159, 164, 162, 157, 158, 167, 175, 173, 174, 175,
+  175, 174, 172, 169, 168, 166, 166, 163, 163, 163, 164, 164, 165, 168, 168, 167,
+  166, 166, 165, 165, 165, 164, 161, 158, 156, 155, 154, 152, 150, 153, 150, 147,
+  146, 145, 145, 143, 141, 134, 134, 130, 121, 114, 160, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 59, 71, 130, 143, 146, 138, 123,
+  112, 114, 121, 118, 124, 133, 140, 143, 142, 140, 135, 133, 141, 146, 149, 157,
+  152, 142, 143, 157, 160, 160, 148, 132, 122, 122, 125, 128, 121, 122, 125, 129,
+  130, 137, 147, 148, 154, 161, 162, 158, 155, 159, 163, 171, 172, 173, 173, 172,
+  170, 168, 166, 165, 164, 162, 161, 162, 162, 162, 162, 166, 167, 167, 168, 167,
+  166, 164, 163, 162, 160, 156, 154, 153, 152, 150, 148, 153, 151, 148, 147, 147,
+  146, 144, 142, 131, 132, 130, 121, 112, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 57, 65, 106, 128, 142, 136, 116, 102, 108,
+  120, 130, 127, 121, 117, 116, 120, 125, 124, 112, 127, 143, 153, 157, 141, 114,
+  105, 102, 107, 113, 118, 124, 132, 140, 141, 135, 129, 130, 133, 137, 140, 148,
+  156, 156, 155, 153, 152, 152, 153, 156, 159, 169, 170, 171, 171, 170, 168, 165,
+  164, 163, 162, 160, 159, 159, 159, 159, 159, 163, 164, 166, 166, 166, 165, 163,
+  161, 161, 158, 155, 153, 152, 151, 149, 147, 151, 149, 147, 146, 145, 144, 141,
+  139, 127, 127, 125, 118, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 58, 63, 85, 115, 135, 134, 114, 101, 109, 125, 132,
+  130, 127, 125, 125, 125, 123, 120, 113, 117, 116, 116, 121, 114, 102, 105, 135,
+  135, 133, 137, 141, 146, 146, 142, 147, 144, 148, 150, 154, 160, 166, 171, 170,
+  161, 151, 144, 145, 149, 157, 163, 168, 169, 170, 170, 169, 168, 165, 163, 162,
+  161, 158, 157, 157, 157, 157, 157, 161, 162, 163, 164, 164, 163, 162, 161, 159,
+  156, 153, 152, 152, 152, 150, 148, 148, 146, 144, 143, 142, 140, 136, 133, 123,
+  120, 117, 160, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 58, 62, 74, 104, 129, 132, 118, 107, 114, 129, 126, 133, 141,
+  147, 150, 146, 135, 125, 128, 125, 112, 106, 114, 118, 124, 136, 137, 136, 139,
+  145, 154, 159, 162, 158, 151, 152, 156, 158, 161, 164, 167, 170, 174, 168, 161,
+  152, 146, 149, 157, 166, 169, 171, 171, 172, 171, 169, 166, 165, 162, 161, 158,
+  158, 157, 157, 156, 157, 162, 162, 163, 163, 163, 163, 162, 162, 157, 155, 152,
+  152, 152, 153, 151, 150, 150, 147, 145, 143, 141, 138, 134, 130, 124, 117, 112,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 190, 62, 65, 93, 118, 126, 116, 109, 114, 126, 137, 140, 143, 146, 148,
+  146, 141, 135, 134, 141, 140, 140, 147, 144, 139, 142, 159, 160, 162, 163, 165,
+  164, 163, 162, 168, 171, 173, 173, 173, 174, 176, 174, 168, 171, 172, 165, 156,
+  151, 155, 162, 171, 172, 173, 173, 172, 171, 168, 166, 163, 162, 159, 158, 158,
+  158, 157, 157, 163, 163, 163, 163, 163, 163, 163, 163, 156, 154, 152, 152, 153,
+  153, 153, 151, 153, 151, 149, 147, 145, 141, 136, 132, 128, 119, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  64, 75, 78, 94, 115, 126, 120, 116, 122, 136, 141, 148, 154, 156, 156, 152,
+  149, 150, 147, 146, 146, 147, 149, 155, 161, 166, 158, 154, 153, 158, 165, 169,
+  172, 165, 170, 171, 173, 173, 172, 174, 175, 172, 173, 175, 170, 160, 149, 151,
+  160, 165, 169, 172, 172, 171, 169, 167, 167, 162, 164, 163, 161, 158, 156, 156,
+  158, 164, 163, 161, 159, 158, 158, 159, 160, 159, 152, 146, 146, 149, 152, 154,
+  155, 148, 150, 148, 140, 136, 136, 135, 129, 122, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 65, 66,
+  68, 80, 102, 115, 114, 115, 119, 134, 140, 145, 150, 153, 152, 149, 150, 159,
+  159, 159, 159, 157, 155, 157, 160, 163, 160, 159, 158, 159, 159, 162, 167, 168,
+  170, 171, 170, 171, 171, 175, 178, 173, 173, 176, 174, 164, 154, 154, 161, 166,
+  170, 173, 173, 171, 169, 166, 166, 157, 159, 159, 159, 157, 157, 158, 160, 160,
+  160, 160, 160, 160, 161, 161, 162, 152, 150, 151, 155, 158, 157, 153, 150, 150,
+  149, 146, 139, 135, 134, 132, 125, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 66, 60, 58, 67,
+  88, 105, 110, 115, 121, 130, 135, 140, 143, 145, 145, 144, 146, 157, 157, 159,
+  161, 159, 155, 154, 155, 158, 161, 165, 163, 160, 156, 158, 164, 169, 171, 171,
+  168, 168, 172, 176, 180, 176, 173, 175, 175, 170, 161, 158, 161, 167, 171, 173,
+  173, 170, 167, 164, 164, 156, 158, 158, 158, 157, 158, 158, 160, 160, 160, 161,
+  162, 161, 160, 158, 157, 153, 154, 156, 158, 159, 157, 151, 145, 148, 146, 142,
+  137, 136, 134, 130, 166, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 62, 59, 53, 60, 77, 95,
+  106, 114, 122, 125, 130, 135, 139, 138, 138, 139, 143, 148, 150, 152, 156, 154,
+  152, 152, 156, 156, 160, 162, 163, 160, 159, 160, 163, 169, 171, 172, 171, 171,
+  172, 176, 179, 179, 176, 173, 175, 173, 165, 160, 159, 168, 170, 172, 171, 168,
+  164, 161, 160, 159, 159, 157, 157, 156, 156, 155, 156, 161, 162, 163, 162, 160,
+  156, 151, 149, 159, 160, 158, 153, 151, 151, 149, 145, 144, 141, 138, 137, 137,
+  132, 125, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 57, 56, 50, 54, 66, 84, 97, 109,
+  117, 123, 130, 136, 139, 137, 137, 139, 142, 147, 147, 148, 150, 151, 150, 153,
+  158, 159, 157, 158, 159, 164, 167, 169, 167, 168, 171, 174, 175, 175, 174, 174,
+  175, 181, 176, 174, 175, 173, 164, 158, 156, 165, 167, 169, 168, 164, 160, 157,
+  156, 155, 154, 152, 153, 153, 154, 153, 152, 159, 160, 161, 161, 158, 153, 148,
+  145, 153, 157, 156, 151, 148, 150, 149, 143, 140, 135, 132, 131, 129, 121, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 49, 47, 51, 60, 73, 87, 100, 111, 123,
+  131, 140, 142, 142, 141, 143, 146, 147, 145, 145, 147, 145, 143, 148, 154, 161,
+  158, 157, 161, 169, 174, 175, 171, 169, 172, 176, 178, 177, 175, 174, 174, 180,
+  175, 172, 173, 170, 164, 160, 160, 162, 164, 166, 165, 162, 158, 155, 154, 148,
+  147, 146, 148, 152, 155, 154, 154, 155, 156, 158, 159, 158, 155, 152, 149, 138,
+  148, 155, 153, 151, 153, 149, 140, 137, 130, 126, 122, 116, 156, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 44, 45, 51, 58, 67, 81, 96, 108, 121, 131, 141,
+  145, 144, 143, 143, 146, 142, 139, 141, 145, 144, 142, 146, 151, 161, 162, 164,
+  169, 175, 178, 180, 178, 173, 172, 175, 176, 175, 173, 175, 176, 177, 173, 172,
+  172, 169, 164, 164, 168, 162, 163, 165, 164, 161, 158, 155, 154, 151, 150, 148,
+  151, 156, 159, 158, 157, 156, 157, 158, 159, 158, 156, 154, 152, 137, 149, 155,
+  151, 148, 151, 148, 139, 133, 124, 119, 114, 157, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 42, 47, 55, 59, 67, 80, 95, 108, 117, 128, 140, 146, 144,
+  142, 141, 144, 140, 141, 147, 152, 154, 153, 155, 159, 158, 165, 172, 175, 176,
+  176, 179, 180, 177, 174, 177, 174, 175, 175, 176, 178, 175, 173, 171, 171, 168,
+  166, 169, 174, 162, 163, 165, 165, 162, 159, 156, 156, 160, 158, 155, 157, 161,
+  164, 161, 159, 161, 162, 161, 161, 159, 156, 153, 152, 149, 157, 156, 144, 140,
+  144, 147, 140, 130, 122, 115, 160, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 49, 48, 53, 61, 68, 75, 92, 110, 119, 129, 139, 147, 150, 147, 141,
+  137, 139, 144, 149, 154, 159, 159, 159, 159, 161, 165, 169, 172, 175, 176, 180,
+  180, 173, 174, 178, 178, 178, 176, 175, 175, 176, 176, 176, 175, 174, 175, 174,
+  172, 170, 167, 165, 164, 162, 160, 156, 153, 155, 154, 153, 156, 160, 162, 160,
+  157, 161, 160, 158, 159, 161, 161, 159, 157, 150, 157, 158, 151, 148, 145, 140,
+  131, 133, 121, 157, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  48, 51, 56, 62, 71, 89, 109, 115, 125, 136, 145, 148, 145, 139, 138, 139,
+  144, 149, 151, 155, 157, 157, 156, 161, 164, 169, 170, 173, 173, 178, 178, 175,
+  176, 179, 180, 178, 176, 175, 175, 177, 177, 176, 175, 176, 175, 175, 172, 173,
+  169, 166, 164, 161, 159, 157, 154, 158, 157, 156, 158, 162, 162, 160, 157, 161,
+  160, 157, 157, 158, 157, 154, 152, 155, 154, 147, 141, 141, 143, 139, 131, 116,
+  111, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 47, 49,
+  52, 58, 67, 86, 106, 115, 126, 136, 145, 146, 144, 138, 138, 141, 144, 147,
+  148, 152, 154, 155, 156, 161, 163, 168, 170, 172, 172, 177, 177, 176, 177, 179,
+  179, 177, 175, 174, 174, 177, 176, 176, 175, 174, 174, 173, 173, 174, 170, 163,
+  160, 159, 159, 157, 156, 161, 161, 159, 161, 163, 164, 162, 159, 164, 163, 161,
+  160, 160, 158, 154, 152, 154, 150, 142, 138, 137, 138, 130, 121, 104, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 47, 52, 56,
+  63, 82, 101, 120, 130, 140, 147, 146, 143, 139, 141, 146, 148, 147, 149, 152,
+  154, 158, 158, 159, 162, 167, 169, 170, 171, 175, 176, 176, 177, 178, 177, 175,
+  172, 172, 172, 175, 175, 174, 174, 173, 173, 172, 171, 171, 167, 159, 157, 157,
+  158, 159, 159, 161, 162, 162, 164, 165, 166, 165, 164, 164, 163, 161, 160, 160,
+  158, 154, 151, 147, 145, 144, 142, 136, 129, 117, 157, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 48, 54, 58, 63, 79,
+  94, 116, 127, 138, 144, 145, 144, 143, 146, 148, 151, 149, 150, 151, 154, 158,
+  160, 160, 163, 167, 168, 169, 170, 173, 175, 175, 175, 176, 175, 172, 170, 170,
+  171, 172, 172, 172, 171, 171, 171, 171, 170, 167, 161, 156, 154, 156, 159, 161,
+  162, 157, 159, 162, 165, 165, 165, 166, 166, 157, 155, 154, 154, 153, 152, 149,
+  146, 141, 142, 141, 134, 124, 113, 107, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 50, 55, 58, 63, 76, 92, 106,
+  119, 132, 140, 143, 144, 146, 152, 149, 150, 150, 151, 151, 154, 156, 157, 159,
+  162, 166, 167, 168, 169, 172, 172, 173, 174, 175, 174, 172, 170, 171, 172, 172,
+  171, 171, 171, 171, 171, 171, 170, 163, 160, 155, 154, 156, 159, 161, 163, 156,
+  159, 163, 165, 164, 164, 165, 166, 157, 155, 154, 153, 152, 151, 148, 146, 140,
+  136, 129, 120, 108, 153, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 51, 55, 58, 63, 77, 92, 106, 119, 131,
+  138, 139, 142, 145, 152, 152, 153, 153, 153, 155, 156, 158, 159, 159, 162, 165,
+  166, 166, 167, 169, 171, 174, 175, 176, 175, 173, 173, 174, 176, 172, 172, 172,
+  172, 172, 172, 172, 170, 166, 163, 158, 157, 158, 160, 161, 159, 158, 161, 163,
+  163, 161, 160, 160, 162, 161, 159, 157, 155, 155, 152, 148, 145, 137, 129, 119,
+  114, 108, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 54, 57, 62, 78, 95, 114, 127, 137, 141, 140,
+  140, 145, 150, 155, 157, 157, 158, 159, 160, 161, 161, 159, 161, 164, 166, 166,
+  166, 169, 170, 175, 176, 177, 176, 175, 175, 177, 178, 174, 174, 174, 174, 174,
+  172, 173, 173, 170, 167, 162, 160, 160, 161, 158, 158, 160, 163, 164, 163, 160,
+  157, 156, 157, 161, 159, 156, 154, 152, 147, 143, 140, 133, 122, 116, 118, 166,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 53, 57, 66, 75, 85, 112, 121, 130, 134, 136, 138, 143,
+  148, 156, 159, 162, 161, 159, 158, 162, 165, 163, 163, 162, 162, 162, 164, 165,
+  165, 171, 174, 176, 178, 181, 181, 175, 168, 170, 171, 172, 169, 170, 172, 173,
+  170, 168, 165, 162, 160, 158, 159, 162, 164, 161, 159, 158, 160, 162, 162, 159,
+  155, 161, 156, 152, 151, 150, 147, 137, 127, 116, 113, 111, 161, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 59, 64, 73, 83, 108, 119, 129, 134, 136, 140, 144, 149, 155,
+  159, 161, 161, 160, 159, 162, 164, 161, 162, 163, 163, 165, 167, 169, 170, 176,
+  169, 165, 170, 176, 178, 173, 169, 171, 174, 174, 170, 170, 173, 173, 170, 167,
+  165, 163, 161, 159, 160, 162, 163, 159, 159, 160, 161, 162, 162, 160, 158, 155,
+  153, 150, 146, 140, 133, 125, 120, 117, 117, 164, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 190, 64, 70, 78, 105, 116, 126, 134, 138, 143, 148, 151, 155, 157, 161,
+  162, 162, 160, 162, 163, 162, 161, 163, 166, 168, 171, 172, 175, 172, 157, 150,
+  160, 173, 177, 177, 179, 173, 176, 175, 172, 171, 171, 170, 166, 163, 162, 161,
+  160, 160, 160, 159, 160, 154, 157, 158, 159, 159, 158, 156, 156, 152, 151, 146,
+  138, 128, 121, 117, 117, 119, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  62, 67, 73, 102, 112, 124, 131, 139, 146, 150, 153, 156, 159, 162, 162, 162,
+  159, 160, 159, 162, 163, 164, 167, 169, 171, 173, 174, 173, 158, 152, 162, 171,
+  173, 175, 182, 174, 176, 176, 170, 168, 168, 166, 162, 159, 159, 159, 158, 158,
+  157, 156, 156, 149, 153, 156, 156, 153, 151, 150, 152, 152, 146, 137, 127, 120,
+  116, 117, 164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 57, 62,
+  68, 95, 105, 117, 128, 138, 145, 149, 151, 159, 159, 160, 161, 161, 158, 158,
+  157, 164, 165, 165, 168, 169, 170, 170, 170, 179, 174, 169, 172, 171, 167, 168,
+  175, 172, 174, 174, 168, 166, 165, 162, 157, 155, 155, 155, 154, 153, 153, 152,
+  152, 148, 151, 154, 153, 147, 144, 144, 146, 144, 133, 119, 112, 111, 116, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 62, 68, 91,
+  100, 112, 125, 136, 144, 147, 148, 160, 158, 158, 157, 159, 159, 160, 158, 166,
+  167, 169, 169, 170, 169, 167, 169, 171, 176, 176, 176, 173, 173, 174, 174, 168,
+  172, 170, 166, 163, 162, 158, 153, 152, 153, 151, 151, 149, 149, 150, 150, 151,
+  152, 153, 150, 144, 140, 138, 137, 128, 117, 106, 103, 157, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 70, 92, 102, 114,
+  127, 139, 148, 150, 150, 157, 155, 154, 154, 158, 161, 164, 163, 167, 168, 171,
+  171, 172, 172, 169, 168, 166, 176, 176, 172, 173, 181, 180, 172, 166, 170, 169,
+  165, 163, 162, 158, 152, 153, 152, 150, 148, 147, 148, 149, 150, 152, 150, 145,
+  142, 139, 134, 128, 125, 114, 111, 108, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 70, 94, 103, 115, 129, 143,
+  153, 156, 155, 155, 152, 148, 151, 157, 163, 165, 167, 166, 167, 170, 172, 174,
+  172, 172, 171, 176, 184, 180, 167, 169, 178, 172, 156, 165, 170, 169, 165, 164,
+  162, 158, 153, 153, 151, 149, 146, 145, 147, 147, 149, 147, 143, 137, 134, 131,
+  126, 119, 113, 110, 161, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 74, 89, 108, 125, 139, 148, 158,
+  163, 157, 152, 149, 149, 153, 158, 161, 163, 170, 170, 171, 172, 171, 172, 173,
+  173, 176, 174, 171, 171, 174, 172, 170, 167, 168, 166, 163, 163, 163, 160, 157,
+  153, 145, 138, 136, 135, 141, 145, 144, 141, 147, 141, 131, 122, 115, 112, 112,
+  113, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 76, 94, 114, 130, 142, 152, 156, 154,
+  151, 149, 148, 150, 154, 157, 159, 162, 163, 165, 166, 168, 169, 169, 171, 175,
+  172, 169, 169, 171, 173, 170, 166, 169, 165, 163, 159, 157, 151, 144, 136, 135,
+  141, 145, 140, 131, 130, 138, 148, 138, 131, 121, 112, 110, 114, 165, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 195, 90, 110, 128, 141, 151, 153, 155, 151, 152,
+  151, 151, 153, 156, 157, 159, 161, 167, 170, 172, 172, 171, 171, 170, 166, 163,
+  165, 168, 168, 166, 162, 160, 158, 156, 155, 154, 149, 143, 137, 136, 135, 134,
+  136, 137, 138, 136, 133, 121, 117, 113, 111, 114, 166, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 98, 118, 135, 144, 148, 147, 147, 147, 146, 146,
+  147, 149, 153, 154, 158, 162, 168, 171, 171, 171, 169, 162, 159, 157, 158, 162,
+  161, 159, 155, 152, 149, 147, 144, 144, 143, 141, 138, 139, 133, 129, 131, 135,
+  131, 119, 107, 108, 111, 116, 166, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 97, 113, 124, 131, 133, 135, 138, 137, 137, 137, 139,
+  143, 144, 149, 154, 158, 163, 163, 163, 161, 158, 153, 151, 153, 156, 156, 154,
+  150, 152, 145, 139, 133, 131, 130, 129, 126, 131, 134, 134, 124, 109, 100, 100,
+  104, 160, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 105, 114, 123, 130, 133, 134, 131, 132, 135, 140, 141,
+  144, 150, 153, 156, 156, 158, 155, 155, 151, 148, 148, 151, 152, 147, 144, 146,
+  141, 132, 128, 126, 126, 126, 126, 122, 118, 111, 104, 101, 105, 113, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 203, 114, 122, 127, 129, 128, 127, 130, 135, 139, 141, 145,
+  147, 150, 152, 153, 150, 150, 143, 140, 140, 142, 142, 137, 134, 133, 130, 126,
+  124, 124, 122, 120, 119, 117, 108, 101, 106, 120, 131, 174, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 107, 115, 116, 115, 113, 118, 124, 132, 133, 136, 138, 141,
+  142, 143, 143, 140, 134, 131, 130, 133, 132, 128, 125, 125, 123, 119, 115, 113,
+  104, 97, 92, 111, 121, 132, 136, 174, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 207, 114, 119, 121, 119, 121, 125, 132, 133, 131, 133,
+  134, 126, 128, 129, 126, 124, 121, 118, 116, 117, 101, 109, 97, 102, 117, 105,
+  117, 129, 172, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 209, 114, 116, 117, 119,
+  119, 120, 117, 112, 110, 106, 103, 92, 96, 102, 105, 164, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 66, 78, 113, 136,
+  142, 148, 145, 136, 134, 137, 144, 145, 137, 129, 127, 128, 128, 127, 127, 126,
+  122, 118, 118, 121, 168, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 185, 50, 74, 99, 113, 142, 153, 147, 145,
+  144, 137, 135, 127, 138, 147, 146, 142, 140, 137, 134, 139, 140, 139, 134, 127,
+  122, 122, 124, 121, 129, 137, 145, 158, 165, 186, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 188, 84, 118, 127, 111, 91, 130, 151, 151, 134, 128, 123, 113,
+  108, 83, 92, 101, 108, 116, 130, 142, 148, 139, 140, 138, 130, 120, 114, 114,
+  116, 121, 131, 142, 153, 165, 167, 149, 125, 125, 217, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 192, 58, 57,
+  54, 66, 98, 129, 141, 131, 120, 133, 155, 154, 135, 126, 119, 105, 94, 116,
+  112, 102, 94, 96, 113, 131, 141, 124, 125, 121, 112, 101, 95, 95, 98, 117,
+  127, 139, 149, 158, 156, 132, 105, 86, 81, 78, 80, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 66, 65, 70, 64, 65, 84,
+  121, 149, 154, 149, 145, 134, 144, 145, 131, 113, 103, 102, 105, 94, 92, 92,
+  93, 99, 108, 117, 124, 117, 109, 110, 118, 120, 111, 105, 107, 118, 125, 131,
+  133, 132, 123, 101, 78, 68, 69, 70, 72, 73, 74, 73, 132, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 68, 61, 57, 57, 69, 80, 101, 126, 142,
+  143, 139, 136, 135, 125, 108, 90, 84, 87, 88, 85, 104, 105, 108, 110, 108,
+  104, 100, 98, 120, 118, 118, 120, 118, 108, 99, 94, 92, 96, 94, 83, 76,
+  77, 82, 83, 64, 63, 62, 61, 62, 63, 63, 64, 55, 97, 210, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 191, 68, 72, 73, 73, 74, 76, 97, 119, 128, 129, 127, 124,
+  120, 108, 104, 98, 94, 96, 97, 91, 82, 83, 87, 91, 94, 93, 87, 79,
+  75, 84, 88, 91, 91, 90, 88, 80, 71, 72, 76, 74, 65, 59, 63, 72,
+  79, 66, 62, 58, 57, 59, 62, 63, 63, 58, 51, 44, 115, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 70,
+  70, 71, 72, 71, 71, 73, 76, 76, 100, 118, 118, 111, 108, 103, 96, 86,
+  97, 108, 109, 104, 100, 93, 88, 76, 76, 78, 80, 81, 80, 78, 78, 66,
+  76, 79, 76, 76, 81, 77, 67, 77, 76, 73, 71, 71, 73, 73, 71, 62,
+  59, 56, 58, 62, 64, 64, 63, 59, 51, 44, 45, 93, 208, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 77, 67, 74, 80,
+  78, 72, 72, 81, 88, 92, 108, 120, 118, 114, 112, 105, 95, 88, 90, 88,
+  78, 70, 70, 73, 74, 73, 72, 72, 71, 69, 68, 68, 68, 75, 81, 79,
+  70, 66, 69, 67, 59, 79, 78, 76, 73, 68, 65, 66, 69, 49, 48, 50,
+  55, 62, 64, 61, 58, 58, 51, 46, 46, 41, 34, 30, 107, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 192, 72, 76, 75, 68, 77, 83, 79, 74,
+  78, 89, 97, 71, 77, 84, 87, 88, 87, 80, 72, 83, 75, 62, 53, 55,
+  61, 61, 56, 62, 65, 69, 71, 70, 67, 64, 61, 73, 74, 72, 64, 60,
+  60, 60, 59, 63, 76, 91, 93, 79, 63, 60, 64, 46, 44, 48, 55, 65,
+  67, 63, 57, 59, 51, 48, 50, 45, 35, 33, 40, 43, 116, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 193, 71, 69, 70, 73, 73, 70, 93, 95, 89, 76, 68, 69, 71,
+  72, 82, 79, 83, 92, 97, 95, 91, 89, 74, 75, 71, 67, 67, 69, 65,
+  57, 71, 75, 80, 85, 86, 84, 80, 77, 70, 69, 71, 72, 71, 68, 70,
+  76, 56, 65, 82, 97, 95, 79, 64, 57, 53, 50, 51, 58, 67, 70, 68,
+  62, 67, 56, 52, 58, 58, 50, 48, 54, 55, 52, 94, 209, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 78,
+  79, 73, 64, 64, 72, 76, 77, 85, 84, 75, 67, 66, 74, 75, 71, 66,
+  60, 63, 75, 81, 79, 77, 82, 81, 90, 92, 79, 63, 58, 63, 68, 79,
+  81, 81, 81, 80, 78, 76, 75, 67, 64, 67, 75, 71, 65, 65, 74, 71,
+  55, 49, 68, 88, 90, 73, 58, 58, 52, 51, 56, 65, 69, 68, 63, 77,
+  62, 57, 66, 72, 68, 65, 67, 61, 56, 46, 40, 37, 110, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 216, 132, 123, 115, 78, 75, 85, 78, 73,
+  75, 72, 70, 72, 80, 84, 78, 73, 77, 86, 92, 88, 83, 72, 72, 74,
+  75, 76, 74, 70, 65, 66, 64, 68, 73, 72, 65, 62, 66, 70, 79, 83,
+  80, 75, 74, 74, 73, 74, 82, 81, 71, 64, 66, 60, 51, 61, 56, 53,
+  63, 76, 82, 73, 63, 53, 48, 46, 53, 63, 69, 66, 60, 65, 74, 79,
+  72, 64, 61, 58, 54, 53, 38, 29, 36, 40, 39, 117, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 212, 111, 77, 109, 128, 81, 81, 86, 84, 95, 84, 76, 77, 79,
+  79, 81, 86, 82, 86, 93, 101, 106, 102, 92, 83, 70, 68, 66, 63, 62,
+  59, 55, 52, 60, 60, 64, 68, 67, 61, 61, 66, 62, 68, 73, 71, 69,
+  71, 71, 69, 66, 74, 74, 63, 58, 64, 68, 66, 59, 59, 63, 72, 82,
+  83, 75, 65, 72, 60, 48, 45, 52, 62, 69, 70, 76, 82, 79, 68, 60,
+  59, 60, 60, 46, 41, 46, 61, 69, 63, 56, 121, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 214, 100,
+  59, 67, 96, 102, 83, 78, 86, 88, 85, 80, 68, 58, 58, 63, 65, 66,
+  68, 71, 81, 93, 101, 99, 90, 78, 71, 71, 68, 63, 58, 55, 52, 49,
+  47, 51, 54, 59, 63, 62, 60, 65, 73, 60, 65, 68, 70, 76, 81, 81,
+  76, 62, 68, 67, 56, 51, 56, 61, 62, 62, 66, 71, 76, 78, 76, 72,
+  68, 68, 61, 54, 53, 59, 65, 66, 65, 78, 80, 77, 69, 61, 59, 60,
+  60, 45, 57, 73, 82, 79, 68, 56, 49, 122, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 240, 184, 112, 63, 55, 62, 82,
+  110, 103, 81, 85, 90, 82, 79, 67, 60, 54, 52, 54, 57, 58, 59, 65,
+  68, 69, 70, 68, 63, 58, 55, 66, 63, 60, 58, 57, 55, 52, 49, 46,
+  52, 59, 63, 66, 70, 80, 89, 94, 92, 86, 79, 75, 68, 54, 41, 57,
+  60, 59, 54, 52, 54, 54, 51, 70, 74, 76, 73, 69, 66, 69, 73, 62,
+  59, 56, 58, 62, 65, 66, 66, 65, 71, 74, 73, 68, 63, 59, 57, 60,
+  78, 88, 76, 55, 43, 44, 48, 43, 89, 209, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 247, 214, 151, 102, 83, 65, 59, 53, 63, 98, 106, 92,
+  82, 96, 93, 76, 73, 57, 59, 59, 55, 51, 50, 53, 55, 67, 62, 53,
+  50, 50, 50, 49, 47, 48, 49, 51, 54, 56, 57, 53, 50, 48, 57, 65,
+  70, 76, 86, 98, 106, 80, 84, 89, 95, 103, 107, 101, 90, 63, 59, 53,
+  49, 51, 55, 54, 50, 67, 72, 77, 75, 70, 67, 71, 75, 75, 68, 59,
+  54, 56, 63, 73, 80, 62, 66, 72, 77, 76, 72, 68, 66, 81, 84, 76,
+  55, 36, 31, 37, 42, 44, 53, 56, 118, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 207, 124, 104, 78, 78, 70, 60, 65, 66, 77, 93, 87, 79, 84, 96,
+  89, 73, 69, 60, 66, 67, 59, 52, 51, 55, 58, 68, 62, 53, 49, 50,
+  50, 47, 44, 40, 41, 45, 51, 55, 56, 52, 50, 54, 62, 68, 73, 81,
+  93, 103, 106, 107, 109, 111, 112, 115, 116, 109, 97, 90, 80, 65, 54, 51,
+  51, 51, 49, 58, 64, 72, 76, 76, 74, 74, 74, 77, 75, 73, 69, 67,
+  68, 73, 77, 72, 72, 76, 82, 84, 82, 81, 82, 89, 71, 51, 41, 43,
+  45, 43, 39, 44, 60, 66, 59, 57, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 197, 72,
+  71, 64, 52, 64, 62, 59, 75, 79, 88, 84, 82, 90, 98, 93, 89, 84,
+  76, 80, 82, 78, 67, 61, 64, 69, 70, 67, 64, 60, 55, 51, 48, 47,
+  47, 43, 43, 44, 47, 50, 50, 48, 47, 54, 59, 61, 63, 71, 81, 84,
+  81, 79, 82, 84, 88, 98, 107, 110, 106, 101, 95, 86, 75, 63, 54, 51,
+  52, 59, 59, 60, 63, 67, 70, 70, 70, 67, 75, 82, 85, 82, 76, 72,
+  70, 83, 82, 87, 95, 97, 91, 87, 86, 76, 54, 39, 44, 55, 57, 54,
+  53, 53, 54, 54, 55, 59, 61, 123, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 74, 69, 63, 63,
+  55, 67, 61, 60, 77, 79, 80, 86, 95, 117, 119, 98, 97, 103, 90, 78,
+  76, 66, 53, 50, 57, 61, 60, 71, 70, 66, 58, 48, 46, 51, 57, 47,
+  44, 42, 41, 41, 41, 39, 38, 51, 53, 52, 51, 56, 65, 64, 56, 85,
+  86, 84, 83, 90, 100, 106, 105, 84, 92, 99, 96, 82, 68, 64, 67, 70,
+  60, 48, 45, 51, 60, 65, 67, 69, 74, 77, 76, 75, 74, 78, 82, 84,
+  86, 96, 108, 109, 96, 83, 78, 59, 46, 44, 53, 56, 53, 60, 75, 100,
+  79, 63, 67, 71, 65, 58, 58, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 189, 63, 79, 56, 52, 51, 65, 54,
+  70, 72, 78, 67, 91, 104, 109, 106, 97, 99, 106, 98, 81, 96, 72, 50,
+  50, 62, 72, 77, 80, 100, 84, 65, 56, 64, 72, 62, 47, 45, 42, 42,
+  46, 46, 44, 43, 47, 52, 51, 51, 55, 59, 63, 65, 65, 63, 61, 66,
+  80, 91, 93, 90, 88, 105, 110, 111, 100, 83, 72, 72, 77, 62, 60, 56,
+  51, 49, 53, 60, 66, 89, 90, 88, 84, 86, 89, 82, 71, 65, 71, 84,
+  100, 106, 94, 72, 54, 49, 49, 54, 60, 62, 60, 61, 65, 52, 60, 67,
+  69, 68, 66, 68, 71, 56, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 215, 117, 65, 73, 78, 54, 58, 57, 68, 69, 82, 82,
+  85, 84, 100, 92, 97, 98, 97, 98, 94, 77, 57, 54, 56, 61, 65, 65,
+  68, 83, 100, 91, 82, 66, 52, 48, 54, 54, 51, 54, 49, 46, 46, 45,
+  43, 44, 50, 47, 47, 48, 51, 54, 57, 59, 61, 61, 61, 67, 76, 81,
+  80, 79, 81, 88, 89, 88, 85, 80, 78, 80, 83, 67, 62, 56, 54, 58,
+  66, 74, 78, 74, 80, 80, 78, 78, 87, 92, 92, 97, 90, 85, 86, 84,
+  76, 70, 70, 62, 55, 55, 65, 76, 76, 70, 65, 61, 64, 65, 64, 61,
+  59, 60, 62, 54, 72, 141, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  211, 107, 70, 75, 70, 79, 72, 50, 63, 59, 60, 77, 84, 85, 81, 91,
+  91, 83, 88, 91, 84, 71, 63, 63, 66, 76, 64, 60, 75, 95, 105, 101,
+  95, 86, 78, 65, 54, 53, 59, 62, 61, 58, 52, 48, 48, 48, 48, 52,
+  58, 64, 64, 64, 63, 63, 65, 68, 71, 68, 70, 74, 79, 79, 76, 77,
+  82, 80, 74, 69, 68, 70, 72, 71, 68, 69, 60, 50, 46, 50, 56, 60,
+  61, 75, 80, 79, 71, 63, 68, 79, 87, 95, 89, 87, 90, 80, 63, 58,
+  65, 68, 64, 65, 73, 78, 74, 67, 63, 57, 55, 52, 49, 48, 47, 47,
+  48, 59, 58, 58, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 184, 54, 54,
+  66, 68, 72, 87, 75, 53, 65, 63, 52, 76, 76, 81, 72, 86, 70, 78,
+  74, 70, 68, 62, 58, 63, 72, 74, 76, 81, 87, 91, 95, 101, 105, 83,
+  72, 62, 66, 79, 85, 76, 63, 53, 50, 50, 54, 57, 58, 63, 68, 62,
+  61, 58, 54, 51, 53, 59, 64, 67, 65, 66, 70, 70, 67, 68, 71, 64,
+  61, 60, 66, 75, 82, 83, 81, 76, 70, 63, 57, 55, 55, 56, 57, 75,
+  78, 76, 66, 54, 51, 57, 64, 67, 67, 77, 87, 77, 55, 48, 57, 61,
+  69, 78, 77, 64, 51, 51, 58, 46, 44, 41, 41, 43, 44, 44, 43, 31,
+  39, 47, 49, 118, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 183, 48, 57, 60, 69, 67,
+  78, 93, 82, 67, 65, 70, 54, 72, 70, 78, 72, 80, 57, 67, 56, 52,
+  64, 76, 76, 64, 55, 57, 62, 70, 78, 87, 92, 93, 91, 81, 77, 78,
+  88, 96, 91, 74, 59, 51, 52, 58, 67, 70, 69, 68, 71, 73, 71, 67,
+  64, 66, 71, 78, 83, 82, 74, 72, 75, 77, 74, 71, 71, 74, 73, 74,
+  76, 78, 79, 77, 76, 65, 68, 70, 66, 59, 55, 56, 59, 60, 61, 62,
+  62, 57, 54, 54, 55, 58, 54, 58, 65, 59, 48, 53, 68, 57, 65, 75,
+  73, 59, 44, 44, 52, 44, 44, 44, 46, 50, 52, 51, 49, 40, 41, 41,
+  40, 41, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 188, 57, 57, 58, 65, 71, 70, 82, 87,
+  84, 82, 63, 74, 65, 68, 66, 71, 71, 69, 52, 52, 57, 61, 63, 62,
+  63, 67, 71, 75, 73, 76, 91, 110, 116, 98, 76, 90, 98, 109, 110, 97,
+  77, 65, 61, 58, 62, 72, 83, 83, 76, 68, 67, 53, 51, 51, 54, 63,
+  71, 76, 79, 95, 86, 82, 85, 87, 84, 78, 75, 73, 73, 72, 69, 64,
+  60, 58, 57, 60, 67, 72, 68, 57, 48, 47, 50, 52, 50, 52, 58, 60,
+  57, 54, 55, 54, 53, 55, 58, 57, 54, 58, 65, 60, 58, 60, 65, 64,
+  57, 51, 50, 48, 49, 51, 54, 56, 57, 57, 57, 67, 51, 39, 45, 59,
+  63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 183, 48, 53, 52, 48, 62, 68, 73, 86, 76, 84, 104,
+  70, 81, 87, 74, 69, 63, 65, 52, 51, 48, 62, 68, 58, 52, 61, 78,
+  89, 80, 105, 126, 124, 110, 101, 101, 103, 104, 110, 116, 110, 88, 68, 63,
+  70, 69, 74, 86, 96, 95, 83, 71, 66, 60, 60, 65, 75, 88, 94, 93,
+  89, 80, 75, 74, 79, 81, 78, 76, 76, 65, 63, 61, 61, 62, 66, 69,
+  71, 70, 75, 78, 73, 64, 55, 52, 52, 56, 51, 49, 52, 52, 48, 48,
+  52, 51, 57, 61, 63, 67, 68, 62, 53, 55, 53, 53, 59, 62, 58, 53,
+  52, 54, 57, 59, 60, 60, 62, 67, 71, 60, 63, 67, 65, 55, 46, 119,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 180, 34, 45, 56, 59, 56, 59, 70, 82, 93, 74, 91, 127, 86, 95,
+  112, 87, 77, 60, 62, 41, 53, 54, 54, 52, 57, 79, 98, 90, 67, 89,
+  102, 112, 109, 103, 102, 101, 99, 109, 102, 95, 89, 78, 67, 66, 72, 75,
+  81, 92, 103, 101, 88, 75, 69, 62, 64, 70, 85, 98, 101, 92, 82, 78,
+  80, 85, 91, 93, 91, 93, 98, 115, 104, 90, 79, 74, 71, 68, 66, 55,
+  56, 58, 57, 55, 53, 51, 50, 56, 50, 45, 45, 43, 41, 46, 56, 58,
+  62, 60, 55, 63, 74, 69, 56, 45, 51, 56, 59, 52, 44, 46, 54, 60,
+  65, 67, 68, 67, 72, 80, 89, 81, 66, 55, 56, 58, 52, 44, 112, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 179, 37,
+  54, 61, 53, 50, 52, 57, 56, 76, 94, 95, 107, 119, 110, 102, 136, 66,
+  86, 43, 63, 51, 43, 49, 53, 57, 59, 60, 66, 77, 86, 89, 107, 119,
+  114, 107, 108, 109, 108, 107, 102, 97, 89, 73, 61, 67, 82, 74, 91, 100,
+  94, 90, 89, 78, 61, 77, 67, 70, 91, 100, 91, 82, 83, 79, 83, 96,
+  115, 127, 124, 114, 109, 107, 104, 94, 84, 82, 82, 77, 70, 60, 57, 52,
+  49, 51, 54, 59, 61, 53, 46, 43, 49, 51, 47, 46, 48, 51, 58, 61,
+  58, 53, 53, 57, 63, 48, 41, 42, 53, 53, 41, 37, 44, 47, 60, 59,
+  52, 53, 53, 52, 61, 63, 77, 73, 56, 55, 69, 63, 39, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 180, 30, 38, 49, 47,
+  40, 41, 50, 67, 72, 84, 92, 96, 108, 113, 106, 106, 135, 73, 82, 46,
+  57, 50, 44, 45, 50, 53, 53, 54, 60, 69, 77, 79, 88, 95, 94, 91,
+  97, 106, 112, 102, 96, 87, 79, 70, 67, 75, 86, 95, 95, 109, 126, 116,
+  88, 74, 80, 59, 84, 101, 96, 86, 84, 83, 79, 92, 102, 115, 120, 109,
+  94, 88, 90, 97, 102, 105, 107, 106, 100, 83, 68, 59, 58, 57, 54, 51,
+  51, 53, 54, 49, 44, 44, 47, 46, 42, 45, 51, 63, 63, 61, 61, 60,
+  61, 60, 60, 61, 54, 44, 42, 47, 51, 49, 43, 42, 51, 55, 60, 71,
+  70, 58, 50, 63, 56, 57, 69, 73, 65, 55, 52, 43, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 182, 32, 36, 43, 47, 39, 34, 45,
+  62, 67, 84, 88, 85, 95, 106, 103, 100, 102, 124, 78, 72, 49, 48, 50,
+  45, 47, 49, 52, 52, 53, 57, 65, 71, 90, 87, 86, 84, 81, 84, 97,
+  111, 94, 94, 89, 81, 78, 82, 85, 85, 90, 88, 100, 116, 103, 72, 62,
+  73, 61, 81, 95, 92, 87, 88, 84, 74, 85, 89, 92, 90, 83, 82, 97,
+  114, 100, 100, 99, 96, 94, 93, 85, 76, 65, 67, 68, 65, 59, 55, 55,
+  56, 47, 48, 50, 53, 51, 50, 55, 64, 70, 64, 58, 59, 63, 64, 59,
+  55, 70, 73, 65, 50, 49, 58, 58, 47, 52, 54, 53, 54, 62, 71, 73,
+  71, 66, 54, 54, 68, 75, 65, 58, 59, 46, 114, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 39, 33, 37, 43, 44, 39, 40, 56, 76, 59,
+  84, 85, 78, 94, 103, 93, 92, 88, 104, 76, 60, 50, 41, 50, 47, 46,
+  49, 50, 51, 53, 57, 63, 68, 82, 73, 66, 62, 54, 48, 56, 70, 85,
+  95, 99, 91, 85, 86, 81, 73, 86, 102, 105, 92, 84, 85, 81, 70, 74,
+  74, 81, 88, 84, 73, 70, 76, 75, 67, 61, 61, 64, 69, 79, 88, 92,
+  91, 86, 76, 69, 70, 72, 71, 71, 74, 75, 72, 65, 61, 61, 63, 55,
+  58, 62, 68, 71, 73, 77, 81, 65, 57, 53, 56, 58, 59, 55, 55, 61,
+  75, 80, 69, 60, 63, 67, 66, 65, 69, 71, 61, 46, 50, 63, 69, 67,
+  76, 70, 53, 54, 70, 71, 59, 57, 48, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 40, 42, 37, 39, 40, 43, 43, 49, 64, 78, 59, 84, 86,
+  81, 94, 97, 85, 84, 79, 90, 74, 53, 50, 39, 47, 46, 42, 43, 44,
+  46, 48, 52, 57, 61, 78, 73, 71, 70, 62, 53, 58, 70, 83, 96, 102,
+  90, 77, 72, 69, 63, 83, 102, 101, 81, 80, 96, 90, 65, 72, 82, 92,
+  85, 63, 48, 60, 80, 67, 70, 78, 88, 90, 82, 72, 68, 69, 80, 88,
+  85, 77, 69, 63, 58, 69, 70, 71, 69, 65, 63, 65, 68, 70, 71, 75,
+  83, 91, 97, 94, 88, 63, 59, 57, 58, 57, 54, 57, 64, 60, 64, 70,
+  73, 72, 70, 74, 79, 70, 77, 94, 92, 67, 54, 49, 34, 56, 78, 76,
+  48, 44, 69, 78, 64, 63, 52, 113, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  209, 45, 46, 48, 49, 51, 54, 56, 63, 70, 77, 72, 84, 88, 87, 91,
+  87, 77, 74, 76, 82, 71, 54, 51, 44, 42, 44, 44, 44, 44, 45, 48,
+  51, 54, 56, 39, 46, 54, 58, 55, 54, 63, 76, 97, 103, 101, 86, 69,
+  64, 67, 72, 80, 84, 85, 87, 88, 86, 73, 60, 65, 86, 90, 71, 61,
+  73, 81, 77, 78, 87, 99, 104, 96, 83, 79, 82, 72, 83, 92, 94, 91,
+  85, 77, 69, 70, 70, 70, 70, 71, 72, 72, 74, 80, 81, 83, 89, 100,
+  106, 99, 88, 76, 73, 70, 69, 60, 55, 62, 76, 84, 71, 61, 65, 71,
+  71, 67, 64, 76, 73, 92, 105, 96, 93, 80, 48, 49, 58, 63, 60, 58,
+  63, 71, 74, 65, 53, 42, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 94, 49,
+  53, 52, 59, 64, 68, 69, 71, 75, 77, 80, 73, 79, 84, 76, 69, 66,
+  62, 67, 71, 62, 54, 49, 51, 38, 43, 48, 47, 46, 46, 47, 48, 49,
+  49, 39, 55, 68, 69, 68, 77, 94, 107, 106, 102, 95, 86, 74, 68, 73,
+  83, 96, 88, 90, 101, 98, 80, 68, 69, 70, 83, 83, 76, 85, 104, 99,
+  77, 94, 89, 84, 79, 71, 66, 70, 77, 93, 89, 83, 82, 88, 93, 88,
+  78, 71, 70, 70, 74, 79, 80, 76, 72, 79, 81, 83, 86, 95, 105, 103,
+  96, 95, 87, 80, 75, 62, 54, 60, 76, 85, 84, 77, 68, 67, 69, 65,
+  55, 74, 60, 75, 92, 93, 110, 116, 90, 65, 55, 56, 67, 68, 60, 63,
+  75, 74, 61, 48, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 49, 52, 58, 47,
+  58, 69, 73, 71, 72, 75, 76, 77, 58, 65, 75, 60, 52, 57, 53, 56,
+  61, 52, 52, 47, 56, 36, 44, 47, 44, 42, 41, 41, 40, 39, 38, 43,
+  62, 74, 68, 64, 77, 98, 112, 100, 91, 86, 86, 81, 72, 73, 82, 100,
+  95, 93, 94, 84, 70, 64, 68, 82, 90, 101, 106, 103, 95, 89, 87, 81,
+  69, 64, 76, 94, 106, 110, 110, 98, 86, 72, 74, 87, 95, 82, 65, 67,
+  65, 66, 73, 80, 80, 72, 65, 72, 77, 80, 82, 91, 103, 108, 107, 108,
+  95, 83, 74, 61, 50, 55, 68, 55, 83, 96, 80, 68, 74, 78, 70, 58,
+  48, 68, 82, 75, 93, 113, 96, 89, 72, 60, 63, 65, 62, 62, 68, 85,
+  72, 56, 115, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 185, 59, 65, 61, 54, 62, 62, 67,
+  75, 78, 76, 71, 70, 67, 67, 65, 58, 50, 50, 60, 70, 68, 62, 58,
+  58, 57, 51, 40, 34, 41, 39, 36, 45, 58, 50, 39, 43, 71, 73, 75,
+  79, 86, 93, 96, 96, 84, 94, 96, 83, 72, 72, 78, 83, 86, 89, 96,
+  97, 81, 64, 67, 82, 84, 85, 87, 88, 87, 88, 94, 102, 84, 77, 72,
+  77, 84, 85, 80, 75, 85, 84, 85, 86, 81, 72, 68, 69, 65, 79, 73,
+  66, 73, 65, 57, 70, 71, 70, 77, 89, 95, 96, 106, 119, 110, 110, 97,
+  74, 58, 56, 58, 59, 70, 73, 92, 105, 96, 84, 74, 60, 63, 53, 48,
+  55, 66, 77, 91, 103, 88, 82, 78, 79, 82, 77, 64, 52, 67, 67, 65,
+  58, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 180, 38, 49, 58, 61, 61, 66, 65, 70, 80, 84,
+  81, 75, 74, 56, 63, 71, 70, 61, 53, 49, 49, 70, 69, 64, 52, 39,
+  36, 43, 54, 52, 50, 40, 35, 39, 42, 60, 91, 90, 83, 80, 88, 102,
+  107, 97, 84, 101, 99, 90, 75, 69, 76, 84, 88, 91, 93, 92, 85, 81,
+  84, 90, 94, 96, 86, 80, 87, 100, 107, 104, 98, 71, 83, 99, 108, 105,
+  96, 89, 86, 78, 77, 80, 82, 80, 73, 72, 74, 72, 70, 52, 50, 70,
+  71, 59, 62, 72, 71, 73, 79, 87, 96, 109, 120, 114, 113, 101, 79, 61,
+  54, 52, 51, 51, 51, 66, 82, 86, 87, 87, 82, 69, 57, 48, 47, 52,
+  58, 70, 81, 90, 84, 78, 76, 79, 79, 74, 69, 66, 66, 68, 63, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 26, 31, 40, 53, 66, 74, 65, 65, 70, 79, 81, 76, 71,
+  69, 65, 61, 54, 47, 45, 52, 66, 75, 46, 58, 69, 67, 55, 45, 42,
+  44, 35, 45, 49, 54, 59, 57, 69, 96, 98, 91, 88, 95, 102, 100, 85,
+  71, 109, 99, 82, 71, 72, 81, 87, 88, 93, 94, 86, 76, 82, 96, 98,
+  87, 87, 93, 101, 105, 105, 103, 100, 98, 87, 94, 99, 96, 87, 80, 78,
+  78, 73, 71, 73, 76, 74, 69, 70, 74, 62, 67, 63, 61, 70, 70, 69,
+  77, 71, 73, 74, 77, 87, 101, 110, 113, 94, 93, 85, 69, 55, 49, 47,
+  45, 49, 44, 47, 58, 68, 74, 80, 83, 77, 66, 54, 46, 42, 43, 51,
+  59, 83, 78, 73, 71, 74, 78, 81, 83, 66, 66, 69, 66, 122, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 27, 30, 37, 52, 71, 85, 71, 70, 73, 79, 79, 71, 64, 61, 60,
+  60, 61, 63, 67, 72, 75, 78, 64, 60, 54, 48, 47, 50, 49, 46, 51,
+  49, 43, 50, 64, 70, 81, 102, 93, 94, 94, 92, 83, 73, 68, 69, 103,
+  93, 80, 74, 77, 83, 84, 83, 88, 87, 81, 78, 83, 89, 83, 71, 87,
+  104, 121, 123, 112, 100, 91, 87, 109, 101, 89, 79, 76, 76, 72, 65, 73,
+  70, 70, 70, 67, 62, 62, 67, 56, 66, 74, 75, 75, 73, 76, 83, 65,
+  74, 79, 81, 92, 104, 104, 96, 75, 74, 66, 56, 46, 42, 42, 42, 52,
+  48, 43, 47, 54, 55, 61, 74, 84, 78, 69, 59, 50, 45, 48, 53, 62,
+  64, 66, 68, 71, 75, 79, 81, 70, 68, 68, 65, 53, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 27, 31,
+  33, 36, 47, 65, 79, 86, 83, 83, 85, 83, 74, 66, 64, 59, 59, 61,
+  65, 66, 63, 54, 47, 61, 58, 49, 43, 45, 51, 48, 41, 58, 59, 55,
+  62, 75, 77, 83, 102, 99, 95, 91, 84, 73, 64, 67, 75, 97, 89, 80,
+  74, 73, 75, 79, 82, 84, 77, 76, 83, 84, 79, 77, 79, 105, 109, 111,
+  111, 112, 107, 91, 74, 94, 99, 101, 99, 99, 95, 83, 69, 71, 67, 65,
+  64, 61, 57, 59, 64, 71, 61, 58, 63, 70, 75, 70, 60, 61, 68, 72,
+  74, 82, 92, 89, 80, 80, 73, 62, 52, 43, 39, 39, 42, 40, 44, 41,
+  46, 55, 50, 53, 74, 84, 87, 85, 77, 65, 56, 52, 52, 43, 51, 61,
+  68, 71, 71, 72, 72, 79, 75, 70, 64, 53, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31, 35, 35, 33,
+  39, 50, 61, 87, 83, 81, 84, 83, 75, 68, 67, 72, 68, 65, 68, 70,
+  67, 55, 45, 28, 42, 54, 57, 58, 62, 60, 53, 55, 69, 79, 86, 88,
+  79, 82, 102, 109, 93, 81, 79, 80, 77, 79, 85, 96, 87, 77, 71, 68,
+  70, 79, 89, 81, 74, 76, 86, 86, 82, 90, 106, 99, 103, 100, 90, 85,
+  88, 89, 84, 77, 96, 109, 104, 91, 83, 77, 70, 66, 61, 60, 61, 59,
+  59, 64, 71, 80, 66, 63, 60, 53, 57, 61, 54, 61, 62, 60, 59, 63,
+  72, 75, 74, 76, 68, 58, 51, 45, 41, 43, 48, 34, 43, 43, 52, 66,
+  54, 47, 69, 73, 85, 92, 87, 75, 64, 56, 52, 42, 48, 58, 66, 70,
+  70, 70, 70, 87, 81, 75, 68, 58, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 34, 37, 36, 34, 37, 44,
+  53, 76, 72, 70, 75, 75, 72, 70, 71, 74, 77, 86, 99, 107, 97, 73,
+  54, 50, 53, 50, 46, 56, 76, 87, 87, 79, 82, 77, 76, 80, 80, 93,
+  120, 94, 82, 76, 80, 83, 81, 84, 92, 85, 77, 72, 73, 76, 80, 89,
+  98, 75, 79, 85, 88, 88, 90, 99, 108, 88, 101, 102, 84, 69, 74, 89,
+  98, 90, 104, 107, 90, 73, 68, 67, 65, 65, 60, 58, 59, 61, 63, 71,
+  79, 75, 70, 79, 75, 53, 51, 63, 59, 61, 58, 57, 61, 62, 64, 70,
+  77, 70, 61, 53, 52, 47, 42, 43, 48, 41, 48, 44, 57, 79, 61, 40,
+  55, 54, 72, 87, 86, 78, 70, 65, 60, 54, 53, 53, 55, 60, 65, 72,
+  75, 86, 81, 76, 72, 63, 120, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 29, 34, 37, 37, 36, 41, 47, 55, 67,
+  63, 64, 68, 74, 73, 75, 78, 81, 70, 59, 60, 69, 73, 67, 59, 73,
+  70, 63, 66, 84, 98, 86, 64, 71, 73, 73, 89, 105, 101, 89, 95, 67,
+  69, 76, 83, 76, 69, 78, 96, 68, 63, 67, 80, 91, 95, 99, 104, 70,
+  85, 95, 92, 90, 95, 95, 89, 103, 106, 100, 89, 87, 97, 98, 93, 111,
+  117, 111, 99, 90, 89, 79, 66, 66, 61, 59, 60, 61, 64, 71, 82, 75,
+  62, 71, 81, 74, 74, 69, 46, 61, 60, 64, 73, 74, 69, 72, 82, 80,
+  70, 61, 58, 51, 41, 36, 37, 43, 47, 40, 58, 89, 70, 40, 50, 36,
+  59, 79, 83, 78, 75, 74, 71, 67, 58, 48, 43, 48, 60, 73, 81, 80,
+  77, 75, 73, 65, 55, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 23, 37, 36, 29, 36, 47, 56, 64, 65, 71, 79,
+  82, 75, 71, 73, 78, 81, 71, 61, 57, 59, 63, 65, 66, 68, 76, 91,
+  103, 106, 96, 77, 62, 50, 64, 73, 82, 100, 114, 96, 67, 66, 82, 91,
+  91, 88, 88, 80, 70, 57, 74, 67, 88, 101, 121, 89, 70, 98, 100, 98,
+  90, 82, 84, 98, 111, 105, 106, 104, 102, 100, 105, 114, 123, 118, 105, 92,
+  90, 85, 77, 69, 67, 68, 65, 64, 66, 67, 67, 63, 61, 52, 60, 66,
+  67, 69, 74, 71, 65, 60, 58, 60, 62, 61, 57, 59, 62, 58, 56, 51,
+  49, 46, 43, 39, 37, 44, 34, 44, 71, 78, 60, 47, 49, 49, 47, 68,
+  76, 76, 89, 84, 67, 65, 61, 60, 59, 54, 51, 60, 72, 78, 74, 73,
+  75, 70, 60, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 39, 49, 43, 33, 41, 54, 62, 72, 61, 68, 75, 79, 77,
+  78, 85, 92, 70, 72, 71, 62, 54, 57, 71, 86, 86, 88, 90, 89, 84,
+  73, 59, 50, 73, 67, 75, 97, 106, 92, 76, 70, 73, 78, 84, 90, 96,
+  95, 84, 71, 78, 87, 95, 118, 120, 106, 84, 90, 75, 78, 84, 89, 96,
+  105, 115, 122, 111, 104, 98, 96, 98, 103, 108, 110, 102, 92, 85, 87, 89,
+  86, 84, 84, 79, 75, 74, 76, 80, 81, 76, 72, 57, 61, 63, 62, 63,
+  66, 62, 55, 54, 54, 54, 56, 55, 51, 52, 57, 61, 58, 52, 48, 44,
+  42, 41, 41, 43, 37, 45, 64, 71, 60, 52, 53, 48, 72, 57, 62, 74,
+  68, 78, 75, 83, 68, 57, 60, 66, 65, 60, 57, 67, 73, 81, 82, 72,
+  57, 118, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 41, 48, 37, 27, 37, 53, 62, 71, 73, 77, 81, 79, 75, 76, 81,
+  87, 73, 65, 57, 53, 58, 68, 80, 86, 94, 101, 112, 117, 114, 104, 93,
+  85, 82, 69, 71, 88, 88, 71, 63, 72, 78, 83, 93, 103, 101, 89, 77,
+  71, 85, 99, 117, 118, 111, 78, 73, 87, 85, 87, 94, 106, 120, 128, 130,
+  127, 111, 100, 90, 89, 96, 103, 104, 101, 100, 94, 90, 94, 98, 99, 98,
+  99, 86, 81, 78, 78, 81, 81, 76, 73, 64, 62, 60, 58, 60, 62, 57,
+  50, 61, 60, 60, 61, 59, 55, 56, 61, 64, 60, 54, 48, 43, 40, 40,
+  41, 42, 41, 47, 57, 63, 61, 59, 58, 54, 67, 74, 47, 68, 77, 47,
+  87, 81, 78, 75, 72, 65, 57, 55, 57, 59, 63, 71, 77, 75, 64, 56,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 180, 45,
+  51, 43, 35, 49, 65, 72, 78, 81, 85, 85, 79, 72, 72, 73, 75, 69,
+  57, 46, 47, 59, 71, 75, 75, 74, 84, 97, 106, 107, 103, 100, 99, 81,
+  74, 67, 64, 65, 68, 71, 74, 81, 94, 112, 116, 96, 72, 68, 78, 90,
+  111, 123, 88, 83, 62, 70, 71, 91, 90, 91, 95, 101, 102, 99, 94, 105,
+  96, 88, 88, 95, 101, 103, 101, 110, 106, 103, 102, 102, 100, 97, 95, 90,
+  86, 81, 75, 70, 68, 68, 70, 69, 63, 57, 56, 61, 63, 59, 52, 53,
+  51, 50, 50, 47, 42, 43, 48, 60, 59, 55, 49, 44, 40, 40, 41, 41,
+  46, 51, 54, 59, 63, 63, 59, 45, 82, 55, 68, 84, 61, 74, 72, 75,
+  80, 83, 78, 65, 55, 54, 59, 62, 50, 47, 59, 73, 74, 64, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 34, 39, 48, 44,
+  40, 53, 64, 67, 69, 70, 77, 80, 75, 73, 75, 76, 73, 53, 57, 59,
+  57, 54, 56, 64, 72, 69, 69, 65, 62, 61, 69, 80, 89, 92, 82, 71,
+  67, 70, 74, 76, 78, 91, 98, 107, 106, 88, 72, 79, 97, 112, 115, 109,
+  69, 72, 62, 74, 75, 82, 81, 80, 78, 78, 79, 82, 84, 102, 99, 96,
+  94, 94, 97, 101, 103, 112, 110, 107, 103, 99, 96, 92, 88, 95, 94, 89,
+  80, 69, 66, 73, 81, 75, 66, 59, 59, 62, 63, 59, 55, 53, 51, 49,
+  47, 43, 39, 40, 44, 52, 53, 55, 53, 50, 48, 49, 51, 44, 50, 54,
+  56, 60, 65, 63, 55, 65, 46, 79, 73, 74, 93, 69, 79, 83, 77, 72,
+  72, 76, 74, 64, 53, 68, 53, 43, 50, 63, 68, 65, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 42, 41, 54, 55, 51, 60,
+  65, 62, 61, 67, 75, 77, 72, 72, 76, 75, 71, 62, 61, 60, 61, 62,
+  62, 60, 60, 62, 62, 62, 64, 70, 81, 93, 102, 102, 81, 74, 86, 86,
+  72, 68, 79, 103, 95, 87, 85, 87, 93, 105, 115, 116, 97, 77, 65, 73,
+  62, 68, 84, 74, 77, 81, 83, 85, 92, 104, 114, 106, 109, 110, 106, 100,
+  97, 100, 104, 110, 113, 113, 109, 107, 106, 103, 99, 98, 98, 97, 88, 78,
+  76, 86, 95, 83, 73, 66, 66, 66, 63, 59, 59, 64, 60, 57, 55, 50,
+  45, 45, 50, 45, 49, 54, 55, 56, 58, 62, 67, 55, 55, 56, 59, 64,
+  66, 60, 50, 70, 68, 56, 83, 79, 72, 102, 78, 80, 81, 80, 76, 76,
+  76, 71, 66, 70, 66, 63, 59, 54, 53, 62, 75, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 43, 56, 74, 78, 74, 79, 81, 75,
+  75, 76, 83, 81, 72, 70, 76, 75, 69, 76, 65, 56, 60, 71, 74, 62,
+  49, 49, 54, 62, 72, 83, 92, 96, 99, 92, 82, 79, 84, 83, 74, 76,
+  87, 101, 96, 89, 87, 96, 109, 116, 114, 92, 83, 64, 73, 75, 74, 68,
+  84, 78, 84, 88, 93, 95, 102, 109, 117, 112, 116, 119, 116, 109, 105, 105,
+  107, 113, 119, 121, 119, 118, 119, 117, 113, 102, 102, 100, 96, 92, 90, 93,
+  95, 90, 82, 76, 77, 76, 71, 69, 72, 58, 54, 50, 47, 41, 36, 36,
+  41, 48, 51, 53, 52, 52, 56, 64, 73, 69, 61, 56, 61, 67, 65, 56,
+  48, 78, 65, 75, 69, 75, 84, 74, 92, 77, 87, 90, 80, 68, 66, 71,
+  75, 67, 71, 74, 70, 58, 52, 62, 77, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 184, 39, 47, 67, 73, 69, 73, 75, 71, 72, 77,
+  83, 80, 70, 68, 79, 81, 76, 70, 69, 69, 68, 65, 61, 59, 59, 72,
+  67, 62, 63, 67, 73, 77, 78, 75, 89, 87, 70, 67, 86, 101, 102, 90,
+  102, 109, 106, 105, 110, 110, 103, 70, 90, 80, 85, 81, 99, 85, 85, 108,
+  110, 112, 113, 111, 108, 107, 106, 113, 117, 121, 121, 118, 114, 112, 112, 115,
+  122, 125, 121, 120, 121, 119, 113, 110, 107, 104, 104, 105, 102, 96, 90, 93,
+  87, 83, 86, 85, 81, 81, 87, 63, 59, 54, 51, 45, 39, 40, 45, 55,
+  54, 52, 47, 44, 48, 58, 68, 80, 64, 55, 61, 68, 63, 54, 48, 66,
+  87, 71, 69, 87, 70, 64, 88, 89, 86, 78, 70, 71, 75, 71, 61, 65,
+  66, 69, 72, 68, 63, 65, 71, 131, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 24, 28, 42, 56, 77, 81, 67, 66, 72, 68, 74, 79, 81,
+  76, 71, 71, 71, 69, 69, 64, 66, 76, 79, 67, 50, 41, 56, 62, 67,
+  73, 77, 76, 74, 72, 70, 68, 65, 67, 80, 95, 100, 97, 96, 94, 96,
+  103, 106, 100, 94, 91, 85, 84, 89, 98, 101, 98, 100, 106, 117, 115, 112,
+  111, 112, 115, 118, 122, 122, 123, 124, 125, 125, 123, 118, 114, 116, 119, 123,
+  124, 123, 121, 121, 121, 113, 116, 117, 115, 111, 109, 111, 113, 104, 98, 95,
+  94, 92, 89, 90, 94, 71, 63, 58, 62, 61, 52, 44, 43, 47, 59, 60,
+  46, 42, 54, 62, 59, 63, 61, 59, 59, 59, 56, 51, 47, 54, 77, 91,
+  81, 71, 75, 80, 79, 87, 81, 82, 88, 83, 69, 65, 70, 62, 68, 64,
+  60, 61, 59, 66, 86, 72, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 28, 33, 47, 56, 75, 83, 73, 70, 74, 72, 75, 81, 83, 77, 72,
+  72, 73, 71, 84, 73, 65, 67, 76, 90, 110, 126, 78, 69, 58, 59, 66,
+  69, 62, 55, 64, 71, 79, 88, 97, 102, 96, 87, 87, 84, 84, 89, 91,
+  90, 92, 95, 110, 108, 112, 118, 118, 113, 113, 118, 120, 120, 120, 121, 123,
+  125, 127, 129, 125, 125, 125, 125, 126, 124, 120, 117, 119, 121, 124, 124, 123,
+  122, 122, 122, 118, 117, 117, 114, 112, 110, 109, 110, 111, 104, 98, 96, 94,
+  92, 96, 102, 97, 84, 69, 61, 58, 53, 46, 42, 43, 53, 52, 40, 39,
+  52, 58, 53, 59, 57, 55, 54, 53, 50, 46, 41, 42, 62, 82, 87, 86,
+  87, 84, 77, 84, 72, 74, 88, 87, 69, 59, 64, 60, 60, 52, 50, 56,
+  56, 60, 75, 83, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 28,
+  33, 50, 51, 70, 86, 80, 73, 75, 76, 76, 82, 84, 79, 74, 74, 75,
+  74, 81, 75, 68, 62, 58, 62, 78, 94, 98, 85, 70, 63, 61, 62, 61,
+  58, 58, 71, 85, 94, 97, 95, 85, 75, 82, 80, 80, 83, 85, 89, 99,
+  110, 112, 111, 114, 117, 115, 112, 111, 115, 123, 125, 127, 130, 132, 133, 133,
+  134, 129, 127, 125, 124, 125, 124, 122, 120, 121, 122, 123, 123, 121, 122, 123,
+  125, 127, 124, 122, 120, 120, 118, 115, 113, 113, 105, 97, 93, 90, 89, 93,
+  100, 112, 102, 84, 69, 63, 59, 51, 42, 45, 52, 50, 40, 41, 53, 57,
+  53, 58, 57, 55, 54, 53, 50, 46, 43, 43, 54, 73, 90, 100, 102, 97,
+  91, 85, 69, 67, 83, 90, 76, 63, 62, 71, 65, 51, 48, 57, 58, 57,
+  68, 93, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 177, 23, 27, 47,
+  43, 62, 84, 82, 73, 74, 75, 76, 82, 84, 79, 74, 75, 76, 75, 64,
+  70, 76, 75, 68, 61, 60, 63, 90, 93, 91, 80, 66, 61, 67, 75, 60,
+  70, 79, 80, 78, 77, 73, 68, 76, 79, 84, 89, 91, 94, 107, 120, 116,
+  118, 122, 124, 124, 124, 125, 128, 126, 128, 129, 131, 132, 133, 132, 133, 131,
+  128, 125, 124, 124, 124, 123, 122, 122, 123, 122, 121, 120, 121, 124, 127, 130,
+  126, 123, 122, 125, 124, 121, 117, 111, 106, 101, 99, 94, 88, 86, 89, 103,
+  104, 97, 84, 74, 68, 59, 48, 45, 53, 52, 42, 39, 48, 53, 53, 54,
+  53, 52, 52, 51, 50, 49, 48, 51, 52, 62, 80, 95, 101, 104, 106, 97,
+  81, 67, 70, 84, 89, 80, 67, 80, 73, 58, 52, 58, 56, 55, 65, 81,
+  142, 255, 255, 255, 255, 255, 255, 255, 255, 255, 20, 22, 24, 39, 35, 55,
+  78, 79, 71, 72, 73, 76, 82, 83, 80, 75, 77, 77, 76, 78, 79, 79,
+  77, 75, 75, 75, 75, 76, 85, 93, 88, 76, 68, 70, 75, 74, 80, 82,
+  78, 73, 73, 74, 74, 70, 77, 89, 98, 99, 99, 107, 118, 122, 126, 129,
+  130, 131, 133, 135, 137, 133, 132, 131, 130, 130, 130, 131, 131, 131, 128, 124,
+  123, 123, 124, 123, 123, 122, 122, 121, 119, 118, 120, 123, 127, 125, 121, 119,
+  119, 122, 122, 120, 117, 113, 111, 112, 112, 106, 94, 83, 80, 92, 99, 101,
+  92, 81, 72, 66, 62, 42, 51, 51, 41, 33, 38, 45, 49, 45, 45, 45,
+  44, 45, 47, 51, 53, 51, 48, 52, 66, 80, 89, 97, 104, 114, 103, 77,
+  58, 69, 93, 91, 70, 73, 72, 61, 53, 53, 48, 51, 66, 58, 85, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 22, 24, 25, 31, 32, 54, 75, 76,
+  73, 74, 73, 79, 85, 87, 82, 79, 80, 82, 81, 87, 84, 76, 71, 72,
+  77, 77, 74, 84, 85, 88, 92, 94, 90, 82, 74, 94, 101, 102, 99, 94,
+  93, 91, 89, 79, 89, 101, 112, 111, 109, 112, 120, 123, 128, 129, 127, 126,
+  129, 130, 129, 137, 136, 134, 132, 131, 130, 131, 131, 131, 129, 125, 124, 124,
+  125, 124, 123, 122, 122, 121, 120, 118, 120, 123, 126, 123, 122, 121, 121, 122,
+  123, 122, 121, 112, 112, 115, 117, 110, 94, 80, 75, 92, 95, 98, 96, 85,
+  74, 71, 75, 46, 52, 52, 43, 36, 39, 46, 50, 46, 45, 44, 42, 44,
+  49, 57, 63, 50, 48, 51, 61, 77, 89, 95, 94, 118, 118, 95, 63, 60,
+  82, 88, 75, 67, 72, 66, 59, 55, 49, 54, 73, 55, 84, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 22, 23, 24, 27, 36, 60, 77, 77, 80, 83,
+  77, 85, 91, 93, 89, 86, 86, 88, 88, 78, 82, 85, 86, 93, 101, 102,
+  98, 103, 100, 97, 100, 107, 110, 107, 102, 113, 118, 119, 117, 113, 113, 108,
+  104, 101, 107, 115, 123, 122, 119, 121, 128, 133, 139, 140, 134, 133, 136, 137,
+  135, 134, 135, 135, 135, 134, 133, 132, 131, 132, 130, 128, 127, 127, 127, 125,
+  124, 122, 123, 123, 122, 121, 121, 124, 126, 125, 126, 126, 125, 123, 122, 123,
+  124, 116, 114, 114, 114, 107, 93, 83, 80, 92, 87, 92, 104, 101, 84, 75,
+  79, 53, 52, 48, 43, 45, 50, 52, 52, 51, 50, 46, 43, 44, 51, 63,
+  71, 55, 52, 49, 55, 76, 98, 101, 91, 103, 116, 113, 89, 67, 68, 81,
+  91, 74, 79, 75, 67, 63, 55, 57, 75, 70, 78, 255, 255, 255, 255, 255,
+  255, 255, 255, 177, 21, 20, 20, 27, 41, 65, 79, 79, 85, 89, 81, 89,
+  95, 97, 94, 90, 92, 94, 93, 97, 101, 101, 97, 97, 103, 106, 102, 109,
+  111, 111, 109, 107, 113, 125, 135, 125, 127, 125, 121, 119, 120, 117, 113, 117,
+  117, 120, 124, 124, 122, 125, 133, 129, 136, 136, 131, 129, 134, 135, 133, 128,
+  131, 133, 136, 135, 134, 130, 129, 133, 131, 129, 129, 128, 129, 126, 125, 122,
+  124, 124, 124, 122, 123, 124, 127, 122, 124, 125, 123, 118, 116, 118, 121, 125,
+  120, 117, 115, 108, 98, 93, 94, 86, 77, 88, 115, 119, 96, 77, 76, 53,
+  46, 38, 38, 47, 55, 53, 48, 52, 49, 44, 40, 40, 47, 60, 70, 59,
+  51, 38, 41, 69, 101, 105, 90, 86, 106, 125, 115, 81, 60, 78, 109, 82,
+  85, 78, 70, 65, 55, 53, 67, 81, 67, 133, 255, 255, 255, 255, 255, 255,
+  255, 16, 19, 20, 20, 34, 51, 71, 84, 86, 84, 84, 86, 83, 85, 90,
+  94, 97, 98, 97, 96, 98, 100, 103, 104, 106, 109, 113, 117, 118, 116, 116,
+  120, 126, 133, 134, 134, 137, 136, 135, 130, 122, 118, 118, 120, 121, 119, 121,
+  126, 127, 124, 124, 128, 132, 133, 134, 135, 134, 132, 129, 127, 132, 131, 130,
+  130, 130, 131, 133, 134, 131, 133, 134, 131, 127, 126, 128, 131, 129, 128, 128,
+  127, 126, 125, 124, 123, 127, 126, 126, 125, 124, 122, 122, 121, 127, 127, 125,
+  118, 110, 103, 98, 97, 78, 88, 84, 90, 115, 113, 88, 79, 72, 57, 47,
+  49, 48, 42, 41, 47, 47, 49, 56, 51, 37, 43, 59, 64, 57, 69, 59,
+  38, 46, 85, 106, 99, 87, 93, 120, 107, 87, 72, 64, 109, 94, 73, 84,
+  60, 85, 54, 68, 58, 79, 85, 78, 255, 255, 255, 255, 255, 255, 255, 19,
+  21, 21, 21, 36, 62, 84, 85, 81, 87, 89, 86, 84, 86, 90, 93, 96,
+  97, 96, 97, 99, 102, 106, 110, 112, 115, 119, 122, 127, 125, 124, 126, 131,
+  135, 136, 136, 134, 134, 133, 130, 125, 123, 123, 124, 131, 128, 129, 133, 133,
+  130, 129, 131, 133, 134, 135, 135, 134, 132, 131, 130, 130, 129, 129, 128, 129,
+  130, 131, 132, 128, 129, 129, 127, 125, 124, 125, 127, 126, 125, 125, 124, 123,
+  122, 122, 121, 122, 121, 122, 122, 122, 121, 122, 122, 121, 121, 119, 115, 107,
+  100, 97, 95, 92, 95, 93, 103, 123, 124, 102, 83, 77, 63, 54, 58, 59,
+  51, 45, 47, 46, 45, 52, 49, 38, 43, 58, 61, 63, 73, 71, 52, 45,
+  65, 91, 104, 97, 91, 102, 111, 104, 77, 67, 99, 104, 83, 83, 66, 84,
+  65, 72, 65, 69, 79, 79, 255, 255, 255, 255, 255, 255, 255, 23, 22, 21,
+  19, 44, 76, 93, 84, 78, 89, 96, 89, 94, 95, 96, 98, 100, 102, 102,
+  103, 103, 107, 113, 117, 120, 122, 125, 128, 135, 134, 132, 133, 135, 137, 137,
+  136, 137, 136, 133, 133, 134, 135, 135, 134, 138, 135, 135, 138, 137, 133, 132,
+  134, 135, 134, 133, 132, 131, 131, 131, 131, 132, 131, 131, 131, 131, 132, 133,
+  134, 132, 131, 129, 128, 128, 129, 128, 127, 128, 127, 127, 126, 125, 125, 124,
+  124, 123, 123, 124, 125, 125, 126, 127, 127, 116, 117, 118, 115, 108, 101, 97,
+  95, 93, 83, 85, 100, 113, 120, 103, 74, 74, 62, 55, 62, 67, 61, 51,
+  48, 47, 42, 47, 47, 39, 43, 54, 55, 65, 77, 82, 68, 48, 49, 79,
+  109, 105, 91, 82, 111, 118, 82, 72, 86, 109, 94, 82, 76, 79, 75, 74,
+  72, 67, 81, 85, 255, 255, 255, 255, 255, 255, 255, 22, 20, 18, 19, 62,
+  81, 90, 83, 78, 88, 96, 95, 99, 98, 98, 100, 102, 104, 108, 109, 109,
+  113, 119, 123, 125, 126, 128, 129, 136, 135, 134, 135, 135, 136, 135, 135, 139,
+  136, 133, 134, 138, 141, 140, 138, 137, 134, 133, 136, 135, 132, 131, 134, 134,
+  134, 130, 129, 127, 129, 129, 131, 129, 130, 129, 131, 130, 132, 131, 133, 134,
+  132, 128, 128, 130, 131, 129, 126, 127, 127, 126, 126, 125, 125, 124, 124, 122,
+  122, 124, 124, 124, 125, 126, 126, 117, 119, 120, 118, 111, 103, 99, 96, 102,
+  83, 86, 101, 110, 123, 116, 84, 69, 56, 49, 56, 65, 64, 55, 49, 50,
+  41, 45, 48, 41, 42, 48, 47, 54, 69, 79, 68, 49, 48, 72, 96, 99,
+  95, 74, 103, 113, 81, 78, 77, 102, 99, 84, 87, 73, 81, 73, 78, 75,
+  85, 88, 255, 255, 255, 255, 255, 255, 255, 21, 18, 19, 24, 82, 79, 79,
+  81, 84, 85, 93, 101, 94, 94, 94, 96, 100, 104, 108, 111, 114, 118, 123,
+  126, 126, 126, 127, 128, 130, 131, 132, 132, 132, 132, 132, 132, 134, 131, 128,
+  130, 134, 136, 134, 132, 132, 129, 129, 132, 131, 129, 129, 133, 132, 131, 127,
+  125, 124, 126, 126, 129, 121, 122, 122, 124, 123, 124, 123, 125, 130, 128, 124,
+  124, 126, 127, 125, 122, 121, 121, 121, 120, 120, 120, 120, 119, 117, 117, 118,
+  118, 117, 117, 118, 118, 121, 122, 123, 119, 112, 104, 98, 95, 103, 83, 83,
+  94, 101, 119, 121, 97, 76, 62, 49, 51, 58, 60, 54, 48, 53, 43, 46,
+  50, 43, 40, 43, 40, 42, 57, 64, 54, 47, 53, 64, 70, 86, 99, 80,
+  90, 95, 77, 83, 76, 90, 99, 89, 97, 74, 84, 74, 82, 84, 88, 85,
+  255, 255, 255, 255, 255, 255, 255, 21, 19, 28, 40, 91, 78, 75, 85, 91,
+  89, 94, 104, 97, 97, 99, 102, 106, 110, 114, 116, 118, 121, 124, 126, 125,
+  125, 126, 127, 126, 128, 130, 130, 129, 129, 129, 130, 133, 132, 130, 131, 132,
+  133, 132, 132, 131, 128, 127, 130, 130, 128, 129, 133, 130, 128, 126, 124, 123,
+  123, 125, 126, 121, 122, 123, 124, 124, 124, 124, 124, 130, 129, 127, 126, 126,
+  127, 126, 125, 122, 121, 121, 121, 121, 121, 121, 121, 118, 118, 119, 118, 118,
+  117, 118, 118, 122, 123, 123, 119, 111, 103, 99, 96, 96, 85, 81, 85, 92,
+  108, 115, 106, 96, 80, 62, 54, 54, 55, 51, 47, 54, 44, 48, 54, 46,
+  39, 41, 39, 46, 56, 58, 51, 52, 60, 63, 59, 80, 96, 87, 81, 83,
+  80, 83, 81, 81, 95, 92, 100, 80, 89, 79, 84, 92, 94, 91, 137, 255,
+  255, 255, 255, 255, 180, 25, 25, 43, 63, 86, 83, 85, 91, 96, 98, 101,
+  105, 106, 106, 109, 112, 115, 118, 121, 122, 119, 120, 122, 123, 124, 125, 127,
+  129, 127, 130, 132, 132, 129, 127, 128, 129, 134, 135, 135, 134, 133, 133, 134,
+  136, 133, 129, 127, 129, 128, 126, 127, 130, 130, 128, 127, 125, 124, 124, 125,
+  125, 126, 127, 128, 129, 130, 129, 129, 129, 130, 132, 131, 129, 127, 127, 128,
+  129, 125, 125, 125, 125, 125, 126, 126, 126, 121, 122, 123, 123, 123, 124, 125,
+  125, 124, 125, 124, 120, 113, 107, 104, 102, 99, 103, 96, 92, 100, 110, 115,
+  122, 112, 98, 76, 61, 55, 54, 51, 48, 52, 43, 51, 60, 50, 41, 43,
+  43, 53, 52, 54, 55, 55, 54, 62, 70, 87, 87, 87, 80, 87, 90, 79,
+  87, 76, 85, 85, 90, 84, 92, 84, 81, 92, 99, 102, 91, 255, 255, 255,
+  255, 255, 33, 30, 32, 55, 81, 76, 88, 97, 97, 99, 106, 108, 103, 109,
+  110, 112, 115, 117, 118, 119, 120, 117, 119, 121, 123, 123, 126, 129, 132, 131,
+  134, 136, 135, 132, 129, 129, 130, 130, 133, 134, 133, 131, 131, 133, 137, 134,
+  129, 126, 127, 126, 122, 123, 126, 130, 129, 128, 127, 126, 125, 125, 126, 125,
+  126, 128, 129, 130, 129, 128, 128, 125, 128, 129, 127, 123, 122, 124, 127, 124,
+  124, 124, 124, 124, 124, 124, 124, 119, 119, 121, 122, 124, 125, 127, 127, 127,
+  127, 126, 122, 116, 112, 110, 110, 88, 103, 95, 86, 94, 98, 101, 117, 117,
+  104, 84, 66, 58, 56, 53, 51, 49, 42, 52, 62, 52, 42, 45, 48, 50,
+  41, 44, 55, 51, 41, 55, 81, 97, 78, 84, 82, 96, 99, 75, 92, 74,
+  77, 77, 79, 85, 92, 86, 75, 83, 96, 106, 96, 255, 255, 255, 255, 255,
+  38, 17, 26, 82, 84, 81, 83, 89, 94, 97, 100, 102, 102, 107, 109, 113,
+  116, 116, 117, 119, 121, 118, 119, 120, 121, 121, 124, 129, 132, 134, 134, 134,
+  134, 134, 134, 134, 134, 130, 130, 131, 131, 131, 132, 132, 132, 129, 128, 128,
+  127, 126, 127, 128, 128, 127, 128, 128, 126, 123, 122, 122, 123, 131, 130, 130,
+  130, 131, 130, 127, 125, 131, 130, 128, 128, 130, 131, 132, 132, 126, 126, 125,
+  125, 124, 124, 125, 126, 118, 118, 120, 121, 123, 124, 126, 127, 125, 124, 126,
+  126, 118, 109, 110, 117, 95, 95, 94, 96, 97, 103, 110, 115, 101, 113, 88,
+  57, 60, 65, 56, 54, 46, 43, 53, 57, 49, 47, 50, 46, 49, 57, 48,
+  43, 52, 46, 44, 63, 87, 101, 73, 87, 96, 78, 92, 84, 74, 63, 81,
+  81, 94, 78, 83, 68, 83, 94, 104, 95, 255, 255, 255, 255, 255, 29, 17,
+  37, 90, 88, 87, 89, 94, 99, 103, 106, 107, 108, 105, 107, 111, 113, 114,
+  115, 117, 119, 115, 118, 121, 124, 125, 126, 129, 131, 132, 132, 132, 132, 132,
+  132, 132, 132, 133, 133, 133, 134, 134, 134, 135, 135, 131, 130, 130, 130, 129,
+  130, 131, 131, 130, 131, 132, 131, 129, 128, 129, 131, 133, 131, 130, 129, 129,
+  127, 124, 123, 130, 129, 127, 127, 130, 132, 132, 132, 130, 130, 129, 127, 124,
+  123, 123, 124, 117, 117, 119, 121, 122, 123, 125, 126, 125, 124, 125, 125, 118,
+  109, 110, 116, 103, 101, 98, 96, 95, 98, 104, 109, 118, 104, 85, 78, 75,
+  64, 65, 82, 49, 41, 48, 55, 47, 43, 47, 46, 46, 53, 46, 43, 50,
+  43, 40, 56, 79, 97, 78, 79, 95, 89, 91, 91, 77, 65, 80, 81, 91,
+  79, 84, 70, 82, 94, 105, 97, 255, 255, 255, 255, 176, 22, 20, 53, 97,
+  89, 90, 92, 97, 103, 107, 110, 111, 111, 110, 112, 115, 116, 116, 117, 120,
+  122, 118, 122, 127, 130, 131, 131, 132, 133, 134, 134, 134, 134, 134, 134, 134,
+  134, 132, 132, 132, 133, 133, 133, 133, 133, 131, 131, 130, 130, 130, 131, 131,
+  133, 133, 134, 135, 135, 134, 134, 136, 138, 141, 138, 135, 132, 131, 130, 128,
+  127, 129, 128, 126, 126, 129, 131, 132, 132, 133, 133, 132, 129, 124, 121, 120,
+  121, 122, 122, 124, 125, 126, 127, 129, 129, 123, 123, 124, 123, 118, 111, 111,
+  115, 105, 102, 97, 94, 91, 94, 100, 105, 113, 89, 82, 88, 80, 72, 86,
+  106, 58, 43, 46, 54, 47, 41, 46, 49, 49, 53, 50, 49, 53, 46, 41,
+  52, 70, 93, 90, 71, 89, 99, 83, 97, 82, 69, 78, 81, 88, 81, 84,
+  73, 81, 92, 104, 99, 255, 255, 255, 255, 21, 18, 27, 67, 99, 86, 89,
+  91, 97, 102, 106, 109, 110, 110, 112, 114, 116, 116, 117, 118, 121, 123, 122,
+  125, 128, 129, 129, 129, 130, 131, 132, 132, 132, 132, 132, 132, 132, 132, 126,
+  126, 126, 127, 127, 128, 127, 127, 128, 128, 127, 127, 129, 130, 130, 132, 134,
+  135, 135, 135, 132, 134, 135, 139, 142, 140, 135, 133, 131, 132, 129, 130, 126,
+  125, 124, 124, 127, 130, 131, 131, 131, 133, 133, 129, 124, 119, 119, 120, 122,
+  122, 124, 125, 126, 127, 128, 129, 122, 123, 123, 122, 117, 113, 113, 115, 106,
+  103, 98, 96, 94, 98, 105, 110, 99, 87, 89, 87, 71, 78, 95, 96, 69,
+  48, 46, 56, 50, 43, 49, 54, 49, 50, 52, 54, 54, 46, 41, 44, 60,
+  89, 106, 68, 80, 99, 72, 99, 88, 74, 77, 82, 85, 84, 85, 76, 80,
+  89, 101, 100, 255, 255, 255, 255, 22, 14, 32, 77, 96, 84, 88, 90, 95,
+  100, 105, 107, 108, 108, 109, 110, 112, 112, 112, 113, 116, 119, 121, 121, 121,
+  120, 118, 118, 120, 123, 124, 124, 124, 124, 124, 124, 124, 124, 123, 123, 123,
+  124, 123, 123, 124, 124, 123, 124, 124, 125, 126, 128, 130, 131, 134, 135, 133,
+  132, 129, 131, 132, 136, 136, 134, 130, 129, 128, 129, 127, 127, 125, 124, 123,
+  123, 126, 128, 129, 129, 126, 129, 131, 128, 122, 118, 118, 120, 116, 116, 118,
+  118, 119, 120, 121, 121, 122, 123, 124, 121, 118, 117, 116, 115, 108, 106, 101,
+  99, 98, 102, 108, 113, 105, 94, 99, 97, 76, 74, 83, 78, 75, 52, 47,
+  54, 51, 48, 53, 55, 46, 43, 48, 53, 48, 41, 38, 35, 46, 79, 114,
+  73, 73, 96, 71, 102, 94, 80, 76, 86, 84, 89, 87, 79, 82, 86, 97,
+  101, 255, 255, 255, 255, 20, 13, 40, 85, 92, 87, 91, 91, 96, 102, 106,
+  109, 110, 110, 112, 113, 114, 113, 113, 115, 118, 121, 123, 122, 121, 118, 116,
+  117, 120, 122, 123, 123, 123, 123, 123, 123, 123, 124, 126, 126, 126, 126, 126,
+  126, 127, 127, 124, 125, 125, 127, 128, 131, 133, 134, 136, 137, 135, 133, 131,
+  131, 134, 137, 138, 136, 133, 132, 132, 131, 130, 128, 128, 127, 124, 124, 126,
+  128, 129, 128, 122, 127, 131, 128, 122, 117, 118, 120, 116, 116, 118, 118, 119,
+  119, 121, 121, 122, 125, 124, 121, 120, 120, 120, 116, 106, 104, 100, 97, 93,
+  94, 98, 101, 109, 93, 97, 109, 97, 77, 76, 85, 74, 55, 48, 51, 49,
+  53, 58, 53, 50, 42, 50, 58, 50, 45, 43, 35, 38, 65, 110, 82, 73,
+  95, 81, 101, 100, 86, 77, 91, 84, 94, 88, 82, 86, 85, 93, 103, 148,
+  255, 255, 255, 23, 19, 50, 92, 89, 92, 92, 94, 98, 104, 108, 110, 111,
+  111, 118, 119, 119, 118, 118, 119, 123, 126, 124, 124, 125, 124, 123, 123, 125,
+  127, 127, 127, 127, 127, 127, 127, 127, 128, 130, 130, 131, 131, 130, 131, 130,
+  130, 130, 131, 132, 133, 136, 138, 140, 142, 142, 143, 142, 139, 138, 140, 143,
+  147, 146, 144, 142, 141, 140, 138, 135, 132, 132, 131, 128, 127, 129, 130, 130,
+  129, 123, 128, 133, 130, 122, 117, 118, 120, 121, 121, 122, 123, 123, 123, 124,
+  125, 123, 126, 125, 121, 121, 124, 123, 117, 108, 106, 103, 99, 94, 93, 94,
+  96, 103, 100, 98, 104, 105, 88, 77, 86, 74, 60, 53, 49, 50, 61, 65,
+  52, 56, 45, 55, 64, 54, 51, 52, 40, 42, 56, 101, 93, 79, 97, 93,
+  93, 104, 90, 78, 95, 86, 99, 90, 84, 93, 86, 92, 107, 104, 255, 255,
+  255, 29, 26, 59, 96, 89, 96, 94, 94, 99, 105, 108, 110, 111, 111, 118,
+  118, 117, 117, 115, 118, 121, 124, 119, 121, 125, 127, 127, 126, 127, 128, 126,
+  126, 126, 126, 126, 126, 126, 126, 131, 131, 132, 132, 133, 133, 132, 132, 136,
+  137, 138, 140, 142, 145, 147, 150, 146, 147, 146, 145, 144, 148, 152, 156, 148,
+  146, 144, 143, 141, 137, 133, 128, 137, 133, 130, 129, 130, 132, 131, 131, 125,
+  131, 135, 132, 123, 117, 117, 120, 121, 121, 121, 122, 122, 122, 123, 123, 123,
+  127, 126, 122, 122, 127, 124, 119, 116, 116, 115, 111, 107, 104, 105, 107, 100,
+  121, 110, 90, 94, 92, 74, 65, 75, 66, 58, 51, 52, 69, 72, 52, 56,
+  42, 54, 64, 53, 51, 53, 39, 51, 54, 95, 101, 84, 98, 100, 82, 106,
+  93, 79, 98, 87, 102, 90, 85, 98, 87, 92, 109, 112, 255, 255, 27, 20,
+  30, 72, 95, 92, 95, 98, 99, 102, 104, 105, 106, 108, 110, 113, 114, 115,
+  116, 118, 119, 120, 120, 126, 126, 127, 127, 128, 128, 127, 127, 125, 125, 125,
+  126, 127, 128, 129, 131, 132, 131, 131, 130, 130, 131, 132, 132, 137, 135, 134,
+  137, 143, 148, 150, 150, 151, 147, 144, 147, 151, 153, 149, 144, 137, 138, 138,
+  136, 135, 135, 138, 140, 130, 130, 130, 131, 132, 133, 131, 130, 129, 128, 127,
+  125, 124, 123, 122, 122, 119, 119, 120, 121, 122, 122, 124, 124, 121, 121, 122,
+  124, 123, 122, 120, 120, 113, 114, 123, 106, 121, 113, 114, 94, 107, 116, 125,
+  123, 109, 90, 75, 67, 71, 69, 60, 50, 53, 65, 63, 52, 57, 44, 50,
+  41, 57, 39, 42, 35, 42, 61, 89, 113, 95, 85, 108, 103, 99, 89, 86,
+  98, 100, 92, 82, 82, 102, 95, 83, 91, 109, 255, 255, 22, 20, 37, 77,
+  96, 95, 99, 99, 101, 105, 107, 108, 109, 111, 113, 118, 119, 120, 121, 122,
+  123, 124, 125, 125, 126, 126, 126, 127, 127, 126, 127, 126, 126, 126, 126, 125,
+  126, 128, 128, 130, 130, 131, 131, 131, 132, 133, 134, 136, 135, 136, 141, 145,
+  148, 147, 145, 143, 144, 144, 144, 145, 145, 147, 147, 144, 143, 140, 139, 138,
+  138, 138, 138, 130, 128, 126, 128, 131, 132, 130, 127, 128, 127, 127, 125, 124,
+  124, 124, 124, 121, 121, 121, 122, 122, 122, 123, 124, 119, 121, 122, 125, 125,
+  126, 127, 129, 123, 117, 125, 117, 129, 113, 115, 108, 103, 112, 124, 130, 125,
+  110, 91, 78, 75, 72, 65, 59, 63, 69, 64, 54, 66, 54, 58, 49, 60,
+  44, 46, 39, 44, 59, 80, 104, 93, 85, 103, 95, 103, 92, 94, 97, 103,
+  89, 87, 85, 102, 104, 89, 88, 108, 255, 255, 18, 19, 46, 83, 96, 94,
+  101, 99, 101, 106, 108, 110, 112, 115, 117, 121, 121, 122, 123, 124, 125, 126,
+  126, 126, 126, 126, 126, 127, 127, 126, 127, 131, 131, 130, 130, 129, 130, 130,
+  131, 132, 132, 132, 133, 134, 136, 138, 139, 136, 138, 139, 142, 145, 146, 144,
+  141, 141, 145, 149, 148, 145, 145, 150, 154, 144, 141, 138, 138, 140, 141, 140,
+  137, 136, 132, 129, 131, 136, 137, 134, 130, 127, 126, 126, 125, 124, 124, 124,
+  125, 123, 122, 122, 122, 122, 121, 122, 122, 129, 129, 128, 127, 124, 124, 124,
+  125, 129, 119, 126, 127, 132, 113, 117, 122, 110, 113, 118, 124, 123, 111, 93,
+  79, 78, 72, 66, 66, 70, 72, 66, 59, 69, 60, 61, 57, 64, 50, 49,
+  45, 50, 62, 75, 98, 96, 89, 102, 94, 106, 91, 99, 89, 105, 83, 90,
+  84, 97, 112, 93, 80, 103, 255, 255, 13, 20, 55, 86, 92, 91, 97, 97,
+  99, 104, 107, 109, 112, 115, 117, 118, 118, 119, 120, 121, 122, 122, 123, 125,
+  125, 125, 126, 126, 127, 126, 126, 130, 130, 129, 128, 127, 127, 128, 128, 127,
+  128, 128, 129, 131, 133, 135, 137, 137, 138, 138, 140, 141, 141, 140, 140, 139,
+  144, 148, 149, 147, 146, 148, 151, 137, 133, 130, 133, 139, 142, 140, 137, 139,
+  134, 129, 131, 137, 139, 135, 131, 124, 123, 124, 123, 123, 123, 124, 124, 123,
+  123, 122, 122, 120, 120, 120, 120, 133, 132, 129, 126, 124, 123, 123, 125, 124,
+  123, 128, 129, 127, 118, 122, 130, 119, 116, 114, 113, 111, 105, 96, 88, 80,
+  72, 66, 67, 72, 73, 68, 64, 61, 57, 59, 62, 64, 55, 49, 46, 51,
+  63, 70, 91, 95, 89, 100, 96, 106, 87, 97, 78, 104, 78, 89, 78, 85,
+  110, 91, 70, 91, 255, 177, 11, 26, 64, 86, 87, 87, 91, 93, 96, 101,
+  104, 107, 109, 113, 115, 116, 116, 116, 117, 118, 119, 119, 119, 121, 121, 121,
+  122, 122, 123, 122, 122, 122, 121, 121, 120, 119, 119, 119, 120, 120, 120, 121,
+  123, 124, 127, 129, 130, 135, 134, 133, 132, 132, 134, 137, 141, 135, 137, 140,
+  143, 143, 142, 140, 138, 135, 131, 129, 132, 138, 141, 139, 135, 134, 129, 125,
+  126, 130, 132, 130, 126, 122, 122, 122, 121, 121, 121, 122, 122, 122, 122, 122,
+  121, 119, 119, 118, 118, 122, 122, 123, 123, 125, 127, 129, 133, 115, 128, 130,
+  125, 118, 124, 127, 128, 112, 113, 114, 113, 111, 108, 105, 103, 90, 81, 72,
+  69, 73, 76, 73, 68, 57, 58, 59, 68, 63, 56, 45, 43, 45, 61, 63,
+  80, 87, 80, 93, 96, 105, 86, 95, 74, 101, 78, 88, 75, 75, 102, 89,
+  66, 81, 255, 21, 13, 37, 74, 86, 86, 89, 90, 93, 95, 100, 103, 106,
+  108, 111, 114, 117, 118, 118, 118, 119, 119, 120, 120, 117, 117, 118, 118, 118,
+  119, 118, 118, 121, 120, 120, 119, 119, 119, 120, 120, 122, 123, 124, 125, 126,
+  128, 130, 133, 130, 130, 129, 128, 129, 133, 139, 145, 141, 140, 140, 140, 140,
+  139, 138, 136, 140, 138, 136, 137, 140, 140, 136, 133, 133, 130, 127, 126, 128,
+  129, 129, 128, 123, 122, 122, 121, 121, 121, 121, 121, 122, 121, 122, 121, 120,
+  119, 119, 119, 122, 123, 123, 123, 124, 125, 126, 129, 113, 131, 128, 124, 112,
+  126, 124, 121, 105, 110, 116, 118, 114, 106, 97, 92, 98, 94, 83, 74, 78,
+  86, 84, 74, 66, 68, 64, 74, 61, 57, 42, 42, 49, 66, 61, 73, 85,
+  78, 87, 95, 101, 91, 98, 82, 97, 80, 89, 81, 74, 92, 90, 73, 73,
+  255, 18, 19, 50, 84, 88, 90, 97, 93, 96, 98, 102, 105, 107, 110, 112,
+  115, 120, 120, 120, 120, 121, 121, 121, 122, 119, 119, 120, 120, 120, 121, 120,
+  120, 125, 125, 125, 125, 125, 126, 127, 128, 128, 129, 129, 130, 131, 133, 135,
+  136, 129, 131, 132, 134, 137, 141, 148, 155, 149, 149, 146, 140, 134, 133, 138,
+  143, 141, 141, 141, 141, 140, 139, 137, 135, 133, 134, 133, 130, 128, 128, 130,
+  133, 126, 125, 125, 123, 122, 121, 121, 121, 124, 124, 123, 123, 122, 121, 122,
+  122, 128, 128, 127, 126, 124, 123, 121, 121, 123, 132, 124, 130, 113, 122, 113,
+  116, 107, 108, 112, 116, 115, 106, 93, 83, 90, 96, 89, 78, 85, 103, 101,
+  85, 74, 76, 66, 75, 57, 58, 43, 49, 61, 73, 58, 68, 86, 79, 83,
+  89, 91, 97, 105, 94, 88, 79, 87, 91, 77, 82, 91, 82, 66, 255, 17,
+  23, 59, 91, 91, 95, 105, 98, 99, 101, 105, 108, 110, 112, 114, 117, 120,
+  120, 121, 121, 121, 121, 121, 122, 124, 124, 125, 125, 125, 126, 125, 125, 125,
+  125, 125, 126, 126, 127, 129, 129, 127, 127, 127, 127, 129, 130, 132, 133, 131,
+  135, 140, 144, 148, 152, 158, 164, 151, 151, 146, 135, 124, 123, 135, 146, 136,
+  138, 141, 141, 140, 139, 138, 139, 129, 131, 132, 128, 124, 123, 127, 132, 129,
+  128, 127, 125, 124, 123, 122, 122, 125, 125, 125, 124, 124, 125, 124, 124, 124,
+  125, 126, 127, 128, 126, 125, 125, 134, 133, 122, 138, 119, 117, 104, 115, 111,
+  107, 106, 112, 119, 119, 109, 98, 76, 89, 89, 79, 91, 116, 115, 95, 77,
+  77, 63, 72, 53, 59, 47, 57, 67, 74, 51, 60, 83, 77, 75, 77, 80,
+  99, 110, 102, 80, 75, 84, 98, 79, 75, 91, 87, 61, 255, 20, 30, 59,
+  92, 99, 88, 88, 97, 99, 101, 105, 108, 109, 110, 111, 113, 120, 120, 121,
+  121, 121, 122, 122, 122, 121, 123, 124, 126, 126, 125, 123, 123, 126, 126, 125,
+  125, 124, 125, 126, 126, 120, 127, 135, 137, 133, 131, 133, 137, 131, 132, 135,
+  140, 146, 151, 156, 157, 155, 150, 143, 139, 136, 135, 138, 142, 138, 134, 150,
+  136, 133, 144, 133, 142, 134, 135, 136, 132, 129, 127, 128, 131, 125, 124, 124,
+  123, 121, 122, 125, 127, 122, 128, 130, 126, 123, 125, 126, 125, 130, 127, 125,
+  125, 127, 127, 125, 122, 130, 128, 129, 131, 122, 107, 102, 106, 107, 109, 107,
+  106, 108, 111, 107, 101, 94, 84, 98, 109, 99, 102, 112, 106, 74, 75, 53,
+  63, 53, 57, 42, 56, 63, 67, 69, 68, 68, 70, 68, 65, 71, 95, 110,
+  89, 97, 70, 78, 95, 79, 89, 98, 83, 59, 190, 83, 85, 88, 93, 93,
+  95, 99, 102, 101, 104, 108, 111, 112, 113, 115, 117, 121, 121, 121, 121, 122,
+  122, 122, 123, 122, 123, 125, 126, 127, 126, 124, 123, 127, 126, 126, 126, 126,
+  127, 128, 129, 125, 129, 133, 133, 129, 131, 135, 140, 141, 137, 135, 140, 148,
+  155, 156, 155, 152, 149, 145, 142, 140, 138, 140, 141, 140, 137, 150, 139, 139,
+  150, 139, 146, 140, 140, 138, 135, 132, 130, 130, 131, 127, 127, 128, 127, 125,
+  124, 124, 124, 122, 128, 130, 126, 124, 125, 126, 125, 130, 127, 124, 124, 126,
+  127, 127, 126, 126, 122, 123, 125, 119, 106, 101, 105, 108, 106, 100, 94, 95,
+  100, 101, 98, 103, 92, 101, 110, 102, 106, 118, 114, 91, 93, 74, 80, 72,
+  75, 63, 77, 69, 68, 67, 69, 70, 68, 65, 63, 66, 92, 112, 96, 100,
+  72, 75, 89, 82, 92, 97, 82, 60, 127, 135, 126, 108, 92, 90, 101, 107,
+  102, 104, 107, 111, 113, 115, 116, 119, 121, 120, 120, 121, 121, 122, 122, 122,
+  122, 122, 123, 125, 126, 127, 126, 124, 123, 127, 127, 127, 127, 127, 129, 130,
+  131, 134, 135, 135, 133, 132, 135, 142, 148, 147, 142, 138, 144, 154, 162, 161,
+  157, 149, 148, 146, 144, 142, 141, 142, 141, 141, 139, 147, 140, 143, 152, 144,
+  145, 143, 141, 137, 134, 134, 132, 130, 128, 129, 129, 129, 128, 127, 125, 123,
+  121, 127, 132, 133, 130, 129, 130, 131, 129, 129, 127, 123, 123, 124, 126, 126,
+  126, 124, 118, 116, 120, 118, 109, 104, 106, 107, 105, 99, 92, 92, 96, 96,
+  93, 106, 96, 99, 105, 102, 108, 118, 119, 106, 108, 91, 89, 79, 77, 67,
+  80, 79, 70, 67, 72, 74, 67, 61, 60, 61, 89, 115, 108, 105, 79, 77,
+  87, 83, 92, 93, 78, 61, 134, 138, 122, 101, 91, 93, 103, 104, 99, 106,
+  107, 111, 113, 115, 116, 119, 122, 119, 119, 119, 120, 120, 120, 121, 121, 121,
+  122, 124, 125, 125, 125, 123, 122, 126, 126, 126, 127, 127, 129, 131, 132, 135,
+  136, 134, 133, 132, 135, 141, 146, 137, 137, 137, 144, 153, 159, 158, 156, 147,
+  147, 145, 141, 139, 142, 143, 142, 141, 140, 142, 139, 142, 148, 142, 138, 139,
+  135, 131, 130, 132, 132, 129, 126, 129, 127, 125, 123, 123, 123, 122, 122, 127,
+  131, 132, 129, 129, 130, 131, 128, 127, 126, 125, 124, 124, 122, 121, 120, 125,
+  116, 113, 119, 120, 113, 108, 110, 98, 101, 101, 97, 94, 93, 88, 82, 94,
+  88, 88, 94, 98, 103, 110, 114, 102, 105, 93, 85, 79, 74, 67, 77, 80,
+  68, 62, 69, 71, 61, 52, 51, 54, 81, 107, 109, 100, 81, 79, 85, 79,
+  88, 83, 69, 60, 129, 129, 105, 88, 94, 100, 100, 98, 102, 106, 108, 110,
+  112, 113, 114, 118, 120, 117, 117, 117, 118, 118, 119, 119, 119, 119, 121, 122,
+  124, 124, 123, 121, 121, 125, 125, 125, 126, 126, 128, 130, 131, 127, 128, 128,
+  129, 128, 130, 132, 135, 125, 131, 137, 144, 145, 147, 146, 146, 146, 147, 142,
+  135, 134, 140, 144, 143, 142, 144, 140, 140, 142, 142, 141, 131, 133, 130, 126,
+  127, 130, 131, 130, 127, 128, 123, 118, 115, 117, 120, 123, 124, 120, 123, 124,
+  121, 121, 124, 123, 119, 123, 125, 126, 125, 123, 118, 114, 113, 122, 113, 111,
+  117, 119, 113, 109, 111, 93, 97, 98, 93, 88, 86, 80, 75, 79, 78, 77,
+  84, 94, 97, 99, 105, 96, 100, 95, 85, 90, 84, 81, 87, 75, 64, 57,
+  62, 63, 54, 45, 42, 49, 69, 92, 102, 88, 81, 80, 84, 74, 82, 72,
+  60, 60, 138, 130, 106, 91, 99, 104, 100, 100, 110, 109, 110, 112, 112, 112,
+  114, 117, 119, 117, 117, 117, 118, 118, 118, 119, 119, 120, 121, 122, 124, 124,
+  124, 122, 121, 125, 125, 125, 126, 126, 128, 129, 131, 127, 129, 130, 132, 132,
+  132, 132, 133, 132, 139, 147, 149, 146, 143, 143, 144, 146, 148, 142, 132, 131,
+  139, 144, 141, 143, 151, 143, 145, 145, 140, 143, 131, 131, 129, 128, 128, 131,
+  132, 132, 131, 129, 122, 115, 111, 115, 120, 124, 126, 121, 123, 124, 121, 122,
+  125, 124, 119, 122, 124, 127, 125, 121, 116, 112, 112, 118, 111, 111, 117, 117,
+  109, 106, 109, 101, 102, 99, 90, 84, 84, 84, 82, 72, 75, 71, 78, 92,
+  92, 88, 96, 101, 104, 102, 89, 100, 90, 87, 84, 78, 74, 68, 67, 66,
+  62, 54, 47, 57, 68, 84, 100, 83, 88, 88, 88, 74, 82, 67, 55, 63,
+  126, 119, 109, 100, 103, 104, 104, 106, 112, 115, 115, 116, 115, 114, 115, 118,
+  121, 118, 118, 119, 119, 120, 120, 120, 120, 122, 123, 124, 126, 126, 125, 123,
+  123, 128, 128, 128, 128, 127, 128, 129, 131, 136, 136, 136, 137, 139, 140, 139,
+  140, 146, 149, 151, 153, 151, 149, 149, 149, 146, 149, 145, 134, 133, 141, 144,
+  139, 140, 153, 144, 149, 146, 137, 146, 134, 130, 131, 131, 130, 130, 130, 131,
+  133, 133, 125, 118, 115, 118, 123, 125, 125, 128, 130, 129, 127, 129, 132, 131,
+  125, 123, 124, 125, 124, 119, 117, 117, 119, 115, 112, 114, 119, 116, 106, 103,
+  107, 103, 106, 103, 95, 88, 87, 88, 87, 73, 78, 70, 73, 90, 87, 80,
+  90, 101, 102, 102, 86, 105, 93, 87, 77, 83, 88, 85, 75, 72, 74, 68,
+  57, 68, 71, 80, 101, 81, 94, 92, 88, 81, 88, 68, 56, 69, 129, 97,
+  102, 103, 101, 103, 110, 112, 108, 119, 120, 120, 118, 117, 118, 120, 123, 120,
+  120, 121, 121, 121, 122, 122, 122, 124, 125, 126, 128, 128, 127, 125, 125, 130,
+  130, 129, 129, 129, 130, 130, 131, 138, 138, 136, 136, 138, 141, 141, 141, 149,
+  147, 144, 145, 148, 151, 150, 150, 145, 150, 148, 138, 136, 143, 144, 136, 135,
+  152, 143, 149, 146, 135, 148, 136, 129, 132, 133, 131, 127, 126, 128, 131, 137,
+  130, 123, 120, 123, 126, 125, 124, 131, 132, 130, 128, 131, 135, 132, 126, 125,
+  125, 124, 121, 117, 118, 122, 128, 117, 115, 119, 124, 119, 107, 104, 109, 95,
+  102, 105, 100, 93, 89, 84, 79, 77, 81, 68, 69, 86, 83, 74, 85, 85,
+  87, 93, 82, 110, 102, 99, 86, 81, 92, 90, 76, 72, 78, 73, 60, 68,
+  67, 73, 96, 75, 91, 86, 79, 88, 94, 71, 59, 74, 117, 96, 92, 94,
+  105, 113, 113, 112, 113, 124, 121, 119, 118, 119, 121, 123, 123, 123, 123, 123,
+  122, 122, 121, 121, 121, 126, 126, 127, 127, 125, 125, 126, 127, 129, 129, 129,
+  130, 131, 132, 132, 134, 138, 141, 143, 141, 137, 139, 146, 152, 147, 152, 156,
+  155, 150, 149, 151, 156, 144, 147, 150, 149, 144, 140, 138, 138, 145, 145, 145,
+  144, 143, 140, 136, 135, 134, 131, 129, 128, 129, 131, 130, 131, 124, 127, 127,
+  124, 120, 120, 126, 132, 128, 128, 128, 128, 128, 128, 127, 127, 119, 123, 128,
+  127, 122, 117, 115, 116, 125, 120, 112, 107, 105, 103, 100, 97, 96, 98, 100,
+  100, 97, 95, 93, 93, 80, 74, 69, 72, 71, 69, 72, 79, 86, 95, 92,
+  88, 98, 100, 93, 90, 92, 87, 90, 85, 69, 66, 71, 69, 67, 67, 69,
+  74, 79, 81, 81, 80, 82, 79, 79, 69, 55, 106, 86, 83, 85, 93, 99,
+  105, 115, 125, 124, 121, 120, 119, 120, 122, 123, 124, 125, 124, 123, 123, 122,
+  123, 123, 124, 125, 125, 127, 128, 127, 127, 129, 131, 129, 129, 129, 130, 131,
+  133, 135, 136, 134, 136, 138, 138, 136, 135, 137, 141, 150, 148, 147, 151, 154,
+  157, 156, 155, 157, 154, 149, 147, 145, 143, 140, 137, 146, 145, 144, 143, 141,
+  139, 137, 136, 134, 133, 130, 129, 130, 132, 132, 131, 125, 126, 126, 122, 118,
+  118, 122, 128, 129, 129, 130, 130, 130, 129, 128, 126, 127, 128, 129, 126, 121,
+  117, 114, 114, 118, 116, 113, 113, 114, 113, 110, 107, 97, 95, 93, 92, 92,
+  91, 89, 87, 80, 76, 73, 73, 70, 65, 67, 73, 84, 93, 89, 86, 95,
+  96, 88, 87, 92, 94, 101, 94, 72, 65, 72, 74, 64, 64, 64, 65, 67,
+  70, 75, 79, 79, 80, 82, 79, 64, 90, 65, 71, 83, 96, 102, 105, 113,
+  119, 122, 121, 121, 121, 121, 122, 124, 125, 127, 126, 124, 123, 123, 124, 126,
+  128, 124, 126, 128, 129, 129, 130, 133, 135, 129, 130, 130, 132, 134, 136, 138,
+  139, 135, 137, 139, 142, 143, 142, 140, 140, 154, 154, 154, 153, 154, 156, 158,
+  159, 162, 154, 145, 143, 145, 146, 143, 138, 146, 145, 143, 140, 138, 137, 136,
+  137, 134, 132, 129, 129, 130, 131, 131, 130, 130, 131, 130, 126, 122, 121, 124,
+  128, 130, 130, 130, 129, 129, 128, 126, 125, 123, 121, 120, 120, 122, 122, 122,
+  122, 111, 112, 111, 110, 108, 104, 98, 93, 102, 98, 94, 93, 94, 94, 91,
+  88, 82, 81, 80, 77, 70, 63, 63, 67, 79, 87, 85, 82, 90, 89, 82,
+  82, 90, 97, 109, 101, 74, 63, 70, 74, 69, 67, 64, 61, 62, 66, 74,
+  80, 72, 78, 83, 89, 75, 71, 53, 58, 68, 79, 90, 98, 105, 110, 119,
+  120, 122, 122, 123, 123, 125, 126, 128, 126, 123, 122, 122, 124, 127, 129, 124,
+  126, 128, 129, 129, 129, 131, 133, 129, 130, 131, 132, 134, 137, 139, 141, 136,
+  137, 139, 144, 148, 150, 150, 149, 153, 158, 161, 157, 147, 145, 152, 161, 153,
+  147, 140, 139, 141, 143, 142, 140, 144, 142, 140, 137, 135, 134, 134, 135, 133,
+  130, 127, 127, 128, 129, 129, 128, 130, 131, 130, 127, 124, 123, 126, 129, 130,
+  129, 126, 124, 123, 122, 122, 122, 121, 117, 113, 113, 117, 121, 121, 121, 117,
+  117, 116, 114, 109, 103, 96, 92, 97, 97, 96, 95, 94, 93, 91, 90, 83,
+  85, 85, 80, 72, 65, 63, 65, 71, 78, 78, 77, 84, 83, 77, 80, 84,
+  92, 104, 97, 72, 61, 65, 66, 74, 68, 62, 60, 63, 69, 73, 76, 67,
+  75, 79, 93, 79, 58, 55, 45, 36, 38, 55, 80, 101, 112, 114, 118, 122,
+  124, 124, 124, 127, 129, 128, 126, 123, 121, 121, 123, 126, 128, 125, 127, 128,
+  128, 127, 126, 128, 129, 129, 130, 131, 132, 134, 137, 139, 141, 138, 137, 138,
+  143, 146, 150, 151, 152, 155, 157, 156, 152, 148, 148, 152, 155, 145, 145, 142,
+  140, 138, 138, 139, 140, 142, 140, 137, 134, 133, 132, 132, 132, 131, 128, 125,
+  125, 126, 127, 127, 126, 123, 123, 123, 122, 121, 121, 123, 125, 129, 126, 121,
+  117, 115, 114, 117, 118, 126, 120, 112, 108, 107, 107, 107, 106, 107, 108, 108,
+  106, 102, 99, 96, 94, 82, 87, 91, 91, 87, 83, 83, 84, 80, 82, 82,
+  77, 71, 66, 64, 63, 63, 70, 71, 72, 78, 76, 71, 78, 79, 81, 90,
+  89, 72, 64, 64, 59, 72, 64, 58, 60, 67, 71, 68, 64, 63, 72, 71,
+  92, 77, 55, 47, 36, 26, 27, 48, 77, 97, 102, 108, 113, 120, 124, 124,
+  125, 128, 131, 129, 127, 125, 123, 122, 123, 125, 126, 126, 127, 128, 128, 126,
+  125, 126, 128, 129, 130, 130, 132, 134, 136, 138, 139, 144, 145, 145, 146, 146,
+  149, 151, 152, 167, 156, 147, 153, 164, 171, 165, 156, 148, 149, 146, 142, 137,
+  135, 136, 139, 140, 139, 136, 133, 132, 131, 130, 129, 130, 127, 125, 124, 125,
+  126, 126, 126, 123, 123, 122, 122, 123, 124, 125, 125, 126, 125, 121, 116, 113,
+  112, 113, 113, 119, 114, 107, 102, 100, 100, 101, 102, 106, 108, 108, 105, 99,
+  94, 91, 90, 81, 84, 87, 86, 83, 80, 79, 80, 77, 78, 76, 71, 68,
+  67, 64, 59, 58, 65, 65, 69, 74, 69, 65, 74, 74, 72, 80, 83, 75,
+  72, 70, 61, 71, 65, 63, 67, 74, 76, 69, 63, 61, 71, 64, 92, 76,
+  57, 41, 39, 38, 41, 57, 77, 88, 87, 102, 110, 119, 125, 125, 126, 130,
+  133, 130, 129, 128, 126, 125, 124, 123, 124, 126, 128, 129, 129, 128, 128, 130,
+  132, 131, 131, 131, 132, 133, 135, 137, 137, 141, 145, 149, 150, 149, 149, 149,
+  151, 163, 156, 151, 156, 166, 171, 166, 158, 153, 149, 143, 138, 137, 138, 138,
+  139, 139, 139, 138, 136, 134, 132, 130, 129, 131, 129, 126, 125, 126, 128, 128,
+  127, 128, 127, 126, 126, 127, 127, 127, 126, 123, 124, 124, 122, 120, 115, 110,
+  107, 107, 106, 103, 99, 96, 97, 100, 105, 117, 121, 124, 121, 114, 107, 101,
+  99, 97, 91, 85, 84, 86, 87, 83, 79, 81, 80, 74, 69, 69, 71, 67,
+  58, 57, 63, 64, 66, 71, 63, 59, 69, 67, 65, 74, 80, 76, 76, 77,
+  68, 67, 68, 72, 75, 77, 76, 72, 70, 62, 73, 63, 95, 78, 61, 51,
+  50, 43, 39, 46, 65, 80, 83, 99, 107, 118, 124, 126, 126, 130, 134, 132,
+  132, 130, 129, 127, 126, 124, 123, 125, 127, 129, 130, 130, 131, 133, 135, 131,
+  131, 131, 132, 133, 134, 135, 136, 128, 136, 144, 148, 146, 144, 144, 148, 145,
+  152, 157, 155, 149, 147, 151, 156, 154, 145, 134, 131, 135, 141, 142, 142, 139,
+  140, 140, 139, 137, 134, 131, 129, 133, 130, 128, 127, 128, 129, 129, 129, 129,
+  127, 125, 125, 125, 124, 123, 120, 122, 125, 129, 130, 127, 119, 110, 104, 109,
+  109, 106, 100, 93, 90, 93, 97, 95, 102, 110, 114, 110, 104, 100, 98, 110,
+  96, 81, 79, 86, 90, 84, 76, 87, 84, 77, 70, 72, 76, 70, 60, 59,
+  63, 64, 66, 69, 59, 54, 65, 60, 60, 71, 78, 74, 76, 80, 74, 59,
+  66, 74, 75, 71, 67, 68, 72, 62, 75, 64, 99, 82, 62, 71, 69, 73,
+  81, 78, 69, 70, 77, 93, 109, 115, 111, 118, 135, 137, 126, 130, 128, 128,
+  127, 126, 127, 128, 128, 129, 131, 132, 131, 129, 127, 127, 128, 123, 133, 131,
+  120, 119, 128, 124, 110, 120, 124, 126, 128, 134, 139, 138, 133, 137, 140, 142,
+  142, 141, 139, 139, 139, 142, 145, 146, 142, 136, 134, 138, 143, 146, 146, 144,
+  142, 138, 134, 131, 128, 132, 131, 130, 129, 128, 128, 128, 128, 128, 127, 126,
+  125, 123, 122, 121, 121, 120, 120, 121, 122, 122, 123, 125, 125, 118, 118, 116,
+  107, 97, 92, 94, 98, 101, 101, 96, 102, 114, 108, 96, 96, 106, 106, 98,
+  85, 77, 79, 85, 88, 88, 82, 78, 75, 71, 66, 67, 72, 53, 58, 64,
+  68, 65, 57, 48, 42, 51, 50, 71, 72, 82, 77, 84, 66, 63, 72, 79,
+  78, 75, 71, 69, 67, 67, 62, 80, 86, 83, 62, 76, 79, 90, 98, 96,
+  86, 78, 75, 83, 92, 105, 114, 121, 127, 128, 125, 132, 131, 129, 129, 128,
+  128, 128, 129, 129, 133, 138, 140, 136, 128, 122, 118, 117, 123, 121, 112, 109,
+  109, 101, 89, 86, 94, 97, 92, 88, 93, 103, 109, 108, 112, 117, 120, 123,
+  128, 135, 140, 134, 138, 144, 146, 144, 140, 139, 139, 141, 141, 139, 138, 135,
+  131, 128, 126, 131, 130, 129, 128, 127, 127, 127, 127, 126, 126, 125, 124, 122,
+  121, 120, 120, 121, 121, 122, 123, 124, 124, 125, 126, 122, 123, 122, 117, 108,
+  101, 96, 96, 103, 114, 110, 103, 111, 113, 104, 99, 92, 95, 93, 87, 85,
+  90, 95, 97, 88, 84, 80, 78, 73, 67, 66, 69, 65, 63, 58, 51, 47,
+  45, 47, 50, 43, 42, 64, 65, 79, 76, 85, 69, 70, 71, 73, 77, 75,
+  71, 66, 65, 74, 68, 83, 88, 83, 64, 82, 92, 103, 108, 107, 101, 91,
+  80, 81, 83, 96, 116, 125, 123, 125, 130, 132, 131, 129, 128, 126, 126, 125,
+  127, 130, 134, 139, 140, 135, 128, 121, 117, 107, 109, 111, 113, 111, 104, 94,
+  87, 75, 77, 74, 66, 62, 69, 81, 87, 103, 105, 109, 108, 106, 108, 115,
+  121, 128, 131, 136, 141, 144, 144, 143, 142, 140, 140, 140, 139, 137, 134, 131,
+  129, 129, 128, 127, 126, 125, 125, 125, 125, 126, 126, 125, 124, 123, 122, 121,
+  120, 122, 122, 123, 123, 124, 125, 125, 126, 126, 127, 127, 126, 122, 113, 101,
+  95, 101, 122, 119, 104, 106, 112, 107, 101, 93, 96, 95, 91, 89, 90, 90,
+  87, 86, 83, 82, 82, 76, 68, 65, 66, 64, 64, 63, 57, 49, 43, 42,
+  42, 44, 41, 62, 60, 71, 67, 76, 59, 73, 66, 67, 73, 75, 70, 66,
+  66, 76, 69, 83, 86, 140, 68, 81, 96, 106, 105, 103, 104, 102, 96, 90,
+  86, 88, 102, 115, 122, 126, 129, 130, 128, 126, 124, 123, 123, 122, 123, 131,
+  132, 133, 131, 127, 124, 123, 123, 105, 103, 107, 117, 116, 104, 93, 91, 87,
+  78, 67, 64, 72, 81, 80, 74, 76, 83, 91, 94, 96, 100, 109, 117, 124,
+  122, 122, 125, 132, 138, 143, 145, 136, 137, 138, 138, 137, 135, 132, 130, 127,
+  127, 125, 124, 123, 123, 123, 123, 127, 126, 126, 125, 124, 123, 122, 122, 122,
+  122, 122, 123, 123, 124, 124, 124, 127, 127, 127, 130, 130, 122, 109, 99, 95,
+  114, 116, 106, 104, 103, 99, 102, 99, 100, 96, 89, 85, 84, 79, 74, 83,
+  80, 81, 83, 80, 72, 67, 66, 61, 64, 66, 62, 54, 44, 38, 35, 43,
+  40, 57, 54, 64, 61, 70, 55, 66, 59, 61, 70, 72, 67, 68, 77, 73,
+  67, 80, 83, 255, 81, 73, 92, 106, 103, 99, 104, 108, 109, 104, 96, 86,
+  83, 96, 115, 123, 119, 129, 127, 125, 124, 122, 122, 122, 123, 128, 129, 130,
+  128, 125, 122, 121, 121, 109, 103, 106, 114, 112, 96, 86, 85, 86, 82, 78,
+  80, 89, 96, 90, 80, 76, 82, 89, 90, 88, 87, 89, 92, 111, 110, 109,
+  113, 119, 126, 133, 135, 127, 128, 129, 130, 130, 130, 128, 127, 126, 125, 124,
+  123, 122, 122, 122, 122, 124, 124, 123, 122, 122, 121, 121, 120, 119, 119, 121,
+  121, 121, 122, 122, 122, 124, 122, 123, 127, 130, 126, 115, 107, 93, 102, 107,
+  111, 110, 96, 92, 106, 95, 96, 92, 85, 81, 82, 81, 79, 80, 76, 77,
+  81, 81, 76, 70, 68, 69, 67, 61, 55, 49, 45, 43, 43, 35, 31, 49,
+  47, 60, 61, 74, 61, 51, 52, 60, 67, 66, 64, 73, 87, 73, 69, 83,
+  84, 255, 203, 74, 90, 104, 107, 104, 104, 109, 113, 116, 111, 98, 87, 92,
+  109, 117, 113, 130, 128, 127, 126, 125, 126, 126, 127, 125, 130, 134, 135, 130,
+  123, 116, 112, 109, 104, 104, 111, 111, 103, 97, 99, 89, 100, 110, 111, 110,
+  111, 112, 111, 114, 116, 115, 110, 102, 92, 84, 80, 97, 100, 105, 110, 113,
+  115, 117, 118, 122, 123, 125, 127, 129, 129, 128, 128, 126, 125, 124, 122, 122,
+  121, 121, 121, 120, 120, 119, 119, 118, 118, 117, 117, 119, 119, 120, 120, 120,
+  120, 120, 120, 122, 120, 121, 125, 130, 129, 123, 117, 101, 101, 103, 114, 118,
+  100, 94, 110, 99, 101, 98, 89, 82, 82, 84, 85, 79, 74, 73, 77, 80,
+  76, 73, 72, 70, 68, 68, 68, 68, 64, 55, 48, 39, 34, 48, 43, 54,
+  53, 67, 54, 41, 51, 61, 63, 60, 63, 75, 87, 75, 75, 90, 87, 255,
+  255, 93, 94, 98, 103, 103, 103, 107, 113, 119, 118, 115, 111, 104, 100, 105,
+  111, 129, 127, 126, 127, 126, 127, 128, 129, 128, 132, 137, 139, 135, 127, 121,
+  117, 114, 111, 110, 113, 117, 119, 121, 123, 113, 126, 134, 132, 127, 126, 129,
+  132, 126, 126, 125, 125, 125, 122, 117, 113, 99, 104, 109, 111, 110, 110, 113,
+  116, 119, 121, 123, 126, 128, 129, 129, 129, 126, 125, 124, 122, 122, 121, 121,
+  122, 120, 120, 119, 119, 119, 118, 118, 118, 120, 120, 120, 120, 121, 121, 121,
+  121, 121, 121, 124, 128, 132, 131, 127, 124, 114, 112, 107, 111, 119, 111, 103,
+  111, 108, 114, 113, 101, 89, 86, 89, 91, 82, 75, 70, 73, 76, 75, 73,
+  72, 67, 67, 71, 80, 87, 82, 66, 52, 48, 40, 51, 40, 48, 43, 55,
+  41, 41, 55, 63, 58, 56, 65, 74, 75, 69, 73, 91, 86, 255, 255, 116,
+  101, 91, 93, 98, 99, 106, 116, 112, 113, 123, 130, 113, 89, 90, 107, 126,
+  126, 125, 125, 126, 126, 128, 129, 133, 136, 136, 136, 133, 131, 131, 132, 127,
+  125, 120, 116, 118, 125, 128, 128, 136, 136, 133, 128, 130, 132, 129, 122, 136,
+  132, 127, 125, 125, 123, 118, 112, 113, 115, 115, 112, 107, 109, 118, 126, 113,
+  114, 118, 121, 123, 125, 125, 125, 127, 126, 124, 124, 122, 123, 123, 122, 123,
+  123, 122, 122, 122, 122, 121, 121, 121, 121, 121, 121, 122, 122, 122, 122, 122,
+  124, 128, 132, 135, 134, 130, 127, 121, 122, 110, 104, 114, 119, 110, 109, 108,
+  118, 121, 111, 99, 95, 100, 104, 87, 77, 70, 72, 73, 73, 71, 72, 71,
+  63, 57, 63, 74, 78, 71, 61, 44, 36, 46, 37, 44, 42, 53, 41, 45,
+  60, 64, 55, 54, 67, 71, 63, 58, 66, 86, 81, 255, 255, 140, 123, 100,
+  85, 82, 91, 101, 109, 115, 110, 114, 124, 126, 115, 105, 102, 126, 127, 126,
+  128, 129, 131, 132, 134, 134, 134, 134, 135, 135, 134, 134, 133, 131, 130, 130,
+  130, 130, 131, 132, 133, 133, 130, 130, 130, 132, 131, 127, 123, 132, 131, 132,
+  131, 129, 127, 125, 122, 118, 116, 118, 124, 131, 131, 124, 116, 117, 121, 118,
+  106, 103, 111, 113, 108, 124, 128, 128, 128, 124, 122, 124, 125, 122, 122, 121,
+  121, 122, 121, 118, 119, 123, 123, 123, 123, 124, 124, 124, 124, 127, 128, 129,
+  130, 132, 133, 134, 135, 126, 126, 119, 112, 112, 119, 119, 113, 120, 122, 126,
+  126, 117, 105, 101, 104, 113, 101, 83, 70, 70, 76, 74, 67, 69, 60, 55,
+  60, 64, 62, 61, 64, 43, 44, 43, 38, 38, 43, 45, 45, 43, 53, 60,
+  58, 59, 66, 68, 63, 61, 60, 94, 78, 255, 255, 135, 133, 118, 99, 95,
+  108, 115, 113, 124, 127, 125, 124, 123, 125, 123, 119, 110, 116, 126, 134, 138,
+  138, 136, 135, 136, 136, 136, 137, 136, 135, 136, 135, 132, 132, 131, 131, 131,
+  132, 133, 134, 134, 131, 129, 128, 130, 131, 129, 128, 119, 120, 122, 126, 128,
+  129, 131, 130, 120, 116, 114, 117, 123, 127, 126, 123, 136, 140, 137, 127, 124,
+  131, 133, 129, 124, 126, 127, 125, 121, 119, 120, 121, 122, 122, 121, 122, 121,
+  121, 120, 120, 120, 121, 121, 121, 122, 122, 122, 122, 126, 126, 127, 128, 131,
+  132, 133, 134, 127, 125, 118, 110, 110, 113, 112, 106, 101, 102, 107, 113, 111,
+  101, 92, 91, 115, 111, 100, 87, 80, 79, 74, 67, 64, 53, 47, 51, 56,
+  57, 58, 60, 56, 57, 53, 43, 34, 34, 37, 37, 34, 48, 58, 56, 53,
+  57, 64, 65, 67, 66, 97, 82, 255, 255, 255, 141, 129, 101, 86, 94, 95,
+  83, 103, 118, 125, 122, 126, 138, 141, 136, 106, 115, 126, 135, 139, 140, 138,
+  137, 138, 138, 138, 139, 138, 137, 137, 136, 133, 133, 133, 132, 132, 132, 133,
+  133, 132, 129, 125, 124, 126, 129, 130, 131, 130, 130, 131, 130, 130, 130, 130,
+  129, 128, 124, 119, 119, 121, 123, 122, 120, 127, 130, 127, 120, 120, 127, 128,
+  125, 126, 127, 127, 125, 121, 119, 119, 120, 120, 121, 121, 121, 122, 121, 121,
+  122, 120, 121, 121, 121, 121, 121, 122, 122, 124, 124, 125, 126, 128, 130, 131,
+  132, 131, 128, 121, 112, 109, 108, 106, 101, 110, 107, 109, 117, 121, 115, 107,
+  103, 106, 110, 108, 96, 84, 77, 68, 62, 53, 46, 43, 47, 52, 53, 55,
+  57, 65, 70, 69, 59, 49, 42, 36, 31, 31, 45, 57, 58, 51, 51, 59,
+  66, 68, 70, 97, 255, 255, 255, 255, 130, 117, 89, 68, 65, 63, 58, 54,
+  65, 76, 85, 101, 123, 144, 155, 113, 120, 126, 131, 133, 134, 134, 138, 138,
+  139, 139, 139, 138, 137, 136, 136, 134, 134, 133, 133, 131, 130, 130, 130, 128,
+  127, 125, 124, 126, 128, 130, 131, 141, 141, 137, 136, 133, 131, 129, 129, 127,
+  125, 125, 125, 126, 126, 125, 123, 128, 131, 129, 125, 127, 132, 132, 130, 126,
+  128, 127, 127, 124, 123, 123, 123, 118, 119, 119, 120, 121, 121, 121, 120, 121,
+  122, 122, 122, 122, 122, 123, 123, 122, 122, 123, 124, 126, 127, 128, 130, 132,
+  130, 124, 117, 112, 108, 104, 101, 109, 104, 103, 108, 112, 111, 108, 109, 97,
+  103, 104, 94, 82, 71, 61, 53, 39, 47, 56, 62, 62, 60, 62, 64, 65,
+  72, 80, 82, 78, 67, 50, 35, 31, 42, 53, 59, 56, 52, 56, 61, 60,
+  66, 91, 255, 255, 255, 255, 207, 98, 84, 67, 59, 66, 80, 71, 53, 41,
+  42, 47, 56, 80, 105, 101, 109, 120, 127, 130, 132, 133, 136, 139, 139, 138,
+  138, 137, 137, 136, 135, 134, 134, 132, 130, 128, 128, 128, 128, 126, 127, 129,
+  130, 130, 131, 130, 132, 132, 132, 131, 132, 133, 134, 136, 136, 122, 122, 124,
+  124, 124, 128, 133, 137, 121, 122, 120, 116, 115, 116, 116, 113, 120, 121, 121,
+  122, 122, 123, 123, 123, 117, 117, 118, 119, 119, 119, 119, 119, 119, 119, 119,
+  119, 120, 120, 120, 120, 120, 120, 121, 122, 124, 125, 126, 128, 129, 127, 123,
+  118, 112, 105, 102, 101, 94, 93, 97, 104, 108, 107, 108, 111, 101, 103, 99,
+  88, 76, 67, 55, 45, 36, 59, 83, 92, 85, 78, 78, 81, 72, 76, 83,
+  89, 95, 89, 70, 51, 31, 32, 40, 54, 60, 54, 51, 53, 52, 62, 85,
+  255, 255, 255, 255, 255, 202, 90, 78, 70, 81, 102, 98, 69, 47, 46, 40,
+  26, 29, 45, 73, 89, 111, 127, 134, 136, 135, 137, 139, 140, 139, 138, 138,
+  136, 136, 135, 135, 134, 132, 129, 128, 127, 126, 125, 127, 130, 133, 134, 133,
+  132, 132, 133, 131, 132, 132, 133, 135, 137, 139, 142, 139, 135, 130, 122, 117,
+  119, 128, 135, 142, 141, 139, 135, 132, 128, 126, 123, 113, 113, 113, 115, 117,
+  119, 119, 118, 118, 118, 118, 119, 119, 119, 119, 118, 117, 117, 117, 117, 118,
+  118, 118, 118, 119, 120, 120, 122, 123, 124, 125, 126, 123, 122, 120, 117, 111,
+  102, 98, 100, 86, 90, 99, 110, 115, 113, 113, 115, 105, 105, 98, 84, 70,
+  61, 50, 41, 52, 80, 109, 116, 107, 98, 97, 99, 89, 87, 84, 87, 94,
+  97, 86, 73, 36, 27, 29, 47, 59, 55, 47, 46, 51, 62, 139, 255, 255,
+  255, 255, 255, 255, 101, 88, 83, 89, 98, 94, 71, 54, 59, 65, 61, 57,
+  59, 66, 84, 109, 128, 136, 138, 140, 142, 141, 141, 141, 140, 140, 138, 137,
+  136, 136, 136, 133, 130, 129, 127, 125, 125, 126, 128, 130, 129, 127, 126, 129,
+  132, 135, 134, 133, 134, 134, 136, 138, 140, 150, 148, 144, 134, 124, 119, 121,
+  125, 130, 129, 129, 129, 126, 122, 118, 118, 117, 116, 115, 117, 120, 122, 121,
+  119, 121, 121, 121, 121, 121, 120, 119, 119, 118, 118, 118, 118, 118, 118, 119,
+  119, 118, 119, 120, 121, 123, 124, 125, 126, 122, 120, 119, 119, 111, 100, 97,
+  100, 88, 84, 86, 95, 103, 104, 103, 104, 105, 109, 105, 89, 72, 62, 57,
+  54, 73, 96, 118, 122, 113, 108, 107, 105, 100, 98, 94, 91, 93, 98, 96,
+  92, 61, 43, 38, 52, 61, 54, 46, 48, 55, 67, 255, 255, 255, 255, 255,
+  255, 255, 109, 97, 97, 96, 93, 134, 105, 68, 53, 59, 71, 75, 71, 80,
+  95, 114, 128, 132, 136, 141, 146, 142, 143, 142, 142, 140, 140, 139, 138, 138,
+  138, 135, 133, 130, 127, 126, 125, 124, 124, 124, 121, 118, 119, 124, 128, 126,
+  126, 126, 127, 129, 134, 138, 139, 139, 146, 152, 150, 140, 132, 127, 127, 126,
+  126, 129, 133, 134, 132, 129, 131, 126, 125, 123, 125, 127, 128, 127, 124, 124,
+  124, 123, 123, 123, 122, 120, 120, 122, 122, 122, 122, 122, 122, 123, 123, 118,
+  118, 120, 121, 123, 124, 125, 126, 123, 122, 122, 122, 114, 101, 97, 101, 111,
+  96, 84, 85, 95, 101, 104, 104, 105, 115, 116, 101, 82, 74, 74, 77, 87,
+  103, 115, 114, 109, 108, 107, 103, 101, 105, 105, 101, 98, 100, 101, 102, 89,
+  66, 54, 62, 64, 54, 48, 53, 59, 68, 255, 255, 255, 255, 255, 255, 255,
+  110, 101, 103, 104, 104, 108, 97, 84, 76, 66, 62, 76, 95, 89, 101, 115,
+  126, 132, 135, 139, 142, 148, 145, 142, 138, 136, 135, 135, 136, 136, 134, 135,
+  137, 131, 122, 122, 126, 132, 120, 118, 117, 112, 117, 123, 117, 125, 126, 125,
+  125, 126, 130, 133, 134, 137, 142, 144, 142, 142, 140, 130, 116, 123, 126, 130,
+  133, 132, 129, 124, 120, 127, 125, 122, 124, 126, 127, 123, 119, 120, 124, 127,
+  127, 124, 121, 121, 121, 121, 122, 122, 122, 123, 122, 121, 120, 122, 122, 121,
+  121, 120, 120, 121, 122, 118, 121, 114, 107, 113, 121, 111, 92, 106, 97, 90,
+  92, 94, 95, 98, 102, 100, 108, 116, 106, 88, 91, 95, 85, 91, 112, 103,
+  105, 96, 113, 106, 115, 111, 112, 106, 107, 115, 111, 104, 108, 111, 86, 47,
+  55, 54, 54, 35, 46, 51, 67, 255, 255, 255, 255, 255, 255, 255, 107, 96,
+  99, 102, 99, 103, 105, 104, 102, 104, 110, 113, 112, 99, 109, 120, 129, 133,
+  135, 137, 142, 144, 143, 141, 138, 136, 136, 136, 137, 141, 136, 133, 133, 133,
+  134, 139, 145, 120, 114, 118, 124, 124, 128, 133, 127, 127, 133, 135, 134, 140,
+  150, 151, 145, 128, 137, 142, 138, 132, 131, 129, 126, 124, 125, 128, 130, 132,
+  132, 132, 132, 132, 126, 120, 120, 124, 130, 133, 133, 122, 124, 125, 124, 121,
+  120, 121, 123, 123, 123, 122, 122, 122, 122, 122, 122, 123, 122, 122, 121, 121,
+  119, 119, 118, 117, 120, 114, 107, 114, 124, 117, 100, 96, 90, 85, 86, 93,
+  101, 104, 105, 105, 102, 108, 110, 98, 98, 108, 112, 104, 108, 98, 106, 119,
+  133, 123, 121, 115, 114, 110, 111, 121, 119, 114, 115, 114, 93, 51, 50, 48,
+  55, 39, 48, 57, 131, 255, 255, 255, 255, 255, 255, 255, 104, 91, 100, 106,
+  102, 103, 112, 113, 111, 117, 126, 118, 100, 104, 111, 120, 125, 128, 128, 130,
+  133, 136, 137, 137, 137, 137, 137, 137, 137, 144, 138, 134, 139, 144, 148, 151,
+  154, 148, 135, 126, 114, 96, 86, 81, 71, 83, 77, 86, 111, 126, 132, 147,
+  166, 156, 146, 133, 124, 126, 133, 135, 132, 127, 126, 124, 125, 126, 129, 133,
+  135, 134, 129, 124, 124, 127, 133, 136, 137, 127, 127, 126, 124, 122, 122, 124,
+  126, 124, 123, 121, 120, 120, 120, 122, 123, 122, 122, 123, 121, 119, 116, 115,
+  113, 114, 117, 112, 105, 112, 125, 122, 108, 105, 102, 94, 87, 93, 103, 103,
+  95, 112, 101, 107, 117, 105, 97, 102, 109, 113, 107, 106, 112, 138, 134, 124,
+  118, 110, 109, 108, 111, 119, 122, 118, 115, 119, 108, 62, 47, 41, 59, 48,
+  53, 64, 255, 255, 255, 255, 255, 255, 255, 255, 101, 89, 103, 113, 110, 111,
+  113, 111, 107, 108, 109, 100, 87, 106, 110, 115, 120, 122, 122, 124, 126, 128,
+  129, 131, 134, 135, 136, 136, 136, 142, 141, 143, 151, 160, 160, 153, 145, 126,
+  108, 94, 81, 65, 66, 75, 73, 78, 81, 86, 84, 76, 78, 94, 114, 146,
+  141, 133, 128, 128, 130, 129, 128, 134, 132, 129, 126, 126, 127, 129, 131, 130,
+  130, 130, 132, 134, 134, 131, 128, 130, 130, 128, 127, 126, 125, 126, 126, 123,
+  122, 119, 117, 117, 118, 121, 122, 120, 121, 122, 121, 118, 113, 110, 108, 109,
+  114, 109, 100, 105, 118, 118, 108, 116, 115, 105, 92, 96, 108, 105, 90, 108,
+  103, 114, 123, 111, 100, 96, 92, 100, 102, 121, 129, 156, 133, 126, 123, 108,
+  103, 104, 109, 113, 121, 122, 113, 122, 121, 75, 48, 38, 63, 55, 54, 128,
+  255, 255, 255, 255, 255, 255, 255, 255, 97, 88, 102, 112, 111, 117, 113, 113,
+  115, 110, 99, 96, 99, 109, 111, 116, 119, 121, 123, 125, 126, 121, 124, 126,
+  129, 131, 133, 133, 134, 140, 141, 144, 153, 162, 162, 150, 138, 94, 81, 77,
+  75, 74, 91, 115, 123, 104, 140, 143, 100, 60, 59, 66, 60, 73, 88, 108,
+  121, 121, 117, 117, 119, 137, 136, 136, 134, 132, 131, 130, 130, 130, 130, 132,
+  134, 134, 133, 130, 128, 129, 129, 129, 130, 129, 127, 124, 122, 122, 120, 118,
+  116, 115, 116, 118, 119, 119, 119, 119, 118, 116, 112, 108, 106, 107, 112, 106,
+  94, 95, 107, 109, 100, 103, 106, 99, 90, 97, 112, 112, 98, 99, 103, 116,
+  118, 113, 114, 111, 94, 85, 93, 122, 140, 175, 151, 141, 133, 112, 102, 105,
+  109, 111, 124, 129, 113, 116, 124, 82, 51, 37, 64, 56, 49, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 95, 88, 96, 105, 105, 116, 113, 117, 122, 111,
+  93, 90, 101, 108, 111, 115, 120, 123, 124, 124, 124, 120, 121, 124, 126, 127,
+  130, 131, 133, 139, 140, 139, 144, 152, 158, 153, 143, 120, 110, 109, 105, 98,
+  106, 119, 122, 124, 140, 154, 143, 102, 65, 57, 70, 46, 38, 45, 71, 101,
+  119, 121, 117, 130, 130, 132, 133, 132, 131, 131, 130, 135, 133, 131, 131, 131,
+  134, 137, 139, 127, 127, 127, 129, 129, 127, 122, 118, 120, 119, 118, 116, 116,
+  117, 117, 118, 118, 118, 118, 117, 116, 113, 110, 109, 110, 116, 110, 95, 92,
+  101, 103, 95, 95, 97, 94, 89, 94, 105, 107, 100, 102, 106, 111, 108, 104,
+  113, 114, 96, 92, 98, 114, 138, 173, 163, 139, 119, 111, 97, 101, 104, 104,
+  123, 134, 113, 108, 121, 84, 51, 35, 60, 51, 43, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 98, 94, 97, 103, 107, 111, 113, 116, 113, 103, 93, 93,
+  98, 112, 114, 118, 122, 127, 128, 126, 124, 123, 123, 124, 125, 126, 129, 130,
+  133, 137, 139, 135, 136, 141, 150, 151, 144, 135, 128, 128, 125, 111, 112, 116,
+  115, 135, 129, 139, 156, 132, 84, 67, 83, 86, 59, 44, 61, 96, 122, 129,
+  127, 130, 130, 130, 131, 132, 133, 134, 135, 140, 139, 138, 137, 135, 137, 140,
+  142, 132, 130, 128, 128, 129, 128, 124, 121, 121, 120, 120, 119, 119, 119, 119,
+  118, 120, 119, 118, 118, 117, 116, 115, 116, 116, 123, 117, 101, 95, 102, 103,
+  96, 101, 100, 98, 96, 96, 97, 100, 100, 113, 107, 110, 112, 106, 107, 106,
+  93, 107, 116, 114, 133, 151, 155, 128, 113, 111, 93, 97, 101, 99, 125, 140,
+  117, 106, 120, 86, 53, 35, 56, 48, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 101, 101, 102, 108, 115, 108, 115, 114, 101, 97, 107, 114, 112, 121,
+  123, 128, 132, 136, 134, 133, 129, 126, 126, 125, 125, 126, 128, 132, 133, 135,
+  138, 138, 135, 140, 146, 146, 138, 136, 129, 129, 123, 111, 110, 116, 115, 109,
+  131, 139, 131, 131, 142, 128, 100, 116, 115, 117, 117, 111, 109, 123, 140, 141,
+  139, 138, 138, 139, 141, 144, 145, 143, 145, 148, 149, 145, 141, 137, 135, 139,
+  134, 130, 128, 131, 131, 128, 126, 121, 122, 122, 122, 122, 121, 120, 120, 121,
+  120, 119, 120, 119, 119, 120, 121, 121, 129, 124, 107, 100, 106, 107, 100, 104,
+  103, 103, 105, 102, 100, 104, 111, 116, 104, 111, 127, 123, 114, 107, 100, 110,
+  131, 125, 136, 133, 148, 131, 131, 115, 95, 100, 105, 103, 132, 150, 127, 107,
+  121, 88, 56, 37, 56, 51, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  92, 93, 101, 105, 104, 116, 110, 101, 94, 94, 100, 110, 116, 120, 125, 129,
+  132, 132, 130, 129, 127, 126, 126, 126, 126, 127, 129, 130, 131, 139, 135, 132,
+  131, 134, 135, 132, 129, 124, 124, 124, 124, 121, 119, 116, 115, 111, 119, 125,
+  126, 122, 120, 124, 129, 147, 148, 149, 142, 133, 127, 127, 129, 147, 148, 150,
+  145, 141, 146, 160, 173, 159, 153, 147, 145, 147, 147, 141, 137, 134, 134, 134,
+  134, 133, 130, 126, 125, 128, 127, 125, 124, 122, 123, 124, 126, 122, 124, 124,
+  121, 117, 116, 118, 122, 129, 124, 126, 97, 98, 98, 115, 98, 101, 106, 102,
+  118, 95, 100, 100, 123, 132, 115, 112, 120, 121, 120, 112, 99, 135, 131, 126,
+  128, 131, 133, 131, 127, 115, 107, 92, 80, 109, 111, 166, 119, 108, 117, 90,
+  44, 55, 51, 130, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 95, 97,
+  104, 106, 105, 106, 101, 96, 96, 101, 111, 120, 126, 125, 129, 132, 134, 133,
+  130, 129, 127, 123, 124, 125, 128, 128, 128, 128, 128, 135, 136, 135, 134, 131,
+  129, 128, 129, 121, 122, 123, 124, 126, 126, 126, 125, 129, 134, 138, 138, 133,
+  133, 139, 146, 144, 147, 148, 146, 141, 140, 143, 147, 147, 154, 161, 160, 153,
+  151, 155, 160, 159, 154, 148, 146, 148, 148, 143, 139, 134, 134, 133, 132, 129,
+  127, 125, 125, 123, 123, 122, 121, 120, 120, 121, 122, 124, 124, 122, 119, 116,
+  116, 120, 126, 133, 131, 122, 102, 104, 104, 109, 104, 97, 101, 99, 117, 102,
+  104, 98, 112, 125, 125, 128, 132, 130, 118, 106, 103, 120, 131, 137, 145, 157,
+  165, 148, 125, 118, 109, 91, 83, 106, 114, 164, 122, 117, 123, 89, 39, 43,
+  43, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 101, 103, 105, 104,
+  103, 98, 95, 94, 99, 108, 119, 126, 129, 130, 133, 135, 135, 133, 130, 129,
+  128, 120, 122, 125, 128, 129, 127, 125, 125, 131, 135, 138, 135, 129, 124, 124,
+  126, 119, 120, 121, 122, 124, 126, 129, 130, 135, 140, 142, 140, 137, 139, 145,
+  153, 141, 144, 145, 144, 143, 145, 150, 155, 152, 159, 165, 164, 159, 154, 153,
+  155, 157, 153, 148, 147, 148, 148, 144, 141, 137, 136, 133, 131, 129, 128, 126,
+  127, 125, 125, 124, 123, 122, 122, 123, 123, 126, 125, 122, 118, 116, 117, 121,
+  127, 133, 139, 116, 108, 109, 110, 100, 113, 94, 97, 100, 119, 110, 108, 96,
+  101, 125, 137, 133, 127, 126, 117, 119, 142, 139, 153, 154, 144, 148, 162, 156,
+  136, 126, 116, 93, 88, 96, 113, 150, 117, 121, 125, 87, 42, 41, 114, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 103, 104, 103, 99, 96, 94,
+  93, 94, 101, 112, 121, 124, 124, 130, 133, 134, 133, 131, 130, 129, 129, 121,
+  122, 124, 125, 125, 125, 124, 124, 131, 134, 137, 134, 130, 126, 123, 122, 125,
+  125, 123, 123, 123, 124, 126, 128, 131, 134, 138, 139, 137, 138, 142, 147, 146,
+  147, 147, 145, 144, 146, 149, 153, 159, 160, 160, 157, 154, 153, 156, 159, 154,
+  151, 147, 146, 147, 147, 144, 142, 140, 138, 134, 131, 129, 128, 128, 129, 126,
+  125, 125, 124, 123, 123, 124, 123, 126, 124, 122, 119, 117, 116, 117, 120, 123,
+  139, 111, 112, 109, 110, 94, 123, 96, 100, 108, 119, 115, 106, 97, 97, 118,
+  139, 131, 118, 122, 113, 119, 157, 167, 176, 172, 151, 141, 149, 159, 162, 136,
+  125, 99, 95, 84, 103, 128, 103, 114, 115, 77, 47, 48, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 101, 102, 97, 91, 88, 88, 89, 94,
+  102, 112, 118, 119, 119, 127, 129, 130, 130, 129, 128, 130, 130, 124, 124, 122,
+  121, 121, 123, 124, 126, 134, 134, 132, 133, 133, 131, 125, 120, 130, 128, 127,
+  126, 125, 126, 126, 128, 129, 135, 139, 142, 141, 141, 142, 145, 154, 153, 152,
+  150, 149, 150, 151, 153, 160, 158, 154, 151, 149, 150, 153, 155, 151, 148, 146,
+  144, 144, 143, 141, 140, 140, 137, 132, 128, 126, 126, 127, 128, 121, 120, 121,
+  121, 120, 119, 119, 118, 120, 119, 119, 117, 115, 111, 107, 106, 110, 134, 112,
+  112, 105, 106, 96, 130, 100, 105, 115, 116, 113, 100, 98, 99, 106, 132, 132,
+  124, 127, 108, 101, 130, 121, 121, 123, 124, 122, 118, 121, 129, 140, 130, 112,
+  101, 81, 95, 114, 97, 116, 107, 59, 43, 49, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 98, 99, 93, 88, 88, 83, 87, 96, 105, 112,
+  118, 121, 122, 126, 127, 128, 127, 126, 127, 129, 130, 126, 124, 122, 120, 118,
+  121, 125, 127, 136, 133, 130, 132, 136, 135, 130, 124, 125, 124, 124, 124, 124,
+  125, 125, 125, 127, 133, 140, 144, 144, 144, 143, 143, 149, 150, 150, 151, 152,
+  153, 153, 154, 157, 156, 155, 155, 154, 151, 146, 142, 149, 148, 146, 144, 142,
+  140, 139, 139, 136, 134, 129, 126, 123, 123, 123, 123, 121, 121, 122, 122, 121,
+  120, 119, 118, 114, 114, 114, 114, 113, 108, 101, 98, 105, 125, 116, 110, 104,
+  105, 105, 128, 104, 107, 118, 111, 111, 99, 105, 104, 109, 126, 128, 123, 123,
+  112, 112, 134, 134, 114, 104, 118, 131, 129, 123, 124, 136, 125, 128, 108, 88,
+  92, 113, 101, 133, 111, 49, 39, 118, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 97, 99, 93, 91, 94, 83, 90, 102, 111, 115, 119, 123,
+  127, 129, 129, 128, 126, 125, 125, 126, 129, 126, 124, 123, 122, 121, 122, 124,
+  125, 133, 134, 133, 134, 135, 136, 134, 134, 124, 125, 126, 127, 127, 127, 127,
+  126, 127, 131, 135, 140, 140, 142, 141, 142, 143, 144, 147, 150, 153, 155, 155,
+  155, 155, 155, 155, 157, 158, 154, 146, 139, 150, 149, 148, 145, 141, 139, 138,
+  139, 137, 135, 132, 129, 126, 125, 124, 124, 122, 123, 124, 124, 123, 122, 121,
+  120, 116, 115, 114, 115, 115, 113, 107, 104, 112, 120, 122, 106, 107, 109, 120,
+  120, 109, 109, 119, 108, 118, 107, 115, 111, 116, 121, 123, 121, 115, 115, 132,
+  154, 152, 131, 110, 107, 113, 119, 117, 116, 127, 118, 140, 109, 97, 88, 113,
+  105, 137, 111, 43, 113, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 98, 99, 96, 96, 100, 88, 97, 110, 116, 116, 118, 123, 129, 132,
+  132, 130, 127, 124, 124, 125, 127, 124, 124, 124, 125, 123, 124, 124, 123, 131,
+  134, 136, 136, 133, 134, 138, 142, 134, 135, 136, 138, 136, 135, 133, 132, 129,
+  132, 134, 137, 138, 141, 143, 145, 147, 148, 151, 156, 160, 161, 160, 159, 156,
+  153, 152, 154, 158, 158, 153, 149, 151, 151, 149, 146, 141, 139, 138, 139, 139,
+  138, 136, 133, 130, 128, 127, 126, 118, 119, 121, 121, 120, 118, 117, 116, 121,
+  119, 117, 118, 120, 120, 116, 115, 120, 118, 126, 103, 112, 115, 129, 111, 116,
+  110, 119, 109, 127, 119, 128, 119, 109, 114, 128, 129, 114, 111, 127, 139, 152,
+  152, 140, 122, 111, 115, 120, 119, 122, 113, 147, 109, 100, 82, 110, 104, 121,
+  99, 35, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 96,
+  98, 100, 105, 100, 83, 93, 105, 114, 114, 112, 118, 123, 123, 128, 127, 126,
+  125, 124, 124, 124, 124, 126, 126, 126, 126, 125, 127, 129, 130, 130, 133, 138,
+  142, 142, 139, 135, 133, 138, 137, 136, 135, 133, 133, 133, 133, 129, 135, 142,
+  144, 140, 140, 142, 145, 152, 152, 153, 154, 156, 157, 159, 160, 167, 169, 167,
+  158, 154, 153, 150, 144, 144, 144, 145, 144, 142, 140, 139, 137, 137, 139, 139,
+  136, 132, 129, 129, 131, 125, 123, 123, 122, 121, 122, 124, 125, 121, 119, 117,
+  115, 115, 115, 116, 119, 122, 107, 112, 113, 120, 124, 110, 114, 117, 116, 114,
+  114, 120, 128, 129, 125, 112, 108, 111, 116, 117, 116, 125, 138, 142, 161, 145,
+  120, 118, 114, 107, 112, 118, 117, 123, 136, 109, 78, 99, 117, 121, 83, 108,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 98, 102, 101,
+  101, 97, 86, 101, 107, 112, 112, 116, 122, 124, 123, 128, 127, 126, 125, 124,
+  124, 124, 124, 127, 127, 127, 127, 128, 131, 132, 133, 136, 137, 139, 142, 145,
+  144, 140, 137, 144, 144, 141, 140, 135, 134, 132, 132, 132, 137, 141, 142, 140,
+  139, 142, 147, 151, 154, 156, 159, 161, 161, 160, 160, 159, 162, 162, 157, 155,
+  157, 156, 151, 145, 145, 145, 145, 143, 141, 140, 138, 136, 138, 137, 134, 131,
+  128, 128, 129, 129, 128, 126, 123, 122, 121, 121, 121, 119, 120, 121, 120, 118,
+  117, 116, 119, 113, 106, 114, 112, 112, 113, 102, 111, 119, 119, 118, 119, 125,
+  134, 136, 131, 121, 112, 108, 110, 111, 111, 119, 132, 140, 154, 149, 130, 120,
+  119, 117, 117, 113, 114, 119, 132, 110, 84, 105, 118, 112, 70, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 98, 107, 101, 94, 91,
+  89, 108, 110, 109, 112, 118, 124, 125, 121, 129, 128, 127, 126, 126, 126, 126,
+  126, 128, 128, 128, 129, 131, 133, 135, 136, 139, 138, 136, 141, 146, 148, 144,
+  139, 146, 146, 143, 142, 138, 137, 135, 135, 135, 138, 141, 142, 140, 141, 144,
+  149, 147, 150, 156, 160, 161, 160, 157, 156, 154, 157, 158, 156, 155, 157, 156,
+  154, 144, 144, 144, 143, 142, 141, 140, 139, 137, 138, 137, 135, 131, 129, 128,
+  129, 129, 128, 127, 124, 122, 121, 121, 121, 117, 121, 125, 125, 121, 117, 116,
+  117, 107, 104, 116, 110, 103, 102, 97, 109, 122, 122, 123, 125, 132, 141, 143,
+  139, 139, 122, 109, 108, 110, 113, 121, 131, 138, 148, 155, 145, 124, 120, 123,
+  117, 109, 113, 118, 128, 107, 90, 110, 116, 99, 121, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 98, 109, 99, 87, 88, 92, 109,
+  110, 110, 111, 114, 118, 120, 120, 129, 128, 127, 126, 126, 126, 127, 127, 127,
+  129, 129, 131, 131, 135, 136, 138, 140, 135, 132, 136, 143, 147, 143, 138, 140,
+  139, 139, 138, 138, 137, 137, 137, 136, 138, 139, 138, 138, 141, 144, 149, 141,
+  144, 149, 152, 153, 153, 152, 151, 154, 156, 156, 155, 153, 152, 150, 149, 143,
+  143, 142, 141, 140, 139, 139, 138, 138, 138, 137, 135, 132, 130, 129, 129, 125,
+  123, 123, 122, 122, 121, 122, 122, 117, 121, 125, 124, 120, 116, 115, 117, 105,
+  101, 110, 101, 94, 99, 97, 111, 120, 122, 124, 127, 135, 145, 147, 144, 148,
+  125, 107, 105, 110, 114, 123, 132, 136, 141, 159, 156, 127, 117, 118, 108, 104,
+  116, 121, 124, 103, 92, 111, 112, 83, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 96, 106, 96, 84, 89, 97, 105, 108, 110,
+  110, 108, 108, 112, 118, 123, 122, 122, 121, 122, 123, 124, 124, 127, 128, 129,
+  130, 132, 135, 136, 138, 140, 134, 131, 135, 143, 147, 144, 138, 135, 135, 134,
+  134, 133, 133, 133, 133, 133, 133, 132, 132, 132, 136, 140, 144, 139, 141, 143,
+  145, 147, 149, 150, 151, 152, 152, 152, 153, 151, 147, 145, 144, 140, 140, 139,
+  138, 137, 136, 136, 136, 136, 135, 133, 132, 130, 128, 127, 125, 122, 121, 121,
+  121, 120, 118, 118, 118, 118, 120, 121, 120, 116, 113, 113, 116, 107, 98, 101,
+  91, 92, 104, 104, 115, 118, 120, 123, 127, 136, 146, 147, 143, 142, 118, 100,
+  100, 109, 115, 123, 130, 127, 132, 154, 158, 129, 112, 110, 101, 98, 116, 121,
+  117, 98, 94, 114, 107, 57, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 95, 102, 94, 89, 97, 103, 105, 107, 112, 112, 107,
+  102, 107, 114, 115, 115, 115, 115, 117, 119, 120, 121, 129, 130, 130, 131, 133,
+  135, 137, 138, 141, 138, 136, 139, 144, 147, 145, 140, 137, 135, 135, 133, 131,
+  129, 128, 128, 129, 129, 128, 128, 130, 132, 137, 139, 142, 143, 144, 146, 148,
+  151, 154, 155, 148, 147, 148, 152, 152, 147, 145, 146, 139, 139, 137, 136, 135,
+  134, 135, 135, 133, 131, 129, 127, 127, 125, 124, 121, 124, 123, 122, 120, 118,
+  114, 113, 111, 119, 118, 117, 116, 114, 113, 112, 112, 106, 97, 96, 85, 91,
+  109, 109, 117, 117, 120, 123, 127, 137, 146, 148, 143, 135, 115, 102, 107, 118,
+  124, 129, 134, 121, 126, 142, 149, 129, 110, 104, 103, 98, 116, 115, 108, 96,
+  101, 115, 95, 108, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 203, 97, 98, 93, 97, 107, 108, 110, 108, 111, 114, 111, 105, 106,
+  111, 112, 112, 113, 115, 117, 119, 122, 125, 133, 134, 134, 134, 134, 136, 137,
+  138, 142, 142, 142, 144, 146, 147, 145, 142, 139, 138, 136, 135, 134, 132, 131,
+  130, 133, 132, 131, 132, 134, 137, 139, 140, 144, 146, 149, 152, 154, 155, 157,
+  158, 148, 145, 148, 154, 154, 148, 146, 148, 140, 139, 137, 135, 134, 134, 135,
+  135, 134, 131, 128, 127, 128, 127, 124, 120, 124, 123, 123, 121, 118, 115, 112,
+  110, 119, 117, 115, 116, 118, 116, 110, 105, 102, 95, 96, 86, 92, 110, 109,
+  115, 118, 121, 126, 130, 138, 147, 148, 144, 130, 114, 108, 118, 130, 133, 134,
+  137, 126, 131, 133, 136, 127, 106, 97, 108, 110, 121, 109, 99, 95, 107, 111,
+  73, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  101, 97, 96, 93, 103, 115, 114, 116, 111, 110, 116, 117, 112, 107, 109, 114,
+  115, 116, 119, 121, 124, 128, 130, 135, 136, 135, 135, 136, 137, 138, 138, 141,
+  142, 143, 145, 144, 144, 142, 141, 139, 138, 138, 138, 138, 138, 138, 139, 139,
+  138, 138, 139, 142, 144, 145, 146, 143, 147, 151, 156, 158, 160, 158, 157, 151,
+  148, 150, 156, 155, 148, 145, 147, 142, 140, 138, 136, 135, 134, 136, 136, 137,
+  134, 131, 130, 131, 130, 127, 123, 121, 120, 122, 121, 120, 117, 116, 115, 118,
+  115, 114, 118, 122, 120, 110, 101, 96, 94, 101, 90, 91, 108, 106, 112, 120,
+  124, 127, 132, 141, 149, 150, 144, 121, 110, 108, 122, 132, 135, 132, 135, 135,
+  139, 129, 127, 125, 103, 91, 111, 125, 128, 107, 93, 95, 111, 105, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 97, 90,
+  93, 104, 114, 118, 117, 121, 118, 116, 116, 114, 115, 112, 111, 116, 118, 118,
+  116, 118, 123, 128, 130, 138, 138, 138, 139, 141, 141, 139, 138, 140, 148, 146,
+  144, 146, 141, 134, 139, 132, 136, 141, 142, 140, 136, 135, 135, 136, 141, 144,
+  145, 141, 138, 138, 140, 154, 161, 162, 156, 155, 158, 159, 156, 144, 148, 151,
+  152, 152, 149, 145, 142, 141, 141, 140, 139, 137, 136, 135, 135, 135, 132, 128,
+  125, 125, 126, 124, 123, 120, 119, 119, 119, 120, 119, 118, 117, 114, 118, 119,
+  117, 118, 120, 116, 108, 95, 109, 112, 99, 90, 99, 113, 118, 129, 121, 121,
+  133, 144, 144, 137, 132, 117, 107, 116, 133, 133, 131, 132, 132, 132, 133, 130,
+  117, 104, 101, 109, 119, 115, 123, 95, 100, 116, 113, 96, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 99, 93, 99, 109,
+  118, 121, 120, 121, 118, 114, 112, 112, 113, 113, 114, 118, 120, 119, 119, 120,
+  124, 128, 132, 131, 134, 137, 141, 145, 147, 146, 145, 149, 156, 151, 147, 149,
+  143, 137, 142, 134, 136, 138, 137, 134, 133, 134, 136, 144, 144, 145, 147, 149,
+  149, 148, 148, 150, 157, 160, 156, 153, 154, 152, 148, 150, 151, 153, 154, 153,
+  150, 147, 145, 143, 143, 142, 141, 140, 139, 139, 138, 135, 133, 129, 128, 127,
+  127, 125, 123, 120, 120, 120, 120, 120, 120, 119, 118, 112, 116, 118, 117, 119,
+  121, 118, 111, 102, 113, 115, 104, 98, 107, 118, 122, 123, 118, 126, 146, 155,
+  144, 127, 119, 111, 112, 130, 136, 115, 101, 107, 116, 110, 111, 112, 115, 119,
+  124, 128, 130, 114, 108, 107, 107, 115, 114, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 102, 99, 104, 113, 122, 124,
+  122, 119, 117, 114, 112, 111, 113, 115, 117, 116, 116, 115, 115, 116, 119, 122,
+  124, 125, 129, 134, 139, 143, 146, 147, 148, 155, 161, 156, 151, 151, 145, 139,
+  143, 142, 142, 140, 137, 135, 136, 139, 142, 145, 142, 140, 143, 149, 152, 151,
+  150, 148, 155, 160, 159, 157, 156, 154, 150, 154, 154, 154, 153, 152, 150, 148,
+  147, 145, 144, 144, 143, 143, 142, 142, 141, 135, 133, 131, 130, 129, 128, 124,
+  122, 120, 119, 120, 120, 121, 120, 119, 118, 115, 117, 118, 117, 118, 119, 116,
+  110, 108, 115, 114, 107, 105, 115, 122, 123, 125, 121, 133, 154, 154, 131, 111,
+  106, 118, 120, 133, 133, 108, 93, 101, 111, 112, 109, 112, 122, 134, 139, 132,
+  122, 112, 96, 119, 117, 114, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 101, 100, 106, 115, 121, 122, 120, 116,
+  116, 116, 115, 114, 114, 116, 118, 115, 111, 110, 112, 113, 114, 115, 118, 122,
+  124, 126, 129, 131, 136, 140, 143, 152, 158, 153, 148, 149, 144, 137, 143, 145,
+  143, 140, 138, 137, 138, 140, 143, 144, 141, 139, 140, 144, 148, 149, 150, 147,
+  151, 155, 155, 154, 153, 154, 153, 155, 154, 152, 150, 148, 147, 146, 146, 143,
+  143, 143, 142, 142, 141, 141, 141, 133, 132, 130, 130, 129, 126, 122, 119, 118,
+  117, 118, 118, 119, 118, 118, 117, 120, 119, 118, 117, 116, 114, 109, 105, 109,
+  111, 109, 105, 107, 116, 119, 118, 127, 125, 137, 152, 143, 117, 107, 117, 121,
+  111, 115, 121, 115, 114, 117, 114, 122, 117, 116, 124, 134, 133, 118, 104, 111,
+  99, 122, 129, 112, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 99, 99, 105, 112, 117, 116, 115, 112, 116, 119,
+  120, 117, 115, 114, 114, 116, 109, 107, 111, 113, 111, 109, 113, 114, 116, 116,
+  116, 117, 122, 130, 136, 143, 151, 149, 145, 148, 145, 139, 145, 137, 136, 135,
+  135, 136, 136, 136, 136, 146, 146, 146, 144, 142, 143, 147, 152, 147, 147, 147,
+  146, 144, 142, 144, 147, 152, 151, 148, 146, 144, 143, 143, 143, 140, 140, 139,
+  139, 138, 137, 137, 137, 131, 129, 128, 127, 126, 123, 119, 115, 115, 115, 116,
+  116, 117, 116, 117, 116, 120, 118, 116, 115, 114, 111, 107, 105, 109, 108, 105,
+  104, 108, 115, 115, 113, 117, 122, 137, 146, 130, 106, 105, 122, 101, 93, 102,
+  119, 125, 129, 127, 114, 110, 108, 109, 113, 119, 117, 109, 100, 110, 115, 114,
+  129, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 101, 101, 105, 111, 113, 113, 112, 113, 119, 124, 125, 121,
+  116, 112, 112, 113, 104, 100, 106, 107, 103, 101, 104, 105, 107, 108, 108, 109,
+  115, 123, 131, 135, 144, 145, 144, 150, 147, 142, 146, 135, 134, 135, 138, 140,
+  140, 138, 136, 144, 146, 147, 143, 139, 138, 143, 149, 154, 150, 147, 145, 141,
+  138, 139, 143, 149, 148, 146, 144, 143, 142, 142, 141, 139, 139, 138, 137, 135,
+  134, 133, 133, 129, 127, 125, 123, 122, 120, 116, 113, 112, 113, 114, 115, 115,
+  115, 115, 115, 117, 113, 112, 114, 115, 112, 110, 110, 113, 110, 107, 108, 111,
+  115, 113, 112, 111, 123, 138, 139, 118, 93, 88, 98, 90, 96, 118, 136, 135,
+  133, 127, 115, 105, 107, 108, 109, 110, 109, 107, 107, 112, 124, 109, 161, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 206, 106, 107, 110, 113, 115, 116, 116, 125, 130, 135, 133, 126, 121, 118,
+  118, 115, 103, 98, 106, 108, 102, 99, 102, 104, 108, 111, 110, 108, 111, 117,
+  123, 128, 138, 141, 142, 149, 146, 140, 145, 138, 136, 137, 140, 144, 146, 144,
+  142, 145, 145, 144, 143, 141, 141, 143, 145, 154, 151, 150, 151, 147, 141, 141,
+  146, 148, 148, 147, 146, 145, 144, 144, 143, 141, 141, 139, 137, 135, 133, 132,
+  131, 130, 127, 123, 121, 119, 118, 115, 113, 112, 113, 114, 115, 116, 116, 116,
+  116, 119, 114, 112, 117, 118, 114, 112, 114, 115, 112, 111, 112, 114, 114, 112,
+  112, 119, 131, 140, 137, 121, 106, 98, 96, 115, 120, 136, 145, 138, 134, 128,
+  115, 109, 111, 112, 112, 110, 109, 111, 112, 116, 120, 109, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 113,
+  112, 112, 114, 116, 118, 118, 119, 139, 143, 145, 141, 133, 127, 126, 128, 125,
+  112, 107, 115, 118, 110, 106, 110, 108, 113, 118, 116, 111, 108, 111, 114, 121,
+  133, 138, 140, 147, 143, 136, 141, 137, 134, 133, 136, 141, 144, 144, 143, 153,
+  149, 146, 147, 150, 152, 150, 148, 144, 142, 145, 150, 149, 143, 143, 148, 149,
+  149, 149, 149, 149, 147, 146, 146, 144, 143, 141, 139, 137, 134, 133, 132, 131,
+  128, 123, 120, 118, 117, 115, 114, 114, 113, 114, 115, 117, 117, 117, 117, 124,
+  118, 116, 120, 119, 114, 111, 113, 116, 113, 112, 113, 114, 112, 110, 111, 127,
+  136, 142, 140, 139, 141, 138, 132, 146, 137, 135, 136, 132, 132, 128, 113, 104,
+  106, 108, 110, 111, 112, 114, 117, 119, 160, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 103, 112, 120,
+  117, 113, 117, 120, 120, 162, 166, 154, 138, 137, 133, 122, 119, 112, 113, 115,
+  115, 112, 111, 112, 114, 108, 109, 110, 113, 115, 115, 113, 112, 118, 130, 141,
+  143, 143, 144, 143, 140, 137, 132, 131, 135, 138, 139, 144, 150, 146, 148, 147,
+  145, 148, 153, 154, 151, 151, 150, 147, 147, 148, 150, 150, 149, 147, 147, 148,
+  148, 148, 147, 145, 144, 143, 138, 133, 133, 136, 138, 136, 133, 127, 126, 124,
+  121, 119, 116, 114, 113, 107, 114, 121, 123, 120, 118, 119, 121, 118, 120, 120,
+  116, 113, 110, 111, 113, 116, 115, 115, 116, 112, 107, 108, 114, 125, 131, 137,
+  138, 137, 138, 142, 147, 137, 140, 140, 137, 135, 131, 122, 113, 106, 100, 109,
+  119, 118, 118, 121, 119, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 103, 113, 120, 120, 121,
+  126, 133, 134, 173, 172, 154, 136, 136, 133, 127, 126, 120, 119, 117, 119, 121,
+  122, 119, 117, 114, 115, 116, 114, 110, 108, 111, 113, 118, 127, 136, 139, 141,
+  143, 141, 136, 140, 135, 134, 136, 138, 138, 142, 147, 148, 151, 151, 147, 147,
+  150, 151, 150, 153, 151, 149, 148, 149, 150, 149, 149, 150, 149, 148, 146, 146,
+  146, 146, 147, 142, 138, 134, 134, 137, 138, 136, 132, 129, 127, 125, 122, 119,
+  117, 116, 116, 114, 120, 125, 125, 121, 117, 117, 118, 120, 121, 121, 118, 115,
+  113, 114, 116, 117, 115, 116, 116, 112, 108, 109, 116, 127, 130, 132, 131, 129,
+  129, 132, 135, 134, 137, 135, 132, 131, 131, 126, 119, 117, 103, 104, 114, 119,
+  122, 120, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 107, 113, 119, 121, 125, 131, 138,
+  141, 156, 155, 140, 130, 136, 137, 131, 130, 127, 122, 119, 122, 129, 131, 126,
+  122, 119, 123, 122, 116, 108, 106, 112, 118, 116, 123, 129, 135, 139, 144, 141,
+  133, 142, 136, 135, 137, 137, 136, 139, 144, 149, 154, 155, 150, 146, 147, 148,
+  149, 154, 152, 150, 149, 149, 149, 148, 147, 151, 149, 148, 145, 145, 145, 147,
+  148, 139, 137, 134, 135, 137, 137, 134, 130, 130, 128, 125, 121, 119, 118, 118,
+  119, 120, 123, 127, 126, 122, 118, 118, 120, 120, 121, 122, 120, 117, 116, 117,
+  119, 117, 116, 116, 116, 112, 108, 110, 117, 131, 130, 130, 130, 130, 131, 132,
+  133, 138, 139, 137, 133, 132, 133, 129, 124, 124, 105, 104, 118, 127, 127, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 113, 114, 115, 117, 120, 126, 132, 135, 136,
+  138, 130, 129, 139, 138, 127, 125, 127, 124, 123, 126, 130, 132, 128, 125, 123,
+  124, 123, 117, 111, 109, 113, 117, 113, 118, 124, 129, 137, 143, 140, 133, 137,
+  133, 132, 135, 136, 135, 137, 141, 147, 154, 157, 151, 146, 146, 148, 149, 152,
+  151, 149, 148, 148, 147, 146, 144, 147, 147, 146, 145, 144, 144, 144, 144, 136,
+  134, 134, 134, 135, 134, 130, 127, 130, 127, 123, 119, 117, 118, 119, 120, 119,
+  122, 125, 124, 122, 120, 122, 123, 119, 119, 120, 119, 118, 118, 119, 119, 117,
+  114, 114, 114, 111, 107, 110, 117, 128, 128, 130, 134, 139, 141, 139, 138, 141,
+  142, 139, 135, 132, 131, 125, 119, 114, 103, 108, 166, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 119, 114, 110, 111, 114, 119, 124, 127, 138, 139, 131,
+  129, 135, 129, 119, 118, 126, 126, 127, 128, 129, 129, 129, 130, 125, 123, 118,
+  116, 113, 110, 107, 105, 107, 112, 117, 124, 133, 140, 138, 131, 130, 127, 127,
+  131, 133, 133, 136, 140, 143, 151, 155, 151, 146, 146, 149, 150, 149, 148, 147,
+  146, 146, 145, 143, 141, 142, 143, 145, 145, 145, 142, 140, 138, 133, 133, 132,
+  132, 132, 130, 127, 125, 127, 125, 121, 118, 116, 117, 119, 120, 120, 121, 122,
+  121, 120, 119, 120, 121, 119, 118, 117, 116, 117, 117, 117, 117, 115, 112, 111,
+  111, 108, 105, 108, 116, 123, 126, 131, 138, 143, 144, 140, 137, 136, 138, 137,
+  134, 130, 127, 119, 110, 109, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 123, 112, 106, 107, 112, 117, 122, 127, 134, 131, 120, 116, 120,
+  118, 116, 126, 126, 128, 131, 130, 128, 126, 127, 128, 125, 120, 115, 111, 109,
+  106, 101, 96, 106, 112, 118, 122, 128, 133, 132, 128, 125, 122, 124, 129, 132,
+  132, 135, 140, 140, 147, 151, 149, 146, 148, 149, 149, 146, 146, 145, 145, 145,
+  144, 142, 139, 138, 140, 143, 145, 144, 141, 137, 134, 133, 133, 132, 131, 129,
+  128, 126, 125, 125, 123, 120, 118, 117, 117, 119, 120, 125, 123, 121, 119, 117,
+  116, 117, 117, 118, 116, 114, 114, 115, 116, 116, 115, 113, 110, 110, 109, 106,
+  104, 108, 116, 128, 132, 138, 143, 144, 142, 138, 135, 134, 137, 137, 134, 132,
+  128, 120, 159, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 129, 114, 104, 105, 111, 114, 120, 125, 121, 121, 113, 111, 115, 113, 117,
+  132, 125, 125, 125, 125, 126, 124, 123, 122, 121, 119, 116, 111, 108, 106, 106,
+  107, 115, 122, 126, 127, 128, 130, 130, 128, 124, 122, 123, 129, 132, 132, 134,
+  139, 141, 145, 148, 146, 146, 149, 147, 144, 144, 145, 144, 145, 146, 145, 144,
+  141, 140, 141, 142, 143, 142, 140, 137, 135, 135, 135, 133, 131, 129, 127, 127,
+  128, 123, 123, 121, 120, 119, 119, 120, 120, 125, 123, 120, 118, 118, 118, 118,
+  118, 119, 117, 114, 114, 115, 116, 115, 113, 114, 110, 110, 109, 106, 104, 109,
+  117, 131, 135, 140, 140, 138, 135, 134, 136, 135, 137, 135, 129, 126, 123, 162,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215,
+  117, 104, 104, 109, 111, 115, 120, 122, 125, 122, 120, 120, 112, 112, 127, 124,
+  120, 116, 118, 122, 123, 118, 113, 117, 118, 117, 113, 108, 110, 118, 127, 125,
+  134, 138, 136, 133, 133, 132, 130, 125, 123, 125, 130, 134, 132, 134, 139, 142,
+  146, 146, 145, 146, 149, 145, 140, 145, 144, 144, 146, 148, 148, 145, 143, 143,
+  143, 142, 142, 141, 140, 139, 139, 138, 137, 135, 132, 129, 128, 129, 130, 123,
+  123, 123, 122, 122, 121, 121, 121, 122, 120, 117, 117, 119, 121, 123, 123, 120,
+  118, 113, 114, 116, 117, 115, 112, 115, 111, 110, 110, 107, 105, 111, 119, 125,
+  129, 132, 130, 126, 125, 129, 134, 134, 133, 128, 120, 161, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 138, 119,
+  100, 108, 111, 109, 119, 125, 124, 121, 115, 113, 114, 121, 126, 117, 118, 120,
+  123, 127, 128, 128, 127, 116, 108, 104, 112, 122, 130, 133, 138, 133, 135, 137,
+  138, 137, 136, 135, 135, 129, 127, 124, 126, 132, 137, 139, 139, 140, 143, 146,
+  150, 152, 153, 151, 151, 146, 146, 145, 144, 144, 145, 145, 146, 147, 142, 139,
+  139, 143, 143, 140, 135, 137, 136, 133, 133, 132, 129, 124, 121, 123, 121, 120,
+  119, 119, 119, 122, 123, 123, 120, 117, 118, 122, 124, 120, 116, 114, 111, 112,
+  118, 119, 115, 112, 112, 115, 113, 110, 105, 102, 103, 108, 112, 120, 123, 122,
+  118, 118, 123, 127, 128, 126, 123, 118, 160, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 139, 120, 102, 111,
+  113, 105, 108, 115, 120, 122, 123, 120, 118, 117, 117, 117, 122, 127, 130, 129,
+  128, 131, 132, 130, 127, 129, 137, 143, 142, 139, 139, 138, 137, 136, 135, 135,
+  135, 135, 135, 135, 131, 126, 126, 129, 135, 138, 140, 140, 142, 145, 148, 150,
+  150, 150, 149, 148, 147, 146, 145, 144, 144, 145, 145, 147, 143, 140, 140, 143,
+  144, 141, 137, 137, 137, 136, 136, 135, 132, 126, 121, 122, 121, 121, 120, 121,
+  122, 124, 125, 126, 122, 118, 118, 122, 124, 122, 119, 115, 111, 111, 115, 116,
+  112, 110, 110, 113, 111, 108, 104, 103, 104, 106, 108, 86, 97, 105, 107, 106,
+  106, 104, 100, 103, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 120, 106, 111, 114, 104,
+  100, 100, 105, 109, 112, 111, 109, 107, 106, 115, 122, 130, 131, 129, 127, 130,
+  135, 135, 134, 138, 144, 146, 142, 138, 139, 140, 139, 136, 133, 132, 132, 133,
+  134, 137, 133, 127, 125, 127, 132, 137, 140, 140, 142, 144, 146, 147, 147, 147,
+  146, 149, 148, 146, 145, 144, 143, 143, 143, 146, 143, 140, 141, 143, 144, 141,
+  138, 137, 138, 139, 140, 138, 133, 124, 118, 117, 118, 120, 121, 123, 124, 125,
+  125, 128, 123, 119, 119, 122, 123, 122, 120, 118, 113, 111, 114, 114, 111, 109,
+  110, 111, 108, 105, 103, 102, 102, 101, 100, 91, 105, 118, 121, 119, 117, 114,
+  110, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 122, 110, 108, 109, 103, 96, 92,
+  93, 92, 92, 95, 100, 105, 109, 111, 116, 123, 127, 127, 128, 130, 133, 130,
+  128, 130, 133, 134, 133, 136, 142, 137, 136, 134, 133, 132, 132, 132, 133, 133,
+  131, 127, 125, 126, 131, 135, 137, 141, 142, 144, 145, 145, 145, 146, 145, 148,
+  147, 145, 143, 141, 140, 140, 139, 143, 141, 139, 140, 141, 141, 140, 137, 137,
+  138, 140, 140, 136, 128, 117, 110, 111, 113, 117, 120, 122, 124, 123, 122, 125,
+  123, 121, 121, 123, 123, 120, 118, 121, 115, 112, 113, 113, 110, 108, 109, 109,
+  106, 101, 99, 98, 96, 93, 90, 103, 113, 120, 119, 115, 116, 164, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 127, 113, 100, 100, 99, 93, 92, 89, 88,
+  89, 95, 104, 114, 120, 113, 113, 115, 120, 128, 133, 133, 131, 128, 125, 127,
+  131, 132, 131, 134, 140, 131, 132, 133, 134, 134, 133, 132, 131, 126, 126, 126,
+  128, 128, 130, 133, 136, 142, 143, 144, 145, 145, 145, 146, 146, 147, 145, 143,
+  141, 139, 138, 137, 137, 139, 138, 137, 137, 138, 138, 137, 136, 137, 137, 137,
+  135, 130, 122, 110, 103, 106, 108, 113, 117, 120, 121, 120, 120, 120, 121, 122,
+  123, 123, 121, 117, 114, 118, 112, 109, 110, 110, 106, 105, 106, 107, 103, 98,
+  94, 91, 89, 87, 86, 106, 113, 115, 111, 107, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 213, 112, 91, 92, 97, 90, 86, 87, 88, 95, 104,
+  112, 119, 121, 120, 116, 113, 119, 129, 135, 136, 132, 126, 125, 128, 134, 136,
+  131, 128, 128, 128, 129, 132, 133, 134, 133, 131, 130, 123, 126, 129, 130, 129,
+  130, 133, 135, 141, 141, 143, 144, 144, 145, 147, 147, 146, 144, 142, 140, 138,
+  137, 137, 136, 136, 136, 136, 136, 136, 136, 136, 136, 137, 136, 134, 131, 126,
+  118, 109, 103, 106, 109, 113, 117, 121, 121, 121, 120, 120, 121, 123, 124, 122,
+  119, 116, 114, 112, 107, 105, 107, 107, 103, 100, 101, 104, 101, 96, 89, 84,
+  84, 88, 91, 109, 115, 119, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 105, 85, 92, 103, 93, 85, 85, 89, 96, 105, 114, 118,
+  120, 125, 121, 118, 119, 125, 130, 133, 132, 129, 124, 124, 130, 133, 130, 125,
+  125, 130, 131, 131, 131, 131, 130, 130, 129, 128, 130, 131, 131, 129, 130, 134,
+  137, 139, 140, 140, 141, 143, 145, 146, 147, 146, 145, 143, 141, 140, 139, 139,
+  139, 135, 136, 137, 136, 136, 136, 136, 137, 138, 135, 131, 128, 124, 120, 115,
+  111, 112, 114, 116, 120, 123, 124, 124, 125, 124, 124, 123, 122, 120, 118, 118,
+  118, 110, 106, 105, 108, 108, 104, 100, 100, 99, 98, 94, 87, 81, 84, 94,
+  104, 106, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 99, 85, 99, 112, 99, 93, 91, 90, 94, 104, 114, 121, 124, 127,
+  125, 122, 119, 120, 123, 128, 132, 138, 127, 121, 123, 129, 132, 132, 134, 135,
+  133, 131, 128, 127, 127, 128, 130, 135, 136, 134, 131, 128, 129, 134, 139, 137,
+  137, 138, 139, 141, 143, 145, 146, 147, 146, 144, 143, 142, 141, 141, 141, 136,
+  137, 138, 137, 136, 136, 137, 139, 138, 135, 130, 127, 125, 123, 121, 119, 117,
+  118, 121, 124, 126, 127, 129, 129, 129, 127, 123, 119, 117, 117, 120, 123, 111,
+  108, 108, 112, 112, 107, 103, 103, 96, 97, 94, 85, 80, 85, 101, 115, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  82, 86, 104, 110, 101, 96, 82, 91, 104, 101, 111, 128, 126, 129, 124, 120,
+  122, 127, 131, 132, 129, 132, 132, 133, 134, 132, 129, 124, 121, 129, 128, 127,
+  127, 128, 130, 132, 134, 138, 137, 137, 136, 136, 136, 136, 137, 143, 143, 143,
+  143, 143, 143, 143, 143, 143, 143, 143, 142, 141, 140, 138, 137, 136, 135, 134,
+  136, 138, 140, 140, 139, 135, 137, 135, 132, 127, 122, 119, 119, 121, 121, 123,
+  125, 125, 126, 128, 128, 121, 122, 123, 124, 123, 122, 120, 119, 115, 113, 110,
+  109, 107, 105, 101, 98, 98, 96, 89, 83, 89, 103, 111, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 87,
+  105, 109, 100, 103, 90, 87, 96, 102, 115, 128, 133, 129, 124, 118, 120, 125,
+  130, 130, 129, 126, 127, 129, 129, 128, 126, 122, 120, 129, 129, 128, 128, 128,
+  129, 131, 131, 133, 134, 134, 133, 133, 134, 135, 135, 141, 142, 143, 144, 145,
+  145, 144, 144, 144, 144, 144, 143, 142, 141, 139, 138, 134, 133, 132, 134, 136,
+  137, 137, 137, 138, 138, 136, 133, 128, 125, 123, 122, 123, 124, 126, 126, 127,
+  128, 129, 129, 126, 126, 127, 127, 126, 124, 122, 121, 115, 113, 110, 108, 107,
+  104, 100, 97, 95, 92, 85, 82, 90, 104, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 90, 109, 114,
+  107, 109, 101, 88, 92, 109, 119, 123, 132, 130, 125, 120, 122, 127, 132, 134,
+  135, 128, 130, 131, 132, 132, 130, 127, 125, 130, 129, 128, 127, 127, 127, 127,
+  128, 135, 135, 135, 135, 136, 136, 137, 138, 137, 139, 142, 144, 146, 145, 144,
+  143, 145, 145, 145, 144, 143, 141, 139, 138, 134, 133, 132, 133, 136, 137, 136,
+  136, 140, 141, 138, 133, 128, 126, 126, 127, 126, 126, 127, 128, 128, 129, 129,
+  130, 128, 129, 129, 129, 127, 125, 122, 120, 116, 114, 111, 109, 107, 104, 100,
+  96, 93, 88, 83, 84, 95, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 103, 115, 118, 109,
+  108, 92, 91, 114, 121, 115, 123, 125, 121, 118, 120, 126, 133, 138, 140, 135,
+  136, 137, 137, 136, 135, 131, 130, 129, 128, 127, 126, 125, 124, 123, 123, 131,
+  132, 132, 132, 133, 135, 135, 136, 132, 135, 139, 142, 144, 144, 142, 141, 143,
+  143, 143, 143, 141, 140, 138, 137, 136, 135, 134, 135, 137, 138, 138, 138, 140,
+  140, 137, 133, 128, 127, 127, 129, 127, 127, 128, 128, 128, 128, 129, 129, 126,
+  126, 126, 125, 123, 120, 117, 115, 116, 113, 110, 107, 105, 102, 97, 94, 91,
+  85, 82, 88, 152, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 72, 88, 108, 125, 112, 111, 91,
+  85, 105, 113, 112, 123, 115, 113, 112, 116, 122, 129, 135, 140, 138, 138, 138,
+  138, 136, 134, 131, 130, 128, 127, 126, 125, 123, 122, 120, 119, 121, 122, 122,
+  123, 124, 125, 127, 128, 129, 131, 135, 138, 140, 140, 139, 139, 141, 141, 141,
+  140, 139, 137, 136, 135, 136, 135, 134, 135, 137, 138, 137, 136, 139, 139, 136,
+  132, 127, 127, 128, 130, 127, 127, 127, 127, 127, 127, 127, 127, 124, 124, 124,
+  122, 120, 117, 114, 112, 114, 112, 108, 105, 102, 98, 94, 90, 86, 82, 82,
+  146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 79, 106, 131, 120, 114, 95, 81, 87,
+  99, 112, 123, 113, 113, 114, 117, 122, 129, 134, 138, 140, 140, 140, 139, 139,
+  137, 135, 134, 128, 128, 127, 126, 124, 122, 120, 120, 121, 121, 121, 121, 122,
+  123, 124, 125, 127, 129, 132, 135, 136, 137, 136, 137, 140, 140, 140, 139, 138,
+  136, 135, 134, 134, 133, 132, 132, 134, 135, 134, 133, 137, 138, 136, 133, 129,
+  128, 129, 130, 128, 129, 128, 127, 127, 126, 126, 126, 124, 124, 124, 123, 121,
+  118, 115, 113, 112, 110, 106, 102, 99, 95, 90, 86, 80, 79, 140, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 81, 105, 128, 128, 121, 111, 92, 77, 86, 101,
+  105, 112, 112, 115, 118, 120, 124, 127, 130, 135, 137, 137, 138, 139, 139, 138,
+  139, 129, 130, 130, 129, 127, 125, 123, 123, 125, 127, 126, 126, 125, 126, 127,
+  127, 129, 130, 131, 133, 134, 135, 135, 136, 140, 140, 140, 139, 138, 137, 135,
+  134, 134, 133, 132, 132, 134, 134, 133, 133, 137, 138, 137, 136, 132, 131, 131,
+  132, 131, 131, 130, 128, 128, 127, 127, 126, 124, 125, 125, 124, 122, 119, 117,
+  115, 111, 109, 104, 101, 97, 93, 87, 82, 79, 138, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 83, 101, 122, 133, 127, 128, 109, 77, 74, 87, 79, 102,
+  105, 107, 109, 110, 112, 114, 116, 125, 126, 129, 131, 133, 135, 136, 137, 133,
+  133, 133, 133, 131, 129, 126, 126, 125, 126, 125, 124, 124, 124, 125, 124, 131,
+  131, 131, 132, 133, 134, 135, 136, 141, 141, 141, 140, 139, 138, 136, 135, 137,
+  135, 134, 135, 136, 137, 136, 135, 137, 139, 139, 138, 135, 133, 133, 133, 133,
+  132, 131, 130, 129, 128, 128, 127, 121, 122, 122, 121, 120, 117, 115, 114, 110,
+  107, 103, 99, 96, 91, 85, 81, 138, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 74, 93, 116, 138, 137, 130, 110, 85, 71, 71, 80, 76, 81, 89,
+  93, 95, 96, 99, 102, 103, 112, 114, 117, 125, 123, 117, 121, 126, 126, 125,
+  126, 129, 128, 125, 123, 131, 123, 121, 126, 124, 115, 118, 128, 124, 125, 127,
+  130, 133, 135, 135, 136, 141, 141, 142, 142, 141, 140, 139, 137, 133, 133, 133,
+  134, 134, 136, 137, 136, 140, 137, 134, 131, 130, 131, 133, 135, 135, 134, 131,
+  129, 129, 129, 127, 126, 127, 124, 120, 117, 117, 116, 115, 113, 115, 113, 105,
+  97, 96, 99, 95, 86, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  76, 91, 110, 133, 130, 121, 102, 81, 66, 63, 66, 92, 90, 88, 84, 83,
+  88, 94, 101, 100, 105, 101, 97, 102, 99, 93, 99, 112, 114, 116, 111, 106,
+  101, 101, 104, 118, 111, 112, 118, 118, 114, 119, 130, 123, 126, 128, 127, 125,
+  128, 135, 142, 141, 142, 142, 143, 142, 140, 139, 138, 134, 134, 135, 135, 135,
+  136, 137, 138, 140, 138, 136, 134, 133, 134, 135, 135, 136, 133, 130, 128, 128,
+  127, 126, 124, 125, 122, 118, 116, 116, 115, 114, 112, 111, 110, 104, 95, 92,
+  93, 89, 140, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 86,
+  97, 131, 129, 120, 104, 84, 68, 62, 61, 75, 79, 84, 90, 92, 94, 95,
+  97, 103, 106, 99, 93, 99, 100, 101, 109, 86, 93, 97, 92, 81, 78, 84,
+  92, 70, 67, 68, 74, 76, 76, 84, 95, 117, 123, 128, 126, 122, 123, 132,
+  140, 140, 141, 142, 142, 141, 139, 138, 137, 135, 135, 135, 135, 135, 136, 137,
+  138, 139, 139, 138, 137, 137, 136, 136, 136, 135, 132, 129, 127, 126, 125, 123,
+  121, 125, 122, 119, 118, 117, 117, 115, 113, 108, 108, 104, 95, 88, 142, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 81, 85, 124,
+  126, 125, 110, 86, 69, 63, 62, 58, 62, 71, 80, 84, 86, 86, 87, 93,
+  106, 111, 115, 123, 117, 107, 108, 119, 120, 116, 102, 83, 72, 70, 75, 84,
+  82, 83, 88, 91, 93, 101, 111, 112, 118, 125, 126, 123, 122, 126, 130, 138,
+  139, 140, 140, 139, 137, 137, 135, 134, 133, 134, 133, 134, 134, 135, 135, 137,
+  138, 138, 139, 138, 137, 135, 134, 133, 131, 127, 125, 124, 123, 121, 119, 125,
+  123, 120, 119, 119, 118, 116, 114, 105, 106, 104, 95, 86, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 79, 79, 103, 115, 123,
+  109, 82, 61, 59, 64, 68, 63, 57, 53, 54, 60, 67, 73, 71, 92, 108,
+  118, 122, 103, 76, 65, 60, 63, 64, 66, 69, 73, 79, 85, 87, 88, 89,
+  94, 97, 102, 110, 118, 120, 119, 120, 119, 119, 122, 125, 128, 136, 137, 138,
+  138, 137, 135, 134, 133, 132, 131, 132, 131, 131, 131, 132, 132, 134, 135, 137,
+  137, 137, 136, 134, 132, 132, 129, 126, 124, 123, 122, 120, 118, 123, 121, 119,
+  118, 117, 116, 113, 111, 99, 99, 97, 90, 140, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 80, 78, 86, 105, 121, 112, 84,
+  62, 62, 70, 71, 66, 61, 59, 59, 61, 61, 61, 65, 75, 76, 76, 81,
+  72, 60, 61, 89, 86, 83, 82, 84, 85, 83, 83, 97, 100, 105, 109, 114,
+  120, 128, 133, 134, 128, 118, 113, 114, 121, 129, 135, 137, 136, 137, 137, 136,
+  135, 134, 132, 131, 130, 130, 129, 129, 129, 130, 130, 132, 133, 134, 135, 135,
+  134, 133, 132, 130, 127, 124, 123, 123, 123, 121, 119, 120, 118, 116, 115, 114,
+  112, 108, 105, 95, 92, 89, 142, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 82, 79, 79, 100, 119, 115, 91, 73, 69,
+  76, 67, 68, 73, 79, 82, 78, 69, 63, 72, 75, 64, 58, 66, 72, 78,
+  90, 89, 88, 89, 93, 99, 103, 103, 102, 101, 107, 111, 115, 118, 124, 129,
+  132, 138, 135, 128, 121, 118, 122, 130, 138, 138, 138, 138, 139, 138, 136, 135,
+  134, 131, 130, 130, 130, 129, 129, 129, 130, 133, 133, 134, 134, 134, 134, 133,
+  133, 128, 126, 123, 123, 123, 124, 122, 121, 122, 120, 118, 116, 114, 111, 108,
+  104, 96, 89, 84, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 197, 81, 75, 94, 113, 113, 96, 79, 74, 76, 80,
+  77, 75, 76, 78, 78, 72, 69, 72, 80, 81, 84, 92, 92, 89, 94, 111,
+  112, 112, 113, 115, 114, 111, 110, 118, 123, 128, 128, 130, 134, 136, 138, 132,
+  138, 141, 136, 128, 124, 128, 134, 140, 139, 140, 140, 139, 138, 137, 135, 132,
+  131, 131, 130, 130, 130, 130, 130, 134, 134, 134, 134, 134, 134, 134, 134, 127,
+  125, 123, 123, 124, 124, 124, 123, 126, 124, 122, 120, 118, 114, 110, 106, 100,
+  91, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 84, 89, 87, 96, 110, 108, 93, 79, 75, 81, 81, 83,
+  86, 88, 88, 83, 80, 79, 76, 76, 81, 85, 90, 100, 111, 118, 112, 108,
+  109, 117, 124, 128, 128, 120, 122, 126, 128, 130, 132, 134, 139, 136, 140, 144,
+  141, 132, 122, 124, 132, 134, 136, 139, 139, 138, 136, 136, 136, 131, 133, 135,
+  133, 130, 128, 129, 131, 135, 134, 132, 130, 129, 129, 130, 131, 130, 123, 117,
+  117, 120, 123, 125, 127, 121, 126, 124, 116, 112, 112, 109, 103, 94, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 87, 84, 81, 88, 102, 104, 94, 82, 79, 84, 83, 84, 86, 87,
+  86, 84, 80, 83, 82, 83, 88, 92, 94, 101, 110, 115, 116, 118, 120, 121,
+  124, 127, 129, 124, 125, 126, 127, 128, 131, 137, 140, 137, 140, 143, 143, 136,
+  127, 127, 133, 135, 137, 140, 140, 138, 136, 135, 135, 126, 128, 131, 131, 129,
+  129, 131, 133, 131, 131, 131, 131, 131, 132, 132, 133, 123, 121, 122, 126, 129,
+  128, 124, 122, 123, 125, 122, 115, 111, 110, 106, 99, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  89, 83, 78, 80, 93, 100, 95, 88, 87, 86, 85, 85, 85, 85, 85, 83,
+  81, 81, 80, 84, 90, 94, 95, 100, 107, 113, 120, 128, 130, 127, 126, 128,
+  129, 128, 127, 128, 127, 128, 132, 138, 142, 140, 140, 142, 144, 139, 133, 130,
+  133, 136, 138, 140, 140, 137, 134, 133, 133, 125, 127, 130, 130, 129, 130, 131,
+  133, 131, 131, 132, 133, 132, 131, 129, 128, 124, 125, 127, 129, 130, 128, 122,
+  117, 124, 124, 120, 115, 112, 110, 104, 149, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 88, 86,
+  79, 78, 88, 95, 97, 94, 94, 87, 86, 87, 86, 84, 84, 82, 82, 78,
+  77, 83, 90, 94, 96, 102, 111, 115, 121, 127, 130, 130, 129, 130, 130, 130,
+  130, 131, 132, 131, 134, 138, 141, 143, 140, 140, 142, 140, 134, 129, 128, 135,
+  137, 139, 138, 135, 131, 130, 129, 128, 128, 129, 129, 128, 128, 128, 129, 132,
+  133, 134, 133, 131, 127, 122, 120, 130, 131, 129, 124, 122, 122, 120, 117, 120,
+  119, 116, 115, 113, 108, 99, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 84, 87, 81, 77,
+  83, 89, 93, 95, 95, 91, 92, 93, 92, 89, 89, 88, 89, 88, 87, 88,
+  94, 97, 100, 108, 117, 120, 120, 121, 124, 129, 132, 132, 130, 129, 132, 135,
+  138, 137, 137, 138, 139, 145, 140, 138, 139, 138, 131, 125, 123, 132, 134, 136,
+  135, 131, 127, 126, 125, 124, 123, 124, 125, 125, 126, 126, 125, 130, 131, 132,
+  132, 129, 124, 119, 116, 124, 128, 127, 122, 119, 121, 120, 115, 118, 116, 113,
+  112, 107, 97, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 83, 82, 78, 80, 84,
+  87, 91, 93, 97, 99, 102, 102, 98, 97, 98, 99, 99, 95, 95, 99, 100,
+  102, 107, 115, 124, 121, 118, 122, 128, 133, 131, 130, 130, 135, 139, 141, 140,
+  138, 138, 138, 144, 139, 136, 137, 135, 129, 125, 125, 129, 131, 133, 132, 129,
+  125, 124, 123, 117, 116, 118, 120, 124, 127, 127, 127, 126, 127, 129, 130, 129,
+  126, 123, 120, 109, 119, 126, 124, 122, 124, 120, 112, 115, 111, 107, 103, 94,
+  141, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 79, 82, 82, 81, 82, 85, 92,
+  94, 98, 102, 107, 108, 104, 103, 104, 107, 102, 102, 104, 108, 109, 107, 111,
+  116, 124, 123, 123, 125, 127, 128, 129, 130, 134, 137, 141, 142, 141, 139, 139,
+  140, 141, 137, 135, 135, 132, 127, 127, 131, 127, 130, 132, 131, 128, 125, 124,
+  123, 120, 119, 120, 123, 128, 131, 131, 130, 127, 128, 129, 130, 129, 127, 125,
+  123, 108, 120, 126, 122, 119, 122, 119, 111, 111, 106, 100, 95, 142, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 78, 84, 87, 85, 84, 88, 94, 98, 95,
+  100, 108, 109, 107, 103, 105, 108, 105, 106, 112, 119, 121, 120, 122, 126, 123,
+  128, 131, 131, 128, 126, 128, 130, 136, 140, 140, 140, 138, 139, 140, 142, 139,
+  135, 134, 134, 131, 127, 130, 137, 127, 130, 132, 132, 129, 126, 125, 125, 129,
+  127, 127, 129, 133, 136, 134, 132, 132, 133, 132, 132, 130, 127, 124, 123, 120,
+  128, 127, 116, 110, 116, 117, 114, 108, 103, 96, 145, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 84, 83, 86, 89, 88, 89, 94, 101, 100, 102, 106,
+  111, 113, 112, 106, 103, 99, 103, 110, 117, 122, 125, 126, 126, 128, 131, 132,
+  133, 132, 131, 132, 135, 133, 138, 140, 142, 140, 138, 137, 137, 138, 136, 136,
+  135, 134, 133, 132, 133, 133, 132, 130, 129, 130, 128, 123, 120, 124, 123, 124,
+  127, 131, 133, 131, 129, 130, 129, 130, 131, 132, 132, 132, 130, 122, 129, 130,
+  124, 120, 118, 112, 104, 109, 99, 142, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 83, 82, 85, 84, 86, 93, 102, 95, 98, 103, 108, 111,
+  110, 107, 104, 98, 101, 106, 112, 116, 120, 123, 123, 128, 130, 132, 133, 132,
+  132, 133, 135, 135, 138, 141, 142, 140, 138, 137, 137, 137, 137, 136, 135, 134,
+  133, 133, 133, 136, 134, 131, 129, 129, 127, 124, 121, 127, 126, 127, 129, 133,
+  133, 131, 129, 130, 130, 129, 129, 130, 129, 127, 125, 127, 126, 120, 114, 114,
+  116, 112, 104, 92, 88, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 82, 80, 81, 80, 82, 92, 102, 97, 99, 103, 108, 109, 109, 106,
+  104, 100, 101, 104, 109, 113, 117, 121, 122, 127, 129, 131, 133, 131, 131, 132,
+  134, 136, 139, 141, 141, 139, 137, 136, 136, 137, 136, 136, 135, 134, 134, 133,
+  134, 137, 135, 131, 128, 127, 127, 126, 125, 130, 130, 130, 132, 134, 135, 133,
+  130, 136, 135, 133, 132, 132, 130, 127, 125, 126, 122, 115, 111, 113, 114, 106,
+  97, 80, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  196, 80, 81, 79, 80, 88, 96, 102, 104, 107, 110, 109, 108, 108, 107, 105,
+  105, 106, 108, 113, 117, 121, 124, 125, 128, 130, 130, 129, 130, 132, 133, 136,
+  139, 140, 139, 137, 134, 134, 134, 135, 135, 134, 134, 133, 133, 132, 134, 136,
+  132, 127, 125, 125, 126, 128, 128, 130, 131, 133, 135, 136, 137, 136, 135, 136,
+  135, 133, 132, 132, 129, 127, 124, 119, 119, 117, 115, 112, 105, 93, 141, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 81,
+  83, 81, 80, 84, 91, 100, 101, 105, 108, 108, 109, 112, 112, 109, 108, 108,
+  109, 112, 117, 121, 123, 123, 126, 128, 129, 128, 129, 130, 132, 135, 137, 138,
+  137, 134, 132, 132, 133, 134, 134, 134, 133, 133, 133, 133, 133, 132, 129, 124,
+  122, 123, 126, 130, 131, 128, 130, 133, 136, 138, 138, 139, 139, 129, 127, 126,
+  126, 126, 125, 122, 119, 115, 116, 114, 110, 100, 89, 83, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 82, 86, 84,
+  81, 84, 88, 92, 96, 100, 104, 106, 109, 115, 118, 110, 109, 109, 110, 112,
+  115, 119, 120, 122, 125, 127, 128, 127, 128, 129, 132, 135, 136, 137, 136, 134,
+  132, 133, 134, 134, 133, 133, 133, 133, 133, 133, 134, 130, 128, 123, 122, 123,
+  128, 130, 132, 127, 130, 134, 136, 137, 137, 138, 139, 128, 127, 126, 124, 125,
+  124, 121, 119, 114, 110, 105, 96, 84, 137, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 83, 86, 84, 81, 84,
+  91, 93, 97, 102, 105, 105, 108, 114, 118, 113, 113, 113, 115, 117, 118, 120,
+  121, 121, 124, 127, 128, 128, 129, 129, 131, 136, 137, 138, 137, 135, 135, 136,
+  138, 136, 136, 136, 136, 136, 136, 136, 137, 133, 130, 127, 126, 127, 129, 130,
+  130, 129, 132, 136, 136, 133, 132, 132, 135, 134, 132, 130, 128, 128, 125, 122,
+  119, 111, 103, 95, 90, 86, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 83, 81, 87, 93, 101,
+  105, 108, 108, 106, 107, 112, 117, 116, 117, 119, 120, 121, 122, 123, 123, 121,
+  123, 126, 128, 128, 128, 129, 130, 137, 138, 139, 138, 137, 137, 139, 142, 138,
+  138, 138, 138, 138, 139, 140, 140, 137, 134, 131, 129, 129, 130, 129, 129, 131,
+  134, 137, 136, 132, 129, 128, 129, 134, 132, 129, 127, 125, 121, 117, 114, 107,
+  99, 92, 94, 151, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 84, 84, 85, 85, 85, 101, 101, 102,
+  102, 102, 106, 110, 115, 119, 121, 124, 123, 121, 120, 122, 125, 123, 123, 124,
+  124, 124, 126, 127, 127, 131, 134, 136, 138, 143, 143, 139, 132, 134, 138, 139,
+  136, 137, 140, 141, 139, 137, 134, 131, 129, 129, 130, 133, 135, 134, 132, 130,
+  132, 136, 136, 133, 129, 133, 128, 124, 123, 124, 121, 111, 104, 93, 90, 87,
+  146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 86, 86, 86, 84, 99, 99, 101, 102, 102,
+  106, 111, 116, 118, 121, 123, 123, 122, 121, 122, 124, 121, 122, 123, 125, 127,
+  129, 131, 132, 136, 129, 125, 130, 138, 140, 137, 133, 138, 141, 141, 138, 138,
+  141, 141, 138, 136, 134, 132, 130, 130, 131, 133, 134, 132, 132, 132, 133, 136,
+  136, 134, 132, 127, 125, 122, 118, 114, 107, 102, 97, 94, 94, 149, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 199, 85, 84, 81, 97, 98, 100, 102, 104, 109, 115,
+  118, 118, 121, 123, 124, 122, 120, 119, 120, 119, 121, 123, 126, 130, 133, 136,
+  137, 132, 117, 110, 120, 135, 139, 141, 143, 140, 143, 143, 140, 139, 142, 141,
+  137, 134, 133, 132, 131, 131, 131, 132, 133, 126, 129, 132, 133, 133, 132, 133,
+  133, 126, 125, 119, 112, 101, 94, 93, 93, 97, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 85, 81, 78, 94, 95, 98, 102, 107, 112, 117, 120, 122,
+  123, 124, 124, 122, 119, 117, 116, 119, 120, 124, 127, 131, 135, 137, 138, 133,
+  118, 112, 122, 133, 135, 139, 146, 141, 144, 144, 141, 139, 141, 139, 135, 130,
+  130, 130, 129, 129, 128, 129, 129, 121, 125, 130, 130, 127, 125, 127, 129, 125,
+  119, 110, 100, 93, 92, 93, 148, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 83, 78, 75, 90, 91, 93, 99, 106, 111, 116, 119, 125, 126, 124,
+  123, 121, 118, 116, 113, 120, 123, 125, 128, 131, 134, 134, 134, 139, 132, 129,
+  132, 133, 129, 132, 139, 139, 142, 142, 139, 137, 138, 135, 130, 126, 126, 126,
+  125, 126, 126, 124, 124, 122, 125, 128, 127, 124, 121, 121, 123, 117, 106, 92,
+  85, 87, 92, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 78, 75, 86, 86, 88, 96, 104, 110, 115, 116, 126, 125, 122, 121, 119,
+  119, 116, 114, 122, 125, 127, 131, 132, 133, 134, 133, 131, 134, 136, 136, 135,
+  135, 138, 141, 136, 140, 141, 139, 136, 136, 132, 127, 125, 124, 122, 122, 122,
+  122, 122, 122, 125, 126, 127, 124, 121, 117, 115, 113, 101, 90, 79, 76, 141,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  79, 88, 87, 90, 98, 107, 114, 118, 118, 125, 122, 118, 118, 118, 121, 120,
+  119, 123, 126, 129, 133, 134, 136, 136, 135, 126, 134, 136, 132, 135, 143, 144,
+  139, 134, 138, 140, 138, 136, 136, 132, 126, 126, 123, 121, 119, 120, 121, 123,
+  124, 126, 124, 122, 119, 116, 111, 104, 101, 90, 87, 84, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 83, 95,
+  94, 97, 106, 114, 121, 123, 122, 122, 119, 115, 115, 119, 123, 125, 125, 124,
+  127, 130, 134, 138, 138, 138, 137, 138, 144, 140, 129, 131, 142, 138, 123, 133,
+  138, 140, 138, 136, 136, 132, 127, 127, 125, 121, 120, 119, 121, 124, 126, 124,
+  120, 115, 112, 109, 104, 97, 91, 88, 146, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 90, 100,
+  108, 112, 116, 121, 126, 121, 119, 115, 115, 117, 122, 125, 127, 134, 133, 134,
+  135, 137, 138, 139, 139, 139, 136, 133, 135, 137, 138, 136, 133, 136, 134, 133,
+  134, 133, 132, 129, 127, 123, 119, 114, 116, 122, 126, 125, 122, 128, 122, 112,
+  103, 96, 93, 93, 94, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 94, 103, 110,
+  114, 117, 119, 121, 119, 115, 114, 116, 120, 123, 125, 128, 129, 131, 132, 134,
+  135, 135, 134, 138, 135, 132, 135, 137, 139, 136, 134, 137, 135, 133, 131, 127,
+  123, 116, 113, 116, 123, 127, 122, 113, 112, 120, 130, 120, 113, 103, 94, 92,
+  96, 153, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 198, 91, 102, 111, 117, 119,
+  120, 123, 121, 120, 119, 119, 121, 124, 125, 125, 127, 130, 134, 135, 136, 134,
+  135, 134, 132, 129, 131, 134, 136, 134, 132, 130, 130, 128, 129, 126, 123, 116,
+  113, 117, 117, 116, 118, 119, 120, 118, 115, 103, 99, 95, 93, 96, 154, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 96, 107, 116, 120, 120, 119,
+  119, 119, 118, 116, 117, 119, 121, 122, 124, 128, 132, 135, 135, 133, 133, 128,
+  127, 125, 126, 130, 132, 129, 127, 124, 123, 121, 121, 121, 120, 117, 116, 120,
+  115, 111, 113, 117, 113, 101, 89, 90, 93, 98, 154, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 93, 103, 109, 112, 110, 113, 114,
+  113, 110, 110, 111, 113, 114, 117, 120, 124, 127, 127, 125, 125, 126, 124, 122,
+  124, 127, 128, 126, 124, 126, 122, 116, 111, 109, 108, 107, 107, 113, 116, 116,
+  106, 91, 82, 82, 86, 148, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 99, 103, 108, 111, 114, 114, 111,
+  109, 111, 113, 113, 116, 118, 121, 122, 123, 122, 121, 126, 123, 122, 122, 125,
+  126, 124, 121, 124, 119, 113, 109, 107, 108, 108, 108, 104, 100, 93, 86, 83,
+  87, 95, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 202, 104, 108, 114, 114, 111, 108, 110,
+  112, 115, 117, 117, 119, 121, 120, 119, 121, 124, 121, 118, 118, 120, 120, 118,
+  115, 115, 112, 108, 106, 106, 106, 104, 103, 99, 90, 83, 88, 102, 113, 162,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 102, 107, 108, 104, 102, 103, 107, 113,
+  113, 113, 114, 114, 116, 115, 116, 120, 118, 115, 114, 115, 116, 112, 109, 111,
+  110, 106, 102, 97, 91, 84, 79, 93, 103, 114, 118, 162, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 110, 111, 111, 108, 108, 110,
+  115, 114, 111, 110, 116, 113, 118, 119, 116, 111, 108, 106, 104, 105, 89, 97,
+  85, 89, 104, 92, 104, 111, 160, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 206,
+  103, 102, 106, 114, 115, 115, 112, 107, 103, 99, 94, 84, 86, 93, 93, 156,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  10, 11, 41, 64, 70, 78, 75, 69, 69, 73, 80, 84, 76, 70, 70, 71,
+  71, 70, 70, 71, 65, 63, 61, 66, 130, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 171, 4, 24, 43, 48,
+  72, 83, 77, 78, 77, 72, 71, 68, 79, 90, 91, 89, 87, 84, 83, 87,
+  87, 86, 81, 74, 69, 69, 71, 68, 76, 84, 92, 105, 112, 151, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 178, 47, 74, 77, 56, 33, 65, 84, 84,
+  67, 63, 59, 52, 49, 28, 37, 48, 57, 68, 83, 95, 100, 91, 90, 88,
+  80, 70, 64, 64, 66, 71, 81, 92, 103, 115, 117, 99, 81, 101, 212, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 182, 31, 32, 27, 33, 59, 83, 86, 73, 57, 68, 90, 90, 71, 65,
+  60, 48, 41, 65, 64, 55, 49, 54, 71, 91, 99, 79, 79, 75, 66, 55,
+  49, 49, 52, 71, 81, 93, 103, 112, 110, 86, 66, 57, 58, 58, 59, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 37, 43,
+  48, 39, 36, 48, 79, 97, 96, 82, 78, 71, 83, 87, 73, 57, 48, 50,
+  57, 48, 48, 50, 54, 62, 71, 81, 86, 76, 66, 67, 75, 77, 68, 62,
+  64, 75, 82, 88, 90, 89, 80, 58, 41, 42, 47, 48, 50, 51, 53, 52,
+  120, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 41, 39, 37, 37, 44,
+  51, 64, 80, 87, 80, 70, 69, 77, 70, 53, 38, 34, 39, 42, 41, 62,
+  66, 71, 74, 75, 71, 69, 65, 84, 80, 80, 82, 80, 70, 61, 56, 54,
+  58, 56, 45, 38, 39, 44, 48, 38, 41, 40, 39, 40, 41, 41, 43, 35,
+  83, 206, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 183, 46, 52, 55, 55, 54, 51, 66, 80,
+  82, 74, 66, 57, 57, 54, 57, 51, 48, 50, 54, 50, 43, 47, 52, 59,
+  62, 63, 57, 51, 44, 50, 52, 55, 55, 54, 52, 44, 35, 36, 40, 38,
+  29, 23, 27, 36, 47, 40, 41, 35, 34, 36, 38, 39, 41, 36, 31, 25,
+  104, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 43, 52, 53, 54, 53, 53, 53, 54, 49, 67, 79, 72, 61,
+  53, 45, 40, 39, 54, 67, 68, 65, 61, 57, 52, 41, 44, 48, 50, 53,
+  52, 52, 50, 35, 42, 47, 42, 44, 47, 45, 33, 45, 42, 41, 37, 39,
+  39, 41, 42, 39, 38, 34, 35, 39, 41, 41, 39, 35, 29, 25, 26, 82,
+  206, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 182,
+  42, 45, 58, 64, 60, 52, 50, 56, 61, 61, 75, 83, 79, 72, 68, 59,
+  51, 49, 54, 53, 43, 35, 35, 41, 42, 43, 42, 44, 43, 43, 42, 42,
+  42, 46, 50, 50, 39, 37, 38, 38, 28, 50, 47, 47, 42, 39, 34, 37,
+  42, 27, 28, 28, 33, 37, 39, 36, 32, 32, 27, 27, 28, 28, 23, 21,
+  99, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 180, 36, 40, 43, 48,
+  61, 67, 59, 52, 51, 60, 66, 38, 44, 48, 51, 55, 54, 47, 39, 51,
+  43, 32, 23, 25, 31, 31, 28, 34, 37, 41, 43, 44, 41, 38, 35, 44,
+  45, 43, 35, 31, 31, 31, 30, 34, 47, 62, 64, 50, 34, 31, 37, 24,
+  25, 26, 31, 40, 40, 36, 30, 33, 28, 27, 32, 29, 22, 24, 29, 27,
+  103, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 182, 39, 37, 38, 41, 41, 40, 71, 77, 69,
+  54, 41, 38, 38, 36, 46, 46, 52, 63, 72, 73, 71, 69, 48, 47, 43,
+  39, 39, 41, 37, 31, 45, 49, 54, 59, 60, 58, 54, 51, 44, 43, 45,
+  46, 45, 42, 44, 50, 30, 39, 56, 71, 69, 53, 38, 33, 31, 31, 29,
+  34, 43, 44, 41, 35, 42, 33, 31, 39, 43, 38, 39, 43, 36, 32, 79,
+  204, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 185, 47, 48, 45, 34, 36, 42, 47, 49, 63, 63, 52, 41, 38,
+  42, 41, 37, 32, 28, 34, 50, 61, 61, 61, 64, 57, 64, 66, 53, 37,
+  32, 37, 42, 53, 54, 56, 56, 55, 53, 51, 50, 42, 39, 43, 50, 47,
+  40, 41, 49, 47, 30, 25, 43, 64, 65, 49, 34, 36, 33, 29, 32, 41,
+  45, 41, 36, 52, 40, 36, 47, 55, 53, 52, 54, 43, 36, 27, 20, 18,
+  98, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 209, 108, 99, 91, 49,
+  46, 56, 49, 46, 46, 45, 41, 44, 53, 60, 53, 48, 52, 59, 65, 59,
+  54, 43, 46, 48, 52, 53, 53, 49, 43, 42, 38, 42, 47, 47, 40, 37,
+  41, 45, 53, 60, 57, 52, 51, 51, 50, 51, 59, 59, 48, 42, 43, 38,
+  28, 39, 33, 31, 40, 54, 59, 51, 41, 34, 29, 27, 31, 41, 47, 44,
+  38, 43, 54, 58, 51, 45, 42, 39, 35, 34, 16, 10, 17, 21, 20, 105,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 206, 89, 50, 85, 107, 54, 54, 59, 57, 68,
+  57, 49, 50, 52, 52, 54, 58, 57, 61, 68, 76, 81, 77, 67, 58, 46,
+  44, 42, 40, 39, 36, 32, 27, 36, 34, 38, 42, 42, 36, 36, 41, 39,
+  45, 49, 47, 47, 49, 49, 47, 45, 53, 53, 42, 37, 43, 47, 45, 38,
+  38, 42, 51, 61, 62, 54, 45, 53, 41, 29, 26, 33, 43, 49, 50, 56,
+  61, 58, 47, 39, 38, 39, 39, 25, 20, 27, 42, 50, 44, 38, 109, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 205, 73, 29, 38, 69, 75, 56, 51, 59, 61, 58, 53, 41, 31,
+  31, 36, 38, 39, 40, 47, 56, 68, 76, 74, 66, 54, 47, 48, 45, 40,
+  36, 33, 30, 27, 22, 27, 28, 33, 37, 37, 35, 40, 48, 37, 42, 45,
+  47, 54, 59, 59, 54, 41, 48, 47, 36, 31, 36, 41, 42, 42, 46, 51,
+  56, 58, 56, 52, 48, 49, 42, 35, 34, 39, 45, 46, 45, 57, 59, 56,
+  47, 39, 37, 38, 38, 24, 36, 54, 63, 60, 49, 38, 31, 110, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 234, 161, 79,
+  27, 23, 34, 55, 83, 76, 54, 58, 63, 55, 52, 40, 33, 27, 25, 27,
+  30, 31, 33, 41, 43, 45, 46, 44, 40, 35, 32, 43, 41, 38, 36, 35,
+  33, 30, 25, 22, 26, 33, 37, 41, 45, 55, 64, 71, 69, 63, 56, 53,
+  46, 32, 19, 37, 40, 39, 34, 32, 34, 34, 31, 50, 54, 56, 53, 49,
+  46, 49, 53, 43, 40, 37, 38, 42, 45, 46, 45, 44, 49, 52, 51, 46,
+  41, 37, 35, 39, 57, 69, 57, 36, 24, 26, 30, 24, 74, 205, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 239, 185, 102, 47, 36, 24, 24, 24,
+  37, 71, 81, 67, 57, 71, 68, 51, 48, 32, 34, 34, 30, 26, 25, 28,
+  30, 44, 38, 30, 27, 27, 28, 27, 25, 26, 27, 29, 32, 35, 35, 32,
+  27, 25, 31, 39, 44, 52, 62, 73, 81, 58, 62, 66, 72, 82, 86, 79,
+  68, 43, 39, 33, 29, 31, 35, 34, 30, 47, 52, 57, 55, 50, 47, 51,
+  55, 55, 48, 39, 33, 35, 42, 52, 58, 40, 44, 50, 55, 54, 50, 46,
+  44, 60, 63, 57, 36, 17, 12, 19, 24, 25, 34, 40, 107, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 186, 60, 43, 22, 29, 27, 24, 33, 40, 53, 69,
+  62, 54, 59, 71, 64, 48, 44, 35, 41, 42, 34, 27, 26, 30, 33, 46,
+  39, 31, 27, 28, 28, 25, 22, 18, 20, 24, 30, 34, 35, 32, 27, 31,
+  36, 42, 47, 57, 69, 78, 81, 85, 87, 88, 89, 94, 95, 87, 76, 70,
+  60, 45, 34, 31, 31, 31, 29, 38, 44, 52, 56, 56, 54, 54, 54, 57,
+  55, 52, 48, 46, 47, 51, 55, 50, 50, 54, 60, 62, 60, 59, 60, 67,
+  50, 32, 22, 24, 26, 25, 21, 25, 41, 50, 43, 40, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 176, 14, 13, 9, 0, 18, 21, 25, 46, 56, 64, 60, 57, 65,
+  73, 68, 64, 59, 51, 55, 57, 53, 42, 36, 39, 44, 45, 45, 42, 38,
+  33, 29, 27, 26, 26, 22, 23, 24, 27, 30, 30, 28, 24, 31, 33, 35,
+  37, 47, 57, 60, 57, 57, 60, 62, 66, 77, 86, 89, 85, 81, 76, 67,
+  56, 44, 35, 32, 33, 40, 40, 41, 44, 48, 51, 51, 50, 47, 54, 61,
+  64, 60, 54, 50, 48, 61, 60, 65, 73, 74, 68, 64, 64, 54, 33, 20,
+  25, 36, 38, 36, 35, 34, 35, 38, 39, 42, 44, 112, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 178,
+  19, 14, 11, 14, 8, 26, 25, 28, 50, 56, 59, 62, 70, 92, 94, 73,
+  72, 78, 65, 53, 51, 41, 28, 25, 32, 36, 35, 49, 48, 44, 36, 27,
+  25, 30, 36, 27, 24, 22, 21, 21, 21, 19, 16, 28, 27, 26, 25, 33,
+  41, 40, 32, 63, 64, 62, 61, 69, 79, 85, 85, 65, 73, 80, 77, 63,
+  49, 45, 48, 51, 41, 29, 26, 32, 41, 46, 48, 49, 53, 56, 55, 53,
+  52, 56, 60, 62, 64, 74, 86, 86, 73, 60, 56, 37, 25, 25, 34, 37,
+  34, 42, 57, 81, 60, 47, 51, 54, 48, 41, 41, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 173, 17, 31, 9,
+  5, 5, 24, 16, 36, 43, 53, 44, 70, 82, 87, 84, 75, 77, 84, 76,
+  59, 74, 50, 28, 28, 40, 50, 55, 58, 78, 63, 44, 35, 43, 51, 42,
+  27, 25, 22, 22, 26, 26, 24, 24, 25, 29, 26, 26, 29, 36, 40, 41,
+  41, 41, 39, 44, 58, 71, 73, 70, 68, 86, 91, 92, 81, 64, 53, 53,
+  58, 43, 41, 37, 32, 30, 34, 41, 47, 69, 70, 67, 63, 65, 68, 60,
+  49, 43, 49, 62, 78, 84, 72, 50, 32, 27, 28, 35, 41, 43, 41, 43,
+  47, 33, 41, 51, 53, 51, 49, 51, 54, 40, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 207, 87, 26, 31, 36, 11, 15, 16,
+  29, 35, 50, 56, 60, 61, 79, 70, 75, 76, 75, 76, 72, 55, 35, 32,
+  34, 39, 43, 43, 46, 61, 78, 69, 61, 45, 31, 27, 33, 34, 31, 34,
+  29, 26, 26, 25, 23, 25, 28, 24, 22, 23, 26, 31, 34, 36, 37, 39,
+  39, 45, 54, 61, 60, 59, 61, 69, 70, 69, 66, 61, 59, 61, 64, 48,
+  43, 37, 35, 39, 47, 55, 59, 55, 60, 60, 57, 58, 66, 71, 70, 76,
+  68, 63, 64, 62, 54, 48, 48, 41, 34, 36, 46, 57, 57, 52, 47, 42,
+  45, 49, 48, 44, 42, 43, 45, 38, 56, 130, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 205, 85, 37, 39, 34, 43, 36, 11, 24, 24, 26, 46,
+  55, 59, 56, 68, 68, 61, 66, 69, 62, 49, 41, 41, 44, 54, 42, 38,
+  53, 73, 83, 79, 73, 64, 56, 43, 32, 32, 38, 41, 40, 38, 32, 28,
+  28, 28, 28, 32, 36, 41, 39, 39, 38, 40, 42, 45, 48, 46, 48, 52,
+  57, 59, 56, 57, 62, 61, 55, 50, 49, 51, 53, 52, 49, 50, 41, 31,
+  27, 31, 37, 41, 42, 56, 61, 60, 51, 44, 48, 59, 66, 75, 68, 66,
+  68, 58, 41, 36, 43, 47, 43, 46, 54, 59, 55, 49, 45, 38, 36, 36,
+  33, 31, 30, 30, 31, 43, 42, 42, 116, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 177, 33, 27, 35, 37, 39, 55, 40, 18, 30, 29, 20, 47, 47, 55,
+  47, 63, 47, 56, 52, 48, 46, 40, 36, 41, 50, 52, 54, 59, 65, 69,
+  73, 79, 83, 61, 50, 40, 44, 57, 64, 55, 42, 33, 30, 30, 34, 37,
+  38, 43, 46, 39, 36, 33, 29, 28, 30, 36, 41, 45, 43, 44, 48, 50,
+  47, 48, 52, 45, 42, 41, 47, 56, 63, 64, 62, 57, 51, 44, 38, 36,
+  36, 37, 38, 56, 59, 57, 47, 35, 32, 38, 44, 48, 47, 57, 66, 56,
+  34, 27, 36, 40, 48, 59, 58, 45, 32, 33, 40, 27, 25, 25, 25, 26,
+  27, 27, 26, 15, 23, 31, 33, 106, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 177, 29,
+  36, 35, 41, 39, 48, 63, 50, 35, 33, 38, 22, 43, 41, 52, 46, 56,
+  34, 45, 36, 32, 44, 56, 56, 44, 35, 37, 42, 50, 58, 67, 72, 73,
+  71, 59, 55, 56, 66, 74, 69, 52, 37, 30, 31, 37, 46, 50, 49, 48,
+  48, 51, 47, 43, 40, 43, 48, 55, 60, 61, 53, 50, 53, 58, 55, 52,
+  52, 55, 54, 55, 57, 59, 60, 58, 57, 46, 49, 51, 47, 40, 36, 37,
+  40, 41, 42, 44, 43, 39, 35, 35, 36, 39, 35, 39, 45, 39, 28, 33,
+  47, 36, 44, 56, 54, 40, 25, 26, 34, 25, 25, 28, 30, 33, 35, 34,
+  32, 24, 25, 25, 24, 24, 104, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 182, 38, 38, 35, 40,
+  45, 42, 54, 59, 54, 53, 31, 42, 33, 39, 37, 45, 45, 45, 29, 30,
+  37, 41, 43, 42, 43, 47, 51, 55, 53, 56, 71, 90, 96, 78, 56, 68,
+  76, 87, 88, 75, 55, 43, 39, 37, 41, 51, 62, 63, 56, 48, 44, 31,
+  27, 27, 30, 40, 48, 53, 56, 74, 65, 60, 63, 68, 65, 59, 56, 54,
+  54, 53, 50, 45, 41, 39, 38, 41, 48, 53, 49, 38, 29, 28, 31, 34,
+  32, 35, 40, 42, 39, 36, 36, 35, 34, 36, 39, 38, 35, 39, 45, 39,
+  37, 41, 46, 45, 38, 33, 32, 29, 30, 35, 38, 39, 40, 40, 40, 51,
+  35, 23, 29, 42, 46, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 177, 26, 29, 28, 22, 35, 42, 47,
+  58, 49, 55, 75, 41, 52, 58, 45, 40, 37, 39, 26, 26, 26, 42, 48,
+  38, 32, 41, 58, 69, 60, 85, 106, 104, 90, 81, 81, 83, 81, 87, 93,
+  87, 66, 46, 41, 48, 47, 52, 64, 74, 74, 62, 50, 43, 38, 36, 41,
+  51, 65, 71, 70, 66, 59, 54, 53, 58, 62, 59, 57, 57, 46, 44, 42,
+  42, 43, 47, 50, 52, 51, 56, 59, 54, 45, 36, 33, 34, 39, 34, 32,
+  35, 35, 31, 31, 34, 33, 38, 42, 44, 48, 49, 43, 34, 35, 32, 34,
+  40, 43, 39, 35, 34, 35, 38, 43, 44, 43, 45, 50, 54, 44, 47, 51,
+  49, 38, 29, 109, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 174, 14, 23, 32, 33, 28, 33, 42, 54, 65, 47,
+  62, 98, 57, 66, 83, 61, 51, 34, 37, 17, 30, 32, 34, 32, 37, 59,
+  78, 70, 47, 69, 82, 92, 89, 83, 82, 81, 79, 86, 79, 72, 66, 56,
+  45, 44, 50, 53, 59, 70, 81, 80, 67, 54, 48, 39, 39, 48, 62, 75,
+  78, 69, 59, 57, 59, 64, 70, 74, 72, 74, 79, 96, 85, 71, 60, 55,
+  52, 49, 45, 34, 35, 37, 37, 35, 33, 31, 30, 37, 31, 27, 26, 24,
+  21, 27, 36, 41, 44, 42, 37, 45, 55, 51, 37, 25, 30, 38, 40, 33,
+  25, 29, 36, 42, 46, 49, 49, 51, 53, 64, 73, 65, 50, 39, 40, 41,
+  35, 29, 102, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 173, 19, 35, 40, 30, 24, 24, 27, 24, 44, 62, 63, 78, 90,
+  81, 75, 109, 40, 60, 17, 40, 28, 22, 29, 32, 36, 38, 39, 45, 56,
+  65, 68, 86, 98, 93, 86, 87, 88, 87, 84, 79, 74, 66, 51, 39, 45,
+  60, 52, 69, 78, 72, 69, 68, 57, 40, 56, 44, 50, 70, 79, 70, 61,
+  62, 58, 62, 75, 94, 106, 103, 93, 87, 88, 84, 75, 65, 60, 60, 56,
+  47, 37, 34, 27, 25, 25, 28, 33, 37, 30, 25, 23, 28, 30, 26, 25,
+  27, 32, 38, 41, 38, 33, 33, 40, 45, 31, 23, 25, 35, 35, 23, 19,
+  25, 28, 41, 40, 33, 35, 33, 34, 42, 44, 58, 54, 37, 39, 53, 46,
+  22, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 174,
+  10, 19, 27, 24, 14, 15, 23, 35, 38, 50, 58, 64, 76, 84, 77, 79,
+  109, 50, 59, 23, 34, 29, 22, 25, 29, 32, 32, 33, 39, 48, 56, 58,
+  67, 74, 73, 70, 76, 85, 91, 79, 73, 64, 56, 48, 45, 53, 64, 73,
+  73, 87, 104, 95, 67, 53, 59, 38, 63, 80, 75, 65, 63, 62, 58, 71,
+  81, 94, 99, 88, 73, 67, 69, 78, 82, 85, 87, 84, 78, 60, 45, 34,
+  33, 31, 28, 24, 24, 26, 27, 26, 22, 22, 24, 23, 19, 24, 30, 42,
+  42, 42, 41, 40, 41, 43, 42, 45, 37, 27, 25, 30, 34, 31, 25, 23,
+  32, 36, 41, 52, 51, 39, 31, 44, 37, 38, 50, 57, 49, 38, 35, 28,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176, 13, 16, 21,
+  23, 16, 8, 19, 33, 35, 50, 54, 51, 63, 74, 74, 71, 75, 98, 55,
+  49, 28, 27, 29, 23, 27, 29, 32, 32, 33, 37, 45, 51, 70, 67, 66,
+  64, 61, 64, 77, 91, 71, 71, 66, 58, 56, 60, 63, 63, 68, 66, 79,
+  95, 82, 51, 41, 52, 40, 60, 74, 71, 66, 67, 63, 53, 64, 68, 71,
+  69, 62, 61, 76, 93, 81, 81, 77, 74, 73, 72, 62, 53, 40, 42, 42,
+  39, 32, 28, 28, 29, 24, 25, 27, 29, 27, 26, 34, 42, 50, 44, 38,
+  39, 45, 46, 41, 37, 54, 56, 48, 33, 32, 41, 40, 29, 33, 35, 34,
+  35, 43, 52, 54, 52, 48, 36, 36, 50, 56, 46, 41, 42, 29, 102, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 20, 13, 15, 19, 18, 13,
+  12, 28, 47, 27, 50, 51, 44, 62, 71, 64, 65, 62, 78, 53, 37, 29,
+  20, 29, 25, 27, 29, 30, 31, 33, 37, 43, 48, 62, 53, 46, 42, 34,
+  28, 36, 50, 62, 72, 76, 68, 63, 64, 59, 51, 64, 80, 84, 71, 63,
+  64, 60, 49, 53, 53, 60, 67, 63, 52, 49, 55, 54, 46, 40, 40, 43,
+  48, 58, 67, 73, 72, 64, 54, 48, 49, 49, 48, 46, 49, 49, 46, 40,
+  34, 34, 38, 31, 34, 38, 44, 47, 49, 55, 58, 45, 37, 33, 35, 40,
+  40, 37, 36, 44, 58, 63, 52, 43, 46, 49, 48, 46, 50, 52, 42, 27,
+  31, 44, 50, 49, 58, 52, 35, 35, 51, 55, 42, 40, 31, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 21, 21, 15, 14, 14, 14, 15, 20, 35,
+  47, 27, 50, 54, 49, 65, 68, 58, 57, 53, 64, 51, 30, 29, 18, 28,
+  27, 20, 21, 22, 24, 26, 30, 35, 39, 56, 51, 49, 48, 40, 31, 36,
+  48, 61, 74, 80, 68, 55, 50, 47, 41, 61, 80, 80, 60, 59, 75, 70,
+  45, 51, 61, 71, 64, 42, 27, 39, 59, 46, 49, 57, 67, 69, 61, 51,
+  47, 48, 59, 67, 64, 54, 46, 40, 35, 45, 46, 47, 43, 40, 38, 40,
+  43, 46, 47, 51, 58, 69, 74, 71, 65, 43, 38, 38, 39, 38, 35, 38,
+  45, 43, 47, 53, 56, 55, 53, 56, 61, 51, 58, 75, 73, 48, 35, 30,
+  15, 37, 59, 57, 29, 26, 50, 59, 45, 46, 35, 103, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 204, 24, 23, 23, 22, 22, 24, 27, 31, 39, 44, 40,
+  50, 56, 55, 62, 58, 50, 47, 50, 56, 48, 31, 30, 23, 23, 25, 22,
+  22, 22, 23, 26, 29, 32, 34, 17, 24, 32, 36, 33, 32, 41, 54, 75,
+  81, 79, 64, 47, 42, 45, 50, 58, 62, 64, 66, 67, 65, 53, 40, 44,
+  65, 69, 50, 40, 52, 60, 56, 57, 66, 78, 83, 75, 62, 58, 61, 51,
+  62, 71, 73, 68, 62, 54, 46, 46, 46, 46, 46, 46, 47, 47, 48, 56,
+  56, 58, 64, 77, 83, 76, 65, 55, 51, 51, 49, 41, 35, 43, 57, 67,
+  54, 44, 48, 54, 54, 49, 46, 57, 54, 73, 86, 77, 74, 61, 29, 30,
+  39, 44, 41, 40, 45, 52, 55, 48, 36, 27, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 78, 26, 28, 26, 30, 35, 36, 38, 38, 42, 44, 48, 41, 47,
+  52, 47, 40, 39, 35, 41, 48, 41, 33, 30, 32, 19, 24, 26, 25, 24,
+  24, 25, 26, 27, 27, 17, 33, 46, 47, 46, 55, 72, 85, 84, 80, 73,
+  64, 52, 46, 51, 61, 75, 67, 70, 81, 78, 60, 48, 49, 50, 63, 63,
+  56, 65, 84, 79, 57, 74, 69, 64, 59, 51, 46, 50, 57, 70, 66, 60,
+  59, 66, 71, 64, 54, 47, 46, 46, 50, 55, 56, 52, 48, 56, 58, 60,
+  63, 72, 81, 81, 74, 76, 67, 60, 54, 44, 35, 42, 58, 68, 67, 60,
+  51, 50, 52, 47, 37, 55, 41, 56, 73, 74, 91, 97, 71, 46, 36, 37,
+  48, 49, 41, 44, 56, 55, 42, 31, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 179,
+  26, 27, 31, 18, 28, 37, 41, 38, 39, 39, 41, 45, 26, 33, 43, 31,
+  23, 30, 27, 33, 38, 31, 31, 28, 37, 17, 25, 25, 22, 20, 19, 19,
+  18, 17, 16, 21, 40, 52, 46, 42, 55, 76, 90, 78, 69, 64, 64, 59,
+  50, 51, 60, 79, 74, 73, 74, 64, 50, 44, 48, 62, 70, 81, 86, 83,
+  75, 69, 67, 61, 49, 44, 56, 74, 86, 90, 90, 75, 63, 50, 52, 65,
+  73, 58, 41, 43, 41, 42, 49, 56, 56, 48, 40, 49, 54, 57, 59, 67,
+  79, 86, 85, 88, 75, 62, 53, 42, 31, 36, 49, 37, 66, 79, 63, 51,
+  57, 60, 52, 39, 29, 49, 63, 56, 74, 94, 77, 70, 53, 41, 44, 46,
+  43, 44, 49, 66, 53, 40, 104, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 178, 38, 42, 36,
+  27, 33, 32, 35, 44, 45, 40, 36, 35, 35, 38, 36, 29, 23, 23, 34,
+  44, 45, 39, 37, 37, 38, 32, 24, 15, 19, 15, 12, 21, 34, 26, 15,
+  19, 47, 49, 51, 55, 62, 69, 72, 72, 62, 72, 74, 61, 50, 50, 57,
+  62, 66, 69, 76, 77, 61, 44, 47, 62, 64, 65, 67, 68, 67, 68, 74,
+  82, 64, 57, 52, 57, 64, 65, 60, 55, 63, 60, 61, 62, 57, 48, 44,
+  45, 41, 55, 51, 44, 51, 43, 35, 47, 48, 46, 55, 67, 73, 74, 86,
+  99, 90, 89, 78, 55, 39, 37, 39, 40, 52, 56, 75, 88, 79, 67, 56,
+  42, 44, 34, 29, 36, 47, 58, 72, 84, 67, 61, 57, 58, 63, 58, 45,
+  33, 49, 48, 46, 39, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 173, 17, 28, 35, 36, 34, 37,
+  36, 39, 49, 51, 45, 40, 39, 27, 34, 42, 41, 34, 26, 23, 23, 47,
+  46, 43, 31, 20, 17, 27, 35, 30, 26, 16, 11, 15, 18, 36, 67, 66,
+  59, 56, 64, 78, 83, 73, 60, 79, 77, 68, 53, 47, 54, 63, 67, 71,
+  73, 72, 65, 61, 64, 70, 74, 76, 66, 60, 67, 80, 87, 84, 78, 51,
+  63, 79, 88, 85, 76, 69, 64, 54, 53, 56, 58, 56, 49, 48, 50, 48,
+  46, 30, 28, 48, 49, 37, 39, 49, 47, 51, 57, 65, 74, 89, 100, 94,
+  92, 82, 60, 42, 35, 33, 32, 33, 34, 49, 65, 69, 70, 69, 64, 50,
+  38, 29, 28, 33, 39, 51, 62, 69, 63, 57, 55, 60, 60, 55, 50, 48,
+  48, 49, 44, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 7, 10, 20, 31, 42, 48, 37, 36, 39,
+  48, 49, 44, 36, 34, 36, 32, 27, 20, 18, 25, 40, 52, 25, 37, 50,
+  48, 39, 29, 26, 25, 14, 22, 26, 31, 36, 34, 46, 73, 75, 68, 65,
+  72, 79, 77, 62, 48, 87, 77, 61, 50, 51, 60, 67, 68, 73, 74, 66,
+  56, 62, 76, 78, 67, 67, 73, 81, 85, 85, 83, 80, 78, 67, 74, 79,
+  76, 67, 60, 58, 56, 50, 47, 49, 52, 51, 46, 46, 50, 41, 46, 41,
+  39, 50, 50, 49, 57, 50, 52, 53, 56, 68, 82, 91, 93, 76, 75, 66,
+  50, 38, 32, 30, 28, 31, 27, 30, 41, 51, 57, 62, 65, 58, 47, 35,
+  27, 23, 24, 32, 40, 62, 56, 53, 51, 53, 57, 62, 64, 47, 47, 50,
+  47, 109, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 10, 11, 18, 32, 49, 61, 45, 42, 44, 48, 49,
+  39, 32, 29, 31, 31, 34, 36, 40, 46, 52, 55, 43, 39, 35, 29, 31,
+  34, 33, 27, 30, 26, 20, 27, 41, 47, 58, 79, 70, 71, 71, 69, 60,
+  50, 45, 46, 81, 71, 59, 53, 56, 62, 64, 63, 68, 67, 61, 58, 63,
+  69, 63, 51, 67, 84, 101, 103, 92, 80, 71, 67, 89, 81, 69, 59, 56,
+  56, 52, 44, 50, 46, 46, 46, 44, 39, 39, 43, 35, 45, 52, 53, 55,
+  53, 56, 63, 45, 53, 58, 60, 73, 85, 85, 77, 58, 56, 48, 37, 29,
+  25, 25, 26, 35, 31, 26, 30, 37, 38, 43, 56, 65, 59, 50, 40, 31,
+  26, 29, 31, 42, 42, 46, 48, 50, 54, 60, 62, 51, 49, 50, 46, 34,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 10, 14, 14, 17, 27, 43, 55, 60, 55, 54, 55, 53, 42, 34,
+  32, 30, 32, 34, 38, 40, 37, 31, 24, 40, 37, 30, 24, 29, 35, 33,
+  25, 35, 33, 29, 36, 49, 51, 57, 76, 73, 69, 65, 58, 47, 38, 41,
+  52, 76, 68, 59, 53, 52, 54, 59, 62, 64, 57, 56, 63, 65, 60, 58,
+  60, 85, 89, 91, 91, 92, 87, 71, 54, 74, 79, 81, 79, 79, 75, 63,
+  48, 47, 41, 39, 38, 37, 33, 36, 41, 50, 40, 38, 43, 50, 55, 52,
+  42, 41, 48, 54, 55, 63, 73, 73, 63, 63, 56, 46, 36, 27, 23, 23,
+  26, 23, 27, 24, 29, 38, 33, 35, 56, 65, 68, 66, 58, 46, 37, 33,
+  30, 23, 29, 39, 46, 51, 51, 51, 51, 60, 56, 51, 45, 34, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  16, 20, 18, 17, 20, 31, 39, 64, 58, 55, 56, 55, 45, 39, 38, 45,
+  41, 38, 41, 44, 41, 32, 22, 7, 21, 35, 38, 42, 46, 45, 37, 32,
+  43, 53, 60, 62, 53, 56, 76, 83, 67, 55, 53, 54, 51, 53, 59, 75,
+  66, 56, 50, 47, 49, 59, 69, 61, 54, 56, 66, 67, 63, 71, 87, 79,
+  83, 80, 70, 65, 68, 69, 64, 57, 76, 89, 84, 71, 63, 57, 49, 42,
+  36, 34, 35, 35, 35, 41, 48, 59, 45, 43, 40, 33, 37, 43, 36, 41,
+  42, 42, 41, 45, 53, 59, 58, 60, 51, 42, 35, 29, 25, 27, 32, 17,
+  26, 26, 35, 49, 37, 29, 51, 54, 66, 73, 68, 56, 45, 37, 31, 22,
+  26, 36, 44, 50, 50, 49, 49, 68, 62, 56, 49, 39, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 19, 22,
+  19, 18, 18, 25, 31, 53, 47, 44, 47, 48, 43, 41, 42, 47, 50, 59,
+  72, 81, 71, 50, 31, 29, 34, 34, 30, 41, 61, 72, 71, 56, 56, 51,
+  50, 54, 54, 67, 94, 68, 56, 50, 54, 57, 55, 58, 66, 64, 56, 51,
+  52, 56, 60, 69, 78, 55, 59, 65, 68, 69, 71, 80, 89, 69, 82, 83,
+  65, 50, 55, 70, 79, 71, 85, 88, 71, 54, 49, 48, 44, 41, 35, 33,
+  34, 37, 39, 48, 56, 54, 49, 59, 55, 36, 34, 45, 41, 44, 41, 40,
+  43, 44, 46, 54, 61, 54, 45, 38, 36, 34, 29, 30, 32, 24, 31, 27,
+  40, 62, 44, 22, 37, 35, 53, 68, 67, 59, 51, 46, 39, 34, 31, 31,
+  33, 38, 43, 51, 54, 67, 62, 57, 53, 45, 108, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 17, 19, 22, 20, 20,
+  22, 28, 33, 44, 38, 37, 42, 46, 46, 48, 51, 55, 44, 33, 34, 44,
+  48, 44, 36, 53, 51, 45, 50, 68, 82, 70, 45, 48, 47, 50, 63, 82,
+  75, 66, 69, 44, 43, 53, 57, 53, 43, 55, 73, 47, 42, 46, 59, 71,
+  75, 79, 84, 50, 65, 75, 72, 70, 75, 76, 70, 84, 85, 82, 68, 69,
+  76, 80, 72, 93, 96, 93, 78, 72, 68, 61, 45, 44, 37, 35, 36, 39,
+  41, 50, 60, 54, 41, 52, 62, 57, 57, 52, 29, 44, 40, 47, 56, 56,
+  51, 54, 66, 64, 54, 47, 43, 36, 26, 23, 22, 26, 30, 23, 41, 72,
+  53, 23, 32, 18, 40, 60, 64, 59, 56, 55, 52, 47, 36, 28, 21, 28,
+  40, 52, 60, 61, 58, 56, 54, 48, 37, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 11, 23, 20, 10, 16, 25, 31,
+  38, 36, 43, 50, 53, 49, 45, 47, 52, 55, 46, 36, 32, 35, 39, 43,
+  44, 46, 56, 71, 85, 88, 78, 59, 42, 30, 41, 53, 59, 80, 91, 76,
+  44, 46, 59, 71, 68, 68, 65, 60, 50, 37, 54, 47, 68, 81, 101, 69,
+  50, 78, 80, 78, 70, 62, 64, 78, 91, 84, 83, 84, 79, 80, 82, 94,
+  100, 98, 82, 72, 67, 65, 54, 49, 46, 47, 43, 42, 43, 46, 46, 43,
+  40, 33, 41, 49, 49, 53, 57, 54, 48, 40, 36, 40, 42, 41, 37, 39,
+  45, 41, 38, 36, 33, 30, 27, 25, 21, 28, 18, 28, 55, 62, 43, 30,
+  32, 32, 29, 50, 58, 58, 70, 65, 48, 47, 41, 42, 39, 36, 33, 42,
+  54, 60, 56, 55, 56, 52, 41, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 27, 33, 27, 13, 21, 29, 35, 43, 31,
+  38, 46, 50, 51, 52, 61, 66, 46, 48, 47, 38, 30, 33, 50, 65, 64,
+  66, 70, 69, 64, 53, 39, 30, 53, 47, 55, 77, 86, 72, 56, 50, 53,
+  58, 64, 70, 76, 75, 64, 51, 58, 67, 75, 98, 100, 86, 64, 70, 55,
+  58, 64, 69, 76, 85, 95, 100, 90, 82, 76, 74, 76, 81, 86, 88, 80,
+  70, 63, 65, 67, 64, 62, 62, 59, 54, 52, 54, 60, 61, 57, 52, 39,
+  43, 46, 45, 48, 50, 46, 36, 35, 32, 32, 34, 35, 31, 32, 37, 44,
+  41, 37, 33, 29, 27, 26, 25, 27, 21, 29, 48, 55, 44, 35, 36, 31,
+  55, 39, 44, 56, 50, 59, 56, 65, 50, 39, 42, 48, 47, 42, 39, 49,
+  55, 63, 64, 54, 39, 106, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 29, 32, 21, 7, 18, 29, 36, 42, 44, 48, 52,
+  50, 49, 50, 58, 62, 50, 41, 33, 29, 35, 45, 56, 62, 73, 80, 90,
+  95, 94, 84, 73, 65, 62, 49, 51, 68, 68, 51, 43, 52, 58, 63, 73,
+  83, 81, 69, 57, 51, 65, 79, 97, 98, 91, 58, 53, 67, 65, 67, 74,
+  86, 100, 108, 110, 106, 90, 78, 68, 67, 74, 81, 82, 79, 78, 72, 68,
+  72, 76, 77, 76, 77, 66, 60, 56, 56, 61, 61, 57, 53, 46, 44, 43,
+  41, 43, 45, 41, 31, 42, 38, 38, 39, 39, 35, 36, 41, 47, 43, 39,
+  33, 28, 25, 25, 25, 26, 25, 31, 41, 47, 45, 42, 41, 37, 50, 56,
+  29, 50, 59, 28, 68, 63, 60, 57, 54, 47, 39, 37, 39, 41, 45, 53,
+  59, 57, 46, 38, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 175, 30, 35, 24, 15, 27, 41, 46, 50, 52, 56, 56, 51, 46,
+  46, 50, 50, 45, 33, 22, 23, 36, 48, 52, 51, 53, 63, 76, 84, 87,
+  83, 80, 79, 61, 54, 47, 44, 45, 48, 51, 54, 61, 74, 92, 96, 76,
+  52, 48, 58, 70, 92, 104, 69, 64, 43, 51, 52, 72, 71, 72, 76, 82,
+  83, 80, 73, 85, 74, 66, 66, 73, 79, 81, 79, 88, 84, 81, 80, 80,
+  78, 75, 74, 70, 64, 59, 53, 50, 48, 49, 50, 51, 45, 40, 39, 44,
+  46, 43, 34, 32, 29, 28, 28, 27, 22, 23, 28, 43, 42, 40, 34, 29,
+  25, 25, 25, 25, 30, 35, 38, 43, 47, 46, 42, 28, 65, 37, 50, 66,
+  43, 55, 53, 57, 62, 65, 60, 47, 37, 36, 41, 44, 32, 29, 41, 55,
+  56, 46, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  21, 24, 32, 26, 21, 32, 41, 41, 42, 41, 49, 52, 48, 46, 49, 51,
+  49, 29, 33, 35, 33, 30, 32, 41, 49, 46, 45, 44, 41, 40, 47, 60,
+  69, 72, 62, 51, 47, 50, 54, 56, 58, 71, 78, 87, 86, 68, 52, 59,
+  77, 93, 97, 91, 51, 54, 44, 56, 57, 64, 63, 62, 60, 60, 61, 64,
+  64, 82, 78, 75, 73, 73, 76, 80, 82, 91, 89, 86, 82, 78, 75, 71,
+  67, 75, 75, 70, 60, 50, 47, 54, 61, 57, 48, 40, 40, 45, 46, 42,
+  37, 32, 29, 27, 25, 23, 19, 20, 24, 35, 36, 40, 38, 35, 33, 34,
+  35, 28, 34, 38, 40, 44, 49, 46, 38, 48, 29, 61, 55, 56, 75, 50,
+  60, 65, 59, 54, 54, 58, 56, 46, 35, 50, 35, 25, 32, 45, 50, 47,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 29, 26,
+  38, 37, 32, 39, 40, 35, 33, 40, 48, 51, 46, 46, 50, 51, 47, 38,
+  37, 36, 37, 38, 38, 38, 37, 39, 39, 41, 43, 49, 60, 74, 82, 82,
+  61, 54, 66, 66, 52, 48, 59, 83, 75, 67, 65, 67, 73, 85, 95, 98,
+  80, 60, 48, 56, 45, 51, 67, 57, 60, 64, 66, 68, 75, 87, 95, 87,
+  88, 89, 85, 79, 76, 79, 83, 89, 92, 92, 88, 86, 85, 82, 78, 78,
+  79, 77, 68, 59, 57, 66, 75, 65, 55, 47, 47, 49, 46, 42, 41, 43,
+  38, 35, 33, 30, 25, 25, 30, 28, 32, 39, 40, 41, 43, 47, 51, 39,
+  39, 40, 43, 48, 50, 43, 33, 53, 51, 38, 65, 61, 54, 83, 59, 62,
+  63, 62, 58, 58, 58, 53, 48, 52, 48, 45, 41, 36, 35, 44, 56, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 30, 41, 58, 60,
+  55, 58, 56, 49, 48, 50, 54, 53, 44, 44, 50, 51, 45, 53, 40, 31,
+  35, 48, 50, 38, 25, 27, 31, 39, 49, 62, 71, 75, 77, 72, 62, 59,
+  64, 63, 54, 56, 67, 81, 76, 69, 67, 76, 89, 96, 95, 75, 66, 48,
+  56, 59, 57, 52, 67, 62, 67, 72, 76, 79, 85, 93, 98, 93, 95, 98,
+  95, 88, 84, 84, 86, 92, 98, 100, 98, 97, 98, 96, 92, 83, 83, 81,
+  77, 73, 71, 73, 75, 69, 61, 58, 58, 57, 52, 50, 52, 37, 32, 28,
+  25, 21, 16, 16, 21, 31, 34, 38, 37, 37, 41, 49, 57, 53, 45, 40,
+  45, 51, 49, 39, 31, 61, 48, 57, 51, 57, 66, 55, 73, 59, 69, 72,
+  62, 50, 48, 53, 57, 49, 53, 56, 52, 40, 34, 44, 58, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 180, 26, 32, 48, 54, 48, 51,
+  51, 46, 46, 50, 56, 53, 43, 44, 54, 58, 52, 45, 45, 45, 43, 42,
+  38, 36, 35, 50, 45, 40, 40, 46, 52, 56, 57, 56, 69, 67, 50, 47,
+  66, 81, 82, 70, 82, 89, 86, 85, 90, 90, 84, 53, 74, 64, 69, 65,
+  83, 69, 69, 92, 94, 96, 97, 95, 92, 91, 88, 95, 96, 100, 100, 97,
+  93, 91, 91, 94, 101, 104, 100, 99, 100, 98, 92, 91, 88, 85, 85, 86,
+  83, 76, 70, 72, 66, 65, 68, 66, 62, 62, 67, 42, 37, 32, 29, 25,
+  19, 20, 25, 38, 37, 37, 32, 29, 33, 43, 52, 64, 48, 39, 45, 52,
+  47, 37, 31, 49, 70, 53, 51, 69, 52, 45, 69, 71, 68, 60, 52, 53,
+  57, 53, 43, 47, 48, 51, 54, 50, 45, 47, 52, 118, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 12, 15, 25, 37, 58, 60, 45, 43, 48,
+  44, 48, 51, 53, 48, 45, 44, 47, 45, 45, 38, 42, 52, 55, 43, 28,
+  18, 33, 38, 45, 51, 55, 54, 52, 51, 51, 49, 46, 48, 61, 76, 81,
+  78, 77, 75, 77, 84, 87, 81, 75, 73, 69, 69, 74, 83, 86, 83, 85,
+  91, 102, 100, 97, 96, 97, 100, 103, 104, 104, 102, 103, 104, 104, 102, 97,
+  93, 95, 98, 102, 103, 102, 100, 100, 100, 96, 99, 100, 98, 94, 91, 91,
+  93, 84, 78, 74, 73, 71, 68, 69, 73, 50, 41, 36, 40, 41, 32, 24,
+  23, 30, 42, 45, 31, 27, 39, 47, 43, 47, 45, 43, 43, 43, 40, 34,
+  30, 37, 60, 73, 63, 53, 57, 61, 60, 69, 63, 64, 70, 65, 51, 47,
+  52, 44, 50, 46, 42, 43, 41, 48, 67, 53, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 16, 19, 30, 37, 56, 63, 52, 45, 50, 46, 48,
+  54, 56, 50, 47, 47, 49, 46, 58, 47, 41, 43, 52, 66, 88, 104, 56,
+  46, 37, 37, 44, 47, 40, 33, 46, 53, 61, 70, 79, 84, 78, 69, 69,
+  66, 66, 71, 73, 72, 74, 78, 94, 93, 97, 103, 103, 98, 98, 103, 105,
+  105, 105, 106, 108, 110, 112, 111, 107, 104, 104, 104, 105, 103, 99, 96, 98,
+  100, 103, 103, 102, 101, 101, 102, 100, 100, 100, 97, 94, 92, 89, 90, 91,
+  84, 77, 75, 73, 71, 75, 81, 76, 62, 47, 39, 38, 33, 26, 22, 26,
+  36, 37, 25, 24, 37, 43, 37, 43, 41, 39, 38, 37, 34, 29, 24, 25,
+  45, 64, 69, 68, 69, 65, 58, 66, 54, 56, 70, 69, 51, 41, 46, 42,
+  42, 34, 32, 38, 38, 42, 56, 64, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 16, 19, 33, 32, 51, 64, 57, 49, 51, 51, 50, 56, 58,
+  53, 50, 50, 50, 49, 55, 50, 43, 36, 32, 36, 54, 70, 76, 63, 48,
+  40, 40, 41, 40, 37, 41, 54, 68, 77, 80, 78, 68, 58, 65, 63, 63,
+  66, 68, 72, 82, 93, 96, 96, 99, 102, 100, 97, 96, 100, 108, 110, 112,
+  115, 117, 118, 118, 116, 111, 107, 105, 104, 105, 104, 102, 100, 101, 102, 103,
+  103, 101, 102, 103, 105, 109, 109, 107, 105, 102, 100, 97, 95, 93, 85, 77,
+  73, 69, 68, 72, 79, 91, 80, 62, 47, 43, 39, 31, 22, 28, 35, 35,
+  25, 26, 38, 42, 37, 42, 41, 39, 38, 37, 34, 29, 26, 26, 37, 55,
+  72, 82, 84, 78, 72, 67, 51, 49, 65, 72, 58, 45, 44, 53, 47, 33,
+  30, 39, 40, 39, 49, 74, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  173, 11, 13, 30, 23, 40, 62, 59, 48, 50, 51, 51, 57, 59, 54, 51,
+  51, 52, 51, 39, 45, 51, 50, 43, 35, 36, 39, 69, 71, 69, 58, 45,
+  40, 46, 54, 42, 54, 63, 64, 62, 61, 57, 52, 60, 63, 68, 73, 75,
+  78, 91, 104, 101, 103, 107, 109, 109, 109, 110, 113, 111, 113, 114, 116, 117,
+  118, 117, 115, 113, 108, 105, 104, 104, 104, 103, 102, 102, 103, 102, 101, 100,
+  101, 104, 109, 115, 111, 108, 107, 107, 106, 103, 99, 91, 86, 81, 78, 73,
+  67, 65, 67, 80, 82, 75, 62, 54, 48, 39, 28, 28, 36, 37, 27, 24,
+  33, 38, 37, 38, 37, 36, 36, 35, 34, 32, 31, 34, 35, 44, 62, 77,
+  83, 85, 87, 79, 63, 49, 52, 66, 71, 62, 49, 62, 55, 40, 34, 40,
+  38, 37, 46, 62, 130, 255, 255, 255, 255, 255, 255, 255, 255, 255, 8, 10,
+  10, 20, 15, 33, 56, 56, 47, 49, 49, 51, 55, 57, 53, 50, 51, 53,
+  52, 53, 52, 54, 52, 50, 50, 52, 51, 52, 61, 71, 66, 54, 46, 48,
+  54, 56, 65, 67, 63, 58, 58, 59, 59, 55, 62, 74, 83, 84, 84, 92,
+  103, 107, 110, 113, 114, 115, 117, 119, 121, 117, 116, 115, 114, 114, 114, 115,
+  113, 113, 108, 104, 103, 103, 104, 103, 103, 102, 102, 101, 99, 98, 100, 103,
+  109, 109, 107, 103, 103, 106, 106, 102, 99, 93, 91, 91, 91, 85, 70, 60,
+  58, 69, 77, 79, 70, 61, 52, 46, 42, 25, 34, 36, 26, 18, 23, 30,
+  33, 29, 29, 29, 28, 29, 31, 34, 36, 34, 31, 34, 48, 62, 71, 78,
+  85, 96, 85, 59, 40, 51, 75, 73, 52, 55, 54, 43, 35, 35, 30, 33,
+  47, 39, 66, 255, 255, 255, 255, 255, 255, 255, 255, 255, 10, 12, 11, 12,
+  12, 32, 53, 54, 49, 50, 48, 53, 59, 61, 56, 54, 55, 58, 55, 62,
+  57, 51, 46, 47, 52, 54, 51, 60, 61, 66, 70, 72, 68, 60, 54, 77,
+  86, 88, 84, 80, 78, 77, 74, 65, 74, 87, 97, 97, 94, 98, 105, 108,
+  112, 113, 111, 110, 113, 114, 113, 121, 120, 118, 116, 115, 114, 115, 113, 113,
+  109, 105, 104, 104, 105, 104, 103, 102, 102, 101, 100, 98, 100, 103, 108, 107,
+  108, 105, 105, 106, 107, 104, 103, 92, 92, 94, 96, 86, 70, 57, 53, 69,
+  73, 76, 74, 65, 54, 51, 55, 29, 35, 37, 28, 21, 24, 31, 34, 30,
+  29, 28, 26, 28, 33, 40, 46, 33, 31, 33, 43, 59, 71, 76, 75, 100,
+  100, 77, 45, 42, 64, 70, 57, 49, 54, 48, 41, 37, 31, 36, 54, 36,
+  65, 255, 255, 255, 255, 255, 255, 255, 255, 255, 10, 11, 10, 8, 16, 39,
+  55, 55, 56, 59, 52, 59, 65, 67, 63, 61, 61, 64, 62, 53, 55, 58,
+  59, 68, 76, 77, 73, 79, 76, 76, 79, 85, 88, 85, 82, 97, 104, 106,
+  103, 100, 99, 95, 90, 88, 93, 102, 109, 109, 105, 108, 114, 118, 123, 124,
+  118, 117, 120, 121, 119, 118, 119, 119, 119, 118, 117, 116, 113, 114, 110, 108,
+  107, 107, 107, 105, 104, 102, 103, 103, 102, 101, 101, 104, 108, 109, 112, 112,
+  111, 107, 106, 105, 106, 96, 94, 93, 93, 84, 70, 60, 58, 69, 65, 70,
+  82, 81, 64, 55, 59, 36, 35, 33, 28, 30, 35, 37, 36, 35, 34, 30,
+  27, 28, 35, 46, 54, 38, 35, 31, 37, 58, 80, 82, 72, 85, 98, 95,
+  71, 49, 50, 63, 73, 56, 61, 57, 49, 45, 37, 39, 56, 51, 59, 255,
+  255, 255, 255, 255, 255, 255, 255, 173, 10, 10, 6, 8, 19, 43, 56, 55,
+  62, 66, 59, 66, 72, 74, 70, 68, 69, 70, 69, 74, 76, 79, 75, 75,
+  81, 83, 79, 88, 90, 91, 89, 87, 92, 105, 115, 111, 113, 111, 107, 105,
+  106, 104, 100, 104, 104, 107, 111, 111, 109, 112, 119, 114, 120, 121, 115, 114,
+  118, 120, 117, 113, 115, 118, 120, 120, 118, 115, 111, 115, 111, 110, 109, 109,
+  109, 107, 105, 103, 104, 105, 104, 103, 103, 105, 109, 107, 111, 112, 110, 103,
+  101, 100, 103, 107, 100, 97, 95, 87, 77, 72, 73, 65, 56, 67, 93, 99,
+  76, 57, 56, 36, 29, 21, 21, 32, 38, 38, 33, 36, 33, 29, 24, 24,
+  31, 44, 53, 42, 34, 21, 21, 51, 81, 85, 69, 68, 88, 107, 97, 63,
+  42, 60, 91, 64, 67, 60, 52, 47, 37, 35, 49, 62, 48, 120, 255, 255,
+  255, 255, 255, 255, 255, 10, 12, 15, 10, 14, 26, 48, 60, 64, 63, 64,
+  67, 64, 67, 71, 75, 77, 77, 76, 76, 79, 81, 86, 87, 89, 92, 96,
+  100, 101, 99, 99, 103, 109, 115, 117, 119, 122, 124, 123, 118, 110, 106, 106,
+  108, 109, 107, 110, 115, 116, 113, 113, 116, 117, 118, 119, 120, 119, 117, 114,
+  112, 117, 116, 115, 115, 115, 116, 118, 117, 114, 114, 115, 112, 108, 107, 109,
+  112, 110, 109, 109, 108, 107, 106, 105, 107, 113, 112, 111, 110, 109, 107, 107,
+  106, 112, 110, 107, 100, 92, 85, 80, 79, 61, 71, 66, 71, 95, 93, 68,
+  59, 52, 37, 27, 29, 31, 22, 24, 30, 33, 35, 44, 37, 23, 28, 43,
+  48, 38, 50, 40, 16, 27, 63, 84, 77, 67, 73, 100, 87, 67, 52, 44,
+  89, 74, 53, 64, 40, 65, 34, 48, 38, 59, 64, 59, 255, 255, 255, 255,
+  255, 255, 255, 14, 16, 18, 11, 14, 36, 59, 61, 60, 67, 71, 69, 68,
+  70, 73, 75, 77, 77, 76, 76, 84, 87, 91, 95, 97, 100, 104, 107, 112,
+  110, 109, 111, 116, 120, 121, 121, 121, 121, 120, 117, 113, 111, 111, 112, 119,
+  116, 118, 122, 122, 119, 118, 120, 119, 119, 120, 120, 119, 117, 116, 115, 115,
+  114, 114, 113, 114, 115, 116, 115, 112, 110, 110, 108, 106, 105, 106, 108, 107,
+  106, 106, 105, 104, 103, 103, 102, 109, 108, 108, 108, 108, 107, 107, 107, 106,
+  106, 104, 100, 92, 85, 81, 79, 75, 78, 76, 84, 104, 104, 82, 63, 56,
+  42, 34, 38, 39, 31, 26, 30, 32, 34, 40, 37, 24, 29, 42, 45, 44,
+  54, 49, 30, 23, 43, 66, 79, 77, 71, 82, 91, 84, 57, 47, 79, 84,
+  63, 63, 46, 64, 45, 52, 45, 47, 57, 60, 255, 255, 255, 255, 255, 255,
+  255, 18, 17, 16, 10, 23, 50, 69, 61, 57, 69, 77, 72, 78, 79, 79,
+  80, 81, 82, 82, 82, 88, 92, 98, 102, 105, 107, 110, 113, 120, 119, 117,
+  118, 120, 122, 122, 121, 124, 123, 121, 121, 122, 123, 123, 122, 126, 123, 124,
+  127, 126, 122, 121, 123, 121, 120, 119, 118, 117, 117, 117, 117, 118, 117, 117,
+  117, 117, 118, 119, 118, 116, 112, 110, 109, 109, 110, 109, 108, 109, 108, 108,
+  107, 106, 106, 105, 105, 110, 110, 110, 111, 111, 112, 112, 112, 101, 102, 103,
+  100, 93, 86, 81, 79, 76, 66, 68, 81, 94, 100, 83, 54, 53, 41, 35,
+  42, 47, 41, 32, 31, 33, 31, 35, 35, 25, 29, 38, 39, 46, 58, 60,
+  46, 26, 27, 54, 84, 85, 71, 62, 91, 98, 62, 52, 66, 89, 74, 62,
+  56, 59, 55, 54, 52, 45, 59, 66, 255, 255, 255, 255, 255, 255, 255, 17,
+  14, 14, 7, 42, 55, 66, 60, 57, 68, 77, 77, 82, 81, 81, 82, 83,
+  85, 88, 89, 94, 98, 104, 108, 110, 111, 113, 114, 121, 120, 119, 120, 120,
+  121, 120, 120, 126, 123, 121, 122, 126, 129, 128, 126, 125, 122, 122, 125, 124,
+  121, 120, 123, 121, 120, 117, 115, 114, 115, 116, 117, 116, 116, 116, 117, 117,
+  118, 118, 117, 118, 113, 109, 109, 111, 112, 110, 107, 108, 108, 107, 107, 106,
+  106, 105, 105, 109, 109, 110, 110, 110, 111, 111, 111, 102, 104, 105, 103, 96,
+  88, 83, 80, 85, 66, 69, 82, 91, 103, 96, 64, 48, 35, 29, 36, 45,
+  44, 36, 32, 36, 30, 33, 36, 27, 28, 32, 31, 35, 50, 57, 46, 27,
+  26, 47, 74, 79, 75, 54, 83, 93, 61, 58, 57, 82, 79, 64, 67, 53,
+  61, 53, 58, 53, 63, 69, 255, 255, 255, 255, 255, 255, 255, 13, 10, 14,
+  13, 63, 54, 55, 59, 63, 66, 74, 83, 77, 77, 77, 78, 81, 85, 88,
+  91, 99, 103, 108, 111, 111, 111, 112, 113, 115, 116, 117, 117, 117, 117, 117,
+  117, 119, 116, 113, 115, 119, 121, 120, 118, 119, 116, 116, 119, 119, 117, 117,
+  121, 120, 118, 115, 112, 112, 113, 114, 116, 109, 109, 110, 111, 111, 111, 111,
+  109, 114, 109, 105, 105, 107, 108, 106, 103, 102, 102, 102, 101, 101, 101, 101,
+  100, 104, 104, 104, 104, 103, 103, 103, 103, 106, 107, 108, 104, 97, 89, 82,
+  79, 86, 66, 66, 75, 82, 99, 101, 77, 55, 41, 29, 31, 38, 40, 35,
+  31, 38, 29, 32, 36, 29, 26, 27, 24, 23, 38, 45, 35, 25, 31, 42,
+  48, 66, 79, 60, 70, 75, 57, 63, 56, 70, 79, 69, 77, 54, 64, 54,
+  62, 62, 66, 66, 255, 255, 255, 255, 255, 255, 255, 14, 10, 19, 29, 72,
+  54, 52, 63, 70, 70, 75, 86, 80, 80, 81, 83, 87, 91, 94, 96, 103,
+  106, 109, 111, 110, 110, 111, 112, 111, 113, 115, 115, 114, 114, 114, 115, 118,
+  117, 115, 116, 117, 118, 118, 118, 118, 115, 114, 117, 118, 116, 117, 121, 118,
+  116, 114, 112, 111, 111, 113, 114, 109, 110, 111, 112, 112, 112, 112, 109, 114,
+  110, 108, 107, 107, 108, 107, 106, 103, 102, 102, 102, 102, 102, 102, 102, 105,
+  105, 105, 104, 104, 103, 103, 103, 107, 108, 108, 104, 96, 88, 83, 80, 79,
+  68, 64, 66, 73, 88, 95, 86, 75, 59, 42, 34, 34, 35, 32, 30, 39,
+  30, 34, 40, 32, 25, 25, 23, 27, 37, 39, 32, 30, 38, 41, 37, 60,
+  76, 67, 61, 63, 60, 63, 61, 61, 75, 72, 80, 60, 69, 59, 64, 70,
+  72, 72, 124, 255, 255, 255, 255, 255, 177, 16, 14, 32, 51, 66, 60, 63,
+  70, 76, 79, 82, 87, 89, 89, 91, 93, 96, 99, 101, 102, 104, 106, 108,
+  109, 110, 111, 113, 115, 113, 116, 118, 118, 115, 113, 114, 115, 119, 120, 121,
+  120, 119, 119, 121, 123, 120, 116, 115, 117, 116, 114, 115, 118, 118, 116, 115,
+  113, 112, 112, 113, 113, 114, 115, 116, 117, 118, 117, 117, 114, 114, 113, 112,
+  110, 108, 108, 109, 110, 106, 106, 106, 106, 106, 107, 107, 107, 108, 109, 109,
+  109, 109, 110, 110, 110, 109, 110, 109, 105, 98, 92, 88, 86, 82, 86, 79,
+  73, 81, 90, 95, 102, 91, 77, 56, 41, 35, 34, 32, 31, 37, 28, 35,
+  44, 34, 25, 27, 27, 37, 36, 35, 36, 36, 35, 42, 50, 67, 67, 67,
+  60, 67, 70, 59, 67, 56, 65, 65, 70, 64, 72, 64, 61, 70, 77, 83,
+  72, 255, 255, 255, 255, 255, 24, 19, 20, 43, 67, 57, 66, 76, 76, 79,
+  87, 89, 85, 92, 92, 94, 96, 98, 99, 100, 101, 103, 105, 107, 109, 109,
+  112, 115, 118, 117, 120, 122, 121, 118, 115, 115, 116, 115, 118, 120, 119, 117,
+  117, 120, 124, 121, 116, 114, 115, 114, 110, 111, 114, 118, 117, 116, 115, 114,
+  113, 113, 114, 113, 114, 116, 117, 118, 117, 116, 113, 109, 109, 110, 108, 104,
+  103, 105, 108, 105, 105, 105, 105, 105, 105, 105, 105, 106, 106, 107, 108, 110,
+  111, 112, 112, 112, 112, 111, 107, 101, 97, 94, 94, 71, 86, 78, 67, 75,
+  78, 81, 97, 96, 83, 64, 46, 38, 36, 34, 32, 32, 27, 36, 46, 36,
+  26, 29, 32, 34, 25, 25, 36, 32, 22, 35, 61, 77, 58, 64, 62, 76,
+  79, 55, 72, 54, 57, 57, 59, 65, 72, 66, 55, 61, 74, 87, 77, 255,
+  255, 255, 255, 255, 29, 5, 13, 70, 68, 63, 62, 68, 74, 78, 81, 83,
+  83, 89, 91, 95, 97, 97, 98, 100, 102, 104, 105, 106, 107, 107, 110, 115,
+  118, 120, 120, 120, 120, 120, 120, 120, 120, 114, 114, 115, 115, 115, 116, 116,
+  116, 114, 113, 113, 112, 112, 113, 114, 114, 115, 116, 116, 114, 111, 110, 110,
+  111, 119, 118, 118, 118, 119, 118, 115, 110, 115, 111, 109, 109, 111, 112, 113,
+  113, 107, 107, 106, 106, 105, 105, 106, 107, 105, 105, 106, 107, 109, 110, 111,
+  112, 110, 109, 111, 111, 103, 94, 94, 101, 78, 78, 77, 77, 78, 83, 90,
+  95, 80, 92, 68, 37, 40, 45, 37, 35, 29, 26, 35, 39, 31, 29, 34,
+  30, 33, 41, 31, 26, 35, 29, 26, 45, 67, 81, 53, 67, 76, 58, 72,
+  64, 54, 43, 61, 61, 74, 58, 63, 48, 61, 72, 85, 76, 255, 255, 255,
+  255, 255, 19, 6, 22, 76, 72, 68, 69, 74, 80, 84, 87, 88, 89, 87,
+  89, 92, 94, 95, 96, 98, 100, 101, 104, 107, 110, 111, 112, 115, 117, 118,
+  118, 118, 118, 118, 118, 118, 118, 117, 117, 117, 118, 118, 118, 119, 119, 116,
+  115, 115, 115, 115, 116, 117, 117, 118, 119, 120, 119, 117, 116, 117, 119, 121,
+  119, 118, 117, 117, 115, 112, 108, 114, 110, 108, 108, 111, 113, 113, 113, 111,
+  111, 110, 108, 105, 104, 104, 105, 104, 104, 105, 107, 108, 109, 110, 111, 110,
+  109, 110, 110, 103, 94, 94, 100, 86, 84, 81, 77, 76, 78, 84, 89, 97,
+  83, 65, 58, 55, 44, 46, 63, 32, 24, 30, 37, 29, 25, 31, 30, 30,
+  37, 29, 26, 33, 26, 22, 38, 59, 77, 58, 59, 75, 69, 71, 71, 57,
+  45, 60, 61, 71, 59, 64, 50, 60, 72, 86, 78, 255, 255, 255, 255, 173,
+  10, 8, 39, 81, 72, 72, 73, 78, 84, 88, 91, 92, 92, 91, 93, 96,
+  97, 97, 98, 101, 103, 105, 109, 114, 117, 118, 118, 119, 120, 121, 121, 121,
+  121, 121, 121, 121, 121, 116, 116, 116, 117, 117, 117, 118, 118, 116, 116, 116,
+  116, 116, 117, 118, 119, 121, 122, 123, 123, 122, 122, 124, 126, 129, 126, 123,
+  120, 119, 118, 116, 112, 113, 109, 107, 107, 110, 112, 113, 113, 114, 114, 113,
+  110, 105, 102, 101, 102, 109, 109, 110, 111, 112, 113, 114, 114, 108, 108, 109,
+  108, 103, 96, 95, 99, 88, 85, 80, 75, 72, 74, 80, 85, 92, 68, 62,
+  68, 60, 52, 67, 87, 38, 23, 26, 34, 29, 23, 27, 30, 33, 37, 34,
+  33, 37, 30, 25, 34, 50, 73, 70, 51, 69, 79, 63, 77, 62, 49, 58,
+  61, 68, 61, 64, 53, 59, 70, 85, 80, 255, 255, 255, 255, 12, 6, 12,
+  51, 81, 68, 71, 72, 78, 83, 87, 90, 91, 91, 93, 95, 97, 97, 98,
+  99, 102, 104, 109, 112, 115, 116, 116, 116, 117, 118, 119, 119, 119, 119, 119,
+  119, 119, 119, 110, 110, 110, 111, 111, 112, 112, 112, 113, 113, 113, 113, 115,
+  116, 117, 118, 122, 122, 123, 122, 120, 121, 123, 126, 130, 127, 123, 120, 119,
+  119, 117, 114, 110, 106, 105, 105, 108, 111, 112, 112, 112, 114, 114, 110, 105,
+  100, 100, 101, 109, 109, 110, 111, 112, 113, 113, 114, 107, 108, 108, 107, 102,
+  98, 97, 99, 89, 86, 81, 77, 75, 78, 85, 90, 78, 66, 69, 67, 51,
+  58, 76, 77, 49, 28, 26, 36, 32, 25, 30, 35, 33, 34, 36, 38, 38,
+  30, 25, 28, 42, 69, 86, 48, 60, 79, 52, 79, 68, 54, 57, 62, 65,
+  64, 65, 56, 58, 67, 82, 81, 255, 255, 255, 255, 13, 3, 18, 61, 76,
+  64, 69, 72, 77, 82, 86, 88, 89, 89, 90, 91, 93, 93, 93, 94, 97,
+  100, 108, 108, 108, 107, 105, 105, 107, 110, 111, 111, 111, 111, 111, 111, 111,
+  111, 107, 105, 105, 106, 106, 106, 107, 107, 107, 108, 108, 109, 110, 112, 114,
+  117, 121, 121, 120, 118, 116, 117, 119, 122, 123, 120, 117, 115, 115, 115, 114,
+  111, 109, 105, 104, 104, 107, 109, 110, 110, 107, 110, 112, 109, 103, 99, 99,
+  101, 103, 103, 104, 104, 105, 106, 106, 106, 107, 108, 109, 106, 103, 102, 100,
+  99, 91, 89, 84, 80, 79, 82, 88, 93, 84, 73, 79, 77, 56, 54, 64,
+  59, 53, 30, 27, 34, 31, 28, 34, 36, 30, 27, 32, 37, 35, 28, 24,
+  19, 28, 59, 94, 53, 53, 76, 51, 82, 74, 60, 56, 66, 64, 69, 67,
+  59, 60, 64, 78, 82, 255, 255, 255, 255, 11, 2, 24, 67, 72, 67, 72,
+  74, 79, 84, 88, 90, 91, 91, 93, 94, 95, 94, 94, 96, 99, 102, 110,
+  109, 108, 105, 103, 104, 107, 109, 110, 110, 110, 110, 110, 110, 110, 108, 110,
+  108, 108, 108, 109, 109, 110, 110, 108, 109, 109, 111, 112, 115, 117, 118, 123,
+  123, 121, 119, 117, 117, 120, 123, 124, 122, 119, 118, 118, 117, 116, 112, 112,
+  108, 105, 105, 107, 109, 110, 109, 103, 108, 112, 109, 103, 98, 99, 101, 103,
+  103, 104, 104, 105, 105, 106, 106, 107, 110, 109, 106, 105, 105, 104, 100, 89,
+  87, 83, 78, 74, 74, 78, 81, 88, 72, 77, 89, 77, 57, 57, 66, 52,
+  33, 28, 31, 29, 33, 39, 34, 34, 26, 34, 42, 37, 32, 29, 19, 20,
+  45, 90, 62, 53, 75, 61, 81, 80, 66, 57, 71, 64, 74, 68, 62, 64,
+  63, 74, 84, 138, 255, 255, 255, 14, 8, 34, 72, 68, 71, 74, 77, 81,
+  86, 90, 92, 92, 92, 99, 100, 100, 99, 99, 100, 104, 107, 111, 112, 113,
+  112, 111, 111, 113, 115, 115, 115, 115, 115, 115, 115, 115, 113, 114, 112, 113,
+  113, 113, 114, 114, 114, 114, 115, 116, 117, 120, 122, 124, 126, 128, 128, 127,
+  124, 123, 125, 128, 132, 131, 129, 127, 126, 125, 123, 120, 115, 116, 112, 109,
+  108, 110, 111, 111, 110, 104, 109, 114, 111, 103, 98, 99, 101, 108, 108, 108,
+  109, 109, 109, 109, 110, 108, 111, 110, 106, 106, 109, 107, 101, 91, 89, 86,
+  80, 75, 73, 74, 76, 82, 79, 78, 84, 85, 68, 58, 67, 52, 38, 33,
+  29, 30, 41, 46, 33, 40, 29, 39, 48, 41, 38, 38, 24, 24, 36, 81,
+  73, 59, 77, 73, 73, 84, 70, 58, 75, 66, 79, 70, 64, 71, 64, 73,
+  88, 88, 255, 255, 255, 21, 14, 42, 76, 65, 75, 75, 77, 84, 87, 92,
+  92, 95, 92, 101, 99, 101, 98, 99, 99, 105, 108, 106, 109, 113, 115, 115,
+  114, 115, 116, 114, 114, 114, 114, 114, 114, 114, 114, 116, 114, 115, 115, 116,
+  116, 118, 118, 122, 123, 124, 126, 128, 131, 133, 135, 132, 132, 134, 130, 132,
+  133, 137, 141, 133, 131, 129, 128, 126, 122, 118, 112, 118, 115, 112, 111, 112,
+  113, 113, 112, 106, 112, 116, 113, 104, 98, 98, 101, 105, 105, 107, 108, 108,
+  108, 108, 108, 108, 112, 111, 107, 107, 111, 108, 102, 99, 98, 96, 91, 87,
+  84, 84, 86, 79, 100, 89, 69, 74, 72, 54, 45, 55, 46, 38, 30, 34,
+  50, 53, 36, 40, 27, 38, 48, 40, 38, 39, 23, 33, 34, 75, 81, 64,
+  78, 80, 62, 86, 73, 59, 78, 67, 82, 70, 65, 78, 67, 71, 90, 93,
+  255, 255, 20, 11, 16, 53, 73, 68, 72, 81, 83, 89, 88, 91, 90, 94,
+  94, 99, 98, 101, 100, 104, 103, 106, 106, 113, 113, 114, 114, 115, 115, 115,
+  115, 113, 113, 113, 114, 115, 116, 118, 119, 118, 117, 117, 116, 116, 117, 120,
+  120, 125, 123, 124, 127, 133, 138, 139, 139, 139, 135, 135, 135, 142, 141, 137,
+  132, 123, 124, 124, 122, 119, 119, 122, 124, 113, 111, 111, 112, 113, 114, 112,
+  111, 110, 109, 107, 105, 104, 103, 102, 103, 101, 101, 104, 105, 106, 106, 107,
+  107, 106, 106, 107, 108, 109, 108, 106, 104, 95, 95, 104, 87, 102, 94, 95,
+  75, 88, 97, 106, 104, 90, 71, 56, 48, 52, 50, 41, 31, 37, 48, 46,
+  36, 41, 31, 37, 28, 46, 28, 31, 21, 26, 42, 70, 94, 76, 66, 89,
+  84, 80, 70, 67, 79, 81, 73, 63, 61, 81, 74, 62, 72, 90, 255, 255,
+  16, 9, 21, 59, 72, 68, 74, 82, 87, 91, 93, 94, 95, 97, 99, 104,
+  105, 106, 107, 108, 109, 110, 111, 112, 113, 113, 113, 114, 114, 114, 115, 114,
+  114, 114, 114, 114, 115, 117, 117, 117, 117, 117, 117, 119, 120, 121, 122, 126,
+  125, 128, 132, 136, 139, 138, 136, 134, 135, 135, 135, 136, 136, 135, 135, 130,
+  129, 126, 125, 122, 122, 122, 120, 113, 110, 108, 110, 112, 113, 111, 108, 109,
+  108, 107, 105, 104, 104, 104, 104, 103, 103, 103, 104, 106, 106, 106, 107, 104,
+  105, 106, 108, 111, 112, 112, 112, 104, 97, 105, 97, 109, 93, 95, 88, 83,
+  92, 104, 110, 105, 90, 71, 58, 58, 55, 48, 42, 46, 52, 48, 38, 53,
+  41, 45, 36, 49, 33, 35, 25, 28, 40, 61, 85, 74, 66, 84, 76, 84,
+  73, 75, 78, 84, 70, 68, 66, 81, 83, 68, 67, 89, 255, 255, 9, 8,
+  30, 65, 72, 70, 78, 82, 87, 92, 94, 96, 98, 101, 103, 107, 107, 108,
+  109, 110, 111, 112, 112, 113, 113, 113, 113, 114, 114, 114, 115, 119, 119, 118,
+  118, 118, 119, 119, 120, 119, 119, 119, 120, 123, 124, 126, 127, 127, 128, 131,
+  134, 137, 137, 135, 132, 132, 136, 140, 139, 136, 136, 138, 142, 130, 127, 124,
+  124, 124, 125, 124, 119, 119, 114, 111, 113, 117, 118, 115, 111, 108, 107, 106,
+  105, 104, 104, 104, 105, 105, 104, 104, 104, 106, 105, 105, 105, 114, 113, 112,
+  110, 110, 109, 109, 108, 110, 100, 107, 108, 113, 94, 98, 103, 91, 94, 99,
+  105, 104, 92, 74, 60, 61, 55, 49, 49, 53, 55, 50, 43, 53, 44, 48,
+  44, 51, 37, 38, 31, 34, 43, 56, 79, 77, 70, 83, 75, 87, 72, 80,
+  70, 86, 64, 71, 65, 76, 91, 72, 59, 84, 255, 255, 4, 9, 39, 66,
+  68, 67, 74, 80, 85, 90, 93, 95, 98, 101, 103, 104, 104, 105, 106, 107,
+  108, 108, 109, 112, 112, 112, 113, 113, 114, 114, 114, 118, 118, 117, 116, 116,
+  116, 117, 117, 114, 115, 115, 116, 120, 122, 124, 125, 128, 129, 131, 132, 133,
+  133, 132, 131, 130, 135, 139, 140, 138, 137, 136, 139, 123, 119, 116, 119, 123,
+  126, 124, 119, 122, 116, 111, 113, 118, 120, 116, 112, 105, 104, 104, 103, 103,
+  103, 104, 104, 105, 105, 104, 103, 104, 103, 103, 102, 117, 116, 112, 109, 109,
+  108, 108, 108, 106, 104, 109, 110, 108, 99, 103, 111, 100, 97, 95, 94, 92,
+  86, 77, 69, 63, 55, 49, 50, 55, 56, 52, 48, 45, 41, 46, 49, 51,
+  42, 38, 32, 35, 44, 51, 72, 76, 70, 81, 77, 87, 68, 78, 59, 85,
+  59, 70, 59, 64, 89, 70, 49, 72, 255, 176, 2, 13, 48, 66, 63, 63,
+  68, 76, 82, 87, 90, 93, 95, 99, 101, 102, 102, 102, 103, 104, 105, 105,
+  105, 108, 108, 108, 109, 109, 110, 110, 110, 110, 109, 109, 108, 108, 108, 108,
+  109, 107, 107, 108, 110, 114, 116, 118, 119, 126, 125, 126, 125, 125, 127, 130,
+  133, 126, 128, 131, 134, 134, 133, 128, 126, 121, 117, 115, 118, 122, 125, 123,
+  117, 117, 111, 107, 108, 111, 113, 111, 107, 103, 103, 102, 101, 101, 101, 102,
+  102, 104, 104, 103, 102, 103, 102, 101, 100, 106, 106, 106, 106, 110, 112, 114,
+  116, 95, 106, 108, 103, 96, 102, 105, 106, 90, 91, 92, 91, 89, 86, 83,
+  81, 71, 62, 53, 50, 56, 59, 56, 51, 41, 42, 46, 55, 50, 43, 32,
+  29, 29, 42, 44, 61, 68, 61, 74, 77, 86, 67, 76, 55, 82, 59, 69,
+  56, 54, 81, 68, 45, 62, 255, 13, 4, 24, 58, 66, 62, 65, 67, 76,
+  81, 86, 89, 92, 94, 97, 100, 103, 104, 104, 104, 105, 105, 106, 106, 104,
+  104, 105, 105, 105, 106, 106, 106, 109, 108, 108, 107, 108, 108, 109, 109, 110,
+  111, 111, 112, 116, 118, 120, 122, 121, 121, 122, 121, 122, 126, 132, 137, 132,
+  131, 131, 131, 131, 130, 126, 124, 126, 124, 122, 123, 124, 124, 120, 115, 116,
+  112, 109, 108, 109, 110, 110, 109, 104, 103, 102, 101, 101, 101, 101, 101, 104,
+  103, 103, 102, 103, 102, 101, 101, 106, 106, 106, 106, 109, 110, 111, 112, 93,
+  109, 106, 102, 90, 104, 102, 99, 83, 88, 94, 96, 92, 84, 75, 70, 79,
+  75, 64, 55, 61, 69, 67, 57, 50, 52, 51, 61, 48, 44, 29, 26, 33,
+  47, 42, 54, 66, 59, 68, 76, 82, 72, 79, 63, 78, 61, 70, 62, 53,
+  71, 69, 52, 54, 255, 10, 7, 37, 68, 70, 69, 75, 72, 79, 84, 88,
+  91, 93, 96, 98, 101, 106, 106, 106, 106, 107, 107, 107, 108, 106, 106, 107,
+  107, 107, 108, 108, 108, 113, 113, 113, 113, 114, 115, 116, 117, 116, 117, 117,
+  118, 121, 123, 125, 126, 120, 122, 126, 128, 130, 134, 141, 147, 140, 140, 137,
+  131, 125, 124, 126, 131, 127, 127, 127, 127, 124, 123, 121, 117, 116, 116, 115,
+  112, 109, 109, 111, 114, 107, 106, 105, 103, 102, 101, 101, 101, 105, 105, 104,
+  104, 105, 104, 104, 104, 112, 111, 110, 109, 109, 107, 105, 104, 103, 111, 103,
+  109, 92, 101, 92, 95, 86, 87, 91, 95, 94, 85, 72, 62, 71, 77, 70,
+  59, 66, 84, 84, 68, 57, 59, 50, 59, 41, 42, 30, 33, 45, 54, 39,
+  49, 67, 60, 64, 70, 72, 78, 86, 75, 69, 60, 68, 72, 56, 61, 70,
+  61, 47, 255, 6, 11, 46, 75, 73, 74, 83, 77, 82, 87, 91, 94, 96,
+  98, 100, 103, 106, 106, 107, 107, 107, 107, 107, 108, 111, 111, 112, 112, 112,
+  113, 113, 113, 113, 113, 113, 114, 115, 116, 118, 118, 115, 115, 115, 115, 119,
+  120, 122, 123, 122, 126, 134, 138, 141, 145, 151, 156, 142, 142, 137, 126, 115,
+  114, 123, 134, 122, 124, 127, 127, 124, 123, 122, 121, 112, 113, 114, 110, 105,
+  104, 108, 113, 110, 109, 107, 105, 104, 103, 102, 102, 106, 106, 106, 105, 107,
+  107, 106, 106, 107, 108, 109, 110, 112, 110, 109, 108, 114, 112, 101, 117, 98,
+  96, 83, 94, 90, 86, 85, 91, 98, 98, 88, 77, 57, 70, 70, 60, 72,
+  97, 98, 78, 60, 60, 47, 56, 37, 43, 34, 41, 49, 55, 32, 41, 64,
+  58, 56, 58, 61, 80, 91, 83, 61, 56, 65, 79, 58, 54, 70, 66, 42,
+  255, 7, 17, 43, 74, 81, 70, 68, 79, 84, 87, 91, 94, 95, 96, 97,
+  99, 106, 106, 107, 107, 107, 108, 108, 108, 108, 110, 111, 113, 113, 112, 111,
+  111, 114, 114, 113, 113, 113, 114, 115, 115, 108, 115, 122, 124, 123, 121, 123,
+  126, 122, 123, 128, 133, 139, 144, 148, 149, 146, 141, 134, 130, 127, 126, 126,
+  130, 124, 120, 136, 122, 117, 128, 117, 124, 117, 117, 118, 114, 110, 108, 109,
+  112, 106, 105, 104, 103, 101, 102, 105, 107, 103, 109, 111, 107, 106, 107, 108,
+  107, 113, 110, 108, 108, 111, 111, 108, 105, 110, 105, 106, 108, 99, 84, 79,
+  83, 84, 86, 84, 83, 85, 88, 84, 78, 72, 62, 76, 87, 80, 83, 93,
+  87, 57, 58, 36, 46, 37, 41, 26, 40, 45, 48, 50, 49, 49, 51, 49,
+  46, 52, 76, 91, 70, 78, 51, 59, 76, 58, 68, 77, 62, 40, 186, 70,
+  70, 72, 75, 76, 77, 82, 84, 86, 90, 94, 97, 98, 99, 101, 103, 107,
+  107, 107, 107, 108, 108, 108, 109, 109, 110, 112, 113, 114, 113, 112, 111, 115,
+  114, 114, 114, 115, 116, 117, 118, 112, 116, 120, 120, 119, 120, 124, 129, 132,
+  128, 128, 132, 141, 147, 148, 146, 143, 140, 136, 133, 131, 129, 128, 129, 126,
+  123, 136, 125, 123, 134, 123, 128, 123, 122, 120, 117, 113, 111, 111, 112, 108,
+  108, 108, 107, 105, 104, 104, 104, 103, 109, 111, 107, 106, 107, 108, 106, 113,
+  110, 107, 106, 110, 111, 110, 106, 106, 99, 100, 102, 96, 83, 78, 82, 85,
+  83, 77, 71, 72, 77, 78, 75, 81, 70, 79, 88, 83, 87, 99, 95, 74,
+  76, 57, 63, 56, 59, 47, 61, 51, 49, 48, 50, 51, 49, 46, 44, 47,
+  73, 93, 77, 81, 53, 56, 70, 61, 71, 76, 61, 41, 113, 120, 111, 92,
+  74, 73, 83, 90, 87, 89, 93, 97, 99, 101, 102, 105, 107, 106, 106, 107,
+  107, 108, 108, 108, 108, 109, 110, 112, 113, 114, 113, 112, 111, 115, 115, 115,
+  115, 116, 118, 119, 120, 121, 122, 122, 120, 121, 123, 130, 136, 138, 132, 130,
+  135, 146, 153, 152, 148, 140, 139, 137, 135, 133, 132, 130, 129, 127, 125, 133,
+  126, 127, 136, 128, 127, 126, 123, 119, 116, 115, 113, 111, 109, 110, 110, 109,
+  108, 107, 105, 103, 101, 108, 113, 114, 111, 111, 112, 113, 110, 112, 110, 106,
+  105, 108, 109, 109, 106, 104, 95, 93, 97, 95, 86, 81, 83, 84, 82, 76,
+  69, 69, 73, 73, 70, 82, 72, 77, 83, 80, 86, 99, 100, 87, 89, 74,
+  72, 62, 60, 50, 62, 61, 51, 48, 53, 55, 48, 42, 41, 42, 70, 96,
+  89, 86, 60, 58, 68, 62, 71, 72, 57, 42, 120, 123, 104, 83, 73, 76,
+  87, 87, 84, 91, 93, 97, 99, 101, 102, 105, 108, 105, 105, 105, 106, 106,
+  106, 107, 107, 108, 109, 111, 112, 112, 112, 111, 110, 114, 114, 114, 115, 116,
+  118, 120, 121, 122, 122, 121, 119, 120, 123, 129, 134, 127, 126, 128, 135, 144,
+  150, 149, 147, 138, 138, 136, 132, 130, 133, 131, 130, 127, 126, 128, 125, 126,
+  132, 126, 120, 122, 117, 113, 112, 113, 113, 110, 107, 110, 108, 105, 103, 103,
+  103, 102, 102, 108, 112, 113, 109, 111, 112, 112, 109, 110, 109, 107, 106, 107,
+  105, 104, 100, 102, 93, 90, 96, 97, 90, 85, 87, 75, 78, 78, 74, 71,
+  70, 65, 59, 71, 64, 66, 72, 76, 81, 91, 95, 83, 86, 76, 68, 62,
+  57, 50, 59, 62, 49, 43, 50, 52, 42, 33, 32, 35, 62, 88, 90, 81,
+  62, 60, 66, 58, 67, 62, 48, 41, 112, 112, 87, 70, 76, 83, 84, 84,
+  89, 91, 94, 96, 98, 99, 100, 104, 106, 103, 103, 103, 104, 104, 105, 105,
+  105, 106, 108, 109, 111, 111, 110, 109, 109, 113, 113, 113, 114, 115, 117, 119,
+  120, 113, 113, 114, 114, 116, 117, 120, 122, 114, 119, 128, 134, 136, 137, 137,
+  137, 137, 138, 133, 126, 125, 131, 132, 131, 128, 130, 126, 126, 126, 126, 125,
+  113, 116, 112, 108, 109, 111, 112, 111, 108, 109, 104, 98, 95, 97, 100, 103,
+  104, 101, 104, 104, 101, 103, 106, 104, 100, 106, 108, 108, 107, 106, 101, 97,
+  93, 99, 88, 86, 92, 94, 88, 84, 86, 68, 72, 73, 68, 63, 61, 55,
+  49, 56, 54, 53, 60, 72, 75, 77, 83, 77, 81, 76, 66, 73, 67, 64,
+  69, 57, 45, 38, 43, 44, 35, 26, 23, 30, 50, 73, 83, 69, 62, 61,
+  65, 53, 61, 51, 39, 41, 121, 113, 85, 73, 81, 87, 84, 86, 97, 94,
+  96, 98, 98, 98, 100, 103, 105, 103, 103, 103, 104, 104, 104, 105, 105, 107,
+  108, 109, 111, 111, 111, 110, 109, 113, 113, 113, 114, 115, 117, 118, 119, 112,
+  113, 115, 116, 119, 119, 119, 119, 120, 127, 137, 139, 136, 133, 133, 134, 137,
+  139, 133, 123, 122, 130, 132, 129, 129, 137, 129, 131, 129, 124, 127, 113, 114,
+  111, 110, 110, 112, 113, 113, 112, 110, 103, 95, 91, 95, 100, 104, 106, 102,
+  104, 104, 101, 104, 107, 105, 100, 105, 107, 109, 107, 104, 99, 95, 92, 95,
+  86, 86, 92, 92, 84, 81, 84, 76, 77, 74, 65, 59, 59, 59, 57, 49,
+  51, 47, 54, 70, 70, 66, 74, 82, 85, 83, 70, 83, 73, 70, 66, 60,
+  55, 49, 48, 47, 43, 35, 28, 38, 49, 65, 81, 64, 69, 69, 69, 53,
+  61, 46, 34, 44, 109, 102, 88, 82, 85, 87, 88, 92, 99, 100, 101, 102,
+  101, 100, 101, 104, 107, 104, 104, 105, 105, 106, 106, 106, 106, 109, 110, 111,
+  113, 113, 112, 111, 111, 116, 116, 116, 116, 116, 117, 118, 119, 120, 120, 120,
+  121, 125, 126, 125, 125, 134, 137, 141, 142, 140, 138, 138, 138, 136, 140, 136,
+  125, 124, 132, 132, 127, 126, 139, 130, 135, 130, 121, 130, 116, 113, 113, 113,
+  112, 111, 111, 112, 114, 114, 106, 98, 95, 98, 103, 105, 105, 109, 110, 109,
+  107, 111, 114, 112, 106, 106, 107, 107, 105, 102, 100, 100, 99, 93, 88, 90,
+  95, 92, 82, 79, 83, 79, 82, 79, 71, 64, 63, 64, 62, 50, 54, 46,
+  49, 66, 63, 58, 68, 79, 80, 83, 67, 88, 76, 70, 59, 65, 69, 66,
+  56, 53, 55, 49, 38, 49, 52, 61, 82, 62, 75, 73, 69, 60, 67, 47,
+  35, 50, 114, 81, 85, 86, 84, 88, 96, 99, 94, 107, 108, 108, 106, 105,
+  106, 108, 109, 106, 106, 107, 107, 107, 108, 108, 108, 111, 112, 113, 115, 115,
+  114, 113, 113, 118, 118, 117, 117, 117, 118, 119, 119, 125, 122, 123, 123, 125,
+  127, 129, 129, 137, 137, 134, 135, 138, 140, 141, 139, 135, 141, 139, 129, 127,
+  134, 132, 124, 121, 138, 129, 135, 130, 119, 132, 118, 112, 113, 114, 112, 108,
+  107, 109, 112, 118, 111, 103, 100, 103, 106, 105, 103, 111, 112, 112, 110, 113,
+  116, 113, 107, 108, 108, 106, 102, 100, 101, 105, 108, 95, 91, 95, 100, 95,
+  83, 80, 85, 71, 78, 81, 76, 69, 65, 60, 55, 54, 57, 45, 45, 62,
+  59, 52, 63, 63, 65, 74, 63, 93, 85, 82, 68, 62, 73, 71, 57, 53,
+  59, 54, 41, 49, 48, 54, 77, 56, 72, 68, 60, 67, 73, 50, 38, 55,
+  105, 84, 77, 81, 91, 99, 99, 99, 102, 115, 111, 109, 108, 109, 111, 113,
+  111, 111, 111, 111, 110, 108, 107, 107, 107, 115, 116, 117, 117, 115, 115, 116,
+  117, 119, 119, 119, 120, 121, 122, 123, 124, 128, 129, 133, 131, 127, 128, 137,
+  143, 138, 144, 148, 147, 142, 140, 145, 147, 134, 137, 140, 139, 135, 131, 126,
+  126, 132, 132, 132, 131, 127, 124, 121, 117, 116, 112, 110, 109, 110, 111, 111,
+  111, 104, 107, 107, 104, 100, 100, 106, 113, 110, 110, 112, 112, 112, 111, 110,
+  110, 102, 106, 110, 109, 104, 99, 97, 97, 104, 96, 88, 83, 81, 79, 76,
+  73, 72, 74, 76, 76, 73, 71, 69, 69, 55, 48, 44, 46, 48, 46, 49,
+  56, 64, 73, 70, 66, 78, 80, 73, 72, 73, 70, 73, 68, 52, 49, 55,
+  53, 51, 51, 53, 58, 63, 65, 65, 62, 59, 56, 58, 48, 36, 95, 74,
+  70, 73, 81, 88, 94, 104, 115, 114, 112, 111, 110, 111, 113, 113, 114, 113,
+  112, 111, 111, 108, 109, 109, 110, 114, 115, 117, 118, 117, 117, 119, 121, 119,
+  119, 119, 120, 121, 123, 125, 126, 125, 127, 129, 128, 128, 127, 129, 132, 143,
+  141, 140, 143, 148, 151, 150, 149, 148, 144, 139, 137, 136, 134, 128, 125, 133,
+  132, 131, 130, 126, 124, 122, 118, 116, 113, 110, 109, 110, 112, 112, 111, 105,
+  106, 106, 102, 98, 98, 102, 109, 111, 113, 114, 114, 113, 112, 111, 109, 110,
+  111, 111, 108, 103, 99, 96, 93, 97, 92, 89, 89, 90, 89, 86, 83, 73,
+  71, 69, 68, 68, 67, 65, 63, 56, 51, 48, 48, 47, 42, 44, 50, 62,
+  71, 67, 64, 75, 76, 68, 67, 75, 77, 84, 77, 55, 48, 56, 58, 48,
+  48, 48, 49, 51, 54, 59, 61, 56, 54, 61, 58, 46, 78, 53, 58, 71,
+  82, 89, 92, 100, 108, 112, 112, 112, 112, 112, 113, 114, 115, 115, 114, 112,
+  111, 109, 110, 112, 114, 113, 115, 117, 118, 118, 119, 122, 124, 118, 119, 119,
+  121, 123, 125, 127, 128, 127, 129, 131, 133, 134, 133, 133, 132, 148, 148, 148,
+  147, 150, 152, 154, 153, 153, 144, 135, 133, 135, 136, 131, 126, 133, 132, 130,
+  127, 123, 122, 121, 119, 116, 112, 109, 109, 110, 111, 111, 110, 110, 111, 110,
+  106, 102, 101, 104, 109, 112, 114, 114, 113, 112, 111, 109, 108, 106, 104, 103,
+  103, 104, 104, 104, 101, 90, 88, 87, 86, 84, 80, 74, 69, 78, 74, 70,
+  69, 70, 70, 67, 64, 58, 56, 55, 52, 47, 40, 40, 44, 58, 66, 63,
+  60, 70, 69, 62, 62, 73, 80, 92, 84, 57, 46, 54, 58, 53, 51, 48,
+  45, 46, 50, 58, 62, 49, 52, 62, 68, 57, 58, 39, 43, 54, 65, 77,
+  84, 93, 99, 109, 111, 113, 113, 114, 114, 115, 116, 116, 114, 111, 110, 108,
+  110, 113, 115, 113, 115, 117, 118, 118, 118, 120, 122, 118, 119, 120, 121, 123,
+  126, 128, 130, 127, 128, 130, 135, 139, 142, 142, 140, 147, 152, 155, 150, 143,
+  140, 147, 154, 144, 137, 130, 129, 131, 133, 130, 128, 131, 129, 127, 124, 120,
+  119, 119, 119, 114, 110, 107, 107, 108, 109, 109, 108, 110, 111, 110, 107, 104,
+  103, 106, 110, 112, 113, 110, 108, 106, 105, 105, 105, 104, 100, 96, 96, 99,
+  103, 103, 100, 96, 93, 92, 90, 85, 79, 72, 68, 73, 73, 72, 71, 70,
+  69, 67, 66, 59, 60, 60, 55, 49, 42, 40, 42, 50, 57, 56, 55, 64,
+  63, 57, 60, 68, 75, 87, 80, 55, 44, 49, 50, 58, 52, 46, 44, 47,
+  53, 57, 58, 44, 49, 58, 72, 61, 46, 39, 29, 21, 21, 41, 65, 88,
+  99, 104, 108, 112, 114, 115, 115, 116, 118, 116, 114, 111, 109, 107, 109, 112,
+  114, 114, 116, 117, 117, 116, 115, 117, 118, 118, 119, 120, 121, 123, 126, 128,
+  130, 129, 129, 130, 134, 138, 144, 145, 145, 151, 152, 151, 147, 146, 145, 149,
+  150, 136, 134, 132, 130, 128, 128, 127, 128, 128, 126, 124, 121, 117, 116, 116,
+  116, 112, 109, 106, 106, 107, 108, 108, 107, 104, 104, 104, 103, 102, 102, 104,
+  106, 111, 110, 105, 101, 99, 98, 100, 101, 109, 103, 95, 91, 90, 90, 89,
+  85, 86, 84, 84, 82, 78, 75, 72, 70, 58, 63, 67, 67, 63, 59, 59,
+  60, 56, 58, 58, 53, 48, 43, 41, 40, 42, 49, 49, 50, 59, 57, 52,
+  58, 63, 65, 74, 73, 56, 48, 48, 43, 56, 48, 42, 44, 51, 55, 52,
+  46, 40, 46, 50, 71, 59, 40, 31, 18, 9, 11, 33, 62, 82, 88, 96,
+  103, 110, 114, 115, 116, 117, 120, 117, 115, 113, 111, 108, 109, 111, 112, 115,
+  116, 117, 117, 115, 114, 115, 117, 118, 119, 119, 121, 123, 125, 127, 130, 135,
+  136, 136, 137, 140, 142, 144, 145, 162, 151, 142, 147, 161, 167, 161, 150, 138,
+  138, 136, 132, 127, 125, 124, 127, 126, 125, 123, 120, 116, 115, 114, 113, 111,
+  108, 106, 105, 106, 107, 107, 107, 104, 104, 103, 103, 104, 105, 106, 106, 111,
+  109, 105, 100, 97, 96, 96, 96, 102, 97, 90, 85, 83, 83, 83, 81, 85,
+  84, 84, 81, 75, 70, 67, 66, 57, 60, 63, 62, 59, 56, 55, 56, 53,
+  54, 52, 47, 45, 44, 41, 36, 37, 44, 44, 47, 55, 50, 46, 55, 58,
+  56, 64, 67, 59, 56, 54, 45, 55, 49, 47, 51, 58, 60, 53, 45, 38,
+  45, 43, 71, 58, 41, 25, 22, 21, 23, 40, 60, 71, 73, 90, 99, 108,
+  114, 115, 116, 119, 122, 118, 117, 116, 114, 111, 110, 110, 111, 114, 116, 117,
+  117, 116, 116, 118, 120, 119, 119, 119, 120, 121, 123, 125, 128, 132, 138, 142,
+  143, 142, 141, 144, 146, 158, 150, 147, 152, 162, 167, 163, 154, 143, 138, 132,
+  127, 126, 127, 126, 127, 125, 125, 124, 122, 118, 116, 114, 113, 112, 110, 107,
+  106, 107, 109, 109, 108, 109, 108, 107, 107, 108, 108, 108, 107, 108, 109, 109,
+  107, 104, 99, 94, 91, 90, 89, 86, 82, 79, 80, 83, 84, 96, 97, 100,
+  97, 90, 83, 77, 75, 73, 67, 61, 60, 62, 63, 59, 55, 57, 56, 50,
+  45, 47, 49, 44, 35, 37, 42, 43, 45, 52, 44, 40, 50, 51, 49, 58,
+  64, 60, 60, 61, 52, 51, 52, 55, 58, 60, 59, 55, 51, 39, 47, 42,
+  74, 60, 45, 35, 33, 25, 21, 29, 48, 63, 69, 87, 96, 107, 113, 115,
+  116, 119, 123, 120, 120, 118, 117, 113, 112, 111, 110, 113, 115, 117, 118, 118,
+  119, 121, 123, 119, 119, 119, 120, 121, 122, 123, 126, 119, 129, 137, 140, 138,
+  136, 139, 142, 139, 146, 153, 151, 145, 143, 148, 152, 144, 134, 123, 120, 124,
+  130, 130, 130, 125, 126, 126, 125, 121, 118, 115, 113, 114, 111, 109, 108, 109,
+  110, 110, 110, 110, 108, 106, 106, 106, 105, 104, 104, 107, 110, 114, 115, 111,
+  103, 94, 88, 92, 92, 89, 83, 76, 73, 76, 77, 74, 78, 86, 90, 86,
+  80, 76, 74, 86, 72, 57, 55, 62, 66, 60, 52, 63, 60, 53, 46, 50,
+  54, 47, 37, 39, 43, 43, 45, 50, 40, 35, 46, 44, 44, 55, 62, 58,
+  60, 64, 58, 43, 50, 57, 58, 54, 50, 51, 53, 39, 49, 43, 78, 64,
+  46, 55, 52, 55, 63, 61, 52, 53, 63, 80, 97, 104, 100, 107, 124, 126,
+  115, 117, 116, 116, 115, 113, 114, 115, 115, 117, 119, 120, 119, 117, 115, 115,
+  116, 111, 121, 119, 108, 107, 116, 112, 100, 111, 114, 116, 118, 126, 131, 130,
+  125, 131, 133, 135, 135, 136, 134, 134, 132, 132, 134, 135, 131, 125, 123, 125,
+  130, 131, 131, 130, 128, 122, 118, 115, 112, 116, 115, 114, 113, 112, 112, 112,
+  112, 112, 111, 110, 109, 107, 106, 105, 105, 105, 105, 106, 107, 107, 108, 109,
+  109, 102, 102, 99, 90, 80, 75, 77, 78, 80, 77, 72, 78, 90, 84, 72,
+  72, 82, 82, 74, 61, 53, 55, 61, 64, 64, 58, 54, 51, 49, 44, 45,
+  50, 33, 38, 44, 47, 46, 38, 29, 23, 36, 35, 56, 56, 66, 61, 68,
+  50, 46, 55, 62, 61, 57, 53, 51, 48, 44, 36, 59, 65, 65, 46, 60,
+  62, 73, 80, 79, 69, 61, 60, 69, 80, 93, 102, 110, 116, 116, 114, 119,
+  118, 117, 117, 115, 115, 115, 116, 117, 121, 126, 128, 124, 116, 110, 106, 105,
+  111, 109, 100, 97, 97, 89, 77, 75, 83, 87, 82, 78, 85, 95, 101, 99,
+  105, 110, 113, 116, 121, 130, 133, 123, 127, 133, 135, 133, 129, 126, 126, 126,
+  126, 125, 124, 119, 115, 112, 110, 115, 114, 113, 112, 111, 111, 111, 111, 110,
+  110, 109, 108, 106, 105, 104, 104, 106, 106, 107, 108, 109, 109, 110, 110, 106,
+  107, 105, 100, 91, 84, 79, 76, 82, 90, 86, 79, 87, 89, 80, 75, 68,
+  71, 69, 63, 61, 66, 71, 73, 64, 60, 56, 54, 51, 45, 44, 47, 45,
+  43, 38, 31, 28, 26, 28, 31, 28, 27, 49, 50, 63, 60, 69, 53, 53,
+  54, 56, 59, 57, 53, 48, 46, 51, 42, 62, 67, 65, 49, 66, 74, 86,
+  92, 92, 86, 76, 65, 67, 70, 83, 103, 113, 112, 113, 119, 119, 118, 117,
+  116, 113, 113, 113, 114, 118, 122, 127, 128, 123, 116, 109, 105, 95, 97, 99,
+  101, 99, 92, 82, 75, 62, 64, 63, 55, 51, 59, 70, 76, 92, 97, 100,
+  99, 97, 99, 108, 112, 117, 120, 125, 130, 133, 133, 130, 129, 125, 125, 125,
+  124, 120, 117, 115, 113, 113, 112, 111, 110, 109, 109, 109, 109, 110, 110, 109,
+  108, 107, 106, 105, 104, 107, 107, 108, 108, 109, 110, 110, 111, 110, 111, 111,
+  110, 105, 96, 84, 75, 80, 98, 95, 80, 82, 88, 83, 77, 69, 72, 71,
+  67, 65, 66, 66, 63, 63, 60, 58, 58, 55, 47, 43, 44, 44, 44, 43,
+  37, 31, 25, 23, 23, 30, 27, 47, 45, 55, 51, 60, 43, 56, 49, 49,
+  55, 57, 51, 47, 47, 53, 43, 62, 65, 128, 56, 65, 80, 91, 88, 89,
+  89, 89, 82, 77, 72, 75, 89, 103, 110, 113, 117, 116, 115, 114, 112, 110,
+  110, 110, 110, 119, 120, 121, 119, 115, 112, 111, 111, 93, 91, 95, 105, 104,
+  92, 81, 79, 74, 63, 54, 51, 59, 70, 69, 62, 64, 72, 80, 83, 87,
+  89, 100, 106, 112, 111, 111, 114, 121, 127, 130, 132, 121, 122, 123, 123, 120,
+  118, 116, 114, 111, 111, 109, 108, 107, 107, 107, 107, 111, 110, 110, 109, 108,
+  107, 106, 106, 107, 107, 107, 108, 108, 109, 109, 109, 111, 111, 111, 114, 113,
+  105, 92, 79, 74, 90, 92, 82, 80, 79, 75, 78, 75, 76, 72, 65, 61,
+  60, 55, 50, 60, 57, 57, 59, 59, 51, 45, 44, 41, 44, 46, 42, 36,
+  26, 19, 16, 29, 26, 43, 39, 49, 45, 54, 39, 49, 42, 43, 52, 53,
+  48, 49, 57, 49, 41, 59, 62, 255, 68, 59, 77, 92, 89, 86, 90, 96,
+  96, 90, 82, 72, 70, 84, 103, 110, 107, 115, 114, 113, 112, 109, 109, 110,
+  110, 116, 117, 118, 116, 113, 110, 109, 109, 97, 91, 94, 102, 100, 84, 74,
+  73, 71, 65, 63, 65, 74, 83, 77, 66, 62, 70, 77, 78, 77, 75, 78,
+  80, 99, 98, 97, 101, 108, 115, 119, 121, 112, 113, 114, 115, 113, 113, 111,
+  110, 112, 111, 110, 109, 108, 108, 108, 108, 110, 110, 109, 108, 108, 107, 107,
+  106, 105, 105, 106, 106, 106, 107, 107, 107, 109, 107, 107, 111, 114, 110, 99,
+  88, 72, 78, 83, 87, 86, 72, 68, 82, 71, 72, 68, 61, 57, 58, 57,
+  55, 57, 53, 54, 58, 60, 55, 49, 47, 49, 47, 41, 35, 31, 27, 25,
+  25, 21, 17, 35, 32, 45, 45, 58, 45, 34, 35, 42, 49, 47, 45, 54,
+  67, 49, 43, 62, 63, 255, 199, 62, 77, 92, 93, 91, 91, 96, 100, 102,
+  97, 84, 73, 79, 97, 104, 101, 116, 115, 115, 114, 112, 113, 114, 114, 113,
+  118, 122, 123, 118, 111, 104, 100, 97, 92, 92, 99, 99, 91, 85, 84, 72,
+  83, 93, 94, 93, 96, 97, 96, 101, 102, 101, 98, 90, 80, 72, 68, 85,
+  88, 93, 98, 102, 104, 103, 104, 107, 108, 110, 112, 112, 112, 111, 111, 112,
+  111, 110, 108, 108, 107, 107, 107, 106, 106, 105, 105, 104, 104, 103, 103, 105,
+  105, 105, 105, 105, 105, 105, 105, 107, 105, 105, 109, 114, 113, 107, 98, 80,
+  77, 79, 90, 94, 76, 70, 86, 75, 77, 74, 65, 58, 58, 60, 61, 56,
+  51, 50, 54, 59, 55, 52, 51, 50, 48, 48, 48, 50, 46, 37, 30, 25,
+  20, 34, 29, 39, 38, 51, 38, 25, 34, 43, 44, 41, 44, 56, 67, 51,
+  49, 69, 66, 255, 255, 81, 81, 86, 91, 92, 92, 96, 102, 105, 104, 101,
+  97, 91, 88, 92, 99, 115, 114, 114, 115, 113, 114, 116, 116, 116, 120, 125,
+  127, 123, 115, 109, 105, 102, 99, 98, 101, 105, 107, 109, 108, 97, 107, 115,
+  113, 108, 109, 112, 114, 111, 110, 109, 111, 111, 108, 103, 99, 87, 92, 97,
+  99, 99, 99, 99, 102, 104, 106, 108, 111, 111, 112, 112, 112, 112, 111, 110,
+  108, 108, 107, 107, 108, 106, 106, 105, 105, 105, 104, 104, 104, 106, 106, 106,
+  106, 106, 106, 106, 106, 106, 106, 108, 112, 116, 115, 111, 105, 93, 88, 83,
+  87, 95, 87, 79, 87, 84, 90, 89, 77, 65, 62, 65, 67, 59, 52, 47,
+  50, 55, 54, 52, 51, 47, 47, 51, 60, 69, 64, 48, 34, 34, 26, 37,
+  26, 33, 28, 39, 25, 25, 38, 45, 39, 37, 46, 55, 55, 45, 47, 70,
+  65, 255, 255, 106, 91, 79, 83, 86, 87, 92, 102, 98, 99, 109, 118, 102,
+  78, 77, 95, 115, 114, 114, 113, 112, 113, 115, 116, 119, 121, 124, 121, 121,
+  119, 119, 120, 115, 113, 108, 104, 106, 112, 116, 116, 121, 119, 116, 111, 112,
+  114, 111, 107, 121, 116, 111, 109, 111, 109, 104, 98, 101, 103, 103, 100, 96,
+  98, 104, 112, 100, 99, 103, 106, 106, 108, 108, 110, 112, 111, 112, 109, 110,
+  108, 108, 108, 109, 109, 108, 108, 108, 108, 108, 107, 107, 107, 107, 107, 107,
+  107, 107, 107, 107, 109, 112, 116, 119, 118, 114, 110, 100, 101, 89, 83, 93,
+  95, 89, 85, 84, 94, 97, 87, 75, 71, 76, 80, 63, 53, 46, 48, 52,
+  52, 50, 51, 53, 44, 39, 44, 55, 59, 54, 44, 30, 22, 32, 22, 29,
+  26, 37, 25, 29, 43, 46, 36, 35, 48, 52, 43, 34, 40, 63, 60, 255,
+  255, 133, 113, 90, 75, 71, 76, 86, 94, 101, 98, 101, 114, 118, 107, 97,
+  92, 117, 116, 115, 116, 116, 116, 116, 118, 118, 118, 121, 119, 121, 120, 119,
+  118, 116, 115, 117, 117, 119, 120, 121, 122, 120, 117, 116, 116, 118, 117, 113,
+  109, 118, 117, 115, 114, 112, 110, 108, 108, 107, 106, 108, 114, 120, 120, 113,
+  103, 105, 109, 103, 91, 89, 97, 99, 93, 111, 114, 117, 114, 113, 109, 111,
+  113, 108, 108, 108, 108, 106, 105, 103, 103, 109, 109, 109, 109, 109, 109, 109,
+  109, 112, 113, 114, 115, 116, 117, 118, 118, 107, 106, 99, 92, 92, 97, 99,
+  91, 98, 100, 104, 104, 93, 81, 77, 80, 90, 78, 60, 48, 49, 55, 54,
+  48, 50, 41, 37, 41, 45, 43, 44, 47, 27, 29, 27, 21, 22, 26, 28,
+  29, 26, 37, 42, 42, 43, 50, 51, 44, 35, 32, 68, 55, 255, 255, 128,
+  124, 109, 87, 83, 93, 100, 98, 110, 114, 115, 115, 116, 118, 116, 112, 103,
+  107, 115, 121, 124, 123, 120, 117, 120, 120, 120, 121, 120, 119, 121, 120, 117,
+  117, 118, 118, 120, 121, 122, 123, 123, 120, 117, 116, 118, 119, 115, 114, 105,
+  106, 108, 109, 111, 112, 114, 116, 109, 106, 104, 107, 112, 116, 115, 112, 124,
+  128, 122, 112, 110, 117, 119, 114, 113, 114, 115, 113, 110, 108, 107, 108, 108,
+  108, 108, 109, 106, 106, 105, 104, 107, 107, 107, 107, 107, 107, 107, 107, 111,
+  111, 112, 113, 115, 116, 117, 117, 110, 108, 101, 93, 90, 93, 92, 86, 79,
+  80, 85, 91, 87, 77, 68, 66, 92, 87, 77, 65, 59, 58, 55, 49, 46,
+  36, 30, 34, 39, 39, 40, 42, 40, 41, 36, 25, 18, 17, 20, 20, 18,
+  31, 43, 40, 37, 41, 49, 46, 41, 38, 71, 59, 255, 255, 255, 132, 120,
+  89, 74, 79, 80, 68, 90, 107, 116, 113, 118, 130, 136, 129, 99, 106, 116,
+  124, 128, 125, 122, 122, 122, 122, 122, 123, 124, 123, 122, 121, 121, 121, 120,
+  119, 121, 121, 122, 122, 122, 119, 115, 114, 114, 117, 118, 119, 118, 118, 118,
+  115, 115, 115, 115, 115, 117, 114, 109, 109, 110, 112, 111, 109, 114, 117, 115,
+  108, 105, 112, 114, 110, 115, 115, 115, 113, 110, 108, 106, 107, 106, 107, 108,
+  108, 107, 106, 106, 106, 107, 107, 107, 107, 107, 107, 107, 107, 109, 109, 110,
+  111, 112, 114, 115, 115, 114, 111, 104, 95, 89, 88, 86, 81, 88, 85, 87,
+  95, 97, 91, 83, 78, 83, 86, 85, 74, 63, 56, 49, 44, 36, 30, 27,
+  31, 36, 37, 39, 41, 50, 55, 53, 43, 34, 25, 20, 14, 15, 29, 43,
+  42, 35, 35, 44, 47, 44, 42, 71, 255, 255, 255, 255, 121, 108, 77, 56,
+  50, 48, 43, 41, 55, 66, 76, 92, 115, 139, 151, 107, 113, 119, 120, 122,
+  122, 122, 123, 123, 123, 123, 123, 125, 123, 122, 121, 122, 121, 120, 119, 120,
+  119, 119, 119, 118, 117, 115, 114, 115, 116, 119, 119, 130, 128, 126, 123, 120,
+  118, 116, 116, 116, 115, 115, 115, 115, 115, 114, 112, 115, 118, 117, 113, 112,
+  117, 118, 115, 115, 116, 115, 115, 113, 112, 110, 110, 104, 105, 106, 107, 106,
+  106, 106, 105, 108, 108, 108, 108, 108, 108, 108, 108, 107, 107, 108, 109, 110,
+  111, 112, 113, 116, 113, 107, 100, 92, 88, 84, 81, 87, 82, 81, 86, 88,
+  87, 84, 84, 74, 80, 81, 72, 61, 51, 43, 35, 23, 31, 41, 47, 47,
+  45, 46, 49, 52, 59, 66, 67, 64, 52, 36, 19, 17, 26, 40, 44, 40,
+  36, 41, 42, 36, 40, 68, 255, 255, 255, 255, 204, 89, 72, 55, 44, 51,
+  64, 59, 44, 32, 35, 40, 50, 74, 101, 95, 103, 113, 119, 121, 120, 123,
+  124, 124, 124, 126, 125, 124, 123, 124, 123, 122, 121, 121, 119, 117, 116, 116,
+  116, 116, 119, 121, 122, 122, 120, 122, 121, 123, 121, 122, 120, 121, 122, 124,
+  125, 114, 114, 113, 113, 114, 118, 122, 126, 110, 111, 108, 104, 103, 104, 101,
+  98, 109, 109, 109, 110, 111, 112, 110, 110, 103, 103, 105, 106, 104, 104, 104,
+  104, 106, 106, 106, 106, 106, 106, 106, 106, 105, 105, 106, 107, 109, 110, 111,
+  111, 113, 110, 106, 101, 93, 86, 83, 82, 73, 72, 76, 83, 84, 83, 84,
+  87, 78, 82, 79, 69, 59, 50, 40, 31, 24, 47, 71, 80, 74, 67, 67,
+  70, 60, 64, 70, 76, 83, 76, 58, 37, 17, 17, 27, 40, 44, 38, 36,
+  34, 28, 36, 62, 255, 255, 255, 255, 255, 199, 78, 66, 55, 66, 88, 88,
+  61, 39, 38, 33, 20, 23, 38, 68, 84, 105, 120, 126, 127, 128, 128, 127,
+  125, 127, 126, 125, 123, 124, 123, 123, 121, 121, 118, 116, 115, 114, 114, 119,
+  122, 125, 126, 125, 124, 124, 124, 122, 122, 122, 123, 125, 127, 132, 132, 130,
+  127, 119, 111, 107, 109, 117, 124, 131, 130, 127, 123, 120, 116, 111, 110, 102,
+  101, 101, 103, 106, 108, 106, 105, 104, 104, 105, 106, 104, 104, 104, 103, 104,
+  104, 104, 104, 104, 104, 104, 104, 104, 105, 105, 107, 108, 109, 110, 110, 107,
+  105, 103, 100, 92, 83, 79, 81, 65, 69, 78, 89, 91, 89, 89, 91, 85,
+  85, 78, 65, 53, 45, 36, 28, 40, 69, 98, 106, 97, 88, 87, 89, 78,
+  76, 73, 75, 84, 85, 75, 61, 24, 13, 17, 34, 44, 39, 33, 30, 29,
+  39, 125, 255, 255, 255, 255, 255, 255, 89, 76, 68, 74, 84, 85, 65, 48,
+  53, 58, 55, 50, 53, 62, 80, 104, 122, 129, 132, 134, 135, 129, 129, 129,
+  128, 129, 127, 125, 124, 126, 125, 122, 119, 118, 116, 114, 114, 118, 120, 122,
+  121, 119, 118, 122, 125, 128, 127, 126, 126, 126, 128, 132, 132, 141, 140, 136,
+  126, 113, 108, 111, 115, 119, 118, 118, 118, 113, 109, 106, 105, 106, 104, 103,
+  105, 109, 111, 108, 106, 107, 107, 108, 108, 106, 105, 104, 104, 105, 105, 105,
+  105, 105, 105, 105, 105, 104, 104, 105, 106, 108, 109, 110, 110, 106, 103, 102,
+  102, 92, 81, 78, 81, 67, 63, 65, 74, 79, 80, 79, 80, 85, 89, 86,
+  71, 56, 47, 44, 42, 62, 86, 108, 112, 104, 99, 98, 97, 91, 89, 84,
+  80, 84, 88, 87, 81, 50, 31, 27, 39, 47, 38, 32, 32, 36, 45, 255,
+  255, 255, 255, 255, 255, 255, 97, 85, 82, 81, 78, 125, 98, 62, 47, 52,
+  63, 68, 64, 75, 89, 109, 122, 126, 130, 136, 140, 133, 131, 130, 130, 130,
+  129, 127, 126, 128, 127, 124, 121, 119, 116, 115, 114, 116, 116, 116, 113, 110,
+  111, 117, 121, 119, 118, 118, 119, 123, 127, 131, 133, 132, 138, 144, 142, 132,
+  121, 117, 117, 115, 115, 118, 122, 121, 119, 117, 118, 115, 113, 111, 113, 116,
+  117, 114, 111, 110, 110, 110, 110, 108, 107, 105, 105, 109, 109, 109, 109, 109,
+  109, 109, 109, 104, 104, 105, 106, 108, 109, 110, 110, 108, 105, 105, 105, 95,
+  82, 78, 82, 90, 75, 63, 64, 71, 77, 80, 83, 85, 95, 98, 84, 67,
+  59, 61, 65, 77, 93, 106, 105, 101, 100, 99, 96, 92, 97, 97, 92, 90,
+  91, 93, 92, 80, 55, 44, 50, 51, 38, 34, 36, 40, 49, 255, 255, 255,
+  255, 255, 255, 255, 98, 89, 88, 89, 89, 99, 90, 78, 71, 60, 55, 70,
+  89, 82, 93, 109, 121, 126, 129, 134, 136, 139, 136, 133, 129, 126, 124, 126,
+  126, 126, 123, 125, 126, 120, 111, 112, 117, 122, 111, 108, 107, 104, 109, 114,
+  108, 118, 118, 119, 118, 121, 124, 127, 127, 130, 135, 137, 133, 134, 132, 119,
+  105, 113, 116, 119, 122, 121, 118, 113, 109, 116, 113, 110, 112, 115, 116, 110,
+  106, 106, 110, 114, 114, 109, 106, 106, 106, 109, 110, 110, 110, 110, 109, 108,
+  107, 108, 108, 107, 106, 105, 105, 106, 106, 103, 105, 98, 91, 95, 103, 93,
+  74, 85, 76, 69, 71, 71, 72, 75, 81, 81, 92, 101, 92, 76, 79, 85,
+  76, 83, 105, 96, 99, 90, 107, 100, 108, 103, 104, 98, 98, 108, 103, 97,
+  99, 103, 76, 38, 44, 41, 39, 21, 29, 33, 48, 255, 255, 255, 255, 255,
+  255, 255, 95, 84, 84, 87, 85, 94, 99, 99, 96, 97, 103, 107, 105, 91,
+  100, 113, 123, 127, 130, 133, 136, 135, 134, 132, 129, 127, 126, 127, 127, 131,
+  125, 122, 122, 122, 122, 129, 136, 110, 103, 108, 114, 113, 120, 124, 117, 120,
+  125, 128, 127, 134, 144, 145, 138, 123, 130, 135, 131, 124, 123, 121, 115, 114,
+  115, 117, 119, 121, 121, 121, 121, 120, 114, 108, 108, 113, 119, 120, 120, 108,
+  110, 112, 111, 106, 105, 106, 108, 111, 111, 110, 110, 109, 109, 109, 109, 109,
+  108, 108, 107, 106, 104, 104, 103, 102, 104, 98, 91, 96, 106, 99, 82, 75,
+  69, 64, 65, 70, 78, 81, 84, 87, 87, 94, 96, 86, 87, 99, 103, 96,
+  101, 91, 99, 113, 126, 116, 115, 108, 106, 102, 103, 114, 112, 107, 107, 107,
+  84, 43, 39, 35, 40, 26, 32, 38, 119, 255, 255, 255, 255, 255, 255, 255,
+  92, 79, 85, 91, 88, 95, 107, 107, 104, 110, 118, 109, 90, 95, 102, 112,
+  118, 121, 122, 124, 127, 128, 128, 128, 128, 130, 129, 128, 127, 135, 128, 126,
+  130, 135, 138, 141, 142, 137, 122, 115, 103, 84, 75, 70, 59, 73, 66, 77,
+  101, 119, 124, 140, 159, 150, 139, 126, 117, 119, 124, 127, 124, 116, 115, 114,
+  115, 115, 118, 122, 124, 122, 117, 112, 112, 116, 122, 123, 124, 113, 113, 113,
+  111, 107, 107, 109, 111, 112, 111, 109, 108, 108, 108, 109, 110, 109, 109, 109,
+  107, 105, 102, 100, 98, 99, 101, 96, 89, 94, 107, 104, 90, 84, 81, 73,
+  66, 70, 80, 80, 74, 97, 89, 96, 106, 96, 88, 95, 103, 107, 102, 101,
+  107, 134, 129, 119, 111, 103, 100, 99, 102, 112, 115, 112, 108, 113, 99, 54,
+  37, 29, 45, 36, 39, 48, 255, 255, 255, 255, 255, 255, 255, 255, 89, 77,
+  88, 98, 96, 104, 108, 104, 100, 100, 100, 90, 77, 97, 100, 106, 111, 113,
+  116, 118, 120, 120, 121, 123, 125, 128, 128, 127, 126, 133, 131, 135, 142, 150,
+  149, 142, 133, 112, 93, 79, 67, 51, 54, 62, 61, 65, 70, 76, 74, 68,
+  69, 87, 106, 140, 134, 126, 121, 121, 123, 121, 120, 123, 121, 119, 116, 115,
+  116, 118, 120, 118, 118, 118, 120, 123, 123, 118, 115, 116, 116, 115, 114, 111,
+  110, 111, 111, 111, 110, 107, 105, 105, 106, 108, 109, 107, 108, 108, 107, 104,
+  99, 95, 93, 95, 98, 93, 84, 87, 100, 100, 90, 95, 94, 84, 71, 73,
+  85, 82, 70, 94, 92, 103, 113, 102, 92, 89, 86, 94, 96, 115, 123, 150,
+  127, 120, 115, 100, 93, 94, 99, 106, 114, 116, 106, 116, 112, 68, 39, 27,
+  50, 43, 41, 118, 255, 255, 255, 255, 255, 255, 255, 255, 85, 76, 87, 97,
+  97, 110, 107, 108, 110, 102, 90, 84, 86, 97, 100, 105, 109, 111, 115, 117,
+  118, 116, 118, 120, 123, 124, 125, 126, 125, 131, 131, 136, 144, 152, 151, 142,
+  126, 78, 64, 59, 59, 58, 77, 100, 109, 91, 126, 131, 87, 50, 48, 57,
+  52, 67, 83, 103, 116, 114, 110, 108, 110, 129, 128, 125, 123, 122, 121, 120,
+  120, 118, 118, 120, 122, 123, 122, 117, 115, 115, 115, 116, 117, 114, 112, 109,
+  107, 110, 108, 106, 104, 103, 104, 106, 107, 106, 106, 106, 105, 102, 98, 94,
+  91, 93, 97, 91, 79, 78, 90, 92, 83, 83, 86, 79, 70, 75, 90, 90,
+  79, 85, 93, 106, 109, 104, 106, 104, 88, 79, 87, 116, 134, 168, 144, 133,
+  124, 102, 91, 94, 98, 103, 116, 122, 106, 110, 116, 76, 42, 26, 51, 44,
+  36, 255, 255, 255, 255, 255, 255, 255, 255, 255, 83, 76, 81, 90, 91, 109,
+  108, 112, 116, 102, 84, 78, 87, 95, 96, 102, 107, 110, 114, 116, 116, 115,
+  116, 118, 120, 121, 122, 124, 124, 130, 130, 131, 134, 142, 147, 144, 131, 104,
+  91, 89, 87, 80, 89, 104, 105, 110, 126, 142, 130, 91, 53, 48, 61, 39,
+  33, 40, 66, 94, 112, 112, 108, 122, 122, 121, 122, 122, 121, 121, 120, 123,
+  121, 119, 119, 120, 123, 124, 126, 113, 113, 114, 116, 114, 112, 107, 103, 108,
+  107, 106, 104, 104, 105, 105, 106, 105, 105, 105, 104, 102, 99, 96, 94, 96,
+  101, 95, 80, 75, 84, 86, 78, 75, 77, 74, 69, 72, 83, 85, 81, 89,
+  96, 102, 99, 96, 106, 107, 90, 86, 91, 107, 130, 165, 154, 130, 109, 100,
+  85, 89, 93, 95, 115, 127, 106, 102, 113, 78, 43, 24, 47, 39, 31, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 86, 82, 82, 88, 93, 105, 108, 110,
+  105, 93, 82, 79, 82, 97, 98, 104, 108, 114, 115, 115, 116, 118, 118, 118,
+  119, 120, 121, 123, 124, 131, 131, 127, 126, 134, 142, 142, 132, 117, 107, 107,
+  104, 93, 92, 99, 98, 121, 113, 125, 141, 119, 70, 55, 72, 79, 54, 39,
+  56, 89, 115, 122, 120, 121, 121, 122, 123, 122, 123, 124, 125, 128, 127, 126,
+  125, 124, 126, 127, 129, 118, 116, 115, 115, 114, 113, 109, 106, 109, 108, 108,
+  107, 107, 107, 107, 106, 107, 106, 105, 105, 103, 102, 101, 101, 102, 108, 102,
+  86, 78, 85, 86, 79, 81, 80, 78, 76, 74, 75, 78, 81, 101, 98, 101,
+  103, 98, 100, 99, 86, 100, 109, 107, 125, 142, 146, 118, 101, 99, 80, 84,
+  89, 90, 116, 133, 110, 100, 112, 80, 45, 24, 44, 37, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 90, 88, 88, 91, 101, 99, 109, 106, 92, 88,
+  94, 100, 99, 106, 108, 113, 117, 123, 124, 122, 119, 119, 119, 118, 117, 117,
+  121, 123, 124, 126, 129, 127, 126, 130, 136, 135, 126, 120, 111, 111, 105, 94,
+  95, 101, 101, 96, 117, 127, 118, 121, 131, 117, 92, 109, 109, 111, 111, 103,
+  102, 116, 133, 131, 130, 129, 129, 128, 130, 133, 134, 131, 133, 136, 137, 134,
+  130, 124, 123, 125, 121, 117, 116, 116, 116, 114, 112, 109, 110, 110, 110, 110,
+  109, 108, 107, 108, 107, 106, 106, 105, 105, 106, 108, 106, 113, 110, 91, 84,
+  88, 89, 83, 87, 83, 83, 85, 80, 78, 82, 92, 104, 92, 102, 118, 115,
+  106, 99, 92, 102, 123, 117, 127, 124, 139, 122, 120, 103, 82, 87, 93, 94,
+  124, 144, 120, 102, 114, 80, 48, 26, 44, 39, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 80, 79, 87, 88, 88, 105, 99, 90, 84, 82, 89, 97,
+  104, 108, 113, 118, 121, 121, 121, 120, 117, 116, 116, 116, 116, 117, 120, 121,
+  121, 130, 125, 121, 121, 123, 124, 121, 118, 112, 113, 113, 113, 110, 110, 107,
+  105, 104, 111, 117, 117, 115, 113, 117, 124, 142, 143, 142, 135, 126, 121, 119,
+  121, 139, 141, 140, 135, 132, 137, 151, 162, 147, 141, 136, 134, 136, 136, 129,
+  125, 120, 121, 122, 122, 119, 116, 113, 111, 116, 117, 115, 113, 112, 112, 113,
+  114, 110, 112, 112, 109, 105, 104, 106, 108, 115, 109, 112, 82, 84, 81, 98,
+  80, 83, 88, 82, 98, 74, 79, 79, 105, 118, 102, 100, 108, 109, 108, 100,
+  87, 126, 122, 119, 121, 125, 127, 125, 120, 102, 92, 81, 69, 102, 104, 162,
+  114, 104, 111, 83, 34, 44, 38, 120, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 82, 84, 89, 90, 87, 94, 89, 84, 84, 89, 99, 109, 115, 115,
+  119, 123, 125, 124, 121, 120, 117, 113, 113, 114, 116, 118, 118, 117, 116, 124,
+  124, 125, 123, 120, 118, 117, 117, 113, 114, 115, 116, 119, 119, 119, 118, 124,
+  129, 133, 132, 129, 129, 135, 141, 139, 141, 141, 139, 134, 133, 134, 138, 139,
+  146, 150, 149, 143, 141, 145, 149, 148, 142, 137, 135, 137, 137, 131, 127, 121,
+  121, 121, 120, 116, 114, 112, 111, 114, 113, 111, 110, 109, 109, 109, 110, 112,
+  112, 110, 107, 104, 104, 108, 112, 120, 117, 108, 88, 89, 89, 92, 87, 79,
+  83, 79, 98, 81, 83, 77, 92, 111, 112, 114, 118, 118, 106, 94, 91, 110,
+  121, 130, 138, 151, 159, 143, 119, 105, 95, 80, 73, 99, 108, 160, 118, 113,
+  117, 82, 29, 32, 30, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  88, 89, 91, 89, 86, 86, 83, 82, 87, 97, 108, 116, 119, 120, 123, 126,
+  126, 124, 121, 120, 118, 111, 111, 114, 116, 119, 117, 114, 113, 121, 124, 129,
+  125, 118, 113, 113, 115, 111, 112, 113, 114, 116, 118, 122, 123, 131, 135, 137,
+  135, 133, 135, 141, 148, 136, 138, 138, 137, 136, 138, 142, 147, 144, 151, 155,
+  154, 149, 144, 144, 144, 146, 141, 137, 136, 137, 137, 132, 129, 124, 123, 121,
+  119, 115, 114, 113, 113, 116, 115, 113, 112, 111, 111, 111, 111, 114, 113, 110,
+  106, 104, 105, 109, 113, 119, 124, 102, 94, 94, 95, 83, 96, 76, 80, 81,
+  100, 92, 90, 76, 81, 111, 124, 120, 113, 114, 105, 107, 130, 129, 143, 147,
+  137, 142, 156, 151, 130, 113, 102, 82, 78, 89, 106, 146, 112, 117, 119, 80,
+  32, 30, 106, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 90, 90,
+  86, 81, 79, 80, 81, 82, 90, 101, 110, 114, 114, 120, 123, 125, 124, 122,
+  121, 120, 119, 112, 111, 113, 114, 116, 115, 114, 113, 122, 124, 128, 125, 120,
+  115, 112, 111, 115, 117, 115, 115, 115, 116, 120, 121, 127, 130, 134, 134, 133,
+  134, 138, 143, 141, 141, 140, 138, 137, 139, 141, 145, 151, 152, 150, 147, 144,
+  143, 147, 148, 143, 139, 136, 135, 136, 136, 132, 130, 127, 125, 122, 119, 115,
+  114, 115, 115, 116, 115, 114, 113, 112, 112, 112, 111, 114, 112, 110, 107, 105,
+  104, 105, 106, 108, 124, 97, 96, 94, 95, 77, 107, 79, 83, 89, 101, 97,
+  89, 78, 80, 105, 126, 118, 105, 110, 101, 107, 145, 157, 167, 165, 145, 135,
+  144, 155, 156, 123, 111, 88, 84, 77, 96, 124, 98, 110, 109, 69, 36, 37,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 88, 88, 81, 74,
+  72, 75, 78, 83, 92, 102, 108, 110, 110, 118, 120, 121, 121, 120, 119, 121,
+  120, 116, 113, 111, 110, 112, 113, 114, 115, 125, 124, 124, 124, 124, 121, 115,
+  110, 121, 119, 120, 118, 117, 118, 121, 122, 123, 128, 135, 138, 137, 137, 138,
+  140, 149, 148, 146, 144, 143, 144, 144, 146, 153, 151, 145, 142, 140, 141, 144,
+  144, 140, 137, 135, 133, 133, 132, 129, 128, 127, 124, 120, 116, 112, 112, 113,
+  114, 111, 110, 110, 110, 109, 108, 107, 106, 108, 107, 107, 105, 103, 99, 95,
+  92, 95, 117, 96, 96, 90, 89, 79, 114, 83, 88, 99, 101, 96, 84, 82,
+  83, 93, 120, 119, 111, 115, 96, 89, 118, 112, 112, 116, 118, 116, 113, 117,
+  123, 130, 118, 101, 90, 74, 88, 109, 91, 111, 101, 53, 34, 39, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 86, 86, 77, 71, 72, 70,
+  77, 86, 95, 103, 109, 112, 113, 117, 118, 119, 118, 117, 118, 120, 120, 118,
+  114, 111, 109, 110, 112, 115, 117, 127, 124, 123, 124, 127, 126, 121, 115, 116,
+  115, 117, 117, 117, 117, 120, 120, 122, 127, 136, 140, 140, 140, 139, 139, 145,
+  145, 144, 145, 146, 147, 146, 147, 150, 149, 146, 146, 145, 142, 137, 131, 139,
+  137, 135, 133, 131, 130, 127, 127, 123, 121, 117, 114, 109, 109, 109, 109, 111,
+  111, 111, 111, 110, 109, 107, 106, 102, 102, 102, 102, 101, 96, 89, 84, 90,
+  108, 100, 94, 87, 88, 89, 113, 87, 91, 103, 96, 95, 83, 89, 89, 97,
+  114, 115, 110, 111, 100, 100, 122, 125, 105, 98, 112, 126, 124, 119, 118, 126,
+  114, 117, 97, 81, 85, 107, 97, 129, 105, 42, 30, 111, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 83, 84, 78, 75, 79, 71, 81, 93,
+  102, 106, 110, 114, 118, 120, 120, 119, 117, 116, 116, 118, 119, 118, 114, 113,
+  111, 113, 113, 114, 115, 125, 125, 126, 126, 127, 127, 126, 125, 116, 116, 117,
+  118, 118, 118, 120, 119, 122, 126, 130, 134, 137, 138, 138, 138, 139, 140, 142,
+  145, 148, 150, 148, 148, 148, 148, 147, 149, 150, 146, 138, 129, 140, 138, 137,
+  134, 131, 129, 126, 127, 124, 122, 119, 116, 111, 110, 109, 109, 112, 113, 113,
+  113, 112, 111, 109, 108, 104, 103, 102, 103, 103, 101, 95, 90, 95, 101, 104,
+  88, 90, 92, 104, 105, 95, 95, 104, 94, 105, 95, 103, 99, 104, 109, 111,
+  108, 103, 103, 120, 142, 143, 122, 104, 101, 108, 114, 113, 111, 118, 107, 132,
+  101, 91, 82, 109, 100, 132, 104, 35, 106, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 84, 85, 79, 78, 86, 76, 88, 101, 107, 108,
+  109, 114, 120, 123, 123, 121, 118, 115, 115, 117, 117, 116, 114, 114, 114, 115,
+  115, 114, 113, 123, 126, 130, 129, 126, 126, 130, 134, 127, 127, 128, 129, 128,
+  126, 127, 125, 125, 127, 129, 132, 136, 138, 140, 141, 143, 144, 146, 151, 155,
+  156, 153, 152, 149, 147, 144, 146, 150, 150, 145, 139, 142, 140, 138, 135, 131,
+  129, 126, 127, 126, 125, 123, 120, 115, 113, 112, 111, 108, 109, 110, 110, 109,
+  107, 105, 104, 109, 107, 105, 106, 108, 108, 104, 101, 103, 100, 108, 86, 95,
+  98, 114, 97, 102, 97, 105, 96, 115, 107, 116, 107, 97, 102, 116, 117, 103,
+  99, 115, 127, 143, 143, 134, 116, 106, 111, 116, 114, 113, 102, 139, 101, 94,
+  75, 105, 98, 115, 90, 27, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 83, 84, 86, 89, 83, 67, 83, 97, 106, 106, 105, 110, 115,
+  115, 120, 119, 118, 117, 116, 116, 116, 114, 117, 115, 115, 115, 117, 118, 119,
+  120, 122, 125, 132, 135, 135, 132, 128, 125, 129, 128, 127, 126, 126, 125, 125,
+  124, 123, 129, 138, 139, 136, 135, 137, 142, 149, 149, 149, 150, 152, 153, 153,
+  154, 161, 164, 159, 150, 146, 146, 143, 135, 135, 134, 135, 134, 133, 131, 127,
+  125, 123, 125, 126, 123, 116, 113, 113, 115, 115, 113, 112, 111, 110, 111, 112,
+  113, 109, 107, 105, 103, 103, 103, 104, 105, 103, 87, 92, 94, 101, 106, 95,
+  100, 103, 103, 102, 103, 110, 118, 120, 116, 100, 96, 99, 104, 106, 105, 113,
+  126, 133, 152, 139, 114, 113, 110, 103, 107, 111, 109, 117, 130, 102, 71, 93,
+  111, 116, 76, 103, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 85, 88, 87, 85, 80, 70, 91, 100, 105, 105, 109, 115, 117, 115, 120,
+  119, 118, 117, 116, 116, 116, 114, 118, 116, 116, 116, 119, 121, 122, 123, 128,
+  128, 133, 136, 138, 137, 133, 130, 136, 135, 133, 131, 129, 127, 125, 124, 126,
+  131, 138, 138, 136, 135, 138, 142, 149, 151, 152, 155, 157, 157, 154, 154, 154,
+  157, 154, 149, 148, 150, 149, 142, 136, 135, 135, 135, 134, 132, 128, 126, 122,
+  124, 124, 121, 115, 112, 112, 113, 119, 118, 115, 112, 111, 110, 109, 109, 107,
+  108, 109, 108, 106, 105, 104, 105, 96, 87, 96, 94, 95, 96, 88, 97, 106,
+  107, 106, 108, 115, 124, 126, 122, 109, 100, 96, 98, 101, 100, 108, 120, 131,
+  146, 143, 124, 116, 115, 113, 113, 107, 106, 113, 126, 103, 79, 100, 112, 106,
+  62, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 85,
+  93, 86, 78, 75, 74, 99, 103, 103, 105, 111, 117, 118, 114, 122, 121, 120,
+  119, 118, 118, 118, 116, 118, 116, 117, 117, 121, 123, 125, 126, 131, 129, 130,
+  134, 139, 141, 137, 132, 139, 138, 136, 134, 131, 129, 129, 128, 128, 131, 136,
+  136, 134, 135, 141, 145, 145, 148, 152, 156, 157, 157, 152, 151, 149, 152, 151,
+  149, 149, 151, 150, 145, 136, 135, 135, 134, 133, 132, 128, 127, 123, 124, 123,
+  121, 115, 113, 112, 113, 119, 118, 116, 113, 111, 110, 109, 109, 105, 109, 113,
+  113, 109, 105, 104, 104, 90, 84, 96, 90, 86, 86, 81, 94, 109, 110, 111,
+  113, 123, 132, 134, 129, 127, 110, 97, 96, 100, 102, 110, 120, 130, 140, 149,
+  139, 120, 116, 119, 113, 103, 108, 112, 122, 103, 84, 104, 109, 93, 116, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 95, 84,
+  69, 71, 78, 101, 104, 104, 105, 108, 111, 113, 113, 122, 121, 120, 119, 118,
+  118, 119, 117, 117, 116, 116, 118, 121, 124, 126, 127, 131, 126, 125, 129, 136,
+  140, 136, 131, 133, 132, 132, 131, 131, 130, 131, 131, 130, 131, 134, 133, 133,
+  135, 141, 145, 138, 142, 145, 148, 150, 150, 147, 146, 149, 151, 149, 148, 147,
+  146, 144, 140, 135, 134, 133, 132, 131, 130, 127, 126, 124, 124, 123, 121, 116,
+  114, 113, 113, 114, 113, 112, 111, 111, 110, 110, 110, 105, 109, 113, 112, 108,
+  104, 103, 102, 87, 83, 92, 83, 79, 84, 82, 96, 108, 110, 112, 115, 126,
+  136, 138, 135, 139, 114, 95, 93, 100, 104, 112, 121, 128, 133, 153, 151, 123,
+  113, 115, 104, 101, 111, 115, 117, 98, 86, 105, 104, 76, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 82, 91, 81, 67, 73,
+  82, 98, 103, 105, 105, 103, 102, 106, 111, 116, 115, 115, 114, 114, 115, 116,
+  114, 117, 115, 116, 117, 121, 123, 125, 126, 131, 125, 124, 127, 135, 139, 136,
+  131, 126, 126, 125, 125, 127, 126, 126, 126, 127, 127, 128, 128, 128, 131, 135,
+  141, 137, 139, 140, 142, 144, 146, 145, 146, 148, 148, 146, 147, 145, 141, 139,
+  136, 133, 131, 130, 129, 128, 127, 124, 124, 122, 121, 119, 118, 114, 112, 110,
+  109, 111, 111, 110, 110, 109, 107, 106, 106, 106, 108, 109, 108, 104, 101, 101,
+  101, 90, 79, 84, 74, 75, 87, 89, 100, 106, 108, 113, 117, 127, 137, 139,
+  134, 133, 107, 88, 88, 99, 105, 112, 119, 119, 124, 148, 153, 125, 108, 107,
+  97, 95, 111, 117, 113, 93, 88, 108, 101, 52, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 81, 87, 79, 72, 81, 88, 98,
+  103, 107, 107, 102, 97, 101, 108, 108, 108, 108, 108, 109, 111, 112, 111, 118,
+  116, 116, 117, 121, 123, 125, 126, 132, 128, 128, 131, 136, 139, 137, 133, 128,
+  127, 126, 124, 125, 123, 122, 121, 123, 123, 124, 124, 126, 128, 132, 136, 140,
+  141, 141, 143, 145, 148, 149, 150, 144, 143, 142, 146, 146, 141, 139, 138, 132,
+  130, 128, 127, 126, 125, 123, 123, 119, 117, 115, 113, 111, 109, 107, 105, 113,
+  113, 111, 109, 107, 103, 101, 99, 107, 106, 105, 104, 102, 101, 100, 97, 90,
+  78, 80, 69, 75, 93, 95, 102, 105, 108, 113, 117, 128, 137, 139, 134, 126,
+  104, 90, 95, 108, 114, 118, 123, 113, 118, 137, 144, 125, 106, 101, 99, 95,
+  111, 112, 104, 91, 96, 111, 89, 104, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 199, 83, 84, 77, 81, 91, 94, 103, 104, 107,
+  110, 106, 100, 100, 105, 105, 105, 106, 108, 110, 112, 114, 114, 121, 119, 119,
+  119, 122, 124, 125, 126, 132, 131, 133, 135, 137, 138, 136, 134, 130, 130, 128,
+  127, 128, 126, 125, 124, 127, 126, 125, 126, 130, 133, 135, 138, 142, 144, 146,
+  149, 152, 153, 152, 153, 144, 141, 142, 148, 148, 142, 140, 140, 133, 130, 128,
+  126, 125, 125, 123, 123, 120, 117, 114, 113, 111, 110, 107, 104, 113, 113, 112,
+  110, 107, 104, 100, 98, 107, 105, 103, 104, 106, 104, 98, 91, 86, 77, 79,
+  68, 76, 94, 95, 101, 106, 109, 115, 119, 129, 138, 139, 134, 120, 103, 96,
+  106, 120, 123, 124, 127, 118, 123, 128, 131, 123, 102, 94, 104, 107, 116, 106,
+  95, 91, 102, 106, 67, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 89, 84, 82, 77, 87, 99, 99, 109, 104, 106, 109, 112,
+  104, 101, 100, 107, 105, 109, 109, 113, 114, 119, 119, 123, 121, 123, 123, 124,
+  125, 126, 126, 130, 131, 134, 136, 136, 135, 134, 131, 130, 130, 130, 130, 132,
+  132, 132, 132, 133, 132, 132, 133, 138, 140, 141, 141, 141, 144, 149, 154, 156,
+  155, 153, 152, 147, 142, 144, 148, 149, 140, 139, 139, 133, 131, 129, 127, 126,
+  125, 124, 124, 123, 120, 117, 116, 116, 113, 112, 109, 110, 110, 111, 110, 109,
+  106, 104, 103, 106, 103, 102, 106, 110, 108, 98, 87, 83, 78, 85, 74, 78,
+  94, 92, 100, 108, 112, 117, 122, 132, 140, 141, 135, 112, 99, 97, 110, 123,
+  125, 123, 125, 126, 132, 123, 121, 120, 98, 87, 107, 122, 123, 103, 89, 91,
+  105, 99, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 84, 77, 81, 89, 98, 103, 103, 111, 109, 109, 106, 107, 104, 104,
+  100, 106, 105, 107, 103, 106, 109, 116, 118, 126, 125, 127, 128, 130, 130, 129,
+  128, 130, 138, 136, 134, 137, 131, 125, 130, 123, 125, 130, 131, 131, 127, 126,
+  126, 129, 133, 138, 138, 134, 131, 131, 135, 150, 156, 158, 152, 151, 152, 153,
+  150, 138, 139, 142, 142, 143, 139, 136, 132, 131, 129, 128, 127, 125, 124, 123,
+  123, 123, 120, 116, 113, 113, 111, 112, 111, 109, 109, 109, 109, 109, 108, 107,
+  106, 102, 106, 107, 105, 106, 108, 104, 96, 83, 97, 100, 87, 78, 87, 101,
+  109, 120, 112, 112, 124, 135, 135, 128, 124, 108, 96, 105, 122, 122, 119, 121,
+  120, 121, 124, 121, 109, 97, 94, 102, 112, 112, 120, 91, 95, 110, 106, 89,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  85, 82, 87, 97, 105, 106, 106, 110, 108, 104, 102, 101, 102, 102, 103, 106,
+  107, 106, 105, 106, 110, 114, 117, 121, 123, 126, 130, 134, 136, 136, 135, 139,
+  146, 142, 138, 140, 134, 128, 133, 123, 125, 127, 126, 125, 124, 125, 127, 136,
+  136, 138, 140, 142, 142, 141, 140, 147, 153, 156, 152, 147, 148, 146, 142, 141,
+  142, 143, 144, 143, 140, 137, 135, 131, 131, 130, 129, 128, 127, 127, 126, 123,
+  121, 117, 116, 115, 115, 113, 111, 109, 110, 110, 110, 109, 109, 108, 107, 100,
+  104, 106, 105, 107, 109, 106, 99, 92, 103, 105, 94, 88, 97, 109, 113, 114,
+  109, 117, 137, 146, 135, 119, 110, 102, 102, 119, 125, 104, 90, 96, 105, 99,
+  100, 102, 105, 109, 114, 118, 121, 111, 105, 103, 101, 109, 105, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 90, 89,
+  93, 102, 109, 109, 108, 108, 106, 103, 101, 100, 102, 104, 106, 104, 103, 102,
+  102, 103, 106, 109, 111, 116, 119, 124, 129, 133, 136, 137, 138, 145, 151, 146,
+  141, 141, 135, 129, 134, 131, 131, 129, 126, 126, 127, 130, 133, 137, 134, 133,
+  136, 142, 145, 144, 142, 145, 151, 154, 153, 151, 150, 145, 141, 145, 145, 144,
+  143, 142, 140, 138, 137, 133, 132, 132, 131, 131, 130, 130, 129, 123, 121, 119,
+  118, 117, 116, 112, 110, 109, 109, 110, 110, 110, 109, 108, 107, 103, 105, 106,
+  105, 106, 107, 104, 98, 98, 105, 104, 97, 95, 105, 113, 114, 116, 112, 124,
+  145, 145, 122, 103, 97, 109, 109, 122, 122, 97, 82, 90, 100, 102, 99, 102,
+  112, 125, 130, 123, 114, 109, 92, 114, 111, 108, 148, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 90, 91, 95, 104,
+  108, 109, 106, 105, 105, 105, 104, 103, 103, 105, 107, 103, 99, 98, 100, 101,
+  102, 103, 108, 113, 115, 117, 120, 122, 126, 130, 133, 142, 148, 143, 138, 139,
+  133, 127, 133, 133, 132, 129, 127, 128, 129, 131, 134, 136, 133, 132, 133, 137,
+  141, 142, 142, 141, 147, 149, 149, 148, 147, 145, 144, 146, 145, 142, 140, 138,
+  137, 136, 136, 131, 131, 131, 130, 130, 129, 129, 129, 121, 120, 118, 118, 117,
+  114, 110, 107, 107, 107, 108, 108, 108, 107, 107, 106, 108, 107, 106, 105, 104,
+  102, 97, 93, 99, 101, 99, 95, 97, 106, 110, 109, 118, 116, 128, 143, 134,
+  108, 99, 109, 112, 100, 104, 110, 104, 103, 106, 104, 112, 107, 106, 115, 125,
+  124, 110, 98, 107, 95, 116, 122, 105, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 88, 90, 95, 101, 104, 104,
+  103, 102, 106, 110, 110, 108, 106, 105, 105, 107, 100, 98, 102, 104, 102, 101,
+  104, 106, 107, 107, 107, 108, 113, 121, 127, 133, 141, 138, 134, 137, 133, 128,
+  134, 125, 125, 124, 124, 127, 127, 127, 127, 138, 138, 139, 137, 135, 136, 140,
+  144, 141, 141, 141, 140, 138, 136, 135, 138, 142, 141, 138, 136, 132, 131, 131,
+  131, 128, 128, 127, 127, 126, 125, 125, 125, 119, 117, 116, 115, 114, 111, 107,
+  103, 104, 104, 105, 105, 106, 105, 105, 104, 108, 106, 104, 103, 102, 99, 94,
+  92, 99, 98, 95, 94, 98, 105, 106, 104, 108, 113, 128, 137, 121, 97, 97,
+  114, 92, 84, 93, 110, 117, 121, 119, 107, 103, 101, 102, 107, 113, 111, 103,
+  94, 106, 110, 109, 123, 150, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 90, 92, 97, 102, 103, 101, 100, 103,
+  109, 114, 115, 111, 106, 103, 103, 104, 95, 92, 98, 100, 96, 94, 97, 98,
+  100, 101, 100, 101, 106, 114, 122, 125, 134, 134, 133, 138, 135, 130, 135, 123,
+  123, 124, 127, 131, 131, 129, 127, 136, 138, 140, 136, 132, 131, 136, 141, 148,
+  144, 141, 139, 135, 129, 130, 134, 139, 138, 136, 134, 131, 130, 130, 129, 127,
+  127, 126, 125, 123, 122, 121, 121, 117, 115, 113, 111, 110, 108, 104, 101, 101,
+  102, 103, 104, 104, 104, 103, 103, 105, 101, 100, 102, 103, 100, 97, 97, 103,
+  100, 97, 98, 101, 105, 104, 103, 102, 114, 129, 130, 109, 84, 80, 90, 81,
+  87, 109, 127, 127, 125, 120, 108, 98, 100, 102, 103, 104, 103, 101, 100, 107,
+  118, 103, 156, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 203, 98, 100, 102, 104, 105, 103, 103, 114, 119, 124,
+  123, 116, 111, 108, 109, 106, 95, 91, 99, 101, 95, 92, 95, 98, 101, 104,
+  103, 101, 103, 108, 114, 118, 128, 130, 131, 137, 134, 128, 133, 126, 125, 126,
+  129, 135, 137, 135, 133, 137, 137, 137, 136, 134, 134, 136, 137, 148, 145, 141,
+  142, 138, 132, 132, 136, 138, 138, 135, 134, 133, 132, 132, 131, 129, 129, 127,
+  125, 123, 121, 120, 119, 118, 115, 111, 109, 107, 106, 103, 101, 101, 102, 103,
+  104, 104, 104, 104, 104, 107, 102, 100, 104, 105, 101, 99, 101, 105, 102, 101,
+  102, 104, 104, 103, 103, 110, 122, 131, 128, 112, 97, 90, 88, 105, 110, 127,
+  136, 130, 126, 121, 108, 103, 105, 106, 106, 104, 103, 104, 105, 110, 114, 102,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 105, 104, 105, 106, 107, 108, 108, 106, 127, 131, 133, 130, 122,
+  117, 116, 118, 116, 104, 100, 108, 111, 104, 100, 103, 103, 107, 111, 109, 104,
+  101, 103, 105, 112, 123, 127, 129, 135, 131, 124, 129, 125, 123, 122, 125, 132,
+  135, 135, 134, 145, 141, 139, 140, 143, 145, 143, 140, 138, 136, 136, 141, 140,
+  134, 133, 138, 139, 139, 137, 137, 137, 135, 134, 134, 132, 131, 129, 127, 125,
+  122, 121, 120, 119, 116, 111, 108, 106, 105, 103, 102, 102, 102, 103, 104, 105,
+  105, 105, 105, 112, 106, 103, 107, 106, 101, 98, 100, 106, 103, 102, 103, 104,
+  102, 101, 102, 118, 127, 133, 131, 130, 132, 130, 124, 136, 127, 126, 127, 124,
+  125, 121, 106, 98, 100, 102, 103, 104, 105, 107, 111, 113, 155, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 94, 104, 112, 108, 104, 106, 109, 109, 152, 156, 144, 129, 128, 124, 114,
+  112, 105, 107, 110, 110, 108, 107, 108, 110, 103, 103, 104, 106, 108, 108, 105,
+  103, 109, 120, 130, 132, 131, 132, 131, 128, 125, 121, 120, 124, 129, 130, 135,
+  141, 138, 140, 140, 138, 141, 146, 147, 143, 143, 141, 138, 138, 138, 140, 140,
+  139, 135, 135, 136, 136, 133, 132, 130, 129, 131, 126, 121, 121, 124, 126, 124,
+  121, 115, 114, 112, 109, 107, 104, 102, 101, 95, 102, 109, 111, 108, 106, 107,
+  109, 106, 107, 107, 103, 99, 96, 97, 100, 106, 105, 105, 106, 102, 97, 99,
+  105, 116, 122, 128, 129, 128, 129, 134, 139, 129, 132, 133, 131, 129, 126, 118,
+  109, 102, 96, 105, 114, 112, 112, 115, 112, 120, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 94,
+  104, 112, 112, 113, 117, 121, 122, 162, 161, 143, 126, 126, 124, 118, 118, 113,
+  112, 111, 113, 116, 117, 115, 113, 108, 109, 110, 107, 103, 101, 103, 105, 109,
+  118, 126, 128, 130, 131, 129, 125, 128, 124, 123, 125, 129, 129, 133, 138, 140,
+  143, 144, 140, 140, 143, 144, 142, 145, 142, 140, 139, 139, 140, 139, 139, 138,
+  137, 136, 134, 131, 131, 131, 132, 130, 126, 122, 122, 125, 126, 124, 120, 117,
+  115, 113, 110, 107, 105, 104, 104, 102, 108, 113, 113, 109, 105, 105, 106, 107,
+  108, 108, 105, 101, 99, 100, 102, 107, 105, 106, 106, 102, 98, 100, 107, 118,
+  121, 123, 122, 120, 120, 124, 127, 126, 129, 129, 126, 126, 126, 122, 115, 113,
+  98, 98, 108, 112, 114, 112, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 100, 106, 112,
+  112, 116, 121, 126, 128, 144, 146, 131, 121, 127, 129, 124, 124, 121, 117, 114,
+  118, 125, 127, 123, 118, 113, 116, 115, 109, 101, 99, 104, 110, 107, 114, 120,
+  125, 129, 133, 130, 123, 130, 125, 124, 126, 128, 127, 130, 135, 141, 146, 148,
+  143, 139, 140, 141, 141, 145, 142, 140, 139, 139, 139, 136, 135, 139, 137, 133,
+  130, 130, 130, 130, 133, 127, 125, 122, 123, 125, 125, 122, 118, 118, 116, 113,
+  109, 107, 106, 106, 107, 108, 111, 115, 114, 110, 106, 106, 107, 107, 108, 108,
+  106, 103, 102, 103, 105, 107, 106, 106, 106, 102, 98, 101, 108, 122, 121, 121,
+  121, 121, 122, 124, 125, 132, 133, 132, 128, 128, 129, 126, 121, 120, 101, 99,
+  112, 119, 118, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 105, 106, 108, 107, 111,
+  117, 120, 123, 126, 128, 121, 120, 130, 129, 119, 118, 121, 118, 117, 120, 125,
+  127, 124, 121, 116, 117, 116, 110, 104, 102, 105, 109, 104, 109, 115, 120, 128,
+  134, 131, 124, 126, 122, 121, 124, 127, 126, 128, 132, 139, 146, 150, 144, 139,
+  139, 141, 141, 143, 141, 139, 138, 138, 137, 134, 132, 135, 135, 131, 130, 129,
+  129, 127, 127, 124, 122, 122, 122, 123, 122, 118, 115, 118, 115, 111, 107, 105,
+  106, 107, 108, 107, 110, 113, 112, 110, 108, 109, 110, 106, 106, 106, 105, 104,
+  104, 105, 105, 106, 104, 104, 104, 101, 97, 101, 108, 119, 119, 121, 125, 130,
+  132, 131, 130, 135, 136, 134, 130, 128, 127, 122, 115, 110, 98, 102, 161, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 110, 105, 102, 100, 105, 109, 112,
+  115, 128, 129, 121, 119, 126, 120, 110, 110, 118, 119, 121, 122, 123, 123, 123,
+  124, 117, 115, 111, 108, 105, 102, 99, 97, 99, 104, 109, 115, 124, 131, 129,
+  122, 119, 116, 116, 120, 124, 124, 127, 131, 135, 143, 148, 144, 139, 139, 142,
+  142, 140, 138, 137, 136, 134, 133, 131, 129, 127, 128, 130, 130, 128, 125, 123,
+  121, 121, 121, 120, 120, 120, 118, 115, 113, 115, 113, 109, 106, 104, 105, 107,
+  108, 108, 109, 110, 109, 108, 107, 107, 108, 105, 104, 103, 102, 103, 103, 103,
+  103, 104, 102, 101, 101, 98, 95, 99, 107, 114, 117, 122, 129, 134, 135, 132,
+  129, 130, 132, 132, 129, 126, 123, 115, 106, 104, 150, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 114, 103, 97, 98, 102, 106, 109, 114, 123,
+  121, 110, 106, 111, 109, 107, 117, 117, 120, 123, 122, 120, 119, 120, 122, 116,
+  112, 107, 103, 101, 98, 93, 88, 98, 104, 110, 114, 120, 125, 124, 119, 114,
+  111, 113, 118, 123, 123, 126, 131, 132, 139, 144, 142, 139, 141, 142, 141, 137,
+  136, 135, 135, 133, 132, 130, 127, 123, 125, 128, 130, 127, 124, 120, 117, 121,
+  121, 120, 119, 117, 116, 114, 113, 113, 111, 108, 106, 105, 105, 107, 108, 113,
+  111, 109, 107, 105, 104, 104, 104, 104, 102, 100, 100, 101, 102, 102, 101, 102,
+  100, 100, 99, 96, 94, 99, 107, 119, 123, 129, 134, 135, 133, 130, 127, 128,
+  131, 132, 130, 128, 124, 116, 156, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 119, 104, 94, 95, 100, 103, 106, 111, 110, 110, 102,
+  100, 105, 103, 107, 123, 116, 116, 116, 116, 117, 116, 115, 114, 112, 110, 107,
+  102, 99, 97, 98, 99, 107, 114, 119, 120, 121, 123, 123, 120, 113, 111, 112,
+  118, 123, 123, 125, 130, 133, 137, 141, 139, 139, 142, 140, 136, 135, 135, 134,
+  135, 134, 133, 129, 126, 125, 126, 125, 126, 125, 123, 120, 118, 123, 123, 121,
+  119, 117, 115, 115, 116, 111, 111, 109, 108, 107, 107, 108, 108, 113, 111, 108,
+  106, 105, 105, 105, 105, 105, 103, 100, 100, 101, 102, 101, 99, 103, 100, 100,
+  99, 96, 94, 100, 108, 122, 126, 131, 131, 129, 126, 126, 128, 129, 131, 130,
+  125, 122, 119, 160, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 212, 111, 98, 97, 99, 99, 101, 106, 111, 115, 112, 111, 111,
+  102, 102, 117, 115, 111, 107, 109, 113, 114, 109, 102, 109, 109, 110, 104, 101,
+  101, 112, 118, 119, 125, 132, 128, 127, 125, 126, 122, 114, 110, 114, 119, 122,
+  123, 125, 129, 134, 137, 139, 138, 139, 141, 138, 131, 135, 132, 132, 134, 133,
+  133, 130, 126, 128, 126, 125, 125, 124, 123, 122, 122, 123, 125, 123, 120, 117,
+  116, 117, 118, 111, 111, 111, 110, 110, 109, 109, 109, 110, 108, 105, 105, 106,
+  108, 110, 110, 107, 104, 100, 100, 102, 103, 101, 98, 104, 101, 100, 100, 97,
+  95, 101, 109, 116, 120, 123, 121, 117, 116, 120, 125, 128, 127, 122, 114, 158,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 136, 117, 95, 100, 99, 93, 104, 114, 117, 112, 107, 105, 105, 112,
+  118, 108, 109, 109, 112, 115, 116, 116, 115, 107, 99, 97, 103, 115, 121, 127,
+  130, 127, 128, 131, 131, 132, 130, 130, 126, 118, 111, 111, 113, 118, 125, 127,
+  127, 130, 132, 137, 141, 144, 144, 143, 141, 131, 129, 128, 127, 127, 128, 128,
+  127, 130, 123, 120, 120, 124, 124, 121, 118, 122, 121, 119, 119, 118, 116, 112,
+  109, 111, 109, 107, 105, 105, 105, 107, 108, 108, 105, 102, 103, 107, 109, 105,
+  101, 99, 96, 97, 103, 104, 100, 97, 99, 104, 102, 99, 94, 91, 92, 97,
+  101, 110, 113, 112, 108, 108, 113, 117, 118, 116, 113, 109, 154, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  140, 121, 99, 103, 100, 90, 93, 106, 114, 115, 116, 112, 110, 108, 109, 108,
+  113, 116, 118, 117, 116, 116, 120, 121, 119, 121, 129, 135, 134, 132, 132, 132,
+  131, 130, 129, 129, 129, 129, 128, 122, 115, 110, 110, 115, 121, 126, 128, 129,
+  131, 136, 139, 141, 141, 141, 139, 131, 128, 127, 126, 125, 125, 126, 126, 128,
+  124, 121, 121, 124, 125, 122, 118, 122, 122, 122, 122, 122, 119, 114, 109, 110,
+  109, 108, 107, 107, 108, 109, 110, 111, 107, 103, 103, 107, 109, 107, 104, 100,
+  96, 96, 100, 101, 97, 95, 95, 102, 100, 97, 93, 92, 93, 95, 97, 75,
+  86, 94, 96, 95, 95, 93, 89, 92, 146, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 119,
+  101, 102, 100, 86, 82, 88, 97, 102, 105, 103, 101, 98, 97, 106, 113, 121,
+  122, 117, 115, 118, 123, 126, 126, 130, 136, 138, 134, 131, 132, 134, 133, 130,
+  127, 126, 126, 127, 127, 124, 117, 113, 111, 113, 118, 125, 128, 129, 131, 135,
+  137, 139, 139, 138, 136, 132, 129, 127, 126, 125, 124, 124, 124, 127, 124, 121,
+  122, 124, 125, 122, 119, 122, 123, 125, 126, 125, 120, 112, 106, 105, 106, 107,
+  108, 109, 110, 110, 110, 113, 108, 104, 104, 107, 108, 107, 105, 103, 98, 96,
+  99, 99, 96, 94, 95, 100, 97, 94, 92, 91, 91, 90, 89, 80, 94, 107,
+  110, 108, 106, 103, 99, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 121, 105, 99,
+  95, 83, 78, 80, 84, 84, 85, 86, 92, 96, 100, 102, 107, 114, 117, 115,
+  116, 118, 121, 122, 120, 122, 125, 126, 125, 129, 135, 131, 130, 128, 127, 126,
+  126, 126, 126, 120, 115, 113, 111, 112, 116, 123, 125, 130, 131, 135, 136, 137,
+  137, 137, 135, 131, 128, 126, 124, 122, 121, 121, 120, 124, 122, 120, 121, 122,
+  122, 121, 118, 122, 123, 125, 126, 123, 115, 105, 98, 99, 101, 104, 107, 108,
+  109, 108, 107, 110, 108, 106, 106, 108, 108, 105, 103, 106, 100, 97, 98, 98,
+  95, 93, 94, 98, 95, 90, 88, 87, 85, 82, 79, 92, 102, 109, 108, 104,
+  105, 157, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 123, 106, 88, 83, 78,
+  73, 78, 78, 77, 79, 86, 96, 105, 111, 104, 104, 105, 110, 118, 122, 120,
+  118, 119, 117, 119, 123, 124, 123, 127, 133, 125, 126, 127, 128, 128, 127, 126,
+  124, 114, 112, 112, 113, 116, 118, 121, 123, 131, 132, 132, 133, 136, 136, 136,
+  134, 130, 126, 124, 122, 120, 119, 118, 118, 120, 119, 118, 118, 119, 119, 118,
+  117, 122, 122, 122, 121, 117, 109, 98, 91, 94, 96, 100, 104, 106, 106, 105,
+  105, 105, 106, 107, 108, 108, 106, 102, 99, 103, 97, 94, 95, 95, 91, 90,
+  91, 96, 92, 87, 83, 80, 78, 76, 75, 95, 102, 104, 100, 96, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 211, 104, 79, 75, 75, 68, 72,
+  75, 77, 84, 94, 104, 109, 112, 111, 107, 103, 108, 118, 124, 122, 121, 117,
+  117, 120, 126, 128, 123, 121, 121, 122, 123, 126, 127, 128, 127, 125, 123, 111,
+  111, 114, 115, 117, 118, 120, 122, 130, 130, 131, 132, 135, 136, 137, 135, 129,
+  125, 123, 121, 119, 118, 118, 117, 117, 117, 117, 117, 117, 117, 117, 117, 122,
+  121, 119, 116, 112, 105, 97, 91, 94, 96, 100, 103, 106, 106, 106, 105, 105,
+  106, 108, 109, 107, 104, 101, 99, 97, 92, 90, 92, 92, 88, 85, 86, 91,
+  90, 85, 78, 73, 73, 77, 80, 98, 104, 108, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 100, 73, 75, 80, 71, 68, 71, 75,
+  83, 93, 103, 108, 110, 116, 112, 109, 110, 114, 119, 122, 121, 120, 116, 116,
+  122, 125, 122, 118, 118, 124, 125, 125, 125, 125, 124, 124, 122, 118, 117, 118,
+  118, 116, 117, 123, 126, 127, 128, 128, 129, 131, 133, 134, 133, 129, 126, 124,
+  122, 121, 120, 120, 120, 116, 117, 118, 117, 117, 117, 117, 118, 123, 120, 116,
+  113, 110, 106, 102, 98, 99, 101, 103, 106, 108, 109, 109, 109, 109, 109, 108,
+  107, 105, 103, 103, 103, 95, 91, 90, 93, 93, 89, 85, 85, 86, 85, 81,
+  74, 68, 71, 81, 91, 93, 149, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 94, 74, 83, 90, 76, 76, 77, 76, 81, 92,
+  103, 111, 114, 118, 116, 113, 110, 109, 112, 117, 121, 129, 119, 113, 115, 121,
+  124, 125, 127, 129, 127, 125, 122, 121, 121, 122, 122, 124, 122, 121, 118, 115,
+  116, 123, 128, 125, 125, 126, 127, 129, 131, 133, 132, 130, 127, 125, 124, 123,
+  122, 122, 122, 117, 118, 119, 118, 117, 117, 118, 119, 123, 119, 115, 112, 111,
+  109, 108, 106, 104, 105, 107, 109, 111, 112, 113, 113, 114, 112, 108, 104, 102,
+  102, 105, 108, 96, 93, 93, 97, 97, 92, 88, 88, 83, 84, 81, 72, 67,
+  72, 88, 102, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 81, 77, 88, 89, 79, 79, 66, 76, 90, 89, 100, 118,
+  117, 120, 115, 111, 113, 118, 122, 122, 120, 123, 124, 125, 126, 124, 121, 117,
+  114, 123, 122, 121, 121, 122, 124, 126, 126, 126, 125, 125, 124, 124, 124, 124,
+  125, 131, 131, 129, 129, 129, 129, 129, 129, 126, 124, 124, 123, 122, 121, 119,
+  118, 117, 116, 115, 117, 119, 121, 121, 119, 120, 121, 120, 117, 112, 108, 106,
+  106, 108, 108, 109, 110, 110, 111, 112, 112, 106, 107, 108, 109, 108, 107, 105,
+  104, 100, 98, 95, 94, 92, 90, 86, 83, 83, 81, 74, 68, 74, 88, 96,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 82, 93, 92, 79, 86, 75, 73, 82, 91, 104, 119, 124, 120,
+  115, 110, 111, 116, 121, 121, 120, 117, 119, 121, 121, 120, 118, 115, 113, 123,
+  123, 122, 122, 122, 123, 125, 125, 124, 122, 122, 121, 121, 122, 123, 123, 129,
+  130, 129, 130, 131, 131, 130, 128, 125, 125, 125, 124, 123, 122, 120, 119, 115,
+  114, 113, 115, 117, 118, 118, 117, 122, 122, 121, 118, 113, 110, 109, 109, 110,
+  110, 111, 111, 112, 112, 113, 113, 111, 111, 112, 112, 111, 109, 107, 106, 100,
+  98, 95, 93, 92, 89, 85, 82, 80, 77, 70, 67, 75, 89, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 88, 100, 99, 90, 92, 84, 74, 78, 97, 108, 114, 123, 122, 117, 115,
+  116, 121, 126, 128, 129, 120, 122, 123, 124, 124, 122, 120, 118, 124, 123, 122,
+  121, 121, 121, 121, 122, 125, 124, 124, 124, 123, 124, 125, 126, 123, 125, 128,
+  130, 130, 129, 128, 127, 126, 126, 126, 125, 124, 122, 120, 119, 115, 114, 113,
+  114, 117, 118, 117, 116, 124, 124, 122, 118, 113, 111, 112, 113, 112, 112, 112,
+  113, 113, 113, 113, 113, 112, 113, 113, 113, 111, 109, 106, 104, 100, 98, 95,
+  93, 91, 88, 84, 80, 78, 73, 68, 69, 80, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 89,
+  99, 106, 104, 95, 92, 78, 78, 103, 110, 106, 115, 118, 114, 114, 115, 121,
+  127, 132, 134, 127, 128, 129, 129, 128, 127, 124, 123, 123, 122, 121, 120, 119,
+  118, 117, 117, 121, 121, 121, 121, 122, 122, 123, 124, 118, 121, 125, 128, 128,
+  128, 126, 125, 124, 124, 124, 124, 122, 121, 119, 118, 117, 116, 115, 116, 118,
+  119, 119, 118, 124, 123, 121, 117, 113, 112, 113, 115, 113, 113, 113, 113, 112,
+  112, 112, 112, 110, 110, 110, 109, 107, 104, 101, 99, 100, 97, 94, 91, 89,
+  86, 81, 78, 76, 70, 67, 73, 142, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 81, 86, 102,
+  115, 98, 96, 77, 71, 94, 103, 103, 114, 109, 107, 109, 112, 120, 127, 133,
+  134, 130, 130, 130, 130, 128, 126, 124, 123, 122, 121, 120, 119, 117, 116, 114,
+  113, 112, 112, 112, 112, 113, 114, 114, 115, 114, 116, 119, 122, 124, 124, 121,
+  120, 122, 122, 122, 121, 120, 118, 117, 116, 117, 116, 115, 116, 118, 119, 118,
+  116, 123, 122, 120, 116, 112, 112, 114, 116, 113, 113, 112, 112, 111, 111, 110,
+  110, 108, 108, 108, 106, 104, 101, 98, 96, 98, 96, 92, 89, 86, 82, 78,
+  74, 68, 64, 64, 134, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 84, 103, 122, 107,
+  100, 81, 68, 77, 90, 103, 115, 107, 107, 111, 114, 121, 127, 132, 136, 134,
+  132, 132, 131, 131, 129, 128, 127, 122, 122, 121, 120, 118, 116, 114, 113, 112,
+  111, 111, 111, 111, 112, 111, 112, 112, 114, 116, 119, 120, 121, 118, 118, 121,
+  121, 121, 120, 119, 117, 116, 115, 115, 114, 113, 113, 115, 116, 115, 113, 121,
+  121, 120, 117, 114, 113, 114, 116, 114, 114, 113, 112, 111, 110, 109, 109, 108,
+  108, 108, 107, 105, 102, 99, 97, 96, 94, 90, 86, 83, 79, 74, 70, 62,
+  61, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 89, 105, 121, 115, 104, 97,
+  79, 65, 74, 93, 98, 106, 107, 112, 115, 119, 123, 128, 128, 130, 129, 129,
+  130, 131, 131, 131, 132, 123, 124, 124, 123, 121, 119, 117, 116, 116, 116, 115,
+  115, 114, 115, 114, 114, 114, 115, 115, 117, 116, 117, 117, 117, 121, 121, 121,
+  120, 119, 118, 116, 115, 115, 114, 113, 113, 115, 115, 114, 113, 120, 121, 121,
+  120, 117, 116, 116, 117, 116, 116, 115, 113, 112, 111, 110, 109, 107, 108, 108,
+  107, 105, 102, 100, 98, 94, 92, 87, 84, 80, 76, 70, 66, 61, 126, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 91, 105, 116, 119, 110, 112, 96, 65,
+  66, 80, 75, 100, 103, 105, 109, 110, 111, 115, 114, 120, 121, 123, 125, 127,
+  129, 130, 131, 127, 127, 128, 128, 126, 124, 122, 120, 116, 116, 115, 114, 113,
+  113, 112, 112, 116, 116, 115, 116, 115, 116, 117, 118, 122, 122, 122, 121, 120,
+  119, 117, 116, 118, 116, 115, 115, 117, 117, 116, 117, 120, 122, 123, 122, 120,
+  118, 118, 118, 118, 117, 116, 115, 113, 112, 111, 110, 107, 108, 108, 107, 106,
+  103, 101, 97, 93, 90, 86, 82, 79, 74, 68, 64, 128, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 82, 100, 114, 122, 117, 113, 97, 76, 65, 70,
+  79, 79, 84, 91, 94, 95, 96, 98, 100, 104, 113, 114, 116, 124, 121, 115,
+  119, 124, 123, 123, 124, 127, 126, 123, 118, 124, 116, 112, 117, 113, 105, 106,
+  116, 110, 111, 111, 114, 115, 117, 118, 118, 122, 122, 123, 123, 122, 121, 119,
+  117, 113, 113, 113, 113, 114, 115, 116, 118, 124, 123, 120, 117, 116, 117, 119,
+  121, 122, 120, 117, 115, 115, 115, 113, 112, 116, 113, 109, 106, 105, 104, 103,
+  99, 100, 98, 90, 82, 79, 82, 78, 69, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 87, 99, 110, 118, 109, 104, 89, 72, 61, 62, 69, 98,
+  96, 94, 87, 85, 88, 94, 100, 101, 107, 102, 98, 102, 98, 92, 97, 110,
+  112, 114, 110, 105, 101, 101, 102, 114, 105, 103, 109, 108, 104, 107, 118, 109,
+  112, 112, 111, 107, 110, 117, 124, 122, 123, 123, 124, 123, 121, 119, 118, 114,
+  114, 114, 114, 114, 115, 116, 119, 124, 124, 122, 120, 119, 120, 121, 121, 122,
+  119, 116, 114, 114, 113, 112, 110, 115, 112, 108, 106, 105, 104, 102, 100, 96,
+  95, 89, 80, 75, 76, 72, 129, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 94, 97, 118, 109, 103, 90, 75, 63, 61, 62, 80, 84, 89,
+  93, 95, 93, 94, 97, 103, 105, 97, 91, 97, 98, 99, 107, 84, 91, 96,
+  92, 82, 79, 85, 93, 68, 61, 60, 66, 67, 67, 72, 83, 103, 109, 112,
+  110, 103, 104, 113, 121, 121, 122, 123, 123, 122, 120, 118, 117, 115, 115, 114,
+  114, 114, 115, 116, 119, 123, 125, 124, 123, 123, 122, 122, 122, 121, 118, 115,
+  113, 112, 111, 109, 107, 114, 111, 108, 107, 106, 106, 103, 101, 93, 93, 89,
+  80, 71, 131, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 92, 86, 112, 108, 108, 98, 77, 63, 60, 64, 60, 65, 74, 82, 86,
+  87, 86, 85, 91, 104, 109, 113, 121, 115, 105, 106, 118, 120, 117, 104, 86,
+  75, 74, 76, 83, 77, 76, 80, 82, 84, 89, 99, 98, 104, 109, 110, 104,
+  103, 107, 111, 119, 120, 121, 121, 120, 118, 117, 115, 114, 113, 113, 112, 113,
+  113, 114, 116, 121, 124, 124, 125, 124, 123, 121, 120, 119, 117, 113, 111, 110,
+  109, 107, 105, 114, 112, 109, 108, 108, 107, 104, 102, 90, 91, 89, 80, 69,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 90,
+  82, 94, 99, 109, 98, 73, 55, 55, 63, 69, 64, 58, 54, 55, 60, 66,
+  72, 69, 90, 106, 116, 120, 102, 75, 65, 61, 64, 67, 70, 74, 79, 86,
+  88, 87, 84, 83, 87, 89, 93, 99, 107, 106, 105, 103, 102, 100, 102, 105,
+  108, 117, 118, 119, 119, 118, 116, 114, 113, 112, 111, 111, 110, 110, 110, 111,
+  113, 118, 121, 123, 123, 123, 122, 120, 118, 118, 115, 112, 110, 109, 108, 106,
+  104, 112, 110, 108, 107, 106, 105, 101, 99, 85, 85, 83, 76, 128, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 93, 83, 80,
+  93, 108, 101, 74, 55, 56, 67, 70, 64, 62, 60, 60, 62, 62, 63, 65,
+  76, 76, 76, 81, 73, 61, 62, 91, 89, 86, 87, 90, 92, 91, 87, 96,
+  97, 99, 103, 106, 112, 117, 122, 120, 113, 101, 95, 94, 100, 108, 114, 117,
+  117, 118, 118, 117, 116, 114, 112, 111, 110, 109, 108, 108, 108, 109, 111, 116,
+  119, 120, 121, 121, 120, 119, 118, 116, 113, 110, 109, 109, 109, 107, 105, 109,
+  107, 105, 104, 103, 101, 96, 93, 81, 78, 75, 132, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 94, 86, 75, 89, 109,
+  105, 82, 64, 63, 70, 63, 64, 72, 78, 83, 79, 71, 66, 75, 76, 64,
+  58, 66, 72, 78, 90, 89, 88, 90, 95, 102, 106, 107, 105, 100, 104, 106,
+  109, 111, 116, 118, 121, 124, 120, 111, 103, 97, 101, 109, 117, 118, 119, 119,
+  120, 119, 117, 115, 114, 111, 110, 109, 109, 108, 108, 108, 111, 117, 119, 120,
+  120, 120, 120, 119, 119, 114, 112, 109, 109, 109, 110, 108, 107, 111, 109, 107,
+  105, 103, 100, 95, 91, 82, 75, 70, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 202, 88, 74, 88, 107, 107, 89,
+  71, 66, 69, 73, 72, 72, 74, 80, 79, 75, 73, 77, 85, 85, 87, 95,
+  94, 90, 94, 111, 112, 113, 114, 116, 115, 113, 112, 117, 121, 123, 123, 123,
+  126, 126, 126, 118, 123, 123, 118, 107, 103, 107, 113, 120, 120, 121, 121, 120,
+  119, 117, 115, 112, 111, 110, 109, 109, 109, 109, 111, 118, 120, 120, 120, 120,
+  120, 120, 120, 113, 111, 109, 109, 110, 110, 110, 109, 115, 113, 111, 109, 107,
+  103, 97, 93, 86, 77, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 95, 92, 86, 93, 106, 104, 86, 70,
+  67, 74, 73, 79, 83, 89, 89, 86, 85, 87, 84, 84, 87, 90, 94, 103,
+  112, 118, 112, 108, 108, 115, 122, 126, 127, 117, 120, 121, 123, 123, 124, 124,
+  127, 122, 125, 126, 123, 111, 101, 103, 111, 114, 117, 120, 120, 119, 117, 116,
+  116, 111, 113, 114, 112, 109, 107, 108, 112, 119, 120, 118, 116, 115, 115, 116,
+  117, 116, 109, 103, 103, 106, 109, 111, 113, 110, 114, 112, 104, 100, 100, 96,
+  90, 80, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 101, 94, 87, 91, 102, 100, 87, 73, 69, 75,
+  74, 79, 84, 88, 88, 88, 88, 93, 92, 93, 96, 98, 99, 104, 111, 115,
+  115, 116, 117, 118, 120, 123, 126, 121, 122, 121, 121, 121, 123, 126, 129, 123,
+  125, 126, 125, 115, 106, 106, 112, 115, 118, 121, 121, 119, 117, 115, 115, 106,
+  108, 110, 110, 108, 108, 110, 114, 115, 117, 117, 117, 117, 118, 118, 119, 109,
+  107, 108, 112, 115, 114, 110, 108, 112, 113, 110, 103, 99, 98, 93, 86, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 105, 97, 89, 88, 96, 97, 90, 79, 77, 75, 74, 78,
+  81, 84, 85, 88, 87, 91, 88, 91, 96, 98, 97, 100, 105, 110, 116, 122,
+  123, 120, 118, 120, 123, 124, 124, 122, 121, 120, 124, 127, 131, 126, 125, 125,
+  126, 119, 112, 109, 112, 116, 119, 121, 121, 118, 115, 113, 113, 105, 107, 109,
+  109, 108, 109, 110, 114, 115, 117, 118, 119, 118, 117, 115, 114, 110, 111, 113,
+  115, 116, 114, 108, 103, 112, 111, 107, 102, 100, 98, 91, 140, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 105, 105, 94, 90, 94, 95, 92, 85, 82, 74, 73, 77, 80, 82,
+  84, 88, 89, 86, 84, 88, 94, 96, 97, 101, 108, 111, 116, 121, 123, 122,
+  121, 122, 123, 125, 126, 125, 125, 123, 125, 127, 130, 129, 126, 123, 125, 121,
+  114, 109, 108, 116, 118, 120, 119, 116, 112, 110, 109, 108, 108, 108, 108, 107,
+  107, 107, 110, 116, 119, 120, 119, 117, 113, 108, 106, 116, 117, 115, 110, 108,
+  108, 106, 103, 108, 106, 103, 102, 101, 96, 86, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  105, 108, 101, 91, 91, 92, 90, 86, 82, 78, 79, 84, 86, 87, 89, 93,
+  95, 92, 89, 90, 95, 97, 99, 105, 113, 115, 114, 115, 118, 123, 126, 126,
+  124, 124, 127, 128, 130, 128, 128, 126, 127, 131, 126, 122, 123, 119, 112, 106,
+  104, 113, 115, 117, 116, 112, 108, 106, 105, 104, 103, 103, 104, 104, 105, 105,
+  106, 114, 117, 118, 118, 115, 110, 105, 102, 110, 114, 113, 108, 105, 107, 106,
+  101, 105, 102, 99, 98, 94, 85, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 108,
+  104, 97, 91, 88, 85, 82, 79, 82, 84, 91, 94, 95, 98, 103, 105, 99,
+  94, 94, 97, 97, 98, 103, 110, 118, 115, 113, 117, 124, 129, 128, 126, 125,
+  129, 131, 133, 131, 129, 126, 126, 130, 125, 120, 121, 116, 110, 106, 106, 110,
+  112, 114, 113, 110, 106, 104, 103, 97, 96, 97, 99, 103, 106, 106, 108, 110,
+  113, 115, 116, 115, 112, 109, 106, 95, 105, 112, 110, 108, 110, 106, 98, 102,
+  97, 93, 89, 81, 132, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 107, 108, 103,
+  95, 87, 84, 83, 81, 84, 88, 97, 100, 102, 104, 109, 110, 100, 96, 98,
+  102, 103, 101, 105, 110, 118, 118, 119, 122, 125, 127, 128, 128, 129, 131, 132,
+  133, 131, 129, 127, 128, 127, 123, 119, 119, 114, 109, 109, 113, 108, 111, 113,
+  112, 109, 106, 104, 103, 100, 99, 99, 102, 107, 110, 110, 111, 111, 114, 115,
+  116, 115, 113, 111, 109, 94, 106, 112, 108, 105, 108, 105, 97, 98, 92, 86,
+  81, 134, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 104, 110, 108, 100, 92,
+  90, 89, 88, 82, 86, 95, 100, 101, 104, 109, 110, 101, 100, 106, 112, 114,
+  113, 115, 119, 117, 122, 127, 128, 126, 125, 127, 129, 130, 131, 131, 130, 129,
+  127, 128, 130, 125, 122, 118, 118, 115, 110, 115, 119, 108, 111, 113, 113, 110,
+  107, 105, 105, 109, 107, 106, 108, 112, 115, 113, 113, 114, 117, 116, 116, 114,
+  111, 108, 109, 106, 114, 113, 104, 99, 104, 106, 101, 95, 89, 82, 136, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 106, 105, 105, 103, 99, 92, 91,
+  94, 86, 85, 91, 97, 105, 110, 110, 104, 97, 97, 103, 109, 114, 116, 117,
+  117, 119, 122, 124, 126, 126, 126, 128, 130, 125, 126, 129, 130, 129, 125, 124,
+  124, 125, 124, 124, 123, 122, 119, 120, 118, 114, 112, 110, 109, 109, 107, 104,
+  101, 104, 103, 106, 109, 113, 115, 113, 108, 110, 108, 109, 110, 114, 114, 113,
+  113, 108, 115, 118, 113, 109, 107, 101, 93, 97, 85, 133, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 103, 102, 101, 97, 93, 94, 94, 84,
+  81, 86, 92, 102, 106, 108, 105, 96, 95, 100, 105, 109, 112, 114, 114, 119,
+  121, 124, 125, 126, 126, 128, 128, 125, 125, 128, 129, 127, 125, 124, 124, 125,
+  125, 124, 123, 122, 121, 121, 118, 117, 112, 111, 109, 108, 106, 105, 102, 107,
+  106, 109, 111, 115, 115, 113, 108, 109, 106, 107, 107, 109, 108, 108, 108, 113,
+  112, 109, 103, 105, 107, 103, 93, 80, 74, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 102, 100, 97, 93, 89, 92, 93, 85, 82, 86,
+  92, 100, 105, 107, 105, 98, 95, 98, 102, 106, 109, 112, 113, 118, 120, 123,
+  125, 125, 125, 127, 127, 126, 126, 128, 128, 126, 124, 123, 123, 125, 124, 124,
+  123, 122, 122, 121, 119, 119, 115, 110, 107, 106, 106, 106, 105, 110, 110, 112,
+  114, 118, 119, 117, 112, 115, 113, 111, 110, 111, 109, 108, 108, 112, 108, 104,
+  100, 103, 104, 96, 85, 68, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 203, 99, 99, 93, 88, 88, 90, 90, 87, 90, 94, 100,
+  102, 106, 106, 101, 99, 100, 102, 106, 109, 113, 115, 116, 119, 122, 123, 123,
+  124, 126, 126, 126, 126, 127, 126, 124, 121, 121, 121, 123, 123, 122, 122, 121,
+  121, 120, 118, 117, 112, 106, 104, 104, 105, 108, 108, 110, 111, 115, 117, 120,
+  121, 120, 117, 115, 113, 111, 110, 111, 111, 110, 107, 105, 104, 106, 104, 102,
+  95, 83, 133, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 100, 101, 95, 88, 87, 86, 87, 86, 90, 94, 99, 103, 110,
+  111, 104, 102, 102, 103, 105, 109, 113, 115, 115, 118, 121, 122, 122, 123, 124,
+  125, 125, 124, 125, 124, 121, 119, 119, 120, 121, 121, 121, 120, 120, 120, 120,
+  117, 113, 108, 103, 101, 104, 107, 110, 111, 110, 112, 117, 120, 121, 121, 122,
+  120, 108, 106, 105, 105, 107, 106, 105, 102, 100, 101, 103, 98, 88, 77, 73,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 103, 104, 99, 91, 87, 85, 81, 82, 85, 90, 97, 103, 113, 116, 105,
+  103, 103, 104, 105, 108, 111, 112, 114, 117, 120, 121, 121, 122, 123, 124, 124,
+  123, 124, 123, 121, 119, 120, 121, 121, 120, 120, 120, 120, 120, 120, 118, 111,
+  107, 102, 101, 104, 108, 110, 112, 109, 112, 118, 120, 120, 120, 121, 122, 110,
+  106, 105, 106, 106, 105, 104, 102, 99, 97, 93, 84, 72, 129, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 104,
+  106, 101, 93, 90, 89, 84, 83, 86, 90, 93, 99, 111, 116, 108, 105, 105,
+  106, 108, 109, 111, 112, 112, 115, 118, 119, 119, 120, 121, 123, 125, 124, 125,
+  124, 122, 122, 123, 125, 122, 122, 122, 122, 122, 122, 122, 120, 114, 111, 107,
+  106, 107, 109, 112, 112, 111, 114, 119, 119, 119, 118, 118, 118, 115, 113, 111,
+  111, 111, 108, 107, 104, 98, 90, 83, 78, 73, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 105, 100,
+  95, 94, 94, 93, 92, 94, 93, 94, 98, 107, 112, 109, 109, 110, 111, 112,
+  113, 114, 114, 112, 114, 117, 119, 119, 119, 121, 120, 124, 125, 126, 125, 124,
+  124, 126, 128, 124, 124, 124, 124, 124, 124, 125, 123, 120, 115, 111, 109, 109,
+  110, 111, 111, 113, 116, 120, 119, 118, 115, 114, 115, 117, 115, 112, 110, 108,
+  104, 102, 99, 94, 85, 80, 82, 142, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 105, 103, 99, 94,
+  87, 95, 90, 88, 87, 90, 95, 103, 108, 110, 110, 113, 112, 110, 109, 112,
+  115, 113, 113, 113, 113, 113, 115, 116, 116, 119, 122, 124, 126, 130, 130, 125,
+  118, 120, 123, 124, 121, 122, 125, 126, 121, 119, 114, 111, 109, 111, 112, 117,
+  119, 117, 115, 116, 118, 121, 121, 118, 114, 119, 114, 110, 109, 109, 106, 98,
+  90, 79, 76, 75, 138, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 105, 100, 95, 88, 94,
+  90, 89, 87, 90, 96, 104, 109, 109, 110, 112, 112, 111, 110, 112, 114, 111,
+  112, 113, 114, 116, 118, 120, 121, 124, 117, 113, 118, 125, 127, 123, 119, 123,
+  126, 126, 123, 123, 126, 126, 123, 118, 114, 112, 110, 112, 113, 117, 118, 115,
+  115, 118, 119, 121, 121, 119, 117, 113, 111, 110, 104, 101, 94, 88, 83, 80,
+  80, 140, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 102, 95, 86, 94, 88, 87,
+  87, 92, 99, 106, 109, 109, 109, 112, 113, 112, 110, 110, 111, 110, 111, 113,
+  116, 119, 122, 124, 126, 120, 105, 98, 108, 122, 126, 127, 129, 125, 128, 128,
+  125, 124, 126, 125, 121, 116, 115, 114, 113, 113, 113, 115, 116, 112, 115, 117,
+  118, 120, 119, 119, 119, 113, 112, 108, 99, 90, 83, 81, 81, 84, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 103, 94, 82, 91, 85, 85, 86, 94,
+  100, 108, 111, 112, 111, 113, 113, 112, 109, 108, 107, 110, 111, 114, 117, 120,
+  123, 125, 126, 121, 106, 100, 110, 120, 122, 125, 132, 126, 129, 129, 125, 123,
+  124, 122, 118, 112, 112, 112, 111, 111, 110, 112, 112, 107, 111, 115, 115, 114,
+  112, 113, 115, 114, 108, 99, 89, 82, 80, 81, 140, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 100, 91, 81, 87, 82, 81, 85, 91, 99, 107,
+  108, 113, 111, 110, 110, 109, 106, 104, 102, 109, 111, 113, 116, 118, 120, 120,
+  120, 127, 120, 117, 120, 120, 116, 118, 125, 124, 127, 127, 123, 121, 121, 118,
+  113, 108, 108, 108, 107, 109, 109, 110, 110, 107, 110, 115, 114, 110, 107, 107,
+  109, 106, 97, 83, 76, 75, 80, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 93, 81, 83, 77, 76, 82, 89, 98, 104, 105, 114,
+  110, 108, 107, 107, 107, 105, 103, 111, 113, 115, 118, 119, 119, 119, 119, 119,
+  122, 124, 124, 122, 122, 124, 126, 121, 125, 125, 122, 119, 119, 115, 110, 106,
+  106, 104, 104, 105, 105, 108, 108, 110, 111, 114, 111, 107, 103, 101, 101, 92,
+  81, 70, 67, 133, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 86, 87, 80, 78, 84, 92, 102, 107, 107, 112, 107, 104,
+  104, 106, 109, 109, 108, 112, 114, 117, 120, 121, 122, 121, 120, 114, 122, 124,
+  120, 122, 130, 130, 124, 119, 123, 124, 121, 119, 119, 115, 109, 109, 107, 105,
+  103, 103, 104, 108, 109, 111, 109, 108, 105, 102, 97, 92, 89, 80, 77, 74,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 91, 97, 89, 87, 92, 100, 106, 108, 107, 107, 104, 100, 101, 106,
+  111, 113, 113, 112, 117, 120, 123, 126, 126, 126, 125, 127, 132, 130, 116, 120,
+  128, 126, 108, 120, 123, 126, 121, 122, 119, 117, 112, 112, 110, 107, 105, 104,
+  106, 108, 110, 110, 106, 101, 98, 95, 90, 84, 78, 77, 139, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 91, 92, 97, 100, 101, 101, 103, 108, 105, 104, 103, 103, 105, 110, 113,
+  115, 122, 124, 125, 126, 127, 128, 129, 129, 130, 125, 124, 123, 128, 126, 126,
+  121, 125, 121, 122, 120, 122, 118, 117, 114, 109, 104, 100, 101, 107, 111, 110,
+  107, 114, 108, 98, 89, 82, 79, 79, 80, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  90, 94, 99, 99, 100, 98, 100, 106, 106, 103, 102, 104, 108, 111, 113, 118,
+  119, 121, 122, 125, 125, 126, 125, 129, 126, 123, 125, 127, 129, 126, 123, 126,
+  124, 122, 119, 116, 111, 104, 99, 102, 109, 113, 108, 99, 98, 106, 116, 106,
+  99, 89, 80, 78, 82, 144, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 93,
+  99, 103, 105, 106, 105, 110, 110, 109, 108, 108, 110, 113, 114, 115, 117, 121,
+  122, 126, 124, 125, 123, 122, 120, 117, 119, 122, 123, 123, 121, 119, 118, 116,
+  116, 114, 110, 105, 101, 103, 103, 102, 104, 105, 106, 104, 101, 89, 85, 81,
+  79, 82, 144, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 97, 103,
+  109, 110, 109, 108, 108, 108, 107, 106, 106, 108, 110, 111, 114, 116, 120, 123,
+  123, 122, 121, 116, 114, 112, 113, 117, 118, 118, 115, 112, 110, 108, 107, 107,
+  106, 105, 103, 106, 101, 97, 99, 103, 99, 87, 75, 76, 79, 84, 145, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 94, 101, 104,
+  105, 102, 102, 104, 103, 101, 99, 100, 103, 103, 106, 108, 112, 113, 113, 112,
+  111, 113, 110, 108, 110, 113, 114, 114, 111, 113, 108, 102, 97, 96, 95, 94,
+  93, 99, 102, 102, 92, 77, 68, 68, 72, 139, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 99, 101, 103,
+  104, 107, 107, 102, 101, 101, 102, 102, 104, 107, 108, 110, 108, 108, 109, 112,
+  109, 109, 107, 112, 113, 110, 107, 110, 105, 98, 94, 93, 94, 94, 94, 90,
+  86, 79, 72, 69, 73, 81, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 103, 105, 108,
+  109, 104, 102, 103, 104, 105, 105, 106, 107, 107, 107, 107, 107, 111, 107, 105,
+  104, 107, 107, 104, 101, 101, 98, 94, 92, 92, 91, 89, 88, 85, 76, 69,
+  74, 88, 99, 152, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 99, 105, 105, 102,
+  98, 98, 100, 106, 104, 105, 104, 103, 103, 103, 105, 109, 105, 102, 101, 103,
+  103, 99, 96, 98, 94, 90, 86, 82, 75, 68, 63, 79, 89, 100, 104, 153,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 107, 109,
+  109, 104, 102, 103, 107, 107, 102, 102, 106, 105, 109, 110, 107, 102, 99, 94,
+  92, 93, 75, 83, 71, 73, 88, 75, 87, 97, 150, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 205, 99, 99, 102, 110, 112, 111, 108, 101, 95, 91, 85, 73,
+  74, 78, 79, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 };
+/* Define image 'enemy11' of size 131x168x1x3 and type 'const unsigned char' */
+const unsigned char data_enemy11[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 217, 134, 132, 132, 129, 123,
+  119, 121, 126, 116, 105, 102, 105, 110, 111, 112, 144, 222, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 147, 145, 146, 143, 141, 136, 122, 116, 119,
+  124, 122, 111, 107, 108, 107, 109, 106, 92, 83, 92, 123, 149, 134, 125, 121,
+  132, 147, 152, 149, 146, 133, 174, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 220, 143, 144, 139, 140, 136, 130, 109, 85, 64,
+  53, 53, 51, 42, 44, 54, 61, 60, 66, 61, 52, 34, 29, 51, 97, 136,
+  143, 120, 101, 72, 97, 130, 159, 139, 142, 144, 151, 157, 155, 149, 183, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 244, 208, 170, 145, 145, 138, 128, 131, 124, 115, 107, 95,
+  77, 54, 36, 41, 41, 37, 30, 28, 35, 40, 39, 45, 46, 42, 31, 25,
+  39, 69, 96, 147, 125, 126, 77, 79, 73, 132, 148, 155, 148, 144, 144, 145,
+  143, 145, 145, 150, 180, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 244, 204, 160, 137, 217, 140, 134, 116, 85, 58, 45, 40,
+  36, 35, 37, 36, 31, 25, 29, 29, 25, 21, 21, 25, 26, 25, 24, 28,
+  28, 25, 22, 25, 35, 46, 115, 103, 135, 93, 86, 37, 94, 121, 122, 123,
+  132, 148, 159, 158, 152, 148, 147, 143, 142, 147, 150, 186, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 202, 88, 75, 60, 51, 44, 32,
+  21, 26, 21, 16, 15, 19, 22, 22, 20, 21, 20, 21, 19, 21, 22, 24,
+  21, 17, 18, 22, 23, 22, 20, 19, 20, 42, 36, 72, 59, 57, 15, 41,
+  50, 52, 62, 84, 110, 126, 129, 126, 124, 136, 132, 135, 147, 159, 159, 155,
+  150, 182, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 220, 94, 46, 44, 34, 22,
+  16, 19, 24, 26, 36, 32, 27, 24, 25, 25, 23, 19, 17, 16, 17, 17,
+  19, 16, 16, 16, 19, 17, 17, 18, 21, 20, 17, 16, 31, 26, 32, 35,
+  32, 32, 39, 37, 38, 41, 48, 58, 66, 76, 92, 108, 124, 118, 120, 132,
+  150, 153, 152, 147, 165, 148, 130, 140, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 83, 39, 37, 20,
+  29, 36, 35, 30, 29, 27, 25, 16, 15, 15, 17, 19, 21, 20, 19, 22,
+  18, 17, 19, 18, 12, 11, 12, 20, 15, 12, 12, 16, 17, 20, 19, 16,
+  21, 17, 24, 11, 31, 29, 21, 49, 48, 50, 50, 50, 58, 78, 98, 93,
+  90, 90, 101, 117, 133, 147, 157, 134, 153, 142, 125, 70, 93, 150, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 23, 23,
+  26, 23, 28, 25, 18, 8, 6, 12, 20, 23, 25, 24, 22, 21, 19, 16,
+  13, 11, 23, 18, 17, 19, 18, 11, 9, 12, 17, 11, 7, 7, 10, 14,
+  17, 18, 22, 28, 40, 46, 41, 46, 43, 30, 32, 36, 44, 49, 49, 48,
+  54, 62, 57, 59, 64, 68, 72, 85, 112, 136, 116, 155, 152, 124, 63, 120,
+  112, 55, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 183,
+  19, 26, 29, 23, 22, 17, 17, 18, 17, 19, 22, 20, 14, 16, 16, 17,
+  18, 20, 20, 20, 20, 16, 11, 10, 15, 13, 8, 8, 13, 15, 12, 9,
+  9, 10, 14, 16, 18, 24, 14, 32, 34, 49, 40, 47, 32, 35, 36, 41,
+  47, 49, 44, 42, 43, 45, 54, 63, 56, 41, 41, 66, 95, 141, 128, 114,
+  117, 55, 90, 78, 34, 84, 130, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 184, 19, 16, 19, 19, 16, 14, 15, 16, 17, 13, 15, 21, 22, 17,
+  24, 18, 17, 22, 30, 33, 27, 18, 20, 16, 11, 8, 8, 8, 9, 8,
+  9, 13, 14, 13, 14, 18, 24, 26, 25, 35, 41, 39, 46, 54, 53, 43,
+  29, 31, 34, 35, 36, 35, 35, 35, 37, 46, 51, 49, 50, 53, 54, 50,
+  86, 114, 134, 92, 50, 86, 102, 43, 39, 99, 140, 134, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 184, 28, 18, 16, 16, 15, 13, 15, 13, 15, 13, 11, 16,
+  21, 20, 14, 24, 19, 17, 19, 25, 28, 26, 21, 22, 17, 16, 14, 15,
+  16, 17, 16, 15, 15, 15, 16, 19, 23, 25, 24, 24, 26, 33, 42, 46,
+  43, 38, 36, 34, 31, 29, 31, 35, 36, 35, 32, 32, 39, 43, 40, 38,
+  41, 41, 37, 62, 64, 88, 91, 71, 80, 93, 76, 45, 67, 99, 145, 183,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 181, 22, 19, 20, 20, 16, 12, 13, 17, 18, 17,
+  15, 14, 20, 24, 21, 14, 23, 20, 17, 17, 19, 22, 23, 23, 18, 16,
+  14, 15, 18, 19, 19, 18, 23, 18, 15, 17, 24, 26, 25, 22, 29, 24,
+  32, 48, 51, 38, 30, 33, 36, 29, 22, 23, 29, 33, 32, 29, 27, 33,
+  37, 37, 37, 42, 43, 43, 57, 52, 70, 94, 93, 79, 83, 97, 61, 61,
+  70, 137, 170, 152, 179, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 184, 22, 18, 19, 21, 21, 15, 11, 11,
+  14, 20, 17, 16, 18, 24, 26, 21, 15, 21, 21, 20, 19, 19, 19, 21,
+  23, 16, 14, 13, 15, 17, 18, 18, 18, 23, 18, 16, 20, 22, 22, 24,
+  27, 35, 33, 37, 47, 48, 38, 31, 30, 31, 25, 19, 17, 20, 24, 26,
+  28, 28, 32, 33, 34, 34, 36, 40, 42, 34, 48, 54, 62, 68, 58, 55,
+  71, 65, 70, 62, 110, 114, 105, 102, 125, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 178, 35, 17, 20, 18, 16, 15,
+  14, 14, 13, 11, 18, 15, 17, 22, 27, 26, 20, 16, 19, 22, 24, 24,
+  21, 19, 19, 20, 21, 19, 17, 18, 20, 22, 22, 23, 22, 20, 21, 23,
+  20, 19, 26, 37, 34, 37, 36, 31, 30, 32, 28, 19, 19, 19, 17, 13,
+  11, 13, 19, 27, 37, 36, 32, 28, 22, 19, 20, 21, 12, 39, 39, 34,
+  44, 42, 40, 61, 56, 60, 52, 95, 90, 71, 72, 102, 170, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 69, 20, 29, 15, 14,
+  13, 10, 9, 12, 18, 18, 15, 15, 15, 19, 26, 29, 26, 22, 21, 20,
+  22, 25, 25, 22, 20, 18, 17, 22, 20, 19, 19, 21, 24, 26, 26, 23,
+  23, 30, 33, 28, 22, 30, 45, 38, 41, 37, 24, 23, 30, 27, 16, 14,
+  18, 20, 17, 12, 12, 20, 29, 45, 41, 36, 31, 27, 23, 24, 30, 28,
+  37, 36, 36, 44, 36, 38, 64, 58, 44, 40, 94, 102, 58, 45, 69, 109,
+  98, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176, 18, 24, 13,
+  27, 17, 11, 14, 12, 10, 14, 21, 23, 21, 19, 21, 29, 37, 37, 30,
+  29, 33, 23, 22, 21, 21, 20, 19, 17, 17, 24, 22, 20, 19, 22, 27,
+  33, 35, 31, 31, 39, 47, 43, 33, 34, 43, 46, 42, 36, 30, 28, 28,
+  25, 22, 16, 19, 22, 22, 21, 21, 25, 30, 48, 44, 40, 39, 38, 37,
+  42, 50, 37, 33, 27, 30, 35, 29, 28, 42, 54, 38, 36, 73, 96, 52,
+  42, 47, 71, 53, 79, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 20,
+  21, 10, 18, 8, 18, 13, 19, 20, 16, 17, 23, 25, 24, 24, 29, 37,
+  46, 45, 38, 37, 43, 26, 22, 18, 16, 17, 17, 18, 18, 32, 31, 28,
+  28, 32, 39, 45, 48, 39, 38, 47, 60, 59, 46, 39, 40, 51, 38, 33,
+  37, 34, 24, 21, 26, 22, 23, 26, 29, 32, 33, 32, 32, 49, 43, 39,
+  38, 35, 32, 37, 46, 38, 38, 31, 23, 32, 43, 40, 28, 36, 37, 35,
+  36, 66, 49, 58, 48, 52, 87, 121, 105, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  187, 29, 11, 9, 14, 13, 12, 13, 14, 11, 17, 18, 11, 15, 26, 27,
+  26, 28, 39, 40, 28, 29, 43, 46, 37, 27, 16, 14, 19, 23, 21, 19,
+  27, 40, 38, 23, 45, 63, 48, 54, 70, 56, 66, 66, 74, 48, 53, 57,
+  40, 28, 43, 34, 33, 39, 21, 28, 31, 29, 27, 30, 40, 46, 40, 31,
+  45, 50, 46, 35, 29, 34, 39, 40, 57, 42, 27, 23, 32, 37, 35, 29,
+  39, 28, 29, 44, 54, 55, 60, 71, 73, 83, 104, 98, 155, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 211, 76, 33, 17, 8, 7, 11, 11, 9, 9, 9, 7, 14, 18, 13,
+  19, 29, 29, 18, 21, 33, 33, 28, 37, 50, 49, 45, 27, 17, 24, 27,
+  20, 18, 27, 43, 54, 52, 36, 54, 72, 59, 64, 99, 73, 71, 69, 77,
+  50, 57, 66, 60, 44, 50, 37, 37, 43, 29, 34, 24, 41, 59, 59, 51,
+  42, 39, 36, 40, 43, 38, 29, 26, 29, 32, 31, 44, 33, 22, 21, 28,
+  32, 31, 26, 34, 33, 34, 40, 50, 59, 62, 60, 83, 66, 71, 67, 109,
+  159, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 210, 94, 66, 15, 8, 6, 9, 12, 10, 7, 7, 7, 5,
+  13, 18, 15, 20, 29, 26, 12, 16, 24, 24, 27, 48, 61, 50, 49, 28,
+  19, 29, 28, 15, 17, 35, 55, 66, 71, 61, 78, 100, 93, 98, 101, 84,
+  79, 67, 80, 70, 76, 69, 73, 57, 56, 41, 40, 43, 36, 38, 37, 60,
+  83, 80, 65, 49, 46, 45, 39, 40, 35, 29, 24, 26, 26, 24, 31, 26,
+  22, 22, 27, 30, 30, 28, 35, 40, 38, 34, 44, 59, 59, 45, 80, 52,
+  65, 77, 98, 107, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 210, 139, 138, 87, 28, 10, 9, 10, 12, 13, 12, 11,
+  11, 11, 6, 13, 18, 15, 19, 23, 18, 11, 14, 18, 18, 27, 54, 65,
+  46, 39, 26, 18, 23, 22, 19, 28, 47, 52, 64, 79, 75, 89, 112, 108,
+  109, 95, 97, 98, 74, 92, 96, 94, 64, 77, 70, 68, 58, 52, 51, 49,
+  53, 67, 76, 82, 81, 75, 69, 60, 52, 45, 43, 39, 34, 31, 28, 26,
+  22, 26, 25, 25, 26, 27, 31, 35, 40, 42, 42, 36, 32, 40, 53, 51,
+  40, 53, 35, 60, 81, 86, 102, 86, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 92, 52, 30, 20, 16, 11, 11, 11, 10,
+  10, 12, 15, 15, 13, 6, 11, 16, 14, 19, 22, 13, 9, 10, 14, 14,
+  22, 47, 53, 34, 25, 25, 21, 14, 18, 32, 48, 61, 73, 85, 107, 104,
+  108, 127, 122, 117, 128, 120, 121, 105, 115, 102, 97, 74, 82, 91, 94, 92,
+  83, 75, 80, 83, 88, 89, 89, 87, 88, 87, 79, 67, 58, 54, 51, 46,
+  39, 33, 28, 27, 29, 28, 30, 29, 29, 34, 43, 49, 48, 39, 29, 31,
+  38, 43, 45, 45, 51, 41, 59, 69, 64, 93, 71, 120, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 197, 37, 23, 24, 21, 20, 20, 13,
+  12, 10, 6, 8, 13, 18, 17, 16, 7, 9, 15, 16, 22, 25, 15, 7,
+  7, 13, 11, 15, 31, 34, 19, 19, 26, 23, 15, 24, 49, 66, 72, 89,
+  101, 129, 127, 125, 144, 142, 133, 157, 125, 123, 126, 131, 95, 98, 110, 91,
+  105, 107, 112, 104, 94, 104, 104, 92, 100, 106, 104, 99, 97, 93, 87, 75,
+  71, 68, 60, 48, 36, 31, 34, 32, 31, 30, 29, 29, 34, 43, 50, 49,
+  40, 32, 35, 39, 42, 45, 50, 50, 51, 59, 63, 57, 79, 56, 83, 110,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 202, 47, 26, 28, 19, 14,
+  20, 18, 12, 10, 9, 5, 9, 18, 21, 18, 24, 12, 12, 16, 18, 24,
+  27, 16, 8, 6, 15, 17, 12, 17, 19, 11, 18, 21, 22, 25, 36, 55,
+  68, 77, 88, 97, 127, 125, 118, 138, 141, 133, 152, 126, 130, 131, 135, 106,
+  120, 139, 106, 115, 106, 114, 111, 102, 117, 112, 105, 113, 117, 114, 111, 110,
+  108, 103, 93, 89, 85, 74, 57, 42, 38, 44, 32, 33, 33, 32, 32, 35,
+  42, 45, 51, 53, 50, 41, 39, 44, 44, 40, 34, 39, 41, 55, 57, 55,
+  35, 43, 20, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 117, 57, 26, 18,
+  17, 6, 19, 27, 3, 12, 12, 9, 7, 13, 24, 26, 21, 34, 20, 16,
+  19, 19, 24, 26, 14, 14, 11, 21, 25, 15, 11, 13, 10, 21, 15, 20,
+  34, 47, 54, 62, 78, 113, 116, 144, 136, 123, 142, 147, 138, 142, 145, 153,
+  133, 135, 127, 143, 143, 121, 125, 106, 113, 115, 108, 124, 115, 127, 122, 115,
+  112, 118, 124, 122, 113, 108, 105, 100, 88, 67, 48, 47, 55, 36, 35, 36,
+  37, 37, 38, 40, 40, 57, 72, 70, 47, 38, 45, 41, 25, 46, 44, 35,
+  54, 65, 50, 44, 49, 60, 99, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 46,
+  14, 16, 17, 16, 14, 14, 15, 16, 9, 14, 17, 14, 12, 15, 22, 26,
+  31, 30, 26, 22, 21, 20, 17, 13, 7, 43, 45, 51, 41, 16, 26, 29,
+  25, 17, 41, 64, 70, 89, 60, 104, 115, 117, 151, 134, 130, 147, 134, 156,
+  153, 148, 147, 149, 150, 146, 149, 154, 145, 142, 143, 143, 139, 131, 131, 135,
+  138, 135, 132, 131, 131, 130, 126, 122, 119, 126, 118, 93, 73, 67, 70, 70,
+  55, 53, 48, 45, 46, 49, 50, 49, 56, 54, 54, 55, 46, 34, 27, 26,
+  22, 28, 36, 40, 44, 51, 58, 64, 52, 87, 95, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 202, 22, 14, 15, 15, 15, 13, 12, 13, 14, 13, 15, 15, 11, 11,
+  15, 17, 18, 19, 20, 20, 19, 17, 16, 12, 10, 39, 58, 38, 37, 40,
+  30, 30, 18, 37, 21, 59, 67, 76, 74, 74, 137, 127, 126, 155, 139, 136,
+  152, 137, 155, 151, 148, 148, 150, 151, 148, 150, 156, 144, 142, 143, 143, 140,
+  135, 136, 140, 137, 130, 128, 131, 139, 142, 138, 132, 121, 126, 122, 103, 82,
+  72, 72, 73, 63, 58, 54, 51, 51, 52, 52, 51, 61, 56, 53, 53, 48,
+  38, 32, 31, 33, 32, 31, 30, 35, 48, 60, 69, 42, 92, 67, 170, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 55, 14, 14, 15, 15, 14, 12, 11, 12, 13, 19, 20,
+  16, 11, 11, 15, 14, 10, 14, 14, 14, 14, 13, 13, 15, 18, 43, 61,
+  48, 39, 36, 25, 26, 19, 13, 32, 97, 89, 99, 80, 89, 130, 137, 134,
+  155, 141, 141, 154, 139, 150, 149, 148, 149, 152, 153, 150, 152, 156, 145, 142,
+  142, 144, 144, 140, 143, 147, 144, 136, 131, 133, 142, 145, 137, 128, 132, 133,
+  131, 119, 101, 84, 81, 87, 68, 64, 59, 58, 61, 62, 64, 63, 69, 62,
+  56, 55, 51, 45, 38, 36, 29, 29, 32, 39, 49, 58, 63, 66, 58, 60,
+  92, 51, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 40, 27, 15, 14, 15, 15, 14, 12, 11, 11,
+  13, 21, 25, 23, 15, 12, 15, 15, 10, 17, 15, 13, 13, 13, 15, 22,
+  31, 35, 46, 44, 46, 43, 26, 16, 20, 23, 66, 105, 69, 73, 95, 117,
+  138, 139, 136, 148, 139, 141, 152, 140, 144, 147, 149, 151, 153, 154, 153, 155,
+  157, 150, 147, 146, 147, 147, 146, 150, 153, 151, 145, 142, 143, 148, 147, 140,
+  133, 145, 142, 142, 137, 121, 103, 101, 110, 93, 83, 75, 71, 69, 69, 70,
+  73, 76, 70, 63, 59, 58, 53, 45, 37, 29, 27, 31, 44, 57, 64, 70,
+  72, 75, 58, 70, 48, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 40, 27, 16, 8, 13, 14, 14, 14,
+  12, 12, 13, 14, 17, 26, 26, 17, 12, 17, 19, 14, 15, 12, 12, 17,
+  19, 18, 23, 31, 46, 26, 20, 38, 54, 35, 12, 19, 42, 82, 89, 71,
+  69, 116, 127, 137, 141, 138, 143, 138, 143, 152, 144, 143, 147, 151, 153, 153,
+  155, 156, 157, 157, 159, 154, 152, 152, 153, 152, 153, 157, 150, 149, 152, 154,
+  155, 153, 151, 150, 149, 145, 145, 143, 133, 119, 119, 129, 127, 112, 98, 89,
+  80, 75, 74, 79, 80, 77, 71, 69, 70, 66, 57, 49, 50, 36, 28, 32,
+  42, 55, 70, 82, 70, 64, 41, 74, 70, 154, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 28, 20, 15, 8, 12,
+  14, 14, 15, 14, 14, 16, 17, 12, 22, 24, 16, 16, 26, 27, 20, 13,
+  8, 10, 19, 23, 19, 18, 23, 48, 26, 23, 33, 40, 28, 16, 43, 56,
+  78, 77, 99, 104, 130, 123, 137, 145, 145, 145, 143, 148, 154, 152, 147, 150,
+  154, 155, 153, 154, 157, 158, 157, 163, 157, 155, 157, 158, 155, 155, 157, 149,
+  152, 157, 156, 153, 149, 148, 148, 145, 144, 145, 140, 133, 126, 128, 135, 137,
+  122, 108, 104, 98, 93, 93, 100, 87, 87, 83, 78, 80, 80, 74, 68, 57,
+  44, 37, 38, 42, 45, 56, 67, 62, 46, 58, 55, 79, 81, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176, 15, 11,
+  15, 12, 11, 13, 14, 15, 15, 16, 19, 21, 15, 21, 20, 17, 28, 45,
+  43, 28, 32, 17, 9, 14, 21, 21, 24, 30, 39, 36, 45, 30, 27, 30,
+  32, 67, 84, 87, 80, 100, 121, 133, 146, 164, 150, 154, 149, 149, 153, 155,
+  157, 151, 153, 157, 157, 152, 153, 157, 159, 158, 162, 157, 155, 158, 160, 158,
+  157, 158, 154, 153, 157, 155, 153, 148, 144, 140, 141, 148, 151, 144, 138, 136,
+  135, 134, 133, 121, 114, 118, 118, 112, 110, 117, 105, 105, 97, 88, 86, 88,
+  89, 85, 58, 50, 50, 55, 52, 44, 43, 51, 55, 53, 58, 64, 66, 86,
+  142, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  17, 21, 12, 13, 8, 11, 13, 14, 16, 16, 18, 21, 23, 21, 22, 18,
+  19, 40, 61, 55, 35, 58, 31, 8, 7, 14, 22, 35, 50, 41, 41, 45,
+  24, 34, 58, 50, 67, 68, 89, 110, 117, 153, 150, 162, 152, 156, 159, 152,
+  152, 154, 154, 159, 152, 155, 159, 158, 151, 151, 157, 160, 158, 159, 154, 154,
+  159, 161, 159, 157, 157, 153, 152, 154, 159, 164, 164, 159, 154, 142, 154, 159,
+  151, 146, 145, 142, 135, 138, 127, 125, 130, 129, 118, 111, 115, 124, 123, 111,
+  96, 88, 91, 95, 93, 72, 60, 54, 55, 49, 41, 48, 58, 64, 57, 66,
+  66, 77, 92, 80, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 176, 34, 14, 14, 18, 12, 9, 14, 26, 12, 8, 19, 13, 16,
+  38, 17, 20, 14, 18, 69, 44, 38, 26, 42, 4, 24, 26, 26, 32, 48,
+  65, 80, 58, 57, 57, 65, 60, 80, 97, 129, 156, 158, 153, 156, 160, 159,
+  162, 159, 158, 157, 159, 159, 159, 160, 159, 155, 151, 150, 154, 157, 160, 161,
+  162, 160, 156, 155, 155, 156, 157, 156, 157, 158, 158, 158, 158, 158, 158, 159,
+  154, 156, 158, 157, 154, 151, 150, 149, 138, 133, 130, 127, 129, 128, 124, 121,
+  121, 120, 118, 117, 115, 112, 106, 100, 100, 99, 50, 54, 57, 31, 53, 47,
+  33, 37, 38, 37, 44, 55, 55, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 18, 28, 13, 13, 13, 11, 14, 15, 27, 16, 10,
+  17, 13, 22, 24, 22, 19, 17, 10, 39, 37, 60, 17, 35, 30, 20, 21,
+  17, 33, 41, 49, 65, 78, 88, 92, 106, 109, 132, 138, 153, 164, 159, 155,
+  163, 167, 166, 161, 160, 159, 158, 160, 160, 160, 160, 159, 156, 152, 150, 154,
+  158, 160, 161, 161, 159, 157, 156, 157, 157, 157, 156, 157, 158, 159, 159, 159,
+  158, 157, 157, 160, 161, 161, 159, 154, 150, 148, 147, 154, 151, 146, 136, 128,
+  122, 125, 127, 124, 123, 122, 121, 121, 119, 113, 108, 106, 103, 71, 69, 62,
+  39, 48, 43, 43, 42, 38, 33, 33, 36, 36, 33, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 177, 17, 18, 14, 16, 9, 15, 18, 15,
+  27, 20, 13, 15, 14, 31, 25, 41, 16, 22, 14, 17, 31, 66, 23, 25,
+  48, 17, 22, 25, 38, 27, 34, 42, 92, 106, 111, 123, 126, 149, 161, 166,
+  163, 156, 157, 164, 166, 161, 162, 161, 160, 159, 161, 161, 161, 162, 162, 158,
+  155, 154, 158, 161, 163, 163, 157, 156, 155, 156, 158, 158, 158, 156, 157, 158,
+  160, 161, 160, 158, 157, 155, 161, 162, 162, 160, 156, 152, 150, 149, 160, 161,
+  156, 140, 123, 116, 123, 131, 128, 127, 127, 127, 126, 125, 123, 118, 115, 110,
+  96, 88, 74, 54, 42, 35, 41, 35, 33, 32, 31, 30, 33, 40, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 15, 17, 11, 16, 21, 9,
+  20, 19, 13, 25, 22, 15, 16, 18, 41, 41, 65, 13, 23, 26, 17, 27,
+  41, 37, 15, 39, 20, 24, 42, 36, 22, 48, 46, 110, 129, 132, 141, 141,
+  156, 155, 159, 160, 158, 160, 164, 162, 156, 163, 162, 161, 160, 162, 162, 162,
+  163, 165, 162, 159, 158, 162, 165, 166, 167, 156, 155, 156, 158, 160, 160, 159,
+  157, 157, 159, 162, 163, 162, 159, 156, 154, 157, 159, 160, 160, 159, 158, 158,
+  159, 158, 160, 157, 145, 128, 123, 129, 138, 134, 133, 132, 132, 132, 130, 128,
+  125, 123, 111, 113, 102, 89, 75, 45, 26, 31, 25, 27, 32, 32, 28, 34,
+  47, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 16, 21, 10,
+  17, 23, 8, 19, 17, 10, 21, 20, 17, 20, 23, 47, 40, 77, 19, 27,
+  33, 24, 26, 14, 39, 13, 25, 32, 20, 44, 27, 30, 55, 54, 104, 132,
+  138, 156, 155, 162, 151, 157, 161, 161, 160, 161, 161, 159, 163, 163, 162, 161,
+  162, 162, 163, 163, 165, 162, 160, 159, 163, 166, 166, 164, 157, 154, 157, 158,
+  160, 160, 159, 156, 157, 159, 163, 164, 164, 161, 157, 155, 156, 158, 159, 160,
+  160, 161, 163, 166, 161, 162, 159, 152, 145, 141, 143, 146, 141, 139, 137, 136,
+  136, 135, 133, 128, 128, 111, 117, 112, 102, 97, 62, 26, 27, 23, 26, 32,
+  28, 22, 25, 33, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 175,
+  20, 25, 13, 17, 23, 7, 13, 14, 9, 19, 16, 17, 25, 27, 45, 26,
+  66, 26, 32, 28, 26, 28, 11, 25, 23, 27, 43, 18, 30, 20, 41, 54,
+  71, 82, 121, 127, 153, 154, 155, 159, 161, 160, 156, 150, 150, 155, 161, 162,
+  162, 161, 160, 162, 162, 163, 163, 162, 160, 158, 158, 162, 164, 164, 162, 158,
+  157, 156, 157, 160, 160, 159, 158, 159, 160, 164, 165, 165, 163, 160, 159, 161,
+  162, 162, 162, 161, 161, 163, 166, 163, 162, 159, 155, 151, 147, 145, 143, 145,
+  142, 139, 137, 137, 137, 135, 133, 131, 116, 116, 118, 113, 110, 87, 34, 27,
+  25, 27, 32, 30, 26, 28, 30, 30, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 24, 18, 24, 15, 15, 24, 11, 11, 13, 10, 19, 12, 15, 29,
+  27, 36, 27, 44, 20, 35, 28, 32, 34, 21, 18, 40, 38, 41, 34, 26,
+  28, 37, 71, 114, 86, 132, 130, 161, 162, 159, 166, 163, 157, 152, 147, 145,
+  148, 154, 161, 162, 161, 160, 161, 161, 162, 162, 163, 161, 159, 160, 164, 165,
+  165, 163, 161, 158, 156, 156, 157, 158, 159, 157, 161, 162, 165, 165, 165, 164,
+  164, 164, 164, 165, 165, 163, 161, 161, 163, 165, 161, 161, 159, 155, 150, 146,
+  144, 143, 144, 140, 138, 137, 140, 138, 138, 136, 133, 127, 115, 124, 118, 115,
+  110, 48, 30, 30, 29, 29, 32, 37, 39, 35, 19, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 25, 11, 17, 13, 12, 24, 17, 14, 13, 12, 20,
+  9, 14, 31, 26, 28, 43, 29, 6, 33, 32, 42, 38, 26, 23, 53, 44,
+  32, 55, 33, 41, 23, 70, 134, 81, 134, 126, 161, 166, 162, 167, 164, 160,
+  158, 155, 151, 149, 152, 161, 161, 160, 159, 161, 161, 161, 162, 165, 163, 163,
+  163, 165, 167, 167, 165, 164, 160, 158, 156, 157, 159, 159, 159, 163, 163, 165,
+  165, 165, 166, 167, 167, 164, 165, 165, 163, 162, 162, 165, 167, 164, 165, 164,
+  159, 152, 148, 149, 152, 142, 140, 137, 139, 140, 142, 142, 139, 136, 135, 115,
+  131, 119, 114, 127, 59, 32, 33, 27, 21, 24, 34, 35, 27, 33, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 203, 22, 13, 10, 14, 18, 16, 13, 12,
+  12, 13, 16, 19, 24, 27, 30, 32, 38, 42, 37, 17, 59, 23, 26, 28,
+  33, 32, 26, 42, 41, 24, 27, 28, 86, 114, 125, 112, 132, 156, 150, 164,
+  166, 166, 163, 158, 153, 152, 157, 162, 167, 167, 163, 158, 159, 164, 165, 162,
+  157, 158, 162, 164, 165, 166, 166, 166, 169, 164, 159, 160, 164, 168, 166, 165,
+  156, 159, 163, 166, 167, 166, 165, 162, 165, 163, 164, 166, 165, 161, 162, 167,
+  162, 162, 161, 160, 157, 154, 151, 149, 145, 143, 140, 141, 143, 144, 145, 142,
+  142, 132, 125, 125, 124, 121, 119, 115, 31, 21, 27, 27, 21, 38, 47, 24,
+  35, 255, 255, 255, 255, 255, 255, 255, 255, 255, 69, 20, 11, 9, 13, 19,
+  17, 14, 13, 12, 12, 11, 12, 16, 21, 25, 30, 40, 46, 29, 25, 43,
+  36, 24, 19, 25, 26, 20, 34, 32, 17, 23, 26, 79, 108, 121, 104, 119,
+  147, 148, 161, 162, 163, 163, 159, 155, 155, 158, 163, 165, 165, 162, 158, 160,
+  166, 167, 165, 167, 166, 166, 166, 165, 165, 164, 164, 167, 164, 161, 162, 166,
+  168, 168, 165, 158, 160, 164, 166, 166, 165, 164, 161, 164, 163, 164, 166, 165,
+  161, 162, 167, 162, 162, 161, 160, 157, 154, 151, 150, 150, 147, 144, 143, 144,
+  145, 144, 141, 147, 136, 129, 127, 126, 120, 118, 112, 105, 26, 12, 12, 25,
+  22, 29, 43, 35, 255, 255, 255, 255, 255, 255, 255, 255, 255, 21, 18, 11,
+  10, 15, 21, 18, 16, 15, 15, 13, 12, 12, 14, 19, 25, 31, 39, 45,
+  24, 31, 25, 52, 28, 15, 23, 26, 19, 29, 26, 13, 23, 29, 73, 105,
+  122, 103, 114, 147, 153, 165, 159, 161, 163, 161, 158, 157, 159, 163, 163, 163,
+  161, 159, 162, 168, 170, 168, 172, 171, 169, 167, 166, 166, 167, 167, 168, 166,
+  164, 166, 170, 171, 170, 167, 161, 162, 165, 166, 166, 164, 162, 160, 165, 163,
+  164, 167, 165, 162, 163, 167, 163, 163, 162, 160, 157, 155, 152, 151, 153, 150,
+  147, 145, 145, 146, 144, 141, 149, 138, 131, 128, 128, 121, 118, 112, 119, 22,
+  5, 13, 32, 16, 16, 43, 35, 255, 255, 255, 255, 255, 255, 255, 255, 183,
+  20, 18, 11, 11, 16, 19, 16, 13, 13, 18, 17, 17, 17, 20, 25, 30,
+  35, 31, 39, 35, 31, 21, 58, 41, 21, 24, 29, 21, 27, 21, 10, 24,
+  30, 58, 91, 116, 105, 115, 148, 155, 162, 159, 162, 164, 163, 160, 158, 158,
+  161, 163, 164, 163, 160, 163, 170, 171, 168, 171, 170, 168, 166, 166, 168, 170,
+  172, 170, 169, 169, 171, 174, 174, 173, 170, 165, 166, 167, 167, 166, 164, 161,
+  160, 165, 164, 165, 167, 165, 162, 163, 167, 165, 164, 162, 160, 158, 155, 153,
+  152, 153, 150, 147, 146, 146, 147, 146, 143, 146, 136, 131, 130, 130, 126, 122,
+  118, 90, 47, 13, 25, 23, 18, 24, 31, 35, 255, 255, 255, 255, 255, 255,
+  255, 255, 22, 15, 17, 13, 13, 16, 16, 12, 10, 11, 15, 15, 17, 20,
+  25, 29, 32, 34, 25, 31, 55, 21, 24, 46, 46, 26, 24, 29, 20, 22,
+  16, 7, 22, 27, 42, 68, 102, 104, 115, 148, 153, 153, 161, 164, 166, 165,
+  160, 157, 157, 159, 165, 166, 165, 163, 165, 170, 171, 168, 173, 172, 170, 169,
+  169, 170, 173, 174, 171, 171, 171, 173, 174, 173, 172, 170, 169, 169, 169, 168,
+  167, 165, 163, 161, 166, 164, 165, 168, 166, 162, 163, 168, 166, 165, 163, 160,
+  158, 156, 154, 153, 150, 147, 145, 145, 147, 149, 148, 146, 148, 138, 133, 134,
+  133, 127, 123, 119, 104, 100, 20, 33, 11, 22, 36, 27, 34, 255, 255, 255,
+  255, 255, 255, 255, 255, 22, 17, 17, 12, 12, 14, 13, 10, 10, 13, 10,
+  11, 14, 16, 21, 24, 26, 27, 23, 30, 72, 11, 31, 32, 40, 30, 29,
+  34, 22, 23, 19, 14, 27, 30, 42, 51, 87, 101, 118, 148, 155, 152, 162,
+  165, 167, 165, 160, 157, 157, 159, 166, 167, 166, 164, 167, 172, 172, 168, 179,
+  178, 176, 174, 173, 173, 174, 174, 171, 171, 171, 172, 172, 172, 172, 171, 172,
+  172, 171, 170, 169, 167, 165, 164, 166, 164, 165, 168, 166, 163, 164, 168, 167,
+  166, 163, 161, 158, 156, 155, 155, 151, 149, 147, 147, 150, 152, 151, 151, 153,
+  145, 138, 137, 135, 129, 122, 116, 117, 113, 31, 43, 30, 35, 37, 22, 30,
+  255, 255, 255, 255, 255, 255, 255, 196, 25, 22, 15, 11, 10, 12, 13, 12,
+  15, 20, 16, 16, 17, 17, 18, 21, 24, 25, 21, 33, 76, 8, 37, 31,
+  34, 40, 31, 35, 23, 25, 26, 24, 37, 36, 56, 45, 73, 96, 117, 148,
+  157, 156, 161, 164, 166, 164, 160, 158, 159, 162, 163, 166, 166, 165, 169, 174,
+  175, 171, 177, 177, 177, 176, 176, 175, 175, 175, 172, 172, 172, 172, 173, 173,
+  175, 176, 172, 172, 173, 172, 170, 169, 167, 167, 166, 165, 166, 168, 167, 163,
+  164, 169, 168, 167, 164, 161, 158, 157, 156, 156, 154, 152, 151, 150, 152, 153,
+  153, 153, 154, 146, 140, 139, 136, 130, 122, 119, 107, 102, 76, 42, 48, 49,
+  31, 19, 29, 255, 255, 255, 255, 255, 255, 255, 47, 20, 19, 14, 10, 9,
+  12, 14, 14, 20, 27, 27, 24, 22, 20, 20, 22, 26, 29, 22, 38, 74,
+  13, 44, 42, 34, 52, 26, 30, 18, 22, 25, 25, 40, 35, 66, 38, 57,
+  84, 108, 140, 152, 154, 159, 162, 165, 163, 159, 159, 162, 165, 161, 164, 165,
+  165, 170, 176, 178, 174, 170, 171, 172, 174, 176, 176, 177, 177, 177, 177, 177,
+  175, 176, 177, 180, 182, 174, 173, 174, 173, 172, 170, 169, 169, 166, 165, 166,
+  168, 167, 163, 164, 169, 169, 167, 164, 161, 158, 157, 156, 156, 159, 156, 155,
+  154, 154, 154, 154, 153, 151, 144, 138, 139, 138, 132, 128, 124, 108, 108, 133,
+  28, 43, 50, 29, 26, 28, 255, 255, 255, 255, 255, 255, 255, 28, 30, 22,
+  19, 14, 12, 15, 18, 17, 17, 19, 28, 30, 34, 40, 21, 14, 32, 16,
+  39, 43, 32, 38, 31, 37, 69, 48, 35, 38, 28, 35, 27, 42, 36, 36,
+  41, 43, 44, 67, 109, 148, 126, 153, 158, 161, 164, 163, 159, 158, 160, 162,
+  164, 165, 166, 167, 168, 172, 177, 181, 176, 177, 175, 174, 176, 180, 177, 171,
+  179, 180, 180, 179, 177, 175, 178, 179, 176, 174, 173, 172, 173, 171, 167, 164,
+  168, 168, 167, 165, 163, 163, 165, 168, 168, 170, 170, 164, 157, 153, 155, 159,
+  159, 155, 153, 152, 155, 155, 155, 154, 151, 147, 141, 139, 139, 134, 129, 123,
+  117, 116, 117, 39, 47, 47, 21, 32, 26, 255, 255, 255, 255, 255, 255, 255,
+  29, 32, 23, 22, 17, 15, 19, 21, 19, 19, 21, 25, 36, 26, 46, 16,
+  31, 35, 24, 36, 39, 58, 58, 39, 37, 52, 74, 27, 38, 35, 46, 37,
+  47, 33, 29, 36, 46, 60, 65, 74, 133, 140, 149, 158, 161, 164, 163, 159,
+  158, 160, 162, 164, 165, 166, 167, 168, 172, 177, 181, 179, 180, 179, 177, 180,
+  183, 181, 175, 180, 181, 182, 180, 177, 175, 177, 178, 180, 178, 177, 176, 177,
+  174, 170, 167, 167, 168, 167, 165, 164, 164, 166, 169, 166, 168, 170, 167, 162,
+  158, 158, 157, 158, 156, 153, 152, 155, 156, 155, 154, 153, 148, 145, 141, 140,
+  136, 131, 125, 118, 118, 120, 57, 44, 50, 26, 35, 21, 255, 255, 255, 255,
+  255, 255, 255, 30, 34, 26, 24, 18, 18, 22, 23, 20, 21, 23, 25, 39,
+  29, 41, 24, 39, 46, 28, 41, 39, 70, 64, 51, 46, 41, 91, 48, 54,
+  45, 53, 47, 64, 59, 61, 36, 52, 75, 63, 42, 114, 150, 148, 158, 161,
+  164, 163, 161, 160, 162, 164, 164, 165, 166, 167, 168, 171, 176, 180, 180, 182,
+  182, 180, 181, 185, 183, 178, 181, 182, 182, 180, 178, 176, 176, 177, 183, 181,
+  180, 179, 177, 174, 169, 166, 167, 167, 167, 166, 164, 165, 168, 170, 166, 167,
+  169, 169, 167, 164, 160, 157, 158, 154, 153, 152, 154, 154, 156, 155, 156, 151,
+  147, 143, 141, 137, 131, 126, 121, 118, 120, 83, 39, 53, 31, 35, 41, 255,
+  255, 255, 255, 255, 255, 73, 31, 35, 28, 24, 18, 18, 22, 23, 19, 19,
+  20, 27, 37, 36, 29, 38, 40, 56, 34, 46, 45, 53, 53, 60, 55, 44,
+  80, 54, 55, 40, 46, 43, 62, 58, 58, 41, 55, 65, 62, 44, 99, 138,
+  154, 158, 161, 164, 163, 161, 160, 162, 164, 164, 165, 166, 166, 167, 171, 176,
+  179, 179, 182, 182, 180, 181, 184, 183, 179, 180, 181, 182, 181, 179, 178, 179,
+  180, 182, 181, 180, 179, 177, 174, 169, 165, 167, 168, 168, 167, 165, 166, 169,
+  171, 171, 169, 167, 166, 166, 164, 161, 156, 159, 154, 153, 152, 154, 156, 157,
+  157, 159, 155, 150, 146, 144, 140, 134, 127, 124, 119, 121, 106, 36, 51, 32,
+  33, 40, 255, 255, 255, 255, 255, 255, 53, 33, 33, 30, 28, 22, 21, 24,
+  27, 23, 20, 20, 23, 39, 26, 32, 40, 54, 59, 48, 34, 52, 39, 50,
+  66, 53, 52, 56, 55, 58, 51, 63, 61, 74, 58, 48, 50, 56, 41, 60,
+  68, 89, 111, 158, 156, 161, 164, 163, 161, 160, 162, 164, 164, 165, 166, 166,
+  167, 170, 175, 178, 179, 183, 184, 182, 182, 185, 185, 182, 179, 180, 182, 181,
+  180, 180, 182, 184, 181, 180, 181, 180, 180, 176, 171, 166, 169, 169, 169, 168,
+  166, 166, 169, 171, 176, 172, 167, 163, 161, 161, 160, 157, 157, 153, 152, 153,
+  155, 157, 159, 158, 160, 156, 151, 147, 145, 141, 136, 131, 127, 123, 120, 122,
+  38, 48, 31, 31, 47, 255, 255, 255, 255, 255, 255, 41, 35, 28, 30, 32,
+  26, 25, 29, 31, 26, 22, 22, 16, 41, 11, 44, 38, 67, 59, 68, 20,
+  50, 45, 65, 70, 51, 58, 45, 60, 69, 66, 83, 83, 104, 97, 95, 61,
+  59, 28, 59, 78, 81, 99, 155, 156, 160, 164, 163, 161, 160, 162, 164, 164,
+  165, 166, 166, 166, 169, 174, 177, 181, 186, 188, 186, 185, 188, 188, 187, 180,
+  181, 183, 182, 181, 181, 183, 185, 182, 181, 183, 184, 184, 180, 175, 170, 171,
+  171, 171, 169, 167, 166, 169, 171, 177, 174, 168, 163, 159, 158, 160, 159, 157,
+  154, 152, 152, 155, 158, 160, 159, 160, 156, 151, 147, 147, 143, 137, 132, 129,
+  126, 118, 125, 46, 43, 30, 33, 33, 255, 255, 255, 255, 255, 255, 35, 37,
+  23, 31, 34, 28, 27, 30, 32, 27, 23, 22, 23, 36, 25, 37, 58, 55,
+  66, 77, 41, 41, 54, 76, 75, 60, 60, 58, 47, 64, 67, 83, 78, 103,
+  111, 122, 76, 74, 44, 62, 62, 79, 116, 150, 156, 160, 164, 163, 161, 160,
+  162, 164, 164, 165, 166, 165, 166, 169, 173, 177, 180, 186, 189, 186, 185, 187,
+  189, 188, 184, 184, 185, 184, 181, 180, 181, 183, 180, 180, 183, 184, 184, 181,
+  175, 172, 173, 173, 172, 169, 167, 166, 168, 170, 174, 174, 172, 167, 161, 159,
+  161, 163, 157, 154, 153, 152, 156, 158, 159, 158, 158, 155, 150, 147, 147, 144,
+  138, 134, 128, 127, 118, 123, 57, 41, 33, 38, 47, 255, 255, 255, 255, 255,
+  255, 33, 38, 21, 33, 33, 28, 28, 31, 31, 25, 21, 20, 37, 27, 51,
+  17, 88, 30, 76, 75, 75, 33, 55, 75, 77, 78, 64, 73, 40, 69, 87,
+  100, 84, 94, 98, 109, 89, 91, 68, 71, 42, 82, 141, 146, 156, 160, 163,
+  162, 159, 158, 160, 164, 166, 167, 168, 167, 168, 170, 175, 176, 179, 183, 187,
+  184, 182, 185, 187, 185, 187, 187, 188, 185, 181, 179, 179, 180, 176, 177, 180,
+  182, 182, 179, 174, 170, 175, 175, 173, 170, 167, 166, 167, 169, 169, 173, 175,
+  171, 165, 161, 164, 165, 160, 157, 155, 155, 157, 159, 159, 159, 157, 154, 150,
+  149, 147, 145, 139, 135, 127, 127, 116, 120, 69, 42, 37, 44, 49, 255, 255,
+  255, 255, 255, 144, 65, 29, 38, 42, 41, 32, 23, 21, 30, 36, 31, 21,
+  28, 38, 38, 35, 59, 64, 52, 84, 52, 64, 44, 84, 71, 55, 64, 72,
+  81, 47, 92, 78, 76, 96, 118, 106, 81, 92, 129, 86, 64, 88, 145, 146,
+  157, 157, 157, 160, 158, 155, 158, 166, 172, 171, 170, 170, 171, 172, 174, 174,
+  181, 180, 182, 184, 186, 188, 188, 188, 186, 182, 180, 179, 180, 181, 181, 180,
+  172, 174, 178, 181, 181, 179, 177, 175, 175, 174, 175, 177, 173, 167, 166, 169,
+  170, 172, 169, 164, 162, 164, 164, 162, 161, 159, 158, 158, 159, 160, 159, 158,
+  160, 157, 155, 154, 151, 146, 140, 134, 123, 123, 121, 111, 90, 37, 43, 46,
+  40, 255, 255, 255, 255, 255, 138, 88, 34, 35, 40, 38, 36, 33, 28, 29,
+  31, 29, 24, 35, 41, 40, 33, 53, 58, 53, 86, 58, 72, 56, 70, 82,
+  61, 76, 67, 82, 52, 86, 83, 81, 95, 121, 101, 95, 101, 116, 76, 71,
+  99, 147, 151, 157, 156, 158, 159, 158, 155, 159, 167, 171, 172, 172, 172, 173,
+  175, 175, 176, 179, 180, 181, 184, 186, 187, 186, 187, 182, 180, 180, 180, 181,
+  180, 178, 175, 173, 174, 178, 179, 178, 177, 175, 174, 172, 171, 172, 175, 173,
+  168, 167, 171, 173, 174, 172, 166, 164, 166, 166, 163, 164, 163, 159, 159, 159,
+  160, 158, 157, 158, 157, 153, 151, 150, 146, 141, 137, 130, 124, 121, 110, 92,
+  41, 51, 54, 46, 255, 255, 255, 255, 255, 128, 116, 35, 28, 36, 33, 38,
+  41, 35, 28, 26, 26, 25, 35, 39, 40, 32, 46, 54, 55, 91, 57, 79,
+  65, 58, 92, 70, 85, 64, 80, 60, 80, 94, 87, 91, 124, 98, 106, 110,
+  97, 67, 87, 116, 150, 157, 157, 157, 159, 160, 159, 156, 160, 167, 169, 171,
+  171, 171, 173, 175, 175, 177, 176, 178, 181, 184, 184, 185, 185, 184, 184, 184,
+  186, 187, 187, 184, 182, 178, 177, 177, 178, 177, 176, 174, 173, 172, 172, 171,
+  172, 174, 171, 166, 165, 169, 173, 174, 172, 166, 164, 165, 165, 162, 164, 162,
+  159, 159, 159, 159, 157, 155, 156, 154, 150, 149, 147, 144, 141, 138, 131, 122,
+  113, 103, 90, 43, 53, 53, 51, 255, 255, 255, 255, 255, 120, 129, 33, 24,
+  34, 31, 40, 44, 38, 30, 27, 27, 26, 25, 30, 41, 36, 45, 54, 58,
+  88, 50, 79, 63, 65, 96, 78, 86, 69, 76, 66, 80, 107, 90, 85, 124,
+  100, 101, 114, 88, 78, 114, 134, 152, 161, 158, 158, 161, 162, 161, 157, 160,
+  168, 168, 170, 170, 171, 173, 175, 176, 178, 177, 178, 181, 184, 184, 184, 184,
+  183, 187, 187, 186, 187, 187, 185, 182, 179, 179, 178, 177, 175, 173, 171, 170,
+  171, 178, 175, 174, 174, 170, 163, 162, 165, 171, 172, 169, 163, 161, 163, 163,
+  160, 163, 160, 158, 158, 159, 159, 158, 156, 155, 151, 149, 148, 147, 145, 142,
+  140, 130, 119, 111, 103, 92, 47, 53, 51, 54, 255, 255, 255, 255, 255, 119,
+  115, 28, 23, 32, 34, 39, 41, 36, 34, 31, 29, 26, 17, 22, 43, 43,
+  47, 53, 53, 76, 45, 75, 57, 85, 94, 85, 87, 81, 73, 68, 84, 118,
+  90, 84, 121, 107, 88, 116, 92, 105, 142, 148, 153, 164, 159, 160, 164, 166,
+  164, 159, 161, 168, 168, 169, 169, 170, 170, 173, 175, 177, 178, 179, 180, 182,
+  183, 184, 184, 184, 185, 184, 182, 181, 181, 181, 180, 179, 180, 179, 179, 177,
+  174, 172, 170, 169, 179, 176, 174, 174, 169, 163, 162, 166, 169, 170, 168, 162,
+  161, 163, 163, 161, 160, 158, 157, 157, 158, 159, 159, 158, 153, 151, 150, 149,
+  148, 147, 144, 141, 130, 120, 115, 110, 101, 55, 57, 51, 54, 255, 255, 255,
+  255, 255, 130, 81, 23, 24, 28, 37, 39, 37, 32, 33, 37, 36, 32, 20,
+  21, 45, 49, 48, 53, 49, 62, 45, 68, 55, 94, 86, 89, 96, 85, 76,
+  64, 87, 123, 90, 90, 116, 113, 85, 120, 100, 131, 157, 154, 155, 162, 160,
+  160, 165, 168, 166, 161, 162, 169, 168, 170, 170, 170, 170, 172, 174, 175, 179,
+  179, 178, 179, 180, 182, 183, 183, 187, 184, 181, 180, 181, 182, 183, 182, 179,
+  178, 179, 178, 175, 172, 170, 169, 173, 171, 170, 171, 168, 164, 165, 170, 169,
+  171, 169, 164, 163, 166, 167, 165, 160, 159, 157, 157, 157, 158, 158, 157, 152,
+  151, 150, 150, 150, 147, 143, 139, 125, 119, 116, 113, 104, 54, 55, 49, 48,
+  255, 255, 255, 255, 255, 147, 40, 17, 23, 22, 37, 39, 35, 31, 32, 37,
+  41, 41, 29, 22, 44, 48, 45, 53, 52, 60, 49, 59, 56, 79, 74, 85,
+  111, 73, 83, 57, 86, 122, 91, 103, 111, 117, 96, 128, 104, 145, 158, 150,
+  156, 160, 160, 161, 166, 169, 167, 162, 164, 169, 169, 169, 168, 168, 169, 171,
+  172, 173, 178, 175, 175, 174, 175, 177, 179, 182, 187, 186, 185, 185, 188, 188,
+  187, 185, 179, 180, 181, 180, 178, 174, 171, 168, 169, 167, 166, 167, 165, 162,
+  164, 169, 166, 168, 167, 163, 163, 167, 168, 166, 163, 160, 157, 156, 156, 156,
+  153, 151, 150, 150, 150, 151, 148, 144, 138, 133, 122, 117, 117, 112, 101, 49,
+  51, 47, 40, 255, 255, 255, 255, 143, 161, 15, 15, 26, 17, 36, 39, 38,
+  30, 29, 35, 45, 49, 34, 23, 41, 44, 43, 55, 58, 66, 52, 51, 58,
+  57, 64, 79, 122, 58, 90, 52, 84, 120, 92, 114, 108, 117, 110, 133, 104,
+  148, 153, 146, 157, 159, 161, 162, 167, 170, 168, 163, 164, 169, 170, 169, 168,
+  168, 169, 169, 171, 172, 175, 174, 172, 171, 171, 174, 177, 180, 179, 182, 183,
+  186, 189, 188, 185, 182, 178, 179, 182, 181, 179, 175, 171, 168, 170, 167, 165,
+  165, 162, 158, 159, 164, 163, 165, 164, 160, 161, 165, 167, 165, 166, 163, 159,
+  157, 156, 152, 150, 148, 148, 148, 150, 151, 148, 143, 135, 130, 126, 122, 121,
+  115, 102, 50, 54, 52, 108, 255, 255, 255, 255, 146, 145, 18, 25, 23, 23,
+  32, 47, 39, 30, 44, 46, 44, 51, 33, 52, 54, 45, 50, 58, 61, 66,
+  37, 62, 35, 70, 53, 90, 99, 83, 78, 70, 74, 114, 98, 87, 128, 102,
+  112, 132, 85, 169, 150, 156, 157, 160, 167, 166, 166, 166, 167, 167, 166, 164,
+  169, 169, 169, 170, 171, 171, 171, 169, 170, 169, 168, 167, 169, 173, 179, 182,
+  188, 178, 180, 183, 180, 183, 184, 174, 175, 175, 179, 180, 181, 178, 173, 169,
+  163, 164, 166, 167, 166, 164, 162, 160, 160, 164, 164, 162, 163, 166, 165, 162,
+  167, 163, 158, 157, 155, 153, 149, 144, 148, 148, 147, 144, 147, 147, 139, 128,
+  118, 122, 118, 114, 110, 19, 41, 38, 255, 255, 255, 255, 219, 140, 140, 24,
+  32, 29, 29, 41, 49, 49, 46, 47, 45, 43, 50, 44, 53, 46, 42, 59,
+  68, 62, 55, 47, 61, 32, 75, 68, 80, 100, 84, 75, 72, 74, 114, 108,
+  94, 127, 113, 107, 125, 99, 162, 150, 159, 157, 161, 169, 168, 168, 168, 169,
+  168, 167, 168, 166, 168, 169, 170, 171, 171, 169, 168, 169, 166, 164, 167, 173,
+  178, 178, 177, 187, 178, 180, 183, 182, 184, 185, 176, 170, 171, 173, 177, 179,
+  177, 173, 170, 166, 167, 167, 168, 166, 164, 162, 160, 159, 163, 163, 161, 161,
+  164, 164, 161, 166, 162, 158, 157, 155, 154, 149, 145, 146, 147, 144, 142, 144,
+  145, 138, 128, 122, 122, 118, 114, 93, 19, 36, 27, 255, 255, 255, 255, 147,
+  142, 141, 35, 41, 37, 36, 46, 38, 43, 48, 42, 41, 53, 63, 37, 55,
+  57, 49, 54, 57, 60, 67, 52, 56, 28, 72, 78, 59, 95, 76, 68, 70,
+  67, 104, 111, 91, 110, 113, 100, 116, 122, 153, 152, 164, 157, 162, 170, 170,
+  170, 170, 171, 171, 170, 170, 166, 167, 169, 170, 168, 167, 166, 165, 163, 161,
+  161, 168, 176, 180, 177, 172, 182, 175, 178, 183, 181, 183, 184, 177, 178, 177,
+  177, 178, 177, 174, 169, 167, 170, 170, 170, 169, 166, 163, 160, 158, 159, 161,
+  161, 158, 159, 162, 163, 161, 162, 158, 155, 154, 156, 156, 151, 148, 144, 146,
+  145, 142, 141, 141, 136, 129, 126, 122, 117, 114, 73, 20, 33, 13, 255, 255,
+  255, 217, 150, 146, 140, 47, 44, 38, 40, 64, 41, 46, 57, 40, 30, 38,
+  42, 33, 54, 60, 51, 49, 52, 64, 82, 48, 55, 35, 68, 80, 45, 97,
+  73, 67, 72, 64, 92, 110, 89, 95, 111, 96, 110, 144, 146, 152, 167, 157,
+  163, 169, 171, 172, 170, 170, 169, 169, 169, 168, 168, 169, 169, 166, 164, 162,
+  161, 159, 160, 164, 170, 175, 176, 173, 169, 174, 168, 175, 180, 179, 183, 185,
+  179, 181, 179, 180, 180, 179, 176, 172, 168, 173, 172, 171, 169, 166, 162, 159,
+  157, 159, 161, 160, 156, 156, 161, 163, 161, 161, 157, 154, 155, 157, 157, 154,
+  151, 147, 149, 148, 144, 142, 142, 137, 130, 127, 120, 117, 115, 62, 28, 36,
+  13, 255, 255, 255, 143, 152, 151, 141, 61, 52, 45, 46, 57, 31, 36, 52,
+  42, 34, 40, 42, 47, 51, 43, 40, 55, 65, 72, 81, 41, 55, 49, 66,
+  79, 49, 105, 83, 69, 78, 71, 90, 114, 100, 98, 119, 98, 113, 160, 147,
+  153, 167, 158, 166, 168, 169, 171, 169, 167, 165, 166, 167, 171, 170, 167, 165,
+  162, 160, 157, 156, 163, 167, 169, 169, 164, 160, 159, 159, 166, 160, 170, 175,
+  176, 181, 186, 181, 176, 177, 179, 181, 183, 183, 181, 178, 175, 175, 173, 170,
+  166, 162, 159, 157, 160, 162, 160, 155, 156, 161, 164, 163, 161, 158, 155, 156,
+  158, 159, 156, 151, 147, 149, 148, 145, 146, 147, 142, 133, 126, 118, 120, 115,
+  66, 43, 47, 27, 255, 255, 255, 150, 157, 155, 147, 88, 85, 79, 78, 79,
+  51, 35, 34, 28, 27, 46, 62, 51, 54, 48, 43, 53, 60, 69, 84, 39,
+  45, 51, 59, 70, 54, 97, 87, 62, 74, 76, 90, 115, 114, 108, 121, 107,
+  124, 162, 152, 152, 164, 158, 165, 166, 168, 170, 167, 165, 162, 163, 165, 171,
+  169, 164, 161, 159, 158, 157, 157, 171, 173, 170, 161, 149, 142, 142, 144, 156,
+  152, 159, 166, 164, 171, 180, 176, 183, 185, 187, 189, 190, 188, 183, 179, 179,
+  179, 176, 172, 168, 164, 162, 160, 163, 164, 161, 156, 156, 162, 166, 165, 163,
+  160, 158, 158, 160, 161, 157, 154, 146, 147, 145, 145, 148, 150, 142, 128, 117,
+  108, 119, 109, 79, 52, 54, 44, 255, 255, 218, 157, 153, 146, 147, 119, 130,
+  127, 122, 144, 127, 96, 68, 46, 28, 29, 50, 55, 65, 63, 55, 51, 48,
+  57, 78, 57, 37, 46, 56, 62, 53, 70, 79, 51, 66, 82, 92, 113, 123,
+  111, 110, 117, 137, 158, 159, 150, 159, 157, 165, 165, 168, 170, 167, 164, 161,
+  163, 165, 168, 163, 160, 157, 156, 158, 160, 162, 172, 169, 159, 147, 134, 129,
+  132, 135, 144, 139, 145, 149, 145, 151, 161, 159, 172, 176, 180, 185, 186, 183,
+  178, 174, 184, 184, 181, 177, 172, 169, 166, 165, 166, 167, 163, 157, 157, 164,
+  168, 169, 166, 162, 159, 160, 162, 163, 158, 155, 152, 149, 143, 143, 146, 144,
+  129, 110, 100, 88, 107, 91, 85, 47, 49, 49, 255, 255, 145, 153, 145, 135,
+  141, 138, 160, 161, 154, 152, 167, 161, 141, 114, 73, 46, 56, 77, 72, 60,
+  55, 63, 61, 54, 56, 85, 39, 48, 62, 62, 55, 48, 71, 48, 65, 88,
+  98, 113, 128, 113, 100, 125, 148, 155, 165, 151, 158, 157, 165, 165, 168, 171,
+  168, 164, 160, 162, 165, 165, 160, 156, 154, 154, 158, 162, 166, 167, 157, 144,
+  133, 127, 128, 131, 133, 132, 127, 131, 134, 129, 135, 144, 143, 138, 143, 155,
+  166, 174, 177, 174, 172, 186, 185, 184, 178, 176, 173, 170, 169, 168, 168, 164,
+  158, 158, 165, 170, 170, 167, 163, 161, 161, 164, 164, 161, 156, 160, 154, 145,
+  141, 142, 135, 114, 90, 84, 73, 96, 73, 84, 37, 38, 47, 255, 255, 153,
+  156, 145, 142, 156, 162, 157, 158, 167, 164, 166, 167, 162, 152, 132, 100, 70,
+  65, 68, 69, 70, 68, 52, 51, 65, 77, 50, 61, 58, 79, 80, 49, 85,
+  73, 60, 81, 112, 104, 137, 114, 116, 143, 151, 157, 160, 159, 158, 158, 160,
+  166, 169, 170, 166, 160, 158, 161, 167, 163, 161, 154, 151, 155, 159, 157, 149,
+  152, 142, 130, 123, 121, 123, 122, 118, 123, 122, 112, 99, 100, 113, 120, 119,
+  111, 115, 117, 124, 145, 170, 181, 177, 183, 178, 184, 165, 177, 168, 176, 168,
+  169, 171, 168, 161, 160, 166, 174, 177, 172, 169, 168, 167, 167, 164, 165, 167,
+  158, 145, 141, 143, 136, 122, 99, 68, 56, 65, 65, 78, 84, 42, 18, 46,
+  255, 255, 153, 141, 148, 158, 170, 177, 175, 168, 160, 162, 169, 173, 169, 168,
+  165, 148, 128, 93, 80, 102, 76, 88, 47, 69, 66, 66, 48, 57, 37, 65,
+  79, 58, 78, 73, 59, 78, 100, 111, 138, 124, 131, 149, 155, 159, 161, 160,
+  159, 160, 161, 164, 166, 167, 164, 159, 156, 159, 163, 161, 164, 161, 156, 153,
+  148, 141, 133, 150, 138, 124, 116, 114, 118, 120, 120, 106, 108, 101, 91, 90,
+  99, 103, 97, 93, 98, 103, 105, 111, 125, 141, 150, 169, 175, 180, 168, 166,
+  162, 170, 170, 165, 168, 164, 158, 159, 166, 172, 173, 169, 166, 164, 165, 167,
+  168, 167, 167, 162, 149, 140, 130, 108, 93, 78, 59, 45, 53, 53, 66, 76,
+  41, 12, 255, 255, 220, 149, 137, 157, 172, 177, 179, 178, 168, 152, 160, 172,
+  175, 168, 169, 182, 181, 169, 139, 111, 95, 109, 93, 93, 74, 54, 46, 47,
+  67, 30, 52, 67, 64, 72, 69, 57, 70, 76, 117, 129, 128, 138, 154, 158,
+  160, 161, 160, 159, 159, 160, 161, 163, 164, 162, 158, 156, 157, 160, 140, 151,
+  158, 156, 151, 148, 144, 140, 127, 122, 118, 118, 126, 134, 139, 140, 133, 135,
+  133, 126, 125, 128, 126, 117, 112, 106, 98, 93, 91, 89, 93, 100, 139, 157,
+  168, 172, 160, 163, 166, 172, 169, 169, 164, 159, 163, 171, 175, 175, 169, 165,
+  161, 162, 166, 168, 166, 162, 151, 141, 133, 115, 85, 71, 67, 59, 34, 44,
+  43, 54, 68, 47, 16, 255, 255, 147, 141, 153, 169, 179, 180, 174, 167, 160,
+  153, 167, 182, 183, 166, 162, 178, 182, 174, 168, 140, 109, 145, 100, 121, 80,
+  49, 33, 49, 83, 48, 53, 53, 63, 70, 67, 58, 68, 64, 123, 121, 131,
+  137, 157, 160, 160, 159, 158, 158, 158, 158, 160, 162, 163, 162, 158, 156, 156,
+  157, 150, 160, 164, 154, 140, 132, 129, 129, 122, 125, 132, 145, 156, 164, 166,
+  165, 156, 159, 158, 154, 153, 154, 149, 139, 153, 127, 110, 107, 105, 94, 81,
+  75, 103, 131, 148, 171, 159, 172, 165, 173, 172, 169, 163, 160, 164, 172, 177,
+  172, 173, 168, 163, 161, 165, 168, 163, 153, 137, 127, 120, 101, 74, 66, 70,
+  69, 58, 66, 60, 56, 62, 50, 24, 255, 255, 145, 133, 164, 171, 182, 186,
+  172, 153, 152, 161, 172, 187, 190, 174, 167, 174, 175, 168, 162, 146, 162, 154,
+  121, 92, 88, 58, 43, 44, 70, 58, 57, 51, 61, 67, 66, 61, 71, 66,
+  132, 119, 140, 141, 159, 159, 158, 157, 157, 157, 156, 155, 160, 162, 163, 162,
+  160, 157, 154, 153, 150, 155, 154, 140, 128, 127, 132, 138, 155, 159, 164, 169,
+  174, 174, 171, 168, 164, 164, 163, 160, 160, 161, 158, 152, 159, 139, 128, 130,
+  131, 119, 106, 100, 93, 114, 125, 149, 146, 167, 163, 169, 164, 162, 157, 155,
+  159, 166, 170, 167, 170, 168, 162, 159, 162, 166, 158, 146, 130, 114, 101, 85,
+  70, 74, 88, 92, 107, 108, 95, 75, 61, 50, 31, 255, 255, 144, 132, 158,
+  165, 180, 189, 173, 148, 147, 166, 167, 183, 191, 186, 178, 176, 170, 164, 158,
+  154, 166, 160, 125, 101, 87, 64, 64, 39, 37, 52, 54, 62, 63, 60, 59,
+  56, 68, 73, 128, 116, 146, 140, 158, 158, 157, 157, 158, 157, 155, 152, 161,
+  162, 163, 163, 160, 156, 151, 147, 134, 135, 133, 127, 128, 140, 156, 164, 178,
+  176, 171, 169, 166, 166, 165, 165, 174, 172, 169, 167, 167, 165, 164, 161, 146,
+  147, 150, 149, 141, 130, 127, 130, 114, 118, 115, 123, 129, 150, 158, 164, 161,
+  161, 157, 153, 157, 164, 167, 165, 162, 163, 158, 152, 153, 155, 148, 136, 113,
+  92, 80, 75, 77, 98, 122, 130, 131, 130, 117, 93, 71, 60, 51, 255, 255,
+  148, 138, 148, 165, 181, 181, 163, 147, 152, 168, 176, 187, 199, 202, 192, 176,
+  164, 158, 165, 165, 151, 160, 131, 127, 89, 70, 70, 46, 25, 55, 44, 66,
+  60, 49, 60, 56, 66, 81, 115, 110, 147, 136, 158, 158, 158, 159, 161, 160,
+  156, 152, 160, 161, 162, 161, 159, 153, 147, 142, 146, 143, 137, 132, 136, 148,
+  158, 162, 173, 173, 169, 166, 164, 167, 170, 173, 173, 169, 165, 164, 163, 160,
+  158, 155, 147, 156, 162, 155, 145, 140, 142, 142, 140, 131, 126, 114, 127, 137,
+  154, 157, 158, 160, 158, 154, 154, 160, 164, 167, 157, 162, 156, 145, 139, 139,
+  131, 118, 94, 81, 81, 91, 102, 125, 145, 147, 135, 129, 122, 105, 82, 70,
+  126, 255, 255, 151, 145, 147, 170, 182, 169, 148, 146, 158, 169, 198, 203, 214,
+  219, 204, 177, 157, 151, 165, 165, 179, 144, 157, 112, 109, 89, 61, 56, 38,
+  70, 35, 62, 52, 42, 68, 64, 72, 92, 111, 109, 151, 136, 159, 158, 159,
+  161, 163, 162, 157, 152, 160, 160, 160, 160, 157, 151, 144, 137, 140, 136, 136,
+  139, 152, 168, 177, 178, 173, 175, 177, 178, 179, 179, 180, 181, 179, 177, 173,
+  173, 169, 165, 160, 159, 153, 159, 157, 152, 153, 159, 158, 149, 152, 143, 144,
+  123, 137, 135, 153, 153, 151, 155, 155, 150, 148, 153, 158, 163, 157, 164, 156,
+  139, 126, 122, 113, 98, 94, 91, 103, 118, 127, 137, 142, 135, 140, 130, 124,
+  111, 87, 69, 255, 255, 255, 123, 148, 139, 180, 180, 173, 150, 141, 170, 169,
+  194, 184, 176, 174, 170, 163, 161, 165, 163, 172, 166, 154, 151, 139, 116, 98,
+  72, 54, 57, 52, 46, 68, 29, 57, 58, 45, 74, 111, 94, 123, 127, 136,
+  148, 157, 163, 162, 160, 160, 159, 157, 161, 159, 157, 158, 159, 155, 145, 136,
+  143, 149, 155, 152, 157, 168, 176, 175, 167, 181, 166, 172, 176, 170, 173, 174,
+  170, 167, 169, 171, 163, 154, 157, 168, 159, 152, 150, 153, 157, 155, 157, 157,
+  153, 157, 159, 149, 138, 134, 144, 156, 155, 154, 149, 143, 143, 149, 154, 156,
+  147, 152, 141, 130, 127, 97, 81, 95, 120, 111, 116, 133, 140, 133, 134, 146,
+  137, 139, 132, 103, 109, 69, 255, 255, 255, 131, 143, 146, 175, 176, 164, 150,
+  151, 169, 170, 161, 187, 191, 172, 170, 185, 182, 154, 159, 171, 166, 155, 154,
+  148, 134, 123, 71, 56, 75, 61, 66, 66, 33, 47, 43, 47, 80, 107, 92,
+  126, 133, 135, 147, 153, 158, 158, 158, 160, 159, 156, 162, 160, 159, 158, 157,
+  152, 145, 139, 143, 150, 156, 154, 156, 167, 171, 169, 185, 187, 167, 168, 171,
+  162, 163, 155, 147, 144, 141, 142, 150, 160, 159, 154, 154, 155, 157, 155, 148,
+  145, 155, 167, 153, 154, 155, 152, 149, 149, 154, 159, 158, 158, 154, 147, 146,
+  150, 152, 152, 143, 153, 133, 126, 109, 107, 98, 117, 125, 131, 132, 129, 134,
+  138, 131, 120, 129, 133, 133, 114, 117, 73, 255, 255, 255, 141, 136, 156, 166,
+  173, 153, 148, 164, 168, 174, 179, 174, 180, 193, 193, 177, 171, 173, 160, 174,
+  169, 156, 155, 154, 149, 148, 95, 70, 80, 45, 60, 49, 37, 49, 31, 44,
+  81, 98, 92, 130, 140, 138, 152, 155, 156, 156, 158, 161, 159, 154, 161, 161,
+  161, 158, 154, 150, 148, 146, 155, 163, 168, 165, 167, 174, 174, 170, 172, 163,
+  136, 136, 150, 151, 166, 157, 162, 163, 155, 144, 144, 152, 144, 128, 134, 141,
+  151, 156, 150, 144, 147, 153, 156, 154, 155, 158, 163, 164, 163, 161, 160, 162,
+  159, 153, 151, 151, 149, 145, 162, 152, 128, 109, 102, 105, 107, 113, 105, 109,
+  108, 102, 105, 115, 124, 126, 133, 132, 132, 119, 112, 68, 255, 255, 255, 151,
+  133, 157, 159, 172, 147, 145, 171, 171, 182, 186, 195, 190, 174, 180, 199, 194,
+  174, 161, 177, 172, 157, 153, 152, 152, 156, 124, 92, 76, 41, 49, 46, 37,
+  50, 33, 39, 73, 89, 98, 131, 142, 145, 159, 160, 159, 157, 159, 163, 160,
+  153, 158, 160, 162, 158, 153, 151, 154, 157, 165, 175, 179, 177, 175, 179, 176,
+  171, 160, 148, 136, 138, 156, 155, 176, 162, 137, 139, 137, 130, 129, 137, 145,
+  151, 132, 128, 131, 141, 150, 151, 147, 142, 156, 154, 157, 162, 167, 168, 164,
+  160, 161, 164, 162, 158, 154, 151, 147, 141, 158, 117, 109, 103, 123, 115, 129,
+  120, 136, 125, 123, 125, 113, 98, 110, 135, 134, 130, 125, 115, 99, 127, 255,
+  255, 255, 153, 136, 151, 155, 169, 145, 144, 173, 175, 192, 191, 189, 178, 171,
+  187, 209, 205, 184, 160, 174, 169, 155, 152, 150, 149, 153, 139, 115, 77, 63,
+  57, 64, 42, 51, 44, 33, 59, 79, 107, 131, 141, 152, 157, 159, 158, 157,
+  160, 165, 162, 156, 155, 159, 161, 159, 155, 155, 161, 166, 166, 176, 181, 176,
+  174, 176, 171, 163, 155, 145, 148, 143, 144, 118, 130, 101, 84, 77, 81, 99,
+  110, 113, 120, 133, 138, 128, 123, 131, 141, 148, 151, 152, 153, 153, 158, 163,
+  165, 165, 165, 166, 169, 172, 170, 165, 160, 156, 152, 145, 160, 109, 102, 139,
+  117, 102, 97, 101, 128, 112, 113, 128, 126, 111, 116, 133, 127, 124, 121, 116,
+  91, 255, 255, 255, 255, 148, 144, 141, 153, 163, 147, 148, 171, 185, 198, 204,
+  174, 166, 192, 208, 192, 180, 183, 159, 169, 161, 150, 152, 156, 153, 154, 151,
+  129, 79, 71, 60, 72, 52, 61, 53, 32, 52, 71, 113, 131, 139, 155, 148,
+  153, 155, 156, 160, 164, 164, 159, 156, 160, 162, 161, 158, 160, 166, 173, 167,
+  177, 181, 176, 174, 174, 168, 159, 158, 137, 135, 110, 97, 62, 85, 55, 62,
+  50, 67, 114, 139, 119, 86, 68, 105, 114, 128, 140, 143, 139, 141, 145, 150,
+  151, 156, 158, 160, 163, 170, 174, 180, 182, 179, 171, 166, 163, 157, 151, 155,
+  117, 101, 176, 80, 70, 38, 62, 83, 70, 60, 65, 85, 108, 125, 130, 127,
+  132, 130, 123, 82, 255, 255, 255, 255, 140, 153, 133, 153, 153, 151, 155, 172,
+  196, 197, 190, 191, 190, 189, 196, 197, 179, 154, 164, 168, 156, 147, 156, 164,
+  161, 160, 158, 140, 98, 80, 73, 67, 60, 65, 51, 39, 61, 66, 113, 131,
+  140, 151, 147, 154, 159, 159, 160, 162, 161, 158, 161, 163, 164, 163, 162, 164,
+  168, 173, 171, 180, 183, 179, 176, 178, 172, 163, 170, 139, 134, 104, 97, 76,
+  117, 95, 72, 65, 82, 128, 158, 144, 102, 72, 76, 91, 115, 138, 146, 144,
+  142, 140, 158, 156, 156, 156, 158, 164, 173, 179, 190, 191, 185, 174, 166, 162,
+  157, 152, 125, 86, 88, 164, 73, 65, 49, 66, 129, 112, 90, 72, 66, 76,
+  99, 115, 129, 137, 132, 119, 67, 255, 255, 255, 255, 134, 159, 127, 151, 142,
+  149, 158, 171, 202, 194, 196, 175, 179, 208, 211, 181, 166, 175, 172, 169, 154,
+  145, 159, 171, 167, 163, 152, 145, 130, 107, 109, 71, 64, 54, 47, 50, 74,
+  66, 113, 135, 144, 147, 153, 164, 169, 165, 163, 160, 160, 155, 165, 166, 166,
+  165, 165, 166, 168, 170, 170, 179, 184, 178, 174, 174, 172, 161, 156, 130, 143,
+  129, 136, 119, 163, 133, 124, 109, 98, 106, 123, 130, 120, 105, 84, 82, 90,
+  113, 139, 154, 160, 161, 170, 163, 156, 154, 157, 165, 173, 177, 194, 192, 185,
+  171, 161, 157, 152, 147, 131, 70, 96, 136, 100, 72, 83, 68, 179, 166, 157,
+  140, 94, 53, 65, 104, 118, 128, 120, 101, 48, 255, 255, 255, 255, 146, 146,
+  143, 142, 133, 159, 136, 192, 199, 181, 186, 177, 197, 230, 186, 177, 176, 179,
+  172, 162, 164, 177, 184, 180, 173, 172, 153, 151, 134, 118, 117, 122, 107, 83,
+  58, 55, 57, 70, 100, 132, 149, 154, 156, 158, 159, 159, 162, 162, 164, 164,
+  169, 170, 170, 169, 169, 170, 172, 176, 175, 177, 177, 175, 177, 180, 180, 174,
+  167, 162, 157, 155, 159, 161, 157, 154, 162, 157, 147, 136, 129, 129, 135, 139,
+  127, 128, 134, 139, 138, 135, 150, 169, 172, 156, 151, 159, 162, 157, 163, 177,
+  184, 190, 190, 177, 162, 153, 149, 146, 90, 84, 77, 77, 81, 74, 81, 102,
+  173, 164, 149, 126, 99, 78, 74, 80, 99, 114, 131, 69, 122, 255, 255, 255,
+  255, 147, 145, 147, 134, 140, 149, 145, 190, 198, 182, 182, 175, 192, 228, 198,
+  194, 180, 169, 173, 164, 166, 182, 193, 187, 176, 170, 158, 152, 142, 131, 134,
+  137, 129, 112, 87, 80, 71, 74, 95, 121, 139, 145, 156, 160, 160, 162, 163,
+  164, 164, 164, 167, 168, 168, 167, 167, 168, 170, 173, 177, 178, 178, 175, 177,
+  180, 178, 174, 167, 163, 160, 159, 162, 163, 162, 160, 166, 162, 156, 149, 144,
+  142, 144, 145, 140, 141, 148, 156, 153, 148, 155, 170, 169, 156, 153, 161, 163,
+  157, 162, 174, 179, 185, 186, 176, 163, 153, 144, 136, 89, 91, 88, 88, 91,
+  88, 91, 106, 139, 113, 91, 95, 108, 109, 91, 74, 95, 111, 122, 58, 255,
+  255, 255, 255, 255, 147, 146, 153, 130, 150, 142, 156, 193, 196, 182, 183, 188,
+  207, 223, 189, 188, 190, 188, 173, 166, 171, 190, 202, 196, 179, 171, 160, 150,
+  142, 138, 140, 139, 137, 132, 130, 125, 117, 114, 125, 141, 154, 159, 156, 159,
+  162, 164, 165, 165, 164, 163, 167, 168, 168, 168, 167, 169, 172, 175, 179, 180,
+  179, 176, 176, 179, 178, 173, 169, 168, 167, 166, 166, 166, 167, 167, 166, 165,
+  162, 159, 156, 154, 153, 152, 148, 146, 150, 156, 155, 151, 155, 166, 168, 158,
+  156, 163, 164, 157, 160, 170, 173, 179, 180, 175, 166, 155, 140, 127, 114, 127,
+  128, 125, 130, 130, 127, 132, 131, 117, 109, 117, 128, 128, 117, 108, 98, 114,
+  111, 51, 255, 255, 255, 255, 255, 147, 148, 156, 134, 149, 144, 154, 195, 186,
+  181, 174, 182, 202, 209, 191, 188, 190, 182, 169, 169, 178, 199, 208, 198, 182,
+  175, 163, 149, 141, 139, 139, 132, 133, 137, 129, 133, 136, 137, 144, 150, 154,
+  154, 157, 160, 164, 166, 167, 165, 163, 161, 169, 170, 171, 171, 171, 172, 175,
+  177, 181, 181, 179, 176, 176, 179, 178, 173, 173, 174, 174, 173, 171, 171, 172,
+  173, 167, 165, 162, 161, 159, 158, 156, 155, 152, 145, 141, 142, 143, 145, 154,
+  163, 167, 160, 160, 166, 164, 157, 158, 166, 171, 175, 176, 172, 166, 157, 141,
+  126, 122, 141, 144, 137, 142, 146, 141, 139, 132, 133, 137, 136, 126, 116, 117,
+  124, 112, 120, 98, 116, 255, 255, 255, 255, 255, 147, 149, 157, 148, 142, 152,
+  147, 194, 175, 179, 177, 177, 196, 218, 242, 240, 214, 174, 166, 171, 184, 204,
+  208, 197, 186, 184, 168, 152, 143, 142, 140, 131, 134, 141, 117, 126, 134, 139,
+  146, 149, 149, 146, 156, 160, 163, 165, 166, 164, 161, 159, 170, 171, 173, 173,
+  173, 174, 176, 178, 183, 183, 180, 176, 177, 180, 179, 175, 176, 177, 178, 177,
+  174, 173, 173, 174, 170, 165, 160, 158, 158, 158, 158, 156, 155, 149, 145, 146,
+  149, 153, 160, 165, 168, 165, 166, 169, 166, 159, 159, 165, 173, 175, 174, 170,
+  167, 160, 146, 131, 121, 142, 144, 134, 137, 145, 142, 138, 138, 132, 129, 129,
+  129, 126, 123, 123, 120, 118, 77, 255, 255, 255, 255, 255, 255, 148, 149, 154,
+  161, 134, 157, 146, 184, 174, 179, 175, 175, 192, 209, 240, 239, 226, 202, 168,
+  171, 182, 200, 206, 196, 188, 188, 167, 153, 143, 140, 139, 133, 136, 141, 131,
+  136, 141, 143, 150, 156, 158, 157, 158, 161, 163, 164, 164, 162, 160, 159, 167,
+  169, 171, 172, 171, 172, 174, 176, 183, 183, 180, 176, 177, 181, 181, 177, 177,
+  177, 176, 175, 174, 172, 170, 168, 168, 163, 156, 154, 155, 158, 158, 157, 150,
+  152, 155, 158, 161, 162, 164, 165, 172, 169, 171, 171, 166, 159, 159, 164, 171,
+  174, 173, 169, 167, 162, 150, 139, 127, 143, 143, 134, 138, 144, 143, 143, 146,
+  137, 132, 135, 140, 137, 135, 134, 119, 107, 58, 255, 255, 255, 255, 255, 255,
+  148, 150, 151, 168, 130, 153, 154, 168, 184, 182, 161, 164, 175, 166, 180, 172,
+  190, 203, 175, 169, 175, 192, 203, 200, 192, 188, 167, 155, 144, 138, 138, 136,
+  137, 135, 134, 136, 137, 138, 146, 154, 157, 156, 158, 159, 162, 162, 161, 160,
+  159, 158, 167, 169, 172, 172, 172, 172, 176, 178, 182, 182, 179, 176, 177, 182,
+  182, 179, 182, 179, 176, 176, 176, 174, 170, 165, 166, 161, 156, 156, 160, 164,
+  164, 162, 152, 158, 163, 165, 165, 166, 167, 166, 175, 175, 177, 175, 168, 162,
+  162, 167, 168, 173, 175, 173, 170, 165, 155, 143, 121, 135, 135, 130, 135, 135,
+  134, 137, 139, 138, 138, 137, 132, 127, 129, 132, 118, 105, 50, 255, 255, 255,
+  255, 255, 255, 148, 149, 147, 168, 131, 146, 163, 154, 195, 184, 179, 172, 173,
+  154, 168, 151, 165, 179, 181, 168, 167, 186, 202, 203, 193, 186, 174, 163, 151,
+  141, 141, 141, 139, 132, 134, 136, 139, 142, 152, 158, 158, 154, 159, 159, 161,
+  160, 159, 159, 158, 158, 169, 171, 174, 175, 175, 175, 178, 180, 184, 182, 179,
+  175, 177, 182, 183, 180, 188, 183, 179, 179, 181, 179, 172, 167, 164, 160, 158,
+  160, 166, 169, 169, 166, 163, 166, 169, 165, 165, 167, 173, 176, 178, 178, 179,
+  176, 168, 162, 163, 168, 163, 170, 176, 175, 171, 165, 155, 146, 128, 138, 139,
+  138, 142, 141, 139, 144, 145, 138, 135, 139, 140, 135, 131, 126, 123, 110, 53,
+  255, 255, 255, 255, 255, 255, 143, 148, 147, 162, 148, 139, 150, 175, 146, 182,
+  183, 180, 174, 169, 172, 173, 159, 141, 156, 152, 138, 174, 204, 202, 203, 178,
+  167, 161, 150, 137, 137, 141, 144, 138, 135, 136, 138, 140, 146, 150, 154, 158,
+  157, 160, 163, 162, 158, 156, 159, 160, 168, 169, 173, 173, 174, 176, 181, 183,
+  185, 184, 183, 181, 181, 181, 183, 183, 179, 186, 189, 185, 183, 183, 179, 172,
+  165, 157, 155, 156, 163, 162, 166, 167, 166, 166, 171, 172, 176, 175, 178, 176,
+  177, 176, 176, 175, 168, 161, 163, 170, 166, 164, 167, 175, 174, 164, 155, 152,
+  135, 123, 139, 141, 138, 148, 148, 153, 151, 147, 145, 144, 144, 139, 131, 121,
+  112, 103, 57, 255, 255, 255, 255, 255, 255, 142, 146, 150, 152, 157, 156, 148,
+  178, 162, 160, 171, 173, 170, 167, 174, 185, 185, 176, 150, 148, 137, 168, 195,
+  197, 203, 188, 169, 161, 150, 137, 137, 140, 142, 137, 135, 136, 138, 140, 146,
+  149, 153, 155, 153, 157, 161, 161, 159, 158, 160, 162, 167, 169, 172, 173, 174,
+  176, 180, 183, 186, 184, 184, 183, 184, 184, 185, 185, 183, 189, 191, 187, 185,
+  185, 181, 177, 175, 167, 161, 161, 163, 163, 163, 165, 167, 170, 174, 178, 181,
+  181, 181, 181, 184, 180, 179, 174, 168, 162, 166, 172, 169, 166, 170, 175, 176,
+  166, 159, 156, 143, 129, 142, 140, 137, 147, 148, 153, 153, 151, 149, 147, 147,
+  142, 134, 123, 115, 105, 122, 255, 255, 255, 255, 255, 255, 255, 145, 154, 142,
+  162, 165, 138, 171, 176, 152, 172, 176, 175, 172, 178, 192, 198, 195, 171, 169,
+  161, 177, 189, 189, 196, 188, 171, 161, 150, 139, 138, 139, 140, 136, 134, 136,
+  138, 141, 146, 149, 152, 153, 148, 152, 157, 159, 160, 160, 162, 162, 167, 168,
+  172, 173, 174, 176, 180, 182, 185, 185, 187, 188, 188, 189, 189, 189, 191, 194,
+  193, 190, 188, 187, 184, 180, 180, 172, 166, 166, 167, 165, 164, 165, 170, 173,
+  179, 184, 187, 188, 186, 184, 190, 184, 181, 175, 170, 163, 169, 175, 171, 168,
+  173, 176, 178, 169, 164, 160, 150, 132, 143, 142, 139, 146, 147, 154, 155, 152,
+  152, 152, 152, 147, 138, 127, 115, 103, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 153, 141, 156, 157, 128, 137, 161, 169, 173, 178, 176, 171, 177, 189, 193,
+  188, 189, 189, 185, 187, 186, 182, 184, 182, 172, 161, 150, 140, 139, 138, 139,
+  135, 134, 135, 138, 141, 145, 147, 150, 151, 147, 150, 155, 158, 160, 160, 161,
+  161, 166, 168, 172, 173, 174, 176, 179, 182, 184, 186, 188, 190, 191, 192, 191,
+  191, 192, 191, 188, 185, 183, 181, 177, 174, 177, 171, 166, 167, 170, 169, 168,
+  170, 169, 174, 180, 187, 190, 190, 189, 187, 187, 183, 180, 177, 172, 167, 169,
+  175, 169, 169, 171, 175, 176, 172, 167, 163, 151, 132, 144, 146, 143, 151, 149,
+  155, 155, 154, 153, 153, 153, 147, 138, 127, 110, 95, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 148, 150, 149, 128, 91, 114, 170, 172, 175, 168, 162,
+  169, 183, 190, 185, 181, 183, 189, 186, 182, 182, 179, 180, 172, 160, 149, 142,
+  141, 138, 137, 135, 134, 135, 138, 141, 145, 146, 148, 148, 148, 149, 152, 155,
+  158, 159, 160, 159, 167, 169, 173, 175, 176, 177, 179, 181, 184, 185, 188, 190,
+  192, 192, 192, 192, 190, 186, 182, 181, 179, 175, 171, 169, 178, 173, 169, 172,
+  175, 174, 173, 175, 171, 176, 182, 188, 192, 192, 191, 187, 180, 178, 177, 177,
+  174, 168, 167, 170, 165, 167, 169, 170, 172, 171, 167, 163, 148, 129, 144, 151,
+  151, 155, 151, 158, 157, 153, 152, 153, 152, 147, 137, 126, 111, 91, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 148, 148, 138, 55, 59, 133, 168,
+  176, 172, 165, 169, 182, 191, 190, 180, 181, 193, 185, 181, 186, 176, 178, 171,
+  158, 148, 143, 142, 137, 137, 137, 134, 135, 138, 141, 144, 145, 146, 146, 148,
+  148, 149, 151, 155, 157, 160, 159, 168, 170, 176, 177, 178, 178, 179, 181, 184,
+  185, 187, 189, 190, 191, 191, 191, 196, 190, 188, 190, 191, 186, 180, 179, 185,
+  179, 175, 176, 178, 175, 173, 173, 173, 176, 182, 187, 190, 191, 190, 188, 179,
+  175, 175, 177, 174, 168, 164, 166, 162, 165, 166, 166, 168, 171, 168, 163, 147,
+  128, 143, 155, 156, 160, 154, 160, 157, 155, 151, 150, 150, 146, 137, 127, 113,
+  87, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 151, 141, 41,
+  30, 80, 127, 152, 169, 173, 174, 182, 188, 188, 190, 186, 198, 186, 185, 194,
+  178, 179, 170, 156, 147, 144, 144, 138, 137, 138, 133, 135, 138, 141, 144, 144,
+  145, 144, 145, 143, 145, 147, 154, 158, 163, 162, 169, 172, 178, 179, 179, 179,
+  182, 181, 185, 185, 185, 186, 187, 188, 189, 190, 198, 192, 192, 199, 203, 199,
+  193, 192, 191, 186, 181, 182, 182, 178, 175, 174, 175, 178, 182, 186, 188, 189,
+  189, 189, 184, 179, 176, 176, 173, 166, 163, 164, 162, 165, 166, 165, 167, 172,
+  170, 164, 151, 129, 143, 155, 157, 161, 156, 164, 160, 156, 152, 151, 148, 145,
+  139, 130, 112, 81, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  148, 137, 40, 25, 41, 54, 100, 146, 167, 174, 178, 183, 184, 189, 182, 194,
+  181, 184, 199, 183, 184, 168, 155, 145, 144, 142, 138, 136, 139, 133, 135, 138,
+  141, 144, 144, 144, 143, 143, 141, 142, 145, 153, 159, 163, 166, 170, 172, 178,
+  180, 180, 180, 181, 182, 186, 185, 184, 184, 184, 186, 188, 189, 189, 184, 186,
+  196, 203, 199, 196, 194, 193, 186, 181, 183, 184, 180, 179, 179, 178, 179, 182,
+  185, 188, 189, 189, 189, 190, 183, 177, 174, 170, 164, 161, 162, 162, 166, 166,
+  164, 167, 172, 172, 165, 158, 131, 143, 153, 155, 159, 155, 165, 162, 158, 153,
+  151, 150, 145, 141, 132, 106, 72, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 217, 119, 23, 28, 33, 39, 62, 90, 142, 160, 181, 179, 187,
+  193, 196, 195, 192, 191, 191, 185, 177, 164, 150, 142, 143, 141, 136, 135, 140,
+  135, 135, 136, 138, 142, 143, 143, 142, 141, 143, 142, 144, 149, 156, 163, 167,
+  171, 175, 180, 179, 177, 179, 183, 187, 180, 183, 184, 182, 183, 187, 187, 185,
+  197, 189, 186, 193, 207, 215, 214, 207, 198, 184, 183, 188, 186, 184, 183, 173,
+  173, 173, 177, 186, 196, 197, 191, 185, 188, 186, 182, 176, 167, 164, 163, 164,
+  162, 163, 162, 162, 167, 171, 172, 167, 159, 138, 129, 148, 160, 155, 154, 160,
+  168, 154, 154, 158, 151, 146, 140, 126, 108, 47, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 105, 37, 18, 29, 28, 47, 63, 104, 118,
+  144, 151, 165, 173, 176, 176, 174, 176, 178, 176, 170, 160, 151, 143, 141, 142,
+  137, 136, 136, 133, 133, 134, 137, 141, 142, 142, 140, 143, 144, 143, 144, 148,
+  153, 160, 163, 170, 173, 177, 179, 177, 176, 180, 183, 183, 186, 187, 185, 185,
+  189, 190, 187, 197, 190, 184, 186, 198, 210, 217, 219, 202, 185, 181, 183, 181,
+  181, 182, 175, 178, 175, 173, 175, 182, 187, 188, 188, 185, 183, 179, 172, 164,
+  160, 160, 161, 159, 162, 163, 163, 165, 171, 172, 170, 161, 141, 132, 147, 160,
+  158, 156, 160, 172, 159, 159, 163, 155, 147, 141, 125, 106, 44, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 114, 46, 19, 20, 32, 48,
+  60, 92, 98, 122, 133, 153, 145, 147, 145, 142, 142, 143, 141, 135, 150, 151,
+  147, 141, 141, 140, 138, 132, 132, 132, 134, 136, 140, 141, 142, 140, 144, 143,
+  143, 144, 147, 151, 156, 159, 168, 172, 177, 177, 177, 175, 178, 180, 183, 186,
+  188, 185, 186, 190, 190, 188, 191, 188, 185, 185, 190, 198, 207, 213, 197, 183,
+  182, 185, 180, 179, 179, 172, 172, 171, 172, 172, 174, 178, 182, 184, 180, 178,
+  174, 168, 161, 157, 157, 158, 156, 161, 163, 162, 164, 170, 173, 175, 164, 145,
+  134, 147, 161, 162, 160, 163, 174, 161, 162, 162, 154, 146, 138, 122, 96, 31,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 39, 26,
+  12, 37, 60, 78, 107, 109, 129, 134, 151, 170, 172, 173, 171, 169, 170, 164,
+  157, 135, 146, 150, 141, 137, 138, 139, 133, 133, 133, 134, 137, 141, 142, 143,
+  141, 142, 141, 143, 143, 146, 150, 155, 157, 165, 170, 176, 178, 178, 177, 179,
+  181, 181, 185, 186, 183, 184, 187, 188, 185, 184, 184, 186, 189, 192, 192, 191,
+  189, 186, 175, 178, 184, 178, 174, 172, 163, 162, 166, 174, 177, 176, 174, 172,
+  171, 172, 171, 168, 164, 158, 156, 157, 158, 156, 163, 166, 164, 164, 169, 173,
+  174, 169, 150, 135, 141, 154, 162, 164, 165, 169, 159, 161, 161, 153, 145, 136,
+  116, 93, 28, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 33, 28, 20, 35, 63, 83, 113, 112, 132, 136, 149, 153, 161, 168, 171,
+  175, 175, 170, 161, 121, 138, 147, 139, 132, 133, 138, 138, 134, 134, 136, 139,
+  143, 144, 145, 144, 140, 140, 140, 141, 146, 151, 155, 158, 164, 169, 176, 178,
+  180, 179, 181, 183, 182, 185, 185, 182, 182, 186, 186, 183, 183, 182, 183, 188,
+  194, 191, 183, 175, 184, 173, 172, 174, 167, 163, 163, 157, 167, 171, 177, 178,
+  175, 169, 163, 159, 161, 159, 158, 155, 154, 154, 156, 159, 158, 164, 168, 165,
+  163, 167, 171, 172, 173, 155, 136, 133, 143, 155, 163, 166, 164, 158, 161, 160,
+  152, 147, 137, 115, 96, 36, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 34, 24, 35, 40, 63, 78, 101, 103, 127, 135, 151, 156,
+  164, 175, 179, 182, 181, 173, 164, 121, 131, 139, 135, 132, 131, 137, 139, 134,
+  135, 136, 140, 144, 146, 147, 145, 140, 140, 140, 142, 147, 150, 154, 157, 165,
+  170, 176, 178, 179, 179, 181, 184, 183, 186, 186, 183, 184, 187, 187, 184, 188,
+  184, 180, 183, 188, 188, 185, 179, 186, 172, 165, 162, 154, 154, 162, 161, 180,
+  178, 174, 170, 167, 163, 159, 156, 154, 154, 153, 152, 151, 152, 155, 158, 161,
+  165, 168, 166, 165, 169, 171, 171, 174, 161, 140, 129, 133, 147, 158, 163, 163,
+  158, 161, 161, 152, 147, 136, 113, 73, 36, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 200, 34, 28, 41, 50, 68, 77, 96, 95, 124,
+  136, 151, 157, 165, 173, 175, 177, 175, 166, 157, 132, 128, 127, 131, 135, 133,
+  135, 136, 133, 134, 135, 139, 144, 145, 146, 145, 141, 141, 143, 144, 147, 150,
+  153, 154, 166, 169, 175, 174, 173, 173, 178, 181, 182, 185, 185, 182, 182, 185,
+  183, 180, 186, 183, 180, 178, 179, 178, 178, 177, 172, 160, 158, 160, 157, 160,
+  169, 169, 178, 172, 166, 162, 162, 163, 162, 160, 159, 159, 158, 156, 154, 155,
+  158, 159, 161, 164, 164, 163, 167, 173, 173, 171, 172, 163, 146, 130, 129, 141,
+  153, 158, 162, 159, 161, 159, 149, 144, 130, 105, 38, 106, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 112, 32, 39, 36, 56, 74, 80,
+  97, 96, 125, 134, 145, 152, 160, 168, 173, 177, 180, 175, 167, 144, 128, 119,
+  128, 139, 137, 133, 132, 132, 132, 134, 138, 143, 144, 145, 144, 144, 144, 145,
+  145, 148, 149, 151, 151, 169, 171, 175, 173, 170, 170, 175, 178, 180, 183, 182,
+  179, 179, 180, 180, 177, 181, 182, 184, 180, 173, 166, 166, 166, 152, 146, 156,
+  167, 167, 170, 178, 175, 165, 161, 157, 159, 166, 167, 168, 162, 167, 167, 166,
+  162, 160, 160, 161, 164, 161, 162, 161, 162, 169, 176, 176, 171, 168, 166, 152,
+  133, 128, 138, 151, 154, 160, 158, 160, 155, 144, 138, 124, 96, 24, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 149, 38, 44, 29,
+  52, 74, 89, 90, 115, 106, 134, 142, 151, 159, 165, 171, 178, 182, 177, 168,
+  149, 120, 115, 132, 138, 131, 134, 136, 128, 131, 136, 139, 142, 143, 146, 148,
+  142, 144, 145, 144, 145, 145, 149, 153, 170, 170, 173, 174, 175, 175, 174, 174,
+  180, 178, 176, 178, 180, 182, 181, 177, 183, 177, 177, 174, 166, 152, 144, 142,
+  180, 178, 177, 177, 177, 177, 176, 174, 186, 168, 153, 156, 168, 173, 174, 173,
+  174, 173, 170, 167, 164, 162, 164, 166, 167, 159, 162, 165, 165, 174, 180, 173,
+  173, 157, 149, 143, 127, 123, 140, 150, 158, 146, 152, 153, 141, 120, 127, 52,
+  26, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 145,
+  68, 40, 35, 55, 86, 78, 96, 93, 111, 123, 139, 152, 157, 164, 167, 172,
+  177, 176, 171, 147, 118, 113, 129, 135, 129, 132, 133, 128, 131, 134, 137, 139,
+  140, 143, 143, 144, 145, 147, 147, 147, 148, 152, 154, 168, 171, 175, 175, 174,
+  173, 173, 175, 180, 180, 179, 177, 178, 179, 181, 181, 184, 175, 166, 160, 157,
+  154, 159, 165, 171, 171, 172, 176, 179, 182, 182, 182, 176, 179, 169, 152, 155,
+  173, 177, 165, 170, 174, 176, 170, 161, 163, 174, 185, 168, 157, 164, 178, 175,
+  173, 179, 183, 176, 161, 156, 138, 131, 129, 145, 142, 155, 150, 153, 146, 134,
+  127, 116, 53, 109, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 144, 89, 37, 35, 69, 104, 90, 100, 90, 112, 128, 142, 152, 157,
+  163, 163, 166, 172, 176, 175, 147, 119, 113, 128, 133, 129, 132, 132, 130, 131,
+  134, 137, 139, 140, 142, 142, 142, 144, 148, 149, 150, 151, 155, 157, 163, 168,
+  174, 174, 172, 171, 175, 180, 181, 182, 179, 178, 178, 178, 181, 182, 175, 164,
+  155, 151, 153, 157, 170, 181, 175, 176, 175, 177, 179, 180, 179, 179, 177, 186,
+  181, 163, 158, 169, 173, 166, 179, 186, 186, 183, 174, 168, 165, 167, 166, 160,
+  162, 169, 174, 184, 181, 165, 179, 162, 163, 137, 137, 129, 146, 134, 155, 156,
+  154, 141, 127, 130, 89, 55, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 153, 80, 42, 36, 76, 109, 118, 96, 106, 99, 137,
+  143, 150, 158, 164, 163, 165, 170, 174, 175, 149, 123, 116, 128, 134, 131, 135,
+  133, 131, 132, 134, 138, 143, 144, 146, 145, 142, 144, 149, 150, 151, 152, 155,
+  157, 157, 165, 173, 173, 172, 171, 177, 183, 183, 182, 179, 179, 179, 178, 174,
+  172, 156, 152, 152, 154, 159, 162, 168, 174, 178, 176, 175, 175, 176, 176, 177,
+  175, 179, 173, 173, 176, 167, 154, 152, 163, 165, 165, 163, 167, 174, 177, 173,
+  169, 172, 182, 182, 177, 204, 252, 249, 202, 180, 160, 166, 142, 139, 120, 137,
+  135, 158, 155, 150, 144, 127, 119, 58, 123, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 157, 60, 64, 49, 67, 106, 124, 104,
+  109, 94, 129, 139, 150, 159, 167, 167, 169, 172, 174, 173, 149, 124, 117, 126,
+  131, 131, 135, 132, 128, 128, 131, 137, 144, 147, 149, 148, 141, 144, 147, 148,
+  150, 150, 152, 155, 159, 166, 173, 173, 170, 169, 174, 180, 184, 181, 177, 179,
+  180, 177, 166, 158, 152, 151, 157, 163, 167, 165, 165, 167, 168, 170, 171, 173,
+  177, 179, 181, 180, 172, 164, 167, 175, 170, 151, 142, 146, 162, 158, 152, 147,
+  146, 150, 157, 161, 152, 165, 165, 153, 168, 213, 216, 175, 178, 160, 165, 152,
+  137, 112, 131, 146, 154, 147, 143, 148, 127, 99, 36, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 51, 85, 75, 65,
+  112, 117, 130, 106, 105, 115, 135, 149, 158, 166, 168, 171, 173, 174, 170, 148,
+  123, 115, 122, 127, 129, 133, 128, 124, 124, 127, 134, 142, 147, 149, 147, 141,
+  144, 147, 148, 149, 148, 149, 150, 163, 168, 173, 171, 168, 165, 167, 171, 182,
+  180, 177, 178, 177, 172, 161, 152, 161, 160, 161, 166, 169, 165, 166, 169, 173,
+  172, 171, 172, 176, 177, 176, 175, 166, 172, 174, 169, 168, 165, 153, 140, 158,
+  170, 176, 165, 143, 128, 129, 135, 158, 159, 165, 164, 154, 161, 172, 170, 173,
+  162, 160, 155, 126, 116, 131, 153, 146, 139, 138, 143, 120, 72, 33, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 60,
+  89, 93, 79, 114, 117, 140, 122, 115, 115, 132, 150, 156, 162, 165, 172, 175,
+  174, 167, 148, 124, 115, 121, 126, 129, 133, 128, 126, 125, 127, 133, 143, 147,
+  148, 146, 143, 145, 148, 149, 150, 148, 148, 148, 163, 165, 167, 167, 166, 164,
+  166, 168, 178, 180, 179, 177, 170, 165, 161, 160, 166, 164, 163, 167, 170, 168,
+  170, 174, 182, 179, 176, 175, 175, 173, 170, 168, 171, 176, 177, 173, 171, 169,
+  161, 153, 139, 155, 170, 172, 160, 148, 144, 145, 135, 131, 143, 159, 156, 156,
+  172, 184, 161, 167, 151, 146, 105, 127, 135, 149, 142, 145, 142, 131, 104, 46,
+  112, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 73, 82, 101, 94, 109, 124, 131, 146, 110, 120, 122, 152, 155, 158,
+  160, 167, 172, 170, 163, 149, 125, 118, 123, 126, 131, 135, 129, 130, 129, 130,
+  136, 144, 149, 147, 144, 144, 147, 150, 150, 150, 148, 148, 148, 158, 159, 162,
+  164, 165, 167, 168, 170, 172, 179, 182, 175, 164, 157, 162, 171, 162, 161, 163,
+  169, 173, 169, 170, 173, 178, 176, 175, 176, 177, 177, 176, 174, 175, 163, 164,
+  175, 171, 153, 150, 164, 160, 154, 146, 145, 148, 152, 150, 145, 138, 133, 139,
+  147, 151, 160, 162, 152, 146, 166, 142, 133, 88, 136, 137, 140, 141, 155, 146,
+  118, 85, 29, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 76, 91, 114, 108, 96, 119, 148, 141, 129, 131, 130,
+  138, 144, 151, 157, 161, 165, 164, 161, 140, 122, 119, 125, 126, 129, 135, 134,
+  130, 132, 134, 139, 144, 147, 146, 145, 146, 146, 149, 148, 147, 148, 152, 154,
+  157, 159, 162, 161, 159, 161, 166, 172, 179, 175, 180, 169, 151, 160, 167, 149,
+  154, 170, 164, 165, 167, 169, 182, 174, 179, 183, 177, 191, 173, 177, 162, 167,
+  175, 165, 162, 168, 170, 165, 160, 162, 154, 160, 158, 147, 134, 130, 135, 140,
+  150, 125, 107, 118, 141, 155, 157, 153, 153, 131, 110, 106, 120, 135, 144, 145,
+  155, 142, 137, 102, 48, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 204, 91, 109, 118, 102, 114, 144, 148,
+  137, 136, 143, 129, 136, 146, 157, 161, 162, 161, 162, 143, 123, 117, 122, 122,
+  127, 136, 136, 131, 132, 133, 138, 143, 146, 146, 145, 147, 148, 150, 149, 148,
+  148, 151, 154, 156, 158, 162, 161, 159, 159, 164, 169, 176, 174, 178, 167, 150,
+  160, 167, 150, 149, 158, 154, 164, 169, 167, 172, 163, 177, 174, 181, 174, 190,
+  173, 186, 176, 161, 158, 157, 165, 166, 160, 154, 153, 154, 157, 154, 143, 128,
+  121, 123, 125, 127, 118, 119, 133, 149, 150, 144, 136, 109, 109, 111, 111, 120,
+  133, 139, 135, 166, 150, 116, 72, 41, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 89, 109, 125, 113,
+  110, 131, 150, 140, 135, 149, 128, 131, 141, 157, 162, 159, 160, 165, 148, 124,
+  115, 121, 121, 126, 135, 137, 132, 132, 134, 137, 141, 145, 146, 146, 149, 150,
+  152, 150, 149, 148, 151, 153, 154, 157, 162, 161, 158, 158, 162, 165, 171, 173,
+  175, 164, 151, 160, 166, 152, 163, 155, 141, 156, 163, 162, 178, 181, 167, 191,
+  188, 195, 183, 170, 184, 179, 182, 179, 178, 178, 173, 164, 157, 155, 154, 152,
+  148, 141, 131, 123, 121, 119, 112, 113, 120, 129, 130, 123, 116, 111, 105, 107,
+  109, 108, 120, 138, 146, 143, 166, 140, 82, 42, 110, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 91,
+  111, 126, 131, 123, 124, 144, 146, 138, 148, 140, 132, 137, 151, 161, 157, 157,
+  162, 150, 124, 115, 123, 123, 126, 133, 135, 133, 132, 133, 136, 140, 144, 146,
+  146, 150, 151, 153, 152, 150, 149, 151, 152, 152, 156, 161, 161, 158, 156, 159,
+  161, 167, 173, 172, 160, 152, 161, 164, 155, 153, 139, 121, 136, 140, 127, 145,
+  161, 187, 178, 165, 158, 197, 177, 209, 178, 184, 184, 183, 180, 175, 170, 167,
+  168, 154, 150, 146, 146, 142, 135, 131, 131, 130, 130, 131, 128, 123, 122, 125,
+  128, 126, 115, 111, 121, 136, 149, 152, 149, 159, 111, 56, 106, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 97, 102, 115, 143, 141, 125, 136, 150, 146, 147, 152, 136, 130, 140,
+  155, 160, 161, 163, 152, 125, 116, 127, 130, 129, 130, 131, 134, 133, 132, 135,
+  140, 145, 145, 146, 149, 151, 154, 153, 150, 149, 150, 151, 153, 156, 161, 160,
+  157, 155, 157, 159, 164, 174, 171, 157, 154, 162, 162, 157, 139, 133, 129, 150,
+  144, 116, 124, 137, 115, 134, 131, 163, 163, 166, 173, 169, 190, 193, 194, 190,
+  185, 178, 171, 167, 158, 153, 151, 154, 154, 148, 145, 145, 144, 145, 143, 138,
+  132, 132, 137, 138, 123, 113, 124, 149, 159, 151, 147, 154, 140, 75, 43, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 207, 94, 102, 137, 146, 125, 125, 143, 151, 146, 156,
+  141, 129, 131, 147, 160, 166, 165, 155, 125, 116, 129, 132, 129, 128, 129, 132,
+  132, 132, 136, 141, 145, 145, 145, 147, 149, 153, 152, 150, 149, 150, 151, 155,
+  157, 161, 159, 155, 154, 156, 159, 162, 177, 170, 155, 157, 163, 160, 159, 151,
+  147, 144, 166, 162, 140, 160, 179, 138, 132, 140, 137, 135, 128, 146, 170, 163,
+  170, 180, 183, 184, 183, 177, 169, 165, 158, 157, 161, 160, 152, 150, 153, 152,
+  156, 157, 148, 136, 129, 124, 119, 124, 126, 143, 161, 159, 144, 149, 165, 96,
+  39, 106, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 110, 107, 126, 142, 134, 123, 134,
+  149, 146, 153, 148, 136, 127, 136, 156, 166, 164, 159, 127, 116, 129, 131, 127,
+  130, 132, 130, 131, 134, 138, 142, 145, 145, 144, 144, 147, 151, 152, 150, 149,
+  150, 151, 157, 159, 161, 158, 154, 153, 157, 160, 162, 180, 171, 154, 159, 163,
+  158, 161, 160, 150, 136, 152, 155, 150, 183, 207, 179, 117, 205, 160, 255, 165,
+  154, 107, 126, 130, 134, 139, 151, 164, 171, 167, 165, 158, 156, 161, 159, 150,
+  149, 156, 160, 166, 160, 144, 127, 122, 123, 124, 145, 151, 157, 157, 151, 146,
+  142, 140, 53, 28, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 138, 129, 126, 144,
+  148, 131, 134, 151, 153, 153, 155, 146, 128, 129, 148, 160, 158, 165, 128, 115,
+  127, 130, 126, 130, 134, 129, 131, 134, 139, 143, 145, 144, 143, 142, 145, 150,
+  151, 150, 149, 150, 151, 159, 160, 161, 158, 153, 153, 157, 161, 161, 182, 171,
+  154, 160, 164, 157, 161, 170, 159, 142, 155, 158, 153, 177, 193, 174, 142, 173,
+  186, 170, 175, 140, 189, 189, 176, 152, 130, 126, 133, 136, 133, 158, 152, 152,
+  158, 155, 148, 150, 160, 139, 142, 131, 108, 93, 104, 127, 143, 157, 164, 164,
+  156, 158, 155, 121, 77, 38, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 131,
+  133, 125, 133, 148, 145, 127, 132, 153, 163, 166, 156, 135, 132, 148, 162, 163,
+  163, 148, 125, 118, 130, 133, 129, 136, 120, 131, 138, 141, 145, 147, 143, 135,
+  150, 151, 154, 152, 150, 147, 148, 148, 159, 160, 162, 160, 158, 158, 160, 162,
+  170, 173, 170, 160, 152, 156, 168, 174, 172, 167, 157, 148, 146, 157, 177, 189,
+  162, 156, 167, 177, 193, 185, 164, 183, 187, 197, 148, 161, 173, 118, 109, 123,
+  124, 133, 136, 132, 143, 139, 117, 127, 114, 116, 91, 106, 102, 132, 147, 147,
+  150, 166, 159, 154, 158, 138, 80, 47, 116, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 140, 137, 126, 128, 145, 147, 124, 124, 152, 160, 165, 162, 144, 135,
+  141, 156, 164, 162, 153, 132, 122, 130, 135, 133, 135, 122, 131, 137, 140, 143,
+  146, 143, 136, 145, 146, 150, 150, 148, 147, 148, 149, 156, 157, 159, 158, 157,
+  157, 160, 162, 169, 173, 171, 161, 154, 157, 168, 173, 173, 169, 160, 150, 144,
+  147, 158, 165, 133, 123, 168, 199, 188, 174, 174, 194, 184, 223, 186, 171, 179,
+  170, 177, 161, 123, 112, 103, 117, 125, 120, 139, 174, 169, 97, 98, 125, 119,
+  132, 134, 146, 159, 154, 157, 159, 131, 122, 36, 46, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 140, 135, 129, 139, 149, 127, 120, 148, 154, 161,
+  166, 156, 141, 137, 149, 162, 162, 161, 141, 124, 131, 137, 136, 136, 126, 132,
+  138, 140, 141, 143, 142, 138, 139, 142, 146, 147, 147, 147, 149, 150, 153, 154,
+  157, 157, 156, 156, 160, 162, 169, 172, 171, 162, 156, 159, 168, 171, 173, 172,
+  166, 157, 147, 143, 146, 146, 142, 99, 144, 193, 186, 181, 180, 178, 178, 189,
+  183, 209, 208, 177, 184, 182, 176, 227, 224, 193, 158, 159, 180, 151, 162, 66,
+  107, 131, 121, 127, 130, 149, 162, 159, 157, 136, 146, 41, 55, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 139, 145, 134, 133, 148, 138, 128,
+  144, 153, 158, 164, 163, 149, 140, 146, 157, 163, 167, 149, 125, 127, 137, 138,
+  138, 131, 133, 137, 139, 139, 140, 140, 139, 138, 141, 145, 146, 146, 146, 148,
+  149, 151, 152, 156, 156, 156, 157, 161, 163, 169, 172, 171, 163, 158, 161, 168,
+  170, 173, 172, 170, 164, 158, 151, 148, 145, 139, 123, 163, 181, 151, 143, 159,
+  181, 167, 187, 197, 211, 204, 199, 203, 167, 158, 190, 184, 190, 168, 157, 190,
+  157, 105, 71, 123, 122, 117, 120, 139, 153, 155, 178, 136, 134, 94, 32, 117,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 134, 150, 141, 125,
+  137, 145, 140, 135, 152, 154, 159, 163, 158, 148, 147, 150, 162, 171, 156, 130,
+  126, 134, 137, 141, 135, 135, 136, 139, 140, 140, 140, 141, 141, 143, 146, 146,
+  145, 144, 146, 147, 151, 153, 156, 156, 156, 158, 162, 164, 169, 171, 170, 163,
+  159, 162, 168, 170, 174, 174, 175, 170, 166, 160, 156, 153, 164, 144, 136, 133,
+  151, 159, 139, 139, 176, 166, 173, 194, 190, 193, 204, 182, 186, 194, 173, 187,
+  180, 166, 166, 101, 93, 115, 132, 113, 122, 113, 140, 155, 161, 150, 151, 92,
+  33, 65, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215,
+  145, 143, 126, 124, 144, 146, 129, 150, 153, 157, 159, 161, 159, 153, 149, 159,
+  170, 161, 141, 132, 132, 134, 143, 137, 135, 135, 139, 140, 137, 137, 140, 141,
+  143, 146, 146, 144, 142, 143, 144, 151, 153, 156, 156, 156, 157, 161, 164, 171,
+  172, 169, 162, 159, 163, 169, 170, 177, 176, 176, 173, 169, 164, 159, 157, 139,
+  155, 158, 136, 138, 140, 125, 142, 163, 122, 133, 180, 187, 169, 172, 181, 157,
+  195, 189, 174, 157, 151, 138, 74, 116, 137, 116, 105, 127, 118, 140, 163, 165,
+  134, 132, 54, 28, 118, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 138, 142, 137, 120, 135, 146, 128, 145, 153, 158, 158, 161, 166,
+  161, 150, 153, 166, 167, 156, 145, 133, 132, 145, 138, 135, 136, 141, 140, 136,
+  135, 138, 139, 141, 144, 144, 142, 140, 141, 142, 150, 152, 155, 155, 154, 155,
+  159, 161, 173, 173, 168, 160, 158, 163, 170, 171, 177, 177, 179, 177, 174, 168,
+  162, 159, 160, 147, 152, 151, 155, 159, 140, 130, 133, 139, 154, 152, 159, 174,
+  163, 136, 172, 162, 152, 145, 122, 87, 91, 119, 122, 123, 111, 104, 113, 136,
+  141, 164, 152, 128, 48, 61, 20, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 132, 145, 150, 123, 127, 147, 131, 142, 154, 161,
+  157, 161, 170, 168, 154, 149, 164, 171, 168, 156, 135, 130, 144, 141, 135, 137,
+  142, 142, 135, 134, 137, 136, 138, 141, 141, 140, 139, 140, 141, 150, 153, 154,
+  153, 154, 154, 157, 160, 176, 174, 168, 159, 159, 165, 171, 173, 176, 177, 180,
+  181, 179, 173, 165, 162, 168, 144, 171, 179, 149, 149, 151, 145, 149, 138, 140,
+  138, 137, 133, 124, 124, 121, 123, 120, 111, 126, 125, 107, 118, 115, 111, 132,
+  112, 93, 149, 141, 150, 145, 57, 29, 15, 109, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 220, 143, 147, 122, 113, 151, 145,
+  139, 146, 154, 157, 161, 167, 171, 169, 152, 158, 168, 169, 161, 148, 138, 133,
+  145, 142, 141, 138, 138, 136, 133, 130, 135, 136, 139, 140, 140, 138, 138, 136,
+  151, 152, 152, 153, 155, 158, 161, 165, 171, 171, 167, 159, 158, 164, 170, 174,
+  173, 175, 178, 180, 180, 176, 168, 163, 152, 152, 156, 160, 163, 161, 156, 150,
+  146, 148, 149, 151, 151, 148, 142, 137, 145, 143, 143, 141, 131, 122, 121, 124,
+  116, 133, 114, 94, 126, 125, 144, 144, 112, 31, 6, 25, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 149, 148, 130,
+  118, 139, 146, 140, 146, 153, 155, 160, 168, 173, 172, 155, 155, 160, 166, 167,
+  160, 146, 135, 136, 139, 140, 140, 135, 132, 132, 133, 133, 134, 140, 143, 144,
+  142, 143, 142, 150, 151, 154, 154, 154, 156, 162, 166, 174, 176, 172, 165, 163,
+  168, 174, 176, 173, 173, 174, 177, 178, 178, 175, 172, 161, 156, 151, 151, 154,
+  157, 159, 158, 149, 151, 154, 157, 156, 154, 148, 144, 150, 151, 152, 150, 143,
+  131, 128, 128, 128, 116, 105, 107, 131, 127, 141, 111, 45, 13, 13, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  222, 148, 138, 125, 121, 145, 140, 146, 152, 155, 159, 168, 173, 173, 163, 156,
+  152, 161, 172, 172, 157, 142, 132, 137, 141, 141, 137, 134, 135, 136, 127, 133,
+  141, 145, 144, 141, 141, 141, 147, 151, 154, 153, 152, 153, 159, 167, 174, 177,
+  177, 171, 168, 171, 174, 174, 176, 175, 173, 174, 177, 179, 180, 179, 172, 164,
+  157, 156, 157, 158, 158, 157, 148, 149, 151, 154, 154, 150, 144, 142, 150, 152,
+  154, 155, 148, 137, 132, 131, 129, 106, 107, 113, 130, 135, 136, 65, 25, 31,
+  111, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 148, 148, 135, 113, 145, 144, 149, 152, 154, 157, 166, 172,
+  172, 170, 159, 150, 156, 170, 175, 166, 155, 140, 142, 143, 144, 143, 140, 138,
+  136, 124, 130, 138, 141, 139, 135, 134, 134, 144, 149, 154, 153, 150, 151, 158,
+  166, 170, 174, 176, 171, 168, 170, 170, 169, 178, 175, 173, 173, 175, 177, 178,
+  178, 174, 172, 170, 169, 169, 163, 154, 148, 144, 146, 147, 148, 149, 145, 139,
+  135, 147, 146, 149, 150, 143, 132, 128, 126, 117, 118, 118, 109, 125, 127, 112,
+  31, 34, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 220, 154, 143, 116, 143, 147, 152, 154, 154,
+  156, 163, 167, 168, 175, 165, 156, 157, 162, 169, 171, 168, 153, 147, 143, 144,
+  148, 147, 139, 130, 121, 127, 134, 137, 136, 133, 133, 133, 141, 147, 152, 152,
+  148, 149, 158, 165, 167, 172, 175, 171, 168, 169, 170, 168, 173, 172, 172, 174,
+  177, 178, 177, 175, 174, 173, 174, 177, 175, 169, 158, 150, 146, 146, 147, 147,
+  146, 143, 137, 135, 144, 141, 139, 138, 131, 122, 119, 119, 113, 129, 122, 107,
+  122, 88, 65, 30, 109, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 221, 146, 128, 134, 150,
+  154, 157, 155, 156, 162, 165, 163, 174, 168, 162, 158, 157, 163, 170, 176, 162,
+  152, 142, 143, 149, 149, 139, 128, 124, 124, 128, 132, 136, 138, 141, 140, 140,
+  145, 149, 149, 148, 150, 157, 163, 167, 173, 176, 173, 171, 172, 174, 171, 166,
+  167, 170, 174, 178, 180, 181, 178, 176, 170, 170, 170, 172, 171, 168, 164, 152,
+  152, 152, 150, 150, 146, 142, 137, 146, 141, 139, 138, 134, 126, 123, 123, 121,
+  124, 117, 117, 116, 40, 23, 41, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 218,
+  143, 122, 147, 152, 157, 156, 157, 163, 165, 162, 169, 168, 164, 161, 159, 163,
+  169, 176, 169, 158, 148, 146, 151, 151, 144, 134, 129, 127, 125, 129, 137, 143,
+  144, 144, 141, 143, 145, 146, 148, 151, 156, 161, 167, 172, 174, 171, 172, 175,
+  177, 175, 170, 169, 173, 176, 180, 182, 183, 179, 176, 169, 164, 163, 167, 169,
+  167, 167, 158, 157, 155, 155, 154, 150, 146, 142, 147, 144, 143, 144, 143, 136,
+  132, 129, 122, 116, 119, 118, 93, 16, 15, 106, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 153, 113, 144, 150, 157, 156, 160, 163, 166, 163, 164, 165, 164,
+  163, 162, 165, 171, 173, 171, 164, 154, 151, 153, 153, 149, 144, 136, 129, 123,
+  126, 134, 141, 142, 140, 142, 142, 143, 145, 149, 153, 156, 158, 163, 170, 172,
+  170, 169, 174, 176, 176, 176, 175, 175, 176, 178, 180, 181, 177, 175, 169, 165,
+  165, 167, 165, 161, 157, 160, 159, 158, 156, 155, 151, 146, 142, 139, 137, 139,
+  144, 145, 136, 131, 127, 117, 112, 128, 110, 64, 16, 104, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 130, 136, 149, 161, 158, 157, 160, 165, 165,
+  164, 171, 168, 167, 174, 170, 165, 169, 169, 166, 162, 159, 156, 154, 151, 149,
+  144, 139, 128, 117, 115, 126, 137, 142, 142, 136, 135, 141, 147, 150, 152, 155,
+  159, 164, 167, 168, 166, 169, 175, 184, 181, 177, 174, 171, 174, 175, 176, 174,
+  177, 164, 157, 160, 165, 163, 159, 155, 156, 154, 152, 150, 150, 147, 144, 141,
+  137, 143, 150, 149, 143, 134, 126, 117, 116, 112, 122, 102, 7, 23, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 134, 146, 158, 157, 157,
+  159, 164, 164, 163, 170, 167, 166, 173, 172, 168, 173, 173, 168, 165, 163, 160,
+  157, 153, 150, 148, 145, 136, 125, 120, 124, 127, 127, 143, 139, 136, 137, 138,
+  141, 149, 159, 155, 159, 165, 166, 167, 170, 174, 178, 180, 178, 174, 174, 174,
+  177, 176, 173, 177, 165, 162, 164, 165, 162, 158, 156, 151, 149, 148, 148, 148,
+  147, 143, 141, 142, 146, 149, 147, 141, 132, 124, 118, 124, 111, 119, 58, 22,
+  85, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 143,
+  155, 156, 158, 160, 164, 163, 166, 171, 168, 166, 172, 173, 171, 177, 173, 172,
+  168, 167, 166, 162, 157, 153, 154, 154, 147, 136, 128, 124, 118, 112, 134, 134,
+  134, 135, 132, 132, 142, 154, 151, 153, 160, 164, 168, 169, 171, 173, 177, 176,
+  176, 176, 176, 177, 175, 172, 176, 169, 167, 168, 166, 161, 160, 160, 149, 147,
+  146, 146, 148, 147, 144, 142, 149, 150, 148, 145, 139, 130, 125, 120, 125, 115,
+  90, 16, 27, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 220, 156, 160, 162, 164, 164, 169, 174, 168, 166, 171, 172, 172,
+  180, 173, 173, 170, 171, 169, 165, 158, 153, 158, 160, 155, 145, 136, 129, 119,
+  110, 118, 122, 129, 135, 134, 132, 136, 143, 148, 147, 152, 157, 163, 168, 170,
+  170, 174, 175, 175, 178, 178, 178, 175, 173, 178, 172, 172, 171, 170, 163, 161,
+  162, 152, 150, 149, 149, 150, 149, 146, 144, 152, 150, 145, 141, 135, 130, 127,
+  122, 116, 123, 43, 7, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 222, 162, 164, 165, 167, 173, 177, 170, 166,
+  173, 174, 171, 179, 172, 172, 173, 173, 170, 166, 159, 154, 159, 161, 159, 152,
+  143, 138, 130, 122, 113, 114, 118, 125, 128, 129, 132, 138, 143, 142, 143, 147,
+  154, 162, 166, 169, 171, 172, 174, 177, 180, 179, 176, 174, 180, 175, 175, 175,
+  173, 167, 163, 165, 160, 158, 156, 156, 155, 153, 150, 147, 150, 147, 143, 137,
+  134, 130, 127, 124, 114, 116, 20, 10, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 165, 168, 174,
+  178, 172, 168, 174, 174, 171, 178, 172, 172, 173, 173, 170, 166, 160, 155, 157,
+  160, 160, 155, 149, 146, 140, 133, 124, 118, 112, 113, 115, 120, 130, 138, 136,
+  137, 139, 142, 148, 155, 163, 167, 168, 169, 171, 175, 178, 181, 179, 177, 181,
+  176, 174, 177, 176, 171, 166, 166, 164, 163, 161, 160, 159, 157, 154, 151, 149,
+  146, 141, 137, 136, 132, 127, 124, 117, 87, 27, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 226, 172, 177, 172, 169, 176, 176, 173, 180, 175, 174, 173, 173, 172, 169,
+  162, 157, 157, 161, 161, 158, 155, 152, 144, 137, 135, 129, 119, 113, 107, 109,
+  119, 133, 126, 130, 136, 142, 144, 150, 157, 164, 166, 167, 169, 173, 177, 179,
+  179, 180, 182, 176, 174, 178, 181, 176, 170, 167, 163, 162, 162, 162, 162, 161,
+  158, 156, 151, 148, 144, 141, 139, 134, 128, 121, 110, 47, 104, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 227, 173, 169, 170, 178, 178, 176, 184, 179, 176, 175,
+  175, 174, 170, 165, 162, 156, 161, 162, 160, 157, 153, 145, 137, 138, 137, 133,
+  122, 108, 102, 112, 125, 121, 127, 136, 141, 144, 147, 153, 160, 162, 163, 166,
+  169, 174, 177, 179, 180, 181, 174, 171, 177, 182, 179, 172, 167, 160, 158, 160,
+  161, 162, 160, 158, 155, 153, 150, 147, 144, 139, 134, 124, 115, 95, 16, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 172, 177, 179, 180, 181,
+  179, 178, 177, 176, 175, 171, 168, 163, 163, 162, 162, 157, 155, 156, 151, 144,
+  149, 147, 141, 134, 126, 117, 111, 107, 114, 122, 129, 129, 132, 140, 149, 154,
+  153, 156, 162, 165, 169, 169, 169, 169, 179, 171, 168, 173, 179, 177, 171, 167,
+  161, 159, 157, 156, 158, 157, 157, 156, 152, 151, 148, 141, 131, 119, 111, 106,
+  30, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 177,
+  179, 181, 181, 180, 179, 177, 177, 176, 174, 168, 164, 164, 163, 163, 158, 158,
+  157, 154, 148, 148, 145, 142, 134, 129, 123, 117, 113, 100, 112, 124, 130, 133,
+  139, 142, 142, 150, 151, 153, 156, 159, 161, 164, 164, 169, 162, 160, 165, 170,
+  168, 163, 160, 157, 155, 152, 151, 153, 155, 157, 157, 157, 148, 143, 140, 130,
+  115, 108, 108, 104, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 231, 182, 181, 180, 179, 178, 177, 175, 170, 166, 165, 164,
+  164, 160, 159, 159, 156, 149, 147, 144, 142, 136, 132, 128, 123, 121, 96, 106,
+  117, 121, 126, 132, 137, 137, 150, 149, 149, 150, 153, 156, 161, 165, 166, 159,
+  157, 163, 167, 166, 161, 158, 152, 150, 147, 147, 151, 154, 156, 157, 151, 152,
+  143, 127, 119, 114, 102, 142, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 231, 181, 180, 179, 180, 179, 176, 171,
+  167, 164, 163, 164, 159, 159, 159, 156, 150, 148, 146, 143, 138, 135, 132, 128,
+  127, 113, 113, 110, 105, 107, 118, 131, 137, 143, 143, 144, 145, 149, 152, 156,
+  159, 163, 157, 155, 160, 164, 161, 158, 157, 148, 147, 147, 148, 151, 152, 152,
+  151, 141, 153, 143, 117, 108, 113, 141, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 179, 180,
+  179, 177, 171, 168, 163, 162, 162, 158, 158, 158, 156, 149, 151, 149, 146, 140,
+  137, 134, 131, 130, 128, 122, 110, 97, 95, 106, 120, 126, 131, 132, 135, 138,
+  141, 144, 146, 147, 153, 150, 148, 152, 154, 152, 149, 150, 145, 146, 148, 149,
+  151, 149, 146, 140, 140, 141, 134, 122, 114, 150, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 230, 178, 176, 173, 168, 162, 161, 162, 158, 158, 158, 156, 150, 153,
+  150, 147, 141, 138, 136, 133, 132, 131, 126, 116, 104, 100, 103, 109, 107, 120,
+  123, 126, 131, 134, 138, 140, 141, 144, 142, 142, 147, 148, 144, 143, 143, 141,
+  142, 143, 146, 145, 142, 137, 133, 143, 121, 115, 128, 114, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 229, 173, 168, 163, 162, 163, 159, 159, 160,
+  158, 151, 152, 150, 146, 141, 139, 137, 136, 135, 131, 129, 128, 120, 115, 113,
+  108, 101, 110, 109, 112, 115, 119, 123, 129, 132, 136, 134, 134, 139, 139, 136,
+  134, 135, 135, 134, 133, 133, 133, 133, 130, 126, 132, 113, 106, 104, 138, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 164, 164, 164,
+  161, 161, 161, 159, 153, 151, 148, 145, 140, 139, 139, 138, 139, 134, 134, 135,
+  129, 126, 122, 114, 106, 95, 93, 92, 94, 99, 106, 114, 119, 123, 121, 123,
+  127, 126, 123, 121, 124, 130, 127, 124, 121, 122, 124, 124, 122, 113, 116, 106,
+  132, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 223, 162, 161, 159, 156, 155, 153, 148, 149, 150, 145, 142, 137, 134, 134,
+  135, 136, 135, 128, 124, 121, 115, 107, 104, 109, 85, 71, 93, 74, 98, 101,
+  102, 104, 109, 112, 114, 114, 113, 112, 109, 108, 109, 114, 118, 117, 110, 102,
+  107, 90, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 161, 160, 157, 156, 154, 149, 149, 150, 145, 141,
+  137, 134, 134, 138, 140, 138, 133, 128, 126, 123, 116, 115, 117, 97, 88, 85,
+  57, 61, 51, 62, 63, 67, 69, 71, 73, 73, 75, 83, 82, 83, 85, 88,
+  143, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 222, 156, 154, 150, 150,
+  150, 144, 141, 137, 135, 135, 138, 139, 138, 131, 128, 127, 126, 121, 116, 113,
+  98, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 220, 150, 149, 143, 140, 137, 136, 137, 138, 139, 138, 132, 130, 131, 130,
+  126, 122, 107, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 142, 140, 138, 138, 141, 146, 147, 145, 138,
+  137, 141, 141, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 217, 145, 146,
+  147, 146, 142, 142, 180, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 216, 135, 132, 133, 129, 124, 121, 123, 130, 120, 109, 106, 111, 117,
+  117, 116, 146, 222, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 137,
+  137, 137, 136, 132, 128, 118, 114, 115, 122, 120, 109, 105, 109, 108, 111, 107,
+  94, 85, 96, 125, 151, 132, 121, 117, 128, 143, 148, 147, 144, 133, 175, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 134,
+  132, 130, 128, 126, 118, 99, 73, 54, 47, 49, 45, 38, 40, 50, 57, 58,
+  64, 62, 50, 35, 30, 53, 98, 134, 137, 112, 93, 64, 91, 124, 153, 133,
+  138, 141, 148, 154, 152, 146, 181, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 203, 160, 133,
+  133, 126, 116, 119, 112, 103, 95, 82, 64, 41, 26, 33, 35, 30, 24, 24,
+  31, 36, 35, 43, 44, 40, 29, 25, 40, 69, 94, 139, 115, 116, 67, 71,
+  65, 124, 140, 149, 142, 138, 138, 139, 137, 139, 144, 154, 186, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 200, 153, 128,
+  213, 130, 124, 106, 75, 48, 35, 30, 26, 25, 27, 26, 21, 15, 20, 22,
+  21, 17, 17, 21, 23, 23, 21, 26, 28, 25, 22, 25, 37, 46, 108, 95,
+  126, 85, 78, 29, 86, 113, 114, 115, 125, 141, 152, 151, 145, 142, 141, 137,
+  136, 141, 144, 182, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 199, 80, 67, 52, 43, 36, 24, 12, 17, 12, 7, 6, 10, 13, 13,
+  11, 14, 15, 16, 16, 16, 19, 21, 21, 14, 18, 22, 24, 22, 21, 20,
+  20, 38, 29, 63, 52, 48, 8, 32, 42, 44, 54, 76, 103, 119, 122, 119,
+  117, 124, 120, 121, 135, 145, 147, 141, 138, 172, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 219, 89, 40, 38, 28, 15, 9, 12, 17, 19, 29, 25, 20, 17,
+  17, 17, 15, 14, 12, 13, 14, 16, 16, 15, 15, 17, 18, 18, 18, 21,
+  22, 23, 20, 17, 28, 21, 25, 31, 25, 28, 32, 30, 31, 35, 42, 52,
+  60, 70, 86, 100, 112, 104, 104, 118, 134, 139, 136, 133, 149, 134, 114, 126,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 211, 80, 32, 31, 16, 27, 34, 32, 27, 26, 24, 22, 13,
+  12, 12, 13, 15, 17, 16, 15, 18, 17, 16, 18, 17, 12, 11, 12, 20,
+  17, 14, 14, 18, 22, 22, 21, 12, 18, 12, 21, 6, 28, 24, 17, 45,
+  44, 43, 44, 44, 52, 72, 92, 84, 78, 78, 89, 105, 121, 135, 145, 122,
+  141, 130, 113, 58, 81, 142, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 180, 18, 18, 21, 20, 26, 25, 18, 8, 6, 12,
+  20, 22, 24, 23, 21, 20, 18, 15, 11, 9, 21, 18, 17, 19, 18, 13,
+  11, 14, 19, 15, 11, 11, 14, 20, 21, 22, 21, 27, 36, 45, 38, 46,
+  40, 27, 29, 34, 40, 45, 45, 44, 50, 59, 54, 58, 63, 67, 71, 84,
+  111, 135, 115, 154, 151, 123, 62, 119, 111, 52, 158, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 183, 18, 23, 26, 20, 20, 19, 20, 19,
+  18, 20, 23, 21, 15, 17, 17, 18, 18, 20, 20, 20, 20, 16, 11, 10,
+  15, 15, 10, 10, 15, 17, 14, 11, 11, 14, 18, 20, 20, 23, 13, 29,
+  33, 46, 40, 44, 29, 32, 33, 39, 45, 45, 40, 38, 39, 43, 55, 64,
+  57, 42, 42, 67, 96, 142, 129, 115, 118, 54, 89, 77, 31, 80, 124, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 184, 20, 17, 21, 21, 18, 17,
+  18, 21, 19, 15, 17, 23, 24, 19, 25, 19, 16, 21, 29, 32, 26, 19,
+  22, 18, 13, 10, 10, 10, 10, 9, 10, 14, 15, 14, 14, 18, 23, 25,
+  22, 32, 37, 36, 42, 51, 49, 39, 25, 27, 30, 31, 32, 31, 31, 31,
+  30, 39, 44, 45, 46, 51, 52, 48, 84, 111, 131, 86, 43, 79, 93, 37,
+  38, 99, 137, 130, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 184, 28, 18, 17, 19,
+  18, 18, 20, 18, 20, 18, 16, 18, 23, 22, 16, 25, 20, 16, 18, 25,
+  28, 26, 22, 24, 22, 18, 16, 18, 19, 18, 17, 16, 16, 14, 15, 18,
+  22, 21, 20, 19, 22, 29, 38, 42, 39, 34, 32, 30, 27, 25, 27, 31,
+  32, 31, 28, 23, 30, 34, 33, 34, 37, 37, 33, 58, 61, 82, 84, 62,
+  68, 81, 68, 45, 69, 98, 142, 172, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 180, 20, 19,
+  20, 21, 19, 14, 15, 19, 20, 19, 17, 16, 20, 24, 22, 15, 24, 21,
+  18, 18, 20, 23, 24, 24, 20, 18, 16, 17, 19, 20, 20, 19, 23, 18,
+  14, 16, 20, 22, 21, 18, 26, 21, 29, 45, 48, 35, 27, 30, 33, 26,
+  19, 20, 26, 30, 29, 25, 18, 24, 28, 30, 33, 38, 41, 41, 55, 49,
+  64, 86, 85, 70, 71, 89, 60, 61, 68, 133, 158, 137, 166, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 183,
+  18, 16, 19, 22, 22, 17, 13, 13, 16, 22, 19, 16, 18, 24, 26, 22,
+  16, 22, 22, 21, 20, 20, 20, 22, 24, 18, 16, 15, 16, 18, 19, 19,
+  18, 23, 18, 15, 17, 18, 18, 20, 23, 32, 30, 34, 44, 45, 35, 28,
+  27, 28, 22, 16, 14, 17, 21, 23, 24, 21, 23, 26, 27, 30, 33, 37,
+  40, 32, 46, 50, 56, 62, 50, 45, 64, 63, 69, 57, 102, 102, 91, 85,
+  104, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 176, 31, 13, 17, 17, 17, 16, 16, 16, 15, 13, 18, 15, 16, 21,
+  26, 25, 21, 17, 20, 23, 25, 25, 24, 22, 22, 23, 21, 19, 17, 17,
+  19, 21, 22, 20, 19, 17, 18, 18, 15, 13, 20, 31, 31, 37, 36, 31,
+  30, 32, 28, 19, 19, 19, 17, 13, 11, 13, 19, 24, 29, 27, 25, 21,
+  17, 16, 17, 21, 12, 37, 37, 30, 37, 34, 32, 53, 53, 58, 46, 86,
+  77, 57, 55, 84, 157, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 204, 64, 16, 25, 12, 13, 12, 11, 9, 14, 20, 20, 15, 14,
+  14, 18, 25, 28, 25, 21, 22, 21, 23, 26, 26, 25, 23, 21, 20, 22,
+  19, 15, 16, 18, 21, 21, 22, 18, 18, 23, 25, 20, 14, 21, 36, 35,
+  41, 37, 24, 23, 30, 27, 16, 14, 18, 20, 17, 12, 12, 20, 26, 37,
+  31, 29, 26, 22, 20, 24, 30, 28, 37, 33, 34, 40, 29, 31, 57, 52,
+  38, 33, 86, 90, 44, 30, 53, 91, 83, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 174, 14, 20, 8, 22, 14, 10, 13, 12, 10, 14, 21,
+  24, 21, 15, 17, 25, 33, 33, 29, 28, 32, 24, 23, 22, 22, 23, 22,
+  20, 18, 23, 18, 15, 14, 17, 22, 26, 28, 24, 24, 30, 38, 33, 23,
+  24, 35, 43, 42, 36, 30, 28, 28, 25, 22, 16, 19, 22, 22, 21, 21,
+  25, 27, 40, 34, 32, 34, 33, 34, 42, 51, 38, 34, 27, 27, 32, 25,
+  23, 35, 47, 32, 28, 64, 84, 39, 27, 33, 57, 39, 67, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 174, 16, 16, 5, 15, 5, 14, 12, 18, 20,
+  16, 17, 23, 26, 24, 20, 23, 33, 42, 41, 34, 36, 42, 25, 23, 19,
+  17, 18, 20, 19, 18, 27, 23, 18, 19, 23, 30, 35, 38, 29, 28, 34,
+  46, 45, 32, 25, 29, 46, 35, 30, 34, 31, 21, 18, 23, 19, 20, 23,
+  26, 29, 30, 29, 27, 39, 33, 29, 30, 30, 29, 37, 47, 39, 39, 31,
+  23, 29, 40, 35, 23, 29, 30, 26, 27, 56, 37, 46, 36, 41, 76, 112,
+  98, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 185, 26, 8, 6, 11, 12, 11, 12,
+  13, 9, 17, 18, 11, 15, 25, 27, 22, 24, 35, 36, 24, 25, 39, 45,
+  36, 26, 15, 13, 19, 24, 21, 16, 18, 26, 24, 10, 32, 50, 34, 40,
+  53, 39, 49, 49, 55, 28, 33, 42, 31, 24, 39, 30, 29, 35, 17, 24,
+  27, 25, 23, 26, 36, 42, 36, 24, 34, 39, 37, 28, 24, 31, 39, 40,
+  58, 43, 26, 22, 29, 34, 30, 24, 31, 20, 19, 35, 45, 45, 50, 61,
+  63, 75, 98, 94, 151, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 72, 30, 16, 5, 6, 10,
+  10, 8, 8, 7, 5, 14, 18, 13, 19, 28, 29, 16, 20, 29, 29, 24,
+  33, 46, 45, 44, 26, 16, 21, 24, 17, 15, 20, 30, 36, 35, 19, 37,
+  55, 41, 46, 79, 53, 51, 49, 53, 26, 33, 45, 47, 35, 40, 28, 27,
+  34, 19, 25, 14, 32, 49, 50, 41, 33, 29, 25, 27, 30, 27, 20, 19,
+  24, 29, 31, 44, 33, 21, 20, 25, 29, 26, 21, 26, 25, 24, 30, 40,
+  50, 53, 51, 74, 59, 66, 62, 106, 157, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 209, 87, 62, 14, 9,
+  5, 10, 13, 11, 7, 7, 7, 5, 13, 18, 15, 20, 29, 26, 12, 16,
+  23, 23, 26, 47, 57, 46, 46, 25, 16, 24, 23, 10, 12, 26, 36, 43,
+  48, 38, 56, 78, 69, 74, 74, 57, 52, 40, 51, 41, 47, 44, 54, 43,
+  39, 27, 23, 29, 19, 24, 20, 46, 66, 66, 48, 35, 29, 28, 22, 23,
+  20, 16, 15, 19, 22, 21, 28, 23, 19, 19, 22, 25, 25, 23, 27, 32,
+  30, 26, 36, 51, 51, 38, 72, 47, 60, 72, 95, 104, 160, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 209, 135, 134, 80,
+  23, 9, 10, 11, 13, 14, 13, 11, 11, 11, 6, 13, 18, 15, 19, 23,
+  18, 11, 16, 20, 18, 27, 53, 61, 42, 36, 21, 13, 15, 15, 10, 19,
+  34, 29, 37, 52, 48, 63, 86, 80, 81, 66, 68, 68, 44, 59, 63, 61,
+  34, 53, 50, 48, 38, 32, 31, 29, 33, 47, 56, 62, 61, 55, 49, 40,
+  32, 25, 24, 22, 20, 18, 19, 19, 18, 22, 22, 20, 21, 22, 26, 30,
+  32, 34, 34, 28, 24, 32, 45, 43, 32, 48, 30, 55, 76, 81, 97, 81,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 88,
+  45, 23, 13, 11, 12, 13, 13, 12, 12, 14, 16, 16, 13, 6, 11, 16,
+  14, 19, 20, 13, 11, 15, 19, 16, 22, 47, 52, 30, 22, 20, 13, 4,
+  7, 21, 37, 44, 46, 53, 75, 72, 76, 95, 89, 84, 95, 87, 85, 69,
+  79, 65, 58, 40, 54, 64, 67, 65, 56, 48, 53, 56, 61, 62, 62, 60,
+  61, 60, 52, 43, 36, 34, 31, 29, 25, 20, 20, 20, 22, 24, 23, 22,
+  22, 27, 36, 42, 41, 32, 24, 26, 33, 38, 40, 40, 46, 36, 52, 62,
+  57, 86, 64, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  196, 34, 20, 17, 14, 13, 15, 14, 14, 12, 8, 10, 15, 19, 18, 16,
+  7, 9, 15, 16, 22, 24, 15, 12, 13, 18, 16, 17, 31, 33, 15, 14,
+  18, 13, 4, 10, 34, 51, 53, 59, 65, 93, 91, 89, 109, 105, 96, 120,
+  88, 84, 87, 91, 55, 58, 72, 59, 75, 77, 82, 74, 64, 74, 74, 62,
+  70, 76, 74, 69, 67, 63, 59, 51, 49, 46, 40, 31, 22, 21, 26, 23,
+  24, 23, 22, 22, 27, 34, 41, 42, 33, 27, 30, 34, 37, 40, 45, 45,
+  47, 52, 56, 50, 71, 48, 75, 104, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 201, 44, 20, 22, 12, 7, 13, 13, 13, 15, 12, 8, 11, 20,
+  23, 20, 25, 13, 13, 17, 19, 25, 26, 17, 14, 15, 21, 22, 14, 17,
+  18, 7, 13, 13, 11, 11, 21, 37, 50, 53, 55, 59, 89, 88, 81, 101,
+  103, 95, 114, 88, 89, 89, 93, 64, 78, 99, 70, 83, 74, 82, 79, 70,
+  85, 80, 73, 81, 85, 82, 79, 78, 76, 73, 66, 65, 63, 54, 39, 26,
+  26, 34, 24, 25, 24, 23, 23, 26, 31, 36, 44, 49, 46, 37, 35, 40,
+  40, 36, 30, 35, 35, 47, 49, 46, 26, 31, 6, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 115, 55, 22, 14, 13, 2, 15, 22, 0, 13, 15, 11,
+  9, 15, 26, 28, 23, 35, 21, 17, 20, 20, 25, 25, 15, 16, 16, 26,
+  27, 15, 11, 12, 6, 13, 5, 6, 19, 28, 33, 41, 51, 79, 79, 105,
+  97, 85, 104, 106, 97, 101, 104, 110, 90, 92, 83, 99, 101, 84, 89, 70,
+  77, 79, 75, 91, 82, 94, 89, 82, 79, 85, 91, 89, 81, 78, 77, 74,
+  64, 45, 28, 31, 41, 24, 25, 26, 27, 26, 27, 29, 31, 48, 65, 63,
+  43, 33, 40, 36, 22, 43, 40, 28, 46, 57, 41, 35, 37, 43, 81, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 46, 14, 16, 16, 15, 13, 13, 14, 15,
+  10, 15, 17, 14, 12, 15, 22, 26, 31, 30, 26, 22, 21, 20, 17, 12,
+  3, 39, 41, 47, 37, 12, 22, 23, 17, 6, 26, 45, 47, 64, 33, 74,
+  79, 78, 112, 96, 89, 106, 93, 115, 110, 105, 104, 106, 104, 100, 103, 111,
+  104, 104, 106, 107, 102, 96, 96, 100, 106, 103, 101, 101, 100, 100, 95, 91,
+  87, 94, 89, 65, 47, 43, 48, 50, 37, 36, 34, 31, 33, 39, 39, 38,
+  46, 44, 45, 48, 41, 29, 23, 25, 21, 27, 33, 36, 37, 43, 48, 52,
+  35, 68, 76, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 202, 22, 13, 14, 15, 15, 13,
+  12, 13, 14, 13, 15, 15, 11, 11, 15, 17, 18, 19, 20, 20, 19, 17,
+  16, 12, 9, 34, 50, 33, 32, 34, 24, 24, 9, 27, 10, 41, 47, 51,
+  46, 44, 104, 90, 88, 117, 101, 95, 111, 96, 114, 108, 105, 105, 107, 105,
+  102, 104, 111, 102, 101, 102, 105, 102, 99, 100, 106, 103, 98, 96, 101, 109,
+  112, 108, 102, 88, 93, 89, 71, 53, 44, 46, 49, 41, 38, 36, 34, 37,
+  39, 39, 38, 46, 43, 42, 44, 40, 33, 28, 30, 32, 31, 28, 27, 31,
+  41, 52, 59, 27, 77, 49, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 55, 14, 13, 14,
+  15, 14, 12, 11, 12, 13, 19, 20, 16, 11, 11, 15, 14, 10, 14, 14,
+  14, 14, 13, 13, 15, 17, 39, 56, 43, 34, 30, 19, 17, 11, 1, 18,
+  78, 66, 72, 52, 57, 97, 100, 96, 117, 103, 100, 113, 98, 109, 106, 105,
+  106, 109, 108, 105, 107, 111, 103, 101, 101, 103, 103, 102, 105, 111, 108, 102,
+  97, 101, 110, 113, 105, 96, 97, 97, 95, 86, 69, 55, 53, 61, 44, 42,
+  39, 40, 43, 45, 47, 49, 52, 45, 42, 42, 42, 37, 33, 32, 25, 25,
+  29, 36, 45, 51, 56, 57, 47, 46, 77, 36, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 38, 27,
+  14, 13, 14, 15, 14, 12, 11, 11, 13, 21, 25, 23, 15, 12, 15, 15,
+  10, 17, 15, 13, 13, 13, 15, 22, 30, 31, 41, 39, 41, 38, 18, 8,
+  10, 9, 48, 84, 44, 44, 65, 83, 102, 102, 98, 110, 101, 100, 111, 99,
+  103, 104, 106, 108, 110, 109, 108, 110, 112, 108, 105, 104, 106, 106, 105, 109,
+  115, 113, 109, 106, 109, 114, 113, 106, 98, 108, 105, 105, 102, 88, 72, 72,
+  82, 67, 60, 51, 49, 49, 49, 52, 55, 56, 51, 45, 45, 45, 42, 38,
+  32, 24, 24, 28, 41, 52, 60, 63, 65, 66, 49, 59, 37, 137, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  38, 25, 16, 7, 12, 13, 14, 14, 12, 12, 14, 15, 17, 26, 26, 17,
+  12, 17, 19, 14, 15, 12, 12, 17, 19, 18, 23, 30, 42, 21, 15, 33,
+  46, 27, 1, 5, 24, 63, 66, 44, 39, 82, 89, 100, 103, 100, 105, 100,
+  102, 111, 103, 102, 104, 108, 110, 110, 110, 111, 112, 112, 114, 109, 107, 110,
+  111, 110, 111, 116, 109, 111, 114, 116, 117, 117, 115, 112, 111, 107, 107, 106,
+  96, 84, 86, 98, 98, 84, 70, 63, 56, 51, 52, 57, 57, 54, 49, 49,
+  52, 52, 47, 40, 43, 31, 23, 27, 39, 52, 65, 77, 65, 59, 34, 67,
+  61, 148, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 26, 17, 14, 7, 11, 13, 14, 15, 14, 14, 17, 18, 12,
+  22, 24, 16, 16, 26, 27, 20, 13, 8, 10, 19, 23, 19, 18, 22, 45,
+  21, 18, 25, 32, 19, 2, 25, 37, 55, 50, 69, 70, 94, 83, 98, 107,
+  107, 107, 105, 107, 113, 111, 106, 107, 111, 112, 110, 109, 112, 113, 112, 118,
+  112, 110, 112, 113, 113, 113, 115, 107, 111, 115, 115, 112, 108, 107, 107, 103,
+  103, 104, 102, 95, 89, 93, 100, 104, 91, 79, 75, 70, 65, 67, 74, 60,
+  60, 57, 55, 58, 62, 60, 55, 48, 37, 30, 33, 37, 42, 51, 64, 59,
+  46, 55, 52, 74, 76, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 176, 13, 8, 14, 11, 10, 12, 14, 15, 15, 16,
+  20, 22, 14, 20, 19, 16, 27, 44, 42, 27, 31, 16, 8, 13, 20, 20,
+  23, 29, 36, 31, 38, 23, 16, 17, 15, 48, 61, 60, 50, 66, 84, 93,
+  104, 122, 112, 116, 111, 111, 112, 114, 116, 110, 111, 115, 115, 110, 108, 112,
+  114, 113, 115, 110, 108, 113, 115, 113, 112, 113, 109, 111, 112, 113, 111, 106,
+  102, 98, 96, 103, 106, 102, 96, 95, 97, 96, 96, 86, 81, 85, 87, 81,
+  81, 89, 74, 74, 68, 61, 60, 66, 70, 68, 45, 40, 41, 48, 47, 39,
+  40, 48, 56, 54, 59, 65, 66, 86, 140, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 15, 18, 9, 12, 7, 10, 12, 14,
+  16, 16, 18, 22, 24, 20, 21, 17, 18, 39, 60, 54, 34, 57, 30, 7,
+  6, 13, 21, 34, 47, 36, 34, 36, 15, 21, 41, 31, 44, 41, 59, 76,
+  80, 113, 108, 118, 110, 115, 121, 114, 114, 113, 113, 118, 111, 113, 117, 116,
+  109, 106, 112, 115, 113, 112, 107, 107, 112, 116, 114, 112, 112, 108, 107, 109,
+  114, 119, 119, 114, 109, 96, 108, 113, 106, 101, 103, 100, 94, 100, 91, 88,
+  95, 94, 83, 79, 83, 89, 88, 79, 65, 59, 65, 72, 74, 56, 47, 44,
+  46, 42, 36, 43, 57, 65, 60, 69, 69, 78, 93, 81, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 32, 11, 11, 17, 11,
+  8, 13, 26, 12, 9, 20, 14, 17, 37, 16, 19, 13, 17, 68, 43, 37,
+  25, 41, 3, 23, 25, 25, 31, 45, 58, 71, 47, 44, 40, 47, 38, 53,
+  69, 97, 120, 120, 113, 114, 116, 117, 121, 121, 120, 119, 118, 118, 118, 119,
+  117, 113, 109, 108, 109, 112, 115, 116, 117, 115, 111, 110, 110, 111, 110, 109,
+  110, 111, 111, 111, 111, 111, 111, 112, 106, 108, 110, 111, 108, 106, 105, 107,
+  96, 92, 89, 89, 91, 92, 88, 85, 83, 82, 82, 82, 83, 81, 79, 77,
+  81, 83, 36, 44, 48, 26, 48, 44, 34, 40, 41, 40, 47, 58, 58, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 16, 25, 10,
+  10, 12, 10, 13, 14, 27, 16, 11, 18, 14, 23, 23, 21, 18, 16, 9,
+  38, 36, 59, 16, 34, 29, 19, 20, 16, 32, 36, 40, 52, 63, 71, 74,
+  84, 82, 102, 106, 119, 126, 120, 116, 121, 125, 124, 123, 122, 121, 120, 119,
+  119, 119, 119, 117, 114, 110, 108, 109, 113, 115, 116, 116, 114, 112, 111, 112,
+  112, 110, 109, 110, 111, 112, 112, 112, 111, 110, 110, 112, 113, 113, 111, 108,
+  104, 102, 102, 109, 109, 104, 95, 87, 84, 84, 86, 84, 83, 81, 83, 85,
+  84, 82, 81, 83, 84, 53, 55, 51, 32, 41, 38, 43, 43, 39, 36, 36,
+  39, 39, 36, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176,
+  15, 15, 11, 13, 8, 14, 16, 13, 27, 20, 14, 16, 15, 32, 24, 38,
+  13, 19, 11, 14, 28, 63, 20, 22, 45, 14, 19, 22, 35, 22, 20, 24,
+  73, 86, 89, 96, 96, 115, 125, 129, 126, 117, 118, 125, 127, 123, 124, 124,
+  123, 122, 121, 121, 121, 122, 120, 116, 113, 112, 113, 116, 118, 118, 115, 114,
+  113, 114, 116, 116, 113, 111, 112, 113, 113, 114, 113, 111, 109, 107, 113, 114,
+  114, 112, 108, 106, 104, 104, 115, 116, 111, 98, 81, 76, 81, 89, 86, 85,
+  85, 87, 88, 89, 88, 87, 86, 84, 77, 72, 61, 44, 33, 28, 38, 35,
+  33, 33, 34, 33, 39, 46, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 11, 14, 8, 13, 17, 8, 19, 17, 11, 25, 22, 16, 17, 19,
+  42, 38, 62, 10, 20, 23, 14, 24, 38, 34, 12, 36, 17, 21, 39, 33,
+  15, 33, 25, 87, 104, 105, 111, 107, 120, 118, 120, 121, 119, 121, 125, 123,
+  118, 125, 125, 124, 123, 122, 122, 122, 123, 123, 120, 117, 116, 117, 120, 121,
+  122, 114, 114, 114, 116, 118, 118, 114, 112, 112, 114, 115, 116, 115, 112, 108,
+  106, 109, 111, 112, 112, 111, 110, 112, 113, 113, 115, 112, 100, 86, 81, 87,
+  96, 92, 91, 90, 90, 92, 93, 92, 90, 90, 82, 90, 83, 72, 62, 35,
+  17, 24, 20, 24, 32, 33, 31, 40, 53, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 12, 18, 7, 14, 19, 7, 17, 15, 8, 21, 20,
+  18, 21, 24, 48, 37, 74, 16, 24, 30, 21, 23, 11, 36, 10, 22, 29,
+  17, 41, 24, 21, 36, 29, 76, 103, 108, 122, 119, 123, 112, 119, 123, 123,
+  123, 124, 124, 122, 125, 126, 125, 124, 122, 122, 123, 123, 123, 120, 118, 117,
+  118, 121, 121, 122, 116, 116, 116, 117, 119, 119, 117, 114, 115, 117, 118, 119,
+  117, 114, 110, 108, 108, 110, 112, 113, 114, 115, 117, 120, 115, 116, 114, 107,
+  100, 96, 99, 102, 99, 97, 95, 94, 94, 95, 93, 92, 93, 80, 90, 89,
+  83, 81, 48, 13, 16, 14, 19, 27, 28, 23, 28, 39, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 174, 16, 22, 10, 13, 19, 5, 11, 12,
+  7, 19, 16, 18, 26, 28, 44, 23, 63, 23, 29, 25, 23, 25, 8, 22,
+  20, 24, 40, 15, 27, 17, 32, 33, 42, 53, 91, 93, 117, 115, 114, 118,
+  120, 122, 118, 113, 115, 120, 126, 126, 125, 124, 123, 122, 122, 123, 123, 120,
+  118, 116, 116, 117, 119, 119, 120, 120, 119, 118, 119, 119, 119, 117, 116, 117,
+  118, 119, 120, 118, 116, 113, 112, 113, 114, 115, 115, 115, 115, 117, 120, 117,
+  116, 114, 110, 106, 102, 101, 99, 103, 100, 97, 95, 95, 95, 93, 93, 95,
+  84, 85, 92, 90, 91, 70, 20, 14, 14, 18, 25, 27, 27, 31, 36, 38,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 20, 13, 21, 12, 11, 20,
+  9, 9, 11, 8, 19, 12, 16, 30, 28, 35, 24, 39, 15, 30, 23, 27,
+  29, 16, 13, 35, 33, 36, 29, 21, 23, 26, 47, 83, 53, 98, 92, 121,
+  120, 116, 123, 122, 119, 114, 110, 110, 115, 122, 125, 125, 124, 123, 121, 121,
+  122, 122, 121, 119, 117, 118, 120, 121, 121, 121, 123, 122, 120, 120, 119, 120,
+  118, 116, 119, 120, 120, 120, 120, 119, 117, 117, 117, 118, 118, 116, 114, 114,
+  116, 118, 116, 116, 114, 110, 105, 101, 100, 99, 102, 99, 96, 95, 96, 96,
+  96, 96, 95, 92, 82, 97, 92, 93, 92, 31, 12, 15, 18, 20, 27, 37,
+  40, 41, 27, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 22, 8, 16,
+  12, 11, 23, 16, 13, 11, 11, 20, 9, 15, 32, 27, 27, 38, 24, 1,
+  28, 27, 37, 33, 21, 18, 48, 39, 27, 50, 28, 36, 12, 47, 103, 48,
+  100, 90, 121, 124, 121, 126, 123, 122, 120, 118, 116, 116, 117, 125, 124, 123,
+  122, 121, 121, 121, 122, 125, 123, 121, 121, 123, 125, 125, 125, 126, 124, 120,
+  118, 119, 118, 118, 117, 121, 121, 120, 120, 120, 121, 120, 120, 117, 118, 118,
+  116, 115, 115, 118, 120, 119, 120, 119, 114, 108, 104, 105, 108, 100, 98, 95,
+  95, 96, 98, 98, 97, 95, 99, 83, 100, 92, 91, 105, 41, 17, 19, 18,
+  14, 21, 34, 38, 33, 41, 255, 255, 255, 255, 255, 255, 255, 255, 255, 202,
+  23, 15, 12, 16, 19, 17, 14, 13, 12, 14, 17, 20, 23, 26, 29, 31,
+  33, 35, 30, 10, 52, 16, 19, 21, 28, 27, 21, 37, 38, 21, 24, 19,
+  66, 88, 97, 83, 100, 120, 113, 125, 127, 127, 125, 120, 115, 115, 120, 125,
+  129, 130, 125, 121, 121, 126, 127, 124, 119, 120, 121, 123, 124, 125, 125, 125,
+  128, 123, 118, 119, 123, 126, 124, 120, 111, 114, 117, 120, 121, 120, 117, 116,
+  119, 118, 119, 121, 120, 116, 117, 122, 117, 117, 116, 116, 113, 110, 108, 106,
+  101, 99, 96, 95, 97, 100, 100, 100, 101, 94, 90, 92, 95, 94, 93, 96,
+  21, 16, 23, 24, 23, 41, 50, 30, 43, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 68, 21, 16, 14, 18, 21, 19, 16, 15, 13, 13, 12, 13, 15,
+  20, 24, 26, 35, 39, 22, 18, 36, 29, 17, 12, 20, 21, 15, 29, 29,
+  14, 20, 17, 61, 85, 95, 76, 90, 114, 112, 124, 123, 124, 124, 120, 117,
+  117, 121, 127, 127, 127, 124, 120, 122, 128, 129, 127, 129, 128, 128, 128, 127,
+  127, 125, 126, 126, 121, 118, 119, 124, 126, 123, 120, 113, 115, 118, 120, 120,
+  119, 116, 115, 119, 118, 119, 121, 120, 116, 117, 122, 117, 117, 116, 116, 113,
+  111, 108, 107, 105, 102, 99, 97, 98, 99, 99, 99, 104, 98, 92, 95, 95,
+  93, 91, 93, 97, 23, 9, 12, 27, 25, 35, 49, 43, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 19, 19, 16, 15, 20, 23, 20, 17, 16, 16, 14,
+  11, 11, 13, 18, 24, 27, 34, 40, 19, 26, 20, 47, 23, 10, 18, 21,
+  16, 26, 23, 10, 20, 20, 55, 82, 96, 75, 85, 114, 117, 127, 120, 122,
+  124, 122, 120, 119, 122, 127, 125, 125, 123, 121, 124, 130, 132, 130, 134, 133,
+  131, 129, 128, 128, 128, 129, 127, 125, 123, 125, 127, 128, 125, 122, 116, 117,
+  119, 120, 120, 118, 116, 114, 120, 118, 119, 122, 120, 117, 118, 122, 118, 118,
+  117, 116, 113, 112, 109, 108, 108, 105, 101, 99, 99, 100, 99, 99, 106, 100,
+  94, 96, 97, 94, 91, 93, 109, 19, 2, 13, 34, 19, 22, 49, 42, 255,
+  255, 255, 255, 255, 255, 255, 255, 181, 16, 19, 16, 16, 21, 21, 18, 14,
+  14, 19, 18, 16, 16, 19, 24, 29, 31, 28, 34, 30, 26, 16, 53, 36,
+  16, 19, 24, 18, 24, 18, 7, 21, 23, 42, 69, 93, 79, 86, 116, 122,
+  126, 120, 123, 125, 124, 122, 120, 121, 125, 125, 126, 125, 122, 125, 132, 133,
+  130, 133, 132, 130, 128, 128, 130, 131, 133, 129, 128, 128, 130, 131, 131, 128,
+  125, 120, 121, 121, 121, 120, 118, 115, 114, 120, 119, 120, 122, 120, 117, 118,
+  122, 120, 119, 117, 116, 114, 111, 110, 109, 108, 105, 101, 100, 100, 101, 101,
+  101, 103, 98, 94, 98, 99, 98, 95, 97, 80, 43, 9, 22, 23, 20, 27,
+  37, 42, 255, 255, 255, 255, 255, 255, 255, 255, 16, 11, 18, 15, 15, 18,
+  18, 14, 11, 12, 14, 14, 16, 19, 21, 25, 28, 30, 21, 27, 51, 17,
+  20, 42, 42, 22, 20, 25, 16, 18, 12, 3, 18, 20, 25, 46, 79, 78,
+  85, 116, 120, 117, 122, 125, 127, 126, 122, 119, 119, 121, 127, 128, 127, 125,
+  127, 132, 133, 130, 135, 134, 132, 131, 131, 132, 134, 135, 130, 130, 130, 132,
+  133, 132, 129, 127, 124, 124, 124, 123, 121, 119, 117, 115, 121, 119, 120, 123,
+  121, 117, 118, 123, 121, 120, 118, 116, 114, 112, 110, 109, 106, 103, 101, 101,
+  101, 103, 103, 104, 105, 100, 96, 99, 100, 99, 96, 98, 90, 91, 13, 29,
+  11, 24, 39, 33, 41, 255, 255, 255, 255, 255, 255, 255, 255, 16, 13, 18,
+  14, 14, 16, 15, 12, 11, 14, 9, 10, 13, 15, 17, 20, 22, 23, 19,
+  26, 68, 7, 27, 28, 36, 26, 25, 30, 18, 19, 15, 10, 23, 23, 25,
+  32, 65, 78, 90, 118, 121, 116, 125, 126, 128, 126, 122, 119, 119, 121, 128,
+  129, 128, 126, 129, 134, 134, 130, 141, 140, 138, 136, 135, 135, 135, 135, 130,
+  130, 130, 131, 131, 131, 129, 128, 127, 127, 126, 125, 123, 121, 119, 118, 121,
+  119, 120, 123, 121, 118, 119, 123, 122, 121, 118, 116, 114, 112, 111, 111, 107,
+  105, 103, 103, 104, 106, 106, 106, 111, 104, 100, 102, 102, 98, 94, 93, 101,
+  103, 23, 36, 27, 37, 40, 29, 40, 255, 255, 255, 255, 255, 255, 255, 194,
+  19, 18, 16, 13, 12, 14, 14, 13, 14, 19, 15, 15, 13, 13, 14, 17,
+  20, 21, 20, 32, 75, 7, 36, 30, 30, 36, 27, 31, 19, 21, 20, 18,
+  31, 26, 42, 25, 51, 72, 89, 118, 123, 120, 124, 127, 127, 125, 122, 120,
+  121, 124, 125, 128, 128, 127, 131, 136, 137, 133, 139, 139, 139, 138, 138, 137,
+  136, 136, 134, 134, 134, 134, 132, 132, 132, 133, 129, 130, 128, 127, 125, 124,
+  122, 122, 122, 121, 121, 123, 122, 118, 118, 123, 122, 122, 119, 116, 114, 113,
+  112, 112, 112, 110, 107, 106, 107, 108, 108, 108, 112, 105, 102, 104, 104, 99,
+  94, 94, 88, 88, 63, 33, 44, 49, 34, 26, 39, 255, 255, 255, 255, 255,
+  255, 255, 41, 14, 15, 15, 12, 11, 14, 15, 15, 19, 26, 26, 23, 18,
+  16, 16, 18, 22, 25, 21, 37, 73, 12, 43, 41, 30, 48, 22, 26, 12,
+  16, 19, 19, 31, 25, 52, 20, 37, 62, 81, 112, 120, 120, 123, 125, 126,
+  124, 121, 121, 124, 127, 123, 126, 127, 127, 132, 138, 140, 136, 132, 133, 134,
+  136, 138, 138, 138, 138, 139, 139, 139, 137, 135, 136, 137, 139, 131, 130, 129,
+  128, 127, 125, 124, 124, 122, 121, 121, 123, 122, 118, 118, 123, 123, 121, 119,
+  116, 113, 113, 112, 112, 117, 114, 111, 110, 109, 109, 109, 108, 109, 103, 100,
+  104, 106, 101, 97, 97, 86, 90, 116, 18, 36, 50, 32, 33, 37, 255, 255,
+  255, 255, 255, 255, 255, 22, 24, 18, 18, 15, 13, 16, 17, 16, 16, 18,
+  24, 26, 30, 36, 16, 9, 27, 12, 38, 42, 31, 37, 27, 33, 64, 43,
+  30, 33, 20, 27, 19, 34, 26, 26, 26, 26, 26, 47, 85, 120, 94, 119,
+  122, 124, 125, 124, 121, 120, 122, 124, 126, 127, 128, 129, 130, 134, 139, 143,
+  138, 139, 137, 136, 138, 142, 138, 132, 140, 141, 141, 140, 139, 137, 137, 138,
+  135, 133, 130, 130, 128, 126, 122, 119, 124, 124, 122, 120, 118, 118, 119, 122,
+  122, 124, 125, 119, 112, 108, 110, 114, 117, 115, 111, 110, 110, 110, 110, 109,
+  109, 106, 103, 103, 104, 104, 99, 95, 91, 94, 99, 25, 40, 44, 24, 39,
+  37, 255, 255, 255, 255, 255, 255, 255, 23, 26, 19, 21, 18, 16, 20, 20,
+  18, 18, 20, 21, 32, 22, 42, 11, 26, 30, 19, 32, 38, 57, 54, 35,
+  32, 47, 66, 19, 28, 25, 36, 25, 35, 21, 18, 23, 32, 43, 45, 49,
+  106, 110, 115, 122, 124, 125, 124, 121, 120, 122, 124, 126, 127, 128, 129, 130,
+  134, 139, 143, 141, 142, 141, 139, 142, 145, 142, 136, 141, 142, 143, 141, 139,
+  137, 136, 137, 139, 137, 134, 133, 132, 129, 125, 122, 123, 124, 122, 120, 119,
+  119, 120, 123, 120, 122, 124, 122, 117, 113, 113, 115, 118, 116, 111, 110, 110,
+  111, 110, 109, 111, 107, 104, 105, 105, 104, 99, 94, 91, 92, 98, 40, 35,
+  47, 29, 41, 32, 255, 255, 255, 255, 255, 255, 255, 24, 28, 22, 23, 19,
+  17, 21, 22, 19, 17, 19, 21, 35, 24, 36, 19, 34, 38, 23, 38, 36,
+  67, 59, 46, 38, 33, 81, 38, 43, 34, 42, 33, 50, 43, 45, 23, 39,
+  58, 44, 19, 90, 122, 116, 122, 124, 125, 124, 120, 119, 121, 123, 126, 127,
+  128, 129, 130, 133, 138, 142, 142, 144, 144, 142, 143, 147, 144, 139, 144, 145,
+  145, 143, 139, 137, 138, 139, 142, 140, 137, 136, 134, 131, 127, 124, 123, 123,
+  122, 121, 119, 120, 122, 124, 120, 121, 123, 123, 122, 119, 115, 115, 117, 116,
+  112, 111, 112, 112, 111, 110, 114, 110, 106, 107, 107, 105, 99, 95, 90, 90,
+  96, 65, 29, 48, 33, 44, 53, 255, 255, 255, 255, 255, 255, 67, 25, 29,
+  24, 23, 19, 17, 21, 22, 18, 15, 16, 23, 33, 31, 24, 33, 35, 48,
+  26, 41, 40, 48, 46, 52, 46, 34, 69, 43, 41, 24, 31, 25, 44, 38,
+  40, 27, 44, 50, 43, 24, 74, 109, 122, 122, 123, 125, 125, 120, 119, 121,
+  123, 126, 127, 128, 128, 129, 133, 138, 141, 141, 144, 144, 142, 143, 146, 144,
+  140, 143, 144, 145, 144, 140, 139, 141, 142, 141, 140, 137, 136, 134, 131, 127,
+  123, 123, 124, 123, 122, 120, 121, 123, 125, 125, 123, 121, 120, 120, 119, 116,
+  114, 118, 116, 112, 111, 112, 114, 112, 112, 117, 113, 109, 108, 108, 106, 100,
+  95, 91, 90, 95, 86, 23, 46, 34, 42, 52, 255, 255, 255, 255, 255, 255,
+  47, 27, 27, 26, 25, 21, 20, 23, 23, 19, 16, 16, 18, 34, 21, 27,
+  32, 46, 51, 40, 27, 45, 32, 41, 57, 42, 41, 43, 40, 43, 33, 45,
+  41, 55, 37, 28, 36, 45, 26, 43, 48, 64, 82, 126, 122, 123, 125, 125,
+  120, 119, 121, 123, 126, 127, 128, 128, 129, 132, 137, 140, 141, 145, 146, 144,
+  144, 147, 146, 143, 142, 143, 145, 144, 143, 143, 143, 145, 143, 142, 140, 139,
+  137, 133, 128, 124, 125, 125, 124, 123, 121, 121, 123, 125, 130, 126, 121, 117,
+  115, 115, 114, 114, 119, 117, 114, 112, 113, 115, 114, 113, 118, 114, 110, 109,
+  109, 107, 102, 97, 92, 90, 92, 100, 23, 41, 33, 40, 62, 255, 255, 255,
+  255, 255, 255, 35, 29, 22, 26, 29, 25, 24, 28, 27, 22, 18, 18, 11,
+  36, 6, 39, 30, 59, 51, 60, 13, 43, 36, 56, 59, 38, 45, 30, 42,
+  50, 47, 62, 62, 80, 73, 74, 47, 50, 15, 42, 57, 56, 70, 122, 122,
+  124, 125, 125, 120, 119, 121, 123, 126, 127, 128, 128, 128, 131, 136, 139, 143,
+  148, 150, 148, 147, 150, 149, 148, 143, 144, 146, 145, 144, 144, 144, 146, 144,
+  143, 142, 143, 141, 137, 132, 128, 127, 127, 126, 124, 122, 121, 123, 125, 131,
+  128, 122, 117, 113, 112, 114, 116, 119, 118, 114, 114, 114, 116, 115, 114, 118,
+  114, 110, 109, 110, 107, 103, 98, 92, 90, 89, 103, 32, 36, 32, 42, 47,
+  255, 255, 255, 255, 255, 255, 29, 31, 17, 27, 31, 27, 26, 29, 28, 23,
+  19, 18, 18, 31, 17, 29, 50, 47, 58, 69, 32, 33, 44, 66, 62, 47,
+  45, 41, 30, 45, 46, 60, 54, 78, 86, 101, 62, 65, 31, 47, 43, 56,
+  87, 117, 122, 124, 125, 125, 120, 119, 121, 123, 126, 127, 128, 127, 128, 131,
+  135, 139, 142, 148, 151, 148, 147, 149, 150, 149, 147, 148, 148, 147, 144, 143,
+  142, 144, 142, 142, 142, 143, 143, 140, 134, 130, 129, 129, 127, 124, 122, 121,
+  122, 124, 128, 128, 126, 121, 115, 113, 115, 120, 119, 118, 115, 114, 115, 117,
+  117, 116, 116, 113, 110, 110, 110, 108, 104, 98, 90, 90, 86, 99, 43, 34,
+  35, 47, 61, 255, 255, 255, 255, 255, 255, 27, 30, 13, 27, 28, 24, 24,
+  27, 27, 21, 17, 16, 32, 22, 43, 9, 80, 22, 68, 65, 66, 23, 45,
+  65, 64, 63, 47, 56, 21, 49, 64, 77, 59, 69, 70, 86, 74, 78, 53,
+  52, 22, 57, 112, 113, 122, 124, 126, 125, 121, 120, 122, 123, 125, 126, 127,
+  126, 127, 129, 134, 138, 138, 145, 149, 146, 143, 146, 148, 148, 150, 151, 151,
+  148, 144, 142, 140, 142, 138, 139, 139, 141, 141, 138, 133, 128, 130, 130, 128,
+  125, 122, 120, 121, 123, 123, 127, 129, 125, 119, 115, 118, 122, 119, 116, 114,
+  114, 114, 116, 117, 117, 115, 112, 108, 109, 110, 108, 103, 99, 89, 90, 84,
+  96, 52, 35, 37, 53, 61, 255, 255, 255, 255, 255, 136, 55, 19, 26, 29,
+  30, 22, 13, 13, 22, 31, 26, 16, 25, 35, 33, 27, 51, 54, 42, 73,
+  41, 50, 30, 70, 56, 40, 46, 53, 61, 27, 69, 55, 51, 72, 93, 81,
+  61, 72, 107, 62, 37, 61, 115, 117, 125, 124, 124, 125, 121, 118, 121, 128,
+  129, 128, 127, 127, 128, 129, 131, 133, 138, 138, 140, 142, 144, 146, 149, 151,
+  149, 147, 143, 142, 143, 144, 143, 142, 134, 136, 137, 140, 140, 138, 135, 132,
+  130, 128, 129, 131, 127, 121, 120, 123, 124, 126, 123, 118, 116, 118, 118, 116,
+  116, 114, 113, 113, 114, 115, 114, 113, 115, 115, 113, 112, 110, 105, 99, 96,
+  86, 87, 91, 87, 73, 28, 42, 50, 48, 255, 255, 255, 255, 255, 130, 78,
+  22, 23, 28, 24, 25, 22, 18, 21, 26, 24, 19, 32, 38, 35, 25, 43,
+  48, 42, 75, 44, 58, 42, 56, 67, 46, 57, 48, 62, 32, 63, 61, 57,
+  71, 97, 77, 71, 77, 89, 50, 43, 71, 118, 122, 126, 125, 125, 126, 123,
+  120, 122, 129, 128, 126, 126, 126, 127, 129, 132, 133, 136, 137, 139, 142, 144,
+  145, 147, 148, 145, 145, 143, 143, 144, 143, 140, 137, 135, 136, 137, 138, 137,
+  136, 133, 132, 126, 125, 126, 129, 127, 122, 121, 125, 127, 128, 126, 120, 118,
+  120, 120, 117, 117, 115, 112, 112, 112, 113, 113, 112, 113, 112, 111, 109, 108,
+  104, 99, 96, 93, 90, 91, 86, 75, 32, 48, 56, 52, 255, 255, 255, 255,
+  255, 120, 108, 25, 19, 26, 22, 28, 31, 27, 23, 23, 23, 22, 32, 36,
+  35, 24, 36, 44, 44, 77, 43, 65, 51, 44, 77, 55, 66, 45, 60, 40,
+  57, 72, 63, 67, 100, 74, 79, 83, 71, 41, 59, 88, 121, 128, 126, 126,
+  126, 127, 124, 121, 123, 129, 126, 126, 126, 126, 128, 130, 132, 134, 135, 137,
+  139, 142, 145, 146, 146, 145, 147, 147, 148, 149, 149, 146, 141, 137, 136, 136,
+  136, 135, 134, 132, 131, 130, 126, 125, 126, 128, 125, 120, 119, 123, 127, 128,
+  126, 120, 118, 119, 119, 116, 117, 115, 112, 112, 112, 112, 112, 110, 111, 109,
+  108, 107, 106, 103, 100, 97, 94, 86, 84, 80, 72, 33, 49, 56, 58, 255,
+  255, 255, 255, 255, 114, 123, 27, 18, 28, 24, 32, 36, 33, 27, 24, 24,
+  23, 22, 27, 33, 28, 35, 43, 44, 74, 36, 66, 49, 52, 81, 63, 67,
+  50, 56, 46, 58, 85, 66, 61, 100, 76, 74, 87, 62, 52, 86, 106, 123,
+  132, 127, 127, 128, 129, 126, 122, 123, 130, 126, 125, 125, 126, 128, 130, 133,
+  135, 136, 137, 140, 142, 145, 145, 145, 145, 149, 149, 148, 149, 149, 147, 141,
+  138, 138, 137, 135, 133, 131, 129, 128, 126, 133, 130, 128, 129, 124, 118, 116,
+  120, 125, 127, 123, 118, 115, 118, 117, 115, 116, 113, 111, 111, 112, 112, 113,
+  111, 110, 109, 107, 106, 106, 104, 101, 99, 91, 83, 79, 77, 74, 35, 49,
+  53, 60, 255, 255, 255, 255, 255, 115, 112, 25, 20, 29, 30, 34, 36, 33,
+  31, 31, 29, 26, 14, 19, 36, 36, 38, 42, 39, 61, 32, 62, 44, 72,
+  79, 71, 68, 63, 53, 48, 62, 96, 66, 61, 98, 84, 62, 90, 66, 79,
+  114, 120, 124, 132, 126, 127, 129, 131, 127, 122, 125, 130, 126, 124, 124, 125,
+  128, 131, 133, 134, 137, 138, 142, 144, 145, 146, 146, 146, 147, 143, 141, 140,
+  140, 140, 138, 137, 138, 137, 134, 132, 129, 128, 126, 124, 134, 131, 129, 129,
+  124, 118, 117, 121, 124, 125, 123, 117, 116, 118, 118, 116, 113, 111, 110, 110,
+  113, 114, 114, 113, 111, 109, 108, 108, 107, 106, 103, 100, 92, 85, 84, 84,
+  82, 42, 51, 52, 58, 255, 255, 255, 255, 255, 128, 79, 21, 23, 26, 34,
+  36, 34, 32, 33, 37, 36, 32, 17, 18, 38, 40, 37, 39, 34, 47, 32,
+  55, 42, 81, 72, 75, 78, 67, 56, 45, 65, 101, 67, 67, 93, 90, 59,
+  94, 74, 105, 129, 125, 123, 131, 127, 127, 130, 133, 129, 124, 126, 131, 126,
+  125, 125, 125, 128, 130, 132, 134, 138, 138, 140, 141, 142, 144, 145, 145, 146,
+  143, 140, 139, 140, 141, 141, 140, 137, 136, 134, 133, 131, 128, 124, 123, 128,
+  126, 125, 126, 123, 119, 120, 125, 124, 126, 124, 119, 118, 121, 122, 120, 113,
+  112, 110, 110, 112, 113, 113, 112, 110, 109, 109, 109, 109, 106, 102, 98, 87,
+  82, 85, 86, 83, 41, 48, 48, 51, 255, 255, 255, 255, 255, 148, 41, 18,
+  24, 20, 34, 36, 35, 31, 32, 38, 42, 41, 26, 19, 37, 39, 34, 39,
+  37, 45, 36, 46, 43, 66, 60, 71, 93, 55, 63, 38, 64, 101, 68, 80,
+  88, 94, 70, 100, 76, 117, 129, 121, 124, 129, 127, 128, 131, 134, 131, 126,
+  126, 131, 127, 127, 126, 126, 127, 129, 132, 133, 138, 137, 137, 136, 139, 141,
+  143, 144, 146, 145, 144, 144, 145, 145, 145, 143, 134, 135, 135, 134, 132, 128,
+  125, 122, 124, 122, 121, 122, 120, 117, 119, 124, 121, 123, 122, 118, 118, 122,
+  123, 121, 118, 115, 112, 111, 111, 111, 110, 108, 107, 107, 109, 110, 110, 106,
+  100, 95, 84, 80, 85, 85, 80, 37, 45, 47, 44, 255, 255, 255, 255, 143,
+  162, 16, 16, 25, 15, 33, 36, 35, 30, 29, 36, 45, 49, 31, 18, 34,
+  35, 32, 41, 43, 51, 39, 38, 45, 44, 50, 65, 104, 40, 71, 33, 62,
+  99, 69, 91, 85, 94, 82, 105, 76, 120, 124, 117, 126, 128, 128, 130, 132,
+  135, 132, 127, 126, 131, 128, 127, 126, 126, 127, 129, 131, 132, 138, 137, 134,
+  133, 135, 138, 141, 144, 141, 141, 142, 145, 146, 145, 142, 140, 133, 134, 136,
+  135, 133, 129, 125, 122, 125, 122, 120, 120, 117, 113, 114, 119, 118, 120, 119,
+  115, 116, 120, 122, 120, 121, 118, 114, 112, 111, 109, 107, 105, 105, 107, 109,
+  110, 110, 105, 97, 92, 88, 86, 89, 89, 81, 38, 48, 50, 111, 255, 255,
+  255, 255, 144, 143, 16, 23, 20, 20, 28, 43, 35, 27, 41, 46, 41, 48,
+  30, 48, 47, 36, 39, 45, 46, 51, 24, 49, 22, 57, 39, 76, 81, 65,
+  59, 51, 52, 93, 75, 64, 105, 79, 84, 104, 56, 140, 118, 124, 124, 127,
+  132, 131, 129, 130, 129, 129, 128, 126, 127, 127, 129, 130, 131, 131, 131, 132,
+  133, 132, 132, 131, 133, 137, 143, 146, 150, 140, 139, 142, 139, 142, 141, 131,
+  132, 133, 134, 135, 136, 133, 127, 123, 118, 119, 121, 122, 121, 119, 117, 115,
+  115, 119, 119, 117, 118, 121, 120, 117, 122, 118, 113, 112, 112, 110, 106, 103,
+  107, 107, 106, 106, 109, 109, 101, 90, 82, 87, 87, 88, 89, 7, 35, 38,
+  255, 255, 255, 255, 218, 138, 136, 18, 26, 23, 23, 32, 40, 40, 39, 43,
+  41, 39, 46, 40, 46, 37, 31, 46, 55, 47, 40, 34, 48, 19, 62, 54,
+  66, 82, 66, 55, 53, 52, 93, 85, 71, 104, 87, 79, 97, 70, 133, 118,
+  128, 124, 128, 134, 133, 132, 132, 131, 130, 129, 128, 126, 126, 129, 130, 131,
+  131, 132, 131, 132, 128, 128, 131, 137, 142, 142, 140, 149, 139, 141, 144, 140,
+  143, 144, 133, 127, 128, 130, 132, 134, 132, 128, 125, 121, 122, 122, 123, 121,
+  119, 117, 115, 114, 118, 118, 116, 116, 119, 119, 116, 121, 117, 113, 112, 112,
+  111, 108, 104, 105, 106, 106, 104, 106, 107, 100, 92, 86, 90, 87, 89, 75,
+  7, 32, 27, 255, 255, 255, 255, 143, 135, 133, 25, 31, 28, 26, 33, 25,
+  30, 37, 33, 32, 46, 56, 30, 46, 48, 38, 41, 44, 45, 52, 39, 43,
+  15, 59, 64, 45, 77, 58, 48, 51, 45, 82, 88, 68, 87, 87, 72, 87,
+  93, 124, 120, 133, 124, 129, 135, 135, 134, 132, 130, 130, 130, 130, 126, 127,
+  129, 130, 131, 130, 128, 127, 127, 125, 125, 132, 141, 145, 142, 137, 145, 138,
+  141, 146, 142, 144, 145, 135, 136, 136, 136, 135, 134, 131, 126, 122, 125, 125,
+  125, 124, 121, 118, 115, 113, 114, 116, 116, 113, 114, 117, 118, 116, 119, 115,
+  112, 111, 113, 113, 110, 107, 106, 108, 107, 104, 104, 104, 99, 92, 91, 91,
+  88, 91, 56, 9, 28, 15, 255, 255, 255, 216, 143, 137, 130, 33, 30, 24,
+  23, 45, 22, 27, 39, 25, 17, 27, 31, 24, 45, 49, 40, 36, 39, 49,
+  67, 35, 42, 22, 55, 65, 31, 78, 55, 47, 52, 42, 70, 86, 66, 72,
+  85, 68, 81, 115, 117, 121, 136, 124, 130, 134, 135, 134, 132, 129, 128, 129,
+  129, 128, 128, 129, 129, 128, 126, 124, 123, 123, 124, 128, 133, 140, 141, 138,
+  134, 138, 132, 137, 144, 141, 145, 147, 140, 142, 140, 138, 138, 137, 135, 129,
+  125, 128, 127, 126, 124, 121, 117, 114, 112, 114, 116, 115, 111, 111, 116, 118,
+  116, 118, 114, 111, 112, 114, 116, 113, 110, 109, 111, 110, 106, 105, 105, 100,
+  95, 94, 91, 91, 94, 46, 20, 33, 14, 255, 255, 255, 134, 142, 138, 127,
+  43, 34, 25, 23, 32, 6, 12, 31, 23, 17, 25, 29, 37, 41, 33, 30,
+  42, 52, 57, 66, 28, 42, 35, 53, 64, 34, 86, 64, 49, 58, 49, 68,
+  90, 76, 74, 93, 70, 84, 128, 115, 120, 134, 123, 131, 131, 133, 133, 131,
+  126, 125, 126, 127, 130, 129, 129, 127, 124, 122, 121, 119, 126, 130, 134, 134,
+  129, 125, 124, 123, 130, 126, 133, 141, 140, 145, 150, 143, 138, 140, 140, 142,
+  144, 144, 139, 136, 132, 130, 127, 125, 120, 117, 113, 112, 114, 117, 114, 110,
+  110, 116, 118, 117, 118, 115, 112, 113, 117, 118, 115, 113, 109, 111, 111, 108,
+  109, 110, 105, 98, 95, 90, 97, 96, 52, 36, 45, 29, 255, 255, 255, 139,
+  144, 138, 128, 68, 62, 55, 51, 50, 21, 7, 9, 4, 8, 29, 47, 38,
+  44, 38, 33, 40, 47, 54, 69, 25, 31, 37, 45, 55, 39, 78, 68, 42,
+  54, 53, 68, 91, 90, 84, 95, 79, 95, 130, 120, 119, 131, 123, 130, 130,
+  132, 132, 129, 125, 122, 123, 125, 130, 128, 126, 123, 121, 120, 120, 120, 134,
+  136, 135, 126, 114, 107, 107, 111, 122, 118, 125, 132, 130, 137, 143, 140, 147,
+  147, 149, 151, 152, 151, 143, 140, 136, 133, 130, 126, 122, 118, 116, 114, 117,
+  118, 115, 110, 110, 116, 120, 119, 120, 117, 115, 115, 119, 120, 119, 116, 108,
+  109, 108, 108, 111, 113, 105, 95, 88, 82, 97, 91, 67, 46, 54, 47, 255,
+  255, 215, 144, 138, 127, 124, 94, 103, 98, 91, 110, 93, 65, 40, 21, 4,
+  10, 33, 40, 52, 50, 42, 38, 35, 44, 65, 43, 23, 32, 42, 47, 38,
+  51, 60, 31, 46, 59, 70, 89, 99, 87, 83, 89, 108, 127, 128, 117, 126,
+  122, 130, 129, 132, 132, 129, 124, 121, 121, 124, 127, 125, 122, 119, 118, 120,
+  123, 125, 135, 132, 123, 111, 101, 96, 99, 102, 111, 106, 112, 116, 112, 118,
+  127, 125, 138, 140, 144, 149, 150, 147, 140, 134, 141, 138, 135, 131, 126, 123,
+  120, 119, 120, 121, 117, 111, 111, 118, 122, 123, 123, 120, 117, 118, 120, 121,
+  119, 116, 113, 110, 106, 106, 109, 107, 94, 77, 71, 64, 87, 74, 75, 43,
+  49, 55, 255, 255, 136, 139, 125, 108, 111, 105, 126, 124, 115, 112, 129, 123,
+  106, 83, 44, 21, 33, 57, 54, 41, 38, 46, 44, 37, 41, 70, 25, 32,
+  47, 47, 37, 30, 52, 29, 45, 68, 76, 91, 104, 89, 74, 96, 117, 122,
+  132, 116, 123, 122, 128, 129, 132, 133, 130, 123, 120, 121, 124, 124, 122, 118,
+  116, 117, 121, 127, 131, 132, 124, 111, 100, 94, 95, 98, 101, 102, 97, 101,
+  101, 96, 102, 111, 109, 104, 109, 119, 130, 138, 141, 138, 134, 144, 142, 138,
+  135, 130, 127, 124, 123, 122, 122, 118, 112, 112, 119, 124, 124, 124, 121, 119,
+  119, 122, 122, 119, 117, 121, 115, 108, 104, 105, 99, 78, 58, 56, 48, 76,
+  58, 75, 34, 39, 52, 255, 255, 144, 138, 117, 106, 112, 113, 107, 108, 117,
+  117, 121, 122, 119, 112, 94, 64, 36, 35, 40, 42, 46, 43, 29, 27, 44,
+  59, 35, 43, 40, 61, 62, 31, 68, 56, 42, 63, 93, 85, 115, 93, 90,
+  110, 114, 120, 123, 122, 121, 122, 122, 128, 131, 132, 128, 122, 120, 123, 126,
+  123, 121, 117, 115, 120, 127, 126, 121, 123, 113, 101, 94, 92, 91, 88, 86,
+  93, 93, 84, 69, 70, 83, 90, 87, 79, 83, 83, 90, 112, 137, 145, 140,
+  142, 137, 141, 124, 134, 125, 133, 125, 123, 126, 122, 116, 113, 119, 127, 131,
+  128, 125, 124, 124, 124, 123, 124, 126, 120, 106, 104, 107, 100, 88, 65, 38,
+  28, 41, 46, 63, 74, 39, 19, 52, 255, 255, 142, 118, 115, 114, 118, 120,
+  116, 109, 105, 112, 121, 125, 122, 124, 123, 109, 91, 57, 47, 70, 46, 59,
+  20, 41, 41, 47, 30, 39, 19, 47, 61, 43, 63, 56, 42, 60, 81, 92,
+  117, 103, 104, 114, 117, 121, 123, 122, 121, 122, 123, 126, 128, 129, 126, 121,
+  118, 121, 125, 121, 124, 124, 120, 118, 117, 113, 106, 123, 112, 96, 87, 85,
+  86, 86, 86, 76, 78, 71, 61, 60, 69, 71, 65, 61, 66, 69, 71, 78,
+  92, 105, 113, 131, 134, 139, 127, 125, 121, 127, 127, 122, 123, 118, 113, 112,
+  119, 125, 127, 125, 122, 120, 121, 124, 125, 126, 126, 124, 112, 104, 94, 74,
+  59, 45, 28, 17, 29, 33, 50, 66, 37, 12, 255, 255, 218, 133, 109, 119,
+  126, 125, 122, 121, 111, 99, 112, 125, 128, 122, 125, 140, 142, 132, 103, 78,
+  63, 79, 63, 64, 45, 26, 25, 29, 52, 15, 37, 52, 49, 57, 52, 40,
+  52, 57, 95, 106, 105, 111, 119, 120, 122, 123, 122, 121, 121, 122, 123, 125,
+  126, 124, 120, 118, 119, 122, 99, 110, 120, 121, 119, 117, 116, 113, 100, 95,
+  89, 89, 94, 100, 105, 106, 99, 103, 101, 94, 93, 96, 92, 83, 78, 73,
+  65, 60, 55, 53, 57, 63, 100, 119, 129, 134, 121, 125, 124, 131, 127, 126,
+  121, 116, 117, 125, 129, 129, 125, 121, 117, 118, 124, 127, 125, 121, 113, 104,
+  97, 79, 51, 37, 34, 28, 6, 18, 22, 36, 57, 42, 16, 255, 255, 135,
+  119, 119, 125, 129, 126, 117, 110, 105, 103, 119, 136, 137, 123, 120, 136, 143,
+  135, 131, 104, 76, 113, 68, 88, 47, 20, 12, 31, 68, 33, 38, 38, 48,
+  55, 50, 39, 48, 42, 100, 95, 105, 108, 122, 122, 122, 121, 120, 120, 120,
+  120, 122, 124, 125, 124, 120, 118, 118, 119, 112, 122, 127, 119, 107, 101, 100,
+  100, 93, 96, 103, 113, 122, 128, 130, 129, 120, 123, 122, 118, 117, 118, 113,
+  106, 117, 94, 74, 71, 69, 58, 45, 39, 66, 94, 109, 132, 120, 133, 126,
+  131, 130, 127, 121, 117, 121, 129, 131, 128, 129, 124, 119, 117, 123, 126, 122,
+  115, 100, 92, 84, 68, 40, 32, 37, 39, 27, 38, 35, 37, 48, 42, 23,
+  255, 255, 127, 105, 124, 121, 125, 127, 115, 98, 99, 113, 126, 143, 146, 132,
+  125, 133, 137, 130, 125, 109, 127, 118, 85, 58, 54, 28, 23, 29, 55, 43,
+  44, 38, 48, 52, 49, 42, 51, 44, 106, 91, 111, 110, 122, 121, 120, 119,
+  119, 119, 118, 117, 122, 124, 125, 124, 122, 119, 116, 115, 113, 119, 118, 107,
+  97, 95, 103, 109, 126, 127, 132, 136, 138, 136, 133, 130, 127, 127, 126, 123,
+  123, 124, 121, 116, 122, 103, 91, 94, 95, 83, 70, 64, 57, 78, 88, 112,
+  109, 130, 126, 130, 125, 123, 118, 113, 117, 124, 126, 123, 126, 124, 118, 115,
+  120, 124, 119, 109, 93, 79, 65, 52, 36, 42, 55, 59, 74, 78, 68, 52,
+  46, 41, 30, 255, 255, 121, 98, 111, 110, 119, 128, 114, 93, 99, 119, 123,
+  140, 149, 145, 137, 135, 132, 126, 120, 117, 128, 123, 87, 63, 49, 32, 44,
+  25, 23, 37, 41, 49, 50, 47, 41, 37, 48, 49, 100, 87, 114, 107, 121,
+  120, 119, 119, 120, 119, 117, 114, 123, 124, 125, 125, 122, 118, 113, 110, 98,
+  101, 99, 94, 96, 108, 124, 132, 146, 143, 138, 133, 128, 126, 125, 125, 132,
+  131, 128, 126, 126, 127, 125, 124, 107, 110, 113, 112, 104, 94, 91, 94, 78,
+  82, 79, 87, 92, 113, 121, 127, 122, 122, 118, 114, 115, 122, 125, 123, 118,
+  119, 114, 108, 111, 116, 111, 101, 78, 59, 47, 42, 45, 66, 89, 96, 97,
+  96, 87, 68, 54, 49, 48, 255, 255, 119, 97, 97, 106, 118, 118, 104, 94,
+  105, 124, 134, 145, 157, 161, 151, 135, 123, 117, 124, 127, 110, 122, 92, 88,
+  49, 36, 48, 29, 11, 40, 31, 53, 46, 36, 42, 37, 46, 57, 87, 78,
+  113, 100, 121, 120, 120, 121, 123, 122, 118, 114, 122, 123, 124, 123, 121, 115,
+  109, 105, 112, 111, 105, 100, 104, 116, 126, 129, 140, 137, 133, 129, 124, 125,
+  127, 131, 130, 127, 122, 121, 120, 119, 117, 117, 106, 117, 123, 118, 108, 103,
+  105, 106, 104, 98, 93, 81, 91, 101, 118, 121, 120, 122, 120, 116, 114, 120,
+  124, 125, 113, 116, 112, 102, 97, 100, 94, 82, 61, 50, 49, 59, 70, 93,
+  111, 113, 97, 93, 90, 78, 63, 57, 123, 255, 255, 120, 101, 93, 109, 117,
+  104, 89, 93, 111, 127, 156, 161, 173, 178, 163, 136, 116, 110, 124, 124, 138,
+  103, 116, 70, 67, 53, 38, 40, 21, 56, 22, 49, 38, 28, 53, 45, 52,
+  68, 81, 75, 115, 99, 121, 120, 121, 123, 125, 124, 119, 114, 122, 122, 122,
+  122, 119, 113, 106, 100, 108, 106, 104, 107, 120, 136, 144, 142, 137, 138, 140,
+  139, 137, 137, 137, 139, 136, 132, 128, 128, 126, 122, 119, 118, 112, 118, 118,
+  113, 114, 122, 119, 112, 116, 110, 111, 90, 101, 99, 117, 117, 113, 117, 117,
+  112, 108, 113, 118, 121, 113, 118, 113, 97, 87, 85, 77, 65, 63, 60, 71,
+  86, 95, 105, 108, 99, 102, 92, 90, 85, 67, 56, 255, 255, 255, 92, 104,
+  85, 119, 115, 108, 91, 88, 123, 127, 150, 141, 133, 131, 127, 120, 119, 123,
+  121, 130, 124, 111, 108, 96, 73, 61, 46, 35, 39, 35, 31, 55, 18, 43,
+  43, 27, 53, 86, 64, 89, 91, 99, 110, 119, 125, 124, 122, 122, 121, 119,
+  123, 121, 119, 120, 121, 117, 107, 99, 111, 119, 123, 120, 123, 135, 140, 140,
+  130, 142, 127, 133, 134, 128, 130, 132, 127, 125, 127, 129, 120, 111, 114, 125,
+  118, 111, 109, 112, 116, 117, 116, 118, 117, 124, 126, 116, 102, 98, 108, 120,
+  117, 116, 111, 105, 103, 109, 114, 114, 104, 106, 98, 88, 88, 60, 48, 63,
+  88, 82, 87, 104, 108, 101, 100, 110, 98, 102, 99, 75, 87, 55, 255, 255,
+  255, 102, 102, 95, 115, 112, 100, 91, 98, 122, 126, 114, 141, 145, 126, 124,
+  142, 137, 112, 117, 129, 124, 113, 111, 105, 91, 86, 43, 34, 56, 43, 51,
+  53, 22, 36, 29, 29, 59, 82, 62, 94, 97, 98, 109, 115, 120, 120, 120,
+  122, 121, 118, 124, 122, 121, 120, 119, 114, 107, 102, 111, 120, 124, 120, 123,
+  131, 136, 132, 147, 149, 129, 129, 132, 122, 120, 113, 106, 103, 100, 101, 109,
+  117, 116, 111, 113, 114, 116, 114, 107, 104, 114, 129, 117, 121, 122, 119, 113,
+  113, 118, 123, 120, 120, 116, 109, 106, 110, 112, 110, 97, 107, 90, 84, 70,
+  71, 66, 88, 96, 102, 103, 100, 102, 106, 98, 84, 90, 94, 100, 86, 95,
+  59, 255, 255, 255, 118, 101, 108, 111, 112, 92, 88, 109, 119, 127, 131, 126,
+  132, 145, 146, 132, 124, 128, 115, 129, 127, 114, 112, 111, 108, 111, 63, 44,
+  56, 25, 43, 34, 23, 37, 17, 28, 62, 75, 63, 98, 104, 101, 114, 117,
+  118, 118, 120, 123, 121, 116, 123, 123, 123, 120, 116, 112, 110, 109, 121, 131,
+  134, 132, 132, 137, 138, 132, 134, 122, 98, 97, 111, 113, 126, 117, 123, 124,
+  117, 106, 106, 111, 103, 87, 93, 100, 108, 113, 107, 102, 104, 112, 119, 118,
+  119, 122, 126, 127, 126, 124, 121, 123, 120, 114, 109, 109, 107, 103, 116, 107,
+  85, 70, 65, 72, 78, 85, 77, 81, 80, 73, 73, 83, 91, 90, 94, 95,
+  99, 91, 90, 54, 255, 255, 255, 132, 104, 116, 108, 114, 87, 87, 116, 118,
+  131, 133, 142, 137, 124, 131, 150, 147, 127, 116, 132, 130, 115, 110, 111, 111,
+  117, 91, 63, 48, 17, 29, 28, 23, 38, 19, 23, 54, 66, 71, 101, 109,
+  110, 122, 122, 121, 119, 121, 125, 122, 115, 120, 122, 124, 120, 115, 113, 116,
+  120, 132, 142, 146, 142, 138, 141, 138, 131, 120, 107, 98, 99, 119, 119, 139,
+  125, 101, 103, 101, 94, 92, 98, 106, 110, 91, 87, 88, 99, 108, 106, 102,
+  99, 117, 118, 120, 125, 130, 131, 127, 121, 122, 125, 123, 116, 112, 109, 103,
+  98, 112, 72, 66, 64, 86, 82, 100, 94, 110, 99, 95, 97, 84, 66, 74,
+  99, 97, 93, 91, 87, 77, 118, 255, 255, 255, 140, 113, 116, 110, 118, 90,
+  86, 115, 120, 139, 136, 134, 123, 116, 133, 157, 156, 137, 115, 129, 126, 112,
+  111, 112, 110, 114, 102, 79, 45, 35, 34, 45, 26, 37, 32, 19, 41, 58,
+  83, 103, 109, 119, 120, 121, 120, 119, 122, 127, 124, 118, 117, 121, 123, 121,
+  117, 117, 123, 129, 131, 141, 146, 140, 136, 136, 131, 122, 113, 105, 110, 106,
+  108, 84, 96, 67, 52, 45, 49, 67, 77, 77, 83, 94, 97, 87, 80, 86,
+  96, 102, 105, 107, 112, 116, 119, 124, 126, 126, 126, 124, 127, 130, 128, 122,
+  117, 113, 106, 99, 113, 64, 59, 100, 81, 70, 69, 75, 102, 89, 87, 100,
+  97, 79, 80, 97, 90, 88, 89, 88, 69, 255, 255, 255, 255, 139, 127, 112,
+  114, 116, 94, 90, 113, 127, 140, 146, 114, 106, 135, 151, 138, 128, 134, 112,
+  124, 118, 109, 114, 118, 114, 115, 109, 90, 43, 41, 35, 53, 36, 47, 41,
+  20, 37, 52, 91, 105, 110, 122, 111, 115, 117, 118, 122, 126, 126, 121, 118,
+  122, 124, 123, 120, 122, 128, 135, 130, 140, 145, 139, 134, 133, 127, 118, 117,
+  97, 97, 73, 61, 30, 52, 25, 32, 22, 39, 84, 107, 85, 50, 31, 66,
+  73, 85, 95, 97, 93, 93, 99, 107, 113, 117, 120, 121, 125, 128, 133, 138,
+  139, 136, 128, 120, 117, 111, 105, 108, 72, 58, 137, 44, 38, 10, 39, 60,
+  47, 34, 37, 56, 76, 89, 94, 91, 96, 98, 96, 62, 255, 255, 255, 255,
+  136, 141, 109, 119, 108, 98, 97, 112, 136, 137, 128, 130, 129, 130, 139, 143,
+  127, 105, 117, 123, 113, 106, 118, 127, 124, 121, 115, 98, 60, 47, 48, 46,
+  44, 50, 39, 27, 45, 49, 93, 108, 113, 120, 110, 116, 121, 121, 122, 124,
+  123, 120, 123, 125, 126, 125, 124, 126, 130, 135, 133, 142, 146, 139, 135, 135,
+  129, 120, 129, 100, 97, 69, 64, 44, 87, 66, 45, 38, 55, 99, 128, 112,
+  69, 36, 37, 50, 72, 93, 100, 96, 92, 94, 116, 115, 115, 115, 117, 123,
+  130, 136, 147, 146, 139, 129, 119, 115, 110, 105, 77, 39, 45, 125, 40, 36,
+  23, 43, 105, 89, 64, 44, 37, 44, 63, 79, 93, 103, 102, 92, 47, 255,
+  255, 255, 255, 132, 149, 107, 123, 102, 102, 105, 113, 142, 134, 135, 114, 118,
+  149, 154, 127, 114, 126, 125, 126, 111, 104, 121, 134, 130, 124, 109, 103, 92,
+  73, 80, 47, 44, 36, 31, 35, 56, 46, 91, 109, 115, 114, 116, 123, 128,
+  127, 122, 122, 119, 117, 127, 128, 128, 127, 127, 128, 130, 132, 132, 142, 144,
+  139, 133, 133, 129, 120, 115, 90, 106, 93, 100, 86, 131, 103, 94, 79, 68,
+  73, 91, 96, 84, 68, 45, 41, 47, 68, 93, 108, 112, 115, 128, 122, 115,
+  113, 116, 124, 130, 134, 151, 149, 140, 126, 116, 112, 107, 102, 86, 24, 54,
+  99, 64, 40, 55, 42, 152, 139, 131, 112, 65, 21, 32, 71, 84, 96, 92,
+  79, 34, 255, 255, 255, 255, 142, 136, 126, 118, 100, 119, 89, 139, 141, 123,
+  127, 119, 139, 175, 131, 124, 123, 129, 124, 118, 121, 135, 145, 141, 134, 133,
+  111, 109, 96, 82, 84, 92, 80, 56, 33, 30, 30, 43, 72, 103, 118, 119,
+  115, 116, 117, 118, 120, 121, 122, 123, 128, 129, 129, 128, 128, 129, 134, 138,
+  135, 137, 137, 135, 137, 140, 138, 134, 127, 122, 116, 117, 121, 123, 120, 117,
+  125, 118, 108, 97, 90, 90, 93, 97, 86, 85, 91, 96, 93, 90, 105, 126,
+  130, 115, 110, 118, 121, 116, 122, 136, 143, 149, 147, 134, 119, 110, 106, 104,
+  48, 45, 37, 39, 45, 40, 47, 70, 141, 134, 119, 96, 67, 46, 42, 48,
+  66, 84, 108, 55, 117, 255, 255, 255, 255, 143, 137, 130, 112, 112, 112, 101,
+  140, 143, 125, 124, 117, 137, 173, 145, 141, 130, 121, 125, 117, 122, 140, 151,
+  148, 137, 131, 116, 113, 102, 95, 97, 105, 96, 82, 57, 50, 41, 45, 63,
+  89, 106, 110, 115, 115, 118, 120, 121, 122, 122, 122, 126, 127, 127, 126, 126,
+  127, 132, 136, 137, 138, 138, 135, 137, 140, 138, 134, 126, 122, 119, 118, 121,
+  122, 121, 119, 123, 119, 113, 106, 101, 99, 101, 102, 97, 98, 105, 113, 110,
+  105, 112, 127, 128, 115, 112, 120, 122, 116, 121, 133, 138, 144, 145, 135, 122,
+  112, 102, 97, 50, 53, 50, 50, 55, 52, 55, 69, 105, 79, 59, 62, 75,
+  76, 58, 41, 62, 82, 102, 48, 255, 255, 255, 255, 255, 143, 138, 136, 108,
+  120, 104, 109, 140, 139, 123, 125, 130, 152, 168, 136, 135, 140, 140, 125, 120,
+  127, 148, 160, 154, 140, 132, 118, 111, 102, 102, 103, 107, 104, 102, 100, 95,
+  87, 85, 93, 109, 121, 124, 115, 117, 120, 122, 123, 123, 122, 121, 126, 127,
+  127, 127, 126, 128, 131, 135, 139, 140, 139, 136, 136, 139, 137, 132, 128, 127,
+  126, 125, 125, 125, 126, 126, 123, 122, 119, 116, 113, 111, 110, 109, 105, 103,
+  107, 113, 112, 108, 112, 123, 127, 117, 115, 122, 123, 116, 119, 129, 132, 138,
+  139, 134, 125, 114, 98, 88, 75, 90, 91, 87, 92, 92, 91, 96, 97, 83,
+  75, 83, 96, 96, 85, 75, 68, 87, 92, 41, 255, 255, 255, 255, 255, 143,
+  138, 139, 112, 119, 106, 107, 142, 127, 120, 116, 127, 147, 156, 138, 138, 140,
+  134, 123, 123, 134, 155, 166, 156, 143, 136, 121, 110, 101, 103, 103, 100, 100,
+  107, 99, 103, 106, 108, 112, 118, 121, 119, 116, 118, 122, 124, 125, 123, 121,
+  119, 128, 129, 130, 130, 130, 131, 134, 136, 141, 141, 139, 136, 136, 139, 137,
+  132, 132, 133, 133, 132, 130, 130, 131, 132, 124, 122, 119, 118, 116, 115, 113,
+  112, 109, 102, 98, 99, 100, 102, 111, 120, 125, 119, 119, 125, 123, 116, 117,
+  125, 130, 134, 135, 131, 125, 116, 99, 84, 83, 104, 107, 100, 105, 109, 105,
+  103, 96, 100, 103, 102, 92, 84, 85, 92, 82, 95, 81, 110, 255, 255, 255,
+  255, 255, 143, 139, 140, 124, 109, 112, 98, 139, 114, 118, 119, 122, 141, 165,
+  189, 190, 164, 126, 120, 125, 141, 161, 166, 155, 144, 142, 126, 113, 103, 106,
+  104, 99, 102, 111, 87, 96, 104, 110, 114, 117, 116, 111, 118, 119, 122, 124,
+  125, 123, 120, 118, 128, 129, 131, 131, 131, 132, 134, 136, 141, 141, 138, 134,
+  135, 138, 137, 133, 133, 134, 135, 134, 131, 130, 130, 131, 125, 120, 115, 113,
+  113, 113, 113, 111, 110, 104, 100, 101, 104, 108, 115, 122, 126, 123, 124, 127,
+  124, 117, 116, 122, 130, 132, 131, 127, 124, 117, 103, 89, 82, 104, 105, 95,
+  100, 108, 105, 102, 102, 96, 93, 96, 96, 93, 89, 91, 91, 95, 63, 255,
+  255, 255, 255, 255, 255, 143, 139, 137, 136, 101, 116, 97, 129, 113, 118, 117,
+  120, 139, 156, 190, 189, 178, 154, 122, 125, 139, 157, 163, 154, 146, 146, 125,
+  114, 104, 104, 103, 101, 104, 111, 101, 106, 112, 114, 118, 125, 125, 122, 120,
+  120, 122, 123, 123, 121, 119, 118, 125, 127, 129, 130, 129, 130, 132, 134, 141,
+  141, 138, 134, 135, 139, 139, 135, 134, 134, 133, 132, 131, 129, 127, 125, 123,
+  118, 111, 109, 110, 113, 113, 112, 105, 107, 110, 113, 116, 117, 119, 120, 127,
+  127, 129, 129, 124, 117, 116, 121, 128, 131, 130, 126, 124, 119, 107, 96, 86,
+  105, 105, 96, 100, 107, 106, 106, 109, 101, 96, 99, 104, 104, 102, 102, 92,
+  89, 45, 255, 255, 255, 255, 255, 255, 143, 140, 134, 145, 100, 114, 107, 115,
+  125, 123, 106, 111, 122, 113, 130, 122, 142, 155, 129, 123, 129, 149, 160, 157,
+  149, 145, 125, 116, 105, 102, 102, 104, 105, 105, 104, 106, 108, 109, 114, 123,
+  124, 121, 122, 121, 121, 121, 120, 119, 118, 117, 125, 127, 130, 130, 130, 130,
+  131, 133, 140, 140, 137, 134, 135, 140, 139, 136, 139, 136, 133, 133, 133, 131,
+  127, 122, 121, 114, 109, 109, 113, 117, 117, 115, 105, 111, 116, 118, 118, 119,
+  120, 121, 130, 130, 132, 130, 123, 117, 117, 122, 123, 128, 129, 127, 124, 119,
+  109, 100, 80, 94, 94, 89, 94, 97, 96, 100, 102, 101, 101, 102, 97, 92,
+  93, 100, 94, 88, 40, 255, 255, 255, 255, 255, 255, 143, 140, 132, 148, 102,
+  109, 118, 103, 137, 126, 124, 119, 120, 104, 118, 101, 117, 131, 135, 122, 121,
+  140, 159, 160, 150, 143, 132, 124, 112, 105, 105, 109, 107, 102, 104, 107, 110,
+  113, 121, 127, 125, 119, 123, 121, 120, 119, 118, 118, 117, 117, 127, 129, 132,
+  133, 133, 133, 133, 135, 139, 140, 137, 133, 135, 140, 140, 137, 145, 140, 136,
+  136, 138, 136, 129, 121, 117, 113, 110, 113, 118, 122, 121, 119, 115, 119, 121,
+  118, 117, 120, 125, 129, 131, 133, 134, 131, 123, 117, 118, 123, 118, 125, 130,
+  129, 125, 119, 109, 100, 85, 97, 98, 97, 101, 100, 98, 106, 107, 101, 98,
+  102, 103, 100, 96, 94, 99, 93, 45, 255, 255, 255, 255, 255, 255, 140, 141,
+  134, 144, 121, 105, 107, 126, 93, 127, 130, 130, 124, 119, 122, 125, 111, 93,
+  108, 104, 92, 128, 158, 156, 157, 135, 126, 123, 111, 101, 101, 109, 112, 109,
+  106, 107, 109, 111, 115, 119, 121, 123, 121, 124, 125, 124, 120, 118, 118, 119,
+  126, 127, 128, 128, 129, 131, 134, 138, 140, 139, 138, 136, 136, 136, 138, 138,
+  133, 140, 143, 139, 137, 137, 133, 126, 116, 109, 104, 108, 112, 114, 115, 119,
+  115, 118, 120, 124, 125, 127, 127, 128, 130, 129, 129, 128, 121, 114, 116, 123,
+  119, 117, 120, 128, 127, 117, 107, 106, 90, 81, 97, 99, 96, 107, 107, 112,
+  110, 109, 107, 106, 106, 102, 94, 89, 88, 89, 49, 255, 255, 255, 255, 255,
+  255, 141, 142, 140, 135, 134, 126, 109, 135, 113, 110, 121, 123, 120, 117, 126,
+  137, 137, 128, 102, 100, 91, 122, 149, 151, 157, 142, 126, 123, 111, 102, 101,
+  108, 110, 108, 106, 107, 109, 111, 115, 118, 121, 123, 118, 121, 123, 123, 121,
+  120, 119, 121, 125, 127, 127, 128, 129, 131, 133, 136, 139, 139, 139, 138, 139,
+  139, 140, 140, 137, 143, 145, 141, 139, 139, 135, 130, 124, 116, 110, 110, 112,
+  112, 112, 114, 116, 119, 123, 127, 130, 130, 130, 130, 136, 133, 131, 127, 120,
+  115, 117, 125, 120, 119, 121, 128, 127, 119, 110, 109, 96, 84, 97, 98, 95,
+  105, 105, 112, 112, 110, 108, 109, 109, 104, 95, 90, 91, 91, 117, 255, 255,
+  255, 255, 255, 255, 255, 142, 147, 129, 144, 141, 105, 134, 133, 108, 124, 128,
+  127, 124, 130, 144, 150, 147, 124, 122, 114, 130, 142, 142, 149, 143, 128, 123,
+  111, 104, 102, 107, 108, 107, 105, 107, 109, 112, 115, 118, 120, 121, 113, 118,
+  121, 123, 122, 122, 121, 121, 125, 126, 127, 128, 127, 129, 132, 135, 138, 138,
+  140, 141, 141, 142, 142, 142, 144, 147, 145, 142, 140, 139, 136, 132, 129, 120,
+  114, 114, 115, 113, 112, 113, 118, 121, 127, 132, 135, 136, 134, 133, 139, 136,
+  130, 127, 119, 115, 118, 126, 120, 119, 121, 127, 126, 120, 112, 111, 103, 87,
+  98, 97, 94, 103, 104, 111, 112, 111, 110, 110, 110, 105, 96, 91, 91, 89,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 150, 133, 143, 139, 101, 107, 127,
+  129, 129, 130, 128, 123, 129, 141, 145, 140, 142, 142, 138, 140, 139, 135, 137,
+  137, 129, 123, 111, 105, 103, 107, 107, 106, 105, 106, 109, 112, 114, 116, 118,
+  119, 113, 116, 119, 122, 122, 122, 120, 120, 124, 126, 127, 128, 127, 129, 131,
+  134, 137, 139, 141, 143, 144, 145, 144, 144, 145, 144, 140, 137, 135, 133, 129,
+  125, 126, 119, 114, 115, 118, 117, 116, 118, 117, 122, 128, 135, 138, 138, 137,
+  135, 136, 132, 129, 126, 121, 116, 118, 124, 118, 118, 119, 123, 124, 120, 115,
+  111, 102, 85, 97, 101, 98, 106, 104, 112, 112, 111, 110, 111, 111, 105, 96,
+  91, 86, 81, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 144, 142, 135,
+  110, 67, 86, 136, 130, 129, 122, 116, 123, 137, 143, 138, 134, 136, 142, 139,
+  135, 135, 132, 135, 129, 122, 111, 107, 105, 107, 105, 106, 105, 106, 109, 112,
+  114, 115, 116, 116, 114, 115, 118, 121, 122, 121, 119, 118, 125, 127, 128, 128,
+  128, 129, 131, 133, 137, 138, 141, 143, 145, 145, 145, 145, 142, 138, 134, 133,
+  131, 127, 123, 120, 125, 118, 114, 117, 120, 119, 118, 120, 116, 121, 127, 133,
+  137, 137, 136, 135, 129, 127, 126, 126, 123, 117, 116, 119, 114, 116, 117, 118,
+  120, 119, 115, 111, 99, 82, 97, 104, 104, 109, 105, 112, 111, 110, 108, 109,
+  108, 103, 95, 90, 84, 74, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 144, 140, 124, 37, 37, 104, 128, 130, 126, 119, 123, 136, 144, 143, 133,
+  134, 146, 138, 134, 139, 129, 133, 128, 120, 110, 108, 106, 106, 105, 108, 105,
+  106, 109, 113, 113, 114, 114, 114, 114, 114, 115, 117, 119, 121, 119, 118, 126,
+  128, 129, 130, 130, 130, 131, 133, 137, 138, 140, 142, 143, 144, 144, 144, 148,
+  142, 140, 142, 143, 138, 132, 130, 132, 124, 120, 121, 123, 120, 118, 118, 118,
+  121, 127, 132, 135, 136, 135, 133, 126, 124, 124, 126, 123, 117, 113, 115, 111,
+  114, 114, 114, 116, 119, 116, 111, 98, 79, 96, 108, 109, 113, 108, 114, 111,
+  109, 107, 106, 106, 102, 95, 91, 86, 70, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 218, 145, 132, 28, 14, 54, 88, 106, 123, 127, 128, 136,
+  141, 141, 143, 139, 151, 139, 137, 146, 130, 132, 127, 118, 109, 109, 108, 107,
+  105, 109, 104, 106, 109, 113, 113, 113, 113, 112, 113, 111, 111, 113, 118, 122,
+  122, 121, 127, 130, 131, 132, 131, 131, 131, 133, 138, 138, 138, 139, 140, 141,
+  142, 143, 150, 144, 144, 151, 155, 151, 145, 143, 138, 131, 126, 127, 127, 123,
+  120, 119, 120, 123, 127, 131, 133, 134, 134, 134, 131, 126, 123, 123, 120, 113,
+  110, 111, 109, 112, 113, 112, 114, 119, 116, 112, 102, 80, 94, 106, 109, 113,
+  108, 116, 114, 110, 105, 104, 104, 101, 95, 92, 83, 63, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 145, 131, 31, 13, 23, 22, 62, 106,
+  127, 132, 135, 137, 137, 142, 135, 147, 134, 137, 152, 136, 138, 127, 117, 108,
+  109, 109, 107, 107, 110, 104, 106, 109, 112, 113, 113, 112, 111, 111, 109, 108,
+  111, 117, 123, 125, 125, 128, 130, 133, 133, 133, 132, 133, 134, 139, 138, 137,
+  137, 137, 139, 141, 142, 141, 136, 138, 148, 155, 151, 146, 145, 140, 134, 129,
+  131, 132, 128, 124, 124, 123, 124, 127, 130, 133, 134, 134, 134, 138, 130, 124,
+  121, 117, 111, 108, 109, 109, 113, 113, 111, 114, 120, 119, 113, 106, 82, 94,
+  106, 109, 113, 109, 119, 116, 110, 105, 103, 104, 101, 97, 94, 79, 55, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 116, 20, 22, 24,
+  20, 37, 63, 112, 126, 144, 136, 141, 146, 147, 146, 145, 143, 145, 141, 135,
+  126, 114, 105, 108, 108, 105, 106, 113, 108, 108, 109, 111, 114, 115, 113, 110,
+  109, 108, 107, 109, 113, 120, 125, 129, 131, 133, 135, 134, 132, 133, 137, 141,
+  134, 136, 137, 135, 136, 140, 140, 138, 148, 140, 136, 143, 157, 165, 161, 155,
+  146, 133, 132, 137, 135, 133, 130, 120, 120, 121, 125, 134, 141, 142, 136, 130,
+  133, 131, 127, 121, 115, 112, 110, 111, 111, 112, 111, 111, 116, 122, 121, 116,
+  106, 87, 82, 103, 119, 117, 112, 117, 120, 105, 102, 109, 104, 100, 99, 93,
+  86, 33, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 103,
+  35, 17, 23, 17, 29, 42, 79, 88, 108, 109, 122, 126, 127, 127, 126, 130,
+  134, 133, 130, 123, 115, 108, 108, 109, 108, 107, 109, 106, 106, 107, 110, 113,
+  114, 111, 110, 111, 109, 108, 109, 112, 117, 122, 125, 130, 133, 135, 134, 133,
+  132, 134, 137, 137, 140, 140, 138, 138, 142, 143, 140, 148, 141, 134, 136, 145,
+  157, 164, 167, 153, 136, 132, 134, 130, 130, 131, 124, 125, 122, 121, 123, 127,
+  132, 133, 133, 130, 128, 124, 117, 112, 108, 107, 108, 108, 111, 112, 112, 116,
+  122, 123, 119, 108, 88, 85, 104, 122, 121, 117, 118, 124, 110, 107, 111, 106,
+  102, 100, 94, 87, 32, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 111, 43, 16, 14, 22, 33, 41, 68, 68, 89, 94, 110, 98, 100,
+  98, 94, 96, 99, 98, 95, 113, 115, 112, 108, 108, 111, 109, 105, 105, 105,
+  107, 109, 112, 113, 111, 110, 112, 111, 108, 109, 111, 115, 118, 121, 127, 131,
+  135, 135, 133, 131, 132, 134, 138, 141, 141, 138, 139, 143, 143, 141, 143, 140,
+  135, 135, 140, 148, 157, 163, 148, 134, 130, 133, 128, 127, 126, 119, 119, 118,
+  116, 116, 119, 123, 127, 129, 125, 122, 118, 112, 108, 104, 106, 107, 105, 109,
+  114, 113, 115, 121, 124, 123, 111, 92, 87, 104, 123, 125, 121, 121, 126, 112,
+  110, 113, 107, 103, 100, 91, 76, 21, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 36, 23, 6, 27, 45, 59, 85, 81, 96, 97,
+  110, 125, 127, 127, 125, 125, 128, 124, 117, 98, 110, 115, 108, 104, 109, 110,
+  106, 106, 106, 107, 110, 113, 114, 112, 111, 110, 109, 108, 108, 110, 114, 117,
+  119, 124, 129, 134, 136, 134, 133, 133, 135, 136, 140, 139, 136, 137, 140, 141,
+  138, 136, 136, 138, 141, 142, 144, 141, 139, 137, 126, 126, 132, 126, 122, 119,
+  110, 109, 113, 118, 121, 120, 119, 117, 115, 116, 115, 112, 108, 105, 103, 106,
+  106, 104, 111, 117, 115, 115, 120, 123, 125, 115, 97, 88, 98, 116, 125, 125,
+  123, 121, 110, 109, 112, 106, 102, 98, 87, 75, 18, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 27, 22, 12, 25, 48, 66, 91,
+  86, 100, 101, 111, 112, 118, 125, 129, 133, 135, 130, 123, 84, 102, 112, 106,
+  99, 104, 109, 111, 107, 107, 109, 112, 115, 116, 114, 114, 108, 108, 108, 109,
+  111, 115, 117, 120, 123, 128, 134, 136, 135, 134, 136, 138, 137, 140, 140, 137,
+  137, 141, 140, 137, 137, 136, 137, 142, 146, 144, 135, 127, 135, 121, 120, 122,
+  115, 111, 110, 104, 111, 115, 121, 122, 118, 112, 106, 103, 105, 106, 105, 102,
+  101, 101, 104, 107, 109, 115, 118, 115, 115, 119, 123, 122, 119, 103, 88, 90,
+  105, 118, 125, 125, 118, 109, 109, 111, 106, 105, 100, 88, 79, 27, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 26, 17, 25, 27,
+  49, 60, 81, 77, 98, 102, 114, 118, 126, 134, 141, 143, 144, 135, 127, 84,
+  95, 104, 102, 99, 102, 108, 112, 107, 108, 109, 113, 116, 118, 116, 115, 108,
+  108, 108, 110, 112, 115, 118, 119, 124, 129, 134, 136, 134, 134, 136, 139, 138,
+  141, 141, 138, 139, 142, 141, 138, 142, 138, 134, 137, 141, 144, 138, 132, 136,
+  120, 113, 110, 102, 102, 109, 108, 124, 122, 118, 114, 109, 106, 102, 100, 101,
+  101, 100, 99, 97, 100, 103, 106, 111, 115, 118, 116, 117, 121, 123, 121, 122,
+  109, 92, 86, 95, 110, 120, 122, 117, 111, 112, 114, 109, 108, 103, 87, 58,
+  28, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 197, 24,
+  19, 29, 38, 54, 59, 74, 72, 97, 105, 116, 120, 128, 135, 138, 140, 139,
+  130, 121, 95, 92, 92, 98, 102, 104, 106, 109, 106, 107, 108, 112, 116, 117,
+  115, 115, 110, 110, 111, 112, 112, 115, 117, 118, 128, 131, 134, 133, 131, 131,
+  133, 136, 137, 140, 140, 137, 137, 140, 140, 137, 143, 140, 136, 134, 135, 136,
+  134, 133, 124, 110, 108, 110, 105, 108, 117, 117, 125, 119, 110, 106, 106, 107,
+  106, 104, 106, 105, 104, 102, 102, 103, 106, 109, 111, 114, 116, 114, 118, 124,
+  124, 121, 120, 113, 100, 88, 91, 104, 115, 115, 116, 112, 114, 113, 107, 108,
+  101, 83, 27, 103, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 102, 20, 27, 22, 42, 58, 60, 75, 73, 98, 103, 112, 117, 123, 131,
+  136, 142, 145, 140, 132, 107, 92, 84, 95, 106, 108, 104, 105, 105, 105, 107,
+  111, 115, 116, 114, 114, 113, 113, 113, 113, 113, 114, 115, 115, 131, 133, 134,
+  132, 128, 128, 130, 133, 135, 138, 137, 134, 134, 138, 137, 134, 138, 140, 140,
+  138, 131, 126, 124, 124, 104, 98, 106, 117, 117, 120, 126, 123, 113, 108, 104,
+  106, 110, 114, 112, 109, 113, 113, 112, 110, 108, 108, 111, 114, 111, 112, 112,
+  113, 120, 127, 127, 122, 118, 116, 106, 91, 89, 101, 110, 111, 114, 111, 113,
+  112, 105, 105, 97, 78, 15, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 137, 24, 28, 13, 36, 56, 70, 68, 92, 79, 105, 109,
+  119, 124, 130, 136, 143, 147, 142, 133, 113, 84, 80, 99, 105, 102, 105, 109,
+  101, 104, 109, 112, 114, 115, 115, 118, 111, 113, 114, 113, 113, 113, 114, 116,
+  132, 132, 132, 133, 133, 133, 132, 132, 135, 133, 131, 133, 138, 140, 138, 136,
+  141, 138, 135, 135, 126, 114, 104, 102, 133, 131, 129, 129, 129, 129, 126, 124,
+  136, 116, 101, 104, 114, 121, 121, 121, 122, 121, 118, 115, 111, 112, 114, 116,
+  118, 110, 113, 116, 118, 127, 133, 124, 124, 109, 105, 101, 88, 86, 99, 107,
+  113, 99, 106, 110, 105, 91, 104, 36, 18, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 133, 51, 22, 15, 35, 67, 56, 73, 67,
+  84, 94, 108, 119, 125, 129, 132, 137, 142, 141, 136, 111, 82, 78, 96, 102,
+  100, 103, 106, 101, 104, 107, 110, 111, 112, 112, 112, 113, 114, 116, 116, 115,
+  116, 117, 119, 132, 133, 134, 134, 132, 131, 131, 133, 135, 135, 134, 135, 136,
+  138, 140, 143, 145, 136, 127, 123, 119, 118, 121, 127, 128, 127, 128, 129, 132,
+  135, 135, 134, 128, 131, 119, 103, 106, 124, 128, 116, 118, 122, 124, 118, 111,
+  113, 124, 135, 119, 108, 115, 129, 128, 126, 132, 136, 127, 114, 112, 98, 94,
+  92, 104, 99, 110, 103, 107, 104, 101, 99, 95, 41, 106, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 130, 71, 15, 13, 45, 81,
+  67, 74, 63, 83, 97, 111, 119, 124, 128, 128, 130, 136, 140, 139, 111, 83,
+  78, 95, 100, 100, 103, 105, 103, 104, 107, 110, 111, 112, 111, 111, 114, 115,
+  117, 118, 117, 118, 120, 122, 126, 131, 136, 136, 131, 130, 134, 138, 136, 137,
+  137, 136, 136, 137, 140, 144, 136, 127, 118, 115, 117, 124, 134, 145, 135, 133,
+  132, 133, 135, 136, 135, 132, 130, 140, 133, 115, 110, 121, 125, 118, 129, 134,
+  136, 133, 124, 118, 117, 119, 118, 112, 115, 122, 127, 137, 136, 120, 132, 117,
+  120, 97, 100, 92, 105, 91, 110, 109, 108, 102, 95, 104, 72, 45, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 136, 60, 18,
+  9, 50, 81, 90, 68, 77, 70, 106, 112, 117, 125, 129, 128, 129, 134, 138,
+  139, 113, 87, 81, 95, 101, 102, 106, 106, 104, 105, 107, 111, 115, 116, 115,
+  114, 114, 115, 118, 119, 118, 119, 120, 122, 120, 128, 135, 135, 131, 130, 136,
+  142, 138, 137, 137, 137, 138, 137, 136, 134, 119, 117, 116, 121, 126, 129, 135,
+  140, 140, 138, 135, 135, 136, 136, 134, 133, 137, 131, 129, 132, 123, 110, 108,
+  117, 115, 113, 113, 117, 124, 127, 125, 121, 124, 134, 135, 130, 157, 205, 205,
+  157, 132, 115, 123, 102, 102, 83, 99, 92, 113, 110, 107, 105, 95, 96, 42,
+  118, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  139, 37, 37, 21, 37, 77, 95, 75, 77, 62, 96, 106, 115, 124, 130, 130,
+  131, 134, 136, 135, 113, 88, 82, 93, 98, 102, 106, 105, 101, 101, 104, 110,
+  116, 119, 118, 117, 113, 115, 118, 119, 119, 119, 119, 120, 122, 129, 135, 135,
+  129, 128, 133, 139, 139, 136, 135, 137, 139, 136, 128, 120, 115, 116, 121, 130,
+  134, 133, 133, 135, 134, 133, 133, 135, 139, 141, 141, 140, 132, 124, 125, 133,
+  128, 109, 100, 102, 114, 109, 103, 98, 98, 102, 109, 113, 106, 119, 118, 106,
+  124, 169, 172, 131, 133, 115, 122, 112, 100, 75, 93, 104, 109, 102, 100, 111,
+  98, 77, 23, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 209, 28, 58, 45, 33, 80, 83, 98, 74, 73, 82, 102, 114,
+  123, 129, 132, 133, 135, 133, 129, 110, 87, 80, 89, 94, 100, 104, 101, 97,
+  97, 100, 107, 114, 119, 118, 116, 113, 115, 118, 119, 118, 117, 116, 117, 128,
+  131, 135, 133, 127, 124, 126, 130, 137, 135, 135, 136, 136, 131, 123, 115, 126,
+  125, 128, 135, 137, 136, 137, 140, 141, 138, 137, 138, 139, 140, 140, 139, 128,
+  134, 136, 131, 128, 125, 114, 96, 111, 121, 127, 116, 95, 80, 81, 87, 112,
+  113, 118, 117, 110, 117, 128, 126, 128, 118, 119, 117, 90, 79, 93, 112, 101,
+  96, 97, 107, 92, 53, 21, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 35, 60, 63, 45, 81, 81, 107, 89, 82,
+  79, 96, 115, 121, 125, 127, 131, 134, 132, 126, 110, 88, 80, 88, 93, 100,
+  104, 101, 99, 98, 100, 106, 115, 119, 117, 115, 115, 116, 119, 120, 119, 117,
+  115, 115, 128, 130, 130, 130, 128, 126, 125, 127, 133, 135, 137, 135, 129, 124,
+  123, 123, 131, 129, 130, 136, 138, 139, 141, 145, 150, 146, 143, 142, 141, 139,
+  136, 134, 135, 140, 141, 137, 133, 131, 123, 111, 92, 106, 121, 123, 113, 101,
+  96, 97, 89, 85, 99, 115, 112, 112, 128, 140, 116, 123, 110, 108, 69, 90,
+  97, 108, 97, 102, 101, 95, 76, 28, 106, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 46, 49, 67, 58, 72, 87,
+  95, 110, 74, 84, 86, 117, 120, 121, 123, 129, 134, 132, 125, 113, 90, 83,
+  90, 95, 102, 106, 102, 103, 102, 103, 109, 117, 121, 119, 116, 116, 118, 121,
+  121, 119, 117, 115, 115, 123, 124, 125, 127, 129, 129, 130, 129, 130, 137, 140,
+  134, 123, 119, 125, 134, 127, 126, 130, 138, 141, 140, 141, 144, 145, 143, 142,
+  143, 144, 145, 144, 142, 141, 129, 130, 141, 138, 120, 117, 127, 117, 108, 100,
+  99, 105, 109, 107, 103, 96, 91, 97, 105, 109, 118, 120, 109, 105, 125, 103,
+  97, 52, 99, 99, 99, 98, 114, 109, 86, 62, 13, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 53, 74,
+  69, 57, 80, 109, 102, 92, 94, 93, 103, 109, 116, 122, 129, 133, 132, 129,
+  108, 90, 87, 94, 95, 100, 106, 105, 102, 105, 108, 114, 119, 120, 119, 118,
+  117, 117, 118, 117, 116, 117, 119, 121, 125, 127, 127, 126, 124, 125, 130, 134,
+  138, 134, 139, 128, 110, 122, 130, 112, 118, 134, 131, 132, 133, 137, 150, 142,
+  146, 148, 142, 156, 140, 144, 129, 137, 143, 135, 133, 139, 143, 138, 133, 130,
+  117, 121, 119, 110, 98, 97, 102, 109, 119, 92, 74, 82, 104, 118, 118, 115,
+  119, 98, 76, 72, 84, 98, 105, 106, 116, 106, 108, 78, 32, 110, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  192, 49, 67, 77, 61, 73, 103, 110, 99, 99, 106, 94, 101, 114, 125, 130,
+  131, 133, 134, 113, 93, 87, 92, 94, 99, 107, 107, 103, 104, 107, 112, 118,
+  121, 121, 120, 118, 119, 119, 118, 117, 117, 118, 121, 124, 126, 127, 126, 124,
+  124, 128, 133, 135, 133, 137, 126, 112, 122, 130, 113, 112, 122, 118, 131, 135,
+  133, 140, 129, 142, 139, 143, 139, 155, 139, 153, 144, 129, 126, 128, 136, 139,
+  133, 127, 124, 118, 120, 117, 107, 97, 92, 94, 98, 98, 89, 88, 100, 113,
+  113, 105, 98, 77, 79, 79, 77, 84, 95, 100, 98, 130, 118, 89, 52, 28,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 46, 66, 82, 70, 69, 90, 109, 102, 99, 113, 93, 96,
+  109, 125, 132, 129, 130, 135, 118, 94, 85, 91, 93, 98, 106, 108, 104, 104,
+  107, 110, 116, 120, 121, 121, 120, 121, 121, 119, 118, 117, 118, 120, 122, 125,
+  127, 126, 123, 123, 126, 129, 130, 132, 134, 123, 113, 122, 127, 115, 126, 119,
+  105, 120, 129, 128, 144, 147, 130, 154, 149, 158, 146, 133, 147, 142, 148, 145,
+  144, 144, 140, 131, 124, 122, 117, 115, 111, 105, 98, 92, 90, 90, 81, 82,
+  87, 93, 93, 84, 74, 72, 73, 78, 77, 75, 84, 101, 109, 106, 133, 111,
+  58, 24, 103, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 46, 66, 81, 88, 80, 83, 103, 105, 100,
+  112, 104, 97, 102, 119, 129, 127, 127, 132, 120, 94, 85, 93, 95, 98, 104,
+  106, 105, 104, 106, 109, 115, 119, 121, 121, 121, 122, 122, 121, 119, 118, 118,
+  119, 120, 124, 126, 126, 123, 121, 123, 125, 126, 132, 131, 119, 114, 123, 125,
+  116, 116, 102, 85, 100, 104, 93, 111, 125, 149, 140, 127, 120, 159, 139, 171,
+  140, 146, 146, 145, 142, 137, 132, 129, 130, 114, 111, 109, 109, 106, 102, 98,
+  98, 97, 97, 95, 91, 84, 80, 81, 86, 93, 84, 78, 85, 101, 112, 116,
+  116, 127, 85, 34, 96, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 51, 54, 70, 100, 98, 82,
+  95, 109, 108, 111, 116, 101, 95, 108, 123, 128, 129, 131, 120, 93, 86, 97,
+  99, 98, 101, 102, 105, 104, 105, 108, 113, 118, 120, 121, 120, 122, 123, 122,
+  119, 118, 117, 118, 121, 124, 126, 125, 122, 120, 121, 123, 123, 133, 130, 116,
+  116, 124, 123, 118, 102, 96, 91, 114, 108, 80, 88, 101, 77, 96, 91, 123,
+  123, 126, 133, 129, 150, 153, 154, 150, 142, 135, 128, 125, 118, 113, 111, 116,
+  116, 112, 109, 109, 108, 107, 103, 96, 90, 88, 90, 94, 86, 81, 89, 114,
+  124, 116, 114, 123, 113, 53, 25, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 190, 44, 55,
+  92, 101, 82, 82, 102, 110, 108, 118, 105, 93, 96, 112, 128, 134, 133, 123,
+  93, 86, 99, 101, 98, 99, 100, 103, 103, 105, 109, 114, 118, 120, 118, 118,
+  120, 122, 121, 119, 118, 117, 118, 123, 125, 126, 124, 120, 119, 120, 123, 121,
+  136, 129, 114, 119, 125, 121, 120, 114, 110, 106, 128, 124, 104, 122, 143, 102,
+  97, 103, 100, 98, 91, 109, 130, 123, 130, 137, 140, 141, 140, 133, 126, 125,
+  118, 117, 121, 122, 114, 112, 115, 112, 116, 115, 104, 92, 82, 76, 73, 86,
+  92, 109, 127, 124, 112, 118, 138, 73, 22, 98, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 58, 59, 79, 95, 89, 78, 92, 108, 108, 115, 112, 100, 93, 102, 122,
+  132, 130, 127, 95, 84, 97, 100, 96, 98, 100, 101, 102, 105, 109, 115, 118,
+  118, 117, 115, 118, 120, 121, 119, 118, 117, 118, 125, 127, 126, 123, 119, 118,
+  121, 124, 121, 139, 130, 113, 121, 125, 119, 122, 121, 111, 96, 112, 115, 112,
+  143, 169, 146, 85, 170, 125, 225, 130, 119, 70, 89, 93, 94, 99, 111, 124,
+  128, 127, 125, 118, 116, 121, 119, 110, 109, 116, 118, 122, 116, 97, 80, 74,
+  75, 78, 107, 116, 123, 123, 119, 116, 115, 117, 36, 15, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 84, 78, 79, 97, 101, 84, 89, 109, 112, 112, 117, 108,
+  92, 93, 114, 126, 124, 131, 96, 83, 95, 97, 95, 98, 102, 100, 102, 105,
+  110, 116, 118, 117, 116, 113, 116, 119, 120, 119, 118, 117, 118, 127, 128, 126,
+  123, 118, 118, 121, 125, 123, 141, 130, 113, 122, 126, 118, 122, 131, 120, 102,
+  115, 118, 113, 137, 155, 142, 114, 143, 156, 139, 144, 107, 156, 153, 140, 116,
+  94, 88, 95, 98, 95, 120, 112, 112, 118, 115, 106, 108, 116, 95, 95, 84,
+  60, 45, 54, 77, 95, 117, 129, 130, 125, 128, 129, 99, 60, 25, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 75, 82, 77, 85, 101, 98, 82, 87, 111,
+  121, 125, 118, 99, 96, 112, 126, 129, 129, 114, 90, 86, 97, 100, 97, 104,
+  88, 99, 109, 112, 116, 118, 115, 107, 121, 122, 123, 121, 119, 116, 115, 115,
+  127, 128, 127, 125, 123, 123, 124, 126, 132, 135, 132, 122, 114, 118, 126, 132,
+  130, 125, 115, 106, 103, 114, 134, 151, 131, 130, 141, 151, 165, 157, 136, 155,
+  158, 168, 116, 129, 141, 86, 77, 89, 88, 95, 98, 92, 103, 96, 73, 80,
+  67, 67, 42, 56, 52, 79, 94, 99, 110, 131, 125, 124, 132, 116, 63, 34,
+  110, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 84, 85, 78, 80, 97, 99,
+  77, 77, 107, 115, 123, 121, 106, 97, 105, 120, 128, 128, 119, 97, 87, 97,
+  102, 100, 103, 90, 99, 108, 111, 114, 117, 115, 108, 116, 117, 119, 119, 117,
+  116, 115, 116, 124, 125, 124, 123, 122, 122, 124, 126, 131, 135, 133, 123, 116,
+  119, 126, 131, 131, 127, 118, 108, 101, 104, 114, 125, 102, 97, 142, 173, 162,
+  147, 147, 167, 157, 196, 159, 144, 151, 142, 149, 131, 89, 76, 67, 79, 85,
+  77, 95, 127, 120, 48, 48, 75, 66, 79, 81, 98, 122, 121, 126, 132, 109,
+  104, 23, 37, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 88, 84,
+  78, 91, 101, 81, 74, 103, 109, 119, 124, 116, 101, 100, 112, 126, 128, 127,
+  106, 89, 96, 104, 103, 103, 94, 100, 106, 108, 112, 114, 114, 110, 110, 113,
+  115, 116, 116, 116, 116, 117, 121, 122, 122, 122, 121, 121, 124, 126, 131, 134,
+  133, 124, 118, 121, 126, 129, 129, 128, 122, 113, 103, 99, 99, 104, 109, 71,
+  116, 165, 158, 152, 153, 151, 151, 162, 155, 183, 182, 151, 158, 154, 144, 193,
+  190, 156, 118, 116, 135, 104, 113, 15, 56, 80, 70, 76, 79, 103, 126, 128,
+  130, 112, 128, 26, 46, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 87, 94, 83, 82, 97, 90, 80, 98, 107, 113, 122, 121, 109, 100, 106,
+  120, 127, 133, 114, 90, 92, 102, 105, 105, 99, 101, 105, 107, 110, 111, 112,
+  111, 109, 112, 114, 115, 115, 115, 115, 116, 119, 120, 121, 121, 121, 122, 125,
+  127, 131, 134, 133, 125, 120, 123, 126, 128, 129, 128, 126, 120, 111, 104, 101,
+  101, 101, 87, 127, 145, 118, 111, 127, 152, 138, 158, 169, 183, 178, 173, 177,
+  141, 128, 158, 152, 156, 130, 117, 145, 110, 56, 20, 72, 71, 66, 69, 88,
+  106, 119, 148, 110, 112, 77, 24, 113, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 82, 98, 89, 74, 86, 97, 92, 89, 106, 109, 117, 121,
+  116, 108, 107, 113, 126, 135, 120, 94, 91, 99, 104, 108, 101, 101, 104, 107,
+  109, 109, 109, 110, 112, 114, 115, 115, 114, 113, 113, 114, 119, 121, 121, 121,
+  121, 123, 126, 128, 133, 135, 132, 125, 121, 124, 126, 128, 130, 130, 128, 123,
+  117, 111, 107, 106, 119, 99, 92, 89, 108, 119, 101, 103, 142, 132, 141, 162,
+  161, 166, 177, 154, 158, 166, 143, 155, 143, 126, 121, 54, 44, 66, 81, 62,
+  73, 64, 91, 111, 126, 122, 127, 74, 20, 60, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 197, 93, 91, 74, 73, 93, 98, 81, 104,
+  107, 112, 117, 119, 117, 113, 109, 121, 134, 125, 105, 97, 97, 101, 110, 103,
+  101, 103, 107, 109, 106, 106, 109, 112, 114, 115, 115, 113, 111, 110, 111, 119,
+  121, 121, 121, 121, 122, 125, 128, 135, 136, 131, 124, 121, 125, 127, 128, 133,
+  132, 129, 126, 120, 115, 110, 106, 85, 101, 104, 85, 89, 93, 80, 99, 123,
+  84, 97, 146, 154, 137, 143, 154, 131, 169, 161, 142, 120, 111, 95, 29, 67,
+  88, 65, 54, 78, 69, 91, 120, 132, 110, 111, 37, 19, 116, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 83, 90, 85, 70, 85,
+  98, 80, 99, 107, 114, 114, 119, 124, 119, 110, 115, 130, 131, 120, 110, 98,
+  96, 109, 104, 101, 103, 108, 109, 105, 104, 107, 110, 112, 113, 113, 111, 109,
+  108, 109, 118, 120, 120, 120, 119, 120, 123, 125, 137, 137, 130, 122, 120, 125,
+  128, 129, 133, 133, 132, 130, 125, 119, 112, 106, 100, 85, 91, 91, 96, 103,
+  86, 79, 86, 94, 111, 114, 121, 138, 130, 104, 146, 139, 124, 115, 88, 49,
+  48, 74, 73, 74, 62, 55, 64, 87, 94, 121, 121, 106, 29, 48, 13, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 77, 90,
+  98, 71, 77, 97, 83, 94, 108, 115, 113, 117, 126, 124, 112, 112, 128, 135,
+  132, 119, 100, 95, 108, 105, 102, 104, 109, 109, 104, 103, 106, 107, 109, 110,
+  110, 109, 108, 107, 109, 118, 118, 119, 118, 118, 118, 121, 122, 138, 136, 130,
+  121, 118, 124, 130, 130, 133, 134, 134, 134, 130, 124, 116, 108, 109, 81, 110,
+  118, 90, 90, 95, 89, 95, 87, 91, 91, 90, 89, 79, 81, 84, 86, 81,
+  70, 81, 77, 58, 67, 64, 60, 83, 65, 46, 105, 99, 114, 122, 41, 17,
+  7, 106, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 202, 88, 95, 70, 62, 100, 97, 91, 100, 108, 111, 115, 121, 125, 125,
+  112, 121, 131, 131, 123, 112, 102, 97, 109, 107, 106, 106, 106, 104, 101, 99,
+  106, 107, 108, 109, 107, 105, 103, 101, 116, 116, 116, 117, 117, 121, 124, 125,
+  130, 130, 126, 119, 116, 122, 128, 129, 128, 130, 132, 134, 133, 129, 120, 113,
+  100, 100, 101, 105, 108, 106, 100, 94, 87, 87, 88, 90, 90, 86, 80, 75,
+  84, 82, 80, 76, 66, 57, 56, 62, 56, 78, 64, 51, 88, 90, 114, 122,
+  103, 29, 4, 25, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 93, 93, 75, 66, 87, 95, 89, 98, 105, 109, 114,
+  122, 126, 126, 115, 118, 123, 129, 130, 123, 110, 99, 100, 103, 105, 105, 103,
+  100, 100, 101, 102, 105, 109, 112, 111, 109, 108, 107, 114, 115, 116, 116, 117,
+  119, 122, 126, 132, 134, 130, 123, 121, 126, 130, 132, 128, 128, 128, 131, 131,
+  131, 127, 124, 113, 108, 102, 101, 104, 105, 104, 102, 88, 89, 89, 90, 89,
+  84, 78, 72, 78, 77, 78, 76, 67, 58, 57, 62, 67, 59, 57, 65, 96,
+  100, 118, 95, 42, 16, 16, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 202, 92, 84, 73, 69, 95, 90, 98,
+  104, 107, 113, 122, 127, 129, 121, 116, 115, 124, 135, 135, 121, 106, 96, 101,
+  106, 106, 102, 99, 100, 104, 96, 102, 110, 114, 112, 109, 106, 106, 111, 115,
+  118, 117, 115, 116, 122, 127, 132, 135, 132, 127, 124, 127, 130, 130, 130, 128,
+  126, 126, 129, 130, 131, 131, 124, 119, 111, 108, 107, 107, 103, 101, 89, 89,
+  89, 89, 87, 84, 77, 72, 80, 80, 82, 83, 75, 66, 63, 67, 69, 53,
+  61, 74, 99, 109, 115, 50, 23, 34, 113, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 90, 92, 81, 59,
+  93, 92, 99, 104, 106, 111, 120, 126, 128, 128, 119, 113, 119, 133, 138, 130,
+  119, 104, 106, 108, 109, 108, 105, 103, 101, 91, 99, 107, 110, 107, 103, 99,
+  99, 108, 113, 118, 117, 113, 114, 121, 129, 128, 132, 132, 127, 124, 126, 126,
+  125, 132, 129, 126, 126, 127, 129, 129, 129, 129, 127, 125, 124, 121, 114, 103,
+  94, 88, 88, 87, 86, 85, 81, 75, 69, 80, 79, 79, 80, 74, 66, 62,
+  65, 62, 69, 76, 73, 96, 105, 94, 20, 32, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201,
+  97, 87, 60, 89, 96, 102, 107, 107, 110, 117, 122, 123, 133, 125, 116, 117,
+  125, 132, 133, 130, 117, 111, 107, 108, 113, 112, 104, 95, 88, 94, 102, 105,
+  104, 101, 98, 98, 106, 112, 116, 116, 112, 113, 120, 128, 125, 130, 131, 127,
+  124, 125, 124, 122, 127, 126, 124, 125, 128, 128, 127, 127, 130, 130, 131, 132,
+  130, 122, 109, 99, 93, 91, 89, 87, 86, 82, 76, 71, 80, 77, 73, 72,
+  67, 61, 58, 61, 63, 85, 84, 78, 99, 71, 52, 23, 109, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 202, 89, 73, 78, 96, 103, 107, 108, 110, 116, 120, 121, 132,
+  128, 122, 118, 120, 126, 132, 138, 126, 116, 106, 107, 114, 114, 104, 93, 89,
+  91, 96, 100, 104, 106, 106, 105, 105, 110, 113, 113, 112, 114, 119, 125, 127,
+  131, 132, 129, 127, 128, 128, 125, 120, 121, 122, 125, 129, 131, 129, 128, 132,
+  130, 128, 128, 128, 127, 121, 116, 102, 99, 97, 95, 93, 89, 83, 78, 87,
+  82, 78, 77, 73, 67, 65, 70, 74, 84, 83, 90, 97, 27, 14, 37, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 199, 86, 67, 93, 101, 107, 109, 111, 117,
+  120, 120, 127, 126, 124, 121, 119, 123, 131, 138, 131, 120, 112, 110, 115, 115,
+  107, 99, 94, 92, 90, 94, 102, 108, 109, 109, 106, 108, 110, 111, 112, 115,
+  120, 123, 127, 133, 133, 130, 128, 131, 131, 129, 122, 121, 122, 125, 129, 130,
+  130, 130, 133, 130, 125, 124, 125, 125, 123, 121, 110, 107, 105, 103, 100, 96,
+  89, 85, 90, 87, 84, 87, 86, 81, 79, 81, 79, 79, 89, 96, 76, 6,
+  11, 106, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 96, 58, 91, 99, 106,
+  109, 112, 118, 121, 121, 122, 123, 124, 123, 122, 125, 130, 135, 133, 126, 118,
+  115, 117, 117, 112, 107, 101, 94, 88, 91, 99, 106, 107, 105, 107, 107, 108,
+  110, 113, 117, 120, 122, 126, 131, 133, 129, 128, 130, 132, 130, 130, 127, 124,
+  125, 127, 129, 128, 128, 132, 130, 126, 126, 125, 123, 118, 114, 114, 111, 109,
+  107, 103, 99, 94, 90, 85, 83, 85, 90, 91, 87, 83, 83, 77, 80, 101,
+  92, 51, 9, 104, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 75,
+  83, 98, 110, 111, 109, 115, 120, 123, 122, 129, 126, 125, 132, 130, 124, 128,
+  131, 128, 124, 121, 120, 118, 114, 112, 108, 103, 92, 81, 80, 91, 102, 107,
+  107, 101, 100, 106, 112, 115, 117, 119, 123, 127, 130, 128, 126, 127, 133, 139,
+  134, 130, 126, 123, 123, 124, 125, 125, 134, 126, 119, 122, 124, 122, 116, 112,
+  110, 108, 105, 103, 101, 98, 95, 92, 85, 91, 98, 100, 94, 87, 80, 78,
+  80, 82, 100, 88, 0, 20, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 197, 81, 95, 107, 110, 109, 114, 119, 122, 121, 128, 125, 124, 131,
+  130, 127, 132, 132, 130, 127, 125, 124, 121, 116, 113, 112, 109, 100, 89, 85,
+  89, 92, 92, 108, 104, 101, 102, 103, 106, 114, 124, 121, 125, 130, 130, 130,
+  129, 133, 135, 135, 131, 127, 126, 126, 126, 125, 126, 134, 127, 121, 123, 124,
+  121, 115, 113, 105, 103, 101, 101, 99, 98, 94, 92, 93, 97, 100, 100, 94,
+  87, 81, 81, 91, 85, 99, 45, 18, 86, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 92, 104, 109, 110, 115, 119, 121, 121, 127,
+  123, 121, 130, 131, 129, 136, 132, 131, 130, 129, 128, 124, 119, 115, 116, 116,
+  111, 100, 92, 88, 83, 77, 99, 99, 102, 103, 100, 100, 109, 122, 119, 122,
+  126, 130, 132, 133, 133, 132, 136, 133, 130, 129, 129, 128, 127, 125, 133, 128,
+  124, 125, 123, 118, 115, 115, 102, 100, 99, 99, 99, 98, 95, 93, 100, 101,
+  101, 98, 92, 87, 84, 83, 94, 92, 72, 6, 24, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 109, 112, 116, 119,
+  122, 124, 130, 123, 121, 129, 130, 130, 138, 132, 132, 132, 133, 131, 127, 120,
+  115, 120, 122, 119, 109, 100, 93, 84, 75, 83, 87, 97, 103, 102, 100, 103,
+  112, 118, 120, 122, 127, 131, 133, 133, 131, 135, 133, 132, 132, 132, 131, 128,
+  126, 133, 129, 127, 128, 125, 118, 116, 117, 105, 103, 102, 102, 101, 100, 97,
+  95, 103, 101, 98, 94, 90, 88, 86, 87, 87, 100, 27, 0, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 206,
+  114, 118, 120, 122, 128, 133, 125, 121, 128, 129, 129, 137, 131, 131, 132, 132,
+  132, 128, 121, 116, 121, 124, 122, 115, 107, 102, 94, 86, 78, 79, 86, 93,
+  97, 98, 101, 107, 117, 116, 117, 120, 125, 131, 133, 133, 133, 132, 132, 134,
+  134, 134, 131, 129, 133, 130, 128, 130, 126, 120, 116, 118, 111, 109, 107, 107,
+  106, 104, 101, 98, 101, 98, 94, 90, 89, 88, 89, 89, 86, 95, 6, 4,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 209, 120, 123, 129, 134, 127, 123, 129, 129, 129, 136, 131,
+  131, 132, 132, 132, 128, 122, 117, 119, 123, 123, 118, 113, 110, 104, 97, 89,
+  83, 80, 81, 84, 89, 99, 110, 112, 113, 114, 117, 121, 126, 131, 133, 132,
+  131, 131, 133, 135, 135, 134, 132, 134, 129, 127, 130, 129, 124, 119, 119, 115,
+  114, 112, 111, 110, 108, 105, 102, 100, 97, 92, 90, 89, 90, 89, 89, 89,
+  66, 14, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 211, 127, 133, 127, 124, 131, 131,
+  131, 138, 133, 132, 132, 132, 131, 128, 124, 119, 117, 121, 124, 121, 117, 114,
+  108, 101, 100, 94, 86, 80, 76, 78, 90, 106, 104, 108, 114, 117, 118, 122,
+  127, 132, 129, 129, 129, 131, 135, 136, 136, 135, 135, 127, 125, 129, 132, 127,
+  121, 118, 114, 113, 110, 110, 110, 109, 106, 104, 102, 99, 95, 94, 92, 92,
+  87, 86, 82, 26, 96, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 131, 127,
+  125, 133, 133, 131, 139, 134, 134, 132, 132, 131, 129, 124, 121, 115, 121, 125,
+  122, 119, 115, 107, 99, 101, 100, 98, 90, 75, 71, 81, 97, 96, 105, 114,
+  119, 118, 121, 125, 130, 130, 129, 128, 131, 135, 138, 137, 137, 135, 126, 123,
+  129, 134, 130, 123, 118, 111, 109, 108, 109, 110, 111, 109, 106, 104, 101, 98,
+  97, 96, 93, 87, 84, 70, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 213, 129, 132, 134, 135, 134, 132, 131, 130, 130, 129, 128, 125, 121,
+  122, 124, 121, 116, 114, 113, 108, 101, 108, 106, 103, 98, 91, 85, 79, 76,
+  88, 98, 105, 104, 107, 115, 123, 127, 124, 127, 128, 131, 133, 133, 131, 129,
+  136, 128, 124, 129, 132, 128, 121, 117, 111, 109, 107, 106, 108, 109, 109, 108,
+  103, 103, 101, 98, 92, 86, 82, 83, 12, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 213, 132, 134, 134, 134, 132, 131, 130, 130, 130,
+  128, 124, 122, 123, 125, 122, 117, 115, 114, 109, 103, 105, 104, 101, 98, 93,
+  88, 85, 83, 72, 86, 100, 106, 108, 114, 117, 117, 123, 124, 124, 124, 125,
+  127, 127, 127, 130, 122, 117, 122, 125, 121, 114, 110, 107, 105, 102, 103, 105,
+  108, 111, 111, 108, 101, 98, 99, 94, 86, 85, 90, 95, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 134, 133, 132,
+  131, 131, 131, 129, 126, 124, 124, 126, 123, 119, 116, 116, 111, 104, 104, 103,
+  101, 100, 96, 93, 91, 91, 68, 80, 91, 95, 99, 105, 110, 110, 123, 122,
+  120, 121, 121, 124, 127, 128, 128, 121, 117, 120, 123, 119, 112, 110, 102, 100,
+  99, 99, 103, 108, 110, 111, 105, 106, 100, 90, 86, 86, 80, 132, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  215, 133, 132, 131, 132, 132, 130, 128, 125, 123, 125, 123, 118, 116, 116, 111,
+  105, 105, 105, 102, 102, 99, 97, 96, 97, 85, 87, 84, 79, 80, 91, 104,
+  110, 116, 116, 115, 116, 117, 120, 123, 125, 126, 119, 117, 120, 121, 117, 111,
+  109, 100, 99, 99, 102, 105, 108, 108, 108, 98, 111, 104, 81, 79, 87, 128,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 214, 131, 132, 132, 131, 128, 127, 122, 124, 121, 117,
+  115, 115, 111, 104, 108, 108, 105, 104, 101, 99, 99, 100, 100, 94, 82, 69,
+  67, 78, 91, 97, 102, 103, 106, 109, 111, 114, 116, 117, 119, 114, 112, 114,
+  114, 110, 105, 104, 99, 100, 102, 106, 108, 107, 104, 101, 101, 103, 98, 90,
+  87, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 214, 131, 131, 127, 125, 121,
+  123, 121, 117, 115, 115, 111, 105, 110, 109, 106, 105, 102, 101, 101, 102, 101,
+  98, 88, 76, 72, 75, 78, 78, 91, 94, 97, 102, 106, 110, 112, 113, 115,
+  110, 109, 111, 110, 104, 101, 101, 97, 99, 101, 104, 106, 103, 100, 96, 109,
+  89, 85, 100, 92, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 214,
+  128, 125, 122, 124, 122, 118, 116, 117, 113, 106, 109, 109, 105, 105, 103, 102,
+  104, 105, 101, 101, 97, 89, 84, 82, 75, 70, 78, 80, 83, 87, 93, 100,
+  105, 109, 110, 107, 105, 107, 106, 100, 97, 96, 96, 95, 94, 96, 98, 98,
+  95, 93, 102, 85, 79, 81, 126, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 211, 123, 126, 123, 120, 118, 118, 114, 108, 108, 107, 104,
+  104, 103, 104, 106, 107, 104, 106, 104, 98, 93, 89, 81, 73, 63, 64, 64,
+  68, 76, 84, 92, 97, 102, 98, 97, 100, 97, 92, 88, 88, 95, 92, 89,
+  89, 91, 93, 93, 93, 87, 94, 83, 120, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 211, 121, 120, 116, 113, 110, 108,
+  105, 108, 109, 109, 106, 102, 102, 102, 105, 106, 103, 96, 89, 86, 79, 74,
+  72, 80, 57, 45, 71, 55, 80, 84, 85, 85, 88, 89, 88, 87, 84, 83,
+  80, 80, 81, 86, 91, 92, 86, 80, 85, 72, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 120, 117,
+  114, 111, 109, 106, 108, 109, 109, 105, 102, 102, 102, 108, 110, 106, 98, 93,
+  91, 86, 80, 82, 88, 69, 65, 66, 40, 45, 38, 49, 50, 52, 52, 52,
+  52, 50, 50, 58, 57, 58, 63, 68, 130, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 208, 111, 109, 107, 109, 109, 108, 105, 102, 103, 103, 106, 107,
+  103, 96, 91, 90, 87, 84, 83, 81, 70, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 109, 108, 107, 104, 102, 104,
+  105, 106, 107, 103, 95, 91, 92, 91, 89, 86, 75, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 106,
+  104, 103, 106, 109, 111, 112, 108, 101, 98, 99, 99, 97, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 206, 113, 111, 112, 109, 104, 100, 152, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 121, 120, 119, 117, 110,
+  108, 109, 116, 105, 95, 91, 97, 101, 103, 102, 135, 219, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 125, 124, 122, 120, 117, 115, 106, 101, 103,
+  109, 107, 96, 92, 95, 94, 97, 93, 80, 71, 81, 111, 137, 119, 109, 105,
+  116, 131, 136, 134, 131, 121, 166, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 212, 119, 118, 115, 116, 114, 106, 87, 61, 42,
+  35, 37, 33, 26, 28, 38, 45, 45, 51, 48, 37, 21, 16, 39, 84, 121,
+  123, 99, 80, 51, 77, 110, 139, 119, 126, 126, 133, 139, 137, 131, 171, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 241, 197, 149, 119, 119, 112, 102, 107, 100, 91, 83, 73,
+  55, 32, 16, 22, 23, 20, 12, 13, 19, 25, 23, 31, 31, 28, 16, 13,
+  26, 57, 81, 128, 103, 106, 55, 58, 52, 111, 127, 135, 128, 122, 122, 123,
+  121, 123, 126, 137, 174, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 242, 195, 142, 113, 209, 118, 112, 94, 63, 36, 25, 20,
+  16, 15, 18, 17, 12, 6, 11, 12, 12, 6, 8, 10, 14, 11, 12, 14,
+  18, 13, 12, 13, 26, 34, 98, 84, 117, 74, 67, 18, 75, 102, 101, 102,
+  109, 125, 136, 135, 129, 126, 125, 121, 122, 125, 130, 171, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 67, 54, 41, 32, 25, 13,
+  3, 8, 3, 0, 0, 3, 6, 8, 6, 8, 9, 10, 9, 10, 12, 14,
+  13, 7, 10, 14, 16, 14, 13, 12, 10, 29, 21, 56, 42, 39, 0, 23,
+  31, 33, 41, 63, 87, 103, 106, 103, 101, 110, 106, 108, 121, 132, 133, 128,
+  124, 164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 76, 28, 26, 16, 5,
+  0, 2, 7, 11, 21, 17, 14, 11, 14, 14, 12, 10, 8, 8, 9, 11,
+  11, 10, 10, 11, 13, 12, 12, 14, 16, 16, 13, 11, 23, 15, 19, 22,
+  17, 19, 24, 20, 21, 23, 30, 38, 46, 56, 72, 87, 98, 91, 91, 105,
+  121, 126, 123, 120, 136, 121, 101, 113, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 64, 14, 15, 4,
+  15, 22, 23, 18, 17, 15, 15, 6, 7, 7, 10, 12, 14, 15, 14, 17,
+  15, 14, 16, 15, 10, 9, 10, 18, 14, 11, 11, 15, 18, 19, 16, 9,
+  13, 8, 14, 0, 21, 18, 8, 36, 33, 33, 32, 32, 38, 58, 78, 69,
+  64, 64, 75, 91, 107, 121, 131, 108, 127, 116, 99, 44, 67, 133, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 173, 0, 0,
+  1, 3, 13, 15, 8, 0, 0, 4, 12, 17, 19, 19, 17, 18, 16, 13,
+  12, 10, 22, 18, 17, 19, 18, 12, 10, 13, 18, 14, 10, 10, 13, 18,
+  20, 21, 19, 23, 33, 40, 33, 38, 33, 18, 20, 22, 29, 34, 34, 32,
+  38, 44, 37, 40, 45, 49, 53, 66, 93, 117, 97, 136, 133, 105, 44, 101,
+  93, 33, 145, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176,
+  0, 4, 7, 3, 5, 8, 11, 13, 12, 14, 17, 15, 9, 12, 12, 13,
+  16, 18, 18, 18, 18, 16, 11, 10, 15, 14, 9, 9, 14, 16, 13, 10,
+  10, 13, 17, 19, 19, 19, 9, 24, 28, 39, 32, 37, 20, 23, 24, 27,
+  33, 34, 29, 26, 27, 28, 39, 48, 41, 26, 26, 51, 78, 124, 111, 97,
+  100, 36, 71, 59, 12, 55, 98, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 179, 6, 3, 8, 8, 7, 8, 11, 15, 14, 10, 12, 18, 19, 14,
+  19, 13, 11, 16, 24, 27, 21, 14, 19, 15, 10, 7, 5, 5, 4, 3,
+  4, 8, 10, 9, 12, 16, 21, 21, 15, 23, 28, 27, 33, 42, 40, 28,
+  14, 16, 19, 20, 21, 20, 20, 20, 20, 29, 34, 34, 34, 38, 39, 33,
+  69, 96, 114, 70, 25, 61, 76, 15, 7, 61, 96, 85, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 179, 16, 8, 9, 10, 11, 11, 14, 14, 16, 14, 12, 15,
+  20, 17, 11, 19, 14, 11, 13, 17, 20, 18, 16, 19, 18, 15, 11, 11,
+  12, 10, 9, 8, 8, 9, 10, 14, 18, 20, 17, 13, 11, 18, 27, 31,
+  28, 23, 21, 19, 16, 14, 16, 20, 21, 20, 17, 16, 23, 27, 25, 23,
+  26, 26, 21, 46, 46, 68, 68, 47, 52, 65, 47, 11, 29, 52, 91, 116,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 175, 7, 7, 10, 13, 12, 9, 10, 16, 17, 16,
+  14, 13, 18, 22, 17, 10, 18, 15, 12, 12, 12, 15, 16, 18, 17, 15,
+  13, 12, 13, 14, 12, 11, 15, 10, 9, 11, 17, 21, 22, 15, 19, 12,
+  20, 36, 39, 26, 18, 21, 24, 17, 10, 11, 17, 21, 20, 16, 13, 19,
+  21, 22, 24, 27, 29, 28, 42, 34, 50, 73, 72, 55, 57, 70, 30, 25,
+  29, 88, 108, 82, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 178, 6, 4, 9, 14, 16, 12, 10, 10,
+  13, 19, 16, 14, 16, 22, 24, 17, 11, 16, 16, 15, 14, 12, 12, 14,
+  18, 15, 15, 12, 11, 12, 13, 11, 10, 15, 10, 10, 12, 15, 17, 21,
+  22, 25, 21, 25, 35, 36, 26, 19, 18, 19, 13, 7, 5, 8, 12, 14,
+  15, 15, 18, 20, 19, 21, 24, 28, 28, 20, 33, 38, 42, 50, 37, 33,
+  46, 38, 39, 25, 65, 60, 44, 33, 47, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 172, 20, 4, 10, 12, 11, 11,
+  13, 15, 14, 12, 16, 13, 14, 19, 24, 23, 16, 12, 14, 17, 19, 19,
+  15, 13, 13, 16, 19, 19, 15, 13, 14, 16, 14, 13, 12, 10, 13, 14,
+  12, 13, 22, 31, 26, 29, 28, 23, 22, 24, 20, 11, 11, 11, 9, 5,
+  3, 5, 11, 17, 26, 22, 19, 15, 11, 7, 8, 11, 2, 25, 25, 18,
+  27, 23, 21, 40, 34, 35, 20, 57, 43, 18, 12, 38, 124, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 57, 5, 16, 5, 8,
+  8, 6, 7, 13, 19, 19, 15, 12, 12, 16, 23, 26, 23, 17, 17, 15,
+  17, 20, 20, 16, 14, 12, 13, 20, 17, 12, 11, 13, 14, 15, 13, 12,
+  12, 17, 22, 18, 12, 22, 37, 30, 33, 29, 16, 15, 22, 19, 8, 6,
+  10, 12, 9, 4, 4, 12, 19, 34, 29, 23, 20, 16, 13, 16, 20, 18,
+  27, 24, 22, 31, 19, 23, 47, 38, 22, 14, 65, 64, 15, 0, 17, 53,
+  44, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 171, 3, 11, 2,
+  16, 9, 6, 11, 10, 10, 14, 23, 26, 23, 16, 16, 24, 32, 32, 27,
+  24, 28, 18, 17, 16, 16, 14, 13, 11, 12, 19, 15, 12, 10, 13, 16,
+  18, 18, 16, 16, 25, 33, 31, 22, 23, 33, 38, 34, 28, 22, 20, 20,
+  17, 14, 8, 11, 14, 14, 13, 13, 17, 20, 37, 32, 29, 30, 29, 27,
+  34, 43, 30, 26, 19, 18, 25, 16, 17, 27, 37, 20, 17, 49, 68, 20,
+  4, 7, 30, 12, 41, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 171, 7,
+  10, 0, 10, 0, 11, 10, 16, 20, 16, 19, 25, 30, 26, 21, 23, 32,
+  41, 40, 33, 32, 38, 20, 17, 13, 11, 10, 11, 11, 10, 23, 20, 16,
+  14, 18, 23, 26, 28, 20, 19, 28, 43, 42, 31, 24, 27, 40, 28, 23,
+  27, 24, 14, 11, 16, 12, 13, 16, 19, 22, 23, 22, 21, 37, 31, 27,
+  27, 26, 24, 29, 39, 31, 31, 23, 15, 22, 33, 29, 17, 23, 22, 19,
+  18, 46, 25, 30, 20, 23, 58, 95, 80, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  183, 19, 1, 1, 6, 8, 7, 10, 11, 10, 19, 20, 13, 17, 30, 29,
+  23, 23, 34, 35, 23, 24, 36, 41, 31, 21, 10, 8, 11, 16, 13, 9,
+  13, 23, 21, 4, 24, 41, 25, 29, 45, 31, 41, 42, 51, 27, 32, 39,
+  26, 15, 30, 21, 20, 26, 8, 15, 18, 16, 14, 17, 27, 33, 27, 16,
+  30, 35, 32, 22, 18, 24, 31, 32, 50, 35, 21, 17, 24, 29, 26, 20,
+  28, 17, 17, 30, 38, 36, 41, 51, 53, 64, 86, 82, 140, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 206, 63, 25, 11, 0, 1, 6, 6, 6, 6, 8, 6, 16, 20, 15,
+  21, 33, 31, 17, 18, 28, 28, 23, 32, 43, 42, 39, 21, 11, 16, 17,
+  10, 8, 14, 24, 32, 28, 12, 29, 45, 31, 34, 68, 42, 42, 42, 49,
+  22, 31, 42, 39, 26, 31, 19, 18, 25, 10, 16, 5, 23, 40, 41, 32,
+  24, 20, 19, 21, 24, 23, 13, 13, 18, 22, 23, 36, 25, 16, 15, 20,
+  24, 22, 17, 24, 23, 22, 28, 38, 45, 48, 44, 69, 51, 60, 56, 99,
+  152, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 205, 79, 53, 9, 4, 1, 5, 8, 6, 5, 5, 7, 5,
+  13, 18, 17, 22, 31, 28, 12, 14, 21, 21, 24, 45, 54, 43, 41, 20,
+  11, 20, 17, 4, 6, 19, 30, 37, 40, 30, 45, 65, 57, 62, 63, 46,
+  43, 31, 45, 35, 43, 39, 47, 34, 31, 18, 15, 20, 11, 15, 12, 37,
+  58, 57, 40, 26, 21, 20, 15, 16, 15, 8, 8, 11, 13, 12, 19, 14,
+  12, 12, 16, 19, 21, 19, 25, 30, 28, 24, 34, 48, 48, 32, 69, 41,
+  56, 68, 90, 99, 156, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 205, 124, 123, 72, 17, 4, 5, 6, 8, 9, 8, 9,
+  9, 11, 6, 13, 18, 15, 19, 25, 18, 9, 13, 17, 16, 25, 51, 58,
+  39, 31, 17, 9, 12, 9, 5, 14, 28, 21, 28, 43, 37, 50, 73, 66,
+  67, 52, 54, 57, 33, 50, 54, 54, 26, 43, 39, 39, 27, 23, 20, 20,
+  22, 38, 45, 53, 50, 46, 38, 31, 23, 18, 17, 14, 11, 10, 10, 9,
+  9, 13, 13, 14, 15, 16, 20, 26, 29, 31, 31, 26, 21, 30, 42, 40,
+  29, 44, 26, 51, 70, 75, 91, 75, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 76, 35, 13, 5, 5, 6, 8, 8, 7,
+  7, 9, 11, 11, 11, 4, 9, 14, 12, 17, 21, 11, 8, 11, 15, 13,
+  20, 45, 48, 27, 17, 16, 10, 2, 3, 17, 33, 37, 37, 42, 64, 59,
+  61, 80, 72, 67, 78, 70, 71, 55, 67, 56, 51, 31, 43, 53, 58, 54,
+  47, 37, 44, 45, 52, 51, 53, 49, 52, 49, 43, 33, 25, 25, 22, 19,
+  16, 11, 9, 10, 12, 13, 15, 14, 14, 19, 30, 36, 35, 26, 20, 20,
+  29, 32, 34, 34, 40, 30, 46, 54, 49, 78, 54, 105, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 190, 19, 5, 7, 4, 5, 9, 8,
+  9, 7, 3, 5, 10, 14, 13, 14, 5, 7, 13, 14, 20, 22, 13, 8,
+  9, 14, 12, 14, 29, 29, 12, 10, 15, 11, 2, 7, 31, 48, 47, 49,
+  53, 81, 77, 73, 90, 87, 77, 102, 70, 67, 72, 79, 45, 48, 63, 48,
+  64, 67, 71, 64, 53, 64, 63, 52, 59, 66, 63, 59, 56, 53, 48, 39,
+  38, 35, 31, 21, 11, 11, 15, 14, 14, 15, 14, 14, 19, 29, 36, 36,
+  27, 21, 24, 28, 31, 34, 39, 39, 38, 44, 46, 40, 60, 37, 64, 98,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 27, 6, 8, 2, 0,
+  5, 7, 7, 8, 5, 1, 6, 15, 18, 15, 20, 8, 8, 12, 14, 20,
+  22, 12, 10, 10, 17, 18, 11, 15, 14, 4, 9, 10, 9, 10, 18, 35,
+  48, 49, 46, 46, 76, 72, 63, 82, 84, 74, 95, 69, 71, 73, 79, 52,
+  66, 89, 58, 70, 63, 69, 68, 57, 74, 67, 62, 68, 74, 69, 68, 65,
+  65, 62, 55, 53, 50, 43, 27, 13, 14, 22, 13, 14, 15, 14, 16, 19,
+  25, 29, 36, 40, 37, 28, 26, 31, 31, 27, 21, 24, 23, 34, 36, 31,
+  11, 17, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 100, 42, 10, 3,
+  2, 0, 6, 16, 0, 7, 8, 6, 4, 10, 21, 23, 18, 30, 16, 12,
+  15, 15, 20, 21, 10, 11, 12, 22, 24, 13, 9, 10, 3, 11, 3, 5,
+  16, 24, 30, 36, 44, 67, 63, 90, 80, 66, 85, 86, 77, 81, 84, 93,
+  73, 76, 70, 86, 87, 68, 73, 56, 61, 65, 58, 76, 65, 79, 72, 67,
+  62, 70, 74, 74, 66, 67, 65, 61, 52, 32, 17, 18, 30, 12, 15, 17,
+  18, 20, 21, 23, 24, 39, 55, 55, 34, 27, 34, 30, 15, 34, 31, 18,
+  35, 44, 26, 20, 23, 33, 71, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 36,
+  6, 8, 11, 10, 9, 9, 10, 11, 5, 10, 15, 12, 10, 13, 20, 24,
+  29, 28, 24, 20, 19, 18, 15, 8, 0, 36, 38, 46, 36, 13, 23, 23,
+  15, 4, 23, 39, 41, 57, 24, 63, 63, 61, 95, 77, 71, 88, 75, 97,
+  93, 88, 87, 89, 88, 85, 88, 94, 86, 83, 87, 85, 83, 74, 76, 78,
+  85, 80, 80, 77, 79, 76, 74, 71, 72, 81, 75, 51, 34, 31, 35, 39,
+  27, 26, 25, 22, 25, 30, 33, 32, 37, 35, 38, 42, 37, 25, 20, 21,
+  17, 22, 26, 27, 27, 32, 36, 40, 28, 64, 72, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 199, 14, 9, 10, 13, 13, 11, 10, 11, 12, 11, 13, 13, 9, 9,
+  13, 15, 16, 17, 18, 18, 17, 15, 14, 10, 5, 31, 47, 30, 29, 34,
+  26, 26, 10, 26, 8, 37, 40, 44, 35, 33, 89, 72, 69, 98, 82, 77,
+  93, 78, 96, 91, 88, 88, 90, 89, 86, 88, 92, 80, 79, 80, 82, 79,
+  75, 76, 81, 78, 73, 71, 75, 83, 86, 82, 78, 69, 78, 74, 56, 39,
+  32, 33, 37, 30, 29, 26, 26, 28, 31, 31, 30, 39, 35, 36, 39, 37,
+  30, 25, 28, 30, 27, 23, 20, 22, 31, 41, 49, 22, 74, 47, 157, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 45, 6, 9, 10, 13, 12, 10, 9, 10, 11, 17, 18,
+  14, 9, 9, 13, 12, 8, 12, 12, 12, 12, 11, 11, 13, 13, 36, 52,
+  40, 31, 30, 19, 18, 9, 1, 15, 72, 58, 63, 41, 46, 82, 81, 75,
+  96, 82, 80, 93, 78, 89, 87, 86, 87, 90, 89, 86, 88, 92, 81, 79,
+  79, 81, 81, 79, 82, 87, 84, 77, 72, 76, 85, 88, 80, 73, 78, 81,
+  79, 71, 54, 41, 39, 48, 32, 31, 28, 30, 33, 37, 39, 40, 42, 35,
+  33, 34, 37, 34, 29, 29, 22, 22, 24, 29, 36, 41, 46, 48, 41, 43,
+  74, 33, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 26, 19, 9, 9, 10, 13, 12, 10, 9, 9,
+  11, 19, 23, 21, 13, 10, 13, 13, 8, 15, 13, 11, 11, 11, 13, 20,
+  26, 28, 37, 36, 38, 35, 16, 6, 8, 8, 44, 79, 37, 36, 54, 71,
+  88, 83, 77, 89, 80, 80, 91, 79, 83, 85, 87, 89, 91, 90, 89, 91,
+  93, 86, 83, 82, 84, 84, 83, 87, 92, 90, 85, 82, 84, 89, 88, 81,
+  76, 89, 87, 87, 83, 71, 54, 56, 68, 54, 46, 39, 36, 38, 38, 42,
+  43, 45, 37, 35, 36, 37, 36, 32, 28, 20, 19, 23, 36, 46, 51, 55,
+  57, 61, 44, 55, 33, 135, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 25, 13, 8, 2, 8, 11, 12, 12,
+  10, 10, 9, 10, 15, 24, 24, 15, 10, 15, 17, 12, 13, 10, 10, 15,
+  17, 16, 21, 26, 39, 17, 11, 29, 43, 24, 0, 2, 20, 57, 60, 35,
+  29, 72, 78, 84, 84, 79, 84, 79, 82, 91, 83, 82, 85, 89, 91, 91,
+  91, 92, 93, 93, 93, 88, 86, 88, 89, 88, 89, 94, 87, 88, 91, 93,
+  94, 93, 91, 89, 90, 88, 88, 87, 78, 65, 69, 80, 82, 70, 58, 50,
+  44, 39, 39, 43, 43, 38, 36, 38, 42, 43, 38, 33, 37, 27, 19, 23,
+  32, 45, 59, 71, 59, 53, 28, 61, 56, 144, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 14, 8, 9, 3, 9,
+  11, 12, 13, 12, 12, 12, 13, 10, 20, 22, 14, 14, 24, 25, 18, 11,
+  6, 8, 17, 21, 17, 16, 18, 40, 17, 14, 22, 29, 14, 0, 21, 31,
+  49, 43, 61, 60, 82, 71, 83, 88, 86, 86, 84, 87, 93, 91, 86, 88,
+  92, 93, 91, 90, 93, 94, 93, 97, 91, 89, 91, 92, 91, 91, 93, 85,
+  89, 93, 93, 90, 86, 85, 85, 81, 81, 84, 81, 74, 70, 73, 81, 87,
+  73, 63, 59, 56, 51, 52, 57, 43, 41, 42, 41, 45, 50, 49, 47, 41,
+  31, 24, 27, 31, 35, 45, 57, 52, 38, 48, 45, 68, 70, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 171, 1, 0,
+  9, 7, 8, 10, 12, 13, 13, 14, 15, 17, 10, 16, 15, 12, 23, 40,
+  38, 23, 27, 12, 4, 9, 16, 16, 19, 25, 31, 25, 32, 17, 12, 11,
+  8, 41, 55, 53, 42, 57, 75, 83, 92, 108, 91, 93, 88, 88, 90, 92,
+  94, 88, 89, 93, 93, 88, 87, 91, 93, 92, 95, 90, 88, 92, 94, 92,
+  91, 92, 88, 89, 91, 91, 89, 84, 80, 76, 75, 80, 85, 80, 74, 75,
+  76, 77, 77, 67, 62, 66, 69, 63, 63, 68, 54, 53, 50, 44, 45, 52,
+  56, 58, 36, 31, 34, 42, 41, 35, 35, 43, 48, 46, 51, 57, 58, 78,
+  135, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  2, 9, 2, 7, 3, 8, 10, 12, 14, 14, 16, 17, 19, 16, 17, 13,
+  14, 35, 56, 50, 30, 53, 26, 3, 2, 9, 17, 30, 42, 30, 28, 31,
+  8, 15, 34, 24, 36, 34, 51, 67, 71, 103, 96, 107, 96, 95, 98, 91,
+  91, 91, 91, 96, 89, 91, 95, 94, 87, 85, 91, 94, 92, 92, 87, 87,
+  92, 95, 93, 91, 91, 87, 86, 88, 93, 98, 98, 93, 88, 73, 85, 90,
+  83, 80, 81, 78, 74, 79, 69, 69, 75, 74, 63, 58, 62, 67, 66, 58,
+  45, 41, 48, 56, 60, 43, 38, 35, 39, 36, 32, 40, 52, 57, 51, 60,
+  60, 70, 85, 73, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 171, 20, 2, 4, 12, 7, 6, 11, 24, 10, 4, 15, 9, 12,
+  32, 11, 14, 8, 12, 63, 38, 32, 20, 36, 0, 18, 20, 20, 26, 40,
+  52, 64, 41, 36, 32, 37, 27, 42, 58, 86, 108, 107, 101, 100, 103, 101,
+  101, 98, 97, 96, 96, 96, 96, 97, 95, 91, 87, 86, 88, 91, 94, 95,
+  96, 94, 90, 89, 89, 90, 90, 89, 90, 91, 91, 91, 91, 91, 91, 92,
+  84, 85, 87, 87, 85, 83, 82, 85, 74, 70, 69, 68, 70, 70, 66, 61,
+  60, 59, 58, 60, 62, 61, 60, 61, 67, 70, 27, 35, 43, 20, 44, 39,
+  26, 31, 32, 31, 38, 49, 49, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 4, 16, 3, 5, 8, 6, 11, 12, 25, 14, 6,
+  13, 9, 18, 18, 16, 13, 11, 4, 33, 31, 54, 11, 29, 24, 14, 15,
+  11, 27, 30, 35, 46, 56, 63, 64, 73, 71, 91, 95, 107, 113, 105, 101,
+  107, 111, 108, 102, 99, 98, 97, 97, 97, 97, 97, 95, 92, 88, 86, 88,
+  92, 94, 95, 95, 93, 91, 90, 91, 91, 90, 89, 90, 91, 92, 92, 92,
+  91, 90, 90, 90, 90, 90, 88, 85, 81, 79, 79, 88, 87, 82, 73, 65,
+  61, 62, 64, 59, 58, 59, 60, 63, 64, 62, 62, 67, 70, 41, 46, 45,
+  26, 35, 32, 35, 35, 31, 27, 27, 30, 30, 27, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 172, 3, 6, 4, 8, 4, 12, 17, 14,
+  25, 18, 9, 11, 9, 26, 19, 33, 8, 14, 6, 9, 23, 58, 15, 17,
+  40, 9, 14, 17, 30, 16, 17, 20, 67, 79, 78, 85, 85, 103, 111, 113,
+  110, 100, 101, 108, 110, 104, 101, 98, 97, 96, 96, 96, 96, 97, 96, 92,
+  89, 88, 90, 93, 95, 95, 93, 92, 91, 92, 94, 94, 92, 90, 91, 92,
+  93, 94, 93, 91, 89, 87, 91, 92, 92, 90, 86, 83, 81, 81, 92, 93,
+  88, 74, 57, 51, 57, 65, 62, 61, 61, 62, 65, 65, 66, 67, 68, 69,
+  63, 59, 52, 35, 26, 22, 31, 27, 25, 25, 25, 24, 29, 36, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 5, 1, 8, 14, 6,
+  17, 18, 12, 23, 20, 11, 12, 13, 36, 33, 57, 5, 15, 18, 9, 19,
+  33, 29, 7, 31, 12, 16, 34, 28, 9, 28, 20, 81, 97, 96, 100, 95,
+  106, 102, 103, 104, 102, 104, 108, 106, 99, 102, 99, 98, 97, 97, 97, 97,
+  98, 99, 96, 93, 92, 94, 97, 98, 99, 92, 92, 92, 94, 96, 96, 93,
+  91, 91, 93, 95, 96, 95, 92, 88, 86, 87, 89, 90, 90, 89, 88, 89,
+  90, 90, 92, 89, 77, 62, 57, 63, 72, 68, 67, 66, 66, 67, 67, 68,
+  68, 71, 64, 74, 69, 62, 53, 26, 10, 18, 14, 17, 24, 25, 22, 30,
+  43, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 3, 11, 0,
+  9, 16, 5, 18, 16, 9, 19, 18, 13, 16, 18, 42, 30, 67, 9, 17,
+  23, 14, 16, 4, 29, 3, 15, 22, 10, 34, 17, 16, 32, 25, 72, 95,
+  98, 110, 105, 106, 95, 100, 104, 104, 104, 105, 106, 103, 102, 100, 99, 98,
+  97, 97, 98, 98, 99, 96, 94, 93, 95, 98, 98, 98, 94, 93, 94, 95,
+  97, 97, 95, 92, 93, 95, 97, 98, 97, 94, 90, 88, 88, 90, 92, 93,
+  91, 92, 94, 97, 92, 93, 91, 84, 77, 73, 74, 77, 75, 73, 71, 70,
+  69, 70, 68, 68, 71, 60, 73, 73, 69, 68, 39, 5, 10, 9, 13, 21,
+  20, 15, 19, 29, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 170,
+  7, 15, 5, 10, 18, 6, 12, 13, 8, 17, 14, 13, 21, 22, 39, 16,
+  56, 16, 22, 18, 16, 18, 1, 15, 13, 17, 33, 8, 20, 10, 25, 30,
+  38, 47, 83, 84, 105, 100, 96, 100, 100, 101, 97, 94, 95, 101, 106, 102,
+  99, 98, 97, 97, 97, 98, 98, 96, 94, 92, 92, 94, 96, 96, 96, 97,
+  96, 95, 96, 97, 97, 95, 94, 95, 96, 98, 99, 98, 96, 93, 92, 93,
+  94, 95, 95, 92, 92, 94, 97, 94, 93, 91, 87, 83, 79, 76, 74, 79,
+  76, 73, 71, 70, 70, 69, 68, 71, 63, 67, 75, 76, 77, 60, 11, 8,
+  10, 13, 19, 20, 19, 22, 26, 27, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 11, 7, 16, 7, 8, 19, 10, 10, 12, 9, 17, 10, 11, 25,
+  22, 30, 17, 33, 9, 24, 17, 21, 23, 10, 7, 29, 27, 30, 23, 15,
+  17, 20, 45, 80, 48, 89, 83, 109, 104, 99, 104, 100, 96, 93, 91, 90,
+  96, 101, 99, 98, 97, 96, 95, 95, 96, 96, 96, 94, 92, 93, 95, 96,
+  96, 97, 100, 98, 96, 96, 96, 97, 96, 94, 97, 98, 99, 99, 99, 98,
+  97, 97, 99, 100, 98, 96, 94, 94, 96, 98, 93, 93, 91, 87, 82, 78,
+  75, 74, 78, 77, 72, 71, 71, 71, 71, 71, 72, 70, 63, 78, 77, 80,
+  80, 23, 8, 12, 14, 15, 21, 29, 32, 31, 16, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 13, 3, 11, 8, 7, 21, 14, 11, 12, 9, 18,
+  7, 10, 27, 21, 22, 32, 18, 0, 22, 21, 31, 27, 15, 12, 42, 33,
+  21, 44, 22, 30, 6, 41, 98, 41, 91, 78, 109, 108, 103, 106, 103, 101,
+  99, 99, 96, 97, 97, 101, 97, 97, 95, 96, 96, 96, 97, 100, 98, 97,
+  97, 99, 101, 101, 100, 103, 100, 97, 95, 96, 96, 96, 95, 99, 99, 99,
+  99, 99, 98, 100, 100, 97, 98, 98, 96, 95, 95, 98, 100, 98, 97, 96,
+  91, 83, 79, 78, 81, 76, 74, 70, 70, 71, 73, 73, 73, 73, 77, 62,
+  82, 75, 77, 91, 29, 10, 16, 13, 8, 14, 26, 29, 23, 30, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 199, 15, 10, 7, 11, 14, 12, 9, 8,
+  10, 9, 12, 15, 19, 22, 25, 26, 27, 29, 24, 4, 46, 10, 13, 15,
+  22, 21, 15, 31, 31, 14, 17, 10, 55, 75, 85, 69, 87, 106, 97, 108,
+  110, 110, 106, 101, 96, 96, 101, 106, 106, 104, 102, 95, 98, 103, 104, 101,
+  96, 97, 101, 103, 104, 105, 107, 105, 108, 103, 98, 99, 101, 104, 102, 99,
+  88, 91, 94, 97, 98, 96, 95, 93, 96, 97, 98, 100, 101, 97, 98, 101,
+  96, 94, 93, 91, 86, 81, 76, 74, 74, 72, 69, 69, 73, 75, 77, 76,
+  79, 73, 70, 73, 77, 77, 76, 81, 12, 10, 14, 15, 12, 30, 39, 18,
+  32, 255, 255, 255, 255, 255, 255, 255, 255, 255, 58, 15, 10, 8, 12, 16,
+  14, 11, 10, 8, 8, 7, 8, 11, 16, 20, 23, 31, 33, 16, 12, 30,
+  23, 11, 6, 14, 15, 9, 23, 22, 7, 13, 8, 47, 69, 80, 62, 74,
+  99, 98, 108, 108, 109, 107, 103, 98, 98, 102, 105, 106, 104, 101, 97, 99,
+  105, 108, 106, 108, 107, 109, 109, 108, 108, 108, 107, 108, 102, 99, 100, 102,
+  104, 102, 99, 90, 92, 95, 97, 96, 95, 93, 91, 96, 95, 98, 100, 101,
+  97, 98, 103, 96, 94, 93, 89, 84, 79, 74, 73, 76, 73, 70, 71, 74,
+  75, 76, 75, 85, 77, 73, 74, 75, 74, 72, 76, 86, 16, 0, 2, 16,
+  14, 23, 37, 32, 255, 255, 255, 255, 255, 255, 255, 255, 255, 6, 13, 10,
+  9, 14, 18, 15, 12, 11, 11, 9, 7, 7, 9, 14, 20, 24, 30, 36,
+  15, 22, 16, 43, 19, 6, 14, 17, 11, 21, 18, 5, 15, 13, 43, 68,
+  81, 61, 71, 99, 103, 114, 105, 107, 107, 105, 101, 100, 103, 105, 104, 102,
+  100, 98, 101, 107, 111, 109, 113, 112, 112, 110, 109, 109, 111, 110, 109, 105,
+  103, 105, 108, 109, 104, 101, 95, 96, 96, 97, 96, 94, 92, 90, 97, 95,
+  98, 101, 101, 98, 99, 103, 97, 95, 94, 89, 84, 80, 75, 74, 79, 76,
+  75, 73, 75, 76, 76, 75, 87, 79, 75, 75, 77, 73, 72, 76, 99, 10,
+  0, 3, 23, 8, 12, 39, 34, 255, 255, 255, 255, 255, 255, 255, 255, 177,
+  4, 13, 10, 10, 15, 16, 13, 9, 9, 14, 13, 12, 12, 15, 20, 25,
+  28, 23, 30, 26, 22, 12, 49, 32, 12, 15, 20, 13, 19, 13, 2, 16,
+  15, 29, 55, 79, 64, 72, 103, 107, 112, 105, 108, 108, 107, 103, 101, 102,
+  103, 104, 103, 102, 99, 102, 109, 112, 109, 112, 111, 111, 109, 109, 111, 114,
+  116, 111, 108, 108, 110, 112, 112, 107, 104, 99, 100, 98, 98, 96, 94, 91,
+  90, 97, 96, 99, 101, 101, 98, 99, 103, 99, 98, 94, 91, 87, 82, 78,
+  77, 79, 76, 75, 74, 76, 77, 78, 77, 84, 77, 75, 77, 79, 77, 76,
+  80, 68, 34, 0, 13, 13, 9, 18, 27, 34, 255, 255, 255, 255, 255, 255,
+  255, 255, 2, 0, 12, 10, 10, 13, 13, 9, 6, 7, 10, 10, 12, 15,
+  18, 22, 25, 27, 18, 24, 48, 14, 17, 39, 39, 19, 17, 22, 13, 15,
+  9, 0, 15, 14, 15, 32, 65, 65, 74, 103, 105, 103, 107, 110, 110, 109,
+  103, 100, 100, 100, 106, 105, 104, 102, 104, 109, 112, 109, 114, 113, 113, 112,
+  112, 113, 117, 118, 112, 112, 112, 114, 113, 112, 110, 108, 103, 103, 101, 100,
+  98, 96, 94, 92, 98, 96, 99, 102, 102, 98, 99, 104, 102, 99, 95, 91,
+  87, 83, 81, 80, 77, 76, 74, 74, 77, 79, 80, 80, 86, 79, 77, 79,
+  81, 78, 75, 79, 77, 82, 3, 18, 1, 13, 30, 23, 33, 255, 255, 255,
+  255, 255, 255, 255, 255, 2, 1, 12, 9, 9, 11, 10, 7, 6, 9, 5,
+  6, 9, 11, 14, 17, 19, 20, 16, 23, 65, 4, 24, 25, 33, 23, 22,
+  27, 15, 16, 12, 7, 20, 17, 15, 18, 52, 64, 78, 107, 109, 102, 109,
+  111, 111, 109, 103, 100, 100, 100, 105, 106, 105, 103, 106, 111, 113, 109, 120,
+  119, 119, 117, 116, 116, 118, 118, 112, 112, 112, 113, 111, 111, 110, 109, 106,
+  106, 105, 102, 100, 98, 96, 95, 98, 96, 99, 102, 102, 99, 100, 104, 103,
+  102, 97, 93, 89, 85, 84, 82, 80, 78, 76, 76, 80, 82, 83, 85, 89,
+  84, 81, 82, 83, 78, 73, 75, 88, 93, 12, 26, 18, 26, 31, 21, 32,
+  255, 255, 255, 255, 255, 255, 255, 190, 5, 6, 10, 8, 7, 9, 9, 8,
+  10, 15, 11, 11, 10, 10, 11, 14, 17, 18, 18, 30, 73, 5, 34, 28,
+  29, 35, 26, 30, 18, 20, 20, 18, 31, 24, 33, 14, 40, 60, 78, 107,
+  111, 106, 108, 111, 110, 108, 103, 101, 100, 103, 102, 105, 105, 104, 108, 113,
+  116, 112, 118, 118, 120, 119, 119, 118, 119, 119, 115, 115, 115, 115, 114, 114,
+  113, 114, 110, 108, 107, 106, 102, 101, 99, 99, 97, 96, 98, 102, 103, 99,
+  102, 107, 106, 103, 98, 93, 89, 86, 85, 85, 87, 85, 82, 81, 84, 85,
+  87, 87, 90, 83, 81, 82, 83, 78, 72, 74, 74, 77, 54, 24, 35, 39,
+  25, 18, 31, 255, 255, 255, 255, 255, 255, 255, 29, 0, 3, 9, 7, 6,
+  9, 10, 10, 15, 22, 22, 19, 15, 13, 13, 15, 19, 22, 19, 35, 71,
+  10, 41, 39, 29, 47, 21, 25, 12, 16, 19, 19, 32, 23, 43, 8, 26,
+  51, 72, 101, 109, 108, 109, 109, 109, 107, 102, 102, 103, 106, 100, 103, 104,
+  104, 109, 115, 119, 115, 111, 112, 115, 117, 119, 119, 121, 121, 120, 120, 120,
+  118, 117, 118, 118, 120, 112, 111, 108, 107, 106, 102, 101, 101, 97, 96, 98,
+  100, 103, 99, 102, 107, 107, 105, 100, 95, 90, 88, 87, 87, 92, 89, 86,
+  85, 86, 86, 88, 87, 87, 81, 79, 82, 85, 80, 76, 76, 72, 78, 106,
+  8, 26, 42, 25, 26, 32, 255, 255, 255, 255, 255, 255, 255, 10, 10, 6,
+  13, 10, 8, 11, 13, 12, 12, 14, 21, 23, 27, 33, 13, 6, 24, 9,
+  34, 38, 27, 33, 24, 30, 61, 40, 27, 30, 18, 25, 17, 32, 25, 24,
+  19, 16, 16, 36, 75, 109, 83, 107, 108, 108, 108, 107, 102, 101, 101, 103,
+  103, 104, 105, 106, 107, 111, 118, 122, 117, 118, 118, 117, 119, 123, 121, 115,
+  123, 124, 124, 123, 120, 118, 119, 120, 115, 113, 111, 108, 107, 105, 101, 96,
+  99, 99, 99, 97, 99, 99, 103, 106, 106, 108, 106, 98, 91, 85, 87, 91,
+  93, 90, 87, 86, 87, 87, 89, 88, 87, 84, 82, 81, 82, 80, 75, 74,
+  76, 81, 87, 14, 30, 37, 17, 32, 31, 255, 255, 255, 255, 255, 255, 255,
+  11, 12, 7, 16, 13, 11, 15, 16, 14, 14, 16, 18, 29, 19, 39, 8,
+  23, 27, 16, 29, 34, 53, 51, 32, 29, 44, 64, 17, 27, 24, 35, 25,
+  35, 21, 16, 17, 23, 35, 36, 42, 97, 100, 105, 110, 108, 110, 107, 102,
+  99, 101, 103, 103, 104, 105, 106, 107, 111, 118, 122, 120, 121, 122, 120, 123,
+  126, 125, 119, 124, 125, 126, 124, 120, 118, 118, 119, 119, 117, 115, 114, 111,
+  108, 104, 99, 98, 99, 99, 97, 100, 100, 104, 107, 104, 106, 108, 103, 98,
+  92, 92, 91, 93, 91, 87, 86, 87, 88, 89, 88, 89, 85, 84, 83, 83,
+  81, 76, 73, 74, 79, 85, 30, 26, 40, 22, 37, 28, 255, 255, 255, 255,
+  255, 255, 255, 12, 14, 10, 18, 14, 13, 17, 18, 15, 14, 16, 18, 32,
+  21, 33, 16, 31, 36, 20, 33, 31, 62, 55, 42, 35, 30, 79, 36, 41,
+  32, 40, 32, 49, 43, 45, 17, 31, 51, 37, 11, 80, 111, 105, 110, 108,
+  110, 107, 102, 99, 101, 101, 103, 104, 105, 106, 107, 110, 117, 121, 121, 123,
+  125, 123, 124, 128, 127, 122, 128, 129, 127, 125, 122, 120, 119, 120, 124, 122,
+  118, 117, 115, 112, 105, 100, 98, 98, 99, 98, 100, 101, 106, 109, 105, 106,
+  108, 107, 103, 98, 94, 93, 95, 93, 90, 89, 90, 90, 90, 89, 92, 88,
+  84, 83, 82, 80, 74, 74, 72, 76, 84, 53, 20, 42, 28, 39, 49, 255,
+  255, 255, 255, 255, 255, 55, 13, 15, 12, 18, 14, 13, 17, 18, 14, 12,
+  13, 20, 30, 28, 21, 30, 32, 46, 24, 37, 34, 44, 40, 49, 41, 32,
+  65, 41, 38, 24, 28, 25, 42, 39, 38, 24, 38, 45, 37, 17, 67, 101,
+  111, 110, 110, 110, 106, 102, 99, 99, 101, 103, 104, 105, 105, 106, 110, 117,
+  120, 120, 123, 125, 123, 124, 127, 127, 123, 127, 128, 127, 126, 123, 122, 122,
+  123, 123, 122, 118, 117, 115, 112, 105, 99, 98, 97, 100, 99, 101, 102, 108,
+  110, 110, 108, 106, 105, 104, 100, 97, 92, 96, 93, 90, 89, 90, 92, 91,
+  91, 95, 91, 87, 85, 84, 81, 75, 72, 72, 74, 82, 75, 15, 40, 29,
+  39, 50, 255, 255, 255, 255, 255, 255, 35, 15, 13, 14, 20, 17, 16, 19,
+  20, 16, 13, 13, 15, 31, 18, 24, 30, 44, 49, 37, 21, 37, 26, 34,
+  52, 36, 37, 37, 37, 38, 31, 41, 40, 51, 36, 27, 33, 39, 21, 36,
+  41, 57, 74, 115, 110, 110, 110, 106, 102, 99, 99, 101, 103, 104, 105, 105,
+  106, 109, 116, 119, 120, 124, 127, 125, 125, 128, 129, 126, 126, 127, 129, 128,
+  125, 125, 126, 128, 124, 123, 122, 121, 118, 114, 109, 102, 100, 98, 101, 100,
+  102, 102, 108, 110, 117, 113, 106, 102, 99, 99, 98, 95, 98, 95, 93, 92,
+  91, 93, 93, 92, 96, 92, 88, 86, 83, 80, 75, 72, 72, 73, 78, 89,
+  16, 35, 30, 37, 59, 255, 255, 255, 255, 255, 255, 23, 17, 8, 14, 24,
+  21, 20, 24, 24, 19, 15, 15, 8, 33, 3, 36, 28, 57, 49, 57, 5,
+  33, 29, 47, 53, 30, 39, 23, 38, 44, 43, 57, 59, 76, 71, 71, 44,
+  45, 9, 35, 52, 49, 62, 113, 112, 110, 110, 106, 102, 99, 99, 101, 103,
+  104, 105, 105, 105, 108, 115, 118, 122, 127, 131, 129, 128, 131, 132, 131, 127,
+  128, 130, 129, 126, 126, 127, 129, 125, 124, 124, 125, 122, 118, 113, 106, 102,
+  100, 103, 101, 103, 102, 108, 110, 118, 115, 107, 102, 98, 96, 98, 99, 98,
+  96, 93, 93, 92, 94, 94, 93, 96, 92, 88, 86, 84, 81, 76, 73, 73,
+  74, 75, 90, 23, 30, 29, 41, 47, 255, 255, 255, 255, 255, 255, 17, 19,
+  3, 15, 26, 23, 22, 25, 25, 20, 16, 15, 15, 28, 15, 27, 48, 45,
+  56, 66, 25, 22, 35, 56, 54, 38, 38, 33, 23, 38, 41, 54, 50, 73,
+  82, 96, 59, 60, 25, 40, 37, 48, 79, 108, 112, 110, 110, 106, 102, 99,
+  99, 101, 103, 104, 105, 104, 105, 108, 114, 118, 121, 127, 132, 129, 128, 130,
+  133, 132, 131, 132, 132, 131, 128, 127, 125, 127, 123, 123, 124, 125, 123, 120,
+  114, 108, 104, 102, 104, 101, 103, 102, 107, 109, 115, 115, 113, 106, 100, 98,
+  99, 103, 98, 96, 94, 93, 95, 97, 95, 94, 94, 91, 85, 84, 84, 82,
+  77, 74, 69, 72, 71, 87, 34, 28, 32, 46, 61, 255, 255, 255, 255, 255,
+  255, 15, 17, 0, 15, 22, 21, 21, 24, 24, 18, 14, 13, 29, 19, 41,
+  7, 78, 20, 66, 63, 59, 14, 36, 56, 56, 56, 40, 48, 14, 42, 58,
+  71, 54, 62, 66, 80, 69, 72, 46, 45, 13, 50, 104, 104, 110, 110, 110,
+  107, 102, 99, 101, 101, 105, 104, 107, 104, 107, 109, 114, 117, 120, 126, 130,
+  127, 126, 129, 131, 132, 134, 135, 135, 130, 128, 124, 123, 123, 119, 120, 121,
+  121, 121, 118, 113, 106, 107, 107, 107, 104, 103, 104, 106, 108, 110, 114, 116,
+  112, 104, 100, 102, 105, 99, 96, 94, 94, 95, 97, 95, 95, 93, 90, 84,
+  84, 84, 82, 77, 75, 70, 74, 71, 84, 44, 29, 35, 50, 61, 255, 255,
+  255, 255, 255, 125, 45, 7, 14, 20, 26, 20, 11, 10, 19, 27, 22, 12,
+  20, 30, 29, 24, 48, 52, 40, 71, 37, 47, 27, 67, 51, 35, 42, 47,
+  54, 20, 61, 47, 44, 62, 86, 74, 52, 63, 96, 52, 26, 50, 104, 103,
+  110, 107, 105, 106, 102, 99, 102, 107, 112, 109, 110, 108, 111, 112, 114, 115,
+  122, 122, 124, 126, 130, 132, 134, 135, 133, 128, 125, 123, 125, 125, 124, 121,
+  113, 115, 117, 118, 118, 116, 113, 113, 111, 112, 113, 115, 111, 106, 105, 108,
+  109, 111, 108, 103, 101, 103, 103, 100, 97, 93, 92, 92, 93, 94, 93, 92,
+  94, 93, 91, 90, 88, 83, 77, 75, 70, 75, 80, 77, 65, 21, 38, 49,
+  50, 255, 255, 255, 255, 255, 119, 66, 10, 9, 16, 21, 23, 20, 16, 18,
+  22, 20, 15, 27, 33, 31, 22, 41, 46, 40, 73, 43, 57, 41, 53, 64,
+  41, 53, 42, 55, 23, 55, 50, 47, 61, 87, 67, 59, 65, 78, 37, 31,
+  57, 104, 106, 108, 107, 106, 107, 103, 100, 103, 110, 111, 110, 110, 110, 111,
+  113, 116, 117, 120, 121, 125, 128, 130, 131, 132, 133, 127, 126, 124, 124, 125,
+  124, 119, 116, 114, 115, 115, 116, 115, 114, 111, 110, 110, 110, 111, 114, 112,
+  107, 106, 110, 112, 113, 111, 105, 103, 105, 105, 101, 99, 95, 92, 92, 92,
+  93, 92, 91, 92, 91, 89, 87, 86, 82, 77, 76, 77, 78, 80, 74, 67,
+  25, 43, 53, 50, 255, 255, 255, 255, 255, 109, 95, 13, 4, 14, 18, 26,
+  29, 24, 19, 18, 18, 17, 27, 31, 31, 21, 34, 42, 42, 76, 40, 62,
+  48, 41, 74, 50, 62, 39, 53, 31, 49, 61, 53, 55, 88, 62, 68, 72,
+  58, 28, 47, 74, 107, 112, 108, 108, 107, 108, 104, 101, 104, 110, 107, 107,
+  107, 107, 109, 111, 115, 117, 117, 119, 123, 126, 128, 129, 129, 128, 129, 128,
+  129, 130, 128, 125, 121, 117, 114, 114, 114, 113, 110, 108, 107, 108, 110, 109,
+  110, 112, 109, 104, 103, 107, 111, 112, 110, 104, 102, 103, 103, 100, 99, 95,
+  92, 92, 92, 92, 91, 89, 90, 88, 86, 85, 84, 81, 78, 77, 76, 72,
+  70, 66, 62, 23, 40, 49, 51, 255, 255, 255, 255, 255, 102, 109, 13, 2,
+  14, 16, 29, 33, 29, 22, 19, 19, 18, 17, 22, 30, 25, 33, 41, 43,
+  71, 33, 60, 46, 46, 76, 56, 61, 43, 47, 35, 47, 72, 54, 49, 88,
+  64, 63, 76, 49, 39, 72, 92, 107, 116, 109, 109, 109, 110, 106, 102, 104,
+  109, 104, 104, 104, 105, 109, 111, 114, 118, 118, 119, 122, 126, 128, 128, 128,
+  126, 130, 130, 129, 130, 128, 126, 121, 116, 116, 115, 113, 109, 107, 105, 104,
+  103, 114, 111, 112, 110, 108, 99, 100, 101, 109, 108, 107, 99, 99, 99, 101,
+  96, 96, 93, 91, 91, 92, 92, 92, 90, 89, 87, 85, 84, 84, 82, 79,
+  79, 74, 67, 64, 62, 60, 23, 37, 42, 50, 255, 255, 255, 255, 255, 103,
+  97, 10, 3, 14, 21, 28, 30, 26, 24, 23, 21, 18, 7, 12, 30, 30,
+  33, 38, 36, 58, 26, 54, 38, 64, 72, 62, 61, 53, 44, 37, 51, 83,
+  54, 47, 84, 70, 49, 77, 53, 66, 100, 106, 108, 117, 109, 110, 110, 111,
+  108, 103, 103, 109, 104, 101, 101, 102, 106, 109, 111, 115, 117, 118, 121, 125,
+  126, 127, 127, 127, 128, 123, 121, 120, 120, 120, 116, 115, 116, 113, 111, 109,
+  106, 103, 101, 101, 113, 110, 110, 108, 105, 97, 98, 100, 105, 104, 104, 96,
+  97, 97, 99, 95, 93, 91, 90, 90, 92, 93, 93, 92, 89, 87, 86, 86,
+  85, 84, 81, 80, 73, 66, 66, 67, 65, 26, 35, 36, 43, 255, 255, 255,
+  255, 255, 115, 64, 6, 5, 11, 25, 29, 27, 24, 25, 29, 28, 24, 10,
+  11, 32, 35, 33, 36, 31, 42, 24, 47, 34, 72, 63, 64, 68, 55, 45,
+  31, 52, 87, 53, 51, 77, 74, 46, 81, 61, 90, 115, 109, 108, 113, 110,
+  108, 110, 113, 110, 105, 104, 108, 102, 102, 102, 102, 104, 106, 110, 112, 116,
+  118, 119, 120, 121, 125, 126, 126, 126, 123, 120, 119, 120, 121, 119, 118, 113,
+  112, 111, 110, 106, 103, 100, 99, 105, 105, 104, 105, 102, 98, 99, 104, 103,
+  105, 103, 98, 97, 100, 101, 99, 93, 92, 90, 90, 91, 92, 92, 91, 88,
+  87, 87, 87, 87, 84, 80, 78, 66, 63, 65, 67, 64, 22, 29, 28, 32,
+  255, 255, 255, 255, 255, 134, 25, 2, 6, 5, 25, 29, 27, 23, 24, 30,
+  34, 33, 19, 12, 31, 34, 30, 36, 34, 40, 28, 37, 34, 57, 51, 60,
+  83, 43, 52, 24, 50, 84, 52, 64, 72, 78, 57, 88, 62, 103, 115, 105,
+  109, 111, 110, 109, 111, 114, 109, 104, 105, 108, 103, 102, 101, 101, 102, 104,
+  107, 108, 113, 114, 114, 113, 115, 119, 121, 123, 126, 125, 124, 124, 126, 126,
+  123, 121, 111, 112, 112, 111, 108, 104, 101, 98, 101, 99, 98, 99, 97, 94,
+  96, 101, 98, 100, 99, 95, 95, 99, 100, 100, 97, 96, 93, 92, 92, 92,
+  91, 89, 88, 88, 89, 90, 89, 85, 79, 74, 63, 61, 64, 64, 59, 15,
+  23, 23, 21, 255, 255, 255, 255, 131, 148, 0, 0, 7, 0, 24, 29, 28,
+  22, 21, 28, 37, 41, 24, 12, 28, 30, 28, 38, 40, 46, 31, 29, 36,
+  35, 39, 54, 92, 28, 57, 18, 48, 82, 53, 75, 67, 76, 68, 93, 62,
+  106, 108, 101, 108, 110, 109, 109, 112, 113, 110, 105, 105, 108, 104, 102, 101,
+  101, 102, 103, 106, 107, 112, 111, 111, 110, 111, 114, 119, 122, 120, 121, 122,
+  125, 127, 126, 123, 118, 112, 111, 113, 112, 110, 105, 101, 98, 102, 99, 97,
+  97, 94, 90, 91, 96, 95, 97, 96, 92, 93, 97, 99, 97, 102, 99, 95,
+  93, 92, 90, 88, 86, 86, 87, 89, 90, 89, 84, 76, 71, 67, 64, 68,
+  66, 60, 14, 24, 25, 94, 255, 255, 255, 255, 132, 130, 1, 8, 3, 5,
+  17, 34, 26, 18, 32, 36, 32, 39, 21, 39, 39, 29, 33, 39, 41, 46,
+  16, 40, 13, 48, 28, 65, 69, 53, 45, 36, 38, 76, 59, 48, 87, 61,
+  70, 90, 42, 126, 103, 109, 107, 110, 113, 111, 110, 108, 108, 106, 105, 103,
+  103, 102, 103, 104, 105, 105, 106, 106, 107, 106, 108, 107, 109, 113, 121, 124,
+  131, 121, 121, 124, 121, 122, 122, 112, 113, 111, 113, 114, 115, 110, 104, 100,
+  95, 96, 98, 99, 98, 96, 94, 92, 92, 96, 96, 94, 95, 98, 97, 94,
+  103, 99, 94, 93, 93, 91, 87, 83, 87, 87, 86, 85, 88, 88, 80, 69,
+  60, 65, 66, 65, 68, 0, 11, 12, 255, 255, 255, 255, 214, 126, 124, 4,
+  12, 7, 9, 23, 33, 33, 31, 34, 32, 30, 37, 31, 38, 30, 25, 40,
+  49, 42, 35, 26, 39, 10, 53, 45, 55, 72, 54, 44, 39, 38, 76, 69,
+  55, 88, 70, 65, 83, 56, 117, 103, 110, 107, 109, 114, 113, 110, 110, 108,
+  107, 106, 103, 101, 101, 103, 104, 105, 105, 106, 105, 106, 105, 104, 107, 113,
+  120, 120, 121, 130, 122, 124, 127, 124, 125, 126, 116, 110, 109, 111, 111, 115,
+  111, 107, 104, 98, 99, 99, 100, 98, 96, 94, 92, 91, 95, 95, 93, 93,
+  96, 96, 95, 102, 98, 94, 93, 93, 92, 88, 84, 85, 86, 85, 83, 85,
+  86, 79, 70, 64, 69, 66, 67, 53, 0, 7, 3, 255, 255, 255, 255, 132,
+  125, 122, 13, 19, 13, 14, 25, 19, 24, 31, 26, 25, 38, 48, 22, 39,
+  41, 32, 35, 38, 40, 47, 31, 35, 7, 50, 55, 34, 67, 46, 37, 37,
+  32, 68, 74, 52, 71, 72, 58, 73, 77, 108, 105, 115, 107, 110, 115, 115,
+  112, 111, 108, 108, 105, 105, 101, 102, 104, 105, 105, 104, 105, 104, 103, 103,
+  103, 110, 119, 125, 122, 117, 129, 122, 125, 130, 127, 127, 128, 119, 120, 118,
+  118, 116, 117, 112, 107, 103, 104, 104, 104, 103, 100, 97, 94, 92, 93, 95,
+  95, 92, 93, 96, 97, 95, 100, 98, 95, 94, 96, 96, 92, 89, 87, 89,
+  88, 85, 85, 85, 80, 73, 71, 71, 70, 73, 36, 0, 8, 0, 255, 255,
+  255, 213, 133, 128, 120, 22, 19, 11, 13, 39, 18, 23, 35, 20, 11, 21,
+  25, 17, 38, 43, 34, 30, 33, 44, 62, 29, 34, 16, 47, 58, 22, 71,
+  45, 38, 41, 31, 57, 74, 52, 58, 70, 54, 67, 99, 101, 103, 118, 105,
+  111, 114, 113, 113, 109, 107, 106, 104, 104, 103, 103, 104, 104, 105, 103, 101,
+  102, 101, 102, 106, 114, 120, 121, 118, 115, 124, 118, 126, 130, 128, 132, 134,
+  125, 127, 123, 122, 122, 121, 117, 113, 108, 109, 106, 107, 103, 102, 96, 95,
+  91, 95, 95, 96, 90, 92, 95, 99, 97, 101, 97, 94, 95, 97, 98, 95,
+  92, 90, 92, 91, 87, 86, 86, 81, 75, 75, 73, 74, 77, 30, 1, 16,
+  0, 255, 255, 255, 127, 133, 130, 118, 33, 24, 14, 15, 27, 2, 8, 26,
+  17, 10, 18, 21, 28, 32, 24, 21, 34, 44, 50, 61, 22, 36, 32, 47,
+  59, 27, 80, 57, 40, 47, 38, 55, 78, 64, 62, 80, 56, 68, 113, 100,
+  103, 117, 104, 112, 112, 111, 112, 108, 104, 100, 101, 102, 108, 107, 106, 104,
+  103, 101, 99, 100, 107, 111, 114, 115, 110, 106, 105, 107, 118, 114, 124, 129,
+  128, 133, 138, 130, 125, 124, 125, 127, 129, 127, 125, 120, 115, 111, 111, 106,
+  104, 98, 97, 93, 98, 98, 98, 91, 94, 97, 102, 101, 101, 98, 95, 96,
+  99, 100, 97, 94, 90, 92, 92, 89, 90, 91, 86, 79, 77, 76, 83, 82,
+  39, 20, 32, 15, 255, 255, 255, 133, 136, 131, 121, 59, 54, 45, 44, 46,
+  19, 4, 5, 0, 2, 22, 40, 30, 35, 29, 24, 32, 39, 47, 64, 22,
+  28, 34, 42, 52, 34, 74, 62, 35, 45, 45, 57, 81, 78, 72, 82, 65,
+  79, 115, 105, 102, 114, 104, 110, 108, 110, 109, 106, 100, 97, 98, 100, 108,
+  108, 105, 102, 100, 99, 101, 101, 115, 117, 116, 107, 95, 88, 88, 94, 112,
+  108, 116, 122, 120, 127, 134, 128, 135, 134, 136, 138, 139, 135, 131, 125, 120,
+  117, 114, 110, 106, 102, 100, 98, 101, 102, 99, 94, 94, 100, 104, 103, 103,
+  100, 98, 98, 101, 102, 100, 97, 89, 90, 89, 89, 92, 94, 86, 76, 72,
+  69, 84, 79, 55, 34, 42, 36, 255, 255, 214, 138, 131, 121, 118, 87, 96,
+  90, 86, 108, 92, 63, 37, 17, 0, 4, 26, 33, 44, 42, 34, 30, 27,
+  36, 59, 40, 22, 31, 39, 44, 33, 47, 54, 24, 37, 51, 59, 79, 89,
+  77, 72, 75, 92, 109, 110, 100, 109, 103, 110, 107, 110, 109, 106, 99, 96,
+  97, 102, 107, 106, 103, 100, 99, 101, 105, 107, 117, 114, 107, 95, 84, 79,
+  82, 87, 102, 97, 105, 107, 103, 109, 118, 115, 128, 128, 132, 137, 138, 133,
+  129, 122, 125, 123, 120, 116, 111, 108, 105, 104, 105, 106, 102, 96, 96, 103,
+  107, 108, 107, 104, 101, 102, 104, 105, 102, 99, 96, 93, 88, 88, 91, 89,
+  75, 60, 57, 52, 76, 64, 65, 32, 41, 45, 255, 255, 127, 130, 118, 101,
+  103, 98, 117, 116, 108, 110, 126, 120, 102, 78, 38, 14, 25, 48, 44, 34,
+  30, 38, 37, 30, 36, 67, 22, 32, 44, 44, 33, 26, 46, 22, 36, 59,
+  65, 80, 92, 77, 61, 80, 99, 103, 113, 97, 104, 102, 109, 107, 110, 110,
+  107, 101, 95, 99, 102, 102, 101, 97, 95, 98, 102, 108, 112, 113, 107, 94,
+  83, 79, 80, 83, 88, 92, 89, 93, 94, 87, 93, 102, 100, 94, 99, 107,
+  118, 126, 129, 126, 121, 128, 125, 123, 118, 115, 111, 109, 107, 107, 106, 103,
+  96, 97, 103, 109, 109, 108, 107, 103, 103, 106, 106, 103, 100, 104, 98, 90,
+  86, 89, 83, 62, 45, 45, 41, 69, 51, 68, 27, 33, 46, 255, 255, 129,
+  124, 105, 94, 103, 106, 98, 99, 110, 111, 115, 116, 112, 104, 85, 52, 24,
+  24, 28, 31, 36, 36, 23, 23, 39, 55, 30, 41, 36, 57, 58, 27, 61,
+  48, 32, 51, 79, 70, 101, 76, 73, 91, 95, 101, 104, 103, 102, 100, 101,
+  107, 110, 111, 107, 101, 97, 102, 104, 98, 96, 91, 91, 98, 106, 106, 100,
+  105, 97, 85, 78, 78, 78, 76, 75, 83, 85, 73, 59, 60, 73, 79, 76,
+  68, 72, 71, 78, 97, 122, 131, 124, 124, 117, 124, 104, 117, 106, 116, 106,
+  107, 107, 106, 97, 97, 101, 111, 115, 115, 114, 111, 108, 108, 105, 106, 108,
+  101, 89, 86, 91, 86, 76, 55, 30, 24, 39, 42, 60, 72, 34, 14, 48,
+  255, 255, 124, 102, 100, 101, 107, 111, 108, 101, 98, 103, 111, 115, 112, 113,
+  109, 94, 75, 43, 32, 59, 36, 51, 13, 37, 37, 43, 26, 35, 15, 43,
+  57, 36, 56, 48, 32, 48, 67, 77, 100, 84, 85, 94, 96, 100, 102, 101,
+  100, 101, 102, 105, 107, 108, 105, 100, 97, 100, 102, 96, 98, 98, 96, 96,
+  96, 92, 87, 106, 95, 82, 73, 71, 73, 74, 76, 66, 68, 61, 50, 50,
+  58, 60, 54, 50, 53, 57, 59, 63, 77, 91, 97, 112, 114, 121, 107, 107,
+  101, 110, 108, 105, 104, 102, 94, 96, 101, 109, 112, 114, 111, 107, 108, 108,
+  108, 108, 106, 105, 93, 88, 80, 62, 49, 38, 23, 14, 29, 32, 50, 64,
+  34, 10, 255, 255, 212, 117, 95, 106, 113, 114, 113, 112, 104, 91, 102, 115,
+  118, 109, 112, 124, 125, 114, 87, 63, 50, 68, 53, 56, 39, 22, 20, 25,
+  47, 10, 32, 47, 42, 50, 44, 30, 40, 43, 81, 90, 87, 92, 99, 99,
+  101, 102, 101, 100, 100, 101, 102, 104, 105, 103, 99, 97, 98, 101, 77, 88,
+  97, 99, 98, 97, 95, 94, 83, 78, 75, 75, 81, 88, 93, 94, 89, 92,
+  90, 81, 82, 83, 80, 71, 66, 58, 50, 45, 41, 39, 43, 47, 83, 100,
+  112, 115, 104, 106, 108, 113, 111, 109, 105, 99, 102, 109, 114, 114, 114, 110,
+  104, 105, 108, 109, 107, 103, 94, 85, 81, 65, 39, 27, 27, 23, 3, 17,
+  19, 34, 55, 39, 14, 255, 255, 121, 106, 109, 116, 120, 116, 108, 101, 98,
+  94, 109, 123, 124, 107, 104, 120, 126, 118, 113, 88, 61, 100, 57, 79, 40,
+  14, 7, 27, 63, 28, 33, 33, 41, 48, 43, 32, 39, 29, 86, 80, 88,
+  90, 102, 101, 101, 100, 99, 99, 99, 99, 101, 103, 104, 103, 99, 97, 97,
+  98, 93, 103, 108, 99, 88, 83, 82, 82, 77, 80, 89, 100, 110, 116, 118,
+  117, 106, 109, 108, 104, 103, 104, 99, 91, 103, 79, 60, 57, 55, 44, 31,
+  25, 50, 76, 92, 115, 103, 116, 109, 115, 114, 111, 105, 101, 105, 113, 116,
+  115, 118, 113, 106, 104, 107, 110, 104, 96, 81, 73, 68, 53, 28, 22, 28,
+  31, 22, 34, 31, 33, 45, 39, 19, 255, 255, 117, 94, 116, 114, 118, 121,
+  108, 91, 91, 103, 113, 130, 133, 116, 109, 115, 118, 111, 106, 91, 108, 102,
+  73, 48, 44, 20, 16, 22, 48, 36, 38, 32, 42, 45, 42, 35, 42, 31,
+  93, 77, 95, 92, 103, 100, 99, 98, 98, 98, 97, 96, 101, 103, 104, 103,
+  101, 98, 95, 96, 95, 103, 102, 90, 79, 80, 87, 93, 110, 112, 117, 121,
+  124, 123, 122, 117, 111, 109, 108, 105, 107, 108, 105, 100, 106, 87, 75, 78,
+  79, 67, 56, 50, 41, 62, 72, 96, 93, 114, 110, 115, 110, 108, 103, 99,
+  103, 110, 113, 110, 115, 113, 105, 102, 104, 108, 102, 91, 75, 60, 49, 37,
+  24, 31, 46, 50, 67, 70, 61, 46, 41, 36, 25, 255, 255, 113, 89, 105,
+  105, 114, 123, 108, 86, 89, 109, 110, 124, 133, 127, 119, 115, 111, 105, 99,
+  98, 109, 105, 74, 50, 38, 21, 33, 16, 14, 30, 35, 43, 44, 41, 37,
+  30, 39, 39, 89, 73, 101, 90, 102, 99, 98, 98, 99, 98, 96, 93, 102,
+  103, 104, 104, 101, 97, 92, 91, 84, 89, 87, 79, 81, 93, 109, 117, 131,
+  128, 123, 119, 115, 114, 115, 113, 116, 111, 110, 108, 108, 108, 108, 106, 90,
+  94, 97, 96, 88, 78, 77, 80, 62, 66, 63, 71, 76, 97, 105, 111, 107,
+  107, 103, 99, 101, 108, 111, 109, 107, 106, 101, 95, 95, 99, 93, 82, 59,
+  42, 32, 27, 32, 55, 80, 87, 87, 87, 79, 61, 47, 43, 41, 255, 255,
+  113, 91, 93, 102, 113, 113, 98, 86, 97, 113, 120, 129, 141, 143, 133, 115,
+  103, 95, 102, 106, 90, 103, 75, 73, 37, 24, 35, 19, 2, 33, 25, 47,
+  43, 30, 38, 31, 39, 47, 76, 65, 101, 84, 102, 99, 99, 100, 102, 101,
+  97, 93, 101, 102, 103, 102, 100, 94, 88, 87, 100, 100, 94, 87, 91, 103,
+  111, 114, 123, 121, 117, 113, 112, 113, 118, 119, 113, 105, 103, 102, 101, 99,
+  99, 98, 88, 100, 106, 100, 90, 85, 89, 90, 90, 83, 78, 66, 77, 87,
+  104, 107, 107, 109, 107, 103, 102, 108, 112, 113, 100, 103, 99, 86, 81, 83,
+  78, 66, 44, 32, 34, 44, 57, 80, 101, 103, 86, 81, 79, 69, 56, 49,
+  119, 255, 255, 115, 98, 91, 108, 115, 100, 83, 85, 103, 115, 142, 145, 155,
+  160, 143, 116, 94, 88, 102, 102, 118, 83, 98, 54, 51, 39, 24, 27, 11,
+  47, 14, 43, 35, 25, 50, 39, 45, 58, 71, 63, 103, 83, 102, 99, 100,
+  102, 104, 103, 98, 93, 101, 101, 101, 101, 98, 92, 85, 82, 95, 96, 93,
+  96, 107, 121, 129, 126, 121, 122, 124, 124, 125, 125, 128, 125, 119, 111, 107,
+  107, 107, 103, 99, 98, 94, 100, 101, 96, 97, 104, 102, 96, 102, 95, 96,
+  75, 87, 85, 103, 103, 100, 104, 104, 99, 96, 101, 106, 109, 100, 103, 97,
+  81, 70, 67, 61, 48, 45, 42, 56, 71, 82, 92, 96, 87, 89, 79, 78,
+  72, 58, 47, 255, 255, 255, 89, 101, 83, 118, 113, 106, 87, 82, 115, 115,
+  137, 125, 116, 114, 108, 101, 97, 99, 97, 106, 102, 92, 89, 79, 57, 45,
+  31, 21, 27, 25, 24, 49, 14, 40, 40, 23, 48, 79, 54, 77, 79, 83,
+  91, 98, 104, 103, 101, 101, 100, 98, 102, 100, 98, 99, 100, 96, 86, 81,
+  100, 109, 112, 109, 111, 120, 124, 121, 112, 125, 110, 118, 122, 116, 121, 118,
+  110, 103, 105, 107, 101, 92, 95, 106, 98, 91, 91, 94, 98, 98, 98, 101,
+  101, 109, 111, 101, 88, 84, 94, 106, 104, 103, 98, 92, 91, 97, 102, 100,
+  88, 91, 82, 72, 73, 44, 33, 48, 73, 66, 73, 90, 95, 88, 88, 96,
+  83, 86, 84, 61, 76, 46, 255, 255, 255, 98, 98, 92, 114, 112, 98, 87,
+  92, 114, 117, 104, 128, 130, 110, 108, 123, 116, 88, 93, 105, 102, 91, 92,
+  86, 74, 70, 29, 20, 42, 33, 44, 47, 20, 34, 28, 27, 54, 75, 52,
+  83, 83, 82, 90, 94, 99, 99, 99, 101, 100, 97, 103, 101, 100, 99, 98,
+  93, 86, 84, 100, 110, 113, 108, 108, 115, 117, 113, 128, 130, 110, 112, 117,
+  110, 111, 101, 88, 83, 80, 81, 89, 98, 97, 92, 93, 94, 98, 96, 89,
+  84, 96, 110, 101, 106, 107, 104, 99, 99, 104, 109, 107, 107, 103, 96, 94,
+  98, 100, 96, 82, 91, 74, 68, 55, 55, 51, 72, 80, 86, 89, 86, 89,
+  91, 83, 68, 73, 79, 85, 72, 82, 48, 255, 255, 255, 112, 95, 104, 108,
+  111, 91, 87, 106, 114, 119, 121, 114, 120, 131, 130, 113, 104, 107, 92, 106,
+  105, 92, 93, 92, 90, 93, 48, 29, 44, 14, 35, 29, 22, 37, 17, 28,
+  58, 69, 55, 87, 90, 83, 95, 96, 97, 97, 99, 102, 100, 95, 102, 102,
+  102, 99, 95, 91, 89, 91, 109, 120, 122, 117, 113, 118, 116, 111, 113, 102,
+  79, 80, 96, 100, 116, 107, 108, 107, 98, 87, 87, 93, 85, 69, 73, 80,
+  89, 94, 88, 80, 85, 92, 101, 102, 103, 106, 110, 111, 110, 108, 106, 108,
+  105, 99, 95, 95, 93, 87, 100, 88, 68, 53, 49, 55, 62, 71, 63, 67,
+  66, 59, 58, 68, 76, 74, 77, 79, 84, 79, 77, 43, 255, 255, 255, 125,
+  98, 112, 105, 112, 86, 85, 113, 114, 127, 127, 134, 129, 113, 117, 135, 129,
+  107, 95, 109, 108, 93, 91, 91, 93, 100, 74, 47, 36, 7, 22, 24, 22,
+  38, 19, 23, 50, 60, 62, 90, 94, 91, 103, 101, 100, 98, 100, 104, 101,
+  94, 99, 101, 103, 99, 94, 92, 95, 101, 117, 127, 131, 123, 119, 118, 115,
+  106, 95, 85, 77, 82, 103, 107, 130, 116, 89, 89, 85, 78, 76, 81, 89,
+  92, 73, 67, 69, 77, 86, 85, 81, 80, 100, 102, 104, 109, 114, 115, 111,
+  106, 107, 110, 108, 102, 98, 95, 90, 82, 96, 53, 49, 47, 70, 67, 86,
+  79, 95, 84, 81, 83, 68, 51, 58, 83, 81, 77, 79, 75, 66, 110, 255,
+  255, 255, 132, 105, 110, 105, 114, 87, 84, 113, 117, 135, 133, 129, 118, 109,
+  121, 143, 139, 117, 94, 108, 107, 93, 93, 93, 93, 97, 84, 63, 32, 24,
+  28, 41, 26, 37, 34, 19, 39, 53, 73, 91, 94, 100, 101, 100, 99, 98,
+  101, 106, 103, 97, 96, 100, 102, 100, 96, 96, 102, 110, 112, 122, 127, 118,
+  113, 110, 105, 94, 88, 80, 87, 87, 92, 72, 86, 58, 41, 34, 36, 54,
+  62, 63, 67, 77, 79, 67, 61, 65, 75, 79, 82, 86, 94, 98, 102, 107,
+  109, 109, 109, 108, 111, 114, 112, 106, 101, 97, 91, 83, 95, 45, 42, 83,
+  65, 55, 55, 62, 89, 75, 72, 86, 81, 64, 64, 81, 74, 74, 76, 76,
+  58, 255, 255, 255, 255, 130, 117, 104, 107, 110, 90, 88, 111, 125, 138, 144,
+  113, 105, 128, 142, 126, 114, 117, 94, 103, 99, 89, 95, 99, 97, 98, 93,
+  75, 31, 31, 30, 49, 36, 47, 43, 20, 34, 46, 80, 92, 94, 103, 92,
+  94, 96, 97, 101, 105, 105, 100, 97, 101, 103, 102, 99, 101, 107, 114, 111,
+  121, 123, 113, 108, 105, 97, 88, 87, 71, 74, 54, 45, 17, 43, 15, 24,
+  11, 28, 73, 96, 73, 36, 15, 49, 53, 66, 74, 74, 69, 70, 76, 88,
+  94, 100, 101, 104, 106, 112, 115, 122, 122, 120, 111, 105, 101, 96, 89, 90,
+  51, 41, 120, 28, 23, 0, 25, 46, 33, 21, 23, 40, 61, 73, 78, 77,
+  84, 87, 85, 51, 255, 255, 255, 255, 125, 129, 99, 110, 102, 94, 95, 111,
+  135, 136, 129, 129, 128, 126, 132, 131, 113, 88, 99, 104, 94, 86, 99, 108,
+  106, 104, 98, 82, 47, 38, 43, 43, 45, 53, 41, 27, 45, 42, 82, 94,
+  96, 100, 91, 95, 100, 100, 101, 103, 102, 99, 102, 104, 105, 104, 103, 105,
+  109, 114, 112, 119, 120, 113, 107, 103, 97, 88, 99, 71, 71, 49, 47, 31,
+  77, 58, 38, 31, 48, 91, 118, 101, 54, 20, 20, 30, 53, 72, 77, 73,
+  69, 70, 94, 95, 97, 95, 99, 103, 113, 117, 130, 127, 123, 110, 103, 97,
+  94, 87, 57, 19, 28, 108, 23, 20, 10, 29, 93, 75, 51, 30, 21, 29,
+  47, 63, 79, 91, 91, 81, 36, 255, 255, 255, 255, 120, 139, 96, 112, 94,
+  96, 101, 111, 141, 133, 134, 113, 117, 145, 147, 117, 101, 112, 109, 109, 94,
+  86, 102, 116, 112, 107, 93, 87, 79, 63, 74, 43, 43, 36, 31, 32, 52,
+  39, 80, 94, 99, 95, 97, 103, 108, 106, 102, 101, 99, 96, 106, 107, 107,
+  106, 106, 107, 109, 109, 109, 116, 118, 110, 105, 103, 97, 90, 87, 64, 80,
+  71, 84, 71, 118, 92, 84, 71, 58, 64, 80, 84, 70, 52, 28, 23, 28,
+  47, 70, 85, 89, 92, 106, 102, 95, 93, 96, 104, 111, 115, 132, 130, 121,
+  107, 97, 93, 88, 83, 67, 8, 38, 83, 50, 27, 43, 29, 141, 128, 118,
+  100, 51, 6, 17, 56, 72, 85, 81, 68, 23, 255, 255, 255, 255, 131, 126,
+  116, 108, 91, 111, 81, 133, 137, 119, 123, 115, 135, 170, 126, 116, 115, 118,
+  112, 105, 105, 119, 128, 124, 117, 116, 95, 95, 83, 70, 75, 84, 73, 49,
+  26, 23, 21, 32, 60, 87, 100, 100, 95, 94, 95, 96, 98, 99, 100, 101,
+  106, 107, 107, 106, 106, 107, 111, 115, 110, 111, 111, 109, 111, 114, 113, 108,
+  102, 97, 94, 96, 102, 104, 102, 99, 109, 103, 93, 82, 75, 73, 77, 81,
+  68, 68, 74, 77, 74, 71, 86, 107, 108, 93, 88, 96, 99, 94, 102, 116,
+  123, 129, 130, 117, 102, 93, 89, 88, 32, 30, 25, 26, 33, 28, 37, 59,
+  130, 123, 109, 86, 56, 35, 31, 37, 57, 76, 100, 46, 110, 255, 255, 255,
+  255, 134, 126, 122, 101, 101, 103, 92, 133, 136, 118, 120, 113, 132, 168, 139,
+  135, 121, 111, 115, 107, 109, 126, 137, 133, 120, 114, 102, 98, 90, 81, 88,
+  94, 87, 72, 47, 40, 30, 31, 50, 74, 89, 91, 95, 94, 96, 98, 99,
+  100, 100, 100, 104, 105, 105, 104, 104, 105, 109, 110, 112, 112, 112, 109, 112,
+  115, 113, 109, 104, 100, 97, 96, 101, 102, 101, 99, 106, 102, 96, 89, 84,
+  82, 84, 85, 80, 81, 88, 96, 93, 88, 95, 108, 106, 93, 90, 98, 100,
+  94, 101, 113, 118, 124, 127, 117, 104, 94, 86, 80, 35, 40, 37, 39, 43,
+  40, 43, 60, 95, 69, 48, 53, 66, 67, 49, 32, 55, 76, 95, 39, 255,
+  255, 255, 255, 255, 134, 127, 128, 97, 110, 95, 101, 134, 132, 117, 121, 126,
+  147, 163, 130, 129, 131, 130, 113, 107, 114, 134, 144, 138, 123, 115, 104, 96,
+  90, 88, 94, 96, 95, 92, 90, 85, 76, 71, 80, 94, 104, 105, 95, 95,
+  98, 100, 101, 101, 100, 99, 104, 105, 105, 105, 104, 106, 109, 110, 114, 114,
+  113, 110, 111, 114, 115, 110, 106, 105, 106, 105, 105, 105, 106, 106, 104, 103,
+  100, 97, 94, 92, 91, 90, 86, 84, 88, 94, 93, 89, 93, 104, 105, 95,
+  93, 100, 101, 94, 99, 109, 112, 118, 121, 116, 107, 96, 82, 71, 60, 74,
+  75, 74, 79, 79, 77, 84, 85, 71, 63, 73, 85, 85, 74, 66, 60, 80,
+  85, 32, 255, 255, 255, 255, 255, 134, 129, 131, 101, 111, 97, 101, 136, 121,
+  115, 112, 122, 142, 150, 132, 131, 131, 124, 110, 110, 121, 142, 150, 140, 126,
+  119, 107, 95, 89, 89, 91, 89, 91, 97, 89, 92, 95, 94, 97, 103, 104,
+  100, 96, 96, 100, 102, 103, 101, 99, 97, 106, 107, 108, 108, 108, 109, 112,
+  114, 116, 115, 113, 110, 111, 114, 115, 110, 110, 111, 113, 112, 110, 110, 111,
+  112, 105, 103, 100, 99, 97, 96, 94, 93, 90, 83, 79, 80, 81, 83, 92,
+  101, 103, 97, 97, 103, 101, 94, 97, 105, 110, 114, 117, 113, 107, 98, 83,
+  68, 66, 86, 91, 84, 89, 93, 91, 89, 82, 85, 91, 90, 80, 71, 74,
+  81, 74, 88, 73, 104, 255, 255, 255, 255, 255, 134, 130, 132, 114, 102, 104,
+  93, 134, 109, 113, 115, 117, 136, 159, 181, 181, 155, 116, 107, 112, 125, 145,
+  150, 139, 128, 126, 110, 98, 91, 92, 92, 86, 91, 100, 76, 85, 93, 96,
+  99, 102, 99, 91, 97, 97, 100, 102, 103, 101, 98, 96, 106, 107, 109, 109,
+  109, 110, 112, 114, 117, 117, 114, 110, 111, 114, 115, 111, 114, 115, 116, 115,
+  114, 113, 113, 114, 106, 101, 96, 94, 94, 94, 94, 92, 91, 85, 81, 82,
+  85, 89, 96, 103, 104, 101, 102, 105, 102, 95, 97, 103, 111, 113, 114, 110,
+  107, 100, 87, 73, 65, 85, 88, 78, 82, 90, 89, 86, 86, 80, 79, 81,
+  81, 78, 77, 80, 83, 87, 54, 255, 255, 255, 255, 255, 255, 137, 130, 129,
+  129, 94, 110, 92, 124, 110, 113, 113, 115, 133, 150, 181, 180, 168, 142, 109,
+  112, 123, 141, 147, 138, 130, 130, 109, 97, 89, 90, 91, 88, 93, 100, 90,
+  95, 98, 100, 103, 107, 106, 102, 99, 98, 100, 101, 101, 99, 97, 96, 103,
+  105, 107, 108, 107, 108, 110, 112, 117, 117, 114, 110, 111, 115, 117, 113, 115,
+  115, 114, 113, 114, 112, 110, 108, 104, 99, 92, 90, 91, 94, 94, 93, 86,
+  88, 91, 94, 97, 98, 100, 101, 106, 105, 107, 107, 102, 95, 97, 102, 109,
+  112, 113, 109, 107, 102, 91, 80, 68, 84, 86, 77, 81, 88, 88, 88, 91,
+  85, 80, 83, 88, 87, 87, 89, 83, 79, 36, 255, 255, 255, 255, 255, 255,
+  137, 131, 126, 137, 92, 107, 101, 109, 121, 119, 99, 103, 114, 105, 121, 113,
+  130, 143, 116, 108, 114, 133, 143, 140, 132, 128, 109, 99, 90, 88, 90, 91,
+  94, 94, 93, 95, 94, 95, 99, 105, 105, 101, 100, 98, 99, 99, 98, 97,
+  96, 95, 103, 105, 108, 108, 108, 108, 110, 112, 116, 116, 113, 110, 113, 118,
+  120, 117, 120, 117, 116, 116, 116, 114, 110, 105, 102, 94, 89, 89, 93, 97,
+  97, 95, 85, 91, 96, 98, 98, 99, 100, 100, 109, 109, 111, 109, 102, 96,
+  98, 103, 104, 109, 113, 111, 108, 103, 94, 83, 60, 72, 74, 69, 74, 76,
+  77, 81, 83, 83, 83, 83, 78, 73, 77, 85, 82, 78, 30, 255, 255, 255,
+  255, 255, 255, 137, 133, 125, 139, 96, 101, 113, 99, 133, 122, 117, 111, 112,
+  95, 109, 90, 105, 119, 120, 107, 106, 125, 142, 143, 133, 126, 116, 107, 97,
+  89, 91, 96, 96, 91, 93, 93, 96, 97, 103, 107, 106, 99, 101, 98, 98,
+  97, 96, 96, 95, 95, 105, 107, 110, 111, 111, 111, 112, 114, 116, 116, 113,
+  109, 113, 118, 121, 118, 126, 121, 119, 119, 121, 119, 112, 105, 99, 93, 90,
+  93, 98, 102, 101, 99, 95, 99, 101, 98, 97, 100, 105, 109, 111, 112, 113,
+  110, 102, 96, 99, 104, 99, 106, 114, 113, 109, 103, 94, 84, 66, 75, 76,
+  75, 81, 80, 78, 85, 88, 82, 80, 84, 85, 81, 77, 79, 87, 83, 34,
+  255, 255, 255, 255, 255, 255, 133, 133, 126, 134, 114, 96, 101, 121, 87, 122,
+  122, 121, 113, 108, 111, 113, 99, 79, 94, 90, 76, 112, 142, 140, 141, 118,
+  108, 104, 94, 85, 87, 94, 99, 95, 92, 93, 95, 95, 97, 99, 102, 103,
+  99, 100, 102, 101, 97, 95, 96, 97, 104, 105, 107, 107, 108, 110, 114, 117,
+  119, 118, 117, 115, 117, 117, 119, 119, 117, 124, 127, 123, 122, 122, 118, 110,
+  99, 89, 85, 88, 93, 94, 96, 99, 96, 98, 101, 104, 106, 107, 108, 108,
+  110, 109, 109, 108, 101, 94, 98, 105, 101, 99, 104, 112, 111, 101, 93, 90,
+  71, 59, 75, 77, 74, 85, 87, 92, 90, 88, 88, 87, 87, 83, 76, 74,
+  76, 78, 38, 255, 255, 255, 255, 255, 255, 136, 133, 131, 127, 126, 118, 102,
+  128, 108, 103, 112, 114, 109, 106, 114, 125, 123, 114, 88, 86, 75, 106, 133,
+  135, 141, 126, 109, 104, 94, 83, 85, 93, 97, 94, 92, 93, 93, 93, 95,
+  98, 100, 100, 96, 97, 100, 100, 98, 97, 97, 99, 103, 105, 106, 107, 108,
+  110, 113, 116, 119, 118, 118, 117, 120, 120, 121, 121, 121, 127, 129, 125, 124,
+  124, 120, 114, 107, 97, 91, 91, 93, 93, 93, 95, 97, 100, 104, 108, 111,
+  111, 111, 111, 116, 113, 111, 107, 100, 95, 100, 107, 103, 101, 106, 112, 112,
+  103, 96, 93, 78, 63, 76, 76, 73, 83, 86, 92, 92, 90, 90, 90, 90,
+  85, 78, 75, 79, 80, 110, 255, 255, 255, 255, 255, 255, 255, 133, 137, 120,
+  134, 131, 96, 125, 126, 99, 114, 116, 115, 112, 116, 130, 136, 133, 108, 106,
+  98, 114, 124, 124, 131, 124, 111, 104, 94, 85, 86, 92, 95, 93, 91, 93,
+  93, 94, 95, 98, 99, 98, 91, 93, 97, 99, 99, 99, 99, 99, 103, 104,
+  106, 107, 107, 109, 112, 115, 118, 118, 122, 123, 123, 124, 126, 126, 128, 131,
+  131, 128, 126, 125, 124, 118, 110, 99, 93, 93, 94, 92, 91, 92, 97, 100,
+  106, 111, 114, 115, 113, 112, 120, 116, 111, 107, 100, 95, 101, 109, 103, 102,
+  107, 112, 112, 105, 99, 96, 85, 66, 77, 76, 75, 84, 85, 92, 95, 93,
+  94, 94, 94, 89, 80, 77, 79, 78, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 141, 122, 134, 127, 92, 97, 117, 119, 118, 118, 116, 111, 115, 127, 131,
+  126, 126, 126, 122, 124, 121, 117, 119, 118, 112, 104, 94, 86, 87, 89, 92,
+  92, 91, 90, 91, 94, 94, 95, 97, 96, 88, 91, 95, 98, 99, 99, 98,
+  98, 102, 104, 106, 107, 107, 109, 111, 114, 117, 119, 123, 125, 126, 127, 128,
+  128, 129, 128, 126, 123, 121, 119, 117, 111, 107, 98, 93, 94, 97, 96, 95,
+  97, 96, 101, 107, 114, 117, 117, 116, 114, 117, 113, 110, 107, 102, 97, 101,
+  107, 101, 101, 105, 109, 110, 106, 102, 97, 85, 65, 77, 82, 79, 87, 85,
+  95, 95, 94, 94, 95, 95, 89, 80, 77, 74, 70, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 132, 131, 122, 98, 55, 74, 124, 118, 116, 107, 101,
+  108, 122, 127, 122, 118, 120, 124, 121, 117, 117, 114, 116, 110, 101, 92, 88,
+  89, 89, 90, 90, 89, 90, 91, 94, 94, 94, 95, 93, 89, 90, 93, 96,
+  98, 98, 97, 96, 103, 105, 107, 108, 108, 109, 111, 113, 119, 120, 123, 125,
+  129, 129, 129, 129, 128, 124, 120, 119, 119, 115, 111, 106, 107, 98, 94, 97,
+  100, 99, 98, 100, 96, 101, 107, 113, 117, 117, 116, 114, 110, 108, 107, 107,
+  104, 98, 99, 102, 97, 99, 103, 104, 106, 105, 102, 97, 82, 64, 79, 88,
+  88, 93, 89, 97, 96, 94, 95, 96, 95, 90, 81, 76, 73, 64, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 132, 127, 111, 23, 24, 90, 116,
+  117, 111, 104, 108, 121, 128, 127, 117, 118, 128, 120, 116, 121, 111, 114, 109,
+  99, 91, 88, 90, 88, 90, 92, 89, 90, 91, 92, 93, 93, 91, 91, 89,
+  89, 90, 92, 95, 97, 97, 96, 104, 106, 109, 110, 110, 110, 111, 113, 119,
+  120, 122, 124, 127, 128, 128, 128, 134, 128, 126, 128, 131, 126, 120, 116, 114,
+  104, 100, 101, 103, 100, 98, 98, 98, 101, 107, 112, 115, 116, 115, 113, 108,
+  105, 105, 107, 104, 98, 96, 98, 94, 97, 100, 100, 102, 105, 103, 98, 83,
+  62, 80, 92, 93, 97, 93, 99, 96, 94, 94, 93, 93, 89, 81, 79, 77,
+  60, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 214, 131, 117, 12,
+  0, 41, 73, 91, 108, 112, 113, 121, 125, 125, 127, 123, 133, 121, 117, 126,
+  110, 112, 108, 97, 90, 89, 92, 89, 90, 93, 88, 90, 91, 92, 93, 92,
+  90, 89, 88, 86, 86, 88, 94, 98, 100, 99, 105, 108, 111, 112, 111, 111,
+  112, 113, 120, 120, 120, 121, 124, 125, 126, 127, 136, 130, 132, 139, 143, 139,
+  133, 129, 120, 110, 105, 106, 106, 102, 99, 98, 99, 102, 106, 110, 112, 113,
+  113, 114, 113, 108, 105, 105, 102, 95, 94, 95, 93, 96, 99, 98, 100, 105,
+  104, 99, 87, 65, 79, 91, 95, 99, 94, 102, 101, 97, 95, 94, 93, 90,
+  84, 81, 75, 53, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  130, 117, 16, 0, 9, 9, 51, 94, 115, 118, 119, 121, 121, 126, 119, 129,
+  116, 119, 134, 120, 122, 107, 96, 89, 90, 92, 89, 91, 94, 88, 90, 91,
+  94, 93, 92, 89, 88, 86, 84, 83, 86, 93, 99, 102, 103, 106, 108, 112,
+  113, 113, 110, 113, 114, 119, 120, 119, 119, 119, 123, 125, 126, 127, 122, 126,
+  136, 143, 139, 135, 131, 122, 113, 108, 110, 111, 107, 104, 104, 103, 103, 106,
+  109, 112, 113, 113, 114, 117, 112, 106, 103, 99, 93, 92, 93, 93, 97, 99,
+  97, 100, 106, 105, 99, 92, 67, 79, 90, 94, 98, 94, 104, 103, 98, 93,
+  91, 91, 88, 84, 81, 70, 45, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 211, 101, 3, 6, 9, 13, 32, 56, 102, 114, 128, 120, 125,
+  128, 130, 131, 129, 129, 132, 130, 123, 107, 92, 86, 89, 91, 87, 90, 96,
+  91, 91, 90, 92, 93, 93, 89, 87, 86, 86, 85, 87, 89, 96, 102, 106,
+  106, 109, 112, 111, 109, 109, 114, 118, 111, 116, 117, 115, 116, 122, 124, 122,
+  134, 126, 125, 132, 148, 156, 153, 144, 132, 116, 115, 120, 116, 114, 112, 102,
+  102, 100, 104, 113, 121, 122, 116, 110, 113, 111, 107, 101, 94, 91, 92, 93,
+  92, 93, 94, 94, 99, 105, 104, 99, 90, 70, 64, 84, 101, 98, 96, 101,
+  106, 91, 89, 95, 88, 84, 81, 76, 73, 22, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 88, 20, 0, 9, 11, 25, 37, 72, 77,
+  94, 93, 105, 108, 110, 112, 112, 117, 125, 126, 120, 105, 93, 89, 89, 92,
+  90, 91, 92, 89, 89, 88, 91, 92, 92, 90, 86, 88, 87, 86, 87, 88,
+  93, 99, 102, 105, 108, 111, 111, 108, 107, 110, 113, 114, 117, 120, 118, 118,
+  122, 127, 124, 134, 127, 123, 125, 137, 149, 156, 156, 139, 121, 117, 119, 113,
+  113, 114, 107, 107, 104, 100, 102, 107, 112, 113, 113, 110, 108, 104, 97, 91,
+  87, 89, 90, 89, 94, 95, 95, 99, 105, 108, 102, 92, 72, 67, 85, 103,
+  102, 100, 102, 110, 96, 93, 97, 89, 83, 80, 74, 73, 20, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 96, 28, 0, 0, 13, 26,
+  34, 58, 57, 74, 77, 93, 80, 82, 82, 80, 83, 90, 91, 85, 95, 93,
+  93, 89, 91, 93, 93, 88, 88, 88, 88, 90, 91, 91, 90, 86, 89, 88,
+  86, 87, 89, 93, 95, 98, 105, 109, 111, 111, 108, 106, 108, 110, 115, 118,
+  121, 118, 119, 123, 127, 125, 129, 126, 124, 124, 131, 139, 148, 152, 134, 119,
+  116, 119, 114, 113, 110, 103, 101, 100, 99, 99, 99, 103, 107, 109, 105, 105,
+  101, 95, 90, 86, 89, 90, 88, 95, 99, 98, 100, 106, 110, 109, 97, 78,
+  71, 87, 104, 106, 104, 105, 112, 98, 96, 98, 91, 86, 81, 73, 65, 11,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 21, 6,
+  0, 18, 38, 52, 74, 69, 81, 79, 92, 106, 108, 111, 110, 112, 116, 114,
+  105, 79, 88, 96, 89, 87, 91, 94, 89, 89, 89, 88, 91, 92, 92, 91,
+  87, 87, 86, 86, 86, 88, 92, 94, 96, 102, 107, 110, 112, 109, 108, 109,
+  111, 113, 117, 119, 116, 117, 120, 125, 122, 122, 122, 126, 129, 133, 134, 132,
+  128, 123, 111, 112, 118, 112, 108, 103, 94, 93, 95, 101, 104, 103, 99, 97,
+  98, 99, 98, 97, 91, 89, 87, 89, 92, 90, 97, 103, 101, 101, 106, 112,
+  111, 103, 83, 72, 81, 97, 106, 108, 107, 107, 96, 95, 97, 90, 85, 79,
+  71, 63, 9, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 13, 6, 0, 15, 41, 58, 80, 73, 85, 82, 92, 92, 99, 108, 113,
+  119, 123, 120, 110, 65, 80, 93, 87, 82, 86, 93, 94, 90, 90, 90, 93,
+  94, 94, 93, 90, 87, 87, 87, 88, 89, 93, 96, 99, 101, 106, 110, 112,
+  112, 111, 113, 115, 114, 117, 119, 116, 116, 120, 124, 121, 122, 121, 124, 129,
+  136, 134, 125, 115, 121, 108, 107, 109, 101, 97, 96, 88, 96, 100, 106, 105,
+  101, 95, 89, 86, 90, 90, 91, 86, 87, 87, 90, 94, 95, 101, 107, 104,
+  103, 107, 113, 111, 107, 90, 74, 74, 86, 99, 106, 107, 102, 94, 95, 96,
+  91, 89, 82, 71, 71, 20, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 13, 1, 13, 18, 40, 50, 70, 64, 82, 83, 95, 99,
+  105, 116, 122, 126, 128, 122, 111, 65, 73, 85, 83, 82, 84, 92, 95, 90,
+  91, 90, 94, 95, 96, 95, 91, 87, 87, 87, 89, 90, 93, 96, 98, 102,
+  107, 112, 112, 111, 111, 113, 116, 115, 118, 120, 117, 118, 121, 125, 122, 127,
+  123, 121, 124, 131, 133, 128, 122, 125, 107, 100, 97, 89, 88, 95, 94, 111,
+  107, 103, 99, 95, 89, 85, 85, 87, 87, 86, 85, 85, 87, 90, 95, 100,
+  104, 107, 107, 107, 111, 113, 112, 111, 96, 78, 70, 76, 91, 101, 104, 101,
+  95, 97, 98, 93, 91, 84, 72, 51, 25, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 193, 12, 4, 15, 26, 43, 49, 61, 58, 80,
+  87, 96, 101, 109, 116, 119, 122, 123, 114, 105, 76, 70, 73, 79, 85, 86,
+  90, 92, 89, 90, 89, 93, 95, 95, 94, 91, 89, 89, 90, 91, 92, 95,
+  95, 96, 107, 108, 112, 111, 107, 107, 110, 113, 114, 117, 119, 116, 116, 119,
+  123, 120, 127, 124, 123, 121, 124, 124, 123, 122, 112, 99, 97, 99, 94, 95,
+  104, 103, 111, 105, 97, 91, 91, 92, 91, 89, 92, 93, 92, 90, 91, 92,
+  95, 100, 102, 105, 106, 107, 111, 117, 117, 114, 109, 102, 87, 72, 72, 85,
+  96, 98, 100, 96, 98, 97, 91, 92, 83, 69, 21, 101, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 90, 8, 13, 9, 31, 45, 49,
+  62, 57, 81, 85, 93, 97, 104, 112, 117, 123, 126, 121, 113, 88, 70, 65,
+  76, 89, 90, 88, 88, 88, 88, 88, 92, 94, 94, 93, 90, 92, 92, 92,
+  92, 93, 94, 93, 93, 110, 112, 112, 110, 106, 104, 107, 110, 112, 115, 116,
+  113, 113, 116, 120, 117, 122, 124, 127, 124, 119, 114, 112, 112, 94, 86, 95,
+  106, 106, 109, 115, 110, 100, 94, 90, 92, 97, 98, 97, 95, 101, 101, 102,
+  99, 97, 97, 102, 105, 102, 103, 105, 106, 113, 120, 122, 115, 109, 105, 93,
+  77, 72, 82, 92, 94, 98, 95, 97, 96, 90, 88, 78, 64, 10, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 125, 13, 15, 0,
+  23, 44, 56, 54, 76, 62, 87, 90, 98, 104, 110, 116, 123, 127, 122, 113,
+  91, 62, 61, 80, 88, 84, 89, 92, 84, 87, 90, 93, 93, 93, 94, 94,
+  90, 93, 94, 93, 92, 92, 94, 97, 111, 111, 112, 111, 111, 111, 110, 110,
+  112, 110, 110, 112, 116, 118, 121, 118, 125, 121, 121, 120, 114, 101, 92, 90,
+  123, 121, 119, 119, 119, 117, 115, 113, 125, 103, 88, 91, 102, 107, 107, 107,
+  109, 110, 107, 104, 103, 103, 105, 107, 111, 103, 108, 111, 112, 121, 127, 119,
+  117, 99, 94, 87, 71, 67, 81, 88, 94, 83, 90, 94, 89, 75, 86, 23,
+  15, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 121,
+  41, 10, 4, 24, 53, 42, 57, 50, 67, 76, 88, 100, 104, 109, 112, 117,
+  122, 121, 116, 89, 60, 59, 77, 85, 82, 87, 89, 84, 87, 88, 91, 90,
+  90, 91, 91, 93, 94, 96, 96, 94, 95, 97, 99, 110, 112, 114, 114, 110,
+  109, 109, 111, 112, 112, 113, 113, 114, 116, 122, 124, 128, 119, 112, 107, 106,
+  104, 108, 114, 119, 118, 119, 119, 122, 125, 125, 122, 116, 119, 108, 89, 92,
+  110, 114, 102, 107, 111, 113, 107, 102, 104, 115, 126, 112, 101, 110, 124, 122,
+  120, 126, 130, 122, 106, 103, 86, 78, 73, 86, 80, 91, 85, 92, 90, 86,
+  85, 78, 29, 104, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 119, 61, 4, 2, 33, 67, 53, 59, 46, 67, 79, 91, 100, 105,
+  108, 108, 108, 114, 118, 117, 89, 61, 59, 76, 83, 82, 87, 88, 86, 87,
+  88, 91, 90, 90, 90, 90, 93, 97, 97, 98, 98, 99, 100, 102, 107, 112,
+  115, 115, 111, 110, 112, 116, 113, 114, 115, 114, 114, 115, 122, 125, 119, 109,
+  102, 99, 103, 109, 120, 131, 125, 124, 123, 124, 126, 125, 124, 122, 120, 127,
+  121, 103, 98, 109, 113, 106, 118, 123, 125, 122, 113, 107, 107, 109, 108, 102,
+  107, 114, 119, 129, 130, 114, 126, 111, 111, 85, 84, 73, 87, 72, 91, 91,
+  93, 87, 80, 89, 56, 33, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 126, 51, 8, 0, 37, 69, 76, 54, 61, 54, 88,
+  94, 98, 106, 109, 108, 107, 112, 116, 117, 91, 65, 62, 76, 84, 84, 90,
+  89, 87, 88, 88, 92, 94, 94, 94, 93, 93, 97, 98, 99, 99, 100, 100,
+  102, 101, 109, 114, 114, 111, 110, 114, 120, 115, 114, 115, 115, 116, 115, 117,
+  115, 101, 98, 100, 104, 111, 114, 120, 128, 131, 129, 127, 125, 126, 126, 125,
+  121, 125, 119, 118, 119, 110, 97, 95, 104, 104, 102, 102, 106, 113, 116, 115,
+  111, 114, 124, 127, 122, 149, 197, 196, 151, 128, 110, 116, 90, 86, 64, 78,
+  73, 94, 91, 90, 90, 80, 82, 27, 110, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 129, 29, 28, 10, 26, 63, 81, 61,
+  62, 47, 79, 89, 96, 105, 111, 111, 110, 111, 113, 112, 91, 66, 63, 74,
+  81, 84, 90, 88, 84, 84, 85, 91, 95, 97, 97, 96, 92, 97, 100, 101,
+  99, 99, 100, 101, 103, 110, 116, 116, 109, 108, 113, 117, 116, 113, 113, 115,
+  117, 114, 109, 101, 97, 97, 105, 113, 119, 118, 118, 122, 124, 124, 124, 126,
+  130, 130, 131, 130, 122, 112, 113, 121, 116, 97, 86, 89, 100, 95, 89, 84,
+  84, 88, 97, 101, 93, 106, 108, 96, 113, 158, 161, 122, 128, 110, 115, 102,
+  84, 56, 72, 82, 88, 83, 83, 95, 84, 63, 7, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 20, 49, 35, 22,
+  67, 71, 85, 59, 58, 65, 85, 95, 104, 110, 110, 112, 112, 111, 107, 89,
+  65, 61, 70, 77, 82, 88, 84, 80, 80, 81, 88, 93, 97, 97, 95, 92,
+  97, 100, 101, 98, 97, 97, 98, 108, 112, 116, 114, 107, 104, 106, 108, 116,
+  112, 113, 114, 114, 109, 104, 96, 107, 106, 111, 117, 122, 120, 121, 126, 130,
+  129, 127, 128, 130, 131, 128, 127, 117, 123, 123, 118, 116, 113, 99, 83, 95,
+  106, 113, 102, 81, 66, 69, 75, 99, 100, 108, 107, 99, 106, 117, 117, 123,
+  115, 113, 106, 74, 60, 72, 90, 80, 77, 79, 91, 78, 39, 7, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 28,
+  52, 53, 33, 66, 67, 92, 74, 67, 65, 80, 96, 102, 106, 106, 111, 112,
+  108, 104, 89, 66, 61, 69, 76, 82, 88, 84, 82, 81, 81, 87, 94, 97,
+  96, 94, 94, 98, 101, 102, 101, 99, 96, 96, 108, 110, 111, 111, 107, 105,
+  105, 105, 112, 112, 115, 113, 107, 102, 104, 104, 112, 110, 113, 118, 123, 123,
+  125, 131, 139, 137, 134, 133, 131, 129, 126, 124, 123, 128, 129, 125, 120, 118,
+  110, 97, 76, 89, 106, 108, 97, 85, 82, 83, 74, 70, 86, 102, 99, 99,
+  117, 131, 113, 120, 104, 97, 53, 71, 76, 86, 76, 83, 83, 79, 62, 14,
+  96, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 35, 40, 57, 44, 56, 71, 79, 94, 58, 68, 70, 98, 101, 102,
+  104, 108, 111, 109, 102, 91, 68, 63, 71, 75, 84, 90, 85, 86, 85, 86,
+  90, 98, 100, 97, 94, 95, 100, 103, 103, 101, 99, 96, 96, 103, 104, 106,
+  108, 107, 108, 109, 109, 108, 113, 118, 112, 101, 98, 106, 115, 108, 107, 113,
+  120, 126, 124, 125, 130, 136, 136, 135, 134, 135, 134, 133, 131, 131, 117, 118,
+  129, 123, 105, 102, 111, 101, 92, 84, 83, 89, 93, 91, 87, 80, 75, 83,
+  91, 95, 104, 108, 100, 101, 121, 96, 85, 36, 81, 80, 79, 79, 96, 93,
+  71, 48, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 29, 40, 62, 52, 40, 63, 92, 85, 74, 76, 75,
+  83, 89, 96, 102, 108, 110, 109, 106, 85, 67, 64, 73, 75, 82, 90, 89,
+  88, 88, 91, 94, 99, 99, 98, 97, 99, 99, 100, 99, 96, 97, 100, 102,
+  104, 106, 105, 104, 102, 103, 108, 113, 116, 112, 119, 108, 90, 103, 111, 94,
+  102, 118, 116, 117, 121, 124, 137, 131, 139, 144, 138, 150, 133, 135, 120, 126,
+  132, 124, 119, 125, 126, 121, 116, 115, 101, 104, 102, 92, 82, 80, 85, 91,
+  101, 75, 57, 66, 88, 102, 103, 102, 110, 91, 67, 60, 70, 82, 88, 89,
+  101, 90, 94, 66, 19, 103, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 186, 35, 51, 59, 43, 55, 85, 91,
+  80, 80, 87, 74, 81, 93, 104, 109, 110, 111, 110, 87, 67, 63, 68, 73,
+  78, 91, 91, 89, 90, 90, 95, 98, 101, 99, 98, 100, 101, 101, 100, 97,
+  97, 99, 102, 103, 105, 105, 104, 102, 102, 106, 111, 113, 111, 117, 106, 93,
+  103, 112, 95, 96, 106, 104, 116, 123, 121, 127, 119, 136, 135, 140, 133, 149,
+  130, 144, 133, 118, 115, 114, 122, 122, 116, 110, 108, 102, 104, 101, 91, 79,
+  74, 76, 79, 80, 71, 70, 83, 97, 97, 90, 85, 66, 69, 68, 65, 70,
+  82, 85, 82, 116, 105, 78, 41, 19, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 30, 49, 65, 51,
+  49, 70, 89, 81, 77, 91, 71, 74, 86, 102, 108, 105, 106, 111, 92, 68,
+  61, 67, 72, 77, 90, 92, 90, 90, 90, 93, 96, 100, 99, 99, 102, 103,
+  103, 101, 98, 97, 99, 101, 101, 104, 105, 104, 101, 101, 104, 107, 108, 110,
+  114, 103, 94, 103, 110, 97, 110, 103, 91, 106, 117, 116, 132, 137, 122, 146,
+  142, 150, 138, 124, 138, 133, 138, 133, 132, 132, 125, 116, 109, 107, 101, 99,
+  95, 89, 81, 74, 72, 72, 63, 64, 70, 77, 77, 69, 60, 57, 60, 64,
+  64, 60, 70, 85, 93, 90, 118, 97, 46, 12, 96, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 27,
+  47, 62, 69, 61, 63, 83, 85, 79, 90, 82, 75, 80, 96, 106, 103, 103,
+  108, 94, 68, 61, 69, 74, 77, 88, 90, 91, 90, 89, 92, 95, 99, 99,
+  99, 103, 104, 104, 103, 99, 98, 99, 100, 99, 103, 104, 104, 101, 99, 101,
+  103, 104, 110, 111, 99, 95, 104, 108, 99, 100, 86, 71, 86, 92, 81, 99,
+  113, 140, 131, 116, 109, 148, 128, 160, 129, 135, 135, 134, 131, 124, 119, 116,
+  117, 102, 96, 93, 93, 90, 85, 81, 81, 80, 80, 79, 75, 69, 66, 68,
+  72, 76, 66, 61, 69, 82, 94, 100, 99, 112, 72, 21, 89, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 28, 32, 51, 81, 79, 63, 75, 89, 87, 89, 94, 79, 73, 85,
+  100, 105, 106, 108, 95, 68, 62, 73, 79, 78, 85, 86, 91, 90, 88, 91,
+  94, 99, 98, 99, 102, 104, 105, 104, 99, 98, 98, 99, 100, 103, 104, 103,
+  100, 98, 99, 101, 101, 111, 110, 96, 97, 105, 106, 101, 86, 80, 78, 100,
+  96, 68, 76, 89, 64, 83, 79, 111, 111, 114, 121, 117, 138, 141, 144, 140,
+  133, 126, 119, 113, 106, 101, 99, 103, 103, 98, 95, 95, 94, 94, 91, 84,
+  78, 77, 80, 81, 68, 60, 69, 94, 104, 96, 95, 105, 96, 39, 13, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 182, 21, 35, 73, 82, 63, 63, 82, 90, 87, 97,
+  83, 71, 74, 90, 105, 111, 110, 98, 68, 62, 75, 81, 78, 83, 84, 89,
+  89, 88, 92, 95, 99, 98, 97, 100, 102, 104, 103, 99, 98, 98, 99, 102,
+  104, 104, 102, 98, 97, 98, 101, 99, 114, 109, 94, 100, 106, 104, 103, 98,
+  94, 93, 115, 113, 92, 111, 129, 86, 78, 85, 82, 80, 75, 93, 118, 111,
+  118, 128, 131, 132, 131, 124, 117, 113, 106, 105, 109, 109, 101, 99, 102, 100,
+  104, 103, 93, 81, 72, 66, 60, 65, 67, 84, 102, 102, 89, 98, 119, 57,
+  6, 90, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 34, 37, 59, 75, 68, 57, 70,
+  86, 85, 92, 88, 76, 68, 77, 97, 107, 105, 102, 70, 61, 74, 80, 76,
+  83, 85, 87, 88, 89, 93, 96, 99, 97, 96, 97, 100, 102, 103, 99, 98,
+  98, 99, 104, 106, 104, 101, 97, 96, 99, 102, 99, 117, 110, 93, 102, 106,
+  102, 105, 106, 96, 84, 100, 105, 101, 133, 156, 127, 64, 150, 105, 205, 111,
+  100, 54, 73, 77, 82, 87, 101, 114, 121, 117, 113, 106, 104, 109, 107, 98,
+  97, 104, 106, 111, 105, 87, 70, 64, 65, 63, 84, 88, 96, 96, 94, 92,
+  94, 99, 20, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 58, 57, 59, 77,
+  81, 64, 68, 87, 90, 90, 94, 85, 68, 69, 89, 101, 99, 106, 71, 60,
+  72, 78, 75, 83, 87, 86, 88, 89, 94, 97, 99, 96, 95, 95, 98, 101,
+  102, 99, 98, 98, 99, 106, 107, 104, 101, 96, 96, 99, 103, 100, 119, 110,
+  93, 103, 107, 101, 105, 116, 105, 90, 103, 108, 103, 127, 142, 121, 90, 119,
+  132, 118, 123, 88, 137, 137, 124, 102, 80, 77, 84, 89, 86, 109, 100, 100,
+  106, 103, 94, 96, 105, 84, 85, 74, 50, 35, 45, 68, 81, 92, 99, 102,
+  97, 102, 104, 78, 40, 9, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 50,
+  61, 57, 65, 81, 78, 61, 66, 89, 99, 103, 95, 75, 72, 88, 102, 104,
+  104, 89, 68, 63, 78, 81, 82, 89, 75, 86, 93, 96, 98, 100, 94, 86,
+  103, 104, 105, 103, 99, 96, 96, 96, 106, 107, 105, 103, 101, 101, 102, 104,
+  109, 112, 111, 101, 95, 99, 110, 116, 116, 111, 103, 94, 94, 105, 125, 138,
+  110, 105, 116, 126, 143, 135, 115, 134, 140, 150, 101, 114, 128, 73, 66, 79,
+  76, 84, 87, 82, 93, 87, 64, 72, 59, 60, 35, 49, 45, 73, 88, 85,
+  85, 101, 97, 96, 107, 92, 43, 15, 100, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 59, 63, 58, 60, 77, 79, 57, 57, 86, 94, 101, 99, 83, 74,
+  81, 96, 104, 103, 94, 75, 65, 78, 83, 85, 88, 77, 86, 92, 95, 96,
+  99, 94, 87, 98, 99, 101, 101, 97, 96, 96, 97, 103, 104, 102, 101, 100,
+  100, 102, 104, 108, 112, 112, 102, 97, 100, 110, 115, 117, 113, 106, 96, 92,
+  95, 105, 113, 82, 74, 119, 150, 139, 126, 126, 148, 138, 177, 142, 127, 137,
+  128, 137, 120, 77, 64, 55, 68, 75, 68, 86, 119, 113, 41, 41, 68, 60,
+  73, 75, 86, 96, 90, 97, 105, 85, 82, 4, 20, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 66, 63, 57, 69, 79, 58, 51, 80, 86, 95,
+  100, 91, 76, 74, 86, 100, 103, 102, 84, 67, 77, 85, 88, 88, 81, 87,
+  91, 93, 94, 96, 93, 89, 92, 95, 97, 98, 96, 96, 97, 98, 100, 101,
+  100, 100, 99, 99, 102, 104, 108, 111, 112, 103, 99, 102, 110, 113, 116, 115,
+  111, 102, 94, 90, 91, 92, 92, 50, 95, 144, 137, 134, 134, 134, 134, 145,
+  141, 168, 167, 136, 143, 140, 133, 183, 180, 147, 110, 109, 129, 98, 108, 11,
+  52, 76, 66, 72, 75, 90, 102, 99, 101, 86, 104, 5, 29, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 65, 73, 62, 61, 76, 68, 58,
+  75, 84, 90, 98, 97, 84, 75, 81, 94, 103, 108, 92, 68, 73, 83, 90,
+  90, 86, 88, 90, 92, 92, 93, 91, 90, 91, 94, 96, 97, 95, 95, 96,
+  97, 98, 99, 99, 99, 99, 100, 103, 105, 108, 111, 112, 104, 101, 104, 110,
+  112, 116, 115, 115, 109, 103, 96, 93, 92, 88, 73, 113, 131, 103, 96, 112,
+  136, 122, 142, 155, 169, 163, 158, 162, 126, 117, 147, 141, 146, 121, 109, 139,
+  104, 51, 16, 68, 67, 62, 65, 84, 96, 97, 120, 83, 88, 57, 5, 104,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 60, 77, 68, 53,
+  65, 75, 70, 66, 83, 86, 93, 97, 92, 83, 82, 87, 102, 111, 98, 72,
+  72, 80, 89, 93, 89, 89, 89, 92, 91, 91, 89, 90, 94, 96, 97, 97,
+  94, 93, 94, 95, 98, 100, 99, 99, 99, 101, 104, 106, 109, 111, 111, 104,
+  102, 105, 110, 112, 117, 117, 118, 113, 110, 104, 100, 98, 113, 93, 83, 80,
+  99, 109, 90, 91, 130, 120, 128, 149, 145, 149, 160, 140, 146, 154, 132, 144,
+  134, 118, 115, 48, 39, 61, 77, 58, 68, 59, 86, 100, 106, 98, 103, 52,
+  1, 41, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 190,
+  72, 70, 53, 52, 72, 76, 59, 81, 84, 89, 93, 95, 93, 88, 84, 98,
+  110, 103, 83, 78, 78, 86, 95, 91, 89, 88, 92, 91, 88, 86, 89, 94,
+  96, 97, 97, 93, 91, 91, 92, 98, 100, 99, 99, 99, 100, 103, 106, 111,
+  112, 110, 103, 102, 106, 111, 112, 120, 119, 119, 116, 113, 108, 103, 102, 83,
+  99, 102, 82, 85, 87, 74, 92, 115, 73, 85, 134, 139, 122, 127, 137, 118,
+  156, 149, 131, 111, 103, 88, 23, 62, 83, 61, 50, 73, 64, 86, 111, 113,
+  86, 90, 19, 2, 106, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 62, 68, 63, 47, 62, 75, 57, 75, 83, 89, 89, 94, 99,
+  94, 85, 92, 106, 109, 98, 91, 79, 82, 95, 92, 89, 88, 93, 91, 87,
+  84, 87, 92, 94, 95, 95, 91, 89, 89, 90, 97, 99, 98, 98, 97, 98,
+  101, 103, 113, 113, 109, 101, 101, 106, 112, 113, 120, 120, 122, 120, 118, 112,
+  105, 102, 102, 90, 96, 93, 98, 102, 84, 75, 80, 88, 102, 103, 108, 124,
+  115, 89, 133, 125, 112, 104, 78, 40, 41, 68, 68, 69, 57, 50, 59, 82,
+  88, 112, 103, 85, 12, 31, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 56, 69, 76, 49, 54, 74, 60, 71, 84, 91,
+  88, 92, 101, 99, 87, 86, 104, 111, 110, 100, 80, 76, 92, 89, 85, 87,
+  92, 90, 84, 83, 86, 89, 91, 92, 92, 89, 88, 88, 88, 97, 96, 97,
+  96, 96, 94, 97, 99, 115, 113, 107, 100, 98, 104, 112, 113, 117, 118, 121,
+  124, 123, 117, 111, 106, 113, 89, 115, 123, 94, 92, 96, 90, 93, 84, 86,
+  85, 84, 80, 73, 74, 76, 80, 76, 64, 76, 73, 54, 63, 60, 56, 76,
+  57, 36, 94, 87, 100, 106, 25, 1, 0, 98, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 67, 73, 49, 41, 79, 75,
+  69, 77, 84, 87, 89, 95, 99, 100, 86, 95, 105, 108, 100, 88, 80, 75,
+  87, 87, 86, 85, 85, 83, 80, 79, 88, 89, 88, 89, 88, 86, 83, 81,
+  96, 94, 94, 93, 94, 95, 98, 100, 108, 108, 104, 94, 92, 98, 104, 106,
+  107, 111, 117, 121, 123, 123, 116, 112, 102, 104, 106, 110, 113, 109, 103, 97,
+  91, 92, 93, 95, 95, 89, 85, 80, 92, 90, 89, 84, 74, 63, 60, 63,
+  55, 73, 55, 35, 69, 68, 90, 99, 88, 17, 0, 15, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 70, 72, 54,
+  45, 66, 74, 68, 76, 82, 85, 88, 96, 100, 100, 89, 91, 97, 103, 104,
+  97, 86, 75, 76, 79, 83, 83, 80, 77, 79, 80, 82, 87, 89, 92, 92,
+  90, 88, 87, 92, 93, 93, 93, 91, 93, 96, 101, 108, 110, 106, 98, 96,
+  101, 105, 107, 105, 107, 112, 116, 121, 123, 123, 122, 113, 108, 105, 102, 107,
+  107, 109, 105, 95, 94, 97, 97, 98, 92, 88, 83, 92, 92, 93, 89, 80,
+  69, 63, 64, 66, 52, 45, 49, 74, 73, 87, 70, 27, 7, 7, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  194, 69, 60, 51, 47, 72, 67, 75, 81, 84, 89, 98, 103, 104, 96, 90,
+  89, 98, 109, 109, 97, 82, 72, 77, 84, 84, 80, 77, 80, 83, 76, 82,
+  90, 94, 91, 88, 86, 86, 89, 93, 94, 93, 89, 90, 96, 102, 108, 111,
+  109, 102, 99, 100, 103, 105, 107, 108, 108, 112, 119, 123, 126, 127, 122, 116,
+  111, 106, 108, 106, 106, 102, 93, 91, 94, 93, 94, 88, 84, 80, 90, 92,
+  94, 94, 86, 74, 68, 68, 68, 45, 48, 57, 78, 84, 88, 27, 10, 27,
+  108, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 66, 67, 55, 35, 69, 68, 76, 81, 83, 87, 96, 102,
+  103, 103, 93, 87, 93, 107, 112, 106, 95, 80, 82, 86, 87, 86, 83, 83,
+  81, 72, 79, 87, 90, 86, 82, 79, 79, 86, 91, 94, 93, 87, 88, 95,
+  103, 104, 108, 107, 102, 97, 99, 99, 98, 108, 106, 108, 110, 115, 119, 122,
+  124, 124, 122, 120, 119, 117, 110, 100, 92, 87, 87, 87, 87, 86, 82, 76,
+  73, 87, 86, 87, 88, 79, 70, 64, 64, 57, 62, 64, 57, 78, 82, 70,
+  0, 20, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 192, 70, 60, 35, 63, 69, 77, 81, 81,
+  86, 93, 99, 100, 108, 99, 91, 92, 99, 106, 110, 107, 93, 87, 85, 86,
+  91, 90, 84, 75, 69, 75, 81, 84, 83, 80, 76, 76, 84, 90, 92, 92,
+  88, 89, 97, 102, 101, 105, 106, 102, 97, 98, 98, 96, 103, 103, 104, 108,
+  114, 117, 116, 117, 121, 123, 124, 126, 124, 116, 104, 95, 89, 88, 87, 86,
+  85, 81, 75, 71, 81, 78, 75, 74, 68, 60, 57, 57, 56, 76, 73, 64,
+  83, 53, 33, 5, 104, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 60, 43, 51, 68,
+  76, 82, 82, 86, 92, 97, 97, 107, 102, 97, 93, 94, 100, 109, 115, 102,
+  92, 84, 85, 92, 92, 84, 73, 70, 72, 75, 79, 83, 85, 84, 83, 83,
+  88, 89, 89, 88, 90, 96, 102, 101, 106, 107, 104, 100, 101, 102, 99, 96,
+  98, 102, 108, 114, 117, 116, 117, 121, 118, 116, 116, 117, 116, 111, 106, 93,
+  91, 90, 88, 86, 82, 77, 72, 83, 78, 75, 74, 70, 63, 61, 64, 66,
+  74, 73, 79, 83, 11, 0, 25, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 189,
+  56, 37, 65, 74, 82, 83, 87, 94, 99, 96, 102, 101, 99, 96, 94, 98,
+  108, 115, 108, 97, 90, 88, 93, 93, 88, 79, 74, 72, 70, 74, 80, 86,
+  87, 87, 84, 86, 88, 89, 90, 93, 98, 100, 101, 104, 105, 102, 101, 104,
+  107, 105, 100, 99, 103, 106, 112, 116, 116, 115, 117, 115, 110, 109, 111, 112,
+  110, 108, 98, 96, 94, 92, 90, 86, 80, 76, 83, 80, 78, 80, 79, 74,
+  71, 71, 70, 70, 79, 85, 66, 0, 0, 99, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 66, 27, 60, 70, 79, 83, 89, 95, 100, 99, 98, 98, 99,
+  98, 97, 100, 108, 112, 110, 103, 96, 93, 95, 95, 93, 88, 81, 74, 68,
+  71, 77, 84, 85, 83, 85, 85, 86, 88, 91, 95, 98, 98, 99, 102, 104,
+  101, 100, 105, 107, 107, 107, 105, 105, 106, 110, 112, 112, 111, 115, 113, 109,
+  109, 109, 107, 102, 98, 99, 97, 95, 93, 90, 86, 81, 77, 73, 71, 73,
+  78, 79, 73, 71, 70, 65, 69, 90, 82, 42, 0, 97, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 44, 52, 69, 83, 85, 86, 92, 99, 101,
+  98, 104, 102, 101, 108, 105, 102, 106, 108, 105, 103, 100, 98, 96, 95, 93,
+  86, 81, 70, 59, 58, 69, 80, 85, 85, 79, 78, 84, 92, 95, 97, 97,
+  97, 100, 103, 102, 100, 103, 109, 118, 114, 110, 106, 103, 104, 105, 106, 108,
+  117, 107, 100, 103, 106, 104, 99, 95, 94, 92, 89, 87, 86, 83, 80, 77,
+  71, 77, 84, 85, 79, 71, 65, 63, 66, 71, 89, 79, 0, 13, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 50, 64, 80, 84, 86,
+  91, 100, 100, 97, 103, 101, 100, 107, 106, 105, 110, 110, 107, 106, 104, 102,
+  99, 97, 94, 90, 87, 78, 67, 63, 67, 70, 70, 86, 82, 79, 80, 83,
+  86, 94, 102, 94, 97, 102, 104, 104, 107, 113, 116, 116, 113, 109, 106, 106,
+  107, 106, 106, 115, 108, 103, 105, 106, 103, 98, 96, 89, 87, 85, 85, 84,
+  83, 79, 77, 78, 82, 83, 82, 76, 68, 64, 63, 76, 72, 88, 36, 9,
+  85, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 61,
+  77, 83, 87, 92, 100, 99, 98, 102, 100, 98, 106, 107, 107, 114, 110, 109,
+  109, 108, 107, 103, 100, 96, 95, 93, 87, 76, 68, 64, 61, 55, 77, 77,
+  81, 82, 79, 79, 90, 101, 94, 94, 99, 105, 110, 111, 114, 114, 118, 116,
+  114, 111, 111, 111, 107, 105, 114, 108, 105, 106, 104, 99, 96, 96, 84, 82,
+  81, 81, 82, 81, 78, 76, 85, 86, 83, 80, 72, 68, 64, 64, 76, 76,
+  60, 0, 17, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 195, 83, 89, 93, 100, 100, 101, 105, 100, 98, 105, 106, 108,
+  116, 110, 110, 111, 112, 110, 106, 101, 94, 97, 99, 95, 85, 76, 69, 62,
+  53, 61, 65, 76, 82, 81, 79, 84, 91, 92, 93, 96, 103, 110, 114, 117,
+  116, 120, 117, 116, 116, 116, 113, 108, 106, 114, 110, 108, 109, 106, 99, 97,
+  98, 87, 85, 84, 84, 84, 83, 80, 78, 88, 86, 80, 76, 69, 66, 66,
+  67, 69, 84, 14, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 197, 91, 95, 101, 101, 105, 108, 102, 98,
+  105, 106, 107, 115, 109, 109, 112, 112, 111, 107, 102, 95, 98, 98, 96, 89,
+  83, 78, 72, 64, 58, 59, 65, 72, 77, 78, 81, 86, 92, 91, 94, 99,
+  107, 113, 118, 119, 120, 120, 118, 118, 118, 115, 110, 108, 115, 111, 110, 111,
+  108, 102, 98, 100, 94, 92, 90, 90, 89, 87, 84, 81, 86, 83, 77, 72,
+  68, 66, 68, 69, 65, 78, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 101, 102, 106,
+  109, 104, 100, 106, 106, 107, 114, 109, 109, 112, 112, 111, 107, 103, 96, 96,
+  97, 97, 92, 89, 86, 82, 75, 69, 63, 59, 60, 64, 69, 79, 89, 88,
+  89, 92, 97, 104, 112, 118, 121, 120, 120, 119, 119, 119, 119, 115, 111, 116,
+  111, 109, 112, 111, 106, 101, 101, 98, 97, 95, 94, 93, 91, 88, 87, 86,
+  83, 77, 72, 69, 68, 68, 67, 68, 47, 0, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 204, 104, 108, 104, 101, 108, 108, 109, 116, 111, 110, 112, 112, 111, 108,
+  105, 98, 92, 95, 98, 95, 94, 91, 86, 79, 80, 74, 67, 61, 56, 58,
+  72, 85, 81, 85, 91, 97, 101, 108, 116, 121, 120, 118, 117, 117, 119, 119,
+  117, 116, 119, 112, 110, 114, 117, 112, 106, 103, 99, 98, 96, 96, 96, 95,
+  92, 90, 88, 85, 80, 76, 72, 70, 65, 64, 61, 7, 86, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 204, 109, 105, 104, 112, 112, 110, 118, 113, 112, 113,
+  113, 112, 111, 106, 103, 93, 96, 99, 99, 96, 92, 86, 78, 82, 81, 78,
+  69, 56, 51, 61, 76, 74, 82, 91, 98, 101, 106, 113, 119, 119, 117, 117,
+  118, 120, 123, 121, 121, 120, 112, 109, 115, 120, 116, 109, 104, 97, 95, 95,
+  96, 97, 97, 95, 92, 90, 86, 83, 81, 77, 73, 68, 64, 50, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 112, 113, 113, 114, 114,
+  112, 111, 112, 114, 113, 112, 109, 105, 102, 101, 99, 96, 94, 94, 89, 82,
+  88, 86, 82, 76, 71, 64, 58, 55, 65, 74, 81, 82, 85, 95, 106, 110,
+  108, 113, 116, 119, 121, 121, 120, 119, 127, 119, 115, 120, 124, 121, 112, 108,
+  102, 100, 96, 95, 97, 97, 97, 94, 86, 83, 83, 81, 75, 69, 66, 67,
+  0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 113,
+  113, 114, 114, 112, 111, 112, 114, 114, 113, 111, 106, 105, 104, 102, 97, 96,
+  95, 90, 84, 86, 84, 81, 76, 71, 66, 62, 59, 48, 61, 76, 82, 86,
+  92, 97, 97, 106, 107, 110, 111, 115, 117, 119, 119, 123, 114, 110, 115, 119,
+  113, 107, 103, 100, 96, 93, 93, 95, 98, 98, 96, 91, 81, 79, 81, 78,
+  70, 71, 76, 89, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 208, 112, 111, 112, 111, 113, 115, 114, 113, 108, 106, 105,
+  103, 99, 97, 97, 92, 85, 85, 83, 81, 78, 74, 71, 68, 67, 44, 55,
+  68, 72, 78, 84, 91, 91, 106, 105, 106, 107, 110, 113, 118, 120, 119, 112,
+  109, 111, 114, 111, 105, 100, 93, 91, 89, 87, 91, 95, 97, 96, 89, 90,
+  83, 72, 71, 72, 67, 123, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 207, 111, 110, 111, 112, 114, 114, 112,
+  109, 105, 104, 103, 98, 97, 97, 92, 86, 86, 85, 82, 80, 77, 75, 73,
+  73, 61, 62, 61, 56, 59, 70, 85, 91, 99, 99, 101, 102, 106, 109, 114,
+  116, 117, 108, 106, 110, 112, 106, 101, 99, 90, 87, 87, 89, 92, 95, 95,
+  92, 82, 95, 89, 67, 65, 74, 120, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 109, 112,
+  114, 115, 111, 109, 102, 103, 101, 97, 96, 96, 92, 85, 89, 88, 85, 82,
+  79, 77, 76, 76, 76, 70, 60, 47, 46, 57, 73, 79, 86, 87, 92, 95,
+  100, 103, 106, 106, 107, 100, 98, 101, 102, 98, 94, 91, 86, 87, 89, 90,
+  92, 91, 88, 84, 86, 90, 86, 79, 76, 128, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 206, 111, 112, 111, 108, 101, 102, 101, 97, 96, 96, 92, 86, 91,
+  89, 86, 83, 80, 79, 78, 78, 77, 74, 66, 54, 51, 54, 60, 60, 75,
+  78, 83, 88, 94, 98, 101, 101, 101, 95, 94, 97, 97, 92, 87, 87, 84,
+  83, 85, 88, 89, 86, 81, 78, 97, 78, 75, 89, 81, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 207, 109, 106, 102, 103, 102, 98, 97, 98,
+  94, 87, 90, 89, 85, 83, 81, 80, 81, 81, 77, 77, 76, 68, 64, 62,
+  58, 52, 63, 64, 69, 73, 80, 86, 93, 95, 95, 90, 89, 92, 89, 84,
+  81, 81, 79, 78, 77, 77, 78, 78, 75, 76, 91, 74, 70, 73, 119, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 103, 105, 103,
+  100, 99, 99, 95, 89, 89, 87, 84, 82, 81, 82, 83, 84, 80, 82, 83,
+  77, 74, 70, 64, 56, 48, 48, 50, 53, 62, 70, 79, 83, 85, 80, 80,
+  83, 79, 74, 71, 72, 76, 73, 70, 68, 70, 72, 72, 75, 74, 83, 75,
+  113, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 204, 101, 100, 97, 94, 91, 89, 86, 88, 89, 87, 84, 80, 79, 79,
+  81, 82, 82, 75, 70, 67, 63, 57, 57, 64, 43, 30, 57, 40, 66, 68,
+  67, 68, 69, 71, 71, 70, 66, 65, 62, 59, 60, 65, 70, 70, 62, 59,
+  72, 62, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 100, 98, 95, 92, 90, 87, 88, 89, 87, 83,
+  80, 79, 79, 84, 86, 85, 78, 74, 72, 70, 64, 67, 72, 55, 49, 51,
+  24, 30, 22, 32, 31, 33, 32, 35, 33, 32, 30, 38, 37, 38, 40, 44,
+  114, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 202, 92, 90, 88, 89,
+  89, 86, 83, 80, 80, 80, 83, 84, 83, 76, 73, 72, 72, 68, 68, 66,
+  56, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 200, 89, 88, 85, 82, 80, 81, 82, 83, 84, 83, 76, 74, 75, 76,
+  73, 72, 60, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 84, 82, 81, 83, 86, 89, 90, 89, 82,
+  81, 83, 85, 82, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 90, 89,
+  90, 90, 85, 84, 142, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255 };
+/* Define image 'enemy12' of size 114x138x1x3 and type 'const unsigned char' */
+const unsigned char data_enemy12[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 190, 74, 93, 97, 72, 107, 211, 255, 255, 255, 255,
+  255, 255, 255, 219, 119, 54, 68, 102, 122, 127, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196,
+  94, 87, 82, 86, 84, 68, 68, 65, 63, 67, 70, 59, 46, 50, 63, 61,
+  53, 58, 59, 58, 59, 64, 61, 64, 75, 96, 110, 109, 98, 64, 49, 31,
+  20, 21, 101, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 180, 43, 48, 43, 35, 27, 36,
+  49, 76, 90, 81, 75, 76, 72, 78, 77, 71, 63, 61, 61, 50, 39, 53,
+  59, 54, 50, 61, 60, 57, 61, 42, 44, 52, 69, 94, 107, 97, 81, 70,
+  57, 43, 33, 32, 33, 29, 24, 78, 204, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 179, 27, 31, 39, 43, 41, 41,
+  41, 52, 54, 72, 77, 65, 61, 62, 61, 67, 68, 64, 57, 56, 56, 54,
+  50, 60, 55, 47, 50, 61, 55, 49, 56, 47, 49, 51, 54, 66, 77, 81,
+  78, 73, 63, 52, 48, 46, 43, 33, 25, 29, 25, 22, 101, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176, 30, 31, 34, 42, 49,
+  53, 64, 70, 74, 67, 70, 65, 52, 49, 53, 53, 48, 50, 52, 49, 50,
+  54, 58, 61, 63, 55, 49, 57, 62, 45, 38, 51, 54, 61, 63, 54, 46,
+  52, 68, 81, 71, 66, 61, 59, 59, 53, 41, 31, 29, 26, 25, 24, 26,
+  102, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 178, 25, 29, 35, 39, 50,
+  63, 70, 74, 84, 88, 84, 71, 68, 63, 49, 46, 48, 44, 46, 48, 49,
+  48, 47, 47, 49, 55, 61, 60, 60, 69, 67, 44, 37, 56, 53, 63, 70,
+  66, 61, 60, 67, 70, 66, 62, 60, 61, 65, 61, 49, 38, 31, 28, 26,
+  25, 26, 28, 26, 100, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 20, 21, 29, 39, 42,
+  50, 64, 82, 89, 90, 88, 85, 78, 67, 68, 66, 56, 53, 49, 38, 47,
+  48, 51, 53, 53, 49, 48, 53, 60, 65, 67, 75, 73, 52, 48, 67, 80,
+  73, 64, 60, 67, 72, 66, 57, 56, 54, 51, 54, 59, 57, 48, 39, 38,
+  35, 30, 26, 28, 31, 29, 22, 21, 91, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 26, 26, 26, 27, 36,
+  48, 57, 58, 66, 80, 88, 88, 85, 82, 79, 64, 64, 67, 63, 65, 62,
+  51, 52, 51, 56, 63, 64, 59, 56, 58, 62, 68, 68, 72, 73, 58, 55,
+  71, 96, 83, 67, 59, 63, 71, 67, 59, 59, 54, 50, 52, 59, 60, 54,
+  45, 48, 44, 36, 28, 29, 32, 30, 20, 20, 7, 12, 96, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 183, 35, 39, 46, 50,
+  47, 52, 59, 72, 64, 59, 65, 73, 78, 82, 83, 84, 66, 60, 63, 64,
+  73, 79, 73, 63, 61, 64, 71, 69, 61, 54, 54, 66, 68, 62, 61, 65,
+  58, 54, 65, 71, 78, 81, 78, 75, 72, 71, 67, 73, 67, 61, 62, 69,
+  71, 67, 61, 58, 53, 43, 32, 31, 35, 31, 21, 18, 6, 8, 13, 92,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 48, 53, 62,
+  73, 79, 77, 70, 64, 76, 75, 80, 84, 83, 75, 74, 77, 71, 73, 64,
+  54, 59, 74, 72, 59, 61, 60, 61, 79, 94, 83, 66, 70, 73, 73, 73,
+  73, 72, 66, 59, 53, 61, 71, 79, 78, 69, 63, 66, 70, 81, 79, 75,
+  71, 68, 66, 69, 74, 77, 69, 58, 51, 40, 32, 35, 41, 31, 25, 21,
+  17, 14, 14, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63, 58, 71,
+  72, 74, 74, 74, 76, 80, 83, 75, 71, 70, 74, 73, 68, 66, 66, 64,
+  64, 57, 46, 51, 64, 62, 49, 58, 65, 64, 65, 75, 74, 66, 66, 66,
+  62, 58, 56, 58, 57, 53, 50, 54, 59, 65, 70, 71, 69, 65, 63, 80,
+  74, 70, 74, 84, 88, 80, 70, 62, 60, 63, 65, 60, 44, 33, 26, 25,
+  21, 18, 13, 10, 8, 9, 91, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 67, 70,
+  69, 74, 73, 68, 62, 58, 62, 72, 81, 73, 65, 59, 62, 65, 63, 58,
+  52, 54, 52, 45, 35, 38, 48, 47, 35, 38, 54, 50, 38, 45, 55, 54,
+  53, 61, 53, 43, 39, 42, 44, 43, 41, 49, 53, 58, 58, 56, 55, 56,
+  58, 56, 68, 76, 75, 76, 80, 81, 76, 82, 75, 69, 70, 68, 54, 39,
+  26, 26, 23, 20, 16, 12, 11, 9, 10, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191,
+  66, 69, 71, 74, 68, 63, 58, 57, 62, 70, 76, 73, 63, 55, 57, 62,
+  60, 50, 39, 41, 39, 35, 25, 29, 36, 38, 27, 44, 53, 49, 38, 50,
+  60, 63, 65, 63, 53, 41, 35, 38, 41, 40, 38, 44, 51, 53, 43, 31,
+  28, 39, 51, 45, 58, 67, 63, 62, 73, 81, 81, 97, 86, 75, 72, 71,
+  66, 52, 39, 34, 29, 21, 15, 12, 10, 12, 12, 10, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  194, 67, 61, 61, 62, 61, 51, 42, 40, 47, 55, 61, 63, 71, 64, 57,
+  57, 61, 59, 46, 31, 31, 29, 26, 19, 24, 31, 34, 27, 28, 25, 18,
+  19, 35, 39, 37, 43, 59, 53, 44, 41, 44, 46, 46, 44, 39, 42, 42,
+  37, 31, 30, 37, 43, 52, 43, 36, 38, 60, 82, 86, 78, 86, 81, 76,
+  78, 81, 77, 62, 45, 43, 36, 24, 15, 9, 9, 10, 12, 19, 18, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  193, 76, 76, 68, 59, 58, 62, 55, 40, 29, 26, 37, 47, 54, 53, 62,
+  57, 54, 50, 53, 50, 42, 29, 23, 23, 21, 18, 21, 29, 32, 30, 37,
+  32, 22, 27, 43, 43, 38, 44, 46, 44, 41, 40, 43, 45, 46, 46, 44,
+  39, 38, 45, 56, 60, 53, 43, 37, 30, 27, 34, 49, 66, 75, 78, 94,
+  89, 82, 77, 75, 76, 68, 59, 57, 48, 35, 22, 15, 13, 13, 14, 26,
+  13, 89, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 190, 67, 76, 80, 71, 61, 62, 68, 60, 50, 45, 44, 50, 54, 56,
+  53, 44, 45, 44, 36, 36, 37, 37, 31, 19, 18, 17, 15, 18, 25, 28,
+  28, 25, 31, 24, 19, 31, 40, 37, 38, 44, 45, 45, 42, 42, 41, 44,
+  47, 50, 46, 45, 49, 58, 60, 56, 49, 21, 27, 39, 48, 42, 37, 48,
+  69, 91, 90, 83, 73, 70, 74, 77, 75, 70, 63, 50, 37, 26, 21, 18,
+  17, 19, 10, 10, 96, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 197, 73, 77, 86, 88, 77, 64, 63, 68, 40, 42, 46, 49, 48,
+  43, 36, 31, 31, 36, 34, 25, 22, 27, 33, 32, 18, 17, 15, 14, 16,
+  22, 25, 26, 29, 49, 44, 28, 38, 57, 60, 56, 57, 59, 58, 52, 47,
+  44, 47, 52, 47, 51, 51, 41, 30, 29, 39, 49, 34, 31, 45, 61, 57,
+  38, 34, 43, 48, 64, 77, 80, 80, 82, 81, 76, 71, 66, 56, 43, 31,
+  22, 16, 12, 3, 13, 24, 24, 90, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 192, 64, 65, 62, 64, 69, 61, 49, 52, 61, 58, 45, 33,
+  30, 34, 35, 29, 22, 28, 28, 28, 28, 27, 24, 22, 21, 15, 15, 16,
+  15, 14, 17, 24, 29, 27, 31, 34, 32, 29, 29, 33, 38, 46, 49, 48,
+  41, 36, 33, 39, 45, 55, 53, 50, 48, 49, 47, 45, 42, 29, 28, 32,
+  35, 37, 40, 42, 44, 47, 54, 62, 69, 74, 76, 80, 81, 77, 79, 69,
+  58, 52, 38, 26, 30, 32, 23, 10, 10, 24, 100, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 200, 90, 91, 74, 70, 71, 73, 69, 56, 47, 43, 42,
+  34, 29, 28, 32, 33, 32, 29, 21, 22, 22, 21, 20, 18, 16, 15, 18,
+  17, 15, 13, 11, 12, 14, 17, 14, 20, 26, 30, 30, 31, 33, 37, 40,
+  46, 50, 50, 46, 38, 32, 30, 37, 35, 33, 34, 36, 35, 31, 25, 26,
+  25, 27, 30, 33, 35, 37, 37, 49, 49, 49, 49, 51, 54, 61, 64, 73,
+  76, 73, 68, 67, 55, 42, 40, 32, 27, 16, 13, 23, 19, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 84, 80, 77, 74, 70, 65, 60, 61, 59, 49,
+  37, 28, 27, 28, 28, 27, 28, 29, 30, 22, 22, 21, 20, 19, 18, 17,
+  16, 20, 17, 15, 13, 13, 13, 12, 11, 12, 18, 26, 32, 35, 35, 35,
+  36, 27, 33, 40, 48, 52, 48, 40, 34, 37, 35, 35, 38, 43, 43, 37,
+  30, 33, 32, 34, 35, 37, 37, 38, 38, 42, 41, 41, 42, 46, 51, 59,
+  63, 60, 66, 66, 68, 72, 63, 47, 42, 35, 33, 25, 23, 31, 32, 33,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 195, 71, 59, 48, 65, 66, 56, 45, 49,
+  60, 61, 49, 28, 30, 33, 31, 24, 20, 21, 23, 23, 22, 20, 19, 18,
+  18, 18, 18, 19, 16, 15, 16, 21, 21, 21, 17, 19, 20, 26, 29, 32,
+  31, 30, 28, 26, 26, 28, 36, 48, 52, 49, 44, 49, 45, 44, 48, 55,
+  57, 52, 46, 45, 43, 43, 42, 42, 39, 37, 37, 34, 35, 40, 47, 53,
+  58, 62, 62, 71, 79, 78, 80, 88, 84, 67, 60, 40, 39, 32, 34, 49,
+  52, 56, 130, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 82, 69, 55, 61, 67, 62,
+  46, 43, 56, 62, 57, 33, 37, 39, 35, 27, 20, 19, 21, 20, 18, 16,
+  14, 13, 14, 15, 16, 20, 16, 18, 19, 26, 27, 28, 24, 24, 19, 19,
+  18, 23, 23, 23, 21, 36, 30, 27, 32, 43, 48, 44, 38, 45, 41, 38,
+  40, 47, 51, 51, 49, 47, 47, 44, 42, 38, 34, 29, 28, 33, 34, 37,
+  44, 50, 54, 56, 54, 74, 82, 78, 77, 87, 89, 79, 74, 56, 51, 40,
+  44, 60, 62, 61, 66, 211, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 86, 88, 84, 74, 62, 56,
+  68, 68, 52, 42, 43, 45, 41, 37, 37, 37, 35, 31, 27, 24, 23, 20,
+  18, 15, 12, 12, 14, 16, 18, 21, 20, 19, 21, 24, 27, 28, 28, 28,
+  22, 16, 16, 21, 26, 26, 24, 29, 26, 26, 34, 46, 49, 41, 33, 37,
+  35, 33, 34, 39, 43, 47, 49, 49, 47, 45, 42, 38, 32, 28, 25, 30,
+  28, 29, 33, 45, 54, 59, 62, 63, 71, 65, 59, 68, 76, 74, 75, 80,
+  72, 60, 59, 70, 66, 55, 53, 90, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 87, 76, 68, 65,
+  63, 58, 65, 63, 51, 39, 34, 33, 33, 37, 35, 32, 32, 35, 34, 30,
+  25, 27, 24, 20, 17, 17, 19, 22, 25, 22, 22, 23, 23, 23, 26, 30,
+  33, 36, 28, 20, 20, 27, 31, 30, 27, 26, 24, 26, 34, 45, 48, 41,
+  33, 31, 33, 35, 35, 37, 39, 44, 50, 49, 49, 47, 43, 39, 35, 32,
+  31, 25, 24, 28, 36, 51, 61, 66, 66, 65, 74, 65, 54, 61, 71, 75,
+  78, 87, 84, 73, 71, 77, 65, 51, 48, 37, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 96, 87, 70,
+  60, 64, 73, 66, 65, 57, 47, 39, 36, 40, 45, 43, 36, 29, 30, 36,
+  38, 32, 24, 29, 26, 22, 20, 19, 22, 28, 30, 23, 25, 26, 26, 26,
+  30, 37, 43, 39, 30, 22, 20, 26, 29, 25, 20, 38, 33, 30, 33, 39,
+  40, 35, 29, 21, 27, 32, 33, 31, 32, 37, 43, 44, 44, 43, 41, 40,
+  38, 36, 33, 27, 29, 35, 45, 54, 59, 55, 49, 59, 69, 59, 43, 47,
+  55, 60, 63, 73, 76, 71, 70, 71, 58, 46, 45, 35, 108, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 198, 83,
+  75, 70, 70, 71, 69, 50, 60, 58, 42, 40, 50, 51, 43, 38, 41, 31,
+  20, 25, 28, 25, 30, 24, 25, 27, 27, 24, 22, 27, 33, 25, 25, 34,
+  35, 27, 28, 37, 37, 30, 24, 24, 31, 31, 21, 16, 19, 14, 21, 26,
+  28, 34, 40, 40, 34, 26, 25, 26, 32, 38, 38, 33, 26, 33, 26, 27,
+  36, 41, 39, 35, 35, 27, 35, 43, 49, 53, 55, 51, 46, 68, 65, 58,
+  49, 44, 42, 46, 48, 44, 64, 61, 64, 60, 51, 50, 30, 30, 34, 112,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  73, 65, 64, 73, 78, 70, 55, 57, 54, 39, 28, 38, 58, 55, 42, 41,
+  44, 33, 22, 26, 26, 21, 22, 21, 24, 28, 29, 29, 29, 33, 36, 37,
+  32, 33, 29, 23, 30, 44, 43, 44, 39, 36, 38, 34, 27, 21, 19, 21,
+  26, 29, 29, 34, 40, 42, 36, 29, 25, 23, 26, 32, 37, 38, 35, 26,
+  23, 28, 36, 39, 34, 31, 30, 40, 49, 53, 51, 46, 46, 47, 48, 58,
+  59, 54, 46, 39, 36, 40, 43, 38, 60, 62, 63, 54, 45, 50, 34, 18,
+  18, 21, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 191, 67, 70, 69, 68, 69, 67, 60, 51, 46, 35, 27, 35, 50, 50,
+  37, 40, 45, 37, 30, 34, 34, 27, 26, 24, 28, 30, 31, 33, 35, 36,
+  37, 45, 39, 38, 32, 27, 38, 50, 46, 48, 46, 42, 36, 34, 33, 28,
+  22, 32, 36, 37, 35, 36, 41, 43, 41, 38, 29, 22, 21, 26, 33, 40,
+  43, 37, 34, 37, 40, 38, 34, 33, 34, 51, 57, 59, 50, 41, 39, 43,
+  48, 49, 52, 51, 44, 37, 34, 36, 39, 49, 63, 58, 57, 55, 49, 51,
+  31, 18, 16, 16, 94, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 61, 67, 73, 73, 71, 68, 63, 60, 33, 45, 50, 42, 31,
+  31, 35, 38, 30, 42, 41, 36, 40, 40, 35, 38, 35, 35, 33, 32, 36,
+  41, 44, 44, 49, 51, 56, 51, 47, 57, 62, 50, 46, 49, 45, 34, 34,
+  39, 39, 28, 39, 41, 44, 45, 46, 48, 48, 45, 46, 36, 27, 24, 28,
+  36, 45, 49, 56, 55, 52, 47, 42, 39, 40, 43, 51, 55, 55, 46, 36,
+  35, 37, 41, 40, 46, 49, 45, 40, 36, 39, 43, 55, 57, 43, 48, 60,
+  61, 59, 32, 26, 24, 24, 18, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 68, 77, 66, 58, 67, 83, 81, 62, 43, 32, 45, 53,
+  46, 31, 25, 32, 42, 25, 42, 45, 39, 36, 32, 31, 39, 43, 43, 37,
+  33, 40, 52, 61, 60, 65, 73, 80, 70, 63, 74, 80, 67, 58, 59, 52,
+  40, 41, 47, 49, 41, 41, 41, 48, 55, 59, 56, 50, 46, 50, 44, 37,
+  36, 41, 48, 56, 60, 68, 72, 76, 71, 63, 55, 49, 45, 52, 54, 53,
+  45, 41, 39, 33, 29, 33, 39, 44, 43, 41, 39, 41, 44, 41, 49, 39,
+  46, 57, 63, 69, 50, 30, 31, 30, 22, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 65, 74, 67, 67, 72, 77, 71, 58, 48, 48,
+  42, 36, 34, 33, 35, 39, 46, 37, 55, 56, 45, 39, 33, 31, 39, 51,
+  50, 41, 36, 48, 69, 81, 80, 84, 96, 100, 79, 63, 80, 98, 92, 79,
+  73, 62, 52, 48, 51, 52, 47, 44, 43, 52, 63, 73, 67, 55, 45, 49,
+  48, 47, 50, 55, 62, 68, 72, 78, 90, 104, 106, 99, 84, 66, 49, 55,
+  57, 58, 53, 49, 43, 34, 25, 30, 33, 36, 38, 39, 39, 39, 40, 40,
+  61, 60, 59, 54, 53, 71, 64, 35, 34, 32, 24, 95, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 62, 60, 63, 73, 85, 84, 70, 55, 56,
+  66, 58, 41, 28, 30, 38, 41, 40, 42, 50, 61, 57, 47, 47, 45, 44,
+  49, 62, 59, 51, 46, 59, 80, 90, 88, 93, 111, 116, 85, 63, 83, 111,
+  111, 101, 88, 74, 66, 60, 56, 56, 59, 59, 53, 59, 76, 86, 81, 63,
+  51, 50, 49, 52, 56, 59, 63, 68, 71, 83, 99, 114, 121, 118, 104, 79,
+  58, 54, 59, 63, 60, 54, 48, 41, 34, 34, 33, 33, 34, 38, 38, 36,
+  34, 43, 62, 59, 56, 49, 47, 63, 55, 38, 32, 27, 22, 21, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 80, 64, 70, 76, 83, 86, 77,
+  65, 62, 68, 56, 42, 34, 39, 41, 37, 34, 36, 45, 54, 47, 42, 53,
+  58, 56, 61, 74, 72, 63, 55, 67, 86, 94, 87, 92, 117, 125, 92, 64,
+  83, 113, 117, 121, 103, 89, 82, 76, 69, 69, 76, 75, 66, 70, 85, 98,
+  93, 73, 59, 53, 52, 53, 54, 56, 56, 60, 63, 83, 97, 109, 114, 114,
+  105, 84, 61, 46, 59, 68, 64, 57, 50, 49, 46, 40, 36, 33, 34, 38,
+  39, 35, 30, 31, 39, 29, 35, 45, 51, 58, 40, 35, 24, 15, 15, 21,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 190, 62, 69, 78, 76, 69,
+  67, 73, 78, 67, 52, 49, 44, 41, 39, 34, 27, 24, 27, 38, 43, 44,
+  48, 58, 66, 68, 66, 75, 79, 88, 97, 102, 102, 106, 112, 122, 119, 124,
+  128, 110, 80, 93, 140, 142, 131, 118, 106, 97, 86, 79, 75, 71, 74, 82,
+  94, 114, 121, 102, 77, 64, 61, 63, 61, 61, 49, 41, 61, 79, 107, 111,
+  99, 102, 105, 86, 64, 47, 47, 66, 61, 36, 48, 61, 37, 35, 34, 33,
+  33, 35, 35, 31, 29, 24, 24, 28, 32, 33, 34, 43, 52, 47, 43, 35,
+  23, 17, 98, 255, 255, 255, 255, 255, 255, 255, 255, 255, 69, 64, 65, 72,
+  85, 96, 91, 78, 64, 47, 34, 49, 39, 30, 30, 33, 29, 25, 24, 37,
+  48, 54, 57, 60, 70, 80, 86, 80, 87, 99, 110, 116, 117, 122, 129, 139,
+  139, 143, 151, 135, 105, 113, 153, 150, 147, 144, 136, 112, 85, 74, 75, 82,
+  78, 80, 94, 121, 133, 115, 85, 71, 70, 69, 69, 79, 74, 63, 70, 85,
+  94, 101, 98, 101, 106, 91, 64, 62, 46, 54, 56, 35, 24, 33, 33, 31,
+  29, 29, 28, 27, 26, 26, 26, 40, 37, 36, 37, 36, 35, 44, 53, 48,
+  45, 41, 39, 42, 45, 255, 255, 255, 255, 255, 255, 255, 255, 255, 70, 61,
+  55, 60, 71, 76, 67, 54, 46, 42, 41, 52, 37, 27, 31, 42, 44, 39,
+  35, 54, 60, 64, 66, 73, 80, 83, 84, 97, 102, 115, 128, 135, 137, 141,
+  147, 151, 155, 160, 168, 156, 125, 124, 156, 161, 160, 164, 159, 137, 103, 78,
+  70, 75, 78, 86, 101, 125, 136, 121, 94, 75, 78, 74, 75, 83, 75, 62,
+  57, 65, 69, 97, 122, 124, 120, 101, 65, 60, 57, 62, 67, 54, 33, 29,
+  37, 29, 27, 26, 25, 25, 27, 29, 32, 30, 29, 32, 38, 41, 41, 49,
+  54, 52, 51, 51, 57, 67, 68, 255, 255, 255, 255, 255, 255, 255, 255, 75,
+  67, 56, 50, 53, 51, 45, 41, 44, 49, 53, 55, 47, 35, 29, 37, 50,
+  54, 52, 51, 55, 71, 82, 82, 80, 87, 97, 106, 124, 122, 128, 141, 152,
+  155, 156, 157, 161, 164, 170, 178, 169, 137, 127, 147, 164, 166, 163, 157, 148,
+  129, 95, 62, 56, 70, 88, 104, 122, 131, 121, 103, 76, 80, 77, 90, 98,
+  79, 63, 56, 54, 54, 98, 137, 129, 118, 104, 72, 61, 75, 73, 57, 48,
+  40, 33, 31, 33, 28, 25, 26, 32, 38, 40, 41, 16, 17, 25, 35, 41,
+  40, 40, 42, 42, 44, 50, 61, 73, 73, 255, 255, 255, 255, 255, 255, 255,
+  255, 79, 68, 55, 45, 44, 46, 51, 56, 58, 54, 49, 46, 35, 31, 31,
+  38, 46, 47, 47, 51, 38, 64, 85, 84, 79, 95, 128, 157, 142, 133, 132,
+  144, 158, 165, 164, 162, 173, 176, 181, 187, 181, 151, 131, 136, 158, 173, 169,
+  149, 144, 145, 117, 76, 59, 63, 73, 90, 119, 142, 138, 121, 93, 80, 65,
+  105, 136, 114, 95, 78, 62, 56, 92, 122, 106, 98, 103, 92, 96, 100, 86,
+  61, 47, 38, 36, 40, 41, 31, 22, 25, 34, 42, 41, 38, 31, 27, 25,
+  31, 34, 29, 25, 23, 25, 33, 43, 55, 66, 68, 255, 255, 255, 255, 255,
+  255, 255, 199, 77, 60, 47, 40, 31, 42, 55, 57, 47, 34, 34, 40, 33,
+  31, 33, 37, 38, 36, 38, 46, 50, 52, 53, 61, 85, 118, 143, 156, 141,
+  135, 135, 148, 164, 169, 170, 171, 180, 182, 184, 188, 186, 159, 133, 130, 158,
+  186, 191, 162, 149, 153, 142, 113, 93, 75, 60, 76, 125, 165, 165, 143, 122,
+  91, 48, 93, 146, 136, 116, 80, 53, 52, 82, 112, 110, 109, 117, 116, 102,
+  89, 88, 91, 71, 38, 31, 41, 40, 30, 20, 21, 29, 34, 32, 28, 49,
+  38, 27, 27, 29, 28, 28, 28, 29, 37, 46, 52, 57, 58, 255, 255, 255,
+  255, 255, 255, 255, 82, 65, 49, 45, 46, 33, 33, 37, 34, 24, 16, 24,
+  36, 33, 29, 30, 32, 33, 33, 40, 49, 64, 52, 45, 64, 107, 137, 138,
+  124, 136, 141, 151, 162, 170, 172, 177, 181, 183, 184, 183, 187, 189, 165, 136,
+  128, 156, 178, 187, 171, 160, 158, 153, 139, 125, 101, 77, 87, 133, 173, 176,
+  155, 145, 121, 59, 75, 119, 123, 119, 79, 49, 49, 69, 102, 127, 136, 134,
+  129, 84, 67, 82, 97, 68, 34, 27, 24, 31, 28, 23, 22, 25, 28, 29,
+  30, 44, 34, 25, 29, 35, 37, 34, 36, 37, 43, 49, 53, 57, 59, 255,
+  255, 255, 255, 255, 255, 255, 81, 58, 46, 51, 62, 51, 38, 30, 31, 31,
+  25, 22, 22, 30, 25, 20, 23, 28, 33, 44, 55, 50, 65, 84, 104, 125,
+  137, 134, 128, 133, 147, 167, 177, 176, 173, 178, 189, 189, 190, 186, 190, 195,
+  174, 144, 133, 148, 152, 159, 164, 166, 162, 149, 140, 137, 124, 107, 109, 136,
+  165, 169, 158, 153, 153, 87, 73, 95, 111, 134, 103, 77, 65, 59, 81, 123,
+  143, 138, 132, 115, 100, 104, 94, 56, 48, 55, 37, 25, 29, 31, 30, 28,
+  28, 36, 42, 35, 28, 28, 35, 43, 41, 33, 27, 29, 34, 40, 50, 62,
+  69, 128, 255, 255, 255, 255, 255, 198, 77, 50, 40, 55, 37, 31, 40, 34,
+  36, 52, 43, 26, 29, 32, 33, 32, 30, 31, 34, 39, 43, 57, 90, 120,
+  130, 130, 132, 145, 158, 154, 156, 163, 168, 175, 181, 185, 187, 185, 190, 193,
+  196, 195, 183, 158, 135, 150, 155, 161, 165, 165, 162, 160, 158, 156, 145, 133,
+  128, 132, 142, 152, 157, 171, 154, 122, 92, 83, 97, 116, 128, 124, 119, 119,
+  127, 129, 126, 134, 148, 164, 141, 114, 101, 95, 83, 57, 36, 40, 34, 31,
+  33, 38, 41, 37, 34, 26, 29, 33, 37, 39, 38, 33, 27, 28, 29, 29,
+  32, 49, 68, 69, 255, 255, 255, 255, 255, 86, 81, 57, 41, 56, 51, 36,
+  41, 39, 42, 47, 42, 33, 33, 45, 42, 37, 35, 37, 39, 41, 44, 84,
+  109, 131, 138, 138, 143, 154, 162, 167, 169, 173, 177, 183, 186, 188, 190, 186,
+  190, 191, 193, 195, 188, 168, 149, 154, 157, 162, 165, 164, 161, 157, 155, 159,
+  154, 146, 140, 139, 145, 155, 162, 173, 161, 139, 111, 90, 89, 106, 123, 154,
+  158, 157, 151, 147, 149, 149, 149, 146, 137, 124, 116, 109, 94, 71, 52, 53,
+  44, 41, 42, 44, 41, 36, 31, 30, 31, 33, 35, 37, 37, 36, 30, 34,
+  33, 27, 27, 46, 66, 58, 255, 255, 255, 255, 255, 91, 82, 62, 35, 42,
+  49, 37, 36, 45, 49, 41, 40, 42, 36, 42, 38, 34, 34, 40, 47, 54,
+  61, 105, 121, 135, 141, 147, 156, 167, 171, 175, 177, 180, 182, 185, 184, 183,
+  183, 187, 189, 189, 190, 194, 193, 181, 168, 164, 166, 167, 168, 167, 163, 159,
+  156, 163, 163, 162, 157, 154, 156, 163, 170, 175, 170, 159, 139, 110, 94, 105,
+  128, 171, 182, 180, 165, 158, 161, 157, 146, 136, 139, 140, 138, 128, 109, 90,
+  75, 68, 58, 53, 56, 56, 46, 39, 35, 34, 32, 32, 34, 36, 35, 33,
+  30, 33, 33, 26, 25, 50, 76, 64, 255, 255, 255, 255, 205, 89, 76, 63,
+  32, 31, 41, 32, 32, 49, 53, 37, 39, 47, 36, 34, 32, 34, 35, 41,
+  49, 64, 82, 108, 120, 129, 139, 152, 165, 174, 174, 177, 178, 181, 183, 184,
+  182, 179, 178, 186, 189, 188, 189, 194, 196, 189, 179, 174, 174, 173, 174, 173,
+  170, 165, 162, 165, 167, 171, 169, 170, 169, 174, 177, 177, 173, 171, 162, 138,
+  119, 127, 153, 177, 184, 184, 176, 169, 167, 161, 151, 151, 153, 156, 153, 142,
+  128, 113, 102, 91, 80, 74, 77, 76, 63, 50, 43, 39, 34, 34, 38, 39,
+  35, 30, 28, 28, 33, 28, 25, 48, 75, 64, 255, 255, 255, 255, 99, 81,
+  67, 61, 39, 38, 43, 28, 30, 46, 50, 36, 40, 48, 35, 36, 37, 41,
+  41, 41, 46, 69, 94, 113, 122, 132, 145, 160, 173, 179, 176, 180, 182, 187,
+  189, 189, 187, 184, 183, 185, 189, 189, 190, 194, 196, 190, 181, 181, 179, 178,
+  179, 180, 179, 175, 171, 170, 171, 174, 177, 183, 184, 183, 180, 183, 176, 175,
+  176, 164, 151, 157, 177, 186, 182, 183, 188, 186, 175, 169, 169, 170, 167, 160,
+  156, 151, 144, 139, 135, 123, 115, 106, 106, 101, 87, 67, 52, 41, 37, 39,
+  44, 44, 35, 27, 25, 27, 35, 33, 26, 37, 57, 50, 255, 255, 255, 255,
+  103, 82, 63, 49, 39, 45, 37, 29, 32, 39, 39, 36, 44, 47, 38, 36,
+  37, 43, 47, 48, 55, 80, 108, 124, 134, 146, 155, 166, 177, 181, 178, 180,
+  182, 186, 188, 189, 188, 187, 186, 185, 189, 189, 189, 192, 194, 189, 182, 186,
+  183, 180, 181, 183, 183, 180, 176, 177, 176, 178, 184, 191, 193, 189, 184, 189,
+  181, 177, 179, 178, 174, 176, 186, 192, 186, 183, 193, 192, 181, 175, 179, 179,
+  171, 163, 159, 158, 159, 159, 159, 154, 152, 143, 131, 124, 113, 88, 62, 46,
+  41, 43, 51, 48, 36, 26, 23, 22, 30, 32, 28, 35, 48, 47, 255, 255,
+  255, 200, 106, 89, 61, 32, 33, 50, 30, 35, 39, 29, 23, 37, 49, 47,
+  44, 38, 33, 37, 46, 53, 63, 85, 112, 131, 144, 154, 160, 167, 175, 181,
+  182, 178, 179, 181, 183, 184, 184, 184, 186, 187, 189, 187, 185, 187, 191, 189,
+  184, 193, 189, 185, 185, 188, 188, 186, 182, 186, 187, 190, 194, 196, 196, 193,
+  191, 191, 186, 182, 182, 184, 186, 186, 187, 189, 185, 183, 186, 187, 185, 181,
+  180, 177, 175, 173, 171, 172, 171, 171, 171, 171, 176, 169, 153, 146, 141, 112,
+  77, 54, 45, 46, 53, 51, 36, 26, 26, 20, 23, 25, 29, 38, 47, 48,
+  255, 255, 255, 77, 95, 88, 55, 20, 31, 58, 33, 41, 45, 23, 12, 37,
+  52, 48, 50, 49, 40, 35, 45, 56, 63, 79, 97, 130, 144, 154, 157, 161,
+  170, 179, 184, 181, 181, 182, 182, 184, 185, 186, 187, 188, 189, 185, 182, 184,
+  189, 190, 188, 199, 196, 191, 190, 192, 192, 189, 185, 191, 195, 200, 200, 197,
+  195, 194, 196, 190, 190, 187, 183, 187, 193, 192, 187, 181, 188, 185, 178, 182,
+  191, 191, 181, 174, 180, 185, 187, 182, 178, 175, 174, 175, 188, 183, 163, 159,
+  160, 132, 91, 61, 51, 47, 52, 50, 34, 28, 29, 26, 21, 19, 26, 33,
+  37, 36, 255, 255, 255, 57, 81, 78, 41, 25, 47, 62, 56, 39, 27, 21,
+  27, 35, 39, 44, 51, 46, 39, 40, 51, 62, 70, 85, 104, 132, 147, 159,
+  166, 171, 178, 182, 182, 178, 177, 182, 182, 184, 181, 182, 181, 181, 189, 193,
+  192, 192, 196, 196, 193, 195, 196, 193, 191, 193, 195, 194, 188, 187, 196, 198,
+  194, 197, 205, 204, 198, 186, 187, 189, 187, 187, 186, 186, 189, 188, 192, 193,
+  190, 186, 184, 187, 189, 184, 182, 181, 184, 187, 189, 188, 185, 189, 182, 178,
+  171, 157, 149, 135, 114, 87, 39, 36, 58, 43, 30, 35, 27, 22, 24, 26,
+  30, 35, 41, 38, 255, 255, 184, 60, 77, 73, 45, 32, 49, 64, 62, 37,
+  24, 14, 17, 26, 32, 41, 48, 49, 43, 39, 40, 49, 66, 89, 109, 134,
+  146, 154, 159, 166, 174, 183, 183, 182, 180, 179, 178, 178, 178, 179, 181, 185,
+  187, 190, 192, 191, 188, 187, 187, 191, 195, 195, 192, 193, 196, 194, 193, 194,
+  198, 200, 199, 201, 202, 202, 198, 197, 193, 189, 184, 183, 185, 189, 193, 190,
+  191, 191, 191, 190, 190, 190, 189, 185, 183, 181, 183, 190, 192, 196, 196, 189,
+  182, 177, 169, 154, 147, 137, 117, 93, 47, 42, 56, 40, 28, 33, 28, 26,
+  25, 23, 24, 31, 42, 45, 255, 255, 39, 54, 61, 57, 41, 34, 43, 54,
+  54, 41, 28, 19, 21, 29, 34, 37, 37, 42, 45, 42, 38, 47, 69, 96,
+  116, 134, 144, 152, 157, 164, 171, 177, 177, 181, 180, 180, 180, 179, 179, 178,
+  178, 180, 177, 181, 189, 192, 185, 185, 189, 185, 190, 194, 191, 192, 195, 195,
+  194, 201, 201, 202, 204, 204, 201, 198, 198, 200, 196, 191, 185, 184, 186, 188,
+  191, 189, 187, 185, 188, 192, 193, 190, 186, 197, 193, 189, 187, 190, 192, 195,
+  196, 190, 184, 179, 168, 151, 146, 140, 123, 95, 55, 48, 56, 39, 26, 31,
+  29, 23, 23, 20, 20, 28, 38, 39, 255, 255, 25, 42, 43, 42, 37, 35,
+  36, 39, 39, 38, 31, 27, 31, 38, 36, 29, 21, 30, 42, 47, 45, 55,
+  82, 109, 123, 137, 146, 157, 162, 167, 171, 171, 167, 175, 176, 178, 179, 178,
+  175, 171, 168, 177, 169, 171, 183, 187, 176, 174, 182, 179, 183, 185, 184, 187,
+  194, 194, 193, 203, 198, 199, 207, 207, 199, 195, 199, 194, 192, 192, 190, 189,
+  185, 181, 178, 188, 186, 185, 187, 188, 188, 184, 181, 191, 189, 187, 185, 185,
+  187, 189, 193, 190, 185, 182, 169, 150, 146, 143, 130, 91, 61, 54, 56, 42,
+  27, 29, 28, 19, 23, 24, 26, 30, 34, 29, 255, 255, 21, 38, 36, 39,
+  41, 41, 36, 32, 30, 27, 24, 22, 25, 31, 30, 23, 13, 29, 42, 49,
+  50, 62, 89, 118, 133, 144, 150, 157, 160, 166, 172, 174, 171, 178, 176, 172,
+  166, 161, 158, 156, 155, 169, 158, 158, 168, 169, 157, 155, 161, 173, 172, 170,
+  173, 182, 192, 192, 190, 197, 194, 197, 205, 206, 197, 196, 200, 193, 190, 188,
+  187, 186, 181, 175, 170, 182, 184, 184, 182, 177, 173, 174, 175, 173, 174, 178,
+  181, 184, 186, 189, 190, 187, 183, 180, 167, 150, 145, 143, 131, 88, 65, 56,
+  53, 44, 32, 29, 28, 23, 28, 31, 31, 32, 35, 33, 255, 255, 28, 31,
+  31, 33, 38, 38, 32, 28, 24, 24, 21, 16, 15, 20, 27, 28, 24, 33,
+  40, 44, 50, 66, 95, 124, 144, 156, 156, 154, 152, 160, 173, 181, 181, 183,
+  173, 157, 140, 131, 128, 133, 135, 134, 126, 125, 135, 139, 139, 138, 143, 154,
+  154, 153, 156, 166, 182, 187, 189, 189, 191, 195, 199, 201, 197, 196, 196, 196,
+  189, 180, 173, 171, 169, 166, 162, 163, 166, 166, 163, 159, 156, 159, 164, 169,
+  173, 176, 179, 179, 182, 183, 185, 184, 177, 175, 166, 151, 147, 142, 127, 88,
+  72, 55, 49, 43, 34, 27, 25, 24, 26, 25, 23, 24, 31, 35, 255, 28,
+  21, 22, 25, 27, 28, 28, 27, 26, 23, 24, 24, 22, 17, 18, 26, 32,
+  31, 28, 31, 42, 59, 81, 106, 133, 155, 161, 160, 157, 155, 162, 173, 179,
+  177, 170, 157, 138, 119, 108, 103, 107, 109, 95, 92, 91, 96, 106, 114, 117,
+  120, 120, 127, 131, 134, 143, 160, 175, 186, 185, 193, 197, 196, 198, 199, 196,
+  190, 191, 182, 169, 161, 157, 151, 145, 138, 129, 126, 127, 127, 128, 131, 137,
+  140, 154, 157, 160, 163, 163, 166, 170, 174, 184, 177, 176, 169, 157, 153, 145,
+  125, 94, 78, 53, 40, 39, 33, 24, 23, 20, 23, 22, 19, 20, 26, 29,
+  255, 10, 0, 20, 25, 27, 23, 23, 27, 29, 26, 21, 26, 26, 21, 19,
+  24, 26, 23, 18, 22, 41, 72, 99, 122, 145, 163, 164, 165, 166, 167, 171,
+  173, 170, 161, 147, 139, 125, 112, 99, 93, 90, 90, 80, 78, 73, 71, 79,
+  89, 91, 88, 92, 103, 113, 115, 121, 140, 164, 181, 183, 193, 197, 193, 194,
+  199, 195, 185, 177, 170, 162, 155, 149, 137, 123, 112, 95, 91, 89, 92, 100,
+  108, 114, 115, 114, 120, 125, 131, 139, 149, 162, 170, 185, 178, 177, 173, 163,
+  159, 148, 127, 101, 84, 51, 33, 35, 32, 22, 22, 20, 25, 29, 26, 25,
+  26, 22, 255, 24, 17, 19, 26, 36, 33, 22, 26, 29, 18, 18, 8, 15,
+  22, 19, 19, 26, 26, 27, 29, 38, 62, 100, 136, 156, 159, 167, 170, 162,
+  166, 175, 153, 131, 136, 132, 115, 98, 94, 93, 91, 89, 89, 84, 89, 83,
+  76, 68, 54, 49, 58, 82, 91, 101, 102, 103, 115, 143, 168, 173, 169, 179,
+  194, 193, 189, 184, 175, 166, 160, 157, 153, 136, 115, 106, 106, 91, 84, 78,
+  79, 85, 89, 90, 91, 90, 77, 93, 115, 122, 138, 158, 158, 170, 177, 179,
+  169, 159, 152, 144, 134, 108, 76, 44, 31, 30, 26, 18, 12, 17, 23, 29,
+  29, 28, 24, 22, 255, 28, 28, 25, 25, 32, 33, 29, 36, 37, 24, 13,
+  9, 16, 21, 15, 19, 28, 26, 35, 36, 43, 67, 107, 143, 160, 158, 167,
+  166, 161, 157, 149, 125, 113, 121, 119, 121, 124, 128, 128, 131, 134, 137, 122,
+  114, 95, 82, 87, 83, 68, 56, 61, 68, 81, 92, 98, 107, 127, 150, 148,
+  161, 175, 181, 179, 174, 172, 171, 159, 149, 138, 134, 132, 123, 103, 86, 82,
+  73, 63, 59, 62, 67, 73, 77, 72, 65, 70, 81, 86, 100, 121, 131, 146,
+  153, 158, 155, 153, 151, 146, 137, 117, 82, 44, 25, 23, 24, 21, 18, 27,
+  30, 29, 28, 25, 23, 103, 255, 25, 30, 38, 29, 27, 28, 27, 31, 30,
+  11, 14, 16, 24, 20, 9, 16, 25, 19, 18, 25, 40, 70, 110, 142, 152,
+  146, 161, 150, 153, 159, 154, 144, 139, 135, 138, 140, 144, 146, 142, 138, 137,
+  139, 133, 123, 101, 81, 84, 99, 108, 106, 116, 107, 104, 109, 111, 109, 120,
+  136, 133, 158, 168, 162, 163, 166, 169, 178, 162, 158, 144, 125, 112, 108, 104,
+  100, 92, 83, 75, 70, 74, 85, 94, 100, 109, 110, 104, 100, 99, 95, 99,
+  111, 121, 127, 135, 141, 149, 153, 150, 144, 125, 89, 48, 25, 20, 19, 16,
+  16, 32, 31, 27, 23, 19, 21, 255, 255, 39, 44, 52, 36, 31, 34, 32,
+  33, 28, 12, 16, 22, 29, 17, 6, 17, 27, 21, 27, 49, 80, 111, 140,
+  161, 168, 165, 171, 155, 158, 158, 142, 142, 157, 154, 155, 142, 135, 138, 129,
+  114, 111, 120, 115, 108, 112, 122, 124, 121, 106, 88, 115, 101, 100, 114, 125,
+  124, 129, 142, 139, 167, 174, 166, 170, 171, 165, 165, 162, 155, 147, 133, 115,
+  102, 102, 107, 97, 98, 97, 93, 95, 101, 107, 108, 130, 143, 138, 130, 132,
+  112, 91, 94, 109, 112, 121, 132, 146, 155, 154, 151, 134, 98, 56, 31, 22,
+  17, 14, 12, 27, 26, 23, 17, 15, 18, 255, 190, 60, 61, 52, 36, 35,
+  44, 43, 41, 40, 29, 14, 19, 27, 19, 11, 28, 46, 44, 77, 108, 142,
+  162, 172, 181, 194, 201, 183, 171, 172, 160, 130, 127, 145, 147, 135, 125, 125,
+  133, 118, 98, 106, 131, 112, 87, 94, 130, 149, 146, 119, 86, 89, 83, 93,
+  116, 133, 132, 130, 134, 155, 175, 183, 178, 181, 180, 167, 151, 181, 158, 148,
+  153, 148, 124, 104, 98, 106, 115, 121, 118, 115, 113, 109, 104, 116, 131, 133,
+  137, 152, 139, 113, 109, 106, 107, 113, 127, 140, 148, 150, 149, 143, 104, 58,
+  29, 18, 15, 18, 21, 22, 24, 24, 21, 21, 24, 255, 67, 61, 54, 46,
+  27, 30, 46, 48, 43, 38, 29, 16, 16, 22, 22, 21, 41, 65, 68, 91,
+  116, 139, 145, 145, 153, 170, 183, 163, 150, 154, 177, 195, 198, 173, 142, 120,
+  125, 134, 131, 109, 90, 103, 130, 111, 95, 108, 126, 121, 120, 124, 114, 111,
+  103, 97, 102, 111, 118, 127, 133, 170, 167, 172, 172, 167, 182, 193, 183, 195,
+  171, 152, 140, 125, 103, 91, 93, 106, 121, 132, 129, 125, 121, 117, 109, 107,
+  116, 118, 128, 148, 153, 143, 136, 109, 109, 112, 122, 132, 137, 143, 148, 144,
+  102, 50, 17, 7, 9, 17, 26, 23, 27, 30, 31, 31, 35, 255, 67, 62,
+  57, 50, 28, 31, 57, 66, 61, 52, 37, 33, 22, 22, 25, 24, 40, 62,
+  69, 66, 81, 96, 105, 116, 129, 143, 148, 141, 127, 130, 179, 245, 255, 204,
+  148, 128, 136, 129, 105, 95, 104, 110, 106, 84, 125, 181, 175, 116, 92, 101,
+  93, 108, 103, 92, 87, 96, 119, 143, 154, 161, 153, 178, 185, 162, 177, 208,
+  204, 171, 165, 145, 113, 91, 90, 98, 105, 101, 112, 116, 106, 98, 98, 99,
+  97, 98, 95, 99, 107, 116, 132, 139, 133, 121, 119, 121, 128, 133, 137, 146,
+  154, 145, 106, 56, 24, 11, 11, 16, 25, 23, 29, 31, 32, 32, 36, 255,
+  82, 84, 85, 61, 38, 43, 79, 101, 101, 90, 72, 55, 36, 28, 26, 21,
+  29, 46, 54, 60, 69, 84, 106, 133, 153, 159, 153, 150, 143, 132, 156, 207,
+  214, 177, 150, 136, 135, 105, 70, 89, 136, 136, 98, 60, 127, 200, 185, 120,
+  113, 134, 123, 108, 119, 121, 116, 122, 141, 155, 157, 139, 147, 205, 230, 185,
+  172, 190, 173, 156, 166, 155, 136, 140, 164, 163, 141, 121, 127, 119, 95, 79,
+  79, 84, 82, 93, 87, 97, 102, 101, 120, 140, 130, 133, 130, 131, 137, 140,
+  143, 156, 167, 154, 120, 77, 47, 32, 25, 20, 22, 23, 26, 29, 27, 27,
+  31, 255, 79, 81, 80, 71, 39, 55, 115, 152, 147, 125, 103, 95, 76, 44,
+  41, 41, 40, 55, 57, 61, 62, 80, 113, 143, 156, 160, 160, 167, 159, 154,
+  154, 154, 151, 153, 156, 133, 115, 93, 91, 118, 144, 137, 112, 89, 85, 105,
+  121, 125, 149, 169, 162, 145, 130, 132, 135, 128, 143, 166, 164, 130, 158, 192,
+  211, 205, 188, 171, 163, 158, 157, 135, 136, 121, 143, 144, 154, 149, 185, 200,
+  166, 124, 102, 89, 77, 92, 114, 123, 115, 109, 108, 116, 132, 143, 154, 160,
+  151, 141, 139, 145, 148, 147, 159, 140, 76, 59, 28, 21, 22, 19, 21, 26,
+  29, 32, 36, 255, 85, 89, 88, 69, 41, 56, 116, 159, 164, 148, 127, 129,
+  118, 89, 77, 63, 51, 59, 55, 72, 75, 90, 119, 147, 160, 161, 159, 163,
+  161, 164, 168, 166, 155, 145, 140, 129, 121, 111, 114, 132, 150, 145, 130, 121,
+  96, 93, 107, 128, 159, 168, 151, 126, 125, 134, 136, 133, 134, 140, 140, 146,
+  157, 177, 196, 207, 200, 182, 166, 159, 154, 130, 129, 120, 139, 136, 138, 162,
+  198, 202, 156, 116, 107, 104, 90, 112, 135, 142, 129, 119, 111, 117, 132, 153,
+  159, 157, 142, 130, 125, 128, 128, 139, 152, 117, 64, 47, 25, 20, 19, 35,
+  37, 33, 29, 33, 43, 255, 96, 101, 103, 69, 44, 56, 111, 155, 166, 153,
+  131, 155, 153, 130, 112, 89, 67, 67, 59, 81, 85, 100, 126, 153, 165, 166,
+  163, 166, 165, 170, 174, 170, 154, 138, 130, 128, 127, 129, 135, 143, 148, 146,
+  140, 142, 120, 110, 112, 124, 147, 153, 140, 125, 138, 143, 142, 141, 132, 125,
+  131, 161, 165, 176, 189, 200, 199, 188, 178, 175, 164, 141, 137, 134, 149, 144,
+  141, 158, 191, 190, 141, 108, 114, 117, 103, 133, 152, 154, 139, 127, 117, 120,
+  133, 147, 149, 144, 133, 127, 126, 130, 131, 125, 143, 88, 54, 36, 26, 29,
+  25, 33, 41, 38, 31, 34, 119, 255, 100, 106, 106, 71, 52, 69, 119, 161,
+  174, 161, 139, 157, 161, 143, 127, 107, 85, 81, 64, 81, 90, 108, 135, 158,
+  171, 173, 170, 175, 170, 170, 170, 165, 155, 146, 144, 147, 145, 146, 151, 150,
+  146, 146, 147, 145, 148, 149, 138, 127, 127, 137, 141, 143, 155, 145, 138, 144,
+  139, 131, 143, 165, 178, 192, 194, 187, 181, 186, 192, 167, 160, 142, 134, 130,
+  138, 137, 132, 141, 167, 171, 141, 120, 123, 127, 119, 141, 154, 150, 137, 132,
+  126, 127, 135, 138, 140, 138, 135, 135, 141, 144, 143, 126, 150, 85, 58, 30,
+  27, 33, 33, 32, 51, 57, 52, 52, 255, 255, 90, 94, 92, 76, 63, 88,
+  144, 185, 194, 183, 166, 159, 165, 147, 133, 118, 104, 93, 67, 81, 94, 117,
+  142, 161, 172, 175, 172, 182, 174, 169, 168, 166, 162, 161, 163, 171, 163, 158,
+  157, 155, 153, 156, 159, 148, 157, 157, 146, 138, 135, 138, 144, 147, 153, 138,
+  133, 146, 148, 144, 157, 166, 183, 200, 198, 187, 179, 184, 194, 172, 167, 159,
+  140, 131, 128, 132, 132, 140, 148, 155, 149, 138, 133, 137, 142, 142, 146, 138,
+  131, 138, 142, 141, 145, 148, 151, 149, 146, 144, 146, 143, 138, 144, 167, 109,
+  74, 36, 32, 37, 47, 71, 93, 102, 91, 81, 255, 255, 80, 78, 77, 79,
+  67, 99, 162, 195, 190, 179, 169, 177, 183, 163, 147, 134, 118, 99, 62, 76,
+  99, 128, 150, 162, 170, 173, 174, 181, 175, 174, 176, 177, 174, 173, 175, 179,
+  170, 161, 156, 157, 160, 163, 162, 149, 146, 133, 131, 149, 154, 145, 141, 146,
+  149, 146, 146, 155, 158, 159, 166, 168, 177, 188, 195, 196, 193, 190, 189, 192,
+  193, 191, 164, 151, 135, 142, 144, 151, 147, 149, 151, 146, 136, 140, 152, 143,
+  148, 142, 137, 151, 156, 153, 155, 158, 161, 160, 155, 151, 149, 146, 139, 148,
+  164, 131, 77, 48, 53, 60, 88, 127, 140, 141, 123, 105, 255, 255, 70, 66,
+  62, 75, 64, 100, 166, 191, 175, 164, 166, 190, 200, 182, 163, 147, 127, 101,
+  58, 67, 98, 135, 156, 163, 169, 175, 178, 179, 175, 175, 178, 179, 177, 175,
+  176, 173, 171, 165, 155, 156, 163, 164, 157, 144, 157, 153, 149, 160, 157, 146,
+  148, 162, 163, 171, 171, 161, 162, 171, 173, 167, 171, 181, 192, 201, 201, 195,
+  189, 190, 192, 194, 163, 152, 131, 141, 142, 159, 155, 155, 155, 152, 145, 145,
+  150, 149, 159, 158, 154, 163, 162, 156, 158, 160, 165, 165, 160, 155, 156, 156,
+  153, 147, 148, 140, 71, 60, 76, 85, 126, 156, 159, 154, 141, 255, 255, 255,
+  255, 52, 47, 68, 56, 97, 171, 196, 178, 172, 182, 189, 205, 191, 172, 154,
+  133, 105, 57, 59, 96, 138, 159, 167, 172, 179, 184, 179, 173, 169, 171, 172,
+  171, 171, 175, 170, 178, 174, 162, 162, 169, 167, 154, 143, 187, 208, 194, 175,
+  149, 145, 169, 182, 182, 192, 186, 158, 155, 172, 173, 163, 173, 185, 195, 199,
+  197, 194, 192, 187, 187, 194, 163, 157, 138, 149, 148, 164, 170, 171, 170, 168,
+  164, 157, 150, 156, 172, 175, 171, 169, 162, 154, 156, 169, 172, 171, 164, 157,
+  159, 160, 162, 160, 147, 151, 66, 65, 86, 91, 138, 157, 154, 152, 151, 255,
+  255, 255, 255, 49, 56, 58, 47, 94, 162, 198, 186, 165, 182, 178, 189, 186,
+  190, 169, 130, 102, 72, 69, 104, 143, 164, 171, 172, 175, 179, 171, 176, 175,
+  169, 169, 177, 180, 180, 182, 182, 176, 171, 173, 176, 173, 163, 166, 203, 228,
+  211, 178, 162, 167, 175, 185, 189, 188, 176, 161, 158, 168, 182, 178, 189, 196,
+  196, 197, 198, 199, 197, 187, 187, 183, 174, 164, 159, 162, 165, 161, 161, 168,
+  173, 170, 163, 165, 172, 164, 172, 174, 168, 161, 159, 161, 161, 172, 175, 172,
+  166, 159, 155, 157, 163, 162, 164, 153, 73, 92, 99, 121, 126, 148, 161, 173,
+  161, 255, 255, 255, 255, 48, 61, 49, 40, 84, 147, 189, 187, 166, 173, 177,
+  185, 178, 178, 158, 123, 100, 74, 84, 107, 136, 154, 166, 171, 172, 171, 174,
+  179, 179, 174, 175, 180, 186, 185, 185, 185, 184, 180, 182, 185, 182, 173, 178,
+  186, 186, 177, 174, 182, 187, 185, 181, 185, 185, 178, 169, 168, 177, 188, 174,
+  182, 189, 190, 191, 193, 194, 191, 184, 186, 187, 183, 176, 170, 167, 166, 157,
+  153, 154, 158, 160, 162, 172, 183, 165, 171, 172, 167, 162, 164, 168, 172, 190,
+  188, 181, 173, 166, 161, 159, 160, 164, 161, 157, 92, 113, 118, 140, 149, 161,
+  185, 197, 255, 255, 255, 255, 255, 44, 61, 53, 43, 75, 126, 174, 194, 178,
+  176, 180, 185, 174, 172, 157, 130, 117, 95, 108, 118, 132, 145, 161, 170, 170,
+  164, 176, 180, 181, 178, 179, 183, 189, 189, 187, 187, 189, 188, 191, 193, 191,
+  183, 179, 177, 172, 173, 187, 201, 197, 184, 175, 177, 178, 176, 173, 174, 178,
+  182, 171, 180, 186, 187, 190, 193, 192, 189, 185, 185, 184, 182, 180, 176, 173,
+  170, 174, 167, 163, 164, 165, 167, 173, 180, 169, 173, 174, 169, 168, 173, 180,
+  184, 197, 191, 181, 173, 170, 167, 163, 159, 174, 161, 157, 112, 131, 131, 146,
+  156, 175, 190, 212, 255, 255, 255, 255, 255, 42, 56, 59, 45, 61, 95, 152,
+  193, 186, 179, 185, 188, 174, 175, 167, 152, 149, 135, 130, 132, 138, 148, 159,
+  170, 169, 164, 174, 176, 178, 178, 179, 182, 188, 190, 188, 188, 192, 193, 195,
+  195, 192, 188, 185, 187, 189, 185, 189, 191, 192, 185, 178, 176, 178, 175, 177,
+  174, 175, 174, 179, 185, 192, 192, 193, 195, 193, 189, 190, 185, 178, 175, 175,
+  177, 182, 181, 184, 181, 183, 183, 185, 180, 178, 174, 179, 181, 184, 179, 180,
+  183, 190, 192, 194, 191, 184, 179, 175, 171, 169, 167, 176, 149, 149, 126, 145,
+  143, 148, 153, 184, 174, 255, 255, 255, 255, 255, 255, 186, 56, 51, 37, 46,
+  69, 127, 182, 180, 171, 186, 189, 172, 175, 175, 168, 171, 161, 141, 145, 148,
+  151, 158, 166, 167, 165, 170, 174, 177, 179, 181, 183, 188, 192, 192, 192, 195,
+  197, 197, 194, 192, 190, 199, 200, 197, 184, 177, 178, 188, 194, 184, 181, 180,
+  180, 182, 180, 178, 174, 189, 194, 197, 197, 197, 198, 194, 189, 193, 188, 181,
+  179, 180, 183, 187, 188, 175, 178, 184, 188, 192, 192, 189, 183, 188, 191, 194,
+  190, 190, 192, 193, 192, 197, 197, 194, 187, 179, 175, 176, 180, 170, 137, 142,
+  142, 161, 162, 160, 162, 189, 158, 255, 255, 255, 255, 255, 255, 255, 49, 43,
+  34, 43, 61, 118, 175, 174, 164, 185, 186, 169, 172, 175, 172, 177, 167, 148,
+  150, 150, 150, 154, 162, 166, 167, 174, 176, 180, 185, 188, 188, 193, 198, 200,
+  198, 201, 203, 202, 197, 196, 197, 199, 198, 197, 192, 192, 190, 192, 190, 183,
+  178, 178, 177, 182, 181, 181, 178, 192, 196, 198, 198, 199, 199, 195, 188, 190,
+  191, 191, 190, 189, 188, 188, 188, 180, 183, 185, 183, 187, 191, 194, 193, 193,
+  196, 198, 195, 195, 196, 195, 191, 200, 202, 197, 189, 177, 169, 172, 175, 173,
+  145, 158, 166, 172, 171, 167, 165, 180, 255, 255, 255, 255, 255, 255, 255, 255,
+  183, 49, 37, 40, 52, 105, 162, 171, 169, 186, 188, 171, 175, 179, 177, 183,
+  173, 156, 153, 148, 145, 151, 163, 167, 169, 178, 179, 183, 191, 194, 193, 198,
+  205, 206, 202, 205, 208, 206, 200, 201, 205, 197, 196, 199, 202, 204, 199, 192,
+  185, 181, 177, 175, 174, 177, 178, 181, 181, 191, 196, 198, 198, 201, 203, 200,
+  193, 191, 194, 194, 191, 189, 186, 188, 188, 195, 197, 197, 187, 186, 188, 195,
+  194, 198, 198, 200, 196, 200, 202, 204, 201, 203, 201, 193, 184, 174, 168, 166,
+  166, 172, 156, 179, 188, 172, 169, 166, 167, 167, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 56, 37, 33, 37, 85, 148, 165, 175, 189, 192, 178, 183, 189,
+  187, 193, 184, 166, 157, 146, 141, 151, 164, 171, 173, 179, 180, 185, 193, 197,
+  195, 200, 208, 207, 203, 205, 209, 207, 202, 204, 210, 204, 200, 195, 190, 184,
+  182, 186, 192, 187, 183, 179, 177, 177, 180, 182, 184, 191, 195, 197, 199, 203,
+  206, 204, 196, 195, 194, 190, 182, 177, 178, 186, 193, 192, 199, 201, 193, 188,
+  191, 196, 196, 201, 202, 200, 198, 202, 209, 213, 212, 209, 202, 192, 184, 178,
+  174, 169, 165, 156, 152, 185, 194, 169, 166, 167, 174, 163, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 184, 30, 32, 44, 61, 95, 143, 179, 190, 181, 183,
+  192, 188, 185, 187, 185, 168, 158, 148, 144, 150, 158, 168, 173, 178, 183, 187,
+  190, 194, 198, 205, 209, 209, 210, 214, 213, 209, 206, 205, 205, 196, 193, 188,
+  184, 185, 188, 187, 185, 177, 175, 176, 181, 188, 190, 187, 183, 188, 199, 207,
+  205, 201, 200, 202, 200, 195, 195, 187, 174, 171, 180, 191, 197, 193, 191, 189,
+  190, 192, 195, 195, 195, 202, 201, 201, 202, 205, 210, 215, 218, 213, 206, 196,
+  189, 185, 180, 171, 165, 159, 162, 177, 185, 176, 170, 171, 163, 178, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 42, 43, 41, 53, 85, 122, 152, 188,
+  183, 184, 192, 191, 186, 185, 182, 175, 163, 153, 147, 152, 158, 163, 167, 176,
+  181, 186, 190, 195, 199, 206, 209, 206, 208, 212, 210, 206, 202, 201, 200, 200,
+  195, 189, 184, 183, 183, 182, 180, 167, 165, 166, 172, 180, 185, 185, 183, 197,
+  195, 196, 203, 211, 212, 207, 199, 200, 198, 188, 177, 175, 178, 180, 176, 177,
+  179, 183, 187, 190, 192, 192, 193, 195, 196, 199, 202, 205, 208, 209, 210, 208,
+  204, 197, 189, 180, 171, 165, 161, 159, 161, 173, 179, 177, 177, 174, 156, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 184, 39, 37, 51, 65, 100,
+  154, 178, 178, 181, 188, 191, 189, 183, 177, 180, 167, 155, 149, 154, 158, 159,
+  159, 170, 176, 183, 188, 193, 197, 203, 206, 205, 207, 210, 208, 203, 198, 196,
+  195, 194, 191, 187, 184, 181, 177, 172, 169, 164, 164, 167, 174, 180, 182, 179,
+  176, 178, 172, 176, 192, 205, 203, 197, 194, 194, 188, 175, 165, 165, 170, 171,
+  167, 164, 170, 179, 184, 185, 184, 184, 185, 187, 190, 195, 199, 202, 202, 201,
+  201, 199, 199, 194, 185, 174, 164, 161, 161, 159, 163, 173, 176, 178, 186, 174,
+  178, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 36, 53, 66,
+  43, 68, 147, 167, 178, 181, 187, 197, 196, 185, 182, 177, 164, 152, 149, 154,
+  157, 157, 154, 166, 172, 179, 184, 189, 191, 196, 197, 205, 206, 209, 206, 200,
+  194, 192, 190, 184, 184, 186, 189, 186, 178, 171, 168, 164, 165, 168, 172, 172,
+  168, 160, 154, 146, 147, 163, 184, 190, 181, 181, 192, 185, 174, 157, 147, 145,
+  151, 160, 163, 167, 174, 182, 184, 180, 177, 178, 180, 184, 186, 190, 194, 196,
+  197, 196, 193, 192, 189, 187, 180, 171, 166, 161, 161, 154, 165, 178, 179, 178,
+  184, 163, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186,
+  64, 71, 36, 42, 105, 161, 182, 185, 188, 201, 202, 189, 185, 169, 160, 149,
+  148, 152, 156, 156, 157, 166, 172, 178, 182, 185, 186, 189, 191, 200, 201, 202,
+  198, 192, 187, 185, 184, 184, 181, 182, 185, 184, 180, 179, 183, 169, 166, 162,
+  157, 153, 149, 145, 142, 141, 140, 158, 179, 185, 175, 172, 181, 171, 163, 151,
+  141, 135, 138, 149, 157, 174, 179, 183, 181, 176, 174, 176, 180, 182, 182, 183,
+  184, 186, 188, 190, 191, 193, 185, 178, 174, 170, 166, 159, 154, 146, 165, 183,
+  180, 173, 171, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 38, 44, 46, 56, 85, 146, 179, 184, 181, 197, 196, 182, 182, 168,
+  161, 153, 149, 151, 155, 157, 160, 167, 172, 177, 179, 181, 182, 186, 188, 193,
+  192, 192, 186, 180, 176, 176, 176, 182, 174, 170, 173, 173, 172, 180, 192, 188,
+  180, 168, 157, 152, 153, 157, 159, 155, 146, 148, 165, 181, 177, 166, 159, 147,
+  147, 149, 150, 149, 149, 155, 164, 177, 179, 180, 178, 176, 176, 180, 184, 181,
+  179, 178, 177, 178, 182, 185, 187, 192, 182, 174, 167, 163, 158, 150, 142, 142,
+  163, 182, 180, 168, 159, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 180, 58, 75, 80, 127, 169, 177, 173, 190, 192, 181,
+  186, 175, 170, 162, 155, 151, 153, 156, 162, 162, 167, 170, 173, 175, 177, 182,
+  185, 188, 186, 184, 177, 171, 169, 170, 172, 171, 165, 165, 171, 170, 165, 170,
+  181, 189, 184, 176, 168, 163, 162, 166, 169, 159, 149, 142, 149, 162, 167, 160,
+  150, 141, 141, 146, 155, 161, 161, 164, 170, 175, 174, 174, 173, 174, 176, 178,
+  179, 175, 174, 172, 171, 172, 175, 179, 180, 182, 175, 169, 161, 154, 146, 139,
+  135, 149, 163, 180, 181, 171, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 190, 65, 57, 115, 167, 178, 172, 193,
+  199, 190, 200, 183, 179, 171, 161, 153, 152, 156, 163, 155, 158, 161, 165, 167,
+  172, 176, 182, 188, 185, 182, 174, 168, 167, 170, 173, 167, 168, 177, 189, 186,
+  171, 166, 170, 169, 171, 172, 171, 166, 159, 154, 150, 150, 149, 146, 143, 146,
+  155, 161, 163, 162, 154, 150, 155, 160, 159, 159, 162, 172, 171, 170, 171, 172,
+  173, 173, 171, 171, 170, 169, 169, 170, 172, 174, 175, 170, 168, 165, 158, 149,
+  142, 137, 136, 156, 163, 176, 183, 175, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 188, 82, 146, 190,
+  187, 171, 180, 191, 194, 190, 190, 174, 159, 159, 154, 148, 154, 149, 156, 160,
+  160, 159, 165, 174, 182, 180, 176, 168, 159, 162, 168, 168, 161, 168, 168, 172,
+  180, 178, 169, 170, 178, 162, 166, 169, 170, 166, 163, 162, 160, 162, 154, 155,
+  166, 170, 161, 154, 153, 149, 150, 153, 154, 156, 156, 157, 158, 170, 168, 167,
+  165, 165, 166, 167, 167, 169, 168, 168, 167, 166, 165, 164, 162, 161, 157, 156,
+  153, 145, 137, 139, 143, 157, 202, 177, 194, 199, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 71,
+  120, 166, 187, 186, 184, 191, 197, 189, 188, 169, 149, 147, 147, 144, 148, 147,
+  154, 160, 161, 160, 163, 172, 177, 175, 167, 155, 147, 150, 158, 160, 155, 163,
+  164, 167, 169, 167, 163, 166, 170, 171, 171, 170, 168, 167, 169, 172, 176, 164,
+  159, 158, 165, 169, 167, 163, 160, 156, 155, 155, 155, 156, 157, 159, 161, 161,
+  165, 167, 165, 162, 158, 158, 160, 164, 163, 164, 163, 162, 161, 161, 160, 154,
+  152, 151, 147, 137, 131, 136, 145, 174, 197, 180, 177, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 138, 173, 183, 178, 183, 198, 200, 198, 174, 143, 141, 146, 146,
+  147, 146, 153, 160, 162, 161, 161, 170, 175, 174, 164, 150, 144, 149, 158, 161,
+  161, 169, 174, 176, 173, 172, 175, 180, 180, 170, 169, 170, 170, 169, 172, 178,
+  182, 170, 170, 166, 165, 169, 175, 175, 171, 171, 168, 167, 166, 167, 168, 170,
+  172, 161, 170, 175, 173, 165, 158, 157, 159, 161, 160, 160, 159, 159, 158, 159,
+  158, 148, 148, 148, 142, 129, 126, 138, 152, 184, 175, 173, 185, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 149, 154, 171, 193, 198, 195, 164, 135, 135,
+  147, 148, 147, 150, 154, 158, 159, 158, 158, 167, 177, 173, 162, 150, 146, 155,
+  165, 168, 166, 160, 170, 173, 167, 167, 173, 179, 176, 166, 169, 174, 176, 178,
+  179, 179, 178, 180, 182, 177, 168, 171, 181, 187, 182, 180, 180, 179, 177, 176,
+  177, 176, 177, 170, 173, 177, 175, 170, 165, 162, 162, 161, 160, 159, 158, 157,
+  157, 157, 157, 148, 149, 150, 142, 131, 130, 145, 163, 194, 156, 165, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 158, 150, 145, 120,
+  103, 120, 143, 147, 147, 157, 156, 154, 155, 153, 153, 166, 180, 174, 162, 152,
+  151, 160, 165, 163, 159, 154, 165, 169, 164, 165, 172, 177, 173, 170, 172, 175,
+  178, 180, 180, 178, 177, 187, 192, 186, 176, 177, 188, 193, 188, 183, 182, 181,
+  179, 178, 177, 176, 175, 176, 172, 169, 169, 170, 169, 166, 163, 159, 157, 155,
+  153, 152, 152, 153, 152, 151, 150, 150, 145, 136, 135, 148, 165, 195, 146, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  195, 60, 70, 110, 140, 147, 151, 160, 157, 152, 151, 149, 149, 164, 180, 181,
+  167, 157, 159, 166, 164, 157, 151, 156, 160, 162, 157, 158, 161, 167, 169, 170,
+  167, 162, 161, 163, 166, 167, 169, 178, 183, 182, 179, 180, 183, 186, 184, 183,
+  182, 178, 176, 174, 172, 172, 171, 177, 169, 162, 161, 165, 167, 165, 160, 152,
+  151, 149, 148, 148, 150, 152, 152, 154, 150, 147, 144, 138, 136, 141, 149, 158,
+  168, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 56, 111, 143, 147, 151, 161, 154, 152, 152, 149, 148, 161,
+  178, 187, 171, 159, 163, 170, 167, 158, 151, 143, 137, 133, 129, 127, 126, 133,
+  143, 154, 150, 146, 145, 147, 149, 150, 150, 154, 158, 164, 170, 172, 168, 165,
+  166, 175, 171, 165, 159, 156, 157, 160, 162, 162, 157, 151, 149, 150, 150, 147,
+  145, 145, 145, 144, 145, 146, 150, 154, 157, 159, 150, 144, 143, 139, 132, 126,
+  123, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 188, 115, 143, 142, 145, 158, 153, 153, 154, 151,
+  146, 157, 176, 180, 165, 154, 158, 166, 166, 159, 154, 144, 133, 123, 120, 114,
+  110, 120, 135, 141, 140, 141, 143, 146, 145, 140, 136, 131, 132, 142, 157, 160,
+  150, 145, 148, 161, 154, 144, 136, 132, 135, 141, 146, 139, 139, 136, 132, 128,
+  125, 123, 123, 142, 142, 143, 143, 148, 154, 160, 163, 162, 150, 142, 141, 139,
+  129, 116, 155, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 117, 135, 143, 155, 157, 155, 159,
+  167, 156, 137, 140, 161, 173, 164, 161, 167, 170, 164, 163, 168, 163, 142, 128,
+  127, 122, 113, 120, 136, 143, 161, 164, 148, 145, 157, 158, 144, 146, 166, 174,
+  159, 147, 149, 152, 146, 168, 155, 139, 129, 128, 132, 135, 137, 127, 126, 125,
+  118, 100, 89, 104, 127, 144, 142, 144, 155, 160, 156, 154, 157, 161, 151, 143,
+  143, 139, 128, 113, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 122, 139, 145, 153, 150,
+  151, 156, 162, 152, 135, 139, 156, 171, 162, 162, 169, 172, 168, 171, 176, 167,
+  153, 141, 139, 137, 135, 144, 156, 163, 179, 181, 167, 166, 179, 180, 169, 180,
+  208, 218, 191, 160, 156, 173, 186, 191, 179, 163, 155, 151, 150, 149, 150, 135,
+  130, 125, 119, 108, 102, 118, 141, 153, 150, 150, 158, 160, 158, 157, 158, 156,
+  145, 139, 138, 134, 116, 150, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 130, 146, 148,
+  152, 144, 145, 151, 157, 151, 138, 139, 150, 170, 165, 167, 173, 174, 170, 173,
+  181, 168, 162, 154, 148, 147, 152, 159, 164, 171, 184, 187, 178, 182, 196, 200,
+  191, 195, 225, 237, 211, 178, 175, 197, 214, 210, 200, 187, 177, 172, 168, 165,
+  163, 151, 145, 136, 130, 127, 129, 145, 164, 165, 162, 159, 163, 164, 161, 158,
+  157, 147, 140, 135, 135, 129, 109, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 139,
+  152, 149, 148, 149, 148, 152, 158, 159, 151, 148, 151, 166, 166, 172, 175, 173,
+  169, 170, 176, 169, 172, 167, 157, 154, 160, 160, 155, 164, 175, 178, 176, 181,
+  195, 201, 197, 195, 212, 220, 207, 192, 192, 201, 205, 211, 202, 190, 182, 176,
+  173, 170, 171, 163, 155, 146, 146, 146, 152, 163, 176, 172, 168, 168, 167, 167,
+  161, 157, 153, 141, 137, 134, 135, 126, 155, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 147, 155, 147, 143, 158, 154, 153, 160, 167, 166, 159, 153, 156, 161, 171,
+  175, 174, 168, 168, 170, 174, 181, 180, 171, 166, 169, 163, 152, 164, 169, 170,
+  171, 176, 186, 190, 188, 199, 206, 206, 197, 190, 192, 194, 192, 207, 198, 187,
+  175, 170, 169, 170, 172, 165, 158, 152, 155, 158, 163, 167, 171, 173, 172, 172,
+  170, 168, 161, 154, 145, 142, 138, 135, 129, 115, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 157, 158, 148, 142, 151, 151, 150, 151, 157, 161, 156, 148, 148,
+  154, 165, 172, 175, 173, 171, 170, 171, 178, 180, 175, 174, 174, 167, 158, 168,
+  167, 167, 167, 170, 172, 172, 171, 187, 195, 195, 186, 179, 182, 193, 199, 200,
+  193, 183, 174, 167, 166, 169, 171, 167, 164, 162, 167, 173, 174, 171, 166, 173,
+  173, 171, 167, 162, 159, 150, 141, 142, 139, 136, 124, 153, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 164, 161, 149, 143, 141, 147, 152, 147, 146, 150, 152,
+  148, 152, 155, 163, 168, 174, 176, 175, 172, 171, 173, 177, 176, 175, 174, 173,
+  170, 174, 170, 168, 169, 171, 168, 164, 164, 174, 180, 182, 177, 173, 178, 188,
+  195, 188, 184, 179, 171, 169, 168, 170, 171, 172, 171, 173, 176, 182, 182, 176,
+  168, 175, 174, 168, 161, 156, 156, 151, 143, 134, 137, 136, 120, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 169, 162, 148, 143, 138, 154, 164, 154, 145,
+  147, 155, 159, 159, 161, 162, 166, 173, 177, 175, 172, 178, 177, 177, 179, 179,
+  178, 178, 183, 179, 175, 173, 177, 179, 175, 172, 172, 177, 176, 176, 178, 182,
+  183, 176, 168, 172, 171, 172, 170, 169, 169, 170, 171, 170, 170, 173, 177, 182,
+  182, 176, 168, 175, 174, 166, 154, 151, 153, 152, 144, 126, 132, 134, 120, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 160, 170, 160, 144, 143, 149, 155,
+  152, 146, 145, 155, 165, 155, 156, 160, 167, 176, 178, 174, 169, 179, 180, 179,
+  180, 180, 181, 182, 184, 177, 182, 185, 182, 178, 174, 175, 177, 180, 183, 185,
+  186, 183, 177, 171, 167, 160, 163, 167, 171, 173, 173, 171, 169, 172, 172, 174,
+  177, 182, 181, 175, 169, 175, 166, 157, 154, 155, 151, 143, 134, 135, 126, 115,
+  162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 149, 164, 165, 154, 145, 138,
+  142, 148, 150, 150, 149, 149, 148, 152, 152, 157, 163, 171, 173, 173, 172, 169,
+  172, 173, 175, 178, 179, 180, 180, 175, 178, 179, 176, 173, 171, 173, 176, 182,
+  182, 182, 182, 181, 179, 177, 175, 172, 172, 173, 173, 174, 174, 174, 174, 176,
+  174, 175, 177, 179, 175, 165, 158, 161, 159, 159, 159, 157, 150, 143, 134, 130,
+  128, 117, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 154, 161, 157, 153,
+  155, 144, 140, 140, 143, 149, 149, 145, 138, 149, 151, 156, 158, 162, 165, 170,
+  174, 170, 172, 176, 178, 179, 180, 182, 182, 181, 183, 185, 182, 178, 177, 179,
+  182, 184, 182, 180, 179, 179, 180, 182, 183, 183, 180, 177, 175, 174, 176, 178,
+  179, 182, 181, 180, 180, 181, 176, 166, 158, 154, 155, 156, 151, 144, 134, 129,
+  126, 126, 129, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 132, 166, 172,
+  159, 150, 150, 154, 145, 137, 135, 142, 146, 146, 144, 150, 153, 158, 157, 156,
+  159, 167, 175, 179, 180, 179, 180, 180, 181, 182, 184, 189, 191, 192, 191, 188,
+  185, 184, 185, 182, 180, 177, 175, 175, 176, 178, 180, 181, 180, 177, 174, 174,
+  176, 178, 179, 182, 178, 175, 174, 176, 173, 169, 164, 160, 158, 153, 146, 138,
+  132, 130, 129, 121, 124, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 135,
+  180, 190, 171, 150, 137, 150, 144, 138, 136, 141, 146, 150, 151, 152, 156, 161,
+  158, 155, 156, 163, 172, 177, 177, 174, 173, 173, 175, 178, 183, 183, 186, 188,
+  189, 186, 181, 177, 175, 176, 176, 174, 172, 171, 170, 169, 169, 174, 174, 174,
+  175, 175, 176, 177, 177, 178, 171, 165, 160, 162, 165, 165, 163, 165, 161, 156,
+  150, 148, 145, 141, 138, 108, 103, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  84, 137, 172, 181, 175, 162, 150, 139, 139, 140, 141, 145, 147, 150, 151, 152,
+  156, 161, 160, 158, 157, 162, 168, 174, 172, 172, 171, 173, 178, 182, 185, 178,
+  182, 184, 184, 182, 178, 174, 171, 175, 175, 174, 172, 170, 167, 164, 163, 170,
+  172, 174, 177, 179, 179, 179, 178, 184, 173, 164, 160, 161, 162, 163, 160, 160,
+  156, 152, 148, 143, 137, 129, 122, 96, 144, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 107, 153, 167, 169, 174, 177, 171, 150, 147, 144, 143, 146, 147, 148,
+  148, 147, 151, 156, 159, 160, 160, 161, 164, 174, 174, 176, 177, 178, 182, 184,
+  185, 183, 183, 183, 183, 183, 182, 183, 181, 182, 183, 181, 179, 176, 174, 172,
+  171, 176, 178, 180, 182, 184, 185, 185, 183, 187, 178, 170, 166, 166, 165, 164,
+  162, 155, 151, 144, 136, 129, 127, 127, 127, 122, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 122, 176, 188, 182, 181, 178, 168, 175, 162, 148, 141, 143,
+  146, 148, 147, 142, 146, 153, 158, 162, 162, 162, 162, 173, 176, 178, 180, 180,
+  180, 177, 175, 187, 185, 182, 181, 184, 186, 189, 190, 194, 192, 191, 186, 186,
+  183, 185, 183, 186, 184, 186, 185, 189, 188, 191, 189, 180, 172, 170, 167, 168,
+  166, 164, 160, 154, 150, 142, 132, 128, 137, 155, 170, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 131, 179, 187, 184, 177, 174, 177, 177, 171, 161,
+  149, 141, 137, 138, 140, 137, 142, 146, 145, 150, 159, 163, 162, 164, 170, 176,
+  180, 181, 182, 182, 182, 194, 192, 188, 185, 186, 185, 189, 190, 192, 188, 184,
+  183, 187, 188, 188, 186, 186, 187, 187, 185, 189, 194, 196, 191, 186, 180, 173,
+  162, 159, 161, 162, 157, 145, 157, 144, 126, 128, 129, 131, 144, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 134, 176, 181, 180, 179, 176, 177, 179,
+  174, 167, 155, 145, 139, 138, 139, 139, 143, 146, 146, 152, 161, 166, 165, 166,
+  171, 175, 177, 180, 181, 182, 184, 193, 191, 188, 187, 186, 187, 188, 191, 190,
+  190, 187, 186, 186, 187, 188, 187, 187, 189, 187, 185, 187, 192, 192, 186, 180,
+  177, 171, 161, 158, 159, 155, 150, 140, 146, 134, 114, 109, 112, 120, 172, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 150, 183, 180, 182, 190, 188,
+  180, 178, 179, 175, 165, 152, 142, 139, 140, 145, 146, 145, 143, 145, 151, 155,
+  156, 166, 169, 172, 174, 176, 178, 180, 184, 188, 187, 186, 186, 185, 185, 185,
+  187, 188, 189, 189, 187, 185, 184, 185, 186, 188, 189, 187, 183, 184, 187, 186,
+  181, 172, 173, 169, 164, 162, 159, 152, 143, 128, 129, 131, 121, 111, 117, 133,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 169, 191, 181, 184,
+  196, 192, 182, 177, 180, 180, 173, 160, 150, 146, 146, 146, 145, 142, 139, 140,
+  143, 147, 149, 155, 161, 167, 171, 173, 174, 177, 179, 180, 182, 181, 181, 181,
+  181, 182, 181, 183, 185, 187, 185, 181, 178, 179, 182, 184, 185, 182, 178, 179,
+  181, 180, 176, 164, 168, 170, 166, 164, 159, 147, 136, 116, 112, 125, 128, 115,
+  123, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 180, 193,
+  180, 181, 192, 187, 178, 175, 180, 182, 178, 169, 160, 155, 154, 143, 140, 138,
+  137, 138, 141, 146, 149, 140, 147, 155, 162, 166, 167, 170, 171, 174, 175, 175,
+  175, 176, 176, 178, 178, 179, 183, 186, 185, 181, 178, 178, 180, 179, 179, 177,
+  173, 173, 176, 175, 170, 160, 165, 167, 163, 157, 148, 132, 118, 105, 94, 103,
+  105, 90, 97, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  185, 194, 184, 187, 193, 187, 182, 177, 179, 180, 178, 174, 169, 163, 162, 151,
+  145, 140, 137, 133, 129, 129, 132, 131, 137, 146, 153, 157, 159, 163, 164, 170,
+  170, 170, 170, 171, 172, 173, 174, 177, 179, 182, 183, 181, 179, 177, 177, 173,
+  173, 170, 166, 166, 168, 166, 162, 158, 159, 156, 147, 138, 130, 116, 105, 96,
+  82, 77, 73, 70, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 180, 191, 189, 193, 193, 189, 191, 182, 180, 177, 177, 176, 174, 169,
+  165, 163, 155, 148, 143, 134, 124, 120, 121, 130, 134, 138, 142, 145, 148, 154,
+  157, 161, 160, 161, 161, 163, 165, 167, 169, 169, 170, 172, 175, 177, 175, 172,
+  169, 168, 168, 164, 158, 157, 158, 156, 152, 155, 150, 141, 127, 121, 119, 114,
+  108, 108, 96, 79, 74, 83, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 181, 185, 190, 188, 185, 194, 186, 181, 176, 175, 177,
+  176, 172, 167, 166, 159, 155, 155, 149, 140, 137, 140, 134, 134, 135, 135, 137,
+  142, 149, 154, 153, 152, 151, 150, 151, 154, 158, 160, 162, 161, 163, 167, 171,
+  171, 166, 161, 166, 166, 161, 154, 151, 152, 148, 143, 148, 141, 127, 113, 110,
+  115, 120, 118, 127, 121, 100, 94, 156, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 181, 184, 184, 184, 183, 178, 183, 183, 181,
+  179, 176, 173, 170, 168, 164, 160, 156, 156, 157, 154, 147, 140, 131, 128, 122,
+  120, 125, 136, 150, 159, 157, 149, 138, 134, 139, 148, 153, 153, 153, 159, 160,
+  155, 155, 160, 162, 159, 162, 168, 160, 138, 128, 134, 138, 133, 126, 113, 96,
+  100, 118, 122, 114, 113, 117, 108, 103, 107, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 186, 182, 180, 175, 173, 187,
+  186, 185, 183, 180, 177, 175, 173, 168, 164, 160, 159, 160, 158, 153, 146, 137,
+  133, 126, 121, 120, 125, 130, 136, 142, 138, 131, 129, 132, 137, 137, 137, 136,
+  146, 150, 146, 143, 146, 152, 153, 158, 157, 147, 132, 126, 129, 129, 123, 105,
+  101, 91, 88, 105, 112, 111, 113, 104, 97, 95, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 232, 183, 181, 179,
+  175, 188, 188, 187, 185, 183, 181, 178, 177, 169, 165, 160, 159, 160, 160, 157,
+  152, 147, 143, 138, 132, 126, 122, 119, 119, 122, 120, 119, 124, 129, 130, 126,
+  126, 130, 142, 147, 142, 136, 138, 145, 150, 151, 142, 130, 121, 117, 114, 109,
+  105, 108, 117, 113, 102, 106, 109, 104, 102, 92, 89, 147, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  232, 187, 187, 187, 187, 187, 184, 182, 180, 178, 177, 170, 166, 162, 161, 161,
+  160, 160, 159, 155, 153, 151, 147, 142, 135, 127, 123, 117, 112, 113, 116, 117,
+  113, 109, 107, 117, 124, 126, 123, 119, 118, 122, 126, 124, 115, 108, 107, 106,
+  102, 101, 103, 120, 137, 136, 121, 120, 114, 101, 88, 81, 139, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 233, 189, 185, 186, 186, 185, 184, 183, 180, 179, 174, 171, 166,
+  164, 164, 164, 165, 166, 160, 159, 158, 157, 154, 148, 140, 133, 130, 123, 119,
+  116, 110, 101, 95, 95, 99, 97, 95, 96, 97, 98, 97, 98, 94, 92, 93,
+  98, 101, 103, 112, 123, 119, 135, 131, 117, 120, 120, 105, 91, 81, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 181, 187, 188, 188, 189, 187, 187, 184, 183, 179,
+  177, 173, 171, 169, 170, 171, 172, 163, 161, 159, 159, 157, 153, 146, 139, 141,
+  132, 128, 129, 126, 116, 117, 122, 111, 104, 101, 105, 109, 109, 107, 107, 99,
+  101, 101, 99, 100, 108, 120, 130, 131, 134, 121, 110, 114, 116, 106, 99, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 233, 190, 190, 190, 189, 189, 187,
+  186, 179, 178, 175, 173, 170, 170, 170, 172, 167, 163, 159, 158, 160, 159, 154,
+  150, 144, 136, 136, 142, 142, 137, 141, 150, 140, 133, 130, 132, 132, 127, 125,
+  128, 121, 121, 114, 102, 103, 117, 128, 129, 139, 138, 124, 116, 116, 110, 100,
+  151, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 233, 189, 190, 189,
+  189, 187, 186, 176, 176, 173, 172, 168, 167, 167, 169, 171, 166, 160, 160, 164,
+  166, 164, 161, 146, 139, 139, 143, 143, 135, 137, 146, 147, 142, 139, 137, 129,
+  120, 118, 123, 125, 125, 113, 100, 107, 129, 140, 136, 127, 128, 125, 124, 124,
+  158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  233, 184, 183, 184, 188, 180, 177, 171, 169, 168, 168, 167, 166, 163, 165, 170,
+  172, 173, 172, 171, 170, 156, 162, 162, 152, 150, 151, 152, 149, 141, 147, 152,
+  148, 138, 130, 128, 129, 127, 126, 122, 120, 127, 139, 141, 135, 127, 124, 122,
+  123, 164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 230, 176, 181, 187, 184, 181, 178, 174, 174, 174, 172, 171, 167,
+  168, 172, 173, 172, 171, 169, 167, 163, 169, 168, 159, 154, 156, 160, 161, 158,
+  155, 151, 144, 139, 138, 144, 150, 142, 136, 124, 116, 121, 133, 139, 136, 136,
+  127, 118, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 229, 184, 184, 182, 180, 178, 178, 177, 175,
+  173, 173, 174, 174, 174, 172, 170, 168, 166, 167, 170, 169, 161, 157, 159, 165,
+  168, 163, 156, 148, 142, 139, 142, 148, 152, 140, 133, 123, 118, 125, 138, 145,
+  144, 139, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 177, 175, 174, 175,
+  176, 173, 169, 174, 174, 174, 173, 172, 170, 169, 167, 169, 167, 167, 164, 163,
+  166, 167, 166, 162, 156, 151, 149, 148, 146, 143, 139, 133, 129, 125, 127, 135,
+  143, 145, 143, 172, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  227, 172, 172, 171, 168, 173, 172, 172, 172, 172, 171, 173, 172, 174, 168, 166,
+  170, 175, 177, 172, 166, 167, 163, 161, 161, 161, 157, 149, 142, 142, 136, 131,
+  134, 139, 141, 140, 135, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 228, 172, 171, 170, 170, 170, 170, 171, 171, 173, 173, 171,
+  164, 162, 170, 178, 177, 171, 164, 169, 165, 161, 160, 160, 159, 154, 150, 142,
+  133, 126, 129, 136, 140, 142, 179, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 169, 168, 168, 169, 169, 172,
+  172, 167, 162, 164, 170, 175, 172, 170, 170, 167, 164, 161, 159, 157, 154, 150,
+  147, 133, 125, 122, 130, 139, 142, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 168,
+  168, 170, 170, 169, 167, 171, 174, 172, 170, 175, 181, 166, 167, 168, 167, 161,
+  153, 144, 137, 129, 124, 126, 137, 180, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 225, 167, 168, 167, 166, 169, 171, 172, 167, 168, 166,
+  155, 145, 140, 134, 127, 168, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 188, 68, 88, 92, 69, 106, 209,
+  255, 255, 255, 255, 255, 255, 255, 218, 117, 51, 67, 99, 120, 124, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 196, 100, 96, 95, 99, 95, 72, 68, 59, 55, 59, 62, 56,
+  42, 41, 54, 52, 44, 49, 52, 51, 55, 57, 57, 60, 72, 92, 107, 104,
+  95, 62, 47, 27, 17, 15, 96, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176, 26, 29,
+  20, 9, 5, 23, 41, 74, 94, 88, 84, 84, 79, 78, 73, 63, 53, 52,
+  52, 46, 35, 44, 48, 43, 41, 50, 51, 48, 54, 35, 37, 45, 65, 90,
+  103, 93, 77, 66, 53, 36, 27, 24, 23, 19, 14, 70, 202, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 177, 16, 18,
+  22, 22, 18, 15, 17, 36, 46, 69, 79, 71, 68, 69, 64, 63, 60, 52,
+  45, 44, 47, 47, 43, 49, 42, 34, 39, 48, 44, 38, 47, 38, 40, 42,
+  47, 59, 70, 74, 71, 66, 56, 43, 37, 35, 31, 21, 13, 18, 15, 15,
+  98, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 174, 24,
+  20, 21, 25, 28, 30, 36, 46, 58, 57, 64, 65, 56, 55, 59, 54, 43,
+  41, 38, 36, 37, 43, 49, 52, 50, 42, 36, 44, 49, 32, 25, 40, 43,
+  52, 54, 45, 37, 45, 59, 72, 62, 54, 48, 46, 45, 39, 27, 18, 16,
+  15, 15, 17, 20, 100, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 178, 23,
+  25, 29, 28, 35, 43, 48, 50, 56, 64, 66, 61, 62, 61, 51, 50, 50,
+  41, 39, 36, 34, 33, 32, 34, 40, 47, 48, 45, 45, 54, 52, 31, 24,
+  43, 40, 52, 59, 55, 50, 52, 56, 59, 53, 49, 45, 47, 48, 45, 33,
+  22, 15, 15, 15, 15, 19, 23, 23, 99, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 20,
+  21, 27, 35, 36, 39, 49, 62, 67, 64, 60, 61, 60, 55, 60, 65, 59,
+  55, 48, 34, 38, 35, 33, 36, 36, 36, 40, 45, 45, 48, 52, 60, 58,
+  37, 33, 54, 67, 60, 51, 49, 56, 61, 55, 44, 41, 36, 33, 37, 40,
+  39, 30, 21, 21, 19, 17, 15, 18, 24, 23, 20, 25, 96, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 28,
+  28, 26, 27, 35, 44, 51, 47, 51, 60, 64, 62, 57, 55, 59, 52, 56,
+  64, 63, 65, 62, 47, 41, 36, 37, 44, 47, 45, 45, 47, 47, 51, 51,
+  55, 56, 43, 40, 56, 82, 70, 54, 46, 52, 60, 56, 46, 41, 34, 31,
+  33, 38, 39, 33, 27, 31, 28, 23, 17, 19, 25, 24, 18, 24, 14, 15,
+  98, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 182,
+  34, 38, 45, 46, 43, 46, 53, 63, 51, 43, 45, 51, 54, 55, 59, 66,
+  54, 52, 57, 61, 71, 75, 66, 52, 46, 46, 54, 54, 48, 43, 43, 53,
+  53, 47, 46, 50, 43, 39, 50, 57, 64, 68, 65, 63, 61, 59, 54, 55,
+  47, 42, 43, 48, 50, 46, 40, 38, 35, 27, 19, 19, 25, 23, 18, 20,
+  10, 11, 16, 94, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  183, 35, 40, 49, 60, 66, 64, 57, 51, 60, 59, 62, 66, 63, 55, 54,
+  59, 59, 63, 56, 46, 53, 67, 65, 50, 52, 48, 49, 67, 82, 72, 57,
+  61, 62, 62, 62, 62, 59, 53, 46, 40, 48, 58, 66, 65, 56, 50, 52,
+  55, 66, 61, 56, 52, 46, 42, 46, 51, 54, 46, 40, 35, 26, 20, 25,
+  35, 29, 27, 23, 20, 18, 19, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 46, 42, 53, 54, 56, 56, 56, 58, 62, 65, 57, 53, 52, 56, 55,
+  50, 48, 53, 54, 56, 49, 38, 42, 55, 53, 40, 49, 56, 55, 56, 66,
+  65, 57, 57, 58, 54, 50, 48, 47, 46, 42, 39, 41, 46, 52, 57, 57,
+  55, 51, 48, 65, 59, 52, 55, 62, 64, 56, 47, 37, 37, 42, 48, 44,
+  32, 21, 18, 21, 20, 18, 15, 14, 15, 16, 97, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 51, 52, 51, 58, 57, 52, 46, 42, 46, 56, 65, 57, 49, 43,
+  46, 49, 47, 42, 39, 44, 46, 39, 29, 31, 41, 39, 27, 30, 46, 42,
+  30, 38, 48, 47, 46, 53, 45, 35, 31, 31, 33, 32, 30, 36, 40, 45,
+  45, 42, 41, 42, 43, 43, 55, 63, 60, 59, 61, 59, 55, 59, 54, 51,
+  53, 52, 42, 27, 18, 22, 21, 18, 16, 15, 15, 16, 17, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 186, 50, 51, 53, 58, 55, 50, 45, 44, 49, 57, 63, 60,
+  50, 42, 44, 49, 47, 37, 27, 34, 36, 29, 22, 23, 32, 31, 22, 36,
+  48, 41, 34, 43, 56, 56, 59, 55, 45, 33, 27, 27, 30, 29, 27, 31,
+  38, 40, 30, 17, 14, 25, 38, 34, 49, 55, 50, 47, 56, 62, 62, 79,
+  68, 57, 55, 57, 52, 40, 28, 26, 22, 17, 13, 12, 13, 17, 19, 18,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 189, 49, 43, 43, 46, 47, 39, 30, 28, 35, 43, 49,
+  51, 59, 52, 45, 45, 49, 47, 34, 21, 26, 28, 23, 17, 20, 29, 30,
+  24, 23, 22, 14, 16, 31, 37, 33, 39, 53, 45, 36, 33, 33, 35, 35,
+  33, 27, 30, 30, 25, 17, 16, 23, 30, 45, 39, 29, 29, 49, 69, 72,
+  61, 69, 64, 59, 61, 67, 63, 48, 33, 32, 25, 16, 9, 6, 7, 13,
+  17, 24, 23, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 188, 60, 60, 50, 41, 40, 46, 43, 33, 19, 19, 27,
+  40, 44, 46, 52, 50, 44, 43, 43, 43, 32, 22, 20, 22, 20, 17, 19,
+  27, 29, 27, 34, 29, 19, 24, 41, 41, 36, 40, 40, 36, 33, 32, 32,
+  34, 35, 35, 32, 27, 26, 33, 42, 46, 39, 32, 33, 28, 23, 28, 41,
+  55, 62, 65, 80, 75, 65, 60, 61, 62, 54, 45, 43, 35, 24, 14, 9,
+  10, 13, 17, 29, 18, 92, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 185, 50, 59, 62, 53, 43, 44, 52, 50, 45, 38,
+  39, 43, 49, 49, 48, 37, 40, 37, 31, 29, 32, 30, 26, 18, 19, 17,
+  15, 18, 25, 27, 27, 24, 30, 23, 18, 30, 40, 37, 36, 38, 37, 37,
+  34, 31, 30, 33, 36, 38, 34, 33, 37, 44, 46, 42, 38, 19, 27, 39,
+  46, 39, 31, 40, 58, 79, 78, 69, 59, 56, 60, 61, 59, 53, 46, 36,
+  25, 18, 15, 15, 16, 20, 14, 11, 96, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 190, 53, 60, 68, 70, 59, 46, 45, 54, 33,
+  37, 41, 44, 43, 38, 31, 26, 26, 31, 29, 20, 17, 22, 28, 29, 17,
+  18, 16, 14, 16, 22, 24, 25, 28, 48, 43, 27, 38, 57, 60, 54, 51,
+  51, 50, 44, 36, 33, 36, 41, 35, 39, 39, 29, 16, 15, 25, 38, 32,
+  34, 45, 61, 55, 35, 28, 35, 40, 53, 65, 66, 66, 68, 65, 59, 53,
+  47, 39, 29, 21, 14, 11, 9, 2, 13, 24, 24, 89, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 184, 44, 45, 42, 46, 51, 45, 33, 36,
+  49, 51, 42, 30, 27, 31, 32, 26, 19, 25, 25, 25, 25, 24, 21, 19,
+  18, 14, 16, 17, 15, 14, 17, 23, 28, 26, 30, 33, 31, 29, 29, 33,
+  36, 40, 41, 40, 33, 26, 23, 29, 35, 43, 41, 38, 36, 35, 33, 31,
+  32, 28, 31, 32, 35, 37, 39, 39, 38, 39, 44, 50, 57, 60, 62, 63,
+  64, 59, 61, 52, 44, 40, 28, 19, 25, 27, 21, 8, 8, 20, 97, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 192, 68, 71, 54, 52, 53, 57, 53,
+  42, 33, 33, 37, 31, 26, 25, 29, 30, 29, 26, 18, 19, 19, 18, 17,
+  15, 13, 12, 17, 18, 16, 14, 11, 12, 14, 16, 13, 19, 25, 30, 30,
+  31, 33, 35, 34, 38, 42, 42, 36, 28, 22, 20, 25, 23, 21, 22, 22,
+  21, 17, 15, 23, 26, 27, 30, 32, 34, 34, 34, 43, 41, 39, 37, 37,
+  40, 44, 47, 52, 58, 55, 52, 53, 43, 32, 33, 26, 21, 10, 7, 14,
+  10, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 60, 57, 56, 53, 52, 48,
+  46, 47, 47, 37, 27, 23, 24, 25, 25, 24, 25, 26, 27, 19, 19, 18,
+  17, 16, 15, 14, 13, 19, 16, 14, 12, 11, 11, 10, 9, 10, 16, 24,
+  30, 33, 33, 33, 33, 21, 25, 32, 40, 42, 38, 30, 24, 25, 23, 23,
+  26, 29, 29, 23, 18, 28, 30, 31, 34, 34, 34, 35, 35, 36, 33, 31,
+  30, 32, 37, 42, 46, 39, 48, 48, 52, 58, 51, 35, 32, 26, 24, 14,
+  12, 19, 17, 17, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 48, 38, 30, 47,
+  49, 42, 33, 37, 50, 51, 42, 23, 27, 30, 28, 21, 17, 18, 20, 20,
+  19, 17, 16, 15, 15, 15, 16, 17, 16, 13, 15, 18, 19, 17, 15, 15,
+  18, 22, 27, 29, 29, 27, 25, 20, 18, 20, 28, 38, 42, 39, 34, 37,
+  33, 32, 36, 41, 43, 38, 34, 35, 36, 38, 37, 37, 36, 34, 34, 28,
+  29, 32, 37, 41, 44, 45, 45, 53, 61, 62, 64, 75, 71, 56, 49, 29,
+  27, 17, 19, 30, 33, 36, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 61, 59, 48,
+  36, 44, 53, 50, 35, 35, 50, 57, 52, 28, 32, 34, 30, 22, 15, 14,
+  16, 15, 13, 11, 9, 8, 9, 10, 11, 15, 14, 13, 16, 20, 24, 22,
+  20, 17, 15, 13, 14, 17, 20, 17, 15, 29, 23, 20, 25, 33, 38, 34,
+  28, 33, 29, 26, 28, 34, 38, 38, 36, 36, 36, 35, 33, 31, 29, 26,
+  25, 27, 28, 29, 34, 38, 40, 39, 37, 58, 66, 62, 61, 74, 76, 66,
+  61, 43, 36, 23, 25, 37, 40, 36, 41, 207, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 60, 64,
+  61, 53, 45, 42, 55, 57, 44, 36, 40, 42, 38, 32, 32, 32, 30, 26,
+  22, 19, 18, 15, 13, 10, 7, 7, 9, 11, 13, 16, 15, 14, 16, 18,
+  21, 22, 22, 21, 15, 10, 10, 15, 20, 20, 18, 22, 19, 19, 27, 36,
+  39, 31, 23, 25, 23, 21, 22, 26, 30, 34, 36, 34, 34, 32, 31, 28,
+  25, 23, 22, 24, 22, 21, 25, 33, 42, 45, 45, 47, 55, 49, 43, 55,
+  63, 61, 60, 65, 55, 39, 36, 45, 39, 26, 26, 74, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  61, 52, 45, 44, 46, 43, 52, 55, 45, 33, 31, 32, 32, 34, 30, 27,
+  27, 30, 29, 25, 20, 22, 19, 15, 12, 12, 14, 17, 20, 15, 16, 16,
+  16, 15, 18, 22, 25, 28, 20, 12, 12, 19, 23, 22, 19, 19, 17, 19,
+  27, 35, 38, 31, 23, 19, 21, 23, 23, 24, 26, 31, 34, 32, 32, 32,
+  30, 30, 29, 27, 26, 20, 19, 20, 28, 39, 49, 52, 52, 51, 60, 52,
+  41, 48, 58, 59, 63, 70, 65, 50, 46, 48, 34, 18, 19, 16, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 73, 64, 48, 39, 46, 56, 52, 52, 49, 41, 33, 33, 39, 42, 37,
+  29, 22, 25, 31, 33, 27, 19, 24, 21, 17, 13, 12, 15, 18, 20, 13,
+  16, 16, 16, 16, 20, 26, 32, 28, 19, 11, 12, 18, 21, 19, 14, 32,
+  28, 23, 23, 27, 28, 23, 17, 9, 15, 20, 21, 19, 19, 24, 27, 27,
+  27, 28, 28, 27, 27, 27, 27, 20, 22, 28, 37, 46, 48, 44, 38, 47,
+  55, 46, 30, 34, 42, 45, 48, 56, 57, 48, 45, 44, 29, 15, 18, 19,
+  100, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 191, 64, 55, 50, 53, 53, 53, 36, 48, 45, 31, 29, 42, 45,
+  35, 27, 31, 21, 13, 20, 23, 23, 28, 19, 20, 21, 17, 12, 9, 11,
+  17, 12, 12, 21, 22, 11, 12, 21, 21, 16, 10, 12, 20, 23, 15, 13,
+  16, 13, 18, 18, 16, 18, 22, 22, 18, 12, 13, 16, 22, 26, 24, 17,
+  10, 16, 11, 12, 21, 26, 24, 23, 25, 16, 26, 37, 44, 50, 54, 50,
+  43, 58, 53, 46, 37, 31, 29, 31, 33, 27, 45, 42, 43, 40, 29, 28,
+  11, 21, 30, 109, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 54, 48, 47, 56, 63, 54, 42, 43, 40, 26, 15, 27,
+  47, 46, 31, 28, 32, 21, 12, 19, 21, 16, 17, 17, 18, 19, 18, 13,
+  11, 12, 16, 20, 15, 15, 11, 3, 10, 23, 25, 26, 23, 22, 26, 26,
+  21, 17, 17, 20, 23, 21, 15, 13, 17, 19, 18, 15, 13, 13, 16, 20,
+  23, 20, 17, 9, 8, 11, 19, 23, 18, 15, 16, 28, 39, 47, 46, 45,
+  47, 47, 47, 51, 47, 42, 34, 26, 23, 24, 28, 21, 43, 43, 44, 35,
+  26, 30, 20, 14, 18, 21, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 185, 50, 53, 52, 53, 54, 51, 47, 37, 34, 22,
+  14, 24, 39, 39, 26, 27, 33, 25, 20, 27, 28, 21, 20, 18, 19, 19,
+  18, 16, 15, 16, 17, 25, 19, 18, 12, 5, 16, 28, 24, 28, 28, 26,
+  22, 22, 23, 20, 16, 29, 31, 27, 19, 16, 17, 19, 21, 22, 17, 12,
+  11, 14, 20, 22, 23, 17, 17, 18, 21, 19, 15, 14, 18, 36, 45, 50,
+  44, 36, 36, 42, 45, 39, 40, 39, 32, 24, 21, 23, 26, 34, 48, 41,
+  40, 36, 30, 32, 16, 14, 16, 16, 94, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 46, 50, 56, 58, 56, 52, 50, 47, 21,
+  33, 38, 29, 20, 20, 24, 25, 16, 28, 28, 25, 30, 31, 26, 29, 24,
+  24, 21, 17, 16, 19, 20, 20, 28, 30, 33, 28, 21, 31, 36, 23, 22,
+  27, 25, 18, 18, 27, 27, 20, 34, 34, 31, 28, 22, 22, 21, 23, 28,
+  23, 15, 13, 15, 20, 25, 27, 34, 34, 31, 26, 19, 16, 19, 24, 32,
+  40, 42, 37, 29, 30, 34, 35, 30, 34, 37, 33, 27, 23, 26, 30, 39,
+  42, 26, 31, 40, 42, 40, 17, 22, 24, 24, 18, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 60, 64, 51, 43, 52, 67, 68, 49,
+  30, 20, 33, 41, 34, 20, 14, 21, 29, 11, 28, 32, 26, 25, 21, 20,
+  29, 31, 28, 21, 14, 17, 29, 35, 34, 37, 46, 53, 43, 33, 44, 50,
+  36, 30, 33, 28, 20, 21, 31, 33, 29, 31, 32, 32, 35, 33, 28, 22,
+  20, 28, 27, 24, 23, 25, 31, 34, 36, 44, 49, 50, 45, 37, 29, 24,
+  22, 29, 35, 36, 32, 29, 29, 25, 21, 22, 27, 32, 31, 27, 26, 28,
+  31, 25, 33, 23, 31, 40, 46, 52, 37, 26, 31, 30, 22, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 59, 63, 55, 52, 59, 64,
+  58, 45, 35, 36, 30, 24, 22, 22, 24, 28, 34, 23, 39, 40, 29, 24,
+  18, 16, 25, 35, 31, 21, 14, 23, 42, 51, 50, 52, 65, 69, 48, 30,
+  47, 65, 58, 47, 43, 34, 26, 24, 29, 32, 31, 31, 31, 32, 40, 43,
+  35, 23, 18, 26, 29, 30, 35, 38, 43, 45, 46, 50, 62, 74, 76, 69,
+  54, 36, 22, 29, 34, 37, 36, 33, 31, 24, 14, 18, 21, 24, 26, 25,
+  25, 25, 27, 24, 45, 44, 43, 38, 37, 53, 51, 30, 34, 32, 24, 95,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 64, 58, 53, 62, 72,
+  73, 59, 44, 44, 54, 46, 29, 16, 18, 27, 30, 29, 30, 34, 43, 39,
+  30, 30, 29, 25, 31, 42, 37, 26, 20, 30, 51, 59, 55, 58, 76, 79,
+  48, 23, 43, 71, 73, 65, 55, 42, 36, 32, 30, 33, 38, 42, 37, 36,
+  46, 53, 45, 30, 20, 23, 28, 33, 37, 40, 42, 42, 44, 53, 67, 82,
+  89, 85, 71, 48, 27, 24, 33, 40, 40, 36, 32, 27, 22, 22, 21, 21,
+  22, 24, 24, 22, 20, 29, 48, 45, 43, 35, 34, 47, 43, 33, 30, 25,
+  20, 19, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 83, 63, 63,
+  65, 72, 75, 66, 54, 50, 56, 44, 30, 22, 27, 30, 26, 23, 24, 29,
+  34, 27, 22, 32, 38, 34, 37, 48, 44, 33, 25, 35, 54, 59, 52, 52,
+  77, 84, 51, 21, 40, 70, 75, 81, 65, 51, 49, 45, 39, 42, 50, 54,
+  44, 40, 52, 60, 53, 35, 24, 23, 27, 30, 34, 33, 34, 33, 33, 50,
+  61, 73, 78, 78, 70, 49, 28, 15, 29, 41, 41, 35, 32, 33, 32, 26,
+  24, 21, 22, 24, 25, 21, 16, 17, 25, 15, 21, 31, 37, 44, 28, 30,
+  22, 13, 13, 19, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 67,
+  71, 72, 66, 59, 57, 63, 68, 57, 42, 39, 34, 31, 29, 22, 15, 12,
+  13, 20, 21, 22, 25, 33, 41, 42, 37, 45, 48, 54, 61, 63, 63, 67,
+  73, 79, 76, 79, 83, 65, 34, 47, 94, 99, 89, 76, 69, 62, 53, 48,
+  46, 44, 48, 49, 57, 71, 78, 60, 37, 31, 32, 38, 39, 36, 23, 10,
+  28, 43, 69, 73, 62, 65, 68, 49, 29, 12, 16, 36, 35, 13, 26, 41,
+  19, 21, 20, 19, 19, 21, 21, 19, 17, 12, 12, 16, 20, 21, 22, 31,
+  42, 42, 41, 33, 21, 15, 96, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  76, 69, 67, 66, 78, 86, 81, 68, 54, 37, 24, 39, 29, 20, 20, 21,
+  17, 13, 11, 17, 24, 31, 31, 33, 41, 50, 52, 44, 49, 59, 70, 74,
+  75, 80, 87, 94, 93, 96, 102, 86, 56, 64, 106, 103, 102, 101, 95, 75,
+  50, 39, 43, 51, 48, 44, 53, 74, 86, 68, 42, 35, 38, 40, 43, 50,
+  45, 31, 35, 48, 57, 61, 58, 61, 67, 52, 28, 26, 14, 23, 29, 9,
+  1, 12, 16, 15, 16, 15, 15, 13, 12, 14, 14, 28, 25, 24, 25, 24,
+  24, 32, 43, 43, 43, 39, 37, 40, 43, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 75, 64, 57, 57, 66, 69, 60, 47, 39, 35, 34, 42, 27, 17,
+  21, 30, 32, 27, 22, 34, 36, 38, 39, 42, 48, 49, 45, 57, 61, 71,
+  84, 91, 93, 97, 101, 105, 106, 111, 117, 105, 74, 73, 105, 112, 113, 119,
+  116, 96, 64, 41, 35, 41, 42, 44, 54, 74, 85, 70, 47, 34, 44, 44,
+  47, 53, 43, 28, 21, 29, 30, 56, 81, 83, 79, 60, 26, 24, 23, 30,
+  38, 27, 10, 8, 18, 13, 14, 13, 12, 12, 14, 17, 20, 20, 19, 22,
+  28, 31, 33, 38, 46, 47, 46, 46, 52, 62, 63, 255, 255, 255, 255, 255,
+  255, 255, 255, 80, 70, 57, 49, 50, 46, 40, 36, 37, 42, 46, 48, 37,
+  25, 19, 27, 38, 42, 40, 35, 33, 45, 55, 52, 47, 51, 58, 64, 80,
+  76, 80, 93, 104, 107, 108, 109, 113, 116, 120, 128, 117, 85, 75, 94, 113,
+  117, 116, 112, 106, 88, 56, 26, 17, 30, 42, 54, 67, 76, 68, 54, 34,
+  45, 43, 59, 67, 45, 27, 17, 15, 15, 57, 97, 89, 78, 64, 34, 23,
+  41, 41, 28, 22, 18, 11, 12, 18, 15, 12, 13, 19, 25, 29, 29, 6,
+  7, 15, 27, 33, 32, 32, 34, 37, 39, 45, 56, 68, 68, 255, 255, 255,
+  255, 255, 255, 255, 255, 80, 67, 52, 43, 41, 43, 48, 53, 52, 48, 41,
+  38, 25, 21, 21, 28, 34, 35, 35, 35, 16, 38, 55, 53, 44, 56, 86,
+  111, 94, 85, 82, 95, 108, 116, 114, 112, 123, 126, 129, 135, 126, 96, 76,
+  84, 108, 124, 123, 104, 102, 105, 78, 37, 19, 22, 24, 38, 62, 83, 81,
+  69, 49, 42, 30, 72, 102, 79, 57, 38, 22, 16, 52, 82, 66, 58, 63,
+  54, 58, 67, 55, 33, 21, 17, 14, 22, 25, 16, 10, 13, 21, 29, 30,
+  27, 21, 17, 18, 24, 27, 24, 19, 17, 20, 28, 38, 50, 61, 63, 255,
+  255, 255, 255, 255, 255, 255, 200, 76, 57, 43, 36, 28, 39, 52, 54, 41,
+  28, 26, 32, 23, 21, 23, 27, 26, 24, 26, 30, 27, 25, 23, 28, 48,
+  77, 98, 108, 91, 84, 84, 97, 110, 118, 119, 120, 130, 132, 133, 137, 131,
+  104, 78, 75, 106, 136, 142, 118, 104, 113, 102, 73, 52, 29, 10, 21, 66,
+  104, 106, 88, 76, 51, 13, 60, 111, 98, 76, 40, 13, 12, 42, 73, 71,
+  70, 78, 79, 65, 56, 57, 63, 46, 17, 10, 23, 24, 15, 8, 9, 17,
+  22, 21, 17, 39, 28, 20, 20, 24, 23, 22, 23, 24, 32, 41, 47, 52,
+  53, 255, 255, 255, 255, 255, 255, 255, 83, 62, 45, 38, 40, 30, 32, 34,
+  31, 21, 13, 18, 30, 26, 22, 20, 22, 22, 22, 27, 33, 41, 25, 15,
+  31, 67, 95, 92, 76, 85, 87, 97, 109, 115, 119, 124, 130, 134, 135, 132,
+  136, 135, 111, 82, 74, 104, 128, 139, 127, 116, 118, 113, 99, 81, 53, 25,
+  31, 72, 112, 117, 100, 97, 80, 21, 40, 81, 85, 79, 39, 9, 12, 30,
+  63, 88, 98, 95, 92, 47, 34, 52, 70, 43, 13, 6, 6, 15, 14, 11,
+  10, 13, 16, 18, 19, 35, 25, 18, 22, 30, 32, 31, 31, 32, 36, 42,
+  46, 50, 52, 255, 255, 255, 255, 255, 255, 255, 80, 54, 39, 42, 54, 45,
+  35, 27, 28, 28, 22, 16, 17, 23, 15, 10, 12, 15, 20, 28, 35, 23,
+  34, 51, 69, 86, 95, 90, 80, 83, 96, 113, 124, 123, 120, 127, 138, 138,
+  139, 135, 139, 141, 120, 89, 78, 96, 102, 111, 118, 122, 118, 107, 99, 91,
+  76, 56, 53, 77, 106, 113, 104, 103, 108, 46, 34, 54, 70, 90, 60, 34,
+  22, 14, 36, 80, 100, 95, 92, 77, 63, 71, 64, 29, 23, 31, 16, 5,
+  11, 15, 16, 14, 16, 24, 32, 26, 19, 18, 28, 36, 33, 25, 20, 22,
+  27, 33, 43, 55, 62, 123, 255, 255, 255, 255, 255, 198, 74, 43, 31, 44,
+  26, 23, 33, 27, 31, 47, 38, 19, 22, 22, 24, 21, 17, 16, 17, 19,
+  18, 24, 54, 84, 94, 89, 92, 103, 114, 108, 111, 115, 120, 126, 132, 136,
+  137, 133, 135, 138, 141, 140, 128, 103, 80, 98, 103, 111, 115, 117, 114, 112,
+  110, 108, 97, 84, 77, 81, 91, 101, 106, 122, 105, 75, 45, 36, 48, 67,
+  78, 69, 62, 64, 72, 76, 76, 85, 101, 119, 98, 75, 64, 60, 50, 26,
+  7, 12, 10, 10, 13, 20, 26, 26, 24, 18, 20, 24, 25, 27, 26, 20,
+  15, 21, 24, 24, 27, 44, 63, 63, 255, 255, 255, 255, 255, 85, 77, 50,
+  32, 43, 38, 26, 31, 32, 35, 42, 37, 26, 26, 36, 31, 24, 20, 18,
+  18, 18, 17, 49, 70, 92, 99, 98, 103, 112, 120, 123, 125, 128, 132, 135,
+  138, 140, 140, 134, 135, 136, 138, 140, 133, 113, 94, 102, 105, 110, 114, 114,
+  111, 107, 105, 110, 105, 97, 91, 90, 96, 106, 113, 123, 111, 89, 61, 40,
+  39, 54, 69, 94, 95, 94, 91, 88, 92, 96, 99, 97, 90, 81, 75, 70,
+  57, 34, 17, 19, 14, 13, 18, 23, 23, 21, 20, 20, 21, 22, 24, 23,
+  23, 19, 16, 27, 28, 22, 22, 41, 61, 55, 255, 255, 255, 255, 255, 90,
+  78, 55, 26, 29, 36, 27, 29, 38, 42, 36, 35, 35, 29, 33, 27, 22,
+  19, 21, 26, 31, 34, 69, 80, 94, 100, 105, 114, 123, 127, 129, 131, 134,
+  137, 137, 136, 135, 133, 135, 134, 134, 135, 139, 138, 126, 113, 109, 111, 115,
+  116, 115, 111, 108, 105, 112, 112, 111, 106, 103, 105, 112, 119, 122, 117, 106,
+  86, 57, 41, 52, 73, 111, 119, 117, 105, 99, 104, 102, 93, 86, 90, 95,
+  95, 85, 68, 49, 38, 33, 24, 22, 28, 32, 27, 22, 20, 23, 22, 21,
+  23, 23, 21, 19, 18, 26, 28, 21, 20, 45, 71, 61, 255, 255, 255, 255,
+  206, 88, 74, 56, 23, 20, 30, 24, 25, 42, 46, 32, 34, 40, 29, 25,
+  21, 19, 18, 20, 26, 41, 52, 72, 79, 88, 97, 110, 123, 129, 130, 131,
+  132, 135, 137, 136, 134, 131, 128, 133, 134, 133, 134, 139, 141, 134, 124, 119,
+  119, 121, 122, 121, 118, 114, 111, 114, 116, 117, 118, 116, 118, 121, 124, 124,
+  120, 118, 109, 85, 66, 74, 96, 114, 119, 119, 113, 108, 108, 104, 96, 98,
+  103, 107, 106, 97, 83, 70, 61, 51, 42, 39, 46, 48, 40, 30, 26, 24,
+  23, 22, 26, 26, 21, 16, 16, 21, 28, 23, 20, 43, 70, 61, 255, 255,
+  255, 255, 103, 80, 65, 55, 31, 27, 32, 21, 23, 39, 43, 31, 35, 42,
+  29, 27, 26, 26, 24, 20, 23, 44, 63, 74, 80, 90, 100, 115, 128, 133,
+  130, 134, 136, 138, 141, 141, 139, 136, 133, 132, 133, 133, 134, 138, 141, 135,
+  126, 126, 124, 123, 124, 125, 124, 120, 117, 116, 117, 118, 123, 127, 130, 127,
+  125, 128, 121, 120, 121, 109, 96, 102, 120, 123, 117, 118, 125, 123, 114, 110,
+  112, 115, 114, 110, 106, 102, 97, 92, 87, 78, 71, 66, 69, 68, 58, 42,
+  32, 23, 22, 25, 32, 31, 22, 15, 13, 20, 28, 26, 19, 32, 52, 45,
+  255, 255, 255, 255, 107, 84, 61, 45, 33, 34, 26, 22, 25, 32, 32, 31,
+  39, 41, 29, 25, 25, 26, 28, 25, 29, 53, 77, 85, 92, 101, 110, 121,
+  132, 135, 132, 134, 136, 137, 139, 140, 140, 138, 137, 132, 133, 133, 133, 136,
+  138, 133, 127, 131, 128, 125, 126, 128, 128, 125, 121, 121, 120, 122, 128, 135,
+  137, 133, 128, 133, 126, 122, 124, 123, 119, 121, 128, 129, 119, 118, 128, 129,
+  118, 114, 120, 121, 116, 108, 106, 107, 108, 108, 108, 105, 104, 98, 90, 87,
+  80, 59, 37, 25, 23, 27, 36, 35, 23, 14, 13, 15, 23, 25, 21, 30,
+  43, 42, 255, 255, 255, 202, 110, 91, 59, 29, 27, 39, 20, 28, 32, 24,
+  18, 32, 44, 41, 35, 27, 21, 20, 27, 30, 38, 58, 79, 90, 99, 109,
+  115, 120, 128, 134, 135, 131, 133, 134, 137, 138, 138, 138, 137, 136, 136, 134,
+  132, 134, 138, 136, 131, 137, 134, 130, 130, 133, 133, 129, 126, 127, 128, 131,
+  135, 137, 137, 137, 135, 135, 131, 127, 127, 131, 133, 133, 129, 125, 120, 118,
+  121, 123, 121, 120, 121, 118, 117, 115, 116, 117, 118, 118, 118, 117, 125, 120,
+  106, 103, 102, 79, 48, 29, 24, 28, 37, 36, 23, 15, 16, 13, 17, 19,
+  23, 31, 40, 43, 255, 255, 255, 86, 102, 91, 55, 17, 25, 50, 25, 34,
+  38, 18, 7, 32, 47, 42, 41, 38, 25, 19, 24, 31, 36, 49, 64, 89,
+  99, 109, 112, 114, 123, 132, 137, 134, 136, 135, 137, 137, 140, 139, 140, 138,
+  138, 134, 131, 133, 138, 139, 135, 146, 140, 135, 135, 137, 137, 132, 128, 132,
+  136, 141, 141, 138, 136, 138, 140, 134, 134, 131, 130, 134, 140, 139, 132, 120,
+  124, 121, 114, 118, 130, 130, 122, 114, 121, 127, 129, 127, 123, 120, 119, 119,
+  132, 130, 112, 112, 117, 95, 58, 32, 26, 27, 36, 35, 23, 17, 20, 20,
+  15, 13, 20, 26, 30, 31, 255, 255, 255, 66, 88, 81, 41, 22, 41, 54,
+  49, 32, 22, 16, 22, 30, 34, 38, 42, 35, 24, 21, 28, 35, 41, 54,
+  69, 91, 102, 114, 121, 126, 133, 137, 137, 133, 134, 137, 139, 139, 138, 137,
+  135, 134, 139, 143, 142, 142, 146, 146, 142, 144, 143, 140, 138, 140, 142, 138,
+  131, 128, 135, 139, 135, 138, 146, 148, 142, 132, 133, 135, 136, 136, 135, 135,
+  135, 130, 131, 131, 130, 126, 124, 127, 131, 126, 124, 123, 126, 129, 131, 130,
+  127, 131, 124, 123, 118, 108, 104, 94, 77, 56, 11, 15, 40, 28, 19, 24,
+  18, 13, 15, 17, 21, 29, 35, 31, 255, 255, 189, 69, 84, 78, 45, 31,
+  46, 59, 55, 32, 19, 9, 12, 21, 28, 32, 37, 37, 28, 20, 17, 22,
+  35, 56, 72, 93, 101, 109, 114, 121, 131, 138, 140, 139, 139, 138, 137, 137,
+  137, 137, 138, 139, 141, 144, 146, 145, 142, 140, 140, 141, 144, 144, 141, 140,
+  143, 141, 137, 134, 139, 141, 140, 142, 145, 145, 143, 142, 142, 138, 134, 133,
+  136, 140, 144, 134, 132, 132, 132, 134, 134, 134, 133, 129, 127, 125, 127, 131,
+  136, 138, 138, 131, 124, 122, 116, 103, 100, 94, 78, 58, 17, 18, 38, 25,
+  16, 22, 19, 17, 16, 14, 15, 25, 36, 38, 255, 255, 53, 63, 68, 62,
+  42, 33, 40, 49, 49, 36, 23, 15, 17, 25, 30, 28, 27, 30, 29, 22,
+  13, 18, 38, 63, 79, 93, 101, 109, 114, 121, 130, 134, 136, 140, 140, 140,
+  140, 139, 139, 138, 138, 138, 135, 139, 147, 149, 142, 139, 143, 138, 143, 144,
+  141, 141, 144, 144, 141, 144, 141, 142, 147, 147, 144, 143, 146, 148, 146, 141,
+  137, 136, 138, 140, 143, 139, 135, 133, 136, 140, 141, 138, 134, 142, 138, 134,
+  133, 134, 138, 139, 140, 132, 126, 124, 115, 100, 97, 95, 84, 60, 25, 22,
+  36, 23, 14, 20, 20, 12, 12, 11, 11, 19, 29, 33, 255, 255, 39, 53,
+  53, 47, 40, 34, 34, 34, 34, 33, 26, 23, 27, 34, 32, 20, 11, 18,
+  26, 27, 20, 26, 49, 74, 86, 96, 105, 114, 121, 126, 132, 131, 127, 135,
+  139, 141, 144, 142, 139, 135, 132, 139, 131, 133, 145, 147, 136, 132, 139, 136,
+  137, 138, 137, 140, 144, 144, 140, 146, 141, 142, 150, 150, 144, 142, 149, 144,
+  144, 144, 144, 143, 141, 137, 134, 142, 139, 138, 138, 139, 139, 135, 132, 140,
+  139, 135, 133, 133, 135, 137, 139, 134, 129, 126, 116, 99, 97, 98, 89, 56,
+  30, 25, 34, 23, 14, 18, 18, 8, 12, 15, 17, 21, 25, 23, 255, 255,
+  35, 49, 46, 44, 45, 40, 34, 27, 25, 22, 20, 18, 21, 27, 26, 14,
+  3, 15, 23, 27, 23, 31, 57, 81, 93, 105, 111, 116, 121, 126, 135, 137,
+  136, 142, 140, 136, 133, 128, 125, 123, 122, 136, 125, 122, 132, 131, 119, 115,
+  121, 131, 129, 127, 127, 136, 145, 145, 139, 141, 137, 140, 149, 150, 144, 143,
+  150, 144, 144, 142, 143, 142, 140, 134, 128, 141, 143, 143, 139, 134, 130, 129,
+  130, 126, 128, 129, 132, 133, 136, 139, 140, 136, 129, 126, 116, 99, 97, 98,
+  90, 50, 33, 27, 31, 25, 17, 16, 17, 12, 18, 20, 20, 23, 26, 24,
+  255, 255, 44, 42, 41, 41, 42, 39, 31, 23, 19, 20, 17, 12, 11, 16,
+  21, 19, 14, 19, 21, 22, 23, 35, 60, 87, 104, 117, 117, 115, 116, 123,
+  138, 146, 148, 150, 140, 124, 109, 99, 98, 101, 105, 102, 94, 94, 102, 106,
+  103, 102, 106, 114, 112, 112, 113, 123, 136, 141, 139, 136, 135, 139, 146, 148,
+  146, 145, 147, 150, 145, 136, 131, 130, 129, 126, 123, 126, 129, 128, 126, 119,
+  116, 118, 121, 126, 128, 131, 132, 132, 133, 134, 136, 134, 127, 125, 116, 101,
+  99, 96, 85, 49, 38, 26, 24, 23, 18, 14, 14, 13, 16, 14, 12, 15,
+  22, 26, 255, 44, 37, 34, 35, 35, 32, 29, 27, 21, 18, 22, 22, 18,
+  13, 14, 20, 23, 19, 14, 12, 17, 30, 49, 71, 96, 115, 125, 124, 121,
+  120, 127, 138, 144, 144, 137, 126, 106, 89, 78, 75, 77, 81, 65, 62, 61,
+  66, 74, 81, 84, 84, 83, 87, 91, 92, 100, 117, 132, 139, 132, 137, 141,
+  143, 145, 148, 147, 144, 145, 137, 127, 121, 117, 113, 107, 102, 94, 93, 91,
+  91, 90, 94, 97, 100, 113, 114, 117, 118, 118, 119, 123, 128, 135, 129, 128,
+  121, 109, 105, 99, 83, 55, 43, 24, 15, 19, 17, 11, 11, 9, 13, 12,
+  9, 9, 15, 20, 255, 24, 12, 32, 35, 33, 27, 24, 27, 27, 24, 21,
+  26, 26, 19, 17, 18, 17, 11, 2, 2, 16, 43, 67, 85, 105, 123, 124,
+  129, 130, 131, 134, 138, 135, 128, 114, 108, 95, 82, 72, 66, 63, 63, 54,
+  52, 47, 44, 49, 59, 60, 55, 57, 68, 76, 78, 81, 99, 123, 138, 133,
+  142, 146, 143, 145, 150, 149, 140, 132, 128, 122, 117, 111, 101, 87, 78, 62,
+  60, 56, 59, 67, 75, 79, 80, 77, 80, 85, 90, 96, 106, 117, 125, 140,
+  134, 131, 127, 117, 113, 104, 85, 62, 49, 22, 8, 15, 16, 10, 11, 9,
+  15, 19, 17, 16, 17, 16, 255, 36, 27, 28, 32, 40, 35, 24, 28, 30,
+  20, 23, 16, 20, 26, 19, 15, 16, 12, 9, 7, 12, 31, 65, 99, 116,
+  119, 126, 129, 121, 126, 135, 116, 96, 104, 100, 84, 69, 65, 66, 64, 64,
+  64, 61, 66, 59, 50, 42, 27, 19, 28, 51, 60, 69, 70, 68, 81, 109,
+  132, 132, 126, 136, 148, 148, 144, 139, 130, 121, 118, 117, 114, 100, 81, 72,
+  74, 59, 52, 47, 48, 54, 58, 59, 60, 59, 45, 58, 78, 82, 98, 117,
+  117, 129, 136, 137, 127, 114, 107, 99, 92, 67, 41, 15, 6, 10, 13, 8,
+  2, 8, 15, 20, 23, 22, 19, 20, 255, 36, 34, 31, 29, 34, 33, 30,
+  37, 38, 26, 21, 18, 24, 25, 15, 15, 18, 12, 15, 12, 14, 35, 72,
+  106, 120, 118, 125, 125, 120, 117, 109, 88, 78, 86, 87, 90, 95, 99, 102,
+  105, 109, 112, 99, 92, 71, 59, 61, 57, 41, 29, 32, 39, 51, 62, 66,
+  75, 96, 116, 111, 121, 133, 140, 136, 132, 127, 126, 117, 107, 98, 95, 96,
+  89, 71, 54, 50, 41, 31, 29, 32, 38, 44, 48, 43, 34, 37, 46, 49,
+  60, 79, 89, 106, 114, 117, 113, 108, 106, 101, 95, 76, 47, 15, 2, 6,
+  11, 11, 11, 18, 22, 23, 22, 20, 21, 101, 255, 33, 36, 42, 31, 27,
+  27, 26, 30, 26, 11, 19, 23, 29, 21, 7, 10, 15, 5, 0, 1, 11,
+  38, 75, 105, 112, 106, 119, 109, 112, 119, 114, 107, 104, 100, 106, 109, 115,
+  117, 116, 112, 112, 114, 110, 99, 78, 58, 58, 73, 81, 79, 87, 76, 72,
+  77, 77, 75, 86, 102, 96, 118, 126, 121, 120, 121, 124, 133, 120, 116, 104,
+  86, 76, 74, 72, 68, 57, 51, 43, 40, 44, 55, 65, 71, 78, 79, 72,
+  65, 62, 55, 57, 69, 81, 88, 94, 99, 104, 108, 108, 104, 86, 54, 19,
+  2, 3, 8, 9, 10, 23, 23, 21, 17, 14, 19, 255, 255, 44, 48, 53,
+  36, 29, 30, 26, 25, 20, 6, 17, 25, 30, 17, 2, 9, 15, 5, 7,
+  25, 51, 79, 105, 124, 128, 125, 130, 115, 118, 121, 105, 107, 122, 122, 124,
+  111, 106, 109, 103, 88, 86, 95, 89, 85, 89, 96, 98, 94, 79, 59, 84,
+  70, 68, 82, 91, 90, 95, 106, 99, 127, 132, 123, 125, 126, 120, 120, 118,
+  113, 105, 93, 76, 66, 67, 75, 62, 63, 62, 61, 63, 71, 76, 79, 99,
+  111, 103, 95, 92, 72, 50, 53, 68, 71, 79, 90, 101, 110, 112, 111, 98,
+  66, 30, 11, 7, 8, 8, 7, 18, 18, 14, 11, 10, 16, 255, 193, 63,
+  62, 50, 31, 29, 35, 33, 29, 26, 17, 9, 18, 25, 14, 5, 18, 32,
+  26, 55, 82, 113, 130, 137, 144, 154, 161, 143, 132, 133, 124, 94, 92, 110,
+  115, 105, 95, 96, 104, 92, 72, 80, 106, 86, 61, 68, 103, 122, 116, 89,
+  55, 58, 51, 58, 81, 97, 96, 94, 98, 115, 133, 140, 135, 136, 135, 121,
+  106, 137, 116, 106, 113, 109, 88, 69, 63, 70, 80, 86, 86, 83, 83, 79,
+  74, 84, 99, 98, 102, 113, 100, 72, 66, 63, 65, 71, 82, 95, 103, 108,
+  110, 109, 74, 33, 10, 6, 9, 13, 17, 13, 16, 15, 15, 16, 22, 255,
+  71, 61, 53, 41, 21, 19, 31, 32, 24, 18, 10, 5, 10, 16, 13, 11,
+  29, 49, 50, 69, 90, 110, 113, 110, 116, 130, 143, 123, 111, 118, 141, 160,
+  163, 141, 110, 88, 95, 104, 102, 80, 64, 77, 104, 84, 68, 81, 99, 91,
+  91, 93, 81, 79, 68, 62, 66, 75, 82, 88, 94, 128, 125, 129, 127, 122,
+  135, 147, 137, 149, 127, 107, 98, 84, 64, 55, 58, 70, 85, 96, 94, 90,
+  89, 85, 79, 75, 81, 83, 92, 109, 112, 100, 94, 67, 64, 67, 77, 87,
+  95, 103, 109, 110, 73, 28, 1, 0, 3, 15, 24, 14, 17, 20, 22, 25,
+  30, 255, 71, 62, 54, 43, 17, 16, 38, 43, 36, 23, 12, 17, 10, 10,
+  10, 9, 24, 43, 49, 44, 55, 67, 72, 81, 92, 103, 108, 101, 91, 94,
+  143, 210, 221, 169, 116, 96, 106, 99, 76, 66, 75, 81, 77, 54, 95, 151,
+  145, 85, 61, 68, 61, 73, 66, 56, 48, 57, 80, 102, 113, 120, 110, 132,
+  140, 115, 128, 159, 155, 122, 119, 101, 71, 51, 51, 62, 69, 62, 75, 79,
+  71, 63, 66, 67, 65, 63, 60, 63, 68, 75, 90, 97, 88, 76, 73, 75,
+  82, 88, 95, 105, 118, 113, 77, 34, 8, 1, 5, 14, 21, 13, 15, 19,
+  22, 23, 30, 255, 84, 84, 82, 54, 25, 26, 56, 74, 70, 55, 41, 33,
+  17, 9, 7, 2, 10, 26, 32, 35, 43, 55, 73, 98, 116, 117, 112, 111,
+  107, 96, 120, 171, 179, 142, 115, 101, 103, 73, 40, 59, 106, 106, 68, 29,
+  98, 169, 154, 89, 80, 102, 88, 71, 79, 82, 75, 81, 100, 113, 114, 96,
+  101, 159, 183, 136, 123, 141, 124, 108, 118, 109, 92, 98, 124, 124, 102, 82,
+  87, 79, 58, 43, 44, 49, 50, 58, 51, 58, 61, 59, 78, 95, 85, 87,
+  84, 85, 91, 95, 101, 115, 131, 122, 91, 55, 31, 20, 16, 16, 16, 9,
+  10, 13, 15, 16, 21, 255, 83, 81, 77, 61, 26, 34, 88, 121, 110, 84,
+  66, 66, 51, 19, 16, 19, 18, 33, 32, 36, 35, 51, 80, 108, 119, 119,
+  119, 128, 120, 115, 115, 115, 115, 117, 120, 97, 81, 59, 57, 84, 112, 105,
+  80, 57, 54, 72, 89, 93, 114, 134, 125, 106, 89, 91, 92, 86, 101, 121,
+  119, 84, 110, 145, 161, 156, 137, 121, 113, 108, 109, 89, 92, 79, 103, 104,
+  113, 108, 145, 160, 129, 88, 67, 54, 42, 56, 78, 84, 75, 67, 64, 70,
+  86, 95, 106, 112, 105, 96, 97, 104, 112, 115, 130, 118, 58, 45, 18, 13,
+  12, 1, 1, 5, 13, 17, 25, 255, 89, 89, 85, 59, 26, 33, 87, 124,
+  123, 103, 85, 95, 88, 59, 48, 37, 25, 34, 30, 45, 46, 59, 86, 110,
+  120, 120, 118, 122, 122, 123, 129, 125, 116, 106, 101, 90, 82, 72, 75, 96,
+  114, 109, 94, 86, 64, 58, 72, 93, 122, 131, 111, 85, 84, 91, 93, 88,
+  89, 95, 93, 99, 110, 127, 147, 156, 150, 132, 116, 109, 104, 82, 83, 76,
+  97, 94, 97, 121, 157, 161, 116, 77, 71, 68, 54, 76, 96, 102, 87, 75,
+  67, 71, 86, 105, 111, 109, 96, 84, 83, 87, 92, 107, 123, 92, 44, 31,
+  11, 8, 5, 13, 11, 8, 8, 14, 27, 255, 103, 104, 101, 60, 29, 34,
+  80, 116, 121, 104, 85, 115, 117, 96, 80, 58, 38, 40, 32, 54, 55, 69,
+  93, 116, 125, 125, 120, 123, 124, 128, 133, 128, 113, 97, 89, 87, 86, 88,
+  94, 102, 107, 105, 101, 106, 85, 74, 76, 88, 108, 114, 99, 84, 95, 98,
+  97, 94, 85, 78, 81, 111, 115, 125, 138, 147, 147, 136, 126, 124, 114, 93,
+  91, 90, 107, 102, 99, 115, 149, 149, 101, 69, 75, 78, 64, 94, 113, 114,
+  97, 83, 71, 72, 85, 97, 100, 96, 87, 81, 84, 89, 92, 90, 111, 59,
+  29, 14, 8, 11, 5, 7, 10, 9, 4, 11, 106, 255, 109, 109, 105, 65,
+  38, 44, 87, 121, 125, 109, 89, 111, 119, 103, 91, 72, 54, 52, 37, 54,
+  60, 77, 100, 121, 131, 130, 127, 133, 128, 125, 125, 120, 110, 101, 99, 102,
+  100, 101, 106, 105, 101, 101, 105, 106, 112, 113, 102, 88, 88, 96, 98, 100,
+  110, 100, 91, 97, 89, 81, 93, 115, 128, 141, 143, 134, 129, 131, 137, 116,
+  109, 92, 86, 84, 94, 92, 90, 98, 124, 128, 100, 79, 84, 88, 80, 102,
+  114, 108, 93, 86, 80, 79, 87, 89, 91, 90, 87, 89, 96, 102, 102, 89,
+  115, 53, 29, 4, 3, 9, 7, 0, 16, 24, 21, 25, 255, 255, 101, 99,
+  93, 70, 49, 64, 113, 143, 144, 128, 111, 109, 119, 103, 93, 82, 69, 62,
+  38, 51, 64, 86, 107, 124, 132, 132, 129, 137, 129, 123, 122, 120, 116, 115,
+  117, 125, 117, 112, 111, 109, 107, 107, 113, 107, 118, 118, 107, 97, 94, 96,
+  102, 102, 106, 91, 83, 96, 97, 93, 106, 114, 131, 147, 145, 132, 124, 129,
+  140, 118, 116, 109, 92, 85, 84, 88, 87, 94, 105, 112, 108, 97, 92, 96,
+  101, 102, 106, 96, 87, 92, 94, 91, 96, 99, 102, 101, 98, 98, 101, 101,
+  97, 104, 130, 74, 39, 4, 2, 7, 15, 32, 53, 65, 55, 49, 255, 255,
+  91, 87, 79, 74, 53, 75, 128, 151, 140, 123, 113, 123, 133, 114, 102, 93,
+  81, 66, 31, 46, 69, 95, 115, 125, 130, 130, 129, 134, 129, 125, 127, 128,
+  125, 124, 126, 128, 121, 110, 105, 106, 109, 112, 113, 107, 107, 94, 92, 108,
+  113, 103, 96, 99, 102, 96, 96, 104, 107, 108, 115, 116, 126, 135, 142, 141,
+  138, 135, 135, 138, 139, 140, 114, 103, 89, 98, 99, 105, 101, 103, 108, 103,
+  95, 99, 112, 103, 106, 98, 93, 103, 108, 104, 106, 109, 112, 112, 107, 105,
+  104, 101, 96, 107, 124, 91, 40, 12, 17, 24, 49, 84, 97, 99, 85, 69,
+  255, 255, 84, 77, 67, 72, 51, 76, 132, 147, 126, 108, 108, 134, 148, 132,
+  117, 105, 90, 68, 27, 37, 68, 102, 121, 126, 129, 132, 133, 130, 126, 124,
+  127, 128, 126, 124, 125, 120, 120, 112, 102, 103, 110, 111, 106, 102, 117, 113,
+  109, 118, 115, 101, 103, 115, 116, 121, 121, 110, 111, 118, 120, 116, 120, 128,
+  139, 146, 146, 139, 133, 136, 138, 143, 113, 104, 85, 97, 97, 112, 109, 109,
+  112, 109, 102, 104, 110, 107, 117, 114, 110, 115, 114, 107, 107, 111, 116, 117,
+  112, 109, 111, 111, 110, 104, 107, 99, 30, 19, 35, 44, 84, 111, 112, 111,
+  101, 255, 255, 255, 255, 67, 58, 69, 49, 78, 140, 155, 129, 117, 124, 133,
+  153, 141, 126, 112, 93, 70, 26, 28, 65, 105, 124, 127, 131, 136, 139, 130,
+  124, 120, 122, 123, 120, 120, 122, 117, 125, 121, 110, 107, 114, 112, 102, 97,
+  145, 166, 152, 130, 104, 98, 122, 135, 133, 142, 136, 107, 104, 119, 120, 110,
+  120, 132, 142, 144, 142, 138, 136, 131, 132, 139, 111, 107, 88, 100, 99, 114,
+  120, 124, 123, 121, 119, 112, 105, 112, 126, 129, 123, 121, 113, 103, 105, 116,
+  122, 122, 116, 112, 115, 118, 120, 115, 102, 106, 21, 18, 39, 46, 93, 110,
+  109, 109, 111, 255, 255, 255, 255, 75, 78, 70, 49, 84, 140, 161, 138, 109,
+  123, 126, 140, 140, 145, 128, 91, 67, 39, 36, 69, 108, 128, 132, 131, 133,
+  134, 125, 130, 129, 123, 123, 128, 131, 129, 131, 129, 124, 116, 119, 122, 117,
+  109, 116, 155, 179, 162, 129, 113, 118, 126, 136, 138, 137, 124, 109, 106, 116,
+  128, 125, 133, 140, 140, 140, 141, 142, 140, 130, 130, 126, 117, 107, 102, 105,
+  110, 105, 108, 115, 120, 117, 113, 115, 122, 114, 121, 123, 117, 110, 108, 108,
+  106, 113, 116, 119, 117, 114, 114, 116, 119, 116, 113, 100, 17, 39, 46, 70,
+  80, 104, 121, 134, 127, 255, 255, 255, 255, 79, 88, 68, 49, 81, 129, 156,
+  144, 112, 117, 125, 136, 131, 133, 117, 84, 63, 39, 49, 72, 100, 118, 125,
+  130, 130, 127, 130, 135, 135, 130, 129, 134, 137, 136, 134, 135, 129, 126, 128,
+  131, 127, 119, 127, 136, 136, 127, 124, 132, 136, 134, 130, 134, 134, 126, 117,
+  116, 125, 134, 118, 126, 133, 134, 133, 135, 137, 134, 124, 126, 127, 123, 115,
+  109, 106, 107, 100, 98, 99, 103, 105, 107, 117, 128, 111, 117, 118, 113, 109,
+  111, 115, 114, 127, 125, 124, 123, 122, 121, 118, 117, 116, 109, 100, 32, 56,
+  62, 87, 100, 120, 148, 163, 255, 255, 255, 255, 255, 76, 90, 74, 55, 73,
+  110, 146, 153, 127, 122, 128, 134, 125, 125, 114, 89, 77, 58, 71, 81, 96,
+  109, 120, 129, 128, 122, 132, 136, 137, 134, 133, 137, 140, 140, 136, 137, 134,
+  134, 137, 139, 136, 129, 128, 126, 120, 121, 135, 149, 144, 131, 122, 124, 125,
+  123, 119, 120, 124, 128, 115, 122, 128, 129, 130, 133, 132, 129, 124, 124, 123,
+  121, 117, 113, 110, 109, 115, 111, 106, 108, 109, 111, 117, 124, 113, 117, 118,
+  113, 112, 117, 124, 126, 133, 127, 123, 122, 125, 124, 120, 114, 124, 106, 100,
+  53, 74, 76, 93, 107, 134, 155, 191, 255, 255, 255, 255, 255, 74, 87, 82,
+  58, 62, 83, 125, 156, 141, 128, 133, 135, 123, 126, 122, 109, 108, 95, 90,
+  95, 102, 109, 120, 129, 129, 122, 130, 132, 134, 134, 133, 136, 139, 141, 137,
+  138, 137, 139, 141, 141, 137, 133, 131, 136, 134, 133, 134, 139, 137, 132, 122,
+  123, 122, 122, 121, 120, 118, 118, 121, 127, 132, 132, 133, 135, 133, 127, 129,
+  124, 117, 112, 112, 114, 117, 118, 125, 125, 124, 127, 126, 124, 119, 118, 120,
+  125, 126, 123, 122, 127, 131, 132, 130, 127, 124, 126, 127, 128, 126, 122, 125,
+  94, 90, 67, 88, 88, 96, 107, 144, 140, 255, 255, 255, 255, 255, 255, 197,
+  88, 76, 55, 51, 62, 108, 152, 142, 123, 134, 134, 119, 124, 125, 121, 128,
+  120, 101, 105, 109, 112, 119, 127, 128, 125, 128, 130, 133, 135, 135, 137, 139,
+  143, 141, 142, 140, 143, 143, 140, 137, 135, 143, 146, 141, 130, 121, 123, 131,
+  139, 127, 125, 122, 124, 124, 124, 120, 116, 129, 134, 135, 135, 135, 136, 133,
+  126, 130, 125, 118, 114, 115, 118, 120, 123, 115, 120, 124, 130, 132, 133, 129,
+  124, 128, 132, 134, 131, 130, 133, 132, 130, 131, 133, 134, 133, 131, 130, 131,
+  132, 116, 81, 83, 83, 105, 107, 110, 118, 150, 126, 255, 255, 255, 255, 255,
+  255, 255, 82, 71, 53, 51, 58, 102, 149, 140, 121, 133, 129, 113, 119, 124,
+  122, 131, 124, 107, 110, 111, 111, 115, 123, 127, 127, 132, 132, 136, 141, 142,
+  142, 144, 149, 149, 148, 146, 149, 148, 143, 141, 142, 143, 142, 138, 136, 133,
+  134, 133, 133, 123, 121, 118, 119, 121, 123, 120, 117, 130, 134, 136, 136, 137,
+  137, 132, 125, 127, 125, 126, 125, 122, 121, 121, 121, 118, 123, 124, 123, 125,
+  131, 132, 133, 131, 136, 136, 135, 133, 135, 133, 129, 133, 136, 137, 133, 127,
+  124, 124, 125, 119, 86, 98, 107, 116, 120, 117, 124, 146, 255, 255, 255, 255,
+  255, 255, 255, 255, 194, 79, 59, 52, 54, 94, 143, 143, 132, 136, 131, 115,
+  122, 128, 127, 136, 127, 113, 112, 109, 106, 112, 124, 131, 131, 136, 135, 139,
+  147, 148, 147, 149, 156, 155, 152, 150, 154, 152, 146, 146, 150, 139, 138, 139,
+  143, 143, 140, 131, 126, 120, 117, 113, 114, 115, 118, 119, 119, 129, 133, 135,
+  135, 138, 140, 134, 127, 126, 127, 127, 124, 119, 116, 118, 122, 131, 136, 133,
+  126, 122, 127, 131, 132, 133, 136, 135, 134, 135, 139, 139, 136, 136, 134, 132,
+  128, 124, 120, 116, 115, 116, 97, 119, 130, 118, 120, 118, 127, 137, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 86, 61, 47, 41, 78, 132, 144, 143, 140,
+  137, 122, 130, 138, 137, 146, 137, 120, 114, 105, 102, 112, 128, 135, 135, 137,
+  136, 141, 149, 151, 149, 151, 159, 156, 153, 150, 155, 153, 148, 149, 155, 144,
+  140, 135, 130, 123, 121, 125, 131, 126, 122, 117, 115, 115, 118, 120, 122, 128,
+  132, 134, 136, 140, 143, 138, 130, 128, 127, 123, 115, 107, 108, 116, 124, 127,
+  136, 137, 129, 124, 127, 132, 132, 136, 137, 135, 133, 137, 144, 148, 145, 142,
+  137, 131, 128, 128, 126, 119, 114, 100, 93, 127, 138, 115, 118, 124, 139, 135,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 54, 48, 52, 59, 84, 126,
+  151, 146, 128, 130, 141, 137, 135, 140, 138, 122, 115, 107, 105, 111, 122, 132,
+  138, 136, 139, 143, 146, 148, 152, 156, 160, 158, 160, 159, 159, 155, 152, 150,
+  150, 136, 133, 128, 124, 125, 128, 126, 124, 116, 114, 114, 119, 126, 128, 125,
+  121, 125, 136, 144, 142, 138, 137, 137, 135, 128, 128, 120, 107, 101, 110, 122,
+  128, 128, 126, 124, 125, 127, 130, 129, 129, 136, 135, 135, 136, 138, 143, 148,
+  151, 146, 141, 135, 134, 135, 132, 121, 114, 105, 106, 121, 131, 125, 125, 132,
+  132, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 67, 61, 51, 55,
+  79, 111, 130, 148, 134, 135, 143, 141, 139, 138, 135, 129, 120, 110, 108, 113,
+  122, 129, 132, 134, 137, 142, 146, 149, 153, 157, 160, 155, 158, 157, 156, 152,
+  148, 146, 145, 140, 135, 129, 124, 123, 123, 121, 119, 106, 104, 104, 110, 118,
+  123, 123, 121, 134, 132, 133, 140, 148, 149, 142, 134, 135, 131, 121, 110, 105,
+  108, 111, 110, 112, 114, 118, 122, 125, 127, 126, 127, 129, 130, 133, 136, 139,
+  141, 142, 143, 143, 142, 138, 134, 130, 123, 115, 111, 105, 105, 117, 128, 129,
+  136, 137, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 57,
+  50, 55, 63, 94, 137, 143, 136, 136, 143, 146, 144, 137, 131, 134, 124, 112,
+  110, 115, 122, 125, 124, 128, 132, 139, 144, 147, 151, 154, 157, 154, 157, 155,
+  154, 149, 144, 141, 140, 134, 131, 127, 124, 121, 117, 111, 108, 103, 103, 106,
+  113, 118, 120, 117, 114, 117, 111, 115, 131, 144, 142, 134, 131, 132, 123, 110,
+  100, 99, 104, 105, 101, 98, 106, 115, 120, 121, 120, 120, 121, 123, 126, 131,
+  135, 138, 137, 136, 136, 137, 139, 138, 134, 126, 119, 113, 111, 105, 109, 119,
+  126, 134, 149, 141, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 55, 66, 72, 46, 64, 134, 138, 139, 142, 146, 154, 153, 142, 136, 131,
+  121, 111, 108, 115, 121, 121, 119, 124, 128, 135, 140, 143, 145, 147, 148, 154,
+  156, 154, 152, 146, 140, 137, 135, 126, 124, 126, 129, 126, 118, 110, 107, 103,
+  104, 107, 111, 110, 106, 98, 92, 85, 87, 102, 123, 129, 120, 120, 129, 123,
+  112, 95, 82, 80, 86, 94, 99, 103, 110, 118, 120, 116, 113, 114, 116, 120,
+  122, 126, 130, 132, 133, 132, 132, 132, 133, 133, 131, 126, 121, 116, 113, 103,
+  114, 127, 131, 137, 149, 134, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 192, 79, 80, 40, 40, 97, 136, 151, 153, 154, 165, 163, 148,
+  142, 126, 117, 108, 107, 113, 120, 120, 119, 124, 128, 134, 138, 139, 140, 140,
+  142, 149, 151, 147, 144, 138, 133, 130, 129, 126, 123, 124, 127, 126, 122, 120,
+  124, 110, 107, 102, 97, 93, 89, 85, 82, 81, 83, 99, 120, 126, 116, 113,
+  120, 110, 102, 91, 79, 73, 76, 85, 95, 112, 118, 121, 120, 115, 113, 115,
+  119, 121, 121, 122, 123, 125, 127, 129, 130, 135, 132, 127, 127, 127, 123, 116,
+  109, 96, 115, 135, 136, 135, 140, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 53, 53, 50, 56, 78, 128, 154, 156, 151, 162,
+  160, 142, 141, 125, 118, 112, 108, 112, 116, 121, 122, 125, 128, 133, 135, 135,
+  136, 137, 139, 142, 142, 137, 132, 126, 122, 121, 121, 124, 116, 112, 115, 115,
+  114, 121, 133, 129, 121, 108, 97, 92, 93, 97, 102, 98, 89, 91, 108, 122,
+  118, 107, 100, 86, 86, 89, 90, 87, 87, 93, 102, 115, 117, 118, 116, 114,
+  115, 119, 123, 120, 118, 117, 116, 117, 121, 124, 128, 137, 132, 125, 122, 123,
+  118, 107, 99, 94, 115, 136, 138, 133, 131, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 183, 62, 78, 75, 110, 148, 153,
+  145, 158, 157, 141, 146, 134, 129, 121, 114, 112, 114, 120, 124, 120, 123, 126,
+  129, 129, 131, 133, 136, 137, 136, 129, 123, 117, 115, 115, 117, 116, 110, 110,
+  116, 114, 109, 114, 125, 133, 128, 119, 111, 106, 105, 109, 112, 102, 94, 87,
+  94, 105, 110, 104, 94, 82, 82, 87, 96, 101, 101, 104, 110, 115, 114, 114,
+  113, 114, 116, 118, 119, 116, 115, 113, 112, 113, 116, 120, 123, 130, 127, 122,
+  118, 114, 108, 98, 92, 101, 115, 134, 141, 137, 174, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 71, 57, 102,
+  146, 154, 146, 163, 164, 153, 160, 142, 138, 130, 120, 112, 113, 120, 125, 115,
+  117, 119, 121, 123, 126, 130, 133, 138, 135, 128, 120, 114, 114, 115, 118, 109,
+  110, 119, 131, 128, 115, 110, 114, 113, 114, 115, 114, 109, 102, 97, 95, 95,
+  97, 94, 88, 90, 99, 105, 104, 103, 96, 91, 97, 102, 101, 101, 104, 114,
+  113, 110, 111, 112, 113, 113, 111, 111, 111, 110, 110, 111, 113, 116, 118, 118,
+  120, 118, 114, 106, 99, 94, 93, 110, 117, 134, 144, 145, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  190, 72, 125, 166, 158, 140, 145, 154, 154, 148, 147, 131, 118, 118, 115, 112,
+  119, 111, 116, 120, 119, 118, 121, 129, 134, 131, 127, 115, 106, 107, 113, 111,
+  104, 109, 107, 112, 120, 118, 110, 111, 119, 105, 109, 114, 115, 111, 108, 107,
+  108, 112, 105, 106, 115, 116, 105, 96, 93, 89, 92, 95, 99, 103, 105, 106,
+  107, 115, 113, 109, 107, 107, 107, 108, 108, 110, 110, 108, 108, 107, 106, 106,
+  105, 109, 107, 108, 105, 96, 90, 91, 98, 113, 161, 138, 163, 182, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 63, 101, 145, 161, 157, 151, 156, 160, 147, 147, 128, 108, 106,
+  108, 108, 113, 109, 116, 120, 121, 119, 122, 127, 132, 126, 118, 105, 94, 95,
+  103, 103, 98, 102, 103, 105, 109, 106, 104, 106, 113, 114, 114, 115, 113, 112,
+  114, 120, 125, 115, 110, 107, 112, 114, 109, 103, 100, 95, 95, 97, 100, 103,
+  106, 110, 110, 108, 110, 112, 110, 103, 99, 99, 101, 105, 105, 104, 104, 103,
+  102, 103, 103, 102, 102, 101, 97, 87, 82, 88, 100, 133, 159, 146, 149, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 120, 152, 159, 149, 152, 166, 163, 161, 135,
+  107, 105, 112, 112, 113, 111, 115, 120, 122, 120, 120, 125, 130, 125, 115, 100,
+  91, 94, 103, 106, 104, 110, 114, 116, 113, 111, 116, 120, 123, 113, 114, 115,
+  115, 117, 120, 126, 131, 119, 116, 110, 107, 109, 113, 113, 109, 107, 106, 105,
+  106, 109, 112, 116, 119, 106, 112, 117, 115, 106, 99, 98, 100, 102, 102, 100,
+  100, 100, 99, 101, 101, 96, 98, 98, 92, 80, 77, 90, 109, 144, 140, 143,
+  169, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 130, 133, 145, 164, 167,
+  163, 132, 100, 103, 115, 118, 116, 115, 116, 118, 119, 117, 117, 123, 132, 125,
+  113, 100, 96, 102, 110, 113, 111, 102, 112, 115, 109, 108, 117, 122, 121, 111,
+  114, 119, 123, 126, 127, 127, 127, 126, 126, 119, 108, 109, 119, 123, 118, 116,
+  116, 115, 115, 116, 119, 120, 121, 112, 115, 119, 117, 112, 106, 103, 103, 102,
+  102, 99, 99, 98, 98, 98, 100, 95, 99, 100, 94, 82, 83, 100, 122, 156,
+  125, 137, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211,
+  137, 126, 119, 91, 74, 92, 115, 119, 117, 122, 118, 116, 115, 112, 112, 122,
+  135, 126, 113, 102, 101, 107, 112, 108, 104, 99, 110, 113, 108, 109, 117, 122,
+  120, 117, 119, 122, 127, 130, 130, 128, 126, 131, 132, 126, 114, 115, 124, 127,
+  122, 117, 118, 117, 117, 116, 117, 116, 117, 118, 114, 111, 111, 112, 111, 107,
+  104, 100, 99, 97, 95, 95, 95, 96, 98, 98, 100, 101, 96, 89, 90, 107,
+  126, 162, 119, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 189, 39, 46, 86, 116, 123, 123, 126, 119, 114, 113, 109,
+  108, 120, 136, 133, 119, 108, 109, 113, 111, 102, 96, 101, 107, 108, 106, 103,
+  109, 114, 116, 117, 114, 111, 110, 113, 116, 117, 117, 122, 123, 122, 119, 118,
+  121, 122, 120, 119, 118, 116, 114, 112, 112, 112, 113, 119, 111, 104, 103, 107,
+  109, 106, 102, 94, 93, 91, 90, 91, 93, 95, 97, 101, 100, 98, 97, 93,
+  93, 102, 114, 129, 151, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 36, 92, 122, 126, 126, 127, 118, 114,
+  114, 109, 107, 117, 134, 139, 123, 110, 113, 117, 114, 105, 98, 90, 86, 82,
+  80, 75, 76, 82, 92, 103, 99, 95, 94, 97, 99, 100, 98, 98, 99, 105,
+  111, 112, 108, 105, 106, 115, 111, 105, 100, 97, 98, 101, 104, 104, 97, 91,
+  89, 90, 90, 89, 87, 87, 87, 86, 87, 91, 95, 99, 102, 106, 99, 95,
+  95, 96, 93, 91, 93, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 183, 97, 124, 121, 119, 127,
+  117, 115, 116, 111, 106, 116, 132, 135, 117, 105, 109, 115, 113, 106, 101, 93,
+  82, 74, 71, 64, 60, 69, 84, 90, 89, 90, 92, 96, 95, 90, 84, 77,
+  78, 88, 103, 104, 94, 89, 94, 105, 98, 88, 80, 78, 81, 87, 90, 81,
+  79, 76, 72, 68, 65, 65, 65, 84, 84, 85, 88, 93, 99, 105, 110, 111,
+  101, 94, 96, 98, 92, 83, 137, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 99, 116, 122,
+  129, 126, 119, 123, 129, 116, 97, 99, 117, 128, 116, 112, 118, 119, 113, 110,
+  115, 112, 93, 79, 78, 72, 63, 69, 85, 92, 110, 113, 97, 95, 107, 106,
+  92, 96, 116, 124, 109, 97, 99, 102, 98, 118, 105, 89, 79, 78, 82, 85,
+  86, 68, 64, 63, 56, 40, 29, 44, 68, 86, 84, 89, 100, 105, 103, 101,
+  104, 111, 103, 97, 99, 99, 93, 83, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 104,
+  120, 124, 127, 119, 115, 120, 126, 113, 95, 98, 115, 126, 117, 114, 120, 121,
+  117, 118, 126, 118, 104, 92, 90, 87, 85, 93, 105, 112, 128, 130, 116, 114,
+  127, 128, 117, 130, 160, 170, 143, 112, 111, 128, 142, 146, 134, 118, 107, 103,
+  102, 101, 99, 75, 68, 63, 57, 47, 42, 59, 82, 95, 92, 95, 103, 107,
+  105, 104, 107, 106, 99, 95, 98, 96, 85, 131, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 112, 125, 123, 124, 112, 111, 115, 121, 112, 98, 98, 109, 125, 120, 119,
+  124, 123, 119, 122, 130, 119, 113, 105, 99, 97, 102, 106, 111, 118, 131, 134,
+  125, 127, 141, 145, 136, 145, 175, 189, 163, 132, 131, 153, 173, 166, 156, 143,
+  131, 124, 120, 115, 111, 90, 80, 71, 68, 66, 68, 86, 105, 108, 105, 104,
+  108, 111, 108, 107, 108, 99, 94, 93, 97, 94, 80, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 120, 128, 121, 118, 117, 114, 116, 122, 120, 112, 108, 110, 122,
+  121, 124, 127, 124, 118, 119, 125, 120, 123, 118, 108, 104, 108, 107, 102, 111,
+  120, 123, 119, 124, 138, 145, 141, 140, 160, 168, 157, 144, 146, 155, 161, 167,
+  158, 144, 134, 126, 121, 118, 115, 101, 90, 81, 82, 84, 91, 104, 117, 115,
+  113, 113, 114, 114, 111, 106, 104, 95, 92, 94, 96, 92, 136, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 126, 129, 117, 112, 124, 120, 119, 124, 128, 127, 119,
+  112, 112, 116, 123, 127, 125, 119, 117, 119, 123, 130, 129, 120, 114, 114, 108,
+  97, 109, 112, 113, 111, 117, 127, 131, 129, 138, 147, 150, 142, 138, 142, 144,
+  142, 157, 148, 135, 123, 115, 113, 111, 111, 100, 91, 87, 91, 96, 102, 108,
+  112, 116, 118, 117, 117, 115, 111, 103, 97, 97, 96, 94, 93, 84, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 133, 130, 114, 108, 117, 117, 116, 117, 121,
+  122, 116, 108, 104, 110, 117, 124, 126, 124, 120, 119, 120, 127, 129, 124, 119,
+  119, 112, 103, 111, 110, 107, 107, 109, 111, 111, 109, 122, 130, 133, 125, 120,
+  126, 137, 144, 145, 138, 127, 115, 106, 104, 104, 104, 100, 97, 97, 103, 109,
+  113, 112, 109, 116, 119, 118, 114, 112, 108, 101, 93, 97, 98, 97, 88, 132,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 138, 131, 113, 107, 107, 115, 118,
+  113, 110, 111, 112, 108, 108, 111, 115, 120, 125, 127, 124, 121, 120, 122, 123,
+  122, 120, 119, 116, 113, 114, 110, 107, 108, 108, 105, 102, 99, 102, 108, 112,
+  110, 110, 117, 127, 134, 127, 123, 116, 108, 102, 98, 98, 99, 102, 104, 106,
+  112, 118, 121, 117, 111, 118, 120, 115, 108, 106, 105, 102, 95, 92, 96, 97,
+  86, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 143, 132, 114, 109, 106,
+  122, 130, 120, 109, 111, 117, 119, 118, 117, 117, 118, 124, 128, 126, 121, 127,
+  123, 123, 123, 123, 122, 121, 124, 120, 114, 112, 116, 117, 113, 107, 106, 105,
+  104, 104, 108, 115, 118, 113, 105, 109, 109, 107, 103, 99, 98, 99, 100, 100,
+  104, 107, 113, 118, 121, 117, 111, 121, 122, 113, 104, 100, 104, 103, 99, 84,
+  93, 98, 86, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 134, 140, 129,
+  113, 111, 117, 120, 118, 110, 109, 117, 125, 114, 112, 115, 122, 128, 131, 127,
+  120, 125, 124, 123, 121, 121, 122, 123, 123, 117, 120, 123, 120, 114, 110, 111,
+  113, 113, 116, 118, 119, 118, 112, 106, 102, 95, 98, 102, 106, 107, 107, 105,
+  103, 106, 108, 110, 116, 121, 122, 118, 114, 122, 116, 108, 107, 108, 106, 98,
+  90, 95, 88, 80, 140, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 126, 137,
+  135, 124, 114, 106, 110, 113, 116, 114, 113, 111, 110, 111, 111, 114, 118, 124,
+  126, 126, 123, 113, 113, 114, 116, 117, 118, 120, 120, 113, 116, 118, 115, 109,
+  107, 109, 112, 117, 117, 117, 117, 116, 114, 112, 110, 107, 107, 108, 109, 110,
+  110, 110, 110, 113, 114, 114, 118, 120, 118, 110, 105, 108, 108, 110, 112, 110,
+  105, 98, 93, 91, 91, 80, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  129, 133, 125, 121, 124, 112, 108, 106, 109, 113, 113, 107, 100, 108, 110, 113,
+  115, 117, 120, 123, 125, 115, 115, 117, 119, 120, 121, 122, 122, 121, 123, 123,
+  121, 117, 116, 118, 120, 119, 117, 115, 114, 114, 115, 117, 118, 118, 116, 113,
+  111, 110, 112, 114, 115, 121, 120, 119, 121, 122, 118, 111, 105, 101, 105, 107,
+  104, 97, 90, 84, 83, 85, 92, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 113, 139, 141, 127, 117, 117, 122, 113, 103, 101, 106, 110, 108, 104, 109,
+  112, 115, 114, 111, 114, 120, 126, 124, 123, 122, 121, 121, 122, 123, 124, 129,
+  131, 132, 129, 127, 124, 123, 123, 117, 115, 112, 110, 110, 111, 113, 116, 117,
+  116, 113, 110, 110, 112, 114, 115, 121, 119, 116, 116, 118, 118, 114, 111, 110,
+  108, 104, 97, 89, 85, 83, 84, 80, 85, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 114, 151, 158, 138, 115, 102, 115, 110, 102, 100, 102, 107, 110,
+  111, 111, 115, 118, 115, 110, 111, 118, 124, 125, 122, 119, 116, 117, 119, 122,
+  124, 124, 127, 130, 129, 126, 121, 117, 113, 111, 110, 108, 106, 105, 104, 103,
+  103, 108, 108, 108, 110, 110, 111, 112, 113, 119, 113, 107, 105, 107, 110, 110,
+  110, 115, 111, 106, 102, 100, 97, 93, 91, 65, 64, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 71, 114, 141, 147, 139, 125, 115, 105, 105, 104, 105, 106,
+  108, 110, 111, 111, 115, 117, 117, 113, 112, 117, 120, 122, 120, 117, 116, 118,
+  122, 126, 129, 122, 123, 125, 126, 124, 120, 114, 111, 110, 109, 108, 106, 104,
+  101, 98, 97, 104, 106, 109, 112, 114, 114, 114, 114, 124, 118, 109, 105, 106,
+  109, 110, 110, 110, 106, 102, 98, 95, 89, 81, 75, 53, 117, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 92, 126, 135, 133, 137, 138, 135, 114, 111, 108,
+  107, 107, 109, 108, 108, 106, 110, 115, 118, 117, 117, 118, 119, 124, 124, 124,
+  125, 126, 127, 129, 130, 128, 127, 127, 127, 127, 126, 124, 122, 120, 119, 117,
+  115, 112, 110, 108, 107, 112, 114, 116, 118, 121, 122, 122, 122, 129, 124, 116,
+  113, 113, 114, 114, 112, 105, 102, 96, 88, 81, 79, 81, 83, 82, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 105, 147, 152, 142, 141, 137, 129, 136,
+  126, 112, 105, 105, 108, 108, 107, 101, 105, 112, 117, 118, 119, 119, 118, 125,
+  126, 128, 130, 130, 128, 125, 123, 132, 130, 127, 126, 128, 132, 133, 134, 132,
+  130, 127, 124, 122, 121, 121, 122, 122, 123, 122, 124, 126, 127, 128, 130, 124,
+  121, 116, 116, 117, 117, 113, 111, 105, 103, 95, 85, 81, 90, 111, 128, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 109, 146, 149, 142, 136, 132,
+  137, 138, 133, 123, 111, 101, 97, 98, 100, 97, 102, 105, 104, 109, 118, 122,
+  118, 118, 122, 128, 132, 133, 132, 132, 132, 142, 140, 136, 133, 131, 133, 134,
+  135, 132, 128, 122, 123, 125, 128, 126, 126, 125, 127, 126, 126, 128, 135, 135,
+  133, 132, 130, 122, 113, 110, 113, 113, 110, 97, 112, 99, 82, 85, 86, 88,
+  104, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 109, 142, 140, 137,
+  136, 134, 135, 139, 136, 129, 117, 105, 99, 98, 99, 99, 103, 105, 105, 111,
+  120, 125, 124, 122, 125, 129, 131, 132, 133, 134, 134, 143, 141, 138, 135, 134,
+  135, 136, 136, 134, 131, 128, 127, 127, 129, 130, 129, 129, 131, 129, 127, 129,
+  134, 134, 131, 129, 127, 121, 113, 110, 111, 110, 105, 96, 102, 93, 75, 70,
+  73, 81, 148, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 121, 144,
+  136, 136, 145, 143, 138, 138, 139, 135, 125, 112, 102, 99, 100, 105, 106, 105,
+  103, 105, 111, 115, 115, 122, 125, 128, 130, 130, 132, 134, 135, 139, 138, 137,
+  135, 134, 134, 134, 134, 133, 133, 133, 131, 129, 128, 129, 130, 132, 133, 131,
+  128, 128, 132, 130, 127, 121, 123, 121, 116, 114, 114, 108, 102, 88, 89, 93,
+  86, 76, 83, 99, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  138, 150, 135, 137, 149, 147, 138, 136, 140, 140, 133, 120, 110, 106, 106, 106,
+  105, 102, 99, 100, 103, 107, 109, 114, 117, 123, 127, 129, 130, 131, 133, 134,
+  133, 132, 132, 132, 132, 131, 130, 130, 133, 135, 133, 129, 126, 127, 131, 132,
+  134, 131, 127, 128, 130, 129, 125, 114, 118, 122, 121, 118, 115, 105, 96, 77,
+  78, 93, 98, 85, 94, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 146, 150, 132, 134, 145, 142, 134, 134, 139, 141, 137, 128, 119, 115,
+  114, 103, 100, 98, 97, 98, 101, 106, 109, 101, 106, 114, 121, 125, 126, 126,
+  127, 129, 129, 128, 128, 129, 129, 128, 129, 130, 132, 135, 135, 130, 128, 128,
+  130, 129, 129, 127, 123, 123, 126, 125, 120, 110, 115, 119, 117, 113, 106, 93,
+  82, 70, 64, 74, 78, 68, 76, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 148, 150, 136, 137, 144, 141, 138, 136, 138, 139, 137, 133,
+  128, 123, 122, 111, 105, 100, 97, 93, 89, 89, 92, 91, 98, 105, 112, 116,
+  118, 119, 120, 125, 125, 123, 123, 124, 125, 126, 127, 128, 130, 133, 134, 132,
+  130, 128, 128, 124, 124, 121, 118, 118, 120, 118, 114, 108, 111, 108, 103, 96,
+  90, 80, 70, 65, 55, 52, 52, 50, 125, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 141, 144, 139, 142, 144, 143, 147, 141, 139, 136,
+  136, 135, 133, 129, 125, 123, 115, 108, 103, 96, 86, 82, 83, 90, 95, 99,
+  103, 105, 108, 112, 115, 119, 118, 116, 116, 116, 118, 120, 122, 122, 123, 125,
+  128, 130, 128, 125, 123, 122, 122, 118, 112, 111, 112, 110, 104, 105, 102, 93,
+  83, 79, 80, 80, 76, 79, 71, 58, 57, 67, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 135, 135, 141, 139, 140, 150, 145,
+  140, 135, 134, 136, 135, 130, 125, 124, 117, 113, 113, 109, 100, 97, 100, 95,
+  95, 96, 96, 97, 102, 109, 114, 113, 112, 109, 108, 108, 111, 115, 117, 117,
+  116, 118, 122, 126, 126, 121, 116, 121, 121, 116, 109, 106, 107, 103, 99, 102,
+  95, 83, 71, 71, 81, 88, 91, 104, 101, 84, 82, 148, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 135, 137, 137, 139, 138,
+  136, 139, 140, 138, 135, 132, 129, 125, 123, 119, 115, 111, 112, 113, 110, 103,
+  96, 90, 87, 82, 80, 85, 96, 110, 120, 118, 110, 102, 98, 103, 112, 116,
+  116, 113, 118, 119, 114, 114, 119, 121, 118, 121, 127, 119, 97, 87, 93, 97,
+  92, 86, 73, 57, 64, 86, 93, 87, 92, 101, 96, 97, 105, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 217, 141, 137,
+  135, 133, 129, 144, 143, 142, 139, 136, 133, 130, 128, 121, 117, 114, 113, 114,
+  113, 108, 102, 96, 92, 86, 81, 80, 85, 92, 97, 106, 102, 97, 94, 100,
+  105, 105, 102, 99, 106, 110, 106, 103, 106, 112, 113, 118, 117, 107, 92, 86,
+  89, 89, 84, 66, 65, 55, 56, 75, 85, 88, 96, 92, 91, 94, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  217, 138, 136, 134, 131, 143, 143, 142, 140, 137, 135, 132, 131, 124, 120, 115,
+  115, 116, 116, 113, 111, 106, 102, 97, 91, 86, 82, 81, 81, 87, 84, 85,
+  90, 95, 96, 94, 91, 94, 103, 108, 103, 97, 99, 106, 111, 112, 103, 91,
+  82, 78, 75, 70, 66, 69, 82, 77, 70, 77, 84, 83, 86, 80, 83, 146,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 217, 142, 141, 139, 140, 139, 139, 137, 134, 132, 131, 125,
+  122, 118, 117, 117, 119, 119, 118, 114, 112, 110, 106, 103, 95, 89, 85, 79,
+  77, 78, 82, 83, 79, 75, 73, 81, 85, 87, 84, 80, 79, 83, 87, 85,
+  76, 69, 68, 67, 63, 62, 64, 82, 102, 102, 89, 91, 92, 82, 75, 70,
+  136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 218, 143, 137, 137, 137, 137, 136, 135, 134,
+  133, 130, 127, 125, 123, 123, 125, 126, 128, 119, 118, 117, 116, 115, 109, 101,
+  96, 92, 85, 81, 81, 75, 66, 59, 59, 60, 58, 56, 57, 58, 59, 58,
+  59, 55, 53, 54, 59, 62, 64, 73, 85, 84, 100, 97, 87, 94, 97, 88,
+  79, 73, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 135, 139, 139, 139, 140, 139,
+  139, 138, 137, 135, 133, 132, 130, 130, 132, 133, 134, 122, 120, 118, 118, 118,
+  114, 107, 100, 102, 95, 90, 91, 88, 81, 79, 84, 73, 66, 63, 67, 71,
+  71, 69, 69, 61, 63, 63, 61, 62, 70, 82, 92, 96, 101, 90, 80, 89,
+  95, 90, 88, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 139, 141,
+  141, 141, 141, 142, 141, 135, 135, 134, 133, 132, 132, 133, 134, 126, 122, 118,
+  117, 119, 118, 113, 109, 103, 97, 97, 103, 103, 100, 101, 111, 100, 94, 90,
+  93, 92, 88, 85, 89, 81, 82, 74, 63, 63, 78, 88, 92, 104, 105, 93,
+  88, 94, 93, 88, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  216, 139, 140, 141, 141, 142, 141, 133, 133, 133, 132, 130, 129, 131, 131, 130,
+  125, 119, 119, 123, 125, 123, 120, 105, 98, 98, 104, 102, 94, 96, 105, 108,
+  103, 100, 98, 90, 81, 79, 84, 86, 86, 74, 61, 68, 90, 101, 99, 92,
+  97, 95, 98, 103, 148, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 216, 136, 135, 139, 143, 137, 134, 131, 129, 130, 130, 129,
+  128, 122, 124, 126, 128, 130, 129, 128, 127, 113, 119, 119, 111, 107, 108, 109,
+  106, 100, 106, 111, 107, 97, 89, 87, 88, 86, 85, 81, 79, 86, 98, 100,
+  96, 92, 93, 94, 98, 151, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 214, 131, 136, 142, 141, 138, 135, 134, 134,
+  134, 132, 130, 126, 127, 128, 129, 128, 128, 125, 124, 120, 126, 125, 116, 109,
+  111, 115, 116, 115, 114, 110, 103, 98, 97, 103, 109, 101, 95, 83, 75, 80,
+  92, 98, 97, 101, 96, 89, 144, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 214, 141, 139, 137, 135,
+  135, 135, 134, 132, 129, 129, 130, 130, 130, 128, 126, 122, 121, 122, 125, 124,
+  116, 109, 111, 117, 120, 120, 115, 107, 101, 98, 101, 107, 111, 99, 92, 82,
+  77, 84, 97, 104, 105, 105, 98, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 214,
+  132, 130, 129, 130, 128, 125, 123, 130, 130, 129, 129, 128, 126, 123, 121, 123,
+  122, 119, 116, 115, 117, 118, 118, 119, 115, 110, 108, 107, 105, 102, 98, 92,
+  88, 84, 86, 94, 102, 104, 104, 150, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 211, 124, 122, 121, 119, 127, 127, 127, 127, 126, 125, 124,
+  124, 126, 120, 116, 120, 125, 126, 121, 116, 122, 120, 118, 118, 118, 114, 106,
+  99, 99, 93, 88, 91, 96, 98, 97, 95, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 210, 120, 120, 123, 125, 125, 125, 124,
+  125, 124, 124, 122, 116, 112, 120, 126, 126, 120, 114, 124, 122, 118, 117, 117,
+  116, 111, 107, 99, 90, 83, 86, 93, 97, 99, 152, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211, 124, 123,
+  123, 122, 122, 123, 123, 116, 112, 112, 118, 120, 117, 116, 119, 122, 120, 117,
+  115, 113, 110, 106, 103, 89, 81, 78, 86, 95, 98, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 211, 121, 121, 121, 121, 118, 117, 119, 122, 120, 116, 121, 131, 120,
+  123, 124, 123, 117, 110, 101, 96, 88, 83, 85, 96, 152, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 209, 119, 118, 117, 116, 118, 120,
+  122, 121, 126, 125, 114, 104, 100, 94, 89, 143, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 198, 96, 111,
+  114, 86, 117, 213, 255, 255, 255, 255, 255, 255, 255, 223, 132, 70, 85, 118,
+  141, 145, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 200, 112, 113, 112, 118, 117, 99, 94, 85,
+  79, 82, 83, 73, 57, 58, 71, 69, 61, 66, 68, 67, 70, 75, 74, 77,
+  89, 109, 126, 124, 114, 76, 60, 41, 28, 25, 102, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 178, 32, 35, 28, 20, 17, 33, 52, 85, 106, 104, 101, 103, 98, 102,
+  98, 87, 77, 73, 71, 61, 50, 61, 65, 60, 58, 67, 68, 65, 70, 53,
+  55, 63, 82, 107, 120, 110, 94, 83, 68, 52, 41, 37, 34, 28, 23, 76,
+  204, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 177, 20, 25, 30, 31, 28, 28, 30, 47, 57, 80, 91, 85, 84, 85,
+  83, 86, 83, 76, 67, 66, 66, 63, 59, 66, 60, 52, 56, 66, 61, 55,
+  64, 55, 57, 59, 63, 75, 86, 90, 89, 84, 72, 60, 53, 49, 43, 31,
+  23, 26, 23, 23, 102, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 175, 26, 24, 28, 33, 37, 40, 50, 59, 69, 68, 76, 75, 68,
+  69, 73, 72, 63, 62, 61, 56, 57, 60, 66, 69, 68, 60, 54, 62, 67,
+  50, 43, 57, 60, 69, 71, 62, 54, 61, 76, 89, 81, 74, 66, 63, 62,
+  52, 40, 28, 25, 23, 24, 25, 30, 106, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 177, 24, 26, 31, 32, 42, 52, 60, 63, 70, 77, 78, 70, 72,
+  72, 63, 62, 63, 58, 57, 56, 55, 54, 53, 52, 57, 62, 66, 64, 64,
+  73, 71, 49, 42, 61, 57, 68, 75, 71, 66, 67, 72, 76, 73, 69, 64,
+  64, 66, 58, 46, 33, 25, 24, 23, 23, 27, 30, 32, 106, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 18, 19, 28, 36, 38, 43, 56, 71, 79, 77, 74, 74, 72,
+  65, 71, 73, 68, 67, 62, 49, 57, 55, 55, 55, 55, 54, 55, 60, 64,
+  67, 71, 79, 77, 56, 52, 72, 84, 77, 68, 65, 72, 77, 71, 62, 62,
+  60, 55, 56, 59, 53, 44, 33, 31, 29, 26, 23, 27, 32, 33, 31, 36,
+  102, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 23, 23, 24, 25, 33, 45, 53, 53, 58, 69, 77, 75, 72,
+  70, 71, 62, 67, 73, 73, 75, 74, 61, 58, 55, 57, 64, 66, 62, 61,
+  63, 66, 70, 70, 74, 75, 62, 59, 75, 99, 87, 71, 63, 66, 74, 70,
+  63, 63, 59, 53, 53, 57, 54, 48, 39, 41, 38, 32, 25, 28, 33, 34,
+  29, 35, 24, 24, 101, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 181, 32, 36, 43, 47, 44, 48, 55, 68, 58, 53, 56, 63,
+  67, 70, 73, 78, 64, 63, 69, 72, 84, 89, 82, 69, 65, 68, 73, 73,
+  65, 59, 59, 71, 72, 66, 65, 69, 62, 58, 69, 74, 81, 85, 82, 77,
+  75, 73, 71, 77, 72, 64, 63, 67, 67, 61, 55, 50, 47, 38, 29, 29,
+  34, 34, 27, 32, 21, 20, 23, 97, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 186, 44, 49, 58, 69, 75, 73, 66, 60, 70, 69, 74,
+  78, 75, 67, 66, 71, 71, 74, 69, 59, 67, 83, 83, 69, 71, 68, 71,
+  87, 102, 89, 74, 78, 78, 78, 78, 78, 76, 70, 63, 57, 65, 75, 83,
+  82, 73, 67, 69, 74, 87, 85, 78, 74, 67, 64, 66, 71, 72, 64, 54,
+  48, 39, 32, 34, 45, 42, 39, 35, 29, 27, 25, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 62, 55, 67, 66, 68, 68, 68, 70, 74, 77, 69,
+  65, 64, 68, 67, 62, 60, 63, 65, 67, 62, 51, 59, 72, 74, 61, 70,
+  77, 76, 77, 85, 84, 74, 74, 73, 69, 65, 63, 63, 62, 58, 55, 58,
+  63, 69, 74, 74, 72, 68, 67, 86, 82, 74, 77, 85, 86, 78, 67, 58,
+  57, 59, 64, 57, 44, 31, 29, 35, 34, 30, 27, 25, 23, 22, 100, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 62, 68, 65, 71, 68, 63, 57, 53, 57, 67,
+  76, 68, 60, 54, 57, 60, 58, 53, 49, 53, 56, 51, 41, 47, 57, 60,
+  48, 51, 67, 63, 51, 56, 64, 63, 62, 68, 60, 50, 46, 47, 49, 48,
+  46, 53, 57, 62, 62, 59, 58, 59, 62, 63, 75, 83, 81, 78, 81, 80,
+  74, 79, 71, 67, 69, 65, 54, 39, 31, 36, 35, 31, 28, 24, 24, 22,
+  23, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 189, 61, 67, 67, 71, 65, 60, 55, 54,
+  59, 67, 73, 70, 60, 52, 54, 59, 57, 47, 37, 42, 43, 39, 33, 37,
+  47, 49, 42, 57, 68, 62, 51, 59, 71, 72, 73, 70, 60, 48, 42, 43,
+  46, 45, 43, 48, 55, 57, 47, 34, 31, 42, 55, 51, 68, 75, 68, 66,
+  75, 81, 81, 95, 84, 73, 71, 70, 65, 52, 42, 41, 38, 31, 26, 22,
+  22, 23, 25, 21, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 192, 61, 55, 59, 59, 60, 49, 40,
+  38, 45, 53, 59, 61, 69, 62, 55, 55, 59, 57, 44, 30, 33, 34, 32,
+  28, 34, 43, 47, 41, 43, 41, 31, 33, 46, 51, 47, 53, 67, 58, 49,
+  46, 47, 49, 49, 47, 41, 44, 44, 39, 32, 31, 38, 47, 61, 54, 45,
+  46, 66, 86, 89, 79, 85, 80, 75, 77, 80, 76, 61, 47, 48, 41, 31,
+  23, 17, 18, 20, 23, 28, 27, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 191, 70, 70, 62, 53, 54, 59, 53,
+  41, 28, 27, 36, 48, 53, 54, 61, 58, 53, 51, 52, 51, 41, 30, 27,
+  28, 28, 25, 32, 40, 46, 44, 53, 48, 36, 41, 55, 55, 49, 54, 52,
+  49, 46, 45, 46, 48, 49, 49, 46, 41, 40, 47, 57, 61, 54, 46, 47,
+  41, 38, 42, 56, 71, 79, 82, 95, 90, 81, 76, 74, 75, 67, 58, 60,
+  52, 40, 27, 21, 19, 21, 22, 34, 21, 92, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 60, 69, 74, 65, 55, 58,
+  65, 59, 52, 46, 46, 51, 56, 57, 55, 45, 47, 45, 38, 37, 39, 38,
+  33, 23, 24, 25, 23, 30, 37, 43, 43, 40, 46, 39, 34, 44, 52, 49,
+  49, 50, 50, 50, 47, 45, 44, 47, 50, 52, 48, 47, 51, 59, 61, 57,
+  52, 30, 37, 51, 57, 50, 43, 53, 72, 93, 92, 84, 74, 69, 73, 74,
+  72, 71, 64, 51, 39, 31, 25, 24, 22, 25, 17, 13, 98, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 64, 70, 80, 82, 71,
+  58, 59, 67, 41, 44, 48, 51, 50, 45, 38, 33, 33, 38, 36, 27, 24,
+  29, 35, 36, 22, 22, 21, 22, 26, 34, 38, 41, 44, 64, 59, 41, 50,
+  69, 72, 65, 63, 64, 63, 57, 50, 47, 50, 55, 49, 53, 53, 43, 31,
+  30, 40, 52, 43, 43, 55, 71, 66, 46, 40, 48, 53, 67, 79, 81, 79,
+  81, 78, 75, 69, 66, 55, 44, 32, 25, 18, 16, 7, 15, 26, 24, 90,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 188, 56, 57, 54, 60,
+  65, 58, 46, 49, 61, 59, 49, 37, 34, 38, 39, 33, 26, 32, 32, 32,
+  32, 31, 28, 26, 25, 19, 20, 22, 23, 24, 29, 37, 42, 42, 46, 47,
+  45, 41, 41, 43, 47, 52, 52, 51, 44, 37, 34, 40, 46, 55, 53, 50,
+  48, 48, 46, 44, 43, 36, 38, 40, 43, 45, 47, 48, 48, 50, 55, 62,
+  69, 75, 77, 79, 80, 75, 77, 68, 59, 52, 39, 27, 32, 33, 24, 11,
+  9, 21, 96, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 81, 83, 66,
+  66, 67, 70, 66, 55, 46, 44, 44, 38, 33, 32, 36, 37, 36, 33, 25,
+  26, 26, 25, 24, 22, 20, 19, 22, 22, 21, 19, 21, 22, 26, 30, 29,
+  33, 39, 42, 42, 41, 43, 46, 44, 49, 53, 53, 47, 39, 33, 31, 37,
+  35, 33, 34, 35, 34, 30, 26, 32, 31, 35, 38, 40, 42, 43, 43, 53,
+  52, 50, 49, 52, 55, 60, 63, 69, 74, 71, 65, 66, 53, 41, 40, 30,
+  25, 12, 9, 15, 11, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 74, 73,
+  71, 68, 68, 64, 61, 60, 59, 47, 36, 30, 31, 32, 32, 31, 32, 33,
+  34, 26, 26, 25, 24, 23, 22, 21, 20, 24, 21, 20, 18, 22, 22, 23,
+  22, 24, 30, 38, 43, 46, 44, 44, 42, 31, 36, 43, 51, 53, 49, 41,
+  35, 37, 35, 35, 38, 42, 42, 36, 30, 35, 35, 38, 40, 41, 41, 42,
+  42, 46, 44, 42, 42, 47, 52, 58, 62, 54, 62, 62, 65, 71, 61, 45,
+  40, 31, 29, 18, 16, 21, 20, 18, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 192,
+  64, 53, 46, 63, 65, 57, 47, 49, 61, 60, 50, 30, 34, 37, 35, 28,
+  24, 25, 27, 27, 26, 24, 23, 22, 22, 22, 21, 22, 18, 18, 21, 27,
+  30, 31, 28, 30, 32, 36, 40, 40, 40, 36, 34, 30, 29, 31, 39, 49,
+  53, 50, 45, 49, 45, 44, 48, 54, 56, 51, 44, 43, 43, 44, 43, 44,
+  43, 41, 41, 38, 39, 43, 48, 55, 59, 61, 61, 67, 75, 75, 77, 85,
+  81, 64, 57, 35, 31, 22, 22, 34, 37, 38, 118, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 75, 75, 65, 55, 62, 70, 64, 49, 46, 60, 64, 59, 35, 39, 41,
+  37, 29, 22, 21, 23, 22, 20, 18, 16, 15, 16, 17, 17, 21, 17, 19,
+  23, 30, 35, 36, 34, 33, 30, 27, 28, 29, 31, 27, 25, 37, 31, 28,
+  33, 42, 47, 43, 37, 43, 39, 36, 38, 44, 48, 48, 46, 44, 42, 40,
+  38, 38, 35, 33, 32, 37, 38, 40, 45, 52, 55, 55, 53, 71, 79, 75,
+  74, 84, 86, 75, 70, 50, 41, 29, 29, 43, 43, 40, 45, 208, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 73, 78, 77, 72, 63, 59, 72, 73, 57, 46, 49, 49, 45, 39,
+  39, 39, 37, 33, 29, 26, 25, 22, 20, 17, 14, 14, 16, 18, 19, 22,
+  19, 20, 22, 28, 31, 36, 36, 37, 31, 24, 24, 27, 32, 30, 28, 30,
+  27, 27, 35, 45, 48, 40, 32, 35, 33, 31, 32, 36, 40, 44, 45, 41,
+  41, 39, 37, 36, 32, 30, 29, 34, 32, 32, 36, 47, 56, 60, 61, 60,
+  68, 62, 54, 65, 72, 70, 67, 70, 61, 44, 42, 49, 44, 31, 31, 80,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 74, 66, 61, 63, 64, 62, 69, 70, 57, 43, 40, 38,
+  37, 41, 37, 34, 34, 37, 36, 32, 27, 29, 26, 22, 19, 19, 21, 24,
+  26, 22, 20, 23, 23, 26, 29, 37, 40, 43, 35, 27, 27, 32, 36, 33,
+  30, 27, 25, 27, 35, 44, 47, 40, 32, 29, 31, 33, 33, 34, 36, 41,
+  44, 40, 38, 39, 37, 35, 33, 33, 32, 27, 26, 31, 39, 53, 63, 69,
+  67, 64, 73, 62, 51, 58, 67, 69, 70, 76, 71, 56, 52, 53, 40, 25,
+  24, 23, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 81, 74, 61, 54, 62, 72, 69, 69, 64, 55, 45,
+  42, 47, 49, 47, 37, 30, 32, 38, 40, 34, 25, 30, 27, 23, 21, 20,
+  23, 27, 29, 21, 21, 24, 25, 25, 31, 40, 46, 44, 35, 27, 27, 31,
+  34, 31, 24, 42, 35, 31, 32, 37, 38, 33, 27, 19, 25, 30, 31, 29,
+  29, 34, 37, 35, 33, 35, 35, 34, 33, 32, 31, 27, 29, 36, 48, 57,
+  62, 58, 52, 59, 68, 56, 40, 43, 51, 52, 55, 62, 63, 54, 51, 49,
+  34, 21, 23, 22, 103, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 193, 70, 64, 59, 63, 65, 66, 51, 62, 62,
+  47, 45, 57, 59, 50, 41, 42, 32, 21, 27, 29, 28, 31, 23, 24, 25,
+  25, 22, 19, 24, 28, 21, 21, 31, 32, 22, 25, 34, 34, 31, 25, 26,
+  34, 36, 27, 24, 27, 21, 27, 29, 28, 31, 36, 36, 31, 25, 25, 27,
+  33, 38, 37, 30, 21, 26, 18, 17, 26, 31, 27, 25, 26, 20, 29, 41,
+  50, 57, 62, 58, 52, 69, 63, 56, 47, 40, 38, 38, 40, 33, 51, 46,
+  48, 42, 32, 31, 13, 22, 29, 108, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 58, 54, 53, 64, 70, 65, 52, 56,
+  53, 43, 32, 44, 64, 65, 48, 45, 46, 33, 21, 26, 25, 20, 21, 18,
+  20, 24, 24, 23, 23, 27, 28, 30, 25, 27, 23, 15, 22, 38, 39, 40,
+  36, 37, 40, 39, 33, 31, 28, 28, 32, 32, 28, 28, 33, 35, 32, 28,
+  25, 24, 27, 32, 36, 34, 29, 19, 15, 17, 25, 26, 21, 16, 16, 30,
+  40, 51, 50, 51, 52, 55, 55, 59, 57, 52, 44, 35, 32, 34, 35, 29,
+  49, 49, 48, 39, 28, 32, 20, 13, 16, 19, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 56, 59, 58, 60, 61, 62,
+  57, 50, 46, 39, 31, 41, 56, 56, 43, 44, 47, 37, 29, 34, 32, 25,
+  22, 20, 22, 23, 25, 26, 26, 28, 29, 36, 28, 29, 23, 17, 28, 41,
+  37, 40, 40, 39, 35, 34, 34, 33, 28, 38, 38, 36, 30, 28, 31, 33,
+  33, 33, 27, 21, 20, 24, 30, 34, 35, 28, 25, 24, 27, 23, 19, 18,
+  21, 39, 47, 55, 48, 43, 43, 50, 54, 50, 52, 49, 42, 34, 30, 32,
+  33, 41, 53, 47, 46, 42, 34, 36, 19, 13, 14, 16, 94, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 53, 56, 62, 63, 63,
+  62, 60, 57, 33, 45, 52, 46, 37, 37, 41, 42, 31, 41, 38, 33, 38,
+  36, 29, 32, 28, 28, 25, 22, 25, 31, 33, 33, 37, 39, 43, 38, 34,
+  44, 49, 38, 36, 40, 37, 31, 31, 39, 39, 31, 41, 41, 41, 38, 36,
+  35, 36, 35, 40, 32, 25, 21, 25, 30, 37, 39, 46, 43, 40, 33, 27,
+  22, 24, 28, 36, 45, 49, 42, 37, 37, 43, 45, 41, 46, 49, 43, 37,
+  33, 36, 39, 49, 49, 34, 37, 49, 48, 46, 22, 21, 22, 24, 18, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 71, 71, 56, 50,
+  59, 77, 77, 59, 40, 32, 45, 55, 48, 36, 30, 37, 46, 26, 41, 42,
+  35, 33, 27, 24, 30, 33, 31, 24, 20, 25, 39, 46, 45, 49, 55, 62,
+  52, 45, 56, 62, 51, 44, 46, 41, 32, 33, 42, 44, 39, 39, 37, 42,
+  44, 46, 40, 36, 31, 40, 35, 33, 30, 35, 39, 46, 49, 57, 59, 61,
+  54, 46, 38, 30, 28, 37, 41, 44, 39, 39, 38, 36, 34, 36, 39, 44,
+  43, 40, 36, 38, 41, 36, 43, 33, 38, 50, 54, 60, 44, 27, 31, 30,
+  22, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 71, 71,
+  59, 59, 66, 73, 67, 55, 45, 48, 42, 38, 36, 38, 40, 44, 48, 36,
+  50, 51, 39, 31, 23, 19, 25, 36, 33, 23, 17, 29, 49, 61, 60, 63,
+  73, 77, 56, 41, 58, 76, 72, 60, 55, 46, 39, 37, 41, 43, 41, 38,
+  35, 41, 48, 55, 46, 36, 27, 36, 35, 38, 40, 46, 49, 55, 57, 62,
+  74, 86, 86, 79, 62, 44, 29, 38, 42, 46, 44, 44, 41, 35, 28, 32,
+  35, 36, 38, 38, 38, 38, 37, 35, 56, 55, 53, 49, 47, 65, 60, 34,
+  34, 32, 24, 95, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 79,
+  71, 62, 68, 81, 81, 67, 52, 54, 64, 58, 41, 30, 32, 41, 44, 43,
+  44, 47, 55, 51, 40, 36, 32, 27, 31, 43, 39, 29, 23, 35, 56, 67,
+  62, 65, 83, 87, 56, 34, 54, 82, 86, 77, 66, 53, 48, 44, 41, 43,
+  47, 48, 40, 44, 54, 64, 55, 41, 28, 32, 33, 39, 41, 46, 47, 51,
+  53, 65, 80, 95, 100, 96, 80, 56, 33, 32, 42, 50, 49, 48, 43, 40,
+  34, 36, 35, 35, 36, 39, 37, 35, 33, 42, 61, 58, 53, 48, 44, 60,
+  53, 37, 31, 28, 23, 22, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 100, 77, 71, 71, 80, 83, 74, 62, 60, 66, 56, 42, 36, 41, 44,
+  40, 37, 36, 40, 45, 38, 31, 39, 40, 36, 37, 49, 43, 35, 27, 38,
+  59, 65, 58, 60, 85, 92, 59, 30, 50, 80, 85, 90, 76, 62, 58, 53,
+  49, 51, 59, 59, 47, 48, 59, 71, 62, 46, 31, 31, 31, 36, 36, 39,
+  37, 40, 41, 61, 73, 85, 88, 88, 77, 56, 35, 21, 37, 50, 51, 47,
+  44, 44, 45, 39, 38, 35, 36, 39, 40, 34, 29, 30, 38, 28, 34, 44,
+  50, 57, 38, 34, 23, 16, 16, 22, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 199, 86, 86, 82, 74, 67, 65, 72, 77, 66, 51, 50, 45, 42,
+  40, 34, 27, 24, 26, 32, 33, 34, 33, 39, 45, 45, 39, 45, 46, 55,
+  63, 66, 68, 72, 78, 86, 83, 86, 90, 72, 44, 57, 104, 108, 99, 86,
+  77, 69, 62, 56, 51, 49, 51, 56, 64, 81, 87, 70, 45, 38, 36, 42,
+  41, 40, 26, 16, 35, 53, 80, 84, 70, 73, 75, 56, 35, 18, 22, 44,
+  44, 23, 38, 52, 31, 34, 33, 32, 32, 34, 34, 31, 29, 24, 24, 30,
+  34, 35, 36, 45, 53, 48, 44, 36, 24, 20, 100, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 94, 88, 82, 76, 85, 94, 89, 77, 63, 46, 33, 50,
+  40, 31, 31, 33, 29, 25, 21, 28, 37, 41, 40, 40, 45, 52, 53, 44,
+  48, 60, 71, 76, 77, 82, 89, 97, 96, 102, 108, 92, 62, 70, 114, 111,
+  109, 110, 103, 82, 56, 46, 48, 56, 50, 48, 59, 82, 94, 76, 49, 39,
+  41, 42, 44, 52, 47, 34, 41, 56, 65, 70, 66, 69, 72, 57, 32, 30,
+  19, 29, 36, 18, 9, 21, 26, 26, 26, 28, 25, 26, 25, 26, 26, 40,
+  37, 38, 39, 38, 38, 46, 54, 49, 46, 42, 40, 45, 48, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 94, 81, 72, 66, 73, 77, 68, 55, 47, 43,
+  42, 51, 36, 26, 30, 40, 42, 37, 32, 45, 49, 49, 46, 48, 53, 50,
+  46, 57, 59, 72, 85, 92, 94, 98, 103, 107, 109, 115, 122, 110, 79, 78,
+  112, 118, 119, 126, 123, 102, 69, 48, 39, 42, 44, 48, 60, 81, 92, 77,
+  53, 38, 45, 44, 46, 53, 44, 29, 23, 33, 35, 62, 85, 87, 83, 64,
+  29, 26, 24, 33, 42, 32, 16, 15, 24, 23, 23, 23, 21, 22, 24, 27,
+  30, 29, 28, 33, 39, 42, 44, 52, 57, 54, 52, 52, 58, 68, 69, 255,
+  255, 255, 255, 255, 255, 255, 255, 99, 87, 75, 63, 61, 53, 47, 43, 45,
+  50, 54, 56, 46, 34, 28, 36, 48, 52, 50, 46, 45, 56, 64, 60, 54,
+  55, 61, 65, 79, 76, 80, 91, 104, 105, 108, 109, 113, 116, 123, 131, 121,
+  89, 79, 100, 118, 121, 122, 117, 110, 92, 61, 28, 18, 30, 45, 57, 73,
+  81, 74, 57, 36, 43, 42, 56, 65, 43, 27, 18, 18, 18, 61, 98, 90,
+  78, 64, 33, 22, 40, 42, 30, 25, 20, 14, 16, 25, 22, 19, 20, 28,
+  34, 37, 39, 15, 16, 26, 38, 44, 43, 45, 45, 44, 45, 51, 62, 74,
+  74, 255, 255, 255, 255, 255, 255, 255, 255, 100, 85, 71, 57, 52, 52, 57,
+  62, 62, 58, 52, 49, 34, 30, 30, 37, 44, 45, 45, 46, 28, 49, 65,
+  59, 50, 59, 88, 113, 94, 83, 81, 91, 107, 112, 113, 111, 122, 125, 131,
+  137, 129, 99, 79, 88, 111, 127, 126, 107, 104, 106, 81, 38, 19, 20, 27,
+  40, 68, 87, 87, 71, 50, 39, 28, 67, 100, 75, 56, 38, 22, 16, 52,
+  80, 64, 56, 61, 51, 55, 62, 52, 30, 20, 16, 16, 22, 28, 21, 14,
+  17, 28, 36, 36, 35, 29, 25, 26, 32, 35, 31, 29, 27, 27, 34, 44,
+  56, 68, 70, 255, 255, 255, 255, 255, 255, 255, 206, 94, 74, 60, 51, 39,
+  48, 61, 63, 51, 38, 37, 43, 32, 30, 32, 36, 36, 34, 36, 40, 37,
+  34, 33, 35, 55, 81, 101, 108, 90, 81, 81, 94, 108, 115, 116, 117, 129,
+  131, 132, 136, 134, 107, 81, 78, 110, 139, 145, 119, 107, 114, 103, 73, 50,
+  29, 11, 24, 70, 109, 110, 91, 76, 49, 9, 55, 107, 95, 74, 38, 11,
+  10, 40, 68, 66, 63, 73, 71, 59, 49, 52, 59, 42, 14, 7, 21, 25,
+  18, 10, 13, 21, 26, 27, 23, 47, 36, 28, 28, 31, 30, 32, 30, 30,
+  38, 47, 53, 59, 60, 255, 255, 255, 255, 255, 255, 255, 103, 81, 62, 56,
+  54, 41, 40, 43, 40, 30, 22, 28, 40, 34, 30, 29, 31, 30, 30, 36,
+  43, 51, 34, 25, 38, 75, 99, 94, 76, 84, 85, 95, 105, 112, 115, 120,
+  126, 130, 131, 129, 133, 135, 111, 82, 74, 106, 129, 139, 126, 117, 118, 113,
+  99, 80, 53, 27, 34, 77, 117, 121, 103, 97, 78, 18, 36, 78, 82, 77,
+  37, 7, 6, 25, 58, 81, 89, 88, 83, 39, 25, 44, 63, 38, 8, 3,
+  4, 16, 14, 11, 12, 15, 18, 22, 23, 40, 30, 25, 29, 37, 39, 38,
+  38, 38, 43, 49, 53, 58, 60, 255, 255, 255, 255, 255, 255, 255, 98, 71,
+  57, 59, 69, 57, 44, 36, 37, 37, 29, 26, 24, 31, 23, 19, 20, 24,
+  27, 38, 44, 32, 42, 58, 75, 91, 99, 91, 80, 82, 93, 111, 120, 119,
+  116, 123, 135, 137, 138, 134, 138, 141, 120, 92, 81, 98, 103, 111, 118, 121,
+  117, 108, 97, 91, 74, 55, 54, 79, 108, 114, 104, 102, 105, 42, 29, 50,
+  66, 87, 54, 28, 16, 9, 30, 73, 93, 88, 84, 68, 54, 62, 56, 22,
+  18, 27, 13, 4, 11, 15, 15, 14, 16, 26, 33, 29, 24, 26, 35, 44,
+  44, 36, 28, 30, 34, 40, 50, 63, 70, 130, 255, 255, 255, 255, 255, 204,
+  91, 61, 48, 61, 42, 34, 41, 35, 38, 54, 44, 27, 29, 30, 29, 29,
+  24, 23, 23, 28, 24, 31, 58, 88, 98, 93, 93, 104, 113, 108, 108, 113,
+  116, 122, 128, 132, 136, 135, 140, 143, 146, 145, 131, 108, 83, 100, 105, 110,
+  114, 115, 112, 112, 108, 104, 93, 80, 74, 78, 88, 97, 102, 117, 100, 67,
+  37, 28, 41, 60, 69, 62, 55, 57, 65, 68, 69, 78, 93, 113, 91, 68,
+  58, 54, 45, 21, 3, 11, 10, 9, 12, 18, 23, 24, 22, 16, 23, 29,
+  35, 39, 40, 37, 29, 29, 30, 30, 33, 51, 70, 73, 255, 255, 255, 255,
+  255, 101, 94, 66, 49, 61, 55, 37, 40, 40, 43, 48, 43, 33, 33, 41,
+  37, 31, 27, 24, 25, 26, 24, 53, 73, 95, 102, 99, 104, 113, 121, 122,
+  124, 125, 129, 133, 134, 136, 139, 138, 141, 142, 144, 145, 138, 118, 99, 104,
+  107, 112, 113, 113, 110, 106, 104, 106, 100, 92, 86, 85, 91, 99, 106, 116,
+  104, 80, 52, 31, 30, 43, 59, 86, 88, 87, 83, 82, 85, 90, 92, 92,
+  84, 75, 69, 65, 51, 28, 13, 18, 12, 12, 14, 20, 19, 16, 16, 18,
+  22, 28, 32, 36, 38, 37, 33, 35, 34, 28, 28, 48, 68, 64, 255, 255,
+  255, 255, 255, 104, 93, 71, 43, 47, 53, 38, 37, 46, 50, 42, 41, 42,
+  36, 38, 33, 26, 24, 27, 33, 39, 41, 73, 84, 98, 104, 107, 116, 124,
+  128, 129, 131, 134, 134, 135, 134, 133, 134, 139, 140, 140, 141, 145, 144, 131,
+  118, 114, 114, 117, 118, 117, 113, 107, 104, 109, 109, 108, 103, 99, 101, 108,
+  115, 116, 111, 98, 78, 49, 33, 44, 66, 103, 112, 110, 97, 93, 97, 95,
+  85, 79, 83, 89, 88, 79, 62, 43, 32, 31, 22, 20, 24, 28, 21, 15,
+  15, 21, 21, 25, 29, 33, 36, 36, 32, 34, 34, 27, 26, 52, 78, 68,
+  255, 255, 255, 255, 211, 102, 88, 72, 40, 37, 46, 35, 33, 50, 54, 38,
+  40, 47, 36, 30, 27, 24, 24, 27, 34, 49, 60, 76, 83, 92, 101, 112,
+  125, 132, 131, 133, 132, 135, 137, 136, 132, 129, 129, 139, 140, 139, 140, 145,
+  147, 140, 129, 124, 124, 123, 124, 123, 120, 113, 110, 113, 113, 115, 115, 114,
+  114, 117, 120, 120, 114, 112, 101, 77, 58, 66, 89, 107, 113, 113, 106, 103,
+  102, 97, 89, 92, 96, 102, 100, 92, 78, 64, 55, 49, 39, 37, 41, 44,
+  34, 23, 19, 21, 21, 24, 30, 36, 34, 31, 30, 29, 34, 29, 26, 50,
+  77, 68, 255, 255, 255, 255, 115, 94, 79, 69, 46, 43, 46, 29, 30, 46,
+  50, 37, 41, 46, 33, 32, 32, 31, 30, 27, 31, 50, 69, 79, 84, 94,
+  105, 120, 131, 136, 132, 136, 138, 141, 141, 141, 139, 136, 134, 138, 142, 142,
+  143, 147, 147, 141, 132, 131, 129, 128, 129, 128, 127, 123, 117, 116, 117, 119,
+  121, 126, 128, 126, 122, 125, 116, 115, 116, 104, 91, 97, 113, 116, 111, 112,
+  118, 118, 109, 104, 105, 110, 108, 103, 99, 97, 91, 86, 83, 75, 68, 64,
+  63, 63, 52, 35, 25, 19, 19, 25, 34, 40, 32, 27, 25, 28, 35, 33,
+  26, 38, 58, 52, 255, 255, 255, 255, 119, 97, 74, 59, 47, 50, 40, 30,
+  32, 39, 39, 37, 45, 45, 34, 31, 29, 32, 34, 33, 38, 60, 83, 90,
+  96, 106, 115, 126, 137, 138, 135, 137, 138, 141, 142, 143, 140, 141, 140, 140,
+  142, 142, 142, 145, 147, 142, 133, 137, 133, 130, 131, 133, 131, 128, 124, 124,
+  121, 123, 129, 136, 136, 132, 127, 132, 123, 119, 119, 118, 114, 116, 124, 124,
+  113, 114, 124, 124, 113, 109, 114, 117, 111, 103, 100, 103, 104, 104, 104, 101,
+  102, 95, 84, 81, 73, 51, 30, 20, 19, 27, 39, 42, 32, 24, 22, 22,
+  30, 32, 28, 36, 49, 49, 255, 255, 255, 206, 121, 103, 70, 40, 39, 53,
+  31, 36, 39, 30, 24, 36, 48, 45, 40, 31, 25, 26, 31, 36, 44, 65,
+  86, 96, 104, 114, 120, 126, 134, 140, 141, 137, 136, 140, 140, 141, 140, 141,
+  141, 143, 146, 144, 142, 144, 146, 144, 139, 146, 140, 136, 136, 139, 138, 135,
+  129, 131, 132, 135, 137, 139, 139, 138, 134, 134, 128, 124, 124, 127, 129, 129,
+  125, 123, 116, 116, 119, 121, 119, 117, 117, 114, 113, 111, 111, 114, 114, 114,
+  114, 115, 122, 116, 100, 97, 95, 72, 42, 24, 19, 26, 38, 41, 30, 23,
+  24, 20, 21, 23, 27, 38, 47, 49, 255, 255, 255, 95, 110, 100, 65, 28,
+  37, 63, 36, 41, 45, 24, 13, 36, 51, 46, 44, 42, 30, 22, 29, 37,
+  43, 57, 71, 95, 104, 114, 117, 120, 129, 138, 143, 140, 141, 141, 142, 143,
+  145, 145, 146, 147, 147, 143, 140, 142, 147, 148, 143, 154, 149, 144, 141, 143,
+  143, 139, 134, 138, 140, 145, 145, 142, 138, 139, 141, 135, 133, 130, 126, 130,
+  136, 135, 129, 119, 122, 121, 112, 118, 127, 129, 118, 113, 117, 125, 127, 124,
+  120, 117, 116, 118, 131, 126, 108, 106, 110, 87, 51, 26, 22, 26, 36, 38,
+  27, 23, 25, 24, 19, 17, 24, 33, 37, 37, 255, 255, 255, 73, 96, 90,
+  49, 31, 51, 65, 57, 39, 26, 20, 26, 34, 38, 40, 45, 39, 27, 25,
+  34, 40, 46, 60, 76, 97, 109, 121, 128, 133, 140, 144, 144, 140, 141, 144,
+  146, 146, 145, 144, 145, 144, 150, 154, 153, 153, 155, 155, 151, 153, 151, 148,
+  146, 148, 150, 147, 138, 134, 142, 145, 141, 144, 150, 151, 143, 132, 133, 135,
+  133, 133, 132, 132, 133, 129, 130, 132, 129, 126, 123, 127, 129, 125, 122, 122,
+  125, 128, 130, 128, 125, 129, 122, 120, 114, 103, 98, 88, 71, 51, 8, 12,
+  40, 31, 23, 30, 23, 18, 18, 22, 26, 33, 39, 38, 255, 255, 191, 76,
+  90, 84, 53, 39, 53, 66, 62, 36, 23, 13, 16, 25, 29, 35, 41, 39,
+  31, 24, 23, 27, 41, 63, 79, 101, 108, 116, 121, 128, 138, 145, 147, 146,
+  145, 146, 145, 145, 145, 147, 148, 150, 152, 155, 156, 155, 152, 150, 148, 150,
+  153, 153, 148, 148, 151, 149, 146, 142, 145, 147, 146, 148, 151, 151, 146, 145,
+  141, 137, 133, 132, 132, 136, 140, 135, 134, 134, 134, 135, 135, 135, 134, 130,
+  128, 126, 126, 133, 135, 137, 136, 129, 122, 119, 112, 99, 94, 88, 73, 54,
+  15, 16, 38, 28, 20, 28, 24, 20, 19, 19, 20, 29, 40, 45, 255, 255,
+  56, 68, 74, 68, 47, 39, 47, 56, 55, 40, 27, 16, 18, 26, 31, 31,
+  28, 32, 32, 24, 17, 23, 44, 70, 86, 101, 108, 116, 121, 128, 136, 143,
+  144, 148, 148, 149, 149, 148, 148, 149, 149, 150, 147, 151, 157, 159, 152, 150,
+  153, 148, 151, 153, 150, 150, 153, 153, 149, 151, 149, 150, 154, 154, 150, 148,
+  148, 150, 147, 142, 135, 134, 136, 138, 141, 140, 139, 137, 140, 144, 145, 140,
+  136, 145, 141, 137, 133, 137, 138, 140, 139, 131, 125, 121, 111, 96, 92, 90,
+  79, 56, 23, 23, 37, 26, 18, 26, 25, 16, 16, 14, 14, 22, 32, 37,
+  255, 255, 42, 57, 55, 51, 45, 40, 39, 40, 38, 37, 30, 24, 28, 35,
+  33, 21, 12, 20, 29, 29, 24, 31, 56, 81, 93, 102, 111, 121, 127, 132,
+  137, 139, 135, 144, 147, 149, 151, 152, 149, 145, 142, 150, 142, 144, 156, 156,
+  145, 142, 149, 145, 147, 148, 145, 148, 153, 153, 150, 155, 148, 149, 157, 157,
+  150, 148, 152, 147, 144, 144, 144, 143, 138, 134, 133, 145, 145, 144, 144, 145,
+  143, 139, 136, 145, 142, 139, 137, 137, 137, 139, 139, 135, 128, 125, 112, 96,
+  93, 95, 87, 54, 28, 27, 37, 29, 21, 26, 26, 12, 16, 18, 20, 24,
+  28, 27, 255, 255, 36, 51, 48, 48, 48, 45, 39, 33, 29, 26, 21, 19,
+  22, 28, 27, 15, 4, 15, 25, 30, 28, 36, 62, 88, 101, 110, 116, 122,
+  126, 134, 142, 145, 143, 152, 150, 146, 142, 139, 136, 134, 133, 147, 136, 132,
+  142, 142, 130, 124, 130, 141, 138, 136, 137, 146, 155, 155, 148, 150, 146, 149,
+  158, 159, 150, 149, 153, 147, 146, 144, 142, 141, 138, 132, 129, 147, 151, 151,
+  148, 141, 137, 136, 135, 132, 131, 133, 136, 138, 139, 142, 143, 135, 129, 126,
+  113, 98, 95, 95, 88, 49, 34, 31, 34, 31, 24, 25, 25, 16, 19, 24,
+  24, 26, 29, 29, 255, 255, 44, 44, 43, 43, 45, 43, 36, 27, 23, 21,
+  18, 13, 12, 17, 23, 20, 15, 19, 23, 25, 28, 40, 66, 94, 112, 122,
+  122, 120, 120, 130, 144, 153, 155, 159, 149, 133, 117, 110, 108, 112, 115, 113,
+  105, 102, 111, 115, 113, 112, 114, 123, 122, 120, 122, 132, 146, 151, 150, 146,
+  144, 148, 154, 156, 153, 150, 151, 152, 146, 137, 132, 128, 127, 124, 124, 133,
+  137, 139, 134, 128, 124, 126, 128, 133, 133, 136, 138, 138, 137, 138, 139, 135,
+  126, 124, 115, 100, 97, 96, 86, 50, 39, 30, 30, 32, 28, 24, 22, 17,
+  17, 18, 16, 18, 25, 31, 255, 44, 37, 34, 36, 37, 35, 31, 29, 25,
+  22, 23, 23, 19, 14, 13, 20, 24, 21, 14, 14, 21, 35, 54, 77, 103,
+  123, 129, 128, 125, 124, 133, 144, 151, 151, 146, 134, 117, 99, 90, 87, 89,
+  93, 75, 72, 71, 76, 85, 90, 93, 94, 91, 96, 100, 102, 109, 126, 141,
+  149, 142, 148, 150, 151, 153, 155, 151, 147, 148, 140, 128, 121, 117, 112, 106,
+  102, 101, 102, 103, 101, 101, 102, 106, 108, 121, 121, 124, 123, 123, 125, 129,
+  131, 138, 129, 126, 119, 109, 105, 101, 84, 56, 47, 29, 21, 28, 27, 21,
+  21, 13, 14, 13, 10, 13, 19, 23, 255, 25, 12, 32, 34, 33, 28, 26,
+  27, 28, 25, 23, 28, 28, 20, 18, 18, 18, 11, 3, 4, 20, 48, 72,
+  92, 114, 131, 132, 133, 134, 135, 141, 144, 142, 135, 121, 116, 103, 90, 81,
+  75, 72, 72, 63, 61, 58, 53, 59, 69, 68, 64, 64, 75, 84, 85, 89,
+  105, 129, 145, 144, 151, 155, 152, 151, 156, 152, 143, 135, 130, 122, 116, 110,
+  101, 87, 79, 69, 68, 65, 68, 74, 82, 86, 87, 84, 88, 93, 96, 103,
+  113, 124, 130, 143, 135, 133, 127, 117, 115, 105, 87, 65, 53, 27, 14, 24,
+  26, 20, 19, 13, 16, 20, 18, 19, 20, 20, 255, 36, 26, 27, 30, 39,
+  32, 21, 25, 25, 17, 26, 19, 24, 29, 19, 14, 15, 11, 9, 9, 15,
+  36, 72, 107, 127, 130, 134, 137, 129, 134, 143, 123, 102, 109, 105, 90, 74,
+  70, 71, 69, 68, 70, 71, 76, 72, 61, 53, 36, 27, 36, 57, 65, 74,
+  73, 72, 82, 110, 136, 140, 136, 146, 158, 155, 149, 142, 133, 124, 120, 118,
+  115, 100, 82, 73, 77, 64, 57, 52, 53, 59, 63, 64, 65, 64, 50, 64,
+  85, 90, 106, 125, 125, 135, 140, 141, 129, 117, 110, 102, 94, 71, 45, 19,
+  12, 19, 22, 17, 10, 11, 13, 21, 23, 24, 23, 25, 255, 38, 34, 31,
+  28, 31, 31, 25, 32, 32, 23, 24, 23, 27, 28, 17, 14, 17, 11, 14,
+  12, 18, 40, 79, 114, 131, 129, 135, 133, 128, 125, 117, 95, 84, 92, 92,
+  95, 99, 103, 105, 108, 112, 116, 109, 104, 84, 69, 72, 66, 48, 34, 37,
+  43, 53, 64, 67, 76, 94, 117, 119, 132, 143, 148, 145, 136, 132, 129, 119,
+  109, 99, 96, 98, 90, 74, 57, 53, 44, 34, 31, 34, 40, 48, 52, 47,
+  39, 44, 53, 57, 69, 89, 99, 114, 119, 123, 117, 111, 109, 104, 97, 80,
+  51, 19, 8, 12, 18, 19, 18, 19, 20, 23, 22, 24, 24, 106, 255, 35,
+  36, 43, 30, 25, 25, 22, 26, 23, 9, 23, 29, 33, 23, 8, 10, 14,
+  4, 0, 1, 15, 43, 82, 113, 123, 117, 129, 117, 120, 127, 122, 114, 110,
+  106, 111, 114, 119, 121, 119, 115, 115, 118, 120, 112, 88, 68, 69, 82, 88,
+  84, 92, 81, 75, 80, 78, 76, 85, 103, 104, 129, 136, 129, 129, 126, 129,
+  136, 121, 117, 105, 87, 78, 75, 75, 71, 61, 54, 46, 42, 46, 57, 69,
+  75, 83, 84, 77, 71, 69, 63, 67, 79, 89, 93, 100, 103, 107, 111, 110,
+  105, 89, 58, 23, 8, 9, 14, 16, 14, 24, 21, 21, 17, 18, 22, 255,
+  255, 48, 51, 57, 38, 30, 29, 26, 23, 18, 6, 21, 30, 34, 19, 3,
+  7, 15, 5, 6, 25, 55, 84, 112, 132, 139, 134, 138, 123, 126, 128, 112,
+  113, 128, 127, 129, 116, 110, 113, 106, 91, 89, 99, 100, 95, 99, 105, 107,
+  101, 86, 64, 89, 75, 71, 85, 92, 91, 94, 108, 108, 138, 142, 132, 132,
+  131, 123, 123, 119, 114, 107, 94, 79, 68, 71, 78, 66, 67, 66, 64, 66,
+  73, 81, 83, 104, 116, 109, 101, 100, 80, 58, 61, 74, 75, 83, 94, 104,
+  113, 114, 112, 100, 69, 33, 13, 10, 11, 12, 11, 19, 16, 15, 11, 14,
+  19, 255, 195, 70, 67, 55, 35, 31, 36, 34, 31, 26, 19, 13, 23, 30,
+  18, 7, 17, 32, 26, 57, 85, 117, 135, 144, 152, 165, 170, 151, 137, 138,
+  128, 98, 96, 114, 118, 107, 97, 98, 106, 93, 73, 81, 109, 95, 72, 79,
+  112, 131, 124, 97, 61, 63, 56, 62, 85, 99, 98, 94, 100, 124, 145, 150,
+  144, 143, 140, 124, 109, 138, 117, 108, 114, 112, 90, 73, 67, 74, 84, 90,
+  89, 86, 85, 81, 76, 87, 102, 102, 106, 118, 105, 78, 73, 70, 69, 75,
+  85, 98, 106, 110, 111, 110, 76, 36, 12, 8, 11, 17, 18, 14, 14, 16,
+  15, 20, 25, 255, 80, 71, 61, 48, 25, 25, 36, 35, 28, 20, 14, 9,
+  14, 20, 16, 12, 29, 50, 50, 71, 93, 114, 118, 117, 124, 141, 152, 131,
+  116, 122, 145, 164, 167, 144, 113, 91, 97, 106, 104, 82, 65, 78, 107, 91,
+  77, 90, 106, 99, 96, 99, 88, 84, 74, 66, 70, 77, 84, 89, 97, 138,
+  135, 138, 134, 129, 141, 150, 139, 151, 128, 110, 100, 88, 67, 59, 62, 74,
+  89, 100, 98, 94, 92, 88, 81, 78, 85, 87, 96, 114, 118, 107, 98, 71,
+  67, 70, 80, 90, 97, 104, 110, 111, 75, 30, 2, 0, 5, 18, 25, 15,
+  16, 21, 23, 29, 34, 255, 82, 72, 63, 51, 23, 23, 44, 49, 42, 28,
+  16, 20, 14, 14, 13, 12, 25, 45, 51, 46, 58, 72, 79, 88, 100, 112,
+  117, 109, 95, 98, 147, 214, 225, 173, 119, 99, 108, 101, 78, 68, 77, 83,
+  81, 62, 103, 159, 153, 93, 67, 75, 66, 79, 73, 60, 53, 60, 83, 106,
+  119, 128, 120, 142, 147, 123, 134, 163, 158, 125, 119, 102, 72, 52, 52, 64,
+  73, 67, 82, 86, 77, 67, 69, 70, 68, 67, 64, 65, 71, 79, 94, 101,
+  93, 79, 75, 77, 84, 91, 97, 109, 120, 116, 79, 36, 9, 2, 5, 15,
+  20, 12, 15, 21, 23, 28, 34, 255, 96, 94, 91, 62, 32, 32, 62, 81,
+  76, 62, 47, 36, 19, 11, 9, 4, 12, 28, 35, 38, 46, 60, 80, 105,
+  124, 127, 120, 116, 111, 100, 124, 175, 183, 146, 119, 105, 106, 76, 42, 61,
+  108, 108, 70, 35, 103, 177, 160, 95, 87, 107, 94, 78, 87, 87, 81, 85,
+  104, 117, 121, 105, 112, 169, 191, 142, 127, 144, 127, 108, 118, 111, 93, 100,
+  125, 127, 105, 87, 95, 87, 65, 47, 48, 53, 53, 62, 53, 61, 65, 63,
+  80, 100, 88, 89, 86, 87, 93, 98, 103, 119, 133, 125, 93, 57, 31, 20,
+  17, 15, 16, 9, 10, 16, 17, 22, 29, 255, 94, 91, 84, 69, 33, 41,
+  95, 127, 117, 92, 73, 70, 54, 22, 19, 21, 20, 36, 36, 40, 40, 56,
+  87, 115, 127, 127, 127, 133, 123, 118, 118, 118, 117, 119, 122, 99, 82, 60,
+  58, 85, 113, 106, 83, 62, 59, 79, 94, 98, 120, 140, 132, 111, 95, 97,
+  99, 90, 105, 126, 126, 94, 122, 155, 170, 162, 142, 124, 114, 109, 109, 89,
+  93, 81, 104, 105, 117, 114, 153, 168, 136, 92, 71, 58, 46, 58, 80, 87,
+  76, 69, 65, 73, 88, 95, 106, 112, 107, 99, 99, 108, 114, 118, 132, 120,
+  58, 45, 17, 11, 11, 1, 2, 10, 16, 24, 33, 255, 100, 97, 92, 67,
+  31, 39, 92, 130, 129, 110, 89, 96, 90, 61, 52, 40, 28, 38, 34, 50,
+  51, 65, 93, 118, 129, 128, 124, 128, 125, 127, 132, 129, 119, 109, 104, 93,
+  85, 75, 78, 98, 116, 111, 96, 90, 69, 64, 78, 99, 129, 138, 119, 91,
+  90, 98, 100, 93, 94, 100, 101, 109, 120, 136, 153, 163, 153, 135, 117, 110,
+  105, 82, 83, 77, 99, 96, 101, 127, 165, 169, 124, 82, 75, 72, 56, 78,
+  97, 103, 88, 76, 68, 73, 86, 103, 109, 109, 96, 86, 85, 91, 94, 110,
+  125, 95, 45, 32, 11, 8, 4, 15, 14, 12, 13, 20, 37, 255, 111, 111,
+  106, 65, 34, 37, 85, 119, 124, 108, 88, 116, 119, 97, 83, 63, 42, 45,
+  37, 61, 63, 75, 100, 123, 133, 133, 127, 130, 128, 132, 137, 132, 117, 101,
+  93, 91, 90, 92, 98, 106, 111, 109, 104, 110, 89, 78, 80, 92, 113, 119,
+  105, 90, 102, 105, 104, 102, 93, 86, 90, 122, 126, 134, 145, 155, 151, 140,
+  128, 123, 113, 93, 91, 91, 108, 104, 103, 124, 159, 157, 109, 74, 80, 81,
+  67, 97, 114, 115, 98, 84, 71, 72, 85, 96, 96, 94, 87, 83, 86, 93,
+  97, 96, 116, 63, 32, 16, 8, 11, 6, 10, 15, 14, 11, 19, 113, 255,
+  114, 114, 110, 67, 38, 47, 90, 122, 128, 113, 92, 113, 121, 104, 93, 76,
+  59, 57, 42, 61, 68, 83, 107, 128, 139, 139, 134, 137, 132, 130, 130, 125,
+  115, 106, 104, 107, 105, 106, 111, 110, 106, 106, 109, 111, 116, 117, 106, 93,
+  93, 102, 105, 107, 117, 107, 99, 105, 98, 90, 102, 126, 139, 150, 150, 140,
+  133, 134, 140, 115, 108, 93, 86, 86, 95, 95, 94, 107, 134, 137, 108, 85,
+  89, 91, 83, 103, 114, 109, 92, 86, 80, 79, 85, 85, 87, 88, 87, 91,
+  99, 106, 108, 96, 121, 58, 33, 7, 3, 9, 8, 5, 22, 31, 29, 34,
+  255, 255, 105, 102, 95, 70, 48, 64, 111, 144, 145, 131, 114, 110, 121, 104,
+  94, 86, 75, 68, 43, 59, 72, 94, 114, 131, 140, 139, 136, 142, 132, 126,
+  125, 123, 119, 118, 120, 128, 120, 115, 114, 112, 110, 111, 116, 111, 121, 121,
+  110, 101, 98, 100, 106, 107, 112, 99, 92, 105, 106, 102, 115, 126, 143, 157,
+  153, 138, 129, 132, 140, 118, 115, 108, 92, 87, 85, 89, 90, 104, 115, 121,
+  116, 103, 98, 100, 105, 103, 106, 97, 86, 92, 92, 90, 92, 95, 98, 99,
+  98, 100, 104, 105, 103, 112, 137, 80, 45, 7, 4, 9, 16, 37, 61, 73,
+  65, 60, 255, 255, 93, 86, 78, 71, 50, 73, 126, 150, 139, 124, 114, 123,
+  134, 117, 105, 97, 88, 73, 37, 54, 77, 104, 122, 133, 138, 137, 134, 140,
+  132, 129, 131, 132, 129, 128, 130, 133, 125, 115, 110, 111, 114, 117, 117, 111,
+  110, 97, 95, 112, 117, 107, 101, 105, 108, 105, 105, 113, 116, 117, 124, 128,
+  135, 143, 148, 147, 141, 138, 135, 138, 139, 139, 113, 103, 91, 99, 102, 115,
+  112, 113, 117, 110, 101, 103, 113, 104, 107, 97, 92, 101, 106, 100, 102, 104,
+  107, 108, 105, 105, 107, 106, 103, 115, 132, 99, 47, 16, 19, 26, 52, 91,
+  104, 109, 96, 81, 255, 255, 84, 73, 63, 67, 45, 72, 130, 144, 122, 107,
+  107, 135, 150, 135, 120, 109, 97, 75, 35, 47, 78, 111, 128, 134, 137, 139,
+  138, 136, 130, 129, 132, 133, 131, 129, 130, 126, 125, 118, 108, 109, 116, 117,
+  111, 104, 118, 114, 110, 120, 117, 106, 108, 121, 122, 130, 130, 119, 120, 128,
+  130, 125, 129, 136, 145, 152, 149, 142, 134, 136, 138, 142, 112, 104, 85, 98,
+  100, 122, 120, 120, 121, 116, 109, 108, 111, 109, 118, 113, 109, 113, 110, 103,
+  104, 106, 111, 113, 110, 109, 114, 116, 117, 113, 115, 107, 38, 25, 39, 48,
+  88, 118, 120, 121, 112, 255, 255, 255, 255, 62, 50, 61, 41, 71, 135, 151,
+  125, 114, 123, 134, 155, 144, 129, 116, 101, 77, 34, 36, 73, 114, 131, 135,
+  137, 143, 144, 134, 128, 124, 126, 127, 125, 125, 128, 123, 131, 127, 114, 112,
+  119, 117, 106, 99, 146, 168, 154, 133, 107, 104, 128, 141, 139, 151, 145, 116,
+  113, 129, 130, 120, 130, 140, 150, 150, 147, 141, 139, 134, 135, 142, 113, 108,
+  89, 103, 103, 123, 131, 134, 133, 129, 124, 117, 108, 113, 126, 129, 121, 117,
+  109, 100, 101, 110, 115, 117, 112, 109, 114, 120, 124, 120, 109, 113, 28, 24,
+  45, 51, 96, 116, 114, 116, 120, 255, 255, 255, 255, 64, 65, 56, 35, 72,
+  129, 153, 134, 108, 125, 128, 144, 143, 150, 134, 96, 73, 46, 43, 75, 114,
+  132, 137, 135, 137, 137, 127, 132, 131, 125, 126, 132, 135, 134, 136, 135, 128,
+  119, 119, 122, 116, 109, 117, 155, 182, 165, 132, 116, 122, 130, 142, 145, 146,
+  136, 121, 118, 128, 141, 135, 144, 151, 151, 149, 150, 149, 147, 137, 137, 132,
+  123, 113, 108, 111, 115, 114, 116, 123, 128, 123, 116, 118, 123, 115, 120, 122,
+  114, 107, 104, 104, 101, 107, 110, 111, 110, 108, 108, 112, 118, 118, 118, 106,
+  26, 47, 54, 77, 83, 105, 119, 135, 128, 255, 255, 255, 255, 64, 71, 49,
+  30, 66, 117, 147, 138, 110, 118, 129, 140, 137, 138, 123, 89, 70, 45, 55,
+  78, 104, 122, 129, 134, 132, 128, 131, 134, 136, 131, 132, 137, 141, 140, 139,
+  138, 134, 126, 128, 129, 124, 117, 126, 137, 137, 128, 127, 135, 141, 139, 137,
+  141, 143, 138, 129, 128, 138, 147, 131, 137, 144, 145, 145, 147, 146, 143, 134,
+  136, 135, 131, 122, 116, 113, 113, 106, 103, 105, 108, 110, 110, 120, 131, 111,
+  117, 116, 111, 105, 107, 111, 110, 122, 120, 117, 116, 113, 113, 112, 111, 116,
+  111, 106, 40, 63, 71, 95, 104, 118, 142, 161, 255, 255, 255, 255, 255, 61,
+  72, 55, 35, 58, 97, 135, 147, 123, 120, 132, 139, 131, 131, 121, 95, 85,
+  65, 78, 88, 100, 113, 124, 133, 130, 123, 133, 135, 138, 135, 136, 140, 144,
+  144, 141, 140, 139, 134, 137, 137, 133, 127, 127, 125, 122, 123, 139, 153, 150,
+  137, 130, 132, 135, 133, 132, 133, 138, 141, 128, 134, 140, 141, 140, 143, 142,
+  139, 132, 132, 131, 129, 125, 121, 118, 116, 121, 114, 112, 111, 112, 114, 120,
+  125, 114, 118, 117, 112, 111, 116, 123, 124, 131, 125, 119, 118, 119, 117, 114,
+  109, 125, 109, 106, 59, 80, 82, 99, 111, 132, 151, 190, 255, 255, 255, 255,
+  255, 59, 69, 62, 38, 44, 67, 114, 148, 135, 125, 137, 141, 130, 132, 129,
+  116, 116, 103, 98, 102, 106, 114, 123, 133, 130, 123, 131, 131, 135, 135, 136,
+  139, 143, 145, 142, 141, 142, 139, 141, 139, 134, 130, 131, 135, 137, 135, 139,
+  143, 143, 138, 131, 131, 133, 132, 134, 133, 133, 131, 133, 139, 144, 144, 143,
+  145, 143, 138, 137, 132, 125, 121, 120, 122, 125, 126, 129, 126, 128, 128, 130,
+  125, 121, 119, 122, 126, 125, 122, 121, 126, 133, 132, 130, 127, 123, 122, 123,
+  122, 120, 119, 124, 97, 94, 71, 94, 93, 100, 109, 144, 138, 255, 255, 255,
+  255, 255, 255, 191, 67, 55, 33, 31, 44, 94, 141, 133, 119, 138, 140, 127,
+  131, 134, 129, 137, 128, 109, 113, 114, 117, 122, 130, 129, 125, 129, 129, 134,
+  136, 138, 140, 143, 147, 146, 145, 145, 143, 143, 138, 134, 132, 144, 146, 142,
+  130, 124, 128, 138, 145, 136, 134, 134, 135, 138, 137, 134, 130, 141, 146, 146,
+  146, 146, 147, 141, 135, 139, 134, 126, 122, 123, 126, 129, 129, 117, 119, 126,
+  129, 134, 135, 131, 126, 130, 134, 136, 133, 132, 135, 137, 133, 135, 134, 134,
+  131, 129, 127, 128, 130, 116, 82, 85, 85, 108, 110, 111, 117, 151, 127, 255,
+  255, 255, 255, 255, 255, 255, 61, 49, 31, 30, 39, 86, 136, 130, 115, 137,
+  136, 122, 127, 133, 131, 141, 133, 115, 118, 116, 116, 118, 126, 128, 127, 133,
+  131, 137, 142, 145, 145, 148, 153, 154, 151, 151, 149, 148, 141, 138, 139, 142,
+  143, 140, 137, 137, 137, 139, 140, 133, 130, 130, 131, 136, 137, 135, 132, 143,
+  147, 147, 147, 148, 148, 141, 134, 136, 135, 134, 133, 131, 130, 130, 128, 119,
+  122, 123, 123, 126, 131, 135, 135, 134, 138, 139, 137, 138, 140, 138, 134, 140,
+  140, 139, 134, 126, 121, 122, 124, 119, 88, 100, 109, 117, 119, 116, 122, 145,
+  255, 255, 255, 255, 255, 255, 255, 255, 187, 55, 36, 30, 33, 76, 128, 129,
+  124, 139, 138, 124, 130, 137, 136, 146, 137, 122, 120, 114, 111, 115, 127, 131,
+  130, 137, 134, 140, 148, 151, 150, 153, 160, 160, 155, 155, 154, 152, 144, 143,
+  147, 138, 137, 141, 145, 148, 144, 138, 132, 128, 125, 124, 124, 128, 130, 134,
+  134, 142, 144, 146, 146, 147, 149, 144, 137, 134, 136, 136, 133, 127, 124, 126,
+  126, 131, 133, 131, 125, 122, 126, 132, 133, 137, 139, 141, 139, 143, 147, 147,
+  142, 143, 141, 137, 131, 125, 120, 115, 114, 117, 99, 119, 129, 116, 116, 114,
+  125, 137, 255, 255, 255, 255, 255, 255, 255, 255, 255, 62, 35, 22, 18, 59,
+  116, 127, 132, 143, 143, 131, 138, 147, 146, 156, 147, 130, 123, 111, 107, 115,
+  130, 135, 134, 138, 135, 142, 150, 154, 152, 155, 163, 161, 156, 155, 155, 153,
+  146, 146, 152, 144, 140, 137, 132, 128, 126, 132, 138, 134, 130, 128, 126, 128,
+  131, 135, 135, 139, 143, 145, 147, 149, 152, 148, 140, 137, 136, 132, 124, 115,
+  116, 124, 129, 125, 131, 135, 127, 124, 127, 133, 133, 140, 141, 141, 139, 145,
+  152, 156, 154, 149, 143, 136, 131, 129, 126, 118, 113, 101, 95, 126, 137, 113,
+  114, 118, 135, 134, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 28, 22,
+  28, 38, 64, 108, 139, 147, 134, 138, 148, 146, 144, 150, 148, 132, 124, 113,
+  110, 114, 124, 132, 136, 137, 138, 144, 147, 151, 155, 160, 164, 163, 163, 164,
+  159, 155, 150, 147, 147, 136, 133, 128, 124, 127, 130, 131, 131, 124, 122, 125,
+  130, 139, 141, 138, 134, 136, 145, 153, 151, 147, 146, 145, 143, 137, 137, 127,
+  114, 109, 118, 127, 131, 126, 122, 120, 121, 125, 128, 130, 130, 138, 137, 139,
+  140, 145, 150, 157, 160, 153, 147, 140, 137, 136, 132, 120, 113, 105, 107, 120,
+  129, 122, 120, 125, 127, 161, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  38, 35, 26, 31, 57, 91, 116, 146, 138, 141, 149, 150, 147, 148, 145, 139,
+  129, 117, 113, 116, 124, 128, 130, 135, 136, 143, 147, 152, 156, 161, 164, 160,
+  161, 162, 156, 152, 146, 143, 142, 140, 135, 129, 124, 125, 125, 126, 124, 113,
+  112, 115, 121, 131, 136, 136, 132, 143, 141, 142, 149, 157, 158, 150, 142, 143,
+  138, 128, 117, 113, 116, 116, 112, 110, 110, 114, 118, 123, 125, 127, 128, 131,
+  132, 137, 140, 143, 148, 149, 150, 149, 147, 142, 137, 131, 123, 114, 110, 105,
+  106, 116, 125, 125, 130, 129, 121, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 183, 31, 24, 30, 38, 70, 121, 139, 138, 141, 148, 153, 151, 147,
+  141, 144, 133, 119, 115, 118, 124, 124, 122, 129, 131, 140, 145, 150, 154, 158,
+  161, 159, 160, 160, 154, 149, 142, 138, 137, 133, 130, 127, 124, 123, 119, 116,
+  113, 110, 110, 114, 121, 129, 131, 128, 125, 125, 119, 123, 139, 151, 149, 142,
+  139, 137, 129, 116, 104, 103, 108, 109, 103, 99, 104, 113, 118, 119, 118, 120,
+  121, 123, 126, 132, 136, 139, 141, 140, 140, 140, 141, 139, 133, 124, 116, 111,
+  110, 105, 109, 119, 125, 131, 143, 134, 157, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 27, 38, 44, 19, 39, 117, 132, 140, 145, 150, 161,
+  160, 151, 146, 141, 130, 117, 114, 118, 123, 121, 117, 125, 127, 136, 141, 146,
+  148, 151, 152, 159, 159, 159, 152, 146, 138, 134, 132, 124, 123, 126, 129, 128,
+  120, 115, 112, 110, 111, 115, 119, 121, 117, 109, 103, 93, 95, 110, 131, 136,
+  127, 127, 137, 128, 117, 98, 86, 84, 90, 98, 100, 103, 108, 118, 118, 114,
+  111, 114, 116, 120, 122, 126, 130, 133, 133, 132, 131, 132, 132, 131, 127, 123,
+  118, 113, 111, 102, 113, 126, 129, 135, 145, 128, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 183, 50, 51, 13, 15, 78, 129, 149, 154,
+  155, 169, 168, 156, 151, 135, 126, 114, 113, 116, 122, 120, 118, 125, 127, 135,
+  139, 142, 143, 144, 146, 154, 154, 152, 144, 138, 131, 127, 126, 124, 121, 122,
+  125, 125, 121, 122, 128, 116, 113, 110, 105, 103, 99, 95, 92, 89, 89, 105,
+  126, 132, 122, 117, 125, 115, 107, 93, 82, 76, 79, 86, 96, 113, 117, 122,
+  119, 114, 112, 114, 118, 118, 118, 119, 120, 124, 124, 126, 127, 133, 128, 123,
+  121, 121, 117, 110, 106, 95, 116, 135, 135, 134, 137, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 24, 24, 23, 30, 59, 118,
+  150, 155, 151, 166, 164, 150, 149, 134, 127, 118, 114, 115, 119, 121, 121, 126,
+  127, 134, 136, 138, 139, 141, 143, 147, 145, 142, 132, 126, 120, 118, 118, 122,
+  114, 110, 113, 114, 113, 123, 135, 133, 127, 116, 105, 102, 103, 107, 109, 105,
+  95, 97, 114, 128, 124, 111, 104, 91, 91, 91, 92, 90, 90, 94, 103, 116,
+  118, 119, 117, 115, 114, 118, 122, 117, 115, 114, 113, 114, 116, 119, 122, 130,
+  125, 118, 116, 115, 110, 101, 93, 94, 115, 138, 139, 131, 128, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 173, 35, 51,
+  55, 100, 143, 151, 144, 161, 161, 149, 154, 142, 137, 127, 120, 115, 117, 120,
+  123, 121, 122, 127, 130, 132, 134, 137, 140, 142, 139, 134, 123, 117, 113, 112,
+  114, 113, 107, 107, 113, 113, 108, 115, 126, 136, 131, 125, 117, 113, 112, 118,
+  119, 109, 99, 92, 99, 111, 116, 107, 97, 84, 84, 89, 98, 101, 101, 104,
+  110, 117, 116, 116, 113, 114, 116, 117, 118, 112, 111, 107, 106, 107, 108, 112,
+  114, 119, 117, 112, 109, 104, 99, 92, 86, 101, 115, 136, 142, 136, 173, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  184, 43, 33, 93, 143, 152, 147, 165, 170, 160, 168, 150, 146, 136, 126, 116,
+  114, 120, 124, 115, 115, 120, 122, 124, 128, 132, 136, 141, 136, 128, 120, 112,
+  110, 112, 113, 107, 108, 117, 130, 127, 116, 111, 117, 116, 120, 121, 120, 116,
+  109, 104, 101, 100, 99, 96, 91, 93, 102, 106, 106, 105, 95, 93, 96, 101,
+  100, 100, 103, 113, 112, 110, 111, 112, 113, 113, 110, 110, 107, 106, 104, 103,
+  105, 105, 107, 107, 108, 108, 103, 97, 90, 88, 87, 110, 117, 136, 145, 145,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 182, 62, 124, 166, 162, 145, 152, 162, 163, 158, 156, 138,
+  124, 122, 116, 112, 117, 110, 116, 118, 117, 116, 120, 126, 132, 127, 123, 111,
+  102, 102, 106, 104, 97, 105, 106, 112, 120, 120, 114, 117, 125, 111, 116, 120,
+  121, 116, 113, 112, 110, 111, 101, 102, 112, 114, 104, 95, 93, 89, 90, 94,
+  96, 99, 101, 102, 103, 110, 108, 107, 106, 106, 109, 110, 110, 112, 109, 107,
+  104, 101, 98, 95, 94, 98, 96, 98, 95, 89, 82, 87, 93, 112, 159, 139,
+  161, 181, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 52, 97, 144, 164, 161, 158, 163, 168, 157,
+  155, 134, 114, 110, 109, 108, 111, 108, 115, 118, 119, 115, 118, 122, 127, 121,
+  113, 98, 88, 88, 96, 94, 91, 99, 102, 106, 109, 111, 108, 114, 120, 121,
+  121, 121, 119, 117, 119, 122, 124, 111, 105, 103, 108, 111, 107, 102, 99, 94,
+  94, 95, 97, 99, 102, 105, 106, 102, 105, 109, 107, 105, 101, 103, 105, 107,
+  104, 104, 100, 97, 94, 92, 92, 91, 91, 92, 88, 80, 75, 84, 95, 131,
+  156, 145, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 116, 149, 159, 153, 157,
+  171, 170, 168, 140, 111, 107, 111, 111, 112, 109, 114, 118, 120, 116, 116, 120,
+  125, 120, 110, 93, 85, 87, 96, 99, 97, 106, 113, 116, 113, 116, 120, 128,
+  130, 120, 120, 121, 121, 121, 124, 128, 130, 116, 114, 109, 106, 109, 114, 114,
+  110, 108, 107, 106, 106, 108, 111, 114, 115, 101, 108, 115, 113, 108, 101, 102,
+  104, 104, 101, 100, 96, 94, 91, 90, 90, 85, 89, 89, 83, 73, 70, 86,
+  103, 142, 136, 141, 166, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 126,
+  132, 146, 168, 172, 168, 135, 104, 104, 116, 116, 114, 113, 115, 116, 117, 115,
+  113, 120, 127, 121, 108, 93, 89, 94, 103, 106, 104, 100, 110, 114, 108, 112,
+  120, 129, 127, 117, 120, 125, 129, 130, 131, 129, 126, 126, 125, 118, 108, 110,
+  120, 124, 119, 117, 117, 116, 116, 116, 118, 119, 120, 110, 111, 117, 115, 111,
+  108, 107, 105, 104, 101, 98, 95, 92, 90, 90, 91, 87, 90, 91, 84, 75,
+  77, 95, 116, 153, 120, 133, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 210, 136, 126, 120, 93, 76, 91, 114, 116, 115, 120, 117, 115,
+  113, 110, 108, 119, 130, 122, 108, 95, 94, 99, 104, 101, 97, 96, 107, 112,
+  107, 112, 120, 128, 126, 123, 125, 128, 132, 133, 133, 129, 125, 132, 132, 126,
+  115, 116, 125, 129, 124, 119, 119, 118, 118, 117, 117, 116, 116, 116, 112, 109,
+  109, 111, 110, 109, 106, 102, 98, 95, 91, 88, 86, 87, 88, 90, 93, 94,
+  89, 83, 84, 101, 119, 157, 112, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 188, 38, 46, 84, 114, 119, 120, 125,
+  118, 113, 112, 107, 106, 117, 133, 129, 115, 103, 102, 107, 103, 95, 91, 98,
+  103, 106, 103, 106, 111, 120, 122, 123, 120, 116, 115, 116, 119, 118, 119, 123,
+  123, 122, 119, 119, 122, 123, 121, 120, 119, 117, 115, 113, 112, 112, 112, 118,
+  109, 102, 101, 106, 108, 108, 101, 93, 91, 89, 86, 84, 86, 86, 90, 95,
+  93, 93, 91, 87, 86, 95, 108, 121, 146, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 35, 88, 119, 123,
+  122, 126, 118, 113, 113, 107, 105, 114, 131, 135, 119, 105, 106, 111, 108, 99,
+  92, 86, 82, 79, 76, 77, 77, 87, 97, 108, 104, 100, 99, 100, 102, 101,
+  100, 99, 101, 107, 113, 114, 110, 107, 108, 117, 113, 107, 102, 99, 100, 103,
+  103, 103, 97, 91, 89, 90, 90, 88, 86, 86, 85, 84, 83, 84, 88, 92,
+  95, 102, 95, 91, 91, 90, 86, 85, 85, 140, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 182, 93,
+  120, 118, 118, 125, 117, 114, 115, 111, 104, 114, 129, 132, 113, 101, 104, 111,
+  107, 100, 95, 89, 78, 70, 67, 65, 61, 74, 89, 95, 94, 95, 97, 99,
+  98, 91, 86, 77, 78, 88, 103, 105, 95, 90, 94, 106, 99, 89, 81, 78,
+  81, 87, 91, 80, 79, 76, 72, 68, 65, 64, 63, 82, 82, 81, 83, 86,
+  92, 98, 104, 108, 97, 92, 91, 94, 86, 76, 131, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 95, 112, 119, 128, 124, 119, 123, 128, 116, 95, 97, 114, 125, 112, 108,
+  113, 115, 109, 104, 109, 108, 88, 75, 74, 73, 64, 74, 90, 97, 115, 118,
+  102, 98, 110, 108, 94, 95, 115, 123, 108, 96, 98, 101, 96, 117, 104, 88,
+  78, 77, 81, 84, 85, 70, 67, 64, 57, 39, 28, 43, 64, 82, 80, 84,
+  95, 100, 97, 95, 100, 110, 101, 97, 96, 97, 87, 75, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 100, 116, 121, 126, 117, 115, 120, 126, 114, 95, 96, 113, 123,
+  114, 110, 116, 117, 113, 112, 119, 113, 99, 88, 86, 88, 86, 98, 110, 117,
+  133, 135, 121, 118, 131, 130, 119, 129, 158, 168, 141, 110, 108, 125, 139, 143,
+  131, 115, 105, 101, 100, 99, 98, 77, 71, 66, 58, 46, 41, 55, 78, 91,
+  88, 90, 98, 101, 99, 98, 103, 105, 99, 96, 96, 93, 80, 127, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 108, 122, 119, 121, 113, 112, 117, 121, 113, 98, 96,
+  107, 122, 117, 115, 120, 119, 115, 118, 126, 114, 108, 101, 95, 98, 103, 112,
+  117, 124, 137, 140, 131, 132, 146, 148, 139, 146, 176, 189, 163, 132, 130, 152,
+  171, 165, 155, 142, 131, 124, 120, 116, 113, 95, 84, 75, 69, 65, 67, 82,
+  99, 101, 98, 97, 101, 105, 102, 103, 104, 99, 96, 95, 96, 92, 74, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 116, 126, 118, 116, 118, 115, 118, 124, 121,
+  113, 108, 108, 121, 118, 122, 123, 120, 114, 115, 121, 115, 118, 114, 104, 105,
+  110, 113, 108, 117, 126, 129, 126, 130, 144, 148, 144, 143, 162, 170, 158, 144,
+  146, 155, 160, 166, 157, 144, 134, 127, 123, 120, 118, 106, 96, 85, 83, 85,
+  88, 100, 111, 108, 106, 106, 106, 108, 104, 102, 100, 97, 95, 95, 97, 91,
+  133, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 123, 128, 115, 110, 125, 121, 120,
+  126, 129, 128, 119, 110, 111, 113, 121, 123, 121, 115, 113, 115, 119, 126, 126,
+  117, 116, 117, 114, 103, 115, 119, 120, 119, 123, 133, 135, 133, 143, 151, 153,
+  145, 140, 143, 145, 143, 158, 149, 137, 125, 118, 116, 115, 116, 108, 98, 91,
+  92, 97, 99, 104, 106, 107, 108, 110, 109, 109, 104, 99, 95, 100, 100, 98,
+  93, 82, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 131, 127, 113, 107, 118,
+  118, 117, 118, 121, 123, 116, 108, 103, 109, 115, 122, 122, 120, 116, 115, 116,
+  123, 126, 121, 122, 122, 118, 109, 118, 117, 115, 115, 116, 118, 116, 114, 128,
+  136, 138, 130, 124, 129, 140, 147, 148, 141, 130, 119, 111, 109, 110, 111, 109,
+  104, 103, 104, 109, 110, 106, 100, 107, 109, 110, 106, 105, 104, 97, 91, 100,
+  102, 100, 90, 131, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 137, 129, 113,
+  107, 108, 118, 119, 114, 110, 112, 112, 108, 107, 110, 113, 118, 121, 123, 120,
+  117, 116, 118, 121, 120, 123, 122, 123, 120, 122, 118, 115, 116, 116, 113, 107,
+  105, 113, 119, 122, 119, 118, 124, 134, 141, 134, 130, 124, 116, 111, 108, 109,
+  110, 112, 111, 113, 113, 118, 118, 111, 102, 109, 110, 107, 100, 99, 101, 98,
+  93, 94, 102, 100, 87, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 146,
+  134, 115, 110, 109, 125, 131, 121, 111, 111, 116, 119, 116, 114, 114, 114, 120,
+  123, 121, 117, 124, 121, 123, 124, 126, 125, 127, 130, 126, 121, 119, 121, 122,
+  118, 111, 110, 116, 115, 115, 118, 124, 126, 121, 113, 117, 114, 115, 110, 107,
+  106, 107, 108, 108, 108, 109, 113, 116, 116, 111, 102, 111, 111, 105, 97, 96,
+  99, 99, 96, 86, 96, 98, 84, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 145, 150, 137, 119, 116, 120, 124, 119, 112, 109, 116, 125, 112, 109, 112,
+  117, 124, 125, 121, 115, 125, 127, 126, 125, 125, 126, 127, 128, 119, 123, 124,
+  121, 115, 110, 111, 114, 120, 125, 127, 128, 124, 118, 112, 108, 101, 102, 108,
+  110, 111, 111, 109, 105, 107, 106, 108, 113, 116, 116, 111, 109, 116, 109, 101,
+  101, 102, 101, 93, 87, 93, 85, 74, 133, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 144, 152, 147, 134, 122, 111, 113, 117, 117, 116, 113, 110, 107, 109,
+  107, 108, 113, 118, 120, 118, 118, 116, 119, 120, 122, 122, 123, 122, 122, 114,
+  117, 117, 114, 109, 105, 107, 112, 123, 125, 125, 123, 122, 120, 118, 114, 111,
+  111, 112, 110, 111, 111, 111, 110, 108, 106, 109, 112, 114, 111, 105, 99, 104,
+  104, 105, 106, 104, 99, 93, 87, 86, 85, 72, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 148, 148, 138, 132, 130, 117, 111, 107, 110, 115, 113, 106,
+  97, 106, 106, 107, 109, 111, 114, 115, 120, 118, 121, 123, 125, 124, 125, 124,
+  124, 121, 123, 124, 120, 116, 115, 117, 121, 123, 123, 121, 120, 120, 119, 121,
+  122, 122, 117, 114, 112, 111, 112, 114, 115, 116, 115, 114, 115, 118, 114, 106,
+  99, 95, 98, 100, 96, 89, 81, 78, 76, 81, 86, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 133, 158, 157, 140, 126, 124, 125, 116, 104, 102, 106,
+  110, 107, 104, 107, 108, 109, 108, 105, 108, 114, 121, 127, 129, 128, 127, 125,
+  126, 125, 126, 131, 131, 132, 130, 126, 123, 122, 124, 121, 121, 118, 114, 114,
+  115, 117, 117, 118, 117, 114, 110, 110, 112, 114, 113, 118, 113, 112, 112, 114,
+  113, 109, 105, 103, 101, 97, 90, 82, 77, 75, 78, 76, 80, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 133, 169, 173, 149, 122, 108, 119, 111, 104,
+  102, 103, 108, 110, 111, 109, 111, 112, 109, 105, 105, 112, 120, 127, 127, 124,
+  122, 120, 122, 125, 126, 126, 129, 129, 129, 126, 121, 117, 114, 115, 114, 112,
+  110, 109, 106, 105, 105, 110, 109, 109, 108, 108, 109, 110, 111, 115, 109, 105,
+  100, 102, 105, 105, 104, 106, 102, 97, 92, 90, 87, 83, 83, 59, 59, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 91, 134, 157, 161, 149, 132, 119, 106,
+  106, 106, 105, 107, 109, 110, 111, 109, 113, 114, 111, 108, 107, 111, 116, 124,
+  124, 122, 121, 121, 125, 129, 132, 123, 125, 127, 125, 123, 119, 114, 111, 114,
+  113, 112, 110, 106, 103, 100, 98, 105, 107, 107, 110, 112, 112, 112, 112, 123,
+  115, 106, 102, 103, 103, 104, 103, 101, 97, 93, 89, 85, 79, 69, 65, 46,
+  113, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 113, 145, 150, 145, 145, 143,
+  137, 116, 111, 108, 107, 108, 108, 108, 108, 104, 108, 111, 114, 111, 111, 112,
+  114, 125, 125, 126, 127, 128, 130, 132, 133, 131, 130, 130, 128, 128, 127, 126,
+  124, 121, 120, 118, 116, 113, 111, 108, 107, 112, 112, 114, 116, 116, 117, 117,
+  119, 127, 122, 114, 109, 109, 110, 107, 105, 98, 95, 86, 78, 69, 67, 68,
+  72, 72, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 124, 165, 166, 153,
+  149, 143, 130, 137, 126, 112, 105, 104, 107, 108, 107, 99, 103, 108, 113, 115,
+  113, 113, 115, 125, 127, 129, 131, 131, 130, 127, 125, 135, 133, 130, 129, 131,
+  132, 136, 135, 135, 131, 128, 125, 123, 122, 121, 121, 122, 120, 120, 121, 121,
+  122, 123, 126, 123, 118, 114, 113, 114, 112, 109, 104, 100, 95, 87, 75, 71,
+  80, 100, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 130, 165,
+  164, 154, 142, 136, 138, 139, 132, 122, 110, 101, 97, 96, 98, 95, 100, 103,
+  100, 105, 114, 118, 115, 118, 122, 128, 132, 133, 133, 133, 133, 146, 144, 140,
+  137, 136, 135, 139, 138, 134, 130, 125, 125, 126, 128, 127, 125, 124, 126, 123,
+  122, 125, 131, 132, 129, 130, 129, 121, 109, 106, 109, 109, 104, 93, 106, 93,
+  73, 76, 77, 79, 94, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  130, 159, 154, 147, 143, 138, 136, 139, 135, 128, 116, 105, 99, 96, 97, 97,
+  101, 103, 103, 107, 116, 121, 120, 121, 125, 129, 131, 132, 133, 134, 135, 146,
+  144, 141, 139, 138, 139, 140, 141, 137, 133, 130, 129, 129, 128, 129, 128, 128,
+  129, 127, 123, 127, 130, 132, 128, 126, 126, 120, 111, 108, 107, 107, 102, 93,
+  99, 87, 68, 63, 66, 74, 142, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 141, 162, 149, 146, 150, 146, 139, 138, 137, 133, 123, 110, 100, 97,
+  98, 103, 104, 103, 101, 103, 109, 113, 113, 119, 122, 127, 129, 130, 132, 136,
+  138, 142, 141, 141, 140, 139, 139, 139, 140, 138, 136, 136, 134, 132, 129, 130,
+  131, 133, 132, 130, 125, 127, 129, 129, 125, 120, 122, 119, 114, 112, 111, 107,
+  100, 86, 87, 92, 84, 74, 81, 97, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 156, 166, 148, 147, 155, 150, 139, 134, 138, 138, 131, 118,
+  108, 104, 104, 104, 103, 100, 97, 98, 101, 105, 107, 110, 114, 122, 126, 128,
+  129, 133, 135, 136, 136, 136, 136, 136, 136, 138, 137, 136, 137, 139, 135, 133,
+  128, 129, 130, 134, 133, 130, 124, 127, 127, 128, 124, 113, 117, 120, 118, 118,
+  114, 106, 96, 78, 77, 94, 98, 85, 96, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 163, 167, 144, 142, 151, 145, 135, 132, 135, 139,
+  135, 126, 117, 113, 112, 101, 98, 98, 97, 98, 101, 106, 107, 96, 102, 112,
+  119, 123, 124, 127, 128, 132, 132, 134, 134, 135, 135, 137, 135, 136, 137, 140,
+  138, 135, 131, 131, 131, 132, 130, 128, 122, 124, 125, 126, 119, 109, 114, 119,
+  117, 114, 107, 94, 84, 74, 66, 78, 83, 71, 81, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 165, 165, 148, 146, 148, 144, 137, 134,
+  134, 137, 135, 131, 126, 121, 120, 109, 103, 100, 97, 93, 89, 89, 90, 89,
+  93, 103, 110, 114, 116, 120, 121, 128, 128, 129, 129, 130, 131, 134, 135, 134,
+  136, 139, 138, 136, 134, 132, 131, 127, 127, 124, 118, 118, 120, 118, 114, 107,
+  109, 108, 102, 97, 91, 82, 74, 70, 60, 58, 59, 59, 130, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 159, 160, 150, 151, 148, 146,
+  146, 139, 135, 132, 132, 133, 131, 127, 123, 121, 113, 108, 103, 95, 85, 81,
+  80, 88, 90, 94, 98, 103, 106, 113, 116, 121, 120, 121, 121, 124, 126, 128,
+  130, 130, 131, 133, 134, 136, 134, 131, 126, 125, 125, 121, 114, 113, 114, 112,
+  104, 104, 100, 93, 82, 80, 81, 81, 79, 84, 77, 67, 67, 78, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 148, 146, 147,
+  143, 143, 151, 141, 136, 131, 130, 134, 133, 131, 126, 125, 118, 114, 114, 109,
+  100, 97, 98, 90, 90, 91, 91, 95, 100, 109, 114, 114, 113, 113, 112, 115,
+  118, 122, 124, 124, 123, 125, 129, 133, 131, 128, 121, 126, 126, 121, 114, 109,
+  110, 106, 100, 102, 95, 84, 72, 72, 82, 91, 96, 110, 110, 95, 94, 158,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 145,
+  145, 143, 142, 141, 137, 136, 134, 132, 132, 131, 130, 128, 126, 124, 120, 114,
+  113, 114, 109, 102, 93, 86, 83, 80, 78, 85, 96, 111, 121, 121, 113, 106,
+  102, 107, 116, 123, 123, 121, 126, 127, 122, 122, 125, 129, 124, 127, 133, 125,
+  103, 93, 99, 103, 96, 87, 73, 58, 66, 89, 97, 92, 99, 111, 108, 111,
+  119, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 220, 146, 142, 138, 135, 130, 138, 136, 136, 136, 135, 134, 133, 133, 127,
+  123, 117, 115, 114, 110, 105, 99, 92, 88, 84, 79, 80, 85, 91, 98, 106,
+  104, 98, 98, 103, 108, 108, 108, 106, 114, 118, 114, 111, 114, 120, 121, 126,
+  125, 115, 100, 94, 97, 97, 89, 69, 65, 57, 57, 77, 90, 94, 104, 102,
+  103, 108, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 218, 143, 139, 137, 132, 138, 137, 137, 137, 137, 137, 135,
+  134, 127, 123, 118, 116, 115, 113, 110, 105, 102, 98, 93, 87, 84, 80, 78,
+  80, 85, 84, 84, 91, 96, 97, 95, 95, 98, 108, 113, 108, 102, 104, 111,
+  116, 117, 108, 96, 87, 83, 80, 75, 69, 70, 80, 77, 71, 79, 88, 90,
+  96, 92, 97, 157, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 218, 145, 143, 135, 134, 135, 134, 134,
+  134, 134, 133, 128, 123, 119, 116, 114, 113, 113, 112, 110, 108, 106, 102, 98,
+  93, 86, 82, 78, 75, 76, 81, 82, 78, 76, 74, 83, 88, 90, 87, 83,
+  82, 86, 90, 88, 79, 72, 71, 70, 66, 65, 67, 81, 100, 101, 90, 93,
+  95, 88, 85, 84, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 145, 133, 132, 133,
+  133, 134, 135, 134, 133, 131, 126, 123, 119, 119, 118, 119, 119, 113, 112, 111,
+  110, 108, 104, 96, 90, 89, 82, 78, 79, 73, 64, 59, 59, 61, 59, 57,
+  58, 59, 60, 59, 60, 56, 54, 55, 60, 63, 65, 74, 84, 80, 96, 95,
+  87, 97, 103, 96, 91, 88, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 137, 137,
+  134, 135, 136, 137, 137, 138, 137, 134, 130, 128, 124, 123, 123, 124, 125, 116,
+  114, 112, 112, 111, 107, 102, 95, 97, 89, 87, 88, 85, 77, 78, 81, 72,
+  63, 62, 64, 70, 68, 68, 66, 60, 60, 62, 58, 61, 67, 81, 89, 90,
+  96, 87, 80, 92, 102, 100, 102, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 216, 136, 137, 137, 139, 139, 139, 138, 132, 129, 128, 125, 123, 123, 124,
+  125, 120, 116, 112, 111, 113, 112, 107, 103, 97, 90, 92, 98, 98, 94, 99,
+  106, 98, 89, 88, 88, 90, 83, 83, 84, 79, 77, 72, 58, 61, 73, 86,
+  86, 98, 100, 90, 87, 97, 101, 100, 157, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 216, 138, 139, 139, 139, 139, 136, 127, 127, 125, 124, 121,
+  120, 119, 122, 124, 119, 113, 113, 117, 119, 117, 114, 99, 92, 92, 97, 98,
+  90, 92, 101, 103, 98, 95, 93, 85, 76, 74, 79, 81, 81, 69, 56, 63,
+  85, 96, 93, 86, 92, 93, 99, 108, 154, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 216, 134, 133, 134, 138, 131, 127, 123,
+  121, 121, 121, 120, 119, 116, 120, 123, 125, 124, 123, 122, 121, 107, 113, 113,
+  105, 101, 102, 103, 100, 94, 100, 105, 101, 91, 83, 81, 82, 80, 79, 75,
+  73, 80, 92, 94, 91, 86, 90, 93, 101, 157, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 214, 128, 133, 137, 135,
+  131, 128, 126, 126, 126, 124, 124, 122, 123, 127, 126, 125, 122, 122, 118, 114,
+  120, 119, 110, 104, 106, 110, 111, 109, 108, 104, 97, 92, 91, 97, 103, 95,
+  89, 77, 69, 74, 86, 92, 92, 97, 94, 91, 146, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213,
+  135, 134, 132, 130, 129, 129, 128, 126, 126, 128, 129, 131, 129, 127, 123, 122,
+  118, 119, 122, 119, 111, 105, 107, 113, 116, 114, 109, 101, 95, 92, 95, 101,
+  105, 93, 86, 76, 71, 78, 91, 98, 100, 103, 98, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 213, 127, 125, 124, 125, 126, 123, 123, 131, 131, 132, 130, 129,
+  125, 123, 121, 123, 119, 117, 112, 111, 113, 114, 114, 113, 109, 104, 102, 101,
+  99, 96, 92, 86, 82, 78, 80, 88, 96, 98, 99, 150, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 210, 122, 123, 122, 122, 130, 130, 132,
+  130, 129, 127, 127, 124, 126, 120, 117, 119, 124, 125, 120, 115, 117, 114, 112,
+  112, 112, 108, 100, 93, 93, 87, 82, 85, 90, 92, 91, 93, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211, 124, 125, 129,
+  130, 130, 130, 130, 128, 128, 127, 125, 116, 113, 121, 128, 125, 119, 113, 119,
+  116, 112, 111, 111, 110, 105, 101, 93, 84, 77, 80, 87, 91, 93, 152, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 214, 131, 130, 130, 130, 128, 129, 127, 121, 115, 116, 120, 123, 120, 116,
+  118, 119, 117, 114, 112, 110, 107, 103, 100, 86, 78, 75, 83, 92, 95, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 213, 129, 127, 127, 125, 123, 120, 123, 124, 122,
+  116, 121, 130, 120, 122, 121, 120, 114, 104, 95, 90, 82, 77, 81, 92, 151,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 119, 119,
+  116, 115, 115, 117, 121, 123, 127, 123, 110, 98, 92, 84, 76, 136, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 };
+/* Define image 'enemy13' of size 144x144x1x3 and type 'const unsigned char' */
+const unsigned char data_enemy13[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 154, 181, 158, 190,
+  187, 178, 114, 146, 197, 219, 224, 134, 108, 213, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  224, 187, 140, 138, 154, 132, 145, 171, 185, 145, 133, 136, 147, 167, 150, 175,
+  178, 155, 81, 73, 124, 171, 175, 92, 56, 55, 64, 111, 112, 158, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 121, 144, 148, 115, 131, 157,
+  168, 187, 150, 155, 173, 139, 142, 167, 192, 153, 143, 134, 142, 147, 150, 178,
+  208, 168, 88, 93, 120, 172, 192, 159, 185, 199, 205, 246, 252, 251, 246, 248,
+  255, 255, 247, 246, 177, 185, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 226, 179, 154, 179, 141, 147, 133, 110, 130, 158,
+  173, 175, 127, 151, 157, 138, 141, 172, 202, 137, 137, 142, 130, 158, 152, 162,
+  218, 224, 206, 224, 223, 241, 252, 254, 233, 249, 233, 245, 252, 255, 230, 255,
+  246, 253, 207, 218, 216, 249, 196, 119, 240, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 230, 165, 159, 175, 143, 174, 186, 177, 146, 149, 118, 95, 120, 129,
+  121, 113, 67, 85, 94, 76, 87, 128, 190, 203, 184, 126, 150, 168, 192, 213,
+  221, 225, 222, 221, 251, 247, 248, 254, 247, 246, 252, 245, 225, 226, 255, 243,
+  253, 240, 244, 228, 96, 80, 165, 216, 238, 210, 199, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  225, 172, 170, 165, 176, 183, 124, 136, 119, 132, 116, 104, 79, 100, 165, 193,
+  209, 241, 237, 209, 242, 252, 246, 244, 233, 226, 138, 125, 179, 163, 148, 123,
+  73, 77, 89, 105, 233, 251, 235, 237, 254, 242, 246, 220, 205, 255, 240, 233,
+  235, 251, 225, 232, 222, 177, 72, 115, 100, 177, 193, 226, 214, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 128,
+  121, 150, 165, 141, 124, 152, 124, 170, 159, 159, 164, 137, 131, 177, 229, 222,
+  221, 247, 251, 255, 254, 243, 216, 247, 241, 236, 160, 131, 159, 126, 80, 48,
+  28, 39, 48, 51, 175, 226, 222, 238, 253, 253, 240, 219, 221, 164, 236, 248,
+  234, 234, 248, 243, 244, 212, 0, 77, 72, 109, 152, 158, 182, 193, 216, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 234, 186, 185, 179, 120,
+  129, 152, 152, 115, 102, 178, 175, 227, 241, 225, 242, 226, 215, 228, 217, 167,
+  139, 128, 115, 105, 75, 76, 80, 206, 243, 229, 200, 128, 87, 73, 54, 54,
+  77, 64, 45, 23, 20, 47, 62, 132, 179, 248, 230, 227, 246, 47, 136, 247,
+  219, 227, 237, 231, 213, 236, 58, 90, 81, 59, 44, 33, 94, 161, 156, 170,
+  192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 160, 172, 161, 161, 175, 154,
+  210, 228, 205, 221, 237, 201, 222, 235, 207, 230, 150, 191, 148, 99, 35, 3,
+  13, 25, 36, 60, 44, 65, 56, 138, 116, 59, 47, 78, 43, 80, 100, 97,
+  107, 74, 52, 80, 103, 196, 216, 252, 241, 214, 55, 54, 0, 76, 25, 17,
+  96, 163, 218, 229, 241, 207, 62, 103, 148, 171, 151, 106, 67, 120, 111, 207,
+  155, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 171, 165, 160, 147, 174, 206, 233, 237,
+  222, 184, 155, 169, 161, 60, 147, 190, 186, 221, 79, 24, 45, 77, 86, 108,
+  115, 90, 92, 57, 49, 58, 41, 71, 54, 64, 83, 67, 139, 220, 244, 238,
+  241, 234, 223, 226, 240, 251, 229, 235, 251, 233, 65, 23, 104, 58, 84, 87,
+  29, 22, 102, 122, 206, 222, 193, 218, 181, 184, 207, 195, 77, 2, 37, 123,
+  159, 133, 204, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 164, 175, 169, 170, 201, 238, 245, 214, 177,
+  78, 68, 130, 192, 140, 154, 200, 181, 199, 156, 105, 68, 90, 106, 93, 102,
+  99, 78, 112, 57, 49, 50, 62, 75, 63, 98, 83, 29, 187, 254, 244, 236,
+  244, 249, 227, 246, 229, 237, 238, 246, 237, 185, 42, 41, 158, 237, 194, 181,
+  74, 14, 26, 67, 97, 176, 200, 200, 191, 196, 186, 198, 111, 41, 17, 124,
+  187, 161, 176, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 231, 168, 171, 176, 155, 240, 102, 70, 48, 33,
+  156, 181, 192, 140, 162, 197, 180, 128, 123, 44, 67, 72, 108, 81, 96, 126,
+  81, 82, 46, 74, 182, 187, 186, 237, 251, 246, 238, 216, 240, 243, 249, 239,
+  242, 251, 225, 238, 246, 225, 247, 249, 234, 245, 210, 225, 251, 248, 249, 242,
+  239, 205, 108, 1, 20, 10, 99, 182, 199, 168, 133, 166, 178, 132, 29, 161,
+  190, 194, 191, 116, 168, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 227, 183, 199, 174, 117, 83, 177, 46, 11, 197, 195,
+  217, 186, 216, 203, 155, 83, 55, 34, 4, 23, 65, 69, 40, 65, 97, 110,
+  63, 30, 181, 233, 224, 198, 237, 239, 252, 236, 237, 249, 238, 214, 221, 222,
+  234, 232, 239, 232, 249, 232, 186, 167, 210, 238, 255, 255, 254, 232, 238, 240,
+  241, 249, 235, 206, 17, 1, 7, 63, 102, 192, 168, 75, 79, 176, 119, 116,
+  180, 196, 228, 205, 129, 168, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 223, 165, 172, 146, 152, 195, 217, 231, 197, 192, 220, 220,
+  136, 149, 101, 61, 47, 15, 6, 49, 65, 136, 167, 195, 212, 75, 66, 150,
+  171, 210, 220, 137, 82, 186, 228, 251, 239, 234, 255, 249, 247, 244, 255, 255,
+  247, 228, 255, 252, 207, 75, 65, 75, 72, 77, 77, 235, 255, 255, 255, 254,
+  250, 250, 234, 232, 231, 192, 25, 72, 31, 28, 131, 177, 164, 144, 134, 134,
+  182, 138, 100, 213, 225, 166, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 231, 154, 189, 199, 171, 173, 215, 243, 244, 244, 210, 239, 207,
+  48, 84, 70, 83, 23, 35, 45, 72, 98, 134, 219, 228, 205, 174, 30, 96,
+  201, 180, 193, 106, 0, 207, 248, 233, 242, 247, 217, 253, 249, 248, 249, 243,
+  230, 241, 226, 247, 179, 73, 79, 116, 119, 73, 100, 210, 249, 255, 246, 251,
+  251, 243, 234, 248, 246, 204, 135, 104, 99, 29, 75, 150, 198, 129, 128, 155,
+  182, 99, 45, 216, 221, 212, 155, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 173, 191, 166, 169, 230, 218, 186, 232, 248, 219, 244, 110, 65,
+  94, 89, 184, 229, 212, 199, 126, 60, 151, 155, 184, 175, 199, 199, 109, 32,
+  31, 53, 30, 65, 85, 138, 233, 235, 251, 230, 252, 231, 227, 242, 246, 254,
+  240, 244, 121, 72, 247, 229, 255, 255, 218, 253, 219, 228, 230, 238, 250, 255,
+  247, 237, 255, 250, 242, 249, 223, 0, 87, 124, 28, 74, 140, 174, 159, 167,
+  190, 70, 45, 179, 241, 219, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 175, 173, 159, 191, 204, 95, 21, 78, 181, 118, 57, 127, 234,
+  234, 235, 217, 187, 212, 233, 210, 63, 127, 152, 196, 181, 180, 211, 199, 83,
+  90, 115, 87, 79, 123, 60, 179, 242, 227, 248, 233, 249, 244, 243, 221, 237,
+  250, 255, 131, 79, 249, 255, 236, 219, 216, 247, 240, 217, 220, 241, 245, 254,
+  255, 243, 251, 244, 241, 234, 252, 52, 50, 102, 89, 18, 63, 46, 70, 153,
+  203, 99, 38, 144, 223, 238, 230, 214, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 183, 149, 159, 181, 130, 48, 34, 68, 87, 65, 21, 167, 229,
+  239, 195, 193, 82, 151, 237, 194, 13, 140, 162, 178, 184, 98, 162, 195, 114,
+  56, 101, 117, 102, 114, 37, 86, 233, 227, 251, 234, 230, 234, 249, 242, 246,
+  255, 175, 97, 136, 247, 255, 244, 255, 237, 255, 226, 204, 216, 241, 214, 210,
+  251, 255, 255, 247, 255, 255, 246, 77, 40, 99, 94, 75, 115, 32, 50, 110,
+  212, 177, 46, 157, 233, 201, 223, 204, 164, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 225, 171, 188, 153, 91, 86, 119, 110, 66, 84, 66, 120, 57, 78,
+  48, 58, 94, 56, 59, 213, 177, 26, 185, 146, 165, 164, 84, 167, 193, 188,
+  57, 131, 81, 115, 81, 103, 61, 27, 121, 210, 240, 247, 235, 242, 237, 245,
+  255, 83, 50, 19, 116, 230, 200, 229, 212, 201, 204, 232, 226, 255, 243, 210,
+  218, 227, 242, 248, 226, 231, 233, 94, 48, 91, 87, 90, 87, 108, 87, 21,
+  223, 218, 16, 60, 215, 236, 132, 35, 222, 54, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 181, 190, 224, 106, 87, 89, 87, 75, 83, 82, 115, 114, 56, 55,
+  79, 113, 113, 91, 107, 151, 86, 89, 204, 121, 165, 165, 84, 122, 176, 210,
+  45, 47, 109, 106, 105, 118, 109, 94, 51, 42, 84, 161, 244, 236, 248, 237,
+  247, 255, 232, 205, 54, 64, 89, 84, 104, 167, 221, 249, 252, 249, 255, 237,
+  248, 255, 167, 145, 156, 125, 130, 53, 89, 81, 76, 77, 101, 74, 89, 34,
+  218, 235, 29, 14, 147, 212, 55, 21, 190, 99, 139, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 136, 102, 112, 85, 73, 77, 55, 75, 67, 72, 66, 74, 61, 80,
+  103, 129, 111, 113, 111, 102, 111, 51, 59, 144, 184, 178, 176, 186, 188, 188,
+  111, 19, 11, 27, 21, 23, 113, 98, 90, 71, 65, 148, 253, 234, 245, 255,
+  251, 249, 249, 249, 231, 209, 228, 245, 230, 253, 254, 242, 236, 248, 252, 255,
+  241, 248, 74, 59, 80, 83, 67, 93, 105, 71, 91, 74, 60, 75, 68, 52,
+  222, 232, 22, 57, 88, 241, 31, 16, 80, 178, 48, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 136, 61, 71, 74, 71, 71, 77, 77, 66, 54, 42, 67, 69, 70,
+  73, 113, 120, 101, 89, 86, 74, 55, 53, 123, 191, 184, 176, 189, 224, 198,
+  108, 10, 68, 83, 97, 46, 69, 107, 86, 92, 84, 131, 255, 249, 248, 254,
+  250, 255, 255, 239, 255, 250, 245, 253, 251, 255, 255, 252, 219, 235, 250, 225,
+  193, 248, 77, 78, 69, 87, 69, 110, 109, 60, 84, 75, 71, 64, 97, 55,
+  199, 221, 38, 72, 48, 207, 40, 38, 27, 242, 117, 145, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 108, 95, 71, 73, 64, 94, 101, 81, 83, 97, 78, 78, 77, 97,
+  81, 81, 73, 73, 64, 108, 95, 100, 103, 48, 80, 140, 182, 191, 187, 188,
+  200, 212, 235, 235, 237, 142, 88, 84, 98, 100, 67, 136, 241, 242, 254, 248,
+  246, 255, 245, 214, 226, 252, 250, 240, 253, 236, 239, 235, 255, 179, 255, 255,
+  108, 62, 248, 246, 81, 54, 107, 69, 79, 90, 99, 59, 54, 67, 62, 76,
+  63, 209, 55, 56, 82, 119, 90, 74, 66, 185, 223, 68, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 219, 6, 102, 46, 82, 67, 90, 94, 102, 84, 73, 79, 57, 31, 72,
+  65, 55, 60, 118, 96, 67, 99, 53, 60, 76, 63, 46, 36, 51, 217, 241,
+  221, 237, 246, 234, 251, 251, 232, 8, 70, 92, 86, 109, 238, 238, 250, 255,
+  250, 241, 232, 241, 231, 209, 208, 251, 255, 239, 245, 246, 255, 196, 218, 228,
+  237, 107, 81, 148, 175, 62, 18, 57, 69, 51, 84, 75, 65, 76, 72, 82,
+  22, 173, 134, 48, 122, 73, 121, 96, 106, 63, 218, 88, 144, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 155, 127, 229, 219, 229, 203, 65, 118, 95, 39, 63, 108, 114, 81, 104,
+  85, 59, 47, 112, 145, 76, 88, 66, 92, 98, 71, 85, 63, 7, 207, 234,
+  234, 249, 245, 252, 230, 243, 247, 43, 83, 96, 92, 26, 251, 254, 237, 251,
+  255, 245, 237, 254, 249, 92, 78, 235, 245, 248, 255, 240, 245, 238, 195, 196,
+  249, 134, 31, 32, 217, 216, 91, 39, 36, 88, 82, 77, 67, 52, 83, 37,
+  49, 66, 181, 61, 99, 87, 114, 104, 112, 23, 151, 141, 106, 217, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 215, 251, 234, 251, 240, 250, 82, 108, 77, 112, 184, 204, 226, 219, 235,
+  207, 135, 41, 102, 146, 90, 35, 68, 115, 64, 79, 86, 108, 40, 189, 237,
+  254, 252, 249, 255, 246, 254, 222, 83, 45, 95, 118, 13, 175, 221, 240, 238,
+  251, 255, 239, 240, 219, 48, 41, 255, 255, 254, 250, 253, 228, 218, 165, 190,
+  239, 163, 51, 37, 139, 183, 165, 86, 16, 45, 99, 80, 76, 84, 74, 73,
+  62, 29, 209, 110, 65, 103, 108, 101, 105, 57, 126, 165, 112, 117, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 250, 239, 252, 227, 204, 226, 185, 33, 40, 225, 249, 230, 246, 229, 222,
+  239, 241, 167, 25, 42, 59, 54, 76, 72, 39, 56, 11, 54, 8, 104, 224,
+  249, 243, 248, 241, 247, 255, 251, 71, 34, 96, 80, 88, 37, 89, 252, 250,
+  224, 255, 227, 247, 163, 57, 52, 253, 255, 240, 246, 234, 212, 236, 188, 143,
+  251, 234, 15, 73, 46, 83, 217, 193, 184, 86, 20, 32, 86, 65, 85, 75,
+  68, 11, 218, 173, 68, 100, 115, 84, 91, 72, 130, 151, 100, 76, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 232, 254, 252, 255, 194, 217, 200, 20, 110, 243, 239, 238, 245, 247, 241,
+  248, 227, 247, 83, 37, 127, 77, 111, 74, 75, 213, 232, 207, 171, 27, 178,
+  249, 249, 231, 242, 251, 253, 240, 51, 36, 69, 81, 103, 67, 55, 84, 143,
+  246, 239, 83, 133, 32, 77, 32, 231, 244, 248, 247, 228, 253, 237, 253, 255,
+  234, 250, 34, 78, 35, 54, 32, 154, 171, 209, 164, 128, 42, 56, 81, 89,
+  51, 48, 206, 208, 47, 97, 108, 96, 161, 36, 99, 78, 103, 81, 134, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  240, 235, 240, 255, 251, 227, 217, 216, 118, 174, 238, 248, 252, 242, 229, 225,
+  233, 228, 233, 107, 103, 108, 140, 45, 71, 141, 241, 230, 252, 230, 78, 138,
+  231, 251, 247, 255, 255, 239, 249, 45, 90, 41, 79, 84, 91, 97, 47, 84,
+  164, 117, 60, 44, 60, 83, 91, 138, 248, 252, 234, 238, 247, 253, 253, 249,
+  254, 213, 18, 61, 72, 74, 18, 73, 140, 213, 206, 175, 118, 54, 73, 73,
+  85, 50, 188, 184, 41, 90, 51, 100, 176, 24, 86, 116, 92, 82, 96, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  212, 233, 238, 255, 255, 255, 230, 236, 255, 254, 233, 252, 223, 235, 248, 232,
+  221, 249, 252, 104, 149, 128, 108, 114, 187, 227, 196, 229, 229, 241, 251, 249,
+  251, 229, 255, 253, 236, 192, 130, 37, 78, 78, 87, 101, 84, 96, 68, 51,
+  29, 4, 72, 87, 80, 79, 72, 45, 135, 229, 250, 255, 220, 234, 254, 238,
+  203, 127, 57, 96, 60, 52, 66, 42, 15, 59, 142, 194, 228, 136, 93, 96,
+  109, 61, 157, 160, 43, 68, 61, 84, 124, 194, 99, 92, 69, 98, 108, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  183, 220, 230, 234, 242, 252, 255, 222, 248, 228, 254, 245, 252, 252, 224, 238,
+  247, 218, 155, 31, 156, 127, 64, 243, 248, 251, 213, 233, 218, 199, 221, 214,
+  241, 238, 251, 207, 127, 57, 35, 112, 62, 103, 64, 64, 70, 66, 73, 79,
+  90, 87, 44, 61, 40, 95, 72, 36, 30, 154, 221, 230, 240, 251, 248, 181,
+  34, 14, 91, 76, 75, 53, 47, 56, 83, 53, 12, 42, 98, 192, 193, 139,
+  72, 85, 73, 59, 91, 59, 55, 75, 6, 228, 164, 98, 87, 117, 106, 157,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  147, 222, 211, 215, 234, 236, 246, 250, 255, 251, 255, 246, 243, 246, 236, 230,
+  145, 35, 72, 188, 245, 75, 21, 238, 242, 230, 242, 233, 254, 248, 232, 220,
+  255, 255, 249, 40, 72, 71, 99, 148, 99, 87, 60, 41, 60, 66, 60, 37,
+  34, 70, 87, 95, 58, 66, 68, 69, 78, 48, 40, 133, 217, 225, 199, 210,
+  55, 53, 98, 51, 57, 79, 91, 85, 63, 69, 86, 66, 33, 36, 53, 138,
+  64, 69, 78, 84, 64, 34, 93, 132, 74, 152, 147, 67, 73, 95, 79, 97,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  107, 235, 220, 206, 223, 250, 238, 255, 236, 248, 211, 146, 144, 208, 255, 226,
+  202, 163, 185, 200, 231, 171, 25, 135, 255, 246, 255, 254, 241, 236, 241, 245,
+  249, 232, 255, 41, 53, 95, 127, 178, 163, 62, 62, 96, 120, 119, 48, 45,
+  63, 41, 95, 66, 58, 68, 63, 78, 95, 61, 74, 46, 171, 242, 219, 225,
+  56, 47, 80, 71, 73, 82, 65, 80, 72, 77, 61, 85, 65, 46, 38, 66,
+  44, 65, 85, 75, 90, 74, 202, 231, 188, 114, 220, 112, 86, 77, 73, 95,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 180,
+  51, 201, 213, 215, 199, 252, 236, 192, 96, 158, 196, 195, 103, 94, 246, 241,
+  241, 238, 226, 248, 230, 226, 39, 27, 194, 255, 230, 239, 240, 239, 247, 255,
+  246, 152, 180, 203, 140, 199, 226, 234, 145, 96, 235, 250, 238, 252, 237, 194,
+  105, 16, 65, 82, 68, 79, 78, 110, 90, 88, 74, 33, 44, 191, 208, 225,
+  110, 40, 70, 64, 82, 97, 81, 79, 76, 81, 70, 50, 95, 67, 38, 69,
+  81, 55, 80, 87, 70, 73, 212, 217, 240, 209, 223, 237, 168, 126, 121, 120,
+  170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 78,
+  1, 126, 165, 236, 232, 240, 165, 78, 138, 223, 221, 231, 235, 108, 203, 248,
+  254, 245, 248, 223, 248, 237, 250, 80, 60, 247, 251, 250, 248, 241, 255, 243,
+  183, 34, 93, 225, 227, 241, 231, 178, 120, 123, 255, 253, 243, 243, 252, 246,
+  222, 149, 32, 57, 85, 83, 98, 88, 87, 112, 73, 98, 7, 196, 213, 206,
+  163, 51, 88, 77, 72, 73, 89, 96, 93, 83, 79, 72, 47, 76, 88, 77,
+  75, 71, 67, 67, 100, 93, 88, 164, 221, 217, 242, 185, 175, 188, 154, 70,
+  94, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 60,
+  61, 12, 69, 234, 234, 183, 48, 87, 207, 209, 246, 240, 213, 196, 230, 250,
+  238, 253, 242, 246, 220, 176, 161, 150, 4, 93, 241, 229, 232, 236, 252, 255,
+  233, 155, 54, 201, 219, 255, 234, 119, 66, 207, 255, 251, 255, 251, 241, 242,
+  238, 236, 114, 30, 100, 106, 86, 94, 112, 103, 91, 83, 9, 230, 199, 207,
+  188, 55, 75, 74, 81, 78, 81, 107, 79, 112, 89, 87, 76, 76, 85, 84,
+  72, 67, 70, 62, 47, 71, 29, 34, 245, 214, 227, 224, 166, 138, 182, 158,
+  144, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 46,
+  64, 36, 91, 230, 228, 205, 58, 92, 218, 230, 214, 251, 217, 188, 231, 250,
+  255, 247, 230, 239, 244, 62, 88, 121, 48, 0, 241, 229, 250, 251, 233, 225,
+  255, 223, 99, 175, 210, 236, 221, 143, 132, 238, 255, 250, 241, 240, 249, 246,
+  244, 252, 203, 98, 85, 100, 96, 96, 81, 76, 87, 61, 46, 191, 211, 204,
+  185, 76, 62, 91, 107, 104, 85, 92, 84, 76, 104, 88, 83, 84, 88, 86,
+  80, 77, 79, 52, 83, 72, 36, 29, 225, 248, 219, 228, 173, 103, 161, 144,
+  137, 133, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 65,
+  43, 59, 219, 202, 207, 213, 98, 46, 174, 228, 246, 230, 225, 212, 255, 255,
+  247, 244, 254, 224, 239, 81, 100, 78, 62, 109, 220, 226, 208, 185, 197, 235,
+  254, 246, 240, 224, 236, 223, 215, 181, 189, 245, 242, 255, 249, 246, 255, 244,
+  247, 247, 241, 207, 75, 83, 82, 88, 66, 68, 81, 59, 83, 60, 215, 197,
+  194, 51, 101, 96, 108, 67, 89, 105, 67, 116, 82, 84, 88, 91, 86, 82,
+  82, 83, 82, 84, 80, 63, 81, 65, 100, 243, 234, 250, 214, 99, 124, 90,
+  103, 91, 143, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 195,
+  76, 34, 179, 166, 198, 252, 221, 31, 88, 123, 205, 233, 227, 195, 252, 255,
+  238, 253, 255, 248, 233, 251, 221, 213, 235, 202, 170, 103, 9, 75, 217, 234,
+  189, 193, 230, 255, 255, 237, 231, 226, 211, 252, 255, 248, 250, 249, 254, 243,
+  255, 244, 240, 249, 51, 74, 67, 76, 67, 80, 82, 97, 92, 20, 108, 198,
+  143, 0, 67, 47, 42, 60, 61, 86, 66, 81, 82, 78, 88, 90, 78, 71,
+  78, 80, 76, 91, 87, 103, 101, 85, 21, 242, 250, 251, 253, 213, 241, 129,
+  67, 75, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 217, 219,
+  74, 36, 182, 191, 194, 238, 237, 40, 50, 71, 163, 117, 198, 221, 255, 253,
+  198, 244, 246, 255, 240, 216, 223, 167, 167, 117, 64, 21, 22, 114, 234, 248,
+  197, 162, 236, 255, 255, 255, 241, 247, 212, 243, 254, 253, 255, 253, 255, 239,
+  255, 238, 240, 236, 25, 74, 73, 76, 58, 76, 80, 53, 69, 48, 50, 134,
+  169, 25, 29, 0, 33, 34, 99, 78, 98, 70, 104, 79, 92, 91, 76, 68,
+  76, 79, 72, 107, 73, 79, 89, 99, 44, 230, 255, 251, 255, 255, 245, 154,
+  157, 212, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 254,
+  141, 49, 198, 245, 225, 247, 237, 167, 148, 113, 105, 200, 255, 255, 255, 252,
+  223, 205, 172, 131, 186, 38, 92, 69, 36, 73, 38, 73, 93, 205, 240, 187,
+  181, 212, 248, 255, 252, 255, 255, 255, 255, 253, 233, 254, 246, 245, 255, 242,
+  240, 249, 251, 249, 34, 63, 66, 79, 56, 65, 65, 73, 64, 42, 30, 5,
+  199, 151, 170, 199, 0, 81, 0, 13, 87, 82, 91, 86, 96, 96, 81, 76,
+  80, 81, 75, 80, 78, 81, 83, 44, 18, 132, 225, 255, 241, 250, 241, 214,
+  255, 254, 240, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 203, 213,
+  147, 81, 230, 247, 226, 205, 158, 216, 255, 254, 222, 211, 231, 255, 253, 233,
+  255, 189, 235, 232, 255, 96, 14, 60, 85, 45, 95, 75, 152, 242, 221, 184,
+  200, 216, 255, 255, 255, 255, 255, 233, 233, 222, 236, 228, 219, 222, 246, 253,
+  248, 254, 215, 217, 49, 68, 60, 73, 64, 70, 59, 82, 63, 91, 77, 68,
+  158, 182, 189, 206, 168, 214, 230, 16, 35, 64, 96, 89, 93, 92, 84, 82,
+  84, 82, 77, 68, 77, 62, 62, 158, 233, 254, 255, 207, 146, 178, 255, 255,
+  200, 69, 84, 83, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 254, 221,
+  200, 147, 140, 241, 241, 171, 95, 153, 226, 211, 199, 125, 97, 170, 249, 239,
+  255, 60, 123, 255, 255, 197, 160, 49, 99, 74, 69, 45, 130, 234, 200, 163,
+  225, 244, 239, 249, 255, 248, 245, 97, 67, 79, 177, 237, 237, 231, 240, 255,
+  244, 229, 98, 101, 39, 97, 74, 63, 63, 79, 68, 80, 106, 74, 87, 86,
+  120, 143, 171, 155, 204, 179, 209, 172, 70, 86, 77, 87, 89, 86, 85, 86,
+  86, 82, 80, 102, 91, 103, 102, 247, 243, 238, 250, 254, 150, 75, 126, 215,
+  255, 75, 66, 75, 130, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 237, 237, 231,
+  230, 209, 35, 242, 247, 139, 76, 134, 207, 224, 203, 132, 29, 138, 246, 234,
+  252, 63, 49, 198, 204, 225, 226, 42, 40, 101, 67, 62, 99, 231, 243, 207,
+  244, 241, 236, 249, 233, 238, 178, 49, 2, 52, 90, 193, 214, 215, 214, 188,
+  201, 173, 5, 36, 77, 91, 63, 89, 76, 70, 83, 90, 93, 96, 87, 96,
+  112, 120, 147, 123, 194, 178, 195, 216, 120, 59, 91, 98, 72, 97, 112, 71,
+  98, 106, 79, 118, 94, 123, 110, 245, 249, 242, 242, 255, 229, 88, 133, 162,
+  255, 89, 91, 92, 92, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 251, 239, 248,
+  254, 232, 86, 183, 224, 151, 129, 55, 196, 226, 253, 251, 114, 110, 255, 240,
+  143, 248, 121, 0, 6, 189, 228, 153, 73, 80, 70, 54, 37, 113, 215, 241,
+  237, 241, 243, 231, 220, 98, 10, 71, 121, 80, 47, 37, 71, 113, 125, 58,
+  9, 31, 38, 62, 84, 91, 68, 84, 81, 63, 91, 85, 80, 88, 87, 88,
+  94, 113, 164, 135, 172, 192, 132, 214, 212, 31, 61, 100, 133, 77, 86, 112,
+  82, 115, 105, 108, 122, 112, 38, 117, 214, 236, 254, 245, 239, 218, 245, 102,
+  224, 181, 63, 85, 94, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 237, 255,
+  237, 223, 194, 64, 136, 152, 193, 45, 231, 243, 254, 252, 191, 170, 250, 252,
+  37, 214, 197, 64, 39, 132, 177, 175, 159, 55, 66, 69, 53, 49, 140, 192,
+  181, 187, 150, 49, 39, 39, 74, 101, 76, 58, 83, 72, 89, 65, 72, 99,
+  64, 55, 108, 110, 46, 76, 98, 94, 103, 82, 95, 84, 72, 82, 84, 78,
+  72, 99, 167, 170, 169, 157, 99, 175, 208, 66, 40, 87, 52, 85, 104, 111,
+  76, 61, 62, 104, 99, 77, 34, 92, 249, 250, 255, 231, 255, 201, 238, 191,
+  209, 245, 28, 80, 100, 147, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 232, 114, 156, 254,
+  246, 252, 218, 19, 51, 90, 125, 27, 237, 249, 234, 247, 224, 175, 241, 245,
+  17, 185, 226, 52, 15, 91, 154, 148, 132, 74, 63, 66, 81, 41, 56, 82,
+  83, 91, 45, 77, 21, 48, 92, 64, 57, 83, 78, 69, 93, 59, 40, 28,
+  36, 138, 231, 243, 62, 85, 113, 85, 88, 87, 78, 91, 77, 83, 82, 75,
+  66, 80, 136, 126, 179, 147, 41, 134, 180, 29, 19, 40, 36, 59, 72, 73,
+  59, 41, 55, 71, 49, 73, 45, 31, 225, 252, 235, 255, 222, 255, 204, 223,
+  214, 255, 54, 72, 104, 97, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 237, 148, 163, 130, 249,
+  231, 206, 59, 68, 69, 78, 80, 38, 252, 254, 244, 255, 243, 225, 225, 246,
+  42, 101, 189, 170, 112, 73, 206, 50, 45, 49, 56, 62, 71, 56, 54, 61,
+  59, 66, 75, 55, 85, 101, 93, 83, 81, 81, 79, 113, 56, 52, 166, 209,
+  218, 244, 211, 216, 60, 81, 81, 73, 63, 53, 37, 35, 28, 30, 22, 22,
+  20, 15, 36, 29, 33, 33, 157, 235, 222, 241, 232, 132, 36, 64, 65, 84,
+  240, 214, 205, 206, 219, 211, 233, 255, 208, 55, 107, 105, 92, 177, 133, 208,
+  198, 249, 86, 61, 92, 92, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 237, 199, 255, 186, 255,
+  251, 62, 13, 58, 80, 72, 76, 38, 241, 234, 233, 244, 237, 254, 221, 249,
+  40, 17, 79, 212, 211, 158, 199, 182, 79, 80, 56, 74, 76, 91, 85, 90,
+  96, 87, 110, 93, 101, 77, 68, 98, 100, 87, 102, 93, 172, 203, 241, 217,
+  121, 75, 44, 42, 18, 37, 12, 47, 63, 50, 66, 70, 71, 75, 63, 72,
+  80, 60, 58, 60, 59, 77, 88, 162, 231, 231, 245, 245, 207, 15, 22, 69,
+  125, 164, 232, 245, 255, 251, 245, 242, 250, 130, 50, 59, 52, 89, 119, 85,
+  45, 190, 148, 60, 86, 91, 70, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 234, 182, 130, 242,
+  255, 34, 37, 77, 95, 75, 71, 38, 229, 250, 255, 255, 230, 224, 244, 229,
+  17, 100, 12, 109, 215, 171, 168, 204, 136, 60, 88, 74, 80, 93, 81, 82,
+  95, 80, 73, 79, 83, 74, 46, 30, 42, 44, 21, 103, 212, 181, 97, 145,
+  182, 161, 197, 188, 196, 161, 103, 54, 66, 47, 65, 54, 62, 71, 62, 71,
+  79, 62, 60, 98, 58, 58, 75, 34, 97, 243, 240, 242, 242, 200, 220, 142,
+  85, 107, 222, 227, 223, 211, 255, 239, 255, 243, 227, 120, 62, 72, 111, 210,
+  174, 62, 190, 70, 84, 98, 75, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 221, 255, 255, 254, 207, 145, 255,
+  239, 135, 6, 84, 79, 72, 58, 50, 212, 255, 230, 236, 254, 252, 243, 213,
+  15, 46, 45, 65, 106, 149, 156, 195, 142, 54, 68, 75, 65, 67, 79, 79,
+  75, 72, 65, 78, 60, 58, 68, 70, 73, 86, 93, 171, 181, 153, 35, 77,
+  215, 207, 196, 183, 178, 171, 180, 60, 73, 49, 31, 45, 57, 69, 64, 69,
+  73, 62, 73, 85, 71, 92, 104, 0, 15, 201, 242, 242, 248, 252, 254, 184,
+  139, 155, 212, 208, 155, 126, 251, 245, 250, 230, 249, 227, 107, 72, 71, 230,
+  222, 45, 172, 75, 83, 101, 76, 135, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 250, 255, 250, 218, 227, 255,
+  251, 224, 68, 63, 30, 62, 81, 49, 100, 246, 215, 223, 233, 240, 190, 91,
+  60, 29, 46, 37, 12, 33, 47, 59, 72, 14, 34, 39, 61, 38, 76, 62,
+  75, 69, 90, 112, 71, 54, 71, 215, 244, 242, 247, 218, 223, 156, 86, 64,
+  198, 181, 181, 160, 167, 136, 180, 129, 115, 61, 58, 46, 70, 58, 76, 84,
+  94, 71, 76, 68, 85, 79, 82, 29, 139, 253, 244, 243, 236, 228, 244, 254,
+  255, 255, 235, 104, 81, 114, 248, 249, 255, 246, 219, 251, 194, 52, 61, 125,
+  126, 89, 102, 117, 52, 93, 88, 68, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 223, 242, 185, 221, 213, 212, 233, 177,
+  182, 247, 95, 63, 96, 28, 48, 36, 82, 92, 43, 27, 29, 32, 28, 29,
+  89, 83, 73, 36, 25, 34, 16, 15, 46, 34, 62, 48, 33, 18, 126, 193,
+  209, 150, 114, 110, 52, 58, 120, 170, 191, 209, 195, 86, 10, 5, 95, 74,
+  81, 148, 180, 169, 130, 124, 130, 143, 113, 116, 88, 70, 63, 60, 63, 53,
+  65, 48, 83, 74, 82, 51, 92, 59, 226, 255, 255, 244, 244, 231, 240, 253,
+  255, 255, 248, 255, 255, 232, 255, 244, 150, 190, 224, 200, 179, 65, 63, 107,
+  118, 110, 137, 126, 97, 78, 75, 60, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 92, 159, 111, 49, 53, 52, 26, 66,
+  76, 212, 85, 153, 136, 69, 78, 47, 216, 234, 25, 35, 35, 49, 74, 105,
+  152, 118, 73, 67, 72, 86, 62, 67, 89, 80, 73, 43, 93, 132, 221, 246,
+  254, 244, 254, 176, 128, 43, 75, 74, 57, 35, 39, 73, 127, 101, 75, 78,
+  31, 85, 171, 178, 103, 79, 130, 145, 132, 125, 100, 89, 79, 79, 109, 94,
+  76, 67, 77, 93, 82, 62, 110, 11, 230, 254, 237, 243, 249, 237, 242, 255,
+  255, 255, 255, 255, 255, 255, 242, 255, 250, 70, 8, 22, 93, 112, 111, 106,
+  100, 98, 111, 109, 109, 80, 76, 71, 126, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 210, 232, 231, 76, 54, 70, 56, 50, 172,
+  193, 219, 79, 116, 90, 59, 68, 149, 235, 198, 56, 79, 67, 75, 92, 95,
+  99, 84, 73, 55, 58, 75, 70, 91, 98, 67, 40, 61, 158, 215, 255, 243,
+  243, 238, 240, 226, 216, 71, 61, 88, 87, 70, 95, 80, 77, 90, 92, 114,
+  51, 41, 137, 196, 189, 118, 138, 154, 154, 110, 119, 131, 104, 50, 79, 69,
+  48, 82, 65, 69, 87, 38, 68, 39, 234, 249, 247, 238, 251, 243, 245, 254,
+  248, 250, 249, 251, 255, 246, 255, 219, 251, 177, 37, 49, 40, 102, 81, 95,
+  124, 131, 112, 106, 126, 96, 187, 192, 174, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 64, 89, 77, 76, 58, 71, 46, 130, 162,
+  211, 86, 0, 9, 78, 71, 15, 174, 194, 80, 36, 71, 67, 75, 88, 85,
+  79, 93, 97, 99, 90, 92, 84, 101, 117, 122, 170, 218, 255, 247, 243, 238,
+  255, 255, 251, 255, 251, 105, 34, 51, 59, 60, 41, 70, 100, 100, 90, 100,
+  109, 66, 48, 33, 151, 186, 173, 181, 173, 161, 165, 161, 118, 83, 75, 66,
+  66, 91, 85, 48, 59, 88, 116, 37, 123, 237, 252, 239, 250, 241, 242, 244,
+  239, 242, 234, 118, 239, 252, 240, 252, 230, 251, 224, 102, 13, 125, 120, 121,
+  108, 111, 104, 99, 118, 76, 231, 234, 240, 250, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 82, 80, 106, 70, 91, 101, 159, 154, 217, 207,
+  193, 40, 63, 83, 58, 51, 92, 217, 174, 60, 102, 73, 80, 90, 95, 98,
+  81, 74, 34, 39, 37, 37, 22, 17, 42, 73, 224, 226, 251, 250, 255, 255,
+  243, 244, 248, 240, 239, 108, 39, 143, 188, 188, 176, 52, 64, 26, 106, 107,
+  91, 92, 72, 58, 81, 161, 179, 20, 60, 183, 196, 55, 27, 84, 67, 67,
+  77, 50, 75, 91, 84, 65, 72, 63, 31, 105, 168, 241, 242, 239, 248, 241,
+  239, 245, 222, 71, 55, 136, 238, 236, 248, 255, 246, 216, 28, 44, 73, 110,
+  88, 84, 95, 107, 98, 97, 110, 106, 249, 246, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 229, 48, 89, 104, 68, 74, 90, 208, 230, 204, 201,
+  120, 27, 92, 77, 94, 43, 101, 240, 159, 27, 75, 94, 89, 80, 73, 77,
+  58, 68, 35, 69, 82, 97, 96, 81, 87, 48, 221, 232, 239, 226, 235, 248,
+  243, 255, 255, 255, 255, 166, 120, 227, 254, 228, 239, 137, 70, 26, 128, 106,
+  98, 123, 55, 84, 32, 94, 169, 0, 37, 146, 134, 13, 1, 52, 52, 67,
+  55, 49, 87, 87, 66, 75, 84, 48, 15, 55, 98, 214, 210, 227, 249, 243,
+  238, 238, 190, 66, 34, 29, 234, 252, 233, 236, 229, 235, 133, 41, 65, 74,
+  46, 60, 111, 118, 102, 136, 43, 49, 204, 232, 254, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 212, 56, 88, 36, 37, 95, 72, 180, 187, 130, 64,
+  58, 57, 80, 68, 83, 33, 115, 232, 88, 13, 79, 87, 76, 74, 79, 76,
+  42, 82, 89, 212, 224, 244, 252, 251, 233, 100, 236, 220, 250, 250, 245, 250,
+  245, 249, 236, 247, 240, 253, 255, 250, 248, 243, 246, 242, 234, 127, 72, 77,
+  79, 62, 95, 68, 77, 73, 62, 92, 66, 51, 7, 56, 63, 45, 76, 95,
+  26, 59, 67, 74, 89, 91, 107, 115, 122, 51, 56, 33, 29, 69, 116, 105,
+  97, 87, 16, 29, 53, 47, 16, 116, 246, 252, 236, 230, 236, 49, 59, 55,
+  45, 42, 75, 68, 83, 81, 79, 98, 72, 197, 237, 243, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 206, 85, 65, 71, 100, 159, 219, 150, 70, 32, 59, 103,
+  90, 102, 92, 92, 76, 86, 228, 157, 35, 30, 96, 99, 51, 56, 72, 88,
+  94, 248, 231, 235, 223, 234, 250, 232, 238, 254, 206, 247, 210, 199, 235, 232,
+  255, 247, 249, 252, 255, 253, 230, 255, 248, 253, 254, 239, 250, 252, 52, 75,
+  101, 100, 96, 109, 107, 90, 86, 99, 96, 80, 64, 86, 95, 35, 180, 234,
+  89, 64, 71, 56, 88, 82, 83, 89, 96, 129, 103, 105, 124, 85, 30, 53,
+  30, 57, 74, 129, 99, 95, 46, 45, 199, 231, 227, 213, 200, 57, 29, 76,
+  106, 38, 74, 57, 85, 76, 101, 127, 79, 58, 234, 253, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 155, 125, 41, 75, 77, 186, 210, 113, 46, 61, 57, 80, 83,
+  90, 109, 91, 65, 61, 167, 230, 20, 106, 70, 22, 58, 90, 69, 197, 219,
+  240, 218, 204, 95, 161, 231, 244, 255, 236, 255, 238, 166, 64, 47, 41, 40,
+  135, 224, 236, 248, 231, 253, 255, 255, 241, 252, 255, 249, 254, 251, 21, 116,
+  104, 98, 93, 106, 99, 78, 78, 89, 90, 94, 93, 117, 80, 62, 139, 203,
+  230, 221, 72, 103, 70, 71, 83, 65, 61, 76, 71, 78, 56, 91, 86, 108,
+  135, 109, 170, 144, 213, 161, 182, 177, 228, 67, 55, 46, 77, 77, 60, 237,
+  247, 241, 220, 247, 222, 222, 183, 165, 207, 184, 81, 248, 241, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 199, 104, 88, 30, 57, 95, 234, 208, 69, 36, 97, 92, 107, 72,
+  87, 122, 111, 62, 80, 202, 237, 28, 108, 78, 38, 39, 211, 221, 235, 247,
+  174, 61, 88, 48, 144, 255, 250, 254, 255, 248, 121, 71, 55, 54, 46, 61,
+  81, 211, 253, 255, 241, 241, 247, 243, 252, 254, 243, 253, 239, 236, 41, 121,
+  103, 92, 76, 93, 96, 82, 86, 85, 82, 101, 106, 110, 89, 100, 114, 181,
+  209, 213, 165, 136, 41, 17, 38, 32, 36, 36, 40, 38, 3, 71, 63, 130,
+  164, 172, 155, 134, 168, 241, 236, 223, 230, 68, 59, 30, 15, 36, 95, 237,
+  237, 235, 242, 245, 230, 249, 246, 233, 226, 237, 166, 254, 232, 234, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 201, 131, 56, 61, 117, 170, 174, 212, 158, 48, 67, 95, 69, 86, 59,
+  52, 92, 85, 49, 29, 230, 215, 2, 66, 31, 171, 189, 238, 209, 86, 115,
+  73, 64, 89, 61, 153, 226, 221, 242, 255, 213, 61, 220, 255, 234, 207, 189,
+  91, 219, 251, 243, 254, 253, 229, 237, 238, 238, 231, 252, 245, 246, 108, 68,
+  92, 96, 78, 69, 85, 80, 87, 73, 57, 68, 51, 65, 104, 99, 42, 98,
+  99, 144, 223, 228, 203, 173, 195, 204, 214, 214, 218, 213, 255, 44, 84, 194,
+  195, 181, 121, 117, 71, 59, 234, 231, 223, 230, 224, 206, 125, 126, 226, 249,
+  238, 237, 251, 243, 251, 232, 229, 252, 245, 243, 231, 242, 221, 170, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204,
+  100, 107, 95, 101, 141, 192, 201, 218, 129, 50, 63, 103, 99, 84, 100, 108,
+  83, 112, 90, 56, 115, 201, 45, 101, 75, 106, 204, 166, 73, 73, 60, 64,
+  79, 101, 63, 104, 212, 205, 215, 255, 243, 176, 182, 255, 250, 250, 221, 203,
+  160, 255, 251, 255, 227, 252, 245, 233, 208, 240, 233, 232, 92, 58, 99, 104,
+  92, 68, 120, 188, 168, 116, 113, 117, 138, 182, 163, 113, 96, 87, 64, 79,
+  37, 68, 77, 80, 229, 228, 238, 243, 237, 243, 247, 247, 231, 242, 219, 255,
+  241, 214, 216, 143, 113, 82, 172, 255, 241, 254, 225, 244, 164, 226, 252, 248,
+  219, 252, 198, 199, 190, 152, 188, 221, 242, 254, 252, 250, 252, 180, 191, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 99,
+  107, 73, 68, 223, 208, 231, 156, 75, 44, 78, 68, 89, 84, 90, 84, 101,
+  90, 105, 76, 95, 206, 20, 40, 56, 138, 159, 34, 86, 47, 78, 82, 91,
+  94, 107, 80, 155, 255, 237, 253, 255, 245, 197, 245, 255, 233, 254, 197, 223,
+  255, 255, 249, 255, 169, 205, 240, 229, 229, 218, 102, 131, 177, 183, 89, 80,
+  88, 69, 82, 96, 97, 101, 177, 216, 210, 213, 150, 92, 71, 74, 110, 129,
+  85, 94, 39, 12, 247, 249, 250, 255, 252, 251, 246, 249, 255, 241, 254, 232,
+  252, 224, 233, 196, 95, 78, 217, 234, 188, 28, 122, 87, 32, 97, 85, 65,
+  50, 100, 29, 68, 55, 53, 105, 81, 68, 108, 185, 212, 237, 192, 178, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 129, 89, 79,
+  87, 50, 127, 218, 220, 173, 96, 42, 53, 81, 84, 91, 85, 99, 84, 80,
+  87, 74, 57, 161, 228, 35, 61, 72, 115, 69, 33, 34, 57, 86, 55, 112,
+  87, 87, 49, 184, 239, 243, 255, 247, 255, 236, 216, 234, 231, 212, 179, 229,
+  255, 251, 255, 249, 217, 225, 248, 216, 226, 159, 37, 132, 220, 236, 94, 94,
+  99, 87, 65, 71, 69, 98, 203, 221, 173, 178, 137, 83, 127, 104, 77, 97,
+  107, 110, 71, 43, 244, 239, 237, 243, 245, 227, 224, 244, 236, 255, 220, 162,
+  185, 198, 159, 154, 79, 55, 150, 179, 121, 55, 45, 50, 26, 34, 43, 18,
+  29, 49, 46, 19, 44, 49, 45, 54, 57, 70, 130, 188, 205, 222, 206, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 86, 74, 83, 109,
+  98, 96, 151, 178, 114, 32, 69, 64, 64, 57, 85, 95, 82, 103, 109, 84,
+  88, 37, 33, 218, 197, 42, 63, 84, 12, 35, 85, 67, 41, 71, 92, 86,
+  79, 104, 48, 243, 255, 244, 249, 255, 248, 225, 217, 236, 210, 157, 219, 236,
+  252, 255, 225, 227, 252, 195, 152, 43, 29, 19, 102, 241, 227, 214, 124, 111,
+  114, 117, 102, 115, 90, 88, 156, 115, 30, 68, 82, 84, 81, 72, 95, 111,
+  91, 75, 88, 59, 216, 232, 238, 222, 216, 184, 197, 219, 195, 129, 91, 61,
+  76, 46, 62, 49, 50, 52, 42, 40, 44, 48, 56, 40, 60, 53, 48, 56,
+  53, 44, 56, 53, 37, 52, 25, 44, 42, 38, 55, 75, 97, 203, 227, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 99, 76, 102, 70, 108,
+  170, 180, 187, 51, 69, 80, 53, 22, 62, 49, 39, 62, 78, 79, 103, 107,
+  51, 96, 83, 117, 75, 93, 81, 49, 63, 172, 231, 229, 0, 62, 58, 63,
+  245, 60, 40, 215, 199, 224, 212, 245, 216, 218, 69, 94, 102, 90, 248, 218,
+  233, 189, 245, 206, 182, 42, 24, 66, 116, 58, 157, 190, 185, 131, 89, 100,
+  93, 72, 83, 75, 64, 50, 41, 42, 49, 54, 55, 55, 52, 51, 49, 52,
+  55, 58, 60, 49, 39, 33, 38, 46, 50, 53, 56, 51, 52, 53, 54, 56,
+  59, 60, 62, 52, 54, 60, 63, 58, 50, 53, 63, 62, 62, 61, 59, 57,
+  56, 58, 57, 51, 49, 50, 50, 56, 62, 65, 62, 52, 79, 138, 183, 188,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 76, 70, 91, 45, 61, 170,
+  203, 230, 236, 191, 178, 183, 79, 44, 45, 52, 57, 68, 64, 71, 54, 88,
+  83, 73, 61, 75, 73, 90, 71, 138, 182, 242, 236, 241, 42, 62, 88, 155,
+  227, 24, 44, 104, 91, 179, 217, 232, 238, 117, 110, 125, 127, 100, 110, 94,
+  89, 90, 91, 110, 83, 68, 80, 73, 88, 61, 76, 73, 81, 63, 49, 61,
+  54, 36, 40, 44, 37, 30, 27, 32, 38, 42, 41, 51, 47, 46, 46, 49,
+  53, 57, 58, 52, 44, 39, 45, 55, 59, 61, 63, 61, 58, 56, 55, 57,
+  60, 64, 65, 60, 58, 60, 66, 65, 61, 61, 64, 64, 64, 64, 62, 60,
+  58, 58, 57, 52, 54, 53, 53, 52, 55, 58, 58, 52, 65, 111, 111, 95,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 74, 74, 84, 67, 128, 233,
+  226, 231, 230, 238, 239, 222, 65, 74, 84, 93, 69, 61, 51, 40, 24, 51,
+  80, 80, 92, 49, 60, 83, 88, 217, 228, 225, 191, 199, 37, 67, 104, 102,
+  90, 32, 55, 209, 200, 239, 236, 228, 237, 60, 121, 110, 126, 113, 61, 60,
+  56, 76, 43, 54, 27, 76, 79, 63, 51, 57, 25, 23, 28, 28, 28, 30,
+  32, 29, 27, 39, 37, 36, 38, 46, 52, 53, 51, 55, 51, 49, 52, 56,
+  60, 63, 64, 61, 55, 52, 57, 65, 68, 69, 69, 67, 64, 60, 57, 58,
+  59, 64, 66, 67, 61, 60, 67, 74, 74, 70, 69, 70, 70, 69, 66, 64,
+  61, 58, 56, 54, 56, 55, 53, 49, 48, 50, 51, 47, 63, 107, 180, 215,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 78, 87, 47, 173, 235, 246,
+  251, 247, 251, 244, 248, 151, 32, 85, 86, 72, 67, 60, 107, 125, 186, 126,
+  100, 99, 96, 84, 84, 80, 63, 124, 89, 51, 22, 76, 63, 91, 97, 106,
+  63, 132, 193, 231, 225, 184, 189, 214, 159, 64, 86, 75, 94, 82, 79, 65,
+  65, 60, 42, 46, 39, 52, 32, 57, 44, 50, 39, 45, 34, 38, 40, 33,
+  38, 46, 37, 36, 37, 38, 44, 49, 54, 57, 54, 63, 61, 59, 60, 63,
+  67, 69, 69, 71, 68, 66, 67, 72, 74, 72, 70, 72, 69, 66, 62, 61,
+  61, 64, 66, 66, 63, 62, 70, 78, 82, 79, 74, 77, 76, 75, 75, 71,
+  67, 60, 57, 57, 54, 51, 50, 49, 46, 46, 45, 33, 45, 54, 185, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 197, 79, 66, 251, 251, 175,
+  202, 225, 239, 252, 246, 71, 59, 105, 69, 62, 163, 192, 216, 209, 238, 77,
+  73, 99, 122, 108, 118, 108, 84, 83, 101, 101, 86, 111, 113, 105, 86, 83,
+  68, 205, 221, 168, 130, 45, 99, 136, 41, 54, 60, 56, 57, 33, 60, 43,
+  44, 34, 36, 32, 50, 38, 25, 61, 57, 55, 61, 47, 29, 38, 49, 41,
+  44, 51, 33, 38, 39, 43, 49, 55, 59, 64, 63, 69, 65, 63, 63, 65,
+  68, 67, 67, 73, 71, 69, 68, 71, 74, 73, 70, 74, 74, 74, 71, 70,
+  67, 67, 66, 63, 66, 71, 76, 82, 87, 89, 88, 85, 82, 81, 80, 77,
+  72, 64, 59, 58, 50, 44, 46, 50, 46, 46, 47, 52, 57, 42, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 52, 130, 246, 194, 124,
+  141, 186, 187, 180, 206, 57, 84, 84, 51, 62, 195, 236, 230, 244, 221, 56,
+  98, 90, 112, 113, 105, 103, 113, 83, 101, 112, 114, 131, 86, 86, 97, 68,
+  81, 213, 173, 121, 93, 25, 62, 56, 15, 52, 49, 49, 48, 32, 40, 47,
+  40, 47, 40, 30, 43, 43, 51, 44, 44, 60, 55, 59, 37, 35, 41, 35,
+  41, 48, 40, 44, 48, 54, 60, 68, 73, 78, 79, 73, 70, 69, 69, 70,
+  70, 70, 68, 67, 68, 65, 64, 66, 70, 71, 68, 71, 72, 73, 71, 70,
+  66, 64, 63, 64, 74, 81, 85, 87, 94, 99, 98, 91, 85, 83, 82, 80,
+  76, 68, 62, 57, 46, 40, 44, 47, 46, 48, 55, 46, 43, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 152, 161, 88, 47,
+  26, 43, 18, 6, 48, 22, 39, 44, 64, 91, 156, 120, 110, 143, 107, 36,
+  70, 53, 63, 68, 52, 64, 90, 76, 61, 59, 66, 51, 73, 59, 68, 75,
+  48, 48, 53, 30, 53, 47, 57, 46, 53, 65, 40, 53, 61, 53, 48, 50,
+  37, 43, 26, 44, 43, 45, 54, 38, 27, 57, 46, 70, 53, 47, 47, 41,
+  42, 52, 53, 42, 46, 55, 62, 67, 71, 74, 74, 76, 75, 74, 75, 75,
+  76, 74, 73, 68, 69, 66, 62, 63, 68, 69, 68, 73, 74, 73, 70, 69,
+  67, 66, 66, 71, 80, 88, 90, 94, 99, 105, 100, 92, 86, 82, 82, 80,
+  78, 70, 64, 55, 47, 45, 46, 44, 40, 50, 66, 70, 130, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 64, 32, 44,
+  44, 57, 42, 47, 20, 53, 34, 30, 36, 36, 32, 27, 28, 37, 31, 47,
+  26, 40, 42, 44, 61, 73, 53, 67, 65, 64, 48, 54, 56, 51, 58, 46,
+  61, 54, 62, 64, 70, 65, 53, 60, 41, 66, 51, 49, 61, 45, 56, 41,
+  41, 43, 42, 38, 42, 34, 35, 60, 32, 50, 44, 43, 46, 55, 63, 59,
+  50, 44, 47, 52, 58, 68, 73, 75, 75, 74, 73, 72, 69, 71, 71, 74,
+  74, 74, 72, 74, 76, 73, 65, 65, 70, 72, 69, 84, 84, 81, 78, 78,
+  77, 79, 80, 78, 85, 90, 89, 95, 101, 102, 95, 93, 87, 81, 81, 81,
+  77, 71, 64, 52, 48, 50, 49, 40, 35, 51, 74, 80, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 54, 49,
+  47, 49, 51, 45, 49, 49, 45, 44, 46, 44, 41, 39, 38, 39, 38, 39,
+  42, 47, 53, 67, 80, 72, 73, 88, 62, 71, 58, 54, 53, 55, 56, 56,
+  56, 55, 55, 62, 63, 64, 65, 65, 65, 63, 62, 59, 57, 52, 47, 43,
+  41, 40, 39, 36, 39, 43, 42, 40, 38, 42, 44, 41, 44, 43, 43, 52,
+  63, 59, 49, 61, 62, 65, 67, 70, 71, 71, 69, 71, 69, 70, 70, 71,
+  70, 69, 67, 69, 74, 81, 82, 80, 75, 74, 74, 84, 85, 85, 85, 84,
+  82, 80, 79, 85, 88, 91, 92, 94, 95, 98, 99, 95, 86, 93, 95, 83,
+  85, 81, 57, 47, 52, 60, 57, 45, 40, 56, 76, 165, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 56, 52,
+  51, 52, 54, 43, 46, 46, 43, 42, 44, 44, 39, 45, 45, 45, 43, 44,
+  45, 48, 53, 69, 85, 83, 79, 91, 69, 76, 57, 52, 52, 54, 54, 55,
+  54, 54, 54, 60, 61, 62, 64, 64, 65, 65, 64, 61, 58, 52, 47, 43,
+  40, 39, 40, 38, 38, 39, 40, 41, 41, 41, 39, 36, 39, 42, 46, 52,
+  61, 64, 64, 63, 67, 71, 70, 69, 68, 70, 73, 75, 72, 71, 72, 74,
+  73, 72, 71, 75, 78, 82, 83, 82, 83, 83, 83, 87, 85, 88, 89, 89,
+  88, 88, 87, 84, 87, 91, 95, 97, 100, 105, 106, 105, 97, 101, 99, 87,
+  85, 81, 57, 54, 51, 49, 43, 46, 55, 70, 84, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 188, 50,
+  48, 48, 48, 41, 44, 43, 40, 40, 42, 42, 39, 44, 45, 46, 45, 46,
+  45, 49, 51, 63, 81, 89, 80, 90, 76, 83, 60, 58, 57, 60, 60, 57,
+  56, 55, 55, 58, 59, 60, 62, 63, 66, 67, 67, 64, 60, 53, 47, 42,
+  40, 40, 40, 42, 38, 37, 38, 43, 44, 41, 37, 41, 41, 46, 53, 56,
+  60, 68, 77, 58, 71, 84, 91, 87, 81, 78, 78, 84, 80, 78, 77, 78,
+  79, 78, 77, 83, 81, 82, 83, 86, 89, 90, 89, 90, 88, 88, 89, 90,
+  91, 94, 95, 92, 95, 98, 100, 101, 102, 105, 107, 110, 104, 104, 102, 92,
+  88, 82, 63, 55, 61, 63, 52, 49, 54, 59, 63, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 47,
+  42, 40, 38, 42, 45, 44, 41, 41, 44, 44, 41, 38, 38, 44, 46, 47,
+  48, 52, 56, 56, 75, 97, 85, 92, 88, 97, 69, 67, 66, 68, 65, 60,
+  56, 56, 56, 64, 64, 66, 67, 69, 71, 75, 74, 67, 62, 56, 48, 44,
+  41, 41, 41, 44, 39, 39, 39, 42, 43, 42, 42, 48, 45, 50, 62, 64,
+  62, 68, 78, 87, 86, 84, 80, 78, 83, 90, 96, 86, 83, 83, 82, 83,
+  82, 82, 80, 87, 86, 85, 88, 94, 97, 97, 93, 96, 93, 92, 91, 92,
+  93, 97, 98, 95, 98, 101, 104, 105, 106, 109, 111, 109, 104, 103, 101, 97,
+  93, 86, 74, 67, 87, 96, 73, 51, 46, 48, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 46,
+  42, 39, 37, 42, 45, 44, 40, 40, 44, 45, 42, 36, 37, 43, 46, 48,
+  51, 54, 58, 54, 69, 105, 94, 96, 95, 102, 76, 69, 68, 69, 64, 57,
+  55, 57, 59, 74, 72, 72, 71, 74, 77, 80, 81, 71, 64, 57, 48, 43,
+  41, 41, 42, 41, 42, 44, 42, 41, 41, 46, 48, 53, 50, 55, 68, 75,
+  73, 73, 77, 90, 89, 89, 92, 94, 93, 87, 82, 82, 81, 82, 84, 87,
+  87, 87, 86, 91, 89, 90, 94, 100, 101, 100, 94, 99, 95, 93, 91, 90,
+  91, 91, 92, 81, 85, 91, 97, 103, 110, 117, 122, 110, 107, 102, 101, 103,
+  95, 85, 82, 82, 98, 102, 76, 53, 48, 50, 50, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 48,
+  46, 45, 44, 41, 43, 42, 38, 38, 43, 44, 42, 41, 43, 46, 47, 50,
+  52, 56, 61, 60, 67, 115, 105, 99, 99, 102, 79, 74, 73, 72, 66, 59,
+  58, 63, 69, 83, 81, 79, 77, 78, 80, 85, 84, 76, 67, 59, 50, 43,
+  42, 43, 44, 40, 42, 45, 43, 41, 41, 48, 54, 57, 57, 63, 74, 83,
+  84, 83, 83, 83, 84, 91, 102, 114, 114, 106, 98, 90, 86, 84, 84, 87,
+  88, 89, 88, 88, 89, 91, 96, 98, 97, 97, 92, 94, 91, 89, 87, 85,
+  82, 82, 81, 77, 79, 83, 87, 93, 100, 110, 115, 114, 113, 103, 99, 101,
+  91, 78, 79, 69, 73, 75, 65, 60, 55, 41, 27, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 47,
+  47, 47, 47, 42, 44, 42, 38, 39, 44, 46, 44, 44, 45, 48, 49, 53,
+  58, 65, 71, 68, 67, 124, 119, 109, 106, 107, 91, 92, 89, 85, 75, 64,
+  63, 71, 77, 94, 90, 86, 82, 83, 84, 87, 86, 79, 69, 59, 50, 43,
+  42, 43, 45, 41, 41, 42, 42, 45, 47, 52, 55, 64, 72, 80, 83, 86,
+  90, 91, 91, 109, 98, 86, 83, 92, 110, 127, 137, 116, 107, 95, 85, 82,
+  82, 84, 85, 80, 81, 83, 84, 83, 83, 85, 87, 82, 81, 80, 78, 76,
+  73, 71, 69, 75, 74, 75, 75, 79, 83, 94, 100, 110, 110, 95, 88, 94,
+  81, 65, 71, 55, 50, 51, 54, 63, 66, 61, 57, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 46, 44,
+  43, 43, 43, 45, 47, 45, 41, 42, 47, 49, 48, 44, 46, 49, 53, 58,
+  64, 75, 82, 74, 68, 129, 130, 119, 115, 117, 105, 107, 102, 94, 80, 66,
+  62, 69, 76, 103, 99, 93, 89, 87, 89, 92, 91, 82, 71, 61, 50, 45,
+  43, 45, 46, 45, 41, 38, 40, 48, 52, 54, 55, 72, 88, 94, 88, 84,
+  89, 96, 96, 97, 100, 103, 104, 104, 103, 102, 101, 142, 128, 107, 88, 79,
+  74, 75, 77, 71, 72, 72, 71, 68, 68, 74, 76, 74, 73, 73, 71, 70,
+  67, 64, 60, 64, 62, 62, 63, 68, 77, 88, 97, 99, 100, 84, 77, 86,
+  70, 54, 64, 63, 53, 42, 45, 58, 84, 121, 148, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 45,
+  46, 45, 44, 47, 42, 42, 47, 48, 45, 46, 51, 40, 50, 57, 58, 57,
+  62, 81, 96, 72, 62, 109, 141, 116, 115, 127, 97, 109, 102, 98, 91, 74,
+  58, 64, 78, 96, 86, 89, 95, 87, 86, 93, 91, 94, 72, 57, 55, 51,
+  42, 42, 49, 40, 43, 45, 45, 47, 50, 58, 63, 70, 85, 92, 89, 89,
+  100, 107, 105, 102, 103, 104, 106, 108, 108, 103, 100, 111, 139, 139, 98, 67,
+  68, 77, 75, 69, 76, 72, 67, 74, 67, 64, 77, 71, 55, 57, 71, 65,
+  61, 68, 50, 55, 44, 63, 67, 52, 65, 88, 82, 89, 83, 75, 92, 68,
+  45, 67, 53, 64, 46, 51, 43, 46, 83, 99, 98, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 46, 43, 46,
+  45, 46, 43, 48, 42, 43, 45, 48, 44, 48, 53, 49, 58, 70, 71, 72,
+  76, 89, 100, 90, 80, 113, 142, 128, 128, 135, 109, 113, 107, 104, 101, 87,
+  75, 79, 93, 109, 98, 102, 106, 100, 99, 105, 101, 86, 68, 56, 54, 53,
+  47, 46, 51, 50, 52, 53, 55, 55, 61, 68, 74, 80, 93, 99, 97, 99,
+  110, 115, 114, 113, 112, 111, 112, 111, 110, 106, 103, 97, 83, 104, 151, 152,
+  102, 69, 74, 74, 44, 54, 68, 60, 64, 90, 61, 55, 80, 79, 59, 54,
+  50, 75, 51, 55, 70, 64, 62, 61, 51, 69, 98, 78, 64, 63, 48, 33,
+  44, 48, 35, 64, 35, 34, 46, 50, 38, 34, 70, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 49, 47, 48,
+  47, 48, 45, 48, 44, 44, 46, 48, 48, 52, 57, 59, 70, 83, 87, 89,
+  91, 97, 105, 103, 94, 106, 126, 131, 133, 129, 112, 114, 108, 106, 106, 100,
+  92, 95, 105, 116, 104, 105, 109, 106, 105, 108, 100, 84, 67, 58, 57, 56,
+  51, 51, 53, 54, 55, 56, 57, 60, 66, 72, 78, 85, 95, 100, 99, 104,
+  112, 116, 115, 118, 117, 114, 110, 108, 107, 102, 100, 96, 104, 94, 85, 112,
+  153, 154, 123, 75, 119, 97, 63, 86, 63, 71, 68, 53, 55, 43, 50, 77,
+  52, 58, 53, 34, 63, 54, 48, 42, 48, 81, 79, 101, 94, 130, 124, 111,
+  115, 94, 96, 68, 130, 131, 79, 93, 124, 98, 85, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 56, 55, 55, 54,
+  53, 51, 50, 51, 50, 49, 51, 54, 57, 61, 66, 72, 82, 93, 98, 99,
+  100, 105, 109, 107, 101, 97, 108, 130, 133, 120, 108, 110, 106, 104, 106, 106,
+  100, 102, 107, 114, 103, 104, 108, 106, 107, 106, 93, 88, 76, 66, 65, 62,
+  57, 54, 56, 56, 56, 57, 60, 64, 69, 76, 79, 89, 95, 98, 100, 107,
+  115, 117, 116, 124, 120, 114, 108, 106, 103, 99, 97, 101, 97, 86, 81, 99,
+  131, 149, 151, 139, 89, 61, 71, 88, 56, 83, 59, 61, 64, 54, 49, 73,
+  76, 46, 71, 66, 37, 41, 70, 40, 59, 124, 89, 103, 97, 129, 137, 111,
+  83, 80, 120, 123, 176, 171, 134, 144, 128, 87, 114, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 189, 58, 60, 60, 58,
+  55, 53, 51, 55, 57, 58, 60, 64, 70, 75, 78, 92, 97, 103, 105, 108,
+  110, 112, 116, 113, 111, 102, 108, 134, 137, 121, 114, 110, 107, 104, 104, 105,
+  101, 102, 104, 112, 104, 108, 112, 110, 111, 109, 93, 88, 78, 69, 67, 65,
+  61, 58, 58, 65, 64, 65, 68, 73, 79, 83, 85, 93, 95, 99, 103, 112,
+  120, 122, 119, 129, 125, 118, 111, 109, 106, 102, 100, 97, 87, 91, 110, 108,
+  88, 85, 98, 130, 117, 93, 63, 49, 43, 74, 48, 44, 31, 46, 60, 51,
+  63, 43, 184, 139, 82, 106, 165, 122, 81, 107, 86, 73, 62, 44, 56, 51,
+  40, 92, 145, 170, 164, 141, 131, 125, 56, 26, 160, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 54, 59, 63, 65, 63,
+  60, 58, 57, 61, 66, 70, 73, 79, 87, 92, 95, 109, 113, 114, 116, 117,
+  120, 121, 123, 116, 117, 112, 114, 131, 136, 126, 121, 115, 113, 109, 105, 102,
+  101, 102, 104, 109, 105, 113, 115, 112, 113, 111, 95, 83, 76, 69, 66, 66,
+  65, 64, 61, 65, 65, 67, 73, 79, 83, 85, 85, 94, 92, 95, 102, 114,
+  121, 123, 120, 127, 122, 116, 110, 108, 105, 102, 100, 98, 109, 102, 80, 77,
+  89, 81, 58, 65, 147, 155, 101, 70, 52, 33, 49, 76, 52, 59, 56, 46,
+  80, 76, 226, 255, 239, 211, 183, 133, 71, 42, 51, 93, 95, 58, 77, 111,
+  126, 155, 152, 94, 90, 69, 43, 38, 26, 42, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 198, 65, 52, 61, 69, 74, 74,
+  72, 70, 70, 69, 76, 83, 87, 95, 105, 109, 109, 122, 122, 122, 125, 126,
+  127, 125, 122, 115, 117, 117, 114, 117, 125, 128, 127, 119, 119, 114, 108, 102,
+  101, 104, 104, 105, 107, 115, 119, 113, 115, 113, 98, 86, 80, 72, 66, 66,
+  67, 66, 64, 60, 61, 66, 72, 79, 83, 84, 80, 94, 90, 91, 101, 115,
+  123, 124, 121, 121, 118, 114, 110, 109, 107, 104, 102, 103, 97, 93, 92, 94,
+  91, 80, 71, 71, 28, 76, 146, 126, 121, 61, 42, 35, 59, 66, 45, 126,
+  229, 246, 255, 211, 140, 81, 26, 25, 42, 52, 110, 164, 155, 130, 148, 193,
+  188, 129, 75, 66, 40, 43, 47, 50, 72, 132, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 89, 73, 57, 68, 78, 85, 86,
+  85, 85, 85, 76, 85, 93, 98, 106, 118, 122, 120, 127, 128, 128, 130, 131,
+  129, 124, 120, 115, 117, 122, 116, 109, 119, 132, 133, 122, 123, 119, 109, 102,
+  101, 106, 109, 109, 114, 124, 125, 118, 120, 118, 104, 94, 87, 77, 71, 68,
+  70, 67, 63, 60, 62, 67, 77, 84, 87, 85, 82, 103, 97, 99, 108, 124,
+  130, 129, 128, 122, 120, 118, 115, 115, 113, 111, 109, 101, 100, 97, 93, 89,
+  89, 88, 85, 59, 57, 61, 92, 139, 211, 98, 48, 72, 43, 48, 102, 232,
+  245, 255, 242, 201, 45, 19, 42, 49, 51, 53, 121, 211, 169, 154, 167, 214,
+  196, 98, 52, 56, 42, 59, 55, 52, 102, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 85, 83, 146, 138, 142, 117, 99, 116,
+  127, 114, 103, 95, 99, 111, 116, 114, 124, 131, 126, 142, 132, 135, 145, 138,
+  129, 130, 128, 127, 126, 125, 122, 121, 118, 116, 116, 132, 134, 124, 109, 103,
+  108, 116, 116, 124, 124, 125, 124, 121, 117, 113, 109, 95, 95, 94, 88, 78,
+  72, 72, 73, 57, 63, 72, 78, 81, 88, 96, 103, 107, 117, 123, 123, 124,
+  128, 126, 122, 123, 124, 124, 124, 122, 118, 111, 108, 109, 112, 113, 109, 104,
+  102, 97, 89, 104, 55, 83, 69, 67, 80, 188, 221, 46, 73, 201, 255, 255,
+  252, 232, 117, 59, 22, 48, 49, 30, 56, 88, 114, 151, 86, 112, 132, 90,
+  64, 50, 45, 47, 50, 56, 61, 78, 196, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 206, 117, 134, 190, 215, 209, 194, 163, 133,
+  137, 143, 127, 123, 116, 125, 136, 134, 134, 141, 143, 142, 133, 136, 145, 140,
+  135, 134, 134, 132, 131, 129, 126, 125, 122, 121, 121, 121, 127, 127, 121, 118,
+  122, 124, 123, 127, 127, 127, 124, 119, 115, 112, 110, 98, 95, 91, 89, 85,
+  83, 79, 78, 72, 76, 84, 86, 90, 93, 100, 106, 111, 117, 119, 116, 118,
+  125, 129, 129, 124, 126, 129, 128, 125, 121, 117, 114, 112, 115, 115, 110, 107,
+  106, 100, 95, 83, 93, 94, 55, 81, 68, 128, 198, 173, 211, 255, 236, 125,
+  84, 79, 16, 61, 39, 42, 36, 50, 68, 77, 112, 122, 52, 57, 72, 62,
+  57, 43, 35, 55, 35, 50, 105, 173, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 110, 150, 175, 190, 222, 229, 220, 227, 201, 148,
+  151, 175, 159, 139, 123, 128, 146, 142, 133, 139, 148, 145, 137, 140, 148, 143,
+  139, 139, 137, 132, 130, 129, 126, 124, 121, 120, 120, 111, 117, 121, 121, 120,
+  124, 126, 124, 130, 129, 128, 123, 117, 113, 112, 111, 102, 96, 91, 91, 92,
+  93, 90, 86, 86, 88, 94, 93, 95, 96, 102, 106, 111, 115, 117, 117, 119,
+  125, 130, 131, 126, 130, 134, 133, 129, 124, 123, 121, 119, 120, 118, 112, 106,
+  105, 99, 94, 95, 79, 84, 62, 71, 49, 90, 125, 121, 183, 223, 162, 46,
+  30, 51, 41, 42, 47, 39, 44, 86, 85, 57, 81, 79, 57, 59, 52, 47,
+  57, 52, 45, 38, 47, 98, 216, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 142, 144, 184, 207, 208, 218, 232, 231, 238, 215, 169,
+  159, 163, 141, 146, 131, 135, 144, 138, 133, 137, 140, 152, 143, 145, 151, 146,
+  142, 141, 137, 132, 131, 130, 127, 125, 122, 121, 120, 116, 119, 119, 117, 118,
+  122, 125, 124, 131, 131, 127, 122, 115, 111, 112, 112, 103, 99, 96, 94, 96,
+  95, 94, 93, 93, 96, 97, 98, 99, 101, 106, 109, 111, 117, 124, 127, 128,
+  128, 127, 125, 127, 131, 136, 135, 130, 126, 126, 128, 126, 126, 121, 113, 106,
+  104, 97, 92, 83, 63, 81, 66, 60, 73, 114, 97, 116, 153, 151, 112, 44,
+  46, 45, 44, 35, 46, 46, 61, 101, 95, 60, 58, 50, 74, 81, 59, 52,
+  60, 54, 45, 37, 106, 198, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 142, 149, 176, 214, 229, 226, 227, 247, 253, 241, 222, 211,
+  194, 170, 156, 157, 148, 148, 147, 139, 143, 144, 138, 150, 145, 146, 151, 146,
+  144, 143, 136, 137, 136, 134, 131, 130, 127, 127, 127, 124, 123, 124, 125, 127,
+  127, 128, 128, 131, 131, 127, 122, 113, 110, 111, 112, 104, 102, 101, 98, 95,
+  94, 95, 98, 98, 98, 99, 100, 103, 108, 115, 118, 118, 121, 126, 129, 129,
+  124, 122, 121, 126, 129, 133, 133, 130, 128, 128, 129, 125, 126, 122, 115, 109,
+  108, 102, 98, 81, 87, 86, 64, 77, 94, 109, 94, 71, 72, 45, 38, 27,
+  44, 40, 50, 58, 50, 56, 73, 86, 95, 94, 73, 48, 53, 45, 45, 49,
+  43, 44, 59, 93, 182, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 149, 169, 174, 224, 250, 254, 243, 240, 246, 251, 233, 224, 239,
+  234, 212, 205, 168, 163, 160, 151, 145, 150, 150, 138, 143, 140, 143, 148, 143,
+  144, 145, 138, 136, 135, 134, 132, 131, 129, 129, 129, 121, 121, 127, 134, 138,
+  132, 126, 123, 128, 128, 128, 122, 113, 110, 111, 113, 104, 104, 104, 100, 94,
+  93, 95, 100, 102, 101, 101, 102, 107, 112, 119, 122, 125, 122, 122, 122, 121,
+  118, 120, 125, 128, 128, 130, 131, 132, 131, 131, 130, 121, 124, 123, 119, 117,
+  116, 114, 108, 107, 47, 42, 85, 104, 91, 85, 78, 66, 64, 47, 47, 47,
+  48, 47, 65, 61, 47, 66, 89, 78, 97, 124, 83, 77, 59, 46, 68, 68,
+  49, 94, 156, 193, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 221, 143, 168, 194, 198, 245, 252, 251, 243, 235, 253, 249, 244, 238, 232,
+  231, 227, 217, 180, 164, 160, 158, 150, 150, 150, 142, 145, 142, 145, 148, 144,
+  146, 148, 140, 131, 131, 132, 131, 131, 129, 131, 130, 124, 123, 127, 135, 138,
+  132, 126, 124, 125, 127, 128, 122, 114, 110, 112, 114, 107, 104, 101, 99, 96,
+  98, 101, 103, 106, 103, 101, 101, 105, 110, 115, 117, 121, 118, 119, 122, 123,
+  120, 123, 130, 132, 129, 129, 132, 136, 138, 135, 132, 124, 128, 129, 125, 124,
+  123, 120, 113, 102, 63, 69, 116, 129, 113, 90, 70, 47, 53, 58, 52, 56,
+  46, 47, 54, 54, 52, 69, 94, 84, 104, 137, 98, 50, 51, 44, 60, 53,
+  55, 131, 216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 180, 171, 213, 239, 225, 252, 240, 246, 255, 253, 243, 233, 255, 255, 224,
+  225, 243, 228, 189, 165, 159, 167, 159, 148, 149, 151, 151, 147, 150, 151, 147,
+  148, 149, 137, 134, 134, 135, 135, 135, 134, 136, 134, 139, 131, 130, 134, 137,
+  132, 130, 130, 121, 126, 127, 123, 115, 111, 112, 115, 109, 103, 98, 97, 101,
+  104, 104, 103, 107, 105, 101, 100, 102, 104, 108, 109, 113, 113, 121, 130, 133,
+  128, 127, 132, 136, 131, 130, 133, 140, 143, 139, 134, 131, 135, 136, 132, 128,
+  126, 120, 114, 98, 234, 220, 132, 140, 137, 70, 46, 56, 53, 57, 41, 59,
+  58, 67, 55, 67, 70, 68, 83, 86, 110, 152, 128, 79, 100, 93, 94, 103,
+  146, 214, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  202, 208, 216, 241, 242, 242, 243, 247, 249, 247, 245, 246, 241, 245, 248, 236,
+  219, 229, 250, 222, 165, 171, 147, 184, 166, 166, 142, 154, 158, 148, 141, 151,
+  153, 148, 148, 146, 133, 131, 140, 144, 136, 137, 146, 141, 130, 131, 138, 142,
+  131, 127, 129, 119, 120, 120, 118, 119, 120, 116, 107, 110, 106, 102, 99, 102,
+  107, 106, 104, 109, 108, 106, 104, 105, 111, 115, 116, 114, 118, 120, 118, 121,
+  127, 131, 132, 135, 133, 130, 127, 134, 144, 142, 134, 123, 119, 115, 121, 134,
+  137, 121, 103, 112, 222, 148, 70, 93, 122, 37, 69, 65, 61, 58, 58, 59,
+  64, 68, 69, 75, 65, 90, 91, 93, 114, 119, 134, 104, 101, 137, 166, 216,
+  252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  216, 228, 242, 246, 246, 245, 248, 249, 251, 249, 248, 255, 255, 255, 250, 237,
+  226, 222, 225, 238, 207, 181, 169, 155, 174, 161, 164, 152, 158, 151, 146, 153,
+  154, 146, 145, 147, 138, 135, 139, 141, 136, 136, 140, 133, 126, 130, 139, 142,
+  132, 128, 131, 127, 126, 123, 121, 123, 124, 117, 106, 111, 106, 104, 105, 106,
+  106, 104, 103, 108, 108, 110, 109, 112, 113, 115, 115, 113, 118, 120, 118, 120,
+  126, 130, 130, 132, 130, 127, 125, 132, 140, 139, 132, 121, 114, 114, 127, 135,
+  130, 121, 117, 123, 129, 164, 170, 77, 82, 80, 83, 68, 64, 63, 63, 66,
+  70, 72, 73, 84, 75, 96, 96, 95, 112, 118, 128, 141, 165, 216, 218, 227,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 235, 243, 246, 246, 247, 248, 249, 249, 249, 248, 238, 246, 247, 244, 248,
+  253, 249, 238, 232, 216, 181, 166, 143, 179, 162, 167, 154, 159, 155, 151, 158,
+  157, 146, 142, 148, 144, 139, 136, 137, 136, 136, 134, 129, 127, 133, 141, 140,
+  129, 125, 128, 123, 122, 118, 118, 121, 122, 114, 102, 105, 99, 101, 107, 109,
+  105, 104, 107, 108, 108, 111, 112, 115, 114, 115, 115, 112, 117, 119, 117, 118,
+  123, 127, 126, 128, 126, 124, 124, 130, 136, 135, 130, 121, 113, 119, 135, 135,
+  123, 121, 131, 124, 86, 132, 178, 92, 77, 75, 84, 66, 63, 65, 67, 71,
+  74, 76, 76, 87, 80, 99, 100, 97, 112, 117, 121, 137, 186, 255, 244, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 239, 241, 245, 247, 246, 246, 247, 247, 246, 247, 247, 250, 250, 249, 251,
+  254, 248, 238, 238, 223, 205, 175, 182, 199, 178, 163, 158, 162, 157, 151, 160,
+  157, 148, 145, 147, 146, 140, 132, 131, 136, 136, 130, 133, 132, 136, 140, 134,
+  125, 122, 125, 113, 115, 116, 115, 117, 118, 114, 106, 101, 95, 96, 107, 109,
+  103, 104, 112, 109, 108, 110, 113, 115, 114, 115, 116, 112, 116, 118, 116, 117,
+  121, 123, 122, 126, 124, 123, 124, 129, 133, 132, 129, 123, 121, 126, 134, 133,
+  126, 125, 132, 116, 98, 92, 108, 86, 83, 54, 69, 67, 67, 69, 73, 79,
+  83, 84, 85, 90, 90, 103, 106, 106, 118, 125, 122, 113, 164, 242, 238, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 254, 255, 247, 250, 250, 248, 246, 245, 245, 246, 255, 254, 253, 253, 250,
+  243, 240, 243, 240, 238, 226, 201, 206, 205, 171, 157, 166, 167, 159, 151, 159,
+  158, 151, 150, 143, 142, 137, 130, 129, 133, 135, 129, 133, 131, 133, 132, 127,
+  121, 121, 125, 109, 115, 118, 115, 115, 115, 115, 113, 108, 102, 101, 107, 106,
+  103, 106, 114, 112, 107, 106, 109, 111, 110, 114, 118, 112, 116, 118, 115, 116,
+  119, 120, 119, 125, 122, 123, 126, 130, 131, 131, 130, 128, 133, 133, 128, 130,
+  133, 129, 120, 110, 86, 93, 86, 45, 68, 75, 66, 75, 76, 78, 81, 88,
+  90, 90, 90, 95, 101, 108, 113, 112, 121, 133, 122, 113, 153, 234, 242, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 253, 255, 253, 251, 248, 245, 245, 247, 244, 242, 244, 251, 250,
+  245, 252, 255, 228, 243, 231, 230, 205, 200, 157, 175, 172, 172, 161, 151, 159,
+  159, 154, 154, 143, 138, 132, 129, 129, 129, 132, 130, 127, 126, 127, 126, 124,
+  124, 125, 127, 113, 117, 117, 112, 110, 111, 111, 110, 118, 116, 113, 109, 104,
+  104, 106, 109, 114, 106, 105, 108, 111, 108, 113, 120, 113, 117, 119, 116, 115,
+  118, 118, 116, 125, 121, 123, 127, 130, 129, 129, 130, 131, 139, 135, 124, 126,
+  136, 127, 108, 108, 77, 92, 91, 56, 74, 87, 79, 80, 80, 80, 83, 86,
+  87, 88, 87, 95, 103, 102, 109, 108, 114, 130, 113, 121, 144, 225, 245, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 254, 255, 255, 252, 245, 242, 241, 245, 249, 253, 251, 246, 245,
+  246, 247, 246, 242, 248, 248, 250, 236, 204, 163, 194, 176, 175, 163, 154, 161,
+  160, 155, 155, 145, 134, 128, 129, 129, 123, 126, 130, 123, 122, 122, 122, 124,
+  125, 124, 121, 118, 116, 110, 105, 109, 114, 112, 107, 114, 121, 119, 109, 103,
+  107, 109, 104, 113, 105, 106, 112, 115, 109, 112, 119, 113, 118, 120, 117, 116,
+  117, 117, 115, 123, 119, 122, 128, 130, 127, 127, 130, 131, 134, 133, 127, 125,
+  127, 117, 105, 107, 88, 87, 87, 93, 91, 74, 81, 79, 78, 78, 83, 86,
+  89, 90, 90, 95, 105, 99, 108, 106, 113, 132, 114, 131, 123, 198, 239, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 250, 251, 251, 248, 242, 238, 237, 241, 240, 252, 252, 240, 242,
+  254, 252, 240, 255, 237, 255, 238, 255, 186, 154, 169, 178, 177, 167, 159, 165,
+  165, 157, 155, 149, 134, 126, 130, 129, 119, 121, 129, 124, 123, 122, 123, 125,
+  125, 120, 113, 124, 116, 106, 105, 115, 124, 120, 111, 102, 116, 118, 106, 101,
+  110, 111, 101, 112, 107, 108, 116, 118, 111, 111, 118, 114, 118, 121, 118, 116,
+  117, 117, 114, 122, 118, 121, 127, 129, 125, 125, 129, 130, 127, 128, 130, 126,
+  116, 110, 107, 107, 89, 103, 98, 89, 85, 74, 70, 81, 82, 83, 88, 95,
+  100, 103, 104, 101, 113, 106, 117, 118, 127, 151, 131, 152, 117, 179, 234, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 253, 247, 247, 246, 246, 246, 247, 248, 248, 242, 244, 251, 247,
+  238, 242, 255, 253, 246, 240, 242, 248, 242, 217, 189, 170, 185, 179, 166, 138,
+  180, 178, 144, 152, 139, 130, 129, 125, 115, 114, 116, 127, 122, 118, 115, 115,
+  118, 118, 116, 116, 110, 106, 105, 107, 108, 107, 105, 107, 104, 105, 108, 111,
+  110, 107, 103, 110, 114, 111, 105, 107, 113, 115, 113, 118, 118, 118, 117, 115,
+  116, 119, 122, 111, 116, 120, 121, 119, 119, 122, 127, 127, 129, 126, 119, 114,
+  111, 112, 112, 92, 90, 90, 88, 86, 82, 81, 83, 94, 96, 91, 98, 111,
+  113, 111, 122, 121, 117, 104, 133, 121, 119, 165, 141, 140, 132, 126, 219, 230,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 248, 247, 246, 247, 247, 249, 249, 251, 247, 249, 252, 252,
+  245, 248, 255, 251, 246, 241, 243, 248, 244, 223, 199, 190, 177, 170, 186, 163,
+  169, 163, 157, 149, 137, 127, 127, 123, 115, 115, 116, 116, 115, 116, 116, 117,
+  119, 120, 120, 105, 105, 105, 104, 102, 102, 102, 103, 104, 103, 104, 106, 108,
+  108, 106, 102, 108, 111, 111, 107, 109, 113, 113, 109, 115, 116, 118, 118, 116,
+  115, 116, 117, 118, 118, 119, 120, 122, 123, 122, 123, 123, 125, 123, 120, 113,
+  110, 110, 111, 108, 101, 94, 92, 85, 77, 74, 80, 86, 93, 96, 100, 111,
+  109, 112, 125, 130, 129, 124, 144, 137, 135, 164, 150, 153, 141, 129, 204, 238,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 253, 250, 248, 248, 249, 249, 249, 252, 251, 251, 251, 254,
+  253, 251, 250, 247, 245, 243, 243, 247, 244, 230, 212, 202, 175, 166, 190, 173,
+  159, 151, 156, 146, 133, 125, 125, 122, 115, 113, 117, 109, 111, 117, 119, 118,
+  116, 117, 119, 107, 112, 116, 116, 112, 109, 111, 113, 102, 102, 102, 104, 106,
+  105, 104, 102, 104, 108, 110, 109, 111, 113, 111, 107, 112, 114, 118, 118, 117,
+  114, 113, 113, 121, 118, 116, 117, 121, 122, 119, 116, 118, 121, 118, 116, 111,
+  108, 105, 105, 102, 92, 86, 91, 89, 81, 82, 93, 94, 105, 113, 116, 124,
+  119, 121, 136, 142, 143, 144, 151, 150, 148, 156, 158, 153, 136, 114, 159, 236,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 252, 251, 252, 250, 249, 248, 250, 250, 250, 247, 252,
+  255, 251, 241, 245, 246, 244, 242, 243, 243, 233, 223, 210, 198, 183, 176, 165,
+  163, 157, 150, 146, 134, 125, 125, 122, 114, 113, 116, 109, 112, 119, 122, 117,
+  110, 108, 111, 102, 105, 107, 106, 103, 101, 102, 104, 103, 102, 102, 103, 104,
+  103, 105, 104, 104, 106, 108, 108, 111, 111, 109, 107, 113, 115, 117, 117, 115,
+  114, 113, 114, 115, 113, 112, 114, 116, 117, 114, 114, 115, 119, 117, 114, 109,
+  104, 100, 100, 89, 78, 77, 91, 95, 88, 89, 100, 97, 105, 107, 111, 118,
+  115, 116, 129, 132, 134, 143, 142, 149, 151, 147, 162, 167, 149, 120, 135, 232,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 254, 252, 252, 251, 250, 248, 249, 249, 248, 246, 252,
+  253, 248, 237, 246, 247, 244, 241, 239, 239, 233, 226, 227, 221, 199, 168, 164,
+  166, 163, 151, 148, 136, 126, 126, 122, 114, 112, 115, 108, 110, 117, 122, 116,
+  105, 103, 107, 110, 106, 102, 100, 101, 102, 101, 100, 103, 104, 104, 103, 102,
+  103, 105, 106, 106, 105, 105, 107, 109, 109, 109, 111, 117, 117, 117, 115, 113,
+  113, 114, 117, 107, 110, 113, 113, 112, 111, 113, 117, 115, 116, 115, 111, 105,
+  100, 95, 94, 90, 81, 82, 93, 94, 83, 78, 82, 98, 100, 97, 101, 112,
+  113, 113, 124, 117, 119, 128, 129, 138, 142, 139, 154, 157, 146, 132, 136, 237,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 252, 253, 251, 249, 248, 253, 249, 248, 250, 253,
+  252, 246, 239, 245, 246, 243, 239, 239, 238, 234, 227, 236, 226, 203, 170, 171,
+  155, 154, 156, 148, 136, 126, 126, 122, 113, 111, 114, 105, 103, 110, 117, 115,
+  106, 104, 110, 120, 114, 107, 105, 107, 109, 108, 106, 104, 104, 104, 102, 100,
+  101, 106, 108, 107, 104, 104, 107, 110, 108, 110, 113, 118, 118, 116, 114, 111,
+  112, 114, 117, 105, 110, 114, 114, 111, 110, 113, 116, 111, 112, 110, 106, 100,
+  94, 91, 91, 92, 88, 88, 93, 91, 83, 73, 69, 93, 93, 88, 93, 106,
+  109, 110, 120, 121, 120, 120, 127, 130, 127, 131, 129, 140, 127, 123, 133, 232,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 249, 251, 251, 249, 250, 255, 249, 247, 252, 254,
+  246, 242, 245, 244, 244, 243, 238, 240, 241, 237, 230, 232, 227, 212, 181, 184,
+  156, 154, 158, 147, 132, 123, 124, 121, 113, 111, 115, 105, 99, 102, 112, 113,
+  107, 106, 112, 104, 102, 100, 99, 98, 99, 98, 98, 102, 103, 102, 100, 98,
+  98, 104, 108, 106, 103, 105, 111, 114, 110, 109, 112, 115, 116, 116, 114, 112,
+  111, 111, 113, 108, 109, 111, 111, 110, 110, 110, 110, 105, 104, 102, 98, 93,
+  90, 89, 88, 86, 88, 88, 87, 89, 90, 82, 70, 71, 75, 72, 74, 82,
+  81, 81, 91, 103, 102, 97, 121, 119, 112, 131, 109, 133, 114, 119, 139, 227,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 253, 251, 250, 249, 250, 255, 246, 245, 254, 253,
+  242, 240, 247, 242, 243, 241, 240, 242, 245, 240, 232, 225, 240, 234, 190, 197,
+  175, 168, 159, 143, 129, 122, 122, 120, 113, 112, 116, 108, 98, 99, 109, 112,
+  106, 105, 112, 99, 103, 106, 105, 102, 100, 101, 103, 101, 102, 101, 98, 95,
+  96, 103, 107, 103, 102, 106, 114, 117, 111, 108, 110, 111, 113, 116, 115, 113,
+  110, 109, 108, 111, 108, 105, 106, 109, 109, 105, 101, 98, 99, 96, 92, 89,
+  88, 87, 88, 86, 91, 89, 83, 86, 93, 87, 72, 70, 75, 77, 76, 76,
+  67, 65, 77, 53, 55, 57, 103, 106, 104, 141, 107, 80, 73, 106, 161, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 246, 249, 250, 247, 255, 253, 251, 251, 245,
+  238, 240, 246, 243, 245, 243, 240, 238, 239, 235, 229, 226, 226, 225, 216, 199,
+  176, 163, 158, 147, 135, 132, 119, 113, 115, 110, 113, 100, 100, 102, 104, 106,
+  108, 108, 109, 99, 97, 98, 103, 105, 102, 100, 100, 106, 99, 95, 99, 101,
+  100, 102, 103, 104, 107, 112, 116, 119, 117, 113, 110, 106, 108, 109, 111, 110,
+  108, 106, 104, 117, 113, 109, 108, 109, 107, 100, 94, 94, 96, 97, 96, 92,
+  91, 92, 94, 85, 91, 96, 95, 88, 84, 84, 85, 78, 66, 85, 65, 79,
+  83, 82, 66, 96, 148, 123, 75, 67, 70, 76, 73, 87, 178, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 241, 240, 246, 248, 255, 252, 249, 247, 244,
+  238, 240, 245, 243, 245, 244, 240, 240, 239, 235, 229, 229, 228, 225, 219, 202,
+  181, 165, 157, 144, 133, 127, 116, 110, 109, 106, 106, 99, 99, 100, 103, 105,
+  106, 107, 108, 102, 96, 94, 96, 98, 98, 99, 102, 95, 92, 92, 98, 102,
+  103, 108, 112, 106, 107, 109, 111, 114, 114, 113, 112, 110, 111, 112, 112, 112,
+  110, 109, 108, 111, 107, 104, 105, 107, 106, 101, 96, 94, 92, 91, 92, 93,
+  94, 93, 91, 90, 93, 96, 95, 90, 87, 88, 87, 97, 75, 69, 79, 73,
+  71, 76, 81, 188, 214, 176, 127, 104, 82, 140, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 251, 240, 244, 245, 255, 248, 244, 241, 241,
+  239, 241, 244, 244, 244, 243, 239, 239, 238, 234, 228, 232, 228, 223, 222, 211,
+  192, 176, 168, 140, 131, 121, 113, 107, 104, 103, 100, 98, 97, 98, 100, 102,
+  104, 106, 106, 104, 95, 88, 88, 90, 92, 97, 103, 97, 95, 96, 100, 100,
+  98, 103, 109, 108, 107, 106, 106, 108, 110, 113, 115, 112, 112, 111, 111, 111,
+  110, 110, 110, 107, 104, 102, 102, 103, 102, 98, 94, 94, 89, 86, 88, 95,
+  97, 93, 88, 84, 85, 86, 87, 88, 89, 88, 89, 83, 75, 77, 88, 83,
+  85, 75, 189, 240, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 253, 245, 238, 249, 246, 241, 238, 239,
+  241, 243, 243, 243, 245, 242, 239, 238, 239, 233, 229, 234, 228, 223, 222, 217,
+  206, 194, 184, 138, 133, 117, 112, 108, 102, 105, 98, 96, 94, 95, 97, 99,
+  101, 103, 104, 102, 93, 86, 85, 86, 89, 94, 101, 99, 98, 100, 101, 98,
+  94, 98, 104, 108, 107, 105, 104, 107, 110, 112, 114, 110, 110, 109, 108, 107,
+  107, 108, 108, 109, 106, 102, 101, 100, 98, 94, 91, 96, 93, 90, 92, 96,
+  98, 94, 90, 96, 94, 92, 92, 94, 96, 94, 93, 94, 86, 104, 75, 94,
+  86, 52, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 237, 245, 245, 241, 238, 238,
+  241, 243, 243, 243, 245, 242, 239, 238, 239, 233, 229, 241, 231, 222, 219, 218,
+  208, 199, 193, 142, 138, 115, 114, 111, 102, 111, 100, 94, 92, 92, 93, 95,
+  98, 100, 102, 99, 92, 86, 87, 88, 89, 92, 96, 94, 94, 97, 100, 98,
+  95, 100, 106, 105, 105, 105, 106, 109, 110, 111, 111, 110, 109, 108, 107, 106,
+  107, 107, 107, 108, 105, 103, 100, 99, 97, 94, 92, 98, 98, 98, 97, 95,
+  94, 94, 95, 98, 95, 92, 90, 88, 88, 86, 84, 100, 81, 97, 73, 86,
+  65, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 239, 246, 247, 240, 239,
+  241, 244, 243, 244, 246, 243, 240, 239, 240, 234, 230, 244, 234, 222, 216, 212,
+  202, 191, 185, 149, 146, 114, 115, 111, 100, 114, 99, 91, 89, 89, 90, 92,
+  95, 98, 100, 98, 92, 89, 91, 92, 91, 91, 94, 98, 97, 98, 100, 98,
+  93, 95, 98, 102, 103, 104, 105, 108, 108, 108, 108, 109, 109, 109, 109, 108,
+  108, 107, 107, 103, 102, 100, 99, 98, 98, 98, 98, 95, 98, 99, 98, 94,
+  93, 94, 96, 89, 90, 92, 93, 93, 94, 96, 97, 90, 87, 98, 107, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 236, 248, 253, 245, 240,
+  240, 244, 246, 245, 247, 246, 241, 240, 241, 237, 232, 242, 234, 224, 220, 210,
+  196, 184, 178, 157, 154, 114, 114, 109, 94, 111, 92, 90, 87, 87, 88, 90,
+  93, 96, 98, 100, 94, 92, 94, 95, 93, 93, 95, 104, 99, 98, 100, 99,
+  93, 91, 91, 99, 100, 100, 101, 104, 104, 105, 106, 106, 107, 108, 109, 108,
+  107, 105, 104, 101, 101, 99, 98, 96, 96, 97, 98, 91, 90, 90, 92, 92,
+  94, 93, 92, 97, 101, 103, 105, 104, 104, 106, 109, 99, 105, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 232, 246, 254, 247, 238,
+  240, 244, 247, 245, 247, 246, 241, 240, 239, 236, 230, 235, 232, 227, 222, 213,
+  197, 183, 176, 162, 158, 113, 112, 106, 87, 107, 86, 89, 86, 86, 86, 88,
+  92, 95, 97, 102, 97, 93, 95, 96, 95, 95, 97, 96, 91, 91, 97, 101,
+  99, 98, 98, 99, 98, 97, 98, 99, 101, 103, 106, 102, 103, 107, 106, 106,
+  104, 102, 100, 103, 103, 100, 97, 94, 92, 93, 94, 87, 83, 81, 85, 92,
+  96, 95, 90, 94, 98, 99, 91, 80, 72, 67, 68, 84, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 241, 247, 243, 235,
+  234, 243, 253, 246, 248, 232, 238, 236, 231, 197, 237, 231, 228, 238, 212, 200,
+  207, 182, 181, 152, 139, 121, 109, 104, 101, 97, 94, 93, 94, 93, 91, 88,
+  90, 94, 99, 97, 94, 92, 93, 96, 98, 97, 95, 91, 93, 95, 94, 95,
+  96, 96, 94, 94, 99, 104, 103, 98, 98, 104, 112, 104, 106, 109, 109, 109,
+  107, 105, 103, 102, 100, 97, 94, 91, 90, 89, 89, 86, 84, 78, 71, 79,
+  92, 95, 90, 96, 104, 109, 104, 76, 95, 65, 50, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 241, 240, 243,
+  243, 238, 235, 238, 239, 247, 247, 249, 208, 176, 213, 227, 237, 214, 217, 191,
+  192, 176, 170, 146, 135, 120, 110, 106, 102, 97, 91, 89, 88, 87, 83, 81,
+  82, 87, 92, 93, 91, 90, 93, 97, 99, 99, 98, 92, 92, 94, 93, 93,
+  96, 95, 94, 92, 97, 100, 100, 98, 97, 101, 106, 104, 106, 107, 107, 106,
+  105, 103, 102, 98, 97, 95, 93, 92, 92, 92, 92, 92, 85, 74, 70, 81,
+  98, 101, 91, 99, 99, 109, 93, 152, 182, 206, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 239, 243,
+  242, 240, 235, 255, 241, 251, 232, 236, 189, 187, 232, 222, 240, 198, 226, 194,
+  190, 187, 181, 141, 131, 119, 110, 108, 103, 97, 91, 92, 91, 87, 83, 81,
+  82, 87, 91, 90, 89, 90, 92, 96, 98, 99, 98, 94, 91, 93, 93, 93,
+  94, 94, 95, 95, 96, 97, 98, 99, 99, 99, 100, 103, 103, 103, 102, 102,
+  101, 99, 99, 93, 93, 93, 92, 93, 94, 94, 95, 93, 90, 81, 72, 75,
+  86, 93, 89, 100, 86, 96, 71, 219, 245, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 233,
+  232, 239, 252, 244, 237, 255, 245, 249, 217, 205, 230, 224, 225, 200, 217, 199,
+  188, 185, 183, 144, 133, 119, 110, 107, 102, 96, 92, 94, 91, 86, 81, 79,
+  81, 85, 88, 86, 86, 87, 88, 91, 92, 93, 94, 95, 92, 91, 92, 92,
+  91, 92, 95, 98, 97, 97, 99, 102, 102, 99, 96, 100, 99, 100, 97, 98,
+  96, 96, 96, 91, 91, 92, 92, 93, 94, 94, 95, 89, 96, 94, 78, 68,
+  71, 80, 82, 93, 75, 78, 62, 240, 252, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238,
+  228, 233, 241, 244, 244, 242, 241, 237, 247, 221, 224, 230, 205, 215, 192, 195,
+  174, 163, 164, 148, 134, 119, 107, 103, 100, 96, 92, 92, 88, 83, 79, 78,
+  79, 81, 83, 83, 84, 85, 87, 89, 92, 95, 98, 98, 93, 92, 95, 95,
+  92, 93, 98, 97, 95, 93, 96, 99, 99, 95, 91, 97, 96, 96, 93, 93,
+  92, 92, 92, 91, 91, 91, 92, 92, 92, 92, 92, 91, 97, 95, 83, 77,
+  78, 79, 75, 82, 71, 61, 73, 227, 250, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  241, 226, 217, 250, 247, 229, 222, 211, 248, 224, 218, 228, 198, 224, 185, 201,
+  180, 167, 164, 149, 134, 118, 105, 101, 98, 94, 91, 92, 89, 84, 81, 81,
+  83, 83, 83, 82, 83, 84, 85, 87, 92, 99, 105, 101, 95, 94, 99, 99,
+  93, 94, 100, 95, 93, 91, 91, 94, 93, 90, 87, 94, 93, 94, 93, 92,
+  90, 89, 89, 90, 91, 92, 92, 92, 92, 91, 91, 99, 94, 86, 83, 93,
+  102, 91, 73, 76, 77, 58, 81, 182, 242, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 236, 224, 220, 222, 238, 235, 230, 239, 218, 199, 214, 203, 212, 189, 199,
+  183, 179, 163, 142, 129, 115, 104, 100, 97, 92, 88, 92, 89, 86, 85, 86,
+  87, 85, 84, 85, 85, 83, 80, 80, 85, 93, 101, 102, 96, 97, 103, 103,
+  96, 94, 101, 95, 92, 90, 87, 90, 87, 87, 86, 90, 90, 93, 92, 91,
+  89, 87, 85, 87, 88, 91, 92, 93, 92, 92, 91, 100, 96, 89, 86, 97,
+  106, 98, 80, 82, 94, 75, 79, 129, 227, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 254, 215, 208, 237, 223, 228, 222, 226, 222, 197, 207, 188, 187, 182,
+  168, 170, 140, 135, 123, 112, 104, 102, 99, 91, 85, 86, 83, 82, 81, 84,
+  83, 82, 78, 90, 86, 82, 75, 72, 74, 82, 88, 102, 96, 98, 106, 106,
+  96, 95, 99, 96, 93, 91, 88, 88, 86, 87, 88, 88, 89, 91, 91, 90,
+  87, 86, 84, 85, 87, 90, 92, 93, 93, 93, 92, 93, 100, 101, 92, 88,
+  93, 95, 91, 91, 113, 99, 81, 104, 221, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 253, 232, 216, 229, 230, 220, 220, 200, 190, 200, 201, 182, 165,
+  159, 157, 150, 138, 127, 105, 107, 94, 98, 83, 85, 89, 85, 80, 94, 82,
+  80, 75, 85, 74, 81, 87, 83, 81, 89, 80, 56, 102, 157, 141, 59, 92,
+  92, 72, 114, 82, 83, 88, 85, 98, 73, 91, 84, 87, 87, 89, 88, 86,
+  84, 82, 81, 84, 82, 83, 85, 90, 92, 91, 89, 98, 97, 96, 95, 92,
+  90, 94, 98, 93, 98, 93, 67, 174, 220, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 234, 201, 212, 211, 209, 181, 196, 182, 177, 181, 176,
+  159, 146, 141, 125, 119, 105, 110, 96, 101, 92, 98, 90, 89, 78, 86, 81,
+  95, 87, 85, 100, 91, 85, 82, 255, 255, 255, 255, 212, 233, 218, 109, 70,
+  84, 93, 90, 96, 92, 86, 82, 91, 71, 89, 84, 87, 87, 88, 87, 86,
+  85, 83, 81, 89, 86, 86, 86, 89, 89, 87, 84, 84, 85, 91, 99, 97,
+  84, 86, 99, 91, 94, 89, 86, 231, 226, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 232, 196, 206, 179, 183, 183, 179, 171, 164,
+  156, 148, 138, 126, 123, 112, 115, 96, 97, 87, 95, 79, 93, 86, 84, 71,
+  89, 86, 85, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 128,
+  76, 79, 93, 86, 84, 77, 80, 89, 73, 87, 82, 86, 86, 86, 85, 84,
+  83, 81, 80, 88, 86, 84, 84, 86, 85, 84, 82, 94, 96, 95, 100, 95,
+  73, 65, 77, 72, 62, 77, 177, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 184, 185, 177, 167, 161, 157,
+  151, 144, 141, 128, 124, 112, 115, 97, 97, 83, 88, 81, 88, 83, 86, 77,
+  90, 85, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243,
+  113, 54, 64, 88, 89, 82, 84, 84, 72, 84, 81, 83, 85, 84, 83, 82,
+  81, 81, 80, 83, 82, 82, 82, 84, 83, 84, 83, 88, 93, 83, 81, 88,
+  76, 62, 65, 77, 81, 168, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 159, 147, 161, 164,
+  146, 133, 135, 117, 111, 100, 109, 101, 106, 92, 93, 94, 83, 71, 89, 144,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 138, 65, 86, 92, 84, 89, 79, 70, 81, 84, 84, 84, 83, 82, 83,
+  82, 83, 83, 82, 82, 83, 82, 83, 82, 82, 83, 72, 86, 75, 84, 131,
+  156, 147, 143, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 153, 138,
+  138, 135, 120, 115, 108, 95, 107, 101, 108, 94, 94, 86, 85, 140, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 142, 42, 62, 65, 93, 87, 82, 84, 82, 88, 87, 86, 85, 86,
+  86, 87, 87, 85, 87, 88, 85, 84, 81, 82, 82, 70, 86, 79, 110, 194,
+  244, 244, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  136, 137, 116, 121, 115, 103, 109, 97, 101, 90, 91, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 197, 87, 69, 90, 83, 85, 83, 82, 85, 84, 85, 83, 83,
+  85, 87, 88, 88, 91, 93, 90, 88, 85, 87, 88, 76, 81, 75, 125, 220,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 211, 117, 115, 104, 111, 93, 97, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 205, 85, 59, 70, 80, 89, 81, 80, 79, 80, 80,
+  82, 85, 88, 89, 92, 94, 95, 92, 91, 93, 94, 95, 87, 80, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 194, 55, 58, 71, 76, 89, 92, 85, 83,
+  92, 99, 99, 96, 93, 92, 91, 89, 88, 94, 98, 81, 85, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 124, 89, 66, 60, 60, 72, 84,
+  84, 76, 66, 90, 94, 97, 98, 95, 92, 84, 78, 58, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 65, 47, 43, 62, 83,
+  88, 89, 91, 77, 86, 92, 91, 92, 92, 85, 74, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 81, 48,
+  35, 43, 59, 67, 74, 70, 55, 46, 49, 49, 112, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 138, 122, 115, 127, 135, 134, 140, 191, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 151, 178, 157, 191,
+  191, 182, 118, 150, 202, 221, 226, 135, 107, 212, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  223, 185, 138, 136, 154, 132, 146, 171, 187, 147, 134, 133, 143, 164, 148, 175,
+  181, 158, 86, 79, 130, 175, 177, 93, 57, 54, 61, 106, 107, 156, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 120, 139, 143, 107, 126, 152,
+  162, 181, 145, 150, 168, 137, 140, 165, 191, 153, 143, 131, 138, 145, 150, 180,
+  211, 173, 93, 98, 126, 176, 196, 161, 186, 198, 204, 242, 248, 247, 243, 244,
+  254, 254, 248, 249, 180, 189, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 226, 177, 152, 175, 137, 140, 126, 101, 123, 151,
+  165, 166, 121, 145, 151, 132, 135, 168, 199, 134, 133, 138, 126, 155, 151, 164,
+  220, 228, 211, 229, 228, 245, 255, 255, 233, 247, 232, 244, 251, 255, 229, 255,
+  247, 255, 212, 225, 223, 255, 206, 131, 248, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 231, 168, 161, 176, 144, 173, 185, 176, 143, 145, 112, 89, 113, 122,
+  113, 104, 61, 76, 85, 67, 78, 123, 185, 198, 178, 123, 147, 167, 191, 215,
+  225, 229, 226, 226, 255, 251, 252, 255, 249, 246, 250, 243, 223, 224, 255, 243,
+  255, 245, 251, 238, 108, 93, 179, 232, 255, 228, 210, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  225, 175, 176, 171, 181, 188, 129, 139, 122, 133, 117, 105, 80, 101, 165, 190,
+  205, 237, 232, 203, 236, 246, 240, 235, 225, 218, 132, 122, 177, 162, 147, 125,
+  77, 81, 96, 112, 241, 255, 239, 238, 255, 241, 245, 218, 203, 254, 240, 234,
+  239, 255, 234, 245, 238, 194, 90, 135, 122, 199, 213, 241, 225, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 220, 131,
+  127, 158, 175, 153, 136, 164, 136, 181, 170, 167, 172, 146, 140, 185, 235, 227,
+  223, 248, 250, 254, 251, 240, 211, 242, 235, 230, 156, 128, 157, 125, 82, 52,
+  32, 46, 55, 58, 182, 231, 227, 241, 254, 252, 239, 216, 220, 163, 237, 251,
+  239, 243, 255, 255, 255, 232, 22, 101, 99, 135, 178, 179, 199, 208, 224, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 234, 187, 187, 184, 130,
+  141, 168, 170, 136, 123, 199, 196, 249, 255, 244, 255, 245, 233, 246, 232, 182,
+  150, 137, 122, 111, 79, 78, 80, 206, 242, 228, 199, 126, 85, 73, 57, 58,
+  82, 71, 52, 30, 27, 52, 67, 135, 180, 247, 229, 225, 244, 45, 136, 250,
+  224, 237, 249, 247, 232, 255, 84, 118, 112, 89, 74, 60, 120, 184, 176, 187,
+  200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 166, 174, 166, 168, 185, 167,
+  228, 251, 230, 249, 255, 231, 252, 255, 237, 255, 178, 220, 176, 125, 60, 24,
+  34, 41, 49, 72, 53, 72, 62, 144, 120, 62, 50, 78, 43, 83, 103, 102,
+  112, 81, 59, 87, 110, 201, 221, 255, 244, 214, 53, 52, 0, 75, 27, 21,
+  103, 172, 232, 247, 255, 232, 89, 133, 180, 203, 183, 138, 99, 148, 137, 229,
+  173, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 176, 172, 166, 153, 183, 217, 249, 255,
+  246, 213, 187, 205, 197, 99, 187, 230, 226, 255, 116, 61, 83, 112, 118, 137,
+  144, 113, 113, 75, 65, 70, 52, 79, 63, 72, 90, 70, 140, 223, 247, 243,
+  246, 241, 232, 235, 247, 255, 233, 238, 254, 233, 65, 22, 103, 57, 86, 91,
+  38, 33, 117, 142, 228, 249, 223, 250, 214, 217, 243, 231, 113, 34, 68, 149,
+  181, 151, 218, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 166, 178, 174, 176, 207, 248, 255, 234, 201,
+  110, 104, 171, 235, 185, 199, 245, 226, 243, 197, 145, 104, 125, 140, 124, 131,
+  127, 104, 135, 75, 66, 62, 73, 84, 70, 106, 87, 30, 187, 253, 245, 240,
+  249, 255, 237, 255, 238, 244, 243, 251, 240, 185, 42, 40, 157, 237, 197, 185,
+  81, 25, 41, 87, 124, 206, 233, 239, 233, 239, 232, 247, 160, 87, 60, 162,
+  220, 188, 199, 132, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 230, 166, 173, 179, 162, 245, 111, 85, 70, 65,
+  195, 227, 242, 192, 216, 251, 231, 174, 168, 87, 102, 99, 132, 105, 117, 146,
+  101, 100, 63, 88, 195, 197, 195, 244, 255, 249, 237, 211, 234, 238, 247, 239,
+  246, 255, 233, 248, 255, 235, 255, 254, 239, 249, 211, 224, 248, 247, 249, 246,
+  244, 214, 123, 23, 50, 46, 142, 231, 253, 226, 197, 238, 253, 202, 94, 218,
+  242, 238, 229, 144, 182, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 224, 177, 197, 176, 123, 89, 181, 55, 25, 219, 227,
+  255, 232, 255, 255, 211, 137, 108, 83, 50, 68, 103, 96, 61, 86, 116, 129,
+  82, 47, 196, 246, 235, 207, 245, 244, 255, 238, 235, 243, 232, 208, 217, 220,
+  235, 236, 244, 237, 254, 236, 187, 166, 208, 233, 254, 255, 250, 229, 237, 242,
+  245, 255, 249, 226, 44, 37, 51, 114, 158, 253, 237, 155, 162, 253, 191, 183,
+  238, 247, 255, 239, 155, 181, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 219, 158, 168, 146, 155, 202, 226, 238, 206, 206, 240, 248,
+  171, 189, 145, 108, 96, 66, 57, 98, 115, 183, 210, 228, 241, 103, 91, 175,
+  194, 230, 239, 152, 95, 195, 236, 255, 244, 237, 255, 248, 246, 243, 255, 255,
+  247, 228, 255, 250, 202, 66, 53, 58, 53, 56, 58, 224, 255, 254, 252, 253,
+  252, 254, 242, 247, 252, 220, 59, 114, 77, 77, 189, 248, 240, 216, 201, 196,
+  237, 184, 139, 245, 251, 185, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 228, 146, 185, 199, 174, 180, 224, 253, 251, 253, 222, 255, 228,
+  76, 116, 106, 123, 66, 79, 91, 122, 148, 187, 255, 255, 243, 209, 65, 127,
+  230, 205, 213, 125, 13, 218, 255, 239, 247, 253, 220, 255, 251, 250, 251, 243,
+  229, 237, 220, 236, 164, 52, 52, 84, 83, 35, 69, 194, 242, 251, 241, 247,
+  250, 243, 238, 255, 255, 223, 161, 134, 133, 65, 121, 211, 255, 193, 189, 210,
+  232, 142, 83, 247, 244, 228, 167, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 166, 187, 166, 171, 239, 230, 200, 245, 255, 228, 253, 122, 80,
+  112, 111, 208, 255, 245, 238, 170, 110, 204, 212, 240, 226, 248, 246, 152, 71,
+  65, 82, 54, 85, 102, 151, 245, 244, 255, 236, 255, 238, 237, 249, 251, 255,
+  239, 235, 109, 53, 222, 196, 234, 225, 168, 199, 176, 208, 220, 228, 242, 253,
+  242, 234, 255, 250, 246, 255, 235, 5, 107, 145, 61, 122, 197, 230, 213, 213,
+  233, 108, 78, 207, 255, 235, 235, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 171, 173, 161, 197, 216, 110, 38, 95, 191, 126, 66, 136, 244,
+  244, 247, 231, 205, 237, 255, 252, 110, 183, 212, 255, 242, 238, 255, 251, 129,
+  131, 149, 116, 101, 141, 74, 193, 253, 237, 255, 241, 255, 255, 253, 228, 239,
+  247, 247, 115, 54, 218, 242, 190, 167, 158, 184, 190, 192, 210, 231, 235, 243,
+  247, 234, 244, 239, 237, 233, 255, 56, 57, 110, 107, 55, 110, 91, 113, 195,
+  241, 132, 67, 168, 244, 254, 241, 223, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 180, 150, 165, 191, 143, 65, 52, 86, 98, 72, 28, 173, 232,
+  241, 198, 199, 91, 168, 255, 230, 59, 195, 225, 246, 254, 167, 225, 255, 166,
+  102, 140, 147, 125, 133, 53, 99, 242, 236, 255, 241, 239, 245, 255, 247, 247,
+  253, 166, 82, 112, 215, 225, 199, 217, 181, 200, 176, 179, 204, 229, 203, 197,
+  238, 250, 250, 236, 252, 251, 240, 72, 36, 95, 101, 102, 154, 69, 85, 143,
+  242, 205, 70, 179, 252, 217, 234, 213, 170, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 225, 172, 192, 161, 102, 100, 137, 129, 84, 96, 74, 125, 59, 76,
+  44, 54, 91, 57, 70, 233, 209, 69, 239, 208, 233, 237, 157, 235, 255, 243,
+  104, 170, 112, 138, 100, 118, 73, 37, 130, 217, 248, 255, 244, 249, 242, 246,
+  253, 74, 35, 0, 88, 196, 161, 187, 165, 151, 163, 209, 214, 248, 229, 197,
+  205, 213, 227, 234, 211, 218, 220, 84, 38, 80, 87, 108, 117, 137, 115, 47,
+  248, 241, 37, 79, 231, 250, 143, 45, 229, 59, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 182, 192, 230, 115, 100, 105, 104, 93, 101, 93, 122, 118, 55, 50,
+  72, 105, 106, 89, 111, 166, 113, 129, 253, 179, 230, 237, 159, 192, 239, 255,
+  91, 84, 138, 129, 122, 130, 119, 102, 58, 49, 90, 166, 249, 241, 251, 236,
+  243, 253, 222, 188, 35, 41, 64, 54, 72, 135, 195, 232, 241, 237, 244, 224,
+  233, 243, 152, 130, 141, 111, 117, 39, 77, 68, 71, 91, 124, 96, 111, 54,
+  239, 255, 48, 33, 163, 226, 65, 31, 199, 105, 142, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 139, 107, 120, 94, 85, 93, 72, 93, 83, 83, 72, 77, 60, 74,
+  95, 120, 102, 107, 113, 115, 134, 86, 103, 197, 243, 246, 248, 252, 248, 240,
+  154, 53, 37, 46, 36, 33, 120, 105, 97, 78, 72, 151, 255, 236, 246, 255,
+  247, 242, 241, 239, 218, 195, 214, 227, 212, 235, 238, 230, 225, 238, 241, 252,
+  228, 235, 61, 45, 68, 71, 55, 82, 94, 60, 89, 85, 78, 93, 87, 70,
+  241, 249, 40, 72, 102, 254, 41, 25, 88, 184, 55, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 139, 65, 79, 83, 83, 84, 92, 91, 80, 63, 48, 70, 70, 66,
+  67, 106, 113, 98, 92, 96, 94, 85, 92, 167, 242, 245, 238, 246, 255, 241,
+  143, 38, 88, 97, 108, 53, 76, 113, 92, 98, 90, 133, 254, 249, 247, 251,
+  247, 251, 253, 233, 255, 244, 241, 249, 247, 255, 252, 243, 210, 226, 240, 216,
+  182, 237, 68, 68, 60, 79, 62, 106, 105, 58, 86, 86, 87, 80, 114, 70,
+  215, 235, 52, 85, 61, 219, 52, 47, 36, 250, 124, 150, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 113, 101, 79, 82, 74, 105, 111, 92, 94, 104, 85, 84, 81, 98,
+  80, 77, 71, 72, 69, 118, 115, 126, 136, 84, 124, 190, 234, 239, 229, 222,
+  228, 233, 250, 246, 244, 148, 94, 91, 104, 109, 74, 138, 240, 242, 253, 244,
+  243, 253, 241, 211, 223, 250, 250, 242, 254, 239, 240, 231, 253, 170, 247, 253,
+  100, 54, 243, 242, 79, 54, 109, 74, 85, 97, 108, 73, 70, 83, 78, 91,
+  78, 222, 68, 68, 94, 131, 102, 83, 75, 194, 231, 75, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 220, 11, 108, 51, 89, 75, 97, 102, 109, 91, 81, 87, 64, 38, 78,
+  70, 60, 64, 123, 105, 80, 116, 75, 86, 105, 96, 83, 75, 85, 246, 255,
+  238, 251, 255, 239, 255, 254, 237, 14, 77, 102, 94, 112, 238, 237, 248, 254,
+  247, 237, 228, 238, 228, 207, 208, 253, 255, 242, 247, 244, 253, 190, 214, 224,
+  233, 106, 81, 152, 180, 71, 31, 74, 87, 70, 103, 92, 81, 92, 88, 97,
+  37, 188, 149, 60, 134, 84, 132, 104, 115, 72, 226, 95, 147, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 161, 132, 235, 225, 234, 209, 70, 123, 99, 45, 70, 118, 122, 90, 115,
+  95, 69, 56, 123, 157, 90, 105, 86, 113, 122, 97, 112, 91, 30, 226, 248,
+  245, 255, 247, 254, 231, 246, 251, 50, 91, 107, 103, 32, 254, 255, 237, 250,
+  255, 241, 231, 248, 243, 88, 74, 232, 244, 249, 255, 238, 240, 234, 193, 194,
+  249, 135, 37, 40, 228, 231, 112, 64, 64, 117, 111, 99, 84, 69, 99, 51,
+  63, 80, 195, 72, 111, 97, 125, 112, 121, 33, 160, 148, 111, 218, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 221, 255, 239, 255, 245, 254, 85, 110, 79, 114, 192, 213, 237, 231, 250,
+  222, 151, 56, 118, 161, 106, 51, 86, 134, 83, 97, 104, 124, 52, 200, 244,
+  255, 253, 248, 255, 245, 255, 225, 90, 55, 107, 130, 21, 182, 224, 241, 236,
+  247, 254, 231, 232, 211, 40, 32, 250, 251, 249, 246, 249, 226, 216, 165, 190,
+  240, 168, 59, 51, 157, 204, 194, 118, 52, 84, 135, 104, 95, 103, 92, 89,
+  77, 42, 222, 121, 76, 113, 119, 109, 114, 67, 135, 173, 117, 121, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 253, 241, 251, 225, 201, 223, 183, 32, 41, 228, 255, 238, 255, 241, 237,
+  254, 255, 181, 38, 54, 70, 67, 92, 89, 58, 74, 24, 63, 16, 110, 228,
+  251, 244, 247, 237, 246, 255, 254, 80, 47, 112, 96, 97, 44, 92, 254, 251,
+  224, 253, 222, 240, 156, 50, 45, 248, 251, 234, 242, 230, 210, 234, 188, 143,
+  255, 240, 25, 87, 66, 108, 248, 228, 224, 128, 60, 60, 108, 84, 104, 92,
+  84, 25, 231, 184, 79, 111, 127, 97, 105, 86, 145, 162, 110, 86, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 234, 250, 240, 242, 174, 200, 189, 18, 114, 251, 245, 244, 254, 255, 251,
+  255, 235, 252, 86, 37, 129, 83, 123, 92, 98, 233, 243, 212, 180, 36, 187,
+  255, 254, 233, 240, 249, 251, 244, 60, 53, 90, 101, 115, 72, 61, 89, 148,
+  250, 242, 86, 134, 33, 77, 32, 231, 244, 248, 245, 222, 247, 231, 249, 255,
+  236, 255, 45, 93, 54, 76, 62, 188, 210, 252, 203, 159, 67, 80, 101, 107,
+  69, 64, 221, 222, 61, 112, 126, 117, 183, 61, 125, 100, 124, 100, 144, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  244, 239, 236, 245, 230, 204, 196, 204, 114, 179, 245, 253, 255, 248, 238, 235,
+  243, 233, 234, 104, 100, 105, 140, 54, 86, 162, 255, 238, 255, 236, 87, 149,
+  241, 255, 249, 254, 253, 235, 248, 51, 105, 61, 99, 95, 97, 102, 52, 90,
+  171, 123, 67, 48, 65, 86, 95, 142, 252, 253, 233, 233, 242, 249, 252, 250,
+  255, 220, 29, 75, 90, 96, 45, 103, 175, 252, 244, 206, 144, 78, 97, 92,
+  104, 66, 203, 198, 57, 107, 71, 123, 203, 54, 117, 146, 118, 105, 115, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  229, 244, 242, 249, 244, 245, 215, 226, 254, 255, 238, 254, 225, 241, 255, 244,
+  233, 255, 255, 103, 146, 125, 107, 117, 194, 240, 209, 234, 233, 247, 255, 255,
+  255, 231, 255, 244, 225, 182, 121, 35, 83, 88, 99, 108, 89, 101, 74, 56,
+  34, 10, 78, 91, 85, 84, 77, 48, 138, 232, 250, 254, 219, 234, 255, 243,
+  210, 136, 67, 110, 77, 71, 90, 68, 44, 91, 174, 222, 253, 160, 117, 115,
+  127, 77, 172, 174, 59, 85, 81, 107, 151, 224, 130, 122, 95, 121, 127, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  204, 239, 242, 238, 237, 243, 251, 211, 242, 227, 255, 244, 251, 255, 233, 251,
+  255, 228, 163, 32, 153, 122, 58, 240, 248, 255, 218, 236, 219, 203, 227, 219,
+  243, 237, 243, 192, 110, 37, 18, 101, 57, 104, 68, 68, 76, 70, 78, 84,
+  95, 93, 50, 65, 44, 99, 76, 38, 32, 156, 225, 235, 245, 255, 255, 190,
+  45, 26, 105, 90, 91, 70, 66, 78, 106, 78, 37, 67, 122, 215, 216, 157,
+  90, 101, 88, 73, 105, 75, 73, 97, 31, 255, 193, 125, 113, 140, 125, 167,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  175, 248, 232, 227, 240, 234, 240, 241, 248, 242, 247, 236, 235, 245, 241, 241,
+  158, 48, 83, 192, 244, 70, 14, 233, 239, 227, 241, 234, 255, 252, 236, 222,
+  255, 253, 235, 18, 45, 41, 71, 125, 80, 74, 52, 41, 65, 68, 62, 40,
+  37, 73, 90, 99, 62, 69, 71, 72, 81, 51, 46, 144, 229, 237, 214, 225,
+  70, 69, 113, 67, 72, 93, 107, 101, 79, 86, 105, 87, 55, 58, 75, 156,
+  82, 84, 93, 98, 78, 50, 111, 151, 98, 177, 174, 93, 99, 118, 99, 114,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  137, 255, 247, 225, 235, 251, 233, 251, 221, 233, 195, 126, 126, 197, 255, 231,
+  213, 176, 198, 209, 235, 169, 20, 130, 253, 241, 253, 253, 242, 240, 243, 245,
+  245, 221, 244, 12, 18, 57, 89, 144, 135, 38, 48, 91, 123, 122, 51, 48,
+  66, 44, 98, 69, 61, 71, 68, 80, 100, 66, 83, 61, 192, 255, 240, 245,
+  77, 67, 99, 89, 88, 96, 78, 90, 82, 88, 75, 103, 86, 67, 57, 83,
+  61, 80, 100, 89, 104, 90, 219, 249, 209, 137, 243, 135, 109, 98, 93, 112,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 188,
+  78, 231, 240, 237, 213, 255, 231, 177, 75, 133, 167, 160, 71, 70, 232, 240,
+  248, 249, 239, 255, 236, 228, 39, 25, 194, 254, 229, 240, 241, 240, 249, 255,
+  238, 136, 155, 168, 99, 153, 180, 192, 107, 63, 213, 242, 240, 254, 239, 196,
+  107, 20, 68, 88, 74, 84, 84, 114, 95, 93, 85, 54, 71, 217, 236, 252,
+  137, 66, 94, 84, 99, 111, 91, 87, 81, 86, 78, 65, 112, 85, 56, 86,
+  98, 70, 94, 101, 84, 87, 227, 234, 255, 230, 244, 255, 187, 146, 138, 135,
+  178, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 95,
+  24, 153, 192, 255, 246, 244, 159, 58, 111, 187, 179, 184, 190, 73, 182, 238,
+  255, 252, 255, 234, 255, 243, 254, 84, 64, 253, 255, 253, 249, 242, 255, 241,
+  175, 15, 64, 186, 182, 191, 179, 131, 77, 83, 232, 243, 243, 243, 255, 249,
+  224, 153, 36, 63, 90, 89, 104, 93, 93, 118, 85, 122, 39, 229, 246, 240,
+  196, 82, 115, 100, 91, 87, 99, 101, 96, 84, 84, 85, 64, 93, 106, 93,
+  91, 85, 81, 81, 114, 107, 101, 178, 237, 234, 255, 202, 192, 203, 169, 85,
+  107, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 69,
+  76, 31, 89, 252, 246, 187, 39, 64, 174, 165, 193, 180, 156, 151, 198, 232,
+  233, 255, 252, 255, 233, 187, 172, 162, 19, 109, 255, 234, 236, 240, 254, 254,
+  225, 136, 25, 162, 172, 207, 181, 69, 21, 166, 234, 240, 254, 250, 242, 242,
+  241, 240, 118, 36, 105, 112, 93, 100, 120, 111, 107, 112, 43, 255, 235, 243,
+  224, 89, 107, 100, 103, 94, 92, 112, 82, 114, 92, 96, 91, 91, 100, 100,
+  88, 81, 84, 76, 61, 83, 40, 47, 255, 229, 243, 237, 179, 151, 195, 171,
+  155, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 48,
+  73, 48, 105, 244, 238, 206, 48, 69, 182, 182, 157, 185, 154, 137, 192, 229,
+  249, 248, 237, 249, 255, 75, 103, 138, 69, 11, 255, 239, 255, 255, 237, 225,
+  253, 207, 73, 139, 165, 185, 170, 94, 87, 197, 233, 238, 239, 238, 249, 245,
+  245, 255, 207, 104, 92, 108, 106, 105, 91, 85, 103, 91, 83, 229, 250, 243,
+  224, 115, 97, 121, 132, 123, 99, 101, 88, 78, 108, 97, 97, 99, 103, 102,
+  96, 91, 93, 65, 94, 82, 44, 39, 235, 255, 230, 237, 182, 112, 170, 153,
+  148, 144, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 244, 61,
+  43, 63, 227, 212, 215, 214, 88, 23, 138, 180, 187, 166, 162, 161, 224, 233,
+  233, 240, 255, 230, 248, 92, 115, 99, 87, 139, 247, 240, 216, 194, 203, 237,
+  250, 232, 218, 192, 195, 178, 170, 139, 150, 211, 218, 250, 245, 242, 254, 244,
+  248, 250, 245, 213, 82, 91, 92, 99, 79, 80, 98, 87, 116, 97, 253, 238,
+  235, 92, 141, 130, 137, 90, 106, 117, 76, 121, 88, 93, 100, 104, 99, 97,
+  97, 98, 96, 97, 91, 72, 89, 73, 107, 249, 241, 255, 219, 105, 130, 96,
+  112, 100, 149, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 233, 186,
+  71, 33, 182, 174, 206, 253, 214, 11, 56, 79, 152, 175, 171, 150, 217, 245,
+  224, 248, 255, 250, 238, 255, 233, 232, 255, 233, 197, 119, 21, 87, 227, 240,
+  189, 184, 211, 243, 223, 198, 192, 190, 181, 227, 247, 239, 245, 244, 250, 242,
+  255, 245, 245, 255, 60, 85, 79, 90, 80, 92, 99, 124, 124, 53, 146, 239,
+  184, 44, 110, 84, 75, 88, 83, 103, 78, 91, 91, 87, 100, 103, 91, 86,
+  93, 95, 91, 101, 96, 110, 107, 91, 26, 246, 252, 251, 253, 215, 243, 134,
+  73, 81, 123, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 208,
+  65, 33, 185, 198, 203, 243, 236, 27, 24, 35, 121, 74, 159, 189, 231, 234,
+  186, 235, 242, 254, 238, 216, 227, 179, 186, 142, 89, 40, 37, 129, 249, 255,
+  203, 161, 224, 243, 226, 225, 211, 221, 191, 226, 244, 244, 250, 248, 253, 238,
+  255, 239, 245, 243, 35, 85, 85, 90, 73, 90, 97, 75, 96, 78, 83, 172,
+  209, 68, 72, 36, 69, 66, 126, 100, 115, 85, 116, 88, 101, 104, 89, 83,
+  91, 94, 87, 117, 81, 85, 95, 102, 47, 231, 255, 247, 254, 255, 244, 154,
+  159, 217, 236, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 243,
+  132, 46, 201, 254, 236, 255, 242, 160, 131, 85, 73, 171, 241, 249, 243, 240,
+  215, 196, 163, 120, 175, 32, 90, 73, 48, 91, 60, 92, 109, 221, 255, 202,
+  192, 214, 242, 243, 232, 237, 233, 249, 243, 244, 229, 247, 239, 238, 253, 239,
+  241, 251, 255, 255, 44, 75, 81, 95, 73, 81, 84, 93, 86, 69, 60, 41,
+  241, 195, 214, 242, 37, 116, 31, 37, 109, 99, 106, 96, 105, 106, 94, 89,
+  95, 96, 90, 90, 86, 87, 87, 47, 18, 131, 223, 251, 233, 245, 237, 213,
+  255, 255, 245, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 204,
+  138, 78, 233, 255, 241, 221, 168, 217, 251, 234, 201, 197, 221, 248, 248, 229,
+  254, 183, 224, 217, 250, 80, 4, 57, 90, 56, 111, 91, 171, 255, 240, 200,
+  212, 222, 255, 248, 240, 238, 250, 219, 226, 222, 236, 221, 212, 215, 241, 250,
+  249, 255, 221, 224, 59, 80, 75, 89, 81, 86, 78, 98, 79, 113, 106, 103,
+  199, 226, 234, 251, 210, 250, 255, 43, 59, 86, 112, 99, 102, 102, 97, 95,
+  98, 97, 92, 78, 85, 68, 66, 159, 232, 253, 251, 198, 136, 170, 254, 255,
+  200, 71, 89, 87, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 235, 254, 217,
+  196, 145, 144, 251, 252, 185, 105, 156, 224, 200, 187, 119, 93, 169, 249, 239,
+  255, 58, 119, 248, 250, 188, 155, 48, 104, 83, 82, 61, 146, 253, 216, 179,
+  237, 252, 240, 244, 250, 239, 236, 92, 66, 84, 180, 232, 228, 222, 236, 252,
+  245, 231, 104, 108, 49, 110, 89, 81, 83, 99, 87, 95, 122, 94, 113, 120,
+  161, 188, 221, 205, 253, 223, 249, 204, 98, 109, 94, 96, 94, 94, 94, 95,
+  95, 93, 89, 108, 96, 107, 104, 246, 241, 237, 246, 244, 138, 63, 116, 207,
+  252, 71, 65, 74, 130, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 242, 233,
+  231, 211, 37, 246, 250, 143, 80, 137, 208, 223, 201, 128, 25, 136, 245, 235,
+  255, 68, 58, 207, 213, 234, 236, 53, 53, 113, 79, 72, 110, 242, 254, 218,
+  253, 250, 243, 254, 236, 241, 182, 53, 7, 60, 94, 187, 204, 206, 207, 184,
+  201, 175, 10, 44, 88, 105, 79, 110, 99, 97, 106, 109, 109, 115, 113, 129,
+  154, 170, 205, 186, 255, 239, 249, 255, 152, 80, 105, 104, 76, 99, 115, 74,
+  101, 107, 80, 118, 95, 121, 109, 243, 248, 241, 240, 251, 213, 72, 117, 147,
+  246, 75, 77, 83, 85, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 241, 255, 244, 253,
+  255, 234, 88, 184, 224, 151, 131, 58, 199, 231, 255, 249, 110, 108, 254, 241,
+  148, 255, 136, 14, 26, 209, 248, 172, 91, 96, 84, 64, 45, 121, 223, 249,
+  245, 249, 252, 239, 229, 107, 19, 80, 130, 89, 51, 31, 61, 104, 120, 58,
+  10, 36, 43, 69, 94, 104, 83, 101, 101, 86, 114, 104, 99, 109, 112, 121,
+  135, 165, 224, 203, 241, 255, 189, 255, 245, 52, 74, 105, 136, 77, 85, 109,
+  79, 111, 101, 103, 118, 108, 35, 116, 213, 237, 252, 235, 223, 202, 227, 84,
+  206, 161, 45, 71, 83, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 238, 255,
+  239, 225, 198, 67, 138, 154, 195, 47, 234, 247, 255, 251, 187, 169, 252, 255,
+  46, 227, 213, 82, 60, 153, 200, 196, 180, 74, 80, 78, 60, 56, 147, 199,
+  188, 194, 157, 56, 46, 46, 81, 108, 84, 65, 89, 71, 86, 63, 73, 101,
+  68, 60, 114, 116, 54, 85, 109, 107, 117, 98, 114, 103, 93, 103, 111, 111,
+  113, 147, 223, 235, 235, 219, 151, 215, 236, 82, 50, 93, 56, 86, 101, 107,
+  70, 53, 53, 92, 90, 69, 28, 89, 248, 251, 255, 222, 251, 187, 222, 175,
+  194, 227, 13, 66, 90, 142, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 222, 106, 151, 253,
+  246, 255, 222, 25, 56, 95, 128, 29, 240, 253, 236, 246, 224, 176, 243, 250,
+  26, 198, 244, 74, 39, 115, 179, 173, 156, 97, 81, 75, 87, 47, 62, 88,
+  89, 97, 51, 83, 27, 54, 98, 70, 64, 89, 83, 71, 95, 65, 47, 36,
+  46, 147, 241, 254, 71, 94, 124, 96, 101, 101, 94, 112, 101, 107, 109, 107,
+  104, 127, 189, 185, 239, 203, 88, 169, 204, 41, 26, 47, 41, 61, 70, 65,
+  47, 28, 40, 54, 35, 61, 38, 29, 225, 255, 235, 253, 212, 246, 192, 209,
+  200, 244, 40, 60, 94, 92, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 128, 145, 119, 244,
+  231, 209, 65, 75, 77, 84, 85, 41, 255, 255, 244, 255, 243, 226, 230, 253,
+  53, 117, 208, 194, 138, 102, 235, 78, 73, 76, 76, 70, 75, 60, 58, 65,
+  63, 70, 79, 59, 89, 105, 97, 87, 85, 85, 85, 120, 67, 64, 181, 225,
+  235, 255, 229, 233, 75, 97, 96, 88, 79, 70, 57, 62, 57, 59, 51, 54,
+  57, 56, 86, 82, 87, 82, 200, 255, 242, 250, 237, 140, 44, 66, 63, 75,
+  226, 195, 184, 183, 199, 194, 222, 253, 208, 59, 109, 101, 83, 166, 123, 196,
+  186, 238, 75, 52, 86, 88, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211, 169, 234, 168, 252,
+  249, 66, 20, 69, 92, 82, 84, 41, 243, 233, 232, 244, 237, 255, 226, 255,
+  51, 33, 100, 236, 240, 189, 230, 213, 109, 109, 79, 83, 80, 94, 88, 93,
+  99, 90, 113, 96, 104, 80, 71, 101, 103, 90, 107, 105, 190, 222, 255, 241,
+  145, 102, 71, 68, 45, 65, 40, 74, 92, 79, 96, 103, 105, 107, 94, 103,
+  113, 98, 102, 107, 107, 120, 125, 186, 247, 236, 249, 254, 216, 18, 19, 57,
+  107, 140, 205, 217, 229, 230, 230, 233, 248, 134, 54, 57, 48, 83, 113, 76,
+  36, 183, 141, 55, 81, 89, 70, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 249, 225, 198, 152, 109, 230,
+  254, 38, 48, 91, 110, 89, 81, 43, 231, 249, 254, 255, 231, 226, 250, 239,
+  29, 117, 35, 135, 244, 202, 202, 237, 169, 92, 111, 83, 81, 94, 82, 83,
+  96, 81, 74, 80, 84, 75, 47, 31, 43, 45, 27, 119, 233, 206, 124, 175,
+  216, 198, 236, 229, 238, 205, 148, 101, 115, 96, 113, 97, 100, 105, 94, 102,
+  111, 94, 97, 139, 98, 95, 107, 54, 108, 243, 240, 252, 252, 204, 215, 129,
+  64, 79, 190, 195, 193, 188, 239, 230, 255, 248, 233, 120, 60, 70, 108, 207,
+  171, 59, 187, 67, 83, 97, 76, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 217, 249, 230, 214, 175, 121, 245,
+  238, 141, 19, 100, 96, 87, 70, 57, 216, 254, 230, 236, 255, 255, 248, 222,
+  29, 62, 66, 90, 134, 179, 189, 225, 174, 83, 91, 83, 67, 69, 81, 81,
+  77, 74, 67, 80, 61, 59, 69, 71, 74, 87, 99, 187, 205, 178, 63, 112,
+  253, 251, 246, 235, 234, 232, 245, 126, 141, 119, 94, 97, 99, 106, 98, 99,
+  103, 92, 105, 121, 105, 123, 130, 14, 21, 200, 241, 251, 255, 255, 250, 169,
+  118, 125, 181, 175, 125, 101, 235, 236, 249, 235, 255, 231, 108, 73, 71, 230,
+  222, 44, 171, 74, 83, 101, 79, 138, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 229, 224, 211, 188, 206, 250,
+  250, 232, 84, 81, 47, 77, 93, 57, 106, 246, 216, 224, 236, 244, 196, 100,
+  74, 46, 66, 60, 39, 60, 76, 86, 101, 40, 55, 48, 63, 39, 77, 63,
+  76, 70, 91, 113, 72, 55, 72, 215, 244, 242, 252, 231, 242, 177, 113, 98,
+  238, 229, 237, 224, 239, 211, 255, 215, 203, 150, 139, 105, 116, 98, 112, 114,
+  121, 97, 106, 99, 117, 108, 103, 43, 145, 251, 243, 253, 247, 233, 240, 242,
+  239, 234, 206, 73, 54, 92, 232, 241, 255, 251, 225, 255, 199, 56, 65, 131,
+  132, 94, 107, 120, 55, 97, 92, 73, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 220, 231, 168, 192, 181, 188, 218, 171,
+  186, 255, 111, 81, 116, 45, 63, 47, 90, 97, 46, 29, 32, 37, 34, 40,
+  101, 99, 91, 57, 48, 57, 40, 38, 69, 57, 78, 55, 36, 18, 129, 193,
+  211, 150, 116, 109, 54, 57, 121, 169, 192, 207, 197, 97, 25, 23, 119, 104,
+  119, 196, 239, 236, 207, 209, 221, 239, 213, 217, 178, 134, 113, 105, 100, 83,
+  92, 74, 109, 101, 111, 78, 112, 73, 231, 254, 255, 254, 254, 236, 239, 243,
+  241, 242, 223, 245, 238, 213, 245, 239, 149, 192, 230, 208, 188, 74, 71, 116,
+  126, 118, 145, 132, 104, 84, 82, 65, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 85, 152, 100, 28, 33, 36, 18, 67,
+  85, 226, 104, 172, 157, 87, 95, 60, 226, 243, 32, 41, 40, 55, 81, 114,
+  163, 132, 90, 85, 91, 106, 82, 86, 107, 95, 84, 47, 94, 131, 222, 245,
+  255, 243, 254, 175, 128, 41, 75, 72, 57, 33, 40, 78, 136, 115, 93, 101,
+  62, 127, 225, 242, 178, 161, 219, 240, 232, 228, 192, 157, 132, 126, 148, 125,
+  103, 91, 101, 119, 109, 88, 130, 24, 237, 255, 238, 249, 255, 242, 243, 250,
+  245, 247, 240, 241, 242, 244, 232, 254, 249, 72, 14, 33, 106, 125, 123, 119,
+  112, 110, 123, 119, 120, 88, 84, 78, 129, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 209, 229, 228, 71, 45, 61, 50, 51, 179,
+  206, 236, 99, 136, 112, 78, 85, 165, 249, 211, 66, 86, 73, 82, 101, 106,
+  109, 98, 87, 71, 75, 90, 85, 104, 109, 77, 47, 62, 158, 215, 255, 243,
+  243, 238, 239, 225, 215, 70, 60, 86, 85, 68, 96, 83, 85, 99, 106, 133,
+  78, 76, 183, 252, 254, 191, 219, 241, 245, 202, 204, 198, 159, 100, 120, 102,
+  75, 105, 88, 95, 114, 64, 90, 53, 243, 252, 248, 244, 255, 248, 247, 253,
+  244, 244, 241, 243, 249, 238, 254, 218, 252, 178, 43, 63, 57, 119, 97, 112,
+  140, 146, 125, 120, 138, 107, 196, 199, 179, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 65, 89, 77, 76, 58, 74, 52, 140, 175,
+  229, 106, 7, 31, 99, 91, 35, 192, 211, 97, 50, 83, 75, 85, 97, 95,
+  89, 104, 108, 111, 102, 102, 94, 110, 123, 125, 172, 219, 255, 247, 243, 238,
+  255, 255, 251, 254, 250, 104, 33, 49, 57, 58, 43, 74, 106, 108, 102, 115,
+  129, 92, 82, 76, 203, 243, 236, 250, 245, 234, 236, 226, 176, 133, 116, 99,
+  94, 114, 108, 74, 86, 114, 138, 54, 133, 243, 255, 242, 255, 245, 246, 248,
+  241, 244, 236, 120, 239, 252, 240, 253, 231, 252, 228, 117, 32, 145, 139, 139,
+  125, 127, 120, 114, 132, 86, 240, 241, 245, 252, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 87, 85, 111, 74, 98, 111, 174, 170, 234, 228,
+  214, 63, 85, 106, 80, 72, 112, 237, 194, 80, 121, 87, 91, 100, 104, 108,
+  91, 85, 45, 50, 45, 45, 28, 21, 44, 72, 222, 226, 252, 251, 255, 255,
+  243, 244, 247, 239, 238, 107, 38, 141, 186, 186, 175, 59, 75, 35, 116, 119,
+  106, 113, 99, 89, 118, 204, 227, 70, 113, 236, 252, 115, 86, 135, 108, 100,
+  105, 74, 99, 118, 111, 91, 96, 81, 45, 112, 172, 244, 245, 244, 253, 249,
+  248, 255, 233, 82, 64, 142, 243, 238, 249, 255, 250, 231, 51, 66, 94, 130,
+  109, 102, 113, 123, 113, 109, 118, 114, 255, 250, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 230, 56, 96, 111, 75, 84, 108, 231, 255, 230, 225,
+  145, 51, 115, 99, 115, 63, 122, 255, 182, 50, 95, 111, 102, 92, 84, 88,
+  68, 79, 46, 80, 90, 103, 100, 80, 85, 43, 217, 230, 238, 225, 234, 246,
+  241, 253, 254, 253, 253, 163, 117, 223, 250, 224, 239, 147, 84, 38, 140, 117,
+  111, 138, 73, 106, 58, 124, 202, 26, 71, 180, 177, 68, 60, 103, 93, 101,
+  83, 73, 111, 114, 94, 103, 111, 68, 31, 64, 104, 216, 213, 232, 255, 253,
+  252, 254, 206, 82, 49, 40, 243, 255, 233, 235, 233, 250, 156, 63, 88, 95,
+  69, 80, 131, 136, 118, 150, 54, 57, 212, 236, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 224, 70, 102, 49, 50, 112, 94, 207, 212, 156, 90,
+  82, 79, 102, 89, 104, 53, 134, 252, 108, 36, 99, 104, 90, 87, 89, 85,
+  51, 92, 100, 221, 232, 248, 255, 251, 231, 96, 233, 218, 249, 249, 244, 248,
+  243, 247, 234, 244, 237, 250, 250, 244, 242, 237, 245, 249, 245, 138, 81, 87,
+  88, 73, 109, 83, 95, 92, 83, 112, 88, 72, 36, 99, 113, 87, 114, 128,
+  56, 87, 95, 103, 118, 120, 134, 135, 138, 62, 62, 38, 35, 77, 124, 113,
+  107, 97, 29, 40, 64, 57, 26, 124, 252, 255, 244, 248, 255, 69, 78, 76,
+  65, 62, 94, 85, 99, 93, 91, 107, 80, 203, 242, 243, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 226, 106, 87, 93, 124, 183, 242, 172, 91, 54, 79, 123,
+  109, 121, 111, 109, 93, 103, 245, 174, 52, 47, 113, 114, 64, 68, 81, 96,
+  102, 255, 239, 242, 228, 240, 255, 234, 239, 253, 205, 245, 209, 199, 235, 232,
+  255, 246, 248, 251, 254, 248, 224, 250, 239, 243, 249, 238, 252, 255, 56, 80,
+  106, 106, 104, 119, 120, 104, 102, 113, 111, 95, 81, 109, 121, 62, 207, 255,
+  121, 97, 104, 89, 121, 111, 108, 107, 111, 138, 112, 116, 138, 96, 37, 57,
+  30, 55, 70, 127, 100, 98, 54, 58, 214, 249, 246, 231, 215, 72, 44, 90,
+  120, 52, 88, 69, 98, 86, 112, 136, 87, 67, 238, 253, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 175, 148, 67, 102, 106, 215, 238, 138, 67, 79, 75, 99, 100,
+  107, 126, 109, 81, 77, 183, 247, 34, 120, 84, 36, 71, 100, 77, 204, 224,
+  246, 221, 208, 99, 166, 234, 247, 255, 236, 255, 236, 157, 56, 38, 35, 34,
+  130, 222, 236, 246, 229, 249, 254, 254, 234, 245, 254, 246, 253, 250, 24, 119,
+  108, 104, 101, 115, 111, 90, 90, 102, 103, 108, 107, 131, 96, 81, 162, 232,
+  255, 255, 110, 137, 102, 98, 104, 81, 72, 83, 77, 89, 69, 100, 89, 104,
+  125, 95, 157, 131, 205, 158, 185, 190, 245, 88, 76, 61, 88, 88, 71, 246,
+  255, 251, 230, 255, 232, 232, 193, 173, 215, 192, 87, 248, 240, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 205, 126, 111, 56, 84, 124, 255, 236, 94, 57, 115, 110, 125, 88,
+  104, 137, 127, 78, 96, 215, 251, 41, 122, 92, 50, 49, 219, 227, 240, 249,
+  177, 62, 88, 47, 144, 255, 250, 251, 252, 242, 110, 51, 30, 32, 26, 45,
+  69, 200, 247, 251, 240, 240, 246, 243, 252, 254, 245, 254, 241, 240, 45, 127,
+  111, 101, 87, 106, 110, 96, 101, 100, 98, 117, 122, 126, 106, 119, 139, 209,
+  240, 246, 199, 168, 71, 42, 57, 44, 43, 38, 41, 42, 7, 71, 59, 120,
+  150, 154, 137, 117, 155, 233, 235, 228, 241, 84, 75, 41, 25, 46, 105, 245,
+  247, 243, 250, 253, 238, 255, 254, 238, 231, 242, 170, 255, 232, 234, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 205, 147, 78, 87, 143, 197, 203, 241, 186, 73, 88, 112, 86, 104, 75,
+  68, 107, 100, 64, 45, 243, 228, 15, 79, 44, 183, 197, 244, 212, 88, 115,
+  71, 63, 87, 59, 149, 221, 216, 232, 252, 202, 44, 188, 221, 199, 176, 162,
+  68, 203, 241, 238, 253, 254, 232, 243, 244, 247, 239, 255, 251, 254, 117, 78,
+  105, 108, 92, 84, 102, 97, 104, 91, 74, 85, 68, 82, 123, 121, 66, 126,
+  129, 175, 254, 255, 228, 193, 208, 212, 215, 211, 213, 208, 252, 35, 71, 177,
+  174, 158, 98, 95, 53, 46, 228, 231, 227, 241, 235, 214, 130, 131, 231, 254,
+  243, 242, 255, 248, 255, 237, 234, 255, 250, 247, 235, 244, 223, 170, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204,
+  110, 120, 112, 122, 167, 218, 228, 247, 158, 80, 90, 121, 114, 99, 115, 123,
+  99, 126, 104, 68, 127, 213, 58, 112, 87, 118, 213, 171, 75, 73, 60, 61,
+  77, 98, 59, 97, 203, 195, 206, 247, 229, 161, 159, 224, 200, 204, 180, 168,
+  131, 248, 237, 253, 226, 255, 253, 244, 221, 255, 247, 244, 103, 70, 112, 118,
+  110, 85, 138, 208, 188, 137, 134, 139, 157, 202, 183, 132, 118, 109, 88, 106,
+  65, 96, 103, 101, 247, 241, 245, 243, 233, 234, 236, 233, 215, 225, 197, 241,
+  213, 184, 186, 116, 90, 63, 158, 253, 240, 255, 230, 248, 168, 230, 255, 252,
+  223, 255, 202, 203, 194, 156, 192, 222, 246, 255, 255, 252, 255, 182, 194, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 104,
+  117, 86, 85, 244, 231, 255, 183, 104, 73, 108, 95, 106, 99, 105, 99, 116,
+  105, 119, 90, 107, 218, 32, 52, 67, 149, 170, 42, 93, 52, 79, 83, 90,
+  91, 103, 76, 148, 246, 227, 242, 248, 231, 182, 220, 211, 179, 204, 154, 183,
+  226, 246, 234, 246, 168, 210, 250, 243, 246, 237, 120, 147, 192, 197, 104, 99,
+  108, 91, 105, 119, 120, 124, 201, 239, 234, 234, 171, 114, 93, 98, 134, 154,
+  110, 117, 59, 29, 255, 255, 250, 251, 242, 238, 230, 230, 248, 216, 227, 203,
+  221, 192, 202, 165, 69, 56, 199, 223, 181, 25, 121, 87, 32, 96, 85, 64,
+  50, 99, 28, 67, 54, 52, 104, 80, 69, 107, 186, 216, 242, 197, 183, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 129, 91, 86,
+  98, 63, 144, 238, 243, 198, 123, 71, 82, 111, 111, 108, 100, 114, 99, 93,
+  100, 85, 68, 172, 239, 45, 71, 83, 126, 80, 44, 42, 65, 91, 60, 115,
+  88, 88, 48, 181, 235, 238, 252, 238, 247, 224, 193, 192, 183, 165, 138, 193,
+  245, 231, 248, 244, 219, 231, 255, 232, 244, 177, 57, 149, 239, 255, 114, 115,
+  122, 109, 89, 95, 96, 123, 228, 245, 198, 200, 159, 107, 150, 127, 100, 119,
+  127, 128, 85, 53, 251, 239, 232, 233, 232, 210, 204, 220, 210, 238, 192, 132,
+  153, 166, 129, 124, 53, 31, 130, 165, 112, 48, 40, 46, 22, 29, 39, 13,
+  25, 47, 44, 17, 42, 47, 43, 52, 56, 68, 130, 192, 211, 228, 212, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 88, 76, 88, 115,
+  109, 109, 167, 198, 135, 55, 94, 90, 92, 85, 109, 113, 97, 118, 124, 97,
+  101, 47, 43, 229, 208, 51, 73, 94, 23, 46, 96, 80, 53, 81, 101, 93,
+  85, 109, 51, 244, 255, 243, 246, 254, 243, 217, 201, 204, 171, 120, 186, 209,
+  232, 249, 218, 226, 255, 203, 162, 55, 44, 36, 119, 255, 246, 233, 144, 132,
+  138, 140, 127, 140, 115, 112, 180, 137, 53, 89, 103, 105, 102, 92, 113, 129,
+  107, 87, 97, 62, 215, 226, 228, 207, 200, 164, 176, 193, 167, 101, 63, 31,
+  46, 16, 33, 23, 26, 31, 24, 24, 33, 38, 48, 31, 51, 44, 39, 47,
+  47, 38, 52, 47, 32, 47, 20, 39, 40, 36, 55, 79, 103, 209, 233, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 103, 80, 106, 76, 117,
+  181, 193, 202, 68, 88, 101, 75, 46, 88, 74, 61, 78, 92, 93, 116, 118,
+  62, 106, 93, 126, 84, 102, 91, 56, 71, 180, 242, 246, 9, 78, 72, 75,
+  255, 68, 48, 223, 205, 229, 215, 248, 217, 217, 63, 76, 79, 69, 231, 205,
+  225, 185, 245, 208, 186, 49, 31, 76, 126, 68, 169, 205, 204, 150, 109, 121,
+  114, 93, 107, 99, 85, 70, 62, 61, 66, 70, 72, 74, 70, 66, 64, 65,
+  65, 64, 63, 46, 33, 23, 25, 30, 30, 29, 32, 27, 26, 27, 28, 30,
+  33, 36, 37, 30, 34, 42, 47, 44, 38, 43, 55, 52, 52, 51, 49, 47,
+  47, 49, 51, 42, 43, 44, 45, 51, 57, 60, 62, 56, 88, 144, 189, 194,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 78, 74, 97, 51, 67, 179,
+  212, 241, 249, 206, 194, 202, 99, 65, 69, 75, 77, 85, 79, 85, 68, 99,
+  94, 84, 72, 84, 82, 99, 81, 145, 190, 250, 247, 255, 63, 80, 106, 171,
+  242, 37, 57, 115, 104, 191, 228, 240, 246, 122, 112, 119, 119, 93, 106, 91,
+  91, 91, 94, 116, 89, 74, 84, 77, 93, 66, 84, 85, 96, 79, 65, 79,
+  74, 56, 60, 64, 55, 46, 42, 45, 50, 53, 53, 62, 58, 55, 55, 56,
+  57, 57, 56, 46, 34, 26, 30, 36, 38, 37, 39, 37, 37, 35, 34, 35,
+  40, 44, 46, 44, 42, 46, 51, 53, 49, 51, 54, 53, 53, 53, 51, 48,
+  48, 48, 48, 43, 45, 47, 47, 47, 50, 53, 56, 56, 74, 117, 117, 101,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 79, 80, 93, 73, 134, 239,
+  232, 240, 239, 249, 251, 236, 81, 92, 103, 112, 87, 77, 67, 53, 36, 63,
+  92, 89, 101, 58, 69, 90, 95, 224, 236, 231, 202, 217, 59, 88, 122, 120,
+  107, 50, 72, 225, 217, 255, 253, 242, 251, 72, 130, 114, 130, 116, 67, 67,
+  63, 83, 50, 61, 33, 79, 81, 63, 51, 56, 26, 32, 39, 40, 40, 44,
+  46, 43, 41, 53, 49, 47, 47, 51, 55, 55, 54, 57, 55, 53, 53, 55,
+  57, 58, 57, 51, 42, 37, 41, 47, 48, 48, 48, 45, 44, 40, 39, 39,
+  43, 48, 51, 55, 49, 48, 55, 62, 62, 58, 54, 56, 56, 55, 55, 53,
+  51, 48, 46, 45, 47, 49, 47, 44, 43, 45, 49, 51, 69, 113, 186, 220,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 83, 93, 56, 179, 241, 252,
+  255, 252, 255, 253, 255, 161, 46, 100, 103, 89, 84, 77, 124, 139, 200, 139,
+  112, 109, 105, 93, 93, 87, 70, 131, 97, 58, 31, 92, 83, 110, 116, 123,
+  80, 149, 211, 250, 243, 202, 208, 231, 175, 77, 98, 84, 103, 90, 89, 75,
+  74, 69, 49, 53, 45, 54, 32, 55, 41, 44, 37, 46, 40, 44, 49, 42,
+  48, 54, 46, 45, 43, 43, 45, 48, 51, 50, 49, 58, 57, 55, 56, 57,
+  58, 58, 57, 59, 53, 50, 51, 54, 54, 52, 50, 52, 50, 47, 46, 47,
+  49, 52, 54, 56, 51, 50, 55, 63, 66, 63, 58, 62, 61, 62, 61, 60,
+  56, 50, 47, 48, 45, 45, 46, 44, 41, 41, 45, 37, 51, 60, 190, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 85, 75, 255, 255, 179,
+  206, 227, 243, 255, 252, 76, 68, 116, 82, 76, 178, 208, 232, 224, 253, 89,
+  84, 110, 132, 115, 125, 115, 91, 89, 107, 108, 95, 124, 128, 119, 100, 96,
+  82, 219, 236, 185, 146, 62, 116, 153, 57, 70, 73, 64, 64, 40, 69, 52,
+  53, 42, 42, 36, 52, 38, 24, 55, 50, 45, 55, 45, 31, 40, 51, 43,
+  48, 52, 35, 38, 37, 39, 41, 45, 48, 49, 49, 55, 53, 51, 51, 53,
+  54, 53, 52, 58, 56, 54, 53, 55, 56, 55, 52, 55, 55, 55, 55, 56,
+  56, 56, 56, 51, 54, 57, 60, 63, 67, 67, 66, 67, 67, 66, 67, 66,
+  61, 54, 49, 50, 41, 38, 42, 45, 44, 44, 47, 56, 62, 47, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 58, 139, 252, 198, 126,
+  143, 188, 189, 180, 207, 60, 89, 93, 61, 74, 210, 253, 247, 255, 237, 69,
+  110, 101, 123, 120, 112, 110, 120, 89, 107, 119, 121, 140, 95, 95, 107, 78,
+  91, 223, 184, 134, 106, 39, 77, 70, 31, 65, 60, 53, 49, 35, 43, 50,
+  45, 51, 43, 33, 44, 42, 49, 39, 38, 51, 46, 53, 33, 33, 39, 33,
+  39, 46, 36, 38, 39, 42, 46, 49, 53, 56, 57, 53, 51, 51, 51, 52,
+  53, 51, 49, 50, 51, 50, 49, 51, 56, 57, 52, 52, 54, 54, 55, 56,
+  55, 53, 52, 53, 60, 66, 65, 66, 68, 70, 72, 72, 70, 68, 69, 69,
+  65, 59, 52, 49, 41, 36, 42, 45, 44, 48, 55, 48, 48, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 160, 167, 92, 49,
+  26, 43, 18, 4, 47, 23, 42, 51, 73, 101, 169, 137, 128, 160, 123, 50,
+  83, 65, 74, 76, 59, 70, 96, 82, 67, 66, 72, 54, 76, 62, 72, 79,
+  52, 52, 58, 39, 63, 60, 70, 58, 67, 76, 46, 52, 55, 49, 44, 48,
+  37, 42, 25, 43, 41, 43, 50, 32, 22, 49, 38, 62, 48, 41, 41, 35,
+  36, 43, 44, 32, 34, 39, 43, 45, 46, 48, 48, 51, 50, 50, 51, 55,
+  56, 54, 54, 50, 53, 52, 47, 49, 56, 57, 53, 55, 54, 55, 55, 55,
+  56, 55, 55, 58, 65, 69, 66, 66, 69, 71, 71, 73, 72, 69, 69, 70,
+  67, 61, 54, 47, 42, 41, 45, 42, 40, 50, 66, 72, 131, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 68, 33, 44,
+  44, 55, 40, 45, 18, 52, 34, 33, 40, 43, 41, 40, 42, 50, 44, 57,
+  35, 47, 48, 47, 62, 71, 52, 66, 62, 62, 46, 49, 52, 46, 55, 45,
+  60, 53, 64, 66, 76, 71, 59, 66, 47, 71, 53, 44, 53, 37, 50, 37,
+  39, 41, 42, 38, 42, 32, 34, 56, 29, 45, 39, 38, 40, 49, 57, 53,
+  41, 35, 37, 40, 44, 49, 53, 53, 50, 48, 47, 47, 48, 47, 50, 54,
+  56, 55, 54, 56, 60, 56, 50, 50, 56, 58, 53, 64, 63, 61, 60, 60,
+  62, 64, 65, 61, 66, 67, 64, 66, 70, 69, 64, 73, 70, 67, 67, 68,
+  67, 60, 55, 44, 44, 46, 47, 40, 35, 51, 74, 80, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 54, 47,
+  45, 47, 49, 43, 47, 47, 44, 43, 45, 45, 42, 44, 45, 44, 43, 41,
+  42, 45, 47, 58, 69, 59, 58, 71, 42, 52, 39, 40, 42, 43, 46, 47,
+  48, 50, 52, 59, 60, 61, 62, 62, 60, 58, 57, 51, 49, 47, 43, 42,
+  41, 40, 40, 37, 40, 43, 42, 38, 37, 38, 40, 36, 39, 38, 39, 48,
+  58, 54, 41, 52, 51, 52, 52, 52, 52, 50, 48, 53, 54, 53, 56, 57,
+  58, 55, 53, 55, 60, 64, 65, 61, 56, 53, 53, 63, 64, 64, 64, 63,
+  61, 59, 58, 64, 65, 66, 67, 67, 68, 69, 72, 72, 66, 75, 77, 66,
+  70, 70, 48, 39, 48, 56, 55, 45, 41, 57, 77, 164, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 54, 50,
+  49, 50, 52, 41, 44, 44, 41, 40, 42, 42, 39, 47, 47, 46, 44, 40,
+  40, 40, 41, 53, 67, 61, 54, 65, 40, 47, 31, 31, 34, 36, 39, 41,
+  43, 45, 47, 53, 54, 55, 55, 55, 54, 54, 53, 52, 51, 47, 44, 42,
+  40, 40, 41, 42, 42, 40, 41, 41, 41, 40, 37, 34, 37, 40, 42, 48,
+  56, 59, 57, 54, 57, 58, 55, 52, 49, 51, 54, 61, 59, 58, 59, 61,
+  63, 62, 61, 62, 64, 65, 64, 62, 60, 58, 58, 63, 64, 64, 65, 65,
+  64, 64, 63, 59, 62, 66, 70, 72, 75, 78, 81, 83, 75, 81, 81, 68,
+  70, 68, 48, 46, 47, 45, 43, 46, 56, 74, 85, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 188, 50,
+  48, 48, 48, 41, 44, 43, 40, 40, 42, 42, 39, 46, 47, 46, 45, 42,
+  40, 39, 40, 47, 63, 68, 56, 61, 46, 53, 31, 34, 37, 40, 42, 42,
+  42, 44, 46, 49, 50, 51, 51, 52, 52, 53, 53, 55, 53, 48, 44, 41,
+  40, 41, 41, 46, 42, 38, 39, 43, 44, 40, 35, 36, 36, 42, 47, 51,
+  52, 61, 68, 48, 58, 70, 74, 68, 61, 57, 57, 67, 66, 64, 64, 65,
+  66, 65, 64, 69, 67, 65, 64, 66, 66, 65, 64, 66, 67, 67, 68, 69,
+  70, 70, 71, 68, 71, 74, 77, 78, 79, 80, 82, 88, 82, 84, 84, 73,
+  73, 69, 54, 47, 57, 59, 52, 49, 55, 63, 64, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 47,
+  42, 40, 38, 42, 45, 44, 41, 41, 44, 44, 43, 40, 43, 44, 45, 43,
+  43, 42, 42, 38, 55, 73, 59, 62, 57, 63, 39, 41, 45, 47, 45, 42,
+  41, 42, 45, 53, 53, 52, 53, 54, 56, 57, 59, 58, 55, 48, 43, 40,
+  40, 41, 42, 45, 43, 40, 41, 42, 43, 41, 38, 44, 39, 44, 54, 56,
+  53, 58, 68, 73, 72, 67, 62, 58, 60, 67, 73, 67, 66, 66, 68, 69,
+  69, 68, 66, 73, 69, 66, 68, 71, 72, 69, 68, 72, 72, 70, 70, 71,
+  72, 73, 74, 71, 74, 77, 80, 81, 83, 85, 88, 86, 84, 83, 82, 80,
+  78, 72, 65, 59, 83, 92, 73, 51, 47, 52, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 46,
+  42, 39, 37, 42, 45, 44, 40, 40, 44, 45, 44, 38, 41, 43, 45, 44,
+  43, 44, 44, 36, 48, 79, 64, 62, 61, 67, 42, 39, 42, 43, 40, 36,
+  36, 39, 44, 59, 59, 57, 56, 56, 59, 61, 63, 60, 57, 50, 43, 39,
+  40, 41, 44, 42, 43, 44, 42, 39, 40, 42, 44, 47, 42, 47, 58, 64,
+  60, 59, 63, 72, 71, 69, 70, 71, 68, 62, 57, 62, 62, 63, 67, 70,
+  73, 70, 69, 74, 72, 71, 74, 77, 76, 72, 69, 75, 73, 71, 69, 68,
+  69, 69, 71, 60, 64, 70, 76, 82, 89, 96, 101, 90, 89, 83, 82, 86,
+  82, 74, 73, 74, 94, 98, 76, 53, 49, 54, 54, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 48,
+  46, 45, 44, 41, 43, 42, 38, 38, 43, 44, 42, 43, 45, 46, 45, 44,
+  44, 45, 46, 41, 43, 85, 74, 64, 62, 65, 44, 43, 45, 44, 40, 35,
+  37, 44, 51, 65, 63, 60, 58, 57, 59, 61, 65, 63, 58, 50, 42, 38,
+  38, 41, 44, 40, 43, 45, 43, 40, 40, 44, 49, 49, 47, 53, 63, 70,
+  70, 66, 65, 61, 62, 67, 78, 87, 87, 79, 71, 67, 66, 64, 65, 68,
+  71, 72, 71, 71, 70, 71, 73, 73, 72, 69, 67, 69, 69, 67, 65, 63,
+  62, 60, 61, 55, 59, 63, 68, 74, 82, 91, 96, 95, 95, 84, 82, 86,
+  78, 67, 72, 61, 69, 71, 65, 60, 56, 45, 31, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 47,
+  47, 47, 47, 42, 44, 42, 38, 39, 45, 46, 44, 46, 46, 48, 47, 47,
+  48, 51, 53, 47, 42, 93, 86, 72, 67, 66, 52, 56, 57, 53, 45, 38,
+  39, 47, 56, 73, 71, 65, 61, 59, 60, 61, 65, 64, 60, 50, 42, 38,
+  38, 41, 45, 41, 41, 40, 40, 41, 43, 47, 50, 54, 61, 67, 68, 69,
+  72, 71, 69, 82, 71, 58, 55, 63, 81, 98, 108, 88, 82, 72, 65, 62,
+  63, 65, 66, 61, 62, 63, 61, 58, 58, 57, 59, 60, 60, 59, 58, 56,
+  54, 51, 51, 55, 56, 57, 57, 61, 68, 76, 82, 93, 93, 78, 73, 79,
+  68, 54, 64, 47, 46, 47, 54, 63, 68, 65, 61, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 46, 44,
+  43, 43, 43, 45, 47, 45, 42, 43, 48, 50, 49, 44, 46, 47, 49, 50,
+  54, 60, 63, 50, 40, 98, 95, 80, 75, 74, 64, 69, 68, 60, 48, 38,
+  36, 43, 52, 79, 75, 69, 63, 61, 61, 64, 67, 64, 60, 50, 41, 37,
+  38, 41, 44, 43, 39, 36, 39, 44, 48, 49, 47, 61, 75, 79, 71, 66,
+  69, 72, 69, 69, 70, 73, 74, 74, 73, 72, 70, 113, 100, 82, 65, 56,
+  54, 56, 58, 52, 53, 52, 48, 43, 43, 46, 51, 52, 52, 52, 52, 51,
+  48, 45, 44, 46, 46, 46, 49, 54, 63, 74, 82, 84, 86, 69, 64, 73,
+  59, 45, 57, 58, 50, 41, 44, 58, 86, 123, 152, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 42, 43,
+  44, 44, 43, 46, 41, 41, 46, 47, 44, 45, 50, 39, 46, 51, 49, 47,
+  51, 63, 75, 47, 33, 76, 107, 77, 75, 84, 56, 71, 66, 64, 60, 44,
+  30, 36, 53, 71, 61, 64, 67, 59, 56, 63, 66, 75, 59, 46, 46, 43,
+  37, 38, 45, 36, 39, 41, 41, 41, 45, 50, 55, 59, 72, 77, 70, 69,
+  76, 79, 75, 70, 71, 71, 73, 75, 75, 72, 69, 82, 111, 114, 75, 44,
+  48, 58, 56, 50, 57, 52, 47, 51, 42, 36, 52, 49, 36, 38, 52, 46,
+  45, 52, 36, 39, 30, 49, 56, 41, 54, 77, 71, 76, 70, 62, 79, 57,
+  36, 58, 46, 59, 43, 50, 42, 46, 85, 101, 100, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 42, 41, 42,
+  43, 42, 42, 44, 41, 40, 44, 45, 44, 45, 50, 44, 52, 60, 61, 58,
+  61, 70, 79, 65, 51, 80, 105, 90, 88, 92, 69, 73, 68, 68, 67, 56,
+  45, 51, 65, 84, 73, 74, 78, 70, 69, 74, 73, 67, 53, 43, 43, 43,
+  39, 40, 47, 46, 48, 49, 49, 50, 53, 60, 65, 69, 80, 85, 79, 77,
+  83, 85, 82, 79, 78, 77, 78, 78, 77, 75, 72, 68, 55, 79, 126, 129,
+  82, 50, 55, 55, 25, 35, 48, 40, 41, 65, 37, 35, 61, 60, 43, 38,
+  36, 61, 37, 41, 59, 53, 53, 52, 44, 62, 89, 67, 51, 50, 38, 24,
+  37, 41, 30, 61, 32, 33, 45, 50, 38, 36, 72, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 43, 42, 42,
+  43, 42, 41, 43, 41, 39, 43, 43, 45, 48, 52, 51, 60, 69, 73, 71,
+  72, 76, 82, 75, 63, 73, 89, 93, 95, 89, 72, 74, 69, 70, 72, 69,
+  62, 67, 77, 88, 76, 77, 81, 76, 75, 77, 72, 64, 52, 45, 46, 46,
+  43, 42, 47, 48, 49, 50, 51, 52, 56, 62, 67, 74, 82, 86, 81, 80,
+  85, 86, 82, 84, 80, 77, 75, 75, 74, 71, 69, 67, 76, 69, 60, 89,
+  133, 135, 106, 58, 102, 80, 44, 67, 43, 51, 47, 35, 39, 27, 34, 61,
+  38, 44, 42, 23, 54, 47, 41, 35, 44, 77, 72, 92, 83, 119, 115, 102,
+  108, 87, 91, 65, 127, 130, 78, 94, 125, 100, 87, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 47, 46, 46, 45,
+  44, 42, 42, 43, 42, 42, 44, 47, 50, 54, 57, 61, 67, 75, 80, 80,
+  79, 82, 84, 78, 71, 64, 74, 93, 95, 80, 69, 72, 67, 68, 72, 72,
+  70, 72, 79, 86, 75, 76, 80, 76, 77, 75, 65, 68, 59, 51, 52, 51,
+  47, 46, 47, 50, 50, 51, 52, 54, 59, 65, 68, 78, 82, 84, 82, 82,
+  86, 87, 82, 87, 83, 77, 73, 71, 69, 68, 68, 73, 69, 61, 58, 79,
+  112, 132, 134, 122, 75, 44, 54, 71, 37, 64, 40, 43, 48, 38, 35, 59,
+  65, 35, 62, 57, 30, 37, 66, 36, 57, 121, 86, 94, 88, 120, 130, 104,
+  76, 75, 115, 120, 173, 170, 133, 145, 129, 89, 116, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 47, 49, 49, 47,
+  44, 43, 41, 45, 47, 49, 51, 55, 61, 66, 68, 74, 78, 82, 84, 84,
+  85, 87, 89, 84, 81, 69, 74, 97, 100, 82, 75, 72, 69, 69, 70, 71,
+  72, 73, 76, 87, 79, 80, 84, 81, 82, 78, 65, 68, 61, 54, 54, 54,
+  51, 50, 50, 56, 55, 57, 60, 63, 68, 72, 74, 84, 85, 85, 85, 87,
+  91, 89, 84, 92, 86, 80, 76, 74, 72, 71, 70, 69, 59, 66, 87, 88,
+  69, 68, 84, 116, 104, 79, 49, 35, 26, 57, 31, 29, 16, 32, 46, 37,
+  52, 32, 175, 132, 78, 102, 163, 120, 82, 107, 86, 66, 55, 37, 49, 44,
+  35, 87, 140, 167, 161, 140, 130, 126, 57, 27, 161, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 43, 46, 50, 52, 51,
+  48, 46, 45, 50, 55, 59, 62, 69, 77, 82, 80, 90, 90, 91, 91, 92,
+  93, 94, 94, 86, 87, 79, 79, 94, 99, 89, 84, 77, 75, 74, 71, 71,
+  72, 74, 76, 84, 80, 85, 87, 83, 84, 80, 67, 63, 57, 52, 51, 52,
+  54, 54, 53, 56, 56, 59, 63, 68, 72, 74, 74, 85, 82, 80, 83, 89,
+  92, 90, 85, 88, 83, 78, 75, 74, 73, 72, 72, 70, 84, 79, 60, 58,
+  72, 67, 45, 52, 134, 142, 88, 56, 38, 19, 34, 61, 37, 45, 42, 35,
+  69, 67, 219, 255, 237, 209, 184, 134, 73, 44, 51, 89, 88, 51, 70, 106,
+  121, 150, 149, 91, 87, 68, 42, 39, 27, 43, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 198, 61, 41, 45, 54, 59, 59,
+  57, 55, 56, 55, 62, 70, 74, 82, 92, 96, 95, 99, 97, 97, 98, 99,
+  98, 96, 93, 85, 87, 84, 81, 82, 90, 93, 90, 81, 81, 79, 74, 71,
+  72, 76, 79, 80, 82, 90, 91, 84, 86, 84, 70, 66, 61, 55, 51, 52,
+  56, 56, 54, 52, 53, 56, 62, 68, 72, 70, 69, 85, 81, 78, 84, 92,
+  96, 91, 86, 81, 78, 76, 75, 75, 75, 74, 73, 75, 72, 70, 72, 75,
+  74, 66, 58, 58, 18, 66, 136, 113, 108, 48, 29, 22, 46, 53, 32, 115,
+  219, 237, 252, 207, 138, 79, 27, 26, 45, 55, 112, 160, 148, 123, 141, 188,
+  183, 126, 72, 63, 39, 42, 46, 51, 73, 133, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 86, 65, 41, 48, 58, 65, 66,
+  65, 65, 66, 57, 66, 74, 81, 89, 101, 105, 102, 100, 98, 98, 100, 101,
+  99, 94, 90, 85, 87, 89, 83, 74, 85, 97, 96, 82, 83, 81, 74, 69,
+  70, 77, 80, 82, 87, 97, 98, 89, 91, 89, 76, 74, 68, 60, 53, 53,
+  56, 56, 53, 50, 52, 55, 63, 70, 71, 70, 67, 90, 84, 82, 89, 99,
+  103, 98, 93, 84, 82, 80, 80, 81, 81, 81, 81, 73, 75, 74, 70, 68,
+  70, 71, 70, 44, 44, 48, 79, 127, 199, 84, 34, 57, 28, 33, 89, 221,
+  236, 255, 239, 201, 47, 21, 44, 51, 53, 55, 121, 206, 162, 146, 162, 209,
+  193, 95, 51, 55, 41, 58, 54, 51, 101, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 75, 73, 130, 111, 111, 86, 68, 83,
+  94, 81, 70, 65, 69, 82, 89, 90, 102, 109, 100, 108, 92, 97, 107, 102,
+  95, 96, 96, 95, 94, 91, 88, 84, 81, 79, 77, 91, 90, 83, 70, 65,
+  71, 79, 82, 92, 94, 95, 95, 92, 88, 84, 81, 74, 76, 76, 70, 63,
+  58, 58, 59, 43, 49, 56, 60, 61, 66, 74, 82, 83, 94, 100, 98, 96,
+  99, 97, 91, 89, 90, 90, 90, 88, 84, 80, 77, 80, 84, 85, 81, 78,
+  78, 73, 68, 85, 36, 66, 52, 51, 67, 172, 205, 27, 53, 183, 250, 249,
+  247, 232, 120, 65, 30, 56, 55, 33, 57, 89, 114, 146, 78, 107, 127, 86,
+  63, 49, 46, 48, 51, 55, 60, 77, 194, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 202, 101, 117, 167, 183, 171, 156, 125, 93,
+  97, 103, 89, 85, 79, 91, 106, 106, 108, 115, 114, 102, 89, 94, 106, 102,
+  99, 101, 101, 100, 99, 95, 92, 88, 85, 83, 81, 78, 82, 84, 78, 78,
+  82, 86, 87, 93, 95, 94, 94, 90, 86, 83, 82, 77, 76, 73, 71, 70,
+  68, 65, 64, 57, 61, 64, 66, 65, 68, 74, 80, 83, 89, 91, 88, 89,
+  96, 100, 100, 93, 95, 95, 94, 91, 87, 83, 83, 81, 86, 85, 80, 78,
+  77, 74, 69, 59, 72, 75, 37, 65, 52, 112, 180, 152, 189, 250, 222, 117,
+  81, 82, 21, 68, 49, 49, 43, 53, 69, 76, 109, 114, 44, 49, 67, 58,
+  56, 44, 36, 56, 36, 49, 104, 170, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 96, 132, 156, 169, 195, 193, 181, 188, 162, 106,
+  109, 133, 117, 99, 85, 94, 114, 113, 107, 113, 119, 105, 93, 98, 109, 105,
+  103, 106, 104, 100, 98, 95, 92, 87, 84, 82, 80, 68, 74, 78, 78, 80,
+  84, 88, 88, 96, 97, 95, 93, 88, 84, 83, 83, 81, 77, 74, 74, 77,
+  78, 75, 71, 71, 73, 74, 73, 70, 71, 76, 80, 83, 87, 89, 89, 90,
+  96, 101, 102, 95, 99, 100, 99, 95, 90, 89, 90, 88, 91, 88, 82, 77,
+  76, 73, 68, 71, 58, 65, 44, 53, 31, 74, 107, 100, 163, 207, 151, 38,
+  27, 52, 46, 49, 54, 44, 47, 87, 84, 52, 73, 71, 49, 51, 47, 43,
+  56, 53, 46, 39, 48, 97, 215, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 125, 125, 161, 182, 180, 186, 194, 188, 195, 172, 123,
+  113, 117, 97, 104, 91, 97, 110, 109, 105, 109, 111, 112, 101, 106, 114, 108,
+  106, 108, 104, 100, 99, 96, 93, 88, 85, 83, 82, 75, 76, 76, 77, 78,
+  84, 89, 90, 97, 99, 97, 92, 86, 82, 83, 84, 82, 80, 77, 77, 78,
+  80, 79, 78, 78, 78, 77, 76, 74, 76, 80, 83, 83, 89, 96, 99, 99,
+  99, 98, 96, 96, 100, 102, 101, 96, 92, 92, 94, 95, 97, 91, 83, 78,
+  75, 71, 66, 59, 39, 60, 48, 42, 55, 98, 81, 97, 135, 135, 101, 36,
+  43, 46, 47, 40, 51, 47, 60, 98, 90, 52, 48, 40, 64, 71, 51, 47,
+  56, 53, 46, 38, 107, 198, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 124, 127, 150, 183, 197, 190, 189, 202, 205, 193, 174, 163,
+  145, 123, 109, 111, 106, 109, 111, 107, 114, 116, 106, 112, 103, 107, 114, 108,
+  108, 110, 104, 105, 104, 102, 99, 96, 93, 90, 89, 83, 82, 84, 87, 89,
+  91, 92, 94, 97, 99, 97, 92, 84, 81, 83, 87, 80, 83, 82, 81, 78,
+  77, 80, 83, 80, 80, 79, 79, 78, 82, 86, 89, 90, 93, 98, 101, 100,
+  95, 93, 92, 95, 98, 99, 99, 96, 94, 94, 95, 94, 95, 92, 85, 81,
+  80, 76, 72, 57, 63, 65, 44, 59, 76, 91, 77, 53, 56, 31, 28, 19,
+  41, 39, 51, 59, 51, 53, 68, 78, 85, 83, 59, 36, 43, 35, 37, 44,
+  39, 43, 58, 94, 183, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 130, 143, 145, 191, 214, 214, 201, 194, 196, 199, 181, 172, 187,
+  182, 161, 156, 121, 117, 117, 112, 109, 118, 121, 106, 106, 98, 104, 111, 107,
+  111, 113, 106, 104, 103, 102, 100, 97, 95, 92, 92, 82, 82, 89, 97, 102,
+  98, 92, 91, 96, 99, 98, 92, 84, 81, 83, 88, 80, 83, 85, 81, 77,
+  76, 80, 85, 84, 83, 81, 81, 82, 86, 90, 93, 97, 94, 94, 94, 92,
+  89, 91, 96, 97, 97, 96, 97, 98, 97, 97, 96, 90, 93, 93, 89, 87,
+  88, 86, 82, 81, 23, 22, 65, 86, 73, 67, 61, 51, 50, 36, 37, 39,
+  43, 44, 62, 58, 44, 58, 79, 67, 83, 106, 67, 63, 47, 34, 58, 60,
+  44, 90, 155, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 215, 122, 142, 163, 163, 207, 210, 205, 193, 184, 199, 194, 188, 182, 176,
+  175, 172, 165, 129, 117, 114, 116, 113, 114, 117, 109, 106, 100, 106, 111, 108,
+  113, 116, 108, 102, 102, 100, 99, 97, 95, 94, 93, 87, 86, 90, 101, 104,
+  98, 92, 92, 93, 98, 98, 94, 85, 81, 84, 89, 84, 84, 82, 80, 79,
+  81, 84, 86, 88, 85, 81, 80, 81, 84, 86, 89, 93, 90, 91, 94, 94,
+  91, 94, 101, 101, 98, 95, 98, 102, 104, 101, 98, 93, 97, 98, 96, 94,
+  95, 92, 88, 77, 39, 49, 96, 109, 93, 72, 53, 32, 39, 47, 42, 48,
+  38, 42, 49, 46, 44, 58, 80, 68, 86, 115, 78, 34, 37, 32, 50, 45,
+  50, 127, 215, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 157, 144, 182, 203, 184, 207, 193, 196, 201, 198, 186, 176, 196, 198, 164,
+  167, 185, 171, 137, 114, 110, 121, 117, 111, 112, 114, 112, 108, 113, 115, 111,
+  115, 117, 108, 105, 105, 103, 103, 101, 100, 99, 100, 105, 98, 96, 102, 103,
+  100, 98, 101, 92, 97, 99, 95, 86, 82, 84, 90, 86, 83, 78, 78, 82,
+  87, 87, 86, 89, 86, 80, 76, 76, 78, 79, 81, 85, 85, 93, 102, 104,
+  99, 98, 103, 105, 100, 96, 99, 106, 109, 105, 100, 100, 104, 105, 101, 98,
+  96, 92, 86, 73, 209, 197, 112, 120, 117, 51, 29, 41, 39, 46, 30, 49,
+  48, 57, 45, 56, 59, 54, 65, 66, 88, 127, 106, 60, 84, 79, 82, 93,
+  138, 209, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  179, 179, 184, 205, 200, 196, 196, 196, 195, 191, 188, 187, 182, 184, 189, 175,
+  159, 169, 192, 165, 113, 120, 100, 138, 124, 124, 103, 115, 119, 111, 105, 115,
+  120, 116, 119, 117, 105, 101, 110, 112, 104, 103, 112, 108, 100, 99, 108, 110,
+  102, 98, 101, 91, 92, 92, 90, 92, 93, 88, 82, 87, 86, 82, 80, 83,
+  88, 89, 87, 90, 89, 85, 80, 79, 83, 85, 86, 86, 90, 92, 90, 92,
+  98, 102, 103, 104, 102, 96, 93, 100, 110, 108, 100, 89, 85, 84, 90, 103,
+  108, 93, 75, 87, 197, 125, 47, 72, 101, 16, 50, 50, 47, 44, 44, 48,
+  53, 57, 58, 61, 49, 72, 69, 68, 88, 93, 109, 84, 85, 121, 152, 206,
+  244, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  188, 196, 206, 204, 200, 198, 197, 198, 197, 193, 191, 202, 200, 196, 189, 176,
+  165, 162, 165, 180, 150, 128, 118, 108, 128, 118, 122, 113, 119, 114, 110, 120,
+  122, 117, 116, 119, 110, 105, 109, 109, 104, 102, 108, 103, 98, 100, 111, 113,
+  104, 100, 103, 99, 98, 95, 93, 96, 97, 89, 78, 86, 83, 81, 85, 87,
+  87, 87, 86, 89, 89, 86, 85, 84, 85, 85, 85, 85, 90, 92, 90, 91,
+  97, 101, 101, 101, 99, 93, 91, 98, 106, 105, 98, 87, 80, 83, 96, 104,
+  99, 92, 89, 95, 104, 139, 147, 53, 61, 59, 64, 53, 50, 47, 47, 50,
+  54, 56, 57, 66, 55, 74, 71, 69, 86, 89, 102, 119, 146, 197, 204, 215,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 197, 201, 202, 199, 197, 197, 198, 198, 195, 194, 181, 187, 188, 185, 187,
+  192, 187, 178, 171, 158, 126, 113, 92, 130, 115, 124, 112, 120, 118, 115, 125,
+  125, 117, 115, 120, 116, 111, 106, 105, 104, 102, 102, 101, 100, 105, 115, 112,
+  103, 99, 102, 97, 96, 91, 91, 94, 95, 86, 74, 80, 76, 78, 87, 90,
+  86, 85, 88, 89, 89, 87, 88, 87, 86, 85, 85, 84, 89, 91, 89, 89,
+  94, 98, 97, 97, 95, 90, 90, 96, 102, 101, 96, 87, 79, 85, 101, 104,
+  92, 92, 104, 97, 61, 107, 155, 68, 53, 54, 64, 48, 47, 47, 49, 53,
+  56, 56, 56, 65, 58, 74, 74, 71, 83, 88, 95, 115, 166, 236, 228, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 197, 197, 198, 197, 196, 196, 197, 197, 196, 196, 194, 195, 193, 189, 191,
+  192, 186, 176, 177, 165, 148, 120, 130, 148, 130, 116, 116, 125, 121, 118, 127,
+  128, 119, 118, 119, 118, 112, 104, 101, 104, 102, 98, 105, 105, 110, 114, 108,
+  99, 96, 99, 87, 89, 89, 88, 90, 91, 86, 78, 76, 70, 73, 84, 89,
+  84, 85, 93, 90, 87, 86, 88, 87, 84, 83, 86, 82, 88, 90, 88, 88,
+  92, 94, 93, 95, 93, 89, 90, 95, 99, 98, 95, 89, 87, 92, 101, 102,
+  96, 96, 103, 89, 71, 67, 83, 62, 59, 33, 47, 47, 47, 49, 53, 57,
+  61, 62, 60, 65, 64, 77, 80, 77, 89, 96, 96, 88, 142, 222, 222, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 239, 212, 200, 200, 200, 201, 200, 199, 200, 200, 207, 201, 198, 197, 193,
+  183, 180, 183, 179, 177, 168, 144, 149, 150, 119, 108, 124, 130, 123, 118, 126,
+  129, 122, 123, 117, 116, 109, 102, 99, 103, 103, 99, 106, 107, 110, 109, 104,
+  98, 98, 102, 86, 92, 94, 91, 88, 88, 87, 85, 83, 77, 78, 84, 86,
+  83, 87, 95, 92, 87, 82, 84, 83, 80, 82, 88, 82, 88, 90, 87, 87,
+  90, 91, 90, 94, 91, 89, 92, 96, 97, 97, 96, 93, 98, 100, 95, 97,
+  103, 100, 92, 83, 59, 68, 61, 21, 44, 50, 41, 53, 54, 56, 59, 63,
+  65, 65, 64, 69, 72, 79, 84, 83, 92, 104, 96, 88, 131, 214, 223, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 208, 203, 205, 206, 205, 203, 203, 204, 205, 197, 191, 193, 197, 194,
+  187, 192, 202, 167, 182, 170, 172, 147, 143, 100, 124, 130, 135, 125, 118, 126,
+  130, 125, 127, 117, 112, 104, 101, 99, 99, 100, 100, 103, 104, 104, 103, 101,
+  101, 102, 104, 90, 94, 93, 88, 83, 84, 83, 82, 93, 91, 90, 86, 84,
+  84, 87, 90, 94, 86, 80, 83, 81, 78, 81, 90, 84, 89, 91, 88, 86,
+  89, 89, 87, 94, 90, 89, 93, 96, 95, 95, 96, 96, 104, 102, 91, 93,
+  103, 97, 80, 81, 50, 67, 66, 32, 49, 62, 54, 55, 55, 55, 57, 60,
+  61, 59, 58, 66, 74, 73, 80, 79, 85, 101, 87, 94, 119, 203, 226, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 204, 206, 208, 206, 203, 201, 203, 204, 203, 203, 201, 194, 189,
+  188, 186, 185, 180, 187, 187, 192, 178, 146, 105, 142, 133, 138, 127, 121, 128,
+  131, 126, 128, 119, 108, 100, 101, 99, 93, 94, 100, 99, 100, 100, 100, 103,
+  104, 103, 100, 95, 93, 86, 81, 82, 87, 84, 79, 89, 97, 97, 87, 83,
+  87, 89, 84, 93, 85, 81, 87, 85, 79, 81, 89, 84, 90, 92, 89, 87,
+  88, 88, 86, 92, 88, 88, 94, 96, 93, 93, 96, 95, 99, 98, 92, 92,
+  94, 87, 77, 80, 61, 62, 62, 69, 66, 49, 56, 53, 52, 52, 54, 57,
+  60, 59, 59, 64, 74, 70, 79, 80, 87, 106, 88, 104, 98, 176, 219, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 203, 206, 205, 204, 200, 197, 199, 200, 196, 205, 202, 188, 188,
+  198, 194, 179, 196, 176, 194, 180, 207, 130, 98, 117, 133, 138, 128, 122, 129,
+  132, 125, 126, 121, 106, 98, 102, 99, 89, 88, 99, 100, 101, 100, 101, 103,
+  103, 98, 91, 102, 94, 82, 81, 91, 99, 95, 86, 77, 94, 96, 84, 81,
+  90, 91, 81, 92, 84, 83, 91, 90, 82, 81, 89, 85, 90, 92, 89, 87,
+  88, 88, 85, 91, 87, 87, 93, 95, 91, 91, 95, 94, 92, 93, 95, 91,
+  83, 77, 77, 78, 61, 75, 70, 63, 59, 47, 43, 52, 51, 52, 56, 63,
+  68, 71, 72, 69, 81, 75, 86, 89, 98, 122, 102, 125, 90, 154, 214, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 239, 206, 206, 205, 204, 204, 205, 206, 202, 195, 194, 199, 193,
+  182, 186, 200, 195, 188, 182, 184, 192, 188, 163, 137, 122, 138, 134, 123, 100,
+  143, 142, 111, 120, 110, 100, 99, 95, 85, 81, 85, 103, 102, 98, 96, 96,
+  99, 99, 97, 97, 91, 84, 83, 85, 86, 85, 82, 84, 84, 85, 88, 91,
+  90, 84, 80, 87, 89, 86, 80, 79, 86, 87, 84, 89, 89, 87, 86, 84,
+  85, 88, 91, 80, 85, 89, 90, 88, 88, 91, 94, 92, 91, 88, 84, 79,
+  76, 77, 78, 58, 59, 58, 58, 56, 52, 50, 51, 59, 59, 54, 58, 71,
+  73, 74, 85, 86, 82, 69, 98, 89, 87, 133, 110, 111, 105, 101, 197, 211,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 209, 208, 207, 205, 205, 204, 205, 205, 200, 199, 202, 198,
+  191, 192, 200, 193, 188, 183, 185, 192, 190, 169, 147, 138, 126, 122, 141, 120,
+  131, 126, 124, 116, 105, 97, 97, 92, 84, 81, 87, 93, 95, 96, 96, 97,
+  99, 100, 100, 85, 85, 85, 84, 82, 82, 82, 83, 84, 83, 84, 86, 88,
+  88, 83, 79, 83, 86, 86, 82, 82, 86, 86, 82, 84, 85, 87, 87, 85,
+  84, 85, 86, 87, 87, 88, 89, 91, 92, 91, 90, 88, 87, 85, 82, 78,
+  75, 74, 75, 74, 67, 62, 60, 53, 45, 42, 45, 46, 53, 55, 60, 70,
+  69, 72, 85, 93, 92, 87, 107, 102, 100, 129, 118, 122, 114, 104, 182, 219,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 241, 211, 209, 206, 205, 203, 203, 205, 204, 201, 201, 200,
+  199, 195, 192, 189, 187, 185, 185, 191, 190, 176, 160, 150, 125, 118, 143, 130,
+  121, 114, 123, 113, 101, 95, 95, 91, 84, 82, 88, 86, 91, 97, 99, 98,
+  96, 97, 99, 87, 92, 96, 96, 92, 89, 91, 93, 82, 82, 82, 84, 86,
+  85, 81, 79, 79, 83, 85, 84, 84, 86, 84, 80, 81, 83, 87, 87, 86,
+  83, 82, 82, 90, 87, 85, 86, 90, 91, 88, 83, 83, 83, 83, 81, 76,
+  73, 71, 71, 68, 58, 54, 59, 57, 49, 50, 58, 57, 68, 73, 79, 84,
+  82, 84, 99, 105, 106, 109, 116, 115, 113, 121, 126, 122, 109, 89, 139, 217,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 213, 210, 208, 206, 203, 202, 203, 203, 200, 197, 198,
+  201, 193, 183, 187, 188, 186, 184, 187, 187, 179, 169, 158, 146, 132, 130, 122,
+  125, 120, 114, 113, 102, 95, 95, 91, 83, 82, 87, 87, 92, 99, 102, 97,
+  90, 88, 91, 82, 85, 87, 86, 83, 81, 82, 84, 83, 82, 82, 83, 84,
+  83, 82, 81, 79, 81, 83, 83, 84, 84, 82, 80, 82, 84, 86, 86, 84,
+  83, 82, 83, 84, 82, 81, 83, 85, 86, 83, 81, 80, 81, 82, 79, 74,
+  69, 66, 66, 55, 44, 45, 59, 63, 56, 57, 68, 62, 70, 72, 76, 83,
+  80, 81, 94, 95, 99, 108, 107, 114, 116, 112, 130, 138, 122, 98, 115, 213,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 241, 211, 208, 205, 202, 200, 202, 202, 198, 196, 198,
+  199, 190, 179, 186, 187, 186, 183, 183, 183, 179, 172, 172, 169, 148, 120, 119,
+  125, 124, 115, 115, 104, 96, 96, 91, 83, 81, 86, 86, 90, 97, 102, 96,
+  85, 83, 87, 90, 86, 82, 80, 81, 82, 81, 80, 83, 84, 84, 83, 82,
+  83, 82, 83, 81, 80, 80, 82, 82, 82, 82, 84, 86, 86, 86, 84, 82,
+  82, 83, 86, 76, 79, 82, 82, 81, 80, 82, 84, 80, 81, 80, 76, 70,
+  65, 61, 60, 58, 49, 50, 61, 64, 53, 48, 52, 66, 68, 65, 69, 80,
+  81, 81, 92, 82, 84, 93, 94, 103, 107, 104, 122, 128, 121, 110, 117, 221,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 213, 209, 205, 201, 201, 206, 202, 198, 199, 199,
+  196, 188, 181, 185, 186, 185, 181, 181, 182, 178, 173, 182, 171, 151, 122, 126,
+  114, 116, 121, 115, 104, 96, 96, 92, 82, 80, 85, 83, 83, 90, 97, 95,
+  86, 84, 90, 100, 94, 87, 85, 87, 89, 88, 86, 84, 84, 84, 82, 80,
+  81, 83, 85, 82, 79, 79, 82, 83, 81, 83, 86, 87, 87, 85, 83, 80,
+  81, 83, 86, 74, 79, 83, 83, 80, 79, 82, 85, 76, 77, 75, 71, 65,
+  60, 57, 57, 60, 56, 56, 61, 61, 53, 43, 39, 64, 64, 59, 64, 77,
+  78, 79, 89, 90, 88, 88, 95, 95, 92, 96, 98, 113, 105, 103, 114, 216,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 212, 209, 205, 201, 200, 207, 199, 196, 201, 200,
+  190, 184, 185, 184, 184, 183, 180, 182, 185, 181, 174, 176, 173, 160, 130, 137,
+  113, 113, 121, 111, 100, 93, 94, 91, 83, 80, 86, 83, 79, 82, 92, 93,
+  87, 86, 92, 84, 82, 80, 79, 78, 79, 78, 78, 82, 83, 82, 80, 78,
+  78, 81, 85, 81, 78, 80, 86, 87, 83, 82, 85, 84, 85, 85, 83, 81,
+  80, 80, 82, 77, 78, 80, 80, 79, 79, 79, 79, 70, 69, 68, 64, 59,
+  56, 55, 57, 54, 56, 58, 57, 59, 60, 52, 41, 45, 49, 46, 48, 56,
+  52, 52, 62, 74, 71, 66, 90, 87, 80, 99, 78, 106, 92, 99, 123, 213,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 241, 209, 206, 201, 200, 208, 196, 194, 200, 197,
+  184, 180, 187, 182, 183, 181, 180, 184, 187, 184, 176, 169, 184, 179, 140, 149,
+  130, 127, 122, 107, 97, 90, 92, 90, 83, 81, 87, 86, 78, 79, 89, 92,
+  86, 85, 92, 79, 83, 86, 85, 82, 80, 81, 83, 81, 82, 81, 78, 75,
+  76, 80, 84, 78, 77, 81, 89, 90, 84, 81, 83, 80, 82, 85, 84, 82,
+  79, 78, 77, 80, 77, 74, 75, 78, 78, 74, 70, 64, 64, 62, 58, 55,
+  54, 56, 57, 54, 59, 59, 53, 56, 63, 57, 43, 45, 53, 52, 51, 51,
+  42, 39, 51, 27, 29, 28, 74, 77, 75, 110, 78, 55, 53, 87, 145, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 206, 207, 204, 200, 209, 204, 200, 197, 189,
+  181, 180, 186, 181, 183, 183, 180, 181, 182, 179, 173, 168, 168, 168, 164, 148,
+  131, 122, 121, 111, 103, 100, 89, 85, 87, 81, 86, 78, 80, 82, 84, 86,
+  88, 88, 89, 79, 77, 78, 83, 85, 82, 80, 80, 86, 79, 75, 79, 81,
+  80, 79, 80, 79, 82, 87, 91, 92, 90, 86, 83, 75, 77, 78, 80, 79,
+  77, 75, 73, 86, 82, 78, 77, 78, 76, 69, 63, 60, 62, 63, 62, 61,
+  60, 61, 63, 55, 61, 66, 65, 59, 55, 55, 59, 56, 46, 63, 43, 57,
+  61, 57, 41, 71, 123, 97, 49, 41, 44, 50, 48, 67, 165, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 214, 200, 202, 202, 208, 201, 195, 193, 187,
+  181, 180, 185, 181, 183, 182, 180, 180, 182, 178, 172, 169, 167, 167, 164, 151,
+  134, 122, 120, 109, 101, 95, 86, 82, 81, 77, 79, 77, 79, 80, 83, 85,
+  86, 87, 88, 82, 76, 74, 76, 78, 78, 79, 82, 75, 72, 72, 78, 82,
+  83, 85, 89, 81, 82, 84, 86, 87, 87, 86, 85, 79, 80, 81, 81, 81,
+  79, 78, 77, 80, 76, 73, 74, 76, 75, 70, 65, 60, 58, 57, 58, 62,
+  63, 62, 60, 60, 63, 66, 65, 61, 58, 59, 61, 75, 55, 49, 59, 51,
+  49, 54, 61, 168, 194, 154, 105, 82, 60, 125, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 244, 205, 204, 201, 205, 197, 190, 187, 184,
+  182, 181, 182, 180, 182, 181, 179, 179, 181, 177, 171, 170, 166, 165, 165, 159,
+  145, 133, 130, 105, 99, 89, 83, 79, 76, 74, 73, 76, 77, 78, 80, 82,
+  84, 86, 86, 84, 75, 68, 68, 70, 72, 77, 83, 77, 75, 76, 80, 80,
+  78, 80, 86, 83, 82, 81, 81, 81, 83, 86, 88, 81, 81, 80, 80, 80,
+  79, 79, 79, 76, 73, 71, 71, 72, 71, 67, 63, 63, 58, 55, 57, 64,
+  66, 63, 58, 54, 55, 58, 59, 59, 60, 62, 63, 61, 53, 57, 68, 63,
+  65, 55, 171, 222, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 242, 210, 197, 202, 195, 187, 182, 182,
+  181, 181, 181, 179, 181, 180, 177, 178, 179, 176, 169, 172, 166, 162, 166, 165,
+  158, 149, 146, 103, 100, 85, 83, 80, 74, 76, 71, 74, 74, 75, 77, 79,
+  81, 83, 84, 82, 73, 66, 65, 66, 69, 74, 81, 79, 78, 80, 81, 78,
+  74, 75, 81, 83, 82, 80, 79, 80, 83, 85, 87, 79, 79, 78, 77, 76,
+  76, 77, 77, 78, 75, 71, 70, 69, 67, 63, 60, 65, 62, 59, 61, 65,
+  67, 64, 60, 66, 64, 64, 64, 65, 67, 68, 67, 69, 64, 82, 55, 74,
+  66, 34, 237, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 240, 201, 198, 194, 188, 183, 181,
+  181, 182, 182, 179, 181, 181, 178, 178, 179, 176, 169, 176, 166, 160, 161, 163,
+  160, 154, 152, 105, 105, 83, 85, 83, 74, 83, 73, 72, 72, 72, 73, 75,
+  78, 80, 82, 79, 72, 66, 67, 68, 69, 72, 76, 74, 74, 77, 80, 78,
+  75, 77, 83, 80, 80, 80, 81, 82, 83, 84, 84, 79, 78, 77, 76, 75,
+  76, 76, 76, 77, 74, 72, 69, 68, 66, 63, 61, 67, 67, 67, 66, 66,
+  65, 64, 65, 70, 67, 64, 62, 62, 62, 60, 58, 75, 59, 75, 51, 66,
+  45, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 194, 195, 192, 185, 179,
+  181, 183, 182, 180, 182, 182, 179, 179, 180, 177, 170, 179, 169, 160, 158, 157,
+  151, 146, 144, 112, 113, 82, 86, 83, 72, 86, 72, 69, 69, 69, 70, 72,
+  75, 78, 80, 78, 72, 69, 71, 72, 71, 71, 74, 78, 77, 78, 80, 78,
+  73, 72, 75, 77, 78, 79, 80, 81, 81, 81, 81, 78, 78, 78, 78, 77,
+  77, 76, 76, 72, 71, 69, 68, 67, 67, 67, 67, 64, 67, 68, 67, 65,
+  64, 64, 66, 61, 62, 64, 65, 67, 68, 70, 71, 65, 62, 73, 85, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 197, 198, 190, 180,
+  180, 183, 182, 181, 183, 182, 180, 180, 181, 177, 171, 177, 169, 162, 159, 155,
+  145, 139, 137, 120, 121, 82, 85, 81, 66, 84, 68, 68, 67, 67, 68, 70,
+  73, 76, 78, 80, 74, 72, 74, 75, 73, 73, 75, 84, 79, 78, 80, 79,
+  73, 68, 68, 74, 75, 75, 76, 77, 77, 78, 79, 75, 76, 77, 78, 77,
+  76, 74, 73, 70, 70, 68, 67, 65, 65, 66, 67, 60, 59, 59, 61, 63,
+  65, 65, 64, 69, 73, 77, 79, 78, 78, 80, 83, 73, 80, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 200, 203, 194, 183,
+  180, 183, 183, 181, 183, 182, 180, 180, 182, 179, 173, 173, 167, 165, 164, 158,
+  146, 138, 135, 125, 125, 81, 83, 78, 60, 80, 62, 66, 66, 66, 66, 68,
+  72, 75, 77, 82, 77, 73, 75, 76, 76, 75, 77, 76, 71, 71, 77, 81,
+  79, 75, 75, 74, 73, 72, 71, 72, 74, 76, 77, 71, 72, 74, 75, 75,
+  73, 71, 69, 72, 72, 69, 66, 63, 61, 62, 63, 56, 52, 50, 54, 61,
+  65, 64, 60, 64, 68, 71, 65, 56, 48, 46, 47, 62, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 236, 203, 204, 196, 184,
+  178, 183, 191, 184, 186, 170, 178, 181, 178, 147, 184, 174, 168, 178, 154, 146,
+  156, 135, 138, 113, 103, 89, 81, 77, 76, 74, 71, 73, 74, 73, 71, 68,
+  70, 74, 79, 77, 74, 73, 74, 77, 79, 78, 76, 73, 75, 77, 76, 75,
+  76, 73, 71, 69, 74, 77, 74, 69, 69, 75, 81, 71, 73, 74, 76, 76,
+  74, 72, 70, 71, 69, 66, 63, 60, 59, 58, 58, 57, 55, 47, 40, 44,
+  57, 59, 54, 62, 73, 79, 78, 57, 77, 50, 36, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 205, 199, 196,
+  192, 182, 175, 178, 177, 187, 190, 194, 155, 127, 163, 170, 177, 157, 161, 137,
+  141, 129, 127, 107, 99, 88, 82, 79, 77, 73, 70, 68, 67, 66, 62, 61,
+  62, 67, 72, 73, 71, 71, 74, 78, 80, 80, 79, 72, 74, 74, 73, 73,
+  73, 72, 71, 67, 70, 73, 71, 69, 68, 72, 75, 71, 71, 72, 72, 73,
+  72, 70, 69, 67, 66, 64, 62, 61, 61, 61, 63, 65, 58, 43, 36, 46,
+  60, 61, 52, 63, 65, 79, 69, 134, 169, 199, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 241, 203, 199,
+  195, 186, 179, 197, 181, 191, 175, 181, 136, 134, 179, 165, 180, 140, 172, 142,
+  142, 140, 138, 102, 95, 87, 82, 81, 78, 73, 67, 68, 67, 63, 59, 58,
+  59, 64, 68, 68, 67, 68, 70, 74, 76, 77, 76, 72, 71, 70, 70, 70,
+  69, 69, 70, 68, 69, 70, 71, 72, 72, 72, 71, 70, 70, 70, 69, 69,
+  68, 68, 68, 62, 62, 62, 61, 62, 63, 65, 66, 65, 62, 50, 38, 40,
+  51, 54, 50, 64, 55, 68, 47, 201, 231, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 241, 197,
+  188, 192, 198, 188, 180, 195, 188, 192, 162, 150, 175, 167, 168, 144, 163, 147,
+  140, 138, 140, 105, 97, 87, 82, 80, 77, 73, 68, 70, 67, 62, 57, 56,
+  58, 62, 65, 63, 64, 65, 66, 69, 70, 71, 72, 70, 67, 66, 67, 67,
+  66, 67, 70, 71, 70, 70, 72, 75, 75, 72, 69, 69, 68, 67, 66, 65,
+  65, 65, 65, 60, 60, 61, 61, 62, 63, 65, 66, 61, 68, 65, 47, 34,
+  36, 41, 46, 59, 44, 50, 38, 222, 238, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207,
+  191, 189, 194, 190, 188, 185, 184, 180, 190, 164, 168, 172, 149, 159, 140, 145,
+  128, 118, 122, 111, 100, 87, 79, 76, 75, 73, 69, 67, 63, 58, 54, 53,
+  54, 56, 58, 58, 59, 60, 63, 65, 68, 71, 74, 71, 66, 65, 68, 68,
+  65, 66, 71, 72, 70, 68, 71, 74, 74, 70, 66, 68, 67, 65, 64, 62,
+  63, 63, 63, 62, 62, 62, 63, 63, 63, 63, 63, 63, 69, 66, 52, 43,
+  44, 43, 39, 48, 41, 35, 52, 209, 236, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247,
+  210, 190, 173, 201, 193, 173, 165, 154, 188, 167, 161, 172, 144, 170, 133, 150,
+  133, 121, 122, 111, 100, 86, 77, 74, 73, 71, 68, 67, 64, 59, 56, 56,
+  58, 58, 58, 57, 58, 59, 60, 62, 68, 75, 78, 72, 66, 65, 70, 70,
+  66, 67, 73, 70, 68, 66, 68, 69, 70, 67, 64, 67, 66, 65, 64, 63,
+  61, 60, 60, 61, 62, 63, 63, 63, 63, 62, 62, 71, 66, 57, 54, 62,
+  68, 57, 39, 44, 49, 34, 60, 164, 228, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 206, 185, 175, 173, 184, 179, 173, 182, 158, 141, 158, 149, 157, 139, 151,
+  138, 136, 124, 104, 95, 83, 76, 73, 72, 69, 65, 67, 64, 61, 60, 61,
+  62, 60, 59, 60, 60, 58, 55, 55, 60, 68, 74, 73, 65, 66, 74, 74,
+  67, 66, 73, 70, 69, 67, 67, 67, 67, 67, 66, 65, 65, 65, 64, 63,
+  61, 59, 57, 59, 60, 62, 63, 64, 63, 63, 62, 72, 68, 59, 56, 66,
+  75, 66, 50, 54, 68, 54, 59, 113, 213, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 243, 176, 163, 188, 172, 174, 166, 168, 164, 143, 155, 136, 136, 135,
+  123, 127, 101, 97, 89, 79, 76, 73, 72, 66, 62, 63, 60, 57, 58, 59,
+  60, 57, 55, 65, 63, 57, 52, 47, 51, 57, 63, 73, 67, 67, 77, 77,
+  68, 67, 74, 73, 73, 71, 69, 68, 67, 68, 69, 65, 66, 66, 66, 65,
+  62, 58, 56, 57, 59, 61, 63, 64, 64, 64, 63, 65, 72, 71, 62, 58,
+  63, 65, 63, 65, 89, 79, 63, 88, 210, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 242, 193, 173, 182, 180, 169, 166, 146, 138, 149, 150, 134, 118,
+  116, 115, 113, 102, 93, 72, 79, 65, 71, 58, 62, 66, 65, 57, 74, 59,
+  60, 52, 65, 50, 60, 63, 62, 57, 69, 56, 32, 74, 129, 111, 31, 64,
+  67, 47, 90, 58, 62, 69, 68, 79, 56, 74, 67, 66, 66, 65, 64, 62,
+  60, 57, 56, 59, 57, 55, 57, 60, 62, 61, 59, 70, 69, 68, 67, 64,
+  62, 65, 72, 69, 77, 73, 51, 160, 209, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 222, 160, 167, 164, 159, 131, 145, 134, 129, 134, 130,
+  116, 104, 104, 89, 87, 72, 82, 67, 74, 67, 75, 70, 70, 58, 67, 61,
+  76, 67, 66, 79, 72, 64, 63, 255, 255, 255, 255, 188, 208, 193, 84, 46,
+  60, 72, 69, 75, 73, 69, 65, 74, 56, 74, 69, 68, 68, 67, 66, 65,
+  61, 59, 57, 64, 61, 58, 58, 59, 59, 57, 54, 56, 57, 63, 71, 69,
+  58, 60, 75, 70, 74, 71, 70, 220, 215, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 219, 155, 164, 134, 135, 134, 130, 124, 118,
+  113, 106, 101, 90, 91, 79, 87, 67, 70, 62, 72, 60, 76, 67, 67, 52,
+  72, 67, 68, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 109,
+  57, 60, 76, 69, 67, 62, 65, 74, 60, 74, 67, 69, 69, 67, 66, 65,
+  62, 60, 59, 64, 62, 59, 59, 58, 57, 54, 52, 66, 68, 69, 74, 69,
+  49, 41, 56, 52, 44, 61, 163, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 143, 140, 130, 120, 115, 114,
+  109, 105, 103, 92, 92, 79, 87, 68, 70, 58, 65, 62, 74, 66, 72, 60,
+  76, 68, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238,
+  98, 39, 49, 73, 76, 67, 71, 71, 59, 71, 68, 68, 68, 67, 66, 63,
+  62, 60, 59, 59, 58, 57, 57, 56, 55, 54, 53, 60, 65, 57, 55, 64,
+  55, 41, 45, 59, 65, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 217, 113, 101, 115, 121,
+  104, 93, 97, 81, 79, 67, 81, 72, 79, 67, 70, 77, 71, 57, 76, 135,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 127, 54, 75, 81, 71, 78, 68, 59, 68, 71, 71, 69, 68, 67, 65,
+  64, 64, 62, 58, 58, 57, 56, 55, 54, 52, 53, 44, 58, 49, 58, 107,
+  135, 127, 125, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 110, 96,
+  99, 95, 84, 78, 76, 62, 79, 72, 81, 69, 71, 72, 75, 131, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 133, 33, 51, 54, 82, 76, 71, 71, 69, 75, 74, 71, 70, 68,
+  68, 68, 68, 64, 63, 62, 59, 56, 53, 52, 52, 42, 58, 53, 86, 173,
+  224, 232, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  97, 97, 80, 84, 83, 70, 81, 68, 74, 63, 68, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 194, 78, 60, 81, 72, 74, 72, 71, 74, 73, 72, 70, 68,
+  67, 68, 69, 67, 67, 67, 64, 60, 57, 57, 58, 47, 52, 49, 101, 199,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 200, 85, 85, 76, 84, 69, 73, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 202, 78, 50, 61, 71, 80, 72, 71, 68, 67, 65,
+  64, 64, 64, 65, 66, 68, 67, 64, 63, 65, 68, 71, 66, 60, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 193, 51, 54, 67, 72, 82, 83, 72, 66,
+  71, 74, 71, 66, 63, 62, 61, 61, 63, 70, 79, 66, 71, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 121, 86, 64, 56, 51, 59, 67,
+  63, 48, 36, 59, 63, 66, 68, 70, 68, 65, 60, 44, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 65, 45, 36, 52, 68,
+  69, 64, 63, 49, 58, 64, 66, 68, 71, 66, 56, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 72, 35,
+  18, 22, 35, 42, 49, 45, 31, 25, 30, 32, 102, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 120, 103, 94, 106, 114, 115, 122, 181, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 220, 158, 185, 163, 195,
+  194, 183, 117, 149, 198, 218, 221, 130, 104, 211, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  224, 188, 141, 139, 156, 134, 148, 171, 186, 146, 136, 142, 157, 175, 159, 183,
+  188, 163, 89, 79, 128, 174, 174, 88, 52, 50, 56, 102, 103, 153, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 118, 135, 137, 104, 122, 149,
+  162, 183, 149, 154, 172, 140, 141, 166, 189, 151, 145, 142, 153, 159, 162, 192,
+  220, 179, 97, 101, 126, 177, 195, 158, 181, 196, 200, 239, 245, 244, 238, 241,
+  249, 249, 240, 240, 171, 182, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 225, 178, 153, 176, 134, 132, 116, 94, 115, 145,
+  162, 167, 123, 147, 153, 134, 135, 165, 194, 129, 134, 152, 143, 172, 165, 177,
+  232, 237, 217, 233, 231, 246, 255, 255, 231, 248, 230, 242, 249, 253, 225, 253,
+  242, 250, 205, 217, 215, 248, 195, 119, 240, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 228, 161, 156, 171, 139, 171, 183, 174, 138, 134, 98, 77, 105, 116,
+  110, 105, 63, 79, 88, 70, 79, 120, 181, 194, 178, 134, 164, 183, 205, 228,
+  236, 238, 235, 232, 255, 254, 253, 255, 248, 248, 253, 246, 224, 225, 255, 243,
+  252, 241, 244, 230, 98, 83, 166, 219, 242, 214, 202, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  222, 166, 166, 161, 174, 181, 122, 132, 115, 127, 109, 91, 64, 87, 155, 183,
+  202, 238, 236, 207, 240, 250, 242, 236, 223, 215, 132, 133, 191, 176, 161, 138,
+  88, 90, 104, 118, 244, 255, 242, 242, 255, 246, 250, 223, 208, 255, 242, 236,
+  240, 255, 229, 238, 228, 184, 78, 123, 109, 186, 201, 234, 221, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 124,
+  117, 147, 164, 141, 122, 150, 122, 167, 156, 154, 157, 129, 123, 172, 225, 221,
+  222, 252, 255, 255, 255, 247, 217, 246, 237, 230, 157, 139, 170, 139, 94, 63,
+  41, 54, 63, 64, 188, 235, 231, 246, 255, 255, 245, 223, 228, 169, 242, 255,
+  242, 242, 255, 253, 253, 223, 10, 88, 84, 122, 165, 170, 193, 201, 218, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 233, 183, 182, 177, 121,
+  129, 155, 154, 119, 104, 180, 177, 228, 242, 222, 241, 226, 217, 234, 225, 179,
+  152, 144, 132, 123, 91, 91, 92, 214, 248, 233, 204, 137, 96, 85, 66, 67,
+  88, 77, 58, 36, 33, 58, 73, 142, 185, 255, 237, 236, 255, 56, 146, 255,
+  230, 239, 249, 246, 228, 251, 73, 106, 97, 77, 62, 51, 111, 174, 165, 177,
+  194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 162, 169, 160, 161, 177, 157,
+  214, 235, 211, 227, 243, 207, 226, 239, 209, 231, 153, 202, 162, 116, 56, 25,
+  39, 54, 65, 88, 70, 90, 78, 158, 131, 71, 57, 86, 51, 90, 110, 108,
+  118, 87, 65, 93, 116, 207, 227, 255, 251, 222, 64, 65, 11, 89, 39, 32,
+  111, 177, 233, 247, 255, 226, 80, 123, 167, 190, 170, 127, 88, 136, 124, 217,
+  161, 193, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 169, 165, 162, 149, 178, 209, 239, 245,
+  230, 195, 164, 179, 169, 68, 153, 196, 191, 224, 85, 43, 72, 106, 117, 141,
+  152, 129, 132, 97, 88, 94, 72, 98, 80, 85, 100, 77, 145, 228, 252, 247,
+  250, 247, 237, 240, 253, 255, 242, 247, 255, 243, 75, 36, 117, 73, 99, 102,
+  45, 39, 120, 141, 225, 244, 215, 239, 203, 206, 231, 219, 101, 21, 53, 136,
+  168, 137, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 153, 169, 167, 172, 207, 247, 253, 223, 185,
+  89, 78, 141, 205, 152, 166, 212, 193, 208, 163, 118, 90, 119, 139, 126, 137,
+  138, 117, 151, 95, 86, 84, 93, 101, 86, 119, 98, 35, 189, 255, 249, 243,
+  253, 255, 239, 255, 243, 250, 249, 255, 247, 193, 50, 48, 165, 247, 206, 194,
+  89, 31, 44, 86, 119, 198, 222, 221, 213, 219, 206, 218, 130, 58, 33, 137,
+  199, 169, 183, 120, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 223, 151, 160, 168, 155, 251, 118, 82, 58, 42,
+  164, 190, 204, 153, 180, 217, 200, 145, 139, 59, 82, 94, 134, 109, 122, 153,
+  108, 110, 73, 99, 204, 207, 204, 252, 255, 255, 243, 215, 236, 242, 250, 241,
+  249, 255, 235, 250, 255, 237, 255, 255, 243, 252, 213, 220, 243, 243, 249, 247,
+  248, 219, 126, 21, 42, 32, 122, 202, 219, 186, 147, 175, 188, 142, 40, 173,
+  204, 211, 208, 130, 176, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 219, 161, 182, 163, 111, 85, 190, 64, 25, 207, 203,
+  223, 193, 226, 218, 174, 105, 78, 54, 22, 39, 80, 91, 64, 91, 122, 135,
+  88, 54, 203, 254, 241, 212, 248, 247, 255, 237, 236, 243, 232, 210, 218, 223,
+  237, 237, 247, 240, 255, 239, 189, 171, 211, 237, 253, 246, 239, 220, 232, 239,
+  246, 255, 250, 224, 37, 23, 28, 83, 119, 211, 182, 84, 84, 183, 128, 130,
+  197, 216, 248, 225, 146, 178, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 213, 142, 156, 134, 146, 194, 223, 246, 215, 206, 229, 226,
+  141, 155, 110, 74, 64, 35, 26, 66, 80, 147, 180, 217, 239, 104, 95, 179,
+  200, 237, 246, 159, 101, 200, 238, 255, 238, 230, 250, 244, 244, 241, 253, 255,
+  247, 228, 255, 253, 206, 71, 57, 66, 59, 63, 62, 220, 246, 248, 247, 251,
+  251, 255, 244, 244, 247, 208, 42, 92, 49, 47, 148, 188, 175, 153, 147, 149,
+  198, 155, 118, 230, 242, 181, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 225, 133, 173, 189, 167, 173, 221, 254, 255, 255, 222, 248, 213,
+  54, 92, 80, 97, 39, 52, 62, 87, 110, 143, 231, 250, 232, 203, 61, 129,
+  234, 212, 222, 132, 20, 222, 255, 235, 240, 241, 209, 250, 248, 247, 248, 241,
+  227, 238, 222, 240, 169, 59, 59, 95, 93, 48, 75, 194, 236, 245, 237, 244,
+  248, 241, 237, 254, 254, 217, 150, 122, 117, 51, 95, 167, 212, 143, 145, 170,
+  197, 115, 62, 232, 236, 225, 167, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 158, 176, 158, 166, 236, 228, 201, 251, 255, 237, 255, 120, 73,
+  100, 98, 194, 243, 228, 217, 143, 73, 160, 161, 191, 195, 226, 228, 142, 66,
+  66, 88, 64, 94, 110, 157, 245, 239, 248, 222, 244, 230, 229, 242, 245, 251,
+  235, 236, 111, 57, 228, 205, 243, 238, 180, 215, 186, 209, 218, 226, 239, 250,
+  238, 229, 251, 248, 245, 255, 235, 5, 108, 148, 54, 96, 162, 195, 179, 184,
+  205, 83, 59, 192, 253, 232, 237, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 160, 165, 156, 195, 216, 113, 45, 103, 203, 139, 75, 141, 246,
+  245, 247, 231, 205, 233, 252, 230, 76, 138, 158, 204, 198, 200, 236, 229, 116,
+  127, 151, 124, 114, 153, 83, 196, 249, 229, 243, 228, 250, 247, 245, 221, 234,
+  242, 245, 115, 57, 223, 250, 200, 179, 172, 201, 202, 196, 209, 229, 233, 239,
+  240, 227, 238, 236, 238, 238, 255, 68, 73, 129, 117, 47, 90, 71, 93, 173,
+  220, 113, 49, 155, 235, 251, 243, 230, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 173, 145, 165, 193, 149, 73, 64, 100, 116, 90, 44, 187, 247,
+  254, 213, 213, 106, 176, 255, 218, 31, 155, 172, 187, 194, 112, 178, 219, 143,
+  91, 139, 155, 139, 148, 66, 108, 247, 235, 253, 234, 234, 239, 251, 241, 241,
+  246, 161, 79, 110, 216, 230, 206, 226, 192, 215, 187, 185, 206, 229, 199, 191,
+  230, 242, 244, 234, 253, 255, 254, 94, 63, 128, 127, 109, 151, 62, 78, 132,
+  230, 191, 57, 167, 246, 216, 238, 222, 184, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 222, 167, 191, 163, 108, 111, 151, 146, 104, 118, 97, 147, 82, 100,
+  69, 81, 120, 85, 92, 244, 206, 50, 205, 161, 174, 168, 86, 174, 208, 211,
+  86, 165, 117, 152, 117, 137, 89, 49, 139, 223, 250, 253, 239, 242, 235, 240,
+  247, 67, 28, 0, 85, 195, 164, 191, 173, 160, 171, 215, 216, 248, 226, 191,
+  197, 204, 220, 231, 214, 228, 240, 111, 73, 122, 123, 128, 127, 143, 118, 46,
+  244, 233, 28, 73, 228, 251, 149, 55, 245, 79, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 174, 189, 230, 120, 109, 120, 122, 115, 125, 121, 150, 147, 86, 82,
+  106, 144, 147, 128, 146, 189, 122, 121, 231, 141, 176, 163, 77, 120, 182, 225,
+  65, 76, 142, 143, 142, 154, 144, 123, 77, 67, 102, 169, 245, 235, 244, 231,
+  234, 244, 212, 180, 28, 35, 60, 54, 73, 138, 198, 238, 245, 239, 243, 218,
+  226, 234, 145, 127, 144, 124, 137, 72, 117, 114, 112, 118, 142, 110, 122, 61,
+  242, 254, 46, 29, 162, 229, 74, 43, 216, 127, 156, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 132, 103, 122, 101, 97, 109, 92, 117, 109, 113, 104, 108, 92, 110,
+  134, 163, 147, 153, 154, 147, 152, 88, 90, 171, 197, 171, 164, 178, 188, 194,
+  126, 39, 38, 60, 57, 60, 149, 133, 125, 104, 90, 158, 254, 233, 241, 250,
+  238, 232, 230, 229, 209, 186, 205, 223, 208, 233, 238, 234, 229, 239, 239, 246,
+  220, 227, 55, 44, 72, 83, 77, 114, 134, 103, 129, 117, 102, 115, 104, 82,
+  248, 255, 42, 75, 105, 255, 51, 40, 107, 206, 73, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 132, 64, 81, 90, 95, 101, 115, 118, 109, 94, 80, 101, 101, 99,
+  103, 147, 157, 143, 135, 132, 119, 96, 91, 154, 209, 178, 161, 177, 218, 198,
+  113, 23, 87, 108, 126, 79, 105, 145, 124, 130, 114, 145, 255, 249, 245, 246,
+  238, 240, 241, 219, 241, 232, 229, 240, 238, 248, 249, 246, 213, 227, 239, 211,
+  176, 231, 63, 67, 63, 90, 80, 133, 138, 95, 124, 116, 113, 105, 134, 89,
+  230, 248, 63, 94, 70, 231, 64, 64, 53, 255, 140, 155, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 106, 99, 81, 89, 86, 123, 136, 120, 122, 133, 113, 110, 108, 126,
+  111, 112, 110, 112, 109, 154, 142, 143, 143, 82, 101, 139, 170, 181, 181, 185,
+  203, 218, 247, 252, 255, 170, 120, 120, 136, 140, 100, 151, 246, 244, 251, 241,
+  236, 242, 229, 196, 208, 237, 238, 231, 246, 232, 235, 232, 255, 173, 248, 251,
+  97, 51, 240, 241, 82, 62, 122, 94, 109, 125, 137, 100, 96, 108, 101, 112,
+  97, 241, 85, 84, 110, 147, 118, 100, 92, 211, 244, 83, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 217, 4, 104, 54, 97, 88, 116, 125, 137, 119, 104, 108, 83, 56, 94,
+  89, 82, 91, 155, 138, 112, 144, 96, 99, 111, 87, 50, 31, 48, 215, 239,
+  219, 238, 250, 242, 255, 255, 255, 36, 103, 129, 117, 127, 246, 242, 249, 253,
+  242, 228, 216, 223, 213, 194, 196, 242, 248, 235, 244, 245, 255, 192, 215, 223,
+  232, 104, 81, 153, 183, 76, 39, 84, 101, 85, 120, 112, 104, 115, 111, 120,
+  60, 211, 172, 84, 156, 104, 150, 123, 132, 87, 237, 101, 150, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 151, 125, 231, 225, 240, 221, 89, 145, 126, 69, 89, 130, 133, 99, 121,
+  104, 81, 73, 145, 183, 117, 131, 110, 130, 134, 98, 97, 68, 10, 207, 231,
+  231, 245, 242, 253, 235, 253, 255, 66, 110, 127, 121, 46, 255, 255, 239, 248,
+  250, 232, 219, 236, 229, 76, 63, 225, 239, 244, 253, 239, 244, 235, 194, 195,
+  251, 137, 37, 42, 230, 234, 115, 68, 68, 121, 119, 113, 102, 89, 122, 77,
+  90, 109, 224, 100, 137, 122, 147, 131, 136, 45, 169, 154, 114, 219, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 211, 249, 233, 255, 251, 255, 102, 131, 104, 137, 205, 220, 241, 231, 247,
+  219, 151, 63, 131, 180, 129, 76, 108, 151, 97, 107, 106, 121, 48, 194, 237,
+  250, 247, 243, 251, 243, 255, 230, 98, 65, 119, 142, 32, 192, 231, 245, 237,
+  244, 246, 220, 221, 198, 29, 23, 244, 247, 246, 245, 250, 227, 219, 167, 192,
+  244, 171, 62, 52, 159, 205, 192, 115, 48, 79, 135, 114, 110, 120, 114, 115,
+  106, 74, 255, 153, 106, 140, 141, 128, 129, 77, 142, 176, 120, 123, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 246, 236, 249, 228, 208, 234, 196, 48, 59, 243, 255, 240, 255, 237, 232,
+  249, 253, 184, 46, 68, 88, 86, 108, 105, 72, 84, 32, 68, 19, 110, 227,
+  246, 239, 243, 234, 244, 255, 255, 87, 56, 125, 111, 114, 60, 107, 255, 255,
+  226, 252, 218, 234, 148, 44, 39, 245, 248, 234, 243, 231, 211, 235, 188, 143,
+  255, 240, 26, 88, 65, 105, 243, 221, 213, 114, 51, 63, 119, 98, 121, 112,
+  109, 54, 255, 216, 111, 139, 151, 114, 118, 95, 150, 164, 109, 85, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 231, 249, 244, 250, 183, 208, 197, 23, 117, 253, 245, 244, 253, 255, 250,
+  255, 237, 255, 95, 49, 142, 95, 135, 102, 106, 240, 247, 215, 179, 33, 182,
+  251, 248, 230, 241, 254, 255, 255, 77, 71, 111, 125, 141, 101, 87, 111, 167,
+  255, 251, 91, 138, 35, 77, 32, 231, 244, 248, 248, 226, 251, 231, 246, 251,
+  231, 251, 41, 90, 52, 73, 54, 172, 189, 225, 182, 154, 71, 84, 108, 117,
+  81, 80, 244, 249, 90, 141, 150, 134, 194, 66, 124, 97, 117, 94, 140, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  242, 238, 237, 252, 239, 212, 203, 206, 113, 173, 238, 249, 255, 246, 237, 234,
+  244, 236, 239, 113, 109, 116, 150, 63, 93, 167, 255, 241, 255, 236, 82, 143,
+  233, 253, 246, 255, 255, 249, 255, 73, 128, 86, 126, 125, 129, 132, 81, 114,
+  190, 137, 77, 57, 71, 91, 98, 145, 255, 255, 238, 239, 246, 248, 248, 244,
+  250, 213, 25, 75, 90, 94, 40, 91, 155, 225, 221, 200, 145, 80, 99, 96,
+  111, 79, 222, 224, 83, 135, 95, 139, 212, 56, 112, 138, 109, 97, 109, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  221, 240, 241, 253, 251, 251, 220, 227, 253, 251, 232, 251, 222, 237, 255, 240,
+  231, 255, 255, 109, 153, 134, 115, 126, 202, 246, 215, 238, 234, 247, 253, 253,
+  251, 226, 253, 247, 233, 193, 138, 56, 105, 113, 125, 137, 119, 130, 100, 78,
+  53, 26, 90, 102, 91, 90, 83, 55, 145, 239, 255, 255, 224, 234, 253, 237,
+  203, 133, 68, 113, 84, 78, 94, 67, 39, 78, 163, 223, 255, 164, 121, 121,
+  137, 92, 191, 200, 85, 111, 105, 123, 160, 224, 125, 114, 86, 113, 121, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  195, 233, 238, 239, 241, 246, 255, 215, 242, 225, 250, 240, 247, 253, 228, 244,
+  255, 227, 165, 36, 160, 129, 68, 249, 255, 255, 224, 241, 223, 204, 225, 215,
+  238, 233, 241, 195, 118, 49, 34, 118, 77, 125, 93, 95, 102, 97, 100, 104,
+  114, 109, 62, 76, 55, 108, 85, 50, 44, 168, 236, 241, 248, 255, 254, 185,
+  39, 24, 106, 99, 104, 86, 81, 91, 114, 82, 41, 74, 132, 223, 222, 167,
+  102, 117, 109, 99, 132, 101, 95, 111, 36, 255, 188, 118, 104, 132, 119, 162,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  163, 239, 227, 225, 240, 237, 242, 244, 249, 243, 245, 235, 232, 241, 235, 233,
+  151, 41, 79, 193, 249, 76, 22, 240, 246, 236, 247, 239, 255, 253, 235, 219,
+  251, 250, 235, 21, 52, 53, 85, 141, 99, 92, 73, 65, 87, 91, 83, 59,
+  54, 88, 105, 111, 74, 84, 86, 89, 98, 68, 60, 150, 229, 235, 209, 218,
+  65, 68, 118, 80, 91, 119, 133, 126, 102, 106, 122, 104, 69, 71, 88, 168,
+  96, 103, 114, 124, 105, 75, 131, 165, 102, 174, 167, 84, 90, 108, 90, 106,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  127, 255, 240, 221, 233, 253, 237, 255, 226, 236, 196, 127, 126, 195, 250, 225,
+  205, 169, 191, 206, 236, 172, 26, 136, 255, 248, 255, 255, 246, 243, 242, 243,
+  242, 219, 245, 16, 25, 68, 102, 160, 150, 54, 65, 111, 142, 139, 68, 63,
+  81, 59, 113, 84, 78, 88, 87, 101, 122, 88, 100, 66, 187, 255, 231, 234,
+  68, 65, 103, 103, 109, 125, 112, 125, 117, 120, 104, 127, 107, 86, 74, 99,
+  77, 101, 123, 116, 131, 115, 239, 255, 212, 131, 235, 127, 101, 89, 84, 104,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185,
+  69, 223, 233, 234, 213, 255, 235, 182, 82, 139, 172, 164, 74, 70, 229, 235,
+  240, 241, 232, 253, 234, 227, 41, 28, 196, 255, 234, 245, 245, 244, 248, 253,
+  236, 136, 158, 174, 107, 163, 191, 204, 120, 74, 226, 255, 255, 255, 252, 209,
+  120, 32, 83, 102, 90, 104, 106, 141, 124, 123, 105, 57, 62, 204, 221, 235,
+  122, 57, 94, 95, 119, 140, 127, 126, 123, 126, 115, 96, 138, 109, 78, 106,
+  118, 93, 120, 128, 111, 113, 246, 244, 255, 223, 235, 251, 181, 137, 130, 128,
+  174, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 89,
+  16, 146, 185, 254, 246, 247, 163, 67, 120, 199, 189, 192, 195, 77, 181, 236,
+  249, 245, 251, 228, 253, 241, 253, 85, 65, 253, 255, 255, 253, 246, 255, 242,
+  173, 17, 68, 191, 189, 200, 191, 141, 86, 92, 241, 254, 255, 253, 255, 255,
+  236, 164, 48, 79, 109, 111, 130, 123, 125, 152, 109, 122, 24, 210, 225, 216,
+  175, 66, 108, 106, 108, 114, 135, 141, 139, 128, 126, 120, 94, 121, 130, 116,
+  114, 111, 108, 110, 141, 133, 120, 187, 237, 228, 249, 194, 186, 196, 162, 78,
+  100, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 66,
+  71, 27, 87, 252, 246, 190, 44, 74, 185, 180, 209, 192, 165, 156, 199, 230,
+  227, 249, 243, 249, 224, 181, 166, 158, 14, 106, 253, 238, 239, 243, 253, 255,
+  223, 138, 29, 167, 178, 214, 191, 78, 28, 172, 240, 246, 255, 255, 247, 250,
+  248, 251, 130, 52, 125, 136, 121, 132, 156, 148, 132, 110, 26, 243, 209, 215,
+  196, 65, 92, 99, 114, 117, 122, 150, 123, 155, 133, 135, 124, 122, 129, 125,
+  113, 107, 111, 105, 90, 109, 60, 56, 255, 222, 233, 230, 172, 144, 188, 164,
+  149, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 47,
+  72, 48, 105, 245, 240, 210, 56, 79, 196, 198, 174, 199, 165, 144, 195, 228,
+  244, 242, 229, 241, 247, 68, 96, 132, 62, 5, 255, 240, 255, 255, 238, 225,
+  253, 208, 76, 143, 170, 192, 177, 100, 92, 201, 235, 240, 242, 241, 251, 250,
+  250, 255, 218, 118, 111, 131, 133, 138, 127, 124, 129, 91, 66, 206, 223, 212,
+  193, 86, 77, 113, 136, 138, 125, 132, 125, 116, 146, 136, 134, 132, 134, 128,
+  122, 118, 122, 97, 124, 109, 65, 51, 237, 253, 222, 232, 177, 107, 165, 148,
+  142, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 244, 62,
+  45, 66, 230, 214, 218, 219, 96, 33, 152, 196, 205, 180, 173, 170, 229, 236,
+  232, 237, 251, 226, 243, 88, 110, 94, 81, 131, 240, 240, 218, 193, 203, 236,
+  249, 232, 220, 195, 201, 183, 175, 141, 151, 210, 216, 250, 244, 243, 255, 246,
+  250, 255, 254, 225, 100, 114, 119, 131, 114, 118, 126, 91, 105, 79, 228, 206,
+  201, 60, 114, 114, 133, 98, 124, 141, 105, 153, 124, 132, 140, 139, 131, 126,
+  126, 127, 125, 129, 123, 101, 110, 86, 113, 247, 234, 251, 215, 101, 126, 92,
+  107, 95, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 234, 191,
+  75, 39, 187, 177, 209, 255, 222, 22, 69, 96, 168, 189, 180, 157, 221, 248,
+  223, 245, 251, 247, 234, 255, 229, 228, 254, 225, 192, 118, 21, 85, 226, 238,
+  189, 185, 213, 247, 227, 203, 195, 192, 179, 223, 241, 234, 241, 241, 249, 240,
+  255, 249, 251, 255, 75, 105, 105, 119, 114, 130, 129, 135, 121, 42, 125, 209,
+  150, 11, 82, 66, 66, 91, 94, 121, 102, 118, 122, 126, 140, 138, 123, 117,
+  122, 124, 122, 136, 129, 139, 131, 107, 32, 247, 249, 249, 251, 212, 240, 130,
+  69, 77, 118, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 208, 214,
+  70, 40, 190, 204, 208, 247, 242, 36, 35, 49, 133, 83, 164, 194, 234, 236,
+  186, 236, 241, 255, 239, 218, 228, 179, 184, 138, 85, 38, 34, 126, 246, 255,
+  201, 159, 224, 245, 230, 230, 213, 220, 186, 219, 235, 237, 244, 244, 248, 234,
+  253, 241, 249, 251, 47, 103, 109, 117, 104, 125, 127, 96, 105, 78, 72, 151,
+  182, 38, 44, 16, 57, 65, 133, 114, 133, 106, 142, 127, 142, 139, 121, 114,
+  120, 125, 118, 152, 117, 117, 121, 121, 56, 235, 253, 246, 251, 251, 240, 152,
+  156, 213, 232, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 249,
+  137, 53, 206, 255, 240, 255, 246, 167, 141, 97, 84, 175, 241, 250, 243, 240,
+  213, 197, 164, 124, 179, 36, 93, 76, 48, 91, 58, 88, 106, 218, 253, 197,
+  188, 213, 242, 246, 234, 241, 235, 248, 237, 237, 220, 239, 231, 232, 247, 234,
+  236, 250, 255, 255, 54, 91, 102, 121, 101, 114, 116, 120, 107, 78, 58, 27,
+  219, 168, 187, 222, 23, 112, 34, 49, 123, 117, 129, 132, 146, 142, 126, 121,
+  124, 127, 121, 126, 122, 119, 114, 66, 30, 136, 224, 251, 231, 242, 234, 211,
+  253, 253, 241, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 198, 209,
+  143, 85, 238, 255, 244, 221, 170, 221, 255, 243, 208, 197, 219, 246, 245, 228,
+  253, 185, 228, 224, 255, 90, 12, 64, 94, 60, 111, 88, 165, 255, 234, 197,
+  208, 220, 253, 249, 241, 240, 250, 216, 220, 214, 226, 213, 202, 207, 235, 245,
+  244, 255, 221, 230, 69, 96, 94, 114, 109, 119, 111, 134, 112, 134, 112, 96,
+  181, 203, 211, 231, 198, 246, 255, 52, 71, 100, 135, 135, 141, 138, 129, 127,
+  127, 128, 123, 114, 121, 102, 95, 180, 246, 255, 252, 199, 135, 168, 251, 253,
+  198, 68, 85, 86, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 252, 218,
+  197, 148, 147, 253, 255, 188, 107, 161, 229, 206, 191, 119, 90, 167, 249, 239,
+  255, 61, 120, 251, 253, 193, 161, 54, 110, 90, 88, 61, 143, 251, 215, 178,
+  237, 254, 242, 248, 253, 242, 237, 89, 62, 78, 173, 226, 223, 215, 227, 245,
+  239, 228, 104, 116, 61, 127, 110, 105, 107, 124, 117, 134, 158, 119, 126, 119,
+  147, 167, 194, 178, 231, 206, 240, 203, 102, 117, 112, 129, 134, 130, 127, 126,
+  126, 123, 120, 140, 126, 136, 129, 255, 254, 243, 247, 245, 138, 63, 115, 205,
+  249, 68, 61, 72, 129, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 238, 228,
+  226, 208, 36, 249, 255, 152, 89, 144, 213, 228, 204, 129, 26, 139, 250, 240,
+  255, 71, 57, 202, 208, 231, 235, 57, 61, 127, 93, 81, 114, 248, 255, 224,
+  255, 255, 249, 255, 241, 246, 185, 56, 10, 62, 95, 189, 203, 201, 199, 173,
+  191, 170, 13, 57, 108, 131, 105, 131, 117, 108, 124, 141, 145, 145, 130, 134,
+  144, 145, 167, 141, 212, 195, 213, 236, 141, 81, 118, 136, 114, 137, 150, 107,
+  132, 137, 108, 142, 116, 142, 125, 255, 255, 246, 243, 253, 214, 72, 117, 144,
+  243, 72, 74, 78, 79, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 255, 240, 246,
+  250, 229, 87, 189, 234, 163, 143, 67, 206, 234, 254, 250, 111, 111, 255, 246,
+  152, 255, 131, 4, 14, 197, 239, 170, 95, 109, 97, 76, 56, 134, 234, 255,
+  255, 255, 255, 250, 238, 116, 28, 89, 137, 98, 60, 41, 69, 105, 116, 48,
+  2, 32, 49, 88, 121, 138, 116, 129, 125, 100, 132, 134, 132, 138, 132, 128,
+  127, 142, 186, 152, 186, 205, 144, 228, 228, 47, 83, 134, 171, 111, 117, 140,
+  108, 138, 124, 123, 135, 122, 46, 122, 218, 241, 255, 236, 224, 202, 227, 82,
+  202, 160, 41, 68, 79, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 233, 250,
+  234, 224, 201, 76, 151, 169, 210, 59, 241, 250, 255, 247, 184, 167, 251, 255,
+  43, 220, 202, 66, 41, 134, 184, 187, 175, 78, 89, 93, 78, 75, 165, 217,
+  206, 212, 173, 74, 62, 62, 97, 124, 97, 81, 105, 89, 103, 74, 77, 100,
+  69, 66, 128, 142, 90, 128, 154, 149, 154, 131, 144, 135, 122, 130, 130, 120,
+  109, 131, 194, 193, 187, 172, 112, 188, 221, 79, 59, 115, 85, 116, 130, 134,
+  96, 77, 74, 112, 107, 82, 38, 96, 253, 255, 255, 223, 251, 187, 222, 175,
+  191, 227, 10, 65, 88, 140, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 223, 104, 147, 249,
+  244, 255, 231, 39, 75, 115, 147, 42, 249, 255, 233, 241, 216, 171, 240, 246,
+  21, 188, 228, 53, 15, 91, 157, 154, 143, 89, 85, 92, 111, 71, 86, 110,
+  111, 119, 73, 105, 49, 76, 120, 92, 83, 111, 105, 94, 116, 79, 55, 38,
+  47, 152, 253, 255, 104, 135, 169, 141, 143, 138, 127, 139, 125, 131, 128, 120,
+  107, 119, 169, 153, 201, 164, 54, 145, 190, 37, 32, 65, 63, 84, 92, 89,
+  71, 48, 59, 72, 50, 73, 46, 34, 227, 255, 235, 253, 211, 248, 192, 209,
+  200, 244, 40, 60, 93, 89, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 129, 145, 117, 241,
+  231, 216, 77, 94, 100, 108, 105, 56, 255, 255, 242, 247, 233, 220, 224, 246,
+  45, 104, 189, 168, 109, 71, 205, 53, 51, 59, 74, 89, 104, 89, 87, 94,
+  92, 99, 108, 88, 118, 134, 126, 116, 112, 114, 111, 146, 87, 76, 184, 222,
+  229, 255, 231, 243, 94, 122, 127, 121, 112, 100, 84, 81, 73, 77, 69, 69,
+  66, 58, 77, 64, 61, 53, 173, 248, 230, 247, 241, 151, 57, 81, 77, 92,
+  243, 214, 201, 199, 211, 204, 228, 255, 208, 58, 108, 102, 84, 170, 124, 198,
+  188, 242, 79, 55, 88, 89, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 169, 234, 168, 251,
+  252, 77, 38, 91, 118, 109, 107, 58, 255, 238, 230, 236, 229, 250, 220, 253,
+  43, 20, 81, 210, 209, 155, 196, 182, 83, 87, 71, 100, 109, 125, 119, 124,
+  130, 121, 144, 127, 135, 111, 102, 132, 134, 121, 136, 127, 204, 228, 255, 228,
+  129, 83, 54, 57, 38, 66, 44, 81, 100, 87, 104, 110, 114, 120, 112, 123,
+  130, 109, 105, 101, 93, 101, 107, 172, 237, 232, 250, 255, 223, 27, 28, 69,
+  119, 154, 220, 231, 242, 239, 235, 236, 249, 133, 53, 58, 49, 87, 117, 81,
+  41, 190, 148, 61, 87, 92, 72, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 249, 226, 198, 152, 108, 232,
+  255, 50, 66, 117, 139, 116, 106, 62, 244, 255, 255, 251, 226, 223, 248, 238,
+  27, 107, 17, 110, 214, 168, 167, 206, 140, 68, 101, 98, 109, 124, 112, 113,
+  126, 111, 104, 110, 114, 106, 78, 62, 74, 76, 53, 134, 238, 202, 109, 151,
+  183, 157, 192, 187, 198, 169, 115, 69, 85, 67, 91, 88, 101, 114, 109, 123,
+  134, 115, 113, 145, 97, 88, 96, 45, 102, 241, 240, 251, 253, 207, 219, 136,
+  73, 91, 201, 206, 203, 196, 242, 231, 253, 244, 231, 120, 63, 75, 115, 214,
+  180, 70, 198, 76, 91, 103, 80, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 251, 232, 215, 176, 121, 247,
+  243, 153, 38, 126, 126, 116, 96, 76, 228, 255, 232, 236, 255, 255, 254, 229,
+  32, 61, 57, 71, 109, 151, 158, 197, 150, 63, 83, 96, 90, 92, 104, 106,
+  102, 99, 92, 105, 89, 87, 97, 101, 104, 117, 123, 200, 207, 172, 48, 82,
+  212, 200, 187, 171, 169, 165, 179, 64, 80, 59, 49, 75, 95, 112, 110, 123,
+  131, 120, 128, 135, 114, 125, 127, 11, 19, 198, 239, 246, 253, 253, 249, 172,
+  123, 133, 187, 184, 133, 107, 238, 237, 247, 231, 251, 232, 112, 78, 79, 240,
+  234, 58, 185, 88, 95, 111, 84, 140, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 234, 225, 212, 188, 205, 251,
+  255, 243, 100, 105, 75, 106, 119, 78, 120, 254, 220, 229, 245, 255, 210, 115,
+  87, 54, 67, 52, 24, 41, 54, 67, 83, 27, 50, 57, 78, 57, 95, 81,
+  94, 90, 111, 133, 93, 76, 93, 239, 255, 255, 255, 247, 249, 178, 104, 74,
+  203, 179, 174, 150, 157, 126, 175, 126, 116, 66, 72, 73, 106, 98, 124, 138,
+  151, 130, 134, 120, 132, 116, 106, 44, 145, 252, 241, 245, 239, 227, 237, 242,
+  241, 239, 210, 79, 59, 95, 233, 239, 251, 245, 221, 255, 203, 65, 76, 143,
+  148, 113, 126, 139, 72, 109, 101, 77, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 222, 237, 174, 196, 182, 186, 215, 171,
+  187, 255, 124, 101, 140, 71, 86, 65, 103, 103, 53, 41, 47, 56, 56, 62,
+  123, 115, 101, 58, 42, 47, 27, 28, 59, 51, 77, 61, 45, 28, 138, 203,
+  223, 162, 129, 123, 69, 73, 139, 187, 210, 228, 218, 117, 44, 35, 123, 96,
+  96, 158, 183, 167, 125, 118, 126, 142, 117, 125, 104, 97, 101, 102, 109, 107,
+  122, 107, 142, 128, 129, 89, 119, 76, 234, 255, 255, 246, 245, 229, 234, 241,
+  241, 244, 226, 248, 240, 215, 245, 236, 145, 187, 226, 210, 193, 83, 84, 131,
+  145, 141, 168, 156, 123, 100, 92, 71, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 92, 159, 106, 33, 34, 36, 15, 62,
+  82, 227, 110, 186, 174, 107, 115, 76, 238, 250, 40, 55, 60, 79, 109, 143,
+  191, 158, 108, 95, 95, 105, 80, 84, 107, 98, 88, 50, 98, 136, 226, 250,
+  255, 249, 255, 183, 138, 52, 87, 85, 69, 47, 60, 108, 169, 144, 117, 115,
+  64, 113, 193, 192, 113, 85, 137, 156, 146, 145, 125, 118, 114, 120, 155, 146,
+  132, 125, 135, 146, 130, 101, 139, 32, 243, 255, 242, 245, 251, 236, 238, 247,
+  244, 247, 241, 243, 243, 244, 231, 251, 245, 67, 12, 35, 112, 134, 137, 138,
+  134, 136, 149, 146, 142, 107, 97, 84, 131, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 211, 236, 235, 78, 50, 64, 50, 46, 171,
+  197, 230, 98, 143, 123, 93, 101, 178, 255, 219, 75, 102, 95, 108, 130, 138,
+  144, 127, 113, 87, 85, 97, 90, 110, 115, 86, 55, 64, 156, 215, 255, 243,
+  245, 240, 244, 231, 221, 78, 68, 97, 96, 81, 114, 116, 122, 138, 141, 163,
+  99, 82, 172, 223, 211, 135, 153, 172, 176, 135, 147, 163, 138, 91, 124, 121,
+  102, 137, 120, 122, 135, 79, 101, 62, 252, 255, 253, 244, 253, 244, 244, 251,
+  243, 244, 239, 241, 247, 236, 251, 214, 247, 173, 41, 64, 64, 129, 113, 132,
+  166, 175, 157, 149, 164, 127, 211, 207, 182, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 70, 97, 85, 84, 66, 79, 52, 132, 165,
+  215, 94, 0, 29, 104, 100, 44, 202, 221, 104, 59, 99, 96, 112, 128, 130,
+  124, 136, 136, 133, 118, 112, 103, 119, 135, 140, 184, 221, 251, 245, 241, 236,
+  255, 255, 253, 255, 255, 112, 41, 60, 68, 69, 58, 101, 140, 145, 140, 154,
+  162, 115, 91, 67, 180, 208, 193, 203, 199, 189, 196, 196, 154, 124, 120, 116,
+  118, 145, 139, 99, 105, 127, 149, 64, 143, 255, 255, 247, 255, 246, 247, 247,
+  240, 243, 233, 117, 237, 250, 238, 248, 226, 247, 227, 120, 39, 156, 156, 163,
+  153, 160, 154, 147, 161, 111, 255, 251, 248, 252, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 91, 91, 117, 83, 108, 121, 179, 169, 226, 213,
+  197, 45, 72, 98, 78, 75, 119, 244, 201, 87, 128, 100, 111, 125, 135, 143,
+  126, 117, 73, 72, 64, 58, 40, 33, 57, 90, 235, 228, 247, 246, 251, 253,
+  243, 246, 252, 244, 244, 115, 46, 152, 197, 197, 189, 75, 95, 64, 151, 159,
+  145, 144, 118, 94, 110, 184, 201, 41, 83, 210, 227, 89, 64, 126, 110, 115,
+  127, 102, 125, 139, 128, 104, 106, 93, 56, 128, 184, 251, 250, 248, 255, 251,
+  247, 254, 229, 78, 59, 138, 239, 235, 244, 251, 249, 234, 57, 79, 113, 155,
+  138, 138, 149, 157, 144, 135, 137, 125, 255, 249, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 231, 59, 102, 119, 85, 94, 118, 237, 252, 219, 209,
+  123, 29, 95, 86, 108, 62, 125, 255, 188, 56, 102, 121, 118, 114, 112, 120,
+  103, 111, 74, 102, 109, 117, 112, 94, 99, 63, 231, 233, 236, 223, 232, 247,
+  242, 255, 255, 255, 255, 172, 128, 237, 255, 238, 249, 148, 85, 50, 162, 147,
+  145, 169, 95, 117, 57, 112, 185, 7, 54, 166, 160, 45, 40, 94, 95, 113,
+  104, 97, 135, 133, 108, 114, 120, 79, 44, 81, 120, 228, 220, 238, 255, 255,
+  252, 253, 203, 79, 44, 36, 238, 253, 231, 231, 232, 255, 164, 77, 106, 122,
+  100, 117, 168, 172, 151, 176, 72, 68, 215, 235, 253, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 224, 71, 105, 55, 56, 120, 107, 216, 216, 153, 79,
+  68, 66, 89, 80, 99, 54, 140, 255, 115, 42, 106, 112, 101, 104, 114, 114,
+  80, 119, 122, 238, 245, 255, 255, 255, 242, 111, 244, 221, 247, 247, 242, 249,
+  246, 252, 239, 251, 244, 255, 255, 254, 252, 247, 250, 242, 237, 140, 96, 112,
+  119, 103, 136, 104, 107, 98, 84, 111, 86, 73, 34, 90, 104, 85, 117, 137,
+  67, 99, 106, 111, 124, 126, 141, 146, 154, 82, 84, 57, 51, 90, 137, 124,
+  116, 106, 35, 44, 66, 59, 27, 126, 252, 255, 246, 252, 255, 80, 93, 97,
+  90, 89, 124, 113, 124, 115, 105, 116, 83, 201, 238, 243, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 217, 101, 84, 91, 124, 185, 248, 186, 108, 67, 90, 130,
+  115, 127, 117, 116, 100, 111, 253, 184, 62, 57, 123, 121, 72, 80, 98, 117,
+  121, 255, 250, 248, 231, 238, 251, 233, 241, 255, 211, 246, 207, 199, 235, 234,
+  255, 251, 253, 255, 255, 252, 226, 253, 240, 244, 246, 234, 249, 255, 67, 100,
+  135, 138, 140, 154, 152, 133, 128, 139, 134, 116, 101, 125, 134, 73, 214, 255,
+  116, 88, 93, 78, 112, 107, 112, 121, 132, 167, 143, 146, 167, 124, 66, 86,
+  58, 79, 93, 148, 118, 113, 65, 66, 219, 253, 250, 235, 220, 79, 51, 99,
+  131, 63, 99, 81, 107, 95, 118, 141, 89, 66, 239, 253, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 164, 138, 58, 95, 102, 211, 239, 143, 84, 99, 95, 116, 118,
+  123, 142, 123, 96, 90, 196, 255, 47, 133, 97, 47, 79, 109, 90, 220, 243,
+  255, 236, 217, 102, 162, 227, 238, 250, 234, 255, 239, 158, 54, 39, 37, 36,
+  134, 225, 238, 249, 230, 248, 251, 250, 228, 239, 248, 241, 251, 255, 33, 136,
+  133, 136, 137, 154, 151, 130, 128, 137, 135, 137, 134, 158, 119, 96, 170, 230,
+  251, 239, 89, 120, 89, 93, 107, 94, 94, 112, 111, 121, 101, 133, 122, 137,
+  159, 128, 185, 157, 228, 177, 200, 199, 252, 93, 79, 64, 92, 92, 75, 251,
+  255, 253, 232, 255, 234, 234, 195, 175, 217, 194, 87, 248, 238, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 201, 114, 101, 47, 77, 120, 255, 237, 101, 76, 139, 134, 147, 111,
+  124, 156, 143, 94, 111, 231, 255, 57, 135, 105, 62, 59, 230, 243, 255, 255,
+  196, 80, 100, 52, 142, 250, 242, 246, 249, 244, 114, 53, 33, 35, 28, 48,
+  73, 204, 247, 250, 236, 236, 241, 235, 242, 242, 234, 248, 238, 243, 54, 143,
+  132, 130, 119, 141, 147, 131, 134, 129, 124, 142, 145, 149, 126, 134, 146, 210,
+  234, 235, 185, 155, 61, 39, 61, 56, 62, 63, 69, 69, 32, 97, 84, 147,
+  176, 180, 159, 136, 172, 246, 243, 234, 243, 84, 75, 43, 27, 48, 107, 248,
+  249, 246, 253, 255, 241, 255, 255, 241, 234, 245, 171, 255, 230, 232, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 202, 136, 66, 76, 134, 192, 199, 239, 187, 80, 109, 138, 112, 128, 100,
+  91, 128, 121, 83, 61, 255, 245, 31, 95, 60, 197, 210, 255, 231, 109, 139,
+  93, 81, 100, 64, 148, 217, 210, 230, 251, 206, 50, 193, 225, 205, 181, 167,
+  74, 206, 242, 235, 249, 248, 223, 231, 230, 230, 224, 250, 247, 255, 124, 90,
+  122, 132, 121, 115, 132, 127, 130, 113, 94, 103, 86, 102, 140, 135, 76, 129,
+  127, 169, 246, 248, 224, 194, 214, 223, 233, 232, 235, 228, 255, 54, 89, 196,
+  193, 176, 114, 108, 65, 55, 232, 233, 226, 237, 231, 216, 134, 135, 235, 255,
+  247, 246, 255, 252, 255, 240, 237, 255, 253, 250, 236, 243, 220, 168, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 203,
+  102, 111, 102, 113, 156, 209, 223, 243, 156, 80, 97, 145, 145, 130, 144, 152,
+  125, 152, 130, 92, 149, 235, 77, 130, 103, 134, 230, 190, 96, 97, 86, 88,
+  101, 119, 74, 105, 206, 193, 201, 246, 229, 164, 165, 233, 209, 214, 188, 175,
+  136, 251, 237, 251, 222, 248, 242, 230, 204, 236, 230, 234, 99, 70, 118, 129,
+  124, 105, 160, 232, 212, 158, 153, 153, 171, 211, 194, 147, 132, 122, 98, 113,
+  68, 97, 102, 102, 249, 247, 253, 255, 247, 251, 252, 246, 225, 235, 209, 254,
+  225, 196, 196, 123, 96, 67, 158, 251, 235, 250, 224, 249, 171, 233, 255, 255,
+  226, 255, 205, 206, 197, 159, 195, 226, 249, 255, 255, 251, 253, 179, 192, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 98,
+  109, 77, 75, 235, 223, 250, 178, 100, 71, 108, 104, 132, 132, 136, 130, 147,
+  134, 148, 117, 133, 242, 56, 74, 87, 167, 188, 61, 112, 74, 107, 111, 121,
+  118, 126, 91, 156, 249, 225, 238, 247, 230, 185, 226, 222, 192, 216, 164, 194,
+  234, 252, 237, 247, 164, 204, 239, 230, 230, 218, 104, 137, 187, 197, 107, 106,
+  119, 105, 121, 137, 136, 138, 213, 247, 238, 237, 176, 125, 106, 108, 144, 161,
+  117, 123, 66, 36, 255, 255, 255, 255, 253, 248, 240, 236, 251, 220, 232, 208,
+  227, 197, 207, 170, 70, 58, 197, 219, 175, 18, 116, 87, 34, 101, 87, 69,
+  52, 104, 33, 72, 59, 57, 109, 85, 73, 112, 188, 215, 238, 193, 179, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 88, 79,
+  90, 54, 134, 229, 235, 192, 118, 67, 80, 111, 120, 134, 133, 147, 132, 127,
+  132, 117, 100, 202, 255, 72, 96, 105, 146, 98, 62, 63, 88, 120, 89, 146,
+  116, 109, 64, 188, 236, 234, 244, 233, 245, 224, 199, 204, 197, 181, 152, 207,
+  255, 240, 254, 248, 218, 229, 251, 222, 232, 163, 45, 141, 235, 253, 115, 120,
+  130, 120, 101, 107, 107, 130, 233, 247, 195, 197, 157, 111, 158, 135, 108, 130,
+  138, 140, 98, 65, 255, 249, 239, 241, 239, 216, 206, 220, 209, 237, 191, 132,
+  154, 169, 131, 126, 52, 31, 129, 162, 107, 42, 36, 45, 23, 33, 40, 17,
+  26, 50, 47, 20, 45, 50, 46, 57, 61, 73, 132, 191, 207, 224, 208, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 87, 73, 84, 111,
+  101, 100, 157, 189, 128, 49, 91, 89, 93, 88, 119, 137, 128, 149, 157, 131,
+  135, 82, 78, 255, 238, 80, 100, 119, 45, 66, 116, 99, 75, 108, 130, 122,
+  111, 129, 66, 249, 253, 238, 237, 248, 237, 214, 204, 217, 189, 137, 203, 224,
+  244, 255, 226, 234, 255, 205, 161, 51, 37, 28, 111, 252, 242, 231, 143, 135,
+  142, 146, 134, 147, 120, 116, 180, 134, 45, 80, 96, 106, 107, 99, 123, 139,
+  120, 101, 112, 77, 229, 238, 236, 212, 201, 165, 175, 192, 164, 98, 60, 31,
+  46, 16, 35, 24, 26, 30, 22, 24, 31, 36, 45, 32, 52, 45, 40, 50,
+  49, 40, 53, 51, 36, 51, 24, 45, 45, 41, 57, 78, 99, 205, 229, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 102, 79, 105, 72, 112,
+  175, 186, 195, 62, 82, 96, 73, 46, 89, 78, 72, 101, 119, 122, 148, 150,
+  94, 141, 128, 159, 115, 131, 118, 82, 94, 201, 255, 255, 29, 103, 98, 101,
+  255, 87, 61, 226, 201, 222, 204, 237, 209, 212, 65, 88, 97, 86, 249, 222,
+  240, 200, 255, 221, 197, 57, 37, 78, 127, 69, 167, 200, 200, 148, 108, 122,
+  117, 98, 111, 101, 86, 69, 57, 55, 56, 59, 62, 72, 72, 71, 71, 74,
+  77, 78, 78, 63, 47, 34, 32, 33, 31, 29, 30, 25, 25, 26, 27, 31,
+  34, 36, 40, 32, 35, 42, 47, 44, 38, 42, 53, 51, 51, 50, 48, 48,
+  48, 50, 51, 45, 45, 48, 49, 55, 61, 64, 64, 55, 83, 140, 185, 190,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 75, 73, 95, 49, 65, 174,
+  207, 235, 242, 201, 191, 200, 98, 66, 71, 81, 88, 103, 102, 111, 95, 129,
+  124, 116, 104, 117, 113, 128, 108, 171, 213, 255, 255, 255, 80, 102, 128, 194,
+  255, 54, 66, 117, 97, 179, 214, 227, 235, 115, 111, 129, 134, 109, 123, 108,
+  106, 109, 109, 132, 103, 86, 95, 86, 99, 72, 86, 83, 91, 76, 64, 79,
+  75, 57, 61, 65, 55, 43, 37, 36, 40, 39, 43, 58, 60, 60, 60, 64,
+  68, 69, 69, 60, 45, 35, 35, 38, 37, 35, 37, 35, 36, 34, 33, 37,
+  41, 45, 48, 45, 43, 46, 54, 55, 51, 52, 55, 51, 51, 51, 49, 48,
+  47, 47, 49, 46, 48, 51, 51, 51, 54, 57, 57, 55, 69, 113, 113, 97,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 75, 78, 92, 71, 132, 235,
+  228, 235, 234, 245, 249, 236, 81, 94, 107, 119, 97, 90, 82, 70, 58, 87,
+  118, 118, 132, 89, 100, 119, 123, 250, 255, 253, 220, 231, 72, 105, 142, 140,
+  125, 62, 79, 224, 207, 242, 235, 227, 238, 62, 127, 123, 142, 131, 81, 83,
+  79, 101, 66, 79, 49, 94, 94, 75, 61, 64, 31, 31, 35, 38, 40, 44,
+  47, 44, 41, 53, 47, 43, 42, 44, 46, 44, 45, 54, 56, 56, 57, 61,
+  64, 65, 65, 60, 51, 42, 44, 47, 47, 45, 45, 47, 45, 41, 39, 41,
+  44, 49, 54, 57, 51, 50, 59, 66, 66, 62, 57, 55, 53, 52, 51, 51,
+  49, 47, 45, 46, 48, 51, 49, 48, 47, 49, 50, 50, 65, 109, 182, 216,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 79, 91, 55, 177, 239, 250,
+  253, 248, 255, 252, 255, 163, 49, 105, 110, 97, 92, 84, 131, 150, 213, 156,
+  134, 136, 134, 122, 122, 116, 98, 157, 118, 77, 48, 105, 94, 124, 131, 141,
+  96, 159, 215, 246, 231, 186, 189, 215, 162, 67, 94, 89, 112, 101, 99, 87,
+  89, 84, 65, 69, 59, 67, 44, 68, 50, 54, 42, 48, 38, 44, 48, 41,
+  47, 56, 45, 44, 41, 39, 40, 43, 44, 42, 43, 55, 58, 56, 57, 59,
+  61, 62, 61, 61, 56, 51, 52, 54, 53, 51, 49, 53, 52, 49, 47, 47,
+  49, 52, 54, 57, 53, 52, 58, 66, 69, 66, 59, 59, 56, 56, 58, 56,
+  52, 48, 46, 49, 46, 47, 47, 48, 45, 45, 45, 36, 47, 56, 186, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 197, 83, 74, 255, 255, 178,
+  205, 226, 242, 255, 252, 80, 73, 122, 90, 85, 185, 208, 231, 227, 255, 101,
+  102, 132, 157, 143, 153, 143, 117, 113, 129, 127, 112, 133, 135, 130, 113, 112,
+  95, 228, 239, 179, 135, 46, 98, 137, 44, 59, 66, 67, 70, 48, 76, 61,
+  62, 53, 54, 47, 64, 48, 32, 65, 57, 53, 59, 46, 28, 39, 50, 42,
+  47, 54, 34, 38, 38, 38, 39, 43, 44, 46, 46, 55, 53, 51, 51, 53,
+  53, 50, 49, 55, 53, 51, 50, 55, 56, 55, 52, 57, 57, 57, 56, 55,
+  54, 54, 54, 51, 54, 57, 61, 65, 69, 70, 68, 63, 60, 59, 61, 60,
+  57, 52, 47, 48, 42, 40, 43, 49, 47, 47, 47, 55, 58, 43, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 56, 138, 252, 199, 125,
+  142, 187, 188, 182, 211, 65, 95, 100, 70, 86, 215, 247, 239, 255, 237, 77,
+  122, 119, 145, 146, 140, 138, 146, 113, 129, 138, 137, 147, 100, 104, 119, 90,
+  101, 232, 186, 127, 96, 22, 58, 55, 18, 55, 54, 54, 53, 40, 48, 57,
+  51, 60, 50, 40, 49, 48, 54, 43, 40, 52, 47, 53, 32, 34, 40, 34,
+  40, 47, 37, 40, 40, 44, 46, 51, 54, 58, 59, 55, 53, 51, 49, 48,
+  46, 44, 42, 42, 43, 43, 44, 48, 55, 57, 53, 54, 54, 56, 55, 55,
+  51, 51, 48, 49, 57, 63, 64, 65, 69, 72, 71, 66, 63, 61, 61, 63,
+  59, 54, 50, 47, 38, 35, 43, 48, 47, 50, 55, 47, 44, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 162, 167, 93, 48,
+  26, 43, 18, 7, 52, 28, 49, 59, 82, 113, 175, 127, 114, 150, 120, 53,
+  91, 79, 92, 99, 85, 96, 122, 106, 89, 85, 86, 61, 81, 71, 83, 91,
+  63, 61, 61, 34, 52, 43, 52, 44, 54, 68, 42, 50, 55, 50, 45, 51,
+  39, 47, 30, 48, 44, 46, 51, 32, 19, 46, 35, 60, 45, 41, 41, 37,
+  38, 46, 47, 33, 36, 42, 45, 48, 49, 51, 51, 55, 53, 50, 49, 48,
+  47, 43, 40, 36, 40, 43, 40, 46, 56, 59, 56, 55, 53, 55, 52, 52,
+  50, 51, 49, 52, 60, 63, 62, 63, 67, 69, 67, 66, 63, 60, 60, 61,
+  61, 56, 52, 45, 39, 40, 43, 43, 40, 52, 66, 71, 129, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 69, 35, 44,
+  44, 56, 41, 48, 23, 58, 42, 40, 49, 53, 46, 31, 29, 40, 37, 56,
+  40, 57, 60, 64, 80, 92, 70, 84, 79, 76, 57, 55, 53, 52, 62, 53,
+  66, 58, 63, 61, 66, 59, 45, 54, 37, 65, 48, 41, 51, 35, 50, 36,
+  40, 44, 44, 40, 42, 33, 32, 53, 24, 39, 35, 35, 40, 49, 57, 55,
+  42, 36, 38, 40, 44, 51, 55, 55, 53, 51, 50, 50, 47, 45, 45, 45,
+  44, 41, 40, 42, 47, 46, 43, 45, 55, 58, 54, 63, 62, 60, 56, 56,
+  57, 59, 58, 54, 60, 61, 59, 62, 67, 64, 59, 64, 62, 58, 58, 60,
+  58, 54, 50, 41, 41, 45, 48, 40, 37, 53, 76, 80, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 54, 48,
+  46, 48, 50, 46, 50, 52, 49, 48, 51, 50, 46, 40, 37, 38, 37, 38,
+  42, 48, 51, 63, 75, 66, 65, 79, 51, 58, 43, 40, 40, 43, 45, 48,
+  46, 47, 47, 54, 53, 54, 53, 55, 54, 54, 53, 48, 46, 43, 40, 40,
+  41, 42, 42, 39, 42, 45, 42, 39, 35, 35, 39, 40, 43, 42, 40, 47,
+  55, 50, 38, 47, 45, 46, 47, 48, 48, 47, 45, 49, 47, 46, 47, 48,
+  46, 44, 42, 44, 49, 56, 57, 55, 50, 50, 50, 60, 61, 61, 61, 60,
+  56, 54, 53, 59, 59, 61, 62, 60, 61, 63, 65, 64, 57, 65, 67, 58,
+  63, 64, 43, 36, 45, 55, 56, 47, 45, 61, 79, 164, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 55, 51,
+  50, 51, 53, 44, 47, 47, 44, 43, 45, 47, 41, 44, 42, 41, 39, 37,
+  37, 38, 41, 53, 67, 63, 57, 68, 42, 51, 32, 30, 32, 34, 36, 38,
+  39, 40, 41, 47, 48, 49, 50, 50, 50, 50, 49, 47, 45, 43, 39, 40,
+  38, 42, 43, 45, 45, 42, 43, 41, 41, 38, 38, 39, 42, 43, 43, 45,
+  52, 53, 49, 45, 48, 50, 48, 45, 43, 47, 48, 52, 50, 49, 50, 52,
+  53, 52, 51, 53, 55, 57, 57, 55, 54, 53, 54, 61, 61, 62, 63, 63,
+  60, 60, 59, 55, 57, 61, 65, 67, 68, 71, 74, 72, 64, 72, 71, 61,
+  63, 62, 43, 43, 44, 46, 43, 48, 60, 77, 89, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 188, 50,
+  48, 48, 48, 41, 44, 45, 42, 42, 44, 44, 41, 43, 44, 44, 43, 39,
+  37, 37, 38, 47, 63, 67, 56, 63, 46, 55, 33, 34, 36, 39, 40, 39,
+  39, 40, 41, 44, 45, 46, 47, 48, 49, 50, 50, 50, 47, 44, 39, 39,
+  38, 43, 43, 47, 43, 40, 41, 43, 44, 38, 36, 40, 40, 43, 47, 48,
+  49, 53, 59, 39, 49, 61, 66, 61, 54, 52, 52, 59, 57, 55, 55, 56,
+  57, 56, 55, 60, 58, 57, 57, 59, 60, 60, 60, 64, 66, 66, 67, 68,
+  67, 68, 67, 64, 67, 70, 71, 72, 73, 75, 75, 77, 71, 75, 74, 66,
+  66, 63, 49, 44, 54, 60, 52, 51, 57, 66, 68, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 47,
+  42, 40, 38, 42, 45, 46, 43, 43, 46, 46, 42, 39, 39, 42, 43, 42,
+  40, 40, 41, 38, 54, 73, 58, 62, 55, 62, 39, 40, 44, 46, 44, 40,
+  38, 39, 41, 49, 49, 49, 50, 51, 53, 55, 56, 53, 49, 45, 39, 37,
+  38, 41, 44, 47, 44, 42, 40, 42, 41, 39, 37, 45, 41, 44, 52, 53,
+  48, 49, 58, 64, 61, 57, 52, 51, 54, 61, 67, 60, 58, 58, 59, 60,
+  60, 59, 57, 64, 61, 59, 61, 65, 67, 65, 64, 72, 71, 72, 69, 70,
+  71, 73, 72, 69, 70, 73, 76, 77, 77, 81, 82, 78, 73, 74, 75, 73,
+  71, 69, 60, 57, 80, 91, 73, 53, 49, 55, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 46,
+  42, 39, 37, 42, 45, 44, 40, 40, 44, 45, 43, 37, 40, 43, 43, 43,
+  41, 42, 43, 34, 45, 78, 62, 60, 59, 65, 40, 39, 41, 42, 38, 33,
+  32, 35, 39, 54, 53, 52, 51, 52, 55, 57, 59, 54, 49, 44, 39, 36,
+  38, 41, 43, 44, 45, 44, 42, 40, 38, 41, 41, 47, 40, 45, 56, 58,
+  52, 50, 52, 62, 59, 58, 59, 63, 61, 55, 52, 55, 55, 56, 59, 62,
+  64, 62, 61, 66, 64, 64, 67, 71, 71, 68, 65, 75, 75, 74, 71, 70,
+  71, 71, 70, 59, 61, 67, 73, 79, 84, 93, 96, 81, 79, 76, 75, 79,
+  74, 70, 68, 72, 91, 97, 76, 55, 51, 55, 55, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 48,
+  46, 45, 44, 41, 43, 42, 38, 38, 41, 44, 42, 42, 44, 46, 46, 44,
+  42, 43, 43, 37, 39, 83, 71, 60, 56, 59, 40, 41, 44, 43, 39, 33,
+  34, 40, 47, 61, 59, 56, 54, 54, 56, 59, 61, 57, 51, 45, 39, 35,
+  37, 42, 44, 42, 45, 45, 43, 38, 38, 41, 46, 47, 45, 51, 59, 62,
+  61, 56, 53, 50, 51, 57, 68, 80, 80, 72, 64, 61, 59, 57, 58, 61,
+  63, 64, 63, 63, 63, 64, 67, 68, 67, 65, 63, 72, 72, 70, 68, 66,
+  63, 62, 62, 57, 58, 62, 64, 70, 78, 87, 90, 88, 85, 77, 74, 79,
+  72, 63, 66, 58, 66, 70, 63, 60, 58, 46, 32, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 47,
+  47, 45, 45, 40, 42, 40, 36, 37, 40, 44, 42, 45, 48, 48, 48, 47,
+  47, 50, 51, 44, 38, 90, 81, 66, 60, 60, 47, 56, 58, 54, 45, 37,
+  37, 45, 53, 70, 67, 62, 58, 57, 58, 60, 62, 59, 53, 45, 39, 35,
+  37, 42, 45, 41, 41, 41, 41, 40, 42, 44, 47, 52, 57, 61, 61, 61,
+  62, 60, 56, 71, 60, 47, 44, 55, 73, 90, 102, 84, 77, 66, 58, 55,
+  56, 58, 59, 54, 55, 56, 55, 53, 53, 53, 56, 62, 65, 64, 60, 58,
+  56, 53, 51, 56, 56, 57, 55, 59, 65, 74, 78, 86, 85, 71, 66, 74,
+  62, 50, 58, 44, 43, 46, 52, 63, 67, 64, 62, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 46, 44,
+  43, 41, 41, 43, 45, 43, 37, 38, 43, 45, 44, 44, 46, 48, 48, 48,
+  52, 57, 59, 46, 36, 93, 89, 73, 67, 67, 58, 68, 69, 61, 49, 37,
+  35, 42, 50, 77, 73, 67, 62, 60, 60, 63, 65, 60, 54, 46, 36, 34,
+  35, 40, 45, 44, 40, 37, 37, 43, 45, 46, 44, 57, 69, 72, 63, 56,
+  58, 60, 58, 57, 59, 63, 64, 66, 65, 64, 65, 109, 96, 77, 59, 50,
+  47, 49, 51, 45, 46, 45, 42, 38, 38, 42, 47, 55, 57, 57, 56, 53,
+  50, 47, 45, 46, 46, 46, 48, 51, 60, 71, 77, 77, 77, 62, 56, 67,
+  53, 40, 51, 54, 45, 37, 42, 58, 85, 122, 151, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 43, 44,
+  45, 42, 41, 42, 37, 37, 41, 42, 39, 40, 45, 37, 47, 53, 50, 46,
+  49, 61, 72, 43, 29, 69, 98, 70, 67, 77, 50, 70, 66, 63, 58, 42,
+  27, 33, 49, 67, 57, 60, 64, 56, 54, 61, 62, 69, 51, 40, 41, 40,
+  34, 37, 44, 37, 40, 40, 40, 41, 42, 48, 52, 53, 64, 70, 63, 60,
+  66, 68, 64, 59, 60, 62, 64, 68, 68, 67, 64, 78, 107, 109, 69, 38,
+  41, 51, 49, 43, 50, 45, 40, 45, 37, 32, 48, 52, 40, 42, 56, 48,
+  46, 53, 36, 39, 29, 48, 54, 37, 50, 73, 65, 68, 62, 54, 71, 51,
+  29, 53, 40, 55, 38, 46, 38, 44, 82, 98, 99, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 43, 42, 43,
+  44, 41, 40, 41, 36, 35, 39, 40, 36, 38, 45, 41, 52, 61, 60, 57,
+  58, 66, 74, 60, 45, 73, 97, 81, 80, 83, 61, 73, 69, 68, 66, 54,
+  43, 48, 62, 80, 69, 71, 75, 68, 67, 72, 70, 61, 46, 37, 37, 41,
+  36, 40, 46, 47, 49, 48, 49, 47, 50, 57, 60, 63, 72, 76, 69, 66,
+  74, 75, 71, 69, 68, 68, 69, 71, 70, 70, 67, 64, 51, 74, 121, 123,
+  75, 43, 48, 48, 18, 28, 41, 33, 35, 60, 33, 36, 65, 64, 44, 39,
+  36, 61, 36, 40, 57, 51, 48, 47, 38, 56, 82, 61, 43, 42, 29, 17,
+  29, 35, 24, 56, 27, 29, 41, 48, 36, 33, 69, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 47, 46, 44,
+  44, 42, 40, 40, 36, 35, 36, 37, 36, 39, 46, 48, 58, 68, 70, 69,
+  68, 71, 76, 71, 58, 66, 81, 84, 86, 79, 64, 74, 70, 70, 71, 67,
+  60, 64, 74, 85, 73, 74, 78, 74, 73, 75, 69, 57, 45, 39, 40, 44,
+  40, 43, 47, 48, 49, 50, 51, 50, 54, 60, 63, 68, 74, 77, 71, 70,
+  76, 76, 73, 75, 72, 71, 69, 70, 69, 68, 66, 63, 72, 64, 55, 83,
+  126, 128, 98, 50, 94, 72, 37, 60, 36, 44, 42, 35, 40, 28, 35, 62,
+  37, 43, 40, 21, 49, 41, 33, 27, 35, 68, 64, 85, 77, 113, 108, 97,
+  102, 81, 85, 60, 122, 126, 74, 89, 120, 95, 84, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 52, 51, 51, 48,
+  47, 43, 40, 40, 39, 36, 36, 39, 42, 46, 50, 57, 64, 73, 76, 76,
+  74, 76, 77, 72, 63, 57, 65, 85, 86, 72, 62, 69, 68, 68, 71, 71,
+  68, 70, 76, 83, 72, 73, 77, 74, 75, 73, 62, 61, 51, 44, 46, 47,
+  45, 44, 48, 50, 50, 51, 50, 52, 57, 61, 62, 72, 74, 75, 72, 75,
+  78, 79, 73, 79, 75, 71, 69, 67, 67, 65, 64, 69, 65, 56, 52, 72,
+  105, 124, 126, 114, 66, 36, 46, 63, 30, 57, 34, 41, 48, 39, 34, 58,
+  63, 33, 57, 52, 22, 28, 57, 27, 45, 112, 77, 87, 81, 113, 122, 98,
+  70, 69, 109, 115, 168, 166, 129, 140, 124, 84, 111, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 53, 55, 55, 51,
+  48, 44, 40, 43, 45, 44, 44, 48, 52, 57, 59, 70, 72, 77, 79, 80,
+  80, 82, 82, 78, 73, 62, 65, 89, 92, 75, 68, 69, 68, 67, 68, 69,
+  68, 69, 72, 82, 74, 76, 80, 77, 78, 75, 61, 61, 53, 47, 48, 50,
+  49, 48, 48, 57, 56, 55, 58, 61, 66, 68, 68, 77, 76, 76, 75, 80,
+  83, 82, 78, 86, 81, 77, 72, 72, 71, 69, 68, 65, 55, 61, 81, 81,
+  62, 60, 75, 107, 95, 70, 40, 26, 18, 49, 24, 26, 13, 31, 43, 34,
+  48, 28, 168, 124, 67, 91, 151, 108, 68, 95, 74, 58, 49, 31, 43, 38,
+  29, 81, 134, 162, 156, 135, 125, 120, 51, 21, 158, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 49, 53, 57, 59, 55,
+  50, 48, 45, 48, 51, 53, 56, 60, 68, 73, 73, 83, 84, 85, 84, 87,
+  86, 87, 88, 78, 79, 72, 73, 86, 91, 81, 78, 74, 74, 72, 69, 68,
+  68, 70, 72, 79, 75, 81, 83, 79, 80, 77, 63, 56, 50, 45, 44, 49,
+  50, 53, 51, 57, 57, 57, 62, 66, 70, 70, 70, 78, 73, 73, 76, 82,
+  86, 83, 79, 83, 78, 75, 73, 73, 74, 72, 71, 67, 79, 73, 53, 51,
+  64, 58, 36, 43, 125, 133, 79, 47, 29, 10, 27, 56, 34, 42, 39, 31,
+  63, 60, 209, 244, 225, 197, 170, 120, 59, 30, 39, 80, 82, 45, 64, 100,
+  115, 144, 142, 86, 82, 63, 37, 33, 21, 37, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 197, 62, 47, 55, 61, 66, 64,
+  60, 58, 56, 54, 59, 64, 68, 74, 84, 87, 86, 91, 90, 90, 89, 92,
+  90, 88, 85, 77, 79, 77, 74, 76, 84, 87, 84, 78, 80, 77, 72, 68,
+  68, 72, 74, 75, 77, 85, 87, 80, 82, 80, 66, 59, 54, 48, 44, 49,
+  52, 55, 53, 50, 51, 55, 61, 66, 70, 67, 65, 78, 72, 70, 76, 84,
+  89, 84, 80, 79, 76, 75, 73, 74, 76, 76, 75, 72, 67, 64, 65, 68,
+  66, 57, 49, 49, 8, 56, 126, 104, 99, 39, 21, 16, 40, 47, 26, 109,
+  210, 228, 242, 196, 125, 66, 13, 12, 28, 38, 98, 151, 142, 117, 135, 182,
+  177, 121, 67, 58, 34, 37, 41, 45, 67, 127, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 81, 62, 42, 50, 60, 67, 67,
+  66, 64, 62, 53, 60, 68, 73, 81, 93, 95, 90, 89, 88, 88, 90, 91,
+  89, 84, 80, 75, 77, 80, 74, 68, 76, 91, 90, 80, 81, 78, 70, 64,
+  65, 71, 74, 75, 80, 90, 91, 85, 87, 85, 72, 67, 61, 53, 49, 48,
+  53, 54, 51, 49, 51, 55, 63, 69, 71, 67, 64, 84, 76, 75, 82, 94,
+  96, 93, 89, 81, 79, 79, 78, 80, 82, 83, 80, 70, 70, 68, 64, 63,
+  64, 64, 63, 37, 36, 39, 70, 115, 187, 73, 25, 52, 23, 30, 83, 215,
+  229, 246, 230, 189, 34, 8, 31, 37, 39, 41, 109, 200, 156, 143, 156, 205,
+  188, 90, 46, 50, 36, 53, 49, 46, 96, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 65, 61, 117, 104, 106, 81, 63, 78,
+  89, 74, 63, 57, 61, 74, 78, 78, 89, 96, 87, 96, 80, 84, 94, 90,
+  83, 84, 83, 84, 83, 81, 78, 76, 72, 71, 70, 85, 87, 77, 63, 56,
+  62, 70, 72, 81, 84, 85, 87, 86, 82, 80, 77, 69, 70, 72, 66, 58,
+  55, 55, 56, 42, 48, 56, 60, 62, 68, 76, 81, 79, 88, 94, 93, 92,
+  95, 93, 88, 87, 88, 88, 88, 86, 83, 78, 75, 76, 80, 82, 78, 77,
+  76, 73, 67, 81, 32, 59, 42, 38, 51, 157, 192, 23, 52, 183, 247, 244,
+  241, 224, 111, 55, 19, 45, 45, 24, 49, 81, 106, 142, 75, 104, 123, 83,
+  59, 45, 41, 43, 46, 51, 56, 73, 192, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 197, 86, 101, 151, 170, 158, 145, 114, 83,
+  87, 93, 78, 74, 70, 81, 95, 94, 95, 102, 100, 90, 76, 80, 91, 89,
+  85, 86, 86, 87, 86, 85, 82, 79, 76, 74, 73, 72, 77, 77, 71, 68,
+  72, 75, 75, 81, 82, 85, 84, 84, 80, 79, 78, 72, 70, 69, 67, 65,
+  63, 62, 61, 54, 58, 65, 67, 68, 71, 77, 81, 80, 85, 87, 84, 85,
+  92, 96, 96, 90, 92, 93, 92, 89, 85, 81, 80, 78, 82, 83, 78, 80,
+  79, 77, 70, 59, 69, 69, 27, 52, 37, 96, 166, 149, 191, 250, 221, 114,
+  76, 75, 14, 60, 40, 41, 35, 46, 63, 71, 104, 112, 42, 47, 64, 55,
+  52, 39, 31, 51, 31, 45, 100, 168, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 85, 118, 139, 150, 176, 177, 166, 173, 147, 94,
+  97, 121, 105, 87, 74, 82, 101, 99, 92, 100, 105, 93, 80, 84, 94, 92,
+  89, 91, 89, 87, 85, 85, 82, 78, 75, 73, 72, 62, 68, 71, 71, 70,
+  74, 77, 76, 84, 84, 86, 83, 82, 78, 79, 79, 76, 71, 67, 67, 72,
+  73, 70, 66, 68, 70, 75, 74, 73, 74, 79, 81, 80, 83, 85, 85, 86,
+  92, 97, 98, 92, 96, 98, 97, 93, 88, 87, 87, 85, 87, 86, 80, 79,
+  78, 74, 69, 71, 55, 59, 34, 41, 17, 58, 95, 97, 164, 207, 149, 35,
+  22, 46, 39, 41, 46, 37, 40, 81, 79, 48, 70, 69, 47, 49, 44, 40,
+  52, 48, 41, 34, 43, 93, 212, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 115, 111, 145, 162, 159, 165, 175, 171, 178, 155, 108,
+  98, 102, 84, 90, 79, 84, 98, 95, 91, 97, 97, 100, 87, 91, 98, 95,
+  92, 93, 89, 87, 86, 86, 83, 79, 76, 74, 73, 69, 70, 69, 69, 68,
+  73, 77, 78, 85, 86, 87, 82, 80, 76, 79, 80, 77, 74, 71, 70, 74,
+  75, 74, 73, 75, 76, 78, 78, 77, 79, 83, 84, 80, 85, 92, 95, 95,
+  95, 94, 92, 93, 97, 100, 99, 94, 90, 90, 92, 92, 93, 89, 81, 77,
+  77, 72, 67, 57, 35, 55, 38, 30, 41, 83, 68, 93, 135, 135, 99, 33,
+  38, 40, 40, 33, 44, 41, 55, 93, 86, 49, 46, 39, 63, 70, 49, 44,
+  53, 49, 41, 33, 102, 195, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 110, 113, 133, 163, 176, 168, 166, 181, 183, 171, 152, 143,
+  128, 105, 93, 96, 92, 94, 97, 94, 100, 102, 93, 99, 89, 92, 98, 95,
+  94, 95, 89, 92, 91, 91, 88, 86, 83, 81, 80, 77, 76, 76, 78, 78,
+  79, 80, 82, 85, 86, 87, 82, 78, 75, 79, 82, 76, 77, 76, 74, 71,
+  70, 75, 78, 78, 78, 78, 78, 81, 85, 90, 91, 87, 89, 94, 97, 96,
+  91, 89, 88, 92, 95, 97, 97, 94, 92, 92, 93, 91, 92, 90, 83, 80,
+  79, 75, 71, 55, 59, 60, 35, 47, 62, 77, 67, 49, 56, 30, 26, 16,
+  36, 34, 45, 53, 45, 48, 64, 75, 83, 81, 58, 36, 42, 34, 35, 41,
+  36, 39, 54, 89, 178, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 116, 128, 129, 172, 192, 189, 177, 170, 171, 175, 157, 148, 165,
+  161, 142, 139, 105, 102, 101, 97, 95, 105, 107, 91, 90, 84, 89, 95, 93,
+  96, 98, 91, 91, 90, 91, 89, 87, 85, 83, 83, 75, 75, 80, 88, 90,
+  86, 80, 78, 83, 85, 88, 82, 78, 75, 79, 83, 76, 78, 79, 75, 70,
+  69, 75, 80, 82, 81, 80, 80, 85, 89, 94, 95, 94, 90, 90, 90, 88,
+  85, 87, 92, 94, 94, 94, 95, 96, 95, 95, 94, 87, 90, 91, 87, 87,
+  87, 85, 81, 80, 19, 15, 58, 76, 61, 55, 51, 46, 49, 34, 35, 36,
+  39, 39, 57, 53, 39, 55, 77, 65, 82, 106, 67, 63, 47, 34, 57, 58,
+  41, 87, 151, 188, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 211, 105, 125, 143, 143, 184, 186, 179, 168, 157, 171, 164, 161, 155, 151,
+  152, 151, 144, 110, 99, 98, 100, 97, 100, 102, 94, 91, 86, 91, 95, 94,
+  98, 101, 93, 88, 88, 89, 88, 87, 85, 85, 84, 79, 78, 81, 91, 92,
+  86, 80, 79, 80, 84, 88, 83, 79, 75, 80, 84, 78, 77, 75, 73, 72,
+  74, 77, 79, 84, 81, 80, 79, 81, 85, 88, 88, 90, 86, 87, 90, 90,
+  87, 90, 97, 98, 95, 93, 96, 100, 102, 99, 96, 90, 94, 95, 92, 92,
+  92, 89, 84, 73, 35, 42, 89, 102, 84, 62, 45, 29, 38, 45, 40, 45,
+  35, 38, 45, 43, 41, 56, 79, 68, 86, 117, 79, 35, 37, 32, 49, 43,
+  47, 124, 212, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 141, 125, 162, 181, 162, 184, 167, 169, 173, 168, 156, 146, 166, 169, 138,
+  143, 163, 151, 116, 95, 93, 105, 101, 95, 96, 98, 97, 93, 97, 99, 97,
+  100, 102, 92, 91, 91, 92, 92, 91, 90, 90, 90, 96, 89, 86, 91, 91,
+  87, 85, 87, 78, 83, 88, 84, 80, 76, 80, 85, 80, 76, 71, 71, 76,
+  80, 80, 79, 85, 82, 79, 76, 77, 79, 81, 80, 82, 81, 89, 98, 100,
+  95, 94, 99, 102, 97, 94, 97, 104, 107, 103, 98, 97, 101, 102, 98, 96,
+  94, 89, 83, 69, 205, 191, 105, 113, 110, 44, 22, 38, 38, 44, 28, 47,
+  46, 55, 43, 54, 57, 53, 65, 67, 90, 130, 108, 62, 85, 79, 82, 92,
+  136, 206, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  161, 161, 163, 183, 176, 172, 170, 169, 167, 164, 159, 155, 150, 153, 159, 147,
+  133, 145, 170, 145, 92, 103, 84, 122, 108, 108, 88, 100, 104, 95, 89, 101,
+  105, 101, 103, 103, 91, 90, 99, 101, 93, 93, 102, 99, 90, 88, 97, 97,
+  88, 84, 87, 77, 78, 81, 79, 85, 86, 84, 77, 81, 79, 75, 73, 76,
+  81, 82, 80, 84, 83, 82, 78, 78, 82, 87, 86, 83, 86, 88, 86, 88,
+  94, 98, 99, 101, 99, 94, 91, 98, 108, 106, 98, 87, 83, 81, 87, 100,
+  104, 89, 71, 82, 192, 119, 41, 67, 96, 11, 44, 47, 46, 43, 43, 46,
+  51, 55, 56, 60, 49, 72, 71, 71, 91, 96, 112, 86, 86, 122, 152, 205,
+  242, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  167, 175, 182, 180, 176, 172, 170, 171, 169, 166, 162, 170, 166, 165, 160, 148,
+  137, 138, 141, 158, 130, 110, 101, 90, 112, 101, 106, 98, 104, 98, 94, 105,
+  107, 101, 100, 105, 96, 94, 98, 98, 93, 92, 97, 93, 87, 89, 99, 99,
+  90, 86, 89, 85, 84, 84, 82, 89, 90, 85, 74, 81, 77, 75, 78, 80,
+  80, 80, 79, 83, 83, 84, 83, 83, 84, 87, 85, 82, 86, 88, 86, 87,
+  93, 97, 97, 98, 96, 91, 89, 96, 104, 103, 96, 85, 78, 80, 93, 101,
+  96, 88, 85, 91, 99, 134, 141, 49, 56, 54, 60, 50, 49, 47, 47, 50,
+  54, 56, 57, 66, 56, 76, 74, 72, 89, 93, 105, 122, 148, 199, 204, 215,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 174, 177, 177, 173, 172, 170, 171, 171, 169, 166, 151, 155, 158, 155, 159,
+  164, 164, 154, 150, 138, 106, 95, 73, 113, 97, 107, 96, 105, 102, 99, 110,
+  110, 101, 98, 106, 102, 99, 95, 94, 93, 92, 91, 90, 89, 93, 102, 98,
+  88, 84, 87, 82, 81, 80, 80, 87, 88, 82, 70, 73, 68, 70, 78, 83,
+  79, 78, 81, 83, 83, 83, 84, 86, 85, 85, 85, 81, 85, 87, 85, 85,
+  90, 94, 93, 94, 92, 88, 88, 94, 100, 99, 94, 85, 77, 83, 99, 99,
+  87, 86, 97, 90, 54, 102, 149, 64, 51, 51, 63, 48, 47, 47, 49, 53,
+  56, 57, 57, 67, 60, 77, 77, 74, 87, 92, 98, 118, 168, 238, 229, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 172, 170, 172, 172, 169, 169, 172, 172, 173, 169, 163, 164, 163, 161, 163,
+  167, 163, 153, 156, 143, 128, 100, 109, 129, 110, 98, 100, 109, 105, 101, 112,
+  112, 103, 101, 105, 104, 100, 92, 90, 93, 92, 87, 94, 94, 97, 101, 93,
+  84, 81, 84, 72, 74, 78, 77, 83, 84, 82, 74, 69, 63, 65, 76, 82,
+  77, 78, 86, 84, 82, 82, 84, 86, 84, 84, 84, 80, 84, 86, 84, 84,
+  88, 90, 89, 92, 90, 87, 88, 93, 97, 96, 93, 87, 85, 90, 96, 97,
+  88, 88, 95, 82, 64, 62, 79, 60, 59, 32, 49, 48, 48, 50, 54, 59,
+  63, 64, 63, 68, 67, 80, 83, 81, 93, 100, 99, 92, 145, 224, 223, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 230, 184, 172, 173, 175, 175, 176, 175, 177, 176, 180, 170, 168, 170, 166,
+  159, 156, 159, 158, 156, 148, 124, 129, 130, 98, 91, 108, 114, 107, 101, 111,
+  113, 106, 106, 102, 101, 97, 90, 88, 92, 92, 88, 95, 95, 96, 95, 88,
+  82, 82, 86, 70, 76, 82, 79, 81, 81, 83, 81, 76, 70, 70, 76, 77,
+  74, 80, 88, 85, 80, 78, 80, 80, 78, 83, 86, 80, 84, 86, 83, 83,
+  86, 87, 86, 91, 88, 87, 90, 94, 95, 95, 94, 91, 96, 95, 90, 92,
+  95, 92, 81, 74, 52, 63, 57, 19, 44, 53, 44, 55, 56, 58, 61, 66,
+  68, 68, 67, 72, 76, 83, 88, 87, 96, 108, 99, 92, 134, 216, 225, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 181, 176, 178, 180, 181, 180, 181, 182, 181, 171, 162, 166, 171, 169,
+  163, 168, 178, 146, 161, 151, 152, 127, 123, 80, 105, 114, 119, 109, 101, 111,
+  114, 109, 110, 102, 97, 92, 89, 88, 88, 89, 89, 91, 91, 90, 89, 85,
+  85, 86, 88, 74, 78, 81, 76, 76, 77, 79, 78, 86, 84, 82, 78, 75,
+  75, 80, 83, 87, 79, 76, 79, 79, 76, 82, 88, 80, 85, 87, 84, 82,
+  85, 85, 83, 91, 87, 87, 91, 94, 93, 93, 94, 94, 102, 97, 86, 86,
+  96, 87, 69, 72, 43, 62, 62, 32, 52, 66, 58, 58, 58, 58, 60, 63,
+  64, 63, 62, 70, 78, 77, 84, 83, 89, 105, 90, 99, 123, 206, 228, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 177, 179, 182, 182, 181, 181, 184, 184, 179, 176, 176, 170, 166,
+  166, 165, 164, 159, 166, 166, 170, 156, 124, 83, 121, 116, 122, 111, 104, 113,
+  115, 110, 111, 104, 93, 88, 89, 88, 82, 83, 89, 87, 87, 86, 86, 86,
+  87, 86, 83, 79, 77, 74, 69, 75, 80, 80, 75, 82, 87, 86, 76, 74,
+  78, 82, 77, 86, 78, 77, 83, 83, 77, 79, 87, 80, 86, 88, 85, 83,
+  84, 84, 82, 89, 85, 86, 92, 94, 91, 91, 94, 95, 97, 94, 88, 85,
+  87, 77, 66, 71, 54, 57, 58, 69, 69, 53, 60, 56, 55, 55, 58, 61,
+  64, 64, 64, 69, 79, 74, 83, 83, 90, 109, 91, 109, 102, 179, 221, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 175, 177, 179, 179, 178, 177, 180, 180, 171, 179, 177, 164, 164,
+  175, 172, 158, 175, 155, 173, 158, 185, 107, 75, 95, 114, 121, 111, 104, 113,
+  115, 110, 110, 107, 92, 86, 90, 89, 79, 79, 89, 88, 88, 87, 87, 89,
+  89, 84, 77, 88, 80, 70, 71, 81, 92, 88, 79, 70, 83, 85, 73, 72,
+  81, 84, 74, 85, 78, 78, 86, 87, 78, 79, 85, 81, 86, 88, 85, 83,
+  84, 84, 81, 88, 84, 85, 91, 93, 89, 89, 93, 94, 90, 91, 91, 87,
+  76, 70, 69, 72, 57, 72, 69, 64, 62, 52, 48, 56, 56, 57, 61, 68,
+  73, 76, 77, 74, 86, 80, 91, 93, 102, 126, 106, 130, 95, 158, 216, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 228, 176, 176, 177, 179, 180, 183, 182, 178, 169, 169, 175, 169,
+  159, 163, 178, 173, 166, 160, 162, 169, 164, 139, 115, 100, 118, 115, 104, 81,
+  125, 126, 96, 107, 96, 89, 89, 87, 77, 76, 80, 93, 91, 87, 82, 82,
+  85, 85, 83, 83, 77, 73, 72, 74, 75, 74, 74, 76, 75, 76, 79, 82,
+  81, 76, 72, 79, 82, 79, 73, 75, 79, 83, 78, 83, 83, 82, 81, 79,
+  80, 83, 86, 75, 80, 84, 85, 83, 83, 86, 89, 90, 90, 87, 82, 77,
+  74, 75, 76, 57, 57, 59, 58, 58, 54, 55, 56, 65, 66, 61, 66, 79,
+  81, 81, 92, 92, 88, 75, 104, 94, 92, 138, 115, 116, 110, 105, 200, 213,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 176, 177, 176, 180, 180, 181, 180, 179, 174, 174, 177, 174,
+  167, 169, 177, 171, 166, 161, 163, 169, 166, 145, 123, 116, 105, 102, 120, 101,
+  112, 108, 107, 101, 92, 87, 87, 87, 79, 79, 81, 85, 84, 85, 85, 86,
+  88, 89, 89, 74, 74, 74, 73, 71, 71, 71, 72, 75, 74, 75, 77, 79,
+  79, 75, 71, 76, 79, 79, 75, 75, 79, 79, 75, 79, 80, 82, 82, 80,
+  79, 80, 81, 82, 82, 83, 84, 86, 87, 86, 85, 86, 86, 84, 81, 76,
+  73, 74, 75, 75, 68, 63, 61, 56, 48, 45, 49, 54, 61, 63, 68, 78,
+  77, 80, 93, 100, 99, 94, 114, 108, 106, 135, 123, 128, 119, 108, 185, 221,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 230, 180, 178, 181, 180, 179, 179, 179, 178, 176, 176, 176,
+  175, 172, 170, 167, 165, 163, 163, 168, 166, 152, 136, 128, 102, 96, 123, 111,
+  102, 96, 106, 98, 88, 85, 85, 86, 79, 79, 82, 78, 80, 86, 88, 87,
+  85, 86, 88, 76, 81, 85, 85, 81, 78, 80, 82, 73, 73, 73, 75, 77,
+  76, 73, 71, 72, 76, 78, 77, 77, 79, 77, 73, 76, 78, 82, 82, 81,
+  78, 77, 77, 85, 82, 80, 81, 85, 86, 83, 78, 81, 82, 81, 79, 74,
+  71, 70, 70, 69, 59, 55, 60, 60, 52, 53, 62, 64, 75, 81, 86, 92,
+  89, 91, 106, 112, 113, 115, 122, 121, 119, 127, 131, 128, 114, 93, 141, 219,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 182, 182, 183, 181, 179, 178, 177, 177, 175, 172, 174,
+  177, 171, 161, 165, 166, 164, 162, 164, 164, 155, 145, 136, 124, 111, 107, 103,
+  104, 102, 98, 98, 89, 84, 85, 86, 78, 79, 81, 76, 81, 88, 91, 86,
+  79, 77, 80, 71, 74, 76, 75, 72, 70, 71, 73, 74, 73, 73, 74, 75,
+  74, 74, 73, 72, 74, 76, 76, 77, 77, 75, 73, 77, 79, 81, 81, 79,
+  78, 77, 78, 79, 77, 76, 78, 80, 81, 78, 76, 78, 80, 80, 77, 72,
+  67, 65, 65, 56, 45, 46, 60, 66, 59, 60, 71, 68, 76, 78, 82, 89,
+  86, 87, 100, 102, 105, 114, 113, 120, 122, 118, 135, 143, 127, 101, 117, 215,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 232, 183, 183, 181, 179, 177, 176, 174, 171, 169, 172,
+  173, 166, 155, 162, 163, 162, 159, 158, 158, 153, 148, 151, 147, 127, 98, 100,
+  105, 107, 99, 100, 91, 85, 86, 86, 78, 76, 80, 75, 79, 86, 91, 85,
+  74, 72, 76, 79, 75, 71, 69, 70, 71, 70, 69, 74, 75, 75, 74, 73,
+  74, 74, 75, 74, 73, 73, 75, 75, 75, 75, 77, 81, 81, 81, 79, 77,
+  77, 78, 81, 71, 74, 77, 77, 76, 75, 77, 79, 78, 79, 78, 74, 68,
+  63, 60, 59, 59, 50, 51, 62, 66, 55, 50, 54, 71, 73, 70, 74, 85,
+  86, 86, 97, 88, 90, 99, 100, 109, 113, 110, 127, 133, 125, 113, 119, 222,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 184, 184, 181, 178, 175, 180, 174, 171, 172, 173,
+  171, 164, 157, 161, 162, 161, 157, 157, 157, 153, 147, 158, 150, 130, 100, 105,
+  94, 97, 102, 98, 91, 85, 86, 84, 77, 75, 79, 72, 72, 79, 86, 84,
+  75, 73, 79, 89, 83, 76, 74, 76, 78, 77, 75, 75, 75, 75, 73, 71,
+  72, 75, 77, 75, 72, 72, 75, 76, 74, 76, 79, 82, 82, 80, 78, 75,
+  76, 78, 81, 69, 74, 78, 78, 75, 74, 77, 80, 74, 75, 73, 69, 63,
+  58, 56, 56, 61, 57, 57, 62, 63, 55, 45, 41, 68, 68, 63, 68, 81,
+  83, 84, 94, 95, 93, 93, 100, 101, 98, 102, 103, 118, 108, 105, 116, 217,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 185, 184, 181, 178, 175, 182, 172, 169, 174, 174,
+  165, 160, 161, 160, 160, 159, 156, 158, 160, 156, 149, 153, 149, 138, 109, 117,
+  94, 95, 103, 95, 87, 82, 84, 83, 75, 75, 80, 72, 68, 71, 81, 82,
+  76, 75, 81, 73, 71, 69, 68, 67, 68, 67, 67, 73, 74, 73, 71, 69,
+  69, 73, 77, 74, 71, 73, 79, 80, 76, 75, 78, 79, 80, 80, 78, 76,
+  75, 75, 77, 72, 73, 75, 75, 74, 74, 74, 74, 68, 67, 66, 62, 57,
+  54, 54, 55, 55, 57, 58, 57, 61, 62, 54, 43, 48, 52, 49, 51, 59,
+  56, 56, 66, 78, 76, 71, 95, 92, 85, 104, 83, 111, 95, 101, 124, 213,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 232, 184, 181, 178, 175, 181, 169, 167, 174, 172,
+  160, 156, 163, 158, 159, 157, 156, 160, 163, 159, 151, 146, 161, 158, 117, 129,
+  109, 109, 104, 91, 82, 77, 81, 80, 75, 76, 81, 75, 67, 68, 78, 81,
+  75, 74, 81, 68, 72, 75, 74, 71, 69, 70, 72, 72, 73, 72, 69, 66,
+  67, 72, 76, 71, 70, 74, 82, 83, 77, 74, 76, 75, 77, 80, 79, 77,
+  74, 73, 72, 75, 72, 69, 70, 73, 73, 69, 65, 62, 62, 60, 56, 53,
+  52, 54, 55, 55, 60, 59, 53, 58, 65, 59, 45, 48, 55, 55, 54, 54,
+  45, 42, 54, 30, 32, 32, 78, 81, 79, 115, 82, 59, 55, 89, 146, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 180, 182, 180, 174, 182, 174, 171, 169, 162,
+  154, 154, 160, 156, 158, 157, 154, 154, 155, 152, 148, 146, 146, 148, 142, 129,
+  110, 104, 103, 95, 88, 87, 78, 74, 76, 73, 77, 67, 69, 71, 73, 75,
+  77, 77, 78, 68, 66, 67, 72, 74, 71, 69, 69, 77, 70, 66, 70, 72,
+  71, 71, 72, 72, 75, 80, 84, 85, 83, 79, 76, 70, 72, 73, 75, 74,
+  72, 70, 68, 81, 77, 73, 72, 73, 71, 64, 58, 58, 60, 61, 60, 58,
+  57, 59, 61, 55, 61, 66, 65, 61, 57, 57, 60, 58, 47, 65, 45, 59,
+  63, 60, 44, 74, 126, 100, 52, 44, 47, 53, 51, 69, 166, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 192, 174, 177, 176, 181, 172, 167, 165, 160,
+  154, 154, 159, 156, 158, 157, 154, 154, 155, 151, 145, 145, 146, 147, 143, 130,
+  114, 103, 101, 90, 86, 82, 75, 71, 70, 69, 70, 66, 68, 69, 72, 74,
+  75, 76, 77, 71, 65, 63, 65, 67, 67, 68, 71, 66, 63, 63, 69, 73,
+  74, 77, 81, 74, 75, 77, 79, 80, 80, 79, 78, 74, 75, 76, 76, 76,
+  74, 73, 72, 75, 71, 68, 69, 71, 70, 65, 60, 58, 56, 55, 56, 59,
+  60, 60, 58, 60, 63, 66, 65, 63, 60, 61, 62, 77, 56, 50, 60, 53,
+  51, 56, 62, 169, 195, 156, 107, 84, 62, 126, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 238, 177, 178, 174, 178, 168, 162, 159, 157,
+  155, 155, 157, 155, 157, 156, 153, 153, 154, 150, 144, 147, 143, 143, 145, 138,
+  125, 114, 111, 86, 84, 76, 72, 68, 65, 66, 64, 65, 66, 67, 69, 71,
+  73, 75, 75, 73, 64, 57, 57, 59, 61, 66, 72, 68, 66, 67, 71, 71,
+  69, 72, 78, 76, 75, 74, 74, 74, 76, 79, 81, 76, 76, 75, 75, 75,
+  74, 74, 74, 71, 68, 66, 66, 67, 66, 62, 58, 60, 55, 52, 54, 61,
+  63, 61, 56, 54, 55, 57, 58, 61, 62, 63, 64, 63, 55, 58, 69, 64,
+  66, 56, 171, 222, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 233, 182, 169, 174, 166, 159, 155, 155,
+  155, 156, 156, 154, 156, 155, 152, 152, 153, 149, 143, 149, 143, 141, 143, 144,
+  136, 130, 127, 84, 83, 70, 69, 68, 63, 68, 62, 63, 63, 64, 66, 68,
+  70, 72, 73, 71, 62, 55, 54, 55, 58, 63, 70, 70, 69, 71, 72, 69,
+  65, 67, 73, 76, 75, 73, 72, 73, 76, 78, 80, 74, 74, 73, 72, 71,
+  71, 72, 72, 73, 70, 66, 65, 64, 62, 58, 55, 62, 59, 56, 58, 62,
+  64, 62, 58, 66, 64, 63, 63, 67, 69, 69, 68, 72, 66, 84, 56, 75,
+  67, 34, 237, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 169, 168, 163, 157, 153, 152,
+  153, 154, 154, 152, 154, 153, 150, 150, 151, 147, 143, 154, 144, 139, 139, 143,
+  138, 135, 134, 87, 88, 68, 71, 71, 62, 72, 62, 61, 61, 61, 62, 64,
+  67, 69, 71, 68, 61, 55, 56, 57, 58, 61, 65, 65, 65, 68, 71, 69,
+  66, 69, 75, 73, 73, 73, 74, 75, 76, 77, 77, 74, 73, 72, 71, 70,
+  71, 71, 71, 72, 69, 67, 64, 63, 61, 58, 56, 64, 64, 64, 63, 62,
+  61, 62, 63, 69, 66, 63, 61, 63, 63, 61, 59, 78, 61, 77, 53, 67,
+  46, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 163, 164, 162, 155, 151,
+  153, 155, 154, 153, 155, 154, 151, 151, 152, 148, 142, 157, 147, 139, 136, 136,
+  130, 125, 124, 94, 96, 67, 72, 71, 60, 75, 61, 58, 58, 58, 59, 61,
+  64, 67, 69, 67, 61, 58, 60, 61, 60, 60, 63, 69, 68, 69, 71, 69,
+  64, 64, 67, 70, 71, 72, 73, 74, 74, 74, 74, 73, 73, 73, 73, 72,
+  72, 71, 71, 67, 66, 64, 63, 62, 62, 62, 62, 61, 64, 65, 64, 61,
+  60, 62, 64, 60, 61, 63, 64, 68, 69, 71, 72, 68, 65, 76, 87, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 160, 166, 168, 160, 152,
+  152, 155, 155, 154, 156, 155, 152, 152, 153, 149, 143, 155, 147, 141, 138, 134,
+  124, 118, 117, 102, 104, 67, 71, 69, 54, 73, 56, 57, 56, 56, 57, 59,
+  62, 65, 67, 69, 63, 61, 63, 64, 62, 62, 64, 75, 70, 69, 71, 70,
+  64, 60, 60, 67, 68, 68, 69, 70, 70, 71, 72, 70, 71, 72, 73, 72,
+  71, 69, 68, 65, 65, 63, 62, 60, 60, 61, 62, 57, 56, 56, 58, 59,
+  61, 62, 61, 68, 72, 76, 78, 79, 79, 81, 84, 76, 83, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 159, 167, 172, 163, 153,
+  152, 155, 156, 156, 156, 155, 152, 152, 153, 150, 144, 148, 145, 142, 142, 137,
+  125, 117, 117, 107, 108, 66, 69, 66, 49, 71, 52, 58, 57, 57, 57, 59,
+  61, 64, 66, 71, 66, 62, 64, 65, 62, 64, 66, 67, 62, 62, 68, 72,
+  70, 67, 67, 67, 66, 65, 64, 65, 67, 69, 71, 66, 67, 69, 70, 70,
+  68, 66, 64, 67, 67, 64, 61, 58, 56, 57, 58, 53, 49, 47, 51, 58,
+  62, 62, 58, 64, 68, 70, 64, 56, 48, 45, 46, 64, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 167, 172, 166, 155,
+  151, 157, 166, 161, 161, 145, 152, 151, 147, 114, 153, 145, 142, 152, 130, 122,
+  135, 115, 121, 98, 89, 78, 70, 68, 69, 68, 65, 66, 67, 66, 64, 61,
+  61, 65, 70, 66, 63, 59, 60, 63, 64, 64, 62, 61, 65, 67, 66, 66,
+  67, 65, 63, 62, 67, 70, 68, 63, 63, 69, 76, 66, 68, 70, 71, 71,
+  69, 67, 65, 66, 64, 61, 58, 55, 54, 53, 53, 51, 49, 44, 37, 42,
+  55, 59, 54, 61, 71, 79, 77, 53, 73, 45, 33, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 171, 167, 166,
+  163, 157, 151, 154, 154, 161, 163, 164, 124, 94, 130, 141, 149, 130, 136, 113,
+  120, 109, 110, 92, 87, 77, 71, 72, 70, 69, 65, 63, 62, 61, 57, 54,
+  55, 58, 63, 62, 60, 57, 60, 64, 65, 65, 65, 61, 64, 65, 64, 64,
+  65, 64, 63, 60, 63, 66, 65, 63, 62, 66, 70, 66, 67, 68, 68, 68,
+  67, 65, 64, 62, 61, 59, 57, 56, 56, 56, 57, 58, 51, 40, 34, 44,
+  59, 62, 53, 63, 64, 79, 67, 130, 163, 195, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 171, 170,
+  167, 160, 154, 171, 155, 165, 148, 151, 105, 103, 148, 138, 154, 116, 146, 118,
+  120, 120, 121, 87, 83, 76, 71, 74, 71, 69, 63, 64, 63, 59, 55, 52,
+  53, 56, 60, 57, 56, 57, 57, 61, 63, 64, 63, 61, 62, 62, 62, 62,
+  62, 62, 63, 61, 62, 63, 64, 65, 65, 65, 65, 65, 65, 65, 64, 64,
+  63, 63, 63, 57, 57, 57, 56, 57, 58, 59, 60, 61, 58, 47, 36, 38,
+  49, 55, 51, 64, 53, 67, 45, 199, 228, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 165,
+  159, 164, 172, 161, 153, 169, 161, 163, 132, 120, 145, 140, 141, 119, 139, 125,
+  118, 120, 123, 90, 85, 76, 71, 73, 70, 67, 64, 66, 63, 58, 53, 50,
+  52, 54, 57, 55, 53, 54, 55, 58, 57, 58, 61, 63, 60, 59, 60, 60,
+  59, 60, 63, 64, 63, 63, 65, 68, 68, 65, 62, 64, 63, 62, 61, 60,
+  60, 60, 60, 55, 55, 56, 56, 57, 58, 59, 60, 57, 64, 61, 44, 32,
+  34, 42, 46, 58, 42, 49, 36, 220, 235, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176,
+  162, 160, 166, 162, 161, 158, 157, 153, 163, 137, 141, 148, 124, 136, 116, 122,
+  105, 99, 106, 95, 88, 76, 68, 69, 68, 67, 63, 63, 59, 54, 50, 48,
+  49, 51, 51, 51, 52, 53, 53, 55, 58, 61, 64, 64, 59, 58, 61, 61,
+  58, 59, 64, 65, 63, 61, 64, 67, 67, 63, 59, 62, 61, 60, 58, 57,
+  57, 57, 57, 56, 56, 56, 57, 57, 57, 57, 57, 59, 65, 62, 49, 42,
+  43, 43, 39, 49, 41, 36, 51, 207, 233, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 236,
+  179, 158, 144, 171, 165, 146, 138, 127, 162, 140, 134, 147, 118, 146, 111, 129,
+  113, 105, 106, 98, 88, 75, 66, 67, 66, 65, 62, 63, 60, 55, 52, 51,
+  53, 53, 53, 50, 51, 52, 53, 55, 58, 65, 69, 66, 60, 59, 64, 64,
+  59, 60, 66, 63, 61, 59, 60, 62, 62, 59, 56, 60, 59, 59, 58, 57,
+  55, 54, 54, 55, 56, 57, 57, 57, 57, 56, 56, 67, 62, 53, 50, 60,
+  67, 56, 38, 45, 48, 34, 59, 162, 225, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 172, 154, 144, 143, 156, 152, 146, 155, 134, 117, 135, 125, 136, 116, 129,
+  117, 119, 107, 91, 83, 72, 65, 66, 65, 63, 59, 62, 59, 56, 55, 56,
+  57, 55, 54, 55, 55, 53, 48, 48, 53, 61, 67, 69, 62, 63, 70, 70,
+  63, 62, 69, 65, 63, 61, 60, 61, 60, 60, 59, 60, 60, 61, 60, 59,
+  57, 55, 53, 55, 56, 58, 59, 60, 59, 59, 58, 69, 65, 57, 54, 64,
+  73, 67, 50, 53, 67, 53, 58, 113, 212, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 232, 143, 132, 158, 143, 146, 139, 144, 142, 119, 133, 114, 115, 115,
+  104, 111, 86, 84, 77, 70, 65, 67, 65, 61, 56, 57, 54, 52, 52, 54,
+  54, 52, 49, 60, 57, 52, 46, 42, 43, 52, 58, 69, 63, 64, 73, 73,
+  64, 63, 69, 67, 66, 64, 62, 61, 60, 61, 62, 59, 60, 61, 61, 60,
+  57, 54, 52, 53, 55, 57, 59, 60, 60, 60, 59, 62, 69, 69, 60, 56,
+  61, 65, 62, 64, 87, 78, 61, 88, 208, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 230, 160, 141, 152, 153, 142, 142, 122, 116, 128, 129, 114, 100,
+  99, 99, 97, 88, 81, 63, 68, 59, 64, 53, 56, 60, 58, 51, 67, 53,
+  53, 46, 58, 46, 55, 59, 57, 53, 62, 52, 28, 71, 126, 109, 28, 61,
+  63, 43, 86, 54, 57, 63, 61, 73, 49, 67, 60, 61, 61, 61, 60, 58,
+  56, 53, 52, 55, 53, 52, 54, 58, 60, 59, 57, 67, 66, 65, 64, 63,
+  61, 67, 73, 69, 76, 74, 51, 159, 207, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 211, 128, 138, 138, 134, 108, 124, 114, 109, 116, 114,
+  100, 90, 88, 77, 74, 63, 71, 59, 67, 62, 69, 63, 63, 51, 60, 54,
+  69, 60, 59, 74, 66, 59, 57, 255, 255, 255, 255, 184, 204, 189, 80, 42,
+  56, 67, 64, 70, 67, 62, 58, 67, 49, 67, 62, 62, 62, 62, 61, 60,
+  57, 55, 53, 60, 57, 55, 55, 57, 57, 55, 52, 53, 54, 60, 68, 68,
+  57, 61, 75, 69, 73, 71, 70, 218, 213, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 209, 127, 139, 111, 115, 117, 113, 106, 102,
+  97, 92, 85, 78, 78, 70, 76, 59, 61, 55, 64, 53, 68, 60, 59, 45,
+  64, 61, 61, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 169, 103,
+  51, 54, 69, 62, 60, 55, 58, 67, 52, 66, 60, 62, 62, 61, 60, 59,
+  57, 55, 54, 60, 58, 55, 55, 55, 54, 52, 50, 65, 67, 68, 73, 68,
+  47, 41, 55, 53, 44, 61, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 208, 121, 121, 112, 102, 99, 98,
+  93, 90, 90, 80, 81, 70, 76, 60, 61, 51, 57, 55, 65, 58, 63, 52,
+  67, 61, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 235,
+  91, 32, 42, 66, 68, 60, 63, 63, 51, 63, 60, 61, 61, 60, 59, 57,
+  56, 55, 54, 55, 54, 53, 53, 53, 52, 52, 51, 59, 64, 56, 54, 62,
+  52, 40, 44, 59, 65, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211, 97, 85, 99, 105,
+  90, 81, 84, 69, 68, 58, 70, 64, 70, 60, 62, 67, 59, 48, 67, 129,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 121, 48, 69, 75, 65, 72, 62, 53, 62, 65, 65, 64, 63, 62, 61,
+  60, 60, 59, 56, 56, 56, 55, 54, 53, 52, 53, 43, 57, 48, 57, 107,
+  134, 128, 125, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 94, 82,
+  84, 83, 70, 69, 65, 53, 68, 64, 72, 62, 63, 61, 63, 125, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 126, 26, 45, 48, 76, 70, 65, 65, 63, 69, 68, 66, 65, 64,
+  64, 64, 64, 61, 61, 61, 58, 55, 52, 52, 52, 41, 57, 52, 84, 172,
+  223, 232, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  82, 85, 66, 75, 72, 61, 70, 60, 65, 56, 60, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 192, 71, 53, 74, 66, 68, 66, 65, 68, 67, 66, 64, 63,
+  63, 64, 65, 64, 65, 66, 63, 59, 56, 57, 58, 49, 54, 50, 101, 198,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 195, 72, 74, 65, 73, 59, 63, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 200, 70, 43, 54, 64, 73, 65, 64, 62, 61, 60,
+  60, 61, 62, 63, 65, 67, 66, 63, 62, 64, 67, 71, 65, 59, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 190, 42, 45, 58, 61, 72, 74, 64, 59,
+  66, 70, 68, 64, 61, 60, 59, 58, 59, 66, 75, 63, 68, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 112, 77, 52, 45, 42, 51, 60,
+  58, 45, 34, 57, 61, 64, 66, 66, 64, 59, 56, 41, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 223, 53, 33, 26, 43, 61,
+  63, 60, 60, 46, 55, 61, 62, 64, 66, 60, 52, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 63, 27,
+  11, 17, 31, 38, 45, 41, 27, 20, 24, 25, 99, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 116, 99, 91, 103, 111, 111, 118, 178, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 };
+/* Define image 'enemy14' of size 132x153x1x3 and type 'const unsigned char' */
+const unsigned char data_enemy14[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 178, 23, 21, 21, 20, 21, 20, 21, 19, 19, 17, 19, 21,
+  24, 25, 20, 18, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 23, 15, 16, 23, 25, 19, 28, 28, 25, 30, 33, 11, 30, 18,
+  29, 13, 20, 30, 20, 19, 14, 23, 18, 25, 19, 8, 99, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  16, 27, 25, 25, 24, 19, 20, 25, 27, 26, 21, 36, 30, 0, 30, 36,
+  44, 36, 39, 22, 25, 22, 19, 125, 28, 19, 26, 34, 23, 24, 19, 14,
+  21, 12, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  180, 16, 26, 32, 39, 29, 22, 28, 28, 22, 28, 39, 38, 28, 29, 29,
+  54, 30, 53, 51, 69, 36, 26, 63, 29, 76, 26, 63, 37, 43, 28, 32,
+  19, 23, 27, 25, 32, 18, 22, 22, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 179, 35,
+  13, 23, 36, 34, 34, 12, 39, 50, 52, 19, 27, 33, 38, 46, 54, 57,
+  50, 39, 44, 38, 36, 76, 133, 58, 30, 100, 83, 59, 69, 66, 56, 69,
+  35, 53, 40, 36, 24, 39, 43, 29, 32, 26, 25, 23, 22, 98, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 178,
+  31, 21, 38, 50, 25, 38, 62, 37, 38, 42, 69, 52, 52, 46, 59, 51,
+  55, 74, 80, 71, 64, 65, 38, 67, 70, 68, 64, 108, 107, 85, 100, 81,
+  95, 61, 88, 105, 86, 63, 76, 59, 48, 68, 62, 27, 23, 26, 28, 26,
+  25, 22, 22, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  179, 35, 24, 41, 46, 34, 36, 36, 44, 84, 63, 63, 69, 66, 72, 64,
+  69, 72, 87, 67, 63, 77, 80, 68, 68, 82, 64, 103, 69, 77, 88, 108,
+  79, 112, 75, 106, 91, 110, 99, 79, 106, 92, 102, 83, 69, 88, 80, 40,
+  32, 35, 27, 23, 22, 22, 25, 25, 25, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  174, 14, 30, 23, 25, 60, 22, 61, 61, 51, 43, 24, 47, 95, 54, 77,
+  74, 63, 55, 75, 79, 74, 87, 75, 67, 69, 69, 64, 72, 85, 90, 101,
+  102, 108, 82, 109, 103, 85, 105, 76, 94, 108, 99, 104, 73, 107, 107, 93,
+  75, 88, 84, 63, 56, 45, 32, 28, 23, 22, 24, 25, 24, 21, 99, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 175, 16, 27, 14, 17, 41, 27, 31, 84, 50, 78, 52, 59, 73, 46,
+  47, 60, 89, 80, 63, 85, 78, 87, 85, 99, 78, 76, 75, 70, 70, 73,
+  79, 84, 96, 95, 97, 103, 101, 101, 102, 105, 99, 112, 98, 101, 103, 92,
+  118, 106, 109, 102, 80, 80, 84, 79, 73, 47, 51, 44, 36, 33, 31, 28,
+  25, 20, 22, 99, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 178, 13, 19, 14, 52, 69, 48, 36, 78, 61, 62, 79, 81,
+  81, 100, 78, 83, 74, 76, 92, 81, 90, 86, 82, 96, 100, 105, 104, 110,
+  105, 103, 97, 95, 139, 88, 106, 124, 104, 88, 106, 106, 94, 102, 94, 101,
+  110, 108, 104, 115, 120, 102, 114, 74, 85, 91, 105, 100, 106, 72, 83, 58,
+  40, 36, 33, 24, 25, 31, 19, 28, 29, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 178, 26, 13, 23, 22, 23, 21, 57, 51, 42, 60,
+  65, 58, 93, 87, 93, 94, 88, 83, 90, 88, 104, 93, 103, 93, 86, 96,
+  99, 105, 75, 106, 88, 90, 118, 88, 104, 97, 99, 118, 107, 93, 105, 102,
+  96, 112, 108, 110, 114, 106, 98, 105, 106, 87, 81, 108, 80, 84, 74, 99,
+  91, 129, 70, 80, 78, 61, 43, 36, 31, 21, 41, 27, 22, 22, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 37, 23, 29, 40, 13, 33, 68, 30,
+  78, 92, 93, 88, 110, 100, 102, 89, 99, 85, 93, 80, 101, 97, 106, 93,
+  103, 94, 85, 94, 96, 102, 111, 104, 111, 127, 123, 87, 116, 102, 97, 112,
+  108, 103, 107, 100, 99, 124, 109, 105, 107, 101, 95, 102, 104, 91, 73, 99,
+  99, 89, 120, 126, 116, 116, 91, 95, 94, 85, 78, 72, 53, 26, 40, 24,
+  31, 35, 17, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 176, 14, 28, 0, 19, 40, 28,
+  43, 26, 64, 35, 61, 88, 97, 85, 94, 94, 103, 90, 98, 94, 95, 89,
+  105, 103, 99, 84, 94, 89, 87, 99, 97, 100, 146, 116, 129, 144, 124, 100,
+  133, 109, 99, 107, 107, 108, 112, 101, 104, 126, 108, 99, 98, 99, 98, 105,
+  110, 99, 116, 91, 105, 96, 129, 147, 159, 101, 114, 99, 94, 102, 101, 85,
+  71, 62, 38, 22, 35, 39, 14, 11, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 14, 15, 22, 9,
+  28, 17, 35, 61, 39, 69, 72, 84, 71, 93, 108, 102, 83, 95, 96, 95,
+  96, 109, 94, 100, 102, 102, 101, 82, 91, 92, 97, 111, 105, 102, 112, 119,
+  110, 103, 131, 110, 111, 111, 105, 102, 101, 106, 110, 102, 103, 116, 122, 106,
+  100, 102, 101, 102, 105, 98, 102, 105, 106, 133, 114, 149, 131, 93, 101, 103,
+  108, 106, 89, 71, 78, 91, 58, 32, 28, 32, 25, 27, 28, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 12,
+  12, 12, 14, 46, 30, 40, 40, 28, 63, 76, 60, 101, 71, 90, 106, 106,
+  78, 93, 93, 95, 93, 114, 95, 104, 98, 99, 109, 91, 102, 104, 108, 120,
+  111, 103, 100, 99, 108, 101, 119, 117, 117, 93, 106, 100, 99, 102, 106, 105,
+  104, 103, 131, 107, 101, 107, 105, 106, 106, 100, 82, 112, 114, 128, 145, 129,
+  91, 89, 97, 111, 113, 99, 87, 89, 92, 82, 70, 61, 48, 33, 30, 28,
+  24, 22, 99, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 176, 14, 11, 11, 11, 13, 22, 43, 29, 30, 40, 42, 79, 67, 103,
+  88, 98, 112, 103, 98, 96, 95, 90, 95, 103, 95, 95, 99, 98, 109, 97,
+  112, 112, 111, 116, 106, 100, 117, 89, 120, 118, 107, 112, 129, 90, 107, 103,
+  104, 104, 104, 110, 110, 101, 133, 106, 100, 109, 110, 110, 109, 104, 124, 111,
+  109, 95, 141, 104, 106, 122, 117, 113, 104, 96, 102, 111, 103, 78, 71, 87,
+  68, 35, 30, 26, 20, 33, 20, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 19, 17, 14, 11, 11, 11, 17, 33, 33, 47, 67, 76,
+  91, 104, 83, 96, 102, 101, 105, 78, 96, 74, 98, 84, 96, 90, 96, 85,
+  103, 99, 103, 98, 118, 116, 106, 109, 99, 98, 106, 101, 108, 93, 112, 105,
+  104, 111, 108, 109, 114, 111, 107, 116, 120, 106, 140, 112, 103, 112, 114, 108,
+  105, 100, 129, 101, 107, 144, 111, 106, 114, 133, 122, 108, 102, 105, 106, 98,
+  100, 103, 81, 97, 60, 24, 42, 43, 24, 27, 21, 20, 100, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 24, 20, 14, 7, 7, 13, 19, 14, 30,
+  16, 46, 88, 48, 82, 93, 79, 94, 91, 107, 92, 89, 75, 95, 78, 87,
+  89, 85, 88, 98, 102, 97, 87, 97, 106, 107, 102, 99, 103, 109, 98, 105,
+  113, 112, 107, 105, 108, 112, 114, 105, 105, 113, 119, 113, 106, 102, 130, 118,
+  105, 100, 105, 110, 112, 110, 120, 103, 133, 123, 107, 135, 141, 139, 113, 98,
+  108, 110, 131, 104, 87, 61, 124, 77, 84, 102, 64, 31, 35, 37, 31, 26,
+  21, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 21, 21, 19, 18, 18, 15,
+  12, 12, 38, 46, 69, 23, 64, 75, 51, 104, 107, 99, 84, 76, 88, 89,
+  93, 103, 76, 81, 89, 97, 100, 98, 97, 101, 94, 103, 113, 113, 109, 107,
+  114, 119, 123, 128, 135, 143, 148, 153, 157, 159, 162, 152, 144, 143, 139, 129,
+  121, 117, 122, 116, 108, 107, 110, 119, 126, 128, 101, 141, 128, 105, 123, 138,
+  125, 109, 116, 116, 126, 120, 109, 93, 116, 141, 63, 118, 111, 54, 39, 46,
+  38, 29, 31, 26, 23, 21, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 177, 20, 17,
+  16, 19, 23, 24, 20, 18, 33, 53, 74, 86, 94, 81, 90, 69, 83, 100,
+  118, 94, 97, 72, 84, 91, 101, 97, 102, 108, 103, 90, 92, 106, 119, 132,
+  151, 165, 176, 192, 208, 221, 201, 202, 203, 210, 216, 221, 222, 221, 237, 234,
+  232, 234, 236, 236, 240, 244, 203, 197, 183, 165, 146, 128, 116, 108, 109, 139,
+  109, 114, 126, 106, 119, 127, 118, 120, 112, 106, 95, 104, 108, 114, 145, 125,
+  106, 91, 67, 42, 38, 50, 33, 32, 29, 25, 23, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  176, 19, 22, 18, 15, 15, 23, 29, 34, 39, 52, 48, 49, 41, 87, 87,
+  52, 104, 94, 95, 92, 80, 104, 108, 110, 103, 113, 105, 99, 99, 107, 127,
+  162, 195, 209, 214, 218, 215, 210, 209, 214, 220, 239, 239, 239, 238, 239, 236,
+  235, 233, 244, 244, 244, 243, 241, 242, 247, 253, 247, 245, 239, 228, 211, 187,
+  166, 151, 131, 111, 117, 147, 130, 110, 128, 118, 93, 131, 133, 119, 96, 119,
+  120, 113, 81, 108, 86, 79, 112, 96, 58, 67, 38, 34, 32, 27, 23, 99,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 17, 16, 17, 17, 19, 18, 21, 28, 40, 50, 77, 59,
+  79, 108, 95, 94, 100, 91, 93, 108, 96, 90, 82, 94, 86, 94, 82, 116,
+  155, 180, 194, 201, 200, 195, 205, 210, 217, 219, 220, 225, 233, 238, 230, 232,
+  235, 233, 231, 228, 231, 235, 239, 242, 243, 239, 236, 233, 235, 237, 236, 236,
+  239, 246, 250, 245, 235, 224, 200, 164, 156, 130, 111, 133, 131, 111, 151, 138,
+  106, 111, 120, 149, 124, 97, 99, 92, 115, 106, 68, 88, 101, 49, 41, 37,
+  30, 27, 22, 21, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 176, 16, 13, 12, 16, 22, 23, 26, 31,
+  41, 51, 43, 112, 61, 83, 86, 66, 108, 102, 115, 156, 160, 152, 105, 100,
+  102, 138, 165, 184, 191, 188, 191, 205, 212, 210, 221, 224, 229, 229, 228, 228,
+  234, 238, 233, 239, 242, 239, 235, 233, 238, 244, 226, 234, 238, 236, 237, 238,
+  240, 240, 249, 241, 236, 237, 245, 247, 243, 238, 250, 240, 215, 154, 135, 125,
+  101, 138, 138, 127, 126, 138, 123, 110, 111, 135, 141, 118, 113, 126, 124, 106,
+  101, 112, 56, 47, 37, 30, 28, 27, 27, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176, 17, 17, 14, 13, 15,
+  18, 23, 30, 42, 53, 63, 52, 59, 109, 114, 86, 123, 101, 97, 127, 124,
+  110, 112, 124, 138, 150, 171, 191, 196, 204, 206, 211, 220, 228, 231, 233, 235,
+  238, 239, 238, 240, 243, 244, 245, 245, 244, 242, 238, 235, 237, 240, 245, 250,
+  249, 243, 240, 239, 237, 234, 248, 242, 236, 233, 237, 239, 239, 240, 232, 252,
+  253, 238, 213, 157, 119, 142, 122, 106, 115, 135, 154, 145, 147, 155, 157, 148,
+  154, 147, 121, 111, 90, 46, 70, 55, 40, 32, 32, 32, 32, 29, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 16, 16,
+  18, 17, 24, 17, 14, 20, 36, 57, 75, 85, 94, 78, 66, 84, 81, 104,
+  98, 115, 134, 130, 140, 147, 181, 172, 179, 183, 198, 199, 208, 227, 234, 230,
+  233, 238, 248, 249, 250, 249, 248, 246, 247, 246, 252, 248, 246, 245, 245, 246,
+  246, 243, 241, 245, 243, 237, 237, 240, 240, 237, 239, 240, 240, 238, 235, 231,
+  227, 231, 240, 243, 234, 239, 225, 219, 219, 154, 129, 132, 138, 116, 126, 127,
+  139, 130, 128, 165, 141, 93, 86, 87, 87, 105, 76, 59, 40, 30, 31, 30,
+  27, 23, 25, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 174, 15, 12, 11, 16, 10, 18, 22, 47, 42, 100, 74, 91, 90, 84,
+  158, 131, 146, 151, 106, 70, 119, 138, 175, 192, 173, 174, 200, 215, 224, 227,
+  228, 229, 227, 228, 235, 238, 240, 229, 220, 222, 231, 239, 241, 238, 240, 245,
+  248, 247, 243, 238, 236, 235, 234, 234, 234, 236, 237, 238, 240, 241, 241, 242,
+  241, 238, 235, 232, 228, 232, 240, 243, 242, 239, 240, 235, 232, 226, 174, 136,
+  126, 132, 139, 133, 146, 152, 215, 89, 104, 120, 65, 91, 130, 65, 74, 77,
+  70, 49, 34, 30, 25, 16, 22, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 173, 17, 26, 23, 17, 17, 41, 29, 43, 30, 71, 84,
+  90, 77, 95, 121, 89, 116, 130, 121, 157, 155, 165, 158, 168, 186, 191, 206,
+  228, 232, 239, 240, 240, 238, 235, 234, 235, 238, 230, 227, 226, 228, 234, 238,
+  240, 240, 241, 243, 244, 245, 243, 241, 240, 237, 237, 235, 235, 235, 236, 237,
+  238, 240, 244, 244, 245, 244, 242, 240, 237, 240, 246, 248, 246, 244, 243, 236,
+  230, 225, 218, 185, 138, 130, 117, 142, 126, 109, 99, 123, 106, 88, 100, 121,
+  92, 109, 93, 94, 82, 59, 40, 35, 32, 27, 26, 24, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 18, 17, 14, 14, 23, 39, 58, 71,
+  94, 66, 91, 67, 104, 94, 105, 78, 97, 90, 101, 92, 168, 154, 177, 164,
+  168, 187, 206, 228, 240, 237, 247, 247, 249, 247, 245, 243, 242, 243, 238, 240,
+  244, 248, 249, 248, 249, 249, 251, 250, 249, 250, 251, 252, 249, 247, 246, 245,
+  242, 242, 242, 242, 244, 244, 247, 249, 249, 251, 251, 249, 248, 248, 248, 249,
+  247, 245, 242, 235, 228, 223, 230, 202, 189, 132, 123, 103, 128, 113, 129, 123,
+  126, 133, 150, 101, 57, 88, 88, 89, 81, 58, 38, 31, 27, 21, 29, 25,
+  100, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 19, 19, 19, 24,
+  37, 53, 40, 57, 41, 63, 79, 88, 94, 71, 103, 133, 123, 120, 120, 165,
+  143, 172, 158, 170, 192, 214, 225, 233, 239, 238, 246, 248, 248, 250, 249, 248,
+  246, 246, 246, 248, 253, 255, 255, 252, 251, 248, 253, 250, 248, 250, 254, 255,
+  254, 251, 249, 250, 248, 247, 246, 247, 249, 248, 246, 247, 249, 250, 252, 251,
+  248, 247, 242, 243, 244, 245, 244, 241, 234, 229, 220, 218, 196, 195, 123, 117,
+  112, 139, 117, 94, 137, 118, 100, 97, 127, 120, 94, 100, 98, 82, 64, 51,
+  41, 31, 27, 25, 23, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 18,
+  15, 15, 18, 16, 10, 9, 60, 107, 92, 115, 80, 92, 108, 120, 106, 90,
+  112, 110, 124, 134, 191, 147, 172, 199, 224, 237, 241, 240, 241, 247, 245, 244,
+  246, 248, 251, 250, 249, 248, 252, 248, 248, 247, 248, 246, 243, 239, 245, 241,
+  239, 241, 245, 245, 244, 244, 248, 251, 249, 249, 248, 249, 249, 247, 246, 245,
+  246, 249, 248, 248, 246, 245, 239, 239, 242, 244, 248, 246, 242, 239, 243, 214,
+  223, 195, 193, 144, 141, 115, 138, 140, 121, 143, 106, 133, 84, 87, 79, 85,
+  85, 76, 62, 50, 37, 25, 25, 22, 24, 101, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 172, 18, 27, 28, 33, 49, 73, 96, 99, 105, 88, 90, 100, 115,
+  128, 119, 130, 131, 113, 139, 137, 177, 147, 192, 215, 231, 234, 235, 243, 245,
+  243, 250, 246, 244, 244, 245, 250, 250, 249, 248, 252, 247, 242, 239, 241, 241,
+  239, 235, 237, 236, 236, 237, 237, 238, 237, 238, 241, 244, 244, 244, 244, 242,
+  239, 238, 241, 240, 242, 242, 243, 245, 246, 242, 242, 241, 242, 246, 249, 249,
+  248, 246, 239, 242, 221, 228, 196, 208, 162, 118, 133, 93, 136, 125, 183, 108,
+  94, 88, 100, 99, 93, 88, 79, 72, 60, 48, 24, 22, 25, 25, 100, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 23, 33, 34, 22, 14, 25, 48, 71, 70, 82,
+  103, 84, 96, 109, 134, 149, 165, 125, 172, 164, 150, 173, 175, 200, 235, 248,
+  241, 234, 248, 248, 240, 243, 244, 241, 238, 239, 242, 243, 241, 239, 241, 239,
+  237, 234, 232, 232, 234, 235, 230, 233, 235, 236, 235, 231, 230, 233, 233, 235,
+  235, 234, 231, 227, 223, 220, 227, 226, 227, 229, 232, 236, 239, 237, 240, 238,
+  239, 243, 248, 251, 251, 250, 238, 241, 253, 224, 220, 203, 199, 158, 109, 127,
+  124, 131, 65, 111, 97, 115, 96, 91, 87, 84, 83, 74, 59, 43, 29, 25,
+  27, 26, 22, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 23, 17, 19, 37, 70, 91,
+  80, 65, 103, 101, 111, 91, 86, 103, 87, 94, 135, 182, 151, 178, 152, 169,
+  221, 228, 227, 251, 252, 247, 255, 252, 237, 239, 241, 235, 231, 230, 231, 232,
+  232, 227, 223, 225, 227, 223, 218, 217, 222, 225, 219, 224, 229, 229, 225, 222,
+  221, 223, 222, 224, 224, 223, 220, 214, 209, 206, 210, 210, 212, 216, 222, 227,
+  233, 233, 237, 234, 236, 240, 246, 251, 253, 253, 255, 246, 240, 239, 216, 208,
+  200, 193, 160, 115, 114, 113, 151, 130, 106, 103, 100, 96, 96, 101, 102, 90,
+  68, 46, 35, 31, 28, 26, 21, 98, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 18, 19, 27,
+  21, 34, 85, 46, 79, 79, 93, 98, 107, 91, 85, 93, 88, 96, 148, 147,
+  160, 156, 190, 203, 234, 238, 246, 253, 255, 252, 246, 239, 237, 238, 232, 235,
+  223, 231, 217, 230, 224, 226, 220, 222, 219, 233, 217, 222, 219, 231, 238, 238,
+  238, 239, 238, 236, 234, 231, 227, 231, 242, 229, 225, 234, 230, 231, 226, 227,
+  225, 224, 224, 226, 230, 231, 232, 230, 239, 250, 251, 247, 251, 255, 255, 255,
+  250, 241, 235, 227, 208, 185, 187, 137, 100, 122, 94, 86, 128, 96, 113, 105,
+  104, 84, 101, 90, 80, 44, 36, 29, 26, 26, 25, 24, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 18, 21, 21, 22, 28, 61, 56, 68, 99, 102, 94, 95, 93, 111, 139,
+  138, 143, 124, 142, 160, 182, 200, 224, 236, 242, 250, 252, 252, 250, 245, 239,
+  234, 228, 229, 226, 218, 224, 227, 240, 240, 241, 247, 247, 242, 252, 238, 243,
+  240, 252, 251, 251, 253, 252, 255, 255, 254, 252, 246, 247, 242, 240, 239, 243,
+  252, 253, 255, 251, 240, 238, 241, 244, 243, 240, 235, 235, 227, 220, 231, 254,
+  255, 246, 251, 255, 252, 243, 232, 227, 219, 210, 196, 165, 144, 112, 110, 117,
+  97, 112, 90, 92, 91, 96, 91, 90, 86, 82, 68, 54, 42, 35, 33, 30,
+  103, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 175, 18, 21, 22, 46, 65, 95, 108, 73, 102, 103, 96,
+  99, 96, 107, 118, 100, 96, 121, 149, 167, 204, 208, 238, 239, 245, 246, 245,
+  246, 246, 245, 242, 236, 229, 229, 232, 244, 244, 249, 243, 246, 240, 249, 250,
+  244, 254, 240, 249, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 249, 251,
+  233, 246, 248, 240, 255, 254, 240, 241, 241, 240, 236, 226, 213, 203, 207, 200,
+  214, 238, 243, 232, 240, 255, 253, 255, 255, 255, 246, 234, 218, 204, 201, 185,
+  171, 124, 117, 123, 96, 111, 114, 112, 102, 115, 90, 86, 73, 84, 65, 48,
+  34, 25, 24, 26, 22, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 16, 18, 30, 14, 25, 41, 93, 111,
+  81, 94, 97, 98, 111, 106, 108, 123, 127, 145, 146, 169, 186, 209, 214, 236,
+  242, 247, 242, 238, 236, 233, 232, 229, 226, 222, 252, 243, 241, 208, 198, 178,
+  192, 193, 232, 236, 234, 244, 233, 245, 244, 255, 250, 249, 248, 247, 247, 246,
+  245, 244, 234, 241, 220, 247, 251, 226, 246, 234, 206, 208, 205, 192, 178, 168,
+  166, 167, 180, 217, 231, 212, 208, 231, 243, 235, 237, 234, 234, 239, 246, 243,
+  229, 213, 213, 194, 176, 163, 121, 108, 127, 100, 104, 97, 88, 98, 92, 93,
+  81, 81, 74, 62, 53, 43, 41, 39, 38, 108, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 16, 18, 22, 16,
+  27, 35, 98, 86, 84, 79, 99, 107, 131, 132, 128, 128, 125, 141, 170, 185,
+  208, 211, 227, 231, 246, 245, 219, 219, 223, 225, 230, 236, 246, 252, 188, 198,
+  229, 238, 255, 243, 240, 221, 228, 234, 236, 247, 235, 247, 242, 250, 244, 244,
+  243, 241, 241, 241, 240, 239, 233, 241, 219, 243, 246, 222, 241, 228, 215, 223,
+  231, 232, 224, 205, 183, 171, 134, 120, 130, 168, 199, 208, 222, 242, 252, 244,
+  237, 238, 242, 244, 241, 237, 230, 205, 191, 183, 142, 115, 121, 110, 103, 102,
+  108, 95, 106, 102, 101, 86, 74, 69, 62, 51, 35, 26, 22, 19, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 15,
+  16, 18, 17, 37, 75, 73, 118, 83, 92, 91, 108, 105, 124, 133, 140, 146,
+  134, 141, 178, 190, 221, 218, 241, 232, 245, 232, 230, 226, 222, 212, 203, 198,
+  201, 206, 218, 197, 186, 191, 221, 238, 246, 235, 230, 242, 241, 249, 235, 244,
+  237, 241, 239, 239, 238, 236, 239, 240, 242, 243, 242, 245, 227, 236, 238, 225,
+  244, 239, 222, 223, 228, 243, 250, 236, 201, 170, 211, 201, 161, 119, 128, 181,
+  214, 213, 219, 227, 240, 248, 248, 239, 238, 242, 240, 218, 213, 167, 163, 142,
+  77, 126, 121, 129, 142, 108, 108, 91, 97, 81, 89, 89, 85, 73, 56, 40,
+  34, 31, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 175, 15, 16, 18, 30, 46, 88, 67, 88, 86, 93, 131, 182, 154,
+  142, 133, 137, 151, 149, 165, 187, 204, 223, 231, 237, 233, 226, 209, 157, 156,
+  163, 173, 183, 195, 207, 213, 207, 198, 187, 204, 220, 242, 242, 239, 233, 244,
+  242, 247, 230, 240, 233, 236, 235, 234, 233, 231, 234, 236, 237, 239, 241, 245,
+  238, 235, 234, 238, 245, 248, 255, 249, 231, 228, 237, 242, 239, 232, 199, 193,
+  193, 195, 191, 174, 159, 150, 141, 155, 181, 214, 237, 243, 243, 244, 244, 225,
+  221, 165, 168, 156, 80, 123, 102, 106, 111, 99, 94, 87, 90, 90, 82, 82,
+  78, 68, 53, 40, 33, 28, 27, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 18, 18, 19, 22, 21, 36, 95, 83, 93, 116,
+  82, 133, 91, 88, 118, 142, 161, 173, 167, 177, 205, 222, 221, 235, 218, 222,
+  197, 183, 167, 163, 170, 182, 195, 205, 210, 211, 218, 231, 230, 241, 224, 234,
+  234, 246, 239, 250, 246, 249, 233, 246, 240, 242, 237, 236, 234, 233, 233, 235,
+  239, 241, 235, 240, 250, 238, 237, 247, 244, 246, 237, 244, 250, 249, 244, 238,
+  236, 235, 255, 249, 231, 219, 226, 229, 196, 155, 159, 147, 149, 182, 223, 245,
+  246, 243, 248, 231, 217, 191, 168, 158, 134, 113, 117, 104, 86, 105, 99, 107,
+  94, 102, 104, 98, 91, 80, 68, 58, 46, 39, 30, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 19, 18, 26, 35, 56, 86,
+  95, 84, 90, 100, 106, 108, 87, 113, 116, 122, 171, 166, 186, 190, 205, 219,
+  224, 214, 202, 197, 188, 175, 205, 210, 219, 225, 227, 230, 234, 239, 246, 246,
+  246, 245, 247, 247, 248, 246, 248, 248, 247, 247, 247, 242, 238, 235, 232, 232,
+  231, 234, 240, 246, 249, 250, 245, 242, 244, 243, 244, 243, 243, 242, 247, 248,
+  248, 247, 246, 247, 247, 247, 244, 247, 248, 244, 244, 246, 242, 234, 179, 179,
+  165, 147, 160, 197, 229, 240, 242, 233, 239, 216, 178, 175, 129, 122, 109, 89,
+  101, 97, 117, 127, 122, 96, 99, 85, 96, 98, 120, 92, 71, 40, 38, 105,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 31, 25,
+  27, 34, 62, 83, 87, 86, 102, 110, 96, 80, 105, 130, 113, 165, 169, 154,
+  212, 214, 236, 225, 221, 216, 193, 179, 212, 255, 245, 248, 254, 254, 251, 248,
+  251, 252, 245, 244, 246, 247, 248, 250, 251, 252, 249, 248, 249, 248, 245, 242,
+  239, 236, 233, 233, 233, 236, 242, 247, 252, 249, 244, 240, 242, 242, 241, 241,
+  241, 241, 241, 242, 241, 241, 240, 240, 241, 241, 242, 245, 246, 244, 248, 252,
+  250, 246, 255, 242, 214, 172, 133, 131, 173, 223, 255, 240, 239, 220, 205, 166,
+  191, 122, 135, 94, 100, 85, 102, 89, 119, 123, 132, 101, 80, 109, 91, 73,
+  49, 65, 41, 33, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 18, 18, 21, 36, 52, 40, 70, 86, 88, 97, 102, 96, 93, 121, 133,
+  133, 176, 142, 153, 199, 204, 199, 204, 192, 166, 174, 216, 247, 248, 245, 246,
+  248, 246, 241, 238, 237, 236, 236, 235, 237, 237, 238, 240, 241, 244, 248, 249,
+  245, 242, 240, 237, 236, 236, 235, 237, 237, 238, 240, 240, 243, 243, 242, 241,
+  241, 241, 240, 241, 242, 242, 240, 241, 241, 241, 241, 241, 243, 241, 240, 241,
+  242, 242, 246, 251, 252, 251, 252, 255, 255, 248, 212, 169, 145, 145, 194, 251,
+  217, 228, 203, 204, 180, 159, 101, 192, 133, 75, 73, 123, 89, 95, 92, 107,
+  98, 102, 93, 107, 62, 18, 42, 34, 105, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 177, 18, 19, 30, 53, 76, 43, 71, 84, 84, 89, 95,
+  102, 115, 136, 137, 182, 166, 147, 195, 179, 192, 198, 184, 189, 219, 254, 255,
+  255, 254, 241, 239, 241, 240, 235, 232, 232, 233, 230, 230, 230, 229, 231, 231,
+  232, 235, 245, 245, 240, 237, 234, 233, 235, 238, 241, 242, 243, 241, 239, 239,
+  237, 237, 243, 243, 241, 240, 239, 240, 241, 242, 240, 240, 241, 241, 242, 242,
+  245, 243, 239, 237, 238, 237, 238, 240, 242, 244, 238, 250, 255, 254, 254, 241,
+  196, 155, 141, 190, 239, 211, 218, 205, 172, 178, 137, 118, 136, 125, 98, 87,
+  121, 89, 100, 98, 112, 97, 99, 75, 81, 75, 47, 38, 31, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 24, 28, 28, 30, 45, 61, 80, 85,
+  81, 84, 99, 105, 103, 109, 134, 135, 184, 150, 176, 200, 158, 172, 168, 182,
+  215, 248, 255, 250, 243, 241, 246, 245, 245, 244, 242, 241, 240, 241, 238, 238,
+  237, 237, 238, 238, 239, 240, 244, 242, 238, 234, 231, 232, 237, 242, 248, 250,
+  250, 246, 242, 238, 236, 236, 243, 245, 242, 240, 239, 239, 237, 237, 238, 238,
+  240, 241, 242, 242, 245, 243, 244, 239, 239, 238, 237, 236, 239, 242, 245, 250,
+  246, 234, 237, 247, 239, 226, 188, 133, 201, 231, 210, 198, 197, 176, 185, 124,
+  87, 166, 96, 85, 90, 113, 112, 90, 84, 70, 94, 86, 89, 72, 55, 43,
+  32, 104, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 16, 20, 27, 36,
+  53, 70, 84, 94, 97, 101, 111, 113, 116, 128, 139, 149, 154, 152, 186, 146,
+  141, 155, 200, 238, 255, 252, 244, 254, 255, 247, 250, 247, 246, 246, 244, 242,
+  242, 241, 245, 243, 245, 245, 245, 245, 245, 245, 245, 242, 238, 235, 233, 235,
+  241, 248, 251, 254, 253, 248, 242, 237, 234, 237, 242, 245, 244, 241, 240, 239,
+  236, 235, 238, 238, 240, 241, 241, 243, 244, 243, 242, 237, 238, 240, 239, 237,
+  239, 245, 240, 237, 239, 248, 248, 240, 235, 244, 244, 167, 116, 212, 212, 210,
+  207, 197, 175, 195, 130, 93, 144, 104, 95, 105, 104, 119, 103, 110, 121, 156,
+  117, 67, 58, 46, 35, 30, 255, 255, 255, 255, 255, 255, 255, 255, 255, 22,
+  19, 26, 41, 61, 84, 103, 75, 93, 106, 115, 122, 123, 139, 168, 166, 172,
+  165, 175, 161, 127, 153, 184, 255, 242, 244, 255, 252, 234, 237, 255, 255, 255,
+  253, 253, 254, 252, 252, 251, 249, 247, 249, 249, 249, 249, 250, 248, 246, 242,
+  239, 235, 233, 234, 240, 249, 249, 253, 250, 245, 237, 234, 233, 233, 241, 241,
+  244, 244, 242, 241, 239, 236, 238, 238, 239, 241, 242, 245, 245, 244, 238, 234,
+  237, 241, 238, 234, 236, 242, 245, 234, 231, 238, 243, 240, 240, 246, 249, 221,
+  147, 135, 231, 205, 212, 214, 178, 173, 130, 140, 125, 123, 134, 107, 94, 97,
+  96, 119, 91, 81, 80, 110, 60, 49, 40, 35, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 14, 19, 33, 49, 62, 73, 84, 92, 94, 95, 109, 133, 145,
+  157, 180, 162, 158, 183, 171, 108, 134, 164, 216, 241, 253, 255, 244, 235, 238,
+  241, 241, 245, 245, 244, 245, 248, 250, 249, 249, 248, 249, 249, 248, 249, 249,
+  251, 250, 244, 241, 238, 236, 235, 235, 241, 250, 246, 251, 248, 242, 236, 235,
+  235, 233, 242, 242, 245, 247, 246, 244, 241, 239, 240, 240, 240, 242, 244, 245,
+  247, 246, 242, 239, 242, 245, 242, 234, 235, 241, 232, 245, 248, 235, 231, 242,
+  248, 247, 235, 255, 217, 142, 164, 232, 202, 205, 202, 194, 157, 124, 119, 92,
+  124, 82, 136, 120, 110, 85, 102, 97, 99, 78, 58, 49, 43, 41, 109, 255,
+  255, 255, 255, 255, 255, 255, 255, 28, 20, 32, 54, 81, 82, 101, 91, 101,
+  140, 103, 117, 151, 165, 157, 147, 187, 153, 170, 106, 166, 216, 243, 241, 249,
+  251, 240, 236, 242, 240, 232, 235, 240, 239, 237, 249, 245, 243, 246, 244, 240,
+  237, 238, 242, 246, 247, 247, 246, 240, 233, 234, 240, 243, 242, 243, 240, 246,
+  246, 244, 240, 237, 228, 218, 231, 238, 248, 250, 242, 238, 238, 244, 245, 240,
+  238, 240, 244, 249, 245, 242, 253, 234, 255, 248, 239, 247, 236, 243, 241, 236,
+  235, 238, 239, 239, 241, 248, 239, 252, 242, 203, 143, 185, 216, 212, 210, 192,
+  175, 121, 138, 126, 106, 126, 94, 93, 106, 102, 118, 118, 95, 114, 87, 73,
+  53, 39, 32, 255, 255, 255, 255, 255, 255, 255, 32, 27, 28, 10, 84, 99,
+  110, 91, 93, 96, 107, 110, 145, 163, 179, 151, 162, 164, 194, 126, 161, 180,
+  254, 252, 255, 242, 238, 246, 247, 238, 233, 238, 248, 247, 239, 240, 255, 255,
+  254, 253, 245, 240, 236, 234, 237, 242, 244, 244, 242, 239, 237, 244, 252, 251,
+  241, 233, 235, 247, 254, 253, 245, 241, 242, 237, 227, 232, 246, 249, 242, 235,
+  237, 240, 237, 244, 251, 244, 235, 233, 245, 255, 255, 255, 255, 255, 255, 255,
+  255, 246, 236, 235, 231, 231, 241, 251, 251, 243, 248, 255, 246, 227, 184, 160,
+  207, 214, 197, 214, 169, 129, 176, 160, 164, 81, 128, 98, 112, 71, 133, 128,
+  127, 100, 131, 78, 37, 34, 33, 255, 255, 255, 255, 255, 255, 255, 7, 27,
+  11, 51, 86, 146, 113, 89, 100, 110, 104, 126, 153, 149, 175, 155, 167, 165,
+  181, 119, 172, 223, 253, 254, 255, 245, 243, 247, 243, 234, 240, 255, 248, 251,
+  240, 234, 233, 234, 232, 243, 241, 239, 236, 238, 242, 248, 252, 253, 247, 240,
+  238, 244, 255, 253, 240, 227, 236, 244, 252, 251, 247, 247, 252, 249, 233, 236,
+  249, 252, 245, 239, 238, 241, 249, 246, 242, 237, 236, 237, 242, 246, 251, 255,
+  248, 255, 255, 255, 255, 252, 255, 254, 245, 231, 233, 248, 255, 254, 245, 249,
+  244, 253, 234, 149, 196, 225, 214, 215, 187, 172, 120, 149, 147, 169, 87, 91,
+  116, 110, 107, 116, 124, 131, 117, 96, 65, 44, 40, 112, 255, 255, 255, 255,
+  255, 176, 25, 22, 25, 23, 71, 104, 129, 123, 104, 120, 115, 125, 142, 143,
+  160, 158, 180, 181, 143, 147, 175, 255, 239, 248, 253, 251, 241, 229, 234, 251,
+  255, 251, 230, 235, 219, 219, 215, 222, 216, 227, 222, 222, 228, 234, 243, 250,
+  255, 255, 255, 246, 236, 238, 247, 247, 235, 223, 227, 226, 226, 230, 241, 251,
+  255, 251, 242, 243, 252, 252, 244, 240, 241, 245, 255, 245, 232, 230, 235, 238,
+  231, 225, 236, 237, 218, 228, 233, 223, 238, 244, 253, 255, 255, 247, 235, 236,
+  252, 255, 242, 239, 242, 255, 255, 168, 176, 223, 197, 215, 210, 183, 105, 185,
+  149, 139, 141, 103, 91, 131, 117, 125, 107, 109, 123, 116, 83, 33, 16, 35,
+  255, 255, 255, 255, 255, 20, 14, 17, 47, 64, 89, 84, 96, 95, 102, 110,
+  117, 116, 146, 176, 157, 159, 197, 180, 136, 165, 224, 252, 255, 252, 255, 246,
+  228, 223, 242, 255, 248, 224, 212, 220, 211, 232, 235, 250, 230, 229, 210, 213,
+  220, 229, 237, 244, 249, 251, 255, 249, 240, 234, 236, 234, 224, 215, 207, 206,
+  206, 210, 221, 232, 247, 250, 243, 242, 247, 245, 240, 238, 245, 250, 247, 243,
+  237, 231, 226, 221, 218, 215, 208, 209, 211, 195, 201, 214, 208, 229, 223, 228,
+  243, 253, 248, 239, 246, 254, 248, 241, 247, 255, 252, 206, 154, 200, 192, 210,
+  205, 173, 153, 147, 181, 103, 193, 122, 102, 107, 139, 129, 143, 124, 114, 98,
+  82, 68, 48, 29, 255, 255, 255, 255, 255, 20, 35, 29, 26, 76, 65, 92,
+  90, 110, 101, 124, 142, 136, 155, 188, 158, 176, 191, 159, 125, 182, 245, 244,
+  255, 255, 249, 237, 234, 237, 236, 225, 220, 225, 227, 254, 251, 255, 224, 217,
+  188, 199, 224, 225, 228, 231, 233, 236, 240, 242, 252, 248, 243, 235, 229, 225,
+  220, 216, 220, 223, 227, 221, 215, 215, 231, 242, 241, 240, 243, 241, 239, 241,
+  250, 255, 244, 236, 229, 226, 227, 227, 219, 211, 194, 211, 223, 190, 206, 240,
+  225, 240, 228, 222, 222, 230, 236, 238, 248, 251, 242, 237, 252, 252, 248, 244,
+  163, 184, 209, 197, 210, 180, 137, 109, 158, 165, 139, 140, 125, 123, 114, 126,
+  156, 160, 144, 110, 67, 36, 24, 28, 255, 255, 255, 255, 255, 18, 21, 9,
+  56, 73, 110, 94, 113, 96, 113, 146, 147, 156, 161, 172, 161, 195, 182, 142,
+  130, 203, 235, 249, 245, 255, 238, 233, 231, 228, 218, 213, 229, 249, 174, 207,
+  211, 232, 203, 221, 219, 252, 251, 247, 241, 235, 229, 228, 232, 239, 241, 245,
+  243, 233, 226, 228, 237, 243, 249, 245, 245, 240, 233, 226, 229, 233, 239, 242,
+  243, 240, 238, 240, 245, 252, 248, 234, 224, 227, 241, 245, 239, 227, 231, 235,
+  217, 202, 224, 236, 232, 249, 232, 239, 231, 215, 210, 227, 247, 244, 230, 231,
+  250, 242, 255, 255, 190, 171, 195, 198, 224, 187, 133, 164, 139, 143, 141, 161,
+  110, 132, 104, 137, 125, 124, 118, 111, 88, 58, 43, 44, 106, 255, 255, 255,
+  255, 16, 30, 33, 51, 81, 78, 107, 118, 115, 130, 148, 107, 142, 164, 165,
+  170, 197, 197, 137, 168, 205, 245, 249, 247, 255, 254, 239, 211, 193, 211, 243,
+  255, 250, 244, 236, 194, 205, 189, 215, 196, 208, 255, 255, 248, 236, 229, 229,
+  236, 247, 241, 245, 240, 225, 216, 227, 254, 255, 254, 239, 235, 242, 254, 253,
+  238, 224, 230, 235, 238, 237, 236, 235, 238, 242, 240, 242, 242, 238, 234, 236,
+  247, 255, 255, 255, 198, 211, 230, 192, 198, 228, 191, 232, 249, 220, 201, 219,
+  243, 235, 233, 243, 253, 237, 255, 239, 201, 149, 197, 199, 211, 216, 184, 119,
+  139, 139, 163, 155, 108, 109, 127, 121, 131, 136, 123, 105, 95, 89, 64, 31,
+  23, 255, 255, 255, 176, 20, 18, 17, 30, 50, 112, 108, 115, 139, 124, 114,
+  115, 136, 167, 167, 164, 200, 177, 151, 138, 216, 231, 240, 251, 251, 255, 250,
+  220, 202, 221, 162, 242, 255, 255, 192, 125, 124, 94, 118, 116, 176, 174, 255,
+  250, 248, 255, 230, 223, 223, 252, 220, 194, 213, 253, 255, 255, 255, 252, 243,
+  237, 239, 246, 254, 255, 255, 234, 228, 220, 255, 242, 246, 255, 251, 255, 245,
+  233, 229, 241, 255, 255, 255, 241, 203, 199, 155, 148, 189, 201, 228, 255, 197,
+  183, 237, 220, 202, 219, 251, 238, 247, 255, 253, 250, 239, 202, 160, 170, 219,
+  205, 220, 188, 147, 175, 140, 167, 151, 114, 79, 132, 118, 155, 172, 206, 173,
+  135, 75, 56, 32, 35, 255, 255, 255, 19, 19, 32, 38, 68, 89, 109, 117,
+  140, 153, 132, 123, 150, 127, 183, 171, 193, 185, 170, 148, 143, 215, 228, 237,
+  250, 252, 255, 248, 199, 227, 174, 229, 255, 255, 245, 151, 139, 111, 134, 234,
+  147, 164, 146, 249, 255, 246, 247, 234, 246, 240, 218, 210, 204, 224, 255, 255,
+  255, 255, 244, 239, 237, 237, 242, 246, 250, 254, 247, 227, 224, 241, 242, 241,
+  255, 255, 229, 235, 240, 239, 238, 246, 254, 255, 218, 180, 141, 132, 131, 141,
+  170, 178, 255, 255, 236, 183, 232, 218, 228, 231, 250, 251, 253, 247, 244, 233,
+  199, 162, 160, 213, 208, 226, 196, 150, 164, 129, 162, 125, 95, 94, 99, 115,
+  146, 124, 110, 107, 92, 73, 50, 45, 36, 255, 255, 255, 18, 18, 23, 6,
+  30, 83, 106, 147, 159, 139, 128, 132, 144, 153, 169, 187, 196, 184, 161, 148,
+  161, 224, 235, 241, 251, 255, 255, 245, 206, 198, 214, 255, 255, 255, 231, 138,
+  134, 95, 131, 248, 143, 139, 161, 223, 229, 229, 233, 230, 238, 217, 193, 213,
+  230, 242, 255, 254, 246, 247, 242, 241, 240, 241, 244, 244, 244, 246, 255, 233,
+  234, 216, 235, 231, 243, 246, 238, 233, 226, 226, 235, 246, 252, 251, 186, 186,
+  162, 211, 207, 155, 172, 147, 246, 255, 255, 254, 190, 216, 231, 236, 245, 245,
+  250, 246, 249, 245, 219, 189, 159, 205, 209, 231, 209, 168, 171, 142, 151, 167,
+  115, 115, 106, 130, 135, 150, 144, 146, 122, 108, 63, 55, 25, 255, 255, 255,
+  17, 17, 19, 22, 47, 103, 107, 132, 138, 144, 137, 138, 138, 179, 161, 177,
+  183, 183, 156, 152, 183, 234, 242, 245, 254, 255, 236, 211, 176, 191, 210, 242,
+  202, 222, 194, 163, 152, 166, 195, 255, 242, 250, 232, 230, 222, 241, 242, 227,
+  231, 213, 197, 230, 249, 249, 250, 244, 233, 233, 240, 241, 244, 245, 246, 243,
+  238, 240, 255, 243, 245, 211, 225, 238, 223, 223, 248, 234, 223, 223, 232, 238,
+  238, 232, 156, 154, 123, 158, 149, 116, 171, 175, 240, 255, 255, 248, 245, 187,
+  192, 243, 233, 240, 251, 252, 253, 252, 235, 215, 169, 206, 213, 231, 225, 194,
+  186, 174, 123, 158, 97, 85, 86, 114, 118, 154, 155, 194, 208, 178, 98, 52,
+  29, 255, 255, 255, 18, 18, 23, 39, 54, 110, 130, 134, 122, 154, 151, 149,
+  165, 167, 172, 153, 186, 164, 155, 159, 204, 240, 246, 246, 251, 248, 255, 171,
+  226, 205, 243, 211, 231, 207, 230, 242, 231, 255, 255, 248, 255, 255, 255, 246,
+  237, 244, 231, 219, 226, 218, 214, 242, 252, 241, 236, 237, 234, 235, 240, 243,
+  247, 248, 246, 242, 234, 234, 240, 252, 248, 216, 213, 250, 225, 222, 216, 227,
+  240, 247, 241, 236, 239, 237, 250, 250, 245, 251, 221, 184, 186, 171, 164, 196,
+  198, 187, 228, 216, 215, 234, 228, 241, 255, 255, 251, 245, 231, 220, 177, 201,
+  212, 227, 232, 208, 188, 185, 158, 137, 101, 96, 99, 137, 171, 155, 190, 159,
+  122, 75, 64, 47, 39, 255, 255, 255, 19, 19, 24, 37, 44, 93, 142, 144,
+  125, 151, 130, 166, 158, 158, 155, 171, 189, 153, 159, 165, 220, 241, 245, 243,
+  244, 238, 220, 201, 209, 234, 215, 247, 224, 233, 230, 240, 250, 255, 255, 255,
+  255, 250, 246, 237, 223, 211, 214, 229, 229, 202, 240, 255, 252, 234, 229, 233,
+  233, 236, 241, 244, 247, 248, 247, 243, 235, 233, 236, 254, 246, 231, 211, 250,
+  243, 244, 216, 220, 230, 239, 246, 251, 255, 255, 255, 243, 253, 255, 252, 255,
+  244, 227, 234, 234, 224, 244, 205, 237, 232, 220, 224, 241, 255, 255, 254, 247,
+  238, 231, 180, 192, 210, 220, 232, 211, 171, 179, 143, 131, 103, 86, 109, 121,
+  157, 155, 140, 146, 156, 111, 83, 38, 34, 255, 255, 255, 20, 21, 29, 57,
+  91, 102, 114, 111, 128, 147, 119, 176, 133, 166, 153, 198, 184, 150, 166, 173,
+  235, 243, 247, 243, 239, 228, 224, 238, 240, 237, 255, 255, 253, 255, 255, 255,
+  255, 255, 255, 255, 255, 249, 234, 228, 220, 212, 231, 255, 242, 214, 255, 255,
+  255, 239, 232, 232, 230, 233, 242, 243, 245, 247, 246, 245, 240, 238, 243, 247,
+  246, 248, 225, 227, 253, 255, 246, 232, 220, 225, 238, 250, 255, 255, 254, 240,
+  248, 255, 255, 255, 255, 238, 235, 245, 249, 221, 255, 218, 222, 247, 226, 241,
+  255, 255, 255, 254, 246, 239, 192, 191, 206, 210, 229, 213, 168, 184, 132, 151,
+  113, 83, 110, 98, 122, 161, 136, 138, 134, 107, 79, 53, 40, 255, 255, 255,
+  21, 23, 25, 32, 73, 75, 92, 115, 149, 124, 144, 175, 143, 161, 193, 187,
+  181, 144, 174, 181, 245, 247, 251, 247, 241, 227, 239, 223, 238, 255, 255, 255,
+  255, 253, 255, 255, 255, 255, 255, 229, 233, 221, 213, 219, 229, 233, 242, 241,
+  231, 239, 254, 255, 255, 247, 245, 243, 240, 243, 244, 243, 242, 245, 248, 248,
+  249, 247, 254, 240, 253, 255, 242, 202, 250, 251, 252, 249, 245, 237, 226, 220,
+  231, 240, 245, 242, 244, 255, 248, 234, 242, 229, 234, 227, 235, 252, 234, 248,
+  242, 218, 235, 246, 253, 255, 254, 250, 240, 228, 208, 199, 206, 204, 227, 221,
+  178, 205, 165, 138, 104, 96, 85, 92, 127, 137, 173, 179, 158, 140, 94, 76,
+  45, 255, 255, 255, 177, 22, 26, 34, 21, 101, 137, 147, 122, 179, 137, 173,
+  128, 177, 181, 221, 147, 178, 154, 218, 255, 249, 237, 233, 228, 227, 221, 232,
+  247, 255, 255, 255, 255, 255, 255, 255, 245, 229, 218, 218, 224, 228, 222, 234,
+  244, 250, 255, 210, 204, 255, 255, 250, 255, 255, 223, 236, 237, 244, 255, 232,
+  249, 239, 251, 251, 255, 236, 252, 255, 255, 255, 255, 231, 218, 240, 255, 255,
+  251, 242, 231, 222, 233, 213, 209, 218, 234, 246, 249, 248, 244, 241, 240, 241,
+  242, 244, 245, 245, 244, 245, 230, 235, 235, 236, 246, 255, 247, 230, 210, 202,
+  198, 211, 233, 238, 174, 210, 214, 152, 113, 94, 80, 112, 110, 134, 147, 126,
+  130, 122, 94, 90, 29, 255, 255, 255, 255, 22, 6, 56, 86, 103, 121, 128,
+  150, 196, 145, 169, 158, 174, 185, 189, 157, 187, 160, 216, 246, 232, 220, 217,
+  219, 224, 233, 244, 255, 255, 255, 253, 246, 248, 232, 233, 227, 221, 216, 218,
+  224, 228, 241, 243, 255, 255, 240, 211, 227, 253, 252, 255, 255, 243, 194, 170,
+  187, 255, 245, 230, 239, 232, 252, 255, 193, 199, 198, 242, 255, 255, 255, 242,
+  217, 206, 248, 255, 255, 255, 241, 226, 232, 218, 214, 220, 224, 228, 233, 239,
+  247, 252, 249, 250, 250, 250, 249, 246, 242, 242, 239, 238, 230, 227, 239, 251,
+  247, 233, 226, 225, 210, 196, 219, 244, 190, 204, 209, 157, 125, 91, 82, 110,
+  117, 131, 173, 173, 138, 135, 100, 64, 61, 255, 255, 255, 255, 22, 33, 22,
+  57, 84, 137, 120, 142, 153, 140, 136, 183, 163, 226, 172, 197, 194, 181, 225,
+  241, 223, 212, 214, 222, 231, 244, 250, 254, 250, 241, 229, 216, 216, 212, 219,
+  223, 226, 227, 231, 234, 237, 255, 254, 255, 255, 206, 218, 250, 250, 255, 236,
+  192, 193, 196, 160, 139, 234, 243, 239, 238, 232, 255, 247, 127, 150, 184, 192,
+  206, 239, 255, 255, 230, 221, 229, 255, 255, 255, 252, 237, 235, 229, 237, 238,
+  230, 224, 221, 225, 232, 239, 248, 249, 251, 253, 253, 250, 248, 246, 249, 241,
+  227, 218, 227, 242, 244, 238, 212, 214, 210, 202, 221, 234, 178, 170, 212, 173,
+  140, 99, 83, 107, 118, 126, 133, 129, 133, 112, 82, 44, 28, 255, 255, 255,
+  255, 22, 18, 45, 100, 94, 125, 136, 163, 129, 165, 159, 141, 186, 177, 184,
+  169, 169, 202, 231, 236, 222, 219, 226, 234, 243, 249, 248, 243, 233, 220, 207,
+  200, 198, 220, 228, 235, 241, 243, 244, 245, 247, 255, 255, 255, 251, 197, 225,
+  250, 249, 246, 238, 196, 186, 185, 162, 151, 245, 248, 246, 239, 236, 253, 221,
+  117, 123, 177, 162, 176, 226, 255, 255, 247, 250, 211, 235, 255, 255, 255, 247,
+  242, 242, 248, 253, 243, 235, 227, 221, 220, 221, 231, 235, 237, 242, 245, 248,
+  250, 252, 251, 244, 230, 218, 220, 231, 241, 241, 247, 219, 205, 199, 207, 215,
+  194, 204, 189, 160, 124, 118, 91, 122, 135, 157, 129, 153, 131, 135, 117, 44,
+  61, 255, 255, 255, 255, 22, 42, 9, 47, 113, 135, 120, 132, 138, 197, 166,
+  157, 161, 186, 167, 196, 179, 206, 223, 223, 219, 229, 239, 242, 244, 247, 242,
+  233, 222, 215, 210, 213, 215, 235, 241, 243, 245, 244, 244, 247, 249, 253, 255,
+  243, 239, 216, 234, 236, 251, 226, 225, 194, 161, 140, 159, 178, 241, 250, 244,
+  242, 242, 245, 198, 166, 139, 146, 175, 211, 235, 242, 250, 251, 245, 211, 224,
+  244, 252, 253, 254, 244, 248, 246, 252, 248, 244, 240, 235, 230, 229, 230, 231,
+  231, 233, 237, 240, 244, 247, 245, 244, 240, 228, 222, 226, 236, 245, 226, 214,
+  226, 228, 223, 211, 192, 179, 190, 159, 109, 137, 93, 120, 124, 160, 172, 131,
+  157, 106, 91, 72, 25, 255, 255, 255, 255, 177, 18, 44, 86, 121, 106, 130,
+  159, 180, 159, 169, 156, 188, 181, 183, 203, 197, 204, 216, 219, 224, 241, 249,
+  245, 245, 239, 236, 230, 223, 222, 228, 237, 242, 248, 248, 246, 246, 242, 241,
+  245, 251, 246, 255, 238, 231, 237, 240, 231, 253, 255, 248, 215, 192, 190, 238,
+  236, 236, 254, 246, 253, 252, 243, 207, 234, 197, 172, 182, 213, 242, 243, 240,
+  246, 247, 219, 224, 245, 248, 250, 255, 243, 249, 251, 251, 247, 245, 243, 243,
+  242, 244, 244, 244, 241, 237, 233, 234, 236, 237, 240, 246, 249, 242, 232, 229,
+  237, 246, 239, 231, 234, 199, 183, 193, 207, 175, 199, 161, 104, 140, 99, 108,
+  112, 143, 179, 160, 144, 123, 101, 65, 48, 255, 255, 255, 255, 255, 41, 17,
+  32, 99, 122, 132, 143, 170, 135, 157, 176, 167, 196, 151, 192, 167, 205, 219,
+  227, 236, 253, 254, 248, 249, 236, 237, 237, 238, 240, 244, 252, 253, 253, 251,
+  247, 243, 238, 237, 240, 246, 244, 255, 247, 227, 240, 240, 241, 250, 255, 255,
+  244, 233, 225, 250, 235, 243, 255, 255, 255, 255, 238, 235, 255, 243, 233, 199,
+  207, 247, 252, 240, 244, 251, 219, 224, 251, 252, 250, 253, 238, 245, 247, 242,
+  237, 236, 237, 241, 242, 246, 251, 252, 250, 245, 238, 234, 232, 232, 240, 246,
+  252, 250, 245, 241, 243, 246, 236, 235, 251, 225, 204, 201, 210, 154, 185, 146,
+  101, 123, 115, 110, 132, 144, 150, 136, 148, 130, 94, 74, 28, 255, 255, 255,
+  255, 255, 24, 35, 66, 99, 121, 134, 154, 171, 143, 179, 159, 177, 184, 187,
+  212, 204, 204, 223, 233, 243, 253, 249, 244, 247, 238, 242, 246, 250, 250, 250,
+  250, 249, 252, 251, 246, 240, 232, 229, 231, 235, 239, 246, 255, 224, 232, 242,
+  255, 255, 255, 255, 242, 236, 241, 250, 224, 255, 244, 255, 255, 246, 222, 252,
+  243, 255, 245, 235, 246, 255, 250, 250, 252, 239, 214, 222, 255, 255, 249, 250,
+  235, 245, 234, 230, 229, 233, 238, 241, 243, 244, 243, 247, 247, 247, 243, 240,
+  236, 236, 244, 246, 247, 250, 249, 244, 240, 240, 246, 219, 231, 218, 199, 183,
+  201, 155, 205, 160, 123, 113, 124, 99, 129, 115, 133, 159, 132, 145, 94, 51,
+  44, 255, 255, 255, 255, 255, 178, 28, 66, 143, 91, 186, 173, 157, 146, 176,
+  148, 190, 161, 206, 202, 214, 207, 232, 250, 248, 244, 244, 242, 236, 239, 239,
+  241, 244, 246, 247, 247, 249, 251, 250, 247, 242, 236, 233, 231, 231, 235, 244,
+  243, 232, 228, 241, 255, 255, 255, 255, 245, 242, 242, 240, 237, 238, 245, 247,
+  246, 241, 240, 243, 243, 243, 241, 242, 248, 252, 255, 254, 252, 248, 205, 231,
+  252, 254, 248, 249, 247, 240, 240, 240, 240, 239, 240, 240, 243, 245, 241, 239,
+  239, 238, 238, 240, 237, 238, 243, 243, 243, 247, 250, 244, 232, 224, 231, 240,
+  216, 230, 219, 195, 195, 149, 224, 142, 133, 121, 121, 112, 122, 118, 136, 146,
+  132, 165, 92, 96, 48, 255, 255, 255, 255, 255, 255, 15, 95, 58, 147, 152,
+  141, 150, 150, 159, 167, 190, 186, 206, 224, 203, 212, 234, 248, 246, 241, 241,
+  238, 231, 239, 237, 239, 241, 241, 241, 240, 243, 250, 250, 246, 241, 236, 232,
+  229, 229, 230, 242, 248, 238, 229, 231, 239, 246, 244, 234, 232, 238, 240, 239,
+  239, 241, 243, 244, 245, 243, 243, 246, 246, 242, 229, 228, 233, 241, 249, 250,
+  244, 236, 226, 244, 255, 252, 246, 245, 242, 236, 242, 243, 242, 242, 240, 240,
+  241, 240, 238, 236, 236, 237, 240, 240, 239, 239, 240, 240, 239, 243, 245, 243,
+  237, 230, 227, 245, 230, 234, 213, 186, 189, 150, 211, 126, 148, 110, 115, 133,
+  117, 151, 143, 152, 126, 124, 51, 49, 25, 255, 255, 255, 255, 255, 255, 175,
+  74, 106, 98, 150, 164, 165, 148, 146, 176, 185, 210, 206, 233, 193, 222, 237,
+  247, 244, 238, 240, 239, 234, 243, 243, 243, 244, 244, 243, 241, 242, 248, 248,
+  244, 240, 236, 233, 232, 234, 234, 246, 250, 240, 226, 218, 219, 219, 225, 225,
+  233, 242, 246, 245, 246, 248, 244, 244, 243, 242, 247, 250, 248, 242, 235, 230,
+  227, 227, 232, 230, 218, 206, 241, 249, 255, 248, 243, 241, 238, 232, 242, 243,
+  242, 242, 241, 241, 241, 242, 244, 242, 241, 240, 243, 244, 242, 241, 241, 239,
+  238, 243, 246, 247, 243, 241, 228, 249, 239, 231, 202, 179, 188, 159, 168, 150,
+  137, 130, 136, 116, 126, 137, 143, 144, 117, 109, 79, 71, 42, 255, 255, 255,
+  255, 255, 255, 255, 51, 89, 130, 133, 193, 167, 141, 158, 163, 180, 212, 209,
+  208, 188, 233, 242, 244, 238, 235, 238, 241, 239, 247, 246, 247, 246, 246, 242,
+  238, 239, 245, 245, 243, 240, 238, 239, 241, 243, 245, 246, 243, 236, 228, 224,
+  225, 224, 223, 227, 238, 247, 247, 245, 245, 247, 244, 243, 242, 242, 247, 250,
+  246, 239, 241, 237, 230, 226, 223, 221, 214, 208, 239, 244, 246, 243, 242, 242,
+  237, 233, 241, 243, 242, 242, 242, 242, 242, 242, 245, 244, 244, 244, 246, 244,
+  243, 243, 246, 244, 242, 241, 245, 246, 244, 243, 229, 244, 234, 222, 198, 183,
+  188, 161, 138, 164, 125, 134, 142, 105, 125, 123, 133, 134, 114, 98, 101, 81,
+  46, 255, 255, 255, 255, 255, 255, 255, 46, 81, 150, 143, 200, 105, 144, 187,
+  146, 185, 201, 213, 175, 202, 244, 244, 240, 234, 231, 238, 243, 246, 249, 247,
+  247, 244, 243, 239, 236, 235, 240, 241, 242, 242, 242, 246, 250, 254, 255, 249,
+  241, 235, 233, 234, 234, 231, 223, 229, 239, 244, 243, 244, 245, 246, 245, 244,
+  242, 242, 246, 249, 243, 237, 240, 242, 238, 234, 232, 234, 237, 240, 234, 238,
+  241, 241, 242, 242, 238, 236, 241, 242, 242, 242, 241, 241, 241, 242, 244, 243,
+  243, 243, 245, 244, 244, 242, 248, 246, 243, 240, 242, 243, 243, 246, 233, 233,
+  225, 221, 208, 196, 182, 148, 140, 144, 135, 105, 117, 130, 111, 147, 152, 159,
+  138, 98, 82, 52, 34, 255, 255, 255, 255, 255, 255, 255, 255, 139, 113, 189,
+  175, 96, 158, 202, 145, 191, 191, 201, 162, 224, 246, 243, 237, 232, 233, 240,
+  246, 248, 249, 246, 244, 243, 240, 237, 233, 233, 236, 238, 240, 243, 248, 250,
+  255, 255, 255, 250, 241, 240, 240, 235, 230, 224, 224, 231, 241, 244, 245, 250,
+  254, 254, 246, 246, 244, 243, 245, 247, 245, 241, 244, 247, 246, 240, 234, 236,
+  243, 248, 239, 239, 242, 243, 241, 239, 236, 236, 240, 241, 241, 241, 241, 241,
+  241, 241, 243, 242, 241, 243, 246, 244, 242, 241, 245, 244, 240, 239, 240, 243,
+  245, 249, 239, 224, 220, 225, 220, 203, 174, 140, 133, 150, 133, 110, 114, 133,
+  119, 141, 159, 161, 142, 105, 80, 57, 115, 255, 255, 255, 255, 255, 255, 255,
+  255, 99, 153, 172, 132, 154, 170, 181, 155, 190, 182, 168, 177, 234, 243, 238,
+  236, 236, 240, 244, 247, 246, 250, 246, 242, 239, 237, 235, 235, 234, 233, 235,
+  241, 245, 249, 252, 255, 255, 250, 246, 240, 239, 235, 229, 230, 229, 233, 238,
+  245, 248, 249, 254, 255, 252, 241, 244, 243, 241, 241, 245, 245, 245, 251, 253,
+  249, 242, 236, 234, 235, 236, 242, 241, 241, 241, 238, 236, 236, 239, 240, 241,
+  240, 240, 240, 240, 239, 239, 241, 241, 240, 242, 245, 245, 244, 242, 243, 243,
+  241, 240, 241, 243, 248, 253, 251, 221, 216, 220, 214, 197, 178, 162, 116, 156,
+  131, 125, 117, 129, 131, 131, 127, 128, 118, 101, 70, 61, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 78, 141, 130, 141, 153, 176, 150, 164, 181, 175, 137,
+  193, 232, 238, 235, 234, 239, 244, 245, 245, 241, 249, 244, 239, 236, 236, 235,
+  236, 236, 232, 235, 242, 246, 250, 254, 255, 255, 244, 240, 236, 232, 226, 223,
+  233, 241, 238, 243, 247, 245, 245, 247, 245, 239, 236, 239, 240, 237, 237, 242,
+  245, 247, 251, 250, 248, 245, 244, 242, 237, 233, 241, 240, 239, 237, 233, 234,
+  238, 244, 242, 240, 240, 240, 240, 240, 240, 238, 241, 240, 241, 242, 244, 245,
+  243, 243, 243, 244, 241, 239, 240, 242, 246, 251, 255, 223, 211, 211, 199, 189,
+  187, 195, 118, 123, 147, 106, 92, 154, 124, 163, 122, 132, 130, 107, 44, 40,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 97, 151, 148, 169, 188, 195, 144,
+  145, 170, 155, 154, 200, 237, 242, 229, 244, 246, 240, 245, 243, 245, 247, 243,
+  241, 238, 236, 235, 233, 232, 231, 240, 245, 246, 250, 255, 248, 239, 239, 237,
+  231, 226, 229, 238, 248, 252, 241, 235, 235, 236, 236, 236, 231, 227, 226, 218,
+  218, 224, 224, 221, 229, 241, 243, 242, 246, 252, 255, 251, 240, 231, 235, 240,
+  243, 243, 238, 238, 239, 238, 236, 240, 247, 245, 239, 235, 240, 245, 238, 238,
+  240, 241, 241, 242, 242, 244, 246, 244, 242, 241, 242, 243, 247, 251, 255, 227,
+  213, 205, 217, 197, 190, 175, 132, 100, 150, 120, 97, 114, 172, 153, 118, 126,
+  110, 85, 75, 57, 255, 255, 255, 255, 255, 255, 255, 255, 255, 80, 124, 148,
+  174, 179, 216, 157, 146, 162, 149, 156, 207, 241, 240, 229, 246, 248, 241, 245,
+  241, 243, 244, 242, 239, 238, 238, 235, 234, 233, 233, 239, 245, 247, 247, 245,
+  239, 233, 228, 231, 232, 235, 238, 245, 253, 254, 243, 240, 240, 240, 240, 241,
+  243, 241, 235, 234, 234, 234, 228, 223, 227, 234, 234, 231, 234, 241, 248, 252,
+  249, 244, 238, 237, 235, 234, 235, 239, 242, 238, 237, 233, 237, 239, 240, 241,
+  242, 242, 240, 238, 240, 240, 241, 241, 242, 242, 244, 241, 240, 239, 240, 242,
+  245, 251, 250, 228, 212, 194, 206, 194, 183, 158, 148, 111, 142, 105, 96, 111,
+  162, 152, 126, 109, 105, 92, 57, 38, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 107, 137, 118, 128, 204, 200, 142, 131, 150, 145, 163, 216, 247, 238, 227,
+  246, 250, 245, 247, 242, 241, 242, 241, 239, 239, 239, 238, 237, 238, 240, 239,
+  242, 243, 238, 230, 226, 227, 223, 229, 237, 245, 248, 251, 252, 249, 248, 246,
+  247, 247, 246, 247, 249, 250, 239, 248, 251, 245, 236, 234, 236, 234, 229, 226,
+  228, 233, 241, 250, 255, 255, 246, 239, 230, 226, 231, 239, 244, 241, 237, 228,
+  228, 234, 241, 245, 243, 238, 240, 240, 240, 240, 241, 241, 241, 242, 242, 241,
+  239, 238, 239, 241, 245, 249, 247, 234, 218, 192, 205, 200, 186, 148, 142, 118,
+  138, 100, 106, 105, 130, 124, 155, 98, 85, 85, 51, 40, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 93, 123, 160, 128, 191, 167, 120, 119, 144, 148, 175,
+  222, 242, 240, 227, 246, 247, 243, 248, 242, 244, 241, 241, 239, 239, 241, 241,
+  241, 242, 246, 239, 237, 237, 230, 219, 219, 230, 233, 238, 243, 248, 249, 248,
+  246, 243, 246, 244, 243, 245, 247, 247, 246, 241, 233, 248, 254, 248, 241, 242,
+  243, 235, 236, 231, 230, 232, 239, 244, 250, 252, 253, 246, 237, 231, 233, 240,
+  247, 245, 237, 228, 227, 233, 242, 246, 243, 238, 241, 240, 240, 240, 241, 241,
+  241, 241, 241, 240, 236, 237, 238, 240, 244, 249, 248, 233, 218, 196, 211, 203,
+  188, 151, 147, 132, 141, 99, 119, 105, 114, 123, 165, 109, 79, 70, 50, 46,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 98, 137, 196, 121, 194, 157, 121,
+  125, 149, 153, 180, 223, 233, 244, 229, 245, 245, 241, 246, 243, 246, 240, 239,
+  241, 241, 242, 244, 244, 246, 248, 240, 234, 232, 226, 219, 226, 237, 247, 245,
+  245, 245, 243, 241, 242, 241, 241, 237, 236, 242, 249, 251, 244, 235, 232, 246,
+  253, 248, 240, 241, 239, 233, 241, 238, 238, 238, 239, 242, 242, 242, 250, 249,
+  246, 239, 236, 237, 243, 246, 238, 236, 237, 238, 241, 244, 243, 242, 241, 241,
+  241, 241, 241, 241, 242, 241, 242, 240, 236, 237, 238, 240, 244, 250, 249, 227,
+  213, 199, 213, 195, 179, 150, 166, 149, 141, 91, 120, 109, 125, 156, 138, 127,
+  94, 61, 45, 36, 255, 255, 255, 255, 255, 255, 255, 255, 255, 92, 129, 217,
+  130, 154, 145, 119, 128, 147, 148, 178, 225, 236, 246, 229, 243, 244, 238, 245,
+  244, 247, 240, 239, 241, 242, 245, 245, 247, 249, 248, 242, 235, 232, 229, 231,
+  238, 248, 251, 247, 242, 239, 237, 237, 239, 241, 243, 240, 241, 247, 255, 255,
+  254, 246, 245, 251, 255, 252, 246, 243, 242, 236, 241, 241, 243, 243, 241, 239,
+  236, 235, 239, 243, 245, 243, 238, 236, 241, 244, 242, 244, 247, 245, 242, 241,
+  243, 246, 242, 241, 241, 241, 241, 241, 242, 241, 242, 239, 237, 235, 238, 241,
+  244, 249, 252, 231, 217, 202, 212, 189, 174, 150, 157, 139, 130, 86, 121, 108,
+  123, 159, 129, 125, 86, 49, 47, 42, 255, 255, 255, 255, 255, 255, 255, 255,
+  192, 132, 158, 167, 110, 156, 124, 110, 128, 146, 144, 176, 228, 238, 245, 229,
+  245, 245, 239, 243, 240, 243, 240, 239, 241, 243, 246, 248, 250, 252, 247, 247,
+  242, 236, 238, 245, 252, 252, 245, 244, 241, 238, 237, 236, 236, 239, 243, 246,
+  246, 247, 250, 250, 251, 250, 242, 241, 243, 249, 250, 246, 247, 248, 243, 245,
+  245, 244, 240, 236, 234, 230, 231, 233, 236, 240, 240, 242, 242, 243, 246, 248,
+  250, 249, 245, 244, 247, 247, 242, 242, 241, 241, 242, 242, 242, 241, 243, 238,
+  237, 236, 238, 240, 245, 249, 250, 238, 228, 203, 209, 194, 184, 154, 156, 130,
+  124, 88, 125, 108, 113, 140, 150, 113, 72, 52, 48, 47, 255, 255, 255, 255,
+  255, 255, 255, 255, 75, 130, 148, 163, 145, 143, 115, 111, 137, 155, 148, 176,
+  224, 233, 244, 231, 246, 248, 240, 242, 236, 238, 238, 239, 241, 243, 246, 247,
+  248, 250, 243, 248, 245, 239, 242, 253, 254, 247, 238, 238, 240, 241, 242, 241,
+  239, 242, 247, 252, 250, 243, 233, 230, 235, 240, 225, 219, 223, 237, 246, 248,
+  251, 255, 254, 255, 255, 251, 247, 241, 237, 233, 232, 230, 230, 235, 243, 244,
+  242, 240, 245, 245, 245, 245, 245, 246, 246, 246, 242, 242, 241, 241, 242, 242,
+  242, 241, 243, 240, 237, 236, 239, 242, 245, 250, 240, 241, 233, 199, 205, 202,
+  194, 158, 190, 148, 130, 90, 126, 113, 121, 146, 163, 106, 82, 72, 34, 27,
+  255, 255, 255, 255, 255, 255, 255, 255, 86, 136, 151, 169, 153, 148, 95, 109,
+  147, 144, 147, 167, 223, 231, 241, 242, 244, 243, 238, 236, 238, 239, 238, 238,
+  240, 242, 246, 244, 240, 240, 244, 249, 242, 236, 237, 247, 244, 233, 231, 238,
+  240, 238, 241, 250, 255, 255, 249, 240, 227, 221, 215, 206, 202, 204, 220, 211,
+  204, 205, 215, 222, 223, 222, 245, 254, 255, 255, 255, 250, 251, 252, 244, 238,
+  235, 235, 236, 237, 237, 239, 246, 246, 244, 241, 239, 238, 242, 243, 242, 242,
+  242, 242, 242, 242, 242, 242, 238, 242, 242, 239, 237, 242, 245, 249, 246, 243,
+  219, 209, 202, 202, 197, 154, 174, 162, 108, 115, 126, 121, 116, 146, 140, 156,
+  76, 90, 48, 34, 255, 255, 255, 255, 255, 255, 255, 189, 116, 138, 154, 137,
+  151, 137, 98, 107, 144, 147, 156, 174, 222, 229, 242, 243, 245, 244, 238, 234,
+  236, 238, 238, 238, 241, 242, 243, 242, 236, 237, 238, 242, 245, 247, 244, 238,
+  231, 231, 225, 231, 237, 248, 255, 255, 251, 238, 223, 228, 238, 254, 255, 255,
+  255, 255, 255, 255, 250, 247, 251, 251, 245, 242, 216, 207, 204, 221, 251, 255,
+  255, 254, 244, 242, 242, 242, 243, 240, 236, 233, 241, 242, 240, 238, 236, 237,
+  241, 244, 242, 242, 242, 242, 242, 242, 242, 242, 238, 242, 242, 239, 238, 241,
+  245, 248, 243, 240, 219, 208, 203, 201, 196, 153, 159, 166, 112, 84, 97, 118,
+  136, 149, 160, 135, 60, 61, 49, 30, 104, 255, 255, 255, 255, 255, 255, 48,
+  149, 192, 168, 115, 163, 104, 111, 105, 133, 141, 153, 168, 217, 226, 241, 242,
+  244, 243, 238, 235, 237, 238, 238, 238, 241, 243, 243, 241, 236, 236, 236, 237,
+  242, 255, 251, 239, 237, 245, 240, 244, 251, 255, 255, 254, 231, 214, 225, 237,
+  253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  234, 217, 218, 234, 249, 255, 255, 250, 244, 240, 241, 242, 244, 243, 242, 240,
+  240, 239, 238, 238, 241, 244, 242, 242, 242, 242, 242, 242, 242, 242, 238, 241,
+  242, 238, 239, 241, 243, 246, 241, 239, 219, 210, 202, 200, 195, 154, 142, 157,
+  121, 86, 93, 104, 124, 125, 179, 144, 98, 53, 55, 36, 34, 255, 255, 255,
+  255, 255, 255, 86, 142, 175, 180, 117, 140, 146, 146, 124, 142, 147, 158, 170,
+  222, 240, 239, 241, 244, 243, 239, 234, 236, 237, 238, 240, 242, 243, 243, 241,
+  236, 233, 236, 235, 241, 249, 251, 248, 251, 255, 255, 255, 255, 249, 236, 225,
+  219, 217, 218, 221, 224, 223, 216, 209, 208, 210, 206, 204, 205, 209, 215, 217,
+  210, 208, 208, 221, 227, 219, 208, 208, 225, 242, 251, 244, 241, 240, 244, 251,
+  255, 255, 243, 241, 242, 240, 238, 238, 239, 241, 242, 242, 242, 242, 242, 242,
+  242, 242, 239, 241, 241, 239, 239, 241, 242, 243, 241, 239, 220, 214, 206, 201,
+  196, 159, 156, 151, 123, 110, 110, 90, 106, 121, 154, 155, 158, 65, 60, 43,
+  41, 255, 255, 255, 255, 255, 203, 70, 152, 194, 149, 134, 146, 136, 160, 127,
+  139, 149, 159, 164, 215, 238, 238, 240, 243, 243, 239, 236, 235, 237, 240, 240,
+  241, 244, 244, 240, 235, 232, 231, 236, 238, 242, 249, 255, 255, 252, 245, 244,
+  236, 224, 214, 213, 223, 232, 243, 241, 240, 234, 226, 224, 227, 230, 236, 233,
+  232, 234, 238, 240, 236, 236, 239, 242, 240, 236, 232, 225, 217, 213, 219, 221,
+  227, 236, 248, 255, 255, 255, 246, 242, 243, 242, 239, 237, 237, 238, 242, 242,
+  242, 242, 242, 242, 242, 242, 239, 241, 240, 238, 239, 242, 242, 240, 239, 236,
+  220, 215, 205, 197, 192, 158, 191, 167, 124, 114, 106, 95, 121, 148, 128, 141,
+  171, 83, 70, 48, 42, 36, 255, 255, 255, 255, 46, 97, 165, 180, 176, 168,
+  123, 134, 170, 125, 133, 150, 164, 162, 205, 227, 237, 239, 245, 244, 240, 236,
+  234, 237, 240, 241, 243, 244, 244, 242, 236, 231, 225, 234, 241, 242, 249, 255,
+  246, 230, 223, 213, 206, 208, 218, 228, 236, 240, 237, 239, 238, 234, 232, 234,
+  235, 235, 225, 223, 221, 222, 227, 229, 229, 228, 243, 235, 224, 223, 231, 238,
+  238, 234, 219, 214, 209, 210, 218, 230, 243, 243, 245, 241, 243, 243, 241, 238,
+  237, 237, 242, 242, 242, 242, 242, 242, 242, 242, 240, 241, 239, 238, 241, 242,
+  240, 237, 235, 232, 217, 214, 202, 192, 184, 152, 203, 199, 149, 127, 95, 115,
+  135, 142, 156, 143, 153, 113, 97, 65, 41, 54, 255, 255, 255, 183, 67, 100,
+  157, 171, 179, 186, 193, 178, 216, 150, 142, 159, 181, 176, 216, 234, 236, 238,
+  244, 244, 240, 237, 237, 237, 241, 242, 244, 244, 245, 242, 236, 230, 227, 232,
+  242, 247, 250, 245, 236, 228, 227, 222, 219, 226, 236, 240, 243, 246, 241, 242,
+  241, 236, 236, 238, 235, 229, 234, 233, 234, 236, 241, 243, 241, 241, 234, 240,
+  248, 252, 252, 245, 239, 233, 239, 229, 216, 208, 209, 218, 231, 232, 241, 238,
+  242, 243, 242, 241, 240, 240, 242, 242, 242, 242, 242, 242, 242, 242, 240, 240,
+  239, 237, 241, 243, 240, 236, 234, 231, 216, 214, 202, 186, 178, 148, 203, 230,
+  186, 166, 108, 143, 144, 133, 181, 161, 138, 141, 115, 86, 48, 61, 255, 255,
+  255, 30, 73, 115, 142, 169, 240, 213, 233, 225, 245, 160, 132, 144, 170, 168,
+  208, 228, 236, 240, 244, 244, 241, 239, 238, 239, 244, 243, 245, 246, 245, 242,
+  236, 230, 236, 234, 241, 252, 250, 235, 234, 241, 249, 252, 254, 254, 245, 236,
+  238, 247, 246, 247, 243, 241, 245, 252, 251, 246, 248, 249, 249, 250, 251, 248,
+  244, 241, 245, 239, 236, 237, 241, 244, 241, 239, 232, 234, 237, 242, 243, 242,
+  236, 227, 236, 235, 240, 243, 243, 243, 243, 243, 242, 242, 242, 242, 242, 242,
+  242, 242, 240, 240, 240, 239, 241, 243, 239, 236, 236, 233, 218, 216, 202, 185,
+  177, 147, 212, 246, 204, 198, 127, 166, 164, 162, 161, 161, 127, 147, 113, 101,
+  56, 58, 112, 255, 255, 38, 95, 131, 169, 193, 210, 243, 247, 232, 255, 177,
+  131, 141, 165, 169, 205, 227, 233, 238, 240, 245, 248, 236, 231, 242, 245, 244,
+  244, 244, 243, 241, 237, 233, 233, 238, 247, 248, 238, 226, 229, 238, 248, 253,
+  255, 255, 249, 245, 241, 240, 246, 246, 246, 246, 246, 248, 251, 254, 251, 252,
+  254, 254, 252, 249, 247, 244, 232, 232, 235, 237, 240, 242, 246, 246, 251, 251,
+  252, 251, 249, 243, 239, 233, 233, 236, 243, 245, 242, 240, 241, 243, 241, 241,
+  241, 241, 241, 241, 241, 241, 240, 239, 239, 239, 244, 249, 247, 245, 239, 242,
+  221, 210, 207, 189, 169, 149, 222, 247, 229, 226, 191, 157, 199, 213, 243, 204,
+  212, 195, 141, 90, 90, 50, 55, 255, 255, 37, 87, 196, 211, 169, 217, 242,
+  250, 255, 255, 184, 123, 143, 161, 172, 200, 227, 232, 238, 240, 245, 247, 237,
+  232, 242, 245, 243, 243, 242, 243, 241, 238, 235, 238, 242, 247, 246, 236, 228,
+  234, 243, 253, 255, 255, 255, 251, 245, 243, 242, 242, 243, 242, 240, 239, 241,
+  242, 244, 245, 248, 249, 248, 246, 243, 241, 238, 233, 233, 237, 241, 247, 251,
+  255, 255, 255, 255, 255, 255, 250, 245, 240, 237, 233, 237, 243, 244, 242, 240,
+  241, 243, 241, 241, 241, 241, 241, 241, 241, 241, 240, 241, 240, 238, 241, 246,
+  248, 247, 235, 239, 220, 208, 204, 188, 170, 157, 239, 255, 244, 247, 225, 196,
+  226, 231, 255, 255, 228, 210, 214, 134, 83, 72, 50, 255, 255, 36, 102, 246,
+  242, 224, 183, 240, 243, 255, 255, 197, 113, 144, 156, 175, 193, 230, 232, 239,
+  241, 243, 246, 239, 234, 243, 244, 242, 242, 240, 241, 241, 241, 239, 243, 245,
+  245, 244, 237, 233, 238, 247, 250, 252, 253, 250, 245, 241, 238, 240, 243, 245,
+  242, 238, 236, 235, 236, 238, 243, 244, 245, 244, 243, 240, 236, 233, 231, 231,
+  235, 240, 245, 250, 254, 255, 250, 251, 252, 249, 247, 242, 237, 235, 233, 237,
+  243, 244, 242, 240, 241, 243, 241, 241, 241, 241, 241, 240, 240, 240, 239, 242,
+  241, 239, 240, 244, 248, 251, 233, 234, 220, 205, 198, 185, 171, 169, 249, 255,
+  250, 255, 252, 231, 246, 241, 243, 255, 230, 214, 248, 184, 115, 71, 45, 255,
+  255, 36, 105, 238, 255, 245, 221, 200, 234, 251, 255, 216, 105, 141, 149, 178,
+  190, 235, 231, 239, 241, 243, 246, 240, 236, 244, 244, 241, 239, 238, 240, 241,
+  242, 241, 245, 245, 244, 244, 238, 234, 239, 246, 244, 245, 246, 243, 240, 237,
+  235, 238, 244, 245, 242, 238, 235, 234, 234, 237, 242, 243, 245, 243, 240, 238,
+  235, 232, 232, 232, 234, 235, 238, 240, 242, 243, 243, 244, 245, 243, 241, 237,
+  235, 233, 235, 238, 242, 243, 242, 241, 242, 243, 241, 241, 241, 240, 240, 240,
+  240, 239, 238, 242, 242, 238, 237, 241, 247, 252, 233, 230, 221, 203, 193, 182,
+  170, 183, 247, 254, 250, 255, 255, 244, 250, 242, 242, 251, 253, 242, 244, 238,
+  201, 70, 49, 116, 255, 34, 61, 255, 229, 255, 234, 221, 193, 255, 255, 234,
+  105, 135, 143, 181, 191, 239, 230, 239, 240, 241, 244, 240, 238, 244, 243, 241,
+  239, 239, 241, 243, 242, 243, 245, 244, 244, 245, 241, 235, 234, 238, 243, 243,
+  244, 243, 240, 239, 239, 241, 244, 245, 242, 240, 236, 236, 236, 239, 242, 244,
+  245, 244, 241, 238, 235, 234, 238, 240, 239, 238, 238, 237, 239, 238, 239, 240,
+  241, 243, 242, 241, 240, 239, 237, 239, 242, 243, 242, 242, 242, 242, 241, 241,
+  241, 240, 240, 239, 239, 238, 238, 242, 242, 237, 237, 241, 248, 252, 239, 228,
+  224, 203, 188, 180, 169, 192, 246, 250, 251, 255, 253, 245, 250, 246, 255, 249,
+  255, 255, 240, 252, 245, 74, 52, 52, 255, 34, 58, 240, 249, 236, 248, 204,
+  232, 239, 252, 247, 110, 127, 144, 181, 192, 237, 228, 240, 240, 238, 243, 240,
+  238, 243, 242, 241, 240, 241, 242, 244, 242, 243, 245, 243, 244, 246, 244, 236,
+  232, 233, 240, 240, 241, 240, 239, 239, 240, 243, 244, 244, 241, 238, 238, 238,
+  238, 241, 243, 246, 246, 245, 243, 239, 236, 236, 241, 242, 241, 239, 240, 240,
+  239, 239, 236, 237, 240, 241, 243, 244, 245, 245, 242, 240, 241, 242, 243, 243,
+  242, 242, 241, 241, 240, 240, 239, 238, 238, 238, 238, 241, 240, 237, 238, 242,
+  246, 248, 243, 225, 225, 203, 187, 180, 168, 201, 244, 245, 251, 249, 243, 241,
+  243, 246, 247, 243, 243, 254, 250, 242, 235, 97, 56, 53, 255, 36, 64, 239,
+  245, 255, 216, 209, 255, 233, 235, 254, 118, 121, 148, 179, 192, 228, 228, 241,
+  242, 237, 241, 242, 240, 244, 244, 243, 243, 244, 244, 245, 242, 241, 245, 242,
+  241, 244, 244, 239, 234, 234, 236, 237, 239, 237, 238, 238, 240, 242, 245, 245,
+  242, 240, 238, 237, 238, 242, 245, 248, 248, 246, 245, 241, 238, 239, 242, 245,
+  244, 241, 240, 240, 238, 237, 235, 236, 239, 241, 243, 245, 246, 246, 243, 241,
+  241, 242, 243, 243, 243, 242, 241, 241, 240, 240, 239, 238, 237, 237, 238, 239,
+  238, 236, 240, 244, 245, 244, 245, 222, 225, 203, 189, 184, 170, 207, 239, 239,
+  247, 239, 235, 239, 238, 242, 245, 246, 238, 255, 255, 250, 243, 116, 61, 55,
+  255, 37, 49, 242, 250, 241, 251, 203, 255, 255, 226, 255, 127, 118, 151, 176,
+  191, 217, 226, 240, 242, 237, 241, 243, 240, 243, 244, 242, 243, 244, 246, 245,
+  243, 240, 245, 241, 238, 242, 244, 242, 238, 238, 239, 239, 240, 241, 239, 239,
+  242, 246, 246, 245, 242, 241, 240, 237, 239, 240, 245, 246, 248, 246, 245, 242,
+  239, 241, 246, 249, 247, 244, 241, 239, 237, 236, 241, 240, 242, 243, 245, 247,
+  248, 246, 244, 241, 241, 241, 243, 243, 243, 242, 243, 241, 240, 239, 238, 238,
+  237, 235, 240, 239, 237, 236, 241, 246, 243, 240, 244, 218, 223, 201, 191, 187,
+  171, 211, 242, 239, 248, 240, 238, 244, 241, 242, 242, 239, 240, 254, 245, 249,
+  255, 95, 67, 58, 255, 40, 36, 240, 246, 246, 240, 217, 255, 255, 237, 224,
+  150, 120, 145, 159, 192, 214, 225, 237, 241, 239, 245, 246, 239, 242, 241, 239,
+  241, 243, 246, 247, 246, 243, 242, 240, 240, 241, 240, 240, 239, 237, 238, 238,
+  240, 240, 240, 240, 241, 241, 242, 242, 242, 242, 241, 241, 241, 242, 243, 245,
+  244, 243, 241, 242, 242, 242, 242, 244, 242, 242, 241, 241, 240, 240, 240, 240,
+  241, 241, 242, 242, 244, 242, 241, 241, 240, 239, 240, 240, 243, 243, 246, 241,
+  236, 237, 236, 234, 235, 239, 241, 243, 241, 239, 238, 239, 244, 250, 238, 230,
+  228, 183, 188, 180, 184, 218, 242, 253, 250, 246, 251, 243, 237, 253, 242, 239,
+  229, 246, 255, 254, 249, 103, 66, 57, 255, 39, 51, 238, 255, 255, 245, 205,
+  243, 243, 247, 213, 145, 123, 137, 173, 194, 220, 226, 238, 241, 238, 246, 245,
+  241, 242, 240, 237, 238, 241, 243, 244, 244, 242, 239, 239, 240, 241, 240, 240,
+  239, 239, 240, 240, 240, 240, 240, 240, 240, 240, 242, 242, 242, 242, 242, 242,
+  242, 242, 242, 242, 241, 241, 241, 241, 242, 242, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 240, 240, 240, 240, 241, 243,
+  244, 245, 246, 242, 239, 238, 237, 234, 235, 240, 241, 242, 243, 240, 239, 238,
+  243, 249, 241, 228, 225, 188, 193, 182, 188, 218, 233, 237, 242, 242, 245, 243,
+  242, 251, 239, 232, 232, 251, 253, 252, 255, 108, 65, 56, 255, 41, 58, 226,
+  250, 255, 236, 200, 242, 242, 255, 198, 149, 126, 126, 176, 188, 215, 228, 239,
+  239, 238, 244, 244, 240, 241, 237, 237, 238, 240, 241, 241, 240, 238, 239, 238,
+  239, 240, 241, 241, 240, 240, 241, 241, 241, 241, 241, 241, 241, 241, 243, 243,
+  243, 243, 243, 243, 243, 243, 243, 242, 242, 241, 241, 242, 242, 243, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 240, 240,
+  241, 241, 242, 244, 245, 245, 246, 242, 239, 239, 238, 235, 236, 240, 242, 242,
+  242, 239, 239, 241, 244, 249, 238, 221, 215, 188, 192, 178, 188, 217, 229, 225,
+  235, 241, 238, 241, 247, 243, 235, 223, 236, 255, 247, 252, 255, 110, 65, 56,
+  255, 40, 60, 231, 241, 253, 206, 211, 250, 255, 255, 175, 164, 125, 122, 169,
+  183, 210, 230, 240, 240, 236, 244, 243, 238, 241, 238, 239, 240, 241, 240, 239,
+  239, 237, 238, 237, 240, 240, 240, 241, 240, 240, 242, 241, 241, 241, 241, 241,
+  241, 241, 243, 243, 243, 243, 243, 243, 243, 243, 243, 242, 241, 241, 241, 241,
+  242, 243, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 240, 240, 241, 243, 245, 245, 245, 245, 245, 242, 240, 242, 240, 236,
+  236, 241, 242, 242, 241, 239, 241, 242, 245, 249, 237, 217, 210, 188, 186, 168,
+  196, 226, 236, 225, 237, 246, 236, 240, 248, 237, 235, 211, 236, 255, 245, 255,
+  255, 105, 65, 56, 255, 40, 61, 249, 246, 255, 183, 225, 249, 255, 245, 161,
+  186, 127, 128, 161, 193, 220, 230, 239, 240, 237, 244, 243, 237, 238, 238, 240,
+  242, 240, 240, 238, 238, 237, 239, 237, 241, 240, 241, 241, 241, 240, 242, 242,
+  242, 242, 241, 241, 241, 241, 242, 242, 242, 242, 242, 242, 242, 242, 239, 239,
+  238, 237, 237, 238, 239, 239, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 240, 240, 242, 243, 245, 244, 244, 243, 244, 240,
+  239, 242, 240, 236, 236, 240, 244, 242, 239, 238, 241, 244, 246, 248, 238, 220,
+  212, 190, 180, 168, 214, 242, 240, 227, 240, 249, 238, 240, 247, 235, 236, 206,
+  235, 253, 244, 255, 254, 95, 66, 255, 255, 39, 52, 251, 249, 255, 193, 246,
+  247, 253, 243, 182, 211, 144, 131, 156, 192, 220, 229, 238, 240, 239, 246, 245,
+  238, 237, 236, 239, 242, 240, 239, 237, 238, 240, 239, 239, 241, 242, 243, 241,
+  242, 241, 242, 241, 241, 241, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
+  240, 240, 236, 235, 234, 234, 234, 234, 235, 236, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 240, 242, 243, 243, 244, 242,
+  241, 239, 241, 239, 239, 241, 240, 237, 236, 239, 244, 243, 239, 240, 243, 245,
+  247, 249, 236, 221, 209, 186, 175, 169, 229, 247, 233, 229, 239, 245, 239, 240,
+  243, 239, 231, 204, 234, 249, 247, 255, 237, 84, 64, 255, 255, 40, 48, 236,
+  244, 241, 219, 253, 248, 249, 247, 220, 221, 166, 123, 158, 182, 215, 226, 237,
+  242, 241, 248, 246, 238, 239, 235, 237, 241, 241, 237, 236, 238, 240, 240, 239,
+  243, 242, 244, 243, 244, 242, 241, 241, 240, 240, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 238, 237, 237, 236, 236, 237, 237, 238, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 242, 242,
+  243, 243, 243, 241, 239, 237, 241, 237, 238, 240, 239, 236, 235, 239, 245, 243,
+  239, 240, 246, 247, 248, 249, 233, 219, 202, 180, 173, 176, 239, 242, 224, 231,
+  238, 241, 243, 239, 237, 244, 224, 207, 239, 246, 248, 255, 220, 78, 62, 255,
+  255, 40, 60, 227, 240, 225, 238, 247, 243, 245, 243, 237, 215, 177, 113, 167,
+  180, 220, 224, 236, 242, 244, 250, 248, 240, 238, 234, 236, 240, 239, 237, 235,
+  237, 241, 241, 242, 243, 244, 245, 244, 245, 244, 242, 240, 240, 239, 239, 238,
+  238, 238, 238, 238, 238, 238, 238, 238, 238, 238, 243, 243, 242, 241, 241, 242,
+  243, 243, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 242, 242, 244, 245, 243, 239, 237, 235, 240, 238, 237, 241, 240, 235,
+  235, 238, 245, 243, 241, 242, 247, 250, 250, 251, 236, 223, 202, 181, 178, 188,
+  249, 239, 222, 237, 241, 238, 245, 238, 231, 245, 218, 211, 241, 245, 248, 250,
+  210, 76, 124, 255, 255, 40, 70, 218, 220, 198, 239, 251, 250, 246, 250, 240,
+  218, 206, 113, 152, 169, 221, 225, 234, 244, 247, 248, 247, 243, 236, 241, 238,
+  239, 242, 241, 236, 236, 239, 237, 239, 243, 245, 248, 247, 247, 244, 241, 239,
+  239, 237, 237, 236, 235, 235, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
+  242, 242, 242, 242, 242, 242, 240, 240, 240, 241, 241, 242, 242, 242, 241, 241,
+  240, 239, 238, 238, 238, 238, 239, 241, 242, 240, 242, 244, 244, 240, 238, 239,
+  239, 241, 241, 239, 239, 240, 247, 247, 243, 241, 245, 250, 249, 245, 241, 220,
+  203, 162, 186, 212, 239, 248, 243, 240, 242, 242, 242, 241, 240, 240, 225, 223,
+  237, 249, 255, 250, 128, 67, 255, 255, 255, 183, 59, 203, 220, 179, 243, 252,
+  247, 250, 250, 255, 179, 235, 109, 134, 181, 199, 226, 234, 242, 244, 245, 246,
+  244, 240, 240, 237, 239, 243, 241, 236, 235, 238, 240, 241, 244, 246, 248, 247,
+  247, 246, 240, 240, 238, 239, 238, 237, 236, 235, 242, 242, 242, 242, 242, 242,
+  242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 240, 240, 240, 241, 241, 242,
+  242, 242, 240, 240, 239, 238, 238, 238, 239, 239, 240, 242, 243, 241, 243, 246,
+  244, 239, 237, 239, 241, 242, 242, 242, 239, 240, 246, 247, 241, 239, 244, 248,
+  249, 244, 236, 209, 204, 177, 168, 223, 245, 244, 244, 242, 241, 242, 242, 241,
+  240, 241, 220, 225, 246, 255, 254, 250, 110, 63, 255, 255, 255, 255, 47, 171,
+  229, 168, 248, 255, 250, 254, 252, 209, 226, 221, 157, 113, 176, 191, 226, 235,
+  242, 243, 243, 246, 245, 242, 239, 237, 240, 241, 239, 233, 232, 235, 241, 241,
+  244, 246, 248, 246, 245, 244, 237, 237, 238, 240, 240, 239, 237, 236, 242, 242,
+  242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 240, 240,
+  241, 241, 241, 241, 242, 242, 239, 239, 238, 238, 238, 239, 240, 240, 241, 243,
+  245, 243, 244, 246, 243, 237, 234, 237, 241, 243, 244, 243, 239, 240, 247, 246,
+  242, 238, 243, 249, 249, 245, 233, 200, 202, 180, 150, 235, 249, 245, 247, 244,
+  242, 242, 241, 241, 241, 241, 219, 232, 251, 255, 247, 227, 93, 255, 255, 255,
+  255, 255, 40, 130, 240, 187, 251, 255, 255, 248, 224, 179, 255, 214, 223, 107,
+  159, 186, 221, 234, 244, 244, 243, 245, 246, 243, 241, 237, 240, 243, 241, 235,
+  233, 236, 240, 242, 244, 244, 246, 246, 244, 243, 236, 236, 239, 241, 241, 241,
+  238, 238, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
+  242, 242, 241, 241, 241, 241, 241, 241, 241, 241, 238, 238, 238, 238, 239, 240,
+  241, 241, 241, 244, 246, 244, 246, 246, 242, 235, 233, 237, 241, 246, 246, 244,
+  241, 240, 249, 249, 244, 241, 245, 251, 251, 248, 234, 199, 195, 161, 159, 243,
+  244, 244, 248, 246, 244, 242, 242, 241, 241, 242, 229, 241, 247, 250, 245, 173,
+  87, 255, 255, 255, 255, 255, 43, 88, 232, 217, 246, 255, 255, 240, 198, 224,
+  223, 250, 254, 144, 141, 176, 212, 230, 243, 247, 246, 247, 247, 243, 243, 240,
+  243, 244, 242, 236, 235, 238, 241, 240, 242, 242, 243, 243, 242, 241, 234, 235,
+  238, 240, 241, 241, 240, 239, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
+  242, 242, 242, 242, 242, 242, 241, 241, 241, 241, 241, 241, 241, 241, 238, 238,
+  238, 238, 239, 240, 241, 241, 241, 245, 245, 243, 244, 245, 242, 236, 235, 237,
+  242, 246, 246, 244, 241, 239, 247, 246, 242, 239, 244, 249, 249, 245, 228, 203,
+  190, 154, 205, 249, 232, 236, 245, 245, 244, 242, 242, 242, 241, 241, 234, 245,
+  246, 248, 245, 118, 91, 255, 255, 255, 255, 255, 255, 60, 190, 228, 231, 246,
+  253, 235, 229, 247, 221, 255, 255, 222, 115, 176, 202, 224, 241, 245, 244, 245,
+  245, 243, 243, 240, 243, 246, 244, 239, 239, 241, 241, 240, 241, 241, 243, 242,
+  242, 240, 236, 235, 239, 239, 241, 241, 241, 240, 242, 242, 242, 242, 242, 242,
+  242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 241, 241, 241, 241,
+  240, 240, 239, 239, 238, 238, 238, 239, 240, 240, 242, 243, 243, 239, 241, 244,
+  243, 237, 237, 240, 243, 245, 245, 243, 240, 239, 242, 243, 238, 237, 242, 246,
+  245, 239, 220, 205, 186, 177, 255, 255, 226, 226, 242, 243, 244, 245, 245, 242,
+  240, 241, 232, 239, 250, 243, 218, 88, 255, 255, 255, 255, 255, 255, 255, 51,
+  122, 203, 212, 232, 224, 240, 255, 231, 255, 245, 255, 255, 101, 171, 195, 218,
+  234, 238, 238, 241, 243, 243, 241, 239, 241, 245, 245, 240, 242, 243, 240, 239,
+  240, 239, 241, 240, 240, 239, 238, 236, 239, 238, 240, 240, 241, 241, 242, 242,
+  242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
+  242, 241, 241, 240, 240, 240, 240, 240, 239, 238, 238, 238, 239, 239, 241, 242,
+  240, 236, 238, 243, 243, 239, 240, 242, 243, 244, 243, 242, 239, 239, 238, 240,
+  238, 237, 242, 245, 241, 235, 220, 200, 173, 215, 255, 255, 233, 224, 237, 240,
+  243, 245, 246, 244, 242, 240, 227, 229, 253, 220, 155, 83, 255, 255, 255, 255,
+  255, 255, 255, 255, 64, 171, 197, 223, 200, 249, 235, 239, 243, 255, 248, 249,
+  113, 153, 192, 215, 228, 232, 232, 237, 244, 246, 241, 238, 241, 244, 244, 240,
+  240, 242, 242, 242, 240, 240, 241, 242, 242, 240, 241, 240, 238, 239, 239, 239,
+  241, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242, 242,
+  242, 242, 243, 242, 242, 241, 241, 240, 240, 240, 241, 241, 240, 239, 239, 239,
+  239, 241, 241, 241, 240, 235, 237, 242, 242, 239, 242, 242, 244, 245, 245, 243,
+  241, 242, 238, 241, 241, 242, 247, 249, 244, 235, 225, 191, 155, 234, 255, 247,
+  240, 227, 231, 237, 242, 246, 250, 248, 248, 247, 233, 227, 250, 193, 90, 138,
+  255, 255, 255, 255, 255, 255, 255, 255, 64, 84, 167, 223, 204, 236, 209, 255,
+  253, 255, 255, 254, 91, 151, 174, 219, 228, 233, 238, 237, 247, 242, 236, 236,
+  240, 241, 242, 237, 233, 231, 244, 243, 242, 240, 240, 240, 239, 239, 239, 241,
+  244, 244, 242, 238, 238, 239, 242, 242, 242, 242, 242, 242, 242, 242, 241, 241,
+  241, 241, 241, 241, 241, 242, 242, 242, 242, 241, 241, 240, 240, 240, 243, 243,
+  242, 241, 241, 240, 239, 240, 246, 246, 242, 240, 239, 238, 239, 238, 242, 241,
+  240, 241, 245, 244, 242, 241, 241, 244, 244, 245, 248, 251, 240, 225, 210, 180,
+  147, 223, 255, 238, 249, 213, 223, 223, 224, 255, 230, 253, 255, 232, 230, 255,
+  205, 100, 67, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 52, 119, 177,
+  167, 245, 255, 255, 255, 255, 255, 232, 103, 145, 172, 213, 220, 222, 227, 229,
+  243, 242, 242, 241, 241, 241, 239, 238, 235, 235, 243, 244, 243, 241, 241, 240,
+  241, 239, 239, 241, 244, 245, 242, 238, 239, 239, 242, 242, 242, 242, 242, 242,
+  242, 242, 241, 241, 241, 241, 241, 241, 241, 241, 244, 244, 242, 241, 241, 240,
+  240, 240, 241, 240, 241, 240, 241, 239, 241, 240, 248, 247, 243, 241, 239, 238,
+  238, 238, 240, 240, 241, 243, 245, 246, 243, 241, 239, 242, 243, 243, 246, 245,
+  234, 217, 207, 175, 176, 239, 245, 255, 232, 218, 218, 237, 227, 213, 254, 254,
+  253, 222, 255, 226, 135, 69, 122, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 68, 122, 185, 153, 246, 242, 246, 255, 255, 238, 155, 79, 107, 156, 199,
+  208, 213, 221, 224, 238, 238, 246, 244, 242, 241, 240, 239, 238, 239, 242, 244,
+  243, 242, 241, 240, 241, 240, 238, 239, 241, 243, 241, 238, 239, 239, 242, 242,
+  242, 242, 242, 242, 242, 242, 241, 241, 241, 241, 241, 241, 241, 241, 244, 244,
+  242, 241, 241, 240, 240, 240, 240, 239, 240, 239, 240, 239, 240, 240, 247, 246,
+  242, 241, 239, 238, 238, 238, 240, 240, 240, 243, 244, 244, 240, 238, 241, 243,
+  244, 245, 245, 243, 230, 216, 205, 172, 159, 238, 241, 254, 238, 249, 218, 249,
+  213, 253, 227, 242, 227, 255, 221, 145, 74, 58, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 182, 78, 163, 136, 242, 255, 255, 255, 248, 167, 95,
+  134, 255, 132, 180, 197, 207, 218, 222, 236, 234, 244, 243, 243, 242, 241, 240,
+  237, 237, 243, 243, 242, 242, 242, 243, 243, 241, 237, 237, 238, 240, 240, 239,
+  239, 239, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 244, 244, 242, 241, 241, 240, 240, 240, 240, 239, 240, 239, 241, 239,
+  241, 242, 245, 245, 244, 241, 240, 238, 238, 237, 240, 239, 241, 242, 244, 242,
+  238, 237, 239, 241, 242, 242, 243, 238, 226, 216, 199, 177, 110, 211, 255, 238,
+  248, 255, 250, 235, 247, 255, 240, 223, 252, 248, 123, 81, 61, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 59, 122, 113, 238, 233, 249,
+  228, 202, 112, 90, 255, 255, 116, 166, 184, 198, 210, 215, 232, 234, 243, 245,
+  247, 247, 245, 242, 237, 235, 242, 243, 242, 242, 242, 244, 244, 245, 239, 238,
+  238, 239, 240, 239, 239, 238, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 244, 244, 242, 241, 241, 240, 240, 240, 241, 240,
+  241, 240, 242, 241, 243, 244, 243, 243, 243, 240, 240, 239, 238, 237, 241, 241,
+  242, 242, 243, 242, 238, 236, 237, 237, 236, 236, 235, 226, 215, 207, 196, 171,
+  99, 151, 255, 250, 245, 248, 255, 248, 238, 249, 238, 242, 222, 143, 85, 64,
+  63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 58,
+  71, 194, 202, 230, 204, 158, 73, 255, 255, 255, 99, 150, 169, 182, 194, 204,
+  227, 234, 243, 245, 248, 250, 248, 244, 237, 235, 240, 241, 241, 241, 243, 244,
+  244, 245, 240, 238, 236, 237, 238, 238, 237, 235, 240, 240, 240, 240, 240, 240,
+  240, 240, 241, 241, 241, 241, 241, 241, 241, 241, 244, 244, 242, 241, 241, 240,
+  240, 240, 241, 240, 242, 241, 243, 242, 244, 245, 241, 243, 242, 242, 241, 238,
+  237, 239, 241, 241, 240, 239, 241, 240, 240, 238, 242, 237, 236, 235, 229, 218,
+  209, 203, 201, 144, 115, 80, 205, 255, 243, 255, 255, 255, 207, 251, 238, 224,
+  126, 76, 83, 55, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 43, 76, 149, 197, 203, 173, 99, 116, 255, 255, 255, 69, 123,
+  153, 174, 191, 202, 223, 229, 242, 244, 245, 246, 244, 240, 235, 235, 237, 239,
+  239, 238, 240, 242, 242, 243, 241, 238, 235, 235, 237, 237, 235, 234, 240, 240,
+  240, 240, 240, 240, 240, 240, 241, 241, 241, 241, 241, 241, 241, 241, 244, 244,
+  242, 241, 241, 240, 240, 240, 239, 239, 240, 240, 242, 241, 244, 244, 240, 241,
+  242, 242, 241, 240, 239, 239, 242, 240, 240, 239, 240, 241, 242, 242, 240, 237,
+  233, 234, 229, 218, 210, 208, 196, 110, 121, 68, 128, 222, 227, 255, 255, 243,
+  220, 240, 243, 140, 90, 80, 68, 47, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 185, 51, 30, 50, 51, 64, 109, 255, 255,
+  255, 255, 33, 97, 139, 172, 194, 203, 219, 220, 240, 242, 241, 239, 238, 236,
+  234, 233, 235, 236, 236, 237, 238, 241, 243, 241, 242, 238, 235, 235, 236, 238,
+  235, 232, 240, 240, 240, 240, 240, 240, 240, 240, 241, 241, 241, 241, 241, 241,
+  241, 241, 244, 244, 242, 241, 241, 240, 240, 240, 238, 237, 239, 238, 241, 240,
+  243, 243, 239, 241, 242, 243, 242, 241, 240, 241, 242, 242, 239, 239, 240, 244,
+  246, 247, 233, 228, 225, 227, 224, 216, 211, 213, 179, 91, 115, 115, 96, 154,
+  194, 221, 230, 193, 172, 216, 142, 94, 69, 59, 56, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 41, 40, 47, 47,
+  116, 255, 255, 255, 255, 255, 51, 56, 116, 164, 193, 193, 215, 212, 235, 227,
+  230, 241, 245, 237, 232, 234, 239, 239, 239, 240, 241, 241, 241, 240, 239, 239,
+  239, 238, 237, 235, 235, 237, 237, 238, 238, 239, 239, 240, 240, 240, 241, 241,
+  241, 241, 241, 241, 241, 241, 244, 244, 242, 241, 241, 240, 240, 240, 240, 239,
+  240, 237, 238, 235, 236, 236, 243, 242, 241, 241, 241, 242, 239, 237, 247, 234,
+  234, 247, 250, 239, 236, 246, 243, 223, 242, 233, 224, 215, 233, 208, 149, 152,
+  112, 102, 106, 85, 160, 173, 192, 178, 148, 112, 85, 69, 60, 56, 118, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 46, 46, 97, 139, 175, 180,
+  205, 204, 224, 228, 233, 236, 240, 240, 238, 233, 237, 235, 236, 237, 238, 240,
+  241, 239, 239, 239, 239, 239, 238, 237, 239, 239, 238, 239, 239, 239, 240, 240,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 244, 244, 242, 241, 241, 240,
+  240, 240, 240, 239, 240, 238, 240, 238, 240, 241, 243, 242, 240, 240, 242, 242,
+  240, 240, 243, 242, 243, 246, 247, 245, 243, 242, 238, 220, 236, 226, 221, 212,
+  216, 181, 125, 124, 125, 96, 88, 71, 100, 118, 122, 116, 97, 78, 61, 53,
+  47, 44, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 50, 43,
+  79, 117, 161, 173, 200, 202, 210, 226, 232, 229, 233, 242, 243, 233, 236, 236,
+  237, 239, 239, 241, 241, 241, 239, 239, 239, 239, 239, 239, 241, 241, 240, 240,
+  240, 241, 241, 241, 242, 242, 241, 241, 241, 241, 241, 241, 241, 241, 244, 244,
+  242, 241, 241, 240, 240, 240, 239, 239, 240, 240, 242, 241, 244, 245, 245, 244,
+  241, 240, 241, 242, 242, 243, 241, 247, 248, 243, 244, 247, 243, 236, 240, 227,
+  236, 227, 224, 216, 202, 152, 111, 105, 140, 90, 68, 66, 52, 73, 65, 64,
+  58, 53, 48, 44, 40, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 42, 66, 97, 152, 172, 197, 203, 203, 217, 226, 227, 230, 238,
+  243, 240, 243, 240, 242, 243, 243, 244, 243, 243, 240, 239, 239, 239, 240, 240,
+  243, 244, 242, 242, 242, 242, 242, 242, 242, 242, 241, 241, 241, 241, 241, 241,
+  241, 241, 244, 244, 242, 241, 241, 240, 240, 240, 239, 239, 240, 239, 242, 241,
+  243, 244, 245, 244, 240, 238, 240, 242, 245, 245, 243, 248, 249, 247, 246, 243,
+  238, 235, 244, 237, 237, 232, 229, 220, 185, 128, 111, 104, 127, 78, 53, 63,
+  43, 59, 48, 49, 49, 49, 45, 113, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 35, 51, 78, 139, 162, 188, 198, 205, 208,
+  218, 228, 234, 233, 241, 246, 246, 243, 245, 246, 246, 244, 243, 241, 241, 240,
+  241, 240, 239, 239, 243, 244, 243, 243, 243, 242, 242, 242, 242, 242, 241, 241,
+  241, 241, 241, 241, 241, 241, 244, 244, 242, 241, 241, 240, 240, 240, 239, 239,
+  240, 238, 239, 238, 240, 240, 244, 243, 239, 238, 240, 242, 246, 247, 248, 242,
+  243, 250, 248, 236, 233, 240, 242, 239, 233, 231, 222, 208, 161, 107, 105, 104,
+  92, 64, 44, 51, 48, 48, 43, 44, 43, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 35, 46, 65, 128, 152,
+  180, 197, 206, 204, 211, 226, 234, 231, 239, 247, 244, 240, 242, 244, 245, 243,
+  242, 239, 242, 241, 241, 239, 238, 238, 243, 243, 244, 243, 243, 242, 242, 242,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 244, 244, 242, 241, 241, 240,
+  240, 240, 238, 237, 238, 237, 238, 236, 238, 238, 242, 242, 239, 239, 241, 244,
+  245, 247, 247, 238, 240, 250, 247, 233, 231, 245, 239, 242, 231, 234, 217, 196,
+  142, 103, 99, 100, 66, 60, 45, 46, 47, 35, 109, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 40,
+  47, 60, 119, 142, 174, 198, 202, 205, 210, 219, 229, 236, 241, 240, 240, 236,
+  238, 242, 244, 243, 243, 240, 243, 241, 240, 238, 236, 236, 241, 242, 244, 242,
+  242, 242, 241, 241, 240, 240, 241, 241, 241, 241, 241, 241, 241, 241, 244, 244,
+  242, 241, 241, 240, 240, 240, 236, 235, 237, 236, 238, 237, 239, 240, 240, 241,
+  240, 240, 243, 245, 245, 246, 241, 239, 241, 243, 241, 234, 236, 245, 239, 246,
+  234, 239, 213, 183, 129, 107, 96, 92, 58, 63, 46, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 41, 46, 52, 108, 131, 166, 195, 199, 209, 213, 213, 223, 238,
+  243, 230, 238, 235, 240, 243, 245, 245, 245, 244, 242, 240, 240, 237, 235, 237,
+  239, 242, 243, 242, 242, 241, 241, 240, 240, 239, 241, 241, 241, 241, 241, 241,
+  241, 241, 242, 242, 242, 241, 241, 240, 241, 241, 235, 236, 238, 238, 239, 241,
+  242, 243, 238, 238, 239, 240, 243, 245, 244, 246, 235, 243, 243, 237, 234, 239,
+  243, 244, 236, 244, 233, 243, 209, 171, 114, 103, 89, 75, 51, 57, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 33, 40, 50, 99, 121, 162, 191, 211, 210,
+  225, 229, 220, 231, 244, 233, 237, 238, 241, 244, 245, 245, 247, 248, 240, 239,
+  239, 240, 240, 241, 243, 241, 239, 239, 240, 242, 242, 241, 240, 239, 241, 241,
+  241, 241, 241, 241, 241, 241, 239, 239, 240, 242, 242, 240, 240, 241, 237, 237,
+  238, 237, 239, 241, 242, 243, 242, 243, 244, 244, 243, 241, 242, 241, 238, 246,
+  251, 247, 238, 233, 239, 248, 234, 249, 241, 243, 203, 163, 96, 74, 56, 50,
+  116, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 30, 35, 42, 91, 115,
+  158, 189, 215, 221, 231, 231, 227, 234, 244, 239, 238, 239, 244, 247, 245, 245,
+  246, 245, 240, 238, 239, 239, 241, 243, 243, 243, 238, 238, 240, 241, 242, 241,
+  241, 240, 241, 241, 241, 241, 241, 241, 241, 241, 238, 237, 240, 240, 241, 239,
+  241, 240, 238, 239, 239, 238, 239, 240, 244, 242, 246, 243, 242, 241, 241, 241,
+  244, 246, 244, 245, 244, 241, 239, 238, 241, 243, 235, 245, 236, 234, 196, 150,
+  89, 74, 47, 113, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 29,
+  33, 37, 86, 110, 156, 187, 211, 227, 231, 227, 231, 233, 234, 238, 236, 238,
+  243, 246, 246, 245, 242, 241, 241, 239, 239, 239, 241, 242, 243, 243, 237, 237,
+  239, 241, 242, 242, 242, 241, 241, 241, 241, 241, 241, 241, 241, 241, 238, 238,
+  238, 239, 239, 238, 240, 240, 238, 239, 240, 239, 240, 240, 241, 241, 244, 240,
+  236, 233, 233, 235, 242, 245, 248, 241, 236, 234, 239, 242, 240, 239, 244, 245,
+  235, 229, 190, 139, 88, 84, 45, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 29, 34, 36, 83, 108, 153, 183, 206, 231, 234, 229, 236, 231,
+  224, 232, 230, 233, 240, 245, 246, 245, 243, 241, 241, 239, 239, 238, 239, 241,
+  242, 242, 236, 236, 239, 241, 242, 243, 242, 242, 241, 241, 241, 241, 241, 241,
+  241, 241, 238, 238, 238, 237, 238, 237, 238, 239, 238, 238, 240, 240, 241, 241,
+  241, 240, 240, 237, 235, 232, 233, 234, 240, 243, 246, 240, 234, 235, 242, 244,
+  240, 237, 245, 243, 236, 225, 185, 125, 80, 80, 113, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 30, 37, 37, 83, 108, 152, 180, 206, 235,
+  242, 239, 244, 235, 224, 229, 224, 228, 237, 242, 245, 246, 244, 243, 240, 238,
+  238, 238, 238, 240, 241, 240, 236, 236, 239, 241, 242, 243, 242, 242, 241, 241,
+  241, 241, 241, 241, 241, 241, 238, 238, 237, 237, 237, 237, 238, 240, 239, 239,
+  241, 241, 242, 241, 240, 240, 241, 240, 241, 240, 239, 240, 242, 244, 239, 239,
+  239, 242, 246, 244, 240, 237, 238, 235, 234, 218, 180, 108, 64, 62, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 32, 39, 36, 80, 107,
+  152, 180, 204, 229, 244, 245, 243, 236, 228, 227, 224, 228, 235, 242, 245, 246,
+  246, 246, 241, 238, 237, 237, 239, 240, 241, 240, 237, 237, 239, 241, 242, 242,
+  242, 241, 241, 241, 241, 241, 241, 241, 241, 241, 239, 239, 238, 237, 237, 238,
+  239, 239, 240, 241, 244, 244, 243, 243, 241, 241, 238, 239, 241, 243, 242, 241,
+  240, 242, 236, 240, 243, 246, 247, 243, 241, 240, 237, 236, 238, 212, 178, 104,
+  60, 48, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181,
+  37, 30, 73, 103, 152, 182, 203, 221, 243, 248, 239, 237, 240, 232, 231, 233,
+  238, 243, 245, 247, 248, 247, 243, 241, 239, 240, 241, 241, 242, 240, 238, 238,
+  240, 241, 242, 241, 241, 240, 241, 241, 241, 241, 241, 241, 241, 241, 241, 240,
+  240, 238, 238, 238, 240, 241, 242, 242, 244, 244, 243, 243, 242, 241, 235, 236,
+  239, 240, 239, 239, 238, 239, 238, 241, 243, 247, 247, 246, 242, 241, 242, 242,
+  239, 204, 175, 105, 67, 48, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 35, 25, 67, 100, 153, 184, 208, 219, 246, 254, 239, 243,
+  255, 244, 237, 238, 242, 245, 246, 247, 248, 248, 245, 243, 242, 242, 242, 243,
+  244, 242, 239, 239, 240, 242, 242, 241, 240, 239, 241, 241, 241, 241, 241, 241,
+  241, 241, 242, 241, 240, 239, 238, 239, 241, 242, 243, 244, 244, 245, 244, 243,
+  240, 241, 239, 239, 240, 241, 241, 240, 240, 241, 243, 242, 241, 242, 248, 248,
+  244, 243, 242, 241, 235, 191, 165, 102, 69, 48, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 33, 42, 57, 96, 161, 184, 223, 225,
+  241, 254, 247, 242, 243, 239, 244, 245, 243, 238, 235, 241, 245, 244, 242, 243,
+  244, 246, 247, 248, 248, 246, 242, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 242, 242, 241, 242,
+  242, 244, 244, 243, 242, 242, 242, 241, 241, 241, 240, 239, 240, 241, 236, 236,
+  240, 243, 247, 245, 239, 237, 243, 238, 230, 207, 170, 94, 72, 55, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31, 39, 52, 91,
+  160, 187, 217, 221, 238, 251, 245, 239, 240, 232, 242, 242, 245, 243, 240, 244,
+  244, 241, 242, 241, 243, 244, 247, 247, 248, 245, 242, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  242, 242, 241, 242, 242, 242, 242, 241, 242, 241, 238, 239, 240, 240, 241, 241,
+  243, 244, 236, 237, 239, 243, 245, 244, 237, 235, 241, 235, 225, 199, 163, 87,
+  67, 50, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  34, 39, 47, 83, 155, 188, 218, 223, 240, 252, 246, 242, 243, 234, 240, 243,
+  248, 246, 245, 246, 242, 238, 242, 241, 242, 244, 246, 245, 245, 244, 242, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 240, 241, 241, 241, 241, 240, 240, 239, 239, 241,
+  241, 241, 242, 242, 245, 245, 240, 239, 240, 242, 244, 242, 236, 235, 241, 234,
+  222, 194, 157, 82, 64, 48, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 40, 45, 48, 79, 150, 186, 221, 226, 241, 250, 244, 243,
+  246, 236, 239, 244, 249, 247, 245, 246, 242, 238, 241, 240, 242, 244, 244, 245,
+  245, 244, 242, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 240, 241, 241, 241, 241, 240,
+  239, 239, 243, 244, 243, 241, 241, 240, 240, 240, 242, 242, 241, 244, 245, 242,
+  235, 234, 246, 238, 223, 194, 155, 82, 65, 50, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 42, 50, 53, 80, 151, 188, 221, 226,
+  238, 242, 236, 238, 244, 235, 242, 245, 247, 243, 240, 242, 242, 239, 240, 240,
+  242, 243, 243, 244, 245, 243, 242, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 242, 242, 241, 241, 241, 241, 241, 241, 240, 241,
+  240, 240, 240, 239, 238, 239, 242, 244, 242, 240, 240, 239, 239, 239, 244, 244,
+  242, 243, 245, 243, 236, 236, 246, 239, 224, 195, 156, 82, 65, 119, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 217,
+  221, 233, 245, 247, 251, 251, 245, 245, 249, 242, 246, 247, 247, 239, 236, 239,
+  240, 239, 240, 238, 241, 243, 243, 244, 244, 243, 242, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 242, 242, 241, 241, 241, 241,
+  241, 241, 240, 241, 240, 240, 240, 239, 238, 238, 238, 240, 240, 239, 241, 240,
+  240, 242, 244, 243, 243, 243, 244, 243, 237, 239, 243, 238, 224, 195, 158, 83,
+  64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 250, 251, 251, 251, 251, 251, 249, 246,
+  246, 246, 246, 246, 246, 244, 241, 241, 241, 241, 241, 241, 241, 241, 242, 242,
+  241, 241, 241, 241, 241, 241, 239, 240, 240, 240, 240, 239, 236, 238, 239, 242,
+  241, 240, 242, 241, 242, 243, 244, 241, 240, 242, 243, 242, 237, 239, 240, 237,
+  226, 198, 162, 85, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  252, 250, 251, 251, 250, 250, 250, 247, 246, 246, 244, 245, 245, 245, 240, 239,
+  236, 238, 244, 246, 245, 242, 243, 241, 240, 239, 243, 241, 240, 240, 243, 242,
+  238, 240, 240, 238, 229, 202, 166, 144, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 182, 35, 35, 33, 34, 33, 34, 33, 33,
+  31, 31, 31, 35, 36, 39, 38, 38, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 35, 27, 28, 35, 37, 31, 37, 40, 34, 42,
+  42, 24, 39, 30, 38, 25, 29, 42, 29, 32, 28, 38, 34, 41, 35, 23,
+  109, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 30, 41, 37, 38, 34, 29, 28, 33, 35, 34, 27, 42,
+  36, 2, 36, 42, 50, 42, 45, 28, 31, 28, 25, 131, 34, 25, 35, 43,
+  34, 35, 32, 27, 35, 27, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 183, 26, 34, 40, 45, 35, 27, 33, 31, 25, 29, 40,
+  39, 29, 28, 28, 53, 29, 52, 51, 69, 36, 26, 63, 29, 75, 25, 62,
+  36, 42, 28, 33, 23, 28, 33, 34, 42, 31, 34, 36, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 180, 39, 17, 27, 39, 37, 35, 13, 38, 50, 49, 16, 23, 28,
+  33, 38, 46, 49, 40, 29, 34, 25, 23, 64, 121, 46, 18, 89, 71, 47,
+  57, 54, 44, 56, 22, 43, 30, 28, 19, 37, 43, 32, 38, 34, 35, 35,
+  34, 107, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 180, 32, 22, 38, 48, 23, 34, 54, 27, 29, 33, 57, 40,
+  39, 31, 42, 34, 37, 53, 59, 51, 42, 43, 13, 42, 46, 44, 40, 85,
+  84, 62, 77, 58, 72, 37, 64, 81, 61, 40, 57, 44, 35, 59, 57, 24,
+  24, 31, 36, 36, 34, 34, 34, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 180, 38, 25, 41, 46, 32, 32, 31, 36, 75, 46, 42,
+  48, 46, 50, 42, 45, 46, 60, 40, 33, 46, 47, 36, 36, 50, 28, 65,
+  32, 40, 52, 72, 43, 76, 39, 70, 55, 74, 62, 42, 68, 59, 75, 60,
+  51, 73, 68, 32, 29, 36, 31, 31, 30, 31, 34, 37, 37, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 179, 27, 38, 29, 30, 64, 22, 58, 57, 46, 35, 16,
+  38, 81, 30, 47, 44, 34, 24, 43, 44, 40, 51, 36, 27, 29, 28, 23,
+  28, 41, 44, 55, 56, 63, 37, 64, 59, 41, 61, 32, 49, 63, 54, 58,
+  27, 64, 74, 65, 51, 67, 69, 51, 50, 44, 35, 32, 31, 31, 33, 34,
+  33, 33, 108, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 181, 30, 40, 24, 26, 46, 31, 31, 80, 42, 66,
+  39, 45, 56, 30, 29, 39, 58, 44, 27, 46, 38, 47, 41, 55, 33, 31,
+  27, 23, 21, 24, 30, 35, 45, 44, 47, 53, 51, 51, 52, 56, 50, 62,
+  48, 51, 53, 43, 67, 60, 72, 71, 50, 54, 61, 62, 60, 39, 47, 43,
+  39, 37, 36, 36, 32, 29, 34, 108, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 183, 29, 35, 27, 63, 76, 52, 34, 73,
+  50, 46, 57, 55, 54, 71, 47, 52, 42, 42, 55, 41, 50, 43, 37, 49,
+  49, 55, 51, 57, 52, 50, 47, 45, 89, 38, 53, 72, 54, 38, 56, 56,
+  44, 52, 46, 53, 62, 60, 55, 68, 71, 57, 75, 39, 50, 59, 74, 73,
+  82, 51, 66, 46, 32, 33, 34, 28, 31, 39, 28, 37, 41, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 38, 27, 37, 35, 32, 27,
+  59, 48, 33, 46, 45, 33, 62, 53, 57, 56, 48, 43, 50, 47, 64, 51,
+  59, 49, 38, 46, 46, 50, 18, 49, 33, 35, 63, 35, 51, 47, 47, 66,
+  55, 44, 55, 52, 46, 64, 60, 62, 66, 59, 51, 58, 59, 44, 41, 69,
+  41, 48, 38, 65, 59, 100, 44, 60, 64, 49, 37, 36, 32, 25, 46, 34,
+  31, 34, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 31, 38, 50,
+  23, 39, 68, 27, 71, 81, 77, 68, 85, 70, 68, 51, 59, 46, 52, 39,
+  60, 57, 66, 53, 61, 50, 37, 44, 43, 47, 54, 47, 54, 72, 68, 34,
+  63, 49, 43, 60, 56, 51, 57, 50, 51, 76, 60, 58, 60, 57, 50, 57,
+  59, 48, 32, 60, 60, 50, 80, 88, 80, 82, 60, 69, 72, 67, 65, 62,
+  45, 23, 43, 32, 39, 45, 31, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 180, 26, 40,
+  6, 27, 46, 34, 48, 27, 57, 23, 45, 68, 74, 58, 64, 60, 65, 51,
+  58, 51, 52, 46, 61, 60, 59, 44, 52, 45, 40, 51, 47, 47, 89, 59,
+  72, 87, 69, 45, 78, 56, 45, 53, 53, 56, 60, 51, 54, 78, 61, 52,
+  54, 55, 53, 62, 67, 59, 76, 51, 65, 56, 88, 108, 120, 63, 80, 67,
+  64, 76, 79, 67, 54, 52, 37, 28, 41, 47, 27, 25, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  34, 33, 38, 23, 41, 26, 40, 62, 38, 61, 56, 61, 46, 67, 78, 68,
+  45, 56, 56, 52, 52, 65, 50, 56, 56, 58, 61, 42, 48, 48, 50, 62,
+  55, 49, 54, 61, 52, 45, 73, 55, 56, 56, 48, 48, 46, 53, 57, 52,
+  53, 67, 75, 59, 55, 59, 58, 62, 64, 58, 62, 63, 64, 91, 72, 106,
+  88, 52, 62, 65, 72, 74, 59, 44, 52, 73, 54, 36, 33, 38, 35, 39,
+  42, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 34, 35, 35, 34, 62, 44, 47, 41, 24, 54, 61, 34, 71,
+  39, 56, 71, 68, 39, 53, 50, 51, 49, 71, 49, 61, 52, 55, 69, 51,
+  59, 60, 61, 71, 58, 48, 42, 41, 50, 43, 61, 59, 59, 38, 49, 43,
+  42, 47, 51, 52, 54, 54, 82, 63, 56, 64, 65, 66, 67, 62, 42, 70,
+  72, 86, 101, 87, 48, 46, 57, 70, 73, 60, 51, 54, 57, 56, 61, 62,
+  50, 38, 36, 37, 36, 35, 108, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 181, 34, 35, 36, 36, 34, 39, 55, 35, 26, 30,
+  26, 56, 36, 67, 53, 63, 74, 64, 57, 56, 52, 48, 53, 61, 51, 53,
+  55, 56, 69, 57, 70, 68, 63, 66, 53, 45, 60, 30, 61, 59, 48, 55,
+  72, 33, 48, 46, 47, 49, 49, 57, 60, 52, 84, 62, 55, 66, 70, 70,
+  70, 66, 84, 72, 70, 56, 99, 62, 63, 79, 74, 72, 63, 56, 62, 72,
+  64, 49, 58, 83, 67, 35, 33, 31, 28, 43, 33, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 31, 33, 34, 36, 36, 37, 38, 49,
+  44, 48, 59, 61, 69, 76, 48, 58, 64, 63, 67, 39, 57, 35, 58, 44,
+  56, 48, 54, 43, 61, 57, 61, 54, 71, 68, 56, 57, 44, 41, 47, 42,
+  47, 34, 53, 46, 47, 54, 49, 50, 55, 54, 50, 61, 67, 56, 91, 65,
+  58, 69, 71, 68, 65, 60, 89, 61, 67, 104, 71, 66, 74, 93, 81, 67,
+  61, 65, 64, 58, 60, 71, 64, 87, 54, 19, 39, 45, 28, 35, 31, 33,
+  109, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 34, 33, 30, 27, 30,
+  37, 43, 34, 45, 21, 43, 75, 27, 55, 61, 44, 58, 55, 72, 57, 51,
+  37, 57, 39, 48, 51, 45, 48, 58, 59, 53, 41, 49, 56, 55, 48, 42,
+  44, 49, 38, 45, 50, 52, 48, 47, 49, 54, 54, 47, 47, 56, 62, 59,
+  52, 49, 80, 70, 56, 53, 58, 66, 68, 67, 80, 65, 95, 85, 69, 97,
+  102, 100, 74, 58, 68, 72, 91, 64, 47, 27, 102, 62, 70, 91, 55, 27,
+  34, 39, 39, 36, 33, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31, 31,
+  32, 34, 34, 34, 32, 30, 53, 54, 68, 15, 46, 49, 19, 71, 72, 63,
+  48, 40, 52, 54, 57, 68, 38, 41, 50, 56, 57, 53, 53, 53, 42, 50,
+  57, 57, 51, 47, 52, 57, 59, 64, 73, 81, 88, 95, 99, 101, 102, 92,
+  86, 85, 81, 72, 64, 63, 70, 63, 58, 57, 62, 71, 77, 81, 58, 101,
+  88, 65, 84, 99, 88, 71, 78, 78, 88, 82, 71, 55, 78, 107, 37, 98,
+  91, 37, 25, 37, 32, 28, 35, 34, 34, 34, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 182, 32, 29, 30, 33, 38, 39, 34, 28, 39, 52, 67, 72, 70, 51,
+  55, 32, 49, 66, 84, 60, 63, 38, 48, 55, 62, 57, 58, 63, 55, 41,
+  42, 51, 61, 73, 89, 101, 112, 126, 142, 155, 135, 136, 139, 148, 157, 163,
+  164, 163, 178, 175, 172, 174, 176, 178, 182, 187, 146, 140, 129, 111, 92, 74,
+  61, 55, 61, 92, 65, 69, 83, 65, 79, 89, 80, 84, 76, 70, 59, 68,
+  72, 78, 113, 96, 79, 67, 48, 28, 29, 46, 35, 37, 38, 37, 37, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 181, 35, 36, 32, 29, 30, 34, 38, 41, 41, 48, 39,
+  35, 21, 60, 55, 16, 65, 58, 61, 58, 46, 70, 72, 71, 63, 71, 61,
+  51, 48, 52, 70, 103, 132, 143, 147, 149, 146, 141, 140, 145, 151, 170, 172,
+  173, 175, 178, 179, 178, 178, 185, 185, 185, 184, 182, 183, 188, 193, 187, 185,
+  181, 170, 153, 129, 106, 93, 74, 57, 65, 97, 81, 65, 84, 76, 53, 92,
+  94, 83, 57, 84, 82, 78, 42, 72, 54, 49, 88, 77, 44, 58, 34, 37,
+  37, 36, 35, 108, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 33, 32, 35, 35, 33, 31, 30, 33,
+  40, 44, 65, 42, 57, 82, 64, 60, 61, 53, 58, 73, 61, 54, 46, 55,
+  46, 50, 34, 65, 99, 121, 131, 134, 130, 122, 131, 137, 141, 143, 144, 149,
+  157, 165, 158, 163, 170, 170, 170, 171, 174, 180, 180, 183, 184, 180, 174, 171,
+  173, 175, 174, 174, 175, 182, 186, 181, 168, 158, 134, 98, 94, 70, 54, 80,
+  82, 66, 107, 96, 66, 73, 80, 111, 84, 57, 57, 50, 76, 71, 38, 64,
+  84, 37, 35, 37, 35, 33, 30, 30, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 32, 31, 32, 36,
+  38, 36, 32, 32, 34, 38, 24, 87, 33, 52, 51, 30, 70, 63, 78, 119,
+  122, 114, 65, 58, 58, 90, 114, 126, 130, 121, 118, 128, 134, 131, 142, 145,
+  147, 147, 146, 149, 155, 161, 160, 168, 175, 177, 174, 177, 184, 190, 169, 176,
+  180, 178, 176, 177, 177, 177, 183, 175, 168, 169, 175, 177, 173, 166, 174, 164,
+  143, 86, 71, 66, 46, 87, 90, 83, 82, 97, 82, 69, 70, 94, 95, 72,
+  68, 87, 92, 79, 81, 98, 49, 45, 38, 34, 33, 34, 35, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 33,
+  33, 32, 36, 35, 34, 34, 34, 38, 42, 44, 26, 27, 75, 79, 50, 85,
+  62, 58, 88, 85, 71, 71, 80, 93, 102, 120, 133, 135, 135, 132, 131, 136,
+  140, 143, 147, 149, 152, 153, 155, 157, 162, 165, 170, 172, 176, 177, 178, 179,
+  183, 186, 189, 192, 191, 185, 179, 178, 174, 168, 181, 175, 167, 163, 165, 167,
+  165, 162, 149, 166, 171, 162, 141, 90, 59, 87, 71, 58, 67, 90, 111, 102,
+  104, 110, 107, 98, 108, 105, 85, 82, 69, 30, 59, 50, 40, 35, 37, 39,
+  38, 37, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 32, 32, 34, 36, 43, 36, 27, 26, 35, 46, 56, 61, 62, 44,
+  30, 47, 45, 69, 63, 78, 93, 86, 95, 99, 132, 119, 121, 124, 135, 132,
+  138, 153, 158, 153, 152, 160, 171, 173, 174, 173, 171, 171, 172, 173, 181, 180,
+  180, 183, 187, 190, 192, 192, 187, 191, 189, 183, 181, 184, 182, 176, 176, 174,
+  174, 171, 165, 161, 157, 155, 154, 156, 148, 157, 147, 146, 151, 91, 70, 77,
+  88, 67, 81, 84, 99, 87, 79, 114, 95, 51, 50, 57, 61, 84, 59, 46,
+  32, 27, 30, 34, 33, 31, 38, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 181, 34, 31, 30, 32, 23, 27, 26, 44, 32, 82,
+  49, 60, 57, 49, 123, 97, 115, 122, 78, 39, 77, 87, 123, 136, 112, 107,
+  130, 143, 152, 156, 160, 163, 165, 170, 177, 184, 190, 179, 168, 167, 174, 181,
+  180, 177, 178, 183, 188, 190, 187, 184, 185, 186, 189, 191, 191, 191, 190, 191,
+  190, 190, 189, 187, 184, 181, 176, 173, 169, 164, 160, 156, 155, 155, 156, 155,
+  153, 151, 103, 71, 69, 82, 94, 94, 109, 114, 173, 44, 64, 82, 30, 60,
+  99, 35, 44, 50, 48, 34, 27, 31, 31, 26, 34, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 180, 37, 45, 42, 36, 32, 48, 30,
+  41, 22, 56, 61, 62, 46, 60, 85, 53, 82, 99, 91, 129, 124, 118, 103,
+  112, 124, 123, 136, 154, 156, 164, 168, 172, 176, 179, 184, 189, 194, 190, 187,
+  181, 182, 184, 186, 184, 182, 181, 183, 187, 188, 187, 185, 187, 187, 191, 191,
+  191, 191, 190, 191, 191, 191, 194, 194, 193, 192, 190, 188, 185, 181, 174, 170,
+  166, 164, 161, 156, 150, 147, 144, 117, 75, 75, 68, 99, 89, 71, 57, 82,
+  67, 53, 67, 88, 58, 75, 58, 60, 52, 35, 28, 34, 38, 38, 38, 36,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 37, 36, 30, 31,
+  40, 50, 62, 69, 89, 57, 74, 45, 76, 63, 70, 42, 61, 55, 66, 57,
+  134, 114, 127, 108, 110, 126, 142, 160, 171, 166, 176, 180, 185, 187, 189, 192,
+  194, 197, 192, 194, 196, 198, 194, 192, 188, 187, 186, 186, 187, 188, 191, 192,
+  192, 190, 187, 186, 185, 185, 185, 187, 189, 190, 193, 195, 197, 199, 199, 199,
+  198, 196, 187, 184, 180, 176, 170, 163, 155, 149, 158, 134, 125, 73, 68, 54,
+  81, 69, 84, 81, 86, 98, 117, 71, 24, 54, 51, 55, 49, 33, 24, 26,
+  30, 30, 41, 39, 109, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181,
+  35, 35, 34, 39, 51, 60, 36, 48, 30, 50, 61, 66, 69, 42, 71, 97,
+  85, 80, 78, 124, 99, 124, 102, 111, 131, 151, 161, 167, 173, 172, 180, 182,
+  187, 190, 191, 194, 194, 194, 194, 196, 196, 197, 194, 190, 185, 182, 185, 182,
+  180, 184, 188, 191, 190, 187, 179, 179, 178, 177, 179, 182, 185, 187, 186, 189,
+  195, 199, 200, 201, 201, 200, 192, 191, 190, 187, 183, 176, 167, 161, 151, 151,
+  130, 133, 63, 60, 57, 88, 68, 52, 97, 83, 67, 67, 94, 86, 58, 64,
+  65, 56, 48, 44, 41, 39, 39, 39, 37, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 34, 30, 28, 29, 28, 20, 11, 48, 90, 76, 97, 60, 71,
+  83, 92, 75, 55, 72, 66, 74, 83, 136, 89, 107, 132, 157, 171, 176, 175,
+  177, 183, 181, 183, 185, 188, 191, 192, 191, 190, 191, 187, 183, 182, 181, 178,
+  172, 166, 170, 169, 167, 171, 175, 178, 177, 172, 168, 166, 167, 169, 170, 173,
+  177, 180, 180, 183, 189, 193, 197, 198, 199, 200, 198, 198, 197, 197, 194, 189,
+  180, 175, 175, 146, 154, 127, 127, 77, 77, 56, 88, 95, 81, 108, 73, 100,
+  51, 54, 43, 48, 51, 47, 43, 37, 32, 28, 34, 37, 39, 111, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 177, 33, 40, 39, 40, 55, 78, 93, 82, 81,
+  67, 69, 80, 93, 104, 94, 99, 93, 69, 90, 81, 115, 81, 122, 142, 157,
+  162, 164, 175, 179, 179, 186, 183, 183, 183, 183, 185, 185, 184, 183, 185, 179,
+  171, 168, 168, 168, 164, 160, 160, 159, 161, 162, 165, 166, 165, 162, 156, 156,
+  155, 157, 159, 161, 163, 163, 171, 174, 178, 182, 186, 189, 192, 195, 201, 202,
+  201, 201, 198, 194, 187, 182, 171, 171, 148, 155, 124, 136, 90, 54, 79, 47,
+  95, 88, 149, 75, 61, 53, 62, 60, 58, 56, 56, 55, 51, 48, 32, 37,
+  40, 40, 110, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 39, 46, 45, 29, 18, 27,
+  49, 62, 47, 53, 76, 59, 72, 85, 111, 124, 135, 86, 124, 109, 86, 103,
+  96, 119, 151, 165, 160, 157, 173, 178, 173, 178, 179, 176, 172, 171, 171, 170,
+  168, 166, 168, 166, 161, 158, 156, 156, 157, 158, 153, 156, 160, 161, 160, 159,
+  157, 156, 147, 148, 148, 149, 148, 146, 145, 143, 152, 154, 157, 162, 166, 172,
+  178, 182, 193, 195, 194, 194, 193, 192, 187, 183, 166, 167, 176, 147, 143, 127,
+  123, 90, 51, 79, 80, 92, 28, 77, 63, 80, 58, 52, 48, 51, 55, 54,
+  45, 38, 35, 39, 40, 39, 37, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 180, 37, 30,
+  26, 41, 71, 88, 76, 51, 73, 66, 79, 63, 61, 78, 62, 67, 102, 142,
+  100, 117, 82, 91, 135, 138, 135, 160, 165, 165, 179, 176, 166, 169, 171, 168,
+  160, 157, 155, 154, 150, 147, 147, 149, 151, 147, 142, 141, 146, 152, 146, 151,
+  156, 158, 154, 151, 150, 150, 145, 145, 145, 144, 141, 137, 132, 129, 135, 135,
+  137, 141, 147, 155, 161, 167, 180, 180, 180, 183, 185, 186, 184, 182, 182, 170,
+  162, 161, 138, 130, 123, 121, 99, 64, 66, 70, 113, 96, 72, 66, 61, 56,
+  56, 65, 71, 65, 49, 35, 38, 40, 40, 38, 34, 108, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 33, 33, 38, 26, 34, 82, 40, 69, 62, 61, 62, 73, 60, 56, 66,
+  61, 66, 111, 103, 105, 91, 112, 117, 140, 140, 148, 156, 163, 164, 160, 157,
+  159, 164, 157, 160, 146, 154, 138, 148, 137, 143, 143, 150, 147, 161, 148, 153,
+  150, 164, 171, 172, 172, 173, 172, 170, 168, 168, 164, 168, 176, 162, 158, 165,
+  159, 158, 150, 150, 146, 143, 141, 143, 147, 153, 161, 164, 171, 180, 179, 173,
+  175, 184, 180, 177, 170, 161, 157, 149, 130, 112, 122, 79, 49, 75, 54, 50,
+  94, 59, 74, 64, 62, 45, 67, 61, 55, 28, 33, 35, 34, 34, 34, 36,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 33, 35, 30, 26, 26, 54, 44, 52, 76, 68, 56,
+  60, 60, 80, 109, 108, 109, 84, 94, 100, 111, 119, 135, 138, 140, 149, 152,
+  157, 157, 157, 154, 152, 150, 150, 147, 139, 145, 145, 155, 155, 161, 174, 181,
+  176, 188, 174, 181, 181, 194, 193, 195, 197, 199, 199, 199, 197, 199, 197, 200,
+  193, 187, 183, 184, 189, 187, 186, 175, 161, 155, 155, 156, 154, 152, 156, 158,
+  150, 142, 153, 174, 178, 166, 169, 173, 172, 163, 154, 149, 141, 134, 126, 102,
+  87, 62, 67, 79, 60, 75, 51, 51, 50, 56, 56, 59, 58, 63, 60, 55,
+  45, 39, 38, 39, 110, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 181, 33, 34, 29, 48, 60, 84, 92,
+  54, 76, 69, 58, 64, 63, 74, 85, 66, 58, 74, 94, 103, 129, 123, 145,
+  137, 142, 148, 149, 150, 153, 156, 155, 150, 146, 147, 153, 164, 164, 169, 162,
+  165, 165, 185, 192, 187, 200, 188, 199, 200, 215, 211, 213, 214, 215, 216, 216,
+  215, 216, 216, 219, 200, 208, 206, 192, 206, 196, 176, 171, 165, 158, 149, 138,
+  123, 113, 120, 116, 130, 155, 160, 149, 158, 181, 171, 176, 180, 176, 168, 156,
+  142, 129, 127, 116, 108, 69, 70, 83, 58, 74, 75, 71, 58, 74, 52, 53,
+  44, 62, 52, 42, 29, 24, 27, 31, 31, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 33, 33, 43, 21,
+  25, 34, 80, 92, 56, 66, 63, 63, 76, 71, 73, 86, 88, 100, 93, 109,
+  116, 130, 127, 142, 141, 146, 149, 149, 147, 145, 144, 143, 139, 138, 169, 163,
+  162, 131, 123, 105, 121, 128, 177, 189, 187, 201, 193, 207, 210, 223, 220, 221,
+  220, 220, 218, 217, 216, 217, 214, 223, 198, 220, 219, 190, 203, 186, 149, 145,
+  135, 118, 98, 83, 79, 80, 95, 132, 148, 130, 126, 150, 162, 154, 156, 154,
+  153, 161, 168, 165, 151, 136, 133, 119, 109, 104, 71, 64, 86, 61, 63, 56,
+  44, 57, 52, 58, 51, 55, 56, 48, 40, 37, 37, 42, 43, 114, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181,
+  33, 33, 32, 21, 25, 24, 81, 64, 56, 48, 70, 76, 100, 99, 90, 89,
+  80, 90, 111, 118, 133, 128, 139, 137, 148, 149, 136, 142, 145, 146, 148, 154,
+  163, 172, 109, 121, 156, 169, 196, 183, 181, 168, 185, 199, 201, 217, 208, 222,
+  222, 232, 230, 230, 229, 228, 226, 226, 225, 226, 223, 231, 204, 226, 223, 193,
+  207, 188, 168, 170, 172, 168, 154, 132, 109, 94, 59, 45, 55, 94, 122, 132,
+  146, 167, 175, 168, 160, 160, 164, 163, 160, 155, 146, 125, 118, 120, 88, 68,
+  78, 69, 62, 61, 64, 54, 67, 65, 68, 56, 48, 48, 44, 37, 29, 25,
+  24, 26, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 34, 33, 33, 27, 42, 71, 60, 98, 57, 61, 60, 80, 77,
+  95, 99, 102, 102, 84, 85, 114, 119, 142, 134, 151, 139, 148, 141, 157, 159,
+  152, 140, 126, 119, 122, 128, 140, 123, 119, 128, 166, 188, 199, 195, 200, 214,
+  216, 229, 218, 231, 228, 234, 236, 236, 235, 236, 236, 237, 239, 240, 237, 240,
+  217, 225, 220, 204, 216, 206, 183, 178, 179, 188, 191, 173, 137, 106, 146, 136,
+  96, 52, 62, 113, 147, 145, 148, 155, 165, 171, 167, 158, 155, 156, 152, 131,
+  136, 100, 106, 93, 34, 85, 80, 88, 98, 67, 67, 54, 63, 50, 59, 62,
+  62, 55, 43, 35, 34, 36, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 181, 34, 33, 33, 40, 50, 83, 54, 67, 57,
+  59, 98, 157, 129, 114, 99, 98, 105, 97, 105, 122, 130, 143, 144, 148, 140,
+  131, 122, 92, 99, 104, 109, 115, 122, 132, 139, 133, 130, 126, 149, 173, 202,
+  208, 211, 210, 225, 225, 234, 221, 236, 233, 239, 240, 241, 240, 241, 240, 242,
+  243, 244, 239, 239, 232, 225, 220, 220, 224, 220, 232, 212, 190, 183, 188, 192,
+  186, 177, 146, 140, 138, 141, 135, 116, 98, 87, 74, 84, 108, 137, 156, 160,
+  157, 156, 152, 135, 141, 97, 109, 107, 37, 82, 60, 64, 67, 58, 53, 50,
+  56, 57, 50, 50, 51, 47, 39, 33, 32, 33, 36, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 33, 33, 33, 32, 26, 33,
+  86, 67, 68, 86, 47, 100, 63, 63, 87, 104, 117, 122, 107, 112, 134, 144,
+  141, 153, 136, 139, 114, 107, 111, 115, 120, 127, 138, 146, 151, 151, 160, 178,
+  181, 198, 187, 204, 207, 224, 220, 235, 232, 240, 228, 245, 245, 252, 248, 247,
+  245, 244, 242, 241, 241, 241, 233, 238, 246, 232, 227, 236, 228, 228, 216, 219,
+  221, 218, 211, 204, 199, 198, 222, 212, 192, 181, 186, 185, 149, 104, 103, 86,
+  84, 110, 147, 166, 164, 157, 156, 141, 135, 117, 105, 103, 86, 69, 75, 64,
+  46, 65, 59, 68, 57, 64, 68, 65, 61, 56, 50, 45, 40, 39, 35, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31, 28,
+  30, 36, 52, 77, 78, 63, 61, 69, 71, 73, 57, 83, 78, 76, 115, 102,
+  115, 113, 126, 139, 145, 139, 133, 132, 127, 120, 157, 166, 178, 184, 187, 192,
+  199, 206, 215, 217, 218, 220, 222, 224, 225, 227, 233, 234, 236, 237, 239, 241,
+  243, 244, 243, 243, 242, 240, 238, 237, 236, 238, 241, 243, 243, 242, 240, 239,
+  238, 237, 239, 238, 237, 236, 235, 234, 234, 232, 229, 232, 230, 225, 224, 224,
+  214, 202, 142, 136, 113, 89, 94, 128, 155, 161, 154, 144, 152, 136, 105, 110,
+  74, 74, 69, 55, 67, 63, 79, 86, 77, 52, 59, 49, 63, 70, 97, 74,
+  58, 32, 36, 107, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 186, 41, 31, 28, 30, 53, 69, 67, 61, 72, 76, 61, 45, 73, 96,
+  73, 115, 110, 87, 137, 136, 156, 146, 146, 149, 134, 128, 166, 218, 211, 218,
+  226, 230, 232, 233, 238, 241, 236, 237, 237, 238, 239, 239, 240, 241, 238, 238,
+  239, 239, 241, 242, 244, 245, 244, 244, 242, 240, 238, 236, 235, 237, 241, 243,
+  243, 243, 242, 242, 241, 241, 241, 241, 240, 240, 239, 239, 238, 238, 238, 241,
+  241, 239, 241, 241, 236, 226, 228, 210, 174, 126, 80, 72, 109, 154, 179, 154,
+  156, 138, 128, 97, 130, 71, 94, 61, 69, 54, 65, 48, 71, 75, 90, 65,
+  45, 77, 64, 51, 33, 54, 35, 32, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 30, 26, 26, 35, 48, 31, 56, 66, 63, 67, 68,
+  61, 58, 87, 97, 91, 128, 84, 88, 129, 131, 124, 134, 125, 107, 123, 172,
+  209, 218, 230, 236, 240, 243, 240, 241, 242, 246, 246, 247, 247, 247, 248, 247,
+  248, 246, 242, 240, 241, 240, 242, 243, 245, 245, 244, 243, 242, 240, 239, 239,
+  239, 239, 243, 242, 242, 242, 242, 243, 244, 244, 242, 241, 241, 242, 240, 240,
+  240, 240, 239, 241, 242, 241, 242, 246, 243, 238, 233, 233, 230, 211, 169, 122,
+  95, 87, 122, 174, 138, 150, 126, 133, 116, 103, 56, 152, 100, 42, 36, 84,
+  44, 50, 52, 71, 63, 71, 66, 86, 46, 7, 36, 33, 107, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 181, 30, 27, 33, 53, 71, 32, 55,
+  63, 57, 59, 61, 67, 77, 100, 98, 141, 118, 92, 134, 115, 125, 131, 121,
+  130, 168, 210, 231, 232, 233, 233, 238, 241, 242, 241, 242, 243, 246, 245, 246,
+  245, 245, 244, 244, 243, 241, 240, 239, 239, 241, 243, 243, 244, 244, 243, 241,
+  239, 237, 238, 240, 242, 242, 244, 243, 242, 241, 241, 242, 243, 244, 242, 242,
+  241, 242, 241, 241, 242, 242, 241, 241, 239, 239, 238, 239, 238, 237, 227, 235,
+  236, 229, 225, 208, 162, 111, 82, 121, 167, 137, 143, 131, 104, 118, 86, 74,
+  98, 90, 61, 50, 80, 48, 61, 63, 78, 66, 71, 52, 63, 62, 40, 36,
+  33, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 38, 38, 34, 34,
+  43, 53, 67, 68, 58, 55, 67, 71, 68, 71, 94, 93, 138, 100, 123, 142,
+  99, 113, 111, 129, 168, 207, 228, 225, 222, 226, 236, 239, 241, 243, 242, 243,
+  244, 246, 244, 244, 243, 243, 242, 243, 241, 240, 239, 240, 241, 244, 246, 247,
+  246, 244, 240, 236, 232, 231, 233, 238, 244, 247, 245, 242, 241, 241, 241, 241,
+  241, 241, 242, 242, 242, 242, 241, 241, 242, 242, 246, 244, 243, 242, 241, 240,
+  241, 243, 242, 245, 237, 223, 222, 230, 220, 198, 141, 76, 138, 161, 137, 124,
+  125, 110, 127, 74, 43, 127, 59, 50, 53, 76, 75, 55, 50, 38, 64, 62,
+  70, 58, 46, 39, 34, 108, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  28, 30, 32, 37, 49, 61, 70, 74, 72, 72, 79, 77, 78, 88, 97, 105,
+  106, 104, 135, 95, 88, 105, 153, 195, 225, 222, 221, 237, 244, 236, 236, 235,
+  236, 236, 235, 236, 236, 237, 241, 242, 241, 241, 241, 241, 239, 239, 239, 241,
+  243, 247, 248, 248, 243, 238, 230, 223, 218, 215, 220, 228, 237, 242, 238, 238,
+  239, 240, 241, 241, 241, 240, 242, 243, 242, 242, 240, 240, 239, 240, 242, 241,
+  242, 244, 243, 241, 244, 247, 242, 238, 238, 245, 243, 233, 226, 226, 208, 120,
+  60, 148, 141, 134, 131, 125, 109, 137, 82, 52, 107, 69, 62, 70, 67, 82,
+  68, 78, 92, 130, 96, 52, 48, 40, 35, 33, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 37, 32, 35, 45, 59, 76, 91, 58, 70, 79, 85, 88, 87,
+  100, 126, 120, 124, 117, 127, 113, 79, 108, 141, 219, 209, 215, 235, 235, 221,
+  228, 250, 238, 235, 234, 234, 235, 236, 236, 237, 235, 235, 235, 235, 235, 235,
+  234, 236, 237, 240, 244, 246, 246, 241, 233, 225, 208, 199, 190, 187, 193, 205,
+  218, 225, 229, 230, 235, 239, 241, 242, 241, 241, 243, 243, 241, 240, 239, 238,
+  236, 237, 234, 233, 236, 240, 239, 235, 237, 244, 248, 237, 232, 239, 243, 240,
+  237, 236, 226, 185, 99, 76, 161, 129, 134, 135, 106, 109, 76, 95, 86, 90,
+  103, 74, 57, 60, 61, 85, 61, 54, 56, 91, 46, 40, 36, 37, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 28, 29, 39, 50, 59, 64, 71, 73, 69,
+  65, 77, 97, 106, 117, 136, 114, 108, 135, 123, 63, 90, 125, 181, 211, 226,
+  235, 227, 222, 228, 232, 231, 227, 226, 225, 226, 229, 231, 231, 231, 233, 234,
+  234, 235, 236, 236, 236, 236, 235, 238, 241, 242, 239, 231, 221, 211, 187, 177,
+  167, 163, 170, 182, 197, 207, 220, 225, 230, 236, 241, 243, 242, 242, 242, 243,
+  241, 239, 237, 234, 234, 233, 231, 230, 233, 238, 235, 230, 230, 238, 229, 245,
+  248, 235, 231, 242, 248, 241, 219, 237, 179, 92, 99, 156, 122, 125, 126, 126,
+  99, 75, 78, 57, 93, 51, 99, 81, 72, 50, 70, 68, 73, 57, 43, 39,
+  38, 41, 112, 255, 255, 255, 255, 255, 255, 255, 255, 42, 30, 39, 54, 77,
+  70, 84, 69, 75, 108, 67, 78, 111, 124, 112, 97, 136, 103, 125, 62, 126,
+  181, 214, 216, 229, 232, 226, 223, 229, 230, 222, 223, 228, 227, 225, 237, 233,
+  231, 234, 234, 230, 229, 232, 236, 240, 241, 241, 240, 234, 230, 231, 233, 224,
+  206, 186, 162, 152, 144, 142, 150, 158, 163, 167, 194, 210, 228, 233, 231, 231,
+  238, 245, 246, 241, 235, 233, 234, 232, 226, 222, 233, 215, 236, 229, 220, 230,
+  219, 229, 228, 226, 227, 230, 233, 233, 238, 242, 230, 234, 212, 158, 82, 111,
+  135, 131, 132, 121, 114, 70, 95, 89, 73, 93, 55, 54, 66, 64, 82, 86,
+  65, 90, 69, 59, 47, 38, 37, 255, 255, 255, 255, 255, 255, 255, 46, 39,
+  37, 16, 82, 93, 97, 72, 69, 66, 73, 71, 105, 123, 137, 105, 111, 113,
+  144, 81, 121, 145, 225, 227, 234, 223, 221, 229, 231, 220, 215, 220, 231, 230,
+  222, 223, 240, 243, 237, 237, 229, 227, 225, 226, 230, 235, 237, 237, 234, 228,
+  226, 229, 230, 216, 189, 165, 146, 145, 145, 141, 141, 145, 156, 168, 178, 197,
+  215, 224, 225, 225, 230, 237, 234, 241, 244, 234, 218, 210, 218, 228, 227, 234,
+  233, 233, 229, 234, 236, 219, 212, 213, 212, 215, 225, 238, 239, 234, 242, 246,
+  224, 188, 126, 90, 127, 133, 117, 140, 106, 76, 131, 120, 129, 46, 88, 57,
+  72, 31, 95, 94, 96, 74, 111, 63, 29, 31, 37, 255, 255, 255, 255, 255,
+  255, 255, 21, 40, 20, 55, 83, 138, 98, 67, 72, 79, 69, 86, 113, 107,
+  132, 108, 116, 111, 133, 75, 134, 192, 228, 230, 234, 226, 223, 225, 216, 206,
+  211, 225, 215, 218, 207, 201, 200, 201, 200, 211, 212, 212, 213, 217, 224, 231,
+  235, 238, 231, 222, 216, 216, 217, 202, 174, 149, 146, 145, 145, 142, 140, 143,
+  151, 162, 172, 191, 210, 219, 220, 222, 228, 235, 243, 238, 230, 220, 212, 209,
+  208, 209, 213, 227, 208, 219, 222, 216, 235, 214, 219, 220, 213, 203, 205, 222,
+  234, 238, 241, 245, 225, 218, 181, 84, 121, 146, 136, 142, 122, 117, 72, 108,
+  107, 131, 45, 50, 75, 70, 67, 81, 92, 102, 94, 80, 56, 40, 43, 117,
+  255, 255, 255, 255, 255, 181, 39, 35, 31, 25, 67, 94, 110, 99, 75, 87,
+  78, 85, 100, 101, 117, 111, 129, 130, 95, 106, 140, 228, 215, 227, 232, 231,
+  217, 201, 200, 212, 214, 205, 182, 185, 169, 169, 165, 174, 168, 181, 178, 183,
+  190, 201, 211, 223, 229, 234, 236, 222, 204, 195, 191, 181, 161, 143, 142, 137,
+  133, 135, 142, 149, 152, 158, 173, 188, 203, 212, 214, 218, 225, 233, 247, 233,
+  216, 208, 205, 201, 191, 181, 189, 190, 171, 179, 184, 175, 190, 196, 205, 212,
+  217, 207, 197, 200, 219, 238, 238, 239, 227, 233, 207, 107, 102, 146, 122, 145,
+  145, 125, 54, 139, 105, 97, 99, 61, 49, 90, 76, 87, 73, 79, 98, 99,
+  70, 28, 17, 41, 255, 255, 255, 255, 255, 34, 26, 27, 52, 64, 82, 73,
+  76, 70, 72, 76, 78, 75, 102, 131, 111, 112, 146, 129, 88, 124, 190, 224,
+  232, 231, 237, 221, 198, 187, 196, 208, 191, 162, 147, 155, 143, 164, 170, 185,
+  165, 168, 151, 158, 170, 182, 194, 204, 213, 218, 235, 219, 195, 176, 166, 157,
+  145, 138, 134, 137, 139, 139, 141, 146, 151, 158, 168, 179, 190, 197, 202, 210,
+  223, 234, 231, 226, 215, 203, 190, 179, 170, 165, 158, 158, 158, 140, 146, 156,
+  150, 171, 166, 173, 190, 203, 200, 193, 202, 224, 243, 242, 236, 234, 207, 148,
+  85, 127, 119, 142, 142, 114, 100, 97, 132, 57, 148, 77, 57, 65, 98, 89,
+  108, 93, 88, 79, 68, 60, 48, 35, 255, 255, 255, 255, 255, 34, 47, 39,
+  31, 77, 59, 79, 70, 83, 68, 87, 101, 95, 111, 143, 112, 129, 140, 110,
+  80, 142, 211, 216, 238, 235, 226, 210, 197, 193, 183, 162, 152, 153, 158, 186,
+  181, 190, 156, 149, 122, 135, 164, 170, 179, 186, 193, 199, 206, 210, 224, 212,
+  190, 167, 148, 140, 139, 142, 161, 174, 184, 176, 157, 144, 145, 155, 163, 171,
+  180, 187, 195, 207, 224, 237, 225, 215, 201, 193, 188, 179, 165, 154, 139, 155,
+  164, 130, 146, 178, 161, 175, 164, 158, 161, 171, 179, 184, 196, 214, 237, 239,
+  241, 227, 207, 189, 99, 116, 141, 131, 147, 121, 82, 55, 106, 114, 92, 95,
+  80, 78, 70, 86, 118, 126, 116, 90, 54, 29, 24, 33, 255, 255, 255, 255,
+  255, 32, 33, 19, 61, 74, 102, 79, 92, 69, 81, 110, 107, 113, 115, 125,
+  115, 148, 132, 93, 85, 165, 204, 224, 224, 235, 213, 203, 191, 179, 156, 142,
+  151, 173, 111, 151, 155, 176, 147, 165, 165, 202, 206, 206, 206, 205, 205, 208,
+  216, 220, 213, 204, 183, 158, 137, 138, 157, 177, 206, 218, 227, 220, 197, 175,
+  158, 153, 161, 167, 175, 182, 190, 202, 218, 229, 225, 211, 195, 191, 195, 193,
+  181, 167, 172, 178, 158, 141, 162, 171, 163, 180, 163, 171, 165, 151, 149, 168,
+  190, 205, 222, 235, 240, 218, 217, 203, 130, 105, 129, 132, 161, 128, 75, 108,
+  82, 90, 91, 115, 63, 87, 60, 96, 86, 91, 90, 89, 72, 50, 44, 50,
+  113, 255, 255, 255, 255, 30, 42, 43, 56, 79, 66, 88, 93, 85, 96, 110,
+  66, 98, 118, 119, 123, 148, 146, 88, 127, 171, 220, 228, 226, 234, 221, 196,
+  158, 133, 143, 171, 184, 182, 193, 191, 148, 156, 138, 166, 149, 166, 232, 231,
+  223, 216, 211, 213, 220, 226, 206, 196, 177, 149, 134, 146, 185, 221, 227, 229,
+  233, 238, 236, 218, 186, 161, 160, 164, 171, 174, 179, 187, 199, 209, 211, 215,
+  215, 206, 197, 192, 199, 206, 233, 203, 138, 148, 164, 124, 130, 163, 129, 173,
+  191, 162, 142, 159, 180, 188, 218, 239, 242, 217, 228, 195, 147, 87, 130, 131,
+  142, 148, 123, 61, 84, 89, 114, 108, 63, 67, 87, 83, 96, 103, 92, 79,
+  74, 75, 59, 32, 32, 255, 255, 255, 181, 33, 31, 26, 31, 42, 94, 81,
+  84, 102, 85, 73, 74, 92, 121, 119, 114, 146, 121, 100, 100, 191, 216, 227,
+  233, 221, 212, 187, 147, 127, 150, 97, 187, 220, 231, 157, 84, 78, 43, 70,
+  72, 138, 145, 238, 233, 231, 240, 204, 191, 182, 202, 163, 131, 147, 187, 206,
+  214, 231, 242, 246, 246, 246, 242, 236, 229, 223, 184, 171, 157, 197, 173, 179,
+  206, 201, 217, 216, 212, 212, 223, 237, 237, 229, 200, 155, 140, 90, 76, 117,
+  136, 171, 224, 158, 150, 200, 174, 146, 153, 193, 208, 231, 241, 237, 231, 211,
+  160, 105, 99, 139, 120, 140, 118, 89, 130, 99, 119, 103, 73, 44, 101, 89,
+  126, 141, 171, 139, 102, 48, 41, 27, 39, 255, 255, 255, 32, 32, 45, 46,
+  67, 80, 87, 86, 105, 114, 91, 82, 109, 83, 138, 121, 142, 129, 112, 97,
+  108, 195, 218, 229, 232, 218, 206, 178, 118, 146, 100, 168, 226, 225, 216, 122,
+  102, 69, 87, 187, 103, 128, 119, 227, 240, 226, 219, 198, 200, 187, 157, 149,
+  145, 169, 208, 224, 231, 246, 244, 246, 246, 246, 244, 241, 235, 229, 213, 182,
+  169, 177, 171, 167, 197, 201, 182, 202, 218, 223, 224, 229, 235, 234, 183, 134,
+  84, 67, 58, 68, 106, 125, 215, 228, 209, 151, 186, 156, 152, 161, 206, 225,
+  234, 232, 229, 212, 163, 109, 88, 128, 119, 141, 124, 92, 121, 91, 115, 78,
+  56, 64, 71, 92, 118, 95, 72, 68, 52, 40, 30, 36, 38, 255, 255, 255,
+  31, 31, 36, 14, 29, 71, 84, 116, 124, 100, 87, 91, 103, 109, 123, 137,
+  145, 128, 103, 97, 124, 201, 222, 229, 232, 219, 203, 175, 125, 117, 140, 203,
+  229, 227, 205, 114, 102, 55, 87, 201, 99, 99, 130, 194, 201, 199, 195, 182,
+  182, 155, 130, 154, 177, 200, 225, 234, 235, 242, 243, 242, 242, 243, 244, 243,
+  239, 235, 237, 200, 191, 163, 174, 166, 180, 189, 191, 195, 196, 199, 208, 217,
+  218, 215, 145, 138, 103, 146, 135, 83, 107, 90, 200, 221, 217, 209, 130, 139,
+  138, 151, 193, 213, 224, 228, 231, 222, 183, 139, 89, 125, 123, 146, 138, 109,
+  124, 100, 102, 120, 76, 85, 78, 107, 107, 121, 106, 107, 82, 75, 43, 46,
+  27, 255, 255, 255, 30, 30, 32, 30, 46, 91, 85, 101, 103, 105, 96, 97,
+  97, 135, 115, 129, 132, 127, 98, 102, 146, 210, 228, 231, 230, 217, 179, 141,
+  96, 112, 139, 183, 157, 187, 169, 139, 122, 130, 152, 210, 196, 209, 195, 196,
+  187, 200, 193, 170, 164, 145, 131, 171, 204, 219, 233, 239, 236, 237, 242, 240,
+  239, 240, 242, 243, 241, 240, 242, 221, 212, 168, 174, 180, 165, 170, 201, 194,
+  186, 186, 193, 197, 192, 186, 115, 111, 71, 100, 85, 51, 113, 123, 197, 229,
+  230, 197, 176, 102, 90, 149, 173, 200, 219, 226, 230, 225, 197, 165, 104, 128,
+  128, 149, 151, 131, 136, 127, 74, 111, 58, 54, 58, 89, 90, 123, 117, 153,
+  168, 145, 78, 43, 31, 255, 255, 255, 32, 32, 35, 47, 53, 98, 108, 103,
+  87, 115, 110, 108, 124, 123, 126, 105, 135, 110, 97, 106, 165, 213, 228, 228,
+  225, 208, 197, 101, 148, 127, 172, 152, 186, 172, 203, 217, 200, 225, 213, 203,
+  215, 216, 222, 204, 192, 193, 172, 152, 153, 145, 147, 189, 214, 221, 234, 247,
+  248, 246, 241, 239, 237, 238, 242, 243, 244, 243, 237, 240, 225, 186, 172, 203,
+  174, 172, 169, 183, 195, 200, 192, 182, 180, 185, 212, 216, 204, 204, 171, 134,
+  140, 130, 130, 162, 159, 136, 159, 128, 111, 136, 159, 191, 217, 225, 222, 214,
+  194, 172, 114, 127, 132, 147, 158, 143, 131, 135, 108, 90, 62, 65, 71, 112,
+  143, 124, 152, 118, 82, 43, 42, 36, 41, 255, 255, 255, 33, 33, 36, 42,
+  41, 81, 120, 113, 90, 112, 89, 125, 116, 116, 111, 125, 139, 99, 101, 112,
+  180, 211, 223, 221, 215, 196, 162, 132, 133, 157, 147, 190, 179, 196, 200, 210,
+  215, 220, 220, 226, 215, 204, 200, 189, 172, 156, 151, 160, 154, 129, 180, 210,
+  221, 219, 231, 245, 247, 247, 242, 240, 237, 238, 241, 243, 243, 242, 236, 246,
+  229, 206, 178, 209, 198, 197, 169, 173, 181, 188, 190, 191, 196, 206, 223, 218,
+  224, 222, 216, 221, 214, 201, 213, 211, 194, 201, 145, 158, 137, 126, 151, 182,
+  211, 220, 218, 211, 199, 183, 120, 123, 132, 142, 158, 142, 111, 122, 90, 83,
+  64, 53, 81, 96, 129, 124, 100, 106, 116, 79, 61, 27, 37, 255, 255, 255,
+  34, 35, 41, 63, 88, 89, 90, 81, 93, 108, 78, 135, 93, 124, 109, 152,
+  134, 99, 111, 120, 192, 209, 219, 215, 206, 185, 165, 171, 166, 163, 200, 212,
+  208, 228, 223, 219, 222, 212, 218, 229, 213, 201, 186, 178, 166, 154, 170, 189,
+  172, 147, 207, 227, 229, 222, 229, 237, 239, 242, 243, 241, 239, 239, 241, 241,
+  240, 237, 238, 237, 231, 228, 196, 192, 213, 212, 201, 184, 171, 171, 180, 189,
+  197, 207, 226, 224, 230, 236, 239, 246, 243, 230, 229, 238, 233, 193, 215, 155,
+  144, 166, 153, 177, 200, 212, 216, 215, 204, 191, 134, 127, 133, 135, 156, 142,
+  101, 124, 77, 102, 72, 50, 82, 73, 94, 130, 96, 98, 94, 73, 57, 42,
+  40, 255, 255, 255, 35, 35, 34, 36, 68, 62, 69, 85, 111, 85, 103, 134,
+  103, 121, 149, 141, 132, 93, 119, 128, 201, 209, 217, 213, 201, 179, 180, 156,
+  166, 197, 194, 209, 222, 210, 212, 218, 209, 214, 205, 179, 183, 173, 165, 169,
+  178, 180, 185, 182, 171, 182, 212, 231, 232, 224, 228, 232, 235, 242, 244, 243,
+  241, 242, 241, 239, 236, 232, 239, 222, 234, 241, 214, 171, 215, 213, 211, 205,
+  197, 188, 172, 165, 173, 191, 217, 225, 226, 239, 232, 222, 234, 226, 233, 224,
+  224, 231, 198, 198, 179, 149, 164, 177, 193, 201, 206, 207, 194, 179, 151, 135,
+  135, 131, 154, 148, 107, 140, 107, 88, 63, 61, 55, 64, 98, 103, 133, 137,
+  117, 106, 70, 66, 45, 255, 255, 255, 181, 34, 35, 38, 17, 86, 114, 117,
+  84, 140, 96, 132, 88, 137, 136, 175, 98, 128, 99, 165, 210, 206, 198, 193,
+  184, 175, 159, 165, 175, 188, 199, 208, 215, 218, 211, 200, 187, 173, 167, 168,
+  176, 183, 177, 189, 199, 203, 224, 163, 157, 216, 237, 223, 229, 228, 186, 203,
+  212, 229, 252, 235, 255, 241, 243, 233, 225, 201, 221, 230, 228, 229, 229, 201,
+  187, 206, 223, 233, 210, 199, 188, 177, 188, 173, 175, 188, 206, 219, 227, 230,
+  232, 234, 235, 234, 229, 223, 213, 201, 192, 185, 161, 166, 171, 178, 194, 207,
+  198, 178, 152, 139, 129, 138, 160, 163, 101, 143, 154, 102, 69, 59, 50, 84,
+  81, 100, 107, 84, 89, 88, 70, 77, 28, 255, 255, 255, 255, 34, 15, 59,
+  80, 88, 95, 96, 112, 157, 104, 129, 118, 134, 143, 144, 111, 137, 105, 163,
+  197, 187, 175, 172, 169, 167, 171, 177, 186, 194, 199, 201, 201, 200, 172, 169,
+  167, 165, 166, 173, 180, 187, 200, 204, 219, 216, 203, 177, 194, 225, 231, 234,
+  223, 199, 141, 119, 146, 248, 238, 236, 250, 236, 243, 229, 149, 149, 154, 201,
+  226, 225, 227, 214, 189, 178, 217, 236, 226, 220, 206, 193, 199, 184, 173, 177,
+  183, 189, 199, 211, 223, 233, 231, 231, 228, 222, 213, 202, 192, 185, 172, 169,
+  166, 167, 182, 197, 193, 176, 166, 161, 141, 125, 146, 169, 115, 134, 149, 107,
+  81, 55, 50, 80, 86, 96, 131, 131, 95, 99, 77, 51, 60, 255, 255, 255,
+  255, 34, 41, 25, 51, 70, 111, 88, 104, 112, 100, 96, 143, 123, 184, 127,
+  151, 146, 128, 172, 190, 174, 162, 163, 167, 172, 180, 183, 187, 187, 183, 177,
+  171, 166, 150, 154, 164, 175, 183, 191, 199, 204, 225, 221, 235, 227, 178, 195,
+  231, 234, 241, 214, 154, 140, 132, 95, 86, 199, 230, 243, 249, 236, 243, 215,
+  74, 87, 128, 141, 164, 203, 238, 231, 206, 197, 203, 229, 236, 238, 227, 215,
+  217, 202, 187, 180, 174, 170, 171, 180, 191, 200, 210, 211, 211, 209, 204, 200,
+  193, 189, 186, 178, 164, 158, 167, 182, 184, 175, 147, 147, 141, 131, 147, 160,
+  103, 100, 152, 121, 96, 63, 51, 77, 87, 91, 91, 87, 90, 76, 57, 30,
+  27, 255, 255, 255, 255, 35, 26, 45, 91, 77, 99, 104, 123, 88, 125, 119,
+  102, 147, 136, 142, 124, 121, 149, 176, 182, 168, 165, 170, 174, 180, 182, 180,
+  177, 171, 163, 157, 152, 150, 161, 169, 183, 197, 208, 215, 220, 222, 234, 231,
+  231, 226, 178, 210, 241, 239, 230, 211, 153, 128, 117, 93, 94, 204, 231, 243,
+  245, 236, 237, 185, 59, 56, 115, 107, 130, 190, 237, 240, 229, 232, 191, 214,
+  231, 240, 238, 233, 232, 222, 202, 194, 187, 179, 173, 170, 169, 170, 180, 182,
+  184, 187, 190, 193, 195, 197, 194, 187, 171, 158, 157, 166, 174, 174, 178, 150,
+  136, 128, 136, 141, 120, 134, 129, 108, 79, 79, 59, 92, 104, 122, 87, 108,
+  88, 99, 92, 30, 60, 255, 255, 255, 255, 35, 47, 9, 38, 96, 110, 88,
+  92, 97, 157, 126, 118, 122, 145, 125, 151, 130, 152, 168, 167, 160, 170, 178,
+  178, 179, 180, 176, 169, 163, 158, 160, 165, 169, 185, 192, 205, 216, 224, 229,
+  232, 234, 232, 236, 219, 217, 200, 222, 231, 242, 203, 191, 146, 103, 73, 95,
+  123, 200, 229, 234, 238, 235, 225, 162, 115, 79, 85, 119, 167, 201, 221, 235,
+  240, 234, 195, 206, 224, 232, 238, 244, 240, 235, 212, 207, 204, 200, 194, 187,
+  180, 175, 172, 171, 172, 174, 179, 187, 194, 199, 197, 196, 185, 169, 157, 156,
+  165, 171, 152, 140, 155, 157, 152, 140, 121, 111, 130, 107, 63, 98, 61, 90,
+  93, 125, 130, 87, 114, 68, 66, 58, 22, 255, 255, 255, 255, 182, 24, 45,
+  78, 104, 79, 96, 119, 139, 119, 129, 117, 149, 140, 140, 158, 148, 150, 161,
+  160, 163, 178, 184, 179, 177, 170, 169, 166, 165, 168, 177, 189, 198, 206, 212,
+  220, 229, 235, 238, 241, 242, 231, 238, 216, 208, 221, 229, 226, 243, 234, 207,
+  166, 138, 130, 179, 187, 196, 228, 230, 238, 236, 218, 173, 188, 144, 114, 128,
+  172, 213, 226, 231, 238, 239, 207, 208, 225, 230, 236, 246, 239, 242, 233, 227,
+  221, 217, 212, 208, 201, 196, 190, 186, 182, 179, 183, 187, 194, 197, 202, 204,
+  199, 185, 167, 158, 161, 168, 161, 155, 160, 128, 112, 122, 136, 107, 138, 109,
+  57, 101, 64, 78, 78, 108, 135, 116, 99, 85, 76, 51, 45, 255, 255, 255,
+  255, 255, 47, 18, 24, 82, 95, 98, 103, 129, 95, 117, 137, 128, 155, 108,
+  147, 118, 151, 163, 168, 175, 188, 187, 179, 179, 167, 170, 175, 180, 185, 195,
+  204, 211, 221, 227, 233, 239, 241, 245, 246, 245, 233, 236, 224, 204, 220, 227,
+  236, 238, 218, 211, 195, 183, 175, 203, 194, 207, 225, 230, 238, 231, 210, 205,
+  222, 200, 180, 148, 169, 222, 242, 235, 241, 247, 209, 208, 231, 232, 234, 244,
+  234, 245, 250, 245, 238, 233, 228, 224, 217, 212, 208, 205, 201, 198, 198, 200,
+  203, 205, 211, 210, 205, 195, 180, 167, 163, 164, 156, 156, 177, 153, 134, 131,
+  140, 86, 124, 91, 54, 84, 80, 80, 98, 109, 106, 92, 103, 92, 69, 60,
+  25, 255, 255, 255, 255, 255, 32, 38, 58, 82, 94, 100, 114, 130, 102, 139,
+  120, 138, 144, 146, 169, 157, 152, 167, 177, 184, 192, 187, 179, 183, 177, 183,
+  193, 201, 207, 210, 214, 217, 227, 233, 238, 241, 242, 242, 242, 242, 238, 236,
+  236, 203, 209, 221, 245, 228, 226, 217, 193, 191, 201, 213, 193, 228, 218, 231,
+  235, 223, 197, 224, 215, 222, 205, 196, 215, 238, 237, 241, 245, 230, 200, 204,
+  235, 235, 235, 240, 230, 247, 244, 243, 241, 241, 239, 237, 230, 224, 214, 212,
+  212, 213, 213, 214, 214, 214, 218, 214, 209, 203, 191, 179, 168, 164, 167, 143,
+  157, 146, 127, 113, 133, 91, 146, 108, 78, 74, 90, 67, 95, 80, 92, 115,
+  91, 109, 69, 37, 39, 255, 255, 255, 255, 255, 182, 34, 62, 129, 63, 150,
+  131, 113, 102, 131, 107, 150, 121, 164, 160, 168, 158, 181, 198, 197, 190, 190,
+  191, 187, 194, 198, 206, 215, 222, 229, 232, 234, 232, 233, 236, 240, 245, 248,
+  247, 248, 246, 246, 235, 214, 200, 206, 220, 228, 217, 205, 198, 202, 209, 212,
+  218, 224, 233, 236, 235, 229, 224, 224, 223, 220, 218, 222, 228, 234, 237, 234,
+  229, 225, 182, 207, 231, 235, 236, 240, 242, 239, 242, 242, 242, 241, 241, 239,
+  238, 235, 227, 224, 220, 217, 217, 217, 217, 215, 218, 214, 213, 212, 209, 197,
+  177, 160, 161, 166, 140, 154, 147, 125, 129, 89, 173, 96, 91, 82, 87, 78,
+  88, 83, 96, 106, 96, 133, 69, 82, 41, 255, 255, 255, 255, 255, 255, 24,
+  92, 45, 121, 116, 99, 104, 104, 114, 124, 148, 145, 165, 182, 160, 163, 184,
+  198, 196, 192, 193, 193, 190, 201, 206, 213, 223, 229, 235, 238, 238, 234, 234,
+  236, 239, 241, 244, 245, 246, 243, 247, 241, 218, 194, 184, 184, 187, 188, 185,
+  188, 200, 211, 218, 225, 233, 237, 240, 239, 235, 231, 232, 228, 224, 214, 213,
+  214, 218, 222, 220, 211, 203, 196, 216, 234, 236, 235, 240, 241, 237, 242, 242,
+  241, 241, 240, 240, 239, 238, 234, 231, 226, 223, 222, 221, 220, 219, 215, 212,
+  211, 214, 215, 206, 190, 175, 162, 173, 154, 158, 138, 116, 125, 92, 161, 82,
+  106, 72, 79, 99, 81, 116, 105, 114, 91, 94, 30, 35, 18, 255, 255, 255,
+  255, 255, 255, 177, 71, 93, 72, 115, 122, 119, 102, 101, 133, 143, 168, 164,
+  189, 147, 173, 187, 197, 194, 190, 192, 195, 195, 210, 215, 222, 230, 236, 239,
+  241, 240, 239, 237, 238, 238, 240, 242, 243, 243, 236, 241, 235, 213, 186, 168,
+  160, 159, 169, 176, 189, 205, 217, 224, 232, 240, 238, 240, 239, 237, 237, 239,
+  233, 224, 214, 206, 199, 198, 197, 191, 178, 168, 204, 218, 230, 233, 235, 241,
+  242, 238, 242, 242, 242, 242, 241, 241, 241, 240, 240, 237, 231, 229, 228, 226,
+  225, 222, 217, 214, 213, 216, 216, 210, 198, 186, 163, 178, 163, 155, 127, 109,
+  122, 99, 118, 106, 95, 92, 100, 82, 90, 102, 105, 109, 82, 79, 58, 57,
+  35, 255, 255, 255, 255, 255, 255, 255, 48, 76, 104, 98, 151, 121, 95, 113,
+  120, 138, 170, 165, 164, 142, 184, 192, 194, 190, 187, 194, 200, 204, 218, 222,
+  229, 236, 241, 242, 242, 240, 240, 239, 239, 238, 240, 241, 241, 242, 238, 231,
+  218, 199, 180, 167, 162, 162, 167, 179, 196, 210, 218, 224, 231, 237, 238, 239,
+  238, 237, 239, 240, 232, 221, 217, 207, 196, 189, 182, 176, 167, 161, 196, 207,
+  219, 226, 235, 243, 246, 242, 243, 242, 242, 242, 242, 242, 242, 242, 244, 240,
+  236, 234, 232, 231, 228, 226, 225, 220, 217, 216, 215, 209, 199, 190, 166, 173,
+  158, 146, 123, 113, 122, 101, 88, 120, 83, 96, 106, 71, 89, 88, 95, 98,
+  79, 70, 79, 67, 39, 255, 255, 255, 255, 255, 255, 255, 43, 68, 124, 108,
+  160, 61, 98, 142, 103, 142, 158, 167, 129, 155, 194, 194, 190, 186, 187, 197,
+  208, 215, 224, 228, 233, 239, 242, 244, 242, 241, 242, 241, 241, 241, 241, 241,
+  240, 239, 235, 220, 203, 188, 179, 172, 166, 165, 166, 181, 196, 207, 212, 220,
+  230, 236, 239, 240, 238, 238, 241, 241, 234, 222, 214, 208, 200, 190, 183, 181,
+  182, 185, 185, 195, 208, 221, 234, 244, 248, 246, 244, 243, 243, 243, 243, 243,
+  243, 242, 244, 242, 239, 238, 236, 233, 231, 227, 229, 225, 220, 217, 213, 209,
+  200, 193, 170, 162, 149, 145, 134, 124, 116, 88, 90, 100, 93, 67, 81, 96,
+  75, 112, 114, 123, 106, 70, 60, 39, 28, 255, 255, 255, 255, 255, 255, 255,
+  255, 126, 87, 154, 135, 52, 112, 157, 100, 148, 145, 154, 115, 175, 196, 193,
+  189, 187, 192, 202, 215, 223, 230, 233, 236, 239, 242, 243, 244, 244, 242, 243,
+  242, 242, 240, 239, 236, 232, 223, 207, 193, 183, 178, 169, 161, 158, 170, 184,
+  198, 207, 214, 226, 236, 243, 238, 240, 240, 239, 240, 242, 238, 228, 220, 216,
+  208, 195, 183, 178, 182, 187, 182, 191, 204, 217, 229, 237, 243, 244, 243, 242,
+  242, 242, 243, 243, 243, 243, 243, 242, 240, 240, 238, 237, 233, 231, 227, 225,
+  221, 219, 215, 210, 204, 199, 175, 153, 144, 149, 144, 131, 108, 80, 82, 106,
+  92, 72, 78, 99, 83, 106, 121, 125, 109, 79, 61, 46, 111, 255, 255, 255,
+  255, 255, 255, 255, 255, 86, 127, 137, 92, 110, 125, 136, 110, 144, 135, 121,
+  126, 183, 191, 188, 188, 192, 200, 211, 219, 225, 235, 237, 239, 240, 242, 244,
+  246, 246, 244, 245, 244, 242, 238, 233, 227, 222, 205, 193, 181, 175, 169, 162,
+  158, 163, 181, 193, 204, 211, 218, 228, 236, 238, 231, 236, 238, 236, 238, 240,
+  240, 234, 232, 225, 215, 201, 187, 176, 171, 171, 182, 186, 197, 207, 216, 225,
+  233, 240, 240, 241, 241, 241, 242, 242, 243, 243, 243, 241, 241, 241, 242, 240,
+  237, 233, 228, 225, 224, 221, 218, 213, 207, 203, 187, 151, 140, 144, 138, 126,
+  110, 102, 65, 111, 90, 87, 81, 95, 97, 97, 91, 94, 87, 75, 52, 52,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 65, 115, 98, 100, 109, 131, 105,
+  119, 136, 128, 88, 140, 180, 186, 185, 189, 198, 209, 216, 221, 226, 238, 239,
+  240, 241, 242, 244, 247, 249, 245, 245, 245, 242, 235, 226, 219, 212, 191, 181,
+  172, 166, 158, 156, 164, 179, 188, 200, 208, 210, 214, 221, 224, 221, 222, 229,
+  232, 232, 232, 237, 240, 238, 238, 231, 220, 210, 199, 189, 176, 170, 178, 181,
+  189, 197, 204, 213, 225, 237, 238, 240, 239, 241, 241, 242, 242, 242, 243, 242,
+  241, 243, 243, 242, 240, 236, 232, 230, 228, 225, 220, 213, 207, 202, 199, 153,
+  135, 133, 123, 118, 119, 134, 67, 78, 106, 68, 56, 120, 90, 129, 86, 97,
+  99, 83, 29, 31, 255, 255, 255, 255, 255, 255, 255, 255, 255, 84, 128, 116,
+  128, 146, 150, 99, 100, 123, 106, 103, 145, 182, 191, 181, 200, 206, 206, 220,
+  224, 234, 240, 242, 243, 244, 245, 244, 244, 243, 243, 248, 247, 237, 232, 225,
+  207, 188, 182, 174, 164, 159, 163, 172, 185, 194, 194, 195, 197, 201, 205, 208,
+  207, 207, 207, 204, 206, 214, 216, 213, 221, 234, 236, 233, 229, 225, 218, 203,
+  185, 172, 174, 181, 190, 196, 200, 206, 213, 220, 227, 237, 244, 244, 240, 237,
+  242, 247, 242, 242, 242, 242, 242, 242, 242, 241, 238, 235, 231, 228, 223, 219,
+  210, 204, 198, 157, 138, 127, 142, 123, 120, 114, 81, 55, 109, 82, 61, 80,
+  138, 119, 84, 94, 80, 62, 59, 50, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 67, 100, 115, 135, 137, 171, 112, 101, 115, 98, 101, 148, 185, 189, 181,
+  202, 210, 212, 224, 226, 234, 241, 243, 244, 244, 244, 244, 243, 243, 243, 245,
+  243, 234, 224, 212, 196, 183, 171, 168, 168, 171, 178, 187, 195, 202, 200, 202,
+  205, 206, 208, 211, 214, 216, 213, 215, 218, 220, 217, 213, 217, 226, 231, 228,
+  224, 222, 219, 213, 201, 193, 183, 182, 182, 185, 192, 201, 208, 214, 224, 229,
+  232, 236, 239, 242, 242, 244, 242, 242, 242, 242, 242, 242, 241, 242, 239, 236,
+  233, 229, 226, 220, 211, 204, 191, 160, 138, 116, 131, 120, 113, 95, 95, 66,
+  101, 67, 60, 77, 128, 118, 92, 78, 78, 71, 43, 32, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 93, 113, 85, 89, 162, 155, 97, 84, 101, 93, 107,
+  156, 189, 187, 182, 205, 215, 217, 228, 228, 236, 241, 243, 244, 243, 243, 242,
+  242, 240, 243, 239, 235, 229, 213, 196, 183, 178, 168, 172, 178, 188, 195, 201,
+  205, 206, 210, 212, 213, 213, 214, 215, 219, 221, 213, 223, 229, 227, 220, 220,
+  222, 224, 229, 226, 221, 220, 220, 221, 217, 214, 201, 191, 182, 181, 188, 199,
+  206, 211, 220, 219, 219, 227, 237, 244, 243, 240, 242, 242, 242, 242, 242, 242,
+  242, 241, 241, 238, 234, 231, 226, 221, 212, 205, 189, 166, 144, 114, 130, 127,
+  115, 85, 89, 70, 94, 60, 70, 71, 96, 90, 123, 67, 58, 64, 38, 36,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 78, 99, 129, 92, 150, 125, 75,
+  72, 95, 96, 116, 161, 182, 189, 184, 206, 216, 218, 230, 232, 240, 241, 243,
+  243, 243, 243, 241, 240, 238, 242, 232, 224, 219, 203, 184, 178, 183, 184, 188,
+  194, 201, 206, 209, 209, 210, 215, 212, 211, 213, 215, 215, 211, 209, 201, 217,
+  228, 223, 219, 222, 224, 223, 231, 228, 223, 221, 221, 223, 222, 221, 218, 208,
+  197, 191, 193, 201, 208, 214, 218, 218, 216, 224, 234, 242, 242, 238, 241, 242,
+  242, 242, 241, 242, 242, 242, 242, 239, 235, 233, 228, 222, 214, 206, 190, 165,
+  144, 118, 136, 130, 117, 88, 92, 84, 97, 59, 83, 71, 80, 89, 133, 78,
+  53, 52, 40, 42, 255, 255, 255, 255, 255, 255, 255, 255, 255, 83, 113, 165,
+  85, 153, 115, 76, 78, 98, 98, 120, 159, 174, 193, 186, 207, 216, 217, 231,
+  235, 245, 242, 243, 243, 243, 242, 240, 238, 236, 237, 225, 215, 209, 197, 184,
+  187, 196, 204, 204, 206, 208, 210, 212, 214, 216, 213, 208, 206, 210, 217, 216,
+  208, 199, 196, 211, 221, 217, 213, 216, 217, 214, 227, 227, 224, 224, 224, 224,
+  222, 221, 226, 223, 218, 211, 206, 206, 212, 218, 219, 221, 222, 227, 231, 236,
+  239, 241, 241, 241, 241, 241, 241, 242, 241, 242, 242, 241, 237, 234, 229, 223,
+  216, 207, 191, 159, 139, 121, 135, 120, 108, 87, 111, 101, 97, 51, 84, 75,
+  93, 124, 106, 96, 68, 42, 35, 35, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 79, 105, 186, 94, 113, 103, 74, 81, 96, 92, 118, 161, 175, 197, 188,
+  208, 215, 217, 231, 236, 246, 242, 243, 243, 242, 241, 239, 237, 235, 230, 221,
+  212, 205, 198, 198, 204, 211, 214, 212, 211, 211, 213, 217, 221, 223, 218, 214,
+  212, 217, 223, 224, 215, 205, 204, 212, 218, 217, 213, 214, 213, 211, 219, 221,
+  223, 225, 225, 225, 224, 223, 227, 229, 229, 225, 218, 215, 217, 220, 223, 227,
+  229, 230, 231, 233, 237, 242, 240, 241, 241, 241, 241, 241, 241, 242, 244, 241,
+  238, 235, 231, 224, 216, 209, 197, 164, 144, 124, 134, 114, 103, 85, 102, 91,
+  86, 46, 85, 74, 91, 127, 97, 94, 60, 30, 37, 40, 255, 255, 255, 255,
+  255, 255, 255, 255, 190, 119, 134, 136, 73, 115, 82, 65, 81, 95, 88, 116,
+  163, 177, 196, 188, 210, 217, 220, 232, 235, 243, 242, 243, 242, 241, 240, 237,
+  235, 233, 223, 219, 213, 207, 207, 215, 219, 219, 215, 215, 216, 217, 219, 222,
+  224, 224, 223, 220, 217, 216, 215, 214, 210, 207, 199, 198, 202, 209, 213, 213,
+  214, 217, 212, 214, 218, 222, 224, 224, 225, 226, 227, 229, 232, 232, 230, 228,
+  226, 225, 227, 229, 231, 231, 231, 234, 238, 243, 240, 240, 241, 241, 241, 241,
+  241, 242, 245, 243, 239, 236, 231, 226, 217, 209, 195, 173, 155, 125, 132, 119,
+  111, 89, 101, 82, 80, 48, 89, 74, 81, 108, 118, 82, 46, 33, 37, 45,
+  255, 255, 255, 255, 255, 255, 255, 255, 67, 116, 125, 132, 109, 103, 73, 67,
+  91, 105, 92, 116, 159, 170, 193, 188, 211, 220, 222, 233, 232, 240, 242, 243,
+  242, 241, 240, 238, 236, 234, 219, 220, 217, 211, 217, 228, 231, 224, 215, 218,
+  219, 222, 222, 221, 220, 217, 212, 211, 209, 202, 192, 188, 190, 195, 178, 172,
+  176, 192, 203, 207, 211, 219, 208, 211, 214, 216, 218, 219, 221, 223, 226, 226,
+  229, 234, 239, 240, 236, 232, 231, 230, 230, 231, 234, 238, 240, 242, 240, 240,
+  241, 241, 241, 241, 241, 241, 245, 242, 239, 236, 232, 225, 217, 210, 186, 177,
+  160, 120, 126, 125, 119, 91, 135, 101, 86, 50, 90, 79, 90, 114, 131, 77,
+  58, 55, 27, 29, 255, 255, 255, 255, 255, 255, 255, 255, 76, 118, 126, 137,
+  118, 109, 54, 66, 102, 96, 93, 109, 160, 170, 183, 192, 204, 215, 223, 231,
+  239, 244, 244, 243, 242, 242, 242, 240, 236, 230, 222, 223, 220, 216, 223, 236,
+  235, 224, 221, 224, 221, 213, 210, 215, 217, 212, 182, 169, 160, 160, 160, 156,
+  154, 156, 170, 159, 149, 150, 160, 169, 172, 169, 183, 191, 201, 205, 205, 207,
+  214, 223, 221, 223, 226, 231, 236, 241, 243, 241, 242, 241, 239, 236, 234, 234,
+  238, 242, 241, 241, 241, 241, 241, 241, 241, 241, 238, 242, 242, 236, 228, 224,
+  215, 207, 189, 177, 145, 129, 122, 123, 120, 85, 120, 115, 65, 76, 91, 87,
+  85, 115, 110, 130, 56, 77, 45, 42, 255, 255, 255, 255, 255, 255, 255, 187,
+  102, 118, 125, 103, 114, 97, 58, 64, 99, 99, 103, 116, 161, 168, 182, 192,
+  204, 215, 223, 231, 239, 245, 245, 243, 241, 242, 242, 241, 237, 232, 222, 222,
+  226, 233, 234, 231, 227, 224, 215, 214, 212, 215, 217, 213, 193, 169, 137, 141,
+  159, 183, 200, 206, 210, 213, 210, 201, 189, 186, 190, 192, 188, 181, 146, 134,
+  132, 153, 188, 211, 214, 209, 207, 213, 222, 230, 239, 242, 240, 237, 241, 241,
+  239, 237, 235, 236, 240, 243, 241, 241, 241, 241, 241, 241, 241, 240, 238, 242,
+  241, 236, 228, 223, 216, 206, 187, 174, 142, 128, 120, 121, 117, 85, 102, 118,
+  68, 44, 60, 85, 103, 118, 130, 109, 39, 48, 46, 38, 114, 255, 255, 255,
+  255, 255, 255, 38, 134, 170, 138, 80, 125, 62, 68, 62, 88, 92, 100, 110,
+  153, 162, 181, 191, 203, 214, 223, 231, 238, 243, 243, 243, 242, 242, 242, 240,
+  237, 233, 226, 223, 231, 244, 241, 228, 224, 230, 216, 215, 211, 210, 204, 190,
+  160, 135, 135, 147, 172, 197, 213, 217, 217, 219, 223, 217, 209, 210, 214, 215,
+  209, 201, 207, 185, 158, 144, 146, 164, 186, 200, 207, 208, 210, 214, 223, 231,
+  236, 240, 238, 239, 239, 238, 237, 237, 240, 243, 241, 241, 241, 241, 241, 241,
+  241, 240, 238, 241, 241, 235, 229, 223, 214, 204, 185, 171, 142, 130, 122, 121,
+  118, 86, 84, 107, 74, 43, 54, 67, 87, 90, 145, 114, 72, 36, 49, 39,
+  42, 255, 255, 255, 255, 255, 255, 72, 121, 148, 146, 78, 97, 102, 102, 79,
+  94, 98, 104, 112, 158, 176, 179, 190, 203, 214, 222, 230, 237, 242, 243, 242,
+  241, 242, 242, 240, 237, 232, 233, 230, 233, 240, 240, 233, 232, 235, 221, 218,
+  207, 189, 165, 148, 136, 130, 128, 133, 144, 151, 153, 152, 153, 155, 149, 144,
+  142, 146, 152, 155, 153, 147, 137, 146, 150, 142, 131, 133, 152, 173, 186, 188,
+  193, 202, 215, 228, 237, 244, 238, 240, 241, 239, 237, 237, 238, 240, 241, 241,
+  241, 241, 241, 241, 241, 241, 239, 241, 240, 234, 229, 223, 213, 199, 183, 171,
+  143, 134, 126, 122, 119, 89, 96, 97, 73, 63, 67, 49, 67, 82, 116, 119,
+  129, 43, 46, 38, 43, 255, 255, 255, 255, 255, 199, 51, 125, 163, 111, 91,
+  102, 89, 113, 80, 91, 98, 103, 104, 150, 173, 178, 189, 202, 214, 222, 229,
+  235, 240, 242, 241, 240, 240, 241, 239, 236, 233, 234, 237, 238, 235, 235, 238,
+  229, 213, 199, 188, 170, 149, 133, 126, 131, 140, 152, 157, 162, 164, 165, 169,
+  174, 177, 179, 173, 168, 170, 176, 180, 180, 176, 172, 170, 165, 159, 153, 144,
+  136, 132, 143, 151, 166, 185, 205, 222, 231, 237, 238, 241, 242, 241, 238, 236,
+  236, 237, 241, 241, 241, 241, 241, 241, 241, 241, 239, 241, 239, 233, 229, 222,
+  210, 197, 181, 168, 143, 135, 126, 120, 117, 88, 127, 109, 70, 64, 59, 50,
+  78, 105, 85, 101, 135, 53, 49, 35, 36, 38, 255, 255, 255, 255, 32, 72,
+  135, 145, 135, 124, 75, 86, 123, 78, 84, 99, 108, 102, 139, 162, 177, 188,
+  201, 213, 221, 227, 234, 238, 241, 240, 239, 240, 241, 239, 236, 234, 233, 242,
+  242, 238, 236, 232, 212, 186, 168, 151, 133, 128, 132, 138, 144, 150, 153, 161,
+  167, 170, 176, 183, 185, 185, 171, 167, 163, 164, 169, 175, 177, 177, 186, 173,
+  158, 152, 154, 157, 155, 152, 138, 138, 141, 151, 169, 190, 207, 219, 236, 240,
+  242, 242, 240, 237, 236, 236, 241, 241, 241, 241, 241, 241, 241, 241, 240, 241,
+  238, 234, 228, 223, 208, 194, 177, 164, 140, 134, 123, 115, 111, 83, 139, 139,
+  92, 74, 46, 68, 88, 95, 109, 98, 111, 78, 69, 42, 27, 48, 255, 255,
+  255, 183, 49, 72, 124, 132, 136, 139, 145, 130, 169, 103, 93, 108, 122, 114,
+  148, 169, 176, 187, 200, 213, 221, 226, 232, 237, 240, 239, 239, 239, 240, 239,
+  236, 233, 238, 243, 245, 243, 235, 220, 197, 179, 171, 157, 148, 151, 156, 159,
+  162, 166, 167, 174, 181, 182, 189, 195, 194, 187, 188, 185, 183, 185, 190, 197,
+  199, 199, 192, 194, 196, 193, 185, 172, 159, 152, 160, 154, 148, 149, 161, 178,
+  195, 208, 232, 237, 241, 242, 241, 240, 239, 239, 241, 241, 241, 241, 241, 241,
+  241, 241, 240, 241, 238, 233, 228, 221, 207, 190, 174, 161, 139, 134, 123, 111,
+  107, 81, 139, 170, 129, 113, 58, 94, 95, 84, 132, 112, 92, 100, 82, 59,
+  25, 47, 255, 255, 255, 29, 56, 85, 107, 131, 197, 166, 185, 177, 198, 113,
+  82, 93, 111, 106, 140, 160, 175, 186, 200, 213, 221, 226, 231, 234, 239, 238,
+  237, 238, 240, 239, 236, 233, 247, 242, 243, 245, 233, 210, 195, 195, 194, 193,
+  191, 189, 178, 170, 173, 184, 186, 191, 195, 199, 210, 219, 220, 213, 212, 208,
+  207, 208, 210, 212, 212, 211, 216, 209, 200, 192, 188, 183, 174, 168, 162, 168,
+  177, 189, 200, 206, 207, 207, 229, 234, 239, 242, 242, 242, 242, 242, 241, 241,
+  241, 241, 241, 241, 241, 241, 240, 241, 237, 232, 229, 221, 206, 188, 176, 163,
+  141, 137, 124, 112, 108, 82, 150, 188, 150, 148, 78, 119, 117, 113, 113, 112,
+  79, 103, 73, 69, 28, 39, 108, 255, 255, 37, 76, 101, 134, 155, 167, 196,
+  201, 185, 210, 132, 83, 89, 106, 107, 137, 159, 172, 184, 196, 212, 225, 223,
+  222, 235, 237, 236, 234, 236, 238, 238, 237, 236, 239, 244, 247, 239, 220, 201,
+  195, 198, 203, 204, 206, 206, 203, 201, 199, 198, 203, 206, 210, 216, 223, 229,
+  232, 233, 225, 224, 224, 224, 224, 226, 227, 229, 221, 220, 216, 210, 205, 199,
+  194, 193, 195, 198, 206, 211, 216, 219, 219, 221, 228, 235, 242, 244, 241, 239,
+  240, 242, 240, 240, 240, 240, 240, 240, 240, 240, 241, 240, 236, 232, 230, 226,
+  211, 196, 177, 172, 144, 131, 132, 118, 101, 86, 164, 193, 179, 179, 146, 114,
+  154, 169, 195, 155, 165, 149, 100, 54, 59, 27, 45, 255, 255, 36, 70, 169,
+  179, 134, 177, 200, 206, 218, 213, 140, 77, 93, 105, 110, 132, 159, 171, 185,
+  197, 210, 224, 223, 221, 233, 236, 233, 232, 233, 236, 238, 238, 237, 241, 244,
+  244, 237, 221, 207, 206, 212, 219, 220, 223, 224, 221, 220, 219, 218, 215, 216,
+  219, 224, 228, 232, 233, 233, 230, 228, 227, 228, 229, 230, 231, 233, 234, 234,
+  232, 230, 226, 224, 222, 221, 215, 219, 223, 227, 229, 231, 230, 230, 230, 236,
+  242, 243, 241, 239, 240, 242, 240, 240, 240, 240, 240, 240, 240, 240, 241, 240,
+  237, 231, 227, 223, 210, 198, 172, 166, 143, 129, 129, 119, 105, 98, 186, 212,
+  199, 206, 185, 159, 187, 191, 216, 212, 183, 166, 173, 99, 52, 50, 39, 255,
+  255, 37, 87, 223, 213, 193, 146, 202, 203, 225, 220, 156, 69, 95, 100, 113,
+  125, 162, 171, 186, 196, 208, 221, 222, 221, 232, 233, 231, 228, 229, 234, 237,
+  238, 239, 243, 242, 240, 235, 223, 215, 218, 226, 229, 231, 233, 235, 234, 234,
+  234, 233, 228, 228, 230, 232, 234, 235, 234, 233, 233, 233, 232, 233, 233, 235,
+  237, 238, 240, 240, 240, 239, 238, 237, 237, 238, 229, 231, 233, 235, 236, 235,
+  234, 232, 232, 236, 242, 243, 241, 239, 240, 242, 240, 240, 240, 240, 240, 239,
+  239, 239, 240, 242, 238, 231, 224, 218, 208, 199, 169, 161, 143, 128, 124, 116,
+  108, 114, 202, 221, 215, 230, 222, 202, 215, 208, 206, 223, 190, 175, 212, 152,
+  85, 50, 34, 255, 255, 37, 94, 218, 244, 217, 188, 166, 197, 214, 228, 178,
+  65, 95, 94, 118, 122, 167, 170, 186, 196, 206, 219, 221, 221, 231, 230, 227,
+  225, 227, 231, 237, 239, 241, 242, 240, 239, 236, 228, 223, 225, 232, 233, 235,
+  238, 240, 239, 240, 240, 240, 238, 236, 238, 238, 239, 238, 238, 237, 237, 236,
+  235, 236, 237, 239, 240, 242, 243, 243, 241, 240, 239, 238, 237, 237, 234, 235,
+  237, 238, 238, 236, 234, 233, 234, 237, 241, 242, 241, 240, 241, 242, 240, 240,
+  240, 239, 239, 239, 239, 238, 239, 242, 239, 230, 221, 215, 207, 200, 169, 157,
+  144, 125, 119, 114, 109, 130, 206, 223, 222, 237, 238, 224, 229, 217, 212, 218,
+  219, 207, 213, 208, 176, 49, 35, 111, 255, 37, 54, 244, 210, 240, 206, 192,
+  163, 229, 231, 200, 66, 90, 91, 121, 123, 171, 169, 186, 195, 204, 217, 220,
+  221, 229, 228, 226, 224, 225, 230, 236, 240, 240, 240, 239, 239, 240, 236, 230,
+  229, 233, 239, 242, 245, 245, 245, 244, 245, 246, 240, 239, 240, 242, 242, 242,
+  242, 240, 240, 239, 238, 239, 240, 242, 243, 244, 246, 245, 244, 243, 242, 241,
+  240, 240, 239, 240, 242, 242, 241, 240, 239, 238, 237, 239, 242, 243, 242, 242,
+  242, 242, 241, 241, 241, 240, 240, 239, 239, 238, 239, 242, 239, 229, 219, 213,
+  206, 198, 172, 153, 146, 125, 117, 112, 108, 143, 212, 229, 233, 242, 241, 233,
+  236, 228, 232, 222, 236, 231, 212, 228, 224, 58, 39, 42, 255, 39, 53, 230,
+  234, 218, 224, 179, 205, 212, 224, 217, 76, 85, 94, 121, 127, 169, 167, 187,
+  195, 201, 214, 220, 221, 228, 227, 226, 225, 227, 231, 237, 240, 240, 240, 238,
+  238, 242, 240, 235, 232, 233, 242, 245, 245, 244, 243, 243, 244, 245, 240, 240,
+  241, 242, 244, 244, 244, 242, 241, 240, 239, 240, 241, 243, 244, 244, 242, 242,
+  242, 243, 244, 244, 245, 245, 241, 242, 242, 242, 242, 241, 240, 240, 239, 240,
+  241, 242, 243, 243, 242, 242, 241, 241, 240, 240, 239, 238, 238, 238, 239, 241,
+  237, 229, 220, 214, 204, 194, 176, 150, 147, 125, 116, 115, 108, 153, 216, 231,
+  239, 240, 239, 237, 237, 237, 232, 223, 221, 229, 226, 222, 219, 83, 43, 43,
+  255, 41, 63, 233, 234, 246, 197, 189, 233, 210, 210, 226, 86, 81, 98, 121,
+  127, 160, 167, 186, 195, 200, 212, 219, 221, 227, 226, 225, 225, 229, 233, 238,
+  240, 238, 240, 236, 237, 242, 244, 241, 238, 238, 242, 243, 243, 241, 239, 238,
+  239, 240, 239, 239, 241, 242, 242, 243, 242, 242, 240, 239, 239, 240, 240, 242,
+  243, 243, 238, 236, 238, 240, 240, 242, 243, 244, 242, 241, 242, 241, 240, 238,
+  237, 237, 240, 241, 241, 242, 243, 243, 243, 242, 241, 241, 240, 240, 239, 238,
+  237, 237, 239, 239, 236, 228, 222, 216, 203, 190, 178, 147, 147, 125, 118, 119,
+  110, 162, 218, 231, 241, 237, 236, 240, 238, 238, 234, 232, 220, 236, 244, 232,
+  228, 104, 48, 43, 255, 42, 50, 239, 239, 227, 230, 179, 232, 234, 198, 228,
+  93, 78, 103, 120, 128, 154, 167, 187, 195, 198, 210, 218, 221, 226, 226, 227,
+  228, 231, 235, 238, 239, 237, 241, 237, 237, 242, 246, 244, 243, 244, 245, 245,
+  244, 242, 240, 239, 240, 241, 240, 241, 241, 241, 242, 241, 241, 240, 241, 240,
+  239, 240, 240, 242, 243, 243, 240, 239, 239, 240, 240, 241, 242, 241, 246, 245,
+  245, 242, 242, 239, 238, 238, 241, 240, 240, 240, 242, 243, 243, 242, 240, 241,
+  240, 239, 238, 237, 236, 236, 240, 239, 233, 228, 225, 218, 204, 188, 180, 145,
+  148, 126, 120, 122, 113, 167, 221, 231, 242, 238, 237, 245, 241, 241, 234, 228,
+  225, 237, 228, 231, 239, 82, 52, 46, 255, 43, 34, 234, 233, 226, 211, 183,
+  221, 225, 198, 184, 109, 78, 97, 108, 134, 157, 170, 186, 193, 198, 212, 218,
+  218, 224, 226, 228, 230, 234, 237, 240, 239, 239, 239, 239, 241, 242, 242, 242,
+  241, 242, 243, 243, 242, 242, 242, 242, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 242, 241, 240, 239, 239, 240, 242, 242, 241, 240, 241, 241, 241, 241,
+  242, 242, 242, 242, 242, 242, 241, 241, 240, 241, 241, 241, 240, 239, 239, 239,
+  240, 240, 241, 238, 236, 237, 237, 235, 236, 240, 240, 240, 237, 231, 222, 213,
+  207, 201, 179, 162, 155, 112, 120, 119, 128, 174, 218, 239, 238, 236, 242, 237,
+  232, 247, 233, 229, 215, 231, 239, 233, 228, 82, 50, 45, 255, 42, 49, 230,
+  239, 232, 215, 170, 203, 202, 205, 171, 103, 81, 91, 124, 139, 165, 173, 187,
+  193, 197, 211, 217, 217, 224, 226, 228, 231, 234, 236, 237, 235, 235, 239, 240,
+  241, 242, 243, 243, 241, 241, 242, 242, 242, 242, 242, 242, 242, 242, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 240, 240, 240, 240, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  240, 240, 240, 239, 239, 240, 241, 237, 236, 238, 238, 235, 237, 241, 240, 239,
+  236, 231, 223, 216, 208, 202, 184, 162, 155, 119, 128, 122, 134, 176, 207, 221,
+  228, 230, 234, 234, 236, 245, 230, 223, 220, 236, 234, 231, 231, 86, 49, 44,
+  255, 41, 55, 218, 234, 235, 207, 169, 207, 207, 225, 159, 110, 84, 80, 125,
+  130, 157, 175, 190, 194, 197, 209, 216, 216, 223, 226, 228, 231, 233, 234, 234,
+  233, 234, 239, 239, 240, 241, 242, 242, 241, 241, 243, 243, 243, 243, 243, 243,
+  243, 243, 242, 242, 242, 242, 242, 242, 242, 242, 242, 241, 241, 240, 240, 241,
+  241, 242, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 240, 240, 240, 241, 237, 236, 239, 239, 236,
+  238, 241, 241, 239, 235, 230, 223, 216, 207, 202, 181, 155, 147, 119, 127, 118,
+  137, 177, 205, 209, 221, 229, 229, 235, 241, 238, 229, 214, 224, 242, 229, 231,
+  236, 87, 49, 44, 255, 40, 55, 220, 228, 234, 182, 183, 221, 229, 231, 144,
+  130, 85, 76, 115, 123, 151, 175, 191, 195, 197, 209, 215, 217, 223, 227, 230,
+  233, 234, 233, 232, 232, 233, 238, 238, 239, 241, 241, 242, 241, 241, 243, 243,
+  243, 243, 243, 243, 243, 243, 242, 242, 242, 242, 242, 242, 242, 242, 242, 241,
+  240, 240, 240, 240, 241, 242, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 242, 241, 242, 240, 240, 240, 237,
+  237, 239, 239, 237, 238, 242, 241, 237, 234, 230, 224, 217, 208, 202, 178, 151,
+  141, 121, 122, 112, 146, 188, 215, 211, 225, 236, 230, 236, 243, 233, 231, 205,
+  226, 244, 227, 236, 237, 84, 51, 46, 255, 40, 56, 238, 233, 240, 163, 204,
+  226, 236, 221, 135, 156, 91, 82, 105, 129, 156, 175, 190, 195, 198, 209, 215,
+  216, 223, 227, 231, 235, 235, 233, 231, 231, 233, 236, 237, 238, 240, 240, 240,
+  240, 241, 243, 243, 243, 243, 243, 243, 243, 243, 241, 241, 241, 241, 241, 241,
+  241, 241, 238, 238, 237, 236, 236, 237, 238, 238, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 242, 242, 241, 241,
+  239, 238, 240, 236, 236, 239, 239, 237, 238, 241, 241, 238, 232, 229, 224, 217,
+  209, 201, 179, 156, 145, 125, 120, 114, 166, 206, 220, 215, 230, 240, 234, 238,
+  245, 233, 232, 200, 225, 242, 229, 241, 230, 74, 52, 255, 255, 39, 44, 238,
+  236, 241, 175, 229, 230, 236, 225, 163, 185, 110, 85, 100, 126, 155, 171, 189,
+  195, 198, 211, 218, 218, 222, 225, 230, 235, 236, 232, 230, 231, 233, 235, 236,
+  236, 239, 240, 240, 241, 240, 241, 242, 242, 242, 242, 242, 242, 242, 239, 239,
+  239, 239, 239, 239, 239, 239, 235, 234, 233, 233, 233, 233, 234, 235, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 242, 242,
+  241, 242, 240, 239, 236, 234, 237, 235, 234, 238, 239, 236, 237, 240, 241, 236,
+  230, 228, 224, 218, 209, 200, 177, 157, 142, 123, 117, 119, 185, 215, 215, 219,
+  230, 239, 237, 240, 243, 239, 230, 200, 226, 237, 231, 240, 216, 64, 51, 255,
+  255, 39, 38, 222, 228, 226, 203, 240, 235, 239, 236, 205, 200, 134, 78, 102,
+  116, 150, 168, 187, 195, 200, 213, 219, 218, 222, 222, 228, 234, 234, 230, 229,
+  229, 233, 233, 235, 236, 237, 239, 240, 241, 241, 240, 240, 241, 241, 241, 241,
+  241, 241, 238, 238, 238, 238, 238, 238, 238, 238, 237, 236, 236, 235, 235, 236,
+  236, 237, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 242, 242, 241, 242, 239, 236, 232, 230, 234, 233, 234, 237, 239, 236,
+  236, 238, 240, 236, 229, 226, 225, 218, 209, 200, 173, 155, 137, 119, 119, 130,
+  200, 213, 210, 225, 232, 237, 242, 239, 237, 244, 223, 203, 230, 236, 232, 235,
+  198, 58, 49, 255, 255, 39, 50, 212, 224, 210, 224, 234, 233, 236, 234, 226,
+  195, 147, 71, 112, 114, 155, 166, 186, 195, 201, 216, 219, 217, 221, 219, 225,
+  231, 232, 228, 226, 228, 232, 232, 233, 234, 237, 238, 239, 240, 241, 239, 239,
+  239, 240, 240, 240, 240, 240, 237, 237, 237, 237, 237, 237, 237, 237, 242, 242,
+  241, 240, 240, 241, 242, 242, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 242, 242, 243, 241, 238, 234, 230, 228, 233, 231,
+  233, 237, 237, 235, 234, 237, 240, 234, 228, 226, 224, 219, 208, 199, 176, 159,
+  137, 122, 127, 146, 215, 215, 210, 233, 237, 237, 245, 238, 233, 247, 217, 207,
+  235, 235, 232, 230, 185, 56, 117, 255, 255, 39, 57, 201, 202, 181, 223, 238,
+  240, 237, 243, 229, 200, 177, 73, 100, 105, 156, 167, 181, 195, 204, 211, 216,
+  218, 217, 224, 225, 229, 233, 231, 226, 226, 229, 226, 228, 232, 236, 239, 240,
+  240, 239, 238, 238, 238, 238, 238, 237, 237, 237, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 240, 240, 240, 241, 241, 242,
+  242, 242, 241, 241, 240, 239, 238, 238, 238, 238, 237, 239, 238, 236, 237, 239,
+  237, 231, 229, 232, 235, 237, 238, 239, 238, 237, 240, 236, 230, 225, 222, 219,
+  206, 193, 181, 156, 140, 104, 138, 173, 209, 228, 233, 236, 238, 241, 242, 243,
+  242, 242, 224, 219, 228, 237, 239, 229, 103, 47, 255, 255, 255, 183, 46, 184,
+  202, 159, 224, 237, 234, 239, 241, 245, 161, 209, 70, 84, 121, 138, 167, 179,
+  192, 199, 206, 213, 217, 217, 221, 222, 226, 230, 228, 223, 222, 225, 225, 228,
+  231, 235, 237, 238, 238, 239, 235, 237, 237, 238, 239, 238, 238, 237, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 240, 240,
+  240, 241, 241, 242, 242, 242, 240, 240, 239, 238, 238, 238, 239, 239, 238, 241,
+  239, 238, 238, 239, 235, 230, 228, 230, 234, 238, 239, 239, 238, 237, 237, 234,
+  227, 221, 218, 215, 203, 191, 176, 146, 143, 122, 122, 189, 219, 228, 235, 238,
+  240, 241, 242, 243, 242, 241, 219, 221, 237, 241, 235, 227, 82, 40, 255, 255,
+  255, 255, 32, 152, 206, 147, 226, 237, 232, 239, 238, 195, 208, 197, 121, 69,
+  122, 133, 167, 178, 189, 194, 200, 209, 214, 217, 218, 220, 223, 226, 225, 219,
+  218, 221, 224, 226, 229, 233, 235, 235, 236, 237, 232, 234, 237, 239, 241, 240,
+  240, 238, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 240, 240, 241, 241, 241, 241, 242, 242, 239, 239, 238, 238, 238, 239,
+  240, 240, 240, 242, 241, 240, 239, 239, 234, 228, 225, 229, 234, 239, 241, 240,
+  239, 237, 238, 233, 225, 218, 215, 213, 203, 191, 173, 137, 143, 126, 108, 205,
+  227, 231, 238, 240, 241, 241, 242, 242, 242, 242, 218, 226, 241, 238, 226, 201,
+  62, 255, 255, 255, 255, 255, 25, 108, 215, 161, 224, 233, 236, 227, 206, 161,
+  247, 190, 191, 67, 114, 133, 162, 174, 187, 194, 198, 206, 213, 215, 217, 218,
+  221, 224, 222, 216, 215, 218, 223, 225, 227, 229, 231, 233, 233, 234, 229, 231,
+  236, 240, 242, 242, 241, 239, 241, 241, 240, 241, 240, 241, 240, 241, 240, 241,
+  240, 241, 240, 241, 240, 241, 241, 241, 241, 241, 241, 241, 241, 241, 238, 238,
+  238, 238, 239, 240, 241, 241, 240, 243, 242, 239, 239, 239, 233, 226, 225, 229,
+  234, 239, 242, 241, 238, 235, 238, 234, 225, 219, 216, 214, 203, 191, 171, 136,
+  136, 110, 121, 215, 226, 234, 239, 240, 240, 241, 241, 242, 242, 241, 225, 233,
+  235, 230, 221, 145, 54, 255, 255, 255, 255, 255, 28, 66, 207, 189, 215, 224,
+  236, 212, 174, 202, 201, 225, 224, 110, 102, 129, 153, 167, 184, 192, 197, 203,
+  209, 212, 215, 217, 220, 224, 222, 216, 215, 218, 222, 223, 225, 227, 228, 230,
+  231, 232, 227, 230, 235, 240, 242, 242, 241, 240, 240, 240, 240, 240, 240, 240,
+  240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 241, 241, 241, 241, 241, 241,
+  241, 241, 238, 238, 238, 238, 239, 240, 241, 241, 240, 241, 240, 238, 237, 238,
+  233, 226, 225, 229, 235, 239, 242, 241, 238, 234, 236, 231, 223, 217, 215, 212,
+  201, 188, 165, 140, 132, 104, 169, 225, 218, 227, 239, 239, 240, 241, 241, 241,
+  240, 240, 229, 235, 231, 227, 219, 87, 56, 255, 255, 255, 255, 255, 255, 38,
+  163, 196, 195, 210, 217, 201, 198, 221, 196, 232, 238, 193, 82, 133, 143, 159,
+  178, 187, 193, 200, 205, 210, 214, 215, 218, 223, 221, 216, 214, 218, 220, 221,
+  222, 224, 226, 227, 229, 229, 227, 230, 234, 239, 240, 242, 242, 241, 240, 240,
+  240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 242, 242,
+  241, 241, 241, 241, 240, 240, 239, 239, 238, 238, 238, 239, 240, 240, 238, 239,
+  238, 234, 234, 235, 233, 227, 227, 230, 234, 238, 241, 239, 237, 234, 229, 226,
+  219, 213, 210, 206, 195, 182, 157, 142, 128, 129, 221, 234, 216, 220, 236, 237,
+  238, 241, 241, 241, 239, 238, 224, 229, 233, 222, 190, 55, 255, 255, 255, 255,
+  255, 255, 255, 27, 93, 169, 172, 191, 183, 201, 220, 200, 228, 220, 239, 238,
+  72, 133, 136, 151, 169, 179, 185, 193, 202, 208, 210, 211, 216, 220, 220, 215,
+  215, 218, 219, 220, 221, 222, 224, 225, 227, 228, 229, 232, 234, 238, 240, 241,
+  242, 242, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
+  240, 240, 242, 242, 242, 241, 241, 240, 240, 240, 240, 240, 239, 238, 238, 238,
+  239, 239, 237, 238, 235, 231, 231, 234, 233, 229, 230, 232, 235, 237, 239, 238,
+  236, 235, 225, 223, 218, 213, 210, 205, 191, 178, 157, 137, 115, 167, 238, 235,
+  224, 220, 231, 234, 237, 241, 242, 240, 239, 237, 219, 217, 234, 197, 124, 48,
+  255, 255, 255, 255, 255, 255, 255, 255, 40, 138, 156, 177, 155, 204, 194, 205,
+  213, 237, 222, 221, 84, 112, 131, 146, 163, 171, 177, 188, 201, 209, 208, 209,
+  214, 219, 219, 215, 215, 219, 219, 219, 220, 219, 222, 223, 224, 227, 230, 231,
+  233, 236, 238, 240, 242, 242, 240, 240, 240, 240, 240, 240, 240, 240, 240, 240,
+  240, 240, 240, 240, 240, 240, 241, 242, 242, 241, 241, 240, 240, 240, 241, 241,
+  240, 239, 238, 238, 238, 237, 236, 236, 232, 228, 228, 233, 233, 231, 232, 234,
+  236, 237, 236, 236, 234, 233, 224, 223, 219, 214, 211, 205, 192, 177, 162, 132,
+  101, 192, 230, 231, 234, 227, 229, 233, 237, 241, 241, 239, 235, 232, 215, 207,
+  229, 169, 62, 120, 255, 255, 255, 255, 255, 255, 255, 255, 51, 58, 127, 175,
+  152, 185, 163, 221, 220, 224, 231, 220, 53, 103, 113, 151, 163, 172, 184, 189,
+  203, 204, 202, 206, 213, 219, 219, 216, 214, 210, 219, 218, 217, 215, 215, 216,
+  218, 220, 221, 227, 234, 239, 238, 238, 238, 241, 242, 242, 242, 242, 242, 242,
+  242, 242, 241, 241, 241, 241, 241, 241, 241, 240, 240, 240, 240, 241, 241, 242,
+  242, 242, 245, 243, 243, 240, 237, 235, 234, 232, 236, 235, 233, 231, 230, 229,
+  230, 231, 233, 232, 232, 231, 232, 231, 229, 227, 223, 222, 216, 209, 204, 199,
+  182, 165, 149, 125, 102, 189, 238, 228, 249, 219, 230, 226, 221, 253, 213, 230,
+  227, 198, 194, 230, 174, 76, 48, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 31, 80, 129, 115, 192, 218, 233, 228, 236, 241, 196, 62, 96, 112, 149,
+  156, 163, 173, 180, 197, 200, 204, 209, 213, 217, 219, 219, 217, 216, 218, 217,
+  216, 214, 213, 215, 215, 218, 219, 225, 232, 236, 238, 238, 239, 240, 242, 242,
+  242, 242, 242, 242, 242, 242, 241, 241, 241, 241, 241, 241, 241, 241, 240, 240,
+  240, 241, 241, 242, 242, 242, 243, 242, 240, 239, 236, 234, 231, 230, 234, 233,
+  232, 230, 230, 229, 231, 231, 233, 232, 231, 230, 231, 229, 226, 223, 220, 219,
+  212, 204, 198, 188, 171, 154, 146, 120, 132, 208, 227, 248, 233, 222, 219, 234,
+  217, 195, 227, 219, 212, 178, 227, 186, 104, 46, 113, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 49, 88, 141, 105, 199, 200, 207, 228, 240, 206, 120,
+  42, 62, 101, 139, 148, 155, 164, 170, 188, 192, 204, 206, 210, 212, 215, 218,
+  219, 220, 217, 215, 214, 213, 213, 215, 215, 219, 218, 223, 229, 234, 237, 238,
+  239, 241, 242, 242, 242, 242, 242, 242, 242, 242, 241, 241, 241, 241, 241, 241,
+  241, 241, 240, 240, 240, 241, 241, 242, 242, 242, 242, 241, 239, 238, 235, 234,
+  230, 230, 233, 232, 231, 230, 230, 229, 229, 229, 231, 232, 230, 231, 230, 227,
+  222, 219, 218, 216, 211, 203, 196, 185, 167, 151, 142, 117, 114, 204, 219, 242,
+  236, 245, 203, 224, 184, 219, 187, 198, 178, 208, 178, 106, 45, 39, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 177, 47, 125, 93, 200, 221, 229,
+  233, 219, 137, 65, 111, 255, 83, 126, 141, 152, 160, 165, 179, 182, 196, 199,
+  205, 209, 214, 217, 218, 218, 216, 214, 213, 213, 214, 215, 218, 220, 217, 221,
+  226, 232, 236, 237, 239, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 240, 240, 240, 241, 241, 242, 242, 242, 242, 241,
+  239, 238, 236, 234, 231, 231, 231, 231, 230, 230, 229, 229, 229, 229, 230, 229,
+  229, 228, 227, 224, 218, 213, 213, 209, 205, 198, 191, 178, 162, 149, 136, 119,
+  62, 173, 238, 222, 242, 245, 216, 189, 198, 224, 187, 170, 200, 200, 80, 46,
+  37, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 34, 89,
+  75, 201, 199, 219, 202, 178, 88, 63, 255, 255, 73, 117, 134, 144, 152, 156,
+  171, 174, 186, 192, 200, 209, 215, 217, 218, 216, 215, 214, 213, 213, 214, 216,
+  219, 221, 218, 220, 224, 229, 234, 238, 239, 240, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 240, 240, 240, 241, 241, 242,
+  242, 242, 243, 242, 240, 239, 237, 236, 233, 233, 229, 229, 230, 229, 229, 228,
+  228, 227, 228, 227, 225, 224, 223, 220, 214, 210, 205, 201, 194, 188, 178, 164,
+  148, 138, 131, 112, 48, 111, 239, 230, 233, 226, 211, 182, 171, 183, 174, 181,
+  167, 95, 45, 34, 44, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 33, 41, 164, 173, 205, 181, 136, 50, 255, 255, 255, 66, 109,
+  124, 132, 138, 143, 162, 167, 178, 185, 195, 205, 213, 217, 217, 215, 213, 212,
+  212, 212, 214, 216, 219, 221, 219, 220, 222, 227, 232, 237, 237, 237, 240, 240,
+  240, 240, 240, 240, 240, 240, 241, 241, 241, 241, 241, 241, 241, 241, 240, 240,
+  240, 241, 241, 242, 242, 242, 243, 242, 241, 240, 238, 237, 234, 234, 227, 228,
+  229, 229, 228, 228, 227, 227, 227, 225, 222, 220, 219, 217, 212, 208, 206, 198,
+  190, 183, 171, 154, 140, 134, 133, 83, 64, 35, 173, 240, 226, 235, 205, 193,
+  131, 179, 171, 165, 73, 33, 49, 31, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 28, 55, 126, 174, 183, 155, 83, 104, 255,
+  255, 255, 42, 92, 113, 127, 135, 138, 153, 155, 171, 177, 186, 196, 203, 210,
+  212, 212, 210, 209, 209, 209, 211, 214, 217, 219, 220, 220, 221, 225, 231, 236,
+  235, 234, 240, 240, 240, 240, 240, 240, 240, 240, 241, 241, 241, 241, 241, 241,
+  241, 241, 240, 240, 240, 241, 241, 242, 242, 242, 241, 241, 239, 239, 237, 236,
+  234, 233, 226, 226, 227, 229, 228, 227, 226, 225, 225, 222, 218, 216, 214, 213,
+  210, 209, 200, 191, 183, 177, 167, 151, 141, 139, 128, 49, 66, 23, 93, 195,
+  207, 230, 209, 163, 144, 169, 179, 85, 45, 44, 42, 31, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 183, 37, 15, 35, 36,
+  50, 100, 255, 255, 255, 255, 16, 73, 107, 131, 141, 141, 147, 144, 165, 169,
+  176, 184, 193, 202, 207, 208, 207, 206, 206, 207, 209, 212, 215, 217, 221, 220,
+  221, 225, 231, 234, 234, 232, 240, 240, 240, 240, 240, 240, 240, 240, 241, 241,
+  241, 241, 241, 241, 241, 241, 240, 240, 240, 241, 241, 242, 242, 242, 240, 239,
+  238, 237, 236, 235, 233, 232, 225, 226, 227, 228, 227, 227, 226, 225, 224, 220,
+  216, 211, 211, 211, 210, 208, 187, 179, 171, 169, 160, 149, 142, 144, 114, 31,
+  63, 70, 60, 126, 172, 189, 170, 121, 104, 154, 89, 51, 35, 34, 39, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  37, 33, 37, 37, 110, 255, 255, 255, 255, 255, 39, 38, 89, 126, 143, 132,
+  145, 136, 157, 152, 161, 182, 196, 197, 199, 205, 209, 209, 209, 210, 211, 212,
+  213, 215, 215, 219, 223, 227, 229, 231, 234, 236, 237, 238, 238, 239, 239, 240,
+  240, 240, 241, 241, 241, 241, 241, 241, 241, 241, 240, 240, 240, 241, 241, 242,
+  242, 242, 242, 241, 239, 236, 233, 230, 226, 225, 229, 227, 226, 226, 226, 225,
+  222, 219, 225, 211, 206, 215, 214, 202, 197, 203, 191, 166, 184, 171, 160, 148,
+  166, 140, 85, 93, 61, 61, 72, 58, 139, 145, 144, 124, 97, 69, 49, 40,
+  39, 43, 113, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 40, 33,
+  74, 107, 129, 123, 136, 130, 146, 153, 162, 173, 185, 196, 199, 200, 205, 205,
+  206, 207, 208, 210, 212, 214, 215, 220, 224, 228, 230, 232, 235, 238, 238, 239,
+  239, 239, 240, 240, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 240, 240,
+  240, 241, 241, 242, 242, 242, 242, 241, 239, 237, 235, 233, 230, 230, 229, 227,
+  225, 225, 225, 224, 222, 221, 220, 214, 211, 210, 208, 203, 197, 193, 181, 160,
+  174, 162, 154, 145, 151, 117, 65, 72, 78, 58, 57, 48, 81, 94, 90, 80,
+  64, 50, 41, 38, 39, 42, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 49, 35, 61, 88, 121, 122, 138, 132, 137, 151, 162, 165, 174, 192,
+  198, 195, 202, 204, 204, 206, 209, 211, 212, 213, 215, 220, 224, 228, 229, 234,
+  237, 240, 240, 240, 240, 241, 241, 241, 242, 242, 241, 241, 241, 241, 241, 241,
+  241, 241, 240, 240, 240, 241, 241, 242, 242, 242, 241, 241, 239, 239, 237, 236,
+  234, 234, 230, 226, 223, 223, 222, 224, 222, 221, 215, 218, 215, 206, 201, 201,
+  194, 183, 180, 163, 170, 160, 157, 152, 139, 92, 56, 58, 98, 57, 43, 46,
+  36, 59, 48, 47, 44, 43, 41, 43, 42, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 36, 52, 74, 116, 125, 141, 138, 134, 147,
+  158, 163, 170, 183, 193, 195, 206, 208, 209, 210, 213, 214, 214, 215, 216, 220,
+  224, 228, 230, 235, 239, 243, 242, 242, 242, 242, 242, 242, 242, 242, 241, 241,
+  241, 241, 241, 241, 241, 241, 240, 240, 240, 241, 241, 242, 242, 242, 241, 241,
+  239, 238, 237, 236, 233, 233, 230, 226, 223, 221, 221, 222, 223, 222, 214, 215,
+  212, 205, 199, 194, 187, 179, 180, 169, 169, 164, 162, 155, 124, 72, 61, 61,
+  93, 50, 33, 48, 31, 52, 42, 45, 46, 48, 48, 116, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 32, 41, 59, 108, 121,
+  138, 140, 141, 142, 152, 164, 171, 174, 183, 197, 208, 211, 213, 214, 213, 214,
+  214, 213, 216, 219, 223, 226, 229, 234, 239, 243, 243, 243, 243, 242, 242, 242,
+  242, 242, 241, 241, 241, 241, 241, 241, 241, 241, 240, 240, 240, 241, 241, 242,
+  242, 242, 241, 241, 239, 237, 234, 233, 230, 229, 229, 225, 222, 221, 221, 222,
+  222, 221, 216, 206, 204, 207, 199, 183, 177, 181, 174, 169, 163, 163, 158, 148,
+  103, 56, 60, 66, 63, 41, 29, 44, 43, 46, 43, 44, 46, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31,
+  37, 50, 101, 117, 134, 144, 148, 142, 147, 162, 170, 168, 176, 192, 204, 208,
+  210, 212, 212, 213, 211, 212, 217, 220, 223, 225, 228, 233, 238, 242, 243, 243,
+  243, 242, 242, 242, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 240, 240,
+  240, 241, 241, 242, 242, 242, 240, 239, 237, 236, 233, 231, 228, 227, 227, 224,
+  222, 220, 221, 222, 221, 219, 215, 202, 198, 205, 196, 177, 174, 184, 170, 170,
+  161, 166, 153, 136, 87, 55, 58, 68, 41, 44, 35, 41, 48, 38, 111, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 38, 40, 46, 96, 111, 132, 149, 148, 146, 148, 155, 162, 169,
+  173, 181, 197, 202, 206, 210, 211, 213, 212, 213, 218, 220, 222, 224, 226, 231,
+  236, 241, 243, 242, 242, 242, 241, 241, 240, 240, 241, 241, 241, 241, 241, 241,
+  241, 241, 240, 240, 240, 241, 241, 242, 242, 242, 238, 237, 236, 235, 233, 232,
+  229, 229, 225, 223, 221, 221, 223, 223, 221, 218, 208, 202, 198, 196, 188, 178,
+  177, 182, 167, 172, 162, 171, 149, 124, 76, 61, 59, 64, 36, 50, 40, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 40, 42, 42, 90, 104, 127, 150, 145, 150,
+  149, 147, 154, 171, 175, 171, 194, 199, 203, 209, 212, 215, 216, 217, 218, 221,
+  222, 223, 225, 229, 234, 238, 242, 242, 242, 241, 241, 240, 240, 239, 241, 241,
+  241, 241, 241, 241, 241, 241, 240, 241, 240, 241, 241, 242, 241, 242, 236, 235,
+  234, 235, 234, 233, 232, 232, 224, 223, 221, 223, 224, 223, 220, 217, 202, 204,
+  200, 188, 181, 182, 182, 179, 164, 171, 159, 170, 142, 113, 68, 68, 63, 56,
+  36, 47, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 38, 43, 48, 88, 100,
+  128, 146, 154, 146, 154, 158, 151, 166, 183, 178, 190, 195, 201, 206, 211, 215,
+  220, 223, 219, 222, 224, 226, 229, 231, 233, 236, 238, 239, 240, 242, 242, 241,
+  240, 239, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 242, 243, 243, 241,
+  239, 238, 234, 232, 231, 230, 230, 230, 231, 232, 231, 232, 231, 229, 226, 221,
+  215, 212, 202, 204, 206, 196, 183, 175, 178, 183, 166, 176, 161, 164, 131, 106,
+  63, 58, 53, 50, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 38,
+  41, 44, 82, 98, 126, 145, 156, 154, 158, 158, 158, 171, 185, 186, 189, 194,
+  201, 207, 210, 215, 219, 222, 221, 223, 225, 228, 230, 232, 233, 235, 236, 238,
+  240, 241, 242, 241, 241, 240, 241, 241, 241, 241, 241, 241, 241, 241, 240, 242,
+  242, 242, 242, 240, 238, 237, 233, 232, 230, 229, 228, 229, 231, 231, 237, 236,
+  231, 228, 224, 221, 217, 217, 208, 204, 197, 190, 184, 180, 180, 181, 169, 172,
+  153, 153, 121, 94, 61, 67, 53, 119, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 36, 39, 39, 77, 93, 124, 143, 152, 160, 158, 154, 162, 170,
+  175, 185, 187, 193, 200, 208, 211, 215, 217, 221, 222, 224, 225, 228, 230, 232,
+  233, 235, 235, 237, 239, 241, 242, 242, 242, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 240, 240, 240, 241, 240, 239, 237, 237, 233, 232, 231, 230, 229, 229,
+  230, 230, 235, 233, 225, 220, 216, 215, 215, 216, 212, 202, 190, 186, 187, 185,
+  182, 177, 178, 172, 152, 148, 115, 83, 60, 77, 51, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 36, 40, 38, 74, 91, 121, 139, 147, 164,
+  161, 156, 167, 168, 165, 179, 181, 188, 197, 207, 211, 215, 218, 221, 222, 224,
+  225, 227, 229, 231, 232, 234, 234, 236, 239, 241, 242, 243, 242, 242, 241, 241,
+  241, 241, 241, 241, 241, 241, 240, 240, 240, 239, 239, 238, 237, 236, 233, 233,
+  233, 231, 230, 230, 230, 231, 233, 230, 224, 219, 216, 214, 213, 214, 210, 201,
+  191, 188, 190, 189, 183, 176, 181, 170, 154, 144, 112, 69, 52, 72, 117, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 37, 43, 38, 74, 91,
+  120, 136, 147, 168, 169, 166, 175, 172, 165, 176, 177, 183, 194, 204, 210, 216,
+  219, 223, 223, 223, 224, 227, 228, 230, 231, 232, 234, 236, 239, 241, 242, 243,
+  242, 242, 241, 241, 241, 241, 241, 241, 241, 241, 240, 240, 239, 239, 238, 238,
+  237, 237, 234, 234, 234, 234, 233, 232, 231, 231, 234, 233, 230, 227, 225, 222,
+  218, 216, 206, 202, 198, 197, 195, 192, 185, 179, 174, 164, 152, 137, 107, 54,
+  37, 54, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 39,
+  45, 37, 71, 90, 120, 136, 145, 162, 171, 172, 174, 173, 169, 174, 177, 185,
+  195, 204, 210, 217, 221, 226, 224, 225, 226, 228, 229, 230, 231, 232, 235, 237,
+  239, 241, 242, 242, 242, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  240, 239, 238, 239, 238, 238, 237, 236, 237, 237, 236, 234, 232, 232, 231, 232,
+  231, 230, 228, 223, 218, 214, 204, 204, 205, 203, 200, 195, 189, 184, 175, 165,
+  156, 131, 105, 50, 33, 43, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 184, 42, 31, 64, 85, 120, 138, 144, 154, 170, 175, 171, 174,
+  181, 179, 184, 190, 198, 206, 212, 218, 223, 229, 226, 228, 228, 231, 231, 233,
+  234, 235, 236, 238, 240, 241, 242, 241, 241, 240, 241, 241, 241, 241, 241, 241,
+  241, 241, 243, 242, 240, 238, 239, 239, 239, 240, 239, 239, 239, 239, 238, 236,
+  235, 234, 228, 229, 229, 227, 225, 221, 216, 213, 209, 208, 206, 206, 204, 201,
+  194, 189, 180, 171, 159, 122, 102, 51, 40, 43, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 40, 26, 58, 82, 121, 140, 149, 152,
+  173, 181, 171, 181, 197, 191, 190, 195, 202, 208, 213, 218, 225, 230, 228, 230,
+  231, 233, 234, 235, 236, 237, 237, 239, 240, 242, 242, 241, 240, 239, 241, 241,
+  241, 241, 241, 241, 241, 241, 244, 243, 240, 239, 239, 240, 240, 241, 240, 241,
+  241, 240, 239, 238, 235, 234, 232, 232, 230, 228, 227, 224, 220, 218, 215, 210,
+  205, 205, 207, 205, 199, 192, 182, 170, 155, 111, 93, 47, 41, 42, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 38, 43, 48, 78,
+  129, 140, 164, 158, 168, 181, 179, 180, 185, 187, 197, 202, 203, 201, 205, 214,
+  222, 226, 227, 230, 233, 237, 239, 240, 240, 241, 240, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 240, 241, 241, 241, 241, 240, 239, 237, 235, 234, 231, 228, 226, 223,
+  220, 219, 210, 209, 209, 210, 210, 207, 198, 191, 186, 170, 152, 127, 98, 41,
+  47, 49, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  36, 40, 43, 73, 128, 143, 158, 154, 165, 178, 177, 177, 182, 182, 195, 202,
+  207, 206, 210, 217, 221, 223, 227, 231, 234, 237, 239, 239, 240, 240, 240, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 240, 241, 241, 241, 241, 240, 239, 238, 234, 232,
+  231, 230, 228, 227, 225, 225, 213, 211, 210, 212, 212, 209, 200, 193, 185, 167,
+  147, 121, 91, 34, 41, 45, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 39, 40, 37, 65, 123, 144, 159, 156, 167, 180, 178, 180,
+  185, 185, 193, 203, 210, 212, 215, 219, 222, 221, 227, 231, 233, 237, 238, 240,
+  240, 240, 240, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 242, 242, 242, 242, 241,
+  239, 239, 235, 234, 232, 231, 229, 228, 227, 226, 218, 216, 214, 215, 215, 211,
+  203, 194, 187, 168, 144, 116, 85, 29, 38, 43, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 45, 46, 38, 61, 118, 142, 162, 159,
+  168, 178, 176, 181, 188, 187, 195, 204, 211, 213, 215, 219, 222, 221, 226, 230,
+  233, 237, 239, 240, 240, 240, 240, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 242,
+  242, 242, 242, 241, 240, 239, 239, 237, 234, 233, 229, 226, 224, 222, 223, 220,
+  218, 218, 218, 213, 206, 198, 192, 172, 145, 115, 84, 28, 39, 45, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 47, 50, 43, 62,
+  119, 144, 162, 159, 165, 170, 168, 176, 186, 186, 198, 205, 209, 209, 211, 218,
+  222, 222, 227, 230, 233, 236, 238, 239, 240, 239, 240, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 240, 240, 241, 241, 241, 241,
+  241, 241, 240, 241, 242, 242, 242, 241, 240, 238, 238, 235, 234, 232, 228, 225,
+  223, 221, 225, 222, 221, 220, 219, 216, 209, 201, 195, 173, 147, 116, 85, 30,
+  40, 115, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 213, 210, 219, 226, 225, 226, 227, 207, 204, 210, 209, 217, 222,
+  222, 205, 207, 215, 220, 222, 227, 229, 232, 236, 238, 239, 239, 239, 240, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 240, 240,
+  241, 241, 241, 241, 241, 241, 240, 241, 242, 242, 242, 241, 240, 239, 234, 231,
+  232, 231, 229, 228, 226, 226, 226, 224, 222, 222, 221, 217, 212, 204, 192, 172,
+  147, 119, 87, 31, 39, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 249, 249, 250,
+  250, 250, 248, 246, 246, 246, 246, 246, 246, 244, 241, 241, 241, 241, 241, 241,
+  241, 241, 240, 240, 241, 241, 241, 241, 241, 241, 241, 242, 242, 242, 242, 241,
+  241, 239, 235, 233, 233, 232, 230, 229, 228, 227, 226, 224, 221, 221, 222, 219,
+  214, 207, 189, 171, 149, 122, 91, 33, 39, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 252, 250, 250, 250, 250, 250, 250, 247, 246, 246, 246, 246,
+  246, 246, 242, 241, 241, 239, 240, 237, 237, 234, 231, 229, 226, 225, 225, 224,
+  221, 221, 222, 221, 215, 208, 189, 172, 152, 126, 95, 110, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 75, 74, 73, 73,
+  73, 71, 73, 72, 71, 70, 71, 74, 74, 76, 74, 73, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 73, 65, 66, 73, 75, 69,
+  76, 78, 73, 80, 81, 59, 78, 68, 77, 63, 68, 80, 68, 67, 63, 71,
+  68, 75, 71, 62, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 69, 78, 75, 73, 70, 64, 64, 69,
+  71, 70, 63, 78, 72, 38, 72, 76, 84, 76, 79, 62, 67, 64, 61, 167,
+  70, 61, 66, 74, 64, 67, 66, 62, 72, 66, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 195, 61, 71, 76, 79, 67, 59, 63,
+  62, 56, 59, 70, 69, 59, 60, 60, 85, 60, 83, 79, 97, 62, 52, 89,
+  57, 106, 56, 94, 68, 74, 56, 61, 50, 57, 65, 67, 77, 66, 72, 75,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 191, 68, 46, 56, 70, 68, 65, 43, 69, 78,
+  76, 43, 48, 51, 56, 61, 69, 72, 64, 53, 59, 51, 49, 88, 143, 66,
+  38, 106, 91, 67, 77, 76, 68, 82, 48, 68, 55, 52, 42, 61, 71, 63,
+  70, 70, 71, 73, 72, 133, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 189, 60, 50, 64, 72, 47, 59, 78, 51,
+  50, 54, 77, 60, 57, 50, 60, 50, 53, 68, 74, 63, 55, 56, 32, 61,
+  62, 58, 53, 95, 94, 70, 87, 68, 82, 50, 78, 97, 80, 60, 76, 63,
+  55, 80, 80, 51, 55, 63, 72, 72, 73, 72, 74, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 191, 69, 55, 69, 72, 56, 55, 53,
+  59, 96, 64, 57, 63, 58, 63, 54, 58, 57, 69, 47, 41, 52, 54, 41,
+  41, 55, 38, 76, 40, 47, 56, 74, 43, 76, 39, 70, 57, 78, 69, 50,
+  79, 70, 90, 76, 67, 92, 90, 56, 58, 67, 66, 67, 67, 70, 75, 77,
+  77, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 190, 62, 74, 63, 60, 93, 50, 85,
+  80, 68, 56, 37, 57, 98, 43, 55, 52, 39, 30, 48, 48, 41, 53, 37,
+  27, 27, 26, 19, 25, 38, 46, 57, 56, 60, 32, 58, 50, 32, 52, 23,
+  43, 58, 51, 58, 29, 71, 83, 79, 65, 84, 90, 75, 78, 75, 68, 69,
+  68, 70, 74, 75, 76, 75, 134, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 65, 75, 59, 59, 76, 60,
+  57, 103, 65, 86, 57, 62, 72, 43, 43, 48, 63, 44, 27, 47, 38, 47,
+  40, 52, 30, 26, 23, 17, 16, 17, 23, 28, 41, 40, 40, 46, 42, 40,
+  41, 42, 36, 51, 39, 42, 46, 38, 64, 60, 79, 79, 60, 67, 77, 80,
+  80, 63, 74, 74, 72, 74, 74, 75, 74, 70, 74, 134, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 65, 69, 61, 93,
+  105, 79, 58, 93, 67, 59, 69, 64, 61, 76, 52, 57, 47, 43, 49, 33,
+  42, 36, 31, 43, 45, 48, 45, 51, 46, 44, 40, 36, 80, 29, 45, 61,
+  43, 27, 45, 45, 33, 41, 34, 43, 52, 50, 48, 60, 66, 54, 76, 43,
+  56, 64, 82, 82, 95, 66, 84, 66, 56, 60, 65, 63, 67, 78, 71, 80,
+  81, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 78, 64,
+  74, 69, 61, 53, 84, 69, 52, 61, 56, 39, 67, 54, 57, 55, 46, 41,
+  48, 43, 54, 39, 48, 38, 28, 37, 38, 43, 11, 42, 26, 28, 56, 27,
+  43, 38, 36, 53, 42, 30, 44, 41, 35, 52, 50, 52, 56, 49, 43, 50,
+  51, 38, 39, 70, 42, 48, 40, 66, 64, 105, 55, 72, 81, 71, 63, 64,
+  63, 60, 86, 76, 72, 72, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  86, 70, 77, 86, 58, 71, 92, 46, 89, 97, 90, 77, 91, 72, 67, 50,
+  57, 41, 46, 33, 54, 49, 56, 41, 49, 39, 27, 35, 35, 40, 47, 40,
+  47, 65, 61, 26, 55, 41, 33, 49, 45, 40, 46, 39, 41, 66, 53, 50,
+  52, 48, 44, 51, 53, 41, 28, 55, 55, 45, 78, 87, 80, 83, 66, 78,
+  84, 83, 85, 86, 69, 52, 78, 69, 76, 81, 66, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 194, 66, 80, 45, 64, 82, 68, 80, 55, 75, 37, 56, 79, 82, 63,
+  64, 58, 62, 44, 50, 44, 43, 37, 52, 51, 47, 32, 40, 34, 30, 41,
+  38, 39, 82, 52, 65, 80, 62, 38, 71, 48, 35, 43, 43, 45, 49, 40,
+  45, 68, 53, 44, 45, 46, 47, 55, 60, 51, 68, 43, 57, 48, 82, 101,
+  115, 62, 79, 70, 72, 87, 92, 83, 73, 76, 68, 62, 75, 83, 62, 60,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 71, 71, 74, 58, 75, 59, 72, 93, 69, 85, 69, 69,
+  52, 70, 80, 67, 42, 49, 48, 43, 41, 52, 37, 43, 43, 45, 49, 32,
+  39, 39, 42, 55, 48, 43, 50, 57, 48, 41, 69, 50, 51, 49, 39, 38,
+  39, 45, 49, 43, 46, 60, 67, 51, 49, 52, 51, 54, 58, 50, 52, 51,
+  52, 79, 60, 97, 81, 46, 57, 64, 74, 79, 67, 53, 63, 89, 77, 63,
+  63, 70, 70, 77, 81, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 71, 69, 69, 67, 95, 73, 76, 71, 51,
+  83, 84, 45, 73, 40, 55, 69, 65, 32, 43, 41, 40, 36, 55, 34, 45,
+  37, 42, 57, 41, 50, 51, 53, 64, 52, 43, 38, 37, 46, 39, 57, 55,
+  55, 31, 40, 34, 35, 40, 44, 44, 47, 47, 75, 54, 50, 57, 57, 58,
+  60, 53, 30, 56, 58, 72, 88, 75, 39, 37, 49, 66, 71, 61, 53, 58,
+  63, 67, 78, 83, 75, 67, 70, 76, 78, 80, 140, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 69, 69, 67, 66, 63, 67,
+  81, 59, 51, 55, 52, 76, 42, 67, 51, 61, 71, 59, 51, 46, 43, 36,
+  39, 47, 38, 39, 42, 42, 57, 45, 58, 57, 53, 57, 45, 38, 53, 24,
+  55, 53, 42, 48, 65, 26, 40, 37, 40, 42, 42, 49, 53, 45, 77, 53,
+  49, 59, 62, 62, 63, 57, 72, 57, 55, 41, 87, 50, 54, 70, 67, 66,
+  59, 54, 62, 73, 65, 53, 68, 98, 85, 59, 66, 69, 74, 92, 85, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 69, 69, 69, 67,
+  66, 64, 65, 74, 66, 69, 80, 82, 90, 91, 54, 57, 63, 60, 64, 34,
+  50, 28, 50, 34, 44, 36, 42, 31, 49, 43, 49, 41, 61, 56, 47, 46,
+  37, 32, 41, 34, 42, 26, 47, 38, 40, 45, 41, 42, 47, 47, 43, 54,
+  59, 49, 84, 57, 52, 62, 64, 60, 57, 52, 77, 49, 55, 92, 61, 56,
+  66, 85, 75, 61, 57, 63, 65, 58, 60, 72, 70, 98, 68, 41, 70, 83,
+  73, 84, 82, 85, 142, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 70,
+  68, 64, 60, 61, 65, 69, 58, 66, 41, 62, 93, 44, 72, 74, 48, 58,
+  55, 70, 55, 48, 34, 54, 34, 41, 42, 37, 38, 48, 50, 42, 28, 35,
+  45, 42, 38, 31, 36, 39, 30, 35, 43, 42, 40, 36, 41, 43, 44, 36,
+  36, 47, 53, 49, 42, 41, 71, 60, 49, 45, 50, 57, 59, 58, 70, 54,
+  84, 74, 60, 88, 95, 93, 69, 56, 66, 71, 91, 64, 47, 26, 104, 67,
+  83, 108, 82, 60, 76, 87, 88, 87, 81, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 67, 67, 67, 68, 67, 64, 59, 54, 74, 73, 86, 30, 60, 62,
+  32, 80, 76, 63, 48, 40, 52, 52, 57, 66, 37, 39, 45, 50, 50, 47,
+  44, 43, 29, 36, 44, 44, 39, 36, 41, 46, 49, 54, 62, 70, 77, 83,
+  87, 89, 91, 81, 75, 74, 70, 61, 55, 53, 59, 55, 49, 48, 52, 61,
+  70, 73, 49, 91, 80, 57, 77, 94, 82, 68, 75, 77, 87, 81, 70, 54,
+  77, 106, 38, 100, 100, 53, 48, 66, 70, 70, 80, 80, 80, 78, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 194, 70, 67, 65, 68, 71, 70, 61, 53, 61, 70,
+  83, 85, 83, 61, 62, 39, 50, 67, 85, 61, 64, 37, 50, 55, 63, 57,
+  57, 60, 51, 36, 35, 44, 49, 59, 76, 89, 100, 114, 130, 143, 123, 124,
+  127, 135, 143, 149, 150, 149, 164, 161, 161, 163, 165, 166, 171, 176, 135, 131,
+  119, 101, 82, 64, 54, 47, 51, 82, 56, 63, 77, 61, 77, 88, 79, 84,
+  76, 70, 59, 68, 72, 78, 114, 98, 86, 80, 67, 53, 60, 81, 74, 77,
+  79, 79, 76, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 193, 71, 73, 69, 64, 63, 66, 69,
+  69, 66, 71, 58, 50, 32, 67, 60, 20, 68, 58, 60, 57, 47, 71, 74,
+  74, 64, 73, 62, 51, 45, 49, 63, 97, 123, 131, 131, 134, 131, 126, 125,
+  130, 136, 155, 156, 157, 158, 160, 160, 159, 158, 169, 169, 169, 170, 168, 169,
+  174, 182, 176, 174, 169, 159, 142, 118, 96, 82, 63, 47, 54, 90, 76, 62,
+  83, 77, 53, 93, 95, 83, 58, 82, 81, 76, 43, 74, 59, 59, 102, 96,
+  69, 87, 67, 72, 75, 75, 75, 134, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 69, 68, 71, 71,
+  68, 65, 63, 63, 68, 70, 87, 60, 70, 91, 69, 61, 62, 52, 56, 71,
+  59, 54, 46, 56, 47, 51, 34, 64, 98, 117, 124, 126, 122, 113, 118, 122,
+  127, 129, 130, 135, 143, 150, 143, 147, 152, 152, 151, 151, 154, 159, 162, 165,
+  166, 164, 159, 156, 158, 162, 161, 161, 163, 172, 176, 171, 159, 146, 122, 86,
+  83, 60, 47, 76, 78, 63, 106, 97, 66, 72, 80, 108, 82, 55, 58, 52,
+  79, 77, 48, 77, 102, 59, 61, 65, 67, 69, 69, 73, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193,
+  68, 67, 67, 69, 72, 68, 66, 63, 65, 64, 46, 106, 47, 60, 55, 30,
+  67, 58, 72, 113, 119, 111, 65, 59, 59, 90, 113, 124, 127, 115, 111, 118,
+  122, 118, 127, 130, 133, 133, 132, 134, 140, 145, 143, 150, 156, 156, 153, 154,
+  160, 166, 149, 156, 160, 158, 158, 159, 160, 162, 169, 161, 155, 158, 165, 167,
+  163, 154, 160, 150, 129, 75, 62, 60, 41, 84, 88, 80, 79, 93, 78, 65,
+  66, 90, 95, 74, 71, 90, 97, 86, 92, 113, 67, 67, 68, 69, 73, 78,
+  82, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 193, 69, 69, 68, 70, 68, 68, 66, 69, 71, 72, 72, 51, 48,
+  89, 86, 52, 84, 57, 51, 81, 78, 66, 67, 79, 90, 100, 117, 131, 132,
+  128, 123, 120, 125, 126, 129, 132, 134, 137, 138, 139, 141, 145, 148, 151, 153,
+  155, 155, 154, 154, 157, 160, 166, 170, 169, 163, 160, 159, 156, 152, 165, 159,
+  152, 151, 153, 155, 154, 150, 133, 149, 157, 148, 129, 81, 51, 82, 67, 54,
+  63, 85, 105, 95, 97, 105, 108, 101, 110, 107, 87, 86, 74, 40, 73, 70,
+  66, 68, 75, 83, 86, 86, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 68, 68, 70, 69, 76, 68, 59, 58, 66, 76,
+  84, 85, 83, 60, 40, 54, 45, 65, 57, 70, 89, 83, 92, 95, 128, 115,
+  117, 118, 128, 123, 126, 140, 142, 135, 133, 140, 153, 157, 158, 157, 155, 152,
+  153, 154, 161, 159, 158, 160, 163, 165, 166, 165, 161, 165, 163, 157, 156, 159,
+  160, 157, 158, 158, 158, 155, 153, 149, 145, 142, 139, 139, 133, 145, 135, 137,
+  142, 84, 64, 72, 81, 62, 75, 77, 91, 81, 82, 119, 97, 52, 50, 57,
+  64, 89, 69, 63, 56, 58, 70, 79, 83, 80, 82, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 192, 67, 64, 63, 65, 55, 56,
+  55, 71, 57, 104, 68, 76, 68, 56, 129, 98, 113, 118, 74, 36, 79, 92,
+  125, 135, 109, 101, 122, 131, 137, 138, 141, 141, 142, 146, 155, 160, 167, 156,
+  146, 146, 154, 159, 159, 156, 155, 160, 162, 163, 160, 156, 156, 154, 156, 156,
+  157, 158, 160, 161, 163, 163, 165, 166, 164, 161, 158, 155, 153, 151, 149, 146,
+  146, 145, 146, 146, 146, 145, 97, 65, 62, 75, 89, 89, 103, 111, 175, 49,
+  65, 81, 28, 57, 97, 37, 52, 65, 71, 67, 68, 77, 81, 75, 76, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 70, 78, 74,
+  68, 63, 77, 58, 65, 45, 75, 79, 76, 54, 67, 89, 55, 81, 97, 89,
+  126, 122, 124, 109, 115, 125, 120, 128, 141, 140, 143, 146, 149, 151, 154, 157,
+  165, 169, 165, 162, 158, 158, 161, 162, 161, 158, 157, 159, 160, 161, 160, 158,
+  156, 154, 157, 154, 156, 156, 157, 158, 161, 161, 167, 169, 171, 170, 168, 167,
+  164, 163, 162, 158, 157, 153, 150, 145, 139, 137, 135, 108, 68, 68, 63, 93,
+  83, 68, 61, 86, 68, 51, 62, 83, 56, 74, 64, 74, 76, 67, 66, 76,
+  86, 84, 80, 74, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  70, 69, 63, 61, 70, 78, 89, 91, 111, 76, 92, 58, 88, 69, 76, 44,
+  61, 53, 64, 55, 132, 114, 130, 109, 109, 123, 133, 147, 155, 146, 154, 154,
+  158, 161, 164, 165, 171, 173, 168, 170, 173, 175, 173, 169, 167, 164, 164, 161,
+  162, 163, 163, 164, 163, 160, 157, 154, 155, 155, 155, 156, 159, 162, 167, 169,
+  173, 175, 175, 176, 175, 174, 169, 166, 164, 160, 155, 148, 140, 136, 146, 123,
+  115, 65, 61, 47, 75, 66, 87, 85, 87, 96, 112, 63, 19, 53, 58, 69,
+  70, 62, 59, 66, 73, 73, 81, 78, 135, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 192, 69, 68, 65, 68, 78, 86, 59, 69, 47, 67, 75, 78,
+  75, 46, 72, 97, 84, 78, 79, 122, 100, 124, 101, 107, 126, 142, 149, 151,
+  151, 148, 154, 156, 159, 162, 167, 168, 172, 172, 172, 174, 176, 175, 173, 169,
+  163, 160, 162, 159, 157, 160, 162, 164, 163, 160, 153, 151, 152, 151, 152, 154,
+  158, 159, 160, 165, 169, 172, 176, 176, 175, 174, 167, 167, 166, 165, 162, 154,
+  148, 142, 136, 135, 118, 122, 53, 51, 50, 84, 71, 54, 97, 79, 60, 59,
+  89, 84, 62, 74, 82, 81, 77, 77, 77, 76, 79, 78, 76, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 68, 63, 60, 57, 54, 45, 34, 68, 106,
+  89, 109, 69, 76, 86, 91, 73, 53, 70, 63, 75, 82, 139, 88, 103, 124,
+  148, 157, 158, 153, 152, 155, 153, 154, 157, 160, 167, 168, 171, 170, 170, 166,
+  163, 162, 162, 157, 152, 147, 149, 147, 143, 146, 150, 152, 151, 148, 145, 145,
+  145, 146, 147, 149, 153, 154, 154, 158, 162, 166, 170, 171, 171, 171, 168, 168,
+  168, 167, 166, 162, 155, 150, 156, 127, 139, 114, 115, 68, 68, 50, 89, 98,
+  81, 104, 66, 91, 44, 49, 45, 55, 65, 65, 65, 63, 62, 61, 73, 78,
+  80, 138, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 189, 66, 72, 67, 68, 79,
+  100, 112, 98, 94, 76, 76, 82, 95, 102, 90, 96, 90, 66, 86, 80, 116,
+  83, 122, 135, 146, 147, 146, 154, 155, 151, 158, 152, 154, 155, 158, 163, 165,
+  166, 165, 166, 160, 153, 150, 149, 149, 145, 141, 142, 139, 140, 139, 143, 142,
+  143, 139, 136, 136, 137, 137, 139, 140, 140, 140, 146, 148, 153, 156, 159, 162,
+  164, 165, 171, 169, 169, 168, 167, 164, 159, 155, 148, 149, 131, 138, 110, 122,
+  78, 45, 79, 49, 93, 82, 140, 66, 54, 49, 61, 65, 65, 69, 72, 74,
+  72, 76, 69, 78, 81, 81, 139, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 75, 80,
+  75, 57, 43, 48, 69, 79, 57, 58, 81, 62, 72, 83, 105, 117, 127, 79,
+  120, 106, 86, 105, 99, 118, 141, 149, 143, 137, 150, 152, 146, 148, 151, 148,
+  146, 148, 151, 153, 153, 151, 151, 149, 145, 142, 140, 140, 141, 140, 135, 138,
+  141, 140, 141, 137, 138, 136, 130, 129, 131, 129, 130, 127, 125, 123, 129, 130,
+  132, 136, 140, 145, 150, 152, 163, 163, 163, 162, 163, 162, 159, 156, 141, 142,
+  156, 127, 127, 111, 109, 79, 49, 77, 77, 85, 20, 67, 54, 74, 55, 53,
+  53, 58, 67, 66, 60, 60, 69, 78, 82, 81, 80, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 193, 72, 62, 55, 66, 92, 107, 91, 64, 81, 70, 80, 62, 57, 73,
+  55, 58, 93, 134, 96, 114, 80, 91, 136, 137, 124, 142, 146, 143, 156, 152,
+  138, 143, 145, 142, 138, 138, 139, 141, 139, 136, 133, 135, 137, 133, 128, 127,
+  132, 137, 129, 134, 139, 140, 136, 133, 132, 133, 129, 128, 128, 127, 124, 119,
+  114, 109, 114, 114, 116, 118, 124, 131, 137, 143, 153, 152, 153, 154, 156, 158,
+  155, 154, 155, 144, 139, 139, 118, 110, 105, 107, 94, 61, 62, 63, 104, 86,
+  63, 58, 56, 56, 57, 69, 77, 71, 55, 51, 69, 79, 80, 78, 76, 137,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 72, 68, 70, 55, 58, 101, 54, 80, 70, 64, 62,
+  72, 57, 52, 59, 52, 56, 102, 94, 98, 85, 108, 116, 140, 137, 137, 139,
+  145, 142, 137, 133, 136, 139, 134, 139, 128, 138, 125, 137, 130, 135, 133, 136,
+  133, 147, 133, 138, 135, 148, 155, 156, 156, 157, 158, 156, 154, 151, 147, 151,
+  160, 146, 141, 149, 141, 141, 134, 132, 129, 124, 123, 125, 129, 133, 141, 142,
+  148, 155, 154, 148, 149, 158, 153, 152, 145, 138, 134, 127, 110, 97, 116, 77,
+  45, 67, 44, 38, 84, 51, 69, 62, 63, 46, 68, 63, 58, 38, 60, 71,
+  71, 73, 75, 78, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 72, 70, 61, 53, 47, 70, 56,
+  62, 82, 69, 55, 58, 55, 75, 101, 98, 99, 74, 84, 92, 105, 115, 131,
+  135, 135, 137, 136, 139, 139, 137, 133, 131, 128, 133, 130, 124, 132, 134, 148,
+  150, 154, 165, 169, 164, 176, 162, 168, 167, 180, 181, 182, 184, 185, 186, 186,
+  186, 185, 182, 184, 178, 171, 168, 168, 174, 171, 172, 161, 146, 141, 140, 142,
+  140, 138, 141, 142, 132, 122, 131, 151, 155, 141, 145, 149, 147, 138, 131, 126,
+  119, 118, 118, 97, 80, 55, 58, 68, 51, 67, 46, 47, 48, 56, 54, 57,
+  55, 67, 83, 86, 78, 74, 76, 80, 140, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 72, 68, 58,
+  73, 80, 98, 102, 58, 79, 68, 55, 60, 58, 69, 78, 57, 49, 66, 87,
+  94, 123, 116, 138, 132, 135, 135, 133, 134, 136, 140, 138, 135, 130, 135, 140,
+  153, 155, 162, 158, 161, 160, 176, 181, 178, 190, 177, 188, 188, 202, 200, 201,
+  202, 203, 204, 204, 206, 204, 201, 204, 185, 195, 192, 178, 193, 184, 164, 159,
+  152, 147, 139, 128, 112, 104, 111, 106, 119, 141, 144, 131, 137, 159, 149, 154,
+  157, 153, 146, 134, 119, 110, 118, 109, 101, 62, 62, 73, 49, 66, 70, 67,
+  57, 72, 49, 48, 38, 64, 70, 68, 59, 56, 62, 69, 72, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  76, 72, 77, 50, 49, 52, 90, 98, 59, 65, 61, 59, 72, 67, 69, 80,
+  83, 94, 87, 101, 108, 123, 118, 134, 133, 136, 134, 133, 133, 131, 132, 130,
+  129, 128, 161, 154, 155, 123, 117, 99, 115, 122, 170, 181, 179, 192, 183, 198,
+  200, 212, 209, 210, 209, 211, 210, 209, 208, 208, 203, 211, 187, 209, 208, 178,
+  194, 176, 140, 136, 127, 109, 89, 76, 70, 71, 90, 127, 140, 119, 114, 133,
+  143, 133, 135, 131, 132, 139, 146, 143, 129, 118, 124, 113, 101, 96, 62, 55,
+  80, 54, 59, 52, 43, 55, 50, 52, 43, 54, 70, 71, 66, 65, 70, 77,
+  83, 143, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 195, 76, 72, 67, 51, 47, 41, 91, 67, 55, 46, 66, 73,
+  97, 94, 87, 84, 77, 87, 107, 112, 127, 120, 129, 125, 135, 135, 120, 126,
+  132, 133, 137, 143, 155, 165, 104, 115, 150, 162, 187, 175, 173, 160, 179, 193,
+  195, 209, 199, 215, 213, 222, 219, 221, 220, 220, 219, 219, 218, 218, 214, 222,
+  197, 218, 217, 187, 198, 180, 160, 162, 164, 159, 146, 125, 100, 86, 54, 40,
+  49, 85, 112, 118, 130, 148, 155, 145, 140, 140, 144, 144, 141, 141, 136, 116,
+  109, 111, 78, 60, 72, 65, 60, 59, 63, 52, 62, 59, 61, 54, 59, 67,
+  66, 62, 57, 57, 62, 68, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 77, 76, 72, 62, 71, 94, 77, 107, 60,
+  59, 57, 76, 73, 91, 97, 101, 101, 83, 84, 112, 115, 135, 124, 140, 124,
+  131, 123, 140, 143, 140, 128, 118, 112, 117, 124, 138, 120, 113, 121, 159, 179,
+  189, 187, 192, 210, 211, 222, 211, 223, 219, 224, 227, 227, 228, 228, 231, 232,
+  234, 235, 233, 236, 215, 221, 216, 199, 212, 199, 176, 172, 172, 181, 183, 164,
+  128, 97, 140, 130, 90, 44, 50, 100, 130, 126, 128, 133, 144, 151, 148, 139,
+  139, 143, 142, 122, 126, 91, 97, 86, 28, 81, 78, 86, 97, 65, 65, 48,
+  54, 47, 67, 77, 80, 77, 69, 67, 70, 76, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 77, 76, 72, 75, 79,
+  106, 71, 76, 61, 57, 93, 152, 125, 111, 98, 99, 107, 99, 105, 120, 127,
+  136, 134, 134, 123, 111, 103, 74, 82, 90, 97, 106, 116, 129, 136, 132, 127,
+  121, 142, 165, 192, 196, 199, 204, 219, 218, 226, 214, 227, 225, 230, 233, 233,
+  233, 233, 236, 238, 239, 240, 240, 239, 232, 224, 219, 218, 221, 216, 227, 206,
+  184, 177, 181, 183, 178, 170, 140, 134, 131, 131, 122, 102, 80, 69, 55, 64,
+  89, 119, 139, 144, 144, 144, 141, 126, 132, 86, 101, 100, 31, 80, 61, 65,
+  68, 56, 51, 44, 47, 52, 55, 61, 66, 66, 64, 64, 66, 71, 79, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 76, 76,
+  72, 68, 56, 60, 105, 80, 74, 86, 45, 95, 60, 59, 85, 103, 118, 121,
+  107, 110, 132, 140, 134, 142, 124, 125, 98, 93, 98, 103, 109, 120, 131, 142,
+  147, 150, 158, 174, 177, 191, 179, 193, 196, 213, 214, 232, 229, 235, 222, 240,
+  238, 244, 240, 241, 239, 238, 239, 239, 240, 241, 234, 239, 245, 232, 226, 234,
+  228, 224, 211, 214, 215, 213, 204, 195, 191, 190, 216, 206, 185, 172, 174, 172,
+  133, 87, 86, 68, 66, 95, 131, 151, 150, 144, 145, 130, 124, 108, 96, 98,
+  82, 66, 76, 64, 46, 65, 57, 63, 49, 61, 70, 72, 73, 72, 72, 73,
+  74, 77, 77, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 69, 64, 65, 66, 77, 96, 94, 72, 65, 67, 67, 69, 55, 83,
+  77, 76, 114, 100, 109, 107, 121, 132, 138, 133, 126, 126, 122, 115, 153, 163,
+  174, 182, 185, 189, 195, 201, 210, 211, 214, 213, 217, 216, 219, 220, 230, 233,
+  234, 235, 236, 237, 237, 239, 237, 239, 238, 238, 241, 242, 243, 242, 238, 237,
+  239, 238, 237, 236, 235, 234, 236, 236, 233, 232, 229, 226, 226, 225, 224, 227,
+  226, 219, 217, 213, 202, 189, 126, 120, 99, 75, 80, 113, 142, 148, 140, 130,
+  142, 127, 98, 106, 71, 72, 67, 53, 65, 61, 76, 82, 72, 49, 60, 53,
+  70, 82, 115, 98, 88, 69, 76, 136, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 199, 77, 63, 58, 55, 74, 86, 78, 67, 74, 74,
+  57, 41, 74, 97, 73, 114, 106, 81, 131, 126, 149, 139, 140, 143, 130, 125,
+  166, 218, 210, 218, 225, 228, 228, 228, 232, 235, 229, 229, 230, 231, 232, 233,
+  234, 237, 236, 237, 240, 240, 240, 240, 240, 240, 240, 240, 239, 239, 239, 240,
+  243, 239, 236, 234, 237, 237, 237, 237, 239, 239, 239, 239, 238, 236, 234, 234,
+  231, 233, 235, 238, 238, 235, 235, 235, 227, 215, 217, 199, 162, 113, 66, 58,
+  97, 139, 162, 137, 142, 127, 122, 92, 129, 68, 90, 56, 66, 49, 59, 44,
+  67, 73, 91, 67, 51, 88, 81, 72, 62, 88, 73, 72, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 68, 62, 58, 66, 73, 50, 71,
+  77, 69, 69, 66, 57, 54, 86, 97, 92, 126, 80, 82, 121, 122, 118, 126,
+  119, 101, 119, 169, 208, 216, 227, 234, 237, 238, 235, 234, 235, 237, 237, 237,
+  238, 238, 239, 239, 240, 241, 242, 243, 242, 241, 241, 241, 242, 242, 241, 241,
+  238, 237, 237, 237, 240, 238, 237, 234, 236, 236, 237, 240, 243, 243, 241, 239,
+  239, 237, 235, 235, 233, 235, 237, 241, 242, 239, 239, 242, 238, 230, 226, 223,
+  220, 202, 160, 112, 86, 75, 107, 156, 125, 140, 120, 129, 114, 102, 53, 150,
+  95, 37, 30, 79, 39, 47, 50, 71, 67, 79, 81, 105, 73, 39, 72, 73,
+  136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 68, 63, 64,
+  81, 93, 49, 68, 72, 62, 59, 59, 63, 74, 100, 99, 139, 116, 89, 129,
+  106, 117, 123, 114, 124, 164, 207, 227, 230, 230, 230, 234, 239, 237, 237, 234,
+  237, 237, 238, 236, 238, 235, 237, 235, 237, 237, 244, 243, 244, 242, 242, 242,
+  241, 242, 240, 239, 236, 234, 234, 234, 235, 235, 236, 235, 236, 235, 236, 239,
+  242, 243, 241, 241, 239, 237, 236, 236, 235, 237, 240, 242, 241, 238, 238, 237,
+  235, 231, 221, 228, 229, 222, 217, 199, 153, 100, 66, 105, 153, 126, 137, 128,
+  103, 117, 85, 73, 95, 86, 55, 44, 74, 44, 56, 61, 79, 72, 83, 70,
+  87, 92, 74, 75, 74, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  77, 74, 68, 63, 67, 74, 84, 78, 66, 59, 68, 69, 64, 68, 94, 94,
+  138, 99, 119, 138, 93, 105, 104, 123, 162, 201, 223, 220, 217, 223, 235, 239,
+  242, 241, 242, 240, 243, 242, 242, 240, 241, 239, 241, 239, 240, 240, 245, 245,
+  246, 245, 243, 244, 243, 241, 238, 235, 230, 228, 226, 226, 229, 231, 234, 235,
+  236, 235, 236, 238, 240, 240, 241, 241, 239, 237, 236, 236, 235, 237, 245, 247,
+  246, 243, 242, 239, 238, 238, 237, 239, 232, 217, 217, 223, 214, 187, 125, 57,
+  123, 151, 131, 121, 126, 111, 126, 73, 40, 122, 53, 44, 47, 70, 69, 51,
+  49, 41, 72, 76, 90, 84, 77, 74, 73, 136, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 66, 65, 64, 65, 72, 78, 83, 83, 78, 76, 80, 77,
+  77, 86, 98, 104, 104, 102, 132, 91, 82, 98, 147, 188, 217, 214, 215, 230,
+  238, 232, 236, 237, 237, 237, 236, 236, 236, 236, 240, 240, 240, 240, 240, 240,
+  239, 241, 243, 246, 246, 245, 243, 241, 238, 236, 229, 221, 216, 210, 209, 211,
+  216, 222, 227, 232, 233, 235, 236, 236, 237, 236, 241, 239, 237, 236, 235, 233,
+  233, 235, 242, 242, 243, 245, 242, 240, 240, 244, 237, 233, 233, 240, 237, 227,
+  219, 216, 192, 102, 47, 139, 137, 134, 131, 126, 110, 136, 78, 48, 101, 63,
+  55, 64, 61, 76, 66, 79, 97, 141, 113, 75, 75, 74, 73, 74, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 76, 67, 68, 74, 83, 97, 105, 68, 78,
+  84, 87, 89, 87, 101, 127, 120, 122, 115, 125, 109, 75, 102, 134, 212, 202,
+  207, 227, 227, 213, 221, 246, 238, 237, 236, 236, 237, 237, 237, 237, 235, 235,
+  235, 235, 235, 235, 235, 236, 238, 241, 240, 240, 237, 233, 225, 221, 206, 197,
+  189, 183, 182, 187, 195, 204, 217, 224, 230, 233, 236, 237, 236, 235, 239, 237,
+  236, 235, 234, 232, 229, 231, 231, 231, 234, 238, 234, 230, 232, 239, 241, 230,
+  226, 233, 235, 232, 230, 226, 210, 169, 87, 68, 159, 129, 134, 138, 107, 109,
+  74, 90, 81, 83, 98, 67, 51, 54, 57, 84, 63, 61, 70, 110, 71, 71,
+  71, 76, 255, 255, 255, 255, 255, 255, 255, 255, 255, 67, 65, 71, 78, 80,
+  81, 81, 79, 73, 67, 78, 97, 107, 118, 137, 114, 107, 133, 121, 60, 87,
+  120, 175, 203, 219, 226, 219, 213, 219, 223, 222, 223, 222, 221, 222, 225, 227,
+  227, 227, 228, 229, 229, 229, 230, 230, 231, 233, 230, 231, 232, 230, 225, 219,
+  212, 204, 183, 174, 164, 158, 158, 164, 174, 184, 207, 218, 225, 232, 235, 238,
+  236, 235, 237, 236, 235, 232, 231, 228, 226, 225, 227, 225, 228, 232, 229, 221,
+  224, 229, 222, 235, 240, 225, 221, 232, 238, 229, 204, 222, 168, 85, 95, 156,
+  123, 126, 126, 125, 97, 71, 74, 51, 88, 46, 93, 76, 69, 48, 71, 73,
+  84, 72, 64, 66, 70, 79, 140, 255, 255, 255, 255, 255, 255, 255, 255, 79,
+  65, 68, 78, 94, 82, 92, 72, 76, 109, 67, 79, 112, 128, 115, 96, 133,
+  102, 122, 59, 124, 177, 208, 209, 222, 225, 217, 214, 220, 220, 210, 211, 216,
+  215, 213, 225, 221, 219, 222, 222, 218, 216, 218, 222, 226, 227, 227, 226, 220,
+  215, 214, 215, 209, 194, 177, 158, 150, 142, 137, 139, 141, 141, 146, 185, 206,
+  221, 226, 225, 225, 230, 237, 240, 233, 228, 225, 225, 224, 219, 215, 226, 208,
+  229, 222, 213, 220, 211, 218, 219, 214, 216, 217, 219, 219, 223, 228, 215, 220,
+  202, 152, 79, 110, 134, 130, 130, 119, 111, 66, 89, 83, 68, 88, 50, 49,
+  64, 63, 82, 89, 73, 103, 85, 82, 75, 72, 77, 255, 255, 255, 255, 255,
+  255, 255, 85, 77, 70, 42, 103, 107, 106, 76, 69, 66, 72, 72, 106, 124,
+  141, 108, 110, 110, 143, 78, 119, 141, 221, 222, 228, 216, 213, 219, 218, 208,
+  203, 206, 215, 214, 206, 207, 224, 227, 221, 221, 213, 210, 207, 207, 211, 216,
+  218, 218, 213, 208, 206, 208, 209, 197, 175, 154, 140, 141, 142, 137, 132, 131,
+  139, 152, 171, 191, 210, 219, 218, 216, 222, 228, 225, 232, 234, 225, 210, 202,
+  211, 220, 216, 223, 223, 222, 218, 223, 225, 208, 200, 200, 198, 200, 210, 222,
+  223, 219, 228, 234, 213, 181, 122, 88, 126, 132, 116, 137, 101, 72, 126, 118,
+  127, 44, 86, 55, 70, 29, 94, 95, 101, 83, 123, 82, 53, 62, 74, 255,
+  255, 255, 255, 255, 255, 255, 60, 75, 51, 80, 102, 151, 103, 69, 69, 76,
+  67, 86, 114, 111, 139, 114, 115, 109, 131, 72, 131, 189, 224, 226, 229, 219,
+  214, 214, 205, 194, 197, 210, 200, 203, 192, 186, 185, 186, 185, 196, 196, 195,
+  195, 198, 204, 211, 215, 215, 206, 198, 193, 194, 198, 185, 160, 139, 138, 139,
+  139, 137, 134, 134, 141, 153, 167, 186, 205, 212, 213, 212, 218, 223, 231, 227,
+  218, 210, 202, 198, 199, 200, 202, 216, 198, 209, 212, 206, 224, 203, 207, 208,
+  200, 189, 191, 207, 218, 223, 229, 234, 218, 212, 177, 80, 118, 142, 132, 136,
+  118, 112, 68, 106, 107, 130, 46, 48, 73, 68, 65, 79, 93, 107, 104, 93,
+  77, 67, 76, 142, 255, 255, 255, 255, 255, 193, 78, 70, 63, 48, 84, 103,
+  114, 97, 71, 80, 72, 83, 101, 105, 124, 117, 128, 126, 93, 104, 138, 224,
+  211, 222, 227, 224, 207, 189, 188, 197, 198, 190, 170, 174, 160, 158, 156, 162,
+  158, 168, 167, 168, 177, 184, 196, 204, 212, 214, 212, 196, 181, 176, 174, 167,
+  150, 134, 135, 129, 126, 129, 137, 145, 149, 153, 168, 183, 198, 204, 204, 205,
+  212, 219, 233, 219, 203, 195, 194, 192, 181, 172, 181, 182, 163, 172, 177, 165,
+  180, 186, 195, 202, 205, 195, 184, 186, 204, 224, 227, 231, 220, 228, 203, 102,
+  99, 140, 116, 137, 139, 121, 51, 139, 106, 99, 101, 62, 50, 88, 74, 86,
+  72, 81, 104, 109, 88, 51, 47, 77, 255, 255, 255, 255, 255, 71, 64, 62,
+  82, 88, 98, 81, 77, 65, 64, 67, 71, 71, 103, 136, 121, 120, 145, 125,
+  86, 122, 188, 221, 230, 226, 232, 214, 188, 175, 181, 191, 174, 147, 141, 151,
+  142, 161, 168, 181, 163, 163, 147, 151, 163, 172, 185, 192, 201, 201, 212, 193,
+  176, 162, 156, 149, 140, 132, 127, 130, 131, 133, 140, 147, 155, 161, 165, 172,
+  183, 187, 191, 198, 210, 219, 216, 210, 201, 189, 176, 167, 158, 156, 151, 154,
+  154, 137, 143, 152, 146, 167, 159, 166, 182, 194, 188, 180, 189, 213, 237, 237,
+  232, 230, 202, 144, 78, 120, 112, 133, 135, 108, 96, 96, 135, 60, 153, 82,
+  60, 66, 96, 87, 106, 91, 91, 85, 81, 81, 74, 67, 255, 255, 255, 255,
+  255, 71, 85, 74, 61, 98, 73, 86, 69, 76, 59, 78, 95, 91, 112, 148,
+  122, 137, 139, 106, 77, 140, 209, 213, 235, 230, 220, 201, 188, 180, 167, 145,
+  133, 139, 153, 187, 183, 192, 157, 150, 123, 135, 163, 167, 174, 180, 185, 190,
+  196, 195, 202, 190, 174, 158, 144, 137, 138, 139, 155, 167, 177, 170, 156, 148,
+  154, 163, 161, 164, 171, 177, 184, 195, 209, 220, 210, 198, 187, 178, 173, 165,
+  153, 145, 136, 156, 166, 132, 146, 179, 161, 173, 162, 156, 158, 165, 172, 174,
+  185, 206, 233, 236, 239, 223, 203, 184, 90, 105, 130, 119, 138, 115, 79, 55,
+  110, 121, 100, 102, 85, 81, 71, 84, 115, 124, 115, 92, 64, 45, 48, 63,
+  255, 255, 255, 255, 255, 69, 71, 54, 91, 95, 115, 84, 89, 60, 70, 98,
+  99, 107, 117, 131, 125, 156, 131, 89, 82, 162, 201, 220, 221, 230, 208, 195,
+  181, 165, 141, 124, 131, 159, 106, 152, 156, 177, 148, 166, 165, 201, 203, 202,
+  200, 197, 195, 197, 203, 205, 192, 186, 172, 153, 139, 140, 160, 178, 200, 209,
+  217, 213, 197, 182, 172, 164, 161, 161, 166, 171, 178, 189, 201, 211, 209, 193,
+  179, 175, 180, 179, 169, 159, 174, 184, 162, 146, 167, 177, 168, 183, 166, 172,
+  166, 149, 146, 162, 183, 198, 220, 234, 239, 216, 212, 197, 120, 93, 117, 120,
+  152, 120, 73, 109, 88, 98, 102, 125, 69, 90, 61, 94, 81, 86, 87, 91,
+  82, 65, 64, 76, 133, 255, 255, 255, 255, 69, 82, 79, 86, 101, 78, 92,
+  89, 77, 87, 101, 60, 95, 118, 122, 129, 152, 145, 84, 125, 169, 216, 223,
+  221, 229, 214, 189, 150, 122, 130, 157, 170, 171, 190, 194, 151, 160, 143, 170,
+  155, 168, 232, 227, 218, 207, 199, 200, 205, 209, 186, 179, 168, 149, 140, 153,
+  190, 222, 220, 219, 220, 227, 234, 224, 199, 172, 160, 158, 163, 165, 170, 175,
+  184, 194, 195, 198, 198, 191, 181, 179, 187, 199, 237, 212, 148, 159, 176, 137,
+  141, 171, 134, 175, 190, 160, 138, 151, 173, 180, 213, 236, 238, 210, 219, 186,
+  135, 76, 121, 122, 135, 145, 122, 60, 87, 92, 120, 114, 66, 69, 87, 80,
+  92, 98, 90, 80, 81, 90, 81, 60, 63, 255, 255, 255, 195, 75, 73, 65,
+  62, 65, 106, 86, 81, 96, 80, 67, 70, 89, 121, 119, 115, 146, 120, 97,
+  97, 186, 209, 218, 223, 211, 205, 180, 141, 122, 144, 93, 182, 217, 233, 163,
+  92, 89, 58, 84, 87, 149, 150, 237, 226, 221, 227, 189, 176, 164, 179, 143,
+  122, 148, 197, 218, 223, 233, 233, 229, 227, 228, 231, 236, 237, 231, 183, 164,
+  152, 194, 168, 173, 198, 190, 205, 200, 195, 196, 209, 226, 230, 227, 208, 169,
+  158, 110, 100, 139, 156, 186, 231, 159, 145, 191, 161, 133, 139, 181, 197, 218,
+  228, 222, 216, 197, 148, 98, 97, 140, 123, 143, 118, 87, 124, 93, 115, 101,
+  71, 40, 98, 85, 122, 138, 169, 140, 111, 65, 64, 57, 76, 255, 255, 255,
+  74, 74, 89, 85, 99, 101, 99, 91, 103, 109, 87, 78, 107, 82, 135, 120,
+  139, 128, 111, 94, 104, 188, 208, 218, 220, 206, 197, 170, 114, 143, 99, 167,
+  226, 224, 218, 127, 110, 81, 105, 205, 120, 142, 126, 229, 236, 217, 207, 184,
+  185, 169, 136, 130, 137, 172, 218, 237, 242, 248, 236, 230, 227, 227, 233, 237,
+  240, 235, 211, 176, 166, 175, 169, 164, 191, 193, 172, 187, 204, 208, 213, 221,
+  229, 235, 190, 147, 103, 91, 85, 95, 130, 143, 224, 228, 202, 140, 173, 143,
+  139, 149, 193, 210, 217, 213, 210, 195, 151, 103, 89, 133, 125, 146, 125, 88,
+  112, 80, 107, 72, 49, 56, 67, 86, 114, 91, 71, 71, 61, 57, 55, 67,
+  76, 255, 255, 255, 73, 73, 78, 51, 60, 93, 96, 121, 122, 95, 83, 87,
+  101, 108, 123, 136, 142, 127, 101, 93, 118, 193, 213, 217, 218, 207, 194, 167,
+  121, 113, 137, 202, 226, 225, 204, 114, 107, 64, 100, 217, 114, 110, 136, 196,
+  198, 191, 186, 170, 169, 142, 113, 140, 171, 202, 233, 243, 243, 246, 238, 234,
+  231, 232, 236, 241, 245, 239, 233, 191, 184, 157, 171, 162, 175, 182, 181, 182,
+  185, 188, 199, 213, 216, 217, 153, 150, 121, 166, 159, 107, 129, 107, 210, 224,
+  214, 203, 122, 131, 131, 144, 182, 198, 207, 208, 211, 204, 169, 130, 87, 126,
+  126, 149, 136, 103, 114, 88, 95, 114, 69, 77, 74, 101, 103, 117, 105, 110,
+  91, 92, 68, 77, 65, 255, 255, 255, 72, 72, 74, 67, 77, 113, 97, 106,
+  101, 100, 92, 93, 95, 134, 115, 129, 131, 126, 94, 95, 138, 200, 217, 220,
+  218, 204, 168, 131, 89, 105, 135, 179, 152, 183, 165, 137, 124, 134, 162, 221,
+  207, 217, 202, 197, 185, 194, 186, 161, 155, 134, 119, 163, 199, 219, 239, 246,
+  241, 240, 241, 236, 235, 236, 239, 243, 246, 242, 236, 210, 203, 161, 170, 176,
+  161, 162, 191, 184, 177, 178, 188, 195, 192, 188, 119, 118, 83, 114, 102, 71,
+  128, 136, 204, 230, 226, 193, 171, 97, 88, 147, 163, 188, 204, 209, 212, 208,
+  184, 156, 100, 128, 131, 151, 150, 126, 127, 117, 67, 105, 53, 49, 54, 84,
+  86, 120, 116, 157, 177, 162, 103, 74, 69, 255, 255, 255, 71, 71, 77, 84,
+  84, 120, 120, 108, 85, 110, 106, 104, 122, 124, 126, 105, 134, 108, 93, 100,
+  158, 204, 216, 216, 212, 196, 185, 89, 138, 117, 166, 146, 181, 168, 196, 212,
+  198, 225, 220, 210, 222, 221, 226, 205, 189, 189, 166, 144, 146, 138, 139, 183,
+  211, 220, 237, 249, 251, 248, 243, 240, 238, 239, 243, 245, 246, 242, 228, 228,
+  217, 178, 166, 197, 170, 165, 161, 174, 189, 194, 188, 182, 182, 187, 211, 215,
+  208, 210, 180, 143, 150, 136, 131, 160, 154, 132, 154, 126, 112, 135, 152, 180,
+  203, 208, 204, 196, 178, 160, 107, 124, 131, 146, 155, 137, 122, 126, 101, 84,
+  57, 60, 67, 108, 139, 121, 151, 122, 91, 58, 65, 68, 79, 255, 255, 255,
+  72, 72, 78, 80, 72, 101, 132, 118, 88, 107, 85, 121, 117, 117, 110, 125,
+  140, 97, 97, 104, 172, 201, 212, 208, 201, 182, 148, 117, 120, 147, 138, 181,
+  173, 190, 192, 202, 211, 220, 223, 229, 218, 207, 202, 189, 169, 153, 144, 153,
+  148, 122, 172, 204, 216, 216, 230, 245, 248, 249, 246, 241, 238, 239, 243, 245,
+  245, 239, 228, 235, 221, 199, 171, 203, 193, 191, 163, 167, 176, 184, 189, 191,
+  197, 207, 216, 211, 220, 220, 216, 220, 214, 200, 208, 203, 186, 194, 137, 154,
+  135, 124, 145, 174, 200, 206, 202, 195, 184, 171, 112, 118, 130, 140, 155, 137,
+  103, 115, 84, 79, 59, 48, 78, 92, 125, 121, 100, 107, 125, 94, 84, 57,
+  72, 255, 255, 255, 73, 74, 81, 99, 117, 109, 103, 83, 91, 103, 74, 131,
+  93, 125, 110, 152, 135, 96, 106, 112, 185, 199, 208, 203, 191, 169, 151, 155,
+  153, 150, 188, 203, 202, 221, 216, 212, 219, 209, 218, 232, 216, 201, 186, 177,
+  164, 150, 165, 181, 164, 139, 196, 217, 221, 215, 224, 233, 238, 241, 245, 242,
+  239, 237, 238, 238, 238, 233, 232, 228, 224, 221, 192, 188, 211, 209, 196, 180,
+  167, 169, 178, 188, 197, 205, 215, 209, 218, 225, 230, 239, 234, 219, 215, 222,
+  218, 179, 205, 146, 140, 162, 147, 168, 189, 198, 200, 198, 188, 177, 123, 118,
+  127, 130, 150, 136, 93, 116, 74, 98, 68, 45, 79, 69, 90, 127, 96, 99,
+  103, 89, 78, 72, 76, 255, 255, 255, 74, 75, 75, 73, 98, 80, 79, 87,
+  110, 80, 99, 132, 103, 121, 150, 143, 135, 92, 114, 120, 192, 200, 208, 203,
+  189, 165, 164, 140, 151, 183, 182, 197, 216, 204, 206, 213, 205, 210, 204, 180,
+  184, 173, 163, 168, 175, 176, 178, 174, 161, 171, 198, 216, 221, 216, 221, 228,
+  231, 238, 242, 241, 237, 237, 235, 232, 230, 227, 234, 218, 228, 237, 211, 168,
+  213, 210, 207, 202, 193, 184, 170, 162, 171, 186, 205, 209, 212, 225, 219, 208,
+  221, 209, 215, 205, 206, 214, 184, 187, 172, 142, 158, 170, 183, 189, 192, 191,
+  179, 165, 140, 126, 129, 125, 148, 142, 101, 134, 105, 87, 61, 59, 53, 61,
+  94, 101, 133, 139, 125, 120, 92, 93, 79, 255, 255, 255, 194, 72, 74, 73,
+  44, 105, 124, 119, 83, 135, 92, 130, 88, 138, 139, 177, 101, 127, 94, 157,
+  202, 199, 191, 185, 173, 162, 144, 149, 160, 173, 186, 196, 209, 213, 208, 199,
+  186, 172, 166, 167, 174, 180, 174, 186, 194, 197, 218, 155, 147, 204, 219, 204,
+  214, 216, 178, 198, 208, 224, 245, 228, 245, 230, 232, 223, 217, 195, 219, 230,
+  227, 228, 228, 199, 185, 204, 222, 231, 206, 193, 182, 172, 182, 165, 165, 177,
+  194, 208, 214, 216, 218, 216, 216, 216, 212, 206, 198, 188, 181, 177, 154, 159,
+  162, 167, 181, 193, 184, 165, 141, 130, 122, 132, 154, 158, 95, 137, 153, 101,
+  68, 57, 48, 81, 77, 98, 107, 86, 97, 102, 92, 105, 62, 255, 255, 255,
+  255, 72, 54, 94, 108, 107, 104, 97, 111, 152, 100, 127, 118, 135, 145, 147,
+  114, 136, 100, 155, 192, 181, 170, 166, 160, 156, 158, 161, 171, 178, 185, 190,
+  195, 196, 172, 170, 167, 164, 165, 170, 177, 183, 198, 199, 214, 211, 195, 168,
+  185, 211, 210, 211, 204, 186, 133, 115, 142, 243, 230, 224, 236, 222, 228, 216,
+  138, 142, 153, 205, 228, 226, 226, 213, 188, 175, 215, 234, 222, 214, 200, 184,
+  190, 174, 167, 170, 177, 182, 190, 200, 211, 219, 217, 216, 214, 208, 201, 191,
+  183, 176, 166, 162, 157, 157, 171, 185, 181, 165, 156, 152, 134, 119, 140, 164,
+  110, 132, 149, 108, 82, 55, 51, 78, 84, 94, 132, 133, 104, 113, 97, 77,
+  92, 255, 255, 255, 255, 72, 78, 58, 77, 87, 120, 89, 103, 108, 98, 94,
+  143, 124, 188, 130, 154, 146, 124, 164, 186, 170, 161, 160, 162, 164, 168, 167,
+  171, 172, 171, 166, 165, 165, 153, 158, 166, 174, 182, 189, 195, 199, 223, 216,
+  230, 222, 174, 189, 224, 221, 220, 191, 135, 126, 123, 89, 80, 193, 221, 229,
+  233, 221, 227, 200, 60, 78, 129, 146, 166, 203, 237, 229, 204, 195, 202, 226,
+  233, 234, 220, 204, 205, 191, 186, 179, 175, 170, 170, 177, 185, 193, 201, 202,
+  203, 200, 197, 191, 186, 180, 179, 171, 157, 150, 159, 174, 176, 168, 141, 141,
+  136, 127, 144, 157, 100, 98, 152, 123, 97, 63, 52, 75, 85, 89, 92, 89,
+  99, 90, 78, 56, 59, 255, 255, 255, 255, 70, 63, 79, 118, 95, 108, 105,
+  121, 84, 123, 119, 103, 148, 140, 146, 129, 121, 145, 171, 180, 168, 165, 171,
+  173, 175, 173, 167, 163, 156, 152, 148, 148, 148, 165, 173, 185, 196, 204, 211,
+  215, 218, 231, 228, 228, 222, 174, 205, 234, 229, 214, 192, 137, 116, 108, 86,
+  87, 198, 223, 234, 233, 224, 222, 171, 45, 47, 116, 112, 132, 190, 236, 236,
+  227, 230, 190, 211, 229, 235, 231, 222, 220, 213, 202, 198, 190, 182, 173, 169,
+  168, 167, 176, 178, 178, 182, 185, 188, 188, 190, 185, 178, 163, 150, 150, 160,
+  168, 168, 173, 145, 131, 124, 132, 138, 117, 134, 131, 112, 82, 80, 60, 92,
+  102, 120, 88, 111, 97, 111, 111, 55, 91, 255, 255, 255, 255, 70, 85, 43,
+  65, 114, 116, 89, 90, 93, 155, 126, 119, 125, 151, 129, 156, 133, 150, 163,
+  166, 162, 174, 183, 179, 175, 172, 164, 157, 149, 149, 153, 161, 169, 188, 195,
+  204, 212, 217, 222, 225, 229, 229, 236, 219, 219, 201, 222, 228, 237, 195, 181,
+  134, 92, 64, 86, 118, 196, 226, 232, 235, 229, 216, 148, 98, 68, 84, 122,
+  168, 200, 218, 230, 236, 232, 195, 206, 225, 231, 233, 235, 229, 226, 211, 210,
+  205, 201, 194, 185, 179, 173, 170, 170, 168, 170, 175, 181, 185, 189, 187, 186,
+  178, 163, 153, 154, 163, 170, 151, 139, 153, 155, 150, 138, 119, 110, 132, 111,
+  66, 101, 64, 90, 91, 123, 131, 88, 121, 81, 85, 83, 53, 255, 255, 255,
+  255, 193, 60, 76, 102, 122, 86, 95, 117, 133, 117, 129, 118, 152, 146, 147,
+  163, 151, 148, 158, 162, 168, 186, 190, 181, 176, 165, 160, 156, 153, 158, 173,
+  187, 199, 208, 212, 219, 222, 227, 229, 232, 237, 228, 239, 219, 214, 224, 233,
+  230, 244, 232, 203, 159, 128, 120, 171, 182, 196, 231, 233, 243, 237, 213, 163,
+  172, 130, 110, 128, 170, 209, 219, 226, 235, 236, 207, 209, 227, 230, 233, 239,
+  230, 234, 229, 225, 220, 214, 209, 204, 197, 192, 188, 184, 178, 175, 176, 179,
+  182, 185, 189, 192, 190, 178, 163, 156, 161, 168, 161, 155, 159, 126, 110, 120,
+  134, 108, 143, 113, 63, 104, 68, 78, 79, 106, 136, 117, 106, 98, 95, 76,
+  76, 255, 255, 255, 255, 255, 83, 49, 48, 98, 102, 97, 101, 123, 93, 117,
+  138, 131, 161, 115, 152, 122, 151, 162, 172, 182, 196, 196, 184, 179, 162, 161,
+  164, 169, 178, 190, 204, 213, 222, 225, 230, 230, 232, 234, 236, 240, 231, 238,
+  230, 212, 229, 234, 242, 242, 225, 214, 191, 176, 166, 195, 190, 207, 233, 241,
+  251, 240, 209, 195, 204, 183, 174, 145, 166, 217, 233, 229, 236, 244, 210, 209,
+  233, 233, 234, 239, 225, 235, 241, 236, 230, 224, 219, 216, 210, 203, 202, 199,
+  194, 190, 188, 188, 187, 188, 197, 198, 197, 190, 178, 168, 166, 168, 159, 159,
+  178, 154, 134, 131, 140, 87, 129, 96, 60, 87, 84, 80, 99, 107, 107, 93,
+  110, 105, 88, 85, 56, 255, 255, 255, 255, 255, 69, 71, 82, 98, 103, 101,
+  112, 126, 100, 139, 123, 143, 152, 154, 176, 163, 154, 168, 180, 190, 199, 192,
+  183, 183, 174, 177, 185, 194, 201, 208, 216, 220, 230, 233, 236, 236, 234, 233,
+  234, 235, 234, 235, 240, 208, 215, 226, 249, 233, 229, 219, 189, 185, 193, 205,
+  190, 230, 227, 244, 248, 231, 200, 220, 201, 207, 197, 191, 210, 231, 228, 232,
+  237, 225, 199, 204, 237, 237, 235, 239, 227, 242, 235, 233, 231, 230, 231, 228,
+  222, 217, 208, 206, 206, 204, 203, 201, 200, 200, 205, 203, 200, 197, 189, 177,
+  169, 166, 170, 145, 158, 147, 128, 113, 132, 91, 150, 112, 81, 77, 91, 68,
+  94, 78, 90, 116, 97, 121, 88, 62, 71, 255, 255, 255, 255, 255, 195, 68,
+  87, 146, 75, 154, 132, 112, 103, 134, 113, 159, 132, 176, 172, 178, 161, 180,
+  200, 196, 190, 190, 188, 183, 189, 194, 202, 211, 220, 229, 235, 239, 238, 239,
+  242, 243, 244, 245, 244, 242, 240, 241, 232, 210, 197, 204, 218, 224, 210, 196,
+  188, 194, 202, 208, 214, 224, 237, 240, 239, 231, 224, 220, 216, 212, 212, 215,
+  221, 224, 227, 223, 221, 217, 176, 205, 230, 237, 240, 245, 249, 244, 239, 237,
+  237, 236, 236, 235, 235, 233, 226, 221, 216, 212, 212, 211, 208, 207, 211, 208,
+  205, 206, 203, 191, 172, 158, 161, 167, 142, 156, 150, 127, 130, 89, 172, 96,
+  92, 83, 88, 79, 87, 81, 94, 106, 100, 144, 87, 107, 74, 255, 255, 255,
+  255, 255, 255, 57, 119, 63, 132, 120, 101, 104, 107, 119, 133, 158, 159, 179,
+  196, 170, 167, 185, 197, 195, 188, 189, 188, 186, 198, 203, 212, 221, 229, 237,
+  241, 244, 244, 244, 244, 244, 244, 244, 244, 240, 236, 240, 233, 211, 188, 178,
+  179, 179, 175, 170, 175, 191, 205, 213, 224, 231, 239, 241, 239, 233, 231, 229,
+  226, 220, 209, 206, 207, 210, 213, 210, 202, 194, 188, 212, 232, 236, 239, 246,
+  249, 242, 242, 238, 239, 239, 240, 240, 240, 239, 233, 228, 225, 220, 220, 217,
+  214, 212, 211, 209, 207, 208, 207, 197, 184, 170, 160, 174, 156, 160, 142, 118,
+  126, 91, 160, 79, 107, 71, 81, 98, 81, 114, 102, 113, 95, 104, 49, 61,
+  52, 255, 255, 255, 255, 255, 255, 188, 98, 111, 83, 119, 124, 119, 105, 106,
+  142, 153, 182, 178, 202, 157, 177, 188, 196, 193, 188, 190, 192, 190, 205, 211,
+  219, 229, 234, 240, 243, 243, 244, 243, 242, 241, 241, 241, 239, 238, 231, 235,
+  228, 204, 178, 159, 152, 149, 156, 162, 178, 196, 211, 219, 231, 238, 240, 241,
+  238, 234, 236, 235, 230, 220, 211, 202, 195, 192, 191, 184, 170, 159, 196, 213,
+  226, 230, 233, 241, 243, 238, 240, 238, 240, 240, 241, 241, 241, 241, 239, 234,
+  230, 225, 225, 222, 218, 216, 213, 210, 208, 209, 208, 201, 192, 181, 159, 176,
+  165, 157, 131, 111, 123, 99, 117, 103, 96, 91, 102, 81, 90, 100, 102, 107,
+  86, 89, 77, 83, 69, 255, 255, 255, 255, 255, 255, 255, 75, 94, 115, 104,
+  153, 123, 98, 118, 129, 148, 182, 178, 177, 152, 188, 193, 193, 188, 185, 191,
+  196, 200, 214, 218, 227, 234, 238, 240, 243, 242, 244, 241, 240, 239, 239, 238,
+  239, 237, 232, 224, 211, 191, 170, 156, 153, 151, 154, 165, 184, 201, 212, 219,
+  230, 236, 238, 240, 237, 234, 237, 238, 229, 217, 215, 205, 194, 183, 176, 170,
+  159, 153, 189, 199, 212, 219, 229, 237, 241, 237, 238, 238, 240, 240, 242, 242,
+  242, 242, 242, 239, 234, 232, 229, 225, 221, 219, 220, 216, 212, 209, 207, 201,
+  193, 184, 161, 171, 160, 148, 127, 115, 123, 100, 87, 117, 84, 95, 108, 70,
+  89, 86, 92, 98, 85, 82, 100, 93, 73, 255, 255, 255, 255, 255, 255, 255,
+  70, 86, 135, 114, 161, 62, 101, 147, 110, 152, 168, 178, 140, 163, 197, 195,
+  189, 184, 184, 193, 204, 210, 219, 222, 230, 235, 238, 240, 242, 241, 241, 239,
+  239, 239, 237, 237, 238, 234, 228, 212, 194, 178, 167, 159, 155, 153, 155, 169,
+  187, 199, 209, 218, 227, 235, 239, 239, 237, 235, 238, 238, 229, 217, 213, 207,
+  199, 187, 179, 177, 177, 178, 178, 186, 199, 210, 223, 231, 237, 237, 237, 237,
+  238, 238, 240, 240, 242, 242, 242, 240, 236, 234, 231, 227, 223, 220, 225, 220,
+  214, 209, 205, 200, 193, 187, 165, 160, 149, 145, 135, 125, 117, 87, 89, 97,
+  94, 66, 83, 95, 75, 110, 113, 123, 111, 82, 81, 67, 64, 255, 255, 255,
+  255, 255, 255, 255, 255, 144, 98, 160, 136, 53, 115, 162, 107, 157, 155, 164,
+  125, 181, 199, 194, 187, 184, 188, 199, 210, 218, 224, 227, 233, 236, 239, 239,
+  240, 240, 238, 237, 237, 237, 237, 235, 232, 228, 217, 200, 183, 172, 165, 155,
+  146, 144, 158, 174, 191, 201, 211, 224, 234, 241, 236, 240, 239, 236, 236, 238,
+  232, 222, 218, 213, 207, 192, 180, 174, 179, 182, 175, 181, 193, 204, 213, 222,
+  227, 229, 234, 236, 237, 237, 240, 240, 242, 242, 241, 240, 236, 235, 235, 231,
+  226, 222, 223, 221, 215, 212, 208, 201, 198, 192, 173, 151, 144, 149, 146, 132,
+  109, 79, 79, 103, 90, 71, 80, 100, 83, 104, 120, 127, 116, 92, 83, 76,
+  135, 255, 255, 255, 255, 255, 255, 255, 255, 104, 138, 143, 93, 111, 128, 141,
+  117, 154, 145, 129, 133, 188, 193, 187, 186, 189, 198, 206, 215, 220, 230, 232,
+  234, 235, 238, 239, 242, 242, 236, 236, 237, 235, 232, 227, 223, 216, 199, 185,
+  173, 165, 155, 146, 143, 149, 170, 187, 198, 205, 215, 227, 235, 237, 230, 234,
+  235, 233, 233, 236, 234, 228, 228, 221, 213, 197, 183, 172, 169, 167, 174, 179,
+  186, 195, 202, 207, 214, 224, 230, 233, 235, 236, 239, 239, 242, 242, 242, 239,
+  236, 236, 237, 234, 229, 226, 225, 221, 217, 214, 210, 203, 201, 196, 185, 149,
+  140, 144, 138, 124, 109, 101, 62, 108, 88, 86, 83, 96, 96, 96, 91, 95,
+  93, 88, 74, 81, 255, 255, 255, 255, 255, 255, 255, 255, 255, 83, 126, 103,
+  104, 110, 134, 110, 126, 143, 136, 94, 146, 184, 188, 184, 186, 194, 205, 212,
+  217, 221, 234, 235, 235, 235, 238, 239, 243, 242, 235, 234, 236, 233, 228, 222,
+  213, 207, 185, 173, 163, 154, 145, 140, 148, 164, 179, 194, 203, 206, 212, 220,
+  223, 221, 222, 228, 230, 229, 228, 233, 234, 233, 232, 225, 216, 206, 194, 185,
+  173, 165, 173, 175, 180, 185, 190, 196, 208, 219, 227, 232, 234, 235, 236, 239,
+  241, 241, 242, 241, 239, 238, 238, 235, 233, 228, 228, 227, 222, 216, 211, 205,
+  200, 195, 196, 151, 135, 133, 123, 116, 118, 131, 63, 75, 104, 67, 58, 121,
+  89, 128, 86, 101, 107, 97, 52, 62, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 102, 138, 121, 132, 148, 155, 104, 107, 131, 112, 108, 150, 185, 190, 179,
+  199, 204, 204, 215, 218, 228, 234, 237, 238, 240, 242, 241, 240, 237, 233, 235,
+  236, 228, 222, 217, 201, 184, 175, 167, 156, 150, 151, 158, 170, 182, 188, 193,
+  194, 199, 203, 207, 207, 208, 209, 204, 206, 213, 213, 210, 218, 228, 228, 224,
+  221, 218, 212, 199, 182, 168, 171, 175, 182, 186, 187, 191, 198, 206, 218, 228,
+  237, 239, 235, 234, 241, 246, 241, 241, 239, 237, 236, 234, 234, 234, 235, 230,
+  225, 220, 216, 209, 202, 196, 194, 155, 135, 125, 139, 120, 118, 111, 77, 52,
+  107, 81, 63, 81, 137, 118, 85, 97, 88, 78, 85, 83, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 84, 113, 122, 138, 139, 176, 117, 108, 121, 103, 106,
+  152, 186, 188, 179, 201, 207, 208, 219, 221, 229, 236, 238, 240, 240, 242, 241,
+  240, 235, 232, 231, 231, 225, 216, 203, 190, 176, 164, 161, 159, 162, 167, 175,
+  183, 191, 194, 201, 203, 205, 209, 213, 216, 219, 216, 217, 219, 220, 215, 211,
+  215, 223, 224, 219, 215, 215, 213, 208, 197, 190, 180, 179, 176, 178, 183, 190,
+  196, 202, 215, 220, 226, 229, 235, 237, 240, 243, 241, 241, 239, 239, 237, 236,
+  236, 234, 235, 232, 227, 220, 217, 209, 202, 196, 187, 157, 135, 114, 128, 117,
+  111, 90, 91, 61, 99, 66, 60, 78, 127, 117, 93, 83, 87, 86, 68, 66,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 110, 126, 92, 94, 166, 160, 102,
+  90, 107, 97, 110, 156, 188, 184, 179, 203, 211, 213, 222, 225, 232, 237, 240,
+  240, 242, 242, 241, 238, 235, 234, 227, 225, 220, 206, 187, 177, 171, 161, 165,
+  170, 179, 187, 192, 195, 197, 207, 211, 212, 214, 215, 218, 221, 223, 216, 226,
+  231, 227, 221, 220, 222, 222, 221, 216, 213, 212, 215, 217, 214, 212, 198, 189,
+  178, 176, 181, 191, 197, 203, 212, 212, 214, 221, 234, 240, 241, 237, 241, 241,
+  239, 239, 237, 236, 236, 236, 237, 233, 228, 223, 218, 212, 203, 196, 185, 163,
+  141, 112, 125, 121, 111, 80, 85, 66, 93, 60, 70, 72, 97, 91, 124, 72,
+  67, 81, 64, 69, 255, 255, 255, 255, 255, 255, 255, 255, 255, 97, 112, 135,
+  96, 154, 129, 80, 78, 99, 100, 118, 160, 181, 186, 178, 204, 213, 214, 226,
+  230, 237, 239, 240, 242, 242, 242, 241, 238, 235, 233, 222, 215, 209, 196, 178,
+  172, 177, 177, 181, 187, 195, 199, 202, 201, 203, 212, 213, 212, 214, 218, 218,
+  215, 212, 206, 222, 231, 226, 222, 224, 226, 223, 227, 221, 217, 215, 217, 220,
+  219, 219, 216, 207, 197, 189, 191, 196, 203, 209, 211, 209, 210, 219, 231, 239,
+  240, 236, 241, 241, 239, 239, 239, 237, 237, 236, 237, 235, 230, 224, 219, 212,
+  204, 197, 186, 162, 141, 116, 131, 124, 113, 83, 87, 80, 94, 59, 83, 72,
+  81, 90, 134, 83, 64, 68, 65, 77, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 102, 126, 173, 89, 157, 119, 81, 84, 103, 101, 120, 157, 170, 189, 180,
+  204, 212, 213, 226, 232, 241, 239, 242, 242, 242, 242, 241, 238, 235, 231, 218,
+  208, 201, 191, 178, 180, 190, 197, 198, 199, 202, 205, 208, 211, 212, 212, 210,
+  208, 213, 220, 220, 212, 203, 200, 215, 226, 222, 218, 220, 220, 216, 226, 225,
+  223, 221, 221, 222, 221, 220, 226, 222, 217, 208, 204, 204, 210, 215, 213, 214,
+  217, 223, 229, 234, 238, 239, 241, 241, 241, 239, 239, 237, 237, 237, 240, 236,
+  231, 227, 220, 213, 205, 198, 187, 156, 136, 117, 131, 115, 102, 80, 106, 97,
+  94, 51, 84, 76, 94, 125, 109, 101, 79, 61, 62, 69, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 97, 118, 194, 98, 117, 107, 79, 87, 101, 95, 118,
+  159, 170, 192, 182, 202, 211, 212, 228, 234, 244, 241, 242, 242, 242, 242, 241,
+  238, 235, 226, 216, 206, 198, 193, 191, 195, 203, 206, 206, 206, 207, 211, 216,
+  221, 223, 221, 215, 214, 219, 227, 228, 220, 211, 210, 217, 225, 223, 220, 219,
+  218, 215, 221, 222, 224, 225, 225, 225, 224, 223, 227, 228, 229, 225, 217, 214,
+  217, 218, 217, 220, 225, 225, 229, 230, 237, 241, 241, 241, 241, 241, 239, 239,
+  237, 237, 241, 236, 233, 227, 221, 214, 205, 199, 190, 158, 138, 120, 130, 109,
+  97, 79, 97, 87, 83, 46, 85, 75, 92, 128, 100, 100, 71, 49, 64, 77,
+  255, 255, 255, 255, 255, 255, 255, 255, 198, 137, 147, 144, 80, 121, 86, 70,
+  87, 100, 89, 115, 159, 172, 191, 182, 204, 213, 216, 228, 232, 241, 241, 244,
+  244, 244, 242, 241, 238, 235, 221, 216, 209, 201, 202, 207, 212, 212, 207, 209,
+  212, 214, 219, 222, 226, 227, 225, 223, 221, 221, 219, 218, 216, 214, 206, 205,
+  210, 217, 221, 220, 223, 223, 217, 219, 223, 225, 225, 226, 226, 225, 226, 228,
+  231, 230, 229, 228, 226, 223, 221, 223, 227, 227, 230, 232, 239, 242, 241, 241,
+  241, 241, 239, 239, 237, 237, 242, 237, 234, 228, 221, 215, 206, 199, 188, 167,
+  149, 121, 126, 113, 105, 83, 96, 78, 77, 48, 89, 75, 82, 109, 121, 88,
+  59, 53, 67, 82, 255, 255, 255, 255, 255, 255, 255, 255, 91, 133, 135, 138,
+  111, 104, 74, 68, 94, 108, 93, 115, 155, 165, 189, 182, 205, 216, 218, 228,
+  229, 237, 241, 242, 244, 242, 242, 239, 238, 235, 219, 219, 216, 208, 212, 221,
+  223, 216, 207, 211, 214, 218, 221, 222, 222, 221, 218, 217, 213, 206, 196, 192,
+  195, 200, 184, 178, 184, 199, 210, 215, 219, 227, 218, 218, 222, 222, 223, 222,
+  224, 224, 228, 227, 227, 232, 238, 239, 236, 230, 228, 225, 227, 228, 232, 236,
+  240, 241, 241, 241, 241, 241, 239, 239, 237, 239, 242, 239, 234, 228, 222, 215,
+  206, 200, 176, 168, 154, 115, 121, 119, 114, 85, 128, 95, 83, 48, 90, 78,
+  88, 115, 132, 82, 71, 74, 58, 67, 255, 255, 255, 255, 255, 255, 255, 255,
+  100, 134, 132, 138, 114, 102, 48, 60, 99, 94, 91, 107, 155, 167, 182, 191,
+  202, 211, 216, 225, 233, 238, 240, 239, 241, 240, 241, 237, 233, 229, 225, 226,
+  222, 215, 220, 230, 226, 215, 212, 215, 214, 208, 207, 213, 217, 215, 189, 177,
+  167, 165, 163, 157, 154, 156, 171, 161, 154, 155, 165, 175, 177, 177, 194, 202,
+  211, 214, 214, 216, 222, 228, 227, 226, 229, 232, 236, 242, 243, 240, 239, 238,
+  236, 233, 231, 233, 237, 240, 239, 239, 239, 239, 239, 239, 239, 239, 240, 242,
+  240, 229, 219, 212, 204, 195, 178, 165, 136, 122, 115, 116, 114, 78, 110, 105,
+  58, 69, 87, 85, 82, 113, 110, 133, 67, 97, 76, 81, 255, 255, 255, 255,
+  255, 255, 255, 197, 125, 130, 129, 101, 105, 87, 48, 55, 94, 95, 99, 112,
+  158, 165, 182, 191, 202, 211, 216, 222, 232, 237, 238, 239, 239, 240, 238, 237,
+  231, 228, 223, 224, 228, 232, 232, 225, 218, 214, 206, 206, 205, 208, 214, 212,
+  192, 172, 146, 150, 165, 187, 203, 207, 209, 212, 213, 204, 194, 191, 197, 198,
+  194, 188, 156, 145, 143, 164, 199, 221, 224, 216, 214, 218, 224, 232, 238, 239,
+  239, 236, 239, 239, 237, 235, 233, 234, 238, 241, 239, 239, 239, 239, 239, 239,
+  239, 241, 240, 244, 239, 229, 219, 211, 202, 192, 174, 162, 132, 119, 114, 114,
+  112, 76, 91, 106, 59, 36, 54, 80, 98, 115, 128, 112, 48, 66, 75, 75,
+  145, 255, 255, 255, 255, 255, 255, 65, 153, 182, 140, 76, 116, 50, 59, 53,
+  83, 88, 96, 106, 151, 160, 181, 190, 201, 210, 216, 222, 232, 236, 237, 237,
+  237, 238, 238, 236, 231, 228, 224, 222, 229, 242, 239, 224, 218, 223, 212, 211,
+  209, 208, 206, 191, 164, 141, 147, 159, 181, 203, 218, 220, 220, 222, 229, 223,
+  217, 218, 223, 223, 216, 209, 215, 195, 168, 153, 157, 174, 194, 207, 212, 212,
+  211, 215, 221, 227, 233, 235, 235, 237, 237, 236, 235, 235, 238, 241, 239, 239,
+  239, 239, 239, 239, 239, 241, 240, 241, 239, 228, 220, 211, 200, 190, 172, 160,
+  132, 121, 115, 114, 112, 77, 73, 96, 66, 36, 47, 61, 81, 86, 143, 116,
+  81, 52, 75, 74, 88, 255, 255, 255, 255, 255, 255, 97, 138, 157, 147, 73,
+  88, 91, 93, 73, 90, 94, 102, 110, 156, 174, 179, 189, 201, 210, 215, 221,
+  229, 235, 237, 237, 237, 238, 238, 235, 231, 227, 228, 226, 230, 235, 236, 228,
+  226, 231, 219, 216, 206, 191, 169, 154, 144, 139, 140, 147, 157, 162, 161, 158,
+  159, 161, 156, 152, 153, 157, 163, 166, 162, 155, 145, 153, 158, 150, 139, 140,
+  159, 178, 192, 191, 193, 199, 211, 222, 230, 236, 235, 238, 239, 237, 235, 235,
+  236, 238, 239, 239, 239, 239, 239, 239, 239, 239, 239, 241, 238, 228, 219, 211,
+  199, 186, 171, 160, 133, 125, 119, 115, 113, 81, 85, 85, 64, 55, 60, 43,
+  60, 77, 113, 119, 134, 56, 69, 70, 84, 255, 255, 255, 255, 255, 208, 71,
+  140, 169, 110, 85, 91, 79, 105, 74, 87, 95, 102, 103, 148, 171, 178, 188,
+  200, 210, 215, 221, 227, 233, 237, 236, 236, 237, 236, 234, 230, 225, 225, 229,
+  230, 229, 232, 234, 226, 214, 201, 191, 174, 156, 140, 135, 142, 153, 167, 172,
+  176, 175, 173, 175, 182, 185, 188, 183, 182, 184, 189, 192, 191, 186, 179, 174,
+  170, 165, 159, 151, 143, 139, 147, 153, 165, 181, 199, 212, 220, 226, 235, 239,
+  240, 239, 236, 234, 234, 235, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  235, 227, 219, 211, 197, 181, 169, 157, 135, 128, 121, 114, 112, 80, 117, 97,
+  60, 55, 53, 44, 71, 99, 79, 99, 139, 63, 68, 63, 72, 77, 255, 255,
+  255, 255, 57, 91, 145, 149, 133, 115, 65, 74, 113, 72, 80, 98, 107, 102,
+  140, 160, 177, 185, 198, 208, 214, 220, 226, 232, 236, 236, 236, 237, 236, 234,
+  228, 225, 222, 231, 234, 229, 230, 228, 211, 187, 171, 156, 140, 137, 143, 148,
+  155, 162, 169, 177, 181, 184, 187, 192, 194, 196, 184, 180, 178, 179, 184, 189,
+  190, 186, 192, 176, 162, 158, 160, 164, 163, 158, 144, 140, 140, 147, 162, 180,
+  193, 207, 231, 238, 240, 240, 238, 235, 234, 234, 239, 239, 239, 239, 239, 239,
+  239, 239, 240, 239, 234, 225, 219, 209, 193, 178, 165, 153, 132, 127, 118, 109,
+  105, 76, 129, 128, 81, 66, 39, 62, 82, 89, 103, 95, 113, 85, 84, 68,
+  60, 84, 255, 255, 255, 194, 71, 86, 133, 133, 130, 129, 133, 118, 159, 97,
+  89, 107, 124, 115, 149, 167, 176, 184, 197, 208, 214, 220, 226, 229, 235, 234,
+  235, 235, 236, 234, 228, 224, 224, 229, 234, 234, 230, 216, 198, 182, 174, 163,
+  156, 158, 165, 168, 171, 177, 182, 189, 193, 195, 199, 204, 202, 197, 199, 197,
+  198, 200, 205, 210, 211, 209, 196, 197, 200, 199, 192, 181, 168, 159, 166, 158,
+  147, 145, 151, 166, 181, 196, 225, 233, 237, 238, 237, 236, 235, 235, 237, 237,
+  237, 237, 237, 237, 237, 237, 238, 236, 233, 224, 219, 208, 192, 175, 163, 151,
+  131, 127, 118, 106, 103, 73, 129, 159, 118, 105, 51, 89, 88, 77, 125, 107,
+  92, 104, 93, 78, 53, 80, 255, 255, 255, 61, 75, 97, 113, 130, 190, 156,
+  173, 165, 190, 107, 81, 92, 113, 107, 141, 159, 174, 184, 197, 208, 214, 218,
+  223, 228, 235, 234, 234, 235, 236, 232, 228, 224, 233, 229, 232, 237, 226, 206,
+  196, 197, 199, 197, 199, 195, 185, 174, 179, 192, 198, 204, 207, 209, 217, 226,
+  228, 222, 222, 222, 221, 222, 226, 224, 225, 221, 221, 211, 204, 197, 196, 191,
+  183, 176, 170, 172, 177, 185, 193, 194, 193, 196, 221, 230, 235, 238, 238, 238,
+  238, 238, 237, 237, 237, 237, 237, 237, 237, 237, 238, 236, 232, 222, 217, 208,
+  191, 174, 165, 153, 133, 132, 120, 106, 103, 76, 139, 176, 140, 139, 73, 113,
+  111, 106, 103, 105, 75, 104, 82, 84, 50, 67, 133, 255, 255, 69, 95, 111,
+  138, 154, 160, 186, 188, 175, 204, 127, 81, 91, 108, 108, 138, 158, 171, 182,
+  193, 207, 219, 215, 215, 229, 234, 233, 232, 233, 232, 231, 229, 225, 227, 232,
+  237, 232, 216, 197, 194, 199, 206, 207, 210, 209, 205, 200, 200, 200, 212, 215,
+  220, 224, 229, 233, 238, 240, 234, 236, 236, 236, 238, 236, 238, 236, 227, 224,
+  222, 217, 212, 208, 206, 203, 204, 204, 208, 209, 209, 209, 208, 209, 222, 230,
+  237, 239, 236, 234, 235, 237, 235, 235, 235, 235, 235, 235, 235, 235, 236, 234,
+  229, 222, 219, 212, 197, 182, 166, 164, 138, 126, 127, 114, 98, 79, 153, 181,
+  170, 173, 141, 108, 148, 160, 185, 148, 159, 149, 106, 66, 77, 53, 80, 255,
+  255, 68, 88, 178, 182, 132, 169, 188, 195, 209, 207, 137, 77, 94, 106, 111,
+  133, 158, 170, 181, 191, 204, 216, 214, 215, 226, 231, 231, 230, 228, 230, 231,
+  228, 226, 230, 233, 237, 230, 216, 204, 205, 210, 220, 220, 224, 222, 219, 216,
+  215, 216, 220, 223, 225, 227, 232, 235, 236, 237, 237, 237, 239, 239, 239, 239,
+  239, 239, 239, 238, 238, 236, 233, 233, 231, 229, 223, 223, 226, 226, 224, 222,
+  220, 220, 223, 231, 237, 238, 236, 234, 235, 237, 235, 235, 235, 235, 235, 235,
+  235, 235, 236, 235, 230, 221, 214, 209, 197, 184, 163, 159, 137, 124, 126, 114,
+  101, 92, 178, 202, 193, 200, 183, 153, 182, 183, 207, 203, 177, 163, 177, 106,
+  67, 71, 73, 255, 255, 68, 106, 231, 217, 191, 138, 191, 193, 217, 215, 154,
+  70, 98, 103, 114, 126, 161, 168, 182, 191, 202, 214, 214, 215, 226, 229, 227,
+  225, 225, 228, 228, 229, 229, 235, 235, 236, 230, 220, 213, 217, 223, 228, 228,
+  232, 230, 228, 226, 225, 227, 231, 234, 234, 234, 235, 235, 237, 237, 241, 241,
+  241, 241, 242, 242, 242, 242, 245, 245, 246, 245, 245, 246, 245, 244, 234, 233,
+  235, 234, 232, 229, 225, 223, 227, 231, 237, 238, 236, 234, 235, 237, 235, 235,
+  235, 235, 235, 234, 234, 234, 234, 234, 229, 220, 211, 205, 196, 186, 160, 154,
+  137, 122, 121, 111, 103, 109, 196, 215, 209, 225, 220, 198, 212, 201, 197, 215,
+  182, 170, 212, 157, 95, 69, 66, 255, 255, 68, 111, 227, 248, 216, 181, 157,
+  189, 206, 224, 177, 66, 97, 97, 118, 123, 166, 167, 180, 191, 200, 212, 214,
+  214, 225, 227, 224, 222, 223, 224, 228, 230, 231, 237, 236, 235, 233, 226, 221,
+  224, 231, 231, 233, 235, 235, 234, 233, 233, 235, 238, 239, 239, 238, 238, 237,
+  239, 239, 243, 243, 243, 243, 244, 244, 244, 244, 247, 247, 247, 244, 244, 243,
+  241, 239, 237, 236, 235, 235, 233, 231, 229, 225, 229, 232, 236, 237, 236, 235,
+  236, 237, 235, 235, 235, 234, 234, 234, 234, 233, 233, 234, 230, 219, 208, 202,
+  195, 187, 160, 150, 138, 121, 116, 111, 106, 126, 202, 218, 219, 235, 237, 223,
+  226, 212, 204, 209, 209, 201, 211, 210, 182, 66, 68, 137, 255, 70, 72, 253,
+  214, 239, 202, 184, 155, 221, 228, 199, 67, 93, 93, 121, 122, 168, 166, 180,
+  190, 198, 210, 213, 214, 224, 225, 223, 221, 222, 224, 228, 228, 231, 236, 236,
+  236, 237, 233, 227, 226, 230, 236, 238, 240, 240, 241, 240, 241, 242, 239, 239,
+  241, 241, 240, 240, 242, 242, 243, 243, 245, 245, 245, 245, 245, 245, 249, 249,
+  248, 246, 245, 242, 242, 239, 239, 238, 237, 238, 237, 235, 234, 233, 229, 231,
+  234, 235, 234, 234, 234, 234, 233, 233, 233, 232, 232, 231, 231, 230, 233, 234,
+  230, 218, 205, 199, 194, 186, 164, 147, 142, 121, 113, 109, 105, 139, 210, 224,
+  231, 241, 241, 233, 235, 224, 224, 213, 225, 223, 209, 228, 229, 71, 69, 79,
+  255, 71, 73, 239, 239, 218, 220, 172, 198, 205, 221, 215, 77, 87, 95, 121,
+  125, 166, 164, 181, 189, 193, 206, 211, 214, 221, 222, 223, 222, 224, 225, 229,
+  228, 231, 236, 235, 238, 241, 239, 233, 230, 231, 239, 241, 244, 243, 242, 242,
+  245, 244, 239, 239, 241, 241, 242, 242, 244, 244, 244, 244, 246, 246, 246, 246,
+  246, 246, 244, 244, 244, 244, 243, 243, 243, 241, 237, 236, 237, 236, 238, 236,
+  236, 236, 232, 232, 233, 234, 235, 235, 234, 234, 233, 233, 232, 232, 231, 230,
+  230, 230, 233, 233, 228, 218, 206, 200, 192, 182, 168, 144, 143, 121, 114, 111,
+  107, 151, 213, 228, 239, 241, 240, 238, 237, 232, 225, 214, 210, 222, 222, 221,
+  222, 96, 73, 80, 255, 73, 81, 243, 240, 246, 193, 182, 227, 204, 206, 225,
+  87, 82, 99, 120, 123, 157, 164, 181, 189, 192, 204, 211, 215, 220, 222, 221,
+  221, 224, 227, 230, 228, 229, 237, 236, 238, 243, 244, 240, 237, 237, 240, 241,
+  244, 242, 241, 240, 244, 243, 241, 239, 239, 239, 241, 241, 241, 242, 244, 244,
+  244, 244, 246, 246, 246, 244, 239, 237, 238, 238, 238, 237, 237, 237, 235, 234,
+  235, 233, 235, 232, 232, 232, 233, 233, 233, 234, 235, 235, 235, 234, 233, 233,
+  232, 232, 231, 230, 229, 229, 231, 229, 224, 215, 208, 202, 191, 178, 170, 141,
+  143, 121, 116, 115, 109, 159, 215, 229, 243, 240, 240, 242, 238, 235, 228, 223,
+  210, 227, 238, 230, 231, 116, 76, 81, 255, 74, 70, 250, 247, 227, 229, 175,
+  227, 230, 195, 228, 94, 79, 103, 119, 123, 149, 163, 181, 189, 191, 205, 213,
+  215, 219, 222, 222, 223, 225, 229, 230, 230, 228, 238, 236, 235, 240, 243, 241,
+  239, 242, 243, 243, 243, 244, 242, 241, 245, 245, 242, 240, 239, 239, 241, 240,
+  240, 240, 242, 242, 244, 244, 244, 244, 244, 242, 240, 238, 237, 237, 236, 236,
+  236, 234, 240, 238, 238, 237, 237, 236, 236, 235, 236, 235, 235, 235, 237, 235,
+  235, 234, 233, 233, 232, 231, 230, 232, 231, 230, 232, 229, 222, 215, 210, 204,
+  189, 175, 170, 138, 142, 121, 118, 120, 111, 166, 220, 229, 244, 241, 242, 249,
+  243, 239, 231, 222, 218, 230, 221, 229, 239, 91, 81, 82, 255, 76, 55, 246,
+  242, 228, 213, 182, 219, 224, 199, 185, 113, 80, 97, 105, 130, 150, 165, 182,
+  189, 192, 207, 214, 213, 220, 223, 224, 226, 229, 232, 232, 231, 230, 234, 235,
+  236, 237, 237, 237, 236, 238, 239, 239, 239, 241, 241, 241, 243, 241, 239, 239,
+  239, 239, 239, 239, 239, 239, 240, 240, 241, 240, 240, 241, 242, 240, 239, 239,
+  239, 239, 239, 239, 239, 237, 239, 237, 237, 237, 237, 237, 237, 239, 241, 241,
+  238, 237, 235, 234, 235, 235, 235, 231, 228, 229, 231, 230, 231, 235, 235, 233,
+  226, 218, 206, 196, 189, 184, 165, 151, 148, 106, 117, 118, 129, 175, 218, 239,
+  238, 237, 245, 241, 236, 249, 234, 228, 212, 226, 235, 228, 223, 87, 77, 81,
+  255, 75, 70, 243, 249, 238, 217, 168, 203, 200, 207, 173, 107, 83, 91, 120,
+  134, 160, 167, 183, 189, 193, 207, 213, 213, 220, 223, 223, 225, 228, 230, 231,
+  228, 227, 231, 234, 235, 236, 236, 236, 236, 236, 237, 237, 239, 239, 241, 241,
+  241, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 238, 238, 238, 238,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 241, 243, 243, 240, 238, 238, 236, 235, 236, 235, 231, 229, 230, 232, 230,
+  234, 236, 235, 232, 226, 216, 207, 195, 188, 184, 167, 150, 147, 112, 126, 122,
+  134, 177, 208, 221, 228, 230, 238, 237, 240, 249, 233, 224, 220, 233, 230, 226,
+  226, 89, 75, 80, 255, 75, 76, 231, 244, 240, 209, 166, 205, 203, 225, 160,
+  113, 86, 82, 124, 128, 153, 169, 185, 189, 193, 205, 212, 212, 219, 222, 223,
+  225, 227, 226, 226, 225, 225, 231, 231, 234, 235, 236, 236, 236, 236, 238, 238,
+  240, 240, 240, 240, 240, 240, 240, 238, 238, 238, 238, 238, 238, 238, 238, 237,
+  237, 236, 236, 237, 237, 238, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 241, 243, 243, 241, 239, 239, 237, 236, 234, 235, 231,
+  229, 231, 233, 230, 233, 236, 236, 232, 225, 215, 207, 196, 188, 184, 164, 143,
+  138, 114, 125, 118, 136, 177, 205, 209, 221, 229, 232, 237, 245, 242, 231, 215,
+  224, 239, 225, 226, 231, 93, 75, 80, 255, 74, 77, 234, 238, 238, 182, 180,
+  217, 225, 229, 142, 131, 86, 78, 115, 122, 147, 170, 184, 190, 190, 205, 211,
+  212, 219, 223, 225, 227, 228, 225, 224, 224, 224, 230, 230, 234, 235, 235, 236,
+  236, 236, 238, 238, 240, 240, 240, 240, 240, 240, 238, 238, 238, 238, 238, 238,
+  238, 238, 238, 237, 236, 236, 236, 236, 237, 238, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 243, 243, 241, 240, 240, 237,
+  236, 234, 234, 231, 230, 232, 234, 231, 233, 237, 236, 231, 224, 215, 208, 197,
+  189, 184, 162, 139, 134, 115, 120, 111, 147, 187, 214, 210, 225, 237, 232, 237,
+  247, 234, 232, 205, 225, 243, 225, 232, 233, 89, 76, 81, 255, 74, 78, 252,
+  243, 243, 162, 199, 220, 230, 217, 134, 158, 93, 84, 106, 129, 154, 170, 183,
+  190, 191, 205, 211, 211, 218, 223, 226, 229, 229, 225, 223, 221, 224, 229, 229,
+  231, 232, 235, 235, 235, 235, 238, 238, 238, 238, 240, 240, 240, 240, 237, 236,
+  236, 236, 236, 236, 236, 236, 233, 233, 232, 231, 231, 232, 233, 234, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 243, 243,
+  242, 240, 240, 236, 235, 232, 231, 227, 229, 232, 234, 231, 233, 236, 236, 229,
+  222, 214, 208, 198, 190, 183, 165, 144, 137, 121, 119, 112, 166, 206, 221, 215,
+  231, 241, 235, 239, 246, 234, 233, 200, 224, 240, 226, 237, 228, 81, 78, 255,
+  255, 73, 67, 255, 246, 244, 173, 222, 222, 228, 221, 159, 186, 111, 87, 101,
+  127, 153, 167, 182, 189, 192, 205, 211, 211, 215, 219, 225, 229, 227, 224, 222,
+  221, 223, 226, 229, 230, 232, 235, 235, 236, 235, 237, 237, 237, 237, 239, 239,
+  239, 237, 234, 234, 234, 234, 234, 234, 234, 234, 230, 229, 228, 228, 228, 228,
+  229, 230, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 241, 242, 242, 240, 237, 234, 230, 228, 228, 226, 228, 231, 234, 231,
+  232, 234, 234, 228, 221, 214, 207, 199, 190, 183, 163, 147, 136, 118, 115, 118,
+  186, 216, 215, 218, 231, 239, 238, 240, 243, 239, 228, 199, 224, 237, 231, 239,
+  215, 73, 77, 255, 255, 73, 63, 239, 239, 231, 203, 232, 226, 229, 230, 200,
+  199, 135, 81, 105, 118, 148, 164, 180, 189, 194, 207, 212, 211, 215, 216, 221,
+  226, 226, 222, 219, 220, 223, 225, 226, 230, 231, 233, 233, 236, 236, 235, 235,
+  236, 236, 236, 236, 236, 236, 233, 233, 233, 233, 233, 233, 233, 233, 232, 231,
+  231, 230, 230, 231, 231, 232, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 242, 242, 242, 240, 236, 232, 226, 222, 226, 224,
+  225, 228, 231, 228, 230, 233, 234, 228, 219, 213, 208, 200, 192, 185, 162, 145,
+  131, 116, 117, 130, 201, 215, 210, 225, 232, 236, 240, 237, 235, 242, 221, 202,
+  231, 235, 233, 236, 200, 67, 75, 255, 255, 73, 75, 231, 237, 215, 223, 228,
+  224, 227, 227, 220, 194, 147, 73, 115, 116, 153, 162, 177, 187, 194, 207, 213,
+  211, 214, 214, 219, 224, 224, 219, 217, 219, 223, 225, 226, 229, 231, 232, 233,
+  236, 236, 234, 234, 235, 235, 235, 235, 235, 235, 232, 232, 232, 232, 232, 232,
+  232, 232, 237, 237, 236, 235, 235, 236, 237, 237, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 242, 242, 241, 238, 234, 228,
+  222, 220, 225, 223, 224, 228, 230, 227, 229, 232, 234, 227, 219, 213, 208, 201,
+  192, 185, 165, 150, 131, 118, 126, 147, 216, 215, 210, 232, 236, 235, 243, 236,
+  230, 244, 215, 206, 235, 236, 235, 232, 189, 67, 134, 255, 255, 73, 85, 220,
+  216, 187, 223, 232, 231, 228, 235, 225, 200, 179, 74, 102, 106, 154, 163, 173,
+  188, 197, 203, 211, 213, 210, 217, 217, 220, 224, 222, 217, 216, 220, 220, 222,
+  226, 229, 232, 232, 234, 233, 233, 233, 233, 232, 233, 232, 232, 232, 236, 236,
+  236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 236, 238, 238,
+  238, 239, 239, 240, 240, 240, 239, 239, 238, 237, 236, 236, 236, 236, 238, 240,
+  237, 233, 233, 233, 229, 224, 220, 222, 226, 228, 231, 231, 233, 232, 234, 230,
+  221, 212, 206, 201, 190, 179, 170, 147, 135, 102, 138, 174, 211, 229, 232, 235,
+  237, 239, 240, 240, 239, 239, 222, 218, 229, 239, 243, 234, 109, 59, 255, 255,
+  255, 194, 74, 204, 216, 168, 226, 232, 228, 233, 236, 241, 161, 210, 71, 85,
+  121, 137, 161, 172, 185, 193, 199, 206, 210, 211, 215, 215, 218, 222, 220, 214,
+  213, 216, 218, 222, 225, 229, 231, 231, 233, 233, 231, 232, 232, 233, 234, 233,
+  233, 232, 237, 236, 237, 236, 237, 236, 237, 236, 237, 236, 237, 236, 237, 236,
+  237, 237, 238, 238, 238, 239, 239, 240, 240, 240, 238, 238, 237, 236, 236, 236,
+  237, 237, 239, 239, 236, 233, 234, 233, 228, 221, 219, 221, 226, 229, 232, 232,
+  233, 230, 232, 228, 218, 209, 203, 198, 188, 177, 165, 137, 138, 119, 122, 188,
+  220, 229, 236, 237, 238, 239, 240, 240, 239, 239, 217, 220, 238, 246, 241, 237,
+  94, 58, 255, 255, 255, 255, 61, 172, 222, 156, 229, 233, 228, 234, 235, 194,
+  208, 197, 123, 70, 122, 131, 161, 171, 183, 189, 194, 203, 209, 212, 213, 213,
+  216, 219, 216, 210, 209, 212, 217, 219, 222, 225, 229, 229, 229, 229, 226, 227,
+  232, 234, 235, 234, 233, 233, 237, 237, 239, 237, 239, 237, 239, 237, 239, 237,
+  239, 237, 239, 237, 239, 239, 238, 238, 239, 239, 239, 239, 240, 240, 237, 237,
+  236, 236, 236, 237, 238, 238, 238, 240, 238, 235, 235, 233, 227, 219, 216, 218,
+  224, 228, 232, 231, 231, 230, 233, 225, 217, 207, 201, 197, 188, 179, 163, 130,
+  139, 124, 109, 205, 229, 231, 239, 241, 239, 239, 237, 237, 237, 237, 214, 226,
+  242, 244, 235, 214, 77, 255, 255, 255, 255, 255, 54, 131, 234, 172, 229, 234,
+  234, 224, 204, 161, 248, 190, 192, 67, 111, 129, 156, 166, 180, 187, 192, 201,
+  208, 211, 213, 212, 215, 218, 215, 209, 205, 208, 216, 218, 220, 222, 226, 227,
+  227, 227, 223, 225, 231, 235, 236, 236, 234, 234, 239, 239, 241, 239, 241, 239,
+  241, 239, 241, 239, 241, 239, 241, 239, 241, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 236, 236, 236, 236, 237, 238, 239, 239, 238, 241, 239, 235, 233, 231,
+  224, 217, 214, 218, 224, 229, 233, 232, 231, 229, 232, 227, 218, 208, 202, 198,
+  191, 180, 162, 129, 132, 109, 120, 214, 226, 235, 242, 242, 239, 239, 237, 237,
+  237, 237, 222, 231, 239, 239, 234, 160, 71, 255, 255, 255, 255, 255, 57, 89,
+  226, 201, 221, 227, 236, 211, 174, 204, 204, 228, 224, 108, 97, 123, 147, 160,
+  178, 187, 192, 200, 206, 207, 211, 211, 214, 217, 215, 209, 206, 209, 216, 216,
+  218, 220, 221, 222, 225, 225, 221, 224, 228, 232, 236, 236, 235, 235, 241, 241,
+  243, 241, 243, 241, 243, 241, 243, 241, 243, 241, 243, 241, 243, 241, 239, 239,
+  239, 239, 239, 239, 239, 239, 236, 236, 236, 236, 237, 238, 239, 239, 238, 240,
+  237, 234, 231, 230, 224, 217, 215, 218, 225, 229, 233, 232, 231, 228, 230, 224,
+  216, 206, 201, 196, 189, 177, 158, 135, 130, 103, 169, 225, 218, 228, 241, 241,
+  239, 239, 237, 237, 235, 235, 226, 234, 236, 236, 232, 103, 76, 255, 255, 255,
+  255, 255, 255, 61, 182, 209, 205, 214, 221, 202, 203, 224, 200, 235, 237, 189,
+  75, 126, 137, 153, 173, 183, 189, 195, 203, 205, 210, 210, 213, 217, 215, 210,
+  207, 210, 215, 215, 216, 217, 219, 220, 223, 223, 222, 224, 228, 231, 235, 236,
+  236, 236, 241, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243, 243,
+  243, 243, 242, 240, 239, 239, 239, 239, 238, 238, 237, 237, 236, 236, 236, 237,
+  238, 238, 237, 236, 235, 228, 228, 228, 224, 218, 217, 220, 225, 228, 232, 230,
+  230, 228, 223, 219, 212, 203, 197, 194, 184, 171, 150, 137, 126, 129, 222, 236,
+  215, 220, 238, 239, 238, 240, 238, 237, 234, 233, 222, 230, 239, 231, 205, 74,
+  255, 255, 255, 255, 255, 255, 255, 51, 113, 183, 183, 197, 189, 204, 226, 205,
+  233, 223, 240, 234, 64, 124, 128, 145, 165, 175, 181, 189, 200, 204, 207, 207,
+  211, 215, 213, 208, 208, 211, 214, 214, 215, 215, 217, 218, 221, 222, 222, 223,
+  228, 230, 232, 233, 236, 237, 243, 245, 245, 245, 245, 245, 245, 245, 245, 245,
+  245, 245, 245, 245, 245, 243, 242, 240, 240, 239, 239, 238, 238, 238, 238, 238,
+  237, 236, 236, 236, 237, 237, 236, 235, 232, 225, 225, 227, 224, 219, 220, 222,
+  224, 227, 230, 229, 227, 226, 219, 216, 211, 203, 199, 193, 180, 167, 150, 132,
+  114, 167, 239, 236, 225, 221, 235, 236, 237, 240, 239, 237, 234, 232, 217, 219,
+  240, 207, 140, 68, 255, 255, 255, 255, 255, 255, 255, 255, 62, 157, 172, 188,
+  162, 209, 198, 206, 215, 238, 221, 217, 78, 106, 126, 141, 159, 166, 172, 183,
+  195, 203, 201, 203, 207, 212, 212, 210, 210, 213, 213, 213, 213, 214, 216, 217,
+  220, 221, 224, 226, 227, 231, 233, 234, 237, 240, 243, 243, 245, 243, 245, 243,
+  245, 243, 245, 243, 245, 243, 245, 243, 245, 243, 242, 240, 240, 239, 239, 238,
+  238, 238, 239, 239, 238, 237, 236, 236, 236, 234, 233, 233, 229, 222, 221, 226,
+  224, 220, 222, 223, 225, 226, 227, 226, 224, 224, 215, 213, 208, 203, 199, 194,
+  181, 166, 155, 128, 99, 193, 230, 232, 236, 227, 230, 232, 234, 237, 236, 234,
+  229, 229, 215, 209, 238, 183, 84, 136, 255, 255, 255, 255, 255, 255, 255, 255,
+  81, 85, 151, 191, 164, 190, 165, 219, 215, 219, 228, 218, 52, 103, 112, 148,
+  159, 167, 174, 177, 192, 191, 190, 195, 202, 208, 213, 211, 210, 205, 214, 211,
+  210, 210, 210, 212, 215, 216, 219, 226, 233, 236, 237, 236, 238, 240, 242, 242,
+  244, 242, 244, 242, 244, 242, 243, 241, 243, 241, 243, 241, 243, 241, 241, 241,
+  241, 241, 241, 241, 239, 239, 242, 241, 238, 236, 234, 232, 231, 229, 234, 233,
+  228, 226, 223, 222, 223, 221, 224, 223, 221, 221, 223, 222, 220, 216, 209, 208,
+  202, 195, 191, 188, 171, 157, 144, 122, 99, 188, 240, 229, 251, 217, 223, 219,
+  212, 244, 205, 222, 222, 196, 196, 237, 190, 98, 78, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 62, 107, 151, 128, 200, 218, 229, 222, 231, 239, 196,
+  66, 100, 112, 147, 154, 157, 163, 166, 182, 186, 191, 196, 201, 207, 212, 213,
+  213, 212, 211, 208, 209, 207, 209, 210, 214, 215, 220, 225, 232, 237, 239, 238,
+  241, 242, 242, 242, 242, 242, 242, 242, 242, 242, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 239, 239, 240, 239, 236, 235, 233, 231,
+  229, 228, 231, 230, 228, 226, 223, 222, 223, 221, 223, 221, 221, 221, 220, 219,
+  216, 211, 203, 201, 194, 189, 184, 177, 162, 147, 141, 117, 131, 206, 227, 249,
+  235, 221, 213, 225, 208, 185, 218, 213, 208, 179, 232, 197, 122, 72, 136, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 81, 115, 164, 121, 209, 204, 208,
+  227, 238, 209, 126, 50, 69, 104, 138, 147, 151, 157, 160, 177, 179, 192, 195,
+  199, 204, 208, 213, 215, 216, 210, 207, 208, 207, 209, 210, 214, 216, 219, 223,
+  229, 235, 238, 238, 239, 240, 242, 242, 242, 242, 242, 242, 242, 242, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 239, 239, 239, 238,
+  235, 234, 232, 231, 228, 228, 230, 229, 227, 226, 223, 222, 220, 220, 222, 221,
+  220, 219, 219, 217, 210, 205, 202, 199, 194, 189, 182, 174, 158, 145, 137, 114,
+  111, 203, 221, 244, 239, 244, 200, 220, 180, 217, 185, 199, 181, 214, 188, 124,
+  67, 67, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 188, 78, 150,
+  113, 214, 230, 235, 238, 224, 147, 77, 122, 255, 87, 126, 140, 149, 156, 158,
+  170, 171, 186, 188, 196, 200, 207, 211, 214, 212, 209, 206, 207, 207, 210, 211,
+  214, 217, 216, 221, 226, 230, 235, 238, 239, 240, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  239, 239, 239, 238, 235, 234, 233, 231, 229, 229, 228, 228, 227, 226, 223, 222,
+  220, 218, 220, 217, 217, 217, 217, 212, 207, 201, 198, 194, 189, 185, 178, 168,
+  153, 143, 131, 117, 60, 172, 239, 223, 244, 248, 215, 189, 201, 227, 193, 178,
+  212, 214, 99, 68, 63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 66, 118, 100, 219, 215, 231, 215, 191, 104, 82, 255, 255, 82, 120,
+  135, 144, 150, 152, 166, 166, 177, 184, 192, 200, 207, 212, 212, 210, 208, 206,
+  205, 207, 210, 212, 215, 219, 217, 220, 224, 228, 234, 236, 239, 239, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 239, 239, 240, 239, 236, 235, 234, 233, 231, 231, 226, 226,
+  224, 223, 223, 222, 219, 217, 219, 216, 215, 212, 212, 207, 202, 197, 192, 187,
+  180, 176, 167, 153, 140, 133, 127, 108, 47, 111, 241, 232, 237, 229, 215, 186,
+  178, 193, 188, 197, 188, 117, 71, 62, 74, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 63, 69, 188, 195, 224, 201, 157, 76, 255,
+  255, 255, 77, 115, 127, 133, 139, 142, 158, 161, 172, 177, 187, 199, 207, 210,
+  210, 208, 206, 204, 204, 204, 208, 212, 215, 217, 218, 218, 221, 226, 232, 235,
+  237, 236, 240, 240, 240, 240, 240, 240, 240, 240, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 239, 239, 240, 239, 237, 236, 235, 234,
+  232, 232, 224, 225, 223, 223, 222, 219, 217, 215, 216, 212, 210, 206, 206, 203,
+  200, 197, 192, 183, 177, 170, 159, 144, 133, 129, 130, 80, 63, 38, 176, 244,
+  232, 240, 213, 202, 143, 193, 189, 187, 101, 63, 82, 65, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 61, 86, 154, 200, 208,
+  181, 110, 126, 255, 255, 255, 59, 100, 121, 133, 138, 139, 153, 152, 167, 171,
+  180, 189, 197, 202, 206, 204, 201, 199, 201, 201, 205, 210, 213, 215, 219, 218,
+  220, 224, 231, 234, 233, 232, 240, 240, 240, 240, 240, 240, 240, 240, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 239, 239, 238, 238,
+  235, 235, 234, 233, 232, 231, 223, 223, 222, 223, 220, 219, 217, 214, 215, 210,
+  205, 202, 201, 199, 197, 194, 188, 178, 172, 166, 156, 142, 134, 134, 125, 48,
+  69, 26, 99, 202, 216, 239, 217, 174, 157, 187, 203, 114, 78, 80, 81, 70,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194,
+  70, 46, 66, 67, 83, 123, 255, 255, 255, 255, 35, 86, 118, 139, 147, 144,
+  150, 144, 162, 163, 170, 177, 187, 193, 200, 201, 196, 196, 198, 199, 203, 206,
+  211, 213, 218, 218, 220, 223, 228, 233, 232, 230, 240, 240, 240, 240, 240, 240,
+  240, 240, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  239, 239, 237, 236, 234, 233, 233, 232, 231, 230, 222, 223, 222, 223, 220, 218,
+  215, 212, 212, 207, 202, 197, 197, 196, 196, 193, 174, 165, 159, 158, 150, 140,
+  135, 139, 112, 31, 67, 75, 70, 138, 184, 202, 180, 133, 119, 175, 115, 81,
+  72, 74, 81, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 72, 67, 72, 72, 134, 255, 255, 255, 255, 255, 63, 54,
+  104, 139, 152, 139, 147, 136, 155, 147, 154, 174, 189, 189, 192, 197, 199, 198,
+  199, 200, 203, 206, 209, 211, 213, 218, 223, 225, 227, 228, 232, 234, 237, 238,
+  238, 239, 239, 240, 240, 240, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 239, 239, 239, 238, 235, 232, 230, 227, 224, 223, 226, 224,
+  221, 221, 219, 217, 212, 207, 212, 197, 192, 200, 200, 186, 182, 187, 178, 155,
+  173, 160, 150, 139, 158, 137, 85, 97, 68, 69, 86, 73, 156, 160, 156, 137,
+  114, 89, 75, 71, 78, 86, 142, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 68, 53, 92, 122, 140, 130, 139, 129, 144, 148, 156, 164, 178, 187,
+  192, 191, 194, 194, 196, 197, 200, 202, 208, 209, 211, 216, 221, 226, 228, 229,
+  234, 236, 238, 239, 239, 239, 240, 240, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 239, 239, 239, 238, 235, 233, 232, 230,
+  228, 228, 226, 222, 220, 218, 217, 214, 210, 207, 206, 200, 196, 194, 193, 187,
+  182, 178, 170, 149, 163, 152, 145, 137, 145, 115, 65, 76, 88, 71, 73, 68,
+  103, 116, 105, 94, 83, 73, 69, 71, 78, 82, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 80, 59, 83, 106, 132, 129, 141, 132, 131, 145,
+  154, 156, 168, 185, 192, 186, 192, 193, 195, 197, 201, 203, 208, 209, 211, 216,
+  221, 224, 227, 230, 234, 238, 240, 240, 240, 241, 241, 241, 242, 242, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 239, 239, 238, 238,
+  235, 235, 234, 233, 232, 232, 227, 222, 219, 216, 215, 214, 211, 208, 202, 204,
+  200, 190, 185, 185, 179, 167, 169, 151, 158, 151, 148, 143, 134, 91, 59, 64,
+  110, 74, 64, 71, 65, 85, 67, 65, 67, 68, 72, 77, 80, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 64, 77, 94, 130, 133,
+  142, 136, 127, 139, 149, 153, 162, 176, 186, 189, 197, 197, 200, 201, 205, 206,
+  208, 211, 212, 214, 221, 224, 228, 231, 236, 239, 242, 242, 242, 242, 242, 242,
+  242, 242, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  239, 239, 238, 238, 235, 234, 234, 233, 231, 229, 227, 222, 216, 214, 214, 213,
+  212, 208, 200, 200, 196, 189, 183, 177, 170, 164, 168, 158, 158, 153, 153, 149,
+  121, 71, 64, 70, 107, 72, 60, 79, 67, 85, 68, 70, 73, 79, 81, 140,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63,
+  68, 79, 123, 129, 139, 136, 132, 130, 140, 154, 162, 166, 179, 190, 197, 198,
+  202, 203, 204, 206, 208, 209, 212, 214, 221, 223, 227, 230, 236, 239, 243, 243,
+  243, 242, 242, 242, 242, 242, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 239, 239, 238, 238, 235, 233, 231, 230, 228, 225, 226, 221,
+  215, 214, 214, 213, 212, 208, 203, 192, 187, 190, 182, 165, 160, 165, 161, 157,
+  151, 152, 148, 140, 99, 55, 65, 77, 81, 67, 60, 78, 83, 85, 79, 78,
+  81, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 66, 66, 73, 116, 123, 134, 138, 137, 129, 135, 150, 160, 161,
+  171, 187, 194, 195, 199, 201, 203, 203, 206, 205, 213, 215, 219, 222, 226, 229,
+  235, 238, 241, 243, 243, 242, 242, 242, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 239, 239, 237, 236, 233, 232, 230, 228,
+  226, 223, 224, 220, 215, 213, 214, 211, 209, 207, 202, 186, 182, 186, 179, 160,
+  155, 166, 155, 158, 149, 155, 143, 128, 84, 55, 66, 81, 62, 71, 70, 81,
+  92, 83, 140, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 75, 71, 71, 112, 117, 133, 142, 136, 132,
+  133, 143, 153, 163, 170, 175, 188, 190, 195, 199, 202, 203, 207, 206, 214, 215,
+  218, 221, 224, 227, 232, 237, 241, 242, 242, 242, 241, 241, 240, 240, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 239, 239, 235, 234,
+  232, 231, 230, 229, 227, 225, 222, 219, 215, 214, 216, 212, 209, 204, 193, 186,
+  182, 178, 172, 161, 159, 165, 153, 159, 150, 160, 139, 116, 72, 63, 67, 79,
+  59, 80, 78, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 80, 75, 67, 106, 111,
+  128, 144, 135, 136, 137, 135, 147, 165, 172, 165, 185, 187, 194, 199, 203, 207,
+  210, 210, 214, 215, 218, 220, 223, 226, 230, 235, 240, 242, 242, 241, 241, 240,
+  240, 239, 241, 241, 241, 241, 241, 241, 241, 241, 241, 239, 241, 239, 239, 239,
+  239, 237, 231, 231, 231, 230, 230, 230, 230, 228, 221, 218, 217, 216, 217, 212,
+  208, 203, 187, 187, 183, 171, 163, 163, 164, 161, 149, 156, 148, 161, 136, 111,
+  70, 74, 76, 76, 65, 82, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 78,
+  76, 72, 104, 107, 129, 141, 147, 137, 148, 152, 144, 160, 178, 173, 184, 188,
+  193, 197, 202, 207, 213, 216, 214, 215, 219, 223, 227, 229, 232, 233, 236, 239,
+  240, 242, 242, 241, 240, 239, 241, 241, 241, 241, 241, 241, 241, 241, 238, 236,
+  239, 238, 238, 235, 234, 233, 229, 226, 225, 224, 225, 226, 227, 228, 227, 226,
+  225, 222, 218, 210, 204, 198, 186, 188, 187, 177, 163, 155, 157, 161, 145, 159,
+  152, 160, 135, 113, 72, 71, 72, 76, 136, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 77, 75, 69, 99, 106, 129, 142, 152, 148, 152, 152, 153, 164,
+  181, 180, 184, 188, 194, 199, 204, 207, 212, 214, 215, 216, 222, 224, 228, 230,
+  232, 233, 237, 238, 240, 241, 242, 241, 241, 240, 241, 241, 241, 241, 241, 241,
+  241, 239, 237, 236, 237, 237, 236, 234, 231, 230, 227, 226, 223, 222, 222, 223,
+  225, 225, 232, 230, 225, 220, 216, 210, 206, 203, 192, 186, 179, 171, 164, 160,
+  159, 158, 145, 153, 145, 152, 128, 107, 75, 85, 77, 138, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 78, 73, 64, 96, 103, 127, 140, 148, 154,
+  152, 148, 157, 163, 171, 179, 182, 187, 193, 199, 205, 207, 210, 212, 216, 217,
+  222, 224, 228, 230, 232, 233, 236, 237, 239, 241, 242, 242, 242, 241, 241, 241,
+  241, 241, 241, 241, 241, 239, 237, 235, 235, 236, 234, 233, 232, 232, 227, 226,
+  226, 225, 223, 223, 224, 224, 230, 227, 219, 212, 208, 204, 204, 202, 198, 185,
+  174, 166, 166, 165, 160, 154, 154, 153, 144, 147, 122, 96, 75, 95, 75, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 78, 74, 63, 93, 101,
+  124, 136, 143, 156, 155, 149, 160, 161, 159, 173, 176, 182, 190, 198, 205, 207,
+  211, 212, 216, 217, 222, 223, 227, 229, 231, 232, 235, 236, 239, 241, 242, 243,
+  242, 242, 241, 241, 241, 241, 241, 241, 241, 239, 237, 235, 235, 234, 233, 232,
+  232, 231, 227, 227, 227, 226, 224, 224, 224, 224, 227, 224, 218, 211, 208, 203,
+  202, 200, 196, 184, 174, 168, 169, 168, 163, 155, 156, 151, 143, 143, 119, 82,
+  67, 93, 133, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 79,
+  79, 66, 93, 101, 125, 135, 143, 160, 163, 159, 168, 165, 159, 170, 171, 177,
+  187, 195, 204, 208, 212, 214, 216, 216, 221, 223, 226, 228, 230, 230, 235, 236,
+  239, 241, 242, 243, 242, 242, 241, 241, 241, 241, 241, 241, 241, 239, 237, 235,
+  234, 234, 233, 233, 232, 232, 230, 230, 228, 228, 228, 227, 224, 224, 228, 227,
+  224, 219, 216, 210, 206, 202, 191, 184, 180, 176, 174, 170, 164, 157, 149, 144,
+  141, 136, 116, 68, 54, 75, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 81, 81, 65, 90, 100, 125, 135, 141, 154, 164, 165, 167, 164,
+  161, 166, 169, 178, 187, 195, 204, 209, 214, 217, 217, 217, 222, 223, 227, 228,
+  230, 230, 236, 237, 239, 241, 242, 242, 242, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 238, 236, 235, 234, 233, 234, 233, 233, 232, 232, 231, 231, 230, 229,
+  225, 225, 225, 224, 222, 221, 219, 211, 205, 200, 189, 188, 186, 184, 180, 173,
+  168, 161, 150, 145, 145, 130, 114, 64, 50, 65, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 198, 80, 61, 85, 97, 125, 137, 140, 146,
+  163, 166, 162, 165, 173, 171, 176, 183, 190, 197, 205, 210, 216, 219, 219, 220,
+  224, 226, 229, 230, 232, 232, 237, 238, 240, 241, 242, 241, 241, 240, 241, 241,
+  241, 241, 241, 241, 241, 241, 240, 239, 238, 236, 234, 234, 235, 236, 234, 234,
+  235, 235, 232, 230, 229, 228, 220, 221, 220, 218, 216, 209, 203, 200, 195, 191,
+  188, 188, 185, 180, 174, 167, 155, 151, 150, 124, 113, 67, 59, 66, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 78, 56, 79, 94,
+  126, 139, 145, 144, 166, 172, 162, 170, 186, 183, 182, 188, 194, 199, 206, 210,
+  217, 220, 221, 222, 227, 228, 231, 232, 234, 234, 238, 239, 240, 242, 242, 241,
+  240, 239, 241, 241, 241, 241, 241, 241, 241, 241, 241, 240, 238, 237, 234, 235,
+  236, 237, 235, 236, 236, 236, 233, 232, 229, 228, 224, 224, 221, 219, 218, 211,
+  209, 204, 201, 195, 189, 187, 189, 186, 180, 171, 156, 150, 146, 112, 104, 66,
+  63, 68, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  78, 74, 69, 90, 134, 139, 160, 150, 161, 172, 168, 169, 174, 176, 189, 195,
+  195, 192, 197, 205, 214, 216, 220, 222, 229, 232, 236, 237, 238, 238, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  239, 239, 239, 239, 237, 237, 236, 237, 236, 236, 236, 235, 234, 231, 227, 226,
+  222, 219, 217, 210, 209, 205, 195, 192, 191, 191, 191, 186, 178, 168, 159, 147,
+  142, 128, 110, 59, 69, 77, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 76, 71, 64, 85, 133, 142, 154, 146, 158, 169, 166, 164,
+  170, 171, 187, 194, 198, 197, 202, 208, 213, 213, 220, 222, 229, 231, 236, 236,
+  238, 237, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 239, 239, 239, 239, 239, 237, 236, 237, 236, 236, 236, 235,
+  234, 231, 225, 224, 222, 220, 219, 216, 213, 211, 199, 196, 194, 194, 193, 189,
+  181, 169, 158, 144, 137, 121, 103, 54, 66, 75, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 79, 71, 61, 79, 128, 143, 155, 148,
+  158, 168, 167, 167, 173, 171, 185, 195, 201, 202, 207, 210, 213, 211, 220, 222,
+  228, 231, 235, 236, 237, 237, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 239, 239, 239, 236, 237,
+  237, 237, 236, 235, 234, 231, 226, 224, 223, 221, 220, 217, 215, 212, 204, 200,
+  197, 196, 197, 191, 184, 172, 159, 144, 134, 116, 97, 49, 63, 73, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 77, 62, 75,
+  123, 141, 158, 151, 159, 166, 165, 168, 176, 173, 186, 196, 202, 203, 207, 210,
+  213, 211, 219, 221, 228, 231, 235, 236, 237, 237, 241, 241, 241, 241, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  239, 239, 236, 237, 237, 237, 236, 235, 234, 231, 230, 227, 225, 222, 217, 215,
+  211, 208, 209, 206, 202, 201, 201, 195, 188, 176, 164, 148, 135, 118, 98, 51,
+  66, 77, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  89, 84, 67, 76, 124, 143, 156, 150, 156, 158, 155, 161, 172, 172, 189, 197,
+  200, 199, 203, 208, 213, 212, 219, 221, 228, 230, 234, 235, 237, 236, 241, 241,
+  241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 243, 243,
+  241, 241, 241, 241, 239, 239, 238, 239, 237, 237, 237, 236, 235, 233, 229, 226,
+  223, 221, 216, 214, 210, 207, 211, 208, 204, 202, 202, 197, 190, 179, 166, 149,
+  137, 119, 99, 52, 69, 138, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 216, 212, 218, 224, 222, 223, 223, 200, 194,
+  201, 199, 211, 216, 216, 195, 199, 205, 211, 212, 219, 220, 227, 230, 234, 235,
+  236, 236, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241, 241,
+  241, 241, 243, 243, 241, 241, 241, 241, 239, 239, 238, 239, 237, 237, 237, 236,
+  235, 233, 225, 222, 221, 220, 217, 216, 213, 213, 212, 209, 205, 205, 203, 200,
+  192, 182, 163, 146, 137, 121, 101, 54, 68, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  246, 247, 248, 248, 249, 249, 249, 246, 246, 246, 246, 246, 246, 244, 241, 241,
+  241, 241, 241, 241, 241, 241, 243, 243, 243, 243, 241, 241, 241, 241, 238, 239,
+  237, 237, 237, 236, 235, 233, 226, 224, 222, 221, 218, 217, 215, 214, 212, 208,
+  204, 204, 203, 201, 196, 186, 160, 145, 139, 124, 107, 56, 68, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 252, 250, 251, 251, 251, 251, 250, 247,
+  246, 246, 244, 244, 243, 243, 237, 236, 235, 233, 231, 228, 226, 223, 219, 217,
+  213, 212, 211, 208, 206, 204, 203, 202, 197, 187, 160, 146, 142, 128, 111, 125,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 };
+/* Define image 'enemy15' of size 152x151x1x3 and type 'const unsigned char' */
+const unsigned char data_enemy15[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  26, 33, 24, 32, 33, 29, 15, 15, 20, 28, 31, 27, 25, 25, 28, 26,
+  24, 24, 23, 21, 15, 13, 16, 11, 9, 7, 9, 10, 11, 11, 11, 102,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 187, 33, 42, 29, 32, 29, 33, 35, 46, 39, 40, 47,
+  55, 56, 58, 60, 63, 62, 78, 75, 72, 69, 68, 63, 57, 52, 38, 35,
+  32, 29, 29, 26, 24, 21, 17, 28, 26, 26, 28, 19, 21, 81, 204, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 190, 61, 54, 37, 44, 34,
+  51, 50, 71, 71, 87, 76, 82, 95, 101, 96, 97, 103, 107, 105, 99, 99,
+  99, 102, 105, 104, 101, 96, 84, 81, 78, 71, 63, 49, 36, 25, 26, 24,
+  15, 22, 27, 16, 31, 57, 127, 90, 58, 46, 35, 14, 63, 202, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  191, 70, 66, 61, 60, 65, 87, 93, 99, 103, 106, 107, 110, 111, 110, 112,
+  115, 117, 120, 122, 124, 125, 122, 123, 124, 123, 121, 120, 120, 121, 117, 113,
+  109, 104, 100, 94, 91, 86, 66, 68, 65, 52, 38, 37, 51, 64, 90, 60,
+  50, 61, 49, 16, 6, 13, 10, 68, 201, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 50, 68, 81, 88, 93, 102, 111, 106, 112,
+  117, 119, 120, 121, 123, 125, 130, 131, 133, 137, 139, 141, 142, 144, 144, 146,
+  146, 143, 139, 138, 137, 137, 134, 131, 128, 125, 122, 118, 116, 112, 110, 107,
+  101, 87, 70, 56, 49, 46, 74, 59, 47, 45, 38, 25, 17, 20, 11, 17,
+  15, 14, 21, 98, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 67, 84, 88,
+  95, 100, 103, 104, 109, 114, 127, 131, 134, 135, 135, 135, 138, 140, 142, 142,
+  145, 147, 148, 149, 150, 152, 158, 159, 159, 155, 153, 151, 150, 149, 149, 148,
+  147, 146, 146, 143, 143, 140, 125, 120, 118, 115, 110, 104, 93, 85, 62, 59,
+  45, 29, 23, 28, 24, 15, 13, 19, 21, 20, 22, 25, 26, 24, 94, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 183, 53, 73, 86, 101, 104, 109, 114, 121, 125, 128, 131, 139, 144,
+  145, 145, 145, 146, 149, 152, 149, 149, 152, 153, 153, 154, 155, 155, 159, 162,
+  163, 163, 162, 161, 161, 163, 158, 158, 158, 158, 158, 159, 157, 156, 152, 144,
+  136, 131, 127, 123, 117, 111, 80, 75, 59, 38, 30, 32, 25, 13, 19, 18,
+  25, 24, 25, 32, 32, 18, 15, 20, 18, 95, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 211, 100, 58, 71, 88, 103, 109, 112, 116,
+  122, 132, 142, 147, 150, 151, 151, 154, 156, 156, 155, 157, 160, 163, 163, 163,
+  163, 163, 162, 162, 162, 164, 166, 169, 171, 171, 170, 169, 169, 169, 164, 162,
+  162, 161, 161, 161, 161, 160, 162, 156, 149, 141, 134, 131, 128, 126, 115, 102,
+  87, 75, 62, 49, 38, 29, 25, 16, 21, 25, 30, 44, 42, 16, 21, 23,
+  19, 16, 9, 110, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193,
+  78, 89, 105, 121, 128, 128, 134, 136, 142, 147, 149, 152, 149, 148, 161, 164,
+  166, 166, 167, 168, 170, 171, 173, 170, 170, 169, 169, 167, 167, 168, 170, 172,
+  174, 173, 170, 167, 166, 166, 166, 166, 165, 164, 163, 162, 162, 161, 145, 148,
+  151, 150, 146, 144, 144, 145, 135, 120, 108, 104, 93, 72, 58, 53, 37, 20,
+  24, 27, 33, 56, 59, 27, 36, 28, 26, 17, 14, 29, 14, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 194, 87, 100, 109, 119, 129, 131, 129, 137, 142,
+  149, 154, 159, 164, 166, 167, 168, 171, 173, 174, 173, 172, 172, 171, 171, 170,
+  169, 166, 165, 164, 164, 163, 163, 165, 168, 168, 165, 162, 161, 161, 163, 162,
+  164, 163, 162, 161, 160, 161, 159, 162, 162, 158, 152, 147, 143, 141, 139, 129,
+  121, 119, 111, 97, 84, 75, 60, 38, 37, 35, 33, 62, 74, 43, 50, 32,
+  36, 23, 28, 26, 21, 26, 20, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 109, 128,
+  139, 144, 145, 149, 151, 152, 161, 164, 167, 168, 167, 168, 170, 172, 173, 174,
+  176, 177, 175, 172, 171, 171, 171, 171, 169, 168, 167, 163, 164, 164, 159, 162,
+  167, 168, 167, 165, 164, 164, 162, 162, 162, 162, 161, 160, 160, 160, 164, 161,
+  157, 155, 154, 155, 155, 153, 140, 140, 135, 129, 126, 120, 110, 97, 88, 63,
+  55, 46, 35, 62, 81, 55, 61, 34, 44, 28, 39, 26, 29, 40, 21, 28,
+  107, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 80, 92, 104, 137, 147, 152, 156, 158, 161, 166, 168, 168, 168,
+  170, 170, 171, 171, 172, 172, 172, 172, 174, 175, 175, 174, 174, 174, 174, 174,
+  173, 172, 171, 169, 169, 168, 166, 163, 160, 161, 163, 163, 162, 159, 160, 158,
+  157, 155, 153, 152, 151, 150, 147, 145, 147, 148, 147, 147, 147, 147, 147, 146,
+  146, 145, 142, 139, 135, 130, 108, 107, 83, 73, 79, 56, 38, 57, 45, 32,
+  70, 33, 24, 34, 39, 57, 40, 19, 31, 114, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 80, 92, 117, 142, 151, 158,
+  162, 164, 165, 167, 169, 171, 172, 172, 173, 173, 173, 174, 174, 174, 174, 174,
+  175, 175, 175, 175, 175, 175, 173, 173, 172, 171, 170, 168, 168, 167, 163, 160,
+  160, 161, 164, 165, 164, 162, 164, 162, 160, 158, 156, 154, 155, 151, 147, 145,
+  147, 145, 148, 148, 148, 148, 148, 149, 150, 150, 149, 147, 145, 141, 130, 131,
+  110, 96, 94, 71, 54, 74, 71, 51, 79, 41, 33, 41, 43, 55, 87, 46,
+  30, 37, 55, 123, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  90, 95, 114, 138, 151, 157, 162, 166, 168, 169, 169, 169, 170, 171, 173, 173,
+  174, 174, 174, 175, 175, 175, 177, 177, 177, 177, 177, 176, 176, 176, 175, 174,
+  173, 172, 171, 170, 169, 169, 167, 164, 165, 165, 167, 168, 167, 166, 166, 165,
+  163, 160, 158, 157, 158, 155, 148, 144, 144, 142, 143, 142, 142, 143, 148, 149,
+  149, 150, 150, 150, 149, 147, 141, 144, 130, 117, 111, 88, 74, 91, 79, 55,
+  74, 42, 38, 45, 48, 53, 87, 48, 33, 41, 72, 85, 116, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 194, 83, 98, 124, 155, 174, 171, 159, 169, 171,
+  173, 174, 172, 172, 173, 174, 174, 174, 174, 175, 175, 176, 176, 176, 178, 177,
+  176, 175, 175, 174, 174, 174, 176, 175, 175, 174, 173, 172, 171, 171, 177, 176,
+  175, 174, 175, 173, 172, 171, 171, 169, 167, 165, 164, 162, 163, 160, 151, 147,
+  147, 143, 142, 142, 142, 141, 145, 146, 147, 148, 149, 147, 150, 147, 139, 141,
+  133, 127, 126, 108, 95, 102, 69, 48, 62, 36, 37, 41, 51, 58, 60, 44,
+  45, 45, 65, 81, 55, 110, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 188, 66, 102,
+  143, 164, 170, 173, 175, 175, 171, 171, 174, 174, 173, 173, 174, 175, 173, 173,
+  173, 173, 174, 174, 174, 175, 177, 177, 176, 174, 174, 174, 174, 175, 176, 176,
+  175, 175, 175, 175, 174, 174, 183, 184, 184, 182, 181, 179, 179, 179, 176, 175,
+  174, 172, 171, 170, 171, 169, 164, 161, 160, 157, 154, 151, 150, 149, 145, 145,
+  143, 143, 143, 143, 145, 144, 135, 134, 132, 132, 134, 121, 108, 103, 68, 50,
+  61, 37, 35, 32, 49, 55, 43, 35, 33, 16, 20, 40, 32, 29, 20, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 180, 47, 60, 86, 122, 146, 169, 176, 174, 173, 177, 177, 169, 170,
+  172, 173, 172, 172, 173, 174, 171, 171, 171, 172, 172, 172, 173, 175, 178, 177,
+  177, 174, 175, 174, 177, 176, 176, 175, 177, 176, 179, 177, 180, 180, 183, 187,
+  189, 187, 188, 186, 190, 190, 184, 184, 183, 182, 182, 183, 183, 183, 176, 172,
+  171, 169, 166, 162, 157, 155, 150, 148, 146, 143, 142, 141, 142, 141, 140, 136,
+  136, 137, 136, 129, 117, 103, 82, 63, 66, 43, 35, 20, 38, 39, 53, 47,
+  48, 33, 36, 53, 41, 37, 18, 18, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 32, 39, 71, 95, 132, 167, 168,
+  169, 168, 175, 180, 176, 167, 170, 170, 172, 172, 170, 170, 170, 171, 170, 170,
+  170, 171, 171, 171, 172, 174, 181, 180, 179, 177, 178, 179, 182, 182, 180, 180,
+  182, 183, 185, 186, 188, 189, 189, 192, 195, 195, 195, 194, 198, 200, 195, 194,
+  194, 195, 196, 197, 196, 196, 186, 183, 183, 180, 176, 170, 163, 160, 162, 158,
+  154, 150, 146, 142, 143, 143, 146, 140, 140, 138, 134, 131, 125, 113, 103, 80,
+  73, 54, 45, 27, 41, 33, 23, 20, 31, 24, 27, 37, 21, 16, 19, 18,
+  20, 100, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  55, 65, 91, 126, 135, 155, 156, 164, 170, 169, 168, 172, 172, 168, 171, 171,
+  172, 172, 169, 168, 168, 169, 170, 170, 170, 171, 171, 171, 172, 174, 182, 182,
+  180, 179, 180, 182, 185, 186, 185, 186, 187, 190, 192, 194, 196, 198, 198, 202,
+  203, 202, 200, 199, 201, 203, 200, 201, 201, 202, 203, 203, 205, 205, 196, 194,
+  194, 192, 188, 181, 173, 168, 169, 165, 161, 155, 149, 145, 144, 143, 146, 141,
+  142, 139, 128, 129, 133, 123, 119, 95, 81, 66, 63, 44, 58, 44, 42, 37,
+  43, 29, 23, 31, 27, 37, 19, 18, 18, 19, 95, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 73, 97, 115, 133, 145, 152, 152, 165, 167,
+  169, 168, 165, 161, 161, 161, 165, 168, 169, 170, 171, 171, 171, 171, 173, 173,
+  173, 173, 174, 176, 177, 179, 181, 183, 185, 188, 191, 192, 193, 194, 189, 190,
+  193, 196, 198, 199, 199, 201, 201, 209, 206, 204, 210, 209, 202, 204, 208, 202,
+  203, 209, 209, 202, 199, 202, 200, 193, 192, 194, 195, 189, 182, 176, 173, 166,
+  158, 151, 148, 143, 141, 138, 146, 142, 137, 134, 134, 130, 127, 123, 113, 103,
+  92, 82, 68, 58, 63, 72, 65, 67, 78, 42, 23, 32, 18, 22, 19, 13,
+  10, 14, 16, 94, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 188, 91, 113,
+  129, 143, 153, 161, 162, 160, 167, 169, 169, 166, 164, 161, 160, 163, 165, 168,
+  171, 172, 174, 174, 175, 174, 176, 175, 176, 176, 178, 179, 181, 182, 183, 185,
+  189, 189, 194, 193, 196, 194, 200, 198, 200, 199, 202, 202, 206, 207, 209, 214,
+  211, 206, 212, 209, 202, 202, 216, 212, 209, 205, 197, 189, 185, 184, 186, 186,
+  181, 170, 155, 150, 154, 163, 163, 157, 154, 154, 154, 153, 148, 143, 126, 127,
+  130, 133, 134, 130, 122, 115, 130, 109, 89, 84, 82, 71, 57, 46, 56, 47,
+  68, 64, 44, 25, 8, 31, 33, 22, 12, 11, 12, 12, 94, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 181, 65, 123, 142, 153, 160, 163, 166, 163, 159, 163, 163,
+  162, 160, 156, 154, 156, 161, 167, 171, 175, 175, 179, 179, 181, 180, 183, 181,
+  183, 182, 185, 185, 188, 189, 191, 192, 195, 196, 199, 200, 201, 201, 211, 209,
+  208, 207, 209, 210, 214, 215, 217, 219, 213, 208, 213, 207, 199, 202, 209, 208,
+  199, 184, 170, 164, 161, 157, 149, 127, 109, 111, 126, 132, 118, 99, 109, 99,
+  91, 89, 98, 107, 111, 111, 131, 123, 113, 107, 109, 115, 122, 124, 119, 109,
+  100, 94, 80, 64, 46, 36, 47, 56, 70, 48, 27, 27, 21, 30, 18, 12,
+  10, 15, 15, 12, 7, 89, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 179, 44, 73, 109, 133, 148,
+  157, 161, 162, 165, 163, 159, 158, 158, 157, 156, 153, 154, 157, 163, 171, 176,
+  179, 181, 184, 186, 187, 188, 188, 189, 189, 190, 191, 193, 195, 197, 200, 202,
+  203, 205, 207, 208, 208, 208, 213, 213, 214, 215, 217, 219, 221, 222, 219, 217,
+  209, 206, 210, 204, 196, 202, 195, 194, 183, 164, 149, 147, 148, 143, 112, 116,
+  122, 126, 125, 123, 113, 104, 105, 91, 77, 71, 75, 80, 80, 76, 89, 90,
+  94, 96, 97, 92, 85, 79, 103, 102, 103, 98, 87, 70, 58, 50, 33, 56,
+  66, 44, 26, 26, 14, 8, 12, 12, 16, 19, 16, 9, 6, 8, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 178, 36, 71, 110, 132, 138, 150, 157, 160, 162, 164, 165, 162, 161, 162,
+  161, 161, 162, 164, 169, 174, 178, 182, 185, 188, 190, 193, 194, 194, 195, 196,
+  196, 197, 199, 201, 203, 206, 207, 210, 212, 213, 214, 215, 215, 215, 213, 215,
+  220, 224, 227, 229, 229, 227, 218, 215, 206, 204, 207, 200, 194, 202, 193, 189,
+  177, 162, 149, 149, 151, 151, 140, 144, 147, 142, 136, 133, 127, 119, 95, 91,
+  87, 88, 93, 95, 90, 82, 79, 77, 80, 83, 86, 86, 82, 78, 70, 59,
+  53, 58, 69, 69, 54, 36, 44, 33, 27, 34, 32, 22, 26, 35, 21, 20,
+  20, 18, 11, 6, 11, 20, 10, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 184, 47, 63, 89, 121, 123, 140, 150,
+  155, 156, 157, 161, 162, 161, 161, 164, 166, 169, 171, 174, 179, 184, 188, 192,
+  194, 197, 200, 202, 203, 204, 205, 205, 206, 207, 209, 212, 214, 216, 215, 216,
+  217, 218, 218, 218, 218, 218, 215, 219, 225, 231, 235, 237, 236, 233, 223, 215,
+  206, 206, 210, 201, 197, 207, 203, 191, 176, 167, 161, 156, 160, 164, 176, 159,
+  137, 126, 134, 145, 140, 125, 136, 129, 121, 117, 119, 122, 125, 123, 81, 72,
+  61, 56, 61, 75, 89, 95, 91, 88, 85, 84, 91, 97, 93, 84, 65, 60,
+  38, 32, 28, 20, 22, 13, 7, 7, 10, 16, 14, 9, 8, 11, 11, 92,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 179,
+  30, 67, 98, 113, 139, 138, 138, 144, 148, 149, 150, 155, 158, 157, 163, 168,
+  174, 178, 181, 185, 190, 194, 200, 202, 204, 207, 209, 211, 212, 212, 214, 214,
+  215, 217, 219, 221, 223, 225, 223, 224, 225, 226, 226, 226, 225, 225, 226, 229,
+  233, 238, 242, 244, 244, 241, 233, 224, 213, 211, 216, 207, 203, 215, 211, 189,
+  173, 173, 173, 167, 170, 177, 174, 175, 167, 148, 139, 144, 152, 154, 142, 135,
+  124, 113, 106, 103, 103, 101, 109, 108, 112, 116, 120, 118, 113, 109, 94, 99,
+  99, 87, 77, 78, 83, 87, 99, 128, 121, 113, 103, 89, 71, 26, 30, 19,
+  12, 15, 18, 15, 7, 6, 12, 12, 93, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 35, 35, 88, 123, 118, 138, 143, 140, 144,
+  148, 147, 151, 156, 160, 159, 168, 173, 181, 186, 191, 195, 199, 203, 206, 208,
+  211, 213, 215, 216, 217, 217, 219, 220, 221, 222, 224, 227, 229, 233, 231, 232,
+  233, 234, 234, 235, 235, 234, 236, 237, 240, 242, 244, 246, 246, 244, 240, 228,
+  217, 217, 221, 212, 208, 221, 219, 192, 175, 183, 185, 176, 179, 190, 186, 176,
+  164, 158, 169, 173, 154, 127, 94, 108, 127, 142, 146, 142, 136, 130, 124, 121,
+  118, 116, 112, 107, 99, 93, 95, 87, 74, 62, 58, 60, 55, 45, 32, 39,
+  35, 65, 87, 95, 125, 132, 115, 76, 34, 13, 14, 18, 18, 16, 12, 11,
+  11, 92, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 33,
+  66, 103, 126, 136, 145, 154, 155, 148, 146, 151, 154, 155, 159, 168, 176, 181,
+  186, 186, 189, 194, 200, 204, 211, 208, 209, 215, 218, 216, 216, 221, 214, 218,
+  223, 228, 231, 230, 228, 229, 238, 238, 237, 236, 239, 239, 237, 235, 246, 242,
+  243, 245, 244, 243, 245, 245, 236, 230, 226, 223, 223, 223, 226, 227, 221, 194,
+  193, 202, 191, 188, 197, 191, 182, 180, 173, 156, 139, 132, 140, 150, 166, 159,
+  152, 150, 153, 155, 153, 150, 151, 154, 155, 156, 155, 149, 140, 133, 121, 118,
+  104, 83, 66, 58, 54, 45, 36, 26, 24, 25, 24, 25, 46, 69, 85, 110,
+  124, 94, 46, 14, 8, 9, 14, 4, 8, 16, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 44, 62, 94, 124, 140, 144, 149, 156, 160, 155,
+  153, 156, 158, 158, 164, 171, 185, 189, 193, 195, 199, 202, 204, 206, 207, 208,
+  205, 200, 204, 212, 212, 205, 213, 215, 219, 224, 228, 231, 233, 233, 244, 242,
+  239, 239, 239, 240, 239, 238, 247, 243, 241, 245, 243, 241, 242, 242, 243, 238,
+  235, 234, 232, 233, 235, 235, 221, 208, 204, 198, 193, 207, 210, 184, 187, 165,
+  147, 148, 168, 183, 185, 179, 174, 174, 176, 182, 189, 194, 195, 196, 205, 204,
+  201, 196, 188, 176, 164, 154, 139, 136, 123, 105, 85, 70, 57, 42, 40, 28,
+  24, 23, 19, 17, 30, 49, 39, 44, 73, 104, 107, 73, 33, 9, 22, 8,
+  4, 4, 86, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 54, 77,
+  110, 136, 147, 151, 154, 160, 157, 155, 155, 161, 165, 170, 177, 183, 188, 189,
+  191, 195, 196, 196, 194, 193, 202, 208, 203, 191, 196, 213, 216, 203, 209, 210,
+  213, 220, 226, 232, 239, 241, 243, 239, 236, 236, 239, 240, 241, 242, 243, 241,
+  240, 243, 242, 241, 241, 245, 251, 250, 247, 246, 244, 242, 241, 239, 228, 221,
+  218, 212, 208, 216, 208, 181, 172, 170, 175, 184, 195, 200, 200, 196, 193, 197,
+  204, 211, 214, 215, 214, 214, 216, 216, 213, 209, 203, 195, 185, 177, 168, 164,
+  153, 138, 120, 102, 81, 58, 44, 34, 29, 29, 25, 16, 18, 26, 8, 19,
+  32, 53, 90, 108, 77, 25, 13, 10, 8, 9, 10, 94, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 59, 87, 120, 141, 149, 152, 156, 158, 155, 155,
+  158, 163, 168, 174, 180, 185, 199, 192, 189, 191, 190, 186, 182, 180, 176, 183,
+  182, 176, 182, 196, 204, 200, 204, 206, 211, 218, 225, 235, 242, 243, 240, 236,
+  235, 235, 239, 244, 247, 248, 243, 239, 239, 242, 241, 240, 241, 245, 254, 253,
+  252, 250, 247, 245, 242, 237, 232, 222, 223, 228, 216, 195, 182, 182, 172, 189,
+  206, 207, 197, 191, 195, 202, 210, 214, 219, 222, 220, 215, 211, 209, 214, 213,
+  212, 213, 212, 209, 207, 201, 188, 185, 177, 166, 156, 141, 116, 93, 58, 44,
+  37, 36, 36, 27, 18, 14, 15, 23, 17, 11, 37, 80, 93, 77, 25, 27,
+  18, 5, 7, 8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 22, 77, 108,
+  138, 148, 153, 156, 157, 155, 159, 161, 164, 167, 172, 177, 179, 179, 187, 176,
+  168, 168, 167, 162, 158, 159, 160, 163, 169, 176, 181, 184, 194, 204, 199, 204,
+  210, 219, 227, 235, 241, 243, 244, 238, 236, 236, 240, 243, 246, 249, 242, 239,
+  238, 241, 242, 239, 240, 246, 254, 255, 255, 255, 251, 245, 241, 236, 227, 224,
+  221, 215, 198, 175, 172, 187, 198, 192, 186, 187, 193, 203, 211, 215, 217, 220,
+  226, 226, 225, 223, 222, 221, 215, 212, 211, 209, 207, 204, 201, 197, 193, 189,
+  183, 176, 173, 163, 144, 123, 94, 71, 48, 39, 36, 31, 22, 15, 21, 7,
+  10, 30, 36, 37, 66, 105, 91, 89, 56, 15, 9, 15, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 44, 83, 115, 141, 149, 154, 162, 163, 156, 157, 164,
+  170, 175, 180, 184, 185, 181, 159, 148, 143, 145, 147, 144, 145, 151, 157, 155,
+  163, 175, 178, 178, 186, 200, 203, 206, 213, 220, 228, 234, 239, 242, 250, 246,
+  242, 239, 240, 240, 241, 239, 239, 236, 235, 237, 238, 235, 235, 241, 248, 252,
+  254, 253, 251, 245, 238, 232, 222, 228, 213, 184, 179, 183, 188, 198, 196, 187,
+  180, 186, 200, 216, 220, 220, 224, 224, 227, 228, 228, 228, 227, 225, 214, 208,
+  204, 200, 197, 194, 190, 187, 191, 188, 182, 178, 176, 173, 159, 145, 134, 108,
+  73, 47, 32, 27, 24, 22, 16, 8, 14, 30, 29, 23, 38, 65, 87, 101,
+  69, 19, 12, 15, 92, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 40, 85, 115,
+  139, 145, 153, 166, 168, 157, 157, 164, 170, 170, 169, 168, 162, 154, 133, 128,
+  130, 143, 149, 151, 159, 170, 148, 148, 150, 153, 163, 172, 179, 181, 208, 211,
+  214, 217, 223, 229, 237, 242, 255, 255, 250, 246, 245, 242, 238, 235, 237, 233,
+  231, 232, 232, 229, 229, 232, 234, 237, 240, 242, 242, 236, 229, 223, 214, 213,
+  185, 166, 183, 196, 193, 195, 181, 188, 195, 201, 206, 212, 215, 219, 230, 228,
+  227, 227, 228, 223, 217, 210, 211, 205, 201, 196, 195, 193, 194, 190, 183, 182,
+  180, 177, 178, 179, 170, 161, 153, 138, 113, 76, 45, 28, 25, 26, 16, 20,
+  18, 8, 11, 25, 31, 25, 70, 106, 91, 49, 44, 45, 32, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 181, 30, 102, 129, 146, 147, 153, 166, 164, 149, 161, 166,
+  165, 155, 141, 129, 112, 97, 95, 95, 106, 125, 137, 141, 154, 169, 160, 163,
+  158, 154, 171, 195, 200, 189, 214, 214, 213, 214, 218, 224, 234, 242, 253, 254,
+  250, 246, 243, 239, 237, 231, 228, 224, 221, 221, 221, 217, 217, 221, 215, 219,
+  223, 227, 225, 221, 213, 209, 205, 182, 150, 161, 196, 196, 176, 180, 188, 189,
+  190, 194, 202, 211, 218, 224, 228, 226, 225, 225, 227, 222, 213, 202, 193, 187,
+  181, 177, 174, 173, 171, 170, 171, 173, 173, 172, 176, 178, 173, 168, 153, 157,
+  145, 109, 66, 37, 26, 27, 22, 12, 10, 17, 24, 24, 29, 35, 38, 79,
+  64, 19, 17, 20, 10, 11, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 32, 48, 111, 127,
+  144, 152, 153, 155, 159, 160, 154, 143, 135, 143, 148, 118, 79, 64, 104, 132,
+  146, 136, 134, 147, 155, 150, 155, 158, 161, 168, 178, 189, 200, 206, 203, 221,
+  227, 218, 216, 225, 235, 237, 241, 250, 247, 253, 222, 224, 217, 222, 201, 203,
+  204, 201, 202, 203, 198, 190, 200, 194, 191, 198, 205, 207, 204, 201, 184, 123,
+  155, 195, 189, 183, 176, 182, 188, 186, 189, 202, 209, 207, 209, 217, 218, 219,
+  222, 218, 207, 197, 193, 189, 185, 174, 161, 159, 164, 156, 149, 157, 142, 157,
+  165, 159, 161, 170, 173, 170, 178, 169, 158, 136, 98, 54, 32, 31, 31, 26,
+  21, 16, 19, 23, 24, 21, 29, 62, 107, 39, 9, 10, 15, 19, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 28, 77, 102, 137, 161, 158, 150, 152, 157, 154, 131, 144,
+  137, 111, 84, 62, 59, 71, 73, 89, 97, 91, 91, 101, 103, 99, 129, 135,
+  141, 148, 159, 176, 197, 210, 232, 215, 209, 217, 226, 225, 229, 240, 237, 238,
+  236, 214, 236, 220, 208, 191, 212, 204, 189, 170, 163, 159, 145, 129, 131, 145,
+  156, 162, 162, 164, 168, 172, 105, 122, 183, 189, 163, 169, 173, 178, 182, 190,
+  200, 209, 208, 205, 207, 211, 223, 210, 205, 204, 198, 196, 190, 178, 157, 167,
+  166, 153, 151, 152, 150, 149, 139, 137, 132, 132, 143, 158, 168, 169, 181, 177,
+  169, 153, 124, 83, 49, 30, 32, 29, 26, 23, 22, 21, 22, 23, 29, 56,
+  110, 70, 32, 36, 42, 54, 96, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 43, 73, 122, 131,
+  139, 145, 153, 152, 138, 122, 121, 100, 65, 53, 89, 124, 128, 118, 140, 144,
+  149, 148, 151, 155, 156, 155, 147, 150, 152, 149, 145, 147, 158, 168, 177, 191,
+  215, 235, 232, 219, 224, 238, 222, 221, 217, 197, 212, 182, 176, 186, 190, 204,
+  211, 200, 187, 166, 129, 97, 125, 132, 121, 92, 66, 56, 58, 63, 85, 127,
+  172, 165, 158, 177, 177, 173, 182, 199, 213, 214, 208, 204, 205, 206, 209, 189,
+  188, 188, 177, 182, 186, 169, 166, 172, 167, 152, 144, 143, 140, 133, 133, 128,
+  127, 131, 135, 141, 151, 161, 182, 181, 173, 160, 141, 111, 68, 34, 30, 30,
+  31, 29, 24, 19, 21, 25, 25, 37, 94, 86, 26, 22, 23, 47, 23, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 31, 54, 85, 114, 132, 150, 153, 127, 99, 101, 118, 93, 119,
+  127, 114, 102, 98, 104, 119, 116, 115, 121, 128, 132, 135, 140, 147, 160, 167,
+  171, 173, 170, 166, 166, 167, 146, 152, 160, 174, 200, 224, 223, 202, 224, 206,
+  187, 198, 160, 141, 140, 173, 255, 255, 255, 255, 255, 239, 157, 84, 133, 112,
+  87, 98, 145, 183, 177, 149, 122, 135, 139, 142, 164, 178, 177, 190, 194, 209,
+  218, 212, 205, 204, 203, 197, 190, 179, 187, 184, 164, 168, 178, 165, 169, 153,
+  147, 153, 155, 156, 156, 155, 149, 141, 134, 126, 113, 112, 139, 175, 181, 183,
+  175, 159, 147, 129, 93, 52, 32, 31, 34, 32, 26, 19, 20, 29, 36, 37,
+  94, 106, 26, 13, 6, 34, 26, 96, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 33, 54, 88, 127, 119,
+  103, 97, 107, 127, 140, 144, 150, 123, 84, 71, 85, 93, 99, 109, 127, 130,
+  141, 151, 156, 160, 171, 187, 190, 191, 194, 198, 202, 201, 196, 191, 183, 173,
+  151, 135, 146, 178, 201, 205, 189, 182, 170, 152, 101, 137, 144, 111, 191, 234,
+  255, 234, 187, 151, 128, 118, 133, 149, 150, 133, 115, 104, 98, 94, 129, 142,
+  132, 138, 158, 158, 172, 204, 207, 212, 210, 201, 198, 199, 195, 184, 185, 178,
+  179, 170, 150, 149, 147, 132, 103, 94, 100, 105, 104, 113, 123, 115, 124, 127,
+  135, 140, 128, 111, 121, 146, 171, 182, 182, 169, 160, 148, 117, 83, 42, 37,
+  34, 33, 27, 19, 21, 30, 31, 32, 92, 105, 27, 15, 9, 36, 23, 13,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 32, 54, 97, 69, 119, 144, 127, 117, 132, 129, 110, 73, 75,
+  78, 97, 117, 118, 121, 138, 137, 144, 155, 165, 169, 175, 186, 199, 220, 215,
+  207, 206, 206, 206, 201, 195, 198, 198, 197, 181, 147, 124, 139, 165, 144, 86,
+  114, 140, 124, 87, 120, 135, 155, 165, 168, 164, 162, 163, 157, 150, 151, 145,
+  138, 137, 139, 137, 128, 120, 132, 153, 139, 138, 159, 168, 184, 199, 212, 207,
+  200, 193, 194, 194, 184, 172, 178, 173, 154, 133, 122, 112, 96, 83, 73, 80,
+  99, 97, 87, 107, 132, 125, 112, 108, 115, 132, 136, 123, 113, 113, 148, 167,
+  179, 175, 167, 156, 131, 106, 64, 48, 35, 32, 28, 22, 20, 29, 23, 35,
+  90, 82, 23, 16, 10, 28, 19, 10, 90, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 37, 79, 128, 146, 139,
+  105, 73, 78, 104, 97, 69, 93, 112, 119, 122, 129, 132, 145, 166, 173, 180,
+  186, 190, 194, 200, 206, 209, 208, 206, 201, 201, 204, 206, 205, 201, 194, 181,
+  182, 192, 184, 145, 101, 75, 64, 109, 137, 95, 111, 139, 164, 142, 159, 166,
+  173, 176, 178, 176, 180, 180, 164, 154, 148, 141, 129, 123, 134, 154, 174, 176,
+  138, 137, 161, 183, 206, 201, 204, 199, 194, 199, 201, 191, 176, 165, 167, 179,
+  150, 111, 101, 87, 75, 86, 82, 54, 63, 87, 88, 107, 146, 163, 163, 140,
+  114, 105, 109, 112, 116, 121, 129, 146, 161, 164, 162, 153, 137, 121, 92, 63,
+  38, 31, 29, 23, 20, 25, 33, 58, 106, 64, 25, 23, 18, 23, 15, 11,
+  10, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 187, 106, 125, 107, 90, 69, 57, 71, 89, 92, 81, 76, 97, 130,
+  147, 147, 156, 168, 179, 188, 204, 209, 209, 208, 212, 218, 217, 211, 209, 211,
+  212, 211, 207, 200, 195, 192, 201, 199, 192, 188, 189, 176, 135, 91, 108, 134,
+  107, 122, 158, 177, 154, 185, 185, 180, 183, 191, 195, 191, 193, 194, 183, 164,
+  155, 151, 136, 118, 119, 134, 215, 190, 137, 133, 148, 166, 208, 221, 197, 193,
+  197, 209, 208, 191, 173, 163, 164, 200, 175, 123, 104, 88, 95, 139, 168, 71,
+  46, 94, 97, 88, 123, 164, 181, 172, 156, 142, 127, 113, 102, 98, 129, 138,
+  147, 153, 153, 149, 142, 135, 111, 74, 41, 31, 32, 26, 21, 23, 26, 62,
+  105, 41, 16, 19, 17, 12, 11, 9, 10, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 122, 118, 88, 61, 46, 38,
+  45, 68, 77, 70, 73, 86, 115, 130, 147, 163, 177, 192, 199, 201, 216, 217,
+  217, 216, 215, 213, 212, 213, 218, 213, 205, 196, 192, 191, 194, 196, 186, 190,
+  188, 182, 180, 175, 155, 134, 103, 137, 119, 133, 170, 177, 190, 188, 190, 192,
+  193, 195, 195, 194, 194, 190, 183, 174, 163, 148, 132, 118, 104, 94, 192, 222,
+  138, 120, 116, 175, 187, 178, 187, 202, 205, 201, 193, 180, 188, 215, 229, 232,
+  187, 125, 106, 108, 106, 108, 117, 74, 58, 88, 114, 116, 135, 168, 177, 168,
+  160, 153, 145, 128, 112, 102, 102, 112, 126, 141, 149, 150, 145, 138, 130, 94,
+  58, 40, 31, 26, 26, 34, 37, 102, 85, 22, 15, 21, 10, 9, 9, 12,
+  12, 90, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 134, 98, 56, 29, 44, 41, 50, 68, 79, 84, 100, 117, 131, 147,
+  166, 182, 196, 208, 216, 217, 213, 214, 216, 217, 217, 216, 215, 214, 209, 210,
+  210, 207, 200, 197, 192, 191, 199, 194, 184, 172, 167, 166, 161, 154, 102, 109,
+  141, 163, 175, 187, 196, 204, 200, 201, 199, 197, 197, 196, 195, 194, 190, 181,
+  171, 160, 146, 130, 115, 103, 134, 240, 178, 117, 116, 111, 144, 168, 184, 193,
+  185, 182, 188, 196, 211, 233, 236, 239, 205, 156, 125, 116, 107, 101, 68, 77,
+  100, 120, 119, 118, 143, 179, 178, 169, 160, 152, 143, 128, 115, 110, 113, 119,
+  127, 137, 142, 144, 142, 140, 133, 120, 87, 44, 27, 33, 34, 24, 84, 92,
+  52, 12, 19, 22, 9, 2, 3, 7, 9, 7, 90, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 56, 34, 30, 35, 42, 44,
+  52, 64, 80, 99, 127, 148, 161, 176, 192, 201, 207, 211, 215, 215, 211, 212,
+  215, 217, 219, 218, 215, 216, 211, 212, 214, 213, 207, 203, 198, 197, 192, 189,
+  187, 182, 171, 162, 160, 160, 120, 92, 146, 176, 176, 195, 197, 209, 206, 206,
+  204, 202, 202, 201, 200, 199, 191, 185, 178, 168, 155, 139, 122, 111, 80, 220,
+  216, 126, 145, 106, 124, 162, 168, 181, 180, 183, 199, 211, 215, 220, 233, 232,
+  227, 196, 159, 140, 131, 120, 121, 132, 137, 131, 131, 147, 169, 185, 168, 160,
+  153, 146, 138, 128, 124, 125, 143, 142, 141, 140, 138, 137, 135, 134, 146, 126,
+  102, 77, 49, 32, 44, 66, 104, 66, 25, 13, 22, 18, 9, 3, 1, 5,
+  9, 8, 11, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 183, 26, 27, 33, 40, 43, 44, 47, 58, 82, 114, 147, 166, 181, 193,
+  203, 204, 205, 205, 208, 209, 213, 215, 217, 219, 219, 215, 213, 211, 211, 209,
+  205, 200, 198, 199, 203, 206, 205, 202, 202, 196, 178, 156, 150, 153, 148, 111,
+  132, 160, 178, 197, 197, 204, 209, 210, 208, 208, 206, 205, 204, 202, 190, 185,
+  180, 172, 160, 145, 128, 115, 120, 86, 236, 198, 147, 135, 111, 138, 153, 177,
+  185, 186, 197, 204, 199, 195, 209, 211, 226, 222, 188, 173, 171, 160, 172, 172,
+  168, 165, 174, 182, 171, 154, 155, 151, 149, 147, 142, 138, 141, 144, 165, 160,
+  155, 148, 144, 140, 138, 136, 128, 126, 130, 117, 71, 38, 67, 124, 76, 36,
+  21, 27, 18, 10, 11, 8, 5, 8, 9, 8, 12, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 36, 40, 40, 33, 29, 52, 46,
+  47, 63, 98, 137, 167, 178, 183, 192, 199, 199, 199, 204, 209, 211, 213, 213,
+  212, 211, 209, 205, 202, 200, 195, 193, 187, 183, 183, 187, 196, 201, 230, 223,
+  214, 202, 180, 159, 154, 160, 157, 150, 127, 149, 186, 190, 197, 200, 208, 210,
+  209, 209, 209, 206, 205, 201, 190, 185, 180, 174, 165, 153, 139, 128, 120, 113,
+  135, 227, 221, 121, 120, 120, 147, 173, 181, 174, 177, 183, 188, 197, 193, 201,
+  228, 236, 211, 199, 201, 198, 188, 187, 184, 180, 176, 175, 174, 172, 165, 165,
+  164, 165, 161, 156, 157, 160, 159, 158, 157, 153, 151, 149, 148, 146, 144, 139,
+  124, 111, 110, 110, 100, 81, 54, 27, 27, 32, 14, 10, 18, 11, 9, 8,
+  7, 5, 10, 17, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 25, 22, 24, 35, 50, 63, 52, 53, 83, 126, 163, 183, 189, 195, 197,
+  197, 194, 195, 198, 202, 201, 202, 200, 198, 196, 193, 189, 186, 185, 177, 179,
+  177, 177, 177, 180, 185, 190, 208, 211, 212, 210, 198, 182, 172, 166, 153, 167,
+  133, 153, 190, 180, 192, 204, 208, 211, 213, 217, 215, 212, 208, 204, 190, 184,
+  177, 172, 164, 156, 145, 136, 121, 118, 121, 144, 224, 244, 140, 158, 139, 165,
+  176, 174, 177, 178, 186, 201, 207, 224, 249, 254, 233, 218, 212, 210, 211, 202,
+  188, 179, 176, 178, 190, 204, 193, 190, 187, 187, 182, 172, 167, 167, 158, 156,
+  155, 155, 151, 148, 145, 143, 160, 143, 125, 122, 129, 122, 91, 56, 69, 46,
+  36, 29, 17, 22, 27, 9, 10, 9, 7, 5, 11, 19, 98, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 23, 22, 26, 50, 78, 64, 52,
+  60, 101, 150, 178, 191, 195, 200, 199, 194, 190, 188, 191, 188, 182, 184, 184,
+  181, 178, 176, 176, 176, 178, 170, 171, 170, 171, 172, 174, 176, 180, 181, 191,
+  202, 208, 205, 194, 174, 153, 161, 139, 129, 154, 181, 180, 191, 210, 216, 222,
+  227, 231, 230, 227, 222, 216, 205, 195, 183, 173, 162, 153, 144, 137, 140, 95,
+  124, 130, 131, 237, 248, 183, 167, 174, 173, 174, 180, 177, 181, 196, 222, 252,
+  255, 255, 249, 224, 200, 195, 199, 200, 197, 200, 204, 204, 196, 188, 204, 197,
+  192, 192, 189, 179, 172, 169, 166, 164, 162, 157, 152, 146, 144, 139, 133, 145,
+  152, 139, 100, 73, 86, 115, 96, 71, 51, 34, 24, 28, 26, 12, 13, 13,
+  11, 12, 19, 23, 19, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 24, 23, 27, 48, 75, 60, 47, 61, 112, 159, 182, 190, 196, 191, 187,
+  185, 182, 186, 188, 183, 175, 173, 172, 169, 167, 167, 169, 172, 175, 167, 165,
+  159, 157, 158, 162, 167, 173, 190, 196, 194, 185, 183, 178, 160, 134, 180, 102,
+  113, 147, 169, 189, 193, 212, 226, 233, 240, 244, 245, 240, 234, 228, 226, 214,
+  198, 182, 168, 156, 146, 140, 137, 130, 122, 120, 95, 116, 203, 248, 218, 200,
+  170, 160, 167, 170, 176, 196, 219, 255, 255, 255, 248, 217, 179, 171, 185, 195,
+  192, 184, 185, 197, 203, 199, 196, 187, 181, 183, 184, 181, 175, 173, 167, 166,
+  163, 161, 159, 155, 153, 152, 144, 142, 116, 84, 88, 121, 132, 115, 106, 88,
+  66, 46, 32, 24, 21, 19, 18, 19, 20, 22, 28, 30, 22, 92, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 178, 23, 23, 30, 43, 55, 37, 47,
+  97, 134, 158, 185, 191, 196, 184, 187, 185, 175, 168, 168, 167, 165, 170, 158,
+  159, 175, 187, 184, 174, 167, 152, 151, 146, 142, 140, 143, 154, 163, 174, 178,
+  195, 192, 174, 183, 183, 145, 175, 108, 116, 149, 176, 198, 200, 215, 236, 240,
+  245, 248, 250, 247, 244, 240, 237, 229, 219, 209, 195, 178, 161, 146, 134, 129,
+  125, 122, 117, 119, 132, 144, 211, 239, 220, 186, 193, 197, 192, 203, 231, 255,
+  255, 252, 214, 181, 166, 168, 177, 179, 175, 174, 176, 179, 180, 182, 182, 179,
+  176, 178, 179, 178, 170, 164, 162, 164, 165, 163, 155, 146, 140, 135, 90, 97,
+  112, 127, 134, 133, 125, 117, 110, 101, 91, 77, 62, 49, 37, 29, 32, 22,
+  19, 29, 38, 35, 24, 14, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  27, 26, 25, 28, 34, 41, 48, 61, 114, 148, 169, 189, 196, 199, 193, 180,
+  170, 166, 163, 158, 154, 153, 158, 166, 181, 175, 154, 138, 131, 120, 87, 85,
+  90, 110, 141, 166, 172, 169, 170, 179, 180, 180, 182, 182, 175, 172, 186, 128,
+  130, 146, 164, 191, 207, 232, 240, 244, 249, 253, 254, 253, 251, 247, 240, 234,
+  225, 215, 204, 189, 172, 157, 137, 130, 128, 129, 128, 127, 131, 137, 104, 164,
+  206, 218, 224, 212, 216, 250, 253, 240, 219, 201, 193, 186, 174, 162, 169, 171,
+  169, 168, 170, 173, 175, 174, 192, 185, 175, 170, 169, 168, 163, 159, 166, 164,
+  156, 143, 125, 107, 93, 86, 118, 121, 127, 133, 136, 137, 132, 128, 128, 125,
+  123, 115, 100, 82, 63, 50, 34, 29, 31, 41, 48, 40, 22, 9, 93, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 28, 30, 29, 29, 28, 30, 46, 63,
+  123, 160, 176, 190, 194, 199, 195, 176, 163, 160, 157, 151, 156, 165, 169, 164,
+  161, 135, 95, 84, 78, 55, 94, 98, 112, 143, 188, 220, 222, 211, 202, 224,
+  216, 204, 198, 167, 151, 176, 148, 125, 141, 158, 174, 199, 216, 235, 244, 248,
+  252, 255, 255, 255, 255, 254, 245, 241, 234, 228, 219, 206, 189, 173, 154, 140,
+  132, 129, 131, 132, 135, 136, 119, 112, 116, 162, 226, 244, 242, 255, 255, 255,
+  240, 214, 192, 179, 174, 173, 193, 191, 187, 182, 178, 176, 172, 169, 173, 174,
+  178, 181, 184, 182, 175, 169, 155, 135, 105, 82, 80, 99, 129, 151, 153, 151,
+  147, 145, 146, 147, 147, 145, 150, 149, 150, 144, 132, 114, 91, 76, 49, 42,
+  41, 48, 48, 36, 19, 6, 10, 89, 255, 255, 255, 255, 255, 255, 255, 255,
+  28, 30, 31, 32, 30, 30, 35, 57, 125, 169, 186, 195, 194, 199, 180, 170,
+  160, 152, 150, 154, 167, 178, 161, 137, 122, 98, 69, 78, 102, 101, 80, 85,
+  94, 113, 153, 197, 220, 222, 220, 216, 193, 177, 178, 176, 179, 201, 122, 126,
+  150, 170, 191, 211, 225, 235, 249, 251, 253, 255, 255, 255, 255, 255, 250, 247,
+  243, 239, 232, 220, 205, 194, 180, 161, 142, 131, 128, 131, 140, 147, 132, 135,
+  137, 144, 155, 165, 204, 255, 255, 234, 205, 185, 185, 187, 182, 172, 185, 185,
+  183, 182, 182, 184, 183, 180, 183, 181, 178, 170, 157, 138, 118, 105, 89, 103,
+  124, 144, 157, 165, 168, 169, 170, 166, 162, 159, 159, 161, 162, 160, 157, 151,
+  145, 138, 129, 115, 99, 88, 73, 60, 48, 41, 34, 24, 14, 8, 7, 6,
+  255, 255, 255, 255, 255, 255, 255, 255, 25, 26, 26, 28, 29, 31, 34, 56,
+  127, 178, 198, 204, 197, 200, 165, 157, 148, 144, 152, 161, 158, 150, 123, 107,
+  107, 103, 82, 98, 153, 193, 132, 127, 112, 109, 143, 196, 231, 238, 234, 201,
+  177, 165, 160, 167, 157, 124, 151, 159, 162, 173, 194, 217, 238, 248, 252, 252,
+  253, 252, 252, 251, 251, 253, 253, 251, 248, 246, 242, 233, 219, 210, 200, 182,
+  160, 143, 132, 130, 139, 149, 161, 151, 142, 148, 167, 175, 171, 170, 124, 162,
+  199, 205, 184, 160, 148, 144, 146, 144, 142, 142, 142, 143, 140, 140, 143, 128,
+  110, 99, 105, 125, 150, 167, 192, 192, 187, 181, 173, 168, 167, 167, 179, 175,
+  176, 173, 173, 171, 167, 163, 152, 143, 134, 124, 119, 109, 98, 88, 81, 66,
+  49, 38, 26, 15, 10, 9, 10, 12, 96, 255, 255, 255, 255, 255, 255, 255,
+  25, 21, 20, 22, 26, 32, 38, 52, 118, 171, 195, 201, 190, 189, 164, 149,
+  139, 145, 160, 160, 138, 114, 131, 111, 100, 99, 92, 86, 108, 144, 139, 138,
+  130, 136, 176, 226, 242, 231, 206, 187, 186, 180, 159, 165, 162, 129, 163, 176,
+  165, 177, 207, 227, 246, 254, 255, 255, 254, 252, 251, 250, 251, 253, 255, 254,
+  251, 250, 248, 242, 232, 224, 212, 200, 185, 169, 153, 139, 136, 140, 149, 159,
+  166, 165, 168, 176, 177, 170, 182, 170, 156, 155, 166, 172, 161, 144, 161, 157,
+  155, 155, 155, 157, 156, 156, 149, 160, 176, 190, 197, 192, 183, 177, 185, 189,
+  193, 197, 198, 200, 204, 205, 186, 184, 186, 183, 183, 176, 171, 162, 155, 145,
+  139, 135, 129, 120, 108, 96, 81, 68, 55, 43, 30, 16, 11, 9, 9, 13,
+  18, 17, 255, 255, 255, 255, 255, 255, 26, 22, 19, 22, 31, 40, 39, 42,
+  98, 151, 181, 190, 179, 177, 166, 143, 136, 150, 152, 132, 122, 125, 168, 147,
+  105, 87, 94, 75, 59, 75, 100, 118, 136, 156, 202, 251, 255, 248, 249, 228,
+  202, 173, 146, 136, 143, 151, 143, 167, 159, 188, 225, 234, 249, 255, 255, 255,
+  255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 252, 246, 240, 229, 218,
+  206, 194, 178, 159, 145, 140, 151, 161, 172, 171, 166, 179, 196, 201, 206, 209,
+  207, 196, 187, 182, 180, 175, 151, 149, 151, 156, 166, 176, 181, 184, 185, 184,
+  180, 177, 179, 181, 188, 194, 205, 209, 207, 205, 200, 196, 196, 196, 197, 194,
+  193, 190, 188, 183, 178, 170, 162, 152, 146, 142, 138, 131, 119, 106, 88, 77,
+  65, 52, 35, 19, 13, 11, 10, 11, 12, 12, 92, 255, 255, 255, 255, 255,
+  27, 25, 23, 28, 39, 50, 38, 35, 84, 135, 170, 185, 176, 174, 157, 134,
+  135, 149, 129, 96, 115, 163, 178, 180, 136, 103, 114, 108, 99, 125, 134, 157,
+  168, 165, 186, 230, 254, 254, 213, 197, 167, 171, 193, 169, 131, 136, 147, 173,
+  162, 190, 227, 232, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 251, 248, 234, 218, 208, 197, 177, 159, 148, 144, 152,
+  175, 189, 184, 184, 189, 188, 197, 206, 211, 212, 212, 214, 212, 207, 206, 200,
+  194, 190, 190, 192, 192, 193, 197, 201, 204, 206, 207, 207, 208, 210, 211, 216,
+  217, 218, 214, 209, 204, 202, 203, 198, 193, 190, 189, 186, 184, 180, 163, 150,
+  140, 134, 132, 128, 121, 111, 106, 94, 76, 57, 36, 19, 14, 16, 19, 16,
+  13, 14, 17, 255, 255, 255, 255, 255, 31, 19, 15, 24, 35, 40, 38, 26,
+  56, 116, 152, 163, 170, 175, 154, 140, 121, 106, 102, 115, 142, 167, 180, 188,
+  179, 157, 143, 148, 160, 164, 196, 193, 193, 185, 182, 199, 216, 215, 189, 175,
+  158, 155, 159, 157, 147, 139, 165, 167, 175, 198, 226, 244, 254, 255, 255, 255,
+  255, 255, 255, 252, 248, 248, 247, 255, 255, 255, 255, 255, 255, 254, 248, 247,
+  238, 223, 210, 197, 178, 160, 142, 143, 156, 176, 189, 190, 189, 189, 203, 212,
+  218, 216, 219, 226, 227, 223, 225, 224, 224, 223, 222, 220, 219, 217, 220, 222,
+  223, 222, 219, 216, 217, 221, 227, 227, 225, 224, 220, 213, 208, 204, 206, 202,
+  195, 193, 191, 189, 187, 183, 171, 162, 153, 144, 138, 131, 125, 119, 108, 93,
+  72, 52, 38, 28, 19, 12, 13, 23, 35, 34, 19, 97, 255, 255, 255, 255,
+  24, 20, 23, 26, 27, 25, 38, 33, 49, 91, 132, 148, 160, 170, 146, 126,
+  106, 97, 103, 121, 144, 162, 169, 176, 176, 162, 157, 169, 182, 187, 192, 175,
+  178, 189, 185, 182, 197, 210, 143, 168, 189, 177, 148, 133, 150, 176, 179, 179,
+  185, 206, 230, 244, 252, 255, 255, 255, 255, 255, 253, 248, 246, 244, 240, 249,
+  253, 255, 255, 255, 255, 251, 254, 252, 245, 231, 218, 207, 193, 176, 160, 150,
+  149, 157, 167, 176, 186, 196, 203, 211, 219, 222, 229, 237, 239, 234, 236, 235,
+  237, 235, 236, 231, 231, 228, 227, 227, 231, 229, 229, 226, 230, 231, 231, 230,
+  231, 230, 229, 226, 221, 219, 212, 206, 201, 195, 192, 190, 187, 180, 173, 165,
+  157, 149, 142, 136, 129, 123, 113, 99, 79, 58, 40, 29, 21, 17, 18, 25,
+  33, 37, 34, 25, 97, 255, 255, 255, 23, 23, 25, 24, 25, 30, 48, 53,
+  52, 72, 117, 140, 149, 166, 142, 120, 100, 98, 110, 127, 143, 152, 145, 153,
+  157, 153, 156, 170, 181, 183, 196, 199, 197, 178, 167, 180, 176, 149, 255, 217,
+  161, 138, 151, 169, 172, 169, 187, 185, 191, 210, 233, 245, 251, 253, 255, 255,
+  255, 254, 249, 246, 245, 246, 244, 252, 255, 255, 255, 255, 255, 253, 255, 253,
+  245, 232, 220, 213, 203, 192, 178, 164, 153, 150, 155, 167, 181, 195, 209, 216,
+  223, 226, 233, 238, 241, 238, 239, 239, 240, 239, 239, 237, 236, 233, 231, 232,
+  234, 234, 234, 233, 236, 236, 230, 229, 229, 227, 226, 224, 223, 221, 215, 210,
+  204, 198, 195, 191, 188, 182, 178, 171, 164, 157, 150, 141, 132, 124, 119, 109,
+  92, 69, 48, 33, 27, 28, 22, 29, 30, 45, 58, 36, 15, 255, 255, 255,
+  20, 23, 25, 21, 26, 39, 48, 66, 57, 60, 107, 135, 140, 157, 143, 131,
+  120, 119, 126, 133, 143, 151, 156, 161, 166, 168, 174, 184, 189, 187, 194, 180,
+  191, 194, 157, 128, 155, 199, 123, 138, 154, 161, 162, 163, 173, 186, 188, 188,
+  193, 213, 233, 246, 250, 250, 255, 255, 253, 250, 247, 246, 249, 250, 252, 255,
+  255, 255, 255, 255, 255, 254, 250, 246, 236, 223, 213, 208, 204, 199, 185, 176,
+  170, 167, 168, 171, 177, 183, 209, 218, 226, 230, 231, 235, 238, 241, 240, 240,
+  241, 239, 239, 236, 234, 232, 233, 233, 235, 234, 235, 234, 236, 235, 232, 231,
+  229, 225, 221, 219, 217, 215, 216, 212, 206, 202, 197, 194, 190, 184, 180, 175,
+  170, 164, 157, 148, 137, 129, 124, 115, 100, 79, 53, 33, 30, 36, 31, 39,
+  40, 65, 94, 61, 20, 255, 255, 255, 16, 20, 26, 25, 24, 28, 30, 57,
+  51, 51, 96, 130, 133, 143, 139, 143, 146, 146, 141, 137, 146, 157, 167, 173,
+  177, 183, 188, 193, 194, 191, 181, 176, 163, 135, 125, 153, 175, 167, 163, 158,
+  152, 154, 165, 180, 190, 197, 191, 190, 195, 214, 235, 247, 251, 250, 255, 253,
+  252, 252, 250, 248, 252, 253, 252, 255, 255, 255, 255, 255, 255, 251, 247, 241,
+  229, 216, 205, 200, 201, 201, 188, 187, 189, 188, 185, 182, 177, 174, 188, 203,
+  221, 234, 237, 236, 238, 243, 243, 243, 245, 242, 242, 237, 236, 232, 232, 230,
+  232, 232, 236, 235, 238, 236, 238, 236, 233, 229, 224, 221, 217, 216, 214, 211,
+  205, 202, 201, 197, 193, 189, 183, 179, 175, 170, 164, 155, 143, 134, 122, 113,
+  99, 79, 51, 28, 24, 33, 38, 47, 53, 87, 125, 93, 37, 102, 255, 255,
+  32, 17, 20, 26, 25, 22, 20, 43, 46, 52, 93, 129, 137, 141, 135, 147,
+  158, 160, 152, 144, 153, 165, 165, 169, 176, 182, 184, 184, 182, 178, 182, 131,
+  118, 152, 168, 158, 146, 142, 149, 152, 160, 169, 182, 190, 198, 202, 192, 190,
+  198, 215, 237, 250, 254, 253, 254, 255, 255, 255, 255, 253, 252, 252, 253, 255,
+  255, 255, 255, 255, 255, 253, 248, 240, 226, 212, 199, 192, 195, 200, 191, 197,
+  202, 200, 197, 193, 188, 184, 169, 183, 207, 230, 243, 245, 245, 248, 251, 251,
+  252, 250, 249, 245, 243, 240, 232, 230, 232, 234, 239, 241, 243, 241, 238, 236,
+  235, 232, 229, 226, 223, 220, 216, 212, 208, 204, 204, 200, 197, 191, 184, 180,
+  176, 172, 166, 159, 148, 139, 127, 116, 103, 84, 54, 29, 24, 36, 35, 47,
+  55, 86, 129, 115, 58, 20, 255, 255, 71, 50, 37, 32, 32, 30, 28, 43,
+  51, 59, 90, 128, 144, 143, 142, 147, 155, 158, 156, 152, 157, 165, 171, 174,
+  177, 179, 173, 164, 158, 155, 108, 134, 168, 175, 161, 160, 168, 169, 176, 173,
+  175, 186, 201, 209, 204, 198, 194, 190, 196, 214, 235, 246, 251, 249, 252, 254,
+  255, 255, 255, 252, 247, 244, 249, 251, 250, 251, 255, 255, 255, 253, 247, 236,
+  221, 205, 189, 180, 183, 190, 193, 203, 210, 210, 210, 211, 209, 206, 185, 181,
+  188, 209, 232, 244, 248, 251, 255, 255, 255, 255, 255, 254, 254, 251, 244, 240,
+  241, 241, 246, 245, 246, 243, 235, 234, 234, 233, 232, 229, 224, 221, 219, 215,
+  212, 209, 206, 202, 197, 191, 185, 180, 176, 172, 167, 160, 153, 145, 134, 122,
+  107, 90, 60, 35, 29, 40, 37, 46, 54, 79, 122, 133, 86, 24, 255, 255,
+  101, 101, 73, 50, 39, 38, 41, 45, 55, 63, 84, 122, 144, 140, 154, 151,
+  148, 154, 158, 160, 160, 162, 163, 165, 165, 159, 145, 126, 115, 112, 161, 152,
+  160, 174, 165, 156, 169, 182, 183, 188, 195, 202, 208, 210, 207, 204, 193, 187,
+  192, 209, 229, 241, 246, 246, 249, 253, 255, 255, 255, 252, 244, 240, 239, 241,
+  240, 241, 246, 253, 251, 246, 243, 230, 212, 194, 177, 166, 169, 178, 191, 206,
+  218, 223, 224, 226, 225, 220, 219, 193, 176, 188, 215, 236, 247, 252, 254, 255,
+  255, 255, 255, 255, 255, 255, 255, 254, 250, 249, 250, 249, 245, 240, 240, 240,
+  239, 239, 236, 232, 227, 222, 224, 219, 216, 212, 210, 203, 197, 191, 186, 180,
+  175, 171, 167, 162, 155, 148, 135, 121, 108, 89, 61, 34, 27, 39, 50, 55,
+  61, 79, 120, 153, 116, 41, 100, 255, 183, 31, 65, 87, 94, 95, 93, 97,
+  90, 97, 123, 144, 153, 162, 149, 150, 153, 156, 155, 153, 147, 143, 124, 121,
+  117, 119, 126, 138, 152, 162, 185, 183, 179, 176, 177, 182, 188, 194, 199, 193,
+  201, 209, 208, 213, 216, 209, 196, 189, 193, 206, 217, 222, 231, 241, 247, 249,
+  251, 253, 255, 255, 254, 251, 244, 243, 242, 247, 255, 255, 254, 251, 243, 226,
+  210, 179, 138, 115, 122, 132, 160, 189, 219, 233, 241, 246, 241, 232, 224, 221,
+  198, 179, 175, 215, 255, 245, 252, 255, 255, 255, 255, 253, 254, 255, 255, 255,
+  254, 253, 251, 250, 247, 242, 243, 241, 238, 237, 235, 233, 231, 227, 226, 220,
+  215, 211, 210, 205, 199, 193, 188, 184, 179, 174, 170, 164, 158, 151, 139, 125,
+  109, 89, 64, 39, 27, 31, 50, 52, 59, 92, 121, 141, 129, 63, 29, 255,
+  255, 24, 18, 38, 44, 52, 90, 103, 109, 119, 142, 151, 151, 153, 160, 155,
+  148, 140, 131, 122, 111, 106, 120, 126, 135, 147, 158, 167, 172, 177, 183, 186,
+  187, 190, 191, 194, 196, 200, 203, 202, 213, 221, 214, 214, 218, 210, 192, 187,
+  192, 201, 209, 212, 220, 230, 231, 239, 250, 255, 255, 255, 255, 254, 255, 255,
+  255, 255, 255, 255, 255, 254, 244, 229, 191, 136, 91, 72, 77, 90, 118, 152,
+  192, 217, 232, 242, 244, 238, 235, 230, 209, 187, 174, 204, 250, 244, 255, 255,
+  255, 255, 255, 252, 253, 254, 255, 255, 252, 251, 251, 250, 247, 243, 242, 240,
+  239, 237, 236, 234, 230, 227, 225, 219, 212, 208, 206, 204, 202, 196, 188, 184,
+  179, 174, 170, 164, 158, 151, 141, 128, 111, 90, 64, 40, 27, 31, 45, 53,
+  61, 91, 119, 143, 136, 75, 30, 255, 255, 42, 14, 19, 24, 30, 37, 62,
+  80, 92, 105, 108, 104, 104, 97, 97, 100, 108, 119, 129, 137, 140, 150, 157,
+  168, 178, 184, 185, 183, 184, 191, 196, 200, 202, 205, 206, 204, 205, 209, 213,
+  226, 230, 220, 217, 221, 211, 189, 187, 193, 197, 200, 200, 207, 214, 224, 229,
+  237, 246, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 237, 227,
+  170, 104, 76, 74, 86, 112, 126, 156, 194, 220, 238, 251, 255, 250, 242, 236,
+  219, 198, 171, 188, 239, 250, 255, 255, 255, 255, 255, 252, 252, 253, 253, 251,
+  250, 250, 251, 251, 249, 245, 243, 241, 240, 237, 235, 232, 230, 227, 224, 218,
+  210, 205, 204, 203, 203, 199, 187, 180, 177, 173, 167, 163, 157, 151, 143, 130,
+  113, 89, 63, 39, 27, 30, 37, 51, 61, 87, 115, 144, 147, 90, 32, 255,
+  255, 52, 31, 23, 40, 39, 59, 92, 115, 125, 133, 136, 137, 142, 159, 156,
+  155, 158, 164, 172, 175, 177, 190, 190, 190, 189, 188, 187, 187, 188, 205, 208,
+  209, 210, 210, 210, 211, 211, 220, 222, 230, 232, 223, 223, 223, 211, 187, 191,
+  199, 200, 198, 198, 200, 200, 217, 218, 224, 239, 251, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 253, 236, 215, 148, 90, 84, 83, 93, 129, 156, 171,
+  190, 210, 230, 248, 252, 249, 246, 238, 224, 206, 171, 174, 231, 255, 255, 255,
+  255, 255, 255, 254, 253, 253, 251, 250, 249, 250, 252, 253, 252, 249, 244, 241,
+  240, 237, 234, 231, 228, 227, 221, 217, 210, 206, 203, 200, 198, 196, 183, 178,
+  173, 169, 166, 161, 155, 148, 142, 131, 113, 87, 61, 39, 27, 26, 33, 46,
+  57, 83, 111, 147, 154, 100, 36, 255, 255, 29, 28, 14, 50, 45, 67, 109,
+  137, 146, 154, 160, 164, 171, 155, 157, 164, 174, 185, 196, 202, 205, 202, 200,
+  197, 194, 194, 198, 203, 206, 217, 217, 213, 211, 212, 214, 220, 223, 231, 228,
+  230, 229, 224, 229, 227, 208, 191, 200, 209, 209, 206, 205, 200, 194, 185, 179,
+  184, 207, 232, 244, 249, 250, 255, 252, 249, 252, 255, 255, 253, 246, 225, 190,
+  130, 105, 121, 118, 123, 164, 188, 184, 185, 198, 225, 250, 255, 255, 248, 239,
+  225, 209, 169, 168, 224, 252, 255, 255, 255, 255, 255, 255, 253, 253, 251, 249,
+  249, 250, 252, 253, 252, 250, 244, 242, 241, 238, 235, 232, 229, 227, 219, 217,
+  214, 210, 203, 197, 193, 188, 179, 175, 171, 167, 163, 160, 154, 148, 141, 129,
+  110, 83, 56, 36, 25, 24, 32, 41, 52, 81, 112, 146, 156, 106, 39, 101,
+  255, 30, 38, 22, 48, 41, 70, 120, 156, 169, 177, 181, 184, 189, 189, 190,
+  192, 198, 201, 202, 200, 198, 201, 202, 204, 204, 208, 211, 214, 217, 218, 215,
+  213, 213, 215, 223, 231, 236, 240, 233, 232, 228, 227, 233, 229, 208, 195, 210,
+  221, 219, 217, 217, 204, 187, 145, 127, 118, 135, 167, 197, 223, 240, 250, 249,
+  246, 249, 253, 252, 244, 237, 215, 175, 138, 144, 167, 162, 162, 192, 211, 199,
+  195, 206, 234, 255, 255, 255, 253, 241, 225, 208, 171, 168, 220, 244, 255, 255,
+  255, 255, 255, 255, 255, 254, 253, 251, 250, 251, 253, 253, 252, 250, 244, 242,
+  241, 237, 234, 230, 228, 225, 216, 216, 215, 210, 203, 194, 189, 185, 180, 175,
+  171, 167, 164, 160, 153, 147, 138, 129, 110, 81, 54, 37, 26, 24, 33, 39,
+  52, 89, 115, 140, 152, 113, 42, 26, 255, 41, 42, 42, 41, 42, 72, 123,
+  163, 175, 182, 186, 188, 194, 191, 192, 194, 197, 202, 204, 204, 203, 207, 210,
+  212, 214, 217, 219, 219, 219, 216, 215, 218, 219, 224, 231, 236, 239, 238, 236,
+  238, 234, 229, 234, 231, 210, 202, 219, 230, 229, 229, 226, 205, 177, 124, 107,
+  102, 117, 141, 164, 189, 211, 232, 237, 240, 243, 240, 236, 233, 231, 218, 186,
+  166, 175, 181, 168, 159, 163, 195, 189, 195, 212, 235, 250, 254, 252, 253, 240,
+  221, 207, 177, 179, 226, 241, 255, 254, 251, 250, 252, 254, 254, 253, 253, 252,
+  250, 250, 250, 250, 249, 245, 244, 241, 240, 237, 235, 231, 226, 224, 216, 215,
+  214, 208, 201, 194, 191, 187, 181, 177, 173, 169, 166, 163, 156, 150, 137, 128,
+  110, 79, 53, 38, 28, 24, 33, 39, 61, 102, 117, 128, 145, 121, 44, 26,
+  255, 31, 15, 40, 29, 48, 73, 120, 156, 162, 170, 177, 181, 188, 191, 192,
+  192, 195, 199, 202, 204, 204, 213, 213, 215, 215, 219, 222, 225, 226, 218, 220,
+  225, 229, 233, 235, 235, 234, 234, 238, 244, 241, 234, 237, 234, 215, 208, 223,
+  234, 233, 233, 231, 204, 170, 118, 125, 147, 173, 184, 179, 176, 182, 212, 226,
+  236, 238, 230, 226, 227, 231, 212, 192, 189, 199, 198, 189, 181, 171, 173, 180,
+  199, 226, 249, 255, 255, 255, 250, 236, 218, 205, 181, 190, 234, 243, 252, 251,
+  247, 248, 251, 254, 254, 253, 254, 252, 250, 249, 249, 248, 246, 242, 246, 242,
+  240, 237, 235, 231, 226, 225, 215, 214, 212, 206, 198, 193, 193, 192, 184, 179,
+  175, 172, 167, 163, 158, 153, 137, 132, 114, 82, 55, 41, 30, 26, 32, 40,
+  70, 114, 121, 124, 144, 131, 48, 30, 255, 24, 35, 43, 47, 49, 65, 105,
+  139, 152, 165, 169, 168, 175, 181, 187, 192, 197, 201, 207, 215, 221, 219, 219,
+  218, 218, 220, 225, 227, 228, 230, 235, 237, 236, 234, 233, 236, 239, 243, 244,
+  245, 246, 244, 241, 238, 233, 205, 216, 229, 236, 240, 234, 212, 186, 143, 161,
+  179, 188, 204, 214, 201, 180, 191, 205, 217, 226, 231, 233, 228, 219, 214, 211,
+  210, 205, 201, 198, 196, 194, 174, 174, 187, 218, 251, 255, 255, 255, 244, 245,
+  223, 187, 182, 215, 239, 243, 255, 253, 245, 245, 251, 255, 255, 255, 255, 253,
+  253, 253, 252, 251, 248, 245, 243, 242, 241, 239, 235, 232, 227, 224, 212, 212,
+  211, 206, 199, 193, 192, 191, 188, 183, 176, 169, 163, 157, 152, 148, 138, 132,
+  117, 93, 67, 44, 30, 27, 31, 42, 63, 117, 153, 112, 143, 139, 62, 29,
+  255, 22, 31, 40, 44, 48, 58, 101, 135, 149, 160, 165, 166, 175, 185, 190,
+  197, 200, 202, 208, 216, 220, 223, 221, 222, 222, 224, 227, 229, 232, 234, 236,
+  237, 236, 235, 236, 238, 240, 245, 245, 246, 246, 246, 245, 244, 241, 214, 218,
+  227, 235, 241, 239, 227, 212, 177, 187, 196, 203, 210, 213, 201, 185, 188, 200,
+  212, 218, 223, 228, 226, 222, 224, 221, 217, 212, 208, 207, 208, 207, 198, 199,
+  210, 227, 246, 255, 255, 254, 242, 238, 214, 190, 193, 218, 235, 237, 252, 251,
+  246, 246, 251, 255, 255, 255, 255, 255, 253, 251, 251, 250, 248, 244, 243, 242,
+  241, 238, 234, 231, 227, 223, 218, 216, 215, 208, 200, 195, 191, 189, 188, 181,
+  174, 166, 159, 153, 149, 146, 134, 128, 115, 93, 68, 46, 31, 27, 28, 42,
+  72, 132, 158, 110, 138, 144, 66, 33, 255, 18, 26, 35, 40, 43, 48, 94,
+  130, 143, 154, 160, 166, 177, 189, 193, 199, 202, 204, 210, 216, 219, 223, 223,
+  225, 226, 227, 230, 233, 236, 237, 236, 234, 234, 237, 240, 242, 242, 247, 247,
+  247, 247, 248, 248, 249, 248, 222, 218, 226, 240, 249, 249, 243, 238, 212, 208,
+  202, 200, 199, 195, 189, 184, 195, 203, 210, 214, 220, 229, 232, 229, 232, 228,
+  224, 219, 216, 217, 220, 222, 220, 222, 228, 230, 234, 238, 242, 243, 235, 225,
+  207, 195, 204, 221, 228, 227, 241, 243, 243, 244, 246, 250, 254, 255, 255, 255,
+  253, 251, 251, 248, 246, 244, 243, 241, 239, 237, 232, 229, 226, 222, 220, 217,
+  216, 210, 203, 197, 193, 189, 184, 178, 170, 163, 156, 150, 145, 141, 130, 124,
+  113, 93, 70, 50, 36, 30, 33, 41, 67, 132, 159, 118, 134, 138, 73, 35,
+  255, 16, 22, 27, 31, 34, 42, 89, 127, 140, 150, 157, 166, 181, 192, 194,
+  200, 204, 207, 212, 217, 220, 223, 224, 228, 229, 230, 233, 236, 239, 241, 238,
+  234, 235, 240, 244, 246, 246, 251, 250, 248, 247, 247, 248, 250, 250, 231, 218,
+  222, 239, 254, 253, 249, 248, 238, 222, 207, 197, 188, 180, 180, 187, 206, 210,
+  213, 213, 219, 228, 235, 235, 236, 234, 231, 228, 226, 227, 229, 230, 227, 230,
+  230, 226, 225, 226, 229, 229, 225, 215, 205, 205, 213, 221, 222, 220, 228, 234,
+  238, 237, 240, 241, 246, 249, 255, 254, 254, 253, 253, 251, 247, 242, 241, 239,
+  237, 233, 229, 225, 223, 220, 215, 213, 212, 209, 205, 200, 194, 192, 183, 177,
+  169, 160, 154, 148, 143, 139, 130, 124, 114, 97, 76, 56, 42, 36, 42, 39,
+  50, 110, 150, 138, 140, 127, 85, 42, 255, 15, 18, 20, 24, 27, 39, 86,
+  123, 138, 149, 157, 169, 185, 190, 192, 198, 203, 209, 214, 219, 220, 223, 226,
+  230, 231, 232, 233, 237, 241, 243, 240, 237, 238, 243, 248, 250, 250, 254, 252,
+  249, 247, 246, 247, 248, 248, 247, 226, 218, 228, 243, 248, 248, 250, 255, 242,
+  230, 223, 211, 197, 194, 202, 217, 219, 218, 215, 219, 228, 235, 236, 242, 241,
+  242, 241, 241, 240, 239, 240, 233, 233, 230, 223, 222, 224, 222, 215, 216, 213,
+  211, 214, 216, 216, 217, 218, 219, 225, 229, 230, 231, 231, 237, 240, 246, 248,
+  252, 255, 255, 253, 247, 241, 240, 238, 235, 230, 227, 223, 221, 218, 212, 210,
+  209, 207, 204, 199, 193, 189, 183, 177, 167, 159, 153, 146, 141, 136, 129, 124,
+  115, 99, 82, 62, 46, 37, 39, 41, 45, 91, 129, 143, 142, 127, 100, 49,
+  255, 16, 15, 17, 18, 22, 40, 86, 121, 136, 150, 159, 172, 186, 189, 190,
+  196, 202, 208, 214, 218, 218, 223, 226, 232, 232, 231, 232, 235, 240, 243, 242,
+  240, 241, 244, 248, 250, 251, 255, 253, 250, 247, 246, 246, 247, 246, 255, 239,
+  221, 216, 222, 234, 244, 250, 255, 253, 254, 253, 243, 226, 218, 218, 229, 231,
+  231, 229, 232, 237, 242, 242, 248, 249, 251, 252, 251, 250, 250, 249, 243, 243,
+  235, 226, 224, 227, 219, 209, 213, 217, 220, 219, 215, 215, 215, 217, 215, 220,
+  223, 222, 224, 223, 228, 231, 237, 240, 245, 250, 253, 252, 246, 239, 239, 235,
+  232, 227, 223, 220, 217, 216, 212, 210, 207, 205, 202, 197, 189, 183, 182, 176,
+  166, 157, 150, 144, 138, 135, 126, 121, 113, 99, 84, 67, 49, 40, 32, 43,
+  56, 95, 115, 133, 130, 131, 106, 50, 255, 16, 15, 15, 18, 22, 43, 85,
+  118, 134, 150, 161, 172, 184, 189, 189, 195, 201, 207, 212, 214, 213, 222, 226,
+  232, 232, 230, 229, 233, 238, 240, 242, 243, 243, 243, 245, 248, 250, 253, 252,
+  250, 249, 248, 248, 249, 248, 255, 252, 237, 218, 213, 222, 235, 244, 245, 251,
+  255, 255, 248, 236, 231, 229, 239, 243, 244, 244, 246, 251, 254, 252, 253, 253,
+  254, 253, 255, 254, 254, 255, 252, 253, 244, 232, 227, 231, 225, 216, 217, 224,
+  226, 220, 214, 217, 218, 215, 216, 218, 218, 217, 218, 220, 223, 224, 229, 231,
+  236, 239, 244, 246, 244, 241, 237, 234, 230, 224, 220, 216, 215, 214, 211, 209,
+  206, 205, 203, 198, 189, 182, 179, 172, 162, 155, 146, 140, 133, 131, 123, 119,
+  113, 103, 89, 74, 55, 45, 36, 42, 65, 117, 124, 128, 109, 121, 102, 44,
+  255, 17, 16, 17, 20, 24, 46, 85, 116, 132, 148, 161, 171, 183, 190, 190,
+  194, 200, 205, 210, 210, 208, 221, 226, 232, 232, 229, 228, 231, 236, 237, 241,
+  244, 244, 242, 242, 245, 248, 251, 251, 250, 250, 250, 251, 252, 251, 250, 255,
+  253, 232, 214, 216, 229, 237, 241, 248, 250, 244, 238, 235, 237, 238, 240, 244,
+  248, 248, 251, 255, 255, 253, 253, 252, 252, 250, 250, 251, 252, 254, 253, 255,
+  249, 232, 227, 230, 230, 223, 220, 228, 228, 217, 214, 221, 220, 212, 218, 217,
+  216, 214, 216, 218, 220, 220, 224, 223, 226, 231, 237, 239, 243, 241, 234, 231,
+  227, 222, 217, 214, 213, 212, 207, 204, 203, 205, 204, 201, 192, 186, 177, 170,
+  160, 152, 143, 136, 130, 126, 122, 119, 115, 107, 96, 81, 64, 53, 48, 37,
+  62, 133, 144, 130, 91, 102, 95, 39, 255, 20, 25, 13, 18, 25, 42, 77,
+  117, 139, 148, 162, 173, 180, 188, 191, 197, 200, 202, 206, 212, 214, 226, 223,
+  224, 226, 231, 235, 236, 236, 239, 241, 242, 244, 246, 247, 249, 249, 249, 250,
+  251, 251, 250, 250, 252, 253, 255, 255, 255, 247, 235, 223, 214, 210, 227, 233,
+  239, 238, 234, 232, 237, 240, 247, 244, 243, 245, 251, 255, 255, 255, 255, 255,
+  255, 255, 255, 254, 254, 255, 254, 254, 247, 240, 236, 238, 236, 234, 230, 224,
+  218, 217, 221, 222, 220, 218, 218, 216, 214, 212, 214, 217, 219, 218, 220, 218,
+  219, 222, 227, 229, 232, 230, 232, 232, 231, 227, 222, 216, 211, 206, 205, 203,
+  200, 199, 196, 194, 192, 191, 178, 169, 158, 147, 138, 131, 126, 121, 121, 122,
+  120, 109, 98, 86, 70, 56, 43, 36, 59, 108, 139, 131, 109, 98, 76, 37,
+  255, 19, 22, 17, 28, 33, 37, 73, 112, 137, 147, 158, 171, 179, 184, 189,
+  196, 200, 203, 208, 214, 217, 225, 224, 225, 228, 234, 238, 240, 241, 240, 241,
+  243, 245, 247, 248, 250, 250, 250, 251, 251, 250, 249, 250, 253, 255, 255, 255,
+  253, 247, 238, 227, 221, 218, 205, 210, 218, 221, 225, 230, 240, 244, 237, 239,
+  244, 248, 253, 255, 255, 255, 254, 254, 255, 255, 255, 255, 255, 255, 254, 254,
+  251, 244, 242, 243, 242, 238, 232, 227, 222, 220, 222, 220, 218, 215, 216, 215,
+  214, 214, 216, 215, 215, 214, 214, 212, 213, 214, 220, 221, 222, 221, 226, 226,
+  227, 226, 223, 218, 215, 212, 205, 203, 201, 199, 197, 195, 189, 185, 182, 170,
+  155, 141, 130, 123, 118, 116, 122, 125, 122, 114, 102, 91, 75, 61, 48, 32,
+  41, 83, 123, 131, 117, 102, 65, 30, 255, 19, 21, 27, 46, 45, 41, 74,
+  115, 137, 147, 156, 166, 175, 182, 187, 195, 199, 203, 209, 216, 220, 223, 222,
+  225, 229, 234, 238, 241, 242, 240, 242, 243, 245, 248, 250, 251, 252, 250, 251,
+  250, 249, 249, 250, 254, 255, 255, 255, 252, 247, 239, 233, 229, 228, 211, 212,
+  214, 217, 222, 231, 240, 243, 232, 238, 247, 252, 253, 254, 254, 253, 254, 254,
+  255, 255, 255, 255, 255, 255, 254, 255, 253, 248, 247, 249, 245, 239, 237, 234,
+  230, 227, 226, 222, 217, 212, 215, 215, 216, 217, 219, 218, 216, 214, 212, 209,
+  209, 210, 214, 215, 215, 214, 218, 218, 221, 221, 222, 219, 218, 216, 207, 203,
+  201, 199, 198, 193, 187, 181, 180, 165, 148, 131, 120, 115, 114, 114, 122, 126,
+  125, 118, 108, 97, 83, 68, 55, 34, 33, 66, 113, 133, 121, 98, 46, 20,
+  255, 177, 26, 44, 69, 59, 56, 84, 120, 141, 149, 156, 164, 174, 182, 187,
+  194, 198, 202, 208, 215, 220, 221, 221, 225, 228, 231, 235, 237, 239, 241, 243,
+  244, 246, 248, 250, 252, 252, 250, 250, 250, 249, 249, 251, 255, 255, 255, 255,
+  251, 245, 239, 235, 234, 234, 228, 223, 220, 221, 226, 234, 241, 243, 237, 243,
+  252, 255, 252, 249, 250, 251, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255,
+  255, 251, 250, 250, 246, 238, 244, 241, 240, 236, 233, 225, 219, 214, 217, 216,
+  216, 218, 221, 220, 219, 218, 213, 211, 210, 210, 213, 213, 212, 211, 209, 210,
+  212, 212, 213, 212, 212, 210, 207, 203, 197, 195, 193, 192, 187, 180, 170, 159,
+  141, 125, 116, 112, 113, 116, 122, 127, 126, 120, 111, 102, 88, 73, 53, 38,
+  35, 57, 95, 115, 98, 70, 29, 12, 255, 255, 33, 62, 95, 78, 77, 96,
+  121, 140, 151, 155, 163, 172, 183, 188, 194, 197, 199, 205, 213, 217, 222, 224,
+  228, 230, 231, 232, 234, 236, 242, 244, 245, 246, 248, 249, 251, 251, 249, 249,
+  250, 250, 250, 253, 255, 255, 255, 255, 250, 242, 237, 234, 233, 233, 225, 219,
+  213, 217, 226, 236, 242, 245, 241, 247, 253, 254, 250, 249, 251, 253, 254, 254,
+  254, 254, 254, 255, 255, 255, 255, 255, 255, 252, 253, 251, 246, 236, 246, 245,
+  243, 240, 235, 226, 220, 215, 217, 214, 213, 213, 216, 219, 221, 221, 215, 212,
+  211, 210, 213, 212, 210, 209, 205, 206, 206, 206, 206, 204, 204, 203, 205, 200,
+  193, 190, 188, 188, 187, 183, 166, 155, 141, 126, 115, 108, 110, 112, 121, 126,
+  126, 121, 114, 105, 93, 78, 51, 37, 31, 38, 58, 70, 55, 29, 16, 5,
+  255, 255, 34, 71, 115, 103, 103, 107, 119, 135, 147, 154, 160, 170, 181, 187,
+  192, 194, 197, 203, 211, 216, 225, 227, 232, 233, 233, 233, 234, 237, 243, 245,
+  245, 246, 247, 248, 248, 249, 246, 248, 250, 252, 252, 254, 255, 255, 255, 255,
+  247, 239, 234, 231, 230, 228, 222, 218, 216, 217, 225, 233, 237, 239, 239, 244,
+  248, 250, 249, 250, 254, 255, 247, 246, 247, 250, 253, 255, 255, 255, 255, 255,
+  255, 252, 255, 255, 248, 240, 243, 245, 244, 240, 234, 228, 222, 218, 219, 217,
+  213, 212, 214, 217, 219, 219, 215, 211, 210, 210, 211, 211, 210, 208, 209, 208,
+  207, 205, 202, 201, 200, 199, 200, 197, 193, 189, 184, 184, 185, 183, 167, 157,
+  144, 128, 114, 105, 105, 106, 120, 125, 126, 122, 117, 109, 97, 81, 61, 44,
+  30, 22, 26, 30, 23, 10, 10, 1, 255, 255, 180, 71, 131, 132, 136, 128,
+  125, 133, 145, 152, 157, 165, 178, 183, 189, 191, 195, 202, 211, 216, 222, 226,
+  232, 234, 233, 233, 235, 238, 245, 246, 246, 246, 246, 246, 246, 246, 244, 247,
+  251, 254, 255, 255, 255, 255, 255, 254, 244, 236, 232, 230, 227, 224, 226, 223,
+  223, 223, 227, 228, 229, 232, 239, 242, 244, 247, 249, 251, 253, 251, 242, 242,
+  243, 246, 249, 252, 254, 255, 255, 254, 251, 249, 254, 255, 251, 242, 244, 244,
+  245, 242, 237, 231, 228, 226, 227, 224, 221, 220, 220, 219, 218, 217, 217, 213,
+  212, 211, 212, 212, 211, 209, 210, 209, 207, 203, 201, 199, 197, 196, 194, 196,
+  196, 190, 183, 178, 179, 178, 166, 157, 142, 125, 110, 103, 104, 107, 119, 125,
+  127, 123, 119, 113, 101, 84, 70, 48, 31, 21, 18, 15, 14, 11, 8, 0,
+  255, 255, 255, 60, 135, 150, 165, 151, 137, 140, 148, 151, 150, 157, 169, 177,
+  181, 186, 192, 200, 209, 216, 215, 221, 226, 229, 229, 230, 232, 237, 244, 245,
+  245, 244, 244, 244, 244, 244, 242, 245, 250, 254, 255, 255, 255, 255, 255, 248,
+  238, 231, 228, 227, 224, 220, 219, 219, 221, 225, 227, 229, 230, 234, 240, 242,
+  243, 247, 249, 249, 247, 244, 247, 246, 247, 247, 251, 252, 254, 255, 254, 251,
+  246, 245, 251, 255, 252, 243, 247, 248, 249, 246, 242, 238, 236, 235, 235, 234,
+  232, 231, 228, 225, 221, 217, 220, 218, 215, 215, 215, 216, 212, 211, 210, 206,
+  204, 201, 199, 196, 195, 193, 189, 193, 197, 192, 182, 174, 172, 172, 163, 153,
+  140, 123, 111, 105, 108, 113, 120, 126, 128, 125, 122, 117, 105, 90, 73, 48,
+  34, 26, 20, 14, 11, 10, 8, 1, 255, 255, 255, 183, 105, 164, 170, 192,
+  158, 156, 135, 143, 151, 145, 162, 167, 173, 177, 185, 191, 199, 205, 213, 214,
+  219, 224, 227, 231, 233, 237, 232, 237, 242, 243, 241, 240, 241, 243, 243, 244,
+  249, 250, 252, 251, 248, 245, 246, 237, 228, 220, 217, 217, 219, 220, 221, 229,
+  227, 223, 224, 223, 225, 237, 245, 250, 255, 255, 255, 253, 252, 254, 253, 254,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 253, 252, 249, 235, 238,
+  241, 244, 248, 247, 245, 240, 237, 238, 236, 232, 232, 233, 229, 223, 228, 228,
+  227, 225, 220, 214, 213, 213, 211, 210, 208, 206, 205, 200, 195, 189, 185, 186,
+  192, 196, 186, 171, 164, 165, 156, 149, 140, 127, 109, 99, 104, 114, 119, 125,
+  130, 129, 124, 119, 110, 99, 85, 60, 35, 24, 17, 9, 6, 8, 7, 7,
+  255, 255, 255, 255, 92, 165, 178, 200, 181, 169, 137, 141, 142, 149, 161, 167,
+  172, 177, 183, 191, 197, 204, 209, 211, 216, 221, 225, 227, 231, 233, 233, 237,
+  241, 240, 239, 237, 238, 240, 242, 245, 247, 250, 250, 249, 245, 243, 238, 231,
+  223, 216, 214, 215, 219, 220, 223, 228, 225, 221, 225, 224, 225, 236, 246, 249,
+  252, 255, 255, 255, 253, 251, 250, 249, 250, 251, 252, 253, 255, 255, 253, 255,
+  255, 253, 252, 252, 250, 247, 241, 241, 243, 243, 246, 244, 241, 238, 237, 238,
+  236, 233, 232, 234, 231, 225, 230, 230, 230, 227, 223, 218, 217, 217, 221, 219,
+  216, 214, 209, 202, 192, 186, 184, 184, 190, 195, 187, 172, 160, 156, 148, 145,
+  140, 131, 117, 109, 113, 125, 121, 127, 133, 130, 128, 123, 115, 105, 90, 66,
+  39, 23, 15, 8, 3, 5, 7, 7, 255, 255, 255, 255, 75, 159, 182, 198,
+  195, 174, 133, 138, 130, 150, 161, 167, 173, 178, 183, 190, 195, 201, 208, 212,
+  216, 220, 223, 225, 228, 230, 234, 238, 239, 238, 237, 235, 234, 235, 242, 245,
+  248, 251, 251, 250, 246, 244, 232, 226, 219, 214, 214, 216, 220, 221, 224, 227,
+  223, 220, 227, 227, 226, 234, 249, 248, 248, 253, 255, 255, 253, 248, 246, 245,
+  245, 243, 244, 247, 251, 249, 245, 249, 253, 252, 253, 255, 254, 250, 251, 249,
+  248, 247, 246, 244, 240, 237, 232, 234, 234, 234, 235, 239, 237, 232, 229, 228,
+  229, 226, 223, 220, 220, 220, 225, 224, 222, 219, 214, 206, 195, 187, 185, 185,
+  189, 195, 190, 176, 159, 151, 141, 140, 139, 132, 118, 110, 116, 128, 118, 125,
+  130, 128, 126, 121, 114, 103, 91, 68, 42, 24, 14, 8, 4, 5, 7, 90,
+  255, 255, 255, 255, 188, 134, 181, 189, 195, 170, 132, 142, 121, 143, 156, 164,
+  171, 176, 180, 183, 191, 197, 208, 212, 216, 217, 221, 226, 227, 227, 233, 235,
+  235, 234, 234, 234, 234, 234, 242, 243, 247, 250, 251, 248, 244, 241, 228, 223,
+  218, 214, 214, 216, 219, 220, 220, 225, 221, 222, 232, 234, 229, 233, 248, 246,
+  248, 252, 254, 254, 253, 250, 245, 243, 240, 239, 240, 243, 246, 247, 244, 249,
+  254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 252, 249, 244, 245,
+  243, 241, 240, 243, 240, 234, 229, 229, 228, 226, 223, 220, 219, 220, 220, 220,
+  221, 221, 218, 211, 200, 192, 188, 185, 187, 190, 190, 178, 164, 152, 139, 139,
+  135, 126, 112, 102, 109, 122, 117, 123, 128, 129, 127, 122, 115, 105, 92, 72,
+  46, 25, 14, 8, 4, 4, 7, 255, 255, 255, 255, 255, 255, 94, 178, 187,
+  193, 171, 139, 153, 125, 136, 151, 160, 169, 174, 177, 180, 188, 193, 206, 212,
+  216, 215, 218, 226, 227, 225, 227, 228, 228, 230, 231, 233, 233, 233, 239, 242,
+  247, 249, 249, 245, 241, 237, 226, 220, 217, 214, 215, 215, 218, 217, 213, 222,
+  222, 227, 238, 239, 231, 233, 241, 245, 249, 250, 250, 249, 253, 255, 246, 243,
+  240, 240, 241, 244, 247, 247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 244, 242, 235, 227, 230, 231,
+  232, 228, 224, 220, 219, 219, 218, 221, 221, 223, 220, 214, 204, 197, 188, 184,
+  181, 180, 182, 177, 167, 156, 141, 137, 130, 120, 107, 100, 107, 119, 122, 128,
+  133, 134, 133, 129, 122, 111, 93, 76, 50, 27, 13, 8, 5, 4, 7, 255,
+  255, 255, 255, 255, 255, 190, 160, 188, 192, 175, 147, 163, 145, 141, 147, 155,
+  167, 172, 174, 178, 185, 191, 200, 209, 213, 211, 215, 224, 225, 223, 222, 223,
+  222, 225, 228, 232, 233, 233, 237, 239, 244, 246, 244, 240, 234, 229, 222, 218,
+  216, 214, 215, 216, 218, 217, 211, 223, 225, 232, 242, 240, 235, 236, 239, 242,
+  246, 248, 248, 249, 254, 255, 254, 254, 253, 253, 253, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 248, 247, 248, 247, 251, 253, 254, 253, 253, 255, 255,
+  253, 247, 246, 245, 240, 232, 232, 231, 232, 229, 224, 221, 220, 221, 226, 226,
+  226, 224, 221, 214, 206, 198, 188, 182, 177, 172, 171, 171, 165, 155, 140, 132,
+  125, 117, 109, 106, 111, 120, 120, 127, 132, 131, 131, 129, 122, 112, 94, 79,
+  54, 28, 13, 8, 5, 3, 7, 255, 255, 255, 255, 255, 255, 255, 115, 175,
+  185, 175, 146, 163, 169, 159, 140, 150, 162, 169, 171, 175, 179, 186, 193, 203,
+  207, 205, 209, 219, 223, 219, 220, 219, 217, 221, 226, 230, 230, 230, 235, 238,
+  241, 242, 240, 235, 227, 222, 217, 215, 213, 215, 217, 219, 221, 220, 216, 228,
+  230, 233, 239, 237, 236, 241, 238, 239, 241, 245, 248, 252, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 252, 252, 246, 238, 238, 237,
+  238, 240, 243, 242, 240, 239, 237, 240, 240, 238, 240, 243, 240, 235, 228, 227,
+  228, 226, 222, 220, 219, 220, 227, 226, 224, 221, 217, 211, 204, 196, 190, 187,
+  181, 172, 168, 168, 164, 154, 137, 128, 122, 119, 115, 112, 111, 112, 113, 122,
+  128, 127, 127, 124, 118, 109, 95, 82, 56, 29, 12, 9, 5, 3, 7, 255,
+  255, 255, 255, 255, 255, 255, 193, 155, 172, 169, 138, 157, 186, 178, 134, 144,
+  157, 164, 167, 168, 174, 181, 187, 198, 202, 199, 206, 217, 220, 216, 220, 219,
+  217, 218, 224, 228, 229, 227, 234, 236, 238, 240, 237, 230, 223, 218, 214, 212,
+  212, 213, 217, 220, 224, 223, 222, 233, 233, 232, 237, 235, 236, 244, 241, 237,
+  238, 242, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  252, 246, 246, 248, 243, 234, 234, 234, 234, 237, 238, 235, 230, 226, 235, 236,
+  235, 231, 232, 232, 229, 223, 221, 221, 222, 221, 220, 216, 217, 218, 223, 222,
+  220, 218, 214, 209, 202, 195, 195, 193, 187, 175, 169, 167, 162, 154, 134, 126,
+  119, 120, 118, 112, 105, 103, 115, 121, 128, 129, 129, 126, 120, 109, 96, 83,
+  58, 29, 12, 9, 6, 3, 7, 255, 255, 255, 255, 255, 255, 255, 255, 106,
+  169, 173, 147, 158, 187, 194, 175, 144, 134, 154, 168, 165, 168, 182, 182, 190,
+  198, 200, 200, 199, 203, 208, 217, 217, 214, 216, 221, 224, 226, 223, 230, 236,
+  240, 238, 232, 226, 219, 210, 211, 210, 213, 217, 223, 225, 225, 222, 220, 226,
+  233, 235, 235, 236, 241, 245, 232, 238, 250, 255, 255, 255, 255, 255, 255, 254,
+  252, 255, 255, 255, 249, 242, 241, 247, 251, 248, 240, 234, 232, 235, 239, 241,
+  242, 239, 235, 231, 231, 230, 232, 233, 235, 234, 233, 228, 218, 210, 206, 205,
+  201, 196, 204, 221, 229, 227, 221, 224, 221, 211, 202, 198, 195, 189, 188, 185,
+  183, 180, 175, 166, 157, 150, 135, 130, 122, 119, 118, 117, 113, 110, 119, 121,
+  123, 124, 128, 130, 126, 114, 98, 80, 55, 31, 16, 9, 5, 6, 8, 255,
+  255, 255, 255, 255, 255, 255, 255, 190, 132, 168, 145, 148, 184, 195, 189, 157,
+  134, 140, 155, 162, 165, 171, 178, 184, 191, 193, 193, 195, 200, 206, 212, 213,
+  212, 215, 219, 224, 224, 224, 225, 230, 233, 228, 223, 219, 214, 209, 208, 207,
+  208, 212, 218, 222, 223, 224, 231, 235, 238, 239, 237, 236, 241, 244, 246, 249,
+  252, 255, 253, 253, 251, 252, 241, 240, 239, 240, 243, 244, 239, 238, 241, 245,
+  244, 239, 232, 227, 227, 229, 245, 244, 241, 234, 229, 225, 226, 227, 226, 221,
+  221, 223, 217, 207, 202, 202, 188, 186, 190, 198, 211, 223, 233, 238, 244, 238,
+  225, 209, 201, 196, 189, 179, 189, 186, 185, 181, 175, 164, 154, 147, 135, 129,
+  123, 118, 117, 114, 111, 108, 114, 117, 121, 123, 127, 131, 125, 113, 101, 84,
+  58, 34, 17, 9, 5, 5, 8, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  90, 156, 152, 145, 176, 196, 201, 175, 143, 129, 137, 154, 161, 160, 172, 176,
+  182, 185, 187, 190, 195, 202, 206, 208, 209, 214, 217, 221, 222, 221, 226, 230,
+  229, 223, 218, 217, 215, 212, 206, 206, 207, 211, 217, 223, 226, 229, 233, 236,
+  237, 234, 233, 233, 239, 244, 255, 255, 255, 252, 250, 247, 242, 240, 246, 245,
+  243, 241, 239, 237, 235, 237, 239, 241, 240, 236, 232, 229, 227, 224, 229, 229,
+  229, 225, 223, 220, 221, 222, 220, 214, 213, 214, 205, 195, 193, 198, 191, 184,
+  185, 194, 206, 214, 227, 237, 255, 248, 226, 208, 203, 201, 192, 178, 187, 186,
+  187, 182, 176, 164, 153, 146, 132, 128, 123, 119, 118, 115, 112, 107, 111, 115,
+  119, 123, 128, 130, 125, 114, 104, 87, 61, 36, 19, 10, 4, 4, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 188, 124, 158, 151, 160, 186, 203, 192,
+  164, 130, 122, 139, 154, 155, 162, 167, 176, 181, 186, 189, 193, 198, 203, 206,
+  208, 210, 215, 216, 217, 217, 223, 226, 226, 220, 215, 214, 213, 209, 206, 207,
+  211, 216, 221, 227, 232, 232, 232, 233, 233, 233, 234, 239, 245, 250, 255, 255,
+  249, 248, 248, 247, 242, 239, 241, 241, 239, 235, 233, 231, 232, 236, 246, 246,
+  244, 241, 236, 231, 224, 220, 218, 222, 226, 231, 232, 232, 230, 228, 226, 226,
+  224, 217, 213, 211, 208, 204, 216, 208, 196, 187, 189, 200, 212, 217, 250, 237,
+  218, 202, 201, 200, 195, 183, 184, 185, 188, 184, 175, 163, 152, 146, 129, 125,
+  119, 118, 120, 118, 114, 111, 116, 118, 119, 119, 126, 128, 126, 116, 104, 87,
+  61, 37, 20, 11, 5, 4, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 74, 149, 156, 146, 175, 190, 193, 178, 140, 117, 123, 138, 148, 151, 157,
+  168, 178, 186, 188, 191, 193, 202, 204, 207, 207, 209, 210, 211, 212, 214, 219,
+  221, 215, 211, 208, 206, 199, 205, 210, 216, 224, 228, 231, 233, 233, 237, 237,
+  237, 239, 241, 246, 253, 255, 255, 250, 246, 246, 251, 254, 251, 247, 242, 242,
+  243, 241, 240, 241, 245, 248, 249, 245, 239, 233, 230, 229, 228, 227, 248, 249,
+  248, 248, 247, 246, 245, 244, 238, 247, 242, 229, 229, 239, 234, 217, 222, 225,
+  211, 189, 184, 196, 204, 198, 216, 212, 202, 190, 188, 189, 190, 185, 186, 188,
+  189, 185, 173, 160, 148, 142, 126, 123, 118, 118, 121, 121, 119, 117, 121, 120,
+  116, 113, 118, 122, 122, 115, 100, 84, 60, 36, 20, 11, 5, 5, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 125, 159, 152, 171, 174, 179,
+  175, 149, 122, 112, 123, 137, 142, 147, 159, 171, 179, 184, 186, 189, 199, 202,
+  204, 204, 205, 206, 210, 213, 215, 219, 219, 214, 209, 205, 202, 198, 204, 210,
+  219, 226, 229, 230, 230, 231, 239, 239, 240, 241, 242, 245, 247, 250, 247, 245,
+  244, 246, 251, 253, 251, 247, 246, 244, 244, 241, 241, 241, 242, 243, 231, 228,
+  221, 220, 224, 233, 245, 253, 255, 255, 255, 253, 247, 246, 247, 249, 247, 255,
+  254, 240, 240, 251, 245, 228, 210, 217, 215, 203, 200, 204, 203, 193, 196, 198,
+  195, 187, 182, 184, 189, 188, 194, 195, 193, 184, 170, 155, 142, 137, 128, 124,
+  118, 118, 120, 123, 123, 122, 121, 118, 112, 106, 110, 116, 118, 112, 100, 84,
+  60, 37, 21, 12, 6, 5, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 88, 145, 166, 167, 169, 162, 160, 155, 134, 113, 113, 125, 135, 139,
+  147, 157, 168, 177, 182, 186, 195, 197, 198, 198, 200, 204, 211, 217, 220, 224,
+  221, 213, 208, 205, 204, 201, 208, 213, 221, 226, 227, 228, 229, 231, 236, 237,
+  239, 241, 242, 242, 239, 239, 240, 241, 241, 242, 244, 241, 236, 231, 231, 228,
+  227, 226, 229, 230, 229, 225, 226, 228, 232, 234, 237, 243, 251, 255, 255, 255,
+  251, 246, 243, 244, 244, 246, 253, 255, 254, 247, 239, 235, 237, 241, 210, 207,
+  212, 217, 214, 203, 198, 201, 193, 196, 193, 186, 183, 187, 194, 194, 194, 195,
+  194, 183, 169, 153, 143, 137, 134, 128, 120, 118, 119, 123, 124, 124, 119, 117,
+  112, 107, 111, 117, 119, 113, 103, 87, 63, 40, 23, 13, 5, 88, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 118, 164, 151, 170, 149,
+  145, 155, 148, 124, 112, 121, 132, 134, 139, 146, 157, 168, 175, 182, 189, 193,
+  194, 194, 195, 202, 211, 218, 219, 220, 216, 206, 199, 198, 199, 198, 212, 218,
+  222, 223, 223, 224, 227, 232, 233, 237, 240, 244, 248, 247, 243, 241, 238, 241,
+  241, 239, 234, 225, 217, 210, 220, 218, 219, 227, 238, 245, 248, 244, 250, 255,
+  255, 255, 255, 252, 244, 243, 239, 239, 243, 247, 253, 255, 251, 251, 255, 248,
+  247, 249, 233, 214, 224, 248, 225, 207, 208, 223, 217, 190, 186, 202, 190, 188,
+  184, 178, 178, 187, 193, 195, 189, 189, 190, 181, 168, 154, 146, 144, 137, 130,
+  121, 116, 119, 122, 123, 123, 118, 117, 114, 111, 116, 121, 121, 115, 107, 89,
+  66, 42, 24, 13, 7, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 73, 123, 159, 155, 155, 153, 168, 172, 134, 110, 128, 125, 135,
+  137, 133, 142, 161, 168, 165, 175, 185, 195, 196, 192, 193, 200, 208, 218, 215,
+  211, 206, 201, 196, 197, 201, 210, 215, 219, 222, 222, 223, 224, 224, 227, 231,
+  234, 234, 236, 238, 239, 241, 237, 234, 228, 229, 227, 224, 227, 233, 240, 255,
+  255, 254, 238, 244, 254, 254, 255, 255, 255, 255, 252, 249, 248, 248, 242, 251,
+  251, 245, 250, 255, 255, 244, 242, 239, 242, 244, 234, 223, 225, 234, 214, 212,
+  212, 213, 207, 198, 194, 193, 180, 177, 175, 174, 179, 183, 187, 188, 186, 185,
+  179, 170, 157, 146, 142, 141, 133, 127, 124, 121, 122, 123, 124, 124, 117, 115,
+  110, 107, 113, 118, 115, 107, 96, 86, 68, 44, 23, 15, 12, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 85, 128, 145, 143,
+  147, 168, 181, 157, 122, 109, 121, 130, 134, 133, 136, 149, 157, 160, 168, 178,
+  185, 188, 187, 190, 201, 210, 215, 212, 208, 204, 198, 198, 201, 205, 210, 215,
+  221, 223, 222, 222, 223, 226, 233, 229, 221, 213, 214, 219, 226, 233, 233, 231,
+  231, 235, 238, 237, 241, 247, 255, 255, 255, 255, 249, 244, 243, 238, 242, 244,
+  242, 241, 240, 240, 242, 246, 249, 251, 248, 248, 249, 249, 250, 246, 247, 242,
+  243, 240, 228, 213, 214, 221, 209, 203, 200, 202, 202, 197, 189, 185, 173, 170,
+  168, 170, 175, 180, 184, 183, 185, 183, 181, 175, 167, 155, 147, 142, 131, 127,
+  123, 122, 123, 124, 125, 124, 121, 117, 111, 108, 113, 118, 116, 107, 86, 79,
+  61, 38, 18, 10, 89, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 186, 91, 119, 121, 132, 148, 159, 161, 148, 122, 118, 124,
+  129, 131, 132, 136, 144, 153, 162, 171, 177, 181, 182, 187, 197, 205, 210, 209,
+  206, 201, 199, 201, 206, 210, 209, 216, 223, 224, 222, 220, 224, 228, 227, 218,
+  207, 199, 201, 209, 221, 231, 229, 229, 230, 234, 237, 237, 240, 244, 240, 246,
+  252, 250, 249, 250, 250, 245, 241, 240, 239, 238, 236, 238, 242, 246, 249, 245,
+  243, 246, 245, 240, 246, 255, 254, 246, 243, 238, 225, 209, 205, 211, 204, 195,
+  191, 195, 199, 194, 186, 181, 170, 169, 168, 172, 177, 181, 184, 183, 183, 182,
+  182, 179, 173, 161, 148, 138, 131, 127, 124, 123, 124, 125, 125, 125, 124, 120,
+  113, 108, 110, 115, 115, 107, 86, 78, 62, 40, 20, 12, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 52, 105, 122,
+  149, 150, 137, 149, 151, 128, 116, 119, 124, 133, 133, 131, 135, 143, 156, 163,
+  170, 174, 179, 183, 190, 195, 209, 209, 206, 198, 196, 201, 207, 211, 209, 215,
+  223, 223, 219, 217, 221, 226, 217, 208, 200, 200, 206, 213, 220, 227, 228, 230,
+  232, 234, 236, 236, 236, 237, 248, 246, 246, 249, 250, 250, 251, 252, 251, 248,
+  248, 245, 242, 240, 243, 245, 242, 245, 244, 242, 239, 243, 255, 255, 255, 247,
+  238, 231, 218, 206, 206, 212, 204, 197, 195, 199, 199, 190, 183, 178, 172, 171,
+  174, 177, 183, 186, 187, 185, 184, 181, 180, 178, 172, 159, 144, 132, 132, 128,
+  126, 125, 126, 126, 126, 125, 126, 121, 113, 107, 109, 113, 113, 103, 86, 78,
+  62, 39, 24, 16, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 76, 54, 91, 135, 145, 134, 144, 149, 128, 109, 113,
+  121, 132, 137, 134, 133, 136, 146, 152, 162, 170, 177, 181, 186, 187, 206, 207,
+  203, 196, 193, 201, 207, 210, 213, 217, 223, 223, 219, 218, 222, 227, 219, 206,
+  198, 202, 209, 211, 214, 220, 229, 235, 239, 243, 246, 250, 253, 255, 255, 255,
+  250, 250, 251, 251, 255, 255, 251, 249, 248, 246, 242, 239, 235, 233, 237, 253,
+  253, 236, 232, 250, 255, 255, 252, 242, 227, 220, 211, 202, 206, 212, 203, 200,
+  201, 201, 196, 183, 175, 173, 173, 173, 176, 179, 185, 188, 188, 185, 188, 183,
+  179, 175, 167, 156, 140, 129, 132, 130, 128, 128, 129, 129, 127, 126, 125, 120,
+  112, 106, 107, 111, 108, 100, 80, 70, 54, 33, 19, 10, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 202, 18, 34,
+  63, 79, 87, 101, 104, 93, 86, 99, 115, 128, 133, 135, 135, 134, 134, 139,
+  147, 159, 170, 178, 183, 184, 201, 205, 201, 192, 192, 200, 207, 206, 216, 218,
+  221, 223, 223, 225, 227, 231, 215, 199, 189, 196, 207, 212, 218, 227, 238, 245,
+  246, 247, 250, 255, 255, 255, 238, 232, 230, 235, 244, 250, 255, 255, 255, 252,
+  248, 248, 249, 248, 244, 237, 250, 255, 255, 244, 237, 255, 255, 255, 246, 234,
+  218, 213, 206, 200, 203, 207, 201, 198, 199, 198, 189, 177, 170, 171, 174, 175,
+  176, 181, 184, 187, 187, 186, 192, 188, 182, 175, 165, 153, 139, 131, 135, 131,
+  130, 129, 130, 130, 128, 126, 122, 119, 112, 107, 108, 110, 106, 96, 77, 67,
+  48, 27, 13, 91, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 177, 23, 20, 21, 30, 28, 26, 32, 50, 80,
+  110, 122, 124, 132, 136, 136, 128, 131, 136, 147, 160, 171, 177, 179, 190, 197,
+  198, 190, 191, 201, 208, 206, 214, 214, 215, 219, 226, 231, 234, 234, 215, 196,
+  188, 199, 213, 220, 226, 236, 246, 252, 249, 243, 244, 251, 254, 251, 237, 232,
+  230, 234, 245, 249, 243, 238, 255, 255, 253, 252, 255, 255, 255, 249, 255, 255,
+  255, 252, 245, 253, 255, 252, 238, 226, 215, 213, 210, 204, 203, 205, 199, 192,
+  186, 185, 181, 176, 174, 176, 179, 179, 179, 182, 185, 187, 189, 187, 187, 187,
+  184, 177, 165, 152, 141, 133, 135, 134, 133, 133, 132, 131, 129, 127, 121, 118,
+  112, 108, 110, 111, 105, 95, 79, 66, 45, 25, 12, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 19,
+  18, 23, 32, 16, 15, 33, 22, 65, 104, 114, 116, 125, 136, 139, 131, 129,
+  129, 136, 150, 162, 171, 174, 183, 193, 195, 188, 191, 202, 209, 206, 209, 207,
+  208, 216, 227, 235, 237, 236, 225, 208, 200, 212, 225, 226, 222, 229, 242, 248,
+  244, 238, 239, 249, 254, 250, 221, 220, 222, 234, 252, 255, 246, 230, 255, 255,
+  249, 246, 253, 255, 255, 250, 255, 255, 255, 252, 244, 244, 244, 245, 233, 221,
+  214, 217, 218, 211, 207, 208, 200, 187, 175, 174, 179, 180, 181, 183, 184, 184,
+  184, 185, 190, 191, 191, 191, 181, 183, 186, 179, 165, 150, 140, 134, 137, 134,
+  133, 134, 134, 132, 129, 127, 120, 118, 113, 110, 112, 113, 106, 94, 78, 65,
+  42, 21, 92, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 174, 15, 17, 18, 20, 22, 22, 29, 38,
+  79, 113, 115, 122, 138, 136, 138, 135, 127, 120, 129, 144, 157, 162, 173, 186,
+  193, 187, 188, 201, 210, 209, 206, 210, 211, 208, 217, 232, 234, 225, 215, 216,
+  209, 201, 205, 217, 218, 215, 255, 245, 234, 233, 238, 242, 244, 242, 222, 220,
+  243, 253, 250, 255, 255, 228, 255, 255, 249, 242, 246, 253, 255, 254, 255, 255,
+  255, 255, 250, 245, 248, 250, 236, 228, 220, 215, 213, 212, 206, 201, 178, 173,
+  171, 174, 179, 182, 181, 180, 192, 190, 189, 189, 192, 193, 193, 192, 190, 188,
+  185, 178, 169, 159, 149, 143, 139, 137, 135, 134, 136, 137, 135, 134, 124, 121,
+  119, 117, 111, 104, 99, 95, 82, 61, 38, 22, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  174, 15, 16, 17, 19, 20, 20, 32, 63, 95, 111, 123, 134, 138, 135, 134,
+  129, 122, 126, 138, 149, 156, 163, 177, 185, 184, 188, 201, 208, 208, 200, 205,
+  203, 202, 210, 225, 227, 221, 210, 213, 207, 199, 206, 217, 218, 214, 238, 234,
+  227, 227, 230, 236, 245, 255, 228, 218, 241, 255, 249, 255, 255, 239, 255, 253,
+  246, 242, 245, 250, 253, 255, 254, 255, 252, 248, 246, 249, 255, 255, 240, 227,
+  220, 218, 217, 207, 190, 174, 166, 166, 171, 178, 183, 185, 184, 183, 191, 192,
+  188, 190, 191, 193, 192, 190, 184, 183, 181, 177, 171, 161, 153, 147, 146, 141,
+  138, 135, 134, 132, 128, 126, 122, 120, 118, 115, 110, 104, 97, 91, 74, 54,
+  31, 98, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 12, 13, 14, 17, 19, 18, 28,
+  42, 70, 103, 120, 126, 136, 132, 135, 133, 125, 124, 131, 139, 143, 152, 168,
+  179, 182, 187, 197, 204, 203, 196, 199, 197, 195, 201, 214, 216, 211, 205, 206,
+  204, 199, 203, 212, 212, 207, 217, 219, 219, 221, 222, 229, 247, 255, 246, 229,
+  246, 255, 255, 247, 255, 255, 241, 239, 242, 243, 243, 246, 251, 254, 255, 255,
+  255, 255, 252, 249, 247, 241, 228, 224, 226, 223, 211, 192, 170, 153, 159, 167,
+  178, 189, 193, 194, 192, 191, 194, 195, 194, 193, 194, 195, 192, 190, 182, 181,
+  181, 177, 172, 162, 154, 147, 148, 145, 138, 135, 133, 130, 125, 123, 120, 119,
+  117, 114, 110, 102, 93, 84, 66, 47, 26, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 174, 12, 14, 16, 18, 21, 30, 31, 50, 93, 115, 119, 130, 135, 140,
+  141, 133, 125, 126, 129, 131, 146, 157, 169, 176, 184, 194, 199, 200, 197, 199,
+  196, 191, 196, 203, 206, 203, 203, 204, 202, 198, 202, 205, 205, 201, 203, 205,
+  208, 212, 212, 218, 232, 246, 255, 241, 250, 255, 251, 244, 255, 255, 237, 235,
+  238, 243, 244, 246, 249, 250, 248, 248, 249, 251, 250, 246, 240, 232, 228, 226,
+  218, 198, 174, 160, 160, 165, 173, 182, 194, 204, 206, 205, 203, 204, 202, 201,
+  200, 200, 199, 198, 195, 192, 188, 186, 186, 182, 172, 162, 151, 144, 145, 142,
+  139, 135, 135, 134, 131, 128, 119, 120, 117, 113, 108, 102, 92, 79, 61, 41,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 174, 13, 15, 19, 25, 31,
+  26, 38, 81, 106, 115, 131, 137, 146, 146, 137, 128, 124, 124, 121, 135, 144,
+  158, 169, 179, 190, 198, 200, 203, 205, 201, 196, 196, 199, 200, 197, 199, 201,
+  201, 200, 204, 207, 207, 205, 200, 199, 200, 205, 207, 209, 214, 221, 246, 241,
+  245, 246, 245, 249, 255, 255, 244, 237, 237, 240, 245, 249, 246, 245, 239, 237,
+  237, 237, 239, 242, 243, 241, 221, 207, 184, 158, 146, 153, 175, 194, 196, 201,
+  210, 214, 213, 212, 212, 214, 207, 206, 202, 202, 200, 199, 195, 192, 192, 190,
+  189, 183, 174, 163, 152, 146, 147, 143, 140, 139, 137, 137, 134, 131, 120, 121,
+  117, 111, 106, 103, 91, 75, 53, 35, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 13, 16, 19, 22, 29, 27, 34, 63, 93, 116, 133, 139, 146,
+  147, 139, 131, 126, 122, 119, 122, 130, 142, 155, 172, 185, 196, 203, 207, 207,
+  205, 201, 200, 197, 198, 197, 198, 199, 200, 203, 206, 208, 211, 212, 211, 206,
+  204, 210, 213, 213, 212, 214, 226, 233, 233, 229, 237, 249, 252, 246, 246, 240,
+  236, 238, 242, 244, 241, 238, 246, 247, 247, 243, 234, 223, 211, 202, 175, 164,
+  157, 163, 179, 198, 208, 209, 212, 214, 216, 217, 217, 215, 216, 217, 210, 207,
+  202, 199, 197, 195, 194, 190, 190, 189, 186, 182, 174, 167, 158, 154, 151, 148,
+  143, 141, 137, 136, 132, 128, 121, 121, 115, 105, 103, 102, 89, 71, 47, 105,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 16, 20, 22, 27,
+  33, 34, 43, 73, 111, 129, 136, 141, 142, 138, 133, 131, 125, 119, 119, 121,
+  131, 143, 161, 175, 189, 197, 204, 205, 207, 205, 204, 199, 199, 199, 198, 198,
+  197, 199, 200, 202, 205, 209, 215, 210, 208, 211, 214, 214, 215, 217, 214, 224,
+  223, 220, 227, 231, 230, 233, 238, 240, 239, 239, 237, 236, 234, 233, 243, 241,
+  236, 222, 202, 182, 167, 161, 159, 167, 183, 202, 221, 229, 225, 217, 221, 218,
+  217, 219, 220, 221, 219, 217, 214, 209, 202, 198, 195, 194, 194, 190, 188, 186,
+  183, 179, 173, 168, 163, 160, 153, 150, 144, 141, 136, 133, 129, 125, 119, 119,
+  111, 99, 98, 97, 86, 67, 45, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 21, 25, 25, 36, 33, 25, 54, 98, 115, 130, 135,
+  138, 135, 136, 137, 132, 125, 125, 123, 127, 137, 151, 164, 176, 186, 198, 199,
+  203, 206, 203, 200, 197, 199, 199, 197, 194, 194, 192, 191, 194, 198, 202, 198,
+  196, 198, 201, 204, 208, 215, 213, 223, 225, 223, 227, 220, 216, 229, 227, 235,
+  239, 236, 230, 225, 225, 227, 218, 206, 185, 162, 146, 145, 155, 169, 202, 215,
+  227, 229, 224, 221, 226, 233, 226, 223, 221, 223, 226, 226, 222, 219, 218, 213,
+  205, 199, 197, 196, 196, 194, 189, 186, 184, 178, 173, 166, 162, 160, 150, 145,
+  142, 137, 137, 133, 130, 128, 120, 118, 108, 95, 93, 93, 82, 61, 114, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 178, 25, 25,
+  30, 29, 22, 28, 60, 102, 124, 131, 135, 139, 139, 136, 134, 135, 132, 129,
+  125, 124, 131, 145, 157, 169, 179, 186, 194, 200, 204, 204, 201, 200, 202, 199,
+  196, 192, 193, 194, 194, 194, 195, 195, 193, 191, 187, 185, 182, 179, 191, 191,
+  194, 197, 202, 203, 203, 203, 208, 205, 198, 191, 183, 178, 174, 173, 157, 157,
+  160, 174, 194, 212, 226, 233, 244, 245, 244, 243, 242, 240, 239, 238, 231, 232,
+  232, 228, 222, 218, 219, 222, 215, 212, 206, 201, 198, 196, 196, 196, 191, 187,
+  179, 172, 175, 180, 175, 162, 149, 140, 135, 132, 131, 129, 128, 129, 128, 117,
+  105, 99, 98, 88, 71, 120, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 178, 25, 28, 27, 20, 19, 40, 72, 109, 124,
+  134, 137, 139, 140, 141, 143, 138, 134, 130, 127, 130, 137, 147, 155, 168, 175,
+  185, 194, 200, 204, 205, 205, 203, 201, 198, 197, 197, 199, 197, 197, 194, 193,
+  191, 189, 185, 182, 179, 178, 163, 165, 168, 171, 176, 175, 174, 173, 161, 160,
+  163, 164, 171, 176, 185, 187, 216, 218, 227, 235, 247, 250, 253, 251, 250, 251,
+  250, 250, 250, 249, 249, 248, 237, 233, 229, 226, 226, 225, 222, 222, 218, 214,
+  207, 201, 196, 193, 193, 193, 181, 179, 174, 169, 172, 174, 167, 154, 143, 136,
+  131, 126, 125, 124, 124, 123, 124, 113, 103, 96, 92, 82, 126, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  24, 26, 20, 14, 24, 45, 84, 109, 127, 129, 130, 135, 137, 136, 136, 137,
+  136, 131, 130, 131, 135, 142, 158, 165, 175, 187, 196, 203, 207, 208, 204, 203,
+  200, 200, 201, 202, 202, 200, 198, 197, 195, 193, 190, 188, 187, 186, 184, 188,
+  194, 201, 208, 211, 210, 208, 205, 205, 210, 215, 224, 234, 244, 248, 246, 250,
+  255, 255, 255, 251, 246, 243, 253, 253, 253, 252, 252, 251, 249, 249, 236, 230,
+  222, 220, 224, 225, 223, 219, 218, 214, 207, 200, 193, 189, 188, 187, 180, 178,
+  176, 173, 176, 175, 168, 155, 147, 139, 133, 126, 124, 124, 124, 123, 116, 107,
+  99, 92, 86, 133, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 176, 25, 23, 18, 21, 31, 61, 93,
+  119, 124, 125, 130, 132, 128, 132, 135, 138, 135, 130, 129, 131, 135, 149, 157,
+  167, 177, 188, 196, 202, 204, 203, 202, 199, 201, 203, 204, 204, 203, 202, 202,
+  202, 202, 202, 200, 200, 200, 211, 216, 223, 232, 238, 241, 241, 238, 234, 235,
+  237, 239, 243, 247, 250, 251, 255, 255, 255, 255, 249, 244, 245, 247, 250, 250,
+  250, 249, 248, 247, 245, 244, 236, 230, 224, 218, 217, 217, 217, 214, 214, 210,
+  204, 198, 192, 187, 184, 182, 184, 181, 178, 176, 177, 176, 170, 160, 150, 145,
+  137, 129, 125, 126, 124, 120, 107, 101, 93, 87, 76, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 178, 24, 22, 22, 28, 44, 75, 104, 119, 126, 133, 132, 128, 125, 129,
+  133, 135, 133, 133, 133, 135, 140, 146, 155, 166, 178, 188, 195, 200, 201, 201,
+  200, 202, 204, 205, 206, 205, 204, 203, 206, 208, 212, 212, 214, 215, 224, 226,
+  231, 236, 238, 238, 235, 232, 242, 244, 248, 252, 254, 255, 255, 254, 255, 255,
+  255, 253, 246, 245, 250, 255, 250, 248, 248, 247, 246, 244, 243, 242, 240, 237,
+  231, 222, 214, 209, 210, 211, 205, 203, 201, 198, 194, 188, 185, 181, 183, 178,
+  172, 170, 169, 167, 162, 159, 147, 145, 136, 127, 122, 122, 119, 111, 100, 96,
+  87, 80, 129, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 178, 23, 23, 26, 31, 51,
+  78, 102, 119, 127, 129, 128, 121, 124, 128, 132, 134, 136, 136, 136, 128, 132,
+  143, 155, 168, 180, 190, 197, 199, 201, 202, 204, 206, 208, 209, 208, 203, 205,
+  207, 211, 216, 219, 221, 223, 229, 233, 237, 241, 245, 246, 244, 241, 233, 236,
+  243, 245, 249, 248, 249, 246, 249, 251, 255, 252, 249, 245, 249, 251, 253, 250,
+  250, 248, 246, 244, 243, 241, 244, 242, 238, 228, 218, 209, 209, 208, 198, 196,
+  198, 198, 195, 191, 186, 181, 181, 174, 167, 166, 163, 159, 155, 155, 148, 149,
+  142, 129, 124, 122, 117, 105, 96, 90, 81, 130, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 178, 24, 26, 31, 34, 51, 81, 105, 113, 117, 121, 123, 122,
+  121, 126, 132, 136, 136, 133, 124, 126, 136, 147, 159, 171, 181, 188, 196, 197,
+  200, 203, 206, 208, 209, 207, 207, 209, 211, 215, 220, 222, 225, 227, 227, 229,
+  235, 240, 247, 250, 252, 251, 251, 251, 253, 253, 254, 254, 255, 254, 254, 255,
+  255, 255, 253, 250, 252, 251, 250, 246, 245, 242, 240, 237, 238, 235, 240, 238,
+  234, 226, 219, 214, 209, 205, 192, 193, 197, 200, 198, 193, 186, 179, 179, 172,
+  166, 167, 163, 153, 149, 151, 149, 151, 145, 132, 124, 124, 114, 101, 91, 84,
+  74, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 178, 26, 45, 34,
+  40, 70, 98, 105, 109, 117, 124, 121, 118, 122, 130, 135, 133, 128, 125, 127,
+  133, 143, 152, 162, 171, 178, 190, 192, 194, 198, 203, 204, 204, 204, 212, 214,
+  216, 219, 223, 226, 228, 231, 236, 237, 240, 244, 250, 251, 251, 250, 249, 249,
+  246, 245, 246, 248, 251, 253, 251, 249, 246, 242, 240, 242, 246, 246, 241, 239,
+  238, 236, 233, 229, 228, 226, 236, 230, 225, 221, 219, 216, 210, 202, 190, 192,
+  198, 202, 199, 193, 183, 176, 172, 167, 164, 165, 158, 148, 142, 142, 143, 146,
+  141, 127, 120, 119, 107, 90, 87, 79, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 31, 32, 31, 34, 44, 65, 86, 105, 115, 122, 125,
+  126, 119, 119, 125, 129, 127, 127, 127, 130, 134, 139, 149, 161, 170, 181, 185,
+  190, 194, 199, 200, 201, 202, 211, 214, 218, 223, 227, 230, 232, 233, 235, 238,
+  239, 240, 246, 251, 253, 249, 248, 243, 241, 243, 242, 241, 246, 255, 252, 252,
+  248, 241, 239, 243, 246, 242, 241, 231, 225, 228, 230, 226, 228, 229, 238, 229,
+  221, 214, 216, 220, 216, 205, 189, 190, 193, 193, 193, 194, 190, 184, 178, 174,
+  173, 173, 165, 153, 145, 146, 149, 146, 137, 119, 107, 102, 100, 96, 79, 130,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 180, 29, 30,
+  30, 36, 47, 69, 94, 111, 111, 120, 127, 126, 127, 131, 133, 130, 128, 127,
+  128, 132, 137, 145, 155, 163, 177, 182, 188, 193, 198, 200, 201, 202, 207, 211,
+  215, 220, 224, 227, 230, 231, 235, 236, 237, 236, 240, 247, 248, 247, 244, 242,
+  244, 248, 247, 243, 244, 250, 246, 246, 242, 235, 233, 237, 239, 237, 231, 225,
+  225, 230, 231, 229, 228, 231, 227, 226, 222, 217, 216, 214, 206, 194, 180, 186,
+  192, 189, 187, 186, 186, 183, 187, 176, 171, 172, 172, 162, 151, 145, 143, 138,
+  128, 110, 95, 87, 81, 74, 132, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 181, 34, 32, 29, 29, 46, 74, 96, 104, 114,
+  125, 126, 125, 128, 132, 133, 126, 127, 129, 130, 133, 140, 148, 156, 169, 174,
+  182, 189, 195, 197, 200, 199, 203, 206, 210, 214, 220, 224, 227, 228, 234, 234,
+  234, 231, 234, 239, 240, 239, 237, 240, 247, 253, 251, 245, 241, 241, 243, 243,
+  239, 233, 231, 234, 236, 233, 227, 228, 231, 235, 234, 229, 227, 230, 208, 213,
+  218, 217, 216, 212, 204, 191, 180, 190, 196, 193, 185, 181, 182, 183, 189, 175,
+  166, 167, 172, 165, 151, 140, 126, 123, 115, 102, 92, 87, 80, 73, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 42,
+  41, 33, 28, 34, 55, 73, 100, 108, 116, 117, 117, 120, 127, 130, 127, 128,
+  129, 130, 131, 137, 144, 151, 158, 165, 174, 184, 190, 194, 196, 197, 201, 203,
+  206, 211, 215, 221, 225, 226, 233, 234, 232, 229, 230, 232, 232, 227, 228, 234,
+  242, 247, 245, 239, 233, 231, 234, 235, 232, 226, 225, 228, 229, 227, 228, 231,
+  232, 230, 225, 219, 219, 221, 206, 208, 211, 211, 212, 210, 199, 184, 185, 198,
+  205, 199, 187, 180, 181, 182, 183, 172, 164, 163, 166, 162, 148, 135, 116, 113,
+  107, 98, 93, 90, 84, 134, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 186, 48, 45, 43, 44, 50, 56, 88, 94,
+  106, 113, 113, 115, 121, 126, 130, 131, 132, 132, 133, 137, 142, 148, 154, 160,
+  169, 179, 188, 193, 196, 196, 199, 200, 203, 208, 213, 219, 223, 225, 231, 234,
+  234, 232, 230, 228, 222, 214, 221, 230, 236, 239, 238, 235, 230, 227, 225, 227,
+  225, 220, 219, 223, 224, 222, 227, 229, 226, 219, 211, 209, 209, 211, 217, 212,
+  204, 200, 204, 204, 193, 178, 181, 193, 202, 198, 187, 181, 181, 182, 179, 175,
+  170, 165, 162, 158, 149, 140, 123, 117, 107, 95, 90, 83, 132, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 60, 63, 61, 61, 59, 71, 78, 94, 110, 117, 118, 119, 122, 130, 132,
+  134, 133, 133, 136, 141, 144, 153, 159, 168, 178, 187, 191, 195, 196, 195, 196,
+  200, 204, 209, 214, 220, 223, 227, 231, 233, 230, 229, 226, 217, 207, 216, 223,
+  229, 230, 229, 229, 227, 223, 221, 223, 222, 219, 219, 223, 225, 224, 228, 228,
+  223, 213, 209, 213, 215, 215, 212, 207, 201, 197, 201, 204, 198, 187, 175, 183,
+  192, 191, 185, 183, 182, 179, 171, 173, 169, 162, 154, 150, 145, 139, 129, 119,
+  105, 94, 87, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 74, 73, 73, 73, 69, 70,
+  79, 96, 107, 113, 116, 121, 129, 133, 134, 133, 133, 135, 139, 142, 151, 156,
+  163, 172, 181, 187, 193, 194, 192, 192, 195, 200, 205, 211, 217, 220, 223, 226,
+  228, 225, 224, 222, 215, 206, 206, 215, 221, 221, 221, 223, 221, 216, 216, 219,
+  219, 217, 218, 223, 225, 225, 229, 228, 222, 213, 211, 217, 219, 217, 200, 202,
+  206, 204, 204, 204, 202, 196, 180, 185, 188, 190, 191, 190, 185, 176, 167, 170,
+  166, 157, 150, 146, 142, 135, 122, 111, 97, 142, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 76, 77, 80, 83, 77, 68, 64, 76, 90, 99, 110, 121, 126, 131,
+  131, 132, 132, 134, 138, 143, 147, 152, 158, 164, 173, 180, 185, 187, 187, 189,
+  191, 195, 201, 207, 212, 217, 218, 220, 222, 220, 220, 220, 216, 208, 196, 206,
+  213, 214, 214, 216, 214, 209, 206, 209, 210, 208, 210, 215, 217, 217, 221, 220,
+  214, 205, 207, 213, 214, 208, 203, 212, 219, 214, 203, 195, 189, 186, 193, 194,
+  193, 194, 199, 198, 186, 172, 172, 173, 167, 158, 152, 152, 144, 136, 116, 103,
+  86, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 77, 75, 67, 66,
+  66, 67, 70, 80, 98, 119, 121, 128, 122, 139, 128, 139, 131, 137, 141, 142,
+  147, 156, 163, 165, 172, 179, 190, 187, 185, 190, 197, 204, 208, 209, 208, 214,
+  218, 215, 212, 209, 212, 214, 206, 201, 198, 203, 214, 222, 223, 224, 211, 210,
+  207, 204, 207, 214, 217, 214, 214, 211, 210, 208, 208, 205, 202, 199, 201, 213,
+  218, 205, 188, 186, 194, 199, 186, 189, 191, 190, 190, 187, 178, 166, 170, 169,
+  165, 158, 148, 137, 129, 124, 110, 100, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 197, 78, 66, 65, 63, 61, 58, 60, 76, 97, 111, 121,
+  115, 128, 115, 128, 127, 139, 135, 136, 143, 153, 160, 164, 169, 175, 187, 186,
+  185, 190, 195, 201, 202, 202, 210, 214, 216, 216, 212, 209, 208, 207, 217, 213,
+  211, 210, 213, 215, 218, 219, 212, 212, 210, 206, 210, 216, 219, 216, 216, 211,
+  207, 202, 201, 200, 199, 197, 199, 207, 210, 203, 193, 191, 191, 188, 181, 181,
+  182, 184, 190, 192, 185, 173, 169, 164, 158, 150, 138, 126, 112, 103, 151, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 67, 66,
+  63, 57, 48, 45, 55, 71, 96, 111, 114, 123, 115, 124, 129, 139, 130, 130,
+  137, 147, 154, 158, 162, 169, 181, 184, 187, 191, 195, 198, 195, 194, 207, 209,
+  211, 213, 211, 209, 206, 204, 210, 210, 211, 211, 213, 216, 222, 227, 213, 214,
+  211, 208, 211, 217, 218, 215, 221, 215, 207, 203, 202, 202, 202, 201, 199, 201,
+  200, 200, 200, 198, 190, 179, 183, 183, 183, 183, 188, 190, 183, 173, 172, 164,
+  152, 143, 133, 120, 104, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 66, 63, 61, 53, 43, 44, 52, 75, 92,
+  107, 119, 119, 125, 127, 131, 133, 131, 132, 138, 145, 146, 152, 161, 175, 180,
+  186, 192, 193, 192, 188, 188, 200, 201, 202, 204, 207, 210, 209, 207, 201, 202,
+  204, 206, 212, 217, 224, 228, 212, 215, 213, 211, 213, 219, 219, 215, 215, 209,
+  204, 201, 202, 202, 203, 201, 199, 196, 196, 197, 201, 199, 189, 179, 180, 184,
+  189, 189, 189, 187, 183, 174, 173, 159, 144, 132, 125, 113, 151, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  190, 62, 61, 52, 45, 42, 62, 74, 90, 97, 111, 117, 124, 120, 134, 129,
+  126, 128, 133, 137, 145, 155, 165, 174, 182, 187, 186, 185, 184, 185, 201, 200,
+  198, 201, 205, 209, 211, 212, 215, 210, 206, 207, 211, 215, 217, 215, 214, 217,
+  216, 213, 215, 221, 221, 214, 207, 203, 201, 199, 200, 199, 197, 194, 197, 196,
+  197, 196, 195, 191, 187, 184, 171, 183, 193, 193, 187, 181, 179, 176, 164, 148,
+  127, 112, 104, 149, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 62, 58, 51, 49, 72, 75,
+  83, 78, 94, 105, 121, 118, 127, 123, 119, 121, 124, 128, 138, 149, 152, 161,
+  172, 176, 177, 177, 181, 183, 203, 202, 203, 203, 206, 208, 211, 214, 223, 216,
+  210, 210, 215, 218, 215, 211, 216, 218, 218, 216, 217, 221, 220, 214, 207, 204,
+  202, 200, 199, 195, 192, 188, 193, 193, 195, 194, 188, 181, 183, 189, 179, 189,
+  196, 189, 176, 166, 160, 155, 154, 136, 113, 132, 218, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 191, 66, 84, 85, 89, 69, 83, 88, 111, 110, 121, 116,
+  113, 115, 118, 120, 126, 135, 138, 150, 160, 164, 164, 167, 175, 182, 194, 198,
+  202, 204, 205, 205, 208, 211, 214, 210, 208, 207, 209, 212, 212, 211, 209, 212,
+  212, 211, 212, 215, 212, 205, 204, 201, 197, 193, 192, 190, 188, 185, 187, 188,
+  192, 192, 183, 173, 175, 182, 188, 190, 186, 174, 162, 150, 141, 131, 136, 121,
+  153, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 198, 86,
+  95, 67, 75, 72, 94, 94, 119, 115, 113, 115, 114, 112, 114, 119, 128, 139,
+  150, 155, 157, 160, 170, 180, 178, 187, 199, 203, 203, 202, 205, 210, 206, 206,
+  206, 202, 198, 197, 199, 202, 200, 203, 204, 203, 204, 206, 203, 197, 191, 186,
+  181, 179, 178, 180, 180, 180, 182, 184, 187, 189, 180, 169, 168, 174, 179, 176,
+  165, 157, 152, 148, 141, 130, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 206, 104, 67, 70, 90, 81, 104, 110,
+  113, 114, 115, 119, 119, 117, 125, 126, 132, 142, 153, 158, 164, 170, 178, 180,
+  187, 192, 195, 194, 191, 188, 202, 202, 204, 201, 197, 191, 185, 182, 192, 192,
+  196, 200, 198, 191, 188, 190, 184, 180, 178, 180, 178, 173, 170, 173, 177, 179,
+  177, 172, 162, 156, 155, 155, 160, 150, 137, 130, 132, 132, 118, 150, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 91, 86, 91, 95, 99, 105, 109, 110, 104, 120, 122,
+  127, 131, 139, 147, 156, 158, 162, 169, 178, 184, 187, 185, 183, 181, 187, 190,
+  192, 191, 187, 184, 184, 184, 179, 178, 182, 189, 191, 188, 188, 189, 179, 174,
+  170, 171, 169, 168, 168, 172, 165, 167, 169, 163, 155, 148, 145, 144, 146, 141,
+  132, 122, 164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 229, 179, 182, 187, 188, 185, 178, 176, 180, 184, 178, 174,
+  173, 178, 182, 178, 178, 176, 170, 167, 167, 170, 169, 165, 164, 167, 168, 169,
+  168, 160, 150, 140, 135, 133, 131, 129, 168, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 226, 165, 169, 176, 175, 168, 164, 167, 171, 170, 167, 166, 168, 167,
+  171, 175, 171, 163, 155, 152, 165, 164, 161, 154, 143, 176, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 14, 22, 10, 18, 19, 15, 1, 1,
+  4, 12, 15, 11, 6, 7, 8, 6, 4, 4, 3, 3, 0, 0, 2, 0,
+  0, 0, 0, 3, 3, 3, 1, 94, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 182, 17, 24, 11,
+  14, 11, 13, 15, 24, 18, 15, 23, 29, 30, 32, 34, 34, 33, 48, 45,
+  42, 41, 39, 37, 33, 28, 17, 16, 12, 11, 11, 11, 9, 7, 1, 12,
+  10, 10, 9, 0, 2, 66, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 184, 41, 34, 16, 20, 8, 23, 22, 41, 41, 55, 44, 48, 61,
+  65, 60, 58, 64, 68, 66, 58, 57, 59, 62, 66, 68, 67, 65, 53, 51,
+  50, 46, 38, 25, 12, 4, 4, 2, 0, 0, 5, 0, 8, 34, 106, 71,
+  41, 34, 24, 8, 59, 201, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 183, 46, 42, 35, 34, 35, 51, 54,
+  60, 64, 66, 67, 68, 69, 65, 66, 66, 68, 71, 73, 73, 75, 70, 71,
+  72, 71, 71, 71, 74, 77, 73, 71, 69, 66, 62, 59, 56, 55, 36, 39,
+  36, 23, 9, 8, 22, 37, 65, 37, 29, 45, 37, 6, 0, 7, 4, 63,
+  200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 22,
+  38, 51, 57, 62, 68, 73, 60, 64, 67, 69, 70, 71, 71, 73, 75, 76,
+  76, 78, 80, 82, 83, 83, 83, 84, 84, 83, 80, 79, 81, 83, 79, 80,
+  78, 77, 74, 73, 70, 71, 71, 71, 65, 51, 34, 20, 14, 14, 43, 30,
+  22, 25, 22, 11, 5, 10, 0, 8, 6, 5, 12, 94, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 36, 48, 53, 57, 60, 62, 63, 65, 66, 71, 72,
+  73, 75, 74, 75, 76, 78, 80, 80, 80, 82, 83, 84, 85, 86, 89, 90,
+  90, 89, 87, 85, 85, 87, 87, 88, 88, 88, 87, 87, 87, 89, 77, 74,
+  72, 69, 65, 59, 51, 44, 26, 25, 15, 3, 2, 8, 9, 1, 1, 8,
+  10, 9, 11, 16, 17, 15, 88, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 170, 14, 33, 44, 57, 58,
+  61, 66, 72, 76, 77, 75, 77, 78, 79, 79, 79, 80, 83, 86, 83, 83,
+  83, 84, 84, 85, 86, 86, 88, 90, 92, 93, 91, 91, 92, 95, 92, 94,
+  94, 94, 94, 95, 95, 96, 96, 90, 81, 76, 75, 73, 68, 65, 36, 35,
+  23, 7, 2, 7, 4, 0, 3, 6, 10, 12, 13, 20, 20, 7, 4, 11,
+  9, 89, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 202,
+  68, 16, 25, 42, 55, 59, 61, 62, 66, 74, 83, 88, 89, 87, 83, 84,
+  85, 86, 86, 89, 91, 95, 94, 95, 94, 95, 96, 96, 96, 96, 96, 99,
+  101, 101, 100, 99, 99, 101, 96, 97, 96, 96, 95, 96, 95, 96, 98, 94,
+  87, 79, 74, 72, 72, 75, 65, 56, 46, 37, 28, 20, 10, 5, 6, 1,
+  4, 10, 15, 29, 27, 4, 9, 11, 7, 5, 0, 102, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 177, 29, 39, 53, 66, 72, 70, 74, 75,
+  78, 82, 84, 85, 81, 78, 89, 92, 94, 96, 97, 98, 100, 103, 105, 104,
+  104, 103, 103, 103, 103, 103, 102, 104, 106, 105, 102, 99, 98, 98, 98, 98,
+  97, 96, 95, 94, 94, 93, 77, 80, 83, 82, 80, 80, 82, 87, 79, 69,
+  63, 63, 56, 39, 27, 25, 17, 3, 5, 10, 16, 39, 42, 12, 21, 13,
+  11, 5, 2, 17, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 179, 35,
+  45, 54, 63, 70, 71, 67, 73, 77, 81, 85, 88, 91, 92, 93, 96, 99,
+  103, 104, 103, 104, 104, 106, 106, 106, 105, 105, 104, 103, 103, 102, 99, 102,
+  103, 103, 100, 97, 96, 96, 98, 97, 96, 95, 94, 93, 92, 91, 88, 88,
+  88, 86, 82, 79, 77, 77, 79, 74, 72, 74, 70, 60, 49, 46, 38, 19,
+  16, 16, 14, 43, 55, 26, 33, 15, 19, 8, 13, 11, 6, 14, 11, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 186, 57, 68, 79, 82, 83, 85, 85, 84, 93, 94,
+  96, 94, 93, 93, 95, 97, 99, 102, 106, 107, 105, 104, 103, 103, 106, 106,
+  105, 104, 103, 102, 100, 100, 96, 99, 102, 103, 102, 100, 99, 99, 94, 94,
+  92, 92, 91, 90, 90, 90, 93, 90, 86, 84, 84, 87, 87, 88, 79, 81,
+  80, 78, 77, 75, 67, 58, 56, 34, 29, 19, 10, 40, 59, 34, 42, 18,
+  28, 13, 24, 14, 17, 28, 10, 19, 101, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 37, 49, 55, 76, 77,
+  82, 86, 88, 91, 94, 96, 97, 97, 96, 96, 97, 97, 98, 98, 100, 100,
+  102, 103, 103, 104, 104, 104, 104, 104, 103, 102, 101, 101, 99, 100, 98, 95,
+  92, 93, 95, 95, 92, 89, 90, 88, 86, 84, 82, 81, 80, 80, 79, 80,
+  82, 83, 84, 84, 84, 84, 84, 85, 85, 84, 83, 80, 77, 77, 63, 66,
+  43, 35, 45, 25, 10, 31, 23, 14, 54, 18, 12, 23, 28, 46, 28, 7,
+  19, 106, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 182, 30, 42, 67, 84, 83, 84, 88, 90, 91, 93, 95, 97, 98, 98,
+  99, 99, 99, 100, 100, 100, 102, 102, 103, 103, 103, 103, 103, 103, 101, 101,
+  100, 99, 98, 96, 96, 95, 92, 90, 89, 90, 93, 94, 93, 91, 90, 88,
+  86, 84, 82, 80, 79, 80, 82, 84, 84, 84, 85, 85, 85, 85, 85, 86,
+  85, 85, 84, 82, 80, 80, 77, 82, 62, 51, 53, 33, 20, 44, 45, 30,
+  61, 27, 21, 30, 32, 44, 75, 31, 15, 22, 40, 113, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 35, 37, 55, 77, 90, 92, 92, 95,
+  97, 98, 98, 98, 99, 100, 102, 102, 103, 103, 103, 104, 104, 104, 103, 103,
+  103, 103, 103, 102, 102, 102, 101, 100, 99, 98, 97, 96, 95, 95, 93, 93,
+  91, 91, 93, 94, 93, 92, 91, 90, 88, 85, 83, 82, 80, 81, 80, 81,
+  79, 79, 78, 79, 79, 80, 85, 86, 86, 87, 87, 87, 86, 86, 86, 93,
+  81, 69, 67, 48, 39, 60, 51, 31, 54, 23, 22, 30, 33, 41, 72, 33,
+  18, 26, 57, 70, 108, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 177, 25,
+  37, 59, 87, 104, 99, 87, 98, 100, 102, 103, 101, 101, 102, 103, 103, 103,
+  103, 104, 104, 105, 105, 105, 104, 103, 102, 101, 101, 100, 100, 100, 102, 101,
+  101, 100, 99, 98, 97, 97, 102, 101, 100, 99, 97, 95, 94, 93, 93, 91,
+  89, 87, 86, 84, 83, 85, 81, 82, 79, 78, 77, 77, 77, 78, 82, 83,
+  84, 85, 86, 86, 87, 88, 81, 88, 82, 78, 78, 64, 55, 67, 38, 20,
+  38, 14, 17, 22, 35, 42, 45, 29, 30, 30, 50, 66, 43, 102, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 172, 11, 41, 75, 93, 94, 95, 95, 96, 97, 100,
+  103, 103, 102, 102, 103, 104, 102, 102, 102, 102, 103, 103, 103, 104, 103, 101,
+  100, 98, 98, 98, 98, 99, 100, 100, 99, 99, 99, 99, 98, 98, 105, 105,
+  105, 103, 102, 100, 100, 100, 97, 96, 95, 93, 92, 91, 90, 91, 93, 93,
+  90, 89, 86, 86, 85, 84, 81, 81, 82, 82, 82, 84, 84, 85, 77, 79,
+  77, 81, 85, 76, 64, 63, 33, 19, 31, 11, 11, 10, 29, 36, 27, 20,
+  18, 1, 5, 25, 20, 17, 9, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 170, 8, 15, 33, 63, 81,
+  98, 100, 94, 91, 92, 97, 95, 99, 101, 102, 101, 101, 102, 103, 100, 100,
+  100, 101, 101, 101, 102, 101, 102, 101, 99, 98, 97, 98, 99, 100, 98, 99,
+  99, 100, 101, 101, 102, 102, 102, 103, 105, 106, 104, 105, 106, 109, 103, 103,
+  102, 101, 101, 102, 102, 103, 102, 102, 101, 99, 96, 94, 92, 90, 86, 87,
+  85, 84, 83, 83, 83, 83, 82, 78, 78, 82, 85, 80, 69, 59, 42, 28,
+  32, 13, 7, 0, 17, 19, 37, 32, 33, 18, 21, 38, 29, 25, 7, 7,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 0, 0, 26, 44, 74, 103, 100, 95, 92, 95, 100, 94, 87, 96, 99,
+  101, 101, 99, 99, 99, 100, 99, 99, 99, 100, 100, 100, 101, 100, 103, 102,
+  99, 99, 98, 101, 102, 104, 100, 102, 102, 105, 105, 108, 108, 109, 105, 107,
+  110, 112, 110, 111, 113, 117, 112, 111, 111, 112, 113, 114, 115, 117, 110, 111,
+  111, 110, 106, 102, 97, 94, 98, 97, 93, 90, 88, 87, 85, 85, 88, 82,
+  82, 83, 79, 77, 74, 65, 59, 40, 35, 20, 15, 0, 15, 11, 7, 5,
+  16, 9, 12, 22, 9, 4, 8, 7, 9, 93, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 15, 21, 43, 75, 77, 94, 91, 94,
+  96, 93, 92, 94, 93, 92, 97, 100, 101, 101, 98, 97, 97, 98, 99, 99,
+  99, 100, 100, 100, 101, 100, 104, 102, 100, 99, 100, 102, 105, 106, 105, 106,
+  107, 110, 112, 114, 116, 117, 112, 114, 118, 117, 115, 114, 116, 120, 117, 118,
+  118, 119, 120, 122, 124, 125, 120, 122, 122, 122, 117, 113, 107, 104, 107, 105,
+  101, 97, 93, 92, 88, 88, 88, 83, 84, 81, 73, 73, 79, 73, 73, 51,
+  41, 31, 32, 14, 30, 20, 23, 22, 28, 14, 8, 16, 15, 25, 8, 7,
+  7, 8, 89, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 21,
+  42, 59, 75, 85, 88, 87, 97, 98, 98, 97, 94, 91, 91, 91, 94, 94,
+  95, 96, 97, 97, 97, 97, 99, 99, 99, 99, 100, 102, 103, 103, 101, 102,
+  104, 107, 110, 111, 112, 113, 108, 109, 112, 115, 117, 118, 118, 117, 115, 121,
+  118, 116, 124, 123, 118, 120, 124, 121, 122, 128, 128, 123, 120, 124, 125, 122,
+  121, 125, 126, 123, 117, 114, 113, 108, 99, 95, 94, 92, 87, 84, 91, 87,
+  82, 79, 76, 74, 73, 72, 65, 57, 50, 44, 34, 29, 35, 48, 46, 52,
+  63, 27, 8, 17, 6, 10, 8, 2, 0, 3, 7, 88, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 178, 39, 51, 67, 79, 87, 93, 94, 91, 98, 100,
+  100, 99, 96, 96, 97, 98, 94, 94, 95, 98, 98, 100, 99, 100, 100, 101,
+  100, 102, 102, 105, 105, 106, 102, 104, 105, 108, 110, 112, 112, 113, 116, 117,
+  116, 118, 118, 121, 122, 123, 123, 128, 122, 120, 126, 125, 118, 121, 135, 133,
+  129, 126, 119, 111, 107, 108, 115, 117, 115, 104, 90, 85, 92, 103, 104, 101,
+  98, 100, 103, 102, 97, 92, 72, 74, 76, 77, 78, 74, 68, 64, 80, 63,
+  47, 46, 48, 42, 29, 22, 37, 32, 53, 49, 29, 10, 0, 19, 22, 11,
+  1, 0, 3, 3, 88, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 171, 27, 64, 73,
+  84, 90, 93, 95, 92, 88, 92, 94, 93, 93, 93, 94, 97, 98, 96, 95,
+  97, 99, 101, 103, 103, 104, 105, 105, 105, 106, 107, 109, 110, 111, 107, 108,
+  109, 112, 113, 116, 115, 117, 125, 125, 122, 123, 123, 126, 128, 131, 131, 135,
+  127, 124, 128, 126, 117, 122, 131, 130, 123, 109, 96, 90, 87, 85, 83, 65,
+  47, 49, 65, 71, 59, 43, 53, 44, 36, 37, 46, 57, 61, 61, 81, 74,
+  62, 56, 55, 60, 67, 72, 69, 63, 58, 56, 49, 34, 21, 15, 31, 41,
+  55, 33, 12, 12, 9, 18, 7, 1, 0, 4, 6, 3, 0, 85, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 170, 13, 40, 65, 71, 77, 87, 89, 91, 91, 90, 86, 87, 87,
+  88, 89, 88, 91, 96, 98, 97, 96, 99, 101, 104, 106, 107, 108, 108, 109,
+  109, 110, 111, 113, 115, 115, 116, 116, 117, 119, 121, 122, 122, 122, 127, 127,
+  128, 129, 131, 133, 135, 136, 134, 135, 127, 124, 130, 124, 117, 124, 119, 120,
+  111, 93, 79, 77, 78, 77, 52, 57, 63, 67, 69, 67, 58, 49, 50, 39,
+  25, 21, 25, 30, 30, 28, 43, 45, 46, 46, 45, 40, 33, 27, 54, 58,
+  61, 62, 56, 45, 34, 30, 17, 41, 51, 29, 11, 11, 2, 0, 1, 1,
+  5, 8, 7, 0, 0, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 170, 5, 33, 70, 84, 78, 84,
+  91, 92, 92, 93, 92, 89, 88, 89, 90, 90, 93, 97, 101, 104, 100, 100,
+  103, 106, 108, 111, 112, 112, 113, 114, 114, 115, 117, 119, 121, 121, 121, 122,
+  124, 125, 126, 127, 127, 127, 125, 127, 132, 136, 139, 141, 141, 141, 136, 135,
+  125, 125, 131, 124, 119, 128, 121, 119, 109, 94, 83, 84, 87, 89, 84, 92,
+  95, 90, 84, 81, 75, 69, 45, 41, 37, 39, 44, 46, 41, 36, 35, 36,
+  36, 37, 37, 36, 31, 29, 24, 17, 13, 24, 41, 45, 33, 18, 28, 18,
+  12, 19, 17, 7, 14, 23, 10, 9, 9, 7, 2, 0, 2, 11, 0, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  176, 17, 28, 48, 76, 74, 85, 91, 94, 93, 92, 92, 92, 88, 88, 89,
+  91, 94, 96, 100, 105, 108, 106, 107, 109, 112, 115, 117, 118, 119, 120, 120,
+  121, 122, 124, 127, 129, 130, 126, 128, 129, 130, 130, 130, 130, 130, 127, 131,
+  137, 143, 147, 149, 148, 147, 143, 139, 130, 130, 135, 129, 125, 137, 133, 123,
+  110, 103, 97, 95, 99, 106, 124, 110, 88, 77, 85, 96, 91, 76, 87, 80,
+  72, 68, 70, 73, 76, 77, 41, 32, 19, 11, 15, 26, 40, 49, 46, 46,
+  46, 52, 65, 76, 75, 69, 50, 45, 23, 17, 13, 5, 10, 1, 0, 0,
+  0, 5, 5, 0, 0, 2, 1, 86, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 172, 1, 33, 58, 67, 88, 87, 87, 94,
+  95, 92, 90, 91, 90, 87, 88, 91, 95, 99, 101, 105, 110, 112, 115, 116,
+  118, 121, 123, 125, 126, 126, 128, 128, 129, 131, 133, 135, 137, 139, 134, 134,
+  135, 136, 136, 136, 135, 135, 136, 139, 143, 148, 152, 154, 154, 155, 154, 149,
+  138, 139, 144, 136, 132, 146, 145, 125, 111, 113, 113, 107, 110, 121, 126, 131,
+  123, 104, 93, 98, 106, 108, 96, 89, 78, 67, 57, 54, 54, 57, 70, 72,
+  73, 75, 75, 71, 66, 62, 49, 58, 63, 57, 53, 58, 68, 73, 84, 113,
+  106, 98, 88, 74, 59, 14, 19, 8, 1, 4, 9, 6, 0, 0, 2, 2,
+  86, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 11,
+  1, 48, 75, 67, 83, 85, 87, 94, 95, 92, 91, 93, 93, 90, 95, 98,
+  103, 108, 111, 115, 119, 121, 121, 122, 125, 127, 129, 130, 131, 131, 133, 134,
+  135, 136, 138, 141, 143, 144, 141, 140, 141, 142, 142, 140, 140, 139, 144, 145,
+  148, 152, 156, 158, 160, 163, 165, 159, 148, 148, 152, 143, 139, 152, 153, 128,
+  113, 123, 127, 120, 123, 139, 141, 135, 122, 116, 124, 128, 108, 81, 45, 59,
+  78, 93, 97, 93, 87, 84, 82, 79, 76, 72, 66, 58, 50, 44, 49, 45,
+  35, 28, 30, 36, 34, 27, 18, 27, 23, 53, 72, 80, 112, 119, 102, 65,
+  21, 2, 3, 7, 8, 6, 3, 3, 2, 87, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 170, 1, 24, 53, 71, 77, 82, 91, 94, 89,
+  87, 90, 91, 90, 94, 101, 107, 112, 115, 115, 115, 120, 126, 129, 130, 122,
+  123, 129, 132, 130, 130, 135, 128, 132, 137, 142, 145, 144, 142, 140, 145, 142,
+  140, 139, 139, 137, 136, 134, 146, 146, 149, 155, 160, 162, 166, 171, 172, 170,
+  166, 161, 159, 157, 158, 159, 155, 130, 132, 144, 135, 137, 146, 143, 141, 140,
+  131, 112, 93, 85, 90, 100, 115, 108, 102, 100, 103, 105, 103, 100, 100, 100,
+  101, 102, 99, 93, 84, 79, 69, 68, 58, 41, 27, 22, 20, 19, 21, 17,
+  15, 15, 12, 12, 30, 53, 69, 97, 108, 81, 34, 2, 0, 0, 5, 0,
+  2, 10, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 17, 26,
+  45, 68, 79, 79, 82, 89, 95, 90, 88, 91, 93, 93, 96, 103, 117, 121,
+  125, 127, 129, 132, 134, 135, 127, 127, 121, 116, 120, 128, 128, 121, 129, 131,
+  134, 138, 142, 145, 147, 147, 155, 151, 146, 144, 142, 140, 138, 137, 148, 147,
+  149, 157, 162, 164, 167, 173, 179, 178, 173, 170, 166, 165, 165, 165, 153, 144,
+  142, 139, 139, 157, 162, 139, 145, 124, 105, 104, 122, 135, 133, 126, 118, 119,
+  121, 127, 137, 143, 144, 142, 147, 145, 141, 136, 128, 116, 104, 96, 83, 82,
+  73, 57, 41, 28, 17, 11, 23, 18, 15, 13, 7, 4, 17, 35, 22, 30,
+  57, 88, 92, 59, 19, 0, 13, 4, 0, 0, 85, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 25, 38, 60, 78, 83, 84, 87, 91, 89, 87,
+  87, 93, 97, 102, 107, 113, 118, 119, 121, 125, 128, 128, 126, 123, 128, 132,
+  125, 113, 118, 135, 136, 123, 127, 128, 131, 135, 141, 147, 153, 156, 163, 161,
+  155, 152, 150, 150, 149, 148, 151, 150, 152, 158, 163, 164, 167, 172, 180, 179,
+  176, 172, 170, 168, 166, 167, 157, 155, 157, 155, 155, 167, 163, 138, 129, 126,
+  129, 136, 145, 149, 144, 139, 133, 138, 145, 152, 158, 159, 158, 156, 157, 155,
+  152, 148, 142, 134, 123, 117, 109, 108, 101, 88, 74, 58, 37, 23, 21, 17,
+  14, 15, 10, 3, 5, 14, 0, 7, 19, 40, 75, 94, 61, 13, 4, 4,
+  4, 5, 8, 92, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 29, 47,
+  68, 81, 84, 85, 87, 89, 85, 85, 88, 93, 98, 104, 110, 114, 128, 123,
+  120, 122, 124, 120, 116, 114, 107, 113, 112, 106, 110, 124, 129, 124, 125, 128,
+  131, 136, 143, 150, 157, 162, 165, 163, 158, 156, 156, 156, 158, 157, 152, 150,
+  151, 157, 161, 161, 164, 168, 174, 173, 171, 169, 168, 165, 163, 162, 161, 155,
+  162, 172, 164, 147, 138, 138, 126, 142, 156, 156, 144, 135, 135, 141, 147, 152,
+  157, 160, 158, 155, 151, 149, 153, 152, 151, 152, 151, 148, 143, 139, 128, 126,
+  121, 114, 106, 93, 70, 53, 27, 19, 13, 16, 17, 12, 5, 2, 5, 13,
+  7, 0, 25, 65, 77, 63, 15, 21, 12, 1, 3, 6, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 2, 45, 64, 82, 87, 85, 87, 86, 84, 88, 89,
+  94, 97, 102, 106, 110, 110, 118, 110, 103, 103, 102, 97, 95, 97, 99, 102,
+  109, 114, 116, 118, 125, 133, 127, 130, 134, 140, 147, 153, 159, 163, 167, 164,
+  159, 156, 155, 156, 155, 156, 148, 145, 147, 152, 154, 154, 157, 161, 165, 166,
+  167, 167, 166, 164, 161, 159, 156, 156, 159, 158, 147, 128, 127, 143, 148, 141,
+  133, 132, 136, 144, 149, 150, 151, 154, 157, 160, 159, 158, 157, 157, 154, 151,
+  147, 145, 143, 140, 135, 133, 129, 127, 123, 120, 119, 112, 94, 77, 54, 36,
+  17, 11, 14, 15, 9, 5, 14, 0, 3, 21, 24, 22, 50, 91, 81, 83,
+  50, 11, 5, 11, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 20, 47, 66,
+  82, 85, 86, 93, 92, 87, 87, 94, 102, 107, 111, 118, 119, 116, 94, 85,
+  82, 85, 87, 84, 88, 95, 104, 104, 111, 120, 121, 119, 124, 135, 134, 136,
+  138, 144, 149, 154, 159, 161, 170, 166, 159, 154, 151, 149, 146, 144, 144, 141,
+  141, 146, 148, 147, 149, 153, 159, 162, 165, 168, 168, 165, 162, 159, 152, 164,
+  152, 130, 128, 136, 143, 151, 143, 132, 124, 127, 140, 151, 154, 151, 153, 154,
+  155, 158, 158, 158, 157, 157, 150, 147, 140, 136, 131, 128, 124, 121, 125, 124,
+  120, 118, 120, 119, 108, 95, 86, 64, 33, 13, 6, 8, 12, 13, 11, 3,
+  9, 21, 18, 8, 22, 49, 75, 92, 60, 13, 6, 11, 89, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 12, 45, 65, 79, 79, 85, 96, 99, 90, 92, 100,
+  106, 106, 107, 108, 101, 95, 76, 73, 77, 90, 98, 100, 109, 123, 103, 103,
+  103, 106, 112, 119, 122, 122, 146, 145, 143, 145, 148, 153, 158, 161, 167, 162,
+  156, 151, 147, 142, 137, 134, 136, 134, 134, 140, 141, 140, 142, 148, 149, 154,
+  159, 163, 164, 161, 158, 156, 151, 153, 128, 112, 132, 148, 145, 145, 124, 130,
+  135, 139, 142, 144, 145, 147, 155, 154, 153, 153, 154, 152, 146, 142, 147, 144,
+  137, 132, 129, 127, 126, 124, 117, 118, 116, 115, 118, 121, 114, 105, 97, 86,
+  64, 36, 15, 6, 10, 17, 11, 18, 13, 2, 0, 10, 15, 9, 58, 95,
+  80, 40, 38, 41, 28, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 174, 0, 58, 75,
+  84, 81, 85, 98, 96, 84, 101, 108, 107, 97, 85, 74, 60, 44, 44, 46,
+  59, 79, 91, 98, 111, 127, 118, 122, 117, 111, 124, 146, 147, 134, 155, 152,
+  147, 145, 146, 152, 158, 162, 163, 158, 154, 150, 146, 142, 137, 134, 135, 133,
+  134, 138, 140, 140, 142, 146, 141, 145, 152, 157, 159, 156, 152, 149, 148, 126,
+  96, 107, 144, 144, 124, 125, 129, 128, 126, 128, 134, 141, 146, 150, 154, 150,
+  149, 151, 153, 151, 141, 134, 132, 127, 119, 113, 110, 107, 105, 104, 105, 107,
+  109, 110, 114, 118, 115, 108, 91, 97, 90, 65, 30, 11, 10, 17, 18, 10,
+  5, 11, 13, 12, 13, 19, 23, 67, 52, 8, 8, 14, 4, 7, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 8, 17, 65, 73, 82, 86, 87, 90, 95, 100, 101, 92,
+  85, 93, 100, 72, 35, 19, 62, 91, 107, 99, 97, 111, 119, 115, 118, 118,
+  121, 127, 135, 144, 151, 154, 146, 160, 165, 154, 147, 157, 163, 161, 154, 159,
+  156, 163, 132, 137, 131, 141, 124, 130, 134, 136, 141, 146, 143, 135, 141, 135,
+  135, 143, 152, 156, 155, 151, 134, 73, 104, 142, 134, 128, 120, 124, 127, 121,
+  124, 134, 139, 135, 137, 143, 144, 145, 147, 146, 137, 129, 125, 125, 127, 118,
+  102, 99, 102, 92, 84, 92, 77, 92, 101, 97, 99, 110, 115, 110, 112, 105,
+  99, 88, 58, 24, 12, 17, 23, 20, 15, 10, 8, 11, 9, 6, 14, 50,
+  95, 28, 0, 4, 9, 13, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2, 43, 56, 81,
+  99, 94, 86, 90, 99, 100, 83, 99, 93, 67, 40, 20, 19, 32, 34, 53,
+  62, 59, 58, 68, 72, 66, 92, 95, 100, 107, 116, 131, 148, 159, 177, 158,
+  148, 155, 161, 161, 163, 169, 160, 161, 159, 138, 163, 148, 140, 128, 152, 151,
+  139, 125, 122, 122, 110, 93, 86, 96, 109, 117, 119, 123, 126, 131, 62, 77,
+  134, 137, 107, 111, 113, 114, 117, 122, 132, 139, 138, 133, 135, 139, 151, 138,
+  134, 135, 132, 132, 128, 118, 102, 115, 111, 97, 92, 91, 88, 87, 77, 75,
+  70, 70, 83, 100, 109, 109, 115, 111, 109, 102, 80, 49, 23, 12, 18, 19,
+  17, 14, 11, 10, 10, 8, 14, 41, 95, 58, 21, 27, 33, 48, 92, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 175, 14, 37, 76, 76, 78, 85, 93, 96, 86, 74, 77, 59,
+  24, 13, 49, 86, 89, 82, 104, 110, 114, 116, 119, 124, 125, 123, 107, 109,
+  109, 104, 100, 100, 109, 117, 125, 136, 159, 176, 172, 159, 162, 177, 162, 164,
+  160, 141, 161, 132, 131, 145, 153, 173, 185, 178, 167, 150, 115, 77, 90, 91,
+  81, 55, 30, 23, 25, 27, 48, 86, 126, 113, 102, 118, 114, 108, 114, 129,
+  143, 144, 138, 134, 135, 135, 140, 123, 123, 126, 118, 126, 131, 117, 117, 123,
+  118, 102, 89, 86, 81, 74, 72, 67, 66, 71, 76, 82, 92, 101, 116, 115,
+  112, 104, 93, 71, 37, 8, 10, 14, 19, 19, 13, 10, 10, 12, 8, 20,
+  79, 74, 15, 13, 14, 38, 17, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 11, 25, 46, 68, 77,
+  93, 94, 72, 49, 55, 76, 51, 78, 85, 72, 62, 58, 65, 80, 77, 79,
+  85, 93, 97, 100, 105, 111, 117, 120, 124, 124, 121, 117, 115, 114, 94, 100,
+  105, 118, 144, 168, 164, 147, 177, 163, 146, 157, 120, 106, 105, 142, 235, 242,
+  248, 250, 250, 225, 145, 64, 98, 71, 47, 61, 109, 150, 145, 118, 87, 95,
+  94, 92, 108, 117, 112, 122, 124, 139, 148, 142, 135, 135, 134, 131, 125, 117,
+  128, 129, 111, 119, 132, 120, 127, 110, 105, 108, 106, 105, 103, 100, 92, 84,
+  77, 70, 56, 56, 83, 116, 117, 119, 114, 104, 98, 85, 53, 21, 4, 10,
+  18, 20, 15, 10, 14, 18, 19, 18, 77, 91, 14, 2, 0, 25, 20, 92,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 11, 23, 49, 81, 66, 48, 42, 56, 82, 101, 105, 108, 79,
+  39, 26, 40, 48, 54, 67, 85, 88, 99, 110, 115, 119, 130, 142, 139, 138,
+  141, 145, 149, 149, 144, 139, 131, 121, 99, 83, 94, 126, 149, 156, 150, 147,
+  135, 117, 69, 105, 112, 79, 161, 204, 230, 205, 157, 122, 99, 84, 88, 100,
+  103, 90, 75, 68, 65, 61, 93, 102, 89, 89, 101, 98, 108, 138, 139, 144,
+  142, 132, 129, 133, 130, 121, 125, 123, 128, 123, 107, 108, 110, 97, 66, 57,
+  60, 64, 59, 66, 73, 64, 71, 72, 80, 85, 73, 59, 69, 91, 111, 121,
+  123, 114, 106, 98, 71, 43, 6, 8, 12, 17, 16, 13, 16, 24, 14, 13,
+  73, 88, 15, 4, 0, 27, 17, 7, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 10, 23, 58, 22, 68,
+  91, 76, 72, 93, 97, 75, 28, 26, 29, 48, 68, 69, 72, 89, 88, 95,
+  106, 116, 120, 126, 137, 149, 163, 156, 148, 147, 149, 149, 144, 140, 143, 146,
+  145, 131, 97, 75, 90, 120, 105, 51, 79, 105, 88, 48, 79, 94, 113, 120,
+  122, 115, 111, 110, 104, 95, 92, 86, 83, 86, 94, 95, 90, 84, 96, 115,
+  95, 91, 103, 108, 121, 132, 143, 138, 131, 127, 128, 129, 121, 112, 122, 122,
+  109, 92, 85, 79, 66, 53, 42, 47, 64, 60, 45, 64, 85, 75, 61, 57,
+  64, 81, 83, 72, 62, 61, 93, 109, 121, 120, 112, 102, 80, 58, 22, 14,
+  9, 13, 16, 16, 20, 24, 6, 14, 71, 65, 8, 4, 0, 19, 10, 4,
+  85, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 12, 48, 89, 101, 88, 54, 23, 35, 69, 68, 37, 46, 59,
+  66, 69, 76, 79, 90, 111, 118, 125, 131, 135, 139, 145, 149, 150, 146, 141,
+  139, 139, 143, 145, 146, 145, 139, 129, 130, 142, 135, 99, 55, 30, 21, 66,
+  92, 50, 62, 86, 109, 82, 96, 99, 102, 100, 97, 93, 94, 99, 88, 84,
+  82, 81, 76, 76, 92, 113, 135, 135, 95, 89, 108, 125, 144, 135, 137, 130,
+  128, 132, 136, 128, 116, 108, 116, 132, 108, 75, 69, 60, 52, 63, 55, 24,
+  32, 54, 50, 67, 103, 117, 116, 90, 64, 56, 58, 63, 67, 72, 78, 93,
+  106, 109, 104, 95, 81, 69, 46, 24, 7, 11, 17, 19, 21, 23, 16, 37,
+  87, 47, 10, 11, 8, 14, 6, 2, 2, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 180, 83, 96, 75, 51, 26,
+  12, 26, 48, 56, 49, 40, 50, 77, 92, 92, 101, 111, 120, 129, 145, 149,
+  149, 148, 152, 158, 155, 147, 143, 145, 146, 147, 143, 138, 133, 132, 141, 140,
+  136, 133, 139, 130, 90, 49, 66, 89, 58, 69, 97, 110, 83, 108, 104, 98,
+  96, 100, 99, 94, 93, 99, 99, 89, 83, 87, 79, 69, 76, 93, 178, 153,
+  98, 90, 101, 115, 153, 160, 132, 127, 131, 144, 145, 131, 116, 110, 117, 157,
+  137, 91, 76, 64, 73, 117, 144, 45, 18, 62, 63, 50, 81, 120, 133, 122,
+  106, 91, 76, 62, 53, 48, 79, 86, 92, 95, 95, 91, 86, 84, 62, 34,
+  9, 9, 17, 20, 21, 21, 9, 41, 86, 24, 4, 8, 8, 6, 5, 5,
+  4, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 100, 96, 66, 36, 20, 8, 10, 29, 37, 28, 28, 40, 66, 79,
+  95, 108, 121, 134, 139, 140, 153, 152, 152, 151, 150, 148, 147, 145, 148, 143,
+  137, 130, 127, 126, 126, 128, 116, 120, 122, 120, 124, 126, 113, 95, 67, 97,
+  70, 74, 99, 97, 101, 94, 96, 98, 99, 101, 100, 99, 97, 98, 97, 94,
+  88, 82, 75, 69, 62, 58, 160, 191, 107, 88, 79, 134, 144, 128, 126, 136,
+  140, 139, 134, 123, 135, 165, 183, 191, 151, 93, 77, 84, 83, 85, 95, 50,
+  33, 60, 81, 79, 94, 124, 129, 118, 107, 100, 90, 73, 58, 48, 50, 58,
+  72, 84, 92, 92, 89, 87, 81, 54, 26, 16, 15, 16, 22, 28, 20, 83,
+  68, 10, 6, 16, 8, 11, 10, 14, 12, 89, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 112, 78, 37, 10, 22, 17,
+  20, 32, 37, 38, 48, 65, 81, 97, 114, 128, 138, 149, 152, 152, 146, 147,
+  149, 150, 150, 149, 148, 146, 139, 140, 140, 139, 135, 129, 122, 117, 123, 120,
+  112, 106, 108, 116, 119, 118, 71, 74, 93, 103, 99, 98, 98, 101, 98, 99,
+  101, 102, 101, 100, 99, 99, 101, 99, 95, 91, 87, 81, 74, 70, 104, 214,
+  151, 90, 85, 79, 110, 124, 127, 129, 123, 122, 131, 141, 160, 186, 192, 198,
+  171, 123, 96, 89, 82, 77, 44, 53, 74, 90, 86, 79, 100, 132, 128, 116,
+  105, 96, 84, 70, 57, 52, 56, 62, 70, 78, 83, 86, 87, 86, 85, 78,
+  51, 16, 5, 19, 24, 14, 65, 73, 37, 1, 10, 20, 9, 6, 7, 11,
+  10, 7, 87, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 36, 15, 11, 16, 20, 20, 22, 28, 35, 50, 72, 93, 109, 124,
+  140, 147, 149, 152, 151, 150, 144, 145, 148, 150, 151, 150, 150, 148, 141, 142,
+  144, 145, 142, 135, 128, 123, 116, 113, 112, 113, 110, 110, 115, 124, 90, 58,
+  100, 117, 101, 106, 98, 106, 102, 104, 104, 104, 104, 102, 99, 100, 99, 99,
+  98, 96, 93, 86, 79, 76, 50, 194, 190, 100, 117, 75, 91, 122, 113, 121,
+  120, 124, 144, 158, 166, 174, 191, 194, 191, 164, 128, 111, 104, 93, 92, 101,
+  104, 97, 92, 103, 121, 133, 112, 103, 94, 88, 78, 69, 65, 66, 84, 83,
+  82, 79, 77, 76, 75, 75, 91, 77, 60, 43, 21, 11, 26, 50, 83, 45,
+  8, 1, 11, 14, 7, 5, 5, 9, 10, 8, 6, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 7, 8, 14, 21, 21, 18,
+  15, 19, 36, 62, 91, 110, 126, 138, 148, 148, 145, 144, 144, 144, 145, 148,
+  150, 151, 151, 150, 148, 146, 141, 139, 137, 134, 132, 134, 133, 135, 129, 126,
+  127, 127, 117, 104, 105, 117, 120, 81, 90, 104, 106, 111, 101, 101, 105, 106,
+  106, 106, 103, 102, 99, 99, 94, 95, 95, 96, 94, 89, 81, 78, 89, 58,
+  210, 174, 120, 108, 83, 102, 102, 121, 129, 131, 147, 155, 152, 152, 169, 173,
+  193, 190, 157, 142, 143, 132, 138, 136, 127, 123, 128, 132, 118, 98, 96, 90,
+  87, 86, 81, 77, 78, 83, 104, 101, 94, 87, 80, 76, 74, 74, 69, 74,
+  84, 77, 37, 8, 43, 103, 51, 13, 0, 10, 6, 1, 7, 8, 6, 9,
+  9, 6, 7, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 18, 24, 24, 17, 10, 30, 20, 12, 23, 49, 82, 107, 118, 127, 135,
+  140, 139, 137, 140, 144, 146, 145, 145, 147, 146, 144, 141, 138, 136, 126, 122,
+  118, 117, 119, 123, 128, 131, 155, 147, 139, 133, 118, 104, 108, 121, 131, 124,
+  87, 94, 115, 105, 101, 97, 104, 105, 105, 105, 103, 100, 96, 95, 90, 91,
+  92, 94, 95, 93, 88, 87, 85, 83, 109, 203, 197, 97, 93, 88, 102, 124,
+  132, 128, 132, 140, 147, 157, 156, 165, 195, 204, 181, 168, 173, 166, 148, 144,
+  137, 130, 125, 119, 114, 111, 103, 101, 100, 101, 97, 93, 92, 97, 98, 97,
+  93, 89, 85, 83, 82, 82, 82, 80, 72, 65, 68, 75, 66, 51, 25, 2,
+  4, 13, 0, 0, 12, 7, 7, 8, 5, 3, 5, 11, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 9, 8, 10, 21, 31, 41, 23,
+  17, 38, 74, 104, 119, 125, 134, 138, 137, 132, 131, 134, 137, 136, 134, 135,
+  133, 132, 129, 127, 124, 123, 111, 110, 111, 113, 115, 119, 121, 122, 136, 136,
+  140, 141, 136, 127, 123, 127, 128, 142, 97, 101, 119, 95, 98, 101, 104, 106,
+  108, 109, 107, 102, 98, 96, 86, 86, 86, 86, 88, 90, 90, 90, 82, 85,
+  94, 121, 200, 222, 118, 130, 102, 124, 135, 134, 137, 141, 149, 165, 174, 192,
+  219, 224, 205, 190, 184, 178, 168, 153, 137, 126, 119, 119, 129, 142, 128, 124,
+  121, 122, 117, 109, 104, 104, 97, 96, 93, 91, 87, 84, 79, 79, 98, 83,
+  69, 72, 84, 81, 51, 21, 37, 17, 9, 7, 0, 7, 17, 3, 4, 5,
+  3, 1, 5, 10, 92, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 11, 10, 14, 36, 59, 42, 22, 21, 55, 95, 116, 122, 126, 138, 137,
+  132, 126, 124, 125, 123, 117, 119, 118, 117, 116, 116, 117, 117, 117, 105, 106,
+  108, 111, 113, 116, 116, 116, 110, 119, 131, 139, 143, 139, 125, 114, 139, 117,
+  92, 103, 112, 98, 97, 107, 110, 114, 119, 122, 121, 115, 108, 104, 97, 93,
+  88, 83, 82, 83, 84, 85, 95, 58, 93, 103, 107, 215, 226, 159, 137, 142,
+  141, 142, 148, 147, 151, 165, 194, 224, 243, 238, 223, 198, 173, 163, 156, 149,
+  144, 145, 147, 145, 135, 126, 139, 133, 128, 128, 125, 118, 111, 109, 108, 106,
+  102, 97, 90, 84, 80, 77, 71, 85, 96, 85, 51, 28, 43, 74, 60, 39,
+  20, 8, 2, 9, 12, 2, 3, 4, 5, 6, 10, 14, 10, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 14, 13, 17, 36, 59, 35, 17,
+  22, 63, 103, 118, 120, 126, 125, 125, 120, 118, 120, 122, 118, 110, 109, 108,
+  107, 108, 111, 114, 117, 118, 106, 104, 102, 102, 103, 107, 111, 113, 125, 127,
+  124, 120, 122, 123, 111, 95, 157, 79, 76, 96, 99, 107, 98, 109, 120, 125,
+  131, 135, 133, 128, 118, 114, 117, 111, 99, 88, 82, 80, 80, 81, 87, 88,
+  85, 89, 68, 90, 179, 226, 194, 173, 143, 133, 140, 143, 152, 172, 195, 235,
+  246, 237, 224, 193, 155, 141, 142, 144, 139, 129, 128, 138, 142, 138, 134, 125,
+  119, 121, 124, 121, 117, 115, 111, 110, 107, 102, 99, 95, 93, 92, 84, 84,
+  60, 31, 37, 72, 85, 72, 66, 52, 32, 16, 6, 2, 3, 3, 4, 7,
+  9, 13, 19, 21, 13, 88, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  175, 14, 14, 20, 31, 39, 12, 17, 57, 84, 99, 119, 119, 124, 118, 122,
+  120, 111, 102, 102, 103, 101, 108, 98, 100, 120, 134, 133, 123, 116, 96, 95,
+  95, 93, 94, 97, 104, 108, 115, 116, 132, 131, 117, 132, 136, 108, 150, 83,
+  79, 96, 105, 113, 104, 111, 128, 130, 136, 139, 138, 135, 128, 126, 128, 124,
+  117, 111, 105, 97, 87, 80, 78, 80, 83, 85, 84, 89, 104, 120, 188, 218,
+  199, 165, 170, 174, 169, 180, 208, 232, 246, 229, 191, 158, 143, 137, 134, 128,
+  124, 121, 120, 122, 123, 122, 121, 118, 117, 119, 122, 121, 115, 109, 108, 110,
+  111, 107, 99, 90, 82, 77, 32, 42, 57, 74, 84, 84, 78, 72, 66, 61,
+  52, 41, 30, 20, 13, 9, 13, 8, 7, 19, 27, 24, 15, 8, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 18, 17, 16, 18, 22, 25, 23, 31,
+  72, 98, 109, 123, 122, 127, 124, 115, 106, 102, 99, 94, 90, 91, 98, 110,
+  126, 125, 105, 93, 86, 74, 39, 37, 44, 69, 102, 125, 130, 123, 117, 124,
+  123, 123, 129, 132, 132, 135, 159, 101, 89, 91, 91, 104, 111, 128, 132, 134,
+  140, 144, 145, 141, 137, 135, 130, 126, 121, 115, 110, 101, 91, 83, 73, 74,
+  78, 84, 88, 92, 98, 106, 79, 143, 183, 195, 201, 189, 193, 227, 229, 215,
+  194, 176, 168, 161, 146, 129, 125, 121, 118, 117, 117, 117, 117, 117, 132, 125,
+  118, 113, 114, 113, 110, 107, 111, 110, 102, 89, 69, 51, 37, 30, 63, 66,
+  72, 80, 86, 87, 83, 81, 80, 81, 79, 75, 64, 50, 35, 26, 12, 10,
+  16, 29, 37, 29, 13, 3, 89, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  19, 21, 20, 19, 16, 14, 21, 33, 81, 110, 116, 124, 120, 127, 126, 112,
+  99, 96, 93, 90, 94, 105, 113, 109, 110, 88, 52, 43, 38, 15, 51, 57,
+  74, 110, 157, 189, 187, 172, 157, 174, 165, 152, 150, 124, 111, 140, 118, 93,
+  96, 99, 99, 110, 117, 131, 136, 140, 144, 149, 150, 149, 146, 144, 137, 133,
+  130, 126, 121, 112, 101, 93, 80, 74, 72, 77, 84, 89, 93, 100, 88, 85,
+  87, 133, 197, 215, 213, 229, 229, 223, 208, 182, 160, 147, 141, 136, 149, 144,
+  137, 130, 124, 120, 114, 111, 113, 114, 118, 124, 129, 127, 120, 114, 99, 79,
+  49, 26, 22, 41, 71, 93, 95, 93, 89, 90, 91, 94, 94, 94, 99, 101,
+  102, 100, 90, 75, 59, 47, 24, 22, 25, 33, 36, 25, 10, 0, 4, 86,
+  255, 255, 255, 255, 255, 255, 255, 255, 17, 21, 22, 21, 18, 14, 10, 27,
+  85, 119, 126, 130, 122, 127, 114, 106, 96, 90, 89, 94, 107, 122, 106, 87,
+  75, 55, 29, 43, 69, 67, 46, 52, 63, 87, 130, 174, 193, 191, 183, 174,
+  147, 131, 136, 135, 143, 168, 89, 90, 99, 108, 112, 120, 124, 129, 141, 143,
+  148, 151, 153, 152, 150, 149, 144, 141, 139, 137, 132, 125, 114, 106, 99, 87,
+  74, 69, 71, 78, 91, 101, 91, 99, 100, 107, 118, 128, 167, 223, 216, 195,
+  166, 146, 143, 145, 140, 129, 137, 135, 131, 131, 129, 126, 123, 120, 122, 120,
+  117, 109, 98, 79, 59, 46, 27, 42, 62, 83, 95, 104, 107, 108, 109, 106,
+  101, 100, 100, 102, 103, 102, 103, 100, 95, 90, 83, 73, 63, 56, 44, 35,
+  28, 25, 22, 13, 5, 2, 1, 2, 255, 255, 255, 255, 255, 255, 255, 255,
+  14, 15, 17, 17, 17, 15, 9, 26, 87, 128, 138, 139, 125, 128, 99, 95,
+  87, 83, 91, 101, 102, 96, 73, 61, 65, 63, 49, 66, 123, 165, 103, 99,
+  89, 91, 127, 181, 211, 215, 204, 165, 136, 124, 122, 133, 125, 92, 116, 117,
+  105, 104, 112, 122, 135, 139, 144, 146, 149, 152, 152, 153, 151, 150, 148, 147,
+  144, 142, 140, 133, 124, 116, 112, 101, 84, 73, 66, 68, 80, 93, 110, 101,
+  92, 98, 117, 125, 121, 120, 74, 112, 146, 152, 131, 107, 95, 91, 94, 93,
+  89, 86, 85, 82, 77, 75, 76, 61, 44, 33, 41, 61, 86, 101, 122, 120,
+  117, 111, 105, 100, 99, 99, 111, 109, 108, 107, 107, 105, 101, 99, 94, 89,
+  80, 74, 71, 65, 58, 52, 51, 40, 27, 19, 11, 4, 1, 3, 4, 8,
+  93, 255, 255, 255, 255, 255, 255, 255, 12, 10, 9, 11, 14, 16, 13, 22,
+  78, 123, 137, 136, 119, 119, 100, 87, 78, 85, 100, 102, 82, 63, 82, 69,
+  61, 64, 61, 58, 82, 120, 116, 116, 113, 123, 166, 216, 229, 214, 182, 157,
+  152, 143, 125, 134, 134, 99, 123, 127, 104, 104, 120, 127, 141, 145, 148, 149,
+  152, 154, 155, 156, 155, 154, 153, 149, 146, 146, 144, 140, 132, 126, 118, 110,
+  101, 91, 78, 70, 71, 78, 88, 98, 105, 104, 107, 115, 116, 109, 121, 109,
+  94, 93, 102, 110, 99, 84, 104, 102, 98, 95, 94, 92, 90, 87, 78, 90,
+  106, 120, 126, 123, 113, 106, 107, 109, 114, 118, 122, 124, 128, 131, 111, 112,
+  111, 111, 108, 104, 96, 94, 93, 89, 83, 81, 79, 74, 64, 57, 47, 39,
+  30, 24, 15, 5, 0, 3, 3, 9, 14, 13, 255, 255, 255, 255, 255, 255,
+  13, 11, 8, 11, 19, 24, 14, 12, 58, 103, 123, 126, 109, 107, 102, 82,
+  76, 90, 92, 77, 68, 75, 122, 107, 69, 56, 67, 52, 37, 54, 81, 103,
+  124, 147, 196, 245, 251, 235, 229, 202, 171, 140, 115, 107, 116, 120, 102, 115,
+  97, 111, 134, 133, 143, 146, 153, 155, 157, 160, 162, 163, 164, 164, 161, 157,
+  153, 151, 151, 148, 142, 138, 131, 124, 116, 110, 99, 84, 74, 69, 79, 90,
+  101, 100, 94, 107, 126, 130, 135, 138, 136, 125, 114, 110, 108, 108, 90, 90,
+  90, 94, 101, 107, 111, 112, 111, 108, 105, 102, 102, 107, 113, 117, 121, 120,
+  121, 119, 115, 114, 114, 116, 116, 115, 112, 111, 107, 104, 97, 95, 98, 94,
+  88, 86, 87, 83, 73, 66, 54, 48, 40, 32, 20, 8, 2, 5, 4, 7,
+  8, 8, 90, 255, 255, 255, 255, 255, 16, 16, 14, 19, 28, 35, 18, 6,
+  45, 89, 114, 124, 108, 106, 93, 74, 75, 89, 71, 40, 61, 111, 129, 135,
+  95, 66, 81, 76, 69, 97, 107, 134, 149, 151, 174, 218, 242, 238, 193, 170,
+  136, 139, 159, 135, 99, 98, 98, 113, 93, 111, 136, 131, 145, 153, 157, 159,
+  162, 165, 168, 172, 174, 176, 171, 166, 162, 160, 158, 157, 152, 148, 148, 136,
+  124, 120, 113, 99, 83, 74, 69, 77, 100, 114, 108, 108, 115, 114, 121, 127,
+  132, 131, 131, 131, 129, 128, 134, 129, 123, 118, 115, 113, 112, 111, 116, 117,
+  120, 123, 122, 124, 125, 125, 119, 121, 125, 126, 123, 120, 117, 117, 118, 116,
+  111, 108, 107, 105, 103, 104, 97, 90, 80, 76, 76, 77, 71, 67, 67, 59,
+  47, 35, 20, 7, 3, 7, 10, 7, 4, 5, 9, 255, 255, 255, 255, 255,
+  24, 14, 10, 19, 29, 29, 22, 4, 24, 74, 100, 103, 104, 109, 94, 82,
+  63, 47, 43, 56, 86, 111, 125, 133, 126, 106, 92, 98, 110, 116, 150, 149,
+  152, 151, 151, 172, 192, 191, 162, 144, 124, 114, 113, 110, 97, 84, 101, 96,
+  100, 117, 136, 148, 154, 156, 159, 164, 171, 174, 175, 176, 176, 176, 175, 179,
+  180, 176, 170, 165, 159, 153, 147, 149, 142, 132, 122, 114, 99, 85, 71, 73,
+  86, 106, 119, 120, 117, 117, 127, 131, 133, 129, 128, 130, 130, 128, 132, 133,
+  133, 132, 130, 128, 124, 122, 125, 127, 128, 128, 123, 122, 123, 125, 128, 128,
+  129, 128, 125, 121, 117, 115, 120, 117, 113, 111, 111, 110, 108, 108, 105, 100,
+  91, 84, 78, 72, 69, 67, 62, 53, 37, 23, 16, 12, 7, 0, 0, 6,
+  19, 16, 2, 86, 255, 255, 255, 255, 19, 17, 20, 24, 22, 16, 23, 13,
+  19, 52, 83, 92, 95, 106, 86, 68, 46, 37, 42, 60, 83, 101, 108, 116,
+  115, 102, 97, 109, 122, 127, 136, 122, 128, 143, 144, 148, 166, 179, 112, 136,
+  151, 134, 96, 76, 89, 110, 105, 100, 105, 121, 141, 153, 158, 160, 166, 171,
+  177, 180, 183, 184, 185, 187, 183, 188, 189, 184, 178, 172, 164, 156, 158, 156,
+  149, 137, 129, 122, 110, 99, 88, 81, 80, 88, 98, 106, 116, 124, 124, 129,
+  132, 131, 132, 136, 133, 128, 132, 134, 133, 134, 132, 130, 127, 127, 123, 126,
+  127, 128, 125, 125, 126, 130, 128, 129, 130, 131, 130, 130, 129, 128, 123, 120,
+  116, 113, 112, 111, 108, 108, 107, 103, 95, 87, 80, 74, 69, 67, 61, 55,
+  40, 26, 15, 10, 6, 2, 0, 4, 11, 13, 9, 3, 85, 255, 255, 255,
+  16, 18, 20, 19, 20, 21, 33, 33, 22, 33, 68, 84, 87, 102, 80, 58,
+  38, 36, 48, 65, 81, 90, 82, 92, 94, 92, 95, 109, 119, 123, 140, 148,
+  147, 132, 126, 144, 144, 117, 231, 181, 119, 91, 95, 109, 110, 100, 109, 104,
+  108, 125, 143, 155, 161, 164, 174, 179, 183, 189, 192, 196, 202, 204, 202, 206,
+  207, 202, 194, 186, 177, 166, 164, 161, 151, 138, 130, 125, 118, 111, 104, 94,
+  83, 80, 85, 95, 109, 121, 129, 131, 134, 134, 133, 137, 136, 133, 134, 135,
+  135, 135, 134, 133, 131, 129, 126, 128, 129, 130, 129, 129, 131, 132, 125, 126,
+  126, 126, 127, 128, 128, 129, 126, 124, 119, 116, 115, 112, 109, 107, 109, 106,
+  100, 93, 86, 79, 72, 68, 67, 63, 51, 37, 22, 13, 10, 11, 1, 4,
+  4, 17, 29, 9, 0, 255, 255, 255, 10, 16, 18, 14, 20, 28, 33, 46,
+  27, 21, 58, 81, 80, 93, 79, 65, 54, 53, 60, 68, 78, 86, 91, 98,
+  103, 105, 113, 123, 128, 127, 139, 129, 141, 148, 115, 90, 119, 163, 85, 96,
+  108, 110, 102, 100, 107, 114, 108, 103, 107, 125, 145, 158, 164, 168, 180, 184,
+  191, 198, 205, 211, 218, 223, 222, 226, 224, 218, 210, 200, 187, 175, 165, 157,
+  144, 132, 123, 118, 116, 115, 109, 104, 98, 95, 94, 97, 101, 105, 127, 132,
+  135, 135, 132, 132, 133, 134, 133, 135, 134, 134, 132, 131, 127, 127, 126, 128,
+  128, 129, 128, 129, 129, 130, 127, 126, 124, 122, 120, 120, 121, 120, 125, 123,
+  119, 117, 115, 114, 110, 108, 111, 109, 104, 98, 91, 84, 75, 70, 69, 66,
+  60, 44, 24, 11, 11, 17, 5, 9, 8, 34, 61, 31, 0, 255, 255, 255,
+  3, 9, 16, 15, 15, 16, 14, 35, 21, 12, 50, 76, 75, 82, 73, 74,
+  77, 77, 72, 71, 80, 92, 102, 108, 114, 120, 127, 132, 133, 132, 126, 126,
+  114, 88, 82, 112, 135, 127, 120, 111, 101, 97, 102, 111, 118, 121, 106, 102,
+  106, 125, 146, 161, 169, 174, 185, 191, 200, 210, 218, 226, 233, 238, 236, 237,
+  234, 226, 217, 207, 192, 179, 168, 157, 140, 126, 115, 110, 111, 115, 110, 113,
+  115, 114, 109, 104, 97, 93, 104, 115, 129, 138, 136, 133, 133, 136, 136, 136,
+  136, 135, 133, 130, 127, 125, 123, 123, 123, 125, 127, 128, 129, 129, 131, 131,
+  128, 126, 123, 122, 121, 121, 122, 120, 119, 117, 116, 115, 111, 110, 112, 110,
+  106, 101, 95, 86, 79, 74, 66, 63, 57, 43, 20, 3, 3, 12, 8, 14,
+  17, 48, 85, 58, 8, 86, 255, 255, 16, 4, 9, 15, 12, 7, 1, 21,
+  16, 13, 47, 78, 81, 80, 69, 78, 89, 91, 83, 78, 87, 100, 100, 107,
+  115, 121, 125, 125, 123, 122, 127, 79, 68, 103, 121, 113, 101, 96, 99, 99,
+  100, 107, 113, 118, 122, 122, 107, 104, 109, 129, 151, 166, 174, 179, 188, 196,
+  209, 219, 227, 233, 238, 240, 241, 240, 235, 226, 220, 212, 198, 185, 172, 158,
+  140, 123, 110, 103, 106, 114, 111, 119, 124, 122, 117, 113, 107, 100, 81, 92,
+  111, 132, 140, 141, 139, 139, 142, 142, 141, 141, 138, 136, 132, 131, 121, 121,
+  121, 125, 128, 132, 132, 132, 129, 129, 128, 127, 126, 125, 124, 124, 121, 120,
+  119, 118, 117, 115, 112, 111, 112, 109, 105, 101, 95, 88, 82, 77, 68, 64,
+  58, 45, 22, 2, 1, 10, 2, 7, 12, 44, 85, 74, 23, 0, 255, 255,
+  54, 35, 22, 19, 17, 13, 7, 18, 19, 21, 44, 79, 90, 83, 78, 81,
+  89, 94, 92, 90, 95, 105, 111, 115, 121, 123, 118, 110, 103, 101, 54, 80,
+  114, 123, 111, 110, 117, 116, 119, 114, 110, 115, 126, 130, 122, 113, 109, 105,
+  110, 129, 150, 164, 172, 177, 186, 195, 209, 220, 226, 227, 228, 228, 229, 226,
+  221, 215, 211, 207, 196, 185, 171, 156, 136, 119, 102, 93, 96, 105, 113, 124,
+  130, 131, 129, 127, 123, 118, 94, 87, 90, 109, 129, 140, 142, 142, 144, 144,
+  144, 146, 144, 143, 140, 140, 130, 129, 127, 130, 132, 134, 132, 132, 126, 128,
+  128, 128, 127, 126, 125, 125, 124, 123, 121, 120, 120, 117, 112, 111, 110, 108,
+  104, 100, 95, 90, 84, 81, 74, 67, 61, 49, 28, 6, 4, 13, 0, 3,
+  7, 30, 72, 88, 46, 0, 255, 255, 84, 84, 56, 33, 22, 19, 19, 19,
+  21, 23, 38, 73, 91, 82, 92, 87, 86, 92, 98, 100, 102, 104, 107, 109,
+  111, 108, 94, 77, 65, 61, 106, 94, 104, 118, 109, 100, 110, 121, 121, 122,
+  123, 126, 128, 125, 121, 118, 108, 105, 110, 127, 147, 161, 167, 172, 181, 191,
+  204, 215, 218, 217, 213, 211, 207, 205, 199, 195, 194, 192, 185, 174, 167, 150,
+  130, 112, 95, 84, 87, 96, 111, 125, 137, 139, 140, 141, 137, 130, 125, 98,
+  76, 85, 111, 132, 141, 143, 143, 143, 145, 147, 148, 147, 146, 146, 143, 140,
+  136, 135, 136, 135, 131, 129, 129, 131, 133, 133, 131, 129, 126, 126, 128, 127,
+  124, 123, 121, 117, 112, 109, 110, 108, 103, 99, 95, 90, 84, 82, 73, 66,
+  59, 48, 26, 5, 2, 9, 8, 7, 10, 27, 69, 104, 72, 6, 85, 255,
+  176, 14, 48, 70, 75, 74, 68, 67, 56, 57, 78, 93, 100, 107, 91, 92,
+  95, 98, 99, 97, 94, 90, 73, 70, 68, 70, 77, 91, 104, 113, 127, 123,
+  118, 114, 115, 118, 122, 125, 128, 118, 122, 127, 123, 124, 126, 120, 114, 110,
+  113, 126, 135, 140, 151, 162, 171, 177, 184, 190, 198, 204, 204, 201, 191, 188,
+  185, 186, 188, 186, 179, 172, 163, 146, 128, 99, 57, 36, 43, 53, 80, 108,
+  136, 148, 153, 156, 150, 138, 129, 123, 98, 77, 71, 111, 154, 136, 141, 144,
+  146, 145, 142, 140, 141, 143, 147, 144, 141, 140, 138, 137, 134, 131, 132, 132,
+  132, 131, 130, 130, 130, 131, 130, 128, 123, 122, 121, 119, 114, 111, 112, 109,
+  104, 99, 96, 92, 88, 85, 77, 69, 59, 47, 28, 8, 0, 0, 6, 2,
+  6, 37, 65, 87, 81, 23, 0, 255, 255, 4, 1, 19, 23, 29, 61, 71,
+  73, 77, 94, 100, 96, 98, 104, 99, 92, 84, 77, 69, 60, 55, 69, 75,
+  86, 98, 109, 118, 125, 127, 124, 122, 121, 122, 123, 124, 124, 124, 124, 120,
+  128, 132, 125, 124, 126, 121, 112, 111, 113, 123, 127, 130, 138, 148, 149, 160,
+  173, 184, 190, 191, 190, 188, 188, 185, 184, 182, 181, 178, 173, 169, 159, 147,
+  109, 56, 12, 0, 2, 14, 38, 71, 107, 129, 142, 151, 150, 143, 137, 130,
+  107, 85, 70, 100, 146, 138, 145, 146, 147, 145, 142, 139, 140, 141, 144, 142,
+  139, 138, 138, 137, 134, 132, 133, 134, 133, 132, 131, 131, 131, 131, 131, 127,
+  122, 119, 120, 120, 117, 116, 112, 109, 104, 99, 96, 92, 88, 85, 79, 72,
+  61, 48, 28, 9, 0, 0, 1, 3, 8, 36, 60, 87, 86, 34, 0, 255,
+  255, 25, 0, 0, 1, 5, 6, 28, 40, 46, 55, 55, 46, 46, 41, 43,
+  47, 55, 66, 76, 84, 87, 97, 104, 115, 125, 131, 132, 130, 126, 126, 126,
+  128, 130, 129, 127, 124, 120, 122, 124, 135, 138, 128, 125, 127, 122, 109, 111,
+  115, 119, 118, 119, 123, 128, 138, 144, 154, 165, 170, 175, 177, 177, 179, 178,
+  177, 176, 173, 171, 168, 167, 148, 141, 88, 24, 0, 0, 14, 37, 46, 75,
+  108, 132, 148, 160, 161, 154, 144, 136, 116, 95, 69, 86, 137, 144, 149, 148,
+  148, 146, 142, 139, 139, 140, 140, 138, 137, 137, 138, 138, 136, 135, 134, 135,
+  134, 133, 132, 132, 132, 131, 130, 126, 122, 119, 118, 119, 119, 119, 111, 108,
+  103, 99, 95, 91, 87, 85, 81, 76, 64, 49, 28, 10, 2, 1, 0, 1,
+  8, 32, 57, 88, 96, 46, 0, 255, 255, 35, 12, 2, 17, 12, 27, 56,
+  73, 77, 82, 81, 78, 83, 101, 100, 100, 103, 109, 114, 117, 119, 131, 131,
+  131, 130, 129, 128, 126, 125, 135, 134, 133, 131, 128, 125, 122, 120, 128, 127,
+  135, 136, 129, 129, 129, 121, 107, 115, 121, 120, 117, 114, 114, 114, 128, 129,
+  137, 152, 165, 171, 172, 172, 170, 166, 164, 165, 167, 168, 166, 163, 147, 129,
+  63, 10, 5, 8, 21, 54, 76, 90, 106, 122, 140, 154, 156, 151, 146, 138,
+  121, 103, 68, 74, 131, 152, 153, 151, 150, 147, 144, 141, 140, 140, 138, 137,
+  136, 137, 139, 140, 139, 139, 135, 137, 136, 134, 134, 133, 132, 133, 129, 127,
+  124, 122, 119, 119, 117, 118, 109, 106, 101, 97, 94, 91, 87, 84, 82, 77,
+  65, 47, 27, 10, 2, 0, 0, 0, 6, 28, 55, 92, 103, 56, 2, 255,
+  255, 14, 11, 0, 25, 16, 32, 68, 92, 96, 100, 102, 103, 110, 95, 97,
+  103, 113, 124, 132, 138, 140, 134, 132, 127, 125, 125, 129, 132, 135, 141, 136,
+  131, 126, 123, 123, 125, 127, 135, 129, 131, 130, 128, 133, 132, 118, 107, 120,
+  128, 125, 122, 120, 114, 106, 97, 90, 98, 120, 147, 161, 166, 167, 166, 161,
+  157, 160, 166, 167, 163, 156, 137, 104, 45, 23, 40, 39, 46, 85, 108, 103,
+  101, 112, 135, 156, 161, 156, 147, 139, 125, 109, 69, 70, 126, 152, 156, 153,
+  150, 148, 146, 145, 143, 143, 141, 139, 139, 140, 142, 143, 142, 141, 138, 138,
+  137, 135, 135, 134, 133, 133, 129, 129, 128, 126, 122, 118, 113, 112, 107, 105,
+  101, 97, 93, 90, 86, 84, 81, 78, 64, 44, 24, 10, 3, 0, 0, 0,
+  3, 29, 56, 93, 105, 62, 5, 85, 255, 15, 21, 1, 23, 10, 33, 78,
+  110, 117, 121, 122, 120, 126, 125, 126, 126, 130, 133, 132, 130, 127, 127, 127,
+  126, 126, 129, 132, 135, 136, 136, 133, 126, 122, 123, 126, 132, 135, 136, 129,
+  129, 127, 128, 137, 134, 116, 109, 126, 135, 134, 132, 129, 116, 99, 59, 41,
+  34, 53, 87, 118, 144, 159, 165, 160, 157, 159, 163, 162, 156, 149, 127, 89,
+  52, 59, 85, 80, 81, 111, 131, 119, 111, 120, 144, 163, 168, 163, 152, 140,
+  125, 110, 73, 72, 125, 146, 155, 151, 147, 145, 145, 146, 145, 144, 143, 141,
+  140, 141, 143, 143, 142, 141, 140, 139, 138, 137, 136, 135, 134, 134, 128, 131,
+  131, 129, 124, 116, 111, 110, 109, 105, 101, 97, 94, 92, 88, 86, 80, 78,
+  64, 43, 22, 11, 4, 0, 0, 0, 6, 39, 61, 87, 101, 69, 6, 0,
+  255, 29, 26, 21, 14, 11, 35, 81, 114, 121, 124, 125, 123, 126, 123, 122,
+  122, 125, 128, 128, 126, 123, 125, 126, 126, 128, 129, 129, 129, 129, 129, 128,
+  127, 126, 127, 130, 132, 135, 133, 131, 133, 131, 130, 138, 136, 118, 112, 129,
+  140, 139, 139, 138, 117, 92, 41, 28, 24, 41, 67, 92, 119, 139, 154, 156,
+  159, 160, 157, 153, 148, 146, 133, 100, 80, 89, 96, 83, 74, 81, 113, 109,
+  110, 126, 146, 158, 158, 153, 152, 139, 122, 108, 79, 83, 130, 143, 150, 145,
+  142, 141, 143, 145, 145, 144, 144, 143, 141, 141, 141, 141, 140, 139, 142, 141,
+  140, 139, 137, 136, 135, 134, 128, 130, 130, 127, 122, 116, 113, 113, 111, 109,
+  105, 101, 98, 95, 91, 89, 79, 78, 66, 44, 23, 14, 8, 2, 1, 0,
+  16, 54, 66, 77, 96, 77, 8, 0, 255, 20, 0, 19, 2, 17, 34, 78,
+  106, 107, 110, 113, 116, 120, 119, 117, 117, 119, 120, 122, 119, 118, 124, 123,
+  123, 123, 125, 126, 129, 130, 126, 127, 130, 132, 132, 131, 130, 129, 127, 131,
+  139, 136, 131, 136, 135, 119, 114, 131, 142, 142, 143, 141, 116, 85, 37, 46,
+  69, 99, 113, 109, 108, 112, 137, 147, 157, 157, 149, 143, 142, 146, 124, 104,
+  101, 110, 109, 100, 92, 82, 88, 95, 113, 137, 158, 166, 165, 162, 149, 135,
+  117, 107, 85, 94, 140, 145, 146, 140, 136, 138, 140, 144, 144, 144, 145, 143,
+  141, 140, 140, 140, 138, 136, 142, 142, 140, 139, 137, 136, 135, 135, 127, 129,
+  128, 125, 119, 115, 115, 118, 114, 111, 107, 104, 102, 98, 94, 92, 79, 78,
+  66, 42, 24, 15, 10, 4, 1, 4, 25, 64, 67, 69, 90, 83, 8, 0,
+  255, 15, 20, 24, 22, 18, 26, 63, 89, 97, 104, 104, 102, 106, 109, 113,
+  116, 118, 119, 122, 126, 130, 127, 124, 122, 122, 124, 126, 128, 129, 129, 132,
+  134, 133, 129, 128, 129, 133, 137, 138, 139, 140, 139, 136, 133, 132, 111, 124,
+  137, 144, 148, 144, 122, 98, 57, 80, 99, 113, 130, 144, 133, 110, 113, 124,
+  136, 142, 145, 144, 138, 129, 122, 119, 116, 111, 106, 103, 101, 102, 84, 84,
+  95, 123, 155, 169, 165, 157, 141, 145, 123, 89, 87, 120, 145, 145, 150, 139,
+  131, 132, 137, 145, 146, 144, 145, 143, 143, 143, 144, 143, 140, 137, 137, 138,
+  137, 137, 135, 134, 133, 133, 124, 127, 127, 125, 120, 115, 114, 116, 117, 113,
+  108, 104, 99, 93, 88, 83, 76, 71, 62, 47, 28, 16, 9, 6, 2, 6,
+  18, 65, 93, 50, 83, 83, 16, 0, 255, 13, 19, 24, 22, 18, 22, 59,
+  86, 94, 99, 100, 100, 106, 113, 116, 118, 120, 120, 122, 125, 128, 127, 125,
+  123, 123, 125, 128, 130, 131, 129, 130, 131, 130, 129, 130, 132, 134, 139, 139,
+  140, 140, 140, 139, 138, 138, 118, 126, 135, 143, 149, 147, 135, 122, 88, 101,
+  115, 123, 135, 142, 132, 114, 110, 118, 127, 133, 137, 139, 136, 130, 129, 126,
+  121, 116, 112, 111, 112, 113, 106, 107, 114, 131, 147, 155, 154, 151, 139, 135,
+  114, 90, 95, 123, 140, 137, 143, 135, 130, 130, 135, 141, 145, 145, 147, 145,
+  143, 143, 143, 142, 140, 139, 137, 138, 137, 136, 134, 133, 131, 132, 128, 131,
+  131, 127, 121, 116, 113, 114, 114, 111, 106, 102, 98, 92, 85, 81, 69, 66,
+  56, 42, 27, 16, 10, 6, 0, 6, 25, 77, 96, 44, 74, 84, 16, 0,
+  255, 9, 16, 21, 20, 17, 16, 55, 84, 91, 95, 95, 97, 106, 117, 119,
+  120, 122, 122, 124, 125, 127, 127, 127, 126, 127, 128, 131, 134, 135, 132, 130,
+  128, 128, 131, 134, 136, 136, 141, 141, 141, 141, 142, 142, 143, 145, 126, 126,
+  131, 145, 154, 154, 148, 146, 122, 119, 118, 119, 121, 120, 115, 110, 115, 121,
+  125, 129, 134, 140, 142, 139, 140, 136, 129, 124, 121, 122, 125, 127, 128, 130,
+  132, 134, 135, 137, 139, 140, 132, 122, 104, 95, 106, 126, 133, 127, 132, 129,
+  129, 130, 133, 137, 141, 144, 148, 146, 145, 143, 143, 143, 141, 139, 137, 137,
+  135, 134, 132, 131, 130, 131, 130, 132, 132, 129, 124, 118, 115, 115, 113, 110,
+  105, 99, 95, 90, 83, 79, 65, 62, 54, 43, 30, 19, 12, 9, 2, 2,
+  20, 77, 98, 53, 70, 78, 23, 0, 255, 7, 12, 15, 15, 13, 14, 53,
+  83, 90, 91, 92, 97, 109, 117, 120, 121, 124, 125, 126, 126, 128, 127, 128,
+  129, 130, 131, 134, 137, 138, 136, 132, 128, 129, 134, 138, 140, 140, 145, 144,
+  142, 141, 141, 142, 144, 147, 135, 126, 127, 144, 159, 158, 154, 153, 146, 132,
+  118, 113, 107, 100, 102, 109, 124, 128, 128, 128, 133, 142, 146, 146, 146, 144,
+  139, 136, 134, 135, 137, 138, 135, 138, 135, 130, 126, 125, 126, 126, 122, 112,
+  102, 102, 113, 123, 124, 120, 119, 120, 124, 126, 127, 130, 135, 140, 146, 145,
+  146, 147, 148, 146, 142, 138, 137, 136, 134, 133, 131, 130, 129, 129, 125, 128,
+  128, 128, 126, 122, 119, 118, 112, 109, 104, 99, 94, 88, 81, 77, 65, 62,
+  55, 45, 34, 25, 16, 12, 10, 0, 3, 55, 89, 73, 75, 68, 37, 4,
+  255, 6, 8, 10, 10, 9, 15, 55, 83, 88, 90, 92, 98, 110, 115, 118,
+  119, 123, 127, 128, 128, 128, 127, 130, 131, 132, 133, 134, 138, 140, 138, 134,
+  131, 132, 137, 142, 144, 144, 148, 146, 143, 141, 140, 141, 142, 145, 151, 134,
+  124, 134, 147, 152, 152, 154, 160, 148, 138, 135, 125, 113, 113, 121, 132, 134,
+  133, 130, 134, 143, 149, 150, 153, 152, 151, 150, 150, 149, 148, 148, 141, 141,
+  135, 127, 123, 123, 119, 112, 111, 108, 108, 111, 116, 118, 119, 118, 110, 114,
+  118, 121, 120, 122, 128, 134, 140, 142, 146, 151, 152, 149, 143, 139, 137, 135,
+  132, 130, 129, 127, 127, 128, 124, 124, 125, 126, 124, 121, 118, 115, 112, 109,
+  103, 98, 93, 88, 81, 76, 67, 64, 56, 47, 38, 28, 18, 11, 7, 0,
+  0, 36, 68, 81, 80, 71, 52, 11, 255, 6, 7, 7, 7, 7, 19, 56,
+  83, 88, 91, 94, 99, 111, 114, 116, 117, 122, 126, 128, 127, 126, 127, 130,
+  133, 133, 132, 133, 136, 139, 138, 136, 134, 135, 138, 142, 144, 145, 149, 147,
+  144, 141, 140, 140, 141, 143, 165, 147, 127, 120, 126, 135, 145, 151, 157, 157,
+  160, 161, 153, 138, 130, 132, 145, 146, 146, 144, 147, 155, 160, 160, 163, 164,
+  165, 166, 165, 164, 161, 160, 153, 151, 143, 131, 128, 128, 118, 106, 108, 112,
+  117, 116, 115, 115, 117, 117, 109, 111, 114, 116, 115, 117, 122, 127, 133, 136,
+  141, 148, 151, 150, 144, 139, 136, 135, 132, 129, 127, 126, 126, 126, 126, 126,
+  126, 126, 124, 119, 114, 109, 110, 108, 102, 98, 92, 86, 80, 75, 64, 61,
+  54, 47, 40, 29, 20, 12, 0, 2, 9, 42, 56, 72, 71, 76, 62, 14,
+  255, 6, 7, 7, 9, 9, 24, 57, 80, 86, 91, 96, 100, 109, 114, 115,
+  116, 121, 125, 126, 123, 121, 126, 130, 133, 133, 131, 130, 134, 137, 135, 136,
+  137, 137, 137, 139, 142, 144, 147, 146, 144, 143, 142, 142, 143, 145, 163, 158,
+  141, 122, 114, 121, 134, 143, 144, 150, 159, 161, 154, 144, 139, 141, 153, 157,
+  160, 160, 164, 171, 174, 172, 173, 173, 172, 171, 170, 169, 169, 169, 163, 163,
+  152, 137, 131, 132, 124, 113, 112, 119, 123, 117, 114, 117, 118, 115, 111, 112,
+  112, 112, 112, 116, 119, 121, 126, 128, 133, 139, 144, 146, 144, 143, 137, 136,
+  132, 128, 126, 125, 125, 126, 125, 125, 125, 125, 125, 120, 113, 108, 109, 107,
+  101, 96, 91, 85, 77, 73, 63, 59, 54, 49, 43, 34, 24, 16, 2, 1,
+  18, 64, 67, 69, 52, 71, 62, 13, 255, 5, 6, 7, 9, 11, 25, 57,
+  78, 84, 92, 97, 100, 108, 116, 116, 115, 120, 123, 124, 119, 116, 125, 130,
+  133, 133, 130, 129, 132, 135, 132, 135, 138, 138, 136, 136, 139, 142, 145, 145,
+  144, 144, 144, 145, 146, 146, 151, 162, 157, 133, 113, 115, 126, 134, 138, 145,
+  149, 145, 139, 139, 143, 146, 151, 158, 164, 167, 171, 178, 179, 177, 177, 176,
+  173, 171, 170, 171, 171, 172, 167, 168, 159, 140, 133, 134, 131, 122, 117, 125,
+  125, 117, 114, 121, 120, 112, 115, 114, 111, 111, 113, 115, 117, 120, 124, 125,
+  128, 133, 139, 144, 145, 146, 138, 135, 131, 128, 126, 124, 125, 126, 123, 123,
+  123, 125, 126, 123, 116, 112, 107, 105, 99, 94, 90, 83, 76, 70, 62, 59,
+  55, 51, 48, 40, 31, 22, 14, 0, 17, 84, 89, 75, 38, 56, 59, 11,
+  255, 6, 14, 0, 3, 7, 17, 46, 77, 91, 92, 98, 104, 108, 114, 117,
+  118, 120, 120, 120, 121, 122, 130, 127, 125, 127, 132, 136, 137, 135, 134, 135,
+  136, 138, 140, 141, 143, 143, 143, 144, 145, 145, 144, 144, 146, 148, 158, 159,
+  157, 149, 135, 120, 109, 105, 122, 130, 136, 138, 136, 136, 141, 148, 158, 158,
+  159, 164, 171, 178, 184, 186, 186, 186, 183, 181, 180, 178, 175, 174, 169, 168,
+  161, 151, 144, 144, 140, 135, 130, 124, 118, 117, 121, 124, 122, 118, 118, 116,
+  111, 112, 114, 117, 119, 120, 122, 123, 124, 127, 131, 135, 136, 136, 138, 138,
+  137, 136, 132, 128, 123, 120, 121, 122, 120, 119, 118, 116, 116, 117, 110, 105,
+  98, 92, 87, 80, 73, 66, 61, 62, 60, 53, 49, 42, 33, 23, 9, 0,
+  17, 61, 88, 80, 62, 57, 44, 13, 255, 5, 6, 0, 9, 9, 8, 38,
+  71, 87, 91, 96, 105, 109, 112, 115, 117, 120, 121, 122, 123, 125, 129, 128,
+  126, 129, 135, 139, 141, 140, 135, 135, 137, 139, 141, 142, 144, 144, 144, 145,
+  145, 144, 143, 144, 147, 150, 156, 157, 155, 147, 135, 124, 116, 113, 100, 107,
+  115, 121, 127, 134, 144, 153, 149, 153, 160, 168, 175, 180, 185, 188, 186, 186,
+  185, 185, 184, 183, 182, 182, 174, 173, 167, 158, 154, 151, 148, 142, 134, 129,
+  124, 122, 124, 125, 120, 117, 118, 117, 116, 116, 118, 120, 120, 119, 119, 118,
+  119, 123, 126, 130, 131, 130, 135, 136, 136, 136, 135, 132, 129, 128, 124, 123,
+  121, 121, 119, 117, 113, 111, 114, 106, 95, 86, 79, 74, 67, 63, 64, 65,
+  62, 56, 51, 46, 36, 26, 14, 0, 2, 41, 76, 84, 75, 67, 36, 10,
+  255, 3, 1, 3, 18, 14, 3, 33, 67, 86, 91, 96, 105, 109, 110, 113,
+  116, 119, 121, 123, 125, 128, 127, 126, 126, 130, 135, 139, 142, 141, 135, 136,
+  137, 139, 142, 144, 145, 146, 144, 145, 144, 143, 143, 144, 148, 152, 156, 155,
+  152, 144, 136, 129, 125, 124, 108, 109, 111, 117, 127, 137, 146, 152, 144, 152,
+  163, 172, 177, 180, 184, 188, 190, 190, 189, 189, 188, 188, 187, 186, 178, 178,
+  173, 167, 163, 161, 155, 147, 143, 138, 135, 132, 131, 128, 122, 117, 120, 120,
+  121, 122, 124, 125, 122, 120, 118, 118, 118, 120, 123, 125, 125, 124, 128, 130,
+  131, 133, 134, 133, 132, 132, 125, 123, 121, 121, 119, 117, 111, 107, 112, 104,
+  90, 78, 71, 66, 65, 63, 67, 68, 65, 60, 55, 50, 40, 31, 21, 2,
+  0, 27, 70, 92, 85, 69, 24, 6, 255, 171, 2, 14, 33, 17, 10, 34,
+  66, 85, 93, 98, 104, 110, 112, 113, 115, 118, 120, 122, 124, 128, 125, 125,
+  126, 129, 132, 136, 138, 138, 136, 137, 138, 140, 142, 144, 146, 146, 144, 144,
+  144, 143, 143, 145, 150, 153, 157, 155, 148, 142, 135, 131, 130, 130, 125, 123,
+  120, 123, 132, 143, 150, 154, 147, 157, 168, 175, 176, 178, 182, 187, 196, 195,
+  194, 193, 191, 190, 187, 187, 182, 182, 178, 171, 169, 166, 158, 148, 153, 150,
+  146, 142, 139, 134, 125, 120, 124, 123, 123, 125, 128, 129, 128, 127, 122, 122,
+  120, 122, 123, 125, 124, 123, 121, 122, 124, 126, 127, 128, 128, 129, 127, 123,
+  119, 117, 117, 116, 111, 108, 104, 98, 86, 74, 67, 65, 64, 65, 67, 69,
+  66, 62, 58, 53, 43, 34, 22, 8, 1, 21, 59, 80, 67, 45, 13, 2,
+  255, 255, 4, 26, 48, 25, 20, 37, 61, 82, 93, 100, 108, 113, 113, 114,
+  115, 117, 117, 119, 122, 125, 126, 128, 129, 131, 132, 133, 135, 135, 137, 138,
+  139, 140, 142, 143, 145, 145, 143, 143, 144, 144, 144, 147, 151, 154, 160, 154,
+  146, 138, 133, 130, 129, 129, 122, 119, 118, 123, 135, 147, 154, 157, 151, 159,
+  169, 174, 176, 179, 186, 192, 196, 196, 194, 194, 192, 191, 189, 189, 188, 188,
+  182, 177, 175, 172, 162, 150, 158, 155, 152, 149, 144, 137, 129, 124, 126, 124,
+  123, 123, 125, 130, 132, 132, 125, 124, 123, 125, 125, 126, 124, 123, 119, 120,
+  120, 122, 122, 123, 123, 122, 125, 120, 114, 111, 112, 112, 111, 111, 100, 95,
+  86, 75, 68, 63, 63, 63, 66, 68, 67, 62, 59, 55, 46, 37, 22, 12,
+  1, 6, 26, 40, 29, 10, 4, 0, 255, 255, 2, 29, 62, 44, 38, 42,
+  54, 73, 89, 101, 110, 115, 113, 113, 113, 114, 115, 117, 120, 124, 129, 131,
+  133, 134, 134, 134, 135, 136, 138, 139, 139, 140, 141, 142, 142, 143, 140, 142,
+  144, 146, 146, 148, 151, 154, 159, 153, 143, 135, 130, 127, 126, 125, 122, 120,
+  121, 126, 136, 145, 152, 154, 151, 156, 164, 170, 175, 182, 190, 197, 189, 190,
+  191, 191, 192, 193, 193, 194, 194, 192, 186, 181, 180, 177, 167, 156, 158, 157,
+  155, 151, 145, 139, 133, 129, 130, 127, 123, 123, 125, 128, 130, 131, 127, 126,
+  125, 125, 125, 125, 124, 122, 123, 124, 123, 121, 121, 120, 119, 119, 120, 119,
+  114, 110, 108, 108, 109, 111, 101, 97, 89, 77, 67, 60, 58, 57, 65, 67,
+  67, 63, 59, 56, 48, 41, 32, 20, 2, 0, 0, 4, 1, 0, 1, 0,
+  255, 255, 170, 22, 71, 67, 64, 57, 56, 69, 87, 99, 108, 112, 110, 109,
+  110, 111, 113, 116, 120, 124, 126, 130, 133, 135, 134, 134, 136, 137, 140, 140,
+  140, 140, 140, 140, 140, 140, 138, 141, 145, 148, 149, 150, 152, 153, 155, 148,
+  138, 130, 126, 124, 123, 121, 126, 128, 129, 134, 139, 145, 149, 149, 151, 154,
+  160, 167, 175, 183, 189, 193, 186, 188, 189, 190, 190, 191, 191, 192, 192, 189,
+  184, 180, 181, 181, 172, 161, 159, 159, 157, 154, 149, 143, 140, 139, 138, 136,
+  132, 131, 131, 132, 130, 129, 129, 128, 126, 127, 128, 128, 127, 125, 126, 125,
+  123, 122, 120, 118, 117, 116, 114, 118, 117, 114, 107, 102, 103, 106, 100, 97,
+  89, 76, 65, 58, 57, 58, 66, 67, 68, 64, 62, 58, 51, 44, 43, 27,
+  5, 0, 0, 0, 0, 0, 2, 0, 255, 255, 255, 15, 78, 83, 89, 71,
+  60, 68, 84, 98, 105, 108, 108, 107, 109, 112, 113, 118, 123, 127, 123, 126,
+  131, 133, 133, 134, 136, 138, 141, 140, 140, 139, 139, 138, 138, 138, 136, 140,
+  145, 149, 150, 151, 153, 154, 153, 145, 135, 128, 125, 124, 121, 120, 121, 124,
+  130, 135, 142, 146, 149, 150, 152, 153, 159, 167, 175, 181, 184, 183, 188, 188,
+  187, 187, 186, 186, 185, 187, 184, 182, 177, 174, 178, 179, 173, 162, 164, 163,
+  161, 157, 153, 149, 147, 146, 147, 144, 142, 141, 139, 136, 132, 128, 131, 130,
+  130, 130, 131, 132, 131, 130, 126, 125, 123, 120, 118, 116, 115, 115, 111, 117,
+  121, 118, 108, 100, 98, 100, 97, 93, 85, 72, 62, 58, 59, 62, 67, 68,
+  69, 66, 63, 60, 52, 45, 40, 23, 6, 0, 0, 0, 0, 1, 4, 1,
+  255, 255, 255, 173, 57, 99, 89, 102, 67, 71, 63, 85, 110, 104, 109, 107,
+  109, 112, 115, 119, 123, 125, 128, 128, 129, 132, 135, 136, 138, 141, 134, 137,
+  139, 140, 138, 135, 136, 138, 138, 141, 146, 150, 152, 153, 152, 151, 152, 146,
+  134, 126, 122, 122, 124, 125, 126, 135, 136, 133, 138, 138, 140, 152, 156, 164,
+  173, 180, 182, 182, 185, 187, 188, 187, 186, 184, 181, 179, 177, 177, 176, 181,
+  182, 177, 174, 174, 171, 168, 152, 150, 152, 154, 155, 153, 148, 146, 144, 145,
+  143, 139, 137, 138, 134, 128, 135, 137, 138, 137, 135, 133, 134, 134, 130, 129,
+  127, 127, 125, 122, 117, 114, 111, 115, 121, 125, 116, 101, 94, 97, 90, 88,
+  80, 69, 54, 46, 51, 61, 64, 70, 72, 69, 64, 60, 50, 43, 39, 21,
+  3, 0, 0, 0, 0, 4, 2, 2, 255, 255, 255, 255, 51, 105, 97, 107,
+  84, 78, 60, 81, 101, 110, 112, 112, 114, 116, 119, 123, 126, 128, 129, 129,
+  130, 132, 135, 135, 136, 139, 137, 139, 141, 140, 136, 134, 133, 135, 139, 142,
+  147, 152, 154, 155, 154, 153, 150, 143, 134, 127, 123, 124, 126, 127, 129, 137,
+  134, 131, 136, 137, 140, 151, 160, 163, 170, 177, 183, 185, 184, 182, 181, 180,
+  177, 174, 171, 170, 168, 168, 170, 176, 176, 174, 173, 173, 171, 166, 157, 156,
+  156, 154, 153, 150, 145, 142, 144, 145, 143, 138, 137, 137, 133, 127, 135, 137,
+  139, 139, 138, 138, 138, 140, 140, 138, 137, 135, 131, 124, 117, 112, 110, 113,
+  120, 125, 119, 104, 92, 91, 84, 84, 80, 71, 59, 51, 58, 70, 66, 72,
+  75, 72, 68, 63, 54, 45, 38, 21, 5, 0, 0, 0, 1, 5, 2, 2,
+  255, 255, 255, 255, 35, 100, 103, 106, 99, 84, 56, 76, 85, 109, 110, 112,
+  115, 117, 119, 122, 125, 127, 130, 130, 130, 131, 133, 135, 136, 136, 138, 140,
+  141, 138, 134, 132, 131, 132, 139, 142, 148, 153, 155, 156, 155, 154, 144, 138,
+  129, 125, 123, 125, 127, 128, 130, 136, 132, 130, 138, 141, 141, 149, 164, 163,
+  166, 175, 183, 187, 184, 181, 179, 176, 172, 168, 165, 164, 163, 164, 165, 170,
+  174, 175, 175, 178, 176, 172, 172, 168, 165, 162, 159, 155, 150, 147, 141, 143,
+  143, 141, 142, 144, 142, 137, 134, 137, 139, 141, 140, 139, 141, 143, 144, 143,
+  141, 140, 136, 128, 120, 113, 111, 114, 119, 125, 122, 108, 94, 86, 77, 79,
+  79, 72, 60, 52, 61, 75, 65, 70, 72, 70, 66, 61, 53, 45, 39, 23,
+  8, 0, 0, 0, 2, 5, 2, 86, 255, 255, 255, 255, 176, 78, 106, 102,
+  103, 83, 55, 78, 71, 98, 103, 106, 111, 115, 116, 118, 121, 123, 130, 132,
+  131, 131, 132, 136, 137, 135, 137, 137, 137, 136, 134, 131, 131, 131, 139, 143,
+  149, 154, 157, 157, 154, 153, 140, 135, 128, 124, 123, 125, 125, 127, 126, 131,
+  130, 132, 144, 145, 143, 148, 163, 164, 168, 174, 180, 185, 184, 183, 178, 174,
+  170, 164, 161, 160, 161, 162, 165, 172, 177, 180, 184, 189, 188, 183, 185, 181,
+  177, 174, 172, 169, 165, 162, 155, 155, 153, 150, 149, 149, 146, 140, 135, 138,
+  140, 141, 140, 139, 140, 141, 139, 139, 140, 140, 138, 133, 125, 118, 114, 114,
+  117, 122, 122, 113, 99, 88, 78, 78, 75, 66, 54, 47, 56, 69, 64, 70,
+  73, 71, 67, 62, 54, 47, 40, 27, 12, 1, 0, 0, 2, 4, 2, 255,
+  255, 255, 255, 255, 255, 44, 109, 106, 106, 85, 62, 87, 71, 85, 96, 102,
+  109, 113, 113, 114, 118, 121, 130, 133, 134, 130, 132, 137, 138, 135, 133, 132,
+  132, 131, 132, 132, 132, 132, 138, 143, 148, 153, 155, 153, 151, 149, 137, 134,
+  128, 124, 124, 124, 124, 123, 120, 129, 131, 137, 150, 151, 145, 149, 159, 165,
+  171, 174, 176, 180, 184, 188, 177, 174, 170, 165, 162, 161, 162, 164, 177, 181,
+  184, 185, 190, 195, 191, 185, 185, 183, 181, 179, 180, 179, 176, 174, 175, 174,
+  169, 160, 154, 150, 143, 137, 140, 143, 144, 142, 141, 139, 140, 140, 137, 137,
+  140, 142, 140, 136, 129, 123, 114, 113, 111, 112, 114, 112, 102, 92, 80, 76,
+  70, 60, 49, 45, 54, 66, 69, 75, 78, 76, 73, 69, 61, 53, 41, 31,
+  16, 3, 0, 0, 3, 4, 2, 255, 255, 255, 255, 255, 255, 174, 98, 113,
+  111, 94, 72, 94, 85, 85, 89, 97, 107, 112, 113, 114, 117, 121, 128, 133,
+  135, 129, 130, 138, 139, 134, 130, 129, 128, 129, 132, 133, 134, 134, 138, 143,
+  148, 152, 152, 150, 146, 143, 136, 132, 127, 125, 125, 125, 124, 123, 118, 130,
+  134, 141, 152, 152, 147, 152, 158, 164, 170, 172, 174, 178, 185, 190, 185, 183,
+  180, 176, 174, 174, 174, 175, 185, 187, 184, 182, 183, 186, 181, 174, 173, 172,
+  171, 173, 173, 175, 172, 169, 167, 168, 164, 158, 155, 155, 150, 143, 143, 145,
+  146, 145, 143, 140, 141, 140, 142, 142, 142, 143, 141, 136, 128, 124, 114, 112,
+  107, 104, 106, 107, 101, 94, 79, 72, 65, 59, 54, 51, 58, 67, 67, 74,
+  77, 76, 73, 69, 61, 54, 42, 34, 20, 4, 0, 0, 3, 3, 2, 255,
+  255, 255, 255, 255, 255, 255, 60, 108, 110, 98, 71, 92, 105, 99, 80, 90,
+  102, 109, 110, 111, 115, 120, 125, 131, 133, 126, 129, 137, 138, 133, 130, 127,
+  125, 127, 130, 134, 134, 134, 139, 142, 147, 150, 150, 147, 141, 138, 132, 130,
+  126, 126, 127, 128, 127, 126, 123, 135, 139, 142, 150, 149, 148, 156, 158, 161,
+  165, 169, 174, 181, 186, 189, 190, 189, 187, 185, 183, 183, 183, 182, 180, 178,
+  171, 167, 168, 171, 166, 158, 158, 157, 157, 158, 158, 157, 154, 150, 148, 149,
+  149, 147, 149, 152, 151, 146, 139, 141, 142, 142, 141, 139, 140, 139, 143, 142,
+  140, 140, 137, 133, 126, 122, 116, 117, 111, 104, 103, 104, 100, 93, 76, 68,
+  62, 61, 60, 57, 58, 61, 62, 69, 73, 72, 69, 66, 58, 51, 43, 37,
+  22, 5, 0, 1, 3, 3, 2, 255, 255, 255, 255, 255, 255, 255, 177, 96,
+  105, 98, 66, 86, 117, 112, 72, 84, 97, 104, 106, 107, 113, 117, 122, 130,
+  130, 125, 128, 137, 138, 131, 131, 127, 125, 126, 130, 134, 133, 133, 138, 142,
+  146, 150, 149, 144, 139, 134, 129, 127, 125, 127, 128, 130, 130, 129, 129, 140,
+  142, 141, 146, 146, 147, 159, 160, 159, 160, 166, 176, 184, 187, 187, 184, 183,
+  183, 182, 181, 180, 179, 179, 167, 163, 157, 152, 154, 158, 154, 147, 147, 147,
+  147, 147, 147, 144, 138, 134, 142, 143, 142, 138, 139, 141, 138, 134, 132, 135,
+  136, 137, 136, 135, 136, 137, 137, 136, 134, 134, 133, 129, 124, 121, 121, 123,
+  119, 110, 105, 106, 101, 93, 74, 66, 61, 62, 63, 59, 54, 52, 64, 70,
+  75, 74, 71, 68, 60, 53, 44, 38, 24, 5, 0, 1, 4, 3, 2, 255,
+  255, 255, 255, 255, 255, 255, 255, 56, 110, 107, 78, 87, 115, 123, 109, 82,
+  72, 92, 108, 105, 108, 121, 121, 126, 130, 130, 126, 123, 124, 126, 131, 127,
+  124, 124, 129, 132, 131, 131, 135, 144, 150, 149, 146, 142, 135, 128, 129, 128,
+  128, 131, 134, 135, 131, 128, 127, 133, 140, 144, 144, 147, 152, 157, 148, 158,
+  170, 178, 179, 179, 180, 182, 177, 173, 169, 167, 167, 164, 155, 147, 139, 143,
+  147, 145, 139, 135, 135, 138, 142, 144, 145, 142, 135, 129, 127, 129, 130, 133,
+  135, 137, 136, 133, 125, 119, 117, 119, 115, 111, 119, 137, 144, 143, 135, 138,
+  135, 127, 121, 118, 117, 115, 114, 115, 115, 115, 111, 105, 96, 91, 75, 70,
+  64, 61, 63, 64, 62, 59, 68, 70, 70, 69, 70, 72, 66, 58, 46, 35,
+  21, 7, 0, 1, 3, 6, 3, 255, 255, 255, 255, 255, 255, 255, 255, 177,
+  82, 107, 79, 77, 109, 123, 120, 92, 72, 78, 95, 102, 107, 113, 118, 123,
+  126, 125, 121, 121, 124, 126, 127, 124, 123, 125, 129, 132, 132, 132, 133, 140,
+  144, 142, 139, 138, 133, 127, 126, 125, 123, 126, 130, 132, 132, 130, 138, 142,
+  145, 146, 143, 145, 150, 156, 160, 164, 170, 173, 172, 169, 167, 166, 155, 152,
+  149, 149, 147, 146, 141, 135, 131, 132, 131, 129, 123, 120, 121, 123, 139, 138,
+  135, 128, 119, 115, 114, 115, 116, 113, 115, 119, 115, 107, 105, 109, 97, 97,
+  101, 112, 125, 138, 146, 152, 155, 150, 137, 123, 117, 116, 111, 104, 115, 116,
+  117, 118, 111, 103, 95, 88, 75, 71, 65, 63, 64, 63, 60, 57, 63, 66,
+  68, 70, 72, 73, 65, 57, 51, 39, 24, 10, 1, 1, 3, 5, 3, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 48, 104, 90, 74, 100, 120, 132, 110,
+  81, 67, 77, 96, 105, 104, 114, 118, 121, 121, 119, 120, 123, 126, 124, 122,
+  123, 125, 128, 131, 132, 131, 136, 141, 143, 139, 137, 137, 135, 132, 126, 124,
+  122, 125, 129, 133, 135, 135, 140, 141, 142, 140, 139, 142, 148, 154, 171, 170,
+  166, 163, 161, 157, 152, 148, 152, 149, 145, 141, 136, 132, 130, 128, 123, 122,
+  121, 119, 116, 115, 112, 112, 117, 117, 114, 110, 105, 103, 101, 102, 102, 98,
+  99, 103, 98, 89, 92, 101, 96, 92, 94, 105, 117, 127, 137, 148, 173, 160,
+  138, 122, 119, 120, 112, 103, 113, 116, 119, 119, 112, 103, 94, 88, 74, 70,
+  65, 64, 65, 64, 61, 58, 62, 66, 68, 70, 73, 75, 67, 58, 54, 42,
+  27, 12, 3, 2, 2, 4, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  176, 78, 99, 82, 83, 109, 132, 126, 99, 70, 63, 83, 100, 101, 109, 112,
+  116, 120, 121, 121, 123, 124, 123, 122, 122, 124, 126, 127, 128, 128, 134, 140,
+  142, 139, 135, 136, 135, 131, 126, 127, 130, 132, 136, 139, 141, 141, 137, 138,
+  138, 137, 140, 145, 153, 158, 170, 164, 157, 153, 153, 151, 146, 140, 140, 138,
+  134, 129, 124, 120, 121, 121, 127, 125, 123, 121, 119, 114, 108, 104, 102, 104,
+  108, 111, 110, 108, 105, 103, 100, 100, 100, 97, 97, 100, 103, 103, 116, 113,
+  103, 96, 98, 110, 121, 126, 160, 147, 130, 116, 115, 119, 115, 108, 110, 115,
+  120, 121, 114, 104, 94, 88, 71, 67, 64, 65, 67, 67, 65, 62, 67, 69,
+  68, 68, 71, 73, 68, 60, 54, 42, 27, 13, 4, 3, 3, 4, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 34, 94, 90, 69, 96, 117, 126,
+  113, 80, 58, 67, 87, 97, 100, 106, 113, 118, 122, 122, 123, 121, 122, 122,
+  122, 122, 123, 124, 125, 126, 128, 133, 136, 133, 131, 130, 128, 124, 127, 131,
+  135, 141, 143, 143, 142, 142, 142, 142, 141, 143, 147, 151, 158, 163, 159, 153,
+  146, 146, 150, 150, 146, 140, 133, 131, 130, 126, 125, 124, 128, 131, 128, 124,
+  118, 113, 113, 112, 110, 109, 130, 129, 126, 124, 122, 119, 116, 113, 102, 111,
+  110, 102, 108, 122, 123, 110, 121, 125, 116, 96, 91, 104, 111, 105, 124, 122,
+  114, 104, 102, 108, 110, 110, 115, 120, 124, 122, 112, 101, 90, 84, 68, 65,
+  63, 65, 68, 70, 70, 68, 72, 71, 65, 62, 63, 67, 64, 59, 50, 39,
+  26, 12, 4, 3, 3, 5, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 73, 95, 76, 92, 101, 112, 110, 89, 63, 58, 72, 88, 93, 98,
+  106, 113, 118, 120, 120, 119, 120, 120, 119, 119, 119, 120, 124, 127, 129, 134,
+  137, 134, 131, 129, 126, 123, 126, 133, 138, 143, 144, 142, 141, 140, 144, 144,
+  144, 145, 147, 150, 152, 153, 147, 144, 140, 142, 146, 146, 141, 136, 130, 128,
+  124, 121, 120, 120, 121, 122, 112, 109, 104, 103, 107, 117, 129, 136, 163, 153,
+  140, 128, 120, 117, 116, 114, 106, 116, 114, 106, 110, 127, 130, 119, 105, 116,
+  118, 107, 104, 111, 109, 100, 104, 106, 105, 99, 96, 103, 109, 113, 123, 127,
+  128, 123, 109, 96, 84, 79, 70, 66, 63, 65, 69, 72, 74, 73, 72, 69,
+  61, 55, 57, 61, 60, 56, 50, 39, 26, 13, 5, 4, 4, 5, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 40, 81, 90, 88, 96, 92,
+  93, 93, 78, 62, 63, 77, 87, 90, 94, 102, 108, 113, 116, 116, 116, 117,
+  116, 116, 115, 119, 125, 131, 135, 139, 139, 133, 130, 129, 128, 126, 131, 136,
+  141, 143, 142, 141, 140, 140, 141, 142, 143, 145, 145, 145, 144, 142, 139, 137,
+  135, 135, 134, 130, 122, 115, 111, 108, 103, 102, 103, 104, 103, 101, 109, 113,
+  117, 121, 123, 129, 137, 143, 150, 141, 130, 121, 117, 116, 114, 112, 108, 108,
+  108, 108, 105, 108, 117, 127, 100, 103, 112, 120, 118, 107, 101, 105, 101, 104,
+  103, 98, 97, 106, 114, 119, 123, 127, 129, 122, 108, 94, 85, 82, 76, 70,
+  65, 65, 68, 72, 75, 75, 70, 68, 61, 56, 58, 62, 61, 57, 53, 42,
+  29, 16, 7, 5, 3, 88, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 172, 61, 97, 80, 100, 82, 80, 94, 92, 70, 61, 72, 83, 83,
+  86, 91, 99, 108, 113, 116, 115, 114, 114, 114, 115, 120, 129, 136, 137, 140,
+  136, 128, 123, 124, 125, 124, 137, 141, 143, 144, 143, 141, 142, 143, 142, 143,
+  146, 148, 148, 147, 143, 139, 131, 129, 129, 128, 123, 114, 103, 96, 104, 103,
+  102, 108, 117, 124, 124, 123, 131, 140, 150, 151, 143, 131, 123, 119, 114, 112,
+  113, 116, 120, 120, 116, 112, 110, 101, 103, 109, 99, 87, 103, 132, 114, 102,
+  106, 126, 121, 97, 92, 111, 101, 102, 98, 94, 97, 107, 118, 121, 119, 124,
+  127, 120, 109, 96, 91, 89, 82, 75, 68, 65, 68, 71, 74, 74, 69, 68,
+  63, 60, 63, 68, 66, 61, 57, 47, 32, 18, 8, 4, 3, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 30, 73, 105, 94, 93,
+  93, 108, 113, 78, 54, 72, 69, 80, 82, 78, 86, 105, 112, 105, 106, 113,
+  120, 121, 117, 117, 124, 132, 142, 139, 135, 132, 127, 125, 126, 130, 137, 140,
+  144, 147, 147, 145, 145, 143, 141, 142, 142, 137, 134, 134, 131, 129, 119, 112,
+  110, 113, 116, 115, 120, 128, 137, 164, 171, 148, 130, 134, 142, 138, 136, 133,
+  130, 124, 117, 112, 109, 107, 98, 105, 105, 99, 102, 112, 110, 99, 100, 102,
+  106, 110, 104, 97, 104, 118, 103, 105, 111, 116, 115, 107, 105, 108, 101, 100,
+  98, 99, 106, 112, 118, 121, 121, 122, 119, 111, 100, 91, 87, 88, 80, 76,
+  73, 72, 73, 74, 73, 73, 66, 64, 60, 57, 60, 65, 62, 56, 47, 45,
+  36, 19, 7, 5, 6, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 174, 47, 84, 92, 86, 91, 112, 124, 101, 66, 53, 65, 75,
+  79, 77, 82, 95, 102, 101, 102, 107, 114, 116, 115, 118, 126, 135, 141, 138,
+  134, 130, 127, 127, 130, 134, 136, 142, 148, 150, 148, 147, 148, 148, 151, 143,
+  129, 116, 110, 111, 116, 117, 111, 106, 109, 118, 124, 128, 135, 142, 165, 179,
+  178, 155, 135, 128, 123, 114, 109, 108, 106, 102, 97, 95, 96, 99, 101, 101,
+  100, 100, 101, 102, 103, 104, 111, 110, 111, 113, 102, 92, 94, 105, 100, 98,
+  101, 107, 112, 108, 104, 105, 98, 97, 98, 100, 107, 113, 117, 119, 122, 123,
+  122, 118, 110, 100, 92, 89, 80, 78, 74, 73, 74, 75, 74, 73, 70, 66,
+  61, 58, 60, 65, 63, 56, 40, 38, 29, 13, 2, 0, 85, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 51, 73, 71,
+  80, 97, 106, 109, 93, 68, 64, 70, 75, 77, 78, 82, 89, 94, 97, 102,
+  108, 110, 111, 116, 125, 133, 138, 137, 132, 127, 125, 127, 132, 136, 135, 141,
+  148, 149, 147, 145, 146, 148, 142, 129, 112, 99, 97, 101, 111, 116, 108, 107,
+  110, 117, 120, 121, 124, 129, 120, 125, 125, 118, 111, 108, 104, 101, 102, 104,
+  102, 99, 97, 97, 101, 106, 109, 105, 105, 110, 111, 108, 116, 127, 124, 119,
+  115, 112, 101, 89, 89, 100, 99, 94, 94, 103, 110, 109, 104, 101, 95, 96,
+  98, 102, 109, 114, 117, 119, 120, 122, 123, 122, 116, 106, 93, 85, 80, 78,
+  75, 74, 75, 76, 74, 74, 73, 69, 63, 58, 60, 65, 62, 56, 40, 39,
+  30, 15, 5, 3, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 19, 63, 79, 103, 105, 90, 100, 103, 78, 66, 68,
+  73, 79, 79, 77, 80, 87, 94, 99, 104, 108, 110, 114, 120, 125, 137, 137,
+  132, 124, 122, 127, 133, 136, 134, 140, 145, 145, 141, 139, 141, 145, 131, 117,
+  105, 100, 102, 105, 110, 112, 108, 108, 110, 114, 116, 116, 116, 115, 122, 115,
+  109, 108, 103, 97, 95, 99, 109, 113, 112, 109, 105, 104, 107, 111, 110, 115,
+  118, 118, 119, 126, 139, 150, 133, 123, 114, 109, 101, 92, 95, 107, 103, 101,
+  103, 110, 114, 110, 103, 100, 97, 98, 101, 107, 113, 118, 120, 121, 121, 121,
+  120, 119, 115, 104, 89, 79, 81, 79, 77, 76, 77, 77, 75, 74, 75, 70,
+  63, 57, 59, 63, 60, 54, 42, 39, 30, 17, 9, 7, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 57, 21, 54,
+  98, 109, 95, 104, 107, 84, 64, 65, 71, 81, 82, 79, 77, 80, 86, 90,
+  98, 106, 111, 115, 118, 119, 136, 137, 131, 122, 119, 125, 131, 132, 135, 139,
+  144, 144, 139, 137, 138, 141, 128, 114, 101, 101, 103, 103, 104, 104, 107, 109,
+  113, 119, 124, 130, 133, 133, 137, 127, 117, 113, 108, 103, 105, 113, 113, 114,
+  113, 111, 110, 107, 107, 107, 115, 133, 137, 125, 125, 145, 161, 160, 136, 122,
+  109, 104, 100, 95, 100, 112, 108, 109, 114, 119, 116, 107, 99, 99, 98, 100,
+  103, 109, 115, 120, 121, 121, 125, 123, 119, 116, 110, 99, 85, 76, 81, 79,
+  77, 77, 78, 78, 76, 75, 74, 69, 61, 55, 56, 60, 57, 51, 36, 34,
+  23, 11, 4, 4, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 199, 0, 4, 34, 48, 55, 67, 68, 55, 46, 55,
+  69, 78, 81, 80, 79, 78, 75, 79, 87, 99, 108, 116, 119, 118, 133, 135,
+  131, 120, 118, 124, 129, 128, 136, 139, 142, 142, 142, 141, 141, 142, 123, 104,
+  89, 92, 101, 104, 108, 111, 112, 114, 118, 121, 128, 138, 145, 146, 122, 115,
+  112, 114, 119, 123, 127, 132, 126, 124, 120, 120, 121, 122, 119, 116, 132, 154,
+  157, 138, 135, 157, 169, 159, 136, 120, 107, 103, 101, 99, 103, 115, 112, 113,
+  117, 119, 113, 103, 98, 99, 101, 100, 103, 108, 114, 119, 118, 119, 127, 125,
+  122, 116, 108, 96, 84, 76, 82, 80, 79, 78, 79, 79, 77, 75, 71, 68,
+  61, 56, 57, 59, 55, 48, 35, 31, 19, 7, 1, 87, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 170, 2,
+  0, 0, 6, 2, 0, 1, 16, 42, 66, 74, 74, 77, 80, 80, 72, 73,
+  78, 89, 102, 113, 117, 118, 126, 132, 128, 118, 117, 125, 130, 126, 133, 133,
+  134, 138, 142, 145, 145, 144, 120, 99, 87, 95, 107, 112, 116, 120, 115, 117,
+  116, 115, 122, 135, 144, 147, 137, 135, 134, 141, 152, 157, 151, 138, 153, 141,
+  130, 129, 134, 139, 135, 131, 145, 161, 161, 146, 140, 153, 159, 152, 131, 116,
+  108, 109, 110, 109, 111, 119, 117, 113, 110, 110, 109, 106, 104, 106, 106, 104,
+  106, 109, 115, 119, 120, 120, 122, 124, 124, 118, 108, 95, 84, 78, 82, 81,
+  80, 80, 82, 81, 78, 76, 70, 67, 63, 59, 61, 62, 56, 47, 37, 32,
+  19, 7, 2, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 4, 2, 7, 14, 0, 0, 7, 0, 31,
+  64, 70, 67, 73, 81, 83, 75, 73, 73, 82, 94, 106, 113, 114, 122, 129,
+  127, 118, 117, 126, 131, 126, 128, 126, 127, 132, 141, 146, 147, 144, 128, 108,
+  99, 108, 119, 118, 114, 113, 111, 113, 111, 110, 119, 134, 148, 153, 130, 133,
+  139, 155, 177, 188, 173, 149, 168, 150, 134, 129, 136, 141, 137, 131, 144, 148,
+  148, 141, 136, 138, 139, 139, 126, 116, 110, 118, 123, 120, 121, 126, 121, 111,
+  103, 104, 109, 112, 113, 113, 111, 109, 109, 112, 117, 121, 122, 124, 116, 120,
+  123, 119, 106, 93, 83, 77, 82, 81, 80, 81, 81, 82, 78, 76, 69, 67,
+  64, 61, 63, 64, 57, 49, 38, 31, 16, 3, 85, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 171,
+  5, 5, 6, 6, 4, 2, 3, 8, 43, 71, 69, 72, 83, 82, 84, 81,
+  73, 69, 75, 90, 104, 107, 115, 125, 128, 119, 117, 125, 132, 129, 125, 129,
+  127, 124, 131, 143, 144, 133, 118, 116, 108, 97, 99, 111, 112, 100, 129, 112,
+  103, 108, 120, 130, 138, 145, 131, 135, 162, 176, 177, 200, 198, 151, 179, 159,
+  141, 131, 133, 137, 138, 135, 137, 141, 142, 138, 131, 128, 131, 135, 129, 125,
+  119, 119, 121, 123, 124, 123, 102, 102, 101, 106, 111, 114, 113, 110, 117, 115,
+  114, 116, 119, 123, 124, 125, 125, 125, 122, 118, 110, 100, 92, 86, 84, 82,
+  80, 81, 83, 84, 85, 84, 75, 72, 70, 68, 63, 56, 51, 49, 43, 29,
+  13, 6, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 171, 6, 7, 7, 5, 4, 0, 3,
+  28, 54, 66, 74, 82, 84, 81, 80, 75, 71, 75, 87, 98, 103, 108, 119,
+  124, 119, 118, 127, 132, 130, 120, 124, 122, 118, 124, 135, 135, 126, 113, 113,
+  106, 98, 102, 113, 114, 104, 116, 108, 102, 107, 114, 124, 137, 151, 131, 125,
+  149, 170, 163, 170, 175, 151, 161, 151, 141, 135, 134, 134, 136, 135, 131, 129,
+  126, 123, 120, 124, 132, 140, 130, 126, 121, 124, 127, 123, 110, 98, 92, 96,
+  103, 110, 115, 117, 116, 112, 116, 115, 113, 115, 118, 120, 121, 121, 117, 118,
+  118, 117, 110, 102, 94, 90, 89, 86, 83, 80, 81, 79, 78, 76, 73, 71,
+  69, 67, 62, 56, 49, 47, 38, 24, 9, 87, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 6, 7, 8, 7, 4, 0, 3, 12, 34, 61, 74, 76, 82, 78, 81,
+  79, 74, 73, 82, 90, 94, 102, 113, 120, 118, 119, 127, 130, 128, 118, 120,
+  116, 111, 115, 124, 124, 116, 108, 109, 104, 99, 101, 110, 110, 103, 105, 103,
+  103, 105, 107, 114, 132, 148, 134, 117, 134, 154, 140, 131, 141, 145, 139, 142,
+  140, 138, 135, 134, 132, 133, 130, 128, 126, 124, 120, 118, 114, 116, 119, 124,
+  128, 129, 123, 108, 91, 79, 88, 98, 111, 121, 125, 124, 122, 120, 119, 118,
+  117, 118, 121, 122, 121, 121, 115, 116, 118, 117, 111, 103, 95, 90, 91, 88,
+  84, 81, 78, 77, 75, 73, 71, 70, 69, 66, 62, 57, 47, 42, 32, 19,
+  6, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 172, 8, 8, 7, 6, 5, 8,
+  2, 15, 52, 69, 69, 78, 79, 84, 85, 79, 74, 77, 82, 84, 97, 107,
+  114, 117, 121, 126, 128, 126, 122, 121, 117, 110, 110, 114, 114, 108, 106, 107,
+  105, 101, 102, 108, 108, 101, 99, 98, 101, 102, 100, 103, 115, 128, 135, 118,
+  125, 136, 122, 112, 123, 136, 131, 135, 136, 137, 136, 134, 131, 129, 123, 121,
+  120, 120, 119, 115, 109, 108, 117, 123, 120, 104, 84, 77, 83, 92, 102, 113,
+  127, 135, 137, 134, 132, 130, 124, 124, 123, 123, 124, 125, 124, 123, 119, 121,
+  121, 119, 111, 101, 92, 85, 88, 85, 82, 81, 80, 79, 78, 78, 70, 71,
+  69, 65, 63, 57, 46, 37, 27, 15, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 172, 8, 9, 8, 10, 12, 0, 6, 40, 61, 66, 79, 81, 88,
+  90, 83, 77, 75, 77, 76, 88, 95, 105, 111, 118, 127, 130, 129, 129, 127,
+  122, 115, 110, 110, 108, 105, 104, 106, 106, 105, 107, 112, 112, 110, 103, 99,
+  98, 101, 101, 99, 99, 105, 125, 119, 118, 117, 114, 116, 124, 129, 134, 133,
+  131, 133, 135, 134, 130, 125, 119, 115, 113, 113, 115, 118, 119, 122, 111, 103,
+  84, 65, 57, 70, 98, 121, 126, 133, 141, 145, 142, 139, 137, 136, 130, 127,
+  125, 125, 125, 126, 124, 123, 123, 125, 124, 120, 113, 102, 93, 87, 88, 86,
+  83, 82, 82, 82, 81, 81, 71, 72, 69, 63, 60, 57, 47, 35, 22, 11,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 8, 10, 10, 9, 10,
+  2, 4, 24, 48, 67, 81, 80, 86, 89, 85, 80, 78, 77, 74, 78, 83,
+  92, 102, 113, 124, 131, 136, 133, 132, 127, 122, 116, 111, 108, 105, 103, 104,
+  105, 108, 111, 115, 118, 119, 116, 109, 107, 110, 111, 109, 105, 104, 114, 119,
+  117, 112, 117, 129, 132, 130, 136, 133, 129, 128, 131, 130, 125, 121, 129, 130,
+  130, 126, 119, 108, 98, 92, 67, 60, 57, 68, 90, 113, 129, 136, 142, 146,
+  148, 147, 144, 140, 138, 138, 131, 128, 125, 122, 122, 122, 121, 121, 121, 122,
+  121, 119, 113, 106, 99, 95, 92, 90, 86, 84, 82, 81, 79, 78, 70, 72,
+  67, 60, 57, 56, 45, 31, 15, 89, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 9, 11, 9, 8, 8, 3, 4, 31, 62, 74, 76, 79,
+  84, 82, 82, 83, 80, 76, 76, 77, 82, 93, 104, 116, 126, 132, 133, 132,
+  129, 126, 120, 113, 109, 107, 103, 103, 105, 107, 107, 111, 114, 118, 119, 113,
+  111, 114, 117, 117, 118, 120, 118, 128, 129, 126, 133, 140, 139, 137, 131, 129,
+  128, 125, 123, 120, 118, 118, 130, 131, 126, 114, 96, 78, 65, 59, 54, 62,
+  81, 107, 132, 145, 147, 143, 149, 148, 147, 146, 146, 144, 140, 138, 135, 130,
+  125, 121, 120, 121, 121, 121, 119, 119, 118, 116, 112, 107, 102, 100, 94, 92,
+  87, 84, 82, 78, 76, 75, 68, 70, 63, 54, 52, 53, 42, 27, 13, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 10, 12, 8,
+  14, 7, 0, 18, 58, 69, 71, 75, 78, 79, 82, 86, 83, 78, 78, 76,
+  78, 87, 98, 109, 118, 125, 131, 130, 129, 128, 123, 116, 111, 110, 107, 105,
+  104, 104, 102, 102, 105, 109, 111, 107, 105, 109, 112, 115, 122, 131, 129, 139,
+  141, 142, 146, 139, 135, 139, 124, 126, 130, 127, 119, 114, 114, 118, 109, 100,
+  81, 60, 46, 48, 60, 72, 98, 110, 125, 132, 131, 132, 141, 150, 148, 146,
+  144, 146, 147, 147, 143, 140, 139, 134, 126, 122, 120, 121, 123, 123, 120, 119,
+  117, 113, 110, 106, 101, 100, 93, 91, 85, 83, 80, 78, 75, 73, 66, 67,
+  60, 49, 49, 51, 40, 25, 95, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 174, 10, 9, 11, 9, 1, 4, 34, 68, 74, 72,
+  76, 80, 80, 77, 78, 79, 78, 76, 71, 73, 80, 95, 108, 116, 118, 121,
+  124, 129, 128, 124, 120, 116, 114, 111, 108, 107, 108, 111, 111, 111, 114, 114,
+  113, 113, 112, 110, 108, 108, 118, 116, 115, 116, 116, 115, 111, 109, 110, 105,
+  98, 91, 83, 78, 74, 73, 57, 57, 62, 76, 96, 117, 131, 135, 142, 141,
+  140, 141, 139, 140, 139, 140, 137, 141, 144, 143, 139, 138, 140, 143, 136, 134,
+  127, 124, 121, 122, 123, 126, 121, 118, 112, 108, 112, 117, 112, 104, 97, 91,
+  83, 78, 74, 70, 69, 69, 70, 61, 53, 53, 54, 48, 32, 100, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 173, 9,
+  12, 11, 2, 1, 22, 46, 65, 69, 78, 81, 80, 81, 82, 84, 80, 78,
+  76, 76, 79, 88, 100, 106, 110, 114, 120, 126, 129, 128, 125, 124, 119, 116,
+  113, 112, 114, 116, 117, 117, 115, 115, 116, 116, 114, 113, 112, 111, 94, 92,
+  90, 90, 88, 83, 78, 75, 63, 65, 65, 69, 73, 81, 87, 92, 118, 123,
+  129, 140, 149, 155, 155, 153, 147, 147, 146, 146, 144, 143, 143, 144, 134, 135,
+  135, 137, 138, 142, 143, 143, 138, 134, 129, 123, 119, 119, 118, 120, 111, 111,
+  107, 105, 108, 111, 104, 96, 94, 88, 79, 72, 68, 65, 63, 63, 64, 57,
+  51, 50, 50, 43, 104, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 8, 10, 5, 0, 9, 21, 42, 59,
+  75, 77, 75, 79, 81, 80, 80, 81, 82, 80, 79, 82, 88, 93, 103, 107,
+  114, 122, 126, 129, 129, 128, 123, 120, 117, 117, 118, 119, 119, 120, 119, 120,
+  120, 120, 120, 120, 119, 118, 114, 113, 115, 118, 118, 117, 112, 108, 105, 107,
+  110, 117, 124, 136, 144, 150, 146, 152, 157, 161, 157, 153, 146, 143, 150, 150,
+  149, 148, 146, 145, 145, 145, 133, 130, 127, 129, 135, 140, 140, 139, 138, 134,
+  128, 121, 116, 115, 113, 114, 110, 110, 109, 109, 112, 112, 105, 96, 95, 89,
+  80, 71, 66, 65, 64, 63, 57, 52, 49, 48, 46, 109, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  172, 9, 8, 3, 6, 10, 23, 47, 71, 76, 75, 78, 78, 74, 78, 81,
+  84, 84, 81, 80, 84, 86, 98, 102, 109, 116, 123, 126, 128, 129, 124, 121,
+  118, 118, 120, 121, 121, 120, 122, 123, 125, 128, 129, 130, 130, 130, 138, 139,
+  142, 147, 148, 147, 143, 138, 131, 132, 134, 136, 140, 144, 147, 148, 153, 156,
+  157, 153, 146, 141, 142, 144, 147, 147, 146, 145, 142, 141, 141, 140, 133, 130,
+  126, 124, 126, 129, 129, 131, 134, 130, 125, 119, 115, 113, 111, 112, 114, 113,
+  111, 112, 114, 113, 107, 101, 96, 93, 82, 72, 67, 66, 64, 61, 51, 49,
+  47, 45, 40, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 173, 10, 8, 8, 9, 10, 35,
+  62, 75, 80, 85, 82, 76, 74, 78, 82, 84, 84, 84, 85, 88, 91, 95,
+  102, 111, 119, 125, 128, 129, 126, 123, 121, 121, 124, 125, 123, 122, 121, 123,
+  127, 131, 135, 138, 140, 141, 147, 148, 148, 149, 147, 143, 135, 129, 138, 140,
+  144, 148, 150, 151, 151, 150, 152, 154, 154, 149, 142, 141, 146, 152, 147, 148,
+  145, 144, 142, 140, 139, 138, 137, 137, 133, 127, 120, 118, 119, 123, 125, 124,
+  122, 119, 117, 113, 112, 111, 112, 109, 105, 106, 106, 104, 102, 100, 92, 90,
+  81, 69, 64, 64, 61, 55, 48, 48, 45, 41, 108, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 173, 9, 9, 7, 1, 16, 40, 62, 78, 81, 81, 78, 71, 73,
+  77, 81, 85, 87, 88, 88, 83, 87, 94, 105, 113, 121, 127, 130, 128, 126,
+  125, 125, 127, 128, 126, 125, 120, 122, 127, 133, 138, 142, 144, 146, 151, 150,
+  150, 152, 152, 148, 142, 137, 127, 130, 134, 139, 140, 142, 140, 140, 140, 145,
+  147, 146, 140, 139, 140, 145, 150, 150, 147, 145, 143, 141, 139, 138, 141, 142,
+  138, 130, 120, 114, 115, 119, 115, 117, 119, 121, 120, 116, 113, 111, 112, 107,
+  103, 102, 100, 96, 95, 96, 91, 92, 84, 71, 66, 66, 61, 53, 48, 46,
+  42, 109, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 173, 9, 7, 6, 3,
+  17, 46, 67, 71, 73, 75, 75, 72, 71, 76, 83, 87, 87, 85, 81, 86,
+  91, 100, 109, 116, 122, 125, 129, 126, 125, 126, 127, 127, 126, 124, 124, 127,
+  131, 135, 140, 144, 147, 147, 145, 145, 146, 150, 152, 153, 150, 147, 142, 142,
+  143, 144, 144, 145, 145, 145, 144, 146, 148, 147, 143, 141, 142, 145, 147, 148,
+  145, 142, 140, 137, 135, 135, 140, 138, 134, 128, 121, 116, 113, 114, 109, 114,
+  120, 123, 123, 118, 113, 108, 110, 105, 101, 102, 100, 93, 88, 90, 90, 93,
+  87, 74, 68, 68, 63, 51, 45, 44, 40, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 173, 8, 21, 6, 11, 39, 63, 67, 68, 73, 78, 73,
+  68, 72, 80, 86, 84, 80, 84, 89, 93, 98, 105, 112, 116, 119, 127, 125,
+  123, 123, 126, 125, 124, 121, 129, 132, 136, 139, 143, 146, 148, 149, 152, 150,
+  150, 151, 153, 152, 149, 146, 140, 139, 136, 135, 136, 138, 141, 143, 141, 139,
+  136, 132, 130, 132, 136, 140, 141, 141, 138, 136, 133, 131, 128, 128, 136, 132,
+  125, 123, 121, 118, 112, 108, 107, 113, 121, 125, 124, 120, 112, 107, 105, 100,
+  99, 102, 98, 88, 81, 83, 84, 88, 83, 72, 64, 65, 57, 44, 45, 43,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 13, 11, 7,
+  6, 14, 31, 51, 65, 71, 76, 79, 78, 71, 69, 75, 79, 79, 86, 88,
+  90, 91, 94, 100, 108, 113, 121, 120, 121, 121, 122, 121, 120, 122, 128, 132,
+  136, 141, 145, 148, 150, 149, 148, 149, 149, 147, 149, 152, 151, 145, 139, 134,
+  132, 134, 133, 132, 137, 146, 143, 143, 139, 132, 130, 134, 137, 136, 141, 132,
+  126, 129, 131, 130, 129, 133, 139, 133, 122, 115, 117, 121, 117, 111, 106, 113,
+  116, 116, 118, 121, 119, 115, 111, 107, 108, 110, 104, 92, 86, 87, 90, 88,
+  79, 63, 53, 51, 52, 52, 40, 109, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 174, 8, 6, 5, 6, 16, 34, 54, 69, 65, 74,
+  79, 78, 77, 81, 83, 82, 85, 86, 88, 89, 92, 98, 105, 108, 118, 119,
+  121, 122, 123, 123, 122, 122, 127, 129, 133, 138, 142, 145, 146, 147, 146, 147,
+  144, 141, 143, 148, 149, 145, 138, 136, 138, 142, 141, 137, 138, 144, 140, 140,
+  136, 129, 127, 131, 133, 133, 130, 126, 126, 131, 135, 133, 134, 137, 133, 132,
+  128, 123, 120, 118, 110, 102, 99, 109, 115, 114, 114, 115, 115, 114, 120, 111,
+  108, 111, 111, 103, 92, 87, 85, 83, 72, 56, 44, 39, 37, 34, 110, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 173, 10,
+  7, 0, 0, 10, 34, 54, 58, 68, 77, 78, 77, 80, 84, 85, 83, 84,
+  86, 87, 88, 93, 99, 103, 112, 114, 117, 120, 122, 122, 121, 120, 125, 126,
+  130, 134, 137, 141, 142, 143, 145, 145, 141, 136, 136, 141, 142, 139, 134, 136,
+  143, 149, 147, 141, 137, 137, 139, 139, 135, 129, 127, 130, 132, 130, 126, 127,
+  132, 136, 138, 135, 135, 138, 118, 123, 126, 125, 124, 120, 110, 101, 99, 112,
+  121, 118, 112, 110, 111, 114, 121, 110, 103, 106, 111, 106, 92, 82, 71, 69,
+  61, 51, 44, 41, 40, 37, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 16, 13, 3, 0, 0, 15, 29, 54, 62,
+  68, 69, 69, 72, 79, 85, 82, 83, 84, 85, 86, 90, 95, 98, 103, 106,
+  111, 117, 119, 121, 119, 118, 122, 125, 127, 131, 135, 138, 140, 141, 144, 145,
+  141, 136, 135, 137, 134, 129, 128, 134, 142, 147, 145, 139, 133, 131, 134, 135,
+  132, 126, 125, 128, 129, 127, 127, 130, 133, 134, 131, 127, 129, 133, 120, 122,
+  123, 123, 124, 122, 109, 98, 106, 120, 130, 124, 114, 109, 112, 115, 118, 109,
+  101, 102, 107, 103, 90, 80, 62, 62, 56, 50, 47, 48, 45, 112, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176,
+  18, 13, 7, 5, 8, 11, 42, 48, 57, 64, 67, 69, 75, 81, 82, 83,
+  84, 84, 85, 88, 92, 95, 99, 103, 109, 114, 119, 120, 118, 119, 122, 123,
+  126, 129, 132, 136, 138, 140, 141, 145, 143, 138, 136, 134, 126, 119, 126, 132,
+  138, 141, 140, 137, 132, 129, 127, 129, 127, 122, 121, 125, 126, 124, 126, 128,
+  127, 123, 119, 119, 123, 127, 136, 131, 123, 119, 120, 120, 107, 94, 103, 118,
+  127, 123, 113, 110, 112, 115, 114, 112, 106, 104, 103, 99, 91, 85, 72, 67,
+  59, 49, 46, 45, 110, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 26, 24, 21, 16, 14, 25, 32,
+  45, 61, 71, 72, 73, 76, 80, 81, 83, 84, 84, 87, 90, 94, 98, 102,
+  108, 113, 118, 120, 120, 121, 120, 121, 123, 127, 130, 133, 137, 138, 139, 141,
+  142, 139, 135, 132, 123, 113, 122, 129, 135, 136, 135, 135, 133, 129, 127, 129,
+  128, 125, 125, 129, 131, 128, 127, 127, 124, 118, 117, 124, 131, 134, 132, 129,
+  121, 117, 121, 124, 117, 107, 97, 108, 117, 118, 114, 114, 113, 112, 106, 110,
+  108, 101, 95, 91, 87, 84, 78, 71, 59, 50, 47, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 182, 33, 31, 28, 27, 20, 21, 30, 47, 61, 67, 72, 75, 78, 79,
+  80, 82, 82, 84, 88, 92, 96, 99, 104, 109, 114, 116, 118, 119, 117, 119,
+  120, 122, 126, 130, 133, 134, 135, 138, 138, 135, 132, 130, 123, 115, 115, 124,
+  130, 130, 130, 132, 130, 125, 125, 128, 128, 126, 127, 132, 134, 131, 128, 127,
+  123, 117, 121, 131, 138, 137, 122, 127, 128, 126, 126, 126, 122, 118, 105, 110,
+  114, 116, 120, 121, 115, 108, 102, 107, 105, 96, 91, 88, 84, 80, 72, 65,
+  53, 115, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 34, 32, 34, 37, 28, 19,
+  18, 30, 46, 58, 68, 77, 76, 76, 79, 81, 81, 83, 87, 90, 92, 95,
+  99, 104, 108, 113, 116, 116, 116, 116, 118, 120, 123, 128, 131, 133, 132, 134,
+  134, 130, 130, 130, 124, 118, 108, 118, 125, 126, 126, 128, 126, 119, 116, 119,
+  120, 118, 120, 125, 127, 126, 125, 124, 118, 113, 118, 129, 133, 130, 125, 136,
+  143, 138, 127, 119, 113, 110, 119, 120, 122, 123, 128, 128, 118, 107, 107, 109,
+  106, 98, 94, 94, 89, 82, 68, 59, 45, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 180, 28, 26, 21, 20, 21, 25, 30, 42, 62, 80, 75, 79,
+  72, 89, 77, 88, 78, 82, 86, 85, 88, 97, 102, 104, 109, 114, 121, 116,
+  114, 116, 123, 129, 130, 129, 127, 130, 132, 129, 123, 120, 122, 125, 120, 117,
+  114, 119, 128, 136, 137, 136, 123, 122, 117, 114, 115, 122, 125, 124, 124, 122,
+  121, 122, 123, 123, 122, 121, 122, 137, 144, 131, 114, 112, 120, 127, 116, 121,
+  123, 122, 122, 119, 109, 100, 104, 104, 103, 98, 89, 81, 74, 73, 62, 57,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 32, 20, 21,
+  21, 21, 19, 26, 45, 61, 69, 75, 69, 80, 65, 77, 74, 84, 78, 79,
+  84, 94, 101, 105, 110, 114, 119, 117, 116, 119, 124, 127, 127, 124, 130, 133,
+  135, 132, 126, 120, 119, 121, 133, 132, 130, 129, 129, 131, 132, 133, 123, 123,
+  120, 116, 118, 124, 127, 126, 130, 127, 122, 120, 119, 120, 119, 118, 123, 131,
+  135, 128, 121, 119, 119, 118, 112, 115, 116, 118, 121, 123, 116, 107, 104, 102,
+  97, 91, 81, 71, 60, 55, 121, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 181, 21, 22, 21, 18, 12, 11, 23, 37, 55, 66,
+  69, 77, 67, 75, 76, 86, 75, 75, 80, 90, 96, 100, 104, 110, 116, 117,
+  120, 122, 124, 124, 121, 119, 129, 129, 130, 129, 127, 123, 120, 118, 126, 129,
+  130, 130, 129, 132, 136, 141, 124, 125, 122, 119, 121, 127, 128, 126, 135, 130,
+  125, 121, 120, 122, 122, 122, 123, 125, 125, 125, 128, 126, 118, 108, 114, 117,
+  117, 117, 122, 124, 117, 108, 110, 103, 95, 88, 81, 70, 55, 115, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 24,
+  23, 22, 17, 12, 12, 18, 36, 51, 65, 75, 73, 77, 76, 78, 80, 76,
+  77, 83, 87, 91, 97, 103, 112, 115, 121, 125, 124, 121, 117, 114, 125, 123,
+  122, 123, 126, 126, 125, 123, 120, 121, 123, 125, 128, 133, 138, 142, 126, 126,
+  124, 122, 124, 129, 129, 126, 129, 127, 122, 121, 122, 124, 124, 125, 123, 121,
+  121, 125, 129, 127, 117, 108, 111, 118, 123, 123, 123, 122, 118, 112, 112, 103,
+  89, 82, 76, 69, 122, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 177, 26, 27, 20, 15, 12, 28, 38,
+  51, 57, 67, 72, 75, 70, 81, 76, 73, 75, 78, 84, 92, 100, 104, 111,
+  119, 122, 121, 117, 114, 114, 127, 124, 122, 123, 125, 127, 129, 130, 133, 128,
+  124, 125, 129, 133, 132, 130, 129, 131, 130, 127, 129, 132, 132, 128, 122, 121,
+  119, 119, 120, 120, 118, 118, 120, 121, 122, 124, 122, 120, 116, 115, 105, 118,
+  128, 128, 122, 119, 117, 115, 107, 93, 77, 66, 62, 122, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 30, 28, 23, 21, 42, 43, 49, 40, 54, 61, 73, 69, 77, 70,
+  66, 68, 71, 78, 87, 96, 94, 102, 111, 115, 114, 112, 113, 115, 132, 131,
+  129, 127, 128, 130, 133, 134, 143, 136, 128, 128, 133, 136, 133, 129, 131, 133,
+  133, 131, 132, 136, 134, 129, 125, 124, 122, 121, 120, 119, 116, 113, 118, 121,
+  123, 123, 117, 112, 114, 120, 114, 127, 134, 127, 114, 105, 101, 99, 99, 86,
+  67, 100, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 40, 58, 57,
+  59, 35, 45, 47, 66, 63, 71, 66, 63, 65, 67, 71, 77, 84, 83, 92,
+  102, 106, 105, 106, 111, 118, 126, 130, 132, 132, 131, 131, 132, 135, 135, 131,
+  128, 127, 129, 132, 132, 131, 127, 130, 130, 129, 130, 133, 130, 125, 125, 122,
+  118, 117, 116, 115, 113, 113, 114, 117, 121, 123, 113, 106, 108, 117, 126, 129,
+  125, 115, 103, 93, 86, 79, 85, 75, 126, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 190, 62, 67, 37, 40, 33, 51, 47, 70, 65,
+  63, 65, 65, 65, 66, 71, 77, 86, 97, 100, 99, 102, 111, 119, 114, 123,
+  131, 135, 133, 132, 133, 136, 130, 130, 127, 123, 119, 118, 120, 123, 121, 124,
+  125, 124, 125, 127, 124, 118, 115, 111, 106, 104, 106, 108, 109, 109, 113, 115,
+  121, 122, 115, 104, 106, 113, 120, 117, 109, 100, 97, 96, 89, 81, 131, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  198, 76, 33, 33, 47, 34, 55, 59, 62, 63, 66, 72, 74, 72, 78, 77,
+  81, 91, 100, 105, 109, 112, 118, 120, 123, 128, 129, 128, 123, 118, 127, 127,
+  128, 126, 122, 116, 110, 107, 117, 117, 121, 125, 123, 116, 113, 115, 112, 108,
+  107, 109, 109, 104, 104, 107, 112, 114, 115, 109, 101, 95, 96, 98, 105, 98,
+  85, 77, 81, 83, 69, 120, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 43, 35, 40,
+  44, 48, 56, 64, 65, 61, 75, 77, 79, 84, 90, 98, 102, 105, 106, 111,
+  118, 124, 125, 124, 119, 115, 116, 118, 120, 119, 116, 114, 113, 114, 108, 108,
+  111, 119, 120, 120, 117, 120, 110, 105, 104, 105, 104, 103, 106, 110, 104, 108,
+  110, 106, 98, 91, 90, 92, 96, 92, 83, 76, 134, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 209, 115, 116, 118,
+  119, 116, 112, 110, 114, 118, 113, 110, 108, 114, 117, 116, 113, 114, 108, 105,
+  105, 108, 108, 104, 105, 108, 111, 114, 113, 107, 97, 89, 84, 84, 86, 87,
+  140, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 103, 107, 114, 115, 108,
+  104, 108, 112, 111, 108, 107, 109, 108, 112, 116, 115, 107, 100, 100, 115, 114,
+  112, 105, 97, 145, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  14, 20, 10, 17, 19, 14, 1, 0, 5, 12, 16, 11, 8, 7, 9, 5,
+  5, 3, 4, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 95,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 182, 17, 24, 9, 14, 9, 14, 14, 26, 17, 18, 23,
+  32, 31, 35, 35, 38, 35, 50, 45, 44, 40, 41, 36, 33, 26, 16, 12,
+  11, 7, 9, 6, 6, 4, 2, 13, 11, 13, 13, 4, 8, 71, 201, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 184, 42, 35, 15, 20, 7,
+  22, 21, 41, 41, 56, 45, 49, 62, 67, 62, 61, 67, 71, 69, 62, 59,
+  60, 63, 67, 68, 66, 63, 51, 49, 47, 42, 34, 21, 8, 1, 6, 4,
+  0, 3, 8, 0, 14, 40, 111, 77, 47, 38, 28, 10, 62, 202, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  183, 46, 42, 34, 33, 33, 51, 55, 61, 65, 67, 68, 70, 71, 68, 69,
+  70, 72, 75, 77, 78, 78, 74, 75, 76, 75, 74, 74, 76, 78, 74, 72,
+  69, 65, 61, 57, 54, 53, 38, 41, 40, 27, 13, 12, 27, 42, 69, 43,
+  34, 48, 39, 7, 0, 9, 6, 65, 200, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 21, 38, 49, 55, 60, 66, 72, 62, 64,
+  70, 70, 73, 72, 75, 75, 80, 79, 82, 82, 86, 86, 89, 88, 88, 87,
+  89, 85, 84, 81, 84, 83, 82, 79, 79, 75, 74, 70, 70, 69, 72, 73,
+  67, 53, 36, 22, 18, 17, 48, 34, 25, 26, 23, 11, 5, 9, 4, 11,
+  9, 8, 15, 96, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 34, 48, 51,
+  56, 60, 60, 61, 64, 66, 74, 74, 78, 77, 79, 77, 81, 81, 85, 83,
+  86, 86, 89, 88, 91, 90, 94, 93, 95, 91, 91, 87, 89, 88, 90, 88,
+  90, 87, 89, 86, 88, 88, 77, 76, 75, 72, 68, 62, 55, 48, 28, 26,
+  17, 4, 1, 7, 6, 0, 3, 12, 14, 13, 15, 19, 20, 18, 90, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 171, 15, 34, 45, 58, 58, 61, 64, 68, 72, 74, 74, 78, 80,
+  83, 81, 83, 82, 87, 88, 87, 85, 88, 87, 89, 88, 91, 89, 92, 93,
+  96, 95, 95, 93, 95, 96, 94, 94, 95, 94, 95, 95, 96, 96, 97, 90,
+  84, 79, 77, 74, 71, 67, 37, 35, 23, 5, 0, 3, 0, 0, 6, 10,
+  15, 16, 17, 24, 24, 11, 8, 14, 12, 91, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 203, 71, 18, 28, 44, 55, 58, 60, 60,
+  65, 72, 79, 84, 86, 85, 84, 86, 89, 88, 89, 90, 94, 96, 97, 96,
+  97, 96, 98, 97, 98, 97, 98, 99, 103, 101, 102, 99, 101, 100, 97, 95,
+  97, 94, 96, 94, 96, 96, 98, 95, 88, 80, 76, 74, 73, 74, 66, 56,
+  44, 34, 26, 16, 6, 3, 8, 6, 10, 15, 20, 34, 32, 8, 13, 15,
+  11, 9, 2, 105, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 178,
+  33, 42, 57, 69, 73, 69, 74, 74, 78, 80, 80, 79, 78, 76, 90, 95,
+  97, 98, 99, 100, 102, 104, 106, 105, 105, 104, 104, 103, 103, 101, 101, 103,
+  105, 104, 101, 98, 97, 97, 97, 97, 96, 95, 94, 93, 93, 92, 76, 79,
+  84, 83, 81, 80, 83, 86, 78, 66, 60, 59, 50, 32, 22, 22, 19, 9,
+  11, 16, 22, 45, 48, 17, 26, 18, 16, 9, 6, 21, 6, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 180, 39, 50, 57, 66, 72, 73, 68, 73, 75,
+  78, 80, 84, 85, 89, 90, 97, 100, 103, 104, 103, 103, 103, 104, 104, 104,
+  103, 102, 101, 100, 100, 99, 97, 97, 99, 99, 96, 93, 92, 92, 94, 93,
+  93, 92, 91, 90, 89, 89, 86, 87, 89, 87, 82, 78, 78, 77, 78, 71,
+  68, 69, 64, 52, 43, 42, 41, 25, 23, 22, 20, 49, 61, 32, 39, 21,
+  25, 13, 18, 16, 11, 18, 14, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 59, 70,
+  81, 85, 84, 86, 86, 85, 92, 92, 94, 91, 90, 88, 92, 94, 98, 103,
+  106, 107, 105, 103, 102, 102, 104, 104, 103, 102, 101, 99, 98, 98, 91, 94,
+  98, 99, 98, 96, 95, 95, 91, 91, 90, 90, 89, 88, 88, 88, 91, 88,
+  84, 82, 84, 86, 86, 86, 76, 77, 77, 74, 72, 69, 60, 53, 57, 38,
+  32, 24, 14, 43, 62, 39, 46, 21, 31, 18, 29, 18, 21, 32, 14, 22,
+  103, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 31, 43, 51, 75, 77, 82, 86, 88, 91, 95, 97, 95, 95,
+  95, 95, 96, 94, 97, 97, 101, 101, 103, 104, 104, 104, 104, 104, 104, 104,
+  103, 102, 101, 100, 99, 99, 95, 92, 89, 90, 92, 92, 90, 87, 88, 86,
+  84, 82, 80, 79, 78, 78, 76, 76, 78, 79, 79, 79, 79, 79, 79, 80,
+  82, 81, 79, 76, 73, 73, 60, 64, 41, 34, 44, 23, 9, 32, 25, 14,
+  55, 21, 16, 27, 34, 52, 32, 11, 23, 109, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 180, 23, 35, 60, 80, 80, 83,
+  87, 89, 90, 92, 94, 96, 97, 97, 98, 98, 98, 99, 99, 99, 103, 103,
+  104, 104, 104, 104, 104, 104, 102, 102, 101, 100, 99, 97, 97, 96, 90, 88,
+  87, 88, 91, 92, 91, 89, 89, 87, 85, 83, 81, 79, 79, 78, 78, 79,
+  79, 79, 80, 80, 80, 80, 80, 81, 81, 81, 80, 78, 76, 75, 73, 77,
+  58, 46, 49, 30, 18, 42, 44, 29, 61, 27, 23, 34, 36, 48, 79, 36,
+  20, 27, 45, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  30, 33, 51, 74, 87, 90, 90, 93, 95, 96, 96, 96, 97, 98, 100, 100,
+  101, 101, 101, 102, 102, 102, 104, 104, 104, 104, 104, 103, 103, 103, 102, 101,
+  100, 99, 98, 97, 96, 96, 92, 89, 88, 88, 90, 91, 90, 89, 88, 87,
+  85, 82, 80, 79, 78, 78, 77, 76, 75, 74, 74, 74, 74, 75, 80, 81,
+  81, 82, 82, 82, 81, 81, 83, 89, 77, 65, 64, 46, 37, 58, 50, 31,
+  55, 25, 25, 33, 36, 45, 77, 38, 23, 31, 62, 75, 111, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 176, 21, 34, 57, 86, 104, 100, 88, 96, 98,
+  100, 101, 99, 99, 100, 101, 101, 101, 101, 102, 102, 103, 103, 103, 105, 104,
+  103, 102, 102, 101, 101, 101, 103, 102, 102, 101, 100, 99, 98, 96, 99, 98,
+  97, 96, 95, 93, 92, 91, 91, 89, 87, 85, 84, 82, 82, 82, 79, 78,
+  76, 74, 73, 73, 73, 73, 77, 78, 79, 80, 81, 81, 82, 84, 77, 84,
+  79, 74, 76, 61, 53, 65, 36, 19, 38, 16, 19, 24, 36, 45, 50, 34,
+  35, 35, 55, 71, 47, 105, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 170, 6, 38,
+  72, 91, 94, 95, 98, 99, 96, 98, 101, 101, 100, 100, 101, 102, 100, 100,
+  100, 100, 101, 101, 101, 102, 102, 101, 100, 98, 98, 98, 98, 99, 100, 100,
+  99, 99, 99, 99, 98, 98, 103, 101, 101, 99, 98, 96, 96, 96, 93, 92,
+  91, 89, 88, 87, 87, 89, 91, 92, 90, 88, 85, 84, 83, 82, 79, 79,
+  79, 79, 79, 80, 81, 81, 73, 74, 74, 77, 81, 73, 63, 63, 31, 17,
+  31, 12, 11, 12, 30, 38, 30, 25, 23, 6, 10, 30, 24, 21, 13, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 170, 3, 10, 27, 59, 79, 96, 100, 95, 93, 97, 100, 94, 97,
+  99, 100, 99, 99, 100, 101, 98, 98, 98, 99, 99, 99, 100, 100, 102, 101,
+  99, 98, 97, 98, 99, 100, 98, 99, 99, 100, 101, 101, 102, 100, 99, 101,
+  103, 103, 102, 102, 104, 106, 100, 100, 99, 98, 98, 99, 99, 102, 101, 102,
+  101, 99, 96, 93, 90, 88, 84, 84, 82, 80, 79, 79, 79, 79, 78, 74,
+  76, 79, 82, 76, 67, 58, 42, 26, 31, 13, 6, 0, 16, 20, 40, 37,
+  38, 23, 26, 43, 33, 29, 11, 11, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 0, 0, 21, 40, 70, 101, 97,
+  94, 92, 96, 101, 98, 90, 95, 97, 99, 99, 97, 97, 97, 98, 97, 97,
+  97, 98, 98, 98, 99, 99, 103, 102, 100, 99, 99, 101, 103, 104, 101, 102,
+  103, 105, 106, 108, 109, 108, 103, 104, 107, 108, 107, 107, 110, 113, 108, 107,
+  107, 108, 109, 110, 111, 113, 112, 114, 114, 112, 108, 103, 98, 95, 98, 96,
+  92, 89, 86, 84, 83, 83, 84, 78, 78, 78, 76, 75, 73, 63, 58, 40,
+  34, 19, 13, 0, 14, 13, 10, 10, 21, 14, 17, 27, 13, 8, 12, 11,
+  13, 96, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  15, 20, 41, 72, 73, 89, 87, 92, 95, 93, 92, 94, 96, 94, 96, 98,
+  99, 99, 96, 95, 95, 96, 97, 97, 97, 98, 98, 98, 99, 99, 104, 103,
+  101, 100, 101, 103, 106, 107, 106, 107, 108, 111, 113, 115, 117, 116, 111, 112,
+  115, 114, 112, 111, 113, 116, 113, 114, 114, 115, 116, 118, 120, 124, 122, 125,
+  126, 124, 121, 114, 109, 104, 108, 104, 101, 95, 92, 88, 87, 85, 86, 79,
+  80, 77, 70, 72, 79, 72, 73, 50, 41, 29, 30, 12, 29, 20, 27, 27,
+  33, 19, 13, 21, 19, 29, 12, 11, 11, 12, 91, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 25, 45, 60, 74, 84, 86, 83, 94, 93,
+  94, 93, 92, 89, 89, 89, 92, 93, 94, 95, 96, 96, 96, 96, 98, 98,
+  98, 98, 99, 101, 102, 103, 100, 101, 103, 106, 109, 110, 111, 112, 107, 108,
+  111, 114, 116, 117, 117, 117, 114, 120, 117, 115, 123, 122, 116, 118, 122, 118,
+  119, 125, 125, 119, 116, 122, 129, 126, 127, 128, 131, 125, 121, 115, 115, 107,
+  101, 94, 94, 89, 87, 82, 88, 84, 79, 76, 75, 73, 73, 71, 65, 57,
+  51, 43, 32, 25, 32, 48, 50, 57, 68, 32, 13, 22, 10, 14, 12, 6,
+  3, 7, 10, 90, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 177, 43, 56,
+  70, 80, 88, 92, 91, 86, 93, 95, 95, 93, 93, 92, 92, 94, 92, 93,
+  95, 97, 98, 99, 99, 99, 100, 100, 100, 101, 102, 104, 105, 106, 101, 103,
+  105, 107, 110, 111, 112, 112, 116, 116, 116, 117, 118, 120, 122, 123, 124, 127,
+  124, 119, 127, 123, 118, 118, 134, 129, 128, 122, 117, 107, 105, 108, 119, 122,
+  119, 108, 94, 89, 95, 105, 106, 102, 99, 100, 102, 101, 96, 91, 70, 70,
+  74, 76, 77, 75, 68, 63, 81, 63, 48, 45, 46, 38, 26, 20, 41, 37,
+  58, 54, 34, 15, 0, 23, 26, 15, 5, 4, 6, 6, 90, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 170, 24, 68, 78, 87, 92, 93, 93, 88, 82, 86, 87,
+  86, 85, 86, 86, 91, 93, 94, 95, 97, 99, 101, 103, 103, 104, 105, 105,
+  105, 106, 107, 109, 110, 111, 107, 108, 110, 112, 114, 116, 116, 117, 126, 125,
+  123, 123, 124, 126, 129, 131, 132, 135, 130, 124, 131, 125, 119, 121, 131, 128,
+  123, 106, 95, 87, 86, 86, 85, 70, 52, 54, 70, 76, 63, 46, 56, 47,
+  39, 39, 48, 58, 62, 60, 80, 70, 61, 55, 55, 63, 70, 74, 72, 65,
+  59, 55, 47, 32, 17, 12, 34, 46, 60, 38, 17, 17, 13, 22, 11, 5,
+  3, 8, 9, 6, 1, 85, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 170, 8, 35, 62, 74, 81,
+  89, 90, 89, 88, 84, 80, 81, 81, 81, 81, 82, 84, 91, 94, 96, 97,
+  100, 102, 105, 107, 108, 109, 109, 110, 110, 111, 112, 114, 116, 117, 116, 117,
+  118, 120, 122, 123, 123, 123, 128, 128, 129, 130, 132, 134, 136, 137, 137, 137,
+  131, 126, 133, 125, 120, 124, 121, 119, 112, 91, 79, 75, 78, 78, 54, 61,
+  67, 71, 72, 70, 61, 52, 53, 41, 27, 22, 26, 31, 31, 28, 43, 42,
+  46, 47, 47, 42, 37, 31, 57, 59, 62, 62, 54, 41, 30, 29, 20, 46,
+  56, 34, 16, 16, 6, 0, 5, 5, 9, 12, 10, 3, 0, 0, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 170, 2, 30, 68, 82, 78, 85, 92, 91, 90, 89, 86, 82, 81, 82,
+  84, 84, 88, 91, 98, 102, 100, 102, 105, 108, 110, 113, 114, 114, 115, 116,
+  116, 117, 119, 121, 123, 124, 122, 121, 123, 124, 125, 126, 126, 126, 124, 126,
+  131, 135, 138, 140, 140, 142, 140, 138, 131, 128, 135, 126, 123, 129, 124, 119,
+  110, 93, 84, 82, 87, 90, 87, 96, 99, 94, 88, 85, 79, 72, 48, 44,
+  40, 42, 47, 49, 44, 38, 36, 34, 37, 39, 40, 39, 36, 33, 27, 19,
+  14, 25, 40, 43, 30, 16, 31, 23, 17, 24, 22, 12, 18, 27, 14, 13,
+  13, 11, 5, 0, 5, 12, 1, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 176, 15, 26, 46, 73, 70, 82, 87,
+  91, 88, 86, 85, 84, 81, 81, 83, 86, 89, 93, 97, 104, 108, 108, 110,
+  112, 115, 118, 120, 121, 122, 123, 123, 124, 125, 127, 130, 132, 131, 128, 127,
+  128, 129, 129, 129, 129, 129, 126, 130, 136, 142, 146, 148, 147, 148, 146, 143,
+  134, 134, 139, 132, 128, 139, 135, 124, 111, 103, 97, 94, 98, 105, 126, 113,
+  91, 80, 88, 99, 94, 79, 90, 83, 75, 71, 73, 76, 79, 79, 41, 32,
+  21, 14, 18, 30, 44, 52, 49, 48, 49, 53, 64, 73, 71, 66, 53, 50,
+  28, 22, 18, 10, 14, 5, 0, 0, 3, 9, 8, 3, 2, 3, 2, 85,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 172,
+  3, 32, 58, 67, 87, 84, 83, 87, 89, 85, 82, 82, 81, 79, 82, 85,
+  91, 95, 100, 104, 111, 114, 118, 119, 121, 124, 126, 128, 129, 129, 131, 131,
+  132, 134, 136, 138, 140, 140, 136, 134, 135, 136, 136, 136, 135, 135, 136, 139,
+  143, 148, 152, 154, 154, 156, 159, 154, 143, 143, 148, 140, 136, 149, 147, 126,
+  112, 113, 113, 107, 110, 122, 126, 132, 124, 105, 95, 100, 108, 110, 98, 91,
+  80, 69, 60, 57, 57, 58, 71, 72, 76, 79, 80, 77, 72, 68, 54, 62,
+  65, 57, 53, 57, 65, 72, 87, 118, 111, 103, 93, 79, 63, 18, 23, 12,
+  5, 8, 12, 9, 1, 0, 3, 1, 86, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 11, 2, 48, 75, 64, 80, 81, 81, 87,
+  87, 85, 83, 84, 85, 83, 89, 93, 99, 104, 110, 114, 120, 123, 124, 123,
+  128, 128, 132, 133, 134, 134, 136, 137, 138, 139, 141, 144, 146, 148, 143, 143,
+  144, 145, 145, 144, 144, 143, 147, 146, 149, 152, 155, 157, 159, 162, 169, 162,
+  151, 151, 155, 146, 142, 155, 155, 129, 114, 123, 126, 119, 122, 138, 144, 139,
+  126, 120, 129, 131, 111, 84, 49, 62, 81, 96, 100, 96, 90, 86, 83, 80,
+  77, 73, 69, 62, 54, 48, 52, 47, 36, 27, 29, 34, 31, 25, 18, 27,
+  25, 55, 77, 85, 119, 126, 109, 71, 28, 6, 7, 11, 9, 7, 4, 1,
+  3, 86, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 170, 4,
+  26, 54, 68, 73, 75, 84, 89, 85, 83, 87, 86, 86, 90, 95, 102, 107,
+  111, 111, 112, 117, 123, 126, 129, 121, 124, 128, 133, 131, 131, 136, 129, 133,
+  140, 145, 148, 147, 145, 144, 153, 153, 151, 150, 149, 148, 144, 142, 154, 150,
+  150, 155, 158, 159, 161, 168, 173, 172, 168, 164, 160, 159, 159, 160, 156, 130,
+  131, 142, 134, 134, 143, 143, 149, 151, 143, 125, 104, 95, 99, 109, 122, 113,
+  105, 103, 104, 106, 104, 99, 97, 98, 99, 100, 100, 94, 85, 79, 71, 69,
+  60, 42, 28, 22, 19, 18, 16, 10, 10, 14, 16, 19, 40, 64, 82, 107,
+  119, 88, 38, 4, 0, 0, 6, 0, 4, 10, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 22, 28, 48, 69, 76, 73, 74, 81, 91, 88,
+  86, 89, 91, 91, 95, 100, 116, 118, 122, 124, 127, 130, 132, 131, 126, 126,
+  121, 116, 120, 128, 128, 121, 129, 131, 137, 141, 145, 148, 150, 150, 161, 160,
+  156, 152, 151, 150, 146, 145, 153, 151, 150, 155, 159, 158, 161, 166, 177, 178,
+  174, 170, 167, 166, 167, 167, 154, 145, 143, 141, 139, 158, 162, 142, 155, 138,
+  119, 119, 135, 147, 145, 136, 127, 125, 126, 130, 139, 142, 143, 140, 145, 141,
+  140, 135, 127, 115, 104, 95, 84, 82, 74, 57, 42, 29, 18, 8, 15, 8,
+  8, 11, 11, 11, 27, 48, 38, 43, 68, 98, 97, 59, 19, 0, 14, 5,
+  1, 1, 85, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 29, 41,
+  63, 77, 81, 78, 79, 84, 86, 86, 86, 92, 96, 101, 107, 113, 120, 119,
+  121, 125, 127, 127, 125, 123, 129, 132, 125, 113, 118, 135, 137, 124, 129, 130,
+  133, 138, 144, 150, 156, 159, 162, 159, 154, 152, 152, 150, 150, 149, 152, 149,
+  150, 153, 158, 156, 158, 165, 174, 175, 172, 171, 169, 167, 170, 170, 161, 159,
+  162, 161, 163, 173, 170, 147, 139, 139, 142, 148, 156, 158, 155, 148, 141, 144,
+  149, 154, 159, 158, 157, 154, 153, 152, 149, 145, 141, 133, 124, 117, 111, 109,
+  103, 89, 74, 57, 38, 21, 15, 9, 9, 12, 13, 10, 15, 24, 7, 19,
+  29, 47, 80, 94, 62, 13, 5, 6, 5, 6, 9, 93, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 31, 48, 70, 81, 82, 79, 80, 82, 83, 85,
+  88, 93, 98, 106, 112, 118, 132, 126, 123, 125, 126, 122, 118, 116, 110, 115,
+  114, 108, 113, 127, 133, 126, 128, 128, 132, 138, 145, 153, 160, 161, 160, 156,
+  152, 151, 150, 152, 154, 154, 151, 146, 147, 152, 154, 154, 156, 160, 167, 166,
+  167, 165, 164, 164, 166, 167, 167, 164, 170, 183, 177, 161, 151, 151, 136, 152,
+  167, 165, 152, 144, 143, 149, 155, 157, 160, 161, 159, 154, 150, 148, 150, 149,
+  148, 149, 150, 147, 144, 140, 130, 128, 122, 116, 107, 93, 70, 51, 22, 14,
+  9, 15, 19, 17, 14, 12, 14, 22, 15, 6, 29, 68, 78, 63, 16, 23,
+  14, 2, 4, 7, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 3, 46, 65,
+  83, 86, 84, 82, 80, 78, 86, 90, 96, 99, 104, 110, 113, 115, 123, 114,
+  109, 109, 110, 105, 103, 102, 104, 107, 111, 117, 120, 122, 128, 137, 130, 131,
+  136, 143, 150, 157, 161, 162, 159, 153, 149, 147, 148, 149, 150, 151, 146, 143,
+  144, 148, 150, 149, 151, 154, 157, 158, 161, 163, 163, 163, 164, 165, 164, 167,
+  174, 173, 164, 146, 147, 158, 157, 146, 139, 138, 142, 150, 154, 156, 155, 156,
+  160, 161, 160, 156, 155, 155, 151, 148, 145, 143, 143, 140, 136, 133, 130, 128,
+  123, 121, 119, 111, 93, 77, 52, 34, 15, 10, 16, 18, 16, 13, 22, 8,
+  10, 26, 28, 25, 51, 91, 82, 85, 52, 12, 6, 12, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 20, 47, 69, 84, 85, 85, 88, 86, 80, 85, 94,
+  103, 108, 114, 122, 123, 122, 100, 93, 89, 93, 97, 94, 97, 104, 110, 109,
+  115, 125, 127, 123, 129, 139, 137, 138, 142, 146, 152, 157, 162, 160, 163, 157,
+  151, 147, 145, 144, 144, 142, 142, 139, 141, 145, 147, 145, 148, 149, 151, 153,
+  159, 163, 164, 164, 166, 166, 162, 178, 168, 146, 147, 156, 163, 167, 151, 135,
+  127, 131, 142, 155, 158, 154, 157, 156, 158, 158, 158, 158, 157, 156, 148, 144,
+  138, 134, 132, 129, 125, 122, 127, 125, 121, 118, 121, 119, 107, 94, 86, 63,
+  33, 14, 9, 10, 16, 18, 17, 9, 15, 26, 22, 13, 25, 52, 79, 95,
+  63, 15, 8, 12, 88, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 11, 45, 66,
+  81, 80, 84, 94, 94, 84, 90, 100, 107, 107, 110, 110, 106, 101, 82, 79,
+  85, 98, 107, 109, 120, 133, 110, 110, 109, 112, 117, 125, 128, 126, 149, 147,
+  147, 148, 152, 155, 161, 160, 166, 160, 154, 149, 148, 144, 141, 138, 142, 139,
+  141, 145, 146, 144, 148, 148, 144, 146, 155, 159, 164, 165, 162, 163, 160, 165,
+  143, 128, 147, 164, 161, 157, 130, 129, 135, 140, 143, 145, 147, 150, 159, 155,
+  154, 154, 155, 150, 144, 141, 145, 143, 137, 132, 130, 128, 127, 125, 119, 119,
+  117, 116, 118, 120, 113, 104, 98, 88, 67, 37, 17, 8, 13, 20, 15, 21,
+  17, 6, 4, 15, 18, 12, 62, 99, 84, 43, 40, 42, 27, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 173, 0, 59, 75, 87, 82, 84, 95, 93, 80, 100, 106,
+  106, 96, 86, 77, 64, 50, 49, 52, 67, 89, 101, 108, 121, 137, 128, 130,
+  125, 118, 132, 152, 153, 139, 159, 155, 151, 148, 150, 155, 162, 163, 165, 160,
+  158, 154, 153, 149, 147, 143, 145, 142, 143, 146, 149, 148, 149, 150, 140, 142,
+  150, 157, 161, 160, 159, 157, 157, 137, 109, 120, 156, 156, 136, 131, 131, 125,
+  126, 129, 135, 143, 147, 151, 155, 152, 151, 152, 154, 149, 142, 133, 131, 126,
+  120, 113, 111, 108, 107, 106, 107, 109, 110, 111, 115, 118, 114, 108, 92, 99,
+  93, 66, 32, 12, 11, 18, 19, 11, 9, 15, 17, 16, 16, 22, 28, 71,
+  56, 12, 11, 16, 4, 6, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 6, 15, 67, 73,
+  85, 88, 88, 88, 93, 99, 97, 89, 84, 92, 100, 72, 36, 22, 66, 97,
+  112, 106, 105, 121, 129, 122, 126, 126, 129, 133, 142, 149, 155, 158, 152, 165,
+  168, 155, 150, 158, 166, 165, 162, 168, 165, 172, 142, 146, 142, 150, 134, 139,
+  144, 144, 149, 153, 149, 140, 143, 137, 136, 146, 158, 163, 161, 160, 143, 82,
+  111, 148, 140, 133, 123, 123, 126, 117, 122, 133, 139, 136, 138, 144, 145, 146,
+  151, 149, 139, 128, 126, 125, 126, 117, 104, 99, 105, 93, 88, 96, 81, 96,
+  102, 98, 100, 110, 114, 110, 114, 106, 101, 88, 59, 24, 11, 16, 21, 20,
+  17, 12, 12, 15, 14, 11, 19, 54, 99, 32, 3, 6, 9, 13, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 1, 42, 58, 84, 102, 95, 87, 91, 98, 98, 79, 96,
+  90, 64, 39, 21, 20, 33, 37, 57, 68, 64, 65, 75, 80, 73, 100, 103,
+  108, 113, 123, 136, 152, 164, 182, 164, 153, 158, 165, 162, 165, 173, 170, 171,
+  169, 150, 174, 159, 151, 137, 162, 159, 148, 132, 130, 129, 116, 97, 91, 100,
+  115, 124, 128, 131, 136, 139, 71, 84, 138, 141, 108, 110, 112, 112, 113, 119,
+  129, 137, 138, 134, 136, 142, 154, 141, 138, 138, 134, 133, 129, 118, 105, 117,
+  114, 100, 96, 96, 93, 90, 82, 78, 73, 71, 85, 99, 111, 109, 116, 112,
+  109, 101, 81, 48, 22, 10, 17, 18, 18, 17, 15, 14, 14, 13, 19, 46,
+  100, 62, 25, 30, 34, 48, 92, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 16, 37, 78, 79,
+  83, 87, 95, 97, 88, 74, 76, 57, 22, 11, 49, 85, 90, 82, 106, 111,
+  118, 121, 124, 129, 131, 128, 115, 115, 116, 111, 107, 106, 113, 122, 129, 141,
+  162, 178, 174, 161, 165, 182, 170, 173, 169, 152, 170, 141, 138, 151, 160, 178,
+  188, 180, 169, 151, 115, 79, 96, 99, 90, 63, 40, 32, 34, 37, 55, 92,
+  129, 115, 101, 114, 109, 102, 111, 129, 143, 144, 140, 136, 137, 139, 143, 125,
+  127, 129, 122, 129, 134, 119, 121, 127, 121, 105, 94, 92, 87, 78, 79, 72,
+  71, 73, 80, 84, 96, 103, 117, 116, 111, 103, 91, 69, 35, 7, 9, 14,
+  19, 20, 17, 13, 16, 19, 14, 26, 84, 78, 19, 16, 15, 39, 17, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 12, 27, 49, 71, 82, 99, 100, 77, 52, 58, 77, 52, 76,
+  86, 73, 62, 58, 66, 81, 80, 81, 87, 97, 101, 104, 109, 115, 124, 126,
+  130, 130, 127, 121, 120, 120, 98, 104, 108, 121, 147, 169, 166, 150, 183, 170,
+  154, 165, 128, 112, 111, 147, 238, 245, 249, 250, 251, 225, 145, 66, 104, 79,
+  56, 69, 119, 161, 156, 126, 94, 103, 99, 95, 107, 116, 108, 119, 124, 139,
+  148, 144, 137, 138, 137, 135, 131, 122, 134, 134, 117, 123, 135, 125, 131, 117,
+  109, 113, 112, 110, 109, 106, 99, 90, 83, 73, 62, 59, 86, 118, 117, 117,
+  113, 101, 94, 82, 53, 19, 3, 9, 18, 20, 19, 13, 18, 24, 25, 24,
+  83, 96, 18, 6, 0, 26, 20, 92, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 14, 28, 52, 84, 72,
+  54, 48, 61, 85, 104, 108, 110, 80, 42, 29, 43, 51, 57, 69, 87, 90,
+  101, 114, 119, 123, 134, 145, 144, 144, 147, 151, 155, 153, 148, 143, 135, 125,
+  103, 87, 98, 128, 151, 159, 155, 153, 141, 123, 74, 110, 115, 82, 163, 206,
+  232, 207, 159, 124, 101, 85, 91, 104, 109, 99, 84, 78, 76, 72, 103, 111,
+  98, 95, 107, 100, 109, 139, 140, 145, 143, 135, 132, 137, 136, 129, 133, 129,
+  135, 129, 114, 116, 117, 103, 73, 64, 68, 72, 66, 74, 82, 71, 79, 78,
+  86, 90, 79, 63, 73, 94, 110, 118, 119, 111, 104, 97, 71, 43, 8, 10,
+  14, 18, 20, 15, 20, 28, 20, 19, 79, 94, 19, 8, 1, 28, 17, 7,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 13, 28, 63, 28, 73, 97, 83, 77, 98, 100, 79, 33, 30,
+  33, 52, 72, 73, 76, 93, 92, 99, 110, 119, 124, 129, 141, 152, 169, 160,
+  154, 151, 155, 155, 150, 145, 148, 150, 149, 134, 100, 78, 93, 123, 110, 57,
+  85, 109, 92, 53, 85, 98, 117, 125, 125, 119, 116, 116, 110, 100, 94, 88,
+  86, 91, 101, 105, 101, 96, 110, 128, 108, 101, 114, 116, 129, 139, 146, 141,
+  134, 131, 132, 135, 129, 120, 131, 131, 116, 100, 93, 88, 74, 61, 50, 54,
+  71, 68, 55, 73, 95, 84, 70, 64, 71, 86, 89, 77, 67, 63, 90, 105,
+  117, 115, 109, 100, 79, 58, 24, 15, 12, 15, 18, 18, 22, 28, 12, 21,
+  77, 71, 13, 8, 1, 20, 11, 4, 85, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 18, 54, 94, 106, 95,
+  61, 32, 42, 75, 72, 42, 52, 67, 72, 75, 82, 85, 96, 117, 123, 130,
+  136, 138, 144, 148, 155, 154, 151, 145, 144, 142, 148, 150, 150, 148, 142, 131,
+  134, 145, 138, 101, 57, 33, 28, 73, 99, 55, 68, 92, 115, 90, 104, 108,
+  110, 110, 106, 103, 105, 106, 88, 82, 83, 83, 82, 84, 104, 129, 153, 153,
+  112, 105, 124, 140, 159, 147, 144, 135, 132, 139, 142, 136, 124, 117, 125, 142,
+  118, 85, 80, 69, 60, 71, 64, 32, 40, 63, 61, 76, 113, 127, 126, 99,
+  73, 62, 65, 69, 73, 75, 74, 85, 101, 104, 102, 94, 82, 71, 49, 27,
+  12, 13, 19, 20, 23, 26, 22, 44, 93, 53, 15, 15, 9, 15, 7, 3,
+  0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 182, 89, 101, 80, 56, 33, 19, 33, 54, 60, 52, 44, 56, 83,
+  98, 97, 106, 117, 124, 133, 147, 151, 149, 148, 152, 158, 158, 148, 147, 147,
+  148, 148, 144, 139, 136, 134, 143, 142, 139, 136, 142, 132, 93, 51, 70, 94,
+  62, 75, 104, 117, 89, 114, 111, 104, 104, 109, 110, 105, 105, 107, 99, 86,
+  84, 88, 85, 75, 86, 107, 195, 171, 116, 109, 119, 132, 172, 175, 140, 131,
+  135, 150, 153, 139, 125, 120, 127, 167, 148, 102, 90, 77, 85, 129, 158, 58,
+  32, 75, 77, 63, 93, 133, 145, 133, 115, 98, 81, 67, 57, 49, 72, 75,
+  85, 91, 91, 89, 85, 83, 65, 35, 12, 11, 20, 22, 23, 24, 15, 48,
+  92, 30, 8, 12, 11, 6, 7, 4, 4, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 103, 99, 69, 39, 23, 10,
+  14, 32, 38, 30, 31, 43, 70, 84, 99, 111, 122, 133, 138, 137, 148, 148,
+  148, 147, 146, 144, 145, 144, 150, 145, 138, 131, 125, 124, 125, 127, 118, 122,
+  124, 123, 127, 129, 115, 96, 67, 98, 73, 76, 103, 100, 103, 95, 97, 99,
+  100, 102, 104, 105, 104, 103, 100, 95, 92, 86, 81, 75, 72, 70, 175, 206,
+  123, 103, 96, 150, 161, 140, 131, 138, 144, 144, 140, 130, 143, 176, 194, 205,
+  165, 108, 95, 100, 101, 105, 116, 72, 55, 82, 102, 97, 112, 139, 143, 129,
+  115, 106, 95, 76, 58, 46, 39, 46, 62, 75, 85, 88, 88, 86, 84, 55,
+  27, 16, 16, 17, 21, 30, 26, 89, 74, 14, 11, 20, 11, 10, 12, 13,
+  12, 90, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 114, 79, 39, 12, 24, 17, 22, 32, 39, 40, 50, 67, 84, 100,
+  116, 128, 137, 145, 150, 148, 140, 139, 141, 142, 144, 143, 142, 143, 139, 142,
+  140, 138, 133, 126, 120, 116, 125, 121, 116, 110, 112, 119, 121, 118, 69, 72,
+  93, 103, 101, 100, 99, 102, 96, 97, 100, 100, 102, 102, 103, 103, 105, 101,
+  99, 94, 93, 87, 82, 79, 116, 227, 166, 105, 100, 94, 126, 137, 133, 130,
+  126, 124, 137, 147, 167, 196, 205, 212, 187, 140, 114, 108, 103, 99, 68, 77,
+  99, 114, 107, 100, 119, 148, 140, 126, 111, 99, 86, 69, 56, 48, 47, 51,
+  59, 70, 77, 82, 84, 86, 85, 79, 51, 15, 7, 18, 23, 15, 71, 79,
+  42, 5, 15, 23, 11, 7, 8, 12, 12, 9, 90, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 38, 17, 13, 18, 22, 20,
+  24, 28, 38, 53, 75, 96, 113, 128, 142, 147, 148, 148, 149, 146, 138, 139,
+  142, 144, 148, 147, 146, 145, 141, 144, 146, 144, 140, 134, 126, 122, 118, 115,
+  117, 118, 115, 114, 118, 124, 90, 57, 102, 119, 105, 110, 101, 107, 101, 102,
+  102, 103, 105, 105, 103, 103, 102, 100, 101, 99, 98, 92, 86, 83, 60, 205,
+  203, 113, 132, 91, 108, 133, 118, 121, 122, 126, 149, 164, 172, 184, 201, 205,
+  205, 179, 144, 129, 121, 112, 112, 119, 123, 114, 110, 120, 135, 145, 121, 109,
+  98, 87, 77, 65, 61, 60, 76, 75, 74, 74, 72, 73, 74, 77, 94, 80,
+  62, 44, 20, 10, 26, 51, 88, 52, 14, 5, 15, 15, 8, 4, 6, 10,
+  12, 10, 10, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 176, 9, 10, 16, 23, 23, 19, 18, 20, 38, 64, 92, 111, 129, 143,
+  151, 149, 145, 143, 142, 140, 142, 142, 144, 148, 148, 148, 146, 144, 143, 141,
+  138, 135, 133, 132, 133, 133, 131, 130, 132, 130, 122, 106, 108, 117, 119, 81,
+  91, 105, 109, 114, 103, 102, 104, 105, 104, 104, 104, 105, 103, 102, 95, 95,
+  98, 98, 96, 92, 87, 85, 97, 70, 221, 187, 135, 123, 98, 114, 107, 122,
+  132, 134, 150, 159, 160, 161, 178, 184, 204, 203, 172, 158, 158, 147, 154, 150,
+  143, 137, 141, 144, 128, 107, 102, 95, 88, 85, 78, 72, 73, 78, 99, 95,
+  89, 84, 78, 76, 75, 75, 71, 76, 86, 78, 36, 6, 41, 102, 55, 19,
+  7, 16, 10, 4, 8, 8, 8, 11, 11, 9, 11, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 18, 25, 25, 18, 12, 32, 21,
+  16, 24, 52, 85, 109, 120, 130, 141, 144, 141, 138, 140, 142, 142, 142, 142,
+  143, 144, 142, 141, 138, 137, 129, 126, 121, 118, 119, 121, 127, 131, 159, 151,
+  144, 136, 123, 107, 111, 124, 132, 125, 88, 97, 119, 110, 103, 98, 103, 102,
+  102, 104, 103, 102, 99, 97, 90, 89, 91, 95, 97, 95, 93, 93, 92, 91,
+  120, 216, 211, 111, 108, 101, 109, 128, 136, 131, 137, 147, 153, 165, 164, 175,
+  206, 217, 193, 183, 187, 179, 159, 153, 147, 139, 134, 128, 122, 118, 106, 102,
+  100, 99, 95, 88, 88, 92, 95, 94, 91, 89, 86, 85, 84, 83, 85, 84,
+  74, 67, 69, 73, 65, 51, 29, 6, 10, 17, 2, 1, 12, 6, 8, 8,
+  6, 4, 9, 15, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 9, 8, 10, 21, 33, 43, 25, 19, 41, 78, 106, 120, 126, 139, 142,
+  139, 133, 132, 134, 135, 134, 133, 133, 131, 132, 129, 128, 127, 126, 115, 115,
+  115, 114, 116, 118, 121, 123, 139, 140, 144, 146, 141, 132, 127, 130, 131, 145,
+  101, 105, 125, 100, 99, 102, 103, 103, 105, 107, 105, 103, 99, 96, 85, 83,
+  85, 85, 88, 91, 93, 93, 87, 92, 103, 131, 213, 235, 131, 142, 110, 132,
+  143, 142, 145, 149, 157, 175, 185, 203, 231, 236, 217, 202, 198, 189, 177, 159,
+  144, 132, 126, 125, 134, 147, 132, 126, 122, 120, 115, 104, 99, 99, 96, 95,
+  94, 92, 88, 85, 81, 80, 101, 85, 70, 71, 81, 77, 49, 19, 40, 21,
+  14, 10, 0, 10, 18, 3, 6, 6, 4, 2, 9, 15, 95, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 11, 12, 16, 36, 61, 44, 24,
+  24, 57, 98, 119, 125, 129, 143, 142, 135, 127, 125, 126, 121, 115, 117, 119,
+  117, 117, 118, 119, 121, 122, 111, 112, 113, 113, 115, 115, 116, 117, 114, 123,
+  137, 144, 148, 144, 129, 117, 142, 120, 99, 108, 117, 102, 98, 108, 110, 112,
+  116, 119, 118, 114, 108, 103, 95, 89, 84, 82, 81, 83, 86, 89, 100, 65,
+  101, 112, 120, 227, 239, 172, 149, 153, 152, 153, 159, 159, 163, 180, 208, 238,
+  255, 251, 236, 211, 188, 174, 165, 154, 150, 150, 153, 151, 140, 131, 143, 134,
+  129, 128, 125, 117, 110, 108, 107, 105, 104, 99, 93, 87, 81, 78, 72, 85,
+  95, 83, 47, 23, 37, 72, 62, 42, 25, 11, 4, 11, 12, 1, 4, 5,
+  7, 8, 15, 19, 15, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 13, 14, 18, 36, 60, 38, 19, 25, 66, 106, 119, 122, 128, 129, 128,
+  124, 119, 121, 123, 116, 108, 109, 109, 108, 110, 114, 119, 123, 125, 114, 112,
+  108, 107, 106, 110, 112, 115, 129, 132, 132, 126, 129, 129, 115, 100, 163, 85,
+  83, 101, 107, 111, 102, 110, 120, 123, 128, 132, 131, 126, 119, 114, 114, 106,
+  94, 86, 81, 80, 81, 83, 90, 92, 92, 97, 77, 103, 192, 239, 208, 188,
+  158, 148, 155, 158, 168, 188, 211, 251, 255, 253, 240, 209, 171, 153, 151, 149,
+  145, 135, 135, 144, 149, 145, 139, 130, 122, 124, 126, 123, 116, 114, 112, 111,
+  108, 104, 101, 97, 93, 92, 84, 83, 59, 27, 33, 67, 79, 66, 67, 54,
+  33, 18, 7, 4, 3, 4, 4, 9, 13, 16, 24, 26, 18, 90, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 175, 15, 15, 21, 31, 40, 15, 17,
+  58, 85, 101, 121, 122, 127, 122, 126, 124, 112, 103, 103, 103, 101, 109, 98,
+  102, 123, 140, 138, 130, 125, 107, 106, 102, 99, 97, 100, 107, 111, 119, 121,
+  140, 139, 124, 139, 144, 115, 156, 89, 86, 102, 113, 118, 108, 112, 128, 129,
+  133, 136, 136, 133, 129, 126, 125, 120, 113, 108, 104, 94, 86, 81, 79, 83,
+  87, 92, 93, 99, 116, 134, 206, 237, 218, 184, 190, 194, 189, 200, 228, 252,
+  255, 249, 211, 178, 161, 153, 144, 135, 131, 129, 129, 131, 132, 130, 129, 126,
+  123, 125, 128, 127, 120, 112, 108, 110, 111, 108, 100, 91, 81, 76, 30, 39,
+  54, 68, 77, 77, 70, 67, 65, 62, 53, 43, 31, 22, 13, 10, 15, 8,
+  9, 20, 31, 28, 20, 12, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  19, 18, 17, 19, 24, 26, 26, 31, 74, 99, 111, 124, 123, 128, 127, 119,
+  107, 103, 99, 94, 90, 92, 98, 111, 129, 128, 111, 100, 93, 84, 53, 51,
+  55, 77, 107, 129, 134, 126, 123, 130, 132, 132, 139, 141, 141, 143, 166, 106,
+  97, 97, 98, 110, 113, 129, 132, 133, 137, 141, 142, 140, 137, 134, 129, 124,
+  118, 113, 108, 99, 90, 82, 73, 75, 81, 89, 96, 99, 109, 121, 98, 162,
+  203, 215, 221, 209, 213, 247, 251, 236, 216, 197, 190, 182, 168, 146, 138, 130,
+  127, 126, 127, 128, 129, 126, 142, 135, 125, 120, 120, 119, 116, 111, 114, 110,
+  102, 89, 70, 50, 36, 29, 60, 63, 67, 74, 79, 80, 76, 75, 78, 82,
+  80, 76, 64, 51, 34, 26, 14, 12, 19, 31, 41, 33, 18, 7, 90, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 22, 24, 23, 20, 18, 15, 24, 33,
+  83, 111, 116, 125, 121, 128, 129, 113, 100, 97, 93, 89, 95, 105, 114, 112,
+  115, 94, 59, 51, 47, 26, 68, 73, 87, 119, 163, 194, 193, 177, 164, 183,
+  174, 164, 162, 134, 122, 150, 126, 98, 103, 105, 106, 116, 120, 132, 136, 138,
+  142, 147, 148, 149, 147, 145, 137, 133, 129, 124, 120, 112, 99, 92, 79, 75,
+  74, 81, 90, 96, 103, 112, 104, 104, 107, 153, 217, 235, 233, 249, 251, 244,
+  231, 203, 183, 168, 162, 154, 162, 154, 148, 142, 137, 131, 126, 123, 123, 124,
+  128, 133, 135, 133, 126, 119, 100, 78, 48, 25, 21, 40, 70, 91, 93, 91,
+  85, 85, 86, 88, 88, 90, 98, 101, 102, 101, 91, 76, 60, 49, 27, 24,
+  28, 36, 40, 29, 15, 4, 6, 87, 255, 255, 255, 255, 255, 255, 255, 255,
+  21, 24, 25, 25, 20, 15, 13, 27, 86, 120, 126, 128, 123, 128, 115, 107,
+  97, 91, 88, 93, 107, 123, 109, 90, 81, 62, 37, 50, 78, 81, 63, 71,
+  79, 100, 140, 180, 200, 197, 191, 184, 158, 142, 148, 149, 157, 179, 96, 94,
+  104, 113, 118, 127, 128, 131, 141, 141, 145, 150, 152, 153, 152, 151, 146, 141,
+  138, 135, 132, 123, 111, 104, 98, 86, 75, 72, 77, 84, 97, 111, 105, 113,
+  117, 124, 135, 145, 185, 241, 235, 214, 185, 165, 163, 165, 160, 148, 151, 146,
+  143, 140, 139, 138, 133, 130, 130, 128, 125, 116, 104, 83, 65, 50, 28, 41,
+  63, 82, 96, 103, 106, 107, 108, 105, 98, 96, 96, 98, 99, 100, 101, 99,
+  96, 90, 85, 74, 63, 57, 46, 38, 30, 28, 26, 17, 10, 6, 3, 3,
+  255, 255, 255, 255, 255, 255, 255, 255, 20, 21, 20, 21, 19, 16, 12, 26,
+  87, 127, 138, 137, 126, 129, 100, 96, 86, 82, 90, 100, 101, 96, 74, 63,
+  69, 71, 56, 77, 135, 179, 123, 121, 107, 105, 138, 188, 220, 223, 214, 177,
+  150, 138, 137, 147, 140, 105, 122, 121, 111, 109, 118, 128, 139, 142, 144, 146,
+  148, 150, 152, 154, 153, 153, 152, 148, 145, 143, 138, 131, 120, 114, 110, 100,
+  84, 75, 68, 73, 86, 102, 119, 110, 103, 109, 128, 136, 133, 132, 86, 124,
+  162, 168, 149, 125, 113, 107, 106, 102, 99, 95, 94, 90, 85, 83, 83, 68,
+  48, 35, 42, 61, 87, 102, 124, 121, 119, 111, 106, 99, 98, 98, 112, 110,
+  109, 108, 108, 106, 102, 99, 93, 87, 80, 73, 71, 66, 59, 54, 53, 43,
+  30, 23, 16, 8, 4, 5, 6, 9, 94, 255, 255, 255, 255, 255, 255, 255,
+  19, 16, 13, 15, 16, 17, 16, 22, 78, 121, 136, 134, 117, 117, 100, 88,
+  77, 84, 99, 100, 81, 62, 85, 71, 66, 70, 69, 70, 95, 136, 136, 137,
+  132, 140, 177, 225, 238, 224, 195, 169, 168, 160, 141, 150, 149, 111, 131, 131,
+  111, 111, 128, 135, 146, 148, 148, 149, 150, 153, 156, 157, 157, 157, 157, 153,
+  150, 147, 143, 138, 130, 123, 116, 109, 101, 91, 82, 73, 77, 83, 93, 103,
+  110, 109, 114, 122, 124, 117, 129, 117, 105, 104, 116, 123, 112, 96, 113, 108,
+  105, 103, 101, 98, 94, 92, 82, 92, 106, 118, 124, 118, 111, 104, 107, 112,
+  117, 121, 124, 126, 130, 132, 115, 115, 115, 114, 112, 107, 100, 95, 94, 88,
+  84, 81, 80, 74, 65, 58, 48, 41, 34, 26, 20, 9, 4, 5, 5, 10,
+  15, 14, 255, 255, 255, 255, 255, 255, 20, 17, 12, 15, 21, 25, 17, 12,
+  58, 101, 121, 124, 107, 105, 102, 81, 75, 89, 91, 74, 66, 74, 124, 108,
+  73, 62, 76, 62, 49, 69, 103, 126, 144, 164, 210, 255, 255, 245, 241, 215,
+  187, 157, 131, 125, 133, 135, 110, 119, 102, 117, 141, 139, 147, 149, 153, 154,
+  157, 158, 161, 164, 167, 168, 164, 160, 156, 152, 150, 147, 139, 136, 128, 122,
+  116, 110, 102, 88, 78, 73, 80, 88, 99, 98, 95, 108, 128, 134, 139, 144,
+  144, 133, 125, 121, 119, 117, 97, 96, 95, 99, 105, 110, 113, 115, 112, 108,
+  102, 97, 96, 98, 107, 111, 121, 124, 124, 122, 118, 116, 118, 119, 122, 120,
+  118, 116, 114, 110, 104, 100, 98, 92, 87, 85, 86, 83, 75, 67, 55, 50,
+  44, 34, 25, 12, 6, 7, 6, 8, 9, 9, 90, 255, 255, 255, 255, 255,
+  22, 21, 19, 22, 32, 38, 19, 8, 46, 89, 113, 121, 107, 105, 93, 73,
+  74, 89, 70, 39, 61, 113, 132, 140, 101, 73, 90, 87, 81, 112, 126, 154,
+  168, 166, 188, 232, 254, 251, 205, 185, 152, 154, 175, 151, 114, 109, 102, 115,
+  96, 114, 141, 135, 149, 155, 161, 161, 164, 168, 172, 177, 181, 183, 180, 174,
+  168, 164, 162, 160, 153, 149, 148, 135, 124, 119, 113, 99, 85, 73, 66, 74,
+  97, 111, 108, 108, 114, 115, 125, 132, 137, 138, 138, 139, 137, 134, 138, 133,
+  127, 121, 119, 116, 115, 113, 115, 117, 118, 119, 117, 118, 119, 122, 120, 125,
+  130, 131, 128, 124, 123, 122, 123, 122, 117, 114, 113, 111, 110, 108, 99, 90,
+  80, 75, 77, 76, 72, 68, 70, 63, 51, 38, 23, 11, 7, 10, 13, 10,
+  5, 6, 7, 255, 255, 255, 255, 255, 31, 20, 16, 25, 33, 33, 25, 6,
+  25, 75, 102, 103, 106, 110, 94, 81, 62, 49, 45, 58, 89, 114, 130, 139,
+  134, 113, 101, 109, 121, 128, 163, 164, 166, 165, 166, 187, 208, 207, 179, 160,
+  140, 128, 126, 120, 108, 89, 99, 92, 95, 114, 135, 149, 156, 160, 165, 171,
+  180, 183, 187, 188, 190, 190, 189, 195, 195, 189, 180, 176, 167, 159, 151, 150,
+  143, 129, 120, 110, 94, 80, 69, 75, 88, 108, 121, 122, 120, 120, 131, 137,
+  140, 137, 137, 141, 139, 136, 140, 138, 138, 137, 135, 133, 130, 126, 129, 131,
+  132, 129, 125, 123, 124, 127, 131, 131, 133, 132, 129, 124, 122, 119, 123, 122,
+  117, 115, 114, 113, 113, 112, 107, 103, 94, 86, 78, 74, 70, 69, 64, 54,
+  41, 27, 19, 15, 11, 4, 5, 12, 20, 14, 0, 85, 255, 255, 255, 255,
+  26, 24, 27, 29, 26, 19, 28, 15, 21, 53, 86, 93, 99, 107, 86, 67,
+  48, 39, 47, 65, 88, 106, 115, 124, 123, 110, 107, 119, 134, 139, 147, 132,
+  139, 156, 160, 164, 182, 195, 128, 151, 164, 144, 108, 85, 96, 112, 102, 93,
+  98, 116, 137, 152, 159, 164, 174, 180, 187, 193, 194, 198, 200, 202, 200, 204,
+  205, 198, 191, 183, 173, 162, 162, 158, 150, 135, 125, 115, 104, 93, 89, 84,
+  83, 91, 101, 108, 118, 127, 129, 133, 138, 138, 141, 144, 143, 138, 139, 140,
+  140, 140, 139, 136, 134, 133, 130, 132, 134, 134, 132, 131, 133, 136, 132, 133,
+  136, 136, 135, 134, 134, 133, 127, 123, 121, 117, 115, 114, 111, 111, 109, 106,
+  98, 90, 81, 75, 71, 68, 63, 56, 43, 29, 18, 12, 11, 7, 7, 9,
+  13, 11, 2, 0, 85, 255, 255, 255, 23, 24, 26, 25, 24, 24, 38, 35,
+  24, 34, 71, 85, 90, 103, 81, 59, 41, 39, 51, 68, 86, 95, 90, 99,
+  103, 100, 103, 117, 130, 133, 149, 155, 158, 143, 140, 158, 159, 132, 247, 195,
+  131, 101, 106, 117, 115, 103, 107, 100, 104, 122, 142, 155, 161, 166, 179, 185,
+  190, 197, 201, 205, 211, 214, 214, 217, 218, 211, 204, 196, 184, 172, 169, 162,
+  151, 138, 129, 121, 115, 108, 105, 96, 85, 82, 87, 96, 110, 122, 132, 134,
+  138, 139, 141, 143, 143, 140, 141, 142, 142, 142, 141, 140, 138, 136, 133, 135,
+  136, 137, 136, 136, 138, 139, 130, 130, 130, 130, 132, 132, 132, 132, 130, 127,
+  124, 120, 118, 115, 112, 111, 112, 110, 101, 94, 87, 80, 74, 69, 69, 65,
+  55, 40, 25, 15, 16, 17, 8, 10, 7, 14, 23, 0, 0, 255, 255, 255,
+  18, 23, 25, 21, 24, 32, 36, 48, 29, 22, 61, 81, 80, 94, 80, 67,
+  58, 57, 64, 72, 84, 92, 99, 106, 112, 114, 121, 131, 136, 135, 145, 134,
+  150, 158, 125, 101, 133, 177, 98, 108, 119, 119, 110, 108, 111, 117, 107, 100,
+  106, 124, 144, 157, 165, 170, 184, 188, 196, 202, 209, 217, 224, 228, 230, 232,
+  231, 223, 216, 206, 191, 178, 168, 159, 145, 131, 123, 117, 115, 113, 111, 105,
+  101, 96, 95, 96, 103, 105, 129, 133, 140, 139, 137, 136, 140, 142, 141, 142,
+  142, 141, 140, 138, 135, 134, 134, 135, 136, 136, 136, 136, 137, 137, 132, 131,
+  129, 126, 126, 125, 125, 124, 130, 127, 125, 122, 119, 117, 113, 112, 114, 113,
+  106, 100, 93, 85, 78, 72, 72, 69, 61, 48, 28, 14, 17, 23, 14, 17,
+  11, 32, 56, 23, 0, 255, 255, 255, 12, 17, 24, 23, 20, 20, 17, 37,
+  23, 13, 50, 76, 74, 81, 75, 77, 80, 80, 77, 75, 84, 96, 108, 114,
+  122, 128, 134, 139, 140, 138, 131, 129, 118, 94, 89, 120, 146, 138, 130, 121,
+  110, 104, 110, 116, 122, 123, 109, 101, 108, 127, 148, 162, 171, 174, 187, 192,
+  202, 212, 221, 228, 235, 241, 239, 239, 237, 227, 220, 210, 196, 182, 171, 157,
+  142, 126, 117, 110, 113, 116, 110, 112, 116, 113, 109, 102, 98, 92, 104, 114,
+  132, 140, 140, 136, 138, 142, 142, 142, 142, 141, 139, 136, 133, 131, 129, 129,
+  129, 131, 133, 134, 135, 135, 137, 136, 133, 130, 127, 125, 125, 125, 127, 125,
+  122, 120, 121, 119, 115, 115, 116, 113, 109, 104, 98, 89, 80, 76, 69, 66,
+  59, 47, 25, 7, 10, 19, 18, 23, 21, 49, 83, 52, 4, 85, 255, 255,
+  26, 13, 17, 21, 19, 12, 5, 23, 18, 14, 47, 75, 80, 79, 71, 81,
+  92, 94, 88, 82, 91, 104, 106, 112, 120, 126, 131, 129, 129, 125, 130, 81,
+  71, 107, 127, 118, 108, 106, 108, 107, 108, 112, 118, 122, 126, 125, 110, 105,
+  111, 130, 152, 166, 175, 180, 189, 198, 209, 220, 229, 234, 238, 242, 243, 241,
+  235, 227, 221, 213, 200, 186, 174, 160, 143, 125, 114, 107, 110, 117, 112, 117,
+  124, 120, 116, 112, 106, 98, 80, 91, 113, 133, 143, 142, 143, 144, 148, 148,
+  148, 147, 145, 142, 139, 137, 128, 127, 128, 131, 135, 138, 139, 138, 135, 135,
+  134, 132, 130, 129, 129, 128, 127, 125, 123, 121, 123, 120, 117, 114, 115, 113,
+  109, 105, 99, 92, 84, 78, 70, 66, 61, 48, 27, 7, 7, 19, 13, 16,
+  19, 46, 84, 70, 19, 0, 255, 255, 62, 42, 29, 26, 24, 19, 12, 21,
+  20, 20, 44, 75, 88, 82, 79, 83, 91, 95, 93, 91, 96, 105, 113, 117,
+  122, 124, 121, 110, 106, 101, 52, 78, 114, 125, 114, 113, 122, 122, 126, 120,
+  116, 119, 130, 133, 124, 116, 112, 108, 113, 132, 153, 166, 175, 178, 187, 197,
+  210, 221, 227, 230, 230, 229, 231, 229, 223, 217, 214, 209, 199, 186, 173, 159,
+  141, 122, 108, 99, 102, 110, 112, 120, 129, 127, 126, 125, 122, 116, 93, 85,
+  91, 109, 130, 139, 144, 145, 150, 151, 152, 153, 152, 150, 148, 147, 138, 136,
+  135, 137, 140, 141, 140, 139, 131, 132, 132, 132, 132, 130, 128, 127, 128, 126,
+  126, 124, 123, 120, 115, 114, 114, 112, 107, 103, 98, 92, 87, 82, 76, 70,
+  64, 53, 33, 11, 10, 20, 10, 13, 15, 33, 71, 85, 44, 0, 255, 255,
+  92, 92, 64, 41, 28, 23, 22, 22, 22, 23, 38, 69, 87, 80, 93, 88,
+  87, 93, 98, 100, 101, 103, 106, 108, 111, 105, 93, 73, 64, 58, 103, 92,
+  103, 119, 110, 101, 114, 126, 126, 126, 127, 130, 131, 128, 122, 119, 111, 109,
+  112, 129, 149, 162, 170, 173, 182, 192, 207, 218, 222, 221, 218, 215, 212, 209,
+  203, 198, 198, 197, 187, 177, 169, 153, 134, 116, 99, 88, 93, 100, 110, 122,
+  134, 137, 138, 138, 135, 129, 123, 96, 76, 86, 110, 131, 141, 146, 149, 151,
+  153, 155, 156, 155, 154, 154, 151, 148, 144, 143, 144, 143, 139, 136, 135, 136,
+  137, 137, 136, 133, 130, 128, 132, 130, 129, 127, 125, 120, 115, 113, 114, 112,
+  106, 102, 98, 93, 88, 84, 76, 69, 62, 52, 30, 9, 6, 17, 20, 19,
+  17, 31, 68, 100, 69, 4, 85, 255, 179, 22, 56, 78, 81, 79, 72, 69,
+  57, 57, 75, 90, 96, 104, 90, 91, 94, 97, 98, 96, 90, 86, 69, 66,
+  64, 65, 73, 85, 100, 108, 125, 122, 117, 115, 116, 119, 126, 130, 132, 123,
+  127, 131, 126, 126, 128, 122, 116, 113, 116, 129, 137, 142, 154, 165, 175, 181,
+  191, 198, 207, 213, 215, 212, 199, 194, 192, 193, 195, 192, 184, 177, 166, 149,
+  132, 102, 63, 41, 49, 58, 79, 105, 132, 145, 151, 155, 149, 136, 127, 122,
+  96, 75, 70, 110, 154, 139, 147, 150, 152, 151, 148, 146, 147, 149, 153, 150,
+  147, 146, 144, 143, 140, 137, 138, 137, 136, 135, 134, 133, 134, 133, 132, 129,
+  126, 124, 123, 120, 117, 115, 116, 113, 108, 103, 97, 93, 90, 87, 80, 72,
+  62, 51, 32, 13, 5, 6, 19, 14, 14, 42, 66, 85, 79, 23, 1, 255,
+  255, 13, 9, 25, 30, 35, 66, 74, 75, 78, 92, 96, 93, 93, 103, 98,
+  91, 83, 75, 65, 56, 51, 65, 71, 81, 91, 104, 111, 119, 120, 120, 120,
+  122, 123, 124, 126, 127, 128, 129, 124, 133, 136, 127, 126, 127, 123, 113, 113,
+  116, 123, 129, 132, 140, 152, 153, 165, 181, 193, 201, 204, 204, 200, 199, 196,
+  195, 192, 190, 185, 179, 174, 164, 151, 113, 59, 17, 0, 7, 18, 37, 68,
+  104, 127, 141, 150, 150, 141, 136, 130, 105, 83, 69, 99, 145, 138, 148, 152,
+  153, 151, 148, 145, 146, 147, 150, 148, 145, 144, 144, 143, 140, 138, 138, 138,
+  137, 136, 135, 134, 134, 133, 132, 128, 124, 121, 121, 120, 120, 117, 114, 113,
+  108, 103, 97, 93, 90, 86, 80, 73, 64, 50, 32, 14, 5, 6, 14, 14,
+  16, 41, 62, 86, 85, 32, 1, 255, 255, 31, 1, 6, 9, 9, 11, 29,
+  41, 46, 54, 51, 44, 42, 40, 41, 43, 51, 62, 72, 80, 81, 91, 98,
+  109, 117, 125, 124, 124, 122, 124, 126, 129, 131, 131, 130, 127, 125, 128, 128,
+  140, 141, 131, 126, 128, 124, 110, 111, 115, 119, 120, 118, 123, 131, 141, 149,
+  162, 174, 182, 188, 191, 192, 194, 189, 188, 185, 182, 177, 174, 171, 152, 144,
+  92, 27, 4, 3, 18, 41, 45, 72, 107, 131, 148, 159, 161, 155, 143, 136,
+  117, 96, 67, 84, 135, 144, 152, 152, 152, 150, 146, 143, 143, 144, 144, 142,
+  141, 141, 142, 142, 140, 138, 137, 137, 136, 134, 135, 134, 133, 132, 131, 127,
+  121, 118, 119, 119, 119, 120, 113, 111, 104, 100, 96, 92, 87, 86, 82, 76,
+  67, 50, 32, 14, 6, 6, 5, 12, 16, 35, 56, 87, 95, 45, 3, 255,
+  255, 41, 18, 9, 23, 17, 32, 58, 75, 77, 81, 78, 74, 79, 99, 99,
+  97, 100, 106, 112, 113, 115, 127, 125, 125, 124, 123, 120, 121, 120, 135, 135,
+  135, 134, 132, 128, 126, 125, 133, 131, 139, 140, 130, 130, 130, 123, 106, 115,
+  121, 119, 116, 112, 115, 115, 130, 133, 145, 161, 176, 184, 187, 185, 182, 177,
+  174, 175, 175, 173, 171, 165, 149, 132, 66, 13, 10, 12, 25, 58, 77, 87,
+  104, 121, 140, 155, 158, 152, 148, 138, 122, 104, 69, 72, 129, 151, 156, 155,
+  154, 151, 148, 145, 144, 144, 142, 141, 140, 141, 143, 144, 143, 142, 138, 138,
+  137, 135, 136, 134, 133, 133, 130, 127, 123, 120, 119, 118, 116, 118, 110, 109,
+  102, 98, 95, 91, 86, 82, 82, 77, 65, 48, 28, 12, 5, 4, 2, 9,
+  11, 31, 54, 89, 100, 55, 3, 255, 255, 19, 17, 0, 31, 21, 38, 72,
+  95, 97, 98, 100, 100, 107, 94, 96, 102, 112, 121, 130, 136, 138, 131, 129,
+  125, 120, 120, 122, 128, 131, 143, 142, 135, 131, 127, 128, 131, 131, 139, 134,
+  136, 133, 130, 135, 136, 120, 107, 119, 127, 123, 120, 117, 113, 105, 96, 92,
+  101, 126, 154, 169, 176, 177, 175, 168, 162, 165, 169, 168, 163, 156, 136, 105,
+  48, 27, 46, 44, 52, 90, 109, 102, 101, 113, 137, 157, 163, 159, 151, 141,
+  127, 111, 71, 69, 125, 152, 159, 156, 153, 151, 149, 148, 146, 146, 144, 142,
+  142, 143, 145, 146, 145, 144, 140, 139, 138, 136, 135, 133, 134, 133, 128, 127,
+  127, 124, 119, 114, 112, 112, 108, 105, 101, 97, 91, 88, 85, 82, 81, 77,
+  64, 45, 25, 11, 5, 1, 3, 5, 7, 31, 55, 89, 102, 61, 6, 86,
+  255, 20, 27, 6, 29, 16, 40, 82, 113, 119, 120, 118, 118, 121, 125, 126,
+  127, 131, 132, 132, 130, 125, 126, 124, 124, 124, 125, 128, 131, 135, 140, 139,
+  132, 129, 128, 133, 137, 141, 143, 136, 133, 131, 131, 139, 138, 119, 110, 124,
+  134, 131, 129, 127, 114, 97, 58, 40, 34, 55, 90, 123, 150, 165, 170, 162,
+  159, 159, 163, 161, 154, 147, 126, 88, 53, 62, 89, 86, 88, 117, 132, 118,
+  111, 121, 146, 166, 172, 166, 156, 144, 127, 111, 74, 73, 123, 145, 157, 154,
+  150, 148, 148, 149, 148, 147, 146, 144, 143, 144, 146, 146, 145, 144, 141, 140,
+  139, 137, 135, 133, 134, 133, 126, 128, 129, 126, 120, 112, 109, 107, 107, 105,
+  101, 97, 92, 89, 86, 83, 79, 77, 64, 42, 23, 12, 6, 2, 5, 3,
+  9, 40, 59, 83, 98, 66, 8, 3, 255, 33, 29, 26, 21, 17, 42, 85,
+  117, 121, 123, 122, 121, 123, 124, 124, 125, 128, 129, 130, 126, 124, 127, 126,
+  127, 127, 128, 129, 128, 129, 135, 136, 134, 134, 134, 138, 139, 142, 138, 136,
+  138, 135, 135, 142, 140, 121, 112, 129, 140, 138, 138, 134, 113, 87, 37, 24,
+  22, 41, 68, 95, 121, 140, 154, 153, 156, 156, 153, 147, 143, 141, 130, 99,
+  81, 92, 101, 88, 81, 87, 115, 110, 113, 129, 150, 161, 162, 158, 156, 143,
+  125, 111, 80, 84, 131, 144, 152, 148, 145, 144, 146, 148, 148, 147, 147, 146,
+  144, 144, 144, 144, 143, 141, 140, 139, 138, 136, 136, 134, 134, 133, 126, 127,
+  128, 124, 118, 112, 109, 110, 109, 108, 102, 98, 95, 92, 89, 86, 78, 77,
+  65, 42, 23, 14, 9, 4, 6, 5, 19, 52, 62, 73, 92, 74, 10, 3,
+  255, 24, 2, 24, 7, 22, 39, 82, 109, 110, 110, 113, 114, 119, 122, 121,
+  121, 121, 123, 125, 122, 121, 126, 125, 124, 124, 126, 128, 130, 132, 131, 135,
+  136, 139, 138, 138, 137, 134, 133, 137, 144, 141, 135, 140, 140, 121, 115, 132,
+  143, 141, 142, 140, 114, 82, 33, 42, 67, 96, 111, 109, 107, 112, 134, 143,
+  153, 154, 145, 139, 139, 143, 122, 103, 100, 112, 113, 104, 98, 88, 91, 98,
+  116, 141, 163, 170, 169, 165, 153, 139, 121, 108, 86, 95, 140, 146, 150, 146,
+  142, 141, 146, 147, 147, 147, 148, 146, 144, 143, 143, 140, 138, 136, 141, 140,
+  138, 136, 136, 134, 134, 134, 125, 126, 126, 122, 115, 111, 111, 115, 112, 110,
+  104, 101, 98, 96, 92, 91, 78, 78, 66, 42, 22, 14, 9, 6, 6, 8,
+  28, 65, 65, 66, 88, 81, 9, 2, 255, 18, 23, 28, 26, 23, 31, 67,
+  92, 100, 109, 108, 104, 109, 112, 114, 118, 121, 123, 125, 130, 135, 130, 128,
+  126, 126, 126, 129, 131, 132, 133, 136, 138, 137, 134, 133, 135, 137, 141, 142,
+  143, 144, 143, 140, 138, 136, 112, 127, 140, 145, 149, 144, 122, 97, 56, 79,
+  98, 110, 127, 142, 130, 108, 113, 123, 135, 142, 146, 146, 138, 129, 123, 120,
+  117, 112, 110, 107, 105, 105, 86, 86, 98, 127, 159, 172, 169, 161, 145, 147,
+  125, 88, 85, 118, 143, 146, 156, 147, 139, 138, 145, 151, 152, 150, 148, 146,
+  144, 144, 144, 141, 138, 135, 137, 137, 136, 135, 135, 133, 133, 132, 122, 124,
+  125, 122, 116, 111, 110, 113, 115, 111, 107, 102, 97, 93, 89, 87, 79, 76,
+  67, 50, 31, 15, 8, 5, 6, 10, 21, 69, 95, 51, 83, 84, 16, 0,
+  255, 16, 21, 25, 24, 20, 26, 61, 90, 99, 104, 106, 104, 109, 116, 117,
+  121, 123, 122, 125, 130, 133, 131, 129, 128, 128, 128, 131, 133, 135, 133, 134,
+  135, 134, 133, 134, 136, 138, 143, 143, 144, 144, 144, 143, 142, 141, 122, 129,
+  138, 146, 152, 150, 138, 124, 90, 102, 114, 122, 132, 138, 127, 110, 110, 120,
+  130, 136, 140, 143, 138, 133, 133, 130, 123, 118, 114, 113, 114, 114, 109, 110,
+  118, 135, 150, 159, 158, 155, 142, 138, 114, 90, 94, 121, 138, 139, 149, 146,
+  139, 139, 144, 149, 151, 151, 150, 148, 144, 143, 141, 140, 137, 136, 137, 137,
+  136, 134, 134, 132, 132, 131, 127, 128, 129, 124, 117, 112, 109, 111, 113, 109,
+  105, 100, 97, 91, 86, 85, 75, 71, 62, 47, 31, 16, 9, 5, 2, 10,
+  31, 82, 101, 48, 75, 84, 15, 0, 255, 12, 17, 21, 21, 18, 19, 56,
+  87, 95, 99, 101, 102, 110, 120, 120, 123, 125, 124, 127, 130, 132, 131, 131,
+  131, 132, 131, 134, 137, 139, 136, 134, 132, 132, 135, 138, 140, 140, 145, 145,
+  145, 145, 146, 146, 147, 148, 130, 129, 135, 149, 158, 158, 152, 149, 124, 121,
+  118, 118, 119, 117, 112, 107, 116, 123, 128, 132, 137, 144, 144, 141, 143, 139,
+  133, 128, 125, 126, 129, 131, 131, 133, 136, 138, 138, 141, 143, 144, 135, 125,
+  105, 95, 105, 124, 131, 129, 138, 137, 137, 138, 139, 143, 147, 150, 151, 149,
+  145, 143, 141, 140, 138, 136, 137, 138, 136, 135, 132, 130, 131, 130, 129, 129,
+  130, 126, 120, 114, 113, 112, 111, 107, 103, 97, 94, 89, 84, 82, 71, 67,
+  60, 46, 31, 17, 10, 8, 7, 7, 26, 83, 105, 57, 71, 78, 22, 0,
+  255, 8, 11, 15, 15, 12, 13, 53, 84, 93, 95, 98, 102, 113, 121, 121,
+  124, 127, 127, 129, 131, 133, 131, 132, 134, 135, 134, 137, 140, 142, 140, 136,
+  132, 133, 138, 142, 144, 144, 149, 148, 146, 145, 145, 146, 148, 150, 137, 129,
+  131, 148, 163, 162, 158, 157, 149, 134, 120, 113, 106, 99, 100, 107, 126, 130,
+  131, 131, 136, 145, 148, 148, 148, 146, 142, 139, 137, 138, 140, 141, 138, 141,
+  139, 134, 129, 129, 130, 130, 125, 115, 103, 103, 113, 122, 123, 120, 125, 128,
+  132, 133, 133, 136, 141, 145, 149, 148, 146, 147, 145, 143, 139, 137, 138, 137,
+  135, 133, 130, 128, 129, 128, 124, 125, 126, 125, 122, 118, 116, 115, 110, 106,
+  102, 96, 93, 87, 82, 78, 69, 67, 61, 49, 36, 23, 15, 10, 13, 5,
+  9, 61, 96, 79, 79, 70, 35, 1, 255, 7, 7, 9, 9, 7, 13, 53,
+  83, 91, 94, 96, 104, 115, 119, 119, 122, 126, 129, 131, 133, 133, 131, 134,
+  136, 137, 136, 137, 141, 144, 142, 138, 135, 136, 141, 146, 148, 148, 152, 150,
+  147, 145, 144, 145, 146, 148, 153, 135, 125, 135, 149, 154, 154, 156, 162, 149,
+  139, 134, 124, 111, 110, 120, 135, 137, 136, 133, 137, 146, 152, 153, 157, 156,
+  156, 155, 155, 154, 153, 153, 144, 144, 139, 131, 126, 127, 123, 116, 115, 112,
+  109, 112, 116, 117, 118, 118, 116, 121, 124, 126, 126, 127, 131, 136, 142, 144,
+  146, 150, 151, 148, 142, 137, 138, 136, 133, 130, 130, 128, 127, 127, 123, 123,
+  123, 123, 123, 119, 115, 112, 110, 108, 101, 95, 92, 86, 81, 76, 70, 66,
+  60, 49, 39, 26, 15, 10, 10, 6, 4, 42, 75, 86, 83, 72, 52, 10,
+  255, 7, 5, 5, 3, 2, 16, 54, 82, 88, 93, 98, 106, 116, 118, 117,
+  120, 125, 128, 131, 132, 131, 131, 134, 138, 138, 135, 136, 139, 143, 142, 140,
+  138, 139, 142, 146, 148, 149, 153, 151, 148, 145, 144, 144, 145, 146, 167, 148,
+  128, 122, 128, 138, 148, 154, 160, 159, 161, 162, 153, 137, 129, 131, 145, 149,
+  149, 147, 150, 157, 162, 162, 166, 167, 168, 169, 168, 167, 165, 164, 155, 154,
+  146, 135, 130, 131, 122, 110, 112, 116, 118, 117, 115, 115, 116, 117, 113, 117,
+  119, 120, 120, 121, 124, 128, 134, 137, 140, 146, 149, 148, 142, 137, 137, 135,
+  132, 128, 128, 126, 125, 125, 125, 124, 123, 122, 122, 117, 111, 108, 111, 107,
+  100, 94, 90, 84, 79, 75, 67, 63, 58, 49, 41, 28, 16, 9, 0, 8,
+  15, 48, 62, 77, 75, 79, 63, 14, 255, 7, 5, 4, 4, 3, 20, 54,
+  79, 86, 93, 100, 104, 114, 118, 116, 119, 124, 127, 129, 128, 126, 130, 134,
+  138, 138, 134, 133, 137, 141, 139, 140, 141, 141, 141, 143, 146, 148, 151, 150,
+  148, 147, 146, 146, 147, 148, 165, 159, 143, 124, 117, 125, 138, 147, 148, 154,
+  162, 163, 155, 145, 140, 140, 154, 158, 160, 160, 166, 172, 175, 173, 176, 176,
+  176, 175, 175, 174, 174, 172, 165, 165, 155, 141, 133, 135, 128, 117, 116, 123,
+  124, 118, 114, 117, 118, 115, 115, 116, 116, 116, 114, 117, 120, 122, 127, 129,
+  134, 139, 144, 146, 144, 142, 139, 137, 133, 129, 126, 124, 125, 125, 124, 123,
+  124, 124, 123, 118, 113, 107, 109, 105, 98, 92, 88, 82, 76, 72, 65, 61,
+  56, 49, 43, 32, 19, 12, 3, 7, 24, 70, 73, 75, 58, 74, 62, 11,
+  255, 5, 4, 5, 5, 5, 20, 53, 75, 82, 93, 98, 104, 112, 117, 117,
+  118, 123, 125, 127, 124, 121, 129, 134, 138, 138, 133, 132, 135, 139, 136, 139,
+  142, 142, 140, 140, 143, 146, 149, 149, 148, 148, 148, 149, 150, 150, 154, 163,
+  159, 136, 117, 119, 130, 138, 142, 149, 153, 148, 142, 141, 144, 147, 153, 159,
+  164, 166, 172, 178, 179, 177, 179, 178, 176, 174, 173, 174, 177, 176, 170, 170,
+  161, 143, 134, 136, 134, 126, 120, 128, 126, 117, 114, 121, 120, 112, 118, 117,
+  115, 114, 114, 116, 118, 120, 124, 124, 127, 132, 138, 142, 144, 144, 139, 136,
+  132, 128, 125, 123, 124, 125, 121, 120, 122, 124, 124, 121, 116, 111, 107, 103,
+  96, 90, 86, 79, 74, 69, 64, 61, 57, 52, 46, 38, 26, 19, 15, 3,
+  22, 90, 95, 80, 44, 59, 59, 10, 255, 6, 12, 0, 0, 3, 13, 43,
+  75, 89, 93, 99, 107, 111, 115, 118, 121, 123, 122, 123, 126, 127, 134, 131,
+  130, 132, 135, 139, 140, 139, 138, 139, 140, 142, 144, 145, 147, 147, 147, 148,
+  149, 149, 148, 148, 150, 152, 159, 160, 158, 150, 137, 123, 113, 109, 126, 133,
+  139, 140, 137, 137, 142, 149, 160, 159, 159, 163, 172, 178, 185, 187, 187, 187,
+  187, 185, 184, 182, 181, 180, 172, 169, 162, 153, 145, 145, 142, 138, 132, 126,
+  118, 117, 121, 123, 121, 118, 118, 116, 112, 112, 114, 117, 119, 119, 121, 121,
+  122, 125, 132, 135, 137, 136, 138, 138, 137, 135, 132, 127, 122, 119, 121, 121,
+  121, 120, 118, 116, 116, 116, 109, 105, 97, 89, 83, 76, 69, 63, 61, 62,
+  60, 52, 45, 39, 27, 18, 8, 2, 21, 67, 95, 85, 68, 61, 45, 13,
+  255, 4, 6, 0, 5, 5, 4, 34, 69, 86, 90, 97, 106, 111, 113, 116,
+  120, 123, 123, 125, 128, 130, 133, 132, 131, 134, 138, 142, 144, 144, 139, 139,
+  141, 143, 145, 146, 148, 148, 148, 149, 149, 148, 147, 148, 151, 154, 158, 158,
+  156, 149, 138, 127, 120, 117, 104, 110, 118, 123, 128, 135, 145, 152, 148, 154,
+  160, 167, 175, 180, 186, 188, 185, 185, 187, 187, 188, 187, 187, 186, 175, 172,
+  167, 159, 153, 152, 149, 144, 135, 130, 123, 121, 123, 123, 119, 116, 117, 116,
+  115, 115, 117, 118, 118, 117, 117, 116, 117, 120, 126, 129, 130, 129, 134, 135,
+  135, 135, 134, 131, 128, 126, 123, 122, 122, 121, 119, 117, 113, 112, 115, 106,
+  94, 83, 75, 69, 63, 59, 63, 65, 62, 55, 48, 41, 29, 22, 13, 0,
+  5, 45, 82, 90, 79, 71, 38, 11, 255, 3, 2, 3, 17, 12, 2, 31,
+  67, 85, 90, 96, 104, 110, 111, 114, 119, 122, 123, 126, 130, 133, 131, 130,
+  131, 135, 138, 142, 145, 145, 139, 140, 141, 143, 146, 148, 149, 150, 148, 149,
+  148, 147, 147, 148, 152, 156, 156, 155, 152, 145, 137, 130, 126, 125, 109, 110,
+  112, 117, 125, 135, 144, 151, 143, 151, 163, 171, 177, 179, 184, 186, 190, 190,
+  191, 191, 193, 193, 193, 191, 178, 176, 172, 166, 161, 160, 155, 148, 143, 139,
+  133, 130, 129, 126, 120, 115, 116, 116, 117, 118, 120, 120, 120, 118, 116, 115,
+  117, 119, 122, 124, 125, 124, 128, 129, 131, 132, 133, 132, 133, 132, 127, 124,
+  122, 121, 122, 119, 113, 108, 113, 103, 88, 74, 66, 61, 60, 59, 64, 66,
+  64, 58, 51, 44, 33, 25, 20, 3, 0, 30, 77, 98, 89, 73, 26, 6,
+  255, 171, 2, 14, 35, 19, 12, 35, 66, 84, 92, 96, 103, 110, 112, 114,
+  118, 121, 122, 125, 129, 133, 129, 129, 131, 134, 135, 139, 141, 142, 140, 141,
+  142, 144, 146, 148, 150, 150, 148, 148, 148, 147, 147, 149, 154, 157, 158, 155,
+  149, 143, 136, 132, 131, 131, 126, 123, 120, 122, 130, 140, 147, 150, 147, 156,
+  168, 174, 176, 176, 181, 185, 195, 194, 195, 194, 195, 194, 195, 193, 183, 179,
+  176, 170, 166, 164, 157, 148, 152, 149, 144, 140, 137, 131, 123, 118, 119, 118,
+  118, 120, 123, 124, 125, 124, 119, 118, 119, 120, 122, 123, 123, 122, 120, 121,
+  123, 125, 126, 126, 128, 128, 128, 124, 119, 117, 119, 118, 113, 109, 105, 97,
+  83, 70, 62, 59, 59, 61, 64, 67, 65, 60, 54, 48, 37, 27, 19, 8,
+  2, 23, 63, 84, 72, 48, 14, 1, 255, 255, 6, 28, 54, 31, 26, 41,
+  63, 81, 92, 97, 105, 109, 113, 115, 118, 120, 119, 122, 127, 130, 130, 132,
+  134, 136, 135, 136, 138, 139, 141, 142, 143, 144, 146, 147, 149, 149, 147, 147,
+  148, 148, 148, 151, 155, 158, 161, 155, 147, 139, 134, 131, 130, 130, 123, 119,
+  116, 121, 132, 143, 150, 153, 151, 158, 169, 173, 175, 177, 184, 189, 194, 195,
+  196, 196, 197, 197, 198, 194, 188, 183, 179, 174, 171, 168, 160, 149, 156, 154,
+  149, 146, 141, 133, 126, 121, 121, 116, 115, 115, 120, 124, 128, 128, 124, 122,
+  121, 122, 124, 125, 123, 122, 118, 119, 119, 120, 122, 122, 122, 121, 126, 121,
+  117, 114, 114, 114, 113, 112, 101, 94, 83, 71, 62, 57, 57, 58, 61, 64,
+  63, 58, 54, 48, 38, 31, 18, 8, 1, 7, 29, 42, 32, 12, 6, 0,
+  255, 255, 5, 33, 68, 50, 46, 46, 58, 74, 87, 97, 103, 110, 112, 114,
+  116, 117, 117, 120, 125, 129, 133, 135, 138, 139, 137, 137, 138, 140, 142, 143,
+  143, 144, 145, 146, 146, 147, 144, 146, 148, 150, 150, 152, 155, 158, 160, 154,
+  144, 136, 131, 128, 127, 126, 122, 119, 119, 123, 132, 141, 147, 149, 150, 155,
+  164, 169, 174, 179, 188, 193, 188, 189, 192, 193, 197, 198, 201, 198, 192, 186,
+  181, 177, 175, 173, 164, 154, 155, 155, 151, 147, 141, 135, 129, 123, 122, 119,
+  115, 115, 119, 122, 126, 127, 125, 123, 122, 122, 124, 124, 123, 121, 122, 122,
+  121, 119, 120, 119, 118, 118, 121, 119, 117, 113, 110, 110, 111, 112, 102, 96,
+  86, 73, 61, 54, 52, 52, 60, 63, 63, 59, 55, 50, 41, 33, 26, 16,
+  1, 0, 0, 7, 4, 0, 2, 0, 255, 255, 170, 28, 79, 75, 75, 63,
+  61, 70, 85, 95, 101, 106, 109, 110, 113, 114, 115, 119, 125, 129, 130, 134,
+  138, 140, 137, 137, 139, 141, 144, 144, 144, 144, 144, 144, 144, 144, 142, 145,
+  149, 152, 153, 154, 156, 157, 157, 150, 140, 132, 128, 126, 124, 122, 126, 126,
+  127, 130, 135, 139, 142, 143, 150, 153, 160, 166, 174, 180, 187, 189, 185, 186,
+  189, 193, 196, 198, 199, 196, 190, 183, 178, 175, 175, 176, 168, 158, 156, 156,
+  153, 150, 145, 139, 136, 132, 130, 126, 124, 123, 125, 125, 126, 125, 127, 125,
+  125, 125, 126, 126, 127, 125, 124, 123, 123, 121, 119, 117, 118, 117, 115, 118,
+  120, 116, 109, 104, 105, 107, 101, 96, 85, 71, 59, 52, 51, 53, 60, 63,
+  64, 60, 55, 51, 42, 36, 36, 22, 4, 0, 0, 0, 0, 1, 4, 0,
+  255, 255, 255, 18, 85, 92, 99, 80, 66, 72, 84, 94, 99, 103, 105, 107,
+  110, 113, 116, 120, 126, 131, 126, 130, 135, 137, 135, 136, 138, 141, 144, 144,
+  144, 143, 143, 142, 142, 142, 140, 144, 149, 153, 154, 155, 156, 157, 154, 146,
+  136, 129, 126, 125, 122, 120, 120, 122, 127, 134, 139, 142, 145, 148, 151, 155,
+  159, 166, 174, 178, 179, 180, 184, 186, 187, 187, 190, 190, 190, 188, 182, 175,
+  170, 168, 172, 175, 169, 159, 160, 160, 157, 151, 147, 143, 141, 138, 137, 135,
+  134, 133, 133, 130, 126, 124, 127, 128, 127, 127, 129, 130, 128, 127, 124, 122,
+  122, 119, 117, 115, 116, 115, 111, 117, 123, 119, 109, 101, 99, 101, 98, 92,
+  82, 68, 57, 52, 54, 58, 61, 64, 65, 62, 59, 53, 46, 39, 35, 19,
+  5, 1, 0, 0, 0, 2, 5, 1, 255, 255, 255, 172, 57, 103, 96, 112,
+  76, 78, 67, 84, 104, 98, 105, 106, 109, 110, 115, 120, 123, 126, 131, 131,
+  131, 135, 138, 140, 142, 143, 135, 139, 142, 143, 141, 139, 140, 142, 142, 144,
+  149, 152, 154, 154, 153, 151, 150, 143, 132, 124, 118, 118, 120, 121, 124, 133,
+  135, 133, 139, 141, 143, 155, 160, 167, 176, 181, 179, 178, 179, 181, 182, 181,
+  181, 180, 178, 177, 176, 176, 171, 175, 176, 173, 170, 170, 168, 165, 148, 146,
+  146, 146, 147, 145, 139, 136, 136, 137, 135, 131, 131, 132, 128, 124, 130, 134,
+  134, 133, 132, 129, 129, 130, 127, 126, 124, 123, 124, 120, 115, 111, 110, 113,
+  119, 123, 116, 101, 94, 96, 91, 87, 79, 67, 51, 42, 47, 57, 61, 67,
+  70, 68, 63, 56, 49, 42, 41, 22, 4, 0, 0, 0, 0, 5, 6, 6,
+  255, 255, 255, 255, 49, 107, 104, 117, 95, 87, 66, 81, 97, 103, 108, 109,
+  112, 115, 117, 122, 124, 128, 130, 131, 131, 134, 137, 138, 140, 140, 139, 140,
+  143, 142, 139, 137, 137, 139, 142, 145, 149, 153, 155, 155, 153, 152, 148, 139,
+  130, 123, 120, 119, 121, 122, 127, 134, 133, 131, 140, 143, 145, 156, 163, 166,
+  172, 178, 180, 181, 179, 177, 174, 173, 170, 168, 167, 166, 166, 166, 164, 169,
+  172, 169, 169, 169, 167, 163, 155, 153, 149, 146, 145, 140, 133, 130, 136, 138,
+  136, 132, 131, 131, 130, 124, 131, 132, 136, 135, 133, 131, 133, 134, 137, 135,
+  133, 131, 129, 122, 114, 109, 109, 111, 118, 123, 118, 103, 91, 89, 84, 83,
+  79, 70, 57, 49, 55, 67, 63, 69, 73, 70, 67, 62, 53, 45, 42, 24,
+  6, 0, 0, 0, 2, 5, 6, 6, 255, 255, 255, 255, 35, 102, 109, 117,
+  110, 93, 62, 77, 82, 103, 107, 109, 113, 116, 117, 121, 125, 128, 130, 132,
+  133, 135, 135, 137, 139, 137, 140, 141, 142, 140, 137, 135, 134, 135, 142, 145,
+  150, 154, 156, 156, 154, 153, 142, 136, 128, 121, 120, 122, 122, 123, 128, 133,
+  131, 130, 140, 144, 144, 152, 167, 166, 168, 175, 180, 183, 179, 175, 171, 169,
+  165, 162, 160, 160, 161, 161, 158, 163, 169, 169, 171, 174, 174, 168, 168, 164,
+  161, 157, 152, 147, 141, 138, 136, 138, 138, 136, 137, 140, 140, 135, 132, 134,
+  138, 138, 136, 135, 136, 137, 141, 140, 138, 136, 134, 126, 117, 110, 110, 112,
+  117, 123, 121, 107, 92, 84, 77, 78, 78, 71, 58, 50, 58, 71, 61, 67,
+  70, 68, 65, 60, 52, 44, 43, 26, 9, 0, 0, 0, 3, 5, 6, 89,
+  255, 255, 255, 255, 175, 81, 113, 111, 114, 91, 61, 79, 70, 93, 99, 104,
+  110, 114, 114, 116, 121, 124, 130, 133, 134, 134, 134, 138, 139, 138, 139, 138,
+  138, 137, 136, 134, 134, 134, 142, 145, 150, 155, 157, 156, 153, 152, 139, 134,
+  128, 123, 122, 122, 123, 122, 124, 129, 129, 131, 143, 147, 144, 151, 166, 166,
+  169, 174, 177, 180, 179, 177, 170, 167, 162, 158, 156, 156, 158, 159, 158, 164,
+  171, 174, 179, 184, 185, 180, 182, 177, 173, 170, 166, 161, 156, 155, 151, 154,
+  152, 149, 148, 149, 146, 140, 135, 137, 138, 138, 136, 135, 135, 136, 136, 136,
+  137, 137, 137, 131, 122, 115, 113, 112, 115, 119, 121, 111, 97, 86, 77, 77,
+  74, 65, 52, 44, 52, 65, 60, 66, 70, 69, 66, 61, 53, 46, 44, 30,
+  13, 1, 0, 0, 3, 4, 6, 255, 255, 255, 255, 255, 255, 45, 114, 113,
+  115, 94, 68, 89, 69, 82, 93, 100, 108, 112, 113, 115, 118, 122, 132, 136,
+  136, 133, 135, 141, 140, 137, 134, 134, 134, 134, 135, 136, 136, 136, 142, 146,
+  151, 155, 156, 154, 151, 148, 139, 135, 130, 124, 123, 121, 122, 121, 115, 124,
+  128, 136, 148, 150, 144, 149, 161, 166, 171, 174, 173, 175, 179, 182, 170, 167,
+  162, 159, 157, 157, 159, 160, 170, 171, 176, 179, 185, 189, 188, 184, 184, 180,
+  178, 177, 176, 174, 170, 171, 174, 173, 168, 160, 154, 151, 144, 137, 140, 142,
+  143, 141, 137, 135, 135, 135, 134, 135, 137, 139, 139, 134, 126, 120, 113, 111,
+  109, 109, 113, 110, 100, 90, 79, 75, 69, 59, 47, 42, 50, 62, 65, 71,
+  75, 74, 72, 68, 60, 52, 45, 34, 17, 3, 0, 0, 4, 4, 6, 255,
+  255, 255, 255, 255, 255, 175, 103, 120, 120, 101, 77, 97, 85, 84, 87, 95,
+  106, 111, 112, 114, 116, 121, 129, 135, 135, 131, 133, 141, 140, 136, 131, 130,
+  129, 131, 134, 136, 137, 137, 141, 145, 150, 153, 153, 150, 145, 144, 139, 135,
+  131, 127, 125, 124, 122, 121, 113, 125, 131, 138, 151, 150, 145, 150, 157, 164,
+  170, 172, 171, 174, 180, 185, 178, 177, 173, 170, 169, 170, 171, 170, 177, 178,
+  177, 175, 179, 183, 181, 173, 172, 172, 173, 173, 172, 171, 169, 167, 169, 172,
+  168, 162, 160, 157, 152, 145, 145, 144, 145, 143, 140, 136, 136, 136, 140, 140,
+  140, 140, 140, 134, 126, 121, 113, 110, 105, 101, 104, 105, 99, 91, 78, 71,
+  64, 57, 51, 48, 54, 63, 63, 70, 74, 73, 71, 68, 60, 53, 46, 37,
+  21, 4, 0, 0, 4, 3, 6, 255, 255, 255, 255, 255, 255, 255, 65, 115,
+  117, 106, 76, 96, 106, 99, 80, 90, 102, 109, 109, 111, 115, 121, 124, 132,
+  134, 129, 130, 139, 141, 134, 130, 128, 126, 128, 132, 136, 136, 136, 141, 144,
+  148, 151, 150, 146, 140, 138, 137, 135, 132, 130, 127, 127, 125, 124, 118, 130,
+  134, 137, 146, 145, 144, 153, 157, 161, 165, 169, 171, 177, 182, 185, 184, 183,
+  181, 180, 179, 179, 180, 178, 173, 171, 167, 162, 166, 170, 167, 161, 161, 160,
+  163, 162, 163, 160, 157, 154, 154, 156, 156, 154, 156, 157, 155, 150, 143, 142,
+  143, 140, 138, 136, 136, 136, 141, 140, 138, 137, 136, 131, 124, 119, 115, 115,
+  109, 101, 101, 102, 98, 90, 75, 67, 61, 59, 57, 54, 54, 57, 58, 65,
+  70, 69, 67, 64, 57, 50, 47, 40, 23, 5, 0, 0, 4, 3, 6, 255,
+  255, 255, 255, 255, 255, 255, 178, 102, 112, 104, 70, 90, 120, 114, 73, 84,
+  97, 104, 105, 106, 112, 117, 120, 129, 131, 126, 128, 138, 140, 134, 133, 128,
+  126, 127, 131, 135, 135, 134, 140, 143, 147, 150, 148, 143, 137, 134, 134, 134,
+  131, 130, 130, 129, 130, 127, 124, 135, 137, 136, 143, 142, 143, 156, 159, 159,
+  160, 166, 173, 181, 184, 184, 179, 179, 178, 178, 178, 178, 178, 176, 162, 157,
+  155, 150, 155, 160, 158, 153, 155, 155, 155, 156, 154, 151, 143, 139, 152, 153,
+  152, 148, 147, 148, 143, 138, 136, 138, 137, 137, 136, 132, 135, 134, 136, 135,
+  133, 132, 132, 128, 122, 118, 120, 121, 116, 106, 103, 103, 98, 90, 73, 65,
+  59, 60, 60, 55, 50, 48, 60, 66, 71, 71, 69, 66, 59, 52, 48, 41,
+  25, 5, 0, 0, 5, 3, 6, 255, 255, 255, 255, 255, 255, 255, 255, 59,
+  114, 111, 81, 91, 118, 127, 111, 85, 73, 93, 108, 105, 107, 120, 120, 126,
+  129, 130, 127, 125, 127, 128, 132, 129, 126, 127, 132, 135, 135, 134, 139, 147,
+  152, 151, 147, 142, 135, 130, 133, 134, 133, 134, 136, 134, 131, 126, 122, 128,
+  135, 139, 141, 143, 148, 155, 148, 159, 171, 178, 177, 177, 179, 181, 174, 170,
+  165, 165, 166, 163, 155, 145, 137, 140, 148, 146, 143, 140, 142, 147, 153, 155,
+  156, 153, 145, 140, 136, 137, 143, 145, 145, 146, 145, 141, 133, 126, 121, 122,
+  118, 114, 122, 137, 147, 143, 134, 137, 134, 125, 120, 117, 115, 112, 113, 113,
+  112, 111, 109, 102, 93, 87, 74, 69, 62, 59, 60, 60, 58, 55, 64, 66,
+  66, 66, 68, 70, 65, 57, 50, 38, 22, 7, 0, 0, 4, 6, 7, 255,
+  255, 255, 255, 255, 255, 255, 255, 177, 85, 112, 83, 81, 113, 126, 125, 96,
+  73, 79, 95, 102, 106, 111, 117, 122, 124, 124, 122, 122, 126, 127, 130, 126,
+  125, 127, 131, 135, 135, 135, 136, 142, 146, 143, 139, 137, 132, 129, 130, 129,
+  128, 129, 129, 131, 129, 128, 133, 137, 140, 141, 141, 142, 147, 154, 161, 167,
+  172, 175, 171, 169, 167, 167, 154, 151, 148, 148, 148, 147, 142, 136, 132, 134,
+  135, 132, 129, 128, 131, 135, 151, 150, 149, 140, 132, 126, 126, 127, 129, 126,
+  127, 128, 126, 117, 114, 117, 102, 101, 105, 115, 128, 141, 152, 155, 157, 149,
+  136, 122, 117, 115, 109, 101, 114, 114, 114, 113, 109, 100, 91, 84, 74, 69,
+  63, 60, 60, 59, 56, 53, 59, 62, 64, 66, 69, 71, 64, 56, 54, 42,
+  25, 10, 1, 0, 4, 5, 7, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  49, 106, 93, 78, 104, 124, 137, 114, 84, 70, 79, 95, 104, 103, 112, 116,
+  120, 121, 118, 120, 124, 126, 126, 123, 124, 127, 130, 133, 134, 133, 138, 143,
+  144, 139, 136, 136, 134, 131, 127, 126, 125, 126, 128, 132, 132, 133, 135, 137,
+  140, 138, 139, 141, 147, 154, 173, 173, 170, 167, 163, 159, 154, 151, 153, 151,
+  146, 143, 139, 136, 134, 131, 126, 126, 127, 125, 125, 125, 125, 124, 129, 129,
+  129, 123, 117, 112, 111, 112, 114, 109, 109, 112, 108, 99, 100, 108, 102, 97,
+  101, 111, 123, 133, 146, 154, 175, 159, 137, 121, 119, 119, 111, 100, 112, 114,
+  116, 114, 110, 100, 90, 84, 72, 68, 63, 61, 61, 60, 57, 53, 57, 61,
+  64, 66, 70, 72, 65, 57, 57, 45, 28, 12, 3, 0, 3, 4, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 176, 80, 103, 85, 89, 115, 138, 130,
+  103, 72, 65, 84, 98, 99, 105, 109, 115, 119, 119, 120, 123, 125, 124, 122,
+  123, 125, 128, 129, 130, 130, 136, 141, 142, 138, 134, 134, 133, 129, 125, 126,
+  129, 130, 133, 135, 138, 138, 133, 134, 136, 138, 140, 146, 154, 161, 175, 169,
+  162, 159, 157, 155, 150, 145, 144, 142, 138, 133, 129, 126, 127, 128, 133, 130,
+  130, 130, 128, 123, 119, 117, 115, 116, 120, 123, 121, 118, 113, 111, 111, 111,
+  111, 107, 106, 109, 110, 111, 124, 119, 111, 103, 107, 119, 130, 133, 162, 147,
+  129, 115, 116, 118, 114, 105, 109, 113, 117, 116, 111, 100, 90, 84, 69, 65,
+  61, 61, 63, 63, 60, 57, 62, 64, 64, 64, 68, 70, 66, 59, 57, 45,
+  28, 13, 4, 1, 4, 4, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 34, 97, 92, 75, 102, 124, 133, 117, 82, 60, 68, 84, 94, 97, 103,
+  110, 117, 122, 123, 124, 122, 123, 124, 125, 125, 126, 127, 128, 129, 131, 136,
+  139, 135, 132, 130, 128, 121, 125, 127, 132, 137, 140, 139, 139, 137, 140, 140,
+  142, 144, 148, 155, 162, 169, 166, 160, 154, 154, 156, 157, 153, 148, 139, 138,
+  136, 133, 132, 132, 136, 139, 135, 131, 127, 122, 122, 121, 122, 121, 142, 139,
+  137, 134, 130, 126, 121, 119, 112, 121, 121, 111, 117, 130, 130, 118, 129, 133,
+  124, 106, 102, 115, 122, 115, 127, 122, 113, 103, 103, 107, 109, 107, 113, 117,
+  120, 117, 109, 97, 86, 80, 66, 63, 60, 61, 64, 66, 65, 63, 67, 66,
+  61, 58, 60, 64, 62, 58, 53, 42, 27, 12, 4, 1, 4, 5, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 75, 96, 80, 98, 108, 119,
+  114, 91, 65, 58, 69, 84, 89, 94, 102, 111, 117, 120, 121, 119, 123, 122,
+  122, 122, 122, 123, 127, 130, 132, 137, 139, 135, 131, 129, 126, 120, 122, 127,
+  134, 137, 139, 138, 135, 135, 142, 142, 145, 147, 151, 156, 158, 160, 155, 152,
+  149, 151, 153, 154, 150, 145, 139, 137, 133, 130, 129, 129, 130, 131, 118, 115,
+  112, 111, 116, 126, 140, 145, 172, 162, 149, 136, 127, 122, 121, 118, 114, 124,
+  123, 115, 118, 135, 137, 125, 112, 124, 127, 118, 116, 122, 123, 111, 109, 107,
+  105, 98, 97, 102, 108, 110, 121, 124, 124, 118, 106, 92, 80, 75, 68, 64,
+  60, 61, 65, 68, 69, 68, 67, 64, 57, 51, 53, 58, 58, 55, 53, 42,
+  27, 13, 5, 2, 5, 5, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 40, 82, 94, 93, 103, 100, 100, 98, 79, 61, 62, 75, 83, 86,
+  90, 99, 107, 113, 117, 116, 119, 118, 118, 118, 118, 122, 128, 134, 138, 142,
+  141, 134, 130, 129, 128, 123, 125, 128, 134, 137, 137, 134, 134, 135, 139, 140,
+  144, 147, 152, 154, 152, 151, 147, 146, 145, 145, 143, 139, 132, 126, 121, 118,
+  113, 112, 114, 115, 114, 111, 115, 118, 124, 127, 131, 137, 145, 152, 159, 150,
+  135, 125, 120, 117, 114, 113, 115, 116, 118, 115, 112, 115, 126, 135, 109, 112,
+  122, 131, 130, 121, 118, 117, 106, 105, 103, 97, 98, 105, 113, 116, 121, 124,
+  125, 117, 105, 90, 81, 77, 74, 68, 62, 61, 64, 68, 70, 70, 65, 63,
+  57, 52, 54, 59, 59, 56, 56, 45, 30, 16, 7, 3, 4, 88, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 173, 67, 104, 88, 110, 91,
+  88, 101, 95, 70, 60, 68, 79, 80, 82, 88, 97, 108, 114, 117, 116, 117,
+  117, 117, 118, 124, 133, 138, 139, 141, 137, 128, 123, 123, 124, 121, 131, 133,
+  138, 137, 136, 135, 137, 139, 141, 143, 147, 152, 156, 157, 155, 150, 141, 141,
+  141, 137, 132, 123, 113, 104, 113, 110, 110, 114, 124, 131, 132, 130, 135, 144,
+  154, 157, 149, 138, 130, 127, 122, 119, 121, 122, 125, 124, 120, 117, 117, 109,
+  112, 118, 106, 94, 112, 141, 121, 109, 117, 137, 132, 108, 106, 120, 103, 101,
+  97, 92, 94, 106, 115, 118, 117, 120, 122, 115, 105, 92, 86, 84, 79, 72,
+  64, 61, 64, 67, 69, 69, 64, 63, 59, 56, 59, 64, 63, 59, 60, 51,
+  33, 18, 9, 5, 4, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 40, 84, 118, 109, 106, 103, 116, 119, 81, 55, 71, 68, 77,
+  79, 75, 85, 106, 113, 107, 109, 116, 124, 125, 121, 121, 128, 134, 144, 141,
+  137, 133, 126, 123, 124, 126, 131, 134, 139, 142, 142, 141, 141, 140, 142, 144,
+  145, 144, 145, 145, 144, 143, 133, 125, 122, 122, 123, 121, 126, 132, 138, 162,
+  170, 148, 128, 133, 141, 138, 136, 135, 132, 129, 123, 119, 116, 116, 108, 116,
+  116, 110, 114, 124, 122, 112, 112, 112, 118, 121, 114, 108, 113, 127, 110, 113,
+  117, 123, 120, 112, 111, 111, 97, 94, 92, 93, 99, 106, 111, 113, 115, 115,
+  111, 103, 93, 84, 80, 82, 76, 73, 70, 68, 68, 69, 69, 69, 62, 60,
+  53, 50, 54, 59, 56, 53, 50, 49, 39, 22, 8, 6, 8, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 177, 60, 97, 108, 101,
+  104, 121, 131, 104, 67, 52, 64, 72, 76, 76, 82, 95, 105, 103, 106, 111,
+  118, 120, 119, 122, 130, 139, 142, 139, 135, 131, 125, 125, 128, 130, 133, 136,
+  142, 144, 145, 144, 145, 146, 153, 146, 134, 123, 121, 124, 129, 130, 126, 120,
+  120, 127, 132, 134, 139, 146, 166, 178, 178, 154, 135, 129, 125, 116, 112, 110,
+  110, 107, 103, 102, 106, 109, 113, 113, 114, 114, 115, 118, 119, 118, 123, 121,
+  124, 124, 113, 101, 104, 114, 106, 103, 106, 111, 114, 110, 107, 104, 93, 90,
+  90, 92, 98, 104, 109, 110, 115, 115, 114, 109, 103, 93, 85, 83, 76, 74,
+  70, 69, 69, 70, 70, 69, 66, 62, 54, 51, 54, 59, 57, 53, 42, 42,
+  34, 16, 5, 1, 88, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 179, 62, 86, 83, 92, 106, 114, 113, 96, 66, 62, 68,
+  73, 75, 78, 82, 92, 96, 101, 105, 111, 114, 115, 120, 128, 136, 139, 138,
+  133, 128, 124, 126, 131, 133, 132, 136, 143, 144, 144, 142, 144, 147, 145, 133,
+  118, 107, 108, 114, 124, 129, 123, 120, 120, 126, 129, 130, 133, 136, 129, 132,
+  134, 129, 124, 120, 117, 111, 109, 108, 109, 106, 104, 105, 110, 115, 120, 116,
+  118, 122, 122, 121, 128, 139, 136, 130, 128, 124, 112, 99, 100, 109, 106, 100,
+  101, 108, 114, 112, 106, 100, 90, 89, 90, 94, 100, 105, 109, 110, 113, 114,
+  115, 113, 109, 99, 86, 79, 76, 73, 70, 69, 70, 71, 70, 70, 69, 65,
+  56, 51, 53, 58, 56, 53, 42, 42, 35, 18, 8, 4, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 30, 75, 89,
+  113, 112, 96, 104, 103, 77, 65, 65, 70, 77, 79, 77, 83, 88, 97, 100,
+  106, 110, 113, 117, 122, 127, 138, 138, 133, 125, 121, 126, 132, 133, 131, 135,
+  141, 141, 139, 137, 140, 144, 134, 122, 111, 108, 113, 118, 123, 125, 120, 121,
+  121, 124, 126, 126, 126, 126, 134, 129, 125, 125, 121, 117, 116, 117, 121, 120,
+  122, 119, 115, 114, 119, 122, 123, 127, 130, 129, 129, 135, 150, 159, 144, 134,
+  125, 120, 110, 100, 104, 114, 109, 105, 108, 114, 117, 111, 104, 100, 92, 91,
+  94, 99, 105, 109, 112, 112, 114, 113, 112, 111, 108, 97, 82, 71, 77, 74,
+  72, 71, 72, 72, 71, 70, 71, 66, 56, 50, 52, 56, 54, 50, 43, 42,
+  35, 19, 12, 8, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 62, 30, 62, 105, 113, 98, 105, 108, 83, 61, 63,
+  70, 80, 85, 82, 80, 81, 88, 91, 99, 107, 113, 117, 119, 120, 136, 137,
+  132, 123, 118, 125, 131, 130, 133, 135, 140, 140, 138, 136, 138, 142, 133, 119,
+  108, 109, 115, 116, 117, 117, 120, 121, 125, 130, 137, 142, 145, 146, 151, 142,
+  134, 131, 128, 125, 130, 135, 129, 128, 127, 125, 123, 120, 120, 119, 126, 143,
+  148, 134, 133, 152, 169, 170, 147, 134, 121, 115, 109, 103, 110, 120, 114, 114,
+  120, 123, 119, 109, 101, 98, 93, 93, 96, 101, 107, 111, 113, 112, 118, 115,
+  111, 108, 103, 92, 78, 68, 77, 75, 73, 73, 74, 74, 72, 71, 70, 65,
+  57, 51, 52, 56, 53, 47, 37, 36, 28, 13, 7, 4, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 0, 12,
+  39, 53, 58, 68, 68, 54, 44, 54, 69, 79, 83, 83, 82, 79, 77, 79,
+  87, 99, 109, 117, 119, 119, 132, 135, 131, 121, 117, 124, 129, 126, 135, 135,
+  138, 139, 141, 141, 142, 144, 128, 110, 97, 101, 113, 117, 121, 124, 126, 128,
+  131, 133, 141, 150, 156, 159, 135, 131, 128, 131, 137, 142, 149, 152, 144, 139,
+  135, 135, 136, 136, 135, 131, 146, 167, 168, 148, 146, 167, 177, 169, 147, 130,
+  116, 112, 108, 105, 111, 120, 116, 116, 121, 122, 115, 104, 101, 100, 95, 94,
+  96, 101, 106, 110, 111, 111, 121, 118, 114, 108, 101, 89, 77, 69, 76, 76,
+  75, 74, 75, 75, 73, 71, 67, 64, 57, 52, 53, 55, 51, 46, 37, 33,
+  23, 8, 3, 87, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 172, 7, 1, 1, 6, 1, 0, 0, 15, 41,
+  67, 74, 75, 80, 83, 81, 73, 72, 77, 88, 101, 112, 116, 117, 124, 130,
+  128, 119, 116, 125, 130, 125, 132, 130, 131, 135, 142, 146, 147, 146, 126, 106,
+  95, 104, 119, 125, 129, 133, 131, 132, 133, 130, 135, 146, 155, 158, 147, 146,
+  145, 151, 163, 168, 162, 150, 168, 156, 148, 147, 152, 156, 152, 147, 161, 175,
+  174, 158, 154, 165, 170, 162, 141, 125, 116, 116, 118, 115, 116, 122, 121, 116,
+  114, 114, 112, 108, 106, 106, 100, 98, 99, 102, 107, 110, 113, 112, 116, 117,
+  116, 110, 101, 88, 77, 71, 76, 75, 74, 74, 75, 74, 74, 72, 66, 63,
+  58, 54, 57, 58, 52, 45, 39, 33, 22, 7, 3, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 7,
+  3, 8, 14, 0, 0, 6, 0, 30, 65, 71, 70, 75, 84, 84, 76, 72,
+  72, 80, 93, 105, 111, 113, 119, 127, 126, 118, 116, 126, 131, 125, 127, 123,
+  124, 130, 142, 148, 149, 147, 135, 116, 107, 117, 131, 131, 127, 126, 127, 128,
+  128, 125, 131, 147, 160, 162, 139, 141, 147, 161, 184, 195, 180, 158, 182, 167,
+  151, 147, 154, 159, 156, 150, 162, 165, 164, 157, 151, 152, 153, 151, 136, 123,
+  117, 123, 129, 125, 124, 128, 124, 113, 106, 106, 111, 113, 114, 113, 105, 103,
+  103, 105, 110, 113, 115, 116, 110, 113, 116, 111, 100, 86, 76, 70, 77, 75,
+  74, 75, 75, 75, 74, 72, 65, 63, 59, 56, 59, 60, 53, 46, 39, 32,
+  19, 3, 86, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 171, 6, 5, 6, 5, 4, 1, 4, 8,
+  45, 73, 71, 75, 86, 82, 84, 79, 71, 66, 73, 88, 100, 104, 111, 122,
+  126, 118, 115, 125, 132, 128, 124, 126, 125, 122, 132, 145, 146, 136, 125, 124,
+  116, 106, 111, 123, 124, 113, 143, 129, 119, 122, 134, 142, 150, 154, 140, 142,
+  169, 182, 184, 206, 206, 159, 191, 175, 157, 148, 151, 156, 157, 155, 156, 160,
+  161, 157, 150, 146, 149, 150, 137, 129, 125, 123, 124, 125, 126, 123, 102, 100,
+  101, 105, 110, 113, 114, 110, 112, 109, 108, 109, 112, 115, 117, 117, 119, 118,
+  115, 110, 104, 94, 85, 79, 77, 75, 73, 73, 77, 78, 78, 77, 70, 67,
+  66, 64, 61, 54, 49, 49, 44, 30, 16, 6, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  172, 7, 8, 6, 5, 4, 0, 5, 32, 58, 69, 77, 84, 84, 81, 78,
+  73, 68, 72, 84, 94, 99, 103, 115, 121, 117, 116, 126, 132, 128, 119, 121,
+  119, 116, 125, 137, 138, 130, 120, 121, 114, 106, 113, 124, 125, 117, 131, 122,
+  116, 119, 127, 136, 150, 162, 142, 135, 160, 179, 172, 181, 185, 163, 173, 165,
+  156, 151, 151, 153, 155, 154, 151, 150, 147, 141, 141, 142, 151, 155, 139, 130,
+  124, 125, 129, 123, 109, 98, 91, 94, 100, 109, 114, 116, 115, 110, 111, 109,
+  107, 109, 111, 113, 115, 114, 111, 112, 111, 109, 105, 96, 88, 83, 82, 79,
+  76, 73, 75, 73, 71, 69, 68, 66, 65, 63, 60, 54, 47, 46, 38, 24,
+  11, 87, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 6, 7, 8, 8, 7, 0, 6,
+  14, 36, 63, 76, 77, 82, 78, 79, 77, 71, 70, 78, 85, 89, 95, 108,
+  116, 116, 116, 125, 129, 125, 116, 116, 113, 109, 116, 126, 127, 120, 115, 116,
+  112, 107, 112, 121, 121, 114, 117, 116, 116, 118, 120, 127, 147, 163, 148, 131,
+  150, 170, 157, 150, 160, 162, 152, 153, 153, 152, 150, 150, 151, 150, 148, 147,
+  146, 142, 141, 136, 133, 130, 125, 126, 129, 129, 122, 106, 87, 76, 84, 93,
+  105, 118, 122, 122, 120, 118, 114, 112, 111, 112, 114, 115, 115, 114, 109, 110,
+  111, 109, 106, 97, 89, 83, 82, 79, 74, 71, 71, 69, 68, 66, 66, 65,
+  65, 62, 60, 54, 47, 43, 31, 18, 7, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 172, 9, 10, 10, 10, 8, 11, 6, 19, 56, 72, 72, 80, 80, 83,
+  84, 77, 71, 73, 76, 78, 90, 100, 109, 113, 116, 123, 126, 123, 119, 117,
+  113, 107, 111, 116, 117, 112, 113, 114, 112, 108, 112, 117, 117, 111, 108, 108,
+  111, 113, 112, 116, 131, 144, 152, 136, 143, 155, 142, 133, 144, 154, 143, 145,
+  149, 149, 149, 148, 147, 144, 139, 138, 138, 136, 135, 131, 123, 119, 123, 124,
+  121, 102, 83, 73, 77, 86, 96, 106, 121, 130, 132, 130, 130, 127, 120, 118,
+  117, 117, 118, 118, 118, 116, 114, 115, 115, 112, 106, 96, 86, 79, 79, 76,
+  73, 71, 73, 72, 72, 71, 65, 66, 65, 61, 60, 54, 46, 38, 26, 14,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 173, 12, 13, 12, 15, 16,
+  3, 9, 44, 64, 69, 81, 82, 87, 89, 81, 74, 71, 71, 70, 80, 88,
+  99, 107, 113, 122, 127, 125, 126, 123, 118, 112, 111, 112, 111, 108, 110, 112,
+  112, 111, 116, 120, 120, 118, 112, 109, 109, 112, 113, 112, 112, 118, 140, 134,
+  135, 135, 132, 135, 143, 146, 145, 142, 143, 143, 146, 147, 143, 137, 131, 126,
+  124, 124, 125, 128, 129, 128, 114, 102, 84, 60, 53, 64, 90, 114, 118, 124,
+  134, 138, 136, 133, 134, 132, 124, 122, 119, 119, 119, 119, 118, 116, 118, 119,
+  118, 113, 108, 97, 87, 81, 80, 75, 74, 73, 75, 75, 75, 74, 66, 68,
+  67, 61, 60, 57, 48, 35, 20, 9, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 12, 14, 15, 16, 14, 6, 6, 27, 51, 70, 83, 82, 86,
+  88, 83, 77, 74, 71, 68, 69, 75, 85, 96, 107, 119, 127, 130, 130, 127,
+  123, 118, 116, 112, 110, 108, 109, 110, 111, 114, 119, 123, 126, 127, 124, 118,
+  116, 120, 122, 120, 115, 115, 126, 129, 128, 121, 129, 139, 142, 141, 145, 143,
+  139, 137, 140, 140, 136, 130, 138, 138, 138, 132, 124, 111, 100, 93, 67, 59,
+  55, 64, 84, 106, 122, 127, 132, 137, 139, 139, 137, 134, 134, 133, 126, 123,
+  119, 116, 116, 115, 115, 114, 116, 116, 115, 112, 108, 101, 93, 87, 84, 79,
+  77, 75, 75, 74, 73, 71, 67, 68, 65, 57, 57, 56, 46, 31, 16, 88,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 16, 16, 16, 14,
+  14, 8, 9, 33, 65, 77, 78, 80, 83, 81, 79, 79, 74, 69, 67, 68,
+  75, 86, 97, 110, 121, 126, 129, 126, 125, 122, 120, 114, 111, 110, 109, 109,
+  110, 112, 115, 118, 121, 125, 130, 124, 122, 125, 126, 126, 125, 127, 122, 132,
+  130, 126, 134, 139, 138, 138, 139, 138, 137, 133, 131, 129, 127, 125, 136, 134,
+  129, 114, 96, 75, 61, 55, 51, 59, 77, 101, 124, 135, 137, 132, 137, 138,
+  137, 137, 137, 136, 135, 133, 130, 125, 119, 115, 114, 114, 115, 114, 114, 113,
+  112, 109, 107, 102, 97, 92, 86, 81, 76, 73, 72, 71, 70, 68, 65, 66,
+  61, 51, 52, 52, 43, 27, 14, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 16, 19, 14, 17, 10, 0, 20, 59, 71, 73, 75,
+  80, 78, 80, 83, 79, 72, 72, 68, 73, 80, 92, 102, 114, 120, 125, 125,
+  126, 126, 122, 116, 112, 112, 110, 108, 106, 106, 104, 104, 109, 113, 118, 114,
+  112, 115, 116, 119, 125, 131, 129, 137, 139, 138, 142, 135, 131, 138, 128, 132,
+  136, 132, 126, 120, 120, 123, 112, 102, 80, 58, 44, 42, 54, 66, 95, 107,
+  121, 126, 126, 126, 134, 142, 138, 136, 136, 138, 140, 140, 136, 133, 132, 127,
+  121, 116, 114, 115, 117, 117, 113, 113, 111, 107, 103, 98, 96, 92, 82, 79,
+  74, 71, 71, 71, 70, 70, 64, 66, 58, 49, 48, 52, 41, 25, 96, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 174, 13, 10,
+  13, 10, 0, 4, 33, 67, 75, 74, 80, 82, 82, 79, 79, 78, 76, 72,
+  69, 69, 76, 88, 103, 110, 115, 117, 122, 127, 128, 125, 119, 116, 113, 110,
+  106, 104, 105, 105, 107, 107, 111, 113, 112, 111, 109, 107, 105, 102, 112, 111,
+  111, 113, 115, 114, 112, 109, 111, 107, 100, 91, 85, 78, 74, 73, 57, 57,
+  61, 75, 95, 113, 127, 132, 140, 140, 139, 139, 140, 140, 139, 139, 135, 138,
+  140, 138, 133, 131, 133, 136, 129, 124, 120, 116, 113, 113, 116, 118, 113, 111,
+  104, 99, 103, 108, 105, 93, 84, 77, 72, 68, 67, 64, 65, 68, 69, 62,
+  55, 55, 55, 49, 33, 101, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 173, 10, 12, 11, 0, 0, 20, 45, 66, 72,
+  81, 84, 82, 83, 84, 86, 79, 77, 74, 73, 75, 83, 94, 101, 106, 111,
+  118, 125, 127, 128, 124, 123, 117, 113, 108, 107, 106, 108, 108, 110, 110, 111,
+  111, 110, 108, 106, 104, 103, 87, 86, 86, 87, 87, 84, 80, 76, 62, 63,
+  64, 67, 72, 79, 86, 90, 117, 121, 128, 138, 148, 153, 154, 152, 148, 148,
+  147, 147, 146, 145, 145, 145, 135, 134, 133, 133, 134, 136, 136, 136, 129, 125,
+  119, 113, 111, 110, 112, 113, 103, 102, 99, 96, 99, 102, 95, 85, 80, 74,
+  68, 62, 61, 61, 62, 63, 66, 60, 55, 52, 52, 44, 104, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  8, 10, 2, 0, 6, 19, 43, 60, 77, 79, 78, 82, 82, 81, 81, 82,
+  80, 77, 75, 77, 82, 88, 98, 103, 111, 120, 124, 128, 127, 127, 120, 116,
+  111, 111, 112, 113, 111, 113, 114, 114, 114, 113, 112, 111, 110, 109, 106, 107,
+  110, 114, 117, 117, 113, 110, 105, 106, 110, 116, 124, 135, 144, 149, 146, 151,
+  157, 160, 157, 152, 146, 143, 151, 151, 150, 149, 148, 147, 146, 146, 134, 130,
+  125, 126, 131, 135, 134, 132, 131, 127, 121, 114, 108, 106, 107, 107, 102, 101,
+  101, 100, 103, 103, 98, 88, 84, 78, 72, 64, 62, 61, 63, 63, 59, 55,
+  52, 49, 47, 110, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 171, 9, 5, 0, 3, 7, 22, 47,
+  71, 76, 76, 80, 78, 74, 78, 81, 82, 81, 76, 75, 78, 81, 94, 97,
+  105, 113, 119, 124, 125, 126, 120, 118, 114, 112, 114, 115, 113, 114, 115, 116,
+  119, 119, 122, 120, 122, 120, 131, 131, 138, 142, 147, 145, 144, 138, 132, 133,
+  135, 137, 141, 145, 148, 149, 154, 157, 158, 154, 147, 142, 143, 145, 148, 148,
+  147, 146, 144, 143, 142, 141, 134, 130, 125, 122, 123, 125, 125, 125, 127, 123,
+  118, 112, 107, 104, 104, 104, 106, 104, 103, 103, 105, 104, 100, 93, 86, 82,
+  75, 65, 63, 65, 64, 63, 54, 51, 49, 47, 42, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 173, 7, 5, 5, 5, 9, 35, 63, 76, 80, 85, 83, 78, 73, 77,
+  79, 81, 80, 80, 81, 82, 86, 91, 96, 106, 113, 120, 122, 125, 121, 119,
+  116, 117, 117, 118, 117, 116, 115, 114, 120, 121, 127, 127, 131, 130, 139, 138,
+  142, 142, 144, 139, 135, 130, 139, 141, 145, 149, 151, 152, 152, 151, 153, 155,
+  155, 150, 143, 142, 147, 153, 148, 148, 146, 145, 143, 141, 140, 139, 138, 137,
+  132, 125, 118, 115, 116, 119, 118, 117, 115, 112, 111, 107, 105, 103, 106, 102,
+  97, 97, 99, 97, 94, 92, 85, 83, 76, 65, 62, 62, 60, 56, 50, 48,
+  46, 42, 108, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 172, 6, 6, 3, 0, 14,
+  39, 62, 76, 81, 81, 79, 70, 72, 76, 78, 81, 83, 84, 84, 77, 81,
+  87, 98, 108, 115, 122, 124, 124, 121, 119, 120, 120, 121, 120, 119, 112, 114,
+  118, 123, 128, 132, 134, 136, 141, 142, 143, 146, 147, 145, 140, 136, 129, 132,
+  137, 141, 143, 144, 143, 142, 143, 147, 150, 148, 143, 141, 143, 147, 151, 150,
+  148, 146, 144, 142, 140, 139, 142, 142, 138, 129, 119, 112, 113, 115, 109, 110,
+  112, 113, 114, 110, 106, 103, 105, 99, 94, 93, 93, 89, 87, 88, 84, 85,
+  80, 67, 64, 65, 62, 55, 48, 47, 43, 110, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 172, 6, 3, 2, 0, 15, 44, 66, 72, 72, 75, 75, 71,
+  70, 75, 79, 83, 83, 81, 74, 78, 85, 92, 102, 109, 116, 118, 123, 120,
+  119, 120, 122, 123, 120, 118, 116, 116, 120, 124, 129, 132, 135, 136, 134, 135,
+  138, 142, 146, 147, 146, 146, 145, 145, 146, 147, 147, 148, 148, 148, 147, 149,
+  151, 150, 146, 144, 145, 147, 150, 149, 147, 144, 142, 139, 138, 137, 142, 140,
+  136, 129, 122, 117, 114, 113, 105, 109, 114, 117, 117, 112, 107, 102, 103, 97,
+  95, 96, 93, 85, 83, 85, 86, 89, 85, 72, 67, 67, 62, 52, 47, 45,
+  39, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 172, 4, 17, 2,
+  7, 36, 61, 66, 66, 72, 78, 73, 67, 71, 79, 82, 80, 76, 78, 80,
+  85, 92, 97, 105, 109, 113, 120, 119, 117, 117, 120, 120, 117, 115, 121, 121,
+  125, 128, 132, 135, 137, 138, 142, 141, 142, 144, 147, 147, 145, 143, 143, 142,
+  139, 138, 139, 141, 144, 146, 144, 142, 139, 135, 133, 135, 139, 142, 143, 142,
+  140, 138, 135, 132, 130, 129, 138, 133, 127, 124, 122, 119, 113, 108, 103, 108,
+  115, 119, 118, 113, 106, 100, 97, 92, 93, 95, 90, 80, 76, 77, 80, 84,
+  81, 69, 63, 65, 58, 46, 47, 45, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 11, 8, 3, 3, 12, 29, 49, 65, 72, 76, 79,
+  78, 69, 68, 74, 78, 75, 80, 81, 82, 84, 88, 93, 100, 106, 113, 114,
+  114, 115, 116, 116, 116, 115, 120, 121, 125, 130, 134, 137, 139, 139, 139, 141,
+  141, 140, 143, 147, 147, 142, 142, 137, 135, 137, 136, 135, 140, 149, 146, 146,
+  142, 135, 133, 137, 140, 138, 143, 135, 129, 132, 134, 132, 132, 135, 142, 135,
+  125, 118, 120, 124, 120, 112, 102, 107, 110, 110, 113, 115, 113, 108, 105, 101,
+  104, 105, 99, 87, 80, 81, 86, 86, 78, 62, 53, 50, 52, 53, 41, 110,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 173, 5, 2,
+  1, 4, 13, 32, 54, 70, 65, 74, 79, 78, 76, 80, 82, 80, 79, 80,
+  80, 82, 86, 92, 98, 101, 112, 112, 115, 116, 118, 117, 117, 115, 118, 118,
+  122, 127, 131, 134, 136, 137, 138, 139, 137, 135, 137, 143, 144, 143, 140, 138,
+  140, 144, 143, 139, 140, 146, 142, 142, 138, 131, 129, 133, 135, 134, 134, 129,
+  129, 134, 137, 135, 135, 138, 134, 133, 129, 124, 122, 120, 112, 103, 95, 103,
+  109, 108, 108, 109, 109, 107, 114, 105, 103, 106, 106, 97, 86, 83, 83, 80,
+  71, 54, 43, 39, 38, 35, 110, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 172, 8, 3, 0, 0, 10, 34, 55, 60, 70,
+  77, 78, 77, 80, 82, 83, 77, 78, 80, 81, 82, 87, 92, 95, 105, 106,
+  111, 113, 116, 117, 116, 113, 115, 117, 121, 125, 129, 133, 135, 136, 139, 139,
+  136, 132, 133, 138, 139, 137, 135, 137, 144, 150, 148, 142, 138, 138, 140, 140,
+  136, 130, 128, 131, 133, 131, 130, 131, 135, 139, 140, 136, 136, 139, 118, 123,
+  127, 126, 125, 121, 111, 101, 96, 108, 116, 113, 106, 104, 107, 109, 118, 106,
+  98, 101, 108, 102, 88, 78, 68, 67, 61, 50, 44, 41, 40, 37, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 15,
+  10, 1, 0, 0, 15, 30, 56, 64, 68, 69, 69, 72, 77, 82, 79, 78,
+  79, 80, 80, 84, 88, 92, 96, 100, 104, 111, 113, 115, 113, 113, 115, 115,
+  120, 122, 128, 130, 135, 134, 140, 139, 138, 131, 133, 133, 133, 128, 128, 134,
+  142, 147, 145, 139, 133, 131, 134, 135, 132, 126, 125, 128, 129, 129, 131, 134,
+  136, 136, 132, 128, 129, 132, 119, 121, 122, 122, 123, 121, 109, 97, 102, 116,
+  125, 119, 108, 103, 107, 109, 114, 104, 96, 97, 103, 99, 86, 77, 60, 59,
+  55, 48, 47, 49, 46, 113, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 176, 18, 14, 7, 6, 10, 14, 44, 50,
+  60, 67, 67, 69, 75, 78, 80, 81, 80, 80, 81, 83, 85, 89, 92, 96,
+  101, 108, 112, 114, 114, 113, 116, 115, 120, 122, 128, 130, 135, 135, 140, 141,
+  142, 136, 136, 132, 127, 117, 124, 131, 137, 140, 139, 136, 131, 128, 126, 128,
+  126, 121, 120, 124, 125, 125, 130, 134, 132, 127, 122, 121, 124, 127, 135, 130,
+  122, 118, 120, 120, 108, 94, 99, 113, 122, 118, 110, 106, 107, 109, 110, 107,
+  104, 101, 99, 95, 87, 82, 69, 66, 59, 49, 47, 44, 109, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 27, 25, 22, 19, 17, 27, 34, 48, 64, 71, 72, 73, 76, 79, 80,
+  80, 80, 80, 83, 86, 87, 91, 95, 100, 107, 111, 114, 115, 116, 114, 115,
+  117, 121, 125, 129, 133, 135, 137, 140, 141, 138, 135, 132, 123, 113, 120, 127,
+  133, 134, 133, 133, 131, 127, 125, 127, 126, 123, 123, 127, 129, 129, 131, 133,
+  129, 122, 120, 126, 131, 133, 131, 127, 120, 116, 120, 123, 116, 106, 93, 103,
+  112, 112, 110, 109, 108, 106, 102, 105, 105, 98, 91, 87, 83, 81, 75, 69,
+  59, 49, 47, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 182, 37, 35, 31, 30, 23, 24,
+  33, 50, 61, 67, 71, 75, 77, 79, 80, 81, 79, 81, 84, 85, 89, 92,
+  96, 102, 106, 110, 113, 114, 112, 113, 115, 118, 122, 127, 131, 133, 134, 137,
+  138, 135, 133, 131, 124, 114, 112, 121, 127, 127, 127, 129, 127, 122, 122, 125,
+  125, 123, 124, 129, 131, 131, 132, 133, 128, 121, 123, 132, 137, 136, 120, 124,
+  126, 124, 124, 124, 121, 116, 100, 105, 111, 113, 116, 116, 113, 105, 98, 102,
+  102, 93, 87, 84, 80, 77, 71, 65, 52, 114, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 36, 35, 37, 40, 31, 22, 20, 32, 47, 56, 69, 76, 77, 79,
+  81, 80, 78, 80, 83, 84, 85, 88, 91, 96, 102, 107, 111, 112, 110, 110,
+  112, 115, 119, 124, 128, 131, 131, 133, 133, 130, 130, 130, 125, 118, 106, 116,
+  123, 124, 124, 126, 124, 118, 115, 118, 119, 117, 119, 124, 126, 125, 127, 128,
+  122, 116, 120, 129, 132, 128, 125, 136, 143, 138, 127, 119, 113, 110, 116, 117,
+  120, 121, 126, 126, 117, 105, 105, 107, 105, 97, 92, 92, 86, 80, 66, 56,
+  43, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 31, 29, 23, 22,
+  24, 27, 31, 41, 62, 81, 78, 83, 75, 90, 76, 85, 74, 77, 79, 78,
+  82, 91, 97, 99, 104, 110, 116, 112, 110, 113, 120, 126, 128, 128, 126, 130,
+  133, 130, 125, 122, 124, 127, 119, 115, 112, 117, 127, 135, 136, 135, 122, 121,
+  117, 114, 116, 123, 126, 124, 126, 124, 125, 125, 126, 125, 123, 121, 125, 139,
+  145, 132, 115, 113, 121, 128, 118, 122, 124, 123, 123, 120, 112, 102, 108, 108,
+  106, 100, 93, 84, 77, 72, 58, 51, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 182, 34, 22, 22, 23, 22, 20, 25, 43, 61, 73, 78,
+  72, 80, 64, 74, 70, 79, 71, 72, 78, 88, 97, 101, 106, 111, 116, 112,
+  111, 115, 120, 124, 124, 122, 129, 132, 134, 132, 127, 122, 121, 122, 133, 131,
+  129, 128, 129, 131, 133, 134, 125, 125, 122, 118, 121, 127, 130, 128, 131, 127,
+  125, 122, 121, 121, 122, 121, 125, 133, 139, 132, 124, 122, 122, 120, 115, 117,
+  118, 120, 124, 126, 121, 111, 110, 107, 102, 95, 87, 76, 64, 55, 118, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 23, 23,
+  23, 19, 12, 10, 24, 38, 59, 69, 72, 77, 65, 71, 72, 80, 68, 68,
+  73, 83, 92, 96, 102, 106, 112, 111, 114, 117, 120, 121, 118, 116, 127, 128,
+  129, 129, 127, 124, 121, 119, 126, 128, 129, 129, 129, 132, 137, 142, 126, 127,
+  124, 121, 123, 129, 130, 128, 138, 133, 127, 123, 122, 123, 125, 125, 127, 129,
+  129, 129, 132, 130, 122, 112, 117, 119, 119, 119, 126, 128, 121, 112, 115, 108,
+  101, 93, 85, 73, 58, 115, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 25, 24, 23, 17, 10, 13, 19, 39, 55,
+  67, 76, 73, 73, 72, 72, 74, 69, 70, 76, 83, 86, 94, 99, 107, 109,
+  115, 119, 119, 117, 113, 111, 122, 121, 121, 122, 125, 126, 125, 123, 119, 120,
+  122, 124, 128, 133, 139, 143, 127, 128, 126, 124, 126, 131, 131, 128, 132, 129,
+  124, 122, 123, 124, 127, 127, 127, 125, 125, 128, 133, 131, 121, 112, 114, 120,
+  125, 125, 127, 126, 122, 115, 117, 106, 94, 85, 79, 70, 122, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  177, 26, 28, 21, 15, 12, 29, 40, 52, 57, 66, 67, 70, 63, 75, 70,
+  67, 69, 73, 78, 88, 95, 99, 106, 114, 118, 117, 114, 112, 112, 126, 124,
+  122, 123, 126, 129, 131, 132, 135, 130, 126, 127, 131, 135, 135, 133, 132, 134,
+  133, 130, 132, 136, 136, 131, 127, 125, 123, 122, 123, 123, 123, 122, 126, 126,
+  127, 128, 129, 126, 122, 120, 109, 122, 132, 132, 128, 124, 122, 120, 113, 98,
+  80, 68, 64, 123, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31, 28, 22, 20, 42, 44,
+  48, 39, 52, 58, 69, 64, 70, 64, 60, 62, 65, 71, 83, 92, 90, 96,
+  106, 110, 109, 108, 110, 112, 130, 129, 128, 127, 128, 130, 133, 135, 144, 137,
+  130, 130, 135, 138, 135, 131, 134, 136, 136, 134, 135, 139, 137, 132, 129, 127,
+  125, 124, 123, 121, 120, 117, 123, 125, 127, 127, 123, 117, 119, 125, 118, 130,
+  137, 130, 119, 110, 105, 102, 104, 89, 69, 101, 210, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 182, 41, 59, 56, 57, 33, 42, 43, 61, 57, 64, 59,
+  56, 58, 63, 66, 73, 80, 78, 88, 98, 102, 101, 103, 109, 116, 125, 129,
+  132, 133, 132, 132, 134, 137, 138, 134, 131, 130, 132, 135, 135, 134, 131, 134,
+  134, 133, 134, 137, 134, 128, 130, 127, 123, 121, 120, 119, 118, 117, 121, 123,
+  127, 128, 121, 113, 115, 123, 131, 134, 130, 119, 109, 99, 91, 83, 90, 78,
+  127, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 190, 62,
+  66, 35, 38, 28, 45, 41, 65, 58, 56, 58, 60, 59, 62, 67, 73, 80,
+  91, 95, 95, 98, 107, 116, 112, 121, 130, 134, 133, 132, 134, 137, 132, 132,
+  130, 126, 122, 121, 123, 126, 124, 127, 128, 127, 128, 130, 127, 121, 119, 115,
+  110, 108, 109, 112, 113, 113, 118, 120, 125, 129, 121, 110, 111, 118, 124, 121,
+  112, 106, 102, 100, 93, 85, 133, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 198, 73, 31, 27, 41, 28, 50, 55,
+  58, 59, 61, 66, 69, 67, 72, 72, 77, 87, 96, 101, 106, 110, 117, 119,
+  123, 128, 130, 129, 124, 120, 131, 131, 132, 130, 126, 120, 114, 111, 121, 121,
+  125, 129, 127, 120, 117, 119, 116, 112, 111, 113, 112, 109, 108, 111, 118, 120,
+  120, 117, 108, 102, 102, 104, 110, 102, 89, 83, 86, 87, 73, 123, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 39, 31, 36, 40, 44, 51, 58, 60, 55, 70, 71,
+  75, 78, 86, 93, 100, 101, 105, 109, 118, 123, 126, 123, 120, 116, 120, 121,
+  124, 122, 120, 116, 117, 116, 112, 110, 115, 121, 124, 121, 121, 123, 113, 108,
+  106, 107, 108, 107, 109, 113, 109, 112, 116, 112, 104, 97, 95, 96, 99, 96,
+  87, 79, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 210, 116, 120, 121, 124, 119, 116, 112, 118, 120, 117, 111,
+  112, 115, 121, 117, 117, 117, 111, 108, 108, 111, 113, 109, 109, 112, 117, 119,
+  119, 113, 103, 94, 89, 88, 89, 91, 143, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 206, 106, 110, 117, 117, 110, 106, 110, 114, 113, 110, 109, 111, 110,
+  114, 118, 118, 110, 103, 102, 118, 117, 116, 109, 100, 147, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255 };
+/* Define image 'enemy16' of size 139x185x1x3 and type 'const unsigned char' */
+const unsigned char data_enemy16[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 250, 248, 250, 253,
+  255, 250, 250, 249, 249, 250, 252, 255, 255, 255, 255, 255, 255, 254, 251, 247,
+  248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253,
+  250, 248, 241, 236, 241, 241, 241, 239, 236, 236, 240, 243, 239, 237, 235, 235,
+  237, 241, 246, 250, 246, 241, 239, 244, 248, 242, 227, 213, 206, 199, 186, 172,
+  168, 179, 200, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 248, 230, 231, 234, 230, 221, 212, 206,
+  206, 204, 198, 193, 190, 192, 195, 197, 195, 192, 191, 193, 199, 206, 210, 222,
+  214, 211, 220, 230, 223, 198, 174, 148, 151, 152, 144, 135, 133, 140, 148, 152,
+  158, 177, 201, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242,
+  199, 187, 189, 185, 178, 172, 165, 158, 152, 148, 135, 139, 144, 148, 153, 153,
+  143, 131, 132, 141, 145, 139, 133, 131, 129, 124, 142, 137, 134, 135, 140, 140,
+  134, 125, 107, 108, 112, 121, 127, 127, 120, 112, 112, 114, 116, 130, 159, 187,
+  195, 187, 186, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 251, 228, 208, 186, 170, 159, 163, 159, 154,
+  149, 146, 141, 136, 132, 123, 126, 128, 129, 132, 134, 129, 121, 120, 125, 126,
+  124, 124, 125, 121, 114, 113, 109, 106, 109, 113, 112, 107, 101, 97, 98, 103,
+  113, 124, 126, 121, 116, 102, 101, 101, 106, 123, 142, 153, 155, 146, 151, 168,
+  199, 236, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  249, 228, 213, 196, 179, 165, 156, 152, 144, 141, 136, 133, 129, 123, 119, 116,
+  113, 115, 114, 111, 111, 114, 114, 111, 109, 108, 107, 106, 109, 111, 106, 99,
+  93, 90, 89, 90, 95, 95, 90, 83, 83, 85, 92, 103, 114, 121, 122, 121,
+  102, 96, 93, 94, 95, 103, 116, 130, 137, 130, 132, 154, 185, 213, 234, 246,
+  253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 244, 225, 203, 195, 183, 170, 160,
+  156, 156, 156, 146, 141, 135, 129, 123, 118, 111, 107, 104, 107, 106, 101, 98,
+  100, 101, 100, 102, 100, 97, 95, 95, 95, 92, 88, 90, 88, 88, 88, 90,
+  90, 83, 78, 71, 75, 82, 92, 105, 114, 120, 121, 112, 103, 96, 96, 93,
+  92, 105, 121, 128, 117, 111, 123, 145, 177, 207, 228, 255, 244, 215, 188, 207,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 206, 207, 207, 183, 177, 166, 155, 147, 144, 143, 144, 143, 139,
+  132, 125, 118, 111, 104, 101, 95, 100, 101, 96, 93, 93, 92, 89, 93, 92,
+  91, 88, 84, 82, 84, 87, 89, 88, 88, 87, 87, 84, 76, 70, 68, 69,
+  74, 82, 94, 106, 113, 119, 121, 109, 100, 99, 97, 95, 101, 112, 113, 106,
+  101, 104, 114, 135, 165, 188, 231, 242, 238, 212, 186, 172, 164, 160, 192, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 233, 191, 190,
+  186, 165, 161, 151, 142, 134, 128, 127, 125, 124, 120, 115, 109, 105, 100, 94,
+  91, 90, 95, 98, 97, 97, 97, 93, 87, 83, 82, 82, 81, 77, 74, 80,
+  88, 89, 87, 88, 87, 86, 80, 73, 68, 68, 68, 70, 76, 85, 97, 108,
+  115, 126, 115, 104, 98, 98, 98, 98, 101, 99, 96, 94, 90, 89, 98, 118,
+  140, 183, 191, 213, 231, 208, 163, 146, 159, 143, 185, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 178, 180, 177, 172, 166, 148, 145, 136, 128,
+  122, 117, 114, 114, 109, 105, 100, 96, 92, 89, 85, 82, 87, 91, 95, 98,
+  103, 106, 101, 93, 87, 81, 78, 79, 78, 76, 81, 88, 91, 91, 93, 91,
+  90, 84, 78, 74, 69, 68, 69, 72, 79, 92, 105, 113, 120, 115, 104, 94,
+  91, 95, 98, 98, 99, 94, 89, 83, 78, 79, 93, 107, 117, 151, 175, 179,
+  186, 188, 163, 127, 139, 125, 138, 208, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 176, 175, 175, 171, 163, 156, 145, 140, 131, 122, 113, 107, 105, 102, 104,
+  101, 96, 92, 89, 85, 81, 76, 79, 82, 85, 91, 99, 105, 101, 93, 97,
+  86, 77, 79, 81, 79, 81, 85, 90, 92, 94, 95, 93, 87, 81, 77, 70,
+  68, 68, 70, 77, 90, 103, 113, 107, 109, 99, 83, 79, 89, 97, 96, 105,
+  97, 89, 82, 78, 77, 86, 96, 104, 108, 130, 162, 178, 168, 151, 141, 127,
+  120, 122, 144, 212, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 234, 192, 189, 178, 162, 147,
+  138, 133, 124, 120, 113, 106, 100, 97, 96, 95, 93, 94, 94, 93, 91, 87,
+  83, 80, 77, 76, 76, 79, 83, 86, 87, 87, 84, 83, 83, 81, 79, 76,
+  73, 72, 85, 85, 83, 79, 76, 78, 83, 88, 69, 60, 60, 69, 75, 78,
+  91, 107, 118, 113, 103, 93, 88, 86, 88, 90, 100, 104, 98, 85, 73, 72,
+  72, 71, 89, 92, 97, 108, 129, 149, 154, 148, 132, 121, 112, 112, 128, 161,
+  221, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 230, 187, 182, 175, 161, 147, 133, 122, 118, 108, 108, 106,
+  101, 98, 92, 89, 88, 89, 89, 90, 90, 89, 89, 88, 87, 83, 81, 79,
+  79, 81, 83, 84, 83, 83, 83, 81, 79, 78, 76, 74, 74, 72, 78, 83,
+  85, 83, 79, 76, 74, 73, 65, 64, 70, 73, 74, 83, 96, 112, 113, 109,
+  99, 88, 82, 85, 89, 98, 103, 99, 88, 77, 74, 71, 69, 74, 81, 87,
+  93, 106, 123, 133, 136, 135, 125, 113, 107, 114, 136, 169, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 173,
+  170, 163, 151, 138, 126, 116, 107, 102, 94, 96, 97, 97, 94, 90, 85, 81,
+  82, 81, 81, 81, 82, 85, 88, 90, 89, 86, 83, 81, 81, 81, 80, 79,
+  82, 82, 81, 80, 78, 77, 76, 76, 71, 77, 86, 90, 89, 83, 77, 73,
+  74, 70, 67, 72, 73, 70, 77, 87, 104, 112, 115, 106, 90, 81, 81, 88,
+  94, 99, 99, 92, 82, 77, 70, 66, 66, 74, 82, 83, 86, 99, 114, 123,
+  123, 114, 106, 99, 102, 117, 141, 164, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 228, 166, 161, 147, 137, 124, 114, 107,
+  103, 98, 95, 88, 88, 91, 93, 92, 88, 85, 82, 78, 76, 74, 72, 74,
+  77, 81, 84, 90, 89, 89, 89, 88, 85, 81, 78, 80, 81, 82, 83, 83,
+  81, 79, 78, 79, 82, 85, 87, 88, 87, 86, 86, 73, 71, 71, 74, 73,
+  72, 75, 83, 93, 104, 113, 110, 98, 85, 82, 83, 90, 95, 98, 96, 88,
+  80, 70, 65, 64, 71, 76, 77, 79, 87, 98, 107, 110, 105, 99, 96, 96,
+  106, 127, 148, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 224, 153, 144, 139, 123, 115, 103, 95, 92, 90, 88, 85, 83, 84,
+  84, 85, 85, 85, 84, 84, 78, 76, 72, 68, 68, 69, 72, 75, 84, 86,
+  89, 93, 93, 90, 83, 77, 79, 81, 84, 86, 87, 85, 83, 81, 85, 85,
+  86, 88, 91, 93, 95, 95, 79, 77, 77, 78, 75, 73, 74, 78, 86, 94,
+  103, 109, 105, 95, 85, 79, 87, 91, 95, 98, 93, 83, 72, 67, 62, 62,
+  65, 70, 74, 77, 83, 86, 109, 105, 100, 94, 89, 94, 111, 129, 151, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 138, 126, 116,
+  111, 104, 99, 91, 83, 79, 77, 75, 74, 76, 75, 75, 75, 75, 76, 77,
+  78, 79, 76, 73, 70, 68, 68, 68, 69, 77, 80, 86, 92, 94, 91, 84,
+  79, 79, 81, 83, 85, 86, 86, 86, 86, 84, 86, 89, 93, 97, 97, 94,
+  91, 85, 85, 83, 80, 75, 72, 72, 73, 82, 86, 93, 101, 105, 102, 89,
+  79, 85, 87, 91, 98, 95, 86, 75, 72, 64, 60, 60, 67, 72, 75, 76,
+  77, 97, 96, 95, 91, 86, 86, 100, 115, 137, 147, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 140, 129, 116, 106, 98, 95, 92, 92, 87, 81,
+  75, 70, 70, 70, 70, 70, 69, 69, 69, 69, 69, 69, 71, 71, 71, 71,
+  70, 68, 67, 66, 70, 72, 77, 82, 85, 85, 81, 77, 82, 80, 78, 77,
+  79, 83, 89, 92, 92, 93, 95, 98, 100, 99, 94, 89, 87, 87, 84, 80,
+  75, 74, 72, 73, 85, 84, 84, 92, 99, 98, 92, 86, 84, 84, 88, 96,
+  96, 88, 79, 77, 68, 62, 61, 67, 72, 74, 76, 80, 81, 85, 90, 92,
+  86, 84, 94, 108, 122, 134, 182, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  217, 128, 116, 105, 97, 92, 91, 87, 88, 88, 83, 76, 72, 71, 73, 66,
+  66, 66, 68, 67, 67, 65, 64, 61, 63, 65, 67, 68, 66, 65, 63, 67,
+  68, 70, 73, 77, 79, 78, 76, 85, 80, 74, 70, 73, 80, 90, 96, 104,
+  100, 97, 97, 98, 98, 95, 92, 82, 84, 82, 78, 74, 75, 77, 77, 88,
+  83, 82, 85, 91, 94, 94, 92, 84, 82, 85, 95, 95, 88, 81, 81, 67,
+  61, 60, 64, 66, 66, 74, 83, 79, 86, 95, 96, 87, 80, 84, 95, 118,
+  130, 144, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 133, 115, 99, 92, 90,
+  90, 89, 86, 85, 82, 77, 72, 68, 64, 63, 60, 60, 60, 59, 59, 59,
+  58, 58, 54, 54, 54, 55, 55, 56, 56, 56, 63, 64, 65, 66, 67, 68,
+  69, 69, 72, 74, 74, 71, 68, 68, 74, 80, 107, 110, 110, 104, 95, 92,
+  98, 104, 87, 86, 82, 80, 78, 77, 78, 78, 81, 81, 82, 83, 85, 86,
+  85, 85, 81, 75, 73, 77, 88, 94, 89, 83, 73, 70, 67, 64, 64, 65,
+  69, 72, 83, 83, 88, 89, 85, 83, 88, 96, 112, 121, 130, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 223, 147, 135, 115, 102, 94, 92, 92, 90, 84, 83, 78,
+  74, 70, 65, 62, 60, 57, 57, 57, 56, 56, 55, 55, 54, 54, 55, 55,
+  56, 57, 57, 58, 58, 61, 61, 62, 64, 65, 67, 68, 68, 71, 74, 75,
+  73, 69, 69, 73, 78, 92, 103, 113, 116, 111, 102, 95, 91, 88, 87, 83,
+  80, 78, 77, 77, 77, 78, 82, 85, 85, 81, 78, 78, 80, 81, 76, 73,
+  75, 83, 88, 89, 86, 77, 72, 66, 60, 59, 59, 63, 66, 78, 79, 82,
+  85, 83, 81, 85, 93, 108, 117, 125, 170, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 154,
+  143, 131, 114, 101, 96, 93, 92, 91, 79, 78, 75, 72, 67, 64, 60, 59,
+  58, 58, 57, 56, 55, 54, 53, 53, 53, 54, 54, 55, 56, 57, 57, 58,
+  60, 60, 62, 63, 65, 67, 68, 69, 72, 75, 77, 75, 72, 71, 73, 76,
+  85, 95, 110, 119, 119, 109, 97, 88, 87, 86, 81, 78, 75, 74, 74, 74,
+  74, 81, 87, 86, 79, 73, 72, 74, 77, 76, 72, 73, 76, 82, 85, 88,
+  83, 77, 69, 60, 57, 55, 58, 61, 69, 70, 74, 79, 80, 78, 84, 91,
+  104, 113, 121, 124, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 222, 151, 147, 134, 124, 109, 98, 93,
+  90, 89, 87, 76, 75, 73, 70, 67, 65, 63, 61, 63, 63, 62, 61, 60,
+  59, 58, 58, 55, 55, 56, 57, 58, 58, 59, 59, 62, 63, 64, 66, 68,
+  70, 71, 72, 73, 76, 78, 78, 76, 74, 74, 75, 87, 91, 97, 107, 110,
+  108, 100, 93, 86, 84, 79, 76, 72, 70, 70, 70, 69, 74, 80, 81, 77,
+  73, 70, 70, 70, 70, 71, 70, 71, 74, 79, 82, 85, 80, 73, 66, 61,
+  58, 58, 58, 59, 60, 66, 73, 77, 77, 82, 88, 102, 111, 118, 121, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 151, 142, 136, 121, 111, 100, 91, 87, 86, 83, 81, 76, 75,
+  74, 72, 72, 70, 69, 68, 70, 70, 69, 68, 67, 66, 66, 65, 59, 59,
+  59, 60, 60, 61, 61, 61, 61, 61, 63, 64, 66, 68, 69, 70, 74, 77,
+  79, 80, 78, 77, 76, 75, 87, 86, 86, 92, 99, 102, 100, 97, 87, 85,
+  80, 77, 73, 71, 71, 71, 67, 67, 69, 73, 77, 77, 73, 69, 61, 64,
+  67, 69, 68, 69, 72, 74, 78, 76, 75, 71, 67, 62, 59, 57, 55, 55,
+  60, 68, 75, 76, 81, 89, 104, 112, 118, 120, 166, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 149, 140, 130,
+  121, 106, 99, 89, 83, 82, 80, 77, 74, 76, 76, 76, 76, 77, 76, 78,
+  77, 76, 75, 75, 75, 75, 74, 74, 74, 68, 68, 67, 67, 67, 66, 66,
+  66, 61, 61, 62, 63, 64, 65, 66, 67, 73, 74, 76, 78, 78, 77, 77,
+  76, 78, 78, 82, 87, 93, 96, 94, 90, 89, 87, 82, 80, 77, 75, 75,
+  75, 69, 64, 61, 65, 72, 75, 71, 66, 59, 61, 63, 65, 66, 66, 68,
+  69, 71, 71, 73, 72, 70, 64, 60, 57, 55, 54, 57, 66, 73, 77, 84,
+  90, 104, 112, 117, 118, 119, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 221, 148, 139, 129, 115, 108, 93, 86, 80, 76,
+  75, 76, 72, 71, 75, 75, 77, 79, 81, 83, 84, 85, 79, 79, 80, 80,
+  80, 80, 81, 81, 75, 74, 73, 72, 71, 70, 69, 68, 64, 64, 65, 65,
+  65, 66, 66, 66, 70, 70, 71, 73, 75, 76, 76, 75, 74, 76, 79, 84,
+  88, 89, 89, 87, 87, 86, 81, 79, 77, 75, 76, 76, 75, 70, 64, 63,
+  65, 67, 67, 66, 60, 59, 60, 61, 63, 66, 67, 68, 71, 71, 73, 73,
+  71, 67, 64, 61, 57, 54, 57, 65, 73, 79, 87, 94, 106, 112, 117, 116,
+  116, 164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  223, 151, 143, 132, 119, 107, 98, 85, 81, 75, 74, 74, 74, 72, 68, 74,
+  76, 77, 80, 83, 85, 87, 87, 79, 79, 80, 80, 81, 82, 82, 83, 80,
+  80, 78, 77, 75, 73, 72, 71, 70, 70, 70, 70, 70, 70, 70, 70, 68,
+  67, 67, 69, 72, 74, 74, 74, 76, 77, 77, 80, 81, 84, 86, 89, 83,
+  82, 78, 76, 74, 73, 73, 74, 80, 76, 70, 63, 59, 59, 63, 65, 64,
+  61, 59, 58, 61, 65, 69, 70, 76, 75, 75, 74, 73, 69, 68, 67, 60,
+  56, 56, 65, 73, 81, 89, 96, 105, 111, 115, 114, 114, 116, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 166, 164, 153, 134, 123, 116,
+  109, 102, 81, 77, 72, 70, 70, 71, 70, 71, 72, 74, 75, 76, 77, 80,
+  84, 87, 86, 83, 81, 81, 86, 89, 89, 89, 85, 85, 84, 83, 83, 82,
+  81, 81, 80, 79, 80, 81, 80, 79, 78, 76, 77, 75, 73, 70, 69, 68,
+  68, 68, 70, 71, 73, 76, 78, 81, 82, 84, 78, 78, 79, 77, 75, 73,
+  70, 69, 73, 71, 69, 67, 65, 65, 66, 66, 68, 68, 68, 68, 69, 70,
+  72, 73, 78, 80, 83, 83, 81, 78, 76, 76, 69, 67, 65, 63, 68, 78,
+  93, 105, 109, 112, 116, 117, 116, 112, 158, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 232, 172, 164, 148, 126, 113, 105, 97, 88, 78, 75, 71,
+  70, 70, 70, 70, 70, 70, 71, 73, 74, 74, 76, 79, 83, 83, 81, 81,
+  84, 88, 90, 90, 90, 87, 87, 87, 86, 86, 85, 85, 84, 82, 83, 84,
+  85, 85, 82, 81, 80, 78, 77, 74, 71, 69, 68, 68, 68, 72, 73, 75,
+  77, 80, 82, 84, 85, 83, 84, 82, 82, 79, 75, 73, 71, 74, 73, 72,
+  70, 69, 69, 69, 69, 70, 69, 70, 71, 71, 74, 75, 75, 83, 86, 88,
+  89, 87, 85, 84, 84, 79, 74, 68, 67, 73, 84, 95, 102, 110, 112, 114,
+  116, 114, 111, 111, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 189, 186,
+  166, 152, 129, 107, 93, 86, 76, 67, 69, 67, 66, 66, 68, 67, 67, 64,
+  65, 66, 69, 69, 70, 71, 73, 75, 79, 80, 83, 86, 90, 93, 92, 92,
+  92, 92, 92, 91, 91, 91, 91, 91, 89, 90, 91, 89, 89, 88, 87, 86,
+  84, 83, 81, 78, 76, 75, 74, 73, 77, 78, 80, 82, 84, 87, 88, 89,
+  92, 92, 90, 89, 86, 84, 80, 78, 76, 76, 76, 75, 75, 74, 74, 74,
+  76, 76, 78, 78, 79, 80, 83, 84, 91, 93, 96, 97, 96, 94, 94, 95,
+  92, 82, 73, 72, 79, 92, 99, 105, 113, 114, 114, 114, 112, 112, 114, 162,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 184, 183, 178, 147, 131, 109, 92, 82,
+  73, 63, 54, 60, 60, 60, 62, 62, 62, 60, 58, 60, 62, 64, 66, 66,
+  67, 69, 71, 79, 82, 86, 93, 97, 99, 99, 99, 99, 99, 99, 99, 99,
+  99, 100, 100, 97, 98, 98, 98, 98, 97, 97, 97, 97, 96, 95, 93, 92,
+  91, 91, 90, 92, 93, 94, 96, 99, 101, 102, 103, 106, 106, 106, 103, 100,
+  97, 93, 91, 85, 86, 86, 86, 86, 86, 86, 86, 90, 90, 91, 91, 93,
+  94, 96, 97, 105, 108, 110, 111, 111, 110, 111, 112, 106, 99, 88, 83, 84,
+  93, 104, 110, 117, 117, 116, 114, 111, 111, 114, 117, 161, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 172, 174, 168, 161, 132, 118, 101, 90, 83, 73, 61, 53, 57, 57,
+  59, 60, 61, 62, 58, 56, 59, 61, 65, 65, 66, 68, 72, 74, 85, 89,
+  97, 104, 109, 111, 112, 112, 113, 113, 113, 114, 114, 115, 115, 116, 112, 112,
+  112, 114, 114, 114, 115, 115, 115, 115, 116, 116, 116, 116, 115, 115, 117, 118,
+  119, 121, 123, 125, 126, 127, 128, 128, 126, 124, 121, 118, 113, 111, 104, 104,
+  105, 105, 106, 107, 107, 108, 110, 110, 109, 110, 112, 112, 114, 114, 124, 127,
+  129, 130, 129, 129, 131, 133, 128, 124, 115, 104, 95, 95, 104, 113, 121, 121,
+  121, 117, 113, 113, 113, 115, 114, 161, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 163, 158, 149,
+  140, 121, 109, 99, 91, 84, 73, 61, 54, 62, 60, 61, 62, 65, 64, 62,
+  60, 60, 61, 65, 67, 69, 73, 79, 83, 98, 104, 112, 120, 124, 129, 130,
+  133, 130, 131, 132, 133, 134, 135, 135, 136, 135, 135, 135, 136, 138, 140, 143,
+  144, 144, 144, 145, 146, 146, 146, 145, 145, 146, 147, 148, 149, 151, 153, 154,
+  155, 152, 152, 152, 150, 148, 145, 142, 138, 132, 131, 131, 131, 132, 135, 137,
+  139, 136, 136, 135, 136, 135, 136, 136, 136, 149, 151, 152, 153, 152, 153, 154,
+  156, 159, 159, 151, 134, 115, 103, 103, 107, 121, 122, 124, 122, 118, 116, 115,
+  115, 114, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 169, 161, 152, 144, 131, 120, 113, 104, 97, 92,
+  87, 73, 66, 63, 65, 64, 64, 65, 65, 66, 64, 62, 63, 65, 67, 68,
+  73, 80, 89, 94, 113, 120, 129, 135, 141, 146, 151, 154, 152, 153, 154, 155,
+  157, 158, 159, 159, 161, 161, 162, 163, 167, 170, 173, 176, 179, 180, 180, 180,
+  180, 178, 176, 175, 172, 173, 174, 175, 177, 179, 180, 180, 177, 178, 177, 177,
+  174, 170, 168, 166, 163, 161, 160, 159, 161, 165, 169, 172, 168, 169, 167, 166,
+  164, 165, 165, 164, 173, 174, 175, 175, 174, 174, 176, 178, 180, 182, 180, 166,
+  144, 123, 112, 105, 117, 121, 126, 127, 125, 122, 118, 117, 115, 115, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  227, 167, 156, 147, 135, 121, 110, 111, 105, 99, 97, 92, 82, 77, 81, 67,
+  65, 63, 64, 64, 65, 63, 62, 65, 67, 69, 71, 76, 85, 96, 102, 123,
+  130, 138, 146, 151, 157, 163, 167, 166, 166, 168, 169, 171, 172, 173, 174, 180,
+  179, 181, 182, 187, 190, 193, 197, 205, 206, 205, 204, 202, 200, 197, 195, 186,
+  186, 187, 189, 190, 192, 193, 193, 193, 193, 193, 191, 190, 188, 185, 184, 183,
+  181, 178, 177, 180, 184, 190, 194, 192, 192, 190, 189, 187, 187, 186, 186, 188,
+  189, 189, 189, 187, 188, 190, 192, 191, 194, 193, 187, 169, 144, 120, 107, 114,
+  118, 126, 130, 130, 126, 123, 121, 116, 116, 156, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 177, 169, 155, 138, 125,
+  121, 119, 93, 95, 97, 97, 91, 83, 75, 70, 64, 66, 68, 68, 68, 67,
+  69, 70, 70, 74, 77, 83, 92, 105, 121, 132, 148, 155, 168, 179, 187, 192,
+  194, 196, 202, 201, 198, 197, 197, 199, 202, 203, 207, 208, 210, 214, 218, 223,
+  227, 229, 239, 239, 237, 236, 234, 232, 231, 230, 225, 225, 225, 225, 225, 225,
+  224, 224, 219, 220, 222, 222, 222, 220, 219, 217, 211, 210, 208, 208, 210, 214,
+  218, 221, 227, 226, 226, 227, 226, 224, 223, 221, 215, 214, 212, 211, 213, 215,
+  218, 219, 223, 217, 211, 207, 205, 192, 159, 128, 112, 117, 121, 127, 131, 132,
+  133, 132, 122, 116, 105, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 178, 175, 165, 153, 138, 125, 116, 113, 90, 90, 90,
+  88, 84, 79, 74, 71, 65, 67, 67, 67, 66, 67, 71, 73, 77, 83, 87,
+  96, 105, 121, 138, 149, 166, 173, 186, 195, 202, 207, 211, 213, 216, 213, 211,
+  209, 209, 212, 215, 217, 218, 220, 221, 224, 229, 232, 236, 237, 245, 245, 245,
+  246, 244, 243, 242, 241, 236, 236, 236, 236, 236, 236, 236, 236, 230, 232, 233,
+  235, 234, 233, 230, 229, 226, 225, 224, 224, 225, 229, 233, 235, 239, 238, 239,
+  238, 237, 237, 235, 234, 228, 227, 224, 223, 223, 223, 226, 227, 230, 224, 219,
+  216, 216, 207, 181, 158, 115, 113, 115, 124, 137, 139, 133, 123, 122, 114, 106,
+  149, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 232,
+  179, 170, 158, 147, 136, 125, 113, 106, 86, 86, 84, 80, 77, 73, 71, 69,
+  65, 66, 66, 66, 67, 69, 74, 77, 91, 96, 105, 113, 126, 142, 160, 174,
+  190, 198, 210, 218, 224, 227, 229, 230, 231, 229, 225, 221, 222, 227, 231, 233,
+  235, 235, 237, 238, 242, 244, 247, 248, 253, 252, 254, 253, 254, 254, 254, 253,
+  249, 249, 249, 249, 249, 249, 249, 249, 244, 245, 246, 247, 246, 245, 243, 242,
+  243, 242, 241, 241, 242, 245, 248, 250, 249, 249, 251, 250, 249, 249, 248, 247,
+  245, 243, 240, 238, 235, 236, 236, 237, 239, 237, 231, 229, 227, 220, 204, 191,
+  137, 121, 110, 116, 134, 144, 138, 126, 124, 116, 107, 99, 145, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 232, 187, 180, 167, 149, 137, 130,
+  122, 112, 102, 87, 85, 81, 78, 73, 70, 67, 66, 60, 63, 63, 64, 68,
+  73, 79, 84, 104, 110, 119, 131, 144, 162, 182, 194, 210, 216, 226, 234, 239,
+  241, 243, 244, 242, 238, 233, 231, 231, 235, 241, 246, 248, 248, 248, 249, 251,
+  253, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 253, 253, 253, 253,
+  254, 254, 254, 252, 253, 253, 254, 253, 252, 251, 250, 251, 251, 250, 250, 251,
+  253, 255, 255, 254, 254, 255, 255, 255, 253, 252, 251, 254, 253, 251, 249, 246,
+  247, 246, 247, 249, 247, 244, 239, 235, 227, 217, 207, 175, 147, 117, 106, 120,
+  139, 143, 144, 132, 121, 112, 103, 95, 217, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 183, 182, 179, 160, 140, 126, 122, 119, 109, 101, 89, 88,
+  85, 81, 74, 68, 62, 59, 56, 57, 61, 66, 71, 80, 88, 94, 113, 119,
+  130, 142, 156, 174, 192, 204, 221, 227, 237, 244, 248, 249, 249, 250, 246, 243,
+  240, 236, 237, 243, 247, 250, 254, 254, 254, 252, 253, 254, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 254, 252, 253, 253, 253, 254, 254, 255, 255, 255, 255,
+  255, 255, 255, 254, 254, 253, 254, 254, 253, 253, 253, 255, 255, 255, 253, 255,
+  255, 255, 255, 254, 253, 254, 255, 255, 254, 254, 252, 253, 253, 253, 253, 253,
+  251, 250, 244, 233, 222, 218, 203, 174, 137, 112, 111, 123, 139, 150, 142, 131,
+  117, 108, 98, 125, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 176,
+  177, 171, 153, 131, 117, 114, 111, 105, 96, 91, 88, 85, 79, 73, 67, 60,
+  56, 53, 57, 62, 69, 75, 85, 94, 100, 114, 120, 133, 145, 161, 178, 196,
+  210, 227, 233, 243, 249, 252, 253, 255, 255, 249, 246, 244, 242, 243, 247, 251,
+  254, 253, 253, 253, 253, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 255, 255, 255, 255, 254,
+  254, 254, 254, 254, 254, 255, 255, 255, 255, 253, 252, 253, 255, 250, 240, 231,
+  228, 212, 195, 166, 134, 113, 112, 125, 139, 145, 136, 126, 117, 104, 92, 142,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 167, 171, 173, 158, 142, 124, 112,
+  109, 106, 97, 89, 88, 86, 80, 73, 67, 62, 59, 58, 55, 59, 65, 72,
+  80, 86, 95, 100, 110, 117, 131, 145, 160, 179, 200, 211, 228, 233, 242, 249,
+  252, 254, 254, 254, 248, 245, 245, 244, 246, 248, 251, 255, 254, 252, 253, 253,
+  252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, 254, 252, 252, 253, 254,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 255,
+  254, 255, 254, 254, 255, 251, 251, 255, 251, 243, 235, 235, 217, 212, 192, 158,
+  126, 109, 115, 128, 141, 137, 133, 127, 114, 97, 89, 255, 255, 255, 255, 255,
+  255, 255, 255, 233, 164, 169, 172, 148, 135, 120, 111, 107, 102, 91, 83, 87,
+  82, 75, 66, 62, 59, 59, 60, 57, 61, 68, 76, 82, 89, 95, 98, 105,
+  114, 128, 144, 160, 180, 200, 213, 225, 232, 239, 246, 250, 251, 251, 251, 245,
+  244, 244, 242, 243, 248, 250, 252, 254, 252, 253, 253, 253, 254, 255, 254, 251,
+  252, 252, 254, 254, 255, 255, 255, 251, 252, 252, 253, 254, 255, 255, 255, 255,
+  255, 254, 254, 252, 252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, 253,
+  253, 253, 255, 255, 254, 255, 254, 254, 254, 255, 255, 255, 255, 254, 253, 255,
+  252, 249, 252, 249, 241, 235, 234, 224, 223, 207, 173, 133, 112, 114, 125, 135,
+  136, 139, 135, 120, 101, 92, 255, 255, 255, 255, 255, 255, 255, 255, 184, 175,
+  176, 168, 137, 129, 117, 108, 100, 93, 88, 82, 75, 72, 68, 65, 60, 59,
+  58, 58, 67, 70, 74, 77, 82, 90, 99, 106, 119, 128, 143, 157, 171, 187,
+  202, 213, 229, 235, 242, 248, 250, 251, 253, 254, 245, 243, 240, 239, 240, 245,
+  250, 252, 250, 253, 255, 255, 255, 255, 255, 255, 255, 254, 253, 251, 251, 252,
+  252, 253, 250, 252, 254, 254, 254, 251, 249, 246, 255, 255, 255, 254, 254, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 253, 255, 254, 255, 255,
+  255, 255, 253, 253, 253, 253, 253, 254, 254, 255, 255, 254, 252, 251, 249, 246,
+  245, 244, 235, 224, 218, 209, 175, 132, 115, 121, 119, 122, 130, 136, 123, 102,
+  93, 150, 255, 255, 255, 255, 255, 255, 255, 174, 179, 172, 158, 130, 122, 112,
+  103, 95, 91, 84, 81, 74, 72, 68, 64, 62, 61, 60, 61, 72, 73, 76,
+  79, 84, 91, 101, 107, 122, 131, 145, 160, 172, 187, 200, 209, 224, 229, 238,
+  245, 249, 252, 254, 255, 248, 246, 243, 242, 243, 247, 252, 254, 250, 253, 255,
+  255, 254, 254, 255, 255, 255, 255, 254, 254, 252, 253, 253, 253, 251, 253, 254,
+  255, 255, 252, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 253, 253, 255, 254, 255, 255, 255, 255, 255, 255, 254,
+  254, 252, 253, 252, 252, 255, 254, 251, 250, 248, 245, 244, 244, 233, 226, 222,
+  213, 186, 148, 124, 119, 115, 119, 124, 129, 125, 111, 101, 97, 255, 255, 255,
+  255, 255, 255, 230, 181, 178, 160, 140, 123, 117, 109, 101, 94, 89, 83, 79,
+  71, 69, 68, 64, 64, 64, 65, 64, 75, 77, 78, 81, 86, 95, 106, 112,
+  126, 135, 149, 160, 172, 184, 196, 203, 218, 224, 234, 242, 246, 250, 253, 255,
+  249, 247, 244, 242, 243, 248, 252, 254, 251, 253, 255, 255, 254, 253, 253, 254,
+  253, 254, 254, 255, 255, 255, 255, 254, 251, 253, 255, 255, 255, 255, 254, 253,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  253, 253, 255, 254, 255, 255, 255, 255, 255, 255, 255, 254, 252, 252, 251, 251,
+  255, 254, 251, 250, 248, 244, 243, 243, 231, 231, 227, 219, 198, 170, 139, 116,
+  113, 118, 123, 124, 125, 119, 107, 96, 255, 255, 255, 255, 255, 255, 177, 175,
+  166, 144, 123, 120, 116, 108, 100, 92, 85, 78, 75, 66, 64, 63, 63, 64,
+  65, 67, 67, 76, 76, 78, 83, 88, 98, 110, 117, 132, 140, 152, 162, 171,
+  181, 190, 198, 216, 223, 232, 241, 246, 249, 251, 252, 247, 245, 242, 240, 241,
+  245, 249, 251, 252, 254, 255, 255, 254, 253, 253, 254, 252, 254, 255, 255, 255,
+  255, 255, 255, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 254, 254, 255, 255, 255, 253, 253, 255, 254, 255,
+  255, 255, 255, 255, 255, 254, 254, 252, 253, 251, 252, 254, 254, 251, 249, 247,
+  243, 242, 242, 231, 235, 230, 218, 207, 190, 155, 123, 113, 122, 125, 121, 119,
+  120, 109, 96, 255, 255, 255, 255, 255, 255, 165, 161, 154, 134, 113, 115, 111,
+  106, 97, 86, 76, 70, 66, 59, 60, 61, 62, 63, 65, 66, 69, 72, 75,
+  79, 84, 92, 103, 114, 123, 133, 141, 152, 160, 168, 177, 186, 192, 216, 223,
+  233, 241, 246, 248, 248, 248, 247, 245, 241, 239, 240, 244, 248, 250, 253, 255,
+  255, 255, 254, 253, 253, 254, 252, 253, 255, 255, 255, 255, 255, 255, 252, 253,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 254, 254, 255, 255, 255, 253, 253, 255, 254, 255, 255, 255, 255, 254, 254,
+  253, 253, 253, 254, 253, 254, 254, 253, 250, 248, 246, 242, 241, 240, 234, 237,
+  230, 215, 209, 201, 171, 136, 113, 123, 126, 121, 115, 115, 111, 101, 255, 255,
+  255, 255, 255, 255, 151, 148, 145, 129, 110, 105, 104, 99, 91, 79, 67, 61,
+  56, 55, 58, 59, 61, 63, 67, 68, 69, 72, 75, 81, 87, 96, 105, 116,
+  123, 134, 139, 149, 155, 162, 171, 181, 190, 214, 222, 232, 241, 245, 247, 247,
+  247, 248, 246, 242, 240, 241, 244, 248, 250, 251, 253, 255, 255, 254, 253, 253,
+  254, 253, 254, 255, 255, 255, 254, 254, 254, 252, 253, 253, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 254, 255, 255, 255, 254, 254, 254, 253, 254, 255, 255,
+  255, 253, 253, 255, 254, 255, 255, 255, 255, 253, 253, 253, 253, 253, 254, 254,
+  255, 254, 253, 250, 248, 245, 241, 240, 239, 235, 238, 229, 213, 208, 206, 182,
+  153, 114, 121, 122, 117, 112, 113, 112, 110, 152, 255, 255, 255, 255, 255, 141,
+  143, 142, 128, 109, 97, 96, 94, 86, 74, 63, 56, 53, 55, 56, 60, 63,
+  64, 67, 69, 69, 75, 80, 86, 92, 100, 108, 117, 123, 132, 136, 145, 151,
+  157, 168, 179, 187, 209, 216, 228, 238, 244, 247, 247, 247, 247, 245, 241, 238,
+  239, 243, 247, 248, 247, 250, 252, 252, 251, 251, 252, 253, 255, 254, 253, 253,
+  253, 253, 253, 253, 251, 251, 252, 252, 253, 253, 254, 254, 254, 254, 253, 253,
+  253, 253, 254, 254, 254, 253, 253, 253, 254, 254, 255, 255, 253, 253, 255, 254,
+  255, 255, 255, 255, 255, 254, 254, 254, 252, 253, 253, 253, 254, 253, 249, 247,
+  244, 240, 239, 238, 235, 237, 230, 217, 211, 206, 190, 168, 126, 120, 114, 115,
+  114, 111, 110, 112, 104, 255, 255, 255, 255, 135, 135, 140, 140, 126, 106, 92,
+  94, 93, 86, 74, 64, 57, 55, 55, 57, 61, 63, 68, 68, 70, 71, 81,
+  83, 90, 96, 103, 109, 116, 121, 130, 134, 142, 147, 154, 164, 177, 187, 203,
+  212, 224, 235, 243, 245, 247, 248, 244, 242, 238, 235, 236, 239, 243, 245, 244,
+  246, 249, 250, 249, 249, 250, 252, 255, 254, 254, 252, 251, 252, 252, 253, 252,
+  250, 251, 250, 251, 251, 252, 253, 254, 253, 252, 252, 252, 252, 253, 254, 253,
+  253, 253, 253, 253, 254, 255, 255, 253, 253, 255, 254, 255, 255, 255, 255, 255,
+  255, 255, 254, 252, 252, 251, 251, 253, 253, 249, 247, 244, 240, 238, 237, 235,
+  238, 232, 220, 214, 206, 193, 179, 138, 122, 112, 114, 116, 109, 105, 107, 103,
+  148, 255, 255, 255, 123, 136, 142, 137, 121, 106, 85, 86, 85, 79, 72, 64,
+  58, 56, 63, 64, 66, 68, 68, 71, 74, 77, 80, 91, 102, 109, 110, 110,
+  115, 119, 134, 136, 140, 145, 153, 166, 177, 187, 199, 210, 221, 231, 239, 241,
+  244, 244, 244, 242, 239, 238, 237, 236, 238, 238, 239, 242, 248, 248, 247, 245,
+  247, 249, 252, 253, 254, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254,
+  254, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 255, 255,
+  255, 255, 254, 252, 250, 252, 254, 255, 255, 255, 255, 255, 255, 254, 253, 252,
+  252, 252, 249, 249, 246, 245, 241, 240, 238, 237, 236, 236, 233, 226, 217, 206,
+  195, 191, 158, 137, 114, 106, 102, 100, 99, 101, 103, 95, 255, 255, 255, 121,
+  133, 140, 132, 115, 99, 84, 85, 84, 79, 72, 65, 60, 60, 64, 65, 66,
+  67, 68, 71, 74, 77, 87, 97, 107, 112, 112, 112, 115, 121, 133, 136, 139,
+  145, 152, 164, 178, 185, 197, 206, 219, 229, 237, 240, 241, 244, 241, 240, 239,
+  240, 239, 238, 240, 239, 238, 241, 246, 246, 245, 244, 246, 247, 248, 249, 250,
+  252, 253, 254, 253, 253, 254, 252, 253, 252, 253, 253, 253, 252, 253, 253, 254,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 251, 251,
+  251, 253, 254, 255, 254, 255, 255, 254, 252, 251, 250, 250, 250, 248, 248, 245,
+  243, 240, 239, 239, 239, 236, 236, 232, 226, 217, 206, 197, 191, 161, 140, 116,
+  105, 100, 98, 97, 99, 101, 95, 255, 255, 255, 119, 130, 135, 126, 106, 90,
+  82, 83, 80, 77, 71, 67, 65, 64, 65, 66, 67, 66, 67, 71, 77, 82,
+  96, 103, 109, 113, 112, 111, 114, 117, 130, 133, 138, 143, 151, 164, 175, 184,
+  193, 203, 216, 227, 235, 238, 240, 242, 239, 240, 240, 242, 242, 241, 241, 240,
+  236, 238, 242, 243, 243, 242, 243, 244, 245, 247, 248, 251, 252, 254, 253, 253,
+  253, 251, 252, 252, 253, 252, 253, 251, 252, 252, 252, 252, 252, 253, 254, 254,
+  255, 255, 255, 254, 255, 255, 255, 255, 252, 252, 250, 251, 252, 254, 254, 254,
+  255, 255, 253, 251, 250, 249, 249, 249, 246, 245, 243, 239, 238, 238, 240, 240,
+  234, 233, 231, 225, 216, 207, 197, 193, 169, 146, 121, 105, 98, 96, 95, 94,
+  100, 96, 255, 255, 255, 119, 129, 131, 119, 99, 83, 78, 78, 78, 74, 69,
+  67, 68, 68, 65, 65, 66, 66, 70, 76, 84, 89, 100, 104, 109, 109, 107,
+  105, 108, 111, 128, 130, 135, 142, 152, 162, 174, 182, 191, 199, 211, 223, 230,
+  236, 238, 241, 239, 241, 242, 245, 245, 242, 241, 238, 235, 236, 239, 240, 240,
+  240, 242, 242, 246, 247, 249, 252, 253, 255, 255, 255, 253, 252, 252, 253, 254,
+  254, 254, 253, 254, 253, 252, 251, 251, 253, 255, 255, 254, 254, 253, 253, 253,
+  254, 254, 255, 254, 252, 250, 250, 253, 253, 253, 252, 255, 255, 253, 251, 250,
+  249, 248, 248, 245, 243, 238, 236, 235, 236, 239, 241, 232, 232, 230, 224, 215,
+  207, 199, 194, 176, 155, 126, 107, 98, 95, 93, 91, 99, 98, 255, 255, 255,
+  119, 129, 128, 114, 94, 79, 75, 76, 76, 74, 70, 69, 69, 71, 65, 66,
+  68, 70, 75, 82, 91, 98, 104, 105, 107, 105, 101, 102, 104, 107, 123, 127,
+  134, 142, 152, 164, 174, 183, 189, 197, 208, 219, 228, 233, 237, 239, 241, 243,
+  245, 247, 246, 243, 240, 238, 236, 235, 237, 238, 239, 240, 241, 241, 245, 247,
+  248, 251, 253, 255, 254, 255, 254, 253, 254, 254, 255, 255, 255, 255, 255, 255,
+  253, 253, 253, 255, 255, 255, 253, 253, 252, 251, 251, 251, 252, 252, 255, 253,
+  250, 252, 252, 253, 253, 252, 254, 253, 251, 249, 247, 246, 245, 245, 241, 239,
+  237, 234, 233, 235, 236, 239, 230, 229, 227, 222, 216, 208, 201, 197, 183, 161,
+  131, 108, 98, 95, 91, 89, 99, 100, 255, 255, 255, 120, 127, 125, 112, 93,
+  80, 73, 75, 76, 75, 73, 72, 72, 74, 66, 69, 71, 77, 82, 90, 98,
+  103, 107, 107, 105, 103, 100, 101, 104, 106, 120, 124, 133, 142, 153, 165, 177,
+  185, 189, 196, 207, 218, 225, 231, 234, 237, 242, 243, 245, 248, 247, 244, 243,
+  240, 238, 236, 237, 237, 240, 241, 242, 242, 244, 246, 247, 249, 251, 252, 251,
+  252, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 253, 253, 252, 251, 251, 251, 251, 252, 255, 253, 253, 252, 253, 254, 253,
+  252, 251, 250, 248, 246, 244, 242, 242, 241, 239, 237, 235, 233, 233, 233, 235,
+  236, 229, 228, 225, 221, 215, 207, 202, 199, 186, 167, 138, 112, 101, 98, 93,
+  86, 96, 101, 255, 255, 255, 120, 127, 122, 110, 92, 80, 76, 78, 80, 80,
+  80, 78, 77, 78, 72, 74, 78, 83, 87, 94, 101, 106, 109, 108, 105, 100,
+  99, 101, 105, 107, 118, 123, 130, 143, 154, 167, 180, 187, 189, 197, 207, 216,
+  224, 228, 233, 236, 240, 241, 243, 247, 248, 247, 247, 246, 240, 237, 237, 237,
+  241, 243, 244, 243, 246, 247, 248, 250, 251, 252, 251, 251, 254, 252, 254, 254,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 253,
+  252, 252, 253, 253, 255, 255, 254, 254, 254, 255, 255, 254, 253, 251, 249, 247,
+  245, 243, 242, 242, 237, 236, 235, 233, 231, 232, 231, 232, 229, 227, 224, 220,
+  215, 209, 203, 199, 187, 170, 141, 116, 104, 102, 96, 87, 92, 99, 255, 255,
+  255, 119, 125, 121, 109, 91, 81, 77, 80, 84, 84, 84, 81, 80, 80, 76,
+  78, 82, 87, 92, 96, 102, 105, 107, 105, 102, 97, 97, 100, 103, 107, 116,
+  122, 130, 143, 155, 169, 181, 189, 190, 197, 207, 216, 222, 228, 233, 235, 237,
+  239, 241, 246, 248, 249, 251, 251, 242, 239, 238, 238, 242, 245, 245, 244, 250,
+  251, 252, 253, 254, 255, 253, 253, 252, 251, 252, 253, 255, 255, 255, 255, 253,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 255, 255,
+  255, 255, 254, 255, 255, 255, 254, 255, 255, 253, 250, 248, 247, 246, 245, 236,
+  236, 235, 234, 232, 231, 230, 230, 227, 227, 224, 220, 214, 209, 204, 202, 188,
+  171, 144, 117, 106, 105, 98, 88, 89, 97, 255, 255, 255, 117, 124, 121, 105,
+  92, 87, 82, 85, 88, 87, 90, 93, 90, 84, 82, 90, 94, 93, 95, 101,
+  103, 100, 108, 103, 96, 90, 91, 97, 104, 109, 119, 125, 136, 150, 162, 176,
+  187, 195, 202, 205, 210, 216, 222, 228, 233, 236, 235, 238, 243, 248, 251, 253,
+  252, 252, 249, 247, 245, 243, 242, 243, 245, 246, 247, 247, 248, 251, 252, 254,
+  254, 255, 255, 255, 255, 255, 255, 255, 253, 254, 252, 252, 252, 253, 253, 254,
+  254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 254, 253, 252, 242, 239, 239, 238, 239, 238,
+  236, 232, 230, 227, 225, 220, 215, 210, 205, 202, 191, 177, 148, 122, 109, 103,
+  99, 93, 85, 87, 255, 255, 255, 122, 124, 118, 101, 90, 87, 85, 89, 92,
+  89, 89, 92, 91, 87, 90, 96, 98, 95, 95, 99, 99, 95, 105, 100, 95,
+  90, 90, 96, 103, 107, 121, 129, 140, 152, 165, 176, 187, 193, 202, 205, 210,
+  214, 222, 228, 232, 234, 236, 238, 242, 246, 250, 251, 252, 252, 249, 248, 245,
+  244, 243, 243, 245, 246, 247, 248, 250, 251, 252, 254, 255, 255, 255, 254, 254,
+  254, 254, 253, 253, 252, 252, 252, 252, 253, 253, 253, 254, 254, 255, 255, 255,
+  255, 255, 255, 255, 255, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 254, 253, 252, 244, 241, 239, 238, 239, 238, 236, 233, 231, 228, 225,
+  219, 214, 209, 206, 204, 192, 179, 151, 122, 105, 98, 95, 90, 85, 87, 255,
+  255, 255, 127, 123, 112, 97, 89, 89, 89, 94, 96, 91, 88, 90, 92, 91,
+  97, 99, 100, 97, 96, 98, 97, 93, 100, 98, 92, 90, 90, 95, 101, 106,
+  124, 131, 142, 154, 166, 176, 187, 192, 202, 205, 208, 214, 220, 226, 229, 233,
+  235, 237, 241, 245, 247, 251, 251, 252, 250, 249, 247, 245, 244, 244, 245, 246,
+  248, 248, 250, 251, 253, 255, 255, 255, 253, 253, 254, 253, 253, 252, 252, 253,
+  254, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  252, 253, 253, 255, 255, 255, 254, 254, 255, 255, 255, 255, 254, 255, 253, 253,
+  247, 243, 240, 237, 238, 238, 237, 234, 232, 228, 224, 218, 213, 209, 207, 206,
+  192, 182, 154, 123, 102, 92, 90, 89, 86, 86, 255, 255, 255, 130, 121, 107,
+  94, 91, 92, 91, 96, 99, 91, 86, 88, 92, 94, 98, 98, 98, 97, 98,
+  99, 98, 95, 95, 94, 90, 89, 91, 96, 100, 105, 125, 131, 144, 155, 168,
+  178, 187, 192, 203, 204, 207, 213, 218, 222, 227, 228, 233, 234, 239, 242, 246,
+  247, 250, 250, 251, 250, 248, 247, 246, 246, 246, 246, 250, 251, 251, 253, 255,
+  255, 255, 255, 253, 253, 252, 253, 254, 254, 253, 254, 253, 253, 254, 254, 254,
+  255, 255, 255, 255, 255, 255, 255, 254, 254, 255, 255, 251, 252, 253, 255, 254,
+  255, 254, 253, 253, 253, 255, 255, 255, 254, 254, 253, 251, 245, 241, 238, 238,
+  238, 238, 235, 233, 228, 224, 217, 212, 210, 208, 208, 192, 183, 157, 125, 100,
+  89, 90, 92, 87, 86, 255, 255, 255, 129, 118, 104, 95, 93, 94, 91, 96,
+  98, 91, 86, 89, 94, 96, 101, 98, 95, 96, 98, 97, 95, 94, 90, 89,
+  87, 86, 90, 96, 102, 107, 124, 131, 144, 156, 169, 179, 188, 193, 201, 203,
+  205, 210, 213, 218, 221, 223, 230, 233, 235, 239, 242, 245, 246, 247, 250, 250,
+  249, 248, 248, 248, 248, 248, 251, 251, 252, 254, 254, 255, 255, 255, 253, 253,
+  254, 254, 255, 255, 255, 255, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255,
+  255, 254, 254, 254, 254, 255, 251, 252, 253, 255, 254, 255, 254, 253, 252, 254,
+  254, 255, 255, 255, 254, 253, 253, 247, 243, 239, 239, 238, 238, 235, 233, 228,
+  224, 218, 213, 210, 209, 209, 191, 184, 158, 126, 101, 91, 93, 96, 90, 87,
+  255, 255, 255, 126, 114, 103, 96, 94, 91, 90, 94, 96, 91, 89, 93, 97,
+  98, 104, 97, 93, 95, 96, 93, 90, 90, 87, 86, 85, 84, 89, 97, 105,
+  111, 127, 134, 147, 159, 170, 181, 189, 195, 200, 201, 203, 207, 211, 213, 217,
+  218, 228, 229, 231, 234, 239, 241, 244, 245, 249, 249, 249, 250, 250, 250, 251,
+  251, 253, 253, 252, 253, 254, 253, 254, 253, 253, 253, 254, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 253, 253, 254,
+  254, 252, 253, 253, 255, 255, 255, 254, 254, 253, 253, 253, 254, 255, 255, 255,
+  254, 254, 249, 245, 242, 241, 239, 238, 234, 231, 228, 224, 219, 214, 211, 210,
+  209, 192, 183, 157, 125, 101, 92, 95, 98, 93, 89, 255, 255, 255, 123, 111,
+  103, 98, 92, 85, 89, 92, 94, 92, 94, 100, 103, 101, 101, 93, 88, 92,
+  94, 92, 89, 90, 86, 83, 82, 83, 89, 98, 108, 115, 134, 142, 153, 164,
+  174, 181, 188, 193, 198, 199, 201, 205, 207, 210, 212, 213, 225, 227, 228, 231,
+  234, 238, 241, 242, 247, 248, 249, 251, 252, 253, 253, 253, 253, 253, 253, 252,
+  252, 250, 250, 251, 251, 252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 254, 254, 253, 253, 254, 254, 253, 254, 254, 255,
+  255, 255, 255, 255, 252, 253, 254, 255, 254, 255, 255, 254, 255, 250, 247, 244,
+  243, 240, 237, 233, 230, 227, 225, 221, 216, 213, 210, 208, 193, 183, 155, 123,
+  100, 92, 94, 96, 97, 90, 255, 255, 255, 121, 110, 103, 98, 90, 80, 89,
+  92, 94, 93, 98, 105, 106, 103, 95, 86, 83, 89, 94, 93, 92, 93, 85,
+  83, 81, 81, 88, 100, 112, 119, 140, 148, 158, 169, 176, 182, 189, 191, 197,
+  198, 199, 203, 206, 208, 210, 211, 224, 225, 227, 229, 232, 237, 239, 241, 246,
+  247, 249, 251, 253, 254, 255, 255, 254, 254, 252, 252, 250, 250, 247, 248, 250,
+  251, 251, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 254, 253, 253, 253, 253, 254, 253, 255, 255, 255, 255, 255, 255, 255, 252,
+  252, 254, 254, 255, 255, 255, 255, 254, 250, 248, 246, 244, 241, 237, 232, 229,
+  227, 226, 222, 217, 213, 209, 207, 195, 183, 153, 121, 99, 91, 92, 92, 99,
+  91, 255, 255, 255, 116, 109, 100, 91, 86, 86, 84, 90, 94, 96, 98, 101,
+  100, 96, 79, 81, 83, 87, 88, 88, 87, 86, 82, 81, 81, 85, 94, 107,
+  119, 127, 151, 157, 165, 171, 175, 179, 183, 185, 190, 192, 197, 199, 200, 202,
+  204, 206, 220, 212, 211, 220, 226, 228, 228, 233, 242, 239, 236, 238, 240, 240,
+  237, 235, 243, 244, 247, 250, 254, 255, 255, 255, 247, 248, 251, 254, 254, 254,
+  252, 251, 253, 252, 253, 254, 254, 255, 255, 254, 251, 252, 253, 253, 250, 251,
+  254, 255, 255, 254, 252, 253, 254, 254, 253, 251, 254, 254, 253, 253, 254, 253,
+  254, 253, 253, 254, 251, 250, 246, 241, 236, 233, 228, 228, 224, 223, 219, 214,
+  211, 210, 195, 175, 152, 124, 94, 87, 94, 96, 91, 144, 255, 255, 255, 117,
+  110, 100, 90, 85, 83, 84, 89, 94, 96, 97, 100, 98, 94, 79, 80, 83,
+  86, 87, 87, 85, 84, 82, 81, 82, 88, 98, 111, 125, 133, 153, 157, 165,
+  170, 174, 178, 182, 183, 188, 191, 194, 197, 198, 200, 202, 205, 210, 208, 212,
+  219, 224, 224, 227, 236, 234, 232, 228, 225, 223, 221, 219, 215, 224, 230, 241,
+  250, 255, 255, 255, 253, 251, 252, 255, 255, 255, 255, 253, 252, 251, 250, 251,
+  253, 255, 255, 255, 255, 252, 254, 254, 253, 251, 251, 255, 255, 255, 254, 253,
+  253, 254, 254, 253, 251, 253, 253, 254, 253, 252, 251, 251, 251, 253, 254, 254,
+  251, 249, 244, 240, 236, 235, 233, 231, 227, 222, 218, 213, 211, 194, 176, 153,
+  124, 94, 84, 92, 93, 91, 255, 255, 255, 255, 116, 111, 99, 89, 83, 80,
+  84, 89, 92, 92, 95, 96, 95, 90, 80, 80, 81, 82, 84, 83, 83, 83,
+  83, 83, 86, 93, 105, 120, 133, 142, 154, 159, 165, 169, 173, 176, 179, 182,
+  185, 188, 190, 193, 195, 197, 200, 202, 203, 206, 215, 219, 219, 217, 222, 228,
+  219, 218, 214, 207, 199, 192, 190, 189, 195, 204, 216, 231, 242, 249, 252, 252,
+  251, 252, 254, 254, 254, 254, 251, 249, 244, 246, 248, 250, 252, 253, 254, 254,
+  253, 254, 254, 255, 253, 253, 255, 255, 255, 254, 253, 253, 255, 254, 252, 250,
+  254, 253, 252, 251, 250, 248, 247, 247, 251, 252, 252, 252, 248, 245, 242, 240,
+  240, 237, 235, 229, 225, 219, 214, 212, 195, 175, 154, 125, 92, 83, 90, 91,
+  90, 255, 255, 255, 255, 117, 110, 99, 88, 80, 76, 82, 86, 91, 91, 91,
+  94, 91, 86, 79, 78, 80, 80, 79, 81, 81, 80, 83, 86, 91, 101, 115,
+  130, 144, 150, 157, 162, 166, 169, 172, 174, 176, 179, 181, 183, 186, 189, 190,
+  192, 196, 200, 206, 210, 214, 216, 215, 213, 212, 214, 203, 202, 196, 188, 175,
+  168, 164, 165, 167, 171, 180, 191, 207, 223, 237, 245, 239, 240, 244, 246, 247,
+  247, 245, 244, 240, 241, 242, 244, 247, 247, 250, 250, 254, 254, 254, 254, 253,
+  255, 255, 255, 254, 253, 253, 254, 255, 254, 252, 249, 253, 252, 250, 249, 247,
+  244, 243, 242, 245, 247, 248, 247, 246, 244, 240, 239, 242, 239, 236, 230, 223,
+  216, 212, 209, 195, 176, 154, 125, 92, 82, 87, 87, 89, 255, 255, 255, 255,
+  116, 110, 98, 85, 76, 73, 80, 85, 87, 88, 88, 89, 88, 83, 78, 77,
+  76, 76, 75, 77, 79, 80, 85, 89, 98, 109, 122, 138, 152, 161, 162, 165,
+  168, 169, 171, 171, 174, 177, 177, 180, 182, 184, 185, 190, 194, 197, 207, 208,
+  209, 210, 212, 209, 204, 199, 187, 185, 179, 169, 158, 150, 148, 148, 147, 147,
+  151, 159, 173, 192, 207, 218, 217, 219, 223, 230, 234, 236, 237, 237, 234, 235,
+  237, 238, 241, 242, 243, 242, 250, 250, 249, 251, 251, 253, 253, 253, 250, 249,
+  250, 251, 252, 251, 248, 246, 248, 248, 245, 242, 240, 239, 236, 235, 240, 242,
+  244, 244, 242, 241, 238, 237, 239, 236, 233, 227, 221, 215, 209, 206, 195, 176,
+  155, 124, 92, 82, 86, 86, 84, 255, 255, 255, 255, 113, 108, 97, 84, 74,
+  70, 77, 82, 85, 84, 86, 88, 85, 80, 76, 74, 73, 71, 73, 75, 77,
+  79, 88, 92, 102, 114, 130, 147, 161, 168, 166, 169, 170, 172, 170, 171, 172,
+  176, 175, 176, 180, 181, 183, 187, 192, 195, 204, 204, 201, 201, 204, 205, 197,
+  188, 172, 169, 162, 154, 145, 139, 137, 137, 133, 134, 135, 141, 150, 159, 169,
+  173, 187, 191, 198, 206, 213, 218, 221, 221, 223, 224, 227, 230, 233, 235, 237,
+  236, 239, 240, 240, 244, 246, 248, 247, 245, 242, 242, 243, 245, 246, 245, 241,
+  238, 239, 238, 237, 234, 230, 229, 227, 227, 235, 236, 239, 239, 239, 237, 235,
+  233, 233, 230, 228, 222, 216, 212, 206, 204, 193, 175, 154, 124, 92, 80, 85,
+  85, 139, 255, 255, 255, 255, 111, 107, 96, 82, 72, 68, 74, 79, 82, 82,
+  82, 86, 84, 79, 74, 72, 70, 69, 69, 73, 77, 80, 89, 93, 105, 119,
+  136, 151, 165, 172, 170, 171, 174, 173, 171, 170, 173, 174, 173, 176, 177, 180,
+  181, 186, 191, 195, 199, 202, 201, 194, 192, 191, 187, 178, 162, 156, 148, 140,
+  136, 132, 128, 127, 121, 121, 123, 126, 129, 132, 137, 139, 156, 159, 168, 178,
+  186, 193, 197, 198, 206, 208, 211, 216, 221, 223, 225, 228, 229, 229, 229, 233,
+  238, 240, 240, 238, 234, 234, 235, 237, 238, 237, 233, 229, 228, 227, 225, 224,
+  221, 219, 217, 216, 228, 228, 230, 230, 231, 229, 227, 224, 220, 219, 217, 213,
+  208, 204, 199, 198, 192, 172, 154, 124, 92, 81, 86, 85, 255, 255, 255, 255,
+  205, 110, 105, 95, 81, 71, 67, 72, 78, 81, 81, 82, 85, 83, 78, 72,
+  71, 68, 68, 68, 73, 77, 79, 90, 96, 106, 121, 137, 153, 167, 174, 174,
+  175, 175, 173, 171, 171, 172, 174, 174, 175, 176, 178, 181, 185, 191, 195, 197,
+  204, 202, 192, 183, 178, 176, 171, 155, 148, 139, 132, 130, 128, 124, 120, 116,
+  113, 110, 109, 113, 117, 123, 126, 133, 138, 146, 157, 166, 173, 177, 178, 190,
+  193, 198, 203, 209, 213, 218, 219, 221, 220, 221, 227, 232, 235, 234, 232, 227,
+  228, 229, 231, 232, 230, 226, 223, 219, 219, 219, 216, 213, 213, 212, 210, 219,
+  220, 222, 222, 222, 220, 218, 217, 209, 207, 206, 203, 198, 196, 191, 190, 191,
+  171, 151, 124, 92, 81, 85, 84, 255, 255, 255, 255, 110, 112, 105, 92, 79,
+  71, 70, 69, 73, 80, 85, 89, 88, 85, 83, 73, 73, 72, 72, 72, 75,
+  76, 76, 89, 99, 114, 132, 148, 160, 168, 170, 171, 174, 178, 179, 180, 179,
+  175, 174, 174, 178, 181, 185, 189, 194, 196, 197, 200, 198, 193, 187, 176, 168,
+  161, 157, 142, 138, 132, 128, 127, 126, 124, 124, 115, 113, 110, 108, 106, 106,
+  108, 109, 113, 116, 123, 131, 139, 147, 153, 157, 168, 173, 180, 188, 193, 198,
+  203, 207, 210, 214, 219, 226, 228, 229, 227, 227, 217, 219, 220, 221, 220, 216,
+  213, 211, 201, 200, 197, 196, 197, 196, 196, 194, 197, 198, 201, 200, 198, 194,
+  188, 185, 173, 172, 173, 176, 183, 187, 187, 186, 182, 168, 156, 131, 98, 87,
+  87, 85, 255, 255, 255, 255, 112, 113, 106, 92, 78, 70, 65, 69, 74, 82,
+  88, 92, 90, 87, 84, 74, 74, 73, 73, 76, 77, 78, 79, 90, 100, 116,
+  134, 149, 160, 167, 169, 169, 172, 179, 184, 186, 184, 180, 178, 179, 182, 184,
+  187, 190, 194, 196, 198, 193, 192, 187, 181, 171, 162, 155, 152, 140, 137, 133,
+  129, 126, 122, 119, 116, 111, 109, 107, 104, 102, 101, 101, 101, 103, 106, 111,
+  117, 123, 129, 133, 136, 149, 154, 163, 172, 179, 186, 191, 196, 200, 204, 210,
+  214, 219, 220, 220, 218, 210, 210, 212, 212, 211, 206, 201, 198, 187, 185, 182,
+  180, 180, 179, 178, 177, 176, 176, 178, 177, 176, 171, 168, 166, 161, 160, 160,
+  162, 168, 171, 172, 171, 170, 158, 148, 125, 95, 83, 86, 85, 255, 255, 255,
+  255, 113, 114, 108, 95, 80, 71, 65, 69, 74, 82, 89, 91, 88, 82, 78,
+  74, 73, 73, 74, 77, 79, 82, 84, 91, 101, 118, 138, 154, 163, 168, 170,
+  169, 174, 180, 185, 189, 188, 185, 183, 185, 185, 185, 186, 187, 190, 191, 194,
+  186, 184, 178, 172, 165, 154, 148, 144, 136, 132, 128, 125, 121, 116, 108, 103,
+  106, 106, 105, 104, 103, 102, 101, 101, 100, 100, 104, 107, 111, 115, 118, 119,
+  130, 136, 146, 155, 165, 173, 181, 186, 188, 192, 196, 203, 207, 209, 209, 209,
+  205, 204, 206, 204, 201, 196, 189, 186, 172, 170, 166, 163, 160, 160, 158, 157,
+  153, 153, 154, 154, 152, 152, 149, 148, 146, 145, 144, 147, 152, 154, 155, 155,
+  155, 146, 138, 118, 92, 80, 83, 139, 255, 255, 255, 207, 114, 115, 111, 100,
+  88, 78, 73, 74, 79, 86, 90, 88, 83, 75, 70, 71, 71, 71, 73, 77,
+  81, 86, 88, 96, 107, 124, 143, 159, 168, 171, 173, 175, 177, 182, 185, 187,
+  188, 188, 188, 186, 186, 184, 183, 184, 184, 185, 185, 181, 177, 171, 166, 157,
+  149, 141, 135, 127, 124, 119, 115, 111, 106, 100, 96, 96, 97, 98, 99, 99,
+  99, 98, 98, 97, 99, 100, 101, 104, 107, 108, 109, 116, 121, 131, 140, 147,
+  158, 167, 171, 180, 183, 186, 193, 195, 197, 198, 197, 196, 198, 197, 195, 190,
+  185, 178, 174, 156, 153, 148, 144, 142, 142, 139, 137, 134, 134, 134, 134, 133,
+  134, 135, 136, 132, 132, 134, 135, 139, 143, 145, 146, 147, 137, 130, 114, 86,
+  76, 81, 255, 255, 255, 255, 111, 113, 116, 114, 107, 98, 91, 86, 84, 87,
+  90, 90, 85, 78, 70, 64, 66, 65, 67, 70, 75, 80, 87, 90, 102, 112,
+  130, 150, 165, 173, 177, 178, 183, 182, 183, 184, 185, 185, 187, 187, 188, 187,
+  186, 184, 182, 181, 178, 178, 174, 170, 166, 158, 152, 145, 136, 129, 120, 115,
+  109, 106, 103, 102, 100, 99, 92, 93, 93, 93, 93, 92, 91, 90, 90, 90,
+  91, 94, 95, 97, 99, 99, 104, 108, 116, 124, 132, 140, 148, 154, 171, 173,
+  177, 181, 186, 186, 185, 184, 184, 184, 183, 180, 175, 168, 162, 158, 139, 135,
+  129, 125, 123, 122, 120, 118, 114, 114, 114, 114, 116, 118, 120, 121, 122, 123,
+  124, 128, 132, 137, 143, 146, 146, 137, 130, 113, 85, 75, 77, 255, 255, 255,
+  255, 110, 112, 115, 115, 113, 108, 104, 100, 97, 96, 93, 89, 82, 74, 68,
+  62, 62, 61, 64, 66, 73, 82, 88, 92, 108, 118, 135, 153, 168, 179, 181,
+  184, 191, 189, 188, 186, 185, 184, 184, 186, 191, 191, 189, 188, 183, 181, 177,
+  176, 170, 164, 156, 151, 147, 138, 130, 123, 114, 110, 104, 101, 100, 102, 102,
+  100, 100, 100, 98, 96, 94, 92, 91, 90, 86, 87, 88, 89, 93, 93, 95,
+  96, 100, 104, 110, 117, 123, 131, 137, 143, 159, 164, 168, 175, 178, 178, 176,
+  175, 179, 178, 176, 173, 166, 157, 150, 145, 130, 125, 119, 113, 111, 110, 109,
+  108, 102, 102, 105, 106, 109, 111, 115, 116, 117, 118, 120, 123, 126, 133, 139,
+  145, 148, 138, 131, 112, 85, 74, 78, 255, 255, 255, 255, 112, 112, 114, 116,
+  117, 115, 112, 109, 101, 98, 92, 83, 75, 68, 63, 62, 58, 60, 61, 65,
+  73, 82, 90, 96, 112, 121, 137, 154, 170, 179, 185, 187, 192, 193, 193, 192,
+  190, 187, 184, 184, 190, 191, 190, 187, 184, 180, 174, 171, 162, 155, 149, 143,
+  139, 132, 121, 114, 105, 102, 98, 97, 99, 98, 98, 95, 101, 100, 98, 96,
+  94, 94, 94, 95, 87, 87, 89, 90, 91, 93, 94, 94, 96, 99, 105, 111,
+  117, 125, 133, 138, 151, 155, 164, 172, 177, 177, 176, 173, 179, 177, 174, 168,
+  159, 147, 139, 132, 122, 118, 111, 107, 103, 102, 102, 102, 98, 99, 102, 104,
+  108, 112, 114, 115, 116, 119, 121, 123, 125, 131, 138, 145, 150, 139, 131, 112,
+  84, 76, 82, 255, 255, 255, 255, 113, 112, 113, 115, 117, 117, 116, 114, 100,
+  94, 86, 75, 68, 63, 61, 60, 58, 57, 60, 65, 74, 84, 92, 98, 115,
+  123, 137, 153, 168, 179, 186, 188, 193, 194, 196, 198, 195, 190, 185, 180, 186,
+  188, 188, 186, 183, 176, 169, 166, 156, 150, 142, 136, 133, 127, 116, 107, 97,
+  95, 94, 95, 95, 94, 91, 89, 90, 89, 88, 88, 89, 92, 95, 97, 86,
+  86, 86, 87, 87, 90, 90, 90, 89, 92, 97, 103, 109, 117, 124, 130, 148,
+  153, 164, 174, 180, 181, 179, 176, 175, 173, 169, 160, 149, 137, 126, 120, 113,
+  108, 102, 96, 95, 93, 94, 94, 93, 94, 99, 103, 106, 110, 112, 112, 120,
+  122, 124, 125, 127, 131, 139, 145, 150, 141, 131, 112, 84, 76, 83, 255, 255,
+  255, 255, 113, 115, 118, 120, 127, 130, 125, 114, 99, 89, 82, 78, 71, 63,
+  63, 67, 59, 60, 61, 65, 71, 85, 98, 108, 116, 125, 139, 155, 169, 180,
+  189, 195, 190, 195, 202, 202, 197, 193, 191, 190, 188, 189, 193, 192, 189, 177,
+  164, 154, 151, 145, 139, 130, 120, 110, 100, 93, 94, 93, 92, 88, 84, 78,
+  72, 69, 64, 69, 73, 73, 77, 87, 95, 98, 95, 95, 93, 90, 85, 85,
+  89, 93, 91, 89, 91, 99, 106, 114, 126, 137, 146, 160, 175, 186, 194, 196,
+  190, 182, 176, 171, 163, 151, 137, 123, 112, 105, 96, 94, 91, 87, 85, 84,
+  85, 85, 98, 95, 92, 95, 101, 104, 106, 105, 119, 122, 127, 130, 132, 136,
+  139, 141, 151, 145, 128, 106, 87, 81, 81, 255, 255, 255, 255, 111, 113, 113,
+  116, 121, 123, 117, 106, 94, 86, 80, 77, 71, 65, 62, 66, 63, 64, 63,
+  67, 73, 86, 99, 108, 119, 128, 141, 155, 168, 179, 189, 195, 198, 200, 202,
+  203, 201, 197, 191, 186, 192, 194, 197, 194, 187, 175, 164, 157, 147, 141, 132,
+  125, 117, 109, 101, 97, 99, 96, 90, 84, 77, 72, 68, 66, 57, 64, 70,
+  76, 83, 93, 98, 97, 92, 92, 93, 92, 89, 89, 90, 91, 93, 91, 94,
+  100, 109, 118, 130, 142, 152, 168, 186, 200, 208, 209, 200, 189, 175, 169, 158,
+  144, 130, 116, 105, 99, 89, 87, 86, 84, 83, 86, 88, 90, 94, 94, 94,
+  97, 100, 101, 101, 101, 109, 115, 123, 129, 131, 134, 139, 143, 147, 142, 126,
+  103, 86, 79, 255, 255, 255, 255, 205, 108, 110, 109, 110, 114, 116, 109, 99,
+  91, 86, 82, 79, 75, 69, 66, 68, 66, 67, 67, 70, 76, 87, 98, 107,
+  122, 130, 141, 155, 167, 179, 189, 195, 202, 201, 203, 205, 208, 205, 197, 188,
+  187, 191, 198, 196, 190, 178, 166, 159, 149, 143, 133, 125, 120, 114, 111, 109,
+  108, 103, 97, 87, 81, 74, 69, 67, 58, 66, 75, 87, 97, 107, 106, 101,
+  94, 93, 93, 93, 95, 93, 92, 89, 90, 89, 93, 102, 110, 120, 131, 144,
+  162, 179, 203, 219, 227, 226, 215, 203, 177, 166, 148, 131, 117, 104, 97, 92,
+  85, 83, 82, 82, 85, 90, 96, 99, 97, 99, 102, 103, 102, 101, 101, 102,
+  100, 108, 118, 126, 128, 132, 139, 145, 141, 137, 122, 102, 84, 77, 255, 255,
+  255, 255, 99, 104, 103, 103, 103, 107, 111, 104, 94, 90, 88, 87, 84, 80,
+  77, 73, 73, 70, 69, 69, 71, 76, 86, 96, 105, 121, 129, 139, 152, 165,
+  177, 189, 196, 197, 200, 202, 208, 211, 209, 205, 199, 183, 186, 194, 199, 199,
+  190, 177, 167, 159, 153, 144, 135, 131, 129, 127, 126, 124, 121, 115, 108, 100,
+  92, 87, 85, 77, 83, 91, 102, 117, 126, 123, 115, 105, 101, 96, 95, 96,
+  96, 94, 91, 91, 90, 94, 104, 112, 123, 137, 148, 172, 191, 214, 232, 239,
+  240, 230, 218, 183, 167, 142, 121, 105, 95, 90, 88, 82, 81, 81, 82, 87,
+  93, 101, 106, 103, 107, 110, 109, 107, 105, 107, 110, 100, 103, 110, 117, 126,
+  132, 140, 143, 136, 134, 120, 99, 83, 76, 255, 255, 255, 255, 94, 93, 93,
+  94, 95, 101, 106, 101, 92, 90, 91, 89, 87, 84, 81, 79, 75, 71, 72,
+  72, 71, 76, 84, 94, 99, 118, 125, 136, 150, 163, 176, 188, 195, 192, 199,
+  205, 211, 210, 207, 207, 206, 194, 188, 187, 189, 195, 194, 185, 176, 166, 158,
+  151, 145, 143, 142, 143, 143, 144, 142, 143, 140, 136, 129, 122, 117, 112, 112,
+  115, 122, 135, 145, 141, 133, 126, 118, 109, 105, 102, 103, 100, 99, 101, 100,
+  103, 112, 121, 130, 144, 155, 182, 198, 220, 236, 246, 247, 239, 230, 190, 170,
+  140, 115, 99, 92, 89, 87, 80, 81, 80, 80, 84, 90, 96, 99, 102, 104,
+  107, 105, 103, 104, 108, 111, 107, 104, 104, 109, 120, 131, 137, 141, 136, 133,
+  119, 99, 82, 76, 255, 255, 255, 255, 89, 82, 85, 85, 89, 96, 103, 100,
+  93, 88, 91, 89, 86, 83, 82, 80, 76, 75, 75, 74, 74, 77, 84, 92,
+  97, 117, 124, 136, 150, 162, 174, 185, 192, 190, 199, 207, 211, 207, 205, 203,
+  205, 202, 189, 177, 170, 174, 176, 175, 171, 164, 161, 156, 154, 155, 157, 155,
+  155, 161, 164, 166, 168, 167, 162, 158, 154, 148, 146, 143, 145, 155, 162, 160,
+  152, 149, 142, 133, 123, 117, 116, 115, 115, 111, 110, 114, 122, 130, 138, 151,
+  162, 188, 204, 224, 239, 247, 251, 246, 237, 199, 175, 141, 114, 98, 92, 91,
+  89, 80, 79, 77, 77, 77, 79, 82, 83, 86, 90, 92, 96, 97, 98, 102,
+  103, 110, 104, 100, 103, 113, 126, 134, 137, 139, 136, 121, 100, 82, 76, 255,
+  255, 255, 255, 85, 81, 81, 83, 88, 96, 104, 102, 95, 91, 95, 92, 86,
+  84, 84, 83, 78, 78, 78, 78, 77, 78, 84, 90, 96, 119, 128, 139, 152,
+  164, 173, 181, 187, 190, 194, 201, 205, 207, 206, 203, 202, 197, 190, 182, 172,
+  167, 163, 162, 161, 162, 162, 163, 165, 170, 173, 175, 175, 175, 177, 180, 184,
+  186, 183, 181, 180, 178, 176, 172, 171, 175, 180, 179, 173, 170, 167, 158, 148,
+  139, 134, 134, 134, 129, 127, 129, 136, 142, 150, 162, 173, 192, 207, 228, 243,
+  253, 254, 248, 241, 205, 179, 143, 113, 98, 93, 92, 91, 83, 82, 80, 75,
+  73, 70, 68, 66, 72, 76, 82, 89, 96, 99, 97, 96, 102, 102, 102, 104,
+  107, 117, 129, 138, 146, 140, 125, 101, 84, 77, 255, 255, 255, 255, 82, 85,
+  85, 86, 91, 99, 107, 106, 99, 95, 98, 95, 87, 85, 87, 86, 81, 81,
+  81, 80, 79, 80, 85, 91, 97, 123, 131, 142, 155, 165, 172, 179, 183, 186,
+  188, 193, 200, 208, 211, 206, 202, 191, 195, 199, 193, 181, 168, 161, 160, 164,
+  165, 171, 177, 184, 190, 191, 190, 181, 183, 186, 188, 190, 192, 193, 193, 196,
+  195, 191, 188, 191, 195, 193, 187, 181, 180, 175, 166, 155, 148, 147, 147, 149,
+  147, 148, 154, 160, 167, 178, 188, 193, 210, 232, 247, 255, 255, 250, 240, 207,
+  180, 144, 113, 98, 94, 93, 93, 88, 87, 82, 77, 71, 64, 61, 58, 67,
+  71, 80, 93, 103, 104, 99, 94, 92, 100, 105, 106, 104, 111, 125, 137, 149,
+  143, 126, 104, 85, 79, 255, 255, 255, 255, 86, 86, 97, 94, 102, 106, 108,
+  119, 112, 105, 105, 101, 91, 87, 91, 93, 91, 90, 90, 90, 87, 88, 93,
+  98, 103, 121, 130, 145, 159, 169, 175, 179, 180, 191, 192, 191, 192, 193, 193,
+  194, 194, 206, 207, 209, 208, 204, 199, 194, 189, 192, 192, 192, 194, 199, 205,
+  210, 214, 205, 200, 197, 194, 194, 195, 193, 192, 194, 194, 193, 192, 190, 189,
+  190, 192, 180, 181, 181, 182, 182, 182, 180, 180, 174, 174, 174, 177, 182, 189,
+  197, 202, 209, 218, 232, 241, 251, 255, 250, 242, 222, 195, 157, 128, 119, 120,
+  123, 123, 112, 114, 116, 115, 111, 101, 89, 79, 89, 88, 93, 106, 122, 125,
+  117, 107, 93, 100, 108, 115, 113, 115, 125, 136, 142, 137, 124, 102, 84, 79,
+  255, 255, 255, 255, 83, 81, 93, 89, 99, 105, 109, 122, 115, 105, 106, 100,
+  92, 90, 95, 98, 96, 95, 93, 87, 84, 84, 89, 99, 105, 120, 131, 144,
+  159, 169, 175, 179, 180, 191, 190, 191, 193, 195, 196, 198, 199, 207, 209, 212,
+  212, 213, 212, 211, 208, 208, 206, 204, 203, 204, 207, 211, 214, 212, 207, 202,
+  197, 194, 190, 185, 181, 181, 183, 185, 186, 186, 188, 190, 193, 190, 189, 190,
+  191, 193, 196, 197, 198, 193, 192, 192, 191, 195, 201, 207, 210, 214, 222, 234,
+  243, 250, 255, 251, 243, 228, 203, 169, 142, 134, 137, 143, 146, 140, 142, 147,
+  147, 146, 137, 124, 115, 118, 116, 119, 128, 140, 143, 136, 126, 117, 115, 116,
+  121, 125, 125, 131, 138, 143, 138, 124, 102, 84, 79, 255, 255, 255, 255, 81,
+  75, 87, 86, 96, 104, 110, 124, 119, 111, 110, 104, 97, 96, 101, 104, 104,
+  99, 95, 89, 82, 82, 89, 98, 105, 120, 131, 145, 159, 168, 174, 178, 179,
+  190, 190, 191, 193, 196, 200, 204, 206, 213, 216, 219, 223, 224, 227, 227, 227,
+  220, 216, 210, 204, 201, 200, 201, 202, 207, 202, 198, 194, 192, 188, 183, 179,
+  173, 176, 180, 184, 187, 189, 192, 194, 199, 201, 202, 205, 208, 213, 217, 219,
+  216, 215, 212, 210, 211, 214, 218, 219, 221, 228, 237, 244, 252, 255, 254, 246,
+  235, 217, 186, 166, 158, 162, 171, 177, 172, 176, 181, 185, 185, 179, 169, 161,
+  155, 152, 153, 158, 165, 166, 160, 152, 147, 138, 133, 135, 139, 140, 142, 144,
+  143, 138, 124, 102, 84, 79, 255, 255, 255, 255, 80, 74, 85, 83, 95, 103,
+  110, 125, 121, 121, 118, 109, 103, 101, 104, 109, 110, 102, 97, 93, 88, 87,
+  91, 98, 106, 123, 131, 146, 159, 168, 173, 175, 179, 190, 190, 191, 193, 197,
+  201, 206, 208, 222, 224, 229, 233, 233, 234, 233, 233, 228, 224, 217, 209, 204,
+  201, 200, 200, 189, 186, 181, 181, 181, 183, 183, 183, 174, 177, 183, 186, 189,
+  190, 193, 195, 206, 208, 214, 218, 224, 228, 232, 233, 234, 232, 227, 223, 222,
+  221, 222, 224, 227, 235, 240, 246, 252, 255, 254, 249, 240, 226, 205, 190, 183,
+  187, 192, 198, 194, 195, 200, 203, 204, 202, 196, 192, 183, 180, 177, 179, 183,
+  185, 181, 176, 173, 163, 154, 153, 151, 149, 148, 150, 144, 139, 125, 103, 84,
+  138, 255, 255, 255, 255, 82, 75, 88, 84, 95, 105, 110, 126, 121, 129, 121,
+  111, 103, 100, 100, 104, 107, 103, 103, 101, 98, 96, 98, 103, 106, 126, 135,
+  147, 160, 168, 173, 174, 175, 189, 189, 192, 193, 197, 201, 206, 208, 223, 227,
+  232, 236, 240, 238, 234, 232, 230, 228, 224, 221, 219, 219, 220, 220, 193, 188,
+  180, 177, 176, 176, 178, 177, 175, 179, 183, 188, 190, 193, 196, 199, 215, 220,
+  226, 234, 238, 241, 241, 240, 242, 240, 236, 231, 227, 226, 225, 226, 232, 238,
+  243, 247, 253, 255, 255, 250, 244, 232, 220, 208, 203, 203, 204, 206, 205, 201,
+  199, 198, 199, 200, 200, 199, 193, 189, 187, 188, 191, 193, 193, 191, 192, 185,
+  179, 170, 157, 147, 147, 150, 145, 140, 126, 103, 85, 255, 255, 255, 255, 255,
+  197, 76, 88, 83, 94, 104, 109, 126, 122, 130, 119, 109, 99, 94, 91, 95,
+  102, 109, 111, 113, 113, 112, 111, 112, 113, 131, 139, 152, 163, 170, 172, 173,
+  174, 187, 188, 191, 195, 199, 204, 206, 208, 219, 223, 228, 234, 235, 234, 231,
+  229, 225, 226, 228, 231, 235, 238, 241, 243, 229, 221, 210, 200, 194, 189, 186,
+  184, 183, 185, 188, 192, 196, 200, 207, 210, 228, 233, 241, 247, 250, 247, 245,
+  242, 241, 239, 235, 231, 228, 226, 226, 225, 232, 238, 244, 247, 254, 255, 254,
+  249, 245, 236, 224, 218, 214, 212, 210, 209, 208, 202, 194, 188, 186, 189, 189,
+  190, 188, 187, 187, 186, 188, 190, 193, 193, 200, 199, 194, 183, 161, 144, 141,
+  146, 146, 141, 127, 104, 85, 255, 255, 255, 255, 255, 255, 72, 84, 81, 92,
+  102, 109, 126, 122, 132, 119, 106, 97, 91, 87, 93, 99, 121, 123, 125, 126,
+  125, 124, 125, 127, 135, 143, 154, 165, 171, 172, 172, 172, 182, 187, 192, 199,
+  204, 209, 210, 213, 219, 222, 223, 225, 227, 227, 228, 227, 226, 229, 234, 239,
+  244, 248, 250, 251, 255, 250, 241, 233, 224, 218, 211, 208, 204, 205, 207, 207,
+  211, 216, 221, 226, 241, 244, 249, 251, 252, 248, 244, 240, 233, 232, 228, 225,
+  224, 222, 222, 222, 229, 235, 241, 248, 252, 255, 254, 246, 249, 238, 225, 219,
+  220, 219, 216, 212, 207, 199, 189, 180, 175, 174, 175, 174, 174, 176, 177, 176,
+  176, 179, 183, 185, 194, 197, 197, 188, 168, 150, 144, 148, 147, 142, 127, 104,
+  85, 255, 255, 255, 255, 255, 255, 69, 81, 79, 90, 100, 109, 126, 123, 133,
+  120, 106, 99, 94, 90, 94, 102, 130, 131, 132, 133, 132, 132, 134, 137, 139,
+  146, 158, 166, 171, 172, 172, 171, 180, 184, 192, 201, 208, 212, 214, 216, 225,
+  223, 221, 219, 219, 221, 222, 224, 234, 237, 242, 247, 251, 252, 252, 251, 251,
+  250, 248, 247, 243, 238, 233, 229, 229, 229, 228, 226, 225, 229, 234, 238, 248,
+  249, 251, 250, 249, 245, 240, 237, 224, 222, 221, 218, 219, 218, 219, 218, 225,
+  234, 241, 246, 252, 255, 252, 244, 253, 239, 223, 218, 220, 223, 221, 217, 207,
+  198, 188, 177, 170, 166, 163, 162, 162, 165, 166, 167, 166, 167, 171, 175, 186,
+  188, 191, 187, 175, 159, 152, 154, 147, 142, 127, 104, 85, 255, 255, 255, 255,
+  255, 255, 77, 82, 82, 79, 91, 113, 125, 126, 129, 120, 110, 101, 95, 93,
+  102, 111, 130, 144, 151, 140, 134, 140, 147, 147, 153, 158, 164, 167, 170, 171,
+  175, 177, 179, 187, 197, 207, 214, 218, 220, 221, 212, 215, 220, 225, 231, 235,
+  238, 241, 251, 250, 249, 248, 248, 249, 250, 251, 254, 255, 254, 254, 254, 252,
+  251, 251, 251, 252, 254, 255, 255, 255, 254, 252, 249, 251, 254, 254, 252, 244,
+  236, 231, 224, 222, 217, 214, 213, 213, 213, 215, 219, 226, 234, 244, 252, 253,
+  249, 246, 249, 239, 228, 223, 222, 223, 228, 236, 224, 212, 193, 176, 167, 160,
+  158, 155, 153, 150, 145, 140, 140, 144, 153, 161, 178, 180, 182, 182, 181, 178,
+  175, 173, 167, 154, 129, 103, 83, 255, 255, 255, 255, 255, 255, 79, 84, 84,
+  82, 93, 115, 127, 129, 128, 120, 109, 102, 97, 98, 106, 118, 143, 154, 156,
+  146, 140, 146, 149, 148, 158, 160, 164, 167, 169, 173, 175, 178, 182, 189, 198,
+  206, 211, 215, 216, 217, 214, 216, 222, 228, 235, 240, 243, 246, 252, 251, 249,
+  249, 249, 249, 251, 252, 255, 255, 254, 255, 255, 252, 252, 252, 252, 252, 254,
+  254, 255, 255, 254, 254, 251, 253, 253, 252, 248, 243, 239, 235, 223, 221, 217,
+  212, 210, 210, 211, 213, 219, 223, 233, 244, 253, 254, 252, 248, 250, 240, 228,
+  222, 221, 222, 228, 236, 234, 223, 207, 192, 179, 166, 157, 151, 146, 144, 141,
+  137, 136, 139, 146, 150, 166, 170, 177, 182, 183, 182, 178, 175, 168, 155, 129,
+  103, 83, 255, 255, 255, 255, 255, 255, 79, 83, 84, 82, 93, 113, 126, 131,
+  133, 124, 112, 104, 99, 100, 111, 124, 157, 162, 162, 153, 152, 156, 158, 154,
+  162, 164, 166, 169, 170, 173, 177, 179, 185, 192, 199, 206, 210, 212, 213, 215,
+  217, 220, 227, 236, 242, 247, 252, 253, 252, 251, 250, 249, 249, 250, 251, 252,
+  255, 255, 255, 255, 255, 253, 253, 253, 254, 254, 254, 253, 254, 254, 255, 255,
+  254, 254, 252, 250, 247, 244, 241, 239, 226, 222, 214, 210, 205, 207, 208, 210,
+  217, 223, 233, 244, 253, 255, 254, 252, 255, 241, 227, 220, 217, 219, 226, 233,
+  242, 236, 228, 216, 202, 187, 172, 163, 148, 148, 145, 143, 140, 142, 146, 148,
+  159, 165, 174, 185, 191, 195, 194, 193, 170, 156, 129, 102, 83, 255, 255, 255,
+  255, 255, 255, 77, 80, 81, 81, 90, 109, 124, 132, 139, 130, 118, 108, 100,
+  102, 115, 131, 163, 166, 163, 160, 160, 166, 167, 164, 167, 168, 169, 171, 171,
+  176, 179, 183, 188, 194, 200, 206, 210, 213, 215, 217, 225, 228, 234, 242, 247,
+  251, 255, 255, 253, 252, 250, 249, 249, 250, 252, 253, 255, 255, 255, 255, 255,
+  254, 254, 253, 255, 254, 253, 251, 251, 254, 255, 255, 255, 255, 254, 252, 250,
+  245, 242, 241, 227, 223, 215, 207, 203, 203, 207, 210, 215, 221, 230, 243, 253,
+  255, 255, 255, 255, 242, 228, 219, 215, 216, 222, 230, 242, 242, 241, 237, 227,
+  215, 204, 195, 174, 172, 169, 164, 161, 161, 165, 168, 163, 166, 173, 182, 191,
+  199, 204, 207, 173, 157, 129, 102, 83, 255, 255, 255, 255, 255, 255, 196, 79,
+  80, 82, 90, 108, 124, 134, 142, 133, 122, 111, 105, 108, 123, 139, 168, 167,
+  163, 161, 163, 168, 169, 169, 170, 172, 175, 175, 177, 179, 183, 188, 189, 194,
+  200, 206, 211, 216, 220, 223, 232, 235, 242, 247, 251, 255, 255, 255, 254, 253,
+  252, 251, 251, 252, 253, 254, 255, 255, 255, 255, 255, 254, 254, 253, 255, 255,
+  254, 251, 251, 253, 254, 255, 255, 255, 255, 255, 250, 244, 239, 236, 225, 219,
+  213, 207, 204, 203, 207, 208, 214, 218, 229, 242, 252, 255, 255, 255, 255, 244,
+  228, 218, 213, 214, 219, 226, 238, 242, 247, 249, 246, 237, 232, 226, 207, 205,
+  201, 196, 192, 193, 196, 198, 182, 181, 178, 180, 184, 193, 202, 208, 176, 158,
+  129, 101, 83, 255, 255, 255, 255, 255, 255, 255, 80, 82, 84, 92, 108, 125,
+  139, 143, 136, 127, 117, 110, 113, 130, 147, 171, 168, 163, 162, 162, 165, 166,
+  168, 173, 175, 178, 180, 182, 185, 189, 192, 190, 195, 200, 206, 212, 218, 223,
+  228, 236, 239, 245, 250, 252, 255, 255, 254, 255, 255, 254, 253, 253, 254, 255,
+  255, 255, 255, 255, 255, 255, 253, 253, 253, 255, 255, 254, 254, 253, 254, 254,
+  254, 255, 255, 254, 251, 245, 238, 230, 224, 220, 216, 210, 206, 203, 205, 208,
+  209, 212, 217, 227, 240, 251, 255, 255, 255, 255, 245, 229, 217, 213, 211, 214,
+  221, 236, 241, 248, 253, 251, 247, 243, 240, 235, 233, 231, 227, 223, 221, 223,
+  224, 216, 210, 202, 195, 192, 195, 199, 202, 179, 160, 129, 101, 83, 255, 255,
+  255, 255, 255, 255, 255, 80, 82, 85, 92, 107, 125, 141, 149, 143, 133, 122,
+  114, 114, 130, 146, 167, 164, 161, 161, 161, 162, 166, 169, 174, 178, 182, 186,
+  187, 189, 193, 196, 190, 195, 199, 205, 210, 217, 223, 228, 236, 241, 246, 251,
+  254, 254, 254, 252, 255, 255, 255, 254, 254, 255, 255, 255, 255, 255, 254, 255,
+  255, 252, 252, 252, 254, 254, 255, 255, 254, 254, 252, 252, 253, 251, 246, 241,
+  232, 225, 218, 214, 214, 211, 208, 205, 203, 205, 208, 209, 211, 216, 226, 239,
+  250, 255, 255, 255, 255, 245, 230, 219, 212, 209, 210, 215, 236, 243, 252, 255,
+  255, 250, 246, 245, 248, 250, 251, 251, 246, 242, 240, 238, 239, 235, 229, 220,
+  213, 207, 202, 201, 181, 161, 129, 101, 83, 255, 255, 255, 255, 255, 255, 255,
+  77, 79, 83, 90, 104, 123, 140, 158, 150, 140, 127, 114, 111, 124, 140, 160,
+  159, 159, 159, 160, 163, 169, 175, 176, 179, 184, 189, 191, 192, 195, 198, 191,
+  195, 199, 203, 209, 215, 221, 226, 235, 240, 245, 250, 254, 254, 254, 253, 255,
+  255, 255, 254, 254, 255, 255, 255, 254, 255, 254, 254, 254, 252, 251, 251, 252,
+  254, 255, 255, 255, 254, 252, 251, 250, 247, 240, 230, 221, 215, 210, 206, 208,
+  207, 204, 203, 203, 205, 208, 208, 211, 215, 225, 238, 248, 255, 255, 255, 255,
+  245, 231, 220, 213, 207, 209, 213, 236, 244, 255, 255, 255, 253, 248, 245, 252,
+  255, 255, 255, 255, 253, 246, 243, 242, 242, 240, 234, 226, 214, 204, 199, 182,
+  161, 129, 100, 83, 255, 255, 255, 255, 255, 255, 255, 255, 80, 81, 80, 94,
+  126, 156, 164, 160, 153, 142, 130, 124, 124, 128, 146, 160, 165, 158, 155, 163,
+  169, 167, 180, 182, 186, 189, 194, 195, 197, 197, 189, 189, 193, 197, 204, 211,
+  219, 221, 234, 238, 243, 248, 250, 251, 249, 248, 252, 249, 247, 245, 248, 252,
+  255, 255, 251, 252, 253, 254, 254, 254, 254, 253, 246, 249, 253, 255, 255, 255,
+  246, 239, 228, 223, 217, 210, 204, 200, 200, 200, 206, 205, 203, 202, 203, 206,
+  210, 213, 214, 223, 234, 242, 247, 251, 254, 255, 255, 249, 237, 223, 212, 205,
+  206, 208, 223, 231, 245, 255, 255, 254, 249, 249, 251, 253, 254, 254, 251, 250,
+  248, 249, 241, 242, 243, 240, 235, 227, 220, 216, 194, 176, 143, 103, 78, 255,
+  255, 255, 255, 255, 255, 255, 255, 82, 83, 83, 97, 128, 157, 176, 177, 173,
+  164, 154, 142, 134, 129, 142, 155, 162, 159, 157, 166, 170, 168, 179, 182, 187,
+  191, 195, 196, 197, 196, 190, 191, 191, 195, 202, 208, 216, 221, 235, 238, 243,
+  248, 250, 249, 249, 247, 244, 243, 240, 240, 240, 243, 247, 251, 250, 250, 251,
+  253, 254, 255, 255, 255, 251, 253, 254, 255, 253, 245, 233, 224, 214, 212, 206,
+  200, 197, 196, 197, 198, 202, 202, 201, 202, 205, 208, 210, 213, 215, 222, 234,
+  243, 250, 255, 255, 255, 255, 250, 238, 224, 214, 208, 204, 203, 211, 222, 236,
+  247, 252, 252, 252, 252, 251, 253, 255, 255, 255, 254, 255, 255, 248, 249, 247,
+  245, 239, 232, 224, 219, 196, 178, 144, 104, 79, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 83, 83, 95, 127, 156, 184, 189, 192, 193, 186, 171, 153, 141,
+  136, 147, 156, 155, 159, 166, 170, 167, 179, 182, 188, 193, 197, 197, 196, 195,
+  192, 191, 189, 191, 196, 204, 213, 219, 234, 236, 240, 242, 243, 243, 242, 242,
+  234, 233, 230, 230, 230, 233, 235, 237, 243, 243, 244, 246, 248, 250, 252, 254,
+  255, 255, 255, 250, 244, 233, 221, 212, 199, 197, 194, 191, 191, 194, 198, 200,
+  203, 202, 202, 203, 207, 209, 212, 214, 217, 224, 233, 244, 253, 255, 255, 255,
+  255, 250, 238, 229, 220, 211, 201, 195, 198, 206, 220, 232, 242, 247, 249, 252,
+  249, 252, 254, 255, 255, 255, 255, 255, 251, 251, 252, 249, 243, 236, 228, 223,
+  199, 180, 145, 105, 80, 255, 255, 255, 255, 255, 255, 255, 255, 255, 80, 81,
+  93, 124, 153, 187, 194, 204, 212, 212, 199, 177, 163, 138, 145, 149, 149, 154,
+  164, 170, 171, 179, 183, 190, 194, 199, 198, 196, 194, 194, 191, 187, 187, 190,
+  199, 209, 215, 229, 229, 231, 233, 233, 232, 232, 231, 223, 224, 221, 220, 220,
+  222, 224, 226, 235, 235, 236, 238, 241, 245, 248, 249, 248, 246, 242, 236, 226,
+  216, 206, 199, 188, 187, 185, 186, 189, 196, 203, 208, 209, 207, 204, 203, 206,
+  210, 215, 218, 223, 225, 233, 243, 254, 255, 255, 255, 255, 251, 241, 232, 225,
+  215, 199, 189, 184, 191, 200, 212, 224, 233, 241, 245, 245, 247, 248, 250, 251,
+  251, 255, 255, 251, 252, 252, 249, 244, 235, 227, 224, 201, 181, 145, 105, 81,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 79, 92, 124, 153, 192, 199,
+  211, 220, 223, 213, 196, 181, 152, 149, 146, 144, 150, 162, 173, 177, 181, 184,
+  191, 195, 199, 198, 196, 194, 193, 190, 184, 182, 186, 194, 204, 210, 222, 221,
+  221, 221, 220, 219, 220, 219, 214, 212, 212, 210, 211, 212, 216, 217, 228, 228,
+  230, 232, 235, 238, 241, 242, 233, 230, 222, 211, 199, 190, 184, 179, 179, 178,
+  178, 181, 188, 197, 206, 212, 219, 214, 209, 206, 206, 211, 218, 223, 228, 230,
+  233, 242, 252, 255, 255, 255, 255, 254, 245, 236, 229, 217, 201, 190, 171, 173,
+  178, 188, 202, 216, 229, 236, 240, 241, 245, 245, 246, 245, 248, 249, 249, 250,
+  251, 248, 243, 235, 227, 224, 202, 181, 144, 104, 81, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 78, 94, 125, 155, 199, 206, 213, 218, 216, 207, 193,
+  184, 163, 155, 143, 141, 148, 163, 176, 185, 183, 186, 191, 195, 199, 198, 197,
+  196, 194, 189, 183, 180, 182, 189, 199, 206, 213, 212, 210, 208, 207, 206, 206,
+  206, 201, 200, 200, 200, 202, 204, 206, 207, 218, 220, 222, 225, 227, 228, 229,
+  229, 222, 215, 204, 190, 176, 167, 164, 164, 170, 169, 170, 173, 181, 193, 204,
+  210, 224, 220, 212, 207, 208, 213, 220, 224, 231, 232, 236, 243, 250, 255, 255,
+  255, 255, 255, 248, 240, 230, 218, 205, 196, 171, 167, 164, 167, 179, 196, 213,
+  221, 232, 234, 239, 240, 241, 241, 242, 243, 245, 246, 248, 246, 242, 236, 228,
+  224, 201, 179, 142, 103, 81, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 91, 125, 157, 200, 204, 208, 208, 201, 191, 180, 173, 165, 151, 137, 135,
+  144, 162, 177, 185, 185, 187, 192, 195, 198, 198, 198, 197, 193, 188, 181, 178,
+  180, 186, 195, 201, 202, 200, 195, 192, 190, 190, 189, 190, 188, 188, 189, 190,
+  193, 194, 197, 198, 207, 209, 212, 215, 216, 215, 214, 212, 201, 195, 181, 165,
+  152, 148, 150, 154, 164, 163, 164, 167, 176, 187, 199, 206, 220, 217, 214, 212,
+  212, 215, 221, 224, 228, 233, 241, 247, 252, 252, 253, 253, 255, 255, 249, 241,
+  230, 218, 210, 205, 184, 174, 160, 154, 159, 174, 190, 198, 219, 223, 230, 233,
+  236, 235, 236, 236, 240, 241, 241, 241, 236, 231, 224, 221, 199, 177, 140, 101,
+  81, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 88, 124, 155, 193,
+  197, 201, 198, 187, 175, 166, 161, 158, 144, 130, 129, 141, 157, 173, 181, 187,
+  188, 192, 194, 197, 198, 199, 198, 192, 187, 181, 177, 179, 185, 192, 198, 191,
+  189, 183, 180, 178, 177, 177, 178, 179, 179, 181, 184, 185, 188, 190, 191, 196,
+  198, 202, 205, 205, 203, 200, 198, 178, 169, 157, 142, 131, 130, 138, 144, 162,
+  162, 161, 165, 175, 186, 198, 204, 216, 214, 214, 214, 215, 218, 220, 223, 224,
+  233, 246, 252, 253, 251, 249, 248, 255, 255, 251, 241, 230, 220, 213, 212, 200,
+  186, 164, 150, 148, 158, 171, 178, 207, 213, 221, 226, 230, 231, 230, 230, 231,
+  233, 235, 234, 232, 226, 221, 217, 198, 175, 138, 100, 81, 136, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 146, 128, 174, 179, 183, 184, 179, 173,
+  167, 164, 158, 147, 136, 133, 146, 162, 173, 179, 188, 188, 189, 190, 191, 192,
+  192, 193, 188, 185, 181, 177, 178, 178, 178, 178, 180, 175, 165, 159, 158, 160,
+  163, 165, 168, 168, 169, 172, 175, 179, 183, 185, 186, 189, 188, 185, 184, 183,
+  175, 164, 152, 141, 128, 118, 117, 125, 137, 147, 154, 155, 157, 161, 166, 177,
+  191, 199, 206, 208, 209, 213, 214, 216, 215, 214, 223, 228, 238, 246, 253, 255,
+  253, 250, 255, 255, 250, 239, 229, 221, 215, 212, 205, 194, 176, 152, 133, 129,
+  140, 150, 173, 189, 206, 214, 220, 225, 225, 219, 226, 228, 228, 225, 221, 219,
+  218, 217, 190, 166, 130, 100, 84, 77, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 223, 119, 163, 169, 177, 182, 180, 175, 167, 164, 159, 150, 140,
+  137, 145, 159, 171, 179, 186, 187, 187, 188, 189, 190, 190, 191, 187, 183, 180,
+  177, 178, 177, 175, 173, 169, 162, 153, 147, 147, 148, 152, 153, 158, 160, 161,
+  162, 167, 172, 175, 177, 178, 180, 179, 173, 170, 168, 158, 148, 136, 130, 119,
+  115, 117, 126, 138, 146, 150, 146, 143, 146, 154, 166, 177, 183, 196, 198, 202,
+  205, 208, 212, 212, 214, 220, 226, 235, 243, 250, 252, 251, 250, 255, 254, 246,
+  236, 227, 218, 214, 211, 203, 195, 178, 157, 139, 131, 133, 136, 154, 173, 191,
+  203, 214, 221, 222, 219, 220, 221, 220, 218, 214, 211, 210, 211, 188, 165, 131,
+  101, 84, 77, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 111,
+  146, 155, 168, 176, 179, 176, 169, 165, 161, 155, 146, 141, 145, 156, 169, 177,
+  184, 184, 184, 185, 186, 186, 187, 187, 184, 182, 178, 177, 175, 173, 170, 166,
+  155, 148, 138, 134, 132, 136, 138, 140, 147, 149, 151, 155, 159, 162, 167, 169,
+  168, 169, 165, 157, 151, 145, 136, 127, 115, 113, 112, 113, 118, 129, 140, 146,
+  148, 140, 131, 130, 139, 150, 159, 163, 180, 183, 187, 193, 197, 202, 205, 207,
+  214, 219, 227, 234, 240, 244, 243, 244, 250, 246, 240, 231, 223, 216, 211, 207,
+  201, 193, 178, 161, 143, 130, 121, 117, 134, 149, 169, 187, 200, 210, 213, 212,
+  212, 211, 210, 206, 202, 200, 201, 202, 184, 163, 130, 101, 84, 77, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 131, 140, 154, 165, 170,
+  170, 169, 169, 163, 159, 155, 149, 148, 155, 167, 176, 182, 182, 182, 183, 183,
+  184, 184, 184, 179, 178, 177, 175, 173, 170, 163, 159, 145, 136, 127, 122, 121,
+  125, 128, 131, 140, 141, 145, 148, 151, 156, 159, 160, 159, 157, 152, 144, 136,
+  127, 120, 113, 100, 102, 107, 115, 123, 132, 140, 146, 149, 141, 130, 123, 125,
+  132, 140, 147, 164, 167, 171, 176, 181, 186, 190, 191, 199, 204, 213, 220, 226,
+  229, 232, 234, 237, 234, 229, 223, 216, 210, 205, 200, 197, 187, 173, 157, 142,
+  126, 110, 101, 116, 128, 148, 168, 183, 194, 199, 199, 203, 203, 199, 194, 190,
+  188, 191, 193, 179, 159, 128, 102, 84, 77, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 211, 129, 138, 149, 157, 163, 168, 171, 164, 163,
+  159, 155, 151, 156, 167, 176, 179, 179, 179, 179, 180, 180, 180, 180, 176, 176,
+  173, 172, 170, 164, 156, 152, 137, 128, 118, 111, 112, 115, 121, 125, 133, 134,
+  138, 140, 143, 146, 147, 148, 144, 141, 137, 130, 123, 113, 106, 104, 100, 104,
+  113, 123, 132, 140, 144, 147, 149, 145, 136, 122, 114, 114, 123, 133, 146, 148,
+  152, 155, 159, 164, 167, 170, 180, 187, 196, 204, 209, 213, 216, 220, 222, 221,
+  216, 211, 205, 198, 193, 190, 188, 176, 163, 149, 135, 120, 104, 93, 99, 110,
+  126, 148, 167, 179, 185, 190, 193, 191, 189, 184, 181, 178, 179, 182, 169, 152,
+  126, 101, 84, 77, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 117, 125, 132, 141, 149, 158, 164, 162, 160, 159, 156, 154, 159, 167,
+  172, 173, 173, 173, 174, 174, 174, 174, 174, 173, 172, 170, 168, 164, 159, 153,
+  149, 130, 123, 111, 106, 105, 110, 115, 119, 127, 128, 129, 131, 132, 132, 133,
+  132, 127, 123, 120, 117, 110, 102, 100, 102, 108, 115, 126, 137, 146, 151, 152,
+  152, 153, 150, 141, 126, 109, 102, 109, 116, 127, 127, 128, 131, 135, 139, 142,
+  143, 155, 165, 175, 185, 190, 195, 200, 204, 204, 202, 200, 196, 191, 184, 178,
+  175, 174, 165, 153, 142, 130, 116, 104, 94, 86, 92, 106, 129, 151, 165, 176,
+  183, 181, 179, 178, 173, 169, 166, 167, 169, 159, 145, 122, 98, 83, 77, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 113, 119,
+  128, 136, 145, 152, 157, 156, 155, 154, 155, 159, 164, 169, 169, 169, 169, 169,
+  169, 168, 168, 168, 170, 169, 166, 164, 160, 156, 150, 147, 128, 120, 109, 103,
+  104, 108, 113, 117, 124, 125, 126, 124, 124, 123, 122, 120, 112, 109, 109, 109,
+  106, 100, 101, 107, 119, 127, 141, 153, 160, 162, 162, 161, 162, 158, 148, 130,
+  112, 101, 100, 102, 106, 106, 108, 109, 113, 116, 119, 122, 127, 138, 152, 164,
+  169, 174, 179, 183, 186, 187, 184, 183, 177, 170, 162, 157, 158, 154, 149, 140,
+  129, 116, 107, 99, 81, 82, 94, 115, 136, 150, 162, 170, 167, 167, 165, 162,
+  158, 155, 155, 155, 151, 140, 118, 96, 82, 77, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 113, 120, 129, 136, 142, 154,
+  153, 151, 151, 154, 159, 163, 166, 166, 166, 166, 166, 165, 165, 165, 165, 170,
+  167, 163, 161, 158, 155, 150, 147, 129, 121, 111, 104, 105, 110, 115, 119, 124,
+  125, 124, 124, 123, 119, 117, 115, 106, 103, 105, 107, 105, 100, 105, 112, 128,
+  136, 148, 162, 169, 171, 169, 167, 172, 163, 150, 134, 118, 105, 98, 95, 93,
+  93, 93, 96, 99, 104, 107, 109, 106, 119, 135, 147, 154, 158, 163, 166, 176,
+  176, 176, 172, 167, 160, 153, 147, 148, 147, 145, 140, 131, 118, 109, 103, 84,
+  82, 89, 108, 127, 140, 150, 161, 157, 159, 158, 155, 151, 148, 145, 145, 147,
+  135, 115, 95, 82, 77, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 207, 115, 115, 116, 120, 126, 131, 131, 138, 151,
+  162, 166, 164, 162, 159, 157, 157, 157, 159, 160, 165, 166, 165, 162, 157, 154,
+  151, 152, 132, 130, 119, 107, 105, 110, 114, 115, 117, 119, 120, 117, 112, 107,
+  108, 110, 98, 94, 89, 90, 92, 96, 107, 116, 135, 146, 159, 174, 183, 190,
+  193, 195, 187, 185, 172, 155, 136, 118, 99, 84, 80, 81, 80, 80, 82, 85,
+  89, 92, 94, 100, 109, 120, 128, 134, 138, 138, 137, 142, 148, 147, 141, 134,
+  130, 128, 139, 146, 149, 146, 141, 133, 120, 111, 97, 93, 92, 98, 106, 115,
+  128, 140, 146, 146, 144, 140, 133, 129, 128, 130, 127, 121, 111, 96, 82, 77,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 207, 111, 110, 110, 114, 116, 121, 132, 148, 160, 164, 162, 160, 157,
+  155, 154, 154, 156, 157, 163, 163, 164, 161, 157, 154, 152, 153, 141, 136, 125,
+  111, 107, 111, 115, 116, 118, 118, 117, 115, 112, 107, 106, 105, 98, 93, 90,
+  93, 95, 103, 115, 125, 141, 149, 163, 176, 184, 189, 193, 195, 193, 190, 180,
+  163, 145, 128, 108, 93, 81, 80, 78, 76, 76, 78, 82, 85, 87, 92, 99,
+  108, 114, 119, 122, 122, 121, 127, 131, 133, 130, 125, 124, 125, 139, 147, 153,
+  151, 147, 138, 127, 115, 101, 95, 91, 93, 101, 110, 120, 131, 140, 141, 140,
+  135, 129, 125, 124, 127, 124, 119, 109, 95, 82, 77, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205,
+  102, 103, 104, 111, 125, 145, 154, 157, 158, 156, 152, 150, 148, 148, 150, 150,
+  158, 160, 160, 160, 156, 156, 156, 157, 149, 143, 133, 117, 111, 114, 117, 116,
+  118, 117, 115, 113, 110, 107, 101, 98, 96, 93, 92, 96, 103, 112, 127, 140,
+  153, 160, 169, 180, 185, 191, 196, 198, 199, 198, 189, 174, 157, 139, 119, 103,
+  88, 84, 79, 75, 74, 74, 76, 77, 80, 82, 88, 93, 98, 100, 102, 102,
+  102, 107, 112, 116, 116, 118, 121, 125, 142, 151, 158, 160, 155, 147, 134, 121,
+  109, 97, 88, 88, 94, 103, 112, 120, 132, 132, 132, 127, 122, 119, 119, 121,
+  121, 116, 108, 95, 82, 77, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 221, 134, 105, 121,
+  140, 150, 150, 154, 152, 149, 146, 145, 145, 146, 146, 154, 156, 157, 155, 155,
+  156, 158, 160, 154, 149, 137, 122, 115, 117, 122, 122, 120, 117, 113, 111, 109,
+  105, 98, 91, 97, 92, 94, 102, 112, 123, 139, 153, 166, 172, 179, 186, 191,
+  196, 198, 201, 200, 201, 196, 182, 167, 151, 130, 115, 97, 92, 84, 78, 76,
+  76, 77, 79, 77, 78, 80, 83, 86, 87, 87, 87, 90, 94, 101, 106, 110,
+  117, 126, 133, 147, 157, 167, 167, 163, 153, 138, 124, 113, 100, 88, 84, 88,
+  95, 103, 111, 121, 125, 126, 123, 117, 113, 116, 119, 119, 115, 108, 96, 84,
+  77, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 119, 137, 145, 144, 150, 148,
+  145, 142, 141, 141, 142, 143, 150, 151, 153, 153, 153, 157, 160, 163, 155, 150,
+  138, 126, 119, 122, 126, 127, 124, 120, 114, 110, 107, 103, 95, 89, 96, 95,
+  99, 108, 119, 133, 149, 163, 176, 180, 187, 192, 194, 198, 200, 203, 202, 204,
+  201, 192, 179, 164, 146, 129, 110, 101, 90, 83, 79, 80, 79, 79, 75, 76,
+  77, 78, 79, 80, 81, 81, 84, 89, 96, 102, 109, 118, 130, 140, 155, 164,
+  173, 174, 168, 157, 140, 126, 117, 102, 89, 83, 85, 90, 100, 107, 116, 121,
+  124, 119, 113, 112, 115, 120, 121, 117, 110, 97, 85, 78, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 119, 135, 144, 144, 144, 142, 140, 137, 137, 137, 139,
+  140, 148, 149, 151, 151, 154, 156, 161, 164, 156, 153, 141, 128, 124, 127, 130,
+  131, 127, 124, 117, 112, 106, 99, 94, 90, 97, 97, 102, 115, 126, 139, 154,
+  167, 179, 182, 189, 191, 194, 195, 198, 199, 202, 205, 204, 198, 190, 179, 162,
+  148, 123, 113, 99, 88, 84, 82, 81, 79, 76, 76, 76, 76, 77, 79, 80,
+  81, 85, 90, 96, 102, 109, 121, 134, 142, 161, 170, 178, 177, 172, 161, 144,
+  132, 119, 108, 95, 87, 85, 86, 96, 105, 112, 117, 121, 118, 112, 111, 116,
+  122, 124, 119, 110, 97, 83, 77, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  123, 135, 142, 144, 137, 135, 133, 132, 132, 133, 135, 136, 145, 146, 149, 150,
+  152, 156, 160, 166, 161, 156, 145, 131, 126, 129, 133, 133, 132, 128, 123, 113,
+  104, 97, 94, 92, 97, 99, 107, 120, 133, 143, 156, 168, 174, 178, 184, 188,
+  189, 189, 191, 192, 199, 203, 204, 199, 193, 186, 173, 161, 142, 130, 111, 98,
+  91, 87, 84, 81, 78, 77, 77, 78, 80, 84, 87, 90, 91, 96, 101, 106,
+  112, 123, 136, 144, 164, 174, 181, 181, 176, 165, 151, 138, 123, 115, 102, 93,
+  86, 84, 93, 105, 108, 115, 119, 117, 110, 109, 117, 124, 125, 119, 109, 94,
+  80, 74, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 135, 141, 142, 133,
+  132, 130, 129, 129, 131, 133, 135, 145, 146, 149, 149, 152, 155, 162, 165, 165,
+  160, 147, 133, 128, 131, 134, 133, 135, 133, 125, 114, 103, 94, 94, 95, 99,
+  101, 109, 123, 135, 144, 157, 167, 170, 173, 179, 184, 185, 185, 185, 185, 195,
+  199, 199, 196, 192, 187, 175, 164, 157, 142, 122, 107, 97, 93, 87, 83, 81,
+  80, 80, 81, 86, 91, 95, 97, 97, 101, 107, 112, 116, 126, 137, 145, 165,
+  174, 182, 183, 178, 170, 156, 144, 127, 120, 110, 97, 85, 82, 90, 103, 107,
+  113, 118, 116, 110, 108, 117, 124, 126, 119, 108, 92, 78, 72, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 138, 134, 130, 132, 130, 129, 128, 128, 130,
+  132, 134, 135, 137, 139, 142, 145, 150, 157, 161, 164, 159, 149, 137, 129, 128,
+  133, 138, 142, 137, 131, 118, 108, 102, 104, 106, 110, 110, 116, 124, 134, 139,
+  148, 157, 159, 160, 163, 164, 168, 169, 171, 171, 183, 181, 180, 180, 180, 178,
+  176, 172, 159, 150, 136, 122, 112, 102, 95, 90, 88, 88, 88, 89, 90, 92,
+  94, 95, 102, 109, 114, 119, 125, 133, 144, 154, 164, 171, 180, 185, 182, 169,
+  155, 144, 135, 125, 112, 98, 85, 79, 84, 92, 105, 116, 124, 123, 118, 119,
+  124, 128, 123, 110, 97, 87, 78, 133, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 135, 133, 131, 130, 128, 127, 126, 126, 128, 130, 132, 134, 135, 138,
+  140, 144, 150, 156, 162, 165, 160, 150, 137, 128, 127, 133, 138, 144, 142, 136,
+  126, 116, 110, 110, 113, 114, 113, 115, 122, 127, 131, 138, 146, 144, 146, 148,
+  152, 155, 159, 161, 161, 169, 168, 169, 169, 168, 167, 163, 162, 155, 146, 134,
+  122, 112, 104, 96, 92, 89, 90, 90, 92, 94, 96, 98, 99, 102, 108, 114,
+  117, 124, 131, 144, 154, 163, 170, 179, 184, 182, 170, 157, 148, 134, 123, 111,
+  99, 87, 80, 85, 93, 105, 117, 126, 124, 120, 124, 127, 130, 121, 109, 96,
+  86, 77, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 132, 130,
+  126, 125, 124, 124, 124, 125, 127, 128, 131, 132, 134, 137, 142, 148, 156, 162,
+  167, 162, 151, 138, 128, 126, 133, 139, 150, 148, 145, 137, 128, 121, 119, 122,
+  113, 108, 105, 107, 108, 109, 115, 121, 121, 122, 125, 128, 134, 138, 141, 142,
+  147, 147, 148, 147, 148, 147, 146, 146, 143, 137, 131, 121, 115, 108, 101, 97,
+  93, 93, 94, 96, 98, 101, 103, 105, 102, 106, 111, 116, 122, 132, 144, 154,
+  158, 164, 172, 176, 175, 165, 155, 147, 130, 120, 109, 99, 87, 83, 87, 97,
+  107, 117, 126, 126, 125, 129, 132, 134, 118, 107, 95, 86, 76, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 130, 128, 125, 125, 124, 124, 124,
+  125, 126, 127, 126, 127, 131, 132, 138, 146, 154, 161, 168, 164, 154, 140, 128,
+  125, 132, 138, 155, 156, 156, 149, 140, 132, 130, 128, 111, 103, 93, 91, 89,
+  88, 92, 96, 96, 96, 98, 103, 108, 111, 115, 117, 123, 124, 125, 126, 124,
+  124, 125, 126, 128, 124, 121, 117, 113, 109, 105, 101, 96, 97, 97, 98, 100,
+  101, 103, 104, 99, 103, 107, 111, 118, 130, 140, 148, 148, 153, 159, 161, 159,
+  154, 146, 140, 123, 116, 106, 96, 88, 86, 91, 100, 113, 121, 129, 131, 131,
+  135, 138, 135, 115, 105, 95, 85, 75, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 127, 125, 124, 123, 123, 123, 124, 124, 125, 126, 121, 123,
+  125, 128, 134, 142, 151, 158, 169, 166, 157, 143, 129, 125, 131, 137, 159, 163,
+  165, 161, 152, 143, 137, 134, 112, 100, 86, 78, 74, 72, 73, 78, 74, 75,
+  77, 81, 85, 90, 95, 96, 102, 104, 106, 106, 104, 104, 106, 109, 111, 110,
+  107, 108, 107, 107, 103, 100, 102, 101, 101, 100, 100, 101, 102, 102, 96, 99,
+  102, 107, 113, 121, 129, 134, 135, 136, 140, 142, 140, 137, 133, 131, 116, 109,
+  103, 98, 93, 91, 99, 110, 122, 129, 135, 136, 137, 139, 139, 135, 112, 104,
+  95, 86, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 124,
+  121, 122, 123, 123, 123, 124, 124, 124, 124, 118, 119, 121, 124, 128, 136, 147,
+  154, 168, 168, 161, 146, 131, 125, 129, 135, 158, 165, 173, 172, 166, 156, 147,
+  144, 115, 98, 80, 67, 62, 58, 59, 62, 62, 62, 65, 69, 74, 81, 85,
+  89, 95, 97, 99, 98, 95, 95, 100, 103, 104, 104, 103, 103, 104, 102, 101,
+  98, 102, 102, 101, 99, 99, 99, 99, 99, 96, 97, 98, 101, 103, 107, 109,
+  111, 115, 115, 118, 119, 119, 120, 120, 120, 113, 108, 104, 102, 101, 103, 114,
+  126, 133, 138, 139, 140, 142, 143, 138, 131, 109, 103, 96, 143, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 122, 121, 118, 118, 119, 120,
+  120, 120, 120, 120, 116, 116, 116, 119, 124, 133, 142, 150, 167, 168, 163, 150,
+  134, 125, 127, 132, 157, 165, 176, 180, 177, 168, 160, 156, 127, 108, 84, 69,
+  59, 55, 54, 57, 57, 58, 62, 67, 74, 83, 90, 94, 102, 106, 107, 106,
+  102, 102, 105, 111, 114, 113, 109, 108, 106, 105, 104, 101, 102, 102, 101, 100,
+  100, 100, 100, 101, 99, 99, 97, 96, 95, 91, 88, 85, 90, 90, 92, 95,
+  98, 103, 107, 109, 114, 110, 110, 111, 113, 118, 130, 143, 143, 145, 146, 143,
+  145, 144, 137, 127, 108, 103, 97, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 120, 116, 117, 118, 118, 119, 119, 118, 118, 115,
+  115, 115, 117, 121, 129, 139, 146, 166, 169, 165, 152, 135, 125, 127, 131, 154,
+  165, 179, 186, 183, 175, 169, 164, 146, 123, 98, 80, 68, 62, 61, 63, 55,
+  59, 63, 68, 78, 88, 97, 101, 116, 118, 120, 118, 114, 113, 116, 123, 128,
+  125, 120, 116, 115, 113, 108, 107, 101, 100, 100, 100, 100, 101, 102, 103, 103,
+  100, 99, 95, 89, 81, 74, 68, 68, 69, 71, 77, 83, 90, 97, 102, 116,
+  114, 115, 119, 123, 129, 142, 155, 148, 150, 149, 147, 146, 145, 135, 124, 108,
+  103, 150, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 120, 112, 112, 111, 112, 116, 117, 116, 116, 112, 111, 111, 112, 115, 123,
+  132, 137, 159, 164, 166, 157, 140, 127, 123, 124, 147, 160, 177, 189, 190, 186,
+  183, 182, 162, 159, 147, 126, 107, 92, 79, 69, 71, 65, 64, 66, 77, 93,
+  106, 114, 129, 138, 143, 136, 132, 135, 145, 152, 161, 155, 148, 143, 146, 145,
+  136, 122, 116, 105, 106, 116, 114, 112, 114, 110, 104, 114, 113, 107, 101, 82,
+  62, 59, 51, 55, 60, 67, 76, 87, 96, 103, 118, 129, 137, 139, 145, 155,
+  160, 159, 162, 152, 148, 152, 150, 135, 118, 109, 97, 97, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 120, 113, 112, 111,
+  112, 113, 116, 116, 114, 108, 109, 109, 109, 112, 118, 126, 133, 155, 161, 165,
+  158, 145, 130, 123, 122, 141, 155, 175, 189, 192, 190, 187, 186, 177, 177, 171,
+  159, 145, 128, 105, 88, 73, 70, 68, 71, 82, 94, 106, 112, 132, 143, 152,
+  150, 149, 158, 174, 183, 181, 171, 160, 161, 169, 173, 162, 145, 128, 113, 118,
+  129, 129, 126, 124, 118, 114, 122, 122, 114, 107, 85, 62, 56, 48, 53, 60,
+  70, 81, 95, 108, 117, 137, 142, 149, 150, 157, 166, 168, 167, 158, 154, 154,
+  158, 154, 140, 123, 113, 108, 160, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 117, 115, 113, 111, 111, 112, 113, 112, 111,
+  105, 105, 106, 106, 107, 112, 119, 125, 149, 157, 163, 160, 149, 133, 123, 118,
+  134, 149, 171, 187, 195, 195, 192, 193, 192, 192, 189, 184, 177, 165, 142, 123,
+  98, 91, 81, 78, 83, 96, 107, 113, 135, 150, 162, 163, 164, 175, 196, 211,
+  202, 188, 173, 176, 193, 201, 187, 166, 137, 122, 127, 142, 144, 140, 133, 124,
+  123, 131, 128, 121, 114, 89, 61, 51, 51, 58, 68, 81, 94, 112, 126, 134,
+  159, 161, 164, 167, 173, 179, 177, 172, 151, 150, 152, 155, 149, 134, 120, 111,
+  111, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 209, 116, 114, 111, 109, 109, 110, 108, 107, 102, 103, 103, 103, 103,
+  107, 113, 117, 141, 149, 161, 163, 154, 138, 124, 114, 127, 144, 166, 185, 197,
+  198, 197, 195, 204, 205, 203, 198, 194, 190, 178, 168, 139, 125, 107, 92, 89,
+  97, 109, 115, 136, 151, 162, 162, 164, 176, 197, 212, 209, 196, 181, 183, 199,
+  208, 194, 175, 144, 125, 127, 145, 151, 146, 141, 133, 131, 138, 133, 125, 116,
+  92, 62, 49, 66, 73, 85, 100, 117, 133, 148, 156, 175, 175, 178, 183, 187,
+  186, 177, 168, 147, 147, 150, 151, 148, 140, 133, 129, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 120, 115,
+  111, 108, 107, 105, 104, 102, 100, 100, 100, 101, 102, 104, 109, 112, 131, 141,
+  155, 164, 160, 145, 125, 113, 124, 138, 161, 181, 193, 198, 198, 195, 212, 219,
+  222, 217, 208, 205, 200, 196, 175, 162, 142, 124, 114, 111, 112, 114, 130, 144,
+  157, 159, 160, 173, 193, 207, 206, 198, 189, 189, 197, 203, 194, 178, 150, 129,
+  129, 148, 153, 150, 147, 143, 141, 147, 139, 128, 117, 94, 66, 58, 81, 91,
+  106, 124, 140, 157, 170, 178, 184, 185, 189, 195, 197, 188, 171, 159, 147, 150,
+  154, 160, 167, 176, 183, 187, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 121, 117, 111, 107, 103, 102, 99,
+  99, 98, 98, 98, 97, 99, 102, 107, 110, 122, 134, 150, 163, 163, 149, 129,
+  114, 119, 132, 154, 176, 190, 197, 197, 196, 209, 222, 234, 232, 222, 211, 202,
+  195, 189, 184, 173, 162, 151, 137, 126, 119, 129, 141, 152, 155, 159, 172, 188,
+  198, 196, 193, 189, 188, 193, 197, 189, 179, 156, 133, 134, 151, 155, 149, 149,
+  147, 150, 155, 146, 133, 121, 101, 83, 81, 100, 112, 130, 150, 166, 181, 190,
+  196, 192, 192, 197, 203, 199, 182, 163, 151, 142, 149, 159, 174, 198, 222, 244,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 122, 118, 110, 105, 102, 99, 97, 96, 93, 93, 95, 95,
+  97, 99, 104, 107, 116, 127, 146, 162, 166, 154, 132, 116, 114, 126, 146, 168,
+  186, 195, 198, 197, 204, 217, 232, 234, 228, 216, 202, 192, 192, 190, 188, 183,
+  175, 165, 154, 145, 142, 149, 155, 154, 156, 162, 169, 173, 172, 171, 170, 173,
+  182, 186, 179, 168, 153, 132, 133, 152, 151, 141, 138, 139, 145, 153, 145, 132,
+  124, 113, 107, 116, 130, 141, 159, 177, 189, 198, 203, 205, 195, 195, 198, 201,
+  191, 171, 154, 147, 139, 150, 168, 190, 220, 250, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 124,
+  118, 110, 104, 100, 98, 96, 95, 91, 91, 94, 94, 94, 97, 101, 106, 113,
+  124, 142, 161, 166, 156, 134, 116, 109, 121, 141, 164, 183, 195, 200, 199, 204,
+  215, 226, 231, 230, 223, 211, 197, 195, 190, 188, 185, 184, 180, 177, 174, 155,
+  160, 159, 153, 148, 147, 148, 146, 148, 147, 150, 156, 168, 176, 168, 155, 146,
+  127, 130, 148, 144, 128, 124, 126, 134, 143, 138, 129, 126, 123, 126, 141, 156,
+  167, 183, 196, 204, 207, 206, 207, 195, 193, 196, 196, 183, 162, 146, 141, 146,
+  160, 178, 203, 233, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 209, 120, 116, 107, 100, 98,
+  96, 92, 93, 91, 89, 88, 89, 93, 97, 100, 106, 117, 133, 147, 159, 156,
+  140, 121, 110, 113, 127, 152, 177, 190, 196, 201, 205, 210, 218, 229, 232, 227,
+  212, 198, 201, 193, 186, 183, 181, 180, 184, 190, 194, 191, 185, 180, 172, 162,
+  150, 143, 130, 127, 128, 136, 147, 152, 150, 145, 124, 124, 127, 129, 130, 128,
+  124, 120, 125, 129, 134, 139, 142, 150, 160, 167, 176, 189, 203, 210, 211, 209,
+  201, 193, 201, 197, 192, 179, 161, 143, 135, 137, 144, 162, 181, 213, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 121, 118, 109, 102, 98, 93, 90, 92, 89, 88,
+  87, 89, 92, 96, 100, 102, 113, 129, 142, 154, 153, 138, 121, 108, 110, 122,
+  146, 171, 186, 194, 199, 202, 206, 213, 223, 229, 226, 214, 206, 199, 191, 183,
+  180, 179, 178, 182, 189, 196, 196, 198, 199, 193, 180, 166, 153, 144, 138, 133,
+  133, 138, 140, 134, 129, 116, 115, 116, 120, 123, 123, 122, 120, 124, 130, 139,
+  146, 152, 158, 165, 172, 178, 190, 202, 206, 207, 204, 198, 190, 197, 191, 183,
+  169, 151, 135, 131, 134, 148, 170, 196, 235, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 149, 119, 112, 104, 100, 94, 86, 89, 89, 86, 86, 87, 91, 94, 96,
+  97, 108, 122, 135, 146, 147, 137, 123, 107, 106, 115, 138, 163, 180, 191, 197,
+  200, 202, 209, 217, 223, 223, 217, 211, 199, 191, 182, 179, 178, 178, 182, 190,
+  197, 199, 202, 206, 205, 197, 188, 180, 175, 167, 156, 149, 147, 142, 135, 128,
+  117, 117, 118, 120, 125, 128, 128, 127, 132, 141, 151, 159, 162, 167, 170, 174,
+  184, 194, 202, 204, 203, 201, 195, 189, 189, 182, 171, 156, 140, 129, 131, 138,
+  159, 188, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 118, 114, 109,
+  103, 95, 88, 89, 88, 85, 83, 86, 88, 92, 94, 93, 102, 114, 128, 139,
+  143, 136, 126, 108, 104, 110, 130, 153, 173, 188, 197, 198, 199, 203, 211, 216,
+  219, 216, 214, 201, 192, 184, 179, 176, 175, 181, 189, 196, 194, 194, 194, 198,
+  200, 202, 204, 201, 194, 185, 175, 170, 162, 152, 144, 137, 135, 134, 137, 142,
+  145, 147, 147, 152, 158, 165, 168, 169, 169, 172, 174, 189, 197, 202, 201, 198,
+  196, 192, 187, 183, 172, 158, 142, 130, 127, 138, 152, 179, 225, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 115, 115, 112, 108, 101, 94, 89, 88,
+  85, 83, 83, 86, 88, 91, 91, 100, 110, 119, 131, 139, 137, 131, 112, 106,
+  107, 124, 146, 166, 184, 196, 199, 200, 203, 207, 212, 215, 215, 214, 202, 191,
+  182, 176, 172, 170, 174, 181, 187, 186, 183, 183, 186, 192, 199, 205, 202, 198,
+  193, 190, 183, 177, 167, 160, 156, 156, 154, 155, 158, 162, 164, 164, 170, 171,
+  174, 173, 170, 170, 174, 178, 192, 198, 202, 199, 196, 194, 191, 187, 179, 166,
+  146, 129, 121, 126, 146, 165, 220, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 207, 114, 114, 112, 106, 99, 92, 89, 86, 83, 82, 84, 86,
+  88, 90, 97, 106, 114, 124, 134, 137, 134, 119, 110, 105, 118, 137, 159, 180,
+  193, 197, 199, 202, 206, 211, 213, 212, 212, 201, 192, 182, 174, 168, 163, 162,
+  167, 175, 177, 179, 179, 179, 180, 182, 184, 187, 186, 187, 189, 186, 180, 173,
+  166, 167, 164, 162, 163, 167, 169, 171, 171, 175, 174, 175, 173, 171, 173, 178,
+  184, 190, 196, 199, 196, 193, 192, 189, 185, 174, 158, 137, 121, 117, 132, 161,
+  187, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 113,
+  114, 114, 109, 103, 94, 93, 87, 83, 81, 82, 83, 86, 90, 95, 101, 108,
+  117, 130, 135, 135, 125, 112, 104, 111, 129, 152, 173, 188, 192, 197, 202, 208,
+  210, 213, 212, 212, 206, 196, 186, 177, 168, 160, 156, 158, 161, 165, 172, 174,
+  172, 169, 170, 170, 173, 174, 175, 178, 177, 174, 170, 166, 167, 165, 164, 166,
+  171, 173, 174, 173, 173, 175, 174, 173, 171, 174, 179, 185, 189, 195, 198, 195,
+  193, 192, 190, 186, 166, 150, 130, 118, 123, 149, 189, 232, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 114, 114, 109, 104, 96,
+  94, 88, 84, 82, 81, 82, 83, 89, 94, 99, 104, 115, 126, 133, 135, 127,
+  113, 103, 108, 125, 147, 170, 185, 189, 195, 203, 208, 211, 214, 213, 213, 210,
+  201, 191, 182, 171, 160, 155, 156, 152, 156, 162, 163, 163, 163, 166, 168, 164,
+  164, 164, 164, 164, 163, 162, 160, 166, 165, 166, 169, 174, 176, 176, 175, 173,
+  174, 176, 174, 172, 172, 177, 181, 186, 192, 196, 194, 192, 192, 190, 186, 157,
+  142, 126, 119, 132, 165, 228, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 208, 114, 109, 107, 104, 102, 94, 88, 83, 80,
+  81, 80, 91, 95, 98, 104, 111, 120, 132, 139, 133, 122, 110, 107, 117, 138,
+  158, 172, 185, 191, 197, 201, 204, 208, 210, 211, 201, 201, 198, 190, 177, 166,
+  158, 156, 153, 154, 156, 157, 158, 159, 159, 159, 158, 155, 154, 152, 151, 149,
+  149, 149, 146, 151, 155, 159, 159, 160, 163, 167, 163, 165, 164, 166, 169, 175,
+  178, 181, 191, 194, 196, 196, 196, 195, 186, 175, 154, 136, 125, 138, 174, 211,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 112, 109, 108, 106, 102, 95, 89, 84, 82, 82, 81, 91, 93, 97,
+  102, 110, 119, 131, 137, 135, 124, 111, 106, 114, 133, 155, 168, 180, 184, 191,
+  196, 200, 202, 206, 208, 201, 200, 195, 187, 177, 168, 161, 157, 155, 155, 155,
+  154, 154, 154, 154, 154, 153, 152, 151, 148, 147, 146, 146, 144, 141, 146, 150,
+  154, 155, 158, 160, 163, 160, 161, 161, 165, 168, 173, 177, 181, 191, 194, 196,
+  195, 196, 192, 181, 168, 131, 127, 137, 170, 211, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 108, 107,
+  107, 104, 97, 90, 87, 84, 83, 85, 91, 93, 97, 101, 108, 116, 126, 134,
+  137, 125, 112, 103, 108, 126, 147, 161, 171, 176, 183, 190, 194, 197, 203, 205,
+  201, 198, 192, 187, 179, 172, 165, 160, 159, 158, 155, 153, 151, 151, 151, 151,
+  150, 149, 148, 145, 143, 140, 140, 139, 140, 143, 146, 151, 152, 154, 157, 161,
+  156, 156, 159, 162, 165, 172, 177, 180, 193, 195, 198, 196, 194, 187, 174, 160,
+  137, 139, 154, 184, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 107, 108, 111, 106, 100, 94, 89,
+  87, 87, 86, 91, 92, 95, 99, 106, 113, 123, 129, 137, 127, 113, 102, 101,
+  117, 137, 153, 163, 168, 176, 183, 189, 194, 200, 205, 202, 198, 192, 187, 184,
+  180, 173, 166, 165, 163, 159, 156, 154, 154, 155, 156, 157, 155, 150, 147, 144,
+  142, 138, 138, 143, 145, 148, 151, 154, 156, 158, 160, 155, 156, 157, 161, 166,
+  172, 179, 182, 193, 198, 199, 196, 193, 183, 167, 152, 132, 152, 187, 236, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 205, 108, 112, 107, 102, 96, 91, 88, 88, 88, 91, 93,
+  94, 98, 102, 110, 118, 124, 135, 127, 114, 102, 99, 108, 127, 143, 155, 161,
+  169, 178, 185, 193, 201, 205, 204, 200, 195, 192, 191, 187, 181, 176, 172, 170,
+  167, 165, 164, 164, 165, 167, 169, 167, 163, 159, 154, 151, 148, 147, 153, 153,
+  154, 156, 157, 160, 161, 162, 157, 159, 160, 164, 169, 176, 181, 184, 194, 198,
+  200, 196, 190, 178, 159, 142, 164, 185, 219, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  206, 113, 108, 102, 96, 91, 89, 89, 90, 91, 92, 93, 95, 99, 107, 114,
+  120, 129, 125, 117, 104, 97, 103, 118, 132, 149, 154, 163, 172, 180, 191, 198,
+  204, 205, 205, 202, 202, 201, 197, 192, 189, 180, 179, 177, 176, 175, 176, 177,
+  177, 184, 182, 180, 176, 171, 170, 167, 167, 168, 166, 163, 163, 165, 167, 166,
+  165, 164, 164, 167, 169, 175, 180, 187, 190, 196, 200, 201, 196, 186, 169, 146,
+  128, 168, 193, 236, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 112, 108, 104, 96,
+  92, 89, 90, 90, 90, 92, 93, 94, 97, 103, 111, 116, 121, 123, 118, 107,
+  98, 98, 110, 122, 141, 145, 154, 163, 175, 185, 194, 202, 206, 207, 211, 212,
+  209, 204, 200, 198, 190, 190, 189, 188, 188, 187, 186, 186, 197, 195, 194, 193,
+  193, 191, 192, 192, 186, 182, 179, 177, 177, 177, 174, 172, 171, 171, 174, 176,
+  181, 187, 192, 195, 200, 202, 202, 193, 180, 159, 131, 110, 98, 173, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 114, 110, 104, 96, 92, 89, 90, 90, 90,
+  90, 92, 92, 96, 102, 110, 115, 117, 121, 119, 110, 98, 97, 107, 117, 133,
+  140, 148, 159, 170, 180, 191, 197, 206, 212, 218, 218, 214, 209, 206, 205, 202,
+  202, 201, 201, 199, 197, 195, 194, 204, 204, 202, 204, 205, 207, 207, 208, 201,
+  197, 192, 188, 188, 188, 184, 182, 176, 177, 177, 180, 184, 191, 195, 199, 202,
+  203, 202, 192, 174, 150, 120, 97, 87, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 206, 109, 106, 105, 100, 96, 91, 90, 91, 89, 89, 88, 91, 94,
+  99, 103, 110, 113, 117, 112, 103, 96, 96, 98, 115, 121, 129, 140, 152, 170,
+  188, 200, 205, 210, 217, 222, 224, 222, 221, 221, 213, 213, 211, 211, 209, 209,
+  207, 209, 208, 209, 211, 214, 218, 222, 225, 227, 218, 213, 208, 203, 197, 191,
+  186, 182, 181, 180, 180, 184, 192, 199, 203, 205, 202, 201, 196, 181, 160, 134,
+  103, 80, 125, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 106, 105,
+  104, 100, 95, 92, 90, 90, 89, 87, 85, 87, 92, 96, 98, 104, 109, 112,
+  109, 102, 96, 92, 93, 109, 115, 123, 134, 147, 164, 180, 192, 201, 206, 215,
+  222, 227, 230, 231, 234, 227, 226, 223, 222, 221, 223, 225, 227, 232, 232, 232,
+  232, 233, 234, 235, 236, 228, 224, 218, 213, 209, 204, 198, 195, 194, 193, 193,
+  196, 201, 207, 210, 211, 197, 197, 188, 168, 144, 117, 86, 128, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 103, 101, 99, 95, 92, 90,
+  88, 87, 84, 83, 84, 87, 92, 94, 99, 101, 104, 103, 100, 96, 91, 88,
+  101, 106, 116, 124, 137, 153, 170, 181, 193, 199, 208, 216, 222, 229, 234, 239,
+  237, 235, 232, 232, 232, 236, 240, 242, 250, 249, 248, 246, 245, 245, 245, 245,
+  242, 239, 235, 230, 226, 223, 218, 215, 211, 210, 208, 208, 212, 213, 214, 212,
+  199, 196, 183, 156, 126, 96, 70, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 203, 99, 97, 95, 92, 91, 88, 87, 84, 82, 81,
+  83, 86, 88, 95, 95, 96, 97, 98, 96, 88, 83, 94, 98, 106, 115, 127,
+  139, 156, 169, 186, 190, 198, 204, 211, 217, 224, 229, 236, 235, 234, 233, 236,
+  238, 241, 243, 247, 247, 247, 246, 247, 247, 248, 249, 252, 249, 245, 241, 240,
+  238, 234, 231, 224, 220, 218, 217, 217, 215, 212, 211, 199, 193, 173, 139, 104,
+  75, 55, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 202, 96, 95, 93, 91, 90, 88, 84, 81, 80, 82, 84, 86, 91, 90,
+  89, 93, 95, 93, 87, 82, 90, 94, 100, 107, 115, 129, 144, 153, 173, 176,
+  184, 191, 197, 204, 210, 215, 228, 230, 231, 233, 233, 235, 234, 235, 238, 237,
+  237, 238, 238, 240, 241, 242, 251, 248, 244, 244, 242, 242, 239, 236, 229, 227,
+  225, 222, 218, 213, 208, 204, 189, 178, 152, 116, 82, 58, 113, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 202, 95, 94,
+  93, 91, 90, 85, 81, 80, 80, 81, 82, 87, 86, 84, 87, 89, 88, 85,
+  81, 85, 89, 93, 99, 105, 116, 130, 140, 157, 162, 168, 177, 184, 192, 200,
+  205, 219, 221, 223, 226, 227, 227, 225, 226, 233, 233, 232, 231, 230, 230, 231,
+  231, 237, 235, 234, 234, 235, 235, 232, 231, 228, 226, 222, 219, 215, 208, 200,
+  193, 177, 161, 132, 93, 65, 48, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 95, 94, 93, 91, 90, 85, 80,
+  77, 77, 77, 79, 83, 82, 81, 82, 82, 81, 80, 79, 81, 84, 88, 92,
+  97, 107, 118, 128, 142, 148, 156, 166, 173, 181, 188, 192, 202, 203, 206, 209,
+  212, 213, 215, 215, 221, 220, 219, 218, 217, 216, 216, 217, 222, 219, 218, 219,
+  222, 222, 221, 220, 220, 218, 214, 211, 204, 197, 188, 181, 163, 144, 111, 75,
+  52, 44, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 202, 94, 93, 93, 89, 84, 79, 76, 75, 76, 76, 80,
+  80, 79, 78, 78, 76, 78, 77, 80, 82, 85, 87, 92, 100, 111, 120, 134,
+  139, 148, 156, 164, 170, 176, 179, 187, 189, 190, 193, 196, 201, 204, 206, 207,
+  207, 206, 206, 205, 206, 207, 207, 209, 208, 208, 209, 212, 213, 212, 211, 211,
+  208, 205, 202, 196, 188, 177, 171, 148, 127, 91, 58, 41, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  201, 94, 85, 85, 82, 80, 79, 78, 77, 77, 76, 76, 76, 76, 76, 76,
+  76, 76, 79, 80, 81, 83, 89, 96, 101, 104, 120, 125, 137, 146, 153, 156,
+  156, 156, 169, 171, 172, 176, 180, 184, 188, 189, 186, 186, 189, 190, 192, 194,
+  194, 194, 194, 193, 193, 193, 195, 194, 192, 190, 190, 188, 187, 186, 184, 175,
+  162, 154, 124, 99, 66, 47, 39, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 93, 83, 83, 83,
+  81, 80, 78, 78, 75, 76, 76, 76, 76, 76, 76, 76, 76, 77, 77, 80,
+  83, 88, 94, 98, 100, 112, 119, 128, 138, 147, 149, 149, 149, 157, 157, 160,
+  163, 168, 171, 176, 177, 175, 176, 178, 179, 180, 183, 183, 183, 185, 184, 183,
+  183, 185, 186, 185, 183, 181, 180, 179, 178, 175, 165, 153, 144, 110, 85, 57,
+  44, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 84, 84, 82, 81, 80, 79, 76, 76,
+  74, 74, 74, 74, 74, 74, 74, 74, 73, 75, 76, 81, 85, 89, 91, 92,
+  102, 108, 117, 127, 133, 135, 136, 136, 138, 140, 142, 145, 147, 152, 155, 158,
+  160, 160, 161, 162, 164, 165, 165, 165, 169, 167, 166, 166, 168, 170, 171, 171,
+  168, 167, 165, 163, 159, 150, 136, 126, 87, 67, 48, 111, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 83, 83, 81, 80, 77, 77, 75, 73, 73, 73, 73, 73,
+  73, 73, 73, 68, 72, 74, 77, 81, 83, 84, 85, 93, 98, 105, 114, 120,
+  122, 123, 121, 121, 121, 123, 125, 129, 132, 136, 137, 145, 145, 146, 146, 147,
+  147, 149, 149, 154, 151, 149, 149, 152, 156, 157, 158, 153, 151, 151, 148, 144,
+  133, 117, 107, 68, 54, 41, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  81, 80, 78, 76, 75, 75, 71, 71, 71, 71, 71, 71, 71, 71, 67, 68,
+  70, 72, 75, 76, 76, 78, 84, 89, 96, 102, 107, 109, 109, 107, 106, 107,
+  109, 111, 114, 116, 118, 121, 129, 131, 131, 133, 133, 134, 134, 137, 137, 135,
+  133, 133, 137, 140, 142, 143, 139, 138, 136, 134, 128, 114, 99, 86, 54, 46,
+  111, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 75, 75, 72,
+  72, 70, 70, 70, 70, 70, 70, 70, 70, 67, 68, 68, 69, 70, 71, 72,
+  72, 80, 83, 88, 93, 96, 97, 96, 95, 94, 96, 97, 99, 100, 102, 105,
+  107, 113, 114, 116, 117, 119, 121, 121, 122, 123, 121, 119, 120, 123, 126, 127,
+  127, 124, 122, 120, 117, 110, 95, 78, 66, 46, 113, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 195, 71, 71, 71, 68, 68, 68, 68,
+  68, 68, 68, 68, 68, 67, 66, 66, 65, 66, 68, 69, 76, 78, 82, 84,
+  87, 86, 86, 85, 85, 86, 86, 88, 90, 92, 94, 95, 97, 99, 100, 102,
+  104, 107, 109, 109, 109, 108, 108, 109, 112, 113, 113, 112, 109, 108, 104, 100,
+  92, 78, 60, 46, 112, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 70, 70, 68, 68, 68, 68, 68, 68, 68, 68, 69,
+  68, 64, 63, 64, 65, 67, 69, 73, 75, 79, 80, 81, 80, 79, 78, 79,
+  80, 80, 81, 83, 85, 88, 88, 86, 87, 89, 91, 95, 98, 99, 100, 100,
+  100, 100, 102, 104, 105, 104, 102, 99, 98, 94, 91, 82, 67, 116, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 195, 69, 69, 69, 69, 69, 69, 69, 69, 64, 64, 65, 65, 65, 64,
+  63, 63, 69, 69, 69, 69, 69, 69, 69, 69, 76, 75, 75, 75, 74, 73,
+  73, 73, 77, 77, 77, 77, 78, 79, 81, 82, 84, 85, 87, 89, 90, 91,
+  90, 89, 92, 87, 78, 68, 52, 39, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 214, 111,
+  69, 69, 69, 69, 69, 63, 64, 65, 65, 65, 64, 64, 63, 68, 68, 68,
+  68, 68, 68, 68, 68, 71, 71, 71, 70, 70, 70, 69, 69, 71, 70, 70,
+  70, 71, 72, 73, 74, 78, 80, 82, 83, 83, 84, 86, 88, 88, 78, 65,
+  55, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 69, 69, 69, 69,
+  63, 64, 65, 65, 65, 65, 64, 64, 68, 68, 68, 68, 68, 68, 68, 68,
+  67, 66, 66, 66, 66, 65, 65, 65, 66, 65, 65, 65, 65, 65, 66, 67,
+  71, 73, 75, 74, 74, 77, 83, 89, 87, 71, 53, 113, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 69, 65, 66, 67, 67, 68,
+  68, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67, 62, 62, 61, 61, 61,
+  61, 61, 61, 63, 63, 62, 62, 62, 62, 63, 64, 67, 68, 69, 68, 68,
+  73, 83, 92, 92, 132, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 68, 68, 68, 68, 68, 67, 67,
+  67, 67, 67, 67, 67, 67, 60, 60, 60, 60, 60, 61, 61, 61, 63, 62,
+  62, 62, 62, 63, 64, 64, 65, 65, 65, 64, 130, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 68, 68, 68, 68, 68,
+  68, 60, 60, 60, 60, 61, 61, 61, 61, 61, 61, 126, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 234, 182,
+  160, 162, 164, 167, 161, 161, 160, 161, 162, 164, 168, 169, 173, 172, 172, 170,
+  168, 164, 160, 189, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 223, 160, 158, 149, 144, 150, 150, 149, 147, 144, 144, 147, 150, 146,
+  144, 142, 143, 145, 150, 155, 159, 161, 156, 154, 158, 162, 156, 141, 127, 121,
+  114, 101, 86, 82, 93, 114, 172, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 217, 138, 139, 141, 136,
+  126, 117, 112, 112, 110, 103, 98, 95, 96, 99, 101, 99, 96, 96, 98, 104,
+  112, 116, 136, 128, 125, 134, 144, 137, 112, 88, 67, 70, 71, 63, 54, 52,
+  59, 67, 83, 86, 97, 114, 168, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 212, 108, 99, 106, 102, 97, 93, 89, 84, 80, 76, 65, 69, 74,
+  78, 83, 83, 73, 61, 61, 70, 75, 69, 62, 59, 56, 50, 70, 66, 63,
+  65, 70, 71, 64, 57, 50, 49, 54, 58, 63, 61, 52, 44, 45, 47, 50,
+  62, 86, 109, 110, 98, 134, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 133, 117, 99, 84, 75,
+  82, 80, 76, 74, 72, 69, 66, 63, 57, 60, 62, 63, 66, 68, 63, 55,
+  53, 58, 59, 57, 57, 57, 52, 44, 45, 41, 40, 43, 49, 49, 43, 37,
+  44, 45, 48, 56, 63, 63, 57, 52, 43, 45, 46, 50, 63, 78, 83, 81,
+  73, 74, 86, 108, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 217, 133, 121, 106, 93, 83, 76, 73, 71, 68, 65, 63, 61,
+  59, 55, 53, 56, 58, 57, 54, 54, 57, 57, 54, 51, 50, 50, 49, 51,
+  52, 47, 39, 34, 31, 30, 34, 39, 40, 34, 28, 35, 37, 42, 51, 61,
+  67, 65, 62, 51, 48, 47, 49, 50, 54, 65, 75, 75, 65, 62, 75, 98,
+  119, 134, 143, 176, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211, 124, 113, 108,
+  97, 88, 81, 81, 82, 85, 80, 77, 73, 68, 64, 61, 56, 52, 56, 59,
+  58, 53, 50, 52, 53, 52, 54, 52, 49, 47, 47, 46, 43, 39, 41, 39,
+  39, 42, 45, 44, 38, 33, 30, 31, 37, 46, 57, 65, 68, 70, 59, 52,
+  49, 52, 51, 48, 59, 73, 75, 63, 53, 58, 74, 95, 118, 133, 150, 136,
+  111, 87, 141, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 113, 113, 111, 103, 96, 88, 79, 76, 75, 77,
+  79, 86, 82, 76, 72, 67, 63, 57, 54, 54, 59, 60, 55, 52, 52, 51,
+  48, 51, 50, 49, 46, 42, 40, 42, 45, 46, 46, 46, 48, 49, 45, 39,
+  33, 31, 32, 35, 41, 51, 61, 68, 72, 61, 51, 47, 50, 49, 46, 49,
+  58, 65, 58, 52, 51, 54, 66, 87, 105, 135, 146, 142, 117, 90, 78, 73,
+  69, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  205, 105, 100, 97, 90, 86, 81, 73, 69, 67, 67, 68, 71, 69, 65, 61,
+  58, 56, 51, 48, 52, 57, 60, 59, 59, 59, 55, 49, 44, 43, 42, 41,
+  37, 34, 41, 49, 47, 48, 50, 50, 49, 45, 37, 31, 32, 32, 33, 37,
+  45, 55, 65, 71, 67, 57, 51, 49, 49, 46, 44, 45, 51, 50, 50, 46,
+  42, 42, 55, 71, 103, 109, 129, 145, 122, 79, 65, 80, 69, 133, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 98, 99, 96, 90, 84, 78,
+  75, 70, 65, 62, 61, 60, 62, 56, 54, 51, 48, 47, 45, 42, 39, 45,
+  49, 53, 56, 61, 64, 59, 51, 44, 37, 34, 34, 33, 32, 38, 45, 47,
+  49, 51, 52, 50, 45, 39, 34, 34, 32, 32, 33, 39, 50, 62, 69, 71,
+  68, 60, 51, 48, 51, 49, 47, 47, 46, 47, 45, 39, 34, 39, 48, 52,
+  82, 104, 104, 109, 113, 92, 58, 73, 55, 60, 154, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 98, 98, 98, 94, 86, 79, 77, 74, 67, 61, 57, 55,
+  54, 54, 51, 48, 45, 43, 42, 39, 37, 34, 35, 38, 41, 47, 55, 61,
+  57, 49, 51, 39, 29, 31, 33, 32, 35, 39, 43, 45, 49, 50, 49, 45,
+  39, 34, 34, 32, 31, 31, 38, 48, 60, 69, 69, 73, 66, 51, 46, 52,
+  55, 52, 51, 48, 47, 47, 43, 38, 38, 42, 47, 48, 65, 94, 109, 100,
+  86, 80, 66, 55, 48, 64, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 111, 110,
+  103, 91, 81, 73, 71, 65, 63, 59, 55, 53, 52, 52, 53, 48, 49, 49,
+  48, 46, 42, 38, 35, 36, 35, 35, 38, 43, 47, 48, 48, 43, 42, 42,
+  40, 38, 34, 31, 30, 49, 49, 47, 43, 40, 42, 47, 52, 38, 29, 26,
+  31, 33, 34, 46, 62, 72, 67, 58, 49, 44, 44, 46, 49, 59, 63, 60,
+  46, 35, 33, 35, 33, 45, 47, 50, 56, 74, 90, 93, 87, 65, 58, 52,
+  55, 68, 92, 168, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 206, 108, 105, 100, 90, 77, 67, 60, 56,
+  54, 54, 53, 52, 50, 48, 47, 46, 46, 46, 47, 47, 46, 46, 45, 44,
+  42, 40, 38, 39, 41, 43, 44, 43, 42, 42, 40, 38, 37, 35, 33, 32,
+  37, 43, 48, 50, 48, 44, 41, 39, 42, 34, 30, 32, 33, 30, 38, 52,
+  69, 69, 64, 55, 44, 40, 43, 51, 56, 61, 61, 49, 39, 35, 34, 31,
+  33, 38, 42, 44, 54, 68, 77, 77, 72, 65, 57, 54, 57, 71, 95, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 205, 101, 97, 90, 81, 70, 62, 54, 47, 44, 42, 44, 48, 49, 49,
+  46, 43, 42, 41, 40, 40, 40, 41, 44, 47, 49, 51, 48, 45, 43, 42,
+  42, 41, 40, 41, 41, 40, 39, 37, 36, 35, 35, 33, 39, 48, 52, 51,
+  45, 39, 35, 44, 37, 33, 35, 33, 29, 34, 44, 60, 68, 72, 62, 48,
+  39, 42, 49, 52, 57, 60, 53, 44, 38, 33, 28, 29, 38, 42, 41, 42,
+  51, 64, 72, 67, 62, 55, 51, 50, 58, 76, 94, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 97, 92, 80, 71,
+  60, 52, 49, 46, 44, 41, 40, 42, 45, 49, 50, 48, 45, 44, 39, 37,
+  35, 33, 35, 38, 42, 45, 52, 51, 51, 50, 49, 46, 41, 38, 39, 40,
+  41, 42, 42, 40, 38, 37, 41, 44, 47, 49, 50, 49, 48, 48, 43, 38,
+  38, 39, 37, 33, 36, 42, 50, 61, 69, 68, 56, 46, 43, 46, 48, 53,
+  59, 57, 50, 41, 33, 28, 32, 37, 41, 41, 40, 46, 56, 65, 61, 58,
+  54, 51, 49, 54, 70, 87, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 202, 87, 78, 73, 62, 54, 45, 39, 39, 40, 40,
+  38, 40, 41, 44, 45, 47, 47, 46, 46, 41, 39, 35, 31, 31, 32, 35,
+  38, 49, 51, 53, 57, 57, 53, 46, 40, 38, 40, 43, 45, 46, 45, 43,
+  41, 46, 46, 47, 49, 52, 54, 56, 56, 46, 44, 44, 44, 41, 37, 38,
+  42, 42, 50, 61, 67, 66, 58, 48, 42, 44, 49, 56, 59, 55, 45, 36,
+  30, 32, 32, 34, 37, 40, 42, 46, 49, 65, 63, 58, 52, 45, 46, 60,
+  76, 87, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199,
+  77, 68, 58, 53, 49, 45, 38, 34, 34, 33, 34, 33, 39, 38, 38, 39,
+  39, 40, 41, 42, 44, 41, 38, 35, 33, 33, 33, 34, 41, 44, 50, 56,
+  57, 54, 47, 42, 37, 40, 42, 44, 46, 46, 47, 47, 45, 47, 50, 54,
+  58, 58, 55, 52, 52, 53, 51, 48, 43, 39, 39, 39, 39, 43, 51, 62,
+  68, 65, 54, 44, 42, 44, 52, 59, 57, 48, 39, 35, 34, 30, 30, 36,
+  42, 43, 43, 44, 58, 56, 55, 51, 43, 42, 54, 69, 79, 89, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 82, 71, 61, 53, 47, 44, 42,
+  42, 41, 38, 34, 33, 34, 36, 36, 36, 35, 34, 34, 34, 35, 35, 37,
+  37, 37, 37, 36, 34, 33, 32, 35, 37, 42, 47, 50, 50, 46, 42, 40,
+  39, 37, 36, 39, 44, 50, 53, 50, 51, 53, 56, 58, 57, 52, 47, 53,
+  53, 52, 49, 43, 42, 41, 42, 41, 41, 44, 53, 62, 64, 57, 51, 41,
+  41, 49, 57, 59, 50, 43, 41, 38, 32, 30, 36, 42, 42, 44, 48, 43,
+  47, 50, 49, 43, 41, 51, 65, 67, 79, 145, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 197, 72, 62, 53, 47, 44, 43, 38, 41, 43, 42, 39, 39,
+  40, 44, 34, 34, 35, 34, 34, 32, 30, 30, 29, 31, 33, 35, 36, 34,
+  33, 31, 31, 32, 34, 38, 42, 45, 44, 42, 43, 38, 33, 29, 33, 41,
+  51, 57, 62, 58, 55, 55, 56, 56, 53, 50, 48, 50, 51, 47, 45, 45,
+  46, 45, 44, 42, 42, 48, 54, 60, 59, 57, 41, 39, 46, 56, 58, 50,
+  45, 45, 35, 30, 29, 33, 36, 36, 42, 51, 41, 47, 53, 54, 44, 37,
+  43, 54, 65, 77, 90, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 78, 62,
+  50, 47, 48, 50, 51, 45, 44, 43, 40, 37, 34, 32, 31, 33, 33, 33,
+  32, 32, 32, 31, 31, 27, 27, 27, 27, 27, 28, 28, 28, 31, 33, 34,
+  35, 36, 37, 38, 39, 36, 38, 39, 36, 33, 34, 40, 46, 64, 67, 68,
+  61, 52, 47, 50, 56, 50, 49, 47, 45, 44, 45, 46, 46, 45, 45, 46,
+  47, 49, 50, 49, 49, 47, 41, 39, 44, 53, 56, 50, 44, 36, 35, 32,
+  30, 30, 34, 37, 40, 42, 42, 45, 46, 43, 41, 46, 54, 60, 69, 78,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 201, 89, 77, 62, 50, 46, 48, 49, 50,
+  45, 44, 41, 39, 36, 34, 31, 30, 29, 29, 29, 28, 28, 27, 27, 26,
+  24, 25, 25, 25, 26, 26, 27, 27, 29, 29, 30, 33, 34, 36, 37, 37,
+  35, 38, 40, 38, 34, 35, 39, 44, 52, 60, 71, 73, 68, 57, 50, 46,
+  51, 49, 48, 45, 44, 45, 45, 45, 44, 48, 51, 51, 47, 44, 44, 46,
+  47, 42, 39, 41, 48, 53, 50, 47, 40, 37, 31, 26, 25, 27, 31, 34,
+  38, 40, 43, 46, 43, 41, 46, 54, 59, 68, 76, 138, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 89, 84, 73, 59, 49, 46, 47, 47, 48, 44, 43, 42, 39, 36,
+  33, 30, 29, 28, 28, 27, 26, 25, 24, 23, 23, 23, 24, 23, 24, 25,
+  26, 26, 27, 28, 28, 30, 31, 33, 35, 37, 38, 37, 40, 42, 40, 37,
+  36, 39, 42, 44, 55, 68, 77, 76, 66, 52, 42, 49, 48, 46, 43, 41,
+  41, 41, 41, 40, 47, 53, 52, 45, 39, 38, 40, 46, 42, 39, 39, 42,
+  46, 49, 49, 46, 41, 33, 26, 22, 23, 26, 29, 35, 36, 40, 44, 44,
+  42, 46, 53, 54, 64, 72, 75, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 88, 84, 74, 66,
+  53, 46, 43, 44, 44, 44, 46, 45, 43, 39, 36, 34, 32, 32, 28, 28,
+  27, 26, 25, 24, 23, 23, 23, 23, 24, 25, 25, 25, 26, 26, 26, 28,
+  29, 31, 33, 35, 36, 38, 38, 41, 43, 43, 41, 39, 39, 40, 48, 51,
+  58, 65, 68, 65, 56, 49, 48, 46, 43, 40, 38, 37, 37, 37, 36, 41,
+  47, 48, 44, 40, 37, 37, 39, 39, 38, 37, 37, 40, 43, 46, 47, 44,
+  37, 31, 26, 26, 26, 25, 31, 32, 36, 42, 43, 42, 46, 52, 54, 63,
+  70, 73, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 88, 80, 74, 63, 55, 46, 41, 41, 41, 42,
+  40, 46, 45, 44, 42, 39, 37, 35, 34, 34, 34, 33, 32, 31, 30, 30,
+  29, 27, 27, 27, 28, 28, 29, 28, 28, 25, 26, 28, 29, 31, 33, 34,
+  36, 39, 42, 44, 45, 43, 42, 41, 40, 48, 47, 48, 53, 57, 60, 56,
+  53, 48, 46, 44, 41, 38, 38, 38, 37, 34, 34, 36, 40, 44, 44, 40,
+  36, 32, 35, 36, 35, 35, 34, 38, 40, 41, 40, 39, 37, 32, 30, 27,
+  25, 31, 29, 32, 38, 41, 41, 45, 50, 56, 64, 70, 72, 134, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  86, 79, 68, 62, 52, 47, 39, 37, 39, 41, 41, 39, 44, 44, 43, 42,
+  41, 39, 39, 38, 40, 39, 39, 39, 39, 38, 38, 38, 35, 34, 33, 33,
+  33, 32, 32, 31, 24, 24, 25, 27, 28, 29, 30, 31, 39, 40, 41, 43,
+  43, 42, 42, 41, 41, 42, 44, 50, 54, 54, 52, 47, 50, 48, 46, 43,
+  42, 41, 41, 41, 38, 33, 30, 34, 41, 44, 40, 35, 30, 32, 33, 34,
+  32, 33, 34, 35, 34, 36, 38, 38, 36, 32, 28, 25, 31, 28, 30, 35,
+  39, 40, 45, 49, 58, 66, 71, 73, 74, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 85, 78, 68, 56, 49, 45,
+  41, 36, 36, 39, 42, 42, 40, 41, 41, 41, 40, 40, 39, 40, 39, 41,
+  41, 42, 42, 42, 42, 43, 43, 42, 41, 40, 39, 38, 37, 35, 34, 28,
+  28, 29, 29, 29, 31, 31, 31, 36, 36, 37, 38, 40, 41, 40, 39, 37,
+  40, 43, 46, 49, 50, 46, 44, 48, 47, 44, 42, 42, 41, 42, 42, 44,
+  39, 33, 32, 34, 36, 36, 35, 34, 32, 30, 29, 31, 32, 34, 36, 35,
+  37, 38, 40, 38, 36, 33, 30, 33, 28, 27, 31, 36, 38, 44, 49, 60,
+  66, 71, 71, 71, 134, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 201, 87, 81, 71, 60, 48, 40, 41, 37, 36, 36, 40, 44,
+  43, 42, 38, 38, 39, 39, 40, 40, 40, 40, 42, 42, 43, 43, 44, 45,
+  45, 46, 46, 46, 44, 43, 41, 38, 37, 36, 32, 33, 33, 33, 33, 33,
+  33, 34, 34, 33, 33, 34, 37, 39, 38, 38, 39, 41, 41, 42, 44, 45,
+  46, 46, 44, 43, 41, 39, 38, 39, 39, 40, 48, 44, 38, 31, 27, 27,
+  31, 33, 38, 34, 29, 28, 29, 34, 36, 38, 40, 41, 41, 41, 40, 39,
+  37, 36, 35, 29, 27, 30, 34, 38, 43, 50, 61, 67, 71, 70, 70, 72,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 94, 93, 85,
+  70, 62, 59, 54, 49, 45, 41, 37, 35, 37, 38, 40, 41, 38, 40, 40,
+  39, 40, 44, 48, 52, 47, 45, 42, 42, 44, 46, 45, 43, 42, 42, 41,
+  40, 40, 39, 38, 38, 30, 32, 35, 37, 39, 41, 40, 40, 38, 36, 34,
+  31, 29, 28, 28, 28, 29, 30, 32, 35, 37, 41, 42, 44, 40, 40, 41,
+  41, 41, 39, 37, 36, 39, 37, 35, 33, 31, 31, 32, 32, 35, 35, 33,
+  33, 33, 34, 34, 35, 39, 41, 43, 43, 40, 37, 34, 34, 34, 35, 35,
+  34, 35, 39, 46, 52, 65, 68, 72, 75, 74, 73, 132, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 205, 102, 96, 81, 65, 55, 53, 49, 42,
+  41, 38, 36, 35, 36, 39, 39, 39, 37, 38, 39, 38, 38, 41, 45, 47,
+  44, 42, 41, 42, 45, 45, 44, 42, 43, 43, 43, 42, 42, 41, 41, 39,
+  35, 36, 39, 40, 42, 42, 43, 42, 37, 36, 33, 30, 28, 27, 26, 26,
+  27, 28, 30, 32, 35, 37, 39, 41, 41, 42, 42, 42, 41, 39, 37, 35,
+  39, 38, 37, 35, 34, 34, 34, 34, 37, 36, 35, 35, 35, 36, 37, 37,
+  39, 42, 44, 45, 42, 40, 39, 39, 42, 39, 34, 34, 38, 43, 48, 51,
+  64, 66, 70, 72, 72, 72, 72, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 109, 105, 95, 84, 66, 49, 43, 41, 37, 30, 33, 31, 30, 32, 34,
+  35, 35, 34, 36, 36, 37, 37, 36, 37, 38, 41, 39, 39, 40, 42, 45,
+  45, 42, 39, 44, 44, 44, 43, 43, 43, 43, 43, 40, 41, 42, 43, 45,
+  44, 45, 44, 40, 39, 37, 33, 31, 30, 29, 28, 26, 27, 29, 31, 34,
+  37, 38, 39, 44, 44, 45, 43, 42, 40, 37, 35, 40, 40, 40, 39, 39,
+  38, 38, 38, 40, 40, 40, 40, 39, 41, 41, 42, 43, 45, 48, 49, 48,
+  46, 47, 48, 49, 42, 35, 34, 41, 49, 54, 56, 65, 66, 69, 69, 68,
+  70, 72, 134, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 107, 103, 98, 79, 67,
+  50, 40, 37, 36, 31, 26, 23, 23, 25, 27, 30, 31, 29, 27, 34, 34,
+  36, 35, 34, 33, 34, 35, 35, 36, 40, 43, 45, 44, 41, 39, 44, 44,
+  44, 44, 45, 45, 46, 46, 43, 44, 44, 44, 45, 46, 46, 46, 44, 43,
+  42, 40, 39, 37, 37, 36, 32, 33, 34, 36, 39, 42, 43, 44, 49, 49,
+  49, 48, 47, 44, 41, 39, 41, 42, 42, 42, 42, 42, 42, 42, 46, 46,
+  46, 46, 46, 47, 47, 48, 47, 50, 53, 54, 55, 54, 56, 57, 55, 48,
+  39, 35, 39, 47, 58, 64, 68, 68, 69, 67, 66, 68, 71, 74, 128, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 99, 98, 92, 85, 67, 56, 45, 41, 42, 39, 33,
+  28, 22, 22, 24, 28, 30, 31, 30, 28, 33, 33, 34, 33, 31, 31, 33,
+  36, 34, 38, 43, 46, 48, 47, 45, 43, 46, 46, 46, 48, 48, 49, 49,
+  50, 48, 48, 48, 48, 48, 48, 49, 49, 48, 48, 49, 49, 49, 48, 47,
+  47, 44, 45, 46, 48, 51, 53, 54, 55, 58, 58, 59, 57, 55, 52, 49,
+  47, 48, 48, 49, 49, 50, 51, 51, 52, 54, 54, 53, 52, 52, 52, 53,
+  53, 56, 59, 62, 63, 63, 64, 66, 68, 66, 62, 54, 44, 38, 42, 55,
+  65, 70, 70, 70, 68, 66, 66, 68, 70, 64, 130, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 202,
+  91, 88, 79, 70, 59, 51, 45, 45, 43, 37, 30, 26, 27, 28, 29, 31,
+  34, 36, 34, 32, 32, 33, 33, 32, 31, 32, 36, 39, 39, 44, 51, 54,
+  54, 54, 53, 53, 52, 54, 55, 56, 58, 59, 59, 60, 56, 56, 56, 56,
+  56, 59, 59, 60, 60, 59, 60, 61, 61, 61, 60, 59, 61, 62, 63, 65,
+  67, 69, 70, 71, 71, 71, 71, 71, 68, 67, 64, 62, 60, 59, 59, 59,
+  60, 63, 65, 67, 66, 65, 64, 62, 61, 61, 61, 61, 69, 71, 72, 74,
+  73, 75, 76, 78, 82, 82, 76, 62, 48, 43, 49, 59, 69, 70, 72, 71,
+  69, 67, 67, 67, 64, 68, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 97, 90, 84, 78, 67, 56, 55,
+  48, 44, 46, 43, 36, 32, 31, 33, 32, 32, 35, 37, 38, 38, 36, 33,
+  33, 32, 30, 31, 35, 41, 45, 48, 53, 59, 63, 63, 62, 63, 64, 62,
+  64, 65, 67, 69, 71, 72, 72, 70, 70, 69, 69, 70, 72, 75, 76, 78,
+  79, 79, 79, 79, 76, 74, 73, 75, 76, 77, 78, 80, 83, 84, 84, 84,
+  85, 85, 85, 84, 82, 80, 78, 76, 74, 73, 72, 74, 78, 82, 85, 84,
+  83, 81, 78, 76, 75, 75, 74, 82, 83, 84, 85, 84, 85, 87, 89, 94,
+  95, 92, 83, 68, 56, 52, 52, 64, 68, 73, 75, 74, 71, 69, 68, 65,
+  69, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 202, 94, 88, 80, 72, 60, 49, 57, 51, 49, 51, 49, 41,
+  40, 44, 35, 33, 33, 34, 37, 38, 37, 36, 33, 33, 31, 29, 30, 36,
+  44, 49, 55, 60, 66, 68, 68, 69, 70, 72, 71, 72, 74, 75, 78, 80,
+  81, 82, 80, 79, 80, 79, 81, 83, 86, 88, 95, 96, 95, 94, 92, 89,
+  86, 84, 85, 85, 86, 88, 89, 91, 92, 93, 93, 95, 94, 95, 94, 93,
+  90, 89, 87, 85, 82, 81, 84, 88, 94, 98, 99, 97, 95, 92, 90, 88,
+  87, 87, 91, 92, 92, 92, 91, 92, 94, 96, 97, 100, 100, 96, 85, 72,
+  59, 52, 59, 65, 73, 78, 78, 75, 71, 69, 66, 70, 130, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 100, 96,
+  86, 73, 65, 63, 63, 47, 49, 53, 54, 52, 46, 40, 35, 35, 36, 38,
+  38, 36, 35, 38, 39, 37, 40, 42, 41, 41, 45, 51, 56, 62, 65, 71,
+  76, 77, 80, 82, 84, 81, 82, 83, 85, 85, 84, 83, 82, 89, 90, 90,
+  93, 95, 98, 100, 102, 107, 107, 107, 106, 105, 105, 104, 103, 101, 101, 101,
+  101, 102, 102, 101, 101, 101, 104, 105, 108, 107, 107, 106, 103, 102, 101, 99,
+  99, 101, 105, 109, 112, 112, 111, 111, 110, 108, 107, 104, 102, 102, 101, 99,
+  96, 95, 97, 98, 99, 110, 106, 101, 102, 107, 103, 79, 51, 52, 59, 69,
+  77, 81, 81, 78, 75, 71, 69, 66, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 100, 98, 92, 84, 75, 66, 60, 59,
+  44, 46, 47, 47, 45, 42, 39, 36, 36, 37, 37, 35, 34, 36, 37, 40,
+  41, 45, 48, 49, 52, 55, 63, 68, 76, 80, 85, 88, 90, 91, 93, 95,
+  91, 91, 92, 93, 93, 93, 93, 92, 97, 96, 97, 99, 102, 103, 106, 107,
+  112, 111, 113, 114, 114, 113, 114, 112, 111, 111, 111, 112, 112, 112, 112, 112,
+  111, 113, 116, 117, 118, 116, 116, 115, 114, 113, 112, 112, 112, 116, 120, 122,
+  121, 120, 120, 120, 117, 115, 114, 113, 111, 110, 107, 104, 102, 102, 102, 103,
+  113, 109, 106, 106, 113, 113, 96, 76, 52, 52, 59, 72, 86, 88, 78, 66,
+  71, 67, 64, 126, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 207, 103, 96, 88, 80, 75, 67, 60, 54, 42, 42, 41, 39, 38,
+  38, 36, 35, 36, 36, 36, 34, 33, 35, 39, 43, 49, 53, 58, 61, 65,
+  70, 78, 85, 93, 96, 100, 102, 103, 104, 104, 105, 101, 101, 99, 100, 101,
+  101, 103, 103, 106, 106, 106, 108, 109, 112, 113, 115, 116, 116, 118, 120, 121,
+  122, 122, 121, 121, 121, 121, 121, 122, 122, 122, 122, 121, 122, 125, 126, 127,
+  126, 126, 125, 127, 125, 124, 124, 124, 126, 129, 131, 128, 128, 128, 127, 125,
+  123, 122, 121, 123, 121, 117, 114, 110, 109, 108, 108, 116, 114, 110, 111, 116,
+  118, 109, 99, 67, 55, 48, 60, 81, 91, 83, 71, 73, 68, 64, 62, 122,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 208, 113, 107, 95,
+  81, 73, 71, 67, 60, 53, 43, 42, 40, 39, 36, 35, 33, 32, 33, 33,
+  33, 32, 34, 38, 43, 48, 57, 61, 67, 71, 75, 81, 90, 96, 104, 107,
+  110, 111, 110, 109, 109, 110, 104, 102, 102, 102, 102, 104, 105, 108, 110, 110,
+  111, 112, 113, 115, 116, 118, 116, 117, 119, 121, 121, 123, 123, 122, 124, 125,
+  125, 125, 125, 126, 126, 126, 125, 126, 128, 129, 131, 131, 130, 129, 131, 131,
+  130, 129, 129, 130, 131, 133, 129, 129, 129, 128, 127, 125, 122, 122, 128, 125,
+  123, 119, 116, 114, 113, 112, 119, 117, 116, 114, 115, 115, 111, 106, 96, 72,
+  48, 45, 62, 83, 90, 89, 82, 73, 65, 61, 56, 210, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 111, 108, 109, 92, 73, 65, 65, 66, 60,
+  53, 46, 45, 44, 42, 39, 34, 30, 27, 29, 30, 31, 32, 35, 41, 48,
+  55, 62, 67, 72, 77, 80, 87, 93, 100, 109, 111, 113, 114, 111, 109, 109,
+  110, 105, 104, 102, 103, 104, 105, 108, 109, 110, 110, 111, 112, 113, 115, 117,
+  117, 119, 120, 121, 121, 122, 122, 121, 121, 124, 125, 125, 125, 126, 126, 127,
+  127, 128, 129, 129, 131, 131, 132, 132, 133, 133, 133, 131, 130, 129, 131, 131,
+  132, 129, 128, 128, 128, 127, 124, 123, 122, 126, 124, 122, 120, 118, 116, 116,
+  115, 116, 116, 117, 117, 116, 113, 110, 108, 114, 90, 61, 45, 49, 67, 86,
+  97, 92, 81, 69, 61, 55, 95, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 204, 104, 103, 103, 86, 66, 58, 58, 61, 56, 50, 48, 47, 46, 42,
+  38, 33, 28, 26, 27, 30, 32, 35, 38, 44, 52, 57, 61, 66, 73, 79,
+  81, 87, 94, 99, 111, 112, 115, 114, 111, 108, 107, 107, 106, 105, 105, 105,
+  106, 108, 110, 111, 107, 108, 108, 110, 111, 113, 116, 118, 122, 123, 124, 124,
+  124, 124, 123, 122, 127, 127, 127, 128, 128, 129, 129, 130, 130, 130, 132, 132,
+  133, 135, 135, 135, 134, 134, 132, 132, 131, 132, 132, 132, 130, 130, 130, 130,
+  128, 127, 124, 124, 122, 122, 120, 120, 118, 117, 116, 116, 114, 113, 114, 118,
+  119, 114, 112, 113, 114, 102, 82, 61, 49, 54, 72, 88, 94, 85, 74, 66,
+  57, 48, 117, 255, 255, 255, 255, 255, 255, 255, 255, 255, 97, 99, 99, 91,
+  77, 60, 54, 55, 55, 50, 44, 47, 45, 41, 36, 33, 30, 29, 28, 29,
+  32, 35, 38, 41, 46, 51, 55, 57, 63, 71, 76, 80, 86, 93, 99, 108,
+  110, 112, 111, 108, 106, 104, 103, 103, 104, 106, 107, 109, 109, 110, 110, 105,
+  106, 107, 110, 112, 115, 116, 119, 122, 123, 125, 126, 127, 127, 127, 126, 129,
+  129, 130, 131, 131, 131, 132, 132, 130, 131, 131, 132, 134, 135, 136, 136, 136,
+  135, 134, 134, 134, 133, 133, 133, 134, 134, 133, 132, 131, 130, 127, 127, 122,
+  121, 121, 120, 119, 117, 116, 114, 117, 112, 112, 116, 118, 115, 113, 116, 112,
+  112, 102, 81, 58, 51, 62, 77, 91, 86, 80, 73, 63, 52, 52, 255, 255,
+  255, 255, 255, 255, 255, 255, 219, 94, 97, 98, 80, 69, 57, 52, 54, 53,
+  45, 39, 46, 43, 36, 31, 28, 27, 29, 30, 31, 34, 38, 40, 43, 46,
+  50, 54, 53, 60, 68, 75, 80, 85, 93, 99, 105, 106, 108, 107, 104, 102,
+  100, 100, 101, 103, 105, 107, 108, 109, 109, 108, 105, 106, 107, 109, 112, 115,
+  119, 120, 120, 121, 123, 125, 126, 129, 129, 129, 130, 131, 130, 131, 131, 132,
+  133, 133, 129, 129, 130, 130, 131, 134, 135, 136, 134, 133, 133, 133, 132, 132,
+  132, 132, 134, 134, 134, 134, 131, 130, 128, 127, 124, 124, 123, 122, 120, 117,
+  116, 115, 120, 113, 108, 113, 114, 112, 111, 114, 115, 120, 115, 92, 65, 51,
+  61, 74, 85, 84, 84, 79, 68, 56, 53, 255, 255, 255, 255, 255, 255, 255,
+  255, 130, 104, 103, 97, 79, 72, 61, 55, 50, 47, 44, 41, 38, 37, 34,
+  31, 31, 30, 31, 33, 32, 35, 39, 42, 43, 46, 50, 53, 62, 67, 74,
+  78, 83, 90, 98, 105, 110, 110, 110, 107, 103, 102, 103, 104, 106, 105, 105,
+  106, 105, 106, 106, 107, 108, 111, 114, 116, 116, 116, 119, 120, 122, 122, 122,
+  123, 124, 127, 129, 130, 133, 135, 137, 139, 138, 138, 136, 134, 135, 135, 136,
+  135, 136, 137, 136, 137, 137, 137, 136, 134, 134, 134, 133, 133, 134, 135, 134,
+  133, 132, 130, 129, 129, 126, 125, 125, 123, 123, 121, 121, 120, 117, 116, 116,
+  114, 114, 114, 113, 113, 117, 108, 106, 106, 85, 55, 49, 63, 79, 79, 83,
+  85, 73, 54, 50, 124, 255, 255, 255, 255, 255, 255, 255, 105, 109, 101, 89,
+  74, 68, 58, 52, 48, 45, 43, 40, 38, 36, 34, 33, 31, 31, 33, 34,
+  35, 38, 41, 42, 45, 47, 52, 54, 65, 70, 76, 81, 84, 90, 97, 102,
+  105, 106, 107, 106, 104, 103, 104, 105, 109, 108, 108, 109, 108, 108, 108, 109,
+  108, 111, 114, 114, 114, 115, 116, 117, 120, 120, 121, 122, 125, 127, 130, 129,
+  132, 134, 137, 139, 139, 139, 137, 136, 135, 136, 136, 136, 137, 137, 137, 137,
+  137, 136, 135, 134, 134, 133, 133, 133, 134, 135, 134, 133, 132, 130, 129, 129,
+  128, 127, 126, 124, 122, 120, 119, 117, 118, 116, 115, 114, 113, 113, 113, 113,
+  113, 110, 110, 110, 93, 69, 57, 58, 74, 73, 77, 80, 75, 65, 58, 58,
+  255, 255, 255, 255, 255, 255, 206, 110, 108, 93, 75, 69, 64, 57, 52, 47,
+  45, 41, 39, 35, 35, 34, 33, 33, 34, 35, 37, 38, 40, 43, 44, 45,
+  49, 54, 58, 69, 74, 80, 84, 87, 89, 95, 99, 101, 103, 104, 105, 104,
+  104, 105, 107, 110, 109, 109, 109, 108, 109, 108, 109, 108, 111, 113, 114, 113,
+  113, 113, 115, 117, 118, 120, 123, 125, 128, 128, 130, 132, 134, 136, 138, 140,
+  140, 140, 139, 136, 136, 137, 137, 137, 138, 137, 138, 136, 136, 135, 134, 133,
+  133, 133, 134, 134, 135, 134, 133, 132, 130, 129, 129, 129, 128, 127, 124, 122,
+  119, 118, 116, 119, 117, 116, 114, 114, 113, 112, 113, 111, 112, 114, 112, 104,
+  88, 68, 53, 67, 71, 73, 74, 75, 73, 64, 54, 255, 255, 255, 255, 255,
+  255, 104, 104, 99, 82, 62, 67, 64, 58, 53, 48, 43, 41, 38, 32, 32,
+  31, 31, 32, 33, 35, 37, 37, 39, 41, 44, 47, 52, 58, 63, 73, 78,
+  83, 86, 86, 88, 91, 95, 100, 103, 105, 105, 105, 105, 105, 107, 108, 107,
+  107, 107, 106, 106, 105, 106, 109, 112, 114, 114, 113, 112, 113, 114, 113, 115,
+  119, 123, 126, 128, 129, 129, 130, 131, 135, 138, 139, 141, 141, 141, 137, 138,
+  137, 138, 138, 137, 138, 137, 135, 135, 134, 132, 132, 133, 133, 134, 134, 135,
+  134, 133, 132, 130, 129, 129, 127, 127, 125, 124, 122, 120, 118, 117, 118, 118,
+  117, 114, 113, 112, 112, 112, 109, 114, 114, 110, 109, 104, 80, 53, 62, 71,
+  74, 71, 71, 73, 66, 53, 255, 255, 255, 255, 255, 255, 93, 91, 88, 73,
+  56, 64, 62, 57, 51, 44, 38, 34, 32, 29, 28, 29, 30, 31, 33, 34,
+  35, 33, 36, 40, 45, 49, 55, 61, 66, 74, 79, 84, 84, 84, 85, 89,
+  93, 102, 105, 107, 108, 107, 106, 107, 107, 108, 107, 106, 106, 105, 105, 104,
+  105, 111, 113, 114, 114, 113, 112, 112, 113, 111, 114, 117, 121, 125, 126, 127,
+  127, 129, 130, 132, 135, 136, 139, 141, 141, 137, 137, 137, 137, 137, 137, 137,
+  137, 134, 134, 132, 132, 132, 133, 132, 133, 134, 135, 134, 133, 132, 130, 129,
+  129, 125, 125, 124, 122, 122, 121, 120, 119, 118, 117, 116, 113, 112, 111, 111,
+  110, 110, 115, 110, 103, 107, 111, 90, 61, 56, 68, 74, 71, 68, 71, 67,
+  58, 255, 255, 255, 255, 255, 255, 83, 82, 83, 71, 56, 56, 56, 52, 47,
+  38, 30, 26, 24, 27, 28, 29, 29, 31, 32, 33, 33, 31, 36, 42, 46,
+  52, 57, 63, 66, 74, 77, 81, 81, 81, 84, 88, 93, 101, 106, 108, 110,
+  108, 107, 108, 108, 109, 108, 107, 107, 106, 105, 104, 105, 109, 112, 114, 114,
+  113, 112, 112, 114, 113, 114, 116, 118, 121, 123, 125, 125, 128, 129, 131, 132,
+  135, 137, 139, 138, 137, 136, 137, 136, 136, 136, 135, 135, 133, 132, 132, 131,
+  132, 132, 132, 133, 134, 135, 134, 133, 132, 130, 129, 129, 123, 123, 124, 122,
+  122, 121, 121, 120, 118, 116, 115, 112, 111, 110, 109, 109, 111, 113, 108, 99,
+  103, 110, 98, 74, 53, 61, 69, 69, 68, 69, 68, 66, 126, 255, 255, 255,
+  255, 255, 78, 80, 82, 71, 54, 49, 50, 49, 44, 36, 28, 23, 22, 27,
+  28, 30, 31, 32, 32, 33, 33, 34, 39, 45, 51, 56, 59, 63, 65, 72,
+  75, 77, 77, 78, 80, 87, 94, 98, 102, 106, 108, 109, 109, 109, 110, 108,
+  107, 106, 105, 104, 104, 103, 103, 106, 109, 111, 111, 111, 111, 112, 113, 113,
+  114, 114, 116, 119, 120, 123, 124, 128, 128, 128, 130, 131, 134, 136, 136, 135,
+  135, 135, 135, 134, 134, 134, 133, 132, 131, 131, 131, 131, 131, 132, 133, 134,
+  135, 134, 133, 132, 130, 129, 129, 125, 124, 124, 123, 121, 120, 120, 119, 117,
+  115, 113, 111, 109, 108, 108, 107, 109, 112, 107, 99, 102, 108, 102, 86, 61,
+  58, 60, 67, 70, 68, 66, 66, 63, 255, 255, 255, 255, 77, 75, 80, 82,
+  69, 51, 47, 48, 49, 44, 36, 29, 24, 24, 29, 29, 30, 32, 33, 33,
+  33, 33, 38, 42, 49, 55, 59, 60, 62, 63, 70, 73, 74, 73, 75, 79,
+  88, 94, 94, 98, 103, 108, 108, 109, 109, 111, 105, 104, 103, 102, 101, 100,
+  99, 100, 104, 106, 109, 110, 109, 109, 110, 112, 115, 114, 114, 116, 117, 119,
+  122, 123, 126, 127, 128, 129, 129, 132, 133, 134, 135, 134, 134, 134, 133, 133,
+  133, 133, 131, 131, 131, 131, 130, 131, 133, 133, 134, 135, 134, 133, 132, 130,
+  129, 129, 127, 126, 125, 123, 121, 119, 118, 117, 115, 115, 113, 110, 109, 108,
+  106, 106, 109, 112, 109, 102, 103, 107, 103, 93, 71, 59, 56, 65, 71, 66,
+  61, 61, 62, 123, 255, 255, 255, 69, 73, 78, 73, 60, 49, 40, 42, 42,
+  39, 34, 29, 26, 25, 33, 34, 34, 33, 32, 31, 35, 36, 39, 48, 56,
+  61, 57, 54, 57, 62, 64, 66, 71, 73, 77, 82, 88, 92, 96, 100, 106,
+  110, 111, 110, 111, 111, 114, 111, 107, 103, 101, 100, 101, 102, 105, 108, 111,
+  111, 108, 106, 107, 109, 112, 113, 116, 117, 120, 121, 121, 121, 123, 125, 126,
+  127, 127, 128, 128, 129, 130, 132, 133, 134, 134, 133, 131, 130, 131, 130, 130,
+  129, 130, 130, 131, 130, 133, 131, 131, 131, 131, 132, 129, 128, 125, 124, 123,
+  121, 120, 119, 118, 118, 114, 113, 112, 111, 110, 110, 110, 110, 108, 108, 106,
+  104, 103, 101, 100, 99, 82, 68, 56, 59, 63, 63, 62, 63, 65, 56, 255,
+  255, 255, 68, 74, 77, 71, 58, 46, 41, 41, 40, 39, 34, 30, 28, 28,
+  34, 35, 34, 32, 30, 31, 33, 36, 46, 54, 61, 64, 59, 58, 60, 64,
+  63, 66, 70, 73, 76, 80, 86, 90, 94, 99, 104, 107, 109, 109, 110, 111,
+  111, 110, 108, 106, 103, 102, 102, 102, 103, 106, 108, 108, 106, 105, 105, 106,
+  108, 109, 112, 114, 117, 118, 119, 119, 122, 123, 124, 125, 126, 127, 126, 128,
+  130, 130, 131, 132, 131, 131, 131, 131, 131, 131, 131, 130, 130, 130, 131, 132,
+  132, 130, 129, 130, 130, 131, 128, 127, 123, 122, 121, 119, 118, 117, 116, 116,
+  112, 112, 111, 109, 109, 110, 111, 111, 108, 108, 105, 104, 103, 102, 100, 99,
+  85, 71, 58, 58, 61, 61, 60, 61, 62, 56, 255, 255, 255, 70, 76, 76,
+  69, 55, 43, 40, 40, 39, 37, 33, 31, 30, 32, 36, 35, 33, 30, 29,
+  31, 36, 39, 53, 58, 63, 63, 59, 57, 59, 63, 63, 66, 69, 73, 75,
+  79, 83, 86, 91, 95, 101, 105, 107, 109, 109, 111, 110, 110, 109, 108, 106,
+  105, 102, 101, 101, 103, 104, 105, 103, 102, 102, 103, 105, 107, 110, 113, 116,
+  118, 119, 119, 121, 122, 123, 125, 126, 126, 126, 126, 129, 129, 129, 129, 129,
+  130, 130, 130, 131, 131, 131, 130, 130, 130, 130, 131, 131, 129, 128, 127, 129,
+  128, 127, 126, 123, 122, 120, 118, 117, 116, 115, 115, 112, 111, 108, 107, 106,
+  108, 111, 113, 108, 107, 106, 103, 102, 100, 100, 100, 91, 76, 61, 57, 59,
+  59, 58, 57, 61, 57, 255, 255, 255, 72, 76, 77, 68, 52, 40, 39, 38,
+  37, 34, 31, 31, 32, 34, 34, 34, 32, 30, 29, 34, 40, 46, 55, 59,
+  61, 59, 54, 53, 55, 59, 62, 64, 68, 72, 74, 77, 80, 83, 89, 93,
+  98, 102, 104, 106, 108, 110, 110, 112, 112, 112, 109, 106, 102, 99, 99, 100,
+  101, 102, 100, 100, 100, 100, 106, 107, 110, 113, 116, 118, 121, 121, 120, 122,
+  123, 126, 126, 127, 127, 128, 131, 130, 129, 128, 128, 130, 132, 133, 130, 130,
+  129, 129, 129, 129, 129, 130, 131, 129, 126, 126, 127, 127, 125, 124, 123, 122,
+  120, 118, 117, 116, 114, 114, 111, 108, 105, 103, 104, 107, 111, 113, 108, 107,
+  105, 102, 101, 100, 101, 100, 94, 80, 65, 56, 56, 58, 55, 53, 59, 58,
+  255, 255, 255, 71, 76, 75, 65, 51, 40, 37, 37, 37, 34, 32, 31, 33,
+  36, 32, 32, 32, 32, 35, 41, 48, 53, 57, 57, 57, 55, 51, 50, 53,
+  56, 60, 64, 69, 72, 74, 76, 79, 81, 88, 90, 96, 100, 102, 104, 107,
+  109, 111, 113, 115, 114, 110, 107, 100, 98, 100, 99, 99, 100, 99, 100, 99,
+  99, 105, 107, 109, 112, 116, 118, 120, 121, 121, 123, 124, 126, 128, 129, 129,
+  130, 132, 132, 130, 130, 130, 132, 133, 135, 129, 129, 128, 127, 127, 127, 128,
+  128, 131, 129, 126, 125, 125, 125, 123, 123, 121, 120, 118, 116, 114, 113, 111,
+  111, 109, 107, 104, 103, 103, 106, 110, 113, 108, 107, 104, 102, 100, 100, 100,
+  100, 97, 85, 68, 58, 57, 57, 56, 51, 59, 59, 255, 255, 255, 70, 73,
+  72, 63, 49, 41, 37, 39, 39, 38, 35, 35, 35, 37, 33, 34, 35, 37,
+  40, 46, 53, 59, 58, 58, 55, 53, 50, 52, 55, 58, 59, 63, 68, 72,
+  75, 77, 79, 81, 88, 92, 95, 99, 100, 102, 105, 108, 112, 113, 115, 115,
+  112, 108, 104, 100, 103, 101, 99, 99, 100, 101, 101, 101, 103, 105, 108, 110,
+  114, 115, 117, 118, 122, 122, 125, 127, 129, 130, 130, 131, 132, 132, 131, 131,
+  132, 134, 135, 135, 130, 130, 129, 128, 128, 128, 127, 128, 132, 129, 126, 125,
+  124, 124, 124, 123, 118, 117, 115, 113, 111, 109, 108, 107, 108, 107, 105, 104,
+  103, 106, 109, 110, 108, 105, 104, 101, 99, 99, 100, 101, 97, 86, 71, 61,
+  58, 60, 57, 50, 55, 60, 255, 255, 255, 65, 68, 66, 58, 48, 40, 40,
+  42, 43, 42, 39, 38, 37, 39, 37, 39, 41, 43, 45, 50, 56, 60, 57,
+  56, 52, 50, 49, 52, 56, 61, 58, 62, 68, 73, 76, 77, 80, 83, 90,
+  92, 96, 99, 99, 101, 104, 107, 108, 110, 113, 114, 114, 112, 108, 107, 105,
+  102, 99, 99, 102, 104, 103, 102, 105, 106, 109, 111, 114, 115, 117, 117, 120,
+  121, 124, 125, 127, 129, 130, 130, 130, 130, 131, 132, 133, 133, 133, 133, 132,
+  132, 131, 130, 129, 129, 130, 130, 133, 129, 127, 125, 125, 125, 123, 123, 120,
+  118, 116, 114, 112, 110, 108, 108, 108, 107, 105, 104, 104, 106, 107, 108, 108,
+  106, 103, 100, 99, 98, 101, 101, 96, 88, 74, 63, 62, 64, 60, 50, 51,
+  58, 255, 255, 255, 62, 65, 62, 55, 45, 38, 43, 45, 47, 46, 43, 41,
+  41, 41, 41, 43, 45, 47, 48, 51, 56, 59, 55, 53, 49, 47, 47, 51,
+  56, 61, 56, 61, 68, 73, 77, 79, 81, 83, 91, 94, 96, 99, 99, 101,
+  104, 106, 105, 107, 110, 113, 114, 115, 113, 112, 108, 105, 101, 101, 103, 106,
+  105, 104, 109, 110, 113, 114, 116, 117, 118, 118, 118, 120, 121, 124, 126, 128,
+  128, 130, 127, 129, 131, 133, 133, 133, 132, 131, 134, 134, 133, 132, 131, 131,
+  131, 132, 134, 130, 126, 124, 124, 125, 124, 123, 124, 122, 120, 117, 115, 114,
+  112, 111, 108, 107, 107, 105, 106, 105, 106, 106, 108, 106, 102, 100, 98, 98,
+  100, 102, 95, 89, 75, 64, 64, 67, 62, 51, 47, 55, 255, 255, 255, 64,
+  72, 69, 57, 48, 47, 42, 45, 45, 44, 45, 47, 44, 38, 36, 44, 48,
+  47, 49, 55, 57, 54, 55, 51, 48, 45, 46, 48, 53, 55, 53, 58, 63,
+  69, 76, 82, 90, 94, 90, 92, 93, 96, 99, 102, 103, 105, 101, 104, 109,
+  112, 115, 115, 113, 112, 107, 105, 103, 102, 101, 102, 104, 105, 113, 113, 114,
+  114, 115, 115, 115, 116, 118, 119, 123, 126, 129, 131, 132, 133, 131, 131, 131,
+  133, 133, 135, 135, 135, 132, 131, 130, 129, 129, 130, 130, 131, 131, 131, 130,
+  129, 129, 128, 127, 127, 124, 123, 121, 118, 118, 116, 116, 115, 110, 109, 108,
+  107, 107, 108, 106, 105, 105, 105, 104, 103, 102, 100, 98, 96, 97, 90, 77,
+  66, 63, 65, 62, 56, 51, 54, 255, 255, 255, 69, 72, 66, 53, 46, 47,
+  45, 49, 49, 46, 44, 46, 45, 41, 44, 50, 52, 49, 49, 53, 53, 49,
+  53, 50, 47, 44, 44, 47, 50, 53, 55, 59, 64, 71, 76, 82, 88, 92,
+  91, 92, 94, 97, 99, 102, 104, 105, 102, 104, 107, 112, 114, 114, 113, 112,
+  108, 107, 104, 103, 102, 102, 104, 105, 111, 111, 111, 112, 113, 115, 115, 115,
+  117, 120, 122, 125, 128, 129, 130, 131, 131, 131, 131, 133, 133, 134, 135, 135,
+  131, 130, 130, 129, 129, 129, 129, 130, 131, 130, 129, 128, 128, 127, 126, 127,
+  124, 123, 121, 121, 118, 118, 115, 115, 112, 111, 108, 107, 107, 108, 106, 106,
+  106, 105, 104, 102, 101, 99, 98, 98, 98, 92, 80, 66, 59, 60, 58, 53,
+  51, 54, 255, 255, 255, 75, 71, 60, 49, 45, 49, 49, 54, 53, 48, 43,
+  44, 46, 45, 51, 53, 54, 51, 50, 52, 51, 47, 50, 47, 46, 44, 44,
+  45, 48, 49, 56, 59, 66, 71, 75, 80, 85, 89, 91, 92, 94, 97, 99,
+  101, 103, 105, 101, 103, 108, 111, 113, 114, 113, 112, 110, 109, 107, 105, 104,
+  104, 105, 106, 108, 108, 110, 111, 113, 115, 116, 117, 119, 119, 122, 124, 127,
+  128, 129, 130, 131, 131, 131, 131, 132, 133, 133, 134, 130, 130, 129, 128, 128,
+  129, 129, 129, 130, 129, 128, 128, 127, 126, 125, 126, 123, 123, 123, 121, 120,
+  118, 117, 115, 115, 113, 109, 107, 107, 108, 107, 107, 106, 105, 102, 100, 99,
+  98, 99, 99, 98, 95, 83, 67, 56, 54, 53, 52, 52, 53, 255, 255, 255,
+  78, 69, 55, 46, 46, 51, 51, 56, 56, 48, 41, 42, 46, 48, 52, 52,
+  52, 51, 52, 53, 52, 49, 46, 44, 43, 42, 42, 44, 45, 46, 52, 57,
+  64, 70, 75, 80, 83, 87, 90, 92, 94, 96, 99, 100, 103, 104, 101, 102,
+  105, 108, 111, 112, 112, 112, 111, 110, 108, 107, 106, 106, 106, 106, 105, 106,
+  108, 110, 113, 116, 117, 118, 121, 121, 123, 125, 126, 127, 129, 129, 130, 130,
+  131, 131, 132, 133, 133, 133, 129, 129, 128, 128, 127, 127, 128, 128, 129, 128,
+  128, 127, 126, 126, 125, 125, 124, 124, 123, 123, 121, 120, 117, 116, 118, 114,
+  110, 108, 108, 109, 109, 108, 107, 104, 102, 99, 98, 99, 99, 101, 98, 96,
+  86, 69, 54, 51, 53, 55, 53, 53, 255, 255, 255, 77, 66, 52, 47, 48,
+  53, 51, 56, 55, 48, 41, 43, 48, 50, 55, 52, 49, 50, 52, 51, 49,
+  48, 43, 42, 41, 41, 41, 44, 44, 46, 50, 55, 62, 69, 74, 79, 83,
+  85, 89, 89, 92, 95, 96, 99, 101, 101, 100, 101, 103, 105, 108, 109, 110,
+  112, 111, 110, 109, 108, 108, 108, 107, 107, 106, 106, 109, 111, 114, 118, 120,
+  121, 124, 124, 125, 126, 127, 128, 129, 130, 130, 130, 130, 131, 131, 131, 132,
+  132, 129, 129, 128, 127, 127, 127, 127, 128, 129, 128, 128, 127, 126, 126, 125,
+  125, 124, 125, 125, 124, 123, 121, 119, 118, 120, 116, 112, 110, 109, 109, 109,
+  108, 107, 104, 102, 100, 99, 99, 100, 102, 97, 97, 87, 69, 55, 53, 56,
+  58, 56, 54, 255, 255, 255, 74, 62, 51, 47, 49, 50, 50, 54, 53, 48,
+  44, 47, 51, 52, 58, 51, 47, 49, 50, 47, 44, 44, 42, 41, 40, 39,
+  40, 44, 46, 49, 51, 57, 65, 70, 75, 78, 82, 84, 86, 88, 90, 92,
+  94, 97, 98, 100, 98, 99, 100, 102, 104, 107, 108, 110, 110, 109, 109, 110,
+  109, 109, 110, 109, 107, 109, 111, 114, 117, 120, 122, 124, 126, 126, 126, 127,
+  128, 129, 129, 130, 129, 130, 130, 130, 130, 130, 130, 130, 129, 129, 128, 127,
+  126, 127, 128, 128, 130, 129, 128, 128, 127, 126, 125, 126, 125, 125, 125, 125,
+  124, 122, 119, 118, 120, 118, 114, 113, 112, 111, 109, 108, 105, 105, 102, 101,
+  100, 100, 102, 102, 98, 96, 86, 68, 55, 53, 57, 60, 59, 56, 255, 255,
+  255, 71, 59, 51, 49, 47, 43, 49, 52, 51, 49, 49, 54, 57, 55, 55,
+  47, 42, 46, 48, 46, 43, 44, 41, 40, 39, 38, 41, 45, 50, 54, 57,
+  63, 69, 74, 77, 79, 80, 81, 85, 86, 88, 90, 92, 95, 96, 97, 97,
+  96, 97, 98, 101, 103, 107, 109, 107, 108, 109, 110, 111, 111, 111, 111, 111,
+  112, 114, 118, 120, 123, 125, 126, 126, 127, 125, 126, 126, 127, 128, 128, 129,
+  129, 130, 130, 130, 130, 130, 130, 129, 128, 128, 128, 127, 127, 128, 128, 131,
+  130, 129, 128, 128, 127, 126, 127, 126, 125, 127, 126, 124, 123, 121, 119, 121,
+  119, 116, 115, 114, 112, 109, 107, 105, 104, 104, 104, 103, 103, 102, 102, 98,
+  95, 83, 66, 53, 53, 56, 58, 63, 57, 255, 255, 255, 69, 58, 51, 49,
+  44, 38, 49, 52, 51, 50, 53, 59, 60, 57, 49, 40, 37, 43, 48, 47,
+  46, 47, 42, 40, 38, 37, 40, 46, 52, 56, 64, 68, 74, 77, 79, 79,
+  79, 80, 84, 85, 86, 88, 91, 93, 95, 97, 96, 96, 96, 97, 99, 102,
+  105, 108, 106, 107, 108, 110, 111, 112, 112, 112, 114, 114, 117, 119, 122, 124,
+  126, 128, 126, 126, 125, 125, 124, 125, 126, 127, 130, 130, 129, 130, 130, 130,
+  130, 130, 130, 129, 128, 127, 127, 128, 128, 129, 131, 131, 130, 129, 129, 128,
+  127, 127, 126, 126, 127, 127, 125, 123, 121, 119, 119, 119, 117, 118, 116, 114,
+  109, 106, 104, 105, 105, 105, 104, 103, 102, 101, 100, 95, 81, 64, 52, 52,
+  54, 54, 65, 58, 255, 255, 255, 68, 61, 51, 46, 45, 47, 43, 49, 53,
+  53, 55, 56, 55, 49, 38, 40, 42, 44, 45, 43, 42, 39, 40, 38, 37,
+  37, 41, 46, 52, 56, 65, 68, 72, 76, 76, 76, 76, 76, 82, 84, 86,
+  89, 89, 89, 92, 94, 99, 91, 88, 94, 99, 99, 100, 104, 112, 109, 107,
+  109, 113, 116, 114, 112, 115, 116, 117, 121, 122, 122, 124, 124, 120, 121, 123,
+  124, 124, 124, 123, 123, 121, 122, 123, 124, 125, 126, 126, 126, 127, 128, 130,
+  128, 125, 124, 127, 129, 130, 129, 128, 129, 131, 130, 129, 127, 123, 123, 123,
+  123, 122, 120, 119, 117, 118, 120, 120, 120, 118, 113, 109, 106, 101, 102, 102,
+  103, 103, 102, 99, 100, 98, 87, 79, 65, 46, 44, 53, 55, 56, 120, 255,
+  255, 255, 69, 62, 51, 45, 44, 47, 45, 50, 53, 53, 54, 55, 53, 49,
+  40, 41, 42, 43, 44, 42, 40, 39, 39, 38, 38, 40, 43, 48, 55, 57,
+  64, 68, 72, 74, 75, 75, 74, 76, 80, 83, 86, 87, 88, 89, 91, 93,
+  91, 89, 90, 95, 98, 97, 101, 108, 109, 107, 104, 104, 104, 103, 101, 100,
+  103, 109, 118, 125, 128, 127, 123, 121, 124, 124, 125, 126, 126, 124, 121, 121,
+  118, 120, 121, 123, 124, 125, 126, 126, 125, 127, 128, 126, 122, 122, 124, 126,
+  127, 127, 126, 127, 128, 128, 127, 124, 122, 123, 121, 121, 120, 118, 116, 116,
+  118, 119, 120, 120, 119, 115, 111, 108, 106, 107, 107, 107, 106, 103, 102, 101,
+  100, 88, 80, 65, 46, 43, 53, 54, 56, 255, 255, 255, 255, 70, 62, 53,
+  46, 44, 43, 45, 50, 53, 51, 51, 52, 50, 45, 41, 41, 42, 41, 40,
+  39, 38, 38, 38, 38, 40, 43, 47, 53, 59, 62, 65, 68, 72, 73, 73,
+  72, 73, 74, 78, 81, 83, 85, 85, 87, 89, 91, 86, 89, 95, 99, 97,
+  96, 100, 106, 103, 102, 99, 95, 88, 85, 83, 84, 88, 95, 106, 115, 122,
+  125, 124, 123, 124, 125, 125, 125, 124, 121, 119, 117, 113, 115, 117, 119, 121,
+  122, 122, 122, 124, 123, 124, 123, 121, 119, 121, 122, 124, 124, 123, 124, 126,
+  125, 123, 120, 121, 120, 120, 119, 118, 116, 114, 114, 114, 115, 118, 118, 117,
+  116, 112, 110, 111, 111, 111, 110, 107, 104, 101, 100, 100, 90, 81, 66, 46,
+  42, 51, 52, 57, 255, 255, 255, 255, 71, 64, 52, 44, 41, 41, 46, 50,
+  52, 50, 50, 50, 47, 42, 43, 42, 41, 39, 38, 37, 37, 36, 38, 39,
+  42, 46, 53, 59, 63, 67, 66, 69, 71, 73, 72, 71, 72, 73, 76, 78,
+  82, 82, 84, 84, 89, 90, 90, 94, 98, 100, 99, 96, 95, 97, 95, 96,
+  93, 86, 77, 71, 72, 72, 76, 78, 82, 89, 100, 111, 121, 127, 118, 119,
+  120, 121, 119, 118, 115, 114, 110, 111, 112, 114, 115, 115, 116, 116, 120, 120,
+  121, 120, 119, 118, 117, 117, 121, 120, 121, 122, 123, 122, 120, 117, 117, 117,
+  117, 117, 115, 114, 112, 111, 109, 112, 113, 116, 116, 114, 111, 110, 113, 113,
+  112, 111, 108, 104, 101, 99, 102, 90, 83, 68, 46, 43, 51, 51, 56, 255,
+  255, 255, 255, 72, 64, 53, 44, 39, 38, 43, 48, 50, 49, 49, 48, 44,
+  39, 41, 40, 39, 37, 36, 36, 35, 36, 38, 40, 45, 50, 57, 64, 69,
+  71, 69, 71, 72, 73, 71, 71, 72, 73, 75, 77, 79, 80, 81, 84, 88,
+  91, 95, 96, 97, 98, 100, 99, 94, 88, 86, 86, 84, 77, 70, 66, 67,
+  68, 68, 67, 67, 70, 78, 91, 103, 112, 106, 108, 111, 114, 116, 115, 113,
+  113, 109, 110, 111, 112, 112, 111, 111, 110, 115, 115, 115, 116, 116, 115, 115,
+  113, 116, 116, 117, 119, 120, 119, 115, 113, 114, 114, 114, 113, 113, 112, 111,
+  109, 109, 111, 113, 115, 116, 115, 113, 111, 114, 114, 113, 112, 109, 106, 102,
+  100, 102, 92, 84, 69, 47, 43, 49, 49, 53, 255, 255, 255, 255, 70, 63,
+  53, 43, 37, 36, 42, 47, 48, 47, 46, 46, 43, 38, 41, 39, 36, 34,
+  33, 33, 35, 37, 39, 41, 47, 54, 61, 67, 72, 73, 72, 74, 75, 74,
+  72, 71, 72, 74, 76, 77, 78, 80, 81, 83, 89, 92, 93, 93, 93, 94,
+  98, 99, 93, 83, 77, 75, 72, 68, 65, 62, 64, 66, 63, 63, 62, 64,
+  68, 73, 79, 83, 90, 93, 98, 104, 107, 109, 109, 109, 106, 107, 108, 109,
+  108, 108, 108, 107, 108, 108, 108, 110, 112, 112, 111, 108, 110, 111, 112, 115,
+  116, 115, 110, 107, 108, 108, 109, 109, 109, 110, 109, 109, 109, 111, 114, 117,
+  117, 116, 113, 112, 114, 113, 113, 112, 110, 107, 104, 104, 101, 91, 84, 69,
+  47, 43, 50, 50, 118, 255, 255, 255, 255, 68, 62, 52, 43, 37, 34, 39,
+  44, 47, 45, 45, 46, 42, 37, 39, 37, 35, 32, 32, 33, 35, 38, 39,
+  43, 49, 57, 63, 70, 72, 74, 76, 77, 77, 76, 74, 73, 74, 75, 75,
+  77, 78, 79, 80, 84, 89, 93, 90, 94, 95, 91, 90, 90, 85, 79, 70,
+  66, 62, 60, 59, 61, 61, 61, 57, 57, 57, 56, 57, 59, 61, 62, 72,
+  76, 82, 88, 93, 96, 97, 97, 96, 97, 98, 101, 102, 102, 103, 103, 99,
+  99, 100, 103, 107, 108, 105, 103, 105, 105, 107, 109, 110, 109, 105, 101, 101,
+  102, 103, 104, 106, 105, 105, 105, 106, 109, 111, 114, 115, 114, 111, 110, 107,
+  108, 108, 108, 107, 104, 103, 101, 100, 90, 84, 71, 49, 44, 51, 50, 255,
+  255, 255, 255, 192, 67, 62, 51, 41, 35, 33, 38, 43, 46, 44, 45, 45,
+  43, 38, 38, 36, 33, 31, 31, 33, 37, 39, 40, 44, 51, 58, 65, 71,
+  73, 75, 78, 79, 79, 76, 74, 74, 75, 77, 76, 77, 78, 79, 80, 84,
+  89, 93, 90, 97, 99, 91, 83, 80, 77, 73, 65, 60, 55, 53, 55, 58,
+  58, 56, 54, 51, 48, 45, 46, 50, 55, 58, 58, 62, 69, 75, 81, 84,
+  84, 84, 84, 86, 88, 92, 94, 97, 97, 98, 93, 93, 95, 98, 104, 105,
+  103, 99, 100, 101, 103, 105, 107, 104, 100, 97, 95, 96, 98, 100, 101, 103,
+  103, 103, 102, 105, 107, 110, 110, 109, 106, 104, 99, 99, 100, 102, 101, 100,
+  98, 97, 99, 89, 83, 71, 49, 44, 51, 50, 255, 255, 255, 255, 66, 68,
+  62, 51, 39, 34, 33, 34, 38, 43, 48, 50, 49, 46, 44, 36, 36, 35,
+  35, 35, 36, 37, 37, 43, 47, 53, 60, 67, 71, 75, 77, 79, 77, 77,
+  74, 73, 72, 70, 69, 75, 77, 80, 82, 84, 87, 87, 88, 89, 89, 88,
+  85, 80, 75, 71, 70, 62, 58, 55, 52, 53, 56, 56, 56, 54, 52, 49,
+  46, 44, 44, 46, 47, 51, 53, 56, 60, 64, 69, 72, 73, 74, 78, 83,
+  86, 87, 88, 91, 92, 94, 94, 96, 97, 97, 98, 98, 97, 97, 97, 97,
+  98, 99, 99, 100, 99, 93, 92, 91, 93, 95, 99, 99, 99, 101, 103, 106,
+  107, 106, 104, 101, 97, 91, 90, 89, 92, 97, 99, 100, 99, 97, 90, 87,
+  73, 50, 44, 50, 50, 255, 255, 255, 255, 68, 69, 63, 51, 39, 30, 28,
+  32, 37, 45, 51, 53, 51, 48, 45, 37, 37, 36, 36, 36, 38, 39, 40,
+  42, 47, 53, 61, 67, 71, 74, 74, 75, 76, 77, 77, 77, 77, 76, 76,
+  80, 81, 83, 84, 85, 87, 89, 89, 85, 85, 84, 82, 77, 72, 69, 67,
+  63, 60, 57, 55, 54, 54, 51, 49, 52, 50, 48, 45, 43, 42, 41, 41,
+  44, 45, 47, 49, 52, 54, 57, 57, 60, 64, 69, 75, 78, 80, 84, 86,
+  88, 88, 90, 91, 92, 93, 94, 95, 93, 93, 93, 91, 92, 91, 91, 90,
+  85, 83, 81, 82, 84, 87, 86, 87, 84, 86, 88, 89, 90, 87, 84, 84,
+  82, 81, 80, 82, 85, 89, 88, 87, 89, 83, 82, 71, 49, 44, 51, 51,
+  255, 255, 255, 255, 69, 70, 65, 52, 39, 30, 26, 32, 37, 45, 52, 54,
+  51, 45, 41, 38, 37, 37, 37, 38, 40, 41, 43, 41, 46, 54, 62, 69,
+  73, 74, 74, 73, 73, 76, 78, 80, 81, 81, 81, 84, 84, 84, 83, 84,
+  85, 86, 87, 83, 82, 80, 77, 73, 68, 63, 62, 60, 59, 56, 55, 53,
+  49, 44, 40, 49, 49, 48, 46, 45, 44, 43, 43, 44, 44, 45, 45, 47,
+  47, 48, 47, 51, 55, 61, 67, 71, 76, 80, 84, 83, 83, 84, 85, 87,
+  88, 91, 92, 92, 91, 91, 89, 89, 86, 86, 86, 79, 77, 75, 75, 76,
+  78, 78, 77, 73, 73, 74, 75, 74, 74, 74, 73, 72, 71, 70, 72, 74,
+  76, 76, 76, 80, 77, 77, 69, 49, 45, 51, 119, 255, 255, 255, 192, 70,
+  71, 67, 57, 45, 35, 30, 35, 40, 47, 51, 51, 46, 40, 35, 37, 37,
+  35, 36, 38, 40, 42, 45, 44, 50, 58, 66, 73, 75, 75, 75, 75, 75,
+  75, 77, 79, 81, 84, 86, 85, 85, 83, 82, 81, 81, 82, 82, 81, 79,
+  77, 74, 72, 67, 62, 59, 57, 54, 51, 48, 47, 45, 41, 37, 42, 43,
+  43, 44, 44, 44, 42, 42, 46, 46, 46, 45, 44, 45, 45, 44, 46, 49,
+  55, 61, 65, 69, 75, 79, 82, 81, 81, 82, 82, 84, 87, 88, 88, 88,
+  87, 85, 84, 83, 82, 81, 75, 72, 69, 66, 67, 68, 68, 68, 64, 64,
+  64, 64, 64, 65, 66, 67, 66, 66, 65, 66, 69, 71, 74, 75, 78, 74,
+  76, 68, 49, 44, 51, 255, 255, 255, 255, 68, 69, 72, 70, 63, 54, 45,
+  40, 43, 46, 49, 51, 48, 43, 35, 30, 34, 33, 33, 33, 36, 39, 44,
+  45, 49, 53, 63, 71, 76, 79, 79, 79, 81, 78, 75, 73, 74, 78, 83,
+  87, 88, 87, 85, 83, 81, 80, 79, 79, 80, 77, 75, 73, 71, 66, 61,
+  56, 54, 51, 46, 45, 44, 44, 45, 44, 39, 40, 40, 40, 40, 38, 37,
+  36, 41, 41, 40, 41, 41, 41, 40, 41, 41, 43, 49, 52, 56, 61, 66,
+  70, 78, 78, 78, 78, 79, 78, 80, 80, 80, 80, 80, 78, 77, 75, 75,
+  74, 67, 63, 59, 56, 57, 57, 58, 57, 52, 52, 52, 52, 54, 55, 57,
+  58, 59, 60, 61, 63, 65, 70, 74, 77, 80, 76, 78, 69, 50, 43, 49,
+  255, 255, 255, 255, 68, 70, 72, 72, 68, 63, 56, 52, 54, 53, 52, 50,
+  45, 39, 34, 30, 31, 30, 30, 30, 34, 39, 43, 46, 54, 57, 65, 72,
+  78, 81, 82, 82, 85, 81, 77, 74, 74, 78, 82, 86, 89, 89, 88, 87,
+  84, 82, 79, 78, 78, 75, 71, 69, 68, 65, 59, 53, 53, 49, 45, 44,
+  45, 48, 50, 50, 49, 49, 46, 44, 42, 40, 39, 38, 37, 38, 39, 39,
+  40, 40, 41, 42, 42, 44, 48, 50, 53, 55, 60, 64, 70, 71, 73, 73,
+  75, 75, 74, 73, 80, 79, 77, 76, 72, 71, 70, 68, 63, 58, 53, 51,
+  51, 52, 53, 52, 48, 48, 48, 49, 51, 53, 54, 55, 55, 56, 58, 60,
+  63, 67, 74, 78, 85, 80, 79, 69, 48, 42, 48, 255, 255, 255, 255, 70,
+  70, 71, 71, 70, 68, 63, 60, 57, 54, 49, 44, 38, 34, 31, 30, 30,
+  29, 29, 29, 34, 39, 44, 48, 55, 59, 66, 72, 78, 81, 83, 84, 84,
+  82, 81, 80, 79, 81, 82, 84, 89, 89, 90, 89, 87, 83, 79, 76, 74,
+  70, 65, 64, 63, 60, 53, 47, 46, 45, 43, 44, 47, 48, 50, 49, 52,
+  51, 49, 47, 45, 44, 44, 45, 39, 39, 39, 40, 41, 41, 42, 42, 42,
+  43, 46, 48, 49, 53, 57, 61, 62, 65, 69, 73, 76, 75, 74, 73, 83,
+  81, 78, 74, 70, 66, 63, 62, 59, 54, 49, 46, 46, 47, 49, 48, 46,
+  47, 49, 51, 54, 55, 56, 57, 55, 57, 59, 60, 62, 65, 72, 78, 87,
+  81, 79, 68, 47, 42, 48, 255, 255, 255, 255, 71, 70, 70, 70, 70, 68,
+  65, 63, 54, 50, 43, 36, 31, 29, 29, 30, 29, 29, 28, 29, 33, 39,
+  46, 50, 56, 59, 64, 71, 76, 80, 83, 83, 83, 84, 84, 84, 85, 84,
+  84, 83, 85, 86, 88, 88, 86, 81, 75, 72, 70, 66, 60, 59, 59, 56,
+  49, 42, 40, 41, 41, 43, 45, 46, 45, 43, 43, 42, 41, 40, 41, 44,
+  47, 49, 37, 37, 37, 38, 38, 38, 38, 38, 35, 36, 39, 40, 42, 45,
+  51, 54, 59, 63, 69, 75, 79, 79, 77, 76, 80, 78, 74, 69, 64, 57,
+  53, 51, 51, 46, 41, 37, 37, 39, 40, 41, 43, 45, 47, 50, 51, 53,
+  53, 54, 58, 60, 62, 61, 61, 65, 72, 78, 87, 80, 78, 66, 45, 41,
+  48, 255, 255, 255, 255, 69, 69, 70, 70, 75, 75, 68, 57, 46, 39, 33,
+  33, 29, 26, 27, 32, 26, 27, 29, 31, 35, 41, 48, 54, 52, 58, 67,
+  74, 79, 83, 86, 88, 77, 82, 86, 86, 84, 83, 85, 89, 85, 86, 86,
+  88, 88, 83, 76, 70, 65, 63, 60, 57, 54, 49, 43, 39, 36, 37, 39,
+  39, 39, 37, 35, 33, 29, 35, 36, 31, 32, 36, 42, 43, 46, 47, 45,
+  42, 37, 37, 40, 44, 38, 36, 37, 41, 43, 43, 48, 55, 59, 67, 76,
+  79, 84, 85, 83, 79, 78, 75, 71, 67, 62, 59, 56, 56, 48, 46, 42,
+  40, 37, 35, 36, 36, 45, 42, 40, 44, 50, 56, 58, 57, 63, 64, 67,
+  68, 69, 70, 72, 74, 83, 83, 73, 58, 47, 45, 47, 255, 255, 255, 255,
+  68, 69, 67, 66, 69, 68, 59, 49, 41, 35, 31, 32, 29, 25, 26, 30,
+  27, 29, 31, 33, 37, 42, 49, 54, 56, 61, 69, 74, 78, 82, 86, 88,
+  87, 87, 86, 87, 88, 87, 85, 83, 89, 91, 90, 90, 86, 81, 76, 73,
+  63, 59, 55, 52, 50, 47, 43, 40, 39, 38, 36, 34, 31, 28, 27, 26,
+  23, 28, 33, 35, 38, 44, 45, 43, 43, 42, 43, 42, 41, 40, 41, 42,
+  40, 38, 40, 45, 48, 47, 54, 60, 63, 74, 85, 92, 96, 97, 92, 85,
+  80, 74, 67, 61, 56, 53, 51, 52, 45, 43, 39, 36, 35, 36, 38, 40,
+  40, 40, 41, 44, 47, 50, 50, 50, 52, 59, 65, 68, 67, 68, 71, 75,
+  81, 81, 73, 59, 48, 46, 255, 255, 255, 255, 192, 67, 67, 65, 62, 62,
+  60, 51, 40, 36, 33, 31, 32, 31, 27, 29, 31, 29, 30, 33, 35, 37,
+  43, 50, 55, 59, 63, 69, 74, 77, 82, 85, 87, 92, 89, 87, 89, 92,
+  93, 90, 85, 84, 88, 92, 92, 89, 84, 78, 75, 67, 63, 56, 52, 50,
+  51, 49, 48, 47, 44, 39, 33, 29, 25, 23, 22, 22, 27, 34, 43, 51,
+  57, 54, 47, 38, 39, 39, 40, 42, 43, 42, 40, 36, 36, 39, 44, 48,
+  50, 56, 63, 70, 82, 97, 106, 110, 111, 104, 95, 83, 75, 64, 53, 49,
+  46, 46, 45, 43, 41, 38, 37, 37, 40, 43, 46, 41, 43, 46, 47, 47,
+  46, 46, 47, 42, 50, 59, 64, 65, 67, 72, 76, 79, 79, 73, 60, 50,
+  47, 255, 255, 255, 255, 63, 65, 64, 60, 57, 57, 55, 46, 34, 33, 33,
+  33, 35, 35, 33, 33, 33, 29, 31, 33, 34, 37, 42, 48, 53, 58, 62,
+  67, 71, 75, 80, 85, 88, 89, 88, 89, 92, 95, 98, 95, 94, 80, 83,
+  88, 95, 98, 96, 89, 83, 77, 73, 65, 60, 59, 60, 60, 61, 58, 55,
+  51, 47, 41, 37, 33, 31, 34, 38, 44, 53, 64, 72, 66, 56, 43, 39,
+  36, 37, 40, 42, 40, 38, 36, 35, 38, 45, 49, 52, 58, 66, 75, 89,
+  102, 113, 119, 120, 114, 105, 89, 77, 61, 49, 42, 41, 40, 40, 42, 41,
+  38, 38, 39, 43, 49, 52, 49, 51, 54, 53, 49, 47, 49, 50, 44, 47,
+  52, 57, 62, 67, 72, 75, 75, 77, 73, 59, 50, 47, 255, 255, 255, 255,
+  59, 58, 56, 53, 50, 51, 50, 42, 32, 30, 31, 33, 33, 35, 36, 35,
+  34, 29, 30, 32, 35, 38, 40, 46, 49, 55, 59, 65, 69, 73, 79, 84,
+  87, 86, 89, 93, 95, 94, 94, 96, 99, 91, 85, 81, 86, 95, 100, 97,
+  92, 82, 77, 70, 65, 65, 67, 67, 67, 70, 70, 71, 69, 66, 61, 55,
+  53, 54, 54, 55, 60, 72, 79, 75, 66, 53, 47, 40, 38, 39, 41, 41,
+  40, 41, 40, 44, 50, 54, 55, 62, 69, 79, 90, 103, 111, 118, 121, 117,
+  111, 96, 81, 62, 47, 40, 39, 39, 39, 39, 38, 37, 35, 38, 41, 46,
+  49, 49, 51, 52, 51, 47, 45, 48, 51, 53, 48, 45, 49, 57, 67, 71,
+  73, 75, 76, 71, 59, 49, 47, 255, 255, 255, 255, 54, 51, 50, 46, 44,
+  45, 46, 39, 30, 26, 29, 32, 30, 32, 35, 35, 33, 29, 31, 33, 35,
+  37, 40, 44, 47, 55, 58, 65, 69, 72, 76, 80, 83, 86, 91, 95, 95,
+  91, 90, 92, 96, 100, 87, 71, 67, 74, 82, 87, 88, 77, 74, 69, 67,
+  68, 70, 71, 71, 79, 81, 86, 87, 87, 83, 79, 74, 74, 72, 69, 69,
+  76, 83, 80, 72, 66, 61, 53, 47, 46, 46, 49, 49, 47, 47, 48, 53,
+  55, 56, 61, 68, 79, 90, 101, 109, 116, 119, 117, 112, 101, 84, 63, 46,
+  39, 39, 38, 36, 35, 34, 32, 32, 32, 34, 37, 38, 40, 41, 43, 43,
+  43, 42, 43, 44, 56, 50, 44, 44, 53, 62, 68, 71, 76, 77, 72, 57,
+  47, 45, 255, 255, 255, 255, 51, 51, 50, 46, 44, 47, 47, 41, 31, 27,
+  31, 32, 29, 31, 35, 37, 34, 31, 33, 34, 36, 38, 40, 44, 46, 57,
+  62, 68, 71, 74, 75, 76, 78, 86, 87, 90, 92, 91, 91, 91, 92, 95,
+  88, 76, 69, 67, 70, 75, 78, 71, 71, 71, 73, 77, 80, 80, 80, 84,
+  86, 90, 93, 95, 94, 91, 90, 90, 87, 83, 79, 83, 88, 85, 79, 77,
+  74, 70, 64, 59, 58, 60, 63, 59, 57, 59, 62, 62, 62, 66, 73, 79,
+  89, 101, 108, 114, 118, 116, 110, 103, 86, 63, 46, 40, 39, 38, 35, 33,
+  31, 31, 30, 29, 29, 28, 29, 31, 33, 37, 43, 46, 46, 43, 40, 50,
+  48, 46, 46, 47, 55, 65, 73, 79, 78, 71, 56, 45, 43, 255, 255, 255,
+  255, 48, 55, 54, 51, 47, 49, 51, 45, 35, 29, 34, 33, 30, 32, 38,
+  40, 37, 31, 34, 37, 39, 40, 41, 45, 47, 61, 65, 71, 74, 75, 74,
+  74, 74, 84, 81, 82, 87, 92, 96, 94, 90, 89, 93, 93, 90, 81, 75,
+  74, 77, 70, 71, 75, 82, 87, 91, 91, 90, 85, 87, 89, 93, 94, 95,
+  96, 96, 98, 97, 93, 90, 90, 94, 92, 86, 82, 83, 82, 77, 70, 68,
+  70, 72, 76, 74, 75, 77, 77, 75, 78, 84, 78, 89, 102, 110, 116, 119,
+  114, 107, 104, 86, 63, 46, 40, 38, 37, 34, 34, 34, 33, 32, 30, 27,
+  25, 23, 28, 32, 39, 48, 54, 54, 46, 39, 40, 46, 51, 48, 45, 49,
+  62, 74, 80, 79, 70, 55, 44, 42, 255, 255, 255, 255, 51, 48, 56, 47,
+  50, 49, 45, 54, 43, 36, 39, 38, 32, 33, 37, 38, 33, 34, 35, 36,
+  35, 36, 39, 43, 47, 57, 63, 68, 73, 76, 76, 78, 79, 77, 78, 79,
+  80, 81, 83, 85, 85, 94, 96, 100, 100, 99, 95, 89, 86, 84, 85, 85,
+  87, 93, 99, 104, 108, 97, 94, 92, 91, 92, 94, 94, 95, 98, 98, 97,
+  95, 90, 89, 89, 91, 84, 85, 86, 85, 85, 83, 81, 79, 82, 82, 82,
+  82, 82, 83, 83, 84, 86, 94, 103, 109, 117, 120, 117, 110, 102, 85, 64,
+  52, 50, 50, 47, 42, 44, 44, 44, 45, 45, 43, 38, 34, 37, 34, 37,
+  51, 63, 66, 56, 44, 36, 41, 48, 53, 50, 49, 58, 69, 79, 79, 72,
+  58, 47, 45, 255, 255, 255, 255, 48, 43, 52, 44, 47, 48, 46, 54, 46,
+  36, 38, 37, 33, 34, 39, 40, 38, 39, 38, 36, 34, 34, 38, 44, 49,
+  56, 61, 67, 73, 76, 76, 78, 79, 77, 78, 79, 81, 84, 87, 89, 90,
+  91, 93, 98, 101, 104, 104, 102, 102, 99, 97, 95, 94, 95, 98, 102, 105,
+  103, 100, 97, 94, 92, 89, 86, 83, 84, 86, 89, 88, 88, 88, 90, 91,
+  90, 89, 89, 90, 91, 92, 93, 94, 93, 92, 92, 91, 90, 88, 86, 86,
+  87, 94, 101, 107, 114, 118, 115, 109, 104, 89, 71, 60, 59, 62, 62, 61,
+  65, 65, 68, 71, 71, 67, 62, 57, 55, 53, 55, 64, 74, 75, 66, 56,
+  52, 50, 51, 57, 59, 59, 64, 71, 80, 80, 72, 58, 47, 45, 255, 255,
+  255, 255, 46, 39, 49, 41, 46, 47, 45, 56, 48, 39, 40, 40, 36, 37,
+  42, 46, 44, 43, 41, 36, 33, 33, 36, 44, 49, 54, 60, 66, 70, 75,
+  75, 77, 78, 77, 78, 79, 81, 85, 89, 93, 96, 92, 96, 100, 106, 110,
+  113, 114, 114, 109, 104, 98, 92, 89, 88, 89, 90, 97, 95, 92, 90, 89,
+  87, 84, 81, 76, 79, 83, 86, 86, 88, 90, 92, 92, 91, 93, 94, 98,
+  102, 106, 108, 106, 105, 103, 99, 95, 91, 88, 87, 88, 94, 100, 104, 110,
+  115, 114, 108, 105, 95, 81, 72, 73, 77, 82, 84, 87, 89, 92, 96, 98,
+  94, 87, 82, 78, 75, 74, 79, 84, 86, 78, 70, 69, 62, 57, 62, 69,
+  73, 75, 79, 80, 80, 72, 58, 47, 45, 255, 255, 255, 255, 44, 40, 49,
+  41, 45, 46, 45, 56, 48, 48, 46, 43, 40, 40, 43, 46, 47, 42, 42,
+  40, 36, 35, 38, 43, 46, 53, 58, 65, 71, 73, 74, 76, 77, 79, 79,
+  81, 81, 86, 91, 94, 96, 97, 100, 106, 110, 114, 115, 113, 113, 111, 107,
+  99, 91, 86, 82, 81, 81, 77, 76, 73, 74, 77, 80, 81, 81, 75, 78,
+  82, 85, 87, 88, 89, 91, 89, 91, 95, 100, 105, 109, 112, 113, 113, 110,
+  107, 102, 96, 90, 84, 81, 88, 93, 97, 100, 106, 112, 113, 109, 105, 98,
+  90, 85, 86, 91, 95, 97, 97, 98, 100, 103, 103, 101, 97, 93, 91, 88,
+  85, 87, 91, 92, 88, 83, 83, 74, 70, 73, 76, 78, 81, 85, 81, 81,
+  73, 59, 47, 115, 255, 255, 255, 255, 44, 43, 52, 42, 45, 45, 44, 54,
+  46, 52, 47, 41, 38, 36, 36, 39, 42, 40, 42, 44, 44, 42, 41, 42,
+  43, 52, 58, 65, 70, 73, 74, 75, 76, 81, 81, 82, 83, 86, 89, 92,
+  94, 97, 102, 107, 112, 114, 112, 108, 105, 107, 105, 101, 97, 95, 94, 95,
+  95, 77, 72, 67, 65, 65, 69, 71, 73, 73, 75, 79, 81, 84, 85, 88,
+  91, 90, 95, 102, 108, 113, 114, 112, 112, 113, 110, 108, 102, 95, 89, 83,
+  79, 88, 92, 96, 99, 105, 112, 112, 108, 103, 99, 96, 94, 95, 98, 98,
+  98, 96, 95, 92, 92, 93, 94, 92, 91, 92, 91, 89, 90, 93, 95, 95,
+  94, 93, 90, 87, 85, 79, 75, 78, 85, 82, 82, 74, 59, 48, 255, 255,
+  255, 255, 255, 185, 46, 54, 42, 44, 44, 43, 52, 44, 51, 44, 36, 33,
+  29, 26, 28, 32, 40, 44, 49, 51, 50, 47, 45, 44, 55, 59, 66, 70,
+  72, 72, 73, 74, 80, 81, 83, 85, 89, 90, 93, 93, 95, 98, 104, 108,
+  109, 106, 102, 100, 96, 97, 99, 102, 106, 108, 111, 113, 107, 100, 91, 84,
+  79, 76, 75, 75, 73, 75, 78, 81, 84, 88, 92, 95, 100, 105, 111, 117,
+  119, 116, 112, 109, 106, 106, 104, 101, 96, 89, 84, 81, 85, 91, 95, 99,
+  106, 113, 114, 110, 105, 100, 96, 96, 98, 100, 98, 95, 94, 90, 84, 82,
+  83, 83, 83, 82, 86, 87, 87, 88, 90, 93, 96, 99, 99, 101, 101, 96,
+  82, 70, 71, 80, 83, 83, 75, 60, 48, 255, 255, 255, 255, 255, 255, 45,
+  52, 40, 42, 42, 40, 52, 44, 51, 41, 32, 28, 24, 20, 23, 29, 44,
+  49, 55, 59, 58, 54, 51, 50, 58, 62, 68, 71, 73, 72, 72, 74, 78,
+  80, 84, 89, 92, 95, 95, 96, 98, 99, 101, 101, 100, 98, 97, 95, 92,
+  95, 100, 106, 111, 115, 117, 118, 127, 122, 116, 109, 105, 100, 96, 93, 90,
+  91, 91, 92, 93, 97, 102, 107, 112, 115, 118, 120, 118, 114, 108, 103, 96,
+  97, 97, 96, 93, 89, 84, 81, 83, 90, 95, 100, 107, 115, 115, 111, 110,
+  102, 94, 93, 98, 102, 100, 96, 91, 86, 81, 78, 77, 76, 74, 72, 76,
+  78, 80, 82, 83, 87, 91, 96, 96, 100, 104, 101, 87, 75, 74, 80, 84,
+  84, 75, 60, 48, 255, 255, 255, 255, 255, 255, 42, 49, 38, 40, 40, 40,
+  50, 44, 52, 41, 32, 28, 24, 20, 24, 30, 49, 53, 59, 63, 62, 59,
+  56, 56, 59, 63, 69, 72, 73, 72, 72, 73, 76, 80, 86, 92, 96, 98,
+  99, 99, 105, 103, 99, 95, 92, 92, 92, 92, 98, 101, 106, 112, 116, 118,
+  118, 117, 121, 120, 119, 120, 120, 118, 115, 111, 112, 112, 109, 105, 105, 106,
+  111, 115, 120, 120, 120, 119, 115, 108, 103, 100, 88, 89, 91, 91, 89, 86,
+  82, 80, 82, 89, 95, 101, 109, 117, 116, 112, 114, 104, 92, 91, 97, 104,
+  102, 98, 87, 85, 81, 78, 75, 73, 69, 66, 68, 71, 73, 75, 77, 79,
+  86, 90, 89, 94, 100, 102, 94, 84, 81, 85, 84, 84, 75, 60, 48, 255,
+  255, 255, 255, 255, 255, 40, 47, 45, 37, 40, 49, 50, 42, 45, 38, 31,
+  26, 23, 22, 30, 38, 54, 68, 72, 61, 53, 59, 65, 65, 65, 67, 71,
+  72, 72, 71, 73, 73, 74, 80, 89, 95, 99, 99, 100, 99, 94, 95, 97,
+  101, 104, 106, 108, 108, 112, 111, 110, 110, 110, 111, 112, 113, 118, 119, 121,
+  121, 122, 123, 122, 122, 122, 123, 123, 122, 120, 117, 115, 113, 117, 119, 120,
+  120, 114, 106, 98, 92, 83, 84, 85, 87, 87, 87, 85, 85, 82, 87, 93,
+  103, 113, 119, 121, 120, 112, 103, 97, 96, 97, 97, 100, 105, 101, 92, 80,
+  70, 66, 65, 63, 61, 63, 65, 65, 64, 66, 69, 74, 78, 88, 91, 93,
+  95, 94, 91, 87, 85, 90, 84, 73, 58, 47, 255, 255, 255, 255, 255, 255,
+  42, 49, 47, 40, 42, 51, 52, 45, 44, 37, 30, 26, 22, 24, 34, 45,
+  64, 73, 75, 64, 58, 61, 64, 61, 67, 69, 71, 72, 71, 71, 73, 74,
+  77, 82, 90, 94, 96, 96, 96, 96, 94, 96, 99, 104, 108, 112, 114, 114,
+  116, 115, 113, 113, 113, 113, 115, 116, 119, 119, 120, 121, 123, 123, 123, 123,
+  123, 123, 122, 121, 119, 117, 116, 114, 117, 117, 116, 115, 110, 105, 99, 95,
+  86, 85, 86, 85, 84, 84, 83, 82, 82, 86, 93, 103, 113, 119, 122, 122,
+  112, 104, 96, 95, 95, 96, 100, 105, 109, 101, 91, 81, 73, 64, 57, 51,
+  53, 55, 56, 56, 56, 58, 61, 64, 78, 83, 90, 95, 96, 95, 90, 86,
+  91, 85, 72, 58, 47, 255, 255, 255, 255, 255, 255, 42, 48, 47, 40, 42,
+  49, 51, 47, 47, 39, 31, 26, 23, 25, 37, 50, 72, 77, 76, 67, 63,
+  67, 67, 63, 71, 71, 73, 72, 71, 71, 74, 76, 81, 85, 91, 95, 95,
+  93, 93, 94, 96, 100, 104, 110, 115, 118, 121, 122, 119, 118, 117, 116, 115,
+  116, 117, 117, 119, 119, 121, 122, 122, 123, 123, 123, 122, 122, 120, 119, 117,
+  117, 116, 116, 115, 115, 113, 111, 107, 104, 101, 98, 91, 90, 87, 84, 82,
+  80, 79, 78, 80, 85, 92, 102, 113, 120, 123, 123, 113, 104, 94, 93, 93,
+  95, 100, 107, 114, 110, 104, 95, 86, 74, 62, 54, 51, 52, 53, 52, 52,
+  52, 55, 57, 72, 78, 88, 97, 103, 103, 102, 100, 93, 86, 72, 56, 46,
+  255, 255, 255, 255, 255, 255, 40, 45, 44, 39, 39, 45, 49, 48, 51, 43,
+  35, 28, 23, 26, 40, 54, 74, 75, 72, 67, 67, 71, 72, 69, 74, 75,
+  74, 74, 72, 73, 76, 78, 84, 87, 92, 95, 95, 95, 96, 96, 102, 105,
+  110, 116, 120, 123, 125, 126, 123, 121, 119, 117, 117, 117, 119, 119, 118, 119,
+  121, 122, 123, 123, 123, 122, 120, 119, 118, 116, 116, 116, 117, 118, 115, 115,
+  115, 112, 110, 106, 103, 102, 97, 95, 90, 86, 81, 79, 78, 78, 80, 84,
+  91, 102, 112, 120, 124, 125, 115, 104, 94, 91, 92, 93, 100, 107, 111, 111,
+  110, 107, 101, 92, 83, 78, 68, 68, 66, 63, 62, 62, 67, 70, 72, 75,
+  83, 92, 99, 106, 110, 113, 97, 87, 72, 56, 46, 255, 255, 255, 255, 255,
+  255, 183, 44, 43, 40, 39, 44, 49, 50, 50, 44, 38, 30, 25, 29, 44,
+  61, 75, 74, 70, 67, 69, 72, 73, 70, 77, 77, 78, 76, 76, 76, 79,
+  81, 85, 88, 92, 95, 96, 98, 101, 102, 109, 110, 115, 119, 122, 124, 124,
+  124, 122, 121, 119, 118, 117, 117, 118, 118, 118, 119, 120, 121, 122, 123, 123,
+  122, 118, 117, 116, 116, 116, 118, 119, 120, 115, 116, 117, 116, 114, 109, 104,
+  101, 101, 98, 93, 88, 84, 80, 79, 79, 81, 83, 90, 101, 111, 119, 123,
+  124, 116, 104, 94, 90, 91, 93, 98, 106, 107, 108, 109, 109, 108, 105, 103,
+  101, 94, 92, 87, 82, 80, 81, 86, 91, 82, 81, 81, 83, 88, 96, 105,
+  110, 100, 88, 72, 55, 46, 255, 255, 255, 255, 255, 255, 255, 45, 45, 42,
+  41, 44, 50, 55, 49, 45, 39, 34, 29, 33, 49, 67, 79, 76, 71, 68,
+  68, 69, 70, 70, 78, 80, 81, 81, 79, 81, 82, 86, 86, 89, 93, 95,
+  98, 100, 104, 107, 111, 114, 118, 122, 123, 122, 120, 119, 119, 117, 116, 115,
+  114, 115, 116, 117, 118, 118, 120, 121, 122, 122, 122, 122, 116, 116, 116, 116,
+  118, 119, 121, 121, 117, 117, 118, 117, 113, 107, 101, 97, 100, 98, 94, 89,
+  86, 83, 81, 80, 80, 84, 89, 99, 109, 118, 122, 124, 118, 107, 96, 91,
+  91, 92, 98, 104, 105, 106, 108, 107, 108, 108, 110, 111, 110, 108, 103, 96,
+  94, 97, 102, 107, 101, 98, 93, 89, 90, 95, 101, 105, 103, 91, 72, 54,
+  45, 255, 255, 255, 255, 255, 255, 255, 45, 45, 43, 41, 43, 50, 57, 54,
+  51, 45, 37, 31, 32, 47, 65, 78, 75, 72, 69, 67, 68, 71, 74, 79,
+  80, 83, 85, 85, 85, 87, 88, 87, 89, 92, 94, 96, 99, 104, 107, 111,
+  114, 117, 121, 121, 120, 118, 116, 115, 114, 112, 111, 111, 112, 114, 115, 117,
+  117, 119, 120, 122, 122, 122, 122, 113, 115, 116, 118, 120, 121, 122, 122, 117,
+  117, 114, 111, 106, 100, 95, 93, 95, 95, 93, 90, 88, 85, 82, 81, 82,
+  83, 89, 98, 108, 116, 121, 122, 119, 108, 98, 94, 92, 91, 96, 101, 105,
+  107, 109, 109, 107, 108, 110, 114, 113, 112, 109, 106, 104, 104, 107, 109, 111,
+  109, 108, 106, 105, 105, 105, 105, 106, 92, 71, 54, 45, 255, 255, 255, 255,
+  255, 255, 255, 42, 42, 41, 39, 40, 48, 56, 63, 58, 50, 40, 31, 29,
+  42, 57, 73, 72, 70, 70, 68, 69, 75, 81, 78, 81, 85, 88, 89, 89,
+  89, 90, 88, 89, 92, 92, 95, 97, 102, 105, 111, 113, 116, 120, 121, 119,
+  116, 114, 112, 111, 110, 110, 110, 111, 112, 113, 117, 118, 120, 120, 121, 122,
+  121, 121, 112, 114, 116, 119, 121, 122, 122, 121, 119, 116, 110, 104, 99, 94,
+  91, 89, 91, 92, 92, 91, 88, 86, 82, 80, 82, 84, 88, 97, 106, 115,
+  119, 121, 120, 109, 99, 95, 93, 92, 95, 99, 107, 109, 112, 110, 110, 110,
+  112, 115, 111, 111, 112, 111, 108, 107, 106, 108, 104, 107, 113, 115, 115, 113,
+  108, 104, 107, 92, 71, 53, 45, 255, 255, 255, 255, 255, 255, 255, 255, 37,
+  38, 39, 42, 52, 65, 67, 63, 56, 46, 37, 35, 38, 43, 59, 71, 74,
+  65, 61, 69, 74, 74, 74, 76, 80, 84, 87, 88, 89, 89, 84, 87, 90,
+  94, 97, 99, 101, 101, 110, 113, 116, 118, 118, 114, 110, 107, 109, 106, 102,
+  100, 100, 102, 104, 107, 111, 112, 113, 114, 114, 114, 114, 113, 110, 111, 113,
+  117, 120, 120, 116, 112, 103, 102, 99, 95, 91, 87, 85, 83, 90, 89, 89,
+  88, 86, 85, 83, 82, 80, 85, 92, 100, 104, 110, 119, 125, 115, 111, 105,
+  97, 92, 92, 94, 97, 103, 108, 114, 116, 113, 110, 108, 108, 111, 113, 114,
+  113, 110, 107, 105, 104, 112, 113, 114, 115, 115, 115, 114, 114, 101, 94, 78,
+  56, 41, 255, 255, 255, 255, 255, 255, 255, 255, 39, 42, 41, 45, 54, 65,
+  76, 74, 69, 63, 54, 47, 42, 39, 52, 66, 71, 66, 64, 71, 75, 73,
+  73, 77, 81, 86, 88, 89, 89, 88, 85, 85, 88, 92, 95, 97, 100, 101,
+  111, 113, 116, 118, 118, 115, 110, 108, 105, 102, 99, 96, 96, 97, 101, 102,
+  109, 109, 110, 112, 113, 114, 114, 115, 116, 115, 115, 115, 115, 111, 104, 99,
+  92, 92, 90, 87, 86, 83, 82, 81, 85, 86, 87, 88, 86, 85, 83, 82,
+  80, 85, 93, 101, 109, 114, 120, 123, 116, 112, 105, 98, 94, 92, 92, 92,
+  98, 102, 109, 112, 112, 111, 111, 111, 111, 113, 115, 114, 112, 111, 110, 110,
+  115, 116, 116, 117, 117, 117, 117, 116, 103, 97, 79, 57, 43, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 41, 43, 45, 54, 64, 78, 81, 82, 83, 77,
+  66, 53, 45, 46, 57, 65, 64, 66, 73, 75, 72, 73, 77, 82, 88, 90,
+  90, 88, 87, 86, 85, 86, 88, 90, 95, 98, 101, 108, 111, 113, 114, 113,
+  110, 107, 104, 101, 98, 94, 92, 91, 92, 94, 96, 104, 104, 105, 107, 109,
+  111, 113, 115, 122, 121, 118, 116, 111, 103, 95, 89, 82, 81, 81, 81, 81,
+  81, 83, 84, 83, 84, 86, 86, 86, 85, 84, 82, 84, 86, 93, 102, 111,
+  118, 121, 123, 119, 112, 105, 99, 96, 93, 89, 84, 90, 94, 100, 105, 108,
+  109, 110, 112, 110, 111, 113, 113, 112, 111, 112, 115, 116, 116, 117, 118, 117,
+  117, 117, 115, 107, 99, 81, 59, 44, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 41, 41, 43, 51, 62, 77, 81, 87, 94, 95, 85, 71, 59, 47, 54,
+  59, 59, 63, 70, 74, 72, 74, 79, 85, 90, 92, 91, 88, 85, 86, 85,
+  83, 83, 87, 92, 97, 101, 105, 105, 106, 106, 106, 103, 101, 99, 97, 95,
+  92, 90, 89, 90, 92, 94, 98, 98, 99, 101, 104, 108, 111, 112, 118, 116,
+  113, 108, 101, 93, 86, 81, 75, 76, 76, 79, 81, 85, 88, 89, 87, 87,
+  86, 85, 83, 83, 84, 84, 88, 88, 92, 100, 113, 121, 124, 126, 120, 113,
+  105, 100, 99, 94, 87, 81, 82, 85, 88, 92, 97, 101, 106, 108, 106, 108,
+  109, 109, 108, 108, 110, 113, 114, 115, 115, 116, 116, 115, 114, 114, 109, 101,
+  81, 59, 46, 255, 255, 255, 255, 255, 255, 255, 255, 255, 183, 41, 43, 52,
+  62, 82, 86, 90, 96, 99, 95, 84, 75, 57, 58, 56, 56, 62, 71, 77,
+  77, 77, 80, 86, 91, 93, 91, 87, 85, 85, 83, 80, 80, 82, 88, 95,
+  100, 101, 101, 102, 100, 99, 97, 95, 94, 95, 93, 91, 89, 88, 89, 91,
+  92, 95, 95, 97, 99, 102, 105, 108, 109, 108, 106, 102, 94, 86, 77, 72,
+  70, 74, 75, 75, 78, 81, 87, 91, 93, 96, 92, 87, 83, 82, 83, 84,
+  87, 92, 91, 92, 99, 111, 121, 127, 129, 123, 114, 104, 99, 98, 95, 89,
+  82, 73, 72, 73, 77, 84, 93, 101, 105, 104, 106, 107, 107, 107, 106, 107,
+  108, 111, 112, 113, 115, 115, 114, 114, 114, 110, 101, 80, 58, 46, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 42, 45, 56, 66, 94, 94, 95, 95,
+  93, 89, 84, 80, 66, 61, 55, 55, 62, 71, 80, 82, 79, 83, 87, 91,
+  93, 91, 88, 87, 83, 80, 78, 77, 80, 86, 92, 97, 98, 97, 95, 94,
+  92, 91, 90, 90, 89, 88, 87, 87, 86, 88, 89, 90, 92, 94, 96, 99,
+  101, 102, 103, 103, 101, 98, 92, 83, 74, 67, 66, 66, 72, 71, 72, 74,
+  78, 82, 88, 90, 98, 94, 88, 83, 81, 82, 83, 86, 92, 91, 94, 100,
+  109, 120, 126, 131, 123, 116, 106, 99, 96, 94, 91, 90, 70, 66, 62, 63,
+  71, 82, 93, 98, 102, 104, 108, 109, 107, 107, 107, 108, 109, 110, 112, 115,
+  116, 117, 116, 116, 109, 98, 78, 57, 45, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 44, 55, 67, 100, 98, 93, 86, 79, 75, 73, 74, 66,
+  57, 49, 51, 60, 70, 78, 80, 82, 84, 88, 92, 92, 91, 89, 88, 81,
+  79, 76, 77, 79, 84, 89, 94, 92, 90, 88, 85, 83, 82, 82, 82, 81,
+  81, 81, 82, 83, 84, 85, 87, 86, 88, 91, 94, 95, 94, 93, 91, 87,
+  84, 78, 69, 62, 59, 61, 65, 72, 71, 70, 71, 74, 78, 82, 84, 93,
+  91, 88, 85, 84, 83, 83, 84, 87, 90, 98, 104, 111, 118, 125, 127, 123,
+  117, 107, 98, 93, 94, 96, 99, 81, 72, 60, 55, 58, 68, 78, 84, 94,
+  98, 104, 107, 107, 107, 106, 106, 106, 107, 109, 112, 114, 115, 116, 117, 106,
+  96, 75, 54, 45, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 41,
+  54, 67, 98, 96, 89, 77, 67, 61, 63, 66, 59, 50, 42, 46, 57, 67,
+  74, 77, 84, 85, 88, 91, 91, 91, 90, 89, 80, 78, 76, 76, 78, 83,
+  89, 93, 84, 83, 80, 77, 75, 75, 74, 74, 76, 76, 77, 77, 79, 80,
+  82, 84, 78, 80, 84, 87, 87, 85, 82, 80, 67, 64, 58, 53, 48, 49,
+  56, 62, 74, 73, 71, 71, 72, 76, 80, 82, 86, 87, 88, 87, 87, 84,
+  82, 81, 81, 90, 101, 109, 114, 117, 121, 124, 123, 118, 107, 97, 91, 93,
+  99, 106, 95, 82, 65, 52, 50, 57, 65, 70, 86, 92, 99, 104, 105, 105,
+  104, 104, 101, 103, 105, 108, 111, 113, 114, 114, 105, 93, 73, 53, 44, 114,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 97, 59, 89, 86, 81,
+  72, 64, 59, 58, 59, 50, 45, 41, 47, 60, 72, 78, 78, 83, 84, 86,
+  87, 88, 89, 89, 89, 84, 81, 79, 79, 82, 84, 86, 86, 83, 79, 74,
+  70, 70, 70, 70, 71, 75, 73, 73, 72, 73, 74, 76, 76, 77, 82, 84,
+  83, 84, 84, 77, 65, 63, 58, 50, 44, 45, 52, 62, 68, 70, 71, 71,
+  70, 69, 72, 78, 83, 85, 86, 87, 86, 86, 85, 82, 81, 87, 91, 97,
+  105, 113, 118, 120, 120, 115, 112, 106, 100, 95, 93, 94, 94, 92, 89, 81,
+  66, 51, 46, 50, 56, 72, 85, 94, 98, 98, 100, 98, 93, 96, 99, 103,
+  105, 107, 108, 111, 112, 109, 92, 71, 54, 47, 45, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 209, 54, 78, 78, 77, 73, 67, 61, 58, 57,
+  51, 49, 46, 50, 60, 70, 76, 79, 81, 82, 83, 85, 86, 87, 87, 87,
+  83, 81, 79, 79, 81, 83, 82, 82, 75, 71, 66, 63, 63, 64, 63, 64,
+  67, 67, 67, 66, 68, 70, 72, 72, 73, 77, 78, 75, 75, 74, 67, 57,
+  54, 50, 45, 42, 44, 52, 60, 66, 68, 64, 61, 59, 63, 67, 71, 73,
+  77, 79, 81, 82, 84, 84, 84, 83, 87, 89, 96, 102, 108, 114, 117, 118,
+  112, 109, 104, 99, 95, 93, 92, 92, 90, 88, 82, 71, 57, 49, 46, 48,
+  58, 71, 84, 90, 94, 100, 99, 96, 94, 96, 99, 101, 102, 104, 107, 109,
+  109, 94, 72, 55, 47, 45, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 47, 63, 65, 69, 71, 67, 64, 60, 58, 56, 54, 52, 54, 59,
+  67, 75, 79, 81, 81, 82, 83, 85, 84, 85, 85, 82, 81, 80, 80, 81,
+  80, 79, 78, 68, 64, 58, 55, 55, 56, 57, 58, 61, 60, 61, 62, 65,
+  67, 69, 70, 68, 71, 70, 67, 65, 62, 56, 49, 42, 42, 41, 42, 45,
+  52, 59, 62, 67, 59, 51, 48, 53, 60, 64, 64, 67, 69, 72, 76, 79,
+  81, 83, 83, 84, 86, 90, 95, 100, 105, 109, 110, 106, 104, 100, 97, 94,
+  92, 91, 92, 88, 86, 82, 75, 64, 52, 43, 37, 43, 55, 69, 79, 87,
+  94, 97, 96, 93, 94, 94, 95, 95, 97, 101, 104, 108, 93, 73, 57, 49,
+  46, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 184, 53, 57,
+  63, 66, 66, 64, 63, 62, 60, 60, 60, 58, 59, 65, 75, 81, 80, 80,
+  81, 83, 83, 84, 83, 83, 81, 80, 80, 81, 80, 78, 74, 72, 65, 60,
+  54, 50, 51, 53, 55, 55, 58, 59, 60, 62, 65, 67, 69, 70, 66, 66,
+  65, 63, 58, 54, 49, 44, 37, 37, 39, 43, 48, 54, 58, 60, 67, 61,
+  52, 46, 47, 52, 57, 60, 60, 62, 64, 68, 72, 75, 78, 79, 79, 81,
+  83, 88, 90, 93, 99, 101, 99, 98, 97, 95, 93, 92, 90, 89, 86, 83,
+  79, 73, 64, 53, 39, 30, 36, 45, 57, 68, 78, 86, 91, 91, 92, 92,
+  92, 91, 91, 92, 97, 100, 104, 92, 74, 58, 49, 46, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 52, 56, 59, 60, 62, 64,
+  65, 64, 64, 64, 62, 60, 66, 75, 83, 79, 80, 80, 81, 82, 82, 82,
+  81, 80, 79, 79, 79, 78, 76, 71, 66, 61, 57, 50, 47, 48, 51, 53,
+  55, 56, 57, 59, 61, 64, 65, 66, 68, 63, 61, 59, 56, 51, 45, 42,
+  42, 38, 40, 44, 50, 54, 58, 61, 61, 68, 65, 60, 49, 41, 41, 49,
+  57, 55, 56, 58, 60, 63, 66, 68, 68, 73, 76, 80, 82, 83, 86, 90,
+  94, 92, 92, 93, 93, 92, 90, 88, 86, 84, 79, 73, 68, 62, 52, 39,
+  29, 33, 37, 46, 59, 71, 80, 86, 89, 92, 92, 91, 88, 88, 89, 93,
+  95, 98, 89, 73, 58, 49, 46, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 49, 52, 53, 55, 57, 60, 64, 63, 63, 62, 60,
+  60, 66, 75, 83, 77, 78, 78, 80, 80, 80, 79, 79, 79, 78, 77, 76,
+  76, 73, 69, 64, 58, 52, 47, 43, 44, 47, 51, 53, 54, 55, 56, 58,
+  59, 59, 60, 59, 55, 52, 51, 49, 44, 38, 38, 40, 44, 47, 53, 60,
+  64, 66, 68, 68, 69, 69, 65, 53, 40, 34, 40, 47, 50, 50, 49, 50,
+  52, 53, 55, 56, 67, 71, 76, 77, 77, 78, 82, 86, 82, 85, 87, 88,
+  88, 86, 83, 81, 79, 75, 70, 64, 59, 51, 41, 33, 32, 31, 37, 51,
+  64, 74, 84, 90, 88, 89, 88, 87, 84, 83, 86, 88, 92, 83, 70, 57,
+  49, 46, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  186, 49, 49, 50, 51, 54, 57, 60, 59, 57, 56, 59, 65, 74, 79, 75,
+  75, 76, 76, 76, 75, 75, 75, 78, 76, 75, 75, 75, 72, 68, 64, 57,
+  52, 44, 41, 43, 47, 51, 54, 54, 55, 56, 57, 57, 56, 55, 54, 49,
+  46, 45, 44, 40, 34, 36, 43, 50, 54, 61, 68, 75, 78, 79, 78, 75,
+  74, 69, 58, 45, 35, 34, 36, 41, 41, 40, 40, 42, 43, 44, 45, 54,
+  61, 67, 69, 69, 68, 71, 75, 73, 75, 80, 82, 82, 80, 77, 74, 74,
+  72, 69, 64, 59, 52, 45, 39, 37, 32, 34, 45, 57, 67, 76, 85, 82,
+  82, 83, 81, 78, 78, 77, 79, 85, 78, 68, 57, 48, 45, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 48, 47, 47,
+  49, 49, 58, 55, 53, 53, 58, 65, 72, 77, 71, 72, 73, 73, 72, 72,
+  72, 71, 78, 76, 75, 74, 72, 70, 67, 64, 58, 52, 46, 42, 44, 49,
+  53, 56, 57, 58, 58, 58, 57, 56, 54, 51, 48, 43, 42, 44, 40, 34,
+  38, 46, 53, 58, 65, 74, 81, 85, 88, 88, 82, 79, 72, 62, 51, 41,
+  33, 30, 35, 35, 33, 34, 35, 36, 37, 39, 44, 52, 59, 61, 60, 59,
+  62, 66, 67, 70, 74, 77, 78, 76, 72, 69, 70, 71, 69, 67, 61, 54,
+  48, 44, 45, 37, 33, 42, 52, 59, 68, 77, 76, 78, 78, 78, 74, 72,
+  71, 71, 80, 76, 66, 55, 47, 45, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 49, 47, 44, 46, 49, 50,
+  49, 53, 62, 69, 72, 76, 74, 71, 69, 69, 69, 71, 72, 73, 74, 75,
+  74, 72, 70, 70, 71, 59, 59, 53, 45, 44, 49, 53, 53, 57, 58, 59,
+  56, 51, 48, 49, 51, 46, 42, 38, 39, 37, 38, 44, 53, 59, 64, 73,
+  80, 84, 87, 90, 92, 91, 88, 79, 67, 57, 50, 39, 30, 30, 32, 34,
+  33, 33, 32, 33, 33, 37, 41, 46, 51, 53, 53, 52, 51, 56, 62, 69,
+  72, 70, 67, 64, 64, 66, 69, 69, 64, 61, 59, 57, 51, 34, 30, 32,
+  38, 44, 50, 60, 68, 72, 73, 73, 72, 69, 68, 69, 71, 74, 74, 69,
+  60, 51, 48, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 186, 47, 44, 39, 41, 42, 43, 51, 63, 71, 73,
+  74, 72, 69, 67, 66, 66, 68, 69, 71, 73, 74, 73, 72, 70, 71, 72,
+  66, 65, 57, 49, 46, 50, 53, 52, 56, 58, 56, 54, 51, 48, 47, 46,
+  43, 39, 37, 37, 38, 41, 48, 58, 61, 66, 72, 78, 83, 84, 88, 90,
+  96, 94, 86, 74, 65, 56, 45, 35, 31, 31, 31, 31, 29, 29, 29, 29,
+  32, 35, 40, 44, 47, 46, 45, 44, 46, 52, 58, 62, 60, 58, 58, 59,
+  67, 71, 71, 68, 65, 64, 61, 54, 41, 35, 32, 37, 43, 48, 56, 63,
+  67, 68, 69, 68, 64, 64, 65, 68, 71, 72, 67, 59, 51, 48, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 185, 38, 38, 37, 38, 49, 63, 71, 72, 72, 70, 66, 64, 62,
+  62, 64, 64, 68, 70, 72, 72, 71, 71, 72, 73, 73, 70, 63, 53, 49,
+  52, 53, 52, 56, 55, 53, 52, 51, 48, 43, 40, 38, 34, 33, 37, 40,
+  44, 54, 64, 68, 71, 75, 78, 81, 84, 88, 91, 100, 99, 93, 83, 73,
+  64, 53, 42, 36, 34, 32, 30, 28, 27, 27, 26, 29, 32, 35, 39, 40,
+  41, 40, 39, 38, 43, 48, 50, 50, 50, 54, 58, 69, 74, 77, 74, 73,
+  70, 65, 58, 51, 41, 34, 35, 40, 45, 51, 58, 61, 64, 65, 63, 59,
+  58, 60, 64, 68, 68, 65, 59, 51, 48, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 208,
+  87, 40, 50, 64, 70, 69, 70, 68, 65, 62, 61, 61, 62, 62, 65, 67,
+  68, 69, 70, 71, 73, 75, 76, 74, 66, 56, 51, 53, 56, 54, 57, 54,
+  51, 50, 50, 47, 40, 35, 34, 32, 34, 39, 44, 50, 61, 72, 75, 78,
+  80, 81, 83, 85, 90, 93, 100, 101, 97, 89, 80, 71, 59, 48, 42, 40,
+  35, 33, 32, 30, 30, 29, 31, 32, 34, 37, 37, 38, 38, 39, 36, 40,
+  43, 45, 46, 49, 56, 62, 72, 78, 82, 80, 77, 74, 66, 59, 57, 46,
+  35, 34, 38, 43, 48, 54, 56, 60, 61, 60, 56, 54, 57, 62, 66, 67,
+  65, 60, 53, 47, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 184, 52, 65, 69,
+  67, 68, 66, 63, 60, 59, 59, 60, 61, 64, 65, 67, 67, 67, 69, 72,
+  75, 76, 74, 66, 56, 53, 56, 58, 57, 59, 54, 51, 49, 48, 45, 39,
+  35, 33, 32, 37, 45, 51, 57, 68, 78, 83, 84, 85, 85, 86, 87, 92,
+  95, 98, 100, 99, 93, 87, 79, 67, 56, 49, 43, 38, 34, 33, 34, 33,
+  32, 32, 33, 34, 35, 36, 37, 38, 38, 38, 40, 44, 44, 46, 52, 60,
+  67, 76, 82, 87, 84, 80, 76, 67, 58, 58, 48, 36, 34, 36, 40, 46,
+  52, 54, 59, 62, 60, 54, 53, 58, 63, 68, 69, 67, 60, 54, 48, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 54, 65, 68, 67, 64, 62, 60, 57,
+  57, 57, 59, 60, 63, 64, 64, 65, 65, 68, 71, 74, 76, 74, 67, 57,
+  54, 57, 60, 59, 60, 57, 54, 50, 47, 44, 40, 37, 37, 37, 43, 52,
+  59, 64, 72, 81, 85, 87, 87, 87, 87, 88, 91, 94, 96, 99, 100, 96,
+  92, 87, 78, 69, 55, 49, 40, 35, 35, 35, 34, 32, 32, 32, 32, 32,
+  33, 36, 37, 38, 38, 41, 43, 44, 46, 53, 62, 69, 80, 85, 88, 86,
+  82, 77, 70, 61, 59, 49, 40, 36, 34, 35, 43, 51, 54, 59, 63, 60,
+  55, 54, 59, 65, 70, 71, 67, 60, 52, 47, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 59, 65, 66, 65, 60, 58, 56, 55, 55, 56, 58, 59, 62,
+  63, 64, 64, 63, 66, 70, 74, 79, 77, 69, 58, 56, 59, 61, 59, 63,
+  61, 57, 51, 45, 42, 42, 42, 41, 44, 50, 60, 66, 68, 74, 82, 81,
+  82, 85, 85, 84, 84, 88, 90, 90, 94, 95, 94, 93, 91, 85, 76, 67,
+  59, 47, 40, 38, 36, 34, 31, 34, 33, 33, 33, 33, 35, 38, 40, 40,
+  43, 45, 46, 49, 55, 64, 70, 81, 86, 89, 87, 84, 82, 75, 68, 58,
+  52, 45, 39, 32, 30, 38, 49, 54, 59, 64, 62, 56, 55, 60, 67, 71,
+  71, 66, 57, 48, 44, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63,
+  64, 63, 55, 54, 52, 51, 51, 53, 55, 57, 62, 63, 64, 63, 63, 65,
+  70, 73, 81, 80, 72, 61, 57, 59, 60, 59, 64, 64, 59, 52, 44, 40,
+  41, 45, 45, 48, 55, 66, 70, 73, 75, 81, 77, 79, 81, 83, 82, 82,
+  83, 86, 84, 88, 90, 89, 90, 90, 85, 78, 77, 67, 54, 45, 41, 40,
+  36, 32, 37, 36, 34, 34, 35, 38, 41, 43, 44, 47, 49, 50, 51, 58,
+  67, 73, 81, 86, 90, 87, 87, 85, 79, 73, 58, 55, 49, 41, 31, 26,
+  35, 46, 53, 59, 64, 63, 55, 54, 60, 68, 72, 71, 65, 55, 46, 42,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 67, 60, 53, 58, 56, 56,
+  55, 55, 57, 59, 61, 65, 65, 64, 63, 63, 66, 70, 74, 78, 75, 69,
+  62, 58, 58, 61, 66, 67, 66, 62, 55, 47, 44, 46, 50, 47, 48, 54,
+  61, 65, 64, 66, 70, 69, 71, 73, 76, 77, 77, 77, 76, 82, 83, 83,
+  86, 87, 86, 83, 81, 76, 69, 58, 49, 43, 38, 35, 32, 31, 32, 32,
+  34, 36, 39, 41, 42, 44, 48, 50, 51, 51, 55, 65, 73, 81, 85, 89,
+  91, 90, 85, 78, 74, 62, 56, 48, 40, 33, 28, 34, 43, 51, 60, 65,
+  60, 56, 59, 66, 72, 75, 66, 58, 53, 48, 113, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 64, 59, 54, 56, 54, 54, 53, 53, 55, 57, 59,
+  64, 65, 63, 63, 63, 66, 71, 75, 79, 76, 70, 62, 57, 57, 61, 66,
+  68, 68, 65, 59, 52, 49, 51, 55, 52, 52, 54, 60, 61, 59, 60, 64,
+  62, 63, 66, 68, 70, 72, 71, 71, 74, 75, 76, 78, 80, 79, 77, 76,
+  75, 68, 60, 53, 49, 44, 40, 37, 32, 34, 34, 37, 40, 43, 45, 46,
+  48, 51, 52, 52, 52, 56, 65, 73, 82, 84, 88, 91, 90, 86, 81, 77,
+  66, 59, 51, 43, 35, 30, 35, 44, 49, 59, 64, 62, 58, 62, 69, 74,
+  73, 65, 57, 52, 47, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  190, 59, 56, 54, 53, 52, 53, 53, 54, 56, 57, 62, 63, 61, 61, 63,
+  66, 72, 77, 80, 77, 71, 63, 57, 56, 61, 67, 72, 72, 70, 64, 58,
+  55, 56, 59, 53, 48, 47, 49, 49, 46, 46, 49, 48, 50, 52, 54, 57,
+  58, 60, 61, 61, 63, 65, 66, 67, 67, 65, 64, 70, 66, 61, 57, 54,
+  50, 47, 45, 35, 35, 37, 39, 42, 46, 48, 51, 51, 53, 53, 52, 53,
+  57, 66, 74, 80, 83, 86, 88, 87, 84, 79, 77, 67, 60, 52, 45, 37,
+  32, 36, 44, 49, 58, 63, 62, 61, 67, 74, 78, 70, 63, 56, 52, 46,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 59, 55, 53, 53,
+  52, 52, 53, 54, 55, 56, 59, 60, 60, 59, 61, 65, 72, 77, 81, 79,
+  74, 65, 57, 55, 60, 67, 75, 76, 76, 70, 63, 59, 60, 62, 51, 44,
+  39, 38, 36, 33, 33, 35, 36, 37, 38, 39, 40, 42, 44, 44, 46, 47,
+  49, 50, 50, 50, 50, 50, 58, 56, 54, 54, 54, 53, 51, 48, 39, 40,
+  40, 42, 44, 46, 48, 49, 50, 51, 51, 51, 53, 59, 66, 72, 75, 76,
+  78, 79, 78, 76, 71, 70, 64, 58, 52, 45, 37, 32, 36, 43, 52, 59,
+  63, 63, 65, 71, 77, 78, 67, 61, 56, 51, 45, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 60, 54, 53, 52, 53, 53, 54, 54, 55,
+  56, 58, 57, 57, 56, 58, 62, 70, 76, 81, 80, 76, 67, 57, 55, 59,
+  66, 77, 79, 79, 76, 68, 63, 62, 63, 53, 42, 33, 28, 26, 24, 25,
+  28, 28, 27, 27, 27, 28, 29, 31, 32, 33, 35, 35, 36, 34, 33, 34,
+  37, 41, 40, 41, 43, 46, 47, 46, 44, 43, 42, 42, 41, 42, 43, 44,
+  44, 47, 47, 48, 49, 51, 56, 62, 66, 67, 68, 69, 69, 67, 66, 64,
+  61, 59, 55, 50, 46, 39, 35, 39, 47, 56, 62, 65, 66, 70, 75, 78,
+  76, 64, 60, 56, 52, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 60, 52, 51, 52, 52, 53, 54, 54, 54, 54, 56, 55, 54, 53,
+  54, 60, 67, 73, 79, 82, 80, 70, 59, 55, 58, 64, 76, 79, 81, 79,
+  73, 68, 67, 67, 53, 39, 26, 20, 17, 15, 17, 20, 26, 24, 22, 22,
+  24, 25, 28, 30, 31, 33, 34, 33, 29, 28, 30, 32, 34, 33, 34, 36,
+  39, 41, 39, 38, 43, 43, 42, 41, 41, 41, 41, 41, 42, 43, 44, 44,
+  47, 48, 51, 54, 56, 56, 57, 56, 56, 56, 56, 56, 54, 51, 50, 48,
+  44, 42, 47, 55, 64, 67, 68, 69, 72, 77, 77, 72, 61, 59, 57, 120,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 59, 54, 50,
+  50, 51, 52, 52, 53, 53, 53, 55, 54, 52, 50, 51, 56, 65, 70, 78,
+  81, 82, 74, 62, 55, 56, 61, 72, 76, 81, 81, 79, 75, 75, 76, 62,
+  46, 28, 19, 17, 14, 16, 20, 27, 26, 25, 26, 28, 32, 35, 38, 44,
+  46, 48, 45, 39, 37, 40, 43, 43, 41, 40, 40, 41, 41, 40, 38, 42,
+  42, 41, 40, 40, 40, 40, 41, 41, 40, 40, 40, 41, 40, 37, 36, 37,
+  37, 39, 41, 42, 44, 47, 49, 52, 51, 52, 53, 52, 51, 57, 65, 71,
+  73, 71, 71, 74, 78, 74, 68, 60, 59, 58, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 56, 48, 49, 50, 50, 51, 51,
+  51, 51, 54, 52, 50, 48, 50, 55, 63, 69, 77, 82, 83, 76, 63, 55,
+  56, 60, 69, 74, 81, 83, 82, 81, 82, 83, 78, 60, 40, 31, 26, 24,
+  25, 28, 30, 29, 28, 30, 33, 38, 44, 47, 60, 62, 63, 59, 53, 51,
+  53, 57, 57, 54, 50, 48, 47, 47, 44, 43, 41, 40, 40, 40, 40, 41,
+  42, 43, 41, 40, 39, 39, 37, 33, 28, 24, 21, 22, 24, 27, 32, 36,
+  40, 43, 54, 53, 55, 58, 58, 59, 66, 74, 77, 76, 75, 72, 75, 77,
+  72, 64, 60, 59, 124, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 53, 48, 47, 46, 48, 49, 51, 50, 48, 50, 49, 48,
+  48, 48, 53, 60, 66, 73, 80, 85, 80, 66, 54, 50, 51, 65, 75, 87,
+  91, 87, 82, 79, 78, 74, 72, 63, 49, 38, 33, 29, 23, 26, 27, 28,
+  33, 41, 48, 53, 53, 75, 82, 84, 76, 68, 69, 77, 82, 76, 73, 68,
+  68, 72, 75, 67, 55, 49, 38, 41, 51, 51, 51, 53, 49, 41, 52, 53,
+  50, 47, 31, 14, 12, 10, 12, 17, 21, 27, 35, 43, 49, 50, 58, 60,
+  59, 63, 73, 80, 79, 78, 70, 67, 76, 81, 76, 68, 65, 58, 59, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 53,
+  50, 47, 46, 47, 49, 49, 50, 48, 48, 47, 46, 44, 45, 50, 56, 61,
+  71, 79, 84, 81, 69, 56, 50, 49, 61, 73, 85, 91, 91, 86, 83, 82,
+  86, 86, 82, 75, 68, 59, 45, 31, 23, 24, 27, 35, 42, 49, 55, 56,
+  77, 88, 93, 88, 85, 90, 103, 112, 97, 90, 81, 84, 96, 102, 92, 77,
+  61, 49, 54, 67, 67, 65, 63, 57, 53, 63, 64, 61, 57, 39, 18, 13,
+  8, 11, 17, 23, 31, 40, 50, 57, 64, 68, 69, 68, 73, 82, 86, 85,
+  78, 73, 74, 82, 86, 79, 70, 66, 64, 130, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 53, 50, 48, 46, 46, 48,
+  49, 48, 47, 47, 46, 44, 43, 43, 45, 51, 54, 68, 76, 84, 83, 73,
+  59, 50, 47, 57, 69, 83, 92, 95, 92, 89, 87, 97, 96, 93, 90, 88,
+  80, 65, 49, 36, 32, 30, 31, 38, 48, 56, 59, 80, 93, 101, 99, 96,
+  104, 121, 134, 118, 106, 94, 98, 117, 127, 114, 96, 74, 59, 64, 80, 84,
+  80, 76, 67, 65, 75, 75, 71, 68, 48, 23, 14, 13, 16, 23, 30, 39,
+  50, 61, 68, 80, 79, 78, 79, 83, 90, 91, 87, 75, 74, 75, 79, 79,
+  71, 62, 58, 55, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 187, 51, 49, 46, 46, 46, 47, 47, 46, 47, 45,
+  44, 41, 40, 42, 46, 50, 64, 72, 81, 83, 76, 64, 51, 45, 54, 65,
+  81, 92, 97, 95, 91, 90, 103, 103, 98, 93, 91, 90, 84, 75, 63, 52,
+  40, 33, 34, 42, 52, 59, 76, 90, 100, 96, 93, 102, 121, 134, 127, 114,
+  103, 106, 122, 132, 120, 101, 81, 64, 66, 86, 92, 90, 85, 77, 74, 82,
+  80, 77, 72, 51, 25, 15, 24, 29, 36, 45, 53, 62, 72, 78, 88, 86,
+  85, 88, 93, 93, 88, 81, 75, 75, 75, 74, 73, 70, 67, 67, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 53, 50, 46, 45, 45, 46, 45, 45, 47, 47, 45, 42, 40, 40, 44,
+  47, 59, 68, 78, 84, 80, 68, 54, 44, 53, 63, 77, 90, 95, 95, 93,
+  90, 106, 110, 110, 103, 96, 94, 93, 90, 81, 72, 59, 48, 43, 43, 46,
+  48, 63, 77, 88, 88, 87, 99, 117, 130, 129, 121, 112, 113, 122, 128, 118,
+  104, 89, 68, 70, 89, 97, 94, 92, 88, 86, 91, 87, 79, 71, 48, 24,
+  17, 30, 37, 47, 58, 67, 77, 86, 90, 90, 89, 91, 97, 100, 94, 82,
+  72, 78, 78, 78, 80, 86, 97, 106, 110, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 54, 50, 46, 44,
+  44, 44, 44, 44, 46, 46, 45, 42, 39, 40, 43, 46, 55, 64, 74, 83,
+  83, 73, 58, 46, 51, 59, 72, 84, 92, 94, 91, 89, 98, 110, 118, 113,
+  103, 96, 89, 85, 83, 79, 74, 68, 61, 54, 46, 42, 52, 64, 76, 79,
+  84, 98, 115, 125, 122, 120, 117, 116, 121, 124, 115, 104, 97, 74, 75, 95,
+  99, 94, 94, 95, 93, 97, 90, 76, 66, 45, 28, 26, 35, 44, 58, 71,
+  82, 89, 96, 100, 91, 92, 97, 102, 102, 90, 77, 69, 71, 74, 79, 89,
+  106, 129, 182, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 55, 51, 45, 43, 43, 44, 43, 42, 44,
+  44, 43, 41, 39, 39, 41, 44, 53, 59, 70, 81, 85, 76, 61, 48, 47,
+  54, 65, 78, 87, 91, 92, 89, 88, 101, 113, 115, 109, 101, 90, 82, 76,
+  76, 75, 74, 72, 66, 59, 54, 53, 63, 71, 75, 79, 90, 100, 106, 104,
+  103, 103, 106, 113, 116, 109, 97, 93, 72, 76, 95, 96, 86, 85, 86, 87,
+  93, 84, 70, 60, 46, 38, 44, 50, 60, 74, 87, 95, 99, 101, 101, 92,
+  93, 96, 100, 96, 81, 70, 67, 68, 73, 83, 98, 121, 182, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 55, 51, 45, 42, 42, 42, 42, 43, 42, 42, 42, 40, 38, 38,
+  40, 43, 51, 57, 69, 80, 85, 78, 63, 51, 44, 50, 61, 73, 84, 90,
+  92, 91, 88, 97, 106, 111, 113, 110, 100, 90, 72, 70, 68, 69, 71, 74,
+  74, 74, 60, 67, 71, 70, 71, 77, 80, 80, 84, 83, 84, 90, 102, 107,
+  99, 85, 86, 67, 73, 93, 89, 75, 71, 73, 74, 81, 74, 61, 53, 46,
+  48, 60, 67, 76, 90, 101, 105, 104, 102, 100, 92, 90, 93, 95, 88, 74,
+  65, 65, 73, 80, 92, 108, 129, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 189, 57, 51,
+  42, 37, 38, 40, 39, 40, 41, 41, 40, 39, 39, 36, 37, 50, 56, 63,
+  70, 78, 78, 67, 54, 52, 49, 54, 71, 84, 90, 91, 92, 91, 94, 101,
+  110, 116, 112, 101, 91, 83, 77, 73, 73, 71, 68, 69, 73, 80, 78, 76,
+  77, 77, 73, 65, 59, 59, 58, 60, 68, 79, 84, 81, 76, 66, 66, 66,
+  67, 68, 64, 61, 57, 60, 62, 61, 58, 56, 56, 61, 67, 71, 85, 100,
+  108, 110, 109, 101, 92, 94, 94, 94, 91, 79, 67, 63, 67, 72, 83, 96,
+  118, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 57, 53, 44, 39, 38, 37, 35,
+  39, 39, 40, 39, 39, 38, 37, 37, 46, 51, 59, 66, 74, 77, 67, 54,
+  48, 47, 51, 66, 80, 88, 91, 92, 90, 92, 97, 106, 113, 111, 103, 96,
+  86, 79, 73, 72, 69, 66, 67, 72, 78, 82, 87, 92, 91, 85, 74, 65,
+  63, 59, 54, 57, 64, 66, 62, 56, 52, 51, 52, 54, 55, 55, 52, 50,
+  51, 56, 61, 62, 62, 64, 68, 73, 76, 89, 102, 107, 109, 106, 100, 92,
+  94, 92, 91, 85, 72, 60, 59, 64, 72, 88, 106, 170, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 101, 56, 47, 41, 38, 35, 32, 36, 36, 38, 38, 39,
+  38, 38, 37, 41, 46, 54, 62, 70, 74, 67, 56, 45, 43, 47, 60, 76,
+  84, 89, 92, 89, 90, 93, 100, 107, 108, 106, 101, 92, 84, 77, 74, 70,
+  66, 67, 71, 76, 81, 88, 95, 98, 96, 89, 82, 79, 73, 65, 63, 63,
+  62, 56, 51, 44, 45, 44, 46, 49, 50, 50, 50, 48, 55, 63, 68, 70,
+  71, 74, 77, 83, 93, 102, 105, 105, 103, 97, 91, 95, 90, 85, 77, 64,
+  56, 58, 65, 75, 100, 168, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211,
+  54, 49, 44, 41, 37, 32, 34, 35, 36, 37, 37, 38, 37, 37, 37, 42,
+  50, 58, 67, 73, 69, 60, 46, 41, 43, 56, 72, 83, 89, 94, 92, 91,
+  92, 96, 101, 104, 105, 104, 100, 92, 83, 78, 73, 68, 68, 72, 75, 76,
+  77, 81, 86, 93, 97, 101, 93, 88, 81, 79, 77, 73, 68, 62, 55, 53,
+  52, 54, 56, 59, 60, 60, 56, 62, 69, 72, 73, 73, 76, 78, 90, 98,
+  104, 104, 101, 99, 95, 90, 94, 88, 79, 69, 60, 55, 62, 72, 88, 163,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 53, 50, 47, 44, 41,
+  36, 34, 35, 36, 37, 37, 37, 37, 38, 35, 42, 48, 55, 65, 72, 71,
+  65, 49, 43, 43, 53, 68, 80, 89, 94, 96, 94, 93, 95, 97, 100, 102,
+  103, 102, 94, 86, 79, 73, 67, 66, 69, 72, 71, 70, 71, 74, 83, 91,
+  97, 88, 87, 86, 88, 88, 84, 77, 71, 68, 66, 64, 63, 67, 68, 70,
+  70, 66, 70, 73, 73, 73, 74, 80, 83, 93, 99, 104, 102, 99, 97, 94,
+  90, 95, 86, 73, 61, 53, 53, 65, 81, 156, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 187, 51, 49, 49, 44, 39, 35, 36, 37, 37,
+  37, 38, 37, 37, 34, 41, 46, 53, 62, 71, 72, 69, 55, 46, 42, 51,
+  65, 76, 86, 94, 97, 96, 95, 95, 96, 98, 99, 101, 100, 92, 85, 79,
+  73, 65, 63, 65, 70, 72, 74, 74, 74, 75, 77, 79, 77, 79, 83, 87,
+  88, 86, 80, 76, 73, 70, 68, 68, 70, 73, 72, 72, 71, 73, 74, 74,
+  74, 78, 84, 90, 94, 100, 104, 102, 99, 98, 94, 90, 92, 81, 67, 55,
+  49, 55, 76, 94, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 50, 49, 49, 45, 41, 37, 37, 38, 38, 38, 37, 36, 37, 34,
+  39, 45, 51, 59, 68, 73, 70, 59, 48, 43, 48, 61, 72, 83, 91, 95,
+  96, 97, 97, 98, 98, 99, 101, 99, 94, 87, 83, 75, 67, 63, 64, 66,
+  70, 74, 76, 73, 70, 68, 68, 73, 74, 77, 81, 82, 80, 76, 73, 72,
+  70, 69, 70, 72, 75, 74, 73, 74, 76, 77, 76, 76, 79, 86, 92, 93,
+  100, 103, 101, 99, 98, 95, 91, 83, 72, 59, 51, 53, 69, 97, 166, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 49, 49,
+  46, 42, 39, 38, 39, 39, 39, 38, 37, 36, 33, 38, 43, 49, 57, 66,
+  71, 70, 61, 49, 42, 47, 58, 70, 80, 87, 93, 95, 98, 99, 99, 99,
+  100, 100, 101, 96, 92, 88, 80, 71, 66, 67, 62, 66, 69, 71, 69, 68,
+  68, 70, 70, 70, 71, 71, 71, 70, 68, 66, 71, 70, 70, 73, 76, 78,
+  76, 75, 76, 79, 81, 79, 77, 79, 84, 89, 92, 98, 103, 101, 100, 99,
+  97, 92, 74, 64, 55, 52, 61, 84, 164, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 184, 43, 45, 47, 40, 40, 38,
+  38, 37, 36, 35, 33, 35, 36, 40, 42, 48, 56, 65, 73, 68, 59, 49,
+  46, 53, 65, 76, 84, 87, 90, 95, 98, 98, 98, 99, 100, 91, 93, 94,
+  89, 79, 72, 68, 67, 58, 59, 61, 62, 62, 63, 63, 63, 65, 65, 64,
+  63, 62, 63, 63, 64, 66, 69, 73, 75, 73, 71, 73, 74, 77, 76, 75,
+  75, 78, 81, 84, 87, 96, 98, 99, 98, 99, 99, 92, 83, 80, 59, 43,
+  51, 80, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 43, 45, 46, 41, 40, 40, 39, 38, 36, 36, 35,
+  35, 37, 39, 42, 47, 55, 64, 71, 70, 61, 50, 45, 50, 62, 74, 82,
+  83, 85, 90, 94, 94, 95, 96, 97, 94, 94, 93, 89, 82, 76, 71, 69,
+  62, 62, 61, 60, 60, 60, 60, 60, 64, 63, 62, 62, 61, 61, 61, 62,
+  60, 64, 68, 69, 69, 69, 71, 72, 75, 74, 74, 76, 79, 83, 87, 88,
+  97, 99, 99, 98, 99, 98, 90, 80, 59, 53, 60, 88, 124, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  185, 44, 45, 42, 42, 42, 41, 39, 38, 37, 36, 37, 37, 39, 41, 46,
+  53, 62, 68, 71, 63, 51, 44, 45, 56, 70, 79, 78, 81, 86, 89, 90,
+  91, 93, 95, 98, 95, 92, 89, 85, 81, 76, 73, 70, 69, 66, 64, 62,
+  61, 61, 61, 64, 63, 62, 60, 58, 57, 57, 58, 57, 60, 63, 66, 67,
+  67, 70, 71, 73, 73, 74, 76, 79, 84, 90, 93, 98, 100, 101, 99, 99,
+  97, 87, 77, 65, 64, 75, 105, 176, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 43, 44, 43, 42,
+  42, 42, 41, 39, 38, 37, 37, 38, 39, 41, 44, 50, 59, 65, 71, 65,
+  55, 45, 42, 51, 64, 74, 75, 78, 82, 86, 88, 91, 92, 95, 101, 97,
+  92, 91, 90, 88, 82, 78, 80, 78, 74, 70, 68, 68, 69, 70, 68, 66,
+  64, 61, 59, 57, 56, 55, 58, 60, 63, 63, 66, 68, 70, 72, 72, 73,
+  75, 77, 81, 88, 93, 96, 99, 101, 102, 102, 101, 97, 86, 74, 51, 69,
+  103, 179, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 184, 44, 45, 44, 43, 43, 42, 40, 38,
+  38, 38, 39, 38, 40, 43, 49, 56, 62, 69, 65, 57, 47, 42, 45, 57,
+  67, 73, 77, 81, 84, 88, 91, 95, 97, 102, 99, 96, 95, 96, 94, 88,
+  84, 84, 81, 78, 76, 75, 74, 75, 77, 75, 73, 71, 66, 64, 61, 59,
+  58, 62, 62, 63, 65, 67, 70, 71, 72, 74, 74, 75, 79, 84, 89, 95,
+  98, 98, 102, 103, 103, 102, 96, 83, 70, 75, 97, 129, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 184, 44, 43, 43, 43, 42, 39, 39, 37, 38, 39, 39, 40,
+  42, 46, 53, 58, 63, 65, 60, 51, 42, 41, 52, 60, 69, 73, 79, 82,
+  85, 90, 95, 98, 100, 100, 100, 100, 100, 98, 92, 89, 84, 83, 81, 79,
+  78, 79, 80, 80, 82, 79, 77, 75, 72, 71, 70, 70, 70, 68, 68, 67,
+  70, 72, 72, 71, 78, 78, 78, 81, 86, 92, 96, 99, 99, 102, 104, 102,
+  99, 91, 75, 61, 86, 109, 180, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 43,
+  43, 42, 41, 40, 40, 38, 37, 40, 39, 39, 39, 40, 45, 50, 56, 58,
+  62, 64, 55, 44, 40, 46, 54, 65, 68, 73, 77, 81, 86, 92, 96, 97,
+  101, 105, 105, 102, 99, 95, 93, 87, 87, 86, 85, 85, 84, 82, 82, 84,
+  84, 83, 83, 83, 83, 84, 84, 82, 80, 77, 76, 78, 79, 78, 76, 81,
+  81, 82, 84, 88, 92, 97, 101, 100, 104, 104, 99, 94, 82, 63, 48, 32,
+  128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 43, 43, 42, 41, 40, 40,
+  38, 38, 40, 40, 40, 39, 39, 44, 49, 55, 54, 60, 65, 58, 46, 39,
+  44, 51, 61, 64, 69, 73, 78, 83, 89, 94, 95, 101, 107, 109, 105, 100,
+  97, 96, 93, 93, 92, 91, 89, 87, 85, 84, 85, 85, 86, 87, 90, 92,
+  94, 95, 94, 90, 86, 84, 86, 87, 85, 83, 84, 84, 84, 85, 89, 93,
+  97, 100, 102, 104, 104, 98, 90, 75, 54, 37, 36, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 184, 42, 43, 43, 42, 40, 38, 37, 38, 39, 40,
+  42, 42, 44, 46, 46, 54, 59, 63, 60, 50, 45, 45, 47, 51, 56, 63,
+  68, 73, 79, 88, 94, 96, 100, 105, 108, 107, 106, 104, 105, 103, 101, 99,
+  97, 95, 93, 92, 91, 89, 90, 92, 95, 99, 103, 105, 107, 103, 100, 96,
+  95, 95, 92, 88, 87, 86, 84, 83, 87, 93, 100, 105, 107, 108, 108, 104,
+  96, 86, 71, 52, 36, 104, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 41, 41, 42, 42, 39, 37, 37, 36, 36, 38, 39, 41, 42, 43, 43,
+  50, 55, 58, 56, 51, 45, 43, 44, 47, 52, 59, 65, 69, 75, 83, 90,
+  91, 96, 103, 108, 110, 113, 115, 116, 111, 110, 107, 104, 103, 104, 106, 106,
+  109, 109, 108, 108, 109, 110, 111, 112, 106, 103, 102, 100, 99, 98, 94, 93,
+  94, 92, 91, 94, 98, 104, 108, 109, 104, 104, 98, 87, 73, 58, 40, 103,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 183, 41, 41, 40,
+  39, 37, 37, 34, 34, 35, 36, 38, 39, 40, 41, 46, 48, 51, 52, 51,
+  47, 43, 40, 41, 46, 53, 58, 61, 68, 76, 83, 86, 90, 97, 103, 109,
+  114, 118, 121, 118, 114, 111, 108, 109, 111, 115, 117, 121, 120, 119, 117, 116,
+  116, 116, 116, 111, 110, 107, 106, 106, 104, 103, 100, 101, 100, 99, 101, 104,
+  107, 108, 109, 106, 105, 97, 80, 62, 46, 34, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 183, 41, 41, 39, 38, 36, 34, 34,
+  35, 35, 36, 37, 38, 39, 43, 43, 44, 48, 50, 48, 43, 37, 37, 42,
+  48, 52, 56, 61, 69, 75, 82, 86, 90, 96, 99, 105, 110, 114, 112, 111,
+  109, 108, 109, 111, 112, 114, 113, 113, 113, 112, 113, 113, 115, 116, 116, 112,
+  111, 111, 111, 110, 108, 107, 106, 105, 104, 105, 106, 108, 106, 105, 107, 106,
+  94, 72, 51, 37, 28, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 183, 40, 39, 39, 37, 34, 35, 35, 36, 36, 37, 38,
+  38, 42, 40, 41, 45, 49, 49, 43, 38, 36, 41, 46, 49, 52, 56, 63,
+  69, 76, 80, 84, 88, 91, 95, 100, 104, 107, 106, 107, 108, 108, 107, 107,
+  106, 106, 105, 105, 106, 107, 109, 110, 111, 113, 112, 110, 110, 112, 111, 110,
+  108, 108, 107, 107, 108, 109, 107, 105, 102, 102, 98, 82, 58, 38, 27, 100,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  183, 39, 38, 37, 35, 36, 36, 36, 36, 36, 38, 37, 39, 38, 38, 41,
+  44, 45, 42, 38, 36, 40, 45, 47, 47, 51, 57, 61, 69, 72, 78, 82,
+  86, 91, 94, 98, 100, 102, 104, 106, 107, 105, 103, 102, 103, 103, 102, 102,
+  101, 102, 103, 103, 107, 105, 103, 105, 107, 107, 107, 106, 106, 105, 108, 109,
+  110, 108, 103, 100, 98, 90, 70, 46, 30, 25, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 39, 38, 37, 35,
+  36, 36, 36, 36, 36, 36, 36, 37, 36, 36, 37, 39, 40, 39, 38, 37,
+  40, 42, 44, 44, 45, 50, 54, 64, 68, 74, 79, 82, 84, 87, 89, 90,
+  91, 93, 96, 97, 98, 98, 98, 99, 98, 97, 97, 96, 96, 96, 97, 98,
+  97, 96, 97, 100, 102, 100, 99, 100, 101, 103, 106, 107, 105, 101, 95, 92,
+  80, 58, 34, 25, 25, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 183, 38, 37, 35, 35, 35, 35, 35, 36,
+  35, 35, 35, 35, 34, 35, 34, 35, 37, 38, 36, 40, 41, 42, 40, 42,
+  46, 50, 62, 66, 72, 75, 77, 77, 78, 79, 80, 81, 82, 83, 86, 89,
+  92, 95, 90, 90, 90, 90, 90, 91, 93, 93, 93, 92, 92, 92, 95, 98,
+  97, 96, 93, 95, 98, 101, 103, 101, 96, 90, 82, 68, 44, 23, 15, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 184, 40, 37, 37, 36, 36, 34, 35, 33, 33, 34, 35, 35,
+  36, 36, 35, 35, 34, 38, 36, 36, 37, 39, 42, 46, 49, 59, 61, 66,
+  70, 73, 75, 75, 75, 77, 78, 79, 79, 82, 84, 86, 87, 87, 87, 87,
+  88, 88, 89, 90, 90, 90, 89, 89, 89, 91, 90, 88, 86, 92, 90, 91,
+  95, 98, 96, 89, 84, 78, 55, 31, 21, 21, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 41,
+  38, 38, 37, 37, 35, 34, 34, 34, 34, 35, 35, 36, 36, 35, 35, 34,
+  36, 36, 37, 37, 40, 42, 44, 47, 53, 57, 61, 65, 68, 70, 70, 70,
+  72, 72, 72, 74, 75, 76, 79, 80, 80, 81, 80, 81, 80, 81, 82, 82,
+  84, 83, 82, 82, 84, 85, 84, 82, 86, 85, 87, 90, 92, 89, 83, 77,
+  65, 45, 25, 18, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 38, 38, 38, 36, 37,
+  35, 35, 34, 34, 34, 35, 35, 35, 35, 34, 34, 34, 34, 35, 36, 39,
+  41, 41, 42, 47, 49, 53, 57, 60, 62, 63, 63, 63, 63, 63, 65, 65,
+  68, 70, 70, 72, 71, 70, 71, 71, 70, 71, 72, 76, 74, 73, 73, 75,
+  77, 78, 78, 79, 78, 80, 82, 83, 80, 73, 66, 45, 31, 17, 96, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 39, 38, 38, 36, 35, 35, 35, 33, 33,
+  34, 34, 34, 34, 33, 33, 31, 33, 35, 36, 38, 38, 40, 39, 41, 43,
+  46, 50, 54, 56, 57, 57, 57, 57, 57, 57, 57, 59, 60, 62, 66, 65,
+  64, 64, 64, 64, 64, 65, 70, 67, 65, 65, 68, 72, 73, 74, 76, 74,
+  74, 75, 76, 71, 63, 56, 32, 21, 15, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 38, 36, 36, 36, 34, 34, 33, 34, 34, 35, 35, 34, 34,
+  33, 30, 31, 33, 36, 36, 37, 37, 37, 38, 39, 43, 45, 48, 50, 52,
+  52, 52, 52, 51, 52, 53, 53, 54, 54, 61, 60, 60, 60, 60, 60, 61,
+  61, 64, 62, 60, 60, 64, 67, 69, 70, 71, 70, 69, 69, 68, 63, 53,
+  46, 25, 18, 96, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 182,
+  35, 34, 34, 34, 32, 33, 33, 33, 33, 33, 33, 32, 32, 33, 33, 34,
+  35, 36, 37, 37, 37, 38, 40, 41, 42, 45, 46, 47, 48, 47, 47, 47,
+  46, 47, 47, 48, 54, 55, 54, 55, 55, 56, 57, 58, 59, 57, 55, 56,
+  59, 62, 63, 63, 65, 63, 62, 63, 61, 53, 43, 35, 22, 98, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 33, 33, 33, 32,
+  32, 33, 33, 33, 33, 32, 32, 35, 33, 32, 32, 34, 35, 37, 38, 37,
+  37, 37, 38, 39, 40, 41, 41, 41, 41, 41, 39, 40, 40, 40, 41, 45,
+  45, 46, 45, 48, 49, 51, 52, 52, 51, 51, 52, 55, 56, 56, 55, 58,
+  56, 54, 53, 50, 43, 32, 24, 98, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 32, 31, 32, 32, 32, 33, 33, 32,
+  32, 32, 35, 34, 33, 32, 33, 35, 37, 39, 36, 36, 36, 35, 36, 37,
+  38, 39, 38, 36, 36, 34, 34, 35, 36, 36, 38, 38, 38, 40, 42, 44,
+  45, 47, 47, 47, 47, 49, 51, 52, 51, 49, 52, 50, 48, 47, 44, 36,
+  102, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 180, 32, 32, 32, 32, 32, 32, 32, 32, 33, 33, 34,
+  34, 34, 33, 32, 32, 35, 35, 35, 35, 35, 35, 35, 35, 36, 35, 35,
+  35, 34, 33, 33, 33, 37, 37, 37, 37, 38, 39, 41, 42, 39, 40, 41,
+  43, 44, 46, 46, 45, 49, 48, 47, 44, 34, 23, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 206, 82, 32, 32, 32, 32, 32, 32, 33, 34, 34, 34, 33, 33, 32,
+  34, 34, 34, 34, 34, 34, 34, 34, 35, 35, 35, 34, 34, 34, 33, 33,
+  35, 34, 34, 34, 35, 36, 37, 38, 37, 39, 40, 41, 41, 43, 45, 48,
+  49, 43, 38, 33, 102, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 32,
+  32, 32, 32, 32, 33, 34, 34, 34, 34, 33, 33, 34, 34, 34, 34, 34,
+  34, 34, 34, 36, 35, 35, 35, 35, 34, 34, 34, 35, 34, 34, 34, 34,
+  34, 35, 36, 36, 37, 39, 38, 38, 41, 48, 55, 53, 41, 28, 100, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 32, 31, 32,
+  33, 33, 34, 34, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 35, 35,
+  34, 34, 34, 34, 34, 34, 36, 36, 35, 35, 35, 35, 36, 37, 37, 38,
+  38, 37, 37, 43, 54, 63, 62, 115, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 34, 34, 34, 34,
+  34, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 33, 34, 34,
+  34, 36, 35, 35, 35, 35, 36, 37, 37, 39, 39, 38, 37, 112, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 34, 34,
+  34, 34, 34, 34, 32, 32, 32, 32, 33, 33, 33, 33, 34, 34, 108, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 207, 86, 37, 39, 44, 47, 43, 43, 40, 38, 38, 38, 39, 38, 44,
+  45, 47, 47, 49, 49, 47, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 184, 46, 48, 46, 45, 45, 45, 46, 46, 43, 45,
+  51, 54, 51, 49, 46, 44, 44, 45, 50, 52, 55, 50, 48, 55, 61, 57,
+  42, 28, 41, 34, 21, 9, 5, 16, 37, 121, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 184, 37,
+  40, 45, 46, 42, 37, 24, 25, 23, 19, 16, 15, 19, 23, 27, 23, 19,
+  16, 16, 20, 25, 28, 49, 41, 38, 49, 59, 52, 27, 3, 1, 4, 5,
+  0, 0, 0, 0, 4, 6, 4, 8, 19, 101, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 186, 35, 27, 26, 22, 18, 16, 13, 9, 6, 4,
+  0, 0, 2, 6, 11, 11, 1, 0, 0, 4, 5, 0, 0, 0, 5, 3,
+  11, 4, 1, 3, 10, 14, 13, 8, 5, 5, 8, 14, 17, 13, 5, 0,
+  2, 2, 0, 1, 18, 35, 30, 18, 85, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 189, 49, 38,
+  22, 11, 3, 16, 13, 10, 9, 9, 10, 7, 4, 0, 2, 4, 5, 8,
+  10, 5, 0, 1, 5, 4, 2, 4, 10, 11, 8, 0, 0, 0, 0, 3,
+  6, 5, 2, 4, 3, 7, 13, 19, 19, 11, 6, 0, 0, 0, 0, 0,
+  7, 11, 8, 4, 4, 12, 29, 111, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 188, 49, 38, 28, 18, 10, 7, 6, 18, 15,
+  13, 12, 14, 13, 11, 9, 13, 15, 14, 11, 11, 14, 14, 11, 11, 10,
+  7, 6, 11, 18, 17, 11, 2, 0, 0, 0, 6, 10, 11, 7, 0, 1,
+  5, 12, 21, 23, 20, 18, 6, 0, 0, 0, 0, 0, 2, 11, 18, 7,
+  2, 8, 21, 32, 38, 40, 103, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185,
+  42, 35, 31, 22, 15, 12, 14, 19, 23, 30, 29, 26, 23, 20, 18, 15,
+  11, 16, 19, 18, 13, 10, 12, 13, 12, 16, 14, 11, 9, 11, 13, 11,
+  9, 11, 7, 6, 8, 14, 18, 15, 14, 0, 2, 4, 12, 19, 25, 28,
+  27, 17, 9, 5, 5, 3, 0, 10, 25, 31, 17, 5, 4, 12, 22, 38,
+  49, 49, 38, 16, 0, 85, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 46, 41, 37, 34, 30, 22, 17,
+  14, 16, 19, 23, 33, 29, 25, 22, 20, 17, 13, 10, 10, 15, 16, 11,
+  8, 8, 7, 4, 9, 8, 9, 8, 4, 2, 4, 7, 11, 8, 6, 7,
+  10, 12, 10, 7, 5, 5, 6, 9, 16, 22, 26, 30, 24, 13, 7, 9,
+  9, 6, 10, 20, 29, 20, 12, 7, 4, 9, 23, 37, 48, 60, 58, 35,
+  13, 4, 2, 0, 88, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 186, 44, 37, 31, 32, 28, 22, 16, 15, 13, 15, 15, 19,
+  16, 14, 12, 12, 11, 8, 5, 3, 8, 11, 10, 10, 10, 6, 0, 1,
+  2, 6, 6, 2, 0, 0, 6, 7, 5, 5, 5, 7, 7, 3, 2, 10,
+  8, 6, 6, 9, 15, 22, 26, 27, 17, 11, 8, 9, 7, 6, 8, 15,
+  14, 13, 7, 0, 0, 4, 16, 32, 36, 56, 72, 49, 9, 0, 14, 6,
+  89, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 47, 46, 40,
+  32, 26, 26, 23, 18, 14, 12, 12, 13, 14, 14, 11, 10, 8, 8, 10,
+  7, 5, 3, 7, 11, 14, 19, 22, 17, 9, 10, 8, 9, 11, 10, 5,
+  6, 10, 12, 11, 11, 11, 14, 12, 10, 9, 12, 8, 5, 2, 3, 8,
+  17, 22, 28, 24, 15, 6, 3, 6, 6, 4, 7, 6, 7, 6, 0, 0,
+  0, 4, 0, 25, 42, 37, 41, 46, 26, 0, 15, 0, 0, 105, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 49, 46, 46, 40, 32, 23, 28, 26, 19,
+  14, 10, 7, 7, 6, 19, 16, 14, 13, 14, 13, 12, 10, 0, 3, 6,
+  12, 20, 26, 22, 14, 28, 21, 15, 19, 21, 14, 12, 13, 15, 15, 16,
+  17, 20, 20, 17, 17, 12, 8, 4, 0, 0, 6, 15, 20, 20, 23, 15,
+  0, 0, 0, 5, 3, 7, 5, 5, 7, 3, 0, 0, 4, 2, 0, 9,
+  33, 44, 35, 22, 17, 12, 0, 0, 0, 103, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  188, 55, 53, 46, 35, 23, 17, 14, 21, 18, 15, 12, 11, 11, 13, 13,
+  15, 16, 16, 15, 13, 9, 5, 2, 8, 5, 5, 6, 7, 8, 7, 7,
+  13, 12, 12, 12, 10, 9, 6, 5, 13, 13, 11, 7, 4, 6, 11, 16,
+  7, 0, 1, 10, 9, 7, 13, 23, 20, 18, 16, 12, 9, 6, 4, 5,
+  15, 19, 15, 3, 0, 2, 9, 12, 10, 8, 8, 9, 20, 32, 30, 22,
+  10, 4, 0, 2, 8, 23, 117, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 52, 49, 45, 36, 26,
+  17, 11, 7, 10, 10, 11, 11, 10, 9, 7, 8, 12, 12, 13, 13, 12,
+  12, 11, 10, 10, 8, 6, 4, 6, 7, 8, 7, 12, 12, 10, 10, 9,
+  7, 5, 7, 0, 5, 10, 12, 10, 6, 3, 1, 11, 5, 3, 9, 8,
+  3, 5, 15, 18, 22, 22, 18, 9, 2, 3, 6, 14, 19, 16, 6, 0,
+  2, 8, 10, 1, 3, 3, 1, 4, 12, 18, 17, 19, 13, 8, 4, 2,
+  7, 22, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 185, 42, 42, 37, 30, 23, 18, 15, 10, 7, 2, 4,
+  8, 9, 10, 7, 5, 3, 9, 8, 8, 8, 9, 12, 15, 17, 14, 12,
+  9, 7, 9, 9, 10, 9, 11, 11, 10, 9, 7, 6, 5, 5, 0, 2,
+  11, 15, 14, 8, 2, 0, 10, 6, 5, 8, 7, 0, 0, 9, 13, 23,
+  30, 23, 10, 1, 1, 6, 12, 15, 17, 10, 5, 5, 6, 5, 0, 6,
+  7, 1, 0, 2, 11, 17, 18, 15, 10, 5, 0, 2, 12, 25, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 40,
+  35, 28, 21, 16, 11, 12, 16, 16, 15, 4, 6, 9, 12, 12, 12, 9,
+  7, 8, 6, 4, 2, 4, 7, 11, 14, 13, 14, 15, 17, 18, 17, 15,
+  12, 11, 12, 11, 12, 12, 8, 6, 5, 2, 5, 8, 10, 11, 10, 9,
+  9, 9, 5, 5, 7, 5, 2, 3, 10, 8, 19, 30, 28, 16, 5, 2,
+  4, 10, 13, 16, 16, 11, 8, 4, 2, 7, 10, 11, 5, 0, 2, 8,
+  15, 18, 16, 13, 10, 5, 6, 17, 32, 113, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 186, 37, 26, 21, 17, 10, 5, 4,
+  8, 15, 18, 18, 8, 9, 9, 10, 11, 11, 10, 10, 12, 10, 6, 2,
+  2, 3, 6, 9, 11, 13, 17, 23, 25, 24, 19, 14, 10, 12, 13, 15,
+  14, 10, 7, 5, 7, 7, 8, 10, 13, 15, 17, 17, 11, 9, 9, 9,
+  6, 3, 6, 10, 5, 13, 21, 27, 25, 16, 6, 0, 9, 11, 15, 18,
+  16, 9, 4, 3, 8, 6, 6, 4, 3, 2, 2, 5, 26, 25, 20, 14,
+  6, 6, 17, 32, 49, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 184, 33, 22, 12, 5, 10, 7, 4, 2, 5, 8, 12, 13, 10,
+  9, 9, 7, 7, 6, 7, 6, 16, 13, 10, 7, 5, 5, 5, 6, 7,
+  10, 18, 24, 28, 25, 18, 15, 12, 12, 12, 12, 11, 10, 8, 8, 4,
+  6, 9, 13, 17, 17, 14, 11, 17, 15, 12, 9, 4, 4, 8, 11, 7,
+  9, 13, 21, 24, 21, 12, 4, 8, 9, 13, 18, 18, 11, 5, 6, 10,
+  4, 2, 5, 8, 5, 2, 3, 19, 20, 19, 15, 8, 7, 18, 33, 41,
+  51, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 45, 33, 22, 13,
+  4, 1, 7, 9, 8, 6, 6, 6, 8, 9, 9, 9, 7, 6, 4, 2,
+  0, 0, 10, 10, 10, 10, 9, 7, 6, 5, 7, 9, 14, 17, 20, 18,
+  14, 10, 15, 11, 7, 4, 3, 5, 9, 10, 10, 11, 13, 16, 18, 17,
+  12, 7, 16, 15, 11, 5, 2, 4, 10, 14, 14, 9, 8, 10, 17, 19,
+  15, 13, 7, 6, 10, 16, 17, 13, 9, 9, 14, 6, 2, 5, 8, 4,
+  5, 9, 6, 10, 14, 14, 8, 7, 19, 33, 28, 38, 118, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 186, 37, 26, 16, 10, 6, 3, 6, 11, 12,
+  12, 10, 8, 11, 14, 11, 9, 7, 6, 3, 0, 0, 0, 4, 6, 8,
+  10, 11, 9, 8, 6, 7, 8, 8, 10, 10, 10, 9, 5, 18, 13, 3,
+  0, 0, 2, 8, 14, 22, 18, 15, 15, 16, 16, 13, 10, 11, 12, 7,
+  1, 3, 7, 15, 20, 19, 12, 6, 4, 9, 15, 19, 19, 9, 5, 7,
+  15, 16, 13, 9, 13, 10, 2, 0, 2, 2, 0, 3, 12, 4, 8, 15,
+  16, 9, 5, 13, 26, 21, 33, 46, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  186, 37, 22, 10, 8, 10, 14, 15, 17, 16, 14, 13, 9, 7, 7, 6,
+  6, 6, 6, 5, 5, 5, 4, 4, 0, 0, 0, 3, 3, 6, 6, 7,
+  6, 5, 6, 6, 7, 6, 7, 5, 10, 12, 11, 6, 1, 0, 3, 9,
+  30, 32, 28, 18, 7, 5, 10, 18, 8, 7, 5, 5, 6, 6, 8, 8,
+  9, 9, 10, 11, 13, 14, 13, 13, 22, 13, 4, 3, 13, 19, 17, 13,
+  7, 5, 4, 2, 3, 6, 12, 15, 12, 12, 13, 12, 5, 1, 4, 12,
+  21, 30, 38, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 49, 37, 22, 11, 8,
+  13, 14, 15, 14, 15, 12, 11, 8, 6, 3, 2, 5, 5, 5, 4, 4,
+  3, 3, 2, 0, 1, 1, 4, 5, 6, 7, 7, 6, 6, 5, 5, 6,
+  7, 8, 8, 9, 12, 12, 8, 2, 0, 4, 7, 17, 25, 31, 30, 25,
+  15, 9, 7, 9, 10, 8, 7, 6, 7, 7, 7, 7, 11, 14, 14, 10,
+  7, 7, 9, 20, 14, 4, 3, 10, 15, 17, 16, 13, 9, 3, 0, 0,
+  2, 8, 11, 12, 11, 12, 13, 8, 5, 7, 13, 19, 28, 35, 110, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 47, 44, 35, 20, 12, 11, 13, 14, 14, 12, 11,
+  11, 8, 7, 4, 2, 1, 4, 4, 3, 2, 1, 0, 0, 0, 0, 0,
+  2, 3, 5, 6, 8, 9, 7, 7, 9, 8, 10, 10, 9, 10, 9, 12,
+  12, 10, 5, 4, 4, 7, 12, 19, 28, 35, 33, 24, 13, 6, 10, 9,
+  8, 5, 4, 6, 6, 6, 5, 12, 18, 17, 10, 4, 3, 5, 18, 14,
+  6, 2, 5, 10, 15, 18, 20, 15, 9, 1, 0, 0, 5, 8, 10, 9,
+  12, 14, 12, 8, 10, 16, 17, 24, 32, 34, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 45,
+  41, 37, 28, 16, 9, 8, 11, 11, 12, 10, 11, 9, 8, 5, 5, 3,
+  2, 6, 6, 5, 4, 3, 2, 1, 1, 0, 0, 3, 4, 6, 6, 9,
+  9, 10, 9, 10, 11, 13, 13, 14, 13, 8, 11, 13, 13, 11, 7, 7,
+  8, 15, 16, 19, 23, 26, 23, 17, 12, 11, 10, 7, 6, 3, 4, 4,
+  4, 3, 8, 14, 15, 11, 7, 4, 4, 10, 10, 7, 4, 2, 5, 9,
+  12, 24, 20, 13, 9, 4, 5, 5, 6, 7, 8, 10, 14, 15, 12, 14,
+  18, 16, 25, 30, 33, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 45, 39, 33, 25, 18, 10, 6,
+  7, 8, 10, 10, 10, 9, 8, 8, 8, 6, 7, 6, 8, 8, 7, 6,
+  5, 4, 4, 3, 2, 2, 2, 5, 7, 8, 9, 9, 9, 7, 9, 9,
+  11, 11, 12, 11, 7, 10, 12, 15, 13, 12, 11, 10, 17, 14, 11, 12,
+  15, 20, 19, 18, 15, 13, 10, 9, 6, 7, 7, 9, 3, 3, 5, 9,
+  13, 13, 9, 5, 2, 5, 7, 7, 4, 2, 3, 5, 15, 14, 15, 12,
+  10, 7, 6, 4, 7, 6, 8, 12, 13, 11, 13, 19, 20, 28, 32, 32,
+  108, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 43, 35, 27, 20, 14, 8, 2, 1, 5, 8, 9, 7, 6,
+  6, 8, 7, 9, 10, 10, 9, 8, 7, 7, 7, 7, 6, 6, 6, 4,
+  6, 5, 6, 6, 7, 7, 9, 5, 5, 6, 5, 6, 5, 4, 5, 4,
+  5, 9, 11, 13, 12, 14, 13, 12, 8, 7, 8, 13, 14, 14, 12, 19,
+  17, 14, 14, 14, 13, 14, 14, 9, 4, 1, 5, 12, 15, 11, 6, 0,
+  2, 5, 6, 5, 2, 0, 0, 5, 6, 10, 11, 9, 7, 3, 0, 5,
+  3, 3, 7, 11, 11, 14, 17, 22, 30, 35, 34, 33, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 41, 34, 24,
+  14, 7, 5, 2, 0, 0, 3, 7, 8, 9, 4, 4, 5, 7, 10, 10,
+  13, 13, 4, 4, 5, 5, 5, 5, 6, 6, 7, 6, 7, 6, 7, 6,
+  7, 6, 6, 6, 5, 3, 3, 3, 3, 3, 0, 1, 2, 6, 10, 13,
+  14, 13, 8, 8, 7, 7, 8, 11, 11, 10, 19, 18, 15, 15, 14, 14,
+  15, 17, 16, 11, 5, 4, 6, 8, 8, 7, 1, 2, 4, 6, 6, 4,
+  1, 0, 1, 2, 6, 7, 7, 7, 4, 1, 5, 1, 0, 3, 7, 6,
+  10, 16, 26, 32, 35, 32, 32, 107, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 185, 39, 34, 26, 16, 6, 0, 2, 0, 0,
+  0, 3, 8, 9, 9, 2, 2, 3, 7, 8, 11, 12, 14, 0, 0, 1,
+  1, 2, 3, 3, 4, 8, 9, 7, 8, 6, 6, 5, 4, 9, 7, 7,
+  6, 6, 4, 4, 2, 0, 0, 0, 2, 7, 11, 12, 12, 10, 9, 5,
+  3, 2, 6, 10, 12, 15, 14, 14, 12, 12, 14, 14, 15, 23, 19, 13,
+  6, 2, 2, 6, 8, 5, 4, 3, 4, 6, 6, 3, 0, 4, 4, 4,
+  6, 7, 5, 6, 5, 5, 0, 0, 0, 3, 4, 10, 16, 26, 32, 34,
+  33, 31, 33, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  46, 47, 40, 26, 18, 16, 13, 9, 13, 9, 5, 3, 4, 5, 6, 7,
+  1, 5, 10, 12, 13, 12, 14, 14, 16, 9, 3, 0, 2, 4, 6, 7,
+  7, 7, 6, 5, 6, 5, 6, 6, 5, 6, 6, 8, 7, 5, 4, 4,
+  7, 5, 3, 2, 3, 2, 3, 3, 1, 2, 2, 5, 5, 6, 7, 9,
+  3, 3, 4, 5, 4, 4, 2, 3, 11, 9, 7, 5, 3, 3, 4, 4,
+  4, 4, 1, 1, 0, 0, 0, 0, 0, 2, 7, 8, 10, 9, 9, 10,
+  12, 10, 7, 4, 4, 8, 16, 21, 30, 33, 35, 37, 36, 32, 105, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 188, 53, 49, 36, 21, 15,
+  14, 13, 6, 14, 11, 8, 7, 8, 10, 10, 10, 4, 7, 11, 12, 12,
+  11, 10, 11, 15, 11, 5, 2, 3, 6, 8, 6, 6, 6, 8, 7, 7,
+  6, 6, 6, 7, 8, 10, 9, 10, 7, 7, 5, 5, 4, 3, 0, 0,
+  0, 1, 1, 0, 0, 1, 1, 4, 4, 6, 6, 3, 4, 6, 7, 5,
+  5, 3, 1, 9, 8, 7, 5, 4, 4, 4, 4, 4, 3, 3, 1, 1,
+  0, 1, 0, 2, 5, 7, 10, 9, 9, 8, 8, 16, 11, 6, 3, 6,
+  11, 18, 20, 28, 30, 33, 35, 32, 31, 31, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 58, 52, 49, 39, 23, 11, 8, 10, 8, 3, 9, 7,
+  6, 7, 9, 10, 10, 8, 6, 8, 12, 14, 11, 9, 6, 6, 14, 11,
+  6, 5, 6, 7, 7, 5, 6, 6, 6, 5, 5, 5, 5, 5, 10, 11,
+  10, 10, 10, 7, 7, 6, 3, 4, 2, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 2, 3, 4, 6, 6, 6, 7, 7, 5, 3, 1, 8, 8,
+  8, 7, 7, 6, 6, 6, 6, 6, 4, 4, 3, 2, 3, 4, 7, 7,
+  10, 11, 8, 6, 5, 6, 15, 7, 0, 0, 5, 15, 21, 24, 25, 26,
+  30, 30, 29, 30, 32, 108, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 55, 50,
+  45, 34, 23, 10, 3, 6, 9, 8, 4, 4, 4, 5, 7, 9, 10, 8,
+  6, 7, 10, 14, 14, 11, 6, 4, 1, 10, 10, 7, 6, 5, 5, 4,
+  3, 5, 3, 3, 3, 1, 1, 2, 2, 7, 8, 6, 6, 5, 3, 3,
+  3, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 3,
+  4, 6, 6, 6, 7, 7, 4, 2, 0, 4, 5, 5, 5, 5, 5, 5,
+  5, 7, 7, 5, 5, 4, 3, 4, 5, 9, 12, 10, 9, 6, 3, 2,
+  1, 10, 3, 0, 0, 0, 11, 24, 30, 25, 25, 27, 25, 25, 26, 29,
+  32, 103, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 48, 46, 40, 33, 25, 15, 8, 8,
+  14, 14, 12, 8, 2, 2, 4, 7, 9, 10, 8, 6, 8, 11, 14, 12,
+  9, 4, 2, 0, 7, 7, 7, 6, 4, 3, 2, 1, 3, 1, 1, 0,
+  0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 2, 1, 3, 3, 5, 4, 5, 6, 6, 6, 5,
+  5, 2, 1, 0, 1, 1, 2, 2, 3, 4, 4, 5, 5, 5, 2, 2,
+  0, 0, 0, 0, 9, 12, 10, 8, 3, 0, 0, 0, 7, 5, 0, 0,
+  0, 0, 15, 27, 23, 23, 25, 25, 24, 24, 27, 29, 27, 106, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 185, 41, 37, 28, 19, 20, 13, 9, 12, 15, 13, 9, 5, 7,
+  7, 8, 10, 13, 14, 12, 10, 8, 11, 12, 10, 8, 4, 2, 2, 5,
+  7, 7, 4, 2, 0, 0, 2, 3, 2, 3, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4,
+  5, 6, 5, 7, 7, 8, 7, 5, 5, 6, 5, 5, 5, 2, 0, 1,
+  0, 0, 0, 1, 4, 6, 8, 4, 3, 2, 0, 0, 0, 0, 0, 10,
+  10, 9, 8, 4, 1, 1, 3, 10, 12, 11, 3, 0, 0, 3, 13, 19,
+  20, 24, 24, 26, 26, 27, 27, 27, 32, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 49, 44, 37, 30,
+  19, 10, 18, 13, 10, 13, 14, 9, 7, 6, 10, 9, 9, 11, 13, 14,
+  13, 11, 7, 10, 10, 7, 6, 4, 5, 5, 6, 8, 7, 4, 1, 0,
+  0, 2, 9, 8, 7, 4, 5, 4, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 6, 7, 8, 7, 9, 9,
+  8, 8, 6, 7, 8, 8, 8, 8, 6, 4, 5, 3, 2, 1, 3, 7,
+  11, 14, 11, 10, 8, 4, 2, 0, 0, 0, 11, 12, 11, 9, 6, 5,
+  5, 7, 9, 15, 18, 15, 8, 1, 0, 2, 10, 16, 23, 27, 29, 28,
+  28, 28, 28, 33, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 187, 49, 43, 35, 28, 15, 4, 23, 17, 16,
+  18, 17, 13, 13, 17, 10, 8, 7, 8, 10, 11, 10, 9, 8, 8, 8,
+  5, 4, 3, 5, 7, 8, 8, 8, 4, 0, 0, 1, 4, 13, 11, 12,
+  11, 9, 7, 6, 5, 2, 1, 2, 0, 3, 3, 6, 6, 6, 7, 8,
+  7, 7, 7, 4, 2, 7, 7, 8, 8, 9, 9, 10, 8, 7, 8, 9,
+  9, 10, 11, 8, 7, 10, 8, 5, 4, 7, 11, 17, 21, 19, 17, 15,
+  11, 9, 5, 4, 2, 12, 13, 11, 11, 7, 8, 10, 10, 7, 13, 20,
+  25, 21, 14, 4, 0, 3, 11, 21, 30, 31, 32, 31, 30, 29, 34, 106,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  188, 56, 53, 45, 33, 28, 26, 28, 11, 13, 18, 20, 21, 17, 12, 7,
+  5, 8, 12, 14, 13, 10, 9, 8, 4, 5, 4, 0, 0, 0, 0, 6,
+  3, 3, 3, 1, 0, 0, 0, 0, 2, 2, 2, 3, 3, 3, 3, 3,
+  2, 2, 3, 2, 2, 5, 5, 7, 9, 9, 11, 10, 11, 10, 11, 10,
+  15, 15, 13, 11, 9, 8, 5, 5, 1, 5, 9, 12, 14, 15, 14, 14,
+  7, 6, 4, 4, 6, 10, 14, 17, 23, 20, 18, 15, 10, 4, 0, 0,
+  6, 7, 5, 5, 5, 9, 11, 12, 16, 14, 12, 19, 32, 37, 20, 0,
+  15, 19, 22, 26, 28, 26, 24, 22, 28, 27, 25, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 52, 52, 47, 42, 34,
+  26, 23, 21, 8, 11, 13, 15, 14, 13, 11, 8, 6, 9, 11, 12, 11,
+  8, 9, 7, 7, 8, 7, 5, 2, 3, 8, 13, 13, 13, 13, 8, 6,
+  4, 5, 7, 9, 8, 8, 8, 8, 9, 10, 10, 8, 8, 7, 7, 9,
+  9, 10, 9, 11, 12, 13, 16, 16, 17, 17, 18, 19, 19, 18, 16, 14,
+  14, 12, 12, 7, 11, 13, 17, 19, 20, 20, 19, 12, 13, 12, 14, 16,
+  20, 26, 28, 31, 30, 28, 24, 20, 14, 10, 9, 15, 14, 12, 10, 11,
+  11, 14, 15, 18, 16, 14, 21, 36, 43, 32, 18, 9, 8, 12, 22, 33,
+  33, 24, 13, 28, 25, 22, 100, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 192, 53, 47, 39, 35, 31, 27, 20, 15, 7, 7,
+  7, 7, 7, 10, 8, 8, 6, 8, 10, 11, 8, 8, 7, 8, 11, 11,
+  14, 11, 11, 12, 18, 25, 22, 21, 21, 17, 14, 11, 11, 12, 15, 14,
+  12, 11, 12, 14, 16, 17, 15, 15, 15, 14, 14, 14, 14, 14, 12, 14,
+  16, 19, 20, 22, 22, 21, 22, 22, 20, 20, 19, 17, 17, 17, 15, 16,
+  20, 21, 23, 22, 23, 22, 18, 19, 19, 21, 26, 32, 37, 41, 37, 37,
+  35, 33, 29, 23, 22, 19, 24, 22, 21, 18, 17, 16, 17, 17, 20, 18,
+  17, 23, 34, 43, 41, 34, 18, 5, 0, 9, 29, 39, 29, 17, 26, 22,
+  21, 20, 98, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193,
+  68, 56, 45, 32, 27, 27, 26, 20, 13, 8, 8, 8, 8, 7, 7, 6,
+  5, 4, 5, 7, 9, 9, 8, 9, 12, 15, 18, 19, 17, 16, 18, 25,
+  31, 26, 25, 23, 18, 16, 11, 12, 13, 16, 14, 12, 11, 11, 14, 17,
+  20, 21, 19, 17, 16, 15, 16, 15, 14, 11, 12, 13, 17, 19, 20, 22,
+  21, 17, 18, 18, 18, 16, 17, 17, 17, 18, 19, 20, 21, 22, 24, 23,
+  22, 18, 18, 20, 24, 30, 36, 41, 45, 37, 36, 36, 33, 30, 26, 24,
+  21, 26, 24, 24, 21, 20, 21, 20, 20, 21, 21, 19, 22, 28, 33, 37,
+  34, 39, 15, 0, 0, 12, 32, 38, 35, 33, 25, 19, 19, 17, 202, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63, 61, 60, 43, 28, 20,
+  22, 26, 20, 15, 12, 11, 12, 11, 11, 7, 5, 2, 0, 3, 5, 7,
+  9, 10, 13, 16, 19, 20, 22, 21, 18, 20, 25, 29, 27, 26, 25, 20,
+  15, 12, 12, 13, 15, 13, 11, 10, 11, 14, 17, 19, 21, 21, 19, 17,
+  15, 14, 14, 14, 12, 13, 15, 15, 17, 17, 18, 18, 14, 15, 15, 16,
+  17, 17, 18, 18, 23, 24, 24, 23, 23, 23, 23, 23, 18, 20, 22, 26,
+  29, 35, 39, 42, 33, 33, 33, 31, 30, 26, 25, 24, 25, 24, 22, 23,
+  21, 22, 22, 24, 20, 20, 20, 24, 25, 27, 28, 31, 48, 26, 3, 0,
+  0, 16, 34, 45, 39, 30, 20, 17, 13, 65, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 189, 56, 54, 58, 43, 24, 18, 21, 24, 23, 16, 14,
+  15, 15, 13, 10, 6, 3, 2, 0, 3, 6, 10, 11, 12, 14, 15, 19,
+  20, 21, 21, 18, 17, 22, 27, 28, 29, 28, 24, 19, 15, 17, 17, 14,
+  13, 12, 11, 12, 15, 18, 19, 21, 19, 17, 16, 15, 15, 15, 14, 16,
+  16, 17, 19, 19, 20, 22, 21, 17, 17, 20, 21, 23, 24, 26, 27, 31,
+  31, 30, 30, 29, 30, 28, 28, 23, 25, 26, 29, 31, 36, 39, 40, 30,
+  30, 30, 30, 29, 28, 26, 26, 22, 22, 23, 23, 24, 26, 25, 25, 21,
+  18, 19, 24, 28, 27, 28, 30, 39, 33, 20, 8, 1, 6, 20, 35, 37,
+  30, 24, 19, 13, 9, 92, 255, 255, 255, 255, 255, 255, 255, 255, 255, 48,
+  49, 50, 49, 37, 22, 17, 21, 24, 20, 15, 15, 13, 10, 7, 6, 5,
+  5, 4, 2, 5, 9, 11, 12, 11, 12, 13, 15, 17, 21, 19, 17, 17,
+  21, 25, 30, 30, 28, 23, 21, 20, 19, 20, 12, 12, 13, 13, 15, 16,
+  18, 19, 21, 20, 21, 18, 17, 17, 17, 19, 17, 18, 19, 22, 25, 25,
+  26, 25, 23, 23, 26, 28, 31, 33, 34, 36, 39, 39, 38, 36, 35, 33,
+  34, 32, 32, 31, 33, 33, 35, 37, 37, 39, 30, 30, 32, 32, 31, 30,
+  30, 30, 24, 26, 26, 28, 27, 28, 27, 26, 26, 21, 19, 23, 25, 26,
+  27, 32, 31, 37, 39, 27, 9, 3, 12, 24, 32, 29, 26, 26, 18, 10,
+  10, 255, 255, 255, 255, 255, 255, 255, 255, 208, 45, 47, 49, 43, 34, 22,
+  20, 23, 23, 19, 12, 14, 12, 5, 3, 1, 2, 5, 6, 4, 7, 12,
+  14, 14, 12, 9, 9, 13, 16, 18, 18, 17, 17, 21, 26, 29, 29, 26,
+  24, 21, 18, 19, 21, 12, 13, 14, 15, 16, 18, 19, 19, 23, 21, 21,
+  20, 20, 20, 20, 21, 16, 17, 19, 23, 25, 27, 29, 29, 26, 27, 29,
+  32, 35, 38, 40, 40, 44, 42, 42, 40, 38, 38, 37, 36, 35, 37, 37,
+  37, 36, 36, 36, 36, 30, 30, 30, 30, 31, 30, 31, 30, 28, 28, 30,
+  29, 30, 29, 28, 27, 32, 22, 16, 20, 22, 21, 25, 28, 32, 43, 50,
+  37, 16, 4, 11, 21, 24, 26, 30, 30, 21, 14, 10, 255, 255, 255, 255,
+  255, 255, 255, 255, 86, 52, 58, 55, 31, 27, 24, 23, 23, 21, 17, 13,
+  11, 9, 6, 3, 1, 0, 1, 2, 4, 7, 11, 14, 12, 11, 10, 11,
+  9, 13, 17, 19, 19, 22, 27, 33, 28, 28, 28, 27, 23, 18, 18, 19,
+  15, 14, 13, 13, 13, 15, 17, 18, 24, 25, 26, 21, 18, 13, 12, 13,
+  15, 14, 16, 16, 19, 21, 25, 26, 27, 29, 31, 33, 35, 34, 34, 32,
+  44, 40, 36, 31, 30, 31, 32, 33, 30, 30, 31, 29, 30, 30, 32, 32,
+  30, 29, 27, 26, 26, 28, 32, 36, 23, 24, 24, 25, 27, 28, 30, 30,
+  26, 27, 30, 33, 33, 31, 28, 25, 29, 25, 30, 37, 23, 1, 0, 17,
+  27, 26, 27, 30, 20, 6, 7, 96, 255, 255, 255, 255, 255, 255, 255, 50,
+  57, 55, 47, 27, 24, 20, 21, 20, 19, 15, 12, 12, 10, 7, 5, 3,
+  3, 4, 5, 6, 10, 13, 13, 14, 12, 12, 12, 10, 15, 19, 22, 20,
+  22, 28, 32, 25, 26, 27, 25, 23, 19, 19, 20, 18, 17, 16, 16, 16,
+  17, 19, 20, 26, 27, 26, 24, 17, 14, 13, 12, 15, 18, 18, 21, 22,
+  25, 27, 29, 28, 30, 34, 36, 38, 37, 38, 37, 42, 41, 36, 32, 31,
+  31, 33, 35, 30, 29, 30, 30, 30, 32, 32, 32, 30, 29, 27, 26, 26,
+  28, 32, 36, 27, 26, 27, 28, 28, 27, 28, 27, 24, 25, 27, 30, 31,
+  28, 25, 23, 26, 25, 34, 41, 32, 13, 5, 11, 22, 21, 23, 24, 24,
+  16, 15, 17, 255, 255, 255, 255, 255, 255, 189, 56, 57, 48, 33, 23, 22,
+  20, 20, 21, 20, 16, 13, 9, 8, 7, 5, 5, 6, 7, 8, 9, 11,
+  15, 15, 13, 13, 14, 14, 14, 19, 21, 24, 22, 23, 25, 28, 22, 24,
+  26, 25, 22, 19, 19, 19, 19, 18, 17, 16, 16, 18, 19, 20, 29, 29,
+  29, 26, 21, 16, 15, 14, 18, 19, 21, 25, 27, 31, 31, 34, 32, 34,
+  36, 40, 41, 44, 43, 43, 43, 39, 35, 31, 31, 32, 35, 38, 31, 31,
+  30, 30, 32, 32, 34, 35, 30, 29, 27, 26, 26, 28, 32, 36, 30, 29,
+  30, 28, 28, 26, 27, 26, 20, 23, 26, 26, 27, 23, 21, 19, 24, 28,
+  36, 42, 42, 32, 16, 2, 15, 17, 20, 21, 24, 24, 21, 12, 255, 255,
+  255, 255, 255, 255, 53, 52, 47, 35, 18, 23, 24, 23, 25, 23, 19, 15,
+  12, 7, 7, 6, 6, 7, 8, 10, 11, 6, 10, 12, 13, 15, 16, 18,
+  19, 17, 21, 24, 24, 22, 21, 23, 26, 23, 27, 28, 27, 25, 19, 19,
+  18, 17, 16, 15, 14, 14, 15, 16, 17, 30, 30, 30, 28, 23, 20, 18,
+  19, 18, 20, 25, 28, 32, 36, 36, 36, 34, 35, 38, 42, 45, 46, 48,
+  48, 42, 38, 35, 32, 32, 33, 36, 40, 30, 30, 30, 31, 31, 34, 34,
+  35, 30, 29, 27, 26, 26, 28, 32, 36, 33, 33, 31, 30, 28, 27, 27,
+  27, 18, 19, 22, 24, 24, 21, 18, 16, 23, 31, 37, 38, 44, 45, 25,
+  1, 9, 18, 21, 20, 22, 27, 21, 10, 255, 255, 255, 255, 255, 255, 43,
+  39, 38, 28, 13, 21, 22, 24, 25, 20, 15, 12, 7, 3, 3, 4, 5,
+  6, 8, 9, 10, 2, 5, 9, 14, 15, 17, 19, 21, 16, 20, 23, 22,
+  20, 20, 21, 25, 29, 31, 31, 31, 26, 20, 19, 17, 17, 16, 14, 13,
+  13, 14, 15, 16, 29, 29, 30, 28, 25, 22, 20, 21, 19, 21, 26, 29,
+  34, 35, 36, 36, 33, 34, 36, 40, 43, 45, 48, 48, 40, 35, 33, 31,
+  31, 35, 37, 42, 30, 30, 31, 31, 33, 34, 36, 37, 30, 29, 27, 26,
+  26, 28, 32, 36, 33, 33, 32, 31, 31, 28, 27, 27, 18, 18, 21, 23,
+  23, 20, 17, 14, 24, 30, 32, 31, 41, 49, 34, 6, 3, 14, 24, 22,
+  22, 24, 22, 13, 255, 255, 255, 255, 255, 255, 34, 30, 34, 25, 12, 15,
+  18, 22, 22, 16, 11, 6, 3, 3, 4, 5, 6, 8, 10, 11, 11, 0,
+  5, 11, 14, 17, 19, 21, 21, 14, 16, 20, 18, 16, 17, 21, 25, 31,
+  33, 34, 32, 27, 20, 17, 15, 18, 17, 15, 14, 14, 14, 15, 16, 23,
+  24, 26, 24, 23, 20, 20, 19, 18, 19, 23, 27, 29, 32, 33, 33, 30,
+  31, 32, 36, 38, 41, 43, 44, 37, 34, 31, 30, 30, 34, 38, 42, 29,
+  31, 31, 32, 33, 36, 36, 39, 30, 29, 27, 26, 26, 28, 32, 36, 35,
+  35, 33, 32, 31, 28, 28, 28, 19, 22, 25, 24, 24, 20, 18, 15, 25,
+  29, 29, 26, 37, 49, 38, 15, 0, 9, 19, 21, 23, 24, 21, 19, 96,
+  255, 255, 255, 255, 255, 27, 27, 32, 26, 13, 9, 14, 18, 20, 15, 9,
+  4, 1, 3, 4, 6, 8, 9, 10, 11, 11, 2, 7, 13, 19, 21, 19,
+  19, 19, 10, 12, 14, 14, 12, 16, 22, 27, 29, 32, 33, 32, 28, 21,
+  18, 16, 17, 16, 14, 12, 12, 13, 14, 14, 14, 17, 19, 19, 16, 16,
+  17, 18, 17, 17, 19, 20, 24, 27, 29, 30, 25, 25, 28, 29, 32, 34,
+  38, 38, 33, 31, 29, 29, 30, 34, 39, 40, 31, 30, 32, 32, 35, 35,
+  38, 39, 30, 29, 27, 26, 26, 28, 32, 36, 39, 38, 36, 33, 30, 27,
+  27, 24, 23, 24, 25, 27, 27, 23, 20, 17, 22, 28, 29, 27, 35, 43,
+  39, 26, 7, 7, 13, 21, 25, 23, 19, 17, 19, 255, 255, 255, 255, 31,
+  23, 28, 32, 24, 10, 6, 14, 20, 20, 17, 10, 5, 4, 6, 7, 9,
+  11, 13, 13, 14, 14, 4, 10, 17, 23, 24, 20, 18, 17, 8, 10, 11,
+  10, 9, 14, 22, 27, 25, 28, 32, 31, 27, 23, 18, 17, 14, 13, 11,
+  9, 9, 9, 10, 11, 9, 11, 14, 13, 12, 12, 13, 15, 17, 16, 17,
+  17, 20, 24, 26, 27, 23, 23, 24, 25, 28, 30, 33, 34, 31, 30, 28,
+  28, 29, 33, 38, 42, 30, 30, 32, 32, 34, 37, 39, 39, 30, 29, 27,
+  26, 26, 28, 32, 36, 43, 40, 37, 33, 30, 26, 25, 22, 24, 26, 27,
+  29, 28, 25, 21, 18, 22, 28, 31, 28, 34, 42, 40, 32, 16, 8, 9,
+  22, 29, 21, 14, 12, 16, 93, 255, 255, 255, 25, 29, 32, 29, 16, 6,
+  0, 5, 10, 14, 13, 9, 5, 4, 5, 8, 11, 13, 10, 6, 6, 6,
+  0, 6, 20, 25, 23, 17, 17, 17, 13, 15, 16, 14, 15, 18, 22, 26,
+  19, 21, 23, 21, 20, 19, 20, 20, 20, 20, 22, 21, 17, 12, 7, 3,
+  8, 11, 15, 15, 13, 11, 12, 14, 15, 16, 18, 19, 21, 22, 22, 22,
+  23, 23, 19, 20, 20, 25, 28, 33, 26, 28, 30, 34, 36, 37, 38, 37,
+  31, 32, 34, 37, 40, 45, 47, 49, 44, 38, 31, 27, 27, 29, 32, 35,
+  30, 29, 28, 28, 29, 28, 29, 29, 24, 25, 25, 24, 20, 16, 9, 7,
+  19, 21, 25, 27, 30, 33, 32, 34, 20, 11, 8, 17, 24, 21, 17, 14,
+  20, 13, 255, 255, 255, 24, 30, 33, 27, 15, 4, 0, 4, 11, 14, 13,
+  10, 5, 5, 6, 9, 11, 10, 9, 6, 5, 6, 2, 12, 25, 28, 25,
+  20, 19, 19, 12, 15, 15, 14, 14, 16, 21, 24, 19, 21, 21, 21, 18,
+  18, 19, 20, 15, 16, 18, 21, 19, 16, 13, 8, 11, 14, 17, 17, 15,
+  14, 15, 16, 11, 12, 14, 16, 18, 19, 20, 20, 22, 21, 20, 18, 21,
+  25, 29, 32, 24, 26, 27, 29, 31, 33, 35, 35, 31, 33, 35, 37, 40,
+  43, 46, 48, 41, 37, 30, 26, 26, 28, 31, 32, 28, 27, 26, 26, 27,
+  26, 27, 27, 24, 26, 26, 24, 21, 18, 14, 10, 19, 21, 24, 27, 30,
+  31, 32, 32, 23, 14, 8, 14, 20, 19, 16, 14, 19, 15, 255, 255, 255,
+  27, 30, 32, 24, 12, 0, 0, 5, 9, 12, 12, 9, 8, 7, 6, 7,
+  8, 8, 6, 6, 6, 7, 10, 17, 27, 28, 25, 19, 18, 17, 11, 14,
+  14, 13, 13, 15, 18, 21, 17, 20, 20, 20, 18, 18, 19, 21, 9, 12,
+  18, 21, 22, 21, 17, 16, 11, 13, 15, 16, 15, 14, 14, 15, 8, 10,
+  12, 15, 17, 19, 20, 20, 23, 21, 21, 20, 23, 26, 31, 33, 23, 23,
+  25, 25, 26, 27, 30, 30, 31, 31, 33, 34, 38, 40, 43, 44, 38, 35,
+  29, 27, 26, 28, 30, 29, 28, 27, 25, 25, 26, 25, 26, 26, 25, 26,
+  26, 25, 23, 22, 20, 18, 21, 22, 24, 26, 29, 30, 31, 31, 29, 17,
+  9, 11, 18, 17, 16, 13, 20, 18, 255, 255, 255, 30, 34, 33, 25, 10,
+  0, 0, 3, 7, 9, 8, 9, 8, 7, 5, 6, 7, 6, 7, 9, 11,
+  14, 13, 18, 25, 24, 20, 14, 13, 12, 10, 12, 13, 12, 12, 13, 16,
+  18, 17, 19, 18, 19, 17, 18, 20, 22, 8, 11, 16, 21, 23, 22, 21,
+  18, 11, 12, 13, 14, 13, 13, 14, 14, 11, 12, 15, 18, 20, 22, 24,
+  24, 25, 24, 22, 23, 25, 30, 34, 36, 25, 24, 25, 24, 24, 26, 28,
+  29, 30, 30, 31, 31, 33, 36, 37, 38, 37, 35, 30, 28, 27, 27, 26,
+  25, 28, 27, 25, 25, 26, 25, 25, 25, 26, 26, 26, 24, 24, 24, 24,
+  24, 22, 23, 25, 25, 28, 28, 30, 30, 34, 23, 11, 9, 14, 16, 16,
+  14, 23, 22, 255, 255, 255, 33, 36, 33, 24, 9, 0, 0, 4, 8, 9,
+  9, 8, 7, 8, 1, 4, 6, 9, 10, 13, 16, 20, 15, 17, 22, 20,
+  16, 11, 10, 9, 7, 11, 13, 12, 12, 13, 15, 17, 18, 18, 20, 18,
+  18, 20, 21, 25, 13, 15, 19, 21, 22, 23, 21, 21, 12, 11, 11, 12,
+  12, 13, 13, 13, 10, 12, 14, 17, 20, 22, 23, 24, 28, 27, 26, 27,
+  29, 34, 38, 40, 29, 29, 27, 27, 26, 28, 29, 31, 29, 29, 28, 27,
+  29, 29, 32, 32, 35, 33, 30, 30, 30, 28, 25, 22, 26, 25, 23, 23,
+  23, 22, 22, 22, 24, 24, 25, 25, 25, 25, 26, 28, 23, 24, 24, 24,
+  27, 28, 28, 29, 38, 27, 14, 9, 13, 18, 18, 15, 24, 27, 255, 255,
+  255, 35, 35, 32, 23, 10, 2, 1, 7, 12, 12, 12, 9, 8, 8, 0,
+  4, 9, 12, 16, 19, 22, 24, 17, 18, 20, 18, 15, 12, 12, 10, 5,
+  9, 12, 12, 13, 14, 16, 18, 20, 21, 21, 19, 18, 19, 22, 25, 18,
+  19, 19, 20, 20, 20, 23, 21, 13, 11, 10, 10, 12, 13, 13, 13, 11,
+  13, 15, 17, 20, 21, 22, 23, 31, 31, 29, 30, 32, 37, 41, 46, 36,
+  34, 33, 31, 32, 31, 32, 32, 27, 27, 26, 25, 25, 25, 27, 28, 34,
+  33, 33, 32, 32, 28, 23, 21, 23, 22, 20, 20, 20, 18, 19, 18, 18,
+  19, 21, 23, 25, 25, 25, 25, 25, 25, 25, 25, 26, 26, 28, 28, 39,
+  30, 16, 8, 13, 21, 21, 18, 25, 30, 255, 255, 255, 34, 34, 29, 21,
+  11, 4, 6, 10, 16, 19, 17, 13, 11, 10, 5, 9, 14, 18, 20, 21,
+  23, 26, 17, 17, 18, 15, 14, 12, 13, 12, 4, 8, 11, 13, 14, 15,
+  18, 20, 23, 24, 24, 20, 19, 20, 21, 26, 23, 20, 19, 19, 19, 22,
+  23, 24, 13, 10, 8, 8, 11, 13, 13, 12, 13, 14, 16, 18, 20, 21,
+  22, 22, 31, 30, 30, 31, 33, 38, 43, 45, 40, 38, 39, 39, 37, 35,
+  33, 33, 29, 29, 28, 27, 25, 25, 26, 26, 33, 34, 34, 34, 33, 29,
+  23, 19, 25, 23, 21, 21, 21, 19, 19, 19, 14, 16, 19, 21, 23, 22,
+  21, 22, 27, 25, 24, 24, 24, 26, 27, 28, 39, 32, 19, 11, 14, 25,
+  26, 23, 23, 30, 255, 255, 255, 32, 31, 28, 19, 9, 3, 8, 15, 20,
+  23, 21, 16, 12, 10, 9, 13, 18, 21, 23, 22, 23, 25, 15, 14, 15,
+  12, 12, 11, 12, 12, 2, 7, 11, 13, 15, 17, 19, 21, 26, 25, 24,
+  22, 19, 20, 23, 25, 23, 22, 19, 18, 17, 20, 25, 27, 11, 8, 5,
+  5, 8, 11, 10, 9, 19, 20, 22, 23, 25, 26, 26, 26, 31, 30, 30,
+  30, 34, 37, 44, 46, 40, 42, 41, 41, 40, 37, 34, 33, 31, 31, 30,
+  28, 27, 27, 25, 26, 34, 33, 34, 36, 34, 31, 24, 19, 29, 27, 25,
+  24, 24, 23, 23, 22, 11, 13, 18, 21, 22, 21, 20, 18, 26, 27, 25,
+  24, 23, 26, 27, 27, 38, 33, 18, 10, 16, 28, 30, 24, 22, 30, 255,
+  255, 255, 30, 33, 30, 19, 11, 11, 7, 10, 11, 10, 12, 14, 11, 5,
+  2, 10, 14, 13, 15, 21, 23, 20, 15, 12, 10, 6, 7, 7, 6, 8,
+  3, 6, 10, 13, 15, 18, 22, 24, 24, 24, 23, 20, 19, 17, 15, 15,
+  16, 15, 14, 13, 15, 17, 20, 24, 21, 19, 17, 14, 13, 14, 14, 15,
+  14, 14, 17, 18, 19, 22, 22, 23, 29, 28, 25, 24, 27, 33, 39, 44,
+  40, 40, 38, 38, 36, 35, 35, 33, 32, 29, 28, 26, 26, 24, 24, 25,
+  30, 35, 37, 38, 38, 36, 33, 28, 20, 22, 24, 27, 24, 18, 12, 9,
+  10, 13, 20, 27, 32, 33, 30, 26, 23, 22, 23, 23, 22, 21, 20, 20,
+  23, 19, 11, 7, 11, 16, 17, 12, 16, 19, 255, 255, 255, 35, 33, 27,
+  15, 9, 11, 10, 14, 15, 12, 11, 13, 12, 8, 10, 16, 18, 15, 15,
+  19, 19, 15, 16, 13, 11, 10, 8, 7, 6, 7, 7, 8, 12, 15, 16,
+  18, 21, 24, 22, 22, 21, 20, 19, 17, 15, 14, 17, 15, 15, 15, 15,
+  18, 22, 24, 20, 19, 14, 13, 12, 12, 12, 13, 12, 15, 16, 17, 18,
+  22, 23, 23, 26, 25, 24, 24, 26, 31, 37, 40, 40, 38, 38, 38, 36,
+  34, 35, 33, 34, 33, 30, 29, 27, 26, 26, 27, 30, 34, 36, 37, 37,
+  35, 32, 28, 20, 22, 24, 26, 24, 19, 14, 11, 12, 15, 20, 25, 32,
+  32, 30, 27, 26, 25, 25, 23, 23, 24, 23, 24, 24, 21, 14, 7, 7,
+  11, 13, 9, 16, 19, 255, 255, 255, 38, 32, 21, 11, 10, 14, 14, 19,
+  19, 14, 10, 11, 13, 12, 17, 19, 20, 17, 16, 18, 17, 13, 17, 16,
+  13, 11, 10, 8, 6, 6, 9, 11, 16, 17, 18, 19, 21, 23, 22, 22,
+  21, 20, 18, 17, 16, 16, 16, 16, 17, 16, 18, 20, 22, 24, 15, 14,
+  12, 10, 9, 9, 10, 11, 13, 13, 15, 16, 18, 20, 21, 22, 24, 22,
+  22, 23, 27, 30, 35, 37, 38, 37, 37, 35, 36, 34, 34, 35, 35, 35,
+  34, 31, 31, 29, 29, 27, 29, 33, 35, 37, 36, 34, 31, 27, 22, 23,
+  25, 26, 25, 22, 18, 16, 17, 19, 21, 23, 27, 30, 29, 28, 29, 28,
+  27, 26, 26, 26, 27, 29, 26, 26, 19, 8, 4, 7, 9, 10, 17, 18,
+  255, 255, 255, 41, 30, 16, 10, 13, 19, 16, 21, 22, 14, 8, 9, 13,
+  15, 18, 18, 18, 17, 18, 19, 18, 15, 16, 17, 15, 14, 10, 7, 6,
+  4, 7, 10, 15, 16, 18, 19, 20, 22, 20, 20, 18, 17, 17, 15, 17,
+  16, 16, 17, 18, 19, 21, 22, 23, 23, 13, 12, 11, 10, 9, 11, 11,
+  11, 14, 15, 16, 16, 19, 21, 20, 21, 21, 21, 22, 26, 27, 30, 33,
+  36, 34, 34, 35, 35, 33, 34, 34, 34, 38, 36, 35, 33, 32, 30, 31,
+  31, 28, 32, 35, 36, 35, 34, 31, 26, 22, 23, 23, 25, 26, 25, 21,
+  20, 25, 23, 20, 22, 24, 26, 28, 27, 31, 30, 29, 27, 27, 28, 30,
+  33, 26, 27, 22, 12, 4, 4, 9, 13, 18, 18, 255, 255, 255, 38, 27,
+  15, 11, 17, 23, 16, 21, 21, 14, 8, 10, 15, 17, 21, 18, 15, 16,
+  18, 17, 15, 14, 15, 16, 15, 12, 9, 7, 4, 2, 3, 6, 12, 15,
+  16, 17, 18, 20, 17, 16, 16, 15, 16, 15, 15, 15, 14, 16, 18, 20,
+  23, 23, 22, 22, 10, 12, 11, 11, 13, 13, 15, 15, 17, 17, 17, 19,
+  19, 20, 20, 21, 22, 22, 24, 27, 30, 31, 32, 33, 30, 30, 32, 33,
+  33, 33, 34, 34, 38, 36, 35, 32, 32, 30, 30, 31, 28, 32, 35, 36,
+  35, 34, 31, 26, 23, 24, 24, 24, 25, 26, 27, 28, 29, 25, 22, 19,
+  21, 25, 26, 27, 31, 30, 29, 28, 28, 28, 31, 34, 27, 30, 25, 14,
+  6, 8, 14, 19, 21, 19, 255, 255, 255, 35, 23, 14, 14, 20, 22, 15,
+  19, 19, 14, 11, 14, 18, 19, 24, 17, 13, 15, 16, 13, 10, 10, 13,
+  12, 11, 8, 7, 4, 2, 2, 1, 5, 9, 12, 11, 12, 12, 13, 13,
+  12, 12, 12, 14, 14, 14, 13, 12, 15, 18, 20, 23, 22, 20, 20, 9,
+  11, 12, 15, 17, 19, 22, 23, 21, 22, 21, 21, 21, 19, 21, 20, 19,
+  21, 25, 30, 31, 32, 30, 29, 27, 28, 30, 30, 33, 33, 35, 35, 34,
+  34, 33, 30, 29, 27, 28, 26, 29, 33, 35, 37, 36, 34, 31, 27, 26,
+  24, 24, 24, 26, 29, 31, 34, 33, 28, 23, 21, 21, 22, 25, 24, 28,
+  28, 27, 27, 27, 28, 30, 32, 28, 29, 24, 13, 6, 10, 18, 21, 24,
+  21, 255, 255, 255, 31, 19, 14, 16, 18, 18, 14, 17, 17, 15, 16, 21,
+  24, 22, 21, 13, 8, 12, 14, 12, 9, 10, 10, 8, 7, 5, 3, 1,
+  0, 0, 1, 6, 9, 11, 9, 7, 7, 7, 9, 8, 10, 10, 11, 12,
+  11, 12, 10, 14, 17, 21, 22, 21, 20, 18, 9, 11, 14, 18, 23, 25,
+  27, 29, 25, 24, 23, 23, 20, 20, 19, 18, 16, 19, 24, 29, 32, 30,
+  27, 26, 26, 26, 28, 28, 30, 33, 35, 35, 32, 31, 28, 28, 25, 24,
+  25, 25, 30, 34, 36, 37, 37, 35, 32, 28, 26, 24, 24, 24, 26, 32,
+  36, 38, 36, 31, 25, 21, 20, 21, 22, 23, 25, 24, 25, 25, 25, 28,
+  27, 28, 30, 31, 24, 13, 7, 10, 17, 21, 28, 22, 255, 255, 255, 29,
+  18, 14, 17, 18, 13, 14, 17, 17, 16, 20, 26, 27, 24, 15, 6, 3,
+  9, 14, 13, 12, 13, 8, 6, 4, 0, 0, 0, 0, 2, 6, 9, 10,
+  10, 8, 4, 2, 1, 6, 7, 8, 8, 10, 10, 12, 11, 9, 13, 18,
+  22, 22, 21, 18, 17, 9, 12, 16, 20, 25, 30, 33, 33, 27, 27, 27,
+  24, 21, 21, 19, 18, 14, 18, 23, 28, 30, 29, 25, 23, 24, 24, 26,
+  28, 30, 33, 35, 35, 30, 27, 26, 24, 24, 22, 22, 23, 30, 35, 37,
+  38, 38, 36, 33, 28, 26, 24, 24, 24, 27, 32, 36, 41, 37, 31, 26,
+  21, 19, 21, 22, 22, 22, 22, 24, 25, 24, 24, 24, 25, 32, 31, 22,
+  11, 6, 9, 15, 17, 30, 23, 255, 255, 255, 30, 25, 18, 15, 13, 16,
+  11, 17, 21, 21, 23, 25, 24, 19, 6, 8, 10, 12, 13, 12, 11, 9,
+  2, 3, 0, 0, 0, 1, 0, 2, 4, 8, 11, 12, 9, 9, 8, 7,
+  10, 12, 14, 12, 10, 9, 10, 12, 16, 10, 11, 18, 22, 18, 11, 12,
+  18, 15, 13, 15, 18, 20, 20, 18, 16, 17, 19, 20, 22, 23, 25, 25,
+  15, 18, 26, 30, 30, 26, 19, 16, 23, 24, 27, 30, 33, 35, 35, 37,
+  31, 30, 27, 22, 19, 19, 24, 28, 40, 36, 30, 29, 28, 30, 31, 31,
+  33, 32, 27, 25, 24, 25, 29, 29, 37, 35, 30, 26, 21, 16, 14, 13,
+  20, 18, 17, 17, 18, 20, 23, 25, 29, 23, 26, 21, 10, 12, 21, 23,
+  26, 102, 255, 255, 255, 31, 26, 19, 14, 14, 15, 12, 17, 21, 21, 22,
+  24, 22, 18, 7, 8, 10, 11, 12, 11, 9, 8, 4, 4, 3, 4, 4,
+  4, 6, 5, 6, 8, 11, 13, 10, 9, 9, 8, 8, 11, 13, 12, 11,
+  10, 10, 11, 7, 9, 13, 21, 22, 16, 16, 19, 19, 17, 14, 13, 14,
+  13, 11, 9, 10, 16, 24, 32, 34, 31, 28, 23, 21, 23, 29, 32, 32,
+  26, 20, 15, 23, 24, 27, 29, 33, 35, 38, 38, 32, 32, 28, 23, 18,
+  20, 24, 28, 36, 34, 29, 25, 25, 26, 27, 27, 31, 29, 26, 23, 22,
+  23, 24, 26, 37, 37, 31, 29, 25, 21, 19, 17, 23, 23, 21, 20, 19,
+  20, 23, 26, 30, 25, 27, 21, 10, 11, 20, 21, 26, 255, 255, 255, 255,
+  34, 29, 20, 14, 13, 14, 14, 19, 22, 21, 22, 23, 21, 16, 10, 10,
+  11, 11, 11, 10, 9, 9, 7, 7, 7, 10, 9, 10, 12, 11, 7, 11,
+  13, 13, 13, 11, 11, 10, 8, 11, 11, 12, 10, 8, 10, 10, 6, 10,
+  19, 23, 20, 17, 17, 21, 18, 19, 16, 13, 6, 3, 1, 3, 6, 12,
+  21, 28, 35, 35, 33, 31, 27, 30, 33, 33, 30, 26, 19, 16, 22, 24,
+  26, 29, 33, 34, 37, 37, 33, 32, 28, 23, 21, 20, 24, 27, 33, 30,
+  25, 22, 24, 23, 22, 22, 30, 27, 22, 19, 18, 18, 21, 23, 36, 34,
+  31, 29, 26, 25, 24, 24, 28, 26, 23, 20, 19, 21, 21, 24, 32, 26,
+  28, 24, 10, 10, 20, 21, 26, 255, 255, 255, 255, 35, 30, 22, 15, 12,
+  11, 14, 18, 21, 20, 20, 21, 18, 13, 11, 10, 10, 9, 8, 8, 8,
+  7, 9, 11, 12, 15, 16, 17, 16, 15, 9, 12, 13, 13, 12, 12, 11,
+  13, 8, 10, 11, 10, 10, 9, 11, 11, 13, 17, 21, 23, 22, 19, 16,
+  18, 20, 20, 18, 12, 4, 0, 0, 2, 5, 8, 9, 14, 20, 29, 36,
+  40, 29, 30, 32, 31, 28, 26, 19, 18, 22, 23, 26, 28, 30, 30, 31,
+  31, 35, 33, 30, 25, 22, 24, 26, 29, 30, 27, 23, 21, 22, 21, 20,
+  19, 29, 27, 22, 19, 17, 18, 21, 21, 33, 31, 31, 28, 28, 28, 27,
+  29, 30, 28, 24, 21, 19, 20, 20, 22, 33, 29, 31, 25, 12, 12, 19,
+  19, 25, 255, 255, 255, 255, 37, 31, 22, 14, 10, 10, 14, 19, 21, 20,
+  20, 20, 17, 12, 12, 11, 10, 8, 7, 8, 8, 9, 10, 10, 14, 18,
+  19, 19, 19, 18, 8, 10, 12, 12, 11, 11, 10, 12, 9, 10, 10, 9,
+  8, 10, 12, 15, 21, 20, 21, 22, 24, 24, 19, 16, 16, 18, 16, 10,
+  6, 2, 4, 7, 9, 6, 3, 4, 10, 19, 30, 38, 25, 27, 27, 27,
+  28, 26, 23, 23, 25, 26, 27, 28, 29, 29, 28, 27, 34, 33, 28, 26,
+  24, 26, 27, 28, 29, 25, 22, 19, 20, 19, 20, 18, 29, 25, 23, 19,
+  18, 19, 19, 22, 31, 31, 31, 31, 31, 31, 33, 34, 32, 29, 26, 23,
+  23, 23, 22, 24, 35, 30, 32, 28, 14, 12, 20, 20, 22, 255, 255, 255,
+  255, 35, 32, 24, 15, 10, 8, 14, 19, 21, 20, 20, 21, 18, 13, 13,
+  11, 9, 7, 7, 8, 10, 12, 7, 10, 16, 18, 19, 18, 16, 15, 8,
+  10, 11, 11, 9, 9, 10, 12, 11, 10, 12, 10, 9, 10, 14, 17, 21,
+  21, 18, 16, 22, 25, 22, 15, 11, 11, 9, 7, 6, 6, 9, 12, 11,
+  9, 7, 8, 10, 12, 17, 20, 21, 20, 20, 22, 23, 24, 25, 25, 26,
+  27, 26, 28, 26, 27, 25, 24, 30, 26, 23, 23, 23, 24, 27, 27, 27,
+  23, 21, 21, 20, 21, 19, 17, 26, 24, 22, 19, 18, 20, 21, 22, 32,
+  31, 32, 32, 34, 37, 38, 39, 34, 33, 30, 27, 26, 26, 29, 29, 34,
+  31, 33, 30, 14, 14, 22, 20, 98, 255, 255, 255, 255, 34, 31, 23, 14,
+  9, 7, 11, 16, 19, 18, 18, 20, 17, 12, 11, 9, 7, 5, 5, 7,
+  10, 13, 6, 8, 12, 16, 18, 15, 11, 9, 6, 7, 8, 7, 6, 5,
+  7, 8, 12, 12, 11, 11, 10, 12, 15, 19, 21, 22, 19, 14, 15, 18,
+  19, 14, 7, 4, 1, 1, 3, 7, 9, 11, 9, 9, 7, 5, 7, 8,
+  9, 10, 10, 10, 9, 10, 13, 15, 19, 19, 17, 18, 18, 20, 20, 21,
+  20, 21, 23, 21, 17, 17, 19, 23, 23, 22, 24, 22, 20, 18, 19, 18,
+  16, 14, 24, 22, 20, 17, 17, 19, 21, 23, 29, 29, 29, 31, 32, 34,
+  38, 39, 31, 29, 26, 25, 27, 28, 29, 32, 35, 30, 33, 31, 17, 15,
+  23, 22, 255, 255, 255, 255, 180, 33, 30, 24, 15, 9, 6, 10, 15, 18,
+  17, 18, 19, 17, 12, 10, 8, 5, 4, 4, 7, 11, 13, 3, 7, 12,
+  15, 15, 13, 9, 7, 4, 5, 5, 5, 3, 5, 6, 8, 13, 14, 13,
+  12, 12, 12, 15, 19, 22, 25, 24, 13, 7, 9, 12, 12, 2, 0, 0,
+  0, 0, 6, 8, 8, 7, 4, 1, 0, 1, 5, 10, 13, 1, 0, 0,
+  0, 1, 4, 7, 10, 6, 8, 9, 11, 13, 14, 14, 15, 18, 14, 11,
+  14, 17, 19, 21, 20, 23, 22, 19, 18, 17, 17, 15, 13, 21, 19, 17,
+  15, 15, 18, 21, 23, 23, 24, 24, 26, 28, 30, 34, 34, 24, 24, 22,
+  22, 22, 24, 28, 30, 34, 31, 34, 31, 17, 17, 23, 22, 255, 255, 255,
+  255, 29, 33, 28, 21, 13, 8, 7, 6, 10, 14, 19, 19, 18, 15, 13,
+  9, 9, 8, 8, 8, 7, 8, 8, 7, 7, 8, 10, 12, 15, 16, 18,
+  6, 6, 7, 6, 5, 4, 2, 1, 7, 9, 12, 13, 16, 19, 18, 19,
+  18, 20, 22, 21, 20, 18, 18, 17, 9, 5, 3, 2, 4, 7, 9, 11,
+  10, 8, 5, 5, 3, 5, 9, 10, 2, 2, 4, 6, 6, 7, 9, 9,
+  10, 12, 14, 14, 11, 9, 9, 9, 17, 16, 16, 14, 15, 16, 17, 19,
+  21, 20, 19, 18, 18, 19, 22, 23, 21, 20, 17, 18, 20, 20, 20, 19,
+  17, 21, 26, 29, 29, 28, 24, 23, 18, 17, 17, 19, 22, 25, 23, 22,
+  30, 28, 32, 27, 12, 10, 21, 22, 255, 255, 255, 255, 31, 34, 29, 21,
+  10, 4, 2, 3, 8, 16, 22, 22, 20, 17, 14, 11, 10, 9, 9, 10,
+  9, 10, 11, 4, 7, 9, 10, 11, 13, 15, 16, 1, 2, 5, 7, 8,
+  7, 5, 4, 12, 13, 15, 15, 17, 19, 21, 22, 13, 15, 15, 17, 15,
+  12, 12, 12, 9, 8, 7, 6, 6, 7, 6, 6, 8, 6, 6, 3, 3,
+  2, 4, 4, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 5, 7, 6,
+  6, 6, 7, 16, 13, 12, 11, 13, 14, 18, 18, 16, 14, 13, 10, 10,
+  11, 14, 15, 13, 11, 9, 9, 10, 10, 9, 9, 7, 8, 12, 15, 17,
+  14, 12, 11, 13, 12, 11, 11, 15, 16, 16, 14, 24, 25, 30, 27, 13,
+  13, 23, 24, 255, 255, 255, 255, 30, 33, 30, 20, 9, 2, 0, 3, 8,
+  16, 23, 25, 22, 16, 12, 12, 11, 11, 10, 9, 11, 11, 13, 4, 5,
+  8, 10, 12, 13, 13, 14, 0, 1, 5, 8, 11, 11, 10, 9, 14, 14,
+  14, 14, 15, 17, 18, 19, 8, 8, 9, 9, 10, 7, 6, 6, 10, 8,
+  6, 6, 6, 4, 0, 0, 4, 6, 5, 6, 5, 6, 5, 5, 7, 7,
+  5, 4, 3, 0, 0, 0, 0, 0, 4, 4, 7, 7, 10, 12, 15, 14,
+  10, 11, 11, 15, 19, 22, 14, 13, 10, 8, 7, 7, 9, 11, 10, 8,
+  5, 4, 4, 5, 5, 4, 4, 4, 5, 8, 8, 8, 9, 8, 9, 8,
+  7, 7, 8, 10, 9, 9, 22, 22, 30, 29, 15, 17, 26, 103, 255, 255,
+  255, 179, 31, 34, 30, 22, 11, 3, 0, 4, 9, 16, 20, 22, 17, 12,
+  7, 12, 12, 9, 9, 9, 10, 13, 13, 4, 7, 10, 12, 14, 14, 14,
+  14, 0, 1, 3, 5, 7, 9, 11, 12, 13, 13, 13, 12, 12, 14, 15,
+  15, 6, 6, 7, 7, 7, 7, 3, 1, 6, 5, 4, 3, 3, 1, 0,
+  0, 0, 0, 2, 3, 5, 5, 5, 5, 15, 14, 12, 10, 8, 6, 4,
+  4, 0, 0, 5, 5, 7, 9, 12, 14, 17, 15, 13, 11, 12, 14, 18,
+  21, 13, 11, 8, 6, 6, 8, 8, 11, 10, 7, 3, 2, 2, 3, 4,
+  3, 4, 5, 5, 5, 5, 6, 7, 8, 8, 8, 8, 7, 9, 12, 12,
+  13, 23, 23, 32, 32, 20, 19, 27, 255, 255, 255, 255, 26, 30, 33, 31,
+  26, 17, 9, 6, 11, 14, 17, 20, 19, 15, 7, 3, 11, 10, 8, 6,
+  7, 9, 12, 12, 7, 9, 11, 15, 16, 17, 16, 14, 7, 5, 3, 2,
+  3, 6, 10, 12, 13, 12, 13, 13, 13, 12, 12, 12, 8, 7, 5, 8,
+  8, 9, 4, 1, 6, 5, 2, 1, 2, 4, 6, 5, 0, 0, 0, 0,
+  0, 0, 0, 0, 11, 11, 9, 9, 7, 6, 6, 4, 0, 1, 4, 4,
+  4, 5, 8, 10, 17, 14, 11, 11, 11, 13, 15, 17, 7, 7, 5, 3,
+  4, 5, 8, 10, 8, 4, 0, 0, 0, 1, 1, 2, 1, 1, 1, 1,
+  3, 4, 4, 5, 6, 7, 8, 9, 12, 15, 19, 20, 28, 29, 38, 34,
+  22, 18, 27, 255, 255, 255, 255, 26, 28, 30, 30, 27, 22, 16, 12, 20,
+  19, 20, 19, 16, 11, 7, 5, 10, 9, 5, 4, 5, 7, 10, 12, 10,
+  10, 13, 16, 16, 18, 17, 16, 11, 8, 5, 2, 2, 4, 7, 10, 14,
+  15, 16, 17, 16, 15, 14, 13, 11, 9, 6, 9, 11, 10, 7, 2, 8,
+  4, 1, 1, 6, 10, 13, 13, 6, 6, 6, 4, 3, 3, 2, 1, 5,
+  6, 7, 6, 6, 6, 5, 6, 5, 7, 7, 7, 4, 5, 6, 8, 10,
+  10, 9, 7, 8, 9, 10, 11, 13, 12, 9, 8, 8, 10, 11, 12, 8,
+  5, 1, 0, 1, 4, 6, 5, 4, 4, 3, 4, 5, 7, 7, 8, 6,
+  7, 7, 9, 10, 15, 20, 25, 34, 34, 39, 35, 19, 17, 24, 255, 255,
+  255, 255, 28, 28, 29, 30, 28, 26, 22, 19, 22, 19, 15, 13, 9, 7,
+  6, 5, 9, 8, 6, 3, 5, 7, 10, 12, 10, 12, 12, 14, 15, 16,
+  17, 17, 11, 10, 9, 8, 7, 7, 7, 8, 11, 14, 15, 16, 18, 15,
+  13, 12, 11, 6, 5, 8, 11, 10, 6, 2, 2, 2, 2, 4, 8, 11,
+  14, 13, 11, 10, 8, 7, 5, 7, 7, 10, 3, 3, 4, 3, 4, 4,
+  5, 3, 6, 6, 6, 5, 4, 3, 7, 9, 2, 3, 5, 6, 8, 9,
+  10, 11, 23, 20, 17, 13, 12, 11, 13, 13, 8, 6, 2, 1, 3, 6,
+  9, 10, 7, 7, 9, 9, 10, 10, 10, 11, 8, 10, 10, 9, 11, 13,
+  20, 26, 36, 35, 39, 33, 18, 15, 21, 255, 255, 255, 255, 29, 28, 28,
+  28, 28, 25, 22, 20, 18, 15, 9, 5, 2, 2, 4, 6, 11, 8, 5,
+  3, 5, 6, 12, 14, 12, 11, 11, 11, 13, 13, 16, 17, 8, 9, 10,
+  11, 10, 8, 6, 4, 7, 11, 13, 15, 17, 15, 11, 8, 9, 6, 4,
+  5, 10, 10, 6, 0, 0, 0, 0, 3, 8, 10, 11, 9, 1, 0, 0,
+  0, 3, 6, 11, 13, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+  0, 0, 0, 0, 2, 0, 1, 3, 8, 11, 13, 13, 14, 24, 20, 16,
+  12, 10, 8, 8, 9, 4, 0, 0, 0, 0, 1, 4, 7, 6, 5, 8,
+  10, 10, 10, 9, 8, 11, 13, 13, 13, 11, 13, 20, 26, 36, 33, 36,
+  30, 14, 13, 20, 255, 255, 255, 255, 34, 35, 34, 33, 36, 34, 25, 14,
+  14, 6, 3, 4, 4, 0, 5, 10, 9, 8, 6, 4, 3, 6, 11, 16,
+  14, 16, 19, 19, 16, 12, 11, 10, 0, 4, 9, 9, 8, 6, 9, 11,
+  8, 11, 14, 17, 18, 13, 5, 0, 6, 5, 4, 4, 4, 2, 0, 0,
+  0, 2, 5, 7, 8, 9, 8, 7, 7, 10, 10, 6, 3, 5, 10, 12,
+  6, 7, 5, 4, 1, 1, 7, 11, 6, 2, 0, 1, 0, 0, 2, 8,
+  5, 8, 9, 7, 9, 13, 13, 12, 13, 15, 20, 23, 22, 15, 7, 0,
+  0, 0, 0, 0, 0, 2, 4, 6, 5, 2, 0, 1, 7, 10, 12, 9,
+  14, 16, 17, 19, 18, 20, 20, 22, 34, 36, 32, 20, 12, 11, 12, 255,
+  255, 255, 255, 34, 34, 31, 29, 30, 29, 19, 6, 9, 4, 1, 3, 4,
+  0, 2, 8, 11, 10, 8, 5, 3, 7, 12, 16, 15, 18, 21, 19, 16,
+  13, 11, 10, 8, 9, 9, 10, 12, 10, 7, 4, 12, 16, 18, 19, 16,
+  11, 5, 1, 3, 1, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0,
+  0, 0, 0, 0, 2, 6, 5, 7, 11, 11, 9, 3, 5, 6, 7, 5,
+  7, 8, 9, 9, 6, 4, 4, 3, 1, 5, 10, 5, 12, 15, 17, 20,
+  21, 19, 14, 16, 16, 20, 21, 17, 12, 4, 0, 0, 0, 0, 0, 0,
+  1, 5, 7, 2, 2, 1, 4, 5, 5, 5, 5, 7, 12, 19, 21, 21,
+  20, 24, 28, 33, 36, 31, 22, 12, 11, 255, 255, 255, 255, 181, 35, 33,
+  30, 26, 25, 23, 13, 0, 5, 2, 2, 4, 4, 2, 3, 5, 11, 11,
+  8, 7, 4, 8, 12, 16, 18, 20, 19, 19, 15, 13, 12, 12, 15, 13,
+  12, 14, 17, 17, 12, 6, 7, 11, 18, 19, 17, 14, 7, 3, 9, 4,
+  0, 0, 0, 0, 0, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+  2, 8, 15, 20, 15, 9, 3, 3, 3, 6, 8, 10, 9, 8, 8, 5,
+  3, 4, 1, 0, 1, 8, 7, 14, 23, 26, 30, 30, 25, 20, 21, 20,
+  17, 14, 14, 8, 3, 0, 3, 1, 0, 0, 1, 5, 9, 12, 6, 8,
+  9, 10, 8, 5, 5, 6, 2, 10, 19, 23, 22, 25, 29, 34, 30, 33,
+  32, 22, 13, 13, 255, 255, 255, 255, 31, 34, 31, 26, 23, 22, 20, 9,
+  0, 4, 3, 5, 5, 6, 6, 7, 7, 9, 8, 7, 5, 4, 7, 10,
+  16, 15, 17, 17, 15, 13, 12, 12, 15, 14, 14, 13, 17, 18, 19, 16,
+  13, 1, 6, 14, 22, 26, 24, 17, 10, 17, 14, 6, 2, 1, 3, 5,
+  5, 6, 5, 3, 2, 0, 0, 0, 0, 0, 0, 2, 12, 22, 28, 21,
+  12, 6, 2, 0, 0, 5, 6, 6, 4, 6, 4, 1, 1, 0, 0, 1,
+  8, 7, 17, 26, 31, 33, 34, 31, 25, 28, 24, 14, 11, 7, 5, 3,
+  0, 7, 6, 3, 3, 3, 8, 12, 16, 15, 18, 19, 18, 12, 9, 11,
+  13, 9, 10, 15, 20, 26, 29, 35, 36, 28, 32, 31, 23, 15, 13, 255,
+  255, 255, 255, 29, 28, 27, 23, 17, 18, 17, 8, 0, 2, 3, 6, 5,
+  5, 7, 6, 4, 5, 6, 6, 3, 2, 5, 10, 12, 11, 11, 13, 13,
+  11, 11, 13, 15, 12, 14, 19, 20, 17, 14, 15, 17, 12, 6, 5, 11,
+  20, 26, 23, 19, 20, 14, 7, 2, 1, 2, 5, 5, 9, 11, 13, 15,
+  15, 12, 10, 7, 4, 4, 5, 9, 21, 27, 23, 14, 10, 5, 0, 0,
+  0, 0, 0, 0, 5, 3, 0, 1, 1, 0, 2, 8, 10, 17, 24, 27,
+  31, 34, 32, 29, 35, 25, 14, 8, 6, 7, 4, 1, 7, 6, 5, 2,
+  5, 8, 13, 14, 17, 19, 21, 17, 12, 11, 12, 15, 19, 15, 11, 15,
+  22, 31, 36, 38, 28, 31, 31, 23, 16, 15, 255, 255, 255, 255, 24, 22,
+  22, 17, 15, 14, 16, 8, 0, 1, 4, 5, 3, 3, 5, 4, 1, 5,
+  4, 3, 2, 2, 5, 8, 10, 8, 8, 11, 13, 10, 11, 12, 14, 13,
+  18, 21, 20, 14, 10, 10, 13, 18, 5, 0, 0, 0, 8, 13, 12, 10,
+  7, 0, 0, 0, 0, 0, 0, 6, 11, 17, 22, 26, 24, 23, 21, 13,
+  11, 8, 9, 17, 24, 21, 13, 14, 8, 2, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 6, 12, 19, 23, 25, 28, 34, 34, 30, 38,
+  27, 14, 7, 5, 7, 4, 2, 4, 3, 1, 1, 1, 3, 6, 7, 7,
+  9, 11, 11, 9, 9, 9, 10, 22, 16, 9, 10, 17, 26, 33, 36, 32,
+  35, 32, 23, 15, 14, 255, 255, 255, 255, 23, 23, 22, 19, 17, 17, 18,
+  12, 3, 2, 6, 6, 0, 0, 3, 4, 0, 5, 4, 5, 4, 3, 5,
+  8, 11, 8, 10, 14, 15, 12, 10, 10, 9, 13, 15, 18, 16, 14, 10,
+  7, 7, 13, 6, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2,
+  0, 0, 3, 7, 12, 20, 25, 26, 28, 28, 19, 19, 15, 12, 16, 21,
+  21, 15, 16, 13, 7, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+  5, 13, 13, 19, 24, 26, 31, 34, 34, 32, 37, 25, 12, 3, 3, 5,
+  4, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 1, 6, 10, 13, 14,
+  9, 7, 13, 12, 9, 9, 10, 18, 27, 35, 36, 37, 35, 23, 16, 15,
+  255, 255, 255, 255, 20, 27, 26, 23, 20, 22, 24, 17, 7, 5, 9, 8,
+  1, 1, 5, 6, 2, 4, 6, 5, 4, 5, 6, 9, 12, 10, 13, 17,
+  18, 13, 9, 8, 7, 12, 9, 10, 11, 15, 15, 10, 4, 5, 11, 15,
+  13, 5, 0, 0, 1, 0, 0, 0, 2, 6, 8, 6, 4, 0, 1, 8,
+  13, 18, 24, 27, 28, 23, 24, 20, 17, 20, 24, 22, 18, 15, 15, 15,
+  9, 3, 0, 2, 4, 8, 6, 6, 9, 11, 12, 18, 23, 15, 20, 27,
+  30, 34, 38, 36, 30, 37, 24, 10, 1, 2, 3, 2, 0, 0, 2, 1,
+  1, 2, 1, 1, 1, 0, 0, 7, 15, 22, 21, 14, 8, 1, 8, 13,
+  10, 5, 10, 21, 33, 38, 41, 35, 23, 16, 15, 255, 255, 255, 255, 29,
+  25, 34, 27, 28, 22, 12, 14, 1, 0, 4, 3, 0, 0, 1, 0, 0,
+  1, 5, 12, 13, 14, 15, 13, 14, 11, 11, 12, 12, 9, 8, 8, 9,
+  6, 7, 5, 4, 5, 4, 3, 3, 8, 7, 9, 9, 8, 10, 8, 9,
+  9, 7, 5, 5, 9, 13, 16, 20, 9, 8, 9, 12, 17, 22, 26, 27,
+  22, 22, 21, 18, 14, 11, 11, 11, 7, 8, 6, 6, 4, 2, 0, 0,
+  0, 0, 0, 2, 4, 7, 10, 12, 16, 20, 22, 24, 32, 38, 40, 36,
+  39, 22, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 12, 23, 24, 12, 1, 6, 9, 12, 12, 6, 0, 5, 14,
+  28, 33, 32, 23, 18, 18, 255, 255, 255, 255, 26, 20, 30, 23, 25, 21,
+  13, 15, 4, 0, 1, 2, 1, 1, 4, 3, 0, 6, 7, 7, 9, 9,
+  9, 13, 16, 8, 10, 11, 12, 9, 8, 10, 9, 6, 6, 5, 5, 5,
+  5, 7, 7, 6, 6, 9, 9, 11, 14, 17, 18, 17, 15, 13, 11, 12,
+  13, 17, 20, 20, 18, 16, 17, 18, 19, 19, 18, 13, 15, 15, 15, 13,
+  12, 14, 16, 12, 11, 9, 8, 7, 7, 8, 7, 5, 4, 6, 6, 7,
+  10, 13, 14, 18, 19, 22, 23, 28, 37, 39, 36, 42, 27, 10, 0, 1,
+  4, 6, 6, 10, 9, 11, 13, 14, 15, 13, 9, 12, 9, 11, 18, 26,
+  26, 15, 5, 14, 10, 9, 13, 11, 7, 11, 18, 29, 34, 32, 23, 18,
+  18, 255, 255, 255, 255, 24, 15, 26, 20, 23, 20, 13, 17, 6, 0, 4,
+  5, 5, 5, 10, 9, 8, 6, 5, 4, 1, 1, 4, 8, 12, 6, 8,
+  10, 10, 8, 8, 9, 10, 7, 6, 5, 5, 6, 8, 11, 11, 9, 9,
+  8, 11, 13, 17, 20, 22, 20, 18, 12, 6, 5, 4, 7, 8, 18, 17,
+  16, 17, 20, 19, 19, 16, 7, 10, 14, 15, 14, 16, 16, 18, 14, 12,
+  11, 12, 11, 12, 14, 16, 9, 10, 10, 10, 10, 13, 13, 15, 19, 21,
+  20, 19, 24, 33, 37, 35, 43, 32, 16, 8, 8, 10, 14, 15, 20, 20,
+  24, 28, 31, 30, 29, 25, 22, 19, 18, 22, 28, 27, 20, 10, 20, 12,
+  7, 11, 17, 20, 22, 25, 29, 34, 32, 23, 18, 18, 255, 255, 255, 255,
+  22, 15, 25, 19, 22, 19, 13, 17, 7, 7, 8, 8, 7, 9, 12, 13,
+  14, 5, 3, 0, 0, 0, 0, 4, 9, 4, 7, 9, 8, 9, 7, 9,
+  11, 8, 7, 6, 5, 5, 6, 8, 10, 13, 14, 13, 14, 14, 15, 16,
+  16, 18, 14, 9, 3, 0, 0, 0, 1, 1, 1, 0, 2, 6, 13, 15,
+  15, 7, 10, 14, 15, 15, 16, 16, 18, 10, 11, 13, 13, 15, 15, 17,
+  16, 9, 9, 10, 9, 11, 10, 11, 11, 19, 19, 18, 15, 20, 29, 34,
+  34, 41, 33, 23, 17, 15, 15, 16, 17, 18, 19, 22, 27, 31, 31, 29,
+  26, 24, 21, 18, 20, 24, 25, 21, 14, 23, 14, 10, 14, 19, 22, 26,
+  29, 30, 35, 33, 24, 18, 97, 255, 255, 255, 255, 23, 18, 28, 20, 22,
+  19, 12, 16, 6, 10, 8, 7, 6, 8, 8, 9, 12, 0, 0, 0, 0,
+  0, 0, 0, 2, 3, 6, 7, 8, 9, 9, 10, 11, 9, 9, 7, 4,
+  4, 3, 4, 5, 12, 12, 14, 14, 12, 12, 8, 8, 13, 11, 8, 7,
+  9, 10, 11, 13, 0, 0, 0, 0, 0, 0, 0, 2, 1, 4, 6, 9,
+  10, 10, 13, 16, 8, 11, 16, 21, 21, 21, 18, 15, 12, 12, 11, 11,
+  10, 9, 9, 9, 18, 17, 16, 13, 17, 27, 33, 32, 34, 30, 26, 23,
+  20, 17, 14, 10, 11, 11, 10, 14, 17, 20, 19, 18, 20, 18, 16, 17,
+  20, 24, 24, 23, 25, 22, 22, 21, 17, 16, 21, 27, 31, 36, 34, 24,
+  19, 255, 255, 255, 255, 255, 178, 20, 29, 20, 21, 18, 11, 15, 5, 8,
+  4, 1, 1, 1, 0, 1, 6, 0, 0, 1, 0, 0, 0, 0, 2, 5,
+  6, 9, 9, 9, 10, 11, 12, 10, 9, 8, 6, 4, 2, 1, 0, 5,
+  6, 8, 8, 9, 9, 8, 8, 4, 5, 8, 11, 15, 20, 23, 25, 24,
+  17, 9, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 6, 9, 12, 13,
+  18, 23, 29, 29, 26, 21, 18, 14, 15, 14, 15, 13, 11, 10, 10, 15,
+  14, 11, 9, 16, 26, 29, 29, 30, 26, 21, 21, 21, 18, 12, 7, 8,
+  6, 5, 6, 8, 9, 9, 7, 12, 12, 12, 15, 19, 22, 27, 29, 27,
+  30, 32, 29, 16, 7, 11, 20, 32, 37, 35, 25, 19, 255, 255, 255, 255,
+  255, 255, 18, 27, 18, 19, 16, 9, 15, 5, 8, 2, 0, 0, 0, 0,
+  0, 3, 0, 2, 3, 4, 3, 2, 4, 6, 6, 7, 9, 10, 10, 10,
+  10, 13, 7, 8, 9, 10, 8, 6, 2, 1, 5, 5, 2, 3, 3, 6,
+  9, 10, 3, 6, 11, 15, 20, 22, 24, 25, 38, 33, 26, 19, 15, 10,
+  5, 2, 2, 3, 4, 3, 3, 7, 10, 15, 20, 23, 28, 30, 31, 29,
+  24, 22, 16, 16, 15, 15, 15, 14, 11, 9, 10, 11, 9, 10, 14, 25,
+  30, 29, 29, 24, 16, 17, 21, 22, 17, 9, 8, 6, 6, 6, 6, 5,
+  2, 0, 3, 7, 9, 12, 14, 20, 24, 30, 25, 29, 35, 34, 22, 10,
+  12, 17, 33, 38, 35, 25, 19, 255, 255, 255, 255, 255, 255, 15, 24, 16,
+  17, 14, 9, 14, 5, 7, 0, 0, 0, 0, 0, 0, 6, 6, 5, 6,
+  4, 3, 6, 8, 13, 8, 9, 11, 11, 10, 10, 12, 12, 5, 7, 10,
+  10, 10, 9, 6, 4, 8, 6, 0, 0, 0, 1, 8, 10, 12, 15, 18,
+  22, 24, 23, 21, 18, 27, 26, 25, 25, 24, 23, 19, 15, 19, 19, 15,
+  12, 10, 12, 15, 19, 23, 26, 29, 29, 30, 28, 25, 22, 14, 14, 15,
+  14, 14, 12, 10, 8, 6, 10, 9, 8, 15, 24, 28, 27, 31, 22, 12,
+  14, 20, 24, 20, 14, 9, 9, 9, 10, 9, 4, 0, 0, 0, 1, 4,
+  8, 11, 15, 22, 26, 20, 24, 30, 35, 28, 19, 17, 20, 33, 38, 35,
+  25, 19, 255, 255, 255, 255, 255, 255, 11, 19, 19, 13, 13, 14, 10, 0,
+  0, 0, 1, 3, 1, 0, 0, 0, 0, 10, 15, 4, 0, 3, 9, 9,
+  0, 0, 2, 6, 7, 9, 11, 12, 6, 10, 16, 19, 19, 15, 14, 13,
+  0, 0, 1, 5, 9, 12, 14, 15, 17, 16, 15, 12, 12, 12, 13, 14,
+  18, 19, 20, 20, 21, 21, 20, 20, 18, 19, 19, 19, 18, 16, 14, 12,
+  16, 19, 23, 25, 23, 17, 10, 7, 11, 11, 10, 10, 10, 10, 10, 10,
+  1, 6, 13, 23, 32, 34, 34, 33, 34, 25, 17, 15, 15, 20, 25, 33,
+  24, 14, 2, 0, 0, 1, 7, 10, 0, 1, 2, 4, 5, 4, 8, 12,
+  25, 25, 25, 24, 23, 22, 23, 22, 38, 33, 26, 19, 15, 255, 255, 255,
+  255, 255, 255, 13, 21, 21, 16, 15, 16, 12, 1, 0, 0, 0, 3, 0,
+  0, 0, 2, 7, 17, 19, 8, 2, 6, 9, 7, 0, 0, 2, 6, 6,
+  7, 9, 11, 9, 12, 17, 18, 15, 12, 9, 7, 0, 1, 3, 6, 11,
+  13, 13, 14, 17, 16, 14, 14, 14, 14, 16, 17, 20, 20, 21, 22, 23,
+  22, 22, 22, 21, 21, 21, 20, 19, 18, 17, 16, 18, 18, 20, 21, 21,
+  17, 14, 10, 8, 9, 8, 8, 8, 8, 10, 10, 4, 8, 16, 24, 34,
+  38, 38, 37, 40, 30, 21, 18, 18, 20, 25, 33, 27, 18, 8, 2, 0,
+  0, 0, 0, 0, 0, 2, 3, 3, 3, 4, 5, 14, 16, 21, 24, 25,
+  26, 26, 26, 37, 34, 27, 19, 15, 255, 255, 255, 255, 255, 255, 13, 20,
+  21, 16, 15, 14, 11, 3, 0, 0, 1, 3, 0, 0, 0, 5, 15, 20,
+  19, 10, 7, 11, 12, 8, 1, 2, 4, 4, 4, 5, 8, 10, 10, 15,
+  18, 16, 14, 9, 6, 5, 3, 5, 8, 10, 12, 14, 15, 14, 14, 15,
+  14, 15, 18, 21, 22, 25, 25, 25, 26, 27, 27, 27, 27, 27, 24, 24,
+  23, 22, 21, 21, 21, 21, 20, 20, 20, 20, 19, 19, 16, 16, 9, 8,
+  6, 7, 5, 9, 11, 13, 8, 13, 20, 30, 38, 42, 43, 42, 47, 36,
+  25, 22, 21, 21, 24, 31, 27, 23, 18, 12, 9, 4, 0, 0, 0, 1,
+  4, 5, 4, 2, 2, 2, 5, 9, 15, 25, 32, 36, 39, 41, 37, 35,
+  27, 20, 17, 255, 255, 255, 255, 255, 255, 11, 17, 18, 15, 12, 10, 9,
+  4, 3, 0, 3, 3, 0, 0, 0, 8, 16, 18, 15, 10, 10, 15, 16,
+  13, 7, 8, 6, 6, 4, 6, 9, 12, 13, 15, 17, 16, 12, 8, 6,
+  5, 9, 11, 14, 14, 15, 14, 13, 12, 13, 13, 13, 16, 19, 24, 28,
+  30, 29, 30, 31, 32, 32, 32, 32, 31, 28, 27, 26, 24, 24, 25, 26,
+  27, 23, 23, 24, 24, 25, 23, 22, 21, 9, 8, 6, 5, 6, 9, 13,
+  14, 14, 16, 22, 31, 40, 45, 47, 45, 53, 41, 31, 26, 24, 23, 25,
+  30, 21, 21, 20, 19, 17, 15, 12, 9, 6, 7, 8, 7, 5, 3, 4,
+  5, 1, 2, 7, 16, 26, 37, 48, 52, 39, 35, 27, 22, 19, 255, 255,
+  255, 255, 255, 255, 174, 16, 17, 16, 12, 9, 9, 6, 0, 0, 2, 1,
+  0, 0, 3, 12, 14, 13, 9, 6, 8, 12, 13, 11, 10, 11, 10, 8,
+  8, 7, 8, 11, 12, 14, 17, 14, 13, 11, 11, 11, 16, 17, 20, 18,
+  18, 16, 13, 10, 13, 13, 14, 17, 20, 25, 28, 30, 30, 31, 32, 33,
+  33, 33, 33, 32, 27, 26, 25, 24, 24, 26, 27, 28, 25, 28, 29, 31,
+  30, 27, 23, 20, 11, 9, 7, 6, 8, 10, 14, 14, 16, 19, 25, 32,
+  40, 44, 45, 45, 50, 42, 31, 29, 26, 24, 25, 30, 19, 19, 20, 21,
+  20, 20, 20, 21, 14, 14, 14, 11, 8, 7, 7, 9, 6, 3, 2, 4,
+  11, 25, 37, 47, 40, 36, 29, 22, 20, 255, 255, 255, 255, 255, 255, 255,
+  17, 19, 18, 14, 9, 10, 11, 0, 0, 3, 4, 0, 0, 4, 16, 16,
+  13, 8, 6, 6, 8, 9, 9, 14, 14, 13, 13, 10, 10, 10, 12, 13,
+  15, 15, 14, 12, 12, 12, 14, 19, 21, 23, 23, 21, 19, 15, 12, 15,
+  16, 15, 16, 19, 22, 23, 26, 29, 29, 30, 31, 31, 31, 31, 31, 25,
+  25, 25, 25, 26, 27, 28, 28, 28, 29, 32, 32, 30, 25, 20, 18, 13,
+  11, 9, 9, 7, 10, 12, 14, 16, 19, 24, 30, 37, 41, 42, 42, 44,
+  35, 31, 30, 28, 26, 25, 27, 25, 24, 23, 21, 16, 15, 17, 19, 18,
+  18, 16, 14, 11, 9, 11, 12, 20, 14, 8, 5, 6, 17, 28, 36, 41,
+  36, 29, 24, 22, 255, 255, 255, 255, 255, 255, 255, 17, 19, 19, 14, 8,
+  10, 13, 0, 4, 7, 6, 1, 0, 3, 12, 12, 9, 6, 4, 3, 4,
+  7, 10, 15, 15, 16, 17, 13, 12, 13, 13, 12, 13, 14, 12, 10, 11,
+  12, 14, 18, 21, 23, 25, 26, 23, 19, 17, 19, 18, 16, 15, 15, 16,
+  18, 19, 26, 26, 27, 28, 29, 28, 28, 28, 21, 22, 23, 24, 25, 26,
+  26, 26, 29, 30, 29, 27, 22, 18, 15, 12, 11, 12, 10, 9, 8, 7,
+  8, 8, 16, 16, 21, 27, 34, 37, 37, 36, 34, 28, 26, 30, 31, 27,
+  26, 28, 35, 33, 30, 23, 15, 10, 8, 10, 21, 23, 23, 23, 20, 16,
+  16, 15, 24, 22, 19, 17, 17, 21, 26, 29, 41, 37, 31, 26, 24, 255,
+  255, 255, 255, 255, 255, 255, 14, 16, 17, 12, 5, 8, 12, 9, 9, 13,
+  10, 0, 0, 0, 5, 6, 5, 4, 4, 3, 5, 11, 17, 15, 16, 18,
+  20, 17, 14, 13, 15, 13, 13, 12, 10, 9, 7, 10, 12, 15, 18, 22,
+  26, 28, 27, 25, 23, 19, 18, 17, 14, 14, 14, 15, 16, 23, 24, 25,
+  25, 26, 26, 25, 25, 17, 19, 21, 23, 24, 24, 24, 23, 31, 28, 24,
+  19, 14, 13, 9, 9, 11, 11, 10, 9, 7, 6, 6, 5, 16, 16, 18,
+  25, 30, 35, 34, 33, 27, 23, 24, 29, 32, 27, 25, 26, 42, 41, 36,
+  27, 16, 8, 4, 3, 23, 26, 31, 33, 30, 24, 19, 18, 15, 17, 20,
+  21, 23, 25, 24, 24, 42, 37, 31, 27, 24, 255, 255, 255, 255, 255, 255,
+  255, 255, 21, 21, 11, 3, 3, 12, 12, 8, 3, 0, 0, 0, 3, 12,
+  5, 15, 17, 6, 0, 8, 16, 15, 26, 24, 20, 18, 17, 16, 17, 17,
+  3, 5, 11, 15, 17, 17, 14, 14, 24, 23, 23, 22, 20, 18, 17, 15,
+  13, 10, 9, 9, 12, 17, 21, 24, 26, 27, 28, 29, 29, 29, 29, 28,
+  24, 22, 18, 19, 22, 21, 20, 19, 11, 11, 12, 14, 11, 9, 5, 4,
+  13, 14, 18, 18, 17, 16, 12, 10, 17, 22, 26, 28, 26, 28, 29, 32,
+  39, 36, 30, 21, 16, 16, 20, 25, 25, 28, 32, 33, 27, 23, 20, 20,
+  24, 26, 26, 25, 20, 15, 13, 13, 21, 22, 23, 25, 29, 33, 38, 40,
+  42, 44, 38, 28, 22, 255, 255, 255, 255, 255, 255, 255, 255, 23, 24, 16,
+  6, 7, 14, 17, 16, 14, 9, 4, 1, 1, 2, 0, 10, 16, 9, 5,
+  13, 17, 15, 23, 22, 21, 20, 18, 17, 17, 16, 4, 7, 11, 15, 15,
+  15, 15, 14, 23, 23, 23, 22, 20, 18, 17, 17, 10, 10, 7, 7, 9,
+  12, 16, 20, 21, 21, 22, 24, 25, 26, 26, 27, 26, 24, 20, 18, 17,
+  16, 13, 9, 6, 6, 7, 7, 7, 3, 1, 1, 8, 11, 16, 18, 18,
+  17, 12, 10, 12, 17, 22, 27, 30, 32, 34, 34, 40, 37, 30, 22, 18,
+  17, 18, 20, 20, 24, 30, 30, 27, 23, 21, 19, 23, 25, 27, 24, 20,
+  19, 17, 17, 24, 25, 25, 26, 31, 34, 39, 41, 42, 42, 37, 27, 19,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 25, 17, 8, 9, 15, 16, 19,
+  19, 20, 18, 11, 3, 0, 0, 4, 10, 9, 9, 16, 17, 14, 21, 20,
+  20, 20, 18, 18, 16, 15, 8, 9, 11, 13, 12, 13, 15, 14, 21, 21,
+  20, 17, 17, 15, 15, 15, 10, 8, 6, 4, 6, 10, 12, 14, 11, 11,
+  12, 14, 16, 18, 20, 22, 27, 24, 22, 21, 20, 15, 11, 9, 3, 4,
+  5, 6, 4, 1, 0, 0, 7, 10, 13, 16, 17, 15, 13, 10, 9, 11,
+  18, 26, 35, 39, 40, 40, 42, 37, 30, 24, 22, 19, 15, 12, 15, 18,
+  22, 24, 23, 20, 17, 17, 19, 21, 23, 21, 20, 18, 19, 19, 24, 24,
+  25, 27, 30, 33, 36, 40, 42, 43, 37, 25, 18, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 24, 16, 8, 8, 15, 14, 15, 18, 24, 26, 22, 13,
+  4, 0, 1, 6, 7, 10, 16, 16, 13, 17, 18, 20, 19, 20, 19, 16,
+  16, 11, 11, 10, 10, 10, 12, 15, 15, 19, 17, 14, 13, 11, 11, 13,
+  14, 12, 11, 8, 6, 7, 8, 10, 12, 4, 4, 5, 7, 10, 14, 17,
+  18, 20, 20, 21, 19, 17, 15, 10, 9, 5, 5, 7, 7, 8, 6, 5,
+  5, 10, 11, 14, 15, 15, 14, 12, 11, 6, 8, 13, 22, 34, 44, 46,
+  46, 43, 38, 31, 26, 25, 21, 13, 8, 8, 11, 14, 16, 18, 16, 14,
+  12, 15, 17, 18, 17, 16, 14, 17, 17, 20, 21, 21, 25, 27, 29, 34,
+  37, 42, 42, 35, 23, 18, 255, 255, 255, 255, 255, 255, 255, 255, 255, 178,
+  18, 10, 12, 18, 19, 20, 19, 22, 25, 25, 20, 13, 3, 5, 4, 6,
+  12, 18, 19, 17, 16, 17, 20, 18, 19, 19, 18, 16, 13, 11, 9, 8,
+  9, 10, 13, 15, 18, 15, 12, 11, 10, 11, 13, 14, 15, 13, 12, 10,
+  10, 9, 11, 12, 4, 4, 6, 8, 11, 14, 17, 18, 15, 16, 16, 14,
+  10, 7, 6, 3, 8, 9, 9, 11, 11, 12, 11, 11, 18, 17, 14, 13,
+  12, 12, 13, 13, 8, 8, 12, 20, 32, 43, 48, 51, 45, 39, 32, 27,
+  26, 22, 15, 9, 0, 2, 5, 6, 12, 15, 14, 15, 16, 16, 18, 16,
+  16, 13, 15, 16, 20, 21, 22, 24, 28, 31, 34, 39, 43, 42, 34, 22,
+  18, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 20, 13, 17, 26, 36,
+  31, 25, 18, 16, 15, 17, 17, 11, 9, 7, 8, 13, 20, 22, 23, 16,
+  17, 16, 18, 19, 19, 19, 20, 14, 11, 10, 8, 8, 11, 12, 14, 18,
+  16, 12, 8, 9, 11, 15, 17, 15, 14, 11, 11, 9, 11, 10, 11, 7,
+  9, 11, 14, 16, 17, 18, 18, 18, 18, 16, 13, 8, 5, 3, 3, 7,
+  6, 9, 9, 12, 13, 15, 14, 21, 18, 16, 13, 12, 12, 11, 13, 9,
+  9, 12, 21, 29, 39, 44, 47, 45, 41, 34, 28, 25, 22, 18, 16, 0,
+  0, 0, 2, 7, 12, 17, 18, 16, 18, 20, 21, 18, 18, 17, 18, 21,
+  22, 24, 27, 31, 37, 40, 43, 44, 42, 34, 23, 19, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 14, 19, 30, 48, 40, 26, 11, 2, 2,
+  5, 9, 11, 5, 1, 5, 14, 21, 21, 22, 16, 15, 17, 17, 18, 19,
+  20, 21, 15, 12, 10, 9, 9, 9, 11, 12, 17, 13, 8, 5, 5, 9,
+  12, 17, 11, 11, 9, 9, 8, 7, 9, 8, 7, 9, 12, 15, 16, 15,
+  14, 12, 14, 13, 12, 8, 2, 1, 3, 5, 5, 6, 6, 10, 12, 13,
+  15, 17, 14, 15, 14, 14, 13, 11, 11, 9, 7, 11, 19, 25, 31, 33,
+  38, 40, 45, 42, 35, 28, 23, 22, 23, 25, 12, 8, 1, 0, 4, 10,
+  14, 14, 12, 14, 20, 22, 23, 20, 20, 18, 21, 22, 24, 28, 31, 38,
+  43, 46, 45, 41, 33, 24, 21, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 13, 20, 29, 50, 40, 25, 4, 0, 0, 0, 2, 2, 0, 0,
+  2, 11, 17, 17, 16, 17, 16, 15, 16, 17, 19, 21, 22, 14, 13, 10,
+  8, 8, 9, 10, 12, 12, 9, 3, 0, 0, 3, 8, 11, 9, 7, 6,
+  5, 5, 5, 7, 6, 4, 6, 10, 13, 13, 11, 8, 6, 0, 0, 0,
+  0, 0, 0, 0, 2, 3, 5, 8, 9, 13, 15, 18, 19, 8, 10, 14,
+  16, 16, 13, 9, 7, 3, 12, 22, 30, 31, 30, 32, 34, 45, 43, 36,
+  27, 22, 22, 26, 32, 27, 19, 8, 3, 1, 3, 7, 6, 5, 11, 16,
+  21, 21, 21, 19, 19, 17, 19, 21, 24, 32, 37, 44, 47, 46, 43, 33,
+  25, 25, 102, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 71, 20,
+  35, 29, 17, 6, 0, 0, 0, 4, 3, 0, 0, 0, 9, 19, 22, 22,
+  17, 13, 11, 8, 9, 10, 14, 16, 13, 10, 7, 6, 8, 12, 13, 13,
+  6, 3, 3, 4, 7, 8, 9, 9, 16, 15, 12, 10, 7, 8, 6, 7,
+  12, 14, 11, 8, 9, 16, 14, 8, 7, 4, 1, 0, 0, 1, 7, 12,
+  6, 9, 12, 13, 14, 15, 20, 22, 12, 13, 14, 15, 15, 15, 13, 12,
+  11, 13, 18, 23, 26, 27, 25, 22, 33, 34, 35, 35, 32, 28, 25, 22,
+  34, 32, 27, 15, 1, 0, 0, 4, 2, 12, 18, 15, 15, 18, 21, 17,
+  10, 15, 21, 27, 34, 37, 43, 47, 54, 43, 29, 21, 21, 22, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 203, 16, 24, 21, 15, 6, 0,
+  0, 0, 1, 2, 0, 0, 0, 6, 14, 18, 19, 15, 14, 10, 8, 7,
+  10, 12, 14, 12, 9, 7, 8, 10, 11, 12, 11, 1, 0, 0, 0, 3,
+  4, 5, 4, 10, 8, 6, 5, 3, 4, 5, 4, 8, 10, 8, 4, 7,
+  12, 10, 4, 4, 1, 0, 0, 0, 5, 11, 13, 8, 6, 5, 5, 8,
+  10, 13, 12, 9, 11, 12, 12, 14, 13, 11, 11, 8, 11, 15, 20, 22,
+  23, 22, 20, 26, 28, 30, 31, 30, 27, 25, 24, 32, 32, 31, 22, 10,
+  2, 1, 2, 0, 7, 14, 14, 16, 21, 22, 19, 10, 14, 20, 24, 30,
+  36, 41, 45, 52, 42, 30, 21, 20, 20, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 11, 11, 12, 10, 6, 3, 1, 1, 2, 1, 0,
+  0, 0, 2, 7, 13, 16, 15, 14, 10, 8, 7, 9, 11, 13, 10, 9,
+  9, 9, 11, 11, 9, 7, 1, 0, 0, 0, 1, 3, 2, 2, 4, 2,
+  1, 1, 3, 3, 4, 5, 6, 8, 6, 5, 6, 8, 7, 3, 0, 0,
+  0, 0, 2, 8, 12, 15, 12, 6, 0, 0, 2, 7, 8, 5, 7, 7,
+  9, 9, 9, 10, 10, 9, 6, 7, 10, 12, 13, 14, 14, 13, 17, 18,
+  21, 26, 28, 28, 30, 29, 32, 32, 31, 28, 21, 13, 5, 0, 0, 3,
+  10, 15, 17, 21, 22, 19, 13, 15, 19, 23, 27, 31, 39, 43, 50, 41,
+  28, 20, 19, 17, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  173, 4, 5, 8, 7, 5, 4, 5, 6, 2, 3, 4, 1, 1, 3, 10,
+  15, 16, 14, 11, 8, 7, 9, 11, 13, 8, 9, 9, 11, 11, 11, 8,
+  5, 6, 2, 1, 0, 0, 3, 4, 3, 2, 3, 3, 3, 6, 7, 7,
+  8, 9, 9, 11, 10, 9, 9, 7, 5, 0, 0, 0, 3, 6, 8, 11,
+  13, 17, 12, 4, 0, 0, 3, 5, 6, 7, 7, 8, 6, 7, 6, 6,
+  5, 1, 3, 5, 6, 6, 7, 8, 10, 8, 10, 15, 20, 26, 30, 33,
+  33, 31, 30, 28, 27, 25, 18, 7, 0, 0, 5, 12, 16, 20, 21, 19,
+  16, 20, 20, 22, 24, 26, 31, 36, 41, 46, 39, 28, 21, 17, 15, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 172, 6, 8, 7,
+  7, 8, 11, 13, 5, 7, 8, 5, 3, 4, 10, 16, 17, 15, 12, 8,
+  9, 9, 11, 13, 6, 8, 9, 10, 13, 12, 7, 5, 9, 5, 1, 1,
+  2, 5, 4, 4, 2, 1, 3, 5, 7, 9, 10, 9, 10, 10, 11, 11,
+  11, 6, 4, 5, 1, 2, 3, 7, 6, 10, 9, 10, 15, 14, 11, 4,
+  0, 0, 2, 8, 10, 9, 7, 6, 5, 3, 3, 2, 1, 4, 7, 7,
+  6, 7, 6, 10, 6, 8, 13, 19, 24, 28, 33, 35, 33, 28, 23, 21,
+  21, 15, 7, 1, 1, 4, 9, 17, 21, 21, 18, 17, 24, 25, 26, 27,
+  27, 31, 36, 41, 42, 36, 29, 23, 17, 15, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 10, 11, 10, 8, 8, 11, 14, 6,
+  8, 9, 9, 6, 7, 12, 17, 17, 14, 10, 8, 8, 8, 11, 11, 7,
+  6, 8, 9, 12, 12, 9, 7, 10, 6, 3, 0, 0, 3, 3, 3, 1,
+  2, 3, 5, 6, 6, 7, 6, 7, 8, 10, 12, 9, 2, 0, 1, 8,
+  8, 8, 8, 8, 9, 8, 8, 9, 13, 13, 8, 0, 0, 1, 8, 8,
+  8, 6, 3, 2, 2, 1, 2, 3, 7, 11, 12, 9, 8, 10, 12, 5,
+  8, 11, 15, 21, 25, 29, 30, 31, 25, 20, 15, 13, 11, 6, 4, 0,
+  0, 4, 13, 19, 21, 21, 21, 27, 27, 28, 28, 29, 29, 33, 35, 39,
+  36, 30, 25, 21, 17, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 175, 14, 13, 11, 10, 9, 11, 7, 6, 8, 7, 9, 11,
+  14, 16, 14, 13, 9, 6, 6, 5, 6, 8, 5, 6, 5, 9, 11, 12,
+  12, 10, 11, 7, 2, 0, 0, 2, 2, 3, 2, 3, 4, 4, 5, 4,
+  3, 2, 6, 5, 9, 12, 8, 0, 0, 0, 11, 11, 12, 11, 10, 8,
+  9, 8, 6, 10, 12, 10, 3, 0, 0, 4, 3, 1, 1, 0, 0, 2,
+  2, 3, 0, 5, 10, 13, 10, 8, 9, 11, 7, 9, 9, 12, 16, 20,
+  23, 24, 27, 22, 18, 12, 8, 8, 6, 3, 0, 0, 0, 9, 16, 17,
+  17, 20, 25, 27, 27, 26, 25, 26, 28, 29, 37, 37, 33, 28, 23, 20,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176,
+  16, 12, 9, 6, 6, 7, 6, 6, 6, 10, 13, 15, 17, 13, 11, 6,
+  4, 2, 3, 5, 7, 5, 5, 4, 7, 11, 13, 13, 10, 14, 10, 4,
+  1, 0, 4, 4, 3, 4, 6, 6, 6, 7, 5, 3, 3, 8, 7, 9,
+  13, 8, 0, 0, 0, 14, 12, 11, 11, 10, 10, 9, 11, 6, 9, 10,
+  12, 9, 6, 3, 2, 0, 0, 0, 0, 0, 1, 3, 5, 0, 0, 9,
+  10, 8, 4, 6, 7, 8, 8, 8, 9, 12, 16, 19, 20, 24, 21, 17,
+  12, 9, 6, 4, 4, 4, 0, 0, 7, 13, 12, 12, 15, 21, 23, 25,
+  26, 22, 22, 22, 22, 37, 36, 33, 29, 25, 22, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 14, 10, 6,
+  1, 3, 3, 0, 0, 6, 10, 11, 12, 10, 7, 5, 5, 5, 7, 8,
+  8, 11, 12, 10, 8, 6, 5, 8, 6, 7, 5, 0, 0, 4, 6, 4,
+  7, 11, 12, 11, 7, 6, 7, 9, 6, 5, 7, 12, 7, 1, 0, 2,
+  10, 14, 16, 19, 19, 20, 23, 25, 17, 17, 10, 4, 1, 5, 2, 0,
+  0, 0, 1, 3, 3, 1, 0, 0, 8, 11, 11, 12, 11, 6, 1, 0,
+  0, 0, 10, 15, 16, 14, 14, 16, 21, 23, 20, 14, 10, 10, 6, 1,
+  0, 0, 0, 4, 7, 8, 13, 20, 25, 28, 27, 27, 25, 24, 27, 31,
+  30, 32, 31, 26, 20, 16, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 175, 11, 9, 0, 0, 0, 0, 0,
+  8, 15, 16, 10, 8, 5, 3, 2, 2, 4, 5, 8, 10, 11, 10, 8,
+  6, 6, 7, 11, 13, 8, 2, 1, 5, 6, 4, 7, 8, 9, 9, 7,
+  6, 5, 6, 4, 3, 5, 10, 8, 4, 3, 6, 12, 12, 15, 15, 15,
+  16, 20, 22, 19, 18, 14, 8, 6, 6, 4, 0, 0, 0, 1, 2, 1,
+  0, 0, 0, 2, 5, 6, 8, 5, 3, 0, 0, 0, 0, 3, 8, 8,
+  6, 8, 9, 17, 21, 21, 18, 15, 15, 13, 9, 5, 1, 0, 2, 6,
+  7, 10, 16, 22, 23, 25, 25, 22, 20, 23, 26, 29, 30, 29, 25, 20,
+  18, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 174, 2, 0, 0, 0, 0, 13, 17, 17, 11, 9,
+  5, 3, 1, 1, 3, 3, 6, 8, 9, 9, 7, 7, 8, 9, 15, 15,
+  12, 5, 2, 5, 5, 4, 5, 6, 6, 7, 7, 6, 3, 2, 0, 0,
+  1, 7, 7, 5, 9, 14, 14, 15, 13, 12, 10, 12, 16, 19, 19, 18,
+  16, 12, 9, 7, 5, 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0,
+  1, 3, 3, 1, 0, 0, 0, 0, 0, 2, 0, 1, 2, 6, 14, 20,
+  22, 23, 25, 24, 23, 17, 14, 6, 0, 1, 4, 5, 7, 11, 17, 19,
+  22, 19, 16, 14, 18, 21, 26, 28, 30, 27, 22, 18, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 201, 59, 0, 6, 15, 19, 16, 10, 8, 5, 2, 1, 1, 2,
+  2, 7, 9, 8, 8, 6, 7, 9, 11, 14, 16, 12, 6, 3, 7, 8,
+  7, 4, 3, 2, 5, 6, 7, 2, 0, 0, 0, 0, 4, 7, 7, 12,
+  19, 18, 17, 15, 13, 11, 13, 17, 21, 14, 16, 14, 12, 9, 8, 3,
+  0, 3, 3, 2, 4, 5, 6, 4, 2, 0, 0, 1, 3, 4, 5, 5,
+  3, 0, 2, 3, 1, 0, 0, 5, 10, 14, 21, 27, 27, 28, 31, 26,
+  21, 20, 10, 1, 1, 3, 4, 7, 9, 14, 18, 19, 17, 12, 10, 15,
+  19, 26, 27, 30, 28, 24, 19, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 172,
+  10, 17, 19, 15, 12, 10, 7, 4, 3, 3, 4, 5, 7, 8, 8, 8,
+  6, 6, 9, 11, 10, 12, 8, 4, 3, 8, 11, 8, 5, 2, 0, 2,
+  4, 5, 2, 0, 0, 0, 0, 4, 6, 8, 15, 23, 22, 23, 19, 15,
+  13, 15, 20, 23, 11, 13, 15, 12, 12, 12, 8, 1, 5, 3, 1, 2,
+  7, 10, 9, 6, 0, 1, 2, 3, 4, 5, 6, 6, 5, 7, 7, 6,
+  3, 4, 9, 16, 17, 24, 30, 31, 32, 31, 26, 19, 24, 14, 4, 2,
+  3, 5, 8, 13, 13, 18, 21, 18, 12, 11, 13, 18, 28, 31, 33, 31,
+  26, 20, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 12, 16, 18, 13, 11,
+  9, 7, 4, 4, 4, 6, 7, 9, 9, 10, 6, 5, 5, 8, 11, 7,
+  8, 6, 3, 3, 8, 11, 11, 5, 4, 3, 3, 5, 5, 4, 3, 1,
+  0, 1, 8, 7, 9, 16, 24, 24, 23, 21, 16, 15, 16, 21, 26, 10,
+  13, 15, 14, 17, 20, 16, 12, 6, 3, 0, 1, 5, 7, 8, 6, 3,
+  3, 3, 3, 4, 4, 5, 6, 8, 9, 9, 6, 3, 8, 14, 18, 25,
+  30, 35, 33, 32, 31, 25, 19, 25, 17, 10, 7, 5, 4, 9, 15, 16,
+  21, 23, 20, 12, 11, 14, 20, 32, 35, 35, 31, 24, 21, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 15, 16, 14, 9, 8, 6, 4, 3, 3, 4,
+  6, 7, 10, 11, 9, 7, 5, 4, 7, 9, 6, 8, 7, 3, 4, 10,
+  13, 12, 6, 6, 5, 4, 3, 3, 5, 7, 4, 5, 5, 10, 11, 10,
+  14, 21, 20, 21, 20, 18, 16, 16, 21, 24, 5, 9, 12, 13, 18, 23,
+  22, 19, 12, 7, 1, 2, 4, 7, 7, 4, 7, 6, 4, 4, 3, 3,
+  6, 7, 9, 11, 10, 9, 6, 10, 16, 21, 29, 36, 38, 35, 33, 32,
+  26, 19, 26, 21, 16, 11, 6, 2, 7, 16, 16, 22, 25, 21, 12, 11,
+  15, 22, 33, 35, 34, 30, 23, 18, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 13, 10, 7, 6, 5, 3, 2, 2, 4, 6, 8, 12, 11, 10,
+  6, 5, 3, 7, 8, 8, 11, 7, 3, 5, 11, 13, 12, 8, 9, 7,
+  5, 2, 2, 7, 12, 9, 8, 8, 11, 12, 11, 15, 20, 18, 17, 16,
+  15, 15, 15, 17, 21, 2, 6, 8, 11, 16, 22, 23, 19, 18, 12, 5,
+  4, 6, 8, 7, 3, 12, 11, 8, 6, 4, 6, 7, 7, 10, 13, 12,
+  11, 9, 13, 18, 25, 34, 38, 39, 36, 34, 31, 27, 21, 27, 25, 21,
+  16, 5, 1, 5, 16, 17, 21, 26, 23, 14, 10, 15, 21, 34, 35, 33,
+  28, 21, 18, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 25, 15, 7,
+  9, 7, 5, 4, 2, 2, 4, 6, 3, 6, 7, 7, 5, 4, 3, 5,
+  5, 5, 6, 4, 4, 7, 11, 16, 2, 4, 5, 4, 2, 4, 8, 13,
+  4, 1, 3, 7, 8, 7, 10, 16, 17, 15, 10, 5, 4, 4, 7, 8,
+  14, 12, 12, 14, 18, 23, 26, 26, 32, 26, 19, 14, 12, 10, 9, 10,
+  11, 9, 7, 4, 0, 0, 0, 0, 0, 4, 12, 14, 16, 17, 24, 30,
+  39, 38, 34, 30, 27, 25, 22, 22, 27, 25, 23, 20, 11, 0, 0, 0,
+  17, 23, 25, 16, 9, 9, 18, 23, 37, 31, 27, 26, 24, 97, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 22, 14, 8, 7, 5, 3, 2, 0,
+  2, 2, 4, 4, 5, 6, 7, 7, 6, 6, 8, 6, 6, 7, 5, 5,
+  6, 11, 16, 6, 7, 9, 7, 6, 5, 11, 17, 11, 8, 9, 11, 11,
+  9, 11, 16, 15, 13, 10, 6, 5, 5, 8, 9, 6, 5, 6, 7, 9,
+  15, 18, 19, 24, 19, 13, 11, 8, 8, 7, 6, 12, 11, 7, 6, 4,
+  3, 3, 2, 2, 8, 13, 14, 14, 16, 22, 26, 37, 35, 33, 30, 27,
+  24, 23, 23, 29, 24, 23, 20, 13, 3, 0, 4, 14, 21, 23, 15, 9,
+  13, 21, 27, 35, 30, 26, 25, 23, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 176, 16, 11, 6, 3, 2, 1, 1, 0, 2, 1, 3, 6,
+  8, 9, 7, 8, 10, 12, 9, 12, 10, 6, 5, 5, 11, 17, 10, 12,
+  12, 9, 7, 7, 12, 16, 16, 11, 9, 11, 9, 5, 7, 9, 13, 10,
+  7, 5, 5, 5, 7, 8, 0, 0, 0, 0, 2, 8, 10, 14, 15, 12,
+  10, 9, 10, 10, 9, 6, 13, 11, 10, 9, 7, 7, 7, 7, 8, 11,
+  15, 14, 12, 15, 18, 23, 31, 30, 27, 25, 23, 21, 19, 18, 26, 23,
+  22, 19, 12, 5, 5, 10, 9, 16, 19, 14, 13, 18, 28, 31, 32, 28,
+  25, 25, 22, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 15,
+  10, 5, 5, 2, 2, 1, 2, 1, 2, 4, 7, 8, 8, 9, 10, 12,
+  15, 14, 15, 15, 10, 5, 4, 10, 15, 16, 17, 17, 11, 7, 6, 11,
+  14, 15, 10, 5, 7, 5, 3, 3, 6, 8, 7, 4, 3, 1, 1, 2,
+  3, 0, 1, 0, 0, 1, 5, 10, 14, 9, 9, 9, 11, 14, 16, 17,
+  14, 12, 11, 10, 9, 9, 7, 7, 8, 9, 11, 14, 14, 13, 15, 17,
+  20, 24, 24, 22, 19, 15, 14, 13, 11, 20, 18, 16, 14, 8, 4, 6,
+  13, 7, 12, 15, 14, 15, 23, 32, 33, 29, 26, 25, 24, 21, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 17, 10, 7, 6, 4, 2,
+  3, 2, 3, 4, 5, 5, 8, 8, 9, 11, 14, 16, 18, 19, 20, 15,
+  7, 4, 9, 14, 21, 19, 18, 12, 6, 4, 7, 11, 13, 5, 1, 3,
+  3, 2, 2, 3, 4, 4, 2, 1, 0, 0, 0, 0, 4, 4, 3, 2,
+  0, 3, 9, 13, 5, 4, 7, 11, 17, 19, 19, 19, 13, 12, 10, 7,
+  5, 5, 4, 4, 7, 8, 12, 12, 14, 14, 17, 17, 20, 19, 17, 16,
+  12, 10, 9, 9, 14, 11, 10, 7, 3, 0, 5, 14, 6, 10, 13, 14,
+  18, 27, 34, 34, 26, 25, 25, 25, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 16, 10, 5, 6, 6, 4, 3, 3, 2, 2, 5,
+  7, 9, 9, 9, 10, 14, 17, 19, 25, 25, 20, 9, 4, 6, 12, 20,
+  20, 18, 12, 6, 4, 6, 11, 6, 0, 0, 0, 0, 0, 0, 0, 2,
+  1, 3, 2, 1, 0, 0, 0, 6, 6, 4, 1, 0, 0, 5, 10, 0,
+  1, 3, 7, 11, 13, 14, 14, 11, 9, 8, 4, 4, 3, 3, 3, 4,
+  7, 10, 14, 14, 14, 13, 11, 16, 14, 13, 13, 12, 12, 10, 10, 10,
+  6, 4, 2, 0, 0, 5, 13, 9, 11, 12, 13, 20, 29, 33, 32, 23,
+  24, 26, 102, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  16, 11, 5, 5, 4, 3, 3, 1, 1, 1, 8, 7, 8, 8, 8, 10,
+  13, 17, 20, 27, 29, 24, 12, 4, 4, 7, 18, 18, 17, 13, 8, 6,
+  11, 15, 6, 0, 0, 0, 0, 0, 0, 0, 1, 3, 6, 6, 5, 5,
+  4, 3, 7, 9, 6, 0, 0, 0, 0, 6, 1, 1, 0, 1, 3, 5,
+  5, 3, 8, 6, 5, 4, 4, 3, 3, 4, 4, 6, 10, 13, 15, 11,
+  6, 3, 5, 5, 7, 7, 9, 10, 11, 12, 11, 7, 4, 3, 0, 0,
+  6, 16, 12, 14, 13, 13, 22, 30, 31, 28, 22, 24, 27, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 12, 3, 4, 3,
+  3, 2, 2, 0, 0, 7, 8, 8, 7, 8, 8, 13, 15, 21, 29, 33,
+  27, 13, 4, 4, 6, 15, 17, 16, 14, 10, 11, 15, 20, 17, 7, 0,
+  1, 2, 1, 1, 0, 0, 5, 8, 11, 12, 11, 12, 9, 11, 11, 8,
+  1, 0, 0, 0, 7, 5, 2, 0, 0, 0, 0, 0, 0, 5, 4, 4,
+  4, 3, 4, 5, 6, 4, 6, 11, 16, 15, 11, 4, 0, 0, 0, 0,
+  2, 5, 8, 11, 13, 13, 9, 5, 4, 0, 0, 8, 18, 15, 15, 14,
+  15, 21, 30, 31, 27, 22, 24, 103, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 8, 10, 7, 4, 4, 4, 3, 2, 0,
+  13, 10, 7, 4, 3, 4, 10, 14, 12, 20, 29, 28, 17, 9, 7, 8,
+  15, 21, 27, 26, 20, 11, 8, 7, 3, 3, 1, 0, 0, 1, 6, 7,
+  5, 8, 12, 16, 17, 17, 11, 6, 15, 23, 24, 16, 7, 8, 16, 22,
+  19, 15, 5, 3, 7, 13, 8, 0, 7, 0, 0, 9, 8, 7, 9, 5,
+  0, 11, 17, 20, 23, 14, 2, 2, 4, 3, 1, 0, 0, 0, 1, 5,
+  11, 16, 14, 6, 5, 13, 19, 18, 18, 12, 14, 27, 39, 36, 31, 28,
+  17, 20, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 8, 9, 7, 4, 5, 5, 4, 2, 0, 11, 8, 5, 2, 0,
+  3, 7, 11, 11, 21, 29, 29, 20, 11, 7, 6, 8, 17, 23, 26, 21,
+  13, 10, 9, 13, 15, 14, 13, 16, 17, 11, 2, 0, 0, 5, 13, 16,
+  16, 12, 9, 20, 31, 35, 27, 23, 27, 39, 46, 35, 25, 14, 14, 27,
+  36, 30, 16, 16, 3, 8, 20, 20, 18, 16, 10, 6, 19, 26, 29, 34,
+  23, 7, 6, 0, 0, 0, 0, 0, 0, 4, 7, 19, 19, 16, 12, 13,
+  20, 26, 25, 17, 17, 21, 32, 39, 35, 28, 24, 29, 107, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 9, 10, 8,
+  4, 4, 4, 5, 2, 1, 9, 6, 5, 0, 0, 0, 4, 8, 12, 20,
+  28, 31, 24, 14, 7, 5, 3, 10, 20, 24, 20, 17, 12, 11, 17, 19,
+  17, 18, 22, 23, 13, 0, 0, 0, 0, 1, 5, 12, 13, 13, 26, 38,
+  44, 38, 33, 38, 53, 64, 48, 33, 19, 23, 41, 54, 45, 27, 23, 8,
+  13, 29, 32, 28, 23, 14, 15, 28, 35, 38, 44, 30, 12, 5, 0, 0,
+  0, 0, 0, 1, 7, 8, 23, 21, 17, 16, 21, 30, 32, 30, 15, 16,
+  19, 27, 28, 20, 12, 8, 18, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 173, 11, 9, 4, 3, 3, 4, 3,
+  2, 8, 7, 4, 0, 0, 0, 3, 7, 10, 18, 28, 30, 27, 17, 8,
+  4, 0, 8, 17, 22, 22, 18, 13, 9, 21, 19, 15, 12, 14, 15, 14,
+  8, 14, 7, 0, 0, 0, 1, 7, 12, 24, 36, 43, 35, 27, 31, 46,
+  59, 51, 38, 21, 24, 40, 54, 45, 30, 27, 9, 11, 30, 36, 33, 28,
+  20, 21, 33, 38, 41, 45, 31, 9, 3, 2, 4, 4, 6, 5, 6, 10,
+  12, 19, 18, 16, 20, 29, 32, 32, 27, 16, 16, 17, 18, 16, 11, 7,
+  6, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 11, 8, 6, 4, 4, 4, 3, 2, 7, 7, 6, 2,
+  1, 2, 4, 7, 9, 17, 26, 31, 29, 22, 10, 3, 1, 6, 15, 20,
+  20, 18, 12, 9, 22, 27, 24, 17, 12, 12, 13, 14, 27, 19, 9, 0,
+  0, 0, 0, 0, 11, 24, 31, 26, 19, 26, 41, 52, 51, 41, 30, 29,
+  39, 47, 43, 31, 34, 13, 14, 33, 40, 37, 35, 31, 32, 40, 40, 39,
+  38, 22, 2, 0, 0, 3, 7, 10, 12, 14, 16, 18, 16, 15, 18, 26,
+  32, 32, 24, 18, 19, 20, 20, 19, 23, 31, 38, 40, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 12,
+  8, 6, 3, 4, 4, 5, 5, 6, 6, 5, 3, 2, 3, 7, 10, 10,
+  15, 22, 30, 30, 24, 16, 7, 4, 8, 14, 19, 21, 19, 13, 11, 17,
+  28, 35, 29, 19, 13, 9, 6, 25, 21, 17, 14, 8, 2, 0, 0, 0,
+  8, 18, 17, 16, 25, 38, 46, 47, 43, 35, 34, 39, 47, 42, 36, 41,
+  18, 19, 38, 42, 37, 37, 37, 40, 47, 43, 33, 27, 12, 0, 0, 0,
+  0, 8, 15, 20, 22, 24, 24, 19, 17, 22, 30, 34, 27, 18, 13, 15,
+  17, 20, 25, 39, 59, 131, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 13, 9, 5, 2, 3, 5,
+  5, 4, 4, 4, 4, 3, 2, 5, 8, 11, 10, 12, 20, 28, 32, 28,
+  19, 11, 4, 6, 12, 16, 19, 18, 18, 14, 13, 24, 33, 33, 29, 21,
+  14, 7, 15, 16, 15, 15, 13, 9, 3, 0, 0, 4, 9, 9, 11, 18,
+  25, 28, 31, 28, 25, 28, 36, 44, 40, 31, 41, 20, 23, 42, 42, 32,
+  31, 32, 37, 43, 37, 23, 16, 4, 0, 6, 0, 7, 17, 27, 31, 31,
+  29, 28, 23, 21, 24, 30, 28, 18, 10, 8, 14, 19, 26, 35, 53, 132,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 13, 9, 5, 3, 4, 5, 4, 6, 2, 2, 3,
+  4, 3, 4, 9, 12, 10, 12, 18, 25, 32, 30, 21, 13, 4, 6, 10,
+  16, 19, 22, 20, 18, 15, 23, 30, 33, 36, 34, 28, 18, 13, 10, 7,
+  8, 11, 14, 15, 15, 2, 6, 8, 4, 3, 5, 7, 4, 13, 11, 10,
+  16, 28, 38, 34, 23, 34, 15, 20, 39, 35, 21, 17, 19, 24, 32, 26,
+  14, 8, 2, 2, 15, 9, 19, 29, 37, 38, 35, 31, 28, 25, 23, 24,
+  25, 20, 10, 2, 5, 22, 27, 33, 44, 58, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  176, 16, 9, 0, 0, 1, 7, 7, 6, 6, 5, 4, 4, 5, 5, 6,
+  13, 12, 14, 16, 23, 29, 22, 12, 15, 11, 9, 18, 27, 28, 25, 25,
+  20, 21, 24, 30, 33, 31, 20, 11, 21, 16, 13, 14, 12, 5, 4, 6,
+  10, 8, 7, 10, 11, 7, 0, 0, 3, 0, 0, 3, 14, 21, 22, 19,
+  20, 20, 21, 20, 19, 16, 10, 6, 20, 20, 18, 11, 5, 2, 4, 8,
+  23, 32, 41, 42, 38, 34, 26, 20, 26, 27, 29, 28, 19, 7, 4, 7,
+  14, 26, 32, 50, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 19, 13, 2, 0,
+  1, 2, 4, 5, 4, 4, 3, 4, 4, 5, 6, 9, 10, 10, 14, 21,
+  27, 21, 11, 11, 6, 7, 15, 23, 27, 25, 24, 18, 19, 20, 26, 30,
+  30, 22, 17, 20, 15, 10, 10, 8, 2, 0, 3, 8, 12, 18, 24, 25,
+  19, 9, 1, 10, 2, 0, 0, 1, 5, 3, 1, 6, 5, 6, 6, 6,
+  6, 1, 0, 8, 11, 15, 15, 12, 12, 15, 18, 27, 35, 42, 40, 36,
+  33, 27, 19, 25, 25, 28, 23, 15, 3, 1, 5, 12, 28, 43, 124, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 71, 15, 5, 0, 1, 1, 0, 2, 2,
+  2, 2, 3, 4, 5, 5, 4, 7, 9, 11, 18, 23, 18, 11, 6, 2,
+  2, 11, 22, 24, 23, 26, 17, 16, 16, 20, 24, 27, 25, 22, 20, 14,
+  9, 9, 6, 2, 0, 3, 7, 11, 18, 26, 30, 28, 22, 17, 29, 21,
+  8, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 8,
+  15, 21, 21, 21, 24, 26, 31, 37, 40, 37, 34, 30, 24, 20, 25, 23,
+  24, 20, 12, 3, 5, 12, 11, 36, 122, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 203, 16, 9, 4, 2, 0, 0, 3, 3, 3, 3, 4, 5, 6,
+  7, 2, 5, 6, 9, 17, 22, 17, 10, 5, 0, 0, 9, 19, 23, 24,
+  27, 18, 16, 13, 15, 18, 23, 24, 25, 22, 16, 11, 10, 6, 0, 0,
+  3, 6, 6, 8, 13, 20, 25, 31, 34, 46, 36, 26, 19, 16, 13, 8,
+  6, 7, 5, 4, 4, 5, 8, 7, 7, 5, 11, 19, 22, 23, 23, 28,
+  30, 35, 39, 41, 35, 30, 28, 24, 21, 26, 24, 22, 16, 9, 5, 10,
+  19, 18, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 14, 10,
+  7, 6, 4, 0, 4, 4, 4, 4, 4, 5, 6, 7, 0, 5, 7, 9,
+  15, 20, 19, 13, 5, 0, 0, 7, 19, 23, 25, 28, 21, 18, 14, 13,
+  14, 19, 22, 24, 24, 17, 12, 10, 6, 1, 1, 3, 5, 4, 2, 5,
+  8, 16, 26, 32, 38, 34, 30, 26, 24, 23, 17, 13, 18, 16, 12, 12,
+  14, 14, 16, 16, 13, 16, 21, 21, 22, 24, 29, 35, 36, 40, 39, 33,
+  28, 26, 25, 22, 31, 25, 20, 12, 4, 2, 10, 21, 105, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 174, 10, 7, 8, 5, 2, 6,
+  5, 5, 4, 4, 5, 5, 6, 1, 4, 9, 9, 15, 18, 18, 13, 9,
+  2, 0, 8, 17, 22, 24, 27, 21, 19, 15, 13, 13, 17, 19, 22, 22,
+  17, 16, 13, 9, 2, 0, 1, 4, 6, 8, 8, 8, 9, 11, 13, 24,
+  23, 22, 23, 23, 22, 19, 16, 21, 16, 14, 12, 15, 15, 15, 13, 16,
+  19, 20, 19, 21, 24, 32, 38, 34, 39, 38, 32, 27, 28, 26, 24, 34,
+  25, 16, 7, 0, 0, 12, 25, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 9, 7, 9, 7, 2, 10, 10, 8, 7, 6, 6,
+  6, 7, 1, 4, 8, 8, 13, 17, 16, 12, 11, 2, 0, 5, 14, 19,
+  21, 23, 18, 18, 16, 15, 14, 17, 19, 22, 27, 22, 20, 21, 14, 6,
+  2, 2, 2, 6, 11, 13, 8, 5, 4, 4, 14, 14, 14, 13, 14, 16,
+  14, 12, 16, 14, 11, 12, 13, 14, 14, 13, 19, 21, 22, 21, 20, 21,
+  27, 33, 32, 36, 35, 31, 27, 28, 29, 27, 29, 23, 13, 6, 2, 8,
+  24, 112, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 7, 7, 5, 3, 12, 11, 9, 8, 7, 6, 6, 6, 0, 5, 6,
+  8, 11, 14, 14, 12, 11, 3, 0, 3, 13, 16, 18, 22, 16, 17, 17,
+  16, 15, 18, 20, 22, 32, 30, 27, 27, 23, 13, 8, 7, 0, 4, 8,
+  8, 7, 4, 5, 7, 9, 8, 4, 2, 2, 3, 6, 5, 13, 12, 10,
+  13, 15, 15, 14, 13, 23, 25, 25, 23, 19, 18, 23, 26, 30, 34, 34,
+  31, 27, 29, 30, 28, 24, 16, 11, 7, 9, 19, 113, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 172, 1, 0, 0,
+  2, 3, 1, 1, 1, 1, 2, 3, 2, 4, 3, 5, 7, 12, 20, 25,
+  14, 8, 2, 1, 5, 12, 18, 21, 16, 20, 23, 23, 22, 21, 20, 19,
+  16, 20, 21, 19, 14, 10, 6, 7, 2, 3, 7, 8, 11, 12, 13, 13,
+  4, 3, 4, 3, 4, 4, 6, 7, 7, 11, 13, 15, 14, 11, 13, 15,
+  20, 20, 19, 20, 23, 27, 30, 33, 40, 38, 31, 27, 30, 38, 40, 36,
+  33, 13, 0, 0, 16, 35, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 1, 0, 0, 3, 3, 1, 2, 2,
+  2, 3, 2, 2, 4, 2, 5, 6, 11, 19, 23, 16, 10, 3, 0, 4,
+  10, 18, 21, 14, 17, 20, 20, 20, 17, 17, 16, 16, 18, 19, 18, 14,
+  11, 8, 6, 5, 5, 7, 6, 8, 8, 9, 9, 4, 3, 4, 3, 4,
+  6, 6, 6, 4, 8, 12, 12, 12, 13, 15, 17, 20, 20, 20, 20, 21,
+  23, 27, 29, 36, 35, 30, 27, 30, 36, 37, 32, 9, 4, 8, 30, 57,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 170, 0, 0, 4, 3, 3, 1, 1, 4, 3, 4, 3, 4,
+  2, 4, 5, 9, 16, 20, 19, 12, 6, 0, 1, 5, 14, 19, 11, 15,
+  17, 19, 17, 15, 16, 16, 19, 18, 16, 16, 13, 11, 8, 6, 10, 11,
+  8, 8, 6, 8, 8, 8, 5, 4, 5, 3, 3, 3, 3, 3, 3, 6,
+  9, 12, 13, 14, 17, 19, 21, 19, 19, 19, 18, 20, 23, 24, 32, 32,
+  30, 28, 31, 35, 33, 27, 7, 7, 16, 39, 126, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 0,
+  0, 4, 4, 2, 3, 3, 3, 5, 4, 3, 4, 2, 3, 3, 6, 13,
+  17, 19, 16, 9, 2, 0, 3, 11, 17, 12, 15, 18, 18, 16, 16, 17,
+  18, 19, 17, 14, 14, 16, 15, 11, 6, 16, 14, 10, 9, 7, 9, 10,
+  13, 10, 8, 5, 4, 2, 2, 0, 1, 4, 6, 9, 13, 16, 18, 22,
+  24, 22, 21, 19, 17, 16, 18, 20, 21, 27, 30, 31, 32, 34, 36, 31,
+  25, 0, 1, 31, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 170, 0, 3, 3, 3, 3,
+  2, 2, 3, 5, 4, 5, 1, 2, 1, 4, 9, 13, 17, 16, 12, 6,
+  0, 1, 6, 15, 15, 17, 18, 20, 19, 17, 21, 22, 18, 17, 13, 14,
+  16, 16, 11, 9, 13, 13, 10, 10, 9, 11, 12, 15, 11, 11, 8, 5,
+  2, 1, 0, 0, 5, 5, 8, 12, 14, 18, 21, 22, 20, 19, 18, 15,
+  17, 18, 20, 21, 22, 28, 32, 36, 39, 40, 33, 22, 7, 25, 51, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 170, 3, 1, 1, 1, 2, 2, 4, 3, 4,
+  5, 1, 1, 0, 1, 6, 9, 11, 15, 17, 11, 3, 0, 4, 10, 16,
+  18, 19, 20, 17, 20, 20, 22, 17, 17, 16, 18, 20, 17, 14, 11, 8,
+  9, 7, 8, 7, 10, 11, 12, 10, 10, 8, 7, 4, 4, 2, 2, 5,
+  3, 4, 6, 12, 16, 18, 17, 19, 19, 18, 17, 18, 21, 23, 26, 22,
+  29, 36, 41, 45, 42, 29, 18, 30, 47, 134, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 1, 1, 1, 0, 0, 0, 1, 3, 5, 5, 1, 0, 0, 0,
+  3, 6, 5, 15, 20, 16, 6, 0, 2, 7, 15, 16, 17, 16, 17, 18,
+  18, 22, 14, 17, 21, 23, 20, 16, 14, 12, 8, 8, 7, 8, 8, 9,
+  9, 9, 6, 5, 4, 6, 8, 8, 11, 11, 9, 6, 5, 8, 11, 16,
+  17, 15, 18, 18, 17, 19, 21, 24, 29, 31, 25, 33, 41, 45, 45, 40,
+  24, 9, 0, 100, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 1, 1, 1,
+  0, 0, 0, 1, 1, 5, 5, 1, 0, 0, 0, 2, 5, 1, 13, 21,
+  19, 7, 0, 1, 3, 11, 14, 13, 14, 13, 14, 17, 19, 13, 19, 25,
+  26, 22, 17, 15, 14, 10, 11, 10, 12, 10, 10, 8, 7, 1, 3, 3,
+  7, 9, 12, 14, 15, 14, 12, 10, 11, 14, 19, 18, 18, 17, 17, 17,
+  19, 23, 28, 32, 35, 27, 36, 43, 46, 46, 36, 19, 1, 19, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 170, 0, 2, 6, 5, 7, 6, 6,
+  4, 6, 8, 9, 9, 7, 6, 3, 7, 12, 16, 13, 6, 0, 2, 4,
+  13, 14, 13, 10, 7, 8, 12, 16, 14, 21, 31, 38, 38, 33, 25, 22,
+  18, 17, 15, 11, 9, 6, 3, 3, 0, 0, 0, 5, 9, 13, 18, 20,
+  22, 20, 20, 22, 23, 24, 23, 23, 4, 7, 12, 19, 28, 33, 34, 34,
+  34, 38, 41, 41, 41, 36, 23, 11, 92, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 0, 3, 5, 5, 6, 6, 6, 2, 4, 6, 6, 7,
+  5, 3, 2, 3, 9, 12, 12, 6, 2, 0, 3, 10, 11, 13, 10, 7,
+  9, 12, 18, 14, 21, 31, 38, 40, 36, 32, 29, 26, 23, 20, 16, 15,
+  14, 16, 15, 16, 16, 18, 18, 19, 20, 23, 24, 21, 20, 19, 20, 22,
+  24, 23, 21, 8, 10, 16, 22, 29, 35, 34, 34, 27, 34, 35, 34, 31,
+  26, 16, 89, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 171,
+  2, 5, 6, 6, 6, 5, 0, 2, 3, 6, 5, 3, 1, 1, 2, 4,
+  7, 9, 10, 6, 3, 0, 7, 10, 12, 10, 9, 11, 15, 20, 16, 21,
+  28, 33, 33, 33, 31, 31, 28, 25, 20, 18, 16, 19, 22, 24, 30, 29,
+  28, 26, 25, 25, 25, 25, 20, 18, 18, 18, 20, 22, 22, 20, 12, 15,
+  17, 23, 29, 33, 32, 32, 29, 35, 36, 31, 26, 19, 12, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 171, 4, 6, 6, 4,
+  5, 0, 2, 3, 5, 5, 3, 2, 0, 3, 3, 4, 8, 10, 10, 4,
+  1, 7, 9, 11, 9, 10, 12, 16, 23, 21, 23, 25, 24, 23, 21, 21,
+  23, 22, 21, 17, 16, 16, 18, 18, 20, 26, 26, 26, 23, 24, 24, 24,
+  25, 17, 16, 16, 17, 19, 21, 21, 19, 16, 16, 18, 23, 25, 28, 28,
+  27, 34, 39, 38, 29, 19, 14, 11, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 172, 7, 6, 5, 3, 0, 1, 3, 5,
+  7, 6, 4, 2, 2, 3, 3, 9, 13, 14, 8, 3, 8, 9, 12, 11,
+  9, 13, 18, 23, 23, 22, 22, 19, 15, 13, 13, 15, 18, 18, 19, 18,
+  16, 16, 14, 14, 24, 22, 22, 21, 19, 19, 20, 20, 15, 13, 13, 15,
+  18, 20, 19, 17, 19, 20, 20, 22, 26, 29, 28, 28, 35, 37, 33, 21,
+  13, 9, 90, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 172, 6, 5, 4, 0, 2, 4, 7, 7, 7, 6, 4, 3,
+  2, 4, 7, 11, 13, 10, 6, 4, 8, 9, 8, 9, 11, 16, 22, 19,
+  19, 16, 14, 11, 13, 16, 20, 18, 18, 20, 20, 21, 19, 17, 16, 27,
+  25, 24, 19, 17, 15, 14, 14, 13, 11, 12, 13, 16, 18, 17, 16, 23,
+  22, 22, 24, 29, 32, 32, 31, 39, 36, 29, 16, 10, 9, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 6,
+  5, 4, 0, 2, 4, 7, 8, 8, 6, 4, 3, 3, 3, 6, 7, 10,
+  9, 10, 2, 5, 6, 6, 4, 6, 11, 17, 16, 15, 14, 12, 11, 13,
+  17, 20, 14, 15, 15, 18, 17, 17, 18, 18, 26, 25, 22, 18, 15, 10,
+  9, 10, 12, 11, 10, 12, 15, 16, 17, 16, 22, 22, 21, 25, 28, 32,
+  34, 34, 40, 34, 24, 12, 8, 10, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 172, 5, 2, 0, 1, 3,
+  6, 7, 7, 5, 3, 2, 2, 3, 3, 5, 7, 9, 9, 1, 2, 4,
+  3, 1, 4, 8, 14, 14, 15, 12, 10, 8, 10, 13, 17, 8, 8, 9,
+  8, 11, 13, 16, 16, 20, 20, 15, 13, 9, 8, 5, 5, 10, 9, 9,
+  12, 15, 17, 16, 15, 19, 19, 18, 21, 26, 32, 33, 34, 34, 26, 14,
+  3, 0, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 172, 4, 0, 0, 0, 1, 1, 3, 4, 6,
+  9, 7, 3, 1, 1, 3, 7, 9, 10, 7, 5, 3, 4, 4, 7, 8,
+  14, 13, 14, 12, 12, 12, 12, 12, 10, 11, 10, 10, 9, 9, 11, 12,
+  19, 20, 23, 26, 25, 23, 19, 17, 17, 16, 16, 16, 18, 17, 15, 13,
+  21, 17, 14, 16, 23, 30, 34, 35, 45, 28, 9, 4, 7, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 4, 0, 0, 1, 2, 4, 5, 7, 6, 9, 7, 5, 1, 1,
+  5, 7, 9, 8, 6, 5, 4, 4, 5, 6, 7, 9, 10, 9, 10, 11,
+  11, 11, 11, 8, 8, 8, 8, 8, 8, 10, 9, 14, 17, 19, 20, 20,
+  17, 14, 12, 14, 13, 12, 12, 14, 15, 14, 12, 20, 17, 14, 18, 24,
+  29, 32, 34, 36, 19, 4, 3, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 2, 2,
+  3, 3, 5, 8, 7, 9, 9, 8, 4, 2, 2, 4, 8, 9, 5, 4,
+  3, 3, 5, 5, 4, 5, 6, 5, 5, 5, 5, 7, 8, 10, 8, 7,
+  7, 6, 5, 6, 6, 7, 9, 11, 13, 16, 14, 12, 9, 5, 9, 7,
+  6, 6, 8, 10, 11, 11, 21, 18, 16, 19, 25, 29, 30, 30, 20, 7,
+  0, 86, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 4, 5, 6, 9, 10, 11,
+  10, 8, 7, 5, 1, 1, 5, 7, 8, 2, 4, 4, 4, 4, 5, 5,
+  5, 2, 4, 2, 2, 4, 6, 7, 9, 11, 11, 9, 8, 7, 6, 8,
+  7, 10, 12, 14, 16, 14, 10, 7, 5, 10, 7, 5, 5, 8, 12, 13,
+  14, 24, 22, 22, 24, 31, 32, 29, 27, 10, 2, 0, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 6, 9, 11, 11, 12, 12, 10, 8, 5, 3,
+  3, 5, 8, 10, 1, 2, 4, 4, 5, 6, 4, 5, 4, 2, 3, 2,
+  4, 6, 9, 11, 14, 13, 13, 10, 9, 9, 8, 9, 12, 14, 16, 17,
+  17, 13, 10, 9, 11, 9, 7, 7, 11, 14, 16, 17, 26, 25, 26, 29,
+  32, 32, 27, 21, 7, 4, 88, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 173, 10, 12, 13, 15, 11, 7, 6, 4, 4, 6, 7, 11, 2,
+  3, 3, 4, 5, 6, 7, 7, 5, 5, 4, 2, 4, 6, 9, 11, 15,
+  14, 14, 10, 8, 8, 7, 8, 10, 13, 17, 18, 17, 16, 13, 10, 11,
+  9, 7, 8, 11, 14, 15, 15, 23, 23, 25, 29, 31, 28, 21, 14, 10,
+  91, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 174, 12,
+  14, 14, 10, 8, 5, 3, 3, 5, 8, 10, 4, 5, 4, 4, 5, 7,
+  9, 10, 8, 7, 4, 4, 3, 6, 10, 12, 12, 12, 10, 7, 5, 3,
+  2, 3, 6, 9, 12, 15, 15, 12, 11, 9, 9, 8, 8, 9, 12, 13,
+  13, 12, 15, 17, 19, 23, 26, 21, 11, 3, 92, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 13, 14, 10, 8, 6,
+  3, 3, 6, 8, 10, 7, 6, 4, 3, 5, 7, 11, 13, 9, 7, 4,
+  2, 3, 5, 8, 10, 10, 9, 7, 4, 1, 0, 0, 0, 2, 5, 7,
+  9, 11, 10, 7, 7, 7, 7, 7, 9, 11, 12, 11, 9, 10, 10, 14,
+  20, 21, 15, 88, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 172, 6, 6, 6, 6, 6, 6, 6, 6,
+  5, 5, 6, 6, 6, 5, 4, 4, 8, 8, 8, 8, 8, 8, 8, 8,
+  10, 9, 9, 9, 8, 7, 7, 7, 12, 12, 12, 12, 13, 14, 16, 17,
+  8, 11, 15, 19, 18, 15, 11, 8, 15, 17, 19, 20, 10, 0, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 200, 62, 6, 6, 6, 6, 6, 4, 5, 6, 6, 6,
+  5, 5, 4, 7, 7, 7, 7, 7, 7, 7, 7, 9, 9, 9, 8, 8,
+  8, 7, 7, 9, 8, 8, 8, 9, 10, 11, 12, 7, 11, 15, 17, 16,
+  15, 13, 12, 18, 13, 11, 10, 89, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 6, 6, 6, 6, 4, 5, 6, 6, 6, 6, 5, 5, 7, 7,
+  7, 7, 7, 7, 7, 7, 8, 7, 7, 7, 7, 6, 6, 6, 7, 6,
+  6, 6, 6, 6, 7, 8, 8, 11, 17, 16, 14, 15, 18, 20, 25, 15,
+  6, 89, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  6, 4, 5, 6, 6, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+  6, 8, 8, 7, 7, 7, 7, 7, 7, 7, 7, 6, 6, 6, 6, 7,
+  8, 11, 14, 17, 17, 16, 17, 24, 31, 36, 100, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 7,
+  7, 7, 7, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+  6, 7, 7, 7, 7, 6, 6, 6, 6, 7, 8, 8, 14, 16, 17, 16,
+  98, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  172, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 5,
+  5, 88, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255 };
+/* Define image 'enemy2' of size 116x155x1x3 and type 'const unsigned char' */
+const unsigned char data_enemy2[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  253, 248, 248, 248, 248, 250, 250, 250, 251, 252, 252, 252, 252, 254, 254, 254,
+  251, 250, 249, 249, 250, 249, 251, 251, 244, 248, 255, 243, 253, 242, 249, 250,
+  252, 237, 241, 249, 247, 255, 254, 243, 248, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254,
+  253, 253, 253, 251, 250, 250, 250, 250, 250, 250, 251, 251, 251, 251, 253, 253,
+  253, 254, 254, 254, 252, 250, 252, 252, 251, 252, 253, 252, 255, 252, 255, 255,
+  254, 255, 255, 233, 255, 255, 255, 255, 253, 255, 255, 250, 253, 252, 253, 251,
+  251, 251, 249, 250, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254,
+  251, 250, 251, 251, 251, 251, 251, 253, 253, 254, 254, 254, 254, 254, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255,
+  255, 255, 251, 251, 212, 246, 242, 208, 217, 248, 255, 255, 255, 247, 247, 255,
+  255, 255, 255, 255, 254, 254, 253, 253, 254, 254, 255, 254, 254, 253, 253, 253,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 253, 251, 251, 250, 250, 250, 251, 251, 253, 253, 254, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 251, 252, 239, 225, 143, 193, 205, 182, 137, 202, 250, 255,
+  249, 232, 232, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 254, 254, 254, 253, 253, 251, 251, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 254, 251, 249, 250, 243, 252, 239, 254, 242, 248, 244,
+  247, 255, 255, 255, 255, 255, 255, 255, 255, 247, 252, 255, 232, 239, 255, 255,
+  255, 255, 255, 255, 251, 250, 254, 219, 232, 189, 193, 171, 181, 215, 189, 206,
+  164, 194, 217, 198, 169, 174, 160, 192, 213, 230, 213, 235, 255, 255, 255, 255,
+  255, 255, 250, 255, 251, 249, 243, 255, 252, 246, 247, 253, 254, 248, 250, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 254, 250, 249, 248, 251, 243, 248, 238,
+  254, 249, 253, 241, 242, 237, 229, 221, 222, 232, 242, 240, 222, 204, 190, 196,
+  201, 197, 191, 179, 148, 168, 209, 216, 189, 177, 180, 176, 156, 157, 177, 174,
+  155, 203, 203, 226, 202, 192, 165, 155, 142, 159, 139, 178, 158, 175, 164, 166,
+  162, 196, 213, 255, 239, 239, 208, 164, 165, 237, 255, 252, 255, 255, 255, 255,
+  254, 247, 244, 245, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 253, 249, 248, 247,
+  249, 243, 251, 243, 255, 255, 255, 230, 250, 231, 207, 198, 197, 213, 214, 204,
+  211, 203, 191, 203, 230, 213, 178, 173, 127, 167, 227, 217, 198, 204, 194, 206,
+  172, 194, 198, 195, 138, 179, 197, 202, 210, 186, 122, 124, 119, 149, 128, 180,
+  168, 190, 190, 173, 123, 152, 131, 177, 157, 202, 182, 130, 103, 149, 255, 253,
+  251, 255, 255, 253, 252, 252, 254, 252, 252, 253, 254, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 254,
+  253, 251, 248, 248, 245, 246, 254, 249, 248, 255, 255, 227, 249, 226, 204, 202,
+  191, 212, 211, 197, 187, 184, 200, 217, 223, 201, 170, 167, 125, 161, 208, 174,
+  173, 205, 182, 186, 191, 191, 175, 174, 129, 154, 194, 174, 184, 184, 123, 131,
+  113, 144, 122, 176, 156, 187, 199, 192, 143, 141, 101, 106, 113, 187, 185, 191,
+  127, 70, 230, 255, 255, 255, 255, 251, 252, 255, 255, 252, 245, 248, 253, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 255,
+  255, 255, 255, 254, 254, 252, 249, 249, 246, 246, 253, 246, 229, 250, 255, 239,
+  235, 215, 197, 205, 185, 218, 225, 217, 214, 190, 224, 235, 213, 204, 189, 179,
+  155, 163, 191, 161, 160, 180, 153, 167, 185, 161, 148, 144, 131, 128, 184, 155,
+  167, 190, 139, 146, 115, 140, 115, 146, 174, 200, 201, 198, 170, 148, 150, 135,
+  135, 169, 176, 195, 151, 87, 191, 231, 255, 255, 255, 255, 255, 255, 255, 246,
+  248, 250, 252, 252, 251, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 254, 254, 255, 255, 255, 255, 255, 254, 252, 249, 251, 252, 246, 250, 242,
+  208, 231, 252, 244, 233, 215, 197, 210, 179, 222, 240, 237, 231, 191, 219, 219,
+  196, 210, 201, 184, 163, 147, 171, 168, 147, 132, 128, 168, 194, 164, 157, 135,
+  130, 103, 153, 130, 175, 186, 139, 151, 126, 150, 133, 131, 184, 197, 186, 179,
+  150, 124, 160, 154, 149, 162, 192, 169, 159, 152, 147, 163, 208, 215, 233, 249,
+  255, 255, 255, 255, 255, 255, 255, 253, 250, 251, 254, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 254, 254, 254, 254, 255, 255, 255, 254, 253, 253, 251, 248, 249,
+  255, 248, 252, 254, 202, 214, 225, 215, 213, 196, 185, 206, 170, 218, 237, 234,
+  228, 204, 225, 210, 201, 217, 195, 186, 145, 134, 156, 165, 135, 123, 154, 193,
+  186, 167, 152, 118, 112, 103, 134, 125, 185, 170, 131, 153, 137, 154, 158, 142,
+  187, 182, 181, 190, 159, 159, 177, 191, 157, 196, 215, 201, 189, 172, 126, 131,
+  140, 150, 176, 202, 208, 208, 228, 251, 246, 247, 252, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 254, 254, 254, 253, 253, 253, 251, 251, 252, 251,
+  251, 250, 249, 249, 255, 252, 255, 255, 211, 207, 200, 177, 164, 152, 154, 190,
+  158, 212, 228, 222, 201, 209, 230, 199, 194, 195, 150, 156, 118, 126, 142, 143,
+  120, 142, 203, 217, 213, 199, 162, 118, 109, 128, 138, 133, 187, 155, 127, 155,
+  136, 140, 160, 147, 183, 155, 158, 182, 148, 178, 160, 185, 161, 218, 181, 227,
+  207, 126, 106, 115, 119, 125, 143, 156, 145, 140, 171, 214, 216, 227, 244, 255,
+  255, 255, 248, 243, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 253, 253, 250, 249, 247,
+  244, 249, 251, 251, 250, 250, 252, 252, 255, 252, 255, 255, 238, 217, 202, 178,
+  149, 126, 155, 183, 138, 206, 208, 184, 206, 220, 211, 171, 172, 143, 132, 113,
+  115, 119, 105, 140, 161, 197, 207, 210, 203, 194, 146, 112, 115, 140, 127, 184,
+  222, 149, 167, 152, 115, 138, 131, 114, 168, 179, 161, 176, 166, 180, 193, 202,
+  165, 187, 178, 209, 177, 138, 110, 93, 106, 94, 115, 148, 142, 155, 152, 176,
+  164, 164, 197, 240, 255, 249, 255, 253, 251, 250, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 253, 253,
+  253, 250, 249, 247, 249, 249, 251, 248, 246, 246, 248, 250, 255, 252, 254, 244,
+  224, 217, 197, 152, 118, 123, 113, 137, 137, 166, 150, 204, 209, 182, 150, 119,
+  102, 95, 103, 79, 110, 106, 138, 202, 222, 208, 192, 209, 191, 202, 180, 146,
+  163, 192, 190, 231, 178, 169, 189, 140, 85, 78, 77, 105, 161, 177, 175, 189,
+  183, 177, 178, 172, 166, 195, 184, 191, 150, 122, 103, 88, 97, 83, 89, 113,
+  122, 165, 178, 200, 189, 168, 162, 179, 208, 251, 255, 238, 249, 247, 252, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 254, 254, 253, 253, 252, 251, 250, 252, 250, 249, 249, 251, 253, 255, 255,
+  245, 244, 241, 223, 209, 218, 195, 135, 96, 110, 91, 112, 128, 139, 128, 207,
+  191, 158, 124, 116, 88, 99, 110, 70, 115, 99, 151, 189, 200, 167, 143, 173,
+  169, 202, 209, 177, 197, 210, 208, 224, 169, 177, 165, 100, 70, 63, 60, 115,
+  179, 192, 197, 198, 196, 173, 178, 167, 181, 201, 184, 174, 141, 123, 104, 83,
+  89, 88, 98, 111, 115, 164, 183, 205, 183, 159, 152, 150, 160, 255, 255, 244,
+  248, 249, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 253, 254, 254, 254, 253, 252, 251, 251, 255, 254, 252, 254,
+  255, 255, 255, 255, 229, 231, 232, 214, 198, 205, 189, 139, 98, 87, 93, 121,
+  108, 139, 155, 172, 140, 153, 118, 111, 85, 101, 105, 71, 128, 111, 154, 130,
+  137, 132, 117, 135, 139, 180, 207, 186, 204, 188, 182, 182, 184, 156, 111, 59,
+  59, 76, 98, 158, 209, 213, 212, 193, 190, 167, 194, 194, 205, 198, 177, 164,
+  154, 144, 121, 97, 94, 100, 121, 127, 108, 141, 169, 209, 193, 148, 156, 143,
+  147, 239, 255, 255, 250, 252, 253, 252, 253, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 253, 254, 254, 254, 254, 253, 252, 254,
+  255, 255, 250, 250, 250, 244, 237, 238, 220, 218, 223, 208, 177, 169, 162, 136,
+  108, 68, 80, 120, 101, 132, 161, 143, 111, 177, 125, 88, 71, 85, 93, 80,
+  110, 100, 134, 95, 105, 116, 100, 105, 116, 150, 181, 182, 197, 171, 173, 175,
+  161, 108, 73, 52, 49, 84, 148, 210, 211, 216, 213, 190, 185, 168, 206, 216,
+  219, 191, 171, 159, 161, 152, 141, 134, 122, 114, 125, 130, 103, 126, 157, 211,
+  229, 152, 161, 135, 134, 182, 229, 255, 255, 255, 252, 248, 251, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 253, 254, 254, 254,
+  254, 254, 253, 255, 255, 245, 234, 234, 232, 224, 216, 215, 216, 203, 205, 190,
+  149, 126, 124, 111, 107, 69, 57, 103, 117, 116, 132, 143, 96, 181, 127, 81,
+  80, 84, 98, 95, 104, 86, 100, 82, 88, 93, 81, 86, 109, 134, 151, 166,
+  178, 157, 167, 170, 109, 58, 51, 71, 80, 124, 194, 226, 190, 202, 203, 197,
+  192, 183, 212, 221, 220, 191, 185, 163, 157, 145, 150, 167, 158, 137, 143, 156,
+  133, 142, 150, 188, 219, 170, 194, 167, 137, 131, 195, 255, 255, 255, 254, 248,
+  250, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253,
+  253, 254, 255, 255, 255, 255, 255, 255, 250, 232, 216, 215, 215, 209, 204, 205,
+  208, 189, 181, 165, 128, 109, 104, 89, 86, 76, 61, 98, 125, 110, 121, 134,
+  82, 143, 100, 73, 88, 81, 107, 87, 119, 102, 88, 89, 84, 88, 83, 90,
+  105, 134, 133, 150, 144, 135, 134, 121, 72, 49, 58, 97, 132, 173, 205, 194,
+  170, 182, 175, 189, 188, 195, 213, 219, 220, 202, 211, 176, 170, 155, 153, 162,
+  160, 150, 160, 172, 149, 157, 148, 167, 199, 194, 212, 199, 153, 129, 167, 215,
+  243, 254, 255, 253, 247, 251, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 254, 253, 253, 254, 255, 255, 255, 255, 255, 255, 255, 238, 215, 210,
+  207, 200, 195, 197, 200, 177, 164, 147, 121, 112, 106, 81, 60, 72, 82, 106,
+  113, 111, 131, 112, 107, 122, 77, 66, 88, 78, 123, 86, 100, 105, 81, 88,
+  76, 88, 85, 79, 95, 134, 125, 139, 121, 117, 100, 67, 56, 74, 91, 120,
+  155, 180, 182, 153, 161, 165, 144, 165, 168, 193, 209, 217, 222, 213, 231, 193,
+  192, 179, 154, 138, 134, 138, 150, 149, 122, 144, 151, 174, 217, 212, 180, 183,
+  159, 152, 144, 140, 225, 247, 255, 255, 247, 249, 252, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 253, 251, 246, 252, 255, 255, 254, 254, 255, 255,
+  255, 252, 226, 201, 193, 201, 208, 209, 202, 169, 168, 169, 130, 101, 95, 84,
+  65, 72, 88, 103, 114, 117, 113, 105, 101, 99, 86, 84, 98, 73, 96, 83,
+  99, 89, 74, 67, 74, 89, 91, 85, 95, 114, 105, 119, 112, 95, 53, 56,
+  75, 89, 112, 136, 151, 151, 143, 135, 148, 147, 152, 153, 162, 189, 208, 204,
+  222, 213, 213, 221, 213, 182, 150, 132, 144, 134, 134, 144, 144, 136, 138, 153,
+  193, 199, 182, 157, 142, 174, 142, 116, 161, 252, 255, 255, 245, 246, 251, 252,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 251, 250, 253, 255, 255,
+  255, 255, 255, 255, 255, 240, 212, 206, 213, 216, 215, 213, 195, 194, 182, 161,
+  144, 127, 108, 97, 64, 73, 87, 98, 103, 103, 101, 98, 105, 100, 93, 94,
+  101, 90, 101, 96, 92, 87, 80, 78, 85, 94, 92, 83, 112, 115, 106, 103,
+  90, 79, 64, 70, 98, 108, 122, 131, 131, 125, 120, 116, 126, 128, 139, 151,
+  167, 194, 206, 195, 221, 225, 229, 227, 208, 178, 154, 142, 144, 144, 144, 148,
+  152, 153, 155, 157, 148, 154, 149, 124, 116, 143, 130, 122, 151, 177, 255, 251,
+  252, 255, 246, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 254, 251, 251,
+  254, 253, 253, 255, 255, 255, 255, 253, 248, 213, 190, 206, 228, 226, 212, 202,
+  159, 188, 162, 122, 125, 126, 102, 91, 79, 85, 94, 101, 100, 97, 95, 96,
+  109, 103, 105, 111, 109, 117, 108, 116, 95, 92, 88, 87, 92, 98, 95, 89,
+  95, 83, 89, 82, 78, 76, 95, 102, 104, 108, 111, 105, 96, 89, 90, 92,
+  135, 140, 158, 179, 199, 222, 228, 213, 221, 219, 210, 196, 188, 182, 176, 170,
+  161, 161, 152, 142, 143, 149, 151, 145, 129, 130, 142, 117, 113, 122, 123, 122,
+  139, 132, 239, 252, 255, 255, 248, 252, 254, 255, 255, 255, 255, 255, 255, 255,
+  255, 251, 251, 251, 254, 253, 254, 252, 255, 255, 245, 240, 215, 193, 183, 206,
+  232, 231, 210, 193, 161, 184, 164, 124, 123, 131, 118, 101, 94, 95, 101, 106,
+  108, 105, 102, 104, 110, 106, 119, 131, 124, 144, 119, 136, 113, 105, 97, 92,
+  94, 97, 98, 98, 94, 77, 94, 86, 84, 75, 98, 94, 114, 113, 109, 102,
+  98, 99, 109, 116, 148, 152, 169, 183, 193, 206, 209, 196, 211, 203, 187, 179,
+  191, 210, 205, 185, 170, 157, 139, 125, 123, 129, 133, 131, 111, 103, 125, 104,
+  112, 102, 99, 95, 131, 149, 166, 254, 255, 248, 255, 246, 254, 254, 255, 255,
+  255, 255, 255, 255, 255, 251, 251, 251, 252, 251, 255, 252, 255, 255, 226, 221,
+  199, 196, 195, 204, 223, 231, 222, 204, 188, 186, 186, 167, 141, 137, 131, 102,
+  93, 88, 94, 107, 117, 118, 119, 121, 114, 117, 137, 154, 148, 166, 139, 155,
+  135, 125, 112, 103, 100, 98, 98, 99, 93, 76, 96, 94, 98, 88, 105, 91,
+  93, 89, 84, 84, 92, 104, 118, 126, 174, 177, 188, 192, 187, 192, 199, 194,
+  204, 207, 208, 210, 221, 228, 207, 176, 151, 130, 116, 116, 119, 116, 120, 129,
+  108, 89, 104, 92, 111, 103, 92, 82, 115, 150, 118, 219, 255, 245, 255, 245,
+  254, 254, 255, 255, 255, 255, 255, 255, 255, 251, 250, 250, 249, 250, 255, 250,
+  255, 255, 208, 207, 198, 202, 200, 199, 209, 222, 225, 217, 199, 185, 199, 195,
+  152, 124, 114, 86, 86, 86, 97, 119, 134, 138, 143, 150, 131, 139, 158, 176,
+  178, 184, 171, 179, 157, 144, 129, 119, 114, 107, 99, 95, 83, 73, 84, 90,
+  98, 97, 107, 103, 103, 100, 98, 102, 113, 125, 137, 142, 148, 151, 165, 170,
+  166, 176, 193, 198, 214, 226, 233, 226, 217, 208, 188, 166, 134, 117, 110, 120,
+  120, 109, 108, 116, 124, 101, 103, 95, 109, 111, 98, 91, 98, 108, 115, 158,
+  249, 254, 253, 247, 254, 254, 255, 255, 255, 255, 255, 255, 255, 251, 250, 250,
+  247, 250, 255, 246, 255, 255, 199, 204, 198, 194, 194, 201, 211, 214, 213, 209,
+  204, 199, 204, 194, 158, 117, 99, 92, 88, 94, 114, 139, 149, 150, 160, 173,
+  156, 167, 180, 194, 206, 197, 208, 205, 183, 162, 139, 129, 123, 114, 105, 101,
+  97, 98, 90, 93, 91, 93, 89, 100, 98, 100, 102, 104, 107, 110, 115, 118,
+  134, 136, 153, 166, 171, 186, 207, 214, 211, 217, 217, 207, 195, 184, 172, 161,
+  134, 125, 118, 116, 110, 102, 99, 100, 108, 99, 98, 97, 96, 111, 97, 98,
+  93, 80, 113, 121, 199, 255, 255, 248, 254, 254, 254, 255, 255, 255, 255, 255,
+  255, 253, 251, 250, 245, 249, 255, 243, 255, 255, 198, 208, 201, 189, 192, 214,
+  227, 217, 201, 196, 195, 207, 191, 169, 149, 108, 85, 105, 94, 106, 131, 152,
+  154, 151, 161, 180, 174, 186, 192, 204, 223, 201, 229, 220, 201, 173, 142, 126,
+  121, 117, 113, 114, 91, 107, 94, 105, 102, 109, 99, 124, 107, 112, 118, 116,
+  110, 104, 103, 106, 116, 115, 129, 145, 150, 162, 177, 178, 186, 184, 187, 194,
+  195, 187, 166, 148, 129, 127, 115, 99, 91, 96, 99, 96, 84, 93, 103, 113,
+  104, 127, 114, 124, 99, 89, 100, 119, 149, 252, 255, 248, 255, 254, 254, 255,
+  255, 255, 255, 255, 255, 254, 251, 246, 246, 247, 254, 255, 249, 255, 183, 194,
+  197, 205, 210, 212, 212, 208, 200, 191, 192, 195, 181, 160, 145, 130, 118, 119,
+  104, 122, 154, 178, 178, 165, 166, 177, 179, 183, 203, 227, 235, 225, 218, 217,
+  209, 194, 172, 154, 142, 134, 127, 123, 111, 110, 115, 113, 108, 117, 124, 116,
+  113, 108, 104, 103, 104, 103, 99, 96, 107, 108, 111, 119, 132, 146, 156, 161,
+  161, 152, 145, 148, 157, 156, 136, 116, 85, 97, 96, 89, 79, 84, 83, 83,
+  99, 98, 103, 114, 120, 123, 128, 135, 140, 113, 94, 127, 130, 238, 255, 253,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 247, 248, 246, 252, 255,
+  250, 255, 181, 191, 201, 203, 206, 211, 212, 208, 200, 195, 182, 185, 157, 160,
+  146, 152, 130, 133, 130, 143, 170, 193, 199, 192, 196, 206, 206, 208, 219, 238,
+  242, 234, 228, 230, 228, 220, 208, 197, 185, 171, 153, 142, 136, 124, 121, 125,
+  123, 127, 125, 113, 110, 104, 99, 98, 100, 100, 98, 94, 102, 105, 112, 119,
+  127, 128, 127, 124, 149, 142, 133, 129, 129, 123, 109, 95, 89, 96, 96, 84,
+  80, 82, 83, 81, 105, 105, 109, 118, 130, 138, 137, 134, 149, 120, 98, 108,
+  143, 205, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 247,
+  248, 245, 253, 255, 254, 255, 183, 192, 198, 196, 198, 204, 202, 193, 189, 192,
+  149, 167, 150, 165, 139, 156, 143, 165, 164, 170, 190, 211, 219, 220, 226, 237,
+  238, 235, 239, 249, 249, 244, 241, 246, 245, 245, 244, 242, 236, 224, 207, 196,
+  184, 157, 148, 155, 157, 152, 141, 124, 120, 114, 109, 107, 110, 112, 112, 108,
+  102, 97, 92, 89, 90, 89, 89, 88, 71, 74, 80, 88, 94, 95, 95, 93,
+  102, 101, 98, 82, 81, 81, 83, 74, 84, 82, 81, 89, 110, 132, 136, 126,
+  140, 114, 101, 91, 151, 160, 212, 252, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 252, 247, 247, 244, 251, 255, 255, 255, 188, 196, 194, 192, 193, 195,
+  184, 170, 170, 180, 142, 155, 150, 162, 156, 166, 164, 184, 188, 191, 205, 222,
+  233, 237, 242, 248, 251, 246, 247, 251, 252, 246, 246, 250, 250, 251, 254, 255,
+  255, 252, 245, 241, 229, 197, 183, 192, 191, 179, 163, 148, 138, 131, 126, 123,
+  126, 129, 131, 129, 127, 119, 110, 102, 99, 99, 100, 100, 90, 94, 104, 113,
+  120, 117, 115, 114, 115, 109, 104, 82, 85, 80, 80, 67, 60, 60, 56, 56,
+  79, 109, 120, 112, 120, 102, 108, 103, 147, 144, 201, 247, 254, 253, 255, 255,
+  255, 255, 255, 255, 255, 255, 252, 247, 247, 245, 252, 255, 255, 245, 184, 192,
+  194, 195, 195, 189, 172, 156, 156, 169, 164, 147, 142, 147, 190, 189, 187, 178,
+  199, 201, 213, 230, 240, 245, 247, 247, 247, 245, 245, 249, 249, 246, 246, 247,
+  250, 251, 253, 254, 255, 251, 247, 245, 246, 218, 210, 214, 206, 191, 178, 167,
+  159, 150, 145, 140, 144, 145, 149, 147, 140, 138, 138, 138, 136, 130, 123, 117,
+  105, 101, 103, 111, 118, 116, 114, 113, 128, 120, 117, 88, 95, 82, 84, 64,
+  58, 62, 60, 57, 71, 96, 108, 105, 112, 102, 117, 126, 132, 155, 217, 255,
+  249, 248, 253, 254, 255, 255, 255, 255, 255, 255, 252, 247, 248, 247, 252, 255,
+  255, 221, 169, 177, 192, 197, 195, 184, 169, 160, 161, 167, 161, 144, 153, 149,
+  199, 182, 190, 183, 201, 208, 221, 234, 246, 249, 249, 247, 241, 241, 243, 246,
+  247, 246, 247, 247, 248, 251, 255, 255, 255, 255, 251, 248, 248, 231, 228, 227,
+  213, 200, 196, 190, 184, 178, 170, 166, 167, 169, 169, 169, 147, 145, 142, 139,
+  138, 134, 131, 127, 124, 111, 107, 115, 131, 136, 142, 148, 144, 135, 139, 107,
+  117, 96, 99, 75, 51, 58, 66, 68, 76, 92, 100, 102, 108, 107, 114, 129,
+  113, 156, 218, 255, 250, 249, 252, 253, 255, 255, 255, 255, 255, 255, 252, 247,
+  247, 248, 255, 255, 250, 204, 159, 169, 179, 184, 181, 171, 166, 171, 171, 164,
+  147, 154, 176, 174, 192, 172, 189, 206, 210, 217, 228, 239, 247, 249, 247, 244,
+  239, 240, 242, 244, 245, 247, 249, 249, 248, 251, 255, 255, 255, 255, 255, 255,
+  249, 239, 238, 233, 221, 217, 217, 211, 209, 205, 197, 192, 193, 193, 192, 190,
+  181, 173, 161, 152, 148, 146, 147, 147, 146, 133, 126, 132, 140, 139, 142, 147,
+  158, 151, 162, 129, 142, 116, 120, 94, 60, 59, 62, 67, 72, 79, 88, 94,
+  103, 113, 109, 117, 116, 143, 190, 252, 255, 253, 255, 254, 255, 255, 255, 255,
+  255, 255, 252, 249, 245, 248, 255, 255, 250, 198, 160, 171, 165, 168, 162, 155,
+  163, 180, 177, 160, 158, 169, 182, 195, 202, 194, 199, 218, 219, 226, 235, 238,
+  243, 244, 242, 238, 239, 240, 241, 241, 243, 247, 250, 251, 254, 254, 254, 251,
+  251, 251, 254, 255, 247, 242, 241, 235, 224, 226, 230, 220, 222, 216, 210, 206,
+  204, 204, 201, 199, 194, 191, 186, 180, 172, 162, 152, 145, 145, 139, 141, 153,
+  158, 152, 150, 156, 166, 163, 181, 147, 162, 133, 139, 111, 96, 80, 69, 66,
+  65, 66, 76, 84, 99, 122, 112, 112, 136, 132, 162, 241, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 253, 251, 240, 247, 255, 255, 229, 189, 164, 158,
+  136, 140, 156, 166, 164, 167, 167, 158, 160, 190, 208, 208, 209, 210, 216, 230,
+  231, 235, 242, 244, 243, 241, 241, 243, 233, 234, 237, 240, 244, 248, 251, 251,
+  251, 251, 252, 253, 252, 252, 252, 253, 248, 247, 246, 244, 242, 241, 238, 237,
+  234, 233, 230, 224, 217, 211, 206, 202, 206, 206, 204, 195, 185, 175, 169, 167,
+  170, 170, 147, 155, 162, 160, 177, 166, 175, 176, 192, 166, 165, 152, 156, 124,
+  108, 71, 57, 73, 65, 56, 76, 74, 83, 120, 109, 97, 133, 147, 154, 197,
+  255, 254, 255, 249, 255, 255, 255, 255, 255, 255, 254, 252, 247, 249, 255, 255,
+  208, 166, 141, 137, 144, 149, 161, 171, 173, 169, 163, 160, 164, 197, 215, 213,
+  215, 220, 226, 237, 235, 239, 245, 245, 242, 240, 241, 241, 238, 238, 239, 242,
+  245, 248, 250, 250, 251, 251, 252, 253, 252, 251, 252, 253, 248, 247, 246, 246,
+  245, 243, 241, 240, 240, 239, 236, 232, 229, 224, 220, 218, 203, 204, 203, 197,
+  188, 180, 175, 173, 161, 167, 155, 166, 171, 164, 172, 160, 175, 179, 197, 181,
+  182, 175, 178, 149, 112, 72, 57, 63, 69, 70, 66, 63, 81, 109, 101, 111,
+  139, 134, 144, 174, 251, 255, 255, 254, 255, 255, 255, 255, 255, 255, 254, 252,
+  251, 249, 252, 251, 183, 151, 135, 140, 150, 155, 161, 171, 175, 162, 150, 154,
+  168, 202, 219, 213, 219, 231, 238, 242, 241, 243, 246, 244, 241, 240, 240, 240,
+  242, 241, 242, 245, 247, 249, 249, 251, 252, 252, 253, 252, 252, 251, 252, 251,
+  249, 248, 246, 247, 248, 247, 247, 246, 244, 245, 244, 242, 240, 237, 235, 233,
+  220, 219, 218, 212, 206, 198, 193, 191, 173, 181, 176, 184, 185, 178, 182, 174,
+  181, 187, 205, 198, 202, 201, 202, 175, 140, 96, 73, 57, 78, 96, 72, 77,
+  94, 108, 98, 124, 141, 127, 148, 160, 218, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 254, 252, 251, 246, 244, 243, 172, 154, 157, 171, 152, 156, 159, 168,
+  173, 156, 143, 154, 171, 202, 211, 209, 223, 241, 243, 238, 241, 242, 242, 241,
+  239, 237, 238, 239, 241, 240, 241, 244, 246, 249, 249, 251, 252, 252, 252, 252,
+  251, 252, 252, 251, 249, 247, 247, 248, 249, 249, 249, 249, 243, 245, 245, 244,
+  243, 241, 241, 240, 240, 238, 236, 230, 224, 216, 210, 207, 202, 204, 200, 198,
+  195, 192, 197, 199, 194, 198, 210, 208, 208, 210, 209, 187, 171, 127, 99, 57,
+  77, 110, 88, 112, 117, 120, 106, 129, 137, 133, 169, 164, 180, 247, 255, 253,
+  255, 255, 255, 255, 255, 255, 254, 252, 252, 252, 249, 235, 178, 164, 169, 182,
+  149, 153, 159, 166, 166, 157, 155, 166, 177, 200, 205, 208, 229, 247, 242, 231,
+  236, 235, 236, 236, 236, 237, 238, 238, 238, 239, 239, 242, 245, 248, 251, 251,
+  250, 250, 251, 252, 252, 252, 250, 250, 248, 247, 245, 247, 248, 249, 248, 249,
+  241, 243, 242, 241, 241, 240, 240, 239, 244, 243, 241, 238, 233, 227, 221, 219,
+  219, 216, 215, 205, 200, 201, 202, 209, 205, 205, 209, 210, 204, 211, 208, 192,
+  178, 144, 119, 67, 74, 106, 94, 131, 120, 124, 117, 125, 130, 145, 179, 162,
+  155, 248, 255, 255, 255, 255, 255, 255, 255, 255, 254, 252, 253, 255, 255, 220,
+  189, 164, 159, 157, 146, 146, 159, 160, 147, 153, 170, 176, 182, 200, 207, 216,
+  237, 247, 240, 233, 232, 232, 234, 236, 238, 239, 240, 240, 237, 238, 238, 241,
+  243, 247, 250, 252, 251, 251, 251, 251, 251, 250, 249, 248, 248, 246, 245, 245,
+  246, 246, 245, 244, 243, 242, 242, 240, 239, 239, 238, 238, 240, 240, 240, 238,
+  239, 236, 231, 229, 224, 221, 229, 219, 215, 216, 207, 213, 211, 209, 207, 213,
+  203, 214, 208, 196, 175, 154, 136, 95, 84, 98, 96, 122, 108, 115, 123, 116,
+  121, 146, 162, 148, 142, 252, 253, 255, 255, 255, 255, 255, 255, 255, 254, 252,
+  248, 255, 248, 187, 192, 162, 152, 137, 154, 148, 166, 157, 125, 143, 178, 173,
+  181, 200, 215, 228, 240, 239, 234, 239, 235, 233, 236, 239, 243, 244, 243, 241,
+  240, 239, 240, 241, 242, 246, 250, 251, 250, 250, 251, 251, 251, 250, 249, 248,
+  247, 245, 243, 243, 243, 243, 241, 241, 240, 241, 241, 240, 240, 238, 237, 238,
+  239, 238, 237, 239, 241, 240, 236, 234, 226, 222, 235, 226, 223, 227, 214, 221,
+  218, 217, 211, 223, 207, 221, 212, 203, 186, 164, 146, 123, 100, 97, 102, 108,
+  105, 101, 123, 107, 113, 136, 129, 137, 136, 253, 247, 255, 255, 255, 255, 255,
+  255, 255, 254, 253, 242, 255, 236, 158, 188, 162, 155, 139, 172, 162, 180, 162,
+  115, 138, 182, 170, 181, 200, 221, 235, 240, 228, 227, 242, 238, 237, 241, 244,
+  246, 246, 245, 242, 243, 242, 243, 244, 244, 247, 249, 251, 251, 251, 250, 251,
+  250, 250, 249, 248, 251, 248, 247, 245, 246, 244, 242, 240, 240, 240, 240, 239,
+  240, 238, 238, 239, 238, 236, 236, 236, 238, 236, 231, 229, 227, 219, 231, 221,
+  220, 230, 216, 227, 225, 223, 218, 232, 214, 226, 213, 203, 201, 172, 144, 134,
+  106, 96, 106, 95, 113, 95, 120, 100, 106, 125, 105, 136, 137, 255, 249, 255,
+  255, 255, 255, 255, 254, 254, 254, 255, 255, 255, 203, 177, 185, 159, 159, 149,
+  161, 138, 173, 126, 152, 158, 166, 178, 183, 201, 225, 236, 236, 232, 234, 235,
+  239, 236, 232, 232, 236, 238, 244, 243, 242, 242, 243, 244, 247, 248, 251, 252,
+  250, 250, 251, 251, 252, 252, 252, 252, 249, 249, 251, 251, 251, 249, 248, 247,
+  250, 249, 247, 245, 244, 241, 240, 240, 242, 241, 241, 240, 240, 237, 235, 235,
+  231, 229, 227, 226, 226, 228, 227, 227, 228, 225, 224, 223, 223, 219, 212, 208,
+  208, 173, 157, 138, 97, 91, 105, 98, 88, 92, 99, 101, 93, 95, 107, 122,
+  142, 252, 255, 253, 255, 255, 255, 255, 254, 254, 254, 255, 255, 255, 193, 166,
+  176, 151, 150, 154, 141, 123, 164, 128, 154, 157, 161, 170, 185, 202, 224, 234,
+  235, 229, 231, 234, 239, 236, 234, 235, 236, 240, 242, 243, 240, 240, 241, 243,
+  244, 247, 249, 251, 250, 251, 251, 251, 252, 252, 252, 253, 252, 252, 253, 253,
+  253, 252, 250, 249, 251, 250, 248, 246, 244, 242, 241, 241, 239, 240, 242, 242,
+  242, 240, 239, 238, 231, 229, 227, 226, 227, 227, 227, 226, 227, 227, 227, 226,
+  224, 219, 213, 211, 204, 174, 162, 145, 103, 91, 100, 90, 74, 80, 81, 92,
+  98, 102, 118, 123, 150, 255, 255, 253, 255, 255, 255, 255, 255, 254, 254, 255,
+  255, 255, 180, 156, 167, 138, 131, 148, 121, 110, 151, 129, 154, 158, 162, 169,
+  192, 208, 228, 236, 237, 231, 233, 236, 238, 237, 236, 237, 239, 241, 242, 242,
+  239, 239, 238, 240, 241, 243, 245, 246, 246, 246, 246, 247, 247, 248, 248, 248,
+  250, 250, 251, 251, 250, 249, 248, 248, 246, 246, 244, 243, 243, 241, 241, 242,
+  241, 241, 241, 240, 241, 239, 237, 236, 232, 230, 228, 227, 227, 227, 228, 226,
+  227, 230, 234, 233, 229, 223, 217, 217, 203, 182, 173, 152, 114, 96, 98, 87,
+  79, 96, 90, 97, 102, 94, 118, 112, 136, 246, 255, 253, 255, 255, 255, 255,
+  255, 254, 254, 255, 255, 255, 173, 156, 166, 134, 118, 140, 117, 108, 139, 125,
+  148, 156, 168, 178, 202, 215, 234, 240, 240, 236, 237, 240, 237, 237, 237, 239,
+  240, 242, 241, 240, 240, 240, 239, 239, 241, 242, 244, 242, 244, 243, 245, 244,
+  246, 245, 246, 245, 250, 249, 250, 249, 249, 248, 248, 247, 245, 244, 243, 242,
+  243, 242, 242, 242, 244, 246, 244, 242, 239, 235, 234, 232, 233, 231, 229, 228,
+  228, 227, 228, 226, 227, 232, 238, 238, 232, 225, 220, 221, 209, 193, 181, 157,
+  122, 105, 104, 96, 94, 116, 110, 107, 104, 82, 114, 105, 115, 223, 255, 255,
+  255, 255, 255, 255, 255, 254, 254, 255, 255, 255, 165, 156, 160, 138, 124, 145,
+  129, 116, 126, 116, 134, 147, 170, 187, 210, 222, 237, 242, 241, 238, 238, 241,
+  235, 235, 235, 238, 240, 241, 239, 237, 242, 242, 241, 241, 242, 244, 243, 244,
+  244, 242, 244, 243, 245, 243, 246, 244, 249, 247, 248, 246, 247, 245, 247, 245,
+  243, 243, 242, 242, 242, 241, 242, 243, 244, 244, 243, 242, 238, 235, 233, 231,
+  234, 232, 230, 229, 228, 228, 228, 227, 226, 232, 238, 238, 233, 226, 222, 222,
+  215, 201, 182, 154, 126, 112, 108, 102, 100, 107, 106, 100, 110, 89, 119, 113,
+  130, 219, 255, 255, 255, 255, 255, 255, 255, 253, 254, 255, 255, 247, 151, 147,
+  142, 145, 143, 153, 134, 121, 116, 111, 124, 140, 170, 191, 216, 225, 235, 240,
+  239, 237, 237, 240, 237, 237, 237, 239, 241, 242, 240, 238, 244, 243, 243, 243,
+  245, 246, 245, 245, 244, 244, 245, 245, 245, 246, 246, 246, 247, 247, 246, 245,
+  244, 244, 245, 245, 243, 242, 244, 243, 242, 242, 241, 242, 240, 240, 241, 240,
+  240, 238, 237, 236, 235, 233, 231, 230, 229, 228, 229, 227, 228, 231, 235, 236,
+  233, 228, 224, 223, 217, 205, 179, 149, 130, 118, 107, 100, 110, 89, 100, 88,
+  113, 98, 122, 130, 188, 238, 255, 254, 255, 255, 255, 255, 255, 253, 254, 255,
+  255, 233, 138, 138, 122, 142, 145, 137, 122, 114, 108, 115, 128, 146, 177, 199,
+  221, 228, 236, 240, 240, 237, 238, 238, 241, 240, 239, 241, 242, 243, 243, 242,
+  243, 243, 244, 243, 244, 246, 247, 247, 247, 246, 247, 247, 248, 248, 248, 248,
+  247, 246, 244, 243, 243, 243, 244, 244, 244, 243, 243, 242, 241, 241, 241, 241,
+  239, 239, 240, 239, 239, 238, 236, 237, 236, 234, 232, 230, 230, 229, 229, 227,
+  231, 231, 233, 234, 233, 231, 226, 222, 216, 207, 181, 152, 140, 124, 102, 89,
+  117, 88, 126, 99, 107, 91, 120, 168, 241, 254, 255, 252, 255, 255, 255, 255,
+  255, 255, 253, 255, 250, 220, 129, 132, 107, 135, 134, 111, 103, 104, 103, 122,
+  137, 157, 187, 206, 225, 230, 238, 241, 240, 238, 238, 240, 245, 243, 242, 242,
+  243, 245, 245, 244, 243, 243, 242, 243, 244, 246, 248, 248, 249, 249, 249, 249,
+  250, 250, 250, 251, 247, 246, 244, 243, 242, 243, 244, 245, 245, 245, 245, 243,
+  241, 240, 242, 241, 242, 241, 242, 240, 239, 236, 234, 235, 237, 235, 233, 231,
+  230, 229, 229, 227, 233, 231, 231, 232, 234, 233, 228, 223, 217, 211, 186, 159,
+  150, 130, 101, 82, 111, 92, 158, 117, 103, 82, 126, 212, 255, 255, 255, 251,
+  255, 255, 255, 255, 255, 255, 253, 253, 255, 205, 137, 116, 124, 113, 151, 118,
+  116, 108, 117, 130, 135, 153, 187, 210, 225, 229, 236, 240, 240, 239, 238, 239,
+  239, 240, 240, 242, 243, 245, 245, 246, 245, 243, 244, 245, 246, 248, 250, 250,
+  251, 250, 251, 251, 251, 250, 249, 248, 249, 247, 244, 241, 240, 240, 240, 241,
+  245, 244, 244, 243, 243, 244, 248, 249, 246, 244, 242, 239, 238, 237, 236, 238,
+  242, 239, 235, 232, 230, 229, 229, 227, 231, 231, 231, 230, 228, 226, 224, 222,
+  215, 219, 181, 170, 134, 125, 107, 88, 101, 89, 155, 116, 112, 86, 117, 231,
+  255, 254, 254, 254, 255, 255, 255, 255, 255, 255, 254, 253, 253, 225, 158, 122,
+  109, 117, 136, 131, 119, 108, 111, 121, 131, 157, 190, 205, 228, 231, 237, 238,
+  238, 237, 237, 238, 240, 239, 238, 238, 239, 240, 242, 243, 240, 242, 244, 247,
+  248, 249, 250, 250, 252, 252, 252, 252, 252, 251, 250, 249, 246, 245, 242, 240,
+  238, 239, 240, 240, 245, 244, 244, 244, 244, 246, 248, 249, 248, 247, 246, 243,
+  242, 241, 240, 241, 240, 238, 235, 232, 231, 229, 227, 225, 230, 230, 231, 231,
+  230, 228, 227, 226, 212, 218, 182, 168, 132, 123, 113, 103, 105, 100, 146, 113,
+  115, 82, 120, 219, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 253,
+  249, 248, 181, 121, 102, 136, 125, 143, 127, 114, 113, 118, 134, 170, 204, 213,
+  233, 234, 238, 238, 238, 236, 236, 237, 240, 239, 237, 237, 237, 239, 241, 240,
+  240, 242, 244, 247, 249, 250, 250, 250, 251, 251, 251, 252, 251, 250, 249, 249,
+  250, 248, 247, 245, 245, 245, 246, 247, 246, 246, 247, 247, 247, 248, 249, 251,
+  248, 248, 248, 247, 247, 245, 243, 243, 239, 238, 237, 235, 234, 230, 228, 224,
+  227, 228, 229, 229, 229, 228, 227, 226, 213, 219, 189, 171, 133, 117, 118, 116,
+  105, 112, 131, 112, 128, 92, 147, 226, 255, 253, 253, 255, 255, 255, 255, 255,
+  255, 255, 255, 253, 255, 255, 200, 109, 108, 154, 126, 147, 127, 118, 118, 121,
+  139, 183, 219, 227, 236, 237, 239, 238, 238, 236, 236, 236, 239, 240, 241, 242,
+  243, 244, 242, 242, 246, 246, 246, 247, 248, 249, 250, 251, 249, 248, 250, 248,
+  250, 247, 248, 245, 252, 249, 250, 248, 250, 248, 252, 250, 249, 249, 248, 248,
+  249, 249, 252, 253, 245, 246, 246, 248, 247, 244, 243, 241, 242, 242, 242, 241,
+  239, 235, 231, 227, 225, 225, 226, 226, 225, 224, 223, 222, 217, 223, 203, 181,
+  141, 113, 119, 123, 107, 124, 118, 112, 142, 112, 192, 251, 255, 254, 254, 255,
+  255, 255, 255, 255, 255, 255, 255, 253, 255, 255, 229, 111, 108, 142, 126, 145,
+  115, 111, 115, 121, 142, 186, 225, 234, 241, 240, 239, 238, 238, 237, 236, 235,
+  238, 241, 246, 250, 252, 251, 247, 245, 250, 249, 246, 244, 242, 244, 247, 250,
+  247, 248, 249, 248, 249, 247, 247, 245, 247, 246, 246, 245, 247, 246, 248, 247,
+  249, 249, 249, 250, 252, 251, 252, 252, 244, 246, 247, 248, 247, 245, 245, 243,
+  246, 246, 246, 246, 244, 240, 235, 230, 227, 227, 227, 226, 224, 222, 221, 219,
+  218, 222, 212, 193, 156, 117, 123, 126, 117, 129, 110, 110, 139, 122, 227, 255,
+  255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 140,
+  103, 113, 122, 135, 110, 108, 118, 134, 157, 195, 230, 240, 245, 242, 239, 237,
+  239, 237, 237, 236, 238, 242, 247, 251, 253, 252, 247, 244, 248, 246, 243, 241,
+  239, 241, 243, 247, 247, 247, 247, 248, 247, 246, 245, 245, 245, 245, 245, 245,
+  245, 246, 246, 246, 245, 246, 247, 247, 249, 249, 249, 249, 246, 246, 247, 247,
+  248, 247, 246, 246, 248, 247, 247, 247, 245, 241, 237, 232, 231, 230, 230, 229,
+  227, 224, 222, 220, 216, 218, 216, 200, 174, 123, 127, 129, 130, 129, 113, 109,
+  121, 115, 239, 255, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 253, 255, 185, 104, 107, 122, 121, 119, 111, 125, 152, 181, 211, 236, 243,
+  247, 243, 239, 236, 239, 239, 239, 237, 240, 241, 243, 244, 243, 242, 240, 239,
+  237, 237, 238, 239, 238, 239, 239, 241, 242, 244, 244, 244, 244, 243, 242, 242,
+  246, 246, 246, 247, 246, 246, 245, 245, 242, 243, 244, 245, 246, 245, 245, 244,
+  244, 244, 246, 245, 246, 246, 246, 246, 246, 245, 244, 243, 241, 238, 234, 230,
+  229, 229, 230, 229, 228, 226, 224, 222, 220, 216, 217, 203, 183, 125, 127, 124,
+  139, 123, 121, 113, 107, 114, 248, 255, 255, 251, 251, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 249, 255, 215, 111, 122, 130, 111, 127, 114, 127, 162,
+  193, 219, 236, 238, 248, 243, 239, 237, 239, 240, 241, 240, 244, 243, 241, 239,
+  238, 236, 238, 237, 230, 233, 238, 242, 243, 243, 241, 241, 239, 242, 242, 242,
+  242, 241, 240, 237, 243, 243, 242, 242, 242, 240, 239, 238, 239, 240, 241, 243,
+  243, 244, 244, 243, 243, 243, 242, 241, 242, 243, 244, 244, 244, 242, 241, 239,
+  237, 236, 231, 229, 226, 227, 227, 227, 227, 226, 225, 224, 227, 220, 217, 202,
+  183, 121, 121, 115, 142, 118, 129, 121, 104, 121, 255, 255, 254, 251, 252, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 255, 237, 134, 126, 134, 113,
+  128, 142, 121, 180, 205, 221, 248, 240, 242, 249, 246, 244, 245, 240, 237, 248,
+  251, 244, 240, 242, 241, 235, 235, 237, 231, 234, 235, 237, 243, 251, 252, 248,
+  238, 242, 236, 232, 244, 222, 247, 233, 242, 245, 240, 238, 241, 236, 232, 242,
+  243, 237, 238, 246, 247, 241, 241, 245, 244, 247, 235, 245, 229, 239, 233, 241,
+  233, 243, 245, 234, 229, 233, 236, 232, 232, 221, 234, 226, 234, 224, 233, 221,
+  222, 221, 231, 209, 200, 133, 136, 122, 139, 113, 149, 110, 121, 117, 254, 255,
+  255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255,
+  170, 131, 133, 111, 127, 139, 128, 183, 207, 228, 245, 243, 248, 249, 241, 234,
+  243, 248, 244, 241, 233, 224, 218, 214, 210, 205, 203, 206, 203, 213, 221, 221,
+  220, 219, 220, 219, 204, 206, 193, 203, 208, 194, 206, 198, 235, 245, 246, 238,
+  239, 236, 236, 244, 236, 238, 235, 231, 232, 232, 229, 222, 229, 226, 219, 224,
+  220, 225, 225, 229, 222, 220, 217, 209, 209, 209, 212, 209, 226, 222, 232, 230,
+  230, 226, 229, 222, 229, 224, 234, 215, 205, 130, 128, 117, 141, 111, 138, 130,
+  134, 144, 244, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 254, 255, 255, 208, 131, 126, 110, 130, 134, 140, 190, 215, 240, 242, 246,
+  247, 244, 238, 235, 247, 255, 246, 230, 213, 207, 200, 196, 193, 190, 188, 190,
+  193, 206, 215, 209, 197, 187, 187, 186, 168, 163, 151, 170, 171, 161, 166, 166,
+  205, 234, 246, 238, 235, 236, 238, 245, 236, 237, 228, 216, 215, 220, 213, 196,
+  206, 196, 196, 193, 203, 198, 204, 205, 211, 214, 218, 214, 205, 195, 200, 208,
+  204, 213, 218, 228, 221, 224, 218, 220, 234, 227, 235, 222, 216, 132, 125, 119,
+  130, 112, 125, 125, 133, 186, 238, 255, 254, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 253, 255, 234, 133, 120, 118, 135, 137, 156, 203,
+  226, 252, 239, 251, 243, 237, 240, 242, 235, 224, 211, 200, 179, 175, 170, 165,
+  162, 158, 155, 151, 151, 159, 163, 152, 139, 132, 132, 133, 125, 116, 120, 129,
+  137, 122, 131, 136, 160, 210, 241, 237, 235, 239, 239, 242, 232, 224, 210, 199,
+  199, 198, 189, 176, 180, 161, 162, 152, 167, 153, 161, 159, 174, 170, 175, 182,
+  181, 168, 164, 167, 172, 191, 194, 216, 213, 231, 227, 242, 234, 230, 236, 226,
+  228, 139, 127, 129, 115, 118, 127, 103, 141, 226, 249, 249, 254, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 255, 254, 155, 121, 124,
+  143, 146, 169, 218, 239, 255, 241, 252, 251, 238, 244, 238, 199, 164, 157, 162,
+  158, 158, 158, 151, 146, 139, 131, 122, 108, 108, 102, 91, 85, 87, 92, 93,
+  97, 87, 111, 105, 121, 99, 115, 124, 121, 184, 232, 238, 239, 242, 238, 235,
+  223, 199, 178, 178, 178, 166, 157, 156, 146, 125, 121, 108, 118, 97, 104, 102,
+  128, 109, 103, 117, 134, 132, 123, 115, 104, 123, 117, 137, 148, 180, 190, 221,
+  233, 233, 236, 227, 237, 148, 133, 140, 116, 123, 135, 105, 188, 251, 255, 248,
+  254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 251, 255,
+  255, 186, 119, 117, 144, 155, 171, 229, 247, 255, 245, 251, 255, 241, 243, 227,
+  170, 138, 149, 166, 165, 171, 173, 173, 171, 168, 159, 149, 131, 122, 105, 90,
+  85, 89, 90, 88, 86, 81, 108, 97, 110, 101, 108, 116, 108, 172, 226, 240,
+  247, 246, 237, 231, 220, 188, 162, 161, 158, 141, 134, 141, 123, 103, 93, 88,
+  87, 71, 74, 79, 89, 90, 92, 93, 95, 98, 112, 124, 118, 128, 109, 108,
+  126, 150, 165, 199, 226, 234, 237, 227, 243, 158, 138, 141, 120, 119, 133, 127,
+  244, 253, 250, 248, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 250, 252, 255, 255, 219, 122, 115, 137, 158, 165, 233, 251, 248, 250, 246,
+  251, 243, 244, 219, 164, 155, 180, 187, 178, 185, 189, 189, 189, 190, 184, 174,
+  163, 153, 134, 116, 107, 103, 100, 94, 88, 91, 99, 104, 95, 120, 99, 108,
+  123, 178, 225, 242, 251, 248, 237, 236, 226, 198, 168, 154, 143, 130, 125, 129,
+  112, 98, 85, 93, 83, 78, 78, 92, 79, 98, 111, 104, 96, 102, 127, 146,
+  143, 149, 133, 116, 138, 135, 137, 158, 207, 228, 236, 226, 249, 168, 144, 141,
+  122, 126, 122, 138, 255, 249, 244, 248, 253, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 133, 125, 131, 156, 157, 233,
+  250, 241, 251, 244, 244, 245, 248, 215, 166, 176, 200, 188, 206, 212, 209, 203,
+  202, 199, 192, 180, 171, 165, 154, 139, 130, 124, 119, 115, 120, 130, 117, 141,
+  111, 166, 120, 128, 143, 188, 226, 243, 251, 248, 239, 238, 228, 208, 174, 146,
+  131, 125, 121, 116, 104, 95, 83, 100, 87, 92, 90, 112, 113, 119, 123, 126,
+  142, 157, 161, 151, 155, 167, 166, 149, 178, 155, 142, 149, 189, 220, 232, 224,
+  253, 176, 149, 143, 124, 147, 120, 135, 255, 254, 252, 250, 253, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 134, 112,
+  122, 142, 193, 220, 255, 252, 255, 243, 242, 243, 228, 205, 191, 195, 209, 215,
+  203, 214, 217, 211, 200, 184, 164, 143, 148, 138, 135, 115, 117, 105, 126, 110,
+  100, 141, 134, 165, 134, 149, 138, 137, 157, 192, 236, 241, 255, 243, 254, 245,
+  227, 216, 172, 144, 128, 122, 133, 128, 136, 96, 92, 111, 99, 73, 84, 115,
+  105, 128, 136, 133, 146, 160, 176, 188, 190, 191, 195, 197, 185, 169, 164, 170,
+  187, 206, 235, 244, 238, 192, 141, 147, 121, 157, 131, 148, 255, 255, 244, 246,
+  253, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 255, 252,
+  255, 255, 111, 133, 120, 138, 191, 226, 255, 243, 246, 239, 239, 234, 216, 199,
+  198, 212, 223, 226, 223, 210, 194, 178, 159, 148, 153, 163, 153, 132, 127, 114,
+  108, 99, 102, 101, 112, 124, 105, 134, 134, 161, 167, 165, 168, 207, 243, 243,
+  255, 247, 255, 242, 229, 220, 184, 164, 152, 145, 150, 137, 114, 100, 94, 88,
+  83, 90, 97, 92, 93, 121, 127, 116, 126, 149, 176, 196, 229, 205, 200, 217,
+  215, 189, 175, 182, 194, 209, 233, 239, 236, 195, 144, 151, 117, 159, 142, 198,
+  254, 244, 246, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 107, 147, 115, 125, 181, 228, 255, 243, 246, 246,
+  242, 228, 208, 196, 207, 226, 234, 228, 231, 192, 161, 158, 158, 146, 138, 138,
+  133, 98, 95, 96, 90, 93, 76, 101, 96, 100, 92, 105, 113, 126, 155, 169,
+  175, 228, 252, 249, 255, 253, 255, 242, 246, 238, 204, 185, 169, 152, 145, 124,
+  94, 93, 90, 74, 71, 88, 89, 67, 84, 96, 90, 84, 108, 138, 161, 174,
+  186, 204, 220, 223, 222, 224, 219, 212, 206, 214, 231, 236, 237, 202, 150, 154,
+  131, 151, 155, 248, 255, 255, 251, 243, 254, 254, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 252, 255, 255, 255, 255, 255, 255, 142, 139, 127, 125, 175, 234,
+  255, 244, 247, 246, 246, 234, 214, 204, 214, 228, 229, 217, 211, 176, 153, 156,
+  165, 158, 140, 125, 134, 86, 77, 81, 76, 92, 69, 121, 113, 109, 104, 99,
+  107, 92, 126, 136, 167, 241, 255, 255, 255, 255, 255, 243, 255, 250, 214, 189,
+  162, 138, 127, 106, 97, 92, 98, 100, 84, 73, 66, 59, 80, 77, 74, 88,
+  119, 132, 143, 157, 171, 200, 223, 224, 221, 222, 209, 193, 217, 221, 233, 237,
+  242, 211, 158, 155, 155, 144, 186, 255, 255, 255, 251, 241, 255, 254, 254, 255,
+  255, 255, 255, 255, 255, 255, 255, 253, 255, 240, 231, 226, 234, 244, 206, 139,
+  159, 142, 181, 242, 249, 243, 240, 236, 246, 240, 228, 217, 218, 224, 219, 203,
+  187, 177, 164, 149, 144, 153, 167, 173, 182, 122, 88, 74, 71, 96, 86, 155,
+  180, 151, 123, 103, 123, 103, 126, 119, 152, 245, 255, 255, 255, 250, 255, 245,
+  248, 248, 214, 185, 151, 125, 121, 108, 113, 113, 132, 140, 107, 68, 59, 64,
+  79, 72, 85, 127, 158, 146, 143, 162, 164, 144, 159, 214, 244, 232, 216, 221,
+  218, 222, 232, 237, 246, 216, 160, 152, 161, 146, 228, 234, 226, 242, 246, 255,
+  255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 198, 190,
+  205, 227, 255, 176, 169, 150, 186, 249, 245, 247, 245, 236, 240, 242, 239, 228,
+  223, 222, 213, 200, 180, 178, 168, 149, 146, 165, 189, 203, 210, 158, 103, 69,
+  75, 101, 119, 186, 206, 176, 137, 106, 115, 107, 138, 137, 148, 250, 255, 255,
+  255, 246, 252, 246, 248, 251, 218, 186, 149, 121, 123, 114, 117, 133, 160, 161,
+  122, 83, 68, 62, 89, 65, 78, 144, 199, 183, 151, 147, 184, 165, 171, 206,
+  225, 215, 205, 213, 218, 223, 232, 236, 245, 217, 159, 148, 151, 151, 241, 222,
+  221, 232, 224, 238, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 216, 181, 174, 185, 217, 255, 227, 160, 149, 191, 255, 239, 251, 252, 244,
+  237, 243, 244, 234, 228, 224, 216, 201, 189, 182, 180, 175, 173, 177, 187, 197,
+  206, 180, 129, 87, 108, 123, 154, 200, 188, 180, 152, 126, 124, 122, 152, 154,
+  158, 255, 246, 255, 255, 243, 246, 243, 250, 252, 220, 190, 156, 127, 124, 113,
+  120, 134, 159, 164, 137, 105, 85, 70, 90, 77, 94, 156, 214, 204, 165, 145,
+  143, 164, 185, 195, 205, 221, 230, 231, 221, 228, 235, 236, 245, 218, 163, 151,
+  147, 183, 231, 234, 233, 219, 200, 202, 255, 254, 254, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 248, 209, 172, 169, 172, 211, 230, 253, 157, 154, 201, 255,
+  234, 243, 247, 239, 239, 245, 245, 235, 228, 224, 214, 197, 196, 198, 207, 206,
+  183, 163, 175, 204, 209, 208, 168, 127, 155, 154, 182, 203, 190, 186, 162, 158,
+  168, 174, 175, 152, 170, 255, 237, 255, 255, 243, 244, 241, 242, 245, 216, 193,
+  164, 137, 130, 116, 133, 128, 149, 173, 157, 123, 99, 88, 83, 115, 154, 191,
+  211, 198, 180, 180, 149, 153, 172, 199, 217, 216, 215, 216, 225, 230, 239, 238,
+  246, 221, 165, 156, 155, 227, 227, 245, 216, 184, 189, 214, 255, 254, 254, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 173, 155, 173, 214, 234, 245,
+  173, 163, 204, 251, 233, 248, 241, 245, 242, 246, 246, 241, 236, 232, 225, 218,
+  219, 222, 222, 218, 210, 196, 185, 177, 198, 211, 191, 168, 178, 190, 189, 192,
+  189, 186, 187, 191, 198, 199, 191, 181, 198, 246, 244, 243, 255, 252, 244, 244,
+  241, 243, 235, 221, 199, 180, 170, 166, 166, 169, 167, 163, 174, 184, 171, 146,
+  153, 161, 188, 189, 194, 176, 198, 214, 202, 196, 198, 211, 221, 220, 223, 227,
+  227, 222, 225, 237, 238, 216, 179, 150, 155, 213, 229, 235, 198, 183, 187, 198,
+  255, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 252, 210, 166, 171,
+  175, 235, 228, 229, 181, 164, 207, 247, 239, 249, 246, 246, 243, 248, 249, 246,
+  242, 238, 230, 226, 230, 232, 232, 231, 224, 214, 205, 199, 192, 201, 196, 184,
+  186, 189, 183, 177, 190, 193, 201, 204, 205, 203, 198, 191, 215, 252, 244, 244,
+  255, 255, 244, 238, 245, 244, 235, 220, 205, 196, 197, 200, 176, 179, 177, 174,
+  185, 198, 188, 168, 166, 170, 195, 167, 188, 174, 214, 220, 221, 214, 210, 213,
+  219, 224, 231, 234, 227, 222, 228, 237, 241, 220, 183, 153, 148, 223, 237, 222,
+  182, 182, 192, 187, 255, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255,
+  251, 217, 157, 177, 168, 254, 226, 220, 196, 171, 213, 244, 246, 246, 249, 244,
+  241, 247, 251, 248, 247, 247, 242, 238, 243, 244, 243, 240, 233, 227, 219, 216,
+  215, 206, 202, 198, 189, 193, 199, 195, 199, 204, 214, 214, 212, 209, 212, 215,
+  233, 255, 244, 246, 255, 255, 244, 232, 240, 241, 235, 225, 218, 214, 217, 220,
+  198, 199, 192, 185, 191, 199, 190, 174, 181, 179, 202, 158, 191, 180, 227, 223,
+  233, 233, 231, 226, 226, 231, 237, 237, 232, 227, 232, 240, 245, 228, 192, 161,
+  149, 225, 239, 222, 177, 176, 189, 191, 255, 254, 254, 254, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 221, 159, 166, 163, 255, 235, 226, 213, 177, 219, 242,
+  252, 243, 248, 239, 241, 247, 251, 249, 250, 250, 248, 245, 248, 248, 245, 240,
+  234, 227, 222, 218, 223, 203, 203, 205, 191, 194, 210, 210, 213, 215, 221, 220,
+  218, 222, 233, 241, 238, 254, 241, 245, 255, 254, 245, 234, 231, 237, 239, 238,
+  233, 226, 222, 220, 217, 216, 208, 197, 197, 202, 196, 184, 200, 197, 212, 182,
+  205, 198, 228, 225, 229, 239, 244, 236, 234, 238, 240, 234, 236, 232, 235, 244,
+  249, 234, 199, 166, 149, 212, 230, 233, 186, 164, 180, 206, 255, 254, 254, 254,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 222, 180, 163, 176, 247, 247, 232,
+  213, 176, 218, 244, 254, 243, 247, 241, 243, 250, 252, 250, 250, 253, 250, 249,
+  248, 247, 244, 239, 235, 229, 225, 222, 225, 211, 221, 231, 218, 213, 220, 217,
+  221, 222, 226, 229, 233, 239, 245, 249, 237, 247, 241, 248, 255, 243, 243, 236,
+  229, 235, 241, 243, 240, 232, 224, 218, 218, 220, 215, 207, 210, 216, 217, 213,
+  224, 218, 216, 218, 217, 215, 223, 233, 226, 236, 242, 236, 235, 239, 241, 234,
+  237, 233, 236, 243, 250, 238, 202, 166, 145, 208, 229, 235, 188, 164, 181, 211,
+  255, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 209, 181,
+  203, 242, 246, 223, 199, 168, 209, 246, 251, 247, 249, 246, 246, 252, 253, 251,
+  252, 254, 253, 250, 246, 246, 246, 244, 240, 237, 234, 235, 241, 231, 232, 232,
+  224, 220, 227, 230, 222, 225, 231, 241, 248, 250, 249, 245, 238, 245, 244, 255,
+  250, 234, 238, 233, 236, 240, 241, 241, 240, 238, 234, 231, 223, 225, 222, 215,
+  215, 219, 223, 224, 239, 232, 218, 233, 220, 226, 225, 243, 232, 233, 233, 229,
+  230, 235, 240, 239, 234, 231, 234, 241, 248, 237, 201, 161, 148, 226, 247, 236,
+  189, 183, 201, 219, 255, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 232, 227, 203, 221, 238, 229, 203, 185, 161, 201, 251, 246, 250, 244, 247,
+  244, 249, 251, 249, 250, 252, 252, 250, 248, 249, 249, 248, 245, 242, 241, 239,
+  235, 233, 221, 209, 208, 209, 219, 232, 229, 230, 235, 242, 248, 249, 247, 242,
+  243, 243, 244, 255, 251, 235, 240, 232, 241, 242, 241, 241, 240, 240, 237, 236,
+  233, 235, 231, 220, 213, 212, 215, 217, 228, 228, 225, 228, 224, 227, 233, 241,
+  239, 233, 230, 230, 232, 231, 233, 235, 228, 228, 231, 238, 245, 235, 196, 154,
+  159, 233, 250, 240, 195, 194, 218, 239, 255, 254, 254, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 236, 230, 213, 220, 234, 212, 187, 179, 159, 196, 254,
+  241, 249, 238, 242, 239, 242, 246, 244, 245, 249, 250, 248, 252, 251, 251, 249,
+  245, 241, 236, 235, 227, 240, 233, 222, 228, 227, 226, 238, 239, 238, 238, 235,
+  237, 241, 246, 248, 244, 241, 243, 255, 255, 240, 245, 234, 241, 242, 244, 245,
+  244, 240, 235, 231, 239, 243, 239, 228, 218, 216, 219, 221, 207, 216, 232, 218,
+  229, 228, 239, 230, 241, 234, 232, 240, 242, 232, 225, 226, 224, 226, 229, 235,
+  243, 235, 193, 148, 165, 217, 233, 241, 202, 186, 215, 255, 255, 254, 254, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 243, 226, 223, 231, 216, 181,
+  169, 177, 181, 254, 243, 251, 242, 254, 251, 249, 249, 246, 245, 244, 246, 247,
+  246, 249, 251, 248, 250, 253, 249, 241, 235, 237, 235, 231, 234, 243, 246, 241,
+  242, 242, 244, 242, 242, 241, 244, 246, 238, 243, 251, 255, 251, 245, 240, 238,
+  244, 239, 238, 244, 247, 243, 241, 242, 242, 239, 234, 234, 234, 233, 225, 218,
+  214, 216, 221, 222, 224, 226, 231, 233, 235, 237, 240, 239, 234, 230, 227, 225,
+  224, 227, 232, 237, 244, 233, 184, 135, 177, 209, 223, 246, 194, 206, 251, 255,
+  255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 250, 233,
+  226, 233, 216, 183, 169, 196, 176, 250, 247, 244, 248, 249, 247, 248, 246, 244,
+  244, 242, 244, 246, 248, 251, 251, 249, 253, 255, 252, 245, 241, 242, 240, 237,
+  241, 246, 249, 244, 241, 242, 244, 243, 243, 242, 243, 244, 239, 243, 251, 255,
+  252, 247, 242, 240, 240, 238, 238, 244, 245, 240, 236, 236, 233, 231, 232, 235,
+  239, 238, 235, 227, 222, 224, 228, 229, 229, 231, 232, 235, 235, 237, 240, 239,
+  235, 231, 229, 228, 226, 229, 233, 239, 241, 228, 189, 153, 178, 208, 222, 238,
+  196, 215, 255, 255, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 254,
+  255, 255, 255, 244, 233, 232, 216, 189, 168, 215, 174, 239, 249, 241, 251, 243,
+  244, 244, 243, 242, 242, 243, 243, 243, 247, 250, 250, 250, 251, 254, 252, 247,
+  247, 248, 247, 245, 249, 251, 252, 247, 241, 242, 245, 243, 244, 243, 244, 242,
+  240, 243, 250, 254, 253, 249, 245, 242, 239, 238, 239, 243, 242, 236, 233, 231,
+  230, 230, 233, 238, 244, 245, 242, 237, 231, 232, 235, 236, 235, 234, 235, 236,
+  234, 237, 240, 240, 237, 235, 233, 232, 228, 229, 234, 242, 243, 230, 206, 187,
+  187, 214, 227, 234, 208, 231, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 254, 252, 254, 255, 251, 238, 233, 219, 196, 173, 219, 187, 226,
+  247, 247, 243, 242, 242, 244, 243, 242, 243, 243, 242, 243, 244, 245, 246, 247,
+  249, 250, 249, 248, 250, 250, 250, 251, 252, 253, 251, 247, 245, 245, 243, 242,
+  244, 245, 245, 244, 242, 243, 249, 252, 252, 250, 246, 243, 243, 242, 243, 243,
+  241, 236, 233, 231, 239, 238, 239, 241, 243, 244, 244, 240, 238, 238, 240, 240,
+  239, 237, 234, 233, 234, 236, 239, 239, 238, 236, 236, 236, 232, 228, 232, 244,
+  249, 242, 230, 221, 198, 218, 234, 233, 224, 244, 255, 252, 255, 254, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 250, 252, 255, 255, 245, 238, 226, 212,
+  183, 213, 207, 216, 241, 255, 233, 244, 242, 244, 246, 246, 246, 245, 245, 245,
+  244, 244, 244, 246, 246, 246, 247, 248, 249, 248, 248, 251, 251, 249, 246, 245,
+  249, 245, 242, 241, 242, 246, 248, 248, 243, 243, 246, 249, 250, 249, 246, 242,
+  244, 244, 243, 239, 235, 232, 231, 229, 242, 239, 238, 236, 236, 237, 239, 239,
+  240, 239, 239, 239, 240, 237, 233, 231, 234, 237, 239, 240, 239, 238, 238, 237,
+  236, 227, 227, 241, 252, 251, 242, 233, 199, 214, 236, 232, 238, 254, 255, 245,
+  254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 251, 255, 255,
+  252, 245, 236, 226, 198, 211, 226, 221, 238, 255, 230, 247, 244, 246, 248, 248,
+  248, 247, 245, 244, 244, 243, 243, 246, 245, 243, 245, 249, 246, 243, 243, 247,
+  248, 245, 242, 243, 248, 244, 243, 241, 244, 249, 251, 251, 245, 242, 243, 245,
+  247, 246, 243, 239, 238, 243, 242, 236, 231, 229, 227, 224, 237, 235, 234, 232,
+  232, 234, 237, 238, 240, 237, 236, 235, 237, 235, 232, 229, 233, 235, 237, 237,
+  236, 236, 237, 237, 237, 229, 227, 237, 250, 252, 240, 222, 198, 204, 232, 230,
+  250, 255, 253, 245, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 251, 255, 255, 254, 247, 242, 235, 211, 221, 235, 236, 242, 248, 240, 243,
+  246, 248, 249, 250, 249, 246, 243, 241, 242, 240, 242, 245, 243, 240, 240, 247,
+  245, 240, 239, 244, 245, 242, 240, 243, 243, 242, 243, 244, 250, 254, 252, 249,
+  245, 240, 240, 242, 243, 241, 238, 235, 232, 239, 242, 237, 233, 230, 225, 219,
+  231, 232, 235, 236, 236, 237, 238, 240, 240, 238, 235, 235, 236, 235, 232, 230,
+  232, 234, 235, 235, 234, 234, 236, 235, 230, 231, 232, 237, 247, 252, 238, 214,
+  207, 204, 234, 232, 255, 255, 248, 251, 254, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 250, 254, 255, 253, 246, 242, 236, 218, 230, 235, 249,
+  246, 236, 252, 239, 244, 247, 248, 248, 246, 245, 243, 240, 238, 236, 238, 241,
+  239, 234, 237, 244, 247, 241, 238, 244, 246, 244, 244, 247, 238, 239, 240, 245,
+  252, 253, 251, 246, 245, 241, 240, 241, 242, 239, 235, 232, 228, 240, 246, 243,
+  238, 233, 227, 218, 233, 236, 242, 244, 244, 243, 242, 242, 242, 239, 235, 235,
+  237, 237, 235, 233, 232, 234, 235, 234, 233, 232, 233, 233, 223, 231, 237, 239,
+  246, 253, 237, 212, 218, 209, 237, 233, 255, 255, 244, 252, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 255, 255, 253, 242, 229, 253,
+  226, 237, 239, 240, 248, 244, 240, 245, 241, 241, 243, 243, 241, 242, 241, 238,
+  232, 232, 235, 238, 241, 239, 237, 237, 244, 244, 245, 244, 243, 243, 241, 237,
+  236, 236, 238, 241, 248, 249, 249, 245, 243, 247, 239, 234, 243, 240, 225, 218,
+  230, 236, 239, 238, 242, 244, 236, 222, 232, 234, 239, 242, 245, 246, 246, 245,
+  238, 237, 236, 237, 236, 237, 237, 237, 234, 237, 238, 236, 234, 233, 232, 231,
+  231, 229, 239, 246, 249, 249, 234, 207, 206, 217, 233, 247, 254, 254, 251, 252,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 255, 255,
+  255, 244, 230, 251, 234, 241, 239, 239, 249, 247, 241, 243, 241, 241, 242, 241,
+  241, 240, 241, 238, 232, 232, 236, 238, 239, 238, 237, 236, 238, 239, 243, 243,
+  244, 242, 239, 236, 237, 233, 234, 238, 242, 245, 244, 243, 229, 240, 243, 240,
+  241, 235, 229, 237, 234, 240, 240, 239, 244, 255, 255, 247, 232, 233, 238, 242,
+  244, 245, 247, 245, 238, 236, 237, 236, 239, 238, 237, 237, 237, 237, 239, 236,
+  234, 231, 232, 230, 229, 226, 236, 244, 246, 246, 233, 207, 217, 221, 233, 249,
+  255, 251, 247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 254, 255, 255, 255, 246, 230, 248, 247, 248, 240, 238, 247, 247, 241, 243,
+  242, 242, 242, 241, 241, 240, 240, 238, 233, 233, 236, 237, 238, 237, 236, 235,
+  233, 235, 239, 241, 241, 239, 237, 234, 226, 231, 241, 252, 255, 255, 249, 242,
+  246, 240, 229, 231, 241, 236, 220, 217, 213, 226, 234, 238, 243, 250, 249, 241,
+  230, 231, 236, 239, 241, 242, 243, 242, 233, 234, 236, 235, 237, 236, 235, 234,
+  237, 237, 238, 235, 233, 230, 231, 230, 231, 228, 235, 243, 244, 246, 237, 215,
+  231, 225, 233, 251, 255, 251, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 231, 247, 253, 250, 237, 234,
+  247, 248, 243, 244, 243, 242, 243, 241, 241, 239, 240, 237, 236, 236, 237, 237,
+  237, 236, 236, 235, 236, 236, 238, 238, 238, 237, 239, 236, 237, 239, 246, 250,
+  250, 244, 234, 228, 229, 233, 230, 231, 234, 230, 227, 237, 235, 241, 238, 231,
+  233, 246, 255, 255, 228, 230, 232, 234, 238, 236, 238, 236, 230, 231, 233, 233,
+  235, 234, 232, 231, 234, 234, 236, 233, 231, 228, 228, 227, 235, 230, 237, 246,
+  246, 247, 242, 226, 241, 228, 232, 253, 255, 250, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 253, 237, 251,
+  253, 249, 234, 231, 246, 251, 245, 245, 244, 243, 243, 241, 241, 239, 237, 236,
+  240, 240, 239, 238, 237, 237, 237, 237, 238, 236, 234, 232, 232, 233, 237, 238,
+  244, 242, 242, 242, 244, 247, 249, 249, 239, 236, 224, 223, 237, 237, 226, 222,
+  222, 234, 241, 240, 241, 247, 246, 240, 229, 230, 232, 232, 234, 232, 232, 232,
+  228, 228, 230, 230, 232, 231, 230, 229, 230, 231, 233, 230, 229, 226, 227, 226,
+  235, 232, 239, 247, 244, 244, 243, 233, 245, 230, 233, 253, 255, 250, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251,
+  255, 255, 242, 253, 247, 246, 232, 231, 247, 251, 246, 247, 246, 243, 243, 241,
+  240, 239, 237, 238, 242, 240, 240, 236, 235, 234, 235, 235, 235, 233, 231, 229,
+  229, 232, 237, 238, 240, 243, 246, 248, 245, 232, 219, 208, 210, 227, 226, 219,
+  225, 228, 218, 212, 217, 226, 231, 232, 237, 245, 247, 239, 233, 233, 233, 234,
+  233, 231, 230, 229, 227, 226, 227, 225, 227, 227, 228, 228, 227, 228, 231, 229,
+  228, 226, 228, 227, 236, 230, 238, 245, 240, 237, 238, 232, 245, 236, 239, 254,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 252, 255, 255, 237, 244, 242, 244, 236, 234, 248, 250, 245, 247,
+  246, 245, 244, 241, 240, 237, 237, 238, 242, 240, 238, 234, 233, 231, 232, 232,
+  229, 229, 230, 231, 234, 238, 240, 241, 245, 248, 250, 241, 218, 181, 141, 118,
+  128, 200, 245, 230, 206, 207, 227, 250, 197, 179, 147, 124, 135, 171, 208, 227,
+  239, 239, 239, 237, 235, 230, 230, 228, 226, 225, 224, 221, 224, 224, 226, 228,
+  226, 227, 230, 229, 230, 228, 230, 230, 236, 231, 240, 247, 239, 233, 234, 228,
+  244, 243, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 231, 240, 245, 238, 237,
+  249, 249, 244, 247, 247, 246, 244, 241, 240, 237, 236, 237, 241, 239, 236, 232,
+  230, 230, 230, 231, 227, 228, 233, 237, 242, 245, 245, 245, 248, 247, 242, 231,
+  212, 184, 157, 142, 159, 206, 228, 220, 228, 236, 223, 199, 180, 164, 136, 117,
+  130, 165, 196, 210, 244, 243, 243, 240, 236, 232, 229, 229, 226, 224, 222, 219,
+  221, 223, 226, 228, 227, 227, 231, 230, 231, 231, 233, 235, 240, 234, 243, 250,
+  241, 233, 233, 229, 243, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 247, 234, 223,
+  236, 236, 235, 238, 243, 248, 250, 249, 247, 243, 241, 242, 240, 236, 236, 239,
+  245, 240, 233, 230, 231, 233, 230, 229, 236, 234, 235, 238, 242, 245, 246, 245,
+  245, 249, 255, 249, 225, 192, 175, 172, 187, 206, 226, 229, 229, 239, 234, 207,
+  189, 193, 180, 176, 171, 171, 195, 204, 242, 245, 240, 236, 240, 236, 227, 230,
+  229, 227, 224, 220, 222, 222, 224, 226, 228, 230, 235, 234, 234, 231, 230, 231,
+  236, 236, 247, 240, 237, 242, 228, 230, 230, 243, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 251, 231, 215, 225, 228, 229, 236, 244, 248, 248, 244, 247, 244, 242, 243,
+  242, 235, 235, 237, 235, 234, 234, 235, 236, 238, 237, 236, 239, 241, 244, 245,
+  248, 248, 248, 247, 247, 251, 253, 248, 227, 199, 183, 178, 183, 196, 215, 220,
+  217, 223, 221, 204, 190, 199, 189, 190, 186, 185, 206, 210, 233, 239, 238, 238,
+  245, 241, 236, 241, 231, 229, 226, 222, 223, 224, 226, 227, 224, 226, 232, 232,
+  234, 232, 233, 234, 236, 234, 246, 239, 234, 233, 218, 223, 221, 237, 253, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 254, 232, 213, 221, 223, 223, 229, 237, 245, 248, 248,
+  245, 242, 243, 243, 242, 235, 233, 235, 226, 230, 234, 238, 239, 240, 239, 240,
+  239, 243, 247, 249, 249, 245, 246, 246, 248, 249, 249, 245, 231, 210, 195, 190,
+  176, 178, 190, 199, 194, 194, 196, 189, 172, 186, 184, 195, 197, 198, 218, 220,
+  233, 242, 243, 242, 246, 239, 235, 243, 237, 234, 231, 226, 226, 226, 228, 229,
+  224, 226, 231, 232, 233, 231, 232, 233, 234, 229, 244, 242, 235, 230, 219, 231,
+  214, 234, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 223, 226, 222, 215, 216,
+  223, 235, 245, 250, 245, 241, 241, 245, 242, 236, 232, 233, 224, 231, 237, 239,
+  238, 237, 237, 239, 242, 245, 247, 248, 246, 245, 246, 247, 248, 247, 245, 241,
+  235, 223, 210, 203, 181, 167, 169, 180, 178, 171, 173, 172, 165, 178, 182, 196,
+  200, 202, 220, 223, 232, 244, 246, 244, 246, 239, 235, 242, 242, 240, 236, 231,
+  230, 228, 229, 229, 230, 231, 234, 233, 232, 230, 230, 228, 236, 230, 244, 243,
+  235, 226, 216, 228, 220, 236, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242,
+  232, 227, 220, 218, 224, 233, 241, 244, 243, 241, 240, 244, 241, 235, 232, 233,
+  229, 233, 237, 238, 236, 236, 238, 241, 248, 247, 246, 244, 244, 245, 249, 251,
+  249, 248, 243, 238, 234, 227, 218, 209, 195, 166, 158, 169, 170, 164, 164, 164,
+  185, 196, 194, 202, 203, 200, 214, 214, 220, 233, 239, 239, 244, 239, 237, 245,
+  242, 240, 238, 233, 233, 230, 229, 228, 232, 233, 235, 233, 233, 230, 230, 229,
+  240, 233, 244, 239, 229, 222, 209, 220, 234, 246, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 254, 242, 242, 240, 243, 246, 247, 243, 241, 242, 241, 239, 241,
+  239, 236, 235, 237, 234, 236, 238, 240, 240, 239, 240, 241, 238, 233, 229, 229,
+  231, 236, 240, 242, 244, 245, 241, 235, 230, 227, 220, 212, 203, 171, 157, 164,
+  165, 161, 164, 164, 195, 205, 198, 204, 203, 199, 212, 211, 219, 229, 230, 231,
+  235, 228, 224, 230, 231, 231, 233, 232, 233, 231, 229, 227, 229, 230, 233, 232,
+  232, 231, 233, 233, 233, 227, 239, 235, 233, 240, 231, 237, 248, 254, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 252, 253, 255, 255, 255, 255, 248, 241,
+  242, 238, 237, 239, 237, 235, 237, 240, 238, 237, 238, 241, 240, 237, 233, 228,
+  219, 213, 208, 210, 218, 224, 225, 224, 228, 232, 234, 229, 228, 227, 225, 219,
+  207, 181, 169, 170, 166, 165, 173, 177, 196, 204, 198, 204, 203, 198, 211, 209,
+  219, 226, 222, 218, 221, 214, 207, 210, 214, 217, 223, 227, 232, 231, 229, 227,
+  228, 228, 231, 229, 229, 228, 231, 231, 224, 226, 237, 231, 241, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 252, 253,
+  255, 253, 246, 242, 243, 240, 238, 237, 238, 235, 238, 242, 241, 238, 240, 241,
+  240, 232, 223, 215, 210, 205, 201, 205, 215, 222, 221, 216, 212, 220, 225, 223,
+  225, 230, 232, 229, 215, 196, 188, 185, 176, 178, 191, 200, 206, 214, 206, 210,
+  205, 197, 206, 201, 212, 214, 212, 208, 214, 211, 203, 206, 203, 208, 215, 224,
+  230, 231, 229, 227, 230, 229, 230, 229, 226, 225, 225, 227, 229, 230, 240, 228,
+  240, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 254, 251, 250, 254, 255, 250, 241, 246, 243, 241, 242, 240, 236, 237, 239,
+  241, 238, 240, 243, 237, 225, 220, 222, 209, 200, 194, 199, 206, 209, 212, 218,
+  214, 219, 227, 228, 231, 235, 236, 233, 232, 212, 202, 202, 201, 208, 218, 216,
+  219, 215, 211, 209, 210, 210, 207, 204, 212, 215, 212, 211, 218, 214, 205, 205,
+  206, 209, 208, 216, 232, 232, 223, 225, 229, 229, 228, 229, 232, 233, 236, 237,
+  241, 238, 236, 235, 245, 255, 255, 252, 254, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 251, 251, 254, 255, 252, 245, 248, 244, 242, 242,
+  238, 233, 235, 237, 252, 246, 246, 245, 239, 228, 221, 222, 216, 205, 183, 164,
+  166, 187, 207, 216, 217, 220, 221, 220, 222, 225, 224, 220, 215, 204, 207, 213,
+  212, 215, 221, 217, 215, 212, 209, 207, 207, 206, 204, 202, 202, 212, 213, 212,
+  216, 210, 202, 205, 205, 207, 202, 208, 227, 231, 223, 224, 229, 229, 227, 228,
+  230, 232, 233, 233, 236, 234, 234, 238, 248, 255, 255, 250, 254, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 251, 255, 255, 253, 247,
+  246, 243, 241, 240, 235, 230, 234, 238, 252, 245, 242, 240, 236, 228, 220, 217,
+  216, 204, 168, 130, 125, 156, 185, 194, 212, 212, 209, 204, 203, 204, 203, 198,
+  190, 187, 199, 210, 208, 207, 209, 203, 196, 197, 199, 201, 201, 202, 204, 206,
+  204, 218, 221, 216, 212, 202, 197, 206, 204, 206, 200, 204, 222, 228, 222, 224,
+  230, 229, 227, 227, 228, 229, 229, 230, 228, 231, 234, 241, 253, 255, 255, 250,
+  254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252,
+  255, 255, 255, 249, 241, 240, 239, 238, 232, 228, 234, 242, 246, 241, 239, 239,
+  238, 232, 224, 215, 206, 188, 152, 119, 114, 136, 155, 160, 176, 179, 177, 169,
+  162, 163, 166, 167, 174, 167, 174, 183, 182, 181, 181, 173, 168, 172, 178, 182,
+  184, 188, 195, 200, 204, 217, 216, 202, 189, 177, 178, 192, 198, 207, 206, 208,
+  220, 225, 223, 228, 231, 230, 228, 227, 227, 228, 228, 228, 227, 227, 233, 244,
+  255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 253, 241, 238, 236, 235, 231, 228, 235, 243,
+  245, 243, 243, 243, 243, 237, 226, 214, 200, 176, 148, 136, 138, 146, 152, 156,
+  168, 178, 182, 174, 166, 168, 180, 188, 186, 167, 161, 164, 165, 167, 167, 157,
+  155, 158, 162, 163, 164, 168, 174, 179, 181, 191, 185, 166, 151, 141, 146, 165,
+  182, 202, 210, 211, 218, 223, 225, 234, 231, 230, 228, 227, 228, 229, 229, 229,
+  228, 228, 235, 244, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 245, 238, 233, 231,
+  230, 229, 235, 241, 241, 243, 243, 240, 237, 231, 220, 208, 210, 189, 172, 173,
+  182, 186, 191, 197, 199, 211, 217, 212, 207, 212, 227, 237, 200, 175, 163, 163,
+  165, 168, 168, 157, 158, 156, 153, 150, 147, 148, 151, 154, 149, 158, 152, 137,
+  127, 120, 126, 143, 171, 196, 207, 208, 216, 223, 227, 236, 228, 228, 226, 227,
+  228, 230, 231, 231, 232, 230, 237, 248, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  252, 242, 232, 229, 230, 229, 232, 234, 233, 236, 235, 229, 224, 221, 215, 207,
+  214, 211, 207, 207, 215, 224, 231, 231, 216, 222, 224, 219, 216, 221, 230, 235,
+  245, 226, 221, 224, 225, 226, 224, 213, 216, 210, 203, 199, 199, 201, 204, 205,
+  202, 213, 212, 206, 204, 198, 196, 206, 181, 201, 206, 204, 214, 224, 224, 229,
+  223, 223, 223, 224, 227, 231, 232, 233, 233, 233, 242, 254, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 246, 233, 229, 230, 231, 229, 229, 230, 233, 232, 224,
+  219, 220, 220, 215, 203, 220, 227, 219, 222, 235, 241, 236, 228, 228, 223, 216,
+  214, 217, 218, 215, 204, 194, 198, 207, 206, 203, 200, 189, 194, 187, 180, 178,
+  183, 190, 196, 198, 204, 217, 221, 222, 224, 215, 205, 208, 199, 212, 209, 203,
+  215, 224, 221, 220, 220, 220, 220, 223, 226, 230, 232, 232, 231, 233, 244, 255,
+  255, 255, 253, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 254, 255, 254, 244, 235, 234, 234, 231, 232, 236,
+  231, 232, 232, 227, 220, 214, 213, 213, 215, 219, 223, 229, 233, 234, 234, 234,
+  227, 225, 224, 224, 222, 215, 205, 197, 202, 199, 196, 194, 197, 198, 197, 194,
+  196, 190, 184, 187, 202, 216, 219, 213, 221, 230, 228, 223, 223, 217, 214, 222,
+  207, 208, 209, 213, 217, 222, 223, 225, 227, 218, 215, 223, 231, 234, 237, 240,
+  232, 241, 252, 255, 255, 255, 254, 249, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 253, 253, 255, 248, 241, 238,
+  235, 231, 231, 235, 231, 232, 232, 229, 222, 217, 214, 214, 219, 222, 226, 231,
+  232, 231, 230, 229, 222, 223, 222, 223, 224, 221, 215, 209, 201, 200, 199, 198,
+  200, 201, 202, 202, 198, 195, 192, 194, 206, 218, 221, 216, 217, 226, 225, 221,
+  222, 216, 213, 220, 209, 209, 210, 213, 217, 222, 224, 227, 222, 219, 221, 229,
+  234, 234, 236, 239, 231, 240, 251, 255, 255, 255, 253, 249, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 251, 251,
+  255, 251, 246, 241, 237, 233, 233, 236, 233, 233, 233, 228, 222, 219, 216, 215,
+  219, 223, 227, 232, 233, 231, 229, 227, 218, 216, 212, 210, 210, 208, 204, 200,
+  203, 203, 203, 203, 205, 206, 209, 209, 201, 203, 205, 207, 214, 224, 227, 225,
+  215, 225, 225, 222, 224, 218, 213, 219, 212, 212, 211, 213, 217, 222, 226, 229,
+  220, 223, 229, 234, 233, 230, 232, 237, 243, 249, 255, 255, 255, 255, 252, 248,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 251, 249, 250, 255, 254, 248, 244, 238, 235, 235, 238, 233, 232, 232, 228,
+  225, 221, 219, 217, 217, 221, 226, 230, 231, 230, 226, 226, 218, 214, 207, 203,
+  202, 200, 198, 195, 197, 194, 192, 192, 197, 199, 199, 196, 197, 202, 206, 205,
+  206, 210, 212, 211, 219, 228, 227, 225, 227, 220, 212, 217, 214, 213, 212, 213,
+  217, 223, 227, 231, 223, 228, 232, 232, 228, 227, 232, 237, 248, 253, 255, 255,
+  255, 254, 252, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 249, 247, 249, 253, 255, 254, 247, 238, 233, 234, 237,
+  236, 234, 231, 228, 226, 223, 222, 220, 219, 222, 226, 228, 229, 227, 222, 220,
+  219, 215, 207, 202, 201, 200, 198, 195, 190, 183, 176, 177, 185, 187, 183, 175,
+  189, 197, 203, 202, 199, 201, 204, 204, 221, 228, 227, 224, 226, 218, 209, 212,
+  215, 214, 212, 213, 217, 223, 227, 231, 227, 231, 232, 229, 227, 232, 241, 246,
+  250, 253, 255, 255, 253, 253, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 249, 248, 249, 254, 255, 255, 249,
+  236, 233, 233, 235, 236, 233, 230, 227, 227, 226, 224, 222, 224, 225, 228, 227,
+  226, 223, 219, 218, 216, 211, 200, 192, 186, 180, 173, 167, 161, 153, 145, 145,
+  152, 153, 148, 140, 152, 163, 175, 180, 185, 194, 202, 205, 218, 225, 221, 218,
+  221, 215, 206, 208, 215, 214, 213, 214, 218, 223, 226, 229, 228, 231, 230, 228,
+  232, 241, 247, 246, 255, 255, 255, 255, 254, 252, 251, 248, 252, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 249, 251,
+  250, 255, 255, 252, 239, 237, 239, 242, 237, 233, 229, 227, 228, 227, 226, 224,
+  224, 224, 226, 227, 227, 226, 225, 226, 222, 217, 208, 199, 191, 181, 171, 163,
+  147, 144, 141, 138, 139, 138, 137, 134, 139, 150, 162, 170, 178, 190, 198, 202,
+  216, 221, 216, 214, 219, 215, 207, 210, 213, 213, 213, 215, 218, 222, 224, 226,
+  226, 228, 228, 230, 237, 243, 237, 224, 238, 245, 255, 255, 254, 252, 250, 245,
+  251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 250, 252, 243, 255, 255, 252, 243, 242, 247, 249, 235, 230, 227, 225,
+  227, 226, 226, 224, 219, 220, 222, 225, 229, 232, 235, 237, 237, 233, 229, 226,
+  223, 217, 210, 204, 193, 196, 196, 192, 186, 183, 187, 192, 198, 206, 211, 211,
+  212, 217, 220, 219, 215, 219, 215, 213, 220, 217, 212, 216, 212, 211, 213, 216,
+  219, 222, 223, 225, 225, 227, 228, 232, 239, 239, 222, 199, 193, 208, 227, 242,
+  249, 255, 255, 252, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 251, 253, 249, 255, 255, 255, 231, 248, 247, 242,
+  238, 235, 226, 219, 221, 227, 225, 217, 231, 226, 221, 222, 228, 235, 240, 241,
+  247, 243, 236, 229, 227, 224, 215, 204, 200, 205, 206, 196, 188, 192, 201, 206,
+  214, 214, 213, 213, 214, 218, 221, 223, 220, 221, 219, 217, 217, 217, 212, 204,
+  217, 215, 215, 215, 218, 221, 225, 227, 217, 234, 231, 232, 251, 245, 215, 200,
+  206, 196, 219, 245, 255, 255, 246, 253, 253, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 253, 249, 255, 255, 254,
+  231, 244, 243, 239, 242, 239, 230, 221, 221, 225, 224, 219, 220, 217, 219, 223,
+  231, 237, 240, 240, 233, 233, 231, 228, 227, 227, 223, 215, 206, 208, 207, 203,
+  198, 200, 206, 213, 214, 213, 213, 213, 214, 216, 218, 219, 219, 221, 221, 219,
+  220, 221, 216, 209, 214, 214, 214, 215, 217, 221, 224, 226, 227, 237, 227, 222,
+  237, 235, 212, 201, 208, 196, 206, 219, 241, 255, 251, 255, 253, 252, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 253,
+  250, 255, 255, 255, 231, 241, 239, 235, 247, 245, 238, 229, 225, 225, 225, 222,
+  216, 216, 220, 226, 233, 238, 237, 235, 233, 236, 236, 232, 228, 226, 222, 215,
+  209, 206, 205, 208, 206, 202, 206, 215, 207, 208, 209, 210, 212, 214, 215, 216,
+  216, 219, 220, 219, 220, 222, 219, 213, 219, 219, 219, 220, 223, 226, 229, 231,
+  235, 239, 228, 221, 233, 232, 214, 201, 207, 197, 197, 193, 221, 255, 255, 254,
+  254, 253, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 251, 253, 250, 255, 255, 255, 231, 239, 235, 232, 247, 247, 245, 239,
+  233, 228, 225, 224, 221, 220, 222, 226, 231, 233, 231, 228, 230, 235, 236, 230,
+  225, 222, 217, 213, 212, 201, 200, 209, 209, 199, 199, 209, 199, 201, 204, 207,
+  210, 212, 213, 214, 213, 217, 218, 217, 218, 220, 218, 213, 221, 221, 221, 223,
+  225, 228, 230, 232, 229, 232, 228, 226, 234, 235, 218, 199, 206, 203, 199, 184,
+  210, 255, 255, 248, 254, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 251, 253, 251, 255, 255, 255, 233, 237, 232, 230,
+  242, 244, 246, 246, 241, 233, 227, 225, 225, 221, 220, 220, 223, 225, 224, 222,
+  218, 224, 226, 222, 221, 220, 217, 214, 212, 202, 201, 210, 208, 198, 197, 205,
+  201, 202, 204, 206, 208, 210, 210, 210, 213, 218, 220, 218, 218, 219, 217, 213,
+  216, 217, 217, 218, 220, 222, 223, 224, 221, 221, 222, 224, 231, 237, 225, 204,
+  214, 212, 206, 182, 199, 248, 255, 247, 255, 254, 253, 253, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 253, 251, 255, 255, 255,
+  235, 237, 231, 230, 235, 236, 240, 246, 246, 238, 232, 230, 226, 221, 217, 215,
+  217, 220, 220, 218, 215, 219, 218, 213, 210, 209, 206, 201, 202, 197, 198, 201,
+  198, 191, 192, 200, 207, 206, 206, 206, 206, 206, 206, 206, 214, 220, 223, 221,
+  220, 221, 220, 217, 217, 218, 218, 219, 219, 220, 220, 220, 225, 218, 220, 223,
+  228, 240, 237, 215, 222, 219, 216, 188, 193, 233, 250, 255, 255, 255, 254, 253,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 253,
+  251, 255, 255, 255, 237, 238, 231, 231, 231, 228, 231, 240, 246, 242, 238, 237,
+  234, 228, 223, 220, 220, 220, 217, 216, 215, 214, 208, 202, 200, 199, 195, 188,
+  191, 194, 197, 195, 191, 190, 195, 200, 201, 199, 199, 198, 199, 201, 202, 204,
+  211, 218, 223, 221, 220, 222, 223, 221, 223, 223, 223, 223, 222, 222, 221, 220,
+  224, 216, 222, 228, 229, 241, 239, 213, 209, 211, 217, 195, 190, 215, 239, 255,
+  255, 255, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 251, 251, 253, 251, 254, 255, 255, 239, 239, 231, 232, 229, 223, 224, 235,
+  244, 244, 242, 243, 245, 239, 234, 229, 226, 222, 216, 213, 203, 201, 195, 192,
+  195, 199, 197, 191, 188, 196, 202, 196, 191, 195, 204, 207, 189, 188, 188, 189,
+  192, 197, 201, 204, 206, 214, 219, 219, 219, 222, 223, 222, 221, 221, 220, 220,
+  219, 217, 216, 215, 210, 205, 218, 228, 227, 234, 225, 192, 181, 190, 209, 198,
+  188, 197, 220, 255, 255, 255, 255, 254, 253, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 250, 249, 250, 252, 255, 255, 253, 238, 234, 237, 232,
+  228, 226, 227, 233, 237, 237, 240, 245, 248, 243, 240, 237, 235, 232, 227, 224,
+  210, 209, 206, 204, 202, 200, 198, 195, 193, 198, 206, 211, 213, 211, 209, 205,
+  185, 193, 200, 198, 197, 199, 202, 203, 216, 217, 220, 222, 223, 223, 221, 220,
+  219, 218, 217, 215, 213, 210, 207, 206, 206, 217, 211, 219, 227, 224, 217, 189,
+  153, 158, 175, 205, 206, 211, 204, 245, 255, 255, 253, 246, 251, 251, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 249, 250, 252, 255, 255, 254,
+  239, 235, 238, 232, 226, 223, 223, 227, 230, 229, 231, 236, 240, 238, 237, 236,
+  236, 234, 229, 226, 217, 216, 212, 210, 209, 208, 207, 205, 206, 208, 212, 215,
+  215, 215, 213, 212, 198, 204, 207, 204, 201, 204, 208, 210, 219, 220, 222, 223,
+  222, 221, 219, 217, 218, 217, 215, 213, 211, 209, 208, 207, 206, 217, 211, 218,
+  227, 226, 223, 199, 161, 139, 135, 167, 187, 208, 198, 228, 255, 255, 255, 249,
+  254, 253, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 250, 249, 250,
+  251, 255, 255, 255, 241, 237, 239, 231, 228, 224, 223, 226, 227, 226, 227, 231,
+  237, 237, 239, 240, 241, 240, 237, 235, 225, 224, 220, 218, 217, 216, 216, 215,
+  217, 216, 216, 215, 215, 215, 216, 217, 211, 215, 215, 209, 206, 210, 214, 215,
+  221, 221, 221, 221, 219, 217, 215, 213, 217, 215, 212, 210, 209, 209, 210, 211,
+  208, 218, 211, 219, 227, 228, 229, 209, 183, 139, 110, 134, 168, 213, 203, 210,
+  254, 255, 255, 249, 254, 253, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254,
+  253, 250, 249, 250, 251, 254, 255, 255, 243, 238, 239, 231, 229, 225, 223, 225,
+  226, 224, 225, 230, 236, 235, 237, 238, 239, 240, 240, 240, 234, 230, 225, 222,
+  222, 221, 220, 219, 219, 218, 216, 216, 216, 217, 218, 218, 213, 217, 217, 212,
+  210, 213, 216, 215, 217, 217, 217, 216, 215, 213, 211, 210, 214, 212, 208, 206,
+  205, 207, 210, 212, 209, 217, 210, 217, 223, 224, 228, 215, 203, 163, 124, 122,
+  148, 213, 212, 201, 245, 255, 255, 248, 251, 251, 246, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 253, 253, 250, 249, 250, 252, 254, 255, 254, 242, 239, 240, 231,
+  225, 220, 218, 219, 220, 219, 221, 226, 230, 229, 229, 227, 227, 229, 232, 235,
+  236, 232, 227, 223, 222, 219, 217, 217, 216, 216, 217, 218, 218, 218, 218, 218,
+  211, 216, 218, 215, 214, 216, 216, 213, 210, 210, 210, 210, 210, 209, 208, 208,
+  211, 209, 205, 202, 202, 205, 209, 211, 208, 216, 208, 216, 219, 216, 223, 213,
+  197, 180, 151, 127, 131, 206, 216, 200, 235, 253, 255, 250, 250, 251, 246, 247,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 254, 253, 253, 250, 249, 250, 253, 253, 255, 251,
+  240, 239, 240, 231, 227, 222, 219, 219, 220, 218, 221, 226, 227, 226, 226, 224,
+  222, 223, 227, 230, 234, 231, 227, 224, 222, 219, 215, 212, 215, 218, 219, 220,
+  221, 221, 220, 219, 211, 216, 218, 216, 216, 218, 215, 211, 205, 205, 205, 205,
+  205, 206, 206, 206, 208, 206, 203, 200, 200, 203, 206, 209, 204, 212, 207, 216,
+  217, 210, 217, 209, 189, 184, 172, 143, 130, 199, 219, 208, 230, 254, 255, 253,
+  252, 251, 247, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 253, 253, 250, 249, 250,
+  253, 252, 254, 247, 237, 237, 240, 232, 231, 225, 221, 220, 219, 217, 219, 223,
+  221, 223, 227, 226, 223, 222, 224, 226, 227, 226, 224, 224, 222, 219, 216, 213,
+  217, 218, 218, 218, 217, 218, 217, 216, 215, 217, 216, 212, 212, 213, 212, 207,
+  204, 204, 204, 203, 203, 204, 204, 204, 206, 205, 203, 201, 201, 202, 205, 207,
+  199, 209, 207, 218, 218, 209, 214, 207, 197, 179, 174, 164, 146, 200, 219, 217,
+  223, 251, 255, 254, 252, 251, 248, 248, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 253,
+  253, 250, 249, 250, 255, 252, 253, 247, 237, 239, 242, 233, 231, 224, 220, 218,
+  215, 211, 212, 217, 212, 217, 224, 225, 223, 220, 219, 219, 225, 225, 226, 227,
+  227, 224, 220, 216, 221, 219, 217, 214, 215, 214, 213, 213, 217, 217, 212, 206,
+  205, 208, 207, 203, 206, 205, 204, 203, 203, 203, 203, 204, 205, 204, 202, 201,
+  200, 201, 203, 204, 194, 206, 207, 220, 219, 208, 214, 210, 212, 173, 166, 174,
+  159, 198, 212, 217, 217, 247, 255, 252, 249, 251, 245, 245, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 254, 254, 253, 253, 252, 251, 251, 249, 255, 247, 210, 230, 246, 237, 245,
+  237, 230, 225, 223, 226, 225, 219, 213, 218, 217, 216, 217, 218, 218, 215, 213,
+  216, 218, 219, 217, 215, 212, 212, 213, 212, 211, 211, 212, 213, 212, 209, 206,
+  212, 207, 205, 207, 207, 202, 203, 208, 205, 204, 203, 201, 200, 199, 198, 198,
+  205, 204, 203, 203, 203, 202, 200, 197, 199, 208, 210, 205, 205, 212, 210, 204,
+  204, 187, 160, 182, 157, 127, 226, 224, 231, 255, 255, 252, 252, 253, 248, 246,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 254, 253, 254, 253, 253, 253, 252, 252, 252, 248, 255, 238, 207,
+  230, 247, 241, 248, 236, 231, 225, 223, 223, 221, 217, 212, 215, 214, 212, 213,
+  216, 218, 219, 219, 216, 217, 218, 216, 213, 211, 210, 211, 211, 210, 210, 210,
+  211, 210, 207, 204, 207, 202, 201, 203, 202, 198, 198, 202, 202, 201, 201, 200,
+  200, 200, 201, 201, 204, 202, 200, 199, 200, 200, 199, 197, 199, 207, 209, 203,
+  204, 210, 209, 203, 194, 189, 168, 170, 157, 126, 207, 226, 232, 255, 255, 253,
+  253, 255, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 254, 254, 254, 254, 254, 253, 254, 253, 253, 253, 252, 252, 252,
+  251, 255, 226, 205, 224, 244, 241, 245, 233, 231, 228, 224, 221, 217, 214, 213,
+  214, 211, 208, 208, 211, 214, 217, 218, 214, 216, 216, 214, 211, 208, 207, 207,
+  209, 208, 207, 207, 208, 207, 205, 203, 205, 202, 201, 202, 201, 197, 196, 198,
+  199, 199, 199, 199, 200, 202, 203, 204, 203, 200, 196, 195, 196, 197, 198, 197,
+  198, 204, 206, 202, 203, 209, 209, 204, 196, 197, 177, 163, 164, 124, 169, 224,
+  237, 255, 255, 254, 255, 255, 252, 252, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 253, 254, 253, 253,
+  253, 252, 252, 252, 255, 255, 216, 207, 217, 238, 240, 241, 232, 233, 232, 228,
+  221, 216, 214, 214, 213, 210, 207, 206, 208, 210, 210, 210, 213, 215, 215, 213,
+  209, 206, 206, 206, 208, 206, 205, 205, 206, 206, 204, 202, 202, 201, 200, 200,
+  198, 195, 194, 194, 198, 198, 198, 199, 200, 201, 203, 204, 202, 198, 194, 192,
+  193, 196, 198, 198, 198, 202, 204, 201, 202, 207, 207, 205, 201, 195, 177, 160,
+  177, 124, 136, 226, 240, 255, 255, 252, 255, 255, 251, 253, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 254, 254,
+  253, 254, 253, 253, 253, 252, 252, 252, 255, 255, 209, 212, 210, 230, 241, 243,
+  231, 233, 233, 228, 219, 213, 211, 212, 206, 205, 205, 206, 208, 208, 207, 205,
+  212, 213, 214, 212, 209, 206, 205, 206, 207, 205, 204, 204, 205, 205, 204, 203,
+  200, 200, 199, 196, 195, 195, 194, 193, 201, 201, 200, 200, 200, 201, 201, 202,
+  201, 197, 192, 190, 192, 196, 198, 200, 198, 201, 203, 202, 203, 205, 205, 204,
+  199, 179, 165, 160, 189, 129, 127, 233, 243, 255, 255, 251, 254, 254, 249, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 254,
+  254, 254, 254, 254, 253, 254, 253, 253, 253, 252, 252, 252, 252, 255, 206, 219,
+  202, 220, 240, 244, 228, 230, 230, 225, 217, 210, 207, 206, 199, 199, 201, 204,
+  208, 209, 208, 206, 209, 211, 212, 210, 208, 206, 205, 206, 206, 204, 202, 202,
+  203, 204, 204, 203, 203, 204, 202, 198, 197, 200, 201, 199, 203, 202, 201, 200,
+  199, 199, 199, 200, 198, 194, 190, 189, 191, 195, 198, 199, 199, 201, 204, 205,
+  206, 205, 203, 202, 207, 180, 164, 161, 183, 128, 137, 231, 245, 255, 255, 250,
+  253, 253, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254,
+  254, 254, 254, 254, 254, 254, 254, 254, 253, 254, 253, 253, 253, 252, 252, 252,
+  252, 255, 208, 226, 193, 205, 230, 238, 229, 229, 228, 224, 217, 210, 205, 203,
+  200, 199, 199, 201, 205, 208, 208, 208, 205, 207, 208, 208, 206, 204, 204, 205,
+  203, 201, 199, 199, 200, 202, 202, 201, 203, 204, 201, 195, 195, 201, 204, 202,
+  202, 201, 200, 200, 199, 199, 200, 200, 194, 191, 188, 187, 190, 193, 195, 196,
+  200, 202, 206, 209, 208, 205, 201, 200, 209, 190, 173, 163, 167, 135, 174, 240,
+  249, 255, 255, 251, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254,
+  254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 253, 254, 253, 253,
+  253, 252, 252, 252, 255, 255, 213, 231, 185, 192, 220, 229, 232, 231, 229, 225,
+  220, 213, 207, 203, 205, 202, 199, 199, 201, 204, 206, 206, 202, 204, 206, 205,
+  204, 203, 203, 204, 201, 199, 197, 196, 198, 200, 200, 200, 194, 196, 192, 185,
+  186, 193, 198, 196, 201, 200, 199, 199, 199, 200, 201, 201, 190, 188, 186, 186,
+  189, 192, 193, 194, 201, 203, 207, 211, 210, 205, 199, 198, 196, 192, 177, 161,
+  158, 151, 218, 255, 251, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
+  253, 253, 253, 254, 254, 254, 254, 255, 254, 255, 237, 232, 155, 196, 215, 217,
+  218, 229, 221, 214, 220, 211, 200, 210, 200, 201, 200, 197, 193, 193, 196, 200,
+  201, 206, 208, 206, 202, 201, 202, 202, 201, 194, 190, 192, 192, 190, 191, 193,
+  189, 193, 195, 196, 196, 196, 198, 200, 199, 199, 198, 198, 195, 192, 193, 194,
+  185, 187, 189, 189, 189, 191, 197, 202, 209, 200, 198, 205, 207, 200, 197, 201,
+  195, 187, 177, 162, 159, 238, 255, 252, 255, 255, 254, 254, 254, 255, 255, 255,
+  255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
+  254, 254, 254, 254, 253, 253, 253, 254, 254, 253, 254, 254, 255, 255, 249, 225,
+  143, 187, 214, 216, 218, 224, 221, 217, 217, 210, 204, 207, 198, 199, 198, 195,
+  192, 192, 195, 198, 194, 197, 199, 200, 200, 203, 206, 207, 202, 198, 196, 196,
+  193, 189, 188, 192, 193, 194, 196, 197, 196, 197, 198, 200, 196, 196, 195, 195,
+  194, 192, 191, 190, 185, 186, 188, 188, 189, 192, 197, 202, 203, 198, 197, 202,
+  204, 202, 200, 200, 193, 193, 172, 167, 155, 248, 255, 251, 255, 254, 253, 254,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 254,
+  254, 254, 254, 254, 254, 254, 254, 254, 253, 253, 253, 253, 253, 253, 253, 254,
+  255, 252, 255, 230, 132, 184, 207, 211, 217, 215, 221, 222, 214, 210, 209, 203,
+  197, 197, 196, 194, 191, 191, 193, 195, 201, 199, 197, 197, 199, 199, 199, 199,
+  198, 198, 199, 200, 195, 189, 189, 194, 194, 196, 198, 198, 197, 196, 198, 200,
+  192, 192, 192, 192, 193, 192, 190, 185, 184, 185, 187, 188, 189, 193, 197, 201,
+  199, 201, 200, 199, 200, 202, 200, 196, 192, 196, 166, 171, 157, 255, 253, 251,
+  254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 253, 254, 253, 253,
+  253, 252, 252, 253, 252, 249, 255, 249, 125, 191, 196, 203, 214, 208, 220, 225,
+  210, 209, 213, 201, 196, 195, 194, 192, 191, 191, 191, 192, 202, 197, 195, 198,
+  200, 198, 194, 192, 189, 192, 198, 201, 196, 191, 192, 200, 196, 198, 199, 198,
+  197, 196, 197, 198, 188, 190, 190, 190, 192, 193, 190, 184, 185, 185, 186, 188,
+  190, 194, 197, 199, 201, 207, 206, 198, 196, 200, 198, 189, 189, 190, 168, 169,
+  176, 255, 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 254,
+  253, 254, 253, 253, 252, 251, 251, 252, 252, 252, 255, 255, 119, 196, 186, 200,
+  209, 203, 216, 222, 208, 208, 212, 200, 196, 195, 193, 192, 192, 192, 191, 191,
+  188, 185, 187, 196, 201, 198, 194, 193, 186, 189, 196, 199, 196, 190, 192, 199,
+  198, 200, 200, 199, 197, 195, 196, 197, 187, 191, 193, 191, 192, 195, 192, 185,
+  187, 186, 187, 189, 192, 195, 197, 198, 200, 207, 206, 198, 195, 199, 197, 190,
+  185, 180, 177, 167, 221, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 254, 254, 253, 254, 253, 253, 252, 251, 250, 251, 255, 255, 252, 255,
+  131, 193, 184, 199, 203, 203, 210, 214, 208, 207, 208, 203, 197, 196, 194, 194,
+  194, 194, 193, 191, 186, 182, 185, 194, 196, 189, 185, 188, 189, 190, 194, 198,
+  195, 190, 190, 196, 198, 200, 200, 198, 195, 193, 194, 195, 184, 192, 195, 190,
+  189, 194, 214, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250,
+  255, 255, 250, 255, 170, 190, 190, 192, 197, 205, 205, 205, 209, 205, 202, 206,
+  199, 197, 195, 196, 197, 197, 194, 192, 193, 187, 188, 193, 191, 182, 181, 188,
+  192, 190, 192, 197, 197, 214, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 254, 254,
+  253, 253, 252, 252, 245, 248, 255, 243, 251, 241, 247, 249, 250, 236, 239, 249,
+  247, 255, 255, 244, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 254, 254, 255, 255, 254, 254, 254, 254, 254, 254,
+  253, 253, 253, 253, 252, 252, 251, 250, 251, 248, 249, 251, 246, 253, 251, 225,
+  253, 250, 253, 252, 249, 254, 255, 250, 253, 253, 254, 255, 254, 254, 254, 254,
+  254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 253, 253, 253, 254, 254, 253, 253, 253, 253, 253, 253,
+  253, 252, 252, 253, 251, 252, 252, 251, 250, 250, 249, 248, 250, 246, 238, 236,
+  195, 229, 225, 191, 203, 234, 252, 252, 244, 236, 238, 248, 251, 252, 252, 254,
+  254, 254, 253, 253, 254, 254, 253, 254, 254, 255, 254, 254, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 253, 252, 252, 252, 252, 252, 252, 252,
+  250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 250, 249, 248, 247, 247, 247,
+  232, 232, 217, 201, 119, 167, 179, 156, 114, 180, 228, 237, 229, 214, 215, 240,
+  243, 245, 246, 249, 251, 253, 253, 253, 253, 253, 253, 253, 254, 254, 254, 254,
+  254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 249, 255, 244, 255, 243, 249, 241, 236, 242, 249, 243,
+  242, 242, 249, 250, 246, 228, 234, 238, 212, 219, 250, 238, 240, 237, 246, 250,
+  231, 228, 230, 193, 204, 160, 164, 140, 148, 180, 154, 174, 133, 163, 186, 170,
+  140, 147, 134, 169, 191, 211, 195, 219, 250, 242, 249, 245, 245, 249, 241, 254,
+  246, 244, 239, 251, 251, 246, 247, 254, 255, 252, 252, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 253, 254, 255, 254, 254, 253, 254, 255, 248, 253, 241, 255, 249, 250, 232,
+  224, 215, 205, 197, 198, 208, 215, 214, 196, 178, 162, 168, 173, 169, 163, 151,
+  122, 142, 181, 188, 160, 148, 149, 143, 121, 122, 141, 136, 114, 162, 163, 186,
+  165, 156, 129, 119, 106, 124, 107, 147, 130, 148, 138, 140, 139, 173, 191, 239,
+  223, 225, 194, 151, 155, 228, 253, 245, 252, 252, 255, 255, 254, 249, 245, 246,
+  254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 254, 252, 252, 252, 253, 253, 253, 252, 253, 254, 248, 252, 242,
+  252, 252, 247, 216, 227, 202, 178, 169, 165, 181, 182, 173, 178, 170, 158, 170,
+  195, 178, 143, 138, 94, 136, 194, 185, 163, 168, 158, 168, 134, 154, 156, 153,
+  94, 135, 153, 158, 169, 145, 81, 85, 79, 112, 91, 144, 132, 155, 158, 141,
+  92, 121, 100, 150, 134, 183, 163, 112, 85, 133, 243, 243, 242, 248, 250, 248,
+  248, 251, 252, 252, 252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 254, 253, 252, 252, 252, 254, 253, 253, 252, 252,
+  250, 248, 253, 244, 241, 249, 243, 207, 220, 193, 168, 166, 156, 177, 176, 160,
+  150, 147, 162, 179, 185, 163, 129, 129, 89, 127, 172, 138, 135, 167, 142, 146,
+  151, 149, 133, 133, 85, 110, 150, 130, 140, 143, 79, 90, 72, 102, 82, 136,
+  119, 150, 163, 156, 107, 107, 65, 74, 85, 162, 160, 168, 104, 49, 212, 251,
+  247, 250, 248, 244, 244, 251, 253, 251, 243, 248, 253, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 253, 253, 253, 253, 254,
+  254, 253, 253, 253, 248, 247, 250, 239, 216, 233, 240, 215, 202, 180, 160, 168,
+  148, 181, 188, 179, 176, 152, 183, 194, 172, 163, 147, 138, 119, 127, 155, 125,
+  123, 143, 116, 130, 148, 121, 108, 104, 91, 88, 144, 115, 127, 150, 97, 106,
+  75, 100, 75, 106, 137, 163, 164, 161, 133, 112, 112, 99, 101, 137, 144, 165,
+  123, 60, 168, 210, 246, 249, 249, 249, 250, 251, 248, 241, 247, 250, 252, 252,
+  251, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 253,
+  253, 253, 254, 255, 254, 253, 253, 253, 252, 245, 242, 231, 191, 211, 228, 216,
+  200, 178, 160, 173, 142, 185, 201, 199, 193, 150, 178, 178, 155, 169, 158, 143,
+  127, 111, 135, 132, 111, 96, 92, 132, 158, 128, 121, 99, 94, 67, 117, 94,
+  137, 148, 101, 113, 88, 112, 95, 93, 146, 160, 148, 142, 113, 87, 123, 117,
+  112, 125, 157, 135, 125, 122, 119, 138, 185, 196, 215, 235, 244, 246, 248, 253,
+  255, 255, 255, 253, 250, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254,
+  254, 254, 254, 253, 252, 252, 252, 253, 253, 252, 252, 251, 255, 244, 242, 239,
+  181, 189, 196, 183, 180, 160, 149, 170, 134, 182, 200, 197, 191, 166, 186, 172,
+  163, 179, 154, 148, 109, 100, 122, 131, 101, 89, 122, 161, 154, 135, 122, 88,
+  81, 72, 103, 93, 150, 135, 96, 118, 102, 119, 122, 106, 151, 146, 145, 154,
+  123, 123, 141, 154, 116, 155, 176, 165, 152, 138, 94, 103, 113, 127, 157, 184,
+  192, 194, 214, 242, 242, 247, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 254, 254, 254, 254, 254, 255, 251, 251, 252, 253, 252, 251, 250, 249,
+  255, 244, 248, 250, 186, 177, 166, 143, 131, 119, 118, 155, 123, 177, 191, 185,
+  164, 172, 193, 162, 157, 158, 113, 121, 86, 94, 110, 111, 86, 108, 168, 182,
+  178, 164, 130, 86, 77, 97, 107, 102, 156, 124, 96, 124, 105, 108, 128, 112,
+  148, 120, 122, 146, 112, 142, 124, 148, 120, 175, 140, 188, 170, 92, 75, 85,
+  93, 100, 120, 135, 126, 121, 152, 198, 206, 220, 237, 251, 254, 254, 248, 243,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 253, 252, 250, 255, 255, 255,
+  255, 254, 252, 251, 253, 241, 242, 238, 206, 181, 163, 141, 117, 95, 123, 151,
+  104, 172, 172, 148, 172, 186, 177, 139, 140, 113, 102, 85, 88, 92, 75, 109,
+  125, 160, 169, 169, 162, 153, 105, 71, 77, 104, 91, 149, 191, 121, 139, 124,
+  87, 108, 101, 82, 134, 145, 125, 140, 129, 143, 156, 165, 125, 147, 141, 173,
+  143, 108, 83, 67, 80, 70, 91, 124, 116, 129, 124, 148, 137, 141, 178, 224,
+  252, 242, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 253, 252,
+  255, 255, 255, 254, 250, 248, 247, 245, 251, 237, 231, 216, 191, 180, 156, 114,
+  86, 93, 83, 105, 106, 132, 115, 171, 176, 151, 119, 89, 75, 69, 77, 53,
+  84, 81, 111, 171, 186, 171, 152, 167, 149, 160, 135, 104, 123, 155, 153, 197,
+  150, 143, 163, 114, 57, 50, 47, 75, 127, 143, 139, 153, 146, 140, 141, 135,
+  125, 154, 146, 157, 118, 92, 76, 62, 71, 57, 63, 86, 92, 133, 144, 166,
+  155, 136, 134, 156, 192, 241, 253, 238, 253, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 255,
+  254, 253, 252, 251, 254, 252, 251, 251, 251, 252, 253, 253, 234, 227, 219, 195,
+  176, 181, 154, 97, 65, 82, 63, 82, 96, 108, 94, 173, 157, 127, 93, 86,
+  61, 73, 84, 46, 91, 73, 124, 159, 166, 131, 105, 132, 128, 161, 167, 136,
+  159, 174, 172, 192, 141, 151, 139, 74, 42, 35, 30, 85, 145, 158, 161, 162,
+  159, 136, 141, 130, 140, 160, 146, 138, 107, 93, 77, 56, 62, 61, 71, 84,
+  85, 132, 149, 171, 147, 125, 121, 124, 142, 244, 254, 243, 250, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  253, 254, 254, 254, 254, 253, 252, 251, 255, 251, 249, 251, 252, 252, 250, 250,
+  214, 213, 209, 187, 165, 170, 151, 103, 70, 61, 67, 93, 78, 107, 124, 141,
+  109, 123, 88, 83, 59, 77, 81, 47, 104, 87, 128, 103, 105, 98, 81, 99,
+  101, 142, 169, 148, 168, 154, 147, 150, 156, 130, 85, 33, 31, 48, 68, 128,
+  175, 179, 176, 157, 153, 130, 157, 157, 164, 157, 136, 126, 120, 112, 91, 67,
+  64, 73, 91, 97, 76, 109, 135, 173, 156, 112, 124, 116, 125, 225, 249, 251,
+  250, 254, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 253, 254, 254, 254, 254, 253, 252, 250, 254, 249, 241, 241,
+  240, 231, 224, 221, 202, 196, 197, 179, 146, 134, 126, 102, 81, 43, 55, 94,
+  73, 102, 131, 113, 81, 147, 95, 60, 45, 60, 68, 58, 86, 76, 108, 67,
+  74, 84, 68, 70, 79, 114, 146, 147, 165, 139, 141, 144, 133, 82, 47, 26,
+  21, 56, 118, 180, 177, 182, 177, 154, 148, 131, 169, 179, 178, 150, 130, 121,
+  125, 118, 107, 102, 90, 84, 93, 98, 71, 92, 121, 175, 189, 112, 125, 104,
+  108, 164, 215, 250, 254, 255, 252, 250, 253, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 254, 253, 254, 254, 254, 254, 253, 252, 250,
+  245, 228, 217, 217, 215, 206, 198, 196, 194, 180, 178, 162, 119, 94, 90, 79,
+  82, 47, 35, 78, 91, 88, 104, 113, 66, 154, 99, 55, 55, 59, 76, 73,
+  79, 62, 74, 56, 60, 65, 50, 55, 77, 102, 120, 135, 147, 129, 139, 142,
+  83, 32, 25, 45, 52, 96, 164, 196, 156, 168, 167, 161, 155, 146, 175, 184,
+  178, 149, 144, 122, 119, 109, 114, 133, 124, 105, 109, 122, 99, 108, 114, 151,
+  180, 129, 157, 132, 108, 108, 177, 245, 250, 254, 253, 248, 250, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 253, 254, 254, 254,
+  254, 252, 251, 249, 232, 210, 194, 193, 193, 186, 181, 182, 182, 162, 154, 137,
+  98, 77, 73, 59, 64, 55, 40, 76, 101, 84, 93, 106, 54, 115, 72, 47,
+  63, 56, 84, 65, 97, 80, 63, 64, 57, 61, 55, 62, 77, 106, 105, 122,
+  116, 108, 107, 94, 46, 23, 32, 71, 104, 145, 175, 164, 136, 148, 139, 153,
+  151, 158, 176, 182, 178, 160, 169, 135, 129, 117, 115, 126, 124, 116, 124, 136,
+  113, 121, 112, 130, 158, 153, 172, 163, 122, 102, 145, 198, 230, 245, 254, 249,
+  247, 251, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254,
+  253, 254, 254, 253, 253, 252, 251, 248, 238, 210, 187, 182, 180, 173, 168, 170,
+  172, 149, 136, 119, 91, 82, 76, 53, 39, 54, 61, 86, 91, 87, 105, 84,
+  79, 94, 51, 40, 61, 53, 97, 64, 78, 83, 56, 63, 51, 63, 60, 54,
+  70, 109, 100, 114, 94, 92, 75, 42, 30, 48, 65, 94, 127, 152, 152, 123,
+  127, 131, 108, 129, 131, 156, 172, 180, 181, 171, 189, 151, 151, 138, 116, 100,
+  96, 102, 114, 113, 86, 108, 115, 137, 176, 171, 141, 146, 125, 124, 118, 121,
+  208, 234, 253, 251, 245, 249, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 254, 255, 247, 252, 255, 254, 249, 247, 253, 241, 233, 219, 193, 168,
+  160, 168, 176, 177, 172, 139, 138, 139, 103, 74, 68, 58, 44, 55, 70, 83,
+  92, 93, 87, 79, 73, 71, 58, 58, 71, 48, 70, 58, 74, 64, 49, 42,
+  52, 67, 69, 63, 73, 92, 83, 97, 87, 73, 31, 31, 49, 63, 86, 110,
+  123, 123, 113, 105, 114, 113, 116, 117, 125, 152, 171, 167, 181, 172, 172, 180,
+  172, 141, 109, 94, 106, 96, 98, 108, 108, 100, 104, 117, 154, 160, 143, 120,
+  108, 144, 115, 93, 142, 238, 245, 253, 241, 246, 252, 253, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 251, 253, 254, 254, 250, 249, 253, 240,
+  236, 205, 177, 171, 178, 181, 179, 179, 161, 162, 150, 131, 117, 100, 81, 73,
+  46, 57, 69, 78, 81, 79, 75, 70, 77, 72, 65, 66, 73, 63, 74, 71,
+  65, 62, 55, 53, 63, 72, 70, 63, 92, 95, 84, 81, 68, 57, 42, 48,
+  72, 82, 96, 105, 103, 97, 90, 86, 92, 94, 103, 115, 130, 157, 169, 158,
+  183, 184, 188, 186, 167, 137, 113, 101, 106, 106, 108, 112, 116, 119, 121, 123,
+  113, 117, 114, 89, 82, 111, 102, 97, 130, 161, 252, 242, 248, 254, 246, 255,
+  254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 252, 250,
+  251, 253, 245, 234, 217, 176, 153, 170, 192, 190, 174, 166, 123, 154, 131, 92,
+  98, 98, 76, 67, 61, 69, 76, 81, 78, 73, 69, 69, 79, 73, 75, 80,
+  78, 89, 79, 89, 67, 66, 62, 63, 70, 76, 75, 69, 75, 66, 69, 62,
+  56, 54, 73, 80, 78, 82, 85, 79, 68, 61, 60, 62, 101, 106, 122, 143,
+  162, 185, 191, 176, 183, 181, 172, 158, 147, 141, 135, 129, 123, 123, 116, 106,
+  109, 117, 119, 114, 98, 99, 108, 83, 82, 91, 93, 96, 117, 113, 223, 242,
+  250, 255, 248, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 253, 253, 247, 253, 252, 229, 218, 184, 157, 147, 170, 194, 194, 173, 156,
+  124, 149, 130, 92, 93, 103, 92, 76, 76, 77, 81, 84, 84, 79, 75, 74,
+  78, 74, 87, 99, 92, 113, 88, 105, 82, 77, 69, 66, 70, 76, 78, 78,
+  77, 60, 74, 66, 62, 54, 76, 70, 88, 87, 83, 76, 70, 71, 79, 86,
+  114, 118, 133, 147, 156, 169, 172, 159, 175, 167, 151, 141, 153, 169, 164, 147,
+  132, 121, 103, 91, 91, 99, 103, 104, 84, 76, 96, 75, 83, 73, 69, 68,
+  107, 128, 148, 241, 250, 244, 255, 248, 254, 254, 255, 255, 255, 255, 255, 255,
+  255, 255, 254, 255, 253, 251, 254, 245, 253, 250, 208, 198, 168, 161, 159, 168,
+  186, 194, 182, 167, 151, 151, 152, 135, 111, 109, 104, 80, 73, 71, 74, 86,
+  93, 92, 89, 90, 83, 83, 103, 119, 113, 134, 107, 123, 103, 93, 82, 76,
+  76, 77, 78, 80, 76, 59, 76, 75, 77, 67, 81, 67, 67, 63, 58, 58,
+  64, 76, 88, 96, 140, 143, 152, 156, 150, 155, 162, 159, 170, 175, 174, 174,
+  185, 190, 169, 138, 113, 94, 82, 84, 89, 89, 94, 105, 84, 65, 79, 67,
+  84, 74, 63, 55, 89, 128, 99, 205, 253, 240, 255, 245, 254, 254, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 250, 250, 254, 243, 252, 246, 190, 184,
+  167, 167, 164, 163, 172, 185, 186, 178, 162, 150, 163, 163, 121, 97, 87, 64,
+  66, 66, 76, 95, 108, 111, 112, 116, 97, 104, 122, 140, 142, 149, 136, 144,
+  123, 110, 97, 92, 88, 83, 78, 76, 66, 56, 65, 71, 77, 76, 83, 79,
+  77, 74, 72, 76, 85, 97, 107, 112, 114, 117, 129, 134, 129, 139, 156, 163,
+  182, 196, 201, 192, 183, 172, 150, 128, 98, 83, 78, 90, 93, 83, 84, 95,
+  104, 81, 82, 72, 84, 85, 69, 64, 71, 84, 97, 142, 239, 250, 252, 247,
+  254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 250, 254, 239,
+  251, 244, 180, 181, 167, 162, 160, 165, 174, 177, 174, 170, 167, 164, 168, 162,
+  127, 90, 72, 70, 68, 74, 93, 115, 124, 123, 129, 140, 121, 130, 143, 158,
+  170, 161, 172, 169, 147, 128, 108, 99, 96, 91, 84, 82, 81, 82, 71, 74,
+  70, 70, 64, 74, 72, 74, 76, 78, 79, 82, 85, 88, 100, 102, 117, 130,
+  134, 149, 170, 179, 181, 187, 187, 175, 161, 150, 136, 125, 98, 91, 86, 86,
+  83, 76, 75, 80, 92, 83, 81, 76, 73, 85, 68, 72, 66, 56, 95, 106,
+  189, 250, 252, 247, 254, 254, 254, 255, 255, 255, 255, 255, 255, 254, 255, 255,
+  249, 250, 255, 235, 249, 241, 176, 181, 169, 155, 156, 178, 190, 177, 161, 156,
+  158, 170, 155, 135, 117, 77, 57, 79, 70, 82, 107, 126, 127, 121, 130, 146,
+  138, 150, 156, 169, 188, 169, 196, 188, 169, 141, 112, 98, 95, 93, 92, 93,
+  70, 86, 73, 82, 77, 82, 72, 97, 79, 86, 92, 90, 82, 76, 76, 76,
+  84, 83, 97, 111, 116, 128, 143, 147, 156, 157, 160, 164, 165, 155, 134, 116,
+  97, 97, 87, 73, 67, 72, 78, 79, 68, 77, 86, 92, 79, 101, 85, 95,
+  72, 63, 80, 102, 135, 242, 254, 243, 254, 254, 254, 255, 255, 255, 255, 255,
+  254, 254, 253, 252, 251, 251, 255, 254, 236, 250, 155, 161, 161, 164, 169, 172,
+  172, 168, 160, 151, 152, 158, 144, 124, 111, 96, 84, 88, 74, 92, 124, 148,
+  146, 133, 131, 142, 144, 150, 172, 198, 207, 199, 192, 194, 183, 169, 147, 129,
+  117, 109, 103, 97, 85, 83, 85, 82, 77, 83, 90, 85, 83, 81, 77, 76,
+  77, 76, 72, 69, 79, 80, 83, 91, 104, 118, 128, 133, 134, 125, 117, 122,
+  131, 130, 110, 90, 60, 72, 74, 68, 58, 63, 65, 65, 79, 78, 82, 88,
+  93, 93, 98, 103, 110, 85, 67, 104, 108, 219, 251, 239, 253, 255, 255, 255,
+  255, 255, 255, 255, 254, 254, 253, 251, 253, 251, 255, 253, 237, 247, 152, 156,
+  160, 161, 164, 169, 170, 166, 160, 155, 142, 145, 120, 123, 111, 117, 95, 99,
+  96, 111, 138, 161, 164, 157, 161, 173, 173, 176, 191, 212, 218, 212, 208, 212,
+  209, 201, 189, 176, 162, 146, 128, 115, 108, 94, 89, 91, 89, 92, 90, 79,
+  80, 77, 72, 71, 73, 73, 71, 68, 74, 79, 86, 95, 101, 104, 101, 98,
+  122, 115, 105, 103, 103, 99, 85, 73, 67, 75, 75, 66, 59, 64, 65, 63,
+  85, 84, 85, 92, 103, 108, 107, 102, 117, 89, 69, 82, 116, 180, 227, 242,
+  252, 254, 255, 255, 255, 255, 255, 255, 254, 254, 252, 251, 254, 250, 254, 253,
+  241, 243, 154, 157, 157, 154, 156, 162, 162, 153, 149, 152, 112, 130, 113, 128,
+  104, 121, 108, 131, 130, 138, 158, 179, 187, 187, 193, 204, 206, 206, 213, 225,
+  229, 226, 224, 229, 229, 229, 226, 224, 217, 203, 184, 171, 157, 129, 118, 123,
+  123, 118, 106, 90, 88, 84, 79, 77, 80, 82, 82, 81, 72, 70, 64, 63,
+  62, 63, 61, 60, 44, 47, 53, 61, 66, 69, 69, 69, 78, 79, 76, 61,
+  59, 60, 62, 56, 64, 62, 59, 65, 84, 105, 106, 96, 109, 83, 72, 65,
+  124, 136, 189, 235, 251, 254, 255, 255, 255, 255, 255, 255, 254, 254, 252, 251,
+  253, 250, 253, 254, 247, 238, 159, 161, 153, 150, 151, 153, 144, 130, 130, 140,
+  105, 118, 113, 125, 121, 131, 129, 150, 153, 159, 173, 189, 200, 204, 209, 216,
+  222, 220, 223, 231, 234, 232, 233, 237, 237, 238, 240, 242, 241, 234, 226, 218,
+  204, 170, 155, 162, 159, 145, 129, 114, 106, 101, 94, 93, 94, 99, 99, 99,
+  95, 89, 80, 72, 69, 69, 70, 70, 60, 64, 74, 86, 90, 89, 87, 88,
+  89, 85, 80, 57, 60, 55, 58, 47, 42, 42, 36, 34, 55, 83, 92, 84,
+  92, 74, 81, 76, 121, 121, 177, 229, 245, 249, 253, 255, 255, 255, 255, 255,
+  254, 254, 252, 251, 253, 249, 252, 254, 245, 221, 153, 156, 153, 153, 155, 149,
+  132, 116, 119, 132, 127, 110, 106, 111, 154, 153, 151, 144, 164, 168, 180, 197,
+  209, 213, 215, 217, 220, 221, 225, 232, 236, 236, 237, 240, 243, 244, 244, 244,
+  242, 237, 231, 226, 225, 195, 183, 186, 176, 159, 146, 135, 125, 118, 111, 108,
+  110, 113, 115, 115, 106, 106, 106, 106, 104, 98, 91, 85, 73, 70, 72, 81,
+  87, 86, 84, 86, 100, 92, 89, 62, 69, 56, 57, 42, 42, 47, 44, 39,
+  51, 75, 84, 79, 86, 76, 90, 99, 105, 129, 191, 236, 240, 245, 249, 253,
+  255, 255, 255, 255, 254, 254, 252, 251, 252, 251, 252, 250, 238, 197, 138, 141,
+  151, 155, 155, 144, 129, 120, 124, 130, 124, 107, 117, 113, 163, 146, 154, 148,
+  168, 175, 188, 202, 214, 220, 219, 219, 217, 221, 226, 233, 238, 242, 243, 244,
+  245, 247, 252, 254, 251, 245, 237, 232, 229, 210, 202, 200, 185, 172, 166, 158,
+  149, 144, 136, 132, 133, 135, 135, 135, 113, 111, 108, 105, 102, 100, 95, 93,
+  90, 77, 73, 84, 97, 105, 110, 118, 112, 105, 109, 77, 87, 66, 68, 51,
+  35, 46, 51, 52, 58, 72, 78, 78, 84, 81, 88, 102, 86, 129, 191, 239,
+  240, 244, 247, 249, 255, 255, 255, 255, 254, 254, 252, 251, 251, 252, 254, 249,
+  233, 178, 126, 131, 138, 144, 141, 131, 129, 134, 134, 127, 111, 118, 140, 138,
+  158, 138, 154, 171, 177, 185, 196, 207, 215, 219, 219, 217, 216, 221, 227, 233,
+  241, 247, 249, 250, 248, 251, 255, 254, 254, 253, 249, 246, 233, 222, 217, 210,
+  196, 190, 189, 180, 177, 170, 162, 157, 157, 157, 156, 154, 145, 137, 125, 116,
+  110, 110, 110, 111, 110, 97, 90, 98, 104, 105, 108, 116, 124, 120, 130, 97,
+  110, 84, 88, 68, 44, 47, 50, 52, 56, 61, 68, 72, 79, 89, 83, 91,
+  88, 115, 162, 229, 244, 248, 250, 250, 255, 255, 255, 255, 254, 254, 253, 251,
+  249, 252, 255, 249, 232, 170, 125, 130, 125, 128, 122, 115, 126, 143, 140, 123,
+  122, 133, 146, 159, 167, 159, 164, 186, 187, 194, 203, 208, 213, 215, 215, 213,
+  219, 223, 228, 234, 240, 248, 253, 253, 255, 255, 254, 251, 247, 246, 245, 246,
+  233, 226, 222, 214, 201, 204, 205, 193, 191, 184, 175, 171, 169, 167, 164, 163,
+  158, 155, 148, 142, 134, 124, 114, 108, 109, 103, 105, 117, 122, 116, 116, 122,
+  132, 129, 145, 113, 126, 99, 103, 83, 78, 67, 57, 51, 49, 50, 56, 64,
+  77, 98, 86, 86, 108, 105, 135, 219, 251, 253, 252, 251, 255, 255, 255, 255,
+  255, 254, 254, 253, 244, 249, 254, 249, 211, 162, 128, 118, 96, 103, 119, 129,
+  127, 130, 131, 122, 124, 154, 173, 173, 174, 175, 184, 197, 199, 205, 212, 214,
+  213, 212, 216, 220, 214, 219, 226, 235, 243, 249, 253, 255, 255, 255, 253, 253,
+  251, 248, 247, 246, 238, 235, 230, 226, 223, 220, 215, 211, 205, 202, 197, 191,
+  184, 176, 171, 167, 171, 171, 168, 159, 147, 137, 131, 129, 134, 134, 111, 119,
+  126, 124, 141, 130, 139, 140, 155, 130, 128, 116, 119, 94, 87, 56, 42, 58,
+  49, 40, 56, 54, 61, 96, 83, 71, 106, 117, 124, 173, 246, 247, 250, 244,
+  255, 255, 255, 255, 255, 255, 253, 253, 249, 251, 254, 247, 188, 137, 103, 95,
+  104, 112, 124, 134, 136, 132, 127, 124, 128, 162, 180, 178, 180, 185, 194, 206,
+  206, 211, 215, 217, 213, 213, 216, 221, 219, 223, 230, 237, 244, 249, 252, 255,
+  255, 255, 253, 253, 251, 250, 247, 246, 239, 237, 232, 230, 227, 225, 222, 219,
+  212, 210, 207, 203, 197, 193, 187, 185, 170, 172, 168, 162, 151, 144, 139, 137,
+  125, 131, 119, 130, 135, 128, 136, 124, 138, 142, 160, 144, 145, 138, 141, 117,
+  90, 56, 41, 47, 53, 52, 46, 43, 59, 85, 75, 84, 109, 105, 113, 148,
+  235, 251, 253, 249, 255, 255, 255, 255, 255, 255, 253, 253, 253, 250, 247, 241,
+  161, 120, 97, 98, 110, 118, 124, 134, 139, 126, 114, 118, 133, 167, 184, 180,
+  186, 198, 205, 211, 213, 217, 218, 217, 214, 213, 215, 220, 223, 226, 231, 238,
+  243, 248, 251, 253, 254, 253, 253, 252, 251, 250, 247, 246, 242, 239, 236, 234,
+  234, 233, 231, 228, 220, 219, 218, 216, 212, 209, 206, 204, 188, 188, 185, 180,
+  171, 163, 158, 156, 138, 146, 141, 149, 149, 142, 146, 138, 143, 149, 168, 161,
+  162, 161, 162, 141, 114, 74, 53, 36, 57, 75, 51, 57, 72, 84, 72, 97,
+  111, 96, 114, 134, 202, 246, 253, 248, 255, 255, 255, 255, 255, 255, 253, 253,
+  253, 247, 239, 230, 149, 123, 117, 130, 112, 119, 122, 131, 137, 120, 107, 118,
+  136, 167, 178, 176, 190, 208, 210, 206, 213, 216, 215, 214, 212, 213, 215, 219,
+  222, 225, 230, 235, 241, 245, 250, 251, 252, 252, 252, 251, 250, 248, 247, 246,
+  242, 240, 238, 238, 239, 239, 236, 235, 223, 223, 223, 222, 219, 218, 215, 214,
+  212, 211, 207, 201, 193, 185, 177, 175, 167, 169, 165, 163, 158, 156, 161, 163,
+  156, 160, 172, 171, 168, 170, 169, 151, 141, 101, 75, 32, 55, 88, 66, 90,
+  92, 96, 78, 102, 106, 102, 136, 136, 162, 237, 249, 246, 255, 255, 255, 255,
+  255, 255, 253, 253, 252, 251, 242, 222, 155, 132, 127, 138, 112, 118, 124, 131,
+  130, 121, 121, 131, 142, 165, 172, 175, 196, 214, 210, 202, 210, 212, 213, 213,
+  212, 213, 215, 218, 219, 222, 226, 231, 237, 243, 247, 250, 249, 249, 250, 248,
+  248, 247, 245, 245, 241, 240, 238, 238, 239, 240, 237, 236, 227, 226, 225, 224,
+  223, 220, 218, 217, 221, 220, 215, 211, 204, 198, 192, 188, 186, 183, 182, 172,
+  165, 166, 167, 174, 169, 169, 171, 172, 163, 170, 167, 154, 144, 114, 91, 39,
+  47, 79, 69, 106, 95, 100, 89, 98, 99, 114, 146, 134, 137, 238, 247, 250,
+  255, 255, 255, 255, 255, 255, 253, 253, 254, 255, 248, 206, 166, 132, 117, 113,
+  109, 111, 124, 125, 111, 117, 135, 141, 147, 165, 174, 183, 204, 214, 208, 204,
+  209, 211, 211, 213, 214, 215, 218, 217, 217, 219, 223, 228, 234, 239, 245, 247,
+  246, 246, 246, 246, 246, 245, 244, 243, 241, 239, 238, 238, 239, 239, 238, 235,
+  230, 229, 229, 227, 225, 222, 220, 218, 221, 218, 217, 215, 213, 210, 205, 202,
+  192, 188, 196, 186, 179, 181, 172, 178, 174, 173, 169, 175, 162, 173, 167, 158,
+  139, 120, 104, 63, 53, 70, 69, 97, 83, 88, 95, 88, 89, 115, 127, 118,
+  124, 239, 243, 252, 255, 255, 255, 255, 255, 255, 253, 253, 249, 255, 241, 173,
+  166, 127, 108, 93, 117, 113, 131, 122, 89, 107, 143, 138, 149, 168, 182, 195,
+  208, 207, 202, 210, 212, 215, 215, 217, 219, 220, 219, 218, 220, 220, 222, 226,
+  231, 237, 240, 243, 243, 243, 244, 244, 244, 243, 242, 241, 242, 240, 238, 238,
+  238, 238, 236, 234, 231, 230, 230, 229, 227, 225, 223, 221, 221, 219, 218, 217,
+  218, 217, 213, 208, 197, 190, 203, 194, 190, 194, 178, 186, 181, 180, 173, 185,
+  169, 183, 171, 163, 149, 127, 110, 89, 68, 66, 75, 81, 78, 74, 95, 79,
+  81, 105, 94, 107, 118, 240, 237, 252, 255, 255, 255, 255, 255, 254, 253, 252,
+  241, 254, 226, 140, 161, 126, 111, 95, 135, 127, 145, 127, 79, 102, 147, 135,
+  146, 167, 188, 204, 208, 199, 198, 214, 217, 218, 220, 222, 224, 224, 221, 220,
+  223, 223, 224, 227, 231, 234, 238, 240, 240, 240, 241, 242, 241, 241, 240, 239,
+  241, 240, 237, 237, 236, 236, 232, 231, 229, 229, 229, 228, 227, 225, 224, 222,
+  220, 216, 214, 214, 215, 213, 208, 203, 198, 187, 199, 189, 188, 197, 183, 191,
+  189, 188, 181, 195, 177, 189, 175, 165, 161, 133, 107, 98, 74, 65, 79, 70,
+  88, 70, 93, 72, 76, 95, 71, 108, 118, 243, 236, 253, 255, 255, 255, 255,
+  255, 254, 253, 251, 251, 252, 185, 151, 152, 121, 113, 105, 126, 105, 139, 92,
+  116, 122, 130, 143, 148, 168, 194, 207, 209, 206, 208, 212, 218, 214, 210, 210,
+  214, 219, 222, 223, 222, 224, 225, 227, 230, 234, 237, 237, 235, 235, 236, 236,
+  237, 237, 237, 237, 234, 235, 236, 237, 236, 235, 233, 232, 235, 234, 232, 230,
+  227, 224, 221, 220, 219, 219, 217, 216, 214, 211, 209, 207, 203, 199, 197, 197,
+  196, 196, 195, 194, 195, 192, 188, 187, 187, 184, 177, 172, 171, 134, 120, 104,
+  67, 63, 80, 76, 66, 70, 74, 77, 67, 69, 77, 96, 121, 234, 243, 243,
+  255, 255, 255, 255, 255, 254, 252, 251, 250, 249, 171, 137, 141, 111, 104, 110,
+  106, 92, 130, 94, 118, 121, 125, 134, 150, 169, 193, 207, 207, 206, 208, 213,
+  217, 214, 212, 213, 217, 221, 223, 224, 222, 222, 223, 225, 227, 230, 232, 234,
+  232, 233, 233, 233, 234, 234, 234, 235, 234, 234, 235, 235, 235, 234, 232, 231,
+  233, 232, 230, 228, 225, 223, 221, 221, 216, 216, 215, 215, 214, 212, 211, 210,
+  203, 201, 197, 196, 197, 197, 195, 194, 195, 195, 194, 193, 191, 186, 180, 176,
+  167, 137, 126, 111, 73, 65, 75, 68, 52, 59, 59, 70, 74, 78, 92, 97,
+  127, 239, 249, 240, 255, 255, 255, 255, 255, 254, 252, 251, 247, 246, 158, 127,
+  132, 98, 87, 107, 86, 79, 117, 95, 118, 122, 126, 133, 157, 175, 197, 209,
+  209, 208, 210, 214, 216, 215, 214, 215, 220, 222, 222, 222, 221, 221, 221, 223,
+  224, 226, 228, 229, 231, 231, 231, 232, 232, 233, 233, 233, 235, 235, 236, 236,
+  235, 234, 233, 233, 231, 231, 229, 228, 226, 224, 222, 222, 218, 219, 217, 216,
+  215, 213, 211, 210, 204, 202, 198, 197, 197, 197, 196, 194, 195, 198, 201, 200,
+  196, 190, 184, 182, 167, 145, 137, 121, 84, 70, 73, 65, 57, 74, 68, 75,
+  78, 70, 92, 88, 115, 228, 250, 240, 255, 255, 255, 255, 255, 254, 252, 251,
+  244, 244, 151, 129, 131, 94, 74, 99, 82, 77, 105, 91, 112, 120, 132, 143,
+  169, 184, 202, 213, 214, 213, 215, 218, 215, 215, 215, 217, 221, 223, 221, 220,
+  222, 222, 222, 222, 224, 225, 227, 228, 229, 229, 230, 230, 231, 231, 231, 231,
+  235, 235, 235, 235, 234, 234, 233, 233, 230, 229, 228, 227, 226, 225, 223, 223,
+  224, 224, 222, 218, 216, 212, 208, 206, 205, 203, 199, 198, 198, 197, 196, 194,
+  195, 200, 205, 205, 199, 192, 187, 186, 173, 158, 145, 126, 92, 77, 78, 71,
+  72, 94, 88, 85, 80, 58, 88, 81, 94, 205, 246, 245, 255, 255, 255, 255,
+  255, 254, 252, 251, 249, 242, 143, 129, 125, 101, 83, 104, 94, 85, 95, 85,
+  100, 113, 135, 152, 177, 191, 205, 215, 215, 215, 216, 219, 216, 216, 216, 219,
+  221, 222, 221, 219, 224, 224, 224, 224, 225, 227, 229, 229, 231, 231, 230, 232,
+  231, 232, 232, 233, 235, 236, 234, 235, 233, 234, 233, 234, 230, 230, 229, 229,
+  227, 226, 225, 224, 226, 224, 223, 220, 216, 213, 210, 208, 208, 204, 200, 199,
+  198, 198, 196, 195, 194, 200, 205, 205, 200, 193, 189, 187, 179, 166, 146, 123,
+  96, 84, 82, 78, 78, 85, 84, 78, 86, 65, 95, 91, 111, 203, 245, 247,
+  255, 255, 255, 255, 255, 255, 252, 251, 253, 234, 131, 121, 110, 109, 102, 114,
+  100, 90, 85, 80, 90, 106, 135, 156, 183, 194, 206, 213, 213, 214, 215, 218,
+  218, 218, 218, 220, 222, 223, 222, 220, 226, 226, 226, 226, 228, 229, 231, 232,
+  233, 233, 234, 234, 234, 235, 235, 235, 236, 236, 235, 234, 233, 233, 234, 234,
+  232, 231, 231, 230, 229, 227, 227, 225, 222, 222, 221, 221, 218, 216, 215, 213,
+  209, 205, 201, 200, 199, 198, 197, 195, 196, 199, 202, 203, 200, 195, 191, 188,
+  181, 170, 145, 117, 98, 88, 79, 74, 85, 67, 78, 66, 89, 74, 98, 110,
+  170, 224, 249, 245, 255, 255, 255, 255, 255, 255, 252, 251, 252, 220, 118, 112,
+  91, 108, 106, 101, 88, 85, 77, 84, 94, 112, 142, 164, 188, 197, 207, 212,
+  214, 214, 216, 219, 222, 221, 220, 222, 224, 225, 225, 224, 226, 226, 227, 229,
+  230, 232, 233, 234, 236, 237, 238, 238, 239, 239, 239, 239, 238, 237, 235, 234,
+  234, 234, 235, 235, 235, 234, 232, 231, 231, 228, 227, 227, 222, 223, 222, 221,
+  220, 219, 217, 215, 210, 206, 202, 200, 200, 199, 197, 195, 199, 199, 200, 201,
+  200, 198, 193, 189, 182, 173, 147, 120, 108, 94, 74, 63, 91, 64, 102, 75,
+  85, 69, 98, 147, 227, 244, 250, 245, 255, 255, 255, 255, 255, 255, 253, 251,
+  243, 207, 111, 109, 79, 101, 97, 74, 72, 75, 72, 91, 103, 122, 152, 173,
+  194, 201, 210, 215, 217, 216, 219, 221, 226, 224, 223, 223, 225, 227, 227, 227,
+  226, 226, 228, 229, 230, 232, 234, 235, 238, 240, 240, 240, 241, 241, 241, 242,
+  238, 237, 235, 234, 233, 234, 235, 236, 236, 236, 234, 232, 231, 230, 228, 227,
+  225, 225, 224, 222, 220, 217, 215, 213, 211, 207, 203, 201, 200, 199, 197, 195,
+  201, 199, 198, 199, 201, 200, 195, 190, 183, 177, 152, 127, 118, 100, 71, 54,
+  83, 66, 134, 93, 81, 60, 104, 194, 251, 248, 249, 246, 255, 255, 255, 255,
+  255, 255, 253, 252, 254, 192, 119, 93, 96, 82, 116, 83, 85, 78, 87, 100,
+  103, 121, 155, 177, 194, 200, 208, 214, 217, 217, 219, 221, 221, 222, 222, 224,
+  225, 227, 228, 229, 228, 229, 230, 231, 233, 235, 237, 237, 240, 241, 242, 242,
+  242, 241, 240, 239, 240, 238, 235, 232, 231, 231, 231, 232, 236, 235, 233, 232,
+  233, 234, 234, 235, 229, 228, 224, 221, 219, 218, 217, 216, 216, 211, 205, 202,
+  200, 199, 197, 195, 199, 199, 198, 197, 195, 193, 191, 189, 183, 187, 149, 138,
+  102, 95, 77, 61, 73, 63, 131, 92, 90, 64, 97, 214, 247, 249, 249, 252,
+  255, 255, 255, 255, 255, 255, 254, 252, 246, 215, 142, 101, 83, 87, 101, 96,
+  88, 78, 81, 91, 99, 125, 157, 174, 196, 202, 209, 215, 216, 218, 219, 220,
+  222, 221, 220, 220, 221, 223, 225, 226, 226, 228, 230, 233, 235, 236, 237, 237,
+  241, 243, 243, 243, 243, 242, 241, 240, 237, 236, 233, 231, 229, 230, 231, 231,
+  236, 235, 233, 233, 234, 233, 234, 235, 231, 231, 228, 225, 223, 222, 221, 219,
+  214, 210, 205, 202, 201, 199, 195, 193, 198, 198, 198, 198, 197, 195, 194, 193,
+  180, 186, 150, 136, 100, 91, 83, 73, 75, 72, 120, 89, 93, 62, 100, 204,
+  248, 250, 250, 255, 255, 255, 255, 255, 255, 255, 255, 252, 244, 238, 165, 100,
+  78, 109, 92, 110, 97, 87, 83, 88, 104, 139, 173, 182, 201, 205, 210, 215,
+  216, 217, 218, 219, 222, 221, 220, 220, 220, 222, 224, 226, 226, 228, 231, 234,
+  236, 237, 237, 237, 240, 240, 240, 241, 240, 239, 238, 238, 239, 237, 236, 234,
+  234, 234, 235, 236, 235, 235, 234, 234, 234, 233, 235, 234, 230, 230, 228, 228,
+  225, 223, 221, 220, 213, 210, 207, 205, 204, 200, 196, 192, 195, 196, 196, 196,
+  196, 195, 194, 193, 182, 189, 157, 139, 101, 85, 87, 86, 75, 85, 105, 88,
+  106, 72, 126, 210, 251, 252, 252, 255, 255, 255, 255, 255, 255, 255, 255, 252,
+  252, 251, 186, 91, 84, 127, 95, 116, 97, 91, 88, 91, 108, 152, 188, 196,
+  207, 209, 213, 215, 216, 217, 218, 218, 221, 222, 224, 225, 226, 227, 228, 228,
+  232, 232, 233, 234, 235, 236, 237, 238, 235, 237, 236, 237, 236, 236, 234, 234,
+  238, 238, 236, 237, 236, 237, 238, 239, 236, 236, 235, 235, 234, 234, 235, 234,
+  227, 226, 226, 226, 225, 222, 220, 218, 216, 214, 212, 211, 209, 205, 199, 195,
+  193, 193, 193, 193, 192, 191, 190, 189, 186, 193, 171, 149, 109, 82, 88, 92,
+  75, 94, 90, 88, 120, 92, 174, 238, 253, 254, 254, 255, 255, 255, 255, 255,
+  255, 255, 255, 252, 255, 252, 215, 94, 86, 117, 97, 114, 85, 84, 87, 93,
+  111, 155, 194, 203, 212, 212, 213, 215, 216, 217, 218, 219, 221, 224, 229, 233,
+  235, 234, 233, 231, 237, 236, 233, 231, 231, 233, 236, 237, 233, 234, 234, 234,
+  234, 233, 232, 231, 232, 232, 231, 231, 232, 232, 233, 233, 234, 234, 234, 235,
+  235, 234, 233, 233, 224, 224, 225, 224, 224, 222, 219, 217, 218, 218, 216, 216,
+  214, 210, 203, 198, 195, 195, 194, 193, 191, 189, 188, 186, 187, 194, 182, 161,
+  124, 83, 89, 95, 86, 99, 82, 86, 117, 102, 209, 253, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 254, 252, 251, 245, 123, 81, 88, 93, 106,
+  83, 81, 90, 106, 126, 164, 199, 209, 216, 214, 213, 215, 217, 219, 219, 220,
+  221, 225, 230, 234, 236, 235, 233, 230, 235, 233, 230, 228, 228, 230, 232, 234,
+  232, 232, 232, 233, 232, 231, 230, 230, 230, 230, 230, 230, 230, 231, 231, 231,
+  230, 231, 232, 232, 232, 232, 230, 229, 223, 224, 223, 223, 222, 221, 220, 220,
+  220, 219, 217, 217, 215, 211, 205, 200, 199, 198, 197, 196, 194, 191, 189, 189,
+  185, 190, 186, 170, 140, 89, 93, 95, 99, 99, 86, 85, 99, 97, 221, 250,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 247, 253, 168,
+  82, 82, 96, 92, 92, 85, 97, 124, 150, 180, 205, 212, 218, 215, 213, 214,
+  217, 221, 221, 220, 223, 224, 226, 227, 229, 228, 226, 225, 224, 224, 225, 226,
+  227, 228, 228, 228, 227, 226, 226, 226, 226, 225, 224, 224, 228, 228, 228, 229,
+  228, 228, 227, 227, 224, 225, 226, 227, 227, 226, 225, 224, 221, 220, 219, 218,
+  218, 218, 218, 218, 218, 217, 214, 213, 211, 208, 202, 198, 197, 197, 197, 196,
+  195, 193, 191, 191, 189, 188, 187, 173, 149, 91, 93, 90, 108, 93, 94, 89,
+  85, 96, 230, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 242, 244, 200, 91, 97, 104, 82, 100, 87, 100, 134, 165, 191, 207, 209,
+  218, 215, 212, 213, 217, 220, 221, 220, 224, 224, 222, 220, 218, 218, 218, 219,
+  212, 215, 220, 224, 226, 226, 224, 222, 219, 218, 218, 219, 218, 218, 216, 216,
+  222, 222, 223, 223, 223, 222, 221, 220, 220, 221, 222, 223, 223, 221, 219, 219,
+  216, 215, 214, 213, 213, 214, 215, 216, 216, 215, 212, 210, 208, 204, 199, 196,
+  193, 194, 194, 194, 194, 193, 192, 191, 196, 189, 186, 171, 151, 89, 90, 84,
+  109, 87, 102, 95, 82, 103, 242, 253, 254, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 239, 245, 221, 113, 102, 107, 84, 99, 115, 94, 153,
+  177, 194, 220, 213, 215, 222, 219, 217, 221, 216, 213, 222, 223, 215, 211, 213,
+  212, 208, 206, 210, 204, 207, 208, 210, 215, 224, 224, 220, 208, 210, 204, 200,
+  212, 190, 215, 203, 214, 218, 216, 215, 221, 217, 215, 223, 221, 214, 215, 220,
+  219, 211, 209, 213, 210, 213, 202, 212, 198, 208, 202, 213, 206, 217, 217, 206,
+  198, 201, 201, 197, 197, 186, 199, 191, 199, 189, 201, 189, 189, 188, 199, 180,
+  172, 105, 106, 91, 106, 80, 118, 83, 99, 100, 245, 251, 254, 254, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 253, 244, 252, 240, 152, 110, 106, 82,
+  98, 110, 101, 155, 180, 202, 219, 216, 223, 224, 214, 207, 216, 221, 216, 212,
+  200, 191, 183, 181, 177, 172, 170, 173, 170, 180, 188, 188, 187, 188, 187, 186,
+  171, 170, 157, 166, 171, 157, 170, 165, 202, 216, 218, 214, 217, 216, 217, 226,
+  213, 211, 208, 202, 200, 199, 193, 186, 191, 190, 183, 191, 188, 194, 194, 201,
+  196, 196, 189, 181, 177, 177, 176, 173, 190, 186, 196, 194, 195, 191, 197, 190,
+  193, 191, 202, 186, 178, 103, 98, 86, 108, 78, 108, 103, 114, 131, 238, 255,
+  254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 252, 249,
+  191, 111, 100, 83, 101, 105, 113, 162, 188, 214, 215, 222, 222, 219, 211, 208,
+  219, 228, 218, 201, 180, 172, 163, 161, 158, 155, 156, 158, 161, 174, 184, 178,
+  166, 159, 156, 155, 135, 130, 118, 135, 136, 126, 131, 133, 172, 205, 218, 211,
+  211, 216, 219, 225, 210, 210, 199, 185, 184, 187, 177, 160, 170, 161, 161, 161,
+  172, 170, 176, 179, 187, 190, 190, 186, 173, 163, 164, 172, 168, 177, 182, 192,
+  186, 189, 186, 188, 199, 194, 203, 193, 189, 105, 95, 88, 97, 79, 94, 99,
+  115, 174, 234, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 253, 246, 246, 218, 115, 98, 92, 108, 107, 128, 176, 199, 226, 215, 227,
+  218, 212, 213, 215, 207, 196, 184, 169, 144, 138, 132, 128, 125, 123, 120, 119,
+  119, 128, 132, 124, 111, 106, 104, 105, 94, 85, 89, 97, 105, 87, 96, 103,
+  129, 181, 212, 211, 211, 216, 219, 220, 206, 195, 179, 168, 166, 165, 154, 141,
+  145, 129, 130, 122, 139, 127, 135, 135, 150, 146, 147, 154, 149, 136, 128, 131,
+  136, 155, 158, 180, 178, 196, 195, 210, 199, 194, 203, 197, 199, 112, 99, 99,
+  84, 87, 98, 79, 124, 216, 246, 250, 254, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 254, 245, 247, 240, 138, 100, 99, 115, 116, 141, 191,
+  211, 233, 217, 230, 228, 214, 217, 212, 172, 135, 129, 129, 121, 120, 117, 113,
+  109, 104, 96, 90, 76, 77, 71, 63, 59, 63, 66, 67, 71, 59, 83, 75,
+  91, 67, 83, 92, 90, 155, 203, 212, 215, 220, 215, 211, 196, 168, 147, 145,
+  143, 131, 122, 121, 114, 93, 91, 81, 94, 76, 83, 81, 104, 85, 75, 89,
+  102, 100, 87, 79, 68, 87, 81, 101, 113, 145, 158, 189, 198, 197, 203, 198,
+  208, 121, 105, 110, 85, 92, 108, 83, 172, 242, 255, 250, 254, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 246, 250, 249, 170, 100, 94,
+  116, 124, 142, 202, 221, 231, 223, 229, 235, 219, 219, 199, 141, 107, 118, 131,
+  127, 130, 132, 132, 133, 131, 124, 117, 99, 91, 77, 64, 61, 65, 66, 64,
+  62, 55, 81, 70, 80, 71, 76, 84, 77, 144, 197, 214, 220, 222, 214, 207,
+  191, 155, 129, 129, 123, 106, 99, 107, 91, 73, 66, 62, 66, 52, 55, 60,
+  68, 66, 64, 65, 63, 66, 76, 88, 82, 92, 73, 72, 91, 115, 133, 167,
+  189, 199, 204, 198, 216, 131, 110, 114, 90, 89, 105, 106, 230, 246, 250, 252,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 248, 250,
+  246, 202, 104, 94, 110, 127, 136, 205, 224, 224, 228, 226, 231, 221, 221, 192,
+  136, 124, 148, 151, 137, 142, 146, 148, 151, 154, 149, 142, 131, 123, 106, 90,
+  83, 82, 79, 73, 64, 68, 74, 79, 68, 93, 69, 78, 92, 150, 196, 216,
+  224, 224, 214, 209, 194, 163, 133, 119, 108, 95, 91, 95, 80, 68, 60, 70,
+  64, 61, 61, 75, 58, 74, 83, 76, 64, 70, 91, 110, 107, 113, 97, 80,
+  103, 100, 105, 126, 170, 193, 203, 197, 222, 141, 116, 113, 92, 99, 96, 117,
+  252, 244, 245, 252, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 253, 249, 242, 226, 115, 103, 104, 127, 128, 207, 226, 219, 231, 224,
+  224, 223, 225, 188, 138, 144, 166, 151, 164, 167, 166, 162, 161, 163, 156, 148,
+  139, 137, 126, 115, 106, 103, 99, 94, 97, 107, 92, 116, 84, 139, 90, 98,
+  113, 160, 199, 217, 227, 226, 216, 214, 196, 173, 139, 111, 96, 91, 87, 85,
+  74, 68, 58, 79, 68, 75, 75, 95, 92, 95, 95, 98, 110, 125, 125, 115,
+  119, 131, 130, 113, 143, 120, 110, 117, 152, 185, 199, 195, 226, 151, 121, 115,
+  94, 120, 94, 114, 247, 249, 253, 253, 254, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 250, 246, 251, 238, 114, 88, 93, 113, 164, 194,
+  235, 230, 235, 225, 222, 221, 205, 178, 160, 163, 173, 178, 161, 169, 174, 170,
+  159, 148, 128, 111, 116, 110, 107, 91, 93, 84, 106, 89, 77, 116, 109, 140,
+  107, 122, 108, 107, 129, 164, 209, 215, 232, 221, 234, 223, 198, 183, 139, 112,
+  93, 88, 102, 97, 107, 69, 67, 90, 80, 56, 69, 100, 84, 104, 108, 105,
+  114, 128, 140, 152, 154, 155, 159, 161, 150, 134, 132, 138, 150, 171, 202, 215,
+  211, 167, 113, 119, 91, 127, 103, 127, 241, 247, 243, 249, 254, 254, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 248, 241, 242, 239, 89, 107,
+  91, 109, 163, 200, 232, 223, 228, 221, 221, 212, 193, 172, 167, 178, 186, 186,
+  181, 167, 151, 137, 121, 112, 118, 131, 121, 102, 99, 88, 84, 78, 81, 80,
+  87, 99, 78, 107, 107, 134, 137, 135, 140, 180, 217, 220, 236, 227, 238, 222,
+  201, 189, 151, 132, 120, 113, 119, 108, 85, 74, 69, 67, 64, 73, 82, 76,
+  72, 97, 99, 88, 94, 117, 140, 160, 193, 169, 164, 181, 180, 154, 143, 150,
+  159, 174, 200, 210, 209, 168, 116, 121, 85, 127, 114, 172, 237, 234, 244, 255,
+  254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 252, 244,
+  239, 244, 79, 118, 83, 96, 153, 205, 233, 223, 229, 229, 224, 209, 185, 169,
+  174, 190, 193, 188, 189, 151, 120, 117, 120, 110, 104, 106, 101, 68, 68, 70,
+  66, 69, 52, 77, 69, 73, 63, 76, 84, 97, 125, 139, 147, 201, 229, 227,
+  241, 236, 245, 223, 219, 209, 173, 154, 138, 122, 115, 95, 65, 67, 65, 53,
+  51, 71, 73, 49, 62, 72, 62, 56, 76, 106, 125, 138, 150, 168, 184, 187,
+  187, 189, 187, 180, 171, 181, 199, 207, 210, 175, 122, 124, 97, 117, 123, 221,
+  250, 247, 242, 241, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253,
+  252, 249, 246, 237, 232, 236, 110, 106, 96, 96, 148, 211, 233, 226, 230, 232,
+  230, 215, 191, 175, 179, 190, 187, 175, 170, 138, 112, 118, 129, 124, 106, 93,
+  102, 56, 47, 54, 50, 68, 43, 95, 83, 78, 73, 70, 76, 62, 96, 108,
+  140, 216, 237, 237, 243, 240, 250, 228, 231, 222, 187, 160, 134, 108, 97, 77,
+  70, 65, 73, 76, 62, 53, 48, 41, 58, 53, 46, 60, 87, 100, 107, 121,
+  135, 164, 187, 188, 186, 187, 177, 161, 182, 188, 201, 208, 215, 182, 127, 123,
+  120, 109, 152, 227, 241, 249, 239, 235, 253, 254, 254, 255, 255, 255, 255, 255,
+  255, 255, 255, 253, 253, 230, 214, 204, 206, 211, 169, 102, 126, 113, 154, 219,
+  230, 227, 226, 222, 230, 222, 205, 188, 182, 183, 174, 161, 146, 141, 126, 113,
+  108, 119, 133, 141, 150, 92, 58, 47, 44, 70, 59, 128, 149, 117, 89, 72,
+  89, 71, 96, 91, 125, 222, 240, 244, 244, 239, 249, 234, 228, 221, 188, 158,
+  124, 97, 94, 81, 86, 86, 107, 116, 85, 47, 38, 43, 57, 48, 57, 99,
+  126, 114, 107, 126, 128, 108, 123, 178, 209, 197, 184, 189, 185, 191, 203, 210,
+  219, 188, 128, 118, 124, 107, 191, 199, 197, 219, 228, 252, 253, 254, 254, 255,
+  255, 255, 255, 255, 255, 255, 255, 252, 255, 214, 180, 167, 174, 190, 217, 138,
+  137, 122, 159, 226, 226, 231, 231, 224, 224, 224, 215, 199, 187, 180, 167, 155,
+  142, 144, 132, 115, 112, 131, 157, 171, 178, 126, 73, 39, 45, 74, 89, 156,
+  172, 140, 101, 72, 81, 72, 106, 109, 121, 227, 236, 249, 246, 237, 247, 236,
+  229, 227, 195, 160, 124, 95, 96, 87, 90, 106, 134, 135, 97, 60, 45, 39,
+  65, 41, 50, 116, 167, 151, 115, 111, 148, 129, 135, 170, 190, 180, 173, 181,
+  185, 192, 203, 209, 218, 189, 127, 112, 112, 110, 200, 184, 190, 205, 203, 224,
+  253, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 253, 252, 202, 159, 147,
+  150, 179, 215, 186, 125, 121, 164, 232, 222, 235, 238, 232, 220, 225, 220, 205,
+  192, 182, 169, 156, 153, 150, 146, 143, 141, 145, 155, 165, 174, 148, 97, 55,
+  76, 93, 122, 168, 152, 142, 114, 90, 88, 87, 120, 126, 132, 235, 228, 248,
+  247, 235, 242, 235, 233, 229, 198, 167, 131, 101, 96, 86, 93, 107, 132, 138,
+  110, 79, 59, 44, 65, 53, 66, 128, 182, 172, 129, 109, 107, 128, 149, 159,
+  170, 186, 198, 199, 190, 196, 206, 209, 218, 190, 129, 114, 106, 140, 187, 194,
+  198, 189, 175, 187, 252, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 252,
+  238, 193, 149, 140, 137, 170, 185, 211, 122, 126, 174, 239, 216, 229, 235, 227,
+  222, 227, 221, 207, 195, 187, 172, 158, 161, 166, 175, 174, 151, 131, 143, 169,
+  175, 174, 134, 93, 121, 118, 146, 167, 153, 148, 124, 120, 130, 137, 142, 123,
+  147, 244, 223, 247, 249, 235, 239, 231, 223, 221, 192, 167, 137, 111, 102, 86,
+  103, 98, 119, 143, 129, 95, 70, 59, 55, 85, 122, 159, 177, 162, 144, 144,
+  113, 117, 136, 164, 182, 184, 183, 185, 196, 203, 212, 211, 219, 193, 133, 119,
+  114, 183, 186, 205, 179, 151, 159, 194, 252, 254, 254, 255, 255, 255, 255, 255,
+  255, 255, 253, 251, 244, 186, 150, 126, 138, 173, 191, 203, 137, 132, 178, 232,
+  218, 237, 230, 232, 225, 226, 222, 215, 208, 204, 197, 190, 190, 190, 190, 186,
+  177, 163, 150, 140, 162, 173, 153, 128, 138, 148, 147, 152, 152, 149, 147, 149,
+  155, 158, 155, 152, 176, 230, 234, 234, 252, 244, 234, 229, 217, 214, 206, 190,
+  168, 149, 138, 134, 134, 138, 133, 129, 140, 150, 137, 112, 116, 122, 148, 149,
+  154, 136, 157, 176, 166, 160, 163, 178, 188, 189, 192, 198, 202, 200, 203, 212,
+  211, 187, 146, 115, 117, 175, 188, 194, 160, 145, 150, 170, 252, 254, 254, 254,
+  255, 255, 255, 255, 255, 255, 253, 251, 237, 192, 143, 142, 140, 197, 185, 187,
+  143, 132, 181, 227, 224, 238, 236, 235, 226, 228, 225, 220, 216, 214, 210, 204,
+  201, 202, 202, 199, 192, 180, 169, 162, 155, 163, 155, 142, 144, 145, 139, 135,
+  153, 157, 160, 163, 162, 161, 162, 163, 196, 240, 236, 237, 254, 246, 230, 219,
+  217, 212, 202, 187, 172, 163, 162, 165, 141, 145, 141, 139, 150, 163, 153, 132,
+  125, 126, 151, 125, 146, 134, 173, 182, 185, 179, 177, 182, 188, 193, 199, 207,
+  206, 204, 206, 215, 214, 191, 152, 120, 111, 186, 199, 184, 144, 144, 151, 158,
+  252, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 251, 236, 199, 133, 148,
+  135, 217, 185, 178, 158, 136, 185, 222, 231, 235, 239, 233, 226, 229, 229, 224,
+  223, 225, 222, 218, 216, 215, 214, 210, 203, 195, 186, 180, 180, 169, 164, 157,
+  148, 151, 157, 158, 165, 172, 178, 176, 170, 172, 178, 189, 215, 246, 236, 239,
+  254, 247, 230, 213, 212, 209, 203, 194, 185, 181, 184, 188, 163, 165, 158, 151,
+  155, 164, 155, 137, 139, 137, 160, 118, 151, 142, 189, 187, 198, 200, 198, 195,
+  194, 202, 208, 211, 211, 209, 209, 217, 218, 199, 161, 128, 112, 188, 202, 186,
+  141, 140, 151, 164, 252, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 251,
+  241, 203, 135, 138, 132, 220, 197, 185, 172, 141, 190, 218, 235, 229, 237, 228,
+  226, 229, 229, 227, 228, 230, 229, 226, 223, 221, 218, 213, 206, 197, 190, 186,
+  190, 168, 166, 168, 153, 156, 172, 174, 182, 187, 188, 184, 180, 186, 201, 214,
+  220, 242, 235, 241, 253, 243, 231, 215, 202, 205, 207, 206, 200, 193, 189, 187,
+  182, 181, 173, 163, 161, 166, 160, 148, 160, 157, 171, 144, 167, 162, 191, 190,
+  196, 208, 213, 207, 205, 210, 212, 208, 215, 214, 212, 218, 222, 205, 168, 133,
+  114, 175, 193, 196, 149, 129, 145, 180, 252, 254, 254, 254, 255, 255, 255, 255,
+  255, 255, 255, 252, 244, 205, 158, 137, 147, 214, 210, 194, 173, 138, 187, 218,
+  235, 230, 236, 228, 228, 232, 232, 230, 230, 235, 235, 232, 224, 222, 219, 214,
+  208, 202, 197, 194, 196, 179, 188, 198, 183, 178, 185, 184, 194, 196, 197, 197,
+  199, 207, 217, 225, 220, 237, 234, 244, 246, 232, 228, 215, 202, 205, 211, 214,
+  208, 200, 192, 187, 185, 187, 182, 175, 175, 181, 182, 177, 188, 182, 180, 183,
+  182, 183, 190, 202, 195, 207, 213, 208, 207, 213, 215, 211, 216, 214, 213, 217,
+  223, 209, 171, 133, 110, 173, 194, 200, 153, 132, 149, 188, 253, 254, 254, 254,
+  255, 255, 255, 255, 255, 255, 255, 252, 245, 209, 189, 158, 175, 211, 211, 187,
+  159, 128, 176, 220, 233, 232, 236, 233, 231, 235, 235, 233, 234, 237, 238, 235,
+  227, 225, 222, 221, 217, 214, 210, 208, 213, 203, 203, 203, 193, 189, 196, 203,
+  200, 203, 207, 213, 218, 221, 222, 222, 224, 235, 237, 248, 241, 223, 223, 212,
+  209, 210, 211, 211, 210, 206, 202, 199, 190, 192, 189, 182, 180, 184, 188, 189,
+  204, 197, 185, 200, 187, 195, 193, 214, 203, 205, 205, 203, 204, 208, 213, 215,
+  212, 212, 211, 215, 221, 208, 168, 128, 113, 191, 212, 203, 156, 152, 172, 197,
+  253, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 251, 249, 217, 209, 181,
+  195, 209, 198, 168, 143, 120, 166, 224, 226, 235, 231, 234, 229, 232, 233, 231,
+  231, 237, 238, 236, 230, 230, 228, 227, 224, 222, 218, 216, 211, 209, 194, 183,
+  182, 183, 192, 209, 211, 213, 215, 217, 221, 222, 222, 223, 228, 234, 237, 252,
+  242, 222, 223, 212, 214, 213, 212, 213, 212, 210, 207, 207, 201, 203, 199, 188,
+  180, 179, 182, 184, 197, 197, 194, 197, 192, 198, 204, 213, 211, 207, 204, 206,
+  208, 207, 209, 213, 209, 209, 208, 212, 218, 206, 163, 121, 123, 197, 217, 209,
+  166, 167, 192, 221, 252, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 252,
+  253, 225, 213, 193, 196, 206, 183, 155, 138, 118, 161, 227, 221, 234, 225, 231,
+  224, 228, 227, 226, 228, 234, 236, 234, 234, 233, 231, 230, 226, 222, 217, 215,
+  207, 220, 211, 200, 206, 205, 203, 219, 225, 224, 219, 215, 212, 216, 222, 231,
+  231, 232, 236, 254, 246, 227, 228, 214, 214, 213, 215, 216, 216, 212, 205, 201,
+  209, 211, 207, 196, 186, 183, 185, 189, 178, 189, 203, 190, 200, 200, 211, 204,
+  215, 208, 208, 216, 218, 208, 203, 204, 205, 207, 206, 209, 216, 203, 160, 115,
+  129, 184, 202, 212, 175, 163, 193, 242, 253, 254, 254, 255, 255, 255, 255, 255,
+  255, 255, 255, 250, 250, 243, 228, 208, 201, 208, 190, 150, 129, 136, 146, 227,
+  223, 236, 229, 243, 236, 235, 230, 228, 228, 229, 232, 233, 230, 234, 233, 230,
+  232, 236, 232, 222, 216, 219, 215, 211, 214, 223, 226, 223, 229, 229, 226, 221,
+  216, 217, 223, 229, 225, 234, 244, 248, 242, 232, 223, 218, 219, 212, 211, 217,
+  220, 216, 213, 214, 214, 209, 204, 204, 204, 201, 193, 186, 186, 190, 193, 196,
+  196, 199, 204, 209, 211, 213, 216, 215, 212, 208, 205, 203, 205, 208, 209, 211,
+  217, 201, 151, 99, 144, 176, 194, 219, 171, 187, 233, 242, 253, 254, 254, 255,
+  255, 255, 255, 255, 255, 255, 255, 250, 254, 248, 237, 219, 208, 211, 193, 154,
+  129, 155, 141, 223, 227, 229, 235, 236, 232, 231, 228, 226, 225, 227, 230, 232,
+  232, 235, 236, 234, 235, 238, 235, 228, 224, 225, 223, 220, 223, 229, 231, 227,
+  228, 229, 226, 222, 217, 218, 222, 227, 226, 234, 244, 248, 243, 234, 225, 220,
+  215, 211, 211, 217, 218, 213, 208, 208, 205, 203, 202, 205, 209, 208, 203, 197,
+  194, 198, 202, 203, 202, 204, 208, 211, 211, 213, 216, 215, 213, 209, 207, 206,
+  206, 210, 211, 213, 213, 196, 156, 117, 145, 177, 195, 215, 177, 199, 243, 249,
+  253, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 250, 253, 251, 246, 231,
+  216, 214, 196, 162, 131, 175, 141, 213, 231, 226, 238, 230, 229, 227, 225, 224,
+  224, 226, 228, 229, 232, 235, 235, 235, 236, 239, 237, 232, 232, 233, 232, 231,
+  232, 237, 235, 233, 228, 228, 226, 222, 219, 218, 220, 225, 227, 234, 243, 247,
+  244, 236, 228, 222, 217, 214, 215, 219, 218, 212, 206, 204, 203, 203, 205, 210,
+  216, 217, 212, 209, 204, 208, 211, 212, 211, 210, 211, 212, 210, 213, 216, 216,
+  213, 211, 209, 210, 208, 209, 212, 216, 214, 198, 173, 152, 154, 182, 199, 212,
+  190, 217, 253, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254,
+  248, 249, 250, 240, 224, 216, 201, 173, 138, 181, 156, 200, 228, 234, 232, 229,
+  227, 226, 223, 222, 223, 225, 227, 228, 229, 230, 231, 232, 234, 235, 234, 233,
+  235, 235, 235, 236, 238, 239, 237, 233, 231, 228, 223, 219, 216, 217, 222, 225,
+  227, 234, 242, 245, 243, 237, 229, 224, 221, 220, 219, 219, 217, 212, 206, 204,
+  212, 211, 211, 213, 215, 216, 214, 212, 211, 214, 216, 216, 215, 213, 210, 209,
+  210, 212, 215, 215, 214, 212, 212, 212, 212, 208, 210, 218, 220, 211, 194, 186,
+  165, 189, 208, 214, 207, 234, 254, 249, 254, 254, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 246, 247, 252, 248, 232, 224, 212, 190, 151, 177, 178, 192,
+  224, 244, 222, 233, 227, 226, 224, 224, 224, 225, 226, 228, 226, 226, 229, 231,
+  231, 231, 232, 233, 234, 233, 233, 236, 238, 236, 233, 231, 232, 227, 219, 214,
+  213, 217, 223, 228, 229, 233, 239, 242, 241, 236, 228, 223, 222, 222, 221, 217,
+  213, 210, 208, 206, 218, 215, 211, 209, 209, 210, 211, 211, 213, 215, 215, 215,
+  213, 210, 206, 204, 208, 211, 213, 214, 213, 212, 212, 213, 216, 207, 205, 215,
+  223, 220, 206, 198, 166, 185, 210, 212, 224, 245, 253, 244, 254, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 249, 247, 254, 254, 241, 232, 223, 207,
+  167, 176, 198, 199, 223, 247, 220, 236, 229, 228, 226, 224, 224, 225, 225, 225,
+  227, 225, 228, 231, 230, 228, 230, 234, 231, 228, 228, 232, 235, 232, 229, 229,
+  230, 225, 216, 212, 214, 219, 224, 228, 228, 232, 236, 238, 238, 233, 225, 220,
+  219, 221, 220, 214, 209, 207, 204, 201, 213, 211, 207, 205, 205, 207, 209, 211,
+  213, 213, 212, 211, 210, 208, 205, 202, 207, 209, 211, 211, 210, 208, 209, 210,
+  217, 209, 205, 211, 221, 221, 204, 189, 165, 175, 209, 212, 237, 251, 250, 246,
+  254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 247, 253, 254,
+  245, 237, 229, 217, 183, 189, 209, 216, 227, 237, 230, 232, 229, 228, 225, 224,
+  223, 222, 223, 223, 225, 223, 225, 228, 226, 223, 225, 232, 230, 225, 226, 231,
+  232, 229, 227, 229, 225, 220, 215, 214, 217, 221, 223, 227, 228, 230, 231, 235,
+  234, 230, 223, 216, 213, 220, 223, 218, 212, 209, 203, 197, 208, 209, 209, 210,
+  209, 210, 211, 213, 213, 211, 208, 208, 210, 209, 206, 204, 204, 206, 207, 207,
+  206, 205, 207, 209, 210, 211, 210, 210, 218, 221, 202, 181, 174, 175, 211, 214,
+  249, 254, 247, 252, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 246, 249, 253, 244, 235, 229, 218, 192, 202, 213, 230, 232, 225, 241, 228,
+  229, 228, 226, 224, 222, 221, 221, 220, 221, 219, 221, 224, 222, 217, 220, 227,
+  230, 224, 224, 230, 232, 227, 227, 230, 220, 217, 216, 218, 222, 224, 224, 224,
+  228, 229, 230, 231, 232, 229, 220, 215, 210, 221, 227, 224, 216, 211, 204, 195,
+  207, 210, 214, 216, 216, 215, 214, 214, 214, 211, 207, 207, 209, 209, 207, 205,
+  202, 204, 206, 205, 204, 203, 205, 207, 203, 211, 215, 213, 218, 222, 206, 181,
+  189, 183, 218, 219, 254, 255, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 248, 253, 249, 242, 228, 214, 236, 205, 216, 219, 224,
+  234, 232, 228, 234, 227, 226, 224, 223, 221, 220, 219, 219, 216, 218, 221, 224,
+  224, 222, 220, 219, 226, 226, 225, 224, 223, 221, 218, 217, 218, 218, 219, 222,
+  224, 226, 226, 225, 225, 229, 222, 220, 229, 228, 212, 204, 212, 216, 217, 216,
+  218, 220, 209, 195, 204, 204, 207, 210, 211, 212, 212, 213, 209, 208, 206, 205,
+  204, 203, 203, 203, 200, 203, 206, 207, 205, 205, 206, 208, 212, 210, 217, 223,
+  223, 222, 207, 180, 183, 198, 219, 238, 251, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 253, 248, 243, 230, 215, 233,
+  216, 223, 221, 223, 233, 233, 227, 232, 227, 226, 225, 224, 221, 221, 219, 219,
+  216, 218, 220, 222, 223, 222, 219, 218, 218, 219, 221, 221, 220, 218, 215, 213,
+  219, 219, 218, 220, 223, 225, 224, 223, 207, 221, 223, 222, 225, 219, 215, 221,
+  214, 218, 218, 215, 220, 228, 227, 219, 202, 203, 206, 208, 210, 211, 211, 211,
+  206, 207, 205, 204, 203, 202, 201, 201, 201, 203, 205, 207, 205, 205, 206, 209,
+  210, 207, 214, 221, 220, 221, 208, 184, 196, 204, 221, 242, 254, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 253, 249,
+  244, 232, 215, 230, 227, 228, 220, 220, 231, 233, 227, 229, 227, 227, 225, 224,
+  221, 221, 218, 219, 215, 217, 218, 219, 220, 219, 216, 215, 213, 215, 217, 219,
+  219, 217, 215, 214, 211, 217, 226, 234, 239, 235, 227, 220, 222, 218, 207, 209,
+  222, 217, 202, 198, 191, 202, 210, 211, 216, 224, 221, 213, 200, 201, 204, 207,
+  209, 210, 209, 210, 204, 205, 204, 203, 201, 200, 199, 198, 201, 203, 204, 206,
+  204, 204, 205, 207, 209, 206, 213, 220, 218, 219, 212, 192, 210, 207, 220, 244,
+  255, 253, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 253, 249, 245, 236, 217, 229, 232, 229, 216, 215, 229, 233, 228, 229,
+  228, 227, 226, 224, 221, 219, 218, 218, 216, 216, 217, 217, 217, 216, 216, 215,
+  216, 216, 216, 216, 216, 217, 217, 218, 222, 224, 228, 231, 230, 222, 210, 202,
+  203, 207, 204, 205, 211, 207, 204, 214, 209, 213, 210, 203, 205, 218, 228, 229,
+  198, 200, 202, 204, 206, 206, 205, 206, 201, 202, 201, 201, 199, 198, 196, 195,
+  198, 200, 202, 204, 202, 202, 202, 204, 211, 206, 214, 220, 219, 220, 217, 203,
+  219, 210, 218, 244, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 253, 246, 246, 242, 223, 234, 230, 224, 211, 211,
+  225, 232, 227, 230, 229, 228, 226, 224, 221, 219, 218, 217, 218, 218, 217, 216,
+  215, 215, 215, 215, 218, 216, 214, 212, 212, 215, 217, 220, 230, 228, 225, 224,
+  224, 225, 223, 222, 210, 207, 195, 194, 208, 209, 198, 195, 193, 205, 212, 211,
+  212, 218, 217, 211, 199, 200, 202, 204, 204, 204, 202, 202, 198, 199, 198, 198,
+  196, 195, 194, 193, 194, 197, 199, 201, 200, 200, 201, 203, 211, 205, 213, 219,
+  217, 217, 216, 207, 222, 212, 219, 244, 254, 250, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 249, 249, 231, 238,
+  225, 219, 208, 208, 224, 231, 227, 230, 229, 228, 226, 224, 222, 219, 217, 216,
+  218, 216, 213, 212, 211, 212, 213, 213, 215, 213, 211, 209, 211, 214, 219, 222,
+  223, 226, 229, 230, 223, 209, 192, 179, 179, 194, 193, 186, 192, 195, 187, 181,
+  184, 194, 198, 199, 204, 213, 215, 210, 204, 203, 205, 206, 204, 204, 201, 200,
+  197, 197, 195, 193, 191, 191, 192, 192, 191, 194, 197, 200, 199, 200, 202, 204,
+  210, 203, 210, 217, 212, 210, 211, 206, 221, 216, 225, 243, 254, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247,
+  252, 251, 228, 230, 220, 218, 209, 210, 226, 230, 226, 230, 229, 228, 227, 224,
+  222, 219, 217, 216, 215, 213, 210, 207, 206, 207, 208, 210, 210, 210, 212, 213,
+  216, 220, 224, 225, 229, 232, 232, 222, 195, 156, 113, 86, 93, 165, 208, 193,
+  169, 170, 190, 213, 161, 143, 112, 89, 100, 138, 177, 195, 210, 209, 211, 210,
+  208, 205, 203, 201, 198, 196, 192, 189, 188, 188, 190, 192, 190, 193, 196, 200,
+  201, 202, 204, 207, 210, 203, 210, 217, 210, 205, 206, 205, 222, 225, 233, 245,
+  254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 253, 254, 249, 221, 218, 218, 219, 212, 214, 227, 229, 225, 228,
+  230, 229, 227, 224, 222, 219, 216, 215, 214, 211, 208, 204, 203, 203, 206, 207,
+  205, 209, 214, 219, 224, 227, 229, 229, 232, 229, 223, 210, 187, 157, 126, 107,
+  123, 168, 190, 182, 187, 198, 182, 161, 142, 127, 99, 81, 94, 130, 163, 179,
+  215, 215, 215, 213, 212, 207, 204, 202, 198, 195, 190, 187, 185, 187, 190, 192,
+  191, 193, 197, 201, 202, 205, 207, 209, 212, 206, 213, 220, 212, 205, 207, 205,
+  223, 230, 240, 247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 249, 242, 227, 210, 217, 213, 212, 216,
+  223, 230, 231, 232, 230, 226, 224, 225, 222, 216, 214, 215, 217, 210, 205, 202,
+  204, 206, 206, 205, 214, 215, 216, 219, 224, 227, 228, 227, 227, 230, 234, 226,
+  198, 164, 143, 138, 149, 166, 185, 188, 187, 198, 191, 166, 149, 156, 143, 140,
+  135, 136, 162, 173, 213, 217, 212, 209, 216, 212, 204, 206, 201, 198, 192, 188,
+  186, 186, 188, 190, 192, 196, 201, 205, 205, 205, 204, 205, 208, 206, 217, 210,
+  209, 214, 204, 208, 212, 226, 241, 251, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 246, 226, 205,
+  207, 206, 210, 217, 226, 231, 231, 230, 230, 227, 225, 226, 222, 215, 213, 213,
+  207, 206, 206, 207, 209, 211, 213, 212, 217, 219, 222, 226, 229, 230, 229, 228,
+  228, 230, 230, 223, 199, 168, 148, 142, 146, 156, 173, 178, 175, 181, 179, 162,
+  150, 160, 152, 153, 150, 149, 171, 177, 202, 210, 210, 211, 218, 217, 211, 217,
+  203, 200, 194, 190, 187, 188, 190, 191, 188, 192, 198, 203, 205, 206, 207, 208,
+  208, 204, 216, 211, 206, 206, 196, 203, 204, 222, 242, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 253, 229, 206, 207, 205, 207, 212, 223, 231, 234, 235, 230, 227, 226, 226,
+  222, 215, 211, 211, 199, 204, 208, 212, 213, 214, 216, 217, 216, 220, 224, 227,
+  227, 226, 224, 224, 226, 226, 223, 218, 200, 178, 160, 154, 139, 138, 150, 159,
+  154, 154, 155, 149, 132, 147, 147, 158, 161, 162, 183, 187, 202, 213, 215, 216,
+  219, 215, 211, 216, 209, 205, 199, 194, 190, 190, 192, 193, 188, 192, 197, 203,
+  204, 205, 206, 207, 206, 201, 216, 216, 211, 208, 199, 212, 199, 221, 243, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 236, 219, 216, 210, 202, 203, 213, 225, 234, 239,
+  232, 228, 227, 227, 222, 214, 208, 209, 201, 205, 211, 213, 212, 211, 214, 216,
+  219, 222, 224, 225, 223, 222, 223, 224, 225, 221, 218, 212, 202, 188, 174, 167,
+  144, 127, 129, 140, 138, 134, 135, 135, 125, 141, 145, 159, 164, 166, 185, 188,
+  199, 213, 217, 216, 218, 213, 208, 215, 214, 211, 204, 199, 194, 192, 193, 193,
+  194, 197, 200, 204, 203, 204, 204, 205, 210, 204, 218, 220, 213, 206, 197, 213,
+  207, 227, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 225, 218, 211, 211,
+  217, 226, 232, 235, 232, 228, 226, 226, 221, 213, 208, 210, 206, 210, 214, 215,
+  213, 213, 215, 218, 222, 221, 220, 218, 218, 219, 223, 225, 223, 220, 216, 209,
+  201, 192, 182, 173, 158, 129, 121, 132, 132, 128, 128, 128, 148, 159, 157, 167,
+  167, 164, 179, 179, 187, 202, 208, 210, 215, 211, 209, 217, 213, 211, 206, 201,
+  197, 194, 193, 192, 196, 199, 201, 204, 204, 204, 204, 206, 214, 207, 218, 216,
+  210, 204, 195, 207, 223, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254,
+  239, 237, 237, 240, 243, 242, 238, 233, 233, 228, 224, 223, 219, 212, 208, 211,
+  212, 214, 216, 217, 217, 216, 217, 218, 212, 207, 203, 201, 203, 208, 212, 214,
+  216, 216, 212, 204, 197, 192, 184, 176, 166, 134, 120, 128, 129, 127, 130, 130,
+  159, 168, 163, 169, 167, 163, 177, 176, 187, 196, 199, 200, 203, 199, 195, 201,
+  202, 202, 201, 200, 197, 195, 193, 191, 193, 196, 199, 203, 203, 205, 207, 210,
+  207, 204, 216, 213, 215, 223, 218, 226, 241, 249, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 251, 252, 254, 255, 255, 253, 244, 236, 233, 227, 222, 221,
+  217, 211, 210, 214, 217, 218, 219, 220, 219, 216, 210, 205, 193, 185, 180, 181,
+  189, 195, 196, 195, 198, 203, 202, 196, 193, 192, 189, 183, 171, 145, 133, 136,
+  132, 133, 141, 145, 160, 168, 162, 168, 169, 164, 176, 174, 187, 194, 189, 187,
+  190, 183, 176, 178, 185, 188, 191, 195, 196, 195, 193, 191, 192, 194, 197, 200,
+  200, 202, 205, 208, 201, 203, 215, 212, 225, 248, 248, 250, 250, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 252, 254, 254, 249, 241, 235,
+  232, 227, 221, 219, 216, 211, 212, 216, 220, 219, 219, 220, 217, 209, 197, 188,
+  181, 173, 169, 173, 184, 191, 188, 184, 180, 188, 192, 190, 190, 195, 196, 193,
+  179, 160, 152, 151, 142, 144, 159, 166, 170, 178, 170, 174, 171, 163, 172, 166,
+  177, 182, 177, 176, 181, 178, 170, 173, 171, 176, 183, 191, 194, 195, 193, 191,
+  194, 195, 198, 197, 197, 197, 199, 201, 206, 209, 218, 210, 223, 252, 251, 249,
+  253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 251, 249,
+  250, 250, 241, 231, 231, 226, 221, 220, 218, 213, 211, 213, 219, 216, 217, 217,
+  209, 196, 188, 189, 174, 163, 157, 162, 170, 173, 177, 183, 179, 186, 192, 193,
+  196, 200, 200, 197, 194, 174, 164, 164, 163, 170, 180, 178, 183, 180, 176, 174,
+  174, 174, 171, 168, 176, 180, 176, 176, 183, 179, 170, 170, 171, 173, 172, 180,
+  196, 196, 190, 192, 196, 196, 196, 197, 200, 204, 207, 209, 215, 217, 214, 217,
+  231, 247, 252, 247, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 251, 250, 250, 251, 241, 232, 231, 226, 222, 220, 215, 210, 209, 214,
+  229, 224, 220, 217, 210, 196, 188, 187, 177, 167, 145, 126, 128, 150, 171, 180,
+  182, 185, 186, 185, 187, 190, 188, 184, 177, 166, 169, 175, 171, 174, 180, 180,
+  178, 177, 174, 172, 171, 170, 168, 166, 166, 176, 177, 176, 180, 174, 166, 169,
+  168, 170, 167, 173, 191, 195, 190, 191, 196, 196, 195, 196, 198, 200, 204, 205,
+  210, 212, 215, 220, 234, 248, 251, 247, 253, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 254, 250, 251, 250, 244, 234, 229, 225, 221, 218,
+  212, 207, 208, 215, 229, 223, 216, 212, 207, 196, 187, 182, 177, 166, 130, 92,
+  89, 120, 149, 158, 177, 177, 174, 169, 168, 169, 167, 162, 152, 149, 161, 172,
+  167, 166, 168, 166, 159, 162, 164, 166, 165, 166, 168, 170, 168, 182, 185, 180,
+  176, 166, 161, 170, 167, 169, 165, 169, 186, 192, 189, 191, 197, 196, 195, 195,
+  196, 197, 200, 202, 205, 209, 215, 224, 239, 249, 252, 247, 253, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 251, 252, 246, 238,
+  227, 223, 219, 216, 209, 205, 208, 216, 223, 218, 213, 211, 209, 200, 188, 179,
+  167, 150, 114, 81, 78, 100, 119, 124, 141, 144, 142, 134, 127, 128, 130, 131,
+  136, 129, 136, 145, 141, 140, 140, 135, 131, 137, 143, 147, 148, 152, 159, 164,
+  168, 181, 180, 166, 153, 141, 142, 155, 161, 170, 171, 173, 184, 189, 190, 195,
+  198, 197, 196, 195, 195, 196, 199, 200, 204, 208, 215, 227, 240, 250, 252, 250,
+  254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  251, 252, 248, 242, 226, 221, 216, 213, 208, 205, 209, 217, 222, 220, 217, 215,
+  214, 205, 190, 178, 161, 138, 110, 98, 102, 110, 117, 121, 133, 143, 147, 139,
+  131, 133, 144, 152, 148, 129, 123, 126, 124, 126, 126, 119, 118, 122, 126, 127,
+  128, 132, 138, 143, 145, 155, 149, 130, 114, 104, 109, 128, 145, 165, 175, 176,
+  182, 187, 192, 201, 198, 197, 196, 195, 196, 197, 200, 201, 206, 209, 217, 230,
+  242, 250, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 253, 253, 250, 246, 232, 224, 215, 211, 208, 206, 207, 213,
+  215, 217, 215, 211, 205, 198, 184, 171, 173, 150, 133, 136, 145, 151, 156, 162,
+  164, 176, 182, 177, 172, 177, 191, 201, 162, 137, 125, 125, 124, 127, 127, 119,
+  121, 120, 117, 114, 111, 112, 115, 118, 113, 122, 116, 101, 90, 83, 89, 106,
+  134, 159, 172, 173, 180, 187, 194, 203, 195, 195, 194, 195, 196, 198, 202, 203,
+  210, 212, 220, 234, 245, 250, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 253, 249, 241, 229, 215, 209,
+  208, 206, 204, 206, 207, 210, 207, 200, 192, 188, 179, 170, 177, 174, 170, 170,
+  178, 189, 196, 199, 181, 187, 189, 184, 181, 186, 194, 199, 207, 188, 183, 186,
+  184, 185, 183, 175, 179, 174, 167, 163, 163, 165, 168, 169, 166, 177, 175, 169,
+  167, 161, 159, 169, 144, 164, 171, 169, 178, 188, 191, 196, 190, 190, 191, 192,
+  195, 199, 203, 205, 211, 215, 225, 241, 250, 252, 251, 254, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 251,
+  249, 233, 216, 209, 208, 205, 201, 201, 202, 207, 204, 195, 187, 187, 182, 177,
+  166, 183, 190, 184, 187, 203, 208, 203, 193, 193, 188, 181, 179, 182, 182, 179,
+  166, 156, 160, 169, 165, 162, 159, 151, 157, 151, 144, 142, 147, 154, 160, 162,
+  168, 181, 184, 185, 187, 178, 168, 171, 162, 175, 174, 168, 179, 188, 188, 187,
+  187, 187, 188, 191, 194, 198, 203, 206, 211, 216, 229, 247, 253, 252, 249, 251,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 253, 252, 252, 246, 233, 220, 216, 212, 205, 204, 209, 203, 204, 203, 198,
+  188, 181, 175, 175, 177, 182, 187, 193, 197, 201, 201, 201, 192, 190, 189, 189,
+  187, 180, 169, 161, 164, 161, 158, 156, 156, 157, 156, 156, 158, 154, 148, 151,
+  166, 180, 183, 177, 184, 193, 191, 186, 186, 180, 177, 185, 170, 171, 174, 178,
+  181, 186, 190, 192, 194, 185, 183, 191, 199, 202, 208, 214, 214, 226, 239, 245,
+  249, 251, 250, 247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 253, 251, 251, 252, 239, 226, 220, 213, 205, 204, 206,
+  203, 204, 203, 197, 189, 181, 176, 176, 181, 184, 190, 195, 199, 200, 199, 198,
+  189, 188, 187, 188, 189, 186, 179, 173, 163, 162, 161, 160, 159, 160, 161, 164,
+  160, 159, 156, 158, 170, 182, 185, 180, 180, 189, 188, 184, 185, 179, 176, 183,
+  172, 172, 175, 178, 181, 186, 191, 194, 189, 186, 189, 197, 202, 202, 207, 212,
+  212, 227, 240, 247, 249, 252, 252, 249, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 251, 249, 252, 243, 233, 224,
+  215, 207, 206, 207, 204, 204, 201, 196, 189, 183, 178, 177, 181, 185, 191, 196,
+  200, 199, 197, 196, 185, 181, 177, 175, 175, 173, 168, 164, 165, 165, 165, 165,
+  164, 165, 168, 171, 163, 167, 169, 171, 178, 188, 190, 188, 178, 188, 188, 185,
+  187, 181, 176, 182, 175, 175, 176, 178, 181, 186, 193, 196, 187, 190, 197, 202,
+  201, 198, 203, 210, 226, 238, 249, 253, 253, 253, 250, 248, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 250, 250,
+  251, 246, 237, 227, 216, 209, 208, 209, 204, 203, 200, 195, 189, 185, 181, 179,
+  179, 183, 190, 197, 199, 198, 197, 194, 185, 179, 172, 168, 167, 165, 162, 159,
+  159, 156, 154, 154, 156, 158, 158, 158, 159, 166, 170, 169, 170, 174, 175, 174,
+  182, 191, 190, 188, 190, 183, 175, 180, 177, 176, 177, 178, 181, 187, 194, 198,
+  190, 195, 200, 200, 196, 195, 203, 213, 234, 244, 252, 252, 251, 253, 252, 251,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 253, 251, 250, 251, 251, 243, 230, 216, 207, 205, 206, 204, 202, 198, 195,
+  190, 187, 184, 182, 181, 184, 190, 194, 197, 195, 193, 191, 186, 180, 172, 167,
+  166, 165, 162, 159, 152, 145, 138, 139, 144, 146, 142, 137, 151, 161, 167, 166,
+  162, 164, 167, 167, 184, 191, 190, 187, 189, 181, 172, 175, 178, 177, 177, 178,
+  181, 187, 194, 198, 194, 198, 200, 197, 195, 200, 212, 222, 235, 244, 248, 248,
+  247, 252, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 253, 251, 250, 254, 254, 250, 234, 216, 207, 204, 204,
+  204, 201, 197, 194, 191, 190, 186, 184, 186, 189, 192, 193, 194, 194, 191, 189,
+  183, 176, 165, 157, 151, 145, 137, 131, 123, 115, 107, 107, 111, 112, 107, 102,
+  114, 127, 139, 144, 148, 157, 165, 168, 181, 188, 184, 181, 184, 178, 169, 171,
+  178, 177, 178, 179, 182, 187, 193, 196, 195, 198, 198, 196, 200, 209, 218, 222,
+  243, 251, 253, 254, 250, 250, 251, 249, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 252, 252, 250, 254, 252, 237,
+  219, 211, 210, 211, 205, 201, 196, 194, 192, 191, 188, 186, 186, 188, 189, 193,
+  195, 196, 197, 197, 189, 182, 173, 164, 156, 146, 135, 127, 109, 106, 103, 100,
+  98, 97, 96, 96, 101, 114, 126, 134, 141, 153, 161, 165, 179, 184, 179, 177,
+  182, 178, 170, 173, 176, 176, 178, 180, 182, 186, 191, 193, 193, 195, 196, 198,
+  205, 211, 208, 200, 223, 235, 247, 250, 250, 250, 250, 246, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 253,
+  243, 252, 252, 239, 223, 218, 219, 220, 206, 201, 195, 193, 193, 192, 190, 188,
+  183, 184, 188, 193, 197, 203, 206, 208, 204, 200, 196, 194, 190, 185, 175, 169,
+  157, 160, 160, 156, 148, 145, 149, 154, 162, 170, 175, 175, 176, 180, 183, 182,
+  178, 182, 178, 176, 183, 180, 175, 179, 175, 176, 177, 180, 183, 186, 190, 192,
+  192, 194, 196, 200, 207, 207, 190, 173, 175, 194, 217, 233, 244, 252, 255, 254,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 254, 249, 254, 248, 243, 214, 225, 220, 214, 210, 207, 198, 191,
+  191, 198, 196, 188, 199, 194, 189, 190, 196, 203, 208, 210, 216, 212, 205, 198,
+  196, 193, 182, 172, 168, 173, 171, 161, 153, 157, 165, 170, 180, 180, 179, 179,
+  180, 183, 186, 188, 185, 186, 184, 182, 182, 182, 176, 168, 181, 182, 182, 182,
+  185, 188, 192, 194, 184, 201, 198, 199, 218, 212, 182, 168, 179, 171, 198, 227,
+  249, 254, 242, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 249, 254, 248, 243, 214, 224, 218, 212,
+  215, 213, 204, 195, 193, 197, 196, 191, 191, 188, 187, 191, 200, 206, 209, 209,
+  204, 204, 202, 199, 198, 199, 192, 184, 175, 176, 175, 171, 166, 165, 171, 179,
+  180, 179, 179, 179, 180, 182, 183, 184, 184, 186, 186, 184, 185, 186, 180, 173,
+  181, 181, 181, 182, 184, 188, 191, 193, 194, 204, 194, 189, 204, 202, 179, 168,
+  176, 166, 180, 198, 225, 248, 246, 255, 254, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 254, 247, 244,
+  214, 221, 214, 208, 220, 219, 212, 203, 197, 197, 197, 194, 187, 187, 188, 194,
+  202, 207, 206, 204, 202, 205, 205, 201, 197, 195, 189, 183, 177, 171, 170, 173,
+  171, 166, 170, 179, 173, 174, 175, 176, 178, 180, 180, 181, 181, 184, 185, 184,
+  185, 187, 184, 177, 186, 186, 186, 187, 190, 193, 196, 198, 202, 206, 195, 188,
+  200, 199, 181, 168, 175, 167, 171, 172, 205, 249, 254, 253, 254, 254, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  250, 253, 247, 245, 214, 219, 210, 205, 220, 221, 219, 213, 205, 200, 197, 196,
+  192, 191, 190, 194, 200, 202, 200, 197, 199, 204, 205, 199, 192, 190, 185, 178,
+  177, 166, 165, 173, 173, 163, 163, 173, 165, 167, 170, 173, 176, 178, 178, 179,
+  178, 182, 183, 182, 183, 185, 183, 178, 188, 188, 188, 190, 192, 195, 197, 199,
+  196, 199, 195, 193, 201, 202, 185, 166, 174, 173, 173, 162, 193, 247, 254, 244,
+  254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 251, 253, 247, 247, 216, 217, 207, 203, 215, 218, 220, 220,
+  213, 205, 199, 197, 196, 192, 188, 188, 192, 194, 193, 191, 185, 192, 194, 190,
+  186, 185, 182, 178, 176, 166, 165, 172, 170, 161, 160, 169, 167, 168, 170, 172,
+  174, 176, 175, 175, 178, 183, 185, 183, 183, 184, 182, 178, 183, 184, 184, 185,
+  187, 189, 190, 191, 188, 188, 189, 191, 198, 204, 192, 171, 180, 180, 178, 157,
+  180, 234, 246, 242, 254, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 251, 252, 247, 249, 218, 217, 206, 203,
+  208, 210, 214, 220, 218, 210, 204, 202, 197, 192, 185, 183, 186, 189, 189, 187,
+  182, 184, 183, 178, 175, 174, 170, 165, 166, 161, 160, 163, 161, 154, 155, 163,
+  171, 172, 172, 172, 172, 172, 171, 171, 179, 185, 188, 186, 185, 186, 185, 182,
+  184, 185, 185, 186, 186, 187, 187, 187, 192, 185, 187, 190, 195, 207, 204, 182,
+  188, 187, 186, 161, 172, 217, 240, 254, 253, 254, 254, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 251, 247, 251,
+  220, 218, 206, 204, 204, 202, 205, 214, 218, 214, 210, 209, 205, 199, 191, 188,
+  189, 189, 186, 183, 180, 177, 172, 166, 164, 163, 157, 150, 153, 156, 157, 155,
+  151, 150, 155, 160, 165, 164, 164, 163, 164, 166, 167, 169, 176, 183, 188, 186,
+  185, 187, 188, 186, 187, 187, 187, 187, 186, 186, 185, 184, 188, 180, 186, 192,
+  193, 205, 203, 178, 173, 177, 185, 168, 167, 197, 225, 253, 253, 253, 254, 254,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  251, 250, 247, 252, 222, 219, 206, 205, 202, 197, 198, 209, 216, 216, 214, 215,
+  216, 210, 202, 197, 195, 191, 185, 180, 168, 164, 159, 156, 159, 163, 159, 153,
+  150, 158, 162, 156, 151, 155, 162, 167, 153, 153, 153, 154, 157, 162, 166, 169,
+  171, 179, 184, 184, 184, 187, 188, 187, 186, 185, 184, 184, 183, 181, 180, 179,
+  174, 169, 182, 192, 191, 198, 189, 157, 145, 154, 177, 170, 162, 178, 204, 246,
+  252, 253, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 254, 253, 252, 252, 251, 253, 242, 221, 214, 212, 205, 201, 200, 201, 207,
+  209, 209, 212, 217, 219, 214, 208, 205, 204, 201, 196, 191, 175, 172, 169, 167,
+  166, 164, 160, 157, 155, 160, 165, 170, 173, 171, 167, 165, 149, 158, 165, 163,
+  162, 164, 167, 168, 181, 182, 185, 187, 188, 188, 186, 185, 184, 183, 182, 180,
+  178, 175, 172, 171, 171, 182, 176, 184, 192, 189, 182, 154, 117, 122, 140, 174,
+  179, 190, 186, 233, 248, 254, 250, 247, 253, 253, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 254, 253, 252, 252, 251, 253, 243, 222, 215, 213, 205,
+  199, 197, 197, 201, 202, 201, 203, 208, 211, 209, 205, 204, 205, 203, 198, 193,
+  182, 179, 175, 173, 172, 172, 169, 167, 168, 170, 171, 174, 174, 175, 172, 171,
+  161, 169, 172, 169, 166, 169, 173, 175, 184, 185, 187, 188, 187, 186, 184, 182,
+  183, 182, 180, 178, 176, 174, 173, 172, 171, 182, 176, 183, 192, 191, 188, 162,
+  123, 102, 99, 135, 158, 185, 179, 212, 247, 254, 253, 248, 255, 255, 254, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 253, 252, 251, 251, 253, 244,
+  224, 217, 214, 204, 201, 198, 197, 200, 199, 198, 199, 203, 208, 208, 207, 208,
+  210, 209, 206, 204, 192, 189, 184, 183, 182, 181, 179, 178, 180, 180, 178, 177,
+  177, 177, 178, 179, 174, 180, 180, 174, 171, 175, 179, 180, 186, 186, 187, 187,
+  185, 183, 181, 178, 180, 178, 175, 173, 172, 172, 173, 174, 171, 181, 174, 182,
+  190, 191, 192, 172, 145, 102, 74, 99, 137, 186, 180, 192, 240, 253, 253, 248,
+  255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 253, 252,
+  251, 250, 253, 244, 226, 218, 214, 204, 202, 199, 197, 199, 198, 196, 197, 202,
+  207, 206, 205, 206, 208, 209, 209, 209, 201, 197, 192, 189, 186, 186, 184, 182,
+  182, 181, 179, 178, 178, 179, 180, 181, 178, 182, 182, 177, 175, 178, 181, 180,
+  182, 182, 183, 182, 181, 179, 177, 176, 177, 175, 171, 169, 168, 170, 173, 175,
+  172, 180, 173, 180, 186, 187, 191, 177, 162, 123, 86, 87, 116, 184, 186, 182,
+  229, 247, 251, 248, 252, 253, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254,
+  254, 254, 253, 252, 252, 250, 251, 243, 225, 219, 215, 204, 198, 194, 192, 193,
+  192, 191, 193, 198, 201, 200, 197, 195, 196, 198, 201, 204, 204, 200, 195, 191,
+  189, 186, 184, 181, 180, 181, 182, 181, 181, 181, 181, 181, 176, 181, 183, 180,
+  179, 181, 181, 178, 175, 175, 176, 176, 176, 175, 174, 174, 174, 172, 168, 165,
+  165, 168, 172, 174, 171, 179, 171, 179, 182, 179, 186, 175, 156, 140, 113, 91,
+  96, 175, 189, 179, 219, 243, 251, 247, 251, 253, 251, 252, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 254, 254, 254, 254, 253, 252, 253, 249, 248, 240, 223, 219, 215, 204,
+  200, 196, 193, 193, 192, 190, 193, 198, 198, 197, 194, 192, 191, 192, 196, 198,
+  202, 199, 195, 192, 190, 187, 182, 179, 182, 182, 183, 185, 186, 184, 183, 182,
+  176, 181, 183, 181, 181, 183, 180, 176, 170, 170, 171, 171, 171, 172, 172, 172,
+  172, 169, 166, 163, 163, 166, 169, 172, 167, 175, 170, 179, 180, 173, 180, 171,
+  147, 142, 131, 107, 95, 168, 192, 185, 212, 242, 253, 250, 253, 255, 253, 254,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 253, 252, 253, 248, 246, 236,
+  220, 217, 215, 205, 204, 199, 195, 194, 191, 189, 191, 195, 192, 194, 195, 194,
+  192, 191, 193, 194, 198, 196, 194, 194, 192, 190, 184, 181, 185, 185, 185, 185,
+  184, 182, 181, 180, 179, 181, 181, 177, 177, 178, 177, 172, 169, 169, 170, 169,
+  169, 170, 170, 170, 170, 167, 165, 163, 163, 164, 167, 169, 161, 171, 169, 180,
+  180, 171, 176, 169, 155, 137, 134, 126, 110, 168, 190, 194, 206, 239, 254, 250,
+  253, 255, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 253, 252,
+  254, 247, 244, 234, 218, 217, 215, 205, 203, 196, 191, 189, 186, 182, 183, 188,
+  180, 186, 191, 192, 190, 187, 186, 186, 193, 193, 194, 195, 195, 192, 187, 183,
+  188, 186, 184, 181, 180, 179, 178, 178, 182, 182, 177, 171, 170, 173, 172, 168,
+  171, 170, 170, 169, 169, 169, 169, 168, 169, 166, 164, 163, 162, 163, 165, 166,
+  156, 168, 169, 182, 181, 170, 176, 169, 167, 129, 124, 137, 123, 166, 184, 194,
+  200, 235, 252, 248, 250, 253, 251, 251, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 253, 254,
+  254, 254, 253, 252, 246, 254, 234, 194, 208, 218, 205, 212, 204, 197, 189, 187,
+  190, 189, 183, 177, 182, 182, 180, 182, 183, 183, 180, 178, 181, 183, 184, 182,
+  180, 177, 177, 178, 177, 176, 176, 177, 177, 176, 173, 170, 176, 171, 169, 171,
+  171, 166, 167, 172, 169, 168, 167, 165, 164, 163, 162, 162, 169, 168, 167, 167,
+  167, 166, 164, 161, 163, 172, 174, 169, 169, 176, 174, 164, 160, 142, 119, 143,
+  123, 97, 200, 203, 215, 245, 254, 249, 251, 254, 252, 250, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254,
+  252, 253, 254, 254, 254, 254, 252, 251, 243, 253, 224, 189, 204, 218, 208, 212,
+  199, 194, 188, 186, 186, 184, 180, 175, 178, 177, 175, 176, 179, 181, 182, 182,
+  180, 181, 182, 180, 177, 175, 174, 175, 175, 174, 174, 174, 175, 174, 171, 168,
+  171, 166, 165, 167, 166, 162, 162, 166, 166, 165, 165, 164, 164, 164, 165, 165,
+  168, 166, 164, 163, 164, 164, 163, 161, 163, 171, 173, 167, 168, 174, 173, 166,
+  150, 144, 124, 133, 123, 99, 183, 208, 219, 246, 254, 250, 251, 254, 252, 251,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254,
+  254, 254, 254, 254, 252, 253, 254, 254, 254, 254, 252, 251, 246, 249, 212, 187,
+  198, 215, 208, 209, 196, 194, 191, 187, 184, 180, 177, 176, 177, 174, 171, 171,
+  174, 177, 180, 181, 178, 180, 180, 178, 175, 172, 171, 171, 173, 172, 171, 171,
+  172, 171, 169, 167, 169, 166, 165, 166, 165, 161, 160, 162, 163, 163, 163, 163,
+  164, 166, 167, 168, 167, 164, 160, 159, 160, 161, 162, 161, 162, 168, 170, 166,
+  167, 173, 173, 167, 152, 154, 136, 126, 130, 96, 144, 206, 224, 249, 254, 250,
+  253, 254, 253, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 254, 254, 254, 254, 254, 254, 253, 253, 254, 254, 254, 254, 252, 251,
+  251, 249, 202, 189, 191, 209, 207, 206, 195, 196, 195, 191, 184, 179, 177, 177,
+  176, 173, 170, 169, 171, 173, 173, 174, 177, 179, 179, 177, 173, 170, 170, 170,
+  172, 170, 169, 169, 170, 170, 168, 166, 166, 165, 164, 164, 162, 159, 158, 158,
+  162, 162, 162, 163, 164, 165, 167, 168, 166, 162, 158, 156, 157, 160, 162, 162,
+  162, 166, 168, 165, 166, 171, 171, 168, 157, 151, 136, 125, 145, 98, 114, 209,
+  228, 250, 254, 251, 253, 255, 252, 254, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 254, 254, 253, 254, 254, 254,
+  254, 254, 252, 251, 251, 248, 195, 194, 184, 201, 208, 208, 194, 196, 196, 191,
+  182, 176, 174, 175, 169, 168, 168, 169, 171, 171, 170, 169, 176, 177, 178, 176,
+  173, 170, 169, 170, 171, 169, 168, 168, 169, 169, 168, 167, 162, 162, 161, 158,
+  157, 157, 156, 155, 163, 163, 162, 162, 162, 163, 163, 164, 165, 161, 156, 154,
+  156, 160, 162, 164, 162, 165, 167, 166, 167, 169, 169, 167, 158, 138, 126, 125,
+  157, 103, 106, 217, 231, 250, 253, 250, 252, 254, 250, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
+  253, 254, 254, 254, 254, 253, 252, 251, 247, 246, 192, 201, 176, 191, 207, 209,
+  191, 193, 193, 188, 180, 173, 170, 169, 162, 162, 164, 167, 171, 172, 171, 170,
+  173, 175, 176, 174, 172, 170, 169, 170, 170, 168, 166, 166, 167, 168, 168, 167,
+  165, 166, 164, 160, 159, 162, 163, 161, 165, 164, 163, 162, 161, 161, 161, 162,
+  162, 158, 154, 153, 155, 159, 162, 163, 163, 165, 168, 169, 170, 169, 167, 165,
+  166, 139, 124, 127, 153, 103, 118, 218, 235, 250, 253, 249, 253, 253, 251, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 254, 254,
+  254, 254, 254, 254, 253, 254, 254, 254, 254, 253, 252, 251, 247, 250, 194, 208,
+  167, 176, 197, 203, 192, 193, 192, 188, 181, 174, 169, 167, 164, 163, 163, 165,
+  169, 172, 172, 172, 169, 171, 172, 172, 170, 168, 168, 169, 167, 165, 163, 163,
+  164, 166, 166, 165, 165, 166, 163, 157, 157, 163, 166, 164, 164, 163, 162, 162,
+  161, 161, 162, 162, 158, 155, 152, 151, 154, 157, 159, 160, 164, 166, 170, 173,
+  172, 169, 165, 163, 169, 151, 136, 129, 139, 113, 158, 228, 241, 252, 252, 250,
+  255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 254,
+  254, 254, 254, 254, 254, 254, 254, 254, 253, 254, 254, 254, 254, 253, 252, 250,
+  251, 253, 198, 213, 159, 163, 187, 194, 196, 195, 193, 189, 184, 177, 171, 167,
+  169, 166, 163, 163, 165, 168, 170, 170, 166, 168, 170, 169, 168, 167, 167, 168,
+  165, 163, 161, 160, 162, 164, 164, 164, 156, 158, 154, 147, 148, 155, 160, 158,
+  163, 162, 161, 161, 161, 162, 163, 163, 154, 152, 150, 150, 153, 156, 157, 158,
+  165, 167, 171, 175, 174, 169, 163, 161, 156, 152, 141, 129, 131, 130, 205, 254,
+  244, 255, 254, 252, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254,
+  254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 253, 253, 255, 255,
+  255, 255, 253, 253, 248, 253, 222, 214, 129, 167, 183, 182, 182, 193, 185, 178,
+  184, 175, 164, 174, 164, 165, 164, 161, 157, 157, 160, 164, 165, 170, 172, 170,
+  166, 165, 166, 166, 165, 158, 154, 156, 156, 154, 155, 157, 151, 152, 154, 155,
+  155, 155, 157, 159, 158, 158, 157, 157, 154, 151, 152, 156, 149, 151, 153, 153,
+  153, 155, 161, 166, 173, 164, 162, 169, 171, 164, 161, 164, 155, 150, 143, 131,
+  137, 221, 248, 246, 253, 254, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255,
+  255, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
+  253, 253, 255, 255, 255, 254, 253, 252, 251, 250, 234, 207, 117, 158, 182, 181,
+  182, 188, 185, 181, 181, 174, 168, 171, 162, 163, 162, 159, 156, 156, 159, 162,
+  158, 161, 163, 164, 164, 167, 170, 171, 166, 162, 160, 160, 157, 153, 152, 156,
+  152, 153, 155, 156, 155, 156, 157, 159, 155, 155, 154, 154, 153, 151, 150, 152,
+  147, 150, 152, 152, 153, 156, 161, 166, 167, 162, 161, 166, 168, 166, 164, 164,
+  156, 156, 137, 139, 134, 232, 246, 247, 254, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
+  254, 254, 254, 254, 253, 253, 255, 255, 254, 254, 252, 252, 251, 242, 251, 212,
+  106, 155, 175, 177, 181, 179, 185, 186, 178, 174, 173, 167, 161, 161, 160, 158,
+  155, 155, 157, 159, 165, 163, 161, 161, 163, 163, 163, 163, 162, 162, 163, 164,
+  159, 153, 153, 158, 153, 155, 157, 157, 156, 155, 157, 159, 151, 151, 151, 151,
+  152, 151, 149, 147, 146, 149, 151, 152, 153, 157, 161, 165, 163, 165, 164, 163,
+  164, 166, 164, 160, 155, 160, 134, 144, 138, 243, 246, 248, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254,
+  254, 254, 254, 254, 254, 254, 254, 254, 254, 255, 255, 255, 254, 253, 251, 251,
+  246, 239, 251, 231, 99, 163, 164, 169, 178, 172, 184, 189, 174, 173, 177, 165,
+  160, 159, 158, 156, 155, 155, 155, 156, 166, 161, 159, 162, 164, 162, 158, 156,
+  153, 156, 162, 165, 160, 155, 156, 162, 155, 157, 158, 157, 156, 155, 156, 157,
+  147, 149, 149, 149, 151, 152, 149, 143, 147, 149, 150, 152, 154, 158, 161, 163,
+  165, 171, 170, 162, 160, 164, 162, 153, 152, 156, 137, 144, 159, 248, 251, 251,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 254, 255, 255, 255,
+  253, 252, 250, 250, 246, 242, 251, 243, 93, 168, 154, 166, 173, 167, 180, 186,
+  172, 172, 176, 164, 160, 159, 157, 156, 156, 156, 155, 155, 152, 149, 151, 160,
+  165, 162, 158, 157, 150, 153, 160, 163, 160, 154, 156, 161, 157, 158, 158, 157,
+  155, 153, 154, 155, 145, 149, 151, 149, 150, 153, 150, 144, 149, 150, 151, 153,
+  156, 159, 161, 162, 164, 171, 170, 162, 159, 163, 161, 154, 149, 145, 146, 144,
+  210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254,
+  254, 255, 255, 255, 253, 252, 249, 249, 251, 245, 237, 240, 105, 165, 152, 165,
+  167, 167, 174, 178, 172, 171, 172, 167, 161, 160, 158, 158, 158, 158, 157, 155,
+  150, 146, 149, 158, 160, 153, 149, 152, 153, 154, 158, 162, 159, 154, 154, 158,
+  157, 158, 158, 156, 153, 151, 152, 153, 142, 150, 153, 148, 147, 152, 186, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 251, 245, 235, 239,
+  144, 162, 158, 158, 161, 169, 169, 169, 173, 169, 166, 170, 163, 161, 159, 160,
+  161, 161, 158, 156, 157, 151, 152, 157, 155, 146, 145, 152, 156, 154, 156, 161,
+  161, 190, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  247, 250, 255, 243, 252, 239, 248, 247, 251, 234, 240, 249, 247, 255, 255, 246,
+  253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 254, 254, 251, 252, 247, 249, 248, 244, 250, 248, 222, 250, 247, 249, 248,
+  246, 253, 253, 250, 253, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 254, 250, 250, 250, 250, 252, 252, 252, 254,
+  255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 252, 252, 252, 252,
+  255, 255, 253, 252, 252, 250, 247, 246, 248, 242, 232, 229, 188, 222, 217, 183,
+  194, 225, 244, 244, 238, 230, 233, 245, 247, 249, 251, 252, 254, 254, 255, 255,
+  254, 252, 254, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 252, 252, 252, 250, 250, 250,
+  250, 250, 250, 250, 252, 252, 252, 252, 250, 250, 250, 250, 248, 248, 248, 248,
+  246, 246, 246, 246, 248, 248, 248, 245, 245, 242, 240, 239, 225, 223, 206, 189,
+  107, 154, 166, 143, 100, 166, 215, 223, 218, 202, 205, 231, 235, 236, 240, 244,
+  248, 249, 250, 250, 250, 250, 250, 250, 252, 252, 254, 254, 254, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 251,
+  252, 245, 251, 238, 251, 237, 243, 234, 230, 237, 242, 236, 235, 235, 241, 242,
+  239, 221, 224, 229, 203, 210, 239, 228, 233, 230, 239, 241, 222, 217, 218, 180,
+  192, 146, 148, 122, 131, 161, 135, 153, 112, 142, 166, 149, 122, 130, 119, 153,
+  177, 197, 183, 206, 240, 231, 240, 237, 239, 242, 234, 248, 242, 240, 236, 248,
+  249, 246, 247, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255,
+  254, 253, 252, 252, 253, 244, 247, 234, 249, 241, 243, 223, 214, 204, 195, 185,
+  186, 196, 204, 201, 183, 165, 150, 154, 159, 155, 149, 137, 109, 129, 167, 174,
+  146, 132, 131, 124, 102, 102, 119, 113, 92, 140, 138, 161, 139, 130, 105, 95,
+  84, 102, 86, 127, 109, 129, 121, 123, 123, 157, 177, 225, 210, 214, 183, 142,
+  146, 221, 246, 239, 248, 249, 253, 253, 254, 248, 247, 248, 254, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  251, 251, 253, 253, 253, 252, 251, 251, 250, 244, 247, 237, 245, 244, 238, 205,
+  213, 188, 164, 153, 150, 166, 167, 155, 161, 153, 141, 151, 176, 159, 124, 119,
+  75, 116, 175, 164, 143, 146, 136, 145, 111, 129, 132, 128, 69, 108, 126, 131,
+  141, 117, 53, 56, 53, 86, 65, 120, 108, 133, 135, 120, 72, 101, 80, 131,
+  118, 168, 148, 98, 71, 120, 234, 234, 235, 242, 246, 244, 245, 249, 253, 252,
+  252, 253, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 254, 254, 251, 251, 253, 254, 253, 252, 251, 251, 246, 243, 248, 238,
+  233, 240, 234, 196, 204, 176, 152, 150, 137, 158, 157, 141, 131, 128, 143, 158,
+  164, 142, 109, 108, 67, 102, 150, 114, 112, 144, 117, 121, 125, 124, 108, 105,
+  58, 83, 123, 103, 113, 115, 52, 62, 44, 77, 56, 110, 93, 124, 139, 132,
+  83, 82, 43, 51, 64, 140, 140, 150, 86, 32, 198, 238, 236, 241, 239, 236,
+  241, 247, 250, 247, 244, 248, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 254, 254, 254, 252, 252, 254, 254, 255, 255, 254, 252,
+  245, 242, 245, 233, 208, 225, 231, 203, 187, 161, 142, 150, 130, 163, 169, 160,
+  157, 131, 163, 174, 152, 141, 125, 116, 95, 101, 131, 99, 97, 117, 90, 104,
+  122, 96, 83, 78, 65, 62, 118, 89, 101, 124, 72, 80, 49, 75, 50, 81,
+  111, 137, 138, 135, 107, 86, 89, 75, 76, 112, 121, 141, 101, 39, 150, 193,
+  232, 236, 238, 239, 244, 244, 242, 237, 245, 250, 252, 252, 251, 251, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 252, 252, 255, 255,
+  255, 255, 254, 252, 252, 241, 239, 225, 184, 202, 218, 204, 185, 160, 144, 155,
+  124, 167, 184, 180, 174, 130, 160, 158, 135, 147, 139, 121, 103, 85, 109, 106,
+  85, 70, 68, 108, 134, 104, 97, 75, 70, 43, 93, 70, 114, 125, 78, 90,
+  65, 89, 72, 70, 123, 134, 125, 116, 87, 61, 97, 91, 83, 96, 129, 107,
+  100, 98, 97, 118, 167, 181, 201, 224, 235, 236, 239, 247, 253, 255, 255, 253,
+  250, 251, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254,
+  251, 251, 253, 253, 255, 254, 253, 250, 255, 241, 240, 234, 176, 182, 188, 172,
+  165, 144, 135, 154, 118, 166, 184, 179, 173, 147, 169, 153, 144, 158, 136, 127,
+  85, 75, 97, 106, 76, 64, 99, 138, 131, 112, 98, 64, 60, 51, 82, 72,
+  130, 115, 76, 98, 80, 97, 100, 84, 129, 122, 123, 130, 99, 99, 117, 127,
+  86, 123, 145, 133, 125, 111, 69, 81, 92, 109, 142, 170, 179, 183, 205, 235,
+  239, 247, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254,
+  254, 255, 255, 254, 251, 249, 252, 252, 254, 253, 252, 249, 253, 241, 245, 244,
+  179, 167, 156, 131, 116, 102, 102, 136, 104, 157, 172, 166, 145, 153, 174, 143,
+  138, 139, 94, 99, 61, 69, 85, 86, 61, 83, 146, 160, 156, 142, 107, 63,
+  56, 76, 86, 81, 136, 104, 76, 103, 84, 87, 107, 90, 126, 98, 100, 122,
+  88, 118, 100, 121, 90, 143, 110, 159, 141, 64, 47, 61, 70, 78, 102, 118,
+  109, 106, 137, 185, 197, 214, 231, 247, 251, 252, 246, 243, 254, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 248, 253, 255, 255, 255, 255, 252, 249,
+  250, 237, 235, 228, 195, 167, 148, 123, 96, 74, 100, 128, 79, 145, 146, 122,
+  145, 159, 150, 114, 115, 89, 78, 61, 61, 63, 47, 81, 99, 134, 146, 147,
+  140, 131, 83, 49, 54, 80, 67, 127, 170, 99, 117, 100, 63, 84, 77, 57,
+  109, 120, 101, 114, 103, 117, 130, 138, 99, 121, 115, 147, 116, 80, 56, 40,
+  55, 44, 67, 100, 93, 106, 102, 127, 118, 123, 163, 211, 244, 236, 251, 254,
+  255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 254, 255, 255, 255, 255, 255, 255, 253, 255, 255, 252,
+  249, 247, 245, 242, 246, 230, 223, 204, 176, 162, 138, 93, 63, 69, 59, 80,
+  78, 104, 87, 140, 145, 122, 90, 61, 48, 42, 52, 28, 57, 51, 82, 143,
+  160, 145, 127, 143, 125, 136, 112, 80, 98, 129, 127, 172, 126, 120, 138, 89,
+  33, 26, 21, 49, 102, 118, 113, 127, 120, 114, 114, 108, 103, 132, 123, 132,
+  93, 66, 49, 35, 44, 30, 36, 59, 66, 108, 119, 141, 130, 113, 113, 140,
+  179, 232, 248, 236, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 255, 255, 254, 253,
+  251, 249, 248, 248, 249, 248, 250, 250, 228, 219, 208, 181, 159, 163, 136, 76,
+  44, 58, 39, 56, 71, 80, 66, 145, 129, 98, 65, 60, 34, 48, 61, 20,
+  63, 46, 97, 133, 141, 107, 82, 110, 106, 139, 145, 114, 136, 150, 148, 167,
+  117, 128, 114, 49, 18, 11, 4, 59, 120, 133, 135, 136, 133, 110, 114, 103,
+  118, 138, 123, 114, 82, 67, 50, 29, 35, 34, 44, 57, 59, 107, 124, 146,
+  121, 100, 100, 107, 128, 235, 248, 239, 249, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 254, 254, 254,
+  255, 255, 254, 251, 251, 246, 244, 246, 248, 246, 245, 244, 207, 203, 195, 170,
+  146, 150, 130, 81, 48, 38, 44, 69, 54, 82, 96, 112, 81, 95, 62, 59,
+  34, 53, 57, 23, 78, 59, 103, 76, 82, 73, 59, 75, 80, 119, 148, 125,
+  146, 129, 125, 127, 134, 107, 60, 8, 7, 24, 42, 102, 150, 154, 150, 131,
+  127, 104, 130, 130, 142, 135, 114, 103, 95, 87, 65, 41, 38, 46, 65, 71,
+  51, 84, 110, 149, 130, 86, 101, 97, 111, 214, 243, 247, 248, 253, 254, 253,
+  254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  253, 254, 254, 254, 254, 253, 252, 247, 248, 242, 234, 234, 231, 223, 216, 213,
+  192, 183, 182, 161, 125, 112, 102, 77, 60, 21, 33, 71, 49, 76, 105, 85,
+  55, 121, 69, 36, 22, 38, 46, 35, 62, 50, 85, 43, 53, 61, 47, 48,
+  60, 92, 126, 125, 144, 116, 120, 123, 111, 59, 22, 1, 0, 32, 92, 154,
+  152, 157, 151, 128, 122, 105, 142, 152, 156, 128, 108, 98, 101, 93, 82, 77,
+  65, 58, 68, 73, 46, 67, 97, 149, 163, 86, 101, 83, 91, 150, 206, 245,
+  251, 253, 252, 249, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 254, 253, 254, 254, 254, 254, 251, 250, 246, 237, 220, 209, 207,
+  205, 194, 186, 182, 180, 164, 159, 141, 95, 69, 63, 54, 60, 26, 14, 56,
+  68, 64, 80, 87, 40, 127, 75, 32, 33, 37, 55, 52, 57, 38, 51, 33,
+  38, 43, 29, 34, 56, 81, 99, 114, 126, 107, 117, 120, 60, 9, 0, 20,
+  28, 72, 138, 170, 131, 143, 141, 135, 129, 120, 148, 157, 156, 127, 122, 100,
+  96, 85, 90, 108, 99, 80, 84, 97, 74, 83, 90, 125, 151, 101, 131, 110,
+  90, 92, 167, 237, 245, 251, 251, 248, 250, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 253, 254, 252, 252, 252, 249, 248, 244,
+  222, 197, 181, 180, 180, 172, 167, 166, 165, 143, 133, 115, 74, 52, 45, 33,
+  41, 34, 19, 53, 77, 59, 69, 82, 30, 91, 50, 24, 41, 36, 66, 44,
+  74, 57, 41, 42, 36, 40, 34, 41, 56, 85, 84, 101, 95, 87, 86, 73,
+  23, 0, 7, 46, 80, 121, 149, 138, 111, 123, 113, 127, 125, 132, 149, 155,
+  156, 138, 147, 113, 107, 94, 92, 102, 100, 91, 100, 112, 89, 97, 88, 104,
+  130, 123, 146, 139, 101, 83, 132, 188, 222, 240, 251, 248, 247, 253, 254, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 252, 250,
+  250, 248, 247, 240, 225, 196, 173, 168, 163, 156, 149, 151, 151, 128, 114, 95,
+  65, 56, 48, 29, 18, 34, 40, 62, 68, 63, 80, 60, 55, 70, 28, 17,
+  42, 33, 80, 43, 57, 60, 34, 41, 29, 41, 38, 32, 48, 87, 78, 92,
+  73, 70, 53, 20, 7, 25, 40, 69, 103, 128, 126, 97, 102, 106, 82, 103,
+  105, 130, 145, 153, 159, 149, 167, 129, 129, 116, 93, 77, 73, 78, 90, 89,
+  62, 84, 91, 111, 146, 141, 112, 120, 100, 103, 101, 107, 198, 226, 248, 248,
+  246, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  249, 252, 253, 251, 245, 241, 246, 232, 221, 204, 176, 151, 141, 149, 155, 156,
+  148, 115, 114, 113, 76, 47, 41, 33, 23, 35, 48, 59, 69, 69, 62, 54,
+  49, 47, 36, 35, 52, 28, 53, 38, 54, 42, 27, 20, 29, 44, 46, 40,
+  50, 69, 60, 74, 65, 50, 8, 9, 26, 40, 61, 85, 99, 99, 87, 79,
+  89, 88, 90, 91, 99, 126, 144, 140, 159, 150, 150, 158, 150, 119, 87, 71,
+  83, 73, 74, 84, 84, 76, 79, 91, 125, 129, 114, 93, 81, 120, 94, 75,
+  128, 227, 239, 250, 240, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 253, 253, 252, 250, 244, 242, 244, 228, 220, 186, 158, 151,
+  158, 159, 157, 154, 136, 137, 125, 105, 90, 73, 54, 49, 24, 34, 47, 54,
+  57, 53, 50, 46, 53, 48, 43, 44, 52, 44, 57, 51, 44, 40, 33, 31,
+  40, 49, 47, 39, 68, 71, 61, 58, 45, 34, 19, 25, 49, 59, 71, 80,
+  79, 73, 64, 60, 67, 69, 77, 89, 104, 131, 142, 131, 160, 162, 166, 164,
+  145, 115, 91, 79, 83, 83, 84, 88, 92, 94, 96, 96, 83, 88, 84, 61,
+  54, 86, 78, 75, 113, 146, 243, 237, 245, 255, 248, 255, 254, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 250, 246, 244, 244, 234, 220,
+  199, 157, 134, 148, 170, 166, 151, 140, 97, 127, 103, 66, 71, 74, 51, 43,
+  39, 46, 54, 57, 54, 47, 44, 42, 53, 47, 51, 59, 58, 68, 61, 70,
+  46, 43, 39, 39, 46, 52, 50, 44, 50, 40, 44, 37, 32, 30, 49, 56,
+  55, 59, 60, 54, 44, 37, 34, 36, 76, 81, 96, 117, 136, 159, 164, 149,
+  160, 158, 149, 135, 125, 119, 113, 107, 100, 100, 92, 82, 84, 92, 94, 86,
+  69, 70, 80, 55, 53, 63, 67, 73, 96, 96, 210, 233, 246, 253, 250, 255,
+  254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 251, 243,
+  246, 243, 216, 204, 164, 135, 125, 146, 171, 168, 147, 129, 97, 121, 103, 67,
+  69, 81, 69, 54, 52, 53, 57, 60, 58, 52, 48, 46, 53, 49, 62, 76,
+  71, 93, 68, 85, 61, 53, 47, 41, 46, 49, 53, 51, 51, 32, 49, 39,
+  38, 27, 52, 46, 65, 64, 58, 51, 46, 47, 53, 60, 89, 93, 107, 121,
+  130, 143, 145, 132, 151, 143, 127, 118, 130, 147, 142, 124, 109, 97, 79, 66,
+  66, 73, 77, 77, 55, 47, 66, 45, 53, 43, 41, 41, 83, 109, 134, 232,
+  244, 241, 255, 247, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 251, 251, 239, 244, 239, 194, 182, 148, 139, 137, 144, 160, 167, 156, 140,
+  124, 123, 125, 110, 87, 87, 83, 57, 49, 45, 49, 59, 67, 65, 61, 61,
+  55, 56, 78, 97, 91, 113, 86, 102, 80, 68, 58, 49, 50, 48, 51, 50,
+  48, 29, 49, 45, 50, 38, 55, 41, 44, 40, 33, 33, 40, 52, 62, 70,
+  115, 118, 126, 130, 124, 129, 135, 131, 145, 150, 149, 150, 161, 167, 146, 115,
+  90, 70, 57, 59, 63, 62, 67, 77, 56, 37, 49, 36, 54, 42, 33, 26,
+  64, 105, 82, 192, 244, 236, 253, 245, 254, 254, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 250, 251, 237, 243, 233, 176, 166, 146, 145, 140, 137,
+  146, 158, 157, 149, 135, 122, 139, 140, 100, 76, 68, 43, 41, 39, 49, 67,
+  81, 82, 83, 88, 69, 76, 96, 116, 118, 127, 116, 122, 98, 85, 72, 65,
+  61, 55, 49, 46, 36, 26, 35, 41, 48, 47, 55, 51, 52, 51, 47, 51,
+  61, 73, 81, 86, 89, 92, 103, 108, 103, 113, 129, 135, 157, 170, 176, 167,
+  158, 148, 127, 105, 74, 58, 53, 64, 66, 56, 56, 66, 77, 54, 53, 41,
+  53, 52, 37, 34, 44, 60, 75, 126, 229, 241, 248, 245, 254, 254, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 252, 250, 251, 233, 242, 231, 165, 163,
+  146, 139, 135, 139, 148, 150, 145, 141, 140, 136, 144, 139, 106, 69, 53, 49,
+  43, 47, 66, 87, 94, 93, 100, 109, 91, 103, 116, 132, 146, 137, 150, 147,
+  123, 101, 80, 71, 67, 60, 53, 50, 48, 49, 39, 42, 39, 39, 34, 47,
+  47, 51, 51, 53, 55, 58, 59, 62, 75, 77, 91, 104, 108, 123, 143, 151,
+  155, 161, 161, 150, 136, 125, 112, 101, 74, 66, 61, 60, 56, 49, 47, 53,
+  66, 57, 51, 45, 41, 52, 34, 39, 37, 30, 71, 87, 177, 240, 247, 243,
+  252, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 252, 253, 232,
+  241, 229, 162, 162, 148, 130, 132, 152, 164, 151, 135, 130, 131, 143, 129, 110,
+  94, 56, 36, 56, 44, 54, 79, 99, 98, 93, 102, 119, 112, 124, 132, 147,
+  168, 148, 177, 167, 146, 118, 88, 74, 68, 65, 63, 64, 41, 55, 42, 51,
+  47, 53, 43, 68, 55, 61, 67, 65, 58, 52, 49, 50, 59, 58, 72, 86,
+  91, 103, 116, 119, 130, 130, 133, 138, 139, 132, 111, 93, 74, 73, 63, 48,
+  41, 46, 51, 53, 42, 51, 58, 61, 48, 68, 53, 65, 43, 38, 56, 84,
+  122, 233, 246, 239, 252, 254, 254, 255, 255, 255, 255, 255, 250, 252, 252, 252,
+  254, 254, 255, 251, 230, 239, 141, 142, 139, 142, 147, 147, 147, 143, 135, 125,
+  126, 131, 117, 98, 84, 69, 57, 60, 46, 66, 98, 122, 121, 110, 109, 122,
+  125, 131, 154, 182, 193, 184, 179, 178, 166, 149, 127, 109, 95, 87, 79, 74,
+  60, 56, 57, 54, 48, 55, 62, 57, 57, 54, 50, 49, 50, 49, 45, 42,
+  55, 56, 59, 67, 80, 94, 104, 109, 107, 98, 93, 97, 106, 107, 87, 67,
+  38, 50, 53, 47, 37, 42, 43, 43, 54, 51, 53, 61, 64, 65, 70, 78,
+  86, 63, 48, 90, 97, 212, 244, 236, 250, 253, 253, 255, 255, 255, 255, 255,
+  249, 249, 250, 250, 255, 254, 255, 252, 231, 236, 138, 137, 140, 139, 140, 145,
+  146, 142, 135, 130, 116, 119, 93, 96, 83, 89, 65, 71, 69, 86, 113, 138,
+  142, 137, 142, 156, 158, 163, 179, 199, 206, 199, 197, 200, 195, 186, 174, 159,
+  144, 126, 108, 94, 86, 70, 64, 64, 62, 64, 62, 51, 54, 50, 45, 44,
+  46, 46, 44, 41, 50, 54, 61, 69, 78, 80, 78, 73, 95, 88, 81, 78,
+  80, 75, 61, 50, 44, 54, 54, 46, 40, 44, 45, 41, 61, 57, 59, 65,
+  76, 82, 81, 77, 96, 69, 53, 67, 107, 173, 221, 238, 249, 251, 253, 255,
+  255, 255, 255, 255, 249, 249, 250, 250, 254, 253, 255, 250, 235, 232, 138, 137,
+  135, 130, 132, 138, 137, 128, 124, 127, 86, 104, 86, 101, 76, 93, 80, 103,
+  105, 115, 135, 158, 166, 168, 176, 189, 191, 192, 200, 213, 218, 214, 214, 219,
+  216, 216, 212, 210, 202, 186, 166, 151, 136, 107, 94, 98, 96, 91, 78, 62,
+  63, 58, 53, 51, 54, 56, 56, 54, 46, 43, 40, 38, 38, 38, 37, 36,
+  17, 20, 26, 34, 42, 44, 44, 45, 54, 56, 53, 40, 38, 39, 41, 34,
+  40, 37, 35, 39, 59, 78, 80, 70, 88, 63, 54, 48, 113, 126, 181, 228,
+  248, 251, 253, 255, 255, 255, 255, 255, 249, 249, 250, 250, 253, 250, 252, 251,
+  241, 227, 143, 141, 131, 126, 127, 129, 119, 105, 105, 115, 79, 92, 86, 98,
+  93, 103, 101, 123, 131, 138, 152, 170, 181, 187, 194, 203, 208, 207, 211, 220,
+  224, 221, 224, 228, 228, 229, 231, 231, 228, 220, 211, 200, 184, 149, 133, 138,
+  134, 118, 102, 87, 81, 75, 69, 67, 69, 73, 74, 73, 70, 63, 56, 48,
+  45, 45, 46, 44, 34, 38, 48, 59, 64, 65, 63, 63, 66, 61, 56, 35,
+  38, 33, 37, 23, 20, 18, 12, 10, 31, 58, 68, 60, 70, 52, 60, 59,
+  106, 107, 165, 219, 240, 246, 252, 255, 255, 255, 255, 255, 249, 249, 250, 250,
+  253, 250, 252, 250, 238, 209, 135, 134, 131, 129, 130, 124, 107, 91, 93, 106,
+  101, 84, 80, 85, 128, 127, 125, 119, 144, 149, 161, 180, 191, 198, 202, 206,
+  209, 211, 216, 222, 227, 226, 228, 232, 235, 236, 237, 235, 233, 226, 218, 211,
+  208, 177, 162, 164, 152, 134, 121, 110, 100, 93, 86, 83, 85, 88, 90, 90,
+  81, 81, 81, 81, 79, 73, 66, 60, 48, 42, 44, 53, 59, 60, 58, 59,
+  76, 68, 65, 39, 46, 33, 36, 19, 19, 24, 21, 15, 26, 48, 58, 54,
+  63, 53, 69, 80, 88, 112, 176, 222, 233, 240, 246, 252, 255, 255, 255, 255,
+  249, 249, 250, 250, 253, 252, 252, 247, 230, 185, 120, 119, 129, 131, 130, 119,
+  104, 95, 98, 104, 98, 81, 91, 87, 137, 120, 130, 126, 149, 158, 171, 187,
+  199, 206, 208, 208, 207, 212, 218, 225, 229, 233, 234, 237, 240, 244, 248, 248,
+  244, 236, 228, 219, 215, 193, 185, 179, 163, 148, 142, 135, 127, 119, 111, 107,
+  108, 110, 110, 110, 88, 86, 83, 80, 78, 75, 71, 68, 63, 50, 46, 56,
+  70, 77, 85, 92, 87, 79, 85, 53, 63, 42, 47, 27, 12, 24, 30, 29,
+  34, 47, 54, 52, 60, 58, 65, 81, 65, 108, 172, 225, 231, 240, 244, 246,
+  255, 255, 255, 255, 249, 249, 250, 250, 252, 251, 252, 243, 223, 165, 107, 110,
+  116, 119, 116, 106, 103, 108, 108, 101, 87, 94, 116, 114, 133, 113, 132, 151,
+  160, 170, 181, 194, 204, 209, 208, 208, 208, 214, 220, 227, 232, 239, 241, 244,
+  246, 251, 253, 251, 250, 245, 240, 234, 220, 206, 200, 192, 176, 169, 168, 159,
+  156, 148, 140, 135, 135, 135, 134, 132, 121, 113, 101, 92, 87, 86, 84, 85,
+  84, 71, 64, 71, 78, 78, 81, 88, 97, 92, 105, 72, 85, 59, 65, 45,
+  21, 25, 28, 29, 33, 37, 43, 48, 55, 65, 60, 68, 66, 93, 140, 211,
+  235, 242, 246, 247, 255, 255, 255, 255, 249, 249, 248, 248, 248, 251, 253, 244,
+  222, 156, 105, 108, 100, 103, 97, 90, 100, 117, 114, 97, 98, 109, 122, 135,
+  145, 137, 142, 165, 172, 181, 190, 197, 203, 207, 206, 206, 212, 216, 222, 228,
+  233, 242, 246, 248, 255, 255, 255, 251, 244, 242, 238, 237, 224, 213, 208, 197,
+  183, 183, 185, 172, 171, 163, 155, 151, 149, 148, 145, 141, 136, 131, 125, 119,
+  111, 101, 91, 82, 83, 77, 79, 91, 96, 90, 89, 95, 105, 102, 119, 86,
+  102, 74, 79, 59, 56, 48, 35, 30, 26, 27, 32, 39, 53, 74, 61, 61,
+  84, 78, 108, 198, 239, 247, 249, 247, 255, 255, 255, 255, 250, 249, 249, 250,
+  243, 246, 251, 242, 199, 145, 106, 93, 71, 76, 93, 103, 101, 104, 107, 98,
+  102, 132, 151, 151, 154, 155, 163, 178, 186, 194, 201, 204, 203, 204, 209, 214,
+  208, 214, 220, 229, 238, 244, 248, 252, 255, 255, 255, 253, 249, 245, 243, 238,
+  229, 223, 217, 212, 208, 203, 199, 194, 187, 182, 178, 172, 165, 157, 152, 147,
+  151, 149, 146, 137, 126, 114, 108, 106, 110, 110, 87, 95, 100, 98, 115, 104,
+  113, 114, 129, 104, 102, 90, 93, 70, 66, 35, 21, 37, 26, 17, 32, 30,
+  37, 72, 58, 44, 79, 89, 96, 149, 235, 239, 244, 240, 255, 255, 255, 255,
+  250, 247, 249, 248, 246, 248, 251, 241, 177, 119, 82, 70, 78, 85, 98, 108,
+  110, 106, 103, 100, 106, 140, 158, 158, 160, 165, 173, 188, 192, 199, 205, 206,
+  205, 204, 211, 214, 215, 218, 225, 231, 240, 244, 247, 251, 255, 255, 255, 253,
+  249, 246, 244, 240, 232, 228, 221, 217, 213, 211, 207, 202, 198, 194, 191, 187,
+  182, 175, 170, 166, 151, 151, 148, 140, 132, 122, 117, 113, 103, 107, 97, 106,
+  111, 102, 112, 98, 112, 116, 134, 118, 119, 112, 115, 92, 67, 33, 18, 24,
+  30, 30, 22, 19, 36, 61, 50, 57, 81, 75, 84, 123, 222, 244, 248, 243,
+  255, 255, 255, 255, 250, 247, 249, 248, 250, 245, 243, 232, 148, 100, 74, 73,
+  84, 91, 97, 107, 113, 100, 90, 94, 111, 145, 164, 161, 167, 179, 186, 193,
+  199, 204, 207, 206, 205, 204, 210, 213, 219, 221, 227, 232, 240, 244, 246, 250,
+  253, 255, 255, 252, 249, 246, 244, 242, 236, 232, 227, 225, 223, 222, 218, 214,
+  208, 206, 205, 203, 198, 195, 192, 188, 173, 170, 166, 159, 152, 143, 138, 134,
+  118, 124, 121, 127, 127, 118, 124, 114, 120, 126, 142, 135, 137, 136, 137, 116,
+  91, 51, 29, 15, 36, 54, 30, 33, 49, 60, 47, 70, 83, 67, 86, 109,
+  189, 237, 246, 242, 255, 255, 255, 255, 250, 247, 248, 248, 250, 242, 235, 221,
+  135, 103, 92, 102, 86, 92, 95, 104, 111, 94, 83, 94, 114, 147, 159, 157,
+  171, 191, 193, 191, 199, 203, 204, 203, 203, 203, 207, 212, 216, 220, 226, 230,
+  237, 242, 245, 249, 252, 252, 252, 249, 248, 245, 243, 242, 236, 234, 231, 229,
+  230, 229, 227, 224, 212, 212, 212, 209, 207, 204, 202, 199, 198, 194, 189, 183,
+  175, 165, 158, 154, 148, 149, 146, 143, 139, 134, 139, 141, 135, 137, 149, 145,
+  143, 145, 144, 127, 117, 78, 51, 10, 32, 67, 45, 69, 70, 72, 56, 75,
+  78, 73, 105, 112, 148, 228, 242, 240, 255, 255, 255, 255, 250, 247, 248, 248,
+  250, 247, 236, 213, 141, 111, 102, 109, 83, 88, 96, 103, 104, 95, 96, 109,
+  122, 145, 153, 156, 179, 199, 195, 186, 195, 196, 199, 199, 200, 203, 207, 211,
+  213, 215, 220, 227, 234, 239, 244, 246, 247, 247, 248, 245, 245, 243, 241, 241,
+  235, 234, 232, 231, 232, 233, 231, 228, 218, 218, 215, 214, 213, 209, 207, 204,
+  207, 204, 200, 194, 188, 180, 174, 168, 169, 164, 165, 153, 146, 146, 147, 152,
+  147, 147, 150, 149, 141, 148, 145, 131, 119, 88, 67, 17, 26, 58, 49, 86,
+  73, 76, 67, 71, 71, 85, 115, 110, 123, 229, 240, 244, 255, 255, 255, 255,
+  250, 247, 248, 247, 249, 251, 242, 197, 150, 111, 92, 84, 80, 81, 96, 97,
+  85, 91, 113, 119, 127, 145, 155, 166, 189, 199, 193, 188, 193, 194, 197, 199,
+  202, 203, 207, 209, 210, 213, 218, 222, 229, 236, 242, 244, 242, 242, 242, 242,
+  242, 241, 240, 239, 235, 233, 232, 232, 233, 233, 232, 228, 224, 221, 221, 218,
+  216, 212, 210, 207, 207, 204, 203, 199, 198, 193, 188, 183, 177, 171, 179, 169,
+  163, 162, 153, 158, 155, 151, 148, 154, 142, 151, 145, 135, 113, 93, 79, 40,
+  32, 49, 50, 77, 61, 67, 73, 64, 64, 87, 99, 94, 110, 230, 234, 244,
+  255, 255, 255, 255, 250, 247, 248, 247, 244, 250, 235, 164, 151, 107, 83, 64,
+  88, 83, 103, 94, 63, 81, 121, 116, 128, 147, 163, 178, 193, 192, 189, 196,
+  194, 195, 198, 203, 207, 208, 209, 210, 213, 214, 218, 221, 227, 232, 238, 240,
+  237, 237, 238, 238, 238, 237, 236, 235, 238, 236, 234, 234, 234, 234, 232, 228,
+  226, 224, 224, 223, 219, 216, 214, 211, 209, 205, 204, 203, 202, 201, 197, 191,
+  183, 175, 188, 179, 175, 177, 162, 167, 163, 161, 154, 164, 148, 162, 149, 138,
+  122, 100, 84, 64, 47, 46, 56, 62, 59, 53, 73, 55, 56, 77, 66, 83,
+  104, 231, 228, 245, 255, 255, 255, 255, 251, 249, 248, 247, 236, 248, 217, 128,
+  144, 104, 86, 66, 106, 97, 117, 99, 53, 76, 125, 113, 126, 148, 171, 186,
+  193, 183, 184, 200, 200, 201, 203, 208, 211, 211, 211, 209, 214, 216, 218, 220,
+  225, 228, 234, 236, 234, 234, 236, 237, 236, 236, 235, 234, 239, 237, 235, 234,
+  234, 233, 230, 226, 225, 225, 225, 222, 219, 217, 215, 214, 210, 205, 201, 201,
+  201, 197, 192, 188, 184, 174, 186, 174, 175, 182, 168, 175, 173, 169, 163, 176,
+  158, 170, 154, 142, 135, 104, 81, 74, 51, 44, 58, 50, 68, 50, 72, 50,
+  52, 69, 44, 84, 103, 232, 227, 244, 255, 255, 255, 255, 255, 252, 251, 248,
+  245, 244, 175, 138, 133, 98, 87, 76, 96, 74, 111, 64, 90, 96, 108, 121,
+  128, 149, 176, 189, 192, 191, 193, 196, 201, 200, 196, 196, 201, 205, 209, 212,
+  211, 214, 215, 217, 222, 225, 228, 230, 230, 232, 233, 233, 234, 234, 234, 234,
+  231, 232, 233, 234, 233, 232, 230, 229, 232, 229, 227, 225, 220, 217, 214, 213,
+  211, 208, 205, 204, 201, 198, 196, 195, 191, 188, 186, 183, 185, 183, 182, 179,
+  180, 175, 172, 171, 171, 165, 158, 150, 145, 105, 94, 79, 43, 41, 58, 55,
+  45, 49, 52, 53, 42, 42, 51, 71, 102, 220, 232, 234, 255, 255, 255, 255,
+  255, 254, 253, 248, 246, 241, 160, 121, 121, 86, 78, 81, 76, 61, 102, 66,
+  92, 95, 103, 112, 131, 150, 175, 190, 193, 190, 192, 196, 203, 200, 198, 199,
+  203, 207, 209, 210, 210, 210, 211, 213, 217, 220, 222, 226, 228, 231, 231, 231,
+  232, 232, 232, 233, 232, 232, 233, 233, 233, 232, 230, 229, 229, 228, 226, 224,
+  219, 217, 214, 214, 208, 206, 206, 204, 202, 200, 199, 198, 191, 189, 186, 185,
+  186, 186, 182, 181, 180, 180, 179, 178, 174, 169, 163, 156, 141, 108, 100, 84,
+  49, 42, 53, 47, 31, 38, 36, 46, 50, 52, 65, 74, 109, 224, 236, 231,
+  255, 255, 255, 255, 255, 254, 253, 248, 243, 238, 147, 111, 112, 73, 60, 77,
+  56, 48, 89, 67, 92, 96, 104, 111, 138, 156, 179, 192, 195, 192, 196, 200,
+  202, 201, 200, 201, 206, 208, 211, 211, 209, 209, 211, 213, 214, 216, 218, 221,
+  226, 228, 228, 229, 229, 230, 230, 230, 232, 232, 233, 233, 232, 231, 230, 230,
+  226, 226, 224, 223, 219, 217, 215, 215, 210, 208, 207, 204, 202, 200, 198, 197,
+  192, 190, 187, 186, 186, 186, 183, 181, 180, 183, 186, 185, 179, 173, 167, 162,
+  141, 116, 111, 93, 60, 47, 51, 42, 36, 53, 45, 51, 54, 44, 65, 64,
+  96, 214, 237, 231, 255, 255, 255, 255, 255, 254, 253, 248, 240, 235, 140, 112,
+  111, 69, 47, 69, 52, 46, 77, 63, 86, 96, 110, 123, 150, 164, 187, 196,
+  199, 197, 201, 204, 201, 201, 201, 203, 207, 209, 210, 209, 210, 210, 212, 212,
+  214, 215, 217, 219, 224, 226, 227, 227, 228, 228, 228, 228, 232, 232, 232, 232,
+  231, 231, 230, 230, 225, 224, 223, 222, 219, 218, 216, 216, 215, 213, 211, 206,
+  202, 198, 195, 193, 193, 191, 188, 187, 187, 186, 183, 181, 180, 185, 190, 190,
+  182, 175, 170, 166, 147, 130, 119, 98, 68, 53, 55, 49, 51, 73, 65, 62,
+  56, 32, 63, 57, 77, 191, 235, 236, 255, 255, 255, 255, 255, 254, 253, 248,
+  244, 233, 132, 112, 105, 75, 55, 74, 64, 56, 67, 57, 75, 88, 113, 132,
+  158, 171, 190, 198, 200, 199, 202, 205, 202, 202, 202, 205, 207, 208, 209, 207,
+  214, 214, 214, 214, 217, 219, 220, 222, 225, 227, 227, 228, 228, 228, 229, 229,
+  232, 232, 231, 231, 230, 230, 230, 230, 224, 224, 223, 223, 220, 219, 217, 217,
+  216, 213, 212, 207, 202, 199, 196, 194, 195, 192, 189, 188, 187, 187, 183, 182,
+  179, 185, 190, 190, 183, 176, 172, 167, 153, 138, 120, 95, 72, 60, 59, 54,
+  55, 62, 61, 55, 62, 39, 69, 68, 96, 190, 236, 240, 255, 255, 255, 255,
+  255, 254, 253, 248, 248, 225, 120, 104, 89, 83, 74, 83, 72, 61, 57, 52,
+  65, 81, 115, 136, 164, 176, 190, 196, 198, 198, 201, 204, 204, 204, 204, 206,
+  208, 209, 210, 208, 216, 216, 216, 216, 220, 221, 222, 224, 227, 229, 230, 230,
+  230, 231, 231, 231, 232, 232, 231, 230, 229, 229, 230, 230, 226, 225, 225, 224,
+  221, 220, 218, 217, 212, 210, 210, 207, 204, 202, 201, 199, 196, 193, 190, 189,
+  188, 187, 184, 182, 181, 184, 187, 188, 183, 178, 174, 169, 157, 142, 118, 92,
+  73, 64, 57, 51, 63, 44, 55, 43, 65, 50, 72, 86, 156, 213, 240, 238,
+  255, 255, 255, 255, 255, 254, 253, 248, 246, 211, 107, 95, 70, 81, 77, 69,
+  60, 55, 49, 56, 69, 87, 122, 144, 169, 179, 191, 198, 201, 200, 203, 205,
+  208, 207, 206, 208, 212, 213, 215, 214, 216, 216, 219, 220, 221, 223, 224, 226,
+  230, 232, 233, 233, 234, 234, 234, 234, 233, 232, 230, 229, 229, 229, 230, 230,
+  228, 227, 226, 225, 222, 220, 218, 218, 212, 210, 210, 207, 205, 204, 202, 201,
+  197, 194, 191, 189, 189, 188, 184, 182, 184, 184, 185, 186, 183, 181, 176, 170,
+  157, 146, 122, 95, 83, 68, 50, 38, 68, 40, 78, 51, 61, 45, 74, 126,
+  214, 235, 243, 239, 255, 255, 255, 255, 255, 255, 253, 248, 237, 198, 99, 91,
+  57, 74, 68, 45, 43, 45, 44, 63, 78, 100, 132, 154, 176, 185, 196, 200,
+  203, 202, 205, 207, 212, 210, 209, 209, 213, 215, 217, 217, 216, 216, 219, 220,
+  221, 223, 225, 227, 232, 235, 235, 235, 236, 236, 236, 237, 233, 232, 230, 229,
+  228, 229, 230, 231, 229, 229, 228, 226, 222, 221, 219, 218, 215, 212, 212, 208,
+  205, 202, 200, 199, 198, 195, 192, 190, 189, 188, 184, 182, 186, 184, 183, 184,
+  184, 183, 178, 171, 158, 150, 127, 102, 93, 74, 47, 30, 61, 43, 110, 69,
+  57, 36, 80, 174, 239, 241, 243, 242, 255, 255, 255, 255, 255, 255, 253, 248,
+  248, 183, 107, 75, 74, 54, 86, 53, 56, 50, 61, 74, 80, 98, 134, 158,
+  176, 184, 194, 199, 203, 204, 205, 207, 209, 210, 210, 212, 215, 217, 218, 219,
+  220, 220, 221, 222, 225, 227, 229, 229, 234, 236, 237, 237, 237, 236, 235, 234,
+  235, 233, 230, 227, 226, 226, 226, 227, 229, 228, 227, 226, 224, 225, 225, 226,
+  219, 215, 212, 207, 204, 203, 202, 202, 203, 199, 194, 191, 189, 188, 184, 182,
+  184, 184, 183, 182, 178, 176, 174, 170, 160, 162, 124, 113, 77, 69, 51, 34,
+  49, 38, 107, 68, 67, 41, 73, 196, 237, 245, 245, 250, 255, 255, 255, 255,
+  255, 255, 254, 248, 240, 205, 129, 82, 60, 59, 71, 66, 59, 50, 55, 65,
+  76, 104, 138, 154, 181, 186, 195, 201, 203, 204, 205, 206, 210, 209, 208, 208,
+  211, 213, 215, 216, 217, 219, 221, 224, 227, 228, 229, 231, 237, 238, 238, 238,
+  238, 237, 236, 235, 232, 231, 228, 226, 224, 225, 226, 226, 229, 228, 227, 227,
+  225, 225, 225, 226, 221, 218, 216, 211, 208, 207, 206, 205, 201, 198, 194, 191,
+  190, 188, 182, 180, 183, 183, 183, 183, 180, 178, 177, 174, 157, 161, 125, 111,
+  75, 66, 57, 47, 51, 48, 97, 65, 70, 38, 76, 185, 239, 247, 247, 255,
+  255, 255, 255, 255, 255, 255, 255, 248, 238, 228, 152, 81, 54, 80, 61, 79,
+  69, 60, 57, 62, 80, 118, 153, 162, 186, 189, 196, 201, 203, 203, 206, 207,
+  210, 209, 210, 210, 210, 212, 216, 217, 217, 219, 223, 226, 228, 229, 231, 231,
+  236, 236, 236, 237, 236, 235, 234, 234, 235, 233, 232, 230, 230, 230, 231, 232,
+  229, 229, 228, 228, 226, 226, 226, 226, 220, 218, 217, 214, 211, 209, 207, 206,
+  200, 198, 196, 194, 193, 189, 183, 179, 180, 181, 181, 181, 179, 178, 177, 174,
+  161, 165, 132, 114, 76, 60, 59, 58, 49, 58, 80, 64, 83, 48, 105, 194,
+  243, 250, 250, 255, 255, 255, 255, 255, 255, 255, 255, 248, 246, 240, 173, 71,
+  60, 98, 64, 85, 69, 64, 62, 67, 87, 131, 168, 178, 191, 195, 200, 201,
+  203, 203, 206, 206, 209, 210, 214, 215, 216, 217, 219, 219, 223, 223, 225, 226,
+  227, 228, 231, 232, 232, 233, 233, 233, 233, 232, 231, 230, 235, 234, 233, 233,
+  233, 233, 235, 235, 230, 230, 229, 229, 227, 227, 227, 227, 217, 215, 215, 213,
+  211, 208, 206, 204, 203, 202, 201, 200, 198, 194, 186, 182, 178, 178, 178, 178,
+  175, 174, 173, 170, 165, 169, 148, 124, 84, 54, 60, 64, 50, 68, 66, 62,
+  97, 68, 152, 222, 247, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 248,
+  248, 241, 202, 74, 62, 87, 65, 83, 57, 57, 63, 69, 90, 134, 174, 185,
+  196, 198, 200, 201, 203, 206, 206, 206, 211, 214, 219, 223, 227, 226, 224, 222,
+  229, 228, 225, 223, 225, 227, 230, 231, 230, 231, 231, 231, 231, 230, 229, 228,
+  229, 229, 228, 228, 229, 229, 230, 230, 229, 229, 229, 230, 228, 227, 226, 226,
+  215, 213, 214, 212, 210, 208, 206, 204, 206, 206, 205, 205, 203, 199, 190, 185,
+  180, 180, 179, 178, 174, 172, 171, 167, 166, 170, 158, 136, 99, 56, 62, 66,
+  58, 73, 58, 60, 94, 78, 187, 237, 250, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 253, 245, 239, 231, 103, 57, 58, 61, 74, 54, 54, 66, 82,
+  105, 143, 181, 191, 202, 200, 200, 202, 206, 207, 207, 207, 211, 215, 220, 224,
+  228, 227, 224, 221, 227, 225, 222, 220, 222, 224, 226, 228, 229, 229, 229, 230,
+  229, 228, 227, 227, 227, 227, 227, 227, 227, 228, 228, 228, 225, 226, 227, 227,
+  225, 225, 223, 222, 215, 213, 213, 211, 209, 208, 207, 207, 208, 207, 206, 206,
+  204, 200, 192, 187, 184, 183, 182, 181, 177, 174, 172, 171, 165, 168, 162, 144,
+  115, 62, 65, 67, 71, 71, 59, 61, 76, 75, 201, 236, 251, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 246, 235, 239, 148, 58, 52, 63, 60,
+  63, 58, 73, 100, 129, 159, 187, 194, 204, 201, 200, 201, 206, 209, 211, 210,
+  213, 214, 216, 217, 220, 219, 217, 216, 216, 216, 219, 220, 221, 222, 222, 222,
+  224, 224, 224, 224, 224, 223, 222, 222, 226, 226, 226, 227, 226, 226, 225, 225,
+  220, 221, 222, 223, 221, 220, 218, 217, 213, 210, 210, 207, 206, 206, 206, 206,
+  206, 205, 203, 202, 200, 197, 189, 185, 182, 182, 182, 181, 178, 176, 174, 173,
+  169, 166, 163, 147, 124, 64, 65, 62, 79, 65, 67, 65, 62, 74, 210, 234,
+  253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 234, 232, 181,
+  66, 67, 71, 50, 70, 58, 73, 110, 143, 170, 189, 195, 207, 204, 201, 203,
+  206, 209, 210, 209, 213, 210, 208, 206, 207, 206, 207, 207, 202, 205, 210, 214,
+  218, 216, 216, 215, 212, 214, 214, 213, 214, 212, 212, 211, 217, 217, 217, 219,
+  219, 218, 217, 216, 214, 214, 215, 216, 216, 213, 212, 209, 207, 204, 202, 201,
+  199, 200, 201, 202, 202, 198, 198, 194, 194, 189, 184, 181, 176, 177, 177, 177,
+  175, 174, 173, 172, 176, 169, 166, 150, 128, 64, 62, 55, 78, 58, 73, 70,
+  59, 83, 226, 243, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 236, 237, 206, 92, 74, 77, 52, 67, 85, 65, 126, 156, 175, 206, 202,
+  206, 215, 212, 208, 211, 206, 201, 209, 209, 199, 195, 197, 196, 191, 190, 193,
+  187, 190, 191, 193, 201, 207, 210, 206, 197, 199, 193, 187, 201, 177, 204, 192,
+  202, 207, 206, 207, 214, 210, 208, 216, 208, 200, 201, 207, 207, 200, 198, 202,
+  200, 201, 187, 197, 180, 188, 182, 192, 185, 194, 196, 184, 178, 180, 181, 177,
+  177, 166, 179, 171, 179, 169, 180, 168, 172, 173, 184, 162, 151, 83, 80, 62,
+  73, 47, 87, 54, 75, 82, 230, 242, 252, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 242, 246, 227, 132, 83, 77, 50, 66, 78, 72, 131,
+  159, 185, 206, 207, 216, 217, 207, 198, 207, 210, 204, 198, 183, 172, 164, 162,
+  158, 153, 151, 154, 151, 161, 169, 169, 168, 168, 168, 167, 154, 154, 141, 150,
+  155, 141, 154, 148, 187, 200, 206, 202, 206, 207, 210, 216, 199, 194, 191, 186,
+  185, 184, 181, 172, 178, 174, 167, 172, 167, 173, 173, 179, 171, 170, 165, 157,
+  154, 154, 154, 151, 168, 164, 174, 172, 173, 169, 174, 169, 177, 176, 189, 170,
+  159, 82, 72, 57, 75, 43, 74, 74, 90, 114, 226, 248, 252, 254, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 247, 238, 173, 87, 75, 54,
+  71, 75, 86, 140, 169, 199, 204, 212, 215, 212, 204, 199, 208, 216, 204, 185,
+  161, 152, 144, 141, 138, 135, 135, 137, 140, 153, 163, 157, 145, 137, 135, 135,
+  116, 111, 99, 116, 117, 107, 112, 114, 155, 189, 206, 200, 201, 207, 212, 214,
+  195, 191, 181, 167, 166, 170, 163, 144, 154, 142, 142, 140, 151, 148, 152, 154,
+  161, 164, 166, 162, 150, 140, 142, 150, 146, 155, 160, 170, 164, 167, 163, 167,
+  180, 177, 188, 177, 170, 84, 71, 60, 66, 46, 63, 72, 93, 158, 223, 250,
+  252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 240, 237,
+  203, 95, 74, 67, 79, 79, 104, 155, 182, 211, 203, 217, 211, 205, 204, 204,
+  195, 182, 167, 151, 125, 119, 113, 109, 106, 103, 100, 98, 98, 107, 111, 102,
+  89, 83, 82, 83, 73, 64, 68, 76, 84, 67, 76, 84, 109, 163, 198, 198,
+  201, 208, 212, 209, 191, 177, 161, 150, 149, 146, 135, 122, 126, 108, 109, 98,
+  117, 102, 110, 109, 124, 120, 123, 130, 126, 113, 106, 109, 114, 133, 136, 158,
+  156, 174, 172, 189, 180, 178, 188, 181, 181, 91, 75, 71, 53, 56, 68, 53,
+  106, 204, 239, 245, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 242, 241, 229, 122, 81, 77, 91, 92, 120, 172, 197, 220, 205, 219,
+  220, 204, 206, 199, 155, 117, 108, 110, 102, 101, 99, 94, 90, 84, 76, 69,
+  55, 56, 50, 41, 36, 39, 43, 44, 48, 35, 59, 51, 67, 44, 60, 71,
+  70, 137, 189, 199, 205, 209, 207, 199, 179, 148, 127, 126, 124, 111, 102, 101,
+  93, 70, 67, 54, 68, 47, 54, 52, 78, 59, 51, 65, 79, 77, 65, 57,
+  46, 65, 59, 79, 91, 123, 135, 168, 179, 181, 188, 182, 192, 102, 83, 84,
+  56, 63, 81, 60, 157, 233, 251, 249, 254, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 249, 243, 245, 240, 157, 85, 76, 95, 103, 124, 185,
+  208, 219, 212, 218, 227, 208, 207, 185, 123, 87, 97, 109, 108, 112, 114, 114,
+  114, 112, 104, 96, 78, 70, 55, 41, 37, 41, 42, 38, 36, 28, 54, 41,
+  54, 45, 51, 61, 56, 123, 181, 199, 209, 212, 206, 195, 175, 136, 110, 108,
+  103, 84, 77, 82, 68, 47, 39, 35, 37, 22, 25, 30, 41, 40, 40, 41,
+  40, 43, 54, 66, 60, 70, 51, 50, 69, 93, 110, 144, 171, 180, 189, 182,
+  199, 112, 88, 87, 62, 61, 81, 85, 217, 240, 250, 253, 254, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 247, 244, 238, 192, 90, 77,
+  91, 109, 120, 191, 213, 214, 217, 217, 220, 208, 207, 175, 115, 103, 123, 127,
+  117, 123, 127, 128, 130, 132, 127, 119, 108, 99, 82, 65, 57, 55, 52, 46,
+  36, 37, 44, 48, 39, 64, 41, 52, 71, 129, 180, 201, 213, 214, 206, 198,
+  179, 144, 113, 99, 88, 73, 66, 68, 55, 40, 30, 39, 34, 31, 31, 45,
+  31, 48, 59, 52, 41, 47, 69, 88, 85, 91, 75, 58, 81, 78, 82, 103,
+  152, 174, 188, 181, 205, 122, 95, 89, 66, 72, 73, 98, 241, 240, 247, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 246,
+  234, 216, 103, 89, 87, 111, 114, 194, 214, 208, 222, 215, 213, 210, 211, 171,
+  117, 121, 141, 125, 142, 148, 147, 142, 141, 141, 134, 125, 116, 113, 102, 89,
+  80, 76, 72, 65, 66, 76, 61, 85, 54, 109, 62, 72, 89, 139, 180, 202,
+  215, 215, 208, 202, 181, 154, 120, 91, 74, 66, 60, 57, 46, 39, 28, 48,
+  38, 45, 44, 65, 65, 69, 71, 74, 87, 102, 103, 93, 97, 109, 108, 91,
+  121, 98, 87, 94, 134, 166, 184, 179, 209, 131, 100, 91, 68, 93, 71, 95,
+  238, 245, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 247, 241, 244, 228, 103, 76, 79, 97, 150, 181, 223, 219, 226, 215,
+  211, 208, 189, 159, 139, 138, 147, 152, 139, 150, 155, 150, 139, 126, 106, 88,
+  93, 86, 83, 65, 67, 57, 79, 60, 46, 85, 78, 109, 77, 92, 80, 81,
+  105, 143, 192, 200, 220, 210, 225, 212, 184, 164, 120, 91, 71, 63, 74, 68,
+  77, 39, 36, 59, 50, 26, 40, 71, 57, 78, 84, 81, 91, 105, 118, 130,
+  132, 133, 137, 139, 128, 112, 109, 115, 132, 152, 187, 199, 194, 147, 92, 95,
+  65, 101, 81, 108, 232, 244, 248, 254, 255, 254, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 243, 245, 235, 234, 230, 78, 94, 77, 93, 149, 187,
+  220, 212, 218, 211, 209, 199, 177, 153, 146, 153, 160, 161, 159, 148, 132, 117,
+  100, 90, 96, 108, 98, 78, 75, 63, 58, 51, 54, 51, 57, 68, 48, 77,
+  77, 104, 109, 109, 118, 159, 200, 206, 225, 218, 231, 213, 187, 171, 134, 111,
+  97, 88, 91, 78, 53, 41, 38, 36, 34, 45, 53, 50, 45, 71, 75, 64,
+  71, 94, 118, 138, 171, 147, 142, 159, 158, 132, 120, 127, 140, 155, 185, 194,
+  192, 149, 95, 97, 60, 102, 92, 155, 227, 232, 247, 255, 255, 254, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 248, 237, 230, 232, 67, 104,
+  68, 80, 139, 191, 220, 212, 219, 219, 212, 195, 171, 152, 155, 168, 171, 163,
+  167, 129, 98, 95, 97, 86, 79, 81, 76, 42, 41, 43, 38, 41, 24, 49,
+  40, 43, 33, 46, 54, 67, 97, 113, 125, 182, 213, 214, 231, 228, 238, 216,
+  208, 195, 155, 134, 117, 96, 87, 65, 33, 34, 34, 22, 24, 45, 48, 25,
+  38, 46, 38, 32, 53, 83, 103, 116, 128, 146, 162, 165, 165, 167, 164, 157,
+  152, 162, 184, 191, 193, 156, 100, 98, 70, 90, 100, 202, 239, 244, 245, 244,
+  254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 247, 241, 238, 227,
+  220, 222, 97, 91, 78, 78, 131, 195, 220, 214, 220, 221, 217, 201, 177, 159,
+  160, 171, 165, 153, 148, 115, 90, 95, 105, 99, 81, 68, 77, 30, 21, 27,
+  23, 40, 16, 68, 55, 49, 44, 40, 47, 34, 70, 84, 119, 196, 223, 223,
+  235, 233, 244, 221, 221, 210, 170, 142, 112, 82, 69, 47, 40, 35, 43, 48,
+  38, 29, 26, 19, 34, 27, 22, 36, 64, 77, 85, 99, 113, 142, 165, 166,
+  164, 165, 154, 140, 163, 171, 186, 192, 198, 164, 106, 98, 92, 81, 127, 207,
+  229, 242, 239, 237, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 245,
+  244, 220, 204, 191, 192, 194, 153, 84, 107, 95, 137, 203, 216, 214, 215, 211,
+  217, 208, 191, 174, 166, 165, 155, 139, 124, 117, 103, 89, 84, 94, 108, 116,
+  125, 66, 32, 20, 17, 43, 32, 101, 121, 90, 62, 44, 62, 46, 72, 69,
+  106, 204, 226, 232, 237, 233, 247, 230, 219, 210, 173, 141, 103, 73, 67, 51,
+  56, 56, 77, 90, 62, 26, 19, 22, 33, 22, 33, 75, 103, 91, 85, 104,
+  106, 86, 101, 156, 187, 175, 161, 168, 166, 173, 187, 193, 200, 167, 105, 91,
+  95, 78, 164, 177, 183, 211, 226, 251, 254, 254, 254, 255, 255, 255, 255, 255,
+  255, 255, 255, 243, 243, 202, 166, 151, 156, 172, 199, 119, 116, 101, 140, 208,
+  211, 216, 218, 212, 211, 212, 203, 185, 171, 164, 151, 136, 119, 119, 108, 90,
+  87, 106, 132, 146, 153, 101, 47, 13, 19, 47, 63, 130, 145, 114, 75, 45,
+  56, 50, 85, 88, 104, 211, 222, 238, 240, 232, 244, 234, 222, 217, 181, 143,
+  102, 70, 69, 58, 61, 77, 107, 110, 75, 42, 29, 21, 41, 15, 26, 92,
+  144, 128, 93, 89, 126, 107, 113, 148, 168, 158, 150, 160, 166, 174, 187, 192,
+  199, 168, 104, 86, 83, 80, 172, 161, 172, 194, 198, 223, 252, 254, 254, 255,
+  255, 255, 255, 255, 255, 255, 255, 241, 239, 189, 145, 130, 131, 160, 196, 166,
+  103, 99, 145, 214, 206, 220, 225, 218, 210, 213, 208, 191, 178, 166, 153, 137,
+  129, 125, 121, 118, 116, 120, 130, 140, 149, 123, 72, 30, 51, 67, 97, 143,
+  128, 119, 91, 66, 66, 65, 99, 105, 115, 221, 216, 239, 243, 232, 239, 232,
+  226, 221, 185, 151, 111, 78, 72, 57, 64, 78, 105, 115, 91, 62, 46, 29,
+  43, 27, 42, 104, 159, 149, 107, 87, 85, 106, 127, 137, 148, 164, 175, 178,
+  172, 181, 192, 192, 199, 169, 104, 87, 76, 108, 158, 169, 179, 178, 170, 184,
+  252, 254, 254, 255, 255, 255, 255, 255, 255, 255, 252, 241, 226, 178, 133, 122,
+  118, 150, 166, 189, 100, 104, 155, 222, 202, 216, 223, 215, 212, 215, 209, 193,
+  180, 171, 158, 141, 141, 145, 154, 153, 130, 108, 120, 147, 150, 149, 109, 68,
+  94, 92, 120, 141, 127, 125, 101, 97, 109, 118, 123, 105, 131, 230, 212, 238,
+  244, 232, 236, 229, 216, 211, 180, 152, 118, 88, 78, 60, 77, 70, 93, 119,
+  107, 74, 54, 41, 31, 59, 97, 134, 152, 138, 122, 122, 91, 95, 114, 144,
+  162, 163, 162, 165, 178, 186, 195, 194, 200, 172, 110, 93, 86, 154, 158, 180,
+  160, 134, 148, 187, 250, 254, 254, 255, 255, 255, 255, 255, 255, 255, 247, 244,
+  235, 174, 136, 110, 119, 153, 172, 181, 115, 111, 163, 218, 211, 231, 224, 226,
+  217, 217, 210, 202, 194, 190, 185, 178, 176, 177, 175, 171, 162, 146, 131, 121,
+  140, 150, 130, 103, 112, 123, 122, 126, 125, 123, 122, 127, 136, 140, 139, 136,
+  162, 217, 224, 225, 246, 241, 232, 224, 207, 200, 190, 172, 150, 128, 115, 109,
+  109, 110, 106, 102, 113, 123, 110, 85, 89, 93, 122, 123, 129, 111, 135, 153,
+  144, 138, 143, 159, 169, 169, 174, 180, 182, 179, 182, 192, 192, 169, 127, 95,
+  96, 152, 166, 172, 139, 124, 131, 156, 247, 254, 254, 254, 255, 255, 255, 255,
+  255, 255, 249, 244, 230, 182, 129, 126, 121, 178, 166, 165, 122, 111, 166, 216,
+  219, 236, 234, 231, 219, 219, 213, 207, 203, 202, 199, 193, 193, 192, 192, 188,
+  181, 168, 153, 144, 136, 142, 133, 118, 119, 120, 114, 110, 126, 131, 138, 141,
+  145, 145, 148, 149, 182, 226, 225, 227, 248, 241, 229, 215, 206, 197, 187, 170,
+  155, 144, 142, 143, 119, 120, 115, 111, 122, 133, 123, 100, 97, 99, 124, 100,
+  121, 109, 151, 161, 163, 159, 158, 162, 170, 175, 184, 190, 187, 182, 185, 194,
+  195, 173, 134, 103, 93, 168, 180, 163, 123, 121, 129, 140, 245, 254, 254, 254,
+  255, 255, 255, 255, 255, 255, 255, 244, 229, 189, 121, 134, 118, 198, 165, 156,
+  135, 116, 171, 211, 226, 231, 237, 229, 219, 219, 218, 212, 211, 212, 213, 209,
+  209, 207, 206, 200, 192, 182, 171, 164, 161, 150, 143, 135, 126, 127, 133, 132,
+  140, 147, 156, 157, 154, 156, 166, 176, 201, 234, 225, 229, 248, 242, 229, 209,
+  201, 194, 188, 176, 168, 162, 165, 167, 141, 140, 133, 124, 129, 136, 127, 108,
+  114, 112, 135, 93, 126, 119, 166, 165, 178, 181, 179, 177, 179, 186, 194, 194,
+  192, 189, 191, 199, 199, 181, 143, 111, 94, 170, 183, 164, 119, 116, 128, 145,
+  245, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 244, 234, 193, 123, 124,
+  114, 201, 176, 163, 150, 119, 174, 206, 228, 226, 233, 224, 219, 219, 218, 214,
+  215, 219, 222, 219, 218, 214, 211, 204, 195, 186, 177, 171, 173, 149, 147, 149,
+  132, 135, 149, 152, 161, 166, 169, 168, 167, 174, 190, 203, 208, 230, 223, 230,
+  246, 239, 228, 209, 194, 192, 194, 191, 185, 176, 172, 168, 162, 159, 151, 138,
+  137, 142, 134, 122, 135, 132, 149, 121, 146, 140, 172, 170, 177, 190, 195, 191,
+  189, 196, 198, 193, 198, 194, 194, 201, 203, 187, 150, 116, 95, 157, 174, 177,
+  130, 107, 123, 163, 247, 254, 254, 254, 255, 255, 255, 255, 255, 255, 255, 246,
+  238, 197, 147, 124, 131, 195, 191, 173, 148, 115, 169, 205, 228, 224, 232, 222,
+  221, 222, 221, 219, 219, 225, 228, 225, 220, 217, 214, 207, 201, 193, 186, 182,
+  182, 164, 171, 181, 164, 158, 165, 165, 177, 181, 183, 184, 189, 196, 206, 215,
+  210, 227, 224, 233, 239, 226, 223, 210, 193, 194, 200, 200, 195, 185, 177, 169,
+  168, 168, 163, 154, 155, 159, 160, 155, 166, 160, 158, 161, 162, 162, 171, 184,
+  177, 191, 197, 194, 193, 200, 202, 197, 199, 197, 195, 200, 206, 193, 153, 116,
+  91, 154, 175, 181, 134, 111, 128, 172, 247, 254, 254, 254, 255, 255, 255, 255,
+  255, 255, 255, 246, 239, 201, 178, 144, 161, 193, 192, 165, 133, 102, 157, 205,
+  223, 225, 230, 227, 224, 227, 225, 223, 224, 229, 233, 230, 223, 220, 218, 215,
+  211, 206, 200, 197, 201, 189, 189, 187, 175, 171, 178, 186, 186, 190, 195, 202,
+  210, 213, 215, 214, 215, 225, 227, 238, 234, 217, 218, 207, 200, 200, 201, 200,
+  199, 193, 189, 184, 175, 175, 172, 163, 161, 165, 169, 170, 185, 178, 166, 181,
+  170, 177, 178, 198, 187, 191, 191, 190, 191, 197, 202, 203, 198, 195, 195, 198,
+  204, 192, 151, 111, 94, 172, 193, 184, 137, 134, 154, 183, 247, 254, 254, 254,
+  255, 255, 255, 255, 255, 255, 255, 248, 245, 210, 199, 168, 182, 193, 180, 146,
+  118, 92, 146, 207, 215, 228, 225, 228, 222, 224, 223, 221, 224, 230, 235, 233,
+  228, 226, 225, 222, 219, 215, 212, 208, 201, 197, 183, 170, 167, 168, 175, 193,
+  199, 203, 206, 210, 214, 215, 217, 216, 221, 225, 227, 242, 233, 214, 216, 205,
+  207, 205, 204, 202, 201, 199, 196, 193, 188, 190, 186, 173, 165, 162, 165, 167,
+  179, 179, 176, 179, 177, 182, 190, 199, 197, 194, 191, 194, 196, 197, 199, 200,
+  194, 192, 192, 197, 201, 190, 146, 104, 107, 181, 200, 191, 148, 150, 175, 207,
+  249, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 249, 248, 219, 205, 182,
+  184, 192, 167, 134, 110, 90, 139, 210, 210, 227, 219, 225, 219, 219, 220, 216,
+  221, 229, 233, 233, 232, 231, 230, 226, 222, 216, 211, 208, 198, 209, 200, 187,
+  193, 191, 189, 205, 214, 215, 213, 208, 208, 212, 218, 224, 223, 223, 226, 244,
+  237, 219, 221, 207, 207, 205, 207, 208, 205, 201, 195, 190, 198, 200, 196, 183,
+  173, 168, 173, 174, 164, 172, 189, 176, 186, 188, 199, 191, 202, 195, 196, 204,
+  208, 198, 192, 193, 191, 192, 192, 194, 199, 188, 143, 98, 113, 167, 184, 196,
+  158, 147, 179, 232, 249, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255, 247,
+  247, 238, 221, 198, 190, 194, 175, 130, 103, 108, 124, 210, 212, 229, 223, 237,
+  231, 226, 223, 218, 221, 224, 229, 232, 230, 231, 231, 226, 228, 229, 225, 215,
+  209, 209, 206, 200, 203, 212, 215, 211, 220, 221, 222, 216, 215, 213, 218, 222,
+  217, 225, 234, 238, 233, 224, 216, 211, 212, 203, 202, 208, 211, 205, 202, 203,
+  203, 199, 194, 193, 193, 188, 182, 173, 174, 175, 181, 183, 184, 188, 193, 197,
+  199, 201, 206, 205, 201, 197, 194, 192, 191, 193, 195, 196, 200, 186, 134, 83,
+  127, 159, 178, 202, 157, 172, 219, 233, 250, 254, 254, 255, 255, 255, 255, 255,
+  255, 255, 255, 249, 251, 243, 231, 210, 196, 198, 179, 136, 103, 127, 121, 206,
+  216, 222, 229, 230, 225, 223, 218, 216, 218, 220, 227, 231, 232, 235, 233, 231,
+  231, 234, 228, 221, 217, 217, 215, 210, 213, 219, 221, 217, 220, 221, 222, 219,
+  216, 216, 217, 220, 218, 225, 234, 238, 234, 226, 218, 213, 208, 202, 202, 208,
+  209, 204, 197, 197, 194, 192, 192, 195, 198, 197, 192, 186, 182, 185, 189, 190,
+  191, 193, 196, 199, 199, 201, 206, 205, 202, 198, 196, 195, 195, 196, 198, 200,
+  199, 181, 139, 101, 128, 159, 178, 199, 163, 186, 232, 240, 250, 254, 254, 255,
+  255, 255, 255, 255, 255, 255, 255, 249, 250, 248, 242, 223, 206, 202, 185, 145,
+  105, 149, 122, 198, 221, 219, 232, 224, 222, 219, 215, 214, 214, 218, 223, 226,
+  229, 232, 232, 232, 231, 234, 232, 225, 225, 226, 225, 222, 224, 228, 227, 224,
+  219, 219, 220, 217, 215, 214, 216, 218, 219, 225, 233, 237, 235, 228, 221, 215,
+  206, 202, 203, 207, 206, 200, 195, 193, 192, 192, 194, 199, 205, 206, 202, 198,
+  193, 196, 199, 200, 199, 198, 199, 200, 198, 201, 204, 204, 201, 199, 197, 199,
+  197, 198, 199, 203, 200, 183, 156, 133, 137, 167, 185, 198, 178, 206, 243, 245,
+  252, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 247, 246, 245, 234,
+  215, 206, 191, 157, 116, 158, 138, 187, 221, 228, 228, 223, 220, 216, 212, 211,
+  212, 215, 220, 223, 224, 227, 228, 229, 229, 230, 229, 228, 228, 228, 228, 229,
+  229, 230, 228, 224, 222, 218, 216, 213, 212, 213, 216, 219, 220, 225, 232, 235,
+  234, 229, 222, 217, 210, 207, 207, 207, 205, 200, 195, 193, 201, 200, 200, 202,
+  204, 205, 204, 201, 200, 202, 204, 204, 203, 201, 198, 197, 198, 200, 203, 203,
+  202, 200, 200, 200, 201, 197, 199, 205, 206, 193, 178, 167, 148, 173, 193, 200,
+  197, 224, 246, 244, 252, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  245, 244, 249, 243, 224, 215, 201, 176, 130, 155, 162, 180, 217, 241, 218, 229,
+  220, 216, 213, 211, 211, 214, 219, 221, 222, 222, 224, 226, 226, 226, 225, 226,
+  227, 226, 226, 229, 229, 227, 224, 222, 222, 215, 211, 207, 207, 211, 216, 221,
+  220, 223, 229, 232, 232, 228, 224, 216, 211, 208, 207, 203, 199, 196, 194, 192,
+  206, 203, 200, 198, 198, 199, 200, 200, 202, 203, 203, 203, 202, 199, 195, 193,
+  195, 198, 200, 201, 200, 199, 199, 201, 205, 196, 194, 202, 209, 202, 190, 179,
+  149, 169, 197, 201, 215, 236, 247, 239, 252, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 250, 246, 251, 248, 235, 224, 214, 193, 147, 156, 184, 188,
+  218, 243, 218, 232, 222, 218, 215, 212, 212, 212, 216, 218, 220, 221, 223, 226,
+  225, 223, 223, 227, 224, 221, 221, 225, 226, 223, 220, 218, 218, 211, 205, 204,
+  206, 211, 217, 220, 220, 222, 226, 228, 229, 225, 221, 213, 205, 207, 206, 200,
+  195, 193, 190, 187, 201, 199, 196, 194, 194, 196, 198, 200, 202, 201, 200, 199,
+  199, 197, 194, 191, 194, 196, 198, 198, 197, 196, 197, 199, 206, 200, 194, 198,
+  207, 203, 188, 170, 148, 159, 195, 200, 228, 243, 245, 241, 252, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 254, 246, 250, 248, 238, 228, 220, 203,
+  162, 168, 194, 205, 222, 235, 228, 228, 222, 219, 213, 211, 210, 210, 212, 213,
+  218, 216, 218, 221, 219, 216, 218, 225, 223, 218, 217, 222, 223, 220, 218, 218,
+  211, 206, 203, 204, 208, 212, 215, 216, 218, 220, 222, 225, 227, 224, 218, 209,
+  199, 203, 206, 201, 195, 192, 189, 183, 194, 195, 196, 197, 198, 199, 200, 202,
+  202, 200, 197, 197, 197, 196, 193, 191, 192, 194, 193, 193, 192, 191, 193, 196,
+  201, 202, 199, 199, 204, 203, 186, 162, 157, 159, 197, 202, 240, 245, 242, 247,
+  253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 246, 250,
+  239, 229, 221, 208, 177, 188, 202, 223, 229, 223, 239, 224, 224, 221, 215, 212,
+  210, 209, 208, 209, 213, 211, 213, 216, 214, 209, 212, 219, 222, 216, 215, 219,
+  223, 217, 219, 220, 208, 206, 206, 209, 214, 216, 215, 213, 218, 217, 220, 221,
+  223, 220, 213, 207, 196, 206, 212, 209, 202, 197, 190, 181, 194, 197, 202, 204,
+  204, 203, 202, 202, 202, 199, 196, 195, 197, 197, 195, 193, 191, 193, 192, 191,
+  190, 189, 191, 194, 192, 202, 204, 200, 204, 204, 188, 163, 171, 168, 204, 208,
+  246, 250, 241, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 249, 253, 247, 240, 225, 209, 229, 200, 213, 218, 224, 234, 232, 228, 232,
+  224, 219, 217, 214, 210, 207, 206, 205, 203, 207, 210, 213, 214, 212, 210, 209,
+  216, 216, 216, 213, 214, 210, 210, 208, 214, 214, 215, 216, 220, 220, 218, 216,
+  213, 217, 212, 209, 218, 216, 203, 193, 200, 205, 206, 205, 206, 208, 198, 184,
+  192, 193, 194, 197, 199, 200, 200, 200, 195, 194, 195, 192, 191, 191, 191, 191,
+  188, 191, 193, 193, 191, 191, 191, 194, 198, 196, 203, 207, 206, 203, 188, 161,
+  165, 183, 206, 229, 246, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 247, 255, 247, 243, 227, 212, 231, 216, 223, 221, 224,
+  234, 233, 227, 230, 224, 221, 218, 214, 212, 207, 206, 204, 203, 205, 207, 209,
+  210, 209, 207, 206, 207, 208, 210, 210, 210, 208, 205, 207, 217, 218, 218, 218,
+  217, 218, 215, 212, 196, 207, 212, 208, 212, 206, 202, 208, 205, 207, 207, 205,
+  210, 217, 216, 208, 191, 192, 193, 196, 198, 199, 199, 199, 193, 193, 192, 191,
+  191, 190, 189, 189, 189, 191, 193, 193, 191, 190, 191, 192, 196, 192, 200, 205,
+  203, 201, 188, 166, 179, 188, 209, 234, 250, 254, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 255, 248, 244, 229, 212, 226,
+  226, 227, 219, 220, 231, 232, 226, 228, 224, 222, 218, 214, 212, 207, 205, 204,
+  203, 204, 206, 207, 208, 207, 205, 204, 202, 204, 206, 208, 208, 206, 204, 205,
+  206, 214, 223, 230, 232, 226, 216, 207, 210, 204, 194, 195, 208, 203, 188, 184,
+  180, 190, 198, 200, 205, 211, 209, 201, 189, 190, 193, 196, 198, 199, 199, 197,
+  190, 191, 191, 190, 189, 188, 187, 186, 189, 191, 192, 192, 190, 189, 190, 191,
+  196, 192, 199, 204, 201, 202, 192, 174, 193, 193, 211, 236, 251, 252, 254, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247,
+  244, 232, 214, 225, 227, 224, 213, 211, 225, 228, 225, 226, 223, 220, 218, 214,
+  212, 208, 205, 204, 205, 205, 206, 206, 206, 205, 205, 204, 205, 205, 205, 205,
+  205, 206, 206, 208, 215, 219, 224, 224, 221, 211, 198, 189, 190, 192, 189, 190,
+  195, 193, 190, 200, 196, 201, 196, 189, 191, 206, 216, 217, 187, 189, 191, 193,
+  195, 195, 196, 195, 187, 188, 188, 188, 187, 186, 184, 183, 186, 188, 190, 190,
+  188, 187, 187, 188, 199, 194, 200, 205, 202, 203, 197, 185, 205, 196, 209, 237,
+  251, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 244, 245, 238, 220, 227, 224, 217, 205, 204, 220, 226, 223, 225,
+  222, 221, 218, 214, 212, 208, 204, 203, 207, 207, 206, 205, 204, 204, 204, 204,
+  207, 205, 203, 201, 201, 203, 206, 210, 221, 219, 217, 214, 213, 211, 208, 205,
+  194, 191, 179, 178, 192, 195, 184, 178, 177, 187, 196, 195, 196, 204, 203, 197,
+  188, 189, 192, 193, 194, 193, 194, 192, 187, 185, 185, 185, 184, 183, 182, 181,
+  182, 185, 187, 187, 186, 185, 186, 187, 199, 194, 200, 205, 200, 200, 199, 190,
+  208, 200, 210, 237, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 243, 247, 244, 227, 231, 214, 208, 198, 200,
+  216, 224, 220, 223, 222, 221, 218, 216, 212, 208, 206, 203, 208, 206, 204, 202,
+  201, 201, 202, 202, 204, 202, 200, 198, 199, 202, 207, 209, 213, 216, 219, 216,
+  209, 193, 175, 161, 161, 175, 174, 167, 175, 178, 169, 163, 165, 173, 179, 180,
+  187, 198, 200, 196, 190, 192, 194, 195, 196, 195, 193, 192, 186, 183, 182, 180,
+  179, 179, 180, 180, 179, 182, 185, 186, 185, 185, 187, 188, 197, 192, 198, 205,
+  198, 193, 194, 191, 209, 205, 216, 237, 251, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 244, 250, 246, 223, 221,
+  207, 205, 198, 198, 215, 221, 219, 222, 222, 221, 219, 216, 212, 207, 206, 205,
+  204, 202, 199, 196, 195, 195, 196, 197, 196, 196, 198, 199, 202, 206, 209, 212,
+  216, 219, 218, 207, 179, 136, 92, 65, 73, 145, 189, 174, 151, 152, 172, 194,
+  139, 121, 90, 67, 80, 119, 159, 180, 196, 198, 200, 199, 199, 198, 196, 192,
+  186, 182, 179, 176, 176, 176, 178, 180, 178, 181, 184, 186, 187, 187, 189, 191,
+  197, 191, 199, 206, 196, 191, 192, 191, 211, 215, 226, 241, 252, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252,
+  251, 243, 216, 209, 205, 204, 199, 200, 216, 218, 218, 221, 223, 222, 219, 216,
+  212, 209, 205, 204, 203, 200, 197, 193, 192, 192, 194, 195, 192, 195, 200, 205,
+  210, 213, 214, 214, 217, 215, 208, 193, 167, 136, 105, 85, 101, 145, 169, 161,
+  167, 177, 164, 140, 119, 101, 73, 57, 72, 110, 144, 161, 199, 201, 203, 202,
+  202, 200, 199, 195, 186, 181, 177, 174, 173, 175, 178, 180, 179, 181, 185, 187,
+  188, 190, 192, 194, 200, 194, 202, 209, 198, 193, 194, 193, 214, 223, 235, 243,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 246, 236, 221, 201, 203, 197, 198, 202, 212, 218, 224, 224,
+  223, 219, 216, 217, 212, 207, 203, 205, 206, 200, 194, 191, 193, 195, 194, 193,
+  201, 201, 202, 205, 210, 213, 214, 213, 213, 215, 217, 208, 179, 143, 120, 113,
+  126, 141, 163, 166, 165, 176, 172, 144, 123, 129, 116, 114, 111, 114, 143, 155,
+  197, 203, 200, 198, 206, 202, 196, 196, 189, 184, 179, 175, 174, 174, 176, 178,
+  180, 184, 189, 191, 191, 190, 189, 190, 196, 195, 206, 199, 197, 202, 192, 197,
+  202, 219, 238, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 253, 240, 220, 195, 193, 192, 196, 203,
+  214, 221, 223, 221, 223, 220, 217, 218, 213, 204, 202, 201, 196, 195, 195, 196,
+  198, 200, 201, 200, 204, 206, 209, 212, 215, 216, 215, 213, 213, 213, 212, 203,
+  178, 147, 126, 118, 120, 131, 149, 154, 153, 159, 157, 138, 124, 131, 125, 126,
+  124, 125, 151, 158, 184, 194, 198, 200, 207, 207, 204, 207, 191, 186, 181, 177,
+  175, 176, 178, 179, 176, 180, 186, 189, 191, 191, 192, 193, 196, 193, 205, 199,
+  194, 195, 185, 194, 196, 215, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 222, 196,
+  194, 191, 194, 202, 212, 222, 225, 227, 223, 220, 218, 218, 213, 204, 200, 199,
+  188, 191, 195, 199, 200, 201, 202, 203, 202, 206, 210, 213, 213, 211, 210, 210,
+  212, 210, 206, 199, 180, 157, 138, 130, 113, 112, 124, 133, 129, 129, 133, 124,
+  106, 118, 120, 131, 135, 138, 163, 168, 184, 197, 201, 203, 208, 203, 201, 205,
+  197, 191, 186, 181, 178, 178, 180, 181, 176, 180, 185, 189, 190, 190, 191, 192,
+  192, 187, 204, 203, 199, 195, 190, 205, 192, 215, 241, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 229, 208, 206, 198, 193, 194, 204, 216, 228, 233, 224, 220, 218, 217,
+  213, 203, 196, 197, 187, 192, 198, 200, 199, 198, 200, 202, 205, 208, 210, 211,
+  209, 208, 209, 210, 209, 206, 201, 194, 183, 166, 152, 143, 118, 101, 103, 114,
+  113, 108, 112, 109, 99, 112, 118, 132, 138, 142, 163, 168, 180, 195, 201, 202,
+  206, 200, 197, 204, 202, 197, 191, 186, 182, 180, 181, 181, 182, 185, 188, 190,
+  189, 189, 189, 189, 195, 189, 205, 206, 200, 195, 190, 206, 201, 222, 248, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 230, 215, 209, 204, 203, 209, 218, 227, 230,
+  226, 220, 217, 216, 212, 202, 196, 196, 192, 196, 200, 201, 199, 199, 201, 204,
+  209, 208, 207, 205, 205, 206, 210, 212, 208, 206, 199, 191, 182, 170, 160, 149,
+  132, 103, 95, 106, 109, 104, 104, 102, 121, 132, 130, 139, 141, 140, 157, 159,
+  168, 184, 190, 194, 199, 197, 197, 205, 199, 197, 193, 188, 185, 182, 181, 180,
+  184, 187, 189, 190, 190, 189, 189, 190, 199, 192, 205, 202, 196, 192, 186, 199,
+  217, 233, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 232, 231, 230, 235,
+  238, 238, 234, 230, 228, 222, 217, 213, 210, 200, 197, 198, 198, 200, 202, 203,
+  203, 202, 203, 204, 199, 194, 190, 189, 191, 196, 200, 202, 202, 202, 196, 186,
+  178, 172, 162, 152, 140, 108, 94, 102, 105, 102, 105, 105, 133, 141, 135, 141,
+  141, 139, 155, 154, 166, 177, 181, 182, 188, 183, 179, 187, 188, 188, 188, 187,
+  185, 183, 181, 179, 181, 184, 187, 189, 189, 190, 192, 194, 192, 188, 202, 200,
+  203, 213, 210, 220, 235, 245, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  246, 247, 249, 251, 251, 250, 241, 232, 228, 221, 215, 211, 208, 199, 199, 201,
+  200, 201, 202, 203, 202, 199, 194, 189, 178, 171, 166, 167, 175, 181, 182, 181,
+  187, 189, 187, 179, 174, 172, 167, 159, 145, 119, 107, 109, 107, 108, 118, 120,
+  134, 142, 136, 142, 144, 139, 154, 152, 166, 173, 170, 167, 172, 165, 158, 163,
+  171, 174, 178, 182, 184, 183, 181, 179, 180, 182, 185, 186, 186, 187, 190, 192,
+  185, 187, 201, 198, 212, 237, 239, 243, 244, 250, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 250, 250, 249, 252, 246, 237, 229, 228, 219, 213, 209,
+  205, 199, 199, 203, 203, 202, 202, 203, 201, 193, 182, 171, 165, 158, 154, 158,
+  166, 173, 171, 169, 167, 175, 177, 173, 171, 175, 174, 169, 155, 134, 126, 124,
+  117, 119, 136, 141, 144, 152, 144, 148, 146, 138, 147, 144, 155, 161, 157, 155,
+  162, 159, 151, 156, 156, 161, 168, 176, 180, 181, 181, 179, 182, 183, 185, 184,
+  183, 183, 184, 186, 190, 192, 204, 196, 213, 243, 244, 243, 248, 252, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 251, 247, 247, 246, 236, 222,
+  224, 216, 210, 207, 205, 199, 198, 200, 205, 202, 203, 202, 195, 180, 173, 172,
+  155, 145, 138, 143, 148, 151, 155, 163, 160, 169, 173, 174, 176, 180, 178, 175,
+  173, 151, 141, 141, 140, 147, 157, 155, 157, 152, 148, 146, 148, 148, 145, 144,
+  152, 158, 154, 154, 163, 159, 150, 150, 152, 157, 156, 164, 180, 180, 175, 177,
+  181, 181, 181, 182, 187, 190, 193, 195, 200, 200, 200, 205, 222, 238, 246, 243,
+  249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 248,
+  247, 245, 235, 224, 223, 214, 211, 207, 201, 196, 196, 200, 215, 210, 207, 203,
+  194, 181, 171, 168, 160, 148, 124, 105, 105, 124, 145, 156, 162, 166, 166, 165,
+  167, 170, 166, 162, 156, 145, 146, 152, 149, 152, 158, 154, 152, 149, 146, 144,
+  145, 144, 142, 140, 142, 152, 153, 152, 158, 152, 144, 147, 150, 152, 148, 154,
+  175, 179, 173, 174, 181, 181, 180, 181, 185, 187, 190, 191, 195, 198, 201, 208,
+  225, 242, 245, 242, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 254, 248, 248, 247, 239, 226, 221, 213, 210, 205, 198, 193, 193, 199,
+  215, 209, 201, 198, 191, 181, 170, 163, 160, 147, 109, 71, 65, 96, 123, 134,
+  157, 158, 154, 149, 148, 149, 145, 140, 131, 128, 138, 149, 145, 144, 146, 140,
+  133, 134, 136, 138, 139, 140, 144, 146, 144, 158, 163, 158, 154, 144, 139, 148,
+  149, 151, 146, 150, 170, 176, 172, 174, 182, 181, 180, 180, 183, 184, 186, 188,
+  191, 195, 201, 214, 230, 243, 246, 242, 251, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 249, 250, 248, 241, 232, 218, 213, 208, 203,
+  195, 191, 193, 201, 209, 204, 198, 197, 193, 185, 172, 163, 150, 131, 95, 60,
+  56, 76, 95, 100, 121, 125, 122, 114, 107, 108, 108, 109, 115, 108, 113, 122,
+  119, 118, 118, 112, 105, 109, 115, 119, 122, 126, 135, 140, 144, 157, 158, 144,
+  131, 119, 120, 136, 143, 152, 152, 154, 168, 173, 173, 178, 183, 182, 181, 180,
+  182, 183, 185, 186, 190, 194, 203, 217, 233, 244, 249, 247, 252, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 248, 243, 236,
+  219, 213, 205, 200, 194, 191, 194, 202, 208, 206, 202, 201, 198, 190, 174, 162,
+  144, 119, 91, 77, 80, 88, 95, 99, 113, 124, 127, 119, 111, 113, 122, 130,
+  127, 108, 100, 103, 102, 104, 104, 96, 92, 96, 100, 101, 102, 106, 114, 119,
+  123, 133, 127, 108, 95, 85, 90, 109, 127, 147, 156, 157, 166, 171, 175, 184,
+  183, 182, 181, 180, 183, 184, 186, 187, 192, 195, 205, 219, 234, 243, 250, 251,
+  252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  251, 250, 247, 241, 226, 215, 205, 200, 195, 192, 193, 199, 202, 204, 201, 197,
+  190, 183, 168, 155, 157, 133, 116, 117, 126, 129, 134, 142, 145, 157, 162, 157,
+  152, 157, 169, 179, 141, 116, 102, 102, 102, 105, 105, 96, 95, 94, 91, 88,
+  85, 86, 91, 94, 91, 100, 94, 79, 71, 64, 70, 87, 116, 141, 153, 154,
+  164, 171, 177, 186, 180, 180, 179, 180, 183, 185, 188, 191, 197, 200, 210, 225,
+  239, 245, 250, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 251, 250, 246, 235, 221, 207, 198, 195, 192, 190, 192,
+  192, 195, 193, 186, 177, 173, 165, 154, 161, 156, 152, 151, 159, 169, 176, 178,
+  162, 168, 169, 164, 161, 166, 172, 177, 186, 167, 160, 163, 162, 163, 161, 152,
+  153, 148, 141, 137, 139, 141, 146, 147, 144, 155, 156, 150, 148, 142, 140, 150,
+  126, 146, 152, 150, 162, 172, 174, 179, 175, 175, 176, 177, 182, 186, 189, 193,
+  200, 205, 217, 233, 244, 246, 248, 252, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 253, 248, 244, 227, 208, 198,
+  195, 192, 187, 187, 188, 192, 190, 181, 172, 172, 169, 164, 150, 167, 174, 165,
+  168, 182, 189, 184, 174, 174, 168, 161, 159, 162, 160, 157, 145, 135, 137, 146,
+  143, 140, 137, 128, 131, 125, 118, 116, 123, 130, 138, 140, 146, 159, 165, 166,
+  168, 159, 149, 152, 144, 157, 155, 149, 163, 172, 171, 170, 172, 172, 173, 176,
+  181, 185, 189, 193, 200, 208, 222, 241, 248, 249, 248, 249, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 253, 251,
+  243, 229, 213, 206, 199, 192, 190, 192, 189, 190, 189, 184, 173, 166, 162, 162,
+  164, 166, 171, 177, 181, 182, 184, 182, 173, 171, 169, 169, 167, 160, 147, 139,
+  143, 140, 135, 133, 134, 135, 134, 133, 135, 130, 124, 127, 144, 158, 161, 155,
+  165, 174, 172, 167, 168, 162, 159, 167, 152, 153, 155, 159, 165, 170, 173, 175,
+  179, 170, 168, 176, 186, 189, 194, 201, 204, 219, 231, 239, 243, 247, 249, 248,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 253, 252, 252, 249, 234, 219, 210, 200, 192, 187, 190, 189, 190, 189, 184,
+  174, 167, 163, 163, 168, 171, 174, 179, 182, 182, 181, 180, 170, 169, 167, 168,
+  169, 166, 157, 151, 142, 141, 138, 137, 137, 138, 139, 141, 137, 135, 132, 134,
+  148, 160, 163, 158, 161, 170, 169, 165, 167, 161, 158, 165, 154, 154, 156, 159,
+  165, 170, 174, 177, 174, 171, 174, 182, 189, 189, 193, 201, 205, 219, 234, 242,
+  246, 249, 250, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 254, 253, 250, 252, 240, 227, 216, 204, 194, 189, 189,
+  188, 188, 186, 181, 174, 169, 165, 164, 168, 172, 177, 182, 185, 184, 182, 178,
+  166, 162, 157, 155, 155, 153, 146, 142, 144, 144, 142, 142, 142, 143, 146, 148,
+  140, 143, 147, 149, 156, 166, 171, 169, 159, 169, 170, 167, 169, 163, 160, 166,
+  157, 157, 157, 159, 165, 170, 176, 179, 172, 175, 182, 187, 188, 185, 189, 199,
+  218, 232, 245, 247, 250, 252, 251, 248, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 252, 252, 252, 244, 233, 219,
+  205, 196, 191, 191, 188, 187, 185, 180, 175, 171, 168, 166, 166, 170, 176, 182,
+  184, 183, 181, 179, 168, 160, 152, 148, 147, 145, 140, 137, 138, 135, 131, 131,
+  134, 136, 136, 135, 136, 142, 148, 147, 148, 152, 156, 155, 163, 172, 172, 170,
+  172, 165, 159, 164, 159, 158, 158, 159, 165, 171, 177, 181, 175, 180, 185, 185,
+  183, 182, 189, 201, 225, 239, 247, 249, 248, 251, 252, 250, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254,
+  252, 248, 239, 223, 205, 194, 189, 188, 189, 187, 183, 180, 176, 173, 173, 171,
+  170, 173, 178, 182, 184, 182, 179, 177, 169, 161, 152, 147, 146, 145, 140, 137,
+  131, 124, 115, 116, 122, 124, 120, 114, 130, 139, 145, 144, 143, 145, 148, 148,
+  166, 173, 172, 169, 173, 165, 156, 159, 160, 159, 158, 159, 165, 171, 177, 181,
+  179, 183, 185, 182, 182, 187, 198, 210, 228, 239, 246, 246, 247, 250, 254, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 254, 255, 253, 248, 227, 205, 194, 188, 186, 189, 186, 182, 179,
+  177, 176, 175, 173, 175, 177, 180, 181, 181, 180, 179, 175, 166, 157, 145, 137,
+  131, 125, 115, 109, 102, 94, 84, 84, 89, 90, 85, 79, 93, 105, 117, 122,
+  129, 138, 146, 149, 163, 170, 166, 163, 168, 162, 153, 155, 160, 159, 159, 160,
+  166, 171, 176, 179, 180, 183, 183, 181, 187, 196, 204, 210, 236, 249, 251, 251,
+  249, 251, 253, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 252, 253, 250, 230, 208, 198, 194, 193,
+  190, 186, 181, 179, 178, 177, 177, 175, 175, 176, 180, 183, 184, 185, 185, 183,
+  172, 163, 153, 144, 136, 126, 113, 105, 88, 85, 80, 77, 76, 75, 74, 73,
+  80, 92, 104, 112, 122, 134, 142, 146, 161, 166, 163, 161, 166, 162, 154, 157,
+  158, 158, 159, 161, 166, 170, 174, 176, 178, 180, 181, 183, 192, 198, 194, 188,
+  218, 233, 245, 247, 249, 251, 252, 248, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 251, 250, 233,
+  214, 206, 205, 204, 190, 185, 182, 178, 181, 180, 178, 176, 171, 172, 176, 180,
+  184, 189, 192, 192, 187, 181, 177, 173, 171, 164, 155, 147, 135, 138, 138, 132,
+  125, 122, 126, 131, 138, 146, 151, 153, 154, 161, 164, 163, 160, 164, 162, 160,
+  167, 164, 159, 163, 159, 157, 161, 164, 167, 170, 173, 175, 177, 179, 181, 185,
+  194, 194, 177, 160, 165, 185, 208, 228, 240, 251, 255, 253, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  249, 253, 245, 237, 206, 217, 209, 202, 198, 193, 186, 177, 180, 184, 182, 174,
+  184, 179, 174, 175, 181, 188, 193, 192, 198, 194, 187, 178, 178, 173, 163, 151,
+  147, 152, 151, 139, 131, 135, 143, 146, 153, 153, 152, 154, 155, 161, 164, 166,
+  165, 166, 165, 163, 163, 163, 160, 152, 165, 165, 167, 167, 170, 173, 177, 179,
+  169, 186, 183, 184, 203, 197, 167, 153, 160, 151, 179, 213, 240, 246, 239, 251,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 254, 249, 251, 245, 237, 207, 215, 211, 201, 204, 200, 191, 182,
+  181, 185, 182, 177, 175, 172, 172, 176, 182, 188, 191, 191, 186, 186, 184, 181,
+  180, 178, 172, 163, 154, 155, 154, 148, 143, 143, 149, 154, 153, 151, 152, 152,
+  155, 157, 161, 162, 164, 166, 167, 165, 166, 167, 164, 157, 166, 166, 166, 167,
+  169, 173, 176, 178, 179, 189, 179, 174, 189, 187, 164, 149, 153, 140, 157, 179,
+  210, 238, 240, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 254, 250, 251, 244, 238, 207, 212, 207, 197,
+  209, 206, 199, 190, 185, 185, 183, 180, 171, 171, 173, 179, 184, 189, 188, 186,
+  182, 185, 185, 181, 177, 175, 170, 162, 156, 149, 148, 151, 149, 142, 146, 155,
+  146, 147, 148, 149, 153, 155, 158, 159, 161, 164, 165, 164, 166, 168, 165, 161,
+  171, 171, 171, 172, 175, 178, 181, 183, 187, 191, 180, 173, 185, 184, 166, 149,
+  152, 141, 148, 153, 190, 239, 248, 249, 254, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 250, 250, 244, 239,
+  207, 210, 203, 194, 209, 208, 206, 200, 193, 188, 183, 182, 176, 175, 175, 179,
+  182, 184, 182, 179, 179, 184, 185, 179, 173, 169, 164, 156, 155, 144, 143, 149,
+  149, 139, 139, 149, 138, 140, 143, 146, 151, 153, 156, 157, 158, 162, 163, 162,
+  164, 166, 164, 159, 171, 173, 173, 175, 177, 180, 182, 184, 181, 184, 180, 178,
+  186, 187, 170, 147, 149, 147, 150, 141, 177, 235, 246, 241, 254, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254,
+  251, 250, 244, 241, 209, 208, 200, 192, 204, 205, 207, 207, 201, 193, 185, 183,
+  180, 176, 173, 173, 174, 176, 175, 173, 166, 171, 173, 169, 166, 163, 160, 156,
+  154, 142, 141, 149, 147, 135, 134, 143, 142, 143, 145, 147, 149, 151, 153, 153,
+  156, 161, 165, 163, 163, 164, 163, 159, 166, 167, 167, 168, 170, 172, 173, 174,
+  171, 171, 172, 174, 181, 187, 175, 152, 155, 155, 154, 137, 165, 223, 239, 238,
+  252, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 254, 251, 249, 244, 243, 211, 208, 199, 192, 197, 197, 201, 207,
+  206, 198, 190, 188, 181, 176, 170, 168, 168, 171, 171, 167, 163, 164, 163, 158,
+  153, 152, 148, 143, 142, 137, 137, 140, 135, 128, 129, 137, 147, 147, 147, 147,
+  147, 147, 149, 149, 157, 163, 168, 166, 165, 166, 166, 163, 167, 168, 168, 169,
+  169, 170, 170, 170, 175, 168, 170, 173, 178, 190, 187, 163, 163, 162, 162, 140,
+  155, 204, 231, 248, 250, 252, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 254, 251, 248, 244, 245, 213, 209, 199, 193,
+  193, 189, 192, 201, 206, 202, 196, 195, 189, 183, 176, 173, 171, 171, 168, 164,
+  161, 158, 150, 144, 142, 141, 134, 127, 130, 133, 132, 130, 126, 125, 129, 135,
+  141, 142, 142, 141, 142, 144, 145, 147, 154, 161, 166, 164, 165, 167, 168, 167,
+  171, 171, 171, 171, 170, 170, 169, 168, 172, 164, 170, 176, 177, 189, 187, 159,
+  149, 152, 162, 147, 149, 183, 214, 246, 249, 250, 252, 254, 254, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 251, 247, 244, 246,
+  215, 210, 199, 194, 191, 184, 185, 196, 204, 204, 200, 201, 200, 194, 187, 182,
+  177, 173, 167, 161, 149, 145, 137, 134, 137, 141, 136, 130, 127, 135, 137, 131,
+  126, 130, 137, 142, 131, 131, 131, 132, 135, 140, 144, 147, 149, 157, 162, 162,
+  164, 167, 168, 167, 167, 169, 168, 168, 167, 165, 164, 163, 158, 153, 166, 176,
+  175, 182, 173, 138, 121, 130, 154, 149, 145, 163, 191, 236, 247, 249, 250, 252,
+  252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 251,
+  252, 248, 250, 236, 214, 205, 205, 194, 190, 187, 188, 194, 197, 197, 198, 203,
+  203, 198, 193, 190, 186, 183, 178, 172, 156, 153, 150, 148, 144, 142, 139, 136,
+  132, 137, 143, 148, 148, 146, 143, 140, 127, 138, 145, 143, 140, 142, 145, 146,
+  159, 160, 163, 165, 166, 166, 164, 165, 165, 164, 163, 161, 159, 156, 153, 152,
+  152, 163, 157, 165, 173, 170, 163, 134, 93, 98, 118, 153, 160, 173, 172, 221,
+  242, 248, 245, 242, 250, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 254, 251, 252, 248, 250, 237, 215, 206, 206, 194, 188, 184, 184, 188,
+  190, 189, 189, 194, 195, 193, 190, 189, 187, 185, 180, 176, 163, 160, 157, 154,
+  153, 150, 150, 146, 147, 147, 149, 152, 152, 150, 150, 149, 142, 149, 152, 149,
+  144, 147, 151, 153, 162, 163, 165, 166, 165, 164, 162, 160, 163, 163, 161, 159,
+  157, 155, 154, 153, 152, 163, 157, 164, 173, 172, 169, 143, 100, 76, 75, 114,
+  140, 167, 165, 199, 238, 246, 246, 243, 250, 252, 251, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 254, 251, 251, 248, 250, 238, 217, 208, 207, 193,
+  190, 185, 184, 187, 187, 186, 185, 189, 192, 192, 192, 193, 192, 191, 188, 186,
+  175, 170, 168, 164, 163, 161, 161, 159, 161, 158, 157, 156, 156, 154, 157, 158,
+  155, 161, 160, 154, 151, 155, 157, 158, 164, 164, 162, 162, 160, 158, 156, 156,
+  161, 160, 157, 155, 154, 154, 155, 156, 153, 163, 156, 164, 172, 173, 174, 153,
+  122, 76, 50, 77, 117, 167, 166, 178, 229, 244, 244, 243, 250, 250, 249, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 251, 251, 247, 250, 238,
+  219, 209, 207, 193, 191, 186, 184, 186, 186, 184, 183, 188, 191, 190, 190, 191,
+  190, 191, 191, 191, 184, 180, 177, 172, 170, 167, 168, 164, 164, 162, 160, 157,
+  159, 158, 161, 162, 159, 163, 162, 157, 155, 158, 159, 158, 160, 160, 158, 157,
+  156, 154, 152, 151, 158, 157, 153, 151, 150, 152, 155, 157, 154, 162, 155, 162,
+  168, 169, 173, 158, 140, 98, 63, 65, 95, 166, 171, 167, 216, 237, 243, 240,
+  246, 248, 247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 251,
+  252, 247, 248, 237, 218, 210, 208, 193, 187, 181, 179, 180, 180, 179, 179, 184,
+  185, 184, 182, 180, 178, 180, 183, 186, 189, 185, 182, 176, 174, 169, 169, 165,
+  164, 162, 163, 162, 163, 162, 163, 163, 157, 162, 164, 161, 159, 161, 161, 158,
+  153, 153, 151, 151, 149, 148, 147, 149, 155, 153, 149, 146, 146, 149, 153, 155,
+  152, 160, 152, 160, 163, 160, 167, 154, 134, 115, 90, 69, 76, 155, 172, 162,
+  204, 231, 241, 240, 245, 248, 247, 248, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 254, 251, 253, 246, 245, 234, 216, 210, 208, 193, 189, 183, 180, 180,
+  180, 178, 179, 184, 182, 181, 179, 177, 173, 174, 178, 183, 189, 186, 182, 179,
+  177, 172, 167, 164, 167, 166, 167, 166, 167, 166, 165, 164, 157, 162, 164, 162,
+  161, 163, 160, 156, 148, 148, 146, 146, 144, 145, 145, 147, 150, 150, 147, 144,
+  144, 147, 150, 153, 148, 156, 151, 160, 161, 154, 161, 150, 125, 118, 109, 83,
+  73, 147, 173, 169, 198, 230, 244, 241, 247, 250, 249, 250, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 254, 251, 253, 245, 243, 230, 213, 208, 208, 194,
+  193, 186, 182, 181, 179, 177, 177, 181, 176, 178, 180, 179, 174, 173, 175, 179,
+  184, 185, 183, 183, 181, 176, 171, 166, 170, 170, 170, 168, 167, 166, 165, 164,
+  163, 165, 162, 158, 158, 159, 157, 152, 147, 147, 145, 144, 142, 143, 142, 143,
+  148, 148, 146, 144, 144, 145, 148, 150, 142, 152, 150, 161, 161, 152, 157, 148,
+  133, 113, 109, 103, 88, 147, 172, 176, 190, 225, 243, 241, 247, 250, 250, 250,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 251, 252, 243, 239, 226,
+  211, 206, 204, 193, 191, 182, 177, 175, 172, 168, 167, 172, 165, 168, 176, 175,
+  173, 170, 169, 169, 178, 178, 179, 180, 180, 177, 172, 166, 171, 169, 167, 164,
+  161, 160, 159, 159, 163, 163, 157, 151, 150, 153, 152, 146, 149, 148, 145, 144,
+  142, 142, 142, 142, 147, 145, 145, 142, 143, 142, 146, 145, 137, 147, 150, 161,
+  162, 149, 157, 149, 144, 104, 99, 111, 99, 143, 163, 176, 184, 221, 241, 239,
+  244, 250, 249, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 250, 247,
+  241, 246, 225, 181, 195, 206, 192, 197, 189, 180, 173, 171, 174, 173, 167, 161,
+  166, 163, 164, 163, 164, 164, 161, 159, 161, 163, 164, 162, 160, 157, 157, 156,
+  155, 154, 154, 155, 155, 154, 151, 148, 154, 149, 147, 149, 149, 144, 145, 148,
+  145, 144, 143, 141, 140, 139, 138, 138, 145, 144, 145, 143, 145, 142, 142, 137,
+  141, 148, 152, 145, 147, 152, 152, 139, 133, 113, 89, 114, 96, 71, 177, 184,
+  199, 233, 244, 244, 249, 255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 255, 255, 255, 255,
+  255, 253, 250, 246, 237, 244, 213, 175, 191, 204, 193, 196, 181, 176, 170, 168,
+  168, 166, 162, 157, 160, 159, 157, 158, 161, 163, 164, 163, 158, 157, 158, 156,
+  153, 151, 150, 151, 151, 150, 150, 150, 151, 150, 147, 144, 147, 142, 141, 143,
+  142, 138, 138, 142, 142, 141, 141, 140, 140, 140, 141, 141, 144, 142, 140, 139,
+  140, 140, 139, 137, 139, 147, 149, 143, 144, 150, 149, 140, 121, 113, 95, 104,
+  96, 72, 159, 188, 203, 234, 246, 245, 252, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254,
+  255, 255, 255, 255, 255, 253, 250, 246, 240, 240, 203, 175, 185, 201, 193, 193,
+  178, 175, 172, 168, 165, 161, 158, 157, 158, 155, 152, 152, 155, 158, 161, 162,
+  156, 156, 156, 154, 151, 148, 147, 147, 149, 148, 147, 147, 148, 147, 145, 143,
+  145, 142, 141, 142, 141, 137, 136, 138, 139, 139, 139, 139, 140, 142, 143, 144,
+  143, 140, 136, 135, 136, 137, 138, 137, 138, 144, 146, 142, 143, 149, 149, 141,
+  123, 122, 106, 97, 103, 72, 122, 186, 208, 238, 248, 247, 254, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254,
+  254, 254, 254, 254, 255, 255, 255, 255, 255, 253, 250, 246, 245, 240, 193, 177,
+  178, 193, 190, 187, 176, 177, 176, 172, 165, 160, 158, 158, 157, 154, 151, 150,
+  152, 154, 154, 152, 155, 155, 155, 153, 149, 146, 146, 146, 148, 146, 145, 145,
+  146, 146, 144, 142, 142, 141, 140, 140, 138, 135, 134, 134, 138, 138, 138, 139,
+  140, 141, 143, 144, 142, 138, 134, 132, 133, 136, 138, 138, 138, 142, 144, 141,
+  142, 147, 147, 142, 128, 122, 108, 97, 120, 73, 91, 191, 214, 239, 248, 247,
+  254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 254, 254, 254, 254, 254, 254, 254, 255, 255, 255, 255, 255, 253, 250, 247,
+  247, 241, 186, 182, 171, 185, 191, 189, 175, 177, 177, 172, 163, 157, 155, 156,
+  150, 149, 149, 150, 152, 152, 151, 147, 154, 153, 154, 152, 149, 146, 145, 146,
+  147, 145, 144, 144, 145, 145, 144, 143, 139, 139, 138, 135, 134, 134, 133, 132,
+  140, 140, 139, 139, 139, 140, 140, 141, 141, 137, 132, 130, 132, 136, 138, 140,
+  138, 141, 143, 142, 143, 145, 145, 141, 130, 108, 97, 97, 132, 80, 85, 201,
+  217, 240, 249, 248, 253, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 255, 255, 255, 255,
+  255, 255, 252, 247, 243, 239, 183, 189, 163, 175, 190, 189, 172, 174, 174, 169,
+  161, 154, 151, 150, 143, 143, 145, 148, 152, 153, 152, 148, 149, 151, 152, 150,
+  148, 146, 145, 146, 146, 144, 142, 142, 143, 144, 144, 143, 142, 143, 141, 137,
+  136, 139, 140, 138, 142, 141, 140, 139, 138, 138, 138, 139, 138, 134, 130, 129,
+  131, 135, 138, 139, 139, 141, 144, 145, 146, 145, 143, 139, 138, 111, 98, 100,
+  129, 81, 101, 202, 223, 242, 248, 247, 253, 255, 254, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
+  253, 254, 255, 255, 255, 255, 252, 249, 244, 245, 185, 196, 152, 158, 178, 183,
+  173, 171, 170, 166, 159, 152, 147, 145, 142, 141, 141, 143, 147, 150, 150, 150,
+  145, 147, 148, 148, 146, 144, 144, 145, 143, 141, 139, 139, 140, 142, 142, 141,
+  142, 143, 140, 134, 134, 140, 143, 141, 141, 140, 139, 139, 138, 138, 139, 139,
+  134, 131, 128, 127, 130, 133, 135, 136, 140, 142, 146, 149, 148, 145, 141, 137,
+  143, 122, 109, 104, 117, 92, 142, 214, 230, 246, 249, 248, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
+  254, 254, 254, 254, 253, 254, 255, 255, 255, 255, 254, 251, 248, 248, 191, 201,
+  144, 145, 168, 174, 174, 173, 171, 167, 162, 155, 149, 145, 147, 144, 141, 141,
+  143, 146, 148, 148, 142, 144, 146, 145, 144, 143, 143, 144, 141, 139, 137, 136,
+  138, 140, 140, 140, 133, 135, 131, 124, 125, 132, 137, 135, 140, 139, 138, 138,
+  138, 139, 140, 140, 130, 128, 126, 126, 129, 132, 133, 134, 141, 143, 147, 151,
+  150, 145, 139, 135, 130, 126, 115, 106, 110, 113, 189, 241, 236, 248, 250, 252,
+  255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 254, 254,
+  254, 254, 254, 254, 254, 254, 254, 254, 251, 251, 254, 255, 255, 255, 255, 255,
+  248, 248, 215, 202, 114, 149, 162, 160, 160, 171, 163, 156, 162, 153, 142, 152,
+  142, 143, 142, 139, 135, 135, 138, 142, 141, 146, 148, 146, 142, 141, 142, 142,
+  141, 134, 130, 132, 132, 130, 131, 133, 128, 130, 132, 133, 133, 133, 135, 137,
+  136, 136, 135, 135, 132, 129, 130, 133, 125, 127, 129, 129, 129, 131, 137, 142,
+  149, 140, 138, 145, 147, 140, 137, 138, 129, 123, 118, 110, 116, 205, 234, 234,
+  247, 249, 252, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254,
+  254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 251, 251, 254, 255,
+  255, 255, 255, 255, 251, 248, 227, 195, 104, 140, 161, 159, 160, 166, 163, 159,
+  159, 152, 146, 149, 140, 141, 140, 137, 134, 134, 137, 140, 134, 137, 139, 140,
+  140, 143, 146, 147, 142, 138, 136, 136, 133, 129, 128, 132, 130, 131, 133, 134,
+  133, 134, 135, 137, 133, 133, 132, 132, 131, 129, 128, 129, 124, 126, 128, 128,
+  129, 132, 137, 142, 143, 138, 137, 142, 144, 142, 140, 140, 130, 130, 115, 118,
+  115, 217, 234, 238, 249, 250, 254, 254, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254, 254,
+  251, 251, 254, 254, 255, 255, 255, 255, 253, 241, 246, 200, 93, 137, 152, 152,
+  157, 155, 161, 162, 154, 150, 149, 143, 137, 137, 136, 134, 131, 131, 133, 135,
+  141, 139, 137, 137, 139, 139, 139, 139, 138, 138, 139, 140, 135, 129, 129, 134,
+  131, 133, 135, 135, 134, 133, 135, 137, 129, 129, 129, 129, 130, 129, 127, 124,
+  123, 125, 127, 128, 129, 133, 137, 141, 139, 141, 140, 139, 140, 142, 140, 136,
+  129, 134, 111, 123, 121, 230, 236, 241, 250, 253, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 254, 254, 254, 254, 254, 254, 254, 254,
+  254, 254, 254, 252, 249, 250, 252, 254, 255, 255, 255, 255, 250, 238, 246, 221,
+  84, 142, 141, 144, 154, 148, 160, 165, 150, 149, 153, 141, 136, 135, 134, 132,
+  131, 131, 131, 132, 142, 137, 135, 138, 140, 138, 134, 132, 129, 132, 138, 141,
+  136, 131, 132, 139, 133, 135, 136, 135, 134, 133, 134, 135, 125, 127, 127, 127,
+  129, 130, 127, 121, 124, 125, 126, 128, 130, 134, 137, 139, 141, 147, 146, 138,
+  136, 140, 138, 129, 126, 131, 116, 124, 143, 236, 242, 248, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 254, 254, 254, 254, 254, 252, 249, 250, 252, 254, 255, 255, 255, 255,
+  250, 241, 246, 233, 78, 147, 131, 139, 149, 143, 156, 162, 148, 148, 152, 140,
+  136, 135, 133, 132, 132, 132, 131, 131, 128, 125, 127, 136, 141, 138, 134, 133,
+  126, 129, 136, 139, 136, 130, 132, 138, 135, 136, 136, 135, 133, 131, 132, 133,
+  123, 127, 129, 127, 128, 131, 128, 122, 126, 126, 127, 129, 132, 135, 137, 138,
+  140, 147, 146, 138, 135, 139, 137, 130, 125, 123, 126, 126, 200, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 252, 249, 249, 250, 254,
+  255, 255, 255, 254, 255, 246, 234, 230, 90, 144, 127, 138, 143, 143, 150, 154,
+  148, 147, 148, 143, 137, 136, 134, 134, 134, 134, 133, 131, 126, 122, 125, 134,
+  136, 129, 125, 128, 129, 130, 134, 138, 135, 130, 130, 135, 135, 136, 136, 134,
+  131, 129, 130, 131, 120, 128, 131, 126, 125, 130, 172, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 254, 255, 246, 232, 229, 129, 141, 133, 131,
+  137, 145, 145, 145, 149, 145, 142, 146, 139, 137, 135, 136, 137, 137, 134, 132,
+  133, 127, 128, 133, 131, 122, 121, 128, 132, 130, 132, 137, 137, 174, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255 };
+/* Define image 'enemy3' of size 104x134x1x3 and type 'const unsigned char' */
+const unsigned char data_enemy3[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 170, 168, 179, 181, 170, 185, 181, 197, 211, 184, 186, 216,
+  197, 199, 216, 221, 222, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 120, 152, 156, 178, 164, 171, 178,
+  183, 195, 191, 188, 192, 175, 176, 202, 192, 204, 218, 221, 209, 241, 237, 233,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 235, 181, 127, 143,
+  112, 117, 136, 131, 165, 161, 169, 166, 162, 138, 137, 127, 128, 118, 115, 137,
+  131, 136, 151, 163, 166, 220, 230, 229, 223, 238, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 219, 133, 123, 100, 87, 89, 93, 91, 106, 110, 125, 119, 145, 124,
+  95, 78, 72, 80, 88, 83, 80, 89, 91, 102, 88, 123, 127, 152, 199, 194,
+  207, 211, 232, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 211, 94, 82, 78, 78, 69, 69, 76,
+  77, 74, 80, 85, 95, 95, 110, 97, 68, 72, 66, 76, 84, 77, 72, 75,
+  74, 77, 65, 87, 85, 105, 143, 145, 174, 212, 240, 230, 246, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 117,
+  114, 77, 73, 77, 77, 71, 81, 89, 84, 82, 76, 86, 87, 92, 90, 88,
+  66, 77, 74, 87, 95, 90, 86, 87, 83, 90, 86, 97, 89, 108, 130, 137,
+  188, 200, 235, 230, 243, 230, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 243, 209, 188, 139, 96, 75, 72, 78, 83, 89, 82, 71, 77, 84,
+  77, 80, 69, 84, 78, 85, 69, 78, 67, 77, 73, 81, 84, 77, 77, 77,
+  72, 66, 73, 76, 67, 81, 83, 85, 142, 178, 218, 219, 237, 230, 237, 241,
+  250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 242, 196, 180, 174, 145, 99, 68, 74,
+  79, 72, 80, 90, 77, 59, 60, 71, 67, 75, 67, 86, 79, 81, 62, 77,
+  75, 87, 78, 75, 70, 60, 62, 64, 56, 67, 79, 79, 71, 74, 56, 49,
+  93, 112, 160, 169, 198, 202, 216, 219, 219, 226, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 235, 207,
+  217, 208, 175, 164, 129, 84, 56, 73, 72, 79, 83, 91, 80, 59, 56, 67,
+  70, 70, 69, 84, 86, 83, 75, 85, 84, 89, 80, 78, 70, 63, 66, 71,
+  62, 60, 72, 74, 73, 74, 58, 49, 72, 110, 157, 167, 200, 212, 227, 220,
+  212, 206, 225, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 239, 223, 208, 207, 205, 152, 113, 113, 96, 81, 71, 97,
+  87, 72, 66, 70, 68, 55, 53, 64, 72, 69, 71, 78, 91, 88, 99, 98,
+  89, 90, 85, 86, 81, 76, 79, 78, 65, 67, 72, 72, 78, 83, 83, 86,
+  89, 104, 141, 140, 171, 191, 218, 215, 205, 210, 228, 219, 237, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 225, 245, 222, 199,
+  176, 121, 76, 79, 72, 73, 69, 90, 70, 59, 46, 49, 60, 60, 65, 80,
+  89, 92, 96, 93, 116, 115, 142, 130, 115, 124, 121, 122, 118, 107, 105, 95,
+  73, 66, 62, 55, 62, 69, 79, 91, 82, 91, 119, 106, 137, 170, 214, 227,
+  223, 203, 218, 203, 205, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 204, 196, 206, 190, 176, 169, 133, 87, 77, 70, 68, 70, 72, 66,
+  58, 47, 57, 71, 79, 86, 98, 111, 123, 127, 151, 161, 178, 183, 177, 179,
+  165, 180, 164, 173, 149, 162, 152, 138, 122, 116, 92, 92, 81, 79, 90, 83,
+  106, 109, 114, 113, 115, 134, 160, 178, 183, 213, 226, 219, 212, 224, 220, 224,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 234, 201, 204, 206, 213, 196, 175, 163,
+  124, 81, 79, 74, 72, 73, 68, 60, 53, 48, 58, 71, 79, 88, 102, 118,
+  126, 137, 158, 168, 185, 189, 182, 185, 172, 177, 172, 174, 163, 156, 156, 132,
+  125, 112, 102, 106, 87, 84, 99, 91, 99, 116, 114, 106, 104, 122, 155, 185,
+  200, 206, 225, 218, 211, 222, 224, 213, 229, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246,
+  218, 222, 225, 208, 184, 149, 124, 114, 80, 67, 70, 76, 79, 80, 76, 72,
+  67, 87, 96, 108, 115, 126, 144, 159, 167, 169, 189, 197, 211, 215, 209, 212,
+  200, 199, 204, 201, 203, 183, 194, 166, 169, 140, 141, 137, 109, 98, 110, 103,
+  100, 119, 119, 112, 104, 105, 112, 122, 125, 168, 199, 202, 200, 223, 239, 236,
+  235, 226, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 242, 239, 226, 222, 224, 191, 147, 105, 87, 86,
+  64, 61, 68, 78, 85, 87, 87, 88, 89, 109, 120, 129, 135, 151, 171, 185,
+  191, 189, 209, 212, 224, 226, 220, 226, 213, 217, 216, 217, 212, 198, 207, 187,
+  187, 178, 175, 161, 129, 112, 115, 116, 114, 94, 99, 101, 100, 93, 88, 82,
+  80, 111, 150, 165, 167, 198, 221, 218, 213, 219, 210, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 219, 235,
+  214, 216, 225, 187, 140, 102, 81, 78, 62, 71, 78, 85, 88, 90, 91, 98,
+  102, 118, 129, 138, 145, 163, 185, 199, 200, 207, 224, 225, 233, 233, 228, 235,
+  223, 234, 220, 226, 204, 208, 205, 196, 190, 190, 183, 164, 148, 130, 115, 117,
+  119, 105, 100, 98, 94, 88, 87, 91, 96, 111, 152, 170, 176, 206, 229, 224,
+  218, 219, 198, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 202, 207, 226, 205, 202, 205, 159, 115, 89, 73, 75,
+  71, 73, 77, 82, 87, 93, 103, 114, 125, 134, 148, 158, 165, 185, 210, 222,
+  219, 223, 238, 236, 243, 242, 235, 243, 233, 243, 227, 239, 212, 228, 224, 226,
+  219, 202, 197, 180, 175, 155, 126, 120, 110, 121, 109, 104, 99, 91, 86, 87,
+  92, 81, 118, 135, 148, 187, 217, 225, 227, 215, 201, 199, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 183, 185, 200,
+  173, 138, 141, 100, 76, 75, 71, 81, 90, 73, 75, 82, 90, 102, 117, 133,
+  146, 145, 160, 171, 180, 201, 227, 236, 229, 230, 243, 240, 243, 242, 235, 243,
+  234, 237, 231, 241, 227, 232, 241, 239, 241, 220, 225, 208, 202, 187, 159, 152,
+  126, 98, 90, 93, 102, 101, 93, 84, 83, 79, 103, 110, 123, 168, 204, 226,
+  244, 237, 233, 247, 232, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 232, 232, 207, 193, 186, 142, 100, 108, 81, 74, 81, 66, 60,
+  63, 84, 87, 90, 97, 111, 126, 140, 151, 163, 181, 192, 198, 222, 247, 253,
+  245, 249, 255, 255, 255, 255, 251, 255, 251, 248, 252, 251, 250, 231, 250, 235,
+  247, 223, 239, 222, 216, 209, 200, 202, 167, 113, 100, 99, 105, 103, 90, 79,
+  73, 96, 105, 93, 93, 128, 158, 184, 209, 205, 208, 246, 212, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 235, 222, 195, 202, 197,
+  132, 106, 104, 86, 72, 85, 65, 80, 55, 72, 88, 93, 101, 121, 136, 146,
+  162, 170, 186, 209, 212, 223, 244, 246, 253, 251, 250, 250, 249, 249, 248, 249,
+  249, 251, 249, 249, 247, 249, 250, 251, 251, 237, 234, 229, 227, 226, 218, 199,
+  173, 121, 109, 110, 105, 95, 98, 97, 82, 98, 101, 92, 96, 124, 143, 170,
+  212, 206, 207, 242, 201, 226, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 217, 221, 204, 170, 169, 165, 123, 71, 75, 68, 75, 81, 60, 73,
+  67, 77, 95, 105, 115, 134, 149, 157, 172, 184, 197, 219, 219, 228, 248, 247,
+  249, 251, 251, 250, 250, 250, 250, 249, 250, 250, 249, 248, 247, 248, 250, 252,
+  252, 253, 248, 241, 235, 237, 237, 233, 217, 168, 153, 142, 125, 106, 107, 110,
+  101, 92, 96, 87, 85, 95, 100, 118, 155, 149, 174, 225, 196, 205, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 195, 199, 162, 109, 91, 76,
+  54, 56, 63, 61, 83, 73, 52, 56, 66, 78, 98, 109, 120, 141, 154, 159,
+  172, 189, 199, 219, 218, 229, 250, 247, 247, 251, 251, 252, 252, 252, 252, 251,
+  250, 250, 249, 249, 249, 249, 249, 252, 252, 255, 253, 248, 241, 243, 247, 250,
+  242, 205, 187, 168, 140, 110, 107, 115, 114, 100, 102, 97, 91, 87, 81, 92,
+  119, 119, 160, 221, 210, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 217, 214, 214, 160, 103, 90, 76, 66, 62, 71, 65, 86, 63, 57, 49,
+  65, 82, 101, 113, 124, 143, 157, 163, 176, 191, 199, 216, 216, 229, 252, 248,
+  248, 249, 250, 252, 253, 253, 252, 250, 248, 249, 248, 250, 250, 250, 251, 251,
+  251, 245, 249, 250, 245, 245, 245, 245, 238, 215, 200, 185, 155, 119, 106, 112,
+  109, 105, 101, 97, 96, 93, 87, 95, 113, 119, 156, 213, 225, 223, 233, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 253, 217, 219, 193, 119, 66, 66, 68,
+  58, 67, 76, 69, 74, 58, 73, 65, 74, 94, 111, 122, 130, 150, 164, 172,
+  186, 197, 203, 219, 217, 230, 252, 247, 247, 247, 249, 250, 252, 252, 251, 250,
+  248, 249, 249, 249, 251, 251, 251, 251, 250, 239, 245, 248, 246, 244, 243, 242,
+  238, 223, 213, 208, 187, 151, 127, 117, 106, 100, 83, 78, 81, 80, 80, 90,
+  99, 106, 127, 169, 210, 215, 229, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  228, 226, 231, 165, 85, 39, 44, 68, 54, 73, 75, 73, 63, 57, 77, 70,
+  77, 103, 119, 129, 137, 155, 168, 176, 191, 207, 215, 228, 224, 233, 250, 245,
+  247, 248, 249, 250, 250, 250, 250, 250, 248, 250, 250, 251, 251, 250, 252, 251,
+  250, 247, 249, 249, 246, 244, 249, 251, 250, 239, 233, 234, 224, 193, 162, 139,
+  118, 106, 79, 70, 72, 67, 70, 79, 84, 89, 97, 117, 169, 176, 214, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 188, 209, 196, 201, 116, 59, 36, 36, 79,
+  63, 74, 65, 77, 62, 66, 68, 64, 78, 104, 122, 133, 141, 158, 169, 175,
+  186, 210, 218, 233, 226, 232, 248, 245, 248, 250, 250, 249, 250, 250, 251, 252,
+  251, 250, 250, 251, 251, 251, 251, 249, 248, 250, 251, 250, 247, 247, 252, 255,
+  255, 250, 242, 243, 242, 220, 192, 165, 139, 122, 91, 80, 77, 65, 66, 78,
+  80, 86, 99, 99, 138, 136, 198, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 185,
+  205, 198, 202, 105, 70, 53, 31, 74, 51, 66, 48, 75, 67, 76, 64, 65,
+  88, 105, 126, 139, 147, 165, 173, 177, 185, 206, 216, 232, 227, 230, 246, 246,
+  251, 252, 252, 250, 250, 250, 250, 252, 252, 250, 248, 251, 250, 252, 248, 249,
+  245, 247, 247, 249, 246, 248, 250, 247, 245, 248, 236, 237, 241, 229, 208, 182,
+  155, 127, 97, 88, 84, 64, 63, 77, 80, 89, 111, 103, 126, 117, 197, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 227, 202, 215, 157, 173, 63, 70, 64, 63, 58,
+  67, 69, 60, 87, 75, 81, 64, 70, 87, 122, 139, 157, 169, 176, 179, 180,
+  183, 211, 214, 219, 227, 228, 229, 242, 255, 250, 250, 250, 251, 252, 252, 254,
+  254, 245, 248, 253, 252, 251, 248, 249, 250, 244, 248, 250, 245, 242, 244, 247,
+  250, 255, 255, 255, 246, 232, 219, 206, 196, 165, 127, 116, 103, 74, 58, 67,
+  72, 79, 105, 106, 110, 112, 176, 243, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 221, 196,
+  200, 150, 151, 60, 54, 59, 64, 61, 74, 90, 68, 80, 69, 84, 77, 77,
+  89, 121, 140, 159, 171, 181, 192, 197, 199, 211, 216, 225, 233, 236, 237, 242,
+  250, 247, 247, 247, 247, 247, 248, 250, 249, 249, 249, 248, 246, 245, 246, 252,
+  255, 248, 253, 252, 247, 244, 245, 246, 248, 255, 255, 255, 252, 243, 234, 226,
+  218, 191, 158, 140, 122, 84, 63, 69, 75, 72, 98, 98, 97, 103, 169, 205,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 243, 225, 204, 196, 136, 124, 73, 50, 65, 67, 57,
+  72, 87, 69, 80, 70, 81, 78, 78, 89, 122, 143, 161, 168, 177, 194, 202,
+  202, 215, 216, 222, 229, 234, 238, 243, 248, 249, 250, 249, 250, 250, 251, 253,
+  252, 252, 250, 248, 246, 245, 245, 249, 253, 248, 253, 253, 248, 246, 248, 250,
+  250, 255, 255, 254, 249, 241, 233, 226, 219, 206, 178, 155, 136, 93, 70, 67,
+  73, 73, 93, 95, 91, 97, 153, 176, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 192, 197, 171,
+  147, 95, 85, 82, 51, 74, 70, 54, 69, 65, 68, 93, 84, 76, 72, 78,
+  104, 136, 157, 170, 168, 175, 192, 200, 197, 216, 213, 212, 216, 226, 235, 244,
+  250, 251, 251, 251, 250, 252, 253, 252, 253, 251, 251, 253, 251, 250, 247, 245,
+  243, 244, 248, 250, 246, 248, 252, 255, 254, 255, 255, 253, 248, 241, 234, 231,
+  225, 214, 193, 167, 153, 115, 94, 76, 78, 82, 89, 97, 98, 98, 131, 158,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 206, 199, 152, 112, 55, 51, 80, 50, 72, 67, 57,
+  77, 60, 71, 96, 91, 77, 82, 94, 127, 156, 173, 180, 177, 180, 193, 199,
+  197, 209, 211, 212, 215, 226, 236, 245, 248, 248, 248, 248, 247, 248, 249, 249,
+  249, 250, 250, 250, 251, 251, 248, 246, 244, 241, 245, 246, 245, 248, 252, 255,
+  253, 250, 250, 252, 250, 249, 248, 248, 245, 229, 215, 185, 182, 151, 133, 96,
+  90, 86, 80, 97, 108, 105, 111, 144, 199, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 241, 218, 197, 128,
+  85, 57, 53, 78, 52, 63, 59, 60, 80, 70, 71, 76, 79, 77, 104, 113,
+  141, 162, 173, 179, 181, 184, 192, 199, 203, 202, 212, 223, 230, 239, 245, 247,
+  245, 250, 250, 249, 249, 249, 251, 251, 251, 253, 248, 244, 244, 246, 249, 253,
+  255, 244, 245, 246, 244, 246, 250, 252, 247, 244, 245, 246, 247, 245, 243, 242,
+  242, 233, 228, 191, 195, 167, 152, 101, 89, 82, 69, 92, 105, 107, 100, 136,
+  168, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 220, 228, 199, 124, 94, 69, 64, 72, 55, 57, 55, 61,
+  73, 76, 71, 67, 76, 81, 120, 126, 151, 162, 166, 175, 185, 189, 192, 200,
+  212, 204, 221, 236, 242, 247, 251, 250, 246, 253, 253, 252, 251, 252, 254, 254,
+  254, 255, 250, 245, 245, 247, 250, 253, 252, 244, 245, 245, 244, 247, 251, 253,
+  247, 243, 242, 244, 244, 242, 238, 236, 233, 231, 232, 193, 199, 169, 156, 98,
+  87, 79, 70, 94, 97, 106, 100, 133, 150, 196, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 195, 197, 161, 89,
+  73, 54, 53, 52, 52, 54, 56, 64, 68, 77, 80, 81, 94, 95, 136, 139,
+  164, 167, 168, 178, 192, 196, 195, 204, 220, 214, 232, 243, 245, 246, 250, 251,
+  250, 249, 247, 246, 247, 249, 249, 250, 251, 255, 255, 252, 253, 251, 249, 242,
+  238, 240, 241, 240, 242, 248, 255, 255, 250, 244, 246, 252, 255, 255, 254, 252,
+  251, 235, 242, 204, 210, 178, 167, 109, 104, 86, 79, 100, 93, 103, 104, 132,
+  130, 157, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 172, 171, 178, 123, 59, 52, 52, 50, 49, 50, 55, 61, 66,
+  71, 81, 70, 71, 94, 120, 136, 151, 164, 168, 173, 176, 180, 192, 203, 207,
+  209, 233, 238, 246, 252, 252, 247, 248, 254, 251, 247, 247, 251, 250, 246, 248,
+  255, 255, 254, 253, 250, 247, 244, 243, 241, 239, 238, 242, 249, 251, 247, 247,
+  247, 247, 247, 250, 251, 252, 254, 255, 255, 242, 250, 215, 229, 197, 180, 114,
+  106, 100, 93, 91, 115, 103, 116, 108, 105, 154, 180, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 167, 168, 176, 117, 70,
+  60, 55, 52, 51, 51, 54, 59, 65, 73, 78, 72, 75, 98, 123, 137, 148,
+  160, 165, 172, 178, 181, 190, 200, 205, 210, 225, 238, 248, 251, 247, 245, 247,
+  250, 252, 248, 246, 248, 248, 245, 248, 255, 251, 251, 249, 247, 244, 242, 240,
+  238, 242, 241, 242, 249, 251, 248, 247, 250, 248, 249, 250, 250, 249, 249, 252,
+  254, 243, 239, 218, 210, 198, 163, 115, 99, 95, 91, 92, 113, 100, 112, 106,
+  104, 154, 147, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 243, 171, 171, 173, 106, 75, 60, 58, 56, 55, 53, 55, 59, 64,
+  72, 76, 76, 83, 107, 132, 147, 157, 166, 174, 183, 191, 193, 194, 201, 205,
+  210, 219, 238, 248, 246, 243, 246, 246, 244, 251, 248, 247, 247, 248, 248, 253,
+  255, 250, 250, 248, 245, 243, 243, 244, 243, 250, 248, 250, 252, 252, 249, 249,
+  250, 239, 241, 244, 243, 240, 239, 244, 247, 252, 239, 238, 210, 219, 163, 131,
+  98, 84, 87, 93, 108, 95, 107, 109, 108, 148, 144, 191, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 166, 165, 162, 92, 77,
+  60, 56, 56, 59, 59, 60, 61, 64, 71, 85, 89, 98, 119, 139, 150, 157,
+  164, 173, 185, 195, 194, 194, 197, 204, 209, 214, 233, 239, 236, 239, 247, 245,
+  235, 245, 246, 249, 249, 250, 252, 255, 255, 254, 252, 250, 249, 250, 249, 251,
+  251, 253, 253, 254, 254, 254, 249, 246, 243, 247, 250, 254, 250, 247, 247, 253,
+  255, 233, 220, 228, 204, 213, 158, 125, 84, 82, 86, 97, 100, 91, 104, 116,
+  116, 137, 134, 138, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 209, 150, 148, 147, 84, 78, 67, 50, 55, 62, 64, 64, 63, 64,
+  70, 93, 100, 108, 120, 133, 139, 142, 146, 160, 174, 184, 184, 185, 191, 199,
+  207, 210, 221, 225, 225, 235, 248, 246, 233, 243, 248, 252, 253, 254, 254, 255,
+  254, 255, 253, 252, 254, 254, 255, 255, 255, 249, 252, 255, 255, 253, 248, 241,
+  235, 222, 223, 226, 223, 220, 218, 221, 224, 217, 205, 204, 198, 190, 161, 125,
+  85, 84, 89, 101, 93, 87, 99, 122, 122, 133, 129, 121, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 171, 205, 151, 136, 132, 80, 72,
+  71, 49, 54, 63, 66, 65, 63, 63, 69, 86, 95, 105, 117, 128, 137, 143,
+  147, 171, 182, 187, 184, 182, 185, 192, 197, 207, 210, 212, 215, 227, 242, 243,
+  235, 243, 251, 254, 255, 255, 255, 255, 255, 252, 251, 252, 253, 253, 255, 254,
+  254, 252, 255, 255, 252, 246, 240, 232, 222, 216, 216, 217, 218, 216, 215, 215,
+  215, 213, 202, 188, 194, 174, 170, 136, 103, 85, 91, 105, 85, 84, 98, 125,
+  122, 136, 133, 116, 177, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 184, 207, 159, 126, 116, 74, 60, 72, 53, 57, 64, 64, 61, 59, 62,
+  70, 76, 88, 101, 113, 126, 141, 152, 159, 174, 180, 181, 175, 170, 175, 180,
+  181, 190, 188, 188, 190, 196, 203, 212, 216, 219, 228, 234, 234, 239, 249, 255,
+  254, 246, 246, 248, 251, 252, 252, 250, 249, 254, 253, 245, 230, 215, 206, 195,
+  181, 163, 163, 169, 175, 181, 182, 181, 178, 188, 175, 167, 175, 156, 156, 128,
+  90, 81, 88, 104, 79, 83, 94, 122, 113, 137, 138, 116, 134, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 179, 195, 154, 111, 101, 70, 53,
+  75, 58, 61, 64, 61, 57, 56, 60, 68, 78, 89, 100, 109, 118, 131, 143,
+  149, 145, 151, 152, 148, 149, 157, 165, 166, 165, 160, 161, 159, 155, 155, 167,
+  182, 182, 191, 197, 199, 211, 226, 239, 242, 242, 243, 248, 250, 251, 249, 246,
+  243, 246, 240, 223, 196, 175, 160, 147, 131, 113, 114, 123, 136, 149, 154, 155,
+  150, 167, 155, 161, 168, 158, 150, 123, 75, 76, 84, 103, 77, 83, 93, 118,
+  104, 132, 139, 115, 130, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  228, 174, 194, 162, 106, 100, 58, 65, 70, 61, 62, 64, 58, 53, 54, 63,
+  74, 85, 92, 108, 94, 127, 127, 130, 149, 137, 146, 156, 135, 140, 165, 148,
+  155, 154, 156, 148, 154, 155, 155, 151, 166, 195, 176, 183, 202, 201, 216, 237,
+  241, 245, 240, 244, 255, 239, 246, 230, 250, 230, 240, 212, 176, 162, 155, 145,
+  121, 114, 99, 122, 121, 140, 155, 129, 148, 144, 163, 144, 150, 160, 142, 120,
+  78, 72, 83, 106, 83, 82, 86, 115, 111, 131, 131, 130, 121, 154, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 153, 149, 167, 133, 86, 89, 59, 70,
+  79, 60, 60, 59, 56, 54, 55, 58, 64, 81, 84, 103, 106, 127, 125, 116,
+  123, 143, 142, 129, 137, 162, 186, 209, 218, 219, 229, 199, 170, 119, 128, 138,
+  171, 155, 155, 173, 177, 182, 191, 205, 190, 214, 203, 220, 208, 236, 233, 217,
+  199, 219, 189, 184, 187, 176, 189, 203, 172, 134, 102, 106, 129, 153, 151, 132,
+  149, 144, 160, 156, 143, 127, 120, 123, 107, 81, 82, 93, 84, 81, 87, 109,
+  114, 141, 138, 133, 117, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 235,
+  163, 160, 169, 125, 81, 86, 62, 70, 78, 58, 56, 56, 55, 55, 54, 54,
+  54, 72, 72, 98, 117, 106, 106, 100, 116, 137, 161, 163, 192, 191, 150, 145,
+  118, 107, 124, 97, 101, 71, 133, 139, 150, 157, 168, 184, 151, 160, 170, 189,
+  163, 178, 166, 187, 177, 195, 186, 189, 197, 178, 199, 226, 230, 216, 205, 179,
+  142, 97, 99, 116, 166, 188, 170, 166, 166, 144, 132, 148, 159, 169, 173, 130,
+  75, 95, 78, 73, 86, 79, 88, 102, 118, 144, 141, 141, 123, 130, 168, 255,
+  255, 255, 255, 255, 255, 255, 255, 211, 187, 184, 186, 131, 92, 92, 70, 67,
+  73, 53, 55, 58, 57, 55, 52, 52, 55, 70, 72, 101, 117, 76, 80, 95,
+  135, 172, 169, 152, 121, 89, 54, 80, 82, 179, 230, 220, 216, 132, 195, 191,
+  188, 177, 196, 206, 138, 143, 142, 160, 124, 96, 98, 113, 130, 92, 92, 121,
+  203, 212, 206, 117, 57, 144, 226, 223, 232, 153, 187, 190, 210, 202, 191, 231,
+  230, 210, 123, 89, 85, 129, 190, 162, 103, 105, 75, 58, 88, 82, 92, 98,
+  119, 135, 137, 146, 138, 143, 127, 255, 255, 255, 255, 255, 255, 255, 255, 202,
+  186, 183, 182, 123, 95, 97, 80, 69, 74, 50, 57, 63, 59, 52, 48, 55,
+  62, 83, 78, 99, 108, 63, 70, 91, 134, 172, 158, 166, 108, 79, 72, 90,
+  96, 173, 233, 226, 221, 119, 198, 196, 173, 154, 188, 206, 143, 151, 143, 151,
+  118, 88, 99, 118, 130, 86, 88, 120, 202, 190, 184, 100, 43, 147, 234, 214,
+  217, 168, 205, 207, 227, 199, 176, 229, 229, 183, 121, 111, 104, 125, 169, 146,
+  102, 103, 69, 52, 88, 86, 95, 98, 119, 130, 132, 144, 141, 151, 133, 255,
+  255, 255, 255, 255, 255, 255, 232, 192, 181, 174, 173, 112, 94, 95, 83, 69,
+  75, 56, 62, 66, 58, 47, 45, 57, 70, 88, 74, 79, 80, 62, 67, 71,
+  95, 126, 92, 110, 50, 45, 62, 83, 80, 212, 255, 251, 249, 153, 233, 210,
+  147, 174, 197, 194, 131, 120, 97, 94, 83, 98, 109, 133, 104, 103, 93, 92,
+  88, 95, 87, 95, 95, 157, 231, 235, 246, 167, 171, 187, 240, 215, 163, 188,
+  189, 149, 128, 118, 97, 85, 106, 110, 96, 89, 64, 58, 85, 92, 98, 103,
+  113, 132, 131, 137, 131, 145, 133, 255, 255, 255, 255, 255, 255, 255, 190, 191,
+  179, 170, 168, 104, 91, 89, 81, 64, 73, 68, 68, 64, 52, 43, 44, 58,
+  70, 80, 65, 63, 49, 58, 57, 52, 64, 66, 39, 63, 39, 53, 59, 95,
+  81, 186, 248, 255, 255, 142, 199, 182, 112, 109, 124, 117, 87, 83, 73, 84,
+  112, 179, 192, 207, 168, 174, 160, 122, 72, 71, 38, 47, 61, 135, 224, 230,
+  235, 189, 156, 155, 196, 161, 107, 123, 130, 98, 101, 84, 68, 59, 61, 69,
+  58, 69, 57, 68, 80, 94, 99, 109, 104, 127, 130, 135, 123, 138, 131, 188,
+  255, 255, 255, 255, 255, 235, 189, 181, 168, 161, 159, 93, 84, 80, 78, 62,
+  74, 78, 71, 60, 46, 39, 43, 55, 66, 69, 63, 65, 34, 55, 49, 49,
+  65, 68, 46, 54, 48, 52, 33, 100, 87, 201, 241, 255, 247, 149, 212, 187,
+  95, 103, 115, 109, 102, 90, 71, 69, 109, 178, 198, 200, 193, 164, 164, 112,
+  86, 59, 76, 73, 49, 134, 222, 216, 249, 177, 156, 172, 198, 158, 113, 119,
+  115, 77, 99, 76, 70, 72, 66, 76, 64, 55, 54, 76, 78, 96, 98, 111,
+  96, 116, 125, 137, 123, 139, 132, 152, 255, 255, 255, 255, 255, 201, 225, 188,
+  186, 190, 166, 103, 74, 85, 65, 44, 70, 71, 63, 54, 50, 52, 51, 46,
+  40, 40, 30, 35, 56, 73, 75, 73, 73, 84, 75, 77, 51, 44, 37, 55,
+  51, 152, 205, 211, 212, 109, 129, 85, 49, 43, 32, 50, 68, 78, 73, 81,
+  135, 209, 226, 208, 214, 213, 211, 137, 77, 59, 72, 54, 79, 73, 126, 134,
+  153, 150, 107, 94, 90, 60, 52, 68, 69, 53, 52, 66, 67, 50, 50, 54,
+  43, 69, 64, 75, 89, 86, 87, 98, 103, 115, 113, 119, 144, 120, 130, 149,
+  255, 255, 255, 255, 255, 203, 228, 194, 186, 174, 150, 95, 60, 65, 56, 41,
+  48, 58, 53, 46, 45, 49, 49, 44, 40, 35, 33, 44, 64, 75, 71, 68,
+  68, 73, 55, 57, 42, 43, 33, 46, 39, 65, 88, 106, 106, 51, 61, 56,
+  39, 42, 36, 47, 50, 61, 66, 75, 117, 187, 201, 202, 223, 223, 223, 151,
+  78, 68, 63, 40, 64, 44, 71, 71, 97, 81, 58, 65, 72, 51, 46, 56,
+  51, 55, 42, 42, 46, 55, 88, 109, 94, 83, 70, 68, 78, 81, 83, 89,
+  91, 104, 107, 127, 156, 125, 129, 150, 255, 255, 255, 255, 238, 174, 193, 153,
+  129, 134, 111, 74, 48, 53, 64, 63, 53, 49, 46, 43, 44, 47, 46, 44,
+  40, 40, 45, 60, 82, 93, 93, 97, 102, 73, 46, 45, 40, 45, 31, 37,
+  28, 30, 32, 74, 77, 67, 42, 52, 40, 34, 34, 40, 36, 49, 69, 83,
+  122, 191, 200, 220, 243, 234, 232, 169, 81, 80, 64, 43, 69, 48, 52, 51,
+  86, 84, 69, 66, 60, 36, 41, 56, 53, 36, 45, 57, 54, 57, 95, 120,
+  105, 101, 75, 62, 68, 74, 79, 80, 77, 89, 91, 126, 156, 120, 118, 140,
+  255, 255, 255, 255, 216, 187, 208, 163, 128, 131, 97, 70, 55, 49, 58, 61,
+  42, 47, 46, 45, 45, 45, 44, 41, 41, 46, 49, 59, 79, 92, 102, 113,
+  122, 91, 58, 55, 47, 49, 29, 32, 25, 34, 33, 76, 80, 85, 48, 49,
+  31, 32, 31, 42, 40, 53, 74, 96, 144, 195, 194, 223, 239, 215, 215, 176,
+  88, 70, 55, 42, 66, 49, 50, 53, 83, 101, 91, 78, 51, 27, 37, 55,
+  56, 31, 55, 75, 69, 67, 105, 125, 101, 111, 82, 64, 68, 73, 76, 74,
+  67, 95, 92, 129, 153, 123, 118, 143, 255, 255, 255, 255, 206, 186, 201, 145,
+  110, 120, 78, 62, 64, 52, 51, 55, 42, 41, 42, 44, 44, 44, 42, 41,
+  43, 69, 70, 76, 89, 103, 112, 116, 118, 98, 68, 63, 52, 48, 28, 37,
+  34, 35, 35, 50, 50, 52, 43, 44, 35, 42, 38, 49, 52, 59, 68, 94,
+  153, 206, 199, 230, 233, 204, 211, 200, 124, 68, 61, 50, 54, 40, 44, 44,
+  56, 56, 64, 61, 41, 29, 39, 49, 44, 60, 63, 67, 60, 83, 144, 162,
+  123, 118, 89, 74, 78, 78, 77, 74, 66, 86, 75, 102, 118, 109, 109, 134,
+  255, 255, 255, 255, 179, 162, 162, 93, 70, 89, 53, 49, 62, 55, 48, 54,
+  49, 32, 36, 40, 40, 40, 40, 42, 48, 81, 86, 96, 110, 123, 129, 125,
+  119, 92, 68, 65, 50, 45, 29, 45, 46, 31, 38, 37, 36, 37, 45, 43,
+  40, 41, 35, 47, 53, 62, 70, 95, 160, 228, 220, 247, 236, 213, 217, 221,
+  156, 73, 71, 57, 46, 34, 40, 38, 34, 39, 52, 50, 36, 33, 41, 46,
+  43, 69, 73, 74, 68, 89, 147, 165, 127, 122, 96, 85, 87, 85, 81, 75,
+  67, 67, 57, 71, 80, 96, 98, 120, 255, 255, 255, 255, 171, 166, 155, 84,
+  88, 76, 61, 58, 61, 53, 44, 42, 35, 33, 37, 41, 40, 38, 38, 45,
+  54, 71, 84, 97, 111, 122, 126, 125, 122, 94, 73, 70, 49, 46, 35, 51,
+  43, 27, 30, 32, 31, 43, 39, 35, 35, 40, 38, 45, 46, 63, 88, 114,
+  168, 221, 218, 244, 231, 221, 219, 220, 154, 77, 68, 54, 39, 36, 37, 35,
+  26, 53, 58, 49, 34, 36, 45, 50, 53, 64, 76, 88, 86, 100, 147, 160,
+  121, 129, 99, 87, 90, 88, 84, 75, 63, 67, 66, 72, 71, 107, 103, 117,
+  255, 255, 255, 255, 150, 140, 115, 39, 59, 49, 54, 58, 56, 56, 60, 56,
+  49, 40, 44, 46, 43, 39, 38, 45, 55, 84, 98, 111, 118, 123, 129, 135,
+  138, 106, 89, 82, 56, 52, 44, 53, 37, 40, 28, 33, 27, 51, 36, 44,
+  54, 52, 51, 52, 43, 65, 102, 127, 165, 210, 212, 242, 238, 244, 242, 235,
+  167, 100, 84, 69, 57, 57, 53, 49, 43, 32, 40, 38, 33, 46, 53, 54,
+  60, 78, 72, 75, 89, 126, 184, 191, 141, 135, 102, 86, 88, 89, 84, 74,
+  60, 57, 64, 66, 59, 102, 90, 98, 255, 255, 255, 255, 184, 191, 116, 49,
+  58, 51, 54, 59, 64, 64, 60, 54, 53, 48, 45, 45, 44, 43, 43, 50,
+  62, 95, 104, 112, 124, 135, 142, 146, 147, 127, 116, 111, 70, 54, 63, 40,
+  33, 40, 45, 53, 54, 55, 54, 50, 46, 48, 59, 53, 73, 84, 131, 149,
+  169, 201, 208, 226, 232, 236, 235, 208, 194, 148, 141, 68, 54, 70, 59, 67,
+  48, 46, 42, 50, 54, 50, 56, 69, 74, 70, 86, 114, 116, 174, 189, 202,
+  135, 135, 99, 76, 72, 75, 78, 73, 56, 54, 55, 65, 77, 86, 91, 104,
+  255, 255, 255, 255, 191, 194, 117, 52, 51, 51, 51, 56, 62, 62, 55, 49,
+  49, 46, 44, 44, 44, 44, 42, 49, 61, 88, 98, 108, 120, 132, 140, 147,
+  149, 152, 138, 130, 94, 72, 73, 53, 50, 45, 48, 57, 62, 59, 52, 49,
+  48, 54, 72, 80, 107, 116, 146, 149, 161, 204, 209, 228, 234, 241, 240, 215,
+  203, 189, 173, 94, 65, 62, 45, 56, 40, 48, 45, 54, 58, 53, 58, 70,
+  72, 96, 122, 158, 164, 206, 202, 198, 125, 137, 96, 73, 74, 78, 78, 72,
+  57, 50, 51, 59, 73, 85, 91, 100, 255, 255, 255, 255, 196, 188, 111, 63,
+  56, 57, 53, 58, 67, 65, 52, 44, 47, 44, 43, 44, 46, 45, 42, 49,
+  58, 86, 97, 109, 121, 136, 146, 153, 157, 156, 143, 135, 108, 85, 73, 55,
+  58, 59, 59, 67, 73, 69, 61, 59, 66, 55, 68, 79, 103, 116, 148, 165,
+  184, 202, 209, 231, 237, 245, 245, 221, 211, 196, 182, 118, 91, 78, 63, 76,
+  66, 61, 58, 67, 71, 67, 74, 86, 89, 102, 129, 167, 174, 207, 201, 206,
+  148, 141, 94, 70, 79, 84, 79, 72, 64, 53, 51, 55, 67, 80, 89, 96,
+  255, 255, 255, 255, 169, 150, 76, 57, 53, 68, 60, 62, 74, 70, 52, 44,
+  49, 42, 42, 46, 47, 45, 41, 47, 58, 87, 98, 110, 123, 138, 148, 156,
+  161, 168, 160, 158, 146, 124, 102, 87, 90, 75, 70, 73, 80, 79, 74, 82,
+  95, 90, 108, 130, 154, 160, 162, 159, 167, 202, 209, 231, 238, 246, 249, 227,
+  219, 216, 209, 170, 148, 124, 96, 93, 78, 77, 71, 78, 81, 81, 93, 113,
+  122, 167, 187, 207, 201, 207, 190, 194, 151, 144, 92, 68, 79, 84, 80, 77,
+  76, 63, 59, 57, 62, 74, 82, 88, 255, 255, 255, 255, 186, 160, 81, 80,
+  86, 74, 67, 67, 75, 70, 53, 45, 49, 44, 43, 45, 46, 44, 43, 47,
+  57, 85, 95, 107, 120, 134, 146, 154, 160, 173, 175, 176, 181, 164, 135, 125,
+  124, 133, 128, 128, 132, 134, 139, 154, 170, 171, 160, 154, 149, 150, 154, 174,
+  196, 202, 207, 229, 236, 244, 248, 232, 227, 215, 217, 214, 215, 204, 189, 188,
+  174, 136, 128, 131, 135, 137, 156, 184, 196, 216, 231, 240, 230, 212, 179, 174,
+  136, 141, 89, 63, 71, 75, 73, 78, 82, 77, 69, 62, 61, 66, 74, 80,
+  255, 255, 255, 255, 190, 163, 68, 65, 73, 75, 70, 69, 69, 62, 53, 46,
+  46, 45, 44, 46, 46, 45, 42, 47, 58, 84, 94, 105, 119, 134, 146, 156,
+  162, 169, 179, 181, 194, 186, 161, 157, 149, 136, 136, 133, 134, 139, 149, 162,
+  167, 174, 160, 162, 159, 165, 152, 167, 180, 205, 208, 230, 235, 242, 248, 235,
+  235, 227, 218, 219, 223, 209, 198, 197, 187, 141, 132, 135, 139, 141, 161, 187,
+  199, 228, 234, 231, 224, 199, 171, 167, 143, 132, 87, 62, 63, 62, 64, 72,
+  76, 80, 77, 69, 62, 63, 69, 73, 255, 255, 255, 255, 175, 164, 66, 61,
+  75, 73, 75, 72, 63, 56, 54, 49, 43, 48, 45, 46, 45, 44, 42, 48,
+  59, 80, 89, 103, 118, 134, 147, 159, 167, 182, 197, 193, 209, 210, 201, 209,
+  199, 212, 219, 219, 217, 221, 230, 228, 218, 223, 187, 168, 146, 151, 140, 167,
+  189, 209, 211, 230, 233, 241, 249, 239, 243, 230, 211, 220, 228, 227, 236, 245,
+  239, 223, 216, 222, 225, 224, 235, 251, 255, 255, 255, 242, 236, 202, 169, 157,
+  133, 126, 90, 69, 62, 55, 57, 64, 66, 72, 74, 74, 67, 66, 70, 72,
+  255, 255, 255, 255, 126, 138, 51, 55, 78, 75, 79, 74, 61, 55, 58, 53,
+  44, 52, 48, 46, 45, 42, 42, 48, 58, 71, 80, 93, 110, 125, 140, 151,
+  159, 182, 198, 191, 208, 221, 223, 244, 236, 227, 239, 243, 237, 239, 244, 230,
+  205, 204, 170, 160, 147, 162, 150, 176, 195, 218, 218, 235, 236, 241, 248, 239,
+  244, 227, 199, 206, 214, 213, 227, 235, 230, 239, 238, 247, 251, 246, 247, 255,
+  252, 241, 245, 243, 250, 217, 174, 144, 111, 122, 95, 75, 64, 52, 54, 61,
+  57, 61, 70, 75, 71, 69, 70, 70, 255, 255, 255, 255, 135, 137, 59, 58,
+  67, 73, 72, 71, 58, 47, 57, 61, 48, 51, 50, 47, 43, 41, 43, 48,
+  54, 68, 66, 91, 108, 126, 135, 132, 149, 168, 183, 184, 200, 216, 230, 253,
+  253, 247, 242, 248, 249, 240, 240, 226, 186, 180, 165, 160, 166, 168, 169, 188,
+  217, 227, 227, 241, 231, 238, 234, 245, 231, 228, 232, 222, 224, 208, 220, 221,
+  229, 224, 225, 236, 246, 252, 252, 251, 250, 250, 239, 232, 219, 182, 179, 142,
+  121, 117, 90, 69, 60, 63, 63, 63, 61, 63, 63, 72, 72, 60, 58, 62,
+  255, 255, 255, 255, 138, 146, 72, 63, 65, 69, 70, 69, 57, 47, 58, 64,
+  51, 54, 52, 47, 43, 41, 43, 47, 54, 66, 64, 86, 103, 118, 129, 127,
+  144, 162, 180, 183, 200, 218, 233, 255, 255, 252, 249, 255, 255, 246, 244, 227,
+  190, 180, 161, 152, 160, 169, 172, 186, 209, 228, 228, 244, 237, 245, 239, 245,
+  227, 228, 232, 220, 220, 202, 212, 213, 221, 229, 230, 239, 250, 255, 255, 255,
+  253, 251, 238, 229, 215, 179, 178, 142, 123, 110, 87, 65, 59, 60, 60, 60,
+  58, 60, 60, 70, 72, 62, 58, 62, 255, 255, 255, 255, 152, 161, 90, 69,
+  60, 65, 65, 64, 54, 47, 60, 66, 54, 52, 50, 47, 43, 40, 42, 47,
+  52, 62, 60, 83, 98, 113, 123, 124, 142, 155, 173, 176, 194, 212, 227, 250,
+  251, 252, 250, 255, 250, 234, 223, 201, 167, 175, 149, 137, 146, 161, 168, 175,
+  189, 211, 213, 235, 236, 251, 245, 248, 225, 220, 223, 210, 211, 195, 204, 204,
+  216, 221, 222, 228, 238, 249, 254, 250, 244, 244, 229, 220, 206, 170, 169, 135,
+  118, 106, 83, 64, 58, 59, 57, 56, 53, 58, 57, 69, 73, 66, 63, 63,
+  255, 255, 255, 255, 157, 162, 94, 72, 59, 62, 61, 60, 51, 46, 61, 68,
+  56, 53, 51, 47, 43, 40, 42, 46, 51, 59, 57, 79, 92, 106, 117, 119,
+  140, 154, 171, 171, 188, 205, 218, 241, 240, 249, 250, 251, 242, 226, 207, 181,
+  152, 145, 122, 106, 113, 127, 132, 134, 144, 181, 187, 215, 224, 243, 241, 242,
+  217, 180, 180, 171, 178, 166, 177, 180, 198, 211, 214, 218, 226, 239, 247, 245,
+  236, 236, 220, 211, 201, 164, 160, 124, 108, 98, 77, 61, 56, 58, 55, 52,
+  49, 57, 56, 68, 74, 68, 65, 63, 255, 255, 255, 255, 155, 153, 94, 73,
+  62, 62, 60, 59, 50, 46, 62, 70, 58, 53, 51, 47, 42, 40, 41, 46,
+  51, 59, 54, 75, 87, 98, 110, 113, 135, 159, 174, 172, 184, 199, 210, 232,
+  230, 238, 241, 238, 229, 222, 203, 175, 155, 146, 125, 112, 114, 119, 121, 122,
+  131, 167, 174, 204, 216, 238, 234, 233, 207, 160, 163, 157, 170, 161, 174, 180,
+  200, 204, 208, 210, 216, 229, 241, 242, 232, 228, 212, 206, 197, 161, 154, 117,
+  101, 93, 73, 60, 56, 57, 54, 51, 49, 59, 59, 70, 74, 67, 64, 65,
+  255, 255, 255, 255, 176, 163, 103, 79, 67, 65, 62, 59, 51, 47, 64, 72,
+  57, 54, 52, 47, 42, 40, 41, 45, 49, 59, 55, 73, 82, 92, 103, 107,
+  130, 157, 168, 164, 173, 184, 195, 217, 214, 222, 222, 211, 202, 197, 177, 148,
+  133, 114, 97, 86, 82, 83, 79, 80, 87, 130, 137, 166, 173, 191, 185, 184,
+  158, 110, 112, 110, 127, 119, 130, 134, 157, 179, 186, 187, 188, 202, 219, 223,
+  218, 212, 196, 190, 184, 149, 142, 106, 92, 87, 70, 60, 56, 56, 54, 51,
+  52, 65, 65, 74, 74, 63, 60, 64, 255, 255, 255, 255, 198, 178, 120, 88,
+  69, 69, 65, 61, 51, 49, 66, 72, 58, 54, 51, 47, 43, 38, 39, 43,
+  49, 60, 55, 73, 80, 87, 97, 102, 127, 149, 160, 152, 158, 167, 177, 201,
+  199, 208, 205, 184, 171, 171, 150, 118, 107, 106, 90, 77, 72, 71, 68, 65,
+  67, 77, 84, 111, 115, 127, 120, 120, 98, 86, 90, 89, 110, 101, 110, 111,
+  134, 154, 164, 163, 161, 174, 194, 204, 203, 193, 174, 167, 163, 131, 127, 95,
+  88, 84, 69, 59, 56, 57, 55, 54, 56, 72, 72, 81, 76, 60, 56, 65,
+  255, 255, 255, 255, 197, 181, 127, 92, 70, 72, 67, 62, 52, 51, 65, 72,
+  58, 53, 51, 47, 43, 38, 39, 43, 47, 62, 55, 72, 78, 83, 93, 99,
+  123, 147, 155, 145, 149, 159, 171, 194, 192, 199, 194, 171, 158, 166, 147, 118,
+  110, 100, 84, 67, 63, 65, 63, 57, 55, 75, 83, 108, 111, 122, 113, 118,
+  100, 72, 76, 77, 99, 91, 98, 100, 122, 148, 158, 158, 154, 164, 187, 201,
+  202, 183, 161, 153, 149, 119, 118, 93, 90, 81, 67, 57, 55, 56, 56, 56,
+  59, 76, 77, 84, 76, 56, 52, 65, 255, 255, 255, 255, 180, 165, 126, 88,
+  61, 67, 65, 55, 49, 53, 64, 69, 65, 56, 51, 43, 39, 38, 37, 37,
+  36, 50, 51, 59, 75, 83, 85, 94, 106, 125, 132, 133, 132, 137, 154, 173,
+  183, 182, 144, 127, 132, 128, 115, 103, 90, 80, 74, 68, 64, 63, 60, 57,
+  57, 58, 76, 75, 92, 89, 90, 73, 81, 85, 77, 81, 98, 97, 84, 90,
+  111, 117, 126, 130, 128, 135, 152, 167, 173, 156, 160, 129, 132, 113, 107, 93,
+  76, 78, 65, 57, 56, 58, 60, 64, 73, 87, 87, 89, 76, 60, 66, 79,
+  255, 255, 255, 255, 168, 143, 107, 80, 53, 57, 58, 51, 45, 47, 56, 60,
+  59, 60, 54, 45, 40, 39, 40, 40, 41, 44, 46, 54, 69, 76, 78, 86,
+  98, 102, 111, 116, 116, 123, 137, 150, 155, 148, 119, 106, 109, 104, 97, 90,
+  79, 79, 69, 62, 57, 60, 63, 69, 74, 81, 91, 75, 77, 66, 75, 74,
+  96, 87, 79, 82, 92, 90, 80, 80, 92, 105, 109, 104, 98, 104, 122, 139,
+  147, 135, 141, 114, 119, 99, 95, 82, 67, 75, 65, 57, 56, 59, 59, 65,
+  73, 88, 84, 84, 77, 66, 69, 142, 255, 255, 255, 255, 171, 130, 98, 84,
+  55, 56, 57, 54, 49, 47, 53, 58, 60, 63, 56, 47, 41, 39, 41, 44,
+  47, 42, 43, 51, 65, 71, 72, 77, 89, 84, 90, 98, 103, 110, 120, 125,
+  123, 119, 103, 96, 93, 87, 88, 85, 74, 65, 63, 61, 61, 65, 67, 71,
+  74, 73, 87, 78, 83, 71, 76, 76, 100, 90, 85, 85, 90, 91, 90, 88,
+  89, 86, 90, 93, 94, 98, 105, 108, 105, 115, 125, 103, 108, 87, 83, 72,
+  62, 73, 65, 58, 56, 59, 60, 66, 71, 90, 81, 78, 76, 72, 76, 255,
+  255, 255, 255, 255, 173, 119, 91, 82, 53, 56, 58, 57, 53, 49, 51, 57,
+  62, 65, 58, 48, 41, 39, 42, 46, 50, 46, 45, 51, 64, 68, 65, 70,
+  80, 77, 84, 91, 95, 102, 107, 106, 101, 95, 92, 95, 90, 81, 87, 87,
+  74, 76, 73, 70, 70, 72, 73, 77, 80, 71, 84, 81, 95, 85, 84, 78,
+  98, 99, 96, 88, 84, 85, 87, 83, 77, 82, 87, 92, 94, 95, 95, 90,
+  83, 107, 119, 100, 105, 82, 77, 68, 60, 67, 63, 56, 55, 56, 60, 64,
+  68, 88, 76, 70, 72, 77, 78, 255, 255, 255, 255, 255, 157, 105, 81, 73,
+  46, 52, 52, 50, 47, 44, 44, 47, 53, 63, 56, 45, 39, 38, 42, 45,
+  49, 49, 49, 53, 61, 63, 59, 60, 70, 77, 80, 85, 86, 89, 91, 89,
+  83, 72, 79, 91, 89, 82, 90, 94, 80, 86, 80, 76, 70, 71, 76, 86,
+  92, 100, 99, 81, 89, 82, 87, 85, 108, 93, 95, 93, 92, 99, 110, 116,
+  114, 97, 92, 85, 79, 77, 79, 84, 89, 107, 120, 101, 104, 79, 73, 66,
+  60, 62, 59, 55, 53, 54, 59, 62, 64, 80, 70, 59, 61, 73, 72, 255,
+  255, 255, 255, 130, 137, 100, 80, 70, 51, 53, 49, 45, 43, 41, 41, 43,
+  50, 58, 53, 45, 40, 40, 41, 43, 45, 48, 47, 50, 58, 59, 52, 54,
+  61, 70, 74, 78, 76, 75, 76, 74, 69, 60, 70, 85, 92, 89, 97, 103,
+  94, 105, 111, 119, 125, 127, 128, 130, 128, 125, 120, 101, 115, 113, 119, 117,
+  141, 129, 130, 125, 115, 105, 100, 99, 98, 97, 93, 88, 85, 79, 76, 84,
+  91, 108, 121, 100, 102, 77, 71, 65, 58, 58, 57, 54, 49, 52, 59, 62,
+  60, 70, 67, 52, 51, 65, 66, 255, 255, 255, 255, 113, 120, 100, 84, 67,
+  56, 58, 49, 42, 42, 42, 42, 44, 50, 54, 51, 45, 43, 41, 41, 41,
+  42, 48, 47, 50, 58, 59, 53, 54, 61, 63, 71, 75, 73, 70, 69, 68,
+  66, 63, 68, 85, 94, 92, 97, 105, 102, 82, 96, 115, 127, 132, 131, 129,
+  125, 101, 104, 99, 121, 119, 120, 114, 138, 114, 123, 130, 128, 113, 103, 105,
+  112, 91, 91, 95, 97, 89, 81, 85, 93, 109, 119, 96, 98, 77, 73, 67,
+  59, 56, 57, 53, 50, 53, 60, 62, 59, 69, 72, 55, 47, 64, 255, 255,
+  255, 255, 255, 95, 102, 90, 75, 55, 47, 58, 45, 36, 37, 39, 37, 41,
+  45, 51, 48, 45, 44, 44, 42, 40, 40, 49, 47, 51, 59, 60, 55, 57,
+  64, 61, 71, 79, 77, 73, 71, 70, 69, 70, 69, 81, 89, 85, 89, 99,
+  101, 108, 113, 118, 124, 129, 139, 152, 157, 170, 173, 168, 188, 180, 177, 175,
+  204, 195, 198, 196, 175, 133, 93, 79, 81, 93, 92, 91, 84, 77, 71, 83,
+  99, 108, 116, 92, 95, 77, 75, 71, 61, 57, 58, 54, 50, 53, 61, 63,
+  60, 71, 80, 61, 49, 67, 255, 255, 255, 255, 217, 102, 100, 85, 68, 55,
+  50, 49, 44, 37, 33, 31, 32, 34, 33, 43, 40, 38, 38, 40, 40, 38,
+  36, 47, 42, 44, 53, 57, 52, 50, 56, 57, 65, 72, 76, 72, 69, 69,
+  70, 60, 73, 84, 93, 94, 99, 95, 92, 96, 132, 149, 163, 172, 184, 202,
+  191, 209, 206, 218, 232, 234, 226, 225, 233, 220, 214, 236, 192, 157, 115, 100,
+  113, 123, 120, 117, 102, 79, 73, 80, 81, 93, 88, 80, 72, 69, 70, 67,
+  60, 55, 60, 60, 54, 49, 53, 62, 68, 80, 89, 65, 49, 63, 255, 255,
+  255, 255, 129, 102, 97, 83, 75, 55, 53, 50, 44, 36, 31, 31, 31, 31,
+  32, 36, 35, 35, 37, 41, 41, 39, 37, 46, 41, 44, 53, 54, 48, 47,
+  54, 58, 64, 72, 74, 74, 71, 72, 76, 87, 101, 114, 120, 121, 123, 120,
+  117, 108, 130, 131, 135, 130, 126, 134, 122, 132, 124, 126, 133, 135, 134, 142,
+  156, 149, 153, 185, 176, 168, 157, 156, 174, 147, 137, 132, 116, 92, 83, 87,
+  83, 86, 81, 72, 65, 64, 66, 63, 56, 56, 59, 57, 52, 50, 56, 65,
+  68, 86, 90, 67, 47, 54, 255, 255, 255, 255, 114, 101, 93, 81, 86, 58,
+  63, 51, 45, 37, 32, 32, 31, 30, 31, 31, 32, 35, 38, 43, 42, 41,
+  39, 44, 43, 47, 52, 51, 43, 45, 53, 54, 62, 69, 71, 73, 73, 75,
+  79, 77, 94, 115, 119, 123, 119, 122, 119, 122, 136, 132, 136, 135, 128, 138,
+  132, 150, 141, 141, 143, 144, 146, 158, 172, 170, 171, 183, 181, 164, 159, 144,
+  150, 151, 136, 127, 112, 92, 84, 87, 80, 81, 76, 68, 61, 60, 62, 59,
+  53, 57, 57, 53, 50, 52, 59, 66, 67, 75, 79, 63, 50, 122, 255, 255,
+  255, 200, 82, 81, 73, 61, 75, 44, 53, 50, 45, 37, 32, 31, 30, 29,
+  29, 27, 29, 34, 38, 43, 43, 42, 41, 44, 45, 49, 50, 46, 41, 44,
+  53, 52, 56, 63, 67, 70, 73, 77, 83, 90, 110, 138, 143, 157, 153, 160,
+  156, 147, 159, 161, 176, 178, 174, 194, 199, 182, 182, 188, 194, 193, 191, 196,
+  200, 176, 179, 175, 188, 177, 186, 171, 171, 135, 113, 104, 97, 83, 81, 81,
+  76, 76, 72, 66, 59, 59, 62, 59, 54, 55, 56, 52, 51, 55, 62, 62,
+  58, 57, 65, 58, 54, 255, 255, 255, 255, 88, 75, 78, 73, 55, 69, 41,
+  48, 48, 43, 36, 32, 31, 29, 28, 28, 25, 28, 34, 38, 43, 42, 42,
+  42, 43, 47, 50, 49, 45, 40, 44, 51, 53, 56, 61, 65, 70, 74, 80,
+  87, 78, 98, 130, 133, 156, 150, 163, 158, 168, 184, 187, 198, 195, 188, 210,
+  217, 216, 221, 232, 240, 238, 232, 231, 231, 224, 223, 200, 207, 190, 195, 180,
+  166, 126, 100, 92, 92, 84, 84, 85, 81, 74, 71, 65, 59, 60, 63, 62,
+  57, 54, 55, 53, 53, 57, 61, 57, 50, 55, 59, 60, 59, 255, 255, 255,
+  255, 92, 81, 80, 82, 56, 61, 47, 49, 46, 42, 36, 33, 33, 31, 30,
+  29, 26, 30, 35, 38, 40, 39, 41, 42, 44, 46, 48, 47, 44, 44, 47,
+  51, 56, 56, 58, 63, 69, 77, 84, 91, 83, 97, 130, 127, 159, 151, 166,
+  159, 167, 184, 185, 193, 190, 189, 210, 216, 222, 226, 232, 236, 233, 231, 231,
+  232, 223, 224, 204, 208, 203, 203, 200, 181, 125, 96, 89, 91, 85, 83, 85,
+  83, 72, 70, 64, 59, 60, 64, 64, 57, 54, 54, 55, 55, 57, 59, 55,
+  47, 57, 59, 65, 128, 255, 255, 255, 255, 68, 66, 56, 70, 39, 36, 41,
+  38, 47, 43, 37, 35, 36, 34, 33, 33, 29, 32, 36, 37, 38, 36, 39,
+  41, 47, 47, 47, 45, 46, 47, 49, 50, 54, 54, 55, 59, 66, 73, 81,
+  89, 81, 87, 117, 111, 147, 139, 159, 149, 158, 173, 167, 169, 176, 186, 207,
+  204, 210, 213, 216, 216, 213, 213, 215, 216, 212, 215, 199, 193, 193, 177, 184,
+  154, 114, 85, 78, 82, 75, 72, 75, 75, 68, 64, 59, 55, 56, 61, 61,
+  56, 55, 56, 57, 54, 55, 59, 59, 55, 53, 53, 62, 255, 255, 255, 255,
+  255, 59, 63, 50, 74, 42, 36, 56, 48, 46, 44, 39, 37, 38, 37, 36,
+  36, 31, 34, 37, 36, 36, 34, 38, 40, 47, 47, 45, 43, 46, 48, 50,
+  48, 51, 49, 49, 52, 60, 69, 77, 83, 80, 81, 110, 102, 144, 136, 157,
+  146, 158, 166, 147, 143, 151, 165, 183, 169, 164, 167, 171, 169, 168, 166, 166,
+  166, 178, 184, 178, 169, 178, 153, 168, 136, 100, 74, 69, 72, 65, 61, 66,
+  67, 63, 60, 56, 52, 54, 59, 60, 53, 56, 57, 56, 53, 54, 59, 63,
+  62, 49, 46, 55, 255, 255, 255, 255, 255, 62, 51, 42, 42, 39, 34, 36,
+  43, 41, 43, 43, 44, 44, 39, 36, 34, 28, 32, 39, 41, 44, 42, 42,
+  41, 46, 46, 46, 45, 46, 45, 46, 46, 48, 45, 43, 46, 56, 62, 65,
+  67, 66, 74, 82, 92, 105, 123, 142, 156, 159, 153, 147, 146, 149, 152, 151,
+  145, 133, 130, 130, 133, 136, 140, 143, 144, 140, 144, 157, 158, 142, 133, 130,
+  119, 91, 68, 71, 67, 64, 62, 48, 56, 58, 53, 50, 49, 51, 55, 58,
+  59, 57, 55, 54, 56, 61, 62, 62, 59, 67, 57, 125, 255, 255, 255, 255,
+  92, 61, 49, 41, 42, 41, 37, 38, 45, 39, 40, 40, 41, 41, 38, 35,
+  34, 29, 33, 38, 40, 42, 41, 42, 42, 49, 48, 47, 45, 46, 45, 46,
+  47, 45, 42, 41, 45, 53, 60, 61, 60, 58, 65, 75, 83, 94, 112, 136,
+  152, 151, 146, 140, 140, 144, 143, 140, 135, 124, 122, 122, 126, 132, 134, 136,
+  131, 138, 136, 145, 146, 133, 127, 120, 107, 86, 66, 69, 63, 62, 61, 48,
+  54, 54, 51, 47, 45, 49, 52, 55, 55, 55, 54, 55, 57, 61, 62, 62,
+  60, 67, 59, 255, 255, 255, 255, 255, 98, 56, 43, 36, 37, 39, 36, 36,
+  41, 37, 37, 36, 36, 36, 35, 34, 34, 32, 34, 38, 38, 41, 40, 43,
+  44, 45, 45, 44, 41, 41, 40, 41, 39, 40, 39, 38, 43, 49, 54, 55,
+  53, 51, 56, 64, 68, 77, 95, 121, 143, 146, 145, 143, 142, 145, 146, 143,
+  136, 125, 120, 121, 127, 134, 136, 130, 125, 128, 122, 125, 126, 118, 111, 104,
+  87, 79, 63, 66, 59, 58, 61, 48, 53, 53, 50, 46, 44, 47, 49, 53,
+  53, 55, 53, 53, 56, 59, 60, 61, 61, 75, 71, 255, 255, 255, 255, 255,
+  86, 57, 42, 32, 36, 39, 37, 37, 40, 35, 35, 32, 31, 32, 32, 33,
+  34, 35, 36, 38, 38, 40, 40, 44, 46, 43, 40, 39, 37, 37, 34, 35,
+  35, 37, 36, 38, 40, 47, 48, 47, 45, 46, 51, 57, 58, 62, 79, 108,
+  132, 140, 142, 146, 149, 151, 151, 148, 142, 132, 126, 125, 128, 134, 135, 130,
+  122, 118, 112, 118, 119, 110, 101, 93, 77, 72, 61, 64, 54, 54, 60, 49,
+  51, 55, 52, 48, 47, 49, 51, 54, 52, 53, 52, 52, 54, 56, 59, 60,
+  59, 78, 80, 255, 255, 255, 255, 255, 75, 65, 46, 33, 36, 39, 38, 38,
+  40, 34, 34, 31, 30, 31, 31, 32, 34, 37, 38, 39, 38, 40, 40, 44,
+  47, 43, 43, 42, 40, 39, 37, 37, 36, 33, 36, 38, 40, 44, 44, 43,
+  41, 43, 48, 52, 53, 56, 73, 104, 128, 134, 139, 146, 148, 148, 146, 144,
+  140, 136, 128, 122, 120, 122, 123, 120, 116, 114, 114, 125, 126, 112, 102, 95,
+  81, 67, 58, 62, 50, 49, 60, 50, 48, 52, 50, 47, 47, 50, 51, 54,
+  52, 51, 51, 52, 54, 55, 58, 61, 64, 77, 136, 255, 255, 255, 255, 255,
+  92, 71, 49, 31, 32, 35, 33, 33, 33, 35, 35, 32, 30, 31, 31, 31,
+  33, 35, 36, 38, 37, 38, 38, 42, 44, 41, 39, 38, 36, 35, 35, 35,
+  35, 35, 35, 38, 40, 41, 41, 40, 38, 42, 46, 49, 51, 58, 76, 104,
+  125, 129, 136, 142, 145, 143, 139, 138, 136, 133, 125, 117, 111, 109, 109, 108,
+  108, 112, 112, 122, 124, 110, 99, 92, 78, 65, 58, 62, 45, 46, 60, 49,
+  44, 48, 46, 44, 44, 47, 50, 52, 50, 50, 50, 54, 58, 60, 66, 73,
+  76, 87, 255, 255, 255, 255, 255, 255, 205, 80, 55, 32, 30, 33, 31, 28,
+  28, 37, 36, 34, 33, 33, 31, 31, 31, 31, 33, 35, 35, 36, 35, 38,
+  39, 37, 36, 35, 33, 33, 33, 34, 34, 36, 38, 40, 40, 40, 40, 40,
+  39, 43, 45, 48, 51, 58, 72, 96, 113, 115, 124, 133, 134, 133, 131, 135,
+  135, 130, 125, 119, 112, 106, 104, 107, 109, 113, 107, 109, 109, 98, 90, 82,
+  66, 63, 59, 63, 43, 43, 59, 49, 39, 43, 42, 43, 44, 47, 50, 51,
+  51, 48, 51, 58, 64, 70, 79, 90, 96, 157, 255, 255, 255, 255, 255, 255,
+  255, 95, 67, 43, 38, 41, 38, 34, 33, 38, 38, 36, 35, 34, 32, 32,
+  31, 29, 31, 33, 34, 33, 32, 33, 33, 38, 38, 36, 36, 37, 37, 39,
+  39, 39, 39, 41, 39, 38, 38, 39, 39, 45, 46, 48, 48, 53, 65, 81,
+  93, 91, 101, 113, 119, 118, 121, 125, 130, 130, 128, 124, 117, 109, 106, 109,
+  112, 115, 101, 97, 93, 86, 82, 72, 55, 62, 58, 62, 41, 41, 59, 46,
+  38, 44, 43, 44, 46, 50, 52, 53, 53, 48, 53, 61, 70, 80, 91, 103,
+  111, 255, 255, 255, 255, 255, 255, 255, 255, 84, 68, 51, 41, 40, 42, 40,
+  37, 39, 40, 41, 42, 39, 37, 34, 32, 32, 31, 31, 31, 31, 32, 33,
+  34, 35, 36, 39, 40, 41, 38, 38, 35, 39, 39, 39, 39, 39, 39, 38,
+  39, 44, 48, 52, 52, 56, 64, 74, 84, 89, 98, 108, 114, 114, 112, 121,
+  132, 124, 124, 122, 121, 117, 113, 108, 106, 98, 95, 89, 84, 80, 73, 65,
+  57, 57, 60, 59, 48, 45, 50, 48, 40, 44, 43, 43, 45, 48, 50, 51,
+  52, 55, 62, 69, 74, 78, 84, 98, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 89, 74, 58, 48, 46, 46, 42, 38, 35, 36, 39, 41, 41, 41, 38,
+  37, 33, 33, 31, 32, 32, 33, 31, 32, 34, 36, 38, 40, 40, 39, 38,
+  37, 38, 38, 39, 39, 38, 37, 36, 37, 45, 52, 55, 56, 56, 57, 62,
+  68, 68, 77, 94, 105, 109, 111, 120, 131, 134, 131, 127, 122, 116, 112, 108,
+  104, 97, 91, 83, 74, 68, 63, 59, 54, 49, 54, 53, 44, 42, 47, 46,
+  38, 44, 44, 45, 46, 49, 52, 55, 57, 49, 54, 66, 80, 92, 101, 162,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 80, 65, 56, 53, 50, 44,
+  38, 35, 36, 38, 40, 41, 40, 38, 37, 33, 33, 32, 33, 33, 33, 32,
+  32, 34, 35, 37, 38, 39, 38, 37, 36, 37, 38, 38, 38, 38, 37, 36,
+  37, 40, 47, 52, 53, 52, 51, 52, 54, 54, 65, 84, 100, 106, 109, 121,
+  131, 138, 132, 127, 119, 112, 106, 102, 100, 99, 90, 77, 68, 61, 58, 57,
+  53, 47, 51, 50, 43, 42, 47, 46, 40, 48, 49, 48, 45, 41, 41, 44,
+  48, 52, 54, 67, 86, 104, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 81, 68, 60, 57, 53, 46, 38, 39, 39, 40, 40, 39, 38, 34,
+  33, 33, 34, 33, 34, 34, 34, 32, 32, 33, 34, 36, 37, 37, 37, 36,
+  36, 36, 36, 37, 37, 37, 37, 36, 36, 37, 43, 51, 53, 52, 52, 55,
+  57, 59, 67, 82, 96, 102, 106, 116, 127, 129, 125, 119, 111, 105, 103, 100,
+  98, 98, 90, 76, 65, 59, 56, 55, 53, 49, 51, 51, 47, 46, 50, 49,
+  45, 47, 49, 49, 45, 39, 38, 42, 48, 58, 58, 67, 82, 94, 155, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 77, 66, 60, 58, 55, 46,
+  38, 39, 39, 39, 39, 38, 37, 34, 33, 33, 34, 34, 35, 36, 35, 33,
+  32, 33, 33, 34, 35, 35, 35, 35, 35, 34, 35, 36, 36, 36, 36, 36,
+  36, 43, 47, 52, 53, 53, 54, 59, 64, 65, 71, 81, 90, 96, 100, 109,
+  120, 118, 114, 109, 104, 101, 100, 102, 102, 94, 86, 77, 68, 63, 59, 57,
+  52, 50, 51, 51, 49, 49, 51, 51, 49, 39, 43, 47, 48, 47, 50, 57,
+  64, 58, 58, 64, 69, 70, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 195, 64, 59, 58, 54, 45, 37, 36, 36, 36, 37, 38, 38, 37,
+  37, 33, 35, 35, 37, 37, 36, 33, 33, 32, 32, 33, 33, 33, 34, 34,
+  34, 33, 34, 35, 35, 36, 36, 35, 36, 42, 45, 48, 46, 45, 47, 53,
+  59, 64, 66, 73, 82, 87, 92, 104, 113, 101, 99, 95, 93, 91, 92, 93,
+  95, 87, 81, 73, 67, 63, 59, 57, 54, 49, 48, 48, 48, 48, 48, 48,
+  48, 39, 42, 46, 48, 48, 51, 55, 60, 58, 59, 66, 66, 61, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 192, 60, 58, 54, 45,
+  37, 36, 36, 36, 36, 37, 38, 37, 38, 34, 35, 36, 38, 38, 37, 34,
+  33, 32, 32, 32, 32, 32, 33, 33, 34, 32, 33, 34, 35, 35, 35, 35,
+  35, 35, 38, 42, 39, 39, 40, 44, 49, 57, 60, 66, 76, 82, 85, 95,
+  103, 90, 88, 84, 82, 79, 80, 81, 81, 80, 73, 66, 61, 60, 58, 57,
+  54, 49, 47, 47, 48, 47, 47, 46, 47, 44, 45, 46, 47, 46, 45, 44,
+  44, 55, 59, 69, 72, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 62, 59, 54, 45, 37, 40, 39, 38, 37, 36, 36, 34,
+  34, 34, 35, 37, 38, 39, 38, 34, 33, 32, 31, 31, 31, 31, 32, 33,
+  34, 32, 32, 33, 34, 35, 35, 35, 35, 34, 38, 42, 43, 42, 43, 46,
+  51, 53, 57, 66, 74, 80, 83, 88, 94, 88, 86, 83, 80, 78, 77, 76,
+  75, 74, 68, 60, 54, 53, 54, 56, 55, 51, 48, 48, 49, 49, 47, 47,
+  48, 44, 44, 46, 49, 51, 51, 48, 45, 48, 53, 66, 73, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 65, 62, 51,
+  41, 42, 39, 37, 37, 38, 40, 38, 37, 37, 35, 33, 36, 40, 42, 38,
+  36, 35, 34, 33, 31, 31, 30, 30, 30, 31, 31, 31, 32, 33, 36, 38,
+  40, 38, 41, 43, 42, 40, 40, 42, 46, 47, 50, 56, 62, 67, 75, 82,
+  89, 89, 85, 82, 77, 75, 74, 72, 72, 72, 63, 58, 60, 59, 52, 50,
+  52, 44, 45, 45, 45, 45, 45, 45, 45, 45, 47, 48, 48, 46, 48, 52,
+  57, 60, 63, 74, 163, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 66, 56, 47, 47, 44, 40, 38, 37, 36, 33,
+  31, 32, 31, 31, 34, 38, 39, 35, 33, 34, 33, 32, 31, 30, 30, 30,
+  31, 31, 31, 31, 32, 33, 36, 38, 40, 38, 41, 43, 42, 40, 40, 42,
+  45, 50, 52, 56, 58, 63, 69, 78, 84, 85, 83, 80, 77, 76, 73, 73,
+  72, 72, 63, 58, 58, 56, 50, 48, 49, 49, 48, 47, 46, 45, 44, 43,
+  42, 41, 44, 47, 47, 47, 52, 61, 69, 77, 84, 103, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 58,
+  48, 49, 46, 42, 39, 37, 35, 30, 28, 29, 29, 31, 34, 38, 39, 35,
+  33, 33, 32, 31, 31, 31, 31, 31, 32, 31, 31, 31, 32, 33, 36, 38,
+  40, 39, 40, 41, 41, 40, 40, 41, 43, 51, 51, 54, 54, 58, 63, 72,
+  77, 76, 75, 74, 71, 70, 67, 66, 64, 67, 60, 54, 53, 51, 47, 44,
+  44, 49, 48, 48, 47, 46, 45, 44, 43, 37, 41, 45, 44, 44, 49, 61,
+  71, 70, 78, 152, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 189, 45, 49, 46, 42, 40, 38, 36, 31,
+  29, 28, 30, 33, 36, 39, 39, 36, 34, 35, 34, 33, 33, 33, 33, 34,
+  34, 31, 31, 31, 32, 33, 36, 38, 40, 37, 38, 38, 38, 38, 38, 38,
+  40, 44, 47, 49, 53, 55, 59, 64, 67, 68, 66, 67, 64, 62, 57, 55,
+  52, 59, 54, 49, 48, 47, 44, 42, 41, 45, 45, 45, 46, 47, 47, 48,
+  48, 41, 46, 50, 48, 44, 46, 56, 65, 58, 132, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 188, 50, 46, 44, 41, 38, 31, 28, 27, 30, 32, 35, 36, 36, 34,
+  34, 38, 37, 37, 36, 36, 36, 36, 37, 31, 31, 31, 32, 33, 36, 38,
+  40, 37, 37, 36, 36, 36, 36, 36, 36, 38, 43, 50, 57, 61, 62, 64,
+  64, 67, 64, 65, 61, 58, 54, 52, 48, 52, 50, 48, 45, 46, 45, 44,
+  41, 44, 44, 45, 45, 46, 47, 48, 48, 46, 51, 55, 53, 49, 49, 55,
+  62, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 189, 53, 49, 44, 39, 31,
+  26, 26, 29, 30, 31, 31, 31, 30, 32, 42, 41, 40, 38, 37, 37, 37,
+  37, 31, 31, 31, 32, 33, 36, 38, 40, 37, 36, 35, 35, 36, 35, 35,
+  34, 36, 44, 53, 63, 67, 67, 67, 65, 70, 67, 66, 63, 61, 57, 56,
+  54, 51, 50, 48, 46, 45, 49, 48, 45, 46, 46, 45, 45, 45, 44, 44,
+  44, 40, 43, 46, 48, 48, 52, 58, 63, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 189, 53, 48, 42, 34, 29, 28, 30, 30, 29, 27, 27, 28,
+  31, 44, 42, 41, 39, 37, 36, 36, 36, 31, 31, 31, 32, 33, 36, 38,
+  40, 40, 39, 37, 36, 38, 38, 36, 34, 38, 45, 54, 62, 66, 66, 66,
+  65, 63, 62, 60, 58, 58, 59, 60, 60, 50, 50, 48, 42, 43, 48, 46,
+  42, 44, 44, 44, 44, 44, 43, 43, 43, 39, 38, 38, 41, 48, 57, 66,
+  133, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 189, 52, 47, 39,
+  35, 32, 32, 32, 30, 27, 28, 30, 34, 44, 43, 41, 38, 36, 36, 35,
+  35, 32, 31, 31, 32, 33, 36, 36, 40, 42, 41, 38, 37, 39, 40, 37,
+  35, 39, 44, 51, 57, 61, 62, 62, 61, 55, 51, 50, 50, 52, 54, 58,
+  60, 47, 49, 44, 39, 39, 43, 41, 36, 39, 40, 41, 42, 43, 45, 46,
+  47, 50, 46, 42, 44, 54, 67, 77, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 60, 52, 43, 37, 29, 29, 33, 34, 34, 46,
+  59, 46, 39, 36, 39, 40, 39, 40, 45, 39, 36, 34, 32, 33, 33, 34,
+  37, 36, 36, 36, 36, 36, 36, 37, 39, 34, 39, 43, 46, 54, 60, 61,
+  54, 53, 51, 52, 51, 50, 49, 51, 53, 45, 44, 42, 40, 37, 37, 37,
+  38, 41, 42, 42, 43, 43, 47, 49, 51, 55, 43, 59, 59, 71, 86, 166,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 48,
+  41, 43, 37, 34, 35, 36, 38, 51, 64, 50, 43, 39, 40, 41, 37, 37,
+  40, 33, 33, 30, 30, 31, 31, 34, 36, 36, 37, 37, 36, 35, 36, 37,
+  37, 34, 40, 47, 47, 49, 54, 56, 54, 53, 53, 54, 53, 49, 48, 48,
+  50, 45, 43, 41, 38, 37, 37, 37, 40, 43, 42, 41, 40, 40, 46, 51,
+  56, 67, 64, 64, 60, 67, 133, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 61, 59, 53, 38, 41, 50, 58, 60, 54, 52,
+  51, 44, 39, 37, 38, 40, 38, 39, 41, 34, 34, 31, 30, 32, 31, 33,
+  35, 39, 40, 37, 37, 36, 36, 36, 37, 37, 46, 53, 52, 50, 53, 56,
+  55, 54, 54, 55, 54, 50, 46, 45, 45, 43, 42, 40, 37, 36, 37, 37,
+  39, 42, 40, 38, 36, 38, 43, 51, 57, 49, 64, 57, 65, 77, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 63,
+  57, 60, 71, 86, 95, 96, 87, 76, 66, 48, 44, 42, 41, 43, 43, 43,
+  43, 43, 41, 37, 35, 34, 32, 31, 31, 39, 41, 38, 37, 36, 36, 36,
+  37, 38, 44, 49, 48, 48, 53, 54, 51, 49, 51, 53, 52, 48, 44, 42,
+  39, 44, 42, 40, 38, 38, 36, 39, 41, 45, 44, 41, 40, 41, 45, 52,
+  58, 66, 99, 84, 87, 144, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 198, 91, 94, 91, 92, 93, 87,
+  81, 60, 57, 53, 47, 46, 45, 45, 42, 45, 43, 40, 37, 35, 32, 31,
+  31, 39, 41, 40, 37, 36, 37, 37, 38, 37, 36, 37, 38, 45, 50, 49,
+  42, 42, 44, 47, 48, 45, 42, 39, 39, 44, 42, 41, 37, 37, 37, 39,
+  42, 46, 47, 46, 46, 47, 52, 57, 62, 82, 126, 113, 110, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 201, 86, 74, 55, 54, 48, 42, 41, 47, 49,
+  47, 43, 41, 40, 38, 36, 33, 33, 32, 38, 40, 40, 40, 38, 38, 39,
+  40, 43, 39, 35, 38, 47, 54, 52, 40, 37, 40, 43, 43, 41, 40, 38,
+  39, 41, 40, 37, 36, 35, 36, 37, 41, 43, 44, 44, 44, 48, 55, 63,
+  69, 84, 125, 129, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 190, 59, 50, 42, 42, 52, 56, 54, 47, 45, 44, 42, 39, 37, 33,
+  35, 39, 40, 39, 39, 39, 40, 41, 42, 47, 45, 42, 42, 47, 52, 50,
+  43, 38, 40, 41, 41, 39, 39, 38, 40, 38, 37, 34, 33, 32, 33, 34,
+  38, 45, 46, 44, 47, 53, 65, 80, 91, 121, 146, 190, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 57, 52, 56, 57,
+  53, 56, 54, 51, 48, 44, 39, 35, 34, 38, 39, 39, 39, 39, 41, 42,
+  43, 43, 44, 42, 38, 39, 42, 42, 37, 40, 41, 42, 41, 38, 38, 38,
+  40, 36, 34, 33, 30, 30, 31, 33, 37, 60, 59, 56, 57, 68, 85, 106,
+  119, 145, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 60, 57, 59, 61, 53, 55, 54, 50, 43, 39, 39,
+  40, 42, 42, 41, 40, 39, 41, 42, 43, 44, 43, 43, 41, 42, 41, 42,
+  42, 43, 42, 41, 40, 40, 39, 38, 38, 41, 37, 36, 34, 34, 34, 35,
+  40, 48, 69, 59, 64, 77, 85, 109, 119, 152, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 62, 63,
+  65, 62, 61, 61, 54, 49, 45, 43, 44, 41, 40, 39, 38, 38, 37, 38,
+  39, 45, 44, 43, 41, 42, 42, 43, 43, 42, 41, 41, 40, 40, 39, 39,
+  39, 37, 37, 38, 39, 40, 42, 45, 49, 56, 73, 60, 67, 91, 110, 146,
+  166, 198, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 196, 77, 75, 72, 64, 59, 55, 52,
+  53, 48, 45, 43, 41, 41, 40, 40, 41, 42, 41, 39, 39, 40, 41, 41,
+  42, 41, 39, 39, 39, 40, 40, 41, 41, 38, 39, 43, 45, 48, 50, 53,
+  57, 59, 83, 80, 96, 121, 137, 194, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 84, 80, 71, 66, 61, 59, 58, 54, 52, 50, 46, 45, 42, 43,
+  42, 39, 38, 35, 34, 34, 37, 38, 39, 38, 38, 39, 39, 41, 41, 42,
+  43, 41, 43, 46, 49, 51, 53, 54, 57, 86, 115, 118, 138, 163, 199, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 198, 76, 72, 67, 64,
+  59, 59, 54, 52, 47, 44, 41, 41, 40, 40, 38, 35, 33, 33, 34, 38,
+  38, 37, 37, 37, 39, 42, 43, 45, 47, 42, 44, 47, 52, 56, 61, 63,
+  68, 87, 113, 112, 172, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 198, 77, 73, 67, 63, 59, 54, 50, 48, 45,
+  44, 46, 43, 40, 36, 36, 37, 41, 40, 36, 34, 37, 39, 42, 44, 48,
+  49, 49, 51, 58, 66, 74, 83, 91, 98, 122, 147, 186, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  199, 77, 71, 67, 61, 57, 54, 51, 51, 50, 47, 42, 38, 37, 38, 39,
+  40, 33, 34, 37, 39, 43, 45, 49, 52, 54, 58, 66, 76, 90, 103, 116,
+  125, 177, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 197, 75, 70, 64, 59, 55, 53,
+  51, 53, 48, 45, 40, 38, 39, 41, 41, 38, 39, 41, 43, 48, 51, 54,
+  57, 57, 60, 68, 80, 95, 111, 168, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 196, 77, 73, 69, 64, 62, 59, 58, 56, 50, 48, 51, 51,
+  51, 53, 55, 50, 46, 51, 63, 75, 79, 88, 90, 152, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 71,
+  72, 72, 71, 67, 61, 61, 64, 64, 62, 64, 66, 70, 76, 81, 88, 96,
+  102, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 70, 75, 81, 81,
+  76, 73, 75, 82, 95, 102, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 130, 128, 139, 141, 127, 141, 134, 150, 164, 137, 139, 169,
+  150, 152, 169, 174, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 80, 112, 116, 138, 124, 131, 138,
+  140, 151, 144, 141, 145, 128, 129, 155, 145, 157, 171, 174, 162, 194, 190, 186,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 150, 89, 105,
+  74, 79, 98, 93, 127, 123, 131, 128, 124, 98, 95, 85, 86, 76, 75, 94,
+  88, 93, 108, 119, 122, 173, 183, 182, 175, 206, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 205, 93, 83, 62, 50, 55, 59, 59, 74, 78, 93, 87, 113, 92,
+  63, 45, 40, 49, 57, 51, 51, 57, 59, 68, 51, 85, 87, 108, 152, 148,
+  159, 162, 183, 196, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 199, 54, 42, 40, 40, 32, 35, 44,
+  45, 44, 50, 55, 66, 66, 81, 65, 39, 41, 38, 48, 57, 50, 46, 48,
+  46, 47, 32, 53, 47, 65, 99, 99, 127, 161, 189, 179, 212, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 81,
+  78, 40, 36, 40, 40, 37, 47, 56, 51, 50, 44, 54, 55, 60, 58, 55,
+  35, 45, 44, 56, 66, 61, 58, 59, 55, 60, 53, 63, 52, 70, 90, 95,
+  142, 149, 183, 177, 190, 177, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 230, 171, 151, 104, 63, 42, 38, 45, 50, 56, 49, 37, 43, 51,
+  45, 46, 35, 50, 45, 49, 33, 43, 32, 42, 38, 46, 51, 45, 45, 47,
+  42, 36, 40, 43, 33, 44, 45, 45, 98, 127, 166, 166, 184, 177, 184, 189,
+  216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 229, 159, 145, 139, 112, 66, 36, 42,
+  46, 41, 51, 59, 46, 26, 27, 37, 33, 39, 29, 49, 40, 40, 21, 36,
+  34, 46, 37, 37, 33, 24, 26, 30, 24, 35, 47, 46, 38, 40, 22, 12,
+  51, 61, 105, 113, 142, 149, 163, 167, 169, 178, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 221, 168,
+  180, 173, 142, 131, 96, 52, 24, 41, 42, 50, 55, 62, 49, 26, 22, 30,
+  32, 31, 27, 41, 41, 36, 29, 39, 38, 41, 34, 31, 27, 20, 27, 34,
+  26, 26, 38, 40, 41, 42, 26, 17, 32, 59, 100, 110, 144, 159, 175, 170,
+  164, 159, 181, 201, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 224, 181, 169, 170, 169, 119, 81, 81, 64, 49, 39, 64,
+  57, 44, 38, 41, 37, 21, 16, 24, 29, 24, 23, 28, 39, 34, 45, 44,
+  35, 34, 31, 31, 30, 25, 32, 35, 23, 28, 35, 36, 44, 51, 51, 54,
+  52, 53, 84, 83, 115, 138, 166, 165, 157, 163, 184, 175, 209, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 183, 206, 185, 163,
+  143, 89, 44, 47, 40, 41, 35, 56, 37, 30, 17, 18, 26, 22, 23, 34,
+  41, 40, 40, 36, 57, 54, 79, 67, 52, 60, 57, 60, 58, 49, 49, 43,
+  25, 21, 19, 16, 25, 33, 46, 58, 43, 38, 60, 49, 81, 117, 165, 179,
+  177, 159, 176, 161, 163, 171, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 158, 152, 164, 152, 140, 136, 101, 55, 48, 38, 36, 36, 36, 30,
+  24, 14, 24, 34, 39, 43, 50, 59, 66, 66, 86, 93, 108, 110, 105, 107,
+  92, 107, 91, 100, 78, 93, 87, 77, 65, 62, 42, 46, 36, 38, 52, 46,
+  63, 56, 55, 56, 62, 82, 111, 132, 139, 171, 186, 180, 173, 182, 178, 196,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 219, 157, 160, 164, 174, 158, 142, 131,
+  92, 52, 47, 42, 39, 35, 28, 20, 13, 10, 20, 28, 32, 36, 45, 54,
+  60, 65, 83, 89, 104, 106, 99, 102, 89, 94, 88, 92, 83, 76, 80, 59,
+  56, 47, 41, 50, 36, 36, 53, 46, 52, 61, 57, 50, 53, 73, 109, 141,
+  158, 166, 185, 179, 169, 180, 181, 170, 200, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 233,
+  178, 180, 183, 166, 146, 113, 90, 82, 48, 35, 38, 40, 42, 38, 33, 26,
+  21, 40, 49, 56, 59, 65, 76, 85, 88, 85, 103, 107, 119, 121, 115, 118,
+  105, 104, 109, 108, 112, 92, 107, 81, 87, 65, 68, 71, 46, 39, 54, 52,
+  48, 64, 64, 61, 56, 58, 69, 80, 86, 130, 159, 163, 158, 180, 193, 189,
+  189, 187, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 227, 199, 186, 180, 185, 151, 109, 71, 53, 54,
+  32, 29, 35, 41, 43, 42, 39, 37, 37, 55, 63, 68, 71, 79, 92, 101,
+  101, 94, 110, 111, 121, 123, 117, 121, 109, 112, 112, 113, 111, 98, 110, 91,
+  95, 92, 92, 83, 57, 44, 50, 55, 57, 39, 47, 53, 53, 50, 47, 45,
+  43, 73, 112, 123, 123, 152, 173, 169, 166, 178, 184, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 176, 194,
+  175, 176, 185, 149, 104, 68, 49, 46, 30, 38, 41, 44, 43, 39, 39, 42,
+  45, 55, 63, 68, 70, 80, 97, 104, 100, 101, 114, 113, 121, 121, 116, 121,
+  111, 120, 107, 113, 91, 98, 96, 90, 86, 93, 89, 76, 65, 51, 41, 47,
+  54, 51, 52, 51, 49, 47, 49, 54, 60, 75, 114, 128, 130, 158, 177, 171,
+  166, 178, 160, 188, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 160, 167, 187, 166, 162, 167, 123, 81, 57, 41, 43,
+  38, 37, 38, 39, 39, 41, 45, 54, 62, 66, 75, 79, 83, 95, 114, 118,
+  110, 108, 121, 118, 122, 121, 116, 124, 114, 124, 108, 117, 93, 111, 109, 112,
+  109, 96, 96, 84, 84, 68, 43, 41, 40, 65, 63, 59, 57, 53, 49, 51,
+  56, 45, 80, 93, 102, 138, 163, 167, 174, 172, 163, 153, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 223, 141, 145, 161,
+  134, 100, 103, 64, 42, 43, 39, 49, 57, 37, 37, 37, 40, 46, 57, 69,
+  77, 72, 82, 87, 90, 104, 125, 127, 115, 109, 119, 114, 117, 116, 111, 119,
+  110, 113, 107, 114, 103, 108, 118, 118, 124, 106, 116, 104, 105, 92, 70, 67,
+  52, 42, 45, 51, 61, 64, 58, 51, 50, 43, 65, 68, 77, 116, 147, 166,
+  188, 194, 192, 200, 198, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 190, 191, 170, 157, 149, 105, 62, 72, 45, 40, 49, 34, 28,
+  30, 48, 46, 43, 45, 51, 61, 71, 77, 80, 90, 98, 101, 117, 137, 138,
+  124, 125, 136, 128, 131, 129, 125, 133, 124, 122, 126, 125, 124, 105, 123, 111,
+  124, 104, 125, 112, 111, 108, 103, 108, 84, 50, 49, 52, 59, 61, 52, 44,
+  40, 60, 67, 53, 49, 78, 104, 126, 156, 160, 166, 199, 160, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 233, 194, 185, 162, 170, 169,
+  102, 70, 68, 50, 39, 53, 36, 51, 23, 35, 45, 45, 45, 57, 65, 70,
+  78, 73, 81, 103, 102, 110, 128, 126, 131, 126, 126, 123, 123, 123, 124, 125,
+  127, 129, 127, 125, 123, 122, 123, 124, 124, 112, 112, 112, 112, 114, 110, 94,
+  78, 42, 43, 47, 46, 44, 52, 56, 45, 62, 65, 54, 56, 80, 97, 121,
+  163, 161, 165, 195, 153, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 172, 180, 167, 138, 141, 138, 95, 38, 39, 32, 43, 49, 31, 44,
+  35, 40, 52, 55, 55, 68, 75, 77, 83, 82, 87, 105, 104, 112, 130, 124,
+  127, 126, 126, 126, 126, 126, 126, 127, 128, 129, 128, 125, 124, 124, 123, 123,
+  125, 126, 123, 118, 117, 120, 124, 120, 113, 80, 74, 68, 57, 45, 53, 63,
+  59, 55, 60, 51, 47, 56, 58, 75, 110, 107, 132, 180, 150, 157, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 223, 153, 158, 125, 77, 63, 49,
+  26, 22, 27, 25, 51, 41, 23, 24, 33, 40, 53, 58, 59, 72, 78, 79,
+  83, 87, 89, 105, 103, 113, 132, 125, 125, 126, 126, 128, 128, 128, 128, 128,
+  127, 129, 128, 126, 126, 124, 124, 125, 125, 130, 130, 126, 122, 126, 134, 137,
+  137, 111, 100, 87, 65, 44, 47, 63, 67, 58, 63, 59, 53, 50, 42, 50,
+  78, 77, 118, 176, 164, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 172, 172, 173, 123, 71, 62, 49, 38, 28, 35, 31, 52, 31, 25, 17,
+  30, 41, 55, 57, 61, 73, 79, 81, 85, 87, 88, 103, 102, 113, 132, 126,
+  125, 124, 125, 128, 129, 129, 129, 127, 127, 131, 130, 128, 127, 127, 126, 126,
+  126, 120, 126, 128, 128, 128, 131, 132, 130, 114, 106, 94, 72, 43, 40, 52,
+  57, 58, 58, 58, 59, 56, 50, 58, 76, 78, 114, 168, 180, 175, 201, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 238, 172, 178, 155, 83, 34, 38, 41,
+  30, 33, 39, 35, 40, 24, 40, 29, 37, 52, 64, 65, 66, 78, 85, 88,
+  94, 92, 93, 106, 103, 115, 133, 125, 124, 122, 125, 125, 127, 129, 128, 127,
+  126, 130, 130, 130, 129, 129, 128, 127, 126, 115, 123, 129, 129, 127, 128, 129,
+  126, 114, 108, 107, 92, 64, 49, 48, 46, 46, 36, 35, 42, 44, 47, 57,
+  66, 68, 85, 124, 165, 167, 181, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  186, 184, 190, 128, 49, 7, 16, 41, 26, 39, 38, 39, 29, 23, 41, 33,
+  36, 57, 68, 69, 69, 80, 87, 90, 95, 102, 103, 114, 109, 116, 131, 124,
+  124, 124, 125, 125, 127, 127, 128, 128, 128, 130, 131, 131, 132, 130, 130, 129,
+  128, 125, 130, 130, 129, 129, 134, 138, 137, 124, 119, 123, 120, 97, 75, 61,
+  49, 47, 27, 23, 31, 32, 39, 50, 53, 53, 57, 75, 124, 129, 166, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 145, 166, 155, 163, 79, 26, 4, 8, 52,
+  35, 40, 28, 43, 28, 30, 31, 26, 33, 54, 67, 69, 70, 80, 86, 85,
+  89, 104, 106, 120, 111, 115, 130, 124, 125, 125, 125, 126, 127, 126, 129, 129,
+  131, 130, 132, 133, 133, 133, 131, 129, 128, 130, 133, 132, 129, 132, 137, 140,
+  138, 127, 119, 123, 129, 115, 94, 76, 61, 53, 31, 30, 35, 28, 35, 51,
+  51, 51, 59, 57, 93, 89, 150, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 144,
+  164, 160, 165, 69, 37, 21, 3, 46, 23, 32, 11, 41, 31, 40, 25, 22,
+  42, 54, 67, 71, 72, 83, 86, 83, 86, 98, 103, 117, 110, 111, 128, 123,
+  128, 127, 127, 127, 126, 128, 130, 132, 134, 132, 132, 133, 134, 134, 133, 131,
+  130, 129, 132, 131, 131, 133, 135, 132, 126, 121, 108, 112, 121, 115, 101, 84,
+  68, 52, 31, 32, 38, 26, 32, 50, 53, 54, 74, 62, 84, 72, 150, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 188, 163, 176, 118, 136, 27, 37, 32, 35, 30,
+  39, 36, 26, 50, 39, 44, 23, 25, 37, 67, 77, 85, 91, 90, 88, 85,
+  83, 101, 101, 104, 110, 109, 110, 119, 132, 127, 127, 126, 127, 129, 132, 133,
+  135, 129, 134, 137, 138, 135, 134, 133, 136, 128, 134, 135, 130, 127, 129, 132,
+  131, 129, 128, 127, 121, 112, 104, 100, 100, 80, 53, 53, 52, 32, 23, 40,
+  45, 44, 67, 65, 68, 67, 129, 232, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 182, 157,
+  163, 113, 115, 27, 22, 29, 36, 33, 46, 57, 34, 44, 32, 46, 35, 31,
+  36, 62, 75, 84, 89, 91, 96, 98, 94, 101, 101, 107, 116, 117, 115, 118,
+  126, 123, 123, 123, 124, 127, 129, 131, 133, 134, 134, 133, 131, 130, 133, 139,
+  144, 135, 139, 138, 133, 129, 130, 131, 129, 128, 127, 128, 124, 118, 114, 113,
+  114, 99, 76, 72, 65, 38, 25, 38, 47, 37, 62, 60, 56, 58, 122, 167,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 231, 188, 167, 160, 100, 91, 39, 18, 35, 39, 29,
+  44, 55, 35, 44, 33, 40, 34, 29, 35, 60, 74, 82, 82, 85, 97, 101,
+  95, 102, 100, 104, 111, 114, 116, 119, 124, 125, 126, 126, 127, 129, 132, 134,
+  135, 137, 136, 134, 132, 131, 134, 138, 143, 138, 141, 141, 134, 131, 133, 132,
+  131, 129, 128, 126, 121, 114, 109, 107, 110, 106, 89, 80, 71, 39, 26, 31,
+  41, 38, 57, 57, 50, 52, 106, 128, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 161, 135,
+  114, 62, 53, 50, 22, 46, 42, 26, 41, 33, 36, 57, 47, 35, 26, 27,
+  45, 71, 84, 89, 80, 79, 91, 94, 88, 101, 97, 93, 95, 103, 112, 120,
+  126, 127, 126, 128, 129, 131, 134, 135, 138, 135, 137, 139, 140, 139, 138, 136,
+  134, 135, 138, 137, 134, 132, 137, 137, 135, 132, 131, 127, 121, 114, 109, 108,
+  110, 108, 98, 84, 83, 56, 44, 34, 42, 48, 55, 59, 57, 56, 84, 110,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 168, 163, 116, 78, 21, 19, 48, 20, 44, 39, 29,
+  49, 28, 40, 61, 55, 35, 37, 41, 67, 89, 99, 98, 87, 83, 89, 92,
+  86, 92, 91, 91, 94, 102, 113, 120, 123, 123, 123, 125, 126, 127, 129, 132,
+  134, 134, 136, 138, 141, 141, 141, 139, 138, 135, 136, 136, 133, 132, 136, 137,
+  133, 132, 132, 131, 127, 124, 123, 124, 126, 118, 113, 94, 104, 85, 78, 49,
+  48, 50, 45, 59, 67, 63, 64, 96, 165, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 180, 161, 94,
+  53, 25, 23, 48, 22, 35, 31, 32, 52, 41, 40, 44, 43, 36, 58, 59,
+  82, 93, 96, 95, 89, 84, 86, 89, 89, 84, 92, 101, 108, 115, 121, 122,
+  120, 125, 125, 125, 128, 129, 131, 134, 135, 138, 136, 134, 134, 139, 143, 148,
+  150, 138, 139, 136, 131, 132, 134, 132, 129, 129, 131, 129, 126, 122, 118, 118,
+  119, 118, 120, 96, 112, 97, 91, 48, 43, 44, 34, 56, 67, 65, 53, 88,
+  117, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 183, 190, 163, 90, 62, 37, 34, 42, 27, 29, 27, 33,
+  45, 47, 40, 35, 41, 40, 74, 72, 89, 91, 88, 89, 90, 87, 84, 88,
+  96, 86, 100, 113, 120, 122, 125, 124, 121, 128, 128, 128, 130, 132, 134, 136,
+  138, 141, 138, 134, 135, 140, 144, 148, 149, 139, 139, 135, 131, 133, 135, 133,
+  129, 131, 133, 131, 127, 121, 115, 111, 110, 112, 122, 95, 112, 95, 92, 41,
+  40, 42, 35, 58, 59, 64, 55, 85, 99, 160, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 214, 157, 161, 127, 57,
+  43, 24, 25, 24, 24, 26, 28, 36, 39, 45, 44, 44, 53, 49, 83, 79,
+  97, 93, 86, 87, 96, 94, 89, 94, 106, 93, 107, 118, 120, 120, 124, 127,
+  126, 125, 126, 126, 127, 129, 132, 135, 135, 143, 140, 140, 143, 145, 145, 141,
+  137, 136, 136, 134, 132, 134, 140, 138, 135, 135, 137, 139, 138, 133, 129, 127,
+  127, 115, 131, 103, 119, 99, 97, 46, 50, 44, 43, 62, 52, 61, 59, 84,
+  79, 105, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 136, 137, 146, 94, 31, 26, 26, 24, 23, 24, 27, 34, 37,
+  38, 40, 24, 21, 40, 61, 72, 79, 87, 86, 85, 84, 84, 91, 99, 101,
+  98, 109, 111, 119, 127, 126, 123, 126, 134, 134, 130, 132, 136, 135, 131, 133,
+  140, 138, 139, 139, 140, 141, 142, 143, 143, 141, 138, 138, 143, 141, 134, 130,
+  133, 134, 134, 133, 129, 126, 126, 128, 131, 123, 138, 113, 136, 115, 105, 45,
+  46, 49, 48, 46, 70, 58, 71, 61, 58, 106, 148, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 133, 136, 144, 89, 42,
+  34, 32, 29, 25, 25, 27, 32, 36, 38, 33, 20, 19, 38, 58, 67, 73,
+  79, 78, 81, 84, 86, 90, 99, 104, 101, 104, 112, 123, 127, 126, 125, 129,
+  134, 138, 134, 132, 134, 132, 130, 133, 140, 134, 134, 135, 135, 136, 137, 139,
+  140, 144, 141, 141, 144, 143, 136, 134, 137, 137, 137, 135, 130, 124, 123, 126,
+  130, 126, 128, 116, 115, 115, 86, 45, 35, 40, 42, 45, 66, 55, 67, 61,
+  59, 108, 101, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 231, 137, 139, 141, 78, 47, 34, 35, 33, 29, 27, 28, 32, 35,
+  37, 29, 22, 27, 47, 67, 77, 82, 87, 90, 95, 99, 97, 97, 101, 105,
+  104, 104, 118, 131, 131, 127, 132, 134, 132, 139, 136, 135, 135, 134, 134, 138,
+  144, 135, 135, 134, 134, 136, 137, 139, 141, 150, 147, 146, 147, 146, 141, 139,
+  140, 134, 135, 134, 128, 120, 118, 123, 129, 139, 131, 138, 119, 137, 88, 63,
+  37, 32, 38, 46, 61, 50, 62, 64, 63, 101, 97, 157, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 132, 133, 130, 64, 49,
+  34, 33, 33, 33, 33, 33, 34, 35, 36, 38, 34, 42, 59, 74, 81, 83,
+  85, 90, 98, 104, 102, 98, 101, 106, 109, 108, 123, 131, 128, 131, 141, 138,
+  128, 138, 138, 138, 139, 138, 138, 141, 144, 140, 141, 139, 139, 140, 142, 145,
+  147, 149, 149, 150, 150, 149, 144, 141, 140, 148, 151, 150, 144, 135, 133, 138,
+  144, 125, 118, 134, 117, 135, 86, 59, 24, 30, 39, 50, 55, 46, 59, 71,
+  71, 90, 87, 90, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 173, 116, 116, 115, 56, 50, 41, 27, 32, 36, 38, 36, 35, 35,
+  34, 46, 45, 52, 62, 69, 70, 69, 68, 78, 89, 97, 95, 92, 98, 106,
+  112, 114, 123, 127, 127, 136, 151, 149, 134, 142, 145, 147, 145, 143, 142, 141,
+  142, 145, 146, 145, 145, 145, 146, 148, 149, 142, 147, 151, 152, 152, 148, 144,
+  139, 130, 133, 131, 126, 117, 113, 115, 118, 113, 109, 115, 117, 116, 92, 60,
+  28, 33, 43, 55, 47, 42, 56, 79, 79, 88, 82, 73, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 135, 169, 117, 104, 100, 52, 44,
+  45, 26, 31, 37, 40, 37, 35, 34, 33, 39, 43, 50, 59, 67, 70, 72,
+  73, 93, 100, 104, 99, 94, 97, 104, 109, 119, 122, 124, 127, 139, 154, 155,
+  145, 149, 153, 155, 152, 149, 149, 148, 147, 146, 147, 147, 146, 147, 146, 145,
+  145, 145, 151, 153, 152, 150, 147, 141, 135, 135, 135, 134, 130, 124, 119, 116,
+  117, 119, 112, 105, 118, 103, 105, 75, 47, 37, 45, 59, 42, 41, 55, 82,
+  79, 91, 86, 68, 143, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 148, 171, 126, 94, 84, 47, 33, 46, 30, 34, 38, 38, 33, 31, 32,
+  34, 30, 37, 46, 57, 66, 76, 83, 86, 100, 104, 103, 95, 90, 93, 98,
+  101, 114, 114, 114, 115, 120, 127, 133, 136, 135, 139, 140, 136, 137, 143, 148,
+  149, 144, 146, 147, 147, 145, 143, 141, 140, 147, 149, 145, 135, 126, 121, 113,
+  105, 94, 93, 95, 96, 98, 98, 93, 90, 102, 93, 91, 105, 91, 96, 71,
+  38, 34, 45, 61, 38, 42, 53, 81, 70, 92, 91, 68, 83, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 143, 159, 121, 79, 69, 43, 26,
+  49, 35, 38, 38, 35, 29, 28, 30, 34, 35, 41, 48, 54, 60, 69, 78,
+  82, 74, 78, 79, 75, 74, 82, 90, 95, 100, 99, 97, 95, 90, 88, 98,
+  108, 105, 110, 110, 109, 114, 128, 140, 143, 145, 147, 148, 149, 147, 144, 139,
+  138, 142, 140, 128, 109, 93, 84, 73, 64, 52, 53, 58, 66, 75, 78, 76,
+  72, 90, 81, 93, 104, 98, 94, 69, 27, 31, 43, 62, 36, 42, 52, 77,
+  63, 89, 92, 67, 77, 157, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  216, 138, 158, 129, 75, 69, 31, 38, 44, 38, 39, 38, 32, 25, 26, 33,
+  40, 43, 45, 60, 42, 72, 69, 70, 85, 72, 79, 89, 68, 73, 98, 83,
+  94, 98, 104, 93, 99, 98, 99, 91, 102, 127, 104, 106, 121, 114, 126, 144,
+  149, 152, 148, 148, 158, 139, 146, 129, 150, 132, 148, 125, 96, 89, 88, 81,
+  63, 60, 48, 66, 60, 75, 87, 59, 79, 76, 98, 81, 92, 106, 91, 73,
+  33, 31, 44, 67, 44, 44, 48, 77, 70, 88, 84, 81, 68, 98, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 115, 113, 131, 100, 55, 58, 32, 43,
+  53, 37, 37, 33, 30, 26, 27, 28, 30, 42, 38, 56, 58, 76, 73, 60,
+  65, 83, 82, 69, 77, 102, 128, 151, 163, 172, 183, 153, 124, 72, 79, 87,
+  116, 97, 90, 105, 105, 105, 110, 122, 106, 126, 111, 129, 115, 141, 138, 125,
+  108, 130, 106, 106, 116, 112, 131, 148, 121, 88, 57, 58, 76, 95, 90, 69,
+  87, 83, 102, 100, 91, 78, 75, 78, 66, 42, 43, 54, 45, 43, 49, 71,
+  73, 98, 91, 84, 64, 80, 255, 255, 255, 255, 255, 255, 255, 255, 255, 221,
+  124, 123, 134, 92, 50, 55, 35, 43, 52, 35, 33, 30, 29, 27, 26, 24,
+  22, 35, 31, 55, 72, 59, 58, 50, 64, 85, 106, 111, 140, 140, 99, 94,
+  71, 65, 84, 57, 61, 29, 91, 95, 102, 105, 112, 125, 89, 94, 100, 117,
+  86, 94, 78, 99, 89, 107, 101, 106, 115, 102, 126, 159, 170, 162, 154, 132,
+  99, 56, 58, 73, 118, 136, 117, 110, 109, 88, 79, 98, 113, 125, 133, 92,
+  38, 58, 41, 36, 49, 42, 51, 64, 77, 101, 95, 92, 70, 74, 130, 255,
+  255, 255, 255, 255, 255, 255, 255, 167, 144, 147, 151, 98, 61, 61, 43, 40,
+  47, 30, 32, 32, 31, 27, 24, 22, 22, 34, 35, 62, 79, 33, 38, 50,
+  88, 125, 122, 105, 76, 43, 11, 38, 43, 143, 196, 186, 182, 95, 158, 153,
+  148, 135, 150, 157, 85, 86, 84, 98, 54, 15, 12, 29, 47, 12, 13, 46,
+  134, 147, 146, 61, 7, 97, 183, 184, 195, 116, 150, 151, 168, 155, 143, 182,
+  179, 160, 76, 44, 44, 89, 154, 127, 70, 69, 39, 23, 53, 45, 55, 60,
+  81, 94, 91, 97, 85, 87, 69, 255, 255, 255, 255, 255, 255, 255, 255, 154,
+  140, 145, 147, 91, 64, 66, 53, 42, 48, 27, 34, 37, 32, 23, 19, 25,
+  32, 50, 45, 64, 73, 25, 32, 50, 93, 131, 117, 127, 71, 42, 36, 56,
+  62, 140, 200, 195, 190, 88, 167, 163, 140, 120, 150, 166, 99, 103, 94, 100,
+  57, 8, 14, 35, 51, 12, 18, 55, 144, 138, 135, 54, 1, 108, 198, 178,
+  184, 135, 170, 171, 187, 156, 132, 182, 183, 138, 79, 72, 69, 91, 137, 114,
+  70, 70, 36, 19, 55, 51, 60, 61, 80, 89, 86, 95, 88, 95, 75, 255,
+  255, 255, 255, 255, 255, 255, 216, 140, 134, 136, 138, 80, 63, 64, 56, 42,
+  49, 33, 39, 39, 31, 18, 16, 27, 40, 59, 43, 48, 47, 27, 32, 34,
+  58, 89, 57, 74, 17, 13, 32, 55, 51, 181, 227, 222, 219, 123, 205, 182,
+  118, 143, 164, 160, 94, 80, 55, 50, 27, 22, 23, 52, 28, 35, 30, 36,
+  40, 51, 49, 59, 61, 125, 199, 206, 215, 136, 138, 151, 203, 174, 120, 145,
+  147, 108, 87, 82, 63, 54, 77, 82, 68, 57, 31, 25, 52, 57, 63, 66,
+  74, 91, 85, 88, 78, 89, 75, 255, 255, 255, 255, 255, 255, 255, 141, 138,
+  130, 132, 133, 72, 60, 58, 54, 37, 47, 45, 45, 37, 25, 14, 15, 27,
+  40, 51, 36, 35, 18, 27, 24, 17, 29, 33, 8, 31, 10, 25, 32, 70,
+  53, 157, 218, 244, 234, 114, 173, 156, 86, 81, 96, 88, 57, 50, 39, 48,
+  63, 104, 106, 127, 95, 108, 104, 74, 32, 34, 8, 18, 33, 109, 198, 203,
+  208, 158, 125, 121, 159, 122, 66, 83, 90, 59, 65, 50, 36, 31, 35, 46,
+  32, 37, 24, 35, 47, 61, 63, 72, 65, 86, 84, 86, 70, 82, 73, 146,
+  255, 255, 255, 255, 255, 221, 142, 132, 121, 123, 124, 60, 53, 51, 51, 36,
+  51, 55, 49, 36, 22, 12, 16, 28, 39, 43, 37, 38, 5, 24, 16, 14,
+  30, 32, 13, 25, 20, 28, 10, 80, 66, 176, 213, 230, 222, 124, 188, 166,
+  74, 82, 94, 85, 75, 60, 35, 29, 56, 102, 115, 120, 118, 97, 105, 60,
+  43, 22, 46, 46, 25, 111, 196, 190, 222, 146, 125, 140, 166, 125, 80, 86,
+  83, 44, 66, 45, 42, 45, 40, 53, 38, 24, 19, 41, 43, 63, 63, 76,
+  59, 75, 82, 88, 72, 83, 75, 90, 255, 255, 255, 255, 255, 158, 182, 145,
+  145, 153, 130, 70, 42, 57, 39, 22, 51, 51, 43, 36, 32, 32, 31, 26,
+  20, 20, 10, 11, 28, 41, 39, 34, 35, 45, 38, 44, 23, 22, 18, 40,
+  36, 132, 182, 188, 190, 90, 111, 70, 35, 29, 18, 30, 43, 44, 30, 30,
+  73, 133, 144, 126, 134, 136, 141, 74, 24, 16, 36, 26, 53, 47, 100, 106,
+  124, 117, 74, 65, 67, 40, 34, 50, 49, 31, 25, 38, 39, 22, 24, 31,
+  16, 34, 26, 38, 52, 51, 52, 63, 68, 77, 72, 72, 96, 68, 74, 88,
+  255, 255, 255, 255, 255, 162, 190, 156, 149, 138, 116, 63, 31, 37, 33, 19,
+  29, 40, 35, 29, 28, 30, 30, 25, 21, 16, 13, 19, 36, 42, 32, 25,
+  25, 30, 16, 24, 14, 20, 18, 35, 28, 49, 69, 87, 87, 34, 45, 43,
+  30, 34, 24, 29, 25, 24, 19, 17, 50, 110, 119, 118, 138, 138, 143, 81,
+  17, 21, 26, 11, 38, 21, 45, 43, 67, 47, 26, 39, 54, 39, 36, 46,
+  38, 36, 17, 13, 16, 26, 61, 82, 66, 47, 29, 30, 42, 45, 48, 57,
+  56, 68, 66, 82, 108, 73, 73, 90, 255, 255, 255, 255, 224, 136, 156, 116,
+  94, 98, 77, 42, 19, 25, 41, 41, 34, 31, 28, 26, 27, 28, 27, 23,
+  20, 20, 23, 33, 50, 56, 52, 52, 57, 30, 7, 12, 12, 25, 16, 26,
+  19, 16, 16, 56, 61, 51, 28, 41, 30, 26, 22, 22, 8, 11, 20, 25,
+  53, 110, 112, 129, 154, 145, 148, 95, 19, 32, 25, 14, 46, 26, 30, 27,
+  59, 56, 42, 46, 43, 26, 33, 46, 39, 16, 18, 27, 22, 24, 64, 89,
+  74, 63, 34, 24, 32, 37, 44, 48, 42, 53, 53, 84, 110, 70, 64, 83,
+  255, 255, 255, 255, 175, 150, 173, 128, 95, 98, 65, 41, 27, 23, 35, 39,
+  23, 29, 28, 28, 28, 26, 25, 20, 18, 22, 23, 30, 43, 54, 59, 66,
+  75, 46, 16, 19, 19, 29, 14, 22, 17, 23, 20, 61, 66, 71, 35, 38,
+  21, 24, 19, 22, 11, 13, 23, 35, 71, 109, 100, 127, 143, 123, 128, 99,
+  23, 19, 16, 13, 42, 29, 30, 29, 59, 78, 71, 61, 38, 17, 29, 45,
+  39, 8, 25, 41, 31, 28, 68, 90, 65, 73, 41, 26, 32, 36, 41, 42,
+  35, 60, 54, 87, 108, 73, 66, 87, 255, 255, 255, 255, 169, 150, 168, 112,
+  79, 88, 46, 33, 36, 26, 28, 33, 23, 23, 24, 25, 25, 23, 21, 20,
+  20, 41, 39, 41, 51, 61, 66, 68, 70, 51, 25, 27, 22, 28, 13, 27,
+  29, 27, 25, 39, 39, 41, 32, 34, 25, 32, 24, 28, 21, 17, 15, 29,
+  77, 114, 100, 129, 132, 106, 118, 119, 56, 13, 19, 18, 30, 20, 25, 24,
+  36, 37, 46, 48, 30, 20, 30, 36, 26, 31, 29, 25, 17, 38, 99, 120,
+  83, 76, 48, 36, 42, 41, 42, 41, 34, 51, 39, 61, 76, 61, 59, 80,
+  255, 255, 255, 255, 143, 129, 131, 61, 41, 57, 24, 20, 34, 29, 26, 32,
+  30, 14, 18, 21, 21, 19, 19, 21, 24, 50, 51, 58, 68, 77, 79, 74,
+  67, 42, 23, 26, 18, 22, 14, 34, 37, 25, 29, 27, 25, 26, 34, 32,
+  28, 29, 19, 23, 20, 16, 13, 29, 80, 131, 114, 140, 130, 107, 120, 134,
+  82, 15, 25, 23, 19, 13, 20, 18, 16, 23, 38, 39, 27, 24, 31, 29,
+  19, 35, 31, 26, 17, 37, 97, 118, 81, 77, 54, 44, 49, 48, 46, 42,
+  34, 34, 22, 33, 39, 51, 50, 68, 255, 255, 255, 255, 138, 134, 126, 56,
+  60, 47, 32, 29, 33, 27, 22, 20, 16, 15, 19, 22, 21, 17, 17, 21,
+  27, 36, 44, 55, 65, 71, 72, 70, 66, 40, 25, 29, 16, 19, 16, 36,
+  33, 18, 21, 22, 20, 28, 24, 20, 19, 24, 17, 17, 9, 14, 27, 44,
+  84, 120, 105, 130, 119, 110, 117, 127, 74, 12, 17, 16, 9, 11, 16, 13,
+  7, 37, 47, 39, 25, 25, 31, 28, 23, 24, 27, 32, 28, 42, 90, 105,
+  70, 83, 57, 46, 52, 51, 49, 42, 32, 36, 34, 35, 33, 65, 58, 69,
+  255, 255, 255, 255, 118, 111, 87, 13, 33, 21, 26, 30, 30, 33, 38, 37,
+  30, 22, 26, 27, 24, 18, 17, 21, 27, 48, 57, 66, 69, 68, 70, 74,
+  77, 49, 35, 35, 17, 20, 17, 32, 21, 25, 16, 17, 9, 32, 15, 25,
+  33, 31, 26, 19, 1, 12, 40, 53, 80, 105, 96, 125, 120, 129, 134, 136,
+  82, 30, 27, 26, 23, 26, 25, 23, 18, 14, 26, 24, 20, 29, 33, 26,
+  23, 29, 15, 12, 23, 60, 121, 131, 86, 87, 57, 43, 50, 52, 51, 43,
+  29, 26, 33, 31, 22, 61, 48, 51, 255, 255, 255, 255, 154, 163, 90, 23,
+  32, 23, 26, 31, 38, 41, 38, 35, 34, 30, 27, 25, 24, 19, 19, 25,
+  34, 57, 60, 65, 71, 76, 79, 81, 82, 63, 56, 56, 23, 14, 29, 11,
+  8, 20, 25, 29, 29, 28, 25, 21, 17, 19, 26, 15, 27, 27, 65, 72,
+  80, 94, 89, 105, 110, 117, 122, 104, 103, 71, 76, 17, 12, 32, 24, 33,
+  17, 20, 21, 30, 34, 26, 27, 32, 27, 13, 21, 43, 42, 103, 120, 138,
+  76, 85, 54, 33, 34, 38, 45, 42, 27, 25, 26, 34, 44, 49, 53, 61,
+  255, 255, 255, 255, 163, 166, 91, 29, 28, 25, 25, 30, 39, 40, 33, 30,
+  30, 28, 26, 24, 24, 20, 18, 24, 31, 50, 53, 59, 65, 71, 75, 78,
+  78, 83, 73, 68, 37, 23, 29, 15, 16, 14, 19, 24, 25, 21, 14, 11,
+  10, 16, 32, 37, 56, 54, 75, 70, 69, 94, 90, 107, 112, 118, 122, 105,
+  104, 104, 101, 33, 12, 14, 1, 11, 0, 13, 15, 24, 29, 20, 20, 22,
+  16, 30, 48, 81, 85, 131, 129, 133, 65, 85, 51, 30, 36, 41, 45, 40,
+  30, 23, 24, 30, 42, 49, 54, 62, 255, 255, 255, 255, 168, 160, 85, 40,
+  33, 31, 27, 32, 44, 43, 30, 25, 29, 26, 25, 24, 23, 20, 17, 21,
+  28, 48, 51, 58, 66, 73, 77, 80, 81, 81, 70, 66, 42, 24, 17, 6,
+  12, 17, 17, 21, 26, 21, 10, 11, 17, 8, 21, 28, 45, 50, 73, 82,
+  91, 94, 92, 109, 115, 119, 123, 107, 107, 103, 101, 47, 27, 20, 6, 18,
+  12, 15, 14, 24, 28, 21, 22, 26, 22, 27, 48, 82, 91, 129, 127, 139,
+  88, 89, 49, 27, 38, 47, 46, 43, 36, 25, 23, 27, 38, 47, 53, 59,
+  255, 255, 255, 255, 140, 122, 50, 31, 30, 42, 34, 39, 51, 48, 33, 26,
+  31, 24, 22, 23, 24, 20, 16, 19, 25, 49, 52, 58, 66, 73, 77, 80,
+  81, 85, 80, 79, 71, 54, 36, 26, 32, 18, 13, 15, 20, 18, 13, 22,
+  37, 34, 51, 72, 90, 89, 83, 73, 71, 94, 93, 110, 115, 120, 123, 107,
+  110, 117, 119, 90, 73, 53, 26, 22, 11, 16, 14, 22, 25, 21, 30, 42,
+  43, 83, 98, 117, 113, 125, 115, 127, 92, 92, 45, 22, 38, 47, 47, 48,
+  48, 37, 33, 31, 34, 42, 49, 55, 255, 255, 255, 255, 157, 133, 55, 54,
+  60, 48, 41, 44, 52, 48, 34, 27, 31, 24, 23, 22, 23, 19, 15, 17,
+  24, 46, 48, 55, 62, 69, 73, 74, 74, 85, 87, 90, 96, 85, 59, 51,
+  52, 63, 57, 54, 57, 60, 65, 81, 101, 106, 96, 88, 79, 75, 71, 86,
+  100, 96, 94, 112, 114, 118, 122, 108, 111, 108, 118, 122, 130, 122, 106, 105,
+  95, 62, 58, 62, 64, 64, 80, 102, 108, 122, 135, 144, 138, 129, 105, 108,
+  78, 89, 42, 17, 30, 39, 42, 49, 54, 51, 46, 39, 35, 38, 45, 48,
+  255, 255, 255, 255, 158, 134, 41, 39, 47, 49, 47, 46, 48, 43, 34, 28,
+  28, 25, 24, 23, 23, 17, 14, 17, 25, 44, 48, 54, 61, 67, 71, 73,
+  74, 77, 85, 87, 101, 97, 76, 74, 68, 56, 53, 49, 49, 54, 66, 80,
+  91, 101, 89, 91, 85, 86, 68, 75, 82, 101, 99, 114, 113, 116, 120, 109,
+  113, 114, 111, 121, 128, 116, 106, 103, 94, 56, 52, 55, 57, 58, 73, 96,
+  102, 127, 131, 132, 131, 117, 97, 103, 86, 81, 40, 16, 21, 26, 32, 43,
+  50, 57, 54, 46, 39, 37, 41, 44, 255, 255, 255, 255, 144, 135, 39, 36,
+  49, 50, 52, 49, 42, 37, 35, 31, 25, 28, 25, 23, 22, 16, 14, 18,
+  26, 42, 46, 52, 60, 67, 72, 74, 74, 86, 97, 93, 111, 116, 108, 118,
+  110, 122, 127, 126, 122, 126, 137, 141, 135, 145, 112, 93, 69, 71, 55, 75,
+  91, 107, 104, 116, 113, 115, 120, 112, 118, 114, 101, 114, 126, 126, 135, 142,
+  140, 129, 126, 133, 136, 133, 140, 153, 154, 151, 148, 139, 141, 118, 95, 94,
+  79, 75, 43, 23, 20, 19, 25, 36, 40, 48, 52, 50, 44, 40, 42, 43,
+  255, 255, 255, 255, 93, 107, 22, 28, 52, 49, 56, 51, 38, 33, 36, 34,
+  25, 30, 25, 23, 20, 17, 14, 20, 27, 34, 38, 46, 55, 63, 68, 72,
+  73, 88, 100, 92, 109, 122, 125, 146, 138, 125, 136, 137, 132, 134, 143, 135,
+  116, 120, 90, 81, 69, 78, 60, 80, 93, 110, 106, 118, 113, 114, 120, 113,
+  121, 111, 87, 98, 108, 107, 121, 127, 125, 140, 141, 150, 154, 145, 145, 149,
+  144, 133, 139, 142, 158, 135, 101, 82, 56, 75, 50, 34, 26, 19, 25, 33,
+  33, 39, 48, 51, 47, 42, 43, 42, 255, 255, 255, 255, 99, 104, 27, 29,
+  40, 45, 46, 45, 32, 21, 31, 38, 24, 27, 26, 23, 19, 16, 18, 23,
+  27, 34, 29, 48, 61, 71, 75, 65, 74, 85, 95, 90, 101, 113, 124, 146,
+  144, 134, 124, 130, 131, 124, 131, 123, 90, 91, 82, 78, 83, 78, 75, 88,
+  107, 107, 100, 114, 107, 114, 112, 126, 116, 116, 121, 111, 113, 97, 109, 109,
+  121, 123, 127, 134, 142, 145, 143, 140, 139, 140, 135, 136, 131, 103, 110, 80,
+  68, 73, 54, 33, 28, 32, 36, 37, 37, 41, 40, 49, 49, 35, 31, 35,
+  255, 255, 255, 255, 102, 113, 40, 34, 36, 41, 42, 41, 29, 19, 30, 38,
+  25, 27, 25, 23, 19, 17, 19, 25, 27, 34, 28, 47, 60, 70, 74, 65,
+  74, 85, 96, 91, 103, 115, 126, 147, 145, 133, 127, 132, 134, 128, 132, 123,
+  94, 92, 78, 70, 78, 81, 80, 87, 100, 105, 100, 117, 115, 125, 123, 133,
+  118, 121, 125, 113, 113, 94, 104, 102, 113, 127, 130, 134, 143, 147, 147, 142,
+  140, 142, 134, 133, 128, 101, 108, 79, 70, 70, 53, 33, 28, 31, 34, 34,
+  34, 38, 37, 47, 49, 37, 33, 35, 255, 255, 255, 255, 116, 128, 58, 40,
+  31, 37, 37, 36, 26, 19, 32, 40, 28, 28, 26, 23, 19, 18, 20, 25,
+  28, 32, 27, 46, 56, 66, 71, 64, 75, 80, 90, 86, 98, 110, 121, 141,
+  140, 136, 134, 137, 133, 122, 116, 103, 77, 93, 74, 63, 72, 83, 84, 86,
+  90, 96, 92, 116, 122, 138, 137, 142, 123, 121, 124, 111, 112, 94, 103, 101,
+  113, 120, 119, 123, 130, 137, 140, 135, 128, 132, 124, 123, 118, 92, 98, 70,
+  62, 64, 48, 32, 27, 30, 31, 30, 29, 36, 35, 44, 48, 39, 36, 36,
+  255, 255, 255, 255, 121, 129, 65, 43, 30, 34, 33, 32, 23, 18, 33, 42,
+  30, 29, 27, 23, 19, 18, 20, 24, 27, 31, 25, 43, 53, 61, 66, 61,
+  74, 80, 90, 85, 96, 106, 115, 135, 132, 139, 140, 138, 132, 119, 107, 88,
+  70, 71, 54, 42, 49, 58, 59, 57, 57, 77, 78, 107, 119, 143, 142, 145,
+  123, 88, 91, 82, 89, 74, 85, 87, 102, 114, 112, 112, 119, 128, 135, 130,
+  121, 125, 114, 115, 113, 85, 89, 58, 52, 57, 45, 30, 27, 29, 29, 25,
+  25, 35, 34, 44, 50, 41, 38, 36, 255, 255, 255, 255, 121, 121, 65, 44,
+  34, 34, 32, 31, 22, 20, 36, 43, 31, 29, 27, 25, 20, 18, 19, 23,
+  27, 32, 26, 43, 51, 57, 62, 58, 73, 89, 97, 89, 95, 102, 111, 130,
+  126, 135, 138, 135, 129, 123, 110, 92, 80, 82, 69, 59, 61, 64, 61, 58,
+  57, 77, 78, 110, 125, 149, 147, 148, 124, 80, 83, 79, 92, 81, 94, 98,
+  115, 110, 110, 108, 110, 122, 132, 131, 123, 120, 110, 112, 113, 84, 84, 52,
+  46, 52, 40, 28, 27, 28, 28, 24, 25, 37, 37, 46, 50, 41, 38, 37,
+  255, 255, 255, 255, 142, 131, 75, 51, 39, 37, 34, 31, 23, 21, 38, 45,
+  33, 30, 28, 25, 20, 18, 19, 22, 27, 35, 29, 44, 49, 53, 58, 56,
+  72, 91, 97, 85, 88, 94, 101, 119, 117, 127, 129, 118, 108, 108, 94, 73,
+  68, 59, 51, 43, 41, 37, 31, 28, 25, 54, 55, 86, 96, 115, 109, 110,
+  87, 39, 43, 41, 58, 50, 61, 63, 81, 93, 93, 90, 90, 100, 115, 119,
+  114, 112, 99, 101, 103, 77, 76, 45, 41, 48, 38, 28, 26, 28, 27, 27,
+  28, 43, 43, 50, 51, 37, 34, 37, 255, 255, 255, 255, 166, 149, 92, 60,
+  43, 43, 39, 35, 25, 22, 39, 48, 34, 30, 29, 24, 20, 18, 19, 23,
+  26, 38, 31, 45, 48, 51, 56, 55, 72, 89, 93, 78, 79, 84, 91, 110,
+  110, 123, 122, 100, 87, 90, 74, 51, 50, 59, 51, 42, 38, 37, 30, 22,
+  16, 14, 16, 43, 49, 63, 56, 58, 38, 26, 30, 29, 51, 42, 51, 52,
+  69, 77, 79, 76, 72, 81, 100, 110, 109, 103, 87, 88, 91, 67, 69, 43,
+  42, 46, 37, 27, 26, 29, 28, 30, 32, 48, 48, 55, 50, 33, 29, 37,
+  255, 255, 255, 255, 165, 153, 101, 66, 44, 46, 41, 36, 26, 24, 41, 48,
+  34, 31, 29, 24, 20, 18, 19, 23, 27, 39, 33, 45, 48, 50, 54, 53,
+  72, 90, 93, 78, 77, 82, 90, 110, 111, 124, 120, 95, 84, 91, 80, 58,
+  60, 60, 50, 40, 37, 37, 32, 21, 12, 22, 24, 51, 54, 65, 58, 64,
+  46, 20, 24, 26, 48, 40, 48, 49, 66, 81, 84, 81, 75, 83, 104, 116,
+  119, 102, 86, 83, 87, 64, 70, 48, 51, 47, 37, 27, 27, 29, 29, 32,
+  35, 52, 54, 58, 50, 29, 25, 37, 255, 255, 255, 255, 150, 137, 100, 65,
+  38, 40, 38, 31, 25, 29, 40, 45, 43, 33, 28, 23, 19, 18, 17, 17,
+  16, 30, 29, 35, 47, 51, 49, 52, 60, 74, 75, 72, 66, 67, 80, 97,
+  109, 115, 80, 61, 66, 62, 53, 48, 44, 44, 44, 44, 42, 38, 31, 24,
+  18, 11, 25, 24, 41, 38, 42, 25, 33, 37, 29, 35, 52, 51, 40, 44,
+  61, 60, 65, 65, 61, 66, 81, 96, 104, 89, 96, 71, 82, 68, 69, 58,
+  43, 46, 35, 27, 27, 31, 33, 40, 49, 63, 64, 63, 50, 33, 38, 48,
+  255, 255, 255, 255, 140, 117, 84, 58, 31, 33, 31, 27, 21, 23, 32, 38,
+  37, 37, 31, 25, 20, 19, 20, 20, 21, 24, 23, 29, 42, 46, 44, 48,
+  56, 56, 60, 61, 58, 61, 72, 84, 91, 90, 63, 48, 49, 43, 40, 39,
+  34, 43, 41, 37, 35, 33, 34, 36, 37, 38, 44, 28, 30, 19, 28, 27,
+  49, 40, 32, 36, 47, 48, 38, 38, 48, 55, 55, 48, 41, 44, 61, 78,
+  87, 78, 87, 66, 77, 63, 63, 53, 40, 45, 37, 28, 29, 32, 34, 41,
+  49, 64, 61, 58, 50, 37, 41, 121, 255, 255, 255, 255, 143, 103, 74, 62,
+  33, 32, 33, 30, 25, 25, 31, 35, 37, 43, 36, 27, 21, 20, 22, 25,
+  27, 22, 20, 26, 38, 42, 39, 43, 51, 42, 47, 51, 52, 58, 65, 68,
+  68, 69, 53, 44, 38, 30, 32, 37, 29, 29, 31, 33, 34, 34, 34, 34,
+  32, 30, 42, 33, 38, 24, 29, 28, 52, 42, 38, 39, 45, 49, 48, 46,
+  47, 42, 44, 46, 44, 47, 51, 54, 54, 65, 79, 63, 73, 56, 56, 50,
+  39, 45, 37, 30, 29, 32, 36, 42, 49, 66, 58, 52, 49, 43, 45, 255,
+  255, 255, 255, 255, 146, 95, 69, 63, 34, 34, 34, 33, 29, 27, 29, 34,
+  39, 45, 38, 28, 21, 20, 23, 27, 30, 22, 20, 26, 36, 39, 35, 37,
+  46, 41, 45, 49, 52, 57, 62, 59, 54, 53, 50, 49, 39, 28, 34, 38,
+  29, 35, 36, 38, 38, 35, 34, 34, 34, 26, 39, 36, 48, 36, 36, 27,
+  47, 48, 45, 40, 36, 39, 43, 39, 33, 40, 42, 46, 48, 47, 45, 40,
+  35, 61, 77, 64, 73, 53, 52, 47, 39, 41, 35, 29, 28, 32, 36, 42,
+  46, 64, 52, 42, 44, 45, 47, 255, 255, 255, 255, 255, 130, 81, 59, 54,
+  27, 30, 28, 28, 25, 22, 22, 27, 33, 43, 36, 26, 20, 19, 23, 26,
+  28, 23, 21, 25, 33, 34, 28, 30, 37, 43, 46, 49, 49, 52, 54, 51,
+  45, 36, 41, 49, 42, 31, 37, 43, 31, 41, 39, 35, 29, 26, 27, 33,
+  39, 52, 53, 34, 41, 31, 35, 30, 53, 36, 40, 41, 40, 49, 63, 69,
+  68, 52, 47, 38, 33, 29, 31, 36, 41, 60, 77, 63, 71, 50, 47, 43,
+  37, 36, 33, 29, 27, 30, 35, 40, 42, 56, 46, 31, 33, 41, 41, 255,
+  255, 255, 255, 102, 113, 78, 61, 52, 32, 31, 25, 23, 21, 19, 19, 23,
+  30, 38, 33, 26, 21, 21, 22, 24, 24, 22, 19, 22, 30, 29, 23, 23,
+  31, 40, 44, 46, 44, 43, 45, 43, 38, 29, 35, 47, 47, 38, 44, 50,
+  43, 56, 64, 74, 79, 76, 71, 69, 69, 74, 72, 53, 65, 58, 62, 59,
+  83, 68, 72, 69, 59, 51, 49, 49, 51, 50, 46, 41, 37, 31, 28, 33,
+  43, 61, 75, 58, 65, 45, 44, 39, 32, 32, 31, 28, 26, 28, 35, 40,
+  38, 46, 43, 24, 21, 33, 33, 255, 255, 255, 255, 85, 96, 78, 65, 49,
+  37, 36, 27, 20, 20, 19, 19, 24, 30, 34, 31, 26, 24, 24, 24, 24,
+  21, 20, 17, 20, 28, 29, 24, 25, 32, 34, 43, 47, 45, 42, 42, 41,
+  39, 37, 37, 47, 48, 41, 44, 52, 49, 31, 45, 64, 75, 75, 68, 62,
+  60, 46, 54, 47, 67, 61, 59, 52, 76, 52, 61, 70, 68, 56, 48, 51,
+  61, 40, 42, 46, 46, 38, 30, 32, 42, 60, 72, 53, 59, 41, 41, 38,
+  31, 30, 31, 30, 27, 30, 38, 40, 37, 45, 48, 27, 17, 32, 255, 255,
+  255, 255, 255, 68, 78, 68, 55, 35, 27, 38, 25, 16, 17, 19, 19, 23,
+  28, 32, 31, 28, 27, 27, 25, 23, 19, 21, 17, 21, 31, 32, 27, 29,
+  37, 34, 44, 52, 51, 47, 45, 44, 44, 43, 38, 44, 46, 36, 36, 44,
+  44, 51, 55, 60, 62, 62, 68, 77, 86, 110, 119, 112, 128, 116, 111, 108,
+  137, 128, 133, 132, 114, 76, 38, 26, 30, 42, 41, 40, 36, 26, 22, 34,
+  52, 62, 73, 50, 57, 41, 43, 39, 32, 29, 32, 31, 27, 31, 39, 41,
+  38, 49, 56, 34, 21, 35, 255, 255, 255, 255, 209, 79, 77, 60, 45, 32,
+  27, 31, 26, 20, 16, 17, 19, 21, 23, 30, 27, 25, 25, 26, 26, 21,
+  17, 22, 15, 17, 28, 32, 27, 27, 33, 34, 41, 48, 50, 46, 41, 40,
+  41, 31, 42, 47, 52, 47, 47, 38, 31, 31, 64, 77, 88, 94, 103, 119,
+  115, 144, 146, 155, 166, 164, 151, 149, 157, 145, 141, 170, 129, 100, 62, 51,
+  66, 73, 70, 69, 56, 34, 30, 41, 44, 57, 54, 48, 40, 39, 40, 37,
+  30, 27, 33, 36, 30, 27, 33, 42, 48, 61, 67, 41, 23, 33, 255, 255,
+  255, 255, 109, 79, 74, 58, 50, 30, 30, 31, 27, 22, 18, 18, 21, 23,
+  24, 28, 27, 25, 27, 27, 27, 22, 19, 22, 17, 20, 31, 31, 25, 27,
+  34, 35, 41, 48, 50, 46, 43, 43, 45, 54, 66, 76, 78, 73, 69, 60,
+  51, 36, 54, 51, 51, 44, 38, 46, 38, 59, 56, 54, 58, 55, 50, 56,
+  70, 65, 73, 111, 107, 105, 101, 103, 125, 98, 90, 86, 71, 49, 45, 51,
+  51, 54, 51, 44, 37, 36, 38, 33, 28, 27, 32, 32, 27, 28, 36, 45,
+  50, 67, 71, 44, 21, 26, 255, 255, 255, 255, 94, 81, 73, 58, 63, 33,
+  40, 32, 28, 23, 19, 19, 21, 22, 23, 23, 24, 25, 28, 29, 28, 24,
+  21, 22, 19, 23, 30, 28, 23, 25, 33, 34, 39, 45, 47, 45, 45, 46,
+  48, 41, 53, 70, 72, 72, 62, 57, 48, 47, 55, 47, 49, 44, 34, 44,
+  41, 68, 62, 58, 58, 55, 52, 62, 76, 76, 81, 97, 102, 91, 93, 81,
+  94, 100, 89, 81, 70, 51, 47, 51, 48, 49, 46, 40, 33, 32, 34, 31,
+  25, 28, 30, 29, 26, 30, 39, 47, 48, 56, 60, 40, 24, 104, 255, 255,
+  255, 193, 62, 61, 53, 38, 52, 19, 30, 31, 28, 23, 19, 18, 20, 21,
+  21, 19, 21, 24, 28, 29, 29, 25, 23, 22, 23, 27, 30, 26, 21, 24,
+  33, 32, 36, 41, 43, 43, 45, 48, 50, 52, 66, 91, 92, 100, 90, 91,
+  82, 67, 75, 72, 83, 83, 77, 95, 102, 93, 93, 95, 98, 94, 89, 90,
+  96, 72, 79, 81, 99, 94, 110, 98, 106, 81, 67, 59, 55, 45, 44, 48,
+  44, 46, 44, 38, 31, 31, 34, 31, 26, 28, 29, 28, 27, 33, 40, 43,
+  39, 38, 43, 35, 28, 255, 255, 255, 255, 68, 55, 58, 53, 32, 46, 18,
+  28, 29, 26, 22, 19, 18, 19, 20, 20, 17, 20, 24, 28, 29, 28, 25,
+  24, 23, 25, 27, 29, 25, 21, 25, 32, 34, 36, 39, 41, 43, 48, 52,
+  54, 36, 49, 79, 79, 96, 84, 91, 80, 84, 94, 93, 102, 97, 88, 107,
+  117, 119, 124, 130, 134, 130, 123, 117, 119, 112, 115, 98, 110, 100, 109, 97,
+  95, 72, 56, 50, 51, 47, 49, 53, 52, 46, 44, 38, 32, 33, 36, 34,
+  29, 27, 28, 29, 29, 35, 39, 35, 28, 33, 37, 37, 33, 255, 255, 255,
+  255, 72, 61, 60, 62, 33, 38, 24, 29, 27, 25, 22, 20, 20, 21, 22,
+  21, 18, 22, 25, 28, 26, 25, 24, 24, 24, 26, 28, 29, 25, 25, 28,
+  32, 37, 37, 38, 41, 45, 51, 56, 58, 42, 48, 77, 71, 96, 83, 92,
+  80, 82, 95, 92, 95, 91, 87, 108, 114, 120, 124, 128, 128, 124, 119, 117,
+  118, 111, 116, 100, 110, 110, 114, 116, 108, 71, 54, 48, 53, 50, 50, 56,
+  55, 45, 43, 37, 32, 33, 37, 36, 30, 27, 30, 31, 31, 35, 37, 33,
+  25, 35, 36, 39, 111, 255, 255, 255, 255, 48, 46, 37, 51, 18, 15, 20,
+  17, 28, 26, 23, 22, 23, 24, 25, 25, 21, 24, 26, 27, 24, 22, 22,
+  23, 27, 27, 27, 27, 27, 30, 32, 33, 37, 35, 35, 37, 42, 50, 55,
+  58, 41, 40, 66, 56, 88, 75, 87, 71, 76, 85, 75, 76, 78, 87, 108,
+  105, 112, 115, 117, 112, 107, 105, 107, 108, 104, 111, 99, 99, 104, 93, 101,
+  85, 64, 47, 42, 47, 42, 40, 47, 49, 41, 40, 35, 31, 32, 37, 34,
+  29, 28, 32, 33, 32, 33, 37, 35, 32, 30, 30, 36, 255, 255, 255, 255,
+  255, 39, 43, 31, 55, 21, 15, 35, 29, 29, 27, 25, 24, 25, 27, 28,
+  28, 23, 26, 27, 26, 22, 20, 21, 23, 29, 29, 27, 26, 29, 33, 35,
+  33, 34, 32, 31, 32, 38, 45, 51, 54, 44, 40, 64, 53, 89, 76, 91,
+  73, 80, 84, 62, 54, 59, 71, 87, 75, 72, 77, 79, 75, 70, 68, 68,
+  68, 79, 90, 88, 85, 97, 76, 93, 72, 54, 37, 34, 39, 33, 32, 40,
+  43, 39, 38, 32, 28, 30, 35, 33, 29, 32, 35, 34, 31, 32, 37, 40,
+  39, 26, 23, 29, 255, 255, 255, 255, 255, 42, 31, 23, 23, 20, 15, 17,
+  24, 24, 26, 29, 31, 31, 29, 28, 26, 20, 24, 29, 31, 30, 28, 25,
+  24, 28, 28, 27, 28, 29, 30, 31, 33, 33, 28, 25, 26, 34, 40, 42,
+  39, 35, 38, 44, 50, 58, 69, 83, 91, 89, 79, 69, 64, 65, 66, 62,
+  59, 53, 51, 50, 50, 53, 56, 59, 60, 57, 63, 80, 87, 75, 69, 68,
+  65, 50, 35, 38, 36, 36, 36, 24, 34, 36, 33, 27, 27, 29, 33, 34,
+  35, 35, 33, 32, 34, 38, 39, 36, 33, 41, 31, 106, 255, 255, 255, 255,
+  70, 41, 31, 22, 23, 22, 18, 19, 26, 22, 23, 26, 28, 28, 28, 27,
+  26, 21, 25, 28, 30, 28, 27, 25, 25, 31, 31, 30, 31, 31, 32, 33,
+  34, 30, 27, 24, 27, 33, 38, 39, 37, 30, 36, 42, 46, 53, 66, 82,
+  95, 88, 80, 69, 65, 65, 64, 60, 56, 53, 53, 53, 57, 61, 63, 63,
+  60, 69, 69, 81, 86, 77, 73, 70, 62, 49, 35, 38, 34, 36, 37, 26,
+  34, 34, 31, 27, 25, 27, 30, 31, 33, 36, 35, 33, 35, 38, 39, 36,
+  34, 41, 33, 255, 255, 255, 255, 255, 76, 36, 25, 17, 20, 22, 19, 18,
+  24, 20, 20, 22, 23, 23, 25, 26, 26, 24, 26, 28, 28, 27, 26, 26,
+  27, 28, 28, 27, 26, 26, 27, 28, 28, 27, 24, 24, 26, 31, 35, 33,
+  31, 29, 34, 38, 39, 41, 54, 75, 91, 89, 84, 78, 75, 74, 72, 68,
+  65, 61, 60, 61, 68, 73, 75, 71, 66, 71, 67, 74, 79, 72, 69, 63,
+  50, 46, 34, 39, 33, 35, 39, 28, 35, 34, 31, 28, 26, 27, 29, 31,
+  31, 36, 36, 34, 34, 36, 37, 35, 33, 47, 43, 255, 255, 255, 255, 255,
+  64, 37, 24, 15, 19, 22, 20, 19, 23, 18, 18, 18, 18, 19, 22, 25,
+  26, 27, 28, 28, 28, 26, 26, 27, 29, 26, 26, 24, 24, 24, 23, 24,
+  24, 24, 23, 23, 26, 29, 30, 28, 26, 28, 32, 35, 32, 30, 42, 65,
+  84, 88, 86, 85, 85, 84, 82, 79, 77, 75, 72, 71, 74, 81, 82, 77,
+  71, 67, 65, 72, 77, 69, 65, 58, 44, 43, 33, 38, 31, 32, 40, 31,
+  33, 36, 33, 29, 29, 29, 31, 32, 33, 36, 35, 33, 32, 33, 33, 32,
+  31, 50, 52, 255, 255, 255, 255, 255, 53, 45, 28, 16, 19, 24, 23, 20,
+  23, 17, 17, 17, 17, 18, 21, 24, 26, 29, 30, 29, 28, 26, 26, 27,
+  30, 29, 29, 27, 27, 26, 26, 26, 27, 22, 23, 23, 26, 26, 26, 24,
+  21, 26, 31, 32, 29, 28, 40, 63, 81, 84, 85, 86, 87, 83, 79, 77,
+  76, 80, 77, 71, 69, 71, 72, 69, 67, 67, 69, 81, 86, 74, 66, 60,
+  48, 40, 35, 39, 28, 29, 42, 32, 31, 35, 33, 30, 29, 30, 31, 32,
+  33, 34, 34, 33, 32, 32, 32, 33, 35, 48, 117, 255, 255, 255, 255, 255,
+  70, 52, 31, 14, 15, 20, 18, 15, 16, 18, 18, 18, 17, 18, 21, 23,
+  25, 27, 28, 28, 27, 24, 24, 25, 27, 27, 26, 25, 26, 24, 24, 26,
+  26, 24, 24, 25, 26, 24, 23, 21, 20, 25, 29, 30, 29, 30, 43, 63,
+  80, 79, 82, 85, 84, 78, 74, 71, 72, 76, 71, 63, 58, 56, 56, 57,
+  59, 66, 67, 78, 82, 70, 61, 56, 45, 37, 36, 40, 25, 28, 43, 32,
+  27, 31, 29, 27, 27, 29, 30, 30, 31, 33, 34, 35, 36, 37, 40, 44,
+  47, 58, 255, 255, 255, 255, 255, 255, 198, 61, 37, 15, 13, 18, 16, 13,
+  13, 20, 19, 20, 20, 20, 21, 23, 23, 23, 25, 25, 25, 22, 21, 21,
+  22, 23, 23, 22, 23, 22, 24, 25, 25, 27, 27, 27, 26, 23, 22, 21,
+  21, 26, 28, 28, 27, 29, 39, 55, 67, 63, 68, 73, 73, 68, 65, 66,
+  70, 71, 68, 62, 55, 49, 48, 52, 56, 63, 58, 62, 63, 54, 48, 41,
+  29, 36, 37, 41, 23, 25, 42, 32, 24, 28, 27, 26, 27, 29, 32, 32,
+  32, 31, 35, 39, 42, 47, 53, 61, 67, 136, 255, 255, 255, 255, 255, 255,
+  255, 75, 49, 24, 21, 24, 23, 19, 18, 21, 21, 22, 21, 21, 22, 22,
+  21, 19, 21, 23, 21, 20, 17, 18, 18, 25, 25, 26, 25, 26, 28, 28,
+  30, 28, 28, 28, 26, 24, 21, 21, 21, 28, 27, 25, 24, 25, 32, 42,
+  50, 43, 49, 57, 59, 57, 56, 60, 67, 71, 71, 67, 60, 52, 51, 56,
+  61, 66, 54, 51, 51, 44, 41, 34, 20, 36, 39, 42, 23, 24, 42, 32,
+  23, 29, 28, 27, 29, 32, 34, 35, 35, 31, 36, 42, 48, 54, 63, 74,
+  82, 255, 255, 255, 255, 255, 255, 255, 255, 61, 48, 32, 24, 22, 24, 22,
+  19, 22, 23, 24, 25, 25, 23, 19, 19, 19, 18, 18, 18, 18, 19, 20,
+  21, 22, 23, 26, 26, 27, 27, 24, 24, 25, 25, 25, 26, 26, 24, 23,
+  22, 23, 24, 27, 27, 29, 34, 42, 48, 50, 55, 61, 64, 58, 55, 61,
+  73, 69, 69, 69, 67, 66, 63, 62, 62, 56, 54, 51, 49, 44, 40, 33,
+  29, 35, 42, 41, 31, 28, 33, 31, 23, 27, 26, 26, 28, 31, 33, 34,
+  34, 38, 43, 50, 53, 52, 56, 69, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 66, 54, 37, 29, 28, 28, 24, 20, 18, 19, 22, 24, 24, 24, 23,
+  22, 18, 18, 18, 19, 18, 19, 20, 21, 20, 22, 24, 26, 26, 25, 24,
+  23, 24, 24, 25, 25, 24, 23, 22, 22, 24, 27, 30, 31, 28, 30, 33,
+  36, 32, 40, 51, 58, 59, 57, 64, 76, 81, 80, 76, 72, 69, 66, 63,
+  63, 59, 54, 47, 42, 38, 35, 31, 30, 31, 37, 36, 27, 25, 30, 29,
+  21, 27, 27, 28, 29, 32, 35, 38, 40, 30, 35, 45, 57, 66, 73, 140,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 60, 44, 37, 35, 32, 26,
+  20, 18, 19, 21, 23, 24, 23, 23, 22, 18, 18, 19, 20, 19, 19, 21,
+  21, 20, 21, 23, 24, 25, 24, 23, 22, 23, 24, 24, 24, 24, 23, 22,
+  22, 19, 23, 28, 29, 27, 24, 23, 24, 20, 29, 43, 55, 58, 59, 67,
+  77, 84, 81, 76, 69, 65, 62, 60, 59, 61, 55, 44, 36, 31, 30, 28,
+  29, 29, 34, 33, 26, 25, 30, 29, 23, 31, 32, 31, 28, 24, 24, 27,
+  31, 33, 35, 46, 63, 78, 88, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 61, 47, 41, 39, 35, 28, 20, 22, 22, 23, 23, 22, 21, 19,
+  18, 18, 19, 20, 21, 20, 20, 21, 21, 19, 20, 22, 23, 23, 23, 22,
+  22, 22, 22, 23, 23, 23, 23, 22, 21, 18, 22, 27, 29, 29, 27, 28,
+  29, 27, 34, 45, 55, 57, 59, 66, 76, 80, 75, 69, 64, 59, 58, 59,
+  60, 61, 54, 44, 36, 31, 29, 28, 29, 30, 34, 34, 30, 29, 33, 32,
+  28, 30, 32, 32, 28, 22, 21, 25, 31, 39, 39, 46, 59, 68, 136, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 57, 45, 41, 39, 36, 28,
+  20, 22, 22, 22, 22, 21, 20, 19, 18, 18, 19, 21, 22, 22, 21, 22,
+  21, 19, 19, 20, 21, 21, 21, 21, 21, 20, 21, 22, 22, 22, 22, 22,
+  21, 24, 28, 31, 32, 33, 34, 36, 40, 37, 39, 45, 52, 54, 56, 64,
+  73, 71, 67, 62, 58, 57, 58, 61, 64, 59, 53, 45, 39, 35, 32, 30,
+  30, 31, 34, 34, 32, 32, 34, 34, 32, 22, 26, 30, 31, 30, 33, 40,
+  47, 39, 39, 42, 46, 44, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 189, 45, 40, 39, 35, 27, 20, 19, 19, 19, 20, 21, 21, 22,
+  22, 18, 20, 22, 24, 23, 22, 22, 22, 18, 18, 19, 19, 19, 20, 20,
+  20, 19, 20, 21, 21, 22, 22, 21, 21, 24, 28, 29, 29, 26, 28, 33,
+  37, 37, 38, 42, 47, 49, 52, 60, 69, 57, 55, 51, 48, 49, 51, 55,
+  58, 54, 49, 44, 39, 36, 35, 33, 31, 30, 31, 31, 31, 31, 31, 31,
+  31, 22, 25, 29, 31, 31, 34, 38, 43, 39, 40, 44, 43, 35, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 41, 39, 35, 27,
+  20, 19, 19, 19, 19, 20, 21, 22, 23, 19, 20, 23, 25, 24, 23, 23,
+  22, 18, 18, 18, 18, 18, 19, 19, 20, 18, 19, 20, 21, 21, 21, 21,
+  22, 20, 23, 25, 24, 22, 23, 27, 31, 35, 34, 39, 45, 47, 49, 55,
+  63, 48, 46, 44, 41, 41, 43, 46, 48, 48, 44, 38, 34, 33, 34, 32,
+  34, 30, 30, 30, 31, 30, 30, 29, 30, 27, 28, 29, 30, 29, 28, 27,
+  27, 35, 40, 47, 48, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 43, 40, 35, 27, 20, 23, 22, 21, 20, 19, 19, 19,
+  19, 19, 20, 24, 25, 25, 24, 23, 22, 18, 17, 17, 17, 17, 18, 19,
+  20, 18, 18, 19, 20, 21, 21, 21, 22, 19, 23, 27, 28, 27, 28, 31,
+  34, 33, 35, 40, 47, 49, 48, 52, 58, 50, 48, 45, 44, 41, 42, 43,
+  43, 45, 40, 33, 30, 29, 32, 33, 35, 32, 31, 31, 32, 32, 30, 30,
+  31, 27, 27, 29, 32, 34, 34, 31, 28, 28, 34, 44, 49, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 46, 43, 32,
+  22, 25, 22, 20, 20, 21, 23, 23, 22, 22, 20, 20, 23, 26, 28, 27,
+  25, 21, 20, 19, 17, 17, 16, 16, 16, 17, 17, 17, 18, 19, 22, 24,
+  27, 25, 28, 30, 29, 27, 27, 29, 32, 29, 31, 33, 36, 39, 44, 50,
+  54, 53, 50, 47, 44, 42, 43, 43, 44, 44, 37, 34, 38, 36, 32, 30,
+  33, 27, 28, 28, 28, 28, 28, 28, 28, 28, 30, 31, 31, 29, 31, 35,
+  40, 40, 43, 51, 147, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 47, 37, 28, 30, 27, 23, 21, 20, 19, 18,
+  16, 17, 16, 18, 21, 24, 25, 24, 22, 20, 19, 18, 17, 16, 16, 16,
+  17, 17, 17, 17, 18, 19, 22, 24, 27, 25, 28, 30, 29, 27, 27, 29,
+  30, 33, 34, 34, 35, 36, 41, 47, 52, 53, 50, 49, 46, 45, 44, 45,
+  46, 46, 39, 36, 38, 36, 32, 29, 30, 32, 31, 30, 29, 28, 27, 26,
+  25, 24, 27, 30, 30, 30, 35, 44, 52, 57, 64, 80, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 39,
+  29, 32, 29, 25, 22, 20, 18, 15, 13, 14, 14, 18, 21, 24, 25, 24,
+  22, 19, 18, 17, 17, 17, 17, 17, 18, 17, 17, 17, 18, 19, 22, 24,
+  27, 26, 27, 28, 28, 27, 27, 28, 28, 34, 33, 32, 31, 31, 34, 41,
+  46, 47, 46, 45, 44, 43, 41, 40, 40, 43, 38, 34, 35, 32, 28, 25,
+  27, 32, 31, 31, 30, 29, 28, 27, 26, 20, 24, 28, 27, 27, 32, 44,
+  54, 50, 58, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 182, 26, 32, 29, 25, 23, 21, 19, 16,
+  14, 13, 15, 20, 23, 25, 25, 25, 23, 21, 20, 19, 19, 19, 19, 20,
+  20, 17, 17, 17, 18, 19, 22, 24, 26, 24, 25, 25, 25, 25, 25, 25,
+  25, 27, 29, 29, 30, 29, 32, 35, 38, 41, 40, 39, 38, 36, 34, 31,
+  30, 37, 34, 31, 30, 28, 27, 25, 24, 28, 28, 28, 29, 30, 30, 31,
+  31, 24, 29, 33, 31, 27, 29, 39, 48, 38, 119, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 182, 33, 29, 27, 24, 21, 16, 13, 12, 15, 19, 22, 22, 22, 23,
+  23, 24, 23, 23, 22, 22, 22, 22, 23, 17, 17, 17, 18, 19, 22, 24,
+  26, 22, 22, 21, 21, 22, 22, 21, 21, 21, 24, 30, 33, 35, 35, 35,
+  35, 41, 41, 39, 38, 34, 32, 30, 28, 32, 32, 29, 28, 29, 30, 29,
+  26, 27, 27, 28, 28, 29, 30, 31, 31, 29, 34, 38, 36, 32, 32, 38,
+  45, 122, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 184, 36, 32, 27, 22, 16,
+  11, 11, 14, 17, 18, 17, 17, 19, 21, 28, 27, 26, 24, 23, 23, 23,
+  23, 17, 17, 17, 18, 19, 22, 24, 26, 22, 21, 20, 20, 21, 21, 20,
+  19, 19, 25, 33, 39, 41, 39, 38, 37, 44, 44, 42, 41, 39, 38, 36,
+  36, 33, 33, 31, 29, 30, 34, 33, 30, 29, 29, 28, 28, 28, 27, 27,
+  27, 23, 26, 29, 31, 31, 35, 41, 46, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 183, 36, 31, 25, 19, 14, 13, 15, 17, 16, 13, 13, 17,
+  20, 30, 28, 27, 25, 23, 22, 22, 22, 17, 17, 17, 18, 19, 22, 24,
+  26, 25, 21, 19, 21, 23, 23, 21, 19, 21, 26, 34, 38, 39, 38, 37,
+  37, 40, 40, 38, 38, 38, 39, 40, 42, 31, 33, 31, 28, 28, 33, 33,
+  27, 27, 27, 27, 27, 27, 26, 26, 26, 22, 21, 21, 24, 31, 40, 49,
+  122, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 182, 35, 30, 24,
+  20, 17, 19, 19, 17, 14, 15, 19, 23, 31, 30, 28, 25, 23, 21, 20,
+  20, 17, 17, 17, 18, 19, 23, 25, 27, 27, 23, 20, 22, 24, 25, 22,
+  20, 22, 25, 31, 35, 34, 34, 34, 35, 31, 32, 30, 30, 32, 36, 40,
+  42, 30, 32, 30, 25, 25, 29, 28, 22, 22, 23, 24, 25, 26, 28, 29,
+  28, 31, 26, 22, 26, 35, 50, 62, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 43, 37, 29, 23, 18, 18, 22, 23, 24, 33,
+  46, 34, 27, 22, 25, 25, 21, 22, 27, 21, 20, 19, 18, 20, 23, 25,
+  27, 23, 21, 21, 21, 21, 23, 24, 24, 19, 22, 25, 26, 32, 36, 34,
+  30, 31, 33, 34, 33, 32, 33, 34, 36, 28, 27, 25, 23, 23, 23, 23,
+  24, 23, 23, 24, 25, 28, 29, 30, 30, 30, 16, 32, 35, 51, 69, 158,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 33,
+  27, 32, 26, 23, 24, 25, 28, 38, 51, 38, 31, 25, 26, 24, 19, 17,
+  20, 15, 15, 15, 16, 18, 22, 26, 27, 23, 22, 22, 21, 22, 23, 24,
+  24, 20, 26, 30, 29, 29, 32, 32, 30, 33, 35, 36, 35, 33, 32, 31,
+  33, 28, 26, 24, 24, 23, 23, 23, 23, 25, 23, 22, 22, 24, 28, 30,
+  31, 38, 32, 32, 32, 45, 122, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 46, 44, 39, 27, 32, 41, 49, 49, 43, 39,
+  38, 32, 27, 23, 24, 23, 20, 19, 21, 16, 16, 16, 16, 19, 22, 25,
+  26, 24, 22, 22, 22, 23, 23, 23, 24, 24, 32, 36, 34, 30, 31, 32,
+  33, 34, 36, 37, 36, 33, 29, 28, 28, 29, 28, 26, 24, 23, 24, 24,
+  25, 24, 21, 19, 18, 20, 23, 27, 30, 17, 31, 24, 33, 51, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 49,
+  46, 51, 62, 77, 86, 85, 76, 63, 53, 36, 32, 28, 27, 26, 25, 23,
+  23, 23, 23, 22, 21, 21, 21, 22, 22, 24, 23, 23, 22, 23, 23, 23,
+  24, 25, 31, 32, 30, 28, 31, 30, 29, 29, 33, 35, 34, 31, 27, 25,
+  25, 30, 29, 27, 25, 25, 26, 26, 26, 27, 24, 22, 21, 21, 24, 27,
+  28, 30, 62, 47, 52, 123, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 81, 85, 82, 81, 82, 77,
+  68, 48, 43, 36, 30, 27, 26, 24, 22, 25, 25, 25, 23, 22, 21, 22,
+  21, 24, 23, 22, 22, 23, 24, 24, 25, 24, 23, 20, 20, 25, 30, 26,
+  19, 22, 26, 29, 30, 28, 25, 25, 25, 29, 29, 28, 26, 26, 28, 28,
+  29, 28, 27, 26, 25, 26, 27, 28, 28, 43, 83, 71, 69, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 198, 75, 61, 41, 38, 31, 24, 22, 26, 28,
+  26, 22, 22, 22, 23, 23, 22, 23, 22, 23, 22, 22, 22, 23, 25, 26,
+  27, 30, 26, 21, 21, 29, 34, 29, 20, 19, 22, 25, 25, 24, 23, 24,
+  25, 28, 27, 26, 25, 26, 27, 28, 28, 23, 22, 21, 21, 23, 26, 29,
+  30, 39, 77, 79, 139, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 184, 41, 32, 22, 22, 29, 33, 30, 23, 24, 25, 25, 24, 24, 23,
+  22, 22, 21, 22, 22, 24, 25, 28, 29, 34, 32, 28, 25, 28, 33, 30,
+  23, 20, 22, 23, 23, 22, 22, 23, 25, 25, 24, 23, 22, 23, 24, 24,
+  25, 25, 23, 20, 20, 25, 33, 41, 46, 69, 92, 152, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 35, 28, 32, 32,
+  28, 31, 31, 31, 29, 27, 24, 22, 19, 21, 20, 20, 22, 24, 26, 29,
+  30, 30, 31, 28, 24, 22, 23, 22, 18, 21, 23, 24, 23, 21, 21, 23,
+  25, 21, 21, 20, 19, 19, 20, 22, 22, 37, 32, 28, 28, 34, 48, 61,
+  69, 88, 97, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 33, 30, 32, 34, 26, 28, 29, 27, 23, 20, 22,
+  23, 23, 23, 22, 23, 25, 27, 29, 30, 31, 30, 28, 26, 25, 24, 23,
+  23, 24, 25, 24, 23, 23, 22, 21, 21, 24, 22, 21, 19, 19, 21, 22,
+  22, 21, 36, 26, 29, 38, 42, 59, 63, 89, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 33, 33,
+  35, 32, 33, 33, 30, 25, 23, 23, 24, 21, 20, 19, 19, 21, 23, 25,
+  26, 32, 31, 28, 26, 25, 25, 24, 26, 25, 24, 24, 23, 23, 22, 22,
+  22, 18, 18, 19, 20, 21, 25, 26, 27, 24, 37, 24, 29, 46, 62, 90,
+  103, 153, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 185, 44, 43, 40, 36, 31, 28, 28,
+  29, 25, 25, 23, 23, 24, 26, 27, 28, 29, 28, 26, 24, 22, 23, 23,
+  24, 23, 24, 24, 24, 23, 23, 22, 22, 18, 19, 21, 23, 26, 28, 29,
+  30, 23, 42, 39, 52, 71, 84, 153, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 49, 44, 39, 34, 31, 31, 31, 30, 29, 27, 26, 27, 28, 29,
+  29, 26, 25, 22, 21, 19, 19, 20, 21, 23, 23, 24, 24, 24, 24, 23,
+  23, 19, 19, 20, 21, 23, 24, 25, 25, 45, 69, 72, 89, 108, 160, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 41, 36, 34, 32,
+  31, 32, 32, 30, 27, 26, 27, 27, 27, 27, 25, 22, 20, 18, 19, 20,
+  23, 23, 23, 23, 24, 25, 24, 25, 25, 15, 16, 18, 20, 23, 26, 28,
+  28, 41, 61, 60, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 186, 44, 41, 40, 39, 37, 34, 32, 31, 31,
+  31, 33, 30, 27, 23, 21, 22, 23, 25, 22, 23, 23, 24, 24, 25, 25,
+  25, 21, 22, 25, 31, 37, 45, 50, 54, 70, 92, 147, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  188, 49, 47, 45, 41, 39, 37, 37, 37, 37, 34, 29, 25, 22, 23, 24,
+  26, 22, 23, 23, 24, 25, 26, 26, 25, 25, 26, 31, 38, 49, 61, 72,
+  78, 141, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 47, 44, 41, 37, 35, 35,
+  34, 36, 34, 28, 23, 21, 20, 22, 24, 20, 21, 22, 22, 23, 24, 24,
+  25, 20, 22, 26, 34, 45, 60, 134, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 185, 46, 46, 43, 41, 40, 37, 39, 34, 28, 27, 28, 28,
+  25, 24, 24, 20, 14, 15, 24, 32, 34, 37, 38, 115, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 44,
+  46, 46, 45, 41, 36, 34, 37, 36, 31, 28, 28, 30, 34, 38, 41, 45,
+  47, 124, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 43, 47, 53, 50,
+  44, 36, 33, 39, 49, 55, 122, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 120, 118, 129, 131, 118, 130, 124, 140, 154, 127, 129, 159,
+  140, 142, 159, 164, 184, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 70, 102, 106, 128, 114, 121, 128,
+  131, 140, 134, 131, 135, 118, 119, 145, 135, 147, 161, 164, 152, 184, 180, 176,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 142, 78, 94,
+  63, 68, 87, 82, 116, 112, 120, 117, 111, 86, 81, 71, 74, 64, 63, 85,
+  79, 84, 99, 110, 111, 163, 173, 172, 163, 198, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 201, 83, 73, 53, 41, 45, 49, 48, 63, 67, 82, 74, 100, 79,
+  48, 26, 19, 29, 39, 36, 37, 46, 48, 58, 42, 76, 77, 97, 142, 135,
+  145, 145, 166, 184, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 193, 42, 32, 29, 31, 23, 25, 33,
+  34, 34, 39, 44, 52, 52, 67, 52, 21, 20, 14, 27, 38, 33, 31, 37,
+  35, 37, 23, 43, 38, 55, 88, 86, 111, 142, 168, 160, 200, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 65,
+  64, 31, 27, 31, 32, 28, 38, 47, 42, 39, 33, 43, 42, 47, 43, 40,
+  17, 24, 20, 36, 48, 45, 44, 48, 44, 50, 44, 54, 43, 59, 78, 83,
+  127, 130, 162, 159, 172, 163, 193, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 223, 152, 132, 85, 46, 27, 26, 36, 43, 49, 42, 28, 34, 42,
+  34, 36, 23, 38, 30, 33, 17, 24, 12, 20, 16, 26, 32, 30, 32, 36,
+  32, 26, 31, 34, 24, 35, 34, 35, 85, 110, 145, 148, 166, 163, 170, 178,
+  209, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 223, 140, 125, 120, 95, 51, 23, 29,
+  37, 36, 47, 54, 41, 19, 18, 28, 23, 27, 16, 33, 23, 22, 3, 16,
+  14, 24, 17, 18, 15, 8, 12, 18, 13, 24, 36, 37, 29, 30, 12, 3,
+  39, 44, 85, 96, 125, 135, 149, 156, 158, 168, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 151,
+  162, 154, 125, 114, 81, 39, 11, 30, 32, 46, 52, 58, 44, 19, 13, 21,
+  19, 16, 11, 24, 22, 16, 6, 16, 15, 19, 11, 11, 8, 3, 10, 18,
+  12, 14, 26, 30, 30, 31, 15, 6, 20, 42, 81, 93, 127, 145, 161, 159,
+  152, 149, 170, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 220, 167, 154, 154, 153, 102, 66, 66, 51, 36, 28, 55,
+  49, 41, 35, 37, 32, 12, 7, 12, 13, 5, 3, 5, 15, 8, 19, 18,
+  9, 11, 7, 10, 9, 6, 14, 18, 7, 13, 19, 22, 32, 38, 38, 41,
+  36, 36, 65, 66, 98, 124, 152, 154, 145, 153, 173, 162, 200, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 174, 169, 191, 169, 147,
+  128, 74, 29, 34, 27, 30, 25, 46, 30, 26, 13, 13, 17, 11, 9, 18,
+  21, 18, 15, 7, 27, 23, 48, 36, 21, 32, 30, 35, 32, 25, 26, 21,
+  3, 0, 2, 0, 9, 17, 31, 43, 26, 22, 42, 32, 64, 103, 150, 167,
+  164, 148, 164, 147, 149, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 145, 139, 150, 139, 126, 121, 88, 42, 34, 25, 23, 24, 24, 18,
+  14, 7, 17, 25, 27, 27, 30, 37, 39, 37, 54, 58, 72, 75, 67, 69,
+  57, 74, 59, 68, 48, 64, 59, 49, 38, 36, 19, 23, 15, 20, 33, 28,
+  46, 38, 37, 39, 44, 68, 96, 119, 126, 159, 174, 165, 158, 166, 162, 184,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 216, 146, 147, 150, 159, 145, 127, 118,
+  79, 38, 34, 29, 24, 22, 16, 8, 1, 0, 7, 12, 14, 14, 18, 26,
+  26, 27, 43, 48, 61, 64, 55, 58, 47, 54, 51, 54, 46, 41, 44, 26,
+  23, 15, 12, 23, 9, 13, 30, 25, 32, 41, 38, 33, 34, 58, 93, 128,
+  144, 154, 173, 164, 155, 164, 165, 153, 189, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230,
+  170, 168, 169, 154, 133, 101, 78, 69, 35, 20, 23, 26, 26, 22, 17, 10,
+  5, 24, 29, 34, 34, 36, 41, 48, 47, 39, 54, 57, 68, 70, 64, 67,
+  57, 58, 63, 64, 67, 48, 62, 40, 47, 26, 33, 37, 13, 9, 27, 25,
+  24, 43, 44, 42, 36, 42, 52, 66, 71, 117, 147, 148, 144, 164, 178, 173,
+  173, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 224, 191, 178, 168, 170, 139, 96, 59, 41, 41,
+  19, 14, 18, 25, 27, 23, 19, 18, 16, 31, 36, 39, 36, 41, 51, 55,
+  51, 40, 55, 55, 63, 65, 59, 66, 54, 57, 59, 60, 57, 46, 59, 41,
+  46, 45, 48, 44, 19, 9, 18, 24, 28, 18, 26, 33, 33, 33, 29, 29,
+  27, 60, 99, 109, 110, 137, 159, 154, 150, 160, 172, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 167, 188,
+  168, 166, 173, 138, 92, 56, 36, 33, 17, 23, 25, 26, 24, 18, 17, 19,
+  18, 24, 29, 32, 30, 36, 47, 50, 41, 41, 51, 49, 57, 57, 52, 59,
+  48, 58, 47, 53, 31, 39, 37, 32, 31, 40, 38, 30, 21, 12, 4, 11,
+  22, 27, 30, 31, 28, 29, 30, 38, 44, 61, 101, 114, 117, 144, 164, 157,
+  152, 160, 141, 178, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 146, 157, 180, 159, 152, 154, 111, 69, 44, 28, 30,
+  23, 21, 21, 20, 17, 17, 21, 28, 31, 29, 34, 36, 35, 43, 56, 57,
+  45, 41, 52, 48, 53, 52, 48, 56, 48, 56, 40, 50, 25, 44, 44, 49,
+  46, 36, 40, 33, 37, 23, 1, 2, 6, 40, 40, 38, 35, 34, 30, 35,
+  40, 31, 67, 79, 89, 124, 151, 155, 160, 153, 142, 137, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 217, 127, 135, 154,
+  127, 91, 92, 52, 30, 32, 28, 36, 42, 21, 18, 16, 17, 21, 29, 41,
+  44, 31, 36, 40, 38, 49, 63, 62, 45, 38, 45, 40, 43, 42, 39, 49,
+  40, 41, 35, 43, 31, 38, 48, 49, 57, 43, 57, 49, 54, 46, 26, 26,
+  15, 15, 22, 29, 39, 45, 38, 34, 33, 29, 52, 54, 64, 103, 136, 155,
+  175, 175, 172, 184, 189, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 166, 171, 154, 145, 141, 97, 51, 58, 33, 28, 38, 23, 15,
+  15, 32, 28, 23, 21, 23, 31, 40, 40, 36, 43, 47, 46, 59, 74, 71,
+  55, 53, 62, 53, 56, 54, 51, 62, 53, 48, 52, 51, 50, 31, 52, 41,
+  56, 38, 62, 51, 54, 54, 52, 57, 40, 17, 22, 26, 35, 39, 31, 25,
+  23, 46, 54, 41, 36, 67, 92, 114, 140, 141, 144, 181, 146, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 172, 166, 147, 159, 158,
+  92, 56, 52, 36, 24, 40, 22, 37, 8, 19, 28, 23, 20, 29, 33, 36,
+  41, 28, 33, 53, 49, 52, 67, 63, 64, 59, 56, 52, 49, 49, 52, 53,
+  54, 56, 54, 53, 51, 51, 54, 55, 55, 46, 45, 45, 47, 50, 46, 29,
+  20, 0, 8, 14, 16, 17, 29, 38, 29, 48, 53, 43, 44, 67, 82, 106,
+  146, 138, 141, 175, 133, 181, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 149, 160, 149, 123, 129, 127, 84, 23, 23, 18, 28, 36, 17, 30,
+  20, 22, 33, 32, 29, 36, 40, 42, 43, 34, 36, 53, 50, 55, 69, 64,
+  62, 60, 59, 56, 54, 54, 54, 54, 55, 58, 57, 55, 54, 54, 54, 55,
+  56, 59, 56, 50, 47, 51, 54, 50, 50, 30, 33, 29, 22, 16, 27, 43,
+  43, 39, 46, 39, 34, 41, 42, 58, 91, 83, 107, 157, 127, 137, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 131, 138, 107, 62, 51, 38,
+  15, 10, 13, 11, 38, 28, 9, 9, 16, 21, 32, 31, 30, 39, 42, 42,
+  41, 38, 36, 51, 48, 54, 70, 62, 60, 60, 59, 58, 58, 58, 58, 58,
+  57, 60, 59, 58, 58, 57, 57, 58, 58, 65, 63, 59, 54, 57, 64, 67,
+  72, 59, 55, 44, 26, 10, 19, 41, 47, 42, 48, 46, 40, 34, 27, 34,
+  60, 55, 94, 153, 141, 142, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 149, 150, 155, 105, 56, 50, 38, 27, 16, 23, 19, 40, 18, 12, 2,
+  11, 21, 31, 30, 28, 39, 41, 41, 40, 36, 32, 47, 42, 52, 71, 61,
+  58, 57, 58, 58, 59, 59, 61, 59, 58, 61, 60, 61, 59, 60, 59, 60,
+  60, 54, 59, 61, 59, 59, 61, 62, 65, 58, 55, 49, 30, 7, 8, 24,
+  33, 38, 41, 43, 43, 40, 34, 42, 57, 56, 90, 145, 157, 155, 188, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 231, 151, 156, 136, 67, 19, 26, 30,
+  19, 23, 30, 25, 30, 12, 25, 13, 18, 30, 38, 35, 30, 40, 44, 42,
+  45, 37, 32, 46, 40, 50, 67, 58, 56, 55, 55, 58, 60, 61, 61, 60,
+  59, 62, 62, 64, 62, 64, 61, 63, 62, 51, 58, 63, 62, 60, 61, 61,
+  60, 55, 51, 55, 44, 21, 11, 15, 18, 22, 16, 18, 25, 28, 30, 40,
+  47, 45, 61, 101, 142, 147, 161, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  164, 162, 170, 110, 33, 0, 4, 30, 15, 30, 29, 29, 19, 11, 27, 15,
+  16, 33, 39, 35, 30, 38, 42, 41, 44, 44, 40, 51, 44, 49, 63, 55,
+  56, 54, 55, 58, 60, 60, 63, 63, 65, 67, 65, 68, 66, 67, 65, 66,
+  63, 60, 64, 64, 62, 62, 67, 70, 69, 61, 57, 67, 67, 49, 32, 23,
+  16, 17, 3, 3, 13, 13, 21, 34, 35, 31, 32, 51, 101, 109, 146, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 126, 147, 135, 144, 61, 9, 0, 0, 41,
+  24, 31, 20, 33, 18, 18, 15, 7, 10, 27, 36, 33, 28, 34, 36, 33,
+  34, 42, 40, 54, 44, 46, 60, 55, 57, 58, 58, 59, 60, 62, 66, 69,
+  70, 69, 68, 71, 69, 71, 68, 68, 65, 67, 69, 68, 65, 67, 72, 73,
+  69, 60, 52, 60, 69, 60, 45, 32, 22, 20, 3, 5, 13, 9, 17, 34,
+  33, 29, 34, 35, 72, 69, 130, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 126,
+  146, 141, 147, 53, 22, 8, 0, 35, 12, 23, 3, 31, 19, 26, 8, 3,
+  18, 25, 33, 32, 30, 35, 33, 31, 27, 34, 37, 50, 43, 43, 58, 55,
+  60, 60, 61, 60, 62, 65, 69, 72, 73, 71, 71, 72, 73, 73, 70, 70,
+  67, 67, 67, 67, 66, 68, 70, 67, 58, 50, 37, 45, 58, 55, 47, 35,
+  23, 13, 0, 5, 14, 5, 12, 33, 34, 32, 48, 40, 62, 51, 130, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 171, 146, 159, 101, 120, 11, 22, 19, 23, 19,
+  28, 27, 17, 41, 25, 28, 3, 2, 10, 36, 40, 45, 45, 41, 35, 31,
+  24, 38, 35, 37, 43, 41, 42, 52, 65, 60, 60, 62, 65, 69, 72, 76,
+  77, 70, 74, 78, 78, 76, 72, 74, 74, 67, 71, 72, 67, 64, 64, 67,
+  63, 56, 54, 54, 54, 49, 47, 48, 52, 39, 16, 22, 25, 8, 3, 21,
+  26, 22, 44, 43, 46, 46, 109, 228, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 165, 140,
+  147, 97, 99, 12, 9, 18, 24, 22, 35, 48, 24, 32, 16, 27, 13, 5,
+  5, 28, 35, 42, 42, 41, 45, 43, 36, 38, 36, 43, 49, 51, 50, 54,
+  62, 59, 59, 61, 64, 67, 71, 75, 76, 79, 79, 78, 74, 73, 75, 81,
+  84, 75, 77, 76, 70, 66, 67, 66, 61, 55, 52, 53, 53, 52, 53, 57,
+  63, 52, 36, 37, 35, 12, 2, 18, 26, 15, 38, 37, 34, 37, 102, 154,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 225, 172, 151, 146, 86, 76, 27, 5, 24, 27, 17,
+  32, 44, 23, 30, 15, 20, 9, 0, 1, 23, 33, 39, 33, 34, 44, 47,
+  39, 42, 39, 43, 49, 53, 53, 57, 62, 63, 66, 66, 68, 72, 76, 78,
+  81, 83, 82, 80, 78, 77, 78, 82, 84, 77, 78, 78, 72, 68, 70, 70,
+  65, 58, 53, 53, 50, 47, 45, 49, 54, 56, 45, 41, 39, 11, 1, 9,
+  18, 16, 33, 34, 28, 31, 86, 108, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 139, 145, 121,
+  99, 47, 40, 37, 8, 34, 30, 14, 29, 20, 21, 41, 28, 13, 0, 0,
+  11, 33, 43, 42, 32, 28, 37, 42, 32, 46, 40, 35, 38, 44, 52, 60,
+  66, 67, 68, 69, 72, 76, 78, 81, 84, 84, 85, 89, 87, 86, 82, 80,
+  77, 76, 77, 77, 71, 71, 74, 75, 69, 62, 57, 53, 50, 45, 43, 48,
+  53, 56, 50, 42, 47, 26, 17, 10, 18, 23, 30, 36, 35, 34, 64, 90,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 155, 149, 104, 66, 9, 8, 37, 9, 32, 27, 17,
+  35, 13, 22, 41, 31, 10, 6, 7, 30, 47, 54, 51, 37, 32, 36, 40,
+  33, 39, 39, 38, 41, 48, 56, 64, 65, 65, 67, 68, 71, 72, 76, 79,
+  80, 85, 86, 90, 90, 90, 87, 83, 80, 77, 77, 75, 70, 71, 75, 76,
+  70, 62, 60, 60, 57, 57, 57, 62, 68, 63, 64, 50, 65, 51, 47, 21,
+  23, 26, 23, 36, 45, 41, 44, 76, 152, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 167, 147, 82,
+  40, 14, 12, 37, 11, 23, 19, 20, 38, 23, 20, 21, 17, 8, 25, 23,
+  42, 51, 52, 48, 40, 34, 36, 38, 37, 36, 42, 52, 57, 63, 67, 68,
+  64, 69, 69, 71, 73, 76, 78, 81, 84, 91, 88, 85, 85, 87, 91, 93,
+  93, 80, 81, 77, 71, 70, 73, 72, 67, 62, 60, 59, 57, 54, 52, 54,
+  59, 63, 71, 50, 70, 61, 60, 17, 17, 21, 12, 32, 44, 43, 33, 68,
+  98, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 167, 177, 151, 80, 51, 26, 23, 31, 15, 17, 15, 21,
+  31, 29, 19, 10, 13, 10, 40, 36, 50, 49, 42, 42, 42, 39, 35, 38,
+  47, 40, 55, 69, 73, 74, 75, 73, 67, 74, 74, 76, 77, 80, 82, 86,
+  87, 94, 92, 88, 86, 88, 92, 93, 91, 81, 81, 76, 71, 71, 74, 73,
+  67, 65, 64, 61, 57, 52, 48, 47, 50, 56, 71, 48, 69, 58, 57, 11,
+  12, 16, 13, 34, 36, 42, 34, 65, 80, 146, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 144, 149, 115, 46,
+  32, 13, 11, 12, 10, 14, 14, 24, 23, 24, 20, 18, 25, 16, 49, 42,
+  55, 48, 39, 40, 46, 45, 39, 43, 56, 46, 59, 70, 72, 72, 74, 76,
+  74, 73, 73, 73, 75, 77, 79, 81, 84, 93, 93, 92, 94, 95, 94, 89,
+  83, 81, 79, 76, 73, 74, 77, 76, 70, 68, 68, 71, 69, 66, 63, 63,
+  65, 55, 75, 51, 72, 58, 61, 15, 22, 20, 21, 39, 30, 39, 38, 64,
+  60, 84, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 124, 125, 133, 80, 17, 11, 11, 7, 8, 7, 13, 17, 23,
+  21, 20, 0, 0, 12, 29, 37, 41, 45, 39, 37, 33, 33, 39, 46, 49,
+  43, 55, 56, 64, 73, 75, 71, 75, 82, 81, 77, 78, 82, 81, 77, 79,
+  85, 85, 85, 87, 89, 93, 94, 94, 94, 92, 86, 83, 85, 80, 68, 63,
+  63, 64, 66, 66, 66, 65, 65, 65, 65, 57, 74, 51, 79, 67, 65, 12,
+  18, 28, 29, 27, 51, 37, 50, 41, 38, 84, 134, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 123, 125, 131, 75, 28,
+  19, 14, 11, 8, 8, 10, 15, 20, 19, 12, 0, 0, 10, 28, 33, 34,
+  36, 33, 34, 33, 32, 38, 45, 50, 45, 47, 54, 67, 73, 73, 72, 79,
+  83, 88, 84, 82, 82, 81, 76, 79, 85, 80, 80, 81, 85, 87, 90, 93,
+  93, 95, 91, 87, 87, 81, 72, 66, 69, 68, 71, 72, 70, 66, 64, 65,
+  66, 57, 59, 50, 57, 65, 44, 11, 8, 20, 25, 27, 48, 34, 46, 40,
+  38, 85, 78, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 227, 125, 126, 128, 64, 33, 19, 17, 15, 12, 10, 11, 15, 19,
+  18, 9, 0, 2, 19, 37, 43, 43, 46, 46, 49, 50, 47, 46, 49, 53,
+  52, 50, 65, 77, 77, 76, 80, 86, 84, 91, 88, 87, 85, 82, 80, 84,
+  89, 80, 80, 80, 81, 84, 87, 91, 92, 100, 95, 93, 90, 88, 79, 76,
+  77, 69, 73, 75, 73, 67, 63, 66, 67, 73, 66, 76, 62, 89, 48, 28,
+  9, 11, 21, 28, 43, 31, 43, 43, 42, 81, 77, 143, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 179, 120, 120, 117, 50, 35,
+  19, 15, 15, 16, 16, 16, 17, 19, 17, 18, 13, 19, 33, 46, 48, 46,
+  46, 48, 53, 59, 55, 50, 51, 57, 59, 58, 72, 82, 79, 84, 93, 92,
+  82, 92, 92, 92, 90, 88, 86, 89, 90, 86, 86, 84, 86, 87, 88, 93,
+  94, 96, 96, 97, 95, 94, 87, 84, 82, 89, 94, 97, 92, 85, 81, 84,
+  86, 63, 56, 73, 63, 87, 46, 25, 0, 9, 21, 32, 36, 27, 40, 50,
+  50, 70, 67, 68, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 161, 104, 103, 102, 42, 36, 26, 11, 16, 21, 23, 22, 21, 21,
+  18, 28, 24, 29, 38, 42, 39, 36, 30, 38, 48, 54, 51, 48, 54, 62,
+  66, 66, 76, 82, 82, 94, 108, 106, 92, 100, 102, 102, 99, 97, 94, 94,
+  92, 92, 90, 89, 89, 89, 90, 92, 93, 88, 92, 98, 99, 100, 98, 93,
+  89, 79, 83, 83, 81, 74, 68, 67, 66, 58, 51, 57, 62, 69, 53, 28,
+  1, 14, 27, 39, 31, 23, 37, 60, 60, 67, 62, 51, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 123, 157, 105, 91, 87, 38, 30,
+  30, 10, 15, 22, 25, 23, 21, 20, 17, 21, 22, 29, 35, 39, 41, 40,
+  38, 55, 62, 64, 58, 54, 57, 64, 69, 79, 82, 84, 89, 101, 116, 117,
+  108, 111, 114, 114, 111, 105, 103, 102, 98, 96, 94, 92, 90, 89, 89, 88,
+  88, 89, 96, 100, 102, 102, 103, 97, 92, 90, 92, 92, 90, 87, 79, 74,
+  70, 68, 59, 51, 68, 59, 67, 44, 22, 17, 29, 43, 25, 22, 36, 63,
+  60, 70, 66, 48, 129, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 136, 157, 111, 79, 69, 30, 16, 29, 14, 18, 23, 23, 21, 19, 21,
+  20, 14, 16, 25, 34, 40, 48, 52, 54, 65, 68, 67, 58, 53, 56, 61,
+  66, 80, 79, 79, 83, 88, 95, 100, 103, 101, 105, 104, 99, 97, 101, 104,
+  102, 96, 94, 93, 92, 89, 86, 82, 83, 91, 96, 95, 87, 84, 82, 76,
+  69, 55, 57, 60, 63, 68, 64, 57, 50, 55, 45, 41, 56, 49, 60, 41,
+  14, 14, 28, 44, 20, 24, 35, 61, 51, 73, 71, 48, 64, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 129, 145, 106, 64, 54, 26, 9,
+  32, 19, 22, 23, 20, 17, 16, 19, 22, 18, 21, 27, 33, 36, 44, 50,
+  53, 44, 46, 47, 43, 43, 51, 59, 65, 70, 70, 69, 67, 62, 61, 69,
+  79, 77, 80, 80, 75, 79, 89, 99, 101, 100, 97, 98, 95, 92, 87, 83,
+  81, 89, 90, 82, 66, 55, 50, 44, 35, 21, 22, 30, 40, 50, 52, 45,
+  36, 48, 36, 46, 60, 61, 61, 41, 4, 12, 25, 44, 18, 24, 34, 57,
+  43, 70, 74, 47, 59, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  212, 124, 142, 112, 57, 51, 12, 21, 27, 22, 23, 25, 19, 13, 14, 23,
+  28, 27, 27, 40, 21, 51, 45, 44, 58, 44, 52, 62, 41, 46, 71, 55,
+  66, 75, 82, 72, 78, 78, 76, 67, 77, 104, 79, 78, 91, 84, 92, 110,
+  110, 109, 101, 100, 109, 89, 94, 77, 98, 83, 101, 82, 59, 56, 59, 56,
+  39, 32, 21, 43, 41, 55, 66, 34, 48, 39, 58, 40, 52, 70, 60, 47,
+  12, 13, 27, 50, 27, 25, 29, 58, 52, 69, 66, 64, 50, 81, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 102, 97, 115, 83, 37, 40, 13, 26,
+  36, 21, 21, 20, 17, 14, 15, 18, 20, 27, 22, 38, 38, 55, 51, 37,
+  41, 57, 56, 43, 53, 78, 106, 129, 142, 152, 167, 137, 108, 56, 62, 68,
+  96, 77, 70, 82, 80, 79, 81, 92, 72, 88, 70, 85, 71, 95, 90, 78,
+  63, 86, 66, 70, 84, 84, 107, 127, 100, 65, 34, 38, 60, 81, 72, 51,
+  62, 52, 65, 63, 54, 46, 46, 57, 48, 25, 26, 37, 28, 24, 30, 52,
+  55, 79, 73, 67, 48, 63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 217,
+  109, 107, 115, 73, 30, 37, 16, 26, 35, 19, 17, 17, 16, 16, 15, 16,
+  11, 19, 13, 38, 53, 39, 36, 27, 42, 63, 85, 89, 119, 119, 80, 75,
+  53, 49, 72, 45, 49, 17, 79, 82, 88, 91, 95, 107, 68, 72, 75, 92,
+  58, 58, 40, 61, 49, 67, 60, 66, 77, 66, 93, 130, 142, 138, 133, 114,
+  80, 36, 38, 56, 104, 123, 103, 95, 89, 61, 47, 65, 80, 96, 107, 73,
+  20, 42, 25, 18, 31, 24, 33, 45, 59, 84, 79, 75, 54, 59, 120, 255,
+  255, 255, 255, 255, 255, 255, 255, 154, 128, 129, 132, 79, 41, 43, 24, 23,
+  30, 14, 16, 19, 18, 16, 13, 14, 13, 20, 17, 45, 60, 14, 16, 29,
+  68, 105, 102, 87, 57, 27, 0, 22, 28, 131, 186, 177, 173, 87, 150, 144,
+  140, 123, 137, 142, 69, 69, 64, 77, 29, 0, 0, 0, 13, 0, 0, 15,
+  103, 119, 120, 38, 0, 77, 166, 167, 177, 98, 132, 136, 156, 145, 133, 168,
+  162, 137, 48, 13, 14, 63, 130, 108, 55, 53, 23, 4, 34, 27, 37, 41,
+  62, 76, 75, 80, 69, 72, 55, 255, 255, 255, 255, 255, 255, 255, 255, 140,
+  124, 126, 127, 70, 43, 46, 34, 25, 31, 11, 18, 24, 21, 15, 11, 17,
+  22, 35, 26, 45, 53, 6, 11, 30, 73, 111, 99, 110, 53, 26, 22, 44,
+  52, 131, 193, 190, 185, 83, 162, 158, 133, 111, 141, 156, 86, 89, 79, 83,
+  36, 0, 0, 5, 21, 0, 0, 33, 124, 117, 118, 38, 0, 91, 182, 162,
+  167, 116, 151, 157, 177, 149, 123, 172, 168, 117, 54, 43, 41, 66, 116, 99,
+  57, 55, 19, 2, 38, 32, 41, 43, 63, 71, 70, 80, 74, 80, 61, 255,
+  255, 255, 255, 255, 255, 255, 211, 126, 118, 117, 118, 59, 42, 44, 35, 25,
+  32, 17, 23, 28, 20, 10, 8, 19, 30, 43, 25, 28, 28, 7, 12, 15,
+  39, 70, 38, 58, 2, 0, 21, 44, 43, 176, 223, 218, 217, 121, 202, 179,
+  114, 138, 157, 151, 85, 70, 43, 37, 10, 0, 0, 25, 4, 14, 13, 21,
+  26, 38, 36, 47, 49, 112, 184, 190, 197, 118, 121, 137, 194, 168, 114, 136,
+  133, 90, 65, 56, 36, 33, 59, 68, 56, 42, 14, 8, 35, 38, 44, 48,
+  57, 73, 69, 73, 64, 74, 61, 255, 255, 255, 255, 255, 255, 255, 126, 122,
+  113, 111, 111, 51, 39, 38, 33, 20, 30, 29, 29, 26, 14, 6, 7, 22,
+  30, 35, 18, 14, 0, 7, 5, 0, 10, 14, 0, 16, 0, 14, 23, 63,
+  49, 153, 216, 242, 233, 113, 172, 155, 85, 78, 92, 82, 49, 41, 29, 36,
+  48, 81, 81, 104, 76, 92, 91, 64, 24, 26, 0, 10, 22, 96, 183, 186,
+  189, 140, 107, 109, 150, 115, 60, 75, 78, 42, 43, 25, 11, 10, 18, 32,
+  19, 22, 7, 18, 30, 44, 47, 54, 48, 68, 68, 71, 56, 67, 59, 138,
+  255, 255, 255, 255, 255, 215, 124, 115, 103, 104, 104, 41, 33, 33, 32, 19,
+  35, 41, 35, 24, 12, 5, 9, 21, 30, 30, 22, 21, 0, 6, 0, 0,
+  11, 16, 0, 9, 8, 18, 2, 73, 61, 171, 209, 226, 217, 120, 186, 163,
+  73, 81, 91, 81, 68, 50, 23, 17, 38, 76, 85, 93, 95, 78, 89, 49,
+  34, 14, 38, 37, 13, 97, 181, 175, 205, 128, 107, 127, 155, 118, 73, 77,
+  72, 29, 49, 25, 21, 26, 23, 39, 25, 6, 0, 22, 24, 44, 44, 57,
+  40, 57, 65, 71, 55, 66, 58, 75, 255, 255, 255, 255, 255, 139, 163, 126,
+  127, 137, 116, 55, 27, 43, 24, 8, 37, 40, 32, 26, 22, 25, 24, 19,
+  13, 13, 1, 1, 16, 26, 23, 17, 16, 28, 22, 29, 11, 11, 11, 35,
+  29, 121, 168, 174, 176, 76, 101, 63, 32, 28, 17, 29, 38, 34, 14, 11,
+  48, 97, 104, 89, 101, 108, 116, 56, 6, 0, 22, 12, 38, 32, 85, 92,
+  108, 102, 59, 51, 53, 29, 22, 40, 40, 20, 14, 26, 25, 8, 9, 15,
+  0, 14, 5, 19, 33, 31, 32, 43, 48, 58, 52, 52, 74, 46, 51, 67,
+  255, 255, 255, 255, 255, 142, 169, 135, 130, 124, 104, 50, 17, 25, 19, 6,
+  15, 30, 25, 21, 20, 24, 24, 19, 15, 10, 6, 12, 25, 27, 17, 8,
+  8, 13, 1, 9, 2, 12, 11, 31, 22, 36, 54, 72, 72, 18, 32, 35,
+  25, 32, 24, 29, 20, 15, 3, 0, 21, 66, 71, 74, 101, 107, 116, 56,
+  0, 1, 8, 0, 23, 5, 32, 31, 56, 35, 13, 26, 40, 25, 24, 36,
+  29, 29, 10, 5, 6, 12, 44, 65, 45, 25, 7, 9, 20, 23, 26, 36,
+  36, 46, 44, 59, 85, 49, 48, 64, 255, 255, 255, 255, 218, 117, 137, 97,
+  75, 84, 65, 29, 5, 13, 27, 28, 20, 21, 18, 18, 19, 22, 21, 18,
+  13, 13, 12, 22, 37, 40, 34, 33, 38, 13, 0, 0, 0, 16, 11, 24,
+  14, 7, 3, 44, 48, 38, 17, 35, 28, 24, 22, 22, 4, 2, 5, 3,
+  22, 65, 62, 84, 114, 111, 120, 70, 0, 12, 8, 0, 32, 13, 19, 17,
+  50, 45, 31, 35, 33, 14, 22, 36, 30, 7, 11, 17, 11, 9, 46, 69,
+  53, 42, 12, 3, 10, 18, 24, 27, 22, 31, 30, 60, 86, 45, 38, 56,
+  255, 255, 255, 255, 157, 132, 153, 109, 76, 83, 52, 27, 13, 10, 21, 26,
+  9, 19, 18, 20, 20, 20, 19, 15, 12, 12, 10, 14, 27, 35, 40, 46,
+  55, 27, 0, 5, 8, 22, 9, 20, 14, 17, 12, 54, 57, 62, 27, 34,
+  19, 22, 19, 21, 7, 3, 6, 14, 39, 62, 48, 79, 101, 86, 98, 73,
+  1, 0, 0, 0, 30, 18, 21, 25, 55, 72, 62, 53, 29, 7, 18, 35,
+  31, 0, 15, 31, 18, 13, 49, 68, 43, 50, 19, 5, 10, 17, 21, 21,
+  14, 40, 33, 65, 85, 50, 42, 62, 255, 255, 255, 255, 151, 134, 149, 95,
+  61, 73, 33, 19, 22, 13, 14, 20, 9, 13, 14, 18, 18, 18, 16, 15,
+  12, 27, 21, 22, 30, 39, 43, 45, 47, 31, 8, 13, 12, 21, 10, 26,
+  26, 25, 23, 35, 35, 35, 28, 32, 24, 33, 24, 27, 16, 5, 0, 7,
+  43, 65, 43, 77, 86, 67, 85, 92, 33, 0, 3, 5, 20, 13, 19, 23,
+  35, 33, 42, 42, 24, 13, 21, 27, 16, 23, 19, 13, 1, 19, 78, 96,
+  58, 54, 26, 15, 20, 22, 22, 22, 13, 31, 17, 39, 52, 38, 34, 56,
+  255, 255, 255, 255, 127, 114, 113, 46, 25, 44, 10, 6, 20, 16, 12, 19,
+  16, 4, 8, 14, 14, 14, 14, 16, 14, 32, 29, 35, 44, 53, 54, 47,
+  43, 19, 4, 11, 7, 16, 9, 32, 38, 25, 30, 26, 23, 22, 30, 30,
+  28, 29, 19, 21, 13, 3, 0, 5, 45, 80, 56, 86, 82, 67, 85, 106,
+  57, 0, 9, 11, 10, 8, 19, 19, 16, 23, 35, 35, 22, 17, 22, 21,
+  9, 25, 19, 12, 0, 16, 72, 90, 55, 54, 32, 24, 28, 29, 26, 23,
+  15, 15, 2, 12, 17, 28, 27, 46, 255, 255, 255, 255, 123, 121, 110, 42,
+  46, 33, 18, 15, 19, 14, 8, 7, 2, 5, 9, 15, 14, 12, 12, 17,
+  18, 16, 19, 30, 39, 44, 44, 40, 39, 16, 3, 11, 1, 10, 10, 33,
+  32, 21, 24, 23, 18, 25, 21, 17, 19, 24, 14, 13, 0, 0, 6, 18,
+  47, 66, 47, 76, 71, 67, 79, 96, 47, 0, 0, 3, 1, 7, 15, 15,
+  9, 38, 45, 37, 20, 19, 22, 17, 12, 12, 13, 15, 8, 18, 63, 75,
+  41, 59, 35, 26, 31, 32, 30, 25, 12, 16, 13, 16, 12, 43, 35, 47,
+  255, 255, 255, 255, 105, 97, 73, 0, 18, 7, 12, 16, 15, 19, 24, 23,
+  16, 12, 16, 20, 17, 13, 12, 17, 16, 26, 29, 37, 39, 38, 40, 45,
+  48, 22, 11, 15, 0, 9, 10, 27, 21, 28, 20, 18, 7, 26, 10, 19,
+  28, 28, 21, 12, 0, 0, 17, 26, 41, 50, 37, 71, 70, 85, 96, 104,
+  53, 5, 8, 10, 13, 21, 22, 24, 21, 14, 25, 21, 14, 21, 22, 14,
+  7, 14, 0, 0, 1, 34, 90, 97, 55, 64, 36, 24, 31, 34, 32, 25,
+  11, 8, 13, 12, 3, 41, 26, 31, 255, 255, 255, 255, 143, 151, 77, 10,
+  19, 9, 12, 17, 23, 27, 24, 21, 20, 20, 17, 18, 17, 15, 15, 21,
+  23, 34, 31, 35, 40, 44, 46, 49, 50, 35, 30, 35, 5, 2, 19, 3,
+  4, 21, 26, 27, 24, 19, 17, 13, 9, 13, 17, 4, 12, 7, 39, 42,
+  40, 40, 31, 50, 61, 74, 82, 69, 72, 45, 54, 0, 0, 23, 18, 31,
+  15, 19, 16, 23, 25, 14, 13, 16, 9, 0, 1, 21, 17, 73, 87, 102,
+  42, 60, 33, 14, 15, 20, 26, 24, 11, 9, 8, 16, 25, 31, 34, 42,
+  255, 255, 255, 255, 151, 154, 78, 15, 14, 10, 10, 15, 23, 26, 19, 16,
+  16, 18, 16, 17, 17, 16, 14, 20, 21, 27, 24, 29, 34, 40, 43, 45,
+  46, 52, 43, 43, 17, 6, 16, 4, 7, 11, 15, 17, 16, 8, 1, 0,
+  0, 5, 20, 21, 37, 31, 47, 39, 30, 43, 34, 54, 63, 76, 82, 68,
+  72, 75, 76, 12, 0, 0, 0, 5, 0, 7, 7, 13, 15, 3, 1, 2,
+  0, 6, 23, 53, 55, 99, 94, 93, 29, 61, 32, 13, 17, 23, 28, 25,
+  13, 6, 7, 14, 24, 33, 36, 43, 255, 255, 255, 255, 154, 146, 70, 24,
+  17, 16, 12, 17, 28, 29, 16, 11, 15, 16, 15, 17, 17, 16, 13, 18,
+  18, 27, 25, 29, 36, 42, 44, 47, 47, 49, 38, 37, 18, 5, 0, 0,
+  0, 5, 5, 8, 10, 1, 0, 0, 0, 0, 3, 9, 25, 24, 44, 50,
+  50, 45, 39, 60, 68, 78, 82, 70, 70, 70, 71, 19, 2, 0, 0, 4,
+  0, 2, 1, 7, 9, 0, 0, 0, 0, 0, 18, 51, 57, 91, 88, 96,
+  51, 65, 30, 10, 20, 29, 29, 27, 22, 11, 9, 13, 22, 32, 37, 43,
+  255, 255, 255, 255, 126, 108, 35, 16, 14, 27, 19, 23, 35, 34, 18, 12,
+  17, 14, 13, 17, 18, 16, 12, 16, 18, 30, 28, 34, 39, 43, 45, 46,
+  46, 51, 47, 48, 42, 29, 14, 5, 12, 0, 0, 0, 0, 0, 0, 0,
+  13, 11, 31, 50, 65, 61, 52, 38, 31, 48, 46, 65, 71, 79, 83, 70,
+  71, 78, 84, 55, 42, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0, 10,
+  10, 49, 64, 82, 77, 85, 73, 82, 52, 68, 27, 6, 20, 31, 30, 34,
+  34, 22, 18, 16, 20, 29, 34, 40, 255, 255, 255, 255, 141, 116, 38, 37,
+  43, 33, 26, 28, 36, 34, 19, 13, 17, 15, 14, 16, 17, 15, 12, 15,
+  17, 31, 28, 33, 38, 41, 41, 41, 39, 49, 51, 55, 65, 55, 33, 26,
+  27, 37, 29, 25, 26, 25, 30, 48, 70, 78, 69, 62, 53, 44, 39, 50,
+  60, 54, 50, 69, 73, 78, 82, 70, 70, 66, 77, 83, 91, 85, 74, 75,
+  65, 37, 32, 33, 32, 31, 44, 64, 70, 84, 97, 104, 97, 87, 60, 60,
+  38, 65, 24, 1, 12, 23, 24, 35, 40, 38, 32, 25, 20, 24, 29, 33,
+  255, 255, 255, 255, 143, 118, 24, 22, 30, 34, 31, 30, 31, 28, 19, 14,
+  14, 16, 15, 17, 17, 14, 11, 15, 20, 32, 32, 35, 39, 41, 42, 41,
+  38, 40, 49, 51, 67, 65, 45, 44, 38, 23, 19, 13, 10, 13, 26, 42,
+  55, 68, 59, 63, 56, 55, 32, 38, 43, 62, 60, 75, 74, 78, 81, 69,
+  72, 70, 67, 76, 84, 73, 65, 67, 60, 25, 19, 20, 20, 18, 33, 52,
+  60, 85, 90, 90, 88, 70, 50, 55, 43, 54, 22, 0, 5, 10, 17, 29,
+  35, 43, 40, 32, 25, 24, 27, 30, 255, 255, 255, 255, 126, 117, 20, 16,
+  32, 34, 36, 33, 25, 22, 20, 17, 11, 19, 16, 17, 16, 13, 11, 16,
+  21, 31, 30, 35, 40, 41, 43, 43, 40, 48, 61, 57, 74, 82, 75, 87,
+  76, 85, 86, 83, 78, 80, 93, 98, 95, 109, 80, 62, 39, 38, 18, 36,
+  52, 69, 68, 80, 78, 77, 81, 71, 74, 67, 52, 66, 78, 80, 89, 101,
+  99, 93, 89, 93, 94, 89, 96, 108, 109, 107, 104, 96, 95, 72, 46, 43,
+  35, 48, 25, 7, 4, 3, 10, 22, 27, 36, 39, 38, 30, 27, 28, 29,
+  255, 255, 255, 255, 76, 89, 4, 9, 35, 34, 40, 35, 22, 19, 22, 20,
+  11, 19, 17, 15, 13, 12, 10, 16, 22, 25, 24, 30, 35, 40, 43, 42,
+  40, 54, 63, 53, 70, 83, 88, 109, 101, 85, 95, 95, 87, 89, 97, 91,
+  74, 83, 53, 48, 33, 42, 25, 42, 55, 74, 69, 83, 79, 79, 81, 72,
+  77, 64, 39, 49, 58, 59, 73, 81, 80, 98, 99, 107, 109, 99, 96, 101,
+  95, 86, 91, 96, 111, 88, 56, 35, 15, 49, 31, 14, 7, 2, 9, 21,
+  21, 26, 37, 41, 37, 31, 32, 30, 255, 255, 255, 255, 85, 89, 12, 13,
+  23, 31, 31, 30, 17, 8, 18, 24, 12, 15, 16, 13, 9, 9, 11, 16,
+  18, 22, 13, 32, 43, 51, 51, 38, 45, 53, 59, 52, 60, 72, 82, 104,
+  103, 94, 86, 92, 93, 85, 90, 82, 50, 51, 42, 38, 43, 41, 39, 54,
+  72, 72, 65, 79, 71, 76, 73, 84, 71, 70, 75, 65, 67, 51, 63, 63,
+  74, 77, 80, 85, 91, 93, 87, 85, 84, 87, 84, 86, 85, 62, 69, 43,
+  34, 46, 30, 11, 7, 14, 19, 24, 25, 30, 32, 41, 41, 28, 24, 26,
+  255, 255, 255, 255, 88, 98, 25, 18, 20, 27, 28, 27, 15, 7, 18, 25,
+  12, 16, 14, 11, 7, 7, 9, 14, 16, 21, 14, 32, 43, 50, 53, 42,
+  48, 55, 62, 54, 61, 74, 82, 102, 101, 93, 90, 96, 100, 92, 94, 84,
+  54, 52, 36, 30, 38, 43, 43, 55, 69, 72, 65, 82, 78, 88, 84, 93,
+  75, 77, 81, 67, 67, 48, 58, 56, 67, 79, 81, 86, 91, 94, 91, 85,
+  84, 86, 83, 85, 85, 63, 74, 46, 39, 44, 28, 10, 7, 13, 17, 21,
+  22, 27, 29, 41, 43, 32, 26, 28, 255, 255, 255, 255, 102, 113, 43, 24,
+  15, 23, 23, 22, 12, 7, 20, 27, 15, 16, 14, 13, 9, 7, 9, 14,
+  16, 21, 12, 30, 40, 48, 49, 40, 48, 49, 56, 51, 58, 70, 79, 98,
+  97, 99, 97, 101, 98, 85, 80, 66, 40, 55, 34, 24, 33, 47, 50, 56,
+  59, 65, 61, 84, 88, 104, 99, 103, 83, 79, 82, 69, 70, 50, 59, 58,
+  70, 76, 74, 76, 81, 87, 88, 81, 77, 82, 77, 80, 78, 56, 66, 40,
+  35, 40, 26, 11, 7, 14, 16, 17, 17, 25, 24, 37, 41, 32, 27, 27,
+  255, 255, 255, 255, 107, 114, 49, 27, 14, 20, 19, 18, 9, 6, 21, 29,
+  17, 17, 15, 13, 9, 7, 9, 13, 15, 19, 12, 29, 36, 42, 45, 39,
+  48, 51, 60, 50, 59, 67, 74, 95, 93, 102, 105, 104, 97, 85, 73, 54,
+  33, 34, 17, 4, 13, 25, 27, 29, 29, 50, 49, 78, 89, 111, 110, 110,
+  87, 49, 51, 42, 49, 33, 44, 46, 62, 72, 72, 70, 75, 82, 87, 83,
+  74, 80, 72, 75, 77, 52, 59, 32, 29, 35, 24, 10, 9, 15, 16, 14,
+  13, 24, 23, 34, 40, 32, 27, 25, 255, 255, 255, 255, 109, 108, 51, 30,
+  20, 22, 20, 19, 10, 7, 23, 32, 20, 17, 15, 14, 9, 7, 8, 15,
+  17, 21, 12, 28, 35, 39, 42, 37, 48, 63, 67, 57, 61, 67, 72, 92,
+  89, 100, 105, 104, 97, 92, 77, 60, 48, 47, 34, 25, 29, 34, 33, 33,
+  32, 53, 53, 84, 98, 119, 117, 117, 92, 45, 48, 41, 54, 44, 57, 61,
+  78, 74, 73, 70, 71, 80, 89, 88, 80, 81, 72, 76, 79, 54, 58, 30,
+  26, 34, 23, 13, 13, 14, 15, 13, 15, 26, 26, 36, 38, 28, 23, 23,
+  255, 255, 255, 255, 130, 118, 61, 37, 25, 25, 22, 19, 11, 8, 25, 34,
+  21, 18, 16, 14, 9, 7, 8, 14, 16, 23, 16, 30, 34, 36, 39, 35,
+  50, 65, 69, 55, 57, 60, 67, 84, 82, 95, 96, 87, 80, 78, 64, 44,
+  38, 28, 18, 11, 11, 11, 8, 6, 4, 31, 33, 63, 70, 89, 83, 83,
+  57, 9, 10, 8, 25, 17, 28, 31, 49, 60, 60, 57, 55, 62, 76, 80,
+  75, 76, 66, 69, 74, 52, 52, 26, 22, 33, 25, 15, 15, 16, 16, 17,
+  18, 32, 30, 38, 37, 22, 17, 20, 255, 255, 255, 255, 153, 135, 78, 46,
+  28, 30, 26, 22, 12, 11, 28, 36, 22, 20, 18, 16, 12, 9, 10, 14,
+  18, 27, 19, 33, 35, 35, 38, 35, 51, 65, 67, 51, 49, 54, 58, 79,
+  78, 92, 92, 72, 59, 63, 48, 24, 21, 31, 22, 14, 11, 12, 9, 3,
+  0, 0, 0, 22, 25, 38, 31, 33, 10, 0, 2, 1, 21, 12, 21, 22,
+  39, 47, 50, 46, 40, 48, 66, 76, 75, 69, 57, 58, 66, 42, 49, 22,
+  26, 33, 26, 16, 16, 18, 19, 20, 22, 36, 36, 42, 35, 16, 10, 16,
+  255, 255, 255, 255, 152, 139, 86, 51, 29, 33, 28, 23, 13, 13, 29, 36,
+  22, 20, 18, 16, 12, 9, 10, 14, 18, 31, 22, 34, 37, 35, 39, 37,
+  53, 70, 70, 52, 52, 54, 61, 82, 82, 95, 91, 69, 57, 68, 54, 34,
+  35, 34, 23, 13, 12, 15, 12, 5, 0, 4, 6, 31, 34, 45, 37, 40,
+  22, 0, 0, 0, 21, 13, 21, 22, 39, 54, 57, 53, 45, 53, 72, 85,
+  87, 72, 57, 57, 62, 43, 48, 29, 34, 35, 26, 17, 16, 20, 20, 22,
+  25, 40, 40, 45, 33, 10, 4, 15, 255, 255, 255, 255, 139, 125, 87, 51,
+  24, 29, 27, 19, 13, 17, 28, 35, 32, 25, 20, 14, 10, 11, 10, 10,
+  7, 21, 18, 25, 36, 40, 35, 38, 44, 55, 55, 51, 42, 42, 55, 73,
+  84, 88, 53, 35, 40, 40, 30, 27, 21, 20, 20, 20, 19, 18, 13, 9,
+  3, 0, 6, 5, 22, 19, 22, 3, 11, 15, 7, 11, 28, 27, 15, 18,
+  36, 33, 37, 37, 32, 37, 51, 66, 73, 60, 69, 47, 59, 45, 48, 39,
+  26, 35, 25, 19, 19, 24, 26, 30, 39, 51, 50, 50, 33, 14, 17, 27,
+  255, 255, 255, 255, 128, 104, 70, 44, 17, 21, 20, 15, 9, 11, 20, 27,
+  26, 29, 23, 16, 11, 12, 13, 13, 14, 17, 15, 22, 33, 36, 34, 35,
+  42, 40, 41, 41, 38, 40, 50, 62, 66, 66, 38, 24, 25, 22, 20, 18,
+  13, 21, 19, 15, 12, 14, 18, 21, 21, 21, 26, 10, 12, 1, 10, 7,
+  29, 20, 12, 13, 24, 24, 14, 13, 23, 30, 29, 21, 14, 16, 33, 49,
+  59, 51, 61, 43, 53, 41, 42, 35, 23, 34, 26, 20, 20, 25, 27, 31,
+  39, 52, 47, 45, 33, 19, 20, 107, 255, 255, 255, 255, 132, 92, 62, 49,
+  20, 20, 21, 20, 15, 14, 20, 27, 29, 34, 27, 20, 14, 13, 15, 18,
+  20, 15, 14, 21, 31, 34, 30, 33, 38, 28, 30, 33, 33, 37, 44, 48,
+  47, 44, 28, 22, 17, 11, 15, 17, 10, 7, 10, 12, 13, 16, 17, 18,
+  18, 13, 23, 14, 19, 6, 11, 8, 32, 22, 18, 16, 22, 25, 24, 21,
+  22, 17, 20, 20, 19, 20, 25, 28, 27, 40, 55, 38, 51, 36, 37, 29,
+  23, 33, 26, 19, 18, 23, 26, 32, 38, 54, 44, 39, 32, 25, 25, 255,
+  255, 255, 255, 255, 135, 83, 56, 49, 20, 21, 22, 23, 19, 16, 18, 26,
+  31, 36, 29, 21, 14, 13, 16, 20, 23, 18, 16, 22, 32, 33, 27, 28,
+  36, 27, 30, 33, 35, 38, 43, 39, 34, 29, 26, 26, 20, 10, 16, 21,
+  10, 17, 17, 17, 17, 17, 17, 18, 18, 7, 18, 17, 28, 19, 16, 8,
+  26, 27, 24, 18, 13, 15, 18, 14, 8, 16, 19, 23, 24, 24, 22, 17,
+  12, 38, 53, 42, 52, 35, 32, 28, 22, 28, 24, 18, 17, 22, 26, 31,
+  35, 52, 40, 30, 30, 30, 29, 255, 255, 255, 255, 255, 119, 69, 46, 40,
+  13, 19, 18, 17, 14, 11, 11, 18, 24, 36, 29, 19, 13, 13, 17, 20,
+  23, 22, 18, 22, 29, 30, 23, 22, 28, 33, 34, 35, 33, 34, 36, 32,
+  26, 14, 18, 27, 24, 14, 21, 26, 14, 22, 19, 15, 9, 7, 10, 17,
+  23, 32, 30, 14, 19, 12, 14, 10, 32, 16, 19, 19, 16, 24, 37, 43,
+  42, 31, 26, 18, 10, 7, 9, 14, 19, 40, 58, 44, 52, 32, 30, 27,
+  21, 21, 20, 16, 14, 18, 23, 29, 31, 46, 34, 19, 19, 26, 23, 255,
+  255, 255, 255, 91, 101, 65, 47, 38, 18, 20, 15, 12, 10, 8, 8, 14,
+  21, 31, 26, 19, 14, 15, 16, 18, 19, 21, 18, 19, 27, 27, 19, 18,
+  23, 30, 33, 33, 29, 28, 27, 25, 18, 8, 13, 26, 28, 21, 28, 34,
+  26, 39, 44, 53, 56, 57, 52, 51, 51, 53, 49, 31, 42, 37, 42, 39,
+  61, 47, 48, 46, 34, 25, 20, 22, 25, 30, 28, 23, 17, 11, 8, 14,
+  23, 43, 59, 42, 47, 30, 27, 24, 17, 17, 16, 13, 12, 16, 23, 29,
+  27, 36, 33, 13, 10, 20, 18, 255, 255, 255, 255, 74, 84, 65, 51, 35,
+  23, 25, 16, 9, 9, 11, 11, 15, 21, 27, 24, 19, 17, 17, 17, 17,
+  16, 19, 17, 20, 26, 27, 20, 19, 24, 26, 32, 35, 31, 28, 25, 24,
+  20, 14, 16, 28, 32, 24, 28, 34, 31, 12, 24, 43, 53, 56, 50, 45,
+  42, 25, 29, 25, 43, 39, 38, 31, 53, 29, 36, 46, 42, 29, 18, 23,
+  34, 21, 25, 29, 29, 21, 13, 16, 25, 45, 56, 37, 42, 27, 26, 24,
+  17, 13, 14, 14, 11, 16, 25, 29, 26, 35, 38, 16, 6, 19, 255, 255,
+  255, 255, 255, 59, 68, 57, 44, 24, 16, 27, 14, 7, 8, 10, 9, 13,
+  18, 25, 23, 20, 19, 20, 18, 16, 14, 18, 15, 19, 28, 29, 23, 25,
+  30, 27, 35, 41, 38, 32, 30, 27, 24, 22, 17, 25, 29, 19, 18, 24,
+  25, 31, 33, 38, 41, 43, 50, 58, 66, 84, 91, 85, 100, 89, 85, 82,
+  111, 101, 105, 105, 86, 47, 8, 0, 3, 21, 22, 21, 16, 9, 5, 19,
+  36, 47, 57, 36, 44, 27, 30, 26, 18, 15, 17, 17, 13, 17, 26, 30,
+  27, 38, 44, 23, 9, 24, 255, 255, 255, 255, 206, 71, 69, 53, 37, 24,
+  19, 21, 16, 12, 8, 8, 10, 12, 13, 21, 18, 16, 16, 17, 17, 13,
+  10, 15, 6, 10, 21, 25, 22, 21, 25, 26, 31, 36, 37, 31, 27, 24,
+  25, 13, 22, 28, 32, 27, 26, 18, 10, 9, 41, 55, 65, 74, 84, 101,
+  92, 112, 110, 120, 131, 130, 119, 117, 125, 114, 109, 138, 98, 70, 30, 19,
+  36, 48, 47, 46, 33, 13, 13, 24, 28, 43, 42, 37, 29, 28, 29, 26,
+  19, 16, 24, 26, 20, 16, 22, 31, 37, 47, 54, 29, 10, 22, 255, 255,
+  255, 255, 102, 73, 68, 53, 45, 25, 24, 24, 19, 13, 9, 9, 11, 12,
+  13, 17, 16, 15, 17, 18, 18, 14, 9, 12, 5, 10, 20, 23, 17, 20,
+  27, 27, 33, 38, 38, 34, 29, 27, 27, 35, 46, 55, 56, 51, 45, 34,
+  25, 11, 28, 26, 27, 21, 16, 24, 12, 24, 17, 14, 19, 18, 14, 21,
+  35, 31, 38, 76, 74, 72, 68, 71, 93, 68, 64, 62, 48, 30, 26, 35,
+  36, 41, 40, 33, 26, 25, 27, 22, 17, 19, 25, 25, 20, 17, 25, 34,
+  38, 53, 57, 30, 8, 14, 255, 255, 255, 255, 85, 74, 66, 52, 57, 28,
+  34, 25, 20, 14, 10, 10, 11, 11, 12, 12, 13, 15, 18, 20, 19, 16,
+  11, 11, 7, 13, 19, 20, 16, 18, 26, 25, 31, 35, 35, 33, 31, 30,
+  30, 19, 31, 47, 46, 45, 33, 27, 18, 16, 25, 18, 21, 17, 8, 18,
+  12, 31, 21, 18, 19, 15, 14, 24, 38, 40, 46, 62, 69, 58, 59, 48,
+  61, 71, 63, 57, 46, 31, 28, 35, 33, 36, 35, 29, 22, 21, 23, 20,
+  14, 20, 23, 19, 16, 19, 28, 33, 34, 42, 46, 26, 11, 96, 255, 255,
+  255, 190, 53, 54, 46, 32, 46, 14, 24, 24, 20, 14, 10, 9, 10, 10,
+  10, 8, 10, 14, 18, 20, 20, 17, 13, 11, 10, 16, 21, 19, 14, 17,
+  26, 25, 27, 30, 31, 32, 33, 34, 31, 29, 39, 63, 63, 71, 59, 58,
+  47, 32, 39, 38, 50, 51, 45, 64, 69, 53, 51, 54, 58, 55, 49, 51,
+  57, 35, 43, 45, 65, 60, 76, 65, 74, 53, 43, 36, 33, 26, 26, 33,
+  31, 35, 32, 27, 20, 20, 23, 20, 15, 19, 22, 18, 17, 22, 29, 29,
+  25, 24, 30, 21, 15, 255, 255, 255, 255, 59, 46, 51, 46, 26, 40, 12,
+  21, 22, 18, 13, 10, 9, 9, 9, 9, 6, 9, 14, 18, 20, 19, 17,
+  14, 12, 14, 19, 20, 18, 14, 19, 25, 27, 27, 28, 29, 32, 35, 38,
+  35, 11, 19, 48, 45, 62, 49, 53, 42, 47, 57, 57, 64, 60, 52, 72,
+  81, 77, 82, 90, 94, 91, 84, 80, 81, 75, 77, 60, 75, 65, 74, 63,
+  63, 44, 31, 26, 29, 28, 30, 38, 38, 34, 33, 27, 21, 22, 25, 23,
+  18, 18, 19, 19, 19, 24, 28, 22, 15, 19, 23, 23, 20, 255, 255, 255,
+  255, 63, 52, 53, 55, 27, 32, 18, 22, 20, 17, 13, 11, 11, 11, 11,
+  10, 7, 11, 15, 18, 17, 16, 16, 14, 15, 15, 19, 19, 18, 18, 22,
+  26, 30, 30, 29, 30, 33, 38, 42, 39, 14, 16, 45, 38, 61, 46, 53,
+  41, 43, 55, 51, 56, 50, 47, 70, 76, 80, 84, 89, 89, 85, 81, 80,
+  81, 74, 78, 63, 73, 76, 80, 82, 76, 45, 30, 26, 32, 31, 33, 42,
+  43, 34, 32, 26, 21, 22, 26, 25, 19, 18, 20, 21, 21, 24, 24, 20,
+  12, 21, 22, 26, 102, 255, 255, 255, 255, 39, 37, 30, 44, 13, 10, 15,
+  12, 21, 18, 14, 13, 14, 14, 14, 14, 10, 13, 16, 17, 15, 13, 14,
+  13, 18, 16, 18, 17, 20, 23, 25, 26, 29, 28, 26, 26, 30, 36, 40,
+  38, 15, 10, 35, 25, 54, 39, 49, 33, 36, 45, 34, 35, 39, 48, 69,
+  66, 73, 76, 78, 73, 68, 67, 69, 70, 68, 76, 65, 65, 72, 59, 69,
+  54, 39, 26, 20, 27, 25, 25, 33, 36, 30, 30, 25, 21, 20, 25, 23,
+  18, 19, 22, 21, 19, 20, 24, 23, 18, 16, 16, 21, 255, 255, 255, 255,
+  255, 30, 34, 24, 48, 16, 10, 30, 23, 21, 19, 16, 15, 16, 17, 17,
+  17, 12, 15, 17, 16, 13, 11, 13, 15, 19, 17, 17, 18, 22, 26, 28,
+  26, 27, 24, 21, 21, 27, 33, 38, 36, 20, 12, 38, 23, 58, 42, 56,
+  38, 42, 46, 23, 14, 22, 33, 49, 39, 35, 42, 42, 39, 35, 33, 33,
+  33, 47, 56, 54, 51, 67, 46, 64, 45, 31, 18, 14, 20, 18, 18, 27,
+  31, 29, 27, 22, 18, 20, 23, 22, 17, 22, 24, 21, 18, 19, 24, 26,
+  25, 12, 9, 14, 255, 255, 255, 255, 255, 31, 22, 16, 16, 14, 9, 11,
+  18, 16, 18, 20, 22, 22, 19, 17, 15, 9, 13, 19, 21, 21, 19, 17,
+  16, 18, 18, 20, 20, 22, 23, 26, 25, 26, 20, 15, 15, 23, 27, 28,
+  25, 15, 16, 23, 26, 32, 41, 53, 59, 55, 44, 33, 27, 31, 31, 28,
+  24, 20, 18, 17, 18, 19, 22, 25, 26, 25, 33, 50, 57, 48, 42, 43,
+  41, 30, 16, 19, 18, 22, 23, 12, 23, 25, 24, 19, 16, 18, 22, 22,
+  23, 22, 20, 19, 21, 24, 25, 23, 20, 26, 16, 97, 255, 255, 255, 255,
+  57, 30, 19, 15, 16, 16, 12, 13, 20, 14, 15, 17, 19, 19, 18, 16,
+  15, 10, 14, 18, 20, 19, 18, 17, 17, 21, 21, 22, 22, 24, 24, 27,
+  28, 23, 20, 16, 17, 22, 25, 25, 23, 16, 20, 25, 27, 33, 42, 56,
+  66, 57, 48, 37, 33, 34, 33, 27, 25, 23, 22, 22, 26, 31, 31, 31,
+  28, 38, 40, 53, 58, 52, 49, 47, 41, 30, 17, 20, 18, 23, 25, 15,
+  23, 25, 22, 18, 16, 16, 19, 19, 20, 22, 21, 20, 22, 24, 25, 23,
+  21, 26, 18, 255, 255, 255, 255, 255, 63, 25, 13, 10, 12, 15, 12, 14,
+  17, 12, 12, 13, 14, 14, 15, 15, 15, 13, 15, 18, 18, 18, 17, 18,
+  19, 20, 20, 20, 19, 21, 21, 22, 22, 21, 17, 15, 16, 19, 21, 19,
+  18, 18, 23, 25, 23, 25, 34, 52, 67, 62, 56, 48, 46, 44, 43, 39,
+  37, 34, 32, 33, 38, 44, 46, 41, 36, 42, 37, 47, 53, 48, 45, 41,
+  31, 29, 18, 22, 18, 21, 26, 17, 25, 27, 24, 18, 16, 16, 18, 18,
+  18, 21, 20, 19, 20, 22, 23, 20, 19, 33, 29, 255, 255, 255, 255, 255,
+  50, 26, 12, 7, 11, 15, 13, 15, 16, 11, 10, 9, 9, 10, 12, 14,
+  15, 16, 17, 18, 18, 17, 17, 19, 21, 18, 17, 17, 16, 18, 17, 18,
+  18, 18, 15, 16, 15, 19, 18, 14, 12, 18, 25, 24, 19, 17, 24, 46,
+  62, 64, 59, 57, 57, 57, 53, 50, 49, 48, 46, 43, 46, 50, 51, 46,
+  40, 38, 37, 46, 52, 47, 41, 38, 25, 27, 19, 23, 17, 19, 29, 21,
+  23, 29, 26, 22, 19, 18, 20, 19, 19, 20, 19, 18, 18, 19, 20, 18,
+  17, 36, 38, 255, 255, 255, 255, 255, 39, 34, 16, 8, 11, 17, 16, 16,
+  16, 10, 9, 8, 8, 9, 11, 13, 15, 18, 19, 19, 18, 17, 17, 19,
+  22, 20, 20, 20, 19, 20, 20, 22, 22, 16, 15, 16, 15, 16, 14, 10,
+  10, 18, 24, 23, 17, 16, 23, 45, 61, 61, 59, 60, 58, 55, 52, 50,
+  49, 53, 50, 42, 40, 40, 41, 38, 35, 37, 40, 54, 60, 51, 42, 40,
+  29, 23, 21, 25, 15, 18, 32, 22, 23, 28, 25, 22, 19, 19, 20, 19,
+  19, 18, 18, 18, 18, 16, 17, 19, 21, 32, 106, 255, 255, 255, 255, 255,
+  56, 38, 19, 6, 7, 13, 11, 11, 9, 11, 10, 9, 8, 9, 11, 12,
+  14, 16, 17, 18, 17, 15, 15, 17, 19, 18, 17, 17, 17, 18, 18, 21,
+  21, 18, 18, 17, 17, 14, 11, 7, 8, 18, 22, 23, 18, 18, 26, 45,
+  59, 56, 56, 56, 55, 50, 44, 44, 44, 49, 43, 35, 27, 25, 24, 26,
+  27, 33, 36, 51, 57, 45, 38, 34, 26, 23, 22, 27, 14, 18, 33, 24,
+  19, 24, 22, 19, 17, 19, 19, 17, 17, 17, 18, 20, 22, 21, 25, 30,
+  33, 42, 255, 255, 255, 255, 255, 255, 193, 47, 25, 7, 5, 11, 9, 8,
+  6, 13, 11, 11, 11, 11, 11, 12, 12, 12, 14, 15, 15, 13, 12, 13,
+  14, 14, 14, 14, 14, 16, 17, 20, 20, 20, 21, 19, 17, 13, 10, 7,
+  9, 18, 20, 19, 15, 15, 22, 37, 44, 39, 41, 45, 44, 38, 33, 37,
+  40, 41, 39, 33, 25, 19, 15, 21, 24, 30, 26, 34, 37, 29, 24, 19,
+  10, 19, 23, 28, 12, 15, 32, 24, 17, 21, 20, 18, 17, 19, 20, 18,
+  18, 15, 19, 24, 28, 31, 38, 45, 51, 126, 255, 255, 255, 255, 255, 255,
+  255, 64, 39, 17, 13, 17, 16, 14, 13, 14, 13, 13, 12, 12, 12, 12,
+  11, 9, 11, 14, 13, 12, 10, 11, 11, 17, 17, 17, 19, 20, 21, 24,
+  25, 22, 22, 22, 18, 15, 13, 11, 11, 20, 20, 17, 14, 13, 17, 25,
+  31, 21, 25, 32, 31, 28, 26, 30, 36, 41, 41, 37, 30, 22, 20, 25,
+  30, 36, 26, 27, 27, 22, 21, 15, 1, 23, 25, 31, 13, 14, 34, 23,
+  16, 22, 21, 19, 21, 22, 22, 23, 21, 15, 20, 27, 34, 39, 49, 58,
+  66, 255, 255, 255, 255, 255, 255, 255, 255, 53, 41, 25, 17, 18, 20, 20,
+  15, 15, 15, 16, 17, 16, 14, 12, 11, 11, 10, 12, 12, 12, 13, 14,
+  15, 16, 17, 20, 23, 24, 23, 21, 20, 22, 22, 22, 20, 20, 19, 18,
+  15, 18, 20, 22, 20, 22, 26, 31, 34, 33, 38, 41, 41, 33, 26, 33,
+  43, 39, 39, 38, 39, 37, 36, 36, 37, 32, 32, 32, 30, 28, 25, 20,
+  17, 24, 32, 31, 23, 20, 25, 23, 15, 19, 18, 18, 20, 23, 23, 24,
+  22, 22, 26, 33, 36, 37, 42, 55, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 60, 47, 32, 23, 24, 24, 22, 16, 11, 11, 14, 16, 16, 16, 16,
+  15, 13, 13, 12, 13, 15, 16, 16, 17, 17, 19, 21, 23, 23, 22, 21,
+  20, 21, 21, 22, 22, 21, 20, 19, 17, 21, 23, 25, 26, 24, 23, 25,
+  25, 20, 24, 34, 38, 34, 31, 37, 46, 50, 49, 47, 45, 43, 42, 40,
+  41, 40, 36, 33, 29, 27, 23, 20, 20, 21, 29, 28, 19, 17, 22, 21,
+  13, 19, 19, 20, 21, 24, 27, 30, 30, 15, 18, 28, 41, 51, 59, 132,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 192, 53, 39, 31, 31, 28, 24,
+  16, 11, 11, 13, 15, 16, 15, 16, 15, 13, 13, 13, 14, 16, 16, 17,
+  17, 17, 18, 20, 21, 22, 21, 20, 19, 20, 21, 21, 21, 21, 20, 19,
+  17, 16, 19, 24, 25, 22, 17, 15, 14, 8, 13, 25, 34, 35, 32, 39,
+  49, 56, 52, 49, 42, 39, 37, 36, 37, 42, 36, 29, 23, 20, 19, 20,
+  19, 19, 26, 25, 18, 17, 22, 21, 15, 23, 24, 23, 20, 16, 16, 19,
+  21, 18, 18, 29, 47, 63, 74, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 54, 42, 35, 35, 31, 26, 16, 15, 14, 15, 15, 14, 13, 12,
+  11, 13, 14, 14, 15, 17, 17, 17, 17, 16, 17, 19, 20, 20, 20, 19,
+  19, 19, 19, 20, 20, 20, 20, 19, 16, 14, 17, 23, 25, 23, 22, 21,
+  18, 14, 17, 27, 33, 34, 33, 39, 47, 50, 48, 42, 38, 35, 35, 37,
+  39, 43, 38, 29, 22, 20, 18, 19, 19, 23, 26, 26, 22, 21, 25, 24,
+  20, 22, 24, 24, 20, 14, 13, 17, 21, 24, 22, 29, 43, 53, 127, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 50, 40, 35, 35, 32, 24,
+  16, 15, 14, 14, 14, 13, 12, 12, 11, 13, 14, 15, 16, 19, 18, 18,
+  17, 16, 16, 17, 18, 18, 18, 18, 18, 17, 18, 19, 19, 19, 19, 19,
+  16, 20, 22, 26, 27, 26, 27, 28, 30, 25, 24, 29, 31, 32, 31, 35,
+  45, 43, 41, 36, 34, 32, 34, 41, 45, 40, 36, 30, 25, 24, 21, 21,
+  19, 24, 26, 26, 24, 24, 26, 26, 24, 14, 18, 22, 23, 22, 25, 32,
+  37, 25, 24, 28, 32, 31, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 186, 39, 34, 35, 31, 23, 13, 12, 11, 11, 12, 13, 13, 15,
+  15, 13, 15, 16, 18, 20, 19, 18, 18, 15, 15, 16, 16, 16, 17, 17,
+  17, 16, 17, 18, 18, 19, 19, 18, 16, 20, 21, 23, 22, 19, 21, 26,
+  26, 26, 24, 24, 27, 26, 27, 33, 42, 30, 30, 26, 25, 25, 29, 36,
+  40, 37, 34, 30, 27, 25, 23, 23, 23, 23, 23, 23, 23, 23, 23, 23,
+  23, 14, 17, 21, 23, 23, 26, 30, 33, 25, 25, 30, 29, 22, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 184, 35, 35, 31, 23,
+  13, 12, 11, 11, 11, 12, 13, 15, 16, 14, 15, 17, 19, 21, 20, 19,
+  18, 15, 15, 15, 15, 15, 16, 16, 17, 15, 16, 17, 18, 18, 18, 18,
+  16, 15, 16, 18, 17, 15, 15, 19, 21, 24, 21, 22, 25, 25, 25, 30,
+  37, 23, 22, 19, 19, 20, 24, 27, 31, 33, 30, 26, 23, 22, 24, 25,
+  25, 23, 22, 22, 23, 22, 22, 21, 22, 19, 20, 21, 22, 21, 20, 19,
+  17, 24, 26, 34, 36, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 37, 36, 31, 23, 13, 16, 14, 13, 12, 11, 11, 12,
+  12, 14, 15, 18, 19, 22, 21, 19, 18, 15, 14, 14, 14, 14, 15, 16,
+  17, 15, 15, 16, 17, 18, 18, 18, 16, 14, 16, 20, 21, 20, 21, 24,
+  24, 22, 21, 23, 28, 28, 26, 28, 34, 27, 25, 24, 22, 22, 23, 26,
+  28, 31, 28, 22, 18, 19, 21, 25, 26, 25, 23, 23, 24, 24, 22, 22,
+  23, 19, 19, 21, 24, 26, 26, 23, 18, 17, 20, 33, 37, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 183, 40, 37, 28,
+  16, 18, 14, 12, 12, 13, 15, 16, 15, 17, 15, 14, 17, 23, 25, 23,
+  21, 18, 17, 16, 14, 14, 13, 13, 13, 14, 14, 14, 15, 16, 19, 21,
+  21, 19, 20, 24, 23, 21, 19, 21, 23, 19, 17, 17, 19, 18, 23, 27,
+  32, 31, 28, 27, 25, 23, 25, 27, 30, 30, 24, 22, 27, 28, 23, 23,
+  26, 19, 20, 20, 20, 20, 20, 20, 20, 20, 22, 23, 23, 21, 23, 27,
+  32, 31, 32, 43, 140, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 41, 33, 22, 22, 19, 15, 13, 12, 11, 11,
+  9, 12, 11, 12, 15, 21, 22, 20, 18, 17, 16, 15, 14, 13, 13, 13,
+  14, 14, 14, 14, 15, 16, 19, 21, 21, 19, 20, 24, 23, 21, 21, 21,
+  23, 23, 22, 20, 19, 17, 20, 26, 31, 32, 31, 31, 28, 27, 28, 31,
+  33, 33, 27, 25, 27, 27, 22, 22, 23, 24, 23, 22, 21, 20, 19, 18,
+  17, 16, 19, 22, 22, 22, 27, 36, 44, 48, 55, 72, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 33,
+  23, 24, 21, 17, 14, 12, 10, 8, 6, 9, 9, 12, 15, 21, 22, 20,
+  18, 16, 15, 14, 14, 14, 14, 14, 15, 14, 14, 14, 15, 16, 19, 21,
+  21, 20, 19, 22, 22, 21, 21, 22, 21, 26, 23, 19, 17, 14, 16, 21,
+  26, 29, 28, 29, 27, 26, 26, 27, 28, 31, 27, 23, 25, 25, 21, 18,
+  19, 24, 23, 23, 22, 21, 20, 19, 18, 12, 16, 20, 19, 19, 24, 36,
+  46, 43, 51, 132, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 180, 20, 24, 21, 17, 15, 13, 11, 9,
+  7, 8, 10, 14, 17, 22, 22, 21, 19, 18, 17, 16, 16, 16, 16, 17,
+  17, 14, 14, 14, 15, 16, 19, 21, 23, 18, 17, 19, 19, 19, 19, 19,
+  20, 20, 19, 18, 16, 14, 15, 17, 20, 24, 25, 25, 23, 23, 20, 19,
+  17, 26, 23, 21, 20, 21, 19, 17, 16, 20, 20, 20, 21, 22, 22, 23,
+  23, 16, 21, 25, 23, 19, 21, 31, 40, 31, 114, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 179, 25, 21, 19, 16, 13, 9, 6, 7, 10, 13, 16, 19, 19, 19,
+  19, 21, 20, 20, 19, 19, 19, 19, 20, 14, 14, 14, 15, 16, 19, 21,
+  23, 17, 17, 16, 16, 19, 19, 16, 16, 14, 17, 21, 21, 22, 18, 19,
+  19, 26, 27, 26, 24, 22, 19, 17, 17, 23, 22, 22, 20, 22, 23, 22,
+  19, 19, 19, 20, 20, 21, 22, 23, 23, 21, 26, 30, 28, 24, 24, 30,
+  37, 119, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 28, 24, 19, 14, 9,
+  4, 6, 9, 11, 12, 14, 14, 15, 17, 25, 24, 23, 21, 20, 20, 20,
+  20, 14, 14, 14, 15, 16, 19, 21, 23, 17, 16, 15, 15, 18, 18, 15,
+  14, 12, 18, 24, 27, 28, 25, 22, 23, 31, 30, 30, 28, 26, 24, 25,
+  24, 23, 23, 23, 21, 23, 27, 26, 23, 21, 21, 20, 20, 20, 19, 19,
+  19, 15, 18, 21, 23, 23, 27, 33, 38, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 181, 28, 23, 17, 12, 7, 8, 10, 11, 10, 10, 10, 13,
+  16, 27, 25, 24, 22, 20, 19, 19, 19, 14, 14, 14, 15, 16, 19, 21,
+  23, 20, 17, 15, 16, 20, 20, 18, 14, 14, 19, 25, 28, 28, 24, 21,
+  23, 26, 27, 27, 27, 27, 28, 31, 32, 24, 25, 23, 19, 21, 26, 25,
+  20, 19, 19, 19, 19, 19, 18, 18, 18, 14, 13, 13, 16, 23, 32, 41,
+  116, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 180, 27, 23, 17,
+  15, 12, 13, 13, 11, 8, 9, 15, 17, 25, 24, 22, 19, 17, 18, 17,
+  17, 14, 14, 14, 15, 16, 17, 19, 21, 22, 19, 16, 17, 21, 22, 19,
+  15, 15, 18, 22, 24, 23, 22, 20, 22, 19, 18, 19, 19, 21, 24, 30,
+  32, 22, 24, 21, 16, 16, 20, 20, 13, 14, 15, 17, 18, 19, 21, 22,
+  21, 24, 17, 13, 16, 28, 42, 55, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 36, 32, 26, 20, 14, 14, 16, 17, 15, 27,
+  38, 22, 15, 13, 16, 18, 17, 20, 27, 21, 20, 16, 15, 14, 14, 16,
+  18, 17, 18, 16, 16, 16, 17, 18, 17, 12, 14, 15, 17, 21, 24, 23,
+  18, 20, 21, 22, 21, 20, 20, 24, 26, 18, 17, 15, 13, 12, 12, 14,
+  13, 13, 16, 20, 23, 25, 27, 26, 25, 23, 5, 21, 23, 42, 61, 154,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 30,
+  24, 28, 22, 19, 20, 19, 19, 30, 42, 24, 15, 14, 15, 17, 15, 16,
+  21, 15, 15, 12, 13, 12, 13, 15, 18, 17, 19, 17, 16, 16, 17, 16,
+  16, 11, 17, 20, 19, 18, 21, 22, 20, 22, 23, 24, 23, 20, 19, 21,
+  23, 18, 16, 14, 13, 14, 12, 14, 13, 15, 16, 18, 20, 24, 28, 27,
+  26, 30, 21, 19, 18, 32, 115, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 39, 41, 36, 23, 27, 36, 44, 43, 37, 31,
+  29, 18, 11, 12, 13, 16, 16, 18, 22, 16, 16, 13, 13, 13, 13, 14,
+  17, 19, 20, 17, 17, 17, 17, 15, 16, 15, 23, 26, 24, 19, 20, 22,
+  22, 23, 24, 25, 24, 23, 19, 18, 18, 20, 19, 17, 15, 15, 15, 16,
+  16, 14, 14, 13, 16, 20, 22, 23, 23, 6, 16, 7, 18, 38, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 46,
+  42, 46, 57, 72, 81, 79, 70, 55, 44, 22, 18, 17, 16, 19, 21, 22,
+  24, 24, 23, 19, 18, 15, 15, 13, 13, 19, 21, 18, 17, 17, 17, 15,
+  16, 16, 22, 22, 20, 17, 20, 20, 18, 18, 21, 23, 22, 21, 17, 15,
+  14, 21, 20, 19, 17, 17, 17, 20, 19, 17, 15, 16, 17, 20, 21, 22,
+  18, 16, 44, 28, 33, 113, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 79, 80, 77, 75, 76, 68,
+  59, 36, 30, 26, 20, 21, 22, 23, 21, 24, 23, 22, 20, 16, 15, 13,
+  12, 19, 19, 18, 17, 15, 16, 16, 17, 15, 14, 10, 10, 16, 21, 18,
+  11, 11, 14, 19, 20, 18, 15, 16, 16, 22, 21, 22, 20, 20, 21, 24,
+  21, 18, 18, 19, 20, 21, 23, 20, 16, 26, 64, 49, 47, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 196, 69, 52, 30, 25, 21, 14, 15, 21, 25,
+  23, 19, 18, 20, 18, 17, 16, 14, 13, 18, 18, 18, 18, 16, 17, 18,
+  19, 21, 17, 10, 11, 19, 25, 21, 11, 9, 10, 15, 15, 14, 13, 15,
+  16, 20, 19, 20, 19, 21, 22, 23, 22, 14, 11, 13, 13, 18, 18, 19,
+  15, 18, 54, 54, 123, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 181, 29, 22, 13, 13, 23, 27, 26, 19, 19, 21, 18, 17, 16, 14,
+  14, 15, 15, 15, 15, 17, 18, 19, 20, 25, 23, 19, 17, 21, 26, 23,
+  14, 10, 12, 13, 13, 14, 14, 16, 18, 19, 18, 19, 18, 18, 19, 22,
+  19, 14, 9, 8, 11, 14, 22, 26, 27, 47, 66, 134, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 183, 24, 18, 22, 25,
+  21, 26, 25, 24, 22, 19, 17, 14, 12, 14, 14, 14, 15, 17, 19, 20,
+  21, 21, 22, 19, 15, 14, 16, 15, 11, 14, 13, 14, 13, 13, 13, 16,
+  18, 16, 15, 14, 13, 15, 16, 18, 15, 23, 15, 14, 14, 22, 32, 42,
+  46, 61, 68, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 22, 19, 23, 25, 17, 19, 22, 19, 14, 13, 14,
+  15, 16, 16, 15, 15, 16, 18, 20, 21, 22, 21, 21, 19, 18, 17, 17,
+  16, 17, 17, 16, 15, 16, 15, 14, 14, 17, 15, 14, 12, 14, 15, 16,
+  12, 4, 17, 7, 10, 21, 23, 36, 36, 58, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 19, 22,
+  24, 21, 21, 22, 18, 15, 12, 14, 15, 14, 13, 12, 12, 13, 14, 16,
+  17, 23, 22, 21, 19, 18, 18, 18, 19, 18, 16, 17, 16, 16, 15, 15,
+  15, 11, 11, 12, 13, 14, 17, 19, 14, 3, 13, 0, 6, 25, 39, 63,
+  72, 130, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 179, 29, 28, 27, 22, 19, 17, 18,
+  19, 17, 16, 14, 13, 14, 15, 18, 19, 21, 20, 18, 17, 18, 19, 19,
+  20, 19, 17, 19, 17, 16, 16, 15, 15, 9, 10, 10, 12, 13, 15, 17,
+  13, 0, 14, 11, 25, 44, 53, 132, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 30, 28, 24, 21, 20, 19, 20, 20, 21, 19, 17, 17, 17, 20,
+  20, 18, 17, 14, 13, 14, 15, 16, 17, 18, 18, 19, 19, 17, 17, 16,
+  14, 8, 7, 7, 9, 9, 10, 11, 4, 17, 36, 39, 57, 77, 137, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 179, 22, 20, 19, 19,
+  19, 23, 21, 19, 16, 16, 16, 18, 18, 19, 17, 16, 14, 13, 14, 18,
+  20, 20, 20, 20, 19, 18, 17, 16, 14, 4, 4, 4, 5, 6, 7, 9,
+  3, 8, 24, 23, 112, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 180, 29, 28, 29, 29, 26, 23, 22, 21, 22,
+  22, 25, 22, 21, 17, 16, 17, 21, 22, 21, 21, 22, 21, 20, 18, 17,
+  13, 9, 8, 8, 12, 18, 24, 28, 27, 33, 51, 122, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  184, 38, 37, 34, 30, 29, 27, 28, 28, 29, 26, 23, 19, 17, 18, 21,
+  23, 20, 21, 22, 21, 21, 19, 18, 14, 11, 11, 12, 17, 27, 37, 47,
+  48, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 182, 35, 31, 27, 24, 24, 23,
+  24, 26, 25, 20, 15, 13, 13, 15, 17, 16, 19, 18, 17, 18, 15, 14,
+  12, 4, 3, 4, 10, 20, 31, 114, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 179, 26, 27, 26, 25, 26, 23, 24, 20, 14, 10, 12, 12,
+  12, 16, 19, 12, 3, 3, 9, 16, 15, 16, 14, 97, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 178, 25,
+  29, 29, 28, 24, 16, 15, 16, 15, 13, 16, 17, 18, 20, 22, 23, 26,
+  26, 108, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 179, 22, 26, 31, 29,
+  23, 20, 19, 23, 33, 37, 107, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 };
+/* Define image 'enemy4' of size 141x151x1x3 and type 'const unsigned char' */
+const unsigned char data_enemy4[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 74, 86, 88, 35, 37, 86, 134, 52, 30, 50, 80, 68, 81,
+  68, 74, 82, 89, 94, 100, 121, 185, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 203, 113, 127, 116, 126, 151, 162,
+  180, 175, 164, 77, 71, 85, 113, 136, 139, 134, 113, 102, 151, 151, 136, 122,
+  130, 132, 131, 152, 182, 198, 205, 239, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 204, 85, 73, 102, 101, 112, 156, 194, 202, 196, 206, 192, 160, 173, 152,
+  169, 164, 190, 176, 153, 159, 138, 152, 160, 187, 176, 139, 135, 145, 148, 144,
+  162, 192, 204, 194, 202, 215, 243, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 106, 121, 131,
+  145, 141, 177, 189, 203, 209, 220, 196, 181, 186, 159, 166, 152, 178, 195, 210,
+  205, 163, 156, 152, 208, 209, 183, 169, 174, 152, 161, 166, 163, 178, 203, 213,
+  206, 189, 195, 205, 216, 231, 244, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 194, 85, 98, 108, 74, 84, 104, 135, 146, 206,
+  224, 217, 189, 195, 178, 177, 165, 165, 170, 182, 193, 213, 174, 168, 188, 198,
+  197, 185, 160, 166, 152, 171, 169, 171, 166, 153, 151, 158, 162, 155, 182, 182,
+  185, 189, 193, 197, 206, 226, 243, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 48, 46, 64, 67, 78, 114, 119, 142, 149, 157, 151, 191, 195, 199, 173,
+  177, 164, 178, 163, 176, 215, 169, 190, 168, 174, 192, 199, 177, 209, 227, 214,
+  203, 145, 188, 172, 171, 163, 149, 142, 144, 147, 147, 164, 151, 136, 128, 130,
+  142, 159, 174, 201, 215, 231, 244, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211, 124, 110, 109,
+  92, 102, 138, 154, 157, 181, 144, 178, 237, 203, 203, 179, 152, 162, 167, 154,
+  182, 191, 168, 165, 166, 179, 166, 199, 160, 160, 183, 202, 185, 165, 173, 191,
+  179, 150, 124, 124, 132, 134, 136, 141, 129, 166, 152, 128, 141, 135, 118, 131,
+  143, 171, 214, 202, 200, 230, 243, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 205, 126, 116, 137, 135, 159, 172, 196, 233,
+  201, 232, 223, 218, 194, 200, 195, 173, 155, 165, 170, 154, 185, 152, 151, 155,
+  162, 159, 172, 170, 170, 147, 172, 185, 171, 163, 184, 187, 162, 128, 147, 151,
+  138, 137, 151, 154, 143, 133, 142, 129, 130, 154, 145, 115, 108, 111, 111, 139,
+  166, 184, 192, 194, 226, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 100, 115, 117, 134, 197, 192, 226, 225, 219, 235, 224, 235, 231, 209,
+  188, 175, 186, 169, 171, 188, 160, 169, 146, 148, 150, 160, 189, 171, 129, 126,
+  166, 170, 179, 157, 151, 166, 183, 195, 183, 156, 161, 164, 168, 165, 151, 137,
+  134, 137, 144, 155, 159, 142, 110, 94, 116, 152, 144, 116, 97, 122, 146, 153,
+  172, 184, 189, 233, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 190, 78, 54,
+  96, 121, 154, 230, 198, 231, 211, 226, 219, 187, 202, 178, 161, 122, 127, 153,
+  137, 151, 188, 153, 195, 187, 177, 178, 170, 174, 160, 167, 172, 205, 186, 203,
+  183, 194, 209, 178, 135, 142, 172, 190, 182, 178, 171, 149, 129, 142, 167, 180,
+  140, 120, 129, 141, 150, 135, 103, 113, 119, 107, 134, 155, 158, 172, 158, 150,
+  151, 193, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 210, 67, 42, 83, 93, 120, 196, 189, 244,
+  217, 210, 208, 215, 205, 185, 191, 131, 145, 139, 117, 107, 120, 153, 156, 182,
+  190, 222, 180, 186, 159, 160, 140, 141, 192, 190, 194, 169, 156, 149, 154, 161,
+  158, 157, 158, 151, 150, 171, 169, 132, 104, 109, 131, 145, 139, 130, 137, 133,
+  122, 139, 151, 131, 102, 117, 111, 129, 139, 137, 163, 160, 151, 135, 140, 171,
+  225, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 75, 103, 110, 113, 153, 146, 186, 218, 198, 221, 187, 193, 206,
+  209, 185, 159, 173, 139, 148, 162, 133, 154, 177, 183, 185, 193, 176, 190, 149,
+  135, 148, 164, 134, 140, 180, 169, 177, 175, 185, 198, 201, 172, 138, 133, 138,
+  128, 128, 126, 122, 114, 110, 110, 109, 105, 135, 131, 132, 119, 109, 135, 156,
+  145, 149, 133, 110, 108, 97, 87, 119, 148, 157, 136, 136, 157, 166, 165, 194,
+  232, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 149, 126,
+  132, 143, 183, 185, 206, 215, 211, 177, 180, 164, 183, 190, 220, 192, 193, 181,
+  171, 196, 176, 177, 141, 180, 217, 162, 161, 163, 129, 144, 150, 139, 171, 168,
+  131, 166, 190, 192, 207, 197, 179, 155, 136, 127, 120, 118, 110, 91, 115, 96,
+  97, 119, 131, 120, 114, 120, 115, 119, 130, 133, 130, 134, 134, 120, 134, 120,
+  121, 120, 116, 112, 109, 125, 134, 125, 126, 143, 158, 156, 137, 120, 144, 188,
+  229, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 225, 166, 124, 133, 166, 183, 187, 224,
+  191, 184, 221, 210, 173, 179, 176, 164, 189, 193, 163, 197, 210, 211, 189, 185,
+  146, 140, 121, 159, 133, 137, 153, 164, 138, 113, 132, 154, 171, 171, 212, 166,
+  145, 179, 178, 155, 150, 139, 115, 98, 108, 115, 102, 82, 108, 120, 99, 73,
+  69, 84, 96, 114, 105, 104, 113, 120, 122, 125, 127, 133, 127, 134, 116, 128,
+  157, 137, 127, 104, 107, 108, 116, 136, 144, 116, 75, 81, 87, 99, 128, 184,
+  229, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 238, 231, 193, 163, 145, 149, 179, 203, 197, 170, 209, 176, 185, 150,
+  165, 179, 160, 156, 175, 191, 207, 203, 195, 211, 192, 146, 132, 123, 161, 126,
+  150, 138, 135, 148, 163, 178, 198, 218, 208, 170, 163, 136, 124, 107, 139, 142,
+  133, 128, 110, 107, 114, 99, 88, 103, 119, 87, 67, 60, 53, 59, 75, 84,
+  81, 95, 108, 113, 110, 111, 120, 129, 127, 123, 116, 110, 105, 101, 97, 94,
+  97, 89, 102, 113, 107, 109, 113, 97, 93, 106, 81, 82, 93, 94, 133, 179,
+  227, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 241, 233,
+  215, 170, 131, 135, 160, 197, 170, 152, 196, 147, 155, 148, 138, 165, 152, 179,
+  185, 183, 183, 212, 156, 182, 144, 166, 139, 115, 91, 107, 155, 132, 147, 161,
+  167, 168, 173, 182, 189, 206, 177, 167, 142, 128, 94, 90, 78, 76, 67, 54,
+  54, 64, 65, 65, 72, 57, 52, 62, 76, 75, 72, 65, 55, 73, 84, 94,
+  100, 101, 100, 102, 104, 111, 107, 102, 97, 94, 90, 86, 83, 73, 84, 97,
+  97, 82, 77, 86, 88, 97, 110, 97, 92, 91, 84, 83, 81, 78, 121, 220,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 236, 160, 203, 203, 170, 189, 188, 142,
+  144, 154, 159, 146, 145, 164, 150, 140, 130, 170, 196, 203, 201, 150, 144, 126,
+  183, 190, 176, 138, 138, 105, 117, 135, 110, 84, 98, 112, 123, 131, 145, 157,
+  148, 130, 112, 114, 118, 105, 100, 73, 73, 82, 60, 52, 50, 52, 57, 71,
+  77, 68, 39, 41, 56, 68, 70, 74, 70, 55, 73, 72, 71, 73, 78, 84,
+  88, 91, 90, 88, 85, 83, 82, 79, 75, 74, 75, 79, 76, 75, 80, 81,
+  79, 82, 89, 106, 122, 114, 109, 106, 96, 106, 66, 39, 55, 142, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 211, 113, 183, 192, 194, 187, 174, 148, 157, 174, 128, 133,
+  155, 177, 136, 134, 112, 99, 138, 140, 156, 143, 124, 157, 157, 174, 169, 135,
+  142, 131, 136, 121, 91, 95, 65, 98, 108, 120, 134, 148, 148, 127, 102, 113,
+  98, 80, 92, 133, 127, 93, 74, 58, 55, 63, 61, 54, 68, 75, 54, 56,
+  53, 52, 48, 47, 63, 73, 64, 64, 64, 64, 67, 73, 79, 84, 87, 80,
+  79, 79, 79, 79, 77, 73, 70, 80, 83, 68, 66, 89, 98, 93, 104, 98,
+  93, 106, 99, 113, 122, 89, 88, 87, 73, 109, 157, 200, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 220, 158,
+  167, 221, 193, 159, 159, 180, 214, 183, 151, 174, 177, 158, 130, 135, 172, 165,
+  121, 151, 150, 150, 140, 143, 156, 182, 147, 154, 146, 92, 77, 88, 84, 116,
+  114, 103, 115, 95, 105, 120, 141, 148, 129, 97, 77, 73, 54, 80, 91, 100,
+  101, 80, 52, 55, 50, 49, 57, 47, 33, 46, 56, 37, 48, 46, 48, 44,
+  41, 55, 63, 56, 52, 59, 68, 75, 78, 79, 78, 77, 76, 75, 75, 75,
+  75, 74, 71, 69, 66, 79, 72, 66, 80, 86, 100, 128, 104, 76, 74, 82,
+  127, 150, 98, 73, 70, 104, 152, 176, 174, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 232, 188, 176, 157, 172, 168,
+  172, 146, 165, 183, 174, 195, 187, 147, 182, 192, 173, 184, 172, 176, 164, 158,
+  148, 133, 160, 147, 153, 94, 105, 112, 111, 107, 113, 144, 128, 86, 94, 91,
+  122, 152, 144, 139, 132, 110, 82, 73, 79, 60, 73, 75, 90, 91, 90, 69,
+  65, 50, 49, 47, 35, 28, 41, 53, 47, 39, 37, 44, 48, 47, 58, 66,
+  61, 65, 64, 62, 61, 63, 70, 78, 83, 73, 72, 70, 69, 69, 67, 64,
+  62, 64, 66, 61, 59, 72, 85, 98, 112, 95, 94, 99, 107, 134, 146, 122,
+  113, 107, 122, 152, 192, 189, 212, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 245, 219, 233, 207, 196, 200, 181, 147, 134, 197,
+  200, 164, 174, 174, 145, 150, 158, 158, 156, 152, 215, 173, 168, 169, 188, 200,
+  145, 134, 129, 133, 109, 101, 140, 90, 108, 154, 147, 138, 113, 157, 132, 110,
+  85, 70, 67, 65, 63, 61, 61, 77, 83, 86, 52, 59, 70, 87, 46, 46,
+  36, 29, 37, 44, 43, 43, 46, 38, 43, 50, 50, 59, 72, 76, 74, 63,
+  50, 46, 53, 67, 79, 86, 70, 67, 63, 61, 59, 57, 54, 53, 66, 51,
+  49, 58, 71, 87, 92, 83, 103, 130, 127, 115, 98, 88, 106, 123, 125, 128,
+  135, 181, 189, 184, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 231, 202, 191, 216, 178, 159, 157, 177, 175, 166, 167, 160, 188, 191,
+  172, 177, 156, 139, 155, 147, 206, 179, 190, 181, 157, 126, 113, 108, 115, 107,
+  123, 139, 101, 101, 142, 146, 175, 136, 120, 121, 103, 87, 93, 87, 71, 63,
+  64, 62, 54, 59, 54, 53, 73, 55, 77, 75, 66, 48, 52, 40, 39, 59,
+  57, 38, 36, 48, 38, 45, 56, 55, 56, 66, 71, 56, 50, 48, 56, 71,
+  79, 76, 70, 70, 66, 60, 56, 54, 52, 49, 47, 48, 42, 57, 68, 61,
+  70, 84, 78, 112, 133, 106, 92, 79, 75, 115, 135, 138, 191, 182, 158, 146,
+  180, 171, 197, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 161,
+  146, 143, 166, 151, 194, 153, 145, 137, 131, 173, 170, 181, 161, 178, 175, 136,
+  115, 136, 148, 183, 181, 172, 138, 137, 136, 149, 104, 120, 89, 90, 86, 126,
+  126, 163, 203, 121, 148, 80, 96, 85, 69, 68, 75, 73, 58, 56, 63, 63,
+  51, 50, 56, 67, 71, 64, 55, 53, 42, 44, 47, 46, 41, 38, 38, 40,
+  49, 44, 42, 44, 44, 44, 47, 52, 50, 49, 48, 49, 53, 58, 64, 68,
+  74, 59, 54, 64, 64, 50, 43, 47, 44, 47, 51, 53, 56, 64, 77, 88,
+  85, 90, 102, 112, 118, 121, 129, 138, 161, 162, 159, 151, 149, 160, 178, 192,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 180, 209, 219, 189, 167, 202,
+  203, 195, 135, 150, 214, 218, 212, 192, 187, 180, 166, 160, 120, 127, 149, 198,
+  197, 214, 165, 170, 176, 152, 166, 129, 117, 111, 117, 118, 120, 139, 105, 93,
+  91, 74, 85, 90, 66, 74, 70, 74, 72, 59, 56, 60, 56, 57, 53, 54,
+  61, 63, 57, 53, 50, 64, 61, 55, 45, 36, 33, 35, 39, 39, 35, 33,
+  35, 36, 35, 38, 42, 42, 41, 40, 40, 42, 47, 52, 55, 67, 55, 48,
+  52, 53, 46, 42, 45, 34, 37, 41, 42, 43, 50, 61, 70, 76, 97, 122,
+  134, 127, 118, 123, 135, 130, 138, 146, 149, 148, 148, 150, 152, 155, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 223, 180, 203, 195, 185, 188, 235, 223, 202, 191, 207,
+  247, 213, 240, 178, 154, 162, 168, 123, 152, 172, 194, 230, 223, 197, 198, 218,
+  190, 149, 126, 140, 126, 111, 124, 115, 121, 107, 118, 137, 146, 117, 100, 71,
+  67, 67, 63, 59, 63, 62, 52, 51, 55, 50, 62, 56, 52, 53, 52, 50,
+  50, 50, 60, 55, 48, 38, 31, 29, 34, 40, 34, 30, 30, 32, 33, 32,
+  34, 39, 40, 38, 36, 36, 37, 41, 44, 47, 55, 48, 41, 37, 39, 41,
+  42, 41, 37, 38, 39, 38, 38, 43, 52, 59, 84, 97, 110, 112, 101, 92,
+  99, 113, 114, 125, 140, 151, 151, 142, 132, 126, 132, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 145, 143, 153, 180, 196, 184, 214, 204, 176, 174, 168, 206, 202, 160, 137,
+  169, 191, 159, 146, 166, 217, 224, 237, 233, 195, 191, 153, 145, 122, 142, 136,
+  104, 73, 87, 129, 130, 130, 108, 84, 124, 146, 101, 131, 105, 82, 40, 52,
+  51, 59, 60, 50, 52, 59, 58, 61, 57, 52, 48, 47, 47, 49, 49, 46,
+  44, 44, 39, 34, 32, 34, 37, 36, 33, 33, 36, 37, 35, 37, 40, 40,
+  39, 37, 36, 36, 38, 41, 43, 44, 45, 40, 32, 34, 42, 43, 38, 44,
+  44, 43, 42, 42, 46, 52, 57, 77, 73, 70, 72, 73, 73, 77, 83, 94,
+  101, 115, 128, 131, 125, 116, 112, 127, 180, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 133, 143,
+  178, 215, 221, 203, 201, 169, 213, 209, 165, 190, 156, 205, 228, 161, 109, 127,
+  162, 218, 236, 244, 202, 199, 177, 112, 123, 121, 132, 112, 127, 132, 113, 98,
+  62, 62, 105, 139, 176, 157, 156, 139, 111, 133, 119, 45, 67, 66, 75, 74,
+  59, 58, 67, 68, 53, 52, 50, 46, 45, 46, 48, 48, 53, 51, 48, 41,
+  34, 29, 30, 32, 34, 31, 32, 36, 36, 33, 33, 36, 32, 31, 29, 28,
+  29, 30, 32, 34, 37, 43, 42, 34, 35, 43, 43, 35, 40, 40, 38, 36,
+  39, 41, 47, 51, 48, 46, 51, 61, 69, 71, 72, 74, 79, 84, 98, 115,
+  124, 122, 121, 123, 139, 129, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 129, 133, 121, 162, 239, 235, 202,
+  216, 184, 206, 198, 232, 240, 255, 225, 166, 159, 166, 162, 156, 142, 190, 183,
+  175, 195, 143, 109, 121, 146, 126, 117, 133, 108, 115, 98, 102, 105, 146, 178,
+  167, 136, 122, 149, 140, 127, 109, 126, 104, 85, 82, 87, 82, 64, 58, 63,
+  62, 46, 50, 50, 46, 44, 46, 47, 45, 53, 48, 42, 33, 26, 25, 31,
+  36, 34, 32, 33, 37, 37, 32, 31, 32, 28, 28, 27, 27, 28, 29, 31,
+  33, 38, 44, 45, 41, 40, 44, 42, 35, 38, 37, 34, 33, 35, 37, 41,
+  43, 45, 48, 54, 56, 55, 56, 68, 81, 70, 76, 94, 116, 127, 127, 129,
+  136, 141, 127, 226, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 202, 135, 139, 137, 168, 205, 184, 179, 228, 156, 224,
+  202, 240, 219, 167, 183, 148, 165, 138, 149, 155, 148, 157, 159, 184, 143, 157,
+  129, 131, 102, 120, 106, 126, 104, 109, 111, 105, 116, 131, 155, 117, 137, 128,
+  144, 124, 148, 102, 95, 80, 81, 72, 72, 69, 56, 53, 53, 45, 43, 48,
+  49, 43, 40, 42, 44, 41, 40, 38, 35, 30, 27, 28, 35, 41, 36, 34,
+  36, 39, 38, 32, 29, 30, 27, 27, 27, 28, 29, 32, 34, 35, 41, 43,
+  44, 43, 41, 40, 38, 36, 40, 38, 35, 33, 33, 34, 37, 38, 52, 50,
+  50, 49, 48, 51, 66, 81, 64, 69, 85, 104, 110, 107, 111, 122, 122, 132,
+  169, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 189, 90, 139, 132, 148, 167, 183, 206, 197, 147, 215, 204, 214, 167, 175,
+  202, 157, 172, 148, 128, 143, 117, 146, 184, 196, 183, 180, 159, 144, 123, 135,
+  110, 110, 116, 147, 115, 122, 121, 163, 157, 196, 163, 141, 125, 116, 133, 65,
+  104, 107, 85, 68, 54, 51, 53, 50, 52, 50, 37, 43, 48, 48, 39, 35,
+  38, 41, 39, 36, 40, 43, 42, 38, 35, 35, 37, 34, 32, 33, 36, 35,
+  28, 24, 25, 23, 23, 24, 26, 28, 31, 33, 35, 45, 43, 43, 43, 40,
+  36, 35, 37, 41, 38, 35, 32, 31, 31, 33, 32, 37, 34, 38, 52, 67,
+  71, 70, 68, 82, 83, 92, 103, 102, 96, 103, 119, 100, 119, 134, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 198, 125, 176,
+  200, 225, 211, 171, 212, 237, 188, 187, 142, 156, 147, 165, 130, 145, 174, 161,
+  140, 108, 107, 154, 179, 150, 135, 159, 132, 130, 141, 127, 134, 119, 130, 129,
+  102, 114, 135, 149, 169, 179, 157, 134, 120, 123, 103, 104, 98, 123, 108, 94,
+  75, 62, 55, 59, 56, 47, 45, 50, 57, 54, 51, 45, 40, 31, 36, 41,
+  36, 39, 37, 31, 32, 38, 40, 37, 27, 34, 43, 46, 37, 23, 18, 20,
+  25, 23, 23, 25, 30, 35, 38, 39, 35, 39, 43, 44, 43, 40, 39, 38,
+  36, 41, 43, 40, 34, 34, 40, 48, 35, 40, 46, 56, 66, 71, 70, 68,
+  69, 65, 67, 75, 84, 90, 97, 105, 102, 101, 119, 126, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 193, 183, 171, 210, 230, 195,
+  170, 191, 191, 172, 168, 186, 189, 172, 167, 177, 160, 142, 122, 141, 153, 167,
+  174, 164, 145, 129, 124, 146, 132, 121, 131, 135, 132, 118, 112, 161, 152, 130,
+  147, 156, 143, 150, 139, 110, 140, 167, 153, 126, 96, 83, 74, 82, 66, 55,
+  57, 55, 49, 48, 53, 53, 47, 40, 40, 40, 37, 37, 38, 35, 37, 36,
+  31, 31, 36, 39, 36, 41, 32, 27, 31, 36, 34, 26, 21, 17, 19, 22,
+  25, 29, 32, 34, 36, 46, 47, 49, 47, 44, 40, 38, 38, 37, 38, 38,
+  36, 35, 36, 38, 40, 35, 37, 42, 49, 56, 59, 58, 56, 54, 51, 54,
+  63, 72, 80, 90, 98, 96, 97, 117, 126, 177, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 237, 178, 201, 200, 201, 195, 200, 158, 167, 196, 205,
+  230, 225, 159, 143, 173, 155, 142, 123, 135, 128, 121, 117, 107, 89, 87, 114,
+  134, 128, 107, 114, 109, 128, 108, 116, 114, 134, 160, 174, 201, 165, 155, 178,
+  157, 156, 194, 136, 122, 129, 149, 104, 96, 99, 79, 61, 48, 48, 48, 46,
+  46, 50, 52, 41, 33, 37, 42, 41, 36, 33, 34, 35, 33, 30, 30, 35,
+  37, 36, 42, 41, 40, 37, 28, 19, 20, 26, 21, 26, 30, 32, 31, 31,
+  32, 35, 42, 42, 42, 39, 34, 31, 30, 30, 35, 33, 31, 32, 35, 37,
+  35, 33, 33, 35, 38, 43, 47, 47, 45, 43, 48, 46, 48, 55, 64, 71,
+  82, 92, 93, 91, 107, 112, 122, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 185, 130, 110, 116, 154, 211, 217, 209, 187, 197, 207, 200, 186, 147, 157,
+  159, 150, 123, 161, 140, 99, 134, 159, 147, 151, 159, 152, 149, 149, 141, 126,
+  133, 118, 102, 84, 119, 165, 209, 199, 160, 103, 132, 151, 124, 131, 108, 108,
+  129, 142, 122, 131, 126, 102, 51, 69, 54, 42, 42, 45, 46, 46, 47, 51,
+  42, 35, 38, 42, 39, 34, 30, 34, 34, 32, 30, 31, 33, 36, 36, 32,
+  39, 47, 45, 32, 19, 20, 28, 33, 36, 39, 36, 30, 26, 29, 32, 41,
+  41, 40, 37, 34, 33, 34, 36, 28, 27, 28, 30, 33, 35, 33, 32, 32,
+  34, 36, 39, 41, 40, 38, 36, 48, 45, 46, 51, 56, 62, 72, 82, 92,
+  86, 94, 91, 98, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 169, 169,
+  165, 190, 197, 152, 200, 190, 202, 194, 193, 205, 178, 148, 163, 145, 165, 175,
+  153, 158, 131, 134, 110, 139, 196, 238, 224, 175, 140, 127, 110, 124, 137, 128,
+  152, 166, 169, 142, 121, 129, 164, 131, 127, 150, 113, 102, 121, 103, 87, 95,
+  71, 53, 53, 80, 59, 49, 43, 45, 49, 51, 49, 48, 46, 42, 39, 41,
+  40, 36, 35, 38, 37, 35, 33, 32, 32, 33, 35, 37, 33, 26, 26, 35,
+  44, 44, 38, 33, 36, 38, 36, 30, 23, 21, 25, 30, 29, 29, 28, 25,
+  22, 22, 24, 26, 21, 24, 28, 29, 30, 30, 32, 34, 32, 34, 36, 38,
+  38, 38, 37, 36, 42, 40, 41, 45, 48, 52, 62, 71, 83, 79, 88, 83,
+  87, 101, 255, 255, 255, 255, 255, 255, 255, 255, 45, 101, 130, 129, 89, 132,
+  167, 184, 185, 212, 190, 175, 191, 173, 171, 129, 166, 162, 163, 156, 158, 138,
+  186, 209, 203, 177, 152, 142, 133, 131, 146, 121, 119, 123, 105, 142, 152, 148,
+  104, 107, 88, 58, 94, 110, 91, 119, 124, 112, 102, 69, 67, 54, 71, 47,
+  33, 46, 43, 42, 44, 46, 47, 45, 43, 38, 39, 40, 42, 39, 36, 41,
+  49, 42, 38, 35, 35, 35, 33, 34, 38, 38, 30, 26, 33, 41, 44, 44,
+  45, 37, 36, 33, 27, 23, 24, 29, 34, 22, 22, 20, 18, 15, 13, 15,
+  17, 23, 25, 28, 29, 27, 28, 31, 34, 31, 34, 37, 38, 37, 36, 36,
+  37, 37, 37, 41, 46, 48, 50, 59, 69, 69, 70, 88, 87, 89, 98, 149,
+  255, 255, 255, 255, 255, 255, 204, 97, 129, 108, 103, 86, 143, 184, 160, 174,
+  193, 195, 187, 176, 164, 163, 184, 163, 151, 158, 147, 163, 181, 157, 154, 163,
+  139, 132, 160, 152, 122, 123, 122, 129, 136, 134, 138, 129, 111, 85, 66, 77,
+  102, 82, 68, 78, 73, 87, 91, 72, 65, 77, 66, 42, 35, 51, 39, 41,
+  42, 41, 39, 39, 39, 39, 38, 38, 39, 40, 38, 36, 43, 52, 47, 41,
+  38, 39, 37, 33, 34, 39, 41, 39, 39, 41, 40, 37, 39, 44, 36, 33,
+  30, 27, 25, 26, 28, 30, 30, 31, 32, 31, 29, 29, 30, 32, 32, 30,
+  27, 26, 28, 29, 28, 28, 30, 33, 36, 36, 34, 33, 34, 35, 37, 38,
+  43, 47, 47, 47, 54, 63, 63, 65, 82, 79, 79, 87, 86, 255, 255, 255,
+  255, 255, 255, 67, 101, 158, 154, 167, 169, 190, 200, 251, 234, 181, 176, 173,
+  153, 170, 178, 155, 161, 159, 151, 155, 143, 178, 154, 142, 153, 125, 118, 147,
+  128, 107, 141, 156, 148, 129, 137, 112, 103, 79, 79, 87, 74, 62, 73, 77,
+  70, 74, 78, 48, 63, 72, 38, 44, 44, 45, 17, 42, 46, 47, 43, 38,
+  38, 40, 41, 42, 40, 37, 38, 36, 35, 40, 47, 51, 44, 40, 41, 39,
+  34, 34, 40, 45, 32, 27, 40, 57, 58, 43, 30, 32, 29, 25, 23, 22,
+  21, 19, 17, 18, 20, 23, 25, 26, 27, 30, 32, 42, 34, 26, 25, 29,
+  30, 27, 22, 30, 33, 35, 34, 31, 30, 31, 32, 35, 37, 41, 43, 41,
+  37, 43, 50, 66, 63, 73, 63, 60, 70, 75, 255, 255, 255, 255, 255, 79,
+  90, 104, 79, 162, 144, 118, 176, 184, 185, 182, 167, 157, 152, 161, 165, 167,
+  154, 150, 158, 149, 152, 162, 147, 142, 125, 143, 110, 149, 131, 153, 152, 153,
+  105, 110, 114, 129, 106, 105, 88, 76, 78, 70, 64, 65, 72, 78, 78, 76,
+  80, 69, 60, 56, 44, 30, 29, 38, 39, 41, 45, 49, 48, 44, 37, 31,
+  33, 36, 37, 37, 34, 29, 26, 25, 33, 34, 34, 34, 35, 37, 35, 32,
+  39, 35, 35, 40, 42, 37, 32, 30, 16, 17, 19, 21, 22, 22, 21, 21,
+  18, 20, 22, 24, 26, 29, 33, 35, 39, 39, 38, 33, 28, 27, 29, 32,
+  41, 34, 32, 37, 38, 33, 29, 30, 36, 27, 27, 38, 40, 36, 48, 67,
+  58, 53, 48, 47, 53, 64, 74, 138, 255, 255, 255, 255, 166, 173, 130, 144,
+  142, 112, 165, 171, 173, 145, 162, 177, 180, 173, 161, 145, 134, 157, 150, 154,
+  141, 139, 141, 120, 112, 101, 130, 129, 169, 155, 149, 127, 109, 109, 105, 99,
+  110, 90, 96, 82, 71, 39, 45, 57, 67, 75, 78, 79, 78, 71, 58, 52,
+  50, 44, 35, 37, 48, 46, 46, 48, 50, 48, 44, 38, 33, 42, 42, 41,
+  40, 37, 33, 30, 28, 28, 28, 27, 25, 25, 25, 24, 22, 34, 30, 31,
+  37, 39, 36, 32, 32, 27, 26, 25, 24, 23, 21, 19, 18, 19, 24, 29,
+  30, 29, 31, 38, 44, 40, 39, 35, 30, 26, 26, 30, 34, 26, 23, 26,
+  34, 38, 35, 33, 35, 41, 37, 39, 45, 45, 42, 50, 63, 70, 64, 57,
+  53, 54, 59, 65, 68, 255, 255, 255, 255, 77, 70, 139, 90, 147, 195, 156,
+  162, 174, 158, 170, 179, 171, 165, 158, 160, 158, 147, 143, 151, 143, 141, 142,
+  123, 118, 113, 133, 142, 159, 152, 131, 117, 98, 114, 108, 99, 111, 96, 105,
+  92, 80, 55, 53, 56, 64, 73, 75, 70, 65, 59, 48, 41, 39, 38, 35,
+  39, 48, 48, 48, 49, 50, 49, 48, 44, 40, 44, 43, 40, 40, 40, 38,
+  34, 32, 32, 30, 28, 26, 24, 22, 22, 23, 30, 27, 28, 33, 36, 33,
+  31, 32, 28, 26, 23, 20, 17, 16, 15, 15, 24, 31, 37, 35, 29, 28,
+  35, 42, 37, 35, 32, 27, 25, 27, 31, 36, 28, 28, 32, 36, 34, 29,
+  26, 28, 43, 46, 49, 49, 48, 49, 55, 59, 65, 63, 59, 56, 57, 60,
+  64, 67, 255, 255, 255, 255, 77, 92, 129, 125, 103, 90, 125, 160, 145, 182,
+  188, 195, 180, 178, 164, 164, 157, 150, 148, 158, 146, 134, 128, 108, 107, 139,
+  140, 145, 133, 134, 115, 120, 114, 118, 117, 114, 126, 105, 107, 89, 75, 74,
+  78, 85, 80, 72, 62, 57, 55, 60, 50, 41, 39, 39, 36, 41, 46, 46,
+  46, 46, 48, 49, 50, 50, 49, 35, 36, 35, 39, 41, 40, 36, 33, 36,
+  33, 32, 31, 30, 29, 31, 35, 32, 29, 30, 33, 34, 30, 28, 30, 23,
+  21, 18, 16, 15, 16, 18, 20, 33, 36, 36, 32, 25, 21, 24, 27, 31,
+  30, 29, 29, 29, 31, 34, 36, 35, 36, 37, 35, 29, 24, 24, 26, 41,
+  49, 51, 45, 43, 50, 55, 53, 53, 54, 55, 56, 58, 60, 63, 65, 125,
+  255, 255, 188, 81, 74, 65, 112, 158, 135, 120, 163, 170, 176, 161, 152, 129,
+  149, 157, 183, 185, 148, 149, 164, 155, 143, 137, 125, 133, 132, 127, 142, 122,
+  129, 110, 114, 109, 118, 121, 119, 125, 93, 87, 68, 59, 56, 78, 100, 95,
+  73, 55, 57, 64, 70, 60, 50, 47, 48, 48, 50, 50, 47, 45, 44, 46,
+  46, 48, 48, 48, 31, 34, 37, 41, 43, 39, 34, 29, 33, 30, 30, 34,
+  33, 32, 36, 44, 38, 36, 36, 38, 34, 28, 25, 26, 23, 21, 19, 17,
+  18, 21, 25, 27, 38, 34, 30, 27, 24, 22, 19, 17, 25, 27, 30, 33,
+  36, 37, 36, 35, 29, 30, 30, 26, 24, 26, 32, 37, 40, 48, 47, 36,
+  32, 39, 45, 42, 47, 50, 53, 54, 54, 54, 55, 56, 62, 255, 255, 93,
+  80, 82, 87, 136, 115, 131, 161, 156, 173, 157, 155, 179, 179, 215, 202, 200,
+  173, 136, 135, 152, 150, 148, 150, 145, 157, 119, 110, 126, 106, 115, 104, 103,
+  102, 115, 116, 112, 114, 82, 82, 73, 72, 70, 68, 66, 66, 68, 68, 68,
+  68, 69, 57, 49, 48, 54, 57, 56, 54, 51, 49, 46, 45, 43, 43, 41,
+  40, 37, 41, 44, 45, 41, 35, 29, 26, 32, 29, 32, 38, 37, 33, 38,
+  48, 40, 39, 41, 42, 37, 29, 25, 26, 22, 20, 18, 16, 17, 19, 22,
+  24, 34, 29, 25, 25, 28, 30, 27, 23, 27, 29, 33, 38, 42, 41, 36,
+  32, 28, 28, 24, 18, 17, 24, 31, 34, 41, 45, 42, 31, 24, 28, 33,
+  31, 35, 41, 48, 51, 53, 53, 56, 59, 67, 255, 255, 76, 85, 96, 84,
+  95, 153, 144, 120, 199, 163, 177, 160, 167, 146, 178, 161, 164, 139, 148, 132,
+  134, 128, 126, 125, 111, 116, 125, 106, 111, 89, 94, 100, 98, 107, 109, 107,
+  101, 105, 81, 88, 85, 87, 90, 71, 55, 56, 73, 83, 76, 63, 59, 52,
+  45, 45, 54, 61, 59, 52, 53, 50, 47, 45, 42, 40, 38, 35, 41, 46,
+  48, 45, 36, 29, 28, 29, 36, 32, 35, 41, 38, 30, 33, 44, 34, 36,
+  41, 45, 41, 33, 29, 30, 18, 17, 15, 14, 15, 17, 19, 21, 26, 25,
+  25, 27, 31, 34, 35, 35, 36, 36, 38, 41, 43, 41, 35, 30, 37, 35,
+  27, 17, 15, 21, 23, 20, 35, 37, 37, 32, 26, 25, 29, 31, 31, 38,
+  47, 52, 54, 55, 59, 62, 63, 120, 255, 100, 85, 96, 114, 153, 121, 157,
+  166, 147, 181, 154, 138, 147, 127, 168, 161, 179, 162, 160, 135, 128, 124, 129,
+  132, 114, 114, 130, 109, 108, 89, 90, 104, 96, 109, 106, 101, 92, 98, 75,
+  82, 74, 70, 61, 74, 90, 95, 92, 81, 73, 67, 58, 49, 43, 46, 56,
+  63, 60, 52, 52, 49, 47, 45, 45, 44, 41, 37, 41, 45, 48, 40, 30,
+  25, 29, 35, 35, 32, 35, 40, 34, 23, 24, 34, 27, 31, 39, 45, 43,
+  36, 35, 35, 18, 18, 18, 19, 21, 22, 25, 26, 21, 23, 27, 29, 30,
+  32, 37, 41, 45, 43, 44, 42, 42, 39, 34, 29, 38, 36, 28, 19, 19,
+  25, 24, 18, 27, 29, 33, 35, 32, 30, 32, 36, 42, 49, 55, 56, 53,
+  50, 52, 54, 54, 55, 255, 92, 105, 120, 152, 175, 196, 187, 161, 160, 158,
+  150, 157, 183, 174, 170, 177, 159, 162, 149, 154, 136, 129, 138, 117, 99, 119,
+  109, 108, 97, 93, 102, 106, 109, 118, 97, 92, 88, 86, 79, 68, 62, 62,
+  57, 59, 77, 81, 66, 68, 73, 53, 54, 51, 55, 62, 58, 49, 50, 63,
+  58, 63, 63, 57, 50, 45, 40, 34, 41, 44, 46, 42, 37, 35, 29, 25,
+  35, 33, 37, 44, 42, 32, 27, 27, 35, 36, 44, 51, 51, 44, 39, 37,
+  29, 28, 27, 29, 32, 30, 25, 21, 27, 27, 25, 25, 26, 28, 30, 32,
+  37, 33, 35, 41, 44, 41, 37, 35, 33, 29, 37, 41, 27, 20, 26, 31,
+  36, 39, 40, 40, 39, 43, 49, 53, 57, 58, 58, 56, 54, 54, 55, 55,
+  45, 56, 255, 80, 98, 129, 142, 158, 196, 204, 178, 155, 131, 182, 169, 171,
+  158, 163, 175, 154, 149, 148, 153, 137, 126, 134, 129, 118, 122, 114, 117, 109,
+  101, 102, 97, 92, 98, 95, 89, 82, 78, 71, 62, 58, 59, 67, 69, 82,
+  81, 63, 60, 63, 50, 44, 50, 54, 53, 51, 51, 54, 58, 54, 58, 57,
+  52, 48, 48, 45, 40, 40, 45, 45, 41, 37, 37, 33, 30, 32, 30, 31,
+  36, 34, 27, 24, 26, 32, 36, 44, 53, 57, 52, 48, 48, 34, 34, 34,
+  35, 35, 33, 29, 24, 28, 27, 27, 26, 27, 29, 31, 33, 41, 40, 41,
+  47, 48, 45, 42, 43, 46, 37, 41, 44, 35, 30, 31, 29, 34, 39, 44,
+  46, 49, 50, 52, 54, 51, 52, 53, 51, 50, 49, 51, 51, 48, 54, 255,
+  81, 105, 119, 134, 148, 175, 168, 139, 140, 142, 162, 182, 202, 174, 140, 135,
+  147, 177, 150, 151, 138, 120, 118, 123, 117, 105, 102, 110, 107, 104, 105, 96,
+  86, 88, 94, 87, 80, 76, 71, 64, 63, 66, 80, 81, 88, 81, 63, 59,
+  61, 54, 45, 56, 60, 50, 47, 55, 57, 51, 61, 62, 59, 55, 55, 59,
+  56, 50, 45, 50, 48, 43, 39, 39, 36, 33, 38, 35, 35, 37, 36, 32,
+  33, 34, 38, 41, 46, 54, 56, 50, 45, 44, 40, 42, 43, 41, 39, 36,
+  35, 34, 30, 28, 28, 29, 30, 32, 34, 35, 41, 41, 43, 47, 47, 43,
+  43, 47, 52, 37, 37, 43, 40, 39, 35, 27, 38, 43, 49, 53, 55, 52,
+  50, 50, 47, 49, 50, 49, 48, 47, 48, 49, 55, 55, 120, 196, 95, 128,
+  150, 164, 177, 149, 120, 149, 183, 158, 163, 167, 160, 152, 151, 151, 157, 161,
+  154, 148, 136, 124, 125, 123, 110, 94, 100, 99, 100, 106, 99, 86, 85, 88,
+  82, 78, 77, 75, 70, 70, 73, 87, 85, 84, 78, 69, 66, 67, 64, 60,
+  66, 67, 58, 53, 53, 53, 48, 70, 69, 65, 63, 66, 66, 61, 52, 53,
+  57, 56, 51, 45, 43, 38, 33, 40, 40, 42, 43, 42, 40, 38, 39, 36,
+  36, 43, 48, 48, 42, 38, 37, 46, 48, 51, 48, 43, 38, 41, 40, 32,
+  31, 32, 33, 34, 33, 37, 37, 36, 36, 39, 42, 39, 36, 39, 44, 47,
+  37, 36, 42, 42, 44, 42, 32, 44, 47, 51, 52, 52, 48, 43, 40, 47,
+  49, 50, 50, 50, 49, 50, 50, 57, 52, 48, 255, 74, 117, 126, 131, 147,
+  138, 117, 136, 154, 157, 145, 131, 139, 155, 158, 148, 132, 149, 139, 141, 143,
+  131, 121, 121, 121, 107, 107, 99, 98, 106, 100, 83, 78, 80, 77, 76, 78,
+  76, 71, 69, 71, 91, 87, 78, 73, 75, 70, 68, 68, 75, 70, 68, 68,
+  62, 51, 50, 54, 65, 66, 65, 63, 66, 65, 57, 45, 53, 59, 60, 57,
+  52, 49, 45, 40, 38, 40, 43, 44, 42, 40, 36, 35, 28, 28, 33, 41,
+  44, 43, 43, 45, 56, 57, 58, 53, 46, 40, 40, 40, 36, 35, 36, 37,
+  37, 37, 38, 38, 36, 38, 41, 43, 40, 34, 37, 43, 46, 42, 47, 49,
+  42, 44, 46, 38, 43, 44, 44, 43, 44, 41, 38, 36, 45, 48, 50, 51,
+  51, 50, 51, 51, 52, 46, 43, 255, 89, 129, 133, 127, 139, 140, 133, 152,
+  161, 147, 157, 150, 148, 135, 123, 141, 150, 143, 135, 133, 137, 131, 115, 108,
+  115, 114, 112, 100, 97, 105, 100, 87, 83, 81, 79, 79, 82, 80, 75, 73,
+  74, 87, 85, 74, 69, 74, 69, 63, 68, 77, 68, 67, 74, 71, 59, 57,
+  65, 61, 64, 66, 66, 67, 65, 57, 45, 46, 52, 57, 55, 54, 53, 53,
+  49, 41, 48, 50, 48, 47, 46, 41, 36, 37, 35, 36, 42, 47, 47, 50,
+  54, 68, 67, 64, 56, 49, 43, 40, 38, 43, 43, 44, 43, 43, 43, 42,
+  42, 46, 44, 46, 48, 47, 42, 42, 44, 45, 44, 50, 47, 36, 35, 38,
+  33, 36, 35, 33, 34, 37, 38, 37, 36, 41, 44, 47, 49, 49, 49, 49,
+  49, 55, 48, 44, 255, 112, 114, 131, 130, 133, 129, 129, 154, 162, 163, 160,
+  137, 142, 139, 128, 141, 138, 145, 145, 130, 124, 133, 122, 105, 107, 105, 108,
+  101, 95, 99, 94, 87, 91, 79, 77, 77, 81, 82, 81, 82, 88, 79, 86,
+  78, 73, 76, 66, 61, 76, 77, 75, 75, 77, 77, 75, 71, 74, 70, 74,
+  75, 70, 66, 63, 57, 48, 42, 47, 50, 47, 48, 51, 55, 55, 55, 59,
+  59, 54, 52, 53, 50, 44, 51, 47, 45, 48, 51, 52, 57, 63, 70, 67,
+  63, 60, 57, 54, 51, 48, 52, 51, 51, 52, 51, 48, 46, 45, 52, 48,
+  48, 52, 52, 46, 42, 42, 42, 40, 45, 41, 30, 31, 34, 24, 31, 30,
+  29, 31, 36, 37, 36, 34, 39, 42, 46, 48, 49, 48, 49, 48, 59, 51,
+  47, 255, 139, 110, 137, 146, 159, 164, 160, 166, 154, 157, 151, 126, 138, 144,
+  132, 140, 127, 118, 127, 103, 89, 115, 118, 95, 91, 101, 109, 104, 94, 90,
+  81, 77, 86, 69, 66, 67, 73, 78, 81, 87, 96, 71, 87, 84, 78, 80,
+  66, 65, 89, 79, 86, 86, 79, 80, 88, 85, 76, 80, 82, 80, 71, 63,
+  57, 52, 46, 45, 46, 45, 40, 40, 47, 53, 54, 63, 67, 64, 56, 55,
+  57, 56, 51, 52, 48, 47, 52, 58, 63, 72, 80, 67, 64, 61, 61, 64,
+  66, 65, 60, 58, 59, 59, 58, 57, 54, 52, 49, 52, 46, 46, 50, 51,
+  46, 40, 36, 41, 40, 44, 39, 32, 37, 38, 27, 32, 31, 30, 32, 37,
+  36, 32, 29, 40, 43, 47, 50, 51, 50, 50, 50, 57, 48, 44, 255, 222,
+  108, 158, 160, 155, 154, 173, 154, 152, 154, 161, 136, 134, 126, 113, 128, 117,
+  105, 99, 107, 122, 118, 101, 100, 114, 113, 97, 85, 83, 81, 76, 76, 82,
+  72, 75, 76, 75, 72, 73, 78, 86, 81, 88, 89, 84, 86, 89, 92, 89,
+  90, 88, 82, 77, 80, 89, 94, 94, 98, 93, 85, 74, 65, 56, 50, 45,
+  51, 45, 42, 43, 50, 55, 58, 60, 59, 67, 70, 66, 66, 67, 65, 60,
+  64, 66, 57, 68, 61, 78, 84, 100, 77, 78, 84, 89, 80, 66, 69, 81,
+  85, 81, 75, 68, 63, 57, 54, 52, 55, 58, 57, 51, 45, 44, 45, 43,
+  40, 44, 48, 45, 37, 32, 34, 35, 33, 32, 33, 36, 41, 43, 43, 42,
+  36, 37, 44, 50, 49, 44, 46, 53, 52, 47, 42, 255, 255, 111, 147, 169,
+  201, 188, 162, 132, 152, 161, 159, 142, 138, 132, 120, 114, 100, 105, 85, 74,
+  83, 98, 103, 103, 104, 101, 83, 73, 82, 93, 90, 78, 70, 83, 80, 77,
+  78, 81, 85, 87, 89, 83, 90, 90, 87, 86, 89, 91, 88, 93, 94, 87,
+  78, 77, 83, 89, 90, 101, 94, 83, 77, 73, 67, 56, 49, 49, 47, 46,
+  49, 53, 59, 62, 63, 68, 72, 71, 67, 67, 70, 68, 63, 72, 79, 75,
+  85, 73, 81, 77, 87, 98, 91, 91, 98, 100, 91, 85, 85, 83, 81, 79,
+  76, 73, 69, 65, 61, 54, 58, 58, 50, 45, 44, 43, 39, 47, 50, 53,
+  49, 43, 38, 38, 39, 37, 36, 36, 38, 43, 43, 42, 41, 41, 40, 42,
+  44, 44, 44, 52, 62, 66, 52, 46, 255, 255, 142, 141, 147, 193, 194, 166,
+  130, 143, 158, 141, 135, 127, 127, 123, 100, 90, 85, 87, 92, 101, 106, 106,
+  105, 105, 93, 78, 71, 83, 94, 90, 78, 71, 85, 78, 73, 76, 85, 91,
+  89, 86, 98, 104, 105, 102, 100, 102, 104, 103, 106, 107, 101, 89, 83, 86,
+  91, 94, 83, 78, 75, 80, 88, 92, 85, 78, 63, 63, 62, 64, 66, 70,
+  73, 75, 76, 76, 71, 66, 69, 73, 75, 73, 92, 103, 101, 108, 90, 93,
+  85, 91, 93, 99, 108, 109, 97, 82, 85, 98, 96, 96, 97, 98, 96, 88,
+  80, 74, 58, 60, 61, 54, 50, 48, 46, 40, 52, 51, 51, 49, 46, 43,
+  40, 37, 41, 40, 40, 41, 44, 44, 42, 40, 44, 43, 44, 46, 47, 49,
+  56, 64, 61, 43, 39, 255, 255, 218, 144, 137, 163, 168, 171, 144, 134, 138,
+  115, 121, 111, 114, 120, 94, 95, 66, 77, 96, 108, 101, 85, 82, 89, 88,
+  80, 76, 77, 74, 68, 70, 79, 79, 75, 73, 79, 87, 91, 88, 85, 110,
+  116, 119, 121, 119, 119, 120, 122, 121, 127, 125, 116, 110, 110, 114, 116, 113,
+  110, 105, 106, 105, 102, 94, 87, 81, 79, 74, 70, 67, 68, 70, 72, 78,
+  77, 75, 70, 69, 75, 85, 91, 112, 125, 120, 122, 101, 106, 102, 107, 94,
+  101, 110, 105, 88, 75, 81, 94, 87, 87, 95, 99, 102, 97, 89, 79, 68,
+  68, 65, 59, 54, 53, 51, 48, 54, 51, 50, 49, 49, 48, 43, 39, 43,
+  40, 40, 41, 45, 45, 44, 42, 44, 47, 52, 56, 57, 55, 57, 58, 54,
+  44, 43, 255, 255, 255, 147, 161, 174, 158, 166, 150, 138, 119, 104, 118, 113,
+  112, 113, 88, 94, 86, 72, 71, 82, 82, 70, 72, 86, 85, 77, 71, 69,
+  63, 57, 63, 75, 72, 76, 81, 86, 90, 91, 90, 90, 108, 115, 122, 126,
+  125, 124, 127, 133, 132, 142, 146, 141, 137, 136, 137, 139, 142, 143, 141, 137,
+  129, 122, 116, 114, 112, 105, 94, 85, 78, 75, 74, 74, 71, 73, 75, 72,
+  70, 76, 93, 108, 116, 129, 125, 126, 106, 114, 108, 109, 119, 107, 100, 98,
+  100, 97, 88, 81, 82, 84, 93, 104, 113, 113, 109, 100, 78, 76, 69, 60,
+  57, 58, 57, 54, 56, 51, 49, 50, 53, 53, 48, 42, 39, 37, 37, 40,
+  45, 47, 47, 45, 51, 55, 58, 58, 58, 58, 57, 55, 58, 62, 61, 255,
+  255, 255, 152, 164, 184, 165, 168, 154, 142, 112, 108, 122, 125, 117, 102, 82,
+  83, 92, 83, 79, 80, 73, 65, 77, 98, 88, 75, 68, 74, 77, 73, 69,
+  70, 67, 75, 83, 87, 86, 86, 90, 96, 107, 114, 124, 130, 130, 129, 134,
+  141, 140, 148, 154, 153, 151, 153, 153, 152, 145, 149, 153, 150, 144, 140, 140,
+  141, 132, 120, 106, 94, 89, 85, 81, 79, 70, 71, 74, 75, 77, 84, 102,
+  120, 117, 132, 132, 136, 119, 125, 111, 107, 121, 116, 111, 110, 109, 105, 97,
+  88, 98, 97, 100, 108, 116, 116, 111, 102, 84, 81, 72, 64, 61, 62, 61,
+  56, 50, 48, 45, 46, 48, 47, 43, 38, 37, 35, 36, 40, 47, 49, 50,
+  49, 60, 60, 57, 51, 51, 56, 59, 57, 49, 61, 64, 255, 255, 255, 161,
+  155, 172, 157, 167, 150, 127, 108, 109, 107, 117, 109, 86, 80, 76, 73, 87,
+  92, 78, 64, 65, 75, 84, 90, 80, 76, 82, 85, 79, 74, 76, 71, 76,
+  81, 82, 82, 86, 93, 103, 114, 122, 132, 141, 142, 139, 146, 155, 151, 155,
+  159, 157, 157, 161, 160, 157, 167, 167, 163, 157, 150, 141, 137, 135, 133, 121,
+  109, 103, 103, 99, 92, 85, 81, 77, 78, 85, 94, 102, 116, 131, 128, 140,
+  136, 140, 127, 139, 125, 118, 108, 120, 130, 127, 115, 104, 101, 103, 106, 99,
+  96, 97, 101, 102, 97, 88, 87, 85, 81, 74, 72, 69, 64, 57, 51, 50,
+  49, 49, 46, 43, 40, 36, 38, 36, 38, 42, 49, 52, 52, 51, 57, 58,
+  54, 47, 49, 55, 57, 54, 40, 48, 56, 255, 255, 255, 166, 168, 169, 139,
+  151, 136, 106, 107, 105, 87, 99, 97, 74, 85, 80, 98, 106, 92, 67, 70,
+  94, 92, 68, 84, 83, 84, 83, 73, 63, 70, 84, 85, 86, 85, 85, 87,
+  94, 104, 114, 122, 129, 140, 149, 148, 146, 151, 161, 162, 162, 162, 158, 159,
+  163, 164, 160, 165, 163, 160, 159, 157, 157, 154, 151, 158, 149, 138, 139, 143,
+  142, 133, 123, 95, 86, 84, 95, 111, 121, 129, 138, 135, 143, 131, 134, 126,
+  145, 138, 133, 114, 119, 128, 132, 131, 124, 111, 99, 114, 108, 104, 104, 112,
+  115, 114, 109, 93, 91, 89, 84, 82, 78, 70, 58, 62, 61, 60, 58, 52,
+  48, 44, 41, 41, 41, 42, 46, 50, 53, 54, 53, 46, 51, 53, 50, 52,
+  56, 54, 46, 52, 50, 59, 255, 255, 255, 151, 155, 131, 130, 143, 134, 116,
+  132, 95, 76, 80, 88, 92, 93, 87, 96, 80, 67, 68, 71, 69, 65, 66,
+  79, 80, 83, 83, 75, 67, 70, 76, 83, 86, 90, 91, 95, 101, 112, 122,
+  136, 140, 143, 148, 153, 158, 162, 164, 162, 160, 159, 160, 163, 162, 160, 156,
+  162, 158, 154, 153, 155, 157, 156, 153, 149, 154, 151, 141, 139, 147, 152, 149,
+  148, 138, 128, 124, 129, 136, 141, 144, 155, 155, 151, 145, 137, 132, 132, 135,
+  138, 124, 118, 125, 133, 126, 110, 97, 101, 102, 133, 133, 114, 105, 99, 106,
+  100, 97, 93, 87, 88, 87, 81, 73, 73, 68, 60, 56, 52, 52, 52, 52,
+  42, 48, 55, 57, 55, 52, 53, 54, 52, 45, 43, 45, 43, 39, 46, 57,
+  55, 46, 50, 255, 255, 255, 215, 129, 126, 135, 134, 131, 135, 104, 96, 110,
+  133, 136, 126, 111, 96, 79, 66, 57, 58, 62, 66, 72, 78, 77, 77, 75,
+  72, 66, 64, 72, 82, 78, 84, 92, 97, 104, 114, 127, 138, 150, 152, 154,
+  155, 156, 157, 157, 157, 167, 165, 162, 160, 158, 154, 151, 148, 155, 153, 151,
+  153, 157, 160, 161, 161, 161, 164, 162, 156, 153, 154, 155, 154, 157, 149, 140,
+  135, 138, 141, 141, 139, 162, 160, 155, 149, 145, 142, 143, 144, 139, 133, 130,
+  132, 131, 121, 108, 102, 110, 90, 100, 111, 126, 139, 117, 98, 114, 117, 114,
+  103, 95, 86, 79, 70, 72, 66, 60, 57, 55, 56, 56, 56, 54, 55, 57,
+  60, 61, 59, 57, 54, 57, 55, 55, 57, 56, 53, 55, 58, 60, 52, 122,
+  255, 255, 255, 255, 159, 140, 130, 131, 130, 129, 135, 107, 86, 72, 59, 67,
+  91, 107, 77, 78, 83, 91, 92, 84, 75, 70, 75, 71, 69, 67, 64, 63,
+  72, 81, 73, 79, 89, 98, 110, 122, 136, 148, 158, 160, 162, 162, 162, 160,
+  157, 156, 163, 164, 164, 163, 162, 162, 163, 165, 160, 159, 160, 162, 166, 169,
+  170, 170, 169, 168, 167, 167, 163, 157, 155, 158, 156, 151, 147, 146, 148, 149,
+  150, 148, 153, 149, 143, 140, 140, 141, 142, 143, 138, 141, 143, 142, 131, 119,
+  113, 117, 113, 103, 114, 114, 121, 140, 126, 111, 121, 128, 128, 116, 103, 90,
+  82, 74, 71, 66, 61, 59, 57, 57, 56, 55, 56, 52, 50, 52, 55, 56,
+  52, 47, 53, 57, 59, 59, 60, 61, 57, 50, 58, 52, 255, 255, 255, 255,
+  255, 162, 134, 115, 114, 111, 107, 114, 105, 105, 103, 89, 85, 94, 98, 103,
+  91, 78, 71, 69, 72, 75, 77, 72, 69, 70, 70, 69, 65, 67, 72, 72,
+  78, 89, 99, 112, 123, 136, 145, 156, 160, 163, 166, 168, 167, 165, 163, 160,
+  163, 166, 166, 166, 168, 174, 179, 168, 168, 169, 170, 171, 171, 170, 170, 174,
+  168, 168, 173, 170, 161, 161, 168, 158, 155, 153, 153, 155, 156, 156, 155, 158,
+  152, 147, 146, 151, 156, 158, 158, 139, 144, 150, 149, 138, 128, 127, 135, 119,
+  126, 146, 130, 117, 132, 132, 132, 121, 127, 127, 120, 109, 102, 92, 85, 75,
+  70, 66, 61, 57, 55, 51, 49, 49, 47, 45, 45, 47, 48, 47, 45, 49,
+  56, 57, 54, 56, 61, 54, 41, 51, 49, 255, 255, 255, 255, 255, 210, 123,
+  124, 111, 103, 114, 117, 102, 96, 89, 78, 80, 90, 92, 103, 91, 75, 67,
+  70, 77, 81, 80, 76, 70, 65, 65, 65, 61, 61, 64, 73, 79, 91, 102,
+  114, 125, 135, 143, 154, 158, 163, 168, 171, 172, 172, 171, 170, 171, 171, 168,
+  164, 163, 166, 170, 171, 171, 172, 172, 171, 170, 170, 169, 178, 172, 172, 177,
+  176, 170, 173, 182, 170, 167, 163, 160, 157, 154, 154, 152, 158, 153, 151, 152,
+  157, 162, 165, 165, 149, 150, 153, 154, 148, 141, 139, 144, 134, 131, 142, 130,
+  126, 147, 142, 133, 130, 130, 126, 120, 114, 110, 102, 90, 79, 74, 67, 62,
+  56, 53, 48, 45, 45, 47, 48, 47, 46, 46, 50, 53, 52, 56, 55, 50,
+  52, 57, 53, 42, 48, 49, 255, 255, 255, 255, 255, 255, 115, 117, 109, 102,
+  109, 120, 110, 110, 109, 99, 94, 87, 75, 94, 96, 98, 98, 98, 95, 84,
+  73, 82, 70, 58, 54, 57, 59, 65, 70, 79, 85, 97, 110, 124, 133, 142,
+  146, 159, 162, 166, 170, 173, 174, 174, 174, 177, 177, 176, 174, 171, 169, 169,
+  170, 175, 176, 178, 178, 177, 177, 179, 181, 177, 175, 175, 176, 175, 174, 178,
+  184, 172, 171, 170, 167, 164, 161, 161, 159, 158, 156, 155, 155, 158, 160, 162,
+  163, 164, 160, 157, 157, 154, 147, 142, 143, 142, 131, 139, 131, 129, 146, 137,
+  128, 143, 141, 133, 125, 118, 113, 102, 90, 81, 76, 69, 63, 59, 54, 51,
+  49, 42, 46, 49, 48, 46, 46, 50, 55, 53, 53, 51, 46, 46, 49, 48,
+  44, 43, 46, 255, 255, 255, 255, 255, 255, 107, 96, 93, 88, 85, 109, 97,
+  92, 91, 88, 94, 99, 92, 98, 101, 96, 84, 75, 76, 79, 79, 80, 67,
+  55, 54, 62, 68, 75, 80, 88, 94, 106, 119, 132, 141, 147, 149, 165, 168,
+  170, 172, 174, 175, 176, 176, 177, 176, 176, 178, 180, 180, 179, 178, 177, 179,
+  180, 180, 179, 180, 184, 188, 178, 182, 182, 178, 175, 176, 176, 175, 170, 173,
+  176, 177, 174, 171, 168, 166, 176, 176, 175, 173, 171, 169, 169, 169, 172, 166,
+  160, 159, 154, 147, 141, 141, 139, 130, 145, 141, 133, 141, 136, 138, 142, 142,
+  140, 131, 123, 113, 102, 91, 88, 82, 73, 65, 60, 55, 52, 50, 43, 44,
+  45, 45, 45, 45, 46, 47, 51, 48, 46, 45, 42, 39, 40, 44, 43, 44,
+  255, 255, 255, 255, 255, 255, 125, 120, 97, 90, 106, 127, 112, 101, 91, 81,
+  86, 90, 83, 77, 93, 103, 95, 81, 76, 77, 78, 73, 63, 58, 63, 75,
+  80, 84, 88, 96, 103, 112, 125, 136, 144, 146, 149, 168, 170, 171, 173, 175,
+  177, 179, 179, 177, 175, 174, 176, 179, 180, 176, 172, 174, 176, 176, 174, 172,
+  174, 178, 182, 186, 194, 195, 187, 182, 183, 179, 171, 179, 183, 187, 187, 182,
+  173, 165, 160, 177, 179, 178, 174, 167, 161, 160, 161, 172, 167, 161, 159, 153,
+  146, 141, 142, 135, 120, 134, 143, 148, 159, 153, 153, 129, 136, 140, 134, 124,
+  115, 106, 97, 99, 90, 79, 67, 60, 54, 50, 48, 48, 46, 44, 45, 49,
+  49, 46, 42, 53, 48, 47, 50, 45, 36, 38, 47, 50, 49, 255, 255, 255,
+  255, 255, 255, 220, 151, 140, 119, 116, 104, 103, 95, 103, 105, 95, 94, 87,
+  82, 77, 80, 87, 84, 72, 63, 63, 69, 71, 72, 77, 82, 86, 92, 96,
+  110, 117, 127, 138, 145, 150, 153, 157, 172, 174, 174, 173, 172, 172, 175, 177,
+  177, 177, 179, 180, 180, 180, 180, 180, 179, 181, 183, 181, 178, 177, 178, 181,
+  175, 182, 190, 193, 190, 183, 175, 171, 165, 168, 172, 177, 181, 181, 180, 179,
+  172, 174, 177, 174, 169, 166, 167, 170, 166, 163, 160, 162, 164, 164, 158, 155,
+  134, 141, 128, 140, 139, 167, 155, 147, 141, 130, 132, 135, 126, 121, 122, 117,
+  104, 93, 78, 67, 56, 45, 43, 45, 45, 46, 49, 51, 46, 41, 45, 52,
+  55, 53, 51, 50, 49, 47, 45, 44, 47, 48, 255, 255, 255, 255, 255, 255,
+  255, 157, 134, 117, 145, 125, 109, 101, 101, 104, 100, 85, 77, 82, 76, 76,
+  80, 76, 65, 58, 61, 74, 79, 84, 85, 83, 85, 91, 99, 115, 124, 133,
+  143, 149, 153, 158, 161, 171, 175, 177, 178, 177, 176, 176, 177, 176, 177, 177,
+  177, 177, 177, 176, 175, 183, 185, 187, 186, 185, 185, 187, 190, 201, 200, 197,
+  191, 186, 183, 182, 183, 182, 183, 184, 183, 183, 179, 174, 172, 177, 179, 182,
+  180, 176, 172, 169, 167, 160, 156, 151, 149, 149, 151, 151, 151, 148, 140, 122,
+  136, 136, 154, 143, 144, 140, 136, 139, 138, 129, 126, 127, 120, 116, 102, 85,
+  71, 56, 42, 37, 37, 47, 48, 50, 53, 50, 45, 47, 52, 54, 53, 51,
+  50, 49, 48, 47, 47, 46, 54, 255, 255, 255, 255, 255, 255, 255, 216, 122,
+  109, 157, 132, 106, 106, 90, 90, 97, 79, 88, 83, 75, 71, 72, 66, 57,
+  54, 60, 75, 87, 96, 96, 91, 92, 102, 113, 125, 132, 140, 150, 155, 158,
+  162, 164, 172, 176, 180, 182, 181, 179, 177, 177, 181, 182, 182, 182, 181, 180,
+  178, 178, 179, 178, 179, 180, 180, 182, 186, 189, 198, 195, 189, 183, 180, 182,
+  187, 192, 195, 194, 192, 189, 183, 177, 173, 169, 185, 182, 180, 178, 177, 176,
+  177, 175, 176, 173, 166, 160, 157, 159, 163, 167, 155, 139, 125, 144, 146, 150,
+  139, 144, 137, 141, 147, 142, 131, 132, 133, 121, 116, 104, 89, 75, 60, 46,
+  41, 41, 45, 43, 45, 50, 49, 45, 43, 45, 50, 49, 47, 46, 46, 46,
+  47, 48, 42, 55, 255, 255, 255, 255, 255, 255, 255, 255, 120, 110, 162, 139,
+  112, 121, 90, 79, 92, 77, 106, 84, 75, 68, 67, 61, 54, 57, 66, 77,
+  92, 104, 108, 107, 111, 122, 129, 133, 140, 147, 155, 159, 162, 165, 167, 173,
+  177, 180, 181, 180, 179, 178, 179, 182, 183, 183, 184, 183, 183, 182, 180, 176,
+  174, 174, 174, 175, 178, 181, 183, 186, 186, 185, 183, 182, 182, 185, 188, 191,
+  191, 191, 189, 185, 181, 179, 177, 188, 181, 174, 171, 175, 180, 186, 187, 175,
+  175, 171, 165, 158, 156, 157, 160, 140, 136, 136, 151, 155, 153, 143, 142, 134,
+  141, 152, 142, 130, 135, 138, 123, 118, 106, 92, 79, 64, 49, 43, 43, 44,
+  41, 43, 48, 50, 46, 42, 41, 43, 43, 42, 41, 40, 42, 45, 48, 49,
+  59, 255, 255, 255, 255, 255, 255, 255, 255, 128, 112, 172, 158, 129, 137, 108,
+  95, 103, 78, 98, 86, 77, 70, 68, 62, 57, 63, 78, 86, 101, 113, 120,
+  124, 133, 139, 142, 141, 147, 153, 158, 161, 165, 168, 170, 176, 177, 178, 178,
+  176, 177, 179, 180, 176, 177, 178, 180, 181, 181, 181, 180, 181, 178, 177, 177,
+  178, 179, 180, 181, 191, 191, 191, 188, 184, 181, 180, 181, 182, 182, 183, 184,
+  185, 184, 183, 182, 183, 178, 174, 173, 176, 180, 181, 183, 170, 173, 173, 170,
+  161, 154, 147, 146, 126, 136, 145, 143, 148, 150, 149, 141, 138, 143, 153, 145,
+  134, 141, 143, 125, 128, 116, 100, 85, 65, 47, 36, 33, 45, 43, 45, 50,
+  52, 47, 43, 43, 39, 39, 38, 37, 36, 39, 44, 49, 67, 66, 255, 255,
+  255, 255, 255, 255, 255, 255, 121, 92, 156, 155, 129, 131, 119, 120, 120, 87,
+  84, 88, 79, 73, 71, 65, 60, 68, 84, 96, 115, 127, 132, 135, 145, 148,
+  146, 148, 153, 157, 163, 165, 167, 169, 171, 176, 177, 177, 176, 175, 175, 178,
+  181, 176, 177, 179, 181, 182, 183, 184, 183, 182, 181, 179, 180, 181, 181, 179,
+  177, 189, 188, 185, 182, 179, 180, 183, 187, 180, 180, 181, 182, 183, 183, 183,
+  182, 177, 177, 180, 181, 181, 178, 173, 169, 175, 178, 180, 178, 172, 162, 152,
+  147, 137, 145, 151, 135, 143, 148, 157, 149, 146, 145, 153, 148, 143, 146, 146,
+  132, 128, 115, 101, 87, 68, 50, 39, 35, 42, 41, 43, 47, 47, 43, 41,
+  43, 42, 42, 41, 39, 37, 41, 48, 55, 74, 130, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 85, 131, 142, 130, 124, 123, 122, 115, 98, 92, 89, 81,
+  76, 74, 66, 61, 67, 83, 101, 124, 140, 143, 141, 147, 151, 150, 154, 160,
+  163, 167, 168, 171, 173, 175, 175, 176, 178, 178, 177, 176, 178, 179, 179, 180,
+  181, 183, 184, 184, 184, 183, 180, 178, 178, 179, 181, 180, 177, 173, 178, 178,
+  177, 176, 176, 178, 183, 187, 183, 183, 183, 183, 183, 183, 182, 182, 177, 180,
+  182, 182, 180, 176, 173, 171, 173, 173, 171, 170, 167, 162, 153, 148, 152, 145,
+  148, 136, 152, 150, 161, 155, 154, 143, 147, 149, 147, 147, 146, 135, 122, 112,
+  99, 87, 71, 54, 43, 40, 36, 37, 39, 42, 39, 34, 36, 41, 43, 44,
+  43, 39, 37, 41, 50, 57, 70, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 139, 124, 145, 148, 136, 128, 112, 95, 105, 109, 92, 84, 80, 75, 67,
+  59, 65, 80, 98, 127, 149, 147, 142, 146, 153, 155, 160, 163, 167, 169, 169,
+  170, 174, 176, 175, 178, 182, 183, 182, 180, 179, 179, 179, 178, 179, 179, 180,
+  179, 179, 179, 181, 181, 181, 184, 187, 185, 181, 176, 180, 181, 183, 183, 180,
+  178, 176, 176, 187, 187, 186, 185, 185, 184, 185, 185, 182, 182, 181, 176, 174,
+  175, 180, 187, 183, 178, 173, 171, 171, 170, 165, 162, 153, 132, 137, 138, 164,
+  151, 158, 152, 157, 142, 141, 148, 147, 146, 144, 135, 128, 116, 103, 89, 70,
+  50, 39, 33, 37, 37, 41, 42, 38, 32, 37, 43, 43, 42, 42, 37, 35,
+  38, 48, 57, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 127,
+  123, 127, 123, 118, 112, 110, 107, 104, 107, 91, 82, 84, 83, 77, 75, 83,
+  102, 130, 149, 153, 152, 154, 155, 152, 162, 164, 167, 169, 169, 170, 173, 175,
+  177, 179, 181, 181, 176, 173, 179, 188, 178, 180, 183, 184, 185, 185, 187, 187,
+  183, 183, 184, 183, 183, 181, 185, 185, 180, 178, 180, 182, 184, 184, 181, 178,
+  179, 180, 183, 184, 184, 183, 182, 181, 185, 179, 177, 180, 183, 180, 178, 181,
+  179, 174, 172, 174, 175, 171, 166, 164, 170, 166, 164, 165, 165, 162, 163, 167,
+  158, 157, 154, 148, 143, 139, 139, 139, 125, 119, 106, 96, 87, 62, 44, 47,
+  46, 41, 41, 42, 46, 42, 35, 25, 28, 30, 35, 43, 51, 41, 41, 123,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 209, 131, 132, 125,
+  116, 111, 112, 113, 112, 103, 94, 93, 94, 87, 73, 72, 84, 103, 131, 150,
+  155, 155, 158, 159, 157, 161, 163, 167, 169, 171, 173, 175, 178, 176, 175, 177,
+  181, 180, 178, 179, 183, 177, 180, 182, 182, 181, 182, 183, 185, 183, 184, 184,
+  184, 183, 183, 184, 185, 183, 182, 180, 181, 183, 183, 182, 180, 182, 183, 184,
+  185, 184, 183, 180, 179, 180, 175, 174, 178, 180, 177, 174, 177, 176, 174, 171,
+  175, 177, 172, 169, 170, 167, 163, 164, 166, 165, 162, 164, 167, 163, 158, 153,
+  150, 148, 145, 140, 135, 125, 119, 105, 96, 89, 64, 44, 47, 43, 40, 39,
+  38, 38, 36, 34, 32, 48, 45, 36, 34, 37, 36, 117, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 135, 134, 125, 114, 109, 111,
+  115, 113, 104, 102, 107, 106, 89, 65, 63, 80, 105, 133, 153, 157, 158, 162,
+  165, 163, 165, 165, 169, 171, 173, 174, 176, 176, 178, 174, 173, 178, 180, 175,
+  171, 170, 174, 175, 177, 178, 178, 178, 179, 180, 183, 183, 182, 182, 183, 183,
+  184, 184, 186, 184, 180, 181, 183, 184, 184, 183, 186, 186, 186, 186, 184, 181,
+  178, 177, 178, 174, 174, 178, 179, 176, 173, 175, 178, 176, 174, 177, 178, 173,
+  171, 172, 166, 163, 163, 167, 166, 162, 162, 164, 163, 157, 151, 150, 151, 149,
+  141, 132, 128, 119, 105, 96, 90, 65, 43, 43, 50, 48, 45, 41, 36, 35,
+  38, 42, 45, 46, 40, 36, 36, 32, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 138, 134, 125, 124, 127, 125, 120, 103,
+  101, 108, 109, 90, 63, 63, 83, 110, 137, 156, 160, 161, 165, 168, 166, 171,
+  170, 172, 172, 173, 173, 173, 172, 173, 170, 170, 173, 173, 169, 166, 168, 168,
+  170, 173, 174, 173, 173, 175, 176, 181, 182, 181, 182, 184, 185, 184, 183, 187,
+  186, 183, 184, 186, 187, 186, 187, 190, 190, 188, 187, 184, 180, 178, 176, 179,
+  177, 178, 182, 182, 178, 175, 178, 183, 179, 178, 179, 179, 172, 169, 169, 167,
+  164, 164, 167, 167, 162, 162, 163, 159, 155, 151, 150, 150, 147, 139, 131, 132,
+  121, 107, 97, 90, 63, 40, 37, 46, 41, 35, 30, 25, 25, 26, 28, 26,
+  35, 37, 38, 42, 113, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 210, 125, 124, 127, 129, 120, 105, 102, 98, 101, 104,
+  89, 65, 68, 90, 117, 143, 161, 164, 163, 167, 169, 168, 174, 172, 172, 172,
+  173, 172, 170, 166, 164, 163, 164, 164, 160, 156, 161, 168, 163, 165, 169, 170,
+  171, 172, 174, 177, 179, 178, 179, 181, 185, 186, 185, 183, 186, 186, 187, 189,
+  191, 191, 188, 186, 192, 191, 189, 187, 184, 180, 178, 176, 181, 179, 180, 183,
+  182, 178, 177, 181, 182, 181, 180, 181, 179, 172, 170, 171, 169, 165, 166, 168,
+  168, 162, 160, 161, 155, 155, 155, 152, 148, 143, 139, 135, 133, 124, 109, 98,
+  87, 60, 36, 33, 50, 41, 34, 31, 33, 35, 34, 32, 27, 37, 38, 87,
+  210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 137, 140, 146, 149, 135, 115, 118, 106, 103, 105, 86, 61, 63,
+  86, 125, 149, 166, 168, 167, 171, 173, 172, 176, 172, 171, 170, 171, 170, 166,
+  161, 162, 159, 157, 152, 142, 135, 138, 146, 151, 155, 159, 163, 166, 168, 171,
+  173, 174, 173, 174, 178, 184, 186, 184, 181, 186, 185, 184, 186, 188, 188, 187,
+  185, 189, 188, 186, 184, 182, 179, 178, 177, 180, 178, 178, 180, 178, 175, 176,
+  182, 178, 178, 179, 181, 178, 173, 172, 176, 170, 166, 166, 167, 166, 160, 159,
+  160, 155, 156, 156, 152, 146, 141, 138, 137, 128, 122, 110, 99, 84, 54, 32,
+  33, 51, 42, 35, 36, 43, 50, 52, 51, 42, 55, 124, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  146, 117, 125, 131, 116, 95, 122, 108, 106, 107, 87, 62, 65, 93, 129, 153,
+  170, 173, 173, 177, 181, 179, 184, 178, 173, 169, 167, 163, 156, 148, 148, 144,
+  142, 139, 132, 124, 123, 127, 132, 136, 142, 149, 153, 156, 161, 164, 167, 164,
+  166, 171, 179, 182, 182, 178, 186, 182, 178, 177, 180, 183, 186, 187, 186, 185,
+  184, 182, 180, 179, 178, 178, 182, 180, 179, 180, 177, 174, 177, 183, 177, 178,
+  180, 181, 178, 172, 172, 176, 170, 165, 162, 163, 162, 157, 156, 158, 153, 151,
+  147, 144, 142, 140, 135, 133, 120, 117, 108, 98, 82, 52, 33, 35, 38, 30,
+  24, 24, 31, 41, 50, 55, 59, 134, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 129, 137,
+  145, 133, 114, 102, 96, 100, 109, 94, 72, 84, 118, 131, 155, 173, 176, 177,
+  182, 186, 186, 194, 186, 177, 170, 164, 156, 146, 138, 118, 114, 117, 125, 131,
+  131, 132, 133, 117, 121, 129, 134, 139, 144, 151, 153, 160, 159, 161, 168, 176,
+  180, 180, 176, 186, 181, 173, 170, 173, 178, 184, 187, 182, 181, 180, 178, 177,
+  177, 177, 177, 184, 181, 180, 180, 177, 174, 179, 186, 181, 180, 181, 180, 176,
+  170, 168, 172, 169, 164, 160, 159, 157, 154, 154, 156, 152, 145, 138, 136, 138,
+  136, 131, 125, 113, 114, 107, 97, 81, 51, 35, 39, 47, 41, 35, 31, 34,
+  45, 60, 132, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 119, 140, 154, 144, 126,
+  106, 105, 98, 93, 84, 72, 86, 125, 142, 162, 178, 182, 181, 182, 187, 190,
+  183, 190, 193, 183, 172, 167, 164, 160, 165, 165, 162, 155, 148, 144, 145, 147,
+  151, 134, 131, 115, 133, 125, 133, 121, 126, 126, 130, 134, 141, 148, 154, 158,
+  151, 162, 167, 163, 167, 176, 178, 172, 175, 175, 175, 175, 175, 175, 175, 175,
+  178, 177, 177, 176, 177, 179, 180, 182, 183, 185, 183, 177, 171, 167, 165, 166,
+  160, 165, 164, 157, 156, 159, 156, 146, 142, 139, 136, 130, 126, 126, 124, 118,
+  109, 112, 108, 96, 75, 44, 35, 48, 49, 41, 38, 39, 40, 114, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 211, 132, 136, 136, 137, 114, 122, 109,
+  96, 97, 85, 89, 119, 152, 168, 182, 186, 186, 188, 190, 190, 187, 190, 190,
+  184, 180, 180, 177, 172, 172, 175, 179, 181, 181, 177, 172, 168, 167, 166, 172,
+  145, 133, 105, 108, 103, 106, 107, 111, 112, 113, 112, 111, 111, 139, 150, 156,
+  154, 160, 171, 175, 172, 174, 174, 174, 173, 174, 174, 175, 175, 181, 180, 178,
+  177, 176, 175, 175, 176, 174, 175, 174, 170, 165, 160, 158, 158, 154, 157, 158,
+  155, 154, 153, 149, 143, 136, 132, 124, 113, 107, 110, 109, 106, 106, 104, 103,
+  92, 67, 42, 42, 52, 36, 32, 35, 41, 44, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 136, 128, 140, 162, 123, 143, 128, 120, 141, 129,
+  117, 142, 169, 179, 188, 191, 194, 196, 195, 191, 190, 187, 184, 180, 182, 184,
+  181, 176, 181, 176, 172, 169, 171, 174, 173, 173, 180, 169, 170, 165, 176, 156,
+  133, 105, 103, 98, 93, 89, 92, 102, 115, 125, 128, 137, 144, 145, 151, 164,
+  172, 172, 173, 173, 172, 171, 172, 173, 175, 176, 180, 179, 178, 177, 175, 174,
+  173, 173, 178, 175, 171, 167, 163, 157, 151, 146, 145, 142, 141, 141, 136, 126,
+  120, 119, 111, 110, 104, 96, 95, 97, 95, 89, 91, 82, 94, 92, 60, 43,
+  49, 47, 46, 41, 39, 40, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 144, 128, 144, 175, 215, 210, 154, 123, 139, 123, 113, 155, 183,
+  189, 193, 196, 201, 203, 198, 190, 188, 183, 177, 172, 171, 172, 170, 167, 167,
+  170, 172, 175, 174, 171, 163, 158, 165, 163, 159, 151, 149, 150, 161, 168, 139,
+  131, 118, 105, 100, 105, 119, 129, 128, 136, 141, 141, 146, 157, 167, 169, 172,
+  171, 170, 169, 170, 172, 174, 175, 173, 174, 174, 175, 174, 173, 172, 172, 165,
+  157, 146, 138, 133, 125, 118, 112, 109, 103, 102, 106, 103, 93, 92, 98, 94,
+  101, 107, 110, 112, 109, 100, 89, 74, 65, 89, 94, 58, 43, 49, 34, 35,
+  42, 55, 65, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  141, 126, 137, 162, 206, 208, 180, 180, 203, 166, 131, 164, 195, 197, 198, 200,
+  206, 207, 200, 190, 185, 180, 175, 168, 163, 161, 161, 164, 165, 164, 157, 152,
+  149, 151, 154, 157, 136, 140, 140, 140, 130, 130, 131, 138, 135, 137, 139, 134,
+  128, 122, 123, 125, 138, 142, 145, 144, 147, 155, 163, 166, 170, 170, 169, 169,
+  169, 170, 172, 173, 170, 171, 172, 173, 172, 170, 168, 167, 153, 144, 129, 118,
+  113, 105, 101, 97, 77, 73, 79, 88, 93, 93, 102, 114, 117, 127, 137, 142,
+  142, 136, 123, 109, 84, 73, 91, 92, 56, 44, 50, 34, 45, 48, 52, 54,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 121, 128,
+  145, 246, 229, 182, 163, 174, 149, 139, 178, 203, 203, 203, 204, 209, 210, 202,
+  192, 185, 179, 174, 170, 165, 161, 163, 168, 167, 159, 145, 134, 127, 125, 125,
+  125, 134, 133, 130, 146, 147, 151, 128, 118, 118, 129, 139, 142, 141, 139, 142,
+  145, 149, 149, 151, 150, 152, 155, 161, 165, 170, 170, 170, 170, 170, 170, 170,
+  169, 171, 172, 173, 173, 170, 166, 161, 158, 149, 142, 130, 120, 114, 111, 110,
+  110, 103, 104, 111, 118, 123, 129, 140, 151, 153, 157, 159, 157, 152, 146, 134,
+  122, 111, 99, 99, 87, 57, 50, 61, 55, 67, 67, 64, 122, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 120, 127, 139, 175, 180,
+  160, 149, 162, 161, 160, 176, 207, 208, 209, 208, 211, 211, 204, 195, 188, 177,
+  170, 169, 169, 165, 164, 164, 143, 140, 139, 143, 139, 123, 95, 74, 70, 81,
+  72, 72, 49, 64, 77, 106, 120, 131, 137, 137, 135, 134, 139, 143, 152, 152,
+  154, 155, 156, 158, 163, 167, 171, 172, 173, 173, 172, 171, 168, 167, 170, 171,
+  173, 173, 170, 164, 159, 154, 135, 133, 128, 122, 117, 114, 115, 116, 130, 137,
+  145, 144, 145, 150, 157, 159, 157, 158, 155, 149, 145, 142, 134, 124, 122, 116,
+  104, 85, 68, 66, 78, 84, 63, 82, 154, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 115, 125, 135, 169, 188, 182, 163, 169,
+  182, 186, 182, 210, 211, 212, 211, 212, 212, 206, 198, 191, 175, 165, 165, 168,
+  165, 159, 157, 137, 113, 88, 80, 88, 95, 89, 78, 58, 63, 54, 68, 56,
+  65, 50, 53, 73, 94, 116, 133, 137, 137, 138, 140, 150, 152, 155, 157, 158,
+  160, 164, 169, 171, 171, 174, 174, 174, 170, 167, 164, 165, 166, 170, 170, 170,
+  164, 160, 156, 138, 140, 139, 135, 129, 125, 123, 124, 110, 124, 132, 130, 131,
+  137, 141, 138, 138, 143, 144, 141, 141, 140, 134, 124, 115, 117, 105, 87, 81,
+  79, 87, 101, 88, 101, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 113, 117, 113, 145, 217, 195, 190, 205, 211, 180, 175,
+  200, 226, 222, 218, 220, 211, 208, 195, 188, 182, 177, 164, 157, 167, 171, 155,
+  131, 128, 102, 81, 78, 73, 81, 107, 121, 62, 99, 92, 51, 128, 65, 83,
+  63, 61, 50, 81, 136, 139, 124, 141, 149, 152, 155, 154, 151, 154, 163, 169,
+  166, 166, 170, 170, 171, 169, 167, 165, 170, 167, 164, 161, 161, 158, 156, 151,
+  142, 129, 122, 127, 124, 111, 102, 101, 85, 67, 55, 67, 88, 103, 109, 110,
+  111, 111, 120, 134, 142, 138, 124, 113, 124, 119, 105, 92, 92, 104, 106, 100,
+  108, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 105, 105, 104, 127, 197, 194, 182, 195, 206, 192, 179, 201, 226, 223,
+  219, 219, 208, 204, 189, 193, 185, 183, 177, 170, 173, 173, 161, 165, 154, 133,
+  124, 127, 127, 128, 135, 139, 79, 101, 71, 76, 86, 91, 98, 69, 137, 133,
+  80, 81, 113, 130, 139, 136, 144, 153, 159, 160, 158, 155, 154, 167, 169, 171,
+  173, 173, 171, 169, 167, 165, 167, 166, 162, 154, 147, 143, 139, 130, 127, 127,
+  117, 89, 63, 63, 74, 68, 63, 58, 57, 58, 53, 41, 31, 86, 99, 114,
+  125, 125, 119, 123, 128, 126, 122, 110, 97, 98, 109, 111, 104, 108, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 109,
+  112, 124, 144, 197, 204, 182, 186, 187, 196, 178, 200, 226, 225, 222, 223, 212,
+  206, 190, 199, 187, 188, 190, 183, 178, 177, 167, 163, 159, 159, 151, 129, 116,
+  120, 123, 125, 98, 102, 83, 102, 54, 83, 76, 108, 165, 169, 128, 113, 121,
+  131, 145, 145, 149, 151, 155, 156, 159, 161, 161, 170, 172, 175, 176, 176, 175,
+  172, 170, 166, 167, 164, 156, 145, 138, 136, 136, 120, 109, 101, 91, 78, 68,
+  74, 85, 37, 64, 84, 78, 61, 57, 62, 70, 53, 69, 93, 114, 121, 121,
+  127, 132, 127, 124, 115, 105, 105, 114, 115, 110, 111, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 122, 148, 171,
+  191, 202, 185, 185, 172, 195, 176, 197, 225, 226, 227, 230, 219, 214, 198, 203,
+  185, 187, 195, 188, 177, 176, 173, 171, 167, 180, 174, 139, 120, 120, 114, 116,
+  121, 83, 89, 91, 89, 116, 139, 156, 161, 159, 159, 152, 120, 104, 120, 152,
+  156, 158, 155, 153, 155, 161, 169, 172, 174, 178, 180, 180, 178, 174, 172, 172,
+  166, 155, 145, 139, 138, 140, 141, 134, 127, 124, 118, 106, 89, 80, 77, 94,
+  85, 76, 82, 112, 135, 120, 92, 58, 56, 66, 89, 115, 128, 132, 128, 127,
+  124, 117, 108, 109, 113, 113, 108, 108, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 209, 141, 161, 160, 180, 191,
+  197, 175, 195, 181, 196, 225, 227, 228, 232, 222, 216, 200, 205, 186, 186, 195,
+  190, 179, 178, 179, 187, 167, 173, 183, 174, 166, 154, 129, 93, 128, 116, 130,
+  117, 133, 104, 120, 127, 133, 130, 124, 121, 117, 119, 129, 144, 156, 166, 167,
+  159, 152, 152, 157, 172, 175, 179, 181, 181, 179, 175, 172, 172, 160, 146, 140,
+  142, 143, 141, 135, 138, 147, 153, 142, 117, 96, 92, 100, 88, 98, 105, 107,
+  119, 134, 128, 113, 90, 73, 62, 75, 104, 124, 130, 130, 127, 125, 121, 114,
+  112, 111, 108, 106, 104, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 129, 146, 148, 167, 202, 211, 188, 191,
+  177, 197, 226, 226, 227, 229, 219, 213, 198, 206, 187, 186, 193, 189, 182, 183,
+  183, 174, 165, 169, 177, 177, 173, 165, 154, 148, 157, 150, 114, 112, 124, 101,
+  111, 101, 103, 108, 114, 125, 140, 153, 160, 156, 164, 168, 165, 156, 150, 156,
+  164, 171, 174, 178, 181, 181, 178, 174, 171, 165, 153, 142, 141, 147, 148, 139,
+  126, 88, 111, 140, 160, 154, 127, 97, 77, 92, 89, 92, 109, 138, 146, 122,
+  89, 88, 85, 88, 103, 118, 127, 131, 133, 128, 126, 123, 119, 115, 112, 108,
+  104, 157, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 127, 146, 165, 170, 198, 200, 193, 181, 166, 194, 225,
+  227, 227, 230, 220, 215, 200, 199, 185, 185, 190, 187, 185, 187, 182, 173, 180,
+  181, 177, 173, 164, 163, 176, 155, 158, 173, 154, 168, 159, 145, 136, 150, 130,
+  132, 152, 158, 151, 152, 157, 172, 169, 162, 155, 152, 154, 164, 172, 168, 172,
+  177, 180, 180, 177, 172, 169, 163, 151, 141, 140, 147, 151, 148, 141, 163, 138,
+  114, 105, 114, 120, 116, 105, 95, 107, 119, 120, 115, 104, 100, 100, 94, 101,
+  116, 134, 141, 138, 133, 130, 125, 123, 123, 121, 117, 111, 106, 156, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 145, 178, 166, 180, 176, 186, 174, 161, 193, 224, 226, 228, 232,
+  224, 221, 207, 191, 181, 184, 187, 185, 185, 186, 177, 180, 181, 166, 162, 175,
+  169, 162, 175, 175, 171, 159, 166, 170, 167, 169, 166, 169, 165, 169, 165, 152,
+  154, 165, 165, 162, 159, 157, 157, 161, 162, 159, 157, 167, 170, 175, 178, 178,
+  175, 170, 167, 165, 152, 138, 134, 141, 153, 162, 165, 156, 152, 148, 146, 143,
+  136, 121, 109, 104, 93, 85, 88, 97, 101, 107, 114, 137, 131, 128, 132, 138,
+  137, 132, 128, 120, 118, 120, 119, 116, 110, 139, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 108, 189, 209, 165, 169, 167, 145, 166, 231, 235, 229, 239, 218, 205, 212,
+  199, 193, 191, 187, 180, 173, 177, 186, 186, 182, 180, 181, 181, 171, 165, 164,
+  165, 166, 168, 169, 169, 169, 168, 165, 158, 161, 166, 167, 163, 162, 162, 164,
+  161, 164, 168, 166, 162, 160, 161, 163, 171, 171, 171, 175, 178, 177, 172, 167,
+  163, 152, 142, 142, 146, 150, 155, 160, 151, 153, 157, 157, 156, 151, 145, 142,
+  157, 148, 138, 136, 143, 146, 143, 139, 141, 137, 136, 140, 147, 147, 136, 124,
+  114, 113, 117, 117, 115, 108, 223, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 205,
+  235, 219, 192, 175, 149, 148, 212, 227, 226, 233, 222, 214, 206, 196, 191, 192,
+  195, 194, 187, 184, 185, 183, 178, 178, 181, 181, 176, 170, 169, 174, 174, 174,
+  174, 173, 172, 171, 171, 169, 170, 171, 170, 170, 167, 167, 166, 165, 167, 168,
+  167, 163, 162, 160, 160, 172, 171, 171, 174, 177, 177, 172, 167, 162, 151, 141,
+  140, 143, 147, 152, 156, 158, 155, 153, 150, 148, 149, 149, 150, 160, 154, 147,
+  146, 149, 149, 146, 140, 147, 148, 147, 150, 153, 149, 139, 126, 118, 114, 115,
+  115, 111, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 130, 100, 142,
+  199, 145, 155, 203, 222, 229, 229, 223, 221, 197, 195, 189, 188, 192, 194, 190,
+  186, 183, 186, 179, 177, 182, 186, 183, 179, 177, 179, 179, 179, 178, 176, 175,
+  175, 173, 175, 173, 171, 169, 169, 168, 165, 163, 167, 166, 166, 167, 167, 167,
+  165, 164, 172, 171, 172, 175, 178, 177, 172, 167, 161, 150, 141, 139, 141, 144,
+  148, 151, 157, 156, 154, 151, 151, 153, 155, 156, 155, 154, 153, 152, 153, 151,
+  147, 145, 156, 158, 159, 158, 157, 149, 137, 129, 120, 115, 114, 113, 157, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 159, 164, 160, 175, 205,
+  214, 223, 237, 229, 219, 221, 192, 200, 195, 189, 185, 184, 184, 185, 186, 185,
+  178, 175, 181, 186, 185, 181, 178, 180, 178, 176, 174, 175, 174, 176, 175, 177,
+  172, 168, 167, 169, 169, 167, 164, 165, 163, 163, 168, 173, 175, 174, 170, 176,
+  173, 174, 177, 180, 179, 174, 169, 163, 152, 142, 140, 142, 143, 146, 150, 151,
+  153, 157, 160, 163, 163, 161, 160, 154, 156, 158, 159, 158, 158, 158, 159, 163,
+  165, 163, 159, 152, 143, 134, 128, 120, 113, 110, 158, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 209, 148, 204, 255, 252, 227, 220, 241,
+  231, 213, 216, 194, 200, 200, 196, 189, 184, 184, 188, 191, 184, 177, 174, 179,
+  183, 181, 177, 176, 178, 177, 176, 175, 176, 176, 179, 180, 179, 176, 172, 172,
+  174, 175, 173, 171, 170, 168, 166, 170, 175, 178, 178, 175, 179, 177, 178, 181,
+  184, 183, 178, 174, 168, 157, 148, 146, 147, 147, 150, 151, 148, 151, 156, 161,
+  165, 166, 166, 166, 165, 167, 168, 167, 166, 167, 170, 175, 168, 168, 163, 157,
+  146, 138, 133, 129, 117, 109, 104, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 238, 248, 252, 223, 211, 235, 229, 213, 214,
+  195, 188, 194, 198, 193, 188, 186, 187, 186, 187, 183, 181, 184, 185, 182, 181,
+  183, 182, 182, 182, 180, 182, 181, 184, 185, 176, 176, 175, 175, 176, 176, 175,
+  173, 177, 175, 174, 175, 176, 179, 179, 176, 180, 178, 178, 182, 185, 184, 179,
+  174, 171, 160, 151, 150, 151, 151, 152, 155, 154, 152, 152, 153, 156, 163, 169,
+  173, 177, 175, 175, 172, 169, 169, 170, 173, 172, 169, 164, 156, 147, 139, 133,
+  127, 112, 103, 149, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 233, 217, 210, 209, 208, 227, 229, 216, 213, 192, 190, 194,
+  195, 190, 188, 188, 188, 183, 187, 185, 185, 187, 185, 182, 184, 189, 185, 186,
+  186, 185, 186, 184, 184, 184, 176, 177, 179, 178, 177, 174, 173, 173, 179, 180,
+  180, 178, 179, 179, 181, 182, 181, 177, 177, 180, 183, 183, 178, 173, 172, 161,
+  153, 152, 153, 153, 154, 157, 159, 157, 156, 155, 157, 163, 168, 171, 177, 174,
+  175, 172, 170, 168, 165, 164, 168, 167, 163, 156, 150, 141, 131, 122, 108, 97,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 244, 188, 172, 199, 209, 222, 227, 220, 214, 187, 206, 205, 196, 187, 186,
+  191, 190, 183, 178, 179, 182, 182, 181, 178, 182, 190, 190, 190, 191, 189, 190,
+  185, 185, 184, 182, 186, 189, 188, 183, 178, 177, 179, 176, 179, 181, 179, 177,
+  180, 184, 186, 179, 176, 176, 180, 183, 182, 177, 171, 171, 161, 153, 152, 154,
+  154, 155, 158, 161, 162, 164, 165, 168, 167, 167, 167, 175, 174, 175, 177, 175,
+  173, 168, 163, 161, 161, 160, 157, 151, 141, 128, 116, 105, 147, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 190,
+  173, 183, 198, 230, 218, 223, 203, 189, 192, 192, 189, 186, 181, 179, 180, 183,
+  187, 183, 183, 187, 188, 183, 183, 188, 193, 194, 194, 193, 193, 191, 191, 189,
+  184, 184, 186, 186, 181, 173, 172, 176, 178, 171, 172, 178, 180, 176, 174, 176,
+  178, 179, 179, 180, 183, 187, 183, 174, 161, 157, 155, 155, 152, 150, 155, 162,
+  162, 165, 170, 171, 172, 172, 176, 178, 176, 175, 174, 174, 172, 170, 170, 170,
+  170, 171, 158, 148, 150, 141, 124, 114, 97, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 176, 177, 189,
+  214, 216, 219, 210, 200, 197, 193, 188, 184, 183, 181, 179, 178, 184, 181, 181,
+  185, 185, 181, 183, 187, 191, 190, 187, 184, 183, 181, 183, 182, 177, 175, 175,
+  174, 167, 160, 161, 165, 168, 163, 164, 171, 174, 172, 169, 172, 174, 176, 176,
+  176, 180, 183, 178, 171, 164, 159, 155, 153, 148, 145, 148, 154, 163, 166, 171,
+  174, 177, 176, 178, 177, 177, 176, 176, 173, 173, 171, 169, 171, 168, 168, 162,
+  159, 152, 132, 124, 137, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 171, 173, 195, 213, 228, 216,
+  208, 198, 198, 190, 184, 182, 184, 183, 177, 172, 180, 179, 179, 181, 181, 179,
+  179, 181, 184, 186, 184, 182, 180, 176, 174, 172, 167, 165, 162, 160, 156, 151,
+  156, 163, 166, 164, 167, 172, 176, 176, 175, 177, 173, 174, 173, 173, 176, 180,
+  176, 169, 164, 158, 154, 151, 145, 140, 143, 148, 156, 159, 166, 173, 180, 181,
+  179, 177, 179, 178, 178, 175, 175, 173, 170, 171, 168, 165, 158, 158, 148, 131,
+  143, 181, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 184, 209, 213, 231, 207, 203, 197, 189,
+  184, 180, 178, 179, 178, 173, 171, 177, 177, 177, 178, 178, 177, 177, 178, 177,
+  179, 182, 182, 178, 171, 163, 160, 162, 160, 157, 156, 154, 154, 163, 173, 170,
+  169, 171, 176, 180, 181, 180, 180, 174, 175, 174, 173, 176, 180, 176, 169, 162,
+  157, 152, 150, 144, 140, 143, 149, 143, 148, 156, 166, 176, 182, 182, 181, 179,
+  179, 178, 176, 175, 171, 170, 169, 171, 164, 152, 144, 139, 134, 156, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 200, 219, 205, 218, 196, 199, 201, 182, 181, 180, 177,
+  174, 172, 172, 175, 175, 177, 177, 176, 175, 176, 176, 175, 172, 172, 172, 171,
+  168, 163, 158, 156, 165, 163, 161, 160, 158, 159, 168, 179, 174, 175, 176, 178,
+  180, 182, 181, 178, 176, 176, 174, 172, 175, 179, 175, 169, 165, 159, 155, 151,
+  145, 141, 143, 148, 139, 141, 149, 157, 166, 173, 177, 178, 177, 178, 178, 176,
+  174, 170, 168, 166, 165, 166, 154, 140, 136, 128, 126, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 224, 210, 216, 202, 189, 186, 182, 182, 181, 176, 172, 170, 173,
+  178, 172, 175, 175, 173, 172, 174, 174, 170, 175, 171, 165, 159, 158, 159, 163,
+  166, 170, 168, 166, 164, 161, 160, 166, 175, 177, 179, 180, 181, 183, 186, 183,
+  178, 177, 176, 174, 171, 174, 178, 175, 169, 171, 165, 159, 154, 146, 140, 141,
+  146, 142, 145, 152, 155, 159, 163, 168, 171, 175, 175, 174, 174, 171, 167, 164,
+  161, 154, 162, 158, 145, 133, 105, 132, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  244, 206, 208, 212, 186, 177, 187, 183, 177, 172, 169, 169, 170, 172, 166, 172,
+  172, 168, 168, 172, 170, 166, 171, 167, 162, 158, 159, 162, 167, 171, 169, 168,
+  166, 165, 163, 160, 164, 171, 178, 181, 182, 181, 182, 186, 184, 178, 180, 179,
+  176, 174, 177, 181, 178, 172, 172, 166, 160, 155, 147, 141, 142, 147, 142, 149,
+  157, 159, 159, 158, 162, 167, 172, 173, 172, 172, 169, 165, 160, 156, 150, 154,
+  152, 144, 124, 83, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 183, 182,
+  212, 195, 192, 192, 182, 171, 166, 166, 167, 165, 164, 163, 170, 170, 165, 165,
+  170, 168, 163, 155, 157, 159, 161, 162, 163, 162, 162, 164, 163, 164, 165, 163,
+  160, 163, 170, 168, 173, 175, 173, 176, 180, 179, 173, 185, 184, 181, 178, 181,
+  185, 182, 176, 168, 162, 158, 154, 148, 143, 145, 151, 139, 150, 161, 165, 160,
+  159, 163, 168, 170, 169, 170, 169, 166, 162, 156, 153, 154, 147, 140, 131, 109,
+  69, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 193, 169, 196, 195,
+  189, 187, 181, 174, 172, 172, 168, 164, 163, 166, 169, 168, 165, 161, 159, 159,
+  153, 156, 160, 162, 162, 162, 163, 164, 156, 158, 160, 161, 162, 161, 159, 158,
+  164, 167, 172, 174, 174, 173, 174, 175, 171, 173, 176, 181, 185, 186, 182, 180,
+  169, 168, 163, 153, 142, 140, 147, 155, 143, 150, 159, 166, 165, 162, 158, 157,
+  162, 163, 166, 165, 163, 160, 155, 150, 141, 137, 133, 129, 143, 164, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 183, 194, 191, 198, 188, 186, 181,
+  174, 172, 173, 169, 166, 168, 170, 170, 168, 164, 160, 158, 158, 154, 156, 157,
+  157, 155, 155, 156, 157, 160, 161, 163, 164, 165, 165, 163, 162, 169, 170, 172,
+  171, 169, 170, 174, 180, 172, 178, 185, 192, 195, 191, 182, 176, 163, 165, 164,
+  158, 150, 147, 148, 149, 145, 151, 160, 163, 163, 159, 157, 154, 158, 157, 160,
+  161, 161, 158, 153, 147, 143, 132, 135, 151, 168, 174, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 213, 190, 198, 187, 186, 181, 174, 171, 173,
+  171, 168, 174, 174, 171, 167, 162, 158, 157, 157, 165, 167, 167, 164, 161, 160,
+  162, 163, 158, 159, 158, 159, 159, 160, 160, 158, 155, 160, 164, 165, 161, 161,
+  166, 171, 184, 189, 195, 200, 202, 198, 189, 183, 169, 167, 163, 158, 154, 151,
+  150, 148, 150, 153, 160, 162, 162, 158, 157, 156, 154, 152, 154, 157, 158, 156,
+  151, 143, 135, 121, 135, 170, 188, 180, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 197, 191, 186, 186, 182, 174, 171, 173, 172, 169, 179,
+  178, 174, 167, 162, 158, 157, 160, 161, 163, 163, 163, 160, 158, 160, 161, 166,
+  166, 166, 166, 166, 168, 168, 169, 163, 164, 162, 158, 154, 155, 166, 177, 181,
+  181, 181, 182, 184, 184, 182, 180, 178, 169, 158, 151, 148, 150, 152, 151, 153,
+  154, 159, 161, 162, 161, 161, 158, 148, 147, 149, 153, 156, 155, 147, 139, 130,
+  127, 146, 177, 186, 173, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 183, 187, 187, 183, 174, 170, 172, 173, 171, 178, 178, 174, 167,
+  162, 160, 160, 163, 162, 165, 167, 166, 164, 164, 164, 166, 164, 165, 165, 166,
+  167, 168, 167, 168, 177, 171, 160, 148, 141, 143, 152, 162, 175, 174, 173, 174,
+  176, 177, 176, 175, 168, 160, 150, 145, 145, 148, 150, 147, 148, 147, 151, 154,
+  158, 159, 159, 159, 147, 147, 150, 154, 155, 152, 145, 136, 141, 155, 176, 185,
+  184, 180, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  230, 188, 188, 184, 175, 169, 171, 172, 172, 176, 175, 174, 168, 164, 163, 166,
+  168, 165, 165, 163, 160, 157, 158, 160, 164, 176, 178, 179, 181, 182, 181, 182,
+  180, 173, 175, 176, 174, 166, 154, 144, 138, 160, 161, 164, 168, 170, 169, 163,
+  159, 148, 146, 146, 148, 150, 150, 146, 141, 144, 141, 143, 146, 151, 154, 156,
+  155, 148, 151, 155, 156, 154, 148, 142, 134, 126, 151, 174, 172, 170, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 190,
+  186, 175, 168, 169, 172, 172, 171, 171, 171, 170, 167, 167, 170, 173, 160, 154,
+  146, 136, 130, 129, 135, 144, 146, 149, 152, 154, 155, 153, 154, 151, 172, 176,
+  182, 189, 191, 182, 171, 160, 153, 152, 154, 156, 157, 156, 150, 146, 146, 148,
+  150, 153, 153, 151, 147, 141, 145, 140, 141, 142, 148, 151, 153, 153, 151, 157,
+  162, 161, 154, 145, 140, 135, 136, 159, 178, 174, 171, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 234, 186, 174, 168,
+  167, 171, 171, 169, 170, 172, 170, 169, 170, 173, 176, 176, 168, 151, 136, 126,
+  128, 136, 146, 151, 156, 159, 163, 166, 166, 166, 165, 164, 155, 145, 147, 158,
+  176, 191, 197, 195, 190, 185, 181, 181, 181, 180, 178, 168, 167, 165, 163, 160,
+  158, 158, 154, 153, 148, 145, 145, 149, 153, 153, 153, 153, 160, 165, 163, 153,
+  143, 139, 134, 85, 99, 105, 99, 88, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 180, 179, 173, 169, 167,
+  174, 176, 175, 176, 175, 173, 173, 172, 178, 174, 167, 157, 146, 134, 126, 122,
+  150, 150, 160, 159, 167, 170, 165, 186, 181, 190, 184, 175, 175, 170, 160, 159,
+  165, 174, 166, 166, 154, 141, 151, 147, 148, 150, 153, 156, 159, 158, 157, 150,
+  127, 127, 135, 141, 146, 150, 157, 160, 154, 168, 173, 156, 140, 143, 132, 98,
+  44, 43, 45, 46, 46, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 230, 174, 168, 166, 168, 173, 174, 173,
+  173, 172, 171, 172, 171, 172, 177, 179, 172, 158, 140, 130, 124, 113, 141, 164,
+  151, 154, 171, 168, 177, 176, 185, 182, 179, 185, 184, 177, 179, 174, 181, 171,
+  174, 169, 161, 168, 162, 165, 160, 154, 149, 146, 147, 149, 143, 128, 131, 140,
+  148, 153, 156, 158, 160, 173, 162, 156, 153, 157, 152, 109, 46, 46, 41, 36,
+  33, 35, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 227, 166, 165, 170, 177, 177, 177, 175, 174, 174,
+  175, 176, 172, 179, 185, 180, 165, 151, 142, 139, 126, 148, 165, 152, 156, 163,
+  147, 145, 150, 159, 154, 150, 159, 159, 152, 151, 160, 165, 157, 163, 163, 157,
+  165, 158, 162, 163, 164, 164, 162, 158, 156, 147, 137, 139, 149, 157, 161, 160,
+  158, 157, 162, 160, 156, 139, 125, 141, 170, 178, 144, 137, 128, 124, 170, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 226, 167, 169, 176, 177, 178, 179, 179, 178, 177, 178, 175,
+  179, 180, 177, 169, 161, 157, 155, 146, 131, 133, 148, 175, 179, 155, 156, 155,
+  161, 154, 150, 158, 159, 152, 150, 128, 135, 132, 138, 136, 130, 139, 135, 150,
+  151, 152, 153, 153, 154, 154, 148, 154, 153, 160, 164, 166, 162, 157, 153, 157,
+  142, 134, 130, 132, 157, 186, 196, 174, 171, 168, 167, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 169, 167, 167, 171, 175, 177, 178, 176, 173, 172, 180, 178, 174, 174,
+  175, 170, 161, 155, 170, 142, 130, 137, 162, 167, 143, 145, 155, 159, 156, 157,
+  170, 178, 174, 174, 148, 160, 161, 168, 164, 156, 170, 172, 165, 156, 141, 128,
+  126, 135, 149, 154, 163, 158, 160, 160, 161, 158, 156, 151, 153, 130, 124, 140,
+  156, 172, 172, 158, 175, 176, 178, 178, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  166, 165, 169, 173, 176, 178, 176, 173, 173, 180, 177, 175, 179, 185, 178, 161,
+  150, 176, 174, 159, 130, 128, 132, 114, 113, 153, 156, 153, 153, 172, 180, 180,
+  178, 147, 163, 169, 176, 171, 163, 181, 185, 167, 157, 144, 135, 134, 144, 158,
+  163, 159, 153, 151, 151, 153, 153, 151, 147, 131, 135, 153, 159, 156, 165, 185,
+  193, 172, 170, 173, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 168,
+  169, 171, 174, 175, 176, 177, 179, 177, 176, 180, 185, 180, 168, 159, 155, 167,
+  169, 142, 129, 128, 118, 130, 159, 160, 154, 153, 171, 178, 174, 171, 155, 169,
+  173, 182, 179, 169, 183, 184, 139, 140, 140, 141, 144, 151, 155, 157, 153, 150,
+  146, 147, 148, 148, 144, 139, 136, 147, 168, 174, 168, 171, 171, 160, 176, 175,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 164, 163, 163, 166,
+  168, 172, 175, 178, 175, 174, 175, 179, 179, 178, 178, 166, 165, 173, 168, 155,
+  131, 117, 143, 149, 150, 144, 143, 160, 167, 163, 161, 153, 165, 163, 172, 170,
+  158, 167, 164, 149, 148, 143, 140, 144, 151, 160, 164, 155, 152, 148, 148, 148,
+  145, 138, 133, 159, 176, 193, 185, 166, 168, 179, 177, 172, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 159, 160, 165, 170, 170, 168,
+  171, 174, 176, 179, 178, 177, 175, 176, 166, 164, 164, 171, 168, 155, 147, 147,
+  153, 143, 158, 157, 170, 145, 147, 144, 129, 130, 132, 135, 140, 143, 147, 148,
+  159, 148, 138, 138, 148, 157, 158, 155, 156, 152, 143, 139, 141, 148, 145, 138,
+  187, 185, 184, 175, 163, 154, 156, 163, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 162, 168, 171, 174, 172, 167, 170, 172,
+  174, 174, 174, 173, 175, 175, 159, 150, 160, 173, 171, 167, 168, 166, 156, 158,
+  158, 160, 144, 143, 147, 147, 147, 146, 145, 146, 151, 156, 158, 155, 150, 147,
+  149, 155, 157, 154, 149, 141, 153, 154, 144, 140, 147, 147, 142, 129, 117, 100,
+  81, 59, 42, 37, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 226, 172, 176, 175, 170, 170, 171, 173, 174, 175,
+  173, 175, 180, 164, 153, 158, 170, 177, 184, 191, 188, 181, 167, 169, 156, 149,
+  144, 153, 155, 157, 157, 157, 158, 160, 163, 162, 152, 153, 155, 161, 163, 157,
+  150, 143, 154, 153, 142, 131, 134, 140, 132, 113, 49, 42, 39, 43, 46, 45,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 227, 174, 176, 177, 176, 175, 175, 174, 174, 175, 175, 176,
+  173, 171, 168, 166, 169, 184, 200, 211, 208, 189, 195, 174, 175, 162, 171, 172,
+  174, 177, 175, 173, 168, 161, 155, 152, 155, 161, 162, 162, 155, 148, 143, 137,
+  134, 133, 130, 119, 94, 63, 40, 49, 49, 54, 63, 64, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 228, 177, 181, 180, 178, 176, 173, 170, 170, 172, 174, 177, 178, 174,
+  166, 163, 169, 179, 197, 201, 190, 203, 189, 194, 180, 187, 197, 196, 189, 181,
+  170, 161, 152, 145, 155, 155, 157, 157, 153, 149, 148, 145, 144, 136, 131, 114,
+  76, 45, 57, 88, 112, 118, 132, 184, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  230, 180, 179, 178, 174, 170, 167, 165, 167, 179, 175, 168, 169, 171, 168, 158,
+  151, 154, 162, 165, 176, 175, 181, 176, 180, 191, 184, 174, 164, 155, 154, 153,
+  151, 157, 154, 152, 151, 148, 148, 147, 144, 128, 109, 94, 81, 61, 61, 105,
+  161, 191, 187, 211, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 178,
+  176, 176, 172, 168, 165, 167, 179, 176, 168, 167, 172, 168, 155, 143, 139, 141,
+  150, 149, 160, 159, 163, 161, 165, 163, 158, 154, 152, 154, 157, 157, 154, 152,
+  149, 150, 150, 149, 146, 138, 128, 128, 142, 156, 164, 168, 176, 186, 194, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 178, 178, 177,
+  172, 169, 170, 174, 178, 176, 172, 168, 166, 159, 157, 160, 156, 160, 145, 155,
+  144, 155, 149, 155, 156, 159, 163, 164, 163, 159, 155, 152, 152, 151, 153, 154,
+  149, 142, 132, 141, 160, 178, 176, 175, 180, 179, 173, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 175, 176, 175, 173, 171,
+  175, 176, 173, 171, 169, 168, 168, 168, 162, 162, 161, 163, 163, 165, 165, 165,
+  159, 160, 163, 163, 160, 159, 161, 162, 159, 158, 159, 158, 151, 142, 143, 144,
+  182, 172, 174, 182, 185, 177, 201, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 178, 179, 179, 179, 177, 176, 175,
+  173, 173, 173, 174, 175, 169, 168, 165, 163, 161, 159, 158, 156, 157, 159, 162,
+  161, 161, 160, 162, 163, 164, 162, 161, 152, 134, 128, 146, 169, 157, 165, 180,
+  188, 184, 177, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 178, 181, 182, 179, 178, 176, 175, 174, 176,
+  178, 179, 178, 177, 174, 171, 169, 167, 165, 163, 165, 165, 164, 163, 163, 163,
+  165, 166, 170, 163, 157, 152, 146, 147, 161, 177, 180, 188, 194, 190, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 229, 182, 181, 179, 176, 174, 174, 175, 177, 179, 180,
+  179, 177, 175, 174, 173, 172, 172, 168, 167, 165, 165, 165, 166, 168, 169, 165,
+  162, 153, 144, 150, 168, 179, 179, 180, 181, 206, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 230, 182, 180, 178, 176, 175, 175, 177, 178, 180, 179, 177, 175,
+  174, 173, 172, 172, 170, 168, 166, 165, 166, 168, 169, 168, 157, 161, 152, 138,
+  147, 172, 177, 165, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 230, 180, 179, 178, 178, 179, 179, 188, 186, 184, 181, 178, 176, 175,
+  175, 171, 169, 167, 167, 168, 168, 168, 164, 159, 150, 144, 152, 176, 183, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  175, 177, 178, 178, 178, 177, 187, 186, 183, 181, 179, 177, 176, 176, 175, 173,
+  169, 168, 169, 166, 162, 158, 163, 142, 144, 172, 184, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176,
+  176, 177, 175, 176, 175, 175, 173, 174, 173, 174, 175, 178, 174, 171, 169, 168,
+  164, 159, 152, 156, 144, 157, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  170, 173, 178, 174, 170, 167, 172, 176, 164, 166, 165, 161, 158, 157, 155, 149,
+  135, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 64, 76,
+  80, 27, 31, 80, 128, 43, 19, 39, 69, 57, 72, 59, 67, 74, 81, 86,
+  95, 116, 182, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 196, 93, 107, 98, 108, 135, 148, 168, 163, 155, 67, 64,
+  77, 105, 126, 129, 121, 103, 89, 141, 141, 127, 113, 123, 123, 124, 145, 177,
+  191, 201, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 68, 54, 80,
+  79, 90, 134, 172, 183, 178, 190, 176, 147, 159, 140, 157, 155, 181, 164, 141,
+  147, 124, 140, 146, 175, 164, 129, 125, 137, 138, 136, 154, 186, 196, 187, 195,
+  210, 242, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 207, 94, 108, 116, 128, 119, 154, 167, 181,
+  187, 198, 177, 164, 169, 143, 150, 139, 165, 184, 197, 192, 150, 143, 136, 195,
+  196, 170, 156, 162, 140, 152, 154, 154, 169, 196, 204, 198, 180, 188, 198, 210,
+  227, 243, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 192, 79, 91, 99, 66, 73, 93, 120, 125, 183, 201, 194, 168, 174, 159,
+  158, 146, 148, 153, 167, 178, 200, 159, 153, 173, 183, 180, 170, 145, 151, 137,
+  158, 156, 160, 153, 142, 140, 150, 151, 146, 174, 174, 176, 180, 186, 190, 203,
+  224, 242, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 42, 40, 58, 60,
+  71, 107, 111, 134, 138, 144, 133, 168, 172, 176, 152, 156, 146, 160, 145, 158,
+  198, 152, 175, 153, 159, 177, 183, 161, 193, 211, 199, 188, 130, 173, 160, 159,
+  151, 137, 131, 133, 136, 136, 155, 143, 128, 120, 124, 136, 155, 170, 199, 213,
+  231, 244, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 209, 118, 103, 102, 85, 94, 130, 146, 149,
+  173, 136, 165, 219, 182, 182, 158, 131, 141, 149, 136, 164, 173, 152, 149, 150,
+  163, 150, 183, 143, 143, 167, 186, 169, 149, 159, 177, 164, 135, 112, 112, 120,
+  122, 125, 130, 120, 157, 145, 120, 133, 129, 115, 127, 141, 169, 215, 202, 202,
+  231, 244, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 203, 118, 109, 128, 126, 151, 164, 188, 222, 193, 224, 215, 210, 183,
+  183, 177, 152, 137, 144, 152, 136, 167, 134, 133, 139, 146, 143, 156, 154, 154,
+  130, 155, 169, 155, 147, 168, 173, 148, 114, 133, 139, 126, 125, 139, 143, 132,
+  125, 133, 122, 123, 147, 138, 109, 105, 108, 109, 137, 164, 185, 193, 195, 226,
+  250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 96, 107, 110,
+  125, 188, 181, 215, 214, 208, 224, 212, 224, 223, 201, 182, 164, 171, 153, 153,
+  172, 142, 153, 130, 132, 134, 144, 173, 155, 113, 110, 150, 154, 163, 141, 135,
+  150, 169, 181, 169, 142, 149, 152, 156, 153, 140, 126, 123, 126, 136, 147, 151,
+  134, 103, 87, 109, 147, 139, 113, 94, 119, 143, 150, 170, 182, 189, 233, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 192, 80, 48, 87, 112, 143, 219, 185,
+  216, 196, 211, 204, 172, 190, 167, 153, 114, 119, 141, 122, 136, 173, 137, 180,
+  171, 162, 162, 154, 158, 144, 151, 156, 189, 170, 187, 167, 178, 195, 164, 121,
+  127, 160, 178, 170, 166, 160, 138, 118, 131, 159, 172, 132, 112, 121, 135, 143,
+  128, 96, 106, 112, 100, 127, 148, 151, 166, 152, 148, 151, 192, 246, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 210, 67, 42, 83, 91, 113, 184, 177, 231, 202, 194, 190, 197, 189,
+  169, 175, 116, 134, 131, 109, 99, 109, 141, 144, 170, 175, 210, 165, 174, 144,
+  145, 125, 126, 177, 175, 179, 154, 141, 135, 139, 146, 143, 145, 146, 139, 138,
+  160, 158, 124, 96, 101, 123, 137, 131, 124, 129, 125, 114, 131, 143, 123, 94,
+  109, 103, 121, 127, 125, 151, 151, 145, 134, 137, 168, 224, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 69, 99,
+  104, 109, 147, 140, 177, 205, 185, 206, 170, 175, 186, 189, 165, 142, 155, 124,
+  136, 151, 125, 146, 166, 172, 174, 182, 164, 178, 137, 123, 136, 152, 119, 125,
+  165, 154, 162, 160, 170, 183, 186, 160, 126, 121, 126, 117, 117, 118, 114, 106,
+  102, 102, 101, 97, 129, 125, 124, 111, 101, 127, 148, 134, 138, 120, 97, 95,
+  81, 71, 103, 136, 150, 133, 133, 154, 163, 162, 193, 232, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 214, 137, 116, 120, 133, 171, 175, 194,
+  203, 199, 164, 164, 147, 165, 170, 200, 171, 172, 161, 153, 180, 161, 166, 133,
+  172, 209, 154, 153, 155, 118, 133, 139, 128, 160, 157, 118, 153, 177, 179, 194,
+  184, 166, 143, 123, 114, 107, 107, 99, 80, 104, 88, 89, 112, 124, 113, 107,
+  113, 109, 114, 123, 126, 123, 127, 123, 109, 122, 105, 106, 105, 99, 95, 92,
+  109, 126, 120, 121, 138, 155, 153, 135, 118, 144, 188, 229, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 220, 152, 110, 119, 152, 169, 173, 210, 177, 170, 207, 197, 157,
+  162, 159, 146, 169, 173, 143, 177, 192, 193, 172, 173, 135, 129, 113, 151, 125,
+  129, 145, 156, 130, 102, 121, 143, 160, 160, 201, 153, 134, 166, 167, 144, 139,
+  128, 104, 90, 100, 106, 93, 73, 101, 113, 92, 66, 62, 77, 89, 108, 98,
+  96, 105, 112, 114, 114, 116, 120, 112, 119, 101, 111, 140, 120, 111, 93, 99,
+  102, 109, 131, 139, 110, 72, 77, 85, 97, 128, 184, 229, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 235, 221, 180,
+  150, 132, 136, 166, 190, 184, 157, 196, 163, 172, 137, 150, 162, 143, 139, 158,
+  174, 190, 186, 180, 196, 177, 133, 119, 112, 149, 115, 142, 130, 127, 140, 155,
+  170, 190, 210, 200, 162, 155, 128, 112, 98, 127, 133, 126, 121, 103, 100, 107,
+  92, 81, 96, 112, 81, 61, 54, 47, 53, 69, 77, 72, 84, 97, 102, 99,
+  100, 109, 118, 116, 110, 103, 97, 92, 88, 84, 81, 84, 76, 91, 101, 95,
+  100, 104, 90, 86, 100, 75, 79, 90, 90, 131, 178, 226, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 237, 220, 202, 157, 118, 122, 147,
+  184, 157, 139, 183, 134, 142, 135, 125, 150, 135, 162, 168, 166, 168, 197, 143,
+  169, 131, 153, 127, 103, 79, 95, 144, 124, 139, 153, 159, 160, 165, 174, 181,
+  198, 169, 158, 133, 119, 85, 81, 71, 68, 61, 48, 48, 58, 59, 59, 66,
+  51, 46, 56, 70, 69, 66, 59, 47, 64, 72, 82, 88, 89, 88, 90, 92,
+  99, 95, 90, 85, 82, 78, 74, 71, 60, 68, 84, 84, 69, 65, 74, 79,
+  88, 101, 90, 85, 85, 78, 80, 77, 75, 118, 220, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 236, 157, 195, 190, 157, 176, 175, 129, 131, 141, 146, 133, 132,
+  151, 137, 127, 117, 157, 181, 188, 186, 135, 129, 113, 170, 177, 163, 127, 126,
+  93, 105, 126, 101, 76, 90, 104, 115, 123, 137, 149, 140, 122, 103, 105, 109,
+  96, 91, 64, 64, 75, 52, 46, 44, 46, 51, 65, 71, 62, 33, 35, 50,
+  62, 64, 68, 64, 47, 64, 63, 62, 64, 69, 75, 79, 82, 81, 79, 76,
+  74, 73, 70, 66, 62, 62, 66, 63, 62, 68, 69, 67, 73, 80, 99, 115,
+  107, 103, 100, 90, 102, 63, 36, 52, 140, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210,
+  110, 178, 181, 181, 174, 161, 135, 144, 161, 115, 120, 142, 164, 123, 121, 99,
+  86, 125, 128, 144, 128, 112, 144, 144, 161, 158, 124, 131, 119, 127, 112, 82,
+  86, 56, 90, 100, 112, 126, 140, 140, 119, 94, 104, 89, 71, 83, 124, 118,
+  84, 66, 52, 49, 57, 55, 48, 62, 69, 48, 50, 47, 46, 42, 41, 57,
+  67, 58, 56, 55, 55, 58, 64, 70, 75, 78, 71, 70, 70, 70, 70, 68,
+  64, 61, 68, 70, 55, 54, 77, 86, 84, 95, 91, 86, 99, 92, 107, 116,
+  83, 82, 83, 70, 106, 154, 198, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 152, 161, 216, 188, 152, 148,
+  167, 201, 170, 138, 161, 164, 145, 117, 122, 159, 152, 108, 138, 137, 137, 128,
+  132, 144, 171, 136, 143, 135, 84, 69, 80, 75, 109, 107, 96, 108, 88, 98,
+  113, 134, 141, 122, 90, 70, 66, 47, 73, 84, 93, 93, 72, 44, 47, 44,
+  45, 53, 43, 29, 42, 52, 33, 44, 42, 44, 40, 37, 51, 59, 50, 44,
+  52, 61, 68, 71, 72, 71, 70, 69, 68, 68, 68, 68, 67, 64, 60, 54,
+  67, 60, 54, 68, 77, 91, 119, 97, 69, 67, 75, 121, 144, 92, 67, 66,
+  100, 148, 172, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 229, 179, 167, 148, 165, 161, 164, 135, 152, 170, 161,
+  182, 174, 134, 169, 179, 160, 171, 159, 163, 151, 145, 135, 122, 149, 136, 142,
+  83, 97, 104, 103, 99, 106, 137, 121, 79, 89, 86, 117, 145, 137, 132, 125,
+  103, 75, 66, 72, 53, 66, 68, 83, 83, 82, 61, 59, 43, 45, 43, 31,
+  24, 37, 49, 43, 35, 33, 40, 44, 43, 54, 62, 57, 59, 57, 54, 54,
+  55, 63, 70, 76, 65, 65, 62, 62, 61, 60, 56, 55, 54, 57, 49, 50,
+  63, 76, 89, 103, 88, 87, 92, 100, 128, 140, 116, 107, 104, 119, 148, 189,
+  185, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 241, 207, 222, 196, 185, 192, 173, 136, 121, 184, 187, 151, 161, 161, 132,
+  137, 145, 145, 143, 139, 202, 160, 155, 156, 177, 192, 137, 126, 121, 125, 101,
+  95, 133, 85, 103, 149, 142, 135, 110, 152, 125, 103, 78, 63, 60, 58, 56,
+  54, 53, 69, 75, 78, 44, 51, 62, 81, 39, 42, 32, 25, 33, 40, 39,
+  39, 42, 34, 39, 46, 46, 55, 68, 72, 68, 57, 44, 40, 47, 61, 73,
+  80, 64, 61, 57, 55, 53, 51, 48, 45, 58, 43, 39, 50, 63, 79, 84,
+  75, 95, 122, 120, 108, 92, 82, 100, 117, 122, 125, 132, 178, 186, 181, 192,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 189, 178,
+  201, 166, 147, 146, 166, 164, 153, 154, 147, 175, 178, 159, 164, 143, 126, 142,
+  134, 193, 166, 177, 168, 146, 115, 105, 100, 107, 99, 115, 133, 95, 96, 137,
+  141, 170, 133, 117, 118, 100, 82, 86, 80, 64, 56, 57, 55, 47, 51, 46,
+  45, 65, 47, 69, 67, 59, 44, 48, 36, 35, 55, 53, 34, 32, 44, 34,
+  41, 52, 51, 52, 62, 67, 49, 44, 42, 50, 65, 73, 70, 64, 64, 60,
+  54, 50, 48, 46, 43, 41, 40, 34, 49, 60, 53, 62, 76, 70, 104, 125,
+  99, 85, 73, 69, 109, 129, 132, 188, 179, 155, 143, 177, 168, 195, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 146, 131, 128, 149, 136, 179,
+  141, 133, 125, 119, 160, 157, 168, 148, 165, 162, 123, 102, 123, 135, 170, 168,
+  159, 125, 126, 125, 141, 96, 112, 81, 82, 80, 120, 121, 158, 198, 116, 145,
+  77, 93, 82, 63, 62, 69, 67, 52, 50, 57, 57, 45, 44, 50, 60, 64,
+  57, 48, 46, 38, 41, 44, 43, 38, 35, 35, 37, 46, 41, 39, 41, 41,
+  41, 44, 49, 46, 45, 44, 45, 49, 54, 60, 64, 70, 55, 50, 60, 60,
+  46, 39, 43, 37, 40, 44, 46, 49, 58, 71, 82, 79, 84, 96, 106, 111,
+  114, 122, 133, 156, 157, 154, 146, 144, 155, 173, 187, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 220, 167, 194, 204, 172, 150, 186, 187, 180, 120, 138, 202,
+  206, 199, 179, 174, 167, 153, 147, 107, 114, 136, 185, 184, 201, 152, 157, 163,
+  141, 158, 121, 109, 103, 109, 110, 114, 132, 100, 88, 86, 69, 82, 87, 63,
+  68, 64, 68, 66, 53, 50, 54, 50, 51, 47, 47, 54, 56, 50, 46, 46,
+  61, 58, 52, 42, 33, 30, 32, 36, 36, 32, 30, 32, 33, 32, 35, 39,
+  38, 37, 36, 36, 38, 43, 48, 51, 63, 51, 44, 48, 49, 42, 38, 41,
+  30, 33, 34, 35, 36, 43, 54, 64, 70, 91, 116, 128, 120, 111, 116, 128,
+  125, 133, 141, 144, 143, 143, 145, 147, 150, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  219, 167, 188, 180, 168, 170, 217, 205, 186, 177, 193, 235, 201, 228, 165, 141,
+  149, 155, 110, 139, 159, 181, 217, 210, 184, 185, 205, 177, 136, 115, 129, 115,
+  100, 113, 107, 113, 99, 110, 130, 139, 110, 93, 66, 62, 62, 57, 53, 57,
+  56, 46, 45, 49, 43, 55, 49, 45, 46, 45, 43, 43, 46, 57, 54, 47,
+  37, 30, 28, 33, 39, 33, 29, 29, 31, 32, 31, 33, 39, 37, 35, 33,
+  33, 34, 38, 41, 44, 52, 45, 38, 34, 36, 38, 39, 38, 34, 35, 34,
+  34, 34, 39, 48, 55, 78, 91, 104, 106, 94, 85, 92, 106, 109, 120, 135,
+  146, 146, 137, 127, 121, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 134, 132, 138, 165,
+  179, 167, 196, 186, 158, 158, 154, 192, 190, 148, 125, 156, 178, 146, 133, 153,
+  204, 211, 224, 220, 182, 178, 140, 132, 109, 129, 124, 93, 61, 76, 118, 119,
+  119, 100, 76, 116, 137, 94, 124, 98, 75, 34, 46, 45, 53, 54, 44, 46,
+  52, 51, 54, 50, 45, 41, 40, 40, 42, 44, 43, 43, 43, 38, 33, 31,
+  33, 36, 35, 32, 32, 35, 36, 34, 36, 39, 37, 36, 34, 33, 33, 35,
+  38, 40, 41, 42, 37, 29, 31, 39, 40, 35, 41, 41, 40, 39, 37, 42,
+  48, 53, 71, 67, 64, 66, 66, 66, 70, 76, 89, 96, 110, 123, 126, 120,
+  111, 107, 122, 177, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 212, 122, 132, 163, 200, 204, 185, 183,
+  151, 197, 193, 150, 175, 144, 193, 216, 148, 96, 114, 149, 205, 223, 231, 189,
+  186, 164, 99, 110, 108, 119, 99, 115, 120, 98, 86, 49, 49, 92, 128, 165,
+  146, 144, 130, 102, 124, 110, 38, 61, 62, 71, 70, 55, 54, 63, 64, 49,
+  48, 45, 41, 40, 41, 43, 43, 50, 50, 47, 40, 33, 28, 29, 31, 33,
+  30, 31, 35, 35, 32, 32, 35, 32, 31, 29, 28, 29, 30, 32, 34, 37,
+  43, 42, 34, 35, 43, 43, 35, 39, 39, 37, 36, 36, 38, 43, 47, 42,
+  40, 45, 55, 62, 64, 65, 67, 72, 77, 91, 108, 117, 115, 114, 116, 132,
+  122, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 126, 125, 110, 150, 224, 220, 184, 198, 166, 188, 182, 216,
+  225, 243, 213, 154, 146, 153, 149, 143, 129, 177, 170, 162, 182, 130, 96, 108,
+  133, 113, 104, 120, 93, 100, 83, 87, 90, 133, 165, 154, 123, 111, 137, 128,
+  115, 100, 117, 97, 79, 78, 83, 78, 60, 54, 59, 58, 42, 46, 45, 41,
+  39, 41, 42, 42, 49, 47, 41, 32, 25, 24, 30, 35, 33, 31, 32, 36,
+  36, 31, 30, 31, 27, 28, 27, 27, 28, 29, 31, 33, 38, 44, 45, 41,
+  40, 44, 42, 35, 37, 36, 33, 32, 32, 34, 37, 39, 39, 42, 48, 50,
+  48, 49, 61, 74, 63, 69, 87, 109, 120, 120, 122, 129, 134, 120, 224, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  204, 132, 131, 126, 156, 190, 169, 161, 210, 138, 206, 186, 224, 204, 155, 171,
+  138, 152, 125, 136, 142, 135, 144, 146, 171, 130, 144, 116, 118, 89, 107, 93,
+  113, 89, 92, 94, 88, 99, 116, 140, 104, 124, 115, 131, 112, 136, 90, 83,
+  71, 75, 68, 68, 65, 52, 49, 49, 41, 38, 43, 44, 38, 35, 37, 39,
+  38, 36, 37, 34, 29, 26, 27, 34, 40, 35, 33, 35, 38, 37, 31, 28,
+  29, 28, 28, 28, 29, 30, 33, 35, 36, 42, 44, 45, 44, 42, 41, 39,
+  37, 41, 39, 34, 32, 33, 34, 34, 36, 48, 47, 44, 43, 41, 44, 58,
+  72, 57, 62, 78, 97, 103, 100, 104, 115, 115, 125, 163, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 91, 134, 121,
+  136, 155, 168, 191, 180, 130, 197, 187, 197, 152, 160, 190, 145, 160, 136, 116,
+  131, 105, 134, 172, 184, 171, 167, 146, 131, 110, 122, 97, 97, 101, 132, 99,
+  106, 104, 146, 142, 181, 150, 128, 112, 103, 122, 54, 93, 96, 76, 62, 50,
+  47, 49, 46, 48, 46, 33, 38, 43, 43, 36, 30, 35, 36, 36, 35, 39,
+  42, 41, 37, 34, 34, 36, 33, 31, 32, 35, 34, 27, 23, 24, 24, 24,
+  25, 27, 29, 32, 34, 36, 46, 44, 44, 44, 41, 37, 36, 38, 42, 39,
+  34, 31, 31, 31, 30, 29, 35, 30, 34, 49, 61, 65, 63, 61, 76, 77,
+  86, 97, 96, 90, 97, 112, 93, 112, 127, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 198, 124, 172, 188, 212, 196, 156, 197,
+  222, 173, 172, 125, 141, 132, 150, 115, 130, 159, 146, 125, 93, 92, 139, 164,
+  135, 120, 144, 117, 115, 126, 112, 119, 104, 115, 114, 87, 100, 121, 134, 154,
+  167, 145, 122, 108, 112, 92, 93, 87, 115, 100, 86, 69, 55, 48, 52, 52,
+  43, 41, 46, 54, 51, 48, 45, 37, 30, 33, 40, 35, 38, 36, 30, 31,
+  37, 39, 36, 26, 33, 42, 45, 36, 22, 17, 19, 26, 24, 24, 26, 31,
+  36, 39, 40, 36, 40, 44, 45, 44, 41, 40, 39, 35, 40, 42, 39, 33,
+  33, 39, 48, 35, 37, 43, 53, 63, 68, 67, 66, 65, 62, 63, 72, 80,
+  87, 94, 99, 96, 95, 113, 120, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 230, 190, 178, 162, 197, 215, 180, 155, 176, 176, 157, 153,
+  171, 174, 157, 152, 162, 145, 127, 107, 126, 139, 153, 160, 150, 131, 114, 109,
+  131, 117, 106, 116, 120, 117, 103, 97, 147, 138, 116, 135, 144, 131, 138, 129,
+  100, 129, 156, 145, 118, 88, 75, 67, 76, 59, 48, 50, 51, 45, 44, 49,
+  50, 44, 40, 40, 39, 36, 36, 37, 34, 36, 35, 30, 30, 35, 38, 35,
+  40, 31, 26, 30, 35, 33, 25, 20, 18, 20, 23, 26, 30, 33, 35, 37,
+  47, 48, 50, 48, 45, 41, 39, 39, 36, 37, 37, 35, 34, 35, 37, 39,
+  34, 36, 41, 48, 55, 58, 57, 56, 52, 49, 52, 61, 70, 78, 87, 95,
+  90, 91, 111, 120, 172, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  238, 177, 198, 196, 193, 182, 185, 143, 152, 181, 190, 215, 210, 144, 128, 158,
+  140, 127, 108, 120, 113, 106, 103, 93, 75, 73, 100, 119, 113, 92, 99, 94,
+  113, 93, 101, 99, 119, 148, 162, 189, 153, 143, 167, 146, 145, 183, 128, 114,
+  121, 141, 98, 89, 92, 73, 54, 41, 41, 44, 42, 42, 46, 49, 38, 33,
+  37, 41, 40, 35, 32, 33, 34, 32, 29, 29, 34, 36, 35, 41, 40, 39,
+  36, 27, 18, 19, 25, 22, 27, 31, 33, 32, 32, 33, 36, 43, 43, 43,
+  40, 35, 32, 31, 31, 34, 32, 30, 31, 34, 36, 34, 32, 32, 34, 37,
+  42, 46, 46, 44, 43, 46, 44, 46, 53, 62, 69, 79, 89, 87, 85, 101,
+  106, 115, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 132, 109, 113,
+  147, 203, 204, 194, 172, 182, 192, 185, 171, 132, 142, 144, 135, 108, 146, 125,
+  84, 119, 144, 133, 137, 145, 138, 135, 134, 126, 111, 118, 103, 87, 69, 104,
+  150, 194, 187, 149, 91, 121, 140, 113, 120, 100, 100, 121, 134, 115, 124, 121,
+  95, 45, 63, 47, 35, 35, 41, 42, 42, 43, 48, 39, 35, 38, 41, 38,
+  33, 29, 33, 33, 31, 29, 30, 32, 35, 35, 31, 38, 46, 44, 31, 18,
+  19, 27, 34, 37, 40, 37, 31, 27, 30, 33, 42, 42, 41, 38, 35, 34,
+  35, 37, 27, 26, 27, 29, 32, 34, 32, 31, 31, 33, 35, 38, 40, 39,
+  37, 36, 46, 43, 44, 49, 54, 60, 69, 79, 86, 80, 88, 85, 91, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 172, 165, 188, 191, 145, 187,
+  175, 187, 179, 178, 190, 163, 133, 148, 130, 150, 160, 138, 143, 116, 119, 95,
+  125, 182, 224, 209, 160, 125, 112, 95, 109, 122, 113, 137, 151, 154, 129, 110,
+  121, 153, 123, 119, 142, 105, 95, 114, 96, 80, 90, 66, 50, 47, 74, 53,
+  42, 36, 38, 45, 47, 45, 44, 43, 39, 39, 41, 39, 35, 34, 37, 36,
+  34, 32, 31, 31, 32, 34, 36, 32, 25, 25, 34, 43, 43, 37, 32, 37,
+  39, 37, 31, 24, 22, 26, 31, 30, 30, 29, 26, 23, 23, 25, 27, 20,
+  23, 27, 28, 29, 29, 31, 33, 31, 33, 35, 37, 37, 37, 36, 36, 39,
+  38, 39, 43, 46, 50, 58, 67, 77, 73, 82, 77, 80, 94, 255, 255, 255,
+  255, 255, 255, 255, 255, 56, 108, 133, 129, 85, 126, 160, 171, 170, 197, 175,
+  160, 176, 158, 156, 114, 151, 147, 148, 141, 143, 123, 171, 194, 189, 163, 138,
+  127, 118, 116, 131, 106, 104, 108, 90, 127, 137, 133, 91, 96, 80, 50, 86,
+  101, 84, 112, 117, 105, 96, 63, 64, 51, 68, 44, 29, 39, 36, 35, 37,
+  42, 43, 41, 39, 35, 36, 40, 42, 38, 35, 40, 48, 41, 37, 34, 34,
+  34, 32, 33, 37, 37, 29, 25, 32, 40, 43, 43, 44, 38, 37, 34, 28,
+  24, 25, 30, 35, 23, 23, 21, 19, 16, 14, 16, 18, 22, 24, 27, 28,
+  26, 27, 30, 33, 30, 33, 36, 37, 36, 35, 35, 37, 34, 35, 39, 44,
+  46, 48, 55, 65, 63, 64, 82, 81, 82, 91, 144, 255, 255, 255, 255, 255,
+  255, 208, 106, 134, 110, 101, 83, 138, 176, 147, 159, 178, 180, 172, 161, 149,
+  148, 169, 148, 136, 143, 132, 148, 166, 142, 139, 148, 124, 117, 145, 137, 107,
+  108, 107, 114, 121, 119, 122, 113, 95, 72, 57, 70, 95, 75, 61, 71, 66,
+  81, 85, 69, 62, 73, 62, 40, 33, 47, 32, 34, 35, 34, 35, 35, 35,
+  35, 35, 35, 39, 40, 37, 35, 42, 51, 46, 40, 37, 38, 36, 32, 33,
+  38, 40, 38, 38, 40, 39, 36, 38, 43, 37, 34, 31, 28, 26, 27, 29,
+  31, 31, 32, 33, 32, 30, 30, 31, 33, 31, 29, 26, 25, 27, 28, 27,
+  27, 29, 32, 35, 35, 33, 32, 33, 35, 34, 36, 41, 45, 45, 45, 50,
+  59, 57, 59, 76, 73, 71, 79, 79, 255, 255, 255, 255, 255, 255, 79, 111,
+  164, 156, 165, 164, 183, 192, 238, 219, 166, 161, 158, 138, 155, 163, 140, 146,
+  144, 136, 140, 128, 163, 139, 127, 138, 110, 103, 132, 113, 92, 126, 141, 133,
+  114, 122, 96, 87, 63, 66, 78, 67, 55, 66, 70, 62, 68, 72, 44, 59,
+  68, 34, 42, 42, 43, 15, 35, 39, 40, 36, 34, 34, 36, 37, 39, 37,
+  37, 38, 35, 34, 39, 46, 50, 43, 39, 40, 38, 33, 33, 39, 44, 31,
+  26, 39, 56, 57, 42, 29, 33, 30, 26, 24, 23, 22, 20, 18, 19, 21,
+  24, 26, 27, 28, 31, 33, 41, 33, 25, 24, 28, 29, 26, 21, 29, 32,
+  34, 33, 30, 29, 30, 32, 32, 35, 39, 41, 39, 35, 39, 46, 60, 57,
+  67, 57, 52, 62, 68, 255, 255, 255, 255, 255, 93, 102, 114, 85, 164, 143,
+  113, 170, 173, 172, 167, 152, 142, 137, 146, 150, 152, 139, 135, 143, 134, 137,
+  147, 132, 127, 110, 128, 95, 134, 116, 138, 137, 138, 90, 95, 98, 113, 90,
+  89, 72, 63, 69, 62, 56, 57, 64, 70, 72, 70, 76, 65, 56, 52, 41,
+  27, 26, 35, 32, 34, 38, 42, 44, 40, 33, 27, 30, 33, 37, 37, 33,
+  28, 25, 24, 32, 33, 33, 33, 34, 36, 34, 31, 38, 34, 34, 39, 41,
+  36, 31, 29, 17, 18, 20, 22, 23, 23, 22, 22, 19, 21, 23, 25, 27,
+  30, 34, 36, 38, 38, 37, 32, 27, 26, 28, 31, 40, 33, 31, 36, 37,
+  32, 28, 30, 33, 24, 24, 35, 38, 34, 44, 63, 52, 47, 42, 41, 45,
+  56, 66, 134, 255, 255, 255, 255, 180, 184, 140, 150, 144, 111, 160, 165, 162,
+  132, 147, 162, 165, 158, 146, 130, 119, 142, 135, 139, 126, 124, 126, 105, 97,
+  86, 115, 114, 154, 140, 134, 112, 94, 94, 90, 83, 94, 74, 80, 66, 58,
+  30, 37, 49, 59, 67, 70, 71, 72, 64, 54, 48, 46, 40, 32, 34, 44,
+  39, 39, 41, 43, 44, 40, 34, 29, 39, 39, 41, 40, 36, 32, 29, 27,
+  27, 27, 26, 24, 24, 24, 23, 21, 33, 29, 30, 36, 38, 35, 31, 31,
+  28, 27, 26, 25, 24, 22, 20, 19, 20, 25, 30, 31, 30, 32, 39, 45,
+  39, 38, 34, 29, 25, 25, 29, 33, 25, 22, 25, 33, 37, 34, 32, 34,
+  38, 34, 36, 42, 43, 40, 46, 59, 64, 58, 51, 47, 46, 51, 57, 60,
+  255, 255, 255, 255, 91, 81, 146, 93, 148, 192, 151, 156, 163, 145, 155, 164,
+  156, 150, 143, 145, 143, 132, 128, 136, 128, 126, 127, 108, 103, 98, 118, 127,
+  144, 137, 116, 102, 83, 98, 92, 83, 95, 80, 89, 76, 67, 43, 43, 46,
+  54, 63, 67, 62, 57, 50, 41, 34, 35, 34, 31, 35, 44, 41, 41, 42,
+  43, 45, 44, 40, 36, 41, 40, 40, 40, 39, 37, 33, 31, 31, 29, 27,
+  25, 23, 21, 21, 22, 29, 26, 27, 32, 35, 32, 30, 31, 29, 27, 24,
+  21, 18, 17, 16, 16, 25, 32, 38, 36, 30, 29, 36, 43, 36, 34, 31,
+  26, 24, 26, 30, 35, 27, 27, 31, 35, 33, 28, 25, 27, 40, 43, 46,
+  46, 45, 46, 51, 55, 58, 56, 53, 50, 49, 52, 56, 59, 255, 255, 255,
+  255, 88, 102, 136, 128, 104, 87, 118, 152, 134, 169, 173, 180, 165, 163, 149,
+  149, 142, 135, 133, 143, 131, 119, 113, 93, 92, 124, 125, 130, 118, 119, 100,
+  105, 99, 102, 101, 98, 110, 89, 91, 73, 62, 62, 68, 73, 70, 62, 52,
+  47, 47, 51, 41, 32, 32, 32, 32, 34, 39, 39, 39, 39, 41, 45, 46,
+  46, 45, 32, 33, 35, 39, 40, 39, 35, 32, 35, 32, 31, 30, 29, 28,
+  30, 34, 31, 28, 29, 32, 33, 29, 27, 29, 24, 22, 19, 17, 16, 17,
+  19, 21, 34, 37, 37, 33, 26, 22, 25, 28, 30, 29, 28, 28, 28, 30,
+  33, 35, 34, 35, 36, 34, 28, 23, 23, 25, 38, 46, 48, 42, 40, 47,
+  51, 49, 46, 47, 49, 50, 50, 52, 55, 57, 121, 255, 255, 193, 92, 84,
+  72, 115, 159, 132, 113, 155, 159, 163, 146, 137, 114, 134, 142, 168, 170, 133,
+  134, 149, 140, 128, 122, 110, 118, 117, 112, 127, 107, 114, 95, 98, 93, 102,
+  105, 103, 109, 77, 71, 52, 43, 42, 66, 86, 83, 61, 43, 44, 54, 60,
+  50, 40, 38, 39, 41, 41, 43, 40, 38, 37, 39, 42, 44, 44, 44, 28,
+  31, 37, 41, 42, 38, 33, 28, 32, 29, 29, 33, 32, 31, 35, 43, 37,
+  35, 35, 37, 33, 27, 24, 25, 24, 22, 20, 18, 19, 22, 26, 28, 39,
+  35, 31, 28, 25, 23, 20, 18, 24, 26, 29, 32, 35, 36, 35, 34, 28,
+  29, 29, 25, 23, 25, 31, 36, 37, 45, 44, 33, 29, 36, 41, 38, 40,
+  43, 46, 47, 46, 46, 47, 48, 56, 255, 255, 106, 91, 90, 93, 139, 115,
+  128, 154, 148, 162, 142, 140, 164, 164, 200, 187, 185, 158, 121, 120, 137, 135,
+  133, 135, 130, 142, 104, 95, 111, 91, 100, 89, 87, 86, 99, 100, 96, 98,
+  66, 66, 57, 56, 56, 54, 52, 52, 54, 56, 55, 55, 56, 47, 39, 38,
+  44, 48, 47, 45, 44, 42, 39, 38, 39, 39, 37, 36, 34, 38, 44, 45,
+  40, 34, 28, 25, 31, 28, 31, 37, 36, 32, 37, 47, 39, 38, 40, 41,
+  36, 28, 24, 25, 23, 21, 19, 17, 18, 20, 23, 25, 35, 30, 26, 26,
+  29, 31, 28, 24, 26, 28, 32, 37, 41, 40, 35, 31, 27, 27, 23, 17,
+  16, 23, 30, 33, 38, 42, 39, 28, 21, 25, 29, 27, 28, 34, 41, 44,
+  45, 45, 48, 51, 61, 255, 255, 89, 96, 104, 89, 96, 151, 141, 113, 191,
+  152, 162, 145, 152, 131, 163, 146, 149, 124, 133, 117, 119, 113, 111, 110, 96,
+  101, 110, 91, 96, 74, 79, 85, 82, 91, 93, 91, 85, 89, 65, 72, 69,
+  71, 74, 55, 39, 42, 59, 69, 62, 51, 47, 40, 32, 35, 44, 51, 49,
+  43, 46, 43, 40, 38, 38, 36, 34, 31, 38, 43, 48, 45, 35, 28, 27,
+  28, 35, 31, 34, 40, 37, 29, 32, 43, 33, 35, 40, 44, 40, 32, 28,
+  29, 19, 18, 16, 15, 16, 18, 20, 22, 27, 26, 26, 28, 32, 35, 36,
+  36, 35, 35, 37, 40, 42, 40, 34, 29, 36, 34, 26, 16, 14, 20, 22,
+  19, 32, 34, 34, 29, 23, 22, 25, 27, 24, 31, 40, 45, 46, 47, 51,
+  54, 57, 116, 255, 113, 94, 101, 116, 153, 117, 151, 159, 139, 170, 141, 123,
+  132, 112, 153, 146, 164, 147, 145, 120, 113, 109, 114, 117, 99, 99, 115, 94,
+  93, 74, 75, 88, 80, 93, 90, 85, 76, 82, 59, 65, 57, 53, 44, 57,
+  73, 81, 78, 69, 59, 55, 45, 39, 33, 36, 46, 55, 51, 43, 43, 40,
+  38, 38, 38, 37, 34, 33, 36, 42, 45, 40, 29, 24, 28, 34, 34, 31,
+  34, 39, 33, 22, 23, 33, 26, 30, 38, 45, 42, 36, 32, 34, 17, 17,
+  17, 18, 20, 23, 26, 27, 22, 24, 28, 30, 31, 33, 38, 42, 44, 42,
+  41, 41, 41, 38, 33, 28, 37, 35, 27, 18, 18, 24, 23, 17, 24, 26,
+  30, 32, 29, 25, 28, 32, 35, 42, 48, 49, 44, 42, 44, 46, 48, 49,
+  255, 106, 114, 122, 149, 169, 189, 179, 154, 155, 151, 138, 142, 168, 159, 155,
+  162, 144, 147, 134, 139, 121, 114, 122, 101, 83, 103, 96, 95, 84, 80, 89,
+  93, 96, 105, 83, 78, 74, 72, 65, 54, 48, 48, 43, 45, 63, 68, 53,
+  58, 60, 43, 45, 42, 46, 55, 51, 42, 46, 56, 50, 53, 53, 47, 40,
+  36, 31, 27, 34, 40, 42, 39, 34, 32, 29, 24, 36, 34, 38, 45, 43,
+  33, 26, 26, 35, 36, 41, 48, 48, 41, 34, 34, 26, 24, 23, 25, 28,
+  29, 24, 20, 26, 26, 26, 26, 27, 29, 31, 31, 34, 30, 30, 38, 41,
+  38, 34, 32, 32, 28, 38, 42, 28, 21, 27, 30, 33, 34, 35, 35, 34,
+  36, 42, 46, 48, 49, 49, 47, 44, 44, 45, 46, 39, 50, 255, 94, 107,
+  129, 138, 148, 185, 196, 172, 150, 126, 170, 154, 156, 143, 148, 160, 139, 134,
+  133, 138, 122, 111, 118, 113, 102, 106, 101, 104, 96, 88, 89, 84, 79, 84,
+  81, 75, 68, 64, 57, 48, 43, 44, 52, 54, 69, 68, 50, 50, 53, 40,
+  35, 43, 47, 46, 44, 47, 50, 51, 44, 45, 44, 39, 38, 38, 36, 31,
+  33, 38, 41, 37, 34, 34, 33, 29, 33, 31, 32, 37, 35, 28, 23, 25,
+  32, 33, 41, 50, 53, 48, 44, 44, 29, 29, 29, 30, 30, 29, 25, 23,
+  27, 26, 26, 27, 28, 30, 32, 32, 38, 35, 36, 42, 45, 42, 39, 40,
+  45, 36, 40, 45, 36, 31, 32, 28, 31, 34, 39, 41, 42, 43, 45, 47,
+  42, 43, 44, 42, 40, 39, 41, 42, 39, 47, 255, 95, 114, 119, 130, 138,
+  164, 160, 133, 135, 137, 150, 167, 187, 159, 125, 120, 132, 162, 135, 136, 123,
+  105, 102, 107, 101, 89, 89, 97, 94, 91, 92, 83, 72, 74, 80, 73, 66,
+  62, 57, 50, 49, 52, 65, 66, 73, 68, 50, 46, 51, 44, 35, 47, 51,
+  43, 40, 48, 50, 44, 51, 49, 46, 42, 45, 49, 47, 41, 38, 43, 43,
+  38, 36, 36, 35, 32, 37, 34, 34, 36, 35, 31, 30, 31, 35, 36, 42,
+  50, 49, 43, 38, 37, 32, 34, 35, 36, 34, 31, 30, 31, 27, 27, 27,
+  28, 29, 31, 33, 34, 38, 36, 38, 42, 42, 38, 40, 44, 49, 36, 36,
+  42, 39, 38, 36, 26, 35, 38, 44, 48, 48, 45, 43, 43, 38, 40, 41,
+  40, 38, 37, 38, 40, 46, 48, 115, 201, 105, 129, 146, 155, 166, 141, 114,
+  144, 176, 146, 148, 152, 145, 137, 136, 136, 142, 146, 139, 133, 121, 108, 109,
+  107, 94, 81, 87, 86, 87, 93, 86, 72, 71, 74, 68, 64, 63, 61, 56,
+  56, 59, 72, 70, 69, 63, 54, 53, 54, 54, 50, 56, 57, 49, 44, 46,
+  44, 39, 57, 56, 52, 50, 53, 56, 50, 43, 46, 50, 51, 46, 42, 40,
+  37, 32, 39, 39, 39, 40, 39, 37, 35, 34, 31, 32, 36, 41, 41, 35,
+  29, 30, 37, 40, 41, 40, 35, 33, 33, 35, 27, 28, 29, 30, 31, 32,
+  34, 34, 31, 31, 34, 37, 34, 31, 34, 41, 44, 34, 35, 41, 41, 43,
+  43, 31, 41, 42, 46, 47, 45, 41, 36, 33, 38, 40, 41, 41, 40, 39,
+  40, 41, 48, 45, 41, 255, 82, 118, 122, 122, 136, 127, 109, 129, 148, 145,
+  130, 116, 124, 140, 143, 133, 117, 134, 124, 125, 127, 115, 105, 105, 105, 94,
+  94, 86, 85, 93, 87, 69, 64, 66, 63, 62, 64, 62, 57, 55, 57, 74,
+  70, 61, 56, 58, 56, 54, 55, 62, 57, 55, 58, 52, 43, 40, 44, 52,
+  51, 50, 50, 53, 54, 46, 36, 46, 52, 55, 52, 49, 46, 42, 37, 35,
+  37, 38, 39, 37, 35, 31, 28, 21, 21, 24, 32, 35, 34, 33, 36, 45,
+  48, 47, 44, 37, 33, 31, 33, 29, 30, 31, 32, 32, 34, 33, 33, 31,
+  31, 34, 36, 33, 29, 32, 38, 43, 39, 44, 46, 42, 44, 46, 38, 40,
+  39, 39, 38, 37, 34, 31, 29, 36, 39, 41, 42, 41, 40, 41, 42, 43,
+  39, 36, 255, 97, 130, 129, 118, 128, 129, 125, 145, 155, 135, 142, 135, 133,
+  120, 108, 126, 135, 128, 120, 117, 121, 115, 99, 92, 99, 101, 99, 87, 84,
+  92, 87, 73, 69, 67, 65, 65, 68, 66, 61, 59, 60, 70, 68, 57, 52,
+  57, 52, 46, 54, 63, 54, 53, 60, 58, 46, 44, 52, 46, 49, 51, 51,
+  52, 52, 43, 34, 37, 45, 49, 50, 49, 50, 48, 44, 36, 41, 43, 41,
+  38, 37, 32, 27, 26, 25, 26, 32, 34, 34, 37, 41, 55, 54, 50, 45,
+  38, 32, 29, 29, 34, 34, 35, 36, 36, 36, 35, 35, 39, 37, 39, 41,
+  40, 35, 35, 39, 40, 41, 47, 44, 33, 35, 38, 30, 31, 30, 28, 29,
+  30, 31, 30, 29, 32, 35, 38, 40, 39, 39, 39, 40, 46, 41, 37, 255,
+  120, 113, 124, 118, 120, 118, 121, 147, 156, 152, 148, 125, 130, 126, 115, 128,
+  125, 132, 132, 117, 111, 120, 109, 92, 94, 92, 95, 87, 81, 85, 80, 73,
+  77, 65, 63, 63, 67, 68, 67, 68, 71, 61, 68, 60, 55, 58, 48, 43,
+  59, 60, 58, 58, 60, 60, 58, 57, 57, 53, 57, 57, 55, 51, 50, 43,
+  37, 31, 38, 40, 39, 40, 46, 47, 47, 46, 50, 50, 45, 41, 42, 39,
+  34, 38, 34, 32, 35, 37, 38, 43, 49, 55, 52, 48, 45, 42, 41, 38,
+  35, 39, 41, 40, 42, 40, 39, 37, 36, 43, 39, 39, 43, 43, 39, 35,
+  35, 35, 35, 40, 36, 25, 28, 31, 21, 26, 25, 24, 26, 29, 30, 29,
+  27, 30, 33, 37, 39, 39, 38, 39, 39, 50, 44, 40, 255, 145, 109, 131,
+  134, 146, 152, 152, 160, 148, 146, 139, 114, 126, 131, 119, 127, 114, 105, 114,
+  90, 76, 102, 105, 82, 78, 88, 95, 90, 80, 76, 67, 63, 72, 55, 52,
+  53, 59, 64, 67, 73, 80, 53, 67, 64, 60, 60, 48, 45, 69, 59, 66,
+  66, 59, 60, 68, 67, 58, 60, 63, 61, 53, 45, 42, 37, 32, 31, 35,
+  34, 30, 30, 37, 43, 45, 52, 54, 51, 43, 40, 42, 41, 36, 35, 31,
+  30, 35, 39, 45, 54, 62, 48, 45, 42, 44, 47, 49, 48, 46, 43, 45,
+  44, 45, 44, 41, 39, 39, 41, 37, 37, 41, 42, 37, 31, 29, 34, 33,
+  37, 34, 27, 32, 33, 22, 27, 26, 25, 27, 30, 29, 25, 22, 31, 34,
+  38, 41, 41, 40, 40, 41, 48, 41, 37, 255, 223, 107, 152, 148, 142, 142,
+  162, 146, 144, 143, 148, 123, 121, 113, 100, 115, 104, 92, 86, 94, 109, 105,
+  88, 86, 100, 99, 83, 71, 69, 67, 62, 62, 68, 58, 61, 62, 61, 58,
+  59, 64, 70, 61, 66, 67, 65, 64, 70, 70, 67, 68, 66, 60, 55, 58,
+  67, 72, 72, 75, 70, 62, 53, 44, 37, 31, 27, 33, 30, 27, 29, 36,
+  44, 47, 46, 44, 52, 55, 51, 49, 50, 48, 43, 45, 48, 39, 50, 41,
+  58, 64, 80, 57, 58, 64, 69, 60, 48, 50, 63, 66, 64, 58, 51, 46,
+  43, 40, 38, 42, 47, 46, 40, 34, 35, 36, 34, 31, 37, 41, 38, 30,
+  25, 27, 30, 28, 27, 28, 31, 34, 36, 36, 35, 27, 28, 35, 41, 39,
+  34, 36, 44, 43, 40, 35, 255, 255, 110, 139, 156, 186, 176, 151, 124, 144,
+  150, 146, 129, 125, 119, 107, 101, 87, 92, 72, 61, 70, 85, 90, 89, 90,
+  87, 69, 59, 68, 79, 76, 64, 56, 69, 66, 63, 64, 67, 72, 74, 73,
+  64, 68, 68, 65, 64, 67, 67, 64, 69, 67, 60, 51, 50, 56, 62, 63,
+  74, 67, 58, 52, 50, 44, 36, 28, 30, 28, 28, 31, 38, 44, 47, 48,
+  51, 53, 52, 48, 46, 50, 48, 43, 49, 56, 52, 63, 49, 57, 53, 63,
+  73, 66, 66, 75, 77, 68, 62, 65, 63, 61, 59, 58, 55, 51, 47, 44,
+  39, 45, 45, 39, 34, 33, 32, 30, 38, 41, 44, 42, 36, 31, 31, 32,
+  32, 31, 31, 33, 36, 36, 35, 34, 32, 31, 33, 35, 34, 34, 42, 53,
+  57, 45, 39, 255, 255, 139, 133, 134, 178, 179, 154, 119, 135, 147, 130, 124,
+  116, 116, 112, 89, 79, 73, 75, 80, 89, 94, 94, 93, 93, 79, 64, 57,
+  69, 80, 76, 64, 57, 71, 64, 60, 63, 72, 78, 76, 70, 76, 81, 82,
+  79, 77, 79, 78, 77, 80, 79, 73, 61, 55, 58, 63, 66, 53, 48, 46,
+  51, 61, 65, 60, 53, 40, 40, 41, 43, 47, 51, 54, 56, 55, 56, 51,
+  46, 46, 50, 52, 50, 67, 79, 77, 84, 63, 66, 58, 64, 66, 72, 81,
+  82, 70, 58, 61, 74, 72, 74, 75, 76, 74, 68, 60, 56, 41, 45, 46,
+  41, 37, 35, 33, 29, 41, 42, 42, 40, 37, 34, 31, 30, 36, 35, 35,
+  36, 37, 37, 35, 33, 35, 34, 35, 37, 37, 39, 46, 55, 52, 36, 32,
+  255, 255, 217, 136, 124, 148, 153, 159, 133, 126, 127, 104, 110, 100, 103, 109,
+  83, 84, 54, 65, 84, 96, 89, 73, 70, 77, 74, 66, 62, 63, 60, 54,
+  56, 65, 65, 61, 60, 66, 74, 78, 75, 69, 88, 93, 96, 95, 93, 93,
+  94, 94, 93, 97, 95, 86, 78, 78, 82, 84, 79, 76, 72, 73, 75, 72,
+  65, 58, 54, 52, 49, 45, 44, 45, 47, 49, 55, 54, 50, 45, 44, 50,
+  58, 64, 85, 96, 91, 94, 73, 78, 72, 79, 64, 73, 80, 77, 59, 47,
+  52, 67, 60, 63, 68, 75, 78, 75, 65, 59, 51, 53, 50, 44, 41, 40,
+  38, 35, 43, 40, 39, 40, 40, 39, 34, 30, 36, 35, 35, 36, 38, 38,
+  37, 35, 35, 38, 43, 47, 47, 45, 47, 49, 45, 37, 36, 255, 255, 255,
+  139, 148, 157, 143, 154, 139, 130, 108, 93, 107, 102, 101, 102, 76, 82, 74,
+  60, 59, 70, 70, 58, 60, 74, 71, 63, 57, 55, 49, 43, 49, 61, 58,
+  62, 68, 73, 77, 78, 77, 74, 87, 89, 96, 98, 97, 96, 99, 104, 103,
+  110, 114, 109, 103, 102, 103, 103, 104, 105, 104, 100, 95, 88, 83, 81, 82,
+  75, 65, 56, 51, 48, 49, 49, 46, 48, 48, 45, 43, 49, 64, 79, 87,
+  99, 95, 96, 76, 84, 76, 79, 87, 77, 67, 68, 70, 67, 58, 53, 54,
+  58, 65, 78, 86, 90, 82, 78, 59, 59, 54, 45, 42, 43, 44, 41, 43,
+  41, 39, 40, 43, 43, 38, 33, 32, 32, 32, 35, 38, 40, 40, 38, 42,
+  46, 49, 49, 48, 48, 47, 46, 49, 55, 54, 255, 255, 255, 142, 148, 167,
+  150, 156, 143, 134, 101, 97, 111, 114, 106, 91, 70, 71, 80, 71, 67, 68,
+  61, 53, 65, 86, 74, 61, 54, 60, 63, 59, 55, 56, 53, 61, 70, 74,
+  73, 73, 77, 79, 84, 88, 96, 102, 102, 101, 105, 112, 108, 116, 120, 119,
+  117, 117, 117, 114, 105, 109, 113, 112, 106, 103, 103, 107, 98, 87, 73, 64,
+  59, 56, 52, 50, 43, 44, 47, 48, 48, 55, 73, 90, 87, 102, 99, 103,
+  87, 93, 79, 75, 89, 84, 79, 78, 77, 73, 65, 58, 68, 69, 72, 80,
+  88, 90, 85, 78, 65, 64, 57, 49, 46, 47, 46, 43, 37, 35, 35, 36,
+  38, 37, 33, 29, 30, 30, 31, 35, 40, 42, 43, 42, 51, 51, 48, 42,
+  41, 46, 49, 48, 40, 54, 57, 255, 255, 255, 151, 139, 155, 142, 155, 139,
+  119, 100, 101, 99, 109, 101, 78, 71, 67, 64, 78, 83, 69, 54, 55, 65,
+  72, 76, 65, 62, 68, 71, 65, 60, 62, 57, 63, 68, 69, 69, 73, 80,
+  86, 91, 94, 104, 113, 113, 110, 114, 123, 117, 121, 123, 121, 121, 123, 122,
+  119, 125, 125, 121, 115, 108, 101, 99, 99, 97, 87, 75, 71, 70, 69, 62,
+  55, 52, 48, 49, 56, 64, 72, 86, 98, 95, 107, 102, 106, 93, 105, 91,
+  84, 74, 86, 96, 93, 81, 72, 69, 71, 74, 69, 66, 69, 73, 74, 69,
+  64, 68, 68, 64, 57, 55, 54, 49, 42, 38, 37, 36, 36, 36, 33, 30,
+  27, 31, 31, 33, 37, 42, 45, 45, 44, 48, 49, 45, 38, 39, 45, 47,
+  45, 31, 41, 49, 255, 255, 255, 158, 155, 154, 124, 139, 126, 95, 96, 97,
+  76, 91, 86, 66, 76, 71, 89, 97, 83, 58, 60, 84, 82, 58, 71, 68,
+  70, 69, 59, 49, 56, 70, 69, 70, 69, 69, 71, 78, 88, 95, 96, 100,
+  111, 120, 119, 114, 119, 129, 128, 128, 126, 122, 123, 127, 126, 122, 125, 121,
+  118, 117, 117, 117, 116, 115, 122, 113, 104, 105, 111, 110, 100, 90, 65, 56,
+  54, 65, 78, 88, 96, 104, 101, 109, 97, 98, 89, 109, 101, 96, 77, 85,
+  94, 98, 97, 90, 77, 67, 82, 76, 72, 74, 82, 87, 86, 82, 70, 72,
+  70, 65, 63, 61, 53, 43, 47, 48, 47, 45, 42, 38, 34, 32, 34, 33,
+  34, 38, 43, 46, 45, 44, 37, 42, 44, 41, 41, 46, 43, 37, 43, 43,
+  52, 255, 255, 255, 144, 145, 119, 117, 131, 122, 104, 119, 84, 63, 68, 75,
+  80, 81, 75, 87, 71, 57, 58, 63, 61, 57, 56, 66, 67, 70, 70, 61,
+  53, 53, 59, 65, 68, 70, 72, 73, 79, 90, 99, 107, 108, 111, 116, 121,
+  124, 128, 130, 128, 126, 125, 126, 129, 128, 124, 120, 126, 122, 118, 117, 119,
+  121, 120, 119, 115, 120, 117, 107, 105, 113, 118, 115, 115, 105, 95, 91, 95,
+  102, 107, 107, 118, 119, 115, 107, 99, 94, 94, 97, 100, 87, 81, 88, 96,
+  92, 76, 63, 67, 70, 101, 101, 82, 75, 69, 78, 73, 73, 69, 65, 65,
+  67, 63, 56, 59, 54, 47, 43, 41, 41, 41, 41, 33, 39, 46, 48, 46,
+  43, 42, 43, 41, 34, 32, 34, 32, 28, 35, 48, 46, 39, 43, 255, 255,
+  255, 214, 120, 117, 124, 122, 116, 120, 91, 83, 97, 120, 123, 113, 99, 84,
+  70, 57, 47, 48, 54, 58, 64, 70, 67, 64, 62, 59, 52, 50, 55, 65,
+  60, 64, 70, 75, 80, 90, 103, 112, 118, 118, 120, 121, 122, 123, 123, 123,
+  133, 131, 128, 126, 124, 120, 117, 114, 122, 120, 118, 120, 124, 127, 127, 127,
+  127, 130, 128, 122, 119, 120, 121, 120, 123, 115, 106, 101, 101, 104, 104, 102,
+  124, 122, 117, 111, 105, 102, 103, 104, 101, 95, 93, 95, 94, 84, 74, 68,
+  76, 56, 68, 79, 94, 107, 87, 68, 86, 89, 87, 79, 71, 66, 59, 53,
+  55, 52, 47, 44, 44, 45, 45, 45, 43, 44, 46, 49, 50, 48, 46, 43,
+  46, 44, 44, 46, 45, 42, 44, 49, 51, 45, 117, 255, 255, 255, 255, 152,
+  130, 119, 119, 115, 114, 122, 94, 73, 59, 46, 54, 79, 95, 68, 69, 73,
+  81, 84, 76, 67, 62, 65, 61, 56, 54, 50, 49, 56, 65, 55, 61, 70,
+  79, 88, 100, 112, 122, 126, 126, 128, 128, 128, 126, 123, 122, 129, 130, 130,
+  129, 128, 128, 129, 131, 127, 126, 127, 129, 132, 135, 136, 136, 135, 134, 133,
+  133, 129, 123, 121, 124, 122, 117, 113, 112, 114, 115, 113, 111, 115, 111, 105,
+  102, 100, 101, 102, 103, 100, 103, 106, 105, 94, 82, 79, 83, 79, 69, 82,
+  82, 89, 108, 96, 81, 93, 100, 101, 92, 79, 70, 62, 57, 54, 52, 48,
+  46, 46, 46, 45, 44, 45, 41, 39, 41, 44, 45, 41, 36, 42, 46, 48,
+  48, 49, 50, 46, 41, 49, 45, 255, 255, 255, 255, 255, 155, 126, 106, 103,
+  99, 92, 101, 92, 92, 90, 76, 72, 82, 86, 94, 82, 68, 61, 61, 64,
+  67, 69, 62, 59, 57, 57, 55, 51, 51, 56, 54, 60, 70, 80, 90, 101,
+  112, 119, 124, 126, 129, 132, 134, 133, 131, 129, 126, 129, 132, 132, 132, 134,
+  140, 145, 135, 135, 136, 137, 137, 137, 136, 136, 140, 134, 134, 139, 136, 127,
+  127, 134, 124, 121, 119, 119, 121, 122, 119, 118, 120, 114, 109, 108, 111, 116,
+  118, 118, 101, 106, 113, 112, 101, 91, 93, 101, 85, 92, 114, 98, 85, 100,
+  102, 102, 93, 99, 100, 93, 85, 80, 72, 67, 58, 56, 51, 48, 46, 44,
+  40, 38, 38, 36, 34, 34, 36, 37, 36, 34, 38, 45, 46, 43, 45, 50,
+  43, 32, 44, 42, 255, 255, 255, 255, 255, 209, 115, 115, 100, 91, 102, 104,
+  89, 83, 76, 65, 67, 78, 80, 94, 82, 65, 57, 62, 69, 73, 72, 66,
+  60, 55, 55, 53, 49, 47, 50, 57, 63, 73, 84, 95, 106, 113, 117, 122,
+  124, 129, 134, 137, 138, 138, 137, 136, 137, 137, 134, 130, 129, 132, 136, 138,
+  138, 138, 138, 137, 136, 136, 135, 144, 138, 138, 143, 142, 136, 138, 147, 137,
+  134, 129, 126, 123, 120, 117, 115, 121, 116, 113, 114, 119, 124, 127, 127, 111,
+  112, 116, 117, 111, 104, 105, 110, 100, 97, 110, 98, 94, 115, 112, 103, 102,
+  102, 100, 94, 90, 88, 80, 70, 61, 57, 52, 49, 45, 42, 39, 36, 36,
+  38, 39, 38, 37, 37, 41, 44, 43, 47, 46, 41, 43, 48, 44, 33, 41,
+  42, 255, 255, 255, 255, 255, 255, 109, 108, 98, 90, 97, 107, 97, 97, 96,
+  86, 81, 75, 63, 85, 87, 88, 88, 90, 87, 76, 65, 72, 60, 48, 44,
+  45, 47, 51, 56, 63, 69, 79, 92, 105, 114, 120, 123, 127, 128, 132, 136,
+  139, 140, 140, 140, 143, 143, 142, 140, 137, 135, 135, 136, 142, 143, 144, 144,
+  143, 143, 145, 147, 143, 141, 141, 142, 141, 140, 143, 149, 139, 138, 136, 133,
+  130, 127, 124, 122, 121, 119, 117, 117, 120, 122, 124, 125, 126, 122, 120, 120,
+  117, 110, 108, 109, 108, 97, 107, 99, 97, 114, 107, 98, 115, 113, 107, 99,
+  94, 89, 78, 68, 61, 58, 52, 48, 46, 43, 42, 40, 33, 37, 40, 39,
+  37, 37, 41, 46, 44, 44, 42, 37, 37, 40, 39, 35, 36, 39, 255, 255,
+  255, 255, 255, 255, 103, 89, 82, 76, 73, 96, 84, 79, 78, 75, 81, 87,
+  80, 89, 92, 86, 74, 67, 68, 71, 71, 70, 57, 45, 44, 50, 56, 61,
+  67, 72, 78, 89, 102, 113, 122, 125, 126, 133, 134, 136, 138, 140, 141, 142,
+  142, 143, 142, 142, 144, 146, 146, 145, 144, 145, 147, 148, 148, 147, 148, 152,
+  156, 145, 149, 149, 145, 142, 143, 143, 142, 137, 140, 143, 144, 141, 138, 134,
+  132, 139, 139, 138, 136, 133, 131, 131, 131, 134, 128, 123, 122, 117, 110, 107,
+  107, 105, 96, 113, 109, 101, 109, 106, 108, 114, 116, 114, 105, 96, 89, 78,
+  69, 68, 64, 56, 51, 47, 45, 43, 41, 34, 35, 36, 36, 36, 36, 37,
+  38, 42, 39, 37, 36, 33, 30, 31, 35, 36, 37, 255, 255, 255, 255, 255,
+  255, 121, 112, 89, 79, 94, 114, 99, 88, 78, 68, 73, 78, 71, 68, 84,
+  93, 85, 73, 68, 69, 70, 63, 53, 48, 54, 63, 68, 71, 72, 80, 85,
+  95, 106, 117, 122, 124, 123, 136, 136, 137, 139, 141, 143, 145, 145, 143, 141,
+  140, 142, 145, 146, 142, 138, 142, 144, 144, 142, 140, 142, 146, 150, 153, 161,
+  162, 154, 149, 150, 146, 138, 146, 150, 154, 154, 149, 140, 131, 126, 140, 142,
+  141, 137, 129, 123, 122, 123, 134, 129, 124, 122, 116, 109, 107, 108, 101, 86,
+  102, 111, 116, 127, 123, 125, 101, 110, 114, 108, 97, 88, 79, 73, 76, 70,
+  60, 53, 47, 44, 41, 39, 39, 37, 35, 36, 40, 40, 37, 33, 44, 39,
+  38, 41, 36, 27, 29, 38, 43, 42, 255, 255, 255, 255, 255, 255, 219, 145,
+  131, 108, 105, 91, 90, 82, 90, 92, 82, 82, 75, 73, 68, 70, 77, 76,
+  64, 55, 55, 59, 59, 60, 65, 68, 73, 76, 80, 93, 98, 108, 116, 124,
+  127, 130, 131, 140, 140, 140, 139, 138, 138, 141, 143, 143, 143, 145, 146, 146,
+  146, 146, 146, 147, 149, 151, 149, 146, 145, 145, 148, 142, 149, 157, 160, 157,
+  150, 142, 138, 134, 137, 141, 147, 148, 148, 147, 146, 138, 140, 140, 137, 132,
+  129, 130, 133, 128, 125, 123, 125, 127, 127, 124, 121, 100, 107, 96, 108, 107,
+  135, 125, 119, 113, 104, 106, 109, 98, 93, 94, 90, 80, 71, 60, 50, 42,
+  35, 34, 38, 38, 39, 42, 44, 39, 34, 38, 45, 48, 46, 44, 43, 42,
+  40, 38, 37, 40, 41, 255, 255, 255, 255, 255, 255, 255, 151, 127, 109, 134,
+  112, 96, 88, 88, 91, 87, 73, 65, 73, 67, 66, 70, 68, 57, 50, 51,
+  62, 65, 70, 71, 70, 69, 75, 81, 96, 102, 111, 120, 126, 130, 132, 133,
+  139, 141, 143, 144, 143, 142, 142, 143, 142, 143, 143, 143, 143, 143, 142, 141,
+  151, 153, 155, 154, 153, 153, 154, 157, 168, 167, 164, 158, 153, 150, 149, 150,
+  151, 152, 153, 152, 150, 146, 141, 139, 143, 145, 145, 143, 139, 135, 132, 130,
+  122, 118, 114, 112, 112, 114, 117, 117, 114, 106, 90, 104, 104, 122, 113, 116,
+  114, 110, 113, 112, 101, 98, 99, 92, 89, 78, 65, 54, 42, 32, 28, 30,
+  40, 41, 43, 46, 43, 38, 40, 45, 47, 46, 44, 43, 42, 41, 40, 40,
+  39, 47, 255, 255, 255, 255, 255, 255, 255, 214, 115, 101, 146, 119, 93, 93,
+  77, 77, 84, 67, 76, 74, 66, 61, 62, 58, 49, 46, 50, 61, 71, 80,
+  80, 75, 74, 83, 91, 103, 109, 117, 124, 129, 132, 135, 137, 140, 142, 146,
+  148, 147, 145, 143, 143, 147, 148, 148, 148, 147, 146, 144, 144, 147, 148, 149,
+  150, 150, 152, 156, 159, 168, 165, 158, 152, 149, 151, 156, 161, 164, 163, 161,
+  158, 152, 147, 140, 136, 152, 149, 146, 144, 143, 142, 140, 138, 138, 135, 129,
+  123, 120, 122, 129, 133, 121, 105, 93, 112, 114, 118, 109, 116, 111, 115, 121,
+  115, 102, 102, 103, 91, 87, 77, 66, 57, 46, 36, 33, 34, 38, 36, 38,
+  43, 42, 38, 36, 38, 43, 42, 40, 39, 39, 39, 40, 41, 35, 48, 255,
+  255, 255, 255, 255, 255, 255, 255, 114, 102, 151, 126, 99, 108, 77, 66, 79,
+  65, 94, 75, 66, 58, 57, 53, 46, 49, 56, 61, 74, 86, 89, 88, 92,
+  100, 106, 110, 114, 121, 127, 131, 133, 136, 138, 141, 143, 146, 147, 146, 145,
+  144, 145, 148, 149, 149, 150, 149, 149, 148, 148, 144, 144, 144, 144, 145, 148,
+  151, 153, 156, 156, 154, 152, 151, 151, 154, 157, 160, 160, 160, 158, 154, 150,
+  146, 144, 155, 148, 140, 137, 141, 146, 149, 150, 137, 137, 134, 128, 121, 119,
+  123, 126, 106, 102, 104, 119, 123, 121, 113, 114, 108, 118, 125, 115, 101, 106,
+  106, 90, 88, 79, 69, 61, 50, 39, 35, 36, 37, 34, 36, 41, 43, 39,
+  35, 34, 36, 36, 35, 34, 33, 35, 38, 41, 42, 52, 255, 255, 255, 255,
+  255, 255, 255, 255, 122, 104, 161, 145, 116, 124, 95, 82, 90, 66, 86, 77,
+  68, 60, 58, 54, 49, 55, 66, 68, 82, 94, 98, 102, 110, 116, 116, 115,
+  119, 125, 129, 132, 133, 136, 138, 142, 143, 144, 144, 142, 143, 145, 146, 142,
+  143, 144, 146, 147, 147, 147, 148, 149, 148, 147, 147, 148, 149, 150, 151, 161,
+  161, 160, 157, 153, 150, 149, 150, 153, 153, 154, 155, 154, 153, 153, 152, 150,
+  145, 140, 139, 142, 146, 147, 146, 132, 135, 136, 133, 124, 117, 113, 112, 92,
+  102, 113, 111, 116, 118, 119, 113, 112, 120, 126, 118, 105, 109, 109, 93, 98,
+  88, 76, 65, 51, 37, 30, 29, 41, 38, 40, 45, 47, 42, 38, 38, 34,
+  34, 33, 32, 31, 34, 39, 45, 60, 59, 255, 255, 255, 255, 255, 255, 255,
+  255, 115, 85, 148, 142, 116, 118, 106, 107, 107, 75, 72, 79, 70, 63, 61,
+  57, 52, 60, 72, 78, 93, 105, 108, 112, 119, 122, 118, 120, 124, 128, 131,
+  133, 134, 136, 138, 142, 143, 143, 142, 141, 141, 144, 147, 142, 143, 145, 147,
+  148, 149, 150, 151, 152, 151, 149, 150, 151, 151, 149, 147, 159, 158, 154, 151,
+  148, 149, 152, 156, 151, 151, 152, 153, 152, 152, 153, 152, 144, 144, 146, 147,
+  147, 144, 139, 135, 137, 140, 143, 141, 135, 125, 118, 113, 103, 111, 119, 103,
+  111, 116, 127, 121, 120, 122, 126, 121, 111, 114, 112, 98, 95, 87, 77, 67,
+  54, 40, 33, 31, 38, 36, 38, 42, 42, 38, 36, 38, 37, 37, 36, 34,
+  32, 36, 43, 51, 67, 125, 255, 255, 255, 255, 255, 255, 255, 255, 255, 78,
+  123, 129, 117, 111, 110, 109, 102, 86, 80, 80, 72, 66, 64, 58, 53, 59,
+  71, 81, 100, 116, 116, 115, 119, 123, 120, 125, 128, 131, 134, 135, 135, 137,
+  139, 141, 142, 144, 144, 143, 142, 144, 145, 145, 146, 147, 149, 150, 150, 150,
+  151, 150, 150, 150, 151, 152, 151, 148, 144, 149, 149, 148, 147, 147, 149, 154,
+  158, 154, 154, 154, 154, 152, 152, 151, 151, 144, 147, 149, 149, 146, 142, 139,
+  137, 135, 135, 134, 133, 130, 125, 119, 114, 118, 111, 116, 104, 120, 118, 131,
+  127, 128, 121, 120, 122, 115, 115, 112, 101, 89, 82, 75, 67, 57, 44, 37,
+  36, 32, 32, 34, 37, 34, 29, 31, 36, 38, 39, 38, 34, 32, 36, 45,
+  53, 63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 134, 117, 133, 135,
+  123, 115, 96, 79, 89, 96, 79, 72, 68, 65, 57, 51, 57, 68, 79, 104,
+  122, 121, 114, 118, 123, 125, 128, 131, 134, 136, 136, 137, 138, 140, 139, 142,
+  146, 147, 146, 144, 143, 143, 143, 144, 145, 145, 146, 146, 145, 145, 151, 151,
+  151, 154, 157, 157, 151, 147, 150, 152, 154, 154, 151, 149, 147, 147, 156, 156,
+  155, 154, 154, 154, 152, 152, 149, 149, 148, 143, 140, 141, 146, 150, 145, 140,
+  135, 134, 134, 133, 131, 128, 119, 100, 105, 106, 132, 119, 126, 123, 130, 115,
+  114, 119, 115, 112, 110, 101, 96, 88, 79, 69, 56, 40, 31, 29, 33, 34,
+  36, 39, 33, 29, 32, 40, 38, 39, 37, 34, 30, 35, 43, 52, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 122, 113, 114, 110, 102, 95,
+  91, 88, 85, 88, 74, 66, 70, 73, 69, 69, 73, 83, 104, 123, 127, 124,
+  126, 127, 124, 133, 135, 135, 137, 137, 138, 139, 141, 139, 139, 141, 141, 138,
+  135, 141, 150, 140, 144, 147, 148, 149, 149, 151, 154, 150, 151, 152, 151, 151,
+  151, 153, 155, 147, 148, 150, 152, 153, 153, 150, 147, 146, 147, 150, 151, 151,
+  150, 147, 147, 151, 145, 143, 146, 149, 146, 144, 144, 139, 134, 132, 136, 139,
+  135, 132, 132, 138, 134, 132, 133, 131, 128, 129, 133, 126, 125, 122, 116, 110,
+  106, 106, 107, 96, 93, 84, 78, 70, 49, 34, 40, 43, 41, 38, 42, 43,
+  42, 32, 25, 25, 30, 32, 43, 48, 41, 38, 121, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 208, 122, 120, 112, 100, 92, 91, 90, 89,
+  82, 75, 76, 81, 75, 65, 66, 74, 84, 105, 124, 129, 127, 130, 131, 129,
+  132, 134, 135, 137, 139, 141, 143, 144, 138, 135, 137, 141, 142, 140, 141, 145,
+  141, 144, 146, 149, 148, 149, 150, 152, 150, 151, 150, 150, 151, 151, 152, 153,
+  150, 149, 150, 151, 152, 152, 151, 149, 147, 149, 150, 151, 150, 149, 146, 145,
+  146, 141, 140, 144, 146, 143, 140, 140, 136, 131, 131, 137, 141, 138, 137, 138,
+  138, 134, 132, 134, 131, 128, 128, 131, 129, 124, 119, 116, 115, 112, 108, 106,
+  97, 93, 83, 78, 72, 51, 33, 38, 40, 40, 39, 38, 38, 36, 34, 32,
+  48, 45, 36, 34, 37, 36, 117, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 126, 122, 112, 98, 90, 92, 94, 92, 83, 83, 90,
+  93, 77, 57, 57, 70, 86, 107, 127, 131, 130, 134, 137, 135, 136, 136, 137,
+  139, 141, 142, 144, 144, 144, 140, 139, 144, 146, 141, 137, 136, 141, 143, 145,
+  146, 146, 146, 147, 148, 149, 149, 150, 150, 151, 151, 152, 152, 153, 151, 150,
+  151, 152, 153, 153, 152, 151, 152, 152, 152, 150, 147, 144, 143, 144, 140, 140,
+  144, 145, 142, 139, 138, 138, 133, 134, 139, 141, 139, 139, 140, 136, 133, 133,
+  135, 132, 128, 125, 127, 129, 123, 117, 116, 118, 116, 109, 103, 100, 96, 83,
+  78, 73, 52, 32, 36, 47, 48, 45, 41, 36, 35, 38, 42, 45, 46, 40,
+  36, 36, 32, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 129, 122, 112, 107, 108, 106, 99, 82, 82, 91, 96, 78, 56,
+  57, 73, 91, 111, 130, 134, 133, 137, 140, 138, 142, 141, 140, 140, 141, 141,
+  141, 140, 144, 141, 141, 144, 144, 140, 137, 139, 139, 141, 144, 145, 144, 144,
+  146, 147, 149, 148, 149, 150, 152, 153, 152, 151, 154, 153, 153, 154, 155, 156,
+  155, 154, 156, 156, 154, 153, 150, 146, 144, 142, 145, 143, 144, 148, 148, 144,
+  141, 141, 143, 139, 140, 142, 142, 138, 137, 139, 137, 134, 134, 137, 135, 128,
+  125, 126, 125, 121, 117, 116, 117, 114, 107, 102, 104, 98, 85, 79, 73, 50,
+  29, 30, 43, 41, 35, 30, 25, 25, 26, 28, 26, 35, 37, 38, 42, 113,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  208, 116, 112, 111, 112, 101, 86, 83, 79, 84, 91, 77, 58, 62, 81, 98,
+  117, 135, 138, 135, 139, 141, 140, 145, 143, 140, 140, 141, 140, 138, 137, 136,
+  137, 138, 138, 134, 130, 133, 140, 135, 137, 141, 142, 143, 144, 146, 148, 147,
+  146, 147, 149, 153, 154, 152, 150, 153, 153, 154, 156, 158, 158, 155, 153, 158,
+  157, 155, 153, 150, 146, 144, 142, 147, 145, 146, 149, 148, 144, 143, 144, 144,
+  141, 142, 144, 142, 138, 138, 141, 139, 137, 136, 138, 136, 130, 126, 127, 121,
+  121, 121, 118, 114, 109, 107, 106, 105, 101, 87, 80, 73, 47, 25, 26, 47,
+  41, 34, 31, 33, 35, 34, 32, 27, 37, 38, 87, 210, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 129, 131,
+  133, 133, 118, 96, 99, 87, 86, 89, 74, 52, 55, 74, 103, 123, 140, 142,
+  139, 143, 145, 144, 147, 143, 139, 138, 139, 138, 134, 132, 136, 136, 134, 129,
+  119, 109, 112, 120, 123, 127, 131, 134, 137, 139, 142, 144, 142, 141, 142, 146,
+  152, 154, 151, 148, 153, 152, 151, 153, 155, 155, 154, 152, 155, 154, 152, 150,
+  148, 145, 144, 143, 146, 144, 144, 146, 144, 141, 142, 145, 140, 138, 141, 144,
+  144, 141, 142, 146, 142, 138, 136, 137, 134, 128, 125, 126, 121, 122, 122, 118,
+  112, 109, 109, 109, 102, 98, 88, 81, 70, 44, 23, 26, 48, 42, 35, 36,
+  43, 50, 52, 51, 42, 55, 124, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 141, 110, 113, 115, 99,
+  76, 101, 89, 89, 91, 74, 50, 56, 80, 107, 127, 144, 147, 145, 149, 153,
+  151, 155, 149, 141, 137, 135, 131, 124, 119, 121, 118, 116, 113, 106, 96, 95,
+  99, 102, 106, 112, 117, 121, 124, 129, 132, 135, 134, 136, 141, 149, 152, 149,
+  145, 153, 149, 145, 144, 146, 149, 152, 153, 149, 148, 147, 145, 143, 142, 141,
+  141, 145, 143, 142, 143, 140, 137, 140, 146, 138, 137, 141, 144, 144, 139, 142,
+  146, 142, 137, 134, 133, 129, 124, 122, 124, 120, 119, 115, 112, 110, 108, 106,
+  105, 94, 95, 88, 81, 68, 42, 24, 30, 35, 30, 24, 24, 31, 41, 50,
+  55, 59, 134, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 226, 122, 125, 129, 116, 93, 81, 75,
+  81, 92, 78, 59, 72, 102, 109, 129, 147, 150, 149, 154, 158, 158, 165, 157,
+  145, 138, 132, 124, 114, 106, 89, 87, 89, 97, 102, 102, 100, 101, 85, 89,
+  95, 100, 105, 110, 114, 119, 130, 129, 131, 138, 146, 150, 147, 143, 153, 148,
+  140, 137, 139, 144, 150, 153, 145, 144, 143, 141, 140, 140, 140, 140, 147, 144,
+  143, 143, 140, 137, 142, 149, 142, 141, 144, 146, 142, 137, 138, 144, 141, 136,
+  132, 131, 127, 121, 120, 123, 119, 112, 106, 104, 106, 107, 102, 97, 87, 92,
+  87, 80, 66, 40, 26, 34, 44, 41, 35, 31, 34, 45, 60, 132, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 112, 128, 138, 125, 105, 83, 82, 75, 72, 65,
+  55, 70, 107, 119, 136, 152, 156, 153, 154, 159, 162, 154, 161, 161, 151, 140,
+  135, 132, 128, 132, 132, 129, 122, 114, 110, 111, 113, 114, 97, 94, 78, 96,
+  88, 94, 87, 96, 98, 102, 106, 111, 118, 124, 128, 118, 129, 133, 129, 130,
+  139, 141, 135, 138, 139, 139, 139, 139, 139, 139, 139, 142, 141, 141, 140, 141,
+  143, 144, 145, 144, 146, 146, 143, 137, 134, 135, 138, 132, 138, 136, 129, 126,
+  129, 123, 113, 109, 109, 104, 98, 96, 96, 94, 90, 82, 90, 90, 82, 62,
+  33, 26, 43, 46, 40, 37, 38, 39, 113, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 208, 120, 120, 117, 114, 88, 96, 83, 73, 75, 66, 70, 100,
+  129, 142, 156, 160, 158, 160, 162, 162, 158, 161, 158, 152, 148, 148, 145, 138,
+  136, 139, 141, 145, 145, 141, 135, 131, 129, 128, 133, 108, 96, 68, 71, 68,
+  76, 79, 83, 84, 83, 82, 81, 81, 106, 117, 122, 120, 123, 134, 138, 135,
+  138, 138, 138, 137, 138, 138, 139, 139, 145, 144, 142, 141, 140, 139, 139, 139,
+  135, 136, 137, 136, 132, 130, 130, 130, 127, 130, 130, 127, 124, 123, 116, 110,
+  106, 102, 91, 81, 77, 80, 81, 80, 82, 82, 85, 78, 54, 33, 35, 47,
+  33, 31, 34, 40, 43, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 122, 110, 118, 136, 95, 116, 101, 93, 115, 106, 94, 120, 143, 153, 162,
+  165, 166, 168, 167, 163, 161, 158, 152, 148, 150, 152, 149, 142, 143, 138, 132,
+  131, 133, 136, 136, 136, 143, 132, 133, 130, 141, 121, 98, 72, 74, 71, 66,
+  62, 63, 73, 85, 95, 95, 104, 110, 108, 114, 127, 134, 134, 135, 135, 134,
+  133, 134, 135, 137, 138, 142, 141, 140, 139, 137, 136, 135, 135, 139, 136, 134,
+  132, 130, 127, 122, 119, 118, 115, 114, 114, 107, 97, 90, 89, 81, 80, 74,
+  66, 65, 67, 67, 63, 67, 62, 76, 78, 50, 34, 42, 42, 42, 40, 38,
+  39, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 130, 109,
+  120, 147, 186, 178, 122, 91, 110, 95, 87, 129, 157, 163, 167, 170, 173, 175,
+  170, 162, 159, 154, 145, 140, 139, 140, 138, 133, 131, 132, 134, 137, 138, 135,
+  129, 124, 132, 130, 129, 121, 120, 121, 132, 140, 112, 104, 91, 78, 71, 76,
+  89, 99, 95, 102, 104, 104, 109, 120, 129, 131, 134, 133, 132, 131, 132, 134,
+  136, 137, 135, 136, 136, 137, 136, 135, 134, 134, 126, 120, 111, 105, 100, 96,
+  89, 85, 82, 76, 75, 79, 74, 64, 62, 68, 64, 71, 77, 80, 82, 81,
+  72, 62, 50, 45, 70, 79, 47, 36, 41, 31, 31, 41, 54, 64, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 124, 104, 110, 133, 172,
+  175, 144, 144, 170, 134, 102, 136, 167, 171, 172, 174, 178, 179, 172, 162, 156,
+  151, 143, 136, 131, 129, 129, 132, 132, 128, 124, 119, 117, 119, 124, 129, 109,
+  116, 117, 117, 110, 110, 112, 118, 110, 112, 112, 107, 99, 93, 93, 95, 106,
+  108, 108, 107, 109, 117, 123, 126, 132, 132, 131, 131, 131, 132, 134, 135, 132,
+  133, 134, 135, 134, 132, 130, 129, 116, 107, 94, 85, 80, 76, 72, 70, 53,
+  49, 52, 61, 64, 64, 72, 84, 88, 98, 107, 112, 114, 108, 95, 82, 60,
+  53, 74, 79, 45, 37, 42, 31, 41, 47, 51, 53, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 99, 100, 113, 210, 191, 144, 125,
+  138, 116, 105, 146, 175, 177, 177, 178, 181, 182, 174, 164, 156, 150, 142, 138,
+  133, 129, 131, 136, 135, 128, 116, 105, 99, 99, 102, 103, 114, 115, 113, 132,
+  134, 138, 118, 103, 98, 104, 112, 115, 112, 110, 112, 115, 115, 115, 114, 113,
+  114, 117, 121, 125, 132, 132, 132, 132, 132, 132, 132, 131, 133, 134, 135, 135,
+  132, 128, 123, 120, 112, 105, 95, 87, 84, 82, 83, 83, 79, 80, 84, 91,
+  94, 100, 110, 121, 124, 128, 129, 127, 124, 118, 107, 98, 87, 79, 82, 74,
+  46, 43, 53, 52, 63, 66, 63, 122, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 96, 97, 105, 137, 140, 120, 109, 122, 123, 122,
+  142, 179, 182, 183, 182, 183, 183, 176, 167, 159, 148, 138, 137, 137, 133, 132,
+  135, 114, 113, 113, 117, 116, 102, 76, 57, 56, 69, 64, 66, 45, 60, 74,
+  97, 101, 106, 112, 112, 108, 105, 109, 113, 118, 118, 118, 119, 118, 120, 123,
+  127, 131, 132, 133, 133, 132, 131, 128, 127, 130, 131, 133, 133, 130, 124, 119,
+  116, 98, 96, 93, 89, 87, 85, 88, 89, 106, 113, 118, 117, 116, 121, 127,
+  129, 128, 129, 126, 120, 117, 114, 107, 100, 98, 96, 87, 72, 57, 59, 70,
+  80, 59, 81, 153, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 93, 97, 103, 133, 150, 142, 123, 129, 144, 148, 148, 182, 185,
+  186, 185, 185, 185, 178, 170, 162, 146, 133, 133, 136, 133, 127, 125, 110, 87,
+  62, 57, 66, 76, 73, 64, 48, 57, 50, 68, 58, 68, 53, 53, 60, 75,
+  96, 110, 112, 110, 108, 107, 116, 115, 117, 119, 120, 122, 126, 131, 131, 133,
+  134, 136, 134, 132, 127, 126, 125, 128, 130, 132, 130, 126, 120, 118, 104, 107,
+  109, 108, 104, 102, 103, 105, 91, 105, 113, 110, 108, 114, 116, 113, 113, 116,
+  117, 114, 114, 113, 107, 100, 91, 97, 88, 74, 72, 74, 83, 100, 87, 101,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  94, 95, 87, 116, 185, 161, 153, 168, 174, 142, 141, 174, 204, 200, 196, 195,
+  186, 181, 168, 159, 153, 145, 132, 123, 133, 137, 123, 99, 98, 74, 54, 56,
+  53, 64, 94, 112, 57, 98, 94, 56, 134, 74, 88, 60, 52, 37, 64, 113,
+  112, 91, 104, 111, 112, 112, 111, 111, 116, 125, 133, 128, 130, 132, 134, 133,
+  133, 129, 129, 132, 131, 126, 125, 123, 122, 118, 117, 112, 102, 99, 108, 109,
+  100, 94, 95, 81, 63, 50, 59, 79, 93, 96, 96, 92, 91, 97, 112, 118,
+  112, 98, 90, 101, 100, 91, 82, 87, 103, 108, 101, 110, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 89, 86, 83,
+  101, 169, 161, 148, 160, 168, 154, 146, 175, 206, 201, 197, 194, 183, 177, 162,
+  164, 156, 151, 145, 136, 139, 139, 127, 133, 121, 103, 95, 102, 107, 111, 122,
+  130, 74, 100, 73, 80, 92, 100, 104, 69, 130, 123, 66, 58, 84, 95, 100,
+  95, 101, 109, 116, 120, 120, 119, 118, 131, 133, 135, 137, 137, 135, 133, 131,
+  129, 131, 130, 126, 118, 111, 107, 105, 102, 105, 107, 100, 78, 58, 59, 74,
+  69, 64, 58, 56, 53, 46, 32, 21, 71, 80, 94, 103, 101, 96, 97, 105,
+  104, 104, 96, 88, 95, 109, 115, 109, 112, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 96, 95, 105, 121, 169, 174,
+  149, 151, 152, 161, 145, 174, 206, 203, 200, 198, 187, 179, 163, 170, 158, 156,
+  158, 149, 144, 141, 133, 131, 127, 129, 122, 102, 93, 101, 108, 111, 88, 94,
+  79, 101, 56, 85, 76, 103, 156, 156, 109, 90, 92, 96, 106, 104, 106, 108,
+  112, 116, 121, 125, 128, 134, 136, 139, 140, 140, 139, 136, 134, 130, 131, 128,
+  120, 109, 102, 100, 102, 92, 85, 78, 74, 64, 60, 68, 83, 37, 64, 82,
+  74, 56, 50, 53, 57, 36, 50, 73, 92, 97, 98, 101, 109, 105, 106, 101,
+  96, 102, 114, 119, 115, 115, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 109, 131, 148, 165, 174, 155, 152, 139,
+  162, 146, 171, 205, 204, 205, 205, 194, 187, 171, 174, 156, 155, 163, 154, 143,
+  140, 137, 137, 135, 148, 144, 111, 93, 97, 94, 98, 106, 72, 79, 83, 84,
+  110, 134, 147, 148, 142, 139, 125, 90, 69, 81, 112, 113, 115, 115, 115, 119,
+  128, 136, 136, 138, 142, 144, 144, 142, 138, 136, 136, 130, 119, 109, 103, 102,
+  104, 107, 106, 103, 101, 99, 91, 78, 71, 73, 92, 83, 72, 77, 105, 126,
+  110, 78, 39, 36, 43, 67, 91, 105, 106, 105, 105, 108, 104, 101, 106, 113,
+  117, 113, 112, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 205, 125, 139, 137, 154, 163, 169, 145, 165, 151, 171,
+  203, 205, 206, 207, 197, 189, 173, 176, 154, 153, 162, 154, 143, 142, 143, 151,
+  133, 139, 151, 142, 136, 127, 104, 70, 107, 97, 112, 101, 119, 90, 106, 110,
+  114, 110, 99, 92, 84, 82, 88, 101, 113, 126, 127, 121, 116, 119, 124, 136,
+  139, 143, 145, 145, 143, 139, 136, 136, 124, 110, 104, 106, 107, 105, 101, 108,
+  120, 128, 122, 99, 82, 82, 91, 82, 92, 97, 97, 108, 121, 113, 96, 70,
+  50, 39, 51, 77, 98, 107, 108, 108, 108, 108, 107, 108, 113, 114, 111, 108,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 113, 127, 127, 144, 176, 185, 160, 163, 149, 172, 204, 204, 205,
+  204, 194, 186, 169, 174, 155, 153, 160, 153, 146, 147, 147, 138, 129, 133, 143,
+  143, 141, 135, 124, 119, 129, 125, 89, 88, 100, 80, 90, 78, 78, 81, 85,
+  92, 103, 114, 119, 113, 121, 128, 127, 118, 117, 123, 131, 135, 138, 142, 145,
+  145, 142, 138, 135, 129, 117, 106, 105, 111, 112, 103, 92, 58, 83, 116, 137,
+  135, 112, 83, 66, 80, 79, 81, 98, 123, 131, 105, 71, 65, 61, 64, 76,
+  92, 101, 108, 111, 110, 112, 113, 115, 114, 114, 114, 112, 161, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  114, 129, 144, 147, 175, 177, 167, 155, 140, 172, 203, 202, 202, 203, 193, 186,
+  171, 167, 153, 152, 157, 151, 149, 149, 144, 135, 143, 143, 141, 137, 127, 129,
+  142, 121, 125, 140, 120, 137, 128, 114, 107, 121, 101, 102, 119, 121, 112, 111,
+  114, 129, 126, 122, 117, 114, 121, 131, 139, 132, 134, 139, 142, 142, 139, 134,
+  131, 125, 113, 103, 102, 109, 113, 110, 105, 131, 110, 87, 80, 91, 101, 98,
+  90, 79, 92, 104, 105, 96, 85, 80, 77, 67, 74, 89, 106, 113, 112, 109,
+  111, 109, 111, 114, 118, 118, 115, 115, 161, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 128, 157,
+  143, 157, 153, 163, 151, 139, 171, 202, 201, 203, 205, 197, 192, 178, 159, 149,
+  151, 154, 149, 149, 148, 139, 142, 144, 128, 124, 135, 131, 124, 137, 136, 132,
+  120, 126, 132, 129, 131, 128, 134, 132, 134, 128, 113, 113, 122, 122, 119, 116,
+  114, 117, 123, 126, 126, 124, 129, 132, 137, 140, 140, 137, 132, 129, 127, 114,
+  100, 96, 103, 115, 124, 129, 124, 122, 120, 119, 118, 113, 100, 88, 85, 74,
+  66, 67, 74, 78, 82, 87, 109, 101, 98, 104, 110, 111, 108, 108, 103, 108,
+  113, 119, 118, 116, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 87, 166, 186, 144,
+  148, 146, 124, 144, 206, 208, 202, 212, 191, 176, 181, 166, 160, 155, 151, 142,
+  135, 139, 148, 146, 143, 141, 142, 139, 131, 125, 124, 122, 123, 125, 125, 125,
+  125, 124, 124, 119, 124, 127, 127, 123, 119, 119, 119, 117, 121, 125, 126, 124,
+  124, 125, 127, 133, 131, 131, 135, 138, 137, 132, 127, 123, 112, 102, 102, 106,
+  110, 115, 122, 117, 121, 125, 127, 127, 124, 120, 117, 132, 123, 113, 111, 115,
+  119, 114, 109, 109, 105, 104, 111, 119, 121, 112, 104, 100, 103, 110, 116, 117,
+  114, 225, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 182, 212, 198, 174, 157, 131,
+  126, 187, 200, 199, 206, 193, 183, 175, 163, 158, 156, 159, 156, 149, 146, 147,
+  143, 139, 136, 139, 139, 134, 127, 126, 129, 129, 129, 129, 128, 127, 126, 126,
+  129, 130, 131, 130, 127, 124, 122, 121, 121, 123, 125, 124, 123, 122, 122, 122,
+  132, 131, 131, 134, 137, 137, 132, 127, 122, 111, 101, 100, 103, 107, 112, 118,
+  122, 121, 119, 118, 118, 119, 120, 121, 131, 125, 118, 117, 118, 118, 113, 107,
+  113, 112, 113, 118, 123, 123, 115, 108, 104, 105, 110, 116, 116, 160, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 215, 107, 79, 124, 182, 127, 133, 176, 195,
+  202, 200, 194, 190, 166, 162, 156, 152, 154, 156, 152, 146, 143, 144, 137, 135,
+  140, 144, 141, 135, 133, 134, 134, 132, 131, 128, 127, 127, 128, 132, 130, 128,
+  126, 125, 124, 121, 119, 123, 122, 122, 123, 124, 124, 122, 121, 132, 131, 132,
+  135, 138, 137, 132, 127, 121, 110, 101, 99, 101, 104, 108, 113, 121, 120, 118,
+  117, 117, 119, 121, 122, 120, 119, 118, 117, 118, 116, 112, 108, 118, 118, 121,
+  124, 125, 121, 115, 111, 107, 108, 111, 115, 161, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 138, 145, 143, 158, 180, 187, 196, 210, 200, 190,
+  190, 161, 167, 159, 151, 147, 146, 146, 145, 146, 143, 136, 133, 139, 144, 142,
+  137, 134, 135, 133, 131, 129, 127, 129, 128, 130, 133, 129, 125, 124, 125, 125,
+  123, 120, 121, 119, 119, 121, 126, 128, 127, 126, 133, 133, 134, 137, 140, 139,
+  134, 129, 123, 112, 102, 100, 102, 103, 106, 110, 113, 117, 121, 124, 125, 125,
+  123, 122, 116, 117, 119, 120, 119, 119, 119, 121, 121, 123, 124, 123, 120, 115,
+  112, 111, 110, 108, 109, 160, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 202, 129, 187, 248, 227, 200, 192, 213, 202, 184, 185, 161, 164,
+  164, 158, 151, 144, 144, 148, 151, 141, 134, 131, 136, 140, 138, 134, 133, 135,
+  134, 133, 132, 131, 133, 134, 135, 135, 132, 128, 128, 130, 131, 129, 127, 123,
+  121, 119, 121, 126, 129, 128, 126, 135, 134, 135, 138, 141, 140, 135, 131, 125,
+  114, 105, 103, 104, 104, 107, 111, 110, 113, 118, 123, 125, 126, 126, 126, 125,
+  127, 128, 127, 125, 126, 129, 132, 124, 125, 124, 119, 114, 110, 111, 112, 107,
+  104, 103, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 254, 220, 231, 230, 196, 183, 207, 200, 182, 181, 162, 152, 158, 160, 155,
+  148, 146, 147, 146, 144, 140, 138, 141, 142, 139, 138, 140, 139, 139, 139, 139,
+  139, 140, 141, 142, 133, 132, 131, 131, 132, 132, 131, 129, 130, 128, 125, 125,
+  126, 126, 126, 126, 136, 135, 135, 139, 142, 141, 136, 131, 128, 117, 108, 107,
+  108, 108, 109, 112, 114, 114, 112, 113, 116, 121, 127, 131, 133, 132, 130, 129,
+  126, 126, 127, 129, 126, 126, 122, 118, 113, 111, 111, 113, 102, 98, 150, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 217,
+  200, 188, 182, 180, 199, 198, 185, 180, 159, 154, 158, 157, 152, 148, 148, 145,
+  140, 144, 142, 145, 147, 144, 141, 143, 148, 144, 145, 145, 146, 145, 145, 143,
+  144, 134, 135, 137, 136, 133, 130, 129, 129, 132, 132, 130, 128, 126, 124, 126,
+  129, 134, 134, 134, 137, 140, 140, 135, 130, 129, 118, 110, 109, 110, 110, 111,
+  114, 119, 117, 114, 113, 115, 119, 124, 127, 130, 130, 128, 128, 125, 123, 120,
+  120, 122, 121, 120, 119, 116, 113, 109, 108, 97, 92, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 169, 147, 172,
+  181, 194, 196, 189, 181, 154, 173, 169, 160, 149, 148, 153, 150, 143, 135, 136,
+  139, 142, 138, 135, 139, 147, 147, 147, 148, 149, 147, 145, 142, 141, 140, 142,
+  145, 144, 139, 134, 133, 132, 129, 130, 132, 130, 127, 127, 131, 136, 132, 132,
+  132, 136, 139, 138, 133, 128, 128, 118, 110, 109, 111, 111, 112, 115, 118, 120,
+  120, 121, 121, 120, 119, 119, 127, 127, 128, 130, 130, 128, 123, 119, 115, 115,
+  117, 117, 117, 113, 105, 102, 94, 144, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 167, 148, 156, 170, 202, 189,
+  194, 172, 158, 160, 159, 156, 150, 145, 143, 144, 145, 144, 139, 139, 144, 144,
+  139, 138, 144, 146, 147, 147, 146, 144, 144, 142, 142, 137, 137, 139, 139, 134,
+  126, 125, 129, 131, 126, 127, 133, 135, 131, 129, 131, 131, 132, 132, 133, 136,
+  140, 136, 129, 116, 112, 110, 110, 109, 107, 112, 119, 117, 121, 123, 124, 123,
+  123, 126, 128, 126, 126, 127, 127, 127, 127, 127, 127, 124, 125, 114, 108, 116,
+  112, 101, 99, 86, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 223, 149, 150, 161, 186, 187, 190, 179, 169,
+  165, 161, 155, 151, 149, 147, 145, 142, 141, 137, 137, 141, 141, 137, 136, 140,
+  144, 141, 138, 135, 133, 132, 133, 133, 128, 126, 126, 125, 118, 113, 112, 118,
+  121, 118, 119, 126, 129, 127, 126, 127, 127, 127, 127, 127, 131, 134, 131, 124,
+  119, 114, 110, 108, 105, 102, 105, 111, 116, 119, 122, 125, 126, 125, 125, 124,
+  126, 127, 127, 128, 128, 128, 129, 128, 121, 121, 119, 121, 119, 105, 103, 122,
+  130, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 144, 146, 167, 185, 199, 187, 177, 167, 166, 158, 151,
+  149, 150, 149, 143, 136, 137, 135, 135, 137, 137, 135, 135, 137, 140, 139, 137,
+  135, 131, 129, 125, 123, 118, 114, 111, 109, 105, 102, 105, 114, 117, 115, 118,
+  125, 129, 129, 128, 130, 124, 125, 124, 124, 127, 131, 129, 122, 119, 113, 109,
+  106, 102, 97, 100, 105, 109, 112, 117, 124, 129, 130, 128, 126, 128, 129, 129,
+  130, 130, 130, 130, 128, 124, 121, 118, 121, 115, 104, 122, 166, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 157, 181, 185, 202, 178, 172, 166, 157, 152, 147, 145, 145, 144,
+  139, 135, 134, 133, 133, 134, 134, 133, 133, 134, 133, 135, 138, 138, 134, 127,
+  119, 113, 113, 109, 106, 105, 103, 103, 112, 122, 119, 118, 120, 125, 129, 130,
+  129, 129, 125, 126, 125, 124, 127, 131, 129, 122, 117, 112, 107, 105, 101, 97,
+  100, 106, 98, 101, 107, 117, 125, 131, 131, 130, 128, 130, 131, 131, 132, 131,
+  130, 129, 128, 124, 114, 110, 108, 109, 137, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  173, 191, 177, 189, 167, 168, 170, 150, 149, 147, 144, 140, 138, 138, 139, 132,
+  133, 133, 132, 132, 133, 133, 132, 129, 129, 129, 128, 125, 120, 115, 112, 118,
+  114, 110, 109, 107, 108, 117, 128, 121, 122, 123, 125, 127, 129, 128, 125, 125,
+  127, 125, 123, 126, 130, 128, 122, 120, 114, 110, 106, 102, 98, 100, 105, 94,
+  96, 102, 110, 117, 124, 128, 129, 128, 129, 131, 131, 131, 130, 128, 128, 125,
+  128, 117, 107, 107, 105, 107, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 182,
+  187, 173, 158, 155, 150, 150, 148, 143, 138, 136, 139, 142, 129, 131, 131, 129,
+  129, 131, 131, 130, 135, 131, 125, 121, 118, 121, 123, 126, 125, 121, 117, 115,
+  112, 111, 117, 126, 126, 128, 129, 128, 130, 133, 130, 125, 126, 127, 125, 122,
+  125, 129, 128, 122, 126, 120, 114, 109, 103, 97, 98, 103, 97, 100, 105, 108,
+  110, 114, 119, 122, 126, 128, 129, 131, 131, 129, 126, 124, 117, 128, 125, 116,
+  108, 84, 120, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 235, 178, 179, 183, 155,
+  146, 155, 151, 144, 139, 135, 135, 136, 136, 126, 129, 129, 125, 125, 129, 130,
+  126, 131, 129, 124, 122, 121, 126, 129, 133, 126, 123, 121, 120, 116, 113, 117,
+  124, 129, 132, 133, 130, 131, 135, 133, 127, 131, 130, 127, 125, 128, 132, 131,
+  125, 127, 121, 115, 110, 104, 98, 99, 104, 99, 106, 112, 114, 112, 111, 115,
+  120, 125, 126, 127, 129, 129, 127, 123, 122, 118, 124, 123, 117, 100, 64, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 153, 183, 164, 161, 160, 150,
+  138, 133, 132, 133, 131, 128, 123, 127, 127, 122, 122, 127, 128, 123, 117, 119,
+  123, 125, 126, 127, 126, 124, 124, 123, 124, 125, 120, 117, 120, 127, 123, 128,
+  128, 126, 129, 133, 130, 124, 136, 135, 132, 129, 132, 136, 135, 129, 123, 117,
+  113, 109, 105, 100, 102, 108, 96, 107, 118, 120, 115, 112, 116, 121, 123, 124,
+  127, 129, 128, 125, 122, 121, 124, 120, 113, 108, 90, 54, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 221, 164, 140, 165, 164, 157, 155, 148, 141, 138,
+  138, 134, 128, 125, 126, 129, 128, 125, 121, 119, 119, 115, 118, 122, 124, 124,
+  124, 125, 126, 118, 120, 122, 123, 122, 121, 119, 118, 124, 127, 129, 131, 131,
+  130, 131, 130, 124, 124, 127, 132, 136, 137, 135, 133, 124, 123, 118, 108, 99,
+  97, 104, 112, 103, 110, 119, 123, 122, 117, 113, 112, 117, 120, 123, 125, 125,
+  123, 121, 120, 114, 114, 110, 110, 125, 150, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 154, 165, 160, 167, 156, 154, 148, 141, 138, 139, 135, 130,
+  130, 130, 130, 128, 124, 120, 118, 118, 114, 116, 117, 117, 115, 115, 116, 117,
+  122, 123, 125, 126, 125, 125, 123, 124, 131, 132, 132, 131, 129, 130, 134, 137,
+  125, 129, 136, 143, 146, 142, 135, 129, 118, 120, 119, 113, 107, 104, 105, 109,
+  107, 113, 120, 123, 120, 116, 112, 111, 115, 117, 120, 123, 124, 124, 121, 119,
+  120, 113, 116, 136, 154, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 184, 159, 167, 155, 154, 148, 141, 137, 139, 137, 132, 136, 136, 133,
+  129, 122, 118, 117, 117, 125, 124, 124, 121, 118, 117, 118, 119, 113, 114, 115,
+  116, 116, 117, 117, 118, 115, 120, 124, 125, 123, 123, 128, 131, 137, 140, 146,
+  151, 153, 149, 142, 136, 124, 122, 118, 113, 111, 108, 107, 108, 112, 116, 122,
+  124, 122, 118, 114, 113, 111, 112, 114, 119, 124, 124, 119, 116, 115, 106, 120,
+  159, 178, 172, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  166, 160, 154, 154, 149, 141, 137, 139, 138, 135, 143, 140, 136, 129, 122, 118,
+  117, 117, 118, 119, 119, 116, 113, 111, 111, 112, 115, 115, 115, 115, 117, 119,
+  121, 122, 118, 119, 119, 115, 111, 115, 126, 134, 134, 132, 132, 133, 135, 135,
+  135, 133, 133, 124, 113, 106, 105, 107, 109, 111, 115, 117, 121, 123, 122, 121,
+  118, 118, 108, 109, 111, 116, 122, 123, 117, 112, 113, 113, 135, 167, 178, 167,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 152, 155,
+  155, 150, 141, 136, 138, 139, 137, 144, 142, 138, 131, 124, 120, 120, 120, 118,
+  118, 118, 116, 114, 111, 111, 111, 104, 104, 104, 105, 107, 110, 112, 113, 124,
+  120, 111, 101, 94, 96, 107, 117, 126, 125, 124, 125, 127, 128, 129, 128, 123,
+  115, 105, 100, 102, 105, 107, 107, 111, 113, 114, 117, 120, 121, 119, 119, 107,
+  109, 112, 117, 121, 120, 115, 112, 126, 146, 168, 180, 178, 176, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 220, 156, 156, 151, 142,
+  135, 137, 138, 138, 142, 141, 138, 132, 126, 123, 123, 124, 118, 116, 113, 107,
+  102, 100, 102, 103, 106, 106, 107, 109, 112, 115, 116, 119, 113, 117, 121, 121,
+  113, 103, 93, 89, 111, 112, 115, 119, 121, 120, 116, 112, 103, 101, 101, 103,
+  107, 107, 103, 101, 107, 107, 106, 109, 113, 116, 116, 115, 110, 113, 118, 122,
+  122, 118, 114, 112, 113, 146, 169, 168, 166, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 158, 153, 142, 134, 135, 138,
+  138, 139, 139, 137, 134, 129, 127, 127, 129, 111, 104, 91, 78, 71, 70, 74,
+  76, 67, 67, 70, 73, 76, 78, 79, 81, 104, 110, 121, 129, 133, 127, 116,
+  107, 102, 103, 105, 107, 108, 107, 103, 99, 101, 103, 105, 108, 110, 108, 104,
+  101, 108, 106, 104, 105, 110, 113, 113, 113, 113, 119, 125, 127, 122, 115, 112,
+  113, 125, 154, 173, 170, 167, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 223, 154, 142, 134, 135, 137, 137, 135, 136,
+  136, 134, 131, 130, 130, 132, 127, 115, 96, 77, 65, 64, 71, 76, 72, 74,
+  77, 81, 84, 84, 84, 83, 83, 76, 68, 72, 86, 105, 122, 131, 129, 126,
+  121, 120, 120, 121, 122, 123, 113, 112, 110, 107, 104, 102, 102, 103, 110, 107,
+  104, 105, 109, 113, 113, 113, 115, 123, 131, 131, 123, 115, 112, 114, 74, 91,
+  99, 93, 84, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 221, 151, 147, 144, 137, 133, 136, 136, 137, 138, 135,
+  133, 130, 128, 129, 124, 112, 98, 82, 69, 58, 52, 82, 80, 86, 80, 82,
+  81, 69, 89, 80, 88, 83, 77, 81, 78, 69, 69, 72, 81, 75, 77, 69,
+  61, 72, 71, 73, 75, 78, 79, 79, 78, 75, 77, 68, 77, 85, 92, 99,
+  106, 114, 120, 118, 134, 143, 128, 113, 119, 109, 79, 30, 33, 35, 36, 36,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 220, 145, 139, 137, 136, 135, 134, 133, 133, 132, 131, 129, 128,
+  125, 127, 124, 113, 94, 75, 60, 54, 45, 73, 94, 77, 75, 86, 78, 86,
+  80, 89, 86, 82, 91, 92, 86, 87, 78, 86, 78, 83, 82, 76, 86, 81,
+  84, 79, 71, 63, 58, 56, 56, 61, 66, 77, 89, 99, 106, 112, 118, 122,
+  140, 133, 130, 129, 135, 132, 90, 31, 34, 31, 26, 23, 25, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 217, 137, 136, 138, 139, 137, 137, 137, 136, 136, 135, 133, 125, 130, 132,
+  122, 104, 86, 72, 67, 52, 74, 93, 82, 88, 97, 81, 81, 86, 93, 88,
+  84, 90, 88, 81, 80, 90, 97, 87, 95, 95, 89, 95, 88, 90, 88, 87,
+  83, 78, 74, 70, 70, 78, 89, 101, 112, 118, 122, 124, 125, 134, 137, 137,
+  121, 108, 127, 157, 169, 139, 133, 124, 120, 168, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 216,
+  138, 137, 138, 139, 140, 141, 141, 140, 137, 135, 131, 130, 127, 119, 108, 97,
+  89, 83, 67, 52, 61, 82, 117, 128, 110, 117, 118, 124, 117, 109, 113, 111,
+  101, 101, 83, 92, 85, 89, 85, 75, 81, 74, 84, 82, 79, 78, 76, 74,
+  74, 77, 100, 108, 117, 124, 128, 128, 128, 127, 135, 123, 118, 118, 122, 148,
+  179, 191, 173, 171, 168, 167, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 140, 135, 131,
+  133, 137, 141, 140, 138, 133, 129, 136, 129, 124, 119, 116, 109, 97, 85, 87,
+  59, 55, 73, 112, 130, 116, 127, 143, 150, 144, 141, 151, 152, 144, 144, 127,
+  141, 138, 138, 127, 113, 121, 116, 105, 92, 72, 57, 55, 64, 78, 92, 114,
+  118, 122, 126, 129, 130, 130, 129, 135, 116, 114, 132, 152, 169, 171, 159, 177,
+  178, 180, 180, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 134, 129, 133, 137, 140,
+  140, 138, 133, 130, 136, 130, 125, 126, 127, 119, 100, 82, 93, 88, 84, 68,
+  80, 99, 95, 104, 150, 158, 152, 151, 164, 167, 161, 161, 139, 157, 156, 157,
+  141, 125, 133, 131, 107, 95, 79, 69, 68, 79, 93, 107, 114, 116, 117, 119,
+  123, 127, 127, 128, 117, 125, 145, 155, 153, 166, 187, 195, 174, 175, 175, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 214, 134, 135, 137, 138, 137, 136,
+  134, 135, 130, 127, 130, 132, 125, 110, 95, 75, 85, 93, 77, 77, 89, 90,
+  112, 148, 153, 147, 147, 160, 166, 159, 158, 147, 162, 160, 160, 146, 128, 134,
+  128, 77, 76, 76, 77, 82, 91, 99, 106, 113, 114, 112, 115, 118, 121, 122,
+  121, 122, 137, 161, 171, 167, 171, 173, 162, 178, 177, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 130, 129, 129, 130, 132, 134, 135, 135, 131,
+  127, 126, 129, 129, 125, 118, 93, 87, 100, 101, 94, 80, 72, 106, 117, 122,
+  118, 120, 137, 146, 142, 142, 136, 146, 140, 140, 127, 109, 109, 100, 83, 79,
+  77, 78, 86, 97, 111, 119, 117, 116, 114, 115, 118, 118, 115, 113, 142, 163,
+  183, 180, 162, 167, 179, 177, 171, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 127, 128, 131, 134, 132, 128, 128, 130, 132, 132, 131,
+  128, 126, 123, 104, 94, 94, 101, 97, 84, 76, 81, 89, 83, 103, 108, 126,
+  105, 111, 110, 92, 89, 87, 84, 80, 79, 76, 76, 84, 76, 72, 78, 93,
+  108, 113, 115, 118, 115, 109, 106, 111, 119, 120, 114, 167, 169, 170, 165, 154,
+  148, 151, 159, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 130, 134, 137, 136, 134, 127, 127, 129, 130, 130, 130, 129, 126,
+  119, 98, 85, 89, 93, 88, 80, 78, 76, 71, 79, 86, 96, 87, 93, 97,
+  91, 87, 82, 76, 74, 74, 77, 79, 78, 78, 81, 91, 104, 112, 114, 112,
+  107, 119, 121, 111, 109, 118, 121, 118, 107, 98, 84, 66, 48, 33, 28, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 215, 138, 138, 137, 130, 130, 131, 130, 131, 132, 133, 132, 130, 110, 91,
+  87, 87, 85, 83, 86, 81, 76, 70, 79, 75, 77, 78, 87, 80, 77, 76,
+  74, 75, 77, 80, 83, 75, 82, 94, 106, 114, 117, 114, 111, 124, 123, 111,
+  102, 106, 114, 106, 88, 26, 23, 22, 28, 31, 33, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215,
+  138, 138, 137, 136, 135, 135, 136, 136, 137, 137, 131, 122, 111, 99, 85, 77,
+  83, 95, 103, 100, 87, 99, 84, 93, 85, 94, 86, 86, 87, 87, 85, 82,
+  80, 80, 81, 91, 103, 113, 117, 117, 114, 113, 110, 109, 108, 106, 95, 73,
+  41, 19, 30, 30, 37, 48, 49, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 141, 143,
+  142, 140, 138, 137, 136, 136, 136, 129, 126, 120, 110, 94, 84, 82, 87, 101,
+  105, 97, 111, 99, 108, 99, 104, 109, 105, 101, 95, 89, 84, 80, 79, 95,
+  102, 110, 114, 115, 115, 116, 119, 126, 121, 116, 99, 60, 29, 41, 73, 97,
+  103, 120, 176, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 142, 141, 140, 138,
+  136, 135, 133, 131, 132, 122, 113, 111, 110, 102, 87, 76, 77, 83, 84, 95,
+  92, 98, 93, 94, 103, 98, 90, 84, 82, 85, 91, 95, 108, 111, 114, 114,
+  114, 116, 118, 121, 115, 102, 87, 73, 53, 52, 96, 150, 180, 176, 205, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 140, 140, 140, 138, 136, 133,
+  131, 130, 121, 115, 117, 122, 119, 104, 90, 83, 83, 85, 79, 84, 79, 81,
+  77, 83, 83, 82, 84, 90, 98, 108, 114, 116, 118, 120, 121, 121, 120, 119,
+  119, 122, 129, 141, 155, 163, 166, 174, 181, 189, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 217, 142, 142, 141, 138, 135, 132, 126, 125,
+  126, 125, 124, 123, 119, 114, 117, 108, 109, 86, 93, 77, 84, 78, 85, 91,
+  97, 104, 110, 114, 114, 117, 118, 120, 123, 127, 128, 126, 119, 116, 138, 165,
+  183, 181, 177, 182, 180, 173, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 216, 137, 136, 135, 133, 131, 131, 129, 129, 126, 126,
+  125, 125, 125, 119, 117, 116, 115, 113, 114, 114, 114, 111, 115, 118, 118, 115,
+  115, 117, 120, 121, 122, 127, 132, 129, 124, 127, 136, 183, 179, 180, 188, 190,
+  182, 204, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 138, 136, 136, 136, 134, 133, 132, 130, 130, 130, 131, 132,
+  126, 125, 121, 119, 117, 115, 114, 115, 120, 122, 123, 121, 118, 118, 118, 121,
+  125, 126, 129, 126, 115, 112, 134, 162, 158, 170, 185, 193, 189, 182, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 138, 138, 139, 136, 135, 133, 132, 131, 133, 135, 136, 135, 134, 131,
+  128, 126, 124, 121, 122, 126, 126, 125, 123, 120, 119, 121, 124, 130, 127, 125,
+  126, 126, 133, 151, 170, 179, 188, 193, 189, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  216, 139, 138, 136, 133, 131, 131, 132, 134, 136, 137, 136, 134, 132, 131, 130,
+  128, 129, 127, 127, 125, 122, 121, 122, 124, 127, 127, 128, 123, 120, 132, 154,
+  169, 172, 175, 177, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 217, 139,
+  138, 136, 134, 132, 132, 134, 135, 137, 136, 134, 132, 131, 130, 129, 129, 127,
+  125, 123, 121, 122, 124, 127, 128, 120, 128, 123, 115, 130, 159, 168, 157, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 138, 137,
+  135, 135, 136, 136, 145, 143, 141, 138, 135, 133, 132, 132, 128, 126, 123, 123,
+  124, 125, 125, 126, 125, 120, 117, 131, 161, 172, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 135, 137, 138, 138, 138,
+  137, 147, 146, 143, 141, 138, 136, 135, 136, 132, 131, 127, 125, 126, 126, 123,
+  121, 130, 114, 120, 154, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 136, 138, 137, 137, 136, 137,
+  135, 134, 133, 134, 133, 135, 138, 134, 131, 129, 130, 127, 122, 119, 127, 119,
+  137, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 131, 136, 139, 137, 131,
+  130, 133, 137, 126, 128, 129, 124, 124, 124, 121, 119, 109, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 52, 66, 67, 16, 17, 68, 116,
+  34, 13, 33, 63, 53, 67, 54, 61, 71, 78, 83, 91, 113, 180, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193,
+  82, 98, 86, 98, 122, 137, 154, 151, 140, 55, 48, 64, 92, 114, 119, 112,
+  93, 81, 132, 132, 118, 106, 115, 116, 116, 139, 171, 185, 197, 237, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 193, 50, 37, 67, 66, 79, 121, 161, 169,
+  166, 175, 163, 131, 146, 124, 143, 138, 166, 148, 125, 131, 111, 126, 133, 161,
+  152, 117, 113, 124, 128, 125, 143, 174, 185, 177, 187, 204, 241, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 202, 78, 91, 97, 110, 105, 140, 153, 167, 173, 184, 162, 148, 153,
+  127, 134, 122, 148, 166, 180, 175, 131, 124, 120, 178, 179, 153, 140, 146, 124,
+  135, 140, 139, 154, 180, 189, 185, 171, 178, 190, 203, 223, 241, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 188, 65, 75, 82,
+  47, 55, 73, 101, 108, 167, 185, 178, 151, 157, 142, 141, 129, 130, 135, 148,
+  159, 181, 140, 132, 150, 160, 160, 149, 124, 130, 118, 139, 137, 140, 136, 124,
+  122, 131, 133, 129, 161, 163, 167, 171, 176, 180, 195, 219, 240, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 30, 26, 44, 44, 53, 88, 92, 115, 118,
+  125, 113, 150, 154, 158, 133, 137, 126, 140, 125, 138, 178, 132, 154, 132, 138,
+  154, 158, 136, 168, 186, 176, 165, 107, 150, 138, 137, 129, 115, 111, 113, 116,
+  118, 140, 130, 115, 109, 112, 124, 143, 159, 187, 203, 224, 242, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 204, 102, 87, 84, 67, 75, 111, 125, 128, 152, 115, 146, 199, 161,
+  161, 137, 110, 120, 127, 114, 142, 151, 129, 126, 127, 140, 127, 160, 117, 117,
+  141, 160, 144, 124, 133, 151, 141, 112, 88, 88, 98, 100, 103, 110, 103, 142,
+  129, 107, 120, 115, 100, 115, 128, 156, 201, 190, 190, 224, 241, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 105, 93,
+  111, 109, 132, 145, 167, 202, 172, 203, 194, 189, 161, 163, 155, 131, 115, 123,
+  130, 114, 145, 112, 111, 116, 123, 120, 133, 131, 129, 104, 127, 143, 129, 121,
+  142, 147, 122, 88, 107, 115, 102, 101, 115, 121, 112, 106, 116, 104, 105, 129,
+  122, 93, 88, 91, 94, 122, 149, 171, 179, 181, 218, 249, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 84, 94, 94, 108, 171, 163, 195, 192,
+  186, 202, 190, 202, 202, 180, 160, 142, 150, 130, 131, 149, 120, 130, 107, 109,
+  111, 121, 150, 132, 90, 87, 127, 129, 137, 115, 109, 124, 143, 155, 143, 116,
+  125, 128, 132, 129, 118, 104, 101, 104, 115, 128, 132, 115, 84, 69, 91, 128,
+  120, 96, 77, 102, 128, 135, 155, 169, 181, 231, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 188, 67, 34, 72, 95, 125, 201, 166, 195, 173, 188, 181, 149,
+  168, 147, 132, 93, 98, 119, 99, 113, 150, 114, 157, 148, 139, 139, 131, 135,
+  121, 128, 133, 166, 147, 162, 141, 153, 169, 138, 95, 104, 136, 154, 146, 144,
+  138, 116, 96, 111, 136, 151, 111, 91, 100, 113, 124, 109, 77, 87, 94, 82,
+  109, 132, 135, 150, 136, 135, 139, 184, 245, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 55, 30,
+  71, 78, 97, 168, 161, 214, 181, 171, 168, 173, 164, 144, 152, 93, 112, 110,
+  88, 78, 87, 119, 122, 148, 154, 188, 144, 152, 123, 124, 104, 105, 156, 154,
+  158, 131, 118, 109, 116, 123, 120, 121, 124, 117, 116, 138, 138, 103, 75, 80,
+  104, 116, 108, 100, 106, 102, 91, 110, 122, 102, 73, 90, 84, 102, 111, 109,
+  135, 134, 129, 116, 122, 155, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 57, 87, 92, 97, 135, 126, 162,
+  189, 168, 187, 150, 151, 162, 164, 140, 116, 131, 101, 114, 129, 106, 127, 146,
+  150, 152, 160, 142, 156, 115, 101, 114, 130, 98, 104, 144, 133, 141, 139, 149,
+  160, 165, 138, 104, 99, 104, 97, 97, 97, 93, 87, 83, 83, 82, 78, 105,
+  99, 101, 88, 78, 104, 127, 114, 118, 101, 80, 78, 65, 55, 88, 120, 132,
+  114, 114, 137, 146, 149, 185, 229, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 210, 125, 104, 108, 121, 159, 163, 182, 191, 185, 148, 148, 127,
+  143, 146, 175, 144, 145, 136, 129, 157, 140, 144, 114, 153, 188, 133, 132, 134,
+  98, 113, 119, 108, 140, 137, 99, 134, 158, 160, 175, 165, 147, 121, 104, 95,
+  88, 87, 79, 62, 86, 69, 70, 94, 106, 95, 89, 94, 85, 85, 97, 100,
+  97, 101, 101, 87, 100, 84, 87, 86, 81, 77, 76, 93, 107, 100, 101, 118,
+  136, 136, 120, 105, 134, 181, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 139,
+  97, 106, 139, 156, 160, 197, 164, 157, 194, 181, 141, 144, 139, 124, 145, 149,
+  118, 152, 168, 171, 152, 151, 115, 111, 94, 130, 104, 108, 124, 135, 109, 82,
+  101, 123, 140, 140, 181, 136, 116, 149, 149, 126, 121, 110, 86, 71, 81, 89,
+  76, 56, 83, 95, 74, 50, 46, 61, 71, 86, 72, 73, 82, 89, 91, 94,
+  96, 101, 93, 100, 82, 95, 124, 104, 95, 75, 78, 80, 90, 112, 120, 94,
+  57, 65, 73, 85, 119, 178, 228, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 231, 208, 163, 133, 115, 119, 149, 173,
+  167, 140, 179, 146, 155, 120, 131, 144, 123, 119, 138, 154, 170, 166, 159, 177,
+  158, 116, 102, 94, 133, 97, 121, 107, 106, 119, 134, 149, 171, 191, 181, 143,
+  136, 109, 96, 81, 111, 116, 110, 105, 87, 84, 91, 76, 65, 80, 96, 65,
+  45, 38, 33, 39, 55, 61, 55, 66, 79, 84, 81, 82, 91, 100, 98, 93,
+  86, 80, 76, 72, 68, 64, 67, 59, 73, 85, 79, 83, 87, 74, 70, 86,
+  61, 64, 75, 78, 119, 173, 225, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 230, 201, 183, 138, 99, 103, 128, 165, 138, 120, 164, 115,
+  123, 116, 106, 129, 115, 142, 148, 148, 149, 178, 124, 152, 114, 137, 111, 87,
+  63, 79, 126, 103, 116, 132, 138, 139, 144, 155, 162, 179, 150, 141, 116, 102,
+  68, 66, 55, 55, 47, 34, 34, 44, 45, 45, 52, 37, 32, 42, 56, 55,
+  52, 45, 34, 49, 56, 66, 72, 73, 72, 74, 76, 83, 79, 74, 69, 66,
+  62, 58, 55, 44, 52, 68, 68, 53, 49, 58, 62, 73, 86, 74, 69, 69,
+  62, 65, 65, 68, 114, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 140,
+  176, 171, 138, 157, 156, 110, 112, 122, 127, 114, 113, 132, 118, 108, 98, 138,
+  160, 167, 165, 114, 110, 94, 151, 158, 146, 109, 110, 77, 89, 109, 84, 57,
+  69, 83, 94, 102, 118, 130, 121, 103, 86, 88, 92, 79, 76, 49, 49, 59,
+  39, 34, 32, 34, 39, 53, 59, 50, 21, 23, 38, 50, 52, 56, 52, 34,
+  49, 48, 47, 49, 54, 60, 64, 67, 66, 64, 61, 59, 58, 55, 51, 46,
+  46, 50, 47, 46, 52, 53, 53, 58, 65, 83, 99, 91, 87, 84, 76, 90,
+  54, 29, 45, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 95, 159, 163, 162, 155,
+  142, 116, 125, 142, 96, 101, 123, 145, 104, 102, 80, 67, 106, 106, 122, 107,
+  90, 125, 125, 142, 138, 106, 113, 103, 110, 95, 65, 69, 39, 71, 79, 91,
+  105, 121, 121, 100, 75, 87, 72, 54, 66, 109, 103, 69, 53, 40, 37, 45,
+  43, 36, 50, 57, 36, 38, 35, 34, 30, 29, 45, 55, 46, 43, 40, 40,
+  43, 49, 55, 60, 63, 56, 55, 55, 55, 55, 53, 49, 46, 52, 54, 39,
+  38, 61, 70, 69, 80, 75, 70, 83, 76, 91, 100, 69, 70, 72, 61, 97,
+  145, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 213, 136, 145, 197, 169, 133, 128, 148, 182, 151, 119, 142,
+  145, 126, 98, 103, 140, 133, 89, 119, 118, 118, 106, 110, 122, 149, 116, 123,
+  115, 63, 50, 61, 58, 91, 89, 78, 90, 70, 79, 94, 115, 122, 103, 71,
+  52, 48, 31, 57, 68, 77, 80, 59, 31, 34, 32, 34, 42, 32, 18, 31,
+  41, 22, 33, 31, 33, 29, 26, 40, 48, 38, 31, 36, 45, 52, 55, 56,
+  55, 54, 53, 52, 52, 52, 52, 51, 48, 45, 40, 53, 46, 40, 54, 62,
+  76, 104, 81, 53, 51, 59, 105, 128, 76, 53, 54, 89, 137, 161, 159, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  225, 164, 150, 131, 146, 142, 143, 115, 133, 151, 142, 163, 155, 115, 150, 160,
+  141, 152, 140, 144, 132, 126, 116, 100, 127, 114, 120, 63, 76, 83, 82, 80,
+  87, 119, 103, 61, 70, 67, 98, 126, 118, 113, 106, 84, 57, 48, 54, 37,
+  50, 52, 67, 70, 69, 48, 47, 33, 34, 32, 20, 13, 26, 38, 32, 24,
+  22, 29, 33, 32, 43, 51, 46, 45, 41, 41, 38, 42, 47, 57, 60, 52,
+  49, 49, 46, 48, 44, 43, 39, 42, 42, 37, 35, 48, 61, 74, 88, 72,
+  71, 76, 84, 112, 124, 100, 91, 89, 104, 136, 174, 173, 200, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 237, 191, 204, 176,
+  165, 171, 152, 116, 102, 165, 168, 132, 142, 142, 113, 118, 126, 126, 124, 120,
+  183, 141, 136, 137, 155, 169, 114, 103, 100, 104, 80, 73, 114, 65, 84, 130,
+  123, 116, 91, 133, 107, 85, 60, 45, 42, 42, 40, 38, 40, 56, 62, 65,
+  33, 40, 51, 69, 29, 33, 23, 16, 24, 31, 30, 30, 33, 25, 30, 37,
+  37, 46, 59, 61, 56, 43, 32, 26, 35, 47, 61, 66, 52, 47, 45, 41,
+  41, 37, 36, 32, 47, 30, 29, 37, 50, 66, 71, 62, 82, 109, 104, 92,
+  76, 66, 84, 101, 105, 108, 117, 161, 171, 164, 182, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 203, 173, 161, 182, 144, 125, 124, 144,
+  142, 134, 135, 128, 156, 159, 140, 145, 124, 107, 123, 115, 174, 147, 158, 149,
+  126, 93, 82, 77, 84, 78, 94, 111, 73, 76, 117, 122, 151, 114, 98, 99,
+  81, 63, 68, 62, 46, 40, 41, 39, 31, 38, 33, 32, 54, 36, 58, 56,
+  49, 35, 39, 27, 26, 46, 44, 25, 23, 35, 25, 32, 43, 42, 43, 53,
+  58, 39, 32, 30, 38, 53, 61, 58, 52, 52, 48, 42, 38, 36, 34, 31,
+  29, 29, 23, 38, 49, 42, 49, 63, 57, 91, 112, 83, 69, 57, 53, 93,
+  113, 116, 171, 162, 138, 126, 160, 151, 184, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 220, 127, 112, 107, 129, 113, 156, 117, 109, 101, 97, 141,
+  138, 149, 129, 146, 143, 104, 83, 104, 116, 151, 149, 140, 106, 106, 103, 118,
+  73, 89, 60, 61, 58, 98, 101, 138, 179, 97, 126, 58, 74, 63, 47, 46,
+  53, 51, 38, 36, 43, 43, 33, 32, 38, 50, 54, 47, 38, 36, 29, 34,
+  37, 36, 31, 28, 28, 30, 39, 34, 32, 34, 34, 34, 37, 40, 35, 34,
+  33, 34, 38, 43, 49, 53, 59, 44, 39, 49, 49, 35, 28, 32, 27, 30,
+  34, 36, 39, 46, 59, 70, 65, 70, 80, 90, 95, 98, 104, 114, 137, 138,
+  135, 127, 125, 136, 154, 168, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 214,
+  148, 175, 183, 152, 130, 163, 164, 157, 97, 112, 178, 184, 180, 160, 155, 148,
+  134, 128, 88, 95, 117, 166, 165, 182, 133, 138, 144, 119, 135, 98, 86, 82,
+  88, 89, 92, 113, 80, 69, 67, 50, 63, 68, 44, 52, 48, 52, 52, 39,
+  36, 40, 38, 39, 35, 37, 44, 46, 40, 36, 37, 54, 51, 45, 35, 26,
+  23, 25, 29, 29, 25, 23, 25, 26, 25, 28, 32, 29, 26, 25, 25, 27,
+  32, 37, 40, 52, 40, 33, 37, 38, 31, 27, 30, 21, 24, 26, 25, 26,
+  33, 44, 52, 56, 77, 100, 112, 104, 95, 98, 110, 106, 114, 122, 125, 124,
+  124, 126, 128, 131, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 148, 169, 161, 148,
+  150, 195, 183, 163, 151, 167, 209, 177, 206, 146, 122, 130, 136, 91, 120, 140,
+  162, 198, 191, 165, 166, 186, 158, 117, 93, 107, 93, 78, 93, 86, 92, 78,
+  91, 111, 121, 92, 75, 47, 43, 43, 41, 39, 43, 44, 34, 33, 37, 33,
+  45, 39, 37, 38, 37, 35, 35, 37, 50, 49, 42, 32, 25, 23, 28, 34,
+  28, 24, 24, 26, 27, 26, 28, 31, 28, 26, 24, 24, 25, 29, 32, 35,
+  43, 36, 29, 25, 27, 29, 30, 29, 27, 28, 28, 25, 25, 28, 37, 43,
+  64, 77, 88, 90, 76, 67, 74, 88, 90, 101, 116, 127, 127, 118, 108, 102,
+  108, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 114, 112, 119, 146, 159, 147, 174, 164, 136,
+  135, 128, 166, 164, 124, 103, 137, 159, 127, 114, 134, 185, 192, 205, 201, 163,
+  159, 121, 113, 90, 110, 102, 71, 39, 54, 98, 99, 99, 79, 57, 97, 120,
+  76, 106, 80, 57, 18, 32, 31, 41, 42, 32, 34, 42, 41, 44, 40, 37,
+  33, 32, 32, 34, 38, 38, 38, 38, 33, 28, 26, 28, 31, 30, 27, 27,
+  30, 31, 29, 31, 34, 30, 27, 25, 24, 24, 26, 29, 31, 32, 33, 28,
+  20, 22, 30, 31, 26, 34, 34, 33, 32, 31, 33, 37, 42, 59, 53, 48,
+  50, 48, 48, 52, 58, 70, 77, 91, 104, 107, 101, 92, 88, 103, 164, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 205, 100, 110, 142, 179, 184, 165, 161, 129, 174, 170, 127, 152,
+  120, 169, 194, 129, 77, 95, 130, 186, 204, 212, 170, 167, 145, 80, 91, 89,
+  100, 80, 93, 98, 77, 64, 30, 30, 73, 108, 147, 128, 128, 113, 85, 107,
+  93, 22, 47, 50, 59, 58, 44, 43, 52, 53, 40, 39, 39, 35, 34, 35,
+  37, 37, 45, 46, 43, 36, 29, 24, 25, 27, 29, 26, 27, 31, 31, 28,
+  28, 30, 24, 23, 21, 20, 21, 22, 24, 26, 29, 35, 34, 26, 27, 35,
+  35, 27, 34, 34, 32, 28, 29, 29, 32, 36, 30, 26, 29, 39, 44, 46,
+  47, 49, 54, 59, 73, 90, 99, 97, 96, 98, 114, 104, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 109,
+  102, 88, 128, 203, 199, 164, 178, 144, 166, 159, 193, 202, 219, 189, 130, 127,
+  134, 130, 124, 110, 158, 151, 143, 163, 111, 77, 89, 114, 94, 85, 101, 72,
+  79, 62, 66, 71, 114, 146, 135, 106, 93, 121, 112, 99, 83, 100, 81, 65,
+  66, 71, 66, 49, 43, 48, 47, 33, 37, 39, 35, 33, 35, 36, 37, 46,
+  43, 37, 28, 21, 20, 26, 31, 29, 27, 28, 32, 32, 27, 26, 27, 22,
+  20, 19, 19, 20, 21, 23, 25, 30, 36, 37, 33, 32, 36, 34, 27, 32,
+  31, 28, 27, 25, 27, 28, 28, 27, 28, 34, 34, 30, 31, 43, 56, 45,
+  51, 69, 91, 102, 102, 104, 111, 116, 102, 220, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 202, 115, 108, 104, 134,
+  169, 148, 141, 190, 118, 186, 163, 201, 181, 131, 147, 113, 133, 106, 117, 123,
+  116, 125, 127, 152, 111, 125, 97, 99, 70, 88, 74, 94, 68, 72, 74, 68,
+  81, 97, 121, 85, 107, 98, 115, 96, 120, 74, 67, 56, 63, 57, 57, 54,
+  41, 38, 40, 32, 32, 37, 38, 32, 31, 33, 35, 33, 33, 35, 32, 27,
+  24, 25, 32, 38, 33, 31, 33, 36, 35, 29, 26, 25, 22, 20, 20, 21,
+  22, 25, 27, 28, 34, 36, 37, 36, 34, 33, 31, 29, 35, 34, 29, 27,
+  25, 26, 25, 24, 36, 32, 30, 27, 23, 26, 39, 55, 39, 46, 62, 81,
+  87, 84, 88, 99, 99, 109, 151, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 190, 85, 115, 99, 114, 133, 147, 170, 160,
+  110, 177, 167, 177, 129, 139, 166, 123, 138, 114, 94, 109, 83, 112, 150, 162,
+  149, 148, 127, 112, 91, 103, 78, 78, 82, 111, 76, 83, 84, 126, 121, 160,
+  131, 109, 93, 86, 104, 36, 75, 78, 59, 50, 39, 36, 38, 35, 37, 37,
+  24, 32, 37, 37, 29, 26, 30, 32, 31, 31, 35, 40, 37, 35, 30, 32,
+  32, 31, 27, 30, 31, 32, 23, 21, 20, 18, 16, 19, 19, 23, 24, 28,
+  28, 40, 36, 38, 36, 35, 29, 30, 32, 36, 34, 29, 26, 23, 23, 23,
+  20, 23, 19, 22, 34, 47, 51, 47, 45, 60, 61, 72, 81, 82, 74, 81,
+  96, 77, 96, 111, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 197, 120, 163, 172, 193, 177, 137, 178, 203, 154, 153, 107, 122,
+  113, 129, 96, 109, 140, 125, 102, 70, 69, 116, 141, 112, 97, 121, 96, 94,
+  105, 91, 98, 83, 96, 93, 64, 74, 95, 111, 131, 143, 121, 100, 86, 90,
+  72, 73, 67, 94, 79, 67, 55, 45, 38, 42, 43, 34, 32, 37, 47, 44,
+  41, 37, 32, 25, 28, 35, 30, 33, 32, 25, 27, 32, 35, 31, 22, 28,
+  38, 40, 32, 17, 13, 14, 21, 18, 19, 20, 26, 30, 34, 34, 31, 34,
+  39, 39, 39, 35, 35, 33, 30, 35, 37, 34, 28, 28, 34, 40, 27, 30,
+  36, 44, 54, 59, 58, 54, 53, 47, 51, 57, 68, 72, 79, 85, 80, 79,
+  97, 104, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230,
+  185, 172, 153, 181, 196, 161, 136, 157, 157, 138, 134, 152, 155, 138, 133, 143,
+  126, 108, 86, 103, 113, 127, 134, 124, 105, 91, 86, 108, 94, 85, 95, 99,
+  96, 84, 76, 121, 112, 90, 109, 118, 107, 114, 104, 75, 107, 134, 122, 95,
+  65, 54, 48, 62, 49, 38, 40, 42, 36, 35, 40, 43, 37, 32, 32, 34,
+  31, 31, 32, 29, 31, 30, 25, 25, 30, 33, 30, 35, 26, 21, 25, 30,
+  28, 20, 15, 13, 15, 18, 21, 25, 28, 30, 32, 42, 43, 45, 43, 40,
+  36, 34, 34, 31, 32, 32, 30, 29, 30, 32, 34, 29, 31, 36, 43, 50,
+  53, 52, 48, 40, 36, 39, 48, 57, 65, 72, 80, 74, 75, 95, 104, 160,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 237, 173, 191, 187, 182,
+  166, 166, 124, 133, 162, 171, 196, 191, 125, 109, 139, 121, 108, 89, 101, 92,
+  83, 77, 67, 49, 47, 74, 96, 90, 71, 78, 73, 92, 74, 82, 80, 98,
+  124, 138, 165, 129, 119, 145, 124, 123, 161, 107, 93, 100, 120, 76, 70, 74,
+  61, 44, 31, 31, 35, 33, 33, 37, 42, 31, 25, 29, 36, 35, 30, 27,
+  28, 29, 27, 24, 24, 29, 31, 30, 36, 35, 34, 31, 22, 13, 14, 20,
+  17, 22, 26, 28, 27, 27, 28, 31, 38, 38, 38, 35, 30, 27, 26, 26,
+  29, 27, 25, 26, 29, 31, 29, 27, 27, 29, 32, 37, 41, 41, 39, 35,
+  34, 31, 33, 40, 49, 56, 64, 74, 73, 71, 85, 90, 99, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 187, 127, 104, 104, 137, 190, 187, 175, 153,
+  163, 173, 166, 152, 113, 123, 125, 116, 89, 127, 106, 65, 98, 121, 107, 111,
+  119, 112, 109, 111, 103, 90, 97, 82, 66, 50, 85, 131, 175, 165, 127, 69,
+  99, 118, 93, 100, 79, 79, 102, 115, 96, 105, 102, 77, 29, 51, 37, 25,
+  25, 32, 33, 33, 34, 41, 32, 27, 30, 36, 33, 28, 24, 28, 28, 26,
+  24, 25, 27, 30, 30, 26, 33, 41, 39, 26, 13, 14, 22, 29, 32, 35,
+  32, 26, 22, 25, 28, 37, 37, 36, 33, 30, 29, 30, 32, 22, 21, 22,
+  24, 27, 29, 27, 26, 26, 28, 30, 33, 35, 34, 32, 28, 34, 30, 31,
+  36, 41, 47, 54, 64, 72, 66, 72, 69, 75, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 173, 165, 157, 176, 177, 129, 170, 156, 168, 160, 159, 171,
+  144, 114, 129, 111, 131, 141, 119, 124, 97, 98, 72, 99, 156, 198, 186, 137,
+  102, 89, 74, 88, 103, 94, 118, 132, 135, 110, 90, 100, 133, 102, 98, 123,
+  86, 76, 95, 78, 62, 71, 47, 33, 31, 60, 41, 32, 26, 28, 36, 38,
+  36, 35, 36, 32, 31, 33, 34, 30, 29, 32, 31, 29, 27, 26, 26, 27,
+  29, 31, 27, 20, 20, 29, 38, 38, 32, 27, 32, 34, 32, 26, 19, 17,
+  21, 26, 25, 25, 24, 21, 18, 18, 20, 22, 15, 18, 22, 23, 24, 24,
+  26, 28, 26, 28, 30, 32, 32, 32, 31, 28, 30, 26, 27, 31, 33, 37,
+  46, 55, 63, 59, 66, 61, 64, 78, 255, 255, 255, 255, 255, 255, 255, 255,
+  52, 101, 124, 117, 73, 110, 142, 154, 151, 178, 156, 141, 157, 139, 137, 95,
+  132, 128, 129, 122, 124, 104, 150, 171, 163, 137, 112, 104, 95, 93, 108, 85,
+  83, 89, 71, 108, 118, 114, 72, 78, 61, 31, 67, 84, 66, 94, 101, 89,
+  80, 47, 49, 36, 53, 29, 17, 29, 26, 25, 27, 33, 34, 32, 30, 28,
+  29, 32, 34, 33, 30, 35, 43, 36, 32, 29, 29, 29, 27, 28, 32, 32,
+  24, 20, 27, 35, 38, 38, 39, 33, 32, 29, 23, 19, 20, 25, 30, 18,
+  18, 16, 14, 11, 9, 11, 13, 17, 19, 22, 23, 21, 22, 25, 28, 25,
+  28, 31, 32, 31, 30, 30, 29, 25, 23, 27, 32, 33, 35, 43, 53, 49,
+  50, 68, 65, 66, 75, 134, 255, 255, 255, 255, 255, 255, 207, 101, 127, 99,
+  88, 66, 119, 157, 128, 140, 159, 161, 153, 142, 130, 129, 150, 129, 117, 124,
+  113, 129, 147, 121, 116, 125, 101, 94, 122, 114, 86, 87, 88, 95, 102, 100,
+  106, 97, 79, 55, 40, 52, 77, 57, 45, 55, 50, 67, 71, 54, 47, 61,
+  50, 27, 20, 36, 22, 24, 25, 24, 26, 26, 26, 26, 28, 28, 31, 32,
+  32, 30, 37, 46, 41, 35, 32, 33, 31, 27, 28, 33, 35, 33, 33, 35,
+  34, 31, 33, 38, 32, 29, 26, 23, 21, 22, 24, 26, 26, 27, 28, 27,
+  25, 25, 26, 28, 26, 24, 21, 20, 22, 23, 22, 22, 24, 27, 30, 30,
+  28, 27, 28, 27, 25, 24, 29, 33, 33, 33, 38, 47, 45, 45, 62, 59,
+  58, 66, 63, 255, 255, 255, 255, 255, 255, 77, 103, 154, 143, 150, 145, 164,
+  171, 219, 200, 147, 142, 139, 119, 136, 144, 121, 127, 125, 117, 121, 109, 144,
+  118, 106, 115, 87, 80, 109, 90, 71, 105, 122, 114, 95, 103, 80, 71, 47,
+  50, 63, 51, 39, 50, 54, 49, 54, 58, 32, 47, 56, 22, 30, 30, 31,
+  3, 25, 29, 30, 26, 25, 25, 27, 28, 32, 30, 29, 30, 30, 29, 34,
+  41, 45, 38, 34, 35, 33, 28, 28, 34, 39, 26, 21, 34, 51, 52, 37,
+  24, 28, 25, 21, 19, 18, 17, 15, 13, 14, 16, 19, 21, 22, 23, 26,
+  28, 36, 28, 20, 19, 23, 24, 21, 16, 24, 27, 29, 28, 25, 24, 25,
+  24, 23, 23, 27, 29, 27, 23, 27, 34, 48, 45, 53, 43, 39, 49, 52,
+  255, 255, 255, 255, 255, 93, 98, 106, 75, 150, 125, 94, 148, 153, 153, 148,
+  133, 123, 118, 127, 131, 133, 120, 116, 124, 115, 118, 128, 113, 106, 89, 105,
+  74, 113, 95, 117, 118, 119, 71, 76, 82, 97, 74, 73, 56, 47, 54, 49,
+  43, 44, 51, 59, 60, 58, 65, 54, 45, 41, 32, 18, 17, 26, 22, 24,
+  28, 32, 35, 31, 24, 18, 23, 26, 29, 29, 28, 23, 20, 19, 27, 28,
+  28, 28, 29, 31, 29, 26, 33, 29, 29, 34, 36, 31, 26, 24, 12, 13,
+  15, 17, 18, 18, 17, 17, 14, 16, 18, 20, 22, 25, 29, 31, 33, 33,
+  32, 27, 22, 21, 23, 26, 35, 28, 26, 31, 32, 27, 23, 22, 24, 15,
+  15, 26, 26, 22, 33, 52, 40, 35, 30, 29, 32, 43, 53, 125, 255, 255,
+  255, 255, 180, 180, 132, 138, 130, 93, 140, 143, 140, 113, 128, 143, 146, 139,
+  127, 111, 100, 123, 116, 120, 107, 105, 107, 86, 78, 65, 92, 93, 133, 119,
+  113, 93, 75, 75, 71, 67, 78, 58, 64, 50, 42, 15, 24, 36, 46, 56,
+  59, 60, 60, 54, 43, 37, 35, 31, 23, 25, 35, 29, 29, 31, 33, 35,
+  31, 25, 20, 32, 32, 33, 32, 31, 27, 24, 22, 22, 22, 21, 19, 19,
+  19, 18, 16, 28, 24, 25, 31, 33, 30, 26, 26, 23, 22, 21, 20, 19,
+  17, 15, 14, 15, 20, 25, 26, 25, 27, 34, 40, 34, 33, 29, 24, 20,
+  20, 24, 28, 20, 17, 20, 28, 32, 29, 27, 29, 31, 25, 27, 33, 31,
+  28, 35, 48, 52, 46, 39, 35, 33, 38, 44, 47, 255, 255, 255, 255, 92,
+  77, 139, 82, 134, 173, 131, 134, 141, 126, 136, 145, 137, 131, 124, 126, 124,
+  113, 109, 117, 109, 107, 108, 89, 84, 77, 97, 106, 123, 118, 97, 83, 64,
+  82, 76, 67, 79, 65, 74, 61, 51, 29, 31, 34, 42, 53, 56, 51, 46,
+  41, 31, 24, 24, 25, 22, 26, 35, 31, 31, 32, 33, 36, 35, 31, 27,
+  34, 33, 32, 32, 34, 32, 28, 26, 26, 24, 22, 20, 18, 16, 16, 17,
+  24, 21, 22, 27, 30, 27, 25, 26, 24, 22, 19, 16, 13, 12, 11, 11,
+  20, 27, 33, 31, 25, 24, 31, 38, 31, 29, 26, 21, 19, 21, 25, 30,
+  22, 22, 26, 30, 28, 23, 20, 22, 33, 36, 37, 37, 36, 37, 40, 44,
+  48, 46, 41, 38, 38, 41, 45, 46, 255, 255, 255, 255, 90, 101, 129, 119,
+  90, 70, 99, 131, 112, 150, 154, 161, 146, 144, 130, 130, 123, 116, 114, 124,
+  112, 100, 94, 74, 73, 103, 104, 109, 97, 100, 81, 86, 80, 86, 85, 82,
+  94, 74, 76, 58, 46, 48, 56, 61, 58, 52, 42, 37, 36, 42, 32, 23,
+  22, 24, 23, 26, 31, 29, 29, 29, 31, 36, 37, 37, 36, 25, 26, 27,
+  31, 35, 34, 30, 27, 30, 27, 26, 25, 24, 23, 25, 29, 26, 23, 24,
+  27, 28, 24, 22, 24, 19, 17, 14, 12, 11, 12, 14, 16, 29, 32, 32,
+  28, 21, 17, 20, 23, 25, 24, 23, 23, 23, 25, 28, 30, 29, 30, 31,
+  29, 23, 18, 18, 20, 31, 39, 39, 33, 31, 38, 40, 38, 36, 37, 37,
+  38, 39, 41, 44, 44, 112, 255, 255, 195, 94, 83, 65, 106, 145, 115, 94,
+  134, 137, 144, 127, 118, 95, 115, 123, 149, 151, 114, 115, 130, 121, 109, 103,
+  91, 99, 96, 91, 108, 88, 95, 76, 82, 77, 86, 89, 88, 94, 62, 56,
+  37, 28, 29, 52, 75, 71, 49, 31, 35, 44, 50, 40, 31, 29, 30, 31,
+  32, 33, 30, 28, 27, 29, 33, 35, 35, 35, 21, 24, 29, 33, 37, 33,
+  28, 23, 27, 24, 24, 28, 27, 26, 30, 38, 32, 30, 30, 32, 28, 22,
+  19, 20, 19, 17, 15, 13, 14, 17, 21, 23, 34, 30, 26, 23, 20, 18,
+  15, 13, 19, 21, 24, 27, 30, 31, 30, 29, 23, 24, 24, 20, 18, 20,
+  26, 31, 30, 38, 37, 26, 20, 27, 32, 29, 30, 33, 36, 37, 35, 35,
+  36, 35, 42, 255, 255, 114, 95, 92, 89, 132, 103, 113, 135, 127, 140, 123,
+  121, 145, 145, 181, 168, 166, 139, 102, 101, 118, 116, 114, 116, 111, 123, 83,
+  74, 92, 72, 81, 70, 71, 70, 83, 84, 81, 83, 51, 51, 42, 41, 43,
+  41, 41, 41, 43, 44, 46, 46, 47, 37, 30, 29, 35, 39, 38, 36, 34,
+  32, 29, 28, 30, 30, 28, 27, 27, 31, 36, 37, 35, 29, 23, 20, 26,
+  23, 26, 32, 31, 27, 32, 42, 34, 33, 35, 36, 31, 23, 19, 20, 18,
+  16, 14, 12, 13, 15, 18, 20, 30, 25, 21, 21, 24, 26, 23, 19, 21,
+  23, 27, 32, 36, 35, 30, 26, 22, 22, 18, 12, 11, 18, 25, 28, 31,
+  35, 32, 21, 12, 16, 20, 18, 18, 24, 31, 34, 34, 34, 37, 38, 47,
+  255, 255, 98, 100, 106, 85, 90, 139, 126, 95, 172, 132, 143, 126, 133, 112,
+  144, 127, 130, 105, 114, 98, 100, 94, 92, 91, 77, 82, 91, 72, 77, 55,
+  60, 66, 66, 75, 77, 75, 70, 74, 52, 59, 56, 58, 61, 42, 26, 29,
+  46, 56, 51, 39, 35, 28, 23, 25, 34, 41, 40, 34, 36, 33, 30, 28,
+  29, 27, 25, 22, 31, 36, 40, 37, 30, 23, 22, 23, 30, 26, 29, 35,
+  32, 24, 27, 38, 28, 30, 35, 39, 35, 27, 23, 24, 14, 13, 11, 10,
+  11, 13, 15, 17, 22, 21, 21, 23, 27, 30, 31, 31, 30, 30, 32, 35,
+  37, 35, 29, 24, 31, 29, 21, 11, 9, 15, 17, 14, 25, 27, 27, 22,
+  16, 15, 16, 18, 16, 23, 30, 35, 35, 36, 40, 41, 43, 106, 255, 122,
+  99, 104, 113, 145, 105, 135, 141, 120, 150, 122, 102, 113, 91, 134, 127, 145,
+  128, 126, 101, 94, 90, 95, 98, 80, 80, 96, 75, 74, 55, 56, 72, 64,
+  77, 75, 70, 61, 69, 46, 55, 47, 43, 34, 47, 63, 70, 67, 57, 48,
+  43, 36, 29, 23, 26, 36, 44, 42, 34, 34, 31, 29, 28, 30, 29, 26,
+  24, 30, 35, 38, 32, 24, 19, 23, 29, 29, 26, 29, 34, 28, 17, 18,
+  28, 21, 25, 33, 37, 37, 28, 27, 29, 13, 13, 13, 14, 16, 18, 21,
+  22, 17, 19, 23, 25, 26, 28, 33, 37, 39, 37, 36, 36, 36, 33, 28,
+  23, 32, 30, 22, 13, 13, 19, 18, 12, 17, 19, 23, 25, 22, 19, 19,
+  23, 27, 34, 38, 39, 35, 31, 33, 35, 34, 35, 255, 115, 119, 121, 142,
+  157, 173, 160, 135, 135, 132, 116, 119, 147, 136, 134, 141, 123, 126, 113, 118,
+  102, 95, 106, 85, 67, 87, 77, 76, 67, 63, 72, 77, 80, 89, 70, 65,
+  61, 61, 54, 45, 39, 39, 34, 36, 54, 59, 44, 48, 51, 33, 36, 33,
+  37, 45, 41, 32, 35, 46, 39, 43, 43, 37, 31, 27, 22, 17, 26, 31,
+  33, 30, 27, 25, 21, 19, 30, 29, 33, 40, 37, 27, 21, 21, 27, 28,
+  34, 39, 41, 32, 28, 27, 21, 21, 20, 22, 25, 25, 20, 16, 22, 22,
+  21, 21, 22, 24, 26, 27, 29, 25, 26, 33, 36, 33, 29, 27, 27, 23,
+  32, 36, 22, 15, 21, 25, 28, 30, 31, 31, 28, 30, 36, 40, 41, 42,
+  42, 38, 35, 35, 36, 37, 27, 38, 255, 103, 112, 127, 129, 136, 167, 177,
+  150, 131, 106, 148, 131, 133, 120, 125, 137, 118, 113, 112, 117, 103, 92, 102,
+  97, 86, 90, 82, 85, 79, 71, 73, 68, 63, 71, 68, 64, 57, 53, 48,
+  39, 36, 37, 45, 47, 61, 60, 42, 41, 44, 31, 26, 33, 37, 36, 34,
+  36, 39, 41, 34, 36, 35, 30, 29, 29, 27, 22, 25, 30, 32, 28, 27,
+  27, 25, 24, 27, 26, 27, 32, 29, 22, 18, 20, 24, 26, 32, 41, 44,
+  39, 35, 35, 25, 26, 26, 27, 27, 26, 22, 19, 23, 22, 22, 22, 23,
+  25, 27, 28, 33, 31, 32, 38, 40, 37, 34, 35, 40, 31, 35, 39, 30,
+  25, 26, 23, 26, 30, 35, 37, 36, 37, 39, 41, 35, 36, 37, 35, 31,
+  30, 32, 33, 30, 37, 255, 104, 119, 117, 121, 126, 146, 141, 111, 116, 117,
+  128, 144, 164, 136, 104, 99, 111, 141, 116, 117, 104, 86, 86, 91, 85, 73,
+  72, 80, 77, 74, 76, 67, 59, 61, 67, 60, 55, 51, 48, 41, 40, 43,
+  58, 59, 66, 60, 42, 38, 42, 35, 26, 38, 42, 33, 30, 38, 40, 34,
+  42, 41, 38, 34, 36, 40, 40, 34, 30, 35, 37, 32, 29, 29, 30, 27,
+  32, 29, 29, 31, 30, 26, 23, 24, 28, 30, 33, 41, 41, 35, 28, 29,
+  29, 31, 32, 32, 30, 27, 26, 26, 22, 22, 22, 23, 24, 26, 28, 29,
+  33, 32, 34, 38, 38, 34, 35, 39, 44, 31, 31, 37, 34, 33, 30, 21,
+  30, 34, 40, 44, 42, 39, 37, 37, 31, 33, 34, 33, 29, 28, 29, 31,
+  37, 38, 108, 204, 107, 124, 135, 140, 148, 120, 92, 124, 157, 124, 125, 129,
+  122, 116, 115, 115, 121, 127, 120, 114, 102, 92, 93, 91, 78, 64, 70, 69,
+  70, 77, 70, 59, 58, 61, 55, 53, 52, 52, 47, 47, 50, 65, 63, 62,
+  56, 47, 45, 46, 45, 41, 47, 48, 40, 35, 36, 35, 30, 49, 48, 44,
+  42, 45, 47, 44, 36, 38, 42, 45, 40, 35, 33, 32, 27, 34, 34, 34,
+  35, 34, 30, 28, 28, 25, 23, 28, 33, 33, 25, 20, 20, 32, 37, 39,
+  37, 32, 29, 30, 31, 23, 23, 24, 25, 26, 27, 29, 29, 27, 27, 30,
+  33, 30, 27, 30, 36, 39, 29, 30, 36, 36, 38, 37, 26, 36, 38, 42,
+  43, 39, 35, 30, 27, 31, 33, 34, 34, 31, 30, 31, 32, 39, 35, 31,
+  255, 85, 113, 111, 107, 118, 107, 88, 110, 126, 123, 107, 95, 103, 119, 122,
+  114, 98, 115, 105, 109, 111, 99, 89, 89, 89, 77, 77, 70, 69, 77, 71,
+  56, 51, 53, 50, 51, 53, 51, 46, 46, 48, 66, 62, 53, 48, 50, 47,
+  45, 46, 53, 48, 46, 48, 42, 32, 30, 34, 44, 44, 45, 44, 47, 48,
+  42, 31, 40, 46, 51, 48, 44, 41, 37, 32, 30, 32, 32, 33, 31, 29,
+  25, 20, 13, 13, 17, 23, 26, 25, 24, 27, 41, 43, 43, 39, 32, 27,
+  26, 27, 23, 24, 25, 26, 26, 27, 27, 27, 25, 25, 28, 30, 27, 23,
+  26, 32, 36, 32, 37, 39, 34, 36, 38, 30, 35, 35, 35, 34, 31, 28,
+  25, 23, 29, 32, 34, 35, 32, 31, 32, 33, 34, 29, 26, 255, 100, 125,
+  118, 103, 110, 109, 104, 126, 133, 113, 119, 114, 112, 99, 87, 107, 116, 109,
+  101, 101, 105, 99, 83, 76, 83, 84, 82, 71, 68, 76, 71, 60, 56, 54,
+  52, 54, 57, 55, 50, 50, 51, 62, 60, 49, 44, 49, 44, 38, 45, 54,
+  45, 44, 51, 49, 37, 35, 43, 39, 42, 46, 46, 47, 46, 40, 30, 32,
+  39, 46, 46, 45, 45, 44, 40, 32, 35, 37, 35, 33, 30, 25, 20, 20,
+  16, 17, 23, 26, 25, 28, 32, 49, 48, 47, 39, 34, 26, 25, 22, 29,
+  27, 30, 28, 30, 28, 29, 29, 33, 31, 33, 35, 34, 29, 29, 33, 34,
+  34, 40, 37, 26, 27, 30, 23, 27, 26, 24, 25, 24, 25, 24, 23, 25,
+  28, 31, 33, 30, 30, 30, 31, 37, 31, 27, 255, 123, 109, 114, 104, 103,
+  98, 100, 128, 134, 130, 126, 103, 108, 107, 96, 109, 106, 115, 115, 100, 94,
+  104, 93, 76, 78, 76, 79, 74, 68, 72, 67, 60, 64, 52, 50, 50, 54,
+  55, 54, 57, 61, 51, 58, 50, 45, 48, 38, 33, 49, 50, 48, 48, 50,
+  50, 48, 46, 49, 46, 50, 53, 50, 46, 44, 40, 33, 27, 33, 38, 36,
+  37, 42, 44, 44, 41, 43, 43, 38, 35, 36, 33, 25, 30, 26, 24, 26,
+  28, 29, 34, 40, 48, 45, 43, 38, 37, 33, 32, 27, 33, 32, 34, 33,
+  34, 30, 30, 29, 38, 34, 34, 38, 38, 33, 29, 29, 29, 29, 34, 30,
+  19, 21, 24, 14, 22, 21, 20, 22, 23, 24, 23, 21, 23, 26, 30, 32,
+  30, 29, 30, 30, 41, 34, 30, 255, 146, 104, 119, 118, 127, 130, 129, 138,
+  126, 126, 117, 92, 104, 112, 100, 108, 95, 88, 97, 73, 59, 86, 89, 66,
+  62, 72, 82, 77, 67, 63, 54, 50, 59, 42, 39, 40, 46, 51, 54, 60,
+  67, 43, 56, 55, 48, 51, 36, 36, 58, 50, 55, 57, 48, 51, 57, 57,
+  48, 53, 57, 55, 49, 41, 37, 32, 29, 28, 31, 30, 28, 28, 35, 41,
+  40, 46, 48, 45, 37, 35, 35, 34, 29, 28, 23, 22, 27, 32, 35, 44,
+  52, 41, 38, 36, 36, 40, 41, 41, 37, 36, 36, 37, 36, 36, 32, 31,
+  30, 35, 32, 32, 36, 37, 32, 26, 23, 28, 27, 31, 28, 21, 26, 27,
+  16, 23, 22, 21, 23, 24, 23, 19, 16, 24, 27, 31, 34, 32, 31, 31,
+  32, 39, 31, 27, 255, 224, 102, 140, 132, 123, 120, 140, 125, 123, 123, 129,
+  104, 102, 94, 81, 98, 87, 75, 69, 78, 93, 89, 72, 73, 87, 86, 70,
+  58, 56, 54, 49, 49, 55, 45, 48, 49, 48, 45, 46, 51, 55, 50, 53,
+  56, 51, 53, 56, 59, 54, 57, 53, 49, 42, 47, 54, 61, 61, 69, 64,
+  56, 48, 39, 31, 25, 23, 29, 25, 22, 26, 33, 40, 43, 43, 39, 45,
+  48, 44, 42, 43, 41, 35, 38, 38, 29, 40, 32, 47, 53, 71, 48, 49,
+  57, 60, 53, 38, 43, 53, 59, 54, 50, 41, 38, 32, 31, 29, 36, 41,
+  40, 34, 28, 28, 29, 27, 24, 29, 33, 30, 22, 17, 19, 24, 24, 23,
+  24, 27, 28, 30, 30, 29, 20, 21, 28, 34, 30, 25, 27, 35, 34, 30,
+  25, 255, 255, 105, 128, 140, 165, 154, 129, 103, 123, 130, 127, 110, 106, 100,
+  88, 84, 70, 75, 55, 45, 54, 69, 74, 76, 77, 76, 58, 48, 55, 66,
+  63, 51, 43, 56, 53, 50, 51, 54, 56, 58, 58, 50, 55, 55, 52, 51,
+  54, 55, 52, 57, 56, 49, 40, 39, 45, 51, 52, 67, 60, 53, 47, 44,
+  38, 29, 23, 24, 22, 24, 27, 33, 39, 44, 43, 44, 47, 46, 42, 41,
+  43, 41, 34, 41, 48, 44, 52, 39, 47, 43, 53, 66, 59, 59, 67, 69,
+  60, 54, 56, 54, 52, 50, 48, 45, 41, 37, 36, 32, 39, 39, 33, 28,
+  27, 26, 23, 31, 34, 37, 34, 28, 23, 23, 24, 28, 27, 27, 29, 30,
+  30, 29, 28, 25, 24, 26, 28, 25, 25, 33, 44, 48, 35, 29, 255, 255,
+  134, 120, 117, 157, 158, 132, 99, 114, 127, 110, 104, 96, 98, 94, 71, 61,
+  57, 59, 66, 75, 80, 80, 79, 79, 68, 53, 46, 58, 69, 65, 51, 44,
+  58, 51, 44, 47, 56, 62, 60, 54, 62, 67, 68, 65, 63, 65, 65, 64,
+  67, 67, 61, 49, 43, 46, 51, 55, 45, 40, 40, 45, 54, 58, 53, 48,
+  34, 34, 36, 38, 41, 45, 50, 50, 50, 49, 44, 39, 40, 42, 44, 42,
+  60, 69, 67, 74, 54, 55, 47, 53, 57, 63, 72, 73, 61, 48, 51, 64,
+  62, 63, 64, 65, 63, 57, 49, 46, 34, 40, 41, 35, 31, 29, 27, 23,
+  35, 35, 35, 33, 30, 27, 24, 22, 32, 31, 31, 32, 31, 31, 29, 27,
+  28, 27, 28, 30, 28, 30, 37, 46, 43, 26, 22, 255, 255, 215, 123, 107,
+  127, 130, 135, 111, 105, 107, 84, 90, 80, 85, 91, 65, 66, 38, 49, 70,
+  82, 75, 59, 56, 65, 65, 57, 51, 52, 49, 43, 43, 52, 52, 48, 44,
+  50, 58, 62, 58, 53, 74, 79, 82, 82, 80, 80, 81, 82, 81, 86, 84,
+  75, 67, 67, 71, 73, 70, 67, 63, 64, 65, 64, 57, 50, 47, 45, 42,
+  40, 38, 39, 41, 43, 49, 48, 45, 38, 37, 43, 51, 55, 76, 88, 83,
+  83, 62, 67, 62, 68, 54, 62, 72, 66, 51, 36, 44, 56, 51, 51, 59,
+  63, 68, 62, 55, 50, 44, 48, 45, 39, 35, 34, 32, 29, 37, 34, 33,
+  33, 33, 32, 27, 23, 30, 31, 31, 32, 32, 32, 31, 29, 28, 31, 36,
+  40, 38, 36, 38, 40, 36, 27, 26, 255, 255, 255, 126, 131, 137, 120, 130,
+  117, 109, 88, 75, 89, 84, 83, 84, 60, 66, 58, 44, 45, 56, 56, 44,
+  48, 62, 62, 54, 48, 46, 38, 32, 36, 48, 45, 49, 52, 57, 60, 61,
+  60, 58, 70, 74, 81, 84, 83, 82, 85, 90, 89, 97, 101, 96, 91, 90,
+  91, 91, 95, 96, 95, 91, 85, 79, 74, 72, 74, 67, 57, 50, 44, 41,
+  42, 42, 39, 41, 41, 38, 36, 40, 56, 71, 79, 89, 85, 86, 66, 73,
+  65, 68, 76, 66, 58, 57, 60, 56, 48, 41, 43, 45, 54, 65, 75, 76,
+  71, 67, 52, 52, 47, 38, 35, 36, 36, 33, 35, 32, 30, 31, 34, 34,
+  29, 26, 26, 28, 28, 31, 32, 34, 34, 32, 35, 39, 42, 42, 39, 39,
+  38, 37, 40, 45, 44, 255, 255, 255, 130, 132, 147, 127, 132, 121, 111, 83,
+  79, 93, 96, 88, 73, 54, 55, 64, 55, 53, 54, 47, 39, 53, 74, 65,
+  52, 45, 51, 52, 48, 42, 43, 40, 48, 54, 58, 56, 56, 60, 63, 68,
+  73, 82, 88, 88, 87, 91, 98, 95, 103, 108, 107, 105, 105, 105, 103, 95,
+  99, 103, 101, 95, 94, 94, 97, 88, 78, 64, 54, 51, 48, 44, 42, 36,
+  37, 40, 41, 40, 47, 65, 82, 77, 92, 90, 94, 76, 82, 68, 64, 78,
+  73, 68, 67, 66, 62, 54, 47, 57, 57, 60, 68, 76, 77, 72, 66, 58,
+  57, 50, 42, 39, 40, 39, 35, 29, 27, 26, 27, 29, 28, 24, 22, 24,
+  26, 27, 31, 34, 36, 37, 36, 44, 44, 41, 35, 32, 37, 40, 39, 31,
+  44, 47, 255, 255, 255, 139, 123, 135, 119, 131, 117, 96, 81, 82, 80, 90,
+  82, 59, 54, 50, 49, 63, 68, 54, 42, 43, 53, 60, 67, 58, 53, 59,
+  60, 54, 49, 49, 44, 47, 52, 53, 52, 56, 61, 68, 75, 80, 90, 99,
+  99, 96, 101, 110, 105, 109, 111, 109, 109, 112, 111, 108, 113, 113, 109, 103,
+  96, 91, 88, 87, 85, 77, 65, 60, 61, 59, 52, 47, 46, 42, 41, 48,
+  56, 64, 76, 89, 86, 98, 92, 96, 83, 95, 81, 74, 64, 76, 86, 83,
+  71, 61, 58, 60, 63, 58, 55, 57, 61, 62, 57, 52, 61, 61, 57, 50,
+  48, 47, 42, 35, 30, 29, 28, 28, 27, 24, 21, 20, 25, 27, 29, 33,
+  36, 39, 39, 38, 41, 42, 38, 31, 30, 36, 38, 36, 22, 31, 39, 255,
+  255, 255, 147, 139, 135, 101, 115, 101, 73, 76, 78, 58, 72, 68, 47, 59,
+  54, 74, 82, 68, 43, 48, 72, 70, 48, 62, 61, 61, 60, 48, 38, 45,
+  59, 56, 55, 54, 54, 56, 62, 72, 78, 81, 86, 97, 106, 105, 101, 106,
+  116, 116, 116, 114, 110, 111, 115, 115, 111, 113, 109, 106, 105, 105, 105, 105,
+  103, 110, 101, 94, 95, 100, 99, 91, 81, 57, 48, 46, 57, 71, 79, 87,
+  95, 92, 99, 87, 86, 80, 97, 92, 87, 68, 75, 84, 88, 87, 80, 67,
+  56, 71, 65, 61, 63, 71, 75, 74, 71, 62, 65, 63, 58, 56, 53, 45,
+  36, 40, 40, 39, 37, 33, 29, 25, 25, 28, 30, 31, 35, 37, 40, 40,
+  39, 30, 35, 37, 34, 35, 37, 37, 28, 34, 33, 42, 255, 255, 255, 136,
+  133, 103, 98, 109, 98, 80, 100, 66, 47, 52, 59, 64, 67, 61, 72, 56,
+  45, 46, 50, 48, 46, 46, 57, 58, 61, 61, 50, 42, 43, 49, 53, 56,
+  59, 58, 60, 66, 77, 85, 93, 95, 98, 103, 108, 112, 116, 118, 116, 114,
+  113, 114, 117, 116, 112, 108, 112, 108, 104, 103, 105, 107, 108, 107, 105, 110,
+  107, 97, 96, 104, 109, 106, 106, 96, 86, 82, 86, 92, 97, 98, 109, 107,
+  103, 94, 88, 81, 83, 86, 91, 78, 72, 79, 87, 82, 66, 53, 57, 59,
+  90, 90, 71, 64, 58, 66, 62, 61, 59, 54, 57, 58, 53, 48, 50, 45,
+  39, 35, 35, 35, 35, 37, 28, 34, 41, 43, 41, 38, 38, 39, 37, 30,
+  28, 30, 28, 22, 31, 41, 37, 29, 33, 255, 255, 255, 212, 111, 102, 106,
+  100, 93, 97, 72, 66, 81, 104, 107, 97, 85, 70, 55, 42, 35, 36, 41,
+  45, 53, 59, 57, 55, 53, 50, 41, 39, 45, 55, 48, 53, 59, 64, 68,
+  78, 91, 99, 107, 106, 108, 109, 110, 111, 111, 111, 121, 119, 116, 114, 112,
+  108, 105, 102, 107, 105, 103, 105, 109, 112, 115, 115, 117, 120, 118, 112, 110,
+  111, 112, 111, 114, 106, 97, 92, 92, 95, 95, 93, 113, 111, 104, 98, 93,
+  90, 91, 92, 92, 86, 84, 86, 85, 75, 64, 58, 66, 46, 57, 68, 83,
+  96, 76, 57, 74, 77, 76, 67, 61, 55, 50, 43, 47, 43, 39, 36, 38,
+  39, 41, 41, 39, 40, 42, 45, 46, 44, 42, 39, 42, 40, 40, 42, 41,
+  38, 40, 42, 44, 35, 110, 255, 255, 255, 255, 142, 118, 101, 97, 92, 93,
+  103, 77, 57, 43, 30, 38, 65, 81, 53, 54, 61, 69, 71, 63, 56, 51,
+  55, 51, 47, 45, 39, 38, 43, 52, 43, 49, 56, 65, 75, 87, 100, 109,
+  115, 114, 116, 116, 116, 114, 111, 110, 117, 118, 118, 117, 116, 116, 117, 119,
+  112, 111, 112, 114, 120, 123, 124, 124, 125, 124, 123, 123, 120, 114, 112, 115,
+  113, 108, 104, 103, 104, 105, 104, 102, 104, 100, 94, 91, 88, 89, 90, 91,
+  91, 94, 97, 96, 85, 73, 69, 73, 69, 59, 71, 71, 78, 97, 85, 70,
+  81, 88, 90, 80, 69, 59, 53, 47, 46, 43, 40, 38, 40, 40, 39, 38,
+  41, 37, 35, 37, 40, 41, 37, 32, 38, 42, 44, 44, 45, 46, 42, 34,
+  42, 35, 255, 255, 255, 255, 255, 147, 113, 89, 83, 77, 71, 82, 75, 76,
+  74, 60, 56, 68, 72, 79, 67, 56, 49, 48, 51, 56, 58, 52, 49, 48,
+  48, 44, 40, 38, 43, 42, 48, 56, 66, 77, 88, 100, 106, 111, 114, 117,
+  120, 122, 121, 119, 117, 114, 117, 120, 120, 120, 122, 128, 133, 120, 120, 121,
+  122, 125, 125, 124, 124, 130, 124, 124, 129, 127, 118, 118, 125, 115, 112, 110,
+  110, 111, 112, 110, 109, 109, 103, 98, 97, 99, 104, 106, 106, 92, 97, 104,
+  103, 92, 82, 83, 91, 75, 82, 103, 87, 74, 89, 91, 91, 81, 87, 89,
+  82, 75, 69, 63, 57, 50, 47, 44, 40, 40, 38, 34, 32, 34, 32, 30,
+  30, 32, 33, 32, 30, 34, 41, 42, 39, 41, 46, 39, 25, 36, 32, 255,
+  255, 255, 255, 255, 206, 102, 98, 80, 69, 80, 85, 72, 67, 60, 49, 51,
+  64, 66, 79, 67, 53, 45, 49, 56, 62, 61, 54, 48, 43, 43, 41, 37,
+  34, 37, 42, 48, 59, 70, 80, 91, 99, 104, 109, 112, 117, 122, 125, 126,
+  126, 125, 124, 125, 125, 122, 118, 117, 120, 124, 123, 123, 126, 126, 125, 124,
+  126, 125, 134, 128, 129, 134, 133, 127, 132, 141, 130, 127, 120, 117, 114, 111,
+  108, 106, 112, 107, 102, 103, 108, 113, 114, 114, 102, 103, 107, 108, 102, 95,
+  95, 100, 90, 87, 99, 87, 83, 104, 101, 92, 90, 90, 87, 81, 78, 75,
+  69, 59, 51, 49, 45, 41, 39, 36, 32, 29, 31, 33, 34, 33, 32, 32,
+  36, 39, 38, 42, 41, 36, 38, 43, 39, 26, 33, 32, 255, 255, 255, 255,
+  255, 255, 97, 93, 78, 68, 75, 88, 80, 81, 80, 70, 65, 61, 49, 70,
+  72, 76, 76, 77, 74, 65, 54, 60, 48, 36, 32, 33, 33, 38, 43, 48,
+  54, 65, 78, 90, 99, 106, 109, 114, 116, 120, 124, 127, 128, 128, 128, 131,
+  131, 130, 128, 125, 123, 123, 124, 127, 128, 132, 132, 131, 131, 135, 137, 133,
+  131, 132, 133, 132, 131, 137, 143, 132, 131, 127, 124, 121, 118, 115, 113, 112,
+  110, 106, 106, 109, 111, 111, 114, 117, 113, 111, 111, 108, 101, 98, 99, 98,
+  87, 96, 88, 86, 103, 96, 87, 103, 101, 94, 86, 82, 77, 68, 57, 52,
+  48, 44, 41, 40, 37, 35, 33, 28, 32, 35, 34, 32, 32, 36, 41, 39,
+  39, 37, 32, 32, 35, 34, 28, 28, 29, 255, 255, 255, 255, 255, 255, 91,
+  73, 64, 54, 51, 77, 67, 63, 62, 59, 65, 73, 66, 74, 77, 74, 62,
+  54, 55, 60, 60, 58, 45, 33, 32, 36, 42, 48, 51, 57, 63, 73, 86,
+  98, 107, 111, 112, 120, 122, 124, 126, 128, 129, 130, 130, 131, 130, 130, 132,
+  134, 134, 133, 132, 132, 134, 135, 135, 136, 137, 141, 145, 136, 140, 140, 136,
+  135, 136, 136, 135, 130, 133, 136, 137, 132, 129, 125, 123, 130, 130, 129, 127,
+  122, 120, 120, 120, 125, 119, 114, 113, 108, 101, 97, 97, 95, 86, 102, 98,
+  90, 98, 95, 97, 100, 101, 101, 92, 85, 77, 68, 58, 59, 54, 48, 42,
+  39, 36, 34, 34, 29, 30, 31, 31, 31, 31, 32, 33, 37, 34, 32, 31,
+  28, 25, 26, 28, 28, 27, 255, 255, 255, 255, 255, 255, 110, 99, 70, 57,
+  72, 95, 82, 72, 62, 52, 57, 64, 57, 53, 69, 81, 73, 60, 55, 58,
+  59, 51, 41, 36, 39, 49, 54, 55, 57, 65, 71, 79, 91, 102, 108, 110,
+  110, 123, 124, 125, 127, 129, 131, 133, 133, 131, 129, 128, 130, 133, 134, 130,
+  126, 129, 131, 131, 129, 129, 131, 135, 139, 144, 152, 153, 145, 142, 143, 139,
+  131, 139, 143, 147, 147, 142, 131, 122, 117, 131, 133, 132, 128, 118, 112, 111,
+  112, 125, 120, 115, 113, 107, 100, 97, 98, 91, 76, 91, 100, 105, 116, 112,
+  113, 87, 95, 101, 95, 86, 77, 70, 63, 68, 61, 53, 44, 39, 35, 32,
+  30, 34, 32, 30, 31, 35, 35, 32, 28, 39, 34, 33, 36, 31, 22, 24,
+  31, 35, 32, 255, 255, 255, 255, 255, 255, 216, 131, 114, 88, 83, 72, 73,
+  66, 74, 76, 66, 68, 61, 58, 53, 58, 65, 63, 51, 44, 44, 47, 45,
+  46, 51, 55, 57, 61, 65, 77, 83, 93, 102, 107, 111, 114, 116, 127, 128,
+  128, 127, 126, 126, 129, 131, 131, 131, 133, 134, 134, 134, 134, 134, 136, 138,
+  140, 138, 135, 134, 136, 139, 133, 140, 150, 153, 152, 145, 137, 133, 129, 132,
+  136, 139, 141, 141, 138, 137, 129, 131, 131, 128, 123, 120, 121, 124, 119, 116,
+  114, 116, 118, 118, 114, 111, 90, 97, 85, 97, 96, 124, 114, 107, 99, 89,
+  91, 94, 86, 81, 83, 79, 70, 60, 50, 40, 33, 25, 25, 28, 32, 33,
+  36, 38, 33, 28, 32, 39, 42, 40, 38, 37, 36, 34, 32, 29, 32, 31,
+  255, 255, 255, 255, 255, 255, 255, 139, 109, 88, 112, 95, 79, 72, 72, 75,
+  71, 59, 51, 58, 52, 54, 58, 55, 44, 39, 39, 50, 52, 57, 58, 54,
+  54, 60, 67, 81, 88, 97, 106, 110, 114, 117, 119, 126, 129, 131, 132, 131,
+  130, 130, 131, 130, 131, 131, 131, 131, 131, 130, 129, 140, 142, 144, 143, 142,
+  142, 145, 148, 159, 158, 157, 151, 148, 145, 144, 145, 146, 147, 148, 147, 143,
+  139, 134, 130, 134, 136, 136, 134, 130, 126, 123, 121, 113, 109, 105, 103, 103,
+  105, 107, 107, 104, 96, 79, 93, 93, 111, 102, 104, 99, 95, 98, 97, 89,
+  86, 88, 81, 80, 68, 56, 44, 33, 22, 19, 20, 32, 35, 37, 40, 37,
+  32, 34, 39, 41, 40, 38, 37, 36, 35, 34, 32, 31, 37, 255, 255, 255,
+  255, 255, 255, 255, 210, 99, 80, 124, 102, 76, 77, 61, 61, 68, 53, 62,
+  59, 51, 49, 50, 45, 36, 35, 38, 50, 58, 65, 65, 60, 60, 68, 77,
+  89, 95, 101, 109, 114, 117, 118, 120, 127, 130, 134, 136, 135, 133, 131, 131,
+  135, 136, 136, 136, 135, 134, 132, 132, 136, 137, 138, 139, 140, 142, 146, 149,
+  160, 157, 153, 147, 144, 146, 151, 156, 159, 158, 156, 153, 147, 139, 133, 129,
+  143, 140, 137, 135, 133, 132, 131, 129, 129, 126, 120, 114, 111, 113, 119, 123,
+  111, 95, 82, 101, 103, 107, 98, 104, 96, 98, 104, 98, 88, 91, 93, 81,
+  79, 68, 58, 47, 37, 26, 22, 24, 30, 30, 32, 37, 36, 32, 30, 32,
+  37, 36, 34, 33, 33, 33, 34, 33, 27, 38, 255, 255, 255, 255, 255, 255,
+  255, 255, 98, 83, 131, 109, 82, 92, 61, 50, 63, 51, 80, 60, 51, 46,
+  45, 40, 33, 38, 44, 48, 62, 72, 75, 74, 78, 86, 92, 96, 101, 106,
+  113, 117, 119, 120, 122, 128, 131, 134, 135, 134, 133, 132, 133, 136, 137, 137,
+  138, 137, 137, 136, 135, 133, 133, 133, 133, 135, 138, 141, 143, 148, 148, 149,
+  147, 146, 146, 149, 152, 155, 155, 155, 153, 149, 145, 139, 137, 146, 139, 131,
+  128, 131, 136, 140, 141, 128, 128, 125, 119, 112, 110, 113, 116, 96, 92, 93,
+  108, 112, 110, 102, 100, 93, 100, 108, 98, 87, 92, 95, 81, 80, 70, 61,
+  51, 41, 29, 24, 26, 29, 28, 30, 35, 37, 33, 29, 28, 30, 30, 29,
+  28, 27, 29, 32, 33, 34, 42, 255, 255, 255, 255, 255, 255, 255, 255, 106,
+  85, 141, 128, 99, 108, 79, 66, 74, 52, 72, 62, 53, 48, 46, 41, 36,
+  44, 54, 56, 68, 80, 85, 88, 96, 102, 103, 100, 105, 111, 115, 116, 118,
+  121, 123, 130, 131, 132, 132, 130, 131, 133, 134, 130, 131, 132, 134, 135, 135,
+  135, 135, 138, 138, 137, 137, 138, 139, 142, 143, 153, 153, 155, 152, 150, 147,
+  146, 147, 149, 149, 150, 151, 149, 148, 145, 144, 143, 138, 131, 130, 133, 137,
+  138, 138, 123, 126, 127, 124, 115, 108, 103, 102, 82, 92, 102, 100, 105, 107,
+  108, 99, 97, 102, 109, 101, 91, 96, 99, 82, 88, 77, 66, 54, 40, 25,
+  18, 18, 32, 32, 34, 39, 41, 36, 32, 32, 28, 28, 27, 26, 25, 28,
+  33, 36, 52, 49, 255, 255, 255, 255, 255, 255, 255, 255, 101, 66, 127, 125,
+  99, 102, 90, 91, 91, 61, 58, 64, 55, 51, 49, 44, 39, 49, 60, 66,
+  80, 92, 96, 98, 106, 109, 106, 106, 110, 114, 118, 118, 119, 121, 123, 130,
+  131, 131, 130, 129, 129, 132, 135, 130, 131, 133, 135, 136, 137, 138, 138, 142,
+  141, 139, 140, 141, 141, 141, 139, 151, 150, 149, 146, 145, 146, 149, 153, 147,
+  147, 148, 149, 147, 147, 145, 144, 137, 137, 137, 138, 138, 135, 130, 126, 128,
+  131, 134, 132, 126, 116, 108, 103, 93, 101, 108, 92, 100, 105, 116, 107, 103,
+  104, 109, 104, 98, 101, 102, 88, 86, 76, 67, 56, 43, 28, 21, 20, 29,
+  30, 32, 36, 36, 32, 30, 32, 31, 31, 30, 28, 26, 30, 37, 42, 59,
+  118, 255, 255, 255, 255, 255, 255, 255, 255, 255, 59, 102, 112, 100, 95, 94,
+  93, 86, 72, 66, 65, 57, 54, 52, 45, 40, 48, 59, 70, 88, 104, 105,
+  102, 107, 111, 109, 111, 115, 116, 119, 120, 121, 123, 125, 129, 130, 132, 132,
+  131, 130, 132, 133, 133, 134, 135, 137, 138, 138, 138, 138, 140, 139, 139, 140,
+  144, 143, 140, 136, 143, 143, 142, 141, 143, 145, 150, 154, 150, 150, 150, 150,
+  147, 147, 146, 146, 137, 140, 142, 142, 137, 133, 130, 128, 126, 126, 125, 124,
+  121, 116, 109, 104, 108, 101, 105, 93, 109, 107, 120, 113, 111, 100, 103, 105,
+  102, 102, 102, 91, 80, 72, 65, 56, 46, 32, 25, 25, 23, 26, 28, 31,
+  28, 23, 25, 30, 32, 33, 32, 28, 26, 30, 39, 44, 55, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 123, 101, 117, 119, 107, 99, 81, 64, 74,
+  80, 63, 58, 54, 53, 45, 38, 46, 56, 65, 90, 111, 108, 102, 106, 112,
+  114, 115, 118, 119, 121, 121, 122, 124, 126, 127, 130, 134, 135, 134, 132, 131,
+  131, 131, 132, 133, 133, 134, 131, 133, 133, 140, 140, 140, 144, 147, 146, 141,
+  139, 142, 146, 148, 148, 147, 145, 143, 143, 151, 151, 150, 149, 149, 146, 147,
+  145, 142, 142, 141, 136, 131, 132, 137, 142, 136, 131, 126, 125, 125, 124, 121,
+  118, 109, 89, 94, 95, 121, 108, 115, 109, 113, 98, 97, 103, 102, 100, 98,
+  91, 85, 77, 67, 58, 45, 30, 20, 18, 24, 27, 30, 32, 27, 22, 26,
+  33, 32, 32, 31, 27, 24, 28, 37, 46, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 229, 116, 101, 98, 94, 87, 79, 76, 73, 70, 73, 58,
+  51, 57, 61, 56, 57, 61, 69, 89, 110, 112, 110, 112, 113, 110, 119, 121,
+  122, 124, 124, 125, 127, 129, 128, 129, 131, 131, 127, 124, 128, 137, 127, 130,
+  133, 134, 135, 133, 137, 139, 135, 138, 139, 140, 140, 140, 142, 145, 138, 140,
+  142, 144, 148, 148, 147, 142, 139, 140, 143, 144, 144, 141, 141, 138, 142, 136,
+  134, 137, 140, 137, 135, 136, 131, 124, 122, 125, 127, 123, 120, 119, 125, 121,
+  119, 120, 119, 116, 117, 121, 113, 112, 109, 103, 95, 91, 91, 94, 82, 80,
+  71, 66, 60, 40, 25, 32, 34, 31, 29, 32, 34, 32, 23, 15, 16, 20,
+  23, 33, 39, 31, 29, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 207, 113, 106, 96, 85, 77, 74, 74, 73, 65, 58, 60, 65, 61,
+  52, 54, 62, 69, 90, 109, 114, 113, 116, 117, 115, 118, 120, 122, 124, 126,
+  128, 130, 132, 127, 125, 127, 131, 131, 129, 128, 132, 127, 130, 132, 134, 131,
+  132, 133, 135, 135, 136, 138, 138, 138, 138, 141, 142, 141, 140, 142, 143, 147,
+  147, 148, 144, 141, 140, 141, 142, 141, 140, 137, 136, 137, 132, 131, 135, 137,
+  134, 131, 132, 128, 122, 121, 126, 129, 126, 124, 125, 124, 120, 119, 121, 119,
+  116, 116, 119, 117, 112, 107, 104, 100, 97, 93, 90, 83, 80, 70, 66, 62,
+  42, 27, 31, 31, 30, 29, 28, 28, 26, 24, 22, 38, 35, 26, 24, 27,
+  26, 110, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  117, 108, 96, 83, 75, 77, 77, 75, 66, 66, 74, 77, 63, 44, 45, 58,
+  71, 92, 112, 116, 116, 120, 123, 121, 122, 122, 124, 126, 128, 129, 131, 131,
+  132, 128, 127, 132, 134, 129, 125, 124, 126, 128, 130, 131, 131, 131, 132, 133,
+  137, 137, 137, 137, 140, 140, 141, 141, 144, 142, 142, 143, 147, 148, 148, 147,
+  145, 143, 143, 143, 141, 138, 135, 134, 135, 131, 131, 135, 136, 133, 130, 130,
+  130, 126, 126, 130, 132, 129, 128, 129, 125, 122, 122, 124, 122, 118, 116, 118,
+  119, 113, 105, 104, 103, 101, 94, 87, 86, 82, 70, 66, 63, 43, 26, 28,
+  38, 38, 35, 31, 26, 25, 28, 32, 35, 36, 30, 26, 26, 22, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 114, 108,
+  96, 91, 93, 89, 82, 65, 65, 75, 79, 64, 40, 43, 61, 76, 96, 115,
+  119, 119, 123, 126, 124, 128, 127, 127, 127, 128, 128, 128, 127, 130, 127, 127,
+  130, 130, 126, 123, 125, 123, 125, 128, 129, 128, 128, 130, 131, 136, 136, 136,
+  137, 141, 142, 141, 140, 145, 144, 145, 146, 150, 151, 150, 147, 147, 147, 145,
+  144, 141, 137, 135, 133, 136, 134, 135, 139, 139, 135, 132, 133, 135, 131, 131,
+  133, 133, 128, 126, 128, 126, 123, 123, 126, 124, 118, 116, 117, 115, 111, 105,
+  104, 102, 99, 92, 86, 90, 84, 72, 69, 65, 42, 23, 22, 34, 31, 25,
+  20, 15, 15, 16, 18, 16, 25, 27, 28, 32, 106, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 203, 101, 96, 95, 96,
+  84, 69, 66, 62, 68, 74, 63, 42, 48, 66, 83, 102, 120, 123, 121, 125,
+  127, 126, 131, 129, 127, 127, 128, 127, 125, 123, 122, 122, 123, 123, 119, 115,
+  119, 126, 121, 123, 127, 128, 129, 130, 132, 134, 134, 133, 136, 138, 142, 143,
+  143, 141, 144, 144, 147, 149, 151, 151, 148, 146, 149, 148, 146, 144, 141, 137,
+  135, 133, 138, 136, 137, 140, 139, 135, 134, 136, 135, 133, 133, 135, 133, 128,
+  127, 130, 128, 125, 125, 127, 125, 119, 116, 117, 111, 111, 109, 106, 102, 97,
+  94, 92, 93, 87, 74, 70, 64, 39, 19, 18, 40, 33, 26, 23, 25, 27,
+  26, 24, 19, 29, 30, 81, 208, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 116, 116, 117, 117, 100, 79, 82,
+  70, 70, 73, 58, 37, 42, 60, 89, 108, 125, 127, 125, 129, 131, 130, 133,
+  129, 126, 125, 126, 125, 121, 118, 121, 120, 118, 113, 103, 94, 97, 105, 109,
+  113, 117, 120, 123, 125, 128, 130, 129, 128, 131, 135, 141, 143, 142, 139, 144,
+  143, 144, 146, 148, 148, 147, 143, 146, 145, 143, 141, 139, 136, 135, 134, 137,
+  135, 135, 137, 135, 132, 133, 137, 131, 130, 132, 135, 134, 130, 131, 135, 130,
+  126, 125, 126, 123, 117, 115, 116, 111, 112, 112, 106, 100, 96, 95, 95, 89,
+  86, 77, 71, 61, 35, 16, 18, 41, 34, 27, 28, 35, 42, 44, 43, 34,
+  47, 119, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 130, 94, 97, 99, 81, 59, 84, 72, 71, 75,
+  58, 34, 41, 64, 93, 112, 129, 132, 131, 135, 139, 137, 141, 135, 128, 124,
+  122, 118, 111, 105, 104, 101, 101, 98, 91, 82, 81, 85, 91, 95, 101, 106,
+  110, 113, 118, 121, 124, 123, 125, 130, 139, 142, 140, 136, 144, 140, 136, 135,
+  137, 140, 143, 144, 141, 139, 138, 136, 134, 133, 132, 132, 136, 134, 133, 134,
+  131, 128, 131, 137, 131, 131, 134, 136, 135, 130, 132, 136, 131, 126, 123, 123,
+  120, 115, 113, 115, 111, 108, 104, 101, 97, 95, 92, 91, 81, 82, 77, 71,
+  59, 33, 17, 24, 28, 22, 16, 16, 23, 33, 42, 47, 51, 128, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 223, 106, 111, 113, 100, 76, 64, 58, 64, 74, 62, 43, 58,
+  87, 95, 114, 132, 135, 135, 140, 144, 144, 151, 143, 132, 125, 119, 111, 101,
+  93, 73, 70, 75, 83, 88, 88, 87, 88, 74, 78, 85, 90, 95, 100, 106,
+  109, 119, 118, 120, 127, 136, 140, 138, 134, 144, 139, 131, 128, 130, 135, 141,
+  143, 136, 135, 134, 132, 131, 131, 131, 131, 138, 135, 134, 134, 131, 128, 133,
+  140, 135, 134, 136, 137, 133, 128, 128, 133, 130, 125, 121, 120, 117, 112, 111,
+  114, 110, 103, 95, 93, 93, 93, 88, 83, 74, 79, 76, 72, 59, 34, 21,
+  28, 37, 33, 27, 23, 26, 37, 52, 127, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 96, 114, 122, 110, 88, 67, 66, 59, 55, 50, 39, 55, 93, 105, 121,
+  137, 141, 139, 140, 145, 148, 140, 147, 148, 138, 127, 122, 119, 115, 117, 117,
+  114, 107, 102, 98, 101, 103, 105, 88, 86, 70, 88, 80, 89, 78, 86, 87,
+  91, 95, 101, 108, 114, 118, 109, 120, 124, 120, 121, 130, 132, 126, 129, 127,
+  127, 127, 127, 127, 127, 127, 130, 129, 129, 128, 129, 131, 132, 136, 137, 139,
+  138, 134, 128, 125, 125, 127, 121, 127, 125, 118, 116, 119, 114, 104, 100, 99,
+  93, 87, 85, 85, 83, 78, 71, 77, 78, 73, 54, 27, 21, 37, 41, 35,
+  32, 33, 34, 110, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 106,
+  105, 102, 98, 73, 81, 68, 57, 61, 51, 56, 85, 113, 127, 141, 145, 144,
+  146, 148, 148, 144, 147, 145, 139, 135, 135, 132, 126, 122, 125, 128, 131, 133,
+  129, 126, 122, 120, 119, 126, 100, 90, 62, 65, 62, 68, 68, 72, 73, 73,
+  72, 71, 71, 97, 108, 113, 111, 114, 125, 129, 126, 126, 126, 126, 125, 126,
+  126, 127, 127, 133, 132, 130, 129, 128, 127, 127, 130, 128, 129, 129, 127, 123,
+  120, 119, 119, 116, 119, 119, 116, 114, 113, 107, 101, 96, 92, 82, 70, 66,
+  69, 69, 67, 70, 71, 75, 69, 46, 26, 29, 41, 28, 26, 29, 35, 38,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 109, 96, 104, 121,
+  81, 99, 84, 76, 100, 90, 80, 106, 128, 138, 147, 150, 152, 154, 153, 149,
+  147, 144, 139, 135, 137, 139, 136, 130, 130, 125, 120, 118, 122, 125, 127, 127,
+  135, 124, 127, 124, 137, 117, 94, 67, 66, 62, 57, 53, 55, 65, 75, 85,
+  86, 95, 100, 99, 105, 118, 123, 123, 124, 124, 123, 122, 123, 124, 126, 127,
+  131, 130, 129, 128, 126, 125, 124, 126, 132, 131, 128, 126, 123, 119, 114, 110,
+  109, 106, 105, 105, 99, 89, 82, 81, 73, 70, 64, 56, 54, 56, 55, 50,
+  55, 51, 66, 69, 41, 27, 36, 38, 39, 36, 34, 35, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 119, 95, 108, 133, 172, 163, 107,
+  76, 96, 81, 74, 116, 142, 148, 152, 155, 159, 161, 156, 148, 145, 140, 132,
+  127, 126, 127, 125, 121, 117, 119, 121, 124, 126, 123, 119, 114, 123, 121, 121,
+  113, 114, 115, 128, 136, 105, 95, 82, 69, 63, 68, 79, 89, 86, 93, 95,
+  95, 100, 111, 118, 120, 123, 122, 121, 120, 121, 123, 125, 126, 124, 125, 125,
+  126, 125, 124, 123, 125, 119, 114, 105, 98, 93, 88, 81, 76, 73, 67, 66,
+  70, 66, 56, 54, 60, 56, 63, 67, 70, 71, 69, 60, 51, 40, 34, 63,
+  72, 41, 30, 38, 26, 28, 37, 50, 60, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 114, 91, 99, 119, 160, 160, 130, 130, 155, 119,
+  88, 122, 153, 156, 157, 159, 164, 165, 158, 148, 142, 137, 130, 123, 118, 116,
+  116, 119, 117, 112, 109, 104, 104, 106, 113, 117, 98, 106, 109, 109, 103, 103,
+  106, 111, 103, 105, 105, 100, 91, 85, 83, 85, 95, 98, 99, 98, 98, 106,
+  113, 116, 119, 119, 118, 118, 118, 119, 121, 122, 119, 120, 121, 122, 121, 119,
+  117, 118, 108, 101, 88, 78, 73, 68, 64, 61, 43, 39, 43, 52, 56, 56,
+  64, 76, 80, 90, 97, 102, 103, 97, 84, 71, 50, 42, 66, 71, 39, 31,
+  39, 26, 38, 43, 47, 49, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 86, 89, 100, 198, 178, 131, 112, 124, 101, 93, 133, 161,
+  162, 162, 163, 167, 168, 160, 150, 142, 136, 129, 125, 120, 116, 118, 121, 120,
+  110, 100, 89, 85, 84, 88, 89, 103, 103, 103, 121, 125, 129, 109, 96, 91,
+  97, 105, 108, 104, 102, 102, 105, 105, 105, 105, 104, 103, 106, 111, 115, 119,
+  119, 119, 119, 119, 119, 119, 118, 120, 121, 122, 122, 119, 115, 110, 109, 104,
+  99, 89, 80, 76, 74, 74, 74, 69, 70, 75, 82, 86, 92, 102, 113, 116,
+  120, 119, 117, 113, 107, 96, 86, 77, 70, 74, 66, 40, 37, 50, 47, 60,
+  62, 59, 119, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 84, 87, 93, 126, 128, 108, 97, 110, 110, 111, 130, 165, 167, 168, 167,
+  169, 169, 162, 153, 145, 134, 125, 124, 124, 120, 119, 119, 98, 94, 96, 100,
+  100, 85, 61, 41, 43, 55, 51, 54, 34, 49, 65, 88, 94, 101, 105, 105,
+  99, 97, 99, 103, 108, 108, 106, 107, 107, 109, 111, 115, 119, 120, 121, 121,
+  120, 119, 116, 115, 118, 119, 121, 121, 118, 112, 107, 105, 90, 90, 87, 82,
+  79, 77, 79, 80, 96, 103, 109, 108, 108, 113, 119, 121, 120, 121, 118, 112,
+  106, 103, 96, 88, 88, 87, 79, 64, 51, 53, 67, 77, 56, 77, 150, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 80, 85,
+  90, 121, 139, 132, 113, 119, 133, 139, 138, 168, 168, 169, 168, 168, 168, 164,
+  156, 148, 132, 120, 120, 123, 120, 114, 112, 93, 70, 47, 41, 52, 62, 58,
+  51, 36, 45, 39, 58, 47, 59, 46, 45, 52, 68, 89, 102, 105, 101, 100,
+  98, 106, 106, 106, 108, 109, 109, 113, 118, 119, 120, 122, 123, 122, 119, 115,
+  113, 113, 115, 118, 119, 118, 113, 108, 107, 95, 100, 101, 101, 97, 96, 96,
+  99, 85, 99, 106, 103, 102, 106, 109, 106, 106, 109, 108, 105, 103, 102, 96,
+  88, 79, 86, 80, 66, 67, 70, 80, 98, 85, 99, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 79, 81, 72, 102, 174,
+  151, 145, 160, 168, 139, 132, 157, 183, 179, 175, 175, 166, 164, 151, 143, 137,
+  130, 117, 111, 121, 125, 110, 88, 87, 63, 43, 45, 44, 56, 86, 105, 51,
+  93, 89, 52, 130, 71, 84, 53, 43, 29, 56, 107, 105, 84, 96, 102, 104,
+  103, 102, 99, 103, 112, 119, 115, 118, 121, 122, 122, 121, 118, 117, 121, 119,
+  115, 113, 112, 110, 107, 105, 102, 93, 91, 101, 104, 98, 92, 95, 80, 62,
+  47, 56, 74, 84, 87, 87, 86, 84, 89, 101, 106, 99, 85, 76, 87, 86,
+  80, 73, 81, 99, 107, 103, 109, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 73, 71, 66, 88, 157, 152, 139, 154,
+  165, 153, 139, 158, 182, 178, 174, 174, 163, 158, 143, 148, 140, 136, 130, 124,
+  127, 127, 115, 122, 112, 95, 87, 95, 100, 104, 116, 125, 70, 96, 70, 79,
+  92, 99, 102, 61, 120, 114, 57, 52, 78, 89, 93, 89, 94, 100, 107, 108,
+  107, 103, 102, 119, 121, 123, 125, 125, 123, 121, 119, 117, 119, 118, 114, 106,
+  99, 95, 93, 91, 94, 98, 93, 76, 55, 60, 76, 73, 66, 58, 54, 49,
+  38, 23, 11, 64, 74, 87, 92, 89, 82, 82, 89, 90, 90, 85, 79, 90,
+  107, 116, 112, 113, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 80, 79, 90, 107, 157, 163, 140, 145, 146, 157, 136,
+  157, 182, 180, 177, 178, 167, 160, 144, 154, 142, 141, 143, 137, 132, 129, 121,
+  120, 116, 119, 114, 93, 85, 94, 101, 108, 86, 92, 78, 99, 55, 84, 74,
+  97, 147, 148, 102, 84, 86, 90, 99, 98, 99, 99, 103, 104, 108, 109, 111,
+  122, 124, 127, 128, 128, 127, 124, 122, 118, 119, 116, 108, 97, 90, 88, 90,
+  81, 75, 70, 67, 61, 58, 70, 84, 39, 66, 83, 71, 52, 42, 44, 48,
+  29, 44, 66, 81, 85, 84, 86, 93, 91, 94, 92, 89, 97, 112, 120, 118,
+  116, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 93, 115, 134, 152, 162, 144, 143, 130, 155, 136, 154, 181, 181,
+  182, 185, 174, 168, 152, 158, 140, 140, 148, 142, 131, 128, 125, 125, 124, 137,
+  134, 100, 84, 89, 87, 94, 103, 70, 77, 81, 81, 110, 131, 140, 139, 134,
+  130, 118, 82, 63, 74, 104, 106, 106, 105, 102, 105, 111, 121, 124, 126, 130,
+  132, 132, 130, 126, 124, 124, 118, 107, 97, 91, 90, 92, 95, 95, 93, 93,
+  93, 88, 76, 72, 74, 93, 84, 71, 74, 99, 119, 101, 69, 32, 29, 35,
+  56, 79, 91, 91, 91, 92, 95, 95, 93, 101, 111, 118, 116, 113, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  200, 109, 125, 121, 139, 149, 157, 134, 155, 140, 151, 180, 182, 183, 187, 177,
+  170, 154, 160, 139, 138, 147, 142, 131, 130, 131, 139, 121, 127, 140, 131, 126,
+  118, 97, 64, 102, 93, 110, 101, 118, 90, 105, 103, 107, 103, 92, 86, 77,
+  76, 82, 94, 106, 116, 117, 108, 102, 104, 109, 124, 127, 131, 133, 133, 131,
+  127, 124, 124, 112, 98, 92, 94, 95, 93, 89, 98, 111, 121, 115, 95, 79,
+  81, 92, 82, 92, 95, 95, 104, 115, 106, 88, 63, 42, 31, 41, 66, 85,
+  93, 94, 94, 98, 99, 99, 105, 112, 114, 114, 109, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 98, 112,
+  110, 128, 161, 170, 146, 149, 135, 152, 181, 181, 182, 184, 174, 167, 151, 159,
+  140, 138, 145, 141, 134, 135, 135, 124, 115, 121, 131, 133, 130, 125, 116, 113,
+  125, 121, 85, 86, 98, 79, 87, 72, 71, 74, 77, 85, 95, 107, 113, 106,
+  114, 118, 116, 105, 102, 108, 116, 123, 126, 130, 133, 133, 130, 126, 123, 117,
+  105, 94, 93, 99, 100, 91, 80, 47, 72, 106, 129, 129, 107, 82, 64, 80,
+  78, 79, 94, 118, 124, 97, 61, 57, 51, 54, 65, 79, 88, 94, 98, 98,
+  101, 104, 106, 110, 113, 114, 114, 161, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 98, 113, 127, 129, 157,
+  159, 150, 138, 123, 151, 180, 180, 180, 184, 174, 168, 153, 152, 138, 137, 142,
+  139, 137, 138, 133, 122, 127, 130, 127, 125, 118, 119, 133, 112, 118, 135, 118,
+  135, 126, 112, 103, 115, 93, 94, 112, 115, 105, 105, 107, 122, 119, 112, 106,
+  101, 106, 116, 124, 120, 123, 128, 131, 131, 128, 123, 120, 114, 102, 92, 91,
+  98, 102, 99, 93, 120, 99, 78, 73, 85, 95, 94, 87, 79, 89, 101, 100,
+  90, 78, 73, 69, 58, 63, 78, 94, 101, 99, 97, 97, 96, 99, 105, 111,
+  113, 114, 114, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 112, 140, 125, 139, 135, 145, 133,
+  118, 148, 179, 179, 181, 186, 178, 174, 160, 144, 134, 136, 139, 137, 137, 137,
+  126, 129, 128, 115, 111, 125, 120, 115, 128, 129, 125, 115, 124, 129, 126, 130,
+  125, 128, 123, 128, 120, 106, 107, 115, 115, 112, 109, 105, 107, 110, 112, 111,
+  109, 118, 121, 126, 129, 129, 126, 121, 118, 116, 103, 89, 85, 92, 104, 113,
+  117, 113, 111, 109, 110, 111, 107, 95, 83, 81, 70, 62, 62, 68, 70, 75,
+  78, 98, 90, 87, 92, 98, 98, 96, 97, 93, 98, 105, 111, 113, 114, 146,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 70, 148, 168, 123, 127, 125, 103, 121, 184,
+  187, 181, 193, 172, 158, 163, 151, 145, 141, 137, 131, 124, 128, 135, 134, 128,
+  126, 127, 127, 119, 115, 114, 115, 117, 119, 122, 122, 122, 123, 120, 112, 115,
+  120, 119, 115, 112, 112, 113, 108, 112, 116, 116, 113, 112, 111, 113, 122, 121,
+  121, 125, 128, 127, 122, 117, 113, 102, 92, 92, 96, 100, 105, 111, 105, 110,
+  114, 117, 119, 117, 113, 112, 128, 119, 109, 106, 111, 112, 108, 101, 98, 92,
+  91, 97, 107, 108, 100, 93, 89, 94, 104, 111, 114, 112, 224, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 211, 166, 194, 179, 152, 137, 109, 103, 165, 179, 178, 187,
+  175, 165, 157, 148, 143, 142, 145, 145, 138, 135, 136, 131, 124, 122, 125, 127,
+  122, 118, 117, 123, 123, 124, 124, 125, 124, 123, 121, 121, 122, 123, 122, 120,
+  117, 116, 115, 112, 114, 116, 115, 113, 112, 109, 109, 122, 121, 121, 124, 127,
+  127, 122, 117, 112, 101, 91, 90, 93, 97, 102, 107, 110, 109, 109, 107, 108,
+  111, 112, 113, 125, 119, 112, 111, 113, 113, 106, 98, 101, 100, 101, 105, 112,
+  110, 105, 98, 95, 96, 104, 111, 112, 158, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 210, 91, 62, 104, 164, 107, 112, 155, 174, 181, 182, 176, 172, 148,
+  147, 141, 138, 141, 145, 141, 136, 133, 132, 125, 123, 128, 132, 129, 126, 124,
+  128, 128, 126, 125, 124, 123, 123, 123, 125, 121, 119, 117, 116, 115, 112, 110,
+  114, 113, 113, 114, 115, 115, 113, 112, 122, 121, 122, 125, 128, 127, 122, 117,
+  111, 100, 91, 89, 91, 94, 98, 102, 109, 108, 106, 107, 107, 110, 112, 113,
+  114, 113, 112, 111, 112, 110, 106, 100, 107, 106, 108, 112, 114, 109, 104, 101,
+  99, 100, 106, 110, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 121, 128, 125, 140, 160, 166, 175, 189, 182, 172, 172, 143, 152, 145, 138,
+  134, 135, 135, 135, 136, 131, 124, 121, 127, 132, 133, 128, 125, 129, 127, 125,
+  123, 123, 124, 124, 124, 124, 120, 116, 115, 116, 116, 114, 111, 112, 110, 110,
+  113, 118, 120, 119, 117, 124, 123, 124, 127, 130, 129, 124, 119, 113, 102, 92,
+  90, 92, 93, 96, 100, 102, 105, 109, 112, 114, 114, 114, 113, 107, 110, 112,
+  113, 114, 114, 114, 112, 109, 109, 109, 109, 107, 104, 101, 101, 101, 102, 104,
+  156, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 197, 114,
+  171, 230, 207, 179, 171, 192, 184, 166, 167, 144, 150, 150, 145, 138, 134, 134,
+  138, 141, 132, 125, 122, 127, 131, 131, 127, 126, 128, 127, 127, 126, 126, 127,
+  129, 129, 126, 121, 117, 117, 119, 120, 118, 116, 115, 113, 111, 114, 119, 122,
+  121, 119, 126, 125, 126, 129, 132, 131, 126, 122, 116, 105, 96, 94, 95, 95,
+  98, 101, 97, 100, 105, 110, 113, 114, 116, 116, 115, 119, 120, 119, 119, 120,
+  123, 125, 111, 109, 109, 106, 101, 99, 100, 104, 98, 98, 98, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 249, 206, 215, 209,
+  175, 162, 186, 182, 164, 164, 145, 138, 144, 147, 142, 138, 136, 137, 136, 135,
+  131, 129, 132, 135, 132, 131, 133, 132, 132, 133, 133, 133, 134, 135, 135, 124,
+  121, 120, 120, 121, 121, 120, 118, 122, 120, 118, 118, 119, 120, 120, 119, 127,
+  126, 126, 130, 133, 132, 127, 122, 119, 108, 99, 98, 99, 99, 100, 103, 102,
+  101, 100, 101, 104, 109, 115, 119, 124, 123, 124, 122, 120, 120, 121, 120, 111,
+  109, 106, 105, 101, 100, 100, 104, 93, 92, 146, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 184, 167, 161, 159, 178,
+  180, 167, 163, 142, 140, 144, 144, 139, 138, 138, 136, 131, 137, 135, 137, 139,
+  138, 135, 137, 142, 138, 139, 139, 139, 139, 138, 137, 136, 122, 121, 123, 122,
+  122, 119, 118, 118, 122, 122, 123, 121, 120, 119, 121, 123, 126, 125, 125, 128,
+  131, 131, 126, 121, 120, 109, 101, 100, 101, 101, 102, 105, 107, 105, 102, 101,
+  101, 106, 111, 114, 120, 119, 120, 119, 119, 117, 115, 111, 107, 105, 104, 103,
+  104, 102, 98, 99, 91, 86, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 233, 154, 127, 151, 160, 173, 178, 171, 164,
+  137, 158, 155, 146, 136, 137, 142, 140, 133, 128, 129, 132, 134, 131, 128, 133,
+  140, 141, 140, 142, 141, 141, 137, 136, 134, 128, 131, 134, 133, 128, 123, 124,
+  122, 121, 123, 125, 123, 120, 121, 125, 129, 124, 123, 123, 127, 130, 129, 124,
+  119, 119, 109, 101, 100, 102, 102, 103, 106, 109, 108, 111, 110, 111, 110, 109,
+  109, 117, 119, 120, 122, 124, 122, 118, 110, 100, 99, 101, 105, 107, 102, 97,
+  93, 88, 141, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 149, 128, 135, 149, 181, 171, 176, 154, 140, 145, 144,
+  141, 136, 133, 131, 132, 134, 135, 130, 130, 135, 135, 130, 132, 135, 140, 139,
+  141, 138, 139, 136, 137, 134, 129, 129, 131, 131, 126, 118, 119, 121, 125, 120,
+  121, 127, 129, 125, 123, 125, 125, 126, 126, 127, 130, 134, 130, 123, 110, 106,
+  104, 104, 102, 100, 105, 112, 111, 112, 117, 116, 116, 116, 119, 121, 119, 121,
+  121, 121, 121, 120, 120, 118, 111, 112, 103, 98, 107, 104, 95, 92, 82, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 216, 130, 129, 140, 165, 169, 172, 161, 151, 150, 146, 140, 136, 137,
+  135, 133, 130, 132, 128, 128, 132, 132, 128, 128, 132, 136, 134, 131, 128, 126,
+  125, 126, 126, 123, 121, 121, 120, 113, 107, 107, 112, 115, 112, 113, 120, 123,
+  121, 119, 121, 121, 122, 122, 122, 126, 129, 125, 118, 113, 108, 104, 102, 98,
+  95, 98, 104, 110, 113, 117, 120, 122, 121, 121, 120, 122, 122, 122, 122, 122,
+  121, 121, 119, 111, 111, 110, 112, 112, 98, 98, 117, 126, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  125, 125, 146, 164, 181, 169, 159, 149, 151, 143, 136, 134, 138, 137, 131, 124,
+  128, 126, 126, 128, 128, 126, 126, 128, 131, 131, 129, 127, 124, 121, 118, 116,
+  113, 110, 107, 105, 101, 97, 101, 109, 112, 110, 113, 119, 123, 123, 122, 124,
+  119, 120, 119, 119, 122, 126, 123, 116, 113, 107, 103, 100, 95, 90, 93, 98,
+  103, 106, 112, 119, 125, 126, 124, 122, 124, 124, 124, 124, 124, 123, 122, 119,
+  113, 110, 108, 112, 108, 97, 117, 161, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 136, 160,
+  164, 184, 160, 154, 148, 142, 137, 132, 130, 133, 132, 127, 123, 125, 124, 124,
+  125, 125, 124, 124, 125, 124, 126, 129, 129, 125, 118, 110, 105, 108, 105, 102,
+  101, 99, 99, 108, 118, 115, 114, 116, 121, 125, 126, 125, 125, 120, 121, 120,
+  119, 122, 126, 123, 116, 111, 106, 101, 99, 94, 90, 93, 99, 92, 95, 102,
+  112, 121, 127, 127, 126, 124, 125, 125, 125, 125, 123, 122, 121, 119, 114, 105,
+  101, 103, 104, 133, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 152, 170, 156, 171, 149,
+  150, 152, 135, 134, 132, 129, 128, 126, 126, 127, 123, 124, 124, 123, 123, 124,
+  124, 123, 120, 120, 120, 119, 116, 111, 106, 103, 112, 109, 106, 105, 103, 104,
+  113, 124, 117, 118, 119, 121, 123, 125, 124, 121, 121, 122, 120, 118, 121, 125,
+  122, 116, 114, 108, 104, 100, 95, 91, 93, 98, 88, 90, 96, 104, 112, 119,
+  123, 124, 123, 124, 125, 125, 124, 122, 120, 119, 115, 117, 108, 98, 101, 99,
+  103, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 161, 169, 155, 140, 137, 135,
+  135, 133, 128, 126, 124, 127, 130, 120, 122, 122, 120, 120, 122, 122, 120, 125,
+  121, 115, 110, 108, 110, 113, 116, 119, 115, 112, 110, 107, 106, 112, 121, 122,
+  124, 125, 124, 126, 129, 126, 121, 122, 122, 120, 117, 120, 124, 122, 116, 120,
+  114, 108, 103, 96, 90, 91, 96, 91, 94, 99, 102, 105, 109, 114, 117, 121,
+  122, 123, 124, 123, 120, 117, 115, 108, 118, 116, 108, 103, 79, 118, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 228, 157, 161, 165, 137, 128, 140, 136, 129, 124,
+  123, 123, 124, 124, 116, 120, 120, 116, 116, 120, 120, 116, 121, 118, 113, 110,
+  110, 114, 118, 122, 119, 117, 115, 114, 110, 107, 111, 118, 124, 127, 128, 126,
+  127, 131, 129, 123, 126, 125, 122, 120, 123, 127, 125, 119, 121, 115, 109, 104,
+  97, 91, 92, 97, 92, 99, 106, 108, 106, 105, 109, 114, 119, 120, 121, 122,
+  121, 118, 114, 112, 107, 114, 115, 110, 96, 60, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 134, 135, 165, 146, 143, 145, 135, 123, 118, 120, 121, 119,
+  116, 113, 118, 118, 113, 113, 118, 118, 113, 106, 108, 111, 113, 114, 115, 114,
+  113, 116, 115, 116, 117, 113, 110, 113, 120, 117, 122, 122, 120, 123, 127, 125,
+  119, 131, 130, 127, 124, 127, 131, 129, 123, 117, 111, 107, 103, 98, 93, 95,
+  101, 89, 100, 111, 114, 109, 106, 110, 115, 117, 118, 120, 121, 119, 116, 112,
+  110, 114, 111, 106, 102, 86, 51, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 214, 146, 122, 147, 146, 142, 140, 133, 126, 126, 126, 122, 116, 114, 116,
+  119, 118, 115, 111, 109, 109, 104, 107, 111, 113, 113, 113, 114, 115, 109, 111,
+  113, 114, 114, 113, 111, 110, 116, 119, 122, 124, 124, 123, 124, 124, 118, 119,
+  122, 127, 131, 132, 129, 127, 118, 117, 112, 102, 92, 90, 97, 105, 95, 102,
+  111, 116, 115, 111, 107, 106, 111, 113, 116, 117, 116, 114, 111, 110, 105, 108,
+  104, 104, 123, 149, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 136,
+  147, 142, 149, 141, 139, 133, 126, 126, 127, 123, 118, 119, 120, 120, 118, 114,
+  110, 108, 108, 104, 106, 107, 107, 105, 105, 106, 107, 113, 114, 116, 117, 117,
+  117, 115, 115, 122, 123, 124, 123, 121, 122, 126, 130, 119, 124, 131, 138, 141,
+  137, 129, 123, 112, 114, 113, 107, 100, 97, 98, 101, 98, 104, 112, 115, 113,
+  109, 106, 104, 108, 109, 112, 114, 115, 114, 110, 108, 112, 107, 110, 131, 153,
+  162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 166, 141, 149,
+  140, 139, 133, 126, 125, 127, 125, 120, 125, 125, 122, 118, 112, 108, 107, 107,
+  115, 115, 115, 112, 109, 108, 109, 110, 107, 108, 108, 109, 109, 110, 110, 110,
+  107, 112, 116, 117, 114, 114, 119, 123, 131, 135, 141, 146, 148, 144, 136, 130,
+  118, 116, 112, 107, 104, 101, 100, 100, 103, 107, 113, 115, 114, 110, 107, 106,
+  104, 104, 106, 110, 114, 113, 108, 105, 108, 101, 115, 155, 176, 170, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 148, 142, 139, 139, 134,
+  126, 125, 127, 126, 123, 131, 129, 125, 118, 112, 108, 107, 108, 109, 110, 110,
+  108, 105, 103, 104, 105, 111, 111, 111, 111, 112, 114, 115, 116, 112, 113, 112,
+  108, 104, 107, 118, 127, 128, 127, 127, 128, 130, 130, 129, 127, 127, 118, 107,
+  100, 98, 100, 102, 103, 106, 108, 112, 114, 114, 113, 111, 110, 100, 100, 102,
+  107, 112, 112, 106, 103, 106, 110, 131, 165, 176, 167, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 134, 140, 140, 135, 126, 124, 126,
+  127, 125, 132, 130, 126, 119, 113, 110, 110, 111, 109, 110, 111, 109, 107, 105,
+  105, 106, 103, 103, 103, 104, 106, 108, 109, 110, 120, 116, 106, 95, 88, 90,
+  101, 111, 121, 120, 119, 120, 122, 123, 123, 122, 117, 109, 99, 94, 95, 98,
+  100, 99, 102, 103, 105, 108, 111, 112, 111, 111, 99, 100, 103, 108, 111, 109,
+  104, 102, 119, 141, 165, 177, 178, 177, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 214, 141, 141, 136, 127, 123, 125, 126, 126, 130,
+  129, 126, 120, 115, 113, 114, 115, 110, 109, 106, 101, 97, 96, 98, 100, 108,
+  109, 110, 112, 114, 116, 117, 118, 112, 115, 118, 117, 109, 99, 89, 84, 106,
+  107, 110, 114, 116, 115, 110, 106, 97, 95, 95, 97, 100, 100, 96, 93, 98,
+  97, 97, 100, 104, 107, 108, 107, 101, 104, 109, 112, 111, 107, 102, 101, 105,
+  142, 166, 167, 167, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 143, 138, 127, 122, 123, 126, 126, 126, 126, 125, 122,
+  118, 117, 118, 120, 104, 97, 86, 74, 67, 66, 71, 75, 72, 73, 76, 79,
+  81, 82, 83, 83, 105, 111, 120, 128, 131, 124, 113, 103, 98, 98, 100, 102,
+  103, 102, 97, 93, 95, 97, 99, 102, 103, 101, 97, 93, 99, 96, 95, 96,
+  101, 104, 105, 105, 104, 110, 116, 117, 111, 104, 100, 102, 119, 150, 170, 169,
+  168, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 218, 139, 127, 122, 122, 125, 125, 123, 124, 124, 122, 120, 120, 121,
+  123, 120, 109, 91, 73, 62, 62, 69, 76, 75, 78, 83, 87, 90, 90, 90,
+  89, 89, 81, 74, 77, 90, 109, 125, 133, 130, 126, 121, 119, 119, 120, 120,
+  120, 110, 109, 107, 106, 103, 101, 101, 100, 104, 101, 98, 97, 101, 105, 105,
+  103, 106, 114, 121, 120, 112, 104, 101, 105, 70, 89, 99, 93, 85, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  216, 137, 134, 130, 124, 121, 125, 126, 126, 127, 125, 123, 121, 119, 122, 117,
+  107, 94, 80, 67, 57, 52, 81, 78, 87, 83, 87, 87, 80, 100, 94, 102,
+  99, 92, 95, 91, 84, 81, 82, 89, 82, 83, 74, 64, 77, 75, 78, 80,
+  83, 87, 88, 87, 87, 86, 70, 76, 84, 88, 93, 97, 105, 108, 106, 122,
+  132, 116, 102, 109, 101, 73, 29, 34, 36, 37, 37, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 131,
+  125, 123, 123, 124, 124, 123, 123, 122, 121, 120, 119, 117, 120, 119, 109, 92,
+  73, 60, 54, 44, 70, 94, 78, 78, 91, 87, 95, 92, 101, 100, 99, 107,
+  107, 101, 100, 89, 92, 86, 90, 88, 81, 92, 87, 91, 86, 81, 74, 72,
+  71, 74, 73, 71, 77, 88, 95, 100, 103, 106, 109, 125, 119, 117, 117, 124,
+  123, 83, 26, 34, 32, 27, 24, 26, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 123, 122, 125,
+  128, 127, 127, 126, 125, 125, 125, 124, 117, 123, 126, 118, 101, 84, 72, 68,
+  53, 75, 96, 84, 89, 98, 83, 82, 87, 95, 92, 88, 95, 94, 87, 86,
+  92, 96, 87, 94, 96, 90, 97, 90, 94, 93, 95, 92, 91, 87, 83, 80,
+  82, 88, 99, 107, 111, 111, 112, 112, 120, 121, 122, 107, 98, 118, 149, 164,
+  136, 132, 123, 119, 167, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 124, 124, 127, 128, 129,
+  130, 130, 129, 127, 126, 122, 123, 121, 115, 105, 95, 88, 84, 72, 57, 65,
+  83, 116, 125, 105, 110, 110, 116, 109, 103, 110, 107, 100, 97, 77, 83, 77,
+  82, 81, 72, 79, 73, 86, 85, 86, 85, 86, 85, 85, 83, 100, 103, 111,
+  116, 119, 116, 114, 112, 121, 108, 103, 104, 112, 139, 171, 187, 169, 169, 166,
+  165, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 126, 122, 119, 122, 126, 129, 129, 127,
+  123, 120, 127, 122, 117, 114, 112, 106, 95, 87, 95, 67, 62, 74, 111, 122,
+  105, 113, 127, 133, 128, 125, 137, 139, 134, 133, 110, 124, 124, 127, 118, 106,
+  117, 115, 105, 93, 77, 63, 61, 70, 84, 95, 110, 110, 113, 116, 118, 118,
+  117, 115, 121, 103, 102, 121, 143, 162, 166, 154, 174, 175, 177, 177, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 121, 117, 121, 125, 128, 129, 127, 123, 121, 127,
+  122, 118, 120, 123, 115, 97, 83, 103, 99, 91, 71, 78, 92, 81, 87, 131,
+  136, 131, 130, 145, 148, 146, 143, 118, 135, 139, 142, 130, 116, 129, 129, 107,
+  96, 83, 73, 72, 83, 97, 106, 108, 107, 107, 108, 112, 114, 115, 114, 104,
+  113, 134, 146, 146, 160, 182, 192, 171, 171, 172, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 210, 122, 123, 125, 126, 126, 126, 125, 126, 122, 120, 123,
+  126, 120, 106, 95, 84, 97, 103, 83, 79, 84, 79, 98, 130, 134, 128, 125,
+  140, 144, 140, 139, 126, 143, 143, 146, 137, 122, 130, 127, 78, 77, 77, 78,
+  83, 91, 98, 103, 105, 102, 102, 104, 108, 110, 111, 111, 113, 128, 153, 166,
+  163, 169, 170, 159, 175, 174, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 118, 117, 117, 118, 120, 123, 125, 126, 122, 119, 119, 122, 122, 119,
+  117, 102, 100, 109, 108, 99, 79, 69, 98, 106, 110, 103, 104, 119, 127, 123,
+  125, 120, 131, 126, 129, 121, 105, 108, 101, 85, 82, 79, 79, 85, 95, 107,
+  113, 108, 104, 104, 106, 108, 109, 107, 106, 135, 157, 181, 177, 161, 165, 179,
+  177, 169, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  114, 115, 119, 122, 121, 118, 119, 121, 123, 124, 123, 121, 119, 119, 109, 104,
+  102, 109, 105, 90, 82, 83, 89, 82, 98, 101, 115, 93, 97, 98, 83, 83,
+  82, 81, 80, 80, 80, 80, 89, 80, 74, 78, 90, 103, 107, 107, 109, 106,
+  100, 97, 103, 113, 116, 112, 166, 169, 170, 166, 155, 150, 155, 160, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 117, 122,
+  125, 125, 123, 117, 118, 120, 121, 121, 121, 120, 121, 120, 103, 91, 97, 104,
+  98, 89, 88, 85, 78, 84, 87, 94, 80, 86, 90, 90, 87, 83, 79, 78,
+  80, 83, 85, 84, 82, 83, 90, 100, 106, 106, 103, 97, 110, 112, 104, 104,
+  114, 120, 118, 109, 100, 87, 69, 52, 36, 33, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211, 126, 127, 126,
+  120, 120, 121, 121, 122, 123, 123, 125, 129, 110, 94, 93, 97, 98, 97, 101,
+  97, 90, 81, 88, 81, 78, 79, 88, 85, 86, 85, 84, 85, 87, 88, 89,
+  81, 86, 93, 103, 109, 109, 102, 100, 114, 115, 106, 98, 103, 113, 109, 92,
+  32, 27, 28, 33, 36, 37, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211, 126, 127, 127, 126, 125,
+  125, 125, 125, 126, 128, 126, 119, 113, 102, 94, 88, 97, 110, 119, 116, 101,
+  110, 94, 99, 91, 100, 97, 98, 99, 99, 97, 93, 87, 85, 85, 92, 101,
+  108, 111, 108, 102, 102, 101, 102, 103, 102, 93, 72, 44, 24, 36, 36, 43,
+  53, 54, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 212, 129, 132, 131, 129, 127, 125, 124,
+  124, 124, 123, 122, 119, 110, 98, 90, 91, 98, 113, 117, 108, 122, 111, 117,
+  108, 114, 121, 120, 115, 108, 98, 92, 84, 81, 94, 98, 104, 107, 104, 103,
+  103, 106, 116, 114, 111, 96, 60, 30, 44, 78, 102, 110, 124, 179, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 214, 131, 130, 129, 126, 124, 122, 120, 119, 124,
+  116, 110, 109, 109, 103, 91, 81, 83, 89, 93, 104, 102, 108, 103, 107, 117,
+  111, 103, 95, 89, 90, 92, 94, 103, 104, 105, 105, 102, 103, 104, 107, 106,
+  94, 81, 70, 51, 53, 99, 156, 186, 182, 207, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 213, 129, 128, 128, 126, 123, 120, 119, 123, 114, 109, 110,
+  115, 112, 100, 86, 82, 82, 89, 87, 94, 90, 93, 92, 97, 96, 92, 92,
+  93, 99, 104, 108, 107, 108, 106, 107, 107, 106, 102, 104, 110, 121, 136, 151,
+  161, 167, 177, 187, 195, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 213, 130, 130, 129, 126, 123, 121, 116, 117, 117, 117, 115, 114, 111,
+  107, 111, 104, 108, 90, 98, 84, 92, 86, 95, 97, 102, 106, 108, 110, 108,
+  108, 106, 107, 109, 112, 113, 110, 103, 101, 129, 158, 177, 177, 174, 181, 182,
+  175, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  212, 126, 126, 125, 123, 121, 122, 121, 120, 120, 119, 118, 119, 119, 113, 112,
+  113, 113, 112, 113, 113, 113, 111, 112, 115, 113, 109, 106, 106, 108, 108, 108,
+  112, 117, 115, 110, 112, 125, 175, 172, 176, 184, 186, 178, 203, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 128,
+  127, 127, 127, 125, 124, 125, 123, 123, 123, 125, 126, 120, 119, 118, 116, 114,
+  112, 111, 111, 114, 114, 116, 113, 109, 106, 105, 107, 110, 112, 114, 111, 101,
+  99, 122, 152, 152, 166, 181, 189, 185, 178, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 130, 131, 132,
+  127, 126, 124, 123, 122, 124, 128, 129, 128, 127, 125, 122, 120, 118, 118, 118,
+  119, 119, 118, 115, 111, 108, 108, 110, 118, 113, 112, 113, 115, 122, 141, 162,
+  175, 186, 191, 187, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 132, 129, 127, 124,
+  122, 122, 123, 127, 129, 130, 129, 128, 126, 125, 124, 125, 123, 121, 119, 117,
+  113, 110, 111, 113, 115, 114, 116, 112, 108, 122, 145, 160, 166, 172, 176, 202,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 214, 130, 126, 124, 122, 123, 123,
+  125, 126, 130, 129, 127, 125, 125, 124, 123, 123, 120, 116, 114, 112, 111, 113,
+  115, 118, 111, 119, 115, 107, 123, 153, 163, 154, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 212, 126, 125, 126, 126, 127, 127, 138,
+  136, 134, 131, 129, 127, 126, 125, 119, 117, 114, 114, 115, 116, 116, 117, 116,
+  112, 110, 126, 156, 168, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 123, 125, 128, 128, 128, 127, 139, 138, 135, 133,
+  132, 130, 129, 128, 123, 119, 115, 116, 117, 118, 116, 115, 125, 110, 116, 152,
+  169, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 126, 127, 127, 126, 128, 128, 127, 127, 127, 127, 127,
+  127, 128, 122, 119, 119, 121, 119, 116, 114, 123, 115, 136, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 124, 128, 132, 131, 126, 124, 128, 130, 117, 117,
+  117, 115, 115, 117, 119, 117, 108, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255 };
+/* Define image 'enemy5' of size 140x152x1x3 and type 'const unsigned char' */
+const unsigned char data_enemy5[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195,
+  52, 43, 230, 55, 63, 107, 69, 71, 63, 61, 88, 72, 241, 109, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  187, 71, 55, 61, 55, 60, 67, 65, 78, 66, 61, 47, 63, 71, 145, 48,
+  60, 88, 82, 122, 74, 59, 103, 118, 153, 66, 138, 232, 222, 246, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 77, 98, 123, 110, 92, 65, 82,
+  63, 54, 91, 63, 68, 56, 77, 81, 70, 71, 87, 82, 68, 64, 130, 65,
+  129, 148, 131, 93, 94, 130, 137, 172, 155, 207, 200, 224, 230, 220, 226, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 188, 61, 30, 137, 170, 119, 77, 76, 52, 44, 94, 102, 49, 66,
+  58, 73, 112, 76, 47, 113, 129, 132, 112, 62, 194, 129, 152, 147, 178, 161,
+  131, 100, 90, 163, 220, 221, 227, 226, 229, 230, 240, 252, 205, 195, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 89, 75, 47,
+  157, 137, 147, 111, 89, 98, 120, 108, 72, 73, 146, 103, 85, 98, 153, 151,
+  178, 234, 155, 171, 171, 145, 177, 156, 161, 197, 162, 187, 202, 168, 149, 153,
+  164, 166, 201, 174, 201, 228, 217, 210, 197, 163, 158, 116, 92, 138, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 165, 143, 142, 165, 171, 159, 195, 193, 139,
+  199, 188, 130, 128, 157, 156, 194, 160, 227, 201, 196, 193, 176, 178, 171, 194,
+  145, 140, 192, 158, 147, 207, 187, 143, 137, 153, 180, 172, 135, 178, 184, 194,
+  195, 216, 200, 178, 183, 183, 183, 124, 75, 90, 79, 140, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 177, 146, 175, 203, 171, 126, 167, 166, 205, 208, 144, 139, 142, 122,
+  207, 231, 172, 184, 225, 152, 152, 177, 165, 150, 209, 129, 198, 166, 178, 191,
+  199, 166, 159, 178, 136, 144, 167, 154, 122, 190, 186, 198, 161, 158, 165, 169,
+  153, 119, 110, 109, 120, 119, 65, 65, 97, 96, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 223, 115, 180, 154,
+  182, 226, 212, 219, 186, 181, 180, 175, 187, 164, 158, 164, 179, 162, 210, 200,
+  175, 164, 206, 155, 171, 174, 155, 194, 213, 214, 192, 204, 174, 160, 124, 140,
+  128, 120, 143, 134, 123, 142, 128, 151, 167, 176, 159, 153, 142, 115, 125, 106,
+  130, 114, 92, 81, 79, 76, 39, 112, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 225, 124, 192, 93, 127, 173, 240, 233, 211,
+  189, 179, 216, 170, 180, 156, 194, 190, 168, 175, 212, 222, 148, 185, 119, 146,
+  203, 156, 203, 218, 182, 152, 174, 197, 187, 158, 183, 148, 124, 196, 137, 94,
+  129, 120, 92, 149, 172, 128, 94, 160, 93, 96, 148, 127, 93, 214, 77, 73,
+  89, 78, 79, 88, 102, 138, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 129, 137, 206, 180, 114, 222, 203, 243, 221, 220, 207, 242, 187, 177,
+  188, 194, 216, 205, 165, 199, 243, 172, 198, 167, 169, 132, 152, 226, 197, 162,
+  180, 136, 168, 182, 153, 189, 216, 190, 148, 176, 138, 106, 102, 80, 112, 142,
+  130, 116, 104, 101, 95, 122, 96, 108, 125, 143, 107, 139, 74, 72, 66, 63,
+  85, 67, 100, 66, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 149, 104, 106, 138,
+  139, 216, 226, 214, 244, 210, 245, 212, 222, 209, 190, 181, 208, 228, 210, 223,
+  221, 231, 184, 194, 180, 179, 89, 203, 220, 153, 161, 157, 149, 129, 136, 150,
+  151, 100, 117, 179, 181, 136, 112, 123, 111, 112, 117, 104, 108, 98, 95, 69,
+  80, 90, 66, 136, 79, 104, 139, 107, 62, 79, 73, 78, 75, 85, 83, 81,
+  70, 144, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 219, 136, 105, 147, 175, 198, 165, 176, 181, 198,
+  223, 223, 244, 235, 192, 185, 206, 232, 224, 232, 218, 203, 195, 219, 211, 241,
+  139, 150, 254, 188, 168, 196, 158, 156, 141, 186, 118, 157, 143, 137, 174, 130,
+  164, 132, 92, 125, 119, 135, 103, 90, 107, 108, 103, 71, 55, 57, 69, 142,
+  97, 79, 114, 107, 88, 63, 108, 76, 80, 60, 93, 45, 95, 89, 77, 128,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 152, 128, 118, 89, 121, 164, 238, 188, 219, 215, 239, 205, 237, 254, 217,
+  212, 214, 217, 209, 238, 235, 194, 169, 224, 220, 169, 213, 157, 201, 208, 185,
+  209, 190, 209, 201, 220, 152, 181, 153, 172, 144, 128, 136, 121, 197, 122, 140,
+  144, 118, 103, 118, 103, 127, 109, 64, 49, 71, 67, 104, 99, 51, 100, 101,
+  91, 85, 81, 76, 66, 95, 82, 81, 87, 101, 68, 91, 43, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 230, 198, 120, 74,
+  176, 125, 215, 229, 181, 186, 206, 214, 217, 231, 241, 195, 240, 212, 227, 217,
+  204, 205, 234, 234, 249, 201, 176, 168, 214, 243, 137, 180, 176, 237, 223, 181,
+  169, 196, 159, 200, 142, 177, 114, 114, 145, 151, 153, 180, 141, 186, 67, 112,
+  111, 109, 66, 58, 60, 56, 55, 79, 64, 95, 103, 61, 88, 103, 89, 84,
+  92, 87, 108, 66, 107, 79, 75, 76, 85, 80, 127, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 116, 168, 183, 199, 98, 80, 163, 216, 160,
+  251, 152, 220, 176, 207, 239, 193, 222, 195, 207, 213, 216, 231, 240, 219, 219,
+  243, 231, 238, 244, 225, 176, 210, 202, 216, 205, 220, 198, 140, 137, 115, 125,
+  130, 151, 98, 109, 91, 135, 130, 156, 179, 137, 78, 83, 98, 84, 62, 64,
+  71, 34, 55, 71, 82, 123, 74, 90, 104, 88, 140, 94, 81, 87, 69, 67,
+  76, 64, 61, 61, 112, 110, 96, 138, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 238, 121, 172, 148, 91, 133, 160, 174, 206, 220, 146, 160, 190, 210,
+  208, 212, 223, 197, 182, 215, 194, 217, 192, 197, 184, 218, 209, 198, 223, 221,
+  206, 248, 247, 172, 227, 150, 221, 178, 214, 151, 207, 86, 98, 168, 143, 119,
+  143, 94, 192, 176, 102, 132, 113, 83, 58, 87, 129, 62, 76, 56, 63, 69,
+  54, 60, 73, 101, 78, 125, 80, 95, 90, 81, 82, 71, 91, 51, 60, 36,
+  68, 52, 39, 60, 65, 49, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 173, 138, 136,
+  167, 144, 94, 205, 153, 171, 217, 203, 197, 174, 210, 203, 220, 185, 196, 215,
+  195, 189, 201, 199, 214, 184, 186, 208, 208, 184, 228, 225, 216, 209, 183, 205,
+  143, 185, 127, 239, 115, 135, 172, 82, 139, 133, 130, 173, 145, 158, 158, 134,
+  114, 91, 92, 64, 72, 67, 82, 68, 76, 62, 62, 59, 52, 63, 80, 86,
+  93, 107, 110, 99, 74, 77, 91, 84, 78, 71, 51, 46, 74, 56, 46, 60,
+  57, 59, 62, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 193, 151, 182, 90, 151, 174, 209, 217, 201,
+  213, 181, 215, 196, 207, 193, 203, 206, 193, 213, 235, 192, 182, 213, 180, 190,
+  185, 218, 147, 181, 168, 194, 170, 165, 189, 150, 151, 166, 147, 230, 137, 219,
+  210, 96, 214, 101, 95, 183, 192, 173, 148, 117, 160, 107, 77, 90, 54, 61,
+  62, 69, 68, 73, 67, 67, 63, 56, 48, 54, 63, 60, 62, 68, 68, 58,
+  43, 58, 80, 74, 70, 80, 82, 60, 66, 44, 54, 55, 54, 83, 65, 86,
+  134, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 193, 111, 197, 172, 165, 170, 210, 231, 232, 196, 211, 148, 230, 210,
+  180, 175, 204, 216, 177, 188, 190, 159, 198, 249, 187, 195, 170, 237, 203, 243,
+  169, 173, 172, 186, 148, 131, 135, 119, 136, 154, 131, 217, 192, 147, 189, 109,
+  51, 180, 156, 165, 110, 144, 158, 77, 89, 57, 54, 57, 51, 66, 53, 72,
+  57, 69, 61, 71, 61, 65, 68, 60, 58, 60, 56, 57, 45, 58, 78, 71,
+  60, 63, 69, 60, 48, 35, 63, 57, 57, 96, 69, 78, 71, 70, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 107, 76,
+  224, 178, 219, 255, 156, 229, 237, 199, 221, 166, 203, 188, 190, 200, 189, 190,
+  218, 226, 180, 159, 171, 201, 186, 171, 217, 175, 196, 167, 196, 116, 168, 147,
+  87, 85, 110, 101, 138, 108, 173, 185, 198, 173, 153, 158, 150, 160, 175, 114,
+  131, 153, 165, 85, 56, 67, 48, 50, 47, 56, 50, 62, 56, 65, 62, 63,
+  57, 62, 65, 59, 60, 63, 57, 48, 46, 57, 77, 90, 91, 84, 73, 67,
+  49, 53, 76, 78, 80, 95, 92, 75, 74, 70, 62, 138, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 198, 69, 190, 208, 161, 234, 241, 225,
+  225, 196, 193, 229, 198, 179, 169, 163, 183, 202, 187, 210, 178, 170, 179, 223,
+  198, 204, 242, 201, 196, 178, 143, 173, 131, 116, 130, 138, 132, 67, 88, 82,
+  90, 74, 141, 169, 149, 131, 108, 125, 92, 129, 61, 70, 123, 152, 119, 84,
+  39, 54, 38, 46, 47, 44, 52, 48, 58, 57, 61, 52, 49, 55, 58, 54,
+  59, 64, 58, 45, 59, 66, 72, 91, 106, 100, 86, 69, 57, 68, 66, 81,
+  83, 65, 103, 82, 77, 58, 65, 67, 140, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 223, 114, 119, 103, 132, 218, 165, 193, 187, 233, 183, 198, 202, 212, 221,
+  156, 174, 171, 182, 177, 175, 193, 204, 211, 236, 179, 177, 202, 242, 231, 220,
+  176, 150, 197, 156, 131, 140, 117, 133, 105, 64, 74, 85, 88, 68, 169, 131,
+  135, 135, 90, 193, 97, 117, 88, 49, 71, 120, 51, 65, 59, 40, 47, 41,
+  46, 37, 51, 39, 56, 49, 57, 54, 51, 55, 55, 51, 57, 63, 56, 56,
+  79, 80, 67, 72, 82, 85, 87, 79, 74, 74, 60, 75, 73, 53, 94, 62,
+  66, 61, 84, 77, 93, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 72, 92, 197,
+  166, 239, 209, 255, 209, 227, 241, 209, 193, 232, 183, 185, 191, 200, 167, 192,
+  208, 174, 189, 209, 135, 187, 218, 229, 193, 206, 210, 166, 157, 137, 122, 105,
+  115, 191, 82, 141, 69, 86, 78, 87, 92, 64, 157, 99, 92, 101, 103, 88,
+  80, 37, 39, 35, 60, 46, 40, 58, 36, 73, 40, 39, 39, 38, 41, 41,
+  45, 46, 48, 46, 43, 46, 44, 39, 48, 56, 48, 43, 60, 62, 63, 74,
+  76, 79, 98, 94, 102, 86, 95, 97, 82, 89, 87, 65, 59, 55, 55, 50,
+  64, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 73, 68, 81, 112, 160, 157, 246, 249, 238,
+  211, 205, 241, 185, 180, 180, 210, 201, 212, 176, 163, 189, 174, 128, 204, 183,
+  165, 207, 172, 181, 173, 177, 156, 121, 146, 126, 120, 141, 108, 179, 74, 111,
+  84, 88, 79, 78, 76, 104, 87, 73, 99, 79, 54, 59, 55, 42, 47, 53,
+  28, 47, 44, 31, 44, 44, 38, 38, 33, 42, 31, 45, 34, 44, 40, 48,
+  46, 49, 48, 45, 57, 67, 61, 48, 49, 48, 69, 92, 79, 67, 85, 82,
+  97, 74, 116, 105, 76, 112, 60, 86, 66, 70, 57, 70, 65, 73, 121, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 48, 56, 52, 86, 95, 176, 214, 225, 238, 204, 212, 186, 178, 219,
+  178, 164, 176, 178, 188, 183, 177, 160, 146, 178, 161, 184, 153, 184, 125, 137,
+  224, 140, 175, 164, 112, 83, 99, 101, 100, 105, 81, 92, 71, 88, 84, 74,
+  83, 72, 71, 73, 64, 55, 52, 50, 46, 42, 40, 32, 39, 39, 32, 32,
+  39, 41, 36, 38, 43, 33, 45, 32, 46, 38, 44, 48, 49, 49, 47, 43,
+  40, 39, 39, 36, 68, 67, 64, 61, 56, 70, 73, 83, 71, 75, 103, 111,
+  78, 60, 77, 109, 97, 77, 62, 75, 58, 59, 101, 132, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 47, 62, 51,
+  104, 51, 174, 183, 152, 223, 206, 225, 199, 163, 166, 187, 173, 187, 199, 151,
+  233, 184, 164, 201, 192, 110, 158, 136, 172, 123, 183, 162, 150, 184, 155, 207,
+  148, 100, 92, 47, 73, 137, 68, 93, 71, 77, 54, 71, 94, 56, 70, 55,
+  53, 50, 46, 41, 36, 34, 34, 33, 37, 38, 34, 31, 32, 32, 30, 40,
+  37, 22, 36, 33, 49, 39, 38, 49, 48, 46, 46, 46, 45, 43, 42, 60,
+  78, 64, 56, 50, 43, 58, 66, 55, 86, 93, 84, 97, 114, 111, 99, 102,
+  105, 85, 70, 101, 97, 96, 73, 78, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 29, 35, 59, 44, 84, 114, 162, 144,
+  207, 208, 225, 208, 178, 162, 195, 189, 175, 168, 149, 184, 159, 186, 178, 152,
+  114, 107, 165, 192, 194, 155, 133, 156, 203, 149, 160, 122, 153, 99, 93, 87,
+  71, 106, 80, 65, 94, 93, 67, 73, 69, 43, 57, 41, 46, 47, 44, 37,
+  31, 30, 32, 30, 31, 34, 38, 36, 33, 35, 40, 34, 39, 36, 44, 37,
+  44, 41, 45, 46, 43, 41, 42, 45, 46, 45, 43, 66, 73, 54, 49, 46,
+  35, 48, 59, 82, 93, 92, 87, 89, 86, 90, 103, 67, 80, 115, 118, 43,
+  86, 57, 134, 112, 78, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 186, 54, 51, 27, 41, 53, 96, 127, 105, 124, 206, 200, 210, 204,
+  182, 149, 174, 168, 179, 176, 160, 181, 142, 181, 140, 156, 127, 146, 125, 158,
+  186, 160, 152, 131, 135, 179, 122, 135, 99, 76, 104, 79, 61, 101, 78, 72,
+  127, 108, 92, 65, 36, 54, 37, 38, 41, 42, 36, 32, 31, 31, 30, 32,
+  28, 31, 37, 38, 32, 37, 46, 33, 35, 37, 39, 37, 37, 36, 36, 44,
+  43, 42, 42, 44, 46, 48, 49, 46, 51, 38, 48, 53, 40, 47, 55, 79,
+  65, 65, 86, 87, 61, 71, 118, 158, 114, 113, 95, 92, 57, 90, 74, 101,
+  61, 63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 50, 62,
+  57, 32, 55, 83, 86, 90, 101, 156, 199, 163, 217, 190, 201, 162, 167, 168,
+  175, 155, 139, 167, 142, 131, 195, 122, 103, 135, 196, 177, 177, 197, 126, 152,
+  128, 108, 155, 172, 83, 60, 83, 84, 84, 87, 84, 124, 128, 116, 87, 38,
+  40, 64, 33, 40, 39, 35, 27, 28, 32, 31, 26, 38, 31, 30, 34, 36,
+  32, 38, 46, 61, 47, 39, 35, 48, 50, 51, 44, 43, 45, 45, 43, 41,
+  42, 48, 53, 32, 38, 28, 43, 53, 42, 47, 52, 51, 63, 67, 67, 70,
+  67, 74, 94, 88, 69, 143, 75, 51, 67, 74, 73, 62, 43, 73, 161, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 46, 47, 53, 64, 54, 59, 107, 123,
+  153, 73, 183, 229, 208, 202, 216, 191, 196, 144, 120, 119, 128, 136, 141, 141,
+  177, 124, 99, 166, 141, 161, 199, 206, 205, 211, 185, 198, 179, 237, 206, 146,
+  117, 95, 77, 97, 93, 56, 89, 120, 96, 142, 93, 24, 50, 52, 46, 49,
+  48, 39, 30, 31, 36, 34, 27, 37, 32, 30, 37, 46, 52, 56, 60, 61,
+  54, 52, 40, 47, 47, 63, 69, 43, 43, 41, 37, 34, 35, 40, 45, 39,
+  44, 29, 34, 43, 36, 44, 47, 50, 69, 72, 64, 63, 60, 56, 59, 85,
+  124, 100, 140, 65, 76, 63, 26, 52, 43, 68, 92, 120, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 187, 57, 51, 81, 103, 81, 99, 152, 215, 190, 178, 229, 241,
+  245, 194, 200, 135, 134, 136, 137, 127, 111, 132, 127, 114, 146, 136, 218, 160,
+  183, 155, 201, 117, 234, 206, 200, 188, 124, 168, 122, 172, 131, 130, 104, 55,
+  63, 84, 77, 76, 92, 135, 107, 42, 40, 54, 55, 55, 59, 52, 40, 37,
+  39, 37, 30, 34, 35, 35, 41, 56, 69, 70, 64, 45, 38, 47, 43, 66,
+  62, 70, 61, 56, 47, 38, 34, 37, 39, 39, 37, 42, 53, 34, 31, 35,
+  32, 40, 40, 39, 41, 49, 68, 78, 61, 54, 67, 75, 69, 87, 90, 80,
+  59, 68, 49, 51, 45, 46, 40, 34, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 47, 58,
+  66, 58, 116, 157, 122, 130, 166, 236, 194, 189, 234, 243, 193, 225, 186, 179,
+  141, 155, 154, 115, 84, 133, 128, 99, 119, 178, 140, 211, 175, 163, 171, 106,
+  169, 170, 218, 204, 181, 190, 166, 149, 141, 100, 96, 106, 94, 96, 99, 60,
+  116, 83, 96, 66, 24, 79, 53, 51, 61, 58, 46, 36, 36, 32, 28, 37,
+  40, 36, 37, 50, 61, 53, 37, 71, 39, 37, 63, 133, 136, 107, 51, 79,
+  63, 49, 46, 54, 58, 53, 43, 38, 55, 40, 33, 37, 35, 41, 36, 39,
+  45, 54, 70, 84, 74, 60, 63, 73, 107, 75, 62, 48, 48, 110, 78, 60,
+  59, 53, 34, 54, 115, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 183, 59, 43, 47, 75, 47, 60, 118, 154,
+  193, 224, 201, 242, 219, 209, 237, 238, 210, 196, 199, 211, 185, 117, 121, 123,
+  102, 112, 116, 110, 196, 243, 184, 205, 174, 173, 168, 169, 204, 221, 191, 193,
+  162, 157, 150, 159, 118, 120, 102, 76, 67, 93, 72, 90, 71, 76, 44, 77,
+  59, 64, 32, 47, 42, 35, 33, 36, 40, 41, 40, 36, 38, 38, 37, 36,
+  43, 56, 66, 27, 78, 50, 86, 170, 137, 131, 82, 102, 131, 116, 108, 90,
+  87, 61, 66, 83, 74, 65, 47, 29, 30, 37, 33, 42, 56, 80, 77, 79,
+  70, 47, 53, 49, 46, 77, 70, 51, 92, 77, 90, 64, 60, 71, 51, 42,
+  46, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 183, 60, 32, 78, 41, 65, 98, 77, 173, 239, 234, 220, 230, 213,
+  239, 230, 239, 204, 215, 204, 207, 148, 118, 178, 106, 94, 103, 83, 101, 116,
+  146, 201, 203, 174, 119, 149, 148, 168, 168, 179, 196, 195, 167, 116, 101, 131,
+  94, 103, 95, 80, 72, 90, 63, 85, 67, 63, 39, 65, 62, 68, 46, 51,
+  47, 42, 38, 37, 36, 35, 35, 30, 32, 33, 30, 28, 30, 38, 45, 21,
+  109, 96, 212, 135, 182, 181, 203, 152, 131, 124, 97, 77, 113, 142, 110, 77,
+  72, 74, 68, 58, 58, 59, 49, 67, 61, 64, 55, 49, 41, 37, 67, 37,
+  60, 65, 58, 84, 116, 75, 110, 99, 113, 83, 40, 48, 50, 22, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 25, 93,
+  61, 56, 65, 66, 128, 87, 188, 241, 216, 209, 248, 209, 203, 230, 187, 233,
+  208, 214, 167, 198, 140, 109, 104, 116, 134, 85, 64, 160, 196, 180, 157, 151,
+  134, 139, 135, 161, 171, 179, 160, 120, 140, 107, 102, 104, 69, 81, 80, 75,
+  70, 84, 59, 74, 64, 52, 42, 51, 60, 58, 46, 50, 49, 46, 42, 37,
+  33, 32, 33, 30, 32, 35, 32, 30, 30, 34, 39, 68, 59, 186, 151, 194,
+  191, 174, 159, 156, 147, 137, 106, 125, 115, 105, 75, 70, 68, 75, 76, 72,
+  74, 72, 60, 63, 50, 51, 47, 46, 44, 54, 100, 44, 17, 44, 61, 48,
+  100, 98, 88, 112, 151, 94, 38, 55, 57, 39, 39, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 89, 74, 93, 99, 69, 46, 73,
+  135, 150, 218, 234, 212, 218, 235, 223, 207, 204, 198, 195, 200, 199, 212, 188,
+  83, 165, 115, 110, 87, 119, 185, 160, 163, 156, 184, 193, 162, 120, 159, 196,
+  149, 166, 189, 158, 128, 76, 80, 87, 59, 68, 65, 66, 63, 81, 63, 66,
+  70, 58, 59, 46, 55, 43, 39, 41, 44, 45, 43, 38, 35, 35, 37, 34,
+  35, 35, 34, 34, 35, 40, 44, 80, 180, 179, 188, 185, 191, 155, 115, 124,
+  107, 85, 78, 106, 76, 57, 72, 66, 65, 69, 67, 58, 62, 66, 58, 45,
+  39, 45, 40, 38, 32, 26, 54, 47, 48, 39, 40, 52, 86, 74, 104, 85,
+  126, 79, 39, 38, 35, 46, 44, 112, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 92, 26, 45, 68, 63, 79, 141, 110, 153, 193, 183, 206,
+  208, 214, 218, 216, 192, 181, 203, 193, 208, 179, 199, 125, 138, 98, 80, 114,
+  122, 101, 236, 150, 119, 170, 197, 140, 136, 109, 142, 169, 190, 241, 204, 156,
+  126, 100, 73, 73, 55, 65, 61, 65, 60, 77, 69, 70, 80, 67, 70, 42,
+  50, 37, 43, 36, 39, 42, 42, 38, 36, 37, 39, 36, 36, 33, 30, 31,
+  33, 39, 43, 69, 146, 151, 126, 124, 130, 120, 91, 130, 89, 83, 103, 77,
+  81, 95, 102, 66, 66, 70, 65, 50, 53, 60, 56, 37, 40, 46, 34, 37,
+  39, 21, 26, 50, 58, 47, 47, 45, 63, 63, 101, 89, 96, 71, 60, 38,
+  29, 52, 35, 43, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193,
+  105, 128, 78, 46, 135, 157, 131, 208, 226, 235, 169, 217, 226, 218, 231, 212,
+  175, 180, 173, 209, 221, 183, 158, 146, 136, 102, 78, 67, 82, 192, 142, 158,
+  158, 184, 153, 98, 121, 94, 102, 157, 124, 128, 130, 131, 79, 70, 61, 62,
+  51, 65, 63, 70, 59, 72, 67, 71, 74, 59, 59, 34, 42, 38, 48, 37,
+  38, 39, 39, 36, 35, 35, 35, 42, 40, 35, 31, 30, 33, 36, 39, 74,
+  26, 115, 83, 76, 126, 80, 78, 72, 75, 66, 77, 51, 63, 55, 59, 63,
+  66, 74, 74, 63, 61, 64, 57, 47, 48, 46, 27, 36, 52, 39, 41, 40,
+  26, 43, 63, 22, 38, 62, 68, 101, 68, 57, 67, 50, 48, 58, 30, 37,
+  114, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 74, 57, 76, 54, 101,
+  96, 91, 189, 218, 214, 230, 206, 219, 205, 202, 197, 213, 206, 192, 185, 162,
+  218, 184, 198, 158, 121, 93, 95, 61, 152, 143, 118, 132, 157, 158, 166, 151,
+  118, 87, 95, 77, 132, 137, 127, 107, 78, 87, 67, 67, 53, 59, 53, 65,
+  54, 63, 59, 69, 62, 48, 47, 38, 42, 39, 42, 36, 35, 34, 33, 34,
+  34, 33, 32, 42, 40, 37, 34, 34, 36, 36, 37, 29, 15, 69, 67, 61,
+  37, 78, 49, 44, 64, 43, 33, 54, 58, 47, 69, 58, 57, 64, 68, 66,
+  70, 68, 54, 66, 58, 49, 27, 27, 33, 20, 29, 27, 53, 32, 43, 55,
+  49, 36, 76, 77, 44, 39, 41, 43, 49, 38, 27, 36, 46, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 195, 61, 82, 55, 64, 168, 122, 185, 217, 226,
+  181, 208, 243, 188, 177, 234, 218, 190, 160, 196, 170, 208, 203, 168, 147, 128,
+  135, 77, 126, 143, 122, 84, 99, 112, 167, 174, 165, 105, 92, 131, 64, 66,
+  137, 122, 143, 107, 65, 68, 65, 81, 61, 53, 39, 54, 47, 56, 53, 70,
+  59, 49, 51, 55, 54, 44, 36, 35, 31, 29, 30, 34, 36, 35, 33, 32,
+  31, 30, 33, 35, 37, 36, 35, 38, 54, 49, 38, 46, 43, 58, 51, 61,
+  30, 46, 54, 62, 45, 54, 40, 55, 45, 46, 51, 55, 65, 63, 46, 61,
+  52, 53, 46, 47, 42, 29, 48, 44, 30, 21, 49, 35, 44, 54, 58, 69,
+  55, 51, 34, 45, 53, 29, 46, 44, 46, 110, 255, 255, 255, 255, 255, 255,
+  255, 255, 83, 116, 71, 63, 66, 231, 173, 231, 178, 207, 171, 198, 197, 199,
+  191, 241, 234, 214, 154, 215, 205, 234, 177, 183, 213, 153, 150, 123, 113, 117,
+  98, 79, 114, 193, 204, 177, 191, 159, 145, 94, 101, 96, 149, 77, 86, 86,
+  62, 70, 59, 59, 61, 47, 53, 35, 47, 43, 54, 45, 48, 52, 54, 53,
+  49, 44, 40, 32, 45, 38, 38, 21, 36, 32, 35, 41, 37, 31, 29, 30,
+  34, 37, 38, 37, 52, 44, 57, 56, 43, 56, 44, 56, 53, 51, 50, 51,
+  52, 55, 58, 60, 60, 58, 58, 56, 53, 51, 49, 43, 46, 50, 50, 42,
+  35, 36, 41, 34, 39, 41, 36, 34, 40, 46, 49, 78, 89, 74, 81, 44,
+  41, 45, 43, 38, 34, 45, 255, 255, 255, 255, 255, 255, 255, 194, 174, 90,
+  67, 89, 63, 239, 204, 252, 184, 195, 172, 185, 155, 188, 200, 240, 207, 173,
+  169, 183, 206, 212, 196, 184, 162, 99, 139, 114, 83, 113, 109, 112, 120, 220,
+  198, 225, 165, 134, 95, 119, 73, 72, 133, 111, 113, 90, 48, 55, 55, 48,
+  53, 45, 53, 39, 50, 45, 53, 45, 46, 47, 48, 47, 45, 42, 40, 39,
+  38, 28, 40, 30, 37, 28, 33, 32, 33, 33, 34, 33, 32, 32, 31, 44,
+  53, 51, 60, 58, 52, 56, 50, 55, 53, 49, 46, 44, 44, 46, 47, 52,
+  55, 58, 60, 60, 56, 51, 48, 34, 38, 43, 45, 46, 45, 41, 36, 38,
+  39, 37, 33, 34, 40, 43, 43, 61, 78, 73, 87, 52, 42, 39, 32, 52,
+  25, 50, 130, 255, 255, 255, 255, 255, 255, 89, 71, 130, 42, 143, 193, 246,
+  198, 237, 154, 206, 176, 209, 153, 187, 251, 207, 210, 189, 220, 214, 194, 166,
+  185, 183, 149, 214, 92, 138, 133, 152, 106, 122, 187, 227, 190, 130, 157, 52,
+  74, 41, 47, 70, 79, 77, 86, 92, 68, 72, 63, 54, 57, 52, 55, 42,
+  44, 36, 37, 41, 41, 41, 40, 39, 38, 38, 38, 35, 33, 26, 43, 28,
+  27, 20, 35, 32, 35, 38, 37, 34, 32, 33, 36, 49, 49, 61, 59, 58,
+  60, 50, 53, 52, 50, 45, 41, 38, 36, 36, 37, 42, 47, 54, 60, 61,
+  58, 53, 49, 40, 41, 39, 38, 44, 52, 48, 38, 43, 42, 38, 35, 38,
+  45, 47, 42, 62, 73, 69, 80, 53, 44, 48, 40, 38, 41, 40, 52, 255,
+  255, 255, 255, 255, 194, 79, 58, 102, 133, 201, 126, 222, 206, 215, 177, 168,
+  185, 137, 141, 166, 197, 175, 173, 211, 177, 197, 196, 191, 167, 191, 227, 239,
+  201, 171, 174, 166, 114, 157, 245, 150, 118, 67, 93, 79, 66, 36, 73, 77,
+  74, 116, 120, 110, 72, 62, 49, 59, 60, 55, 55, 46, 42, 34, 31, 39,
+  40, 40, 39, 39, 38, 37, 37, 25, 36, 36, 43, 21, 25, 28, 47, 47,
+  47, 45, 38, 32, 33, 40, 48, 48, 43, 66, 59, 57, 62, 40, 47, 46,
+  46, 43, 39, 37, 35, 35, 35, 37, 40, 46, 51, 54, 54, 53, 52, 54,
+  52, 42, 31, 34, 48, 51, 44, 42, 44, 43, 40, 41, 46, 50, 47, 53,
+  63, 67, 78, 63, 51, 54, 39, 40, 32, 58, 85, 142, 255, 255, 255, 255,
+  39, 86, 68, 119, 169, 221, 68, 191, 177, 197, 166, 183, 176, 157, 120, 190,
+  225, 180, 185, 166, 166, 169, 196, 218, 196, 226, 206, 249, 156, 167, 167, 151,
+  224, 194, 174, 115, 100, 109, 59, 92, 31, 42, 36, 47, 20, 62, 75, 84,
+  70, 66, 54, 46, 43, 46, 45, 47, 44, 44, 42, 37, 39, 41, 42, 42,
+  40, 38, 36, 23, 40, 35, 36, 24, 48, 52, 56, 53, 53, 50, 42, 36,
+  36, 44, 52, 47, 43, 66, 59, 56, 59, 35, 41, 42, 41, 39, 38, 38,
+  38, 41, 42, 41, 41, 41, 43, 46, 51, 56, 59, 56, 58, 51, 38, 35,
+  44, 50, 50, 41, 48, 52, 45, 39, 39, 44, 45, 31, 44, 66, 89, 88,
+  65, 55, 24, 46, 58, 108, 56, 78, 255, 255, 255, 255, 54, 68, 108, 196,
+  181, 166, 144, 203, 156, 120, 184, 156, 183, 150, 105, 238, 209, 228, 145, 140,
+  208, 167, 215, 210, 193, 236, 165, 167, 169, 187, 166, 231, 154, 191, 149, 120,
+  69, 66, 72, 59, 59, 82, 72, 107, 52, 40, 44, 60, 70, 66, 48, 38,
+  35, 41, 37, 47, 42, 47, 43, 35, 37, 40, 42, 42, 40, 37, 35, 30,
+  39, 25, 29, 37, 76, 70, 55, 44, 46, 47, 45, 41, 40, 43, 46, 52,
+  52, 62, 59, 54, 50, 37, 38, 39, 39, 40, 40, 41, 42, 46, 46, 46,
+  44, 43, 43, 46, 50, 57, 60, 44, 50, 55, 53, 46, 43, 46, 51, 40,
+  51, 56, 48, 36, 31, 33, 34, 38, 41, 60, 81, 95, 77, 72, 37, 130,
+  62, 44, 80, 77, 89, 255, 255, 255, 57, 124, 208, 214, 163, 149, 202, 151,
+  179, 180, 208, 179, 166, 180, 93, 215, 215, 201, 162, 169, 168, 154, 215, 214,
+  162, 207, 211, 166, 171, 226, 155, 200, 176, 211, 117, 164, 78, 61, 65, 71,
+  54, 81, 72, 36, 38, 41, 58, 47, 47, 52, 54, 44, 39, 46, 37, 50,
+  38, 40, 32, 33, 34, 34, 35, 35, 34, 34, 33, 34, 37, 23, 34, 41,
+  70, 59, 47, 36, 36, 37, 38, 40, 42, 47, 49, 58, 63, 54, 54, 46,
+  38, 43, 38, 40, 41, 41, 41, 41, 41, 44, 44, 42, 43, 45, 47, 49,
+  50, 50, 50, 39, 41, 50, 57, 51, 40, 40, 49, 38, 48, 54, 48, 39,
+  34, 32, 29, 53, 41, 46, 58, 85, 78, 88, 59, 122, 85, 50, 92, 58,
+  116, 255, 255, 255, 50, 77, 217, 135, 182, 182, 167, 218, 178, 167, 213, 220,
+  191, 160, 88, 148, 173, 175, 203, 180, 138, 187, 137, 184, 188, 194, 181, 143,
+  229, 151, 177, 129, 202, 202, 163, 89, 84, 63, 47, 61, 55, 46, 47, 50,
+  57, 34, 54, 43, 48, 46, 42, 46, 40, 51, 41, 57, 42, 45, 35, 32,
+  31, 31, 29, 30, 30, 33, 33, 32, 37, 34, 45, 36, 45, 38, 42, 37,
+  33, 28, 28, 36, 45, 53, 58, 64, 69, 46, 48, 41, 30, 46, 41, 43,
+  43, 44, 41, 42, 41, 40, 40, 35, 39, 45, 49, 51, 47, 42, 38, 45,
+  38, 42, 53, 48, 34, 35, 48, 35, 44, 50, 49, 45, 42, 38, 31, 43,
+  28, 33, 46, 80, 74, 84, 50, 73, 41, 76, 55, 53, 54, 255, 255, 255,
+  37, 141, 184, 214, 187, 199, 174, 200, 168, 161, 193, 189, 185, 133, 120, 195,
+  97, 159, 131, 136, 182, 103, 117, 171, 135, 174, 137, 160, 103, 95, 163, 199,
+  158, 163, 113, 73, 67, 51, 58, 54, 71, 47, 64, 52, 58, 55, 43, 41,
+  47, 40, 25, 31, 37, 47, 30, 40, 99, 53, 29, 36, 36, 32, 17, 44,
+  17, 49, 22, 32, 39, 32, 51, 57, 39, 47, 34, 32, 26, 37, 47, 40,
+  35, 43, 47, 48, 41, 34, 32, 35, 39, 42, 42, 45, 46, 47, 46, 46,
+  43, 40, 37, 37, 34, 34, 41, 50, 55, 52, 47, 49, 37, 42, 55, 44,
+  58, 32, 52, 42, 42, 44, 47, 45, 39, 38, 38, 37, 42, 28, 33, 42,
+  73, 97, 53, 52, 30, 46, 59, 41, 53, 85, 255, 255, 78, 163, 208, 197,
+  182, 194, 170, 190, 167, 160, 180, 195, 184, 136, 132, 134, 143, 169, 141, 155,
+  136, 136, 117, 155, 126, 169, 139, 122, 95, 93, 142, 154, 127, 140, 98, 52,
+  58, 72, 60, 56, 47, 38, 59, 59, 58, 47, 33, 33, 42, 46, 43, 46,
+  36, 43, 41, 50, 92, 49, 38, 32, 34, 41, 33, 32, 36, 36, 38, 33,
+  51, 48, 52, 39, 25, 44, 48, 52, 41, 36, 35, 34, 42, 45, 33, 32,
+  32, 33, 36, 39, 41, 41, 39, 49, 51, 52, 50, 46, 41, 39, 39, 37,
+  34, 33, 37, 43, 46, 45, 42, 48, 35, 38, 51, 43, 56, 32, 47, 38,
+  40, 46, 51, 48, 39, 33, 33, 35, 39, 28, 32, 36, 59, 84, 55, 33,
+  43, 54, 67, 73, 63, 57, 255, 255, 150, 149, 145, 181, 192, 156, 175, 143,
+  197, 172, 210, 178, 170, 188, 195, 102, 121, 153, 191, 154, 123, 129, 160, 115,
+  131, 157, 128, 122, 126, 121, 144, 125, 115, 125, 96, 55, 47, 68, 47, 71,
+  49, 42, 45, 51, 50, 47, 44, 43, 43, 41, 40, 39, 35, 54, 55, 43,
+  54, 35, 58, 40, 22, 93, 26, 73, 29, 51, 44, 40, 50, 44, 47, 45,
+  38, 43, 35, 55, 46, 37, 28, 28, 44, 45, 25, 38, 40, 42, 41, 39,
+  38, 37, 37, 51, 53, 54, 51, 45, 40, 38, 38, 34, 34, 33, 34, 36,
+  39, 42, 44, 49, 37, 36, 47, 46, 54, 36, 43, 33, 34, 38, 42, 41,
+  35, 33, 35, 34, 37, 32, 34, 32, 45, 72, 65, 46, 71, 56, 56, 85,
+  66, 42, 255, 255, 212, 182, 159, 166, 182, 195, 183, 189, 193, 187, 180, 185,
+  150, 186, 191, 143, 124, 138, 142, 139, 136, 92, 153, 85, 117, 150, 107, 116,
+  123, 111, 125, 97, 98, 98, 80, 70, 51, 62, 47, 81, 67, 56, 52, 46,
+  45, 47, 52, 51, 42, 35, 34, 36, 37, 58, 56, 40, 39, 35, 64, 37,
+  44, 78, 59, 60, 47, 41, 42, 51, 46, 35, 36, 43, 47, 46, 36, 48,
+  39, 36, 33, 29, 37, 40, 30, 44, 44, 42, 38, 34, 34, 39, 44, 50,
+  49, 47, 46, 44, 41, 37, 35, 31, 33, 34, 33, 34, 38, 45, 51, 52,
+  41, 37, 45, 50, 53, 42, 41, 36, 32, 30, 32, 33, 35, 43, 52, 33,
+  36, 37, 38, 32, 37, 61, 77, 68, 82, 56, 49, 78, 64, 47, 79, 255,
+  160, 102, 73, 180, 210, 199, 219, 180, 199, 170, 160, 191, 185, 183, 165, 179,
+  153, 160, 104, 169, 167, 137, 128, 137, 145, 177, 125, 99, 93, 74, 95, 84,
+  88, 78, 69, 53, 47, 58, 50, 61, 52, 38, 45, 48, 44, 43, 45, 44,
+  40, 40, 44, 52, 40, 43, 42, 54, 60, 52, 48, 54, 73, 60, 74, 60,
+  60, 61, 54, 56, 48, 42, 30, 26, 33, 46, 62, 67, 38, 26, 33, 34,
+  33, 34, 32, 29, 31, 32, 32, 33, 37, 44, 51, 45, 40, 36, 37, 41,
+  42, 37, 31, 31, 34, 35, 34, 33, 35, 42, 48, 51, 43, 37, 42, 52,
+  48, 47, 39, 42, 37, 33, 33, 35, 39, 50, 60, 30, 33, 39, 37, 33,
+  35, 51, 79, 71, 68, 60, 64, 73, 64, 55, 63, 255, 210, 114, 130, 194,
+  186, 204, 177, 196, 167, 205, 187, 185, 215, 183, 177, 170, 131, 158, 143, 132,
+  135, 152, 102, 146, 168, 121, 100, 104, 85, 68, 82, 87, 85, 69, 63, 56,
+  49, 57, 56, 72, 63, 33, 30, 37, 42, 47, 50, 49, 47, 45, 43, 45,
+  39, 42, 34, 51, 54, 55, 42, 47, 51, 34, 32, 49, 35, 63, 42, 53,
+  38, 42, 41, 39, 41, 43, 64, 94, 45, 18, 29, 36, 35, 32, 29, 25,
+  29, 35, 39, 41, 42, 42, 43, 39, 34, 30, 33, 38, 41, 37, 33, 35,
+  37, 38, 36, 33, 31, 33, 36, 47, 43, 37, 37, 51, 40, 48, 35, 39,
+  36, 35, 36, 36, 36, 41, 48, 27, 29, 37, 31, 34, 37, 39, 69, 80,
+  62, 62, 69, 62, 58, 61, 60, 255, 255, 164, 182, 172, 175, 180, 212, 197,
+  188, 206, 204, 198, 196, 159, 173, 173, 128, 153, 146, 123, 133, 158, 108, 151,
+  168, 107, 106, 92, 81, 78, 68, 75, 63, 52, 49, 82, 64, 80, 67, 104,
+  83, 63, 50, 36, 49, 58, 57, 54, 52, 45, 36, 30, 34, 45, 36, 43,
+  29, 45, 45, 63, 71, 44, 72, 55, 85, 66, 64, 49, 25, 38, 48, 52,
+  51, 49, 81, 76, 42, 26, 31, 33, 34, 35, 31, 35, 36, 39, 42, 44,
+  43, 39, 36, 35, 35, 35, 35, 36, 36, 38, 39, 37, 39, 41, 40, 37,
+  34, 31, 30, 45, 46, 39, 36, 51, 34, 51, 35, 39, 35, 33, 34, 33,
+  32, 37, 44, 30, 31, 38, 28, 38, 44, 31, 55, 99, 81, 69, 64, 58,
+  55, 62, 70, 255, 255, 230, 196, 207, 189, 186, 205, 193, 170, 206, 209, 206,
+  206, 208, 185, 193, 162, 192, 144, 151, 144, 162, 78, 159, 113, 150, 138, 76,
+  79, 91, 63, 70, 56, 53, 54, 58, 48, 87, 49, 87, 48, 61, 64, 57,
+  66, 62, 46, 40, 47, 49, 43, 41, 31, 36, 36, 52, 30, 43, 40, 51,
+  36, 70, 49, 77, 69, 51, 37, 46, 27, 44, 42, 28, 31, 64, 137, 32,
+  32, 40, 40, 29, 29, 38, 38, 34, 31, 28, 31, 36, 41, 43, 42, 33,
+  39, 43, 40, 34, 32, 38, 44, 37, 39, 42, 45, 44, 40, 35, 32, 45,
+  49, 43, 38, 53, 33, 55, 37, 47, 40, 34, 32, 32, 35, 46, 57, 34,
+  34, 39, 26, 41, 49, 26, 45, 102, 98, 79, 69, 71, 59, 54, 72, 126,
+  255, 255, 226, 183, 161, 224, 220, 187, 193, 177, 195, 229, 182, 210, 185, 190,
+  198, 176, 152, 144, 134, 119, 95, 158, 121, 99, 88, 117, 73, 59, 82, 68,
+  38, 53, 38, 62, 54, 53, 55, 55, 52, 54, 60, 50, 63, 72, 64, 34,
+  78, 34, 43, 41, 39, 37, 38, 40, 40, 37, 34, 36, 49, 39, 71, 49,
+  45, 52, 48, 27, 52, 31, 41, 29, 38, 111, 100, 32, 33, 33, 34, 35,
+  34, 34, 33, 36, 37, 39, 41, 41, 39, 37, 36, 35, 37, 39, 37, 35,
+  35, 38, 41, 46, 45, 42, 37, 32, 31, 34, 38, 39, 42, 42, 39, 39,
+  42, 41, 38, 45, 28, 41, 33, 34, 53, 41, 36, 33, 33, 32, 34, 40,
+  45, 42, 35, 73, 105, 87, 57, 60, 60, 80, 61, 52, 255, 255, 255, 255,
+  255, 242, 221, 202, 210, 202, 208, 209, 190, 198, 181, 180, 185, 144, 151, 163,
+  204, 118, 143, 156, 211, 114, 110, 86, 98, 62, 56, 101, 66, 80, 52, 53,
+  48, 48, 55, 59, 57, 56, 58, 61, 59, 63, 71, 62, 108, 59, 57, 45,
+  42, 38, 38, 38, 38, 35, 33, 43, 52, 41, 66, 46, 45, 55, 52, 48,
+  28, 26, 43, 40, 37, 68, 98, 34, 36, 37, 39, 40, 41, 42, 42, 39,
+  39, 39, 38, 37, 34, 32, 31, 33, 35, 37, 37, 36, 37, 40, 43, 41,
+  43, 43, 41, 37, 35, 35, 37, 35, 39, 40, 38, 37, 39, 37, 33, 42,
+  28, 46, 46, 44, 52, 37, 32, 39, 36, 31, 31, 38, 46, 45, 39, 69,
+  104, 76, 81, 53, 60, 55, 56, 64, 255, 255, 255, 255, 255, 255, 255, 255,
+  242, 226, 223, 188, 194, 189, 184, 181, 181, 131, 164, 134, 147, 187, 150, 119,
+  128, 167, 131, 53, 126, 109, 105, 71, 88, 59, 59, 54, 49, 51, 59, 65,
+  63, 58, 54, 51, 43, 47, 65, 66, 102, 60, 59, 49, 46, 41, 38, 37,
+  36, 35, 34, 42, 48, 46, 65, 50, 49, 55, 50, 53, 25, 46, 36, 30,
+  40, 56, 139, 37, 38, 39, 40, 41, 42, 42, 42, 39, 38, 36, 34, 33,
+  32, 31, 31, 32, 34, 35, 36, 35, 35, 37, 39, 35, 38, 42, 43, 41,
+  39, 37, 37, 34, 38, 39, 37, 37, 38, 36, 32, 42, 28, 45, 52, 47,
+  44, 32, 31, 47, 40, 31, 29, 38, 49, 49, 43, 61, 84, 83, 81, 95,
+  87, 81, 61, 72, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 241,
+  211, 209, 201, 185, 167, 128, 149, 138, 178, 181, 147, 147, 140, 153, 179, 65,
+  87, 169, 104, 58, 52, 59, 56, 59, 54, 52, 56, 61, 60, 52, 45, 38,
+  36, 44, 58, 48, 66, 42, 55, 53, 49, 44, 40, 38, 39, 40, 41, 38,
+  43, 55, 69, 59, 54, 51, 41, 37, 37, 56, 23, 25, 53, 59, 122, 38,
+  38, 38, 38, 37, 36, 34, 33, 37, 35, 33, 32, 32, 33, 35, 36, 35,
+  35, 35, 34, 33, 31, 31, 30, 31, 34, 38, 40, 41, 40, 38, 37, 38,
+  40, 39, 36, 36, 39, 40, 37, 46, 30, 38, 48, 41, 32, 30, 34, 49,
+  42, 32, 30, 40, 51, 50, 44, 40, 95, 74, 113, 71, 113, 59, 51, 77,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 215, 203, 186,
+  158, 149, 138, 129, 187, 149, 133, 135, 143, 108, 146, 158, 125, 130, 110, 83,
+  78, 62, 35, 59, 52, 46, 47, 51, 53, 50, 40, 46, 45, 49, 56, 42,
+  47, 38, 54, 52, 50, 46, 42, 41, 43, 46, 49, 49, 48, 66, 67, 60,
+  54, 47, 36, 28, 39, 33, 20, 43, 59, 40, 33, 39, 39, 39, 38, 37,
+  36, 35, 34, 39, 37, 34, 33, 33, 34, 37, 38, 36, 36, 36, 36, 35,
+  34, 32, 30, 31, 31, 32, 34, 36, 37, 38, 38, 39, 40, 37, 32, 32,
+  38, 42, 42, 46, 33, 36, 50, 42, 30, 33, 33, 46, 41, 35, 34, 42,
+  51, 49, 41, 27, 63, 96, 104, 106, 96, 79, 78, 88, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 190, 175, 149, 158, 127, 123,
+  176, 204, 145, 146, 125, 137, 133, 110, 182, 117, 161, 69, 52, 28, 68, 55,
+  52, 46, 44, 50, 56, 57, 49, 53, 46, 40, 44, 42, 45, 40, 42, 47,
+  46, 45, 42, 41, 43, 48, 52, 67, 56, 71, 55, 52, 50, 46, 37, 35,
+  40, 21, 34, 49, 39, 35, 16, 38, 39, 40, 42, 43, 43, 43, 43, 43,
+  41, 38, 35, 34, 33, 34, 35, 35, 35, 36, 38, 41, 41, 39, 37, 33,
+  31, 29, 30, 33, 35, 37, 37, 36, 37, 34, 29, 31, 38, 43, 44, 40,
+  37, 38, 56, 51, 37, 41, 29, 41, 40, 37, 36, 41, 47, 45, 39, 49,
+  54, 45, 108, 97, 119, 62, 81, 84, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 183, 160, 139, 130, 108, 125, 207, 169, 154, 158,
+  166, 108, 139, 80, 93, 80, 68, 98, 67, 52, 34, 48, 50, 47, 44, 49,
+  57, 61, 55, 48, 44, 36, 36, 41, 42, 42, 33, 41, 41, 41, 39, 37,
+  38, 43, 47, 64, 47, 67, 43, 45, 47, 45, 38, 40, 37, 29, 40, 33,
+  25, 44, 44, 36, 37, 39, 41, 42, 43, 43, 43, 42, 41, 38, 36, 34,
+  34, 34, 34, 34, 33, 35, 38, 42, 43, 40, 38, 35, 32, 30, 31, 33,
+  35, 35, 34, 31, 34, 34, 33, 35, 42, 45, 44, 39, 41, 36, 52, 51,
+  43, 50, 29, 38, 39, 38, 35, 37, 42, 43, 40, 44, 29, 57, 93, 175,
+  216, 209, 209, 218, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 180, 164, 158, 135, 137, 172, 191, 164, 208, 130, 161, 122, 136, 118,
+  69, 135, 49, 52, 77, 61, 46, 39, 44, 44, 40, 43, 50, 54, 48, 44,
+  52, 49, 44, 44, 41, 48, 39, 36, 38, 38, 35, 33, 34, 38, 42, 47,
+  34, 60, 38, 47, 51, 47, 39, 41, 28, 33, 36, 27, 34, 39, 22, 34,
+  35, 36, 36, 37, 36, 36, 36, 37, 37, 36, 35, 35, 36, 36, 37, 34,
+  33, 33, 36, 39, 39, 35, 31, 36, 34, 32, 33, 36, 36, 34, 31, 29,
+  34, 38, 39, 42, 47, 48, 45, 42, 44, 30, 41, 42, 42, 56, 33, 36,
+  38, 38, 35, 34, 39, 43, 42, 35, 64, 91, 92, 145, 225, 234, 238, 232,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 143,
+  135, 138, 156, 194, 178, 155, 182, 148, 172, 148, 133, 113, 65, 137, 83, 51,
+  78, 51, 51, 61, 45, 38, 47, 49, 39, 42, 54, 44, 42, 40, 41, 43,
+  43, 40, 36, 43, 42, 40, 36, 33, 34, 40, 48, 56, 57, 49, 46, 51,
+  59, 55, 46, 51, 45, 43, 43, 42, 33, 28, 28, 34, 32, 31, 34, 35,
+  34, 36, 41, 34, 36, 38, 36, 32, 31, 32, 34, 43, 36, 31, 34, 41,
+  44, 41, 35, 28, 32, 32, 30, 33, 38, 35, 28, 35, 38, 35, 33, 42,
+  52, 46, 31, 55, 45, 36, 34, 39, 42, 38, 31, 37, 31, 34, 43, 44,
+  38, 39, 48, 21, 49, 104, 62, 160, 217, 214, 222, 240, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 170, 164, 139, 165, 212,
+  165, 154, 145, 169, 160, 155, 114, 187, 106, 111, 104, 120, 36, 80, 50, 66,
+  54, 46, 49, 55, 55, 51, 46, 44, 43, 42, 42, 42, 42, 40, 38, 40,
+  41, 40, 37, 32, 31, 33, 38, 50, 57, 56, 54, 58, 65, 67, 67, 67,
+  61, 50, 41, 35, 32, 32, 33, 30, 29, 30, 35, 37, 36, 39, 43, 41,
+  43, 44, 42, 39, 37, 38, 40, 38, 37, 37, 37, 39, 40, 41, 42, 28,
+  34, 36, 33, 31, 34, 34, 32, 35, 31, 31, 38, 46, 48, 44, 41, 50,
+  43, 36, 35, 39, 41, 38, 32, 32, 27, 32, 42, 45, 40, 42, 49, 40,
+  33, 84, 106, 194, 226, 223, 231, 221, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 145, 138, 169, 197, 217, 165, 158, 135, 179,
+  161, 167, 130, 101, 86, 75, 69, 102, 54, 139, 72, 55, 56, 52, 45, 45,
+  51, 48, 37, 41, 43, 44, 43, 41, 39, 39, 39, 37, 38, 39, 37, 34,
+  32, 32, 35, 48, 59, 63, 58, 54, 57, 63, 68, 74, 73, 63, 44, 36,
+  37, 39, 34, 32, 31, 32, 37, 39, 37, 38, 41, 34, 35, 36, 35, 32,
+  31, 31, 32, 33, 38, 42, 40, 36, 35, 40, 46, 30, 37, 40, 35, 31,
+  32, 34, 35, 38, 30, 31, 44, 48, 41, 39, 47, 42, 39, 37, 36, 38,
+  39, 40, 36, 30, 26, 31, 41, 45, 42, 44, 49, 49, 34, 80, 157, 204,
+  213, 218, 217, 214, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 143, 151, 224, 181, 200, 182, 163, 167, 164, 173, 174, 178, 125,
+  103, 86, 92, 67, 64, 75, 55, 48, 57, 57, 47, 35, 34, 39, 41, 38,
+  40, 44, 42, 39, 36, 38, 39, 35, 35, 37, 37, 38, 37, 38, 40, 48,
+  55, 59, 55, 50, 51, 57, 64, 71, 81, 76, 58, 46, 48, 44, 33, 39,
+  37, 38, 42, 42, 37, 36, 38, 42, 42, 41, 41, 39, 38, 38, 38, 34,
+  39, 42, 39, 34, 32, 37, 42, 37, 38, 38, 35, 33, 34, 35, 36, 40,
+  37, 38, 44, 43, 37, 36, 42, 35, 36, 37, 37, 37, 38, 40, 41, 31,
+  27, 31, 39, 43, 43, 44, 47, 36, 42, 93, 191, 192, 197, 221, 213, 207,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 121,
+  129, 213, 186, 186, 193, 171, 184, 154, 168, 166, 195, 150, 115, 89, 98, 64,
+  100, 65, 61, 65, 60, 55, 51, 43, 36, 40, 48, 35, 36, 41, 39, 38,
+  34, 38, 38, 37, 34, 35, 33, 36, 37, 40, 42, 41, 43, 45, 48, 52,
+  56, 61, 68, 68, 82, 82, 64, 51, 50, 47, 38, 40, 38, 40, 43, 43,
+  39, 38, 40, 42, 42, 41, 40, 40, 39, 38, 37, 38, 38, 37, 35, 33,
+  32, 32, 33, 44, 38, 32, 33, 37, 38, 36, 34, 36, 43, 44, 38, 35,
+  39, 39, 35, 30, 33, 36, 37, 37, 37, 39, 40, 33, 29, 32, 36, 40,
+  42, 42, 43, 28, 41, 90, 208, 207, 204, 230, 223, 210, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 122, 112, 145, 202, 187,
+  187, 176, 172, 164, 152, 151, 170, 166, 148, 111, 86, 67, 73, 77, 58, 84,
+  63, 49, 50, 52, 47, 42, 43, 33, 36, 38, 39, 39, 39, 40, 41, 39,
+  37, 33, 33, 34, 36, 37, 40, 49, 45, 44, 48, 53, 55, 60, 63, 69,
+  79, 79, 63, 49, 46, 47, 43, 37, 34, 36, 41, 43, 41, 42, 45, 37,
+  35, 33, 33, 34, 34, 32, 30, 40, 36, 32, 32, 33, 33, 31, 28, 47,
+  36, 28, 31, 38, 40, 38, 35, 31, 42, 43, 33, 32, 41, 42, 34, 30,
+  32, 35, 37, 37, 37, 37, 36, 33, 30, 32, 34, 39, 41, 42, 42, 41,
+  32, 64, 190, 224, 214, 217, 220, 217, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 221, 154, 126, 177, 186, 184, 178, 165, 178,
+  148, 143, 154, 178, 136, 117, 108, 106, 61, 89, 107, 80, 72, 60, 51, 48,
+  48, 44, 37, 36, 36, 38, 41, 44, 46, 46, 45, 40, 38, 36, 37, 40,
+  41, 39, 40, 54, 49, 47, 51, 52, 51, 54, 60, 69, 77, 81, 73, 56,
+  45, 43, 44, 35, 31, 32, 37, 39, 39, 41, 45, 44, 42, 40, 40, 41,
+  41, 39, 37, 37, 34, 31, 31, 33, 34, 33, 31, 45, 35, 28, 31, 36,
+  37, 38, 40, 37, 37, 36, 34, 34, 36, 36, 34, 31, 32, 34, 37, 38,
+  37, 34, 31, 33, 31, 29, 32, 38, 43, 44, 42, 47, 35, 41, 127, 200,
+  215, 203, 215, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 108, 128, 180, 176, 186, 178, 180, 181, 158, 145, 163, 178,
+  153, 142, 87, 96, 113, 93, 70, 67, 85, 86, 61, 42, 43, 48, 43, 39,
+  38, 38, 42, 48, 51, 50, 48, 37, 37, 39, 43, 48, 49, 46, 44, 45,
+  43, 44, 50, 51, 52, 57, 66, 67, 77, 88, 88, 70, 49, 40, 40, 36,
+  32, 31, 34, 35, 34, 36, 41, 38, 35, 33, 33, 35, 35, 33, 30, 32,
+  33, 33, 33, 33, 34, 36, 37, 42, 34, 30, 33, 34, 33, 37, 44, 46,
+  35, 32, 38, 38, 29, 27, 33, 32, 32, 34, 36, 38, 37, 33, 28, 31,
+  29, 28, 29, 36, 44, 46, 45, 34, 40, 30, 67, 164, 214, 211, 224, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  73, 101, 180, 176, 179, 172, 173, 176, 164, 150, 156, 182, 153, 125, 114, 114,
+  123, 111, 81, 75, 66, 86, 75, 63, 57, 35, 49, 40, 48, 49, 51, 56,
+  49, 43, 48, 48, 35, 36, 44, 44, 43, 39, 30, 47, 47, 46, 49, 54,
+  60, 62, 63, 65, 79, 92, 90, 69, 47, 41, 45, 34, 33, 34, 34, 33,
+  33, 35, 36, 37, 33, 30, 29, 32, 33, 32, 30, 34, 34, 34, 33, 33,
+  32, 32, 31, 37, 35, 32, 33, 36, 40, 43, 44, 43, 39, 35, 35, 39,
+  40, 36, 31, 33, 32, 31, 34, 37, 38, 35, 31, 30, 33, 35, 34, 35,
+  37, 38, 35, 55, 36, 37, 46, 121, 190, 233, 217, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 72, 92, 154, 158,
+  165, 171, 171, 157, 146, 147, 156, 168, 135, 141, 106, 140, 120, 138, 103, 84,
+  76, 82, 76, 65, 54, 38, 43, 47, 46, 42, 41, 53, 50, 49, 54, 59,
+  52, 58, 55, 43, 35, 42, 43, 42, 42, 41, 41, 46, 53, 62, 68, 76,
+  82, 89, 89, 75, 55, 45, 41, 35, 34, 35, 35, 34, 34, 35, 37, 37,
+  34, 31, 31, 32, 34, 33, 31, 33, 33, 33, 32, 32, 32, 32, 32, 32,
+  31, 31, 32, 34, 34, 33, 31, 42, 38, 35, 35, 37, 37, 34, 32, 33,
+  31, 29, 31, 34, 37, 38, 36, 27, 31, 33, 32, 35, 39, 42, 39, 44,
+  35, 30, 24, 55, 99, 121, 101, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 89, 109, 157, 160, 157, 168, 172, 152,
+  146, 156, 159, 165, 151, 146, 133, 133, 129, 130, 110, 90, 87, 76, 79, 72,
+  58, 55, 49, 59, 55, 49, 50, 62, 60, 57, 63, 65, 57, 59, 55, 39,
+  33, 41, 45, 46, 47, 45, 42, 45, 53, 69, 81, 86, 87, 89, 88, 79,
+  61, 47, 38, 36, 35, 36, 36, 35, 35, 36, 37, 36, 34, 32, 32, 33,
+  34, 33, 32, 32, 32, 32, 32, 32, 33, 33, 33, 30, 31, 33, 36, 38,
+  36, 32, 28, 39, 38, 36, 35, 34, 33, 33, 32, 33, 30, 28, 28, 32,
+  37, 40, 41, 29, 32, 33, 32, 33, 39, 41, 40, 40, 45, 38, 32, 30,
+  70, 83, 72, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 73, 99, 138, 177, 157, 164, 174, 161, 165, 174, 160, 173,
+  167, 157, 152, 124, 121, 111, 101, 92, 93, 71, 79, 81, 70, 79, 63, 63,
+  64, 63, 66, 72, 61, 55, 62, 64, 48, 46, 47, 44, 42, 44, 40, 50,
+  55, 54, 49, 48, 54, 71, 85, 91, 90, 89, 88, 79, 61, 47, 36, 38,
+  36, 37, 37, 35, 35, 36, 38, 33, 33, 32, 32, 32, 33, 32, 32, 32,
+  32, 33, 33, 34, 34, 35, 35, 29, 30, 33, 37, 40, 40, 36, 33, 38,
+  38, 37, 34, 31, 30, 31, 33, 32, 30, 29, 30, 32, 35, 38, 39, 35,
+  37, 35, 32, 32, 35, 38, 35, 29, 38, 30, 31, 24, 74, 91, 87, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  98, 120, 152, 183, 162, 166, 178, 166, 172, 181, 168, 170, 153, 174, 136, 141,
+  101, 121, 103, 101, 100, 73, 79, 83, 73, 83, 65, 59, 62, 66, 66, 66,
+  50, 49, 63, 59, 46, 49, 53, 52, 49, 51, 45, 50, 55, 57, 51, 47,
+  48, 59, 71, 87, 90, 91, 89, 77, 57, 44, 36, 38, 37, 38, 37, 35,
+  35, 36, 37, 30, 31, 32, 32, 31, 31, 31, 32, 33, 33, 34, 35, 35,
+  36, 36, 36, 30, 30, 31, 33, 35, 36, 35, 33, 39, 39, 37, 33, 30,
+  29, 30, 32, 30, 31, 32, 33, 34, 34, 34, 34, 34, 37, 36, 31, 30,
+  34, 37, 35, 35, 39, 22, 22, 17, 64, 74, 63, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 99, 115, 138, 183,
+  175, 182, 186, 170, 170, 182, 183, 167, 155, 166, 144, 138, 112, 121, 113, 114,
+  106, 84, 77, 74, 69, 68, 53, 61, 63, 64, 62, 58, 44, 51, 76, 47,
+  48, 61, 63, 49, 41, 49, 54, 53, 60, 63, 58, 51, 48, 53, 62, 82,
+  87, 93, 91, 77, 56, 43, 37, 38, 36, 37, 36, 35, 34, 34, 36, 29,
+  31, 33, 33, 32, 31, 32, 33, 34, 34, 34, 35, 35, 35, 35, 35, 40,
+  37, 35, 34, 35, 36, 35, 34, 42, 39, 35, 32, 31, 30, 31, 31, 29,
+  31, 34, 35, 34, 32, 32, 33, 30, 33, 32, 28, 27, 33, 38, 38, 40,
+  41, 30, 22, 22, 58, 66, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 102, 120, 138, 190, 190, 190, 191, 184,
+  179, 183, 191, 174, 168, 157, 160, 130, 129, 122, 123, 122, 105, 94, 75, 68,
+  70, 57, 49, 70, 68, 68, 66, 65, 49, 56, 79, 44, 44, 60, 62, 49,
+  41, 51, 56, 62, 67, 69, 65, 58, 53, 55, 60, 79, 84, 91, 92, 78,
+  59, 43, 37, 38, 36, 37, 36, 34, 32, 33, 34, 30, 33, 36, 36, 35,
+  33, 34, 36, 33, 33, 33, 33, 33, 32, 32, 32, 42, 40, 38, 38, 39,
+  39, 37, 36, 45, 40, 34, 31, 32, 33, 32, 30, 28, 30, 33, 32, 31,
+  31, 34, 37, 29, 32, 31, 26, 26, 32, 37, 38, 28, 30, 31, 11, 16,
+  41, 67, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 111, 132, 148, 194, 190, 177, 178, 192, 188, 179, 182, 184,
+  160, 172, 145, 152, 120, 140, 130, 121, 101, 101, 76, 72, 81, 61, 59, 74,
+  73, 71, 75, 73, 54, 50, 69, 50, 44, 50, 59, 57, 57, 60, 59, 67,
+  72, 71, 66, 58, 52, 53, 54, 75, 79, 86, 91, 82, 65, 49, 38, 37,
+  35, 36, 35, 33, 32, 32, 34, 31, 35, 38, 39, 38, 35, 37, 38, 32,
+  32, 32, 31, 30, 30, 29, 29, 33, 33, 33, 35, 37, 38, 36, 34, 47,
+  40, 33, 31, 33, 35, 33, 29, 28, 29, 30, 29, 29, 31, 37, 42, 32,
+  34, 32, 26, 26, 31, 35, 35, 36, 38, 42, 5, 8, 28, 70, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  99, 111, 132, 160, 188, 172, 193, 182, 193, 199, 170, 182, 173, 156, 151, 129,
+  146, 132, 145, 126, 127, 103, 103, 81, 90, 80, 80, 62, 75, 87, 58, 48,
+  65, 62, 60, 55, 52, 53, 56, 60, 64, 71, 81, 71, 70, 65, 59, 51,
+  47, 50, 57, 75, 59, 88, 83, 81, 76, 40, 48, 38, 34, 35, 35, 36,
+  37, 39, 39, 39, 39, 37, 35, 34, 31, 35, 35, 35, 34, 33, 33, 32,
+  31, 30, 30, 32, 32, 33, 34, 35, 35, 36, 37, 36, 36, 34, 33, 31,
+  30, 29, 28, 32, 31, 28, 27, 28, 31, 34, 36, 27, 29, 29, 30, 32,
+  33, 38, 40, 47, 36, 34, 16, 10, 39, 79, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 108, 124, 171,
+  191, 168, 190, 186, 201, 215, 198, 172, 166, 153, 146, 124, 137, 125, 143, 125,
+  124, 108, 110, 90, 96, 91, 96, 69, 57, 71, 69, 62, 56, 50, 68, 42,
+  53, 60, 63, 66, 72, 75, 75, 72, 71, 68, 61, 50, 41, 43, 52, 63,
+  53, 85, 83, 81, 76, 45, 52, 39, 34, 34, 35, 36, 37, 38, 38, 37,
+  37, 38, 36, 33, 32, 34, 33, 34, 34, 33, 32, 31, 31, 30, 30, 33,
+  33, 34, 35, 36, 37, 37, 38, 34, 34, 33, 32, 31, 30, 29, 29, 32,
+  30, 29, 28, 28, 31, 34, 36, 34, 32, 32, 33, 36, 38, 40, 40, 29,
+  33, 41, 6, 15, 92, 123, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 113, 126, 173, 165, 185, 167, 201, 205,
+  210, 214, 197, 174, 161, 149, 142, 133, 146, 132, 138, 115, 120, 120, 128, 108,
+  97, 87, 90, 67, 87, 100, 69, 66, 91, 79, 58, 52, 63, 69, 64, 60,
+  61, 60, 53, 71, 71, 70, 64, 50, 39, 40, 50, 52, 51, 83, 86, 82,
+  76, 50, 54, 39, 34, 35, 36, 37, 37, 37, 37, 36, 36, 36, 34, 31,
+  30, 31, 32, 33, 33, 33, 32, 31, 31, 30, 30, 32, 32, 33, 33, 34,
+  35, 35, 36, 32, 32, 31, 31, 30, 30, 30, 29, 31, 30, 29, 28, 29,
+  31, 34, 36, 39, 36, 33, 34, 39, 40, 39, 37, 27, 40, 28, 28, 22,
+  145, 151, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 166, 125, 158, 169, 189, 168, 207, 214, 211, 204, 190, 183,
+  157, 141, 136, 144, 157, 137, 128, 121, 127, 131, 134, 114, 93, 84, 89, 89,
+  83, 91, 85, 81, 83, 65, 63, 55, 57, 58, 55, 57, 59, 65, 72, 71,
+  72, 72, 68, 54, 39, 39, 49, 48, 50, 80, 86, 87, 80, 54, 51, 40,
+  35, 37, 38, 39, 39, 38, 38, 36, 37, 37, 35, 32, 31, 31, 32, 33,
+  32, 32, 31, 31, 30, 30, 30, 29, 29, 29, 30, 30, 31, 31, 31, 30,
+  30, 30, 30, 30, 30, 30, 30, 31, 30, 29, 29, 29, 31, 34, 35, 38,
+  34, 32, 34, 38, 40, 38, 33, 41, 33, 19, 37, 55, 122, 158, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  127, 130, 155, 189, 209, 176, 206, 216, 214, 208, 204, 177, 154, 144, 133, 142,
+  149, 134, 128, 136, 135, 135, 128, 114, 97, 99, 105, 105, 94, 98, 90, 89,
+  93, 74, 72, 74, 63, 57, 60, 62, 56, 61, 76, 73, 73, 75, 74, 61,
+  42, 40, 49, 50, 55, 77, 88, 91, 83, 59, 46, 41, 36, 39, 41, 41,
+  41, 40, 39, 37, 38, 38, 37, 34, 32, 32, 33, 32, 31, 31, 31, 31,
+  30, 30, 30, 29, 29, 29, 29, 29, 30, 30, 30, 29, 29, 29, 30, 30,
+  30, 31, 31, 30, 30, 29, 29, 30, 32, 33, 34, 37, 33, 31, 35, 40,
+  42, 38, 33, 40, 22, 24, 15, 79, 74, 165, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 123, 120, 160, 178,
+  212, 186, 214, 227, 218, 203, 193, 164, 152, 159, 136, 135, 131, 131, 140, 132,
+  137, 147, 139, 138, 121, 118, 109, 107, 116, 118, 83, 85, 119, 110, 86, 80,
+  68, 62, 68, 70, 63, 61, 67, 77, 75, 76, 80, 70, 51, 44, 50, 56,
+  67, 83, 94, 94, 81, 61, 43, 41, 36, 39, 41, 42, 42, 40, 39, 37,
+  38, 39, 38, 35, 33, 33, 33, 31, 31, 31, 30, 30, 30, 30, 30, 31,
+  31, 31, 31, 32, 32, 32, 32, 30, 30, 30, 30, 31, 31, 31, 31, 30,
+  30, 30, 30, 31, 32, 33, 34, 36, 36, 35, 38, 41, 42, 39, 35, 23,
+  42, 10, 28, 42, 103, 166, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 116, 134, 150, 150, 203, 188, 219, 231,
+  215, 183, 163, 156, 146, 157, 129, 132, 126, 132, 142, 140, 145, 157, 143, 150,
+  135, 127, 100, 123, 97, 94, 91, 94, 100, 99, 117, 76, 78, 74, 72, 83,
+  97, 94, 83, 80, 76, 77, 85, 80, 60, 49, 53, 62, 81, 94, 102, 92,
+  73, 61, 44, 39, 36, 39, 41, 41, 40, 38, 37, 35, 36, 38, 37, 34,
+  32, 31, 31, 30, 30, 30, 30, 30, 30, 30, 30, 32, 32, 32, 32, 32,
+  32, 32, 32, 32, 32, 32, 32, 31, 31, 31, 31, 29, 29, 30, 30, 31,
+  32, 33, 33, 37, 38, 39, 40, 38, 38, 35, 33, 24, 51, 7, 38, 6,
+  155, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 109, 134, 145, 202, 184, 206, 216, 203, 173, 153, 155,
+  131, 135, 113, 130, 128, 129, 129, 172, 166, 157, 124, 133, 129, 132, 106, 125,
+  119, 114, 84, 86, 121, 125, 122, 124, 130, 115, 87, 90, 111, 102, 73, 83,
+  76, 77, 89, 85, 65, 54, 56, 65, 89, 104, 107, 89, 66, 58, 46, 37,
+  34, 39, 40, 41, 38, 36, 35, 34, 35, 37, 36, 33, 31, 29, 29, 30,
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 33,
+  33, 33, 32, 32, 31, 31, 31, 29, 29, 30, 31, 31, 32, 33, 34, 37,
+  38, 39, 38, 34, 30, 29, 28, 39, 26, 28, 9, 18, 156, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 153, 128, 151, 198, 203, 217, 199, 172, 130, 145, 127, 117, 110, 115, 104,
+  136, 129, 137, 159, 160, 200, 140, 145, 127, 114, 116, 126, 107, 154, 96, 92,
+  105, 108, 131, 124, 131, 138, 129, 110, 90, 82, 81, 86, 89, 75, 76, 85,
+  66, 50, 63, 96, 104, 108, 99, 81, 63, 52, 45, 41, 34, 36, 40, 42,
+  37, 36, 36, 33, 32, 32, 34, 34, 34, 31, 29, 33, 32, 32, 31, 31,
+  30, 30, 29, 31, 32, 32, 33, 33, 32, 32, 31, 30, 30, 30, 30, 30,
+  30, 30, 30, 29, 29, 30, 31, 31, 32, 33, 34, 33, 48, 42, 45, 27,
+  17, 37, 23, 32, 17, 38, 17, 22, 164, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 118, 146,
+  170, 191, 183, 196, 158, 137, 127, 115, 95, 100, 97, 102, 125, 129, 160, 171,
+  169, 206, 117, 101, 145, 117, 128, 130, 156, 114, 115, 79, 116, 93, 129, 102,
+  112, 130, 128, 129, 113, 112, 110, 99, 97, 81, 73, 76, 65, 63, 85, 99,
+  107, 110, 100, 82, 61, 49, 42, 38, 35, 36, 39, 40, 36, 34, 34, 37,
+  36, 34, 35, 35, 32, 28, 25, 30, 30, 30, 30, 29, 29, 29, 29, 31,
+  32, 32, 33, 33, 32, 32, 31, 30, 30, 30, 30, 30, 30, 30, 30, 29,
+  29, 30, 31, 31, 32, 33, 34, 41, 38, 28, 43, 39, 26, 36, 24, 18,
+  43, 29, 44, 20, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 104, 121, 175, 172, 168, 135, 137,
+  119, 119, 103, 104, 82, 99, 91, 106, 114, 116, 183, 168, 162, 163, 124, 133,
+  121, 164, 149, 122, 168, 99, 112, 105, 107, 102, 117, 112, 111, 124, 112, 121,
+  102, 106, 98, 100, 99, 84, 73, 71, 66, 78, 104, 105, 110, 109, 98, 78,
+  59, 45, 39, 43, 40, 42, 46, 46, 41, 40, 40, 41, 39, 36, 36, 36,
+  33, 29, 26, 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 33, 33, 33,
+  33, 32, 32, 31, 31, 31, 31, 31, 31, 31, 31, 29, 29, 30, 31, 31,
+  32, 33, 34, 40, 44, 31, 32, 26, 21, 35, 33, 41, 30, 24, 71, 118,
+  175, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 142, 149, 192, 191, 157, 129, 88, 110, 117, 120, 104,
+  90, 107, 107, 104, 103, 94, 191, 186, 165, 126, 132, 130, 113, 142, 118, 105,
+  143, 109, 127, 129, 116, 122, 112, 105, 97, 103, 88, 106, 98, 115, 112, 91,
+  89, 83, 77, 76, 75, 88, 107, 115, 114, 106, 90, 71, 55, 45, 41, 49,
+  48, 50, 51, 50, 44, 43, 45, 40, 37, 36, 38, 37, 37, 34, 31, 33,
+  33, 34, 35, 35, 36, 36, 36, 32, 32, 33, 34, 34, 33, 32, 32, 32,
+  32, 32, 32, 31, 31, 31, 31, 29, 29, 30, 31, 31, 32, 33, 34, 33,
+  48, 39, 24, 23, 28, 32, 29, 40, 32, 94, 170, 222, 179, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 150, 160, 125, 139, 122, 103, 60, 84, 102, 116, 111, 103, 105, 109, 83,
+  88, 87, 198, 206, 169, 147, 132, 112, 192, 116, 117, 103, 120, 117, 162, 111,
+  139, 120, 114, 112, 101, 98, 88, 106, 107, 122, 120, 94, 86, 82, 80, 78,
+  82, 97, 105, 123, 119, 104, 85, 64, 52, 45, 45, 51, 51, 51, 54, 51,
+  45, 43, 45, 42, 41, 41, 41, 41, 41, 38, 34, 34, 34, 35, 35, 36,
+  37, 37, 37, 32, 33, 34, 34, 34, 34, 33, 32, 34, 34, 33, 33, 32,
+  32, 31, 31, 29, 29, 30, 31, 31, 32, 33, 34, 34, 36, 31, 30, 41,
+  39, 33, 49, 63, 98, 157, 231, 233, 223, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 120, 137, 133,
+  141, 144, 107, 105, 96, 123, 130, 115, 106, 87, 87, 66, 77, 114, 210, 205,
+  159, 164, 137, 184, 187, 137, 121, 113, 99, 131, 152, 99, 124, 109, 100, 131,
+  124, 110, 107, 103, 105, 101, 97, 106, 92, 86, 82, 75, 87, 106, 111, 129,
+  120, 102, 80, 62, 51, 47, 50, 57, 58, 61, 61, 57, 49, 48, 51, 49,
+  47, 46, 46, 44, 41, 37, 34, 34, 33, 33, 33, 34, 34, 34, 34, 33,
+  33, 34, 34, 34, 34, 33, 33, 35, 35, 34, 34, 33, 32, 32, 31, 29,
+  29, 30, 31, 31, 32, 33, 34, 42, 31, 31, 34, 34, 16, 41, 124, 142,
+  193, 216, 211, 217, 236, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 174, 167, 166, 158, 137, 163,
+  145, 141, 137, 118, 98, 77, 62, 77, 81, 164, 219, 209, 179, 149, 129, 208,
+  105, 126, 100, 118, 107, 133, 140, 108, 113, 98, 93, 123, 121, 102, 111, 94,
+  109, 96, 100, 104, 92, 92, 86, 74, 88, 114, 120, 129, 120, 102, 81, 64,
+  53, 48, 50, 64, 65, 68, 68, 63, 56, 54, 58, 54, 50, 49, 48, 48,
+  44, 40, 36, 35, 34, 34, 33, 33, 33, 33, 33, 33, 34, 34, 35, 35,
+  34, 34, 33, 36, 36, 35, 34, 33, 32, 32, 31, 29, 29, 30, 31, 31,
+  32, 33, 34, 42, 39, 41, 32, 30, 19, 47, 139, 145, 206, 224, 214, 231,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 169, 177, 185, 166, 199, 230, 229, 172, 161, 121,
+  93, 80, 55, 102, 95, 207, 224, 213, 212, 143, 115, 139, 132, 120, 143, 110,
+  142, 109, 170, 106, 145, 86, 105, 130, 129, 97, 110, 80, 105, 88, 99, 90,
+  85, 96, 96, 79, 93, 121, 126, 127, 118, 102, 83, 67, 56, 51, 51, 66,
+  69, 70, 71, 64, 55, 56, 60, 54, 52, 51, 52, 52, 51, 48, 44, 40,
+  37, 37, 36, 36, 35, 35, 34, 34, 35, 35, 35, 35, 34, 34, 33, 37,
+  36, 35, 35, 34, 33, 32, 32, 29, 29, 30, 31, 31, 32, 33, 34, 35,
+  42, 43, 32, 60, 71, 45, 67, 71, 109, 82, 213, 243, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 165, 158, 165, 157, 167, 181, 184, 194, 189, 160, 100, 66, 94, 97,
+  153, 249, 218, 197, 166, 129, 139, 119, 114, 106, 128, 90, 94, 111, 112, 148,
+  186, 120, 149, 127, 110, 107, 109, 92, 80, 90, 102, 97, 89, 99, 102, 89,
+  98, 123, 128, 119, 117, 106, 83, 64, 61, 63, 65, 71, 75, 77, 77, 73,
+  70, 68, 67, 61, 58, 57, 62, 63, 59, 54, 52, 56, 52, 48, 45, 41,
+  41, 42, 43, 38, 39, 38, 33, 29, 29, 32, 36, 32, 29, 30, 34, 34,
+  31, 30, 33, 26, 29, 32, 32, 32, 32, 35, 39, 53, 54, 57, 64, 71,
+  74, 67, 59, 67, 55, 84, 88, 230, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 128, 163,
+  177, 125, 122, 190, 212, 196, 192, 157, 86, 82, 109, 105, 176, 237, 237, 206,
+  175, 134, 135, 117, 117, 112, 127, 92, 86, 128, 120, 157, 159, 100, 109, 117,
+  104, 108, 117, 103, 88, 88, 94, 102, 90, 96, 96, 86, 99, 129, 141, 121,
+  113, 94, 73, 65, 68, 70, 69, 77, 81, 83, 83, 79, 76, 75, 73, 72,
+  66, 64, 67, 68, 65, 62, 62, 58, 53, 51, 47, 45, 44, 46, 47, 44,
+  43, 43, 39, 36, 33, 35, 37, 37, 34, 34, 37, 36, 32, 31, 33, 41,
+  38, 34, 33, 36, 40, 43, 45, 59, 61, 62, 62, 69, 78, 77, 69, 61,
+  73, 84, 76, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 165, 141, 123, 142, 179, 187,
+  215, 240, 194, 171, 121, 148, 146, 124, 216, 225, 236, 196, 171, 135, 127, 115,
+  117, 111, 113, 126, 96, 113, 109, 116, 131, 94, 111, 111, 101, 107, 117, 106,
+  95, 91, 91, 100, 93, 97, 95, 87, 96, 125, 141, 125, 110, 86, 69, 67,
+  71, 73, 70, 79, 82, 84, 85, 81, 77, 76, 74, 77, 70, 66, 69, 69,
+  68, 68, 67, 58, 54, 54, 50, 49, 48, 49, 48, 48, 47, 47, 45, 42,
+  39, 40, 39, 41, 38, 38, 40, 39, 34, 33, 35, 37, 33, 30, 34, 43,
+  52, 57, 58, 55, 65, 71, 66, 72, 85, 88, 81, 69, 88, 80, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 129, 124, 137, 153, 185, 198, 199, 219, 228, 162,
+  175, 215, 187, 146, 245, 224, 212, 175, 161, 138, 124, 118, 119, 108, 95, 127,
+  97, 91, 129, 94, 138, 90, 108, 117, 101, 103, 109, 101, 94, 95, 94, 95,
+  96, 102, 103, 94, 94, 107, 119, 121, 104, 84, 70, 69, 72, 70, 70, 76,
+  81, 84, 84, 80, 78, 75, 73, 75, 70, 68, 69, 71, 68, 67, 67, 60,
+  58, 57, 55, 54, 52, 52, 51, 52, 51, 51, 48, 46, 44, 42, 41, 42,
+  38, 39, 42, 41, 37, 36, 38, 28, 28, 30, 37, 46, 56, 64, 68, 58,
+  75, 84, 76, 77, 83, 82, 70, 56, 56, 122, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 152, 153, 148, 127, 130, 150, 172, 197, 193, 126, 190, 229, 218, 172,
+  241, 224, 197, 166, 157, 143, 125, 126, 125, 117, 98, 132, 96, 82, 125, 91,
+  137, 98, 107, 121, 106, 105, 108, 100, 95, 99, 97, 92, 98, 102, 103, 98,
+  91, 93, 103, 102, 92, 80, 71, 69, 67, 68, 70, 77, 82, 84, 85, 81,
+  78, 76, 74, 73, 69, 69, 72, 74, 70, 67, 66, 62, 61, 61, 59, 58,
+  56, 55, 53, 53, 52, 51, 50, 49, 47, 45, 42, 39, 36, 37, 41, 42,
+  39, 39, 41, 36, 38, 39, 39, 42, 53, 69, 81, 74, 85, 88, 74, 66,
+  64, 60, 48, 57, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 159, 170,
+  162, 161, 162, 162, 208, 227, 151, 126, 195, 228, 242, 210, 229, 218, 200, 165,
+  154, 141, 118, 122, 120, 122, 109, 139, 97, 96, 101, 100, 115, 109, 103, 115,
+  107, 114, 119, 110, 103, 103, 96, 95, 97, 93, 91, 96, 92, 91, 104, 85,
+  79, 74, 72, 68, 63, 66, 73, 79, 84, 87, 87, 83, 81, 79, 78, 75,
+  72, 73, 78, 79, 73, 69, 69, 65, 64, 65, 64, 63, 59, 57, 55, 55,
+  51, 50, 49, 49, 48, 47, 43, 38, 35, 37, 41, 43, 40, 40, 43, 42,
+  43, 43, 41, 43, 57, 81, 98, 74, 75, 69, 55, 49, 48, 50, 50, 122,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 214, 115, 165, 143, 146, 207,
+  214, 172, 136, 155, 208, 239, 244, 230, 229, 212, 197, 157, 144, 138, 114, 119,
+  109, 116, 107, 105, 89, 109, 107, 116, 110, 101, 84, 107, 105, 116, 121, 112,
+  105, 105, 98, 97, 98, 86, 85, 97, 95, 90, 102, 86, 80, 74, 75, 71,
+  66, 67, 73, 79, 84, 84, 85, 83, 80, 78, 78, 78, 74, 74, 78, 80,
+  75, 73, 72, 69, 69, 71, 69, 67, 63, 59, 55, 57, 53, 48, 47, 49,
+  51, 49, 46, 40, 37, 38, 42, 42, 40, 39, 42, 38, 42, 45, 47, 49,
+  58, 71, 82, 65, 55, 49, 46, 45, 43, 50, 123, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 175, 150, 125, 157, 203, 210, 189, 154, 165,
+  212, 244, 220, 224, 236, 210, 185, 149, 139, 142, 120, 125, 106, 111, 102, 99,
+  100, 91, 95, 85, 109, 103, 111, 102, 103, 113, 117, 105, 102, 106, 102, 98,
+  98, 87, 85, 102, 95, 85, 95, 99, 87, 79, 77, 75, 69, 68, 72, 76,
+  81, 82, 82, 80, 78, 76, 75, 80, 75, 73, 74, 76, 74, 74, 76, 73,
+  72, 73, 72, 70, 65, 60, 56, 58, 53, 49, 47, 49, 52, 51, 48, 43,
+  40, 40, 43, 43, 40, 39, 41, 41, 46, 53, 57, 55, 49, 42, 38, 64,
+  53, 48, 52, 50, 42, 112, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 147, 138, 152, 189, 213, 185, 141, 170, 250, 224, 221, 247,
+  217, 195, 179, 149, 130, 122, 126, 125, 113, 107, 111, 96, 98, 103, 106, 102,
+  100, 99, 102, 104, 105, 107, 113, 116, 114, 104, 92, 93, 93, 92, 90, 92,
+  95, 93, 84, 88, 89, 88, 81, 73, 68, 69, 74, 78, 82, 85, 85, 83,
+  80, 77, 76, 81, 79, 77, 75, 76, 80, 84, 85, 74, 74, 75, 72, 69,
+  63, 61, 60, 61, 63, 62, 55, 51, 51, 47, 41, 47, 42, 45, 45, 43,
+  51, 51, 37, 58, 48, 42, 43, 43, 39, 39, 42, 47, 46, 45, 46, 44,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 187, 207, 217, 192, 174, 158, 196, 252, 236, 234, 240, 221, 205, 165, 139,
+  147, 144, 124, 111, 109, 108, 103, 97, 99, 105, 107, 108, 107, 109, 108, 112,
+  107, 103, 103, 109, 112, 111, 106, 97, 95, 93, 90, 92, 94, 91, 85, 86,
+  89, 89, 86, 78, 72, 72, 73, 77, 79, 81, 80, 78, 77, 76, 78, 83,
+  82, 80, 78, 79, 78, 82, 82, 78, 77, 76, 72, 68, 64, 65, 65, 60,
+  60, 56, 51, 51, 52, 50, 43, 46, 39, 40, 43, 46, 58, 60, 47, 50,
+  43, 39, 41, 43, 41, 40, 41, 41, 40, 40, 113, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 246,
+  207, 193, 181, 220, 242, 229, 228, 221, 215, 214, 167, 131, 142, 139, 120, 109,
+  108, 108, 99, 98, 99, 101, 104, 107, 107, 107, 104, 112, 106, 100, 101, 105,
+  111, 116, 114, 101, 99, 96, 92, 92, 95, 91, 86, 85, 88, 89, 88, 81,
+  74, 72, 72, 77, 78, 78, 77, 76, 77, 79, 82, 86, 85, 83, 81, 80,
+  78, 79, 78, 79, 78, 76, 71, 67, 65, 68, 68, 61, 60, 54, 49, 50,
+  51, 49, 41, 46, 36, 38, 42, 46, 58, 62, 51, 40, 36, 35, 38, 41,
+  40, 40, 42, 37, 37, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 171, 216, 178, 186, 185, 233,
+  230, 215, 226, 231, 219, 208, 175, 137, 125, 118, 123, 123, 113, 105, 105, 103,
+  101, 100, 102, 105, 104, 102, 98, 105, 103, 103, 107, 110, 112, 113, 111, 103,
+  100, 97, 91, 89, 92, 90, 86, 84, 86, 88, 84, 80, 75, 73, 72, 77,
+  79, 80, 80, 80, 80, 83, 85, 85, 84, 83, 82, 81, 79, 78, 77, 77,
+  76, 76, 72, 69, 66, 66, 67, 61, 58, 54, 51, 51, 53, 48, 39, 46,
+  39, 43, 46, 43, 49, 53, 46, 36, 35, 36, 38, 40, 41, 41, 42, 38,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 181, 215, 191, 207, 197, 214, 189, 158, 188, 234,
+  215, 177, 163, 153, 146, 140, 138, 131, 116, 106, 103, 105, 102, 103, 104, 107,
+  107, 105, 101, 103, 103, 105, 107, 110, 109, 108, 105, 101, 102, 99, 91, 88,
+  90, 88, 86, 88, 87, 86, 81, 78, 76, 76, 76, 74, 77, 82, 84, 83,
+  83, 83, 83, 82, 82, 84, 83, 83, 82, 81, 79, 71, 73, 76, 74, 71,
+  66, 64, 60, 55, 56, 55, 54, 56, 56, 51, 42, 43, 40, 48, 50, 39,
+  37, 43, 41, 37, 39, 40, 39, 39, 40, 40, 40, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 150, 194, 208, 233, 217, 206, 161, 122, 160, 229, 227, 199, 205, 175,
+  197, 198, 162, 127, 114, 106, 95, 98, 97, 99, 101, 103, 104, 105, 103, 107,
+  105, 103, 101, 102, 104, 107, 107, 100, 102, 102, 95, 90, 91, 89, 87, 92,
+  90, 87, 84, 82, 80, 82, 80, 73, 76, 82, 84, 84, 82, 81, 81, 82,
+  81, 82, 82, 81, 82, 83, 81, 70, 72, 74, 74, 70, 65, 61, 57, 51,
+  54, 58, 57, 57, 59, 58, 52, 42, 39, 47, 50, 38, 33, 39, 40, 39,
+  43, 42, 38, 36, 37, 39, 110, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 220,
+  223, 229, 211, 155, 129, 134, 166, 194, 202, 200, 210, 191, 219, 220, 178, 133,
+  115, 105, 95, 93, 94, 96, 95, 96, 96, 98, 101, 105, 104, 101, 98, 99,
+  101, 105, 107, 99, 103, 104, 99, 94, 93, 92, 90, 90, 89, 88, 87, 86,
+  84, 83, 80, 78, 79, 83, 84, 83, 82, 83, 84, 86, 84, 82, 80, 80,
+  80, 83, 81, 74, 75, 75, 74, 69, 64, 61, 58, 55, 60, 63, 59, 55,
+  57, 61, 60, 55, 42, 43, 45, 37, 34, 39, 38, 38, 42, 41, 34, 31,
+  34, 110, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 178, 208, 231, 211, 171, 142,
+  162, 237, 255, 229, 217, 221, 216, 201, 206, 203, 184, 149, 120, 105, 103, 97,
+  99, 101, 99, 95, 94, 96, 99, 97, 99, 101, 101, 101, 100, 101, 102, 98,
+  104, 107, 102, 97, 96, 96, 93, 86, 86, 86, 86, 86, 83, 79, 75, 85,
+  84, 86, 85, 83, 84, 86, 89, 86, 84, 80, 77, 76, 77, 81, 81, 78,
+  76, 76, 73, 67, 63, 61, 60, 65, 70, 68, 58, 51, 52, 58, 59, 69,
+  49, 41, 42, 38, 37, 40, 36, 36, 41, 39, 31, 27, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 229, 215, 218, 187, 157, 142, 255, 255, 247, 223,
+  223, 224, 214, 231, 223, 214, 179, 130, 116, 113, 92, 100, 95, 89, 87, 87,
+  91, 93, 97, 88, 90, 93, 95, 97, 98, 98, 98, 101, 100, 99, 97, 94,
+  93, 95, 95, 83, 86, 87, 81, 80, 84, 82, 77, 84, 76, 74, 82, 88,
+  86, 81, 80, 84, 84, 81, 78, 80, 84, 81, 73, 79, 70, 70, 74, 66,
+  52, 57, 71, 56, 64, 57, 57, 62, 49, 53, 83, 48, 41, 37, 38, 38,
+  34, 30, 30, 42, 42, 41, 112, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 198, 207, 204, 158, 152, 255, 255, 216, 172, 199, 218, 245, 228, 203,
+  199, 194, 164, 124, 113, 114, 97, 98, 91, 89, 87, 89, 91, 93, 94, 100,
+  99, 98, 97, 99, 99, 101, 102, 99, 99, 99, 96, 95, 93, 92, 92, 83,
+  86, 85, 81, 79, 83, 80, 78, 82, 76, 75, 82, 86, 83, 80, 80, 82,
+  84, 82, 79, 79, 81, 79, 73, 73, 67, 67, 69, 64, 56, 59, 69, 63,
+  48, 61, 63, 49, 66, 78, 46, 47, 40, 36, 38, 38, 34, 32, 32, 39,
+  39, 39, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 220, 204,
+  179, 166, 238, 255, 223, 166, 145, 185, 235, 224, 168, 203, 198, 189, 160, 122,
+  110, 109, 98, 95, 92, 89, 88, 90, 92, 93, 93, 104, 102, 101, 97, 96,
+  95, 96, 97, 98, 99, 97, 97, 97, 95, 92, 90, 85, 86, 84, 81, 80,
+  82, 79, 78, 79, 79, 80, 84, 85, 81, 81, 83, 80, 85, 87, 84, 80,
+  80, 79, 75, 70, 68, 67, 65, 64, 62, 65, 67, 57, 60, 53, 52, 71,
+  77, 57, 35, 44, 38, 36, 38, 38, 35, 34, 36, 37, 110, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 190, 170, 174, 250, 234,
+  193, 124, 111, 106, 230, 237, 199, 211, 204, 189, 157, 125, 111, 105, 99, 93,
+  90, 89, 89, 92, 92, 92, 93, 101, 99, 99, 97, 95, 93, 91, 91, 98,
+  98, 96, 97, 97, 96, 92, 89, 87, 86, 85, 81, 81, 80, 80, 79, 81,
+  84, 86, 86, 84, 82, 84, 85, 83, 87, 88, 83, 77, 79, 80, 78, 71,
+  71, 70, 65, 64, 69, 68, 65, 61, 63, 50, 57, 80, 60, 32, 43, 41,
+  37, 36, 38, 39, 36, 36, 39, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 240, 184, 166, 206, 255, 181, 160, 144, 148, 123,
+  222, 246, 221, 200, 194, 170, 143, 123, 111, 103, 103, 92, 91, 90, 91, 93,
+  93, 93, 91, 98, 100, 104, 106, 104, 100, 97, 93, 99, 96, 95, 97, 98,
+  97, 92, 89, 89, 86, 84, 82, 81, 79, 79, 81, 84, 89, 91, 88, 85,
+  84, 87, 87, 86, 89, 87, 81, 75, 77, 81, 81, 71, 73, 74, 69, 68,
+  70, 70, 65, 73, 50, 66, 77, 47, 36, 45, 37, 39, 36, 36, 39, 39,
+  37, 38, 113, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 212, 182, 174, 195, 167, 182, 121, 119, 103, 102, 141, 236, 247, 196,
+  184, 152, 127, 118, 109, 97, 99, 94, 92, 90, 90, 92, 91, 92, 90, 95,
+  98, 106, 109, 108, 104, 100, 96, 101, 96, 94, 94, 97, 97, 92, 89, 91,
+  87, 84, 84, 81, 78, 78, 84, 87, 93, 95, 89, 86, 87, 89, 89, 86,
+  87, 85, 77, 75, 77, 80, 77, 71, 71, 75, 76, 73, 69, 68, 66, 63,
+  72, 75, 57, 34, 35, 43, 39, 38, 36, 37, 40, 39, 37, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 198, 180,
+  128, 150, 140, 141, 78, 74, 62, 74, 78, 202, 224, 197, 182, 142, 116, 116,
+  108, 92, 94, 96, 94, 91, 89, 90, 90, 90, 89, 93, 96, 103, 106, 106,
+  103, 100, 96, 101, 95, 92, 93, 96, 96, 93, 90, 92, 87, 83, 84, 81,
+  77, 78, 85, 90, 95, 94, 88, 85, 88, 89, 87, 84, 84, 81, 77, 77,
+  79, 77, 70, 66, 65, 74, 80, 78, 68, 66, 71, 65, 85, 60, 33, 45,
+  43, 31, 45, 37, 36, 38, 40, 111, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 173, 210, 115, 113, 126, 83,
+  63, 59, 71, 66, 80, 190, 201, 189, 173, 130, 107, 116, 109, 94, 99, 97,
+  95, 91, 88, 89, 89, 90, 88, 97, 99, 103, 105, 105, 103, 101, 99, 102,
+  96, 91, 91, 93, 95, 94, 90, 93, 87, 83, 85, 83, 77, 78, 86, 91,
+  96, 93, 86, 86, 89, 90, 83, 80, 80, 79, 78, 80, 79, 74, 62, 59,
+  58, 70, 83, 79, 65, 63, 74, 91, 52, 40, 46, 40, 42, 47, 37, 38,
+  37, 39, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 202, 219, 133, 105, 101, 73, 50, 81, 70, 129,
+  77, 176, 226, 175, 159, 138, 125, 116, 105, 95, 90, 99, 96, 92, 91, 91,
+  87, 83, 78, 90, 95, 100, 107, 109, 107, 105, 101, 98, 91, 91, 95, 96,
+  92, 93, 98, 94, 92, 90, 86, 84, 84, 84, 85, 92, 94, 92, 91, 91,
+  88, 88, 85, 88, 82, 80, 81, 77, 67, 63, 63, 72, 54, 57, 71, 74,
+  77, 86, 88, 56, 52, 48, 44, 43, 42, 39, 38, 38, 36, 110, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 207, 219, 173, 153, 126, 81, 87, 112, 150, 177, 111, 200, 203, 177,
+  154, 126, 111, 107, 104, 101, 98, 93, 92, 91, 94, 95, 95, 91, 88, 87,
+  92, 97, 102, 104, 105, 102, 99, 96, 90, 90, 94, 94, 91, 90, 94, 96,
+  94, 91, 88, 85, 84, 83, 84, 93, 95, 93, 92, 90, 89, 88, 86, 87,
+  81, 78, 78, 72, 63, 57, 56, 59, 48, 50, 58, 68, 83, 88, 77, 53,
+  49, 44, 41, 39, 40, 38, 38, 112, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 196,
+  206, 225, 211, 194, 180, 182, 206, 192, 160, 212, 225, 195, 165, 128, 110, 106,
+  105, 99, 93, 87, 87, 88, 91, 92, 93, 89, 87, 86, 88, 91, 96, 98,
+  99, 99, 97, 91, 88, 88, 91, 91, 88, 87, 89, 93, 92, 91, 89, 89,
+  88, 88, 90, 94, 96, 94, 93, 91, 90, 87, 86, 82, 76, 74, 72, 67,
+  58, 54, 52, 57, 50, 49, 50, 60, 78, 77, 53, 51, 48, 43, 40, 38,
+  39, 39, 40, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 181, 171, 204,
+  188, 219, 224, 207, 218, 180, 224, 200, 169, 132, 115, 111, 107, 94, 82, 88,
+  88, 88, 88, 88, 85, 82, 80, 84, 86, 87, 89, 91, 93, 94, 95, 89,
+  89, 89, 90, 90, 88, 86, 86, 87, 87, 88, 90, 92, 93, 95, 97, 96,
+  96, 96, 95, 92, 91, 88, 85, 73, 70, 69, 66, 63, 58, 55, 54, 56,
+  49, 50, 51, 55, 65, 63, 43, 45, 44, 45, 43, 42, 41, 111, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 244, 224,
+  237, 160, 206, 189, 159, 124, 108, 107, 104, 92, 82, 92, 92, 92, 89, 87,
+  84, 83, 82, 82, 82, 84, 86, 87, 90, 92, 94, 90, 91, 91, 90, 89,
+  89, 88, 87, 85, 86, 89, 92, 94, 96, 97, 98, 97, 97, 96, 94, 92,
+  90, 87, 85, 73, 71, 67, 62, 60, 58, 54, 53, 48, 38, 46, 59, 56,
+  54, 57, 54, 38, 41, 45, 46, 44, 111, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 222, 196, 210, 190,
+  162, 128, 108, 102, 97, 91, 87, 85, 87, 86, 84, 81, 80, 81, 84, 82,
+  81, 82, 85, 86, 89, 92, 94, 91, 92, 91, 88, 88, 91, 91, 89, 89,
+  90, 92, 93, 93, 93, 93, 92, 96, 96, 94, 93, 92, 89, 86, 83, 76,
+  74, 70, 61, 55, 54, 51, 45, 49, 42, 53, 64, 53, 42, 48, 55, 32,
+  38, 43, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 250, 228, 232, 198, 186, 166, 137, 116, 103,
+  92, 84, 84, 80, 81, 79, 76, 73, 75, 80, 84, 80, 82, 82, 84, 86,
+  88, 90, 94, 89, 91, 89, 84, 85, 91, 93, 91, 90, 91, 92, 93, 93,
+  92, 90, 89, 95, 95, 93, 91, 89, 86, 84, 81, 76, 74, 69, 59, 52,
+  51, 48, 43, 50, 50, 61, 62, 47, 40, 45, 44, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 232, 232, 184, 159, 148, 134, 121, 108, 97, 89, 87, 85,
+  84, 82, 77, 73, 76, 82, 87, 81, 83, 84, 86, 87, 89, 93, 92, 88,
+  89, 88, 81, 82, 90, 93, 92, 87, 88, 90, 91, 93, 92, 92, 91, 95,
+  95, 93, 91, 89, 86, 84, 79, 72, 72, 66, 55, 52, 52, 50, 45, 40,
+  49, 60, 53, 42, 46, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  248, 241, 166, 170, 150, 128, 120, 113, 103, 98, 96, 89, 86, 85, 81, 78,
+  75, 75, 76, 81, 82, 84, 87, 89, 90, 92, 92, 87, 84, 83, 81, 80,
+  81, 83, 84, 88, 90, 95, 95, 90, 84, 88, 98, 95, 94, 90, 88, 87,
+  89, 88, 84, 72, 66, 61, 60, 59, 56, 52, 46, 38, 47, 67, 44, 118,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 232, 250, 247, 193,
+  164, 133, 122, 119, 114, 110, 104, 87, 83, 82, 82, 78, 75, 74, 73, 80,
+  81, 83, 87, 88, 91, 92, 91, 85, 81, 81, 80, 79, 80, 82, 85, 84,
+  85, 90, 92, 87, 82, 85, 93, 95, 92, 90, 90, 88, 80, 80, 84, 62,
+  57, 54, 51, 51, 49, 47, 43, 48, 118, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 227, 225, 255, 194, 163, 132, 121, 118,
+  112, 106, 100, 90, 85, 84, 83, 81, 78, 76, 74, 79, 80, 82, 83, 85,
+  88, 90, 88, 81, 79, 78, 77, 77, 79, 81, 85, 87, 86, 88, 91, 89,
+  85, 87, 94, 93, 90, 91, 92, 86, 74, 74, 81, 57, 55, 54, 51, 49,
+  46, 48, 117, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 230, 244, 160, 144, 131, 128, 126, 115, 106, 101, 98,
+  92, 88, 85, 83, 82, 81, 80, 79, 79, 80, 81, 84, 85, 86, 86, 79,
+  77, 76, 75, 76, 78, 82, 83, 86, 85, 85, 88, 90, 86, 87, 90, 89,
+  90, 90, 87, 85, 83, 79, 73, 53, 55, 54, 51, 47, 47, 120, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 237, 248, 119, 118, 126, 137, 136, 123, 114, 111, 107, 98, 90, 85, 85,
+  86, 87, 87, 80, 80, 81, 79, 82, 83, 83, 81, 78, 74, 75, 74, 75,
+  77, 80, 82, 78, 76, 77, 80, 83, 78, 81, 84, 83, 91, 89, 81, 85,
+  95, 85, 63, 49, 49, 48, 44, 42, 113, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 244, 112,
+  105, 108, 121, 126, 119, 111, 108, 111, 103, 94, 88, 88, 87, 88, 86, 83,
+  83, 80, 80, 80, 79, 79, 78, 76, 75, 73, 72, 72, 76, 78, 80, 75,
+  75, 77, 80, 80, 77, 78, 83, 83, 87, 84, 78, 87, 99, 86, 59, 51,
+  49, 45, 41, 112, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 232, 235, 173, 135, 102, 98, 111,
+  114, 108, 100, 114, 108, 99, 95, 95, 93, 88, 84, 86, 85, 82, 80, 79,
+  77, 77, 75, 76, 75, 72, 71, 71, 73, 75, 76, 73, 77, 80, 82, 80,
+  76, 80, 87, 86, 80, 79, 85, 92, 88, 75, 62, 59, 53, 46, 113, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 246, 202, 255, 187, 116, 94, 112, 123, 115, 103, 116,
+  113, 107, 103, 103, 99, 91, 83, 88, 85, 84, 81, 78, 76, 75, 72, 77,
+  73, 73, 71, 70, 71, 74, 75, 69, 72, 79, 81, 76, 71, 77, 86, 88,
+  74, 73, 91, 95, 76, 63, 65, 63, 53, 115, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 215, 228, 235, 217, 252, 233, 176, 103, 99, 112, 90, 106, 104,
+  112, 101, 98, 88, 86, 85, 83, 80, 79, 76, 75, 81, 75, 69, 64, 63,
+  65, 72, 75, 78, 77, 75, 74, 79, 83, 82, 80, 80, 83, 90, 96, 89,
+  73, 67, 68, 60, 113, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 239, 243, 231, 201, 112, 104, 103, 111, 100, 98, 95, 105, 91,
+  90, 86, 84, 82, 79, 78, 75, 75, 72, 70, 69, 69, 70, 74, 75, 77,
+  75, 72, 70, 74, 77, 78, 76, 75, 88, 94, 84, 72, 69, 69, 63, 62,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  247, 238, 239, 164, 101, 108, 107, 99, 92, 92, 105, 94, 92, 88, 85, 83,
+  81, 79, 77, 71, 70, 73, 74, 74, 73, 72, 71, 79, 77, 77, 75, 75,
+  76, 78, 78, 78, 99, 99, 72, 58, 66, 68, 58, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 214, 222, 231,
+  105, 99, 96, 101, 102, 97, 97, 98, 95, 92, 87, 85, 81, 80, 77, 74,
+  74, 74, 74, 72, 69, 68, 66, 76, 75, 78, 79, 76, 74, 76, 80, 93,
+  102, 97, 70, 59, 65, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 230, 255, 105, 89, 93, 104,
+  108, 98, 88, 98, 95, 93, 90, 87, 82, 83, 79, 79, 76, 75, 74, 73,
+  72, 73, 73, 68, 69, 74, 78, 74, 69, 72, 79, 109, 96, 83, 72, 68,
+  62, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 231, 233, 111, 90, 101, 101, 104, 98, 87, 97,
+  96, 92, 90, 88, 85, 83, 80, 78, 75, 75, 75, 76, 78, 82, 84, 68,
+  68, 74, 79, 75, 70, 78, 90, 114, 86, 69, 72, 134, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 221, 226, 133, 91, 109, 99, 106, 106, 92, 95, 94, 93, 89, 88,
+  86, 85, 83, 74, 72, 75, 77, 79, 81, 84, 85, 75, 73, 77, 80, 77,
+  75, 91, 107, 109, 80, 64, 71, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 239,
+  159, 90, 108, 98, 116, 118, 99, 96, 95, 93, 92, 89, 86, 85, 81, 71,
+  70, 72, 76, 77, 78, 78, 77, 77, 73, 73, 75, 70, 71, 91, 115, 103,
+  81, 68, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 221, 241, 89, 119, 127,
+  96, 118, 105, 95, 110, 97, 100, 91, 79, 90, 77, 76, 72, 80, 76, 62,
+  77, 92, 77, 77, 86, 82, 63, 68, 89, 98, 86, 87, 77, 136, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 221, 255, 133, 113, 102, 115, 109, 120, 109,
+  112, 97, 104, 98, 80, 85, 74, 79, 60, 72, 89, 83, 79, 83, 78, 83,
+  64, 75, 103, 73, 79, 83, 80, 61, 134, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 229, 205, 255, 139, 100, 138, 117, 111, 118, 110, 93, 101, 99,
+  86, 89, 83, 82, 60, 64, 77, 77, 75, 78, 77, 77, 69, 78, 81, 79,
+  86, 91, 73, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  224, 234, 245, 150, 116, 128, 112, 115, 108, 96, 91, 87, 83, 85, 80, 79,
+  81, 82, 73, 72, 84, 86, 75, 89, 87, 81, 43, 88, 76, 73, 120, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 212, 223, 255,
+  101, 106, 131, 110, 116, 116, 100, 90, 93, 89, 80, 72, 86, 91, 80, 77,
+  81, 79, 74, 75, 63, 78, 91, 95, 70, 63, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 210, 233, 215, 104, 117, 91,
+  98, 110, 97, 89, 94, 85, 83, 88, 86, 80, 79, 82, 72, 80, 106, 81,
+  99, 133, 167, 74, 82, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 237, 229, 220, 209, 117, 124, 102, 105, 94, 88,
+  88, 82, 100, 86, 85, 77, 78, 90, 87, 96, 125, 155, 200, 195, 146, 64,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 206, 218, 231, 175, 155, 139, 126, 118, 114, 152, 155,
+  185, 194, 197, 218, 223, 212, 211, 195, 231, 174, 62, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 198,
+  60, 49, 236, 61, 69, 111, 73, 75, 67, 64, 95, 84, 255, 121, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  192, 86, 70, 76, 70, 75, 80, 77, 90, 75, 70, 55, 71, 77, 151, 54,
+  66, 92, 86, 126, 78, 62, 110, 130, 169, 82, 156, 253, 245, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 90, 111, 136, 123, 105, 78, 95,
+  76, 67, 104, 75, 77, 65, 86, 87, 76, 77, 93, 85, 71, 68, 134, 67,
+  132, 151, 135, 104, 108, 144, 153, 188, 173, 225, 218, 242, 246, 234, 234, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 192, 72, 41, 148, 181, 130, 88, 87, 63, 55, 105, 113, 61, 75,
+  67, 82, 121, 82, 53, 119, 135, 135, 115, 66, 198, 131, 155, 150, 182, 169,
+  141, 112, 102, 177, 234, 237, 243, 240, 243, 240, 248, 255, 208, 196, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 208, 98, 84, 56,
+  166, 146, 156, 120, 98, 107, 129, 117, 81, 82, 155, 110, 93, 105, 160, 157,
+  184, 237, 158, 173, 173, 147, 179, 157, 162, 198, 165, 191, 208, 176, 157, 164,
+  175, 178, 213, 185, 212, 234, 223, 213, 199, 163, 156, 115, 91, 139, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 172, 150, 146, 172, 175, 166, 199, 200, 143,
+  206, 192, 137, 132, 164, 160, 201, 167, 235, 208, 203, 199, 180, 181, 174, 196,
+  147, 142, 194, 159, 148, 208, 188, 145, 139, 156, 183, 178, 141, 186, 192, 200,
+  201, 219, 202, 178, 183, 180, 179, 121, 73, 89, 81, 143, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 185, 150, 179, 205, 175, 128, 171, 168, 209, 210, 148, 141, 146, 124,
+  211, 233, 176, 188, 230, 156, 156, 181, 167, 152, 211, 129, 198, 166, 179, 189,
+  197, 165, 157, 179, 136, 144, 167, 156, 124, 192, 188, 200, 163, 158, 165, 167,
+  151, 115, 106, 104, 115, 117, 65, 67, 101, 102, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 121, 186, 156,
+  184, 228, 214, 221, 188, 183, 182, 177, 189, 166, 160, 166, 181, 164, 213, 203,
+  180, 168, 210, 157, 173, 176, 157, 194, 213, 214, 190, 202, 172, 159, 122, 138,
+  124, 116, 139, 132, 121, 140, 126, 149, 165, 174, 155, 149, 138, 111, 119, 99,
+  124, 109, 90, 81, 81, 80, 45, 118, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 227, 131, 196, 97, 129, 174, 241, 234, 212,
+  190, 180, 217, 171, 181, 157, 195, 191, 169, 176, 215, 225, 151, 188, 122, 146,
+  203, 156, 203, 215, 179, 150, 170, 193, 184, 155, 180, 144, 118, 190, 131, 88,
+  123, 114, 86, 143, 166, 122, 88, 154, 87, 92, 142, 120, 87, 208, 72, 71,
+  89, 78, 81, 90, 106, 140, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 133, 141, 210, 182, 116, 223, 204, 244, 222, 221, 208, 243, 188, 178,
+  189, 195, 217, 206, 166, 200, 244, 175, 201, 170, 170, 132, 152, 226, 194, 159,
+  177, 132, 164, 178, 150, 186, 213, 184, 142, 168, 130, 98, 94, 70, 104, 132,
+  122, 108, 98, 95, 92, 118, 93, 101, 117, 137, 101, 134, 72, 70, 66, 63,
+  87, 69, 102, 66, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 153, 106, 108, 140,
+  141, 216, 226, 215, 245, 211, 246, 213, 223, 210, 191, 182, 209, 229, 211, 224,
+  222, 232, 185, 195, 181, 180, 87, 201, 218, 150, 157, 153, 145, 122, 130, 144,
+  145, 94, 111, 172, 174, 126, 103, 113, 102, 100, 108, 92, 99, 90, 89, 63,
+  77, 87, 63, 129, 72, 97, 132, 102, 60, 77, 71, 76, 74, 84, 82, 80,
+  69, 144, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 221, 139, 108, 149, 177, 199, 166, 176, 181, 199,
+  224, 224, 245, 236, 193, 186, 207, 233, 225, 233, 219, 204, 196, 220, 212, 242,
+  140, 148, 252, 186, 166, 192, 154, 152, 137, 179, 112, 151, 137, 131, 168, 123,
+  157, 123, 83, 113, 107, 123, 91, 78, 95, 99, 97, 65, 52, 56, 68, 137,
+  90, 72, 107, 102, 83, 60, 106, 73, 78, 59, 92, 44, 94, 88, 76, 129,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 155, 131, 119, 90, 122, 165, 236, 186, 217, 213, 240, 206, 238, 255, 218,
+  213, 215, 218, 210, 239, 236, 195, 170, 225, 221, 170, 211, 156, 199, 206, 181,
+  205, 186, 205, 194, 213, 143, 173, 145, 164, 137, 121, 129, 114, 188, 113, 128,
+  130, 104, 89, 104, 91, 118, 103, 58, 46, 70, 66, 98, 94, 45, 95, 95,
+  86, 79, 76, 73, 63, 94, 81, 80, 86, 102, 70, 93, 45, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 231, 201, 123, 75,
+  177, 126, 216, 227, 179, 184, 204, 215, 218, 232, 242, 196, 241, 213, 228, 218,
+  205, 206, 235, 235, 250, 202, 177, 166, 213, 241, 135, 176, 172, 233, 219, 174,
+  162, 187, 151, 192, 134, 170, 107, 107, 138, 142, 144, 166, 127, 170, 51, 98,
+  99, 100, 60, 55, 59, 57, 56, 76, 58, 89, 97, 55, 82, 97, 83, 81,
+  89, 86, 107, 65, 108, 80, 76, 78, 87, 82, 128, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 119, 171, 184, 200, 96, 78, 161, 214, 156,
+  247, 148, 218, 177, 209, 241, 195, 224, 197, 209, 215, 218, 233, 242, 221, 221,
+  245, 233, 239, 242, 222, 173, 207, 198, 212, 198, 213, 189, 131, 128, 107, 115,
+  120, 142, 89, 102, 84, 126, 121, 143, 166, 121, 62, 70, 86, 75, 57, 61,
+  70, 36, 56, 68, 79, 117, 68, 84, 98, 82, 134, 91, 78, 85, 67, 68,
+  77, 65, 64, 62, 114, 112, 98, 140, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 239, 122, 173, 149, 92, 131, 158, 172, 204, 216, 142, 156, 188, 211,
+  209, 213, 224, 198, 183, 216, 195, 218, 193, 198, 185, 219, 210, 199, 224, 219,
+  203, 245, 243, 168, 223, 146, 214, 171, 207, 142, 199, 78, 90, 159, 136, 112,
+  136, 86, 184, 164, 90, 118, 99, 71, 46, 78, 123, 59, 75, 55, 62, 67,
+  51, 56, 70, 95, 75, 119, 77, 91, 87, 79, 80, 72, 92, 52, 63, 39,
+  71, 55, 42, 63, 68, 51, 130, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 171, 139, 134,
+  165, 142, 92, 203, 151, 169, 215, 201, 195, 172, 208, 201, 218, 183, 194, 213,
+  193, 187, 199, 197, 212, 182, 184, 206, 206, 182, 226, 223, 214, 207, 181, 203,
+  141, 183, 123, 235, 111, 129, 166, 76, 133, 125, 123, 167, 139, 152, 152, 126,
+  105, 81, 82, 54, 62, 59, 74, 62, 70, 57, 59, 55, 50, 61, 78, 82,
+  91, 103, 108, 97, 72, 75, 89, 82, 76, 69, 52, 51, 79, 61, 51, 65,
+  62, 62, 65, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 193, 149, 180, 88, 149, 172, 207, 215, 199,
+  211, 179, 213, 194, 205, 191, 201, 203, 190, 210, 232, 189, 179, 210, 177, 187,
+  182, 215, 144, 178, 165, 191, 167, 163, 187, 148, 149, 164, 145, 228, 135, 215,
+  206, 93, 211, 95, 89, 177, 187, 169, 144, 111, 155, 100, 71, 82, 48, 52,
+  55, 60, 62, 65, 61, 60, 57, 54, 46, 52, 61, 58, 60, 66, 66, 56,
+  41, 56, 78, 72, 68, 78, 83, 65, 74, 52, 62, 63, 62, 88, 70, 91,
+  136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 192, 110, 195, 170, 163, 168, 208, 229, 230, 194, 209, 146, 228, 208,
+  178, 173, 202, 213, 174, 185, 187, 156, 195, 246, 184, 192, 167, 234, 200, 240,
+  166, 170, 169, 184, 146, 129, 133, 117, 134, 152, 129, 213, 188, 143, 185, 106,
+  48, 177, 153, 163, 108, 139, 156, 71, 86, 51, 50, 50, 47, 59, 49, 66,
+  54, 63, 58, 69, 61, 65, 68, 60, 58, 60, 56, 57, 45, 58, 78, 71,
+  60, 63, 70, 65, 53, 40, 68, 62, 62, 100, 73, 82, 73, 72, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 102, 73,
+  222, 176, 217, 253, 154, 227, 235, 197, 219, 164, 201, 186, 188, 198, 187, 187,
+  215, 223, 177, 156, 168, 198, 183, 168, 214, 172, 193, 164, 193, 113, 165, 145,
+  85, 83, 108, 99, 136, 106, 171, 181, 194, 169, 149, 154, 147, 156, 172, 112,
+  131, 150, 164, 82, 54, 63, 45, 46, 44, 52, 48, 58, 54, 61, 60, 63,
+  57, 62, 65, 59, 60, 63, 57, 48, 46, 57, 77, 90, 91, 84, 74, 70,
+  54, 58, 81, 81, 83, 99, 94, 77, 76, 72, 62, 138, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 195, 60, 183, 205, 159, 232, 239, 223,
+  223, 194, 191, 227, 196, 177, 167, 161, 181, 200, 185, 207, 175, 167, 176, 220,
+  195, 201, 239, 198, 193, 175, 140, 170, 128, 113, 127, 136, 130, 65, 86, 80,
+  88, 72, 139, 167, 147, 129, 106, 123, 90, 127, 59, 69, 125, 150, 120, 82,
+  39, 51, 38, 43, 47, 41, 52, 45, 58, 55, 61, 52, 49, 55, 58, 54,
+  59, 64, 58, 45, 59, 66, 72, 91, 106, 100, 86, 72, 60, 71, 69, 83,
+  85, 67, 102, 82, 77, 58, 63, 65, 138, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 221, 107, 110, 94, 123, 211, 162, 191, 185, 231, 181, 196, 200, 210, 219,
+  154, 172, 169, 180, 175, 173, 191, 201, 208, 233, 176, 174, 199, 239, 228, 217,
+  173, 147, 194, 153, 128, 137, 114, 131, 103, 62, 72, 83, 86, 66, 167, 129,
+  133, 133, 88, 191, 95, 115, 88, 50, 73, 121, 53, 65, 61, 40, 48, 40,
+  47, 36, 52, 39, 58, 49, 57, 54, 51, 55, 55, 51, 57, 63, 56, 56,
+  79, 80, 67, 72, 82, 85, 87, 80, 76, 76, 62, 77, 75, 52, 93, 62,
+  66, 59, 82, 75, 91, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 66, 86, 190,
+  159, 232, 202, 252, 207, 225, 239, 207, 191, 230, 181, 183, 189, 198, 165, 190,
+  206, 172, 187, 206, 132, 184, 215, 226, 190, 203, 207, 163, 154, 134, 119, 102,
+  112, 188, 79, 139, 67, 84, 76, 85, 90, 62, 155, 99, 92, 101, 103, 88,
+  80, 37, 41, 37, 63, 48, 43, 59, 39, 74, 43, 40, 42, 39, 44, 42,
+  48, 47, 49, 47, 44, 47, 45, 40, 49, 57, 49, 44, 61, 63, 64, 75,
+  77, 80, 98, 95, 101, 85, 94, 96, 81, 87, 85, 63, 57, 51, 51, 46,
+  60, 133, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 74, 69, 79, 110, 157, 154, 243, 246, 236,
+  209, 203, 239, 183, 178, 178, 208, 199, 210, 174, 161, 187, 172, 126, 202, 180,
+  162, 204, 169, 178, 170, 174, 153, 118, 143, 123, 117, 138, 105, 176, 71, 109,
+  82, 86, 77, 76, 74, 102, 87, 73, 99, 79, 54, 59, 57, 44, 48, 56,
+  31, 50, 47, 34, 47, 47, 41, 40, 35, 45, 34, 48, 37, 47, 43, 49,
+  47, 50, 49, 46, 58, 68, 62, 49, 50, 49, 70, 93, 80, 68, 87, 80,
+  96, 72, 115, 104, 75, 109, 58, 84, 64, 65, 53, 66, 61, 67, 117, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 57, 63, 59, 90, 99, 179, 217, 228, 239, 202, 210, 184, 176, 217,
+  176, 162, 174, 176, 186, 181, 175, 158, 144, 176, 159, 181, 150, 181, 122, 134,
+  221, 137, 172, 161, 109, 80, 96, 98, 97, 102, 78, 88, 67, 84, 80, 72,
+  81, 72, 71, 73, 66, 56, 53, 51, 49, 45, 43, 34, 41, 41, 34, 34,
+  41, 43, 38, 41, 46, 35, 47, 34, 48, 40, 47, 49, 50, 50, 48, 44,
+  41, 40, 40, 37, 69, 68, 65, 62, 57, 71, 74, 81, 69, 73, 101, 109,
+  77, 57, 75, 107, 95, 72, 58, 71, 54, 53, 95, 128, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 60, 75, 62,
+  113, 60, 181, 190, 159, 230, 210, 226, 197, 161, 164, 185, 171, 185, 197, 149,
+  231, 182, 162, 199, 190, 108, 156, 133, 169, 120, 180, 159, 147, 181, 152, 204,
+  145, 97, 89, 44, 70, 134, 65, 89, 67, 73, 50, 69, 92, 56, 70, 57,
+  55, 51, 49, 44, 39, 37, 36, 35, 39, 40, 36, 33, 34, 34, 33, 43,
+  40, 24, 38, 35, 51, 41, 40, 50, 49, 47, 47, 47, 46, 44, 43, 61,
+  79, 65, 57, 51, 44, 59, 67, 55, 84, 91, 82, 95, 112, 108, 96, 99,
+  103, 80, 65, 96, 93, 92, 67, 71, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 46, 52, 74, 57, 97, 125, 171, 153,
+  216, 217, 229, 209, 176, 160, 193, 187, 173, 166, 147, 182, 157, 184, 176, 150,
+  112, 105, 163, 189, 191, 152, 130, 153, 200, 146, 157, 119, 150, 96, 90, 84,
+  68, 103, 77, 62, 91, 89, 63, 71, 67, 43, 57, 42, 47, 50, 47, 40,
+  36, 35, 37, 32, 33, 36, 40, 38, 35, 38, 43, 37, 42, 39, 47, 39,
+  46, 43, 47, 48, 45, 43, 44, 47, 48, 47, 45, 68, 75, 56, 51, 48,
+  37, 50, 60, 83, 93, 92, 87, 89, 86, 88, 101, 66, 79, 113, 116, 41,
+  84, 55, 129, 107, 73, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 193, 71, 68, 42, 56, 66, 109, 138, 114, 133, 215, 207, 214, 205,
+  180, 147, 172, 166, 177, 174, 158, 179, 140, 179, 138, 154, 125, 144, 123, 155,
+  183, 157, 149, 128, 132, 176, 119, 132, 96, 73, 101, 76, 58, 98, 75, 69,
+  124, 104, 88, 63, 34, 54, 37, 39, 44, 45, 41, 37, 38, 38, 36, 33,
+  29, 31, 39, 38, 34, 38, 49, 34, 38, 38, 42, 38, 39, 37, 38, 46,
+  45, 44, 44, 46, 48, 50, 51, 48, 53, 40, 50, 55, 42, 49, 57, 80,
+  66, 66, 87, 87, 61, 71, 116, 156, 113, 112, 93, 90, 55, 88, 72, 98,
+  58, 60, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 192, 67, 77,
+  72, 45, 68, 94, 95, 98, 107, 162, 205, 167, 219, 191, 199, 160, 165, 166,
+  173, 153, 137, 165, 140, 129, 193, 120, 101, 133, 194, 174, 174, 194, 123, 149,
+  125, 105, 152, 169, 80, 57, 80, 81, 81, 84, 81, 118, 122, 113, 83, 36,
+  38, 64, 33, 41, 42, 38, 32, 33, 38, 37, 32, 39, 31, 28, 34, 35,
+  33, 38, 48, 61, 49, 39, 36, 48, 51, 50, 45, 45, 47, 47, 45, 43,
+  44, 50, 55, 34, 40, 30, 45, 55, 44, 49, 54, 53, 65, 69, 69, 71,
+  68, 75, 94, 89, 70, 144, 74, 50, 66, 73, 72, 60, 41, 71, 162, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 59, 60, 66, 75, 65, 68, 116, 130,
+  160, 77, 187, 231, 210, 202, 217, 189, 194, 142, 118, 117, 126, 134, 139, 139,
+  175, 122, 97, 164, 139, 159, 197, 203, 202, 208, 182, 195, 176, 234, 203, 143,
+  114, 92, 74, 94, 90, 53, 86, 114, 90, 139, 90, 22, 48, 52, 48, 52,
+  51, 44, 37, 37, 45, 43, 33, 36, 30, 28, 36, 45, 51, 56, 60, 61,
+  54, 52, 40, 47, 47, 62, 68, 45, 45, 43, 39, 36, 37, 42, 47, 41,
+  46, 31, 36, 45, 38, 46, 49, 52, 71, 74, 66, 65, 62, 57, 60, 87,
+  125, 101, 141, 66, 75, 62, 25, 50, 44, 68, 94, 122, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 191, 66, 60, 90, 110, 88, 103, 156, 217, 192, 178, 227, 239,
+  243, 190, 196, 133, 132, 134, 135, 125, 109, 130, 125, 112, 144, 134, 216, 158,
+  181, 153, 199, 114, 231, 203, 197, 185, 121, 165, 119, 169, 128, 127, 101, 52,
+  60, 81, 74, 70, 86, 132, 104, 40, 38, 54, 57, 58, 62, 57, 47, 43,
+  48, 46, 36, 33, 30, 30, 37, 52, 66, 67, 62, 43, 36, 45, 40, 63,
+  59, 67, 60, 58, 51, 42, 38, 41, 43, 43, 41, 46, 57, 38, 35, 39,
+  36, 44, 44, 43, 45, 53, 72, 83, 66, 57, 70, 78, 71, 89, 93, 83,
+  61, 70, 50, 52, 45, 48, 44, 40, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 192, 64, 67,
+  73, 65, 123, 161, 126, 132, 168, 237, 195, 187, 230, 239, 189, 221, 182, 177,
+  139, 153, 152, 113, 82, 131, 126, 97, 117, 176, 138, 209, 173, 161, 168, 103,
+  163, 164, 212, 198, 178, 184, 163, 146, 138, 97, 93, 103, 91, 92, 96, 57,
+  113, 81, 94, 64, 24, 81, 54, 54, 63, 63, 51, 42, 42, 41, 32, 37,
+  35, 34, 36, 49, 62, 55, 39, 73, 39, 37, 61, 129, 132, 100, 46, 80,
+  65, 51, 48, 56, 60, 55, 47, 42, 59, 44, 39, 43, 41, 47, 42, 45,
+  51, 58, 76, 89, 79, 65, 68, 79, 113, 78, 66, 52, 52, 113, 80, 57,
+  56, 53, 36, 60, 120, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 187, 73, 57, 60, 81, 51, 64, 122, 156,
+  195, 226, 203, 243, 220, 207, 235, 236, 208, 194, 197, 209, 185, 117, 122, 124,
+  103, 111, 115, 109, 195, 242, 183, 202, 171, 169, 165, 162, 197, 214, 184, 186,
+  157, 150, 144, 153, 112, 116, 98, 72, 63, 89, 70, 88, 72, 77, 44, 77,
+  61, 65, 33, 48, 43, 37, 35, 38, 41, 42, 41, 34, 36, 38, 39, 41,
+  50, 63, 74, 35, 84, 52, 84, 163, 127, 118, 72, 97, 128, 116, 108, 91,
+  88, 62, 68, 87, 78, 71, 56, 38, 38, 45, 41, 51, 65, 86, 86, 85,
+  76, 53, 60, 56, 53, 84, 77, 58, 99, 84, 93, 59, 53, 66, 48, 43,
+  49, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 187, 71, 43, 90, 52, 71, 102, 81, 177, 241, 236, 222, 232, 214,
+  240, 228, 237, 203, 214, 203, 205, 148, 118, 178, 107, 95, 104, 82, 100, 115,
+  145, 200, 202, 171, 116, 145, 142, 161, 160, 171, 188, 188, 160, 109, 95, 125,
+  88, 99, 91, 76, 68, 86, 61, 85, 69, 65, 41, 67, 64, 69, 47, 52,
+  48, 42, 38, 37, 36, 34, 35, 28, 32, 33, 34, 34, 40, 49, 57, 31,
+  117, 98, 210, 127, 169, 164, 189, 143, 127, 121, 94, 77, 112, 143, 112, 79,
+  76, 80, 77, 66, 68, 69, 59, 76, 70, 73, 64, 58, 50, 46, 76, 46,
+  69, 74, 67, 93, 125, 84, 115, 94, 104, 76, 35, 48, 53, 27, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 36, 104,
+  72, 69, 76, 72, 132, 89, 190, 243, 218, 210, 249, 210, 204, 229, 186, 232,
+  207, 213, 165, 198, 140, 109, 105, 114, 132, 84, 63, 159, 195, 179, 156, 148,
+  130, 135, 129, 154, 164, 172, 153, 113, 133, 101, 96, 98, 66, 77, 76, 73,
+  68, 81, 57, 74, 66, 54, 44, 53, 62, 59, 47, 51, 50, 46, 42, 37,
+  33, 32, 33, 28, 32, 35, 36, 36, 40, 45, 51, 78, 67, 188, 149, 188,
+  181, 160, 146, 149, 143, 134, 103, 124, 114, 106, 77, 72, 72, 81, 85, 80,
+  82, 82, 70, 72, 59, 60, 56, 55, 53, 63, 109, 53, 26, 53, 70, 57,
+  109, 107, 93, 107, 142, 87, 35, 55, 60, 44, 46, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 101, 85, 104, 110, 82, 57, 79,
+  139, 152, 220, 236, 214, 219, 236, 224, 208, 203, 197, 194, 199, 198, 210, 186,
+  83, 163, 113, 108, 86, 118, 184, 159, 162, 155, 183, 189, 158, 116, 155, 191,
+  142, 159, 182, 151, 123, 70, 74, 84, 56, 64, 61, 64, 61, 78, 63, 68,
+  72, 60, 61, 48, 56, 44, 40, 42, 44, 45, 43, 38, 35, 35, 37, 32,
+  35, 37, 38, 40, 45, 50, 56, 90, 188, 181, 186, 178, 183, 142, 105, 117,
+  104, 82, 75, 105, 75, 58, 74, 71, 69, 75, 73, 66, 70, 76, 68, 54,
+  48, 54, 49, 47, 41, 35, 63, 56, 57, 48, 49, 61, 95, 83, 109, 80,
+  119, 74, 36, 38, 38, 51, 51, 116, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 101, 35, 54, 80, 75, 90, 150, 114, 155, 195, 185, 208,
+  210, 215, 219, 214, 190, 180, 202, 190, 205, 176, 196, 121, 136, 94, 76, 111,
+  119, 98, 233, 149, 118, 169, 196, 138, 134, 107, 138, 164, 185, 236, 199, 150,
+  120, 94, 70, 69, 51, 63, 59, 62, 57, 77, 69, 72, 82, 69, 72, 43,
+  51, 38, 44, 37, 39, 42, 42, 38, 36, 37, 39, 36, 36, 35, 35, 37,
+  43, 49, 53, 77, 152, 154, 126, 120, 121, 110, 82, 126, 86, 80, 103, 76,
+  80, 96, 104, 71, 70, 76, 71, 59, 62, 68, 65, 43, 46, 52, 40, 43,
+  45, 27, 32, 56, 64, 53, 53, 51, 69, 69, 103, 86, 89, 66, 57, 38,
+  32, 58, 43, 51, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196,
+  114, 137, 87, 58, 147, 169, 140, 212, 228, 237, 171, 219, 228, 219, 232, 210,
+  174, 179, 172, 206, 218, 180, 155, 142, 132, 98, 75, 64, 79, 189, 139, 157,
+  157, 183, 152, 96, 119, 92, 100, 154, 119, 123, 125, 125, 76, 67, 58, 58,
+  49, 63, 60, 67, 59, 72, 68, 72, 76, 61, 60, 35, 43, 39, 49, 37,
+  38, 39, 39, 36, 35, 35, 35, 42, 40, 37, 36, 36, 39, 46, 49, 81,
+  32, 118, 83, 72, 119, 71, 69, 67, 72, 66, 77, 50, 64, 57, 61, 68,
+  71, 80, 80, 69, 70, 72, 66, 53, 54, 52, 33, 42, 58, 45, 47, 46,
+  32, 49, 69, 28, 44, 68, 70, 98, 63, 54, 67, 51, 49, 61, 36, 43,
+  119, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 82, 65, 86, 64, 111,
+  106, 100, 197, 222, 216, 231, 207, 220, 206, 200, 195, 212, 205, 189, 182, 159,
+  215, 181, 195, 152, 115, 87, 89, 55, 147, 140, 116, 129, 154, 157, 165, 149,
+  116, 85, 93, 74, 129, 134, 124, 104, 75, 83, 65, 65, 53, 59, 53, 65,
+  55, 64, 60, 70, 65, 51, 50, 41, 45, 41, 44, 38, 37, 36, 35, 36,
+  36, 34, 33, 42, 40, 39, 39, 40, 42, 46, 47, 36, 21, 72, 68, 58,
+  33, 71, 42, 41, 63, 42, 32, 55, 59, 49, 71, 63, 62, 68, 74, 72,
+  76, 74, 60, 72, 64, 55, 33, 33, 39, 26, 35, 33, 59, 38, 49, 61,
+  55, 42, 81, 76, 41, 36, 40, 44, 50, 41, 33, 42, 54, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 198, 69, 90, 65, 74, 178, 132, 195, 225, 229,
+  183, 209, 244, 189, 178, 232, 217, 189, 159, 193, 167, 205, 200, 165, 142, 122,
+  129, 71, 121, 138, 117, 79, 97, 109, 164, 173, 164, 103, 90, 129, 62, 63,
+  134, 119, 140, 104, 63, 66, 65, 81, 61, 53, 40, 55, 48, 57, 54, 73,
+  62, 52, 54, 58, 56, 46, 38, 37, 33, 31, 32, 36, 38, 36, 35, 32,
+  33, 35, 38, 41, 43, 46, 45, 45, 61, 52, 39, 46, 40, 53, 46, 60,
+  29, 45, 55, 63, 46, 56, 42, 60, 50, 50, 55, 61, 71, 69, 52, 67,
+  58, 59, 52, 53, 48, 35, 54, 50, 36, 27, 55, 41, 50, 60, 63, 70,
+  54, 50, 33, 46, 54, 32, 49, 47, 52, 114, 255, 255, 255, 255, 255, 255,
+  255, 255, 91, 124, 79, 71, 74, 239, 181, 239, 186, 210, 172, 199, 198, 197,
+  189, 240, 233, 211, 151, 212, 202, 229, 172, 178, 208, 146, 143, 116, 106, 110,
+  93, 74, 109, 191, 201, 174, 188, 157, 143, 92, 99, 94, 147, 75, 84, 84,
+  63, 70, 59, 59, 62, 48, 54, 36, 49, 45, 56, 47, 50, 54, 56, 55,
+  51, 46, 42, 34, 47, 40, 40, 23, 38, 34, 37, 43, 39, 36, 34, 36,
+  40, 44, 45, 44, 59, 47, 60, 57, 42, 55, 43, 55, 54, 52, 51, 52,
+  54, 57, 60, 62, 62, 63, 63, 60, 57, 55, 53, 48, 51, 55, 55, 47,
+  40, 41, 46, 39, 44, 46, 41, 39, 45, 51, 54, 80, 90, 75, 82, 45,
+  42, 46, 46, 41, 37, 48, 255, 255, 255, 255, 255, 255, 255, 196, 182, 98,
+  75, 97, 71, 247, 212, 255, 189, 196, 173, 186, 156, 186, 199, 239, 206, 170,
+  166, 180, 203, 207, 191, 179, 155, 90, 130, 105, 76, 106, 102, 106, 115, 215,
+  196, 222, 162, 132, 93, 116, 71, 70, 131, 109, 114, 91, 48, 55, 57, 49,
+  54, 46, 56, 41, 52, 47, 55, 47, 48, 49, 50, 49, 47, 44, 42, 41,
+  40, 30, 42, 32, 39, 30, 35, 34, 35, 38, 39, 39, 38, 39, 38, 51,
+  58, 56, 63, 60, 53, 57, 51, 56, 54, 50, 47, 46, 46, 48, 49, 54,
+  57, 63, 65, 64, 60, 55, 52, 39, 43, 48, 50, 51, 50, 46, 41, 43,
+  44, 42, 38, 39, 45, 48, 48, 66, 81, 76, 88, 53, 43, 40, 34, 54,
+  29, 54, 132, 255, 255, 255, 255, 255, 255, 98, 80, 137, 50, 148, 198, 251,
+  203, 242, 159, 207, 174, 208, 152, 186, 250, 204, 207, 186, 217, 209, 189, 161,
+  180, 176, 142, 206, 81, 127, 125, 144, 100, 116, 182, 222, 185, 127, 154, 50,
+  72, 41, 47, 71, 80, 78, 86, 92, 70, 74, 64, 55, 60, 54, 60, 47,
+  49, 41, 42, 46, 46, 45, 44, 43, 42, 42, 42, 39, 37, 30, 47, 32,
+  31, 24, 39, 37, 40, 43, 42, 39, 37, 38, 41, 54, 54, 66, 64, 63,
+  62, 52, 55, 54, 52, 47, 43, 40, 38, 38, 39, 44, 49, 56, 62, 63,
+  60, 55, 51, 42, 43, 41, 40, 46, 54, 50, 40, 45, 44, 40, 37, 40,
+  47, 49, 47, 67, 78, 74, 83, 54, 45, 48, 40, 38, 43, 42, 56, 255,
+  255, 255, 255, 255, 197, 88, 67, 109, 140, 205, 131, 227, 211, 220, 180, 169,
+  183, 136, 140, 165, 196, 172, 170, 208, 174, 192, 191, 186, 162, 184, 219, 228,
+  190, 160, 163, 155, 106, 151, 239, 145, 113, 64, 90, 77, 64, 36, 73, 77,
+  75, 116, 122, 112, 74, 63, 52, 62, 63, 60, 60, 51, 47, 39, 36, 43,
+  44, 44, 43, 43, 42, 41, 41, 29, 40, 40, 47, 25, 29, 32, 52, 52,
+  52, 50, 43, 37, 38, 45, 53, 53, 48, 71, 64, 62, 67, 45, 52, 51,
+  48, 45, 41, 39, 37, 37, 37, 39, 42, 48, 53, 56, 56, 55, 54, 56,
+  54, 44, 33, 36, 50, 53, 46, 44, 46, 45, 42, 43, 48, 52, 52, 60,
+  70, 72, 83, 66, 52, 54, 39, 40, 33, 60, 89, 144, 255, 255, 255, 255,
+  50, 94, 76, 125, 176, 225, 72, 194, 180, 200, 169, 184, 175, 156, 119, 187,
+  222, 177, 182, 161, 161, 164, 191, 212, 190, 220, 198, 236, 143, 154, 156, 140,
+  216, 188, 168, 110, 95, 106, 56, 90, 31, 42, 36, 49, 22, 64, 77, 86,
+  73, 69, 57, 49, 48, 51, 50, 53, 50, 50, 48, 41, 43, 45, 46, 46,
+  44, 42, 40, 27, 44, 39, 40, 28, 52, 57, 61, 58, 58, 55, 47, 41,
+  41, 49, 57, 52, 48, 72, 65, 62, 65, 41, 47, 46, 45, 44, 43, 43,
+  43, 43, 44, 43, 43, 43, 45, 48, 53, 57, 60, 58, 60, 53, 40, 37,
+  46, 52, 52, 43, 50, 54, 47, 41, 41, 46, 50, 38, 54, 73, 94, 91,
+  66, 55, 24, 44, 59, 110, 60, 82, 255, 255, 255, 255, 64, 76, 116, 202,
+  187, 170, 148, 205, 159, 123, 187, 155, 182, 149, 104, 235, 206, 225, 142, 135,
+  203, 162, 210, 204, 187, 230, 157, 154, 154, 175, 154, 220, 143, 183, 143, 115,
+  64, 63, 70, 57, 59, 82, 72, 109, 54, 42, 46, 63, 73, 69, 51, 43,
+  40, 46, 42, 53, 48, 53, 49, 39, 41, 44, 46, 46, 44, 41, 39, 34,
+  43, 29, 33, 41, 80, 75, 60, 49, 51, 52, 50, 46, 45, 48, 51, 57,
+  57, 68, 65, 60, 59, 46, 47, 45, 43, 45, 45, 46, 47, 48, 48, 48,
+  46, 45, 45, 48, 52, 58, 61, 46, 52, 57, 55, 48, 45, 48, 53, 42,
+  53, 58, 50, 38, 33, 35, 39, 45, 51, 67, 86, 98, 78, 72, 37, 128,
+  60, 45, 83, 82, 97, 255, 255, 255, 67, 132, 216, 220, 169, 153, 206, 153,
+  181, 182, 211, 178, 165, 179, 92, 212, 212, 196, 157, 164, 163, 147, 208, 208,
+  156, 201, 203, 154, 156, 211, 143, 190, 166, 203, 111, 159, 73, 58, 63, 69,
+  54, 81, 72, 38, 40, 44, 61, 50, 50, 57, 59, 49, 44, 52, 43, 56,
+  44, 49, 41, 38, 39, 40, 41, 41, 40, 40, 39, 40, 43, 29, 40, 47,
+  76, 65, 53, 43, 43, 42, 43, 45, 47, 49, 51, 62, 67, 60, 60, 55,
+  47, 52, 47, 46, 45, 45, 45, 46, 46, 46, 46, 44, 45, 47, 49, 50,
+  51, 51, 51, 41, 43, 52, 59, 53, 42, 42, 51, 40, 50, 56, 50, 41,
+  36, 34, 34, 63, 51, 53, 63, 88, 79, 88, 57, 120, 83, 51, 95, 63,
+  124, 255, 255, 255, 58, 85, 223, 141, 186, 186, 169, 220, 181, 169, 214, 218,
+  188, 157, 85, 145, 168, 170, 198, 175, 133, 180, 131, 178, 182, 186, 173, 132,
+  218, 139, 166, 118, 194, 194, 155, 82, 79, 60, 45, 61, 57, 47, 48, 52,
+  59, 37, 57, 46, 51, 51, 47, 51, 45, 56, 47, 62, 48, 51, 41, 38,
+  37, 35, 35, 34, 36, 37, 39, 36, 43, 38, 51, 40, 51, 43, 47, 42,
+  38, 33, 33, 38, 47, 55, 60, 66, 73, 50, 52, 47, 36, 55, 47, 47,
+  47, 46, 45, 44, 43, 42, 42, 37, 41, 47, 51, 52, 48, 43, 39, 47,
+  40, 44, 55, 50, 36, 37, 50, 37, 46, 52, 51, 47, 44, 40, 36, 52,
+  38, 40, 53, 85, 77, 85, 50, 73, 42, 79, 58, 58, 62, 255, 255, 255,
+  43, 147, 188, 218, 189, 201, 175, 201, 169, 162, 191, 183, 177, 126, 113, 188,
+  90, 152, 125, 130, 176, 95, 109, 163, 127, 163, 129, 155, 99, 89, 157, 193,
+  150, 154, 104, 66, 61, 47, 58, 56, 77, 53, 69, 55, 61, 58, 46, 44,
+  49, 42, 27, 33, 39, 49, 35, 42, 104, 58, 34, 41, 41, 34, 22, 46,
+  22, 51, 27, 34, 44, 34, 55, 59, 43, 49, 36, 34, 28, 39, 49, 40,
+  35, 43, 47, 48, 43, 36, 34, 37, 41, 44, 44, 47, 48, 47, 48, 46,
+  43, 40, 37, 37, 34, 34, 41, 50, 55, 52, 47, 51, 39, 44, 57, 46,
+  60, 34, 54, 44, 44, 46, 49, 47, 41, 40, 42, 43, 48, 34, 40, 49,
+  78, 103, 59, 58, 37, 53, 66, 49, 62, 95, 255, 255, 84, 167, 212, 199,
+  184, 195, 171, 191, 168, 159, 177, 187, 174, 127, 123, 127, 136, 163, 135, 149,
+  130, 128, 109, 144, 115, 157, 131, 117, 93, 88, 137, 147, 120, 131, 91, 44,
+  52, 68, 60, 59, 53, 45, 66, 64, 60, 49, 35, 35, 44, 48, 45, 48,
+  38, 45, 43, 52, 94, 51, 40, 35, 37, 43, 35, 34, 38, 38, 40, 35,
+  53, 50, 54, 41, 27, 46, 50, 52, 41, 36, 35, 34, 42, 45, 33, 32,
+  32, 33, 36, 39, 41, 41, 39, 49, 51, 52, 50, 46, 41, 39, 39, 37,
+  34, 33, 37, 43, 46, 45, 42, 50, 37, 40, 53, 45, 58, 34, 49, 40,
+  42, 48, 53, 50, 41, 35, 35, 39, 45, 34, 38, 43, 66, 91, 63, 41,
+  51, 63, 76, 82, 72, 67, 255, 255, 156, 153, 149, 183, 194, 157, 176, 141,
+  195, 171, 207, 170, 160, 179, 186, 93, 113, 145, 183, 146, 115, 118, 149, 104,
+  120, 144, 120, 117, 124, 116, 139, 118, 108, 118, 89, 47, 41, 64, 47, 72,
+  55, 49, 52, 56, 52, 49, 46, 45, 45, 43, 42, 41, 37, 56, 57, 45,
+  56, 37, 60, 43, 25, 95, 28, 75, 31, 53, 46, 42, 52, 46, 49, 47,
+  40, 45, 37, 55, 46, 37, 28, 28, 44, 45, 25, 38, 40, 42, 41, 39,
+  38, 37, 37, 51, 53, 54, 51, 45, 40, 38, 38, 34, 34, 33, 34, 36,
+  39, 42, 44, 51, 39, 38, 49, 48, 56, 38, 45, 35, 36, 40, 44, 43,
+  37, 35, 37, 38, 41, 37, 39, 37, 50, 77, 71, 52, 77, 63, 63, 93,
+  74, 50, 255, 255, 216, 186, 163, 168, 184, 196, 184, 187, 191, 186, 177, 177,
+  140, 177, 182, 134, 116, 130, 134, 131, 125, 81, 142, 74, 106, 137, 96, 110,
+  121, 106, 120, 90, 91, 91, 73, 64, 47, 59, 47, 82, 73, 61, 59, 48,
+  47, 49, 54, 53, 44, 37, 36, 38, 39, 60, 58, 42, 41, 37, 66, 40,
+  47, 80, 61, 62, 49, 43, 44, 53, 48, 37, 38, 45, 49, 48, 38, 48,
+  39, 36, 33, 29, 37, 40, 30, 44, 44, 42, 38, 34, 34, 39, 44, 50,
+  49, 47, 46, 44, 41, 37, 35, 31, 33, 34, 33, 34, 38, 45, 51, 54,
+  43, 39, 47, 52, 55, 44, 43, 38, 34, 32, 34, 35, 37, 45, 54, 37,
+  40, 42, 43, 37, 42, 66, 83, 74, 88, 63, 56, 85, 72, 55, 87, 255,
+  162, 104, 75, 181, 211, 200, 220, 178, 197, 169, 157, 185, 177, 174, 156, 170,
+  145, 149, 93, 159, 155, 125, 116, 124, 132, 161, 114, 93, 89, 69, 90, 77,
+  81, 71, 62, 47, 43, 55, 50, 62, 58, 43, 52, 50, 46, 45, 47, 46,
+  42, 42, 46, 54, 42, 45, 44, 56, 62, 54, 50, 57, 76, 62, 76, 62,
+  62, 63, 56, 58, 50, 44, 32, 28, 35, 48, 64, 67, 38, 26, 33, 34,
+  33, 34, 32, 29, 31, 32, 32, 33, 37, 44, 51, 45, 40, 36, 37, 41,
+  42, 37, 31, 31, 34, 35, 34, 33, 35, 42, 48, 53, 45, 39, 44, 54,
+  50, 49, 41, 44, 39, 35, 35, 37, 41, 52, 62, 34, 37, 43, 42, 38,
+  40, 56, 85, 77, 74, 67, 71, 80, 71, 63, 71, 255, 211, 116, 131, 195,
+  187, 205, 178, 194, 165, 204, 184, 179, 208, 174, 168, 162, 120, 147, 131, 120,
+  123, 137, 90, 131, 153, 105, 87, 96, 81, 63, 77, 80, 78, 62, 57, 52,
+  47, 57, 58, 73, 66, 38, 35, 39, 44, 49, 52, 51, 49, 47, 45, 47,
+  41, 44, 36, 53, 56, 57, 44, 50, 54, 36, 34, 51, 37, 65, 44, 55,
+  40, 44, 43, 41, 43, 45, 66, 94, 45, 18, 29, 36, 35, 32, 29, 25,
+  29, 35, 39, 41, 42, 42, 43, 39, 34, 30, 33, 38, 41, 37, 33, 35,
+  37, 38, 36, 33, 31, 33, 36, 49, 45, 39, 39, 53, 42, 50, 37, 41,
+  38, 37, 38, 38, 38, 43, 50, 31, 33, 41, 35, 39, 42, 44, 75, 86,
+  68, 68, 76, 69, 65, 69, 65, 255, 255, 165, 180, 170, 173, 178, 210, 195,
+  186, 204, 201, 192, 189, 150, 164, 162, 117, 141, 131, 108, 118, 142, 93, 134,
+  151, 90, 93, 84, 75, 72, 62, 70, 58, 46, 46, 78, 62, 80, 69, 105,
+  86, 66, 53, 38, 51, 60, 59, 56, 54, 47, 38, 32, 36, 47, 38, 45,
+  31, 47, 47, 66, 74, 46, 74, 57, 87, 68, 66, 51, 27, 40, 50, 54,
+  53, 51, 83, 76, 42, 26, 31, 33, 34, 35, 31, 35, 36, 39, 42, 44,
+  43, 39, 36, 35, 35, 35, 35, 36, 36, 38, 39, 37, 39, 41, 40, 37,
+  34, 31, 30, 47, 48, 41, 38, 53, 36, 53, 37, 41, 37, 35, 36, 35,
+  34, 39, 46, 31, 32, 40, 30, 40, 46, 34, 58, 102, 84, 73, 68, 62,
+  59, 66, 75, 255, 255, 230, 194, 205, 187, 184, 203, 191, 168, 204, 207, 203,
+  200, 201, 177, 182, 150, 177, 128, 135, 126, 144, 60, 141, 96, 133, 123, 65,
+  73, 85, 57, 65, 51, 50, 53, 56, 49, 87, 51, 88, 51, 64, 67, 59,
+  68, 64, 48, 42, 49, 51, 45, 43, 33, 38, 38, 54, 32, 45, 42, 54,
+  39, 72, 51, 79, 71, 53, 39, 48, 29, 46, 44, 30, 33, 66, 139, 32,
+  32, 40, 40, 29, 29, 38, 38, 34, 31, 28, 31, 36, 41, 43, 42, 33,
+  39, 43, 40, 34, 32, 38, 44, 37, 39, 42, 45, 44, 40, 35, 32, 47,
+  51, 45, 40, 55, 35, 57, 39, 49, 42, 36, 34, 34, 37, 48, 59, 35,
+  35, 40, 28, 43, 51, 28, 48, 105, 101, 83, 73, 75, 63, 58, 75, 126,
+  255, 255, 225, 180, 158, 221, 217, 185, 191, 175, 193, 226, 176, 203, 177, 177,
+  183, 160, 134, 124, 114, 98, 74, 137, 103, 80, 73, 106, 65, 53, 76, 63,
+  33, 50, 37, 60, 55, 53, 57, 56, 53, 55, 61, 52, 65, 74, 66, 36,
+  80, 36, 45, 43, 41, 39, 40, 42, 42, 39, 36, 39, 52, 41, 73, 51,
+  47, 54, 50, 29, 54, 33, 43, 31, 40, 113, 102, 32, 33, 33, 34, 35,
+  34, 34, 33, 36, 37, 39, 41, 41, 39, 37, 36, 35, 37, 39, 37, 35,
+  35, 38, 41, 46, 45, 42, 37, 32, 31, 34, 38, 41, 44, 44, 41, 41,
+  44, 43, 40, 47, 30, 43, 35, 36, 55, 43, 38, 34, 34, 33, 36, 42,
+  47, 44, 38, 76, 108, 91, 61, 64, 64, 84, 64, 53, 255, 255, 255, 255,
+  255, 241, 218, 200, 208, 200, 206, 206, 187, 191, 173, 167, 168, 126, 131, 141,
+  182, 93, 121, 133, 190, 93, 93, 74, 90, 54, 50, 96, 64, 79, 53, 54,
+  49, 50, 57, 60, 58, 57, 59, 63, 61, 65, 73, 64, 110, 61, 59, 47,
+  44, 40, 40, 40, 40, 37, 35, 46, 55, 43, 68, 48, 47, 57, 54, 50,
+  30, 28, 45, 42, 39, 70, 100, 34, 36, 37, 39, 40, 41, 42, 42, 39,
+  39, 39, 38, 37, 34, 32, 31, 33, 35, 37, 37, 36, 37, 40, 43, 41,
+  43, 43, 41, 37, 35, 35, 37, 37, 41, 42, 40, 39, 41, 39, 35, 44,
+  30, 48, 48, 46, 54, 39, 34, 40, 37, 32, 32, 40, 48, 47, 41, 72,
+  107, 79, 85, 57, 64, 59, 59, 62, 255, 255, 255, 255, 255, 255, 255, 255,
+  241, 222, 220, 185, 191, 182, 176, 166, 164, 110, 142, 109, 123, 160, 125, 97,
+  107, 146, 114, 41, 118, 101, 99, 66, 86, 58, 60, 55, 51, 53, 61, 66,
+  64, 57, 55, 53, 45, 49, 67, 68, 104, 62, 61, 51, 48, 43, 40, 39,
+  38, 37, 36, 45, 51, 48, 67, 52, 51, 57, 52, 55, 27, 48, 38, 32,
+  42, 58, 141, 37, 38, 39, 40, 41, 42, 42, 42, 39, 38, 36, 34, 33,
+  32, 31, 31, 32, 34, 35, 36, 35, 35, 37, 39, 35, 38, 42, 43, 41,
+  39, 37, 37, 36, 40, 41, 39, 39, 40, 38, 34, 44, 30, 47, 54, 49,
+  46, 34, 33, 46, 39, 31, 29, 38, 49, 49, 44, 62, 85, 85, 83, 97,
+  89, 83, 64, 70, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 240,
+  208, 204, 193, 170, 149, 106, 124, 112, 152, 153, 120, 122, 118, 130, 161, 50,
+  76, 161, 98, 53, 51, 60, 59, 61, 56, 54, 58, 62, 61, 51, 44, 39,
+  38, 46, 60, 50, 68, 44, 57, 55, 51, 46, 42, 40, 41, 42, 43, 41,
+  46, 57, 71, 61, 56, 53, 43, 39, 39, 58, 25, 27, 55, 61, 124, 38,
+  38, 38, 38, 37, 36, 34, 33, 37, 35, 33, 32, 32, 33, 35, 36, 35,
+  35, 35, 34, 33, 31, 31, 30, 31, 34, 38, 40, 41, 40, 38, 37, 40,
+  42, 41, 38, 38, 41, 42, 39, 48, 32, 40, 50, 43, 34, 32, 35, 48,
+  41, 31, 30, 40, 51, 50, 45, 41, 96, 75, 115, 73, 115, 61, 52, 75,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 210, 195, 171,
+  140, 127, 111, 101, 159, 118, 105, 110, 121, 85, 128, 143, 114, 122, 104, 78,
+  77, 63, 38, 61, 56, 49, 49, 52, 53, 47, 39, 47, 47, 51, 58, 44,
+  49, 40, 56, 54, 52, 48, 44, 43, 45, 48, 51, 52, 51, 68, 69, 62,
+  56, 49, 38, 30, 41, 35, 22, 45, 61, 42, 35, 39, 39, 39, 38, 37,
+  36, 35, 34, 39, 37, 34, 33, 33, 34, 37, 38, 36, 36, 36, 36, 35,
+  34, 32, 30, 31, 31, 32, 34, 36, 37, 38, 38, 41, 42, 39, 34, 34,
+  40, 44, 44, 48, 35, 38, 52, 44, 32, 35, 34, 45, 40, 34, 34, 42,
+  51, 49, 42, 28, 64, 97, 106, 108, 98, 81, 79, 85, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 182, 160, 131, 133, 99, 92,
+  145, 173, 117, 119, 100, 114, 112, 95, 171, 106, 155, 64, 51, 29, 71, 59,
+  56, 49, 47, 50, 56, 54, 48, 54, 48, 42, 46, 44, 47, 42, 44, 49,
+  48, 47, 44, 43, 45, 50, 54, 70, 59, 73, 57, 54, 52, 48, 39, 37,
+  42, 23, 36, 51, 41, 37, 18, 38, 39, 40, 42, 43, 43, 43, 43, 43,
+  41, 38, 35, 34, 33, 34, 35, 35, 35, 36, 38, 41, 41, 39, 37, 33,
+  31, 29, 30, 33, 35, 37, 37, 38, 39, 36, 31, 33, 40, 45, 46, 42,
+  39, 40, 58, 53, 39, 43, 30, 40, 39, 36, 35, 41, 47, 45, 40, 50,
+  55, 46, 110, 99, 121, 64, 82, 81, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 175, 145, 118, 103, 80, 94, 175, 138, 126, 131,
+  141, 86, 118, 65, 82, 69, 62, 93, 66, 53, 37, 52, 54, 50, 47, 49,
+  57, 58, 54, 49, 46, 38, 38, 43, 44, 44, 35, 43, 43, 43, 41, 39,
+  40, 45, 49, 67, 50, 69, 45, 47, 49, 47, 40, 42, 39, 31, 42, 35,
+  27, 46, 46, 36, 37, 39, 41, 42, 43, 43, 43, 42, 41, 38, 36, 34,
+  34, 34, 34, 34, 33, 35, 38, 42, 43, 40, 38, 35, 32, 30, 31, 33,
+  35, 35, 34, 33, 36, 36, 35, 37, 44, 47, 46, 41, 43, 38, 54, 53,
+  45, 52, 30, 37, 38, 37, 34, 37, 42, 43, 41, 45, 30, 58, 95, 177,
+  218, 211, 210, 215, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 168, 146, 136, 109, 109, 142, 161, 134, 181, 104, 136, 100, 118, 103,
+  57, 124, 41, 47, 75, 60, 47, 41, 46, 46, 41, 43, 49, 51, 47, 45,
+  54, 51, 46, 46, 43, 50, 41, 38, 40, 40, 37, 35, 36, 40, 43, 47,
+  31, 60, 38, 46, 48, 44, 36, 36, 23, 28, 32, 26, 36, 40, 26, 34,
+  35, 36, 36, 37, 36, 36, 36, 37, 37, 36, 35, 35, 36, 36, 37, 34,
+  33, 33, 36, 39, 39, 35, 31, 36, 34, 32, 33, 36, 36, 34, 31, 31,
+  36, 40, 41, 44, 49, 50, 47, 44, 46, 32, 43, 44, 44, 58, 34, 37,
+  39, 37, 33, 32, 37, 41, 42, 37, 69, 97, 98, 149, 227, 235, 235, 226,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 240, 120,
+  110, 112, 129, 165, 149, 126, 156, 125, 151, 128, 115, 98, 53, 125, 72, 43,
+  71, 45, 48, 59, 43, 38, 47, 46, 35, 38, 53, 44, 42, 40, 41, 43,
+  43, 40, 36, 43, 42, 40, 36, 33, 34, 40, 45, 48, 45, 39, 36, 41,
+  46, 41, 29, 31, 25, 24, 30, 34, 33, 31, 33, 35, 32, 31, 34, 35,
+  34, 36, 41, 34, 36, 38, 36, 32, 31, 32, 34, 43, 36, 31, 34, 41,
+  44, 41, 35, 28, 32, 32, 30, 33, 38, 35, 28, 35, 38, 35, 33, 42,
+  52, 46, 31, 55, 45, 36, 34, 39, 42, 38, 33, 43, 37, 35, 38, 35,
+  29, 35, 48, 31, 63, 118, 75, 168, 219, 209, 214, 231, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 147, 138, 111, 135, 181,
+  132, 124, 117, 143, 137, 134, 94, 171, 91, 96, 92, 109, 28, 73, 44, 60,
+  50, 43, 46, 52, 51, 47, 45, 44, 43, 42, 42, 42, 42, 40, 38, 40,
+  41, 40, 37, 32, 31, 33, 35, 38, 41, 42, 40, 41, 46, 47, 43, 39,
+  33, 26, 22, 24, 30, 35, 37, 31, 29, 30, 35, 37, 36, 39, 43, 41,
+  43, 44, 42, 39, 37, 38, 40, 38, 37, 37, 37, 39, 40, 41, 42, 28,
+  34, 36, 33, 31, 34, 34, 32, 35, 31, 31, 38, 46, 48, 44, 41, 50,
+  43, 36, 35, 39, 41, 38, 36, 41, 36, 34, 38, 34, 29, 36, 49, 50,
+  49, 103, 124, 204, 228, 215, 220, 214, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 126, 115, 138, 162, 180, 126, 120, 99, 144,
+  130, 140, 106, 81, 68, 57, 52, 87, 41, 130, 65, 49, 52, 49, 42, 44,
+  50, 47, 38, 41, 43, 44, 43, 41, 39, 39, 39, 37, 38, 39, 37, 34,
+  32, 32, 32, 38, 46, 49, 45, 40, 40, 43, 44, 46, 45, 36, 24, 22,
+  33, 40, 39, 33, 31, 32, 37, 39, 37, 38, 41, 34, 35, 36, 35, 32,
+  31, 31, 32, 33, 38, 42, 40, 36, 35, 40, 46, 30, 37, 40, 35, 31,
+  32, 34, 35, 38, 30, 31, 44, 48, 41, 39, 47, 42, 39, 37, 36, 38,
+  39, 40, 40, 39, 35, 33, 37, 34, 31, 38, 49, 59, 47, 97, 172, 212,
+  212, 212, 211, 216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 131, 131, 195, 144, 155, 135, 116, 120, 120, 133, 140, 148, 99,
+  81, 64, 71, 49, 49, 62, 46, 40, 51, 53, 44, 35, 35, 40, 42, 38,
+  42, 44, 44, 39, 38, 38, 41, 35, 37, 37, 39, 38, 39, 38, 39, 38,
+  43, 46, 42, 37, 34, 37, 40, 43, 52, 48, 34, 31, 40, 43, 37, 39,
+  37, 38, 42, 42, 37, 36, 38, 42, 42, 41, 41, 39, 38, 38, 38, 34,
+  39, 42, 39, 34, 32, 37, 42, 37, 38, 38, 35, 33, 34, 35, 36, 40,
+  37, 38, 44, 43, 37, 36, 42, 35, 36, 37, 37, 37, 38, 40, 43, 40,
+  36, 33, 35, 34, 32, 38, 46, 42, 54, 107, 204, 199, 196, 214, 208, 211,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 118,
+  115, 185, 147, 138, 139, 114, 128, 103, 122, 126, 160, 119, 89, 62, 73, 41,
+  81, 48, 48, 55, 52, 51, 48, 43, 37, 41, 51, 37, 41, 43, 44, 40,
+  39, 40, 43, 39, 39, 37, 38, 38, 42, 42, 43, 32, 33, 35, 37, 39,
+  39, 41, 41, 39, 50, 50, 38, 32, 39, 43, 38, 40, 38, 40, 43, 43,
+  39, 38, 40, 42, 42, 41, 40, 40, 39, 38, 37, 38, 38, 37, 35, 33,
+  32, 32, 33, 44, 38, 32, 33, 37, 38, 36, 34, 36, 43, 44, 38, 35,
+  39, 39, 35, 30, 33, 36, 37, 37, 37, 39, 42, 42, 38, 34, 34, 34,
+  33, 36, 42, 30, 48, 100, 219, 211, 205, 224, 221, 214, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 133, 107, 125, 166, 138,
+  129, 112, 108, 107, 100, 106, 132, 131, 116, 80, 58, 40, 50, 56, 41, 70,
+  53, 43, 46, 52, 48, 45, 46, 38, 41, 43, 44, 44, 44, 45, 46, 44,
+  42, 38, 38, 39, 41, 42, 41, 42, 36, 35, 39, 42, 40, 37, 36, 37,
+  46, 46, 34, 26, 31, 39, 41, 35, 34, 36, 41, 43, 41, 42, 45, 37,
+  35, 33, 33, 34, 34, 32, 30, 40, 36, 32, 32, 33, 33, 31, 28, 47,
+  36, 28, 31, 38, 40, 38, 35, 31, 42, 43, 33, 32, 41, 42, 34, 30,
+  32, 35, 37, 37, 37, 37, 38, 42, 39, 34, 32, 33, 35, 36, 38, 42,
+  37, 72, 198, 228, 216, 215, 219, 219, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 230, 164, 116, 147, 139, 123, 112, 99, 118,
+  97, 99, 117, 140, 100, 82, 76, 75, 32, 62, 84, 62, 58, 50, 47, 48,
+  50, 47, 43, 41, 41, 43, 46, 49, 51, 51, 50, 45, 43, 41, 42, 45,
+  46, 44, 41, 50, 42, 40, 42, 41, 36, 31, 32, 36, 41, 45, 41, 32,
+  28, 32, 39, 33, 31, 32, 37, 39, 39, 41, 45, 44, 42, 40, 40, 41,
+  41, 39, 37, 37, 34, 31, 31, 33, 34, 33, 31, 45, 35, 28, 31, 36,
+  37, 38, 40, 37, 37, 36, 34, 34, 36, 36, 34, 31, 32, 34, 37, 38,
+  37, 34, 33, 39, 37, 33, 32, 34, 37, 38, 38, 46, 36, 44, 133, 206,
+  218, 207, 216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 133, 129, 160, 133, 127, 112, 113, 121, 107, 101, 126, 138,
+  112, 104, 51, 59, 80, 62, 43, 45, 67, 74, 55, 40, 45, 52, 49, 45,
+  43, 43, 47, 53, 56, 55, 53, 42, 42, 44, 48, 53, 54, 51, 47, 40,
+  36, 36, 40, 40, 34, 34, 38, 31, 40, 51, 55, 44, 29, 27, 32, 35,
+  32, 31, 34, 35, 34, 36, 41, 38, 35, 33, 33, 35, 35, 33, 30, 32,
+  33, 33, 33, 33, 34, 36, 37, 42, 34, 30, 33, 34, 33, 37, 44, 46,
+  35, 32, 38, 38, 29, 27, 33, 32, 32, 34, 36, 38, 37, 33, 30, 37,
+  35, 32, 31, 34, 40, 40, 39, 30, 39, 31, 72, 171, 224, 221, 230, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  114, 117, 170, 143, 126, 107, 107, 116, 113, 111, 119, 142, 111, 83, 73, 73,
+  86, 76, 50, 49, 44, 70, 66, 60, 58, 39, 53, 46, 54, 55, 57, 62,
+  55, 49, 54, 54, 41, 42, 50, 50, 49, 45, 33, 42, 40, 38, 39, 43,
+  42, 39, 35, 29, 40, 53, 54, 39, 24, 26, 35, 30, 33, 34, 34, 33,
+  33, 35, 36, 37, 33, 30, 29, 32, 33, 32, 30, 34, 34, 34, 33, 33,
+  32, 32, 31, 37, 35, 32, 33, 36, 40, 43, 44, 43, 39, 35, 35, 39,
+  40, 36, 31, 33, 32, 31, 34, 37, 38, 35, 33, 34, 39, 39, 36, 35,
+  35, 34, 29, 49, 32, 37, 51, 132, 206, 253, 233, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 125, 120, 156, 132,
+  118, 111, 107, 100, 97, 108, 121, 126, 91, 96, 61, 98, 79, 100, 68, 55,
+  53, 65, 64, 59, 52, 41, 47, 50, 52, 45, 47, 56, 56, 52, 60, 62,
+  58, 61, 61, 46, 41, 45, 44, 37, 35, 32, 32, 32, 36, 37, 38, 39,
+  43, 51, 52, 43, 31, 27, 31, 31, 34, 35, 35, 34, 34, 35, 37, 37,
+  34, 31, 31, 32, 34, 33, 31, 33, 33, 33, 32, 32, 32, 32, 32, 32,
+  31, 31, 32, 34, 34, 33, 31, 42, 38, 35, 35, 37, 37, 34, 32, 33,
+  31, 29, 31, 34, 37, 38, 38, 31, 35, 37, 36, 37, 39, 38, 33, 38,
+  31, 30, 30, 70, 120, 148, 131, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 155, 150, 170, 143, 116, 112, 111, 97,
+  100, 120, 124, 124, 105, 100, 87, 87, 84, 87, 71, 57, 60, 54, 63, 63,
+  55, 56, 52, 61, 58, 51, 53, 64, 63, 59, 66, 67, 60, 61, 58, 41,
+  36, 43, 45, 39, 38, 34, 31, 30, 34, 42, 49, 49, 46, 48, 51, 47,
+  37, 28, 27, 32, 35, 36, 36, 35, 35, 36, 37, 36, 34, 32, 32, 33,
+  34, 33, 32, 32, 32, 32, 32, 32, 33, 33, 33, 30, 31, 33, 36, 38,
+  36, 32, 28, 39, 38, 36, 35, 34, 33, 33, 32, 33, 30, 28, 28, 32,
+  37, 40, 41, 30, 36, 37, 36, 38, 41, 40, 36, 34, 41, 40, 41, 50,
+  99, 123, 118, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 146, 148, 159, 166, 121, 110, 114, 104, 116, 135, 125, 129,
+  121, 110, 104, 76, 75, 66, 60, 55, 62, 45, 62, 70, 63, 76, 64, 63,
+  66, 63, 68, 72, 63, 55, 64, 64, 50, 46, 49, 44, 44, 44, 38, 41,
+  42, 41, 36, 30, 34, 42, 51, 52, 49, 48, 51, 47, 36, 28, 25, 34,
+  36, 37, 37, 35, 35, 36, 38, 33, 33, 32, 32, 32, 33, 32, 32, 32,
+  32, 33, 33, 34, 34, 35, 35, 29, 30, 33, 37, 40, 40, 36, 33, 38,
+  38, 37, 34, 31, 30, 31, 33, 32, 30, 29, 30, 32, 35, 38, 39, 35,
+  38, 39, 36, 37, 40, 38, 34, 25, 36, 31, 43, 49, 113, 141, 147, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  172, 173, 177, 175, 128, 115, 117, 107, 119, 138, 129, 126, 108, 127, 89, 93,
+  53, 73, 58, 59, 64, 44, 58, 67, 65, 78, 62, 57, 62, 64, 66, 64,
+  50, 47, 63, 57, 46, 47, 53, 50, 49, 49, 41, 37, 41, 42, 36, 28,
+  25, 30, 37, 48, 47, 50, 52, 45, 32, 26, 26, 34, 37, 38, 37, 35,
+  35, 36, 37, 30, 31, 32, 32, 31, 31, 31, 32, 33, 33, 34, 35, 35,
+  36, 36, 36, 30, 30, 31, 33, 35, 36, 35, 33, 39, 39, 37, 33, 30,
+  29, 30, 32, 30, 31, 32, 33, 34, 34, 34, 34, 34, 37, 38, 35, 36,
+  40, 39, 35, 31, 37, 28, 38, 47, 111, 134, 135, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 174, 170, 166, 177,
+  143, 131, 125, 109, 115, 135, 142, 124, 110, 119, 97, 88, 62, 73, 66, 71,
+  69, 53, 51, 57, 58, 59, 47, 57, 61, 60, 60, 54, 42, 47, 74, 43,
+  46, 57, 61, 45, 39, 45, 48, 39, 43, 46, 41, 30, 23, 23, 26, 40,
+  44, 52, 54, 44, 31, 25, 27, 34, 36, 37, 36, 35, 34, 34, 36, 29,
+  31, 33, 33, 32, 31, 32, 33, 34, 34, 34, 35, 35, 35, 35, 35, 40,
+  37, 35, 34, 35, 36, 35, 34, 42, 39, 35, 32, 31, 30, 31, 31, 29,
+  31, 34, 35, 34, 32, 32, 33, 28, 33, 34, 34, 36, 42, 43, 40, 38,
+  41, 38, 42, 58, 111, 133, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 177, 175, 166, 184, 159, 136, 125, 119,
+  119, 132, 146, 131, 123, 110, 113, 80, 79, 71, 74, 76, 66, 61, 48, 49,
+  57, 46, 42, 64, 64, 61, 62, 58, 45, 49, 75, 37, 40, 53, 58, 42,
+  37, 44, 48, 45, 49, 50, 46, 38, 28, 25, 24, 37, 41, 49, 55, 48,
+  36, 28, 27, 34, 36, 37, 36, 34, 32, 33, 34, 30, 33, 36, 36, 35,
+  33, 34, 36, 33, 33, 33, 33, 33, 32, 32, 32, 42, 40, 38, 38, 39,
+  39, 37, 36, 45, 40, 34, 31, 32, 33, 32, 30, 28, 30, 33, 32, 31,
+  31, 34, 37, 27, 30, 33, 32, 35, 41, 42, 40, 26, 31, 41, 33, 57,
+  101, 140, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 186, 190, 180, 194, 162, 127, 118, 128, 128, 128, 137, 137,
+  113, 125, 98, 105, 74, 92, 83, 76, 60, 64, 45, 47, 63, 44, 46, 65,
+  65, 63, 69, 67, 48, 44, 63, 44, 36, 42, 51, 47, 47, 50, 45, 48,
+  50, 51, 47, 39, 32, 26, 24, 39, 42, 49, 55, 52, 40, 30, 27, 33,
+  35, 36, 35, 33, 32, 32, 34, 31, 35, 38, 39, 36, 35, 35, 38, 32,
+  32, 32, 31, 30, 30, 29, 29, 33, 33, 33, 35, 37, 38, 36, 34, 47,
+  40, 33, 31, 33, 35, 33, 29, 28, 29, 30, 29, 29, 31, 37, 42, 30,
+  34, 34, 30, 32, 38, 37, 36, 35, 40, 52, 30, 50, 89, 146, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  176, 173, 170, 169, 171, 134, 142, 128, 139, 153, 125, 131, 122, 109, 105, 88,
+  107, 90, 103, 84, 82, 60, 62, 46, 62, 53, 59, 50, 67, 79, 51, 41,
+  58, 55, 52, 47, 42, 41, 42, 44, 46, 53, 59, 46, 45, 43, 41, 36,
+  34, 35, 38, 51, 31, 56, 51, 49, 48, 13, 29, 33, 34, 35, 35, 36,
+  37, 38, 38, 38, 38, 36, 34, 30, 30, 31, 34, 35, 34, 33, 33, 32,
+  31, 30, 30, 32, 32, 33, 34, 35, 35, 36, 37, 36, 36, 34, 33, 31,
+  30, 29, 28, 32, 31, 28, 27, 28, 31, 34, 36, 28, 30, 33, 35, 34,
+  34, 35, 37, 42, 37, 45, 41, 53, 99, 152, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 171, 166, 184,
+  180, 135, 145, 136, 152, 171, 152, 118, 112, 106, 102, 85, 100, 88, 103, 80,
+  78, 61, 65, 49, 61, 59, 72, 53, 47, 60, 61, 54, 49, 43, 61, 33,
+  41, 46, 47, 48, 53, 53, 49, 44, 44, 45, 43, 37, 32, 34, 39, 45,
+  29, 57, 54, 49, 46, 15, 32, 31, 34, 34, 35, 36, 37, 37, 37, 36,
+  36, 34, 32, 29, 28, 30, 32, 34, 34, 33, 32, 31, 31, 30, 30, 33,
+  33, 34, 35, 36, 37, 37, 38, 34, 34, 33, 32, 31, 30, 29, 29, 32,
+  30, 29, 28, 28, 31, 34, 36, 35, 36, 36, 38, 37, 37, 35, 36, 24,
+  34, 52, 31, 58, 149, 195, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 190, 189, 215, 179, 176, 136, 156, 155,
+  161, 168, 151, 120, 107, 99, 96, 93, 109, 92, 96, 69, 72, 72, 81, 65,
+  61, 52, 64, 49, 75, 88, 58, 55, 83, 70, 49, 40, 51, 55, 48, 42,
+  42, 38, 30, 43, 44, 47, 46, 37, 28, 29, 35, 32, 25, 54, 54, 50,
+  46, 20, 33, 31, 34, 35, 36, 37, 37, 37, 37, 35, 35, 35, 33, 30,
+  29, 30, 31, 33, 33, 33, 32, 31, 31, 30, 30, 32, 32, 33, 33, 34,
+  35, 35, 36, 32, 32, 31, 31, 30, 30, 30, 29, 31, 30, 29, 28, 29,
+  31, 34, 36, 40, 37, 37, 39, 40, 39, 36, 32, 24, 42, 40, 55, 65,
+  202, 223, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 240, 186, 199, 183, 180, 139, 164, 166, 162, 158, 144, 129,
+  103, 91, 90, 104, 120, 97, 86, 75, 76, 80, 86, 69, 52, 48, 59, 69,
+  67, 76, 70, 68, 72, 53, 51, 43, 45, 44, 42, 40, 42, 46, 49, 43,
+  44, 49, 50, 40, 26, 24, 32, 26, 24, 48, 54, 55, 50, 25, 30, 32,
+  35, 37, 38, 39, 39, 38, 38, 35, 36, 36, 34, 31, 30, 30, 31, 33,
+  32, 32, 31, 31, 30, 30, 30, 29, 29, 29, 30, 30, 31, 31, 31, 30,
+  30, 30, 30, 30, 30, 30, 30, 31, 30, 29, 29, 29, 31, 34, 35, 39,
+  35, 34, 36, 40, 41, 35, 30, 40, 38, 34, 64, 98, 179, 229, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  200, 189, 196, 206, 202, 148, 165, 170, 164, 162, 155, 121, 98, 94, 87, 100,
+  109, 92, 83, 88, 83, 82, 77, 67, 55, 61, 73, 81, 74, 80, 72, 72,
+  77, 61, 59, 60, 49, 44, 47, 45, 39, 44, 55, 45, 45, 49, 55, 44,
+  27, 23, 29, 26, 27, 43, 55, 59, 53, 30, 25, 33, 36, 39, 41, 41,
+  41, 40, 39, 37, 38, 38, 37, 34, 32, 32, 33, 32, 31, 31, 31, 31,
+  30, 30, 30, 29, 29, 29, 29, 29, 30, 30, 30, 29, 29, 29, 30, 30,
+  30, 31, 31, 30, 30, 29, 29, 30, 32, 33, 34, 37, 34, 33, 37, 42,
+  43, 37, 32, 41, 28, 39, 44, 121, 131, 235, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 178, 201, 196,
+  209, 163, 177, 182, 171, 156, 144, 108, 98, 109, 90, 93, 91, 89, 95, 81,
+  82, 91, 83, 87, 74, 76, 73, 79, 94, 96, 62, 66, 102, 94, 73, 66,
+  54, 49, 52, 53, 46, 44, 46, 49, 44, 50, 58, 50, 32, 24, 27, 28,
+  35, 47, 58, 60, 51, 34, 24, 33, 36, 39, 41, 42, 42, 40, 39, 37,
+  38, 39, 38, 35, 33, 33, 33, 31, 31, 31, 30, 30, 30, 30, 30, 31,
+  31, 31, 31, 32, 32, 32, 32, 30, 30, 30, 30, 31, 31, 31, 31, 30,
+  30, 30, 30, 31, 32, 33, 34, 36, 36, 37, 40, 43, 44, 40, 36, 25,
+  48, 26, 54, 84, 158, 233, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 182, 190, 190, 170, 204, 170, 186, 190,
+  169, 136, 112, 102, 91, 107, 85, 90, 86, 90, 96, 88, 90, 100, 86, 98,
+  87, 82, 62, 92, 70, 67, 66, 73, 81, 81, 101, 60, 62, 58, 56, 66,
+  80, 77, 62, 52, 46, 50, 62, 58, 37, 24, 26, 30, 45, 56, 64, 58,
+  43, 33, 24, 31, 35, 38, 40, 41, 40, 38, 37, 36, 37, 39, 38, 35,
+  33, 32, 32, 30, 30, 30, 30, 30, 30, 30, 30, 32, 32, 32, 32, 32,
+  32, 32, 32, 32, 32, 32, 32, 31, 31, 31, 31, 29, 29, 30, 30, 31,
+  32, 33, 33, 35, 36, 39, 42, 43, 40, 37, 35, 26, 60, 21, 64, 45,
+  207, 232, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 165, 176, 169, 208, 170, 179, 180, 159, 126, 102, 100,
+  79, 87, 69, 88, 88, 87, 83, 120, 109, 98, 65, 78, 78, 84, 65, 90,
+  91, 86, 57, 63, 100, 106, 104, 106, 114, 97, 70, 73, 94, 83, 52, 55,
+  46, 50, 63, 61, 41, 25, 26, 29, 51, 64, 69, 55, 36, 33, 28, 29,
+  33, 35, 39, 40, 38, 36, 35, 34, 36, 38, 37, 34, 32, 30, 30, 30,
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 33,
+  33, 33, 32, 32, 31, 31, 31, 29, 29, 30, 31, 31, 32, 33, 32, 33,
+  36, 39, 40, 39, 35, 31, 30, 44, 35, 42, 34, 54, 203, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 209, 171, 178, 208, 197, 196, 167, 132, 83, 95, 75, 66, 64, 73, 64,
+  96, 87, 91, 107, 103, 141, 81, 88, 75, 64, 74, 90, 76, 123, 67, 66,
+  82, 86, 112, 105, 113, 119, 110, 91, 71, 61, 59, 56, 57, 47, 49, 57,
+  38, 17, 26, 56, 62, 66, 59, 47, 32, 26, 27, 31, 31, 31, 36, 38,
+  36, 35, 36, 33, 32, 32, 34, 35, 35, 32, 30, 33, 32, 32, 31, 31,
+  30, 30, 29, 31, 32, 32, 33, 33, 32, 32, 31, 30, 30, 30, 30, 30,
+  30, 30, 30, 29, 29, 30, 31, 31, 32, 33, 32, 29, 44, 41, 47, 32,
+  23, 42, 28, 37, 23, 50, 37, 54, 207, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 163, 177,
+  186, 191, 167, 168, 120, 91, 77, 64, 47, 55, 55, 65, 88, 87, 114, 119,
+  112, 147, 58, 43, 90, 67, 83, 94, 124, 83, 87, 52, 90, 70, 107, 80,
+  90, 108, 107, 106, 90, 89, 85, 67, 65, 50, 44, 46, 33, 26, 45, 55,
+  61, 64, 58, 45, 32, 25, 24, 29, 28, 29, 34, 35, 33, 30, 33, 36,
+  35, 34, 35, 35, 33, 29, 26, 30, 30, 30, 30, 29, 29, 29, 29, 31,
+  32, 32, 33, 33, 32, 32, 31, 30, 30, 30, 30, 30, 30, 30, 30, 29,
+  29, 30, 31, 31, 32, 33, 32, 37, 34, 27, 45, 44, 32, 41, 29, 23,
+  49, 40, 61, 47, 206, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 161, 170, 210, 194, 174, 126, 115,
+  85, 75, 56, 56, 35, 57, 53, 70, 78, 76, 138, 116, 105, 105, 66, 75,
+  66, 112, 103, 86, 136, 68, 84, 78, 81, 79, 94, 89, 88, 101, 89, 95,
+  76, 79, 70, 68, 65, 52, 42, 39, 32, 38, 60, 57, 61, 61, 54, 41,
+  30, 24, 23, 32, 31, 33, 37, 37, 34, 32, 35, 36, 35, 35, 35, 35,
+  33, 29, 26, 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 33, 33, 33,
+  33, 32, 32, 31, 31, 31, 31, 31, 31, 31, 31, 29, 29, 30, 31, 31,
+  32, 33, 32, 36, 40, 31, 34, 31, 27, 40, 38, 43, 32, 31, 82, 138,
+  203, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 201, 200, 233, 219, 171, 128, 70, 78, 75, 74, 59,
+  48, 69, 71, 70, 69, 57, 149, 135, 110, 68, 74, 72, 58, 90, 74, 69,
+  113, 78, 99, 102, 89, 96, 89, 82, 71, 77, 60, 79, 69, 84, 79, 57,
+  55, 48, 44, 40, 37, 44, 59, 63, 62, 56, 46, 34, 25, 23, 25, 36,
+  35, 37, 41, 40, 35, 34, 38, 33, 32, 32, 34, 36, 36, 33, 31, 33,
+  33, 34, 35, 35, 36, 36, 36, 32, 32, 33, 34, 34, 33, 32, 32, 32,
+  32, 32, 32, 31, 31, 31, 31, 29, 29, 30, 31, 31, 32, 33, 32, 29,
+  44, 39, 28, 29, 34, 37, 32, 41, 33, 95, 176, 236, 200, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 209, 213, 170, 172, 143, 108, 48, 56, 62, 72, 69, 65, 69, 77, 53,
+  56, 51, 158, 158, 114, 89, 74, 54, 138, 66, 73, 67, 90, 86, 134, 84,
+  112, 94, 88, 86, 73, 70, 59, 74, 74, 86, 85, 58, 52, 47, 44, 40,
+  42, 50, 55, 69, 63, 52, 38, 27, 22, 25, 29, 34, 35, 37, 40, 37,
+  32, 33, 36, 33, 34, 34, 36, 37, 37, 34, 33, 34, 34, 35, 35, 36,
+  37, 37, 37, 32, 33, 34, 34, 34, 34, 33, 32, 34, 34, 33, 33, 32,
+  32, 31, 31, 29, 29, 30, 31, 31, 32, 33, 32, 29, 31, 31, 34, 47,
+  45, 38, 52, 63, 95, 155, 233, 240, 237, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 180, 194, 182,
+  179, 168, 116, 94, 72, 86, 88, 77, 70, 55, 57, 39, 47, 80, 170, 159,
+  107, 106, 79, 128, 133, 87, 77, 79, 71, 103, 124, 72, 97, 83, 74, 103,
+  94, 81, 75, 70, 69, 64, 60, 70, 56, 51, 45, 35, 43, 58, 59, 73,
+  64, 48, 33, 23, 21, 27, 32, 39, 40, 43, 45, 41, 35, 35, 41, 39,
+  38, 37, 39, 39, 37, 33, 30, 33, 33, 33, 33, 34, 34, 34, 34, 33,
+  33, 34, 34, 34, 34, 33, 33, 35, 35, 34, 34, 33, 32, 32, 31, 29,
+  29, 30, 31, 31, 32, 33, 32, 37, 26, 31, 38, 40, 26, 46, 127, 142,
+  189, 213, 208, 220, 244, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 233, 220, 208, 186, 150, 157,
+  123, 105, 97, 82, 63, 47, 34, 50, 54, 133, 182, 163, 127, 93, 71, 152,
+  53, 76, 56, 84, 79, 105, 114, 81, 86, 70, 65, 94, 92, 70, 77, 58,
+  71, 57, 61, 68, 56, 56, 49, 34, 44, 64, 66, 71, 62, 48, 34, 25,
+  23, 28, 32, 44, 46, 49, 50, 45, 40, 40, 45, 41, 40, 40, 41, 41,
+  39, 35, 32, 34, 34, 34, 33, 33, 33, 33, 33, 33, 34, 34, 35, 35,
+  34, 34, 33, 36, 36, 35, 34, 33, 32, 32, 31, 29, 29, 30, 31, 31,
+  32, 33, 32, 37, 34, 41, 36, 36, 29, 52, 142, 143, 200, 217, 209, 229,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 230, 234, 235, 202, 220, 233, 217, 144, 125, 85,
+  57, 48, 25, 75, 65, 173, 184, 167, 160, 86, 59, 84, 80, 73, 101, 78,
+  116, 84, 145, 81, 118, 59, 78, 101, 100, 65, 77, 44, 68, 49, 61, 52,
+  47, 58, 55, 36, 45, 69, 70, 69, 62, 48, 36, 29, 25, 27, 30, 42,
+  43, 47, 48, 42, 36, 36, 42, 37, 38, 38, 39, 42, 41, 39, 37, 36,
+  36, 36, 35, 35, 34, 34, 33, 33, 34, 34, 35, 35, 34, 34, 33, 37,
+  36, 35, 35, 34, 33, 32, 32, 29, 29, 30, 31, 31, 32, 33, 32, 30,
+  37, 41, 34, 65, 76, 48, 69, 69, 103, 76, 208, 241, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 226, 220, 225, 207, 203, 199, 187, 182, 163, 123, 59, 29, 59, 63,
+  119, 214, 176, 149, 111, 72, 82, 64, 64, 60, 87, 62, 72, 89, 90, 126,
+  161, 95, 124, 100, 81, 78, 78, 61, 47, 55, 65, 59, 47, 54, 55, 38,
+  45, 67, 72, 61, 63, 54, 37, 24, 27, 33, 35, 39, 42, 45, 45, 44,
+  42, 40, 41, 38, 36, 38, 42, 45, 41, 37, 38, 47, 45, 41, 38, 36,
+  36, 37, 38, 34, 35, 34, 32, 28, 28, 31, 35, 32, 29, 30, 34, 34,
+  31, 30, 33, 26, 29, 32, 32, 32, 32, 35, 37, 48, 48, 53, 60, 70,
+  73, 66, 59, 65, 53, 82, 89, 232, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 190, 228,
+  239, 180, 165, 217, 221, 190, 171, 117, 41, 41, 70, 70, 141, 198, 193, 156,
+  120, 75, 78, 62, 66, 66, 89, 65, 65, 107, 98, 135, 134, 75, 82, 90,
+  76, 80, 86, 72, 56, 56, 58, 61, 48, 49, 48, 33, 43, 73, 85, 64,
+  59, 44, 29, 25, 32, 37, 37, 41, 43, 47, 47, 46, 44, 43, 44, 44,
+  40, 41, 44, 46, 43, 43, 44, 45, 44, 40, 38, 36, 37, 39, 40, 36,
+  38, 38, 35, 32, 32, 34, 36, 37, 34, 34, 37, 36, 32, 31, 33, 41,
+  38, 34, 33, 36, 40, 43, 44, 55, 56, 56, 58, 65, 74, 74, 69, 61,
+  75, 86, 79, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 206, 184, 195, 221, 210,
+  223, 229, 168, 129, 74, 104, 107, 87, 179, 186, 192, 146, 116, 76, 68, 58,
+  65, 63, 72, 98, 74, 91, 84, 91, 104, 67, 83, 83, 70, 76, 85, 74,
+  60, 56, 55, 59, 51, 52, 48, 36, 43, 69, 85, 71, 58, 38, 25, 27,
+  38, 41, 38, 43, 46, 48, 49, 48, 45, 44, 45, 49, 44, 43, 46, 47,
+  46, 46, 49, 44, 44, 41, 40, 39, 39, 40, 41, 41, 42, 42, 40, 37,
+  35, 36, 38, 41, 38, 38, 40, 39, 34, 33, 35, 37, 33, 30, 34, 43,
+  52, 57, 58, 53, 63, 67, 64, 71, 84, 87, 82, 70, 90, 82, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 190, 186, 198, 204, 223, 219, 201, 204, 198, 118,
+  125, 170, 146, 107, 206, 183, 166, 123, 104, 77, 65, 61, 67, 60, 54, 96,
+  72, 64, 103, 66, 110, 59, 78, 85, 69, 68, 75, 65, 58, 57, 56, 55,
+  56, 60, 58, 46, 43, 54, 66, 69, 56, 38, 28, 31, 39, 41, 38, 43,
+  45, 48, 48, 47, 45, 43, 44, 47, 42, 42, 46, 48, 46, 45, 48, 44,
+  44, 43, 42, 41, 42, 42, 42, 43, 44, 44, 43, 41, 39, 37, 37, 41,
+  38, 39, 42, 41, 37, 36, 38, 28, 28, 30, 37, 46, 56, 64, 68, 58,
+  75, 82, 76, 76, 83, 83, 73, 57, 59, 124, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 213, 215, 207, 176, 166, 164, 169, 176, 157, 79, 139, 182, 173, 131,
+  200, 180, 150, 114, 100, 82, 64, 67, 70, 66, 56, 100, 70, 54, 97, 60,
+  107, 66, 75, 86, 72, 69, 72, 62, 58, 58, 57, 52, 58, 60, 58, 51,
+  43, 44, 54, 54, 46, 36, 32, 33, 35, 39, 41, 44, 46, 48, 49, 48,
+  45, 44, 45, 45, 41, 43, 49, 51, 47, 44, 44, 44, 45, 45, 45, 44,
+  43, 42, 43, 43, 43, 42, 43, 42, 40, 38, 37, 38, 36, 37, 41, 42,
+  39, 39, 41, 36, 38, 39, 39, 42, 53, 69, 81, 74, 87, 88, 76, 66,
+  66, 62, 53, 59, 120, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 220, 232,
+  219, 208, 194, 173, 200, 200, 110, 74, 141, 177, 195, 166, 185, 172, 150, 110,
+  96, 80, 57, 63, 65, 71, 64, 104, 67, 64, 69, 65, 81, 73, 67, 77,
+  70, 74, 79, 68, 61, 58, 54, 55, 60, 52, 49, 51, 45, 44, 57, 39,
+  36, 35, 35, 35, 34, 39, 44, 46, 48, 51, 51, 50, 48, 47, 46, 46,
+  44, 45, 52, 53, 50, 46, 46, 46, 47, 47, 48, 47, 45, 43, 42, 42,
+  41, 40, 40, 40, 41, 40, 38, 37, 35, 37, 41, 43, 40, 40, 43, 42,
+  43, 43, 41, 43, 57, 81, 100, 76, 77, 71, 60, 51, 53, 55, 56, 126,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 234, 176, 220, 188, 174, 211,
+  198, 137, 90, 101, 152, 185, 194, 184, 183, 165, 145, 100, 86, 77, 53, 60,
+  54, 65, 62, 69, 57, 75, 73, 80, 74, 64, 47, 67, 65, 74, 80, 68,
+  61, 59, 54, 57, 61, 48, 44, 55, 50, 44, 59, 43, 38, 37, 39, 39,
+  37, 40, 46, 46, 49, 51, 52, 50, 47, 46, 46, 49, 47, 46, 50, 52,
+  49, 47, 49, 46, 48, 49, 50, 48, 45, 43, 41, 43, 40, 38, 38, 40,
+  42, 42, 41, 41, 39, 40, 44, 44, 42, 41, 44, 40, 44, 47, 49, 51,
+  60, 73, 84, 67, 60, 54, 53, 50, 49, 56, 129, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 236, 205, 166, 180, 203, 189, 151, 102, 107,
+  154, 190, 170, 177, 190, 160, 133, 92, 81, 79, 59, 66, 51, 60, 57, 61,
+  64, 55, 57, 48, 69, 63, 69, 60, 59, 69, 71, 59, 55, 59, 56, 58,
+  62, 49, 47, 61, 54, 42, 54, 57, 48, 43, 44, 43, 40, 41, 45, 43,
+  46, 49, 49, 47, 45, 44, 43, 51, 46, 44, 46, 48, 46, 46, 50, 47,
+  49, 50, 51, 48, 46, 42, 40, 44, 41, 36, 37, 40, 43, 44, 43, 44,
+  42, 42, 45, 45, 42, 41, 43, 43, 48, 55, 59, 57, 51, 44, 40, 69,
+  58, 55, 59, 56, 48, 118, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 200, 178, 174, 185, 187, 140, 84, 109, 190, 168, 170, 200,
+  171, 145, 127, 92, 72, 59, 65, 68, 61, 59, 66, 56, 61, 66, 66, 62,
+  58, 57, 58, 60, 59, 61, 66, 69, 64, 54, 46, 53, 56, 54, 52, 54,
+  57, 52, 46, 49, 52, 52, 48, 41, 39, 42, 45, 47, 49, 52, 52, 50,
+  47, 46, 45, 50, 48, 45, 46, 47, 51, 55, 57, 48, 52, 52, 51, 48,
+  44, 43, 44, 47, 51, 49, 45, 42, 42, 40, 36, 48, 44, 47, 47, 45,
+  53, 53, 39, 60, 50, 44, 45, 45, 41, 41, 44, 52, 53, 52, 53, 53,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 224, 224, 211, 163, 126, 100, 136, 192, 180, 183, 193, 175, 158, 113, 82,
+  89, 83, 65, 54, 58, 60, 58, 57, 62, 65, 67, 66, 65, 65, 64, 66,
+  61, 56, 56, 59, 62, 61, 59, 55, 58, 55, 52, 54, 56, 53, 47, 49,
+  54, 56, 53, 46, 43, 43, 44, 46, 46, 48, 47, 45, 44, 45, 47, 52,
+  51, 48, 46, 47, 49, 50, 53, 51, 52, 50, 49, 47, 45, 46, 49, 46,
+  47, 46, 42, 42, 45, 43, 40, 47, 41, 42, 45, 48, 60, 62, 49, 52,
+  45, 41, 43, 45, 43, 42, 46, 46, 47, 47, 118, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 239,
+  176, 142, 121, 158, 182, 175, 178, 174, 169, 167, 117, 76, 84, 80, 63, 54,
+  60, 62, 57, 57, 58, 60, 63, 65, 65, 62, 60, 66, 60, 53, 51, 55,
+  61, 64, 67, 57, 59, 55, 51, 51, 54, 53, 48, 48, 53, 56, 55, 49,
+  45, 43, 43, 46, 46, 46, 45, 43, 44, 46, 49, 53, 52, 50, 48, 47,
+  46, 46, 46, 52, 53, 51, 48, 46, 46, 49, 52, 47, 47, 44, 40, 43,
+  46, 44, 40, 48, 41, 43, 47, 51, 63, 67, 56, 45, 41, 40, 43, 46,
+  45, 45, 47, 42, 42, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 207, 147, 134, 123, 171,
+  172, 161, 176, 185, 173, 162, 128, 82, 68, 61, 68, 71, 67, 63, 65, 62,
+  60, 59, 61, 63, 62, 57, 53, 59, 57, 55, 57, 60, 62, 61, 61, 57,
+  58, 55, 50, 48, 51, 52, 48, 47, 51, 52, 51, 47, 43, 41, 41, 46,
+  47, 48, 48, 47, 47, 50, 52, 52, 51, 50, 49, 48, 46, 45, 45, 48,
+  51, 51, 49, 48, 47, 48, 51, 47, 48, 45, 44, 46, 49, 44, 38, 48,
+  44, 48, 51, 48, 54, 58, 51, 41, 40, 41, 43, 45, 46, 46, 47, 43,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 197, 206, 158, 152, 135, 152, 131, 104, 141, 190,
+  171, 133, 117, 101, 91, 85, 86, 80, 71, 66, 66, 67, 64, 62, 63, 65,
+  65, 60, 56, 57, 57, 57, 59, 60, 59, 56, 55, 55, 57, 54, 49, 47,
+  49, 50, 48, 51, 52, 50, 48, 45, 43, 43, 45, 43, 46, 50, 52, 51,
+  51, 50, 50, 49, 49, 48, 47, 47, 46, 45, 46, 44, 48, 50, 51, 50,
+  47, 46, 46, 42, 46, 48, 49, 52, 55, 50, 42, 45, 45, 53, 55, 44,
+  42, 48, 46, 42, 44, 45, 44, 44, 45, 45, 45, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 166, 182, 176, 179, 155, 146, 105, 71, 113, 185, 186, 155, 159, 125,
+  145, 143, 110, 79, 72, 69, 59, 60, 59, 58, 60, 60, 62, 60, 58, 60,
+  59, 55, 53, 51, 54, 55, 57, 52, 56, 55, 50, 48, 50, 51, 49, 55,
+  53, 51, 48, 46, 47, 46, 47, 42, 45, 50, 52, 52, 50, 48, 48, 49,
+  48, 46, 46, 45, 46, 47, 48, 43, 47, 51, 53, 51, 47, 45, 43, 38,
+  45, 50, 53, 56, 59, 58, 54, 47, 44, 52, 55, 43, 38, 44, 45, 44,
+  48, 47, 43, 41, 42, 44, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 209,
+  191, 175, 149, 95, 73, 83, 121, 153, 163, 159, 166, 143, 169, 168, 127, 87,
+  73, 68, 59, 55, 56, 58, 57, 55, 55, 55, 56, 58, 57, 53, 50, 48,
+  50, 54, 56, 51, 57, 57, 54, 52, 52, 54, 52, 53, 52, 51, 50, 48,
+  48, 45, 44, 46, 49, 51, 52, 51, 50, 50, 51, 51, 49, 46, 44, 44,
+  44, 46, 48, 47, 50, 52, 53, 50, 46, 45, 46, 45, 53, 58, 55, 54,
+  57, 61, 62, 60, 48, 49, 51, 43, 40, 45, 44, 44, 48, 47, 40, 37,
+  40, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 192, 196, 198, 156, 109, 84,
+  108, 187, 221, 190, 178, 182, 172, 153, 156, 151, 132, 101, 75, 64, 65, 60,
+  62, 64, 61, 57, 53, 55, 56, 52, 54, 54, 54, 53, 52, 53, 54, 50,
+  58, 61, 57, 55, 55, 55, 55, 49, 49, 49, 50, 50, 47, 43, 39, 52,
+  53, 54, 53, 51, 52, 54, 57, 54, 52, 47, 44, 43, 44, 45, 48, 51,
+  53, 53, 51, 49, 46, 47, 47, 56, 62, 64, 57, 51, 54, 59, 63, 75,
+  55, 47, 48, 44, 43, 46, 42, 42, 47, 45, 37, 33, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 243, 203, 182, 134, 96, 85, 217, 216, 206, 186,
+  188, 187, 173, 185, 173, 159, 123, 77, 64, 66, 49, 63, 60, 54, 50, 50,
+  53, 55, 56, 47, 47, 48, 50, 50, 51, 51, 52, 55, 56, 55, 52, 52,
+  52, 54, 57, 46, 51, 51, 48, 47, 51, 50, 45, 51, 43, 41, 50, 57,
+  56, 51, 50, 54, 54, 50, 47, 49, 53, 50, 44, 53, 49, 51, 56, 49,
+  37, 44, 60, 48, 59, 56, 57, 64, 53, 57, 89, 54, 47, 43, 44, 44,
+  40, 36, 36, 48, 48, 47, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 209, 191, 164, 100, 86, 207, 220, 166, 128, 160, 181, 206, 187, 157,
+  149, 139, 109, 68, 62, 65, 54, 61, 58, 54, 52, 52, 54, 55, 56, 59,
+  58, 56, 55, 54, 54, 54, 56, 55, 55, 55, 54, 53, 53, 54, 56, 46,
+  51, 52, 48, 47, 51, 51, 46, 49, 43, 42, 50, 54, 53, 50, 50, 52,
+  54, 54, 51, 51, 53, 51, 46, 50, 48, 49, 53, 47, 43, 48, 59, 54,
+  44, 59, 65, 51, 70, 84, 52, 53, 46, 42, 44, 44, 40, 38, 38, 45,
+  45, 45, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 222, 181,
+  133, 100, 164, 197, 162, 109, 95, 139, 191, 180, 123, 153, 147, 135, 106, 71,
+  62, 64, 57, 58, 57, 54, 53, 53, 55, 55, 55, 63, 59, 56, 52, 49,
+  48, 49, 51, 54, 55, 55, 55, 55, 55, 54, 54, 48, 51, 51, 48, 49,
+  51, 50, 46, 46, 43, 45, 49, 50, 49, 49, 51, 50, 55, 57, 54, 52,
+  52, 50, 48, 49, 49, 49, 48, 47, 49, 54, 59, 51, 56, 51, 54, 73,
+  81, 63, 41, 50, 44, 42, 44, 44, 41, 40, 42, 43, 114, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 162, 121, 105, 174, 162,
+  128, 66, 57, 59, 185, 192, 152, 160, 153, 135, 106, 78, 67, 65, 62, 56,
+  55, 54, 54, 55, 55, 54, 52, 58, 56, 54, 52, 48, 46, 44, 45, 54,
+  54, 54, 55, 57, 56, 54, 51, 50, 51, 50, 48, 48, 49, 48, 48, 45,
+  47, 49, 51, 49, 47, 50, 53, 51, 57, 58, 52, 49, 50, 51, 52, 49,
+  53, 52, 48, 49, 56, 58, 57, 55, 62, 50, 59, 84, 64, 38, 49, 47,
+  43, 42, 44, 45, 42, 42, 45, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 234, 155, 114, 137, 184, 109, 94, 85, 93, 73,
+  175, 199, 174, 149, 141, 119, 94, 78, 70, 68, 69, 56, 54, 53, 54, 55,
+  55, 52, 50, 55, 57, 59, 59, 57, 53, 49, 47, 55, 54, 53, 55, 58,
+  57, 54, 51, 52, 51, 49, 49, 48, 48, 48, 48, 47, 50, 52, 51, 49,
+  49, 53, 55, 54, 57, 56, 50, 46, 48, 54, 55, 52, 57, 58, 55, 55,
+  59, 60, 57, 67, 48, 66, 79, 51, 40, 51, 43, 45, 42, 42, 45, 45,
+  43, 44, 117, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 210, 156, 128, 131, 97, 118, 63, 66, 55, 57, 97, 192, 200, 145,
+  133, 101, 78, 75, 70, 64, 68, 58, 55, 53, 53, 54, 53, 51, 49, 52,
+  55, 59, 62, 61, 57, 52, 49, 56, 54, 52, 54, 57, 56, 54, 51, 54,
+  50, 49, 49, 48, 45, 47, 49, 48, 52, 54, 51, 48, 51, 55, 55, 54,
+  56, 54, 48, 46, 49, 52, 54, 53, 57, 61, 63, 62, 60, 60, 60, 59,
+  70, 75, 59, 38, 39, 49, 45, 44, 42, 43, 46, 45, 43, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 167,
+  96, 100, 86, 93, 35, 36, 27, 39, 44, 165, 180, 150, 131, 91, 67, 72,
+  69, 59, 63, 60, 57, 54, 52, 52, 52, 49, 48, 50, 53, 56, 59, 59,
+  56, 52, 49, 59, 55, 52, 53, 55, 58, 55, 52, 55, 50, 48, 49, 48,
+  44, 45, 50, 49, 52, 51, 47, 47, 52, 55, 53, 52, 53, 53, 50, 49,
+  53, 50, 48, 50, 53, 61, 70, 67, 59, 58, 65, 61, 83, 60, 35, 49,
+  49, 37, 51, 43, 42, 44, 46, 115, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 211, 99, 83, 92, 54,
+  39, 37, 49, 45, 55, 160, 163, 144, 123, 78, 57, 70, 70, 59, 65, 62,
+  58, 54, 51, 51, 51, 49, 47, 54, 56, 58, 58, 58, 56, 53, 52, 60,
+  56, 51, 51, 55, 57, 56, 52, 56, 50, 48, 50, 48, 44, 45, 49, 48,
+  51, 50, 45, 45, 53, 54, 51, 49, 52, 52, 52, 54, 55, 50, 42, 45,
+  48, 60, 74, 70, 57, 57, 70, 89, 52, 42, 50, 46, 48, 53, 43, 44,
+  43, 45, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 235, 237, 136, 96, 91, 69, 47, 79, 67, 122,
+  64, 154, 195, 134, 110, 87, 74, 69, 63, 57, 55, 64, 61, 57, 56, 54,
+  50, 45, 40, 49, 52, 58, 62, 64, 62, 58, 56, 57, 53, 53, 57, 58,
+  54, 57, 62, 58, 56, 53, 51, 49, 49, 49, 48, 49, 49, 50, 50, 50,
+  52, 52, 53, 57, 54, 54, 58, 55, 47, 43, 46, 59, 45, 48, 64, 67,
+  72, 82, 86, 54, 52, 50, 48, 49, 48, 48, 47, 44, 42, 114, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 250, 251, 193, 163, 133, 93, 100, 124, 158, 180, 106, 183, 176, 138,
+  106, 74, 59, 58, 61, 63, 63, 60, 59, 59, 59, 60, 58, 55, 50, 49,
+  51, 56, 60, 62, 60, 57, 57, 55, 52, 52, 56, 56, 53, 54, 58, 60,
+  58, 54, 51, 50, 49, 48, 48, 51, 50, 51, 51, 52, 53, 53, 54, 59,
+  56, 55, 56, 52, 45, 40, 41, 49, 41, 43, 53, 63, 79, 87, 77, 53,
+  50, 48, 45, 45, 46, 47, 47, 116, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 237,
+  237, 248, 231, 218, 204, 205, 223, 201, 159, 199, 199, 157, 119, 76, 58, 58,
+  62, 60, 58, 56, 56, 57, 59, 60, 58, 54, 51, 50, 50, 53, 55, 57,
+  57, 57, 56, 53, 52, 52, 55, 55, 52, 51, 53, 57, 56, 55, 53, 53,
+  52, 52, 52, 52, 51, 52, 53, 54, 54, 55, 55, 55, 53, 52, 54, 50,
+  43, 41, 41, 50, 46, 44, 47, 56, 77, 75, 53, 51, 49, 47, 44, 44,
+  45, 49, 50, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 208, 194, 230,
+  212, 242, 241, 216, 217, 164, 197, 160, 121, 80, 63, 65, 65, 59, 51, 60,
+  60, 60, 60, 57, 54, 50, 48, 49, 50, 51, 51, 53, 55, 56, 57, 53,
+  53, 53, 54, 54, 52, 50, 50, 51, 51, 52, 54, 56, 57, 59, 59, 54,
+  54, 54, 55, 56, 57, 58, 59, 51, 52, 52, 52, 50, 47, 46, 47, 51,
+  46, 47, 50, 54, 65, 63, 45, 46, 48, 49, 49, 48, 47, 118, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 228,
+  231, 139, 175, 146, 110, 72, 59, 64, 67, 64, 57, 65, 65, 66, 63, 59,
+  56, 53, 52, 50, 50, 50, 50, 51, 54, 56, 58, 54, 54, 54, 53, 52,
+  52, 52, 51, 49, 50, 51, 54, 56, 58, 59, 60, 55, 55, 56, 57, 58,
+  59, 59, 61, 52, 54, 54, 52, 51, 51, 49, 48, 45, 38, 45, 58, 55,
+  54, 57, 55, 39, 45, 49, 52, 50, 117, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 208, 170, 174, 143,
+  111, 75, 60, 61, 65, 67, 67, 63, 62, 62, 60, 57, 54, 55, 56, 52,
+  51, 50, 51, 52, 55, 58, 58, 54, 55, 54, 51, 51, 54, 55, 53, 53,
+  54, 54, 55, 55, 55, 55, 55, 56, 56, 57, 58, 58, 59, 60, 61, 58,
+  61, 58, 53, 51, 51, 47, 44, 48, 41, 52, 65, 53, 44, 49, 56, 36,
+  42, 49, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 245, 204, 198, 156, 136, 112, 85, 70, 66,
+  65, 68, 69, 60, 59, 57, 54, 51, 51, 54, 58, 52, 52, 52, 52, 54,
+  56, 58, 60, 54, 56, 54, 49, 48, 54, 57, 55, 54, 55, 54, 55, 55,
+  54, 52, 52, 55, 56, 56, 58, 58, 59, 60, 61, 60, 63, 60, 53, 49,
+  51, 49, 44, 51, 51, 62, 63, 47, 42, 46, 48, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 205, 196, 140, 109, 96, 82, 75, 71, 66, 66, 68, 65,
+  64, 60, 55, 51, 52, 56, 61, 53, 52, 53, 54, 55, 57, 59, 60, 53,
+  57, 53, 46, 47, 55, 58, 57, 51, 52, 54, 55, 55, 54, 54, 54, 56,
+  56, 56, 58, 58, 59, 60, 61, 57, 60, 58, 51, 49, 51, 51, 46, 41,
+  51, 60, 55, 44, 50, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  220, 206, 125, 125, 102, 80, 73, 69, 62, 59, 63, 66, 67, 64, 60, 54,
+  50, 48, 47, 49, 51, 51, 52, 54, 55, 56, 57, 55, 53, 50, 48, 47,
+  49, 51, 52, 53, 55, 60, 60, 54, 48, 52, 61, 56, 55, 53, 54, 57,
+  63, 66, 67, 58, 56, 52, 53, 54, 53, 49, 45, 40, 51, 69, 48, 120,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 215, 209, 151,
+  119, 87, 74, 72, 67, 63, 65, 60, 63, 61, 58, 54, 48, 45, 44, 48,
+  49, 50, 51, 53, 54, 55, 56, 54, 53, 50, 49, 48, 49, 51, 53, 52,
+  53, 55, 57, 53, 48, 51, 57, 56, 53, 55, 59, 58, 55, 59, 68, 48,
+  47, 47, 47, 46, 46, 44, 42, 50, 120, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 201, 193, 220, 153, 121, 87, 75, 72,
+  66, 60, 61, 61, 62, 60, 57, 55, 50, 47, 45, 47, 48, 49, 50, 52,
+  53, 55, 56, 53, 52, 50, 49, 49, 51, 53, 54, 56, 55, 56, 59, 57,
+  53, 55, 60, 56, 53, 57, 62, 58, 51, 55, 67, 44, 46, 47, 46, 46,
+  45, 47, 118, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 228, 199, 209, 122, 103, 89, 86, 82, 71, 62, 61, 67,
+  65, 61, 57, 55, 54, 52, 51, 47, 47, 49, 50, 51, 52, 54, 55, 52,
+  52, 49, 48, 49, 51, 54, 55, 58, 54, 55, 58, 58, 56, 55, 58, 53,
+  56, 59, 59, 60, 62, 61, 61, 44, 48, 49, 48, 46, 46, 119, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  229, 209, 218, 84, 82, 88, 97, 96, 83, 72, 74, 73, 68, 60, 55, 54,
+  55, 56, 56, 49, 49, 50, 50, 51, 52, 52, 53, 53, 52, 50, 49, 50,
+  52, 53, 55, 52, 48, 49, 52, 53, 50, 51, 54, 51, 59, 59, 54, 62,
+  78, 71, 53, 42, 44, 45, 43, 41, 114, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 216, 81,
+  73, 73, 85, 90, 83, 73, 72, 75, 69, 60, 54, 53, 55, 55, 55, 52,
+  52, 51, 51, 52, 52, 51, 51, 54, 53, 51, 50, 50, 51, 53, 55, 51,
+  49, 51, 54, 52, 49, 50, 55, 53, 59, 57, 55, 68, 83, 74, 50, 47,
+  46, 44, 42, 112, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 211, 147, 107, 71, 68, 79,
+  82, 73, 66, 77, 71, 63, 59, 59, 58, 56, 52, 55, 54, 54, 53, 52,
+  52, 51, 50, 55, 54, 51, 50, 50, 51, 53, 54, 51, 52, 56, 58, 54,
+  50, 54, 61, 58, 53, 53, 64, 74, 74, 65, 55, 56, 52, 47, 114, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 240, 182, 234, 163, 90, 68, 84, 95, 84, 71, 78,
+  73, 66, 65, 65, 63, 56, 51, 57, 57, 56, 54, 53, 51, 51, 50, 56,
+  55, 52, 50, 49, 50, 52, 53, 47, 50, 55, 57, 52, 47, 51, 59, 63,
+  48, 52, 74, 79, 64, 54, 60, 60, 54, 116, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 197, 208, 213, 195, 227, 209, 149, 72, 61, 70, 48, 65, 66,
+  76, 67, 66, 58, 58, 57, 57, 56, 55, 54, 53, 60, 57, 51, 46, 45,
+  47, 51, 54, 56, 55, 53, 52, 55, 59, 58, 55, 57, 61, 71, 80, 75,
+  63, 60, 65, 59, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 218, 223, 209, 174, 74, 62, 61, 70, 59, 60, 59, 71, 59,
+  60, 58, 58, 56, 55, 53, 53, 54, 54, 52, 51, 51, 52, 53, 54, 55,
+  53, 50, 48, 50, 53, 54, 54, 54, 69, 76, 67, 59, 60, 62, 60, 61,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  242, 220, 214, 128, 59, 66, 66, 59, 55, 56, 71, 63, 62, 61, 59, 57,
+  55, 52, 52, 50, 51, 52, 53, 53, 52, 49, 49, 57, 55, 52, 50, 50,
+  51, 53, 56, 56, 80, 81, 58, 45, 57, 64, 55, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 200, 196,
+  63, 57, 55, 64, 65, 62, 62, 64, 64, 62, 60, 57, 55, 52, 52, 51,
+  53, 53, 53, 51, 48, 45, 43, 54, 53, 53, 54, 51, 49, 51, 55, 71,
+  84, 79, 56, 46, 56, 60, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 212, 220, 64, 48, 52, 67,
+  71, 63, 53, 64, 64, 61, 60, 56, 54, 52, 52, 53, 53, 52, 51, 50,
+  49, 47, 47, 43, 44, 47, 51, 47, 42, 45, 54, 87, 78, 65, 58, 55,
+  53, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 214, 200, 70, 49, 64, 64, 67, 63, 52, 63,
+  62, 61, 58, 56, 54, 52, 51, 52, 52, 52, 52, 53, 55, 56, 58, 43,
+  43, 47, 52, 48, 43, 50, 63, 91, 67, 51, 58, 125, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 204, 193, 95, 53, 72, 62, 71, 71, 57, 62, 60, 59, 57, 56,
+  54, 52, 52, 48, 49, 49, 51, 53, 55, 57, 58, 48, 46, 48, 51, 48,
+  46, 60, 80, 86, 61, 46, 54, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 211,
+  123, 54, 72, 63, 79, 81, 62, 59, 58, 57, 56, 54, 54, 52, 52, 45,
+  47, 49, 50, 51, 51, 51, 50, 48, 44, 44, 46, 43, 44, 63, 87, 80,
+  62, 48, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 210, 57, 84, 89,
+  56, 73, 61, 51, 66, 55, 60, 55, 44, 58, 49, 54, 51, 58, 51, 38,
+  51, 65, 50, 47, 58, 54, 36, 42, 65, 73, 63, 65, 58, 123, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 200, 236, 102, 81, 66, 74, 64, 74, 63,
+  66, 52, 62, 60, 46, 53, 48, 57, 42, 51, 67, 59, 53, 56, 51, 53,
+  36, 48, 77, 49, 56, 62, 61, 43, 122, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 211, 183, 233, 108, 65, 100, 75, 66, 74, 66, 51, 61, 63,
+  52, 57, 57, 60, 42, 43, 55, 53, 49, 53, 52, 50, 43, 53, 58, 57,
+  66, 72, 56, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  206, 212, 218, 119, 81, 90, 72, 73, 68, 56, 54, 53, 51, 55, 54, 58,
+  63, 61, 53, 51, 60, 62, 51, 65, 65, 59, 24, 69, 58, 56, 111, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 240, 194, 203, 235,
+  73, 74, 97, 74, 80, 80, 66, 58, 63, 58, 53, 51, 68, 70, 60, 57,
+  60, 58, 53, 55, 45, 60, 76, 79, 56, 50, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 194, 213, 191, 76, 87, 61,
+  67, 78, 65, 59, 66, 57, 58, 67, 68, 62, 61, 62, 55, 63, 89, 64,
+  83, 118, 154, 62, 73, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 233, 215, 203, 188, 93, 98, 76, 77, 66, 62,
+  64, 57, 78, 65, 67, 59, 62, 72, 71, 80, 111, 141, 188, 185, 138, 57,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 190, 201, 210, 154, 131, 115, 104, 96, 92, 131, 137,
+  168, 177, 180, 202, 209, 198, 199, 183, 221, 166, 56, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193,
+  45, 37, 224, 49, 57, 97, 58, 60, 50, 45, 77, 70, 244, 112, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  186, 67, 51, 57, 51, 56, 60, 57, 68, 56, 51, 40, 56, 65, 139, 42,
+  54, 78, 71, 111, 61, 43, 92, 116, 156, 69, 142, 238, 229, 250, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 72, 93, 118, 105, 87, 60, 77,
+  58, 49, 84, 55, 56, 46, 67, 73, 62, 65, 81, 74, 60, 54, 119, 53,
+  115, 132, 118, 90, 95, 131, 140, 175, 159, 211, 204, 228, 233, 221, 226, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 186, 55, 24, 131, 164, 113, 71, 70, 46, 38, 88, 96, 41, 56,
+  46, 63, 102, 68, 39, 107, 123, 124, 104, 52, 183, 117, 138, 131, 165, 156,
+  130, 100, 90, 164, 221, 224, 230, 227, 230, 229, 237, 248, 199, 190, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 202, 81, 67, 39,
+  149, 129, 139, 103, 81, 90, 112, 100, 64, 65, 136, 92, 72, 87, 142, 143,
+  170, 226, 147, 162, 162, 134, 165, 143, 146, 180, 148, 177, 196, 163, 144, 150,
+  161, 164, 199, 171, 198, 222, 211, 202, 188, 153, 144, 97, 70, 125, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 156, 134, 131, 156, 160, 150, 184, 184, 128,
+  190, 177, 121, 117, 148, 145, 183, 149, 214, 190, 185, 185, 166, 170, 163, 185,
+  136, 129, 180, 145, 132, 190, 172, 132, 128, 145, 172, 166, 129, 173, 179, 188,
+  189, 208, 191, 168, 173, 171, 167, 102, 52, 68, 59, 128, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 170, 135, 164, 191, 160, 114, 156, 154, 194, 196, 133, 127, 131, 110,
+  196, 219, 159, 171, 210, 139, 139, 167, 154, 141, 200, 119, 188, 154, 165, 176,
+  182, 147, 142, 165, 124, 132, 155, 143, 111, 179, 175, 187, 150, 146, 153, 155,
+  139, 104, 94, 85, 93, 94, 41, 43, 76, 76, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 220, 107, 172, 142,
+  170, 214, 200, 207, 174, 169, 168, 163, 175, 152, 146, 152, 167, 150, 196, 186,
+  160, 151, 193, 144, 160, 165, 146, 184, 203, 202, 177, 189, 157, 141, 107, 125,
+  113, 105, 128, 120, 109, 128, 114, 137, 153, 162, 144, 138, 127, 100, 105, 80,
+  102, 87, 67, 57, 57, 55, 19, 92, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 222, 115, 182, 83, 115, 160, 227, 220, 198,
+  176, 166, 203, 157, 167, 143, 181, 177, 155, 162, 198, 208, 132, 171, 105, 134,
+  191, 146, 193, 206, 170, 138, 158, 181, 169, 138, 165, 132, 106, 178, 119, 76,
+  111, 102, 74, 131, 154, 110, 76, 142, 75, 80, 128, 101, 65, 186, 50, 48,
+  65, 54, 57, 66, 81, 124, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 118, 126, 195, 169, 103, 209, 190, 230, 208, 207, 194, 229, 174, 164,
+  175, 181, 203, 192, 152, 186, 228, 158, 182, 153, 154, 120, 140, 216, 185, 150,
+  168, 121, 152, 166, 135, 169, 196, 170, 128, 157, 117, 87, 81, 60, 91, 122,
+  109, 97, 84, 83, 77, 106, 76, 82, 96, 115, 79, 112, 49, 47, 42, 39,
+  63, 45, 78, 42, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 136, 92, 94, 126,
+  127, 204, 214, 201, 231, 197, 232, 199, 209, 196, 177, 168, 195, 215, 197, 210,
+  208, 218, 169, 179, 163, 164, 72, 189, 206, 141, 148, 144, 136, 112, 118, 132,
+  131, 78, 95, 156, 158, 114, 88, 101, 87, 88, 93, 80, 84, 77, 73, 49,
+  60, 72, 46, 110, 53, 78, 113, 82, 39, 56, 50, 55, 53, 63, 61, 59,
+  48, 130, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 215, 122, 91, 135, 163, 185, 152, 164, 169, 185,
+  210, 210, 231, 222, 179, 172, 193, 219, 211, 219, 205, 190, 182, 206, 196, 226,
+  122, 133, 237, 174, 154, 183, 145, 143, 128, 169, 100, 139, 123, 115, 152, 107,
+  141, 108, 68, 99, 93, 109, 77, 64, 81, 84, 81, 49, 35, 38, 50, 118,
+  71, 54, 88, 83, 63, 41, 85, 54, 57, 39, 71, 24, 73, 68, 55, 113,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 138, 114, 103, 74, 108, 151, 223, 173, 205, 201, 226, 192, 224, 241, 204,
+  199, 201, 204, 196, 225, 222, 181, 156, 211, 207, 154, 196, 138, 184, 191, 170,
+  194, 177, 196, 186, 205, 134, 162, 134, 151, 121, 105, 113, 98, 173, 98, 114,
+  117, 91, 76, 91, 77, 103, 87, 42, 29, 52, 48, 82, 75, 29, 76, 79,
+  67, 63, 57, 56, 44, 76, 61, 62, 66, 84, 49, 71, 21, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 189, 225, 184, 106, 59,
+  161, 112, 202, 214, 166, 172, 192, 201, 204, 218, 228, 182, 227, 199, 214, 204,
+  191, 192, 221, 221, 236, 188, 161, 151, 195, 226, 120, 165, 161, 224, 210, 166,
+  154, 178, 140, 181, 121, 154, 91, 91, 122, 127, 129, 153, 114, 157, 38, 85,
+  85, 85, 44, 38, 41, 39, 38, 59, 42, 73, 81, 39, 66, 81, 67, 64,
+  72, 68, 89, 47, 90, 62, 58, 57, 65, 60, 114, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 100, 152, 168, 184, 81, 63, 148, 201, 144,
+  235, 137, 206, 163, 195, 227, 181, 210, 183, 195, 201, 204, 219, 228, 207, 207,
+  231, 219, 223, 227, 205, 158, 192, 187, 201, 190, 205, 182, 124, 119, 96, 105,
+  108, 127, 74, 84, 66, 109, 104, 127, 150, 106, 47, 54, 70, 58, 38, 42,
+  50, 15, 38, 51, 64, 103, 54, 70, 84, 68, 120, 76, 63, 70, 52, 52,
+  61, 49, 45, 44, 93, 91, 77, 126, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 233, 104, 155, 133, 76, 116, 143, 159, 191, 204, 130, 144, 175, 197,
+  195, 199, 210, 184, 169, 202, 181, 204, 179, 184, 171, 205, 196, 185, 208, 204,
+  188, 230, 231, 156, 212, 135, 204, 163, 197, 133, 188, 65, 77, 144, 120, 93,
+  117, 67, 165, 148, 74, 105, 86, 57, 32, 63, 107, 40, 55, 35, 44, 52,
+  36, 44, 55, 83, 60, 107, 62, 79, 72, 66, 65, 58, 76, 38, 46, 20,
+  52, 34, 21, 42, 47, 29, 115, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 208, 156, 123, 119,
+  150, 127, 77, 188, 136, 154, 200, 186, 180, 157, 193, 186, 203, 168, 179, 198,
+  178, 172, 184, 182, 197, 167, 169, 191, 191, 167, 211, 210, 201, 194, 168, 190,
+  128, 170, 111, 224, 99, 117, 152, 62, 119, 112, 105, 145, 115, 128, 130, 107,
+  90, 69, 70, 44, 52, 46, 61, 46, 54, 38, 42, 43, 37, 49, 65, 71,
+  78, 92, 95, 85, 59, 63, 76, 70, 63, 57, 38, 31, 57, 39, 29, 43,
+  40, 41, 44, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 187, 134, 165, 73, 134, 157, 192, 200, 184,
+  196, 164, 198, 179, 190, 176, 186, 188, 175, 195, 217, 174, 164, 195, 162, 172,
+  167, 200, 129, 163, 150, 176, 152, 151, 175, 136, 137, 151, 132, 215, 122, 203,
+  194, 78, 196, 81, 75, 163, 168, 144, 117, 87, 133, 82, 55, 71, 36, 43,
+  45, 51, 50, 52, 45, 44, 41, 41, 34, 40, 49, 46, 48, 54, 54, 44,
+  29, 44, 66, 60, 56, 66, 69, 45, 51, 29, 39, 40, 39, 66, 48, 69,
+  122, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 186, 92, 180, 155, 148, 153, 193, 214, 215, 179, 194, 131, 213, 193,
+  163, 158, 187, 198, 159, 170, 172, 141, 180, 231, 169, 177, 152, 219, 185, 225,
+  151, 155, 154, 172, 134, 117, 121, 104, 121, 139, 116, 201, 176, 131, 173, 91,
+  33, 162, 136, 140, 83, 117, 135, 55, 71, 39, 39, 42, 36, 49, 37, 54,
+  39, 49, 43, 56, 49, 53, 56, 48, 46, 48, 44, 45, 33, 46, 66, 59,
+  48, 51, 56, 45, 31, 18, 46, 40, 40, 77, 50, 59, 51, 50, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 83, 56,
+  207, 161, 202, 238, 139, 212, 220, 182, 204, 149, 186, 171, 173, 183, 172, 172,
+  200, 208, 162, 141, 153, 183, 168, 153, 199, 157, 178, 149, 178, 98, 150, 132,
+  73, 71, 96, 86, 123, 93, 158, 169, 182, 157, 137, 142, 132, 144, 155, 91,
+  107, 131, 146, 67, 41, 52, 36, 37, 35, 43, 36, 47, 41, 49, 47, 51,
+  45, 50, 53, 47, 48, 51, 45, 36, 34, 45, 65, 78, 79, 72, 60, 51,
+  32, 36, 59, 60, 62, 76, 72, 55, 54, 50, 38, 122, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 189, 43, 165, 188, 144, 217, 224, 208,
+  208, 179, 176, 212, 181, 162, 152, 146, 166, 185, 170, 192, 160, 152, 161, 205,
+  180, 186, 224, 183, 178, 160, 125, 155, 113, 98, 112, 123, 117, 52, 73, 67,
+  75, 59, 126, 155, 135, 117, 94, 111, 77, 115, 46, 51, 104, 135, 104, 69,
+  27, 42, 30, 36, 39, 34, 42, 36, 46, 43, 49, 40, 39, 45, 48, 44,
+  49, 54, 48, 35, 49, 56, 62, 81, 96, 90, 74, 53, 39, 50, 48, 61,
+  63, 45, 81, 58, 53, 34, 38, 40, 122, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 218, 97, 95, 79, 106, 195, 147, 176, 170, 216, 166, 181, 185, 195, 204,
+  139, 157, 154, 165, 160, 158, 176, 186, 193, 218, 161, 159, 184, 224, 213, 202,
+  158, 132, 179, 138, 113, 122, 99, 118, 90, 49, 59, 70, 73, 53, 154, 117,
+  121, 121, 76, 179, 83, 103, 76, 36, 59, 107, 40, 55, 50, 32, 40, 35,
+  41, 31, 44, 31, 47, 39, 47, 44, 41, 45, 45, 41, 47, 53, 46, 46,
+  69, 70, 57, 62, 72, 75, 75, 64, 55, 55, 41, 56, 53, 31, 72, 38,
+  42, 34, 57, 50, 66, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 52, 72, 174,
+  143, 216, 186, 237, 192, 210, 224, 192, 176, 215, 166, 168, 174, 183, 150, 175,
+  191, 157, 172, 191, 117, 169, 200, 211, 175, 188, 192, 148, 139, 119, 104, 87,
+  97, 173, 64, 126, 54, 71, 63, 72, 77, 50, 143, 87, 80, 91, 93, 78,
+  70, 27, 30, 26, 52, 37, 32, 51, 30, 68, 36, 35, 35, 33, 37, 36,
+  39, 39, 41, 39, 36, 39, 37, 32, 41, 49, 41, 36, 53, 55, 56, 67,
+  69, 72, 86, 79, 83, 67, 74, 76, 61, 66, 64, 40, 34, 26, 26, 19,
+  33, 115, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 60, 55, 64, 95, 142, 137, 226, 229, 221,
+  194, 188, 224, 168, 163, 163, 193, 184, 195, 159, 146, 172, 157, 111, 187, 165,
+  147, 189, 154, 163, 155, 159, 138, 103, 128, 108, 102, 123, 90, 161, 56, 96,
+  69, 73, 64, 63, 61, 90, 75, 61, 87, 69, 44, 49, 46, 33, 40, 47,
+  24, 43, 40, 27, 40, 40, 34, 35, 30, 38, 27, 41, 30, 40, 36, 43,
+  39, 42, 41, 38, 50, 60, 54, 41, 42, 41, 62, 85, 72, 60, 76, 67,
+  78, 57, 97, 86, 55, 90, 37, 63, 41, 43, 28, 41, 34, 41, 100, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 40, 47, 43, 75, 82, 162, 200, 211, 223, 187, 195, 169, 161, 202,
+  161, 147, 159, 161, 171, 166, 160, 143, 129, 161, 144, 166, 135, 166, 107, 119,
+  206, 122, 157, 146, 94, 65, 81, 83, 82, 87, 63, 76, 55, 72, 68, 60,
+  69, 60, 59, 63, 55, 48, 45, 43, 40, 36, 36, 29, 36, 36, 29, 29,
+  36, 38, 33, 34, 39, 30, 42, 29, 43, 35, 40, 43, 44, 44, 42, 38,
+  35, 34, 34, 31, 63, 62, 59, 56, 51, 65, 66, 69, 54, 60, 86, 94,
+  59, 38, 54, 86, 72, 50, 33, 46, 29, 27, 71, 113, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 42, 57, 45,
+  96, 43, 165, 172, 141, 212, 193, 210, 182, 146, 149, 170, 156, 170, 182, 134,
+  216, 167, 147, 184, 175, 93, 141, 118, 154, 105, 165, 144, 132, 166, 137, 189,
+  130, 82, 74, 29, 55, 119, 50, 77, 55, 61, 38, 57, 80, 44, 58, 46,
+  44, 43, 40, 35, 32, 30, 31, 32, 36, 37, 33, 28, 29, 29, 26, 36,
+  33, 19, 33, 30, 46, 36, 35, 44, 43, 41, 41, 41, 40, 38, 37, 55,
+  73, 59, 51, 45, 38, 53, 59, 45, 72, 79, 69, 82, 97, 91, 77, 80,
+  82, 60, 43, 74, 68, 67, 43, 52, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 27, 33, 55, 39, 79, 108, 154, 136,
+  199, 200, 214, 193, 161, 145, 178, 172, 158, 151, 132, 167, 142, 169, 161, 135,
+  97, 90, 148, 174, 176, 137, 115, 138, 185, 131, 142, 104, 135, 81, 75, 69,
+  53, 88, 62, 47, 76, 77, 51, 59, 55, 33, 47, 34, 39, 43, 40, 33,
+  30, 29, 31, 31, 32, 35, 37, 33, 30, 31, 36, 30, 33, 32, 40, 34,
+  41, 38, 42, 43, 40, 38, 39, 42, 43, 42, 40, 63, 70, 51, 46, 43,
+  32, 45, 54, 75, 85, 82, 77, 79, 74, 75, 86, 48, 59, 92, 93, 18,
+  59, 30, 107, 88, 54, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 186, 52, 49, 23, 37, 48, 91, 121, 97, 116, 198, 191, 199, 189,
+  165, 132, 157, 151, 162, 159, 143, 164, 125, 164, 123, 139, 110, 129, 108, 140,
+  168, 142, 134, 113, 117, 161, 104, 117, 81, 58, 86, 61, 43, 83, 60, 54,
+  109, 92, 76, 51, 22, 44, 27, 31, 35, 38, 34, 31, 31, 31, 32, 35,
+  31, 31, 36, 36, 29, 32, 40, 26, 29, 30, 35, 32, 34, 32, 33, 41,
+  40, 39, 39, 41, 43, 45, 46, 43, 48, 35, 45, 50, 37, 44, 52, 75,
+  60, 60, 79, 79, 51, 59, 103, 141, 95, 92, 72, 69, 32, 65, 49, 81,
+  41, 45, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 48, 58,
+  53, 27, 50, 77, 78, 83, 93, 148, 191, 153, 205, 175, 184, 145, 150, 151,
+  158, 138, 122, 150, 125, 114, 178, 105, 86, 118, 179, 159, 159, 179, 108, 134,
+  110, 90, 137, 154, 65, 42, 65, 66, 66, 69, 66, 104, 108, 98, 71, 24,
+  26, 54, 23, 33, 33, 31, 26, 29, 34, 33, 30, 41, 33, 29, 32, 33,
+  27, 30, 37, 51, 38, 29, 28, 40, 45, 46, 40, 42, 44, 44, 42, 40,
+  41, 47, 52, 31, 37, 27, 42, 52, 41, 46, 51, 50, 62, 66, 64, 66,
+  62, 67, 84, 75, 54, 126, 54, 30, 45, 52, 51, 45, 26, 58, 151, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 41, 42, 48, 58, 48, 51, 99, 114,
+  144, 63, 173, 218, 197, 190, 203, 176, 179, 127, 103, 102, 111, 119, 124, 124,
+  160, 107, 82, 149, 124, 144, 182, 188, 187, 193, 167, 180, 161, 219, 188, 128,
+  99, 77, 59, 79, 75, 38, 71, 100, 76, 124, 75, 10, 36, 42, 37, 43,
+  44, 38, 30, 33, 40, 40, 31, 41, 33, 31, 34, 41, 46, 48, 48, 49,
+  42, 42, 30, 39, 39, 57, 64, 42, 42, 40, 36, 33, 34, 39, 44, 38,
+  43, 28, 33, 42, 35, 43, 48, 51, 70, 73, 63, 62, 57, 51, 52, 74,
+  111, 85, 123, 48, 55, 42, 5, 35, 30, 56, 80, 113, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 184, 47, 41, 71, 94, 72, 88, 141, 203, 178, 166, 215, 227,
+  231, 179, 184, 120, 117, 119, 120, 110, 94, 115, 110, 97, 129, 119, 201, 143,
+  166, 138, 184, 99, 216, 188, 182, 170, 106, 150, 104, 154, 113, 112, 86, 37,
+  45, 66, 59, 56, 72, 117, 89, 28, 26, 44, 46, 49, 55, 51, 40, 39,
+  45, 43, 34, 38, 34, 34, 36, 49, 59, 58, 50, 31, 23, 33, 31, 56,
+  52, 62, 56, 55, 50, 41, 37, 40, 42, 42, 40, 45, 56, 37, 34, 38,
+  35, 43, 43, 44, 46, 54, 71, 79, 60, 50, 61, 67, 58, 75, 76, 64,
+  40, 49, 32, 38, 33, 37, 30, 28, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 45, 50,
+  55, 49, 107, 146, 111, 118, 154, 223, 181, 174, 218, 227, 177, 209, 170, 164,
+  126, 140, 137, 98, 67, 116, 111, 82, 102, 161, 123, 194, 158, 146, 153, 86,
+  147, 148, 196, 182, 161, 170, 148, 131, 123, 82, 78, 88, 76, 80, 81, 42,
+  98, 66, 81, 52, 12, 70, 46, 47, 58, 57, 47, 40, 40, 38, 33, 39,
+  39, 35, 34, 45, 56, 44, 26, 60, 27, 25, 49, 120, 123, 94, 40, 75,
+  62, 48, 45, 53, 57, 52, 46, 41, 58, 43, 37, 41, 41, 47, 42, 45,
+  51, 59, 74, 85, 75, 59, 61, 69, 103, 67, 52, 37, 37, 96, 66, 48,
+  47, 43, 25, 48, 112, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 182, 58, 42, 43, 67, 36, 50, 107, 142,
+  181, 212, 189, 227, 204, 192, 220, 221, 193, 179, 184, 197, 175, 105, 108, 108,
+  87, 93, 97, 91, 177, 224, 165, 187, 156, 157, 150, 144, 178, 196, 166, 168,
+  138, 134, 128, 139, 98, 104, 86, 60, 51, 78, 57, 75, 58, 63, 32, 65,
+  50, 57, 25, 42, 38, 34, 34, 37, 43, 44, 43, 37, 37, 38, 38, 37,
+  43, 55, 63, 22, 70, 39, 72, 153, 118, 109, 63, 91, 121, 108, 100, 85,
+  82, 57, 65, 86, 77, 71, 55, 37, 40, 47, 43, 48, 62, 84, 81, 81,
+  72, 49, 53, 49, 46, 77, 69, 50, 91, 76, 84, 53, 47, 60, 41, 35,
+  40, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 182, 57, 29, 76, 38, 57, 88, 67, 163, 227, 222, 208, 218, 198,
+  224, 213, 222, 185, 196, 185, 190, 138, 108, 166, 93, 81, 88, 64, 82, 95,
+  125, 182, 184, 156, 101, 133, 128, 143, 139, 152, 169, 169, 142, 93, 79, 111,
+  74, 87, 79, 65, 57, 75, 49, 73, 55, 52, 28, 56, 53, 61, 41, 47,
+  43, 42, 38, 39, 38, 39, 37, 29, 32, 33, 33, 30, 32, 41, 47, 20,
+  104, 85, 198, 116, 160, 154, 180, 134, 118, 112, 85, 69, 107, 138, 107, 78,
+  75, 80, 76, 68, 69, 71, 60, 73, 65, 68, 59, 53, 45, 41, 71, 41,
+  64, 69, 62, 88, 120, 79, 109, 90, 99, 70, 29, 40, 44, 20, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 189, 19, 88,
+  56, 52, 60, 58, 118, 76, 177, 229, 204, 196, 235, 194, 188, 211, 168, 214,
+  189, 195, 150, 186, 130, 97, 91, 101, 117, 66, 43, 139, 175, 161, 138, 133,
+  118, 124, 115, 136, 145, 153, 134, 95, 115, 85, 80, 84, 51, 65, 64, 61,
+  56, 72, 45, 62, 53, 41, 31, 42, 51, 51, 41, 46, 45, 46, 42, 39,
+  35, 34, 35, 29, 32, 35, 35, 32, 32, 37, 41, 67, 54, 175, 137, 176,
+  171, 151, 137, 139, 134, 127, 96, 119, 109, 101, 72, 71, 71, 81, 84, 82,
+  84, 84, 71, 69, 54, 55, 51, 50, 48, 58, 104, 48, 21, 48, 65, 52,
+  104, 102, 87, 103, 137, 81, 28, 47, 51, 37, 38, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 81, 68, 87, 93, 65, 41, 65,
+  125, 139, 207, 222, 200, 205, 222, 208, 192, 185, 179, 176, 181, 180, 195, 174,
+  71, 151, 100, 93, 68, 98, 164, 139, 142, 137, 165, 177, 146, 105, 143, 172,
+  123, 140, 163, 133, 104, 54, 58, 69, 41, 52, 49, 52, 49, 69, 53, 57,
+  59, 47, 48, 37, 48, 38, 34, 37, 42, 45, 43, 40, 37, 37, 39, 33,
+  35, 36, 37, 36, 37, 42, 46, 79, 177, 170, 174, 168, 172, 133, 96, 109,
+  95, 75, 68, 100, 70, 53, 69, 67, 68, 75, 73, 68, 72, 78, 69, 51,
+  43, 49, 44, 42, 36, 30, 58, 51, 52, 43, 44, 56, 90, 78, 103, 76,
+  113, 68, 29, 30, 29, 44, 43, 111, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 80, 14, 35, 60, 55, 73, 133, 99, 141, 181, 171, 194,
+  196, 199, 203, 199, 175, 162, 184, 173, 188, 157, 179, 109, 124, 83, 64, 96,
+  102, 79, 214, 129, 98, 151, 178, 125, 121, 95, 126, 145, 165, 217, 180, 134,
+  104, 80, 55, 57, 39, 51, 47, 53, 48, 69, 59, 61, 71, 58, 61, 35,
+  43, 32, 38, 32, 37, 42, 42, 40, 38, 39, 41, 36, 36, 32, 31, 33,
+  35, 41, 44, 66, 142, 143, 114, 109, 112, 101, 73, 117, 79, 73, 95, 71,
+  75, 91, 99, 67, 69, 76, 71, 58, 61, 70, 64, 41, 42, 48, 36, 39,
+  41, 23, 28, 52, 60, 49, 49, 47, 65, 65, 98, 81, 83, 60, 50, 30,
+  23, 48, 32, 40, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 189,
+  93, 116, 66, 36, 125, 149, 121, 197, 214, 223, 157, 205, 214, 203, 216, 195,
+  156, 161, 154, 189, 201, 161, 138, 130, 120, 86, 60, 47, 60, 170, 120, 137,
+  137, 165, 134, 83, 106, 80, 87, 137, 100, 104, 106, 109, 59, 52, 43, 46,
+  37, 51, 51, 58, 49, 64, 60, 64, 65, 50, 52, 27, 35, 33, 44, 35,
+  36, 39, 39, 38, 37, 37, 37, 42, 40, 34, 32, 32, 35, 38, 40, 73,
+  22, 109, 73, 63, 109, 62, 62, 61, 65, 58, 69, 45, 58, 52, 56, 64,
+  67, 78, 80, 69, 69, 74, 65, 51, 50, 48, 29, 38, 54, 41, 43, 42,
+  28, 45, 65, 24, 40, 64, 65, 93, 57, 47, 59, 43, 41, 52, 26, 33,
+  112, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 59, 42, 62, 40, 87,
+  82, 79, 176, 205, 202, 217, 193, 204, 190, 185, 180, 194, 187, 172, 163, 140,
+  196, 162, 178, 138, 101, 73, 73, 39, 128, 121, 95, 110, 135, 139, 147, 136,
+  103, 73, 80, 57, 112, 117, 107, 89, 60, 71, 52, 53, 41, 49, 45, 57,
+  47, 58, 52, 62, 56, 42, 43, 34, 38, 36, 39, 35, 34, 35, 34, 35,
+  35, 36, 35, 42, 40, 36, 35, 36, 38, 38, 38, 28, 11, 63, 60, 51,
+  24, 63, 34, 34, 58, 37, 27, 50, 54, 44, 66, 59, 58, 67, 72, 72,
+  76, 74, 60, 70, 60, 51, 29, 29, 35, 22, 31, 29, 55, 34, 45, 57,
+  51, 38, 75, 71, 36, 31, 35, 36, 42, 32, 23, 32, 43, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 190, 46, 67, 41, 50, 154, 108, 171, 204, 212,
+  169, 195, 230, 173, 162, 217, 199, 171, 141, 174, 148, 186, 181, 146, 123, 106,
+  113, 55, 102, 119, 97, 59, 76, 90, 145, 155, 146, 90, 77, 117, 49, 48,
+  117, 102, 123, 89, 48, 53, 53, 69, 51, 45, 32, 47, 42, 51, 48, 66,
+  55, 45, 47, 51, 51, 41, 33, 34, 30, 30, 31, 35, 37, 38, 34, 32,
+  32, 31, 34, 37, 39, 38, 37, 37, 53, 45, 31, 38, 33, 47, 40, 55,
+  24, 40, 49, 58, 41, 51, 37, 56, 46, 49, 54, 61, 71, 69, 50, 63,
+  54, 55, 48, 49, 44, 31, 50, 46, 32, 23, 51, 37, 46, 56, 57, 65,
+  49, 45, 28, 38, 46, 23, 40, 38, 40, 106, 255, 255, 255, 255, 255, 255,
+  255, 255, 70, 101, 56, 48, 51, 216, 158, 216, 165, 193, 156, 183, 182, 182,
+  174, 222, 215, 194, 132, 193, 183, 209, 152, 158, 189, 130, 127, 100, 88, 92,
+  73, 54, 87, 170, 182, 157, 171, 144, 130, 80, 87, 81, 132, 60, 69, 71,
+  49, 58, 47, 49, 54, 40, 48, 30, 44, 40, 51, 42, 45, 49, 51, 50,
+  48, 43, 39, 31, 44, 39, 39, 22, 37, 33, 36, 42, 36, 32, 30, 32,
+  36, 37, 38, 37, 51, 40, 53, 51, 37, 50, 38, 50, 49, 47, 46, 47,
+  49, 54, 57, 59, 59, 59, 59, 59, 56, 54, 52, 44, 47, 51, 51, 43,
+  36, 37, 42, 35, 40, 42, 37, 35, 41, 47, 48, 75, 84, 69, 76, 37,
+  34, 38, 37, 30, 26, 37, 255, 255, 255, 255, 255, 255, 255, 189, 161, 77,
+  52, 74, 48, 224, 189, 237, 169, 180, 157, 170, 140, 171, 181, 221, 188, 151,
+  147, 161, 184, 187, 171, 159, 136, 73, 113, 88, 57, 87, 83, 84, 93, 195,
+  175, 205, 147, 119, 81, 107, 59, 57, 116, 94, 100, 77, 36, 43, 46, 41,
+  46, 40, 49, 36, 47, 42, 50, 42, 43, 46, 47, 46, 44, 41, 39, 38,
+  37, 29, 41, 31, 38, 29, 34, 31, 32, 34, 35, 35, 34, 32, 31, 44,
+  52, 50, 56, 55, 47, 52, 46, 51, 49, 45, 42, 41, 41, 45, 46, 51,
+  54, 59, 61, 63, 59, 54, 51, 35, 39, 44, 46, 47, 46, 42, 37, 39,
+  40, 38, 34, 35, 41, 44, 44, 60, 74, 69, 82, 45, 35, 32, 23, 43,
+  15, 40, 122, 255, 255, 255, 255, 255, 255, 79, 61, 119, 29, 128, 178, 231,
+  183, 222, 139, 191, 159, 190, 134, 168, 232, 187, 188, 167, 198, 189, 169, 141,
+  160, 157, 123, 187, 63, 109, 104, 123, 78, 94, 160, 202, 165, 110, 139, 37,
+  60, 31, 35, 57, 66, 64, 74, 80, 57, 63, 56, 47, 53, 49, 54, 43,
+  45, 37, 38, 42, 42, 44, 43, 42, 41, 41, 41, 38, 36, 29, 46, 31,
+  30, 23, 38, 33, 36, 39, 38, 35, 33, 34, 37, 50, 50, 62, 58, 59,
+  57, 49, 52, 51, 49, 44, 40, 37, 35, 35, 36, 41, 46, 53, 59, 60,
+  57, 52, 48, 39, 40, 38, 37, 43, 51, 47, 37, 42, 41, 37, 34, 37,
+  44, 46, 43, 61, 72, 67, 76, 46, 37, 38, 30, 28, 30, 29, 41, 255,
+  255, 255, 255, 255, 191, 71, 50, 93, 122, 188, 111, 207, 191, 200, 161, 153,
+  168, 118, 122, 147, 178, 153, 151, 189, 155, 172, 171, 166, 142, 165, 200, 210,
+  170, 140, 143, 135, 85, 129, 217, 125, 93, 45, 75, 64, 52, 26, 63, 65,
+  61, 104, 109, 99, 63, 55, 43, 55, 56, 54, 54, 47, 43, 35, 32, 42,
+  43, 43, 42, 42, 41, 40, 40, 28, 39, 39, 46, 24, 28, 31, 48, 48,
+  48, 46, 39, 33, 34, 41, 49, 49, 44, 67, 60, 58, 63, 41, 48, 47,
+  45, 42, 38, 36, 34, 34, 34, 36, 39, 45, 50, 53, 53, 52, 51, 53,
+  51, 41, 30, 33, 47, 50, 43, 41, 43, 42, 39, 40, 45, 49, 48, 53,
+  63, 65, 76, 57, 44, 44, 29, 28, 19, 46, 72, 133, 255, 255, 255, 255,
+  36, 81, 61, 111, 160, 210, 55, 177, 163, 183, 152, 166, 157, 138, 101, 170,
+  205, 158, 163, 141, 141, 144, 171, 190, 168, 198, 177, 217, 124, 135, 134, 118,
+  193, 164, 144, 88, 75, 87, 41, 77, 19, 32, 26, 36, 9, 51, 64, 75,
+  62, 60, 48, 42, 42, 47, 46, 51, 48, 48, 46, 42, 44, 46, 47, 47,
+  45, 41, 39, 26, 43, 38, 39, 27, 51, 53, 57, 54, 52, 49, 41, 37,
+  37, 45, 53, 48, 44, 68, 61, 60, 63, 39, 45, 45, 44, 40, 39, 39,
+  39, 40, 41, 40, 40, 38, 40, 43, 48, 52, 55, 55, 57, 50, 37, 34,
+  43, 49, 49, 40, 47, 51, 44, 38, 38, 43, 46, 31, 46, 65, 87, 82,
+  58, 45, 14, 32, 45, 96, 43, 65, 255, 255, 255, 255, 53, 65, 103, 190,
+  173, 156, 133, 191, 142, 106, 170, 137, 164, 131, 86, 218, 189, 206, 123, 115,
+  183, 142, 190, 182, 165, 208, 136, 135, 135, 153, 132, 198, 121, 160, 119, 93,
+  44, 44, 55, 44, 47, 72, 62, 96, 41, 29, 33, 52, 62, 60, 44, 37,
+  34, 42, 38, 51, 46, 51, 47, 40, 42, 45, 47, 47, 45, 40, 38, 33,
+  42, 28, 32, 40, 79, 71, 56, 43, 45, 46, 44, 42, 41, 44, 47, 53,
+  53, 64, 61, 58, 56, 43, 44, 43, 42, 41, 41, 42, 43, 45, 45, 45,
+  43, 40, 40, 43, 47, 53, 56, 43, 49, 54, 52, 45, 42, 45, 50, 39,
+  50, 55, 47, 35, 30, 32, 35, 38, 43, 59, 79, 89, 70, 62, 25, 116,
+  47, 29, 66, 62, 76, 255, 255, 255, 56, 121, 203, 208, 155, 139, 191, 139,
+  167, 168, 194, 160, 147, 161, 74, 193, 193, 177, 138, 144, 143, 128, 189, 186,
+  134, 179, 182, 132, 135, 190, 121, 165, 141, 180, 87, 137, 53, 39, 48, 56,
+  42, 71, 62, 25, 27, 33, 50, 41, 41, 50, 52, 43, 38, 48, 39, 54,
+  42, 48, 40, 41, 42, 40, 41, 41, 40, 40, 39, 38, 41, 27, 38, 45,
+  74, 61, 49, 36, 36, 36, 37, 41, 43, 46, 48, 61, 66, 58, 58, 52,
+  44, 49, 44, 44, 44, 44, 44, 42, 42, 43, 43, 41, 42, 42, 44, 45,
+  46, 46, 46, 38, 40, 49, 56, 50, 39, 39, 48, 37, 47, 53, 47, 38,
+  33, 31, 30, 55, 43, 46, 56, 79, 71, 78, 45, 108, 70, 35, 78, 43,
+  101, 255, 255, 255, 47, 74, 211, 129, 172, 172, 155, 206, 164, 155, 198, 203,
+  171, 140, 68, 126, 149, 151, 178, 155, 111, 161, 109, 156, 160, 165, 152, 110,
+  196, 117, 144, 96, 171, 173, 134, 63, 60, 43, 32, 49, 46, 39, 40, 41,
+  48, 28, 48, 37, 44, 44, 40, 45, 39, 52, 43, 58, 46, 49, 39, 38,
+  37, 34, 33, 33, 34, 36, 37, 35, 41, 37, 49, 39, 49, 39, 43, 38,
+  32, 27, 27, 35, 44, 52, 57, 65, 72, 49, 51, 45, 34, 52, 45, 46,
+  46, 45, 44, 41, 40, 39, 39, 34, 38, 42, 46, 47, 43, 38, 34, 44,
+  37, 41, 52, 47, 33, 34, 47, 34, 43, 49, 48, 44, 41, 37, 32, 47,
+  30, 33, 46, 78, 68, 77, 40, 61, 28, 62, 41, 38, 39, 255, 255, 255,
+  31, 135, 174, 204, 175, 187, 159, 185, 151, 146, 176, 169, 164, 110, 97, 170,
+  71, 133, 103, 108, 152, 74, 88, 142, 108, 145, 110, 133, 74, 67, 135, 171,
+  131, 137, 87, 50, 47, 35, 46, 45, 67, 43, 62, 48, 54, 51, 39, 37,
+  44, 37, 22, 28, 34, 44, 29, 37, 100, 54, 30, 35, 35, 31, 18, 43,
+  18, 48, 23, 31, 40, 33, 54, 58, 42, 48, 33, 31, 25, 36, 46, 38,
+  33, 41, 45, 46, 40, 33, 31, 34, 38, 41, 41, 44, 45, 45, 45, 44,
+  41, 38, 35, 35, 32, 32, 39, 48, 53, 50, 45, 50, 38, 43, 56, 45,
+  59, 33, 53, 43, 43, 45, 48, 46, 40, 39, 41, 41, 44, 30, 33, 42,
+  71, 93, 47, 44, 21, 35, 48, 28, 41, 71, 255, 255, 72, 153, 198, 185,
+  170, 179, 155, 173, 150, 141, 160, 174, 162, 112, 106, 109, 117, 141, 113, 125,
+  106, 105, 86, 124, 97, 141, 112, 95, 68, 66, 115, 128, 101, 116, 75, 33,
+  40, 59, 50, 50, 43, 37, 58, 58, 55, 44, 30, 30, 39, 43, 40, 43,
+  33, 40, 38, 47, 89, 46, 35, 28, 30, 38, 30, 29, 33, 35, 37, 32,
+  50, 49, 53, 40, 26, 45, 49, 50, 39, 34, 33, 32, 40, 43, 31, 30,
+  30, 31, 34, 37, 39, 39, 37, 47, 49, 50, 48, 44, 39, 37, 37, 35,
+  32, 31, 35, 41, 44, 43, 40, 49, 36, 39, 52, 44, 57, 33, 48, 39,
+  41, 47, 52, 49, 40, 34, 34, 38, 43, 30, 34, 36, 58, 83, 50, 28,
+  36, 46, 57, 61, 51, 43, 255, 255, 144, 139, 135, 169, 180, 141, 160, 126,
+  180, 153, 190, 157, 148, 164, 169, 76, 94, 124, 160, 123, 92, 96, 127, 84,
+  100, 127, 101, 95, 99, 94, 117, 99, 89, 102, 73, 36, 29, 55, 37, 64,
+  45, 41, 44, 50, 47, 44, 41, 40, 40, 38, 37, 36, 32, 51, 52, 40,
+  51, 32, 55, 36, 18, 90, 23, 70, 26, 50, 43, 39, 49, 45, 48, 46,
+  39, 44, 36, 53, 44, 35, 26, 26, 42, 43, 23, 36, 38, 40, 39, 37,
+  36, 35, 35, 49, 51, 52, 49, 43, 38, 36, 36, 32, 32, 31, 32, 34,
+  37, 40, 42, 50, 38, 37, 48, 47, 55, 37, 44, 34, 35, 39, 43, 42,
+  36, 34, 36, 37, 40, 33, 35, 31, 43, 70, 59, 40, 63, 47, 45, 72,
+  53, 29, 255, 255, 202, 172, 149, 154, 170, 180, 168, 172, 176, 168, 160, 164,
+  128, 162, 165, 117, 95, 109, 111, 108, 103, 59, 120, 54, 86, 120, 76, 88,
+  96, 84, 98, 71, 72, 75, 57, 52, 35, 50, 37, 74, 63, 54, 51, 43,
+  42, 44, 49, 48, 39, 32, 31, 33, 34, 55, 53, 37, 36, 32, 61, 33,
+  40, 75, 56, 57, 44, 40, 41, 50, 45, 36, 37, 44, 48, 47, 37, 46,
+  37, 34, 31, 27, 35, 38, 28, 42, 42, 40, 36, 32, 32, 37, 42, 48,
+  47, 45, 44, 42, 39, 35, 33, 29, 31, 32, 31, 32, 36, 43, 49, 53,
+  42, 38, 46, 51, 54, 43, 42, 37, 33, 31, 33, 34, 36, 44, 53, 36,
+  39, 38, 39, 31, 36, 59, 73, 62, 74, 47, 40, 67, 51, 34, 66, 255,
+  149, 91, 61, 167, 197, 184, 204, 163, 182, 151, 140, 171, 164, 159, 139, 153,
+  124, 129, 71, 134, 131, 103, 94, 105, 113, 145, 94, 71, 64, 47, 68, 58,
+  62, 55, 46, 35, 31, 46, 40, 54, 48, 36, 44, 45, 41, 40, 42, 41,
+  37, 37, 41, 49, 37, 40, 39, 51, 57, 49, 45, 50, 69, 57, 71, 57,
+  57, 60, 53, 55, 47, 43, 31, 27, 34, 47, 63, 65, 36, 24, 31, 32,
+  31, 32, 30, 27, 29, 30, 30, 31, 35, 42, 49, 43, 38, 34, 35, 39,
+  40, 35, 29, 29, 32, 33, 32, 31, 33, 40, 46, 52, 44, 38, 43, 53,
+  49, 48, 40, 43, 38, 34, 34, 36, 40, 51, 61, 33, 36, 42, 38, 32,
+  34, 49, 75, 65, 60, 51, 55, 62, 53, 42, 50, 255, 207, 102, 117, 181,
+  173, 189, 162, 179, 150, 186, 167, 165, 192, 159, 151, 143, 100, 125, 109, 96,
+  99, 116, 68, 112, 134, 89, 68, 73, 56, 41, 55, 61, 59, 46, 41, 40,
+  34, 47, 47, 65, 57, 31, 28, 34, 39, 44, 47, 46, 44, 42, 40, 42,
+  36, 39, 31, 48, 51, 52, 39, 43, 47, 31, 29, 46, 32, 62, 41, 52,
+  37, 43, 42, 40, 42, 44, 65, 92, 43, 16, 27, 34, 33, 30, 27, 23,
+  27, 33, 37, 39, 40, 40, 41, 37, 32, 28, 31, 36, 39, 35, 31, 33,
+  35, 36, 34, 31, 29, 31, 34, 48, 44, 38, 38, 52, 41, 49, 36, 40,
+  37, 36, 37, 37, 37, 42, 49, 30, 32, 40, 34, 35, 36, 37, 65, 76,
+  56, 54, 60, 51, 47, 48, 45, 255, 255, 151, 167, 155, 158, 163, 195, 180,
+  171, 189, 186, 176, 173, 135, 147, 144, 97, 119, 108, 85, 95, 119, 70, 114,
+  131, 72, 74, 61, 51, 50, 40, 50, 38, 30, 29, 66, 49, 70, 58, 97,
+  77, 59, 46, 33, 46, 55, 54, 51, 49, 42, 33, 27, 31, 42, 33, 40,
+  26, 42, 42, 59, 67, 41, 69, 52, 82, 65, 63, 48, 24, 39, 49, 53,
+  52, 50, 82, 74, 40, 24, 29, 31, 32, 33, 29, 33, 34, 37, 40, 42,
+  41, 37, 34, 33, 33, 33, 33, 34, 34, 36, 37, 35, 37, 39, 38, 35,
+  32, 29, 28, 46, 47, 40, 37, 52, 35, 52, 36, 40, 36, 34, 35, 34,
+  33, 38, 45, 33, 34, 39, 29, 37, 41, 27, 49, 93, 73, 59, 53, 45,
+  42, 49, 55, 255, 255, 225, 181, 190, 172, 169, 188, 176, 153, 189, 192, 186,
+  184, 183, 158, 162, 128, 154, 105, 112, 104, 122, 38, 121, 76, 115, 104, 43,
+  49, 63, 35, 45, 31, 33, 35, 43, 35, 77, 40, 80, 42, 57, 60, 54,
+  63, 59, 43, 37, 44, 46, 40, 38, 28, 33, 33, 49, 27, 40, 37, 47,
+  32, 67, 46, 74, 66, 50, 36, 45, 26, 45, 43, 29, 32, 65, 138, 30,
+  30, 38, 38, 27, 27, 36, 36, 32, 29, 26, 29, 34, 39, 41, 40, 31,
+  37, 41, 38, 32, 30, 36, 42, 35, 37, 40, 43, 42, 38, 33, 30, 46,
+  50, 44, 39, 54, 34, 56, 38, 48, 41, 35, 33, 33, 36, 47, 58, 37,
+  37, 42, 27, 42, 48, 23, 41, 96, 90, 69, 59, 60, 46, 41, 58, 114,
+  255, 255, 220, 165, 143, 206, 202, 170, 176, 160, 178, 209, 160, 185, 158, 158,
+  162, 137, 112, 100, 90, 77, 53, 118, 83, 63, 54, 84, 42, 31, 54, 43,
+  13, 33, 19, 47, 41, 43, 46, 48, 45, 49, 55, 47, 60, 69, 61, 31,
+  75, 31, 40, 38, 36, 34, 35, 37, 37, 34, 31, 32, 45, 36, 68, 46,
+  42, 51, 47, 26, 51, 32, 42, 30, 39, 112, 101, 30, 31, 31, 32, 33,
+  32, 32, 31, 34, 35, 37, 39, 39, 37, 35, 34, 33, 35, 37, 35, 33,
+  33, 36, 39, 44, 43, 40, 35, 30, 29, 32, 36, 40, 43, 43, 40, 40,
+  43, 42, 39, 46, 29, 42, 34, 35, 54, 42, 37, 36, 36, 35, 35, 41,
+  44, 39, 31, 67, 97, 77, 47, 49, 49, 67, 47, 35, 255, 255, 255, 255,
+  255, 236, 203, 185, 193, 185, 191, 189, 168, 172, 152, 148, 148, 104, 107, 118,
+  159, 73, 100, 115, 171, 76, 75, 52, 67, 33, 28, 76, 43, 61, 35, 40,
+  35, 39, 46, 52, 50, 51, 53, 58, 56, 60, 68, 59, 105, 56, 54, 42,
+  39, 35, 35, 35, 35, 32, 30, 39, 48, 38, 63, 43, 42, 54, 51, 47,
+  27, 27, 44, 41, 38, 69, 99, 32, 34, 35, 37, 38, 39, 40, 40, 37,
+  37, 37, 36, 35, 32, 30, 29, 31, 33, 35, 35, 34, 35, 38, 41, 39,
+  41, 41, 39, 35, 33, 33, 35, 36, 40, 41, 39, 38, 40, 38, 34, 43,
+  29, 47, 47, 45, 53, 38, 33, 44, 41, 34, 34, 39, 45, 44, 36, 65,
+  98, 68, 71, 43, 49, 44, 42, 47, 255, 255, 255, 255, 255, 255, 255, 255,
+  237, 210, 205, 168, 172, 163, 155, 147, 144, 89, 119, 87, 99, 139, 103, 76,
+  86, 127, 94, 19, 95, 80, 77, 46, 65, 40, 42, 41, 37, 42, 50, 58,
+  56, 52, 49, 48, 40, 44, 62, 63, 99, 57, 56, 46, 43, 38, 35, 34,
+  33, 32, 31, 38, 44, 43, 62, 47, 46, 54, 49, 52, 24, 47, 37, 31,
+  41, 57, 140, 35, 36, 37, 38, 39, 40, 40, 40, 37, 36, 34, 32, 31,
+  30, 29, 29, 30, 32, 33, 34, 33, 33, 35, 37, 33, 36, 40, 41, 39,
+  37, 35, 35, 35, 39, 40, 38, 38, 39, 37, 33, 43, 29, 46, 53, 48,
+  45, 33, 32, 51, 44, 33, 31, 38, 47, 47, 39, 56, 77, 74, 70, 84,
+  75, 69, 47, 55, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 234,
+  189, 184, 172, 149, 127, 83, 102, 89, 129, 132, 99, 102, 97, 112, 141, 29,
+  54, 140, 76, 33, 30, 42, 40, 47, 42, 43, 47, 54, 53, 46, 39, 34,
+  33, 41, 55, 45, 63, 39, 52, 50, 46, 41, 37, 35, 36, 37, 38, 34,
+  39, 52, 66, 56, 51, 50, 40, 36, 36, 57, 24, 26, 54, 60, 123, 36,
+  36, 36, 36, 35, 34, 32, 31, 35, 33, 31, 30, 30, 31, 33, 34, 33,
+  33, 33, 32, 31, 29, 29, 28, 29, 32, 36, 38, 39, 38, 36, 35, 39,
+  41, 40, 37, 37, 40, 41, 38, 47, 31, 39, 49, 42, 33, 31, 37, 53,
+  46, 36, 32, 42, 51, 48, 40, 35, 88, 67, 104, 60, 102, 47, 38, 60,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 174, 190, 174, 150,
+  118, 104, 90, 79, 137, 98, 84, 90, 100, 67, 108, 122, 92, 101, 82, 58,
+  56, 45, 19, 47, 41, 38, 38, 44, 45, 42, 34, 42, 42, 46, 53, 39,
+  44, 35, 51, 49, 47, 43, 39, 38, 40, 43, 46, 45, 44, 63, 64, 57,
+  51, 46, 35, 27, 38, 34, 21, 44, 60, 41, 34, 37, 37, 37, 36, 35,
+  34, 33, 32, 37, 35, 32, 31, 31, 32, 35, 36, 34, 34, 34, 34, 33,
+  32, 30, 28, 29, 29, 30, 32, 34, 35, 36, 36, 40, 41, 38, 33, 33,
+  39, 43, 43, 47, 34, 37, 51, 43, 31, 34, 36, 50, 45, 39, 36, 44,
+  51, 47, 37, 22, 56, 89, 95, 95, 85, 67, 65, 70, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 179, 159, 139, 109, 111, 78, 71,
+  124, 153, 96, 100, 80, 96, 93, 74, 149, 86, 133, 44, 30, 11, 52, 44,
+  41, 38, 36, 42, 48, 49, 43, 49, 43, 37, 41, 39, 42, 37, 39, 44,
+  43, 42, 39, 38, 40, 45, 49, 63, 52, 68, 52, 49, 47, 45, 36, 34,
+  39, 22, 35, 50, 40, 36, 17, 36, 37, 38, 40, 41, 41, 41, 41, 41,
+  39, 36, 33, 32, 31, 32, 33, 33, 33, 34, 36, 39, 39, 37, 35, 31,
+  29, 27, 28, 31, 33, 35, 35, 37, 38, 35, 30, 32, 39, 44, 45, 41,
+  38, 39, 57, 52, 38, 42, 32, 45, 45, 41, 40, 43, 47, 45, 35, 45,
+  49, 38, 99, 86, 108, 50, 68, 66, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 152, 124, 97, 82, 58, 73, 154, 117, 105, 112,
+  121, 65, 97, 44, 60, 49, 40, 73, 45, 35, 18, 37, 39, 39, 36, 41,
+  49, 53, 49, 44, 41, 33, 33, 38, 39, 39, 30, 38, 38, 38, 36, 34,
+  35, 40, 44, 60, 43, 64, 40, 42, 44, 44, 37, 39, 36, 30, 41, 34,
+  26, 45, 45, 34, 35, 37, 39, 40, 41, 41, 41, 40, 39, 36, 34, 32,
+  32, 32, 32, 32, 31, 33, 36, 40, 41, 38, 36, 33, 30, 28, 29, 31,
+  33, 33, 32, 32, 35, 35, 34, 36, 43, 46, 45, 40, 42, 37, 53, 52,
+  44, 51, 32, 42, 44, 42, 39, 39, 42, 43, 36, 40, 24, 50, 84, 164,
+  205, 198, 196, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 146, 126, 115, 86, 85, 118, 135, 108, 154, 81, 114, 77, 96, 80,
+  35, 104, 20, 27, 54, 42, 31, 27, 33, 35, 33, 35, 44, 46, 43, 40,
+  49, 48, 41, 43, 38, 47, 36, 35, 35, 37, 32, 32, 31, 37, 38, 39,
+  22, 52, 30, 41, 43, 39, 31, 32, 19, 24, 29, 24, 35, 42, 27, 34,
+  33, 34, 34, 35, 34, 34, 34, 35, 35, 34, 33, 33, 34, 34, 35, 32,
+  31, 31, 34, 37, 37, 33, 29, 34, 32, 30, 31, 34, 34, 32, 29, 30,
+  35, 39, 40, 43, 48, 49, 46, 43, 45, 31, 42, 43, 43, 57, 36, 41,
+  43, 42, 36, 35, 40, 42, 40, 32, 62, 87, 86, 134, 213, 219, 220, 212,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 233, 102,
+  90, 89, 102, 135, 115, 92, 121, 93, 122, 103, 91, 75, 29, 103, 52, 24,
+  52, 29, 33, 46, 31, 28, 39, 41, 32, 35, 51, 42, 40, 40, 39, 43,
+  41, 40, 34, 43, 40, 40, 34, 33, 32, 40, 40, 37, 31, 27, 26, 32,
+  38, 32, 21, 22, 16, 17, 24, 32, 35, 38, 39, 37, 32, 31, 34, 35,
+  34, 36, 41, 34, 36, 38, 36, 32, 31, 32, 34, 43, 36, 31, 34, 41,
+  44, 41, 35, 28, 32, 32, 30, 33, 38, 35, 28, 35, 38, 35, 33, 42,
+  52, 46, 31, 55, 45, 36, 34, 39, 42, 38, 32, 43, 37, 37, 42, 40,
+  34, 36, 46, 23, 50, 103, 57, 147, 198, 189, 195, 214, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 131, 121, 90, 109, 150,
+  97, 86, 78, 108, 105, 107, 69, 146, 68, 75, 70, 89, 9, 55, 28, 48,
+  39, 34, 39, 47, 48, 46, 43, 44, 43, 42, 42, 42, 42, 40, 38, 40,
+  41, 40, 37, 32, 31, 33, 30, 24, 25, 29, 29, 33, 39, 38, 31, 27,
+  21, 14, 15, 22, 31, 42, 46, 35, 29, 30, 35, 37, 36, 39, 43, 41,
+  43, 44, 42, 39, 37, 38, 40, 38, 37, 37, 37, 39, 40, 41, 42, 28,
+  34, 36, 33, 31, 34, 34, 32, 35, 31, 31, 38, 46, 48, 44, 41, 50,
+  43, 36, 35, 39, 41, 38, 35, 38, 33, 33, 39, 40, 35, 38, 47, 42,
+  36, 84, 102, 180, 206, 192, 198, 195, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 112, 101, 120, 140, 153, 93, 84, 65, 112,
+  101, 113, 82, 57, 44, 35, 32, 68, 24, 113, 49, 37, 41, 40, 35, 39,
+  45, 43, 33, 39, 41, 42, 41, 39, 37, 37, 37, 35, 36, 37, 35, 32,
+  30, 30, 27, 26, 30, 38, 36, 31, 32, 34, 32, 34, 33, 25, 15, 19,
+  32, 45, 45, 35, 31, 32, 37, 39, 37, 38, 41, 34, 35, 36, 35, 32,
+  31, 31, 32, 33, 38, 42, 40, 36, 35, 40, 46, 30, 37, 40, 35, 31,
+  32, 34, 35, 38, 30, 31, 44, 48, 41, 39, 47, 42, 39, 37, 36, 38,
+  39, 40, 39, 36, 32, 32, 38, 40, 37, 40, 47, 51, 37, 81, 153, 191,
+  191, 190, 189, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 119, 120, 181, 126, 132, 107, 86, 90, 91, 107, 115, 124, 76,
+  58, 43, 50, 29, 30, 45, 29, 27, 39, 42, 35, 27, 29, 35, 37, 36,
+  39, 42, 41, 37, 35, 36, 38, 33, 34, 35, 36, 36, 36, 36, 34, 28,
+  29, 37, 34, 29, 26, 28, 28, 31, 38, 36, 24, 26, 38, 48, 40, 41,
+  37, 38, 42, 42, 37, 36, 38, 42, 42, 41, 41, 39, 38, 38, 38, 34,
+  39, 42, 39, 34, 32, 37, 42, 37, 38, 38, 35, 33, 34, 35, 36, 40,
+  37, 38, 44, 43, 37, 36, 42, 35, 36, 37, 37, 37, 38, 40, 42, 37,
+  33, 32, 36, 39, 38, 40, 44, 38, 44, 92, 186, 181, 176, 195, 186, 186,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 109,
+  106, 174, 132, 118, 115, 87, 101, 76, 96, 101, 138, 98, 66, 41, 53, 23,
+  64, 32, 32, 43, 41, 40, 39, 35, 29, 35, 44, 32, 35, 38, 38, 35,
+  33, 35, 37, 34, 33, 32, 32, 33, 36, 37, 37, 23, 23, 26, 31, 33,
+  32, 32, 30, 25, 35, 37, 25, 25, 35, 44, 40, 40, 38, 40, 43, 43,
+  39, 38, 40, 42, 42, 41, 40, 40, 39, 38, 37, 38, 38, 37, 35, 33,
+  32, 32, 33, 44, 38, 32, 33, 37, 38, 36, 34, 36, 43, 44, 38, 35,
+  39, 39, 35, 30, 33, 36, 37, 37, 37, 39, 41, 39, 35, 33, 35, 36,
+  36, 38, 40, 27, 40, 89, 203, 196, 189, 208, 200, 189, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 125, 101, 116, 154, 121,
+  107, 87, 81, 80, 76, 83, 109, 109, 95, 59, 37, 21, 32, 39, 25, 57,
+  41, 31, 35, 42, 40, 36, 39, 31, 35, 37, 38, 38, 38, 39, 40, 38,
+  36, 32, 32, 33, 35, 36, 35, 34, 27, 28, 32, 36, 33, 29, 25, 24,
+  31, 31, 20, 18, 26, 37, 42, 36, 34, 36, 41, 43, 41, 42, 45, 37,
+  35, 33, 33, 34, 34, 32, 30, 40, 36, 32, 32, 33, 33, 31, 28, 47,
+  36, 28, 31, 38, 40, 38, 35, 31, 42, 43, 33, 32, 41, 42, 34, 30,
+  32, 35, 37, 37, 37, 37, 37, 39, 36, 33, 33, 35, 37, 38, 37, 37,
+  30, 61, 185, 214, 202, 200, 201, 197, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 227, 156, 107, 136, 123, 104, 88, 73, 92,
+  70, 74, 91, 117, 78, 60, 55, 55, 14, 45, 68, 48, 45, 38, 35, 36,
+  39, 36, 33, 34, 34, 36, 39, 42, 44, 44, 43, 38, 36, 34, 35, 38,
+  39, 37, 35, 41, 34, 34, 37, 37, 31, 23, 21, 21, 25, 29, 26, 20,
+  20, 28, 36, 34, 31, 32, 37, 39, 39, 41, 45, 44, 42, 40, 40, 41,
+  41, 39, 37, 37, 34, 31, 31, 33, 34, 33, 31, 45, 35, 28, 31, 36,
+  37, 38, 40, 37, 37, 36, 34, 34, 36, 36, 34, 31, 32, 34, 37, 38,
+  37, 34, 32, 37, 35, 32, 32, 35, 39, 38, 37, 42, 31, 37, 123, 196,
+  207, 193, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 127, 121, 149, 117, 109, 90, 87, 95, 78, 74, 99, 113,
+  90, 81, 29, 40, 61, 44, 26, 31, 53, 60, 41, 27, 32, 38, 37, 35,
+  36, 36, 40, 46, 49, 48, 46, 35, 35, 37, 41, 46, 47, 44, 38, 34,
+  30, 33, 38, 36, 30, 26, 27, 17, 22, 33, 38, 31, 20, 21, 30, 33,
+  32, 31, 34, 35, 34, 36, 41, 38, 35, 33, 33, 35, 35, 33, 30, 32,
+  33, 33, 33, 33, 34, 36, 37, 42, 34, 30, 33, 34, 33, 37, 44, 46,
+  35, 32, 38, 38, 29, 27, 33, 32, 32, 34, 36, 38, 37, 33, 29, 35,
+  33, 31, 30, 35, 41, 40, 39, 27, 35, 26, 65, 163, 215, 210, 218, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  106, 107, 158, 126, 108, 85, 81, 88, 84, 82, 92, 116, 87, 59, 51, 53,
+  67, 57, 32, 34, 30, 55, 51, 45, 44, 24, 39, 36, 44, 45, 47, 52,
+  45, 39, 44, 44, 31, 32, 40, 40, 39, 35, 24, 36, 34, 35, 37, 39,
+  38, 31, 24, 15, 23, 36, 38, 28, 16, 21, 33, 29, 33, 34, 34, 33,
+  33, 35, 36, 37, 33, 30, 29, 32, 33, 32, 30, 34, 34, 34, 33, 33,
+  32, 32, 31, 37, 35, 32, 33, 36, 40, 43, 44, 43, 39, 35, 35, 39,
+  40, 36, 31, 33, 32, 31, 34, 37, 38, 35, 32, 35, 39, 38, 35, 35,
+  36, 33, 29, 49, 31, 35, 45, 124, 196, 244, 222, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 115, 108, 142, 115,
+  98, 87, 80, 71, 65, 77, 91, 101, 66, 73, 38, 76, 59, 81, 49, 39,
+  37, 49, 48, 43, 37, 24, 32, 39, 42, 36, 37, 47, 46, 43, 50, 53,
+  48, 52, 51, 37, 31, 36, 36, 31, 29, 27, 27, 29, 29, 30, 27, 23,
+  26, 32, 34, 32, 21, 23, 29, 30, 34, 35, 35, 34, 34, 35, 37, 37,
+  34, 31, 31, 32, 34, 33, 31, 33, 33, 33, 32, 32, 32, 32, 32, 32,
+  31, 31, 32, 34, 34, 33, 31, 42, 38, 35, 35, 37, 37, 34, 32, 33,
+  31, 29, 31, 34, 37, 38, 37, 32, 36, 36, 35, 36, 39, 37, 33, 38,
+  30, 28, 28, 65, 113, 141, 121, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 141, 134, 153, 123, 94, 87, 83, 66,
+  67, 88, 92, 96, 79, 76, 64, 64, 63, 70, 54, 40, 43, 40, 48, 46,
+  38, 38, 35, 48, 47, 40, 42, 53, 52, 48, 55, 56, 49, 50, 47, 30,
+  25, 32, 35, 31, 31, 30, 27, 27, 28, 35, 38, 33, 28, 30, 33, 36,
+  27, 24, 25, 31, 35, 36, 36, 35, 35, 36, 37, 36, 34, 32, 32, 33,
+  34, 33, 32, 32, 32, 32, 32, 32, 33, 33, 33, 30, 31, 33, 36, 38,
+  36, 32, 28, 39, 38, 36, 35, 34, 33, 33, 32, 33, 30, 28, 28, 32,
+  37, 40, 41, 32, 37, 36, 35, 34, 38, 38, 35, 34, 40, 39, 40, 48,
+  94, 115, 107, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 129, 129, 140, 144, 97, 84, 86, 74, 84, 102, 93, 100,
+  95, 84, 81, 53, 52, 47, 42, 37, 44, 30, 46, 52, 45, 59, 48, 51,
+  55, 53, 57, 62, 52, 45, 53, 54, 39, 36, 38, 34, 33, 34, 26, 32,
+  34, 35, 30, 26, 27, 34, 39, 35, 31, 30, 35, 36, 29, 24, 23, 33,
+  36, 37, 37, 35, 35, 36, 38, 33, 33, 32, 32, 32, 33, 32, 32, 32,
+  32, 33, 33, 34, 34, 35, 35, 29, 30, 33, 37, 40, 40, 36, 33, 38,
+  38, 37, 34, 31, 30, 31, 33, 32, 30, 29, 30, 32, 35, 38, 39, 37,
+  40, 38, 35, 33, 36, 36, 32, 24, 37, 33, 43, 46, 108, 132, 137, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  155, 153, 155, 152, 103, 88, 89, 77, 88, 106, 98, 97, 79, 99, 63, 70,
+  31, 53, 39, 43, 48, 28, 41, 51, 46, 59, 45, 44, 50, 52, 54, 52,
+  38, 35, 51, 45, 34, 35, 41, 38, 37, 37, 30, 28, 32, 35, 29, 22,
+  19, 22, 25, 31, 30, 32, 36, 34, 25, 22, 25, 33, 37, 38, 37, 35,
+  35, 36, 37, 30, 31, 32, 32, 31, 31, 31, 32, 33, 33, 34, 35, 35,
+  36, 36, 36, 30, 30, 31, 33, 35, 36, 35, 33, 39, 39, 37, 33, 30,
+  29, 30, 32, 30, 31, 32, 33, 34, 34, 34, 34, 36, 39, 37, 34, 32,
+  36, 34, 33, 30, 38, 28, 37, 45, 105, 126, 124, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 154, 149, 143, 153,
+  118, 104, 97, 80, 85, 105, 112, 92, 79, 91, 69, 63, 39, 51, 48, 54,
+  51, 35, 34, 39, 40, 42, 31, 45, 49, 49, 48, 43, 30, 36, 62, 32,
+  34, 46, 49, 34, 27, 34, 36, 28, 33, 38, 34, 25, 18, 13, 14, 24,
+  27, 34, 38, 35, 26, 23, 26, 33, 36, 37, 36, 35, 34, 34, 36, 29,
+  31, 33, 33, 32, 31, 32, 33, 34, 34, 34, 35, 35, 35, 35, 35, 40,
+  37, 35, 34, 35, 36, 35, 34, 42, 39, 35, 32, 31, 30, 31, 31, 29,
+  31, 34, 35, 34, 32, 32, 33, 31, 35, 33, 32, 31, 37, 37, 35, 39,
+  43, 40, 41, 56, 105, 124, 164, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 157, 154, 143, 158, 131, 110, 99, 91,
+  91, 103, 117, 99, 92, 82, 85, 55, 56, 50, 57, 60, 49, 44, 31, 32,
+  38, 28, 24, 52, 53, 51, 51, 48, 34, 39, 64, 27, 29, 43, 47, 32,
+  26, 34, 37, 35, 39, 43, 39, 31, 21, 15, 12, 21, 24, 33, 39, 38,
+  30, 25, 26, 33, 36, 37, 36, 34, 32, 33, 34, 30, 33, 36, 36, 35,
+  33, 34, 36, 33, 33, 33, 33, 33, 32, 32, 32, 42, 40, 38, 38, 39,
+  39, 37, 36, 45, 40, 34, 31, 32, 33, 32, 30, 28, 30, 33, 32, 31,
+  31, 34, 37, 30, 33, 32, 30, 30, 36, 36, 35, 27, 33, 42, 31, 53,
+  93, 131, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 166, 168, 157, 170, 138, 104, 92, 101, 100, 99, 106, 107,
+  83, 97, 70, 79, 50, 70, 63, 57, 42, 46, 25, 27, 43, 26, 29, 50,
+  52, 50, 55, 55, 36, 32, 51, 32, 25, 31, 40, 37, 37, 40, 34, 34,
+  37, 40, 40, 32, 25, 17, 13, 25, 26, 33, 41, 42, 33, 26, 25, 32,
+  35, 36, 35, 33, 32, 32, 34, 31, 35, 38, 37, 37, 33, 36, 38, 32,
+  32, 32, 31, 30, 30, 29, 29, 33, 33, 33, 35, 37, 38, 36, 34, 47,
+  40, 33, 31, 33, 35, 33, 29, 28, 29, 30, 29, 29, 31, 37, 42, 33,
+  36, 33, 29, 28, 31, 32, 31, 33, 39, 51, 27, 46, 81, 136, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  156, 150, 147, 148, 151, 115, 121, 102, 111, 120, 92, 102, 95, 83, 79, 60,
+  78, 65, 79, 60, 61, 41, 42, 26, 40, 32, 38, 28, 46, 60, 32, 23,
+  42, 39, 39, 34, 30, 29, 31, 31, 34, 39, 45, 26, 25, 29, 31, 29,
+  26, 28, 31, 41, 19, 43, 38, 38, 37, 6, 25, 30, 34, 35, 35, 36,
+  37, 36, 36, 36, 36, 34, 30, 29, 26, 30, 32, 35, 34, 33, 33, 32,
+  31, 30, 30, 32, 32, 33, 34, 35, 35, 36, 37, 36, 36, 34, 33, 31,
+  30, 29, 28, 32, 31, 28, 27, 28, 31, 34, 38, 32, 34, 34, 31, 29,
+  28, 28, 30, 38, 32, 39, 35, 44, 89, 141, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 150, 144, 166,
+  162, 118, 124, 113, 122, 136, 118, 90, 86, 80, 75, 56, 71, 61, 77, 57,
+  55, 41, 44, 29, 39, 38, 48, 28, 22, 38, 38, 35, 30, 27, 45, 18,
+  27, 33, 34, 34, 39, 39, 32, 23, 23, 29, 31, 29, 25, 29, 31, 35,
+  17, 45, 40, 38, 36, 7, 25, 29, 34, 34, 35, 36, 37, 35, 35, 34,
+  34, 31, 29, 26, 25, 27, 30, 34, 34, 33, 32, 31, 31, 30, 30, 33,
+  33, 34, 35, 36, 37, 37, 38, 34, 34, 33, 32, 31, 30, 29, 29, 32,
+  30, 29, 28, 28, 31, 34, 38, 39, 39, 37, 34, 32, 32, 29, 27, 18,
+  28, 46, 25, 49, 140, 184, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 170, 168, 195, 162, 159, 118, 135, 132,
+  131, 135, 118, 94, 83, 74, 70, 67, 82, 66, 71, 46, 50, 52, 61, 46,
+  39, 30, 41, 25, 51, 66, 36, 37, 64, 55, 34, 26, 37, 42, 35, 28,
+  27, 24, 12, 22, 23, 31, 34, 29, 22, 23, 28, 23, 12, 40, 41, 39,
+  36, 12, 28, 29, 34, 35, 36, 37, 37, 37, 37, 33, 33, 33, 31, 28,
+  27, 28, 29, 33, 33, 33, 32, 31, 31, 30, 30, 32, 32, 33, 33, 34,
+  35, 35, 36, 32, 32, 31, 31, 30, 30, 30, 29, 31, 30, 29, 28, 29,
+  31, 34, 38, 44, 41, 38, 35, 35, 34, 29, 26, 19, 37, 36, 50, 58,
+  193, 212, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 223, 168, 181, 166, 163, 123, 145, 143, 132, 125, 111, 103,
+  79, 66, 64, 78, 93, 71, 61, 52, 55, 61, 66, 50, 32, 26, 35, 44,
+  42, 53, 49, 49, 54, 37, 37, 29, 31, 31, 26, 24, 26, 31, 31, 21,
+  22, 31, 36, 31, 20, 19, 24, 15, 11, 35, 39, 44, 40, 17, 25, 30,
+  35, 37, 38, 39, 39, 38, 38, 33, 34, 34, 32, 29, 28, 28, 29, 33,
+  32, 32, 31, 31, 30, 30, 30, 29, 29, 29, 30, 30, 31, 31, 31, 30,
+  30, 30, 30, 30, 30, 30, 30, 31, 30, 29, 29, 29, 31, 34, 35, 41,
+  37, 33, 33, 35, 35, 30, 25, 35, 32, 29, 59, 91, 172, 221, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  183, 171, 178, 190, 186, 134, 147, 146, 137, 129, 123, 96, 75, 71, 63, 75,
+  83, 68, 60, 66, 62, 64, 58, 47, 33, 38, 50, 57, 50, 58, 52, 54,
+  61, 45, 43, 47, 36, 28, 31, 29, 23, 26, 36, 23, 23, 32, 41, 36,
+  20, 16, 20, 14, 15, 31, 40, 48, 43, 24, 22, 31, 36, 39, 41, 41,
+  41, 40, 39, 37, 38, 38, 37, 34, 32, 32, 33, 32, 31, 31, 31, 31,
+  30, 30, 30, 29, 29, 29, 29, 29, 30, 30, 30, 29, 29, 29, 30, 30,
+  30, 31, 31, 30, 30, 29, 29, 30, 32, 33, 34, 39, 36, 32, 34, 37,
+  37, 32, 27, 36, 24, 36, 40, 117, 125, 227, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176, 163, 185, 182,
+  194, 149, 159, 159, 143, 126, 112, 83, 74, 86, 66, 68, 65, 65, 72, 60,
+  62, 74, 66, 68, 54, 54, 49, 57, 71, 75, 41, 49, 84, 79, 57, 53,
+  41, 33, 37, 37, 30, 26, 27, 27, 23, 33, 44, 41, 25, 17, 19, 17,
+  22, 33, 46, 50, 41, 27, 20, 31, 36, 39, 41, 42, 42, 40, 39, 37,
+  38, 39, 38, 35, 33, 33, 33, 31, 31, 31, 30, 30, 30, 30, 30, 31,
+  31, 31, 31, 32, 32, 32, 32, 30, 30, 30, 30, 31, 31, 31, 31, 30,
+  30, 30, 30, 31, 32, 33, 34, 38, 36, 34, 37, 38, 39, 34, 31, 22,
+  46, 25, 51, 82, 153, 226, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 170, 177, 179, 158, 190, 156, 169, 168,
+  143, 108, 83, 78, 70, 84, 60, 66, 61, 66, 73, 67, 70, 81, 67, 77,
+  65, 59, 39, 71, 49, 48, 46, 56, 64, 67, 86, 45, 47, 43, 41, 50,
+  62, 59, 43, 30, 22, 31, 48, 47, 29, 17, 17, 19, 33, 43, 53, 48,
+  35, 29, 23, 29, 33, 36, 38, 41, 40, 38, 37, 38, 39, 41, 40, 37,
+  35, 34, 34, 30, 30, 30, 30, 30, 30, 30, 30, 32, 32, 32, 32, 32,
+  32, 32, 32, 32, 32, 32, 32, 31, 31, 31, 31, 29, 29, 30, 30, 31,
+  32, 33, 33, 36, 37, 37, 39, 37, 35, 32, 30, 23, 57, 21, 63, 42,
+  203, 229, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 154, 166, 156, 196, 157, 162, 158, 134, 98, 75, 79,
+  57, 64, 44, 64, 63, 63, 60, 99, 90, 80, 47, 58, 57, 62, 43, 68,
+  69, 65, 38, 45, 83, 91, 90, 92, 99, 83, 54, 55, 76, 66, 31, 31,
+  22, 31, 48, 49, 31, 17, 16, 17, 38, 52, 58, 45, 28, 29, 26, 27,
+  29, 34, 37, 38, 38, 36, 35, 36, 38, 40, 39, 36, 34, 32, 32, 30,
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 33,
+  33, 33, 32, 32, 31, 31, 31, 29, 29, 30, 31, 31, 32, 33, 33, 34,
+  37, 37, 37, 33, 29, 26, 25, 40, 32, 42, 31, 50, 197, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 200, 162, 169, 197, 183, 179, 146, 107, 57, 68, 53, 45, 41, 49, 39,
+  71, 63, 68, 86, 84, 123, 63, 68, 53, 41, 50, 68, 55, 103, 49, 49,
+  66, 72, 97, 91, 99, 104, 95, 74, 54, 42, 38, 32, 34, 26, 32, 45,
+  27, 8, 17, 44, 48, 52, 47, 38, 27, 25, 25, 29, 26, 28, 33, 35,
+  34, 33, 34, 33, 32, 32, 34, 37, 37, 34, 32, 33, 32, 32, 31, 31,
+  30, 30, 29, 31, 32, 32, 33, 33, 32, 32, 31, 30, 30, 30, 30, 30,
+  30, 30, 30, 29, 29, 30, 31, 31, 32, 33, 33, 30, 45, 39, 44, 28,
+  19, 36, 22, 33, 21, 48, 35, 49, 198, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 236, 156, 169,
+  175, 179, 151, 147, 97, 67, 52, 43, 25, 32, 31, 39, 62, 63, 91, 98,
+  93, 129, 40, 23, 69, 44, 60, 72, 103, 63, 66, 35, 73, 54, 93, 67,
+  76, 94, 90, 90, 72, 71, 63, 44, 42, 30, 28, 35, 22, 17, 35, 44,
+  48, 51, 46, 37, 28, 23, 22, 24, 22, 23, 28, 31, 28, 27, 29, 34,
+  33, 34, 35, 35, 35, 31, 28, 30, 30, 30, 30, 29, 29, 29, 29, 31,
+  32, 32, 33, 33, 32, 32, 31, 30, 30, 30, 30, 30, 30, 30, 30, 29,
+  29, 30, 31, 31, 32, 33, 33, 38, 35, 25, 42, 40, 28, 35, 23, 17,
+  45, 36, 55, 40, 196, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 164, 203, 182, 162, 109, 94,
+  60, 50, 30, 34, 15, 35, 30, 46, 54, 51, 115, 95, 86, 85, 46, 55,
+  45, 88, 79, 62, 115, 48, 63, 61, 64, 63, 78, 75, 74, 87, 73, 80,
+  59, 62, 49, 45, 40, 31, 24, 26, 22, 30, 49, 45, 47, 49, 43, 33,
+  26, 23, 23, 26, 24, 26, 30, 32, 28, 29, 31, 33, 32, 33, 33, 33,
+  33, 29, 26, 31, 31, 31, 31, 31, 32, 32, 32, 32, 32, 33, 33, 33,
+  33, 32, 32, 31, 31, 31, 31, 31, 31, 31, 31, 29, 29, 30, 31, 31,
+  32, 33, 33, 37, 41, 31, 33, 27, 23, 34, 32, 38, 27, 24, 74, 127,
+  189, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 197, 195, 225, 207, 156, 110, 50, 55, 51, 50, 38,
+  26, 46, 47, 45, 44, 31, 125, 114, 90, 48, 54, 52, 37, 66, 49, 45,
+  89, 57, 78, 83, 72, 81, 73, 68, 58, 62, 46, 62, 53, 66, 60, 32,
+  30, 28, 27, 28, 26, 35, 49, 50, 49, 45, 35, 26, 23, 25, 25, 28,
+  26, 28, 31, 31, 28, 27, 32, 27, 28, 29, 31, 34, 34, 31, 31, 33,
+  33, 34, 35, 35, 36, 36, 36, 32, 32, 33, 34, 34, 33, 32, 32, 32,
+  32, 32, 32, 31, 31, 31, 31, 29, 29, 30, 31, 31, 32, 33, 33, 30,
+  45, 39, 27, 25, 30, 31, 25, 35, 25, 87, 166, 221, 183, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 205, 207, 163, 161, 128, 88, 26, 32, 37, 47, 47, 44, 47, 54, 27,
+  31, 25, 133, 135, 93, 69, 54, 32, 114, 41, 48, 43, 66, 65, 113, 65,
+  95, 79, 73, 73, 61, 56, 45, 59, 59, 70, 66, 34, 27, 27, 28, 27,
+  32, 40, 44, 57, 50, 39, 28, 19, 20, 26, 29, 26, 22, 26, 29, 28,
+  23, 24, 29, 26, 28, 28, 32, 34, 34, 31, 31, 34, 34, 35, 35, 36,
+  37, 37, 37, 32, 33, 34, 34, 34, 34, 33, 32, 34, 34, 33, 33, 32,
+  32, 31, 31, 29, 29, 30, 31, 31, 32, 33, 33, 33, 35, 31, 33, 43,
+  41, 32, 45, 55, 86, 143, 219, 222, 214, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 178, 188, 176,
+  168, 154, 97, 74, 48, 60, 64, 54, 48, 32, 33, 12, 21, 53, 145, 135,
+  85, 86, 59, 105, 109, 62, 52, 54, 47, 81, 102, 53, 78, 68, 59, 91,
+  83, 67, 62, 55, 55, 48, 42, 46, 32, 31, 27, 23, 32, 46, 46, 60,
+  51, 36, 23, 16, 19, 28, 32, 29, 26, 29, 32, 28, 24, 26, 32, 30,
+  31, 30, 33, 35, 34, 30, 27, 31, 33, 33, 33, 34, 34, 34, 34, 33,
+  33, 34, 34, 34, 34, 33, 33, 35, 35, 34, 34, 33, 32, 32, 31, 29,
+  29, 30, 31, 31, 32, 33, 33, 41, 30, 31, 37, 36, 18, 39, 118, 132,
+  178, 198, 191, 199, 220, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 227, 212, 196, 171, 130, 135,
+  99, 79, 72, 60, 43, 23, 10, 23, 27, 105, 156, 139, 105, 70, 49, 129,
+  29, 49, 29, 59, 55, 83, 91, 62, 67, 56, 51, 80, 78, 57, 65, 44,
+  58, 42, 44, 44, 32, 34, 31, 22, 33, 53, 54, 59, 50, 36, 24, 18,
+  21, 29, 30, 33, 31, 34, 36, 31, 27, 29, 36, 32, 31, 33, 35, 35,
+  35, 31, 29, 32, 34, 34, 33, 33, 33, 33, 33, 33, 34, 34, 35, 35,
+  34, 34, 33, 36, 36, 35, 34, 33, 32, 32, 31, 29, 29, 30, 31, 31,
+  32, 33, 33, 41, 38, 41, 35, 32, 21, 45, 133, 131, 188, 201, 190, 206,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 225, 227, 224, 188, 203, 212, 193, 120, 101, 61,
+  33, 23, 0, 46, 37, 146, 158, 143, 138, 66, 36, 63, 56, 47, 76, 55,
+  93, 62, 123, 61, 99, 42, 61, 85, 84, 50, 62, 30, 52, 34, 42, 29,
+  24, 37, 37, 20, 31, 56, 57, 57, 49, 36, 26, 20, 20, 25, 25, 30,
+  28, 31, 34, 28, 22, 25, 30, 27, 27, 29, 31, 33, 32, 32, 31, 33,
+  34, 34, 33, 33, 32, 32, 31, 31, 32, 32, 35, 35, 34, 34, 33, 37,
+  36, 35, 35, 34, 33, 32, 32, 29, 29, 30, 31, 31, 32, 33, 33, 34,
+  41, 42, 33, 61, 70, 41, 58, 57, 91, 60, 189, 218, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 221, 215, 217, 198, 191, 183, 166, 158, 138, 97, 31, 0, 29, 35,
+  91, 186, 151, 126, 90, 52, 62, 44, 41, 36, 65, 41, 51, 68, 69, 105,
+  141, 75, 104, 81, 63, 60, 58, 41, 28, 36, 46, 36, 23, 33, 37, 21,
+  29, 54, 59, 49, 51, 41, 24, 14, 17, 23, 24, 26, 27, 30, 32, 30,
+  28, 28, 28, 24, 23, 24, 31, 33, 29, 27, 29, 40, 39, 35, 32, 32,
+  32, 33, 34, 31, 32, 31, 30, 26, 26, 29, 33, 30, 27, 28, 32, 32,
+  29, 28, 31, 24, 27, 30, 30, 30, 30, 33, 38, 52, 52, 54, 61, 68,
+  69, 61, 49, 53, 40, 67, 71, 211, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 224,
+  234, 174, 155, 202, 200, 166, 144, 91, 12, 11, 39, 40, 111, 169, 166, 133,
+  99, 57, 59, 42, 45, 43, 66, 44, 46, 88, 77, 114, 114, 55, 61, 69,
+  55, 59, 65, 51, 35, 35, 36, 39, 24, 29, 28, 15, 26, 60, 72, 53,
+  47, 33, 16, 13, 18, 22, 22, 27, 30, 33, 33, 31, 29, 30, 30, 30,
+  25, 27, 30, 32, 29, 29, 32, 36, 35, 34, 31, 29, 31, 33, 34, 33,
+  34, 35, 32, 29, 30, 32, 34, 35, 32, 32, 35, 34, 30, 29, 31, 39,
+  36, 32, 31, 34, 38, 41, 42, 56, 60, 58, 59, 64, 71, 69, 61, 51,
+  62, 72, 62, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 222, 202, 179, 187, 209, 194,
+  202, 207, 143, 104, 46, 75, 76, 58, 150, 157, 165, 123, 95, 58, 50, 39,
+  44, 41, 50, 77, 53, 70, 62, 69, 83, 46, 61, 61, 49, 55, 62, 51,
+  38, 34, 33, 37, 27, 31, 28, 17, 25, 56, 72, 59, 45, 26, 12, 15,
+  23, 26, 23, 27, 30, 32, 33, 33, 30, 31, 31, 35, 29, 29, 32, 33,
+  32, 32, 35, 33, 34, 33, 31, 30, 32, 33, 33, 35, 36, 38, 36, 33,
+  32, 33, 34, 39, 36, 36, 38, 37, 32, 31, 33, 35, 31, 28, 32, 41,
+  50, 55, 56, 54, 64, 68, 65, 69, 80, 82, 74, 62, 79, 71, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 185, 183, 191, 197, 212, 204, 180, 181, 172, 91,
+  98, 141, 116, 78, 177, 155, 140, 101, 84, 59, 47, 42, 46, 38, 32, 75,
+  50, 43, 80, 45, 88, 38, 54, 64, 46, 46, 50, 43, 34, 36, 33, 30,
+  31, 38, 37, 26, 24, 40, 52, 56, 42, 25, 14, 18, 24, 25, 23, 26,
+  29, 32, 32, 32, 30, 30, 30, 33, 28, 29, 32, 34, 32, 31, 34, 31,
+  33, 32, 33, 32, 33, 33, 35, 36, 38, 38, 39, 37, 35, 33, 34, 39,
+  36, 37, 40, 39, 35, 34, 36, 26, 26, 28, 35, 44, 54, 62, 66, 58,
+  75, 83, 76, 74, 81, 78, 66, 51, 52, 118, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 206, 210, 201, 170, 154, 149, 150, 155, 133, 53, 112, 154, 144, 103,
+  172, 153, 124, 92, 80, 64, 46, 49, 50, 45, 34, 79, 47, 32, 73, 39,
+  83, 43, 50, 64, 47, 45, 46, 39, 32, 36, 32, 27, 33, 38, 37, 31,
+  23, 29, 39, 40, 31, 23, 17, 19, 20, 23, 25, 27, 30, 32, 33, 31,
+  28, 29, 29, 31, 27, 28, 33, 37, 33, 30, 30, 30, 32, 32, 34, 33,
+  34, 33, 34, 34, 36, 35, 37, 36, 34, 32, 33, 34, 34, 35, 39, 40,
+  37, 37, 39, 34, 36, 37, 37, 40, 51, 67, 79, 72, 84, 86, 73, 64,
+  63, 59, 47, 54, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 227,
+  213, 200, 183, 159, 181, 179, 88, 50, 115, 150, 167, 139, 158, 146, 125, 89,
+  76, 62, 39, 45, 45, 50, 43, 82, 43, 41, 46, 43, 56, 49, 43, 54,
+  44, 49, 53, 44, 36, 35, 30, 30, 34, 30, 27, 30, 25, 28, 41, 24,
+  20, 20, 19, 20, 18, 22, 28, 29, 32, 35, 35, 33, 31, 32, 31, 32,
+  30, 31, 37, 40, 36, 32, 32, 31, 31, 33, 33, 34, 34, 32, 33, 33,
+  32, 31, 33, 35, 35, 34, 34, 33, 33, 35, 39, 41, 38, 38, 41, 40,
+  41, 41, 39, 41, 55, 79, 97, 73, 74, 68, 56, 48, 49, 51, 52, 123,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 232, 171, 215, 181, 162, 197,
+  182, 118, 67, 77, 127, 159, 167, 158, 157, 139, 121, 80, 66, 59, 35, 42,
+  34, 44, 39, 45, 32, 50, 48, 56, 48, 38, 21, 42, 39, 49, 52, 43,
+  34, 35, 29, 32, 35, 25, 22, 33, 29, 28, 42, 27, 22, 21, 23, 24,
+  21, 23, 29, 29, 30, 32, 33, 33, 30, 31, 31, 33, 30, 32, 36, 38,
+  34, 32, 33, 30, 31, 35, 35, 34, 31, 30, 30, 32, 31, 29, 29, 33,
+  35, 36, 37, 36, 36, 37, 41, 41, 39, 38, 41, 37, 41, 44, 46, 48,
+  57, 70, 81, 62, 54, 48, 46, 46, 45, 54, 127, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 231, 199, 158, 170, 191, 172, 132, 81, 85,
+  130, 164, 143, 151, 164, 135, 109, 72, 61, 62, 41, 48, 31, 39, 34, 38,
+  40, 31, 34, 22, 44, 38, 44, 35, 34, 42, 45, 33, 29, 33, 30, 32,
+  36, 26, 24, 39, 32, 25, 36, 41, 31, 27, 27, 28, 24, 24, 26, 26,
+  27, 30, 30, 30, 28, 29, 28, 35, 30, 30, 32, 34, 32, 32, 35, 30,
+  31, 34, 34, 34, 31, 28, 27, 33, 29, 28, 28, 33, 36, 38, 39, 39,
+  39, 39, 42, 42, 39, 38, 40, 40, 45, 52, 56, 54, 48, 41, 37, 63,
+  52, 48, 52, 52, 44, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 194, 170, 162, 173, 172, 121, 64, 88, 166, 143, 143, 174,
+  145, 120, 103, 72, 52, 42, 47, 49, 40, 37, 43, 31, 35, 40, 41, 37,
+  34, 32, 33, 35, 33, 35, 40, 41, 37, 27, 20, 27, 30, 31, 29, 31,
+  34, 34, 27, 32, 34, 36, 31, 26, 23, 25, 27, 29, 30, 33, 33, 31,
+  28, 28, 27, 32, 30, 30, 30, 33, 37, 41, 43, 31, 31, 34, 32, 31,
+  29, 29, 31, 36, 39, 41, 36, 35, 35, 34, 32, 43, 41, 44, 44, 42,
+  50, 50, 36, 57, 47, 41, 42, 42, 38, 38, 41, 46, 46, 45, 46, 48,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 216, 214, 197, 147, 106, 78, 112, 168, 155, 156, 167, 149, 132, 89, 62,
+  69, 65, 47, 35, 37, 38, 35, 32, 36, 40, 42, 42, 41, 40, 39, 42,
+  35, 30, 30, 32, 35, 34, 33, 30, 32, 32, 29, 31, 33, 34, 28, 31,
+  35, 39, 36, 31, 27, 27, 26, 26, 27, 29, 28, 26, 25, 27, 29, 34,
+  33, 33, 31, 34, 35, 37, 37, 32, 32, 33, 31, 30, 28, 32, 36, 35,
+  38, 37, 35, 35, 39, 37, 35, 42, 38, 39, 42, 45, 57, 59, 46, 49,
+  42, 38, 40, 42, 40, 39, 42, 40, 40, 40, 113, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 223,
+  158, 121, 97, 135, 158, 149, 151, 148, 143, 141, 92, 55, 64, 62, 44, 34,
+  38, 39, 33, 35, 36, 38, 41, 41, 41, 39, 35, 42, 36, 27, 26, 30,
+  36, 40, 41, 32, 34, 33, 29, 29, 32, 34, 29, 30, 34, 39, 38, 34,
+  29, 27, 25, 26, 25, 25, 24, 24, 25, 27, 30, 36, 35, 35, 33, 32,
+  31, 31, 31, 33, 31, 31, 30, 29, 29, 35, 39, 36, 38, 35, 33, 37,
+  42, 40, 36, 45, 37, 39, 43, 47, 59, 63, 52, 41, 37, 36, 39, 42,
+  41, 41, 43, 36, 36, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176, 192, 127, 112, 100, 148,
+  148, 135, 149, 159, 147, 136, 102, 61, 48, 42, 48, 50, 44, 39, 40, 40,
+  38, 37, 39, 41, 38, 34, 30, 36, 33, 32, 32, 35, 37, 37, 38, 34,
+  34, 33, 28, 26, 29, 33, 29, 29, 32, 36, 34, 32, 28, 26, 23, 26,
+  26, 27, 27, 28, 28, 31, 33, 35, 34, 35, 34, 33, 31, 30, 30, 30,
+  29, 31, 31, 31, 32, 34, 38, 38, 39, 38, 38, 42, 46, 41, 36, 45,
+  40, 44, 47, 44, 50, 54, 47, 37, 36, 37, 39, 41, 42, 42, 43, 37,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 184, 189, 139, 131, 110, 129, 107, 78, 113, 163,
+  144, 106, 91, 79, 70, 65, 65, 59, 48, 41, 40, 44, 43, 42, 41, 43,
+  43, 39, 33, 34, 34, 35, 36, 37, 36, 34, 32, 32, 34, 33, 27, 25,
+  27, 31, 29, 33, 33, 34, 31, 30, 28, 28, 27, 23, 25, 29, 31, 30,
+  30, 31, 31, 30, 30, 32, 31, 33, 32, 31, 31, 25, 28, 33, 33, 33,
+  32, 32, 33, 33, 37, 42, 45, 49, 53, 48, 40, 42, 41, 49, 51, 40,
+  38, 44, 42, 38, 40, 41, 40, 40, 41, 41, 41, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 153, 166, 155, 155, 130, 122, 80, 44, 85, 158, 158, 128, 133, 102,
+  123, 123, 89, 57, 48, 43, 35, 39, 38, 38, 40, 41, 40, 39, 37, 40,
+  36, 33, 31, 30, 31, 33, 34, 30, 33, 35, 29, 26, 28, 32, 30, 37,
+  35, 35, 32, 32, 32, 32, 30, 22, 24, 29, 31, 31, 29, 29, 29, 30,
+  29, 30, 30, 31, 32, 33, 33, 24, 27, 33, 36, 36, 33, 32, 32, 30,
+  38, 47, 50, 54, 57, 58, 53, 43, 40, 48, 51, 39, 34, 40, 41, 40,
+  44, 43, 39, 37, 38, 40, 111, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 191,
+  170, 151, 124, 71, 48, 56, 92, 125, 134, 131, 139, 120, 146, 147, 106, 64,
+  49, 42, 35, 34, 37, 39, 36, 35, 35, 36, 35, 38, 37, 33, 28, 27,
+  29, 33, 35, 29, 34, 37, 33, 30, 30, 35, 33, 35, 34, 35, 34, 35,
+  34, 32, 28, 25, 25, 30, 31, 30, 29, 31, 32, 32, 30, 30, 28, 28,
+  28, 30, 31, 28, 30, 34, 36, 35, 32, 32, 34, 36, 45, 54, 52, 52,
+  57, 63, 61, 56, 44, 45, 47, 39, 36, 41, 40, 40, 44, 43, 36, 33,
+  36, 111, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 177, 180, 179, 136, 88, 62,
+  84, 162, 194, 161, 149, 153, 145, 130, 133, 130, 111, 81, 54, 42, 44, 41,
+  43, 45, 42, 36, 33, 35, 37, 31, 33, 34, 34, 31, 30, 31, 32, 28,
+  35, 38, 36, 33, 33, 35, 36, 30, 31, 33, 34, 36, 33, 29, 23, 33,
+  32, 33, 32, 30, 31, 33, 36, 33, 31, 28, 25, 24, 27, 29, 31, 32,
+  35, 35, 37, 35, 36, 38, 39, 49, 59, 61, 55, 51, 53, 61, 62, 71,
+  51, 43, 44, 40, 39, 42, 38, 38, 43, 41, 33, 29, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 230, 189, 168, 118, 78, 66, 195, 193, 178, 157,
+  158, 158, 145, 161, 150, 139, 106, 61, 50, 50, 33, 45, 41, 34, 31, 31,
+  34, 34, 36, 27, 28, 27, 29, 30, 31, 31, 29, 31, 31, 30, 29, 28,
+  30, 32, 36, 27, 32, 35, 31, 32, 36, 35, 30, 34, 24, 22, 29, 36,
+  32, 27, 26, 30, 30, 29, 26, 28, 33, 30, 26, 36, 32, 36, 42, 39,
+  30, 38, 56, 45, 56, 54, 57, 63, 52, 56, 87, 50, 43, 39, 40, 40,
+  36, 32, 32, 44, 44, 43, 113, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 195, 176, 152, 88, 72, 189, 199, 143, 101, 131, 152, 177, 159, 131,
+  126, 119, 89, 53, 45, 50, 38, 43, 39, 34, 32, 33, 35, 34, 35, 39,
+  38, 34, 33, 33, 33, 34, 33, 30, 28, 30, 29, 29, 28, 31, 32, 27,
+  31, 33, 31, 32, 36, 35, 31, 32, 26, 23, 29, 33, 29, 24, 24, 26,
+  28, 30, 27, 29, 31, 30, 27, 34, 33, 35, 40, 39, 37, 44, 57, 55,
+  43, 60, 64, 50, 69, 82, 50, 49, 42, 38, 40, 40, 36, 34, 34, 41,
+  41, 41, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 208, 167,
+  118, 86, 151, 180, 143, 89, 70, 113, 162, 151, 94, 126, 120, 111, 82, 50,
+  40, 43, 37, 39, 38, 34, 33, 34, 36, 34, 34, 43, 40, 35, 31, 29,
+  28, 29, 28, 29, 28, 30, 30, 31, 30, 31, 30, 29, 31, 32, 29, 31,
+  33, 34, 31, 29, 27, 26, 29, 30, 26, 24, 26, 24, 29, 33, 30, 30,
+  31, 32, 29, 32, 34, 35, 38, 39, 43, 50, 56, 51, 55, 52, 53, 72,
+  80, 61, 39, 46, 40, 38, 40, 40, 37, 36, 38, 39, 111, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 184, 148, 106, 90, 160, 148,
+  110, 46, 33, 33, 156, 161, 122, 131, 124, 107, 79, 52, 40, 39, 36, 37,
+  36, 34, 34, 36, 36, 33, 32, 39, 37, 33, 31, 28, 26, 24, 22, 29,
+  27, 29, 30, 32, 31, 31, 30, 31, 31, 31, 29, 31, 31, 33, 30, 29,
+  29, 31, 31, 27, 25, 25, 28, 26, 33, 34, 31, 28, 32, 33, 35, 35,
+  39, 40, 38, 42, 50, 56, 55, 55, 60, 50, 58, 83, 63, 36, 47, 43,
+  39, 38, 40, 41, 38, 38, 41, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 218, 139, 100, 122, 171, 97, 80, 67, 72, 48,
+  147, 169, 144, 118, 110, 88, 64, 47, 38, 36, 41, 34, 36, 34, 35, 36,
+  36, 32, 30, 36, 38, 38, 39, 37, 33, 29, 24, 30, 29, 29, 31, 33,
+  32, 31, 30, 33, 31, 30, 30, 31, 30, 30, 31, 31, 33, 35, 32, 27,
+  27, 28, 30, 31, 34, 35, 30, 28, 32, 37, 40, 37, 42, 45, 44, 47,
+  53, 58, 55, 67, 49, 66, 78, 50, 39, 49, 41, 41, 38, 38, 41, 41,
+  39, 40, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 195, 141, 113, 119, 85, 108, 51, 50, 35, 34, 72, 165, 170, 116,
+  102, 70, 46, 43, 37, 29, 37, 36, 37, 34, 34, 35, 34, 31, 29, 33,
+  36, 39, 42, 41, 37, 32, 29, 33, 29, 28, 29, 32, 34, 33, 30, 35,
+  31, 30, 30, 31, 28, 29, 30, 31, 34, 36, 30, 27, 29, 30, 30, 31,
+  35, 34, 30, 30, 35, 38, 40, 39, 44, 50, 54, 56, 55, 58, 60, 60,
+  71, 75, 58, 37, 38, 47, 43, 40, 38, 39, 42, 41, 39, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 151,
+  83, 89, 74, 83, 26, 23, 8, 19, 19, 139, 153, 124, 104, 64, 37, 43,
+  38, 26, 34, 38, 39, 35, 33, 33, 33, 29, 28, 31, 34, 36, 39, 39,
+  36, 32, 29, 35, 30, 27, 28, 33, 35, 34, 31, 36, 31, 28, 29, 29,
+  25, 26, 31, 31, 33, 32, 27, 26, 28, 30, 28, 29, 32, 32, 31, 35,
+  40, 39, 37, 37, 41, 52, 61, 61, 54, 56, 65, 62, 84, 60, 34, 48,
+  47, 33, 47, 39, 38, 40, 42, 112, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 179, 197, 86, 72, 82, 46,
+  29, 24, 35, 26, 33, 136, 140, 121, 100, 56, 32, 44, 41, 31, 38, 42,
+  40, 35, 32, 32, 32, 29, 27, 35, 37, 37, 38, 38, 36, 33, 32, 36,
+  31, 26, 26, 32, 34, 35, 31, 37, 31, 28, 30, 29, 25, 26, 30, 29,
+  32, 31, 25, 23, 29, 30, 28, 28, 31, 33, 35, 41, 43, 40, 33, 34,
+  38, 51, 67, 65, 54, 57, 69, 90, 52, 41, 49, 44, 46, 49, 39, 40,
+  39, 41, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 224, 225, 125, 87, 81, 60, 38, 66, 52, 104,
+  45, 133, 175, 116, 93, 70, 55, 49, 41, 34, 33, 44, 42, 37, 36, 35,
+  31, 24, 19, 29, 33, 36, 41, 43, 41, 38, 35, 35, 30, 30, 34, 37,
+  33, 35, 40, 36, 34, 34, 31, 29, 29, 29, 29, 30, 28, 28, 28, 28,
+  28, 30, 30, 36, 33, 37, 42, 42, 36, 34, 38, 50, 36, 39, 56, 61,
+  68, 81, 87, 57, 54, 49, 47, 45, 44, 43, 42, 40, 38, 111, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 241, 240, 184, 154, 125, 83, 90, 110, 143, 163, 87, 165, 159, 123,
+  92, 61, 45, 43, 44, 44, 43, 41, 40, 38, 39, 40, 39, 33, 29, 28,
+  31, 34, 38, 40, 39, 36, 35, 33, 29, 29, 33, 35, 32, 32, 36, 38,
+  36, 35, 32, 30, 29, 28, 26, 29, 29, 29, 29, 29, 29, 31, 33, 38,
+  36, 39, 42, 41, 35, 32, 34, 40, 31, 35, 47, 59, 76, 85, 77, 55,
+  52, 47, 44, 41, 42, 42, 42, 114, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 240, 229,
+  229, 240, 222, 205, 190, 189, 207, 184, 141, 182, 184, 144, 106, 65, 45, 44,
+  46, 43, 39, 36, 36, 36, 38, 39, 38, 32, 29, 28, 29, 30, 33, 35,
+  35, 35, 34, 32, 30, 30, 33, 33, 30, 29, 31, 35, 34, 33, 31, 31,
+  30, 30, 31, 30, 28, 28, 28, 28, 30, 32, 34, 34, 35, 38, 40, 40,
+  36, 35, 35, 42, 37, 38, 40, 53, 75, 76, 53, 53, 51, 46, 43, 40,
+  41, 41, 42, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 241, 201, 186, 217,
+  196, 224, 223, 197, 197, 148, 180, 148, 109, 67, 50, 50, 49, 40, 31, 39,
+  39, 38, 38, 36, 33, 27, 25, 27, 28, 27, 28, 30, 32, 33, 34, 31,
+  31, 31, 32, 32, 30, 28, 28, 29, 29, 30, 32, 34, 35, 37, 36, 30,
+  30, 30, 30, 30, 30, 34, 36, 28, 32, 36, 39, 41, 41, 41, 41, 45,
+  39, 40, 45, 50, 63, 63, 44, 48, 49, 48, 47, 44, 43, 112, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 240, 205,
+  209, 120, 155, 130, 95, 58, 44, 47, 48, 42, 35, 44, 44, 43, 40, 37,
+  34, 29, 28, 27, 27, 25, 26, 27, 30, 32, 34, 32, 35, 35, 34, 33,
+  33, 30, 29, 27, 28, 30, 33, 35, 37, 36, 37, 31, 30, 30, 30, 31,
+  31, 35, 37, 31, 36, 38, 40, 42, 43, 45, 44, 38, 30, 40, 54, 53,
+  52, 57, 57, 41, 46, 48, 50, 46, 114, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 198, 182, 147, 152, 123,
+  92, 57, 40, 39, 40, 41, 40, 40, 40, 38, 36, 33, 31, 30, 32, 28,
+  27, 25, 26, 27, 30, 33, 34, 35, 36, 35, 32, 32, 35, 33, 31, 31,
+  32, 33, 34, 34, 34, 32, 29, 30, 30, 30, 30, 31, 31, 33, 37, 36,
+  42, 42, 40, 40, 44, 44, 40, 43, 36, 48, 60, 51, 43, 51, 58, 37,
+  43, 47, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 236, 178, 171, 131, 113, 88, 61, 44, 39,
+  35, 35, 38, 35, 36, 33, 30, 27, 27, 29, 33, 28, 28, 26, 27, 29,
+  31, 33, 35, 34, 36, 34, 29, 29, 35, 35, 33, 32, 33, 33, 34, 32,
+  31, 29, 26, 29, 27, 27, 27, 29, 30, 32, 36, 37, 43, 45, 41, 40,
+  43, 44, 39, 45, 45, 57, 58, 45, 41, 48, 49, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 178, 170, 115, 84, 72, 58, 49, 42, 35, 32, 36, 38,
+  39, 36, 31, 27, 28, 33, 38, 31, 31, 32, 31, 32, 34, 34, 37, 33,
+  36, 33, 26, 27, 35, 38, 35, 29, 30, 32, 33, 32, 31, 31, 28, 27,
+  27, 27, 27, 30, 32, 36, 37, 38, 44, 45, 40, 40, 46, 46, 41, 36,
+  46, 58, 52, 43, 51, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  198, 184, 103, 102, 79, 57, 47, 42, 34, 30, 32, 35, 37, 35, 33, 30,
+  28, 29, 29, 34, 33, 34, 33, 35, 35, 34, 35, 34, 33, 31, 29, 28,
+  28, 30, 31, 33, 35, 38, 38, 30, 24, 28, 35, 27, 24, 24, 26, 31,
+  40, 45, 49, 45, 44, 43, 45, 48, 46, 44, 41, 37, 50, 68, 49, 121,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 182, 195, 188, 129,
+  96, 64, 51, 46, 41, 35, 36, 30, 30, 32, 32, 30, 27, 29, 28, 35,
+  34, 35, 35, 34, 36, 36, 36, 34, 32, 30, 29, 28, 29, 30, 32, 31,
+  32, 33, 35, 28, 23, 26, 31, 27, 22, 25, 31, 34, 35, 42, 53, 37,
+  38, 39, 38, 40, 39, 39, 38, 49, 121, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 178, 172, 198, 131, 97, 64, 51, 46,
+  40, 34, 32, 31, 30, 32, 32, 32, 29, 31, 29, 32, 33, 34, 33, 33,
+  34, 35, 35, 32, 33, 29, 28, 28, 30, 31, 33, 35, 34, 33, 36, 34,
+  30, 32, 35, 29, 24, 29, 36, 36, 33, 40, 54, 35, 37, 39, 40, 41,
+  40, 42, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 207, 178, 187, 101, 81, 67, 62, 57, 44, 37, 35, 38,
+  36, 34, 33, 33, 33, 34, 35, 32, 32, 31, 32, 32, 33, 33, 34, 33,
+  32, 28, 27, 28, 30, 32, 33, 36, 33, 31, 34, 35, 32, 32, 33, 27,
+  28, 31, 35, 40, 45, 47, 47, 35, 40, 43, 41, 41, 41, 116, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  207, 187, 194, 62, 58, 65, 72, 71, 57, 48, 48, 46, 40, 34, 31, 33,
+  35, 36, 38, 31, 31, 32, 32, 31, 32, 31, 31, 33, 31, 30, 29, 28,
+  30, 32, 34, 29, 26, 27, 30, 29, 26, 27, 30, 26, 34, 35, 33, 44,
+  62, 58, 41, 34, 38, 38, 38, 37, 110, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 178, 194, 60,
+  50, 51, 61, 66, 57, 50, 46, 49, 42, 35, 29, 31, 34, 36, 35, 32,
+  34, 33, 33, 31, 31, 29, 30, 33, 32, 30, 29, 27, 29, 31, 33, 27,
+  26, 28, 31, 28, 25, 26, 31, 29, 37, 36, 37, 53, 68, 62, 41, 38,
+  39, 39, 36, 109, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 188, 187, 124, 85, 50, 44, 56,
+  57, 51, 41, 51, 45, 39, 35, 37, 36, 35, 31, 34, 34, 33, 32, 31,
+  30, 28, 28, 34, 35, 30, 29, 29, 30, 30, 31, 28, 30, 32, 34, 31,
+  27, 31, 38, 37, 34, 36, 47, 60, 61, 55, 47, 49, 47, 42, 111, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 233, 158, 211, 139, 67, 45, 62, 71, 63, 48, 55,
+  48, 44, 42, 44, 41, 34, 30, 36, 35, 34, 33, 31, 29, 27, 27, 35,
+  35, 31, 29, 28, 29, 31, 30, 24, 27, 31, 33, 28, 23, 28, 38, 43,
+  31, 35, 58, 66, 52, 45, 54, 55, 48, 113, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 175, 184, 190, 172, 205, 185, 128, 51, 38, 48, 26, 43, 43,
+  52, 42, 43, 34, 34, 33, 34, 32, 31, 31, 30, 39, 37, 31, 26, 25,
+  25, 30, 33, 33, 32, 30, 29, 31, 35, 34, 33, 39, 47, 57, 67, 64,
+  53, 52, 58, 54, 110, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 197, 199, 188, 153, 53, 40, 39, 48, 37, 37, 35, 46, 34,
+  36, 34, 33, 33, 31, 31, 32, 35, 34, 32, 31, 31, 32, 32, 33, 34,
+  30, 27, 25, 26, 29, 30, 31, 37, 55, 64, 57, 50, 51, 54, 53, 56,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  234, 200, 192, 106, 37, 44, 44, 34, 29, 30, 44, 35, 36, 34, 34, 34,
+  32, 31, 32, 31, 34, 35, 36, 34, 33, 31, 28, 36, 34, 30, 28, 28,
+  29, 31, 35, 42, 66, 69, 47, 36, 48, 55, 46, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 180, 179, 176,
+  41, 35, 33, 38, 38, 34, 34, 37, 36, 36, 33, 35, 32, 31, 32, 33,
+  36, 36, 36, 32, 29, 27, 25, 33, 32, 31, 32, 29, 27, 29, 35, 57,
+  70, 69, 45, 37, 47, 51, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 189, 192, 200, 44, 26, 30, 41,
+  44, 35, 23, 36, 36, 36, 34, 35, 32, 32, 33, 36, 37, 36, 35, 34,
+  33, 30, 30, 23, 24, 28, 32, 26, 21, 24, 34, 73, 64, 55, 47, 46,
+  44, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 196, 181, 50, 27, 38, 37, 38, 33, 22, 35,
+  34, 33, 33, 33, 33, 34, 33, 37, 36, 36, 36, 37, 39, 39, 41, 23,
+  23, 28, 33, 27, 22, 29, 44, 77, 53, 39, 47, 119, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 186, 174, 74, 30, 46, 35, 41, 41, 25, 31, 32, 32, 32, 33,
+  33, 35, 34, 33, 33, 34, 36, 38, 40, 40, 41, 31, 29, 30, 33, 30,
+  28, 40, 61, 72, 47, 34, 44, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 236, 190,
+  101, 30, 46, 35, 50, 52, 33, 30, 31, 31, 32, 32, 33, 33, 34, 28,
+  31, 31, 33, 34, 32, 32, 29, 30, 26, 26, 28, 26, 27, 49, 73, 66,
+  48, 37, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176, 190, 36, 62, 66,
+  31, 50, 36, 26, 41, 31, 35, 31, 22, 35, 28, 33, 32, 37, 29, 14,
+  26, 38, 23, 23, 36, 33, 19, 29, 55, 66, 55, 54, 44, 116, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 181, 217, 82, 60, 44, 52, 41, 51, 39,
+  42, 29, 38, 37, 21, 30, 25, 36, 20, 30, 43, 33, 26, 27, 22, 27,
+  12, 27, 62, 37, 50, 57, 55, 31, 112, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 191, 162, 212, 87, 43, 77, 51, 43, 49, 41, 27, 36, 39,
+  27, 34, 34, 39, 20, 22, 31, 27, 22, 23, 22, 23, 20, 33, 42, 44,
+  57, 66, 49, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  184, 191, 197, 98, 59, 67, 47, 49, 42, 31, 28, 28, 26, 31, 31, 37,
+  43, 40, 29, 24, 32, 34, 23, 39, 41, 38, 7, 55, 48, 49, 105, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 232, 172, 179, 211,
+  49, 49, 70, 48, 54, 56, 41, 35, 39, 37, 32, 30, 48, 49, 36, 32,
+  33, 31, 26, 28, 21, 38, 57, 64, 45, 41, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 232, 171, 189, 167, 52, 61, 35,
+  39, 53, 40, 35, 42, 35, 36, 48, 48, 42, 39, 38, 29, 37, 61, 38,
+  58, 95, 135, 46, 58, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 225, 189, 177, 161, 65, 71, 49, 53, 42, 39,
+  40, 35, 55, 46, 47, 39, 39, 48, 45, 54, 84, 115, 162, 160, 117, 38,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 164, 173, 183, 127, 105, 89, 80, 72, 69, 110, 117,
+  150, 157, 160, 179, 183, 172, 173, 157, 196, 143, 34, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 };
+/* Define image 'enemy6' of size 131x156x1x3 and type 'const unsigned char' */
+const unsigned char data_enemy6[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211, 116, 116, 123,
+  124, 118, 127, 117, 107, 101, 101, 105, 105, 104, 127, 221, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 208, 112, 112, 115, 113, 116, 119, 120, 117, 114, 113, 113, 109, 114, 119,
+  121, 124, 125, 121, 114, 118, 115, 111, 106, 104, 101, 96, 92, 91, 101, 93,
+  83, 87, 80, 72, 81, 83, 86, 81, 82, 100, 109, 105, 154, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 121, 123, 127, 126, 121,
+  120, 116, 114, 116, 116, 112, 109, 109, 108, 104, 106, 113, 112, 107, 108, 115,
+  116, 111, 110, 114, 115, 111, 105, 103, 99, 103, 107, 106, 101, 94, 86, 81,
+  98, 102, 92, 80, 78, 70, 63, 68, 73, 83, 80, 74, 90, 102, 98, 92,
+  93, 109, 108, 126, 132, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 129, 127, 126,
+  127, 123, 116, 121, 118, 116, 116, 115, 111, 107, 105, 121, 110, 106, 113, 113,
+  106, 110, 123, 111, 96, 85, 86, 87, 84, 86, 93, 78, 86, 93, 95, 89,
+  81, 77, 77, 89, 87, 80, 72, 69, 63, 60, 61, 68, 81, 75, 67, 85,
+  100, 93, 79, 89, 108, 109, 126, 133, 121, 127, 134, 168, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 128, 133,
+  135, 134, 133, 131, 123, 115, 113, 113, 113, 114, 116, 117, 116, 114, 110, 99,
+  96, 102, 100, 90, 89, 98, 93, 77, 65, 65, 67, 67, 74, 85, 66, 72,
+  76, 75, 69, 65, 67, 71, 65, 61, 62, 63, 64, 67, 72, 71, 75, 84,
+  74, 65, 86, 103, 92, 75, 90, 113, 109, 114, 119, 115, 119, 119, 117, 121,
+  123, 124, 167, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 190, 98,
+  94, 87, 92, 96, 97, 97, 95, 87, 77, 68, 68, 65, 61, 62, 65, 63,
+  62, 67, 64, 70, 81, 86, 79, 76, 78, 91, 84, 77, 73, 68, 63, 63,
+  67, 62, 65, 65, 61, 54, 54, 58, 62, 59, 53, 58, 63, 63, 69, 77,
+  73, 83, 88, 77, 71, 90, 103, 94, 82, 89, 111, 104, 105, 113, 113, 117,
+  114, 113, 117, 122, 122, 121, 121, 124, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  196, 66, 98, 89, 99, 105, 107, 107, 106, 105, 97, 89, 77, 76, 69, 59,
+  56, 57, 55, 50, 47, 50, 57, 68, 79, 85, 86, 86, 87, 91, 90, 79,
+  68, 61, 56, 53, 59, 58, 59, 56, 52, 52, 55, 58, 65, 54, 61, 66,
+  61, 67, 75, 64, 84, 89, 81, 76, 87, 92, 90, 91, 99, 108, 98, 107,
+  116, 107, 109, 108, 105, 109, 113, 113, 112, 114, 120, 126, 121, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 210, 126, 71, 72, 108, 101, 103, 105, 104, 100, 98, 96, 89, 81, 68,
+  68, 61, 51, 49, 53, 52, 47, 41, 41, 40, 41, 51, 65, 72, 72, 66,
+  77, 79, 67, 57, 57, 57, 54, 51, 54, 56, 58, 58, 57, 58, 58, 61,
+  49, 58, 67, 61, 67, 76, 64, 80, 88, 81, 78, 82, 82, 86, 97, 120,
+  115, 99, 114, 117, 89, 84, 86, 92, 95, 97, 96, 96, 99, 108, 116, 118,
+  118, 119, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 215, 123, 101, 91, 100, 109, 109, 108, 101, 96, 98, 99, 91,
+  79, 72, 51, 58, 55, 52, 55, 50, 43, 48, 50, 38, 32, 40, 49, 51,
+  49, 49, 62, 61, 62, 65, 62, 56, 55, 59, 58, 53, 47, 48, 52, 53,
+  52, 50, 61, 56, 57, 65, 75, 76, 69, 60, 73, 82, 74, 76, 89, 84,
+  82, 99, 117, 121, 108, 89, 87, 87, 87, 89, 79, 81, 77, 69, 64, 66,
+  74, 81, 96, 104, 113, 119, 167, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 136, 120, 115, 108, 98, 88, 80, 83, 88, 75, 69, 65,
+  64, 60, 54, 49, 49, 48, 52, 46, 43, 50, 51, 52, 62, 56, 45, 39,
+  44, 49, 49, 49, 50, 52, 54, 57, 59, 60, 59, 59, 58, 66, 58, 49,
+  45, 48, 52, 50, 48, 57, 53, 54, 59, 68, 73, 70, 64, 86, 88, 86,
+  89, 93, 87, 81, 87, 82, 96, 93, 79, 77, 74, 69, 70, 55, 55, 55,
+  54, 53, 52, 56, 60, 71, 75, 81, 90, 103, 115, 166, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 215, 125, 113, 102, 91, 89, 88, 77, 59, 55, 61,
+  53, 48, 45, 41, 35, 30, 32, 39, 42, 46, 41, 39, 49, 52, 55, 64,
+  61, 54, 48, 48, 48, 47, 48, 51, 48, 55, 58, 57, 60, 66, 64, 56,
+  60, 51, 41, 38, 44, 51, 50, 49, 54, 52, 53, 55, 60, 68, 72, 73,
+  88, 82, 89, 98, 97, 94, 89, 81, 72, 86, 85, 72, 69, 64, 57, 56,
+  56, 56, 56, 57, 58, 55, 49, 46, 48, 48, 50, 61, 75, 94, 110, 165,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 128, 123, 106, 85, 87, 82, 78, 75, 64,
+  50, 46, 50, 56, 49, 45, 42, 38, 34, 37, 44, 39, 45, 42, 43, 52,
+  52, 48, 52, 63, 59, 54, 50, 46, 45, 48, 51, 48, 58, 60, 55, 58,
+  68, 64, 51, 59, 51, 42, 41, 46, 51, 52, 48, 53, 53, 53, 54, 58,
+  64, 75, 82, 88, 76, 88, 99, 93, 95, 94, 76, 77, 86, 78, 64, 66,
+  68, 65, 66, 67, 65, 64, 65, 68, 67, 59, 51, 43, 41, 42, 49, 58,
+  72, 92, 107, 163, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 208, 107, 102, 89, 73, 80, 84,
+  79, 64, 55, 55, 57, 54, 59, 53, 48, 48, 47, 44, 43, 45, 44, 48,
+  44, 44, 54, 53, 49, 53, 64, 64, 60, 53, 47, 47, 49, 51, 48, 59,
+  62, 55, 58, 67, 65, 53, 67, 60, 53, 50, 50, 50, 48, 45, 51, 53,
+  54, 52, 54, 61, 73, 83, 93, 79, 87, 94, 86, 90, 92, 74, 77, 81,
+  69, 59, 69, 78, 76, 76, 63, 59, 56, 58, 62, 65, 60, 54, 45, 44,
+  47, 50, 49, 54, 70, 89, 106, 107, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 98, 91, 90, 88,
+  85, 79, 86, 82, 66, 58, 66, 71, 66, 62, 55, 50, 51, 51, 47, 43,
+  43, 48, 49, 40, 39, 52, 58, 60, 68, 69, 70, 66, 58, 52, 52, 51,
+  50, 54, 63, 67, 64, 64, 70, 72, 68, 57, 56, 54, 51, 48, 48, 48,
+  49, 46, 49, 52, 51, 52, 57, 68, 75, 79, 75, 78, 81, 84, 92, 97,
+  89, 86, 93, 83, 75, 81, 84, 76, 71, 76, 68, 60, 57, 57, 55, 50,
+  47, 44, 42, 46, 48, 43, 41, 51, 67, 86, 91, 150, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 97, 95,
+  95, 93, 91, 92, 79, 82, 81, 76, 72, 70, 74, 75, 66, 62, 59, 57,
+  52, 46, 46, 50, 48, 48, 40, 42, 59, 68, 72, 81, 80, 80, 75, 66,
+  60, 59, 54, 48, 64, 69, 73, 71, 67, 67, 72, 77, 57, 58, 56, 51,
+  43, 43, 47, 53, 44, 47, 52, 53, 54, 57, 63, 67, 56, 65, 66, 67,
+  82, 95, 99, 104, 99, 110, 106, 93, 90, 87, 81, 77, 90, 82, 71, 63,
+  57, 51, 46, 43, 46, 38, 37, 41, 39, 34, 37, 47, 62, 73, 88, 99,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  97, 88, 97, 102, 96, 86, 84, 79, 75, 79, 86, 81, 70, 70, 78, 69,
+  66, 64, 61, 50, 43, 47, 56, 44, 48, 45, 52, 71, 78, 78, 83, 88,
+  89, 83, 72, 66, 63, 56, 46, 65, 67, 70, 69, 60, 54, 60, 71, 80,
+  80, 74, 61, 45, 38, 43, 50, 46, 50, 55, 59, 59, 60, 61, 62, 46,
+  63, 63, 60, 78, 86, 88, 100, 93, 110, 110, 95, 91, 90, 94, 100, 78,
+  73, 66, 61, 57, 55, 51, 49, 52, 36, 29, 35, 39, 32, 30, 34, 45,
+  61, 83, 101, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 104, 89, 92, 109, 104, 81, 73, 85, 91, 83, 74, 86, 82, 73,
+  81, 68, 67, 63, 58, 57, 57, 57, 56, 53, 54, 64, 51, 59, 60, 93,
+  83, 74, 79, 93, 86, 65, 68, 84, 70, 36, 42, 58, 72, 70, 62, 59,
+  56, 54, 70, 67, 65, 62, 56, 49, 49, 54, 54, 65, 53, 54, 71, 56,
+  41, 58, 53, 44, 45, 61, 80, 90, 93, 97, 107, 80, 77, 97, 105, 99,
+  89, 74, 83, 77, 66, 54, 53, 58, 53, 44, 47, 43, 40, 34, 30, 31,
+  37, 44, 39, 52, 67, 79, 97, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 206, 105, 102, 103, 103, 97, 89, 86, 90, 92, 85, 79,
+  91, 87, 76, 79, 65, 69, 65, 64, 59, 55, 53, 57, 59, 59, 63, 56,
+  72, 70, 87, 81, 82, 82, 85, 78, 69, 68, 70, 61, 45, 39, 54, 65,
+  59, 55, 57, 58, 53, 63, 61, 62, 64, 61, 54, 51, 53, 58, 67, 55,
+  54, 70, 57, 39, 54, 55, 46, 45, 57, 74, 81, 84, 86, 91, 75, 78,
+  90, 90, 85, 81, 70, 75, 74, 68, 62, 62, 64, 58, 51, 47, 46, 41,
+  36, 31, 30, 34, 37, 35, 46, 57, 68, 89, 110, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 207, 100, 100, 108, 106, 91, 85, 92, 94, 88,
+  82, 81, 79, 93, 90, 82, 87, 72, 71, 73, 71, 64, 57, 55, 64, 71,
+  67, 67, 67, 83, 76, 77, 74, 83, 84, 77, 72, 72, 65, 52, 48, 53,
+  43, 55, 58, 46, 44, 55, 58, 48, 57, 54, 56, 63, 65, 59, 52, 49,
+  61, 68, 56, 53, 66, 57, 42, 50, 56, 46, 42, 49, 61, 67, 71, 72,
+  73, 72, 78, 81, 72, 70, 74, 68, 74, 77, 77, 74, 71, 69, 61, 55,
+  43, 43, 39, 36, 31, 29, 29, 31, 34, 40, 45, 53, 75, 100, 160, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 209, 105, 95, 100, 109, 105, 90, 84,
+  93, 97, 92, 88, 85, 80, 88, 84, 80, 89, 75, 76, 76, 74, 68, 62,
+  63, 72, 79, 71, 75, 77, 80, 72, 69, 70, 76, 81, 75, 72, 71, 59,
+  42, 42, 54, 48, 57, 53, 36, 37, 52, 57, 45, 56, 51, 52, 60, 65,
+  61, 53, 47, 61, 68, 59, 55, 64, 59, 48, 49, 53, 44, 39, 42, 50,
+  57, 60, 62, 66, 67, 72, 67, 57, 62, 71, 68, 78, 82, 84, 83, 78,
+  72, 65, 61, 74, 73, 68, 62, 54, 48, 43, 40, 36, 38, 37, 40, 59,
+  85, 100, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 208, 108, 102, 97, 110, 105,
+  102, 98, 96, 94, 97, 100, 102, 97, 83, 81, 71, 69, 83, 70, 81, 79,
+  74, 69, 68, 68, 71, 74, 68, 77, 81, 67, 64, 67, 72, 68, 69, 74,
+  73, 65, 54, 47, 48, 53, 47, 53, 47, 32, 35, 52, 58, 48, 56, 48,
+  46, 53, 60, 58, 51, 46, 56, 65, 63, 57, 60, 61, 56, 51, 46, 40,
+  35, 35, 42, 51, 54, 54, 61, 58, 58, 52, 45, 55, 67, 64, 72, 75,
+  81, 84, 82, 79, 77, 77, 92, 88, 79, 70, 60, 50, 42, 37, 37, 37,
+  33, 31, 46, 72, 92, 98, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 209, 110, 104, 103,
+  105, 110, 95, 90, 96, 99, 91, 92, 99, 97, 94, 78, 76, 67, 70, 88,
+  79, 82, 78, 77, 72, 67, 64, 63, 62, 65, 73, 78, 57, 64, 70, 78,
+  65, 55, 67, 69, 60, 54, 56, 55, 51, 41, 44, 41, 34, 39, 50, 57,
+  54, 55, 47, 44, 50, 57, 56, 52, 50, 53, 65, 69, 61, 56, 61, 61,
+  53, 39, 37, 33, 33, 39, 48, 52, 50, 55, 42, 39, 38, 38, 48, 58,
+  57, 59, 63, 71, 83, 88, 89, 90, 93, 70, 66, 58, 52, 47, 43, 38,
+  35, 34, 37, 33, 27, 39, 64, 87, 98, 110, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 113,
+  106, 103, 106, 110, 107, 89, 78, 84, 92, 89, 87, 90, 84, 85, 77, 78,
+  71, 75, 93, 83, 74, 78, 82, 78, 70, 64, 63, 64, 73, 69, 74, 60,
+  75, 70, 75, 62, 53, 60, 62, 60, 59, 58, 52, 45, 40, 38, 40, 40,
+  41, 44, 49, 52, 48, 42, 41, 49, 55, 55, 54, 53, 52, 67, 78, 66,
+  53, 60, 65, 53, 37, 37, 35, 34, 39, 48, 51, 48, 45, 28, 28, 36,
+  39, 43, 50, 51, 58, 58, 66, 82, 92, 92, 89, 89, 71, 65, 58, 53,
+  52, 52, 51, 50, 36, 42, 38, 29, 34, 56, 81, 95, 104, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 111, 105, 101, 101, 105, 109, 107, 91, 77, 77, 88, 93, 91, 88, 87,
+  91, 85, 86, 75, 73, 85, 69, 65, 76, 86, 84, 74, 66, 68, 73, 85,
+  69, 73, 67, 85, 68, 68, 58, 59, 57, 57, 63, 63, 54, 43, 37, 43,
+  39, 41, 44, 43, 36, 39, 44, 42, 38, 41, 50, 56, 56, 55, 55, 53,
+  71, 83, 69, 50, 57, 66, 54, 38, 38, 38, 36, 41, 49, 51, 46, 39,
+  22, 26, 41, 42, 40, 45, 50, 66, 65, 71, 85, 93, 88, 79, 75, 85,
+  75, 63, 52, 47, 43, 40, 38, 41, 48, 45, 33, 32, 50, 74, 89, 100,
+  107, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 107, 103, 104, 105, 105, 103, 82, 87, 87, 85, 86, 89,
+  85, 77, 75, 80, 65, 72, 78, 65, 70, 74, 61, 92, 90, 71, 72, 70,
+  62, 66, 69, 73, 81, 82, 69, 55, 56, 66, 75, 65, 76, 62, 38, 33,
+  34, 47, 38, 31, 43, 53, 41, 32, 44, 53, 37, 41, 50, 55, 56, 54,
+  54, 54, 67, 73, 75, 71, 66, 57, 46, 33, 33, 41, 43, 38, 43, 54,
+  46, 25, 40, 35, 32, 36, 43, 50, 50, 49, 46, 58, 71, 78, 79, 80,
+  83, 86, 76, 64, 52, 45, 46, 48, 46, 42, 40, 40, 23, 27, 36, 45,
+  70, 76, 92, 100, 159, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 99, 99, 105, 107, 104, 98, 80, 85, 86,
+  83, 80, 79, 73, 66, 71, 72, 62, 68, 63, 54, 68, 69, 58, 86, 92,
+  80, 80, 73, 62, 66, 79, 74, 70, 69, 68, 66, 66, 67, 68, 59, 72,
+  65, 48, 45, 41, 48, 33, 33, 44, 49, 45, 47, 52, 46, 43, 47, 53,
+  57, 57, 57, 55, 55, 69, 79, 83, 76, 66, 57, 50, 45, 48, 48, 43,
+  37, 41, 48, 44, 34, 34, 37, 39, 44, 49, 52, 52, 52, 51, 59, 67,
+  71, 71, 71, 71, 73, 73, 66, 59, 56, 57, 56, 50, 44, 41, 45, 34,
+  35, 34, 35, 58, 64, 91, 101, 113, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 100, 93, 97, 109, 113, 106, 97,
+  90, 94, 93, 87, 80, 75, 67, 61, 62, 58, 58, 64, 48, 46, 75, 73,
+  90, 91, 77, 61, 61, 64, 74, 93, 77, 78, 78, 80, 83, 85, 79, 71,
+  84, 66, 71, 62, 48, 45, 37, 39, 32, 35, 42, 41, 43, 55, 54, 32,
+  49, 53, 58, 61, 61, 60, 59, 60, 69, 83, 88, 76, 61, 52, 55, 57,
+  60, 53, 47, 45, 47, 47, 46, 45, 28, 33, 38, 41, 44, 44, 48, 52,
+  59, 61, 64, 67, 68, 69, 70, 70, 62, 60, 59, 61, 64, 60, 50, 39,
+  43, 53, 47, 46, 38, 31, 53, 61, 86, 97, 110, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 102, 100, 105, 116,
+  119, 112, 104, 99, 101, 99, 90, 80, 73, 68, 65, 54, 49, 55, 63, 42,
+  47, 87, 83, 89, 79, 69, 71, 75, 72, 73, 82, 78, 85, 88, 86, 86,
+  90, 89, 85, 98, 71, 65, 51, 39, 41, 34, 36, 43, 40, 42, 40, 40,
+  51, 50, 30, 51, 55, 59, 62, 62, 63, 64, 68, 68, 79, 84, 73, 60,
+  55, 60, 64, 60, 55, 57, 63, 65, 58, 54, 56, 54, 53, 53, 54, 55,
+  60, 66, 68, 63, 63, 64, 68, 72, 76, 80, 80, 73, 74, 76, 80, 83,
+  78, 68, 57, 51, 59, 51, 49, 42, 37, 58, 66, 76, 88, 105, 114, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 110,
+  110, 112, 117, 115, 111, 106, 102, 97, 92, 84, 75, 69, 66, 65, 50, 47,
+  53, 61, 42, 53, 93, 87, 91, 72, 65, 76, 85, 87, 85, 85, 90, 85,
+  78, 75, 81, 89, 91, 87, 85, 59, 56, 47, 41, 48, 43, 45, 53, 42,
+  42, 44, 40, 44, 50, 45, 59, 60, 62, 63, 62, 64, 66, 69, 72, 76,
+  77, 70, 65, 66, 70, 72, 70, 65, 68, 75, 74, 64, 60, 66, 68, 64,
+  62, 63, 68, 71, 71, 66, 57, 56, 57, 61, 68, 74, 80, 81, 80, 80,
+  83, 85, 86, 81, 74, 66, 58, 58, 43, 41, 39, 37, 58, 63, 68, 81,
+  100, 113, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 104, 104, 104, 105, 106, 102, 98, 94, 103, 96, 87, 82, 78, 71, 66,
+  66, 52, 51, 51, 57, 48, 58, 89, 81, 100, 75, 68, 78, 84, 96, 106,
+  103, 96, 80, 74, 86, 99, 98, 82, 67, 72, 54, 62, 59, 53, 56, 47,
+  48, 51, 40, 44, 49, 45, 46, 55, 55, 67, 68, 67, 64, 64, 64, 66,
+  71, 77, 80, 78, 77, 78, 83, 82, 81, 85, 82, 79, 80, 74, 67, 69,
+  75, 66, 62, 60, 65, 69, 68, 61, 50, 52, 52, 55, 58, 63, 69, 76,
+  79, 81, 79, 79, 76, 73, 68, 62, 57, 57, 53, 33, 32, 33, 32, 47,
+  46, 61, 76, 98, 112, 120, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 201, 95, 92, 92, 98, 104, 106, 102, 96, 106, 96, 88, 88,
+  87, 79, 69, 66, 52, 57, 48, 53, 59, 68, 86, 81, 84, 78, 93, 108,
+  104, 103, 102, 86, 93, 82, 82, 99, 103, 87, 70, 64, 76, 64, 77, 74,
+  62, 60, 51, 53, 55, 56, 65, 66, 64, 70, 73, 59, 70, 71, 70, 67,
+  67, 68, 74, 79, 81, 86, 86, 85, 87, 92, 90, 87, 92, 96, 94, 91,
+  84, 78, 80, 84, 82, 78, 75, 74, 76, 74, 72, 68, 62, 65, 70, 73,
+  77, 81, 90, 96, 102, 98, 93, 85, 77, 69, 63, 58, 49, 49, 34, 36,
+  37, 31, 41, 36, 54, 70, 94, 110, 119, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 89, 96, 91, 90, 102, 117, 125, 123, 115, 104,
+  91, 85, 89, 91, 83, 71, 64, 55, 65, 51, 56, 75, 83, 92, 86, 99,
+  94, 104, 104, 88, 92, 104, 93, 99, 88, 87, 89, 72, 54, 64, 91, 82,
+  71, 84, 79, 66, 67, 64, 72, 72, 85, 96, 91, 90, 102, 95, 64, 66,
+  68, 68, 69, 70, 76, 85, 91, 84, 91, 95, 94, 93, 97, 96, 92, 90,
+  100, 109, 107, 101, 95, 93, 91, 90, 85, 75, 68, 64, 68, 75, 80, 80,
+  83, 92, 96, 98, 104, 114, 122, 108, 103, 95, 84, 74, 63, 54, 49, 42,
+  48, 42, 49, 47, 39, 44, 37, 49, 66, 89, 107, 115, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 113, 117, 105, 104, 119, 128, 121,
+  116, 117, 111, 101, 94, 93, 90, 83, 77, 75, 62, 66, 82, 96, 98, 103,
+  105, 96, 101, 93, 93, 103, 102, 94, 91, 94, 92, 94, 90, 79, 79, 86,
+  84, 77, 75, 73, 69, 64, 61, 66, 75, 82, 88, 87, 83, 79, 79, 82,
+  80, 75, 71, 70, 66, 63, 67, 72, 81, 88, 79, 86, 93, 96, 98, 98,
+  100, 102, 100, 104, 107, 106, 102, 99, 98, 98, 97, 95, 88, 77, 71, 73,
+  76, 77, 83, 70, 69, 79, 87, 87, 88, 93, 84, 82, 76, 69, 68, 70,
+  69, 65, 72, 54, 43, 45, 42, 33, 34, 44, 42, 39, 65, 78, 93, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 95, 90, 84, 103, 122,
+  128, 121, 112, 108, 106, 77, 75, 72, 66, 69, 74, 77, 73, 77, 80, 97,
+  112, 112, 113, 113, 104, 103, 95, 95, 103, 102, 95, 91, 95, 86, 86, 81,
+  76, 77, 81, 80, 77, 63, 63, 64, 63, 64, 69, 76, 81, 76, 73, 68,
+  64, 66, 70, 71, 69, 68, 70, 73, 76, 79, 85, 90, 92, 89, 95, 100,
+  101, 102, 104, 108, 110, 105, 105, 107, 106, 105, 104, 107, 109, 99, 96, 88,
+  77, 72, 74, 76, 74, 58, 61, 73, 88, 95, 91, 82, 77, 74, 76, 76,
+  76, 81, 86, 84, 77, 66, 57, 49, 46, 38, 30, 30, 38, 36, 35, 46,
+  58, 70, 159, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 86,
+  90, 120, 140, 132, 117, 107, 99, 89, 74, 77, 71, 58, 57, 64, 72, 70,
+  91, 94, 111, 124, 122, 121, 119, 109, 106, 96, 94, 100, 101, 95, 92, 96,
+  94, 88, 83, 83, 82, 80, 80, 83, 61, 65, 70, 75, 78, 80, 83, 86,
+  75, 74, 69, 63, 66, 74, 78, 77, 73, 73, 72, 72, 71, 73, 74, 76,
+  93, 94, 98, 99, 102, 106, 111, 114, 109, 106, 107, 105, 107, 110, 113, 116,
+  100, 95, 89, 80, 77, 79, 80, 75, 66, 71, 77, 81, 85, 88, 87, 83,
+  74, 75, 75, 78, 83, 84, 73, 61, 64, 63, 58, 49, 38, 32, 31, 34,
+  30, 31, 27, 36, 50, 108, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  77, 90, 112, 120, 128, 129, 119, 113, 110, 99, 83, 87, 84, 79, 70, 64,
+  65, 74, 82, 107, 108, 120, 130, 126, 126, 126, 117, 109, 102, 98, 101, 101,
+  98, 97, 98, 106, 95, 90, 94, 94, 86, 87, 93, 73, 78, 86, 93, 96,
+  95, 91, 90, 79, 80, 77, 74, 74, 81, 85, 84, 95, 90, 84, 77, 76,
+  80, 84, 89, 91, 93, 97, 101, 104, 108, 113, 114, 111, 110, 109, 107, 109,
+  111, 115, 115, 104, 102, 96, 90, 87, 88, 88, 81, 82, 87, 84, 75, 74,
+  83, 88, 86, 95, 93, 90, 90, 93, 90, 75, 58, 67, 68, 63, 53, 44,
+  43, 38, 33, 29, 34, 22, 30, 48, 113, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 89, 105, 129, 123, 114, 107, 104, 106, 103, 98, 94, 86, 79,
+  78, 83, 79, 74, 86, 104, 123, 122, 128, 133, 127, 129, 133, 127, 117, 111,
+  106, 106, 106, 104, 105, 105, 106, 96, 93, 98, 100, 93, 96, 103, 92, 96,
+  103, 109, 110, 107, 100, 95, 80, 84, 85, 82, 82, 85, 86, 84, 91, 89,
+  86, 86, 89, 98, 106, 111, 104, 105, 107, 112, 115, 115, 115, 113, 114, 112,
+  112, 112, 113, 113, 111, 109, 111, 109, 105, 99, 96, 99, 98, 92, 74, 85,
+  91, 88, 85, 86, 81, 72, 89, 87, 83, 84, 90, 91, 80, 66, 66, 64,
+  57, 51, 49, 50, 41, 31, 29, 35, 26, 33, 65, 118, 108, 255, 255, 255,
+  255, 255, 255, 255, 255, 112, 113, 115, 118, 115, 113, 112, 108, 100, 91, 92,
+  99, 91, 87, 87, 92, 90, 90, 103, 120, 138, 132, 135, 137, 132, 135, 144,
+  139, 129, 124, 117, 113, 113, 114, 114, 115, 109, 103, 103, 106, 110, 111, 115,
+  118, 116, 120, 124, 127, 128, 124, 115, 110, 100, 105, 107, 104, 101, 102, 102,
+  99, 87, 92, 97, 103, 108, 113, 114, 116, 124, 126, 126, 126, 127, 125, 121,
+  116, 116, 116, 115, 118, 118, 115, 110, 104, 112, 113, 111, 104, 100, 101, 103,
+  101, 81, 87, 93, 95, 96, 97, 92, 86, 82, 80, 75, 74, 78, 81, 75,
+  65, 64, 55, 48, 47, 49, 48, 38, 29, 31, 31, 30, 35, 86, 118, 107,
+  255, 255, 255, 255, 255, 255, 255, 206, 115, 119, 114, 105, 115, 124, 124, 110,
+  97, 94, 96, 97, 104, 111, 105, 92, 93, 109, 122, 126, 142, 136, 141, 143,
+  138, 142, 149, 144, 141, 136, 128, 122, 121, 124, 127, 128, 122, 121, 121, 118,
+  122, 128, 132, 130, 135, 136, 137, 139, 140, 139, 134, 130, 127, 132, 131, 127,
+  124, 125, 126, 125, 122, 125, 130, 133, 134, 133, 130, 127, 137, 134, 132, 131,
+  132, 131, 127, 124, 122, 120, 119, 121, 121, 118, 113, 107, 108, 111, 111, 103,
+  96, 98, 104, 103, 103, 94, 88, 91, 97, 103, 109, 115, 109, 107, 100, 93,
+  90, 89, 81, 72, 67, 55, 49, 52, 52, 45, 37, 36, 35, 25, 32, 32,
+  104, 115, 109, 255, 255, 255, 255, 255, 255, 255, 108, 104, 107, 108, 103, 112,
+  124, 119, 97, 94, 108, 110, 99, 103, 120, 112, 87, 91, 123, 141, 131, 140,
+  137, 143, 146, 141, 144, 149, 146, 148, 144, 135, 128, 127, 131, 134, 134, 132,
+  136, 133, 126, 126, 135, 136, 131, 139, 140, 139, 142, 143, 144, 142, 139, 138,
+  142, 140, 134, 131, 133, 137, 137, 137, 137, 137, 136, 136, 135, 135, 133, 135,
+  130, 128, 126, 129, 131, 131, 130, 126, 122, 121, 121, 123, 121, 117, 111, 103,
+  109, 111, 101, 92, 93, 101, 105, 110, 92, 84, 91, 99, 103, 110, 119, 120,
+  119, 112, 102, 95, 90, 82, 74, 74, 61, 57, 62, 57, 45, 40, 46, 40,
+  22, 33, 28, 113, 113, 113, 255, 255, 255, 255, 255, 255, 255, 102, 109, 104,
+  105, 113, 114, 132, 125, 90, 111, 97, 103, 119, 113, 120, 115, 107, 114, 132,
+  140, 132, 149, 146, 143, 144, 146, 148, 150, 150, 154, 152, 148, 147, 143, 139,
+  140, 145, 136, 141, 145, 145, 147, 151, 150, 148, 149, 149, 148, 149, 150, 152,
+  151, 150, 153, 153, 153, 153, 151, 149, 144, 141, 142, 141, 141, 142, 141, 139,
+  134, 128, 132, 134, 138, 135, 136, 137, 132, 124, 127, 126, 130, 132, 130, 120,
+  117, 117, 116, 107, 110, 103, 86, 83, 97, 104, 101, 102, 96, 84, 87, 102,
+  108, 101, 126, 122, 121, 121, 119, 106, 84, 67, 71, 69, 61, 52, 49, 51,
+  45, 36, 38, 56, 28, 31, 96, 120, 106, 167, 255, 255, 255, 255, 255, 96,
+  101, 107, 105, 105, 109, 113, 111, 108, 98, 127, 115, 116, 126, 118, 113, 111,
+  120, 135, 144, 150, 153, 155, 154, 154, 155, 156, 157, 157, 156, 156, 154, 153,
+  154, 151, 146, 146, 149, 143, 148, 153, 154, 157, 162, 164, 161, 157, 158, 157,
+  158, 158, 159, 158, 157, 158, 157, 156, 156, 155, 153, 149, 147, 149, 146, 144,
+  143, 144, 142, 139, 134, 130, 132, 132, 132, 135, 138, 137, 133, 125, 125, 128,
+  131, 130, 123, 121, 121, 122, 110, 108, 102, 87, 84, 94, 95, 96, 99, 98,
+  90, 88, 97, 103, 103, 112, 120, 128, 128, 118, 104, 94, 89, 68, 69, 65,
+  57, 52, 52, 45, 37, 37, 50, 29, 35, 89, 115, 110, 122, 255, 255, 255,
+  255, 205, 104, 106, 110, 111, 110, 108, 110, 93, 95, 109, 138, 131, 129, 128,
+  124, 110, 113, 140, 158, 158, 159, 171, 152, 152, 154, 156, 157, 157, 152, 152,
+  156, 155, 154, 156, 156, 152, 151, 153, 153, 159, 163, 163, 166, 170, 170, 167,
+  165, 165, 163, 164, 166, 167, 164, 162, 164, 162, 159, 158, 158, 157, 154, 152,
+  155, 152, 148, 146, 146, 145, 144, 142, 143, 141, 138, 133, 133, 137, 134, 130,
+  126, 125, 130, 133, 132, 126, 124, 126, 129, 112, 105, 99, 86, 84, 89, 86,
+  92, 95, 100, 99, 94, 92, 96, 101, 100, 98, 99, 104, 107, 101, 87, 74,
+  68, 71, 69, 62, 54, 50, 44, 38, 34, 38, 29, 37, 75, 106, 113, 118,
+  255, 255, 255, 255, 108, 111, 106, 107, 111, 110, 104, 104, 95, 105, 120, 131,
+  133, 134, 127, 118, 115, 129, 157, 170, 164, 162, 172, 162, 160, 162, 162, 164,
+  162, 160, 160, 158, 155, 153, 155, 156, 155, 155, 157, 159, 163, 166, 165, 166,
+  168, 166, 163, 166, 165, 164, 165, 166, 165, 164, 163, 167, 163, 160, 158, 159,
+  157, 157, 155, 156, 156, 152, 150, 148, 147, 145, 144, 149, 149, 143, 137, 135,
+  137, 135, 128, 128, 127, 131, 133, 132, 126, 125, 126, 131, 115, 108, 101, 86,
+  80, 84, 81, 89, 91, 101, 108, 104, 94, 90, 93, 110, 106, 105, 110, 114,
+  110, 97, 86, 77, 78, 75, 66, 54, 47, 42, 40, 32, 29, 28, 38, 60,
+  94, 114, 113, 255, 255, 255, 255, 107, 107, 98, 97, 102, 103, 97, 97, 113,
+  128, 129, 120, 132, 136, 131, 103, 123, 147, 164, 168, 167, 165, 166, 162, 159,
+  156, 155, 156, 157, 158, 157, 162, 156, 152, 153, 156, 158, 159, 162, 156, 161,
+  165, 163, 164, 165, 164, 160, 166, 164, 163, 164, 165, 165, 164, 162, 167, 163,
+  160, 157, 159, 156, 157, 155, 153, 154, 155, 154, 150, 147, 144, 142, 140, 142,
+  140, 138, 139, 142, 140, 134, 134, 132, 134, 135, 133, 127, 124, 125, 131, 118,
+  115, 106, 87, 80, 84, 83, 88, 89, 100, 112, 114, 103, 91, 87, 80, 95,
+  107, 104, 90, 82, 88, 97, 90, 87, 80, 69, 56, 47, 44, 45, 37, 29,
+  30, 37, 52, 88, 114, 112, 255, 255, 255, 203, 105, 103, 94, 94, 100, 102,
+  99, 98, 130, 138, 133, 122, 139, 135, 133, 95, 130, 159, 166, 165, 170, 171,
+  166, 161, 158, 154, 152, 152, 153, 154, 155, 166, 159, 155, 158, 161, 161, 164,
+  166, 154, 159, 164, 165, 166, 170, 170, 166, 169, 168, 168, 167, 168, 167, 167,
+  164, 165, 161, 159, 158, 158, 156, 155, 153, 152, 155, 157, 155, 152, 147, 143,
+  142, 140, 142, 139, 137, 137, 139, 136, 130, 136, 134, 135, 135, 133, 127, 124,
+  126, 129, 121, 121, 114, 92, 84, 87, 85, 85, 88, 100, 111, 116, 112, 102,
+  93, 89, 98, 107, 106, 98, 94, 99, 106, 94, 86, 77, 69, 58, 51, 48,
+  50, 46, 37, 33, 35, 50, 86, 112, 114, 255, 255, 255, 98, 97, 95, 94,
+  98, 102, 105, 106, 109, 134, 124, 131, 137, 149, 123, 123, 107, 137, 162, 167,
+  166, 172, 174, 171, 170, 168, 165, 164, 165, 165, 164, 163, 165, 158, 156, 162,
+  166, 164, 161, 160, 155, 160, 165, 165, 170, 173, 173, 169, 172, 171, 170, 170,
+  171, 169, 169, 166, 164, 161, 160, 160, 160, 156, 155, 152, 154, 157, 158, 155,
+  151, 146, 144, 145, 148, 148, 144, 139, 135, 137, 135, 130, 135, 133, 134, 135,
+  134, 128, 128, 130, 133, 121, 121, 118, 101, 94, 94, 86, 79, 89, 100, 105,
+  111, 118, 117, 111, 103, 95, 88, 87, 90, 88, 81, 72, 80, 71, 64, 62,
+  57, 52, 49, 51, 52, 45, 31, 28, 48, 82, 105, 113, 161, 255, 101, 88,
+  85, 84, 89, 95, 101, 104, 107, 122, 132, 106, 127, 152, 157, 111, 110, 126,
+  145, 162, 169, 169, 172, 174, 175, 157, 156, 155, 156, 157, 155, 153, 151, 160,
+  157, 157, 164, 169, 165, 160, 156, 160, 165, 168, 167, 170, 173, 171, 167, 174,
+  170, 171, 169, 170, 170, 168, 167, 163, 162, 162, 163, 161, 158, 154, 152, 156,
+  159, 158, 153, 148, 143, 147, 149, 147, 147, 143, 138, 138, 144, 146, 144, 135,
+  133, 135, 137, 134, 130, 130, 132, 133, 120, 119, 119, 110, 103, 98, 87, 75,
+  91, 103, 100, 104, 120, 129, 125, 127, 121, 115, 104, 92, 81, 74, 71, 62,
+  54, 50, 53, 54, 49, 46, 47, 54, 48, 29, 21, 46, 78, 98, 110, 117,
+  255, 97, 96, 96, 94, 94, 93, 97, 106, 117, 120, 103, 119, 141, 145, 141,
+  128, 100, 138, 162, 161, 161, 157, 161, 175, 168, 150, 160, 164, 156, 153, 156,
+  153, 147, 154, 153, 154, 161, 173, 176, 162, 144, 164, 162, 162, 168, 171, 170,
+  170, 173, 175, 173, 172, 172, 176, 178, 180, 180, 169, 168, 168, 168, 168, 166,
+  162, 159, 154, 155, 155, 154, 152, 149, 146, 144, 151, 141, 129, 122, 121, 125,
+  137, 150, 143, 138, 134, 134, 136, 134, 128, 119, 126, 129, 130, 125, 113, 103,
+  100, 96, 76, 85, 98, 103, 107, 114, 121, 125, 142, 139, 127, 106, 92, 85,
+  75, 61, 59, 58, 56, 49, 44, 43, 44, 45, 45, 42, 54, 32, 31, 82,
+  111, 107, 112, 95, 84, 103, 104, 106, 109, 107, 102, 103, 105, 91, 98, 119,
+  154, 136, 143, 131, 123, 137, 161, 167, 174, 173, 164, 170, 159, 168, 174, 172,
+  161, 160, 166, 168, 165, 162, 163, 159, 159, 164, 171, 170, 164, 168, 164, 165,
+  171, 175, 175, 175, 176, 177, 179, 183, 187, 190, 189, 185, 181, 172, 169, 166,
+  163, 162, 160, 158, 155, 153, 154, 154, 153, 152, 149, 145, 143, 152, 144, 136,
+  130, 128, 128, 136, 145, 142, 139, 135, 133, 135, 134, 130, 126, 123, 127, 129,
+  124, 112, 104, 107, 107, 91, 88, 96, 108, 110, 101, 105, 116, 112, 113, 108,
+  99, 92, 85, 78, 70, 68, 63, 55, 51, 50, 49, 45, 43, 34, 37, 53,
+  35, 38, 90, 115, 114, 118, 105, 100, 101, 101, 105, 111, 111, 104, 101, 102,
+  89, 109, 122, 164, 129, 140, 118, 120, 146, 160, 161, 168, 165, 157, 167, 164,
+  164, 169, 168, 158, 156, 161, 162, 160, 169, 172, 169, 161, 157, 160, 164, 166,
+  165, 161, 163, 169, 175, 175, 177, 179, 183, 183, 186, 190, 191, 188, 183, 178,
+  177, 173, 167, 162, 160, 159, 157, 155, 159, 159, 159, 157, 155, 151, 150, 148,
+  150, 145, 142, 139, 137, 134, 137, 143, 143, 140, 137, 134, 132, 131, 129, 126,
+  124, 127, 128, 122, 111, 106, 110, 113, 95, 83, 93, 114, 119, 102, 102, 116,
+  106, 105, 106, 105, 98, 87, 78, 75, 78, 69, 58, 54, 55, 53, 46, 39,
+  32, 39, 54, 39, 46, 94, 113, 112, 116, 96, 93, 109, 104, 103, 108, 107,
+  101, 100, 104, 109, 124, 131, 162, 137, 136, 108, 107, 151, 160, 157, 163, 160,
+  153, 166, 166, 163, 170, 174, 170, 169, 167, 163, 158, 162, 169, 173, 168, 164,
+  163, 164, 162, 160, 156, 159, 166, 173, 174, 177, 179, 180, 177, 177, 175, 177,
+  176, 175, 172, 178, 174, 170, 166, 165, 162, 161, 159, 162, 161, 160, 158, 156,
+  152, 151, 150, 150, 147, 146, 145, 143, 139, 140, 145, 144, 144, 141, 136, 129,
+  124, 123, 121, 128, 127, 125, 121, 114, 108, 108, 105, 97, 90, 100, 122, 128,
+  115, 107, 111, 117, 113, 113, 116, 109, 92, 84, 87, 84, 77, 66, 60, 57,
+  52, 44, 38, 35, 39, 47, 37, 56, 104, 116, 114, 115, 98, 100, 121, 114,
+  112, 117, 113, 103, 101, 106, 117, 131, 146, 155, 145, 126, 110, 112, 145, 163,
+  163, 173, 170, 156, 158, 147, 160, 166, 171, 170, 168, 166, 162, 158, 151, 157,
+  165, 165, 169, 170, 170, 163, 158, 153, 158, 164, 173, 173, 178, 179, 173, 171,
+  172, 173, 177, 177, 177, 175, 173, 171, 171, 170, 171, 168, 166, 163, 162, 161,
+  159, 156, 154, 151, 149, 147, 157, 153, 150, 148, 143, 137, 138, 143, 141, 141,
+  139, 135, 130, 124, 122, 119, 129, 124, 120, 120, 118, 113, 106, 98, 102, 103,
+  112, 124, 129, 123, 107, 96, 113, 107, 107, 111, 108, 96, 93, 98, 86, 83,
+  76, 68, 59, 51, 45, 43, 39, 38, 37, 30, 65, 116, 122, 122, 122, 109,
+  116, 108, 106, 112, 123, 120, 108, 107, 116, 121, 144, 163, 152, 137, 106, 105,
+  123, 143, 162, 158, 159, 155, 148, 152, 137, 158, 159, 160, 158, 158, 157, 159,
+  160, 163, 164, 162, 160, 163, 167, 165, 159, 159, 157, 159, 168, 175, 177, 180,
+  183, 175, 179, 186, 194, 199, 198, 194, 189, 175, 175, 177, 179, 181, 181, 178,
+  175, 171, 170, 168, 165, 162, 159, 157, 156, 165, 160, 156, 152, 145, 138, 137,
+  141, 139, 138, 135, 133, 131, 128, 126, 124, 126, 122, 119, 120, 119, 114, 107,
+  97, 98, 100, 107, 117, 129, 128, 115, 97, 104, 97, 93, 92, 91, 86, 84,
+  84, 81, 81, 76, 69, 60, 53, 50, 49, 53, 49, 39, 30, 68, 115, 115,
+  117, 124, 98, 106, 99, 98, 106, 117, 113, 102, 107, 123, 129, 155, 157, 150,
+  123, 103, 94, 123, 137, 158, 150, 142, 142, 149, 160, 145, 163, 164, 167, 167,
+  166, 165, 166, 168, 170, 170, 167, 162, 160, 162, 159, 154, 161, 159, 161, 170,
+  177, 179, 182, 186, 183, 185, 192, 198, 202, 200, 194, 188, 177, 177, 177, 179,
+  182, 184, 183, 184, 181, 179, 176, 173, 169, 167, 166, 165, 162, 159, 159, 157,
+  152, 144, 142, 145, 144, 138, 130, 127, 128, 130, 132, 129, 128, 126, 125, 122,
+  115, 108, 106, 101, 102, 91, 94, 112, 129, 128, 121, 112, 99, 94, 85, 77,
+  78, 78, 70, 61, 68, 67, 63, 61, 58, 56, 52, 49, 56, 56, 47, 35,
+  71, 111, 109, 117, 122, 107, 119, 117, 110, 110, 112, 101, 89, 100, 121, 132,
+  154, 133, 143, 115, 117, 94, 123, 119, 152, 155, 153, 157, 168, 174, 148, 147,
+  151, 159, 164, 164, 159, 155, 155, 156, 163, 168, 167, 166, 167, 164, 160, 162,
+  159, 162, 170, 177, 180, 182, 185, 185, 182, 181, 181, 181, 180, 176, 173, 173,
+  171, 170, 170, 174, 177, 179, 179, 179, 178, 175, 171, 168, 165, 164, 164, 156,
+  155, 159, 161, 159, 152, 149, 152, 155, 143, 131, 124, 126, 129, 131, 131, 133,
+  134, 134, 124, 110, 101, 102, 103, 119, 95, 90, 113, 129, 122, 115, 118, 92,
+  90, 81, 74, 77, 81, 72, 56, 56, 52, 47, 50, 54, 56, 51, 45, 40,
+  49, 46, 37, 74, 115, 116, 132, 122, 109, 102, 95, 113, 114, 111, 110, 95,
+  98, 129, 142, 144, 137, 147, 120, 110, 96, 108, 136, 144, 151, 157, 159, 155,
+  151, 147, 156, 153, 155, 160, 162, 160, 163, 167, 155, 159, 163, 164, 164, 163,
+  163, 164, 164, 164, 166, 171, 176, 180, 180, 179, 190, 183, 179, 179, 181, 181,
+  176, 171, 168, 166, 165, 168, 174, 178, 179, 179, 181, 180, 177, 172, 169, 166,
+  160, 155, 162, 161, 159, 155, 153, 151, 151, 152, 150, 136, 130, 121, 117, 126,
+  134, 125, 137, 138, 135, 125, 115, 110, 108, 103, 98, 109, 86, 118, 114, 119,
+  122, 113, 96, 82, 82, 71, 76, 84, 70, 63, 54, 54, 51, 48, 46, 46,
+  47, 49, 51, 45, 46, 40, 68, 116, 122, 122, 123, 109, 100, 93, 99, 90,
+  87, 96, 95, 105, 132, 129, 136, 137, 133, 110, 99, 98, 111, 140, 146, 150,
+  152, 153, 149, 147, 144, 152, 153, 156, 161, 163, 160, 160, 163, 160, 163, 166,
+  167, 167, 165, 165, 166, 159, 159, 161, 165, 171, 176, 178, 179, 186, 181, 177,
+  176, 176, 173, 165, 158, 167, 167, 169, 173, 179, 182, 181, 179, 179, 179, 176,
+  171, 167, 161, 154, 149, 161, 163, 163, 161, 158, 154, 151, 150, 155, 142, 134,
+  127, 123, 132, 138, 129, 132, 134, 131, 121, 112, 107, 106, 101, 121, 122, 99,
+  110, 105, 117, 110, 100, 113, 98, 96, 78, 74, 78, 63, 59, 59, 57, 54,
+  51, 47, 45, 44, 44, 51, 47, 48, 41, 66, 112, 121, 123, 127, 110, 102,
+  97, 92, 76, 75, 92, 102, 112, 127, 119, 128, 137, 116, 101, 90, 104, 116,
+  138, 142, 146, 147, 150, 149, 148, 147, 152, 151, 156, 162, 164, 160, 158, 159,
+  161, 164, 166, 167, 165, 164, 163, 164, 161, 160, 159, 162, 167, 172, 176, 176,
+  179, 177, 177, 178, 178, 175, 167, 161, 159, 161, 165, 170, 174, 175, 173, 171,
+  175, 174, 176, 174, 169, 162, 157, 154, 160, 163, 167, 167, 163, 156, 153, 149,
+  159, 146, 137, 130, 126, 135, 141, 132, 127, 129, 127, 117, 109, 105, 104, 99,
+  118, 115, 109, 102, 100, 121, 103, 95, 105, 97, 100, 83, 78, 80, 67, 66,
+  61, 59, 55, 52, 48, 45, 40, 39, 48, 47, 50, 40, 61, 106, 116, 121,
+  127, 106, 100, 104, 99, 89, 89, 101, 111, 114, 115, 111, 118, 128, 95, 92,
+  82, 106, 112, 128, 134, 140, 145, 151, 152, 153, 153, 154, 152, 155, 160, 162,
+  159, 158, 161, 158, 160, 164, 162, 162, 158, 160, 158, 167, 162, 162, 161, 167,
+  170, 176, 175, 178, 176, 175, 174, 175, 170, 166, 161, 166, 166, 170, 171, 174,
+  174, 173, 171, 163, 164, 169, 172, 170, 164, 162, 162, 160, 163, 168, 168, 165,
+  160, 158, 155, 158, 143, 135, 128, 124, 134, 139, 129, 124, 128, 126, 117, 109,
+  105, 106, 101, 100, 103, 121, 102, 100, 121, 97, 92, 83, 84, 97, 87, 83,
+  83, 68, 66, 56, 54, 51, 50, 48, 45, 40, 37, 43, 43, 47, 35, 53,
+  96, 108, 116, 120, 99, 96, 108, 107, 105, 101, 102, 111, 114, 106, 107, 106,
+  109, 79, 83, 80, 102, 105, 123, 130, 138, 146, 154, 156, 156, 155, 159, 155,
+  155, 159, 160, 158, 162, 166, 162, 164, 166, 164, 162, 160, 161, 161, 165, 161,
+  160, 160, 166, 172, 178, 179, 181, 177, 173, 168, 165, 161, 158, 155, 163, 162,
+  163, 161, 162, 161, 162, 162, 154, 152, 156, 162, 162, 156, 156, 160, 160, 162,
+  164, 163, 163, 161, 161, 161, 155, 138, 129, 123, 121, 132, 136, 126, 126, 130,
+  128, 119, 112, 108, 109, 103, 100, 107, 131, 103, 97, 108, 91, 89, 75, 79,
+  98, 92, 88, 83, 60, 53, 49, 47, 44, 45, 47, 46, 42, 39, 37, 38,
+  42, 29, 45, 88, 101, 109, 113, 203, 101, 106, 107, 109, 100, 92, 103, 113,
+  102, 108, 101, 95, 79, 83, 87, 102, 107, 126, 133, 140, 148, 154, 154, 153,
+  152, 161, 157, 156, 157, 158, 157, 163, 168, 168, 169, 169, 168, 166, 165, 166,
+  167, 158, 156, 155, 159, 166, 173, 179, 182, 178, 174, 170, 167, 166, 166, 167,
+  168, 158, 158, 157, 155, 153, 152, 154, 155, 158, 154, 156, 161, 158, 150, 150,
+  157, 160, 161, 160, 159, 158, 159, 162, 163, 154, 136, 128, 122, 122, 133, 138,
+  124, 127, 129, 130, 121, 113, 109, 110, 104, 105, 110, 125, 98, 96, 96, 101,
+  100, 73, 75, 92, 91, 93, 90, 64, 51, 46, 43, 39, 41, 45, 46, 43,
+  39, 35, 35, 38, 25, 42, 85, 98, 106, 111, 255, 108, 101, 104, 110, 101,
+  87, 101, 111, 94, 102, 94, 83, 84, 81, 91, 100, 114, 131, 136, 140, 145,
+  150, 150, 151, 150, 159, 156, 156, 158, 160, 159, 160, 165, 166, 169, 169, 168,
+  166, 166, 167, 169, 162, 160, 160, 163, 169, 176, 181, 181, 176, 176, 176, 175,
+  174, 174, 175, 176, 168, 170, 172, 171, 169, 167, 169, 169, 166, 159, 160, 162,
+  155, 145, 148, 157, 160, 160, 159, 157, 156, 155, 157, 158, 153, 135, 124, 120,
+  123, 135, 139, 125, 127, 129, 129, 120, 111, 107, 107, 102, 101, 104, 107, 94,
+  103, 90, 110, 102, 77, 71, 80, 79, 90, 95, 72, 59, 51, 46, 40, 40,
+  43, 44, 40, 37, 38, 36, 37, 25, 44, 88, 100, 107, 111, 255, 107, 98,
+  103, 116, 108, 93, 104, 109, 84, 88, 82, 67, 83, 72, 86, 89, 114, 132,
+  136, 138, 141, 146, 148, 151, 152, 155, 154, 154, 158, 159, 156, 156, 161, 159,
+  162, 163, 162, 160, 160, 162, 164, 170, 168, 167, 168, 172, 176, 178, 179, 185,
+  184, 183, 178, 172, 165, 162, 159, 157, 161, 167, 167, 166, 163, 164, 164, 165,
+  159, 158, 160, 153, 142, 145, 157, 159, 161, 161, 158, 155, 152, 155, 153, 152,
+  135, 124, 120, 122, 135, 139, 125, 125, 127, 126, 118, 109, 107, 105, 102, 101,
+  104, 100, 99, 112, 85, 105, 85, 88, 73, 73, 68, 80, 92, 70, 58, 56,
+  48, 42, 40, 42, 41, 38, 33, 40, 37, 38, 24, 45, 90, 103, 109, 111,
+  255, 98, 93, 103, 108, 101, 93, 90, 89, 87, 66, 71, 77, 82, 85, 88,
+  95, 104, 117, 123, 130, 135, 140, 143, 145, 148, 148, 155, 159, 160, 158, 156,
+  157, 160, 159, 161, 161, 161, 161, 161, 161, 161, 164, 163, 164, 167, 172, 178,
+  182, 183, 186, 171, 167, 168, 165, 151, 152, 160, 164, 164, 168, 168, 171, 169,
+  169, 166, 164, 168, 169, 163, 159, 158, 158, 156, 156, 161, 164, 161, 156, 153,
+  157, 160, 152, 151, 129, 128, 119, 138, 130, 126, 124, 131, 131, 121, 111, 111,
+  116, 117, 112, 105, 97, 95, 92, 89, 90, 94, 88, 74, 80, 81, 66, 65,
+  69, 52, 53, 45, 41, 42, 44, 40, 34, 27, 23, 34, 50, 37, 46, 81,
+  96, 111, 103, 255, 255, 98, 104, 109, 106, 93, 82, 75, 74, 68, 71, 74,
+  78, 85, 90, 99, 108, 115, 122, 129, 134, 139, 141, 143, 145, 143, 144, 146,
+  150, 156, 159, 160, 161, 160, 162, 163, 163, 163, 162, 162, 161, 165, 163, 162,
+  162, 163, 166, 168, 169, 172, 165, 163, 167, 166, 161, 163, 170, 177, 178, 179,
+  180, 180, 178, 176, 173, 158, 161, 162, 158, 156, 156, 156, 153, 154, 157, 159,
+  157, 153, 152, 153, 155, 148, 148, 129, 128, 122, 139, 128, 122, 123, 129, 132,
+  124, 117, 115, 116, 114, 115, 110, 104, 99, 95, 92, 87, 83, 75, 66, 67,
+  70, 70, 74, 78, 72, 61, 52, 44, 43, 45, 45, 42, 39, 36, 39, 46,
+  32, 40, 76, 93, 105, 110, 255, 255, 99, 100, 106, 109, 96, 75, 62, 61,
+  70, 70, 71, 76, 86, 95, 104, 112, 116, 125, 131, 136, 139, 141, 144, 146,
+  145, 143, 143, 149, 159, 164, 163, 162, 164, 167, 168, 168, 168, 166, 165, 164,
+  167, 165, 162, 160, 160, 160, 162, 162, 164, 164, 165, 166, 168, 170, 172, 174,
+  165, 165, 166, 165, 164, 161, 159, 157, 156, 159, 163, 160, 158, 159, 158, 155,
+  153, 153, 154, 153, 152, 151, 151, 151, 142, 143, 126, 128, 124, 141, 127, 118,
+  123, 127, 131, 127, 122, 119, 114, 108, 111, 113, 107, 97, 94, 93, 83, 69,
+  83, 78, 68, 65, 75, 76, 73, 75, 61, 54, 48, 47, 49, 50, 44, 39,
+  38, 39, 50, 42, 56, 87, 94, 103, 113, 255, 255, 202, 92, 99, 110, 100,
+  75, 59, 58, 70, 69, 71, 79, 91, 100, 107, 113, 118, 127, 133, 138, 140,
+  142, 145, 147, 147, 148, 150, 156, 161, 163, 160, 158, 162, 165, 166, 167, 166,
+  164, 163, 162, 164, 164, 163, 163, 163, 165, 168, 171, 171, 173, 173, 169, 169,
+  172, 172, 166, 166, 166, 166, 166, 165, 162, 161, 159, 160, 162, 165, 162, 161,
+  162, 161, 157, 156, 154, 153, 152, 153, 152, 151, 149, 141, 142, 126, 129, 124,
+  143, 130, 121, 126, 127, 129, 127, 124, 118, 112, 108, 110, 114, 108, 96, 91,
+  95, 82, 62, 93, 92, 74, 65, 79, 75, 64, 70, 61, 59, 56, 54, 55,
+  54, 45, 34, 37, 32, 43, 43, 61, 92, 98, 107, 139, 255, 255, 255, 89,
+  96, 109, 102, 80, 64, 62, 70, 71, 75, 84, 97, 103, 106, 110, 118, 126,
+  133, 138, 140, 142, 146, 147, 143, 150, 159, 163, 162, 159, 157, 158, 157, 160,
+  160, 161, 161, 160, 158, 157, 161, 163, 164, 166, 166, 169, 174, 176, 176, 178,
+  176, 169, 167, 168, 164, 159, 169, 169, 169, 169, 169, 167, 169, 168, 165, 167,
+  166, 161, 160, 162, 160, 156, 157, 155, 153, 152, 152, 151, 148, 146, 143, 146,
+  130, 130, 123, 141, 132, 126, 129, 127, 125, 123, 120, 116, 113, 110, 114, 119,
+  112, 96, 90, 95, 85, 69, 77, 80, 65, 60, 76, 73, 66, 75, 69, 68,
+  63, 56, 56, 58, 51, 40, 47, 36, 38, 32, 47, 74, 85, 101, 220, 255,
+  255, 255, 255, 97, 106, 103, 88, 73, 68, 73, 76, 81, 90, 98, 102, 104,
+  108, 117, 125, 132, 136, 138, 140, 144, 145, 139, 148, 159, 163, 161, 157, 156,
+  158, 161, 163, 163, 163, 164, 164, 164, 164, 162, 164, 167, 166, 164, 165, 170,
+  173, 174, 171, 169, 167, 165, 161, 161, 160, 166, 167, 167, 166, 167, 167, 169,
+  169, 170, 172, 168, 163, 163, 164, 165, 159, 158, 155, 154, 151, 148, 145, 144,
+  143, 143, 148, 135, 134, 122, 139, 131, 129, 128, 126, 123, 122, 118, 111, 111,
+  114, 120, 122, 115, 101, 93, 91, 84, 75, 61, 61, 55, 53, 62, 64, 65,
+  71, 76, 72, 62, 51, 53, 63, 64, 56, 55, 47, 56, 51, 53, 62, 60,
+  75, 255, 255, 255, 255, 255, 99, 103, 103, 98, 87, 78, 78, 82, 87, 92,
+  96, 98, 102, 108, 119, 127, 134, 138, 140, 142, 145, 147, 145, 149, 156, 160,
+  161, 160, 159, 160, 167, 166, 167, 167, 167, 169, 172, 174, 170, 172, 175, 171,
+  168, 167, 172, 175, 172, 164, 163, 167, 166, 162, 164, 170, 178, 176, 176, 175,
+  176, 177, 179, 179, 173, 172, 166, 160, 162, 166, 168, 164, 160, 160, 159, 155,
+  148, 143, 143, 144, 140, 150, 141, 139, 123, 135, 127, 126, 122, 122, 122, 122,
+  116, 107, 109, 115, 120, 118, 116, 105, 92, 81, 75, 73, 60, 52, 51, 49,
+  43, 48, 59, 63, 73, 75, 68, 62, 68, 82, 85, 78, 64, 60, 73, 67,
+  57, 53, 48, 66, 255, 255, 255, 255, 255, 203, 100, 103, 107, 99, 88, 83,
+  87, 90, 92, 93, 94, 100, 110, 124, 132, 138, 143, 145, 146, 148, 151, 158,
+  156, 155, 158, 162, 164, 161, 159, 164, 164, 162, 161, 162, 167, 171, 174, 179,
+  181, 183, 179, 175, 174, 178, 182, 175, 163, 161, 169, 170, 163, 167, 178, 176,
+  174, 174, 173, 174, 172, 175, 176, 167, 164, 159, 152, 155, 162, 165, 162, 162,
+  165, 163, 157, 148, 142, 142, 145, 135, 150, 144, 144, 123, 132, 123, 123, 117,
+  119, 124, 125, 116, 106, 107, 114, 116, 114, 111, 105, 87, 69, 64, 66, 60,
+  47, 50, 48, 33, 42, 60, 63, 73, 82, 86, 87, 97, 112, 110, 97, 83,
+  69, 68, 49, 35, 39, 55, 88, 255, 255, 255, 255, 255, 255, 203, 102, 105,
+  97, 86, 91, 78, 89, 90, 94, 105, 101, 105, 123, 127, 131, 138, 143, 149,
+  152, 156, 155, 154, 156, 156, 156, 157, 158, 159, 153, 161, 163, 161, 162, 169,
+  176, 177, 176, 181, 186, 182, 176, 174, 178, 183, 173, 161, 158, 168, 170, 163,
+  169, 182, 182, 181, 177, 173, 177, 180, 176, 168, 170, 165, 162, 161, 160, 156,
+  158, 163, 156, 158, 159, 154, 143, 135, 134, 137, 134, 147, 147, 152, 127, 115,
+  123, 116, 132, 112, 125, 119, 117, 117, 99, 115, 118, 117, 112, 101, 87, 74,
+  67, 65, 49, 43, 45, 43, 40, 48, 54, 50, 68, 79, 94, 112, 125, 124,
+  111, 98, 81, 83, 68, 48, 43, 48, 66, 94, 255, 255, 255, 255, 255, 255,
+  255, 99, 100, 93, 84, 92, 84, 91, 90, 101, 110, 100, 106, 124, 129, 134,
+  139, 143, 147, 152, 153, 148, 149, 149, 151, 155, 158, 162, 162, 162, 164, 164,
+  164, 167, 175, 176, 174, 168, 171, 172, 172, 168, 170, 175, 179, 172, 160, 158,
+  170, 173, 167, 168, 179, 181, 177, 172, 170, 170, 169, 170, 173, 169, 164, 161,
+  162, 159, 157, 156, 160, 161, 145, 138, 144, 144, 132, 124, 125, 141, 103, 151,
+  147, 119, 132, 117, 126, 129, 116, 119, 119, 114, 108, 99, 107, 115, 109, 104,
+  101, 96, 81, 61, 44, 24, 28, 38, 41, 42, 53, 62, 63, 90, 100, 112,
+  124, 126, 122, 117, 113, 100, 92, 68, 51, 51, 61, 78, 102, 255, 255, 255,
+  255, 255, 255, 255, 255, 105, 100, 94, 94, 93, 91, 85, 104, 109, 92, 105,
+  124, 129, 134, 138, 142, 144, 146, 147, 150, 151, 151, 154, 159, 163, 166, 166,
+  164, 166, 165, 164, 169, 174, 170, 164, 165, 165, 163, 163, 164, 170, 176, 177,
+  169, 158, 156, 170, 177, 173, 169, 173, 178, 172, 170, 169, 163, 156, 162, 173,
+  171, 169, 165, 165, 164, 158, 157, 160, 149, 143, 137, 133, 127, 119, 117, 122,
+  139, 102, 134, 122, 123, 138, 114, 116, 121, 120, 113, 120, 113, 99, 101, 101,
+  114, 108, 98, 87, 76, 57, 37, 23, 31, 40, 49, 55, 62, 72, 80, 84,
+  111, 118, 126, 128, 123, 117, 120, 128, 118, 104, 73, 52, 55, 66, 83, 103,
+  255, 255, 255, 255, 255, 255, 255, 255, 210, 117, 116, 103, 105, 93, 79, 101,
+  102, 79, 100, 122, 127, 130, 136, 138, 139, 139, 139, 153, 151, 149, 152, 156,
+  159, 159, 157, 156, 159, 160, 160, 163, 165, 161, 156, 166, 161, 157, 157, 161,
+  168, 173, 174, 166, 155, 153, 169, 178, 173, 166, 164, 169, 165, 167, 170, 160,
+  142, 145, 159, 165, 162, 160, 161, 159, 154, 151, 152, 132, 142, 141, 129, 121,
+  122, 117, 106, 93, 116, 114, 110, 133, 121, 121, 109, 111, 118, 105, 119, 116,
+  97, 110, 99, 105, 98, 84, 61, 38, 28, 31, 38, 54, 62, 62, 66, 80,
+  92, 97, 105, 117, 117, 120, 123, 118, 113, 123, 137, 133, 121, 90, 61, 55,
+  60, 76, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 125, 126, 118, 119,
+  103, 83, 99, 97, 76, 97, 123, 127, 129, 132, 134, 134, 134, 136, 145, 141,
+  138, 140, 143, 145, 143, 141, 140, 149, 157, 155, 154, 155, 157, 158, 162, 157,
+  150, 150, 154, 161, 165, 166, 164, 154, 152, 165, 175, 171, 162, 156, 155, 155,
+  161, 166, 153, 128, 122, 130, 133, 128, 129, 133, 133, 131, 130, 132, 157, 149,
+  139, 133, 124, 114, 108, 112, 117, 100, 113, 122, 126, 106, 136, 118, 104, 113,
+  100, 116, 116, 102, 111, 99, 77, 69, 56, 39, 30, 37, 57, 72, 70, 73,
+  65, 62, 85, 99, 101, 112, 114, 107, 106, 117, 120, 116, 126, 143, 142, 139,
+  110, 75, 53, 48, 65, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 208,
+  117, 127, 125, 116, 96, 100, 97, 81, 99, 125, 126, 126, 127, 130, 131, 132,
+  133, 135, 129, 125, 127, 131, 133, 130, 125, 125, 138, 149, 149, 147, 151, 157,
+  163, 163, 157, 152, 150, 153, 159, 163, 165, 165, 157, 153, 161, 169, 165, 158,
+  150, 144, 143, 149, 151, 139, 116, 103, 103, 96, 93, 95, 99, 103, 104, 108,
+  112, 107, 91, 97, 116, 119, 127, 189, 255, 255, 95, 118, 120, 103, 117, 143,
+  119, 108, 108, 101, 110, 111, 103, 99, 84, 56, 44, 32, 33, 47, 62, 69,
+  72, 91, 98, 81, 73, 94, 101, 98, 110, 114, 100, 101, 122, 131, 126, 131,
+  145, 144, 141, 115, 76, 50, 42, 57, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 104, 116, 113, 118, 105, 97, 94, 85, 96, 121, 121, 120, 120,
+  121, 123, 126, 129, 130, 123, 116, 116, 118, 117, 112, 106, 106, 118, 128, 134,
+  138, 145, 154, 158, 160, 157, 153, 152, 154, 158, 164, 166, 170, 163, 157, 160,
+  165, 160, 155, 148, 143, 140, 139, 135, 127, 113, 100, 91, 93, 88, 89, 93,
+  96, 97, 99, 104, 122, 111, 111, 111, 98, 102, 164, 239, 255, 109, 121, 109,
+  108, 123, 147, 125, 119, 108, 107, 100, 100, 98, 73, 59, 47, 39, 37, 49,
+  66, 73, 69, 60, 90, 109, 99, 91, 109, 106, 99, 114, 115, 103, 110, 134,
+  141, 129, 130, 145, 150, 138, 106, 72, 56, 52, 64, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 101, 99, 96, 113, 106, 89, 89, 83, 87, 114,
+  113, 111, 112, 112, 115, 119, 122, 124, 116, 106, 101, 101, 97, 88, 81, 87,
+  95, 106, 115, 125, 138, 145, 147, 148, 148, 145, 146, 147, 153, 160, 163, 174,
+  165, 160, 159, 160, 159, 154, 151, 149, 145, 134, 125, 121, 116, 105, 91, 113,
+  106, 103, 103, 102, 100, 102, 107, 112, 114, 112, 108, 112, 120, 119, 112, 101,
+  111, 129, 114, 135, 107, 146, 151, 129, 108, 110, 94, 92, 93, 55, 43, 47,
+  52, 63, 75, 81, 82, 76, 69, 59, 91, 94, 92, 113, 110, 104, 124, 117,
+  108, 119, 144, 148, 128, 126, 139, 160, 138, 98, 71, 69, 74, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 203, 108, 109, 105, 122, 65, 66,
+  92, 62, 86, 120, 104, 100, 99, 112, 98, 118, 107, 110, 106, 91, 87, 89,
+  87, 78, 88, 74, 82, 110, 111, 102, 123, 127, 141, 116, 144, 129, 139, 150,
+  172, 159, 158, 164, 160, 155, 155, 150, 142, 144, 137, 125, 116, 114, 113, 106,
+  98, 91, 79, 92, 70, 78, 91, 102, 96, 47, 63, 75, 102, 117, 98, 126,
+  111, 115, 108, 112, 118, 127, 137, 137, 121, 104, 80, 107, 79, 68, 72, 85,
+  58, 61, 81, 91, 99, 99, 95, 89, 74, 62, 69, 60, 76, 92, 113, 119,
+  98, 91, 88, 99, 121, 140, 140, 129, 126, 133, 140, 130, 88, 54, 85, 85,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 105, 104, 105,
+  75, 48, 43, 72, 108, 70, 91, 84, 96, 105, 116, 92, 92, 95, 101, 104,
+  104, 102, 99, 92, 83, 78, 99, 105, 120, 106, 117, 107, 120, 51, 104, 104,
+  134, 136, 136, 162, 174, 167, 174, 167, 153, 146, 136, 122, 118, 125, 119, 117,
+  117, 111, 102, 95, 91, 98, 70, 92, 103, 89, 94, 97, 240, 250, 55, 70,
+  86, 103, 120, 104, 122, 116, 109, 110, 118, 124, 122, 124, 130, 118, 128, 95,
+  57, 73, 84, 84, 95, 103, 106, 104, 99, 95, 92, 84, 74, 64, 61, 82,
+  92, 100, 102, 89, 95, 101, 114, 131, 139, 138, 133, 127, 122, 134, 122, 68,
+  49, 89, 95, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  98, 97, 100, 50, 85, 81, 62, 89, 64, 71, 74, 95, 104, 117, 107, 104,
+  113, 105, 95, 90, 83, 76, 75, 76, 83, 93, 89, 118, 137, 197, 155, 160,
+  255, 249, 64, 78, 114, 152, 158, 147, 160, 171, 166, 150, 148, 145, 134, 127,
+  116, 112, 110, 109, 101, 94, 93, 96, 87, 101, 123, 71, 65, 62, 147, 83,
+  62, 87, 85, 68, 91, 81, 109, 115, 130, 115, 111, 115, 111, 103, 113, 133,
+  90, 101, 92, 56, 84, 88, 102, 106, 112, 111, 104, 97, 97, 96, 87, 77,
+  66, 70, 94, 94, 89, 88, 85, 103, 99, 112, 124, 130, 136, 138, 129, 117,
+  135, 121, 55, 55, 96, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 107, 96, 65, 25, 80, 104, 79, 72, 63, 73, 93, 111, 109,
+  113, 116, 116, 112, 97, 86, 83, 74, 62, 60, 70, 90, 72, 95, 116, 109,
+  157, 138, 166, 178, 204, 84, 105, 109, 132, 154, 170, 155, 170, 167, 154, 153,
+  148, 126, 106, 114, 108, 101, 99, 95, 93, 97, 103, 114, 127, 111, 71, 85,
+  81, 218, 33, 65, 90, 145, 127, 62, 93, 88, 100, 125, 119, 117, 115, 109,
+  100, 103, 114, 75, 99, 110, 93, 111, 113, 116, 113, 110, 110, 107, 103, 102,
+  98, 82, 66, 75, 79, 100, 97, 86, 87, 89, 111, 103, 109, 119, 132, 143,
+  140, 130, 115, 136, 126, 60, 74, 108, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 110, 111, 86, 102, 96, 85, 70, 54, 95, 102,
+  121, 127, 120, 108, 102, 91, 75, 76, 90, 111, 110, 86, 68, 68, 122, 44,
+  76, 106, 98, 113, 106, 118, 131, 131, 93, 101, 86, 110, 129, 132, 130, 156,
+  163, 146, 134, 128, 126, 129, 118, 110, 105, 108, 112, 111, 110, 109, 141, 147,
+  149, 106, 57, 78, 91, 69, 87, 67, 88, 104, 82, 112, 101, 114, 113, 119,
+  120, 114, 116, 122, 121, 112, 105, 134, 135, 126, 110, 118, 111, 109, 110, 111,
+  108, 105, 105, 99, 82, 65, 79, 78, 94, 90, 87, 91, 92, 113, 127, 124,
+  132, 150, 159, 147, 126, 114, 123, 119, 70, 93, 162, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 139, 102, 66, 110, 74, 57, 103,
+  141, 164, 152, 135, 109, 113, 104, 96, 79, 75, 82, 101, 122, 119, 94, 71,
+  64, 130, 28, 49, 105, 131, 136, 119, 97, 114, 104, 137, 124, 84, 99, 119,
+  124, 131, 132, 142, 185, 234, 221, 146, 79, 119, 115, 117, 126, 132, 128, 119,
+  111, 128, 112, 177, 135, 83, 110, 83, 101, 88, 141, 120, 110, 146, 109, 120,
+  104, 122, 128, 125, 115, 122, 137, 138, 124, 105, 137, 139, 138, 107, 121, 113,
+  111, 118, 116, 109, 103, 100, 97, 86, 76, 74, 67, 81, 82, 89, 97, 95,
+  112, 140, 138, 143, 158, 166, 157, 136, 119, 100, 101, 78, 98, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 76, 45, 52, 94,
+  83, 66, 110, 168, 181, 173, 138, 88, 105, 104, 104, 96, 111, 110, 113, 117,
+  110, 95, 84, 81, 97, 86, 95, 128, 127, 122, 107, 110, 130, 102, 114, 96,
+  65, 95, 118, 128, 126, 136, 137, 132, 121, 103, 98, 109, 113, 112, 116, 125,
+  130, 125, 120, 116, 151, 88, 128, 118, 117, 95, 119, 113, 146, 98, 145, 135,
+  131, 133, 130, 130, 139, 139, 134, 126, 131, 140, 142, 135, 106, 135, 152, 144,
+  123, 127, 132, 127, 120, 119, 112, 103, 99, 96, 91, 84, 72, 63, 77, 84,
+  96, 110, 107, 118, 145, 156, 157, 151, 159, 164, 146, 115, 87, 81, 82, 97,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 103,
+  90, 117, 88, 74, 51, 78, 143, 133, 152, 139, 90, 112, 107, 107, 104, 125,
+  125, 126, 128, 126, 123, 122, 121, 101, 152, 127, 142, 137, 147, 114, 124, 122,
+  115, 113, 110, 90, 117, 133, 146, 151, 144, 135, 130, 125, 111, 109, 127, 107,
+  106, 108, 111, 112, 110, 114, 120, 105, 138, 134, 106, 128, 149, 127, 144, 125,
+  170, 137, 142, 134, 133, 136, 147, 142, 136, 135, 138, 141, 139, 141, 145, 128,
+  143, 160, 124, 110, 103, 127, 122, 115, 116, 115, 107, 101, 98, 91, 82, 75,
+  67, 82, 90, 107, 123, 118, 129, 159, 182, 175, 147, 148, 167, 147, 101, 84,
+  73, 86, 147, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 201, 108, 96, 90, 92, 40, 89, 154, 174, 131, 112, 98, 135, 118,
+  105, 119, 128, 132, 134, 132, 128, 128, 133, 137, 134, 135, 140, 147, 151, 144,
+  129, 115, 113, 114, 95, 101, 99, 117, 127, 151, 146, 145, 143, 132, 119, 108,
+  108, 113, 105, 118, 126, 117, 101, 91, 98, 111, 122, 122, 121, 123, 125, 131,
+  138, 142, 147, 149, 146, 139, 134, 139, 143, 144, 143, 151, 152, 132, 124, 145,
+  158, 144, 138, 145, 172, 142, 108, 122, 123, 120, 117, 118, 116, 107, 99, 95,
+  85, 78, 77, 72, 105, 91, 121, 114, 139, 122, 126, 177, 167, 151, 154, 158,
+  148, 101, 79, 81, 90, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 100, 93, 88, 84, 47, 79, 142, 197, 149, 129,
+  107, 129, 117, 112, 127, 127, 132, 134, 134, 135, 134, 136, 138, 146, 140, 135,
+  132, 130, 126, 122, 115, 112, 107, 104, 107, 110, 122, 132, 140, 144, 145, 143,
+  136, 124, 112, 108, 108, 96, 103, 110, 109, 105, 102, 109, 116, 116, 116, 117,
+  119, 125, 131, 138, 142, 134, 137, 136, 131, 130, 137, 145, 147, 143, 147, 147,
+  134, 124, 142, 153, 143, 116, 133, 164, 140, 116, 126, 118, 116, 117, 117, 115,
+  106, 101, 96, 91, 84, 74, 73, 105, 95, 123, 120, 146, 130, 130, 172, 162,
+  148, 151, 152, 141, 101, 70, 75, 144, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 88, 87, 85, 75, 60, 61, 117,
+  169, 124, 119, 110, 121, 121, 127, 138, 132, 133, 135, 137, 139, 140, 140, 137,
+  129, 129, 133, 133, 132, 128, 123, 116, 115, 102, 107, 112, 107, 120, 136, 134,
+  140, 141, 139, 133, 125, 114, 102, 95, 98, 101, 106, 112, 120, 124, 128, 129,
+  122, 122, 122, 124, 128, 131, 135, 137, 131, 135, 136, 134, 136, 145, 152, 154,
+  146, 145, 144, 136, 127, 138, 149, 142, 123, 143, 153, 125, 114, 122, 118, 126,
+  118, 118, 114, 104, 99, 96, 92, 87, 79, 80, 108, 101, 124, 123, 146, 130,
+  130, 157, 147, 141, 150, 149, 132, 99, 62, 73, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 197, 84, 85, 73,
+  76, 46, 79, 111, 82, 100, 110, 115, 126, 135, 142, 138, 137, 137, 138, 141,
+  142, 141, 136, 120, 126, 134, 139, 142, 138, 134, 132, 127, 113, 106, 116, 83,
+  118, 136, 141, 138, 141, 137, 131, 125, 117, 102, 90, 107, 107, 113, 121, 133,
+  139, 143, 143, 139, 139, 137, 136, 135, 134, 135, 134, 138, 143, 147, 146, 149,
+  155, 157, 156, 154, 148, 147, 142, 132, 138, 146, 141, 141, 162, 157, 127, 124,
+  124, 119, 129, 123, 120, 114, 101, 94, 91, 87, 84, 88, 90, 114, 108, 124,
+  123, 140, 124, 124, 133, 126, 126, 143, 139, 113, 83, 54, 68, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  83, 86, 76, 85, 42, 48, 88, 76, 100, 116, 113, 128, 132, 134, 142, 139,
+  136, 135, 137, 138, 137, 135, 136, 135, 134, 133, 136, 141, 146, 148, 136, 130,
+  109, 126, 70, 121, 133, 148, 149, 150, 144, 136, 130, 125, 113, 98, 104, 108,
+  116, 125, 136, 141, 147, 150, 154, 155, 153, 150, 147, 142, 140, 138, 142, 147,
+  154, 157, 159, 162, 158, 152, 162, 156, 153, 149, 139, 143, 147, 139, 135, 162,
+  159, 143, 143, 132, 121, 119, 121, 116, 109, 96, 88, 87, 85, 82, 93, 97,
+  115, 113, 122, 124, 135, 120, 124, 121, 114, 114, 131, 124, 85, 55, 47, 125,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 86, 85, 82, 86, 56, 39, 84, 83, 100, 112, 107, 128, 124,
+  136, 141, 140, 138, 137, 136, 136, 136, 135, 130, 132, 136, 141, 148, 152, 152,
+  150, 139, 142, 118, 132, 82, 127, 133, 151, 150, 155, 148, 137, 131, 128, 117,
+  101, 100, 106, 116, 126, 138, 144, 150, 156, 157, 159, 159, 157, 155, 153, 151,
+  147, 147, 154, 162, 165, 169, 170, 164, 156, 164, 161, 159, 152, 142, 150, 152,
+  139, 133, 151, 142, 136, 134, 129, 133, 125, 114, 111, 103, 94, 87, 88, 88,
+  85, 90, 96, 112, 115, 119, 127, 134, 120, 136, 130, 125, 115, 121, 112, 66,
+  42, 50, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 91, 83, 83, 78, 82, 54, 65, 77, 88, 101,
+  104, 129, 119, 140, 141, 144, 148, 149, 148, 146, 145, 143, 129, 134, 146, 158,
+  167, 165, 156, 145, 142, 141, 124, 116, 104, 126, 138, 149, 149, 157, 152, 140,
+  131, 128, 117, 102, 103, 106, 115, 126, 140, 147, 151, 155, 159, 162, 163, 163,
+  163, 161, 159, 155, 157, 162, 168, 170, 173, 176, 169, 161, 157, 160, 160, 150,
+  143, 156, 158, 139, 146, 149, 131, 126, 117, 120, 143, 131, 112, 109, 103, 94,
+  88, 89, 89, 86, 87, 94, 109, 116, 117, 128, 131, 118, 140, 140, 141, 116,
+  106, 95, 55, 40, 48, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 92, 79, 81, 70, 101, 69, 46,
+  69, 81, 95, 105, 131, 113, 137, 140, 149, 159, 162, 159, 155, 153, 151, 160,
+  157, 157, 160, 166, 163, 157, 148, 149, 139, 126, 94, 116, 122, 145, 148, 149,
+  160, 159, 147, 138, 135, 123, 108, 108, 107, 111, 123, 138, 145, 145, 143, 160,
+  163, 165, 166, 165, 163, 161, 158, 163, 166, 166, 168, 170, 171, 166, 157, 148,
+  154, 156, 143, 138, 157, 160, 139, 153, 150, 135, 137, 120, 117, 140, 113, 112,
+  109, 102, 93, 88, 88, 87, 84, 87, 95, 108, 117, 115, 129, 130, 117, 127,
+  135, 140, 103, 84, 75, 42, 38, 110, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 198, 86, 84, 82,
+  86, 90, 73, 54, 77, 116, 96, 121, 137, 122, 150, 153, 156, 159, 161, 163,
+  165, 164, 168, 171, 174, 170, 163, 155, 151, 150, 150, 131, 116, 114, 118, 124,
+  136, 153, 152, 157, 154, 141, 135, 133, 128, 119, 118, 106, 115, 113, 119, 131,
+  133, 152, 165, 167, 166, 163, 161, 163, 168, 171, 168, 172, 176, 178, 177, 172,
+  170, 168, 175, 143, 132, 142, 148, 149, 146, 137, 141, 143, 144, 142, 137, 131,
+  119, 106, 110, 101, 94, 86, 78, 78, 84, 94, 98, 98, 113, 124, 119, 123,
+  136, 143, 136, 137, 126, 106, 66, 61, 27, 24, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  81, 79, 76, 79, 85, 109, 83, 60, 82, 91, 113, 125, 148, 152, 156, 159,
+  161, 163, 165, 166, 167, 166, 171, 177, 180, 177, 165, 152, 142, 130, 135, 136,
+  130, 132, 143, 148, 149, 159, 160, 155, 146, 139, 133, 128, 122, 129, 120, 129,
+  127, 126, 133, 133, 149, 157, 162, 170, 175, 177, 174, 171, 167, 168, 164, 166,
+  173, 182, 181, 172, 159, 156, 139, 138, 142, 135, 132, 140, 146, 132, 131, 132,
+  136, 139, 136, 131, 123, 108, 99, 90, 82, 75, 77, 83, 92, 97, 98, 112,
+  119, 117, 124, 141, 144, 130, 133, 123, 90, 64, 73, 58, 54, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 80, 78, 75, 77, 82, 99, 139, 108, 81, 86, 116, 118, 147,
+  152, 156, 161, 166, 169, 172, 173, 173, 183, 176, 168, 163, 164, 162, 158, 153,
+  112, 134, 142, 129, 132, 152, 156, 145, 161, 161, 155, 150, 142, 131, 126, 126,
+  126, 122, 136, 135, 131, 134, 132, 146, 151, 150, 153, 155, 163, 167, 173, 173,
+  179, 173, 172, 170, 174, 170, 166, 158, 157, 145, 147, 147, 133, 129, 139, 147,
+  141, 134, 131, 137, 141, 135, 131, 129, 108, 100, 90, 81, 75, 77, 82, 89,
+  98, 98, 108, 112, 112, 124, 139, 140, 131, 127, 120, 71, 65, 84, 91, 86,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 83, 81, 78, 79, 85, 86, 155, 144, 109, 100,
+  124, 124, 144, 148, 153, 159, 165, 171, 174, 175, 176, 173, 174, 176, 176, 172,
+  158, 141, 129, 122, 135, 134, 120, 127, 151, 158, 150, 157, 157, 153, 151, 143,
+  130, 128, 129, 115, 116, 138, 139, 135, 136, 133, 147, 214, 204, 188, 175, 167,
+  165, 164, 164, 171, 174, 172, 161, 149, 148, 159, 172, 177, 159, 151, 151, 146,
+  144, 144, 136, 151, 139, 134, 141, 144, 134, 128, 127, 109, 102, 91, 80, 75,
+  79, 84, 87, 103, 100, 106, 107, 109, 126, 141, 137, 141, 121, 112, 61, 65,
+  78, 96, 151, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 198, 84, 81, 81, 86, 107, 112,
+  108, 125, 115, 123, 128, 154, 161, 165, 170, 177, 181, 183, 182, 182, 176, 177,
+  176, 170, 159, 147, 138, 134, 151, 142, 129, 124, 137, 153, 159, 159, 160, 162,
+  159, 154, 145, 131, 129, 129, 112, 114, 138, 141, 139, 140, 135, 146, 148, 145,
+  144, 145, 148, 150, 151, 151, 145, 152, 154, 148, 140, 144, 160, 179, 184, 164,
+  154, 155, 154, 153, 146, 132, 140, 131, 130, 139, 144, 139, 134, 131, 111, 104,
+  93, 81, 77, 82, 86, 85, 103, 102, 104, 104, 112, 136, 149, 138, 144, 108,
+  98, 61, 67, 68, 83, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 83, 80, 80,
+  85, 94, 91, 105, 128, 101, 112, 124, 133, 152, 156, 158, 159, 161, 161, 160,
+  158, 164, 159, 148, 137, 133, 140, 155, 168, 159, 138, 125, 132, 148, 154, 154,
+  158, 168, 176, 172, 159, 145, 135, 129, 124, 112, 114, 134, 137, 135, 134, 124,
+  134, 153, 150, 146, 138, 134, 131, 134, 136, 146, 145, 148, 151, 156, 159, 162,
+  164, 164, 159, 160, 158, 148, 144, 144, 137, 131, 127, 126, 130, 138, 140, 134,
+  126, 114, 110, 98, 83, 79, 86, 88, 84, 98, 100, 103, 105, 116, 145, 157,
+  141, 132, 92, 79, 63, 66, 66, 135, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 81, 80, 85, 74, 102, 118, 125, 97, 120, 126, 120, 130, 131, 131, 132,
+  133, 132, 132, 132, 133, 138, 146, 152, 157, 156, 155, 154, 148, 131, 122, 131,
+  144, 150, 150, 153, 169, 184, 181, 160, 144, 138, 132, 121, 112, 111, 129, 129,
+  128, 127, 117, 125, 137, 137, 138, 134, 133, 137, 150, 159, 154, 153, 156, 160,
+  165, 164, 160, 158, 157, 158, 164, 162, 148, 142, 144, 137, 132, 131, 126, 123,
+  130, 141, 135, 122, 119, 114, 101, 85, 82, 90, 92, 86, 91, 94, 99, 100,
+  114, 144, 152, 127, 104, 76, 61, 57, 55, 72, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 198, 82, 86, 96, 100, 91, 113, 123, 140, 135, 146, 149,
+  150, 153, 154, 157, 157, 159, 161, 159, 158, 160, 162, 163, 158, 149, 142, 140,
+  131, 123, 126, 138, 150, 155, 158, 164, 182, 182, 157, 139, 140, 134, 119, 115,
+  112, 128, 130, 131, 131, 120, 128, 123, 135, 148, 151, 146, 140, 140, 143, 147,
+  155, 162, 162, 158, 157, 164, 171, 166, 161, 166, 164, 155, 151, 146, 130, 130,
+  132, 126, 118, 128, 147, 146, 131, 121, 118, 105, 88, 85, 92, 93, 86, 88,
+  91, 95, 94, 105, 134, 137, 108, 82, 66, 48, 47, 43, 77, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 82, 79, 86, 94, 95, 131, 112, 116,
+  128, 145, 150, 153, 159, 160, 159, 159, 161, 163, 159, 164, 167, 162, 153, 146,
+  145, 146, 128, 121, 120, 132, 146, 152, 152, 153, 156, 166, 168, 159, 148, 141,
+  133, 125, 115, 117, 123, 127, 133, 136, 135, 134, 120, 127, 139, 152, 159, 156,
+  145, 137, 135, 147, 160, 165, 162, 159, 160, 163, 166, 157, 155, 159, 156, 144,
+  138, 139, 126, 125, 126, 126, 128, 132, 135, 139, 120, 116, 106, 93, 87, 87,
+  89, 88, 83, 88, 98, 86, 113, 138, 91, 56, 38, 59, 63, 34, 18, 136,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 198, 83, 86, 93, 95,
+  125, 113, 121, 129, 146, 149, 153, 157, 158, 159, 158, 160, 160, 164, 161, 157,
+  153, 149, 145, 141, 138, 132, 125, 125, 135, 146, 150, 149, 150, 160, 166, 165,
+  153, 143, 137, 131, 123, 116, 119, 122, 129, 135, 139, 137, 136, 128, 134, 144,
+  155, 163, 163, 158, 153, 147, 149, 153, 157, 161, 165, 169, 170, 162, 158, 157,
+  156, 150, 142, 138, 136, 128, 118, 116, 127, 129, 126, 133, 144, 126, 122, 109,
+  95, 87, 87, 87, 85, 85, 85, 91, 82, 100, 115, 80, 56, 59, 57, 49,
+  32, 34, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 86,
+  87, 89, 92, 113, 113, 125, 128, 141, 147, 150, 152, 155, 158, 157, 157, 155,
+  162, 153, 145, 143, 147, 148, 141, 134, 133, 127, 127, 136, 147, 151, 152, 154,
+  166, 168, 163, 152, 143, 135, 129, 125, 123, 122, 125, 131, 136, 137, 136, 133,
+  134, 138, 144, 153, 161, 165, 165, 164, 160, 151, 142, 141, 150, 161, 168, 168,
+  157, 158, 157, 150, 143, 139, 136, 130, 133, 116, 114, 130, 132, 122, 128, 146,
+  133, 127, 113, 97, 88, 86, 86, 83, 94, 83, 85, 75, 74, 71, 47, 39,
+  52, 35, 21, 30, 57, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 199, 85, 85, 88, 93, 108, 124, 120, 132, 143, 145, 147, 151, 154,
+  155, 154, 151, 152, 146, 141, 141, 147, 150, 145, 137, 129, 124, 124, 132, 143,
+  151, 158, 165, 168, 170, 165, 156, 146, 138, 130, 125, 125, 123, 125, 130, 134,
+  131, 128, 128, 135, 139, 144, 150, 156, 161, 163, 164, 168, 155, 140, 135, 140,
+  149, 157, 158, 150, 157, 156, 144, 137, 137, 133, 124, 136, 126, 124, 135, 137,
+  130, 130, 137, 140, 133, 117, 98, 86, 84, 83, 79, 94, 78, 75, 69, 52,
+  36, 26, 28, 33, 25, 22, 43, 82, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 84, 80, 83, 71, 96, 118, 111, 121, 135, 141,
+  144, 147, 151, 151, 149, 147, 144, 143, 144, 148, 150, 147, 143, 139, 130, 124,
+  121, 127, 135, 145, 156, 169, 164, 162, 160, 155, 148, 135, 125, 118, 119, 116,
+  120, 128, 131, 127, 125, 128, 138, 140, 145, 149, 152, 154, 155, 156, 165, 157,
+  147, 139, 137, 142, 148, 151, 148, 153, 152, 141, 136, 136, 132, 122, 128, 132,
+  135, 137, 141, 141, 136, 128, 143, 136, 119, 99, 87, 83, 81, 76, 85, 69,
+  65, 65, 43, 28, 32, 30, 32, 45, 55, 71, 98, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 197, 75, 80, 50, 87, 115, 105,
+  118, 128, 137, 142, 147, 147, 144, 143, 143, 143, 146, 149, 151, 148, 143, 137,
+  135, 133, 127, 122, 123, 127, 135, 146, 159, 152, 149, 147, 147, 140, 128, 115,
+  111, 108, 109, 118, 129, 130, 125, 128, 136, 141, 144, 147, 149, 148, 148, 149,
+  150, 155, 154, 152, 147, 143, 143, 147, 150, 148, 148, 146, 141, 139, 136, 131,
+  124, 116, 129, 135, 137, 143, 149, 140, 124, 144, 137, 119, 99, 86, 83, 81,
+  76, 80, 67, 60, 57, 34, 29, 44, 24, 29, 52, 74, 85, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 74, 79, 36,
+  82, 115, 105, 123, 122, 132, 143, 146, 142, 140, 141, 143, 143, 145, 147, 147,
+  143, 139, 133, 131, 133, 128, 124, 123, 123, 126, 135, 147, 141, 135, 133, 134,
+  130, 118, 108, 106, 106, 111, 123, 133, 132, 124, 130, 142, 144, 145, 146, 144,
+  142, 142, 145, 147, 146, 148, 150, 149, 147, 145, 145, 147, 153, 143, 141, 142,
+  144, 139, 132, 127, 118, 125, 131, 139, 147, 148, 139, 127, 144, 136, 118, 97,
+  85, 81, 80, 77, 78, 69, 56, 51, 36, 49, 71, 35, 25, 34, 60, 140,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  195, 80, 31, 81, 118, 109, 128, 117, 130, 141, 143, 138, 133, 135, 140, 140,
+  139, 138, 138, 137, 137, 134, 131, 128, 126, 125, 124, 123, 123, 131, 140, 135,
+  126, 122, 123, 119, 111, 106, 106, 111, 116, 129, 137, 130, 118, 124, 140, 143,
+  144, 143, 140, 137, 138, 143, 147, 143, 145, 146, 146, 147, 143, 141, 137, 155,
+  141, 136, 144, 149, 142, 132, 130, 129, 123, 129, 144, 151, 143, 134, 131, 143,
+  135, 118, 98, 85, 82, 82, 78, 72, 68, 53, 51, 48, 79, 110, 65, 33,
+  25, 49, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 73, 42, 89, 114, 125, 127, 124, 104, 136, 138, 123, 134,
+  133, 148, 137, 140, 135, 132, 139, 136, 129, 132, 136, 131, 126, 125, 126, 125,
+  122, 115, 111, 110, 114, 112, 108, 103, 102, 104, 132, 133, 133, 130, 126, 124,
+  129, 132, 134, 133, 131, 129, 137, 141, 142, 137, 139, 155, 144, 144, 155, 141,
+  138, 147, 143, 146, 138, 132, 139, 140, 132, 130, 114, 123, 141, 145, 137, 138,
+  139, 130, 127, 132, 126, 104, 88, 86, 84, 75, 78, 61, 53, 51, 85, 130,
+  121, 106, 99, 21, 97, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 43, 88, 111, 122, 125, 135, 119, 133,
+  136, 124, 125, 130, 140, 137, 141, 137, 133, 137, 132, 126, 130, 120, 123, 126,
+  126, 125, 124, 125, 122, 111, 111, 115, 116, 115, 112, 112, 112, 123, 122, 126,
+  129, 128, 124, 121, 122, 135, 139, 144, 142, 132, 128, 129, 125, 132, 144, 139,
+  146, 163, 156, 141, 137, 140, 149, 147, 142, 142, 139, 134, 133, 118, 121, 136,
+  145, 138, 135, 134, 126, 123, 127, 120, 99, 86, 83, 81, 74, 75, 64, 62,
+  61, 117, 149, 128, 106, 96, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 46, 87, 106, 118, 123,
+  134, 128, 126, 135, 129, 126, 144, 144, 137, 142, 135, 129, 130, 124, 119, 125,
+  119, 127, 133, 134, 131, 130, 134, 138, 123, 125, 130, 132, 132, 131, 132, 132,
+  122, 120, 128, 142, 147, 140, 134, 132, 125, 125, 132, 140, 130, 133, 136, 131,
+  135, 141, 136, 131, 143, 151, 148, 148, 135, 146, 151, 147, 141, 138, 134, 133,
+  121, 118, 131, 148, 144, 136, 134, 129, 122, 124, 113, 96, 84, 81, 80, 74,
+  70, 62, 63, 56, 138, 160, 133, 109, 120, 140, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 188, 89,
+  101, 112, 119, 133, 137, 121, 134, 135, 127, 151, 147, 136, 140, 132, 124, 124,
+  117, 114, 121, 114, 117, 122, 122, 118, 118, 122, 127, 132, 137, 141, 145, 146,
+  145, 144, 143, 140, 139, 145, 154, 153, 139, 128, 124, 152, 140, 129, 137, 126,
+  133, 124, 120, 129, 138, 144, 129, 129, 143, 148, 156, 133, 138, 146, 145, 138,
+  139, 138, 132, 123, 115, 129, 151, 151, 141, 138, 135, 123, 120, 112, 96, 85,
+  84, 82, 78, 69, 62, 62, 43, 140, 156, 136, 119, 175, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 86, 93, 101, 110, 135, 145, 126, 135, 137, 127, 144, 141, 136, 140,
+  132, 124, 124, 116, 111, 115, 115, 116, 116, 116, 114, 117, 121, 126, 139, 144,
+  147, 151, 153, 153, 151, 149, 153, 156, 160, 165, 163, 156, 151, 147, 138, 137,
+  119, 130, 123, 130, 117, 130, 117, 119, 141, 137, 142, 157, 145, 142, 138, 132,
+  138, 141, 137, 145, 145, 130, 123, 115, 130, 152, 150, 140, 135, 133, 121, 117,
+  108, 96, 87, 84, 83, 80, 69, 66, 68, 46, 138, 154, 143, 132, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 198, 82, 90, 101, 121, 137, 130, 134, 141, 136, 140,
+  145, 139, 144, 138, 132, 134, 123, 110, 107, 114, 113, 114, 117, 119, 124, 127,
+  134, 141, 146, 149, 154, 157, 158, 155, 152, 156, 160, 159, 153, 152, 152, 148,
+  137, 119, 141, 114, 119, 108, 105, 80, 117, 121, 97, 118, 124, 142, 168, 151,
+  145, 148, 132, 137, 144, 141, 150, 152, 128, 123, 120, 135, 150, 144, 133, 128,
+  121, 114, 109, 102, 92, 86, 83, 80, 76, 63, 64, 70, 59, 133, 156, 145,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 77, 85, 97, 104, 121, 133, 131,
+  144, 147, 136, 151, 140, 145, 144, 145, 148, 131, 104, 90, 83, 89, 98, 103,
+  103, 105, 109, 118, 129, 134, 137, 143, 148, 150, 146, 143, 147, 149, 136, 116,
+  116, 124, 113, 86, 106, 137, 95, 108, 129, 139, 112, 172, 118, 77, 99, 106,
+  120, 151, 145, 154, 154, 135, 140, 149, 142, 152, 152, 122, 121, 125, 140, 148,
+  138, 131, 126, 113, 108, 102, 96, 91, 87, 80, 77, 74, 63, 59, 64, 68,
+  123, 161, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 76, 83, 96, 99,
+  116, 139, 131, 143, 146, 123, 144, 136, 145, 148, 153, 155, 132, 97, 75, 70,
+  82, 98, 102, 97, 95, 100, 110, 104, 109, 114, 119, 126, 129, 127, 124, 109,
+  114, 108, 102, 125, 156, 153, 123, 232, 240, 146, 132, 152, 150, 94, 143, 93,
+  62, 103, 112, 109, 127, 125, 149, 154, 137, 146, 155, 143, 150, 148, 116, 118,
+  128, 145, 149, 138, 134, 130, 115, 105, 100, 95, 92, 88, 82, 77, 74, 71,
+  60, 60, 71, 115, 196, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194,
+  75, 84, 84, 103, 126, 137, 136, 133, 134, 140, 148, 137, 141, 155, 148, 118,
+  100, 99, 94, 85, 93, 103, 107, 117, 121, 114, 140, 132, 115, 124, 111, 130,
+  113, 95, 118, 146, 156, 128, 104, 154, 162, 158, 155, 160, 131, 120, 153, 151,
+  113, 95, 100, 111, 121, 122, 123, 128, 137, 141, 132, 144, 152, 150, 145, 140,
+  131, 122, 117, 131, 141, 137, 129, 124, 115, 103, 101, 97, 94, 91, 89, 82,
+  75, 70, 68, 59, 59, 67, 108, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 70, 78, 81, 98, 118, 129, 134, 134, 136, 137, 143, 134, 135,
+  144, 140, 121, 109, 109, 113, 85, 63, 66, 95, 136, 143, 121, 143, 136, 129,
+  150, 142, 152, 131, 114, 142, 148, 141, 117, 107, 159, 149, 127, 147, 163, 142,
+  122, 133, 128, 111, 114, 120, 131, 138, 137, 133, 135, 141, 143, 136, 146, 153,
+  151, 144, 138, 128, 120, 120, 137, 149, 145, 133, 125, 115, 103, 101, 96, 92,
+  87, 85, 81, 76, 72, 68, 60, 60, 68, 160, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 70, 74, 78, 88, 104, 119, 131, 135, 135, 134,
+  138, 135, 133, 133, 133, 128, 125, 125, 116, 103, 83, 65, 73, 119, 147, 140,
+  142, 128, 126, 147, 139, 139, 123, 111, 162, 159, 146, 127, 120, 164, 146, 121,
+  138, 152, 134, 108, 108, 105, 103, 116, 133, 142, 147, 145, 140, 139, 142, 141,
+  141, 148, 154, 150, 141, 133, 123, 116, 119, 138, 150, 146, 133, 124, 113, 102,
+  99, 93, 87, 83, 82, 79, 77, 73, 67, 60, 63, 69, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 72, 75, 80, 90, 106, 124,
+  132, 131, 128, 134, 136, 134, 132, 134, 138, 139, 135, 114, 120, 117, 93, 71,
+  89, 120, 128, 151, 136, 146, 171, 170, 159, 144, 133, 158, 164, 163, 143, 118,
+  149, 134, 124, 105, 112, 100, 94, 110, 123, 128, 136, 136, 143, 147, 144, 142,
+  142, 144, 142, 146, 150, 153, 148, 137, 127, 119, 116, 118, 137, 147, 139, 125,
+  117, 110, 103, 97, 90, 84, 79, 79, 79, 79, 77, 68, 62, 67, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 69, 69, 71,
+  78, 94, 112, 123, 126, 125, 130, 136, 137, 135, 138, 144, 145, 139, 134, 120,
+  116, 112, 97, 93, 99, 97, 109, 102, 130, 161, 170, 156, 145, 132, 135, 147,
+  154, 137, 102, 120, 108, 108, 106, 111, 107, 111, 126, 137, 139, 141, 142, 148,
+  151, 147, 147, 149, 151, 149, 148, 149, 150, 144, 131, 120, 117, 119, 125, 139,
+  145, 131, 113, 107, 105, 101, 92, 87, 82, 77, 78, 81, 81, 79, 71, 66,
+  133, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 68, 68, 72, 84, 99, 113, 119, 124, 125, 132, 135, 138, 142, 145, 143,
+  138, 146, 125, 122, 129, 123, 113, 110, 106, 82, 70, 87, 99, 111, 106, 115,
+  109, 107, 111, 118, 115, 96, 118, 106, 105, 120, 127, 136, 137, 133, 133, 137,
+  141, 152, 154, 154, 148, 146, 149, 151, 148, 148, 146, 144, 138, 124, 115, 117,
+  124, 139, 148, 145, 125, 107, 101, 101, 97, 87, 84, 80, 80, 82, 83, 82,
+  80, 74, 70, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 192, 68, 73, 78, 89, 101, 114, 126, 124, 129, 136, 145,
+  149, 147, 144, 143, 143, 136, 141, 143, 132, 130, 134, 132, 125, 104, 105, 90,
+  99, 97, 119, 114, 101, 96, 100, 108, 102, 132, 124, 125, 113, 122, 139, 146,
+  139, 142, 155, 161, 155, 155, 153, 145, 144, 148, 152, 151, 146, 142, 138, 132,
+  119, 112, 117, 129, 143, 148, 140, 120, 105, 101, 100, 95, 83, 80, 81, 84,
+  86, 86, 83, 78, 77, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 73, 73, 75, 81, 92, 109, 125, 123,
+  126, 134, 146, 152, 148, 146, 148, 140, 137, 140, 137, 134, 142, 143, 128, 129,
+  118, 125, 105, 110, 100, 112, 96, 115, 106, 108, 113, 104, 132, 127, 132, 143,
+  136, 143, 148, 142, 143, 148, 145, 157, 157, 153, 146, 146, 151, 157, 156, 144,
+  139, 136, 128, 117, 110, 120, 133, 137, 140, 133, 116, 102, 101, 100, 95, 79,
+  79, 84, 89, 92, 92, 86, 81, 81, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 61, 67, 92, 82,
+  79, 118, 122, 113, 127, 141, 137, 140, 149, 142, 146, 137, 130, 130, 136, 141,
+  139, 137, 143, 141, 135, 134, 135, 139, 140, 140, 127, 129, 131, 133, 133, 136,
+  140, 143, 143, 142, 142, 142, 145, 148, 151, 153, 158, 159, 154, 146, 142, 146,
+  153, 156, 149, 148, 140, 120, 110, 116, 129, 134, 139, 132, 122, 108, 99, 94,
+  90, 82, 76, 78, 87, 97, 99, 96, 98, 102, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 197,
+  71, 64, 43, 50, 103, 124, 118, 120, 130, 133, 139, 142, 139, 145, 143, 137,
+  132, 130, 131, 131, 135, 141, 141, 139, 139, 142, 144, 148, 149, 148, 149, 153,
+  155, 154, 154, 154, 153, 142, 143, 145, 149, 151, 153, 154, 153, 153, 155, 152,
+  144, 139, 144, 150, 152, 150, 144, 131, 116, 114, 124, 132, 132, 137, 129, 115,
+  104, 99, 95, 89, 82, 74, 80, 90, 96, 101, 103, 103, 151, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 50, 50, 31, 28, 59, 109, 120, 117, 115, 127, 138, 138, 140,
+  148, 149, 146, 136, 126, 121, 124, 133, 130, 133, 134, 134, 136, 140, 146, 149,
+  153, 157, 161, 162, 160, 157, 155, 153, 140, 142, 148, 155, 158, 159, 157, 155,
+  154, 157, 154, 149, 146, 150, 152, 153, 148, 135, 117, 111, 119, 133, 136, 131,
+  134, 124, 109, 101, 97, 93, 89, 83, 82, 89, 98, 100, 107, 115, 160, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 178, 40, 34, 20, 22, 64, 110, 118, 104, 119,
+  138, 141, 141, 149, 151, 151, 141, 128, 121, 121, 126, 134, 138, 140, 139, 138,
+  141, 147, 153, 142, 145, 147, 148, 146, 143, 141, 140, 138, 140, 148, 153, 159,
+  159, 158, 157, 154, 157, 157, 154, 151, 153, 153, 151, 141, 125, 111, 109, 122,
+  135, 136, 133, 129, 120, 108, 100, 93, 87, 86, 87, 87, 97, 104, 102, 111,
+  122, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 24, 20, 17, 25, 23, 92,
+  119, 102, 112, 137, 144, 144, 148, 149, 149, 144, 136, 129, 122, 122, 127, 132,
+  133, 130, 127, 127, 130, 134, 134, 135, 136, 135, 135, 135, 138, 138, 144, 144,
+  149, 151, 156, 156, 156, 156, 151, 154, 154, 152, 150, 150, 148, 142, 131, 119,
+  109, 112, 124, 133, 134, 133, 124, 117, 107, 100, 89, 82, 85, 92, 91, 99,
+  104, 102, 157, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 20, 24,
+  27, 12, 67, 101, 103, 112, 131, 142, 144, 149, 149, 147, 146, 142, 137, 127,
+  121, 122, 123, 122, 119, 116, 116, 117, 118, 135, 135, 133, 131, 133, 136, 142,
+  145, 155, 153, 154, 154, 154, 153, 154, 153, 153, 156, 155, 151, 150, 149, 145,
+  138, 124, 115, 110, 115, 126, 129, 130, 129, 119, 111, 102, 97, 88, 82, 88,
+  100, 98, 104, 107, 106, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 180, 30, 17, 23, 30, 61, 97, 113, 121, 136, 145, 152, 150, 146, 145,
+  141, 138, 130, 128, 135, 135, 134, 132, 131, 132, 131, 130, 138, 138, 137, 136,
+  137, 141, 147, 151, 157, 156, 156, 155, 156, 155, 154, 153, 158, 159, 157, 152,
+  152, 150, 145, 137, 124, 112, 108, 116, 127, 130, 125, 121, 117, 101, 91, 92,
+  92, 90, 95, 104, 108, 111, 112, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 180, 17, 34, 3, 22, 87, 112, 113, 130, 147, 152,
+  153, 148, 144, 140, 136, 134, 135, 132, 129, 127, 127, 132, 133, 132, 130, 144,
+  144, 144, 143, 144, 148, 153, 156, 149, 150, 153, 157, 158, 157, 156, 155, 156,
+  155, 153, 147, 147, 146, 139, 130, 124, 109, 104, 116, 131, 130, 122, 114, 114,
+  94, 81, 87, 96, 98, 101, 107, 111, 109, 160, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 18, 19, 24, 19, 36, 83, 114,
+  129, 145, 152, 152, 152, 148, 143, 137, 131, 129, 140, 140, 141, 140, 141, 141,
+  142, 142, 145, 151, 154, 151, 153, 157, 156, 150, 157, 154, 155, 154, 154, 153,
+  153, 153, 156, 154, 154, 153, 153, 147, 136, 127, 114, 111, 112, 119, 128, 129,
+  122, 111, 107, 91, 82, 93, 104, 106, 107, 112, 117, 162, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 177, 19, 25, 22,
+  24, 57, 98, 124, 135, 148, 149, 148, 145, 141, 139, 140, 142, 143, 142, 142,
+  141, 140, 142, 143, 144, 145, 151, 155, 154, 157, 162, 162, 158, 161, 157, 157,
+  155, 154, 153, 153, 152, 146, 147, 147, 148, 145, 140, 132, 125, 111, 110, 113,
+  119, 125, 123, 111, 102, 95, 87, 86, 97, 105, 105, 107, 114, 162, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  17, 24, 26, 17, 30, 77, 120, 128, 137, 142, 144, 144, 143, 144, 145, 148,
+  146, 145, 143, 142, 141, 145, 146, 148, 144, 149, 153, 155, 160, 165, 166, 163,
+  166, 164, 162, 159, 157, 156, 155, 154, 148, 149, 149, 149, 144, 138, 131, 125,
+  107, 108, 113, 119, 122, 116, 105, 97, 84, 83, 91, 103, 108, 106, 109, 163,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 18, 27, 23, 20, 59, 107, 124, 125, 134, 144, 148, 148,
+  146, 144, 144, 147, 147, 147, 147, 147, 147, 147, 148, 142, 146, 149, 153, 158,
+  161, 162, 161, 166, 164, 162, 159, 158, 158, 159, 159, 158, 152, 149, 146, 144,
+  137, 125, 116, 102, 107, 116, 121, 120, 112, 103, 96, 86, 87, 95, 107, 112,
+  111, 112, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 25, 32, 23, 40, 80, 105, 124, 134,
+  144, 148, 147, 146, 146, 147, 147, 147, 149, 150, 150, 149, 147, 146, 146, 147,
+  149, 153, 155, 156, 156, 157, 158, 157, 156, 154, 155, 157, 159, 160, 160, 149,
+  142, 139, 141, 136, 121, 107, 103, 108, 116, 117, 110, 102, 95, 92, 99, 97,
+  100, 108, 117, 118, 163, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 177, 35, 29, 26, 46,
+  72, 123, 133, 142, 144, 144, 146, 153, 157, 149, 148, 150, 152, 152, 150, 149,
+  145, 153, 152, 153, 156, 157, 154, 153, 155, 149, 148, 148, 147, 149, 153, 157,
+  159, 159, 148, 142, 139, 141, 135, 123, 108, 106, 110, 113, 107, 97, 89, 87,
+  89, 109, 106, 106, 112, 119, 166, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 28,
+  34, 25, 24, 41, 106, 120, 135, 145, 147, 151, 156, 160, 151, 150, 150, 149,
+  150, 149, 150, 150, 158, 153, 155, 159, 158, 154, 151, 154, 148, 146, 146, 146,
+  148, 153, 157, 160, 158, 151, 148, 142, 138, 129, 121, 112, 105, 108, 109, 100,
+  87, 82, 89, 97, 108, 111, 115, 118, 120, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 36, 30, 18, 25, 79, 101, 129, 147, 153, 153, 152, 151, 155,
+  152, 148, 146, 145, 149, 151, 154, 158, 154, 153, 159, 158, 152, 150, 154, 151,
+  151, 149, 149, 151, 155, 159, 162, 152, 150, 149, 140, 128, 116, 110, 106, 101,
+  103, 103, 94, 83, 84, 97, 110, 103, 113, 121, 124, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 21, 19, 20, 43, 86, 129, 128, 154, 149,
+  154, 146, 147, 144, 144, 147, 149, 150, 153, 160, 154, 155, 155, 156, 156, 155,
+  154, 154, 152, 156, 158, 153, 150, 150, 156, 161, 154, 147, 141, 132, 125, 116,
+  109, 102, 103, 95, 87, 82, 82, 90, 100, 109, 113, 120, 126, 168, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 19, 20, 21, 70, 118,
+  129, 141, 140, 149, 154, 151, 146, 148, 149, 150, 150, 153, 158, 160, 156, 153,
+  150, 150, 154, 158, 161, 153, 154, 155, 155, 156, 156, 155, 155, 149, 144, 135,
+  128, 120, 112, 106, 98, 95, 91, 86, 85, 88, 97, 106, 114, 118, 120, 123,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 24,
+  12, 51, 89, 122, 129, 139, 142, 153, 151, 148, 149, 151, 152, 150, 150, 152,
+  156, 153, 151, 149, 150, 152, 156, 160, 159, 158, 158, 160, 164, 162, 156, 148,
+  145, 139, 128, 118, 112, 106, 101, 95, 89, 88, 89, 92, 97, 106, 114, 120,
+  125, 121, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 34, 57, 111, 121, 137, 131, 137, 145, 143, 144, 149, 150,
+  147, 146, 147, 147, 148, 152, 154, 154, 154, 152, 151, 161, 160, 158, 159, 159,
+  156, 148, 141, 140, 130, 115, 104, 99, 95, 94, 91, 90, 90, 96, 102, 109,
+  115, 121, 124, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 114, 115, 123, 118, 128, 137, 135,
+  136, 143, 148, 146, 146, 147, 147, 147, 152, 153, 153, 151, 149, 147, 149, 149,
+  149, 148, 144, 141, 137, 134, 128, 117, 105, 94, 89, 88, 90, 92, 96, 98,
+  104, 110, 117, 121, 124, 126, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 103, 105,
+  123, 129, 128, 129, 137, 143, 143, 143, 144, 151, 149, 147, 145, 145, 146, 148,
+  149, 137, 139, 140, 140, 137, 136, 132, 131, 112, 105, 97, 91, 89, 93, 96,
+  98, 107, 109, 112, 117, 119, 122, 125, 169, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 203, 110, 118, 117, 117, 125, 132, 133, 133, 134, 143, 141, 140, 138,
+  137, 136, 137, 138, 133, 131, 130, 132, 133, 129, 121, 113, 97, 95, 96, 99,
+  102, 106, 107, 109, 115, 116, 117, 119, 120, 123, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 206, 106, 114, 121, 122, 123, 123, 127,
+  129, 134, 135, 133, 130, 124, 120, 126, 121, 116, 119, 123, 117, 102, 87, 85,
+  88, 96, 107, 114, 118, 118, 117, 119, 120, 119, 121, 166, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 113, 91,
+  99, 106, 116, 120, 123, 120, 119, 123, 123, 118, 114, 109, 108, 108, 102, 94,
+  94, 99, 100, 107, 118, 124, 127, 126, 124, 124, 120, 128, 125, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 98, 101, 101, 104, 108, 107, 102, 93, 92, 97,
+  102, 103, 100, 102, 109, 115, 120, 125, 126, 127, 123, 126, 127, 124, 174, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 107, 102,
+  118, 118, 124, 130, 131, 128, 127, 130, 128, 131, 131, 127, 122, 120, 125, 171,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 216, 135, 131, 129, 129, 131, 131, 168, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  210, 115, 115, 122, 123, 117, 125, 116, 106, 103, 105, 109, 110, 109, 131, 223,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 209, 114, 114, 117, 112, 115, 118, 119, 116, 113, 112,
+  112, 108, 113, 118, 120, 123, 124, 120, 113, 116, 113, 110, 108, 108, 105, 101,
+  97, 96, 106, 97, 87, 89, 79, 70, 80, 84, 89, 82, 85, 103, 112, 108,
+  157, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 123,
+  125, 129, 128, 123, 122, 118, 116, 118, 118, 114, 111, 111, 107, 103, 105, 112,
+  111, 106, 107, 114, 115, 110, 109, 113, 114, 110, 104, 102, 96, 100, 106, 108,
+  104, 97, 91, 86, 103, 107, 95, 83, 80, 69, 60, 65, 72, 84, 79, 75,
+  91, 105, 101, 95, 98, 114, 116, 134, 141, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  214, 131, 129, 128, 129, 125, 118, 123, 120, 118, 118, 117, 113, 109, 107, 120,
+  109, 105, 112, 112, 105, 109, 122, 110, 95, 84, 85, 86, 83, 85, 92, 75,
+  83, 92, 94, 91, 84, 82, 82, 94, 92, 83, 74, 68, 62, 57, 58, 65,
+  78, 72, 66, 84, 101, 94, 82, 92, 113, 117, 134, 142, 130, 136, 143, 173,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 212, 131, 135, 137, 136, 135, 133, 125, 117, 115, 115, 115, 116, 118, 119,
+  118, 116, 109, 96, 93, 99, 97, 87, 86, 95, 90, 74, 62, 62, 64, 64,
+  71, 82, 63, 69, 75, 74, 71, 68, 72, 76, 70, 66, 65, 65, 63, 66,
+  69, 68, 69, 78, 68, 62, 83, 102, 93, 78, 93, 118, 117, 122, 128, 124,
+  131, 128, 124, 125, 127, 128, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 191, 103, 99, 89, 94, 98, 99, 99, 97, 89, 79, 70, 70, 67,
+  63, 64, 67, 65, 61, 64, 61, 67, 78, 83, 76, 73, 75, 88, 81, 74,
+  70, 65, 60, 60, 64, 59, 62, 62, 60, 56, 56, 61, 67, 64, 56, 60,
+  65, 62, 68, 74, 68, 76, 81, 70, 65, 84, 100, 93, 83, 90, 114, 109,
+  113, 122, 122, 129, 123, 117, 121, 125, 126, 125, 125, 128, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 195, 69, 101, 92, 100, 104, 106, 106, 105, 104, 96, 88,
+  76, 75, 68, 58, 55, 56, 54, 49, 44, 47, 54, 65, 76, 82, 83, 83,
+  84, 88, 87, 76, 65, 58, 53, 50, 53, 55, 56, 55, 53, 53, 58, 61,
+  68, 57, 62, 67, 60, 64, 69, 58, 74, 79, 71, 68, 81, 89, 87, 89,
+  100, 111, 102, 114, 125, 116, 118, 115, 108, 112, 114, 116, 115, 117, 123, 129,
+  125, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 208, 121, 70, 74, 109, 102, 102, 104, 103, 99, 97,
+  95, 88, 80, 67, 67, 60, 50, 48, 52, 51, 46, 38, 38, 37, 38, 48,
+  62, 69, 69, 63, 74, 76, 64, 54, 54, 54, 51, 45, 48, 53, 55, 57,
+  58, 59, 61, 64, 52, 59, 66, 58, 64, 70, 57, 70, 76, 71, 68, 74,
+  76, 80, 94, 118, 116, 102, 118, 124, 98, 91, 93, 95, 96, 98, 97, 97,
+  102, 111, 119, 121, 122, 123, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 213, 117, 96, 89, 99, 108, 107, 107, 98,
+  93, 95, 96, 88, 76, 69, 48, 55, 52, 49, 52, 47, 40, 45, 44, 32,
+  26, 34, 43, 45, 43, 43, 56, 55, 56, 59, 56, 50, 49, 53, 51, 47,
+  44, 45, 51, 54, 53, 51, 62, 57, 56, 64, 72, 73, 63, 53, 63, 70,
+  64, 66, 81, 78, 76, 96, 115, 122, 109, 92, 91, 94, 91, 93, 80, 79,
+  75, 70, 65, 67, 75, 84, 99, 107, 117, 123, 170, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 126, 113, 107, 100, 92, 83, 77, 80,
+  85, 72, 66, 62, 61, 57, 51, 46, 46, 45, 49, 43, 40, 47, 48, 49,
+  59, 50, 39, 33, 38, 43, 43, 43, 44, 46, 48, 51, 53, 54, 53, 53,
+  52, 59, 51, 43, 42, 47, 51, 51, 49, 58, 54, 53, 58, 65, 67, 63,
+  57, 76, 78, 76, 79, 85, 79, 75, 81, 79, 94, 91, 80, 80, 77, 72,
+  71, 53, 53, 53, 52, 51, 53, 57, 61, 74, 78, 85, 94, 107, 119, 171,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 118, 106, 91, 83, 81, 82,
+  70, 54, 49, 58, 50, 45, 42, 38, 32, 27, 29, 36, 39, 43, 38, 36,
+  46, 49, 52, 61, 55, 48, 42, 42, 42, 41, 42, 45, 42, 49, 52, 51,
+  54, 60, 58, 50, 52, 43, 35, 35, 42, 49, 51, 50, 55, 53, 51, 53,
+  57, 62, 64, 65, 80, 74, 81, 90, 89, 86, 83, 75, 66, 82, 81, 70,
+  67, 62, 55, 54, 53, 53, 53, 54, 55, 53, 50, 47, 51, 51, 54, 65,
+  82, 101, 117, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 123, 117, 98, 78, 76,
+  71, 70, 67, 55, 43, 38, 44, 50, 46, 42, 39, 35, 31, 34, 41, 36,
+  42, 39, 40, 49, 49, 45, 49, 57, 53, 48, 44, 40, 39, 42, 45, 42,
+  52, 54, 49, 52, 62, 58, 45, 51, 43, 36, 35, 43, 49, 50, 49, 54,
+  54, 51, 51, 52, 58, 67, 74, 80, 70, 80, 91, 85, 87, 88, 70, 71,
+  80, 72, 58, 60, 62, 59, 60, 61, 59, 58, 62, 65, 64, 57, 52, 44,
+  44, 46, 53, 65, 79, 99, 114, 166, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 208, 102, 96,
+  81, 65, 69, 73, 68, 56, 46, 48, 49, 48, 53, 47, 42, 42, 41, 38,
+  37, 39, 38, 42, 38, 38, 48, 47, 43, 47, 56, 56, 52, 45, 39, 39,
+  41, 43, 40, 51, 54, 47, 50, 59, 57, 45, 57, 52, 47, 44, 47, 48,
+  46, 43, 49, 51, 51, 49, 48, 55, 65, 75, 87, 75, 81, 88, 80, 84,
+  84, 66, 69, 73, 61, 51, 59, 68, 66, 66, 55, 51, 48, 52, 59, 62,
+  58, 55, 46, 47, 51, 54, 56, 61, 79, 96, 110, 111, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207,
+  97, 89, 85, 82, 77, 68, 75, 71, 55, 49, 57, 61, 58, 56, 49, 44,
+  45, 45, 41, 37, 37, 42, 43, 34, 33, 46, 52, 54, 62, 61, 62, 58,
+  50, 44, 44, 43, 42, 46, 55, 59, 56, 56, 62, 64, 60, 47, 46, 46,
+  45, 45, 45, 46, 47, 44, 47, 49, 48, 46, 49, 58, 67, 75, 71, 74,
+  77, 78, 86, 89, 81, 78, 83, 73, 62, 68, 71, 62, 58, 66, 60, 52,
+  49, 51, 52, 48, 45, 45, 45, 49, 52, 50, 48, 60, 76, 90, 95, 152,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 99, 94, 93, 88, 85, 84, 68, 71, 70, 65, 60, 61, 64, 67,
+  60, 56, 53, 51, 46, 40, 40, 44, 42, 42, 34, 36, 53, 62, 66, 75,
+  72, 72, 67, 58, 52, 51, 46, 40, 56, 61, 65, 63, 59, 59, 64, 69,
+  47, 48, 48, 45, 39, 39, 45, 51, 42, 45, 48, 49, 48, 49, 53, 59,
+  52, 63, 64, 65, 78, 88, 90, 95, 89, 100, 93, 78, 75, 72, 64, 63,
+  80, 72, 63, 55, 51, 48, 44, 41, 47, 41, 40, 45, 46, 41, 46, 56,
+  66, 77, 92, 103, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 100, 90, 96, 100, 89, 78, 73, 68, 64, 67, 74, 71,
+  60, 60, 70, 63, 62, 60, 55, 44, 37, 41, 50, 38, 42, 39, 46, 63,
+  70, 70, 75, 80, 81, 75, 64, 58, 57, 50, 40, 59, 61, 63, 62, 53,
+  45, 51, 63, 70, 70, 66, 53, 39, 34, 39, 46, 42, 46, 51, 53, 53,
+  52, 53, 56, 44, 63, 60, 58, 74, 82, 81, 91, 84, 100, 97, 81, 76,
+  76, 77, 86, 68, 65, 58, 53, 51, 49, 47, 47, 50, 37, 31, 39, 43,
+  39, 37, 41, 49, 65, 87, 105, 161, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 104, 89, 90, 104, 97, 70, 60, 72, 77, 69,
+  62, 76, 73, 66, 74, 64, 65, 61, 55, 53, 53, 53, 49, 46, 46, 56,
+  43, 51, 50, 83, 73, 64, 69, 83, 76, 57, 62, 80, 66, 32, 40, 56,
+  68, 66, 58, 52, 49, 45, 60, 58, 57, 54, 48, 43, 43, 48, 48, 59,
+  47, 48, 65, 50, 35, 54, 53, 45, 45, 61, 77, 86, 89, 90, 101, 72,
+  67, 85, 92, 87, 75, 62, 73, 69, 57, 48, 46, 52, 49, 42, 45, 44,
+  40, 36, 32, 35, 41, 46, 41, 54, 69, 83, 101, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 204, 103, 100, 99, 97, 89, 78, 73,
+  74, 75, 71, 66, 81, 78, 69, 75, 61, 66, 65, 61, 56, 51, 49, 50,
+  52, 51, 55, 46, 62, 60, 77, 68, 69, 69, 72, 68, 61, 62, 66, 59,
+  43, 39, 54, 62, 56, 50, 52, 51, 46, 55, 54, 54, 56, 53, 46, 43,
+  45, 52, 61, 49, 48, 64, 51, 35, 52, 55, 47, 45, 57, 71, 78, 80,
+  82, 84, 69, 70, 80, 80, 75, 69, 60, 67, 65, 61, 55, 55, 57, 54,
+  47, 45, 44, 41, 36, 33, 32, 36, 39, 35, 46, 59, 71, 93, 116, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 95, 98, 106, 101, 85,
+  77, 81, 81, 75, 68, 67, 66, 83, 81, 75, 83, 68, 69, 71, 69, 62,
+  53, 51, 57, 64, 59, 59, 57, 73, 66, 67, 61, 70, 71, 64, 62, 64,
+  59, 48, 46, 51, 43, 55, 55, 43, 39, 50, 51, 41, 51, 48, 50, 57,
+  59, 53, 46, 43, 54, 61, 52, 49, 62, 53, 38, 47, 57, 49, 43, 50,
+  61, 67, 68, 70, 69, 65, 71, 73, 64, 62, 64, 60, 65, 68, 70, 67,
+  64, 62, 57, 51, 41, 41, 39, 36, 33, 31, 31, 33, 34, 40, 47, 56,
+  79, 106, 165, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 100, 90, 98,
+  105, 99, 84, 76, 82, 84, 79, 74, 73, 67, 78, 75, 71, 82, 71, 72,
+  74, 72, 66, 58, 59, 65, 72, 63, 67, 67, 70, 62, 59, 57, 63, 68,
+  62, 62, 63, 53, 38, 40, 52, 48, 57, 50, 33, 32, 47, 50, 38, 49,
+  45, 45, 54, 58, 55, 46, 40, 54, 61, 55, 51, 60, 55, 44, 46, 54,
+  47, 40, 43, 51, 57, 60, 59, 63, 63, 68, 63, 50, 56, 64, 61, 69,
+  73, 77, 76, 71, 65, 61, 57, 72, 71, 68, 62, 56, 50, 45, 42, 36,
+  38, 39, 43, 63, 91, 108, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 103,
+  97, 92, 105, 100, 96, 92, 88, 86, 85, 88, 90, 85, 70, 71, 62, 60,
+  76, 66, 77, 75, 70, 65, 62, 62, 65, 68, 60, 69, 71, 57, 54, 57,
+  62, 58, 56, 61, 63, 57, 48, 43, 46, 51, 47, 53, 44, 29, 30, 47,
+  51, 41, 52, 44, 42, 49, 56, 54, 47, 42, 52, 61, 59, 53, 56, 57,
+  52, 48, 47, 42, 38, 38, 45, 52, 55, 54, 61, 55, 55, 49, 42, 53,
+  63, 60, 65, 68, 74, 77, 78, 75, 73, 73, 90, 86, 79, 70, 60, 50,
+  42, 37, 37, 37, 35, 34, 50, 78, 100, 106, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  208, 105, 99, 98, 100, 105, 90, 84, 90, 91, 83, 80, 87, 85, 82, 68,
+  66, 58, 61, 81, 73, 76, 74, 71, 66, 61, 58, 57, 56, 57, 65, 68,
+  47, 54, 60, 68, 55, 42, 54, 59, 52, 48, 52, 53, 49, 41, 44, 38,
+  31, 34, 45, 50, 47, 50, 43, 39, 46, 52, 52, 47, 46, 49, 61, 65,
+  57, 52, 57, 57, 50, 40, 39, 36, 36, 42, 51, 53, 51, 55, 42, 39,
+  40, 38, 48, 58, 54, 55, 56, 64, 76, 84, 85, 86, 89, 68, 64, 58,
+  52, 47, 43, 38, 35, 34, 37, 35, 30, 43, 70, 95, 106, 119, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 208, 108, 99, 96, 99, 103, 100, 82, 71, 77, 83, 80, 78, 81,
+  75, 76, 67, 68, 63, 67, 85, 75, 66, 72, 74, 70, 62, 56, 55, 56,
+  65, 61, 64, 50, 65, 60, 65, 52, 40, 47, 52, 52, 53, 54, 50, 43,
+  40, 38, 37, 37, 36, 39, 42, 45, 43, 39, 38, 46, 52, 52, 49, 48,
+  47, 62, 71, 59, 46, 53, 58, 48, 36, 38, 36, 35, 40, 49, 52, 49,
+  46, 29, 29, 39, 40, 44, 51, 51, 56, 54, 62, 78, 88, 88, 87, 87,
+  69, 63, 56, 51, 50, 50, 49, 48, 36, 42, 40, 32, 38, 62, 89, 103,
+  113, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 106, 100, 94, 94, 98, 102, 100, 84, 70, 70, 79,
+  84, 82, 79, 78, 82, 75, 76, 67, 65, 77, 61, 58, 69, 79, 76, 66,
+  58, 60, 65, 77, 61, 63, 57, 75, 58, 58, 48, 46, 44, 47, 55, 57,
+  50, 41, 35, 43, 39, 38, 41, 38, 31, 32, 39, 37, 35, 38, 47, 53,
+  53, 50, 50, 48, 64, 76, 62, 43, 50, 57, 47, 35, 37, 37, 35, 40,
+  48, 50, 47, 40, 23, 27, 44, 45, 43, 48, 51, 63, 61, 67, 81, 89,
+  84, 77, 73, 83, 73, 61, 50, 45, 41, 38, 36, 41, 48, 47, 36, 36,
+  56, 82, 97, 109, 116, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 102, 98, 97, 98, 96, 94, 73, 78,
+  78, 76, 79, 82, 78, 70, 68, 73, 57, 64, 68, 55, 60, 64, 52, 83,
+  81, 62, 63, 61, 53, 57, 59, 63, 71, 72, 60, 46, 47, 56, 62, 52,
+  66, 54, 32, 29, 32, 45, 38, 31, 40, 50, 36, 27, 37, 48, 32, 37,
+  45, 50, 51, 49, 46, 46, 60, 64, 66, 62, 57, 48, 36, 24, 26, 36,
+  38, 33, 40, 51, 43, 25, 40, 36, 33, 37, 46, 53, 53, 50, 46, 56,
+  69, 76, 77, 78, 81, 84, 74, 62, 48, 41, 42, 44, 42, 40, 40, 40,
+  25, 30, 40, 51, 78, 84, 101, 109, 164, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 94, 94, 98, 100, 95,
+  89, 71, 76, 77, 74, 73, 72, 66, 59, 64, 65, 54, 60, 53, 44, 58,
+  60, 49, 77, 80, 71, 71, 64, 53, 57, 69, 64, 60, 59, 59, 57, 57,
+  58, 55, 46, 62, 57, 42, 41, 39, 46, 33, 33, 41, 46, 40, 42, 45,
+  39, 38, 42, 48, 52, 52, 49, 47, 46, 60, 68, 72, 66, 53, 44, 37,
+  32, 37, 39, 34, 28, 32, 41, 40, 29, 31, 34, 39, 45, 50, 53, 53,
+  53, 51, 57, 65, 69, 69, 69, 69, 71, 71, 64, 55, 52, 53, 52, 46,
+  40, 38, 45, 36, 38, 38, 41, 66, 72, 100, 110, 120, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 95, 86, 90,
+  100, 104, 97, 88, 78, 82, 84, 78, 73, 68, 61, 55, 56, 52, 51, 57,
+  39, 37, 63, 61, 79, 80, 64, 50, 49, 52, 62, 81, 67, 68, 68, 70,
+  74, 76, 70, 62, 71, 53, 61, 54, 42, 41, 35, 37, 32, 35, 39, 38,
+  38, 50, 47, 25, 41, 45, 50, 53, 53, 50, 49, 49, 58, 70, 75, 63,
+  46, 38, 38, 40, 43, 38, 32, 32, 34, 37, 37, 36, 21, 26, 34, 38,
+  41, 44, 48, 52, 59, 61, 64, 67, 68, 69, 68, 68, 58, 56, 55, 57,
+  57, 53, 43, 35, 40, 53, 49, 49, 42, 37, 61, 69, 95, 106, 117, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  97, 93, 98, 107, 110, 103, 95, 87, 89, 87, 81, 73, 66, 62, 59, 48,
+  43, 48, 56, 33, 38, 75, 71, 76, 66, 56, 58, 62, 60, 61, 70, 68,
+  75, 78, 76, 77, 81, 80, 76, 85, 58, 55, 43, 33, 37, 32, 34, 43,
+  40, 39, 37, 35, 46, 43, 23, 43, 47, 51, 52, 52, 52, 53, 55, 55,
+  64, 67, 56, 42, 37, 40, 44, 40, 35, 37, 45, 47, 41, 40, 43, 44,
+  44, 44, 47, 51, 57, 63, 68, 63, 63, 64, 68, 72, 76, 78, 78, 69,
+  70, 72, 76, 76, 71, 61, 53, 48, 59, 53, 52, 46, 43, 66, 74, 85,
+  97, 112, 121, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 206, 105, 103, 105, 108, 106, 99, 94, 88, 85, 80, 74, 68, 62,
+  60, 62, 47, 41, 46, 54, 33, 41, 80, 74, 76, 57, 50, 63, 72, 74,
+  73, 73, 80, 75, 68, 65, 72, 80, 82, 78, 72, 46, 46, 39, 35, 44,
+  41, 43, 53, 42, 39, 41, 35, 39, 43, 38, 49, 50, 52, 52, 51, 50,
+  53, 54, 55, 59, 59, 52, 45, 46, 48, 48, 43, 38, 41, 51, 50, 41,
+  42, 49, 54, 51, 49, 53, 59, 64, 64, 63, 57, 58, 59, 63, 68, 74,
+  78, 79, 76, 76, 76, 78, 79, 74, 65, 59, 55, 58, 45, 44, 43, 43,
+  66, 71, 77, 90, 107, 120, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 99, 99, 97, 98, 97, 93, 86, 82, 89, 82, 75,
+  72, 71, 65, 63, 63, 49, 48, 45, 50, 39, 46, 76, 68, 85, 60, 53,
+  63, 71, 83, 93, 91, 84, 70, 64, 76, 90, 89, 73, 58, 59, 41, 52,
+  51, 47, 52, 45, 46, 51, 40, 41, 46, 40, 41, 48, 48, 57, 57, 56,
+  53, 50, 49, 51, 54, 58, 60, 58, 55, 56, 59, 58, 55, 55, 49, 49,
+  50, 46, 40, 45, 55, 48, 45, 46, 52, 59, 59, 52, 46, 52, 54, 57,
+  60, 63, 69, 74, 77, 77, 75, 72, 69, 66, 61, 53, 50, 54, 53, 35,
+  35, 37, 38, 55, 54, 70, 85, 105, 119, 123, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 200, 90, 87, 85, 89, 95, 97, 90, 84,
+  92, 82, 76, 78, 79, 73, 66, 63, 49, 54, 43, 46, 50, 56, 73, 65,
+  67, 62, 78, 93, 89, 90, 89, 74, 81, 70, 72, 89, 94, 78, 61, 55,
+  63, 51, 67, 66, 56, 56, 49, 51, 55, 56, 62, 63, 59, 65, 66, 50,
+  59, 57, 56, 53, 52, 53, 57, 60, 61, 63, 64, 61, 63, 66, 64, 58,
+  58, 59, 60, 57, 52, 50, 53, 60, 60, 58, 58, 60, 63, 64, 62, 61,
+  62, 67, 72, 75, 77, 81, 88, 94, 98, 94, 86, 78, 70, 62, 54, 51,
+  46, 49, 36, 39, 41, 37, 49, 44, 63, 79, 101, 117, 122, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 86, 91, 84, 83, 93, 108,
+  116, 111, 103, 91, 81, 75, 81, 83, 75, 64, 57, 46, 57, 40, 43, 59,
+  66, 73, 67, 81, 76, 87, 87, 71, 76, 88, 80, 85, 76, 75, 76, 62,
+  44, 54, 81, 69, 59, 74, 69, 58, 61, 60, 68, 69, 82, 92, 87, 85,
+  97, 88, 55, 55, 54, 54, 54, 55, 59, 65, 68, 59, 64, 67, 64, 63,
+  65, 62, 59, 52, 62, 71, 71, 65, 61, 61, 61, 64, 61, 55, 50, 50,
+  55, 65, 74, 78, 85, 92, 96, 98, 104, 112, 120, 104, 99, 91, 80, 67,
+  56, 47, 42, 39, 48, 42, 51, 50, 43, 50, 43, 55, 73, 96, 114, 119,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 108, 110, 98,
+  97, 112, 119, 112, 107, 109, 107, 98, 90, 86, 82, 74, 64, 59, 43, 45,
+  59, 74, 73, 76, 78, 70, 78, 72, 72, 82, 83, 75, 72, 77, 74, 78,
+  74, 65, 65, 72, 72, 65, 63, 61, 57, 52, 51, 56, 67, 74, 81, 80,
+  76, 72, 72, 75, 73, 66, 60, 57, 51, 49, 48, 52, 56, 59, 49, 52,
+  57, 58, 56, 56, 56, 58, 61, 65, 68, 67, 63, 60, 59, 61, 64, 66,
+  62, 55, 53, 59, 66, 70, 81, 70, 67, 77, 84, 84, 85, 90, 81, 79,
+  73, 66, 63, 65, 64, 60, 67, 51, 40, 42, 42, 33, 36, 46, 46, 46,
+  72, 85, 100, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 90,
+  85, 77, 96, 115, 121, 112, 103, 99, 100, 77, 76, 69, 62, 59, 62, 60,
+  54, 52, 53, 69, 81, 81, 82, 82, 73, 76, 69, 69, 77, 79, 72, 69,
+  73, 67, 67, 63, 58, 59, 63, 64, 61, 49, 49, 50, 49, 50, 55, 62,
+  68, 63, 63, 58, 53, 55, 61, 62, 58, 55, 56, 56, 58, 59, 61, 61,
+  62, 55, 57, 58, 57, 56, 56, 58, 62, 63, 66, 66, 65, 62, 61, 64,
+  68, 62, 63, 59, 53, 54, 60, 66, 67, 54, 59, 71, 86, 92, 88, 79,
+  74, 71, 73, 73, 73, 78, 83, 81, 74, 61, 52, 44, 41, 35, 27, 30,
+  40, 38, 39, 53, 65, 79, 165, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 80, 81, 83, 113, 133, 125, 108, 98, 90, 81, 72, 74, 67, 52,
+  45, 51, 53, 49, 64, 66, 80, 92, 90, 89, 87, 76, 75, 67, 67, 73,
+  74, 67, 66, 70, 71, 65, 61, 61, 63, 61, 61, 64, 42, 46, 51, 56,
+  59, 62, 65, 68, 57, 57, 52, 48, 51, 59, 63, 62, 56, 55, 52, 50,
+  47, 45, 44, 44, 57, 56, 56, 55, 56, 58, 62, 67, 68, 68, 66, 62,
+  62, 65, 70, 75, 61, 62, 60, 56, 59, 65, 67, 66, 62, 69, 75, 79,
+  82, 85, 84, 80, 71, 72, 72, 75, 80, 81, 70, 58, 59, 58, 53, 44,
+  35, 29, 31, 36, 32, 35, 34, 43, 59, 117, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 72, 85, 107, 113, 121, 122, 112, 104, 101, 90, 75, 81,
+  80, 73, 61, 51, 48, 53, 57, 79, 77, 88, 95, 91, 91, 91, 82, 76,
+  69, 67, 70, 70, 67, 65, 69, 77, 68, 62, 68, 68, 63, 61, 67, 47,
+  52, 60, 67, 70, 69, 67, 66, 55, 56, 54, 51, 54, 61, 65, 64, 70,
+  66, 57, 50, 46, 48, 50, 53, 53, 54, 53, 55, 56, 61, 64, 67, 70,
+  69, 66, 64, 64, 66, 69, 74, 65, 66, 64, 64, 67, 74, 75, 72, 78,
+  85, 82, 73, 71, 80, 85, 83, 92, 90, 87, 87, 90, 87, 72, 55, 62,
+  63, 58, 48, 41, 40, 38, 35, 31, 38, 29, 37, 57, 122, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 84, 100, 124, 116, 107, 100, 97, 97, 94,
+  89, 85, 78, 71, 69, 70, 63, 56, 64, 78, 93, 87, 93, 97, 91, 93,
+  97, 91, 80, 74, 69, 69, 69, 69, 69, 72, 73, 63, 60, 66, 68, 64,
+  64, 71, 58, 62, 69, 75, 76, 73, 68, 63, 50, 54, 55, 52, 54, 57,
+  57, 56, 58, 57, 54, 52, 55, 62, 68, 72, 62, 62, 64, 67, 68, 68,
+  68, 68, 71, 71, 69, 69, 68, 68, 66, 66, 69, 73, 73, 73, 76, 82,
+  84, 82, 70, 83, 89, 86, 82, 83, 78, 69, 86, 84, 80, 81, 87, 88,
+  77, 63, 61, 59, 52, 46, 46, 47, 41, 33, 31, 39, 33, 40, 74, 127,
+  117, 255, 255, 255, 255, 255, 255, 255, 255, 107, 108, 110, 113, 108, 106, 105,
+  101, 91, 82, 83, 90, 82, 75, 74, 75, 72, 68, 77, 90, 104, 96, 99,
+  99, 94, 97, 103, 98, 88, 83, 76, 72, 72, 73, 76, 77, 71, 66, 64,
+  69, 73, 76, 78, 81, 77, 78, 82, 85, 86, 82, 75, 70, 62, 67, 69,
+  66, 65, 66, 65, 63, 49, 52, 57, 63, 69, 71, 72, 73, 81, 81, 81,
+  81, 80, 79, 74, 71, 74, 73, 72, 73, 71, 68, 63, 61, 71, 76, 78,
+  76, 78, 85, 89, 91, 77, 85, 91, 93, 93, 94, 89, 83, 79, 77, 72,
+  71, 75, 78, 72, 62, 59, 50, 43, 42, 46, 45, 38, 31, 33, 35, 37,
+  42, 95, 127, 116, 255, 255, 255, 255, 255, 255, 255, 205, 110, 114, 109, 100,
+  108, 117, 117, 103, 88, 85, 87, 88, 91, 95, 88, 74, 71, 83, 92, 92,
+  106, 99, 101, 103, 98, 102, 107, 102, 96, 91, 83, 77, 76, 79, 82, 83,
+  77, 78, 75, 75, 79, 87, 89, 87, 87, 87, 88, 90, 92, 91, 86, 82,
+  81, 86, 87, 83, 80, 81, 82, 81, 76, 79, 84, 87, 88, 86, 83, 80,
+  90, 87, 85, 85, 86, 85, 81, 78, 77, 75, 74, 74, 74, 71, 66, 62,
+  65, 74, 78, 75, 74, 80, 87, 93, 99, 92, 86, 89, 94, 100, 106, 112,
+  106, 104, 97, 90, 87, 86, 78, 69, 62, 50, 44, 47, 49, 42, 37, 38,
+  37, 29, 39, 39, 113, 124, 118, 255, 255, 255, 255, 255, 255, 255, 106, 99,
+  102, 103, 98, 105, 117, 112, 90, 85, 99, 101, 87, 87, 103, 94, 65, 65,
+  95, 107, 95, 103, 97, 101, 104, 99, 102, 107, 101, 102, 96, 87, 80, 79,
+  83, 86, 86, 84, 88, 85, 77, 79, 88, 89, 82, 86, 84, 83, 86, 90,
+  91, 89, 86, 86, 90, 91, 85, 82, 84, 88, 88, 85, 86, 86, 85, 85,
+  84, 84, 85, 87, 84, 80, 80, 83, 85, 85, 84, 80, 77, 74, 75, 75,
+  73, 69, 66, 60, 71, 75, 72, 69, 74, 85, 93, 104, 90, 82, 89, 96,
+  100, 107, 116, 117, 116, 109, 99, 92, 87, 79, 71, 69, 56, 52, 57, 54,
+  42, 40, 48, 42, 26, 40, 35, 122, 122, 122, 255, 255, 255, 255, 255, 255,
+  255, 100, 104, 99, 100, 108, 107, 125, 118, 83, 102, 88, 94, 107, 96, 99,
+  93, 82, 86, 102, 104, 95, 109, 105, 102, 100, 102, 104, 105, 105, 106, 102,
+  98, 97, 93, 89, 90, 94, 85, 90, 94, 94, 96, 100, 99, 95, 91, 90,
+  89, 90, 92, 94, 93, 92, 97, 97, 97, 97, 98, 96, 91, 88, 86, 85,
+  85, 86, 88, 87, 82, 77, 81, 86, 88, 87, 88, 90, 85, 78, 81, 80,
+  82, 84, 80, 72, 69, 70, 71, 69, 75, 74, 60, 61, 79, 92, 95, 100,
+  94, 82, 84, 99, 105, 98, 123, 119, 118, 118, 116, 103, 81, 64, 66, 64,
+  56, 47, 46, 48, 45, 38, 40, 60, 35, 38, 105, 129, 115, 172, 255, 255,
+  255, 255, 255, 94, 99, 102, 100, 100, 104, 106, 104, 101, 91, 118, 106, 107,
+  113, 100, 91, 86, 94, 105, 113, 114, 116, 114, 113, 110, 111, 112, 113, 112,
+  110, 109, 104, 101, 102, 99, 94, 94, 97, 91, 96, 101, 102, 104, 109, 108,
+  105, 98, 96, 95, 96, 99, 100, 99, 98, 101, 100, 99, 99, 99, 98, 93,
+  90, 92, 89, 87, 86, 87, 87, 84, 82, 78, 82, 82, 82, 85, 91, 90,
+  85, 79, 79, 80, 83, 80, 73, 70, 73, 77, 69, 71, 71, 60, 63, 77,
+  83, 90, 97, 96, 88, 85, 94, 100, 100, 109, 117, 125, 125, 115, 101, 91,
+  86, 63, 64, 60, 52, 49, 49, 45, 39, 39, 54, 36, 42, 98, 124, 119,
+  129, 255, 255, 255, 255, 204, 102, 104, 105, 106, 105, 103, 103, 86, 88, 102,
+  129, 122, 120, 115, 103, 85, 86, 112, 128, 124, 123, 134, 111, 111, 110, 112,
+  112, 112, 110, 107, 109, 105, 104, 106, 104, 100, 99, 101, 98, 104, 108, 108,
+  111, 115, 113, 110, 103, 101, 101, 102, 104, 105, 105, 103, 105, 103, 102, 101,
+  101, 100, 97, 95, 97, 94, 90, 88, 88, 88, 87, 87, 88, 89, 86, 83,
+  83, 87, 86, 82, 78, 77, 80, 83, 80, 74, 72, 75, 83, 71, 68, 68,
+  59, 61, 70, 73, 86, 93, 98, 97, 91, 89, 93, 98, 97, 95, 96, 101,
+  104, 98, 84, 71, 63, 66, 64, 57, 51, 47, 44, 40, 36, 42, 36, 44,
+  84, 115, 122, 125, 255, 255, 255, 255, 106, 109, 104, 102, 106, 105, 99, 97,
+  88, 98, 113, 122, 124, 125, 114, 97, 90, 101, 127, 138, 130, 126, 135, 120,
+  119, 118, 118, 119, 120, 118, 115, 111, 105, 103, 105, 106, 103, 103, 105, 104,
+  108, 111, 110, 109, 111, 109, 104, 104, 103, 102, 103, 104, 106, 105, 104, 108,
+  106, 103, 103, 102, 102, 100, 98, 98, 95, 94, 92, 90, 89, 88, 87, 94,
+  94, 91, 85, 85, 87, 85, 80, 80, 80, 81, 83, 80, 74, 73, 76, 85,
+  73, 70, 69, 57, 57, 65, 68, 83, 89, 99, 106, 101, 91, 87, 90, 107,
+  103, 102, 107, 111, 107, 94, 83, 72, 73, 70, 61, 51, 44, 42, 42, 34,
+  33, 35, 45, 69, 103, 123, 120, 255, 255, 255, 255, 105, 105, 96, 92, 97,
+  98, 92, 90, 106, 121, 122, 111, 123, 127, 118, 82, 98, 119, 134, 136, 133,
+  129, 129, 120, 117, 114, 113, 114, 115, 115, 115, 116, 109, 105, 106, 109, 108,
+  109, 112, 104, 109, 110, 108, 109, 110, 107, 103, 107, 105, 104, 105, 106, 108,
+  107, 105, 110, 108, 105, 105, 105, 104, 103, 101, 95, 96, 97, 96, 93, 90,
+  87, 85, 85, 87, 88, 86, 87, 90, 88, 84, 84, 82, 82, 84, 79, 73,
+  72, 75, 83, 76, 77, 74, 58, 54, 63, 67, 82, 87, 98, 110, 111, 100,
+  88, 84, 77, 92, 104, 101, 87, 79, 85, 94, 85, 82, 75, 64, 53, 44,
+  44, 47, 39, 33, 37, 44, 61, 97, 123, 119, 255, 255, 255, 203, 103, 101,
+  92, 89, 95, 97, 94, 91, 123, 131, 126, 113, 130, 126, 120, 74, 105, 131,
+  135, 133, 136, 135, 129, 121, 116, 112, 110, 110, 112, 113, 114, 122, 114, 109,
+  111, 114, 114, 114, 116, 102, 107, 109, 110, 111, 115, 113, 109, 111, 110, 109,
+  109, 111, 111, 110, 109, 110, 109, 107, 106, 106, 106, 103, 101, 96, 97, 99,
+  99, 95, 90, 86, 85, 85, 87, 87, 85, 85, 87, 84, 78, 86, 84, 84,
+  84, 79, 73, 72, 76, 81, 76, 80, 79, 64, 59, 66, 69, 79, 86, 98,
+  109, 113, 109, 99, 90, 86, 95, 104, 103, 95, 91, 96, 103, 89, 81, 72,
+  64, 55, 48, 48, 52, 48, 41, 40, 42, 59, 95, 121, 121, 255, 255, 255,
+  96, 95, 93, 92, 93, 97, 100, 101, 102, 127, 117, 124, 128, 140, 114, 110,
+  86, 112, 134, 136, 134, 138, 138, 134, 130, 128, 124, 123, 124, 124, 123, 122,
+  121, 114, 112, 116, 120, 118, 113, 112, 104, 109, 113, 113, 114, 117, 117, 113,
+  116, 115, 112, 114, 115, 116, 113, 114, 112, 110, 110, 110, 110, 109, 105, 102,
+  100, 101, 102, 99, 94, 91, 89, 90, 93, 93, 89, 84, 83, 85, 83, 78,
+  85, 83, 83, 84, 80, 74, 74, 78, 83, 76, 80, 83, 73, 69, 71, 70,
+  73, 87, 98, 103, 108, 115, 114, 108, 100, 92, 85, 84, 87, 85, 78, 69,
+  75, 66, 59, 57, 54, 49, 49, 53, 54, 49, 38, 35, 57, 91, 114, 120,
+  164, 255, 99, 86, 83, 82, 87, 93, 96, 99, 102, 115, 125, 99, 118, 140,
+  145, 99, 94, 104, 119, 134, 139, 137, 138, 138, 138, 117, 116, 114, 115, 116,
+  114, 112, 108, 116, 111, 111, 118, 121, 117, 110, 106, 109, 113, 116, 115, 114,
+  117, 115, 111, 118, 117, 115, 116, 117, 117, 115, 114, 112, 111, 112, 113, 114,
+  111, 107, 102, 104, 105, 103, 98, 93, 91, 92, 94, 92, 92, 88, 83, 86,
+  92, 94, 92, 83, 81, 81, 83, 80, 76, 76, 80, 85, 75, 78, 84, 79,
+  77, 75, 70, 67, 87, 99, 98, 101, 117, 126, 125, 124, 120, 112, 101, 89,
+  78, 71, 68, 57, 49, 45, 50, 51, 49, 46, 49, 56, 52, 33, 28, 53,
+  87, 107, 117, 121, 255, 96, 94, 94, 94, 93, 92, 94, 103, 111, 113, 96,
+  110, 129, 132, 125, 111, 79, 112, 132, 131, 129, 125, 127, 139, 131, 110, 120,
+  122, 114, 111, 114, 111, 102, 104, 101, 102, 109, 121, 124, 110, 92, 112, 107,
+  106, 112, 115, 114, 114, 117, 122, 122, 119, 121, 125, 127, 129, 129, 118, 117,
+  118, 118, 118, 116, 112, 109, 104, 105, 104, 103, 101, 98, 94, 92, 99, 89,
+  77, 70, 66, 70, 82, 95, 86, 81, 77, 77, 79, 79, 73, 68, 80, 87,
+  92, 90, 82, 76, 74, 77, 66, 79, 91, 99, 104, 111, 120, 126, 141, 140,
+  126, 105, 91, 84, 72, 58, 56, 55, 53, 49, 44, 43, 44, 46, 46, 45,
+  58, 36, 35, 89, 118, 114, 116, 97, 86, 101, 102, 106, 109, 106, 101, 100,
+  102, 84, 91, 107, 141, 120, 126, 110, 101, 107, 130, 136, 143, 139, 130, 134,
+  122, 128, 134, 130, 119, 115, 121, 123, 119, 110, 109, 104, 104, 109, 116, 115,
+  109, 113, 109, 109, 115, 119, 119, 119, 123, 126, 128, 132, 136, 139, 138, 134,
+  130, 121, 118, 115, 113, 112, 110, 108, 105, 105, 106, 106, 105, 101, 98, 94,
+  92, 100, 92, 84, 78, 73, 73, 81, 90, 85, 80, 76, 76, 78, 79, 78,
+  75, 76, 85, 91, 89, 81, 77, 81, 88, 79, 80, 89, 104, 105, 100, 104,
+  117, 112, 113, 109, 100, 91, 84, 75, 67, 65, 61, 55, 51, 50, 49, 46,
+  44, 35, 39, 56, 39, 42, 94, 123, 122, 121, 107, 102, 99, 99, 105, 111,
+  110, 103, 98, 99, 82, 102, 110, 151, 113, 123, 97, 98, 116, 129, 127, 134,
+  131, 123, 131, 127, 124, 129, 126, 116, 111, 116, 117, 114, 119, 120, 117, 109,
+  105, 108, 112, 114, 113, 109, 110, 116, 122, 122, 124, 126, 132, 134, 137, 141,
+  142, 139, 134, 130, 129, 125, 119, 114, 112, 111, 109, 107, 111, 111, 111, 109,
+  107, 103, 99, 97, 99, 94, 90, 87, 82, 79, 82, 88, 86, 83, 80, 77,
+  75, 76, 77, 78, 77, 85, 90, 87, 80, 79, 84, 94, 81, 75, 86, 110,
+  114, 101, 101, 117, 106, 105, 107, 106, 97, 84, 75, 72, 75, 67, 58, 54,
+  55, 53, 47, 40, 33, 41, 57, 43, 50, 98, 121, 120, 119, 98, 95, 107,
+  102, 103, 108, 106, 100, 97, 101, 102, 117, 119, 149, 121, 119, 87, 82, 121,
+  129, 123, 129, 126, 117, 129, 129, 123, 130, 132, 128, 124, 122, 118, 112, 112,
+  119, 121, 118, 112, 113, 112, 111, 108, 105, 106, 115, 120, 123, 124, 128, 131,
+  130, 128, 128, 128, 129, 126, 125, 129, 127, 122, 120, 117, 116, 113, 111, 114,
+  113, 112, 110, 108, 104, 100, 99, 99, 96, 94, 93, 88, 84, 85, 90, 87,
+  87, 84, 79, 74, 72, 71, 73, 81, 85, 87, 86, 83, 81, 82, 86, 83,
+  80, 91, 115, 123, 112, 106, 112, 117, 113, 114, 115, 106, 89, 81, 84, 81,
+  75, 66, 60, 57, 52, 45, 39, 36, 41, 50, 41, 60, 108, 124, 122, 118,
+  100, 102, 119, 112, 112, 117, 112, 102, 98, 103, 110, 124, 134, 142, 129, 109,
+  89, 87, 115, 129, 129, 139, 134, 120, 121, 110, 120, 126, 129, 128, 123, 121,
+  116, 112, 103, 110, 115, 117, 119, 122, 119, 115, 107, 105, 107, 116, 122, 125,
+  127, 130, 126, 125, 124, 127, 129, 131, 130, 129, 126, 126, 124, 125, 124, 123,
+  119, 116, 116, 115, 113, 110, 106, 103, 101, 99, 106, 102, 98, 96, 91, 85,
+  86, 91, 85, 85, 84, 80, 75, 72, 70, 71, 82, 82, 82, 85, 87, 86,
+  80, 76, 88, 93, 103, 117, 124, 120, 106, 95, 113, 107, 106, 110, 105, 93,
+  88, 94, 83, 81, 76, 68, 59, 51, 46, 44, 40, 40, 40, 34, 69, 120,
+  130, 130, 125, 111, 118, 106, 104, 112, 123, 119, 107, 104, 113, 114, 137, 151,
+  139, 121, 89, 84, 98, 113, 128, 124, 125, 119, 112, 115, 100, 118, 119, 118,
+  116, 113, 112, 113, 114, 115, 117, 114, 112, 115, 119, 117, 111, 111, 109, 111,
+  120, 127, 129, 132, 136, 129, 133, 140, 148, 153, 152, 148, 143, 129, 129, 131,
+  134, 136, 136, 133, 130, 125, 124, 122, 119, 114, 111, 109, 108, 114, 109, 104,
+  100, 93, 86, 85, 89, 83, 82, 80, 78, 76, 76, 75, 76, 79, 80, 81,
+  85, 88, 87, 79, 75, 84, 90, 98, 110, 122, 125, 111, 96, 104, 97, 92,
+  91, 88, 83, 79, 80, 78, 79, 76, 69, 60, 53, 51, 50, 54, 51, 42,
+  34, 72, 119, 123, 125, 127, 100, 108, 97, 96, 106, 117, 112, 101, 104, 120,
+  122, 148, 145, 137, 107, 86, 73, 98, 107, 124, 114, 106, 106, 113, 123, 105,
+  121, 122, 122, 122, 120, 119, 120, 122, 124, 124, 121, 116, 114, 116, 113, 108,
+  115, 113, 114, 123, 130, 132, 135, 139, 137, 141, 148, 154, 158, 157, 151, 145,
+  134, 134, 134, 136, 139, 141, 140, 139, 134, 133, 130, 127, 123, 121, 118, 117,
+  114, 111, 108, 106, 100, 92, 90, 93, 91, 85, 78, 75, 76, 79, 81, 83,
+  83, 85, 87, 87, 84, 81, 78, 79, 85, 81, 85, 105, 122, 125, 117, 111,
+  98, 93, 84, 76, 75, 73, 65, 57, 65, 65, 63, 61, 58, 56, 53, 50,
+  57, 58, 50, 39, 75, 115, 117, 125, 125, 109, 121, 115, 108, 110, 112, 100,
+  88, 97, 118, 125, 147, 121, 130, 99, 100, 73, 98, 89, 118, 119, 117, 121,
+  131, 134, 108, 105, 109, 114, 119, 118, 113, 109, 109, 110, 117, 122, 121, 120,
+  121, 118, 114, 116, 113, 115, 123, 130, 133, 135, 140, 139, 138, 137, 137, 137,
+  136, 133, 130, 130, 128, 127, 127, 131, 134, 136, 136, 134, 132, 129, 125, 122,
+  119, 116, 116, 108, 107, 108, 110, 107, 100, 97, 100, 102, 92, 79, 73, 75,
+  81, 83, 85, 88, 93, 96, 89, 79, 72, 74, 81, 102, 82, 80, 104, 122,
+  117, 111, 117, 91, 89, 80, 70, 72, 76, 67, 52, 53, 50, 47, 50, 54,
+  56, 52, 46, 41, 51, 49, 41, 78, 119, 124, 140, 125, 111, 104, 93, 111,
+  114, 111, 109, 94, 95, 126, 135, 137, 125, 134, 104, 93, 75, 83, 104, 108,
+  115, 121, 122, 118, 111, 107, 114, 111, 110, 114, 116, 114, 115, 119, 109, 113,
+  117, 118, 118, 117, 117, 118, 118, 118, 119, 124, 129, 133, 133, 134, 144, 139,
+  135, 135, 137, 137, 133, 128, 125, 123, 122, 125, 131, 135, 136, 136, 136, 135,
+  132, 127, 123, 120, 114, 109, 114, 113, 111, 107, 102, 100, 100, 101, 99, 88,
+  79, 73, 69, 78, 86, 79, 92, 97, 97, 90, 82, 81, 80, 80, 81, 96,
+  76, 109, 107, 114, 118, 109, 95, 81, 78, 67, 71, 79, 63, 59, 51, 52,
+  51, 48, 46, 46, 48, 50, 52, 47, 49, 44, 72, 120, 130, 130, 126, 111,
+  102, 91, 97, 90, 87, 95, 94, 102, 129, 122, 129, 125, 120, 94, 82, 77,
+  86, 108, 110, 114, 116, 116, 112, 107, 104, 110, 108, 110, 115, 117, 114, 112,
+  115, 114, 117, 120, 121, 121, 119, 119, 120, 113, 113, 114, 118, 124, 129, 131,
+  132, 140, 137, 133, 132, 132, 130, 122, 115, 124, 124, 126, 130, 136, 139, 138,
+  136, 134, 134, 131, 126, 121, 115, 108, 103, 113, 115, 115, 113, 107, 103, 100,
+  99, 107, 94, 86, 79, 75, 84, 92, 84, 87, 93, 93, 86, 79, 78, 77,
+  78, 104, 109, 89, 101, 96, 109, 105, 96, 109, 97, 92, 74, 69, 73, 56,
+  52, 55, 55, 54, 51, 47, 45, 45, 45, 52, 49, 51, 45, 70, 116, 129,
+  131, 130, 112, 104, 95, 90, 76, 75, 91, 101, 109, 124, 112, 121, 125, 103,
+  85, 73, 83, 91, 106, 106, 109, 110, 110, 109, 106, 105, 107, 106, 110, 116,
+  116, 112, 110, 111, 113, 117, 118, 119, 117, 116, 115, 116, 113, 112, 111, 114,
+  119, 124, 128, 129, 133, 131, 131, 132, 132, 129, 121, 115, 113, 115, 119, 125,
+  129, 130, 128, 126, 133, 132, 131, 129, 124, 117, 111, 108, 114, 117, 119, 119,
+  115, 108, 102, 101, 112, 99, 91, 84, 80, 89, 95, 87, 82, 88, 89, 82,
+  76, 76, 75, 76, 100, 102, 99, 93, 91, 113, 98, 91, 101, 93, 95, 78,
+  70, 72, 58, 59, 57, 57, 55, 52, 48, 45, 41, 40, 49, 49, 53, 44,
+  65, 110, 124, 129, 130, 108, 102, 102, 97, 89, 89, 100, 110, 111, 112, 104,
+  111, 116, 82, 76, 65, 85, 87, 96, 98, 103, 108, 111, 112, 111, 111, 109,
+  107, 109, 114, 114, 111, 110, 113, 110, 113, 114, 114, 112, 110, 109, 110, 116,
+  114, 111, 113, 116, 122, 125, 126, 131, 130, 127, 128, 127, 124, 119, 115, 119,
+  121, 123, 126, 127, 129, 126, 126, 121, 122, 124, 127, 125, 119, 116, 116, 114,
+  117, 120, 120, 117, 112, 107, 107, 111, 98, 89, 82, 78, 88, 93, 84, 82,
+  87, 88, 82, 76, 76, 77, 78, 82, 89, 108, 91, 91, 113, 92, 87, 79,
+  80, 92, 82, 75, 75, 59, 59, 52, 52, 51, 50, 48, 45, 41, 38, 44,
+  45, 50, 39, 57, 100, 116, 124, 123, 101, 98, 106, 105, 105, 101, 101, 110,
+  111, 103, 100, 99, 97, 66, 67, 63, 81, 80, 88, 93, 101, 109, 114, 116,
+  114, 113, 114, 110, 109, 111, 112, 110, 111, 116, 112, 114, 114, 114, 110, 110,
+  109, 110, 113, 110, 107, 109, 113, 121, 125, 128, 132, 130, 124, 121, 116, 114,
+  109, 108, 114, 115, 115, 115, 114, 115, 114, 116, 109, 110, 114, 120, 117, 111,
+  111, 115, 114, 116, 118, 117, 115, 113, 113, 115, 110, 96, 84, 78, 76, 87,
+  91, 81, 84, 89, 90, 84, 79, 79, 80, 80, 82, 93, 118, 92, 88, 100,
+  86, 84, 71, 75, 93, 87, 80, 75, 51, 46, 45, 45, 44, 45, 47, 46,
+  43, 40, 38, 40, 45, 33, 49, 92, 109, 117, 116, 203, 103, 104, 105, 109,
+  100, 91, 102, 110, 99, 101, 94, 83, 66, 67, 70, 81, 82, 91, 96, 103,
+  111, 114, 114, 111, 110, 116, 111, 108, 109, 110, 109, 112, 118, 116, 117, 117,
+  116, 114, 113, 114, 115, 106, 104, 102, 106, 113, 120, 126, 129, 127, 125, 121,
+  118, 117, 117, 118, 120, 110, 110, 109, 107, 105, 104, 106, 109, 113, 112, 114,
+  119, 113, 105, 105, 112, 114, 115, 114, 113, 110, 111, 114, 117, 109, 94, 83,
+  77, 77, 88, 93, 82, 85, 91, 92, 86, 80, 80, 81, 81, 87, 96, 112,
+  87, 85, 88, 93, 95, 69, 71, 87, 86, 85, 82, 55, 44, 42, 41, 39,
+  41, 45, 46, 44, 40, 36, 37, 41, 29, 46, 89, 106, 114, 114, 255, 110,
+  99, 102, 110, 101, 86, 100, 108, 91, 95, 87, 71, 71, 65, 74, 79, 89,
+  96, 99, 103, 108, 110, 110, 109, 108, 114, 110, 108, 110, 109, 108, 109, 115,
+  114, 115, 114, 113, 111, 111, 112, 114, 107, 105, 104, 107, 113, 120, 125, 128,
+  125, 125, 125, 124, 123, 123, 124, 125, 117, 119, 121, 121, 119, 117, 119, 121,
+  121, 117, 118, 120, 113, 103, 103, 112, 114, 114, 113, 111, 108, 107, 109, 112,
+  108, 93, 82, 78, 78, 90, 94, 83, 85, 91, 91, 85, 78, 78, 78, 79,
+  83, 90, 94, 83, 92, 82, 102, 97, 71, 65, 75, 74, 82, 87, 63, 52,
+  47, 44, 40, 40, 43, 44, 41, 38, 39, 38, 40, 29, 48, 92, 108, 115,
+  114, 255, 106, 96, 101, 114, 107, 92, 103, 106, 81, 82, 75, 58, 70, 56,
+  69, 70, 89, 98, 99, 101, 104, 106, 108, 109, 110, 110, 108, 108, 112, 111,
+  108, 108, 111, 107, 108, 108, 107, 105, 105, 107, 109, 115, 113, 112, 113, 116,
+  121, 122, 123, 132, 133, 130, 127, 119, 114, 109, 108, 105, 110, 115, 117, 114,
+  113, 112, 114, 119, 114, 113, 115, 108, 97, 99, 111, 113, 113, 113, 110, 107,
+  104, 104, 105, 105, 90, 79, 75, 77, 90, 94, 83, 84, 89, 90, 83, 76,
+  75, 76, 74, 79, 86, 83, 84, 99, 76, 97, 80, 83, 69, 68, 63, 75,
+  85, 63, 51, 54, 48, 42, 40, 42, 42, 39, 36, 43, 40, 41, 30, 52,
+  97, 110, 117, 115, 255, 93, 88, 98, 103, 99, 90, 87, 86, 84, 60, 64,
+  68, 69, 69, 71, 76, 79, 83, 86, 93, 98, 100, 103, 105, 106, 106, 111,
+  115, 116, 112, 110, 111, 112, 107, 106, 106, 106, 106, 106, 106, 106, 109, 108,
+  107, 110, 115, 121, 125, 128, 130, 118, 111, 115, 109, 98, 96, 107, 109, 112,
+  113, 116, 117, 117, 115, 114, 116, 121, 122, 116, 111, 110, 110, 108, 108, 110,
+  113, 110, 105, 102, 104, 109, 101, 100, 81, 80, 73, 94, 88, 86, 84, 93,
+  95, 84, 75, 78, 83, 85, 82, 76, 72, 75, 75, 76, 81, 89, 85, 74,
+  77, 78, 63, 61, 62, 48, 53, 47, 43, 43, 45, 42, 36, 32, 28, 41,
+  58, 45, 54, 92, 108, 120, 110, 255, 255, 93, 99, 104, 101, 90, 79, 72,
+  71, 62, 63, 65, 66, 69, 74, 80, 83, 81, 85, 92, 97, 99, 101, 103,
+  105, 101, 102, 104, 108, 112, 115, 116, 115, 108, 107, 108, 108, 108, 107, 107,
+  106, 110, 108, 105, 105, 106, 109, 111, 112, 116, 109, 107, 111, 110, 105, 107,
+  114, 122, 123, 124, 125, 125, 124, 122, 121, 107, 113, 114, 110, 105, 105, 105,
+  102, 103, 106, 106, 104, 100, 99, 100, 102, 95, 95, 78, 80, 74, 95, 86,
+  82, 83, 92, 94, 87, 80, 79, 80, 78, 78, 77, 75, 75, 75, 78, 78,
+  79, 72, 66, 67, 70, 67, 72, 74, 68, 59, 52, 44, 43, 46, 46, 44,
+  41, 41, 46, 54, 40, 51, 87, 105, 117, 117, 255, 255, 94, 95, 101, 104,
+  93, 72, 59, 58, 64, 62, 62, 64, 70, 79, 85, 87, 81, 85, 91, 96,
+  99, 101, 102, 104, 100, 98, 98, 104, 113, 118, 117, 114, 112, 112, 113, 113,
+  113, 111, 108, 107, 110, 108, 105, 103, 101, 101, 103, 105, 108, 108, 109, 110,
+  112, 114, 116, 118, 113, 113, 114, 113, 112, 109, 107, 105, 105, 111, 112, 109,
+  107, 108, 107, 104, 102, 102, 102, 101, 100, 99, 99, 98, 89, 90, 75, 80,
+  76, 96, 85, 78, 83, 90, 93, 90, 85, 82, 76, 72, 74, 79, 77, 73,
+  74, 79, 74, 65, 80, 78, 68, 65, 72, 74, 69, 71, 57, 52, 45, 44,
+  46, 47, 43, 38, 39, 42, 53, 48, 64, 98, 106, 112, 120, 255, 255, 200,
+  87, 94, 105, 97, 72, 56, 55, 64, 61, 62, 67, 75, 84, 88, 88, 83,
+  87, 93, 98, 100, 102, 103, 105, 102, 103, 105, 111, 115, 117, 114, 110, 110,
+  110, 111, 112, 111, 109, 106, 105, 107, 107, 106, 104, 104, 106, 109, 112, 113,
+  117, 117, 113, 113, 116, 116, 113, 113, 114, 114, 114, 113, 112, 109, 109, 109,
+  114, 114, 111, 110, 111, 110, 106, 105, 103, 101, 100, 101, 100, 99, 96, 88,
+  91, 75, 81, 76, 97, 85, 79, 84, 86, 88, 89, 85, 81, 74, 70, 72,
+  80, 78, 69, 71, 78, 72, 58, 90, 92, 74, 65, 76, 72, 60, 66, 55,
+  53, 49, 47, 48, 47, 37, 29, 34, 32, 44, 46, 67, 101, 107, 116, 145,
+  255, 255, 255, 84, 91, 104, 99, 77, 61, 59, 64, 63, 66, 72, 81, 87,
+  87, 85, 83, 86, 91, 96, 98, 100, 101, 102, 98, 105, 113, 117, 116, 113,
+  109, 107, 105, 105, 105, 106, 104, 103, 101, 100, 102, 104, 105, 105, 105, 108,
+  113, 117, 118, 122, 120, 113, 111, 112, 111, 106, 116, 118, 118, 118, 118, 119,
+  118, 117, 114, 116, 115, 110, 109, 111, 109, 105, 106, 104, 102, 101, 101, 100,
+  97, 95, 92, 95, 79, 82, 75, 94, 86, 81, 84, 85, 84, 85, 81, 77,
+  73, 72, 76, 83, 80, 69, 70, 78, 75, 62, 74, 80, 66, 61, 76, 73,
+  63, 71, 61, 58, 50, 43, 43, 45, 38, 29, 38, 29, 34, 32, 51, 81,
+  94, 110, 221, 255, 255, 255, 255, 92, 101, 100, 85, 70, 65, 67, 68, 72,
+  78, 82, 86, 85, 83, 82, 85, 90, 94, 96, 98, 99, 100, 94, 103, 113,
+  117, 115, 111, 108, 107, 109, 108, 108, 108, 107, 107, 107, 107, 103, 105, 106,
+  105, 103, 104, 109, 114, 116, 115, 113, 111, 109, 108, 108, 109, 115, 116, 116,
+  118, 119, 121, 121, 121, 122, 121, 117, 112, 112, 116, 114, 111, 107, 107, 106,
+  103, 100, 97, 96, 95, 94, 99, 86, 85, 73, 91, 84, 83, 81, 81, 80,
+  81, 76, 72, 72, 76, 82, 86, 83, 75, 71, 74, 74, 68, 58, 61, 56,
+  54, 62, 64, 62, 67, 63, 58, 45, 34, 34, 44, 45, 39, 40, 34, 47,
+  47, 54, 66, 67, 82, 255, 255, 255, 255, 255, 94, 98, 100, 95, 84, 75,
+  72, 74, 78, 80, 80, 82, 83, 83, 84, 86, 92, 96, 98, 100, 100, 102,
+  100, 104, 109, 113, 114, 113, 111, 109, 114, 113, 111, 111, 111, 113, 115, 117,
+  111, 113, 113, 109, 105, 104, 109, 113, 114, 108, 107, 111, 113, 109, 111, 119,
+  127, 127, 127, 128, 129, 132, 132, 132, 125, 124, 118, 112, 114, 120, 120, 118,
+  112, 114, 113, 109, 102, 97, 97, 97, 93, 103, 94, 92, 74, 87, 79, 79,
+  75, 77, 79, 81, 74, 68, 70, 78, 83, 85, 84, 79, 70, 64, 65, 66,
+  57, 52, 52, 50, 42, 47, 56, 56, 59, 57, 48, 39, 43, 57, 60, 53,
+  44, 43, 60, 59, 55, 55, 55, 73, 255, 255, 255, 255, 255, 202, 95, 100,
+  104, 96, 85, 77, 79, 81, 80, 77, 78, 81, 85, 89, 91, 97, 101, 103,
+  104, 106, 106, 113, 111, 108, 111, 115, 117, 114, 111, 113, 111, 109, 108, 109,
+  111, 115, 117, 120, 122, 121, 117, 112, 111, 115, 120, 117, 107, 105, 116, 117,
+  112, 116, 129, 127, 127, 127, 128, 129, 130, 130, 131, 120, 118, 111, 106, 108,
+  117, 120, 117, 117, 120, 121, 115, 106, 100, 100, 103, 89, 104, 98, 97, 76,
+  83, 74, 75, 70, 74, 79, 82, 74, 67, 70, 78, 80, 81, 82, 79, 67,
+  55, 54, 59, 57, 47, 49, 47, 32, 39, 57, 54, 55, 60, 59, 58, 67,
+  79, 77, 67, 56, 46, 51, 39, 31, 41, 59, 95, 255, 255, 255, 255, 255,
+  255, 202, 99, 102, 94, 83, 85, 70, 80, 78, 78, 89, 82, 80, 88, 89,
+  93, 97, 102, 108, 111, 114, 113, 112, 111, 111, 111, 112, 113, 112, 105, 110,
+  112, 110, 111, 116, 120, 121, 119, 122, 124, 120, 113, 111, 115, 121, 115, 105,
+  105, 115, 117, 112, 118, 133, 133, 134, 131, 130, 134, 139, 133, 125, 125, 120,
+  115, 116, 115, 114, 115, 121, 115, 117, 118, 113, 105, 97, 96, 99, 92, 105,
+  103, 106, 81, 68, 76, 69, 85, 67, 80, 76, 75, 78, 62, 79, 85, 85,
+  84, 78, 67, 60, 57, 58, 46, 43, 45, 43, 37, 43, 49, 40, 48, 53,
+  64, 79, 88, 85, 72, 61, 48, 54, 46, 34, 37, 49, 73, 101, 255, 255,
+  255, 255, 255, 255, 255, 96, 97, 90, 81, 86, 76, 82, 78, 85, 94, 81,
+  83, 92, 93, 96, 101, 105, 109, 111, 112, 107, 107, 107, 109, 113, 116, 117,
+  117, 115, 117, 117, 116, 119, 124, 123, 118, 112, 114, 113, 110, 106, 107, 112,
+  117, 114, 104, 105, 117, 122, 116, 119, 132, 134, 131, 129, 129, 129, 131, 132,
+  132, 126, 121, 118, 119, 118, 116, 118, 122, 124, 108, 101, 109, 109, 97, 89,
+  90, 103, 65, 109, 105, 76, 86, 72, 79, 82, 71, 76, 78, 75, 71, 63,
+  74, 83, 81, 78, 79, 78, 68, 52, 40, 21, 25, 35, 38, 37, 46, 53,
+  49, 66, 71, 80, 88, 86, 79, 73, 70, 62, 59, 44, 35, 45, 62, 85,
+  111, 255, 255, 255, 255, 255, 255, 255, 255, 102, 97, 91, 88, 85, 82, 73,
+  88, 93, 73, 82, 93, 94, 98, 102, 106, 108, 108, 109, 112, 110, 110, 113,
+  118, 122, 123, 123, 121, 121, 120, 119, 122, 125, 121, 113, 112, 109, 105, 104,
+  105, 108, 114, 118, 112, 102, 103, 117, 126, 122, 120, 126, 132, 129, 128, 130,
+  124, 119, 125, 136, 132, 127, 126, 126, 125, 121, 122, 125, 116, 110, 106, 102,
+  96, 91, 89, 91, 105, 68, 96, 83, 81, 95, 69, 71, 76, 75, 70, 79,
+  76, 64, 68, 69, 86, 81, 74, 67, 59, 47, 30, 19, 28, 37, 46, 51,
+  53, 62, 67, 67, 85, 86, 90, 90, 79, 70, 72, 81, 75, 68, 45, 34,
+  48, 69, 92, 114, 255, 255, 255, 255, 255, 255, 255, 255, 209, 114, 113, 97,
+  97, 84, 67, 85, 86, 60, 77, 94, 95, 98, 101, 103, 104, 104, 103, 117,
+  115, 113, 114, 118, 121, 121, 119, 115, 118, 119, 117, 118, 118, 114, 107, 115,
+  108, 101, 99, 103, 109, 114, 115, 109, 99, 100, 116, 127, 124, 119, 118, 126,
+  124, 128, 133, 123, 107, 109, 123, 127, 124, 122, 125, 123, 118, 118, 120, 103,
+  113, 114, 102, 95, 96, 91, 80, 65, 86, 80, 74, 96, 79, 78, 66, 66,
+  75, 64, 81, 81, 64, 79, 72, 78, 76, 64, 44, 25, 18, 24, 34, 51,
+  58, 58, 59, 70, 79, 83, 85, 89, 84, 83, 81, 72, 64, 71, 87, 87,
+  83, 61, 44, 48, 63, 87, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  122, 123, 112, 111, 94, 71, 83, 81, 57, 76, 97, 97, 99, 100, 102, 102,
+  102, 101, 110, 106, 103, 104, 107, 109, 107, 105, 104, 113, 119, 117, 113, 112,
+  112, 111, 113, 106, 97, 94, 98, 103, 107, 108, 108, 98, 99, 112, 124, 122,
+  115, 110, 112, 113, 122, 129, 116, 92, 86, 97, 97, 94, 95, 99, 101, 99,
+  101, 104, 131, 123, 116, 110, 103, 93, 89, 90, 94, 74, 84, 90, 90, 69,
+  95, 77, 61, 72, 62, 80, 84, 71, 84, 73, 55, 51, 39, 26, 20, 28,
+  50, 67, 66, 69, 56, 52, 71, 83, 83, 89, 85, 71, 67, 74, 71, 64,
+  72, 91, 94, 97, 81, 56, 47, 52, 78, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 207, 114, 121, 117, 107, 84, 84, 81, 62, 78, 99, 98, 98,
+  99, 100, 101, 102, 101, 103, 97, 93, 92, 96, 98, 95, 90, 90, 103, 114,
+  113, 109, 110, 114, 118, 116, 108, 101, 97, 100, 103, 105, 107, 109, 101, 100,
+  110, 118, 118, 111, 107, 101, 104, 112, 115, 103, 83, 70, 69, 62, 61, 62,
+  69, 73, 76, 80, 86, 83, 69, 75, 97, 100, 110, 171, 248, 237, 71, 92,
+  91, 70, 82, 104, 78, 67, 70, 65, 75, 80, 75, 74, 63, 38, 27, 19,
+  22, 38, 55, 64, 67, 87, 91, 71, 61, 78, 83, 76, 84, 83, 65, 62,
+  76, 79, 70, 75, 92, 95, 99, 83, 57, 45, 47, 70, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 101, 110, 105, 109, 93, 81, 78, 66, 75,
+  96, 95, 94, 94, 93, 95, 98, 98, 99, 92, 85, 84, 86, 85, 80, 74,
+  74, 86, 96, 99, 101, 107, 113, 115, 114, 110, 104, 100, 101, 105, 108, 110,
+  114, 107, 104, 109, 114, 113, 108, 105, 100, 101, 102, 99, 91, 80, 67, 59,
+  60, 58, 59, 65, 67, 70, 75, 82, 100, 92, 93, 95, 82, 89, 150, 226,
+  246, 90, 98, 81, 76, 88, 108, 87, 81, 70, 70, 68, 72, 72, 51, 41,
+  30, 26, 26, 40, 59, 68, 64, 55, 86, 102, 89, 77, 91, 87, 76, 87,
+  84, 68, 68, 88, 89, 73, 72, 89, 98, 95, 74, 53, 51, 60, 79, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 95, 93, 89, 104, 94, 76,
+  73, 66, 69, 93, 91, 89, 87, 87, 91, 92, 95, 96, 88, 79, 74, 74,
+  70, 63, 56, 62, 70, 77, 84, 92, 102, 108, 108, 109, 106, 102, 99, 98,
+  100, 104, 107, 118, 112, 107, 108, 111, 110, 107, 105, 106, 103, 97, 89, 85,
+  83, 72, 59, 83, 79, 76, 79, 80, 80, 84, 89, 94, 97, 96, 92, 96,
+  104, 103, 95, 82, 89, 106, 88, 106, 76, 113, 116, 94, 73, 77, 63, 64,
+  66, 30, 20, 25, 32, 46, 60, 71, 73, 69, 65, 52, 84, 84, 80, 95,
+  91, 81, 98, 86, 73, 78, 99, 95, 72, 68, 86, 111, 99, 71, 55, 66,
+  81, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 202, 101, 100,
+  93, 111, 52, 53, 76, 47, 71, 105, 88, 82, 78, 90, 73, 93, 82, 87,
+  85, 72, 70, 76, 75, 66, 74, 58, 62, 86, 83, 72, 93, 95, 109, 85,
+  109, 90, 93, 98, 114, 101, 105, 112, 108, 103, 106, 101, 93, 96, 91, 82,
+  74, 75, 73, 68, 60, 59, 53, 71, 51, 60, 77, 89, 86, 37, 53, 62,
+  88, 101, 79, 105, 89, 90, 82, 86, 92, 101, 111, 111, 95, 78, 53, 80,
+  50, 39, 43, 56, 26, 29, 45, 55, 67, 72, 75, 72, 64, 53, 62, 53,
+  67, 82, 96, 100, 75, 67, 59, 67, 83, 95, 87, 73, 73, 84, 99, 99,
+  67, 42, 83, 89, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 98, 96, 94, 64, 35, 30, 59, 95, 59, 78, 69, 79, 84, 94, 70,
+  70, 69, 78, 85, 87, 88, 89, 84, 77, 68, 86, 86, 97, 79, 88, 79,
+  92, 23, 77, 75, 99, 93, 87, 104, 116, 115, 125, 118, 104, 97, 87, 73,
+  70, 79, 76, 75, 75, 71, 62, 57, 57, 72, 52, 75, 87, 77, 86, 88,
+  231, 241, 45, 56, 68, 82, 95, 76, 94, 87, 81, 82, 92, 98, 99, 101,
+  107, 95, 102, 67, 28, 41, 50, 50, 57, 59, 63, 65, 66, 69, 73, 70,
+  64, 58, 54, 73, 79, 83, 83, 65, 68, 72, 82, 90, 92, 85, 77, 74,
+  75, 97, 95, 51, 42, 87, 99, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 91, 90, 92, 42, 74, 70, 49, 76, 51, 58, 59, 78,
+  83, 95, 82, 79, 86, 79, 74, 71, 67, 62, 63, 66, 69, 76, 69, 93,
+  108, 167, 125, 132, 243, 222, 35, 43, 73, 103, 102, 91, 108, 123, 119, 103,
+  101, 98, 86, 81, 70, 69, 68, 67, 61, 54, 53, 60, 60, 78, 104, 53,
+  51, 49, 134, 73, 52, 74, 69, 49, 68, 54, 78, 84, 99, 86, 82, 88,
+  84, 77, 87, 107, 64, 74, 63, 24, 51, 52, 66, 67, 69, 68, 65, 64,
+  69, 74, 71, 65, 56, 60, 81, 80, 70, 68, 60, 75, 68, 75, 81, 81,
+  80, 80, 76, 70, 98, 95, 39, 49, 97, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 100, 89, 57, 17, 69, 93, 66, 59, 50,
+  58, 76, 93, 87, 88, 89, 87, 83, 70, 60, 62, 55, 44, 44, 53, 71,
+  52, 70, 87, 76, 124, 106, 137, 151, 177, 56, 73, 68, 85, 101, 117, 106,
+  124, 121, 108, 107, 102, 80, 63, 71, 65, 59, 57, 55, 53, 57, 65, 83,
+  101, 88, 52, 67, 64, 201, 19, 51, 73, 126, 104, 35, 62, 56, 68, 92,
+  88, 86, 86, 80, 73, 76, 87, 46, 70, 79, 60, 75, 76, 77, 71, 64,
+  64, 65, 67, 73, 75, 64, 52, 63, 67, 86, 79, 66, 63, 62, 81, 67,
+  68, 72, 81, 85, 82, 74, 67, 99, 100, 44, 68, 109, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 103, 104, 78, 94, 85, 74,
+  59, 43, 82, 87, 104, 106, 95, 81, 74, 60, 44, 45, 61, 83, 84, 64,
+  48, 48, 99, 17, 45, 73, 61, 76, 72, 86, 102, 104, 65, 69, 48, 65,
+  78, 81, 83, 113, 120, 103, 91, 85, 83, 87, 76, 68, 63, 66, 70, 69,
+  68, 70, 108, 118, 121, 80, 33, 58, 71, 49, 67, 45, 64, 76, 51, 77,
+  64, 78, 76, 84, 85, 81, 83, 91, 90, 84, 74, 101, 100, 89, 71, 79,
+  69, 66, 63, 64, 65, 68, 73, 73, 60, 47, 63, 62, 76, 71, 63, 63,
+  62, 79, 88, 79, 81, 94, 99, 87, 72, 68, 87, 96, 57, 87, 162, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 132, 95, 58,
+  102, 63, 46, 92, 130, 151, 137, 118, 88, 88, 76, 65, 46, 40, 47, 68,
+  90, 90, 66, 44, 37, 101, 0, 14, 68, 90, 98, 83, 64, 85, 77, 109,
+  93, 48, 56, 70, 75, 86, 89, 101, 144, 193, 180, 104, 40, 77, 73, 75,
+  84, 90, 86, 77, 72, 91, 76, 144, 103, 55, 83, 56, 77, 61, 114, 90,
+  78, 110, 72, 82, 66, 84, 92, 88, 80, 87, 105, 106, 92, 70, 102, 102,
+  100, 66, 78, 67, 66, 70, 69, 66, 65, 67, 68, 63, 54, 55, 48, 59,
+  59, 61, 68, 63, 74, 97, 89, 90, 100, 106, 97, 82, 73, 67, 78, 66,
+  95, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  71, 40, 45, 87, 75, 58, 99, 157, 168, 158, 121, 67, 78, 73, 72, 59,
+  73, 71, 76, 81, 77, 63, 52, 49, 64, 49, 56, 88, 82, 79, 67, 74,
+  99, 74, 87, 65, 30, 54, 71, 81, 84, 95, 96, 91, 83, 65, 59, 72,
+  74, 73, 77, 86, 88, 83, 77, 74, 112, 49, 90, 82, 83, 63, 87, 83,
+  113, 66, 112, 99, 92, 92, 89, 89, 98, 98, 93, 88, 93, 104, 106, 101,
+  70, 97, 114, 103, 78, 82, 85, 79, 72, 71, 67, 62, 62, 65, 64, 58,
+  49, 40, 51, 57, 67, 77, 71, 79, 98, 103, 99, 92, 97, 106, 94, 71,
+  55, 62, 73, 95, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 98, 85, 110, 81, 66, 43, 67, 132, 120, 140, 123, 69, 85,
+  76, 72, 66, 84, 84, 84, 86, 87, 85, 84, 85, 63, 112, 84, 98, 90,
+  100, 72, 87, 89, 87, 85, 82, 55, 79, 88, 99, 106, 102, 93, 89, 87,
+  73, 72, 90, 70, 69, 69, 72, 70, 68, 71, 77, 62, 95, 92, 64, 88,
+  111, 89, 108, 89, 132, 100, 103, 93, 90, 94, 105, 97, 94, 93, 97, 100,
+  101, 103, 107, 90, 102, 119, 82, 63, 55, 79, 71, 64, 68, 68, 64, 63,
+  63, 60, 55, 48, 40, 53, 61, 74, 88, 81, 88, 110, 126, 117, 87, 88,
+  108, 97, 61, 56, 55, 78, 148, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 200, 103, 89, 83, 84, 32, 81, 146, 163, 119,
+  96, 77, 108, 87, 68, 81, 85, 87, 88, 86, 85, 86, 91, 95, 92, 91,
+  93, 99, 101, 96, 85, 76, 78, 83, 67, 71, 64, 79, 82, 104, 100, 100,
+  98, 89, 78, 70, 71, 76, 69, 80, 87, 78, 59, 50, 55, 65, 74, 74,
+  75, 77, 81, 89, 96, 100, 105, 107, 104, 96, 91, 94, 98, 99, 97, 106,
+  107, 90, 82, 105, 118, 104, 98, 103, 130, 97, 62, 74, 72, 69, 66, 70,
+  69, 64, 61, 58, 52, 47, 46, 43, 74, 58, 86, 77, 101, 79, 75, 121,
+  109, 91, 94, 101, 100, 63, 52, 67, 87, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 95, 86, 81, 76, 39, 71,
+  134, 189, 138, 114, 89, 104, 86, 76, 86, 84, 85, 87, 87, 88, 88, 90,
+  92, 100, 94, 85, 80, 78, 77, 74, 74, 75, 75, 74, 77, 74, 81, 87,
+  92, 96, 97, 97, 91, 81, 73, 69, 71, 60, 67, 73, 70, 64, 61, 64,
+  69, 67, 67, 68, 71, 77, 85, 92, 96, 88, 91, 90, 86, 85, 92, 99,
+  101, 97, 101, 102, 89, 82, 100, 113, 103, 74, 91, 119, 94, 68, 75, 66,
+  64, 66, 69, 68, 63, 60, 59, 55, 51, 41, 40, 72, 60, 86, 82, 105,
+  85, 79, 116, 104, 90, 94, 99, 97, 67, 48, 65, 143, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 86, 82, 80,
+  68, 53, 53, 109, 161, 116, 107, 94, 96, 90, 91, 97, 87, 86, 87, 88,
+  90, 91, 91, 89, 81, 81, 81, 79, 78, 76, 74, 73, 78, 70, 75, 80,
+  69, 78, 89, 83, 86, 87, 87, 85, 80, 71, 63, 57, 62, 65, 69, 73,
+  79, 83, 83, 82, 70, 70, 70, 72, 76, 82, 86, 90, 84, 88, 89, 87,
+  89, 99, 106, 108, 100, 99, 99, 91, 85, 96, 107, 100, 81, 101, 108, 79,
+  66, 71, 66, 75, 70, 71, 69, 61, 58, 57, 55, 51, 43, 44, 73, 64,
+  87, 85, 105, 88, 82, 104, 94, 87, 98, 101, 94, 71, 45, 67, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  197, 79, 80, 66, 69, 38, 73, 105, 76, 90, 96, 93, 98, 101, 102, 93,
+  89, 86, 87, 90, 91, 90, 87, 73, 77, 82, 86, 85, 85, 85, 86, 89,
+  78, 71, 81, 45, 73, 88, 86, 80, 81, 80, 78, 76, 71, 60, 50, 69,
+  71, 76, 84, 92, 98, 98, 97, 88, 86, 84, 83, 82, 83, 84, 86, 89,
+  95, 99, 100, 103, 109, 111, 110, 108, 102, 102, 97, 90, 96, 104, 99, 99,
+  120, 111, 81, 73, 73, 67, 78, 76, 75, 69, 58, 52, 52, 50, 47, 52,
+  54, 77, 71, 86, 85, 99, 82, 77, 85, 75, 77, 95, 96, 79, 59, 41,
+  64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 78, 81, 69, 78, 35, 42, 86, 72, 93, 104, 93, 102,
+  98, 97, 97, 91, 85, 83, 84, 85, 84, 84, 87, 86, 82, 80, 80, 85,
+  95, 103, 95, 94, 75, 90, 29, 74, 82, 91, 84, 84, 81, 77, 77, 76,
+  67, 56, 66, 70, 79, 88, 95, 100, 102, 104, 101, 99, 97, 94, 91, 89,
+  87, 87, 91, 99, 106, 109, 113, 116, 112, 106, 116, 110, 108, 104, 97, 101,
+  107, 99, 93, 120, 113, 97, 92, 81, 69, 68, 74, 73, 66, 55, 49, 48,
+  47, 44, 56, 60, 78, 76, 84, 86, 94, 78, 79, 74, 67, 68, 87, 86,
+  55, 35, 39, 125, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 81, 80, 75, 79, 49, 34, 84, 82, 94,
+  103, 90, 102, 92, 99, 97, 92, 87, 85, 83, 83, 83, 84, 81, 83, 85,
+  88, 90, 96, 101, 103, 96, 104, 82, 94, 40, 79, 80, 90, 82, 84, 81,
+  74, 73, 76, 69, 59, 60, 68, 78, 89, 97, 104, 108, 110, 104, 103, 103,
+  101, 99, 98, 96, 95, 95, 104, 112, 117, 123, 124, 118, 110, 118, 115, 114,
+  107, 100, 108, 112, 99, 91, 109, 97, 90, 86, 78, 81, 74, 69, 68, 62,
+  52, 48, 49, 50, 47, 52, 59, 75, 78, 81, 89, 93, 79, 94, 88, 82,
+  72, 81, 78, 39, 25, 44, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 86, 78, 78, 73, 75, 49,
+  65, 77, 84, 92, 87, 105, 87, 103, 97, 96, 98, 97, 93, 91, 89, 90,
+  80, 85, 95, 105, 109, 109, 103, 98, 100, 103, 86, 75, 59, 78, 82, 86,
+  76, 82, 81, 75, 72, 74, 69, 58, 60, 66, 77, 89, 99, 107, 109, 109,
+  106, 106, 107, 107, 106, 106, 104, 103, 105, 112, 118, 123, 127, 130, 125, 117,
+  112, 115, 115, 105, 101, 115, 117, 98, 105, 107, 86, 79, 69, 69, 90, 80,
+  67, 68, 61, 52, 49, 49, 51, 48, 49, 57, 72, 79, 79, 90, 93, 80,
+  100, 99, 100, 74, 68, 65, 33, 28, 44, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 90, 77, 79,
+  68, 96, 67, 48, 72, 77, 88, 89, 107, 81, 100, 98, 103, 109, 110, 107,
+  103, 100, 100, 111, 108, 106, 107, 110, 110, 104, 100, 104, 97, 84, 49, 69,
+  71, 88, 85, 76, 85, 86, 80, 76, 77, 71, 60, 61, 65, 72, 85, 97,
+  104, 105, 101, 111, 111, 112, 113, 112, 110, 108, 107, 112, 115, 118, 120, 124,
+  126, 121, 115, 106, 113, 115, 102, 100, 119, 122, 98, 112, 109, 93, 92, 73,
+  69, 89, 66, 71, 72, 65, 56, 51, 50, 49, 46, 49, 58, 71, 78, 77,
+  88, 89, 77, 89, 97, 103, 67, 52, 51, 25, 30, 110, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  198, 86, 84, 82, 86, 92, 75, 57, 75, 109, 80, 100, 107, 86, 110, 108,
+  108, 108, 110, 112, 114, 116, 121, 124, 125, 121, 112, 104, 100, 99, 99, 80,
+  65, 63, 65, 68, 78, 91, 82, 85, 82, 73, 69, 71, 70, 66, 66, 59,
+  69, 70, 78, 93, 97, 114, 122, 121, 118, 115, 113, 115, 120, 125, 122, 126,
+  130, 133, 132, 129, 127, 127, 139, 109, 98, 108, 114, 115, 110, 100, 101, 103,
+  102, 97, 92, 85, 73, 64, 78, 73, 63, 55, 47, 45, 51, 58, 60, 61,
+  75, 83, 78, 81, 94, 101, 95, 100, 93, 78, 44, 47, 21, 24, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 83, 82, 79, 82, 88, 111, 83, 56, 75, 75, 92, 95,
+  112, 112, 111, 113, 113, 115, 117, 118, 119, 119, 124, 130, 133, 128, 116, 101,
+  91, 77, 82, 80, 74, 74, 85, 90, 87, 91, 90, 85, 78, 71, 69, 66,
+  64, 73, 69, 82, 82, 85, 95, 97, 112, 115, 120, 126, 133, 133, 132, 127,
+  125, 124, 122, 123, 131, 139, 140, 129, 121, 122, 108, 107, 111, 101, 98, 104,
+  109, 92, 91, 90, 94, 94, 91, 85, 83, 78, 73, 64, 54, 46, 46, 50,
+  56, 60, 59, 71, 78, 75, 82, 97, 102, 92, 97, 94, 67, 48, 65, 56,
+  58, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 82, 81, 78, 80, 85, 99, 137, 102, 69,
+  68, 92, 86, 109, 110, 111, 115, 118, 121, 124, 125, 125, 134, 127, 119, 114,
+  113, 111, 107, 102, 59, 81, 86, 73, 74, 94, 98, 83, 93, 88, 85, 82,
+  74, 67, 64, 67, 68, 69, 87, 88, 88, 93, 91, 108, 112, 110, 111, 115,
+  121, 128, 131, 134, 137, 134, 130, 131, 133, 132, 125, 120, 121, 111, 111, 111,
+  97, 92, 102, 107, 101, 92, 89, 95, 96, 90, 86, 89, 76, 72, 62, 50,
+  44, 44, 49, 53, 61, 59, 67, 71, 70, 82, 97, 100, 94, 94, 91, 49,
+  49, 76, 89, 90, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 84, 81, 82, 85, 84,
+  149, 133, 94, 80, 98, 89, 106, 103, 107, 111, 117, 123, 126, 127, 128, 124,
+  125, 127, 127, 121, 107, 90, 78, 69, 82, 78, 64, 69, 93, 100, 88, 89,
+  84, 83, 83, 75, 66, 64, 70, 57, 63, 87, 90, 90, 93, 90, 106, 175,
+  164, 148, 135, 128, 126, 125, 125, 132, 135, 133, 122, 111, 110, 121, 134, 139,
+  119, 111, 111, 106, 104, 102, 94, 109, 97, 92, 99, 99, 89, 83, 87, 74,
+  72, 60, 48, 42, 43, 48, 49, 64, 61, 64, 66, 66, 84, 99, 96, 105,
+  89, 84, 39, 51, 70, 94, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 87, 84,
+  84, 86, 101, 101, 96, 107, 90, 93, 92, 113, 115, 117, 122, 126, 130, 132,
+  134, 134, 125, 126, 125, 119, 106, 94, 85, 81, 95, 86, 73, 68, 79, 95,
+  101, 97, 92, 89, 89, 86, 77, 67, 65, 70, 54, 61, 87, 92, 90, 93,
+  88, 103, 106, 105, 105, 106, 109, 111, 112, 112, 106, 113, 116, 110, 102, 106,
+  122, 138, 139, 118, 108, 109, 108, 107, 101, 87, 95, 86, 85, 94, 99, 94,
+  89, 89, 75, 72, 61, 46, 42, 45, 49, 48, 64, 63, 65, 66, 71, 95,
+  108, 100, 111, 78, 72, 42, 55, 62, 83, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 86, 83, 83, 83, 86, 78, 88, 107, 74, 80, 86, 91, 104, 105, 107,
+  108, 110, 110, 109, 110, 113, 108, 97, 86, 80, 87, 102, 115, 103, 82, 69,
+  76, 90, 96, 96, 96, 100, 103, 102, 91, 79, 71, 67, 65, 54, 58, 81,
+  86, 84, 83, 75, 87, 109, 108, 102, 96, 90, 89, 91, 94, 103, 103, 105,
+  110, 113, 118, 119, 119, 116, 108, 109, 107, 97, 96, 96, 89, 85, 81, 80,
+  85, 93, 95, 89, 84, 76, 74, 61, 46, 42, 49, 51, 47, 59, 61, 64,
+  66, 77, 106, 119, 104, 100, 65, 57, 47, 56, 62, 136, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 84, 83, 83, 63, 87, 100, 100, 69, 85, 85, 75,
+  79, 79, 79, 80, 81, 81, 81, 81, 80, 85, 93, 99, 101, 100, 99, 98,
+  92, 75, 66, 75, 88, 94, 94, 94, 101, 111, 111, 92, 78, 74, 70, 62,
+  54, 55, 73, 76, 75, 74, 64, 73, 88, 89, 88, 86, 84, 89, 101, 111,
+  105, 106, 107, 113, 116, 117, 111, 107, 101, 101, 107, 107, 93, 90, 92, 86,
+  84, 85, 80, 77, 85, 96, 93, 80, 78, 76, 63, 47, 43, 51, 53, 47,
+  53, 56, 61, 63, 77, 107, 115, 94, 76, 54, 43, 43, 47, 70, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 199, 85, 84, 85, 83, 70, 88, 92,
+  105, 92, 99, 98, 98, 98, 99, 102, 105, 106, 108, 106, 105, 104, 106, 107,
+  102, 93, 86, 84, 75, 67, 70, 82, 94, 99, 99, 96, 112, 112, 89, 75,
+  78, 75, 61, 59, 56, 72, 74, 75, 75, 64, 72, 66, 78, 91, 94, 89,
+  83, 83, 86, 91, 99, 106, 106, 102, 101, 108, 115, 107, 102, 105, 105, 98,
+  96, 91, 78, 79, 84, 78, 72, 83, 102, 104, 89, 78, 77, 64, 47, 43,
+  53, 54, 49, 50, 55, 59, 58, 71, 100, 103, 78, 57, 47, 34, 37, 37,
+  75, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 77, 75, 77,
+  77, 106, 81, 81, 85, 98, 99, 101, 104, 105, 104, 104, 105, 107, 103, 108,
+  109, 104, 95, 88, 87, 88, 72, 65, 64, 76, 90, 96, 96, 94, 90, 96,
+  100, 93, 86, 82, 75, 69, 59, 64, 67, 71, 75, 78, 77, 74, 57, 64,
+  76, 89, 96, 93, 83, 75, 73, 85, 98, 103, 100, 97, 98, 101, 105, 96,
+  92, 98, 97, 87, 83, 87, 75, 77, 78, 80, 83, 87, 93, 97, 77, 73,
+  63, 52, 45, 48, 50, 51, 47, 55, 64, 54, 83, 108, 61, 29, 19, 44,
+  53, 25, 14, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199,
+  81, 78, 78, 77, 103, 85, 86, 88, 99, 98, 98, 100, 101, 102, 103, 103,
+  103, 106, 103, 99, 95, 91, 87, 83, 80, 76, 69, 69, 79, 90, 94, 93,
+  91, 94, 98, 99, 91, 84, 79, 75, 70, 63, 66, 69, 73, 77, 80, 78,
+  74, 61, 65, 75, 86, 94, 94, 90, 85, 79, 81, 85, 89, 93, 97, 101,
+  104, 99, 95, 94, 95, 91, 85, 81, 81, 76, 67, 68, 79, 83, 81, 88,
+  102, 81, 76, 66, 52, 45, 48, 50, 49, 52, 53, 61, 54, 71, 88, 52,
+  32, 44, 46, 40, 28, 32, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 86, 81, 78, 77, 92, 86, 93, 87, 96, 96, 95, 95, 96,
+  99, 100, 98, 96, 103, 94, 86, 84, 88, 89, 83, 76, 75, 69, 71, 80,
+  91, 95, 96, 96, 102, 104, 101, 93, 85, 82, 78, 74, 72, 71, 72, 75,
+  78, 78, 74, 69, 65, 67, 73, 82, 91, 95, 95, 94, 90, 81, 72, 71,
+  80, 91, 98, 100, 91, 95, 96, 89, 84, 82, 79, 75, 81, 65, 66, 82,
+  86, 77, 83, 101, 86, 81, 70, 54, 47, 48, 49, 47, 62, 54, 57, 51,
+  49, 47, 26, 21, 41, 28, 16, 27, 57, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 199, 83, 79, 76, 75, 83, 94, 82, 87, 92,
+  90, 90, 92, 95, 96, 92, 89, 90, 84, 79, 82, 88, 91, 86, 79, 71,
+  66, 68, 76, 87, 95, 102, 107, 109, 108, 106, 100, 93, 87, 81, 78, 78,
+  74, 74, 77, 76, 72, 66, 62, 67, 68, 73, 79, 86, 91, 93, 94, 98,
+  85, 70, 65, 70, 79, 87, 90, 87, 96, 95, 85, 78, 80, 78, 72, 84,
+  75, 76, 87, 91, 84, 84, 92, 93, 87, 74, 57, 48, 47, 48, 48, 65,
+  52, 51, 49, 33, 18, 11, 14, 25, 22, 19, 43, 84, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 84, 78, 75, 56, 76, 90,
+  75, 79, 87, 86, 87, 88, 90, 90, 86, 84, 80, 81, 82, 86, 88, 88,
+  84, 80, 72, 66, 65, 71, 79, 89, 103, 113, 106, 104, 104, 102, 97, 88,
+  80, 75, 74, 71, 71, 77, 75, 68, 63, 64, 71, 73, 78, 82, 85, 87,
+  89, 90, 99, 91, 81, 73, 71, 76, 82, 88, 87, 94, 93, 84, 79, 81,
+  77, 70, 76, 81, 87, 89, 93, 95, 90, 81, 98, 90, 76, 58, 49, 48,
+  48, 47, 58, 46, 45, 48, 28, 14, 20, 20, 28, 46, 56, 74, 101, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 198, 77, 76,
+  40, 69, 89, 70, 77, 80, 82, 85, 86, 84, 81, 80, 80, 79, 82, 87,
+  89, 86, 81, 78, 76, 75, 69, 66, 67, 71, 79, 93, 106, 96, 93, 94,
+  96, 93, 83, 74, 70, 67, 66, 71, 78, 74, 66, 66, 72, 79, 82, 85,
+  87, 86, 86, 87, 88, 93, 92, 90, 85, 81, 81, 86, 91, 91, 93, 89,
+  86, 84, 84, 79, 72, 65, 78, 87, 89, 95, 101, 94, 77, 99, 91, 76,
+  58, 48, 48, 50, 49, 57, 48, 42, 43, 23, 19, 34, 18, 28, 54, 76,
+  90, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 78, 77, 29, 66, 91, 73, 82, 74, 80, 84, 85, 79, 74, 75, 77,
+  79, 81, 83, 83, 81, 77, 74, 72, 75, 70, 68, 67, 67, 70, 82, 94,
+  88, 82, 82, 85, 85, 77, 70, 68, 68, 70, 78, 84, 76, 65, 68, 80,
+  84, 87, 88, 86, 84, 84, 87, 89, 89, 91, 93, 92, 90, 88, 88, 90,
+  98, 91, 86, 90, 92, 87, 80, 76, 67, 74, 83, 91, 99, 100, 91, 80,
+  99, 90, 75, 59, 48, 49, 52, 52, 57, 52, 39, 38, 26, 41, 65, 31,
+  25, 39, 65, 143, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 196, 78, 23, 65, 94, 77, 90, 70, 79, 86, 84, 77,
+  72, 74, 78, 78, 77, 76, 76, 78, 78, 75, 72, 70, 68, 67, 68, 65,
+  67, 75, 87, 86, 79, 76, 80, 80, 74, 69, 69, 74, 78, 86, 90, 78,
+  65, 67, 82, 87, 88, 87, 84, 81, 82, 87, 91, 87, 89, 90, 93, 91,
+  91, 86, 85, 103, 89, 84, 92, 97, 90, 81, 79, 78, 75, 81, 96, 103,
+  95, 86, 85, 98, 90, 75, 57, 48, 50, 51, 53, 51, 50, 39, 40, 40,
+  75, 108, 64, 34, 29, 51, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 68, 31, 71, 89, 92, 89, 81, 57,
+  85, 86, 71, 79, 81, 96, 81, 84, 77, 74, 81, 78, 71, 74, 78, 73,
+  68, 67, 66, 67, 64, 63, 69, 74, 78, 79, 74, 70, 68, 68, 96, 95,
+  93, 88, 82, 80, 82, 84, 80, 75, 74, 72, 80, 84, 88, 83, 85, 101,
+  91, 93, 102, 90, 86, 95, 91, 94, 86, 80, 89, 90, 82, 80, 66, 75,
+  93, 99, 91, 92, 93, 84, 82, 87, 81, 62, 50, 51, 52, 48, 55, 43,
+  38, 41, 81, 129, 121, 106, 100, 22, 97, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 32, 70, 86, 91,
+  88, 94, 74, 86, 88, 74, 75, 83, 90, 84, 88, 81, 77, 81, 76, 70,
+  74, 63, 66, 67, 67, 66, 65, 66, 69, 71, 77, 81, 82, 78, 75, 74,
+  74, 83, 82, 83, 86, 85, 81, 76, 75, 83, 83, 90, 88, 78, 74, 74,
+  72, 78, 92, 87, 95, 112, 105, 90, 86, 88, 97, 95, 90, 92, 89, 84,
+  83, 70, 73, 90, 99, 92, 89, 88, 80, 78, 82, 75, 57, 45, 47, 49,
+  46, 52, 46, 47, 51, 112, 150, 131, 109, 96, 115, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 38,
+  72, 85, 90, 88, 96, 86, 79, 87, 79, 76, 94, 94, 84, 89, 82, 76,
+  77, 71, 66, 72, 65, 73, 79, 80, 77, 76, 80, 85, 76, 81, 86, 88,
+  88, 87, 85, 85, 75, 73, 79, 93, 98, 91, 84, 82, 73, 73, 80, 88,
+  78, 81, 83, 81, 83, 92, 87, 82, 94, 103, 97, 97, 83, 94, 100, 96,
+  90, 87, 86, 85, 73, 70, 85, 102, 98, 90, 88, 83, 77, 79, 70, 53,
+  43, 45, 48, 45, 47, 44, 48, 46, 133, 159, 136, 112, 120, 140, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 186, 77, 83, 87, 88, 96, 96, 76, 86, 84, 77, 101, 97, 83,
+  87, 79, 71, 71, 65, 62, 69, 62, 68, 73, 73, 68, 68, 72, 77, 82,
+  84, 88, 92, 93, 92, 91, 90, 87, 86, 90, 99, 98, 84, 73, 72, 103,
+  93, 81, 89, 78, 85, 76, 72, 81, 89, 95, 80, 80, 95, 97, 105, 81,
+  86, 95, 94, 87, 88, 90, 84, 75, 67, 83, 105, 105, 95, 92, 90, 78,
+  77, 69, 55, 47, 48, 49, 49, 46, 44, 47, 33, 135, 155, 139, 121, 175,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 78, 78, 80, 83, 103, 107, 84, 89, 89, 77,
+  92, 89, 85, 89, 81, 73, 73, 67, 62, 68, 68, 69, 70, 70, 71, 74,
+  77, 80, 85, 85, 88, 92, 94, 94, 92, 90, 94, 97, 103, 108, 106, 99,
+  94, 95, 92, 96, 77, 88, 79, 86, 70, 83, 71, 71, 93, 90, 93, 109,
+  97, 94, 87, 81, 87, 90, 86, 94, 97, 82, 77, 69, 84, 106, 105, 95,
+  90, 88, 76, 74, 65, 55, 49, 49, 50, 51, 46, 48, 53, 36, 133, 153,
+  143, 134, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 71, 74, 79, 93, 102, 89,
+  89, 93, 85, 88, 93, 88, 93, 87, 83, 85, 76, 63, 61, 68, 70, 72,
+  75, 80, 85, 90, 91, 87, 86, 89, 94, 97, 98, 97, 94, 98, 103, 102,
+  96, 95, 98, 94, 88, 78, 104, 77, 82, 69, 63, 38, 73, 77, 51, 70,
+  77, 93, 120, 103, 97, 97, 81, 86, 93, 90, 102, 104, 80, 77, 74, 89,
+  104, 99, 88, 83, 76, 71, 68, 61, 54, 49, 48, 47, 49, 40, 46, 57,
+  49, 128, 155, 145, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 71, 73, 79,
+  80, 91, 97, 90, 98, 96, 84, 99, 89, 97, 96, 97, 99, 84, 59, 47,
+  42, 51, 61, 66, 68, 70, 76, 79, 77, 76, 79, 85, 92, 94, 93, 90,
+  95, 97, 84, 67, 67, 77, 66, 43, 69, 105, 60, 73, 92, 102, 72, 130,
+  74, 34, 53, 61, 73, 104, 97, 106, 103, 84, 92, 101, 94, 104, 104, 75,
+  74, 78, 95, 103, 93, 86, 81, 70, 66, 63, 57, 54, 50, 47, 46, 47,
+  40, 41, 51, 58, 118, 160, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  74, 77, 84, 81, 92, 109, 93, 98, 98, 72, 93, 88, 97, 100, 105, 108,
+  87, 52, 34, 29, 45, 61, 67, 64, 62, 69, 75, 58, 57, 62, 70, 77,
+  82, 80, 78, 63, 71, 65, 61, 84, 118, 115, 86, 200, 209, 113, 99, 116,
+  113, 54, 103, 49, 19, 57, 67, 62, 80, 77, 101, 103, 86, 98, 107, 95,
+  102, 101, 69, 71, 81, 100, 104, 93, 89, 85, 72, 66, 63, 58, 57, 53,
+  49, 46, 47, 49, 42, 47, 61, 110, 196, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 195, 73, 78, 72, 86, 100, 103, 95, 87, 86, 89, 100, 89,
+  93, 107, 101, 73, 55, 58, 53, 49, 56, 68, 75, 85, 90, 82, 102, 91,
+  74, 86, 73, 92, 75, 59, 83, 114, 124, 98, 74, 126, 134, 128, 124, 128,
+  98, 87, 117, 114, 73, 55, 56, 68, 75, 75, 74, 80, 86, 90, 84, 96,
+  104, 102, 98, 93, 84, 75, 72, 86, 96, 92, 87, 82, 73, 62, 64, 61,
+  58, 55, 53, 51, 46, 44, 46, 41, 46, 57, 103, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 74, 78, 75, 84, 96, 101, 98, 92, 90,
+  89, 95, 86, 87, 96, 92, 74, 64, 66, 72, 47, 26, 29, 60, 101, 111,
+  89, 108, 101, 97, 118, 110, 120, 101, 84, 114, 122, 115, 93, 83, 135, 125,
+  101, 115, 128, 107, 85, 94, 89, 69, 72, 76, 85, 90, 88, 84, 87, 90,
+  92, 88, 98, 105, 103, 97, 91, 81, 73, 75, 92, 104, 100, 91, 83, 73,
+  62, 63, 60, 56, 54, 52, 50, 47, 46, 46, 42, 47, 58, 158, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 76, 79, 77, 81, 88, 98,
+  101, 99, 93, 87, 90, 84, 82, 85, 85, 82, 78, 80, 71, 60, 42, 24,
+  35, 81, 110, 105, 110, 97, 95, 116, 111, 111, 95, 85, 136, 135, 122, 103,
+  96, 142, 124, 95, 103, 114, 92, 66, 64, 61, 56, 69, 85, 93, 98, 94,
+  89, 88, 90, 90, 93, 101, 107, 103, 94, 86, 78, 71, 74, 93, 107, 103,
+  90, 81, 72, 64, 63, 59, 53, 50, 49, 50, 49, 50, 48, 43, 50, 59,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 197, 81, 78,
+  76, 81, 89, 98, 100, 93, 86, 86, 85, 83, 81, 83, 90, 91, 88, 67,
+  73, 72, 48, 28, 46, 77, 90, 116, 105, 114, 140, 139, 128, 113, 102, 130,
+  136, 135, 115, 90, 121, 106, 92, 64, 66, 54, 46, 62, 75, 78, 86, 84,
+  91, 95, 93, 89, 89, 92, 91, 97, 103, 106, 101, 90, 80, 74, 71, 73,
+  92, 104, 96, 82, 74, 69, 64, 61, 56, 50, 47, 47, 50, 51, 54, 49,
+  45, 54, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 80, 78, 74, 73, 80, 91, 95, 92, 84, 82, 84, 85, 83, 86, 93,
+  94, 88, 83, 72, 67, 63, 48, 44, 50, 51, 68, 65, 91, 124, 133, 119,
+  106, 93, 96, 108, 115, 98, 63, 81, 69, 65, 59, 59, 55, 57, 72, 83,
+  84, 86, 88, 94, 97, 94, 91, 93, 96, 97, 99, 102, 103, 97, 86, 75,
+  72, 74, 82, 96, 102, 88, 72, 66, 64, 62, 58, 55, 50, 48, 49, 52,
+  53, 56, 52, 49, 124, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 79, 75, 71, 75, 82, 87, 89, 87, 77, 80, 83,
+  86, 90, 93, 90, 85, 93, 72, 69, 76, 70, 60, 57, 54, 34, 24, 41,
+  53, 65, 60, 67, 61, 59, 62, 69, 66, 44, 66, 54, 51, 64, 71, 78,
+  79, 74, 74, 78, 82, 93, 97, 96, 92, 90, 93, 96, 95, 99, 99, 97,
+  91, 79, 70, 72, 79, 96, 105, 102, 82, 66, 60, 60, 58, 53, 51, 50,
+  50, 53, 55, 56, 57, 55, 53, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 197, 78, 74, 71, 74, 80, 87, 90,
+  78, 77, 81, 90, 94, 92, 89, 88, 87, 80, 84, 86, 74, 72, 76, 76,
+  68, 50, 51, 36, 42, 40, 60, 55, 42, 36, 40, 48, 39, 69, 59, 61,
+  51, 60, 76, 83, 79, 82, 94, 100, 95, 97, 93, 87, 86, 91, 95, 95,
+  97, 95, 91, 85, 73, 66, 74, 86, 100, 105, 99, 79, 64, 60, 59, 56,
+  49, 50, 51, 54, 58, 58, 57, 56, 58, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 79, 76, 71, 69,
+  76, 87, 94, 81, 78, 84, 96, 100, 96, 91, 93, 85, 82, 83, 80, 76,
+  84, 85, 70, 69, 58, 65, 45, 47, 37, 49, 33, 50, 41, 43, 48, 37,
+  65, 60, 67, 80, 76, 83, 88, 82, 83, 88, 85, 97, 97, 93, 88, 89,
+  95, 102, 103, 95, 91, 87, 81, 70, 64, 75, 90, 94, 99, 92, 75, 64,
+  63, 61, 58, 47, 49, 52, 57, 60, 60, 57, 55, 59, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  60, 64, 85, 73, 67, 99, 87, 71, 83, 97, 91, 94, 102, 95, 96, 87,
+  78, 77, 83, 88, 86, 81, 81, 74, 68, 67, 71, 75, 76, 76, 64, 66,
+  68, 70, 73, 76, 80, 84, 88, 89, 88, 88, 88, 92, 93, 95, 100, 102,
+  97, 89, 86, 93, 100, 105, 97, 98, 88, 71, 63, 71, 84, 92, 97, 91,
+  81, 70, 62, 57, 53, 49, 46, 48, 53, 60, 60, 58, 61, 69, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 196, 69, 60, 37, 44, 90, 96, 82, 83, 90, 91, 95, 96,
+  92, 98, 93, 86, 81, 79, 80, 82, 82, 79, 75, 73, 73, 76, 80, 84,
+  87, 85, 89, 93, 95, 95, 95, 97, 99, 92, 95, 95, 97, 97, 97, 96,
+  96, 96, 98, 95, 89, 86, 91, 99, 101, 98, 92, 79, 67, 67, 77, 87,
+  90, 97, 88, 77, 67, 62, 59, 53, 48, 46, 51, 54, 57, 58, 60, 62,
+  128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 48, 46, 27, 21, 47, 84, 88, 83, 78,
+  87, 94, 91, 90, 96, 97, 94, 85, 75, 72, 77, 81, 71, 69, 70, 70,
+  72, 78, 84, 89, 93, 97, 101, 104, 101, 98, 96, 96, 90, 94, 98, 103,
+  104, 103, 99, 98, 97, 100, 99, 94, 93, 97, 101, 101, 96, 83, 68, 62,
+  72, 86, 91, 89, 93, 83, 71, 64, 60, 57, 53, 49, 53, 60, 62, 61,
+  64, 72, 132, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 177, 36, 30, 13, 12, 46,
+  84, 88, 70, 79, 94, 91, 89, 94, 96, 96, 89, 80, 74, 75, 79, 78,
+  79, 81, 80, 79, 82, 87, 93, 82, 85, 89, 90, 87, 84, 82, 83, 85,
+  90, 96, 101, 103, 103, 101, 100, 97, 100, 102, 99, 98, 102, 102, 99, 89,
+  76, 62, 62, 75, 90, 94, 91, 88, 79, 70, 61, 56, 51, 50, 53, 58,
+  68, 68, 63, 68, 79, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 19, 15,
+  12, 16, 10, 74, 94, 71, 74, 90, 92, 87, 90, 91, 92, 92, 88, 84,
+  79, 77, 76, 76, 75, 72, 69, 69, 72, 76, 76, 77, 78, 77, 75, 75,
+  78, 81, 91, 94, 97, 99, 100, 100, 99, 99, 94, 97, 99, 97, 97, 99,
+  96, 93, 82, 72, 62, 65, 77, 88, 92, 91, 83, 76, 69, 61, 52, 44,
+  49, 58, 59, 67, 67, 60, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 15, 19, 20, 5, 55, 83, 76, 75, 86, 89, 85, 88, 88, 88,
+  91, 94, 92, 86, 80, 73, 72, 69, 66, 63, 60, 61, 62, 77, 77, 75,
+  73, 73, 76, 82, 86, 102, 103, 102, 101, 98, 97, 97, 96, 96, 99, 100,
+  98, 99, 100, 96, 91, 77, 68, 63, 70, 81, 87, 88, 88, 78, 70, 63,
+  58, 50, 44, 52, 64, 66, 71, 70, 64, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 179, 26, 14, 20, 23, 48, 74, 80, 78, 83, 86,
+  89, 87, 87, 90, 93, 93, 92, 87, 90, 86, 83, 81, 80, 79, 78, 77,
+  81, 81, 79, 78, 77, 81, 87, 92, 103, 104, 102, 102, 100, 98, 97, 96,
+  101, 102, 101, 99, 101, 101, 96, 90, 77, 67, 63, 74, 85, 88, 82, 80,
+  76, 63, 52, 53, 54, 52, 57, 68, 75, 76, 73, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 179, 16, 34, 1, 13, 68, 83,
+  74, 78, 89, 90, 90, 89, 89, 89, 91, 94, 94, 87, 82, 78, 78, 81,
+  82, 79, 77, 87, 87, 86, 85, 84, 88, 93, 97, 95, 98, 100, 101, 100,
+  100, 99, 98, 99, 100, 97, 96, 96, 97, 91, 84, 79, 67, 62, 74, 89,
+  89, 81, 73, 76, 55, 42, 48, 58, 60, 63, 69, 76, 74, 132, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 16, 22, 24,
+  13, 19, 56, 78, 81, 91, 93, 93, 93, 93, 92, 91, 89, 89, 95, 93,
+  92, 91, 90, 90, 89, 89, 88, 94, 96, 93, 93, 97, 96, 91, 100, 100,
+  99, 98, 96, 96, 96, 96, 99, 99, 98, 102, 101, 98, 88, 81, 72, 71,
+  71, 78, 87, 88, 81, 73, 68, 52, 45, 56, 67, 69, 70, 75, 80, 137,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  177, 21, 28, 17, 11, 34, 65, 81, 85, 95, 93, 91, 90, 90, 91, 96,
+  97, 96, 93, 91, 90, 89, 89, 90, 91, 88, 94, 97, 96, 97, 102, 102,
+  99, 104, 104, 101, 99, 97, 96, 96, 95, 89, 92, 94, 97, 96, 92, 86,
+  82, 70, 69, 72, 78, 84, 82, 73, 63, 56, 48, 49, 60, 68, 68, 70,
+  77, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 21, 26, 22, 6, 11, 50, 83, 86, 89, 91, 91, 92,
+  91, 92, 95, 98, 95, 94, 90, 89, 88, 89, 90, 92, 86, 91, 95, 97,
+  100, 105, 106, 104, 109, 108, 104, 101, 98, 97, 96, 97, 91, 94, 96, 98,
+  95, 90, 85, 81, 66, 70, 75, 81, 84, 77, 66, 58, 47, 46, 54, 66,
+  71, 69, 73, 138, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 19, 23, 15, 5, 36, 79, 88, 83,
+  89, 93, 96, 93, 90, 88, 87, 91, 91, 89, 89, 89, 89, 89, 90, 84,
+  88, 91, 95, 98, 101, 102, 103, 108, 108, 104, 102, 99, 99, 100, 102, 101,
+  99, 96, 97, 96, 91, 81, 74, 64, 70, 78, 82, 81, 73, 64, 57, 49,
+  50, 58, 70, 76, 75, 76, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 20, 26, 12, 23,
+  58, 77, 88, 93, 97, 96, 90, 85, 84, 85, 85, 88, 90, 91, 91, 90,
+  87, 86, 86, 87, 91, 95, 96, 97, 97, 99, 100, 99, 97, 95, 96, 98,
+  100, 103, 103, 96, 89, 90, 93, 90, 77, 65, 66, 73, 79, 80, 73, 64,
+  57, 54, 62, 60, 63, 72, 80, 81, 138, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176,
+  29, 21, 13, 29, 50, 94, 96, 97, 94, 86, 84, 87, 90, 83, 84, 86,
+  88, 88, 88, 87, 85, 93, 92, 93, 98, 98, 95, 94, 97, 91, 90, 89,
+  88, 90, 94, 98, 102, 102, 95, 89, 90, 93, 91, 79, 68, 69, 74, 77,
+  71, 59, 51, 49, 51, 72, 69, 69, 76, 82, 142, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 23, 29, 16, 12, 24, 81, 88, 94, 95, 89, 84, 85, 89,
+  83, 84, 84, 83, 84, 85, 86, 88, 95, 93, 95, 99, 99, 95, 94, 97,
+  90, 89, 87, 87, 89, 94, 98, 103, 101, 98, 95, 93, 90, 85, 77, 72,
+  67, 72, 73, 64, 51, 46, 51, 59, 71, 74, 79, 82, 83, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 32, 25, 9, 13, 60, 74, 92, 100, 96,
+  88, 81, 80, 86, 84, 80, 78, 79, 83, 87, 90, 95, 91, 93, 99, 99,
+  93, 93, 96, 93, 92, 90, 90, 92, 96, 102, 105, 96, 99, 97, 92, 82,
+  72, 68, 68, 65, 70, 69, 60, 49, 48, 61, 72, 66, 76, 85, 87, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 20, 15, 12, 28, 63,
+  97, 86, 101, 88, 88, 78, 80, 78, 78, 81, 83, 84, 89, 96, 92, 93,
+  95, 96, 97, 96, 95, 95, 90, 94, 96, 94, 91, 92, 100, 108, 102, 99,
+  93, 88, 83, 77, 69, 66, 74, 67, 60, 53, 53, 59, 67, 74, 76, 84,
+  88, 142, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 19,
+  16, 10, 51, 89, 91, 94, 85, 87, 89, 86, 83, 82, 86, 87, 87, 89,
+  96, 98, 96, 93, 92, 91, 95, 99, 103, 91, 92, 93, 96, 98, 100, 102,
+  103, 101, 98, 91, 86, 81, 75, 68, 65, 67, 65, 60, 58, 59, 66, 74,
+  79, 82, 82, 82, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 20, 2, 34, 65, 88, 86, 88, 85, 92, 90, 87, 86, 90,
+  90, 88, 88, 93, 96, 95, 93, 91, 92, 95, 99, 102, 100, 99, 99, 103,
+  108, 109, 104, 99, 97, 93, 86, 79, 73, 69, 63, 62, 60, 61, 62, 63,
+  68, 75, 82, 85, 89, 83, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 21, 37, 81, 84, 94, 83, 85, 88,
+  84, 85, 90, 93, 90, 88, 89, 89, 92, 94, 98, 98, 98, 95, 95, 103,
+  103, 102, 103, 106, 105, 99, 94, 94, 87, 76, 67, 62, 59, 58, 58, 58,
+  61, 64, 71, 76, 82, 86, 88, 90, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 92, 86, 88,
+  77, 83, 86, 82, 83, 90, 95, 93, 90, 91, 91, 94, 96, 100, 100, 98,
+  96, 94, 96, 96, 98, 97, 95, 94, 91, 91, 86, 78, 66, 57, 53, 55,
+  57, 59, 63, 67, 71, 77, 82, 84, 86, 85, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 204, 75, 72, 86, 83, 79, 80, 88, 94, 94, 91, 93, 100, 98, 96,
+  94, 94, 95, 97, 98, 88, 90, 93, 93, 92, 91, 89, 90, 73, 68, 60,
+  56, 56, 60, 63, 65, 71, 74, 77, 80, 82, 84, 84, 140, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 195, 81, 80, 73, 73, 81, 89, 90, 87, 88,
+  96, 94, 91, 89, 89, 88, 89, 90, 86, 85, 87, 89, 90, 88, 80, 75,
+  59, 58, 59, 64, 69, 73, 76, 76, 78, 79, 80, 81, 82, 82, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 68, 74, 81,
+  82, 81, 81, 84, 86, 89, 90, 88, 83, 78, 75, 83, 80, 78, 81, 85,
+  79, 64, 50, 48, 53, 61, 72, 81, 85, 87, 85, 82, 82, 81, 80, 138,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 79, 57, 63, 68, 77, 81, 82, 77, 77, 78, 78, 76, 76, 72,
+  71, 71, 65, 57, 57, 64, 65, 72, 83, 92, 95, 94, 92, 89, 82, 87,
+  84, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 61, 63, 63, 63, 67, 67,
+  64, 56, 57, 62, 67, 68, 65, 67, 74, 80, 85, 90, 94, 92, 91, 91,
+  92, 86, 147, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 193, 70, 66, 83, 85, 91, 97, 98, 95, 94, 97, 93, 96, 96, 92,
+  86, 85, 89, 147, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 102, 98, 96, 94,
+  96, 95, 144, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 203, 94, 94, 101, 102, 96, 104, 95, 85, 81, 82, 86,
+  87, 86, 113, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 92, 92, 95, 91, 94, 97,
+  98, 95, 92, 91, 91, 87, 92, 97, 99, 102, 103, 99, 92, 95, 92, 89,
+  86, 85, 82, 78, 74, 73, 83, 74, 64, 67, 58, 49, 60, 66, 70, 64,
+  66, 84, 93, 89, 144, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 102, 104, 108, 107, 102, 101, 97, 95, 97, 97, 93, 90, 90,
+  87, 83, 85, 92, 91, 86, 87, 94, 95, 90, 89, 93, 94, 90, 84, 82,
+  77, 81, 86, 87, 83, 76, 69, 64, 81, 85, 74, 62, 59, 49, 41, 46,
+  54, 66, 61, 57, 73, 86, 82, 76, 78, 94, 95, 113, 120, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 207, 110, 108, 107, 108, 104, 97, 102, 99, 97, 97, 96,
+  92, 88, 86, 100, 89, 85, 92, 92, 85, 89, 102, 90, 75, 64, 65, 66,
+  63, 65, 72, 56, 64, 72, 74, 70, 63, 60, 60, 72, 70, 62, 53, 48,
+  42, 38, 39, 48, 61, 55, 48, 66, 83, 76, 63, 73, 93, 96, 113, 121,
+  109, 115, 122, 161, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 205, 110, 114, 116, 115, 114, 112, 104, 96, 94, 94,
+  94, 95, 97, 98, 97, 95, 89, 77, 74, 80, 78, 68, 67, 76, 71, 55,
+  43, 43, 45, 45, 52, 63, 44, 50, 55, 54, 50, 47, 50, 54, 48, 44,
+  44, 44, 43, 46, 50, 49, 53, 62, 52, 45, 66, 84, 75, 59, 74, 98,
+  96, 101, 107, 103, 109, 107, 106, 108, 110, 111, 158, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 184, 83, 79, 68, 73, 77, 78, 78, 76, 68,
+  58, 49, 49, 46, 42, 43, 46, 44, 41, 45, 42, 48, 59, 64, 57, 54,
+  56, 69, 62, 55, 51, 46, 41, 41, 45, 40, 43, 43, 40, 35, 35, 40,
+  45, 42, 35, 39, 44, 42, 48, 55, 49, 60, 65, 54, 49, 68, 83, 75,
+  65, 72, 95, 89, 92, 101, 101, 107, 102, 100, 104, 108, 109, 108, 108, 111,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 188, 48, 82, 73, 82, 86, 88, 88,
+  87, 86, 78, 70, 58, 57, 50, 40, 37, 38, 36, 31, 27, 30, 37, 48,
+  59, 65, 66, 66, 67, 71, 70, 59, 48, 41, 36, 33, 37, 38, 39, 37,
+  35, 35, 39, 42, 49, 38, 44, 49, 42, 47, 53, 42, 62, 67, 59, 55,
+  67, 74, 72, 74, 84, 94, 85, 96, 106, 97, 99, 97, 91, 95, 98, 99,
+  98, 100, 106, 112, 108, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 99, 49, 53, 91, 84, 84,
+  86, 85, 81, 79, 77, 70, 62, 49, 49, 42, 32, 30, 34, 33, 28, 21,
+  21, 20, 21, 31, 45, 52, 52, 46, 57, 59, 47, 37, 37, 37, 34, 29,
+  32, 36, 38, 39, 40, 41, 42, 45, 33, 41, 48, 41, 47, 54, 41, 58,
+  64, 59, 56, 61, 62, 66, 79, 103, 100, 85, 101, 106, 79, 73, 75, 78,
+  80, 82, 81, 81, 85, 94, 102, 104, 105, 106, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 93, 74, 68, 79,
+  90, 92, 89, 81, 76, 78, 79, 71, 59, 52, 31, 38, 35, 32, 35, 30,
+  23, 28, 28, 16, 10, 18, 27, 29, 27, 27, 40, 39, 40, 43, 40, 34,
+  33, 37, 35, 31, 27, 28, 33, 36, 35, 33, 44, 39, 38, 46, 55, 56,
+  47, 37, 51, 58, 52, 54, 68, 64, 62, 81, 100, 106, 93, 75, 74, 76,
+  74, 76, 64, 64, 60, 54, 49, 51, 59, 67, 82, 90, 100, 106, 158, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 99, 87, 84, 79,
+  70, 64, 58, 65, 70, 55, 49, 45, 44, 40, 34, 29, 29, 28, 32, 26,
+  23, 30, 31, 32, 42, 34, 23, 17, 22, 27, 27, 27, 28, 30, 32, 35,
+  37, 38, 37, 37, 36, 43, 35, 27, 25, 29, 33, 33, 31, 40, 36, 35,
+  40, 48, 51, 47, 41, 64, 66, 64, 67, 72, 66, 61, 67, 64, 79, 76,
+  64, 63, 60, 55, 55, 38, 38, 38, 37, 36, 37, 41, 45, 57, 61, 68,
+  77, 90, 102, 159, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 92, 80,
+  69, 60, 60, 60, 52, 35, 35, 43, 35, 30, 27, 23, 17, 12, 14, 21,
+  24, 28, 23, 21, 31, 34, 37, 46, 41, 34, 28, 28, 28, 27, 28, 31,
+  28, 35, 38, 37, 40, 46, 44, 36, 39, 30, 21, 20, 27, 34, 35, 34,
+  39, 37, 36, 38, 42, 48, 51, 52, 69, 63, 70, 79, 78, 75, 71, 63,
+  54, 70, 69, 57, 54, 49, 42, 41, 38, 38, 38, 39, 40, 38, 34, 31,
+  34, 34, 37, 48, 64, 83, 99, 158, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 101,
+  93, 75, 52, 54, 49, 49, 48, 38, 27, 25, 30, 36, 31, 27, 24, 20,
+  16, 19, 26, 21, 27, 24, 25, 34, 34, 30, 34, 43, 39, 34, 30, 26,
+  25, 28, 31, 28, 38, 40, 35, 38, 48, 44, 31, 38, 30, 22, 21, 28,
+  34, 35, 33, 38, 38, 36, 36, 38, 44, 54, 61, 69, 58, 69, 80, 74,
+  76, 76, 58, 59, 68, 60, 46, 48, 50, 47, 48, 47, 45, 44, 47, 50,
+  49, 42, 36, 28, 27, 29, 36, 47, 61, 81, 96, 154, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 200, 80, 72, 58, 42, 47, 51, 48, 37, 29, 32, 36, 34, 39, 33,
+  28, 28, 27, 24, 23, 25, 24, 28, 24, 24, 34, 33, 29, 33, 43, 43,
+  39, 32, 26, 26, 28, 30, 27, 38, 41, 34, 37, 46, 44, 32, 45, 39,
+  33, 30, 32, 33, 31, 28, 34, 36, 36, 34, 34, 41, 52, 62, 75, 63,
+  69, 76, 68, 72, 73, 55, 58, 62, 50, 40, 49, 58, 56, 56, 42, 38,
+  35, 38, 44, 47, 43, 39, 30, 30, 34, 37, 38, 43, 60, 78, 93, 94,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 200, 76, 68, 63, 60, 54, 46, 55, 53, 37, 34, 42, 49,
+  45, 42, 35, 30, 31, 31, 27, 23, 23, 28, 29, 20, 19, 32, 38, 40,
+  48, 48, 49, 45, 37, 31, 31, 30, 29, 33, 42, 46, 43, 43, 49, 51,
+  47, 35, 34, 33, 31, 30, 30, 31, 32, 29, 32, 34, 33, 32, 36, 46,
+  54, 63, 59, 62, 65, 66, 74, 78, 70, 67, 73, 63, 53, 59, 62, 53,
+  49, 54, 47, 39, 36, 37, 37, 33, 30, 29, 28, 32, 35, 32, 30, 41,
+  57, 73, 78, 141, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 78, 73, 72, 66, 63, 63, 48, 51, 52, 47,
+  46, 46, 52, 54, 48, 44, 41, 39, 34, 28, 28, 32, 30, 30, 22, 24,
+  41, 50, 54, 63, 61, 61, 56, 47, 41, 40, 35, 29, 45, 50, 54, 52,
+  48, 48, 53, 58, 37, 38, 37, 33, 27, 27, 32, 38, 29, 32, 36, 37,
+  36, 38, 43, 48, 41, 51, 52, 53, 67, 78, 81, 86, 80, 91, 85, 71,
+  68, 65, 57, 54, 68, 60, 50, 42, 37, 33, 29, 26, 31, 24, 23, 28,
+  28, 23, 27, 37, 49, 60, 75, 86, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 79, 68, 75, 79, 70, 59, 55, 50,
+  46, 51, 58, 59, 48, 50, 59, 51, 50, 49, 43, 32, 25, 29, 38, 26,
+  30, 27, 34, 52, 59, 59, 64, 69, 70, 64, 53, 47, 45, 38, 28, 47,
+  49, 53, 52, 43, 36, 42, 52, 60, 58, 55, 42, 27, 22, 27, 34, 30,
+  34, 39, 41, 41, 41, 42, 44, 32, 53, 51, 46, 63, 71, 71, 82, 75,
+  91, 89, 72, 69, 67, 69, 77, 58, 52, 47, 40, 39, 35, 35, 32, 37,
+  21, 17, 22, 28, 21, 21, 25, 34, 50, 72, 90, 151, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 80, 65, 67, 82, 78, 52,
+  43, 56, 64, 56, 50, 64, 64, 56, 64, 53, 53, 49, 46, 42, 42, 42,
+  39, 36, 35, 45, 32, 40, 40, 73, 63, 54, 59, 73, 66, 46, 50, 68,
+  55, 21, 28, 44, 59, 57, 49, 44, 41, 36, 48, 43, 44, 41, 35, 29,
+  29, 34, 36, 47, 35, 36, 53, 38, 23, 43, 43, 37, 37, 51, 68, 77,
+  78, 80, 89, 61, 57, 73, 83, 75, 64, 50, 63, 58, 48, 36, 36, 40,
+  38, 29, 33, 30, 28, 22, 19, 20, 27, 33, 28, 41, 56, 69, 87, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 197, 80, 75, 74,
+  75, 70, 60, 57, 59, 65, 60, 57, 71, 69, 61, 66, 52, 57, 55, 52,
+  47, 40, 38, 40, 42, 40, 44, 36, 52, 50, 67, 59, 60, 60, 63, 58,
+  50, 50, 54, 47, 31, 29, 44, 53, 47, 44, 46, 45, 38, 44, 38, 41,
+  43, 40, 33, 30, 32, 40, 49, 37, 36, 52, 39, 23, 40, 47, 41, 37,
+  49, 64, 69, 71, 71, 74, 57, 59, 68, 68, 63, 57, 48, 56, 56, 51,
+  45, 45, 47, 43, 36, 33, 32, 29, 24, 20, 19, 23, 26, 25, 36, 48,
+  60, 79, 102, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 75,
+  75, 81, 79, 63, 58, 63, 65, 59, 57, 56, 57, 73, 72, 65, 74, 59,
+  57, 59, 57, 50, 42, 40, 47, 54, 48, 48, 47, 63, 56, 57, 52, 61,
+  62, 55, 52, 53, 47, 36, 34, 39, 33, 45, 46, 34, 33, 44, 45, 33,
+  39, 34, 38, 45, 47, 41, 34, 31, 44, 51, 41, 38, 51, 42, 27, 38,
+  49, 42, 37, 42, 53, 57, 59, 58, 58, 55, 61, 62, 53, 51, 54, 49,
+  56, 59, 60, 57, 54, 52, 46, 40, 29, 29, 27, 24, 20, 18, 18, 20,
+  24, 30, 36, 45, 65, 92, 155, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  201, 81, 70, 75, 80, 77, 62, 57, 64, 68, 63, 63, 61, 58, 68, 66,
+  62, 74, 60, 61, 62, 60, 54, 47, 48, 55, 62, 52, 56, 57, 60, 52,
+  49, 48, 54, 59, 53, 52, 52, 41, 26, 28, 40, 38, 47, 41, 24, 26,
+  41, 44, 30, 39, 33, 35, 42, 48, 43, 36, 30, 44, 51, 44, 40, 49,
+  44, 33, 37, 48, 40, 34, 37, 43, 49, 52, 50, 54, 52, 57, 52, 40,
+  44, 54, 51, 60, 64, 67, 66, 61, 55, 50, 46, 60, 59, 56, 50, 43,
+  37, 32, 29, 26, 28, 28, 32, 49, 77, 93, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 200, 84, 78, 72, 83, 78, 74, 70, 69, 67, 69, 72, 78, 73,
+  61, 61, 53, 51, 66, 55, 66, 63, 58, 53, 50, 50, 53, 56, 49, 58,
+  61, 47, 44, 47, 52, 48, 47, 52, 53, 46, 36, 31, 34, 39, 37, 43,
+  35, 20, 24, 41, 45, 35, 43, 33, 33, 38, 47, 43, 38, 33, 43, 52,
+  50, 44, 47, 48, 43, 39, 41, 37, 31, 31, 38, 44, 47, 46, 53, 46,
+  46, 40, 33, 41, 54, 49, 55, 58, 64, 67, 67, 64, 62, 62, 78, 74,
+  67, 58, 48, 38, 30, 25, 27, 27, 24, 23, 36, 64, 85, 91, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 202, 86, 80, 79, 81, 85, 68, 62, 68, 72, 64, 64,
+  73, 71, 70, 58, 56, 49, 52, 71, 61, 64, 62, 59, 54, 49, 46, 45,
+  44, 46, 54, 58, 37, 44, 50, 58, 45, 33, 45, 49, 41, 36, 40, 41,
+  37, 31, 34, 29, 22, 28, 39, 44, 41, 44, 34, 33, 37, 46, 43, 41,
+  37, 40, 52, 56, 48, 43, 48, 48, 43, 34, 34, 29, 29, 35, 44, 45,
+  43, 47, 34, 31, 29, 28, 38, 48, 45, 44, 46, 54, 66, 73, 74, 75,
+  78, 56, 52, 46, 40, 35, 31, 26, 23, 24, 27, 24, 19, 29, 56, 80,
+  91, 102, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 202, 89, 81, 78, 81, 85, 81, 63, 52, 58,
+  66, 63, 63, 66, 60, 61, 55, 56, 52, 56, 74, 64, 53, 58, 61, 57,
+  49, 43, 42, 43, 54, 50, 54, 40, 55, 50, 55, 42, 31, 38, 42, 41,
+  41, 42, 38, 31, 30, 28, 28, 28, 30, 33, 36, 39, 37, 32, 33, 39,
+  47, 45, 45, 42, 41, 56, 65, 53, 38, 45, 50, 42, 31, 32, 30, 29,
+  34, 43, 46, 43, 40, 21, 21, 30, 32, 36, 43, 41, 44, 43, 51, 67,
+  77, 77, 75, 75, 57, 51, 44, 39, 38, 38, 37, 36, 26, 32, 29, 21,
+  24, 48, 74, 88, 96, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 87, 81, 76, 76, 80, 84, 81,
+  65, 51, 51, 62, 67, 67, 64, 63, 67, 63, 64, 56, 54, 66, 48, 42,
+  53, 63, 63, 53, 45, 47, 52, 66, 50, 53, 47, 65, 48, 48, 38, 37,
+  35, 37, 44, 45, 38, 29, 23, 33, 29, 29, 32, 32, 25, 26, 33, 33,
+  30, 33, 42, 48, 48, 46, 46, 42, 58, 70, 56, 35, 42, 50, 39, 28,
+  32, 32, 30, 35, 43, 45, 41, 34, 17, 19, 35, 36, 34, 39, 43, 54,
+  50, 56, 70, 78, 73, 65, 61, 71, 61, 49, 38, 33, 29, 26, 24, 31,
+  38, 36, 25, 22, 42, 67, 82, 92, 99, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 83, 79, 79, 80,
+  79, 77, 56, 61, 61, 59, 61, 64, 62, 54, 52, 57, 44, 51, 56, 43,
+  48, 52, 37, 66, 64, 47, 48, 46, 38, 42, 47, 51, 61, 62, 51, 37,
+  38, 47, 53, 43, 56, 43, 20, 17, 20, 33, 28, 21, 31, 41, 30, 21,
+  31, 42, 28, 34, 42, 47, 48, 46, 43, 43, 54, 59, 59, 55, 50, 41,
+  27, 17, 20, 30, 32, 27, 33, 44, 36, 17, 32, 28, 25, 29, 37, 44,
+  46, 42, 36, 44, 57, 64, 65, 66, 69, 72, 62, 50, 37, 30, 31, 33,
+  31, 28, 30, 30, 14, 19, 26, 37, 63, 69, 84, 92, 152, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 75,
+  75, 80, 82, 78, 72, 54, 59, 60, 57, 55, 54, 50, 43, 48, 49, 41,
+  47, 41, 32, 46, 45, 32, 60, 64, 54, 56, 49, 38, 42, 57, 52, 50,
+  49, 50, 48, 48, 49, 46, 37, 52, 46, 30, 29, 27, 34, 23, 23, 32,
+  37, 34, 36, 39, 33, 35, 39, 45, 49, 49, 46, 44, 41, 55, 62, 66,
+  57, 47, 36, 29, 24, 31, 32, 27, 21, 25, 33, 31, 23, 24, 27, 31,
+  37, 42, 45, 47, 45, 41, 45, 53, 57, 57, 57, 57, 59, 59, 52, 44,
+  41, 42, 41, 35, 29, 29, 35, 25, 27, 24, 27, 51, 57, 83, 93, 102,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 76, 68, 72, 83, 87, 80, 71, 64, 68, 69, 63, 57, 52, 45, 39,
+  40, 36, 35, 41, 24, 22, 49, 47, 61, 62, 47, 32, 33, 36, 48, 67,
+  55, 56, 58, 60, 65, 67, 61, 53, 62, 44, 51, 43, 30, 29, 23, 25,
+  22, 25, 30, 29, 32, 44, 41, 19, 39, 43, 48, 51, 50, 48, 47, 45,
+  54, 64, 67, 54, 39, 29, 30, 32, 35, 31, 25, 24, 26, 28, 28, 29,
+  13, 18, 25, 29, 34, 36, 40, 44, 49, 49, 52, 55, 56, 57, 56, 56,
+  47, 45, 44, 46, 47, 43, 33, 24, 31, 43, 38, 38, 28, 23, 46, 54,
+  78, 89, 99, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 78, 75, 80, 90, 93, 86, 78, 73, 75, 73, 66, 57,
+  50, 46, 43, 32, 27, 32, 40, 18, 23, 61, 55, 59, 47, 39, 41, 46,
+  44, 47, 56, 56, 63, 68, 66, 68, 72, 71, 67, 76, 49, 45, 32, 21,
+  25, 20, 22, 33, 30, 30, 28, 29, 40, 37, 17, 40, 45, 49, 50, 50,
+  48, 49, 49, 49, 57, 59, 46, 32, 27, 31, 35, 31, 26, 28, 35, 37,
+  33, 31, 35, 35, 37, 37, 39, 42, 50, 56, 58, 51, 51, 52, 56, 60,
+  64, 66, 66, 58, 59, 61, 65, 66, 61, 51, 42, 39, 49, 42, 41, 32,
+  29, 51, 59, 68, 80, 94, 103, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 199, 86, 85, 87, 91, 89, 83, 78, 75, 73,
+  68, 62, 52, 46, 44, 45, 30, 25, 30, 38, 16, 25, 64, 57, 57, 36,
+  31, 44, 55, 57, 57, 59, 68, 63, 58, 55, 63, 71, 75, 69, 63, 37,
+  36, 28, 23, 32, 29, 31, 43, 32, 30, 32, 29, 33, 37, 32, 47, 48,
+  50, 50, 49, 47, 47, 47, 48, 51, 49, 40, 34, 35, 37, 38, 34, 29,
+  32, 41, 40, 33, 32, 41, 45, 43, 41, 44, 50, 56, 56, 54, 45, 45,
+  46, 50, 56, 62, 66, 67, 65, 65, 66, 68, 69, 64, 56, 49, 46, 48,
+  34, 33, 29, 29, 51, 56, 60, 73, 89, 102, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 80, 80, 79, 80, 80, 76, 70,
+  66, 78, 71, 63, 60, 55, 49, 46, 46, 32, 31, 29, 34, 22, 30, 60,
+  51, 66, 39, 34, 44, 54, 66, 77, 75, 70, 58, 54, 66, 81, 80, 66,
+  49, 51, 32, 42, 40, 35, 40, 33, 34, 41, 30, 32, 37, 34, 35, 42,
+  42, 55, 55, 54, 49, 47, 44, 44, 46, 51, 51, 47, 42, 43, 47, 46,
+  42, 45, 40, 39, 40, 35, 31, 35, 46, 38, 37, 37, 44, 50, 50, 43,
+  35, 40, 41, 44, 47, 51, 57, 62, 65, 66, 64, 62, 59, 56, 51, 44,
+  40, 45, 43, 24, 24, 23, 24, 40, 39, 53, 68, 87, 101, 106, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 71, 68, 67, 72,
+  78, 80, 74, 68, 81, 71, 64, 66, 66, 59, 49, 46, 32, 37, 24, 28,
+  33, 40, 57, 49, 47, 39, 57, 72, 70, 73, 73, 58, 67, 58, 62, 79,
+  85, 69, 54, 46, 55, 42, 57, 55, 44, 44, 37, 39, 45, 46, 53, 54,
+  53, 59, 60, 45, 57, 56, 53, 50, 49, 48, 50, 53, 54, 55, 53, 49,
+  51, 53, 51, 44, 48, 50, 50, 47, 41, 39, 42, 50, 49, 49, 48, 51,
+  54, 54, 52, 51, 50, 54, 59, 62, 65, 69, 76, 82, 87, 83, 76, 68,
+  60, 52, 45, 41, 37, 39, 25, 28, 27, 23, 34, 29, 46, 62, 83, 99,
+  105, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 67, 72,
+  66, 65, 76, 91, 99, 95, 89, 82, 71, 65, 70, 70, 62, 48, 39, 29,
+  38, 22, 26, 43, 50, 58, 50, 61, 56, 67, 67, 53, 60, 72, 64, 72,
+  62, 63, 67, 52, 34, 45, 72, 60, 47, 64, 59, 47, 49, 49, 57, 60,
+  73, 83, 78, 79, 91, 82, 50, 51, 51, 51, 49, 50, 52, 58, 60, 52,
+  55, 56, 53, 52, 52, 50, 44, 39, 49, 60, 59, 53, 49, 48, 50, 51,
+  49, 44, 40, 39, 46, 55, 62, 66, 72, 80, 84, 86, 92, 100, 108, 93,
+  88, 82, 71, 59, 48, 39, 34, 30, 38, 32, 40, 39, 29, 36, 29, 41,
+  57, 80, 96, 102, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 89, 92, 80, 81, 96, 104, 97, 92, 96, 98, 89, 81, 76, 71, 59,
+  48, 43, 26, 26, 41, 53, 53, 57, 61, 53, 60, 55, 55, 65, 68, 60,
+  57, 61, 60, 65, 61, 54, 54, 61, 60, 53, 51, 47, 45, 40, 39, 44,
+  56, 63, 71, 70, 68, 64, 66, 69, 67, 61, 54, 49, 44, 40, 41, 43,
+  49, 51, 39, 42, 45, 45, 44, 44, 45, 45, 46, 50, 51, 50, 46, 43,
+  42, 45, 49, 52, 49, 42, 43, 50, 56, 60, 69, 58, 55, 65, 75, 75,
+  76, 81, 72, 70, 66, 59, 57, 59, 58, 54, 61, 44, 33, 33, 32, 23,
+  25, 33, 32, 30, 56, 69, 84, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 71, 66, 59, 78, 99, 105, 97, 88, 84, 86, 67, 68, 60,
+  51, 47, 48, 44, 37, 32, 32, 48, 61, 61, 62, 62, 55, 59, 54, 54,
+  62, 63, 58, 55, 59, 52, 53, 49, 44, 47, 49, 51, 46, 36, 36, 37,
+  36, 37, 44, 51, 59, 54, 54, 49, 47, 49, 54, 55, 52, 47, 47, 48,
+  48, 50, 51, 53, 52, 45, 46, 46, 44, 43, 44, 47, 48, 47, 49, 48,
+  47, 45, 44, 47, 50, 46, 48, 45, 41, 42, 49, 57, 57, 43, 47, 59,
+  74, 83, 79, 70, 65, 64, 66, 66, 66, 73, 78, 76, 69, 55, 46, 38,
+  35, 26, 18, 20, 29, 25, 25, 37, 49, 62, 154, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 61, 62, 65, 95, 117, 109, 93, 83, 75, 68,
+  60, 65, 56, 40, 31, 35, 36, 30, 45, 45, 60, 71, 69, 68, 66, 57,
+  57, 51, 50, 56, 57, 53, 51, 55, 55, 51, 47, 47, 49, 46, 47, 49,
+  28, 32, 37, 42, 45, 50, 53, 58, 47, 49, 44, 41, 44, 52, 56, 55,
+  48, 45, 43, 39, 37, 34, 34, 33, 45, 43, 44, 42, 43, 44, 48, 51,
+  50, 49, 48, 45, 43, 46, 53, 57, 46, 47, 46, 44, 47, 54, 59, 57,
+  51, 57, 63, 67, 73, 76, 75, 71, 64, 65, 65, 68, 75, 76, 65, 53,
+  53, 52, 47, 38, 26, 20, 21, 25, 19, 21, 18, 27, 42, 100, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 52, 66, 88, 95, 103, 106, 96, 89,
+  86, 75, 62, 69, 69, 61, 46, 35, 30, 34, 37, 58, 56, 67, 73, 71,
+  71, 71, 62, 57, 50, 49, 52, 52, 49, 50, 53, 61, 51, 48, 53, 53,
+  47, 46, 52, 34, 39, 47, 54, 57, 56, 55, 54, 45, 46, 46, 43, 45,
+  52, 58, 55, 63, 56, 46, 39, 36, 37, 40, 41, 40, 39, 40, 40, 42,
+  45, 49, 51, 52, 51, 49, 47, 45, 47, 53, 56, 48, 50, 51, 51, 56,
+  63, 66, 63, 67, 73, 70, 61, 62, 71, 76, 74, 85, 83, 80, 80, 85,
+  82, 67, 50, 56, 57, 52, 42, 32, 31, 28, 24, 18, 24, 13, 21, 40,
+  105, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 64, 81, 105, 98, 89,
+  84, 81, 82, 79, 74, 70, 65, 58, 54, 54, 47, 36, 43, 55, 69, 65,
+  71, 73, 69, 71, 75, 69, 61, 55, 51, 51, 51, 50, 53, 55, 56, 46,
+  45, 51, 53, 48, 49, 56, 46, 50, 57, 63, 64, 61, 57, 52, 39, 43,
+  45, 42, 43, 46, 49, 45, 49, 46, 43, 40, 43, 48, 55, 57, 46, 45,
+  47, 48, 50, 50, 50, 49, 52, 51, 50, 50, 49, 49, 47, 49, 53, 57,
+  60, 60, 65, 72, 75, 72, 59, 71, 77, 74, 73, 74, 69, 60, 79, 77,
+  73, 74, 82, 83, 72, 58, 55, 53, 46, 40, 37, 38, 31, 22, 18, 25,
+  17, 24, 57, 110, 100, 255, 255, 255, 255, 255, 255, 255, 255, 87, 88, 91,
+  94, 90, 88, 89, 85, 76, 67, 68, 75, 67, 61, 58, 57, 52, 47, 54,
+  66, 79, 70, 75, 76, 71, 74, 81, 76, 68, 63, 56, 52, 52, 53, 57,
+  58, 52, 47, 47, 51, 55, 57, 62, 65, 62, 64, 68, 71, 72, 68, 63,
+  58, 49, 54, 58, 55, 53, 54, 56, 51, 36, 40, 45, 51, 54, 57, 56,
+  57, 64, 62, 62, 60, 60, 56, 54, 50, 52, 54, 53, 54, 53, 50, 45,
+  42, 53, 58, 63, 62, 65, 72, 78, 81, 66, 73, 79, 81, 84, 85, 80,
+  74, 72, 70, 65, 64, 70, 73, 67, 57, 53, 44, 37, 36, 37, 36, 28,
+  20, 20, 21, 21, 26, 78, 110, 99, 255, 255, 255, 255, 255, 255, 255, 198,
+  90, 94, 90, 81, 90, 99, 101, 87, 73, 70, 72, 73, 75, 79, 70, 54,
+  50, 60, 68, 67, 80, 72, 76, 78, 73, 77, 83, 78, 75, 70, 62, 56,
+  55, 58, 63, 64, 58, 59, 59, 58, 62, 69, 73, 71, 73, 73, 74, 76,
+  78, 77, 74, 70, 68, 73, 74, 70, 67, 68, 69, 68, 61, 64, 69, 72,
+  72, 70, 67, 62, 72, 67, 65, 62, 63, 61, 58, 55, 56, 54, 53, 54,
+  54, 51, 46, 43, 48, 56, 63, 61, 61, 68, 77, 83, 88, 80, 74, 77,
+  85, 91, 97, 103, 99, 97, 90, 83, 82, 81, 73, 64, 56, 44, 38, 41,
+  40, 33, 27, 27, 24, 15, 23, 23, 96, 107, 101, 255, 255, 255, 255, 255,
+  255, 255, 85, 79, 82, 84, 79, 87, 99, 96, 74, 70, 84, 86, 71, 71,
+  85, 74, 44, 42, 71, 82, 69, 76, 71, 76, 79, 75, 78, 83, 78, 79,
+  73, 65, 57, 57, 61, 64, 66, 64, 68, 65, 60, 61, 70, 71, 67, 72,
+  71, 70, 73, 76, 77, 75, 72, 72, 76, 76, 70, 67, 69, 73, 73, 71,
+  69, 69, 68, 68, 65, 65, 65, 67, 61, 58, 56, 59, 61, 61, 60, 57,
+  56, 54, 52, 53, 51, 49, 45, 41, 52, 59, 56, 55, 60, 72, 81, 92,
+  78, 70, 77, 87, 91, 98, 107, 110, 109, 102, 92, 87, 82, 74, 66, 63,
+  50, 46, 51, 45, 33, 30, 37, 29, 12, 24, 19, 105, 105, 105, 255, 255,
+  255, 255, 255, 255, 255, 79, 84, 79, 81, 89, 89, 107, 102, 67, 87, 73,
+  79, 91, 78, 78, 72, 60, 62, 76, 78, 68, 83, 77, 74, 73, 77, 79,
+  82, 82, 83, 77, 75, 72, 70, 66, 67, 73, 64, 69, 73, 75, 77, 81,
+  80, 79, 77, 76, 75, 76, 78, 80, 79, 78, 82, 82, 82, 82, 82, 80,
+  75, 70, 69, 68, 68, 69, 70, 66, 61, 56, 60, 63, 65, 64, 65, 64,
+  59, 54, 58, 57, 60, 61, 57, 49, 47, 50, 52, 50, 56, 56, 45, 47,
+  65, 78, 83, 88, 82, 70, 75, 90, 96, 89, 116, 112, 111, 111, 111, 98,
+  76, 59, 60, 58, 50, 41, 37, 39, 35, 27, 27, 46, 19, 22, 88, 112,
+  98, 161, 255, 255, 255, 255, 255, 73, 78, 82, 80, 81, 85, 88, 86, 85,
+  75, 103, 91, 92, 97, 80, 68, 64, 71, 81, 85, 88, 89, 86, 85, 83,
+  84, 87, 88, 89, 87, 83, 79, 77, 78, 75, 70, 72, 75, 70, 75, 80,
+  81, 86, 91, 91, 88, 84, 83, 82, 83, 83, 84, 83, 82, 84, 83, 82,
+  80, 82, 78, 76, 71, 73, 70, 68, 67, 68, 67, 63, 60, 56, 59, 59,
+  59, 60, 65, 64, 62, 55, 55, 57, 60, 57, 50, 49, 51, 56, 49, 52,
+  51, 43, 46, 61, 69, 78, 85, 84, 76, 76, 85, 91, 91, 102, 110, 118,
+  118, 110, 96, 86, 81, 57, 58, 54, 46, 40, 40, 35, 28, 26, 40, 20,
+  26, 81, 107, 102, 113, 255, 255, 255, 255, 197, 81, 83, 85, 86, 86, 84,
+  85, 68, 72, 86, 114, 107, 105, 99, 84, 63, 65, 90, 104, 97, 97, 107,
+  83, 83, 85, 87, 89, 89, 88, 84, 83, 78, 77, 79, 80, 76, 75, 77,
+  77, 83, 88, 88, 91, 95, 94, 93, 90, 89, 86, 87, 89, 90, 87, 85,
+  87, 85, 83, 81, 82, 80, 78, 75, 77, 74, 70, 68, 68, 68, 67, 66,
+  67, 67, 64, 60, 60, 64, 63, 59, 55, 54, 57, 58, 56, 50, 50, 54,
+  60, 49, 49, 48, 42, 45, 55, 57, 74, 81, 86, 85, 82, 80, 84, 89,
+  90, 88, 89, 94, 99, 93, 79, 66, 57, 60, 58, 51, 42, 38, 34, 29,
+  23, 28, 20, 28, 67, 98, 105, 109, 255, 255, 255, 255, 83, 88, 83, 82,
+  86, 86, 80, 79, 70, 82, 97, 107, 109, 110, 97, 78, 68, 79, 103, 115,
+  105, 100, 108, 95, 91, 93, 93, 96, 96, 96, 92, 85, 78, 76, 78, 81,
+  79, 79, 81, 83, 87, 91, 90, 90, 92, 90, 88, 91, 90, 87, 88, 89,
+  90, 87, 86, 90, 87, 83, 82, 82, 81, 80, 78, 78, 76, 74, 72, 70,
+  69, 68, 67, 73, 73, 69, 63, 62, 64, 62, 57, 57, 54, 56, 58, 56,
+  50, 51, 53, 62, 51, 49, 48, 39, 39, 48, 52, 71, 77, 87, 94, 92,
+  82, 78, 81, 100, 96, 95, 100, 106, 102, 89, 78, 66, 67, 64, 55, 42,
+  35, 32, 31, 21, 19, 19, 29, 52, 86, 106, 104, 255, 255, 255, 255, 82,
+  84, 75, 72, 77, 79, 73, 72, 88, 105, 106, 96, 108, 112, 101, 63, 76,
+  97, 110, 113, 108, 103, 102, 95, 92, 90, 89, 92, 93, 96, 93, 90, 81,
+  79, 80, 83, 83, 86, 89, 82, 87, 90, 88, 89, 90, 90, 86, 93, 91,
+  90, 91, 90, 91, 88, 86, 90, 87, 84, 83, 81, 80, 79, 77, 73, 74,
+  75, 74, 73, 70, 67, 65, 64, 66, 66, 64, 66, 69, 67, 61, 61, 57,
+  58, 57, 53, 47, 48, 52, 61, 54, 56, 53, 40, 37, 46, 52, 70, 75,
+  86, 98, 102, 91, 79, 75, 70, 85, 97, 94, 82, 74, 80, 89, 79, 76,
+  69, 58, 44, 35, 34, 36, 26, 19, 21, 28, 44, 80, 106, 103, 255, 255,
+  255, 195, 80, 80, 71, 69, 75, 78, 75, 73, 105, 115, 110, 98, 115, 111,
+  104, 55, 83, 109, 114, 110, 111, 109, 103, 95, 91, 88, 88, 88, 92, 93,
+  92, 97, 85, 83, 85, 88, 88, 91, 93, 80, 85, 89, 90, 91, 95, 96,
+  92, 97, 96, 95, 95, 94, 94, 93, 89, 90, 87, 85, 84, 82, 81, 79,
+  77, 73, 75, 77, 76, 75, 70, 66, 65, 64, 66, 65, 63, 64, 66, 63,
+  56, 61, 59, 57, 57, 53, 47, 48, 51, 58, 53, 58, 59, 43, 39, 49,
+  53, 67, 74, 86, 97, 104, 100, 90, 81, 79, 88, 97, 96, 90, 86, 91,
+  98, 83, 75, 66, 58, 46, 39, 38, 41, 35, 27, 24, 26, 42, 78, 104,
+  105, 255, 255, 255, 73, 72, 72, 71, 73, 77, 81, 82, 84, 109, 101, 108,
+  113, 125, 99, 94, 67, 90, 112, 115, 111, 113, 112, 108, 105, 103, 102, 101,
+  104, 106, 105, 102, 96, 87, 85, 90, 96, 94, 90, 89, 83, 88, 92, 92,
+  97, 100, 100, 96, 101, 102, 98, 99, 100, 98, 96, 93, 91, 89, 87, 87,
+  85, 83, 78, 75, 76, 78, 79, 76, 74, 70, 68, 69, 73, 73, 69, 64,
+  62, 64, 62, 56, 60, 56, 56, 57, 54, 48, 48, 54, 60, 53, 58, 63,
+  52, 49, 55, 54, 61, 75, 86, 91, 99, 106, 105, 99, 93, 85, 78, 77,
+  82, 80, 73, 64, 69, 60, 53, 51, 45, 40, 39, 42, 41, 35, 22, 19,
+  40, 74, 97, 104, 152, 255, 76, 63, 60, 61, 66, 72, 76, 80, 83, 97,
+  107, 83, 103, 124, 129, 83, 78, 83, 96, 112, 115, 114, 113, 112, 112, 92,
+  91, 92, 93, 96, 94, 94, 89, 91, 85, 85, 92, 98, 94, 87, 83, 88,
+  92, 95, 94, 97, 100, 98, 94, 103, 101, 100, 100, 101, 99, 97, 96, 91,
+  90, 89, 90, 88, 85, 81, 77, 80, 81, 82, 77, 72, 69, 71, 73, 72,
+  72, 68, 63, 65, 71, 73, 70, 61, 57, 57, 59, 56, 52, 52, 56, 62,
+  52, 58, 64, 61, 60, 59, 54, 54, 76, 88, 86, 92, 110, 119, 117, 119,
+  115, 107, 96, 84, 73, 66, 61, 51, 43, 39, 43, 42, 39, 36, 38, 45,
+  38, 19, 12, 37, 70, 90, 99, 104, 255, 75, 71, 69, 70, 72, 71, 75,
+  86, 95, 97, 80, 93, 113, 115, 109, 93, 60, 89, 106, 105, 104, 100, 100,
+  113, 105, 85, 95, 98, 90, 89, 92, 89, 79, 81, 77, 80, 87, 99, 102,
+  89, 71, 91, 87, 89, 95, 98, 97, 97, 100, 106, 105, 103, 102, 106, 108,
+  110, 108, 97, 96, 95, 95, 95, 93, 89, 86, 81, 82, 83, 82, 80, 77,
+  73, 71, 78, 68, 56, 49, 46, 50, 62, 75, 67, 62, 57, 57, 59, 58,
+  52, 47, 57, 65, 71, 70, 64, 59, 59, 62, 54, 67, 81, 90, 97, 106,
+  115, 120, 137, 135, 122, 100, 86, 79, 65, 51, 47, 46, 44, 39, 36, 35,
+  36, 38, 38, 34, 44, 21, 20, 71, 100, 96, 99, 76, 64, 78, 77, 82,
+  85, 86, 81, 83, 85, 68, 75, 91, 124, 104, 108, 91, 78, 83, 102, 108,
+  115, 112, 103, 108, 96, 103, 109, 106, 95, 92, 98, 100, 95, 88, 85, 83,
+  83, 88, 95, 95, 89, 93, 89, 92, 98, 102, 102, 102, 105, 109, 111, 115,
+  117, 120, 119, 115, 109, 100, 97, 94, 90, 89, 87, 85, 82, 83, 84, 84,
+  83, 80, 77, 73, 71, 79, 71, 63, 57, 53, 53, 61, 70, 68, 64, 58,
+  57, 59, 59, 57, 54, 56, 63, 72, 70, 63, 60, 66, 73, 67, 69, 79,
+  95, 99, 95, 100, 112, 110, 111, 104, 95, 86, 79, 68, 58, 56, 49, 45,
+  41, 42, 41, 40, 38, 27, 28, 45, 24, 27, 77, 102, 101, 104, 86, 80,
+  76, 74, 81, 87, 90, 83, 81, 82, 66, 86, 94, 134, 97, 105, 78, 75,
+  92, 101, 100, 107, 104, 96, 105, 101, 99, 104, 102, 92, 88, 93, 94, 90,
+  96, 96, 95, 87, 83, 86, 91, 93, 92, 88, 92, 98, 104, 104, 106, 108,
+  115, 119, 122, 124, 125, 122, 117, 110, 109, 103, 97, 92, 90, 89, 87, 85,
+  89, 89, 89, 87, 85, 81, 78, 76, 78, 73, 69, 66, 62, 59, 62, 68,
+  69, 66, 61, 58, 56, 56, 56, 56, 57, 63, 71, 68, 62, 62, 69, 79,
+  70, 64, 76, 101, 108, 96, 97, 112, 104, 103, 102, 101, 92, 79, 68, 63,
+  66, 55, 48, 44, 47, 45, 41, 34, 25, 30, 46, 28, 35, 81, 100, 99,
+  102, 77, 73, 84, 77, 79, 84, 86, 80, 80, 84, 86, 101, 103, 132, 105,
+  101, 68, 60, 97, 101, 96, 102, 99, 91, 103, 103, 98, 105, 108, 104, 101,
+  99, 95, 88, 89, 94, 99, 95, 90, 90, 91, 90, 87, 84, 88, 96, 102,
+  104, 106, 111, 116, 114, 113, 112, 113, 111, 109, 107, 112, 107, 102, 97, 97,
+  93, 91, 89, 92, 91, 90, 88, 86, 82, 79, 78, 78, 75, 73, 72, 68,
+  64, 65, 70, 70, 70, 65, 60, 54, 51, 50, 51, 61, 63, 68, 67, 65,
+  64, 67, 71, 72, 70, 82, 107, 117, 107, 102, 107, 115, 111, 109, 111, 101,
+  84, 74, 75, 72, 63, 56, 50, 49, 44, 39, 33, 28, 30, 39, 26, 45,
+  91, 103, 101, 101, 79, 80, 96, 87, 88, 93, 92, 82, 81, 86, 94, 108,
+  118, 125, 113, 91, 70, 65, 91, 102, 102, 112, 108, 94, 95, 84, 95, 101,
+  105, 104, 100, 98, 93, 88, 80, 84, 92, 94, 96, 99, 98, 93, 86, 83,
+  88, 96, 103, 105, 108, 113, 110, 110, 110, 112, 115, 115, 114, 113, 110, 107,
+  106, 104, 106, 102, 99, 96, 93, 92, 90, 87, 84, 81, 79, 77, 85, 81,
+  77, 75, 70, 64, 65, 70, 68, 68, 64, 60, 55, 51, 49, 49, 62, 60,
+  63, 66, 69, 69, 65, 62, 77, 83, 94, 109, 118, 115, 102, 91, 111, 105,
+  102, 106, 100, 88, 82, 85, 74, 69, 66, 58, 51, 43, 40, 38, 32, 29,
+  29, 19, 54, 103, 109, 109, 108, 90, 96, 83, 79, 88, 99, 99, 87, 87,
+  96, 98, 121, 135, 122, 105, 71, 65, 76, 89, 101, 97, 98, 93, 86, 89,
+  74, 93, 94, 94, 92, 90, 89, 90, 90, 92, 91, 91, 89, 92, 96, 95,
+  89, 89, 87, 91, 100, 107, 109, 112, 118, 114, 118, 125, 133, 138, 137, 133,
+  127, 113, 113, 115, 115, 117, 117, 114, 109, 102, 101, 99, 96, 92, 89, 87,
+  86, 93, 88, 83, 79, 72, 65, 64, 68, 66, 65, 60, 58, 56, 55, 54,
+  54, 59, 58, 62, 66, 70, 70, 65, 61, 73, 80, 89, 102, 116, 120, 108,
+  92, 102, 95, 88, 87, 83, 78, 73, 71, 69, 67, 66, 59, 52, 45, 45,
+  44, 46, 40, 31, 19, 57, 102, 102, 104, 110, 79, 86, 74, 71, 82, 93,
+  92, 81, 87, 103, 106, 132, 129, 120, 91, 68, 54, 76, 83, 97, 88, 80,
+  80, 87, 97, 80, 97, 98, 99, 99, 97, 96, 97, 98, 100, 98, 97, 92,
+  90, 92, 90, 85, 92, 90, 94, 103, 110, 112, 115, 121, 122, 128, 135, 141,
+  145, 141, 135, 129, 118, 117, 117, 119, 122, 124, 123, 120, 114, 110, 107, 104,
+  100, 98, 96, 95, 92, 89, 87, 85, 79, 71, 69, 72, 73, 67, 57, 54,
+  55, 58, 60, 60, 62, 63, 68, 68, 66, 64, 64, 65, 75, 71, 76, 97,
+  116, 120, 114, 107, 96, 91, 80, 72, 70, 69, 59, 48, 56, 53, 53, 51,
+  50, 48, 47, 44, 49, 47, 39, 24, 60, 98, 96, 104, 108, 88, 99, 92,
+  83, 86, 88, 80, 68, 80, 101, 109, 131, 105, 113, 83, 82, 54, 76, 65,
+  91, 93, 91, 95, 105, 109, 83, 81, 85, 91, 96, 95, 90, 86, 85, 86,
+  91, 98, 97, 96, 97, 95, 91, 93, 90, 95, 103, 110, 113, 115, 121, 126,
+  127, 124, 124, 124, 123, 117, 114, 114, 112, 110, 110, 114, 117, 119, 117, 113,
+  109, 106, 102, 99, 96, 94, 94, 86, 85, 87, 89, 86, 79, 76, 79, 84,
+  73, 58, 52, 54, 59, 61, 62, 67, 71, 77, 70, 61, 56, 60, 67, 92,
+  73, 71, 97, 116, 113, 108, 113, 89, 87, 76, 67, 68, 72, 61, 43, 44,
+  38, 37, 40, 46, 48, 46, 40, 33, 40, 38, 26, 63, 102, 103, 119, 108,
+  90, 82, 70, 86, 90, 87, 89, 74, 78, 109, 119, 121, 109, 117, 88, 75,
+  56, 61, 81, 82, 89, 95, 96, 92, 86, 82, 90, 87, 87, 91, 93, 91,
+  93, 96, 85, 87, 93, 94, 94, 93, 94, 95, 95, 95, 99, 104, 109, 113,
+  113, 115, 131, 128, 122, 122, 124, 124, 117, 112, 109, 107, 105, 108, 114, 118,
+  119, 117, 115, 112, 109, 104, 100, 97, 91, 86, 92, 91, 89, 85, 81, 79,
+  79, 80, 80, 68, 58, 51, 47, 56, 64, 56, 71, 75, 78, 71, 65, 65,
+  66, 66, 71, 87, 67, 102, 101, 110, 115, 106, 93, 79, 75, 64, 67, 75,
+  57, 50, 42, 40, 41, 38, 38, 38, 42, 44, 44, 36, 38, 29, 57, 103,
+  109, 109, 109, 90, 80, 68, 72, 66, 63, 75, 74, 85, 112, 106, 113, 109,
+  103, 78, 64, 58, 64, 85, 84, 88, 90, 90, 86, 82, 79, 86, 85, 87,
+  92, 94, 91, 90, 92, 90, 91, 96, 97, 97, 95, 96, 97, 90, 90, 94,
+  98, 104, 109, 111, 114, 125, 124, 120, 119, 119, 114, 106, 99, 108, 107, 109,
+  113, 119, 122, 121, 117, 113, 111, 108, 103, 98, 92, 85, 80, 91, 93, 93,
+  91, 86, 82, 79, 78, 87, 74, 64, 57, 53, 62, 69, 61, 66, 71, 74,
+  67, 62, 62, 63, 64, 94, 100, 80, 94, 91, 106, 102, 93, 108, 95, 89,
+  71, 65, 69, 50, 44, 46, 43, 44, 41, 39, 37, 39, 39, 44, 38, 40,
+  30, 55, 99, 108, 110, 113, 91, 82, 72, 65, 52, 51, 71, 81, 92, 107,
+  96, 105, 109, 86, 69, 55, 64, 69, 83, 80, 83, 84, 85, 84, 82, 81,
+  84, 83, 87, 93, 94, 90, 88, 88, 90, 91, 95, 96, 94, 93, 93, 94,
+  91, 90, 91, 94, 99, 104, 108, 111, 118, 116, 116, 117, 117, 114, 106, 99,
+  97, 99, 103, 106, 110, 111, 109, 105, 109, 108, 108, 106, 101, 94, 88, 85,
+  91, 94, 97, 97, 93, 86, 81, 79, 92, 79, 68, 61, 57, 66, 72, 64,
+  61, 66, 70, 63, 59, 60, 61, 62, 90, 93, 90, 86, 86, 110, 95, 88,
+  100, 92, 92, 75, 67, 69, 53, 51, 48, 45, 45, 42, 40, 37, 35, 34,
+  41, 38, 42, 29, 50, 93, 103, 108, 113, 87, 80, 79, 72, 65, 65, 80,
+  90, 94, 95, 88, 95, 100, 65, 60, 47, 66, 65, 73, 72, 77, 82, 86,
+  87, 87, 87, 86, 84, 86, 91, 92, 89, 88, 90, 87, 87, 91, 91, 89,
+  87, 88, 88, 95, 92, 92, 93, 97, 102, 106, 109, 115, 115, 113, 113, 113,
+  108, 103, 99, 103, 102, 105, 105, 109, 108, 106, 105, 97, 98, 101, 104, 102,
+  96, 93, 93, 91, 94, 98, 98, 95, 90, 86, 85, 91, 77, 66, 59, 55,
+  65, 70, 61, 60, 65, 69, 63, 59, 60, 63, 64, 72, 80, 100, 85, 86,
+  110, 89, 84, 78, 79, 89, 79, 72, 72, 54, 51, 43, 40, 41, 40, 40,
+  37, 35, 32, 36, 34, 39, 24, 42, 83, 95, 103, 106, 80, 76, 83, 80,
+  81, 77, 81, 90, 94, 86, 84, 83, 81, 49, 51, 45, 62, 58, 66, 67,
+  75, 83, 89, 91, 90, 89, 91, 87, 86, 89, 90, 88, 90, 93, 89, 89,
+  92, 91, 88, 87, 88, 89, 92, 89, 89, 90, 95, 102, 107, 111, 117, 114,
+  109, 105, 101, 96, 92, 90, 97, 95, 95, 92, 94, 92, 92, 93, 86, 86,
+  90, 96, 94, 88, 88, 92, 91, 93, 95, 94, 93, 91, 91, 92, 89, 74,
+  61, 55, 53, 64, 68, 58, 62, 67, 71, 65, 62, 63, 66, 66, 72, 84,
+  110, 86, 83, 97, 83, 81, 70, 74, 90, 84, 77, 72, 46, 38, 36, 33,
+  34, 35, 39, 38, 37, 34, 30, 29, 34, 18, 34, 75, 88, 96, 99, 196,
+  81, 81, 80, 85, 76, 71, 82, 93, 82, 85, 78, 67, 49, 51, 52, 62,
+  60, 69, 70, 77, 85, 89, 89, 87, 86, 93, 88, 86, 87, 88, 87, 91,
+  95, 94, 93, 95, 94, 92, 91, 93, 94, 85, 83, 84, 88, 95, 102, 108,
+  111, 110, 110, 106, 101, 100, 100, 101, 100, 90, 88, 87, 85, 83, 82, 84,
+  86, 90, 88, 90, 95, 90, 82, 82, 89, 91, 92, 91, 90, 88, 89, 92,
+  94, 88, 72, 60, 54, 54, 65, 70, 58, 63, 68, 73, 67, 63, 64, 67,
+  67, 77, 87, 104, 81, 81, 85, 91, 92, 68, 70, 84, 83, 82, 79, 50,
+  36, 33, 29, 29, 31, 37, 38, 38, 34, 28, 26, 30, 14, 31, 72, 85,
+  93, 97, 255, 88, 76, 77, 86, 77, 66, 80, 91, 74, 79, 71, 55, 54,
+  49, 56, 60, 67, 74, 73, 77, 82, 85, 85, 85, 84, 91, 87, 86, 88,
+  88, 87, 88, 92, 92, 91, 93, 92, 90, 90, 92, 94, 87, 85, 87, 90,
+  96, 103, 108, 110, 108, 108, 108, 105, 104, 104, 105, 104, 96, 98, 100, 98,
+  96, 94, 96, 98, 98, 93, 94, 96, 89, 79, 80, 89, 91, 91, 90, 88,
+  86, 85, 87, 89, 87, 71, 58, 54, 55, 67, 71, 59, 63, 68, 72, 66,
+  61, 62, 64, 65, 73, 81, 86, 77, 88, 79, 100, 94, 71, 65, 72, 71,
+  79, 84, 58, 44, 38, 32, 30, 30, 35, 36, 35, 32, 31, 27, 29, 14,
+  33, 75, 87, 94, 97, 255, 85, 73, 76, 91, 86, 72, 83, 89, 64, 66,
+  59, 43, 54, 40, 51, 53, 69, 73, 73, 75, 78, 81, 83, 85, 86, 87,
+  85, 85, 89, 89, 86, 86, 88, 85, 84, 87, 86, 84, 84, 87, 89, 95,
+  93, 92, 93, 99, 101, 105, 106, 116, 116, 114, 108, 101, 95, 91, 87, 84,
+  89, 93, 94, 92, 90, 90, 91, 96, 91, 90, 92, 85, 74, 76, 88, 90,
+  91, 91, 88, 85, 82, 83, 83, 85, 69, 56, 52, 54, 67, 71, 59, 62,
+  66, 68, 63, 59, 60, 62, 62, 68, 76, 75, 77, 93, 71, 94, 76, 80,
+  66, 64, 59, 71, 79, 57, 43, 42, 36, 32, 30, 34, 36, 33, 29, 36,
+  31, 30, 16, 36, 79, 92, 96, 98, 255, 73, 66, 76, 83, 78, 71, 70,
+  71, 69, 46, 48, 53, 53, 53, 53, 59, 59, 58, 59, 66, 71, 74, 77,
+  79, 81, 81, 86, 90, 91, 88, 86, 87, 89, 85, 85, 85, 85, 85, 85,
+  85, 85, 88, 87, 87, 90, 96, 101, 106, 108, 115, 104, 98, 99, 94, 80,
+  79, 89, 89, 91, 92, 94, 93, 93, 91, 92, 94, 101, 102, 96, 91, 90,
+  90, 88, 88, 91, 94, 91, 86, 83, 86, 90, 82, 81, 59, 58, 49, 69,
+  63, 60, 59, 70, 73, 65, 59, 61, 68, 72, 72, 68, 65, 66, 67, 68,
+  74, 83, 78, 66, 70, 69, 54, 50, 52, 37, 41, 34, 32, 35, 39, 37,
+  31, 26, 22, 33, 47, 32, 39, 75, 88, 101, 94, 255, 255, 71, 77, 84,
+  81, 73, 62, 57, 56, 48, 50, 50, 50, 54, 58, 63, 63, 56, 58, 65,
+  70, 73, 75, 77, 79, 76, 77, 79, 83, 87, 90, 91, 91, 86, 86, 87,
+  87, 87, 86, 86, 85, 89, 87, 85, 85, 86, 89, 91, 93, 101, 96, 94,
+  98, 95, 90, 90, 97, 102, 103, 103, 104, 104, 100, 98, 99, 86, 93, 94,
+  90, 86, 86, 86, 83, 84, 87, 88, 86, 82, 81, 82, 84, 77, 77, 59,
+  58, 52, 70, 61, 56, 58, 66, 73, 68, 62, 63, 66, 66, 69, 68, 67,
+  65, 66, 69, 71, 70, 63, 56, 57, 60, 58, 60, 63, 56, 47, 40, 34,
+  35, 40, 41, 39, 36, 35, 38, 43, 27, 35, 70, 85, 97, 101, 255, 255,
+  72, 73, 81, 84, 76, 55, 44, 43, 50, 49, 47, 48, 55, 63, 68, 67,
+  59, 60, 66, 71, 74, 76, 78, 80, 77, 75, 75, 81, 90, 95, 94, 92,
+  91, 92, 93, 93, 93, 91, 89, 88, 91, 89, 86, 84, 83, 83, 85, 88,
+  93, 95, 96, 97, 97, 99, 99, 101, 92, 92, 93, 91, 90, 87, 85, 83,
+  84, 89, 91, 88, 86, 87, 86, 83, 81, 81, 81, 80, 79, 78, 78, 80,
+  71, 72, 56, 58, 54, 73, 61, 53, 58, 64, 72, 71, 67, 66, 63, 60,
+  65, 69, 67, 63, 65, 70, 67, 56, 73, 70, 60, 55, 63, 62, 58, 60,
+  45, 40, 36, 35, 39, 42, 39, 34, 34, 35, 44, 36, 49, 81, 86, 93,
+  104, 255, 255, 193, 65, 74, 85, 80, 55, 41, 40, 50, 48, 47, 51, 60,
+  68, 71, 68, 61, 62, 68, 73, 75, 77, 79, 81, 79, 80, 82, 88, 92,
+  94, 91, 88, 89, 90, 91, 92, 91, 89, 87, 86, 88, 88, 87, 86, 86,
+  88, 91, 96, 99, 104, 104, 100, 98, 101, 99, 95, 95, 93, 93, 93, 91,
+  89, 87, 86, 88, 92, 93, 90, 89, 90, 89, 85, 84, 82, 80, 79, 80,
+  79, 78, 78, 72, 74, 58, 61, 56, 74, 62, 55, 60, 64, 68, 70, 68,
+  65, 61, 57, 61, 70, 67, 58, 62, 70, 63, 49, 83, 84, 66, 57, 67,
+  63, 51, 55, 43, 41, 39, 39, 40, 41, 34, 25, 29, 24, 36, 35, 53,
+  84, 88, 97, 132, 255, 255, 255, 62, 71, 84, 82, 60, 46, 44, 50, 50,
+  51, 56, 66, 71, 70, 65, 61, 61, 67, 72, 74, 76, 78, 79, 75, 82,
+  90, 94, 93, 90, 87, 86, 84, 85, 85, 86, 85, 84, 82, 81, 84, 86,
+  87, 87, 87, 90, 95, 101, 104, 109, 107, 100, 96, 97, 95, 88, 98, 99,
+  97, 97, 97, 97, 97, 96, 93, 95, 94, 89, 88, 90, 88, 84, 85, 83,
+  81, 80, 80, 79, 76, 76, 75, 78, 62, 62, 55, 74, 63, 58, 63, 63,
+  64, 66, 64, 62, 61, 59, 63, 71, 69, 58, 61, 70, 66, 54, 67, 72,
+  58, 53, 68, 65, 56, 62, 50, 48, 41, 35, 35, 39, 32, 25, 33, 21,
+  25, 20, 36, 65, 75, 91, 218, 255, 255, 255, 255, 72, 81, 83, 68, 55,
+  50, 53, 55, 57, 62, 67, 70, 68, 63, 60, 60, 66, 70, 72, 74, 76,
+  77, 71, 80, 90, 94, 92, 88, 86, 86, 88, 88, 88, 88, 88, 88, 88,
+  88, 85, 87, 88, 87, 85, 86, 91, 98, 102, 102, 100, 98, 94, 92, 92,
+  92, 96, 97, 97, 96, 97, 98, 99, 99, 100, 100, 96, 91, 91, 94, 93,
+  89, 86, 85, 84, 81, 78, 75, 74, 75, 77, 84, 71, 68, 56, 71, 64,
+  60, 61, 60, 61, 61, 60, 55, 57, 63, 69, 72, 70, 62, 60, 64, 64,
+  58, 51, 53, 48, 46, 54, 56, 55, 58, 54, 47, 35, 26, 27, 38, 39,
+  32, 33, 26, 38, 36, 40, 51, 49, 64, 255, 255, 255, 255, 255, 74, 78,
+  83, 78, 69, 60, 58, 61, 63, 64, 65, 66, 66, 63, 62, 64, 70, 74,
+  76, 78, 79, 81, 79, 83, 89, 93, 94, 93, 91, 90, 96, 95, 94, 94,
+  94, 96, 98, 100, 95, 97, 98, 94, 90, 89, 94, 98, 100, 93, 92, 96,
+  97, 93, 95, 102, 110, 110, 110, 108, 109, 111, 112, 112, 103, 102, 96, 90,
+  92, 97, 98, 95, 90, 91, 90, 86, 79, 74, 74, 77, 77, 87, 78, 74,
+  57, 67, 59, 59, 55, 56, 60, 61, 58, 51, 55, 62, 67, 70, 71, 66,
+  59, 54, 55, 56, 50, 44, 46, 44, 37, 42, 49, 48, 48, 45, 37, 31,
+  36, 52, 55, 48, 37, 35, 51, 48, 42, 41, 37, 55, 255, 255, 255, 255,
+  255, 195, 75, 83, 87, 81, 70, 63, 66, 66, 64, 62, 62, 64, 65, 69,
+  69, 75, 79, 81, 82, 84, 85, 92, 90, 88, 91, 95, 97, 94, 91, 94,
+  93, 91, 90, 91, 94, 98, 100, 104, 106, 106, 102, 97, 96, 100, 105, 103,
+  92, 90, 100, 101, 95, 99, 112, 110, 109, 109, 109, 110, 108, 111, 110, 100,
+  95, 91, 83, 88, 94, 99, 94, 96, 97, 99, 91, 84, 76, 78, 81, 74,
+  89, 83, 81, 60, 66, 57, 55, 50, 53, 60, 63, 58, 50, 54, 62, 64,
+  66, 68, 66, 56, 44, 44, 49, 50, 39, 44, 42, 27, 32, 50, 45, 43,
+  47, 48, 50, 59, 72, 70, 59, 49, 38, 41, 29, 19, 27, 42, 77, 255,
+  255, 255, 255, 255, 255, 195, 82, 85, 79, 68, 71, 57, 65, 62, 63, 73,
+  65, 60, 68, 66, 70, 75, 80, 86, 89, 92, 91, 90, 90, 90, 90, 91,
+  92, 92, 85, 91, 93, 91, 92, 98, 103, 104, 102, 106, 109, 105, 98, 96,
+  100, 106, 101, 90, 89, 99, 101, 95, 101, 116, 118, 118, 115, 113, 117, 119,
+  116, 106, 106, 99, 97, 95, 96, 92, 96, 99, 95, 95, 98, 91, 84, 74,
+  75, 78, 78, 91, 90, 91, 65, 50, 58, 51, 65, 46, 61, 57, 59, 61,
+  46, 63, 70, 70, 70, 64, 56, 49, 47, 48, 39, 35, 37, 35, 30, 37,
+  43, 31, 37, 40, 53, 70, 80, 78, 65, 53, 41, 46, 35, 23, 23, 33,
+  57, 85, 255, 255, 255, 255, 255, 255, 255, 79, 80, 75, 66, 72, 63, 67,
+  62, 70, 78, 64, 65, 71, 69, 73, 78, 82, 86, 89, 90, 85, 85, 85,
+  87, 91, 94, 96, 96, 95, 97, 97, 96, 99, 105, 105, 101, 95, 97, 97,
+  95, 91, 92, 97, 102, 100, 89, 89, 101, 105, 99, 102, 114, 118, 115, 112,
+  111, 111, 112, 113, 114, 109, 104, 101, 102, 100, 98, 99, 103, 105, 89, 82,
+  89, 89, 77, 69, 71, 90, 52, 97, 91, 60, 70, 53, 61, 62, 50, 57,
+  58, 58, 53, 47, 57, 68, 67, 65, 66, 68, 59, 43, 31, 12, 18, 28,
+  31, 31, 38, 46, 40, 54, 57, 67, 76, 76, 70, 64, 61, 53, 50, 32,
+  22, 31, 46, 69, 94, 255, 255, 255, 255, 255, 255, 255, 255, 85, 82, 76,
+  74, 72, 67, 57, 73, 77, 56, 64, 72, 72, 76, 80, 84, 86, 87, 88,
+  91, 90, 90, 93, 98, 102, 104, 104, 102, 102, 101, 100, 104, 108, 104, 96,
+  96, 94, 91, 90, 91, 95, 101, 104, 95, 85, 87, 101, 109, 105, 105, 110,
+  116, 112, 112, 113, 107, 101, 107, 118, 115, 111, 109, 109, 108, 103, 103, 106,
+  97, 91, 86, 82, 76, 70, 68, 73, 93, 56, 83, 68, 65, 78, 50, 52,
+  57, 56, 51, 59, 58, 45, 51, 54, 72, 70, 62, 56, 49, 37, 20, 10,
+  19, 28, 37, 42, 46, 53, 59, 57, 72, 71, 76, 77, 68, 60, 62, 71,
+  66, 56, 33, 20, 32, 52, 75, 97, 255, 255, 255, 255, 255, 255, 255, 255,
+  203, 99, 98, 83, 84, 69, 51, 70, 70, 43, 59, 72, 72, 75, 79, 81,
+  82, 82, 81, 95, 93, 91, 93, 97, 100, 100, 98, 95, 98, 99, 98, 99,
+  100, 96, 90, 98, 92, 86, 85, 89, 95, 100, 101, 92, 82, 84, 100, 110,
+  107, 103, 102, 109, 106, 111, 115, 105, 88, 93, 107, 114, 111, 109, 111, 109,
+  104, 103, 105, 87, 97, 97, 85, 78, 79, 74, 63, 53, 75, 68, 60, 80,
+  63, 61, 47, 47, 56, 44, 60, 61, 45, 61, 55, 67, 65, 55, 34, 16,
+  9, 16, 25, 42, 49, 49, 49, 61, 70, 72, 74, 75, 67, 67, 67, 59,
+  50, 60, 76, 74, 70, 47, 28, 32, 46, 70, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 107, 108, 98, 98, 79, 55, 68, 65, 40, 57, 74, 73,
+  75, 77, 79, 79, 79, 79, 88, 84, 81, 82, 85, 87, 85, 83, 82, 91,
+  98, 96, 93, 93, 93, 93, 96, 89, 81, 79, 83, 89, 93, 94, 91, 81,
+  83, 96, 107, 105, 99, 94, 96, 97, 107, 113, 100, 76, 72, 82, 85, 82,
+  83, 87, 88, 86, 87, 90, 116, 108, 100, 94, 86, 76, 72, 76, 80, 61,
+  70, 75, 74, 51, 77, 59, 42, 52, 41, 58, 63, 50, 63, 56, 44, 41,
+  31, 18, 11, 21, 42, 61, 57, 60, 47, 42, 60, 70, 69, 75, 69, 55,
+  52, 58, 57, 50, 60, 78, 80, 83, 67, 41, 31, 35, 60, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 202, 99, 107, 104, 92, 68, 69, 65, 45,
+  59, 76, 74, 74, 75, 76, 77, 78, 78, 80, 74, 70, 70, 74, 76, 73,
+  68, 68, 81, 92, 91, 88, 90, 95, 99, 98, 91, 84, 81, 84, 88, 91,
+  93, 92, 84, 84, 93, 101, 100, 95, 90, 85, 87, 96, 99, 87, 66, 55,
+  57, 52, 50, 53, 58, 63, 64, 69, 73, 71, 55, 62, 82, 86, 94, 157,
+  234, 224, 59, 79, 77, 55, 63, 87, 60, 47, 49, 43, 53, 59, 53, 52,
+  44, 26, 20, 11, 16, 31, 47, 58, 61, 78, 81, 61, 49, 65, 69, 62,
+  69, 65, 46, 45, 60, 65, 57, 62, 78, 81, 83, 68, 42, 26, 27, 52,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 86, 96, 92, 94, 77,
+  66, 62, 49, 56, 74, 72, 71, 71, 71, 73, 76, 77, 78, 71, 64, 63,
+  65, 64, 59, 53, 53, 65, 75, 79, 82, 88, 95, 98, 98, 94, 89, 86,
+  87, 91, 95, 95, 97, 90, 86, 90, 97, 95, 92, 88, 84, 84, 86, 83,
+  77, 65, 52, 46, 51, 48, 51, 54, 59, 59, 65, 69, 89, 78, 81, 80,
+  69, 73, 137, 210, 232, 76, 84, 67, 61, 69, 91, 68, 60, 49, 51, 47,
+  50, 49, 28, 21, 20, 20, 20, 35, 53, 62, 58, 49, 77, 92, 79, 66,
+  77, 72, 60, 70, 66, 49, 52, 72, 75, 58, 58, 74, 84, 79, 59, 36,
+  32, 39, 60, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 79, 77,
+  73, 89, 78, 59, 57, 48, 49, 72, 68, 66, 65, 65, 67, 71, 74, 75,
+  67, 58, 53, 55, 51, 43, 36, 42, 50, 59, 66, 75, 86, 92, 91, 92,
+  90, 85, 83, 83, 86, 91, 92, 103, 96, 91, 91, 94, 95, 91, 89, 90,
+  87, 81, 73, 71, 68, 57, 46, 72, 68, 65, 69, 69, 71, 74, 79, 84,
+  87, 83, 79, 81, 89, 87, 79, 67, 75, 92, 73, 90, 58, 94, 97, 74,
+  53, 58, 43, 43, 45, 10, 2, 14, 25, 38, 53, 62, 66, 61, 56, 42,
+  74, 74, 68, 83, 77, 67, 83, 68, 53, 60, 80, 79, 57, 54, 70, 96,
+  82, 54, 39, 49, 63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 195, 83, 83, 77, 93, 35, 36, 60, 28, 50, 84, 65, 60, 57, 67,
+  53, 73, 62, 69, 66, 55, 54, 60, 61, 52, 61, 45, 51, 76, 72, 62,
+  82, 82, 94, 67, 90, 73, 77, 84, 100, 87, 91, 98, 94, 89, 91, 87,
+  79, 82, 76, 66, 60, 60, 61, 57, 49, 46, 38, 54, 36, 46, 66, 80,
+  77, 28, 44, 53, 77, 86, 64, 86, 68, 70, 67, 71, 77, 86, 96, 94,
+  78, 61, 36, 63, 34, 23, 27, 40, 11, 14, 31, 43, 56, 61, 64, 62,
+  54, 44, 52, 43, 58, 73, 88, 93, 67, 55, 41, 46, 64, 76, 71, 56,
+  57, 67, 81, 81, 50, 26, 68, 75, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 79, 77, 76, 46, 18, 13, 42, 78, 39, 59, 48,
+  59, 63, 73, 49, 49, 52, 60, 68, 71, 75, 77, 73, 65, 59, 78, 79,
+  91, 72, 80, 68, 80, 9, 58, 57, 80, 76, 72, 90, 102, 102, 111, 104,
+  90, 83, 73, 59, 56, 64, 60, 61, 61, 59, 52, 46, 45, 55, 32, 57,
+  72, 65, 75, 79, 224, 234, 36, 45, 54, 65, 75, 55, 73, 71, 67, 68,
+  77, 83, 83, 85, 91, 79, 87, 53, 14, 28, 38, 38, 44, 46, 47, 50,
+  51, 56, 59, 59, 54, 46, 44, 64, 71, 76, 76, 61, 59, 54, 61, 70,
+  74, 67, 60, 58, 59, 79, 76, 35, 26, 74, 85, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 72, 71, 73, 23, 56, 52, 32, 59,
+  32, 39, 38, 58, 62, 74, 62, 59, 69, 62, 57, 56, 54, 49, 51, 54,
+  60, 68, 62, 88, 102, 159, 115, 120, 229, 203, 17, 24, 55, 86, 87, 76,
+  95, 109, 103, 87, 85, 82, 72, 66, 55, 53, 54, 53, 49, 42, 43, 48,
+  43, 60, 87, 39, 38, 40, 126, 64, 43, 65, 56, 34, 50, 33, 57, 63,
+  81, 70, 66, 71, 67, 60, 70, 90, 47, 57, 47, 9, 36, 38, 52, 52,
+  53, 52, 50, 49, 57, 61, 58, 53, 46, 50, 72, 71, 63, 59, 55, 64,
+  50, 56, 62, 64, 65, 66, 62, 54, 80, 78, 23, 33, 83, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 81, 70, 38, 0, 51,
+  75, 49, 42, 31, 39, 56, 73, 66, 68, 70, 69, 65, 53, 43, 45, 41,
+  32, 31, 43, 64, 45, 65, 81, 69, 115, 95, 123, 134, 158, 35, 52, 50,
+  67, 85, 101, 91, 108, 105, 92, 91, 86, 65, 47, 55, 49, 45, 43, 43,
+  41, 45, 52, 65, 84, 72, 37, 55, 54, 193, 10, 42, 63, 112, 90, 18,
+  42, 35, 47, 73, 70, 68, 68, 62, 54, 57, 68, 28, 52, 61, 43, 59,
+  60, 62, 57, 48, 48, 49, 51, 59, 61, 50, 39, 51, 55, 75, 69, 57,
+  53, 53, 70, 51, 50, 54, 64, 71, 68, 61, 53, 83, 83, 28, 52, 95,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 84, 85,
+  59, 75, 67, 56, 41, 25, 63, 68, 84, 87, 75, 60, 53, 40, 24, 27,
+  45, 69, 71, 51, 37, 37, 91, 10, 40, 66, 55, 68, 62, 73, 86, 85,
+  44, 48, 29, 46, 61, 64, 65, 96, 103, 86, 74, 68, 67, 71, 62, 54,
+  49, 52, 56, 55, 54, 55, 91, 102, 107, 67, 21, 47, 62, 40, 58, 34,
+  52, 62, 33, 58, 45, 56, 57, 65, 66, 62, 64, 71, 70, 63, 54, 82,
+  81, 71, 54, 62, 53, 49, 45, 46, 48, 50, 58, 58, 46, 33, 48, 49,
+  64, 57, 51, 52, 52, 67, 71, 60, 64, 79, 88, 76, 60, 53, 71, 80,
+  41, 73, 153, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 113, 76, 39, 83, 45, 28, 74, 112, 132, 116, 98, 67, 66, 55, 45,
+  27, 21, 28, 51, 75, 76, 54, 33, 28, 93, 0, 8, 60, 84, 89, 71,
+  49, 67, 56, 88, 72, 26, 37, 53, 58, 67, 70, 83, 126, 175, 162, 88,
+  23, 63, 59, 61, 70, 76, 72, 63, 57, 75, 60, 129, 90, 43, 72, 47,
+  67, 52, 103, 79, 63, 94, 53, 61, 45, 63, 70, 69, 58, 67, 82, 85,
+  69, 50, 80, 83, 79, 48, 59, 51, 47, 50, 49, 47, 46, 50, 52, 47,
+  40, 40, 33, 45, 45, 49, 54, 50, 61, 80, 72, 74, 86, 95, 87, 70,
+  60, 52, 62, 50, 80, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 51, 20, 26, 68, 56, 39, 81, 139, 149, 137, 101, 46,
+  57, 53, 51, 40, 54, 54, 58, 65, 62, 50, 39, 38, 55, 41, 49, 80,
+  76, 70, 57, 60, 81, 53, 66, 44, 8, 34, 51, 61, 62, 73, 76, 71,
+  64, 46, 42, 56, 59, 58, 62, 71, 72, 67, 61, 58, 95, 34, 77, 70,
+  71, 52, 76, 73, 104, 55, 97, 83, 75, 74, 69, 67, 76, 76, 73, 65,
+  72, 80, 84, 76, 48, 74, 93, 81, 59, 61, 67, 59, 52, 51, 48, 44,
+  44, 47, 47, 43, 33, 24, 36, 40, 51, 62, 55, 62, 82, 87, 85, 78,
+  86, 95, 83, 60, 42, 47, 58, 80, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 78, 65, 91, 62, 47, 24, 49, 112, 101,
+  118, 100, 48, 64, 55, 52, 47, 66, 66, 68, 70, 72, 72, 71, 73, 54,
+  104, 77, 89, 82, 90, 60, 71, 70, 65, 63, 60, 33, 58, 67, 79, 85,
+  80, 71, 69, 68, 54, 56, 74, 54, 53, 54, 57, 54, 52, 55, 61, 46,
+  79, 78, 52, 76, 100, 78, 96, 77, 121, 84, 86, 75, 71, 72, 83, 76,
+  72, 71, 75, 78, 78, 80, 84, 67, 80, 97, 60, 43, 35, 59, 52, 43,
+  46, 48, 45, 44, 44, 42, 38, 31, 23, 37, 43, 57, 69, 63, 70, 93,
+  111, 103, 76, 78, 100, 88, 51, 44, 41, 65, 138, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 83, 70, 64, 65, 13,
+  62, 125, 143, 97, 73, 56, 87, 66, 49, 60, 66, 68, 72, 71, 69, 72,
+  77, 83, 80, 82, 85, 89, 92, 84, 72, 59, 59, 62, 45, 47, 42, 58,
+  61, 84, 77, 77, 77, 70, 60, 51, 55, 60, 55, 67, 72, 63, 43, 32,
+  38, 49, 60, 60, 60, 64, 68, 77, 84, 88, 93, 93, 88, 79, 74, 75,
+  77, 76, 74, 83, 84, 66, 58, 80, 93, 79, 73, 79, 106, 74, 39, 52,
+  51, 48, 45, 48, 49, 45, 42, 40, 35, 29, 28, 25, 56, 39, 67, 58,
+  82, 60, 58, 106, 95, 80, 84, 92, 90, 52, 41, 54, 72, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 75, 67,
+  62, 57, 20, 52, 113, 168, 116, 91, 65, 82, 65, 54, 66, 65, 67, 69,
+  71, 72, 73, 75, 79, 87, 81, 76, 69, 67, 63, 60, 56, 56, 54, 50,
+  53, 52, 61, 66, 70, 73, 74, 74, 70, 62, 56, 54, 55, 46, 53, 57,
+  53, 46, 41, 45, 51, 52, 53, 54, 57, 63, 70, 77, 81, 73, 76, 74,
+  67, 66, 71, 76, 78, 74, 78, 79, 66, 58, 76, 88, 78, 50, 67, 96,
+  71, 46, 54, 45, 43, 45, 47, 48, 44, 42, 41, 39, 34, 24, 23, 53,
+  41, 67, 61, 85, 66, 60, 99, 92, 79, 85, 91, 88, 57, 37, 53, 134,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 65, 62, 60, 49, 34, 34, 88, 140, 93, 83, 69, 74, 69, 69, 75,
+  66, 66, 67, 71, 73, 76, 76, 75, 67, 67, 70, 67, 66, 63, 60, 56,
+  59, 47, 52, 57, 46, 56, 69, 62, 62, 63, 66, 65, 61, 55, 48, 44,
+  48, 51, 53, 56, 61, 63, 62, 62, 56, 56, 56, 58, 62, 67, 71, 74,
+  68, 70, 71, 67, 69, 76, 83, 85, 77, 76, 76, 68, 61, 72, 83, 76,
+  57, 77, 85, 56, 44, 50, 45, 54, 50, 51, 50, 42, 40, 40, 39, 35,
+  27, 28, 54, 46, 68, 64, 85, 66, 62, 86, 80, 75, 87, 91, 85, 60,
+  35, 55, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 190, 59, 60, 47, 50, 19, 51, 83, 52, 65, 70, 69,
+  74, 76, 77, 70, 67, 67, 68, 73, 74, 73, 72, 57, 63, 69, 72, 74,
+  71, 70, 70, 68, 56, 49, 59, 22, 52, 68, 66, 58, 57, 60, 60, 59,
+  56, 46, 38, 56, 57, 60, 66, 74, 76, 75, 74, 71, 72, 70, 69, 68,
+  66, 67, 66, 72, 75, 79, 77, 80, 86, 88, 87, 85, 79, 79, 74, 66,
+  72, 80, 75, 75, 96, 88, 58, 52, 52, 46, 57, 56, 54, 50, 41, 36,
+  35, 34, 31, 36, 38, 59, 52, 67, 64, 77, 60, 57, 65, 58, 63, 83,
+  87, 70, 49, 32, 52, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 58, 61, 50, 59, 16, 20, 63, 47,
+  67, 78, 68, 77, 73, 71, 74, 68, 64, 62, 66, 67, 66, 67, 72, 71,
+  68, 64, 67, 70, 78, 84, 75, 72, 50, 66, 7, 54, 63, 72, 62, 62,
+  63, 59, 61, 62, 54, 44, 55, 57, 63, 70, 75, 78, 79, 81, 85, 84,
+  82, 79, 76, 71, 69, 66, 72, 77, 84, 86, 89, 92, 88, 82, 93, 87,
+  85, 81, 73, 77, 82, 74, 69, 96, 90, 74, 71, 60, 48, 47, 54, 54,
+  49, 37, 32, 33, 34, 31, 40, 44, 60, 57, 65, 65, 72, 56, 56, 54,
+  49, 53, 76, 75, 45, 24, 28, 117, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 61, 60, 56, 60, 30,
+  12, 60, 54, 68, 74, 64, 75, 67, 73, 72, 69, 66, 64, 65, 65, 65,
+  65, 64, 68, 68, 72, 76, 81, 84, 85, 77, 83, 58, 71, 18, 59, 62,
+  72, 61, 62, 62, 57, 59, 63, 57, 47, 50, 55, 65, 71, 77, 79, 83,
+  87, 86, 88, 88, 84, 82, 78, 76, 74, 74, 81, 89, 94, 99, 100, 94,
+  86, 95, 92, 91, 84, 76, 84, 87, 74, 67, 85, 74, 67, 64, 57, 60,
+  55, 50, 49, 44, 36, 33, 34, 37, 34, 39, 43, 59, 60, 62, 68, 71,
+  57, 70, 66, 63, 56, 69, 68, 28, 15, 32, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 66, 58,
+  58, 53, 56, 27, 41, 49, 57, 63, 61, 77, 62, 77, 72, 73, 75, 75,
+  73, 71, 72, 72, 63, 68, 78, 89, 95, 94, 85, 78, 78, 80, 63, 53,
+  38, 58, 65, 69, 57, 61, 63, 57, 58, 62, 57, 47, 51, 54, 64, 71,
+  79, 82, 84, 85, 88, 91, 90, 90, 89, 86, 84, 81, 83, 87, 93, 97,
+  103, 106, 100, 92, 89, 94, 94, 84, 79, 93, 95, 76, 83, 85, 65, 59,
+  49, 50, 72, 61, 48, 50, 45, 36, 34, 37, 40, 35, 36, 41, 56, 61,
+  60, 69, 70, 57, 75, 77, 80, 58, 55, 54, 22, 16, 32, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 69, 56, 58, 45, 76, 44, 24, 45, 50, 60, 63, 81, 56, 74, 74,
+  79, 86, 88, 86, 82, 82, 81, 94, 91, 89, 91, 95, 94, 86, 80, 83,
+  75, 62, 28, 49, 52, 71, 68, 59, 66, 69, 64, 63, 65, 58, 48, 51,
+  51, 57, 66, 77, 82, 80, 77, 94, 97, 96, 97, 96, 92, 90, 86, 91,
+  94, 96, 98, 101, 103, 98, 91, 84, 91, 93, 80, 77, 96, 99, 76, 90,
+  87, 71, 71, 53, 49, 70, 46, 51, 53, 47, 38, 35, 37, 38, 33, 36,
+  42, 55, 61, 58, 66, 67, 52, 66, 76, 84, 51, 39, 39, 15, 19, 102,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 190, 62, 60, 56, 62, 68, 51, 30, 50, 83, 54, 73,
+  81, 60, 85, 85, 86, 87, 89, 91, 95, 96, 103, 106, 108, 104, 95, 87,
+  83, 82, 82, 63, 48, 46, 49, 53, 64, 76, 70, 71, 70, 60, 57, 58,
+  58, 52, 52, 43, 53, 51, 58, 72, 73, 93, 106, 108, 106, 103, 101, 101,
+  106, 109, 106, 110, 114, 114, 113, 110, 108, 107, 115, 82, 71, 81, 87, 88,
+  84, 74, 76, 78, 78, 74, 69, 62, 50, 42, 55, 49, 42, 35, 29, 28,
+  36, 44, 47, 45, 56, 63, 56, 56, 69, 76, 75, 82, 76, 64, 30, 34,
+  9, 12, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 59, 55, 52, 55, 61, 87, 59, 31,
+  49, 50, 65, 71, 88, 87, 88, 90, 91, 93, 95, 98, 99, 101, 106, 112,
+  115, 111, 99, 84, 74, 61, 66, 65, 59, 60, 71, 76, 74, 80, 80, 75,
+  67, 60, 57, 53, 50, 58, 52, 64, 63, 65, 74, 75, 93, 101, 108, 115,
+  121, 122, 120, 114, 111, 111, 108, 107, 115, 122, 122, 112, 100, 97, 80, 79,
+  83, 74, 71, 78, 83, 67, 66, 66, 70, 71, 68, 62, 58, 54, 48, 41,
+  32, 28, 28, 35, 42, 44, 42, 53, 58, 51, 57, 70, 77, 73, 83, 80,
+  53, 35, 52, 43, 44, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 58, 54, 51, 53, 58,
+  75, 114, 78, 45, 44, 66, 63, 86, 86, 88, 92, 96, 99, 102, 105, 105,
+  117, 110, 102, 97, 96, 94, 90, 85, 43, 65, 71, 58, 60, 80, 84, 70,
+  82, 79, 75, 71, 63, 55, 51, 53, 54, 53, 70, 70, 69, 73, 71, 89,
+  97, 98, 99, 103, 107, 113, 117, 119, 121, 117, 114, 114, 115, 113, 107, 99,
+  97, 84, 85, 85, 71, 66, 76, 82, 76, 68, 65, 71, 73, 67, 63, 64,
+  53, 48, 40, 29, 26, 27, 34, 39, 45, 42, 49, 51, 48, 58, 72, 75,
+  76, 79, 77, 35, 36, 63, 76, 76, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 61, 57,
+  54, 55, 59, 61, 127, 111, 71, 56, 73, 67, 83, 80, 84, 89, 95, 101,
+  104, 107, 108, 107, 108, 110, 110, 104, 90, 73, 61, 53, 66, 63, 49, 55,
+  79, 86, 75, 78, 75, 73, 72, 64, 54, 52, 56, 43, 47, 70, 73, 71,
+  74, 71, 88, 160, 152, 136, 123, 113, 111, 110, 110, 115, 118, 116, 105, 92,
+  91, 102, 113, 116, 94, 86, 86, 81, 79, 78, 70, 85, 73, 68, 75, 76,
+  66, 60, 62, 52, 48, 39, 27, 23, 27, 34, 36, 49, 46, 48, 48, 47,
+  62, 75, 74, 89, 76, 72, 26, 38, 57, 82, 144, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 191, 60, 57, 57, 60, 79, 81, 74, 85, 68, 69, 70, 91, 92, 95,
+  100, 105, 109, 111, 114, 114, 108, 109, 108, 102, 90, 78, 69, 65, 80, 71,
+  58, 53, 65, 81, 87, 84, 81, 80, 79, 75, 66, 55, 53, 56, 40, 45,
+  70, 75, 73, 75, 70, 86, 92, 93, 90, 91, 94, 96, 95, 95, 89, 96,
+  97, 91, 83, 87, 103, 118, 118, 95, 85, 86, 85, 84, 78, 64, 72, 63,
+  62, 71, 76, 71, 66, 65, 53, 49, 40, 26, 23, 27, 33, 32, 49, 48,
+  48, 47, 53, 75, 88, 81, 96, 67, 59, 28, 41, 48, 71, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 59, 56, 56, 58, 65, 59, 68, 86, 53, 57, 65,
+  69, 82, 84, 86, 87, 89, 89, 90, 90, 96, 91, 80, 69, 64, 71, 86,
+  99, 88, 67, 54, 61, 76, 82, 82, 83, 89, 94, 92, 80, 67, 59, 54,
+  51, 40, 43, 65, 69, 67, 66, 58, 71, 96, 96, 89, 82, 77, 75, 75,
+  78, 87, 87, 88, 92, 96, 100, 102, 100, 96, 87, 88, 86, 76, 74, 74,
+  67, 62, 58, 57, 62, 70, 72, 66, 60, 55, 52, 42, 27, 24, 31, 35,
+  31, 44, 46, 49, 49, 60, 89, 100, 86, 87, 54, 44, 34, 44, 50, 126,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 57, 56, 58, 43, 68, 80, 80,
+  48, 63, 65, 54, 58, 58, 58, 59, 60, 60, 62, 62, 64, 69, 77, 83,
+  86, 85, 84, 83, 77, 60, 51, 60, 73, 79, 79, 80, 90, 102, 101, 81,
+  66, 62, 57, 48, 40, 40, 58, 60, 59, 58, 48, 59, 74, 77, 77, 74,
+  70, 75, 87, 97, 90, 90, 92, 97, 99, 99, 94, 90, 84, 82, 88, 87,
+  73, 69, 71, 65, 62, 62, 57, 54, 62, 73, 69, 56, 58, 55, 44, 28,
+  26, 34, 38, 32, 40, 43, 48, 47, 61, 91, 99, 79, 65, 43, 31, 32,
+  34, 57, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 190, 58, 59, 65,
+  65, 51, 68, 72, 83, 73, 79, 77, 77, 78, 79, 82, 84, 88, 90, 90,
+  89, 89, 91, 92, 87, 78, 71, 69, 60, 52, 55, 67, 79, 84, 85, 85,
+  102, 102, 78, 63, 65, 61, 47, 44, 41, 57, 59, 60, 60, 49, 59, 55,
+  69, 82, 85, 78, 72, 72, 75, 78, 86, 93, 93, 87, 86, 93, 98, 89,
+  84, 87, 87, 79, 76, 71, 57, 58, 62, 56, 49, 60, 79, 80, 67, 59,
+  57, 46, 29, 27, 36, 39, 33, 37, 41, 45, 46, 59, 88, 91, 67, 50,
+  40, 25, 27, 25, 62, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  58, 52, 55, 59, 57, 86, 61, 59, 66, 78, 78, 80, 84, 85, 84, 84,
+  88, 90, 88, 93, 95, 90, 81, 74, 73, 74, 57, 50, 49, 61, 75, 81,
+  81, 80, 78, 86, 89, 81, 73, 68, 61, 54, 44, 48, 52, 56, 61, 64,
+  63, 63, 48, 55, 67, 80, 87, 84, 72, 64, 62, 74, 85, 90, 87, 84,
+  83, 86, 87, 78, 75, 80, 79, 68, 63, 66, 54, 55, 56, 57, 60, 64,
+  69, 75, 58, 56, 46, 34, 29, 31, 35, 35, 33, 40, 52, 43, 73, 98,
+  53, 22, 12, 37, 44, 16, 3, 128, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 190, 56, 57, 59, 57, 82, 64, 64, 68, 79, 77, 78, 81,
+  82, 83, 83, 86, 86, 92, 89, 85, 81, 77, 73, 69, 66, 61, 54, 54,
+  64, 75, 79, 78, 77, 82, 87, 87, 78, 70, 65, 60, 54, 47, 50, 53,
+  58, 63, 66, 64, 61, 53, 58, 68, 79, 87, 87, 81, 76, 70, 70, 74,
+  78, 82, 86, 88, 90, 82, 78, 77, 77, 73, 66, 62, 61, 55, 46, 46,
+  57, 60, 58, 65, 80, 62, 60, 49, 35, 29, 31, 34, 33, 37, 40, 50,
+  43, 63, 81, 48, 28, 39, 40, 33, 17, 20, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 60, 59, 58, 56, 71, 65, 70, 67, 75,
+  75, 75, 76, 78, 81, 81, 82, 80, 89, 80, 72, 70, 74, 75, 69, 62,
+  61, 55, 56, 65, 76, 80, 81, 82, 90, 92, 88, 79, 71, 66, 61, 57,
+  55, 54, 56, 60, 64, 64, 61, 57, 58, 61, 67, 76, 83, 87, 87, 86,
+  80, 71, 62, 59, 68, 79, 86, 87, 75, 78, 78, 71, 66, 63, 60, 55,
+  60, 44, 44, 60, 63, 54, 60, 80, 68, 65, 53, 37, 29, 29, 31, 31,
+  47, 40, 46, 41, 44, 43, 23, 17, 37, 22, 10, 18, 45, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 190, 60, 57, 54, 53, 61,
+  70, 61, 66, 71, 70, 71, 74, 77, 78, 77, 74, 77, 71, 66, 68, 74,
+  77, 72, 65, 57, 52, 53, 61, 72, 80, 87, 93, 95, 95, 92, 85, 77,
+  70, 64, 60, 60, 57, 57, 61, 62, 58, 53, 50, 58, 62, 67, 73, 78,
+  83, 85, 86, 88, 75, 58, 53, 58, 67, 75, 77, 70, 78, 77, 67, 60,
+  61, 58, 51, 63, 54, 54, 65, 68, 61, 61, 71, 75, 71, 57, 39, 29,
+  28, 29, 30, 49, 39, 39, 40, 27, 14, 8, 13, 22, 17, 14, 35, 73,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 60, 55,
+  52, 33, 52, 66, 53, 57, 65, 66, 68, 70, 72, 72, 71, 69, 68, 68,
+  69, 73, 75, 74, 70, 66, 58, 52, 50, 56, 64, 74, 87, 98, 92, 90,
+  89, 86, 80, 70, 61, 56, 55, 52, 54, 60, 60, 54, 50, 52, 62, 64,
+  69, 73, 76, 78, 77, 78, 87, 79, 67, 59, 57, 62, 66, 71, 69, 76,
+  75, 65, 60, 61, 57, 49, 55, 60, 65, 67, 71, 72, 67, 61, 79, 74,
+  59, 40, 30, 28, 29, 29, 41, 32, 34, 40, 23, 13, 20, 19, 25, 41,
+  51, 67, 90, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 190, 53, 51, 15, 45, 64, 48, 55, 58, 62, 66, 68, 67, 64, 65,
+  65, 67, 70, 74, 76, 73, 68, 64, 62, 61, 55, 51, 52, 56, 64, 77,
+  90, 81, 78, 78, 79, 75, 64, 54, 50, 47, 47, 53, 61, 59, 52, 53,
+  60, 68, 71, 74, 76, 75, 75, 74, 75, 80, 79, 75, 70, 66, 66, 68,
+  73, 72, 73, 70, 66, 64, 63, 58, 51, 44, 57, 65, 67, 73, 79, 71,
+  57, 80, 75, 59, 40, 29, 28, 30, 30, 39, 33, 30, 34, 19, 18, 35,
+  18, 26, 51, 71, 83, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 53, 52, 3, 41, 65, 50, 60, 52, 59, 66, 67,
+  62, 58, 61, 63, 67, 69, 71, 71, 68, 64, 60, 58, 61, 56, 53, 52,
+  52, 55, 66, 78, 72, 66, 65, 68, 66, 57, 49, 47, 47, 50, 59, 67,
+  61, 51, 55, 67, 73, 75, 76, 74, 72, 72, 73, 75, 72, 74, 76, 75,
+  71, 69, 69, 71, 78, 70, 66, 69, 71, 66, 59, 55, 46, 53, 61, 69,
+  77, 78, 69, 60, 80, 74, 58, 40, 29, 28, 31, 32, 38, 36, 29, 30,
+  24, 39, 67, 32, 25, 35, 59, 138, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 188, 53, 0, 40, 70, 54, 67, 50,
+  58, 66, 66, 59, 54, 56, 63, 65, 64, 63, 63, 64, 64, 61, 58, 56,
+  56, 55, 55, 53, 54, 62, 73, 71, 63, 61, 63, 63, 55, 51, 50, 56,
+  59, 70, 74, 65, 51, 56, 70, 74, 75, 74, 71, 68, 69, 74, 78, 72,
+  74, 75, 75, 74, 70, 66, 64, 82, 68, 63, 71, 76, 69, 60, 58, 57,
+  53, 59, 74, 81, 73, 64, 62, 79, 71, 58, 37, 29, 29, 30, 33, 32,
+  36, 28, 34, 38, 76, 111, 69, 36, 28, 48, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 46, 9, 49, 67,
+  73, 70, 62, 37, 64, 65, 49, 58, 59, 75, 64, 69, 63, 60, 69, 66,
+  59, 62, 66, 62, 57, 56, 56, 56, 53, 52, 57, 60, 66, 64, 62, 55,
+  56, 54, 84, 82, 83, 76, 73, 69, 74, 74, 68, 63, 63, 61, 69, 75,
+  78, 73, 73, 89, 77, 76, 84, 71, 65, 74, 69, 72, 64, 58, 66, 67,
+  59, 57, 43, 52, 70, 75, 67, 68, 69, 61, 61, 66, 62, 40, 29, 29,
+  31, 27, 39, 29, 31, 39, 82, 134, 129, 114, 105, 26, 98, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  12, 50, 66, 71, 69, 76, 53, 66, 66, 51, 52, 57, 67, 66, 72, 66,
+  62, 68, 63, 57, 61, 52, 55, 59, 59, 58, 57, 58, 61, 61, 67, 71,
+  72, 69, 66, 65, 65, 75, 74, 76, 79, 78, 74, 70, 67, 70, 70, 78,
+  76, 68, 64, 67, 64, 68, 79, 74, 78, 95, 86, 69, 65, 66, 75, 73,
+  68, 69, 66, 61, 60, 47, 50, 66, 75, 68, 65, 64, 57, 57, 61, 54,
+  35, 23, 25, 28, 25, 36, 34, 40, 49, 116, 155, 140, 118, 104, 121, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 17, 51, 64, 69, 68, 77, 64, 59, 65, 56, 53, 69, 71,
+  66, 73, 66, 60, 63, 57, 52, 58, 53, 61, 67, 68, 67, 66, 70, 77,
+  68, 72, 77, 79, 79, 78, 77, 77, 67, 65, 72, 86, 91, 84, 77, 73,
+  60, 59, 67, 75, 67, 70, 75, 72, 72, 78, 73, 65, 77, 83, 76, 76,
+  62, 73, 79, 75, 69, 66, 64, 63, 51, 48, 62, 79, 75, 67, 65, 60,
+  56, 60, 51, 34, 23, 23, 27, 27, 31, 32, 41, 44, 137, 165, 145, 121,
+  128, 144, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 179, 55, 61, 67, 68, 77, 76, 55, 64, 63,
+  54, 78, 74, 65, 71, 63, 55, 57, 51, 48, 55, 49, 54, 59, 59, 57,
+  57, 61, 66, 73, 76, 80, 84, 85, 84, 83, 82, 79, 78, 83, 92, 91,
+  77, 66, 61, 89, 77, 67, 75, 66, 73, 66, 62, 69, 75, 81, 63, 63,
+  75, 76, 84, 60, 65, 74, 73, 66, 67, 68, 62, 53, 45, 60, 82, 82,
+  72, 69, 69, 59, 58, 50, 35, 26, 26, 30, 31, 30, 32, 40, 31, 139,
+  161, 148, 133, 182, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 55, 55, 59, 62, 82, 86,
+  62, 66, 67, 54, 70, 67, 66, 70, 64, 56, 56, 50, 47, 52, 52, 53,
+  55, 55, 55, 58, 64, 67, 75, 77, 80, 84, 86, 86, 84, 82, 86, 89,
+  94, 99, 97, 90, 85, 82, 76, 78, 61, 72, 66, 73, 60, 73, 58, 57,
+  79, 72, 76, 89, 75, 72, 66, 60, 66, 69, 65, 73, 75, 60, 54, 46,
+  61, 83, 82, 72, 67, 67, 57, 57, 48, 37, 28, 27, 31, 33, 30, 36,
+  46, 34, 137, 159, 153, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 189, 49, 51,
+  56, 71, 80, 69, 68, 71, 64, 66, 71, 69, 74, 70, 66, 68, 58, 47,
+  45, 52, 53, 56, 59, 63, 68, 74, 75, 75, 76, 79, 84, 87, 88, 86,
+  83, 87, 92, 91, 85, 84, 86, 82, 74, 60, 85, 59, 64, 54, 49, 26,
+  62, 64, 36, 56, 59, 76, 100, 81, 75, 76, 60, 65, 72, 69, 80, 82,
+  58, 54, 51, 66, 81, 76, 65, 60, 55, 54, 50, 43, 35, 30, 28, 28,
+  30, 24, 34, 49, 47, 132, 161, 155, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 47, 49, 55, 56, 67, 75, 68, 75, 75, 62, 77, 70, 77, 76, 77,
+  82, 66, 40, 28, 24, 32, 42, 47, 49, 51, 57, 62, 64, 64, 67, 73,
+  79, 81, 79, 76, 81, 83, 70, 52, 52, 61, 50, 26, 50, 84, 41, 54,
+  76, 86, 60, 118, 61, 18, 38, 42, 55, 84, 75, 84, 84, 65, 72, 81,
+  74, 84, 84, 55, 54, 58, 74, 82, 72, 65, 60, 51, 50, 46, 40, 36,
+  32, 28, 26, 30, 26, 29, 43, 56, 122, 166, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 51, 53, 60, 57, 68, 85, 70, 77, 76, 51, 72, 66,
+  77, 80, 85, 90, 68, 33, 14, 11, 26, 42, 47, 45, 43, 49, 55, 42,
+  43, 48, 55, 62, 66, 64, 62, 47, 54, 48, 43, 66, 99, 96, 67, 179,
+  188, 94, 80, 100, 97, 42, 91, 36, 3, 42, 48, 44, 60, 55, 79, 84,
+  67, 78, 87, 75, 82, 81, 49, 51, 61, 79, 83, 72, 68, 64, 53, 49,
+  47, 42, 38, 34, 30, 28, 30, 35, 30, 41, 59, 114, 200, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 187, 48, 52, 46, 60, 75, 78, 73, 64,
+  64, 68, 78, 67, 71, 85, 81, 52, 36, 38, 33, 27, 37, 48, 54, 64,
+  69, 61, 83, 71, 54, 65, 52, 71, 54, 37, 61, 91, 101, 74, 50, 102,
+  110, 104, 103, 107, 79, 68, 101, 98, 61, 43, 43, 52, 60, 57, 57, 60,
+  65, 69, 64, 76, 84, 82, 78, 73, 64, 55, 51, 65, 75, 71, 65, 60,
+  51, 42, 48, 47, 44, 39, 37, 33, 30, 29, 32, 29, 40, 55, 107, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 47, 50, 49, 58, 72,
+  77, 74, 70, 67, 67, 73, 64, 65, 74, 72, 54, 45, 47, 52, 26, 7,
+  10, 40, 81, 90, 68, 86, 79, 74, 95, 87, 97, 77, 60, 90, 97, 90,
+  67, 57, 109, 99, 76, 94, 108, 88, 67, 79, 74, 57, 60, 63, 70, 76,
+  71, 67, 67, 69, 71, 68, 78, 85, 83, 77, 71, 61, 53, 54, 71, 83,
+  79, 69, 61, 51, 44, 50, 48, 44, 39, 37, 32, 31, 31, 33, 32, 41,
+  56, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 48, 49,
+  49, 53, 62, 71, 75, 75, 71, 67, 68, 63, 61, 63, 63, 59, 58, 59,
+  52, 41, 22, 4, 16, 62, 91, 85, 89, 76, 74, 95, 89, 89, 73, 62,
+  113, 111, 98, 79, 72, 118, 100, 72, 83, 95, 76, 50, 51, 48, 46, 59,
+  73, 79, 84, 77, 72, 69, 69, 69, 73, 83, 89, 85, 76, 68, 59, 52,
+  55, 74, 88, 84, 71, 62, 52, 45, 49, 47, 41, 35, 34, 34, 35, 34,
+  34, 33, 44, 57, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 188, 52, 49, 47, 52, 63, 73, 75, 70, 64, 64, 64, 62, 60, 62,
+  68, 71, 68, 49, 55, 53, 29, 11, 29, 60, 71, 96, 84, 93, 119, 118,
+  107, 92, 81, 108, 114, 113, 93, 68, 99, 84, 71, 46, 50, 39, 32, 50,
+  63, 69, 77, 73, 78, 82, 76, 73, 71, 71, 70, 80, 85, 88, 83, 72,
+  62, 55, 52, 54, 73, 85, 77, 63, 55, 49, 47, 49, 46, 40, 34, 34,
+  34, 37, 40, 35, 35, 48, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 50, 47, 43, 43, 53, 64, 71, 67, 62, 60, 62,
+  63, 61, 65, 72, 75, 69, 64, 52, 50, 46, 31, 27, 33, 35, 50, 47,
+  74, 106, 115, 101, 89, 76, 79, 91, 98, 81, 46, 64, 52, 49, 43, 45,
+  42, 45, 62, 73, 77, 79, 78, 82, 85, 78, 76, 76, 76, 76, 82, 84,
+  85, 79, 67, 56, 53, 55, 63, 77, 83, 69, 52, 46, 44, 45, 46, 44,
+  39, 34, 35, 38, 39, 42, 38, 39, 120, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 49, 42, 41, 46, 54, 62, 63,
+  61, 55, 58, 61, 64, 69, 72, 72, 67, 75, 54, 53, 60, 54, 44, 41,
+  40, 20, 9, 26, 38, 50, 45, 53, 47, 45, 48, 55, 52, 31, 53, 41,
+  39, 51, 58, 67, 68, 66, 66, 72, 76, 85, 86, 85, 77, 75, 76, 76,
+  77, 82, 81, 79, 73, 60, 51, 53, 60, 77, 86, 83, 63, 46, 40, 40,
+  41, 43, 42, 40, 39, 39, 41, 41, 43, 41, 43, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 44, 43, 42,
+  45, 53, 60, 64, 55, 55, 60, 69, 74, 72, 69, 68, 70, 63, 67, 69,
+  60, 58, 62, 63, 57, 40, 41, 26, 33, 31, 52, 47, 34, 28, 32, 40,
+  32, 62, 53, 52, 40, 49, 67, 74, 71, 74, 89, 95, 87, 86, 83, 73,
+  72, 74, 76, 78, 80, 79, 75, 69, 57, 50, 57, 69, 83, 88, 81, 61,
+  46, 42, 41, 39, 39, 40, 41, 43, 44, 44, 42, 42, 44, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  51, 47, 44, 43, 51, 64, 73, 57, 55, 61, 73, 78, 74, 70, 72, 65,
+  62, 66, 63, 62, 70, 71, 58, 59, 48, 55, 35, 38, 28, 40, 26, 44,
+  35, 37, 42, 31, 59, 54, 61, 71, 66, 73, 78, 72, 75, 80, 75, 87,
+  86, 82, 74, 72, 78, 82, 85, 80, 77, 73, 65, 54, 48, 56, 71, 75,
+  79, 74, 57, 45, 44, 44, 42, 36, 39, 41, 44, 45, 45, 41, 40, 45,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 40, 45, 67, 56, 51, 82, 65, 47, 58, 72, 67, 68,
+  76, 69, 73, 64, 57, 59, 67, 72, 72, 68, 70, 65, 59, 58, 61, 65,
+  66, 67, 55, 57, 59, 61, 65, 68, 72, 76, 81, 81, 78, 76, 77, 79,
+  81, 81, 86, 85, 80, 72, 69, 75, 82, 88, 84, 87, 77, 57, 47, 52,
+  63, 70, 75, 69, 61, 51, 43, 39, 37, 34, 35, 37, 41, 44, 43, 39,
+  42, 50, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 191, 54, 48, 25, 32, 74, 75, 56, 57,
+  64, 66, 68, 70, 64, 72, 70, 65, 60, 62, 63, 67, 68, 66, 63, 61,
+  61, 64, 68, 74, 76, 76, 79, 83, 85, 87, 87, 88, 89, 83, 85, 84,
+  84, 85, 82, 82, 79, 77, 79, 76, 69, 68, 73, 80, 84, 87, 81, 68,
+  53, 51, 59, 66, 66, 72, 66, 56, 48, 44, 43, 39, 36, 32, 37, 40,
+  40, 41, 41, 42, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 35, 35, 16, 11, 33,
+  64, 63, 58, 52, 61, 67, 65, 65, 74, 75, 73, 64, 58, 55, 61, 67,
+  57, 57, 58, 58, 60, 65, 73, 78, 83, 87, 91, 93, 93, 90, 88, 87,
+  81, 84, 87, 90, 92, 88, 85, 81, 78, 81, 79, 74, 75, 79, 84, 87,
+  83, 72, 54, 47, 54, 68, 70, 67, 71, 61, 50, 45, 42, 41, 39, 37,
+  39, 46, 48, 44, 47, 53, 119, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 174, 27,
+  21, 5, 2, 26, 59, 64, 45, 54, 69, 68, 67, 73, 75, 76, 68, 60,
+  56, 59, 63, 63, 65, 67, 66, 65, 68, 76, 82, 72, 75, 78, 79, 79,
+  76, 74, 74, 77, 81, 85, 88, 90, 88, 84, 83, 78, 81, 82, 79, 80,
+  83, 85, 85, 76, 62, 47, 44, 57, 71, 72, 69, 66, 59, 51, 44, 40,
+  37, 38, 41, 44, 52, 52, 46, 51, 60, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 13, 9, 6, 7, 0, 50, 72, 50, 53, 70, 71, 67, 70, 71,
+  73, 71, 68, 63, 60, 58, 59, 61, 61, 58, 55, 55, 60, 64, 65, 66,
+  67, 66, 67, 67, 70, 72, 83, 85, 86, 86, 87, 85, 82, 80, 75, 78,
+  79, 77, 79, 82, 82, 78, 67, 56, 44, 47, 59, 67, 70, 69, 63, 56,
+  50, 44, 36, 31, 37, 46, 46, 52, 51, 44, 117, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 12, 16, 12, 0, 33, 61, 55, 56, 67, 71,
+  67, 70, 70, 70, 71, 74, 71, 66, 60, 56, 55, 53, 50, 47, 45, 48,
+  49, 66, 66, 64, 62, 65, 68, 74, 78, 94, 92, 89, 87, 83, 80, 80,
+  77, 77, 80, 80, 80, 82, 83, 81, 75, 59, 50, 45, 51, 60, 65, 66,
+  66, 58, 52, 46, 43, 37, 31, 40, 52, 51, 54, 52, 48, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 179, 25, 9, 5, 4, 29, 56,
+  63, 62, 67, 70, 74, 70, 69, 70, 71, 70, 69, 65, 71, 69, 66, 64,
+  63, 63, 64, 63, 70, 70, 68, 67, 69, 73, 79, 84, 93, 93, 90, 88,
+  85, 81, 80, 77, 82, 83, 84, 81, 84, 84, 81, 74, 57, 46, 42, 52,
+  63, 66, 63, 60, 58, 44, 35, 38, 41, 39, 46, 56, 58, 57, 56, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 180, 12, 22,
+  0, 0, 53, 69, 59, 65, 75, 77, 75, 71, 69, 68, 68, 69, 72, 68,
+  64, 61, 61, 64, 65, 65, 63, 76, 76, 75, 74, 76, 80, 85, 89, 85,
+  85, 86, 86, 86, 83, 80, 79, 80, 80, 80, 77, 79, 82, 77, 68, 58,
+  43, 40, 52, 67, 67, 61, 53, 57, 38, 27, 33, 45, 47, 50, 56, 57,
+  55, 121, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 17, 13, 12, 1, 9, 45, 66, 69, 79, 79, 77, 75, 73, 71, 68,
+  65, 64, 74, 75, 75, 74, 73, 73, 75, 75, 77, 83, 85, 82, 85, 89,
+  88, 83, 89, 88, 86, 83, 82, 79, 77, 77, 80, 79, 81, 85, 87, 83,
+  74, 66, 50, 46, 49, 56, 67, 68, 63, 54, 51, 35, 29, 40, 51, 53,
+  54, 59, 62, 124, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 177, 18, 21, 11, 3, 26, 56, 72, 74, 81, 78, 74,
+  70, 69, 68, 71, 74, 76, 76, 74, 73, 72, 73, 76, 77, 77, 83, 86,
+  85, 89, 94, 94, 91, 93, 90, 86, 84, 80, 79, 77, 76, 70, 72, 78,
+  80, 81, 78, 73, 66, 50, 47, 50, 58, 64, 64, 54, 46, 39, 31, 33,
+  44, 50, 50, 52, 59, 124, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 22, 23, 19, 2, 4, 41, 74, 74,
+  75, 74, 73, 71, 69, 70, 72, 75, 76, 77, 74, 73, 72, 74, 77, 79,
+  75, 80, 84, 86, 92, 97, 98, 96, 98, 95, 90, 87, 82, 79, 78, 78,
+  72, 74, 80, 81, 80, 76, 72, 68, 48, 49, 54, 62, 65, 60, 49, 43,
+  31, 30, 36, 48, 52, 50, 51, 124, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 21, 24, 12, 0,
+  28, 68, 74, 67, 70, 74, 75, 72, 67, 65, 67, 74, 76, 75, 75, 75,
+  75, 77, 78, 73, 77, 80, 84, 90, 93, 94, 92, 96, 93, 90, 85, 81,
+  81, 82, 83, 82, 81, 80, 82, 82, 78, 70, 60, 45, 51, 59, 65, 64,
+  58, 49, 42, 33, 34, 40, 51, 54, 51, 50, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  24, 26, 10, 16, 47, 63, 72, 75, 77, 75, 70, 64, 63, 64, 70, 74,
+  76, 77, 77, 76, 76, 75, 76, 77, 80, 84, 88, 89, 89, 88, 88, 85,
+  83, 79, 78, 80, 82, 84, 86, 78, 73, 75, 79, 77, 66, 51, 48, 54,
+  61, 64, 57, 51, 44, 41, 46, 42, 44, 50, 54, 54, 119, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 178, 31, 19, 7, 19, 36, 76, 77, 76, 71, 66, 63, 65,
+  71, 69, 72, 74, 76, 76, 75, 76, 74, 83, 82, 83, 87, 90, 87, 86,
+  86, 79, 76, 73, 72, 72, 76, 80, 83, 85, 77, 75, 75, 81, 78, 68,
+  56, 53, 58, 61, 57, 46, 38, 36, 38, 56, 51, 50, 52, 55, 122, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 27, 26, 9, 0, 8, 61, 67, 72, 72,
+  69, 65, 65, 71, 70, 72, 72, 71, 72, 73, 76, 77, 86, 83, 85, 89,
+  91, 87, 85, 86, 76, 72, 71, 71, 71, 76, 80, 84, 84, 80, 81, 78,
+  78, 72, 66, 60, 54, 58, 59, 52, 39, 34, 40, 46, 55, 56, 57, 56,
+  54, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31, 21, 0, 1, 45,
+  57, 73, 80, 77, 68, 61, 62, 71, 71, 67, 67, 67, 71, 77, 80, 86,
+  82, 83, 89, 91, 85, 84, 85, 79, 76, 74, 74, 76, 80, 85, 88, 81,
+  82, 83, 78, 69, 59, 56, 57, 51, 55, 57, 48, 37, 36, 47, 59, 50,
+  57, 63, 61, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 18,
+  12, 9, 21, 55, 86, 72, 85, 69, 66, 57, 63, 62, 62, 67, 69, 70,
+  77, 84, 81, 82, 85, 86, 89, 88, 89, 87, 77, 79, 81, 78, 75, 78,
+  85, 92, 88, 85, 79, 75, 69, 62, 57, 52, 60, 53, 43, 37, 37, 41,
+  48, 55, 57, 62, 65, 125, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 19, 15, 8, 45, 81, 80, 78, 65, 66, 67, 68, 65, 66,
+  69, 72, 72, 77, 83, 87, 85, 83, 81, 83, 87, 91, 92, 78, 77, 78,
+  80, 84, 85, 88, 89, 87, 83, 78, 72, 66, 59, 55, 50, 53, 50, 43,
+  41, 41, 46, 53, 59, 60, 59, 60, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 19, 0, 27, 55, 76, 70, 69, 65, 71,
+  71, 69, 69, 72, 75, 73, 75, 79, 85, 83, 81, 79, 81, 84, 88, 91,
+  86, 83, 83, 86, 93, 93, 90, 84, 83, 78, 72, 64, 58, 53, 50, 47,
+  44, 44, 45, 47, 50, 55, 61, 65, 67, 60, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 15, 28, 70, 68,
+  77, 61, 64, 69, 66, 69, 74, 76, 73, 74, 75, 77, 79, 82, 85, 85,
+  85, 84, 82, 89, 86, 85, 86, 90, 88, 84, 78, 79, 71, 61, 51, 46,
+  43, 44, 43, 43, 45, 49, 53, 57, 63, 66, 66, 69, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 79, 72, 69, 59, 64, 69, 64, 67, 74, 79, 77, 75, 76, 76, 78,
+  81, 84, 84, 82, 82, 78, 80, 80, 81, 80, 78, 76, 75, 74, 70, 61,
+  49, 39, 37, 38, 40, 42, 46, 49, 54, 58, 63, 66, 67, 65, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 199, 61, 55, 68, 68, 64, 65, 73, 79, 79, 77,
+  76, 83, 81, 79, 77, 77, 78, 80, 81, 71, 73, 75, 75, 73, 72, 72,
+  72, 56, 50, 42, 37, 39, 43, 46, 48, 55, 55, 58, 62, 64, 65, 64,
+  128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 67, 67, 62, 60, 68,
+  73, 74, 72, 72, 80, 78, 74, 72, 69, 68, 69, 70, 68, 69, 70, 72,
+  73, 70, 62, 56, 40, 39, 41, 45, 50, 54, 56, 57, 60, 60, 61, 62,
+  63, 62, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  190, 59, 64, 69, 70, 67, 65, 68, 69, 70, 71, 67, 63, 55, 54, 64,
+  62, 59, 62, 66, 60, 45, 31, 29, 33, 42, 53, 62, 66, 67, 64, 63,
+  63, 62, 60, 125, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 69, 47, 51, 55, 62, 64, 64, 58, 55, 57,
+  55, 54, 57, 54, 53, 53, 47, 39, 38, 44, 45, 52, 63, 71, 74, 73,
+  71, 69, 63, 67, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 45, 44,
+  42, 43, 45, 42, 41, 37, 38, 43, 48, 49, 46, 47, 54, 60, 65, 70,
+  73, 72, 70, 71, 70, 65, 132, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 185, 44, 42, 64, 68, 74, 80, 79, 76, 75, 78,
+  73, 76, 74, 70, 64, 63, 67, 132, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199,
+  83, 79, 77, 74, 76, 73, 130, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 };
+/* Define image 'enemy7' of size 114x125x1x3 and type 'const unsigned char' */
+const unsigned char data_enemy7[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 214, 161, 144, 153, 123, 148, 143, 165, 183, 203,
+  203, 147, 167, 245, 233, 194, 171, 242, 251, 164, 192, 219, 221, 225, 223, 225,
+  221, 200, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 120, 128, 138, 126, 156, 144, 153, 120, 141, 140, 142,
+  157, 184, 196, 153, 155, 236, 244, 202, 192, 252, 242, 162, 203, 229, 214, 205,
+  200, 203, 203, 188, 169, 172, 189, 201, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 204, 110, 122, 131, 132, 122, 145, 142, 151, 130, 152,
+  154, 127, 139, 162, 180, 163, 158, 237, 252, 206, 189, 238, 233, 177, 180, 176,
+  174, 166, 157, 158, 166, 172, 168, 167, 169, 166, 181, 194, 208, 237, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 201, 103, 106, 113, 123, 130, 146, 132, 136, 132, 128,
+  122, 139, 143, 127, 140, 146, 155, 168, 158, 214, 221, 173, 145, 174, 181, 154,
+  117, 82, 104, 110, 107, 110, 112, 121, 124, 129, 128, 124, 149, 176, 194, 214,
+  218, 226, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 210, 113, 98, 109, 109, 112, 119, 124, 120, 108, 107,
+  111, 111, 125, 147, 157, 125, 140, 129, 127, 157, 144, 171, 155, 142, 132, 139,
+  114, 114, 99, 64, 78, 93, 105, 111, 102, 92, 95, 107, 117, 109, 139, 161,
+  166, 161, 148, 146, 158, 171, 196, 228, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 229, 190, 156, 52, 32, 71, 107, 117, 113, 111, 110, 106, 90,
+  76, 80, 104, 127, 131, 138, 148, 124, 121, 121, 124, 127, 127, 131, 136, 142,
+  139, 127, 109, 99, 94, 88, 79, 92, 93, 99, 91, 74, 78, 96, 103, 87,
+  125, 159, 154, 123, 105, 118, 138, 159, 193, 189, 138, 176, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 240, 205, 189, 177, 179, 149, 62, 52, 78, 101, 103, 98, 96, 92,
+  86, 89, 81, 83, 100, 115, 121, 126, 132, 126, 120, 115, 117, 120, 118, 114,
+  114, 91, 96, 95, 86, 81, 81, 82, 79, 82, 77, 80, 76, 66, 70, 81,
+  82, 79, 108, 133, 133, 121, 117, 125, 132, 133, 144, 137, 109, 171, 200, 192,
+  216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 237, 175, 168, 164, 152, 149, 129, 63, 66, 78, 86, 84, 82,
+  81, 76, 69, 69, 71, 73, 78, 85, 90, 94, 96, 110, 101, 95, 95, 97,
+  91, 81, 75, 63, 71, 77, 72, 67, 65, 69, 71, 73, 63, 63, 65, 61,
+  64, 68, 62, 64, 82, 95, 97, 103, 116, 120, 115, 90, 82, 78, 71, 140,
+  159, 149, 157, 188, 179, 223, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 198, 173, 158, 161, 156, 146, 124, 69, 67, 67, 67,
+  65, 72, 77, 74, 65, 64, 72, 76, 72, 73, 82, 84, 82, 100, 94, 92,
+  92, 90, 81, 73, 69, 64, 67, 70, 67, 63, 61, 63, 61, 68, 58, 60,
+  66, 63, 64, 64, 57, 61, 73, 78, 76, 87, 109, 118, 112, 85, 72, 77,
+  75, 120, 117, 109, 128, 132, 135, 176, 239, 245, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 238, 187, 159, 165, 164, 176, 168, 139, 109, 65, 64,
+  59, 56, 59, 68, 73, 69, 60, 56, 68, 71, 66, 67, 75, 79, 75, 80,
+  81, 84, 84, 80, 71, 70, 73, 64, 57, 56, 57, 60, 61, 60, 59, 62,
+  55, 63, 71, 65, 61, 62, 59, 67, 78, 82, 77, 83, 104, 121, 124, 95,
+  79, 89, 85, 113, 96, 84, 101, 116, 131, 145, 195, 212, 227, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 230, 171, 157, 154, 171, 168, 164, 141, 106, 88,
+  66, 65, 59, 56, 58, 63, 65, 59, 51, 49, 56, 60, 57, 59, 65, 67,
+  65, 58, 60, 65, 66, 60, 55, 59, 66, 66, 57, 53, 55, 60, 60, 57,
+  54, 55, 49, 60, 71, 63, 56, 59, 59, 59, 68, 73, 71, 73, 85, 103,
+  113, 94, 72, 84, 83, 112, 100, 83, 81, 115, 139, 131, 167, 186, 197, 207,
+  239, 206, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 164, 155, 146, 155, 161, 137, 120, 106,
+  87, 84, 74, 62, 56, 53, 54, 57, 56, 51, 47, 59, 61, 64, 64, 66,
+  67, 65, 64, 65, 63, 63, 63, 58, 56, 61, 67, 66, 58, 56, 59, 62,
+  56, 52, 52, 53, 45, 56, 69, 64, 57, 59, 59, 54, 54, 58, 64, 65,
+  66, 72, 78, 89, 74, 92, 89, 118, 116, 99, 86, 82, 113, 122, 173, 179,
+  172, 173, 179, 181, 177, 180, 189, 224, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 231, 155, 136, 136, 135, 104, 101, 69,
+  63, 76, 74, 69, 50, 53, 49, 49, 50, 53, 53, 52, 51, 56, 53, 52,
+  56, 57, 53, 51, 49, 62, 55, 49, 48, 48, 47, 48, 53, 50, 49, 53,
+  61, 60, 54, 54, 57, 54, 44, 53, 69, 67, 61, 61, 59, 67, 57, 58,
+  70, 74, 64, 58, 58, 66, 67, 93, 83, 103, 104, 93, 79, 93, 93, 89,
+  132, 126, 139, 172, 176, 156, 158, 167, 182, 195, 211, 238, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 155, 137, 141, 146, 99, 63,
+  63, 63, 65, 67, 63, 56, 48, 49, 46, 45, 47, 54, 57, 56, 50, 49,
+  51, 54, 53, 51, 47, 45, 47, 50, 50, 48, 45, 42, 40, 41, 41, 39,
+  37, 42, 51, 54, 50, 50, 54, 52, 49, 50, 53, 60, 64, 62, 59, 57,
+  58, 59, 62, 63, 62, 58, 57, 57, 70, 73, 73, 87, 104, 91, 63, 66,
+  69, 84, 106, 120, 130, 148, 163, 155, 159, 156, 166, 185, 187, 203, 241, 248,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 161, 148, 145, 153, 136,
+  69, 63, 63, 66, 68, 67, 62, 55, 49, 43, 42, 43, 48, 54, 56, 51,
+  47, 48, 50, 51, 51, 47, 44, 43, 43, 47, 47, 46, 43, 40, 40, 39,
+  41, 42, 39, 41, 47, 48, 46, 47, 52, 50, 47, 45, 48, 53, 55, 55,
+  52, 58, 58, 61, 63, 65, 64, 60, 59, 58, 66, 69, 70, 83, 94, 85,
+  66, 61, 59, 65, 77, 88, 102, 129, 151, 174, 163, 162, 178, 188, 182, 190,
+  216, 240, 250, 245, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 150, 148, 141,
+  126, 103, 54, 68, 71, 73, 70, 64, 56, 49, 43, 39, 39, 43, 49, 54,
+  54, 48, 43, 47, 48, 48, 46, 43, 41, 41, 42, 44, 44, 43, 41, 40,
+  39, 42, 44, 45, 42, 41, 43, 44, 44, 46, 51, 49, 46, 44, 44, 48,
+  49, 47, 44, 55, 55, 58, 61, 63, 63, 60, 59, 61, 63, 64, 67, 75,
+  79, 75, 66, 66, 62, 62, 68, 74, 83, 108, 132, 146, 137, 143, 155, 161,
+  176, 195, 204, 218, 241, 244, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 171, 154,
+  150, 118, 74, 72, 73, 78, 78, 76, 66, 55, 45, 41, 39, 40, 41, 44,
+  49, 52, 53, 48, 45, 45, 46, 45, 43, 39, 38, 39, 40, 41, 41, 41,
+  40, 39, 40, 42, 45, 44, 43, 42, 43, 44, 45, 47, 49, 47, 45, 43,
+  44, 47, 47, 46, 44, 49, 49, 51, 54, 57, 58, 56, 54, 62, 59, 61,
+  65, 67, 64, 60, 59, 55, 49, 51, 59, 63, 65, 73, 85, 90, 98, 113,
+  113, 114, 157, 202, 205, 197, 227, 235, 237, 250, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 182,
+  185, 159, 126, 83, 51, 72, 93, 79, 75, 69, 57, 46, 39, 39, 40, 41,
+  42, 43, 45, 48, 49, 47, 46, 44, 44, 44, 42, 38, 37, 38, 39, 39,
+  40, 40, 39, 39, 40, 43, 46, 43, 45, 46, 47, 48, 50, 51, 49, 42,
+  41, 41, 42, 45, 46, 45, 45, 45, 45, 48, 51, 54, 56, 55, 54, 60,
+  57, 59, 64, 65, 58, 54, 53, 50, 44, 45, 59, 67, 64, 63, 64, 72,
+  77, 99, 105, 95, 123, 175, 200, 199, 221, 232, 232, 244, 243, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 209,
+  179, 180, 191, 142, 83, 61, 65, 86, 85, 67, 63, 56, 46, 40, 38, 40,
+  43, 38, 40, 41, 42, 43, 45, 44, 45, 43, 44, 44, 43, 39, 37, 37,
+  38, 37, 40, 40, 40, 39, 40, 43, 46, 42, 45, 47, 46, 48, 51, 52,
+  49, 37, 37, 38, 40, 42, 43, 44, 47, 46, 46, 48, 52, 56, 59, 59,
+  58, 62, 58, 59, 62, 64, 58, 54, 53, 58, 49, 49, 61, 73, 73, 72,
+  76, 79, 68, 90, 119, 109, 95, 128, 178, 195, 211, 234, 234, 237, 240, 236,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242,
+  209, 194, 179, 177, 168, 102, 55, 60, 71, 76, 61, 55, 49, 44, 40, 39,
+  39, 39, 40, 36, 40, 42, 44, 45, 45, 43, 43, 43, 45, 46, 45, 41,
+  39, 38, 38, 38, 39, 41, 40, 40, 41, 44, 46, 46, 49, 48, 44, 44,
+  49, 51, 47, 38, 39, 40, 43, 44, 45, 46, 48, 48, 48, 51, 55, 60,
+  63, 64, 64, 74, 71, 66, 62, 63, 62, 57, 50, 50, 46, 48, 56, 64,
+  62, 68, 76, 72, 64, 74, 104, 108, 85, 92, 132, 152, 169, 218, 229, 228,
+  236, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  242, 215, 203, 185, 172, 177, 140, 68, 53, 68, 57, 47, 47, 47, 44, 39,
+  38, 40, 39, 36, 34, 36, 41, 47, 50, 50, 48, 44, 43, 43, 45, 47,
+  47, 43, 40, 38, 38, 39, 40, 42, 41, 40, 41, 44, 46, 50, 51, 47,
+  39, 39, 45, 51, 47, 44, 45, 46, 47, 47, 47, 49, 52, 50, 50, 51,
+  56, 61, 64, 66, 64, 91, 85, 74, 62, 61, 62, 57, 46, 56, 58, 64,
+  70, 69, 64, 71, 83, 59, 65, 61, 67, 85, 79, 69, 80, 98, 121, 195,
+  220, 218, 235, 231, 234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 241, 206, 203, 197, 188, 187, 160, 103, 54, 48, 55, 52, 47, 49, 43,
+  41, 39, 36, 34, 33, 33, 35, 43, 41, 40, 43, 49, 51, 47, 44, 42,
+  42, 41, 41, 38, 36, 35, 34, 39, 39, 39, 40, 44, 46, 50, 52, 53,
+  45, 40, 43, 48, 49, 46, 41, 44, 41, 41, 45, 49, 53, 55, 57, 48,
+  57, 56, 55, 61, 62, 64, 75, 83, 88, 87, 73, 61, 56, 58, 58, 62,
+  57, 59, 67, 74, 72, 74, 78, 77, 61, 54, 64, 77, 74, 63, 53, 69,
+  78, 117, 154, 181, 227, 244, 221, 239, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 215, 211, 198, 201, 187, 145, 115, 80, 52, 52, 57, 52, 45,
+  44, 41, 40, 38, 36, 33, 33, 33, 34, 42, 41, 40, 43, 48, 50, 47,
+  43, 41, 41, 41, 40, 38, 36, 35, 34, 38, 37, 37, 38, 42, 44, 47,
+  48, 43, 40, 41, 42, 45, 46, 47, 48, 51, 51, 51, 52, 54, 54, 54,
+  53, 53, 61, 61, 62, 71, 72, 71, 78, 77, 83, 83, 69, 58, 55, 58,
+  59, 59, 60, 63, 69, 69, 66, 69, 75, 70, 59, 55, 62, 66, 66, 61,
+  60, 59, 59, 68, 95, 131, 167, 210, 245, 234, 238, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 214, 220, 205, 211, 185, 110, 75, 62, 51, 51, 54,
+  52, 45, 42, 40, 39, 37, 35, 34, 34, 34, 35, 41, 40, 40, 43, 48,
+  49, 45, 42, 41, 41, 41, 40, 38, 37, 35, 34, 37, 36, 36, 37, 39,
+  41, 43, 44, 38, 40, 44, 44, 45, 48, 53, 57, 53, 53, 56, 56, 56,
+  55, 55, 54, 59, 66, 68, 72, 83, 83, 78, 80, 72, 77, 77, 67, 56,
+  55, 60, 63, 59, 61, 67, 70, 67, 63, 65, 68, 62, 56, 55, 57, 57,
+  57, 59, 64, 58, 61, 59, 80, 114, 120, 155, 227, 248, 246, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 238, 211, 221, 214, 198, 149, 82, 64, 61, 53,
+  46, 46, 50, 49, 42, 38, 37, 37, 35, 34, 34, 34, 35, 40, 40, 41,
+  44, 47, 48, 44, 41, 41, 41, 41, 40, 38, 37, 36, 35, 37, 37, 37,
+  37, 39, 40, 41, 41, 40, 44, 47, 46, 49, 54, 61, 63, 56, 57, 60,
+  60, 61, 63, 66, 68, 70, 76, 77, 81, 92, 90, 81, 81, 71, 73, 74,
+  67, 59, 56, 64, 68, 62, 63, 67, 71, 72, 69, 67, 64, 57, 55, 56,
+  57, 56, 56, 59, 62, 60, 72, 81, 95, 110, 107, 124, 164, 224, 241, 252,
+  255, 255, 255, 255, 255, 255, 255, 255, 219, 209, 211, 210, 156, 85, 56, 63,
+  62, 56, 46, 47, 51, 48, 39, 38, 36, 36, 36, 36, 36, 35, 35, 39,
+  41, 43, 46, 48, 47, 44, 41, 40, 40, 40, 40, 38, 37, 36, 35, 37,
+  37, 38, 39, 41, 41, 41, 41, 46, 49, 49, 47, 54, 62, 65, 61, 65,
+  66, 66, 65, 66, 70, 77, 82, 81, 86, 84, 86, 96, 93, 82, 81, 72,
+  72, 73, 66, 58, 55, 63, 71, 65, 64, 66, 73, 81, 84, 76, 63, 57,
+  55, 55, 57, 60, 61, 60, 57, 63, 71, 83, 81, 80, 110, 134, 127, 142,
+  186, 253, 255, 255, 255, 255, 255, 255, 255, 242, 226, 207, 200, 195, 123, 54,
+  56, 54, 55, 55, 53, 52, 50, 43, 34, 37, 38, 39, 37, 38, 37, 37,
+  38, 41, 43, 46, 48, 49, 47, 44, 42, 39, 40, 40, 40, 39, 38, 37,
+  36, 37, 37, 39, 40, 42, 42, 42, 42, 50, 52, 51, 47, 54, 63, 64,
+  60, 68, 69, 71, 67, 67, 70, 76, 83, 85, 91, 90, 89, 94, 90, 82,
+  81, 74, 71, 71, 67, 57, 52, 59, 69, 67, 66, 68, 77, 91, 96, 85,
+  67, 60, 57, 57, 58, 62, 65, 61, 55, 70, 73, 84, 77, 71, 117, 147,
+  120, 95, 127, 243, 255, 255, 255, 255, 255, 255, 243, 213, 220, 208, 192, 166,
+  106, 58, 60, 52, 54, 55, 57, 53, 46, 38, 37, 38, 38, 39, 41, 41,
+  41, 40, 40, 41, 44, 48, 50, 50, 48, 44, 43, 39, 39, 40, 40, 39,
+  38, 37, 36, 35, 36, 39, 40, 42, 42, 43, 42, 49, 57, 59, 54, 55,
+  63, 69, 66, 68, 71, 75, 73, 71, 70, 74, 80, 87, 93, 90, 86, 89,
+  85, 82, 86, 79, 74, 73, 68, 59, 51, 57, 69, 67, 71, 75, 84, 96,
+  101, 89, 71, 63, 59, 57, 55, 59, 64, 62, 57, 72, 81, 88, 89, 92,
+  114, 134, 136, 105, 94, 239, 238, 255, 255, 255, 255, 255, 218, 217, 216, 211,
+  185, 136, 90, 62, 46, 58, 57, 58, 55, 48, 36, 37, 45, 38, 39, 40,
+  41, 42, 42, 41, 40, 42, 45, 49, 51, 50, 47, 45, 42, 39, 39, 40,
+  40, 40, 39, 38, 37, 32, 34, 36, 38, 40, 42, 42, 44, 49, 62, 69,
+  60, 58, 66, 73, 74, 70, 78, 85, 86, 84, 83, 84, 89, 88, 95, 89,
+  84, 86, 82, 80, 86, 84, 78, 76, 72, 62, 54, 60, 73, 70, 76, 83,
+  89, 99, 103, 93, 76, 68, 68, 65, 58, 55, 61, 62, 60, 63, 77, 75,
+  81, 100, 98, 115, 161, 111, 72, 245, 251, 255, 255, 255, 255, 255, 224, 212,
+  209, 214, 190, 115, 50, 37, 50, 47, 48, 48, 46, 45, 42, 39, 37, 43,
+  42, 41, 39, 38, 38, 39, 39, 40, 42, 44, 42, 41, 39, 40, 42, 39,
+  41, 43, 44, 42, 42, 41, 39, 37, 31, 31, 36, 40, 39, 43, 51, 53,
+  61, 69, 75, 75, 75, 77, 80, 87, 84, 85, 93, 97, 91, 88, 88, 93,
+  96, 93, 80, 74, 80, 85, 83, 72, 65, 60, 57, 56, 57, 70, 82, 99,
+  94, 91, 95, 101, 104, 97, 89, 96, 96, 86, 70, 58, 57, 58, 57, 64,
+  65, 78, 86, 85, 94, 106, 108, 116, 94, 159, 203, 255, 255, 255, 255, 245,
+  222, 209, 211, 208, 171, 97, 44, 37, 47, 48, 48, 47, 46, 44, 41, 39,
+  37, 41, 41, 42, 42, 41, 39, 38, 37, 37, 40, 42, 43, 41, 39, 38,
+  38, 36, 38, 42, 43, 43, 42, 43, 42, 32, 29, 33, 40, 43, 43, 47,
+  55, 54, 61, 69, 74, 78, 83, 89, 93, 94, 91, 90, 94, 94, 92, 95,
+  99, 106, 105, 98, 85, 79, 84, 90, 90, 69, 63, 63, 64, 67, 69, 79,
+  91, 105, 100, 96, 99, 108, 115, 115, 113, 114, 109, 102, 91, 75, 60, 58,
+  62, 59, 61, 76, 86, 85, 94, 109, 110, 92, 94, 182, 237, 255, 255, 255,
+  255, 221, 218, 210, 212, 196, 140, 69, 38, 41, 46, 49, 49, 48, 47, 45,
+  42, 40, 39, 40, 41, 43, 43, 43, 40, 38, 36, 35, 39, 42, 45, 42,
+  40, 37, 36, 35, 37, 41, 42, 43, 42, 44, 42, 30, 29, 36, 42, 43,
+  43, 48, 55, 58, 61, 65, 70, 78, 86, 96, 104, 106, 103, 101, 98, 97,
+  95, 103, 111, 119, 115, 103, 86, 73, 71, 74, 74, 59, 56, 58, 69, 80,
+  88, 97, 106, 112, 107, 105, 111, 123, 135, 142, 143, 130, 119, 110, 101, 81,
+  59, 56, 63, 57, 59, 75, 85, 85, 94, 108, 109, 110, 98, 163, 217, 253,
+  255, 255, 255, 219, 215, 220, 214, 177, 106, 45, 38, 48, 44, 51, 50, 49,
+  48, 46, 44, 43, 42, 42, 42, 42, 42, 41, 40, 39, 38, 38, 41, 43,
+  44, 42, 40, 38, 38, 36, 39, 43, 44, 43, 43, 43, 41, 36, 38, 43,
+  46, 45, 47, 53, 61, 61, 61, 62, 67, 74, 86, 100, 108, 119, 118, 116,
+  111, 108, 109, 117, 125, 132, 128, 117, 100, 85, 76, 74, 75, 73, 70, 74,
+  88, 101, 107, 112, 116, 122, 122, 125, 134, 147, 159, 167, 167, 150, 139, 121,
+  100, 79, 66, 60, 59, 57, 58, 74, 83, 83, 90, 103, 106, 108, 114, 172,
+  193, 188, 255, 255, 255, 219, 215, 233, 209, 153, 79, 33, 41, 53, 43, 51,
+  50, 49, 48, 47, 46, 46, 45, 46, 44, 41, 39, 38, 39, 41, 42, 42,
+  43, 44, 41, 39, 39, 42, 44, 40, 42, 44, 45, 43, 42, 42, 42, 45,
+  47, 50, 50, 53, 62, 71, 80, 68, 67, 67, 71, 81, 95, 109, 117, 124,
+  127, 130, 126, 124, 125, 131, 136, 140, 137, 136, 129, 120, 114, 112, 117, 121,
+  117, 118, 124, 129, 127, 124, 125, 133, 138, 148, 158, 169, 175, 180, 181, 174,
+  168, 140, 99, 78, 79, 72, 58, 57, 59, 72, 80, 78, 85, 98, 99, 127,
+  115, 147, 176, 191, 255, 255, 245, 221, 218, 233, 194, 130, 67, 33, 43, 52,
+  41, 48, 48, 47, 46, 46, 47, 47, 48, 48, 45, 41, 38, 37, 39, 42,
+  44, 43, 44, 43, 41, 38, 38, 42, 45, 41, 44, 47, 47, 46, 44, 44,
+  44, 44, 46, 46, 50, 62, 78, 91, 98, 82, 82, 83, 88, 99, 111, 122,
+  127, 124, 131, 137, 134, 134, 138, 140, 140, 143, 144, 146, 147, 142, 137, 136,
+  141, 148, 145, 144, 148, 148, 145, 141, 143, 145, 152, 162, 172, 179, 182, 185,
+  186, 187, 188, 161, 106, 78, 81, 76, 56, 59, 59, 70, 77, 74, 81, 93,
+  97, 99, 121, 177, 205, 188, 255, 255, 225, 224, 222, 219, 171, 113, 66, 39,
+  41, 46, 41, 43, 43, 42, 42, 43, 45, 47, 48, 47, 45, 42, 40, 39,
+  40, 41, 42, 41, 42, 41, 40, 37, 38, 40, 42, 40, 45, 48, 50, 49,
+  48, 50, 51, 46, 50, 51, 57, 74, 96, 110, 112, 105, 104, 105, 109, 117,
+  125, 129, 130, 126, 132, 137, 138, 142, 148, 150, 146, 149, 149, 149, 149, 144,
+  137, 136, 143, 149, 148, 150, 152, 152, 151, 153, 158, 154, 159, 165, 169, 172,
+  177, 184, 188, 190, 200, 182, 131, 89, 77, 71, 60, 60, 59, 69, 74, 72,
+  81, 94, 98, 117, 121, 161, 201, 195, 255, 255, 226, 226, 224, 203, 154, 103,
+  70, 44, 38, 41, 41, 39, 39, 39, 39, 41, 43, 46, 47, 44, 44, 43,
+  42, 41, 41, 40, 40, 36, 39, 40, 41, 38, 37, 37, 38, 40, 44, 49,
+  51, 52, 53, 54, 57, 59, 63, 65, 73, 94, 115, 124, 124, 124, 123, 124,
+  125, 128, 131, 129, 127, 130, 135, 140, 141, 147, 156, 157, 151, 154, 152, 153,
+  154, 149, 142, 145, 152, 152, 153, 154, 154, 152, 149, 155, 161, 162, 161, 162,
+  161, 163, 170, 182, 191, 195, 209, 201, 157, 106, 77, 71, 71, 61, 60, 70,
+  75, 72, 81, 98, 102, 118, 125, 165, 203, 187, 255, 244, 227, 228, 226, 198,
+  142, 112, 73, 35, 43, 47, 40, 46, 50, 50, 46, 43, 45, 45, 42, 46,
+  46, 46, 43, 40, 38, 38, 39, 44, 44, 44, 44, 43, 41, 39, 37, 43,
+  47, 50, 47, 49, 54, 60, 61, 67, 80, 92, 102, 107, 116, 125, 134, 135,
+  139, 141, 137, 137, 141, 143, 141, 146, 149, 150, 149, 153, 162, 164, 161, 153,
+  158, 162, 159, 154, 151, 155, 160, 152, 152, 155, 159, 162, 161, 160, 156, 160,
+  163, 164, 162, 166, 172, 176, 176, 185, 195, 201, 178, 133, 101, 80, 57, 66,
+  72, 72, 69, 69, 79, 94, 102, 114, 136, 164, 193, 193, 255, 221, 224, 223,
+  220, 189, 127, 109, 47, 47, 36, 53, 40, 44, 48, 48, 45, 44, 47, 48,
+  46, 46, 45, 42, 39, 38, 41, 46, 51, 40, 42, 42, 44, 45, 44, 43,
+  44, 43, 50, 53, 54, 56, 65, 71, 75, 92, 103, 115, 123, 129, 134, 141,
+  148, 142, 146, 146, 143, 143, 150, 151, 150, 155, 157, 157, 154, 158, 164, 165,
+  161, 163, 158, 155, 157, 163, 165, 161, 155, 151, 150, 152, 156, 159, 160, 159,
+  156, 160, 162, 162, 162, 164, 172, 175, 175, 186, 202, 223, 222, 191, 156, 111,
+  67, 69, 63, 70, 60, 62, 89, 103, 103, 117, 128, 157, 196, 201, 255, 221,
+  223, 221, 216, 179, 123, 92, 33, 47, 42, 49, 42, 46, 49, 48, 45, 45,
+  48, 48, 45, 44, 44, 43, 42, 41, 44, 49, 52, 41, 42, 44, 46, 46,
+  46, 46, 46, 44, 51, 55, 57, 64, 73, 81, 86, 98, 107, 116, 123, 127,
+  130, 137, 142, 146, 149, 150, 148, 149, 154, 156, 157, 161, 162, 160, 157, 159,
+  162, 163, 159, 164, 160, 157, 160, 166, 168, 163, 157, 150, 147, 149, 151, 155,
+  157, 159, 156, 159, 161, 162, 160, 164, 171, 175, 173, 191, 196, 210, 215, 202,
+  178, 135, 87, 73, 60, 80, 61, 54, 88, 104, 110, 126, 126, 158, 204, 206,
+  255, 221, 224, 222, 217, 172, 127, 65, 40, 36, 58, 36, 46, 51, 52, 50,
+  46, 45, 46, 44, 39, 40, 44, 48, 50, 48, 44, 41, 39, 45, 46, 47,
+  48, 46, 45, 45, 46, 47, 53, 57, 58, 66, 76, 86, 91, 111, 117, 125,
+  131, 136, 139, 143, 147, 145, 149, 150, 147, 149, 154, 158, 156, 159, 158, 156,
+  155, 157, 158, 158, 156, 156, 161, 168, 167, 162, 159, 162, 164, 152, 148, 148,
+  151, 156, 158, 159, 159, 160, 162, 163, 161, 164, 172, 175, 173, 186, 195, 219,
+  237, 234, 212, 163, 110, 76, 56, 85, 74, 56, 83, 100, 122, 131, 130, 167,
+  211, 204, 255, 222, 225, 222, 215, 165, 112, 48, 40, 38, 61, 33, 48, 50,
+  50, 48, 44, 44, 47, 44, 38, 40, 44, 48, 49, 46, 40, 36, 34, 44,
+  45, 47, 48, 48, 47, 48, 47, 52, 57, 61, 62, 68, 79, 88, 93, 117,
+  123, 131, 137, 142, 147, 149, 151, 145, 150, 149, 147, 150, 155, 158, 156, 155,
+  153, 152, 154, 155, 155, 155, 154, 153, 159, 167, 166, 161, 158, 160, 163, 156,
+  151, 152, 154, 158, 162, 163, 162, 162, 165, 166, 164, 167, 175, 177, 175, 176,
+  182, 203, 217, 219, 211, 184, 145, 103, 65, 73, 76, 73, 85, 93, 115, 112,
+  127, 168, 208, 204, 255, 223, 225, 219, 211, 157, 82, 42, 33, 52, 50, 40,
+  48, 44, 44, 42, 41, 45, 49, 47, 42, 42, 42, 42, 40, 38, 37, 39,
+  41, 39, 41, 44, 47, 49, 50, 52, 52, 57, 63, 65, 67, 72, 85, 95,
+  100, 114, 121, 126, 133, 140, 142, 145, 146, 149, 151, 151, 148, 151, 155, 158,
+  156, 153, 150, 150, 155, 157, 155, 155, 156, 160, 156, 156, 159, 165, 166, 161,
+  152, 158, 155, 155, 157, 162, 164, 163, 163, 164, 168, 168, 168, 170, 178, 180,
+  176, 197, 197, 205, 208, 209, 221, 226, 213, 170, 113, 64, 66, 87, 87, 82,
+  82, 90, 119, 152, 188, 206, 255, 225, 227, 221, 212, 156, 66, 34, 47, 55,
+  48, 39, 48, 41, 41, 39, 39, 44, 49, 47, 41, 40, 40, 40, 38, 36,
+  37, 41, 44, 37, 39, 42, 46, 48, 50, 52, 52, 55, 61, 65, 68, 77,
+  90, 102, 110, 126, 131, 135, 140, 147, 149, 150, 151, 150, 152, 151, 148, 150,
+  154, 156, 154, 154, 149, 149, 155, 157, 153, 151, 153, 158, 155, 156, 159, 165,
+  165, 160, 150, 159, 156, 157, 161, 163, 164, 164, 162, 167, 170, 171, 171, 173,
+  180, 183, 178, 164, 174, 197, 207, 206, 213, 214, 200, 222, 177, 74, 57, 90,
+  90, 90, 74, 90, 122, 131, 157, 222, 255, 227, 231, 226, 216, 160, 69, 23,
+  72, 45, 56, 31, 50, 43, 42, 39, 38, 42, 47, 44, 37, 37, 40, 43,
+  44, 42, 39, 37, 37, 40, 42, 44, 45, 47, 47, 47, 48, 49, 56, 63,
+  68, 81, 97, 111, 119, 128, 132, 135, 140, 144, 146, 147, 145, 146, 150, 149,
+  145, 145, 149, 150, 148, 151, 146, 146, 152, 153, 150, 147, 149, 150, 158, 166,
+  166, 162, 158, 160, 161, 161, 160, 160, 163, 166, 166, 164, 161, 170, 172, 173,
+  172, 175, 180, 184, 179, 180, 184, 195, 197, 193, 206, 218, 211, 232, 214, 89,
+  54, 90, 97, 119, 104, 105, 132, 116, 133, 255, 255, 225, 218, 235, 213, 151,
+  40, 50, 58, 41, 49, 30, 36, 42, 39, 36, 36, 38, 39, 37, 35, 38,
+  38, 38, 38, 38, 38, 38, 38, 37, 40, 43, 41, 41, 41, 46, 52, 54,
+  64, 69, 77, 91, 110, 124, 129, 136, 144, 147, 145, 145, 151, 153, 150, 152,
+  152, 151, 148, 144, 144, 145, 149, 148, 145, 146, 155, 156, 153, 154, 164, 152,
+  161, 161, 159, 165, 165, 168, 175, 167, 167, 165, 165, 168, 174, 172, 167, 172,
+  175, 178, 178, 176, 178, 186, 190, 191, 188, 192, 198, 203, 210, 215, 217, 236,
+  243, 132, 85, 76, 101, 122, 111, 115, 115, 118, 150, 255, 255, 224, 216, 235,
+  203, 95, 28, 41, 46, 35, 48, 41, 41, 42, 40, 39, 40, 43, 44, 42,
+  40, 38, 38, 38, 38, 38, 38, 38, 38, 38, 39, 38, 37, 35, 39, 44,
+  50, 53, 62, 72, 83, 103, 123, 137, 141, 139, 143, 143, 141, 145, 152, 156,
+  154, 145, 143, 141, 140, 140, 138, 139, 141, 143, 139, 139, 143, 146, 144, 146,
+  149, 151, 162, 163, 164, 170, 171, 169, 177, 171, 170, 168, 166, 168, 172, 172,
+  165, 171, 175, 178, 180, 178, 179, 184, 185, 176, 177, 182, 191, 197, 203, 208,
+  210, 205, 232, 186, 147, 80, 81, 128, 132, 127, 110, 113, 159, 255, 255, 223,
+  216, 232, 181, 55, 41, 45, 45, 38, 44, 46, 38, 37, 36, 37, 39, 42,
+  42, 40, 38, 38, 38, 38, 38, 38, 38, 38, 38, 39, 38, 35, 34, 37,
+  41, 48, 54, 62, 70, 81, 94, 112, 131, 140, 139, 154, 152, 146, 142, 145,
+  150, 152, 147, 150, 146, 142, 140, 142, 144, 143, 141, 145, 145, 143, 141, 146,
+  150, 148, 146, 144, 156, 159, 163, 172, 171, 169, 175, 168, 169, 167, 165, 166,
+  170, 169, 164, 168, 170, 174, 177, 178, 178, 178, 176, 182, 184, 192, 202, 209,
+  215, 220, 222, 234, 232, 203, 167, 78, 68, 129, 132, 129, 99, 112, 168, 255,
+  245, 225, 221, 230, 151, 40, 56, 45, 48, 46, 37, 45, 35, 35, 36, 38,
+  40, 41, 40, 37, 36, 38, 38, 38, 38, 38, 38, 38, 38, 36, 35, 35,
+  36, 41, 47, 54, 59, 67, 76, 87, 101, 120, 136, 143, 139, 156, 149, 143,
+  141, 144, 147, 144, 140, 146, 138, 130, 127, 129, 133, 133, 131, 131, 135, 132,
+  127, 131, 141, 139, 131, 139, 149, 153, 155, 169, 169, 168, 174, 163, 166, 166,
+  164, 166, 168, 168, 165, 165, 165, 166, 170, 173, 176, 175, 172, 181, 181, 188,
+  196, 205, 213, 221, 224, 238, 226, 212, 191, 115, 78, 102, 95, 124, 99, 131,
+  206, 255, 222, 228, 227, 229, 119, 31, 49, 30, 44, 51, 32, 43, 40, 42,
+  43, 45, 45, 44, 41, 39, 37, 38, 38, 38, 38, 38, 38, 38, 38, 35,
+  34, 36, 38, 42, 48, 54, 59, 63, 77, 90, 108, 127, 146, 151, 149, 138,
+  133, 133, 139, 145, 146, 141, 137, 139, 130, 120, 117, 120, 126, 130, 130, 124,
+  129, 128, 123, 127, 138, 138, 130, 140, 147, 147, 147, 160, 163, 163, 169, 158,
+  162, 164, 162, 165, 167, 169, 166, 165, 163, 162, 163, 166, 170, 171, 170, 176,
+  176, 181, 187, 198, 209, 222, 228, 229, 230, 224, 191, 122, 63, 80, 107, 118,
+  114, 170, 255, 255, 222, 228, 229, 228, 93, 39, 44, 27, 43, 50, 32, 41,
+  42, 42, 44, 45, 44, 41, 38, 37, 37, 38, 38, 38, 38, 38, 38, 38,
+  37, 36, 37, 40, 39, 40, 45, 54, 62, 76, 91, 106, 119, 132, 145, 149,
+  147, 140, 135, 137, 143, 144, 137, 127, 123, 116, 110, 104, 103, 106, 113, 119,
+  121, 119, 123, 125, 124, 126, 130, 134, 134, 136, 142, 139, 140, 152, 156, 155,
+  162, 156, 163, 165, 163, 164, 166, 169, 166, 166, 162, 161, 159, 159, 159, 163,
+  162, 169, 167, 170, 176, 186, 200, 213, 221, 234, 229, 225, 179, 114, 52, 74,
+  114, 102, 120, 200, 255, 255, 225, 226, 226, 227, 78, 48, 45, 40, 46, 44,
+  38, 41, 39, 40, 41, 42, 41, 37, 35, 36, 38, 38, 38, 38, 38, 38,
+  38, 38, 37, 38, 40, 42, 42, 41, 48, 66, 79, 99, 112, 127, 132, 136,
+  141, 144, 143, 143, 137, 136, 137, 128, 112, 99, 95, 80, 79, 77, 77, 80,
+  83, 86, 87, 90, 90, 94, 97, 98, 96, 101, 109, 114, 121, 121, 127, 143,
+  150, 149, 157, 158, 165, 166, 163, 163, 163, 165, 163, 159, 160, 159, 154, 148,
+  143, 144, 145, 141, 139, 139, 142, 147, 156, 165, 172, 181, 177, 223, 206, 136,
+  66, 69, 70, 83, 108, 209, 255, 255, 228, 223, 222, 226, 73, 39, 37, 45,
+  43, 37, 45, 47, 40, 42, 44, 45, 43, 40, 39, 42, 44, 38, 38, 38,
+  38, 38, 38, 38, 38, 38, 42, 45, 44, 45, 57, 81, 101, 105, 121, 136,
+  141, 141, 145, 150, 148, 126, 120, 120, 117, 106, 88, 78, 76, 77, 79, 81,
+  82, 80, 78, 77, 75, 74, 73, 79, 85, 81, 74, 80, 94, 88, 99, 105,
+  117, 138, 145, 147, 154, 161, 167, 169, 165, 161, 161, 162, 160, 152, 154, 155,
+  148, 137, 129, 127, 126, 125, 124, 121, 121, 121, 124, 128, 130, 129, 123, 213,
+  213, 126, 63, 84, 74, 71, 95, 209, 255, 255, 226, 217, 220, 223, 101, 43,
+  31, 47, 45, 38, 46, 40, 39, 37, 37, 38, 38, 38, 37, 36, 35, 38,
+  38, 38, 39, 39, 40, 40, 40, 39, 36, 42, 51, 55, 61, 85, 113, 118,
+  135, 148, 145, 141, 140, 135, 123, 133, 124, 108, 90, 84, 87, 86, 80, 87,
+  80, 73, 70, 74, 78, 77, 74, 65, 61, 63, 68, 71, 72, 75, 81, 88,
+  84, 86, 97, 113, 127, 138, 148, 163, 162, 161, 159, 163, 169, 170, 165, 153,
+  151, 144, 134, 122, 112, 111, 112, 108, 106, 101, 96, 92, 91, 95, 97, 111,
+  107, 162, 192, 149, 95, 64, 72, 84, 105, 197, 255, 255, 225, 219, 222, 226,
+  108, 40, 30, 48, 46, 39, 47, 42, 44, 38, 38, 38, 37, 37, 36, 36,
+  36, 38, 38, 38, 39, 39, 40, 40, 40, 44, 38, 41, 56, 68, 79, 100,
+  121, 124, 133, 142, 144, 143, 141, 138, 131, 102, 97, 91, 85, 88, 97, 100,
+  97, 102, 97, 91, 86, 85, 84, 81, 77, 75, 69, 70, 72, 72, 69, 70,
+  76, 95, 93, 96, 103, 116, 122, 130, 139, 156, 157, 156, 155, 157, 163, 162,
+  157, 149, 141, 129, 115, 103, 94, 90, 91, 82, 82, 82, 80, 79, 80, 83,
+  84, 85, 87, 140, 171, 155, 117, 77, 61, 95, 112, 198, 255, 255, 225, 220,
+  222, 226, 114, 41, 33, 52, 49, 38, 45, 42, 46, 40, 39, 37, 36, 36,
+  36, 37, 38, 38, 38, 38, 38, 39, 39, 39, 41, 46, 40, 43, 63, 84,
+  100, 116, 131, 141, 140, 141, 144, 141, 133, 126, 124, 108, 107, 108, 109, 115,
+  122, 125, 124, 126, 125, 124, 123, 122, 119, 117, 113, 111, 105, 102, 102, 100,
+  98, 99, 103, 105, 104, 109, 115, 121, 123, 131, 140, 153, 157, 157, 156, 157,
+  162, 159, 153, 153, 141, 124, 110, 98, 93, 88, 87, 78, 83, 87, 90, 93,
+  95, 99, 101, 106, 111, 147, 170, 178, 162, 105, 65, 93, 117, 213, 255, 255,
+  225, 222, 220, 222, 118, 46, 39, 58, 52, 37, 41, 38, 43, 41, 40, 37,
+  35, 35, 36, 38, 39, 38, 38, 38, 38, 38, 38, 38, 41, 47, 45, 52,
+  72, 96, 113, 128, 139, 151, 143, 139, 143, 139, 127, 117, 115, 113, 115, 119,
+  123, 127, 127, 126, 124, 123, 125, 129, 130, 127, 123, 121, 118, 114, 109, 106,
+  106, 106, 105, 108, 115, 106, 108, 113, 120, 122, 125, 134, 144, 151, 155, 157,
+  156, 157, 159, 155, 149, 141, 128, 112, 100, 93, 88, 85, 83, 83, 89, 95,
+  104, 109, 115, 121, 124, 127, 138, 153, 161, 186, 180, 112, 62, 87, 116, 255,
+  255, 255, 224, 225, 219, 222, 127, 47, 40, 59, 52, 38, 41, 38, 43, 42,
+  40, 38, 36, 35, 37, 38, 40, 38, 38, 38, 38, 38, 38, 38, 39, 46,
+  53, 66, 85, 102, 118, 134, 145, 147, 140, 139, 145, 143, 130, 122, 122, 115,
+  118, 125, 131, 133, 130, 127, 126, 121, 122, 124, 123, 118, 110, 106, 103, 102,
+  97, 95, 96, 99, 98, 102, 110, 107, 109, 113, 118, 122, 126, 135, 146, 145,
+  151, 154, 151, 151, 151, 147, 142, 139, 129, 114, 105, 99, 95, 91, 89, 98,
+  104, 110, 118, 125, 132, 141, 145, 135, 155, 165, 169, 198, 182, 102, 61, 91,
+  141, 255, 255, 255, 222, 228, 221, 225, 139, 44, 36, 54, 50, 39, 45, 42,
+  45, 41, 40, 39, 37, 37, 37, 38, 39, 38, 38, 38, 38, 37, 37, 37,
+  40, 49, 64, 80, 97, 111, 124, 138, 149, 152, 149, 149, 150, 145, 134, 125,
+  123, 130, 134, 139, 142, 138, 128, 125, 123, 116, 116, 117, 117, 116, 110, 108,
+  105, 103, 100, 98, 100, 102, 101, 104, 108, 116, 117, 121, 128, 132, 134, 141,
+  148, 149, 152, 155, 153, 151, 151, 149, 143, 144, 136, 123, 113, 105, 99, 97,
+  96, 103, 109, 116, 123, 130, 137, 146, 149, 142, 168, 184, 194, 219, 172, 79,
+  57, 94, 158, 255, 255, 255, 222, 230, 221, 225, 146, 44, 34, 51, 48, 40,
+  47, 42, 44, 40, 40, 39, 39, 39, 38, 38, 38, 38, 38, 38, 37, 37,
+  36, 36, 39, 56, 72, 90, 107, 122, 135, 146, 153, 157, 160, 158, 148, 138,
+  133, 128, 125, 132, 131, 133, 131, 122, 108, 102, 101, 99, 95, 94, 97, 100,
+  101, 100, 97, 93, 90, 90, 93, 95, 93, 96, 102, 121, 120, 127, 138, 145,
+  147, 149, 149, 153, 158, 161, 155, 152, 152, 151, 147, 130, 124, 112, 99, 88,
+  83, 85, 88, 87, 95, 103, 110, 116, 120, 125, 126, 133, 156, 173, 197, 219,
+  142, 43, 48, 102, 161, 255, 255, 255, 245, 230, 220, 221, 145, 49, 38, 51,
+  48, 42, 47, 40, 39, 39, 40, 40, 40, 40, 38, 37, 36, 37, 37, 37,
+  37, 37, 36, 36, 41, 63, 80, 95, 113, 129, 141, 152, 154, 148, 157, 155,
+  144, 137, 139, 140, 139, 127, 128, 129, 127, 117, 104, 97, 100, 101, 95, 88,
+  87, 90, 91, 87, 83, 81, 80, 82, 88, 93, 93, 95, 102, 111, 113, 123,
+  138, 147, 149, 146, 142, 151, 154, 158, 154, 150, 149, 148, 144, 127, 119, 107,
+  93, 82, 81, 88, 95, 88, 96, 106, 114, 119, 121, 123, 124, 126, 144, 160,
+  195, 222, 135, 42, 67, 117, 196, 255, 255, 255, 255, 225, 222, 212, 162, 56,
+  33, 43, 49, 47, 51, 42, 43, 40, 38, 38, 38, 38, 35, 32, 30, 34,
+  34, 35, 37, 39, 39, 41, 44, 61, 86, 106, 116, 127, 142, 148, 145, 147,
+  156, 159, 153, 147, 148, 148, 145, 136, 133, 126, 116, 105, 100, 98, 97, 81,
+  78, 76, 74, 71, 67, 60, 59, 66, 79, 85, 82, 83, 93, 98, 96, 112,
+  117, 126, 135, 142, 146, 149, 149, 142, 154, 163, 154, 145, 158, 166, 150, 131,
+  104, 87, 84, 81, 86, 90, 83, 83, 92, 104, 112, 122, 143, 144, 123, 122,
+  126, 175, 212, 198, 124, 48, 70, 119, 148, 255, 255, 255, 255, 209, 222, 227,
+  186, 43, 33, 54, 58, 46, 42, 35, 42, 41, 40, 37, 36, 36, 35, 34,
+  32, 30, 31, 34, 36, 38, 39, 38, 41, 60, 86, 106, 116, 128, 143, 148,
+  148, 148, 153, 154, 149, 146, 146, 145, 141, 132, 128, 119, 114, 108, 102, 94,
+  88, 75, 74, 72, 66, 55, 47, 42, 41, 79, 103, 116, 103, 84, 82, 91,
+  99, 109, 117, 124, 131, 139, 143, 144, 145, 146, 149, 155, 157, 164, 180, 174,
+  142, 112, 82, 77, 79, 68, 66, 73, 68, 76, 70, 81, 100, 120, 145, 159,
+  155, 119, 129, 176, 206, 182, 81, 36, 79, 136, 150, 255, 255, 255, 255, 216,
+  224, 218, 162, 45, 34, 54, 57, 45, 42, 34, 40, 40, 40, 36, 35, 35,
+  35, 37, 38, 33, 34, 37, 38, 39, 39, 38, 41, 67, 91, 113, 122, 132,
+  143, 149, 148, 152, 154, 151, 147, 145, 144, 141, 135, 129, 123, 115, 113, 110,
+  104, 90, 79, 69, 74, 76, 71, 62, 57, 56, 60, 87, 111, 125, 111, 89,
+  82, 90, 100, 110, 116, 125, 134, 140, 143, 144, 143, 148, 145, 151, 159, 171,
+  191, 189, 163, 118, 80, 83, 94, 72, 63, 74, 67, 69, 78, 105, 122, 117,
+  121, 143, 162, 139, 149, 188, 218, 196, 64, 53, 115, 143, 154, 255, 255, 255,
+  255, 246, 228, 204, 131, 59, 34, 42, 46, 47, 52, 39, 38, 38, 40, 41,
+  39, 39, 38, 39, 39, 36, 39, 41, 43, 44, 43, 42, 45, 80, 102, 121,
+  130, 136, 143, 147, 149, 154, 151, 146, 144, 144, 143, 138, 133, 131, 127, 121,
+  118, 114, 105, 92, 82, 84, 86, 89, 88, 85, 84, 84, 86, 89, 99, 103,
+  100, 97, 99, 103, 104, 113, 120, 130, 137, 142, 144, 144, 144, 142, 146, 158,
+  159, 162, 184, 208, 211, 142, 88, 81, 95, 76, 70, 77, 68, 75, 98, 135,
+  147, 130, 121, 129, 135, 144, 152, 182, 218, 211, 60, 65, 136, 176, 198, 255,
+  255, 255, 255, 255, 231, 211, 143, 56, 31, 39, 46, 48, 54, 40, 39, 38,
+  42, 47, 47, 43, 40, 39, 39, 39, 41, 42, 45, 45, 46, 44, 49, 87,
+  109, 129, 138, 143, 147, 151, 154, 151, 147, 143, 143, 143, 142, 137, 135, 137,
+  136, 132, 128, 121, 114, 110, 106, 115, 110, 107, 106, 107, 104, 99, 95, 101,
+  100, 98, 98, 104, 111, 116, 115, 119, 123, 132, 138, 142, 144, 144, 143, 144,
+  148, 160, 160, 155, 176, 214, 234, 182, 113, 85, 95, 94, 96, 100, 88, 95,
+  103, 123, 139, 151, 165, 160, 135, 142, 157, 189, 226, 221, 66, 70, 151, 177,
+  255, 255, 255, 255, 255, 255, 227, 215, 160, 46, 32, 50, 54, 46, 45, 35,
+  41, 44, 49, 55, 54, 48, 41, 39, 38, 39, 41, 42, 43, 45, 45, 45,
+  51, 88, 110, 132, 143, 148, 150, 155, 162, 158, 153, 151, 152, 151, 147, 145,
+  147, 141, 143, 141, 138, 134, 130, 131, 133, 134, 127, 121, 120, 123, 123, 116,
+  110, 114, 114, 114, 108, 105, 107, 115, 124, 126, 128, 134, 138, 142, 143, 143,
+  144, 154, 150, 157, 160, 160, 179, 209, 223, 207, 145, 98, 95, 109, 115, 115,
+  110, 107, 110, 118, 126, 149, 184, 198, 181, 150, 171, 204, 234, 225, 87, 74,
+  161, 161, 255, 255, 255, 255, 255, 255, 219, 216, 174, 60, 41, 52, 51, 43,
+  45, 40, 47, 51, 57, 61, 58, 51, 44, 42, 41, 42, 43, 42, 43, 45,
+  46, 48, 56, 89, 111, 133, 147, 149, 150, 156, 165, 166, 161, 158, 159, 155,
+  149, 150, 153, 146, 145, 144, 144, 143, 139, 137, 135, 135, 131, 129, 127, 130,
+  132, 130, 127, 124, 125, 125, 120, 115, 115, 124, 134, 138, 139, 141, 143, 145,
+  146, 147, 149, 157, 149, 154, 159, 158, 172, 201, 218, 215, 174, 116, 96, 111,
+  114, 108, 115, 118, 119, 129, 138, 149, 178, 205, 210, 172, 181, 199, 223, 226,
+  125, 80, 158, 181, 255, 255, 255, 255, 255, 255, 212, 225, 204, 89, 53, 44,
+  40, 42, 54, 50, 54, 60, 65, 66, 61, 52, 45, 44, 46, 48, 47, 45,
+  45, 46, 49, 54, 60, 94, 114, 136, 147, 149, 146, 153, 161, 162, 159, 156,
+  156, 150, 143, 143, 150, 149, 145, 141, 142, 145, 142, 134, 126, 131, 131, 130,
+  129, 127, 127, 128, 131, 131, 128, 126, 129, 135, 139, 143, 147, 148, 148, 148,
+  148, 150, 151, 153, 155, 156, 150, 156, 157, 148, 161, 198, 226, 241, 217, 160,
+  125, 135, 128, 119, 134, 132, 119, 128, 151, 169, 186, 200, 200, 215, 202, 200,
+  224, 251, 183, 108, 169, 174, 255, 255, 255, 255, 255, 255, 216, 209, 202, 107,
+  39, 42, 43, 52, 48, 57, 51, 73, 79, 81, 74, 59, 47, 45, 50, 51,
+  45, 44, 47, 48, 47, 52, 66, 98, 107, 127, 144, 151, 158, 164, 159, 154,
+  160, 154, 150, 155, 150, 142, 147, 139, 137, 142, 142, 137, 141, 141, 129, 131,
+  134, 138, 137, 135, 133, 133, 134, 136, 138, 138, 140, 142, 143, 145, 145, 157,
+  155, 152, 150, 149, 151, 154, 156, 155, 153, 152, 159, 162, 159, 180, 218, 242,
+  226, 186, 150, 139, 133, 127, 128, 137, 132, 141, 160, 175, 180, 188, 200, 206,
+  192, 211, 212, 255, 218, 114, 170, 169, 255, 255, 255, 255, 255, 255, 218, 213,
+  208, 112, 36, 36, 46, 57, 51, 56, 51, 63, 70, 72, 70, 60, 53, 52,
+  55, 52, 47, 46, 48, 48, 46, 49, 62, 89, 110, 128, 140, 146, 151, 159,
+  171, 162, 169, 164, 162, 165, 158, 149, 152, 151, 147, 149, 147, 139, 143, 142,
+  131, 132, 134, 134, 132, 131, 133, 140, 145, 145, 145, 146, 146, 147, 149, 149,
+  149, 151, 150, 150, 150, 151, 153, 155, 158, 162, 161, 161, 167, 168, 164, 184,
+  223, 244, 232, 193, 158, 147, 150, 157, 166, 149, 140, 143, 157, 170, 179, 193,
+  209, 203, 188, 194, 199, 251, 235, 141, 150, 165, 255, 255, 255, 255, 255, 255,
+  255, 215, 212, 131, 43, 33, 48, 60, 58, 63, 67, 89, 94, 92, 86, 74,
+  65, 61, 59, 51, 48, 49, 49, 47, 45, 46, 58, 88, 115, 124, 130, 148,
+  150, 152, 170, 157, 164, 164, 163, 167, 160, 151, 153, 161, 157, 158, 154, 145,
+  148, 149, 139, 137, 138, 138, 138, 137, 138, 144, 147, 148, 148, 149, 149, 148,
+  148, 148, 149, 147, 148, 150, 152, 154, 154, 155, 157, 156, 159, 162, 166, 166,
+  161, 181, 217, 236, 240, 216, 185, 173, 169, 169, 170, 161, 153, 154, 164, 175,
+  182, 195, 207, 200, 200, 200, 206, 252, 255, 190, 154, 162, 255, 255, 255, 255,
+  255, 255, 255, 215, 214, 156, 58, 36, 51, 58, 63, 76, 94, 130, 133, 125,
+  110, 94, 82, 71, 63, 50, 50, 50, 50, 48, 44, 45, 55, 87, 117, 118,
+  127, 157, 156, 143, 158, 149, 158, 157, 158, 164, 161, 154, 159, 165, 159, 160,
+  159, 153, 157, 162, 152, 147, 149, 153, 154, 153, 148, 143, 139, 145, 145, 145,
+  145, 144, 143, 144, 143, 150, 151, 153, 154, 155, 153, 153, 152, 148, 153, 157,
+  160, 163, 157, 175, 208, 232, 243, 230, 203, 189, 181, 172, 164, 168, 165, 171,
+  180, 186, 185, 188, 191, 178, 195, 201, 213, 233, 241, 214, 162, 161, 255, 255,
+  255, 255, 255, 255, 255, 219, 219, 162, 69, 40, 58, 57, 68, 83, 110, 143,
+  149, 140, 121, 104, 91, 78, 66, 50, 52, 53, 49, 45, 44, 47, 55, 72,
+  113, 126, 137, 160, 153, 139, 156, 155, 161, 158, 157, 164, 164, 161, 167, 166,
+  162, 164, 165, 160, 166, 170, 160, 158, 158, 160, 160, 156, 150, 145, 140, 146,
+  146, 146, 146, 144, 144, 143, 142, 149, 152, 154, 154, 155, 156, 155, 153, 152,
+  157, 160, 162, 163, 156, 169, 195, 235, 248, 232, 199, 188, 189, 186, 179, 169,
+  170, 176, 183, 186, 185, 182, 180, 176, 194, 207, 225, 228, 235, 229, 176, 159,
+  255, 255, 255, 255, 255, 255, 255, 245, 229, 159, 72, 41, 60, 55, 74, 88,
+  114, 152, 158, 150, 127, 106, 91, 78, 64, 53, 56, 57, 50, 44, 43, 47,
+  54, 60, 109, 141, 151, 155, 142, 143, 166, 160, 165, 160, 157, 163, 162, 159,
+  167, 170, 166, 170, 169, 163, 167, 170, 159, 165, 161, 157, 153, 152, 151, 152,
+  151, 150, 149, 150, 149, 149, 149, 148, 148, 147, 146, 148, 150, 152, 156, 158,
+  159, 159, 161, 160, 161, 162, 153, 158, 178, 228, 252, 244, 209, 193, 192, 183,
+  172, 169, 168, 170, 173, 176, 179, 180, 180, 192, 201, 214, 230, 236, 249, 240,
+  185, 156, 255, 255, 255, 255, 255, 255, 255, 255, 233, 170, 83, 41, 57, 51,
+  87, 103, 124, 158, 169, 161, 136, 109, 93, 81, 68, 61, 63, 62, 50, 40,
+  40, 45, 51, 73, 110, 142, 152, 146, 141, 148, 164, 157, 163, 159, 157, 163,
+  161, 156, 163, 171, 169, 172, 171, 165, 168, 168, 157, 167, 161, 155, 152, 153,
+  154, 154, 153, 148, 149, 150, 149, 150, 150, 149, 149, 146, 145, 145, 144, 146,
+  152, 157, 160, 157, 159, 155, 155, 159, 152, 151, 165, 207, 247, 252, 215, 189,
+  182, 173, 164, 171, 168, 167, 167, 169, 175, 178, 179, 183, 196, 215, 211, 218,
+  244, 227, 174, 157, 255, 255, 255, 255, 255, 255, 255, 255, 231, 190, 96, 41,
+  50, 47, 99, 119, 142, 154, 167, 164, 140, 117, 103, 94, 84, 69, 71, 66,
+  51, 41, 40, 44, 52, 102, 115, 135, 148, 145, 147, 152, 150, 154, 161, 160,
+  161, 168, 165, 160, 166, 167, 165, 169, 169, 165, 168, 169, 157, 165, 163, 161,
+  162, 162, 160, 155, 151, 144, 144, 145, 145, 147, 148, 148, 149, 153, 149, 145,
+  141, 143, 148, 155, 156, 156, 156, 152, 155, 162, 159, 159, 170, 194, 238, 242,
+  200, 169, 169, 176, 179, 173, 174, 174, 172, 174, 176, 178, 175, 181, 209, 237,
+  214, 212, 245, 224, 179, 159, 255, 255, 255, 255, 255, 255, 255, 255, 243, 222,
+  173, 69, 44, 55, 65, 120, 149, 154, 150, 140, 127, 129, 141, 130, 94, 97,
+  79, 70, 67, 59, 50, 59, 85, 120, 129, 136, 142, 148, 150, 151, 152, 155,
+  158, 160, 158, 160, 164, 165, 162, 166, 166, 164, 159, 162, 168, 172, 172, 171,
+  169, 167, 168, 169, 166, 157, 150, 154, 144, 137, 137, 142, 146, 146, 144, 144,
+  142, 140, 142, 145, 148, 151, 150, 156, 166, 163, 158, 167, 172, 165, 159, 184,
+  218, 239, 207, 157, 146, 161, 166, 156, 175, 159, 165, 170, 159, 179, 184, 189,
+  199, 216, 228, 230, 233, 216, 181, 150, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 224, 198, 118, 68, 56, 55, 93, 137, 154, 149, 145, 140, 139, 145, 130,
+  97, 115, 89, 69, 61, 57, 55, 73, 100, 137, 141, 141, 142, 144, 144, 145,
+  144, 151, 157, 159, 157, 160, 165, 168, 164, 158, 161, 164, 162, 163, 166, 168,
+  167, 172, 169, 168, 168, 169, 166, 159, 151, 149, 146, 144, 142, 142, 141, 141,
+  141, 144, 144, 146, 148, 151, 156, 159, 162, 154, 160, 156, 155, 167, 170, 162,
+  161, 177, 200, 238, 242, 191, 143, 137, 152, 150, 172, 163, 171, 175, 163, 174,
+  176, 190, 204, 226, 234, 230, 230, 215, 183, 160, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 222, 218, 162, 82, 50, 43, 70, 153, 165, 149, 136, 127, 125,
+  130, 126, 107, 115, 88, 66, 57, 55, 60, 82, 110, 142, 141, 139, 139, 143,
+  146, 149, 148, 150, 153, 156, 156, 159, 165, 167, 166, 157, 165, 171, 169, 169,
+  169, 170, 168, 172, 169, 168, 167, 167, 162, 156, 148, 140, 142, 144, 143, 140,
+  137, 137, 136, 145, 147, 153, 153, 152, 153, 156, 159, 161, 161, 156, 159, 171,
+  168, 161, 165, 174, 178, 210, 242, 230, 190, 156, 139, 146, 168, 165, 169, 174,
+  165, 171, 174, 178, 196, 222, 232, 231, 235, 226, 202, 155, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 218, 222, 199, 119, 78, 52, 52, 155, 163, 146, 133,
+  128, 121, 124, 124, 113, 101, 86, 73, 70, 67, 71, 93, 120, 142, 141, 139,
+  140, 146, 149, 150, 151, 148, 151, 154, 153, 157, 163, 167, 165, 157, 166, 172,
+  172, 169, 168, 170, 168, 170, 169, 166, 166, 164, 159, 153, 148, 132, 134, 137,
+  138, 139, 136, 136, 135, 143, 149, 154, 155, 149, 146, 149, 152, 160, 159, 156,
+  161, 168, 160, 157, 170, 170, 176, 190, 204, 218, 224, 190, 138, 147, 164, 162,
+  161, 166, 167, 173, 181, 172, 188, 209, 218, 221, 232, 228, 206, 194, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 242, 224, 234, 184, 145, 84, 35, 118, 144,
+  140, 149, 153, 148, 142, 131, 114, 96, 89, 87, 83, 79, 84, 109, 135, 147,
+  145, 145, 146, 148, 148, 146, 143, 147, 150, 151, 150, 153, 159, 163, 162, 155,
+  162, 166, 162, 160, 161, 164, 163, 169, 169, 166, 164, 160, 155, 149, 145, 136,
+  130, 129, 132, 137, 139, 137, 132, 133, 140, 145, 145, 140, 138, 139, 143, 137,
+  143, 144, 149, 153, 147, 151, 170, 164, 177, 181, 169, 172, 195, 182, 140, 146,
+  160, 164, 155, 160, 166, 166, 177, 179, 185, 195, 201, 206, 217, 215, 190, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 235, 212, 187, 121, 48,
+  91, 133, 138, 152, 157, 152, 152, 148, 130, 104, 97, 94, 88, 84, 91, 117,
+  143, 136, 139, 145, 147, 149, 149, 149, 148, 148, 150, 148, 146, 147, 153, 157,
+  156, 158, 161, 161, 157, 158, 161, 163, 161, 166, 165, 163, 158, 153, 147, 144,
+  141, 139, 133, 129, 132, 138, 138, 134, 128, 129, 131, 130, 127, 120, 114, 111,
+  112, 114, 127, 132, 135, 143, 144, 153, 172, 169, 154, 147, 148, 158, 170, 162,
+  136, 138, 154, 165, 154, 158, 165, 155, 164, 181, 184, 191, 194, 201, 217, 216,
+  193, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 221, 208, 200,
+  154, 78, 74, 124, 133, 144, 143, 141, 155, 163, 151, 124, 115, 106, 99, 97,
+  105, 121, 138, 126, 132, 139, 142, 144, 145, 150, 153, 147, 148, 146, 143, 143,
+  147, 150, 149, 162, 162, 160, 158, 160, 165, 162, 158, 160, 160, 156, 151, 146,
+  140, 135, 133, 134, 132, 133, 135, 138, 137, 133, 127, 125, 124, 120, 116, 109,
+  104, 99, 99, 109, 122, 125, 124, 140, 149, 158, 167, 168, 129, 117, 135, 159,
+  163, 151, 129, 136, 149, 164, 150, 156, 169, 158, 169, 175, 181, 192, 197, 202,
+  218, 219, 199, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 222, 226,
+  218, 217, 179, 96, 48, 106, 126, 146, 147, 147, 164, 169, 152, 146, 134, 123,
+  118, 120, 123, 129, 133, 131, 137, 142, 141, 138, 136, 141, 147, 147, 149, 145,
+  140, 138, 142, 146, 145, 159, 158, 154, 153, 160, 163, 157, 149, 155, 154, 152,
+  145, 139, 132, 128, 127, 122, 127, 135, 140, 139, 136, 133, 133, 119, 117, 117,
+  117, 119, 117, 116, 117, 111, 122, 118, 117, 135, 152, 154, 155, 148, 127, 122,
+  132, 139, 144, 138, 123, 138, 147, 161, 142, 150, 173, 169, 187, 170, 181, 196,
+  198, 196, 207, 207, 189, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 215, 229, 216, 192, 78, 46, 60, 113, 167, 149, 149, 165, 159, 164, 151,
+  145, 138, 131, 134, 136, 136, 135, 135, 134, 134, 137, 140, 140, 138, 134, 137,
+  142, 143, 138, 135, 138, 139, 139, 142, 145, 148, 149, 151, 151, 153, 156, 143,
+  144, 141, 124, 110, 121, 131, 121, 132, 131, 131, 128, 128, 127, 126, 126, 127,
+  122, 117, 113, 112, 114, 117, 121, 124, 124, 123, 126, 132, 135, 134, 132, 134,
+  136, 139, 140, 138, 134, 130, 128, 135, 135, 140, 146, 151, 153, 161, 169, 175,
+  167, 183, 182, 184, 197, 182, 165, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 222, 224, 220, 203, 106, 30, 58, 98, 141, 181, 151, 171, 148,
+  177, 153, 146, 141, 137, 138, 140, 141, 139, 143, 138, 133, 131, 133, 136, 139,
+  139, 136, 137, 138, 137, 136, 134, 136, 139, 132, 135, 139, 141, 144, 145, 145,
+  145, 135, 131, 127, 116, 107, 116, 128, 121, 131, 130, 129, 128, 128, 127, 125,
+  124, 122, 120, 116, 111, 110, 112, 114, 118, 121, 125, 127, 128, 128, 130, 132,
+  133, 132, 134, 137, 139, 139, 136, 132, 131, 134, 134, 138, 144, 146, 147, 151,
+  158, 166, 161, 180, 180, 183, 198, 186, 200, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 246, 219, 226, 215, 149, 19, 44, 73, 126, 189, 156,
+  167, 150, 172, 156, 149, 143, 140, 139, 139, 138, 137, 141, 137, 133, 131, 132,
+  135, 138, 138, 140, 135, 135, 139, 138, 129, 132, 141, 136, 136, 139, 140, 143,
+  142, 138, 133, 123, 113, 110, 109, 105, 111, 123, 119, 126, 124, 123, 122, 121,
+  120, 120, 119, 118, 116, 114, 111, 110, 111, 112, 113, 118, 123, 126, 125, 122,
+  121, 125, 130, 129, 131, 135, 138, 139, 137, 134, 133, 131, 132, 134, 137, 141,
+  140, 145, 151, 160, 157, 178, 177, 180, 195, 185, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 215, 229, 217, 192, 36, 29, 55, 130,
+  173, 167, 162, 168, 156, 161, 151, 144, 140, 137, 133, 131, 130, 131, 132, 134,
+  137, 138, 138, 136, 135, 141, 132, 130, 137, 133, 121, 122, 135, 142, 141, 139,
+  140, 142, 136, 127, 120, 113, 100, 100, 106, 106, 110, 117, 116, 117, 115, 116,
+  115, 114, 113, 113, 113, 114, 115, 114, 113, 112, 112, 111, 112, 114, 117, 118,
+  116, 114, 114, 117, 120, 125, 128, 132, 135, 135, 134, 131, 131, 127, 125, 127,
+  130, 134, 136, 145, 155, 159, 157, 176, 175, 174, 186, 176, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211, 225, 209, 215, 73, 32,
+  51, 118, 176, 177, 167, 172, 156, 161, 150, 141, 139, 137, 129, 129, 130, 133,
+  134, 137, 137, 136, 134, 132, 131, 132, 122, 121, 127, 125, 113, 117, 129, 136,
+  134, 131, 130, 131, 126, 115, 107, 106, 96, 99, 109, 108, 108, 111, 106, 108,
+  107, 108, 108, 107, 109, 109, 110, 113, 115, 115, 114, 115, 114, 114, 113, 115,
+  112, 109, 109, 111, 113, 113, 112, 122, 124, 128, 130, 130, 128, 125, 124, 125,
+  121, 119, 119, 123, 129, 140, 152, 155, 154, 173, 172, 171, 182, 167, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 241, 220, 204, 217,
+  101, 37, 49, 79, 183, 174, 169, 156, 166, 158, 145, 138, 138, 138, 132, 135,
+  140, 143, 141, 137, 132, 128, 127, 130, 133, 127, 122, 121, 126, 123, 119, 123,
+  134, 127, 126, 125, 124, 124, 118, 111, 105, 104, 98, 104, 109, 106, 108, 110,
+  102, 105, 105, 105, 108, 108, 109, 111, 113, 116, 116, 118, 117, 117, 116, 117,
+  116, 118, 112, 108, 108, 113, 115, 116, 112, 120, 122, 126, 128, 129, 126, 123,
+  121, 127, 121, 114, 113, 113, 117, 129, 141, 148, 146, 166, 169, 172, 184, 166,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215,
+  206, 204, 107, 35, 50, 62, 161, 170, 168, 154, 166, 156, 141, 133, 135, 136,
+  131, 134, 144, 141, 140, 136, 131, 127, 127, 130, 134, 128, 127, 126, 124, 122,
+  123, 126, 131, 124, 125, 125, 123, 121, 115, 110, 106, 101, 102, 108, 104, 98,
+  106, 112, 101, 102, 102, 105, 106, 109, 112, 114, 115, 120, 120, 120, 119, 119,
+  120, 120, 119, 117, 113, 112, 109, 113, 113, 118, 117, 119, 120, 126, 128, 131,
+  128, 127, 125, 127, 122, 117, 116, 113, 113, 122, 132, 145, 142, 163, 170, 177,
+  188, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 241, 212, 194, 101, 30, 53, 69, 124, 169, 163, 166, 154, 152, 136, 128,
+  130, 131, 126, 129, 139, 127, 131, 134, 134, 132, 130, 131, 132, 128, 130, 127,
+  119, 115, 117, 120, 120, 126, 127, 126, 121, 115, 109, 105, 105, 101, 107, 111,
+  102, 94, 106, 115, 105, 104, 104, 106, 109, 112, 115, 118, 120, 125, 124, 124,
+  122, 123, 125, 125, 125, 116, 117, 118, 115, 113, 114, 120, 125, 121, 125, 129,
+  133, 134, 134, 130, 131, 128, 125, 122, 121, 117, 116, 122, 131, 146, 141, 163,
+  170, 178, 188, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 211, 216, 87, 34, 45, 53, 63, 92, 128, 146, 143, 126,
+  125, 112, 116, 141, 118, 140, 134, 127, 126, 126, 126, 127, 128, 128, 129, 122,
+  128, 127, 116, 115, 124, 128, 126, 129, 137, 137, 126, 115, 110, 106, 103, 109,
+  108, 107, 106, 107, 107, 105, 103, 111, 111, 111, 115, 119, 122, 123, 124, 127,
+  132, 131, 129, 137, 133, 127, 129, 130, 128, 125, 124, 122, 122, 122, 122, 138,
+  142, 145, 141, 136, 135, 134, 133, 130, 125, 116, 112, 113, 114, 115, 117, 133,
+  143, 157, 168, 173, 167, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 213, 222, 122, 65, 54, 46, 51, 64, 72, 77,
+  80, 79, 84, 79, 121, 141, 127, 127, 132, 130, 129, 128, 126, 123, 120, 120,
+  120, 117, 123, 124, 118, 120, 131, 139, 137, 116, 125, 135, 136, 127, 114, 102,
+  97, 98, 96, 94, 92, 95, 100, 104, 109, 109, 110, 112, 114, 118, 120, 122,
+  121, 126, 130, 128, 127, 138, 137, 133, 137, 126, 126, 127, 130, 133, 137, 140,
+  141, 142, 145, 144, 142, 141, 140, 133, 126, 132, 131, 124, 119, 119, 117, 119,
+  121, 135, 146, 161, 173, 176, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 240, 220, 162, 105, 68, 44, 47, 52,
+  45, 42, 51, 51, 59, 59, 127, 141, 135, 119, 134, 130, 132, 133, 129, 123,
+  118, 117, 117, 125, 129, 127, 120, 120, 127, 131, 128, 114, 118, 130, 140, 132,
+  111, 96, 93, 97, 95, 93, 91, 91, 92, 94, 97, 97, 99, 100, 103, 107,
+  109, 110, 109, 119, 122, 117, 114, 122, 120, 116, 121, 126, 127, 132, 136, 142,
+  146, 148, 149, 139, 140, 141, 142, 146, 146, 139, 130, 127, 129, 127, 123, 119,
+  116, 119, 121, 133, 145, 160, 171, 174, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 190, 140, 90, 46,
+  42, 49, 48, 47, 51, 50, 58, 68, 117, 133, 130, 118, 132, 127, 131, 134,
+  132, 126, 122, 122, 123, 130, 131, 127, 120, 117, 119, 118, 114, 125, 122, 127,
+  136, 127, 105, 94, 98, 98, 103, 107, 108, 106, 102, 98, 97, 94, 95, 97,
+  100, 105, 106, 105, 105, 108, 112, 107, 106, 113, 110, 106, 108, 112, 113, 116,
+  120, 122, 123, 123, 122, 113, 117, 120, 122, 124, 125, 122, 116, 119, 124, 125,
+  123, 119, 115, 118, 121, 139, 149, 163, 174, 173, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 172,
+  120, 57, 29, 37, 52, 51, 43, 45, 57, 85, 99, 126, 120, 117, 124, 124,
+  127, 131, 130, 127, 123, 123, 124, 122, 122, 121, 118, 119, 121, 121, 117, 128,
+  123, 124, 131, 126, 107, 101, 106, 103, 110, 118, 122, 123, 121, 120, 122, 116,
+  116, 117, 117, 119, 118, 116, 113, 108, 116, 115, 117, 125, 122, 116, 117, 111,
+  112, 116, 118, 121, 120, 119, 118, 122, 128, 131, 124, 116, 112, 111, 110, 113,
+  119, 123, 123, 121, 123, 127, 132, 148, 155, 166, 179, 176, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  204, 192, 147, 80, 34, 33, 53, 53, 37, 36, 51, 91, 91, 126, 124, 120,
+  120, 125, 125, 125, 124, 123, 120, 119, 117, 122, 120, 120, 121, 124, 125, 124,
+  120, 119, 118, 122, 131, 128, 116, 109, 109, 120, 123, 125, 126, 125, 128, 133,
+  138, 140, 138, 134, 133, 131, 130, 126, 124, 127, 133, 132, 132, 138, 131, 120,
+  120, 126, 128, 131, 136, 140, 142, 145, 146, 158, 165, 166, 155, 138, 127, 123,
+  119, 110, 111, 113, 116, 120, 127, 135, 142, 141, 145, 157, 172, 202, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 237, 204, 169, 110, 62, 46, 53, 51, 41, 45, 49, 77, 93, 124,
+  131, 114, 124, 126, 124, 120, 120, 122, 121, 118, 114, 127, 123, 122, 124, 127,
+  125, 122, 118, 117, 118, 121, 124, 125, 121, 115, 110, 125, 128, 130, 128, 126,
+  127, 133, 140, 146, 143, 139, 137, 136, 138, 137, 137, 139, 143, 139, 136, 141,
+  134, 123, 124, 129, 129, 132, 136, 141, 146, 149, 150, 162, 169, 173, 165, 151,
+  139, 128, 121, 118, 114, 112, 114, 120, 129, 138, 143, 138, 139, 154, 178, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 216, 186, 137, 86, 57, 45, 40, 36, 60, 48, 58,
+  91, 110, 131, 101, 126, 128, 123, 118, 119, 123, 125, 122, 117, 122, 118, 119,
+  124, 128, 128, 125, 121, 121, 122, 121, 115, 114, 118, 116, 111, 110, 118, 128,
+  130, 133, 134, 139, 144, 143, 140, 137, 136, 141, 145, 148, 149, 130, 135, 131,
+  133, 142, 141, 136, 140, 139, 140, 140, 141, 144, 147, 150, 151, 157, 165, 174,
+  173, 169, 159, 146, 133, 134, 127, 120, 120, 126, 133, 139, 140, 151, 151, 169,
+  201, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 237, 193, 149, 135, 79, 41, 33, 60, 48,
+  45, 60, 83, 104, 122, 125, 113, 122, 127, 131, 129, 124, 119, 118, 118, 111,
+  116, 118, 114, 116, 122, 126, 123, 120, 115, 115, 121, 125, 122, 114, 109, 124,
+  127, 130, 129, 133, 138, 144, 145, 142, 145, 139, 137, 144, 141, 137, 140, 139,
+  133, 135, 143, 141, 132, 134, 142, 138, 138, 143, 149, 151, 147, 147, 148, 159,
+  162, 169, 171, 164, 152, 149, 150, 141, 124, 128, 130, 125, 138, 150, 137, 149,
+  141, 170, 195, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 171, 157, 103, 61, 40,
+  47, 47, 46, 63, 86, 105, 121, 125, 115, 115, 120, 122, 123, 122, 121, 121,
+  121, 115, 118, 118, 115, 117, 123, 125, 119, 120, 118, 118, 119, 121, 118, 113,
+  110, 124, 128, 133, 135, 137, 139, 139, 136, 135, 136, 131, 127, 136, 134, 129,
+  134, 133, 128, 130, 137, 138, 131, 133, 143, 136, 137, 139, 147, 150, 149, 150,
+  153, 161, 163, 167, 170, 163, 153, 144, 143, 136, 122, 123, 128, 126, 140, 151,
+  141, 137, 139, 172, 213, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 189, 181, 143,
+  104, 71, 48, 45, 46, 66, 90, 105, 119, 124, 117, 114, 115, 115, 116, 118,
+  120, 120, 119, 118, 118, 116, 115, 118, 123, 124, 117, 113, 113, 115, 117, 117,
+  120, 120, 120, 121, 123, 126, 130, 132, 134, 134, 134, 134, 134, 130, 125, 135,
+  134, 131, 136, 134, 128, 126, 127, 122, 114, 115, 122, 125, 125, 127, 134, 138,
+  139, 144, 150, 161, 159, 160, 166, 164, 156, 145, 137, 140, 124, 126, 129, 131,
+  140, 147, 136, 129, 147, 185, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194,
+  193, 175, 148, 107, 53, 45, 48, 68, 93, 105, 115, 121, 118, 120, 118, 113,
+  113, 115, 116, 115, 113, 117, 114, 112, 113, 117, 121, 122, 116, 112, 114, 116,
+  113, 114, 117, 122, 123, 125, 120, 118, 120, 126, 131, 138, 144, 136, 138, 131,
+  129, 137, 137, 134, 139, 134, 128, 124, 121, 115, 107, 107, 113, 119, 116, 117,
+  123, 127, 131, 137, 143, 155, 152, 153, 160, 164, 157, 147, 138, 133, 124, 126,
+  133, 139, 143, 143, 139, 124, 153, 194, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 237, 198, 192, 169, 127, 49, 48, 49, 70, 95, 104, 113, 120, 119, 124,
+  119, 114, 112, 113, 113, 112, 110, 112, 109, 109, 111, 115, 117, 119, 116, 116,
+  118, 118, 111, 109, 114, 118, 117, 127, 121, 117, 121, 127, 130, 137, 143, 135,
+  139, 133, 131, 139, 139, 133, 138, 132, 129, 127, 126, 123, 120, 122, 127, 122,
+  119, 117, 123, 126, 131, 138, 146, 154, 149, 150, 157, 159, 151, 142, 135, 116,
+  116, 122, 134, 144, 144, 142, 146, 126, 155, 213, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 197, 198, 181, 149, 65, 57, 53, 71, 95, 106, 111, 119,
+  118, 119, 116, 113, 112, 112, 113, 114, 113, 110, 108, 109, 112, 112, 111, 114,
+  116, 109, 111, 112, 107, 110, 118, 122, 121, 123, 115, 116, 124, 127, 123, 121,
+  125, 137, 142, 137, 136, 143, 142, 136, 140, 138, 137, 135, 132, 128, 125, 126,
+  126, 122, 118, 118, 122, 127, 131, 140, 147, 154, 153, 154, 155, 149, 141, 136,
+  133, 119, 125, 128, 135, 141, 135, 132, 144, 146, 163, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 237, 201, 184, 170, 94, 66, 58, 73, 96, 108,
+  113, 119, 119, 113, 113, 114, 112, 111, 111, 113, 114, 112, 111, 113, 114, 110,
+  105, 110, 115, 103, 106, 106, 103, 110, 123, 126, 119, 121, 113, 111, 122, 125,
+  118, 114, 118, 136, 144, 140, 140, 147, 144, 137, 139, 141, 141, 138, 132, 123,
+  119, 116, 114, 116, 110, 112, 117, 124, 128, 137, 147, 151, 152, 156, 154, 142,
+  132, 130, 135, 131, 139, 138, 138, 140, 128, 129, 152, 174, 175, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 180, 177, 109, 73, 62, 74,
+  99, 110, 117, 122, 122, 111, 113, 116, 113, 110, 108, 109, 112, 115, 114, 117,
+  117, 109, 101, 106, 114, 114, 114, 109, 102, 106, 115, 115, 103, 127, 113, 111,
+  119, 124, 122, 122, 131, 128, 137, 134, 134, 141, 137, 129, 130, 134, 136, 135,
+  131, 125, 122, 120, 116, 116, 112, 113, 120, 126, 131, 140, 147, 144, 148, 154,
+  150, 135, 126, 130, 141, 130, 141, 138, 136, 140, 132, 140, 171, 187, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 236, 199, 191, 147, 76,
+  70, 83, 103, 109, 113, 124, 129, 126, 115, 116, 116, 110, 110, 110, 100, 111,
+  108, 109, 112, 111, 107, 107, 109, 115, 115, 111, 104, 105, 114, 114, 106, 114,
+  116, 112, 115, 125, 122, 117, 125, 141, 141, 136, 130, 127, 131, 138, 142, 134,
+  129, 124, 129, 136, 135, 127, 120, 128, 124, 121, 122, 128, 137, 145, 148, 146,
+  146, 146, 142, 127, 115, 118, 129, 129, 145, 134, 140, 125, 118, 162, 185, 192,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 202,
+  171, 99, 78, 80, 101, 112, 118, 127, 129, 120, 112, 113, 113, 107, 109, 112,
+  106, 106, 104, 105, 110, 111, 109, 110, 113, 113, 111, 106, 103, 104, 108, 107,
+  100, 103, 105, 105, 111, 124, 125, 122, 129, 129, 130, 129, 125, 125, 131, 136,
+  139, 140, 134, 129, 131, 134, 135, 130, 127, 125, 124, 124, 126, 133, 141, 146,
+  149, 148, 145, 146, 139, 127, 118, 124, 135, 134, 140, 143, 130, 126, 143, 166,
+  187, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  241, 220, 177, 139, 97, 79, 96, 111, 118, 127, 129, 115, 110, 113, 112, 104,
+  106, 112, 108, 104, 102, 103, 108, 109, 108, 109, 113, 117, 111, 108, 111, 112,
+  109, 106, 105, 102, 105, 104, 111, 124, 125, 125, 133, 121, 125, 126, 123, 123,
+  128, 131, 133, 138, 136, 131, 130, 130, 133, 132, 132, 122, 123, 126, 129, 135,
+  140, 144, 147, 151, 149, 147, 140, 130, 124, 131, 141, 143, 134, 148, 131, 140,
+  176, 175, 187, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 243, 187, 156, 106, 81, 95, 108, 112, 123, 130, 115, 111, 116,
+  116, 104, 103, 108, 104, 106, 103, 103, 106, 106, 104, 105, 108, 119, 109, 108,
+  117, 117, 109, 104, 107, 107, 111, 109, 115, 125, 124, 124, 133, 125, 129, 129,
+  120, 118, 122, 126, 123, 127, 129, 130, 126, 126, 128, 130, 130, 126, 127, 127,
+  129, 132, 136, 140, 142, 154, 153, 149, 143, 135, 132, 135, 138, 146, 133, 142,
+  142, 162, 188, 181, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 224, 124, 91, 83, 100, 108, 107, 117, 124, 114,
+  113, 120, 121, 110, 107, 109, 104, 107, 104, 103, 105, 105, 103, 104, 108, 114,
+  106, 106, 113, 113, 106, 99, 100, 107, 112, 111, 113, 123, 119, 118, 129, 129,
+  133, 129, 116, 114, 120, 124, 120, 119, 127, 130, 125, 124, 125, 125, 122, 126,
+  127, 127, 126, 128, 133, 138, 144, 153, 154, 151, 147, 141, 137, 136, 133, 136,
+  129, 124, 160, 182, 204, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 232, 72, 66, 83, 106, 109, 106, 113,
+  116, 112, 110, 117, 119, 111, 110, 112, 105, 104, 100, 99, 102, 103, 102, 105,
+  110, 113, 109, 107, 112, 113, 107, 102, 99, 101, 105, 106, 109, 117, 115, 114,
+  125, 122, 128, 124, 111, 110, 119, 124, 122, 120, 127, 130, 123, 122, 124, 121,
+  114, 120, 122, 123, 123, 125, 130, 140, 147, 149, 150, 150, 146, 143, 142, 138,
+  130, 127, 127, 124, 173, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 58, 83, 103, 102,
+  104, 116, 118, 118, 110, 112, 113, 107, 109, 111, 104, 104, 100, 99, 101, 101,
+  100, 102, 107, 113, 113, 112, 110, 110, 113, 106, 99, 97, 102, 103, 106, 113,
+  109, 110, 122, 112, 122, 121, 109, 108, 118, 122, 115, 115, 122, 123, 117, 118,
+  124, 124, 116, 116, 120, 124, 125, 125, 127, 137, 142, 143, 146, 144, 139, 140,
+  143, 141, 133, 133, 137, 154, 206, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  94, 93, 103, 122, 126, 126, 114, 110, 108, 102, 104, 107, 100, 109, 104, 101,
+  101, 99, 96, 97, 102, 107, 112, 110, 104, 105, 110, 106, 94, 101, 107, 106,
+  107, 112, 107, 107, 118, 104, 116, 117, 107, 105, 115, 115, 106, 106, 114, 112,
+  108, 112, 126, 128, 122, 114, 119, 125, 125, 125, 124, 130, 133, 141, 141, 138,
+  134, 137, 144, 145, 135, 148, 152, 188, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 203, 101, 113, 126, 127, 115, 108, 110, 112, 109, 106, 107, 105,
+  101, 107, 92, 101, 92, 101, 99, 100, 107, 108, 102, 99, 104, 106, 104, 99,
+  98, 104, 112, 112, 105, 102, 105, 102, 107, 110, 110, 107, 107, 113, 119, 113,
+  107, 104, 109, 110, 110, 115, 122, 111, 116, 123, 125, 124, 122, 128, 134, 143,
+  129, 157, 131, 143, 121, 150, 131, 162, 185, 213, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 209, 107, 105,
+  110, 118, 113, 115, 96, 100, 90, 101, 102, 103, 109, 109, 104, 103, 106, 109,
+  108, 100, 98, 102, 105, 102, 96, 96, 101, 102, 106, 110, 112, 110, 109, 111,
+  115, 104, 105, 110, 118, 121, 114, 111, 112, 115, 118, 120, 122, 123, 122, 123,
+  123, 120, 129, 131, 140, 146, 141, 142, 161, 167, 178, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 201, 97, 83, 94, 97, 102, 106, 105, 101, 100,
+  102, 104, 103, 100, 100, 101, 101, 94, 89, 92, 98, 100, 101, 105, 108, 109,
+  109, 107, 107, 101, 103, 111, 119, 120, 113, 106, 106, 116, 117, 116, 118, 119,
+  122, 121, 117, 117, 132, 123, 134, 144, 134, 125, 162, 194, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 100, 101, 100, 101, 102,
+  101, 98, 98, 97, 96, 99, 101, 104, 100, 95, 90, 92, 97, 94, 94, 95,
+  98, 103, 104, 104, 103, 106, 105, 107, 108, 109, 107, 106, 108, 109, 113, 114,
+  114, 115, 120, 121, 119, 120, 118, 132, 126, 159, 152, 176, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  95, 98, 100, 101, 100, 97, 96, 93, 99, 104, 102, 98, 93, 94, 94, 90,
+  88, 88, 90, 95, 99, 104, 105, 107, 106, 105, 103, 104, 106, 108, 110, 105,
+  114, 116, 112, 109, 114, 118, 120, 120, 108, 132, 129, 144, 181, 238, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 202, 98, 97, 95, 96, 92, 96, 100, 98, 96, 96, 94,
+  88, 87, 86, 86, 86, 90, 95, 102, 106, 101, 104, 106, 105, 106, 108, 107,
+  106, 106, 117, 120, 111, 103, 108, 113, 112, 113, 110, 120, 144, 117, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 202, 95, 98, 97, 97, 96, 92, 93,
+  95, 93, 84, 82, 84, 86, 85, 86, 88, 95, 99, 94, 99, 102, 99, 101,
+  105, 104, 102, 108, 116, 116, 106, 102, 110, 112, 107, 102, 112, 111, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 107, 106, 98,
+  92, 94, 98, 95, 85, 79, 81, 85, 85, 81, 81, 84, 90, 90, 95, 94,
+  89, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  216, 165, 146, 153, 122, 144, 139, 161, 182, 202, 203, 149, 172, 251, 242, 200,
+  180, 248, 255, 170, 197, 224, 225, 234, 233, 235, 231, 210, 212, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 126,
+  135, 144, 131, 158, 145, 152, 116, 137, 134, 136, 153, 180, 195, 153, 157, 241,
+  250, 207, 198, 255, 247, 167, 205, 231, 216, 211, 209, 212, 212, 197, 178, 181,
+  198, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205,
+  115, 127, 136, 137, 125, 146, 141, 147, 127, 147, 149, 122, 133, 156, 176, 162,
+  158, 239, 255, 211, 194, 243, 235, 179, 180, 176, 174, 171, 163, 162, 172, 176,
+  174, 171, 175, 170, 187, 198, 214, 240, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201,
+  106, 109, 116, 126, 133, 149, 135, 137, 132, 125, 117, 131, 135, 119, 132, 138,
+  150, 164, 157, 215, 223, 175, 147, 176, 182, 155, 116, 81, 103, 112, 112, 112,
+  117, 123, 129, 131, 133, 126, 154, 178, 199, 216, 223, 228, 243, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210,
+  113, 99, 110, 112, 115, 122, 127, 123, 111, 107, 111, 106, 120, 140, 150, 115,
+  130, 121, 122, 152, 140, 170, 156, 143, 134, 140, 115, 113, 98, 60, 77, 94,
+  108, 113, 105, 94, 98, 109, 120, 111, 142, 163, 169, 163, 151, 148, 160, 176,
+  202, 232, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 191, 157,
+  53, 32, 71, 109, 119, 116, 114, 113, 109, 93, 79, 80, 104, 123, 127, 131,
+  141, 114, 111, 113, 119, 122, 124, 130, 137, 143, 140, 126, 108, 96, 91, 83,
+  76, 91, 94, 100, 92, 75, 79, 97, 104, 88, 126, 160, 155, 124, 106, 119,
+  141, 164, 199, 193, 142, 180, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 240, 206, 190, 178,
+  180, 150, 63, 52, 80, 103, 106, 101, 99, 95, 89, 92, 84, 85, 100, 112,
+  117, 119, 125, 116, 110, 107, 112, 115, 115, 113, 115, 92, 97, 94, 85, 78,
+  78, 77, 76, 82, 78, 81, 77, 67, 71, 82, 83, 80, 109, 134, 134, 122,
+  118, 126, 135, 138, 150, 141, 113, 175, 204, 196, 219, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 237, 176, 169,
+  165, 153, 150, 130, 64, 67, 79, 87, 87, 85, 87, 82, 75, 75, 74, 74,
+  78, 82, 87, 89, 89, 100, 91, 87, 90, 92, 88, 80, 76, 64, 74, 78,
+  73, 66, 64, 66, 68, 73, 64, 64, 66, 62, 65, 69, 63, 65, 83, 96,
+  98, 104, 117, 121, 118, 95, 88, 83, 76, 142, 161, 151, 159, 190, 184, 227,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199,
+  174, 159, 162, 157, 147, 125, 70, 68, 70, 70, 71, 78, 85, 82, 73, 72,
+  78, 79, 73, 73, 79, 81, 77, 92, 86, 84, 87, 87, 80, 74, 72, 67,
+  70, 71, 68, 62, 60, 60, 60, 69, 59, 61, 67, 64, 65, 65, 58, 62,
+  74, 79, 77, 88, 110, 119, 115, 90, 78, 82, 80, 122, 117, 109, 128, 132,
+  135, 178, 241, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239,
+  187, 160, 166, 165, 177, 169, 140, 110, 66, 67, 64, 61, 64, 75, 83, 79,
+  70, 66, 75, 76, 69, 68, 74, 76, 70, 73, 74, 77, 79, 77, 71, 71,
+  76, 67, 63, 59, 60, 61, 62, 60, 59, 63, 56, 64, 72, 66, 62, 63,
+  60, 68, 79, 83, 78, 84, 105, 122, 127, 102, 85, 94, 90, 115, 96, 83,
+  100, 115, 130, 144, 194, 212, 229, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  231, 172, 158, 155, 172, 169, 165, 142, 107, 89, 68, 70, 64, 61, 65, 73,
+  75, 69, 61, 59, 66, 67, 62, 62, 66, 66, 62, 53, 55, 60, 63, 60,
+  56, 62, 72, 72, 63, 56, 58, 61, 61, 57, 55, 56, 50, 61, 72, 64,
+  57, 60, 60, 60, 69, 74, 72, 74, 86, 104, 115, 101, 81, 90, 88, 114,
+  99, 79, 77, 111, 133, 125, 163, 182, 193, 206, 239, 212, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 165, 156, 147, 156, 162, 138, 121, 107, 88, 85, 76, 67, 63, 60,
+  64, 67, 67, 62, 58, 70, 71, 71, 69, 68, 68, 66, 63, 60, 58, 58,
+  60, 58, 57, 64, 73, 72, 66, 62, 65, 65, 59, 53, 53, 54, 47, 58,
+  71, 66, 59, 61, 61, 56, 56, 60, 66, 67, 68, 74, 83, 96, 84, 99,
+  94, 120, 115, 95, 81, 77, 105, 114, 165, 171, 167, 168, 178, 186, 186, 189,
+  199, 232, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 231, 154, 137, 135, 136, 105, 102, 70, 64, 77, 75, 70, 52, 58,
+  56, 56, 60, 63, 63, 62, 62, 67, 63, 62, 63, 62, 58, 53, 51, 61,
+  54, 48, 49, 49, 50, 53, 60, 57, 56, 60, 67, 65, 60, 57, 60, 59,
+  49, 58, 74, 72, 66, 66, 64, 69, 59, 60, 72, 76, 66, 60, 63, 71,
+  74, 98, 88, 105, 105, 92, 76, 88, 88, 81, 124, 118, 131, 164, 173, 157,
+  163, 174, 188, 204, 221, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 227, 152, 134, 140, 143, 98, 62, 62, 64, 66, 68, 64, 57,
+  50, 54, 51, 50, 53, 60, 63, 62, 59, 58, 60, 63, 62, 60, 56, 54,
+  53, 54, 54, 52, 49, 47, 46, 47, 50, 49, 47, 52, 61, 64, 60, 60,
+  64, 62, 59, 57, 60, 67, 71, 69, 66, 62, 63, 64, 67, 68, 67, 63,
+  60, 60, 71, 76, 76, 90, 107, 94, 66, 67, 70, 83, 103, 115, 125, 140,
+  158, 155, 161, 158, 169, 188, 192, 208, 245, 252, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 156, 145, 142, 150, 133, 68, 62, 64, 67, 69, 68,
+  63, 56, 52, 48, 47, 48, 53, 59, 61, 57, 53, 57, 59, 60, 60, 58,
+  55, 54, 54, 53, 53, 52, 49, 46, 46, 48, 50, 51, 48, 51, 57, 59,
+  57, 58, 63, 62, 59, 55, 58, 63, 65, 62, 59, 65, 65, 66, 68, 70,
+  69, 65, 62, 59, 67, 70, 73, 86, 100, 91, 72, 64, 62, 66, 77, 85,
+  97, 122, 147, 172, 164, 162, 178, 189, 183, 191, 218, 242, 252, 246, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 226, 147, 147, 140, 125, 102, 55, 69, 72, 74,
+  73, 67, 59, 52, 48, 44, 44, 48, 54, 59, 59, 54, 49, 56, 57, 57,
+  55, 54, 52, 52, 53, 50, 50, 49, 47, 46, 45, 48, 50, 54, 51, 51,
+  53, 54, 54, 56, 61, 61, 58, 56, 56, 58, 59, 57, 54, 62, 62, 63,
+  66, 68, 68, 65, 62, 62, 64, 65, 70, 78, 84, 80, 73, 71, 65, 63,
+  67, 71, 80, 103, 127, 143, 137, 143, 155, 162, 177, 197, 206, 220, 245, 248,
+  254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 231, 172, 153, 151, 117, 75, 73, 76, 79,
+  81, 79, 71, 60, 50, 46, 44, 45, 46, 49, 54, 57, 58, 54, 51, 54,
+  55, 54, 52, 50, 49, 50, 51, 47, 47, 47, 46, 45, 46, 48, 51, 53,
+  52, 52, 53, 54, 55, 57, 59, 59, 57, 55, 56, 57, 57, 56, 54, 56,
+  56, 56, 59, 62, 63, 61, 59, 65, 62, 64, 70, 72, 71, 67, 66, 60,
+  54, 54, 60, 62, 62, 70, 82, 90, 98, 113, 113, 115, 160, 204, 210, 201,
+  233, 240, 245, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 231, 184, 188, 160, 129, 84, 54, 75,
+  98, 82, 80, 74, 64, 53, 46, 46, 47, 46, 47, 48, 50, 53, 54, 53,
+  52, 53, 53, 53, 51, 49, 48, 49, 50, 45, 46, 46, 45, 45, 46, 49,
+  52, 50, 52, 53, 54, 55, 57, 58, 59, 53, 52, 52, 53, 55, 56, 55,
+  55, 52, 52, 53, 56, 59, 61, 60, 59, 62, 59, 61, 69, 70, 65, 61,
+  63, 57, 49, 50, 61, 68, 63, 59, 61, 72, 77, 99, 105, 96, 126, 177,
+  205, 205, 230, 240, 242, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 246, 213, 184, 183, 194, 145, 88, 64,
+  70, 91, 92, 72, 70, 63, 56, 50, 48, 50, 53, 44, 45, 46, 47, 48,
+  50, 50, 51, 52, 53, 53, 52, 50, 48, 48, 49, 46, 46, 46, 46, 45,
+  46, 49, 52, 49, 52, 54, 53, 55, 58, 59, 56, 47, 48, 49, 50, 52,
+  53, 54, 54, 53, 53, 53, 57, 61, 64, 64, 63, 64, 63, 64, 69, 71,
+  68, 64, 63, 65, 56, 54, 66, 74, 74, 71, 73, 79, 68, 90, 121, 112,
+  98, 133, 185, 204, 222, 244, 246, 251, 254, 245, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 214, 199, 184, 182, 173, 107,
+  62, 65, 78, 83, 71, 62, 59, 54, 52, 51, 51, 51, 50, 42, 45, 47,
+  49, 50, 50, 49, 49, 52, 54, 55, 54, 52, 50, 49, 49, 47, 48, 47,
+  46, 46, 47, 50, 53, 51, 54, 53, 49, 49, 54, 56, 54, 48, 49, 50,
+  50, 51, 52, 53, 53, 53, 53, 53, 57, 62, 65, 66, 66, 79, 76, 71,
+  68, 69, 71, 66, 61, 59, 52, 53, 61, 64, 62, 67, 75, 72, 64, 75,
+  105, 111, 88, 97, 139, 161, 180, 230, 244, 242, 252, 243, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 244, 220, 208, 190, 177, 182,
+  145, 75, 60, 75, 64, 57, 57, 57, 54, 51, 50, 52, 51, 48, 44, 42,
+  46, 52, 55, 55, 53, 50, 49, 52, 54, 56, 56, 54, 51, 49, 49, 48,
+  49, 48, 47, 46, 47, 51, 53, 55, 56, 52, 44, 44, 50, 54, 52, 51,
+  52, 53, 52, 52, 52, 54, 54, 52, 52, 53, 57, 62, 65, 67, 66, 93,
+  90, 79, 68, 67, 71, 66, 57, 65, 64, 69, 75, 69, 64, 70, 82, 59,
+  67, 62, 70, 88, 84, 76, 90, 107, 132, 207, 235, 234, 251, 250, 252, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 211, 208, 202, 193,
+  192, 167, 110, 61, 55, 65, 62, 57, 59, 55, 53, 51, 48, 47, 46, 46,
+  47, 49, 46, 45, 48, 54, 56, 53, 50, 51, 51, 50, 50, 49, 47, 46,
+  45, 48, 48, 48, 49, 51, 53, 55, 57, 58, 50, 43, 46, 51, 52, 47,
+  44, 47, 46, 46, 48, 52, 56, 58, 58, 49, 58, 57, 54, 60, 61, 63,
+  74, 85, 93, 92, 80, 68, 66, 68, 68, 69, 64, 64, 72, 75, 73, 73,
+  77, 77, 62, 55, 67, 80, 79, 70, 63, 78, 89, 129, 169, 197, 243, 255,
+  237, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 220, 216, 203,
+  206, 192, 150, 122, 87, 59, 59, 67, 62, 55, 54, 53, 52, 50, 48, 46,
+  46, 46, 46, 48, 46, 45, 48, 53, 55, 53, 49, 50, 50, 50, 49, 49,
+  47, 46, 45, 47, 46, 46, 47, 49, 51, 52, 53, 48, 45, 44, 45, 46,
+  47, 48, 49, 52, 52, 52, 53, 53, 54, 53, 53, 50, 58, 58, 59, 66,
+  67, 66, 75, 78, 85, 85, 74, 63, 62, 65, 66, 66, 65, 68, 71, 70,
+  65, 65, 72, 71, 62, 58, 65, 71, 71, 68, 67, 68, 70, 79, 107, 146,
+  182, 225, 255, 246, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219,
+  225, 210, 217, 191, 116, 80, 67, 58, 58, 61, 59, 55, 52, 50, 49, 49,
+  47, 46, 46, 46, 45, 47, 45, 45, 48, 53, 54, 51, 48, 50, 50, 50,
+  49, 49, 48, 46, 45, 47, 46, 46, 47, 46, 48, 48, 49, 41, 43, 45,
+  45, 45, 48, 53, 57, 53, 53, 53, 53, 53, 52, 50, 50, 54, 62, 61,
+  65, 76, 76, 71, 75, 71, 78, 78, 70, 61, 60, 65, 68, 64, 66, 70,
+  71, 66, 60, 60, 65, 63, 61, 60, 62, 62, 62, 65, 70, 64, 70, 68,
+  91, 125, 131, 166, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  240, 216, 226, 220, 204, 155, 88, 69, 66, 58, 53, 53, 57, 56, 52, 48,
+  47, 47, 47, 46, 46, 46, 45, 46, 45, 46, 49, 52, 53, 50, 47, 50,
+  50, 50, 49, 49, 48, 47, 46, 47, 47, 47, 47, 46, 47, 46, 46, 43,
+  47, 48, 47, 49, 54, 58, 60, 52, 53, 53, 53, 54, 56, 57, 59, 61,
+  67, 67, 71, 82, 80, 71, 72, 68, 73, 73, 68, 62, 62, 67, 74, 65,
+  66, 68, 71, 69, 64, 59, 59, 60, 60, 61, 62, 61, 61, 65, 68, 66,
+  78, 87, 101, 116, 113, 130, 170, 228, 245, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 226, 214, 216, 216, 162, 91, 62, 66, 65, 59, 51, 52, 56, 53,
+  46, 45, 46, 46, 46, 46, 46, 45, 45, 45, 46, 48, 51, 53, 52, 50,
+  47, 49, 49, 49, 49, 49, 48, 47, 46, 48, 48, 48, 49, 48, 48, 46,
+  46, 49, 50, 49, 47, 51, 59, 61, 57, 59, 58, 58, 57, 58, 62, 67,
+  72, 68, 73, 71, 73, 82, 79, 68, 68, 65, 69, 70, 66, 59, 58, 64,
+  74, 66, 66, 66, 70, 76, 77, 67, 58, 60, 62, 62, 64, 67, 68, 65,
+  62, 68, 73, 85, 83, 82, 112, 136, 129, 142, 186, 255, 255, 255, 255, 255,
+  255, 255, 255, 244, 233, 212, 206, 201, 129, 60, 62, 57, 58, 58, 56, 57,
+  55, 48, 39, 44, 45, 46, 47, 48, 47, 47, 45, 46, 48, 51, 53, 54,
+  52, 50, 48, 48, 49, 49, 49, 50, 49, 48, 47, 48, 48, 49, 50, 49,
+  49, 47, 47, 51, 53, 51, 47, 51, 60, 60, 53, 58, 60, 59, 58, 55,
+  58, 64, 69, 71, 77, 73, 73, 77, 74, 64, 67, 65, 67, 67, 65, 57,
+  54, 61, 71, 69, 66, 65, 73, 84, 87, 74, 60, 63, 64, 64, 65, 69,
+  72, 66, 57, 72, 73, 84, 76, 69, 115, 145, 119, 94, 126, 243, 255, 255,
+  255, 255, 255, 255, 246, 219, 227, 213, 198, 172, 112, 64, 66, 55, 55, 58,
+  60, 56, 49, 43, 42, 43, 45, 46, 48, 48, 48, 47, 47, 46, 49, 53,
+  55, 55, 53, 50, 49, 48, 48, 49, 49, 50, 49, 48, 47, 46, 47, 49,
+  50, 49, 49, 49, 48, 50, 58, 59, 51, 51, 59, 62, 57, 56, 59, 61,
+  61, 57, 57, 60, 64, 71, 77, 72, 68, 71, 67, 62, 70, 71, 70, 69,
+  66, 57, 52, 57, 70, 67, 69, 71, 78, 87, 91, 79, 64, 66, 69, 67,
+  65, 65, 70, 67, 59, 72, 80, 87, 85, 88, 110, 128, 130, 100, 90, 238,
+  238, 255, 255, 255, 255, 255, 224, 223, 221, 216, 191, 142, 96, 68, 52, 61,
+  60, 60, 60, 50, 41, 42, 50, 43, 44, 47, 48, 49, 49, 48, 47, 47,
+  50, 54, 57, 56, 53, 51, 51, 48, 48, 49, 49, 49, 48, 47, 48, 45,
+  47, 47, 49, 50, 49, 48, 47, 51, 62, 67, 56, 51, 59, 64, 64, 56,
+  62, 69, 70, 66, 64, 65, 67, 66, 73, 70, 65, 67, 64, 62, 72, 78,
+  76, 74, 70, 60, 52, 58, 70, 64, 70, 75, 79, 87, 89, 79, 66, 65,
+  69, 68, 61, 60, 66, 67, 62, 65, 77, 74, 80, 94, 92, 106, 153, 104,
+  67, 242, 250, 255, 255, 255, 255, 255, 229, 217, 214, 219, 195, 122, 57, 44,
+  57, 54, 53, 53, 53, 50, 49, 45, 44, 49, 49, 47, 46, 44, 45, 45,
+  46, 47, 49, 51, 52, 51, 50, 51, 53, 50, 52, 54, 53, 51, 48, 47,
+  48, 52, 48, 46, 52, 53, 49, 51, 54, 55, 59, 66, 67, 66, 66, 65,
+  67, 71, 65, 66, 71, 70, 63, 58, 58, 63, 68, 66, 58, 56, 64, 72,
+  76, 73, 69, 62, 58, 54, 54, 62, 73, 87, 80, 75, 77, 84, 85, 78,
+  71, 79, 82, 76, 63, 55, 58, 63, 64, 70, 71, 83, 86, 81, 86, 96,
+  99, 109, 90, 157, 203, 255, 255, 255, 255, 246, 227, 211, 213, 213, 176, 104,
+  51, 47, 57, 54, 54, 53, 52, 50, 47, 45, 43, 47, 47, 48, 48, 47,
+  45, 44, 44, 44, 47, 52, 53, 52, 50, 51, 51, 49, 51, 53, 52, 49,
+  48, 48, 48, 47, 46, 48, 56, 56, 53, 53, 58, 54, 58, 61, 65, 66,
+  70, 73, 77, 75, 69, 66, 67, 64, 58, 58, 62, 69, 72, 70, 61, 60,
+  68, 77, 83, 70, 66, 61, 61, 59, 60, 65, 73, 86, 78, 73, 76, 85,
+  92, 92, 90, 90, 87, 84, 78, 68, 60, 63, 72, 69, 70, 82, 88, 84,
+  89, 99, 101, 86, 91, 178, 238, 255, 255, 255, 255, 226, 223, 212, 214, 201,
+  145, 76, 45, 51, 56, 55, 55, 54, 53, 51, 48, 46, 45, 46, 47, 49,
+  49, 49, 46, 44, 43, 42, 46, 52, 55, 53, 51, 50, 49, 48, 50, 52,
+  52, 49, 47, 46, 48, 41, 44, 49, 53, 53, 50, 51, 55, 54, 55, 55,
+  58, 62, 70, 79, 85, 84, 80, 75, 70, 65, 61, 66, 74, 82, 81, 73,
+  60, 51, 54, 58, 62, 52, 49, 48, 57, 64, 69, 75, 80, 84, 79, 76,
+  82, 94, 106, 113, 115, 103, 95, 90, 87, 74, 59, 59, 70, 67, 69, 82,
+  90, 86, 90, 100, 102, 104, 95, 159, 218, 253, 255, 255, 255, 224, 220, 222,
+  216, 182, 111, 52, 45, 58, 54, 57, 56, 55, 54, 52, 50, 49, 48, 48,
+  48, 48, 48, 47, 46, 45, 44, 45, 48, 53, 54, 53, 51, 51, 51, 49,
+  50, 53, 51, 48, 45, 45, 46, 45, 49, 53, 53, 50, 50, 53, 57, 55,
+  51, 50, 51, 57, 67, 79, 87, 93, 92, 88, 82, 74, 73, 79, 87, 94,
+  92, 83, 71, 59, 55, 55, 58, 55, 52, 55, 66, 74, 79, 80, 82, 86,
+  86, 89, 98, 111, 123, 131, 135, 120, 112, 98, 83, 70, 63, 61, 64, 64,
+  68, 81, 88, 84, 89, 98, 99, 102, 111, 168, 194, 188, 255, 255, 255, 224,
+  220, 235, 211, 158, 84, 40, 48, 63, 53, 57, 56, 55, 54, 53, 52, 52,
+  51, 52, 50, 47, 45, 44, 45, 47, 48, 49, 50, 51, 51, 50, 50, 53,
+  55, 52, 54, 54, 52, 48, 45, 43, 43, 50, 52, 53, 53, 53, 59, 67,
+  72, 55, 53, 51, 52, 59, 72, 83, 91, 95, 98, 98, 93, 86, 85, 89,
+  94, 98, 99, 100, 97, 91, 88, 89, 91, 93, 87, 86, 90, 93, 89, 84,
+  83, 89, 94, 104, 116, 127, 136, 141, 143, 142, 139, 115, 80, 65, 72, 72,
+  61, 64, 66, 79, 85, 81, 84, 95, 95, 121, 112, 143, 177, 191, 255, 255,
+  247, 226, 223, 235, 196, 135, 72, 40, 50, 62, 51, 54, 54, 53, 52, 52,
+  53, 53, 54, 54, 51, 47, 44, 43, 45, 48, 50, 50, 51, 50, 48, 48,
+  49, 53, 56, 53, 54, 54, 52, 49, 45, 43, 43, 44, 46, 46, 47, 55,
+  69, 81, 86, 65, 62, 61, 65, 73, 83, 93, 98, 93, 98, 101, 99, 95,
+  96, 96, 97, 99, 102, 107, 112, 109, 106, 107, 112, 112, 107, 104, 106, 104,
+  99, 95, 95, 97, 104, 114, 126, 133, 139, 143, 147, 150, 158, 134, 86, 64,
+  72, 73, 57, 64, 66, 77, 82, 77, 82, 93, 94, 95, 118, 173, 206, 188,
+  255, 255, 231, 229, 227, 221, 173, 118, 71, 46, 48, 56, 51, 49, 49, 48,
+  48, 49, 51, 53, 54, 53, 51, 48, 46, 45, 46, 47, 48, 46, 47, 48,
+  47, 47, 48, 50, 52, 50, 52, 54, 53, 50, 48, 47, 46, 42, 43, 44,
+  48, 64, 83, 93, 94, 83, 80, 78, 81, 87, 93, 95, 97, 91, 97, 100,
+  100, 100, 105, 104, 100, 103, 103, 106, 111, 107, 102, 103, 108, 107, 104, 104,
+  106, 104, 102, 104, 109, 105, 110, 116, 122, 126, 134, 143, 149, 153, 167, 153,
+  106, 72, 66, 66, 60, 63, 64, 74, 79, 75, 82, 95, 98, 113, 118, 157,
+  202, 195, 255, 255, 232, 231, 229, 205, 156, 108, 75, 51, 45, 51, 51, 45,
+  45, 45, 45, 47, 49, 52, 53, 50, 50, 49, 48, 47, 47, 46, 46, 41,
+  44, 47, 48, 48, 47, 47, 48, 47, 50, 52, 52, 52, 50, 49, 50, 49,
+  50, 52, 59, 77, 97, 104, 100, 97, 95, 92, 93, 94, 95, 91, 90, 91,
+  97, 99, 100, 104, 110, 110, 104, 107, 105, 107, 111, 108, 104, 107, 114, 109,
+  107, 107, 107, 103, 100, 103, 112, 110, 112, 113, 114, 117, 127, 141, 152, 157,
+  175, 171, 132, 87, 64, 64, 68, 62, 63, 73, 78, 75, 84, 99, 102, 114,
+  122, 161, 204, 187, 255, 247, 233, 233, 231, 200, 144, 117, 78, 42, 50, 57,
+  50, 52, 56, 56, 52, 49, 51, 51, 48, 52, 52, 52, 49, 46, 44, 44,
+  45, 49, 49, 51, 51, 50, 48, 46, 44, 49, 53, 51, 47, 46, 50, 53,
+  51, 53, 62, 74, 82, 87, 94, 101, 106, 105, 107, 105, 101, 99, 103, 103,
+  102, 105, 108, 107, 104, 108, 115, 117, 112, 104, 111, 115, 114, 109, 108, 112,
+  117, 109, 109, 110, 112, 115, 114, 111, 109, 111, 116, 119, 119, 125, 134, 140,
+  139, 149, 161, 171, 151, 113, 86, 69, 52, 65, 73, 73, 70, 70, 80, 95,
+  102, 110, 133, 160, 194, 193, 255, 230, 230, 228, 225, 191, 129, 114, 52, 54,
+  43, 63, 50, 50, 54, 54, 51, 50, 53, 54, 52, 52, 51, 48, 45, 44,
+  47, 52, 57, 45, 47, 49, 51, 52, 51, 50, 50, 49, 53, 53, 51, 52,
+  58, 62, 62, 74, 81, 91, 99, 102, 108, 113, 119, 108, 110, 108, 103, 103,
+  108, 109, 107, 112, 114, 112, 109, 111, 117, 116, 112, 114, 109, 106, 110, 116,
+  118, 114, 110, 109, 109, 110, 111, 114, 115, 112, 111, 113, 117, 119, 121, 126,
+  136, 140, 140, 150, 168, 193, 195, 171, 139, 98, 58, 64, 62, 69, 61, 62,
+  90, 103, 103, 113, 125, 153, 197, 201, 255, 230, 229, 226, 221, 181, 125, 97,
+  38, 54, 49, 59, 52, 52, 55, 54, 51, 51, 54, 54, 51, 50, 50, 49,
+  48, 47, 50, 55, 58, 46, 47, 49, 51, 53, 53, 52, 52, 47, 53, 55,
+  55, 57, 65, 71, 72, 76, 80, 89, 95, 97, 101, 105, 108, 110, 111, 110,
+  106, 107, 110, 112, 111, 115, 117, 115, 112, 112, 115, 114, 110, 115, 111, 108,
+  111, 117, 119, 114, 110, 109, 110, 109, 111, 113, 115, 114, 114, 114, 118, 121,
+  122, 127, 136, 140, 140, 158, 164, 180, 188, 179, 159, 120, 76, 66, 55, 77,
+  61, 51, 88, 101, 108, 122, 123, 154, 205, 206, 255, 230, 230, 227, 222, 174,
+  129, 70, 45, 43, 65, 46, 56, 57, 58, 56, 52, 51, 52, 50, 45, 46,
+  50, 54, 56, 54, 50, 47, 45, 50, 51, 52, 53, 53, 52, 51, 49, 49,
+  53, 55, 54, 58, 66, 73, 75, 84, 89, 95, 102, 104, 106, 109, 111, 107,
+  110, 108, 105, 105, 110, 112, 110, 113, 113, 111, 110, 110, 111, 109, 107, 107,
+  112, 117, 116, 111, 108, 111, 115, 111, 112, 111, 111, 114, 116, 117, 117, 115,
+  119, 122, 123, 127, 135, 140, 140, 154, 166, 191, 210, 211, 193, 148, 97, 67,
+  49, 80, 69, 52, 79, 96, 118, 125, 127, 163, 212, 204, 255, 231, 231, 227,
+  220, 167, 114, 53, 45, 45, 68, 43, 58, 56, 56, 54, 50, 50, 53, 50,
+  44, 46, 50, 54, 55, 52, 46, 42, 40, 49, 50, 52, 53, 53, 52, 51,
+  50, 54, 57, 57, 56, 58, 67, 74, 75, 89, 94, 99, 105, 109, 111, 113,
+  114, 106, 108, 107, 104, 104, 109, 110, 108, 109, 107, 106, 108, 109, 109, 108,
+  107, 104, 110, 115, 114, 108, 105, 107, 112, 114, 114, 111, 113, 116, 117, 118,
+  117, 115, 119, 120, 121, 125, 133, 138, 138, 144, 154, 176, 193, 196, 192, 167,
+  132, 92, 56, 64, 69, 66, 78, 86, 108, 106, 124, 164, 209, 204, 255, 232,
+  231, 224, 216, 159, 84, 47, 38, 59, 57, 50, 58, 50, 50, 48, 47, 51,
+  55, 53, 48, 48, 48, 48, 46, 44, 43, 45, 47, 44, 46, 49, 52, 54,
+  55, 55, 55, 57, 61, 61, 59, 62, 71, 79, 81, 86, 89, 94, 100, 104,
+  106, 108, 107, 107, 109, 108, 105, 105, 109, 110, 108, 107, 104, 104, 109, 111,
+  109, 108, 109, 111, 107, 104, 107, 112, 113, 105, 101, 116, 115, 114, 115, 117,
+  117, 116, 114, 115, 119, 120, 120, 124, 132, 136, 136, 165, 171, 182, 186, 189,
+  203, 209, 198, 157, 102, 53, 57, 78, 78, 73, 74, 84, 116, 148, 189, 206,
+  255, 234, 233, 226, 217, 158, 68, 39, 52, 62, 55, 49, 58, 47, 47, 45,
+  45, 50, 55, 53, 47, 46, 46, 46, 44, 42, 43, 47, 50, 42, 44, 47,
+  51, 53, 55, 55, 55, 55, 59, 61, 60, 65, 76, 86, 88, 97, 98, 102,
+  107, 111, 114, 113, 112, 108, 110, 108, 105, 104, 108, 108, 106, 108, 103, 103,
+  109, 111, 107, 105, 107, 111, 106, 104, 107, 112, 112, 104, 99, 114, 115, 115,
+  116, 116, 115, 112, 110, 115, 118, 119, 119, 123, 130, 135, 136, 135, 151, 174,
+  185, 186, 195, 197, 185, 209, 166, 63, 46, 79, 79, 80, 66, 84, 119, 127,
+  158, 222, 255, 236, 237, 231, 221, 162, 71, 28, 79, 52, 66, 41, 60, 49,
+  48, 45, 44, 48, 53, 50, 43, 43, 46, 49, 50, 48, 45, 43, 43, 45,
+  47, 49, 52, 52, 52, 52, 51, 49, 54, 57, 58, 65, 78, 89, 93, 97,
+  97, 100, 105, 109, 109, 108, 106, 107, 108, 107, 103, 102, 106, 107, 105, 108,
+  103, 103, 109, 110, 104, 101, 103, 103, 109, 114, 113, 106, 100, 100, 105, 112,
+  113, 113, 114, 115, 113, 108, 105, 114, 118, 119, 118, 123, 130, 134, 135, 148,
+  158, 172, 175, 173, 188, 201, 196, 217, 201, 76, 41, 77, 84, 106, 94, 99,
+  129, 114, 134, 255, 255, 231, 224, 240, 216, 153, 43, 55, 65, 48, 59, 40,
+  47, 51, 48, 45, 45, 47, 48, 46, 44, 47, 47, 47, 47, 47, 47, 47,
+  47, 44, 47, 50, 51, 48, 48, 51, 54, 54, 57, 59, 61, 69, 82, 92,
+  96, 99, 106, 109, 107, 107, 113, 115, 112, 114, 114, 112, 109, 107, 107, 108,
+  110, 108, 103, 104, 113, 114, 109, 111, 118, 103, 109, 105, 100, 103, 102, 102,
+  111, 109, 111, 109, 107, 110, 115, 113, 108, 114, 119, 124, 126, 126, 130, 137,
+  146, 155, 159, 164, 172, 181, 190, 198, 203, 222, 229, 118, 71, 60, 85, 105,
+  98, 109, 113, 116, 151, 255, 255, 230, 223, 237, 206, 98, 33, 46, 53, 45,
+  58, 52, 52, 51, 49, 48, 49, 52, 53, 51, 49, 47, 47, 47, 47, 47,
+  47, 47, 47, 48, 49, 48, 47, 44, 45, 49, 51, 50, 53, 58, 63, 75,
+  91, 101, 104, 101, 105, 105, 103, 107, 116, 120, 117, 108, 108, 106, 105, 105,
+  105, 106, 105, 105, 101, 101, 105, 106, 104, 104, 106, 103, 110, 107, 105, 108,
+  105, 101, 109, 108, 110, 108, 106, 109, 113, 110, 106, 113, 119, 124, 128, 130,
+  132, 137, 142, 140, 145, 153, 163, 173, 183, 190, 193, 191, 218, 170, 131, 63,
+  64, 109, 117, 121, 108, 114, 161, 255, 255, 229, 223, 234, 184, 58, 46, 50,
+  52, 48, 54, 57, 49, 46, 45, 46, 48, 51, 51, 49, 47, 47, 47, 47,
+  47, 47, 47, 47, 47, 48, 47, 44, 43, 43, 47, 50, 53, 57, 60, 64,
+  72, 84, 98, 103, 102, 117, 116, 109, 105, 108, 115, 117, 114, 117, 113, 109,
+  109, 111, 113, 111, 109, 111, 111, 109, 107, 110, 114, 110, 104, 100, 108, 107,
+  107, 112, 109, 105, 111, 108, 111, 109, 107, 108, 112, 110, 106, 112, 117, 122,
+  128, 131, 134, 135, 138, 148, 155, 164, 176, 187, 195, 202, 205, 220, 218, 189,
+  154, 62, 53, 112, 119, 123, 97, 113, 170, 255, 248, 231, 228, 232, 154, 43,
+  61, 50, 55, 56, 47, 56, 46, 44, 45, 47, 49, 50, 49, 46, 45, 47,
+  47, 47, 47, 47, 47, 47, 47, 47, 46, 44, 45, 47, 52, 55, 56, 60,
+  63, 69, 78, 91, 103, 106, 102, 121, 117, 110, 108, 111, 114, 113, 109, 117,
+  109, 101, 98, 102, 106, 105, 103, 101, 105, 102, 97, 101, 109, 105, 95, 99,
+  107, 105, 106, 112, 111, 108, 114, 106, 109, 109, 107, 108, 112, 112, 109, 112,
+  113, 117, 124, 129, 133, 135, 135, 149, 153, 162, 172, 183, 195, 202, 207, 224,
+  212, 198, 177, 99, 62, 86, 82, 118, 97, 132, 207, 255, 231, 234, 234, 231,
+  122, 34, 54, 35, 51, 61, 42, 54, 51, 51, 52, 54, 54, 53, 50, 48,
+  46, 47, 47, 47, 47, 47, 47, 47, 47, 46, 46, 47, 47, 49, 50, 53,
+  54, 53, 60, 71, 82, 98, 111, 115, 113, 107, 105, 104, 110, 116, 117, 114,
+  110, 113, 104, 94, 91, 97, 103, 107, 107, 100, 105, 104, 99, 103, 111, 110,
+  100, 106, 111, 105, 103, 110, 111, 109, 115, 104, 108, 110, 108, 109, 114, 116,
+  115, 116, 116, 116, 121, 126, 132, 134, 136, 146, 149, 154, 163, 176, 191, 203,
+  211, 215, 217, 212, 179, 108, 50, 67, 95, 112, 112, 171, 255, 255, 231, 234,
+  236, 230, 96, 42, 49, 32, 50, 60, 42, 52, 53, 51, 53, 54, 53, 50,
+  47, 46, 46, 47, 47, 47, 47, 47, 47, 47, 48, 47, 49, 51, 48, 45,
+  46, 51, 55, 64, 73, 83, 92, 101, 110, 113, 112, 111, 109, 111, 117, 118,
+  111, 104, 100, 95, 88, 82, 81, 87, 94, 100, 102, 99, 103, 105, 104, 106,
+  110, 112, 110, 108, 110, 103, 100, 108, 109, 107, 112, 106, 111, 113, 111, 111,
+  114, 118, 117, 119, 119, 119, 120, 121, 125, 129, 132, 141, 143, 146, 154, 166,
+  182, 196, 204, 220, 216, 213, 167, 100, 38, 60, 105, 99, 118, 200, 255, 255,
+  234, 232, 233, 229, 81, 51, 50, 45, 53, 54, 48, 52, 50, 49, 50, 51,
+  50, 46, 44, 45, 47, 47, 47, 47, 47, 47, 47, 47, 48, 49, 52, 53,
+  48, 43, 48, 59, 69, 83, 93, 101, 104, 104, 107, 108, 108, 116, 114, 113,
+  114, 107, 90, 80, 76, 61, 60, 59, 59, 62, 65, 68, 70, 73, 76, 79,
+  83, 81, 79, 83, 89, 90, 94, 91, 93, 105, 107, 105, 110, 110, 115, 116,
+  114, 111, 114, 116, 116, 116, 118, 120, 118, 114, 114, 114, 117, 114, 114, 114,
+  119, 127, 138, 148, 155, 167, 163, 211, 194, 124, 54, 57, 62, 80, 106, 209,
+  255, 255, 237, 229, 229, 228, 76, 42, 42, 50, 50, 47, 55, 58, 51, 51,
+  53, 54, 52, 49, 48, 51, 53, 47, 47, 47, 47, 47, 47, 47, 47, 49,
+  53, 54, 49, 44, 53, 71, 87, 86, 98, 109, 110, 109, 111, 114, 116, 100,
+  98, 98, 98, 87, 71, 60, 58, 59, 63, 65, 66, 64, 61, 60, 61, 61,
+  60, 66, 72, 68, 60, 66, 77, 68, 75, 77, 85, 101, 107, 104, 110, 114,
+  119, 119, 115, 112, 114, 115, 114, 110, 115, 119, 115, 108, 101, 100, 102, 100,
+  99, 98, 98, 101, 106, 110, 113, 112, 109, 199, 201, 114, 51, 74, 66, 67,
+  93, 209, 255, 255, 235, 223, 227, 225, 104, 46, 36, 52, 52, 48, 56, 51,
+  50, 46, 46, 47, 47, 47, 46, 45, 44, 47, 47, 47, 48, 48, 49, 49,
+  49, 48, 46, 47, 52, 51, 52, 71, 94, 95, 108, 117, 113, 109, 108, 101,
+  93, 110, 105, 89, 72, 66, 69, 68, 64, 71, 63, 56, 56, 60, 64, 63,
+  61, 52, 50, 52, 58, 61, 59, 61, 64, 68, 62, 59, 67, 79, 89, 98,
+  105, 116, 115, 113, 111, 115, 123, 124, 122, 114, 114, 111, 102, 94, 89, 89,
+  90, 85, 83, 78, 73, 70, 71, 75, 79, 93, 91, 148, 178, 137, 83, 54,
+  64, 80, 103, 197, 255, 255, 234, 225, 229, 228, 111, 43, 35, 53, 53, 49,
+  57, 53, 55, 47, 47, 47, 46, 46, 45, 45, 45, 47, 47, 47, 48, 48,
+  49, 49, 49, 51, 43, 44, 53, 59, 65, 81, 98, 97, 104, 111, 112, 111,
+  111, 108, 103, 79, 78, 72, 67, 70, 79, 82, 81, 85, 80, 74, 72, 71,
+  70, 67, 64, 62, 58, 57, 59, 59, 56, 56, 59, 75, 70, 67, 73, 79,
+  83, 90, 96, 109, 110, 108, 107, 111, 117, 119, 115, 110, 105, 97, 86, 77,
+  72, 71, 71, 60, 59, 59, 58, 57, 58, 61, 65, 66, 69, 124, 157, 141,
+  105, 65, 53, 91, 110, 198, 255, 255, 234, 226, 229, 228, 117, 44, 38, 57,
+  56, 48, 55, 53, 57, 49, 48, 46, 45, 45, 45, 46, 47, 47, 47, 47,
+  47, 48, 48, 48, 48, 51, 43, 43, 57, 72, 82, 93, 104, 112, 109, 109,
+  112, 111, 105, 100, 100, 85, 88, 89, 90, 96, 104, 107, 106, 108, 108, 107,
+  106, 105, 102, 100, 98, 96, 91, 87, 87, 85, 81, 82, 84, 82, 79, 79,
+  82, 82, 82, 86, 93, 106, 109, 109, 108, 111, 116, 116, 111, 116, 108, 95,
+  82, 75, 71, 70, 69, 56, 59, 63, 66, 69, 72, 76, 78, 84, 92, 130,
+  154, 164, 150, 93, 55, 89, 115, 213, 255, 255, 234, 228, 227, 224, 121, 49,
+  44, 63, 59, 47, 51, 49, 54, 50, 49, 46, 44, 44, 45, 47, 48, 47,
+  47, 47, 47, 47, 47, 47, 48, 50, 46, 48, 63, 80, 92, 101, 108, 119,
+  108, 107, 113, 111, 101, 93, 93, 90, 93, 97, 101, 105, 108, 106, 104, 103,
+  107, 111, 112, 108, 106, 102, 101, 96, 91, 88, 89, 87, 86, 88, 92, 81,
+  79, 80, 83, 81, 80, 87, 95, 102, 106, 109, 108, 109, 113, 112, 107, 104,
+  95, 83, 74, 70, 69, 67, 65, 61, 65, 71, 77, 83, 89, 93, 98, 104,
+  117, 134, 144, 170, 166, 98, 52, 83, 114, 255, 255, 255, 233, 231, 226, 224,
+  130, 50, 45, 64, 59, 48, 51, 49, 54, 51, 49, 47, 45, 44, 46, 47,
+  49, 47, 47, 47, 47, 47, 47, 47, 46, 48, 52, 59, 72, 83, 93, 103,
+  110, 110, 104, 104, 115, 117, 108, 102, 101, 92, 95, 102, 108, 109, 108, 105,
+  104, 99, 102, 104, 103, 98, 92, 86, 83, 81, 76, 74, 75, 75, 75, 77,
+  83, 78, 76, 76, 77, 77, 77, 84, 93, 95, 101, 104, 103, 103, 105, 103,
+  100, 100, 93, 85, 79, 77, 76, 73, 71, 74, 77, 83, 90, 97, 105, 112,
+  118, 108, 130, 142, 148, 181, 166, 89, 52, 87, 139, 255, 255, 255, 231, 234,
+  228, 227, 142, 47, 41, 59, 57, 49, 55, 53, 56, 50, 49, 48, 46, 46,
+  46, 47, 48, 47, 47, 47, 47, 46, 46, 46, 45, 50, 59, 72, 82, 89,
+  96, 106, 113, 114, 113, 114, 119, 120, 114, 109, 105, 107, 108, 111, 116, 111,
+  104, 98, 99, 92, 94, 95, 95, 93, 90, 85, 82, 79, 74, 73, 75, 74,
+  73, 75, 79, 83, 80, 80, 83, 83, 83, 86, 93, 96, 102, 105, 103, 101,
+  103, 103, 101, 105, 100, 94, 87, 83, 81, 79, 78, 79, 83, 88, 94, 101,
+  108, 115, 121, 114, 141, 159, 173, 200, 155, 63, 45, 88, 155, 255, 255, 255,
+  231, 236, 228, 227, 149, 47, 39, 56, 55, 50, 57, 53, 55, 49, 49, 48,
+  48, 48, 47, 47, 47, 47, 47, 47, 46, 46, 45, 45, 44, 54, 65, 79,
+  90, 97, 104, 111, 115, 119, 122, 123, 120, 116, 115, 113, 108, 106, 103, 103,
+  103, 94, 82, 74, 74, 72, 71, 70, 73, 76, 79, 76, 72, 65, 62, 62,
+  65, 66, 64, 65, 69, 84, 81, 84, 91, 94, 92, 90, 91, 98, 105, 108,
+  105, 102, 104, 105, 103, 91, 88, 80, 71, 66, 65, 67, 70, 63, 67, 73,
+  81, 85, 89, 93, 96, 102, 128, 148, 175, 198, 125, 27, 36, 96, 158, 255,
+  255, 255, 247, 236, 225, 224, 148, 50, 41, 56, 55, 49, 57, 50, 50, 49,
+  50, 50, 50, 50, 49, 48, 47, 48, 48, 48, 46, 47, 46, 46, 44, 60,
+  69, 83, 95, 104, 113, 117, 118, 110, 119, 120, 113, 110, 118, 122, 118, 99,
+  96, 97, 97, 89, 76, 70, 73, 77, 72, 68, 67, 71, 72, 68, 64, 60,
+  56, 58, 63, 65, 64, 64, 67, 74, 72, 78, 89, 96, 94, 88, 87, 98,
+  104, 105, 101, 97, 99, 101, 102, 89, 87, 79, 70, 63, 63, 70, 77, 64,
+  70, 78, 85, 88, 88, 88, 89, 94, 113, 133, 173, 201, 118, 26, 58, 113,
+  196, 255, 255, 255, 255, 230, 224, 213, 163, 55, 34, 44, 52, 54, 61, 52,
+  53, 48, 49, 48, 50, 50, 48, 45, 43, 47, 47, 48, 48, 49, 49, 49,
+  48, 54, 73, 91, 98, 105, 116, 118, 113, 113, 120, 123, 118, 115, 117, 117,
+  114, 102, 99, 92, 83, 75, 73, 73, 77, 62, 63, 63, 63, 62, 60, 55,
+  52, 57, 68, 71, 64, 62, 68, 67, 61, 72, 76, 81, 88, 93, 97, 98,
+  100, 95, 106, 113, 101, 92, 107, 119, 109, 98, 77, 68, 66, 65, 70, 72,
+  65, 64, 70, 81, 84, 90, 107, 107, 84, 85, 91, 144, 187, 180, 109, 37,
+  64, 119, 150, 255, 255, 255, 255, 214, 224, 228, 185, 42, 34, 55, 61, 51,
+  49, 45, 52, 49, 48, 48, 48, 48, 48, 47, 47, 45, 46, 47, 47, 48,
+  47, 46, 43, 51, 71, 89, 98, 106, 117, 120, 116, 114, 119, 118, 113, 109,
+  109, 108, 104, 95, 91, 85, 81, 78, 75, 71, 68, 58, 61, 61, 58, 50,
+  44, 41, 40, 74, 96, 107, 90, 65, 57, 60, 64, 69, 73, 79, 86, 92,
+  96, 97, 98, 102, 103, 105, 104, 109, 127, 124, 101, 79, 58, 59, 65, 52,
+  50, 56, 49, 58, 51, 58, 72, 88, 109, 120, 113, 80, 94, 145, 181, 163,
+  68, 28, 76, 137, 154, 255, 255, 255, 255, 221, 226, 219, 163, 46, 35, 55,
+  59, 50, 49, 44, 50, 48, 48, 46, 47, 47, 48, 50, 51, 46, 47, 48,
+  49, 49, 47, 44, 41, 55, 73, 92, 100, 105, 115, 119, 116, 118, 118, 115,
+  111, 108, 107, 104, 98, 93, 86, 81, 80, 80, 75, 65, 56, 50, 57, 61,
+  60, 53, 50, 51, 55, 78, 100, 112, 94, 65, 54, 56, 62, 69, 73, 80,
+  87, 93, 96, 97, 96, 102, 99, 101, 106, 116, 138, 139, 122, 85, 56, 63,
+  78, 54, 46, 52, 45, 50, 56, 79, 93, 83, 83, 104, 120, 100, 113, 157,
+  193, 177, 51, 45, 112, 144, 158, 255, 255, 255, 255, 248, 233, 206, 133, 61,
+  36, 44, 51, 54, 59, 49, 48, 46, 48, 49, 49, 49, 49, 50, 52, 49,
+  50, 52, 52, 51, 48, 45, 41, 64, 81, 98, 105, 108, 112, 115, 114, 118,
+  115, 110, 108, 107, 106, 101, 96, 95, 91, 87, 84, 82, 75, 65, 58, 61,
+  66, 70, 71, 70, 71, 73, 75, 74, 82, 84, 77, 69, 68, 68, 65, 72,
+  75, 83, 90, 95, 97, 97, 98, 96, 98, 106, 104, 104, 129, 157, 167, 107,
+  61, 59, 76, 57, 48, 54, 42, 53, 74, 107, 118, 97, 83, 90, 96, 107,
+  116, 153, 195, 194, 47, 57, 133, 177, 201, 255, 255, 255, 255, 255, 237, 217,
+  148, 61, 36, 44, 51, 55, 61, 50, 46, 44, 48, 53, 55, 53, 51, 50,
+  50, 50, 50, 51, 51, 50, 48, 45, 42, 68, 83, 102, 110, 110, 112, 116,
+  118, 115, 109, 105, 105, 106, 105, 102, 100, 101, 100, 99, 94, 89, 84, 80,
+  78, 88, 86, 82, 83, 84, 84, 80, 76, 78, 75, 71, 69, 71, 77, 77,
+  75, 76, 79, 85, 91, 95, 98, 98, 97, 96, 99, 106, 103, 97, 121, 163,
+  189, 145, 84, 61, 73, 71, 70, 71, 58, 68, 76, 93, 107, 115, 127, 121,
+  96, 105, 121, 160, 203, 204, 55, 63, 148, 178, 255, 255, 255, 255, 255, 255,
+  236, 224, 166, 50, 37, 55, 59, 53, 52, 45, 48, 47, 52, 58, 60, 55,
+  51, 48, 47, 48, 47, 48, 47, 47, 45, 44, 42, 66, 81, 100, 112, 113,
+  113, 119, 124, 120, 115, 113, 114, 114, 112, 110, 112, 105, 107, 108, 105, 101,
+  98, 99, 101, 104, 97, 91, 92, 94, 94, 89, 83, 84, 84, 81, 74, 68,
+  69, 75, 81, 82, 84, 87, 92, 96, 97, 97, 96, 105, 98, 100, 103, 101,
+  121, 155, 178, 170, 112, 70, 68, 81, 85, 81, 76, 77, 80, 86, 92, 111,
+  147, 159, 142, 113, 138, 177, 213, 210, 76, 67, 159, 162, 255, 255, 255, 255,
+  255, 255, 229, 225, 183, 66, 47, 58, 57, 50, 52, 47, 53, 53, 57, 61,
+  59, 54, 49, 47, 47, 48, 47, 46, 45, 45, 45, 47, 45, 65, 79, 100,
+  112, 112, 112, 118, 124, 125, 120, 120, 121, 118, 114, 115, 120, 111, 110, 109,
+  108, 107, 106, 104, 102, 99, 95, 92, 93, 96, 98, 96, 93, 86, 87, 87,
+  80, 72, 72, 80, 90, 91, 93, 95, 97, 99, 100, 101, 102, 108, 97, 97,
+  100, 97, 114, 147, 170, 176, 140, 86, 66, 79, 78, 68, 75, 84, 87, 95,
+  102, 111, 139, 166, 171, 135, 148, 172, 202, 211, 114, 73, 156, 182, 255, 255,
+  255, 255, 255, 255, 224, 235, 213, 95, 59, 50, 47, 49, 59, 55, 57, 58,
+  61, 62, 58, 52, 46, 46, 48, 50, 48, 47, 45, 46, 48, 50, 49, 67,
+  81, 100, 112, 110, 108, 112, 120, 121, 118, 118, 120, 113, 108, 110, 117, 114,
+  110, 106, 107, 108, 105, 97, 89, 92, 91, 90, 89, 87, 87, 88, 88, 87,
+  84, 82, 85, 88, 92, 96, 101, 102, 102, 102, 102, 104, 105, 107, 108, 104,
+  97, 99, 98, 87, 102, 145, 178, 200, 183, 127, 93, 99, 88, 75, 90, 94,
+  83, 90, 113, 130, 147, 161, 163, 179, 171, 174, 205, 235, 171, 101, 167, 175,
+  255, 255, 255, 255, 255, 255, 228, 219, 213, 116, 45, 49, 48, 57, 51, 60,
+  51, 65, 69, 73, 67, 54, 44, 44, 50, 51, 45, 44, 47, 48, 47, 51,
+  57, 71, 74, 91, 109, 112, 120, 123, 118, 113, 119, 116, 114, 118, 115, 109,
+  114, 104, 100, 105, 105, 99, 103, 102, 90, 89, 92, 94, 93, 89, 86, 86,
+  87, 88, 88, 90, 92, 94, 95, 97, 97, 109, 107, 104, 103, 102, 104, 107,
+  109, 103, 100, 95, 100, 103, 101, 127, 171, 201, 189, 152, 116, 101, 89, 79,
+  80, 94, 92, 101, 120, 133, 138, 149, 163, 170, 161, 185, 193, 242, 209, 107,
+  168, 170, 255, 255, 255, 255, 255, 255, 230, 224, 219, 121, 43, 41, 49, 60,
+  53, 56, 47, 49, 54, 58, 57, 51, 46, 49, 54, 51, 47, 46, 48, 48,
+  46, 49, 53, 65, 78, 95, 105, 109, 113, 121, 130, 121, 128, 126, 124, 128,
+  123, 114, 117, 114, 109, 111, 109, 101, 102, 100, 88, 89, 88, 88, 84, 83,
+  85, 90, 95, 93, 93, 94, 96, 97, 99, 101, 101, 103, 102, 103, 103, 104,
+  106, 108, 109, 110, 108, 104, 109, 109, 107, 131, 176, 203, 195, 159, 122, 107,
+  103, 104, 113, 102, 96, 99, 113, 126, 137, 154, 172, 167, 159, 171, 180, 238,
+  226, 133, 148, 166, 255, 255, 255, 255, 255, 255, 255, 226, 223, 141, 50, 36,
+  50, 60, 56, 59, 57, 70, 71, 73, 68, 60, 55, 54, 54, 50, 49, 50,
+  51, 49, 47, 48, 51, 66, 86, 92, 99, 113, 113, 116, 132, 119, 126, 126,
+  125, 130, 125, 116, 118, 123, 116, 117, 113, 104, 105, 106, 93, 91, 91, 91,
+  89, 88, 89, 92, 95, 94, 94, 95, 97, 99, 99, 100, 101, 101, 102, 102,
+  104, 105, 105, 106, 105, 104, 106, 105, 109, 109, 106, 131, 173, 198, 203, 182,
+  149, 130, 121, 112, 113, 111, 106, 107, 118, 129, 139, 153, 170, 167, 171, 177,
+  189, 239, 246, 182, 151, 163, 255, 255, 255, 255, 255, 255, 255, 226, 224, 163,
+  64, 38, 51, 56, 59, 70, 80, 104, 104, 99, 88, 76, 68, 60, 56, 47,
+  49, 53, 53, 50, 49, 50, 53, 69, 91, 91, 99, 124, 121, 108, 122, 113,
+  120, 119, 120, 127, 124, 119, 122, 124, 118, 119, 116, 110, 114, 116, 106, 100,
+  102, 104, 105, 101, 96, 91, 87, 91, 91, 91, 93, 95, 95, 96, 97, 104,
+  105, 105, 106, 106, 104, 101, 100, 96, 102, 104, 106, 106, 104, 126, 165, 194,
+  209, 196, 165, 145, 131, 113, 105, 115, 115, 121, 132, 138, 142, 146, 154, 145,
+  168, 180, 195, 219, 231, 206, 159, 163, 255, 255, 255, 255, 255, 255, 255, 229,
+  229, 170, 72, 40, 56, 51, 61, 74, 93, 114, 113, 108, 93, 80, 73, 64,
+  57, 46, 52, 56, 55, 50, 52, 55, 55, 59, 92, 103, 112, 132, 122, 107,
+  121, 119, 125, 122, 121, 127, 127, 124, 130, 124, 119, 121, 119, 114, 120, 122,
+  112, 111, 111, 111, 111, 107, 101, 93, 88, 92, 92, 92, 94, 95, 96, 97,
+  98, 105, 106, 106, 106, 105, 104, 101, 101, 103, 108, 108, 110, 109, 106, 122,
+  155, 198, 214, 198, 161, 144, 139, 127, 119, 115, 118, 124, 134, 138, 139, 140,
+  143, 145, 167, 186, 207, 216, 227, 223, 173, 161, 255, 255, 255, 255, 255, 255,
+  255, 248, 237, 165, 76, 42, 57, 48, 65, 75, 93, 116, 119, 113, 95, 78,
+  69, 61, 54, 49, 56, 60, 56, 52, 54, 58, 58, 48, 91, 120, 129, 128,
+  114, 113, 134, 126, 129, 124, 121, 126, 125, 122, 128, 128, 123, 124, 123, 117,
+  121, 122, 111, 118, 114, 108, 104, 103, 102, 100, 99, 96, 97, 98, 100, 101,
+  103, 104, 104, 103, 102, 102, 102, 102, 104, 104, 107, 110, 114, 111, 109, 110,
+  105, 114, 138, 194, 220, 210, 171, 149, 139, 124, 112, 112, 114, 116, 121, 127,
+  133, 138, 143, 161, 174, 193, 212, 224, 241, 234, 182, 158, 255, 255, 255, 255,
+  255, 255, 255, 255, 241, 176, 85, 39, 51, 42, 76, 87, 101, 121, 126, 122,
+  100, 80, 70, 63, 56, 54, 63, 66, 58, 51, 53, 58, 58, 66, 95, 125,
+  134, 124, 115, 120, 132, 123, 129, 123, 121, 126, 124, 119, 124, 127, 123, 126,
+  125, 117, 120, 120, 109, 119, 113, 108, 105, 104, 105, 105, 104, 96, 97, 98,
+  99, 102, 104, 105, 107, 104, 101, 98, 96, 96, 99, 102, 106, 110, 112, 106,
+  106, 109, 106, 108, 127, 173, 215, 218, 177, 145, 129, 113, 101, 113, 114, 113,
+  115, 120, 129, 136, 142, 152, 169, 194, 195, 206, 236, 221, 171, 159, 255, 255,
+  255, 255, 255, 255, 255, 255, 239, 196, 98, 39, 44, 39, 86, 104, 116, 115,
+  124, 122, 101, 81, 73, 70, 66, 59, 67, 68, 58, 49, 51, 55, 55, 94,
+  98, 117, 128, 123, 123, 124, 120, 119, 126, 124, 124, 131, 128, 123, 127, 125,
+  121, 125, 125, 119, 122, 121, 109, 117, 114, 112, 110, 110, 106, 101, 97, 90,
+  92, 93, 95, 97, 100, 102, 103, 107, 103, 97, 91, 91, 94, 98, 102, 107,
+  109, 103, 106, 112, 111, 112, 127, 154, 200, 204, 157, 122, 116, 117, 119, 113,
+  116, 118, 119, 122, 128, 132, 133, 143, 175, 209, 192, 196, 235, 218, 176, 161,
+  255, 255, 255, 255, 255, 255, 255, 255, 247, 230, 177, 70, 41, 47, 52, 103,
+  124, 118, 108, 96, 83, 85, 101, 96, 67, 79, 69, 66, 68, 61, 53, 61,
+  79, 103, 107, 114, 120, 123, 123, 123, 121, 120, 123, 123, 121, 121, 125, 126,
+  123, 127, 129, 125, 120, 120, 125, 126, 124, 121, 117, 113, 111, 110, 106, 96,
+  89, 97, 89, 82, 82, 87, 91, 92, 90, 90, 88, 86, 85, 88, 91, 93,
+  93, 102, 114, 111, 106, 114, 119, 112, 109, 134, 170, 191, 157, 104, 91, 104,
+  107, 94, 111, 97, 107, 114, 105, 125, 131, 136, 150, 176, 196, 208, 220, 211,
+  182, 151, 255, 255, 255, 255, 255, 255, 255, 255, 255, 234, 204, 119, 65, 48,
+  42, 76, 115, 121, 110, 101, 93, 92, 100, 91, 64, 93, 75, 63, 60, 55,
+  54, 70, 91, 119, 116, 116, 117, 117, 117, 114, 113, 118, 122, 122, 120, 121,
+  126, 126, 125, 121, 126, 127, 123, 121, 123, 122, 119, 120, 115, 111, 109, 108,
+  103, 94, 87, 90, 89, 87, 85, 85, 84, 84, 84, 86, 87, 88, 91, 95,
+  100, 103, 105, 100, 105, 101, 100, 112, 115, 107, 106, 122, 145, 183, 187, 136,
+  88, 82, 93, 86, 106, 99, 111, 115, 105, 115, 117, 131, 149, 177, 196, 204,
+  214, 208, 184, 161, 255, 255, 255, 255, 255, 255, 255, 255, 255, 232, 224, 164,
+  79, 41, 30, 55, 131, 134, 112, 94, 83, 78, 86, 88, 74, 93, 75, 59,
+  54, 52, 57, 76, 99, 124, 119, 114, 114, 116, 119, 118, 117, 117, 120, 121,
+  119, 120, 126, 128, 127, 120, 128, 132, 130, 127, 126, 124, 120, 119, 114, 111,
+  108, 106, 101, 92, 87, 81, 84, 87, 86, 83, 80, 80, 82, 88, 93, 96,
+  99, 98, 99, 102, 105, 107, 106, 101, 104, 116, 113, 106, 110, 119, 123, 155,
+  187, 175, 135, 101, 80, 82, 102, 101, 109, 114, 107, 112, 115, 119, 141, 173,
+  192, 203, 218, 219, 200, 156, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225,
+  228, 201, 118, 71, 41, 37, 134, 134, 110, 96, 86, 77, 81, 86, 81, 78,
+  70, 65, 63, 62, 66, 84, 107, 124, 119, 114, 115, 119, 122, 122, 120, 115,
+  118, 119, 118, 120, 126, 128, 128, 120, 129, 133, 130, 126, 125, 122, 120, 120,
+  116, 111, 109, 105, 98, 92, 87, 74, 76, 79, 81, 82, 81, 81, 83, 91,
+  97, 102, 103, 100, 97, 100, 102, 105, 104, 101, 106, 113, 105, 102, 115, 115,
+  121, 135, 149, 163, 169, 135, 81, 85, 100, 100, 101, 108, 109, 114, 122, 113,
+  130, 159, 178, 191, 213, 220, 204, 194, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 244, 230, 236, 182, 139, 76, 22, 101, 119, 112, 114, 116, 106, 100, 93,
+  81, 70, 72, 74, 75, 71, 76, 96, 120, 126, 123, 120, 121, 121, 121, 118,
+  115, 116, 119, 118, 115, 118, 124, 126, 125, 118, 123, 124, 120, 116, 117, 116,
+  115, 119, 116, 111, 106, 102, 96, 90, 86, 78, 75, 74, 77, 82, 86, 84,
+  82, 83, 90, 97, 97, 94, 92, 93, 95, 84, 88, 89, 94, 98, 92, 96,
+  115, 109, 122, 126, 114, 117, 140, 127, 83, 83, 96, 102, 95, 102, 108, 107,
+  117, 118, 128, 145, 158, 174, 198, 203, 187, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 225, 237, 210, 181, 114, 37, 76, 112, 113, 121, 122, 113,
+  113, 109, 97, 77, 79, 79, 76, 72, 78, 102, 125, 115, 117, 120, 122, 122,
+  122, 121, 120, 117, 119, 117, 113, 114, 120, 122, 121, 121, 122, 119, 115, 114,
+  117, 117, 113, 118, 115, 110, 105, 98, 92, 86, 83, 84, 80, 76, 79, 85,
+  88, 84, 80, 82, 84, 86, 83, 78, 72, 69, 68, 64, 74, 77, 82, 88,
+  91, 98, 119, 114, 101, 92, 95, 103, 117, 107, 79, 78, 92, 105, 96, 101,
+  108, 97, 104, 121, 125, 138, 151, 169, 195, 203, 187, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 222, 224, 209, 197, 149, 71, 63, 107, 112, 117,
+  110, 104, 117, 125, 116, 96, 93, 88, 84, 82, 88, 103, 117, 104, 110, 117,
+  120, 119, 120, 123, 126, 119, 120, 118, 112, 112, 116, 117, 116, 125, 123, 118,
+  116, 118, 121, 118, 111, 113, 111, 107, 101, 93, 87, 82, 80, 80, 81, 82,
+  86, 89, 90, 86, 83, 82, 82, 80, 76, 71, 66, 61, 57, 60, 72, 72,
+  74, 87, 99, 105, 117, 115, 79, 64, 85, 106, 113, 98, 74, 77, 89, 106,
+  94, 100, 113, 100, 111, 115, 122, 139, 153, 168, 196, 205, 193, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 228, 229, 220, 215, 176, 91, 40, 94,
+  108, 121, 116, 110, 126, 131, 116, 116, 110, 103, 102, 102, 105, 108, 112, 109,
+  115, 120, 119, 113, 111, 114, 120, 120, 121, 117, 112, 110, 114, 115, 112, 122,
+  119, 115, 114, 118, 121, 115, 105, 111, 110, 105, 98, 90, 83, 79, 78, 73,
+  79, 87, 93, 94, 91, 90, 90, 79, 79, 79, 81, 83, 84, 83, 79, 64,
+  73, 69, 68, 86, 103, 105, 106, 99, 78, 73, 83, 90, 95, 89, 73, 81,
+  90, 104, 89, 98, 120, 113, 129, 112, 124, 143, 154, 162, 183, 193, 183, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 231, 217, 190, 75,
+  39, 49, 97, 145, 121, 114, 127, 118, 128, 119, 119, 117, 114, 114, 116, 115,
+  113, 113, 112, 112, 115, 118, 118, 113, 109, 112, 115, 116, 111, 108, 111, 111,
+  108, 106, 108, 110, 111, 111, 111, 113, 113, 100, 101, 98, 81, 67, 78, 88,
+  78, 89, 87, 87, 87, 87, 86, 87, 88, 90, 88, 83, 81, 80, 82, 85,
+  87, 81, 77, 76, 79, 85, 88, 87, 85, 87, 89, 92, 93, 91, 87, 83,
+  79, 82, 83, 88, 97, 102, 104, 110, 116, 118, 113, 133, 138, 150, 173, 168,
+  158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 227, 222,
+  204, 104, 25, 50, 83, 120, 152, 116, 130, 107, 139, 119, 119, 117, 117, 118,
+  120, 119, 117, 121, 116, 111, 109, 111, 114, 114, 114, 111, 112, 113, 112, 109,
+  109, 109, 111, 99, 99, 101, 105, 108, 109, 107, 107, 97, 93, 89, 78, 69,
+  79, 90, 84, 92, 93, 92, 91, 91, 90, 91, 90, 89, 88, 84, 82, 81,
+  83, 85, 86, 83, 82, 84, 85, 85, 87, 89, 90, 89, 91, 94, 96, 96,
+  93, 89, 87, 86, 86, 92, 98, 100, 100, 102, 107, 113, 109, 130, 137, 151,
+  176, 172, 195, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247,
+  222, 230, 217, 152, 18, 35, 57, 105, 160, 119, 126, 108, 132, 120, 119, 119,
+  119, 119, 119, 116, 115, 119, 115, 111, 109, 110, 113, 116, 116, 118, 113, 113,
+  117, 113, 107, 107, 114, 105, 103, 103, 107, 109, 108, 104, 99, 91, 81, 78,
+  77, 72, 81, 90, 89, 93, 93, 92, 92, 91, 90, 90, 89, 88, 86, 84,
+  83, 82, 83, 84, 83, 81, 84, 87, 86, 83, 82, 86, 91, 90, 92, 96,
+  99, 100, 98, 95, 93, 88, 88, 92, 98, 100, 97, 100, 104, 109, 108, 130,
+  137, 147, 173, 171, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 218, 232, 221, 196, 37, 22, 39, 108, 144, 130, 119, 123, 114, 124,
+  120, 118, 119, 117, 112, 108, 107, 109, 110, 112, 115, 116, 116, 114, 113, 119,
+  110, 108, 115, 111, 101, 100, 110, 113, 109, 107, 108, 110, 107, 98, 91, 85,
+  72, 72, 80, 79, 83, 90, 89, 90, 90, 89, 88, 87, 86, 86, 86, 87,
+  87, 86, 85, 84, 84, 83, 82, 81, 83, 84, 82, 80, 80, 83, 86, 91,
+  94, 98, 101, 101, 100, 97, 94, 89, 87, 90, 95, 97, 98, 104, 110, 110,
+  110, 132, 137, 144, 166, 163, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 217, 231, 215, 221, 74, 24, 34, 94, 144, 138, 121, 127,
+  114, 124, 119, 115, 118, 117, 111, 108, 109, 111, 112, 115, 115, 116, 114, 112,
+  111, 112, 102, 101, 107, 105, 95, 97, 107, 109, 105, 102, 102, 103, 98, 89,
+  81, 83, 73, 77, 87, 86, 89, 92, 86, 88, 88, 88, 88, 87, 86, 86,
+  86, 89, 88, 88, 87, 87, 86, 84, 83, 85, 82, 79, 79, 81, 83, 83,
+  82, 92, 94, 98, 100, 100, 98, 95, 92, 91, 88, 86, 88, 91, 94, 102,
+  111, 110, 108, 131, 136, 143, 164, 157, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 242, 226, 210, 223, 103, 29, 32, 55, 151, 132,
+  123, 109, 121, 121, 114, 110, 116, 118, 114, 114, 119, 121, 119, 115, 110, 108,
+  107, 110, 113, 107, 102, 101, 106, 105, 101, 105, 113, 101, 99, 97, 98, 98,
+  95, 88, 83, 82, 79, 85, 91, 88, 92, 94, 86, 91, 91, 91, 91, 91,
+  91, 91, 90, 94, 92, 91, 90, 89, 88, 87, 86, 90, 85, 80, 81, 85,
+  88, 88, 85, 92, 95, 98, 101, 101, 99, 95, 93, 95, 89, 85, 85, 85,
+  87, 95, 104, 106, 103, 127, 136, 145, 166, 156, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 223, 214, 212, 109, 26, 31, 35,
+  127, 126, 120, 105, 121, 119, 110, 105, 113, 115, 113, 115, 123, 119, 118, 116,
+  111, 107, 107, 110, 114, 110, 109, 108, 106, 104, 105, 110, 113, 101, 99, 99,
+  97, 95, 92, 88, 87, 82, 85, 92, 91, 84, 92, 98, 89, 92, 92, 92,
+  93, 95, 95, 96, 95, 97, 95, 93, 92, 90, 90, 90, 91, 90, 89, 85,
+  85, 86, 89, 91, 93, 92, 96, 99, 104, 104, 104, 100, 99, 99, 95, 90,
+  89, 87, 86, 90, 96, 104, 101, 124, 137, 150, 171, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 220, 200, 103, 23,
+  39, 49, 97, 135, 125, 127, 117, 120, 108, 104, 110, 110, 108, 110, 121, 106,
+  110, 116, 116, 114, 112, 113, 114, 110, 112, 109, 101, 97, 99, 102, 99, 100,
+  100, 98, 95, 89, 86, 84, 83, 82, 88, 93, 86, 78, 93, 101, 91, 90,
+  90, 92, 92, 94, 95, 95, 95, 98, 97, 94, 92, 90, 90, 90, 92, 86,
+  87, 88, 85, 83, 84, 90, 95, 91, 95, 101, 105, 108, 108, 107, 105, 98,
+  95, 95, 96, 95, 92, 92, 97, 108, 103, 126, 138, 156, 175, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 219,
+  89, 32, 39, 43, 50, 75, 110, 126, 124, 107, 106, 93, 98, 123, 100, 119,
+  116, 110, 109, 109, 109, 110, 111, 111, 112, 105, 111, 109, 98, 97, 106, 110,
+  103, 102, 108, 108, 99, 88, 83, 80, 77, 86, 85, 85, 87, 88, 88, 86,
+  84, 89, 87, 87, 88, 92, 93, 93, 91, 92, 97, 91, 89, 96, 92, 83,
+  85, 89, 87, 85, 81, 79, 77, 77, 78, 95, 102, 107, 105, 104, 107, 108,
+  105, 95, 90, 88, 89, 93, 94, 91, 87, 98, 106, 119, 138, 154, 160, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  215, 225, 123, 65, 52, 42, 47, 57, 65, 69, 70, 67, 70, 63, 104, 124,
+  109, 109, 114, 113, 114, 113, 111, 108, 105, 103, 103, 100, 106, 105, 99, 101,
+  112, 118, 114, 89, 96, 106, 107, 98, 85, 75, 70, 72, 70, 68, 69, 72,
+  77, 81, 83, 81, 80, 79, 81, 83, 85, 83, 82, 85, 89, 82, 81, 89,
+  88, 83, 89, 78, 78, 80, 81, 82, 84, 87, 88, 92, 96, 100, 102, 105,
+  108, 104, 97, 95, 93, 94, 96, 98, 100, 98, 94, 100, 109, 125, 143, 159,
+  165, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 240, 223, 163, 105, 68, 42, 45, 48, 38, 33, 41, 41, 47, 46,
+  112, 126, 119, 103, 118, 115, 117, 118, 114, 108, 103, 100, 100, 108, 112, 108,
+  101, 101, 108, 110, 105, 87, 91, 103, 113, 105, 84, 69, 66, 69, 67, 65,
+  65, 65, 66, 68, 69, 63, 62, 63, 66, 68, 70, 66, 65, 74, 77, 67,
+  64, 70, 68, 64, 69, 78, 80, 83, 85, 89, 91, 93, 94, 84, 90, 94,
+  100, 109, 113, 108, 98, 88, 90, 94, 97, 97, 96, 95, 94, 98, 108, 124,
+  142, 155, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 218, 193, 142, 90, 46, 40, 47, 44, 40, 43, 42,
+  49, 56, 104, 121, 115, 104, 118, 112, 116, 119, 117, 111, 107, 105, 106, 113,
+  114, 108, 101, 98, 100, 97, 91, 99, 95, 100, 109, 100, 78, 67, 71, 70,
+  74, 77, 78, 76, 72, 68, 65, 55, 54, 56, 59, 62, 63, 60, 57, 58,
+  62, 55, 51, 58, 55, 49, 53, 63, 64, 65, 67, 67, 65, 64, 64, 55,
+  62, 70, 75, 82, 88, 86, 80, 80, 85, 91, 94, 94, 93, 92, 93, 107,
+  114, 129, 145, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 207, 175, 122, 59, 31, 37, 49, 47,
+  37, 39, 50, 76, 88, 115, 108, 105, 109, 109, 112, 116, 115, 112, 108, 106,
+  107, 105, 105, 102, 99, 100, 102, 100, 96, 105, 98, 99, 106, 99, 80, 72,
+  77, 74, 78, 86, 90, 89, 87, 86, 85, 76, 73, 72, 72, 71, 70, 67,
+  64, 57, 62, 60, 61, 69, 66, 57, 61, 60, 61, 63, 63, 62, 61, 58,
+  57, 61, 71, 78, 76, 72, 73, 74, 72, 72, 78, 86, 91, 94, 96, 101,
+  104, 116, 122, 136, 152, 159, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 195, 151, 84, 38, 35,
+  53, 51, 33, 32, 45, 84, 83, 118, 114, 110, 108, 110, 110, 110, 109, 108,
+  105, 102, 100, 105, 103, 101, 102, 105, 106, 103, 99, 98, 96, 100, 106, 102,
+  89, 80, 80, 88, 89, 91, 89, 88, 90, 95, 100, 97, 93, 89, 86, 83,
+  81, 77, 73, 76, 82, 77, 77, 82, 75, 64, 64, 72, 75, 76, 78, 79,
+  81, 81, 82, 95, 106, 112, 103, 90, 83, 81, 79, 67, 70, 76, 83, 91,
+  99, 107, 111, 110, 113, 129, 149, 190, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 210, 175, 116,
+  65, 49, 55, 51, 39, 41, 43, 71, 86, 116, 124, 107, 114, 114, 109, 105,
+  105, 107, 106, 101, 97, 110, 106, 103, 105, 108, 106, 101, 97, 96, 97, 100,
+  102, 99, 94, 86, 81, 93, 94, 93, 90, 86, 87, 93, 100, 103, 100, 96,
+  92, 91, 91, 89, 88, 90, 94, 88, 85, 86, 79, 68, 70, 76, 76, 77,
+  78, 80, 82, 84, 87, 99, 108, 116, 111, 102, 93, 85, 79, 75, 74, 74,
+  78, 87, 98, 107, 112, 107, 111, 130, 158, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224,
+  194, 143, 92, 60, 48, 42, 36, 58, 45, 52, 86, 104, 123, 94, 116, 116,
+  108, 103, 104, 108, 110, 105, 100, 105, 101, 100, 105, 109, 109, 104, 100, 103,
+  104, 100, 94, 91, 92, 89, 82, 78, 84, 90, 92, 90, 91, 96, 101, 103,
+  100, 97, 96, 98, 102, 103, 104, 85, 90, 86, 85, 94, 93, 86, 90, 88,
+  87, 85, 83, 83, 84, 85, 86, 94, 105, 115, 119, 117, 111, 100, 91, 94,
+  87, 82, 82, 90, 100, 108, 111, 124, 128, 149, 184, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 239, 204, 157, 143, 85, 44, 35, 60, 46, 42, 54, 78, 97, 116, 118,
+  103, 110, 112, 116, 114, 109, 104, 101, 101, 94, 99, 99, 95, 97, 103, 105,
+  102, 102, 99, 97, 100, 102, 96, 87, 80, 92, 93, 92, 91, 90, 95, 99,
+  102, 104, 109, 103, 101, 107, 104, 99, 102, 100, 94, 96, 102, 100, 91, 90,
+  99, 89, 88, 88, 91, 90, 86, 84, 85, 96, 102, 110, 117, 112, 104, 103,
+  108, 101, 86, 88, 92, 88, 102, 117, 108, 126, 122, 153, 184, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 218, 179, 165, 109, 64, 42, 47, 45, 42, 57, 81, 98,
+  115, 117, 105, 102, 105, 107, 108, 107, 106, 104, 104, 98, 101, 99, 96, 98,
+  104, 104, 101, 103, 102, 100, 101, 100, 95, 87, 83, 92, 94, 96, 97, 97,
+  96, 96, 96, 99, 104, 97, 95, 102, 100, 95, 100, 99, 94, 96, 103, 101,
+  94, 96, 104, 91, 88, 89, 92, 93, 90, 90, 93, 101, 103, 110, 116, 114,
+  105, 101, 101, 98, 84, 85, 88, 89, 104, 119, 113, 118, 125, 162, 208, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 195, 187, 146, 107, 72, 48, 43, 42, 60,
+  85, 98, 111, 116, 107, 101, 100, 100, 101, 103, 105, 103, 102, 101, 101, 97,
+  96, 99, 104, 103, 99, 96, 98, 99, 99, 99, 99, 97, 94, 92, 91, 92,
+  93, 94, 94, 94, 96, 100, 105, 98, 96, 103, 102, 99, 104, 102, 96, 93,
+  94, 89, 81, 82, 88, 85, 81, 80, 84, 85, 84, 87, 91, 103, 102, 106,
+  114, 117, 110, 102, 98, 104, 91, 89, 92, 91, 104, 115, 113, 113, 137, 181,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 199, 178, 149, 107, 50, 41,
+  42, 62, 86, 97, 107, 113, 107, 107, 103, 98, 98, 100, 101, 98, 96, 100,
+  97, 93, 94, 98, 102, 101, 98, 95, 99, 100, 97, 96, 99, 101, 100, 97,
+  91, 86, 86, 89, 94, 101, 108, 102, 106, 99, 97, 105, 105, 102, 107, 102,
+  96, 91, 88, 82, 74, 74, 79, 81, 76, 75, 76, 79, 79, 83, 89, 101,
+  98, 101, 112, 118, 114, 106, 101, 100, 93, 90, 96, 99, 107, 114, 117, 112,
+  150, 196, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 201, 193, 170, 127,
+  46, 44, 43, 62, 86, 95, 102, 109, 107, 109, 104, 99, 97, 98, 98, 95,
+  93, 95, 92, 90, 92, 96, 98, 98, 98, 101, 106, 103, 96, 92, 96, 97,
+  94, 104, 95, 89, 91, 95, 98, 103, 109, 99, 103, 97, 95, 103, 103, 99,
+  104, 98, 95, 93, 92, 89, 86, 88, 93, 88, 83, 79, 81, 82, 83, 88,
+  94, 102, 100, 103, 111, 116, 113, 105, 103, 88, 88, 89, 97, 104, 108, 114,
+  127, 118, 156, 218, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 199,
+  180, 146, 60, 50, 44, 61, 86, 94, 100, 106, 106, 104, 101, 98, 97, 97,
+  98, 97, 96, 93, 91, 90, 93, 93, 92, 93, 98, 94, 99, 97, 92, 93,
+  101, 104, 100, 100, 92, 90, 96, 99, 95, 91, 93, 99, 102, 97, 96, 103,
+  102, 98, 102, 100, 99, 97, 94, 89, 86, 87, 89, 90, 86, 82, 84, 85,
+  87, 92, 99, 106, 105, 108, 112, 111, 104, 101, 102, 92, 98, 97, 99, 103,
+  99, 104, 126, 143, 169, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  237, 200, 183, 167, 89, 59, 49, 63, 87, 96, 100, 106, 107, 98, 98, 99,
+  97, 96, 96, 96, 97, 95, 94, 94, 95, 91, 86, 89, 97, 88, 94, 91,
+  88, 95, 106, 108, 101, 100, 90, 88, 96, 99, 92, 86, 86, 96, 100, 96,
+  96, 103, 100, 93, 95, 98, 98, 95, 89, 82, 78, 75, 76, 87, 83, 81,
+  84, 87, 89, 94, 101, 105, 109, 113, 113, 105, 97, 100, 107, 106, 114, 107,
+  102, 102, 94, 103, 136, 172, 183, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 200, 179, 174, 104, 66, 54, 64, 87, 97, 102, 107, 107, 96,
+  98, 99, 98, 93, 91, 92, 95, 98, 97, 98, 98, 90, 82, 85, 95, 99,
+  102, 97, 90, 94, 103, 100, 88, 110, 96, 89, 97, 101, 96, 96, 99, 90,
+  95, 91, 90, 97, 93, 85, 86, 89, 91, 90, 86, 82, 79, 77, 76, 83,
+  81, 80, 84, 89, 92, 98, 105, 102, 109, 115, 113, 102, 95, 102, 115, 106,
+  117, 110, 105, 108, 104, 120, 161, 187, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 237, 202, 193, 147, 74, 64, 74, 92, 94, 97, 106,
+  111, 107, 98, 97, 99, 91, 91, 91, 81, 92, 89, 90, 93, 92, 88, 88,
+  90, 100, 103, 99, 93, 97, 108, 108, 100, 106, 105, 96, 96, 101, 95, 87,
+  93, 107, 105, 99, 92, 89, 93, 98, 102, 94, 86, 81, 86, 91, 90, 82,
+  76, 84, 82, 79, 80, 86, 94, 102, 108, 108, 110, 113, 110, 98, 88, 93,
+  104, 102, 118, 108, 115, 106, 102, 153, 182, 194, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 210, 205, 173, 100, 75, 71, 88, 97,
+  100, 107, 109, 101, 93, 94, 94, 88, 90, 93, 87, 87, 85, 86, 91, 92,
+  90, 91, 94, 96, 96, 94, 92, 98, 104, 102, 98, 98, 98, 92, 94, 102,
+  98, 92, 99, 97, 98, 97, 91, 91, 94, 99, 101, 102, 94, 89, 88, 91,
+  90, 85, 80, 78, 78, 77, 82, 89, 98, 106, 111, 111, 113, 114, 110, 100,
+  92, 98, 110, 107, 113, 119, 112, 113, 137, 163, 189, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 223, 179, 140, 94, 72,
+  85, 96, 100, 107, 109, 96, 91, 94, 93, 85, 87, 93, 89, 85, 83, 84,
+  89, 90, 89, 90, 94, 98, 94, 93, 99, 104, 103, 101, 100, 95, 97, 93,
+  95, 105, 101, 97, 105, 91, 95, 96, 90, 90, 94, 97, 96, 101, 97, 92,
+  89, 89, 90, 89, 87, 78, 79, 82, 86, 92, 100, 106, 111, 117, 117, 115,
+  111, 103, 99, 106, 116, 119, 113, 130, 116, 131, 174, 176, 194, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 244, 188, 156,
+  102, 74, 84, 93, 96, 103, 109, 96, 92, 97, 97, 85, 84, 89, 85, 87,
+  84, 84, 87, 87, 85, 86, 89, 98, 91, 91, 102, 106, 101, 98, 101, 100,
+  103, 98, 99, 106, 102, 97, 106, 98, 102, 101, 92, 88, 92, 93, 90, 93,
+  95, 93, 89, 87, 89, 89, 90, 83, 84, 87, 89, 92, 98, 104, 109, 121,
+  122, 120, 114, 108, 105, 108, 116, 126, 117, 127, 134, 159, 188, 186, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  225, 124, 87, 75, 88, 93, 90, 96, 103, 93, 91, 98, 99, 88, 85, 87,
+  82, 85, 82, 81, 83, 83, 81, 82, 87, 91, 83, 85, 96, 100, 95, 91,
+  93, 100, 104, 99, 100, 105, 100, 96, 105, 105, 109, 105, 92, 87, 93, 96,
+  92, 89, 94, 96, 91, 87, 88, 88, 85, 88, 89, 89, 89, 92, 97, 105,
+  111, 120, 123, 123, 119, 113, 111, 110, 111, 120, 118, 116, 155, 183, 206, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 232, 72, 62, 75, 94, 93, 89, 92, 95, 91, 88, 95, 97, 89,
+  88, 90, 83, 82, 78, 77, 80, 81, 80, 83, 87, 87, 83, 84, 91, 96,
+  94, 91, 91, 93, 97, 94, 96, 101, 97, 94, 105, 103, 109, 105, 92, 88,
+  97, 100, 95, 92, 99, 100, 93, 89, 91, 88, 81, 86, 88, 89, 89, 91,
+  98, 107, 116, 118, 122, 122, 118, 115, 114, 112, 108, 112, 119, 119, 170, 193,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 54, 75, 91, 86, 87, 95, 97, 97, 89, 91,
+  92, 86, 88, 90, 83, 83, 79, 78, 80, 80, 79, 81, 84, 85, 85, 86,
+  87, 91, 96, 93, 88, 88, 93, 91, 94, 99, 95, 94, 106, 94, 104, 103,
+  91, 88, 98, 100, 93, 91, 98, 96, 90, 89, 95, 94, 86, 83, 87, 91,
+  93, 93, 98, 106, 114, 115, 118, 116, 113, 114, 117, 115, 111, 120, 130, 148,
+  204, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 82, 75, 84, 101, 105, 105,
+  93, 89, 87, 81, 83, 86, 79, 88, 83, 80, 80, 78, 75, 76, 79, 79,
+  83, 82, 78, 83, 91, 90, 81, 89, 95, 94, 95, 100, 95, 93, 104, 90,
+  102, 103, 91, 89, 97, 97, 86, 86, 92, 90, 84, 88, 99, 101, 93, 85,
+  90, 95, 97, 95, 97, 101, 106, 113, 115, 112, 108, 111, 117, 118, 114, 135,
+  144, 182, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 197, 80, 90,
+  103, 104, 92, 85, 87, 89, 86, 83, 84, 82, 78, 84, 69, 78, 69, 78,
+  73, 71, 77, 80, 76, 76, 82, 88, 88, 86, 86, 92, 100, 100, 93, 90,
+  93, 90, 95, 98, 96, 93, 93, 97, 101, 95, 87, 84, 87, 88, 86, 91,
+  98, 84, 89, 94, 98, 96, 96, 101, 109, 117, 105, 132, 106, 118, 96, 124,
+  109, 148, 175, 206, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 201, 84, 82, 87, 95, 90, 92, 73, 77,
+  67, 78, 76, 73, 79, 81, 78, 77, 84, 90, 90, 84, 85, 88, 93, 90,
+  84, 84, 89, 93, 97, 101, 100, 98, 97, 97, 99, 88, 87, 90, 98, 99,
+  92, 89, 90, 90, 91, 93, 95, 97, 96, 98, 101, 95, 107, 109, 118, 123,
+  118, 119, 141, 153, 165, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  193, 74, 60, 71, 71, 74, 76, 77, 75, 73, 78, 82, 84, 82, 84, 87,
+  87, 82, 77, 80, 86, 90, 93, 97, 98, 99, 97, 95, 93, 84, 86, 93,
+  101, 100, 93, 86, 83, 91, 90, 89, 91, 96, 99, 99, 96, 95, 111, 102,
+  113, 125, 115, 105, 143, 185, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 77, 75, 72, 73, 74, 75, 74, 74, 75, 74, 79,
+  83, 87, 86, 81, 78, 80, 85, 84, 86, 87, 90, 93, 94, 92, 91, 89,
+  88, 89, 90, 89, 87, 86, 85, 84, 86, 87, 87, 92, 97, 100, 98, 99,
+  100, 113, 108, 141, 135, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 68, 71, 76, 77, 76, 75,
+  74, 73, 81, 86, 85, 81, 79, 80, 81, 80, 80, 80, 82, 85, 89, 92,
+  93, 90, 89, 87, 85, 84, 86, 88, 87, 77, 85, 89, 85, 86, 91, 97,
+  99, 102, 91, 116, 115, 129, 166, 229, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 74,
+  73, 73, 74, 70, 76, 80, 80, 77, 79, 77, 75, 77, 78, 78, 78, 80,
+  85, 90, 94, 84, 87, 88, 87, 86, 88, 87, 83, 78, 88, 91, 84, 80,
+  85, 92, 93, 96, 94, 106, 131, 103, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 194, 71, 76, 74, 77, 76, 74, 74, 78, 76, 70, 72, 76, 78,
+  77, 76, 78, 82, 86, 77, 82, 83, 80, 81, 85, 84, 79, 79, 87, 87,
+  79, 79, 87, 91, 88, 85, 96, 98, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 80, 79, 74, 68, 71, 78, 75, 68, 66,
+  73, 77, 77, 73, 71, 74, 77, 76, 78, 75, 69, 131, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 164, 143, 153, 120, 145,
+  138, 160, 180, 200, 201, 146, 168, 247, 237, 196, 175, 244, 253, 166, 193, 220,
+  224, 233, 232, 236, 230, 211, 211, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 122, 128, 140, 125, 155, 140, 150,
+  113, 136, 134, 136, 152, 179, 193, 151, 154, 237, 246, 203, 194, 253, 243, 163,
+  202, 228, 213, 209, 206, 211, 209, 196, 175, 180, 195, 209, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 203, 108, 121, 129, 131, 118, 141,
+  136, 144, 122, 144, 146, 119, 133, 156, 175, 160, 156, 236, 253, 207, 190, 239,
+  232, 176, 178, 174, 172, 167, 159, 161, 168, 175, 170, 170, 171, 169, 183, 197,
+  210, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 97, 102, 107, 119, 124, 142,
+  126, 131, 124, 120, 111, 128, 132, 117, 130, 136, 147, 161, 153, 210, 218, 170,
+  142, 171, 177, 150, 112, 77, 99, 107, 106, 109, 111, 120, 123, 128, 127, 123,
+  148, 175, 193, 213, 217, 225, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 208, 107, 91, 102, 103, 106, 113,
+  118, 114, 102, 99, 103, 100, 114, 134, 144, 113, 129, 119, 119, 149, 137, 166,
+  151, 138, 129, 135, 110, 109, 94, 57, 73, 89, 101, 108, 98, 89, 91, 104,
+  113, 106, 135, 158, 162, 158, 144, 143, 155, 172, 200, 231, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 228, 186, 152, 47, 24, 61, 98, 108, 105,
+  103, 102, 98, 82, 68, 70, 94, 114, 118, 123, 135, 112, 109, 110, 115, 118,
+  119, 125, 131, 137, 134, 121, 103, 91, 86, 79, 71, 86, 86, 94, 84, 69,
+  71, 91, 96, 82, 118, 154, 147, 118, 98, 113, 134, 160, 197, 192, 141, 179,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 239, 202, 185, 173, 175, 145, 57, 44, 69, 92,
+  95, 90, 88, 84, 78, 81, 73, 74, 90, 103, 108, 111, 119, 114, 108, 104,
+  108, 111, 110, 108, 109, 86, 91, 89, 80, 73, 73, 73, 71, 74, 70, 73,
+  69, 59, 63, 74, 75, 72, 101, 126, 126, 114, 110, 118, 128, 134, 148, 140,
+  112, 174, 203, 195, 218, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 236, 171, 164, 160, 148, 145, 125, 58, 59,
+  71, 79, 78, 76, 77, 72, 65, 65, 65, 66, 70, 75, 80, 83, 83, 98,
+  89, 84, 86, 88, 83, 75, 70, 58, 67, 72, 67, 61, 59, 61, 63, 65,
+  56, 56, 58, 54, 57, 61, 55, 57, 75, 88, 90, 96, 109, 113, 111, 89,
+  84, 79, 72, 139, 158, 148, 156, 187, 180, 224, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 169, 154, 157, 152, 142, 120,
+  65, 62, 61, 61, 61, 68, 74, 71, 62, 61, 68, 70, 65, 65, 72, 74,
+  71, 89, 83, 81, 83, 82, 75, 68, 65, 60, 63, 65, 62, 57, 55, 55,
+  55, 61, 51, 53, 59, 56, 57, 57, 50, 54, 66, 71, 69, 80, 102, 111,
+  108, 84, 74, 78, 76, 119, 115, 107, 126, 130, 133, 175, 238, 246, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 237, 184, 155, 161, 160, 172, 164,
+  135, 105, 61, 60, 57, 54, 57, 67, 74, 70, 61, 57, 67, 69, 62, 62,
+  69, 71, 66, 67, 68, 71, 73, 70, 63, 63, 67, 58, 53, 50, 51, 53,
+  54, 52, 51, 57, 50, 58, 66, 60, 56, 57, 54, 62, 73, 77, 72, 78,
+  99, 116, 120, 95, 81, 90, 86, 112, 94, 81, 98, 113, 128, 142, 192, 210,
+  226, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 167, 153, 150, 167, 164,
+  160, 137, 102, 84, 63, 63, 57, 54, 57, 64, 66, 60, 52, 50, 57, 59,
+  55, 55, 60, 61, 57, 47, 49, 54, 56, 52, 48, 53, 62, 62, 53, 47,
+  49, 53, 53, 49, 47, 50, 44, 55, 66, 58, 51, 54, 54, 54, 63, 68,
+  66, 68, 80, 98, 110, 94, 76, 86, 84, 111, 97, 78, 76, 110, 133, 125,
+  162, 181, 192, 204, 237, 208, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 160, 151, 142, 151,
+  157, 133, 116, 102, 83, 80, 71, 61, 56, 53, 56, 59, 59, 54, 50, 62,
+  63, 64, 63, 63, 63, 61, 58, 54, 52, 52, 53, 50, 49, 55, 63, 62,
+  55, 52, 55, 56, 50, 45, 45, 48, 42, 53, 66, 61, 54, 56, 56, 51,
+  51, 55, 61, 62, 63, 69, 77, 89, 76, 92, 88, 115, 111, 92, 78, 74,
+  103, 112, 163, 169, 164, 165, 174, 180, 181, 186, 198, 232, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 150, 132, 131,
+  131, 100, 97, 65, 59, 72, 70, 65, 47, 52, 49, 49, 52, 55, 55, 54,
+  54, 59, 55, 54, 56, 56, 52, 48, 46, 57, 49, 43, 43, 43, 43, 46,
+  52, 49, 48, 52, 57, 58, 50, 50, 53, 52, 43, 52, 68, 66, 60, 60,
+  58, 64, 54, 55, 67, 71, 61, 55, 57, 65, 66, 92, 81, 100, 99, 88,
+  71, 85, 84, 79, 121, 116, 128, 162, 168, 151, 156, 167, 184, 201, 220, 244,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 147, 129,
+  135, 138, 93, 57, 57, 58, 60, 62, 58, 51, 45, 48, 47, 46, 49, 56,
+  59, 58, 54, 53, 55, 58, 57, 55, 51, 49, 49, 53, 53, 51, 48, 43,
+  42, 43, 45, 41, 39, 44, 52, 56, 51, 52, 55, 53, 50, 49, 52, 59,
+  63, 61, 58, 55, 56, 57, 60, 61, 60, 56, 53, 53, 63, 69, 67, 83,
+  98, 87, 57, 61, 62, 78, 96, 111, 119, 137, 152, 145, 150, 147, 160, 181,
+  186, 204, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 152,
+  140, 137, 145, 128, 63, 57, 58, 61, 63, 62, 57, 50, 45, 44, 43, 44,
+  49, 55, 57, 53, 49, 52, 54, 55, 55, 52, 49, 48, 48, 53, 53, 52,
+  49, 44, 44, 45, 47, 46, 43, 43, 49, 51, 49, 50, 55, 52, 49, 46,
+  49, 54, 56, 54, 51, 57, 57, 59, 61, 63, 62, 58, 55, 51, 59, 62,
+  64, 77, 90, 81, 62, 55, 53, 58, 69, 78, 91, 116, 138, 160, 150, 150,
+  166, 181, 175, 186, 213, 241, 251, 250, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  225, 142, 142, 135, 120, 97, 49, 63, 66, 68, 66, 60, 52, 45, 41, 40,
+  40, 44, 50, 55, 55, 50, 45, 51, 52, 52, 50, 48, 46, 46, 47, 50,
+  50, 47, 45, 44, 43, 44, 46, 49, 46, 43, 45, 46, 46, 48, 53, 51,
+  48, 46, 46, 49, 50, 48, 45, 54, 54, 56, 59, 61, 61, 58, 55, 56,
+  58, 59, 63, 71, 77, 73, 65, 64, 58, 57, 62, 66, 75, 99, 121, 134,
+  125, 131, 143, 154, 169, 192, 201, 219, 244, 251, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 229, 166, 148, 145, 112, 69, 67, 69, 73, 74, 72, 64, 53, 43, 39,
+  37, 41, 42, 45, 50, 53, 54, 50, 47, 49, 50, 49, 47, 44, 43, 44,
+  45, 45, 47, 45, 44, 43, 44, 44, 47, 48, 47, 44, 45, 46, 47, 49,
+  51, 49, 47, 45, 46, 48, 48, 47, 45, 48, 48, 49, 52, 55, 56, 54,
+  52, 58, 55, 57, 63, 65, 63, 59, 58, 53, 47, 47, 54, 57, 57, 65,
+  75, 80, 86, 101, 103, 107, 151, 199, 204, 200, 231, 243, 247, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 230, 179, 181, 154, 122, 78, 47, 68, 91, 75, 73, 67, 56, 45,
+  38, 38, 39, 42, 43, 44, 46, 49, 50, 49, 48, 48, 48, 48, 46, 43,
+  42, 43, 44, 43, 44, 44, 43, 43, 44, 45, 48, 43, 45, 46, 47, 47,
+  49, 50, 50, 45, 44, 44, 45, 47, 48, 47, 47, 45, 45, 47, 50, 53,
+  55, 54, 53, 57, 54, 56, 63, 64, 58, 54, 55, 50, 43, 44, 56, 63,
+  59, 56, 56, 62, 65, 89, 95, 88, 117, 172, 199, 203, 227, 242, 243, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 245, 210, 178, 176, 187, 138, 81, 57, 63, 84, 84, 65, 62, 55,
+  47, 41, 39, 41, 44, 40, 41, 42, 43, 44, 46, 46, 47, 47, 48, 48,
+  47, 44, 42, 42, 43, 43, 44, 44, 44, 43, 42, 45, 48, 42, 45, 47,
+  46, 47, 50, 51, 48, 39, 40, 41, 42, 44, 45, 46, 47, 46, 46, 47,
+  51, 55, 58, 58, 57, 59, 57, 58, 62, 64, 60, 56, 55, 58, 49, 48,
+  60, 69, 69, 67, 68, 69, 56, 80, 110, 103, 91, 127, 178, 201, 218, 243,
+  246, 252, 255, 247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 241, 208, 193, 178, 175, 166, 100, 54, 58, 70, 75, 62, 54,
+  50, 45, 42, 41, 41, 41, 41, 38, 41, 43, 45, 46, 46, 45, 45, 47,
+  49, 50, 49, 46, 44, 43, 43, 44, 45, 43, 42, 42, 43, 46, 46, 45,
+  48, 46, 42, 42, 47, 49, 46, 40, 41, 42, 43, 44, 45, 46, 47, 47,
+  47, 48, 52, 57, 60, 61, 61, 75, 72, 67, 64, 65, 66, 61, 55, 54,
+  48, 49, 57, 62, 60, 65, 71, 64, 54, 67, 97, 104, 81, 91, 132, 158,
+  176, 228, 241, 242, 251, 243, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 242, 214, 202, 184, 171, 175, 138, 67, 52, 67, 56, 48,
+  48, 48, 45, 41, 40, 42, 41, 38, 35, 38, 42, 48, 51, 51, 49, 46,
+  45, 47, 49, 51, 51, 48, 45, 43, 43, 45, 46, 44, 43, 42, 43, 44,
+  46, 49, 50, 45, 37, 37, 43, 47, 45, 44, 45, 46, 46, 46, 46, 48,
+  49, 47, 47, 48, 52, 57, 60, 62, 61, 90, 86, 75, 64, 63, 66, 61,
+  51, 60, 60, 65, 71, 67, 62, 68, 78, 51, 56, 54, 61, 81, 77, 69,
+  82, 102, 128, 205, 232, 233, 250, 248, 252, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 241, 205, 201, 195, 186, 185, 159, 102, 53, 47, 56,
+  53, 48, 50, 45, 43, 41, 38, 37, 36, 36, 37, 45, 42, 41, 44, 50,
+  52, 49, 46, 46, 46, 45, 45, 43, 41, 40, 39, 43, 43, 43, 44, 44,
+  46, 49, 51, 51, 43, 36, 39, 42, 43, 39, 35, 40, 39, 39, 41, 45,
+  49, 51, 52, 43, 52, 51, 49, 55, 56, 58, 69, 80, 87, 86, 73, 61,
+  58, 60, 60, 62, 57, 58, 66, 70, 68, 69, 73, 69, 54, 49, 60, 73,
+  72, 63, 55, 73, 83, 125, 164, 194, 240, 255, 236, 254, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 214, 209, 196, 199, 185, 143, 114, 79, 51,
+  51, 58, 53, 46, 45, 43, 42, 40, 38, 36, 36, 36, 36, 44, 42, 41,
+  44, 49, 51, 49, 45, 45, 45, 45, 44, 43, 41, 40, 39, 42, 41, 41,
+  42, 42, 44, 46, 47, 41, 38, 37, 38, 38, 39, 40, 41, 44, 44, 46,
+  45, 48, 46, 48, 45, 45, 51, 53, 52, 62, 61, 62, 70, 72, 80, 80,
+  68, 57, 55, 58, 59, 59, 59, 62, 66, 65, 61, 62, 67, 65, 53, 51,
+  58, 64, 64, 61, 60, 63, 64, 75, 103, 143, 179, 222, 255, 246, 246, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 218, 203, 207, 181, 106, 73,
+  60, 50, 50, 53, 51, 46, 43, 41, 40, 39, 37, 36, 36, 36, 36, 43,
+  41, 41, 44, 49, 50, 47, 44, 45, 45, 45, 44, 43, 42, 40, 39, 39,
+  38, 38, 39, 39, 41, 41, 42, 34, 36, 37, 37, 37, 40, 43, 47, 43,
+  43, 46, 44, 46, 43, 44, 41, 48, 53, 55, 57, 70, 68, 65, 69, 66,
+  72, 72, 63, 54, 53, 58, 61, 57, 59, 63, 65, 61, 55, 56, 60, 57,
+  54, 54, 56, 56, 56, 61, 66, 60, 65, 65, 87, 121, 127, 162, 234, 255,
+  254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 209, 219, 210, 194, 145,
+  78, 62, 59, 51, 45, 45, 49, 48, 43, 39, 38, 38, 37, 36, 36, 36,
+  36, 42, 41, 42, 45, 48, 49, 46, 43, 45, 45, 45, 44, 43, 42, 41,
+  40, 39, 39, 39, 39, 39, 40, 39, 39, 36, 40, 40, 39, 41, 46, 49,
+  51, 41, 42, 43, 43, 44, 46, 48, 50, 52, 58, 58, 62, 73, 71, 62,
+  65, 61, 65, 68, 60, 55, 52, 60, 64, 58, 57, 62, 63, 64, 58, 56,
+  55, 53, 53, 55, 56, 55, 55, 61, 64, 62, 74, 85, 99, 114, 111, 128,
+  168, 227, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 207, 209, 206,
+  152, 79, 52, 59, 58, 52, 44, 45, 49, 46, 38, 37, 37, 37, 37, 37,
+  37, 36, 36, 41, 42, 44, 47, 49, 48, 46, 43, 44, 44, 44, 44, 43,
+  42, 41, 40, 40, 40, 40, 41, 40, 40, 39, 39, 40, 42, 41, 39, 42,
+  50, 52, 46, 47, 47, 47, 46, 47, 51, 57, 62, 59, 64, 62, 64, 73,
+  70, 59, 59, 57, 60, 63, 56, 51, 47, 56, 63, 58, 55, 58, 61, 70,
+  69, 62, 52, 53, 55, 55, 57, 60, 61, 61, 58, 64, 70, 82, 80, 81,
+  111, 135, 128, 142, 186, 254, 255, 255, 255, 255, 255, 255, 255, 243, 226, 205,
+  196, 191, 119, 48, 50, 50, 51, 51, 49, 50, 48, 41, 32, 36, 37, 38,
+  38, 39, 38, 38, 37, 42, 44, 47, 49, 50, 48, 46, 44, 43, 44, 44,
+  44, 44, 43, 42, 41, 40, 40, 41, 42, 41, 41, 40, 40, 43, 45, 43,
+  39, 42, 51, 51, 43, 46, 45, 47, 43, 43, 44, 52, 56, 60, 64, 63,
+  60, 67, 61, 54, 56, 56, 56, 58, 53, 47, 41, 50, 58, 58, 54, 56,
+  62, 76, 78, 68, 52, 56, 57, 57, 58, 62, 65, 62, 54, 69, 71, 82,
+  74, 70, 116, 146, 117, 92, 124, 241, 255, 255, 255, 255, 255, 255, 244, 215,
+  220, 206, 188, 162, 100, 52, 54, 48, 49, 51, 53, 49, 42, 36, 35, 36,
+  37, 38, 40, 40, 40, 39, 39, 42, 45, 49, 51, 51, 49, 46, 45, 43,
+  43, 44, 44, 44, 43, 42, 41, 38, 39, 41, 42, 41, 41, 39, 38, 42,
+  50, 49, 42, 42, 50, 54, 48, 44, 43, 48, 45, 44, 41, 47, 49, 58,
+  62, 60, 54, 59, 53, 51, 57, 60, 58, 58, 53, 45, 38, 45, 56, 55,
+  56, 60, 66, 78, 81, 70, 56, 59, 61, 59, 57, 61, 66, 63, 56, 70,
+  78, 85, 84, 87, 109, 128, 130, 97, 87, 234, 237, 255, 255, 255, 255, 255,
+  220, 219, 215, 209, 181, 132, 86, 58, 42, 54, 53, 55, 53, 45, 34, 36,
+  43, 37, 37, 40, 40, 42, 41, 41, 40, 41, 44, 50, 53, 52, 49, 47,
+  46, 43, 43, 44, 44, 44, 43, 42, 42, 38, 38, 39, 41, 42, 41, 38,
+  38, 40, 52, 55, 45, 41, 49, 55, 54, 43, 47, 54, 55, 52, 50, 51,
+  54, 53, 60, 56, 51, 53, 50, 48, 59, 64, 63, 61, 57, 47, 39, 45,
+  55, 50, 56, 62, 67, 75, 78, 68, 56, 56, 61, 59, 54, 54, 60, 61,
+  59, 62, 75, 72, 78, 94, 92, 107, 151, 98, 61, 237, 245, 255, 255, 255,
+  255, 255, 225, 213, 208, 213, 188, 114, 49, 36, 49, 47, 47, 49, 46, 46,
+  42, 41, 37, 45, 42, 43, 39, 40, 38, 41, 39, 40, 41, 44, 44, 43,
+  42, 43, 45, 42, 44, 48, 48, 46, 44, 43, 43, 45, 40, 39, 42, 44,
+  40, 40, 43, 42, 46, 51, 54, 51, 51, 51, 51, 56, 51, 52, 58, 59,
+  52, 48, 48, 53, 57, 55, 45, 42, 49, 56, 60, 57, 54, 48, 44, 39,
+  39, 49, 58, 73, 67, 60, 63, 68, 70, 63, 57, 69, 73, 66, 53, 46,
+  50, 56, 57, 66, 67, 79, 84, 78, 84, 95, 94, 99, 78, 145, 193, 255,
+  255, 255, 255, 245, 223, 208, 210, 207, 170, 97, 44, 38, 48, 50, 50, 49,
+  48, 46, 43, 41, 39, 43, 43, 44, 44, 43, 41, 40, 37, 37, 39, 43,
+  44, 44, 42, 42, 42, 40, 42, 47, 47, 45, 44, 44, 44, 42, 38, 41,
+  46, 47, 44, 43, 47, 42, 43, 48, 50, 50, 53, 57, 61, 61, 56, 54,
+  56, 54, 49, 50, 54, 61, 63, 59, 49, 46, 53, 61, 65, 54, 49, 48,
+  46, 46, 45, 52, 59, 72, 64, 59, 60, 69, 76, 76, 76, 78, 76, 74,
+  69, 58, 50, 56, 63, 61, 65, 78, 85, 80, 86, 97, 96, 74, 76, 166,
+  224, 255, 255, 255, 255, 222, 219, 209, 211, 195, 139, 69, 38, 42, 47, 51,
+  51, 50, 49, 47, 44, 42, 41, 42, 43, 45, 45, 45, 42, 40, 36, 35,
+  38, 43, 46, 45, 43, 41, 40, 39, 41, 44, 44, 45, 43, 43, 44, 35,
+  37, 42, 45, 45, 42, 42, 45, 43, 41, 43, 44, 47, 54, 63, 68, 70,
+  66, 62, 58, 54, 51, 57, 65, 73, 71, 62, 47, 37, 38, 42, 46, 36,
+  33, 36, 43, 51, 55, 62, 67, 72, 65, 62, 68, 80, 90, 97, 101, 92,
+  85, 81, 78, 64, 49, 52, 62, 59, 61, 75, 84, 81, 87, 97, 96, 92,
+  80, 147, 204, 243, 255, 255, 255, 220, 216, 219, 213, 176, 105, 45, 38, 49,
+  45, 53, 52, 51, 50, 48, 46, 45, 44, 44, 44, 44, 44, 43, 42, 41,
+  40, 38, 40, 44, 45, 45, 43, 42, 42, 40, 42, 45, 44, 42, 40, 42,
+  40, 40, 41, 45, 45, 43, 41, 43, 46, 43, 39, 36, 36, 41, 52, 62,
+  70, 78, 77, 74, 68, 62, 61, 68, 76, 83, 80, 71, 57, 44, 38, 38,
+  42, 41, 38, 41, 53, 63, 67, 69, 70, 74, 72, 75, 84, 97, 107, 117,
+  122, 110, 103, 90, 75, 61, 54, 53, 57, 57, 60, 74, 82, 79, 84, 94,
+  93, 90, 96, 156, 180, 178, 255, 255, 255, 220, 216, 232, 208, 152, 78, 33,
+  41, 54, 44, 53, 52, 51, 50, 49, 48, 48, 47, 48, 46, 43, 41, 40,
+  41, 43, 44, 42, 43, 44, 43, 42, 42, 45, 47, 42, 44, 45, 44, 41,
+  38, 38, 37, 44, 45, 46, 44, 45, 50, 56, 61, 46, 42, 38, 38, 45,
+  58, 68, 76, 79, 82, 83, 78, 73, 73, 77, 82, 86, 86, 86, 82, 75,
+  71, 71, 74, 79, 76, 75, 78, 81, 78, 74, 71, 78, 81, 91, 102, 113,
+  119, 126, 130, 131, 131, 108, 73, 57, 64, 64, 54, 57, 59, 72, 79, 74,
+  79, 90, 86, 109, 97, 131, 163, 181, 255, 255, 246, 222, 219, 232, 193, 129,
+  66, 33, 43, 53, 42, 50, 50, 49, 48, 48, 49, 49, 50, 50, 47, 43,
+  40, 39, 41, 44, 46, 43, 44, 43, 41, 40, 41, 45, 48, 43, 45, 46,
+  45, 42, 39, 38, 38, 36, 38, 38, 38, 47, 60, 71, 74, 55, 51, 48,
+  51, 60, 69, 79, 82, 75, 79, 85, 80, 80, 80, 83, 81, 86, 86, 92,
+  93, 92, 86, 89, 94, 98, 94, 92, 94, 91, 86, 82, 83, 85, 90, 100,
+  111, 118, 123, 127, 132, 141, 148, 125, 77, 55, 65, 66, 51, 58, 59, 70,
+  76, 70, 76, 85, 85, 83, 103, 161, 192, 178, 255, 255, 229, 225, 223, 218,
+  170, 112, 65, 39, 41, 47, 42, 45, 45, 44, 44, 45, 47, 49, 50, 49,
+  47, 44, 42, 41, 42, 43, 44, 40, 41, 41, 40, 39, 40, 41, 43, 41,
+  44, 44, 44, 42, 40, 40, 40, 33, 35, 36, 39, 55, 74, 85, 84, 72,
+  68, 67, 69, 76, 80, 83, 82, 72, 77, 82, 81, 84, 88, 89, 84, 88,
+  87, 90, 92, 89, 82, 84, 89, 91, 91, 89, 91, 90, 88, 90, 95, 91,
+  95, 101, 106, 110, 117, 125, 134, 144, 158, 145, 99, 64, 60, 60, 52, 56,
+  57, 67, 72, 68, 76, 87, 88, 101, 103, 145, 188, 185, 255, 255, 230, 227,
+  225, 202, 153, 102, 69, 44, 38, 42, 42, 41, 41, 41, 41, 43, 45, 48,
+  49, 46, 46, 45, 44, 43, 43, 42, 42, 35, 38, 40, 41, 40, 39, 38,
+  39, 39, 40, 43, 44, 44, 43, 43, 42, 40, 41, 43, 50, 69, 87, 95,
+  90, 86, 83, 81, 80, 82, 81, 78, 74, 74, 78, 81, 82, 87, 94, 94,
+  88, 91, 89, 91, 94, 90, 85, 88, 95, 92, 91, 91, 89, 88, 85, 89,
+  97, 96, 97, 98, 98, 101, 110, 123, 135, 146, 166, 163, 125, 80, 56, 56,
+  61, 56, 56, 66, 71, 68, 75, 91, 92, 102, 107, 149, 190, 177, 255, 246,
+  231, 229, 227, 197, 141, 111, 72, 35, 43, 48, 41, 48, 52, 52, 48, 45,
+  47, 47, 44, 48, 48, 48, 45, 42, 40, 40, 41, 43, 43, 44, 44, 42,
+  40, 38, 36, 39, 43, 43, 37, 37, 41, 45, 42, 44, 52, 64, 71, 76,
+  81, 89, 94, 94, 94, 93, 87, 86, 90, 91, 85, 87, 88, 88, 85, 89,
+  97, 99, 95, 87, 93, 97, 95, 90, 89, 93, 98, 90, 90, 91, 92, 97,
+  96, 94, 91, 94, 98, 100, 100, 105, 113, 118, 121, 137, 152, 163, 144, 106,
+  79, 63, 46, 60, 67, 67, 64, 62, 72, 87, 90, 98, 118, 148, 180, 183,
+  255, 227, 228, 224, 221, 188, 126, 108, 46, 47, 36, 54, 41, 46, 50, 50,
+  47, 46, 49, 50, 48, 48, 47, 44, 41, 40, 43, 48, 53, 39, 41, 42,
+  44, 44, 43, 42, 40, 39, 42, 43, 42, 43, 48, 53, 53, 64, 70, 81,
+  87, 91, 95, 101, 105, 96, 96, 95, 91, 91, 96, 95, 91, 95, 95, 93,
+  90, 93, 99, 99, 95, 97, 92, 89, 92, 98, 100, 96, 91, 87, 87, 88,
+  90, 93, 94, 94, 92, 95, 98, 100, 101, 105, 114, 118, 121, 136, 158, 183,
+  186, 162, 131, 92, 51, 58, 57, 64, 53, 54, 82, 93, 91, 101, 110, 141,
+  183, 191, 255, 227, 227, 222, 217, 178, 122, 91, 32, 47, 42, 50, 43, 48,
+  51, 50, 47, 47, 50, 50, 47, 46, 46, 45, 44, 43, 46, 51, 54, 42,
+  43, 43, 45, 45, 45, 42, 42, 38, 42, 45, 43, 47, 54, 61, 61, 65,
+  69, 78, 83, 86, 87, 92, 96, 98, 98, 98, 92, 93, 97, 99, 96, 99,
+  98, 96, 93, 94, 97, 97, 93, 98, 94, 91, 94, 100, 102, 97, 92, 87,
+  84, 84, 86, 91, 93, 93, 92, 95, 99, 103, 103, 108, 116, 120, 121, 143,
+  153, 170, 179, 171, 152, 115, 70, 60, 49, 70, 53, 44, 78, 92, 96, 110,
+  108, 142, 191, 196, 255, 227, 228, 223, 218, 171, 126, 64, 39, 36, 58, 37,
+  47, 53, 54, 52, 48, 47, 48, 46, 41, 42, 46, 50, 52, 50, 46, 43,
+  41, 46, 47, 46, 47, 45, 44, 41, 40, 38, 43, 43, 42, 47, 56, 64,
+  62, 73, 75, 84, 88, 91, 91, 97, 97, 94, 95, 94, 91, 92, 97, 99,
+  95, 97, 94, 92, 91, 92, 93, 92, 90, 90, 95, 100, 99, 94, 91, 94,
+  98, 89, 86, 85, 86, 92, 94, 95, 95, 96, 100, 104, 104, 108, 116, 120,
+  121, 139, 152, 180, 201, 203, 186, 141, 91, 62, 43, 74, 63, 43, 70, 87,
+  107, 113, 112, 151, 198, 194, 255, 228, 229, 223, 216, 164, 111, 47, 39, 38,
+  61, 34, 49, 52, 52, 50, 46, 46, 49, 46, 40, 42, 46, 50, 51, 48,
+  42, 38, 36, 45, 46, 48, 47, 46, 45, 42, 41, 43, 47, 46, 44, 48,
+  55, 63, 61, 77, 78, 86, 90, 94, 95, 99, 98, 91, 94, 93, 88, 89,
+  94, 96, 94, 93, 91, 90, 92, 93, 93, 92, 91, 89, 95, 101, 100, 94,
+  91, 93, 95, 92, 88, 89, 91, 94, 96, 99, 98, 99, 103, 105, 105, 109,
+  117, 121, 122, 129, 140, 165, 183, 188, 185, 160, 126, 88, 51, 59, 63, 58,
+  70, 76, 98, 94, 109, 152, 195, 194, 255, 229, 229, 220, 212, 156, 81, 41,
+  32, 52, 50, 41, 49, 46, 46, 44, 43, 47, 51, 49, 44, 44, 44, 44,
+  42, 40, 39, 41, 43, 40, 42, 45, 46, 48, 48, 46, 46, 47, 49, 49,
+  48, 50, 60, 66, 67, 72, 74, 79, 83, 88, 90, 92, 92, 93, 95, 92,
+  89, 90, 94, 96, 94, 91, 88, 88, 93, 95, 93, 92, 93, 96, 92, 90,
+  93, 98, 99, 92, 84, 94, 90, 92, 93, 96, 97, 98, 97, 100, 104, 106,
+  106, 109, 117, 123, 124, 152, 156, 168, 173, 178, 193, 202, 191, 151, 98, 49,
+  52, 71, 71, 64, 63, 72, 101, 136, 175, 196, 255, 231, 231, 222, 213, 155,
+  65, 33, 46, 55, 48, 40, 49, 43, 43, 41, 41, 46, 51, 49, 43, 42,
+  42, 42, 40, 38, 39, 43, 46, 38, 40, 43, 45, 47, 48, 46, 46, 45,
+  47, 49, 49, 53, 63, 73, 75, 81, 81, 85, 90, 95, 95, 95, 95, 92,
+  94, 92, 89, 89, 93, 94, 92, 92, 87, 87, 93, 95, 91, 89, 91, 95,
+  91, 90, 93, 98, 98, 91, 82, 93, 93, 93, 95, 98, 98, 98, 96, 102,
+  105, 108, 108, 112, 119, 125, 124, 121, 135, 160, 172, 175, 185, 190, 178, 203,
+  160, 57, 40, 73, 73, 71, 55, 72, 104, 115, 144, 215, 255, 233, 233, 227,
+  215, 159, 66, 22, 72, 45, 58, 33, 52, 45, 44, 41, 40, 44, 49, 46,
+  39, 39, 42, 45, 46, 44, 41, 39, 39, 41, 43, 45, 45, 46, 45, 45,
+  42, 39, 42, 45, 46, 52, 64, 76, 80, 79, 78, 81, 86, 90, 90, 91,
+  89, 90, 92, 91, 87, 86, 90, 91, 89, 92, 87, 87, 93, 94, 89, 85,
+  87, 87, 94, 100, 99, 93, 86, 89, 90, 95, 95, 95, 97, 98, 97, 95,
+  92, 101, 106, 107, 108, 112, 119, 125, 124, 135, 143, 158, 161, 162, 178, 193,
+  189, 210, 193, 68, 33, 68, 75, 97, 82, 85, 114, 101, 120, 255, 255, 229,
+  220, 234, 209, 148, 36, 48, 57, 41, 51, 32, 41, 46, 43, 40, 40, 42,
+  43, 41, 39, 42, 42, 42, 42, 42, 42, 42, 42, 37, 40, 43, 43, 41,
+  41, 45, 49, 46, 49, 49, 48, 56, 68, 79, 79, 80, 85, 88, 86, 86,
+  92, 96, 93, 95, 95, 95, 92, 89, 89, 90, 93, 96, 91, 90, 99, 100,
+  96, 95, 103, 88, 95, 90, 86, 90, 87, 90, 99, 97, 98, 96, 93, 96,
+  101, 99, 94, 100, 106, 112, 115, 115, 120, 130, 137, 141, 143, 150, 159, 170,
+  181, 188, 194, 213, 220, 107, 58, 45, 69, 89, 82, 93, 98, 103, 137, 255,
+  255, 228, 216, 232, 199, 91, 26, 39, 45, 37, 50, 46, 46, 46, 44, 43,
+  44, 47, 48, 46, 44, 42, 42, 42, 42, 42, 42, 42, 42, 40, 41, 40,
+  39, 39, 41, 45, 46, 45, 46, 49, 52, 63, 76, 85, 86, 80, 82, 84,
+  82, 86, 94, 98, 98, 89, 89, 87, 86, 86, 86, 89, 89, 94, 90, 90,
+  92, 94, 92, 90, 90, 89, 96, 94, 91, 95, 91, 88, 98, 99, 100, 98,
+  95, 95, 99, 97, 92, 99, 106, 112, 115, 120, 122, 129, 133, 128, 130, 139,
+  151, 161, 172, 180, 183, 180, 207, 157, 116, 47, 46, 92, 98, 105, 93, 100,
+  147, 255, 255, 227, 216, 229, 177, 51, 39, 43, 44, 40, 46, 51, 43, 41,
+  40, 41, 43, 46, 46, 44, 42, 42, 42, 42, 42, 42, 42, 42, 42, 43,
+  42, 39, 38, 39, 43, 45, 48, 51, 51, 54, 59, 70, 83, 85, 83, 98,
+  94, 90, 86, 89, 95, 97, 95, 98, 96, 92, 91, 93, 95, 96, 94, 101,
+  101, 99, 95, 98, 100, 97, 90, 87, 94, 94, 94, 101, 96, 93, 99, 98,
+  100, 98, 95, 94, 98, 96, 92, 99, 103, 109, 114, 121, 123, 126, 127, 136,
+  141, 152, 163, 174, 184, 192, 197, 211, 207, 176, 138, 46, 34, 94, 102, 107,
+  82, 99, 156, 255, 247, 229, 221, 227, 147, 36, 54, 43, 47, 48, 39, 50,
+  40, 39, 40, 42, 44, 45, 44, 41, 40, 42, 42, 42, 42, 42, 42, 42,
+  42, 41, 40, 39, 40, 43, 46, 50, 51, 52, 54, 57, 64, 75, 86, 87,
+  83, 101, 96, 91, 89, 92, 95, 93, 91, 99, 93, 85, 82, 85, 89, 91,
+  89, 91, 95, 92, 86, 90, 96, 93, 81, 87, 93, 93, 92, 101, 99, 97,
+  103, 95, 100, 98, 96, 96, 97, 97, 94, 98, 99, 103, 111, 118, 124, 127,
+  126, 138, 141, 149, 160, 172, 185, 195, 199, 215, 203, 187, 164, 84, 46, 70,
+  65, 102, 82, 118, 198, 255, 228, 232, 227, 226, 115, 27, 47, 28, 43, 53,
+  34, 48, 45, 46, 47, 49, 49, 48, 45, 43, 41, 42, 42, 42, 42, 42,
+  42, 42, 42, 42, 42, 41, 42, 42, 45, 48, 48, 44, 50, 57, 67, 80,
+  91, 93, 91, 87, 84, 86, 92, 98, 99, 95, 93, 96, 89, 79, 76, 81,
+  87, 93, 93, 90, 95, 94, 89, 93, 100, 99, 89, 94, 97, 93, 90, 99,
+  98, 97, 103, 94, 98, 98, 96, 96, 100, 100, 98, 101, 100, 101, 107, 114,
+  121, 125, 126, 135, 138, 143, 153, 165, 181, 196, 203, 206, 208, 200, 165, 95,
+  34, 51, 79, 96, 97, 157, 255, 255, 228, 232, 229, 225, 89, 35, 42, 25,
+  42, 52, 34, 46, 47, 46, 48, 49, 48, 45, 42, 41, 41, 42, 42, 42,
+  42, 42, 42, 42, 42, 43, 45, 45, 43, 39, 40, 44, 45, 52, 59, 67,
+  73, 81, 88, 89, 90, 93, 92, 94, 100, 101, 96, 88, 84, 78, 74, 68,
+  67, 73, 80, 86, 88, 90, 94, 98, 95, 97, 99, 101, 98, 96, 97, 91,
+  88, 97, 99, 97, 101, 95, 100, 102, 98, 97, 100, 101, 100, 103, 103, 105,
+  105, 110, 113, 119, 122, 130, 133, 136, 143, 157, 172, 188, 196, 211, 207, 201,
+  155, 87, 25, 47, 90, 84, 105, 188, 255, 255, 231, 230, 226, 224, 74, 44,
+  43, 38, 45, 46, 40, 46, 44, 44, 45, 46, 45, 41, 39, 40, 42, 42,
+  42, 42, 42, 42, 42, 42, 42, 45, 48, 47, 44, 38, 40, 51, 59, 70,
+  78, 84, 83, 83, 82, 84, 86, 99, 98, 97, 98, 90, 76, 65, 61, 46,
+  46, 45, 45, 50, 53, 56, 60, 65, 67, 72, 74, 73, 69, 73, 78, 80,
+  83, 80, 81, 94, 98, 96, 100, 100, 104, 105, 100, 97, 99, 101, 100, 100,
+  102, 105, 102, 102, 100, 103, 106, 105, 107, 107, 111, 118, 128, 140, 147, 158,
+  154, 199, 182, 112, 42, 45, 49, 65, 93, 197, 255, 255, 234, 227, 222, 223,
+  69, 35, 35, 43, 42, 39, 47, 52, 45, 46, 48, 49, 47, 44, 43, 46,
+  48, 42, 42, 42, 42, 42, 42, 42, 42, 43, 47, 49, 43, 39, 44, 61,
+  74, 71, 82, 90, 90, 86, 86, 88, 93, 83, 84, 84, 83, 72, 55, 46,
+  44, 45, 50, 52, 53, 51, 51, 50, 52, 53, 52, 58, 64, 60, 51, 57,
+  67, 59, 65, 66, 74, 92, 98, 97, 101, 104, 109, 108, 104, 98, 98, 99,
+  98, 94, 98, 103, 100, 94, 89, 89, 90, 93, 92, 90, 90, 92, 96, 100,
+  103, 104, 98, 188, 189, 102, 39, 62, 53, 55, 80, 197, 255, 255, 232, 221,
+  220, 220, 97, 39, 29, 45, 44, 40, 48, 45, 44, 41, 41, 42, 42, 42,
+  41, 40, 39, 42, 42, 42, 43, 43, 44, 44, 44, 43, 38, 41, 46, 42,
+  43, 60, 80, 79, 91, 97, 92, 86, 83, 74, 69, 94, 91, 75, 58, 52,
+  55, 56, 51, 58, 53, 46, 45, 49, 55, 54, 52, 46, 44, 46, 49, 52,
+  50, 52, 54, 59, 51, 50, 57, 70, 80, 90, 96, 106, 105, 101, 99, 101,
+  108, 109, 106, 97, 96, 94, 87, 80, 75, 76, 77, 77, 75, 70, 65, 59,
+  60, 64, 67, 83, 78, 135, 165, 125, 71, 42, 51, 68, 90, 185, 255, 255,
+  231, 223, 222, 223, 104, 36, 28, 46, 45, 41, 49, 47, 49, 42, 42, 42,
+  41, 41, 40, 40, 40, 42, 42, 42, 43, 43, 44, 44, 44, 44, 36, 35,
+  44, 50, 54, 67, 82, 80, 86, 90, 89, 88, 85, 82, 81, 63, 64, 58,
+  53, 56, 65, 70, 68, 75, 70, 64, 61, 62, 61, 58, 56, 56, 54, 51,
+  53, 51, 48, 47, 51, 66, 62, 59, 65, 71, 76, 82, 89, 101, 100, 98,
+  95, 98, 102, 103, 99, 93, 89, 82, 72, 64, 58, 57, 60, 49, 51, 51,
+  47, 46, 45, 48, 51, 52, 55, 109, 144, 128, 93, 53, 40, 79, 98, 188,
+  255, 255, 231, 224, 222, 223, 110, 37, 31, 50, 48, 40, 47, 47, 51, 44,
+  43, 41, 40, 40, 40, 41, 42, 42, 42, 42, 42, 43, 43, 43, 41, 44,
+  32, 31, 45, 60, 68, 79, 87, 94, 88, 88, 89, 87, 81, 75, 76, 69,
+  74, 75, 76, 82, 90, 95, 94, 98, 98, 97, 96, 97, 94, 92, 91, 91,
+  88, 82, 82, 78, 74, 74, 77, 74, 72, 71, 75, 75, 76, 80, 87, 98,
+  99, 99, 96, 98, 103, 100, 95, 100, 91, 79, 68, 61, 58, 58, 57, 45,
+  49, 53, 56, 57, 58, 62, 64, 70, 77, 114, 139, 151, 136, 79, 43, 77,
+  103, 203, 255, 255, 231, 226, 220, 219, 114, 42, 37, 56, 51, 39, 43, 43,
+  48, 45, 44, 41, 39, 39, 40, 42, 43, 42, 42, 42, 42, 42, 42, 42,
+  41, 39, 32, 36, 48, 65, 75, 84, 90, 98, 88, 84, 89, 87, 78, 69,
+  70, 74, 80, 84, 88, 92, 94, 95, 93, 94, 97, 101, 102, 101, 98, 95,
+  93, 92, 87, 84, 82, 81, 79, 81, 84, 74, 71, 73, 75, 75, 75, 81,
+  90, 95, 99, 99, 98, 97, 100, 96, 91, 88, 78, 67, 59, 56, 55, 55,
+  53, 50, 55, 61, 66, 70, 74, 79, 81, 86, 100, 117, 128, 155, 153, 85,
+  40, 71, 102, 255, 255, 255, 230, 229, 219, 219, 123, 43, 38, 57, 51, 40,
+  43, 43, 48, 46, 44, 42, 40, 39, 41, 42, 44, 42, 42, 42, 42, 42,
+  42, 42, 38, 35, 34, 43, 55, 66, 73, 83, 90, 91, 82, 82, 91, 94,
+  85, 78, 80, 76, 81, 88, 94, 97, 95, 92, 91, 88, 91, 93, 92, 89,
+  82, 77, 76, 78, 73, 71, 70, 71, 69, 72, 76, 72, 69, 70, 71, 72,
+  72, 80, 89, 88, 94, 95, 93, 91, 92, 90, 86, 85, 77, 69, 64, 63,
+  62, 61, 59, 62, 66, 72, 78, 83, 88, 94, 99, 89, 110, 124, 131, 165,
+  151, 73, 37, 75, 127, 255, 255, 255, 228, 232, 221, 222, 135, 40, 34, 52,
+  49, 41, 47, 47, 50, 45, 44, 43, 41, 41, 41, 42, 43, 42, 42, 42,
+  42, 41, 41, 41, 38, 36, 40, 53, 63, 68, 75, 85, 91, 93, 91, 92,
+  98, 98, 90, 86, 85, 91, 95, 99, 103, 100, 92, 87, 87, 82, 83, 84,
+  84, 85, 81, 77, 74, 75, 73, 69, 71, 70, 69, 69, 73, 76, 72, 74,
+  77, 78, 79, 83, 90, 90, 95, 96, 94, 90, 91, 90, 87, 90, 84, 80,
+  72, 70, 67, 67, 66, 67, 70, 76, 80, 85, 90, 95, 99, 93, 120, 139,
+  154, 183, 139, 48, 31, 76, 146, 255, 255, 255, 228, 234, 221, 222, 142, 40,
+  32, 49, 47, 42, 49, 47, 49, 44, 44, 43, 43, 43, 42, 42, 42, 42,
+  42, 42, 41, 41, 40, 40, 37, 39, 46, 59, 70, 75, 83, 89, 92, 96,
+  101, 101, 98, 93, 93, 92, 88, 91, 89, 92, 91, 82, 69, 63, 63, 61,
+  59, 60, 63, 66, 68, 66, 65, 62, 59, 59, 62, 62, 60, 60, 64, 78,
+  74, 78, 85, 90, 87, 86, 87, 93, 99, 102, 96, 91, 92, 92, 90, 76,
+  72, 67, 57, 53, 51, 55, 58, 51, 55, 62, 67, 67, 69, 72, 72, 81,
+  106, 126, 154, 181, 107, 11, 22, 84, 149, 255, 255, 255, 246, 232, 219, 217,
+  141, 44, 34, 49, 47, 42, 49, 42, 42, 41, 42, 42, 42, 42, 43, 42,
+  41, 42, 42, 42, 41, 39, 38, 38, 35, 43, 49, 61, 73, 82, 91, 95,
+  94, 87, 96, 98, 92, 89, 97, 100, 99, 85, 85, 86, 87, 78, 65, 61,
+  64, 67, 64, 59, 60, 64, 65, 61, 57, 55, 54, 56, 59, 62, 60, 61,
+  63, 68, 66, 73, 84, 92, 89, 84, 82, 92, 97, 99, 93, 89, 90, 91,
+  90, 76, 74, 65, 56, 49, 49, 58, 65, 52, 57, 66, 71, 70, 69, 68,
+  69, 73, 92, 112, 152, 182, 100, 10, 43, 102, 188, 255, 255, 255, 255, 224,
+  219, 207, 157, 50, 28, 38, 45, 46, 52, 43, 44, 37, 35, 37, 38, 40,
+  39, 38, 36, 40, 40, 39, 40, 40, 40, 38, 34, 36, 54, 70, 76, 82,
+  93, 94, 90, 88, 96, 101, 98, 94, 97, 97, 96, 92, 90, 83, 76, 67,
+  64, 66, 70, 55, 56, 57, 59, 57, 54, 49, 46, 52, 64, 68, 60, 59,
+  64, 65, 59, 70, 72, 76, 82, 88, 92, 94, 93, 85, 96, 104, 93, 86,
+  103, 113, 103, 89, 66, 54, 52, 50, 55, 58, 51, 50, 57, 67, 70, 75,
+  91, 91, 67, 67, 72, 124, 167, 160, 90, 19, 48, 111, 147, 255, 255, 255,
+  255, 208, 219, 223, 180, 37, 28, 49, 54, 44, 41, 36, 41, 36, 33, 34,
+  36, 38, 39, 40, 40, 38, 39, 38, 39, 39, 36, 35, 29, 34, 50, 69,
+  74, 83, 94, 96, 93, 89, 94, 96, 91, 90, 90, 90, 88, 86, 83, 76,
+  74, 70, 68, 63, 61, 51, 55, 57, 55, 46, 39, 37, 35, 70, 90, 102,
+  84, 61, 53, 58, 62, 67, 70, 74, 80, 86, 90, 91, 90, 89, 90, 96,
+  96, 106, 123, 123, 97, 72, 48, 47, 52, 37, 35, 40, 34, 44, 37, 44,
+  58, 75, 95, 105, 99, 63, 75, 127, 161, 146, 49, 9, 61, 131, 153, 255,
+  255, 255, 255, 217, 221, 214, 158, 41, 30, 50, 54, 44, 42, 35, 39, 35,
+  35, 35, 35, 37, 39, 43, 44, 39, 40, 42, 41, 40, 36, 34, 29, 39,
+  53, 73, 77, 84, 93, 95, 93, 93, 94, 93, 89, 89, 88, 86, 82, 81,
+  77, 71, 71, 70, 67, 58, 50, 43, 50, 56, 56, 48, 44, 47, 49, 73,
+  94, 106, 87, 61, 50, 54, 59, 65, 67, 75, 81, 87, 88, 89, 86, 89,
+  86, 92, 98, 113, 134, 138, 118, 78, 46, 52, 65, 40, 30, 38, 31, 36,
+  43, 66, 79, 71, 70, 89, 106, 85, 97, 139, 173, 160, 32, 26, 97, 138,
+  157, 255, 255, 255, 255, 247, 229, 203, 128, 56, 31, 39, 45, 47, 52, 40,
+  39, 35, 35, 38, 38, 41, 41, 44, 45, 42, 44, 46, 47, 44, 41, 38,
+  30, 49, 62, 80, 83, 87, 91, 92, 92, 94, 91, 88, 86, 88, 87, 83,
+  80, 81, 79, 75, 74, 71, 65, 56, 48, 53, 59, 64, 64, 65, 65, 67,
+  69, 69, 75, 78, 71, 65, 63, 64, 60, 66, 69, 77, 82, 87, 87, 87,
+  85, 81, 84, 95, 97, 100, 126, 154, 164, 101, 52, 48, 62, 42, 34, 40,
+  29, 40, 62, 95, 104, 82, 70, 75, 81, 91, 100, 135, 177, 176, 28, 38,
+  118, 171, 200, 255, 255, 255, 255, 255, 235, 215, 144, 57, 32, 40, 47, 48,
+  54, 42, 38, 34, 36, 43, 44, 45, 43, 44, 46, 46, 47, 48, 47, 46,
+  43, 40, 34, 54, 66, 85, 89, 91, 92, 94, 96, 91, 86, 84, 84, 87,
+  86, 83, 81, 85, 86, 84, 82, 76, 73, 69, 67, 79, 76, 75, 75, 78,
+  77, 74, 69, 72, 68, 64, 61, 64, 68, 70, 67, 69, 70, 77, 81, 85,
+  85, 85, 84, 82, 85, 96, 96, 93, 118, 160, 184, 139, 76, 49, 60, 57,
+  57, 57, 47, 57, 65, 82, 94, 101, 114, 106, 81, 89, 105, 144, 185, 186,
+  35, 44, 133, 172, 255, 255, 255, 255, 255, 255, 233, 221, 164, 49, 33, 51,
+  55, 46, 45, 37, 40, 38, 41, 49, 50, 47, 43, 43, 44, 45, 45, 46,
+  46, 44, 43, 40, 37, 55, 65, 85, 92, 94, 94, 97, 103, 97, 92, 92,
+  93, 95, 92, 91, 93, 89, 91, 91, 90, 86, 83, 86, 88, 93, 86, 81,
+  81, 86, 86, 82, 76, 76, 76, 72, 65, 60, 60, 67, 72, 73, 73, 77,
+  79, 83, 84, 84, 82, 91, 85, 91, 94, 97, 117, 153, 173, 164, 105, 59,
+  57, 69, 74, 69, 64, 66, 69, 73, 80, 98, 131, 144, 127, 97, 121, 160,
+  194, 191, 58, 49, 146, 157, 255, 255, 255, 255, 255, 255, 228, 224, 180, 64,
+  45, 54, 53, 43, 45, 39, 43, 42, 45, 51, 51, 47, 43, 43, 45, 48,
+  48, 45, 44, 43, 43, 45, 41, 55, 64, 85, 93, 94, 93, 97, 104, 103,
+  98, 99, 100, 99, 94, 96, 101, 92, 91, 90, 92, 91, 89, 89, 87, 87,
+  83, 83, 83, 86, 88, 87, 84, 77, 78, 78, 70, 63, 63, 71, 79, 81,
+  80, 82, 82, 84, 85, 86, 86, 93, 84, 88, 92, 94, 110, 145, 166, 169,
+  131, 76, 56, 68, 66, 58, 65, 74, 76, 83, 90, 98, 124, 151, 154, 119,
+  131, 155, 183, 192, 96, 55, 143, 177, 255, 255, 255, 255, 255, 255, 222, 234,
+  210, 93, 55, 46, 40, 42, 52, 48, 48, 46, 50, 51, 49, 44, 40, 43,
+  47, 49, 50, 46, 45, 44, 46, 49, 45, 58, 66, 86, 93, 93, 89, 92,
+  100, 99, 96, 97, 98, 94, 88, 91, 98, 95, 91, 87, 88, 90, 87, 81,
+  73, 77, 79, 78, 77, 75, 77, 78, 79, 78, 73, 73, 74, 78, 82, 86,
+  88, 89, 87, 87, 87, 89, 90, 91, 92, 90, 83, 88, 90, 82, 98, 141,
+  174, 194, 174, 118, 82, 87, 78, 66, 81, 85, 71, 79, 100, 115, 132, 144,
+  145, 163, 153, 157, 188, 219, 155, 85, 154, 170, 255, 255, 255, 255, 255, 255,
+  226, 218, 209, 113, 41, 42, 41, 50, 42, 51, 41, 54, 57, 62, 57, 48,
+  39, 40, 48, 51, 45, 44, 47, 46, 45, 49, 52, 62, 59, 77, 90, 95,
+  101, 103, 98, 91, 97, 95, 92, 99, 95, 90, 95, 84, 81, 86, 86, 80,
+  84, 85, 73, 73, 78, 81, 80, 76, 76, 76, 77, 78, 77, 80, 80, 82,
+  83, 85, 83, 95, 93, 90, 87, 86, 88, 91, 93, 89, 86, 84, 92, 97,
+  97, 123, 165, 195, 181, 142, 106, 90, 80, 69, 70, 85, 82, 91, 108, 119,
+  124, 132, 145, 154, 143, 168, 176, 226, 192, 91, 156, 165, 255, 255, 255, 255,
+  255, 255, 226, 220, 213, 116, 36, 34, 40, 51, 42, 46, 36, 38, 41, 47,
+  48, 44, 40, 44, 50, 49, 45, 44, 46, 46, 44, 47, 48, 55, 63, 80,
+  86, 91, 94, 100, 110, 99, 106, 105, 103, 109, 103, 95, 98, 95, 90, 92,
+  90, 82, 84, 84, 72, 73, 73, 73, 70, 69, 71, 79, 84, 82, 82, 83,
+  85, 86, 88, 87, 87, 89, 88, 87, 87, 88, 90, 92, 94, 96, 94, 93,
+  98, 103, 100, 125, 170, 197, 186, 149, 110, 97, 93, 96, 105, 94, 85, 88,
+  100, 113, 123, 137, 154, 151, 143, 155, 165, 222, 211, 120, 136, 161, 255, 255,
+  255, 255, 255, 255, 255, 222, 217, 133, 42, 27, 39, 50, 44, 48, 45, 56,
+  57, 59, 56, 51, 46, 48, 50, 45, 44, 45, 46, 44, 42, 43, 43, 53,
+  70, 77, 79, 94, 94, 94, 111, 96, 103, 105, 104, 111, 105, 97, 99, 104,
+  98, 99, 95, 86, 88, 89, 77, 75, 75, 75, 74, 73, 74, 79, 82, 82,
+  82, 83, 84, 85, 85, 86, 87, 86, 87, 88, 90, 91, 91, 92, 91, 90,
+  92, 94, 98, 102, 99, 124, 164, 189, 194, 172, 137, 121, 111, 105, 104, 102,
+  96, 97, 105, 116, 123, 137, 152, 150, 155, 161, 173, 223, 231, 169, 142, 158,
+  255, 255, 255, 255, 255, 255, 255, 220, 216, 155, 54, 27, 39, 44, 47, 58,
+  67, 91, 90, 86, 75, 66, 59, 54, 50, 40, 44, 46, 46, 45, 42, 43,
+  41, 55, 74, 74, 78, 105, 101, 86, 100, 89, 97, 98, 99, 108, 105, 100,
+  104, 106, 100, 101, 99, 93, 97, 100, 90, 84, 86, 89, 90, 87, 82, 77,
+  73, 79, 79, 79, 80, 81, 81, 82, 82, 89, 90, 91, 92, 92, 90, 88,
+  87, 82, 85, 90, 94, 97, 96, 119, 156, 185, 199, 184, 154, 134, 122, 105,
+  97, 107, 104, 110, 120, 124, 126, 130, 136, 128, 151, 163, 181, 206, 219, 195,
+  150, 158, 255, 255, 255, 255, 255, 255, 255, 221, 220, 159, 61, 28, 43, 37,
+  45, 59, 77, 98, 97, 93, 79, 68, 61, 55, 48, 37, 44, 47, 45, 43,
+  41, 44, 43, 43, 73, 85, 90, 111, 101, 84, 99, 95, 101, 100, 99, 108,
+  108, 106, 112, 108, 103, 105, 104, 99, 105, 108, 98, 95, 95, 96, 96, 92,
+  86, 79, 74, 80, 80, 80, 81, 81, 82, 84, 85, 92, 93, 94, 94, 94,
+  93, 91, 88, 88, 91, 94, 97, 99, 97, 114, 145, 189, 204, 186, 150, 133,
+  130, 119, 111, 105, 107, 113, 120, 124, 124, 124, 125, 127, 150, 169, 193, 202,
+  214, 211, 164, 156, 255, 255, 255, 255, 255, 255, 255, 245, 226, 153, 62, 28,
+  42, 32, 48, 59, 76, 100, 102, 97, 80, 66, 56, 51, 44, 38, 46, 49,
+  44, 41, 40, 44, 43, 32, 71, 101, 106, 107, 92, 89, 111, 101, 105, 102,
+  99, 107, 106, 104, 111, 112, 107, 109, 108, 102, 106, 108, 97, 102, 98, 93,
+  89, 88, 87, 86, 85, 84, 84, 85, 86, 87, 88, 91, 91, 90, 89, 89,
+  90, 91, 93, 94, 96, 95, 96, 96, 95, 99, 93, 105, 128, 184, 209, 198,
+  160, 138, 131, 116, 104, 103, 104, 104, 108, 113, 118, 122, 125, 143, 157, 176,
+  198, 210, 228, 222, 173, 153, 255, 255, 255, 255, 255, 255, 255, 255, 228, 162,
+  71, 24, 35, 25, 58, 71, 83, 103, 109, 105, 84, 66, 56, 51, 44, 44,
+  51, 52, 43, 37, 36, 41, 42, 48, 74, 105, 110, 101, 92, 96, 109, 98,
+  104, 101, 99, 107, 105, 101, 107, 114, 110, 113, 112, 105, 108, 106, 95, 105,
+  99, 92, 89, 89, 90, 90, 89, 83, 84, 87, 88, 90, 91, 92, 93, 92,
+  90, 88, 86, 87, 91, 95, 96, 94, 94, 91, 91, 98, 93, 99, 116, 161,
+  202, 206, 166, 134, 121, 105, 94, 102, 102, 101, 102, 105, 113, 120, 124, 134,
+  152, 177, 180, 192, 223, 209, 162, 154, 255, 255, 255, 255, 255, 255, 255, 255,
+  226, 182, 84, 24, 28, 20, 67, 85, 99, 98, 107, 106, 86, 69, 62, 58,
+  54, 49, 55, 55, 42, 34, 34, 39, 38, 75, 78, 95, 104, 100, 99, 102,
+  96, 97, 104, 102, 105, 112, 109, 105, 110, 111, 108, 112, 112, 106, 109, 107,
+  95, 103, 100, 98, 97, 97, 94, 89, 85, 78, 81, 82, 84, 86, 88, 89,
+  90, 94, 90, 87, 80, 80, 84, 91, 92, 93, 93, 89, 92, 101, 101, 102,
+  118, 144, 189, 193, 148, 112, 108, 109, 111, 103, 104, 105, 105, 108, 114, 117,
+  119, 130, 163, 197, 179, 183, 223, 204, 167, 156, 255, 255, 255, 255, 255, 255,
+  255, 255, 243, 219, 163, 56, 24, 28, 33, 83, 104, 102, 94, 83, 72, 76,
+  93, 87, 58, 69, 57, 54, 52, 47, 36, 47, 63, 83, 86, 91, 97, 101,
+  102, 102, 100, 100, 103, 104, 103, 104, 108, 109, 106, 110, 111, 108, 103, 104,
+  109, 113, 112, 110, 106, 103, 102, 102, 98, 91, 84, 90, 82, 75, 75, 80,
+  84, 82, 80, 80, 76, 76, 74, 77, 80, 82, 82, 92, 103, 100, 95, 106,
+  111, 104, 100, 125, 160, 181, 148, 96, 84, 97, 99, 83, 99, 84, 95, 101,
+  93, 115, 123, 128, 143, 168, 185, 195, 204, 192, 168, 146, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 225, 192, 105, 48, 29, 23, 56, 94, 104, 95, 90,
+  83, 84, 94, 84, 55, 82, 62, 49, 42, 40, 36, 55, 74, 99, 94, 94,
+  95, 96, 96, 94, 93, 99, 103, 104, 102, 104, 109, 110, 108, 103, 107, 109,
+  106, 105, 107, 109, 107, 109, 105, 104, 103, 103, 98, 92, 85, 84, 82, 80,
+  78, 78, 77, 75, 75, 75, 76, 77, 80, 82, 87, 90, 94, 90, 98, 94,
+  93, 105, 108, 100, 99, 115, 138, 176, 180, 129, 81, 75, 85, 74, 92, 87,
+  100, 105, 94, 107, 111, 127, 144, 172, 187, 191, 198, 189, 168, 155, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 223, 212, 150, 62, 24, 11, 34, 110, 116,
+  96, 80, 72, 70, 77, 79, 65, 80, 59, 43, 35, 35, 38, 60, 81, 102,
+  96, 92, 92, 95, 98, 98, 97, 98, 101, 102, 101, 103, 109, 111, 110, 102,
+  110, 115, 113, 111, 110, 111, 108, 111, 107, 104, 102, 103, 98, 90, 84, 77,
+  80, 80, 79, 76, 73, 71, 72, 79, 83, 85, 87, 86, 87, 90, 93, 97,
+  99, 94, 97, 109, 106, 99, 103, 112, 116, 148, 180, 168, 128, 94, 72, 72,
+  90, 91, 98, 104, 96, 104, 109, 115, 136, 166, 182, 191, 202, 200, 185, 150,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 217, 216, 187, 100, 53, 23, 16,
+  113, 116, 94, 80, 72, 66, 72, 75, 68, 64, 54, 46, 44, 42, 46, 67,
+  88, 102, 96, 92, 93, 98, 101, 101, 100, 96, 99, 100, 99, 102, 108, 111,
+  110, 102, 111, 116, 114, 110, 109, 110, 108, 111, 108, 104, 102, 101, 95, 89,
+  84, 70, 72, 75, 74, 75, 74, 74, 72, 80, 86, 91, 90, 86, 83, 86,
+  91, 98, 97, 94, 99, 106, 98, 95, 108, 108, 114, 128, 142, 156, 162, 128,
+  72, 74, 88, 89, 90, 97, 98, 106, 114, 107, 126, 152, 168, 180, 198, 201,
+  189, 190, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 218, 223, 167, 123,
+  57, 3, 81, 99, 91, 95, 100, 92, 88, 80, 66, 55, 54, 55, 54, 50,
+  55, 79, 101, 105, 100, 98, 99, 100, 100, 97, 94, 96, 99, 99, 96, 99,
+  105, 108, 107, 100, 106, 108, 104, 103, 104, 104, 103, 110, 108, 106, 102, 98,
+  92, 86, 82, 76, 70, 69, 72, 77, 78, 76, 73, 74, 79, 85, 85, 81,
+  79, 78, 83, 76, 83, 84, 89, 93, 87, 91, 110, 104, 117, 121, 109, 112,
+  135, 122, 76, 74, 86, 91, 84, 91, 97, 99, 109, 113, 121, 138, 149, 163,
+  183, 187, 172, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 224,
+  195, 165, 96, 19, 55, 91, 91, 101, 103, 96, 96, 92, 78, 58, 57, 56,
+  54, 50, 59, 83, 105, 94, 94, 98, 100, 101, 101, 100, 99, 97, 99, 97,
+  94, 95, 101, 103, 102, 103, 105, 103, 99, 101, 104, 104, 101, 108, 106, 104,
+  99, 93, 87, 82, 79, 81, 76, 72, 73, 79, 81, 77, 70, 72, 74, 75,
+  70, 64, 58, 55, 55, 55, 68, 72, 76, 83, 85, 93, 113, 109, 95, 87,
+  89, 98, 111, 102, 72, 68, 81, 94, 84, 90, 97, 86, 96, 113, 119, 132,
+  142, 158, 181, 187, 175, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  212, 213, 195, 182, 130, 52, 43, 87, 91, 96, 91, 86, 98, 106, 96, 75,
+  70, 64, 61, 59, 68, 83, 98, 83, 87, 94, 97, 97, 98, 102, 105, 98,
+  99, 97, 92, 92, 96, 98, 97, 109, 108, 104, 102, 104, 108, 107, 101, 105,
+  104, 100, 94, 89, 83, 78, 76, 78, 77, 78, 81, 84, 82, 78, 74, 73,
+  70, 68, 64, 58, 53, 48, 45, 53, 65, 66, 67, 81, 92, 99, 110, 109,
+  72, 58, 78, 100, 106, 92, 67, 69, 79, 94, 81, 87, 100, 88, 100, 107,
+  116, 133, 144, 158, 183, 192, 181, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 218, 218, 207, 200, 159, 72, 21, 72, 86, 101, 96, 91, 105, 110,
+  94, 92, 86, 78, 77, 78, 83, 89, 91, 86, 92, 97, 96, 91, 89, 93,
+  99, 99, 100, 96, 91, 89, 93, 95, 93, 106, 104, 100, 99, 104, 107, 103,
+  94, 102, 101, 97, 90, 85, 78, 74, 73, 69, 75, 83, 87, 88, 85, 83,
+  81, 69, 68, 68, 67, 69, 69, 68, 66, 56, 66, 62, 61, 79, 96, 98,
+  99, 92, 71, 66, 76, 83, 88, 82, 64, 72, 79, 93, 75, 84, 106, 100,
+  117, 101, 115, 135, 145, 152, 171, 180, 171, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 209, 218, 203, 175, 58, 21, 29, 74, 124, 100, 94,
+  106, 98, 104, 94, 94, 90, 88, 90, 92, 94, 92, 90, 89, 89, 92, 95,
+  95, 91, 87, 90, 94, 95, 90, 87, 90, 90, 88, 90, 92, 97, 98, 99,
+  99, 103, 104, 91, 92, 91, 74, 60, 71, 81, 71, 83, 84, 84, 81, 81,
+  80, 80, 79, 81, 76, 71, 68, 67, 69, 72, 75, 74, 71, 70, 73, 79,
+  82, 81, 79, 81, 83, 86, 87, 85, 81, 77, 72, 74, 70, 75, 83, 87,
+  89, 93, 102, 107, 103, 124, 129, 140, 161, 155, 148, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 216, 216, 209, 190, 89, 6, 31, 62, 101,
+  134, 96, 110, 85, 116, 94, 92, 91, 90, 93, 96, 98, 96, 98, 93, 88,
+  86, 88, 91, 92, 92, 89, 90, 91, 90, 88, 87, 88, 90, 82, 83, 88,
+  91, 94, 95, 96, 96, 86, 82, 80, 69, 60, 70, 81, 76, 87, 87, 86,
+  85, 85, 82, 82, 81, 80, 77, 73, 68, 67, 69, 71, 73, 74, 75, 77,
+  78, 78, 80, 82, 83, 82, 84, 87, 89, 89, 86, 82, 78, 76, 74, 77,
+  83, 84, 82, 85, 90, 99, 96, 119, 128, 140, 165, 161, 188, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 213, 216, 203, 135, 0, 18,
+  41, 88, 144, 101, 106, 86, 107, 94, 91, 91, 92, 94, 95, 95, 94, 96,
+  92, 88, 86, 87, 90, 93, 93, 95, 90, 90, 94, 91, 84, 85, 93, 87,
+  88, 89, 92, 97, 96, 92, 87, 80, 70, 67, 66, 63, 71, 81, 79, 86,
+  88, 87, 84, 83, 82, 82, 79, 78, 76, 74, 71, 70, 71, 72, 72, 73,
+  77, 80, 79, 76, 75, 79, 84, 83, 85, 89, 92, 93, 91, 88, 85, 79,
+  75, 76, 81, 82, 78, 81, 86, 92, 93, 118, 127, 138, 162, 160, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 209, 221, 207, 181,
+  21, 6, 24, 94, 128, 112, 100, 102, 90, 98, 92, 91, 92, 93, 91, 90,
+  89, 88, 87, 89, 92, 93, 93, 91, 90, 96, 87, 85, 92, 88, 77, 77,
+  88, 97, 94, 92, 93, 97, 93, 84, 77, 73, 60, 60, 67, 68, 72, 79,
+  80, 83, 83, 82, 81, 80, 77, 77, 77, 78, 76, 75, 74, 73, 72, 71,
+  71, 72, 74, 75, 73, 71, 71, 74, 77, 82, 85, 89, 92, 92, 91, 88,
+  85, 78, 74, 74, 76, 78, 77, 82, 89, 93, 94, 119, 126, 134, 157, 154,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207, 219,
+  201, 207, 60, 13, 24, 82, 131, 123, 105, 108, 92, 98, 91, 88, 91, 93,
+  89, 89, 90, 90, 89, 92, 92, 92, 90, 88, 87, 88, 78, 77, 83, 81,
+  71, 73, 84, 92, 89, 88, 88, 89, 84, 76, 68, 69, 59, 64, 74, 73,
+  75, 78, 75, 79, 81, 81, 79, 78, 78, 78, 76, 79, 79, 79, 76, 76,
+  75, 74, 73, 75, 72, 69, 69, 71, 73, 73, 72, 82, 84, 88, 90, 90,
+  88, 85, 81, 79, 73, 69, 68, 70, 72, 79, 89, 91, 92, 115, 122, 132,
+  154, 147, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  240, 216, 198, 209, 90, 18, 22, 45, 140, 120, 107, 91, 100, 95, 86, 86,
+  92, 94, 94, 97, 100, 100, 96, 92, 87, 84, 83, 86, 89, 83, 78, 77,
+  82, 81, 77, 81, 92, 84, 82, 83, 83, 83, 79, 74, 69, 68, 64, 71,
+  77, 74, 77, 79, 73, 80, 82, 82, 83, 81, 81, 82, 82, 83, 82, 82,
+  81, 78, 77, 77, 76, 79, 74, 69, 70, 74, 77, 77, 74, 81, 84, 87,
+  90, 90, 88, 84, 81, 84, 74, 69, 64, 63, 61, 70, 78, 84, 86, 110,
+  121, 134, 156, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 212, 201, 197, 96, 17, 24, 28, 117, 115, 106, 90, 100, 93,
+  82, 81, 89, 94, 93, 98, 106, 98, 95, 92, 87, 83, 83, 86, 90, 86,
+  85, 84, 82, 80, 81, 85, 91, 83, 84, 84, 82, 80, 76, 74, 72, 67,
+  69, 77, 75, 71, 79, 85, 75, 80, 82, 83, 84, 86, 87, 86, 86, 89,
+  88, 84, 83, 82, 82, 80, 80, 79, 77, 74, 73, 75, 77, 80, 81, 81,
+  84, 88, 92, 93, 92, 89, 86, 87, 78, 73, 68, 64, 59, 65, 70, 82,
+  81, 107, 122, 139, 161, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 241, 209, 188, 90, 13, 30, 40, 88, 125, 112, 112,
+  99, 99, 86, 80, 86, 89, 88, 93, 101, 85, 89, 94, 94, 92, 90, 91,
+  92, 88, 90, 87, 79, 75, 77, 80, 78, 83, 83, 84, 80, 74, 70, 67,
+  69, 67, 73, 79, 71, 63, 77, 88, 78, 79, 79, 81, 82, 84, 86, 87,
+  88, 91, 90, 86, 84, 83, 84, 84, 85, 76, 77, 78, 75, 73, 74, 80,
+  84, 81, 84, 89, 93, 95, 95, 93, 92, 87, 84, 78, 76, 71, 66, 66,
+  70, 85, 82, 110, 125, 145, 166, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 209, 212, 78, 20, 27, 33, 41, 65,
+  100, 115, 110, 93, 91, 76, 78, 103, 78, 98, 94, 90, 89, 89, 89, 90,
+  91, 91, 92, 85, 91, 89, 78, 77, 86, 90, 85, 85, 90, 92, 82, 71,
+  66, 63, 62, 70, 69, 71, 72, 73, 73, 72, 70, 76, 77, 77, 79, 83,
+  85, 85, 84, 88, 93, 89, 87, 94, 90, 82, 84, 85, 81, 77, 74, 72,
+  71, 71, 69, 88, 92, 96, 93, 91, 93, 93, 93, 89, 84, 76, 71, 69,
+  69, 63, 61, 76, 87, 106, 128, 147, 152, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 218, 115, 53, 39, 31,
+  36, 47, 55, 58, 60, 55, 57, 48, 86, 104, 85, 85, 90, 93, 95, 94,
+  92, 89, 86, 85, 85, 82, 88, 88, 82, 84, 95, 101, 96, 72, 78, 88,
+  89, 82, 69, 58, 53, 57, 55, 55, 55, 58, 63, 67, 70, 70, 70, 70,
+  72, 77, 79, 78, 77, 83, 87, 82, 81, 92, 91, 86, 89, 76, 74, 74,
+  76, 78, 80, 81, 82, 85, 89, 89, 90, 91, 93, 88, 83, 89, 90, 84,
+  80, 77, 74, 71, 67, 78, 91, 113, 135, 152, 159, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 216, 155, 95,
+  56, 30, 33, 37, 28, 24, 31, 29, 33, 30, 93, 105, 94, 78, 93, 94,
+  98, 99, 95, 89, 84, 82, 82, 90, 94, 91, 84, 84, 91, 93, 87, 70,
+  72, 84, 94, 88, 67, 52, 49, 55, 53, 53, 52, 52, 53, 55, 57, 54,
+  54, 55, 58, 61, 63, 63, 62, 71, 74, 68, 65, 74, 72, 68, 71, 74,
+  74, 78, 81, 85, 88, 88, 89, 79, 83, 84, 88, 93, 96, 90, 85, 83,
+  85, 85, 82, 76, 71, 69, 67, 76, 90, 112, 134, 149, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211,
+  184, 131, 78, 34, 28, 35, 33, 30, 32, 31, 34, 40, 85, 99, 92, 78,
+  92, 91, 97, 100, 98, 92, 88, 87, 88, 95, 96, 91, 84, 81, 83, 80,
+  73, 82, 76, 81, 90, 83, 61, 50, 54, 56, 60, 66, 67, 65, 61, 57,
+  54, 48, 48, 50, 53, 56, 57, 57, 55, 57, 61, 57, 54, 63, 60, 55,
+  56, 59, 59, 61, 63, 64, 63, 60, 60, 51, 55, 61, 65, 68, 72, 70,
+  66, 73, 80, 82, 80, 74, 69, 67, 69, 86, 95, 117, 137, 148, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 198, 164, 109, 46, 18, 27, 40, 36, 25, 27, 34, 59, 68, 93,
+  84, 79, 86, 88, 93, 97, 96, 93, 89, 88, 89, 87, 87, 85, 82, 83,
+  85, 83, 77, 87, 78, 79, 86, 82, 63, 56, 61, 60, 65, 75, 79, 79,
+  77, 76, 76, 68, 66, 66, 66, 67, 66, 63, 60, 56, 62, 63, 64, 72,
+  69, 61, 62, 57, 57, 59, 60, 58, 57, 55, 54, 56, 64, 70, 64, 59,
+  58, 58, 59, 66, 72, 77, 76, 75, 75, 78, 82, 95, 105, 125, 143, 152,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 198, 184, 137, 70, 24, 24, 43, 39, 22, 20, 29, 66,
+  62, 95, 89, 83, 84, 89, 91, 91, 90, 89, 86, 84, 82, 87, 85, 84,
+  85, 88, 89, 86, 80, 79, 75, 79, 86, 85, 72, 64, 64, 75, 77, 81,
+  80, 79, 81, 86, 91, 90, 87, 83, 80, 79, 77, 73, 70, 75, 81, 80,
+  80, 85, 78, 67, 65, 70, 71, 73, 76, 76, 78, 79, 80, 90, 100, 102,
+  92, 78, 70, 67, 67, 60, 64, 67, 68, 73, 78, 86, 91, 90, 98, 117,
+  141, 187, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 235, 198, 163, 104, 54, 38, 44, 41, 27, 29,
+  29, 55, 67, 95, 98, 79, 89, 92, 90, 86, 86, 88, 87, 83, 79, 92,
+  88, 86, 88, 91, 89, 84, 78, 77, 76, 79, 81, 82, 77, 70, 65, 80,
+  82, 84, 81, 78, 79, 85, 92, 96, 93, 89, 86, 85, 85, 85, 84, 86,
+  90, 87, 84, 89, 82, 71, 70, 72, 70, 72, 74, 77, 80, 80, 82, 94,
+  103, 107, 101, 88, 78, 69, 65, 66, 66, 63, 64, 70, 78, 87, 92, 89,
+  97, 118, 151, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 181, 131, 80, 49, 37, 31,
+  24, 46, 30, 36, 66, 82, 100, 68, 91, 94, 89, 84, 85, 89, 91, 87,
+  82, 87, 83, 83, 88, 92, 92, 87, 81, 83, 82, 79, 73, 73, 75, 72,
+  66, 65, 72, 81, 83, 83, 84, 89, 94, 95, 92, 89, 88, 91, 95, 98,
+  99, 80, 85, 83, 83, 94, 93, 87, 89, 84, 81, 80, 79, 80, 79, 81,
+  82, 89, 97, 107, 109, 104, 97, 85, 77, 84, 77, 71, 69, 74, 83, 90,
+  93, 107, 114, 138, 177, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 236, 190, 146, 132, 75,
+  35, 24, 48, 34, 27, 38, 59, 78, 92, 92, 78, 88, 93, 97, 95, 90,
+  85, 83, 83, 76, 81, 82, 78, 80, 86, 88, 83, 82, 76, 75, 79, 84,
+  79, 70, 64, 79, 81, 83, 82, 83, 88, 93, 95, 93, 97, 91, 89, 98,
+  95, 90, 93, 93, 87, 89, 96, 96, 87, 87, 93, 84, 81, 83, 87, 85,
+  81, 79, 78, 89, 94, 102, 105, 99, 90, 88, 94, 89, 75, 78, 79, 72,
+  86, 100, 92, 110, 108, 143, 178, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 168,
+  154, 99, 55, 31, 37, 33, 30, 43, 62, 79, 91, 94, 80, 83, 86, 88,
+  89, 88, 87, 86, 86, 80, 83, 82, 79, 81, 87, 87, 81, 83, 79, 78,
+  79, 81, 77, 70, 66, 79, 82, 87, 88, 89, 89, 89, 88, 87, 91, 85,
+  82, 92, 90, 85, 90, 90, 85, 87, 94, 95, 88, 90, 97, 85, 81, 82,
+  87, 86, 84, 82, 85, 93, 95, 99, 104, 100, 91, 85, 85, 85, 71, 72,
+  76, 73, 88, 104, 99, 103, 112, 152, 203, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 185, 177, 137, 98, 64, 38, 31, 30, 46, 66, 79, 88, 93, 82, 82,
+  81, 81, 82, 84, 86, 85, 84, 83, 83, 80, 79, 82, 87, 86, 79, 76,
+  75, 76, 77, 79, 80, 79, 77, 78, 78, 82, 84, 85, 86, 86, 87, 88,
+  89, 85, 82, 90, 89, 88, 93, 91, 85, 84, 85, 80, 72, 75, 79, 75,
+  70, 70, 75, 77, 77, 78, 83, 92, 91, 94, 101, 101, 94, 85, 81, 88,
+  74, 73, 76, 79, 90, 102, 97, 98, 125, 170, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 190, 189, 169, 141, 99, 41, 32, 30, 48, 68, 78, 86, 90,
+  85, 88, 84, 79, 79, 81, 82, 80, 78, 82, 79, 76, 77, 81, 85, 84,
+  78, 75, 76, 77, 74, 76, 79, 82, 82, 83, 77, 75, 76, 80, 85, 92,
+  96, 90, 91, 86, 84, 92, 92, 91, 96, 91, 85, 82, 79, 73, 65, 67,
+  70, 70, 64, 63, 66, 69, 68, 73, 79, 89, 86, 88, 98, 102, 97, 88,
+  82, 81, 75, 74, 80, 87, 93, 100, 103, 98, 135, 185, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 235, 194, 187, 164, 119, 37, 35, 31, 49, 71, 78,
+  82, 87, 85, 90, 85, 80, 78, 79, 79, 77, 75, 77, 74, 73, 75, 79,
+  81, 81, 78, 80, 82, 80, 73, 72, 76, 78, 76, 88, 80, 77, 80, 84,
+  87, 93, 97, 87, 89, 83, 81, 91, 91, 87, 92, 88, 85, 83, 82, 80,
+  77, 79, 83, 76, 69, 66, 69, 69, 71, 77, 81, 89, 86, 87, 95, 99,
+  94, 86, 82, 67, 67, 72, 81, 92, 94, 100, 113, 105, 142, 211, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 193, 193, 175, 139, 54, 42, 35, 51,
+  71, 78, 80, 87, 84, 85, 82, 79, 78, 78, 79, 79, 78, 75, 73, 73,
+  76, 76, 75, 76, 78, 73, 75, 74, 69, 73, 81, 84, 81, 84, 76, 77,
+  84, 87, 83, 80, 80, 88, 90, 85, 84, 93, 92, 87, 91, 91, 90, 88,
+  85, 82, 79, 80, 80, 77, 71, 68, 71, 71, 74, 78, 85, 92, 91, 92,
+  95, 92, 85, 81, 81, 71, 77, 79, 83, 90, 87, 92, 112, 128, 155, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 235, 195, 178, 162, 83, 51,
+  40, 53, 72, 80, 81, 87, 85, 79, 79, 80, 78, 77, 77, 78, 79, 77,
+  76, 77, 78, 74, 69, 72, 77, 67, 70, 68, 65, 74, 86, 88, 81, 83,
+  74, 74, 83, 86, 79, 74, 73, 86, 89, 85, 85, 92, 89, 84, 86, 91,
+  91, 88, 82, 76, 72, 69, 67, 71, 64, 63, 67, 71, 74, 78, 86, 90,
+  93, 96, 95, 86, 77, 76, 85, 84, 92, 87, 86, 89, 82, 90, 123, 157,
+  168, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 174, 167,
+  98, 58, 43, 52, 71, 80, 81, 86, 86, 77, 79, 81, 79, 75, 73, 74,
+  77, 80, 79, 81, 81, 73, 65, 68, 78, 78, 78, 73, 66, 72, 81, 79,
+  67, 92, 78, 75, 83, 87, 83, 83, 88, 79, 83, 82, 79, 88, 84, 76,
+  77, 83, 85, 84, 80, 76, 73, 71, 68, 68, 63, 63, 68, 73, 77, 84,
+  91, 88, 94, 98, 95, 83, 75, 80, 92, 82, 93, 89, 87, 93, 92, 109,
+  149, 175, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 234,
+  193, 182, 135, 61, 50, 59, 74, 73, 72, 82, 87, 90, 82, 82, 83, 76,
+  76, 76, 66, 77, 74, 75, 78, 77, 73, 73, 73, 79, 81, 77, 71, 74,
+  84, 86, 78, 87, 87, 80, 81, 89, 84, 77, 82, 97, 93, 90, 81, 80,
+  84, 90, 94, 86, 79, 74, 79, 85, 84, 76, 67, 73, 68, 67, 68, 74,
+  85, 93, 98, 97, 98, 98, 95, 80, 69, 73, 82, 75, 91, 85, 95, 91,
+  89, 144, 175, 189, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 200, 194, 160, 86, 58, 54, 69, 74, 76, 82, 85, 84, 78, 79,
+  79, 73, 75, 78, 72, 72, 70, 71, 76, 77, 75, 76, 77, 78, 75, 72,
+  70, 74, 79, 80, 75, 78, 79, 75, 78, 89, 87, 82, 89, 86, 87, 86,
+  81, 81, 85, 90, 92, 93, 86, 81, 81, 84, 84, 79, 72, 68, 65, 67,
+  71, 80, 89, 98, 102, 102, 100, 101, 94, 83, 75, 81, 88, 80, 86, 95,
+  90, 97, 125, 156, 184, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 240, 214, 168, 126, 79, 56, 67, 75, 76, 82, 85, 79,
+  76, 79, 78, 70, 72, 78, 74, 70, 68, 69, 74, 75, 74, 75, 77, 81,
+  74, 72, 77, 83, 81, 79, 78, 76, 78, 75, 79, 91, 89, 86, 94, 81,
+  85, 86, 81, 81, 85, 88, 88, 93, 90, 85, 83, 83, 84, 83, 81, 69,
+  68, 73, 77, 83, 90, 95, 99, 105, 102, 100, 95, 86, 79, 86, 94, 93,
+  86, 106, 95, 114, 161, 168, 187, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 242, 180, 144, 90, 58, 66, 72, 73, 79,
+  88, 79, 77, 82, 82, 70, 69, 74, 70, 72, 69, 69, 72, 72, 70, 71,
+  72, 81, 71, 71, 81, 86, 80, 76, 79, 81, 84, 80, 83, 92, 89, 86,
+  95, 87, 91, 90, 81, 78, 82, 84, 81, 84, 86, 85, 81, 80, 82, 83,
+  82, 74, 75, 77, 79, 82, 87, 92, 94, 106, 104, 102, 96, 89, 84, 87,
+  93, 101, 92, 104, 113, 142, 176, 179, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 217, 114, 76, 62, 72, 74,
+  70, 75, 82, 76, 77, 84, 85, 74, 71, 73, 68, 71, 68, 67, 69, 69,
+  67, 68, 70, 75, 65, 68, 78, 81, 75, 72, 74, 81, 85, 83, 84, 91,
+  86, 85, 95, 93, 97, 93, 80, 76, 82, 85, 81, 79, 85, 87, 82, 79,
+  80, 80, 77, 79, 80, 80, 80, 80, 85, 90, 94, 103, 103, 102, 98, 92,
+  88, 87, 88, 97, 96, 95, 136, 167, 199, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 64, 51, 62,
+  78, 77, 71, 73, 76, 74, 74, 81, 83, 75, 74, 76, 69, 68, 64, 63,
+  66, 67, 66, 69, 71, 72, 66, 68, 74, 78, 75, 73, 72, 74, 78, 78,
+  80, 86, 83, 83, 94, 89, 95, 91, 78, 75, 84, 88, 84, 81, 88, 90,
+  83, 80, 82, 79, 72, 77, 78, 79, 79, 79, 83, 90, 96, 98, 101, 100,
+  96, 93, 92, 89, 85, 91, 100, 100, 155, 180, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  45, 64, 77, 71, 69, 76, 78, 80, 72, 74, 75, 69, 71, 73, 66, 66,
+  62, 61, 63, 63, 62, 64, 68, 71, 71, 71, 71, 76, 80, 76, 70, 71,
+  76, 75, 78, 86, 82, 81, 93, 82, 92, 91, 79, 77, 87, 89, 82, 81,
+  88, 87, 81, 81, 87, 86, 78, 76, 78, 82, 82, 80, 82, 88, 93, 94,
+  96, 94, 90, 91, 94, 92, 88, 103, 114, 134, 196, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 68, 61, 67, 84, 86, 88, 76, 72, 70, 64, 66, 69,
+  62, 71, 66, 63, 63, 61, 58, 59, 63, 65, 69, 68, 63, 69, 76, 74,
+  64, 73, 79, 78, 79, 86, 81, 80, 91, 77, 89, 90, 78, 76, 85, 85,
+  75, 75, 81, 79, 74, 78, 90, 92, 85, 77, 82, 87, 86, 84, 80, 83,
+  85, 91, 92, 89, 85, 88, 96, 97, 95, 119, 131, 170, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 192, 63, 74, 85, 86, 74, 67, 69, 71,
+  68, 65, 66, 64, 60, 66, 51, 60, 51, 60, 58, 57, 66, 68, 63, 62,
+  68, 74, 73, 70, 70, 78, 86, 88, 81, 78, 81, 76, 81, 84, 83, 80,
+  80, 84, 89, 83, 76, 73, 76, 77, 76, 81, 88, 77, 80, 86, 87, 84,
+  79, 82, 87, 94, 81, 110, 84, 96, 76, 107, 95, 137, 166, 200, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 195, 66, 64, 69, 77, 72, 74, 55, 59, 49, 60, 59, 62, 68, 69,
+  65, 64, 70, 76, 76, 69, 69, 75, 79, 78, 72, 72, 77, 78, 82, 86,
+  86, 84, 83, 84, 86, 75, 75, 79, 87, 88, 81, 78, 79, 83, 84, 84,
+  84, 84, 79, 78, 78, 73, 84, 86, 97, 105, 102, 105, 130, 144, 159, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 56, 42, 53, 54, 62,
+  65, 65, 62, 62, 66, 69, 70, 70, 71, 76, 76, 70, 65, 68, 74, 78,
+  80, 84, 86, 87, 85, 83, 82, 74, 76, 83, 91, 91, 84, 77, 75, 86,
+  83, 80, 80, 82, 81, 78, 75, 74, 90, 83, 96, 110, 101, 96, 136, 181,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 59,
+  58, 60, 61, 62, 62, 62, 62, 62, 61, 68, 71, 77, 75, 70, 66, 68,
+  73, 72, 73, 74, 77, 81, 82, 80, 79, 79, 78, 79, 80, 80, 78, 77,
+  77, 79, 79, 80, 76, 78, 81, 81, 77, 78, 80, 96, 94, 131, 127, 154,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 57, 60, 64, 65, 64, 64, 63, 62, 69, 76, 75, 73,
+  70, 71, 72, 68, 67, 67, 69, 73, 77, 80, 81, 80, 79, 77, 75, 75,
+  77, 79, 79, 73, 79, 82, 74, 72, 75, 78, 80, 82, 73, 101, 104, 122,
+  163, 229, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 190, 62, 61, 62, 63, 59, 65, 71,
+  70, 70, 71, 69, 66, 65, 65, 65, 65, 68, 73, 78, 82, 74, 77, 78,
+  77, 77, 79, 78, 75, 74, 82, 85, 73, 66, 69, 75, 76, 78, 79, 95,
+  123, 102, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 190, 61, 65, 66,
+  68, 67, 64, 67, 70, 68, 61, 62, 65, 67, 66, 66, 68, 73, 77, 69,
+  74, 76, 73, 74, 78, 77, 73, 75, 81, 81, 68, 65, 71, 74, 71, 69,
+  83, 89, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 69, 68, 64, 58, 63, 69, 68, 60, 57, 62, 66, 66, 62, 61, 64,
+  68, 67, 70, 68, 62, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 };
+/* Define image 'enemy8' of size 97x125x1x3 and type 'const unsigned char' */
+const unsigned char data_enemy8[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 198, 208, 206, 199, 200, 195,
+  188, 189, 205, 215, 221, 218, 213, 215, 220, 234, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 153, 141, 143, 154, 197, 205, 203, 197, 200,
+  196, 191, 192, 195, 208, 220, 222, 219, 217, 219, 220, 219, 214, 211, 226, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 214, 155, 160, 155, 163, 177, 188, 199, 198, 189,
+  189, 186, 184, 189, 210, 224, 226, 212, 214, 229, 224, 204, 225, 221, 218, 220,
+  225, 227, 228, 234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 225, 166, 172, 183, 197, 222, 168, 164, 193, 205, 204,
+  196, 196, 195, 195, 201, 201, 201, 216, 225, 209, 188, 198, 228, 210, 208, 207,
+  210, 216, 219, 219, 215, 212, 214, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 177, 215, 206, 192, 188, 185, 176, 173, 174, 160, 167,
+  162, 156, 162, 163, 161, 163, 177, 189, 191, 183, 194, 216, 208, 182, 207, 204,
+  204, 206, 210, 210, 208, 206, 199, 203, 206, 207, 210, 226, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 223, 192, 205, 210, 194, 188, 184, 183, 181, 183, 184, 182, 182, 183, 174,
+  172, 161, 156, 167, 169, 160, 155, 157, 155, 179, 208, 196, 165, 171, 208, 216,
+  214, 214, 215, 217, 218, 215, 213, 220, 214, 203, 191, 191, 200, 211, 215, 207,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213,
+  160, 169, 176, 176, 177, 186, 195, 202, 197, 191, 179, 170, 166, 167, 168, 170,
+  178, 174, 158, 153, 164, 166, 152, 141, 137, 141, 148, 158, 178, 194, 184, 162,
+  196, 198, 201, 207, 215, 220, 225, 227, 234, 228, 217, 203, 197, 198, 201, 199,
+  205, 204, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 139, 134, 157,
+  169, 169, 176, 182, 183, 186, 186, 178, 170, 177, 173, 166, 161, 162, 169, 177,
+  182, 176, 174, 159, 156, 170, 172, 157, 146, 135, 119, 129, 156, 161, 144, 149,
+  174, 169, 172, 177, 185, 194, 203, 212, 217, 217, 221, 224, 221, 217, 212, 203,
+  193, 200, 200, 200, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 97, 127, 147, 156,
+  163, 169, 177, 179, 177, 175, 180, 184, 179, 167, 166, 167, 167, 166, 168, 173,
+  178, 180, 160, 163, 155, 154, 168, 171, 160, 154, 161, 139, 128, 135, 143, 140,
+  137, 136, 174, 174, 176, 177, 181, 185, 192, 196, 202, 209, 214, 217, 221, 223,
+  222, 215, 198, 198, 200, 201, 204, 203, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 95, 117, 134, 142, 154,
+  169, 176, 175, 182, 176, 173, 180, 182, 174, 165, 161, 165, 167, 170, 172, 175,
+  174, 169, 163, 163, 180, 184, 166, 152, 154, 159, 159, 167, 156, 145, 137, 131,
+  130, 135, 144, 151, 174, 193, 190, 177, 173, 180, 186, 188, 191, 194, 196, 204,
+  215, 220, 218, 198, 195, 194, 196, 199, 203, 203, 219, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 188, 78, 119, 137, 149, 154,
+  164, 175, 178, 174, 179, 172, 171, 173, 172, 162, 155, 150, 142, 152, 158, 151,
+  139, 134, 141, 150, 165, 170, 165, 155, 151, 156, 159, 155, 146, 177, 181, 151,
+  128, 132, 135, 126, 124, 142, 157, 162, 163, 170, 178, 181, 198, 196, 190, 185,
+  188, 198, 205, 204, 206, 201, 198, 198, 199, 201, 201, 199, 198, 216, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 179, 27, 38, 81, 127, 143, 156, 162,
+  165, 172, 178, 177, 170, 174, 170, 167, 165, 160, 153, 149, 145, 147, 145, 146,
+  148, 150, 150, 149, 148, 151, 164, 170, 161, 146, 142, 155, 171, 154, 173, 185,
+  176, 150, 128, 124, 127, 131, 136, 144, 152, 161, 173, 179, 178, 183, 189, 192,
+  192, 193, 194, 190, 183, 203, 199, 196, 199, 204, 205, 203, 197, 197, 195, 194,
+  213, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 36, 44, 65, 107, 146, 156, 162,
+  166, 169, 173, 177, 172, 165, 162, 161, 157, 152, 148, 147, 149, 149, 143, 139,
+  142, 154, 162, 158, 146, 137, 144, 156, 169, 167, 152, 142, 153, 172, 172, 166,
+  170, 181, 174, 149, 134, 134, 127, 126, 127, 133, 145, 155, 162, 162, 169, 179,
+  191, 198, 200, 199, 194, 186, 192, 186, 185, 194, 208, 213, 208, 200, 197, 196,
+  195, 194, 213, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 179, 35, 43, 70, 107, 138, 154, 162,
+  166, 166, 166, 167, 169, 163, 156, 149, 149, 146, 141, 141, 146, 154, 156, 144,
+  147, 160, 165, 155, 141, 136, 140, 148, 145, 149, 158, 163, 158, 151, 147, 164,
+  174, 176, 172, 177, 179, 160, 131, 118, 120, 124, 128, 134, 142, 154, 162, 175,
+  180, 184, 183, 188, 196, 202, 203, 192, 181, 173, 179, 196, 211, 214, 209, 200,
+  197, 197, 196, 193, 189, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 25, 29, 34, 50, 91, 139, 159, 159,
+  164, 165, 164, 162, 161, 157, 152, 149, 150, 151, 149, 145, 149, 156, 161, 159,
+  152, 146, 150, 158, 158, 152, 149, 154, 141, 145, 147, 150, 151, 149, 146, 141,
+  159, 165, 175, 181, 180, 171, 155, 144, 137, 141, 144, 145, 140, 138, 152, 162,
+  167, 174, 181, 184, 185, 190, 193, 193, 202, 188, 174, 167, 177, 195, 212, 219,
+  203, 200, 199, 197, 194, 190, 208, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 174, 12, 18, 23, 41, 75, 118, 152, 163,
+  159, 154, 155, 155, 154, 152, 147, 145, 146, 155, 157, 156, 154, 157, 160, 156,
+  148, 133, 119, 118, 137, 155, 159, 154, 154, 144, 158, 162, 149, 136, 137, 149,
+  155, 165, 148, 154, 174, 173, 151, 145, 158, 154, 156, 157, 150, 135, 123, 129,
+  137, 151, 165, 181, 190, 192, 193, 190, 185, 199, 196, 188, 174, 167, 177, 201,
+  219, 207, 202, 200, 198, 194, 191, 187, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 173, 10, 11, 17, 25, 58, 108, 149, 160,
+  160, 160, 143, 144, 148, 148, 145, 142, 143, 147, 153, 156, 156, 154, 156, 153,
+  143, 125, 115, 116, 129, 148, 155, 150, 151, 159, 165, 170, 159, 138, 134, 148,
+  158, 156, 160, 153, 143, 140, 149, 159, 158, 150, 166, 165, 165, 156, 138, 123,
+  124, 131, 153, 163, 178, 183, 187, 196, 201, 203, 183, 197, 203, 189, 170, 170,
+  194, 216, 208, 203, 200, 197, 193, 190, 188, 186, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 15, 13, 22, 27, 46, 87, 134, 161,
+  159, 148, 142, 135, 136, 139, 140, 143, 147, 152, 156, 161, 161, 162, 159, 147,
+  130, 125, 122, 106, 114, 132, 147, 151, 149, 155, 165, 172, 155, 133, 142, 171,
+  179, 165, 157, 131, 128, 138, 140, 139, 165, 182, 165, 165, 156, 155, 152, 138,
+  115, 105, 108, 124, 136, 159, 180, 186, 185, 190, 200, 186, 197, 189, 185, 188,
+  166, 172, 217, 204, 198, 198, 197, 190, 185, 184, 188, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 176, 17, 16, 29, 39, 67, 109, 142,
+  156, 148, 137, 132, 131, 131, 131, 132, 136, 142, 148, 152, 162, 153, 143, 136,
+  127, 118, 115, 113, 106, 112, 132, 153, 162, 160, 160, 164, 149, 146, 142, 157,
+  178, 172, 148, 137, 122, 128, 144, 150, 150, 167, 180, 167, 174, 168, 163, 152,
+  133, 111, 101, 99, 126, 131, 148, 167, 180, 182, 187, 193, 194, 201, 189, 186,
+  188, 167, 175, 212, 209, 204, 211, 210, 203, 195, 190, 187, 211, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 173, 18, 16, 18, 32, 49, 87, 130,
+  149, 146, 137, 130, 126, 126, 126, 128, 132, 137, 144, 151, 155, 152, 139, 126,
+  121, 117, 112, 110, 107, 108, 115, 135, 156, 167, 165, 158, 154, 134, 146, 156,
+  171, 180, 162, 136, 129, 157, 164, 177, 179, 174, 182, 189, 180, 170, 169, 163,
+  149, 135, 122, 114, 104, 129, 127, 135, 152, 170, 179, 185, 189, 191, 194, 185,
+  185, 191, 177, 184, 213, 220, 220, 224, 224, 216, 205, 194, 187, 186, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 14, 20, 15, 17, 34, 61, 100,
+  138, 147, 140, 132, 128, 124, 118, 122, 129, 138, 145, 151, 152, 152, 134, 127,
+  123, 123, 120, 115, 111, 107, 115, 123, 140, 155, 160, 154, 145, 140, 138, 153,
+  162, 167, 165, 148, 135, 141, 176, 178, 180, 178, 174, 174, 176, 170, 166, 167,
+  157, 143, 140, 142, 129, 108, 130, 129, 133, 145, 161, 175, 185, 190, 188, 189,
+  184, 187, 194, 186, 187, 204, 226, 227, 231, 230, 224, 214, 200, 188, 188, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 174, 17, 21, 16, 21, 44, 89,
+  117, 142, 143, 134, 129, 124, 118, 114, 120, 130, 141, 148, 148, 140, 134, 123,
+  121, 120, 121, 117, 111, 111, 113, 126, 136, 150, 154, 150, 144, 140, 139, 142,
+  154, 158, 155, 149, 138, 138, 154, 167, 168, 167, 169, 171, 165, 159, 160, 180,
+  172, 156, 143, 148, 153, 132, 100, 128, 131, 138, 143, 151, 164, 179, 188, 195,
+  194, 191, 194, 195, 187, 182, 185, 212, 219, 228, 233, 234, 227, 209, 190, 193,
+  190, 255, 255, 255, 255, 255, 255, 255, 255, 13, 13, 18, 21, 19, 36, 71,
+  124, 135, 141, 136, 126, 119, 114, 111, 126, 129, 135, 143, 146, 142, 130, 121,
+  123, 119, 113, 109, 105, 106, 115, 124, 136, 145, 154, 151, 143, 141, 142, 144,
+  136, 145, 146, 143, 141, 134, 137, 155, 164, 167, 168, 170, 173, 158, 146, 152,
+  182, 171, 154, 147, 157, 162, 138, 104, 125, 135, 143, 143, 143, 155, 169, 179,
+  189, 187, 191, 195, 194, 192, 188, 182, 187, 201, 216, 227, 234, 233, 215, 192,
+  196, 193, 255, 255, 255, 255, 255, 255, 255, 255, 13, 14, 18, 24, 29, 61,
+  108, 144, 142, 137, 130, 120, 112, 112, 119, 138, 134, 133, 134, 135, 133, 126,
+  120, 122, 113, 106, 104, 106, 114, 129, 140, 141, 147, 149, 142, 137, 138, 139,
+  138, 134, 139, 136, 136, 141, 139, 142, 156, 153, 160, 158, 154, 153, 135, 131,
+  153, 174, 164, 154, 153, 164, 166, 145, 119, 128, 140, 148, 147, 144, 151, 163,
+  170, 180, 179, 186, 190, 190, 195, 197, 191, 180, 190, 196, 203, 214, 222, 214,
+  195, 200, 194, 255, 255, 255, 255, 255, 255, 255, 8, 11, 13, 18, 26, 39,
+  82, 139, 149, 140, 130, 125, 117, 110, 118, 131, 136, 129, 121, 119, 120, 123,
+  123, 121, 119, 109, 103, 107, 118, 131, 144, 152, 142, 143, 139, 131, 128, 130,
+  129, 123, 136, 136, 129, 130, 140, 143, 148, 161, 149, 158, 151, 144, 141, 129,
+  143, 184, 172, 164, 157, 160, 166, 162, 143, 123, 135, 146, 154, 151, 150, 154,
+  162, 164, 185, 183, 188, 189, 185, 191, 197, 190, 189, 189, 182, 176, 189, 207,
+  209, 199, 203, 197, 212, 255, 255, 255, 255, 255, 255, 15, 20, 21, 16, 31,
+  85, 134, 147, 138, 136, 123, 106, 102, 115, 128, 132, 135, 129, 124, 123, 125,
+  128, 126, 124, 120, 114, 126, 152, 155, 135, 131, 144, 134, 139, 141, 134, 122,
+  116, 120, 126, 128, 113, 119, 129, 131, 147, 160, 150, 131, 130, 133, 134, 129,
+  131, 148, 167, 166, 152, 163, 169, 171, 172, 148, 125, 150, 150, 163, 159, 139,
+  144, 161, 156, 173, 182, 187, 185, 183, 186, 192, 195, 199, 200, 189, 171, 161,
+  168, 177, 179, 186, 189, 191, 255, 255, 255, 255, 255, 255, 28, 21, 22, 35,
+  68, 118, 147, 142, 132, 131, 121, 108, 108, 121, 133, 137, 134, 125, 115, 112,
+  117, 126, 133, 137, 138, 145, 147, 143, 142, 142, 130, 113, 137, 133, 128, 120,
+  116, 116, 122, 126, 121, 118, 126, 132, 133, 136, 141, 134, 129, 126, 128, 129,
+  129, 134, 152, 169, 166, 160, 166, 177, 176, 168, 157, 135, 148, 151, 162, 163,
+  152, 146, 156, 160, 169, 177, 182, 182, 182, 186, 192, 195, 197, 194, 194, 191,
+  179, 165, 160, 161, 165, 178, 194, 255, 255, 255, 255, 255, 185, 52, 40, 47,
+  71, 106, 138, 147, 134, 133, 127, 117, 111, 118, 129, 136, 137, 128, 127, 126,
+  131, 135, 140, 141, 140, 156, 144, 137, 133, 123, 108, 105, 113, 133, 126, 119,
+  114, 118, 119, 121, 118, 113, 120, 125, 124, 130, 124, 123, 125, 124, 119, 122,
+  124, 130, 140, 156, 170, 164, 168, 164, 185, 177, 157, 166, 145, 146, 157, 164,
+  165, 164, 151, 150, 162, 169, 175, 178, 179, 181, 184, 186, 186, 191, 186, 191,
+  201, 190, 164, 150, 153, 152, 164, 183, 255, 255, 255, 255, 255, 59, 63, 60,
+  80, 106, 123, 136, 145, 141, 141, 124, 109, 111, 124, 135, 136, 134, 134, 137,
+  141, 146, 149, 149, 143, 137, 141, 124, 113, 111, 95, 80, 98, 133, 126, 122,
+  119, 118, 119, 118, 112, 107, 107, 119, 112, 109, 123, 122, 117, 128, 116, 115,
+  118, 125, 135, 146, 158, 167, 163, 173, 158, 180, 167, 141, 168, 152, 147, 170,
+  171, 162, 166, 159, 150, 157, 174, 178, 178, 178, 180, 182, 180, 177, 182, 181,
+  184, 192, 185, 170, 163, 167, 161, 158, 165, 183, 255, 255, 255, 255, 63, 65,
+  67, 92, 119, 129, 139, 151, 153, 144, 119, 101, 110, 128, 138, 136, 135, 150,
+  144, 135, 131, 131, 133, 132, 131, 107, 114, 104, 85, 82, 102, 122, 130, 121,
+  120, 118, 115, 110, 106, 103, 102, 109, 116, 107, 107, 125, 127, 120, 127, 111,
+  115, 121, 129, 140, 150, 156, 156, 159, 172, 152, 164, 149, 131, 167, 152, 151,
+  181, 178, 158, 160, 163, 155, 151, 171, 176, 177, 176, 179, 181, 178, 175, 172,
+  178, 180, 179, 180, 183, 183, 180, 168, 163, 170, 186, 255, 255, 255, 255, 67,
+  77, 76, 94, 118, 133, 144, 149, 141, 136, 114, 101, 114, 130, 134, 133, 138,
+  143, 137, 128, 123, 120, 118, 114, 111, 99, 93, 88, 95, 111, 126, 126, 120,
+  119, 118, 112, 103, 96, 95, 102, 109, 114, 116, 113, 117, 129, 129, 120, 118,
+  112, 118, 128, 135, 142, 148, 150, 148, 155, 164, 149, 148, 136, 134, 166, 153,
+  158, 178, 180, 160, 156, 162, 158, 150, 158, 164, 170, 172, 176, 180, 180, 177,
+  165, 175, 180, 178, 181, 188, 187, 180, 165, 168, 181, 199, 255, 255, 255, 255,
+  70, 79, 83, 102, 122, 134, 144, 144, 130, 124, 113, 111, 125, 127, 122, 123,
+  137, 121, 120, 116, 114, 111, 106, 99, 94, 101, 86, 92, 121, 138, 130, 121,
+  124, 115, 114, 108, 101, 97, 101, 111, 119, 119, 114, 117, 121, 119, 119, 119,
+  111, 117, 126, 135, 138, 140, 143, 144, 141, 149, 154, 151, 137, 131, 151, 169,
+  154, 165, 165, 173, 171, 161, 158, 159, 152, 146, 155, 164, 166, 168, 171, 174,
+  173, 169, 170, 172, 177, 182, 182, 181, 179, 173, 164, 170, 190, 205, 255, 255,
+  255, 61, 60, 80, 111, 128, 133, 142, 147, 135, 116, 112, 121, 132, 124, 108,
+  113, 133, 115, 108, 95, 87, 87, 91, 95, 97, 91, 113, 128, 129, 131, 140,
+  138, 128, 109, 109, 108, 107, 108, 113, 119, 122, 122, 109, 113, 113, 99, 104,
+  117, 111, 122, 133, 140, 138, 137, 140, 142, 140, 146, 149, 157, 133, 132, 166,
+  173, 157, 170, 154, 167, 183, 167, 153, 158, 158, 143, 153, 163, 163, 161, 164,
+  169, 169, 178, 165, 163, 174, 177, 170, 171, 181, 184, 154, 142, 169, 206, 255,
+  255, 255, 42, 59, 51, 99, 131, 129, 139, 137, 124, 108, 108, 113, 117, 116,
+  114, 115, 120, 115, 99, 97, 107, 109, 110, 106, 93, 93, 115, 134, 140, 143,
+  143, 127, 106, 104, 113, 116, 109, 104, 110, 118, 119, 121, 111, 104, 104, 109,
+  111, 110, 108, 139, 141, 140, 138, 136, 135, 137, 139, 149, 149, 145, 138, 144,
+  163, 176, 177, 168, 168, 161, 160, 171, 167, 156, 155, 161, 160, 159, 160, 162,
+  164, 164, 163, 178, 174, 169, 171, 175, 174, 173, 172, 168, 172, 153, 155, 195,
+  255, 255, 255, 23, 40, 44, 98, 133, 132, 139, 135, 121, 106, 112, 119, 114,
+  109, 107, 112, 116, 109, 111, 123, 124, 107, 100, 108, 113, 119, 128, 132, 128,
+  126, 127, 123, 115, 111, 116, 116, 109, 106, 110, 115, 115, 123, 104, 100, 113,
+  118, 109, 116, 134, 131, 132, 134, 135, 136, 139, 143, 146, 142, 148, 147, 143,
+  148, 163, 173, 173, 164, 159, 153, 155, 170, 170, 158, 155, 162, 160, 159, 160,
+  162, 163, 163, 162, 161, 168, 169, 164, 161, 166, 168, 166, 160, 166, 151, 151,
+  185, 225, 255, 175, 17, 26, 41, 102, 136, 134, 136, 128, 118, 110, 120, 123,
+  110, 100, 101, 110, 115, 123, 126, 133, 126, 102, 96, 114, 128, 129, 135, 139,
+  135, 125, 114, 111, 110, 117, 118, 115, 110, 110, 115, 118, 117, 121, 111, 111,
+  117, 122, 118, 131, 148, 132, 135, 136, 136, 136, 137, 140, 142, 138, 148, 152,
+  150, 153, 163, 170, 168, 161, 156, 147, 150, 167, 168, 156, 153, 157, 156, 156,
+  158, 162, 165, 166, 167, 161, 175, 182, 175, 168, 172, 178, 178, 159, 161, 148,
+  145, 172, 201, 255, 18, 21, 23, 49, 110, 138, 133, 132, 122, 117, 117, 121,
+  116, 99, 95, 105, 119, 122, 147, 127, 113, 107, 98, 104, 120, 127, 128, 131,
+  136, 135, 122, 107, 103, 108, 119, 117, 114, 114, 118, 123, 124, 123, 118, 130,
+  126, 114, 116, 133, 140, 132, 134, 136, 137, 137, 136, 136, 138, 139, 137, 149,
+  156, 154, 155, 164, 169, 167, 163, 160, 151, 151, 162, 162, 153, 153, 150, 147,
+  151, 153, 161, 167, 170, 172, 158, 164, 171, 172, 166, 161, 165, 170, 165, 162,
+  148, 142, 164, 195, 255, 18, 20, 26, 58, 115, 135, 131, 130, 121, 123, 122,
+  115, 102, 89, 97, 115, 129, 130, 137, 109, 91, 91, 96, 109, 122, 120, 128,
+  127, 124, 119, 107, 101, 110, 124, 122, 118, 116, 119, 124, 127, 126, 125, 121,
+  130, 127, 118, 122, 137, 135, 120, 129, 132, 135, 137, 139, 141, 144, 146, 142,
+  153, 158, 155, 157, 166, 170, 166, 157, 161, 155, 152, 157, 155, 151, 158, 148,
+  146, 148, 150, 157, 163, 166, 170, 170, 160, 161, 173, 171, 156, 155, 166, 177,
+  166, 150, 142, 160, 193, 255, 16, 17, 28, 64, 115, 128, 128, 128, 121, 129,
+  122, 105, 91, 91, 108, 122, 127, 124, 97, 84, 86, 95, 99, 107, 117, 115,
+  110, 116, 120, 116, 108, 107, 115, 123, 126, 122, 124, 127, 132, 127, 125, 124,
+  129, 117, 115, 129, 136, 129, 125, 128, 138, 141, 143, 143, 142, 142, 143, 144,
+  149, 157, 160, 158, 162, 170, 172, 165, 150, 157, 154, 149, 151, 150, 151, 162,
+  155, 152, 150, 150, 152, 155, 157, 158, 179, 164, 162, 173, 177, 164, 161, 168,
+  179, 167, 153, 145, 152, 186, 225, 14, 14, 30, 69, 113, 122, 123, 123, 115,
+  126, 116, 97, 91, 105, 122, 121, 113, 105, 74, 70, 86, 99, 98, 101, 109,
+  107, 96, 111, 120, 115, 112, 115, 120, 119, 126, 124, 128, 134, 137, 129, 126,
+  126, 128, 113, 113, 131, 138, 126, 125, 138, 150, 152, 152, 149, 145, 141, 139,
+  139, 151, 157, 159, 159, 166, 174, 171, 161, 152, 158, 152, 147, 149, 148, 148,
+  158, 160, 156, 150, 148, 148, 149, 149, 150, 159, 159, 155, 156, 162, 164, 163,
+  158, 168, 161, 158, 146, 142, 173, 205, 10, 9, 34, 73, 114, 118, 119, 118,
+  106, 117, 111, 94, 96, 118, 132, 116, 98, 88, 78, 71, 83, 96, 97, 99,
+  104, 100, 107, 116, 114, 101, 100, 116, 128, 129, 122, 122, 129, 138, 140, 133,
+  129, 132, 123, 124, 126, 128, 128, 130, 134, 138, 149, 151, 153, 152, 150, 147,
+  146, 146, 151, 156, 159, 162, 170, 178, 171, 157, 163, 163, 154, 148, 151, 150,
+  147, 153, 161, 156, 151, 148, 148, 149, 150, 150, 153, 167, 166, 154, 159, 177,
+  180, 165, 158, 155, 159, 148, 133, 163, 201, 68, 15, 36, 95, 108, 109, 116,
+  113, 118, 114, 99, 92, 99, 115, 119, 99, 80, 72, 79, 86, 95, 99, 98,
+  94, 91, 90, 115, 109, 103, 102, 108, 115, 120, 122, 128, 130, 134, 136, 136,
+  134, 131, 131, 122, 125, 129, 133, 136, 141, 144, 145, 153, 159, 161, 158, 153,
+  151, 151, 151, 164, 155, 156, 169, 177, 173, 167, 166, 172, 168, 159, 152, 149,
+  148, 149, 150, 144, 152, 159, 157, 151, 147, 149, 155, 161, 161, 148, 152, 166,
+  161, 161, 183, 176, 160, 139, 141, 132, 127, 172, 202, 17, 32, 91, 102, 102,
+  111, 110, 115, 110, 94, 97, 110, 117, 107, 84, 78, 84, 82, 88, 94, 92,
+  85, 86, 93, 100, 110, 106, 103, 105, 113, 118, 120, 118, 122, 123, 127, 128,
+  129, 129, 130, 129, 125, 128, 133, 137, 140, 144, 148, 152, 159, 162, 164, 161,
+  158, 157, 157, 157, 169, 165, 165, 171, 175, 171, 164, 160, 168, 164, 157, 151,
+  148, 147, 146, 147, 149, 151, 154, 155, 153, 149, 148, 148, 150, 160, 153, 147,
+  161, 163, 163, 175, 170, 161, 138, 134, 121, 118, 165, 255, 19, 32, 89, 97,
+  96, 107, 110, 115, 108, 94, 100, 112, 113, 99, 80, 79, 88, 85, 94, 100,
+  96, 85, 83, 95, 107, 106, 104, 103, 108, 117, 120, 119, 113, 114, 115, 117,
+  119, 123, 124, 126, 126, 128, 132, 137, 140, 142, 148, 153, 156, 165, 164, 163,
+  162, 162, 161, 161, 162, 170, 173, 174, 173, 173, 172, 165, 157, 163, 161, 157,
+  153, 149, 147, 146, 146, 150, 149, 149, 150, 153, 152, 150, 146, 142, 158, 153,
+  138, 145, 156, 162, 166, 164, 164, 148, 137, 119, 117, 159, 255, 17, 35, 90,
+  95, 93, 108, 115, 119, 109, 97, 99, 104, 104, 100, 90, 86, 85, 94, 104,
+  112, 108, 99, 94, 98, 108, 108, 104, 103, 109, 117, 120, 114, 109, 106, 110,
+  114, 117, 122, 123, 123, 123, 130, 133, 137, 139, 143, 147, 154, 160, 169, 166,
+  164, 165, 166, 164, 165, 168, 170, 179, 182, 178, 177, 180, 176, 166, 166, 164,
+  162, 158, 155, 150, 149, 147, 145, 143, 146, 149, 154, 154, 155, 151, 147, 153,
+  147, 132, 131, 139, 150, 159, 157, 169, 160, 149, 128, 124, 163, 255, 14, 37,
+  90, 93, 90, 109, 119, 122, 108, 91, 98, 105, 103, 100, 96, 94, 94, 108,
+  112, 114, 113, 111, 106, 105, 106, 108, 103, 100, 103, 109, 110, 106, 101, 103,
+  107, 114, 120, 124, 123, 121, 119, 128, 131, 136, 137, 140, 145, 154, 162, 170,
+  167, 166, 169, 168, 164, 166, 172, 171, 180, 183, 179, 179, 183, 180, 172, 170,
+  169, 166, 164, 160, 155, 152, 148, 140, 142, 147, 148, 147, 148, 151, 152, 153,
+  146, 143, 143, 133, 128, 137, 147, 154, 166, 156, 146, 128, 125, 168, 255, 13,
+  35, 88, 89, 86, 108, 122, 123, 104, 81, 101, 115, 107, 96, 93, 102, 110,
+  118, 114, 111, 109, 110, 111, 109, 107, 103, 100, 98, 98, 101, 101, 99, 96,
+  102, 108, 115, 120, 123, 122, 119, 117, 124, 129, 134, 134, 136, 141, 152, 162,
+  171, 169, 171, 174, 171, 163, 166, 174, 179, 179, 179, 176, 178, 179, 177, 172,
+  174, 172, 170, 165, 161, 157, 152, 150, 142, 143, 146, 145, 142, 139, 141, 143,
+  149, 138, 146, 156, 144, 131, 133, 136, 151, 155, 140, 131, 116, 117, 168, 255,
+  14, 34, 86, 86, 85, 109, 125, 123, 101, 87, 105, 115, 103, 94, 98, 110,
+  116, 109, 108, 109, 111, 115, 115, 111, 107, 98, 99, 100, 101, 100, 99, 98,
+  97, 105, 107, 111, 113, 115, 116, 116, 115, 122, 128, 132, 132, 134, 139, 152,
+  165, 172, 172, 179, 180, 175, 162, 167, 177, 188, 178, 175, 176, 181, 178, 176,
+  175, 181, 178, 174, 168, 163, 159, 155, 152, 148, 145, 144, 143, 144, 143, 141,
+  138, 140, 132, 144, 151, 141, 140, 143, 135, 145, 142, 127, 126, 115, 113, 164,
+  255, 175, 33, 86, 86, 84, 111, 128, 125, 100, 101, 107, 105, 94, 98, 110,
+  115, 112, 96, 102, 111, 120, 123, 119, 110, 103, 96, 101, 106, 108, 105, 103,
+  100, 102, 107, 108, 108, 108, 109, 109, 112, 114, 122, 128, 134, 134, 135, 142,
+  155, 169, 173, 176, 183, 187, 174, 161, 165, 179, 190, 176, 170, 177, 185, 182,
+  180, 182, 187, 183, 179, 172, 167, 162, 159, 157, 154, 147, 143, 144, 150, 152,
+  148, 141, 135, 129, 137, 137, 129, 145, 157, 140, 140, 135, 125, 133, 122, 115,
+  158, 255, 255, 25, 55, 93, 83, 101, 140, 120, 95, 104, 103, 102, 103, 111,
+  116, 104, 88, 94, 108, 120, 123, 121, 119, 112, 107, 106, 102, 101, 106, 106,
+  101, 100, 105, 110, 112, 114, 114, 115, 116, 120, 124, 130, 132, 133, 136, 144,
+  155, 170, 179, 182, 189, 190, 184, 169, 148, 155, 184, 184, 185, 181, 179, 181,
+  183, 185, 185, 189, 185, 184, 179, 176, 171, 164, 160, 159, 157, 154, 150, 149,
+  149, 149, 147, 141, 136, 132, 129, 130, 134, 137, 141, 144, 141, 133, 123, 116,
+  115, 206, 255, 255, 22, 45, 81, 82, 105, 139, 122, 101, 103, 98, 100, 105,
+  107, 99, 91, 89, 103, 111, 117, 117, 115, 115, 110, 104, 106, 101, 99, 102,
+  103, 101, 104, 109, 115, 115, 118, 118, 117, 117, 119, 121, 133, 134, 135, 138,
+  145, 158, 173, 183, 190, 192, 189, 184, 172, 153, 159, 188, 186, 187, 187, 181,
+  184, 190, 193, 189, 193, 189, 188, 183, 179, 174, 167, 164, 162, 161, 159, 157,
+  154, 153, 152, 149, 145, 140, 139, 137, 138, 137, 139, 139, 143, 137, 127, 122,
+  118, 117, 255, 255, 255, 20, 33, 64, 84, 112, 135, 122, 110, 108, 102, 107,
+  112, 103, 86, 85, 98, 110, 113, 112, 109, 109, 111, 107, 102, 105, 100, 98,
+  100, 102, 103, 107, 113, 113, 114, 115, 116, 117, 119, 118, 117, 124, 128, 132,
+  140, 151, 166, 183, 194, 198, 197, 190, 184, 177, 163, 169, 194, 192, 196, 194,
+  185, 186, 199, 202, 193, 196, 194, 193, 188, 183, 178, 172, 170, 166, 166, 165,
+  164, 162, 157, 155, 150, 150, 145, 144, 142, 142, 139, 138, 136, 138, 129, 122,
+  122, 117, 114, 255, 255, 255, 19, 24, 50, 84, 118, 128, 120, 115, 109, 112,
+  116, 109, 93, 82, 88, 102, 107, 108, 106, 104, 107, 111, 108, 102, 103, 101,
+  99, 100, 101, 104, 108, 112, 111, 112, 114, 117, 121, 122, 120, 119, 123, 128,
+  137, 148, 162, 177, 191, 199, 204, 205, 197, 188, 179, 168, 175, 202, 200, 205,
+  200, 188, 191, 204, 205, 194, 201, 198, 198, 192, 189, 182, 178, 176, 170, 171,
+  171, 171, 168, 164, 158, 155, 154, 148, 144, 142, 141, 138, 135, 132, 133, 128,
+  123, 122, 112, 104, 255, 255, 255, 22, 21, 41, 88, 121, 118, 114, 117, 103,
+  117, 119, 97, 81, 82, 92, 97, 96, 99, 101, 103, 109, 114, 111, 104, 101,
+  102, 103, 103, 104, 105, 106, 108, 113, 116, 118, 121, 123, 125, 125, 124, 130,
+  139, 150, 163, 173, 182, 189, 195, 207, 213, 204, 193, 184, 173, 183, 208, 209,
+  211, 203, 192, 194, 204, 203, 192, 203, 203, 203, 198, 193, 187, 185, 183, 176,
+  177, 179, 179, 177, 172, 168, 163, 158, 152, 146, 142, 140, 139, 134, 129, 128,
+  128, 128, 125, 110, 103, 255, 255, 255, 178, 23, 38, 91, 120, 110, 111, 115,
+  101, 118, 118, 94, 83, 92, 98, 93, 87, 95, 101, 106, 111, 114, 111, 104,
+  99, 103, 104, 103, 103, 106, 106, 106, 115, 120, 123, 124, 125, 127, 129, 132,
+  137, 145, 159, 173, 185, 194, 200, 205, 211, 215, 208, 199, 193, 186, 193, 213,
+  217, 212, 203, 195, 198, 204, 202, 196, 206, 208, 208, 205, 198, 193, 193, 192,
+  188, 187, 190, 188, 188, 183, 181, 176, 169, 163, 156, 152, 150, 145, 136, 128,
+  123, 129, 130, 125, 116, 163, 255, 255, 255, 255, 23, 36, 93, 119, 102, 112,
+  116, 101, 109, 110, 101, 97, 100, 98, 90, 85, 96, 104, 107, 109, 110, 107,
+  102, 98, 102, 104, 101, 103, 109, 111, 111, 122, 130, 136, 138, 138, 143, 151,
+  159, 158, 165, 176, 187, 197, 205, 212, 217, 214, 216, 207, 203, 207, 205, 205,
+  216, 222, 209, 199, 200, 203, 203, 201, 202, 209, 212, 213, 210, 204, 199, 200,
+  201, 199, 199, 201, 200, 200, 196, 194, 191, 187, 180, 174, 171, 167, 157, 142,
+  129, 122, 129, 127, 122, 124, 255, 255, 255, 255, 255, 25, 37, 93, 117, 100,
+  113, 119, 96, 97, 99, 103, 105, 100, 91, 83, 89, 99, 107, 108, 107, 106,
+  103, 100, 98, 101, 102, 98, 100, 109, 115, 117, 133, 144, 153, 158, 159, 167,
+  181, 194, 190, 192, 196, 199, 203, 206, 210, 215, 215, 212, 202, 202, 216, 219,
+  213, 217, 224, 206, 197, 202, 207, 203, 203, 206, 209, 213, 215, 212, 206, 202,
+  203, 205, 206, 206, 207, 207, 206, 204, 202, 201, 199, 193, 190, 187, 182, 167,
+  145, 129, 123, 128, 122, 116, 124, 255, 255, 255, 255, 255, 19, 46, 103, 114,
+  96, 113, 126, 100, 94, 93, 100, 104, 94, 85, 81, 98, 100, 102, 103, 104,
+  103, 102, 101, 97, 94, 97, 105, 110, 110, 116, 124, 148, 159, 169, 172, 178,
+  192, 203, 210, 211, 213, 214, 217, 218, 217, 214, 212, 213, 202, 183, 194, 201,
+  196, 210, 211, 211, 202, 195, 199, 204, 204, 208, 214, 211, 207, 207, 213, 214,
+  210, 208, 212, 214, 210, 210, 204, 195, 200, 203, 194, 195, 201, 211, 202, 197,
+  193, 157, 128, 129, 133, 112, 119, 114, 255, 255, 255, 255, 255, 181, 51, 94,
+  104, 96, 117, 128, 99, 92, 90, 97, 102, 99, 92, 91, 100, 101, 101, 101,
+  101, 100, 98, 98, 105, 102, 105, 111, 116, 119, 127, 137, 163, 174, 184, 188,
+  194, 206, 217, 221, 227, 222, 216, 209, 205, 208, 215, 220, 206, 203, 191, 203,
+  206, 198, 204, 198, 209, 203, 199, 205, 209, 208, 207, 211, 211, 208, 212, 214,
+  213, 207, 204, 206, 205, 206, 212, 211, 205, 201, 194, 183, 200, 202, 208, 216,
+  221, 223, 191, 128, 118, 120, 105, 113, 161, 255, 255, 255, 255, 255, 255, 48,
+  81, 92, 96, 122, 128, 104, 96, 90, 94, 100, 99, 97, 97, 102, 101, 100,
+  98, 98, 96, 98, 97, 106, 105, 108, 110, 113, 120, 135, 149, 175, 184, 195,
+  199, 205, 215, 223, 226, 226, 225, 222, 216, 210, 209, 210, 213, 202, 204, 196,
+  204, 204, 197, 204, 197, 206, 204, 204, 210, 213, 211, 210, 209, 214, 214, 216,
+  217, 214, 205, 201, 202, 204, 197, 192, 189, 191, 196, 202, 209, 218, 219, 214,
+  228, 225, 235, 222, 131, 108, 107, 104, 114, 255, 255, 255, 255, 255, 255, 255,
+  42, 70, 86, 100, 127, 124, 111, 102, 93, 90, 95, 99, 100, 99, 103, 101,
+  100, 98, 97, 97, 100, 100, 103, 104, 107, 106, 110, 123, 145, 161, 183, 190,
+  199, 205, 211, 218, 223, 224, 221, 221, 222, 225, 224, 221, 218, 212, 215, 215,
+  201, 203, 202, 198, 213, 211, 203, 204, 206, 211, 213, 213, 211, 212, 215, 218,
+  220, 218, 215, 208, 204, 201, 199, 196, 195, 200, 202, 190, 184, 193, 204, 214,
+  218, 238, 222, 231, 236, 124, 101, 102, 120, 132, 255, 255, 255, 255, 255, 255,
+  255, 43, 74, 94, 110, 130, 118, 112, 103, 93, 87, 93, 100, 104, 103, 101,
+  100, 100, 99, 100, 101, 105, 106, 106, 111, 113, 113, 121, 140, 166, 183, 194,
+  200, 206, 210, 215, 222, 224, 223, 228, 224, 220, 221, 222, 216, 206, 192, 173,
+  170, 161, 171, 175, 172, 190, 192, 197, 201, 204, 207, 209, 212, 213, 215, 217,
+  219, 220, 219, 217, 212, 204, 197, 192, 181, 161, 153, 147, 127, 125, 153, 162,
+  174, 190, 225, 218, 234, 233, 107, 95, 103, 147, 158, 255, 255, 255, 255, 255,
+  255, 255, 186, 85, 105, 117, 131, 113, 106, 100, 91, 86, 93, 105, 109, 107,
+  99, 100, 101, 102, 104, 105, 109, 110, 109, 113, 117, 119, 133, 159, 189, 202,
+  203, 206, 209, 212, 216, 222, 224, 222, 225, 225, 222, 215, 201, 173, 141, 114,
+  88, 91, 100, 139, 159, 151, 163, 169, 188, 194, 202, 205, 208, 213, 214, 215,
+  220, 223, 224, 225, 223, 216, 199, 183, 152, 130, 92, 75, 77, 72, 99, 161,
+  167, 152, 151, 184, 197, 233, 224, 101, 94, 107, 175, 182, 255, 255, 255, 255,
+  255, 255, 255, 255, 86, 107, 115, 127, 110, 103, 99, 91, 86, 93, 106, 110,
+  106, 98, 99, 101, 103, 106, 107, 109, 109, 108, 113, 118, 124, 144, 176, 205,
+  213, 209, 207, 210, 212, 215, 221, 222, 219, 218, 216, 208, 190, 160, 124, 92,
+  69, 71, 73, 96, 157, 183, 165, 166, 170, 179, 190, 202, 207, 208, 215, 215,
+  215, 225, 230, 233, 235, 233, 219, 187, 158, 106, 98, 80, 80, 92, 83, 109,
+  179, 192, 155, 146, 163, 184, 227, 207, 104, 103, 118, 197, 194, 255, 255, 255,
+  255, 255, 255, 255, 255, 78, 101, 109, 119, 105, 102, 99, 90, 85, 93, 105,
+  109, 103, 98, 97, 99, 103, 106, 108, 109, 108, 110, 116, 121, 130, 153, 186,
+  214, 220, 214, 213, 214, 215, 219, 224, 226, 223, 218, 207, 184, 150, 119, 102,
+  102, 105, 97, 94, 115, 177, 195, 160, 148, 148, 167, 183, 198, 204, 210, 214,
+  214, 211, 225, 230, 233, 238, 236, 216, 176, 137, 114, 106, 83, 80, 88, 77,
+  107, 185, 180, 152, 167, 182, 198, 231, 192, 100, 109, 121, 202, 192, 255, 255,
+  255, 255, 255, 255, 255, 255, 83, 113, 112, 101, 95, 89, 87, 80, 94, 112,
+  111, 113, 113, 98, 97, 103, 107, 109, 111, 111, 109, 102, 119, 129, 144, 180,
+  210, 218, 216, 214, 211, 213, 217, 218, 216, 212, 209, 207, 189, 171, 174, 190,
+  197, 185, 171, 160, 160, 164, 172, 176, 174, 176, 178, 187, 191, 199, 206, 213,
+  214, 213, 210, 221, 223, 225, 227, 226, 213, 186, 163, 144, 141, 145, 153, 154,
+  156, 174, 195, 209, 227, 232, 222, 206, 217, 193, 99, 143, 166, 184, 184, 255,
+  255, 255, 255, 255, 255, 255, 255, 90, 114, 103, 91, 95, 79, 77, 76, 89,
+  102, 108, 116, 114, 96, 99, 109, 110, 109, 108, 108, 110, 110, 130, 143, 157,
+  190, 215, 222, 221, 215, 211, 214, 216, 220, 219, 217, 216, 198, 204, 212, 217,
+  220, 217, 212, 209, 203, 201, 201, 201, 197, 188, 184, 183, 195, 192, 194, 202,
+  212, 217, 215, 210, 209, 211, 219, 226, 231, 227, 207, 189, 185, 179, 180, 189,
+  195, 200, 214, 230, 222, 226, 234, 239, 226, 228, 212, 142, 164, 174, 182, 179,
+  255, 255, 255, 255, 255, 255, 255, 255, 201, 110, 88, 78, 92, 76, 74, 84,
+  92, 98, 113, 126, 121, 103, 109, 118, 119, 111, 107, 108, 113, 120, 142, 159,
+  174, 201, 221, 225, 226, 218, 214, 215, 217, 221, 222, 222, 223, 218, 226, 232,
+  228, 222, 218, 221, 226, 221, 217, 213, 210, 203, 193, 187, 184, 194, 189, 188,
+  196, 209, 217, 216, 210, 216, 218, 224, 229, 234, 232, 217, 202, 193, 185, 181,
+  188, 194, 199, 208, 218, 223, 221, 228, 246, 240, 232, 228, 184, 186, 186, 181,
+  176, 255, 255, 255, 255, 255, 255, 255, 255, 255, 98, 76, 67, 79, 74, 73,
+  90, 94, 99, 125, 136, 129, 122, 120, 123, 124, 119, 114, 114, 119, 125, 149,
+  169, 186, 208, 220, 223, 225, 220, 214, 215, 216, 221, 224, 226, 227, 231, 227,
+  220, 218, 219, 218, 215, 211, 204, 201, 199, 200, 197, 189, 186, 186, 188, 186,
+  189, 197, 209, 215, 218, 215, 224, 224, 228, 230, 233, 232, 220, 207, 203, 196,
+  191, 192, 192, 194, 201, 208, 218, 217, 223, 244, 241, 231, 229, 200, 186, 181,
+  175, 172, 255, 255, 255, 255, 255, 255, 255, 255, 255, 86, 74, 67, 69, 70,
+  70, 91, 89, 109, 145, 141, 134, 136, 128, 125, 126, 125, 123, 123, 126, 132,
+  155, 176, 192, 212, 219, 219, 222, 220, 215, 216, 217, 221, 224, 226, 228, 216,
+  216, 219, 226, 233, 230, 219, 207, 200, 197, 198, 200, 200, 197, 196, 198, 194,
+  197, 206, 211, 216, 219, 223, 224, 217, 220, 223, 226, 232, 236, 230, 222, 217,
+  216, 215, 212, 206, 205, 214, 223, 218, 229, 233, 242, 240, 234, 230, 201, 178,
+  176, 173, 172, 255, 255, 255, 255, 255, 255, 255, 255, 255, 81, 75, 68, 66,
+  75, 79, 93, 86, 131, 177, 153, 144, 145, 134, 127, 130, 134, 131, 130, 132,
+  142, 162, 180, 196, 215, 218, 218, 222, 219, 215, 216, 218, 222, 224, 228, 227,
+  219, 223, 230, 231, 232, 229, 229, 226, 218, 214, 213, 215, 214, 210, 209, 212,
+  206, 213, 220, 222, 221, 219, 221, 222, 220, 221, 224, 227, 233, 238, 235, 228,
+  218, 221, 224, 221, 215, 214, 222, 232, 222, 242, 239, 240, 241, 235, 227, 198,
+  176, 177, 177, 176, 255, 255, 255, 255, 255, 255, 255, 255, 255, 83, 69, 64,
+  69, 83, 92, 96, 86, 158, 210, 164, 155, 145, 139, 137, 144, 145, 140, 139,
+  143, 151, 166, 181, 197, 214, 218, 216, 220, 220, 218, 218, 220, 223, 225, 227,
+  226, 234, 232, 232, 227, 225, 226, 231, 236, 229, 224, 223, 223, 221, 216, 215,
+  218, 219, 221, 222, 222, 221, 218, 218, 219, 223, 226, 226, 227, 231, 235, 231,
+  224, 222, 227, 231, 230, 227, 228, 232, 235, 225, 242, 234, 236, 241, 233, 225,
+  204, 181, 177, 176, 177, 255, 255, 255, 255, 255, 255, 255, 255, 255, 198, 61,
+  56, 71, 83, 96, 93, 83, 169, 226, 164, 154, 145, 144, 149, 157, 155, 146,
+  145, 151, 154, 166, 178, 194, 213, 216, 212, 218, 221, 220, 220, 222, 225, 227,
+  228, 226, 228, 225, 226, 232, 239, 240, 234, 225, 229, 223, 221, 225, 225, 221,
+  221, 224, 230, 225, 222, 221, 223, 223, 222, 223, 216, 221, 223, 224, 229, 235,
+  233, 228, 223, 225, 227, 226, 227, 228, 229, 225, 232, 240, 230, 237, 247, 233,
+  227, 215, 183, 176, 172, 173, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  65, 59, 67, 80, 100, 102, 81, 181, 219, 172, 146, 141, 156, 165, 163, 159,
+  158, 160, 157, 164, 167, 181, 194, 207, 214, 217, 220, 225, 226, 226, 226, 226,
+  225, 226, 226, 229, 228, 229, 228, 230, 232, 234, 234, 228, 231, 231, 227, 226,
+  229, 229, 224, 231, 235, 235, 225, 220, 222, 223, 222, 221, 219, 218, 221, 227,
+  232, 231, 230, 218, 232, 234, 223, 222, 234, 240, 233, 229, 232, 238, 240, 240,
+  233, 225, 216, 183, 179, 176, 175, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 191, 64, 62, 82, 111, 100, 93, 150, 211, 171, 155, 156, 155, 148, 151,
+  171, 196, 201, 191, 179, 176, 181, 195, 206, 209, 213, 218, 220, 221, 223, 224,
+  227, 228, 230, 230, 231, 231, 234, 234, 235, 235, 236, 233, 227, 229, 229, 226,
+  225, 229, 228, 224, 224, 229, 228, 221, 218, 221, 221, 222, 222, 223, 223, 226,
+  230, 233, 233, 233, 226, 229, 232, 231, 232, 234, 234, 231, 232, 233, 237, 240,
+  241, 237, 229, 221, 189, 184, 181, 181, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 73, 64, 94, 127, 102, 105, 104, 183, 161, 168, 161, 165, 161,
+  166, 194, 225, 223, 200, 198, 184, 182, 196, 207, 208, 212, 220, 219, 221, 223,
+  225, 229, 230, 231, 231, 232, 233, 235, 236, 237, 236, 234, 230, 227, 228, 229,
+  228, 228, 229, 228, 224, 226, 228, 226, 221, 220, 222, 221, 219, 219, 223, 227,
+  229, 230, 233, 236, 237, 236, 228, 229, 236, 240, 237, 237, 239, 236, 234, 235,
+  239, 243, 241, 233, 224, 206, 202, 198, 198, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 71, 73, 104, 129, 108, 117, 81, 147, 163, 200, 193, 196,
+  174, 151, 163, 203, 229, 228, 210, 189, 182, 196, 206, 207, 213, 225, 224, 225,
+  226, 227, 230, 230, 230, 229, 229, 231, 234, 236, 237, 234, 231, 226, 229, 230,
+  232, 233, 232, 230, 228, 225, 225, 224, 221, 218, 219, 217, 216, 213, 217, 223,
+  227, 232, 232, 234, 237, 242, 242, 230, 221, 222, 228, 235, 241, 244, 238, 233,
+  233, 237, 240, 240, 234, 224, 222, 216, 213, 212, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 62, 85, 111, 121, 118, 124, 86, 115, 168, 224, 211,
+  220, 203, 171, 167, 198, 225, 228, 217, 199, 188, 196, 206, 208, 212, 223, 225,
+  228, 229, 230, 231, 231, 231, 231, 229, 231, 233, 234, 234, 231, 228, 226, 233,
+  233, 236, 236, 234, 230, 225, 224, 215, 210, 206, 210, 215, 214, 212, 209, 219,
+  225, 229, 233, 233, 236, 240, 244, 241, 236, 218, 199, 200, 221, 238, 236, 239,
+  234, 234, 237, 240, 239, 233, 224, 223, 217, 214, 213, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 189, 95, 123, 127, 126, 124, 93, 86, 141, 187,
+  217, 235, 241, 228, 222, 226, 223, 211, 221, 210, 200, 202, 206, 210, 211, 216,
+  222, 225, 227, 230, 231, 233, 233, 234, 231, 231, 231, 232, 231, 231, 230, 230,
+  233, 231, 234, 236, 233, 224, 218, 218, 206, 200, 199, 210, 220, 224, 221, 220,
+  228, 228, 230, 230, 232, 234, 238, 239, 243, 244, 225, 195, 188, 209, 226, 227,
+  235, 233, 236, 238, 238, 237, 234, 226, 223, 218, 214, 212, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 87, 128, 142, 128, 124, 97, 80, 103,
+  122, 181, 203, 221, 221, 218, 221, 223, 221, 217, 217, 212, 207, 209, 216, 217,
+  213, 222, 225, 226, 228, 229, 230, 230, 230, 231, 229, 227, 226, 226, 228, 230,
+  232, 228, 227, 228, 231, 227, 215, 208, 206, 206, 199, 201, 214, 231, 236, 234,
+  234, 233, 230, 226, 222, 224, 224, 225, 225, 229, 236, 230, 210, 195, 199, 214,
+  220, 223, 224, 233, 236, 234, 233, 230, 228, 227, 220, 216, 214, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 65, 121, 153, 127, 128, 108, 99,
+  95, 90, 71, 118, 171, 198, 199, 196, 200, 206, 210, 218, 218, 210, 212, 221,
+  223, 216, 224, 227, 227, 227, 226, 225, 224, 225, 228, 227, 224, 221, 222, 226,
+  231, 234, 227, 223, 226, 228, 223, 210, 201, 200, 208, 201, 202, 220, 237, 244,
+  242, 242, 241, 235, 225, 220, 220, 218, 216, 214, 211, 218, 226, 220, 202, 190,
+  199, 214, 216, 221, 231, 233, 231, 227, 226, 226, 226, 219, 214, 213, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 114, 137, 137, 120, 109,
+  99, 92, 92, 75, 50, 98, 159, 202, 217, 200, 207, 209, 215, 217, 211, 211,
+  215, 215, 213, 222, 224, 224, 226, 226, 226, 225, 226, 225, 229, 228, 225, 223,
+  227, 228, 227, 232, 230, 225, 222, 216, 212, 208, 204, 216, 213, 214, 225, 236,
+  240, 233, 224, 226, 225, 222, 226, 229, 227, 223, 216, 212, 209, 218, 227, 217,
+  195, 196, 211, 222, 225, 234, 239, 233, 223, 223, 229, 225, 220, 216, 213, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 88, 123, 137, 124,
+  109, 97, 91, 93, 61, 34, 58, 91, 140, 187, 188, 185, 202, 211, 214, 211,
+  207, 210, 214, 216, 222, 223, 223, 223, 225, 225, 226, 225, 226, 229, 231, 226,
+  227, 230, 233, 231, 227, 231, 229, 219, 207, 204, 212, 224, 229, 225, 221, 218,
+  213, 207, 201, 197, 168, 169, 175, 188, 206, 218, 220, 217, 194, 206, 223, 228,
+  221, 206, 200, 201, 216, 223, 229, 233, 225, 218, 222, 227, 223, 220, 216, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 59, 105, 133,
+  130, 114, 98, 92, 95, 70, 50, 49, 54, 106, 184, 205, 189, 196, 206, 213,
+  210, 205, 207, 214, 220, 219, 221, 222, 222, 224, 224, 225, 224, 223, 225, 228,
+  224, 227, 231, 233, 231, 228, 227, 220, 210, 202, 204, 217, 228, 229, 228, 223,
+  215, 204, 197, 196, 201, 223, 217, 211, 212, 218, 220, 217, 212, 204, 223, 238,
+  235, 225, 215, 203, 192, 203, 212, 221, 223, 217, 213, 222, 230, 223, 220, 216,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 88,
+  124, 129, 121, 107, 96, 94, 70, 58, 46, 42, 89, 174, 210, 193, 201, 207,
+  211, 210, 207, 208, 213, 219, 218, 220, 221, 221, 223, 222, 224, 223, 219, 222,
+  224, 223, 226, 230, 230, 227, 232, 221, 207, 202, 209, 217, 218, 217, 221, 223,
+  222, 218, 214, 213, 216, 224, 230, 226, 216, 208, 204, 204, 204, 204, 227, 236,
+  242, 234, 223, 213, 203, 197, 196, 206, 215, 216, 213, 215, 224, 233, 223, 219,
+  216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  194, 104, 117, 124, 117, 103, 94, 73, 60, 44, 44, 79, 150, 203, 206, 213,
+  209, 208, 209, 211, 212, 213, 214, 218, 219, 221, 221, 222, 221, 223, 223, 219,
+  223, 225, 225, 227, 229, 227, 222, 218, 212, 206, 208, 217, 222, 221, 215, 222,
+  221, 219, 217, 217, 215, 214, 216, 222, 224, 217, 210, 205, 210, 222, 231, 231,
+  229, 231, 232, 226, 213, 207, 209, 196, 206, 211, 212, 212, 217, 227, 233, 222,
+  217, 228, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 79, 96, 116, 122, 110, 99, 84, 70, 48, 48, 70, 125, 195, 218,
+  220, 213, 208, 211, 214, 214, 212, 213, 218, 219, 221, 221, 223, 222, 222, 223,
+  222, 225, 230, 230, 233, 232, 225, 217, 198, 209, 219, 222, 221, 220, 226, 230,
+  232, 228, 223, 223, 223, 221, 213, 210, 224, 225, 221, 211, 205, 208, 219, 229,
+  239, 235, 238, 244, 239, 222, 212, 214, 201, 208, 211, 210, 212, 220, 228, 229,
+  220, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 52, 69, 101, 118, 115, 107, 86, 74, 48, 46, 56, 101, 179,
+  208, 220, 211, 208, 211, 212, 209, 211, 216, 219, 219, 221, 221, 221, 222, 222,
+  224, 222, 225, 231, 232, 234, 230, 219, 207, 202, 214, 225, 228, 222, 223, 230,
+  236, 232, 228, 226, 225, 227, 225, 219, 217, 225, 226, 224, 221, 224, 228, 233,
+  235, 233, 237, 239, 237, 234, 227, 218, 208, 211, 215, 214, 212, 217, 226, 229,
+  225, 219, 216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 182, 51, 86, 111, 117, 114, 96, 91, 65, 59, 64, 102,
+  179, 202, 215, 211, 210, 212, 210, 206, 211, 219, 219, 220, 221, 221, 222, 221,
+  222, 222, 218, 223, 227, 231, 232, 226, 212, 198, 221, 221, 221, 223, 226, 229,
+  231, 230, 226, 222, 220, 219, 218, 216, 213, 213, 219, 215, 212, 215, 219, 221,
+  216, 209, 206, 216, 216, 207, 209, 222, 218, 203, 219, 220, 217, 214, 221, 231,
+  232, 224, 218, 229, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 183, 72, 105, 118, 113, 107, 96, 69, 66, 63,
+  88, 167, 201, 214, 215, 214, 210, 210, 213, 215, 213, 219, 218, 218, 218, 219,
+  220, 222, 224, 224, 224, 226, 228, 232, 228, 218, 212, 222, 221, 218, 219, 223,
+  225, 219, 213, 209, 211, 207, 201, 200, 200, 198, 194, 195, 192, 189, 193, 198,
+  199, 196, 191, 217, 213, 210, 207, 205, 206, 209, 212, 222, 227, 226, 219, 222,
+  233, 231, 219, 218, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 65, 94, 110, 111, 105, 101, 82, 81,
+  72, 84, 155, 197, 212, 215, 215, 211, 211, 213, 216, 214, 217, 218, 218, 217,
+  218, 220, 222, 223, 224, 223, 225, 230, 234, 230, 222, 214, 225, 214, 212, 212,
+  187, 154, 150, 171, 184, 189, 189, 186, 186, 188, 187, 182, 194, 190, 190, 195,
+  201, 199, 194, 187, 165, 167, 173, 181, 189, 201, 213, 219, 226, 227, 227, 221,
+  221, 230, 226, 215, 216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 188, 81, 99, 108, 102, 100, 88,
+  87, 68, 67, 131, 190, 210, 214, 216, 214, 213, 214, 217, 215, 217, 217, 218,
+  218, 219, 220, 223, 223, 223, 223, 226, 230, 235, 232, 226, 219, 227, 219, 217,
+  212, 185, 151, 149, 171, 174, 180, 184, 182, 185, 188, 186, 181, 178, 179, 186,
+  198, 210, 214, 210, 206, 194, 195, 198, 205, 211, 221, 229, 231, 227, 229, 228,
+  221, 221, 224, 219, 209, 226, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 192, 89, 106, 107, 103,
+  94, 85, 62, 54, 113, 189, 205, 212, 217, 215, 213, 215, 218, 216, 218, 217,
+  218, 218, 219, 219, 221, 224, 220, 222, 225, 229, 232, 233, 229, 224, 227, 229,
+  223, 214, 211, 211, 209, 203, 205, 210, 215, 215, 215, 217, 216, 209, 192, 195,
+  207, 221, 233, 242, 243, 241, 231, 228, 226, 225, 226, 226, 227, 225, 223, 224,
+  224, 219, 218, 218, 214, 207, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 77, 101, 113,
+  112, 106, 95, 73, 61, 106, 190, 202, 210, 216, 216, 214, 216, 218, 217, 218,
+  218, 217, 218, 219, 220, 222, 224, 220, 222, 225, 228, 230, 230, 229, 227, 228,
+  228, 221, 216, 224, 234, 229, 218, 221, 225, 228, 225, 222, 222, 219, 213, 210,
+  210, 216, 224, 230, 235, 236, 235, 222, 218, 219, 221, 226, 229, 231, 225, 219,
+  219, 220, 217, 215, 214, 209, 222, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 190, 88,
+  108, 111, 111, 100, 88, 76, 101, 178, 199, 208, 216, 215, 214, 214, 218, 217,
+  218, 218, 217, 217, 219, 220, 222, 222, 222, 223, 227, 228, 229, 228, 229, 228,
+  230, 222, 221, 227, 224, 216, 218, 230, 221, 225, 224, 219, 216, 215, 213, 207,
+  209, 210, 212, 214, 217, 218, 220, 220, 224, 222, 222, 225, 231, 232, 232, 228,
+  217, 216, 215, 212, 207, 203, 218, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  193, 103, 106, 105, 91, 91, 86, 96, 168, 195, 206, 216, 215, 214, 213, 217,
+  216, 218, 217, 218, 217, 219, 221, 222, 223, 226, 227, 231, 230, 229, 228, 229,
+  230, 230, 225, 224, 227, 223, 216, 219, 231, 232, 232, 231, 226, 225, 226, 224,
+  221, 220, 222, 224, 227, 229, 230, 232, 233, 233, 228, 225, 225, 227, 225, 218,
+  210, 217, 213, 209, 202, 191, 184, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 102, 103, 97, 78, 87, 92, 100, 168, 193, 206, 216, 217, 214, 213,
+  214, 214, 218, 217, 217, 217, 217, 220, 221, 222, 227, 230, 230, 231, 229, 227,
+  228, 230, 227, 232, 226, 213, 216, 227, 227, 216, 221, 224, 222, 218, 219, 223,
+  222, 221, 223, 227, 230, 229, 230, 229, 229, 229, 231, 228, 225, 227, 231, 229,
+  223, 215, 212, 205, 199, 189, 177, 166, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 91, 92, 75, 70, 70, 95, 161, 198, 204, 212, 223, 227,
+  212, 204, 217, 216, 214, 213, 218, 223, 223, 219, 213, 225, 225, 225, 228, 229,
+  227, 226, 224, 222, 221, 217, 215, 215, 217, 220, 223, 225, 226, 226, 223, 219,
+  217, 220, 223, 228, 226, 224, 223, 225, 226, 228, 227, 224, 219, 220, 229, 230,
+  222, 218, 217, 201, 191, 184, 175, 167, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 196, 91, 82, 76, 71, 92, 157, 199, 207, 210, 218,
+  225, 216, 206, 211, 218, 215, 214, 215, 218, 221, 219, 216, 222, 223, 224, 224,
+  225, 226, 223, 222, 219, 218, 217, 215, 215, 217, 219, 221, 226, 227, 226, 223,
+  221, 220, 222, 224, 225, 225, 224, 221, 218, 216, 220, 222, 223, 223, 226, 230,
+  228, 221, 218, 212, 191, 181, 176, 169, 164, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 200, 90, 85, 71, 80, 137, 197, 208, 209,
+  211, 222, 221, 211, 207, 216, 217, 216, 216, 217, 219, 221, 222, 223, 222, 223,
+  223, 225, 223, 222, 220, 221, 221, 220, 219, 217, 219, 219, 219, 222, 223, 224,
+  222, 219, 218, 220, 221, 220, 222, 223, 217, 212, 210, 216, 222, 222, 228, 231,
+  229, 225, 221, 214, 201, 167, 159, 157, 151, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 81, 88, 81, 81, 127, 189, 208,
+  212, 207, 216, 222, 215, 211, 212, 214, 216, 217, 217, 219, 222, 227, 223, 222,
+  222, 223, 225, 223, 220, 219, 223, 223, 224, 223, 222, 220, 219, 218, 221, 221,
+  221, 221, 219, 218, 219, 219, 220, 221, 220, 217, 217, 219, 224, 227, 224, 230,
+  231, 227, 225, 222, 209, 186, 152, 145, 144, 180, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 83, 87, 87, 126, 181,
+  208, 216, 208, 213, 220, 218, 218, 208, 210, 215, 217, 219, 221, 225, 229, 223,
+  223, 222, 223, 224, 223, 220, 217, 222, 222, 223, 222, 221, 219, 218, 218, 219,
+  218, 219, 220, 219, 218, 218, 218, 221, 218, 216, 218, 225, 232, 233, 232, 229,
+  228, 227, 224, 225, 220, 196, 165, 151, 144, 181, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 70, 72, 112,
+  181, 209, 217, 210, 212, 216, 217, 224, 209, 211, 211, 213, 216, 221, 224, 226,
+  224, 223, 223, 224, 225, 223, 221, 218, 220, 219, 220, 218, 218, 217, 217, 217,
+  219, 219, 218, 220, 221, 221, 218, 218, 221, 217, 215, 220, 229, 236, 235, 230,
+  231, 227, 223, 222, 218, 206, 177, 145, 139, 132, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 51,
+  101, 190, 209, 216, 211, 213, 213, 213, 221, 217, 213, 208, 206, 210, 218, 222,
+  224, 226, 225, 224, 225, 226, 225, 222, 218, 221, 220, 221, 219, 219, 218, 218,
+  219, 219, 220, 219, 221, 224, 223, 219, 219, 222, 221, 221, 224, 228, 232, 229,
+  224, 231, 226, 222, 222, 208, 181, 150, 125, 121, 114, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 205, 198, 210, 211, 211, 215, 213, 209, 215, 226, 217, 204, 200, 206, 214,
+  220, 222, 228, 226, 226, 226, 227, 226, 223, 219, 224, 223, 223, 221, 222, 221,
+  222, 223, 220, 219, 219, 221, 224, 223, 218, 218, 224, 229, 229, 229, 229, 227,
+  224, 221, 229, 223, 222, 220, 197, 160, 131, 113, 115, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 238, 205, 210, 214, 212, 209, 209, 215, 218, 224, 224, 212, 196,
+  193, 207, 221, 228, 224, 223, 224, 229, 231, 230, 225, 222, 222, 222, 220, 220,
+  221, 226, 229, 231, 229, 226, 225, 223, 221, 217, 218, 229, 230, 228, 227, 230,
+  231, 233, 232, 225, 223, 222, 215, 192, 164, 144, 135, 173, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 238, 208, 213, 213, 207, 205, 209, 212, 220, 223, 221,
+  213, 208, 207, 209, 215, 219, 224, 228, 228, 228, 229, 228, 226, 226, 226, 226,
+  225, 226, 230, 234, 225, 226, 225, 224, 223, 223, 220, 219, 225, 227, 225, 224,
+  224, 226, 228, 227, 229, 223, 220, 213, 195, 168, 148, 174, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 237, 204, 202, 201, 204, 210, 213, 218,
+  222, 222, 216, 205, 198, 203, 212, 222, 228, 226, 224, 226, 228, 229, 229, 228,
+  228, 226, 227, 230, 233, 225, 224, 225, 225, 225, 223, 219, 218, 224, 223, 222,
+  219, 220, 222, 224, 221, 229, 223, 219, 217, 203, 177, 153, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 235, 195, 197, 202, 208, 210,
+  213, 218, 223, 221, 210, 204, 198, 204, 213, 219, 219, 220, 223, 225, 226, 227,
+  227, 225, 223, 222, 224, 226, 229, 228, 229, 228, 226, 220, 215, 213, 222, 222,
+  219, 215, 216, 217, 219, 218, 221, 219, 222, 222, 207, 181, 189, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 234, 194, 197,
+  201, 209, 217, 224, 224, 223, 218, 204, 203, 205, 207, 212, 216, 219, 217, 227,
+  228, 228, 226, 224, 223, 224, 225, 229, 228, 228, 227, 225, 219, 213, 212, 219,
+  219, 215, 211, 211, 212, 215, 214, 210, 215, 225, 226, 208, 180, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 232,
+  181, 188, 200, 211, 219, 222, 224, 223, 216, 209, 202, 202, 205, 210, 212, 211,
+  226, 227, 229, 229, 228, 227, 228, 229, 228, 225, 225, 224, 223, 220, 216, 215,
+  215, 214, 211, 206, 207, 210, 213, 213, 213, 218, 227, 226, 205, 202, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 234, 195, 200, 209, 215, 220, 220, 223, 219, 211, 206, 203, 202, 205,
+  206, 214, 216, 220, 223, 226, 227, 228, 230, 229, 225, 223, 222, 221, 218, 215,
+  214, 216, 215, 211, 207, 208, 211, 217, 217, 228, 226, 225, 218, 200, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 235, 192, 199, 208, 216, 219, 223, 222, 220, 213, 205, 202,
+  206, 210, 205, 208, 214, 217, 221, 223, 227, 228, 233, 228, 224, 221, 219, 216,
+  212, 213, 221, 221, 215, 209, 209, 211, 215, 216, 237, 228, 219, 210, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 233, 195, 199, 199, 205, 215, 221, 219, 215,
+  216, 216, 216, 224, 220, 217, 214, 214, 216, 220, 221, 220, 221, 222, 223, 226,
+  224, 223, 224, 222, 225, 220, 215, 210, 207, 209, 210, 217, 208, 210, 207, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 200, 191, 201, 210, 214,
+  219, 224, 223, 219, 223, 222, 219, 216, 214, 213, 213, 212, 213, 213, 216, 221,
+  224, 227, 228, 228, 226, 225, 219, 217, 216, 218, 217, 214, 207, 195, 195, 213,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 197, 199,
+  203, 213, 222, 222, 218, 216, 218, 217, 216, 214, 213, 209, 206, 207, 208, 211,
+  215, 220, 221, 223, 223, 228, 222, 217, 219, 223, 222, 215, 205, 201, 182, 173,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 240,
+  204, 200, 203, 212, 215, 215, 211, 212, 214, 215, 214, 212, 212, 209, 209, 209,
+  211, 213, 214, 215, 215, 214, 220, 218, 218, 222, 222, 215, 201, 187, 182, 158,
+  142, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 240, 203, 204, 204, 204, 207, 207, 208, 208, 210, 212, 214, 215, 218,
+  217, 217, 217, 216, 215, 215, 212, 213, 215, 222, 223, 218, 202, 181, 164, 150,
+  131, 166, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 209, 204, 201, 201, 201, 202, 202, 205, 209, 214, 216,
+  222, 222, 222, 222, 221, 222, 222, 220, 219, 221, 226, 224, 208, 183, 156, 136,
+  133, 125, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 216, 198, 198, 199, 200, 203, 208, 212,
+  216, 224, 224, 223, 222, 222, 224, 223, 221, 227, 224, 225, 222, 212, 190, 162,
+  141, 134, 174, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 236, 198, 201, 202, 205, 208,
+  211, 213, 223, 221, 221, 219, 219, 219, 218, 217, 222, 217, 219, 226, 230, 223,
+  201, 180, 141, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 213,
+  214, 214, 214, 222, 220, 222, 228, 225, 217, 215, 220, 222, 219, 229, 234, 212,
+  231, 221, 226, 222, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 213, 210, 211, 208, 208, 214, 216, 215, 220, 226, 226, 225, 228, 223,
+  196, 217, 219, 234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 241, 206, 202, 204, 207, 211, 215, 221, 226, 228, 232,
+  220, 185, 207, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 209, 207, 206, 220, 226,
+  232, 220, 188, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 219, 184, 195, 193, 185, 186, 183, 177, 178, 196,
+  206, 212, 209, 205, 207, 212, 228, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 135, 125, 127, 139, 182, 192, 189, 182, 185, 182, 177, 180,
+  185, 198, 210, 212, 209, 207, 209, 211, 210, 205, 202, 222, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 206, 131, 136, 134, 142, 157, 168, 180, 178, 171, 171, 167, 165,
+  171, 196, 212, 212, 200, 202, 217, 212, 192, 213, 209, 206, 209, 214, 218, 217,
+  229, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 214, 133, 139, 157, 176, 213, 142, 137, 165, 179, 178, 169, 168, 169,
+  168, 177, 180, 185, 198, 209, 193, 171, 184, 214, 195, 193, 194, 196, 202, 207,
+  205, 205, 207, 211, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 146, 193, 179, 157, 148, 145, 138, 135, 137, 123, 132, 127, 120, 126,
+  128, 126, 132, 151, 167, 169, 161, 173, 195, 188, 162, 186, 185, 185, 188, 192,
+  194, 192, 192, 189, 195, 198, 199, 202, 223, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 162,
+  177, 185, 158, 144, 137, 133, 131, 133, 134, 134, 134, 137, 128, 128, 117, 111,
+  122, 125, 116, 114, 124, 125, 151, 179, 168, 137, 145, 181, 190, 190, 191, 193,
+  194, 195, 195, 194, 205, 201, 190, 179, 179, 191, 201, 207, 199, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 129, 135, 138,
+  136, 136, 142, 150, 153, 145, 134, 122, 114, 110, 111, 115, 117, 127, 122, 106,
+  101, 114, 116, 102, 93, 95, 104, 111, 122, 144, 159, 150, 130, 165, 168, 173,
+  180, 187, 194, 199, 203, 213, 210, 198, 186, 180, 183, 186, 185, 193, 194, 215,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 123, 109, 128, 138, 131, 136,
+  138, 138, 137, 135, 127, 117, 120, 115, 108, 103, 104, 111, 119, 125, 119, 116,
+  103, 100, 114, 116, 101, 93, 87, 74, 84, 113, 119, 101, 108, 134, 133, 137,
+  144, 153, 163, 174, 183, 190, 190, 197, 200, 198, 194, 191, 182, 174, 185, 186,
+  190, 193, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 77, 104, 119, 127, 130, 132, 136,
+  134, 130, 124, 127, 129, 121, 110, 108, 109, 109, 108, 110, 115, 120, 122, 102,
+  105, 97, 97, 111, 114, 103, 98, 105, 86, 75, 83, 94, 92, 90, 93, 133,
+  134, 137, 141, 146, 152, 159, 164, 172, 178, 186, 189, 193, 196, 195, 192, 177,
+  180, 186, 191, 195, 198, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 71, 90, 107, 113, 121, 134, 137, 132,
+  138, 127, 123, 125, 125, 115, 105, 102, 108, 110, 113, 115, 118, 117, 112, 106,
+  107, 124, 128, 110, 96, 98, 103, 101, 109, 98, 87, 80, 77, 78, 85, 95,
+  104, 131, 152, 151, 140, 138, 145, 152, 155, 158, 161, 163, 171, 183, 190, 190,
+  171, 172, 175, 180, 189, 194, 196, 216, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 183, 57, 90, 104, 116, 120, 126, 135, 135,
+  127, 131, 122, 117, 116, 112, 102, 93, 90, 88, 100, 106, 99, 87, 81, 88,
+  98, 113, 116, 111, 102, 98, 103, 103, 99, 86, 114, 120, 90, 69, 75, 80,
+  73, 76, 96, 113, 120, 124, 131, 141, 144, 162, 159, 153, 148, 151, 161, 169,
+  172, 175, 174, 175, 179, 185, 191, 192, 192, 193, 212, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 174, 8, 18, 57, 99, 109, 118, 124, 125, 130, 134,
+  131, 120, 122, 117, 111, 107, 101, 91, 86, 86, 95, 97, 98, 100, 100, 100,
+  99, 98, 101, 111, 117, 109, 94, 90, 102, 114, 93, 109, 124, 115, 91, 71,
+  67, 73, 79, 87, 97, 107, 119, 131, 139, 139, 145, 149, 153, 153, 152, 153,
+  151, 146, 167, 167, 169, 176, 186, 191, 190, 188, 190, 190, 189, 210, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 17, 23, 40, 78, 113, 116, 120, 122, 123, 127,
+  129, 123, 113, 109, 105, 99, 95, 89, 86, 86, 92, 94, 93, 96, 108, 114,
+  109, 97, 88, 94, 106, 119, 117, 100, 90, 101, 118, 113, 105, 109, 122, 115,
+  92, 77, 80, 74, 74, 78, 86, 99, 111, 118, 119, 129, 140, 150, 156, 158,
+  157, 152, 146, 153, 151, 153, 167, 185, 196, 193, 187, 191, 191, 190, 189, 210,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 175, 16, 22, 43, 77, 104, 114, 118, 118, 116, 117,
+  118, 117, 111, 103, 96, 94, 89, 84, 83, 88, 93, 99, 96, 104, 114, 119,
+  109, 94, 88, 92, 98, 95, 96, 106, 109, 105, 98, 94, 105, 115, 117, 113,
+  118, 122, 103, 77, 65, 68, 73, 79, 86, 95, 107, 116, 134, 140, 142, 141,
+  144, 150, 157, 159, 150, 142, 138, 149, 170, 188, 195, 195, 191, 192, 192, 191,
+  188, 184, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 14, 14, 14, 25, 61, 103, 120, 116, 115, 113, 112,
+  110, 108, 104, 99, 93, 95, 96, 92, 89, 91, 98, 103, 105, 104, 101, 105,
+  113, 112, 104, 101, 104, 91, 93, 95, 96, 98, 96, 90, 85, 103, 108, 117,
+  124, 124, 115, 101, 90, 83, 88, 92, 93, 88, 89, 100, 114, 126, 134, 139,
+  140, 140, 142, 145, 145, 157, 147, 135, 135, 147, 169, 189, 202, 194, 195, 194,
+  192, 189, 185, 206, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 172, 5, 7, 7, 17, 46, 84, 113, 118, 110, 102, 102,
+  102, 101, 96, 91, 89, 89, 98, 100, 99, 98, 101, 104, 100, 94, 86, 73,
+  72, 91, 108, 110, 105, 102, 92, 104, 108, 93, 80, 81, 92, 100, 109, 95,
+  98, 121, 120, 98, 92, 104, 100, 102, 103, 96, 80, 70, 74, 88, 110, 125,
+  139, 146, 147, 146, 141, 136, 152, 152, 148, 139, 136, 149, 177, 200, 197, 197,
+  195, 193, 189, 186, 184, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 171, 3, 2, 2, 5, 30, 76, 110, 117, 112, 108, 87,
+  88, 91, 92, 88, 85, 86, 90, 96, 99, 99, 98, 100, 99, 87, 73, 67,
+  71, 84, 103, 108, 102, 101, 109, 115, 117, 106, 86, 80, 94, 104, 103, 107,
+  100, 90, 87, 96, 106, 104, 96, 112, 113, 111, 104, 86, 71, 71, 82, 109,
+  123, 134, 139, 142, 148, 154, 156, 138, 153, 163, 153, 138, 140, 167, 196, 200,
+  200, 197, 194, 190, 187, 185, 183, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 5, 2, 10, 9, 23, 57, 98, 118, 111, 96, 87,
+  78, 79, 81, 83, 85, 90, 95, 99, 106, 106, 107, 104, 92, 78, 70, 71,
+  60, 70, 87, 102, 106, 104, 110, 120, 127, 107, 85, 94, 123, 131, 117, 107,
+  77, 72, 82, 84, 86, 112, 129, 112, 113, 107, 103, 103, 89, 66, 57, 60,
+  79, 92, 115, 136, 142, 141, 146, 156, 144, 157, 149, 149, 152, 131, 140, 194,
+  200, 203, 203, 199, 190, 182, 181, 184, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 173, 6, 4, 14, 19, 40, 76, 104, 109, 98, 83,
+  76, 73, 73, 73, 74, 78, 84, 91, 95, 107, 98, 88, 81, 74, 65, 62,
+  64, 59, 68, 88, 109, 118, 116, 116, 120, 105, 102, 98, 112, 133, 127, 103,
+  91, 69, 73, 89, 95, 95, 116, 129, 117, 124, 120, 115, 105, 86, 66, 54,
+  53, 81, 87, 104, 123, 135, 140, 145, 151, 153, 160, 150, 147, 149, 131, 136,
+  185, 203, 210, 214, 213, 204, 193, 186, 183, 207, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 171, 8, 5, 4, 14, 26, 59, 94, 108, 99, 85,
+  74, 68, 68, 68, 70, 74, 80, 87, 94, 98, 97, 84, 70, 65, 64, 59,
+  57, 58, 61, 72, 91, 113, 123, 121, 114, 110, 90, 102, 112, 127, 136, 118,
+  92, 83, 106, 111, 125, 127, 122, 132, 140, 131, 121, 122, 116, 103, 89, 79,
+  68, 60, 85, 85, 93, 110, 128, 139, 145, 149, 150, 153, 144, 144, 150, 138,
+  143, 182, 208, 216, 222, 221, 213, 201, 190, 183, 181, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 4, 9, 3, 1, 15, 37, 71, 101, 104, 92,
+  80, 72, 66, 60, 64, 71, 80, 88, 94, 95, 95, 79, 72, 67, 67, 67,
+  62, 58, 58, 68, 80, 97, 112, 117, 111, 102, 97, 94, 109, 118, 123, 121,
+  104, 91, 95, 127, 127, 131, 129, 126, 126, 128, 125, 121, 122, 112, 100, 97,
+  100, 87, 68, 89, 89, 93, 105, 121, 135, 145, 150, 147, 148, 143, 145, 152,
+  144, 145, 169, 205, 214, 219, 219, 215, 206, 194, 184, 183, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 171, 7, 10, 1, 3, 21, 61, 84, 101, 96,
+  84, 75, 67, 58, 56, 62, 73, 84, 91, 91, 85, 79, 68, 66, 67, 68,
+  64, 58, 60, 64, 79, 92, 106, 110, 106, 100, 95, 94, 97, 109, 113, 110,
+  104, 93, 93, 109, 121, 122, 121, 123, 125, 121, 115, 116, 136, 131, 115, 102,
+  107, 112, 93, 63, 90, 95, 99, 104, 112, 125, 139, 148, 153, 152, 149, 149,
+  150, 142, 137, 144, 180, 192, 205, 213, 217, 214, 199, 184, 189, 187, 255, 255,
+  255, 255, 255, 255, 255, 255, 7, 5, 8, 9, 3, 15, 44, 92, 98, 98,
+  88, 74, 63, 57, 51, 68, 71, 78, 86, 89, 85, 75, 66, 68, 64, 60,
+  56, 52, 53, 64, 75, 90, 101, 110, 107, 99, 97, 98, 100, 92, 101, 102,
+  99, 96, 89, 92, 110, 120, 125, 124, 128, 131, 116, 104, 112, 142, 131, 114,
+  108, 118, 124, 99, 68, 91, 101, 109, 107, 107, 116, 130, 139, 147, 145, 146,
+  149, 148, 143, 139, 136, 146, 163, 181, 197, 210, 215, 202, 184, 192, 190, 255,
+  255, 255, 255, 255, 255, 255, 255, 5, 4, 5, 8, 10, 36, 78, 108, 101,
+  90, 80, 66, 56, 55, 59, 80, 77, 76, 77, 80, 78, 71, 65, 69, 60,
+  53, 51, 55, 63, 78, 91, 94, 101, 103, 96, 91, 92, 93, 92, 87, 92,
+  89, 89, 94, 92, 95, 111, 112, 120, 117, 114, 113, 95, 91, 114, 135, 125,
+  115, 117, 128, 130, 108, 84, 96, 108, 116, 113, 110, 115, 124, 129, 138, 137,
+  141, 144, 141, 145, 147, 141, 129, 141, 152, 164, 183, 198, 195, 183, 192, 190,
+  255, 255, 255, 255, 255, 255, 255, 1, 4, 2, 3, 6, 14, 52, 103, 107,
+  95, 82, 73, 63, 54, 61, 74, 80, 72, 64, 62, 65, 68, 68, 66, 66,
+  56, 50, 56, 67, 80, 93, 103, 95, 98, 93, 85, 82, 84, 83, 77, 90,
+  90, 83, 84, 94, 97, 101, 117, 108, 119, 112, 104, 103, 91, 104, 145, 136,
+  128, 120, 123, 131, 127, 107, 90, 105, 116, 122, 119, 116, 120, 123, 123, 143,
+  138, 142, 140, 135, 141, 145, 136, 132, 132, 129, 130, 150, 176, 185, 182, 191,
+  189, 210, 255, 255, 255, 255, 255, 255, 6, 11, 9, 0, 7, 56, 100, 108,
+  92, 88, 71, 52, 46, 59, 72, 76, 78, 74, 69, 68, 70, 73, 73, 71,
+  67, 61, 75, 101, 103, 86, 82, 95, 87, 92, 94, 87, 75, 69, 73, 79,
+  81, 66, 71, 81, 83, 99, 112, 104, 91, 91, 94, 95, 91, 93, 109, 128,
+  130, 116, 126, 132, 135, 136, 112, 92, 119, 121, 133, 127, 104, 109, 122, 115,
+  131, 137, 141, 136, 133, 134, 137, 139, 136, 137, 130, 118, 115, 129, 146, 155,
+  169, 178, 184, 255, 255, 255, 255, 255, 255, 18, 9, 7, 14, 41, 86, 108,
+  99, 84, 79, 66, 54, 54, 67, 79, 83, 79, 70, 60, 57, 62, 71, 80,
+  84, 85, 94, 96, 92, 93, 93, 81, 64, 89, 86, 80, 73, 67, 69, 73,
+  79, 72, 71, 77, 85, 84, 88, 92, 88, 86, 88, 88, 90, 90, 94, 112,
+  130, 127, 121, 126, 140, 138, 130, 119, 99, 117, 122, 132, 133, 117, 111, 117,
+  119, 127, 132, 136, 133, 132, 134, 137, 137, 132, 130, 131, 134, 128, 119, 121,
+  129, 139, 161, 182, 255, 255, 255, 255, 255, 180, 38, 25, 27, 47, 74, 101,
+  104, 86, 81, 72, 61, 57, 64, 77, 85, 86, 73, 72, 70, 75, 82, 87,
+  88, 87, 105, 93, 85, 84, 74, 59, 56, 64, 85, 78, 68, 66, 67, 71,
+  70, 69, 62, 71, 73, 75, 78, 75, 71, 77, 80, 79, 79, 84, 90, 99,
+  115, 130, 124, 127, 123, 145, 137, 117, 126, 110, 115, 128, 133, 134, 129, 116,
+  111, 121, 127, 130, 132, 130, 131, 134, 134, 130, 128, 122, 128, 141, 133, 111,
+  102, 112, 118, 138, 163, 255, 255, 255, 255, 255, 42, 46, 42, 56, 77, 87,
+  95, 97, 89, 85, 68, 53, 56, 72, 84, 88, 86, 81, 82, 85, 90, 96,
+  96, 90, 84, 90, 73, 64, 62, 46, 31, 49, 84, 75, 71, 68, 67, 68,
+  67, 61, 56, 56, 68, 60, 57, 71, 70, 65, 79, 70, 71, 74, 81, 91,
+  103, 115, 123, 119, 131, 116, 138, 124, 98, 127, 112, 115, 139, 140, 130, 131,
+  123, 111, 118, 132, 133, 132, 130, 130, 132, 130, 123, 123, 118, 121, 129, 125,
+  112, 109, 117, 118, 123, 139, 163, 255, 255, 255, 255, 45, 46, 45, 65, 86,
+  91, 94, 99, 97, 86, 61, 45, 55, 77, 89, 90, 88, 99, 91, 82, 78,
+  78, 80, 81, 80, 55, 62, 55, 36, 34, 54, 74, 81, 70, 69, 67, 64,
+  59, 55, 52, 51, 57, 64, 55, 55, 73, 75, 68, 78, 62, 67, 75, 83,
+  93, 103, 109, 111, 114, 127, 106, 120, 104, 86, 122, 111, 116, 148, 145, 123,
+  125, 127, 116, 112, 129, 131, 131, 130, 131, 133, 130, 124, 116, 118, 119, 116,
+  117, 120, 122, 123, 116, 119, 135, 161, 255, 255, 255, 255, 48, 56, 51, 63,
+  83, 91, 96, 95, 83, 76, 54, 43, 59, 79, 87, 90, 92, 92, 84, 75,
+  70, 67, 65, 63, 60, 47, 41, 39, 46, 63, 78, 78, 71, 68, 67, 61,
+  52, 45, 44, 51, 58, 62, 64, 61, 65, 77, 77, 68, 66, 60, 69, 79,
+  86, 92, 100, 102, 99, 106, 116, 101, 100, 88, 88, 117, 108, 121, 145, 145,
+  125, 119, 126, 119, 109, 116, 122, 126, 126, 128, 132, 132, 129, 113, 119, 121,
+  116, 115, 122, 121, 116, 107, 116, 140, 168, 255, 255, 255, 255, 48, 56, 56,
+  70, 84, 88, 93, 87, 68, 62, 51, 53, 70, 78, 76, 81, 93, 72, 67,
+  63, 61, 60, 55, 48, 43, 52, 37, 43, 72, 90, 82, 73, 75, 64, 61,
+  55, 48, 44, 48, 58, 66, 66, 61, 63, 67, 65, 65, 65, 57, 64, 74,
+  83, 86, 88, 93, 94, 91, 99, 105, 102, 88, 81, 103, 119, 108, 125, 129,
+  136, 134, 121, 119, 118, 111, 104, 113, 120, 122, 123, 126, 129, 128, 120, 118,
+  117, 117, 115, 112, 110, 110, 107, 107, 123, 156, 183, 255, 255, 255, 41, 37,
+  52, 76, 88, 87, 91, 90, 75, 56, 54, 66, 81, 77, 65, 71, 90, 66,
+  55, 42, 34, 36, 40, 44, 46, 42, 64, 79, 80, 83, 92, 90, 79, 58,
+  56, 55, 54, 55, 60, 66, 71, 69, 57, 61, 61, 47, 52, 65, 59, 69,
+  80, 87, 85, 85, 88, 90, 88, 94, 99, 104, 83, 81, 115, 122, 109, 129,
+  114, 127, 144, 126, 112, 116, 116, 99, 109, 117, 118, 116, 119, 121, 121, 130,
+  115, 110, 116, 114, 102, 102, 112, 119, 96, 92, 131, 180, 255, 255, 255, 26,
+  36, 23, 66, 90, 82, 88, 84, 70, 54, 58, 65, 70, 71, 69, 70, 73,
+  64, 46, 44, 54, 58, 59, 55, 42, 44, 66, 85, 91, 96, 96, 79, 57,
+  53, 62, 65, 58, 53, 59, 67, 71, 70, 62, 55, 55, 60, 62, 61, 59,
+  87, 88, 87, 85, 83, 82, 84, 86, 96, 97, 91, 86, 91, 110, 123, 126,
+  122, 123, 116, 116, 125, 121, 110, 109, 113, 112, 111, 112, 114, 116, 115, 114,
+  128, 121, 117, 118, 118, 116, 111, 108, 106, 114, 104, 114, 165, 255, 255, 255,
+  11, 19, 16, 65, 92, 85, 88, 82, 70, 56, 66, 74, 71, 64, 62, 64,
+  68, 58, 58, 70, 71, 56, 49, 57, 62, 70, 79, 83, 79, 77, 80, 74,
+  66, 60, 65, 65, 58, 55, 59, 64, 67, 72, 56, 52, 66, 69, 62, 67,
+  85, 78, 79, 81, 82, 83, 86, 90, 93, 89, 95, 94, 89, 94, 108, 118,
+  120, 114, 114, 105, 107, 122, 122, 110, 106, 113, 111, 110, 111, 113, 114, 114,
+  112, 107, 115, 115, 111, 108, 111, 110, 106, 100, 108, 100, 108, 154, 212, 255,
+  171, 5, 5, 13, 69, 95, 87, 85, 75, 67, 60, 74, 78, 67, 55, 56,
+  62, 67, 75, 75, 82, 75, 51, 45, 63, 77, 78, 84, 88, 84, 74, 65,
+  60, 59, 64, 66, 63, 58, 58, 63, 66, 66, 69, 60, 60, 69, 71, 70,
+  80, 97, 79, 79, 80, 80, 80, 82, 85, 87, 83, 92, 96, 94, 96, 106,
+  113, 113, 110, 108, 98, 101, 118, 119, 107, 102, 106, 105, 105, 108, 111, 115,
+  115, 114, 104, 119, 126, 119, 112, 115, 118, 116, 97, 103, 95, 101, 140, 179,
+  255, 8, 9, 2, 21, 77, 97, 86, 81, 69, 66, 67, 75, 71, 56, 50,
+  60, 71, 74, 98, 78, 64, 56, 46, 53, 69, 76, 77, 80, 85, 82, 69,
+  54, 50, 55, 64, 62, 59, 59, 63, 68, 69, 68, 63, 75, 74, 62, 63,
+  81, 87, 79, 78, 79, 80, 80, 79, 79, 81, 82, 80, 92, 99, 96, 97,
+  106, 110, 110, 110, 110, 101, 101, 112, 112, 103, 103, 97, 97, 98, 103, 108,
+  114, 117, 118, 100, 107, 113, 115, 109, 103, 103, 109, 104, 102, 93, 95, 130,
+  172, 255, 8, 8, 5, 30, 82, 94, 84, 79, 68, 72, 72, 69, 57, 46,
+  52, 70, 81, 82, 90, 61, 43, 42, 47, 60, 70, 68, 75, 74, 71, 63,
+  51, 46, 55, 67, 65, 61, 59, 62, 67, 70, 69, 68, 64, 73, 70, 61,
+  65, 80, 78, 63, 70, 73, 76, 79, 81, 83, 86, 88, 84, 95, 99, 96,
+  98, 106, 110, 108, 103, 109, 103, 100, 105, 103, 99, 106, 94, 94, 94, 98,
+  103, 109, 112, 114, 111, 101, 102, 114, 113, 98, 93, 102, 113, 105, 93, 94,
+  122, 166, 255, 6, 5, 7, 36, 82, 87, 81, 77, 67, 78, 72, 59, 46,
+  48, 63, 77, 79, 77, 51, 38, 38, 47, 50, 58, 65, 63, 57, 63, 64,
+  59, 51, 50, 57, 65, 68, 64, 63, 69, 71, 69, 64, 63, 68, 56, 54,
+  68, 75, 68, 64, 67, 75, 78, 80, 81, 80, 80, 81, 82, 87, 95, 97,
+  95, 99, 107, 108, 103, 92, 101, 98, 93, 95, 94, 95, 106, 99, 96, 94,
+  94, 96, 99, 101, 101, 118, 103, 101, 115, 116, 104, 97, 103, 114, 103, 95,
+  93, 111, 155, 209, 4, 2, 9, 41, 80, 81, 75, 72, 61, 75, 66, 50,
+  46, 62, 76, 76, 65, 58, 28, 26, 39, 53, 50, 52, 57, 55, 43, 55,
+  63, 58, 54, 57, 59, 58, 65, 63, 65, 73, 74, 68, 64, 64, 66, 51,
+  51, 69, 73, 61, 60, 73, 85, 87, 87, 84, 80, 77, 75, 75, 87, 93,
+  94, 94, 101, 109, 105, 95, 91, 97, 91, 86, 91, 90, 90, 100, 101, 97,
+  93, 91, 91, 92, 92, 91, 96, 94, 93, 95, 100, 102, 99, 93, 101, 96,
+  96, 93, 97, 139, 178, 0, 0, 13, 45, 81, 77, 71, 67, 52, 66, 61,
+  47, 50, 75, 86, 70, 49, 41, 31, 27, 36, 49, 49, 50, 52, 47, 51,
+  60, 57, 43, 39, 55, 67, 68, 59, 59, 66, 75, 77, 71, 67, 67, 58,
+  57, 59, 62, 62, 62, 66, 70, 81, 83, 85, 84, 82, 80, 79, 79, 84,
+  89, 92, 94, 102, 110, 103, 89, 97, 98, 89, 83, 89, 88, 85, 91, 99,
+  95, 90, 87, 87, 88, 89, 87, 88, 101, 101, 92, 97, 115, 115, 100, 89,
+  88, 97, 91, 86, 125, 171, 60, 3, 15, 67, 75, 68, 68, 62, 64, 63,
+  48, 45, 53, 72, 73, 53, 31, 25, 32, 39, 47, 51, 48, 45, 39, 37,
+  59, 53, 46, 44, 47, 54, 58, 60, 65, 67, 69, 71, 71, 69, 66, 65,
+  56, 57, 61, 65, 68, 71, 73, 74, 81, 87, 89, 86, 81, 80, 80, 80,
+  93, 84, 84, 97, 105, 101, 95, 94, 102, 98, 92, 85, 82, 81, 83, 84,
+  80, 88, 94, 95, 89, 85, 87, 90, 95, 95, 83, 87, 104, 99, 96, 118,
+  107, 93, 75, 84, 84, 87, 140, 200, 5, 11, 62, 68, 61, 63, 58, 61,
+  59, 43, 50, 64, 74, 61, 38, 29, 35, 34, 40, 46, 42, 35, 34, 40,
+  47, 54, 49, 44, 46, 52, 57, 58, 56, 59, 60, 62, 63, 64, 64, 64,
+  63, 57, 60, 62, 67, 70, 72, 76, 77, 84, 86, 88, 85, 82, 82, 82,
+  82, 94, 90, 90, 96, 99, 95, 88, 84, 94, 90, 86, 80, 77, 76, 76,
+  77, 82, 85, 88, 89, 87, 84, 82, 82, 82, 94, 88, 85, 99, 101, 99,
+  110, 104, 95, 74, 76, 71, 77, 130, 255, 7, 11, 60, 63, 55, 59, 58,
+  61, 56, 43, 53, 66, 69, 53, 34, 30, 39, 35, 44, 50, 44, 33, 31,
+  42, 54, 50, 47, 44, 49, 58, 62, 58, 52, 51, 52, 55, 57, 58, 59,
+  60, 60, 60, 62, 65, 68, 70, 74, 79, 82, 87, 86, 85, 85, 85, 84,
+  85, 86, 94, 97, 98, 97, 96, 95, 88, 80, 86, 84, 80, 76, 74, 72,
+  72, 72, 79, 79, 79, 83, 86, 86, 82, 78, 74, 92, 88, 76, 83, 94,
+  98, 101, 98, 99, 84, 79, 70, 73, 123, 255, 5, 14, 61, 61, 52, 60,
+  63, 65, 57, 46, 52, 58, 60, 54, 44, 37, 36, 42, 52, 60, 56, 45,
+  41, 45, 52, 50, 46, 44, 50, 58, 61, 55, 48, 45, 47, 52, 55, 57,
+  58, 57, 57, 60, 63, 65, 68, 69, 73, 80, 84, 89, 84, 82, 84, 85,
+  83, 85, 88, 90, 99, 102, 98, 97, 99, 95, 85, 85, 84, 81, 79, 76,
+  73, 72, 72, 71, 72, 74, 79, 84, 87, 84, 83, 79, 87, 82, 71, 70,
+  79, 89, 95, 92, 104, 96, 91, 79, 81, 124, 255, 2, 16, 61, 59, 48,
+  61, 67, 68, 56, 40, 51, 59, 59, 54, 50, 45, 43, 55, 59, 61, 60,
+  55, 50, 49, 50, 50, 45, 42, 45, 51, 53, 49, 42, 42, 46, 52, 58,
+  59, 58, 55, 53, 58, 61, 64, 66, 66, 71, 79, 85, 88, 83, 82, 85,
+  85, 81, 83, 90, 89, 98, 101, 96, 96, 100, 97, 89, 85, 85, 83, 81,
+  77, 74, 73, 71, 63, 66, 71, 74, 75, 78, 79, 81, 85, 80, 81, 82,
+  75, 70, 77, 86, 89, 102, 94, 89, 76, 80, 128, 255, 0, 14, 59, 55,
+  44, 60, 70, 69, 52, 30, 54, 69, 63, 50, 47, 53, 59, 62, 58, 53,
+  53, 54, 55, 53, 51, 45, 42, 40, 40, 43, 43, 41, 38, 43, 47, 53,
+  58, 58, 57, 53, 51, 57, 59, 63, 63, 62, 68, 77, 85, 87, 83, 84,
+  89, 84, 79, 80, 90, 94, 95, 94, 92, 92, 95, 91, 86, 88, 86, 84,
+  81, 76, 74, 71, 71, 62, 66, 68, 69, 67, 67, 69, 71, 81, 72, 83,
+  98, 87, 75, 75, 76, 87, 91, 78, 74, 64, 72, 128, 255, 1, 13, 57,
+  52, 43, 61, 73, 69, 49, 36, 58, 69, 59, 48, 52, 61, 65, 53, 51,
+  50, 54, 58, 58, 53, 49, 42, 43, 44, 45, 44, 43, 42, 41, 46, 49,
+  50, 52, 53, 51, 50, 49, 55, 58, 61, 61, 60, 66, 77, 86, 86, 84,
+  89, 93, 86, 76, 78, 92, 100, 93, 87, 91, 93, 92, 87, 86, 92, 89,
+  85, 82, 76, 74, 71, 71, 68, 68, 66, 67, 68, 68, 66, 66, 72, 67,
+  81, 93, 84, 83, 85, 75, 81, 78, 65, 69, 63, 68, 124, 255, 171, 13,
+  58, 53, 45, 64, 76, 71, 48, 50, 60, 59, 50, 52, 64, 68, 61, 39,
+  43, 52, 61, 66, 62, 53, 46, 40, 45, 50, 52, 49, 47, 47, 46, 49,
+  49, 47, 47, 46, 47, 47, 48, 55, 58, 60, 59, 58, 63, 76, 85, 85,
+  86, 93, 97, 87, 74, 79, 93, 104, 90, 84, 91, 96, 93, 90, 92, 97,
+  94, 89, 83, 78, 75, 74, 73, 73, 67, 63, 66, 72, 76, 72, 66, 68,
+  65, 75, 76, 70, 87, 96, 78, 74, 71, 63, 76, 72, 71, 122, 255, 255,
+  9, 34, 62, 45, 56, 90, 66, 41, 52, 55, 55, 57, 65, 70, 57, 37,
+  37, 49, 61, 64, 62, 60, 55, 50, 49, 45, 45, 50, 50, 45, 44, 49,
+  51, 53, 54, 54, 53, 53, 55, 56, 59, 57, 56, 55, 58, 68, 78, 87,
+  90, 97, 100, 96, 83, 64, 71, 103, 103, 102, 98, 94, 92, 92, 91, 92,
+  96, 95, 91, 89, 85, 82, 77, 74, 73, 73, 70, 68, 67, 69, 69, 71,
+  72, 71, 68, 67, 67, 69, 70, 70, 75, 74, 69, 67, 68, 77, 186, 255,
+  255, 7, 25, 52, 46, 59, 89, 68, 47, 51, 50, 53, 59, 61, 53, 44,
+  38, 46, 52, 58, 58, 56, 56, 53, 47, 49, 44, 44, 47, 48, 46, 49,
+  53, 55, 55, 55, 56, 55, 54, 54, 53, 61, 58, 55, 54, 57, 66, 79,
+  87, 95, 100, 98, 96, 87, 71, 79, 108, 106, 107, 103, 95, 94, 99, 99,
+  95, 100, 99, 95, 93, 88, 85, 80, 77, 76, 75, 75, 73, 72, 71, 70,
+  72, 77, 76, 73, 72, 71, 70, 68, 67, 69, 66, 62, 66, 72, 82, 255,
+  255, 255, 5, 13, 36, 48, 66, 85, 68, 56, 56, 54, 60, 66, 57, 40,
+  38, 47, 53, 54, 53, 50, 50, 52, 50, 45, 48, 43, 41, 43, 45, 46,
+  52, 56, 51, 51, 52, 53, 54, 54, 52, 49, 54, 54, 55, 58, 65, 78,
+  93, 102, 105, 106, 102, 97, 92, 81, 88, 116, 112, 116, 110, 99, 98, 107,
+  108, 99, 105, 105, 102, 99, 93, 88, 85, 82, 80, 80, 80, 79, 77, 75,
+  73, 73, 79, 79, 77, 75, 73, 70, 65, 61, 62, 58, 57, 64, 71, 79,
+  255, 255, 255, 6, 4, 22, 50, 72, 78, 66, 61, 57, 64, 69, 63, 47,
+  35, 39, 51, 50, 49, 47, 45, 48, 52, 51, 45, 46, 44, 42, 43, 44,
+  47, 51, 54, 46, 46, 48, 51, 55, 56, 54, 52, 53, 56, 63, 70, 80,
+  93, 105, 112, 115, 116, 110, 102, 96, 87, 97, 124, 119, 125, 118, 103, 103,
+  113, 113, 102, 111, 111, 108, 105, 99, 94, 90, 90, 84, 85, 86, 86, 83,
+  79, 76, 75, 81, 79, 73, 71, 69, 66, 59, 55, 57, 54, 56, 64, 66,
+  69, 255, 255, 255, 9, 3, 13, 54, 75, 68, 62, 63, 51, 69, 72, 51,
+  33, 35, 43, 46, 39, 40, 42, 44, 50, 55, 52, 45, 42, 43, 44, 44,
+  45, 46, 47, 47, 46, 45, 49, 52, 56, 58, 58, 57, 63, 69, 78, 88,
+  97, 104, 111, 114, 124, 127, 121, 111, 103, 94, 104, 130, 128, 130, 120, 107,
+  107, 115, 114, 103, 115, 117, 115, 112, 105, 101, 99, 98, 91, 92, 94, 94,
+  92, 87, 83, 81, 83, 78, 71, 69, 66, 62, 56, 51, 51, 54, 61, 67,
+  64, 68, 255, 255, 255, 174, 5, 10, 57, 77, 60, 59, 63, 49, 70, 71,
+  48, 35, 45, 49, 42, 30, 36, 42, 47, 52, 55, 52, 45, 40, 44, 45,
+  44, 44, 47, 47, 44, 44, 47, 50, 53, 56, 58, 62, 65, 71, 79, 91,
+  105, 114, 121, 127, 129, 131, 135, 128, 120, 114, 107, 114, 134, 135, 131, 120,
+  112, 112, 116, 114, 108, 120, 122, 122, 120, 113, 108, 108, 110, 103, 105, 105,
+  106, 102, 100, 95, 94, 91, 87, 79, 76, 73, 66, 56, 49, 46, 55, 63,
+  69, 70, 140, 255, 255, 255, 255, 7, 11, 59, 76, 54, 60, 64, 49, 61,
+  63, 54, 49, 53, 49, 37, 29, 39, 47, 50, 50, 51, 48, 43, 39, 43,
+  43, 40, 42, 48, 50, 46, 49, 54, 61, 65, 67, 73, 83, 92, 93, 99,
+  110, 121, 129, 136, 143, 147, 139, 139, 130, 126, 130, 127, 125, 137, 140, 127,
+  117, 117, 119, 119, 117, 118, 125, 128, 129, 127, 121, 116, 117, 120, 116, 118,
+  118, 119, 117, 115, 111, 110, 106, 102, 96, 93, 88, 78, 62, 50, 44, 55,
+  62, 66, 78, 255, 255, 255, 255, 255, 9, 12, 61, 76, 52, 61, 65, 44,
+  46, 50, 56, 57, 51, 39, 30, 33, 42, 50, 51, 48, 47, 44, 41, 39,
+  42, 41, 37, 39, 48, 52, 50, 59, 67, 77, 84, 88, 99, 114, 128, 126,
+  129, 133, 135, 137, 140, 144, 147, 145, 141, 129, 129, 142, 142, 135, 137, 142,
+  124, 115, 120, 125, 120, 120, 126, 129, 133, 135, 132, 127, 123, 124, 126, 127,
+  127, 128, 128, 127, 125, 123, 122, 118, 114, 110, 108, 102, 88, 66, 51, 46,
+  56, 58, 61, 82, 255, 255, 255, 255, 255, 5, 23, 71, 73, 50, 61, 72,
+  48, 43, 44, 53, 55, 45, 33, 28, 42, 43, 45, 46, 45, 44, 43, 42,
+  36, 33, 34, 42, 47, 47, 50, 57, 73, 83, 94, 99, 108, 124, 138, 146,
+  149, 151, 153, 156, 155, 154, 151, 150, 149, 137, 116, 123, 128, 122, 132, 131,
+  129, 120, 115, 119, 124, 125, 129, 135, 132, 128, 128, 134, 136, 132, 132, 136,
+  138, 134, 134, 128, 119, 123, 126, 116, 116, 122, 131, 123, 119, 115, 80, 52,
+  54, 62, 50, 68, 76, 255, 255, 255, 255, 255, 176, 28, 65, 66, 50, 65,
+  74, 47, 41, 41, 50, 53, 47, 39, 35, 44, 44, 44, 44, 42, 41, 39,
+  39, 44, 41, 42, 48, 50, 53, 61, 70, 91, 100, 111, 117, 126, 140, 152,
+  158, 165, 162, 156, 149, 145, 146, 153, 159, 146, 142, 128, 136, 135, 123, 125,
+  118, 127, 121, 119, 125, 130, 130, 132, 136, 135, 132, 134, 139, 139, 133, 132,
+  134, 133, 134, 140, 141, 135, 130, 123, 110, 122, 123, 129, 138, 145, 149, 116,
+  54, 46, 53, 47, 66, 138, 255, 255, 255, 255, 255, 255, 28, 52, 54, 50,
+  70, 74, 52, 45, 41, 45, 48, 47, 44, 41, 46, 46, 43, 41, 39, 37,
+  37, 36, 43, 42, 42, 44, 46, 53, 68, 81, 106, 116, 127, 133, 140, 152,
+  161, 165, 167, 166, 163, 158, 152, 148, 149, 153, 146, 149, 137, 141, 137, 124,
+  127, 117, 124, 122, 124, 131, 136, 136, 136, 138, 140, 140, 140, 143, 141, 135,
+  133, 134, 138, 131, 125, 125, 126, 131, 138, 142, 144, 143, 139, 154, 153, 163,
+  151, 60, 40, 46, 51, 72, 255, 255, 255, 255, 255, 255, 255, 22, 42, 48,
+  54, 75, 70, 59, 51, 42, 41, 43, 46, 44, 43, 47, 46, 43, 41, 38,
+  38, 39, 39, 40, 41, 41, 40, 43, 56, 78, 94, 119, 128, 138, 143, 150,
+  159, 166, 166, 166, 166, 167, 168, 166, 163, 158, 155, 163, 164, 146, 142, 137,
+  128, 136, 133, 121, 122, 126, 132, 138, 139, 141, 142, 143, 143, 146, 147, 144,
+  140, 138, 137, 137, 136, 135, 141, 143, 132, 125, 132, 134, 142, 145, 168, 151,
+  162, 168, 59, 39, 46, 72, 95, 255, 255, 255, 255, 255, 255, 255, 24, 46,
+  56, 64, 78, 64, 60, 52, 42, 38, 41, 47, 48, 46, 45, 45, 43, 42,
+  41, 42, 44, 45, 43, 45, 46, 46, 52, 71, 97, 116, 135, 144, 152, 156,
+  162, 168, 172, 171, 174, 171, 167, 167, 166, 159, 147, 137, 123, 122, 108, 113,
+  111, 102, 113, 114, 115, 119, 124, 130, 136, 141, 145, 147, 145, 147, 148, 149,
+  150, 148, 142, 137, 134, 124, 106, 100, 96, 77, 74, 97, 98, 107, 121, 160,
+  152, 169, 171, 46, 36, 51, 104, 127, 255, 255, 255, 255, 255, 255, 255, 180,
+  57, 68, 73, 79, 59, 54, 47, 40, 34, 39, 49, 51, 50, 43, 45, 44,
+  45, 45, 46, 48, 49, 43, 47, 50, 52, 64, 90, 117, 135, 148, 155, 161,
+  163, 168, 174, 176, 173, 176, 174, 170, 162, 146, 117, 83, 60, 43, 46, 51,
+  84, 96, 83, 89, 91, 106, 114, 122, 128, 135, 144, 149, 149, 149, 151, 154,
+  157, 158, 153, 139, 125, 98, 78, 42, 27, 28, 25, 54, 111, 107, 86, 87,
+  120, 135, 172, 164, 43, 39, 60, 136, 156, 255, 255, 255, 255, 255, 255, 255,
+  255, 58, 70, 71, 75, 56, 51, 46, 40, 34, 39, 50, 52, 49, 42, 44,
+  46, 46, 47, 48, 48, 48, 42, 47, 51, 57, 75, 104, 133, 148, 158, 163,
+  165, 167, 172, 177, 177, 174, 171, 168, 158, 137, 106, 69, 35, 16, 26, 29,
+  48, 104, 123, 97, 92, 92, 97, 110, 122, 130, 137, 148, 151, 149, 154, 158,
+  163, 167, 168, 156, 129, 102, 54, 50, 33, 36, 47, 40, 67, 133, 134, 92,
+  86, 103, 125, 170, 151, 50, 52, 75, 162, 172, 255, 255, 255, 255, 255, 255,
+  255, 255, 50, 64, 64, 71, 54, 53, 50, 42, 35, 39, 47, 47, 42, 42,
+  44, 46, 47, 47, 46, 46, 45, 44, 49, 54, 62, 85, 117, 145, 158, 166,
+  171, 172, 173, 177, 182, 182, 178, 171, 159, 133, 97, 65, 47, 44, 50, 48,
+  46, 64, 122, 134, 96, 77, 75, 92, 108, 125, 133, 142, 150, 152, 149, 160,
+  165, 171, 176, 176, 158, 118, 84, 64, 57, 35, 34, 43, 34, 64, 138, 125,
+  93, 109, 125, 142, 177, 142, 55, 68, 89, 180, 179, 255, 255, 255, 255, 255,
+  255, 255, 255, 53, 74, 69, 56, 49, 47, 47, 37, 47, 58, 50, 45, 47,
+  42, 48, 51, 50, 49, 47, 45, 42, 35, 52, 61, 77, 115, 145, 155, 157,
+  169, 171, 173, 175, 176, 174, 169, 164, 158, 138, 119, 121, 134, 140, 128, 112,
+  102, 102, 106, 112, 116, 114, 114, 116, 125, 130, 138, 146, 153, 157, 156, 154,
+  167, 170, 173, 175, 172, 160, 133, 110, 91, 88, 92, 100, 103, 105, 123, 144,
+  156, 174, 178, 168, 155, 169, 154, 70, 122, 153, 179, 185, 255, 255, 255, 255,
+  255, 255, 255, 255, 60, 77, 60, 48, 53, 41, 40, 37, 44, 48, 45, 44,
+  44, 41, 50, 56, 53, 47, 42, 41, 41, 42, 61, 75, 92, 125, 153, 160,
+  165, 171, 173, 174, 176, 178, 177, 172, 169, 149, 153, 158, 163, 164, 161, 154,
+  149, 143, 140, 139, 141, 138, 131, 127, 127, 139, 138, 140, 148, 158, 163, 161,
+  157, 162, 166, 172, 179, 182, 176, 156, 137, 133, 125, 127, 136, 142, 147, 161,
+  179, 171, 177, 182, 187, 178, 185, 179, 119, 151, 172, 186, 186, 255, 255, 255,
+  255, 255, 255, 255, 255, 191, 74, 46, 36, 50, 38, 35, 43, 47, 44, 50,
+  54, 51, 45, 54, 61, 57, 48, 40, 39, 42, 49, 74, 91, 109, 139, 159,
+  166, 172, 174, 176, 175, 177, 179, 180, 177, 176, 169, 175, 177, 174, 165, 161,
+  163, 168, 162, 158, 154, 153, 146, 137, 131, 130, 140, 137, 135, 143, 156, 164,
+  163, 159, 168, 173, 176, 182, 187, 183, 168, 151, 142, 132, 129, 136, 142, 147,
+  158, 170, 176, 174, 179, 198, 194, 192, 195, 164, 176, 183, 185, 183, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 62, 37, 28, 39, 34, 32, 49, 47, 46,
+  64, 65, 59, 58, 60, 61, 59, 50, 43, 43, 46, 54, 81, 103, 123, 148,
+  162, 165, 172, 176, 176, 175, 176, 179, 180, 181, 179, 182, 175, 167, 163, 162,
+  161, 156, 152, 146, 143, 143, 144, 141, 135, 132, 133, 135, 135, 136, 146, 158,
+  166, 167, 166, 176, 179, 180, 182, 185, 184, 172, 160, 154, 147, 142, 143, 143,
+  146, 154, 164, 173, 174, 178, 199, 197, 192, 199, 180, 177, 181, 180, 179, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 52, 36, 27, 29, 30, 30, 46, 41,
+  53, 84, 73, 64, 69, 61, 55, 54, 53, 48, 48, 51, 60, 87, 110, 132,
+  153, 163, 164, 172, 176, 175, 174, 175, 177, 180, 181, 180, 166, 164, 165, 172,
+  177, 174, 161, 149, 145, 142, 143, 147, 147, 144, 143, 147, 143, 148, 154, 162,
+  167, 172, 174, 176, 171, 174, 177, 180, 186, 190, 184, 176, 173, 172, 171, 168,
+  162, 161, 170, 181, 176, 190, 191, 200, 200, 198, 201, 183, 169, 176, 178, 179,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 51, 39, 30, 26, 32, 36, 46,
+  36, 75, 116, 87, 74, 72, 60, 52, 54, 56, 53, 54, 57, 71, 95, 117,
+  137, 158, 166, 166, 174, 175, 175, 174, 176, 178, 180, 180, 179, 169, 173, 175,
+  176, 176, 173, 170, 170, 163, 161, 160, 162, 161, 158, 157, 160, 157, 164, 171,
+  174, 173, 171, 173, 177, 171, 175, 178, 181, 187, 193, 190, 185, 175, 181, 184,
+  181, 175, 174, 182, 192, 184, 204, 201, 202, 202, 202, 202, 182, 170, 177, 182,
+  183, 255, 255, 255, 255, 255, 255, 255, 255, 255, 56, 36, 28, 29, 39, 46,
+  47, 34, 100, 149, 99, 85, 69, 59, 57, 63, 65, 60, 61, 68, 80, 101,
+  119, 140, 161, 167, 167, 174, 176, 176, 176, 178, 179, 181, 179, 177, 184, 182,
+  177, 172, 168, 169, 174, 180, 177, 174, 172, 172, 171, 166, 165, 168, 169, 171,
+  174, 174, 173, 172, 172, 173, 174, 177, 179, 181, 186, 192, 190, 185, 183, 188,
+  192, 191, 188, 189, 193, 196, 191, 208, 199, 200, 207, 203, 202, 190, 175, 178,
+  181, 184, 255, 255, 255, 255, 255, 255, 255, 255, 255, 190, 32, 22, 31, 39,
+  48, 41, 27, 112, 165, 101, 86, 67, 62, 66, 73, 73, 66, 68, 79, 86,
+  103, 118, 139, 162, 168, 167, 174, 177, 178, 178, 180, 181, 181, 179, 177, 177,
+  174, 172, 176, 182, 182, 176, 170, 179, 175, 174, 175, 174, 170, 171, 174, 177,
+  175, 172, 173, 175, 177, 178, 177, 167, 170, 174, 177, 184, 192, 192, 189, 186,
+  188, 190, 189, 190, 191, 189, 188, 198, 208, 194, 203, 212, 204, 204, 200, 179,
+  177, 177, 180, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 37, 26, 27,
+  34, 48, 46, 24, 122, 158, 110, 80, 62, 72, 82, 82, 78, 80, 84, 89,
+  98, 108, 124, 143, 157, 167, 173, 176, 181, 183, 182, 182, 180, 179, 177, 177,
+  178, 177, 175, 174, 174, 176, 178, 179, 180, 185, 183, 177, 175, 178, 176, 171,
+  176, 182, 182, 175, 172, 176, 179, 176, 170, 168, 169, 174, 182, 189, 190, 191,
+  181, 195, 197, 186, 182, 194, 198, 193, 195, 200, 202, 206, 205, 204, 202, 201,
+  179, 180, 181, 182, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 183, 34,
+  22, 34, 58, 41, 32, 89, 152, 112, 92, 81, 75, 67, 70, 94, 120, 129,
+  123, 117, 118, 128, 145, 159, 164, 169, 175, 176, 178, 179, 180, 181, 182, 181,
+  181, 180, 180, 180, 180, 179, 179, 180, 181, 179, 183, 181, 176, 174, 176, 173,
+  168, 168, 173, 174, 168, 168, 173, 175, 173, 168, 169, 172, 177, 183, 190, 192,
+  194, 187, 190, 193, 192, 191, 190, 190, 190, 196, 199, 201, 204, 207, 207, 206,
+  207, 183, 186, 187, 188, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  44, 26, 45, 72, 41, 43, 43, 124, 105, 109, 90, 89, 84, 90, 121, 155,
+  156, 137, 139, 129, 131, 147, 161, 163, 167, 177, 175, 176, 178, 180, 181, 182,
+  182, 182, 181, 182, 184, 185, 183, 182, 180, 178, 179, 182, 182, 177, 175, 173,
+  170, 166, 167, 169, 168, 166, 166, 169, 171, 169, 164, 166, 173, 179, 184, 188,
+  193, 197, 196, 188, 186, 193, 195, 191, 188, 193, 196, 196, 197, 200, 204, 208,
+  209, 208, 201, 202, 204, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 43, 35, 55, 71, 46, 52, 18, 88, 109, 143, 127, 124, 104, 82, 95,
+  139, 167, 170, 154, 137, 133, 149, 162, 163, 170, 180, 178, 180, 181, 182, 182,
+  182, 181, 180, 179, 180, 183, 185, 183, 180, 177, 174, 182, 183, 183, 180, 176,
+  172, 166, 164, 162, 161, 159, 159, 161, 163, 162, 158, 158, 164, 172, 179, 184,
+  188, 195, 200, 200, 188, 177, 174, 178, 182, 187, 191, 194, 193, 190, 194, 200,
+  204, 206, 206, 214, 217, 219, 220, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 34, 47, 62, 63, 52, 58, 23, 57, 116, 171, 151, 156, 139, 109,
+  106, 138, 168, 175, 166, 150, 143, 152, 161, 164, 168, 178, 179, 180, 181, 182,
+  183, 183, 183, 183, 179, 181, 183, 183, 183, 180, 177, 175, 184, 184, 183, 182,
+  176, 169, 161, 157, 146, 143, 142, 147, 153, 156, 154, 150, 159, 165, 173, 179,
+  183, 188, 195, 201, 198, 192, 171, 148, 145, 164, 176, 178, 191, 190, 188, 191,
+  196, 200, 203, 205, 215, 218, 221, 221, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 180, 57, 72, 67, 59, 57, 31, 28, 88, 136, 159, 177, 182,
+  171, 166, 172, 170, 161, 174, 164, 157, 158, 162, 165, 167, 171, 176, 177, 179,
+  182, 183, 185, 185, 186, 181, 181, 181, 182, 181, 181, 180, 180, 183, 182, 180,
+  178, 172, 160, 150, 147, 134, 129, 130, 143, 155, 162, 161, 160, 165, 168, 172,
+  176, 180, 185, 191, 195, 196, 196, 175, 141, 130, 147, 162, 164, 183, 185, 186,
+  190, 192, 197, 202, 207, 214, 217, 220, 221, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 49, 77, 82, 61, 57, 35, 22, 53, 72, 126, 148,
+  165, 167, 165, 170, 174, 174, 173, 173, 170, 164, 165, 171, 171, 167, 176, 177,
+  178, 180, 181, 182, 182, 182, 181, 179, 177, 176, 176, 178, 180, 182, 179, 176,
+  173, 172, 165, 149, 138, 134, 133, 126, 129, 145, 163, 171, 172, 172, 171, 168,
+  166, 167, 171, 176, 179, 179, 181, 186, 177, 152, 133, 133, 143, 154, 168, 175,
+  180, 183, 186, 191, 198, 206, 216, 219, 222, 223, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 31, 73, 93, 60, 61, 43, 41, 45, 42, 22,
+  69, 124, 150, 152, 149, 155, 163, 167, 175, 175, 168, 169, 178, 179, 170, 178,
+  179, 179, 179, 178, 177, 176, 175, 178, 175, 172, 169, 170, 172, 177, 181, 173,
+  169, 168, 168, 157, 140, 128, 124, 130, 123, 126, 143, 163, 171, 170, 170, 170,
+  164, 158, 156, 159, 161, 162, 162, 157, 162, 165, 158, 136, 120, 126, 142, 153,
+  162, 172, 178, 179, 183, 194, 204, 214, 218, 219, 222, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 177, 69, 82, 74, 53, 44, 39, 39, 44,
+  34, 12, 58, 118, 161, 175, 157, 165, 167, 173, 174, 171, 170, 174, 174, 169,
+  177, 178, 178, 178, 178, 176, 175, 173, 171, 174, 173, 167, 165, 168, 169, 169,
+  173, 170, 165, 157, 149, 140, 132, 126, 135, 130, 130, 139, 150, 152, 146, 137,
+  140, 139, 140, 147, 153, 156, 154, 152, 147, 144, 150, 158, 144, 121, 118, 133,
+  146, 153, 166, 178, 180, 180, 191, 207, 213, 217, 218, 219, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 50, 72, 76, 60, 46, 37, 36,
+  45, 22, 1, 23, 56, 101, 147, 147, 143, 160, 168, 174, 170, 168, 171, 175,
+  175, 177, 177, 177, 177, 177, 175, 173, 173, 171, 174, 172, 167, 165, 168, 170,
+  169, 166, 168, 165, 153, 137, 132, 138, 145, 148, 142, 137, 132, 126, 120, 112,
+  107, 77, 78, 87, 103, 126, 142, 147, 148, 126, 138, 153, 159, 148, 132, 124,
+  124, 135, 143, 157, 169, 172, 177, 190, 208, 213, 216, 218, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 24, 59, 77, 68, 53, 39,
+  35, 45, 32, 16, 12, 16, 67, 144, 164, 148, 157, 166, 173, 169, 166, 168,
+  174, 179, 176, 177, 176, 176, 176, 174, 172, 172, 168, 170, 169, 165, 165, 170,
+  170, 167, 163, 161, 154, 140, 132, 133, 144, 155, 154, 153, 149, 138, 128, 121,
+  121, 122, 138, 132, 130, 134, 143, 150, 150, 147, 141, 161, 175, 171, 159, 147,
+  133, 119, 126, 135, 151, 161, 166, 174, 193, 212, 213, 216, 218, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 47, 74, 73, 63,
+  48, 38, 42, 30, 21, 9, 4, 50, 134, 169, 154, 162, 167, 171, 169, 168,
+  169, 173, 178, 175, 176, 175, 176, 175, 174, 172, 171, 166, 167, 167, 164, 165,
+  169, 167, 163, 162, 150, 136, 132, 138, 145, 149, 147, 151, 154, 154, 151, 148,
+  147, 151, 155, 152, 145, 138, 134, 134, 138, 141, 145, 168, 178, 183, 176, 163,
+  151, 140, 130, 123, 133, 147, 158, 165, 178, 199, 218, 213, 217, 218, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 183, 61, 67,
+  69, 59, 44, 41, 31, 23, 7, 6, 40, 110, 165, 167, 174, 171, 169, 170,
+  172, 173, 173, 173, 176, 176, 176, 176, 174, 174, 171, 172, 166, 168, 168, 168,
+  168, 171, 166, 158, 146, 139, 132, 135, 145, 152, 153, 150, 156, 157, 157, 158,
+  159, 159, 158, 157, 151, 149, 146, 141, 140, 148, 164, 176, 176, 176, 176, 178,
+  170, 155, 147, 146, 126, 136, 148, 156, 165, 183, 204, 220, 214, 218, 231, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 43,
+  51, 65, 66, 52, 44, 41, 32, 9, 10, 31, 86, 157, 181, 182, 175, 169,
+  172, 175, 175, 172, 172, 176, 176, 176, 176, 176, 175, 173, 172, 169, 172, 173,
+  173, 175, 174, 164, 153, 127, 135, 145, 149, 149, 150, 158, 164, 168, 166, 164,
+  165, 168, 167, 161, 153, 156, 154, 151, 145, 142, 147, 162, 174, 185, 183, 185,
+  191, 185, 168, 156, 154, 136, 143, 151, 158, 170, 189, 207, 218, 215, 218, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  24, 32, 54, 66, 57, 53, 40, 34, 8, 7, 18, 62, 141, 172, 182, 176,
+  172, 175, 175, 172, 171, 175, 177, 178, 178, 178, 176, 175, 173, 173, 169, 172,
+  174, 176, 176, 172, 158, 145, 134, 144, 154, 157, 153, 154, 162, 171, 168, 166,
+  164, 166, 168, 168, 162, 157, 156, 154, 153, 154, 158, 165, 174, 180, 179, 183,
+  185, 184, 180, 173, 162, 151, 150, 154, 158, 165, 179, 199, 212, 216, 216, 218,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 174, 19, 45, 63, 61, 60, 49, 49, 22, 18, 24, 66, 144, 168, 180,
+  176, 174, 176, 173, 169, 171, 180, 177, 179, 178, 178, 178, 177, 175, 174, 167,
+  171, 173, 175, 174, 168, 152, 136, 156, 156, 155, 157, 160, 162, 164, 165, 158,
+  157, 155, 154, 153, 151, 149, 147, 148, 142, 140, 144, 152, 156, 154, 151, 148,
+  160, 160, 152, 154, 165, 161, 145, 162, 165, 167, 172, 189, 207, 218, 217, 216,
+  230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 174, 36, 60, 67, 62, 60, 52, 26, 26, 23, 52, 132, 168,
+  180, 182, 180, 176, 173, 176, 175, 174, 177, 177, 177, 175, 175, 176, 175, 176,
+  173, 172, 172, 174, 176, 172, 160, 152, 163, 161, 157, 158, 160, 159, 153, 144,
+  137, 138, 133, 126, 122, 122, 121, 117, 119, 116, 115, 120, 126, 131, 130, 128,
+  154, 153, 150, 147, 146, 147, 150, 154, 169, 177, 180, 181, 194, 212, 220, 216,
+  219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 35, 56, 64, 61, 58, 55, 38, 41, 33, 48, 120,
+  165, 179, 182, 181, 177, 174, 176, 176, 175, 178, 177, 177, 176, 175, 176, 175,
+  176, 173, 172, 173, 176, 178, 174, 164, 157, 169, 158, 156, 153, 126, 91, 84,
+  100, 111, 112, 110, 104, 102, 103, 102, 98, 113, 113, 115, 122, 127, 129, 125,
+  121, 100, 104, 110, 118, 129, 142, 154, 162, 176, 184, 187, 187, 197, 213, 218,
+  213, 218, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 180, 47, 58, 62, 55, 53, 44, 44, 29, 31,
+  99, 158, 179, 182, 184, 180, 176, 177, 177, 176, 177, 178, 176, 177, 176, 176,
+  176, 176, 172, 172, 173, 176, 178, 176, 170, 163, 173, 166, 163, 156, 124, 88,
+  83, 100, 100, 103, 102, 98, 97, 98, 96, 93, 96, 101, 111, 124, 136, 141,
+  139, 137, 127, 130, 135, 142, 151, 161, 169, 176, 180, 188, 192, 193, 200, 211,
+  214, 209, 228, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 182, 53, 63, 60, 54, 48, 43, 23,
+  19, 81, 159, 177, 183, 185, 182, 178, 178, 178, 177, 178, 178, 176, 176, 176,
+  176, 176, 177, 171, 171, 172, 176, 178, 176, 172, 168, 172, 175, 169, 158, 152,
+  150, 143, 135, 132, 136, 136, 133, 131, 131, 127, 123, 114, 121, 133, 148, 163,
+  171, 174, 174, 164, 165, 163, 165, 167, 170, 171, 173, 180, 188, 193, 194, 200,
+  208, 212, 209, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 47, 63, 66, 61, 58, 51,
+  34, 26, 74, 160, 174, 183, 186, 183, 179, 179, 178, 178, 178, 179, 177, 176,
+  175, 177, 177, 177, 171, 171, 172, 175, 176, 176, 172, 171, 173, 171, 164, 159,
+  164, 172, 167, 154, 154, 156, 156, 151, 148, 146, 142, 137, 137, 142, 147, 155,
+  164, 168, 171, 172, 158, 159, 160, 165, 172, 176, 178, 180, 180, 186, 193, 196,
+  200, 206, 209, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 182, 54, 61, 60, 64,
+  56, 49, 41, 69, 148, 171, 181, 186, 185, 179, 179, 178, 177, 178, 178, 177,
+  177, 177, 176, 177, 177, 173, 174, 174, 175, 174, 174, 172, 171, 172, 162, 161,
+  167, 164, 155, 157, 169, 159, 161, 160, 155, 151, 150, 146, 142, 145, 146, 148,
+  151, 154, 158, 159, 161, 167, 167, 169, 175, 183, 187, 187, 186, 182, 187, 190,
+  193, 195, 197, 218, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 182, 55, 53,
+  56, 47, 52, 51, 66, 138, 167, 179, 186, 185, 179, 178, 177, 176, 179, 179,
+  178, 177, 177, 177, 177, 178, 177, 178, 178, 177, 174, 173, 172, 171, 169, 163,
+  161, 166, 162, 155, 160, 174, 174, 176, 175, 171, 170, 170, 170, 166, 161, 163,
+  165, 168, 170, 174, 175, 178, 180, 178, 176, 179, 183, 183, 178, 175, 184, 186,
+  185, 184, 181, 180, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 60,
+  54, 51, 36, 49, 57, 69, 139, 165, 177, 186, 184, 179, 178, 177, 177, 179,
+  178, 179, 177, 177, 178, 177, 179, 182, 183, 181, 180, 176, 174, 173, 173, 166,
+  169, 163, 152, 155, 168, 168, 158, 166, 168, 168, 165, 166, 169, 171, 167, 167,
+  169, 172, 173, 174, 175, 174, 176, 181, 179, 179, 183, 189, 189, 185, 181, 184,
+  183, 181, 176, 168, 163, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 52, 53, 38, 34, 36, 62, 129, 167, 171, 178, 189, 193, 178, 170, 183,
+  180, 178, 177, 180, 185, 185, 180, 174, 183, 182, 180, 180, 180, 178, 173, 170,
+  165, 163, 159, 157, 157, 159, 161, 164, 166, 167, 167, 163, 159, 157, 160, 163,
+  169, 167, 165, 164, 165, 168, 169, 171, 169, 166, 170, 180, 184, 178, 175, 183,
+  182, 180, 175, 168, 163, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 184, 58, 49, 43, 39, 59, 123, 166, 173, 176, 184, 191, 182, 174,
+  177, 182, 179, 178, 180, 183, 183, 182, 179, 183, 181, 181, 181, 180, 178, 173,
+  170, 166, 164, 161, 159, 159, 159, 161, 162, 165, 166, 164, 161, 157, 156, 158,
+  160, 162, 164, 162, 159, 156, 156, 162, 166, 168, 170, 176, 181, 182, 177, 175,
+  179, 177, 177, 172, 168, 163, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 190, 58, 53, 41, 49, 105, 164, 173, 175, 177, 188, 187,
+  177, 173, 180, 178, 177, 178, 179, 180, 182, 183, 181, 180, 179, 179, 179, 177,
+  173, 170, 170, 169, 166, 165, 163, 162, 162, 162, 163, 164, 162, 160, 157, 156,
+  156, 157, 157, 159, 159, 155, 150, 150, 157, 166, 167, 175, 182, 183, 182, 181,
+  175, 172, 157, 159, 157, 154, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 53, 60, 52, 51, 96, 157, 175, 178, 173, 182,
+  188, 181, 176, 174, 176, 176, 177, 178, 180, 183, 185, 181, 180, 178, 179, 179,
+  177, 174, 171, 174, 175, 173, 172, 169, 167, 164, 163, 163, 162, 162, 159, 157,
+  156, 155, 155, 155, 156, 155, 153, 153, 156, 164, 171, 171, 179, 185, 184, 186,
+  187, 176, 163, 146, 149, 148, 183, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 58, 62, 58, 96, 150, 174, 182, 173,
+  177, 184, 183, 183, 168, 170, 173, 175, 177, 179, 183, 186, 180, 180, 178, 179,
+  180, 179, 175, 173, 177, 177, 176, 175, 172, 170, 166, 165, 164, 163, 161, 161,
+  160, 159, 156, 154, 153, 149, 147, 152, 159, 167, 172, 176, 176, 182, 184, 185,
+  192, 191, 171, 150, 151, 154, 188, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 49, 47, 86, 152, 177, 184,
+  175, 175, 180, 182, 186, 169, 169, 169, 171, 174, 178, 181, 183, 181, 180, 179,
+  180, 181, 180, 178, 175, 178, 177, 176, 174, 173, 169, 168, 165, 167, 165, 163,
+  162, 163, 162, 159, 154, 152, 146, 144, 151, 162, 171, 174, 173, 180, 182, 184,
+  189, 191, 182, 158, 135, 145, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 30, 77, 162, 179,
+  183, 178, 178, 179, 178, 183, 178, 171, 164, 163, 167, 173, 177, 180, 181, 180,
+  180, 181, 183, 182, 179, 178, 181, 180, 179, 177, 175, 174, 173, 171, 170, 168,
+  165, 166, 166, 165, 161, 157, 153, 150, 150, 155, 161, 167, 168, 169, 182, 183,
+  187, 193, 187, 166, 139, 124, 130, 132, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 198, 173,
+  181, 180, 178, 182, 179, 176, 180, 187, 175, 162, 157, 161, 169, 176, 178, 181,
+  181, 181, 182, 183, 183, 180, 179, 185, 184, 183, 181, 179, 178, 178, 178, 172,
+  170, 167, 167, 169, 168, 163, 158, 155, 155, 158, 160, 159, 162, 163, 166, 183,
+  184, 191, 196, 182, 150, 125, 117, 130, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  231, 180, 183, 185, 181, 176, 177, 182, 180, 185, 182, 169, 151, 148, 160, 174,
+  179, 177, 175, 179, 185, 188, 187, 185, 183, 183, 182, 180, 177, 178, 182, 184,
+  183, 180, 177, 173, 171, 167, 163, 160, 162, 159, 157, 158, 161, 166, 174, 179,
+  180, 186, 195, 196, 181, 160, 147, 145, 185, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 230, 183, 186, 184, 179, 176, 177, 179, 182, 184, 179, 170, 161, 158,
+  160, 166, 170, 175, 180, 183, 184, 185, 185, 186, 186, 186, 183, 182, 184, 186,
+  188, 180, 178, 176, 175, 174, 171, 168, 163, 160, 158, 154, 155, 157, 163, 169,
+  174, 184, 188, 195, 198, 190, 171, 154, 184, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 229, 179, 176, 176, 176, 178, 180, 180, 183, 179, 169,
+  156, 147, 152, 161, 171, 176, 179, 179, 181, 184, 185, 187, 185, 184, 182, 183,
+  184, 188, 180, 179, 177, 177, 177, 174, 170, 164, 161, 156, 153, 153, 154, 159,
+  166, 171, 186, 189, 196, 204, 200, 183, 163, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 227, 172, 175, 179, 180, 178, 178, 180, 179,
+  173, 161, 151, 145, 151, 158, 166, 170, 173, 176, 177, 181, 182, 182, 180, 178,
+  177, 179, 181, 184, 183, 181, 180, 178, 175, 167, 161, 162, 158, 153, 151, 152,
+  157, 163, 169, 179, 187, 199, 212, 208, 190, 199, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 172, 171, 173, 177, 182,
+  182, 179, 171, 165, 149, 149, 148, 153, 159, 165, 168, 168, 178, 179, 180, 178,
+  176, 175, 176, 177, 184, 183, 183, 182, 180, 175, 168, 162, 161, 156, 151, 149,
+  149, 154, 161, 167, 171, 186, 205, 217, 212, 191, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226, 158, 162, 170,
+  177, 179, 177, 172, 168, 159, 152, 145, 145, 151, 158, 159, 160, 173, 176, 178,
+  178, 177, 178, 179, 181, 180, 180, 180, 181, 179, 176, 172, 167, 159, 154, 149,
+  147, 148, 152, 160, 166, 174, 189, 208, 218, 209, 211, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 226,
+  166, 167, 169, 170, 168, 165, 166, 161, 153, 148, 147, 148, 151, 154, 160, 163,
+  167, 170, 173, 176, 179, 183, 182, 180, 178, 178, 177, 176, 173, 169, 162, 157,
+  151, 149, 151, 156, 164, 170, 189, 197, 207, 213, 204, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 227, 164, 165, 170, 172, 172, 170, 168, 162, 152, 144, 142, 144, 148, 143,
+  147, 153, 159, 164, 171, 176, 180, 186, 184, 181, 178, 175, 172, 168, 165, 166,
+  162, 157, 154, 158, 164, 172, 179, 208, 206, 207, 208, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 225, 169, 169, 164, 163, 168, 166, 158, 149, 144, 143, 140,
+  148, 147, 145, 147, 153, 161, 171, 176, 177, 179, 180, 180, 178, 176, 173, 170,
+  163, 164, 166, 167, 169, 176, 186, 195, 207, 204, 211, 212, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 231, 172, 158, 159, 159, 156, 153, 150, 145,
+  137, 141, 142, 144, 147, 152, 157, 163, 166, 168, 170, 173, 174, 175, 175, 174,
+  172, 167, 166, 168, 174, 185, 196, 205, 210, 208, 202, 204, 220, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 162, 160, 155, 150, 152, 154,
+  150, 142, 140, 142, 146, 149, 152, 154, 154, 155, 158, 161, 163, 167, 169, 169,
+  169, 169, 173, 171, 172, 181, 195, 204, 206, 206, 207, 193, 186, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 166, 153, 149,
+  151, 151, 147, 143, 145, 147, 150, 151, 153, 153, 154, 156, 158, 159, 161, 161,
+  162, 161, 162, 171, 173, 178, 190, 199, 202, 198, 192, 192, 172, 157, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228,
+  159, 153, 150, 148, 147, 147, 146, 147, 149, 151, 153, 154, 158, 160, 161, 161,
+  162, 162, 162, 163, 169, 176, 188, 197, 199, 192, 181, 172, 164, 149, 178, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 168, 160, 155, 151, 150, 146, 145, 145, 148, 151, 153, 159, 161, 162,
+  164, 167, 170, 172, 173, 179, 187, 195, 199, 193, 176, 156, 144, 147, 143, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 180, 158, 155, 151, 148, 147, 148, 149, 150, 158, 158,
+  161, 164, 169, 172, 176, 177, 187, 190, 194, 199, 197, 183, 162, 147, 146, 184,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 225, 162, 159, 156, 153, 150, 149, 150, 157,
+  158, 159, 162, 166, 169, 172, 175, 182, 183, 189, 201, 214, 212, 197, 183, 149,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 167, 162, 158, 154,
+  160, 160, 164, 172, 173, 170, 172, 178, 183, 184, 197, 206, 192, 217, 212, 223,
+  223, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 166,
+  158, 157, 154, 156, 164, 168, 172, 178, 185, 187, 187, 195, 194, 172, 199, 206,
+  225, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 226, 163, 159, 160, 165, 170, 177, 183, 187, 191, 197, 188, 160, 185,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 173, 172, 170, 169, 183, 189, 199, 191, 160,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 222, 197, 212, 213, 208, 209, 203, 194, 195, 215, 227, 233, 230,
+  226, 228, 233, 242, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 133, 125, 128, 142, 189, 202, 204, 201, 206, 205, 200, 204, 212, 225, 237,
+  237, 234, 232, 233, 232, 231, 226, 221, 232, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  206, 127, 134, 131, 139, 156, 169, 184, 187, 183, 187, 187, 187, 195, 221, 236,
+  237, 224, 226, 239, 234, 212, 235, 229, 226, 226, 231, 235, 234, 241, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213,
+  128, 134, 150, 173, 211, 137, 130, 161, 178, 181, 176, 180, 182, 183, 191, 195,
+  198, 212, 222, 206, 187, 199, 231, 214, 214, 214, 219, 225, 229, 230, 229, 229,
+  232, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 144,
+  190, 174, 150, 140, 137, 127, 124, 128, 115, 126, 125, 120, 130, 134, 133, 138,
+  154, 169, 171, 164, 178, 202, 197, 174, 203, 204, 207, 212, 218, 220, 219, 218,
+  213, 216, 219, 220, 225, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 161, 177, 184, 158,
+  141, 129, 122, 120, 122, 123, 120, 120, 122, 115, 117, 108, 105, 117, 122, 115,
+  110, 115, 114, 140, 171, 164, 136, 148, 188, 201, 206, 211, 216, 220, 223, 223,
+  222, 226, 219, 210, 199, 201, 212, 225, 230, 223, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 127, 134, 137, 134, 134, 141,
+  147, 149, 134, 123, 111, 101, 97, 96, 99, 101, 110, 108, 93, 88, 103, 107,
+  93, 81, 79, 85, 93, 108, 134, 153, 148, 133, 171, 178, 188, 199, 210, 219,
+  226, 229, 232, 226, 217, 204, 199, 202, 207, 208, 217, 219, 232, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 211, 121, 105, 124, 135, 128, 134, 135, 135, 133,
+  132, 124, 111, 111, 103, 96, 91, 92, 97, 105, 108, 102, 102, 88, 85, 99,
+  103, 88, 77, 67, 53, 65, 96, 105, 92, 102, 134, 135, 143, 153, 166, 178,
+  192, 203, 209, 207, 213, 216, 214, 212, 208, 201, 194, 206, 211, 215, 222, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 70, 98, 115, 123, 125, 126, 130, 129, 124, 120,
+  121, 124, 117, 103, 97, 97, 98, 96, 98, 103, 106, 108, 88, 91, 83, 80,
+  94, 97, 86, 81, 88, 68, 59, 69, 80, 82, 82, 87, 131, 134, 140, 145,
+  152, 159, 168, 175, 184, 193, 200, 203, 208, 211, 212, 210, 196, 202, 211, 218,
+  226, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 67, 83, 100, 107, 114, 128, 130, 125, 129, 120, 114,
+  118, 116, 107, 97, 94, 99, 99, 104, 104, 107, 106, 101, 95, 94, 111, 115,
+  95, 81, 83, 86, 87, 97, 87, 76, 69, 67, 67, 76, 88, 98, 124, 146,
+  144, 134, 132, 141, 151, 162, 169, 172, 174, 182, 196, 202, 204, 188, 192, 197,
+  206, 216, 225, 229, 237, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 184, 56, 84, 95, 107, 111, 117, 127, 126, 119, 121, 111,
+  107, 105, 102, 91, 82, 79, 78, 89, 95, 88, 76, 73, 80, 87, 102, 104,
+  99, 88, 84, 87, 88, 86, 78, 109, 115, 85, 61, 66, 73, 65, 64, 83,
+  100, 106, 109, 116, 125, 135, 164, 167, 161, 156, 159, 169, 179, 183, 190, 191,
+  195, 201, 211, 218, 221, 223, 223, 232, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 175, 10, 19, 55, 95, 100, 109, 113, 115, 118, 123, 118, 109, 109,
+  103, 98, 93, 87, 78, 71, 72, 82, 85, 88, 90, 91, 93, 92, 91, 94,
+  103, 109, 98, 81, 76, 88, 103, 90, 109, 121, 112, 85, 64, 58, 63, 66,
+  72, 81, 88, 97, 109, 114, 122, 144, 157, 158, 158, 156, 157, 156, 153, 177,
+  180, 184, 194, 208, 216, 216, 215, 221, 220, 219, 230, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 19, 20, 35, 72, 104, 106, 108, 111, 110, 114, 115, 109, 99,
+  95, 90, 85, 78, 73, 68, 69, 75, 79, 78, 83, 95, 104, 102, 90, 81,
+  87, 97, 110, 106, 87, 76, 87, 106, 109, 104, 106, 118, 109, 83, 68, 68,
+  60, 60, 61, 66, 76, 86, 93, 102, 127, 143, 154, 158, 160, 158, 154, 147,
+  158, 158, 164, 182, 203, 215, 216, 213, 219, 221, 220, 219, 230, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 177, 18, 19, 36, 67, 92, 102, 105, 106, 105, 103, 104, 103, 97,
+  87, 78, 74, 70, 64, 63, 68, 74, 79, 76, 85, 98, 104, 96, 84, 78,
+  82, 89, 86, 88, 95, 97, 91, 84, 80, 97, 109, 111, 105, 110, 111, 92,
+  65, 51, 54, 56, 62, 66, 75, 87, 101, 130, 141, 144, 142, 143, 150, 154,
+  158, 151, 145, 144, 159, 183, 204, 214, 218, 218, 222, 222, 221, 218, 214, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 22, 17, 15, 20, 51, 89, 103, 99, 101, 100, 99, 96, 94, 88,
+  83, 76, 75, 75, 72, 66, 69, 76, 81, 81, 81, 78, 84, 94, 96, 90,
+  89, 93, 80, 82, 84, 84, 84, 80, 75, 70, 90, 97, 106, 113, 111, 102,
+  89, 78, 71, 74, 78, 79, 74, 74, 86, 102, 122, 135, 140, 139, 137, 138,
+  141, 141, 154, 145, 138, 140, 157, 182, 205, 221, 221, 225, 224, 222, 219, 215,
+  226, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 176, 13, 13, 10, 15, 40, 72, 96, 99, 93, 88, 88, 88, 85, 81,
+  74, 72, 70, 79, 80, 79, 75, 78, 79, 75, 68, 58, 47, 48, 68, 88,
+  93, 90, 89, 79, 92, 96, 80, 65, 64, 75, 80, 92, 77, 81, 103, 104,
+  82, 78, 92, 88, 92, 93, 86, 73, 62, 67, 83, 108, 126, 140, 145, 142,
+  140, 134, 129, 146, 149, 149, 143, 144, 161, 190, 219, 222, 227, 225, 223, 219,
+  216, 213, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 175, 11, 7, 5, 4, 26, 65, 95, 98, 90, 87, 70, 73, 74, 75,
+  71, 66, 67, 71, 76, 79, 79, 75, 77, 75, 62, 49, 44, 48, 63, 84,
+  92, 88, 90, 98, 106, 109, 98, 75, 68, 82, 92, 89, 93, 86, 76, 73,
+  82, 92, 92, 84, 102, 102, 101, 93, 75, 60, 63, 75, 108, 123, 135, 138,
+  139, 144, 148, 150, 133, 150, 163, 155, 143, 148, 176, 208, 223, 227, 224, 221,
+  217, 216, 214, 212, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 13, 6, 10, 5, 15, 46, 82, 99, 89, 74, 66, 58, 59, 61,
+  63, 65, 70, 75, 79, 86, 86, 87, 84, 72, 57, 50, 54, 47, 61, 81,
+  96, 100, 99, 105, 117, 124, 105, 83, 92, 121, 129, 115, 106, 77, 71, 81,
+  83, 82, 106, 121, 104, 102, 93, 90, 88, 72, 49, 37, 46, 76, 93, 116,
+  137, 143, 142, 145, 157, 145, 158, 150, 151, 156, 135, 145, 202, 215, 223, 225,
+  222, 214, 209, 208, 211, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 176, 12, 6, 11, 12, 29, 61, 85, 89, 75, 59, 53, 51, 51,
+  51, 52, 58, 64, 71, 75, 87, 78, 68, 61, 56, 47, 44, 49, 53, 65,
+  87, 106, 117, 115, 115, 121, 106, 103, 99, 115, 136, 130, 106, 94, 75, 79,
+  94, 100, 98, 115, 125, 110, 115, 108, 101, 89, 68, 45, 34, 37, 76, 88,
+  105, 124, 138, 142, 147, 153, 157, 164, 153, 150, 152, 133, 139, 190, 215, 226,
+  231, 232, 225, 217, 213, 210, 226, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 174, 17, 11, 4, 10, 18, 47, 80, 90, 79, 63, 51, 44, 46,
+  46, 48, 52, 60, 67, 74, 78, 77, 64, 53, 48, 46, 41, 39, 43, 53,
+  66, 88, 107, 120, 118, 111, 109, 89, 101, 111, 128, 137, 119, 93, 86, 111,
+  117, 129, 131, 124, 131, 136, 126, 116, 114, 106, 90, 74, 62, 52, 47, 82,
+  87, 95, 112, 130, 140, 146, 150, 154, 157, 148, 148, 154, 141, 147, 188, 218,
+  230, 236, 238, 234, 224, 215, 210, 211, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 15, 17, 7, 1, 9, 27, 57, 85, 85, 70, 56, 47, 42,
+  38, 42, 49, 58, 68, 74, 75, 75, 59, 52, 50, 50, 49, 44, 40, 43,
+  60, 73, 90, 105, 110, 104, 96, 91, 91, 106, 115, 120, 120, 103, 90, 97,
+  130, 132, 134, 132, 126, 126, 126, 122, 116, 117, 106, 91, 88, 88, 75, 60,
+  87, 90, 94, 106, 122, 136, 146, 151, 151, 152, 147, 149, 156, 148, 149, 173,
+  212, 223, 231, 233, 234, 229, 220, 211, 213, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 176, 16, 16, 4, 1, 15, 50, 69, 83, 76, 61, 49, 40,
+  32, 34, 42, 53, 64, 71, 71, 65, 59, 48, 46, 49, 50, 46, 40, 43,
+  49, 69, 83, 97, 101, 97, 91, 89, 88, 92, 104, 108, 105, 101, 90, 90,
+  106, 123, 124, 123, 125, 127, 122, 114, 115, 135, 129, 113, 98, 103, 106, 86,
+  57, 89, 95, 100, 105, 113, 126, 140, 149, 155, 154, 151, 152, 153, 145, 140,
+  148, 183, 197, 213, 224, 233, 234, 223, 210, 216, 216, 255, 255, 255, 255, 255,
+  255, 255, 255, 19, 16, 16, 13, 3, 12, 37, 81, 82, 79, 66, 50, 36,
+  30, 25, 46, 51, 58, 66, 69, 65, 55, 46, 48, 44, 42, 38, 34, 35,
+  47, 60, 75, 88, 97, 94, 86, 86, 87, 89, 83, 92, 93, 90, 90, 83,
+  86, 105, 119, 126, 125, 129, 132, 117, 105, 112, 143, 132, 115, 109, 119, 123,
+  100, 68, 90, 100, 108, 107, 107, 117, 131, 140, 149, 147, 149, 152, 151, 147,
+  143, 138, 144, 162, 185, 205, 223, 231, 222, 208, 217, 217, 255, 255, 255, 255,
+  255, 255, 255, 255, 16, 13, 12, 9, 6, 31, 68, 94, 83, 70, 57, 42,
+  29, 28, 33, 58, 57, 56, 57, 60, 58, 51, 45, 51, 42, 37, 35, 38,
+  46, 61, 74, 78, 86, 88, 81, 76, 79, 80, 79, 77, 82, 79, 79, 86,
+  84, 87, 105, 108, 118, 115, 112, 113, 95, 92, 115, 138, 128, 120, 121, 132,
+  134, 115, 88, 97, 109, 117, 114, 111, 117, 127, 133, 140, 139, 144, 147, 144,
+  148, 150, 142, 125, 136, 151, 167, 191, 211, 214, 205, 216, 215, 255, 255, 255,
+  255, 255, 255, 255, 9, 11, 8, 6, 5, 9, 42, 91, 91, 76, 60, 49,
+  37, 29, 34, 47, 57, 52, 44, 42, 45, 48, 48, 46, 48, 38, 34, 39,
+  50, 63, 76, 86, 77, 79, 77, 69, 66, 68, 68, 62, 75, 75, 70, 71,
+  81, 84, 91, 106, 102, 114, 107, 102, 100, 90, 105, 146, 140, 132, 127, 131,
+  138, 134, 117, 97, 107, 116, 123, 120, 117, 121, 126, 127, 145, 141, 145, 144,
+  138, 144, 149, 136, 125, 123, 125, 130, 153, 184, 199, 200, 211, 212, 224, 255,
+  255, 255, 255, 255, 255, 11, 14, 11, 0, 3, 48, 88, 93, 76, 68, 49,
+  28, 21, 34, 47, 51, 58, 54, 49, 48, 50, 53, 55, 53, 51, 45, 58,
+  84, 89, 71, 67, 78, 69, 72, 76, 69, 57, 51, 57, 63, 65, 50, 57,
+  67, 69, 85, 100, 91, 83, 84, 87, 90, 88, 92, 110, 129, 134, 120, 133,
+  140, 145, 146, 124, 101, 124, 123, 135, 130, 108, 113, 125, 119, 133, 140, 143,
+  139, 136, 138, 140, 138, 129, 128, 124, 114, 115, 134, 154, 168, 185, 194, 202,
+  255, 255, 255, 255, 255, 255, 19, 9, 4, 9, 32, 75, 93, 82, 64, 58,
+  45, 30, 30, 43, 55, 59, 59, 50, 40, 37, 42, 51, 62, 66, 69, 77,
+  79, 75, 78, 78, 66, 47, 69, 66, 60, 53, 50, 51, 56, 61, 57, 55,
+  62, 69, 70, 74, 78, 75, 77, 79, 80, 83, 85, 92, 112, 131, 130, 126,
+  134, 148, 149, 141, 132, 109, 122, 124, 134, 135, 121, 115, 120, 123, 129, 135,
+  138, 136, 135, 136, 140, 136, 126, 120, 124, 127, 124, 119, 124, 134, 148, 171,
+  194, 255, 255, 255, 255, 255, 179, 35, 20, 20, 37, 63, 85, 87, 66, 60,
+  51, 38, 33, 40, 55, 64, 65, 53, 52, 53, 58, 64, 69, 72, 71, 88,
+  76, 71, 69, 59, 44, 41, 47, 65, 56, 49, 46, 48, 51, 53, 52, 45,
+  54, 59, 60, 64, 60, 58, 65, 69, 69, 70, 76, 82, 93, 111, 128, 125,
+  131, 129, 153, 146, 126, 137, 117, 120, 132, 138, 139, 133, 120, 114, 125, 129,
+  133, 134, 133, 132, 135, 136, 129, 123, 113, 119, 133, 124, 105, 98, 110, 119,
+  141, 172, 255, 255, 255, 255, 255, 35, 38, 32, 44, 63, 71, 77, 77, 67,
+  62, 45, 30, 35, 50, 63, 68, 66, 63, 62, 68, 73, 78, 78, 74, 68,
+  73, 56, 49, 47, 31, 16, 34, 67, 56, 50, 49, 48, 49, 48, 44, 39,
+  39, 51, 46, 43, 57, 56, 52, 65, 57, 60, 63, 72, 82, 96, 109, 120,
+  118, 132, 120, 142, 131, 107, 135, 120, 120, 144, 145, 135, 137, 127, 114, 121,
+  134, 136, 134, 130, 131, 133, 129, 121, 119, 113, 114, 120, 114, 100, 97, 106,
+  111, 119, 142, 172, 255, 255, 255, 255, 33, 32, 31, 48, 67, 70, 71, 77,
+  74, 62, 39, 22, 34, 58, 72, 74, 72, 80, 73, 64, 60, 60, 62, 64,
+  63, 41, 48, 40, 21, 20, 40, 60, 66, 53, 50, 48, 45, 40, 36, 35,
+  34, 43, 50, 41, 41, 60, 62, 55, 64, 48, 55, 62, 70, 83, 95, 101,
+  105, 109, 124, 108, 121, 107, 89, 127, 117, 122, 155, 152, 129, 131, 131, 119,
+  115, 131, 134, 133, 130, 131, 131, 128, 123, 115, 117, 114, 107, 102, 103, 103,
+  104, 102, 108, 133, 167, 255, 255, 255, 255, 34, 39, 31, 43, 61, 67, 73,
+  69, 59, 52, 30, 21, 39, 62, 71, 74, 77, 75, 66, 57, 52, 49, 47,
+  46, 43, 33, 27, 24, 31, 49, 64, 64, 56, 51, 48, 42, 33, 26, 25,
+  34, 41, 48, 50, 47, 51, 64, 64, 55, 53, 47, 55, 65, 72, 81, 90,
+  92, 92, 101, 112, 99, 98, 88, 88, 120, 111, 128, 152, 152, 132, 126, 130,
+  124, 113, 118, 123, 127, 126, 126, 130, 130, 127, 115, 120, 117, 105, 99, 100,
+  95, 91, 85, 102, 134, 173, 255, 255, 255, 255, 34, 38, 35, 49, 61, 64,
+  66, 60, 43, 37, 28, 31, 50, 61, 61, 69, 80, 55, 49, 45, 43, 43,
+  38, 31, 26, 37, 22, 28, 57, 76, 68, 59, 60, 47, 43, 37, 30, 28,
+  32, 42, 50, 52, 47, 51, 55, 53, 53, 53, 45, 50, 60, 69, 73, 75,
+  82, 83, 82, 92, 100, 97, 84, 80, 101, 120, 110, 133, 139, 144, 142, 129,
+  124, 124, 115, 106, 114, 121, 121, 120, 123, 124, 125, 123, 120, 114, 106, 98,
+  87, 82, 81, 81, 88, 115, 157, 196, 255, 255, 255, 30, 21, 31, 56, 63,
+  61, 62, 61, 47, 30, 30, 45, 62, 61, 49, 57, 74, 49, 37, 24, 16,
+  19, 23, 27, 29, 27, 49, 64, 65, 69, 78, 76, 64, 41, 38, 37, 36,
+  37, 44, 50, 54, 53, 43, 47, 47, 33, 38, 52, 45, 55, 64, 73, 71,
+  71, 74, 77, 75, 83, 90, 98, 76, 77, 112, 119, 109, 135, 122, 135, 149,
+  132, 116, 118, 118, 100, 110, 117, 115, 113, 116, 117, 119, 130, 114, 104, 104,
+  96, 79, 73, 83, 91, 74, 81, 130, 191, 255, 255, 255, 26, 28, 9, 47,
+  68, 56, 59, 53, 42, 28, 35, 45, 52, 52, 50, 49, 53, 45, 28, 26,
+  36, 39, 40, 38, 25, 27, 49, 70, 76, 80, 80, 65, 42, 34, 41, 44,
+  37, 32, 40, 48, 51, 51, 45, 38, 38, 43, 45, 46, 44, 73, 74, 71,
+  69, 67, 66, 68, 70, 82, 84, 81, 75, 83, 104, 119, 125, 124, 126, 119,
+  117, 127, 123, 110, 109, 113, 110, 109, 108, 110, 112, 111, 109, 121, 113, 106,
+  104, 101, 96, 86, 81, 81, 92, 89, 110, 173, 255, 255, 255, 15, 14, 4,
+  48, 70, 59, 59, 51, 41, 31, 43, 53, 52, 45, 41, 42, 46, 39, 40,
+  52, 53, 37, 30, 40, 45, 53, 62, 68, 64, 62, 64, 59, 51, 41, 44,
+  44, 37, 34, 38, 45, 47, 53, 36, 32, 46, 52, 44, 50, 68, 64, 63,
+  65, 64, 65, 68, 72, 75, 71, 79, 80, 77, 84, 101, 113, 116, 113, 111,
+  103, 105, 120, 120, 108, 102, 109, 107, 106, 106, 109, 109, 110, 105, 97, 101,
+  103, 97, 90, 91, 88, 80, 74, 86, 83, 101, 159, 220, 255, 174, 9, 0,
+  1, 52, 73, 61, 56, 44, 38, 35, 51, 57, 48, 36, 35, 40, 45, 55,
+  58, 65, 58, 34, 28, 46, 60, 61, 67, 71, 67, 57, 48, 43, 42, 46,
+  45, 42, 37, 37, 42, 45, 45, 48, 39, 41, 49, 52, 50, 61, 78, 63,
+  64, 65, 63, 63, 62, 65, 67, 63, 75, 81, 81, 87, 99, 106, 108, 106,
+  104, 94, 97, 114, 115, 103, 98, 102, 101, 101, 101, 107, 108, 111, 106, 93,
+  104, 113, 104, 95, 95, 94, 91, 72, 79, 77, 92, 143, 191, 255, 17, 13,
+  0, 9, 60, 75, 60, 52, 38, 37, 42, 52, 50, 37, 31, 39, 51, 54,
+  81, 63, 49, 39, 32, 36, 52, 59, 60, 63, 68, 66, 53, 36, 32, 37,
+  44, 42, 39, 39, 43, 48, 49, 48, 43, 55, 53, 41, 45, 60, 69, 61,
+  61, 62, 63, 61, 60, 59, 62, 62, 61, 73, 82, 82, 86, 95, 102, 103,
+  102, 103, 94, 94, 105, 105, 96, 96, 89, 88, 90, 94, 100, 106, 109, 108,
+  88, 90, 99, 98, 90, 81, 80, 81, 76, 76, 73, 85, 129, 182, 255, 17,
+  12, 0, 18, 65, 72, 58, 50, 37, 43, 47, 46, 38, 29, 33, 49, 61,
+  62, 74, 47, 29, 27, 33, 45, 56, 54, 59, 58, 53, 46, 34, 26, 35,
+  48, 45, 41, 39, 42, 47, 50, 49, 48, 44, 53, 50, 41, 46, 60, 59,
+  44, 52, 55, 58, 59, 61, 61, 66, 66, 64, 75, 81, 80, 84, 95, 100,
+  97, 91, 96, 90, 87, 92, 90, 86, 93, 82, 81, 82, 85, 91, 97, 100,
+  101, 95, 83, 86, 96, 93, 74, 68, 74, 85, 77, 73, 80, 119, 173, 255,
+  15, 9, 2, 24, 65, 65, 55, 48, 39, 49, 47, 36, 27, 31, 44, 58,
+  59, 59, 36, 25, 26, 33, 36, 44, 51, 49, 41, 45, 47, 40, 32, 30,
+  37, 45, 48, 44, 44, 49, 52, 49, 45, 44, 49, 37, 35, 49, 56, 47,
+  45, 48, 57, 60, 62, 60, 59, 57, 58, 59, 64, 74, 79, 77, 84, 92,
+  96, 90, 78, 86, 83, 78, 80, 79, 80, 91, 84, 81, 79, 79, 81, 84,
+  86, 84, 100, 84, 82, 95, 95, 80, 70, 73, 84, 75, 73, 79, 107, 160,
+  218, 13, 6, 6, 30, 65, 61, 52, 43, 33, 48, 43, 30, 27, 45, 60,
+  57, 45, 40, 15, 15, 29, 40, 38, 38, 43, 41, 27, 38, 46, 39, 34,
+  35, 38, 37, 46, 44, 47, 54, 56, 49, 43, 43, 45, 30, 30, 48, 53,
+  39, 40, 53, 65, 67, 67, 62, 58, 52, 50, 50, 62, 68, 72, 72, 83,
+  91, 89, 79, 72, 78, 72, 67, 71, 70, 70, 80, 83, 79, 74, 72, 74,
+  75, 75, 73, 78, 74, 72, 74, 79, 77, 71, 63, 72, 68, 73, 77, 91,
+  140, 187, 9, 1, 10, 34, 66, 57, 48, 40, 24, 39, 38, 27, 34, 58,
+  70, 54, 32, 23, 21, 18, 26, 39, 37, 36, 39, 31, 36, 43, 38, 23,
+  20, 34, 46, 47, 41, 41, 48, 57, 59, 50, 46, 47, 38, 38, 40, 40,
+  40, 39, 45, 49, 60, 62, 64, 61, 59, 54, 53, 52, 57, 62, 66, 71,
+  81, 89, 84, 70, 75, 76, 67, 61, 66, 65, 62, 68, 78, 74, 69, 66,
+  68, 69, 70, 69, 66, 79, 81, 71, 74, 90, 87, 70, 58, 59, 72, 72,
+  78, 124, 179, 67, 7, 12, 56, 60, 50, 46, 35, 36, 36, 27, 25, 37,
+  56, 58, 37, 14, 7, 22, 31, 37, 41, 37, 31, 26, 21, 44, 36, 27,
+  24, 28, 33, 37, 39, 47, 49, 51, 53, 51, 49, 46, 43, 34, 36, 40,
+  42, 45, 46, 51, 52, 59, 65, 67, 62, 56, 52, 52, 52, 65, 56, 59,
+  72, 81, 77, 73, 72, 77, 72, 65, 58, 56, 55, 59, 60, 55, 63, 72,
+  72, 68, 64, 66, 68, 73, 71, 61, 65, 81, 74, 68, 88, 76, 64, 48,
+  64, 74, 85, 145, 202, 9, 8, 54, 56, 43, 41, 34, 35, 32, 22, 32,
+  48, 58, 46, 22, 12, 20, 22, 30, 36, 31, 24, 21, 26, 33, 39, 32,
+  28, 28, 33, 36, 37, 35, 41, 42, 44, 45, 44, 44, 42, 41, 36, 37,
+  40, 42, 45, 47, 52, 54, 61, 63, 65, 61, 56, 53, 53, 51, 63, 59,
+  61, 67, 73, 69, 64, 60, 67, 61, 56, 50, 49, 48, 50, 51, 55, 59,
+  62, 65, 63, 62, 60, 60, 59, 70, 66, 62, 76, 76, 71, 80, 72, 63,
+  47, 56, 60, 73, 134, 255, 11, 8, 52, 51, 37, 37, 34, 35, 32, 22,
+  35, 51, 56, 38, 18, 13, 24, 24, 33, 39, 31, 20, 18, 28, 40, 35,
+  30, 28, 31, 40, 42, 39, 33, 33, 34, 34, 36, 38, 39, 38, 36, 37,
+  37, 41, 43, 45, 47, 54, 57, 64, 63, 62, 59, 57, 54, 53, 54, 62,
+  65, 66, 65, 66, 65, 60, 52, 56, 54, 50, 46, 45, 43, 45, 45, 51,
+  53, 53, 57, 60, 62, 59, 55, 51, 68, 66, 55, 62, 71, 71, 71, 66,
+  69, 57, 59, 56, 70, 125, 255, 9, 13, 53, 49, 34, 38, 39, 39, 33,
+  25, 34, 43, 47, 39, 29, 22, 21, 29, 39, 47, 42, 33, 27, 31, 39,
+  36, 32, 28, 34, 42, 43, 37, 30, 26, 29, 31, 34, 37, 36, 33, 33,
+  35, 37, 40, 40, 42, 46, 53, 58, 64, 60, 58, 57, 56, 53, 52, 53,
+  55, 64, 67, 65, 64, 69, 65, 55, 55, 51, 51, 48, 45, 43, 42, 43,
+  44, 44, 49, 53, 59, 61, 62, 60, 56, 65, 62, 50, 49, 55, 61, 67,
+  62, 74, 69, 71, 65, 75, 127, 255, 6, 15, 53, 47, 32, 41, 43, 42,
+  32, 21, 35, 44, 46, 41, 35, 30, 26, 41, 45, 47, 44, 42, 35, 34,
+  35, 36, 31, 28, 31, 37, 36, 32, 26, 24, 27, 31, 37, 37, 36, 31,
+  29, 33, 35, 39, 38, 39, 42, 50, 57, 64, 59, 56, 57, 55, 49, 49,
+  53, 52, 61, 64, 62, 62, 68, 65, 57, 54, 51, 51, 49, 45, 44, 43,
+  41, 35, 40, 47, 49, 51, 53, 55, 59, 62, 58, 60, 63, 55, 48, 51,
+  58, 61, 74, 69, 69, 63, 74, 129, 255, 7, 13, 53, 45, 28, 40, 48,
+  45, 28, 11, 38, 54, 50, 37, 32, 38, 42, 47, 43, 39, 38, 39, 40,
+  38, 36, 31, 28, 26, 26, 29, 29, 27, 24, 25, 28, 32, 37, 36, 35,
+  29, 25, 30, 33, 35, 33, 33, 36, 46, 55, 61, 58, 57, 60, 54, 45,
+  45, 53, 57, 58, 57, 56, 57, 61, 58, 53, 55, 53, 51, 47, 45, 42,
+  42, 41, 35, 38, 45, 45, 44, 43, 45, 49, 60, 50, 65, 78, 67, 52,
+  51, 50, 60, 64, 55, 54, 51, 66, 129, 255, 8, 12, 51, 42, 27, 41,
+  51, 45, 27, 17, 42, 54, 46, 35, 37, 46, 48, 38, 34, 34, 37, 41,
+  41, 39, 35, 27, 28, 31, 32, 31, 30, 29, 26, 28, 29, 29, 31, 30,
+  29, 26, 23, 28, 32, 33, 31, 31, 34, 46, 56, 61, 60, 63, 65, 56,
+  43, 44, 55, 64, 54, 49, 54, 57, 57, 53, 52, 58, 55, 53, 49, 46,
+  43, 43, 42, 41, 40, 43, 43, 45, 45, 45, 44, 51, 45, 63, 73, 65,
+  63, 63, 49, 54, 51, 42, 50, 52, 63, 125, 255, 173, 14, 54, 44, 30,
+  44, 54, 47, 26, 31, 42, 44, 37, 39, 49, 52, 44, 22, 27, 36, 45,
+  49, 45, 36, 29, 25, 30, 35, 37, 34, 32, 33, 33, 35, 33, 29, 29,
+  28, 26, 25, 24, 29, 32, 33, 30, 28, 33, 45, 57, 61, 62, 69, 71,
+  59, 44, 46, 58, 69, 55, 49, 56, 62, 59, 56, 58, 63, 60, 55, 51,
+  46, 45, 45, 45, 46, 40, 38, 43, 50, 53, 49, 43, 42, 40, 52, 57,
+  52, 67, 75, 53, 48, 44, 38, 57, 61, 68, 124, 255, 255, 12, 33, 57,
+  34, 37, 67, 42, 17, 31, 35, 39, 42, 50, 55, 41, 20, 20, 31, 43,
+  46, 44, 42, 36, 31, 32, 28, 28, 33, 33, 28, 27, 34, 43, 45, 44,
+  43, 40, 38, 37, 35, 37, 34, 30, 28, 31, 41, 53, 62, 67, 74, 76,
+  72, 58, 38, 43, 74, 74, 72, 68, 63, 62, 63, 63, 61, 62, 60, 57,
+  55, 54, 52, 49, 47, 48, 47, 46, 44, 45, 46, 46, 47, 41, 39, 41,
+  46, 49, 51, 51, 48, 46, 45, 41, 44, 56, 74, 190, 255, 255, 14, 26,
+  48, 34, 43, 66, 44, 23, 29, 30, 35, 43, 46, 37, 28, 19, 29, 34,
+  40, 40, 38, 38, 34, 28, 30, 25, 24, 27, 28, 26, 29, 36, 45, 47,
+  46, 45, 42, 39, 36, 32, 39, 35, 32, 30, 33, 41, 54, 65, 73, 79,
+  77, 74, 66, 47, 56, 83, 81, 80, 77, 68, 68, 72, 73, 67, 67, 64,
+  62, 59, 57, 55, 53, 50, 51, 50, 51, 49, 50, 49, 48, 46, 42, 41,
+  47, 50, 54, 53, 50, 43, 42, 36, 32, 43, 59, 80, 255, 255, 255, 12,
+  14, 32, 36, 50, 62, 44, 32, 34, 34, 42, 50, 42, 24, 22, 28, 36,
+  36, 35, 32, 32, 34, 31, 26, 29, 24, 22, 24, 26, 27, 32, 37, 36,
+  36, 35, 36, 36, 34, 30, 26, 29, 29, 29, 34, 40, 54, 69, 79, 87,
+  87, 82, 77, 72, 59, 67, 93, 89, 91, 86, 74, 74, 82, 83, 73, 76,
+  73, 71, 69, 66, 62, 58, 58, 57, 57, 59, 58, 56, 53, 51, 47, 47,
+  45, 51, 56, 58, 55, 48, 38, 36, 28, 27, 42, 58, 75, 255, 255, 255,
+  13, 5, 18, 38, 56, 55, 42, 37, 35, 44, 51, 47, 32, 19, 24, 32,
+  33, 31, 29, 27, 30, 34, 32, 26, 27, 25, 23, 24, 25, 28, 32, 34,
+  26, 24, 24, 27, 31, 30, 28, 25, 27, 31, 38, 47, 56, 69, 82, 92,
+  97, 100, 93, 85, 78, 68, 77, 102, 98, 102, 96, 82, 81, 92, 92, 79,
+  85, 83, 81, 78, 73, 70, 66, 67, 61, 62, 65, 65, 62, 58, 54, 50,
+  49, 48, 51, 53, 55, 52, 43, 35, 31, 25, 27, 40, 51, 65, 255, 255,
+  255, 16, 3, 9, 42, 59, 45, 38, 39, 29, 49, 54, 35, 19, 19, 28,
+  27, 22, 22, 24, 26, 32, 37, 34, 27, 24, 25, 26, 26, 27, 28, 29,
+  26, 19, 15, 18, 21, 27, 29, 29, 30, 36, 43, 54, 65, 74, 82, 91,
+  95, 108, 114, 107, 97, 86, 77, 87, 110, 109, 111, 102, 87, 88, 97, 96,
+  85, 95, 94, 93, 89, 83, 78, 76, 77, 70, 71, 74, 74, 72, 67, 63,
+  59, 54, 51, 52, 54, 55, 52, 43, 31, 25, 25, 32, 43, 49, 62, 255,
+  255, 255, 176, 5, 6, 45, 60, 37, 35, 39, 27, 50, 53, 32, 21, 29,
+  34, 23, 13, 18, 24, 29, 34, 37, 34, 27, 22, 26, 27, 26, 26, 29,
+  29, 21, 14, 14, 17, 21, 25, 29, 35, 39, 47, 55, 72, 86, 96, 106,
+  112, 115, 120, 124, 117, 107, 101, 92, 99, 119, 121, 114, 104, 96, 97, 102,
+  100, 94, 105, 105, 105, 100, 93, 88, 88, 89, 83, 84, 85, 85, 85, 82,
+  78, 73, 68, 63, 63, 63, 65, 59, 45, 32, 20, 26, 34, 44, 55, 136,
+  255, 255, 255, 255, 7, 6, 47, 59, 31, 36, 40, 27, 41, 45, 38, 35,
+  37, 34, 19, 12, 20, 28, 31, 32, 33, 30, 25, 21, 25, 25, 22, 24,
+  30, 32, 24, 17, 20, 29, 33, 39, 47, 60, 73, 75, 83, 98, 109, 120,
+  129, 136, 139, 133, 131, 122, 116, 120, 115, 114, 124, 128, 113, 103, 103, 108,
+  108, 106, 107, 114, 117, 118, 113, 105, 100, 99, 101, 98, 99, 100, 100, 101,
+  98, 95, 91, 85, 82, 83, 83, 83, 73, 53, 35, 21, 28, 34, 43, 63,
+  255, 255, 255, 255, 255, 9, 7, 48, 58, 29, 37, 41, 22, 27, 33, 40,
+  43, 36, 25, 12, 16, 23, 31, 32, 30, 29, 26, 23, 21, 24, 23, 19,
+  21, 30, 35, 31, 32, 37, 51, 59, 66, 80, 98, 116, 117, 122, 128, 133,
+  138, 141, 145, 146, 143, 135, 122, 120, 133, 132, 125, 126, 131, 112, 103, 109,
+  114, 112, 112, 117, 122, 126, 126, 121, 114, 108, 109, 109, 110, 110, 113, 113,
+  112, 110, 110, 107, 99, 97, 99, 101, 101, 84, 59, 38, 26, 31, 31, 40,
+  70, 255, 255, 255, 255, 255, 4, 17, 58, 55, 26, 37, 48, 26, 24, 27,
+  37, 41, 30, 19, 10, 25, 24, 26, 27, 27, 26, 25, 24, 18, 15, 17,
+  25, 30, 30, 34, 40, 52, 60, 75, 84, 96, 115, 132, 144, 150, 156, 158,
+  163, 163, 163, 160, 155, 149, 133, 110, 117, 121, 113, 122, 120, 118, 109, 104,
+  110, 117, 118, 124, 130, 128, 124, 123, 127, 126, 120, 118, 120, 122, 118, 120,
+  115, 106, 113, 118, 104, 101, 107, 122, 118, 119, 113, 74, 39, 35, 40, 27,
+  49, 67, 255, 255, 255, 255, 255, 176, 22, 51, 47, 26, 41, 50, 25, 22,
+  24, 34, 39, 33, 25, 18, 27, 25, 25, 25, 24, 23, 21, 21, 26, 23,
+  25, 31, 34, 37, 45, 54, 77, 89, 102, 111, 123, 141, 156, 166, 176, 174,
+  168, 161, 157, 159, 166, 167, 146, 139, 123, 130, 129, 117, 118, 109, 116, 110,
+  110, 118, 125, 126, 127, 133, 135, 132, 132, 134, 130, 122, 118, 120, 119, 120,
+  128, 131, 127, 124, 117, 103, 109, 110, 122, 136, 147, 150, 113, 45, 31, 34,
+  27, 50, 134, 255, 255, 255, 255, 255, 255, 21, 38, 35, 26, 46, 50, 30,
+  26, 24, 30, 35, 33, 30, 24, 29, 26, 24, 22, 21, 19, 19, 18, 26,
+  25, 26, 28, 30, 37, 52, 68, 101, 115, 128, 135, 146, 161, 174, 181, 185,
+  184, 181, 173, 167, 163, 164, 163, 147, 146, 133, 136, 129, 117, 119, 108, 113,
+  111, 115, 124, 130, 131, 133, 136, 141, 141, 140, 140, 134, 125, 120, 121, 124,
+  119, 116, 116, 120, 127, 136, 136, 131, 129, 133, 153, 156, 166, 149, 54, 27,
+  28, 35, 60, 255, 255, 255, 255, 255, 255, 255, 15, 28, 29, 30, 51, 46,
+  37, 32, 25, 26, 30, 32, 31, 26, 30, 26, 24, 22, 20, 20, 21, 21,
+  23, 24, 25, 24, 27, 40, 62, 85, 119, 133, 146, 154, 165, 177, 185, 188,
+  187, 187, 186, 185, 181, 177, 170, 162, 165, 161, 143, 137, 131, 120, 128, 123,
+  110, 111, 119, 127, 133, 136, 139, 142, 146, 147, 147, 143, 138, 131, 126, 125,
+  124, 125, 125, 135, 139, 131, 127, 129, 122, 128, 139, 168, 155, 167, 169, 53,
+  28, 31, 58, 87, 255, 255, 255, 255, 255, 255, 255, 17, 32, 37, 40, 54,
+  40, 38, 33, 25, 23, 28, 33, 35, 29, 28, 25, 24, 23, 23, 24, 26,
+  27, 26, 29, 30, 30, 37, 56, 82, 108, 139, 155, 166, 172, 180, 191, 195,
+  194, 197, 191, 183, 181, 177, 166, 153, 140, 122, 118, 104, 109, 102, 92, 103,
+  102, 104, 108, 117, 124, 130, 137, 142, 146, 148, 150, 149, 147, 144, 138, 131,
+  126, 122, 113, 99, 96, 95, 78, 79, 98, 86, 91, 114, 158, 156, 175, 172,
+  43, 28, 40, 95, 124, 255, 255, 255, 255, 255, 255, 255, 178, 43, 49, 48,
+  55, 35, 32, 29, 23, 20, 27, 36, 39, 33, 26, 25, 25, 26, 27, 28,
+  30, 31, 27, 31, 34, 36, 49, 75, 103, 127, 154, 170, 177, 182, 190, 196,
+  200, 195, 197, 193, 183, 172, 152, 120, 82, 58, 40, 43, 47, 79, 87, 72,
+  78, 79, 95, 103, 113, 122, 129, 139, 147, 150, 153, 155, 156, 154, 152, 144,
+  128, 113, 86, 67, 35, 25, 31, 31, 61, 114, 96, 72, 78, 120, 140, 179,
+  166, 42, 34, 52, 129, 155, 255, 255, 255, 255, 255, 255, 255, 255, 44, 51,
+  46, 51, 32, 29, 28, 23, 20, 27, 37, 40, 32, 25, 24, 26, 27, 29,
+  30, 30, 30, 26, 31, 35, 41, 60, 90, 119, 142, 165, 180, 185, 188, 192,
+  200, 200, 195, 191, 184, 169, 143, 106, 66, 28, 8, 21, 26, 44, 98, 113,
+  86, 81, 80, 85, 99, 113, 122, 131, 142, 149, 150, 158, 162, 165, 164, 162,
+  147, 117, 89, 41, 40, 27, 35, 50, 47, 77, 136, 123, 77, 78, 102, 129,
+  176, 154, 50, 48, 68, 158, 174, 255, 255, 255, 255, 255, 255, 255, 255, 38,
+  45, 41, 48, 33, 36, 35, 28, 24, 27, 33, 32, 24, 25, 26, 28, 30,
+  31, 31, 29, 28, 28, 33, 38, 49, 74, 110, 140, 159, 178, 191, 192, 195,
+  199, 204, 205, 199, 189, 173, 142, 103, 65, 44, 40, 45, 44, 42, 60, 117,
+  129, 87, 71, 68, 86, 102, 119, 131, 141, 150, 153, 152, 168, 173, 176, 179,
+  176, 156, 114, 78, 57, 53, 33, 36, 48, 41, 74, 144, 122, 87, 108, 131,
+  151, 190, 151, 62, 72, 92, 183, 188, 255, 255, 255, 255, 255, 255, 255, 255,
+  42, 57, 50, 37, 34, 35, 39, 31, 39, 46, 32, 24, 25, 25, 33, 38,
+  39, 38, 35, 31, 26, 18, 35, 48, 68, 113, 151, 166, 175, 190, 195, 197,
+  199, 198, 196, 189, 184, 177, 153, 132, 131, 143, 147, 134, 114, 100, 98, 104,
+  111, 115, 114, 115, 119, 130, 135, 145, 154, 163, 166, 165, 165, 181, 186, 186,
+  187, 185, 170, 141, 116, 97, 94, 98, 106, 108, 112, 130, 151, 166, 184, 192,
+  184, 174, 191, 175, 88, 139, 171, 199, 206, 255, 255, 255, 255, 255, 255, 255,
+  255, 49, 59, 43, 32, 41, 32, 34, 32, 38, 36, 28, 20, 19, 21, 35,
+  42, 42, 36, 30, 25, 25, 23, 45, 62, 86, 129, 164, 181, 190, 198, 198,
+  200, 200, 200, 199, 193, 189, 168, 170, 174, 177, 177, 174, 166, 157, 143, 139,
+  140, 143, 142, 137, 134, 136, 150, 151, 154, 162, 172, 177, 177, 173, 182, 186,
+  192, 197, 201, 193, 171, 150, 146, 138, 137, 146, 150, 155, 169, 188, 188, 196,
+  204, 210, 204, 212, 206, 145, 177, 196, 213, 215, 255, 255, 255, 255, 255, 255,
+  255, 255, 188, 58, 30, 20, 38, 29, 28, 37, 41, 32, 33, 30, 25, 23,
+  34, 44, 42, 33, 24, 23, 24, 29, 55, 78, 103, 142, 172, 188, 198, 199,
+  201, 201, 201, 201, 202, 198, 196, 190, 194, 196, 190, 182, 176, 178, 180, 168,
+  162, 158, 159, 153, 146, 142, 143, 154, 150, 151, 159, 172, 180, 181, 176, 190,
+  194, 198, 202, 207, 204, 187, 168, 159, 148, 142, 149, 155, 159, 169, 182, 194,
+  194, 201, 220, 220, 218, 222, 189, 201, 210, 212, 212, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 48, 22, 13, 27, 26, 26, 43, 39, 32, 46, 43, 33,
+  31, 36, 40, 39, 34, 25, 25, 27, 32, 60, 89, 116, 150, 174, 187, 198,
+  201, 201, 199, 200, 201, 203, 204, 201, 204, 197, 187, 184, 181, 180, 176, 170,
+  160, 155, 154, 157, 154, 149, 146, 149, 151, 152, 156, 165, 177, 185, 186, 187,
+  200, 202, 204, 206, 209, 206, 194, 180, 175, 166, 161, 162, 162, 162, 170, 179,
+  193, 194, 199, 222, 224, 219, 227, 207, 204, 207, 209, 208, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 42, 23, 15, 17, 22, 22, 40, 31, 40, 66, 50,
+  38, 40, 32, 29, 30, 31, 27, 27, 30, 38, 66, 96, 124, 157, 176, 187,
+  197, 201, 199, 198, 199, 202, 203, 204, 204, 191, 187, 189, 196, 202, 199, 186,
+  173, 166, 163, 164, 167, 167, 164, 163, 166, 162, 167, 176, 183, 188, 192, 195,
+  198, 197, 200, 203, 206, 212, 216, 210, 202, 198, 195, 194, 191, 185, 184, 193,
+  201, 196, 211, 213, 224, 226, 224, 229, 209, 196, 202, 207, 208, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 41, 27, 19, 14, 23, 27, 36, 25, 60, 98,
+  65, 48, 39, 25, 21, 28, 33, 31, 31, 34, 49, 76, 102, 129, 164, 179,
+  188, 200, 200, 199, 198, 200, 203, 205, 206, 205, 196, 200, 204, 205, 205, 202,
+  200, 199, 192, 189, 188, 188, 187, 181, 180, 183, 179, 186, 193, 196, 197, 195,
+  197, 200, 200, 203, 207, 209, 216, 222, 219, 213, 203, 208, 211, 208, 202, 201,
+  209, 218, 207, 227, 224, 227, 229, 229, 231, 209, 198, 205, 211, 212, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 49, 27, 16, 17, 28, 33, 33, 20, 86,
+  131, 81, 60, 35, 22, 24, 34, 40, 37, 39, 45, 58, 81, 106, 133, 167,
+  182, 189, 200, 201, 198, 198, 200, 204, 206, 205, 206, 213, 211, 209, 204, 201,
+  202, 209, 215, 213, 209, 205, 203, 200, 195, 192, 195, 194, 196, 198, 198, 199,
+  198, 198, 201, 204, 207, 211, 210, 217, 222, 220, 214, 214, 219, 223, 222, 219,
+  220, 224, 225, 216, 232, 223, 226, 234, 231, 230, 216, 203, 206, 210, 213, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 188, 24, 12, 21, 26, 34, 27, 12,
+  95, 147, 84, 63, 31, 24, 32, 45, 49, 43, 48, 57, 67, 86, 107, 136,
+  169, 184, 190, 201, 200, 200, 200, 202, 206, 207, 208, 206, 208, 205, 206, 211,
+  217, 220, 214, 209, 217, 213, 210, 210, 207, 201, 200, 201, 205, 202, 199, 199,
+  201, 203, 205, 205, 199, 203, 206, 209, 215, 222, 224, 220, 219, 221, 223, 222,
+  223, 224, 224, 221, 223, 231, 220, 228, 242, 232, 233, 229, 206, 205, 206, 209,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 33, 17, 17, 21, 34, 29,
+  7, 104, 140, 95, 58, 29, 36, 50, 55, 57, 60, 68, 70, 82, 94, 115,
+  140, 166, 185, 198, 203, 204, 203, 205, 205, 206, 205, 206, 206, 209, 208, 209,
+  210, 211, 215, 217, 218, 220, 224, 221, 214, 208, 209, 206, 199, 205, 208, 208,
+  200, 198, 202, 206, 204, 203, 201, 201, 206, 213, 219, 222, 222, 214, 228, 230,
+  219, 216, 228, 234, 227, 220, 223, 228, 231, 235, 232, 231, 230, 206, 208, 210,
+  211, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 182, 26, 12, 20, 40,
+  23, 13, 71, 136, 98, 74, 52, 42, 40, 49, 78, 106, 117, 110, 104, 107,
+  122, 146, 169, 184, 196, 203, 199, 198, 202, 203, 207, 208, 210, 210, 211, 211,
+  214, 216, 218, 218, 219, 219, 219, 222, 219, 211, 207, 206, 202, 195, 193, 198,
+  198, 194, 193, 199, 203, 202, 200, 201, 205, 207, 215, 220, 222, 223, 218, 221,
+  224, 223, 223, 223, 223, 222, 222, 223, 227, 230, 234, 235, 234, 233, 209, 211,
+  213, 216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 38, 15, 30,
+  52, 20, 22, 24, 108, 92, 93, 68, 65, 66, 76, 112, 147, 150, 130, 133,
+  124, 130, 151, 174, 184, 196, 207, 200, 197, 201, 203, 207, 208, 211, 211, 212,
+  213, 217, 218, 219, 218, 216, 216, 217, 219, 216, 210, 205, 200, 195, 190, 189,
+  191, 192, 189, 192, 195, 198, 198, 195, 198, 205, 208, 213, 217, 221, 224, 223,
+  215, 214, 221, 224, 220, 218, 221, 222, 219, 222, 227, 231, 235, 235, 234, 224,
+  226, 228, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 39, 26,
+  38, 49, 23, 30, 0, 72, 97, 132, 111, 109, 94, 75, 94, 139, 168, 169,
+  155, 139, 136, 157, 179, 188, 200, 211, 204, 201, 204, 205, 208, 208, 210, 209,
+  208, 211, 214, 218, 217, 214, 211, 210, 216, 217, 213, 210, 203, 196, 189, 182,
+  181, 180, 180, 181, 186, 189, 188, 187, 188, 194, 201, 207, 210, 214, 219, 224,
+  224, 210, 200, 198, 203, 208, 213, 217, 217, 217, 217, 221, 227, 230, 231, 230,
+  237, 238, 241, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 31,
+  38, 45, 39, 28, 34, 5, 43, 105, 163, 141, 147, 137, 110, 113, 146, 177,
+  183, 171, 156, 150, 165, 181, 191, 201, 211, 207, 204, 205, 206, 207, 207, 209,
+  209, 206, 210, 212, 214, 214, 211, 208, 206, 214, 213, 211, 206, 198, 187, 178,
+  174, 164, 160, 159, 166, 176, 180, 179, 178, 187, 193, 200, 205, 208, 210, 216,
+  220, 217, 209, 189, 167, 166, 183, 197, 200, 213, 213, 214, 217, 223, 227, 227,
+  227, 236, 238, 239, 240, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  180, 48, 53, 43, 33, 31, 10, 14, 80, 132, 157, 176, 188, 180, 179, 186,
+  186, 173, 184, 174, 167, 173, 185, 194, 202, 204, 204, 201, 203, 206, 207, 209,
+  211, 212, 208, 208, 208, 209, 210, 208, 209, 207, 208, 204, 204, 200, 190, 176,
+  165, 161, 146, 143, 148, 161, 177, 185, 186, 186, 192, 194, 197, 199, 202, 206,
+  209, 210, 212, 210, 187, 155, 145, 162, 178, 181, 205, 209, 213, 216, 220, 223,
+  226, 227, 233, 235, 236, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 40, 58, 58, 34, 31, 14, 8, 46, 71, 129, 154, 176, 181, 183,
+  189, 195, 192, 188, 186, 184, 183, 188, 200, 207, 203, 204, 201, 202, 204, 205,
+  206, 206, 206, 206, 204, 202, 201, 203, 203, 207, 207, 201, 195, 194, 190, 180,
+  161, 149, 145, 144, 137, 143, 163, 184, 193, 197, 197, 196, 193, 191, 188, 191,
+  192, 192, 190, 193, 197, 187, 164, 144, 145, 157, 168, 189, 197, 206, 209, 212,
+  215, 221, 227, 233, 235, 238, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 21, 53, 67, 33, 35, 23, 29, 38, 40, 25, 75, 132, 162,
+  168, 169, 175, 182, 186, 194, 194, 190, 196, 208, 214, 206, 206, 203, 205, 203,
+  202, 201, 200, 200, 203, 198, 195, 192, 193, 196, 201, 201, 189, 182, 180, 180,
+  169, 151, 139, 136, 143, 136, 139, 159, 180, 190, 190, 190, 188, 182, 175, 172,
+  175, 176, 176, 175, 171, 175, 180, 171, 148, 131, 137, 156, 170, 182, 194, 201,
+  202, 208, 217, 225, 234, 234, 238, 239, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 173, 46, 52, 43, 26, 26, 28, 35, 42, 30, 9, 58,
+  122, 169, 187, 174, 185, 187, 195, 201, 198, 200, 206, 206, 202, 206, 204, 206,
+  204, 204, 203, 200, 199, 195, 197, 196, 191, 187, 190, 191, 184, 177, 169, 165,
+  161, 156, 151, 145, 140, 150, 146, 145, 152, 161, 164, 155, 145, 143, 140, 144,
+  153, 165, 170, 172, 169, 169, 164, 171, 176, 161, 134, 131, 146, 159, 167, 181,
+  194, 200, 200, 214, 230, 235, 238, 241, 241, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 27, 43, 47, 33, 28, 26, 31, 41, 15, 0,
+  17, 54, 106, 156, 163, 163, 182, 195, 201, 200, 199, 202, 206, 205, 206, 205,
+  205, 203, 203, 200, 199, 196, 194, 195, 194, 187, 186, 189, 191, 182, 165, 163,
+  163, 155, 145, 144, 153, 164, 167, 160, 153, 145, 135, 128, 118, 109, 72, 73,
+  85, 106, 135, 155, 166, 169, 149, 161, 177, 178, 165, 145, 136, 134, 144, 154,
+  169, 183, 190, 195, 213, 230, 237, 239, 241, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 5, 35, 50, 43, 32, 23, 26, 38, 23,
+  7, 6, 15, 70, 152, 178, 166, 178, 192, 200, 199, 197, 199, 208, 211, 203,
+  202, 202, 202, 202, 199, 198, 195, 191, 191, 191, 185, 186, 188, 189, 181, 167,
+  162, 156, 148, 143, 149, 163, 175, 175, 173, 166, 154, 140, 131, 126, 125, 135,
+  127, 127, 134, 150, 161, 167, 167, 162, 182, 196, 188, 173, 158, 143, 128, 134,
+  145, 162, 174, 183, 192, 215, 234, 237, 239, 241, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 27, 49, 48, 41, 30, 26, 31,
+  20, 12, 3, 3, 53, 142, 183, 172, 183, 193, 198, 199, 199, 200, 207, 210,
+  202, 199, 201, 199, 199, 196, 195, 193, 186, 186, 186, 182, 183, 187, 186, 177,
+  170, 156, 144, 143, 154, 165, 170, 171, 175, 175, 175, 168, 162, 159, 159, 158,
+  148, 141, 136, 135, 142, 150, 158, 165, 190, 200, 203, 191, 175, 162, 149, 139,
+  132, 142, 158, 170, 181, 195, 218, 239, 237, 239, 241, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 178, 42, 44, 48, 39, 26,
+  25, 19, 14, 1, 3, 41, 118, 178, 185, 195, 196, 196, 199, 203, 204, 207,
+  203, 200, 196, 199, 197, 196, 194, 193, 191, 186, 187, 187, 185, 186, 186, 182,
+  172, 158, 150, 145, 152, 165, 176, 178, 174, 183, 181, 180, 176, 174, 172, 169,
+  163, 149, 144, 144, 144, 148, 161, 179, 195, 197, 196, 195, 194, 183, 167, 155,
+  154, 134, 144, 157, 167, 181, 199, 222, 238, 235, 238, 244, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 27, 32, 44, 43,
+  30, 24, 25, 21, 2, 7, 32, 91, 168, 198, 203, 200, 196, 201, 206, 206,
+  206, 202, 200, 196, 197, 196, 196, 193, 192, 189, 187, 188, 190, 188, 190, 188,
+  179, 167, 141, 148, 160, 168, 171, 174, 183, 191, 194, 191, 186, 187, 187, 183,
+  174, 160, 157, 152, 153, 149, 151, 162, 179, 195, 208, 205, 205, 209, 199, 181,
+  165, 162, 142, 149, 159, 170, 184, 204, 224, 235, 235, 238, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 13, 16, 34,
+  44, 33, 29, 24, 22, 0, 2, 17, 67, 152, 186, 203, 200, 198, 203, 206,
+  205, 205, 205, 199, 196, 197, 197, 196, 193, 192, 190, 187, 188, 189, 189, 190,
+  186, 173, 156, 145, 155, 168, 173, 172, 175, 185, 195, 192, 189, 187, 188, 188,
+  185, 177, 167, 159, 157, 159, 163, 170, 182, 194, 201, 202, 206, 208, 204, 196,
+  187, 175, 160, 157, 161, 167, 175, 192, 214, 230, 235, 237, 239, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 172, 8,
+  27, 40, 36, 34, 31, 35, 13, 12, 24, 68, 151, 182, 200, 200, 200, 204,
+  206, 202, 205, 209, 199, 197, 197, 197, 195, 194, 191, 190, 182, 184, 187, 188,
+  188, 182, 164, 147, 164, 164, 165, 169, 174, 179, 182, 185, 181, 179, 177, 176,
+  175, 171, 166, 161, 156, 149, 151, 158, 169, 176, 177, 175, 173, 185, 185, 175,
+  173, 182, 176, 159, 171, 171, 176, 182, 202, 223, 235, 235, 237, 244, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  172, 22, 39, 40, 35, 42, 39, 17, 18, 21, 54, 139, 179, 197, 203, 205,
+  203, 206, 209, 210, 205, 199, 195, 195, 194, 192, 193, 191, 192, 188, 185, 186,
+  187, 189, 185, 172, 162, 167, 163, 162, 165, 169, 171, 167, 162, 157, 158, 156,
+  147, 144, 144, 141, 135, 132, 129, 130, 139, 146, 154, 157, 155, 181, 179, 176,
+  172, 168, 167, 168, 169, 179, 186, 191, 194, 208, 229, 237, 235, 240, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 25, 37, 40, 36, 40, 40, 27, 33, 28, 48, 126, 176, 196, 203,
+  206, 204, 207, 209, 211, 206, 199, 195, 195, 194, 194, 193, 193, 192, 190, 187,
+  186, 189, 191, 187, 178, 166, 170, 157, 157, 155, 131, 99, 96, 116, 128, 132,
+  131, 127, 125, 126, 125, 121, 132, 131, 135, 142, 152, 155, 154, 149, 130, 133,
+  139, 145, 154, 164, 174, 179, 188, 194, 198, 201, 213, 231, 239, 234, 241, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 178, 35, 38, 39, 37, 37, 31, 35, 24, 31, 104, 169, 195,
+  203, 208, 207, 209, 210, 212, 207, 201, 197, 196, 195, 195, 193, 194, 192, 189,
+  187, 189, 190, 193, 189, 183, 172, 173, 162, 161, 157, 129, 96, 93, 114, 115,
+  121, 124, 121, 122, 124, 122, 118, 119, 123, 134, 149, 163, 170, 169, 168, 160,
+  160, 164, 169, 177, 186, 194, 197, 196, 202, 206, 208, 219, 231, 236, 233, 246,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 179, 37, 46, 42, 37, 33, 31, 16, 17, 84, 167,
+  192, 203, 209, 209, 210, 211, 213, 208, 202, 197, 198, 196, 196, 195, 196, 195,
+  190, 188, 190, 192, 194, 191, 187, 179, 175, 173, 169, 159, 156, 157, 153, 148,
+  149, 153, 158, 156, 157, 158, 157, 152, 140, 146, 160, 175, 191, 201, 205, 205,
+  197, 196, 194, 193, 195, 195, 196, 195, 197, 202, 209, 213, 222, 232, 236, 234,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 37, 50, 50, 44, 44, 40, 27, 24, 77,
+  168, 189, 202, 210, 210, 211, 212, 213, 209, 204, 200, 201, 198, 198, 197, 198,
+  197, 190, 188, 190, 191, 192, 192, 189, 184, 179, 177, 170, 165, 172, 183, 180,
+  170, 172, 175, 180, 176, 175, 176, 174, 167, 166, 167, 175, 184, 192, 199, 201,
+  203, 192, 189, 190, 192, 198, 202, 204, 201, 199, 203, 212, 215, 223, 230, 235,
+  244, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 181, 44, 45, 43, 48, 43, 42, 39,
+  72, 156, 185, 200, 210, 211, 211, 211, 213, 211, 205, 202, 201, 201, 201, 199,
+  200, 198, 194, 193, 194, 193, 193, 190, 189, 186, 184, 172, 171, 177, 176, 170,
+  173, 185, 180, 185, 186, 182, 181, 182, 179, 174, 172, 173, 175, 178, 183, 186,
+  190, 191, 199, 198, 197, 202, 209, 210, 210, 208, 202, 205, 211, 215, 219, 223,
+  238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 180, 41, 35, 41, 34, 45,
+  49, 68, 146, 181, 196, 210, 211, 211, 210, 212, 210, 206, 204, 204, 201, 201,
+  200, 200, 199, 198, 197, 198, 195, 193, 192, 191, 189, 185, 178, 178, 182, 180,
+  173, 180, 193, 198, 201, 202, 200, 202, 205, 204, 198, 191, 191, 193, 196, 200,
+  203, 207, 209, 210, 207, 205, 205, 208, 207, 202, 197, 205, 205, 207, 208, 206,
+  207, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 46, 37, 35, 22,
+  38, 51, 67, 143, 177, 195, 210, 211, 209, 210, 210, 210, 208, 205, 204, 203,
+  201, 202, 200, 199, 203, 203, 202, 199, 196, 194, 194, 192, 182, 186, 180, 168,
+  173, 186, 188, 180, 189, 193, 194, 193, 196, 201, 204, 199, 194, 194, 197, 198,
+  201, 201, 203, 204, 210, 208, 207, 210, 213, 213, 208, 205, 207, 206, 207, 204,
+  197, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 35, 36,
+  20, 18, 24, 55, 130, 175, 188, 202, 216, 220, 205, 197, 210, 208, 206, 203,
+  205, 208, 208, 201, 193, 203, 202, 201, 202, 202, 200, 199, 193, 180, 177, 173,
+  171, 172, 174, 179, 182, 186, 187, 189, 188, 185, 183, 188, 189, 191, 187, 187,
+  186, 190, 193, 197, 198, 198, 194, 199, 209, 212, 205, 202, 210, 210, 210, 206,
+  201, 196, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 180,
+  43, 32, 26, 24, 50, 122, 175, 190, 200, 211, 218, 207, 197, 201, 210, 207,
+  204, 204, 205, 204, 200, 197, 202, 201, 201, 201, 203, 202, 200, 193, 182, 177,
+  174, 172, 172, 174, 176, 180, 183, 184, 185, 182, 181, 180, 184, 184, 183, 182,
+  183, 182, 181, 181, 187, 193, 197, 198, 205, 210, 210, 204, 203, 208, 210, 210,
+  207, 202, 197, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 186, 45, 38, 30, 44, 108, 175, 193, 200, 204, 215, 212, 201, 197, 206,
+  205, 204, 203, 202, 201, 201, 202, 201, 200, 202, 202, 205, 203, 202, 195, 187,
+  182, 180, 179, 177, 179, 179, 181, 183, 184, 185, 183, 180, 179, 180, 181, 178,
+  180, 183, 178, 175, 176, 185, 193, 196, 205, 212, 212, 210, 208, 204, 202, 191,
+  193, 193, 189, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 42, 49, 44, 49, 101, 170, 196, 203, 200, 209, 213, 205, 198,
+  199, 201, 202, 201, 199, 199, 202, 205, 201, 200, 201, 202, 205, 203, 202, 197,
+  195, 191, 190, 189, 187, 185, 183, 182, 185, 184, 184, 182, 180, 179, 179, 179,
+  179, 180, 179, 179, 180, 183, 192, 200, 201, 210, 214, 214, 215, 217, 205, 192,
+  180, 186, 185, 206, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 53, 58, 60, 104, 166, 198, 209, 203, 205, 210, 207,
+  205, 192, 194, 197, 197, 199, 199, 203, 205, 200, 200, 201, 202, 205, 206, 204,
+  200, 198, 197, 196, 195, 193, 191, 188, 185, 187, 184, 183, 183, 182, 181, 179,
+  178, 178, 177, 175, 180, 187, 197, 203, 205, 206, 211, 214, 216, 223, 221, 201,
+  181, 187, 190, 212, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 48, 51, 97, 170, 201, 213, 207, 206, 206,
+  206, 209, 193, 191, 191, 191, 194, 197, 200, 202, 201, 200, 202, 203, 208, 207,
+  206, 202, 202, 199, 199, 197, 196, 191, 190, 187, 189, 188, 186, 184, 185, 184,
+  181, 178, 180, 176, 174, 180, 193, 201, 205, 205, 211, 213, 215, 220, 222, 214,
+  190, 169, 181, 183, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 37, 91, 184, 205, 214, 209, 208,
+  204, 200, 204, 199, 193, 187, 183, 187, 193, 197, 197, 201, 201, 203, 204, 210,
+  209, 207, 205, 207, 206, 203, 201, 200, 199, 196, 193, 192, 190, 188, 189, 188,
+  187, 183, 182, 182, 182, 182, 186, 194, 199, 201, 200, 212, 213, 219, 224, 220,
+  199, 173, 158, 169, 170, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 203, 195, 209, 212, 209,
+  211, 204, 197, 200, 208, 197, 182, 177, 181, 189, 193, 195, 201, 201, 202, 205,
+  208, 210, 208, 206, 212, 211, 209, 207, 206, 205, 203, 201, 196, 192, 190, 190,
+  192, 189, 184, 183, 186, 188, 190, 191, 193, 194, 196, 197, 212, 215, 222, 228,
+  215, 184, 159, 152, 169, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 209, 214,
+  216, 212, 203, 200, 203, 201, 206, 202, 189, 171, 168, 178, 192, 198, 197, 197,
+  202, 210, 215, 214, 212, 210, 210, 209, 207, 204, 205, 207, 207, 207, 202, 199,
+  195, 193, 190, 186, 184, 193, 193, 189, 189, 192, 196, 204, 209, 209, 217, 226,
+  228, 215, 193, 180, 180, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 240,
+  215, 217, 214, 204, 198, 198, 200, 203, 205, 199, 190, 181, 177, 179, 185, 189,
+  196, 202, 206, 207, 210, 212, 212, 212, 213, 210, 209, 208, 211, 214, 203, 202,
+  198, 197, 195, 193, 190, 188, 190, 189, 186, 186, 188, 192, 197, 202, 213, 218,
+  225, 229, 222, 204, 188, 207, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 240, 209, 203, 198, 198, 201, 201, 203, 204, 199, 189, 175, 166, 169,
+  180, 190, 198, 199, 200, 204, 207, 210, 211, 212, 209, 207, 208, 210, 211, 203,
+  202, 199, 199, 199, 196, 192, 188, 190, 187, 184, 181, 182, 186, 191, 196, 213,
+  216, 224, 234, 231, 215, 198, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 237, 198, 196, 199, 203, 201, 202, 203, 202, 195, 182, 171,
+  163, 169, 177, 184, 189, 191, 196, 199, 204, 205, 205, 203, 201, 200, 202, 204,
+  207, 206, 203, 202, 200, 196, 189, 184, 190, 185, 181, 178, 179, 182, 188, 191,
+  203, 211, 225, 239, 238, 223, 221, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 235, 193, 196, 198, 201, 206, 204, 200, 193,
+  185, 168, 165, 165, 169, 177, 182, 185, 187, 199, 201, 202, 200, 198, 197, 198,
+  199, 205, 204, 204, 203, 203, 198, 191, 187, 186, 183, 178, 174, 174, 176, 184,
+  187, 192, 208, 230, 244, 241, 221, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 233, 184, 189, 196, 202, 203, 198,
+  194, 187, 176, 167, 160, 160, 165, 171, 175, 175, 193, 195, 197, 197, 196, 199,
+  200, 203, 202, 201, 201, 201, 202, 199, 195, 191, 184, 179, 174, 169, 170, 174,
+  180, 184, 193, 209, 230, 242, 236, 230, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 235, 194, 194, 195,
+  193, 190, 184, 183, 176, 168, 162, 160, 161, 165, 167, 176, 181, 185, 188, 191,
+  195, 198, 203, 202, 201, 199, 201, 200, 198, 197, 192, 186, 181, 176, 171, 170,
+  175, 182, 188, 208, 217, 229, 236, 231, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 236, 189,
+  190, 193, 195, 192, 188, 184, 177, 167, 159, 154, 157, 161, 158, 162, 168, 173,
+  179, 184, 191, 194, 202, 201, 200, 198, 198, 195, 193, 189, 189, 184, 179, 173,
+  175, 182, 191, 197, 228, 227, 231, 232, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 233, 194, 193, 186, 183, 186, 185, 174, 163, 156, 154, 152, 160, 158, 156,
+  156, 160, 167, 177, 183, 186, 189, 194, 197, 200, 200, 200, 194, 183, 182, 182,
+  183, 187, 194, 206, 216, 231, 229, 239, 242, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 239, 195, 179, 179, 176, 171, 167, 163, 158, 149, 153, 151,
+  151, 152, 155, 160, 166, 169, 173, 177, 183, 190, 196, 198, 200, 197, 187, 184,
+  185, 193, 203, 217, 229, 235, 236, 231, 237, 243, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 183, 178, 172, 166, 167, 167, 162, 154, 152,
+  152, 154, 156, 157, 158, 159, 160, 164, 169, 175, 181, 188, 191, 193, 193, 194,
+  190, 193, 204, 218, 230, 233, 236, 239, 225, 221, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 235, 181, 169, 163, 166, 165, 160,
+  154, 154, 156, 158, 159, 159, 159, 159, 162, 165, 171, 174, 179, 182, 184, 184,
+  193, 196, 204, 214, 227, 230, 229, 224, 227, 209, 196, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 233, 174, 168, 164,
+  161, 159, 157, 157, 155, 157, 158, 160, 161, 166, 169, 172, 174, 176, 178, 180,
+  184, 194, 203, 215, 226, 231, 226, 215, 208, 201, 189, 206, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 184,
+  175, 168, 163, 159, 157, 154, 155, 156, 160, 161, 168, 169, 172, 176, 180, 183,
+  184, 191, 205, 214, 226, 229, 226, 210, 192, 181, 186, 183, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 194, 169, 165, 163, 160, 158, 158, 158, 160, 168, 168, 172, 176, 179,
+  184, 186, 192, 211, 217, 225, 228, 228, 216, 196, 183, 184, 210, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 229, 172, 171, 167, 165, 162, 160, 159, 169, 169, 170, 171,
+  176, 178, 182, 189, 206, 208, 217, 230, 243, 244, 230, 216, 185, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 233, 178, 174, 169, 164, 173, 172, 176,
+  183, 185, 180, 182, 192, 202, 206, 221, 231, 217, 243, 241, 252, 243, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176, 170, 170, 167,
+  168, 175, 180, 182, 190, 199, 205, 208, 216, 216, 196, 223, 232, 252, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230,
+  173, 169, 173, 179, 184, 192, 198, 205, 209, 217, 209, 181, 206, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 190, 189, 188, 187, 201, 207, 218, 211, 182, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255 };
+/* Define image 'enemy9' of size 143x134x1x3 and type 'const unsigned char' */
+const unsigned char data_enemy9[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 241, 197, 212, 233, 255, 255, 250, 243, 250, 255, 254,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227,
+  171, 176, 189, 199, 197, 191, 165, 180, 198, 208, 209, 208, 212, 215, 230, 243,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 131, 119, 127, 135,
+  143, 162, 183, 200, 208, 195, 180, 167, 170, 186, 199, 201, 194, 198, 208, 223,
+  240, 247, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 211, 118, 119, 123, 127, 133, 138, 136,
+  143, 158, 178, 191, 218, 220, 216, 212, 207, 207, 208, 211, 180, 179, 190, 214,
+  232, 230, 224, 221, 217, 225, 236, 250, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 106, 100, 102, 103, 107, 116, 123, 125, 128,
+  141, 157, 170, 172, 199, 223, 226, 208, 192, 189, 194, 186, 178, 177, 184, 184,
+  172, 166, 168, 166, 163, 163, 176, 199, 225, 241, 249, 247, 250, 254, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 86, 74, 71, 82, 88, 88, 89, 101, 109, 109, 111, 119,
+  128, 136, 138, 150, 165, 181, 191, 185, 170, 159, 154, 145, 136, 130, 124, 135,
+  171, 212, 232, 200, 156, 130, 131, 152, 175, 190, 199, 205, 219, 234, 248, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 197,
+  81, 77, 76, 75, 74, 74, 76, 77, 78, 83, 86, 93, 98, 101, 101, 99,
+  98, 107, 113, 109, 101, 104, 119, 132, 134, 131, 134, 141, 145, 135, 127, 139,
+  163, 182, 215, 175, 170, 195, 172, 164, 170, 184, 219, 225, 222, 228, 245, 255,
+  248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 73, 71, 70,
+  71, 71, 71, 71, 72, 74, 76, 78, 78, 83, 88, 89, 86, 83, 83, 85,
+  79, 83, 84, 84, 88, 99, 108, 111, 126, 110, 105, 120, 137, 140, 137, 140,
+  156, 188, 210, 200, 193, 200, 203, 205, 218, 251, 255, 254, 245, 246, 255, 241,
+  251, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 214, 112, 72, 71, 70, 68, 66, 66,
+  66, 66, 67, 69, 72, 75, 77, 76, 81, 85, 82, 74, 70, 72, 76, 74,
+  75, 81, 89, 93, 94, 98, 103, 106, 102, 103, 111, 117, 122, 136, 155, 132,
+  124, 182, 186, 161, 182, 194, 201, 224, 249, 255, 255, 249, 246, 255, 255, 255,
+  254, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 194, 71, 72, 72, 71, 70, 68, 67, 64, 64,
+  64, 65, 67, 70, 73, 75, 74, 76, 77, 74, 70, 68, 70, 72, 82, 80,
+  86, 97, 98, 92, 92, 100, 90, 99, 107, 102, 89, 93, 125, 163, 180, 129,
+  153, 181, 171, 174, 188, 203, 191, 209, 222, 246, 255, 250, 255, 249, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 191, 63, 67, 67, 67, 66, 66, 65, 64, 64, 66, 65, 64,
+  64, 65, 67, 69, 70, 70, 67, 65, 66, 69, 72, 71, 70, 76, 73, 77,
+  86, 87, 81, 82, 89, 90, 88, 86, 84, 82, 89, 106, 125, 170, 135, 106,
+  138, 153, 136, 150, 159, 161, 176, 196, 240, 255, 255, 247, 228, 241, 248, 255,
+  255, 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191,
+  64, 63, 67, 74, 63, 63, 63, 63, 63, 63, 63, 63, 66, 65, 64, 63,
+  62, 63, 65, 65, 64, 59, 56, 59, 67, 71, 69, 65, 68, 67, 71, 75,
+  77, 75, 79, 84, 84, 81, 82, 83, 87, 87, 89, 90, 127, 145, 107, 113,
+  134, 122, 133, 129, 139, 146, 157, 200, 235, 245, 255, 250, 231, 242, 254, 255,
+  255, 252, 252, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 58, 68, 78, 68,
+  55, 53, 54, 60, 60, 60, 60, 61, 62, 63, 63, 62, 61, 60, 58, 58,
+  59, 61, 61, 61, 58, 57, 59, 63, 65, 64, 61, 64, 67, 71, 68, 70,
+  72, 77, 75, 74, 80, 89, 84, 80, 74, 79, 84, 91, 115, 107, 96, 106,
+  113, 112, 107, 116, 121, 121, 143, 166, 186, 224, 241, 226, 235, 246, 253, 255,
+  255, 255, 255, 255, 244, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 68, 53, 56, 65, 60, 55,
+  59, 60, 54, 54, 55, 55, 56, 58, 60, 60, 58, 58, 57, 56, 56, 58,
+  59, 60, 62, 63, 64, 64, 62, 61, 61, 61, 55, 64, 66, 60, 58, 64,
+  64, 59, 75, 76, 75, 70, 68, 70, 74, 79, 95, 84, 105, 97, 96, 110,
+  99, 102, 95, 111, 112, 115, 112, 118, 153, 171, 222, 226, 232, 241, 250, 254,
+  255, 252, 255, 245, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 193, 62, 64, 65, 62, 56, 52, 51, 54, 57,
+  60, 59, 57, 55, 55, 56, 57, 56, 55, 54, 55, 56, 57, 59, 60, 62,
+  62, 59, 59, 60, 60, 60, 59, 59, 58, 54, 55, 57, 57, 57, 57, 59,
+  61, 59, 61, 63, 64, 65, 69, 73, 80, 81, 92, 94, 91, 91, 94, 96,
+  91, 92, 92, 95, 97, 97, 96, 97, 102, 153, 198, 215, 215, 235, 251, 252,
+  254, 255, 255, 242, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 195, 65, 60, 62, 59, 57, 55, 52, 52, 52, 54, 55,
+  59, 57, 55, 54, 55, 56, 55, 54, 55, 55, 56, 57, 58, 59, 60, 61,
+  59, 58, 58, 58, 58, 58, 58, 56, 55, 57, 59, 59, 59, 59, 61, 62,
+  59, 61, 61, 60, 59, 59, 61, 64, 76, 82, 85, 79, 80, 83, 88, 85,
+  88, 92, 96, 99, 98, 98, 99, 101, 135, 162, 189, 214, 234, 240, 241, 247,
+  242, 255, 255, 250, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 193, 66, 61, 57, 57, 56, 53, 53, 52, 51, 51, 50, 50, 56,
+  54, 52, 51, 53, 53, 53, 51, 54, 54, 54, 55, 55, 55, 56, 56, 56,
+  55, 54, 53, 53, 54, 56, 56, 55, 55, 57, 57, 56, 56, 58, 59, 61,
+  62, 63, 62, 59, 57, 57, 60, 69, 73, 73, 68, 69, 73, 79, 79, 82,
+  85, 91, 94, 96, 98, 100, 102, 129, 131, 160, 203, 226, 237, 246, 249, 255,
+  249, 247, 246, 250, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  194, 65, 61, 60, 57, 51, 57, 54, 53, 52, 52, 52, 52, 52, 55, 53,
+  50, 50, 51, 52, 51, 50, 54, 54, 54, 54, 54, 53, 53, 53, 55, 54,
+  52, 51, 51, 53, 55, 56, 51, 52, 54, 54, 53, 53, 54, 56, 59, 62,
+  64, 65, 64, 62, 62, 64, 65, 67, 68, 65, 66, 68, 74, 75, 81, 84,
+  87, 91, 95, 100, 106, 111, 127, 116, 129, 151, 171, 201, 215, 200, 254, 251,
+  255, 251, 255, 255, 237, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 63,
+  57, 57, 61, 59, 50, 57, 53, 51, 49, 49, 50, 52, 53, 53, 51, 49,
+  49, 50, 51, 50, 49, 53, 53, 53, 53, 52, 52, 52, 52, 54, 52, 51,
+  50, 50, 52, 55, 55, 51, 51, 52, 52, 51, 50, 52, 53, 52, 54, 58,
+  59, 58, 57, 58, 60, 61, 63, 68, 68, 70, 68, 72, 72, 83, 83, 84,
+  87, 91, 100, 110, 118, 137, 134, 131, 124, 140, 190, 202, 165, 162, 204, 243,
+  231, 242, 255, 245, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 190, 58, 53, 51,
+  55, 60, 59, 53, 52, 50, 47, 45, 45, 47, 49, 51, 52, 50, 48, 48,
+  49, 50, 49, 48, 52, 52, 51, 51, 51, 51, 51, 51, 52, 51, 51, 50,
+  51, 53, 55, 55, 53, 53, 54, 54, 52, 52, 53, 54, 53, 55, 56, 56,
+  55, 53, 54, 56, 60, 62, 65, 70, 71, 68, 69, 73, 75, 75, 76, 77,
+  80, 88, 99, 107, 122, 139, 142, 136, 162, 221, 239, 211, 124, 140, 173, 188,
+  193, 194, 212, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 197, 61, 55, 52, 54, 55,
+  55, 55, 55, 48, 46, 46, 45, 45, 46, 47, 47, 50, 48, 46, 46, 47,
+  48, 47, 46, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 50, 51, 52,
+  53, 54, 54, 52, 53, 54, 53, 52, 51, 52, 53, 57, 58, 58, 57, 55,
+  54, 55, 57, 58, 58, 60, 65, 66, 64, 67, 73, 70, 70, 69, 69, 70,
+  74, 82, 88, 86, 105, 115, 125, 153, 189, 215, 232, 198, 165, 152, 174, 174,
+  163, 195, 226, 233, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 193, 94, 49, 65, 59, 58, 61, 57, 51,
+  50, 55, 47, 47, 49, 50, 50, 49, 47, 46, 50, 48, 46, 45, 47, 47,
+  47, 45, 48, 48, 48, 49, 49, 50, 50, 50, 49, 50, 51, 52, 53, 54,
+  54, 54, 50, 50, 52, 51, 50, 48, 50, 51, 55, 55, 56, 54, 54, 53,
+  57, 60, 57, 56, 56, 60, 61, 59, 64, 73, 73, 74, 74, 73, 72, 72,
+  76, 78, 84, 89, 90, 103, 117, 115, 142, 196, 246, 226, 180, 168, 171, 192,
+  203, 144, 176, 247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 195, 67, 68, 69, 57, 56, 55, 53, 51, 50, 49,
+  49, 50, 49, 49, 48, 48, 49, 49, 50, 49, 49, 48, 48, 48, 48, 48,
+  48, 52, 52, 51, 51, 51, 51, 51, 51, 55, 55, 54, 53, 53, 52, 51,
+  50, 54, 53, 56, 53, 54, 52, 56, 56, 57, 53, 53, 50, 52, 52, 57,
+  58, 60, 64, 64, 60, 61, 65, 66, 63, 69, 71, 73, 74, 75, 76, 79,
+  81, 96, 83, 90, 107, 115, 123, 130, 130, 200, 233, 247, 228, 171, 180, 226,
+  180, 154, 205, 244, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 196, 72, 81, 65, 62, 58, 57, 55, 54, 51, 51, 50, 50,
+  47, 47, 48, 48, 48, 48, 47, 47, 46, 46, 46, 47, 48, 48, 49, 49,
+  48, 48, 48, 48, 48, 48, 48, 48, 50, 51, 51, 52, 53, 53, 54, 54,
+  52, 53, 54, 53, 52, 52, 54, 57, 62, 61, 58, 55, 53, 52, 52, 52,
+  63, 65, 65, 62, 63, 67, 68, 66, 68, 71, 74, 77, 78, 80, 82, 84,
+  80, 93, 102, 94, 104, 138, 159, 145, 152, 187, 241, 255, 235, 206, 198, 205,
+  187, 237, 250, 237, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 74, 65, 78, 54, 52, 58, 57, 54, 53, 52, 51, 51, 51, 44,
+  45, 47, 47, 47, 47, 45, 44, 43, 44, 44, 46, 47, 48, 49, 49, 50,
+  50, 50, 50, 50, 50, 50, 50, 50, 50, 51, 51, 52, 53, 53, 54, 51,
+  52, 52, 52, 51, 51, 53, 55, 55, 55, 56, 56, 57, 58, 58, 59, 62,
+  65, 65, 62, 63, 67, 69, 67, 68, 71, 76, 79, 81, 82, 84, 86, 91,
+  88, 96, 98, 100, 116, 143, 153, 148, 175, 225, 249, 255, 242, 178, 203, 234,
+  248, 248, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  194, 74, 55, 56, 51, 54, 56, 55, 52, 51, 50, 50, 50, 50, 43, 45,
+  47, 48, 48, 47, 45, 43, 44, 44, 44, 45, 45, 46, 46, 47, 50, 50,
+  51, 51, 51, 51, 52, 52, 55, 54, 54, 53, 52, 52, 51, 51, 50, 51,
+  52, 51, 50, 51, 53, 55, 50, 52, 55, 58, 60, 62, 63, 64, 60, 63,
+  63, 60, 61, 66, 67, 65, 69, 72, 77, 79, 80, 81, 82, 83, 97, 84,
+  89, 100, 98, 102, 121, 138, 143, 169, 176, 182, 241, 255, 230, 220, 248, 248,
+  253, 255, 255, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 68,
+  64, 55, 44, 62, 59, 51, 51, 49, 48, 46, 45, 46, 46, 44, 45, 47,
+  49, 49, 47, 45, 44, 46, 46, 46, 45, 44, 44, 43, 43, 46, 46, 46,
+  47, 47, 48, 48, 48, 56, 55, 55, 54, 53, 53, 52, 52, 51, 52, 53,
+  52, 51, 51, 53, 55, 56, 57, 58, 59, 60, 60, 59, 59, 61, 64, 64,
+  62, 62, 67, 68, 66, 70, 72, 75, 76, 76, 75, 76, 77, 75, 86, 96,
+  92, 100, 129, 141, 126, 138, 173, 156, 142, 172, 232, 255, 239, 240, 255, 255,
+  253, 247, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 197, 59, 72, 61,
+  64, 51, 68, 51, 49, 48, 47, 46, 44, 44, 44, 45, 45, 45, 47, 48,
+  48, 47, 45, 45, 48, 47, 47, 46, 44, 43, 42, 42, 46, 46, 47, 48,
+  48, 49, 50, 50, 51, 51, 52, 53, 53, 54, 55, 55, 51, 52, 52, 52,
+  51, 51, 53, 55, 52, 53, 54, 57, 59, 62, 64, 65, 67, 70, 69, 66,
+  66, 70, 71, 69, 70, 71, 72, 72, 70, 70, 71, 73, 74, 75, 86, 98,
+  112, 131, 138, 125, 131, 170, 170, 160, 139, 174, 254, 254, 255, 237, 236, 252,
+  255, 255, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 125, 83, 69, 66, 63, 61,
+  58, 58, 46, 49, 48, 45, 44, 44, 44, 45, 45, 44, 44, 45, 45, 45,
+  45, 44, 44, 47, 47, 47, 46, 45, 45, 44, 44, 48, 48, 49, 50, 51,
+  51, 52, 52, 49, 49, 50, 50, 51, 52, 52, 53, 49, 50, 51, 50, 49,
+  49, 51, 54, 46, 47, 49, 53, 59, 64, 69, 72, 69, 72, 71, 67, 67,
+  70, 70, 68, 68, 68, 68, 67, 66, 67, 70, 73, 85, 67, 75, 99, 109,
+  110, 115, 119, 109, 130, 154, 161, 149, 171, 228, 255, 253, 199, 193, 232, 247,
+  240, 244, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 55, 70, 65, 49, 60, 47, 56,
+  46, 53, 49, 49, 46, 45, 45, 45, 46, 46, 44, 43, 43, 42, 42, 43,
+  43, 44, 46, 46, 46, 46, 46, 46, 46, 46, 44, 45, 45, 46, 47, 48,
+  49, 49, 51, 50, 50, 49, 48, 48, 47, 47, 47, 49, 49, 49, 47, 48,
+  50, 52, 52, 52, 52, 53, 56, 60, 64, 67, 69, 72, 70, 66, 65, 68,
+  68, 65, 67, 67, 66, 64, 64, 67, 71, 75, 76, 79, 84, 81, 88, 110,
+  119, 103, 123, 110, 127, 131, 154, 181, 182, 212, 220, 185, 178, 194, 204, 228,
+  251, 249, 247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 195, 73, 59, 56, 53, 51, 51, 50, 48,
+  46, 49, 46, 43, 43, 44, 44, 41, 39, 41, 41, 41, 42, 42, 43, 43,
+  43, 47, 46, 44, 43, 43, 44, 46, 47, 42, 42, 43, 43, 43, 43, 43,
+  43, 47, 48, 49, 50, 50, 50, 50, 49, 50, 49, 49, 48, 48, 47, 47,
+  46, 44, 46, 49, 53, 57, 60, 61, 62, 62, 64, 65, 64, 62, 62, 66,
+  71, 60, 62, 64, 64, 65, 66, 69, 72, 83, 82, 81, 83, 90, 98, 109,
+  115, 108, 113, 118, 129, 145, 156, 154, 145, 168, 230, 212, 212, 249, 245, 245,
+  254, 237, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 92, 52, 58, 55, 52, 51, 50, 49, 47, 46,
+  48, 45, 43, 43, 44, 44, 41, 39, 41, 41, 41, 42, 42, 43, 43, 43,
+  45, 45, 44, 44, 44, 44, 45, 45, 43, 44, 44, 44, 45, 46, 46, 46,
+  47, 48, 49, 49, 50, 50, 49, 49, 50, 50, 49, 49, 49, 49, 49, 48,
+  54, 54, 55, 55, 54, 54, 53, 52, 55, 56, 57, 57, 57, 57, 59, 61,
+  57, 58, 60, 61, 61, 62, 65, 68, 75, 75, 75, 76, 81, 86, 94, 98,
+  105, 108, 112, 119, 132, 144, 146, 143, 164, 244, 246, 231, 244, 247, 253, 252,
+  255, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 189, 82, 52, 56, 54, 50, 49, 49, 48, 45, 43, 47,
+  45, 42, 42, 43, 43, 39, 40, 41, 41, 41, 42, 42, 43, 43, 43, 43,
+  44, 44, 45, 45, 44, 44, 43, 44, 44, 45, 46, 47, 48, 49, 49, 47,
+  47, 48, 49, 50, 50, 49, 49, 49, 49, 49, 50, 50, 50, 50, 50, 51,
+  52, 53, 54, 54, 54, 54, 54, 54, 54, 54, 56, 58, 59, 58, 57, 56,
+  57, 59, 59, 59, 60, 63, 66, 70, 70, 71, 73, 74, 76, 79, 80, 98,
+  100, 102, 106, 115, 126, 133, 136, 136, 204, 237, 248, 255, 255, 254, 241, 231,
+  229, 241, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 74, 60, 61, 54, 52, 48, 47, 47, 47, 44, 42, 45, 44,
+  43, 42, 42, 42, 39, 38, 41, 41, 41, 42, 42, 43, 43, 43, 42, 43,
+  44, 45, 45, 44, 43, 42, 43, 44, 45, 46, 48, 49, 50, 51, 46, 47,
+  48, 49, 49, 49, 49, 48, 47, 48, 48, 49, 49, 50, 50, 51, 48, 49,
+  50, 52, 54, 55, 55, 56, 55, 54, 54, 57, 61, 61, 58, 55, 58, 60,
+  61, 61, 61, 62, 65, 67, 71, 73, 75, 78, 79, 78, 78, 77, 89, 91,
+  94, 96, 101, 109, 117, 122, 140, 146, 169, 210, 241, 255, 255, 255, 255, 243,
+  252, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 193, 62, 61, 54, 51, 49, 46, 45, 44, 44, 42, 41, 42, 43, 43,
+  42, 39, 39, 39, 39, 41, 41, 41, 42, 42, 43, 43, 43, 41, 42, 43,
+  44, 44, 43, 42, 41, 42, 42, 43, 45, 46, 48, 49, 49, 46, 47, 48,
+  48, 49, 49, 48, 48, 45, 46, 46, 47, 47, 48, 48, 49, 52, 52, 52,
+  53, 52, 51, 50, 50, 53, 51, 51, 54, 58, 58, 55, 52, 58, 60, 61,
+  61, 60, 61, 64, 66, 72, 74, 79, 82, 84, 83, 82, 81, 79, 82, 86,
+  90, 93, 96, 104, 110, 128, 111, 132, 179, 222, 254, 255, 255, 246, 236, 251,
+  235, 205, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194,
+  71, 51, 65, 47, 49, 47, 44, 44, 42, 42, 41, 40, 40, 42, 43, 42,
+  39, 38, 39, 40, 41, 41, 41, 42, 42, 43, 43, 43, 41, 42, 42, 43,
+  43, 42, 42, 41, 42, 42, 43, 44, 45, 46, 47, 47, 46, 46, 47, 48,
+  48, 48, 48, 48, 46, 46, 46, 46, 46, 47, 47, 47, 46, 47, 49, 51,
+  52, 53, 54, 52, 55, 54, 54, 55, 58, 58, 57, 56, 56, 58, 59, 58,
+  58, 58, 61, 63, 70, 72, 76, 79, 82, 83, 83, 83, 80, 81, 85, 91,
+  93, 93, 96, 103, 102, 108, 133, 148, 186, 244, 255, 255, 220, 221, 248, 253,
+  208, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 71, 53,
+  53, 55, 48, 47, 45, 43, 42, 41, 41, 40, 39, 39, 41, 41, 40, 38,
+  37, 39, 41, 41, 41, 41, 42, 42, 43, 43, 43, 42, 42, 41, 41, 41,
+  41, 42, 42, 43, 43, 43, 44, 45, 45, 45, 46, 45, 46, 47, 48, 48,
+  48, 48, 47, 48, 47, 47, 47, 47, 47, 46, 46, 41, 43, 46, 49, 53,
+  55, 57, 56, 55, 55, 56, 56, 55, 56, 58, 60, 55, 56, 57, 57, 56,
+  57, 59, 61, 67, 67, 68, 69, 73, 76, 78, 80, 87, 84, 85, 92, 95,
+  95, 96, 102, 121, 131, 142, 127, 152, 217, 251, 255, 255, 255, 255, 255, 249,
+  255, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 58, 53, 42,
+  44, 44, 45, 42, 40, 40, 39, 40, 39, 38, 37, 39, 41, 40, 40, 39,
+  41, 43, 41, 41, 41, 42, 44, 45, 45, 45, 45, 42, 40, 38, 38, 37,
+  39, 40, 43, 44, 45, 45, 45, 45, 45, 45, 45, 46, 47, 48, 48, 48,
+  48, 47, 50, 49, 49, 48, 48, 47, 47, 46, 49, 49, 50, 51, 51, 50,
+  50, 50, 49, 50, 53, 50, 49, 49, 54, 57, 57, 57, 59, 58, 58, 57,
+  60, 63, 65, 64, 65, 65, 67, 70, 74, 76, 95, 88, 87, 93, 98, 98,
+  100, 106, 122, 140, 176, 182, 198, 216, 208, 226, 248, 255, 253, 255, 255, 255,
+  251, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 54, 40, 48, 44,
+  47, 41, 39, 35, 36, 37, 38, 36, 33, 34, 34, 35, 38, 39, 42, 43,
+  42, 41, 41, 42, 45, 46, 46, 46, 46, 49, 47, 43, 40, 38, 35, 34,
+  37, 42, 44, 44, 43, 43, 44, 44, 45, 44, 45, 46, 47, 47, 47, 46,
+  46, 49, 50, 51, 53, 54, 56, 57, 57, 51, 51, 51, 50, 50, 49, 49,
+  49, 52, 51, 54, 51, 51, 49, 53, 53, 56, 54, 55, 54, 57, 57, 62,
+  63, 60, 63, 67, 68, 69, 71, 74, 77, 82, 78, 81, 90, 96, 99, 106,
+  118, 139, 152, 173, 200, 233, 255, 255, 245, 251, 220, 211, 193, 243, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 60, 56, 40, 43, 38, 38,
+  42, 39, 37, 36, 37, 38, 35, 33, 34, 34, 35, 37, 39, 40, 43, 42,
+  39, 37, 40, 41, 42, 42, 42, 42, 47, 46, 45, 42, 40, 36, 33, 34,
+  42, 44, 44, 43, 43, 44, 44, 45, 45, 45, 45, 46, 46, 47, 47, 47,
+  46, 46, 47, 48, 49, 50, 51, 52, 51, 51, 51, 51, 51, 51, 51, 51,
+  57, 58, 58, 57, 55, 55, 57, 58, 58, 57, 57, 57, 57, 58, 60, 60,
+  59, 62, 64, 66, 67, 70, 73, 76, 81, 77, 77, 83, 88, 91, 98, 110,
+  141, 168, 187, 192, 195, 213, 240, 255, 242, 233, 205, 150, 172, 227, 253, 255,
+  247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 61, 57, 42, 43, 41, 39, 45,
+  45, 42, 41, 40, 38, 36, 33, 35, 35, 35, 36, 36, 37, 36, 36, 36,
+  35, 37, 38, 39, 39, 40, 40, 43, 45, 47, 47, 47, 44, 39, 38, 44,
+  44, 44, 43, 43, 44, 44, 45, 46, 45, 45, 45, 45, 46, 47, 48, 45,
+  45, 45, 46, 46, 47, 47, 47, 50, 50, 51, 51, 52, 53, 53, 54, 57,
+  58, 58, 56, 54, 54, 55, 57, 58, 58, 58, 58, 58, 58, 58, 58, 59,
+  61, 63, 65, 66, 69, 73, 76, 80, 76, 75, 78, 80, 82, 87, 95, 124,
+  160, 189, 190, 176, 180, 209, 235, 241, 235, 224, 198, 171, 178, 204, 255, 248,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 191, 60, 53, 39, 43, 46, 44, 47, 48,
+  48, 45, 42, 40, 38, 36, 35, 34, 34, 34, 33, 33, 33, 33, 35, 36,
+  36, 37, 38, 39, 40, 41, 42, 45, 47, 48, 49, 48, 46, 45, 47, 44,
+  44, 43, 43, 44, 44, 45, 46, 46, 45, 45, 45, 46, 47, 48, 47, 47,
+  47, 47, 47, 47, 47, 47, 48, 48, 49, 50, 52, 53, 54, 54, 57, 58,
+  58, 56, 54, 53, 54, 56, 56, 56, 57, 58, 59, 59, 59, 59, 61, 63,
+  65, 67, 68, 71, 75, 78, 79, 79, 79, 80, 81, 80, 81, 85, 96, 120,
+  144, 158, 164, 172, 186, 198, 241, 233, 238, 253, 214, 183, 170, 234, 255, 235,
+  242, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 60, 49, 44, 40, 40, 44, 38, 48, 50, 50,
+  48, 46, 42, 41, 38, 34, 33, 32, 32, 30, 30, 30, 32, 32, 33, 35,
+  36, 37, 39, 40, 42, 42, 44, 45, 46, 49, 52, 53, 52, 48, 44, 44,
+  43, 43, 44, 44, 45, 46, 45, 45, 45, 46, 46, 47, 48, 48, 48, 48,
+  47, 47, 47, 46, 46, 45, 46, 47, 48, 50, 51, 52, 53, 60, 61, 61,
+  59, 57, 56, 58, 60, 54, 54, 55, 57, 59, 61, 62, 63, 66, 68, 69,
+  69, 70, 73, 78, 81, 82, 86, 89, 90, 90, 89, 86, 85, 85, 85, 90,
+  106, 130, 153, 171, 182, 221, 242, 240, 233, 222, 238, 201, 189, 195, 232, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 55, 41, 46, 50, 43, 45, 37, 47, 50, 51, 49,
+  45, 43, 42, 42, 36, 35, 34, 34, 34, 34, 34, 36, 34, 36, 36, 36,
+  37, 36, 37, 37, 41, 42, 44, 44, 48, 53, 56, 55, 48, 44, 44, 43,
+  43, 44, 44, 45, 44, 45, 46, 47, 47, 47, 46, 46, 45, 45, 45, 45,
+  45, 45, 44, 44, 45, 45, 46, 47, 49, 50, 51, 52, 55, 56, 57, 56,
+  54, 54, 56, 58, 54, 54, 54, 55, 57, 61, 64, 66, 70, 70, 70, 70,
+  70, 72, 77, 80, 84, 90, 95, 96, 98, 98, 95, 90, 95, 90, 89, 97,
+  110, 125, 141, 154, 185, 231, 255, 238, 236, 255, 239, 221, 165, 222, 248, 252,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 189, 60, 41, 50, 55, 41, 46, 44, 43, 48, 49, 46, 44,
+  42, 44, 44, 40, 40, 41, 42, 43, 44, 45, 46, 44, 45, 44, 43, 41,
+  38, 36, 36, 39, 40, 43, 45, 49, 51, 54, 53, 48, 44, 44, 43, 43,
+  44, 44, 45, 42, 44, 47, 49, 49, 48, 46, 44, 43, 44, 44, 44, 44,
+  44, 44, 44, 46, 47, 47, 48, 49, 50, 51, 52, 49, 50, 51, 51, 50,
+  50, 53, 55, 57, 55, 54, 53, 55, 59, 64, 66, 70, 70, 69, 67, 67,
+  68, 73, 76, 78, 85, 89, 89, 92, 97, 97, 93, 97, 101, 109, 116, 115,
+  113, 119, 131, 157, 190, 243, 255, 255, 242, 237, 255, 238, 193, 178, 242, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 61, 63, 38, 45, 49, 30, 42, 49, 40, 42, 44, 43, 41, 42,
+  43, 47, 46, 47, 49, 50, 53, 54, 58, 59, 60, 60, 58, 55, 49, 44,
+  40, 38, 37, 39, 42, 46, 48, 49, 49, 45, 47, 44, 44, 43, 43, 44,
+  44, 45, 41, 43, 47, 50, 50, 48, 45, 43, 44, 44, 44, 45, 45, 46,
+  46, 46, 48, 48, 49, 50, 50, 51, 52, 52, 49, 51, 52, 52, 52, 53,
+  55, 58, 60, 58, 54, 53, 54, 58, 62, 66, 68, 68, 66, 64, 63, 65,
+  69, 72, 71, 76, 79, 78, 82, 91, 95, 91, 87, 91, 100, 111, 115, 113,
+  121, 134, 148, 146, 194, 219, 250, 222, 217, 242, 255, 229, 211, 210, 246, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 57, 45, 37, 40, 48, 48, 41, 34, 34, 40, 40, 36, 42, 50, 52,
+  47, 45, 55, 67, 77, 82, 87, 90, 96, 100, 106, 100, 85, 64, 52, 45,
+  40, 44, 44, 42, 43, 43, 42, 41, 41, 43, 43, 43, 44, 44, 45, 45,
+  45, 44, 45, 45, 46, 46, 45, 45, 44, 44, 45, 47, 49, 49, 47, 45,
+  44, 44, 45, 47, 47, 46, 47, 48, 50, 50, 51, 53, 55, 55, 54, 53,
+  52, 55, 55, 56, 57, 58, 58, 59, 59, 61, 62, 62, 63, 64, 65, 66,
+  66, 70, 71, 72, 74, 76, 79, 82, 83, 79, 83, 89, 96, 104, 112, 121,
+  128, 154, 166, 132, 136, 194, 223, 220, 220, 230, 255, 244, 222, 244, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 192,
+  76, 63, 51, 47, 48, 43, 38, 32, 32, 34, 35, 35, 39, 46, 51, 53,
+  56, 74, 93, 106, 114, 119, 128, 138, 126, 132, 131, 121, 109, 94, 74, 57,
+  50, 46, 41, 39, 41, 43, 43, 42, 42, 43, 43, 44, 44, 44, 45, 45,
+  45, 46, 47, 48, 48, 47, 46, 45, 44, 46, 47, 49, 49, 47, 46, 44,
+  43, 45, 47, 47, 46, 46, 48, 50, 50, 51, 51, 52, 53, 53, 52, 52,
+  55, 55, 55, 55, 55, 55, 54, 54, 64, 64, 64, 64, 64, 65, 65, 65,
+  69, 70, 71, 74, 76, 79, 81, 81, 79, 80, 83, 85, 90, 99, 108, 116,
+  148, 154, 147, 136, 152, 192, 220, 212, 229, 254, 255, 252, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 88, 68,
+  58, 46, 44, 43, 40, 38, 37, 33, 32, 34, 39, 41, 44, 56, 68, 90,
+  107, 127, 136, 136, 139, 147, 156, 145, 146, 145, 142, 139, 128, 106, 84, 67,
+  55, 43, 38, 38, 40, 38, 39, 40, 43, 43, 43, 44, 44, 44, 45, 45,
+  46, 48, 50, 50, 48, 46, 45, 45, 46, 47, 48, 48, 47, 46, 45, 43,
+  45, 47, 47, 46, 46, 48, 50, 50, 50, 50, 50, 50, 51, 52, 53, 55,
+  56, 56, 56, 56, 57, 57, 57, 67, 66, 65, 65, 64, 64, 65, 65, 68,
+  69, 72, 74, 77, 79, 80, 79, 78, 77, 78, 78, 82, 91, 100, 108, 104,
+  116, 155, 162, 156, 201, 231, 201, 242, 247, 255, 255, 255, 249, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 56, 51, 45,
+  39, 39, 38, 37, 39, 41, 38, 34, 38, 48, 50, 53, 69, 90, 121, 133,
+  143, 146, 143, 141, 145, 149, 149, 147, 143, 141, 142, 143, 131, 117, 92, 72,
+  53, 40, 36, 35, 31, 30, 39, 42, 43, 43, 43, 44, 44, 44, 44, 46,
+  48, 50, 50, 48, 46, 44, 44, 44, 45, 46, 46, 45, 44, 44, 45, 47,
+  48, 49, 48, 48, 50, 52, 52, 51, 50, 49, 50, 51, 53, 54, 50, 51,
+  53, 55, 57, 59, 61, 62, 66, 65, 64, 64, 64, 65, 66, 67, 69, 70,
+  73, 76, 78, 79, 80, 79, 76, 78, 79, 82, 85, 93, 101, 109, 106, 100,
+  129, 141, 156, 210, 243, 234, 247, 227, 236, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 104, 43, 53, 47, 44,
+  43, 38, 33, 32, 36, 39, 38, 44, 55, 62, 70, 89, 110, 133, 137, 140,
+  141, 141, 143, 145, 146, 147, 147, 145, 142, 144, 148, 146, 140, 117, 96, 68,
+  49, 40, 37, 31, 31, 39, 42, 42, 43, 43, 43, 44, 44, 43, 44, 46,
+  48, 48, 46, 44, 43, 42, 43, 43, 43, 43, 43, 43, 42, 47, 49, 50,
+  50, 50, 50, 52, 53, 53, 53, 51, 51, 51, 53, 54, 55, 48, 49, 51,
+  53, 55, 57, 59, 59, 63, 63, 62, 62, 64, 66, 69, 70, 71, 72, 74,
+  76, 78, 80, 81, 81, 79, 82, 86, 90, 93, 96, 101, 106, 115, 107, 117,
+  130, 169, 202, 214, 249, 246, 217, 220, 251, 255, 255, 254, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 60, 60, 54, 47, 43, 42,
+  39, 32, 30, 34, 40, 44, 50, 61, 73, 86, 106, 123, 140, 140, 138, 138,
+  141, 145, 145, 143, 142, 146, 152, 149, 148, 148, 146, 141, 135, 112, 85, 62,
+  50, 44, 39, 39, 38, 42, 42, 42, 43, 43, 43, 43, 44, 45, 45, 45,
+  45, 45, 45, 44, 43, 43, 43, 43, 43, 43, 43, 43, 47, 49, 50, 51,
+  50, 50, 52, 54, 53, 53, 52, 52, 53, 54, 54, 55, 57, 57, 57, 58,
+  58, 58, 59, 59, 61, 61, 60, 60, 62, 66, 69, 71, 73, 73, 73, 74,
+  76, 78, 80, 81, 82, 85, 90, 92, 93, 93, 96, 97, 105, 116, 132, 142,
+  183, 193, 182, 248, 255, 238, 225, 237, 254, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 59, 26, 63, 53, 43, 37, 35, 34,
+  32, 30, 36, 45, 55, 60, 68, 84, 105, 122, 131, 136, 137, 139, 141, 140,
+  140, 141, 138, 136, 141, 147, 146, 147, 147, 144, 140, 144, 125, 97, 71, 54,
+  46, 43, 45, 40, 41, 42, 42, 42, 43, 43, 43, 47, 46, 45, 45, 45,
+  45, 46, 47, 45, 45, 44, 44, 44, 44, 45, 45, 45, 47, 49, 49, 48,
+  48, 50, 52, 51, 51, 52, 53, 53, 53, 53, 53, 60, 60, 60, 60, 59,
+  59, 59, 59, 62, 61, 59, 59, 60, 64, 67, 69, 73, 72, 70, 70, 72,
+  75, 78, 81, 83, 86, 89, 89, 90, 91, 94, 97, 113, 118, 130, 125, 162,
+  183, 181, 253, 255, 255, 235, 222, 236, 251, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 56, 87, 92, 63, 50, 40, 36, 35, 32,
+  32, 37, 51, 63, 69, 74, 92, 118, 134, 137, 119, 128, 137, 140, 140, 140,
+  144, 142, 141, 140, 142, 141, 144, 149, 150, 146, 148, 129, 101, 74, 54, 44,
+  41, 44, 41, 41, 41, 42, 42, 43, 43, 43, 50, 47, 45, 44, 44, 45,
+  47, 49, 47, 46, 46, 45, 45, 46, 46, 47, 44, 45, 47, 47, 47, 47,
+  48, 50, 49, 50, 52, 52, 53, 52, 51, 50, 50, 51, 51, 52, 54, 55,
+  56, 56, 63, 62, 60, 58, 59, 61, 65, 67, 72, 70, 68, 67, 68, 72,
+  77, 82, 82, 83, 85, 87, 87, 91, 97, 102, 95, 99, 130, 131, 163, 187,
+  170, 210, 235, 254, 240, 219, 229, 240, 242, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 208, 76, 54, 45, 50, 37, 33, 42, 47, 42, 37,
+  42, 51, 56, 69, 85, 102, 130, 144, 135, 136, 139, 142, 145, 144, 143, 149,
+  156, 149, 141, 140, 139, 136, 128, 125, 126, 148, 133, 108, 77, 54, 45, 43,
+  42, 44, 46, 46, 46, 44, 44, 43, 43, 45, 43, 42, 42, 43, 43, 43,
+  45, 45, 46, 47, 47, 47, 46, 45, 45, 45, 45, 45, 46, 46, 46, 47,
+  47, 51, 50, 50, 49, 49, 50, 49, 50, 50, 52, 53, 55, 57, 59, 61,
+  60, 52, 55, 60, 62, 62, 61, 63, 66, 62, 63, 67, 70, 68, 67, 73,
+  84, 86, 86, 84, 80, 78, 80, 89, 96, 91, 97, 104, 120, 148, 176, 181,
+  174, 176, 203, 204, 242, 254, 255, 251, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 170, 165, 141, 107, 64, 47, 36, 38, 40, 41, 46, 54,
+  57, 61, 79, 98, 113, 133, 145, 138, 150, 150, 152, 153, 152, 149, 151, 154,
+  154, 147, 142, 136, 129, 122, 129, 136, 139, 129, 105, 77, 55, 47, 45, 42,
+  42, 43, 43, 43, 43, 41, 41, 40, 44, 42, 42, 41, 42, 42, 43, 44,
+  44, 45, 46, 47, 47, 47, 46, 46, 48, 48, 49, 49, 50, 50, 50, 50,
+  52, 52, 51, 49, 49, 48, 49, 49, 50, 50, 53, 55, 59, 60, 63, 61,
+  55, 57, 61, 64, 63, 62, 60, 60, 63, 63, 67, 70, 68, 67, 73, 84,
+  86, 87, 88, 83, 80, 80, 85, 91, 90, 95, 101, 112, 138, 167, 178, 174,
+  188, 218, 215, 247, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 54, 38, 68, 106, 66, 49, 36, 35, 37, 40, 47, 57, 63,
+  68, 90, 113, 124, 132, 141, 142, 152, 150, 149, 153, 152, 147, 143, 141, 144,
+  148, 152, 149, 138, 127, 129, 132, 135, 124, 104, 77, 58, 49, 47, 45, 44,
+  46, 46, 46, 47, 47, 47, 46, 46, 44, 44, 43, 43, 44, 45, 45, 44,
+  45, 46, 47, 48, 48, 48, 47, 46, 47, 47, 47, 48, 48, 48, 48, 53,
+  52, 51, 50, 49, 49, 50, 50, 50, 51, 53, 55, 59, 60, 61, 60, 60,
+  59, 61, 63, 64, 62, 58, 55, 64, 64, 67, 70, 69, 68, 73, 83, 83,
+  86, 88, 84, 80, 78, 79, 82, 88, 92, 97, 103, 124, 152, 171, 176, 199,
+  229, 222, 243, 247, 255, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 201, 71, 33, 29, 41, 49, 40, 35, 37, 39, 40, 44, 52, 66, 70,
+  96, 120, 128, 129, 140, 144, 150, 146, 144, 149, 150, 142, 136, 129, 122, 127,
+  132, 136, 133, 129, 130, 132, 132, 122, 103, 77, 58, 50, 47, 47, 46, 49,
+  49, 50, 49, 49, 50, 49, 47, 45, 45, 43, 45, 44, 45, 46, 43, 44,
+  46, 47, 48, 49, 49, 49, 46, 46, 46, 47, 47, 47, 48, 48, 52, 52,
+  50, 50, 50, 51, 51, 50, 51, 51, 54, 55, 58, 60, 61, 61, 64, 60,
+  58, 59, 62, 63, 60, 56, 66, 64, 66, 69, 69, 67, 72, 80, 79, 83,
+  86, 84, 80, 75, 75, 76, 83, 87, 92, 97, 114, 138, 161, 173, 213, 246,
+  234, 249, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  58, 47, 53, 58, 45, 39, 36, 36, 39, 39, 40, 44, 51, 73, 77, 100,
+  125, 129, 132, 142, 149, 149, 143, 143, 149, 150, 142, 134, 126, 116, 109, 104,
+  103, 110, 127, 140, 147, 134, 124, 102, 76, 57, 51, 48, 48, 46, 47, 47,
+  47, 48, 46, 47, 47, 48, 46, 46, 45, 46, 46, 47, 46, 44, 45, 46,
+  48, 49, 49, 49, 49, 50, 50, 51, 51, 51, 52, 52, 52, 53, 53, 51,
+  51, 51, 52, 52, 52, 51, 51, 54, 55, 57, 59, 60, 60, 63, 59, 55,
+  55, 59, 63, 63, 62, 66, 64, 64, 67, 68, 66, 70, 77, 78, 82, 86,
+  85, 82, 77, 78, 79, 80, 85, 89, 94, 107, 128, 148, 162, 191, 223, 215,
+  233, 235, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 89,
+  62, 49, 47, 36, 41, 39, 38, 37, 35, 38, 47, 58, 80, 88, 109, 128,
+  132, 139, 149, 150, 142, 138, 138, 142, 143, 138, 128, 121, 130, 125, 119, 116,
+  126, 138, 144, 141, 130, 122, 103, 80, 61, 53, 51, 49, 48, 50, 48, 48,
+  48, 48, 48, 47, 48, 47, 47, 46, 47, 47, 48, 48, 45, 46, 47, 48,
+  49, 49, 49, 48, 50, 50, 50, 50, 51, 51, 51, 52, 54, 54, 54, 52,
+  53, 53, 54, 53, 52, 52, 54, 55, 57, 58, 60, 61, 61, 58, 55, 55,
+  58, 62, 65, 66, 66, 63, 62, 65, 66, 65, 67, 71, 78, 82, 86, 86,
+  84, 84, 85, 88, 84, 87, 90, 94, 104, 118, 134, 148, 149, 180, 180, 209,
+  216, 232, 244, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 197, 77, 73,
+  58, 44, 26, 35, 37, 38, 36, 35, 40, 53, 64, 86, 98, 117, 132, 135,
+  145, 151, 143, 134, 130, 130, 133, 134, 126, 118, 114, 125, 131, 138, 140, 143,
+  143, 137, 127, 123, 118, 105, 86, 68, 60, 54, 50, 53, 53, 52, 52, 51,
+  50, 50, 48, 48, 47, 47, 44, 47, 46, 47, 47, 49, 49, 50, 51, 51,
+  50, 50, 49, 50, 50, 50, 50, 51, 51, 52, 52, 55, 54, 54, 55, 55,
+  55, 56, 56, 54, 54, 55, 55, 57, 58, 59, 59, 56, 58, 59, 60, 60,
+  61, 63, 64, 66, 61, 60, 63, 64, 63, 65, 68, 75, 79, 82, 82, 83,
+  86, 90, 95, 94, 93, 93, 93, 99, 108, 121, 132, 132, 160, 163, 200, 209,
+  218, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 105, 68, 42, 50,
+  54, 35, 21, 28, 36, 39, 40, 47, 55, 67, 88, 103, 123, 134, 137, 147,
+  149, 135, 132, 129, 129, 130, 128, 120, 113, 110, 99, 110, 119, 123, 126, 132,
+  133, 129, 115, 114, 104, 91, 75, 65, 56, 50, 51, 49, 48, 47, 45, 44,
+  43, 43, 46, 46, 45, 44, 46, 45, 47, 48, 50, 51, 52, 52, 52, 51,
+  50, 50, 54, 54, 55, 55, 55, 56, 56, 56, 56, 56, 56, 56, 57, 57,
+  58, 57, 55, 55, 56, 57, 57, 58, 59, 59, 53, 58, 63, 64, 62, 60,
+  60, 61, 65, 61, 59, 62, 63, 62, 63, 66, 69, 72, 75, 77, 79, 84,
+  91, 97, 104, 98, 95, 93, 94, 101, 111, 121, 114, 138, 140, 180, 185, 186,
+  198, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 120, 65, 49, 48, 40,
+  41, 32, 30, 33, 37, 42, 46, 59, 74, 98, 108, 120, 133, 139, 141, 147,
+  154, 133, 127, 126, 128, 124, 115, 107, 105, 111, 105, 107, 120, 127, 125, 120,
+  118, 112, 107, 98, 87, 75, 68, 61, 54, 50, 46, 43, 42, 43, 44, 46,
+  45, 44, 45, 46, 45, 48, 45, 47, 48, 48, 47, 52, 61, 62, 57, 55,
+  58, 58, 55, 55, 58, 58, 56, 56, 59, 59, 59, 59, 61, 62, 62, 60,
+  56, 61, 56, 53, 53, 58, 59, 54, 50, 56, 57, 58, 58, 56, 56, 57,
+  58, 60, 61, 63, 65, 65, 65, 63, 62, 64, 69, 73, 75, 73, 74, 80,
+  86, 95, 94, 96, 97, 96, 96, 102, 113, 110, 109, 113, 136, 162, 165, 170,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 66, 61, 70, 46, 28, 39,
+  36, 34, 37, 45, 54, 63, 74, 90, 104, 113, 121, 133, 140, 141, 144, 149,
+  143, 130, 120, 116, 115, 114, 112, 111, 109, 107, 113, 124, 131, 127, 122, 119,
+  111, 105, 96, 86, 76, 68, 63, 55, 51, 47, 45, 44, 45, 43, 39, 36,
+  44, 44, 44, 44, 45, 45, 45, 46, 53, 54, 57, 63, 64, 59, 57, 59,
+  58, 56, 57, 62, 63, 60, 61, 64, 64, 63, 63, 65, 67, 66, 63, 61,
+  64, 62, 60, 60, 63, 63, 60, 56, 58, 60, 60, 59, 57, 56, 57, 58,
+  62, 62, 62, 62, 62, 63, 64, 64, 66, 70, 71, 72, 70, 71, 75, 78,
+  88, 89, 92, 97, 95, 93, 96, 104, 105, 104, 105, 121, 147, 157, 162, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 185, 167, 91, 31, 33, 46, 36, 36,
+  34, 36, 48, 62, 73, 84, 98, 111, 116, 121, 132, 140, 141, 141, 143, 151,
+  134, 117, 115, 115, 116, 115, 114, 111, 113, 121, 131, 135, 130, 125, 121, 109,
+  103, 96, 87, 77, 70, 64, 58, 42, 40, 41, 44, 49, 49, 46, 44, 47,
+  46, 45, 45, 44, 45, 47, 49, 59, 59, 60, 63, 63, 60, 59, 61, 59,
+  58, 61, 66, 68, 65, 65, 68, 68, 68, 68, 70, 71, 71, 68, 66, 63,
+  63, 62, 61, 61, 60, 58, 58, 60, 61, 62, 61, 59, 57, 58, 59, 63,
+  62, 60, 59, 60, 61, 64, 65, 66, 67, 68, 70, 72, 74, 76, 77, 78,
+  81, 88, 94, 93, 92, 93, 98, 106, 106, 102, 112, 137, 154, 159, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 77, 64, 94, 82, 43, 33, 43, 35, 33,
+  37, 51, 68, 81, 91, 101, 117, 117, 121, 132, 141, 143, 142, 142, 151, 139,
+  127, 123, 120, 114, 112, 112, 117, 123, 132, 138, 139, 132, 123, 120, 109, 103,
+  95, 89, 80, 71, 66, 63, 45, 42, 45, 48, 52, 54, 54, 53, 53, 53,
+  52, 51, 51, 51, 54, 56, 64, 64, 63, 64, 64, 63, 64, 65, 65, 64,
+  67, 72, 74, 71, 71, 72, 74, 73, 74, 75, 77, 76, 73, 71, 64, 64,
+  63, 62, 58, 57, 58, 57, 58, 59, 61, 60, 59, 58, 59, 61, 62, 61,
+  60, 60, 60, 62, 63, 64, 66, 66, 67, 71, 76, 80, 82, 82, 76, 79,
+  86, 93, 93, 90, 91, 96, 96, 104, 104, 109, 133, 153, 162, 200, 255, 255,
+  255, 255, 255, 255, 255, 78, 58, 54, 47, 35, 43, 51, 36, 39, 38, 46,
+  63, 82, 94, 104, 114, 117, 117, 121, 131, 142, 145, 146, 147, 152, 145, 138,
+  127, 116, 107, 109, 113, 126, 133, 140, 141, 140, 133, 123, 117, 112, 104, 97,
+  94, 86, 76, 71, 71, 67, 61, 57, 55, 56, 57, 57, 56, 63, 63, 63,
+  63, 64, 64, 65, 65, 68, 68, 68, 67, 68, 70, 72, 72, 75, 73, 75,
+  80, 81, 79, 78, 81, 83, 81, 83, 84, 86, 85, 82, 79, 75, 73, 72,
+  69, 63, 60, 61, 61, 55, 56, 58, 59, 58, 59, 61, 63, 60, 61, 62,
+  63, 64, 63, 62, 62, 66, 66, 68, 72, 77, 81, 82, 82, 86, 87, 89,
+  92, 89, 86, 88, 92, 81, 98, 105, 109, 129, 148, 169, 187, 255, 255, 255,
+  255, 255, 255, 255, 93, 67, 51, 48, 43, 37, 36, 29, 37, 40, 54, 75,
+  92, 103, 113, 122, 116, 117, 122, 133, 143, 147, 151, 154, 157, 150, 141, 126,
+  110, 101, 109, 120, 136, 138, 141, 139, 137, 133, 123, 116, 117, 108, 102, 100,
+  93, 81, 77, 80, 79, 73, 68, 66, 70, 73, 75, 76, 75, 75, 79, 80,
+  81, 81, 80, 80, 75, 76, 78, 74, 77, 79, 82, 78, 85, 81, 84, 87,
+  91, 88, 91, 93, 94, 93, 93, 96, 97, 97, 94, 90, 88, 83, 77, 72,
+  67, 64, 62, 60, 56, 56, 58, 59, 58, 59, 60, 62, 60, 61, 64, 65,
+  66, 65, 63, 62, 68, 69, 71, 73, 75, 76, 78, 79, 95, 93, 92, 91,
+  87, 80, 83, 88, 81, 97, 107, 113, 130, 149, 178, 207, 255, 255, 255, 255,
+  255, 255, 77, 54, 51, 50, 50, 49, 36, 32, 45, 41, 48, 66, 83, 97,
+  102, 111, 117, 115, 117, 125, 136, 143, 147, 151, 158, 161, 155, 146, 134, 120,
+  111, 116, 124, 139, 141, 139, 135, 134, 135, 128, 116, 121, 111, 105, 105, 99,
+  88, 82, 88, 84, 82, 80, 82, 88, 92, 97, 98, 92, 94, 98, 101, 102,
+  102, 102, 99, 86, 88, 89, 85, 86, 88, 89, 85, 91, 87, 89, 93, 98,
+  98, 104, 108, 106, 105, 105, 107, 108, 107, 104, 101, 101, 95, 85, 78, 74,
+  69, 64, 60, 61, 60, 61, 60, 59, 58, 59, 61, 63, 63, 64, 65, 65,
+  65, 65, 65, 67, 70, 75, 75, 75, 76, 81, 85, 90, 89, 89, 89, 84,
+  80, 83, 88, 93, 99, 104, 114, 132, 150, 183, 220, 255, 255, 255, 255, 255,
+  255, 98, 56, 68, 57, 43, 50, 53, 45, 52, 56, 65, 80, 96, 102, 103,
+  107, 112, 116, 119, 128, 138, 143, 144, 152, 161, 159, 156, 152, 147, 137, 126,
+  123, 123, 140, 139, 135, 130, 132, 136, 130, 120, 124, 114, 109, 111, 105, 91,
+  90, 95, 98, 95, 95, 98, 101, 105, 106, 105, 107, 111, 115, 119, 121, 120,
+  118, 115, 96, 100, 100, 95, 94, 97, 96, 91, 96, 93, 94, 100, 105, 107,
+  115, 120, 115, 114, 116, 117, 117, 116, 114, 110, 117, 108, 97, 89, 86, 82,
+  77, 68, 66, 64, 64, 63, 60, 57, 57, 58, 65, 64, 64, 63, 63, 67,
+  69, 70, 66, 71, 77, 79, 78, 79, 87, 93, 77, 79, 83, 88, 88, 85,
+  89, 94, 103, 98, 95, 106, 127, 143, 176, 218, 255, 255, 255, 255, 255, 189,
+  81, 64, 64, 64, 63, 68, 74, 77, 74, 86, 89, 93, 98, 101, 107, 111,
+  114, 117, 120, 124, 133, 142, 147, 148, 146, 148, 154, 152, 143, 134, 131, 132,
+  131, 132, 128, 124, 124, 125, 126, 127, 125, 125, 125, 123, 118, 112, 106, 107,
+  105, 103, 105, 107, 110, 114, 115, 117, 117, 126, 129, 128, 125, 127, 131, 130,
+  124, 120, 119, 117, 116, 112, 112, 111, 111, 112, 115, 118, 119, 118, 118, 123,
+  126, 137, 138, 137, 134, 129, 124, 118, 115, 113, 113, 110, 102, 92, 82, 78,
+  74, 70, 62, 61, 62, 62, 56, 54, 54, 51, 56, 64, 68, 69, 69, 71,
+  73, 74, 76, 80, 82, 84, 87, 89, 93, 91, 89, 87, 90, 93, 96, 96,
+  94, 98, 94, 94, 100, 111, 125, 145, 165, 255, 255, 255, 255, 255, 68, 89,
+  73, 76, 77, 77, 82, 88, 90, 86, 96, 97, 101, 104, 108, 111, 113, 117,
+  117, 120, 125, 132, 141, 145, 147, 146, 145, 150, 148, 142, 134, 132, 133, 131,
+  128, 124, 122, 122, 124, 126, 127, 126, 129, 125, 121, 118, 118, 118, 116, 114,
+  114, 113, 117, 120, 124, 125, 126, 127, 131, 134, 133, 130, 130, 134, 134, 129,
+  130, 131, 131, 130, 128, 128, 129, 129, 130, 133, 135, 136, 133, 134, 136, 141,
+  142, 142, 141, 140, 135, 129, 125, 122, 119, 118, 117, 110, 100, 91, 88, 83,
+  66, 59, 59, 63, 64, 60, 60, 62, 57, 58, 61, 63, 65, 67, 70, 74,
+  73, 74, 76, 78, 80, 84, 91, 95, 97, 92, 89, 91, 98, 103, 104, 100,
+  101, 96, 95, 100, 106, 114, 131, 146, 255, 255, 255, 255, 79, 78, 90, 83,
+  87, 88, 89, 93, 97, 98, 93, 97, 98, 102, 104, 107, 109, 112, 114, 120,
+  122, 125, 129, 136, 141, 144, 144, 145, 148, 146, 138, 130, 129, 129, 128, 123,
+  121, 121, 122, 124, 126, 129, 128, 132, 125, 119, 119, 125, 128, 125, 122, 120,
+  122, 124, 126, 130, 131, 133, 133, 135, 136, 135, 133, 133, 136, 136, 132, 135,
+  137, 137, 138, 139, 141, 140, 141, 138, 140, 140, 141, 138, 138, 140, 144, 142,
+  145, 145, 142, 141, 137, 133, 130, 130, 129, 126, 120, 113, 105, 103, 97, 78,
+  69, 67, 66, 65, 60, 59, 59, 64, 61, 57, 57, 61, 66, 70, 72, 72,
+  72, 72, 72, 74, 78, 85, 90, 98, 92, 90, 92, 98, 103, 106, 104, 106,
+  103, 102, 105, 107, 112, 121, 135, 255, 255, 255, 255, 80, 82, 85, 88, 92,
+  94, 95, 98, 101, 100, 95, 100, 100, 103, 105, 107, 108, 110, 113, 120, 121,
+  123, 124, 130, 134, 139, 141, 145, 147, 144, 133, 127, 126, 123, 119, 119, 119,
+  121, 123, 125, 127, 131, 131, 130, 126, 124, 125, 129, 131, 129, 126, 124, 125,
+  127, 131, 133, 133, 134, 134, 137, 137, 136, 136, 137, 138, 137, 135, 136, 136,
+  136, 137, 138, 139, 139, 140, 138, 138, 138, 138, 136, 136, 136, 139, 144, 144,
+  146, 145, 145, 142, 140, 137, 134, 133, 130, 127, 120, 115, 111, 106, 90, 79,
+  74, 72, 67, 61, 58, 60, 65, 61, 56, 58, 63, 68, 71, 71, 73, 72,
+  72, 71, 69, 72, 75, 79, 91, 90, 88, 89, 91, 96, 100, 106, 112, 111,
+  109, 114, 116, 118, 130, 141, 255, 255, 255, 96, 92, 86, 87, 93, 96, 98,
+  98, 101, 104, 101, 96, 107, 108, 109, 110, 112, 113, 114, 117, 118, 118, 118,
+  118, 122, 125, 131, 136, 141, 141, 139, 129, 125, 123, 120, 117, 118, 120, 123,
+  125, 127, 128, 132, 133, 125, 127, 130, 131, 131, 129, 128, 128, 128, 129, 132,
+  133, 134, 134, 135, 137, 141, 137, 135, 138, 139, 137, 137, 137, 137, 138, 137,
+  137, 136, 136, 137, 138, 142, 141, 140, 140, 141, 141, 141, 142, 144, 144, 146,
+  146, 146, 145, 145, 143, 135, 133, 130, 127, 124, 121, 116, 111, 94, 84, 77,
+  76, 74, 70, 69, 69, 65, 62, 60, 63, 68, 71, 71, 69, 71, 74, 77,
+  77, 74, 74, 75, 74, 77, 83, 85, 83, 81, 83, 92, 102, 113, 112, 115,
+  119, 127, 133, 148, 161, 255, 255, 255, 85, 99, 93, 96, 99, 101, 102, 100,
+  103, 106, 104, 99, 107, 107, 108, 109, 111, 112, 113, 116, 115, 116, 116, 116,
+  118, 119, 123, 128, 129, 130, 129, 125, 122, 124, 124, 121, 119, 122, 126, 127,
+  127, 128, 131, 133, 123, 127, 132, 133, 131, 128, 128, 130, 132, 132, 135, 137,
+  137, 138, 139, 139, 143, 139, 137, 140, 142, 140, 139, 141, 142, 142, 141, 140,
+  138, 138, 138, 138, 144, 142, 141, 141, 143, 144, 143, 143, 145, 146, 146, 146,
+  146, 145, 146, 145, 142, 139, 136, 136, 135, 131, 127, 122, 112, 100, 91, 86,
+  81, 75, 72, 72, 69, 66, 67, 70, 71, 72, 71, 70, 70, 74, 78, 81,
+  81, 80, 79, 80, 70, 76, 81, 79, 75, 78, 88, 98, 108, 109, 115, 126,
+  137, 148, 164, 179, 255, 255, 200, 87, 98, 100, 102, 103, 106, 105, 102, 104,
+  107, 107, 103, 104, 104, 106, 107, 109, 110, 113, 114, 115, 117, 118, 117, 115,
+  117, 120, 123, 122, 124, 123, 120, 122, 125, 126, 122, 119, 122, 127, 127, 126,
+  125, 128, 130, 128, 127, 127, 128, 130, 132, 133, 133, 135, 135, 137, 137, 138,
+  140, 139, 139, 147, 141, 141, 144, 145, 142, 141, 144, 143, 142, 141, 140, 140,
+  140, 139, 140, 142, 138, 137, 139, 141, 142, 141, 140, 148, 149, 149, 148, 148,
+  146, 146, 145, 148, 146, 144, 143, 144, 143, 139, 132, 133, 119, 107, 98, 90,
+  81, 75, 74, 77, 76, 77, 76, 72, 71, 71, 72, 71, 73, 76, 79, 78,
+  79, 79, 81, 72, 74, 75, 78, 79, 81, 87, 92, 104, 109, 119, 135, 150,
+  161, 176, 211, 255, 255, 96, 100, 96, 103, 100, 106, 107, 104, 101, 102, 106,
+  107, 103, 106, 107, 109, 110, 112, 113, 116, 117, 115, 117, 118, 117, 115, 115,
+  116, 119, 121, 121, 121, 118, 119, 123, 123, 120, 119, 122, 127, 127, 124, 122,
+  125, 127, 133, 127, 122, 123, 130, 136, 138, 137, 134, 134, 136, 137, 138, 138,
+  138, 137, 150, 144, 143, 148, 149, 145, 144, 146, 139, 139, 138, 138, 138, 138,
+  138, 139, 141, 139, 136, 138, 141, 142, 141, 142, 152, 152, 150, 149, 148, 147,
+  146, 146, 147, 144, 143, 143, 146, 144, 140, 134, 136, 124, 114, 106, 99, 91,
+  88, 87, 87, 86, 85, 79, 73, 69, 71, 74, 73, 74, 75, 74, 72, 72,
+  76, 77, 78, 75, 73, 76, 84, 89, 90, 89, 102, 109, 123, 144, 160, 171,
+  183, 255, 255, 255, 90, 93, 102, 107, 105, 103, 105, 107, 106, 106, 104, 104,
+  105, 106, 107, 110, 113, 116, 117, 116, 114, 112, 112, 115, 117, 117, 119, 119,
+  119, 122, 122, 124, 124, 125, 126, 125, 125, 118, 123, 130, 133, 133, 131, 130,
+  129, 126, 122, 124, 129, 131, 129, 131, 137, 137, 138, 140, 141, 144, 145, 148,
+  148, 149, 146, 145, 145, 145, 145, 144, 143, 143, 142, 141, 140, 139, 139, 139,
+  140, 143, 139, 135, 133, 137, 140, 141, 143, 144, 146, 149, 151, 148, 145, 148,
+  154, 149, 148, 148, 148, 149, 148, 147, 146, 137, 138, 135, 125, 117, 112, 104,
+  94, 95, 91, 88, 83, 79, 75, 73, 73, 69, 78, 81, 74, 75, 83, 82,
+  72, 68, 75, 72, 68, 77, 82, 91, 108, 104, 107, 121, 155, 183, 182, 183,
+  255, 255, 255, 90, 100, 102, 101, 107, 103, 105, 106, 106, 106, 104, 104, 105,
+  108, 108, 111, 114, 117, 118, 116, 114, 113, 113, 114, 115, 116, 117, 119, 119,
+  121, 122, 122, 124, 124, 124, 123, 122, 123, 123, 123, 122, 121, 124, 131, 135,
+  128, 124, 125, 130, 131, 129, 130, 137, 136, 136, 138, 140, 142, 143, 146, 146,
+  149, 147, 146, 145, 146, 145, 145, 142, 143, 143, 142, 142, 141, 140, 140, 140,
+  146, 144, 142, 142, 143, 145, 144, 145, 152, 149, 148, 151, 150, 147, 146, 148,
+  151, 151, 149, 148, 148, 147, 146, 146, 143, 143, 140, 130, 125, 123, 119, 112,
+  108, 103, 99, 93, 87, 81, 76, 71, 77, 83, 85, 80, 81, 88, 87, 81,
+  75, 80, 77, 76, 84, 90, 100, 117, 125, 135, 140, 156, 190, 210, 220, 255,
+  255, 153, 92, 107, 102, 95, 109, 105, 107, 108, 108, 106, 104, 106, 107, 111,
+  111, 112, 115, 118, 119, 117, 115, 116, 115, 114, 113, 115, 116, 117, 118, 119,
+  120, 123, 125, 124, 123, 121, 120, 125, 124, 122, 119, 119, 123, 131, 137, 130,
+  127, 128, 130, 130, 129, 130, 135, 136, 137, 140, 140, 142, 145, 147, 147, 150,
+  147, 147, 146, 147, 146, 145, 144, 145, 146, 144, 145, 145, 143, 141, 140, 145,
+  143, 141, 142, 144, 145, 142, 142, 153, 148, 144, 148, 151, 149, 146, 145, 150,
+  149, 149, 149, 149, 149, 150, 148, 146, 146, 143, 138, 135, 137, 137, 133, 123,
+  117, 113, 108, 103, 94, 86, 79, 84, 85, 85, 86, 86, 88, 88, 87, 75,
+  82, 79, 79, 88, 94, 103, 118, 121, 139, 148, 165, 200, 218, 255, 255, 255,
+  166, 96, 108, 104, 96, 107, 104, 106, 108, 108, 106, 105, 106, 107, 113, 113,
+  114, 116, 119, 119, 117, 115, 117, 116, 114, 112, 114, 115, 117, 119, 120, 122,
+  124, 126, 125, 123, 120, 119, 121, 124, 128, 130, 129, 129, 131, 132, 129, 128,
+  129, 130, 131, 131, 132, 136, 138, 139, 142, 144, 147, 147, 149, 149, 151, 150,
+  149, 149, 149, 149, 148, 145, 145, 147, 146, 147, 147, 145, 142, 140, 142, 141,
+  139, 139, 140, 142, 141, 143, 147, 143, 143, 148, 151, 150, 148, 150, 148, 147,
+  147, 148, 149, 151, 153, 154, 146, 148, 147, 144, 144, 147, 147, 143, 134, 128,
+  125, 123, 119, 112, 103, 95, 92, 89, 90, 93, 93, 88, 86, 89, 77, 85,
+  84, 84, 92, 97, 100, 112, 106, 122, 148, 181, 206, 205, 255, 255, 255, 180,
+  103, 107, 110, 105, 105, 105, 106, 108, 108, 107, 106, 107, 108, 114, 114, 115,
+  117, 119, 118, 116, 114, 119, 117, 115, 114, 113, 115, 117, 118, 122, 123, 125,
+  126, 125, 124, 122, 120, 119, 124, 130, 133, 133, 131, 131, 131, 126, 128, 129,
+  129, 131, 134, 136, 138, 139, 141, 143, 144, 147, 148, 150, 150, 154, 152, 151,
+  151, 151, 151, 150, 149, 146, 147, 149, 150, 148, 146, 144, 142, 143, 142, 140,
+  139, 138, 141, 145, 148, 144, 144, 147, 150, 149, 147, 149, 155, 148, 148, 148,
+  148, 150, 150, 151, 152, 145, 149, 152, 150, 150, 153, 149, 145, 142, 138, 134,
+  132, 129, 123, 117, 111, 106, 102, 101, 103, 98, 91, 85, 86, 84, 93, 93,
+  94, 103, 104, 102, 109, 106, 125, 151, 184, 212, 228, 255, 255, 255, 171, 106,
+  104, 112, 114, 104, 104, 105, 107, 107, 107, 106, 107, 108, 115, 114, 115, 116,
+  118, 117, 115, 113, 120, 119, 118, 115, 114, 115, 116, 117, 122, 123, 123, 123,
+  123, 123, 124, 123, 122, 123, 125, 126, 125, 126, 131, 133, 125, 128, 130, 129,
+  131, 136, 138, 139, 137, 139, 141, 143, 145, 146, 148, 148, 154, 153, 151, 152,
+  153, 152, 151, 149, 147, 148, 149, 149, 147, 146, 144, 143, 141, 140, 139, 137,
+  134, 135, 139, 142, 146, 147, 150, 152, 150, 145, 149, 156, 153, 153, 152, 152,
+  152, 150, 148, 147, 146, 150, 154, 152, 153, 154, 151, 146, 149, 147, 143, 137,
+  133, 128, 126, 124, 121, 117, 112, 103, 95, 88, 83, 79, 86, 93, 92, 95,
+  106, 108, 107, 113, 118, 142, 160, 180, 222, 255, 255, 255, 255, 141, 106, 103,
+  109, 118, 106, 104, 105, 108, 108, 107, 107, 109, 111, 114, 114, 115, 116, 117,
+  116, 113, 111, 119, 119, 119, 118, 116, 115, 115, 115, 121, 120, 119, 119, 121,
+  122, 124, 124, 122, 121, 122, 121, 121, 123, 129, 133, 127, 131, 132, 129, 131,
+  136, 138, 137, 139, 140, 143, 143, 145, 146, 148, 148, 153, 151, 150, 151, 152,
+  151, 150, 149, 148, 148, 148, 148, 147, 147, 144, 144, 139, 140, 141, 139, 133,
+  130, 129, 130, 141, 140, 141, 145, 147, 144, 146, 150, 150, 151, 154, 155, 154,
+  151, 148, 146, 151, 154, 156, 152, 153, 157, 156, 150, 154, 153, 151, 144, 138,
+  139, 143, 148, 143, 140, 126, 106, 92, 91, 87, 79, 87, 91, 89, 93, 108,
+  116, 120, 129, 133, 158, 177, 196, 233, 255, 255, 255, 167, 114, 106, 107, 107,
+  120, 109, 104, 106, 108, 110, 109, 109, 111, 112, 115, 114, 114, 115, 116, 115,
+  112, 109, 117, 119, 117, 117, 117, 116, 114, 114, 119, 118, 116, 115, 117, 119,
+  123, 123, 119, 120, 124, 125, 125, 125, 128, 129, 129, 134, 134, 130, 130, 136,
+  137, 135, 139, 141, 143, 146, 147, 148, 149, 150, 151, 149, 148, 148, 150, 149,
+  148, 147, 150, 148, 148, 146, 146, 146, 146, 145, 144, 146, 150, 147, 140, 132,
+  128, 125, 133, 128, 128, 136, 142, 144, 145, 146, 143, 146, 152, 156, 157, 156,
+  154, 152, 155, 159, 156, 152, 152, 156, 157, 154, 154, 155, 154, 150, 144, 148,
+  158, 168, 255, 255, 218, 113, 98, 102, 100, 92, 93, 97, 92, 96, 116, 129,
+  139, 150, 154, 175, 201, 225, 241, 255, 255, 255, 140, 121, 116, 100, 110, 114,
+  109, 105, 104, 107, 110, 112, 114, 116, 117, 113, 115, 118, 118, 117, 116, 117,
+  118, 114, 120, 119, 112, 112, 120, 122, 117, 119, 115, 114, 117, 120, 119, 122,
+  126, 117, 121, 124, 127, 127, 127, 130, 131, 130, 130, 131, 131, 132, 133, 136,
+  137, 138, 138, 140, 142, 144, 147, 148, 149, 150, 151, 152, 152, 152, 150, 150,
+  150, 148, 149, 150, 148, 147, 146, 145, 143, 140, 140, 145, 144, 142, 136, 133,
+  129, 116, 123, 120, 116, 126, 141, 143, 131, 136, 140, 146, 152, 154, 158, 159,
+  160, 154, 155, 152, 148, 152, 158, 158, 152, 156, 136, 146, 166, 146, 180, 221,
+  255, 255, 255, 255, 255, 156, 102, 87, 93, 100, 114, 113, 113, 131, 151, 162,
+  173, 189, 212, 232, 255, 255, 255, 255, 255, 119, 113, 112, 103, 112, 115, 112,
+  109, 109, 111, 112, 114, 115, 118, 118, 117, 118, 117, 116, 113, 111, 111, 110,
+  115, 117, 116, 113, 114, 118, 120, 118, 120, 116, 114, 117, 120, 119, 121, 126,
+  119, 122, 125, 126, 126, 126, 130, 131, 131, 131, 131, 132, 133, 134, 137, 138,
+  137, 138, 140, 141, 145, 145, 148, 148, 149, 149, 149, 150, 151, 149, 148, 148,
+  149, 151, 152, 151, 148, 146, 144, 141, 138, 139, 141, 142, 144, 145, 143, 141,
+  132, 129, 122, 114, 116, 126, 128, 123, 132, 136, 142, 147, 154, 157, 160, 161,
+  160, 156, 158, 162, 162, 154, 150, 154, 144, 189, 142, 168, 195, 198, 255, 255,
+  255, 255, 255, 255, 255, 127, 117, 117, 111, 121, 121, 123, 144, 167, 180, 188,
+  209, 234, 241, 255, 255, 255, 255, 255, 107, 111, 113, 104, 110, 108, 106, 112,
+  112, 113, 113, 115, 115, 117, 119, 118, 118, 117, 116, 112, 111, 110, 111, 118,
+  115, 114, 117, 118, 116, 117, 120, 120, 116, 115, 118, 121, 119, 121, 125, 122,
+  124, 125, 125, 126, 127, 130, 132, 132, 132, 132, 132, 135, 136, 138, 138, 139,
+  139, 141, 141, 145, 146, 149, 150, 148, 148, 149, 149, 150, 147, 147, 147, 149,
+  150, 151, 151, 150, 147, 143, 141, 130, 127, 127, 132, 140, 146, 149, 149, 140,
+  134, 125, 116, 112, 113, 117, 119, 127, 130, 137, 143, 152, 156, 158, 158, 162,
+  153, 157, 167, 163, 149, 148, 161, 147, 177, 161, 201, 232, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 137, 142, 132, 136, 136, 139, 163, 190, 206, 209, 201,
+  233, 255, 255, 255, 255, 255, 255, 136, 113, 115, 108, 113, 108, 108, 111, 111,
+  112, 113, 115, 118, 119, 119, 118, 119, 119, 117, 115, 115, 115, 117, 120, 113,
+  113, 120, 121, 115, 115, 122, 120, 117, 116, 119, 121, 120, 121, 125, 127, 125,
+  126, 125, 126, 127, 130, 132, 132, 132, 132, 132, 135, 136, 137, 138, 140, 140,
+  141, 144, 146, 149, 150, 151, 149, 150, 151, 151, 151, 150, 149, 147, 147, 148,
+  150, 152, 151, 148, 146, 144, 128, 124, 122, 125, 133, 141, 145, 145, 148, 142,
+  138, 133, 125, 115, 112, 115, 120, 124, 132, 140, 148, 154, 154, 153, 164, 153,
+  153, 159, 159, 152, 156, 165, 177, 153, 190, 218, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 145, 142, 142, 145, 153, 172, 205, 228, 225, 203, 214,
+  248, 252, 250, 255, 255, 255, 221, 112, 110, 109, 118, 113, 118, 107, 108, 110,
+  112, 114, 118, 120, 121, 120, 121, 120, 117, 115, 115, 116, 118, 120, 114, 115,
+  122, 122, 115, 116, 122, 120, 117, 119, 122, 122, 120, 122, 124, 127, 128, 128,
+  127, 127, 128, 131, 134, 133, 133, 133, 133, 135, 136, 138, 138, 141, 142, 144,
+  145, 147, 150, 151, 152, 154, 154, 155, 154, 154, 152, 152, 151, 145, 147, 148,
+  150, 151, 150, 149, 146, 140, 134, 127, 124, 125, 128, 128, 126, 139, 138, 143,
+  145, 139, 124, 116, 114, 113, 116, 124, 135, 147, 152, 153, 151, 160, 160, 158,
+  156, 158, 163, 163, 161, 162, 178, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 219, 146, 159, 169, 181, 214, 241, 236, 213, 242, 224,
+  212, 255, 255, 255, 255, 255, 114, 106, 107, 114, 107, 113, 106, 107, 109, 112,
+  116, 118, 121, 122, 124, 124, 121, 118, 113, 111, 113, 114, 119, 117, 118, 121,
+  121, 117, 117, 119, 121, 118, 120, 123, 123, 120, 121, 124, 126, 127, 128, 128,
+  129, 129, 132, 134, 134, 134, 134, 135, 136, 137, 139, 139, 142, 142, 145, 147,
+  150, 151, 153, 153, 157, 157, 157, 157, 157, 155, 154, 153, 147, 148, 148, 149,
+  150, 151, 149, 149, 148, 143, 134, 124, 116, 110, 106, 103, 105, 110, 123, 132,
+  136, 133, 128, 122, 113, 114, 118, 127, 139, 149, 153, 153, 151, 160, 162, 158,
+  159, 164, 165, 157, 173, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 225, 184, 193, 192, 220, 249, 242, 227, 216, 255, 255,
+  255, 255, 255, 255, 255, 118, 105, 105, 112, 100, 105, 109, 111, 113, 114, 117,
+  119, 121, 123, 128, 126, 123, 120, 114, 112, 114, 116, 117, 121, 121, 119, 120,
+  121, 120, 116, 123, 120, 121, 124, 125, 121, 121, 124, 124, 127, 129, 131, 133,
+  133, 135, 136, 138, 138, 137, 139, 140, 141, 142, 143, 145, 145, 147, 147, 150,
+  152, 154, 156, 160, 160, 160, 158, 158, 156, 155, 153, 152, 151, 149, 149, 149,
+  149, 148, 149, 147, 146, 140, 130, 116, 106, 102, 100, 97, 103, 110, 115, 126,
+  139, 142, 135, 129, 123, 117, 119, 128, 138, 146, 149, 152, 156, 162, 163, 158,
+  162, 173, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 115, 103, 109, 119, 103, 110, 113, 114, 115, 116, 118, 120,
+  122, 122, 128, 128, 125, 122, 118, 119, 121, 123, 116, 123, 124, 118, 118, 123,
+  121, 114, 123, 121, 121, 124, 125, 122, 121, 123, 122, 126, 129, 134, 134, 134,
+  135, 137, 140, 140, 141, 141, 142, 143, 144, 145, 145, 145, 147, 150, 152, 153,
+  156, 156, 161, 161, 161, 160, 160, 157, 156, 154, 159, 155, 152, 148, 147, 147,
+  149, 148, 147, 151, 150, 141, 128, 118, 116, 117, 128, 128, 124, 115, 123, 142,
+  146, 138, 147, 135, 120, 113, 116, 126, 135, 140, 163, 161, 163, 167, 162, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 208, 111, 110, 112, 110, 108, 113, 113, 112, 111, 116, 122, 126,
+  125, 129, 127, 123, 120, 117, 118, 119, 120, 124, 124, 123, 123, 122, 121, 122,
+  121, 118, 123, 128, 129, 128, 127, 129, 131, 136, 134, 132, 132, 133, 134, 136,
+  139, 144, 144, 145, 146, 147, 148, 147, 146, 147, 148, 151, 152, 155, 157, 160,
+  161, 158, 159, 163, 164, 164, 160, 156, 152, 157, 156, 153, 149, 148, 147, 148,
+  147, 149, 147, 145, 143, 140, 137, 134, 132, 139, 135, 130, 128, 138, 151, 152,
+  146, 145, 155, 144, 138, 126, 117, 131, 131, 148, 158, 164, 193, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 112, 110, 112, 113, 112, 115, 115, 114, 116, 120, 124, 128, 128,
+  131, 129, 126, 122, 119, 117, 118, 118, 124, 123, 121, 120, 120, 122, 125, 126,
+  123, 123, 125, 126, 130, 131, 130, 129, 134, 133, 133, 133, 134, 136, 140, 141,
+  141, 140, 142, 143, 144, 144, 144, 145, 148, 150, 151, 153, 156, 159, 161, 161,
+  161, 162, 163, 162, 162, 160, 159, 156, 156, 154, 153, 150, 149, 146, 148, 147,
+  149, 147, 145, 142, 139, 133, 132, 128, 137, 137, 138, 136, 141, 150, 153, 151,
+  149, 156, 144, 141, 136, 131, 147, 148, 145, 157, 194, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 111, 107, 110, 112, 116, 119, 117, 118, 120, 124, 129, 131, 132, 135,
+  131, 128, 122, 119, 117, 117, 118, 124, 122, 120, 119, 122, 125, 128, 131, 129,
+  125, 124, 126, 131, 134, 132, 129, 134, 134, 134, 135, 137, 139, 144, 145, 141,
+  141, 143, 143, 144, 144, 144, 147, 151, 151, 153, 155, 158, 160, 161, 163, 164,
+  163, 162, 159, 159, 159, 160, 158, 156, 154, 153, 151, 149, 148, 149, 148, 148,
+  146, 145, 143, 141, 138, 137, 134, 137, 142, 146, 146, 146, 152, 155, 154, 154,
+  155, 145, 152, 159, 168, 191, 197, 199, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 110, 107, 109, 112, 113, 120, 117, 119, 122, 129, 130, 132, 134, 134, 132,
+  128, 123, 121, 120, 119, 120, 123, 123, 122, 121, 124, 126, 128, 129, 130, 128,
+  127, 127, 130, 132, 133, 132, 136, 135, 136, 137, 138, 139, 143, 144, 141, 143,
+  145, 145, 145, 145, 148, 150, 151, 153, 154, 155, 159, 160, 163, 163, 165, 165,
+  164, 163, 163, 161, 162, 161, 158, 158, 157, 153, 153, 152, 151, 150, 148, 149,
+  150, 150, 151, 151, 150, 148, 145, 147, 152, 153, 153, 154, 154, 153, 155, 156,
+  151, 174, 197, 215, 242, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  207, 110, 112, 111, 111, 119, 115, 117, 124, 130, 129, 131, 135, 133, 131, 127,
+  123, 123, 122, 122, 123, 125, 126, 127, 128, 128, 127, 127, 126, 129, 130, 133,
+  131, 130, 130, 134, 137, 139, 139, 140, 140, 140, 140, 141, 141, 141, 143, 147,
+  148, 146, 146, 149, 151, 153, 154, 155, 156, 160, 160, 163, 164, 165, 165, 167,
+  167, 167, 164, 162, 161, 161, 161, 161, 159, 158, 158, 157, 154, 154, 154, 156,
+  156, 157, 158, 158, 157, 154, 151, 152, 154, 158, 158, 154, 152, 154, 162, 172,
+  209, 239, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  111, 114, 112, 109, 119, 114, 116, 126, 132, 129, 131, 136, 133, 131, 128, 126,
+  124, 124, 123, 125, 124, 126, 129, 131, 131, 128, 127, 124, 128, 132, 136, 134,
+  131, 130, 134, 138, 139, 139, 141, 140, 139, 138, 139, 138, 138, 141, 146, 146,
+  144, 144, 147, 151, 154, 155, 156, 158, 160, 162, 164, 164, 164, 166, 167, 168,
+  168, 166, 164, 160, 164, 165, 165, 163, 165, 162, 161, 159, 161, 161, 161, 159,
+  158, 156, 155, 154, 159, 153, 150, 154, 158, 158, 157, 156, 158, 174, 197, 242,
+  255, 255, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205,
+  112, 112, 108, 120, 114, 117, 128, 134, 130, 131, 137, 135, 133, 129, 127, 124,
+  123, 122, 124, 124, 125, 127, 129, 131, 131, 130, 129, 133, 134, 135, 135, 135,
+  134, 134, 134, 137, 139, 139, 139, 139, 138, 139, 138, 140, 144, 148, 148, 146,
+  146, 149, 154, 155, 155, 156, 159, 160, 162, 164, 165, 165, 165, 165, 164, 164,
+  163, 163, 163, 166, 166, 167, 167, 167, 165, 164, 161, 162, 162, 162, 160, 158,
+  156, 155, 151, 157, 151, 149, 153, 154, 154, 160, 167, 169, 185, 206, 251, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 107,
+  109, 105, 121, 114, 117, 129, 134, 131, 132, 138, 137, 135, 131, 126, 124, 122,
+  121, 122, 124, 125, 126, 128, 129, 131, 133, 134, 133, 131, 132, 134, 138, 138,
+  134, 130, 134, 136, 137, 138, 139, 139, 140, 139, 143, 147, 151, 151, 149, 148,
+  153, 157, 156, 156, 159, 160, 162, 162, 164, 164, 166, 163, 162, 159, 159, 161,
+  162, 164, 165, 166, 167, 168, 168, 166, 164, 163, 160, 160, 160, 160, 159, 158,
+  157, 156, 153, 151, 152, 152, 150, 150, 162, 175, 179, 189, 205, 245, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 104,
+  100, 121, 119, 120, 124, 128, 131, 134, 135, 131, 137, 135, 124, 115, 117, 125,
+  131, 127, 128, 131, 130, 131, 131, 131, 131, 132, 131, 132, 131, 131, 131, 131,
+  131, 138, 138, 137, 137, 140, 141, 141, 140, 146, 147, 149, 149, 149, 151, 155,
+  159, 160, 158, 156, 159, 163, 165, 164, 163, 158, 160, 165, 164, 161, 160, 162,
+  165, 161, 161, 161, 164, 167, 166, 165, 163, 161, 163, 164, 161, 157, 156, 159,
+  162, 152, 162, 161, 155, 154, 154, 165, 182, 183, 228, 231, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 102, 107,
+  114, 115, 119, 125, 130, 134, 135, 136, 134, 135, 129, 118, 113, 114, 118, 119,
+  125, 129, 130, 131, 130, 131, 131, 131, 132, 131, 131, 131, 131, 129, 131, 132,
+  140, 140, 138, 139, 142, 143, 143, 142, 145, 147, 149, 149, 149, 150, 152, 155,
+  162, 162, 161, 163, 166, 168, 166, 164, 164, 166, 168, 168, 167, 167, 168, 168,
+  168, 168, 170, 171, 170, 170, 169, 168, 165, 164, 161, 160, 159, 158, 156, 156,
+  158, 162, 159, 155, 156, 154, 160, 179, 214, 244, 241, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 133, 111, 107,
+  110, 117, 124, 130, 135, 137, 137, 141, 139, 131, 119, 115, 116, 116, 113, 123,
+  125, 127, 129, 130, 131, 131, 131, 133, 133, 133, 133, 133, 132, 133, 135, 141,
+  141, 140, 141, 144, 145, 145, 144, 147, 149, 152, 152, 151, 151, 152, 154, 159,
+  160, 161, 163, 165, 166, 164, 162, 164, 164, 164, 165, 166, 166, 165, 164, 168,
+  170, 170, 170, 167, 165, 164, 164, 166, 162, 159, 160, 162, 161, 155, 150, 159,
+  158, 154, 156, 160, 157, 165, 188, 229, 244, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 102, 101, 108,
+  116, 121, 128, 134, 138, 138, 142, 142, 135, 125, 117, 117, 116, 115, 120, 123,
+  125, 129, 131, 132, 133, 133, 134, 134, 134, 136, 137, 137, 137, 138, 141, 142,
+  140, 141, 144, 146, 146, 145, 151, 154, 157, 157, 156, 154, 154, 155, 155, 157,
+  160, 162, 164, 162, 161, 159, 166, 162, 162, 162, 166, 166, 164, 160, 166, 166,
+  165, 161, 155, 151, 150, 151, 159, 156, 158, 158, 162, 160, 158, 154, 157, 155,
+  151, 156, 161, 161, 178, 209, 229, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 98, 108, 114,
+  116, 121, 130, 137, 137, 134, 138, 135, 124, 112, 111, 115, 115, 118, 120, 123,
+  128, 131, 133, 135, 136, 136, 136, 137, 138, 139, 139, 140, 141, 143, 141, 140,
+  141, 144, 146, 147, 146, 153, 155, 158, 158, 156, 155, 154, 154, 153, 155, 160,
+  160, 163, 160, 161, 158, 169, 164, 164, 163, 167, 166, 164, 161, 164, 163, 158,
+  151, 145, 142, 141, 142, 146, 150, 156, 158, 159, 158, 160, 162, 154, 156, 153,
+  154, 158, 164, 186, 222, 242, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 104, 112, 112,
+  118, 128, 135, 135, 132, 138, 137, 125, 114, 110, 115, 118, 115, 117, 121, 125,
+  130, 133, 136, 136, 137, 137, 139, 140, 141, 142, 144, 145, 143, 141, 140, 141,
+  145, 147, 148, 147, 151, 153, 155, 155, 153, 152, 153, 154, 156, 159, 162, 163,
+  162, 161, 162, 162, 164, 163, 162, 162, 162, 161, 159, 159, 159, 153, 144, 137,
+  134, 135, 136, 136, 140, 146, 152, 155, 154, 155, 159, 164, 154, 159, 155, 152,
+  158, 169, 192, 222, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 98, 111, 114, 120,
+  130, 134, 131, 135, 139, 136, 124, 116, 114, 116, 113, 111, 112, 117, 121, 126,
+  131, 134, 135, 137, 139, 140, 141, 144, 145, 147, 146, 144, 143, 142, 143, 147,
+  149, 150, 149, 151, 152, 154, 153, 152, 152, 154, 156, 156, 159, 161, 161, 159,
+  159, 161, 164, 160, 161, 162, 160, 158, 155, 155, 156, 153, 144, 133, 128, 131,
+  137, 140, 140, 145, 146, 148, 150, 151, 153, 154, 156, 152, 162, 157, 154, 168,
+  188, 204, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 111, 116, 122, 132,
+  134, 129, 135, 134, 128, 118, 113, 111, 110, 103, 109, 109, 114, 118, 124, 129,
+  132, 136, 139, 139, 141, 144, 146, 147, 147, 148, 146, 144, 143, 145, 149, 151,
+  152, 151, 153, 154, 155, 154, 153, 154, 156, 159, 155, 157, 159, 158, 156, 156,
+  160, 163, 163, 166, 167, 165, 161, 157, 158, 161, 157, 146, 132, 129, 137, 147,
+  152, 152, 152, 148, 145, 146, 149, 151, 150, 149, 151, 163, 158, 156, 181, 204,
+  215, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 112, 124, 124, 125,
+  132, 123, 124, 126, 124, 119, 114, 113, 111, 109, 111, 115, 118, 123, 126, 130,
+  134, 133, 133, 134, 138, 143, 145, 147, 145, 145, 145, 146, 147, 148, 149, 150,
+  150, 150, 149, 149, 149, 152, 156, 161, 163, 156, 160, 163, 161, 156, 156, 161,
+  166, 161, 159, 159, 161, 159, 156, 154, 156, 154, 145, 140, 146, 149, 148, 148,
+  150, 163, 152, 148, 152, 154, 148, 148, 153, 154, 165, 168, 164, 167, 221, 252,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 96, 111, 119, 123, 126,
+  132, 131, 129, 123, 117, 115, 115, 113, 109, 109, 112, 117, 120, 125, 130, 133,
+  135, 135, 138, 139, 142, 143, 145, 143, 145, 146, 146, 147, 148, 149, 149, 149,
+  150, 150, 150, 151, 153, 156, 159, 161, 148, 151, 155, 158, 160, 160, 160, 161,
+  156, 157, 156, 154, 153, 153, 152, 151, 149, 142, 138, 140, 143, 141, 144, 151,
+  162, 153, 146, 148, 153, 155, 155, 155, 159, 161, 158, 163, 188, 249, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 197, 96, 115, 123, 123, 135,
+  132, 127, 120, 116, 114, 116, 117, 107, 107, 109, 114, 118, 123, 128, 130, 136,
+  137, 139, 139, 140, 140, 141, 142, 146, 146, 146, 146, 148, 148, 148, 148, 150,
+  151, 152, 154, 155, 156, 157, 158, 162, 159, 156, 156, 159, 161, 160, 159, 156,
+  161, 160, 153, 152, 156, 156, 150, 152, 150, 149, 149, 149, 149, 155, 163, 162,
+  157, 150, 145, 150, 157, 159, 155, 157, 158, 156, 168, 203, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 110, 124, 126, 127, 125,
+  123, 120, 116, 115, 118, 118, 108, 106, 107, 111, 118, 124, 127, 130, 135, 136,
+  139, 139, 139, 139, 141, 142, 146, 146, 146, 146, 147, 147, 147, 147, 151, 152,
+  154, 156, 157, 156, 156, 155, 169, 162, 154, 145, 147, 150, 159, 162, 158, 162,
+  163, 153, 153, 157, 158, 148, 144, 145, 145, 144, 141, 142, 149, 157, 157, 163,
+  159, 150, 149, 157, 159, 153, 156, 160, 168, 178, 212, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 102, 119, 127, 122, 123, 124,
+  124, 121, 119, 119, 116, 112, 108, 108, 112, 119, 125, 128, 129, 131, 133, 136,
+  137, 137, 137, 140, 145, 145, 145, 145, 146, 147, 147, 147, 148, 151, 152, 155,
+  157, 158, 157, 155, 155, 154, 151, 146, 137, 133, 135, 146, 154, 155, 160, 162,
+  154, 154, 157, 155, 145, 145, 145, 146, 145, 142, 142, 143, 145, 147, 160, 164,
+  157, 151, 155, 159, 156, 159, 160, 171, 183, 224, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205, 118, 124, 127, 132, 132,
+  129, 123, 119, 116, 116, 110, 109, 111, 118, 124, 127, 127, 129, 132, 136, 137,
+  136, 137, 140, 144, 143, 143, 144, 145, 147, 148, 148, 149, 151, 153, 155, 157,
+  158, 157, 156, 157, 150, 154, 154, 146, 134, 126, 126, 128, 152, 154, 158, 160,
+  160, 159, 156, 153, 148, 148, 149, 150, 153, 255, 148, 140, 138, 152, 160, 160,
+  157, 157, 163, 163, 160, 150, 164, 183, 236, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 104, 123, 126, 132, 133, 131,
+  127, 123, 120, 119, 111, 110, 111, 118, 124, 125, 125, 129, 133, 137, 136, 134,
+  134, 137, 142, 139, 142, 143, 144, 147, 148, 149, 150, 152, 152, 155, 156, 157,
+  158, 158, 159, 162, 165, 165, 158, 146, 134, 125, 121, 142, 140, 148, 161, 164,
+  157, 155, 156, 145, 144, 147, 255, 255, 255, 255, 221, 142, 144, 151, 157, 160,
+  159, 163, 166, 159, 150, 173, 193, 245, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 202, 118, 122, 127, 130, 130, 128,
+  127, 125, 118, 111, 107, 109, 116, 122, 123, 122, 131, 135, 138, 137, 133, 132,
+  134, 139, 137, 139, 140, 144, 146, 149, 150, 153, 152, 152, 154, 155, 157, 157,
+  158, 159, 161, 159, 156, 155, 152, 148, 141, 136, 128, 122, 132, 152, 157, 145,
+  143, 148, 161, 161, 198, 255, 255, 255, 255, 255, 219, 137, 137, 149, 157, 155,
+  155, 159, 155, 158, 196, 213, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 101, 122, 127, 134, 134, 127, 132,
+  119, 123, 113, 108, 110, 111, 111, 117, 125, 133, 131, 129, 132, 135, 137, 137,
+  134, 136, 138, 137, 135, 140, 148, 155, 155, 155, 154, 151, 149, 156, 162, 159,
+  151, 158, 157, 158, 160, 162, 159, 153, 146, 144, 136, 131, 134, 142, 149, 149,
+  143, 149, 191, 255, 255, 255, 255, 255, 255, 255, 255, 148, 140, 142, 145, 151,
+  152, 152, 151, 209, 240, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 199, 108, 116, 128, 130, 126, 133, 123,
+  120, 115, 114, 114, 112, 112, 118, 126, 131, 131, 132, 134, 138, 138, 136, 132,
+  132, 134, 137, 136, 140, 150, 156, 156, 154, 154, 152, 151, 155, 160, 158, 151,
+  153, 154, 155, 160, 163, 162, 158, 154, 161, 152, 143, 138, 140, 147, 153, 154,
+  186, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 164, 163, 163, 163, 163,
+  197, 185, 213, 226, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 203, 107, 124, 132, 130, 138, 127, 119,
+  116, 119, 119, 115, 113, 115, 121, 128, 129, 133, 135, 139, 138, 134, 130, 130,
+  133, 138, 139, 143, 152, 156, 156, 153, 156, 156, 154, 155, 158, 158, 154, 155,
+  154, 157, 161, 162, 161, 156, 151, 143, 140, 138, 144, 155, 176, 198, 211, 204,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 235, 191, 192, 191, 214,
+  198, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 202, 117, 132, 132, 136, 124, 128, 125,
+  126, 126, 125, 122, 119, 118, 129, 131, 133, 135, 138, 136, 134, 131, 130, 135,
+  140, 141, 145, 152, 155, 153, 152, 156, 158, 157, 155, 155, 156, 157, 154, 155,
+  160, 163, 165, 165, 162, 161, 147, 146, 146, 153, 168, 188, 206, 216, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 105, 125, 129, 132, 118, 136, 133, 130,
+  130, 135, 135, 128, 120, 131, 133, 134, 135, 133, 133, 134, 134, 131, 136, 141,
+  142, 144, 151, 153, 150, 152, 157, 161, 161, 158, 153, 155, 157, 148, 150, 155,
+  161, 164, 166, 168, 168, 148, 146, 147, 160, 177, 191, 197, 196, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 118, 126, 135, 127, 134, 132, 129, 129,
+  135, 139, 134, 126, 135, 135, 136, 134, 134, 133, 134, 136, 131, 136, 140, 141,
+  145, 150, 152, 150, 153, 156, 160, 162, 159, 154, 154, 155, 150, 148, 149, 148,
+  149, 149, 153, 155, 145, 144, 154, 171, 194, 205, 206, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 115, 134, 138, 129, 135, 137, 135, 138,
+  147, 151, 148, 133, 136, 139, 138, 136, 135, 135, 135, 129, 133, 136, 138, 144,
+  150, 154, 153, 155, 154, 158, 162, 161, 155, 154, 153, 150, 147, 147, 147, 146,
+  150, 155, 159, 181, 180, 185, 192, 199, 218, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 140, 135, 147, 153, 151, 151, 162,
+  173, 179, 134, 138, 142, 144, 141, 137, 136, 136, 126, 131, 134, 138, 144, 151,
+  157, 157, 156, 153, 154, 162, 161, 156, 153, 152, 144, 142, 146, 152, 159, 171,
+  185, 194, 199, 199, 199, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 158, 162, 164,
+  163, 161, 151, 140, 136, 140, 145, 142, 133, 136, 135, 138, 143, 147, 150, 151,
+  155, 154, 153, 153, 157, 161, 165, 162, 155, 144, 149, 154, 165, 182, 187, 191,
+  202, 197, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 158,
+  155, 155, 151, 145, 139, 139, 144, 147, 136, 142, 145, 141, 142, 150, 154, 154,
+  155, 154, 155, 158, 164, 170, 175, 173, 159, 179, 190, 186, 189, 193, 191, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 221,
+  156, 159, 155, 148, 143, 145, 146, 141, 149, 153, 148, 144, 149, 150, 143, 152,
+  152, 153, 155, 160, 169, 179, 183, 174, 206, 215, 198, 192, 194, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 221,
+  155, 159, 161, 155, 148, 141, 145, 144, 149, 154, 156, 151, 146, 144, 150, 151,
+  152, 152, 156, 164, 177, 182, 182, 205, 209, 192, 186, 211, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  223, 163, 162, 163, 164, 163, 144, 137, 151, 159, 150, 147, 155, 145, 147, 149,
+  151, 155, 162, 173, 178, 182, 192, 193, 187, 189, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 222, 177, 197, 202, 171, 153, 153, 153, 143, 143, 151, 140, 140, 143, 146,
+  153, 161, 170, 175, 184, 188, 189, 192, 216, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 243, 206, 191, 173, 159, 152, 151, 149, 151, 147, 147, 151, 158,
+  166, 174, 177, 184, 196, 214, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 170, 156, 171, 165, 160, 161, 167, 175,
+  182, 183, 208, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238,
+  188, 203, 224, 246, 251, 243, 237, 244, 255, 253, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 163, 169, 180, 190, 188, 180,
+  152, 168, 186, 195, 196, 197, 201, 206, 223, 236, 252, 255, 254, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 212, 128, 113, 120, 126, 135, 151, 172, 189, 196, 177,
+  163, 150, 154, 170, 184, 186, 182, 187, 197, 215, 232, 240, 242, 250, 255, 253,
+  253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 211, 116, 116, 120, 120, 126, 130, 128, 132, 148, 166, 177, 197, 197,
+  195, 191, 187, 187, 191, 195, 165, 164, 178, 203, 221, 222, 216, 212, 205, 211,
+  224, 238, 250, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 104, 99, 99, 100, 100, 110, 115, 115, 116, 129, 145, 154, 149, 173, 198,
+  201, 185, 169, 168, 174, 169, 161, 161, 169, 169, 160, 153, 155, 150, 145, 147,
+  160, 185, 212, 233, 242, 244, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 87, 75,
+  72, 80, 87, 85, 86, 96, 102, 103, 103, 111, 120, 124, 121, 129, 146, 161,
+  171, 168, 154, 143, 140, 130, 124, 118, 113, 124, 163, 201, 215, 181, 139, 113,
+  115, 138, 166, 182, 193, 203, 219, 235, 250, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 198, 83, 79, 78, 77, 76, 76,
+  76, 77, 78, 84, 87, 91, 96, 99, 99, 97, 95, 102, 106, 102, 94, 97,
+  114, 127, 129, 126, 128, 138, 142, 132, 124, 136, 156, 168, 198, 158, 154, 180,
+  160, 151, 159, 175, 211, 219, 218, 225, 245, 255, 248, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 196, 75, 73, 72, 73, 73, 73, 73, 74, 76,
+  78, 80, 80, 85, 90, 91, 88, 85, 85, 87, 79, 84, 84, 85, 88, 100,
+  108, 112, 126, 111, 105, 121, 137, 141, 137, 137, 144, 171, 193, 185, 179, 188,
+  191, 194, 210, 244, 250, 248, 241, 242, 253, 238, 250, 252, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 215, 114, 74, 73, 72, 70, 68, 68, 68, 68, 69, 71, 74, 77,
+  79, 78, 83, 87, 84, 76, 72, 74, 78, 76, 77, 83, 91, 95, 96, 100,
+  105, 108, 104, 105, 113, 119, 124, 138, 152, 120, 109, 166, 172, 147, 170, 182,
+  190, 216, 242, 247, 251, 245, 242, 255, 254, 255, 253, 250, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  194, 73, 74, 74, 73, 72, 70, 69, 66, 66, 66, 67, 69, 72, 75, 77,
+  76, 78, 79, 76, 72, 70, 72, 74, 84, 82, 87, 99, 99, 94, 93, 102,
+  91, 101, 108, 104, 90, 95, 126, 161, 169, 115, 138, 169, 159, 163, 177, 195,
+  184, 203, 216, 243, 251, 246, 253, 247, 254, 253, 253, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 192, 64, 68,
+  68, 68, 67, 67, 66, 65, 65, 67, 66, 65, 65, 66, 68, 70, 71, 71,
+  68, 66, 67, 70, 73, 72, 71, 77, 74, 78, 87, 88, 82, 83, 90, 91,
+  89, 87, 85, 83, 90, 107, 123, 161, 122, 93, 125, 140, 125, 139, 150, 154,
+  170, 190, 237, 255, 253, 245, 226, 238, 245, 251, 255, 252, 252, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 65, 64, 68, 75, 64, 64,
+  64, 64, 64, 64, 64, 64, 67, 66, 65, 64, 63, 64, 66, 66, 65, 60,
+  57, 60, 68, 72, 70, 66, 69, 70, 72, 78, 78, 78, 80, 87, 85, 84,
+  83, 86, 88, 90, 90, 90, 119, 133, 95, 101, 122, 113, 124, 122, 133, 143,
+  154, 198, 233, 243, 254, 249, 226, 237, 248, 255, 253, 250, 252, 254, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 61, 71, 81, 71, 58, 56, 57, 63, 63, 63,
+  63, 64, 65, 66, 66, 65, 64, 63, 61, 61, 62, 64, 64, 64, 61, 60,
+  62, 66, 68, 67, 64, 67, 72, 73, 73, 72, 77, 79, 80, 76, 85, 91,
+  89, 82, 79, 81, 85, 85, 105, 97, 88, 98, 105, 104, 101, 110, 118, 118,
+  141, 164, 187, 225, 240, 221, 229, 239, 248, 251, 252, 254, 255, 255, 244, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 194, 71, 56, 59, 68, 63, 58, 62, 63, 57, 57, 58, 58,
+  59, 61, 63, 63, 61, 61, 60, 59, 59, 61, 62, 63, 65, 66, 67, 67,
+  65, 64, 64, 64, 60, 69, 71, 65, 63, 69, 69, 64, 80, 81, 80, 75,
+  73, 75, 79, 82, 91, 77, 98, 90, 89, 106, 93, 98, 91, 109, 110, 116,
+  113, 119, 154, 170, 216, 218, 226, 235, 244, 249, 250, 249, 253, 243, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  194, 64, 66, 68, 65, 59, 55, 54, 57, 60, 63, 62, 60, 58, 58, 59,
+  60, 59, 58, 57, 58, 59, 60, 62, 63, 65, 65, 62, 62, 63, 63, 63,
+  62, 62, 61, 59, 61, 63, 63, 63, 63, 65, 67, 65, 67, 69, 70, 71,
+  75, 79, 82, 81, 88, 90, 87, 87, 92, 92, 89, 90, 93, 96, 98, 98,
+  99, 100, 101, 147, 191, 208, 208, 228, 245, 246, 249, 253, 255, 238, 243, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 67,
+  62, 64, 62, 60, 58, 55, 55, 55, 57, 58, 62, 60, 58, 57, 58, 59,
+  58, 57, 58, 58, 59, 60, 61, 62, 63, 64, 62, 61, 61, 61, 61, 61,
+  61, 61, 62, 63, 65, 65, 65, 65, 67, 68, 65, 67, 67, 66, 65, 65,
+  67, 69, 77, 82, 82, 79, 77, 83, 85, 85, 88, 92, 96, 100, 100, 100,
+  101, 102, 130, 154, 182, 207, 227, 233, 234, 241, 236, 251, 249, 246, 251, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 68, 63, 58,
+  58, 59, 58, 58, 57, 56, 56, 55, 55, 61, 59, 57, 56, 58, 58, 58,
+  56, 59, 59, 59, 60, 60, 60, 61, 61, 61, 60, 59, 58, 58, 59, 61,
+  61, 62, 65, 67, 67, 66, 66, 68, 69, 71, 72, 73, 72, 69, 67, 67,
+  67, 72, 74, 72, 69, 68, 74, 79, 80, 83, 87, 93, 96, 98, 100, 102,
+  103, 124, 125, 154, 196, 219, 228, 237, 242, 251, 241, 240, 240, 246, 244, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 67, 63, 61, 58, 53,
+  59, 59, 58, 57, 57, 57, 57, 57, 60, 58, 55, 55, 56, 57, 56, 55,
+  59, 59, 59, 59, 59, 58, 58, 58, 60, 59, 57, 56, 56, 58, 60, 63,
+  61, 62, 64, 64, 63, 63, 64, 66, 69, 72, 74, 75, 74, 72, 72, 71,
+  68, 70, 69, 68, 67, 71, 75, 78, 82, 85, 88, 92, 96, 101, 107, 111,
+  124, 111, 123, 145, 164, 192, 206, 191, 245, 241, 251, 244, 254, 254, 232, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 194, 65, 59, 58, 62, 60, 52, 59,
+  58, 56, 54, 54, 55, 57, 58, 58, 56, 54, 54, 55, 56, 55, 54, 58,
+  58, 58, 58, 57, 57, 57, 57, 59, 57, 56, 55, 55, 57, 60, 62, 61,
+  63, 64, 64, 63, 62, 64, 65, 64, 66, 70, 71, 70, 69, 70, 70, 66,
+  68, 71, 73, 73, 73, 75, 77, 86, 86, 87, 90, 94, 103, 113, 119, 135,
+  131, 126, 118, 133, 181, 193, 154, 151, 193, 231, 220, 232, 253, 236, 252, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 191, 61, 55, 53, 56, 61, 59, 55, 57, 55,
+  52, 50, 50, 52, 54, 56, 57, 55, 53, 53, 54, 55, 54, 53, 57, 57,
+  56, 56, 56, 56, 56, 56, 57, 56, 56, 55, 56, 58, 60, 62, 63, 65,
+  66, 66, 64, 64, 65, 66, 65, 67, 68, 68, 67, 65, 66, 66, 67, 67,
+  70, 75, 76, 73, 74, 78, 80, 80, 78, 79, 82, 90, 101, 108, 122, 137,
+  139, 131, 156, 212, 228, 201, 111, 127, 159, 176, 181, 184, 202, 247, 254, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 198, 64, 58, 54, 56, 56, 56, 55, 57, 53, 53, 53,
+  52, 52, 53, 54, 54, 57, 55, 53, 53, 54, 55, 54, 53, 56, 56, 56,
+  56, 56, 57, 57, 57, 57, 57, 57, 58, 59, 60, 61, 61, 62, 65, 66,
+  65, 64, 63, 64, 65, 69, 70, 70, 69, 67, 66, 67, 69, 68, 66, 68,
+  73, 73, 71, 74, 80, 75, 75, 74, 74, 75, 79, 84, 88, 85, 102, 111,
+  120, 147, 180, 205, 219, 184, 152, 138, 162, 161, 151, 182, 216, 227, 252, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 194, 97, 52, 68, 62, 60, 62, 58, 51, 50, 57, 52, 54, 56, 57,
+  57, 56, 54, 53, 57, 55, 53, 52, 54, 54, 54, 52, 55, 55, 55, 56,
+  56, 57, 57, 57, 56, 57, 58, 59, 60, 61, 61, 61, 60, 62, 62, 63,
+  60, 60, 60, 63, 65, 67, 66, 66, 64, 65, 67, 70, 67, 64, 63, 67,
+  68, 66, 71, 80, 78, 79, 79, 78, 77, 77, 78, 80, 85, 90, 90, 102,
+  112, 109, 133, 185, 236, 216, 169, 156, 159, 179, 189, 134, 172, 245, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195,
+  68, 69, 70, 59, 58, 56, 54, 53, 52, 51, 51, 55, 54, 54, 53, 53,
+  54, 54, 55, 54, 54, 53, 53, 53, 53, 53, 53, 57, 57, 56, 56, 56,
+  56, 56, 56, 60, 60, 59, 58, 58, 57, 56, 57, 61, 63, 63, 63, 61,
+  62, 63, 66, 64, 63, 60, 60, 59, 62, 64, 65, 67, 69, 69, 65, 66,
+  70, 71, 68, 74, 76, 78, 79, 80, 81, 84, 86, 101, 88, 93, 109, 116,
+  122, 128, 126, 195, 226, 240, 218, 159, 168, 213, 171, 154, 208, 245, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 73, 82,
+  65, 62, 59, 58, 56, 55, 53, 53, 52, 52, 52, 52, 53, 53, 53, 53,
+  52, 52, 51, 51, 51, 52, 53, 53, 54, 54, 53, 53, 53, 53, 53, 53,
+  53, 53, 55, 56, 56, 57, 58, 58, 59, 59, 59, 60, 61, 60, 59, 59,
+  61, 64, 69, 68, 65, 62, 60, 59, 59, 59, 68, 70, 70, 67, 68, 72,
+  73, 71, 73, 76, 79, 82, 83, 85, 87, 89, 87, 100, 107, 100, 106, 141,
+  158, 145, 148, 183, 234, 250, 225, 194, 183, 196, 187, 240, 251, 234, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 72, 66, 79, 56,
+  54, 59, 58, 57, 56, 54, 53, 53, 53, 49, 50, 52, 52, 52, 52, 50,
+  49, 48, 49, 49, 51, 52, 53, 54, 54, 55, 55, 55, 55, 55, 55, 55,
+  55, 55, 55, 56, 56, 57, 58, 58, 59, 58, 59, 59, 59, 58, 58, 60,
+  62, 62, 62, 63, 63, 64, 65, 65, 66, 67, 70, 70, 67, 68, 72, 74,
+  72, 73, 76, 81, 84, 86, 87, 89, 91, 98, 95, 101, 104, 102, 119, 142,
+  153, 144, 171, 218, 242, 254, 231, 165, 194, 232, 250, 248, 244, 254, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 72, 56, 56, 53, 56,
+  57, 56, 55, 54, 52, 52, 52, 52, 48, 50, 52, 53, 53, 52, 50, 48,
+  49, 49, 49, 50, 50, 51, 51, 52, 55, 55, 56, 56, 56, 56, 57, 57,
+  60, 59, 59, 58, 57, 57, 56, 56, 57, 58, 59, 58, 57, 58, 60, 62,
+  57, 59, 62, 65, 67, 69, 70, 71, 65, 68, 68, 65, 66, 71, 72, 70,
+  74, 77, 82, 84, 85, 86, 87, 88, 104, 91, 94, 106, 102, 105, 123, 137,
+  141, 165, 170, 174, 233, 254, 219, 212, 242, 246, 249, 253, 249, 246, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 193, 69, 65, 55, 44, 64, 61, 54,
+  54, 52, 51, 51, 50, 51, 51, 49, 50, 52, 54, 54, 52, 50, 49, 51,
+  51, 51, 50, 49, 49, 48, 48, 51, 51, 51, 52, 52, 53, 53, 53, 61,
+  60, 60, 59, 58, 58, 57, 57, 58, 59, 60, 59, 58, 58, 60, 62, 63,
+  64, 65, 66, 67, 67, 66, 66, 66, 69, 69, 67, 67, 72, 73, 71, 75,
+  77, 80, 81, 81, 80, 81, 82, 82, 93, 101, 98, 104, 131, 142, 125, 136,
+  168, 151, 136, 164, 224, 255, 231, 233, 249, 255, 247, 240, 250, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 197, 60, 73, 61, 64, 53, 70, 53, 52, 51,
+  50, 49, 49, 49, 49, 50, 50, 50, 52, 53, 53, 52, 50, 50, 53, 52,
+  52, 51, 49, 48, 47, 47, 51, 51, 52, 53, 53, 54, 55, 55, 56, 56,
+  57, 58, 58, 59, 60, 60, 58, 59, 59, 59, 58, 58, 60, 62, 59, 60,
+  61, 64, 66, 69, 71, 72, 72, 75, 74, 71, 71, 75, 76, 74, 75, 76,
+  77, 77, 75, 75, 76, 78, 81, 82, 91, 104, 115, 135, 141, 126, 130, 168,
+  168, 155, 132, 167, 246, 246, 244, 226, 228, 245, 253, 255, 252, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 129, 83, 69, 66, 63, 63, 60, 59, 49, 52, 51, 50,
+  49, 49, 49, 50, 50, 49, 49, 50, 50, 50, 50, 49, 49, 52, 52, 52,
+  51, 50, 50, 49, 49, 53, 53, 54, 55, 56, 56, 57, 57, 54, 54, 55,
+  55, 56, 57, 57, 58, 56, 57, 58, 57, 56, 56, 58, 61, 53, 54, 56,
+  60, 66, 71, 76, 79, 76, 79, 78, 74, 74, 77, 77, 75, 75, 75, 75,
+  74, 73, 74, 77, 80, 92, 74, 80, 105, 112, 114, 117, 120, 110, 129, 151,
+  156, 144, 166, 221, 250, 241, 187, 182, 225, 243, 240, 245, 253, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 59, 72, 65, 49, 62, 49, 58, 49, 56, 52, 52, 51, 50,
+  50, 50, 51, 51, 49, 48, 48, 47, 47, 48, 48, 49, 51, 51, 51, 51,
+  51, 51, 51, 51, 49, 50, 50, 51, 52, 53, 54, 54, 56, 55, 55, 54,
+  53, 53, 52, 52, 54, 56, 56, 56, 54, 55, 57, 59, 59, 59, 59, 60,
+  63, 67, 71, 74, 76, 79, 77, 73, 72, 75, 75, 72, 74, 74, 73, 71,
+  71, 74, 78, 82, 83, 86, 89, 86, 91, 113, 121, 105, 124, 111, 125, 128,
+  151, 178, 176, 205, 206, 171, 166, 186, 200, 228, 253, 253, 250, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 196, 77, 61, 57, 54, 52, 52, 53, 51, 49, 54, 51, 48, 48, 51,
+  51, 48, 46, 46, 46, 46, 47, 47, 48, 48, 48, 52, 51, 49, 48, 48,
+  49, 51, 52, 47, 47, 48, 48, 48, 48, 48, 48, 52, 53, 54, 55, 55,
+  55, 55, 54, 57, 56, 56, 55, 55, 54, 54, 53, 51, 53, 56, 60, 64,
+  67, 68, 69, 72, 74, 75, 74, 72, 72, 76, 81, 70, 72, 74, 74, 75,
+  76, 79, 82, 90, 89, 88, 90, 95, 104, 112, 118, 110, 113, 118, 127, 143,
+  154, 151, 138, 154, 215, 200, 204, 245, 245, 246, 255, 239, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  96, 56, 60, 56, 53, 52, 53, 52, 50, 49, 53, 50, 48, 48, 51, 51,
+  48, 46, 46, 46, 46, 47, 47, 48, 48, 48, 50, 50, 49, 49, 49, 49,
+  50, 50, 48, 49, 49, 49, 50, 51, 51, 51, 52, 53, 54, 54, 55, 55,
+  54, 54, 57, 57, 56, 56, 56, 56, 56, 55, 61, 61, 62, 62, 61, 61,
+  60, 59, 65, 66, 67, 67, 67, 67, 69, 71, 67, 68, 70, 71, 71, 72,
+  75, 78, 82, 82, 82, 83, 86, 91, 97, 101, 106, 110, 114, 119, 132, 145,
+  144, 138, 152, 230, 234, 223, 238, 245, 252, 253, 255, 255, 252, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 86,
+  56, 58, 55, 53, 52, 52, 51, 50, 48, 52, 50, 49, 49, 50, 50, 49,
+  47, 46, 46, 46, 47, 47, 48, 48, 48, 48, 49, 49, 50, 50, 49, 49,
+  48, 49, 49, 50, 51, 52, 53, 54, 54, 52, 52, 53, 54, 55, 55, 54,
+  54, 56, 56, 56, 57, 57, 57, 57, 57, 58, 59, 60, 61, 61, 61, 61,
+  61, 64, 64, 64, 66, 68, 69, 68, 67, 66, 67, 69, 69, 69, 70, 73,
+  76, 77, 77, 78, 80, 81, 83, 84, 85, 100, 103, 105, 107, 117, 128, 133,
+  133, 126, 193, 227, 240, 250, 252, 252, 238, 228, 226, 237, 248, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 79, 65, 65,
+  55, 53, 50, 50, 50, 50, 49, 47, 50, 49, 50, 49, 49, 49, 49, 48,
+  46, 46, 46, 47, 47, 48, 48, 48, 47, 48, 49, 50, 50, 49, 48, 47,
+  48, 49, 50, 51, 53, 54, 55, 56, 51, 52, 53, 54, 54, 54, 54, 53,
+  54, 55, 55, 56, 56, 57, 57, 58, 55, 56, 57, 59, 61, 62, 62, 63,
+  65, 64, 64, 67, 71, 71, 68, 65, 68, 70, 71, 71, 71, 72, 75, 77,
+  78, 80, 82, 85, 85, 84, 83, 82, 91, 93, 96, 99, 104, 112, 119, 123,
+  134, 139, 161, 204, 234, 248, 255, 253, 249, 237, 244, 230, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 67, 66, 58, 54,
+  51, 48, 47, 49, 49, 47, 46, 49, 50, 50, 49, 49, 49, 49, 49, 46,
+  46, 46, 47, 47, 48, 48, 48, 46, 47, 48, 49, 49, 48, 47, 46, 47,
+  47, 48, 50, 51, 53, 54, 54, 51, 52, 53, 53, 54, 54, 53, 53, 52,
+  53, 53, 54, 54, 55, 55, 56, 59, 59, 59, 60, 59, 58, 57, 57, 63,
+  62, 62, 65, 69, 69, 66, 63, 69, 71, 72, 72, 71, 72, 75, 77, 82,
+  84, 86, 89, 90, 89, 88, 87, 83, 86, 91, 95, 98, 102, 107, 112, 126,
+  107, 126, 173, 214, 246, 252, 247, 234, 224, 242, 226, 199, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 76, 56, 70, 51, 52, 49,
+  46, 46, 47, 47, 46, 45, 47, 49, 50, 49, 49, 48, 49, 50, 46, 46,
+  46, 47, 47, 48, 48, 48, 46, 47, 47, 48, 48, 47, 47, 46, 47, 47,
+  48, 49, 50, 51, 52, 52, 51, 51, 52, 53, 53, 53, 53, 53, 53, 53,
+  53, 53, 53, 54, 54, 54, 53, 54, 56, 58, 59, 60, 61, 62, 65, 65,
+  65, 66, 69, 69, 68, 67, 67, 69, 70, 69, 69, 69, 72, 74, 80, 82,
+  83, 85, 88, 89, 89, 89, 84, 85, 89, 96, 98, 98, 102, 107, 104, 106,
+  128, 142, 175, 231, 250, 247, 205, 206, 235, 241, 201, 226, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 75, 58, 58, 60, 52, 50, 47, 45,
+  44, 46, 46, 45, 44, 46, 48, 51, 50, 48, 47, 49, 51, 46, 46, 46,
+  47, 47, 48, 48, 48, 47, 47, 46, 46, 46, 46, 47, 47, 48, 48, 48,
+  49, 50, 50, 50, 51, 50, 51, 52, 53, 53, 53, 53, 52, 55, 54, 54,
+  54, 54, 54, 53, 53, 48, 50, 53, 56, 60, 62, 64, 66, 65, 66, 67,
+  67, 66, 67, 69, 71, 66, 67, 68, 68, 67, 68, 70, 72, 77, 77, 78,
+  78, 79, 82, 83, 85, 92, 90, 91, 98, 102, 102, 104, 108, 124, 130, 140,
+  121, 141, 202, 235, 252, 244, 242, 246, 250, 242, 252, 249, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 62, 60, 50, 51, 51, 50, 47, 45, 45,
+  45, 46, 46, 45, 47, 49, 51, 50, 47, 46, 48, 50, 46, 46, 46, 47,
+  46, 47, 47, 47, 47, 47, 45, 44, 44, 46, 48, 49, 50, 49, 50, 50,
+  50, 50, 50, 50, 50, 51, 52, 53, 53, 53, 53, 52, 57, 56, 56, 55,
+  55, 54, 54, 53, 56, 56, 57, 58, 58, 57, 57, 57, 59, 61, 63, 61,
+  59, 60, 64, 68, 67, 68, 69, 69, 68, 68, 70, 73, 75, 74, 72, 71,
+  73, 76, 80, 82, 101, 94, 93, 99, 105, 105, 107, 112, 123, 137, 169, 171,
+  183, 198, 188, 206, 226, 238, 237, 240, 253, 255, 247, 246, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 193, 61, 48, 56, 54, 57, 48, 46, 45, 46, 48,
+  49, 49, 46, 45, 45, 44, 44, 44, 44, 43, 44, 46, 48, 47, 47, 47,
+  47, 45, 45, 50, 49, 50, 50, 51, 52, 54, 54, 52, 49, 49, 48, 48,
+  49, 49, 50, 49, 50, 51, 52, 52, 52, 51, 51, 56, 57, 58, 60, 61,
+  63, 64, 64, 58, 58, 58, 57, 57, 56, 56, 56, 59, 61, 61, 61, 58,
+  59, 60, 63, 63, 64, 62, 64, 64, 67, 69, 70, 67, 70, 72, 73, 74,
+  76, 79, 82, 87, 83, 86, 95, 101, 104, 111, 119, 131, 140, 157, 183, 215,
+  237, 236, 225, 228, 199, 191, 177, 228, 251, 252, 249, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 65, 63, 48, 53, 48, 47, 47, 44, 44, 46, 48, 49,
+  48, 46, 47, 47, 46, 46, 45, 44, 43, 44, 46, 47, 47, 46, 44, 43,
+  41, 41, 46, 47, 50, 52, 53, 53, 53, 51, 52, 49, 49, 48, 48, 49,
+  49, 50, 50, 50, 50, 51, 51, 52, 52, 52, 53, 53, 54, 55, 56, 57,
+  58, 59, 58, 58, 58, 58, 58, 58, 58, 58, 64, 65, 65, 64, 62, 62,
+  64, 65, 65, 64, 64, 64, 64, 65, 67, 67, 64, 67, 69, 71, 72, 75,
+  78, 81, 86, 82, 82, 88, 93, 96, 103, 109, 131, 152, 169, 174, 175, 192,
+  219, 240, 219, 213, 186, 133, 156, 212, 240, 250, 244, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 66, 64, 50, 53, 51, 45, 44, 42, 41, 43, 45, 48, 47,
+  46, 48, 48, 48, 47, 47, 46, 45, 45, 47, 48, 48, 48, 46, 44, 42,
+  41, 43, 45, 49, 52, 52, 50, 48, 47, 51, 49, 49, 48, 48, 49, 49,
+  50, 51, 50, 50, 50, 50, 51, 52, 53, 52, 52, 52, 53, 53, 54, 54,
+  54, 57, 57, 58, 58, 59, 60, 60, 61, 64, 65, 65, 63, 61, 61, 62,
+  64, 65, 65, 65, 65, 65, 65, 65, 65, 64, 66, 68, 70, 71, 74, 78,
+  81, 85, 81, 80, 83, 85, 87, 92, 96, 115, 148, 175, 175, 160, 163, 190,
+  216, 221, 216, 205, 181, 155, 163, 191, 255, 243, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 192, 63, 57, 45, 50, 53, 46, 42, 40, 40, 41, 43, 45, 45, 46,
+  46, 47, 47, 47, 46, 46, 46, 46, 48, 49, 49, 50, 49, 49, 47, 46,
+  44, 45, 47, 48, 49, 48, 46, 45, 49, 49, 49, 48, 48, 49, 49, 50,
+  51, 51, 50, 50, 50, 51, 52, 53, 54, 54, 54, 54, 54, 54, 54, 54,
+  55, 55, 56, 57, 59, 60, 61, 61, 64, 65, 65, 63, 61, 60, 61, 63,
+  63, 63, 64, 65, 66, 66, 66, 66, 66, 68, 70, 72, 73, 76, 80, 83,
+  84, 84, 84, 85, 86, 85, 86, 86, 91, 111, 136, 149, 152, 158, 171, 181,
+  225, 217, 221, 238, 200, 168, 158, 223, 255, 232, 240, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  62, 50, 46, 43, 45, 49, 39, 38, 39, 39, 40, 41, 41, 44, 45, 44,
+  45, 45, 45, 46, 46, 46, 45, 45, 46, 48, 49, 50, 50, 49, 48, 47,
+  46, 45, 44, 43, 43, 44, 46, 48, 49, 49, 48, 48, 49, 49, 50, 51,
+  50, 50, 50, 51, 51, 52, 53, 55, 55, 55, 54, 54, 54, 53, 53, 52,
+  53, 54, 55, 57, 58, 59, 60, 67, 68, 68, 66, 64, 63, 65, 67, 61,
+  61, 62, 64, 66, 68, 69, 70, 71, 73, 74, 74, 75, 78, 83, 86, 87,
+  91, 94, 95, 95, 94, 91, 87, 84, 82, 86, 100, 122, 142, 159, 168, 207,
+  227, 225, 218, 208, 224, 187, 179, 189, 230, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 57,
+  42, 47, 52, 46, 47, 36, 37, 39, 40, 39, 40, 40, 41, 45, 41, 42,
+  44, 44, 46, 46, 46, 46, 41, 41, 43, 46, 47, 47, 46, 46, 47, 47,
+  44, 42, 42, 42, 43, 46, 48, 49, 49, 48, 48, 49, 49, 50, 49, 50,
+  51, 52, 52, 52, 51, 51, 52, 52, 52, 52, 52, 52, 51, 51, 52, 52,
+  53, 54, 56, 57, 58, 59, 62, 63, 64, 63, 61, 61, 63, 65, 61, 61,
+  61, 62, 64, 68, 71, 73, 75, 75, 75, 75, 75, 77, 82, 85, 89, 95,
+  100, 101, 103, 103, 100, 95, 97, 93, 91, 97, 107, 120, 135, 147, 174, 220,
+  242, 224, 222, 249, 225, 209, 157, 217, 242, 250, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 189, 59, 39,
+  50, 56, 42, 46, 43, 38, 40, 41, 41, 39, 39, 41, 44, 40, 41, 42,
+  43, 44, 46, 46, 46, 39, 40, 41, 42, 44, 43, 43, 43, 45, 45, 45,
+  45, 44, 45, 43, 44, 48, 49, 49, 48, 48, 49, 49, 50, 47, 49, 52,
+  54, 54, 53, 51, 49, 50, 51, 51, 51, 51, 51, 51, 51, 53, 54, 54,
+  55, 56, 57, 58, 59, 56, 57, 58, 58, 57, 57, 60, 62, 64, 62, 61,
+  60, 62, 66, 71, 73, 75, 75, 74, 72, 72, 73, 78, 81, 83, 90, 94,
+  94, 97, 102, 102, 98, 104, 108, 114, 119, 116, 112, 117, 127, 150, 180, 232,
+  242, 245, 229, 222, 248, 228, 185, 171, 236, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 60, 62, 36, 45,
+  49, 31, 42, 49, 39, 41, 43, 42, 40, 39, 40, 42, 39, 40, 40, 41,
+  42, 44, 45, 44, 41, 41, 40, 42, 42, 41, 41, 40, 42, 44, 47, 48,
+  48, 47, 44, 43, 49, 49, 49, 48, 48, 49, 49, 50, 46, 48, 52, 55,
+  55, 53, 50, 48, 51, 51, 51, 52, 52, 53, 53, 53, 55, 55, 56, 57,
+  57, 58, 59, 59, 56, 58, 59, 59, 59, 60, 62, 65, 67, 65, 61, 60,
+  61, 65, 69, 73, 73, 73, 71, 69, 68, 70, 74, 77, 76, 81, 84, 83,
+  87, 96, 100, 98, 96, 100, 110, 118, 118, 115, 122, 132, 143, 140, 184, 208,
+  236, 209, 202, 229, 251, 219, 203, 203, 244, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 56, 44, 35, 40, 47,
+  49, 43, 39, 41, 47, 47, 41, 43, 50, 47, 38, 32, 38, 46, 53, 57,
+  59, 60, 62, 61, 67, 69, 57, 43, 37, 36, 37, 45, 46, 48, 49, 49,
+  48, 47, 45, 48, 48, 48, 49, 49, 50, 50, 50, 49, 50, 50, 51, 51,
+  50, 50, 49, 51, 52, 54, 56, 56, 54, 52, 51, 51, 52, 54, 54, 53,
+  54, 55, 57, 57, 58, 60, 62, 62, 61, 60, 59, 62, 62, 63, 64, 65,
+  65, 66, 66, 66, 67, 67, 68, 69, 70, 71, 71, 75, 76, 77, 79, 81,
+  84, 87, 90, 90, 94, 100, 106, 111, 118, 125, 129, 151, 161, 125, 126, 183,
+  210, 205, 205, 216, 244, 233, 214, 238, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 192, 75, 61, 49, 47, 49, 45,
+  40, 38, 43, 47, 47, 43, 42, 43, 42, 38, 35, 46, 62, 71, 74, 78,
+  84, 90, 76, 82, 85, 81, 75, 66, 55, 46, 45, 45, 46, 48, 52, 56,
+  55, 55, 49, 48, 48, 49, 49, 49, 50, 50, 50, 51, 52, 53, 53, 52,
+  51, 50, 51, 53, 54, 56, 56, 54, 53, 51, 50, 52, 54, 54, 53, 53,
+  55, 57, 57, 58, 58, 59, 60, 60, 59, 59, 62, 62, 62, 62, 62, 62,
+  61, 61, 69, 69, 69, 69, 69, 70, 70, 70, 74, 75, 76, 79, 81, 84,
+  86, 88, 90, 93, 94, 96, 100, 106, 114, 118, 146, 151, 141, 129, 141, 179,
+  205, 197, 214, 240, 246, 241, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 85, 67, 56, 46, 44, 44, 42, 42,
+  46, 49, 48, 48, 47, 42, 40, 41, 47, 60, 72, 85, 90, 86, 85, 91,
+  97, 85, 88, 91, 92, 93, 90, 77, 63, 52, 48, 44, 45, 51, 57, 58,
+  56, 50, 48, 48, 48, 49, 49, 49, 50, 50, 51, 53, 55, 55, 53, 51,
+  50, 52, 53, 54, 55, 55, 54, 53, 52, 50, 52, 54, 54, 53, 53, 55,
+  57, 57, 57, 57, 57, 57, 58, 59, 60, 62, 63, 63, 63, 63, 64, 64,
+  64, 72, 71, 70, 70, 69, 69, 70, 70, 73, 74, 77, 79, 82, 84, 85,
+  86, 88, 88, 89, 89, 91, 98, 105, 111, 104, 114, 150, 154, 144, 187, 216,
+  187, 227, 232, 244, 251, 250, 242, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 199, 53, 49, 43, 39, 40, 40, 42, 45, 52,
+  51, 47, 48, 51, 47, 42, 50, 62, 86, 89, 93, 92, 84, 81, 83, 87,
+  88, 88, 85, 86, 91, 95, 91, 83, 67, 57, 46, 43, 48, 53, 53, 50,
+  49, 47, 48, 48, 48, 49, 49, 49, 49, 51, 53, 55, 55, 53, 51, 49,
+  51, 51, 52, 53, 53, 52, 51, 51, 52, 54, 55, 56, 55, 55, 57, 59,
+  59, 58, 57, 56, 57, 58, 60, 61, 57, 58, 60, 62, 64, 66, 68, 69,
+  71, 70, 69, 69, 69, 70, 71, 72, 74, 75, 78, 81, 83, 84, 85, 86,
+  86, 88, 89, 91, 94, 99, 106, 111, 107, 98, 123, 135, 146, 199, 230, 219,
+  231, 210, 220, 243, 247, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 99, 40, 51, 48, 46, 46, 45, 42, 43, 47, 49,
+  43, 45, 50, 51, 51, 61, 76, 91, 89, 85, 82, 81, 81, 83, 85, 90,
+  93, 90, 87, 89, 95, 97, 96, 82, 68, 53, 45, 46, 51, 52, 49, 49,
+  47, 47, 48, 48, 48, 49, 49, 48, 49, 51, 53, 53, 51, 49, 48, 49,
+  50, 50, 50, 50, 50, 50, 49, 54, 56, 57, 57, 57, 57, 59, 60, 60,
+  60, 58, 58, 58, 60, 61, 62, 55, 56, 58, 60, 62, 64, 66, 66, 68,
+  68, 67, 67, 69, 71, 74, 75, 76, 77, 79, 81, 83, 85, 86, 86, 86,
+  89, 93, 96, 99, 102, 105, 108, 116, 107, 113, 123, 158, 191, 200, 233, 227,
+  198, 205, 237, 252, 255, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 53, 54, 51, 47, 45, 47, 46, 43, 42, 45, 42, 41,
+  43, 47, 54, 60, 72, 83, 94, 88, 82, 80, 81, 84, 84, 85, 90, 98,
+  100, 95, 91, 90, 91, 90, 90, 77, 60, 49, 48, 52, 55, 55, 48, 47,
+  47, 47, 48, 48, 48, 48, 49, 50, 50, 50, 50, 50, 50, 49, 50, 50,
+  50, 50, 50, 50, 50, 50, 54, 56, 57, 58, 57, 57, 59, 61, 60, 60,
+  59, 59, 60, 61, 61, 62, 64, 64, 64, 65, 65, 65, 66, 66, 66, 66,
+  65, 65, 67, 71, 74, 76, 78, 78, 78, 79, 81, 83, 85, 86, 88, 91,
+  95, 97, 98, 99, 100, 101, 106, 116, 128, 135, 175, 181, 168, 231, 246, 219,
+  208, 223, 242, 254, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 52, 19, 57, 50, 43, 40, 42, 44, 43, 45, 45, 41, 41, 45,
+  47, 56, 71, 83, 87, 88, 85, 83, 83, 82, 82, 83, 85, 93, 100, 101,
+  97, 90, 88, 85, 82, 93, 81, 64, 51, 45, 48, 54, 57, 47, 46, 47,
+  47, 47, 48, 48, 48, 52, 51, 50, 50, 50, 50, 51, 52, 52, 52, 51,
+  51, 51, 51, 52, 52, 52, 54, 56, 56, 55, 55, 57, 59, 58, 58, 59,
+  60, 60, 60, 60, 60, 67, 67, 67, 67, 66, 66, 66, 66, 67, 66, 64,
+  64, 65, 69, 72, 74, 78, 77, 75, 75, 77, 80, 83, 86, 86, 89, 92,
+  94, 95, 95, 98, 101, 113, 117, 127, 119, 154, 171, 167, 238, 248, 239, 216,
+  206, 221, 240, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 49, 82, 89, 61, 52, 43, 41, 42, 41, 41, 42, 43, 48, 49, 48,
+  60, 79, 90, 89, 68, 72, 79, 82, 82, 82, 86, 92, 99, 101, 99, 92,
+  90, 90, 89, 87, 95, 84, 66, 49, 41, 41, 47, 51, 46, 46, 46, 47,
+  47, 48, 48, 48, 55, 54, 52, 51, 51, 52, 54, 56, 54, 53, 53, 52,
+  52, 53, 53, 54, 51, 52, 54, 54, 54, 54, 55, 57, 54, 55, 57, 59,
+  60, 59, 58, 57, 57, 58, 58, 59, 59, 60, 61, 61, 68, 67, 65, 63,
+  64, 66, 70, 72, 77, 75, 73, 72, 73, 77, 82, 85, 83, 84, 88, 89,
+  91, 97, 102, 106, 97, 100, 127, 125, 154, 176, 156, 193, 212, 231, 219, 202,
+  214, 229, 236, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 205,
+  71, 53, 46, 52, 40, 36, 45, 48, 41, 36, 37, 42, 41, 49, 57, 68,
+  89, 96, 81, 78, 78, 81, 84, 83, 84, 91, 103, 102, 97, 92, 89, 82,
+  71, 68, 72, 100, 93, 75, 54, 40, 41, 45, 47, 49, 49, 49, 49, 49,
+  50, 50, 51, 52, 53, 52, 52, 53, 53, 55, 55, 52, 52, 52, 53, 52,
+  52, 50, 51, 50, 51, 50, 52, 51, 52, 52, 52, 54, 53, 53, 54, 56,
+  57, 59, 60, 60, 60, 60, 61, 60, 60, 61, 61, 55, 60, 65, 67, 67,
+  66, 68, 71, 67, 68, 72, 75, 73, 72, 78, 87, 87, 87, 87, 85, 84,
+  89, 97, 105, 97, 102, 105, 116, 141, 165, 166, 154, 151, 176, 179, 221, 238,
+  247, 244, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 160, 160,
+  142, 111, 70, 53, 39, 39, 39, 36, 39, 45, 46, 46, 58, 70, 78, 89,
+  94, 83, 89, 86, 89, 92, 91, 90, 93, 101, 105, 100, 93, 86, 76, 70,
+  75, 86, 95, 91, 75, 57, 44, 43, 45, 46, 44, 44, 44, 46, 46, 47,
+  47, 48, 52, 52, 52, 51, 52, 54, 55, 54, 52, 51, 52, 53, 53, 53,
+  52, 52, 54, 54, 55, 55, 56, 56, 56, 56, 53, 53, 54, 54, 56, 58,
+  59, 61, 60, 60, 61, 61, 60, 60, 60, 61, 58, 62, 66, 69, 68, 67,
+  65, 65, 68, 68, 72, 75, 73, 72, 78, 87, 87, 88, 89, 88, 86, 89,
+  95, 101, 99, 101, 102, 109, 130, 155, 163, 156, 161, 189, 189, 226, 240, 253,
+  252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 33, 69,
+  110, 72, 56, 41, 38, 36, 35, 40, 48, 49, 48, 66, 84, 86, 88, 90,
+  84, 93, 89, 88, 92, 93, 89, 88, 91, 96, 101, 105, 101, 88, 77, 77,
+  84, 91, 87, 75, 58, 47, 45, 47, 47, 45, 45, 45, 45, 46, 48, 48,
+  49, 49, 49, 49, 50, 50, 51, 52, 52, 49, 50, 51, 52, 53, 53, 53,
+  52, 51, 52, 52, 52, 53, 53, 53, 53, 54, 53, 53, 55, 56, 59, 60,
+  62, 60, 61, 60, 60, 60, 61, 61, 61, 63, 64, 66, 68, 69, 67, 63,
+  60, 69, 69, 72, 75, 74, 73, 78, 86, 84, 87, 89, 89, 86, 87, 89,
+  92, 97, 98, 98, 100, 118, 143, 158, 160, 173, 202, 198, 223, 231, 247, 247,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 59, 28, 27, 45,
+  55, 47, 40, 39, 38, 37, 39, 43, 51, 49, 68, 89, 88, 84, 87, 86,
+  91, 85, 83, 90, 92, 89, 83, 80, 77, 82, 87, 89, 85, 81, 82, 86,
+  92, 88, 76, 58, 47, 46, 49, 49, 45, 46, 46, 47, 48, 48, 49, 50,
+  48, 48, 48, 48, 48, 49, 50, 51, 48, 49, 51, 52, 53, 54, 54, 54,
+  51, 51, 51, 52, 52, 52, 53, 53, 54, 54, 55, 55, 57, 58, 61, 62,
+  61, 61, 61, 60, 61, 61, 62, 62, 66, 65, 63, 64, 67, 68, 65, 61,
+  71, 69, 71, 74, 74, 72, 77, 83, 80, 84, 88, 89, 86, 84, 84, 86,
+  92, 93, 93, 94, 108, 131, 150, 158, 192, 220, 213, 229, 232, 249, 252, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 41, 35, 48, 56, 49, 45,
+  43, 41, 41, 40, 36, 39, 41, 53, 51, 70, 90, 88, 84, 89, 91, 90,
+  84, 84, 92, 97, 93, 85, 81, 73, 68, 61, 59, 66, 81, 96, 105, 96,
+  92, 78, 59, 48, 48, 50, 50, 42, 42, 43, 43, 44, 45, 46, 46, 47,
+  47, 47, 47, 47, 48, 49, 51, 49, 50, 51, 53, 54, 54, 54, 54, 55,
+  55, 56, 56, 56, 57, 57, 57, 55, 55, 56, 56, 58, 59, 62, 62, 61,
+  61, 61, 62, 62, 61, 62, 62, 68, 64, 60, 60, 64, 68, 68, 67, 71,
+  69, 69, 72, 73, 71, 75, 80, 79, 83, 88, 90, 88, 86, 87, 88, 86,
+  90, 91, 94, 103, 120, 139, 149, 171, 201, 195, 215, 220, 239, 248, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 72, 50, 44, 45, 40, 47, 46,
+  43, 39, 36, 37, 42, 47, 59, 58, 75, 90, 88, 90, 94, 92, 83, 79,
+  81, 89, 94, 91, 83, 81, 91, 86, 79, 76, 83, 96, 102, 103, 96, 92,
+  81, 63, 52, 50, 52, 51, 47, 46, 47, 47, 47, 47, 47, 48, 47, 48,
+  48, 48, 48, 49, 50, 50, 50, 51, 52, 53, 54, 54, 54, 53, 55, 55,
+  55, 55, 56, 56, 56, 57, 56, 56, 56, 57, 58, 60, 61, 63, 62, 62,
+  61, 62, 62, 63, 62, 63, 66, 63, 60, 60, 63, 67, 70, 71, 71, 68,
+  67, 70, 71, 70, 72, 76, 79, 83, 88, 91, 90, 90, 94, 97, 90, 92,
+  92, 94, 100, 112, 127, 137, 133, 162, 162, 193, 204, 221, 236, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 189, 60, 61, 53, 42, 29, 40, 44, 43,
+  38, 35, 39, 48, 53, 60, 64, 82, 91, 90, 94, 96, 85, 75, 73, 75,
+  83, 87, 83, 78, 77, 91, 97, 101, 102, 103, 105, 99, 91, 91, 90, 83,
+  69, 59, 55, 53, 51, 54, 53, 52, 52, 51, 50, 50, 50, 48, 49, 49,
+  49, 49, 51, 52, 52, 51, 51, 52, 53, 53, 52, 52, 51, 52, 52, 52,
+  52, 53, 53, 54, 54, 56, 56, 56, 57, 57, 60, 61, 62, 60, 60, 61,
+  61, 62, 63, 63, 64, 61, 63, 64, 65, 65, 66, 68, 69, 71, 66, 65,
+  68, 69, 68, 70, 73, 76, 80, 84, 87, 89, 92, 99, 104, 100, 98, 95,
+  94, 96, 104, 115, 123, 119, 145, 148, 188, 197, 207, 223, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 81, 51, 31, 45, 55, 38, 26, 35, 41, 41,
+  39, 43, 50, 53, 60, 68, 83, 90, 90, 97, 94, 78, 73, 72, 74, 82,
+  84, 80, 76, 76, 66, 77, 85, 86, 90, 96, 97, 95, 85, 87, 84, 74,
+  65, 61, 56, 51, 53, 54, 53, 52, 50, 49, 48, 48, 51, 51, 50, 50,
+  51, 51, 52, 53, 52, 51, 52, 52, 52, 51, 50, 50, 54, 54, 55, 55,
+  55, 56, 56, 57, 57, 57, 57, 57, 58, 59, 60, 62, 60, 60, 61, 62,
+  61, 62, 63, 64, 58, 63, 68, 69, 67, 65, 65, 66, 70, 66, 64, 67,
+  68, 67, 68, 71, 72, 75, 80, 82, 85, 90, 100, 106, 110, 104, 97, 94,
+  94, 98, 107, 115, 105, 127, 129, 169, 174, 175, 187, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 99, 49, 38, 43, 41, 44, 37, 35, 35, 37, 38,
+  41, 51, 59, 69, 71, 79, 88, 90, 88, 89, 95, 76, 73, 73, 80, 81,
+  77, 73, 73, 78, 72, 75, 86, 93, 91, 86, 86, 84, 83, 78, 70, 65,
+  61, 58, 55, 57, 56, 53, 52, 53, 54, 53, 52, 51, 52, 53, 55, 55,
+  55, 54, 53, 49, 46, 51, 60, 61, 56, 54, 57, 57, 54, 54, 57, 57,
+  55, 55, 58, 58, 58, 58, 60, 61, 61, 59, 57, 61, 58, 55, 58, 62,
+  63, 60, 56, 61, 62, 63, 63, 61, 61, 62, 63, 65, 66, 68, 70, 70,
+  70, 68, 67, 66, 71, 78, 80, 79, 80, 86, 92, 101, 100, 98, 100, 97,
+  96, 102, 111, 104, 102, 106, 128, 151, 154, 160, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 209, 49, 46, 62, 43, 28, 42, 41, 39, 39, 44, 49, 55,
+  64, 72, 73, 74, 80, 88, 90, 86, 87, 90, 86, 76, 67, 69, 75, 78,
+  78, 79, 79, 77, 81, 92, 97, 95, 90, 89, 83, 81, 76, 69, 63, 59,
+  56, 55, 58, 58, 56, 55, 55, 53, 49, 46, 51, 51, 51, 51, 52, 52,
+  52, 51, 52, 49, 52, 58, 59, 54, 52, 54, 53, 51, 52, 57, 58, 55,
+  56, 59, 59, 59, 58, 60, 62, 61, 60, 57, 63, 61, 60, 62, 65, 67,
+  64, 62, 63, 65, 65, 64, 62, 61, 62, 63, 67, 67, 67, 67, 67, 68,
+  69, 69, 68, 72, 76, 77, 76, 77, 81, 84, 94, 94, 97, 99, 97, 94,
+  97, 104, 105, 102, 99, 114, 139, 147, 150, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 165, 151, 80, 24, 31, 48, 39, 41, 36, 37, 45, 55, 62, 71,
+  77, 81, 77, 80, 87, 90, 86, 84, 84, 94, 80, 67, 68, 75, 79, 81,
+  81, 81, 83, 91, 101, 102, 97, 92, 91, 80, 79, 73, 69, 63, 57, 54,
+  54, 48, 50, 51, 54, 56, 56, 53, 51, 52, 51, 50, 50, 49, 50, 50,
+  50, 54, 51, 52, 55, 55, 52, 51, 53, 51, 50, 53, 58, 60, 57, 57,
+  61, 61, 61, 61, 63, 64, 64, 61, 58, 58, 58, 58, 60, 61, 62, 62,
+  63, 65, 66, 67, 66, 64, 62, 63, 64, 68, 67, 65, 64, 65, 66, 69,
+  70, 71, 72, 73, 75, 77, 79, 81, 82, 83, 86, 93, 99, 98, 94, 95,
+  101, 109, 108, 100, 106, 131, 144, 148, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 60, 51, 85, 76, 41, 35, 46, 40, 36, 36, 46, 57, 66, 74, 78,
+  84, 80, 81, 88, 91, 89, 85, 83, 94, 85, 77, 76, 77, 77, 78, 79,
+  87, 93, 102, 108, 106, 99, 93, 90, 80, 76, 72, 69, 63, 57, 54, 55,
+  46, 48, 48, 51, 55, 57, 55, 54, 54, 54, 51, 51, 50, 51, 51, 51,
+  54, 53, 52, 53, 53, 52, 53, 54, 54, 53, 56, 61, 63, 60, 60, 63,
+  65, 65, 64, 65, 67, 65, 62, 60, 55, 56, 58, 58, 57, 57, 60, 62,
+  63, 64, 66, 65, 64, 63, 64, 66, 67, 66, 65, 65, 65, 67, 68, 69,
+  71, 71, 72, 76, 81, 85, 87, 87, 81, 84, 91, 98, 98, 95, 96, 103,
+  103, 109, 106, 107, 126, 143, 151, 191, 255, 255, 255, 255, 255, 255, 255, 60,
+  45, 42, 40, 31, 43, 54, 41, 42, 39, 43, 56, 69, 77, 84, 87, 84,
+  80, 81, 88, 94, 93, 89, 89, 95, 91, 85, 80, 73, 69, 72, 80, 96,
+  103, 110, 111, 107, 100, 93, 87, 83, 77, 72, 71, 66, 58, 54, 59, 60,
+  58, 54, 52, 51, 53, 52, 52, 56, 56, 54, 54, 53, 53, 54, 54, 54,
+  55, 54, 54, 54, 57, 58, 59, 61, 60, 61, 67, 67, 66, 64, 68, 70,
+  71, 71, 72, 72, 71, 67, 64, 62, 62, 62, 61, 59, 59, 62, 63, 60,
+  61, 63, 64, 63, 64, 66, 68, 65, 66, 67, 68, 69, 68, 67, 67, 71,
+  71, 73, 77, 82, 86, 87, 87, 91, 92, 95, 98, 95, 92, 94, 101, 90,
+  105, 108, 110, 124, 141, 155, 172, 255, 255, 255, 255, 255, 255, 255, 78, 55,
+  44, 44, 41, 38, 39, 34, 40, 41, 50, 65, 78, 85, 89, 94, 84, 81,
+  84, 91, 95, 95, 94, 96, 100, 96, 88, 78, 65, 63, 72, 86, 103, 108,
+  111, 109, 104, 100, 93, 86, 86, 79, 75, 75, 70, 61, 59, 63, 66, 63,
+  57, 56, 57, 60, 62, 63, 60, 60, 61, 63, 62, 62, 61, 61, 57, 61,
+  60, 59, 59, 64, 64, 63, 67, 66, 66, 72, 73, 73, 73, 79, 80, 79,
+  79, 80, 80, 79, 75, 73, 71, 68, 66, 62, 62, 60, 61, 61, 58, 61,
+  63, 64, 63, 64, 65, 67, 65, 66, 69, 70, 71, 70, 68, 67, 73, 74,
+  76, 78, 80, 81, 83, 84, 100, 98, 98, 97, 93, 89, 92, 99, 92, 106,
+  112, 115, 128, 142, 164, 192, 255, 255, 255, 255, 255, 255, 57, 41, 43, 44,
+  48, 49, 39, 37, 50, 44, 48, 59, 73, 81, 83, 85, 89, 83, 83, 87,
+  94, 95, 95, 97, 101, 103, 98, 91, 86, 75, 71, 77, 90, 106, 108, 106,
+  102, 101, 102, 95, 85, 90, 82, 78, 80, 77, 66, 62, 68, 65, 65, 63,
+  65, 69, 73, 76, 78, 68, 71, 73, 76, 77, 77, 74, 74, 65, 71, 70,
+  68, 67, 71, 70, 68, 72, 70, 70, 76, 79, 81, 85, 91, 90, 89, 89,
+  89, 90, 87, 84, 81, 82, 77, 72, 67, 66, 66, 63, 61, 63, 65, 66,
+  65, 64, 63, 64, 66, 68, 68, 69, 70, 70, 70, 70, 70, 73, 76, 80,
+  80, 80, 81, 83, 87, 95, 94, 95, 95, 93, 89, 92, 98, 105, 110, 111,
+  116, 130, 143, 169, 205, 255, 255, 255, 255, 255, 255, 78, 43, 58, 49, 36,
+  48, 50, 45, 49, 53, 58, 70, 82, 84, 81, 81, 84, 84, 85, 90, 96,
+  95, 94, 98, 104, 102, 99, 99, 99, 93, 86, 85, 89, 107, 106, 102, 97,
+  99, 103, 97, 87, 94, 84, 80, 82, 78, 67, 63, 71, 74, 72, 72, 73,
+  76, 78, 77, 76, 78, 80, 84, 88, 90, 89, 87, 86, 71, 77, 77, 72,
+  71, 74, 73, 68, 73, 70, 71, 77, 82, 87, 92, 100, 96, 95, 94, 95,
+  95, 94, 90, 87, 97, 89, 80, 76, 75, 75, 70, 65, 67, 69, 69, 68,
+  65, 64, 63, 65, 72, 71, 69, 68, 68, 69, 71, 72, 71, 76, 82, 84,
+  83, 84, 89, 95, 82, 84, 88, 93, 93, 91, 95, 103, 112, 107, 102, 110,
+  126, 139, 167, 205, 255, 255, 255, 255, 255, 184, 64, 48, 50, 50, 51, 56,
+  62, 63, 60, 72, 72, 75, 78, 81, 85, 87, 88, 85, 84, 86, 91, 95,
+  97, 93, 92, 93, 99, 102, 96, 92, 93, 96, 97, 102, 98, 94, 94, 95,
+  96, 94, 92, 92, 92, 90, 85, 79, 76, 75, 75, 75, 77, 79, 80, 81,
+  82, 83, 83, 92, 95, 94, 91, 94, 101, 100, 94, 87, 86, 84, 83, 82,
+  82, 81, 81, 84, 87, 90, 91, 90, 91, 95, 98, 109, 108, 107, 104, 101,
+  96, 91, 88, 89, 91, 90, 84, 75, 68, 64, 64, 66, 64, 63, 66, 68,
+  65, 63, 63, 60, 65, 70, 73, 71, 70, 70, 72, 74, 76, 81, 84, 86,
+  89, 94, 98, 94, 92, 90, 91, 94, 96, 96, 95, 98, 96, 99, 108, 119,
+  129, 144, 156, 255, 255, 255, 255, 255, 53, 72, 57, 60, 61, 61, 64, 70,
+  70, 66, 76, 77, 79, 82, 86, 89, 91, 90, 88, 87, 87, 90, 94, 97,
+  94, 93, 90, 97, 100, 95, 92, 94, 97, 99, 98, 96, 92, 92, 94, 96,
+  95, 94, 97, 93, 87, 84, 84, 84, 82, 80, 82, 83, 85, 86, 87, 88,
+  88, 89, 93, 96, 95, 93, 96, 102, 102, 97, 96, 94, 94, 93, 94, 94,
+  95, 95, 98, 101, 103, 104, 103, 104, 106, 109, 108, 108, 107, 106, 102, 99,
+  95, 94, 92, 94, 93, 88, 81, 73, 69, 69, 61, 59, 59, 65, 68, 69,
+  69, 71, 66, 67, 67, 68, 67, 68, 69, 70, 72, 73, 77, 79, 82, 89,
+  96, 100, 100, 95, 90, 93, 98, 101, 100, 97, 97, 96, 100, 108, 115, 123,
+  132, 139, 255, 255, 255, 255, 67, 63, 74, 65, 69, 70, 71, 75, 79, 78,
+  73, 77, 78, 80, 82, 85, 87, 88, 87, 91, 89, 87, 89, 92, 94, 94,
+  94, 92, 98, 99, 94, 90, 93, 96, 96, 93, 93, 91, 92, 94, 96, 97,
+  96, 100, 93, 85, 85, 91, 94, 91, 88, 88, 90, 90, 92, 93, 93, 93,
+  93, 95, 98, 97, 96, 99, 104, 104, 100, 101, 100, 100, 101, 102, 104, 106,
+  107, 104, 106, 108, 109, 108, 108, 110, 112, 108, 108, 108, 108, 107, 104, 103,
+  102, 102, 102, 102, 98, 91, 86, 81, 80, 68, 65, 63, 66, 67, 65, 64,
+  65, 70, 67, 63, 62, 63, 66, 69, 71, 71, 71, 72, 72, 76, 83, 90,
+  97, 103, 98, 93, 94, 98, 103, 103, 101, 102, 102, 105, 112, 115, 116, 120,
+  126, 255, 255, 255, 255, 69, 67, 69, 70, 74, 76, 77, 80, 83, 80, 75,
+  80, 80, 81, 83, 85, 86, 86, 86, 91, 89, 87, 86, 88, 90, 91, 93,
+  97, 100, 100, 93, 89, 90, 91, 90, 91, 91, 91, 93, 95, 97, 99, 99,
+  98, 94, 90, 91, 95, 97, 95, 92, 92, 93, 93, 94, 95, 95, 94, 94,
+  97, 97, 98, 98, 100, 104, 103, 101, 99, 99, 99, 100, 101, 102, 105, 106,
+  104, 104, 106, 106, 106, 106, 106, 107, 107, 107, 107, 108, 108, 108, 107, 107,
+  104, 105, 103, 100, 96, 91, 87, 86, 77, 71, 66, 67, 66, 62, 61, 62,
+  70, 66, 61, 60, 63, 68, 70, 70, 72, 72, 72, 73, 74, 77, 82, 86,
+  98, 95, 93, 92, 92, 96, 100, 103, 108, 107, 110, 116, 119, 121, 125, 130,
+  255, 255, 255, 88, 81, 71, 71, 75, 78, 80, 80, 81, 84, 81, 76, 85,
+  86, 87, 88, 88, 89, 90, 90, 90, 89, 86, 84, 84, 85, 87, 89, 94,
+  97, 96, 91, 89, 91, 91, 89, 90, 92, 93, 95, 97, 98, 100, 101, 93,
+  95, 96, 97, 97, 95, 94, 94, 94, 95, 95, 96, 96, 96, 95, 94, 98,
+  97, 97, 100, 102, 103, 103, 103, 100, 100, 99, 99, 99, 99, 100, 101, 108,
+  107, 108, 108, 109, 109, 109, 108, 105, 105, 105, 107, 107, 108, 108, 109, 101,
+  100, 100, 99, 96, 93, 89, 87, 77, 71, 66, 67, 67, 65, 66, 68, 66,
+  64, 62, 64, 68, 71, 71, 69, 71, 74, 77, 79, 79, 79, 81, 84, 87,
+  90, 92, 88, 84, 84, 93, 101, 109, 108, 112, 120, 126, 132, 139, 147, 255,
+  255, 255, 78, 89, 78, 80, 81, 83, 84, 82, 83, 86, 84, 79, 85, 85,
+  86, 87, 87, 88, 89, 89, 89, 88, 87, 84, 82, 81, 83, 85, 86, 90,
+  91, 89, 90, 95, 96, 93, 91, 94, 96, 97, 97, 98, 99, 101, 91, 95,
+  98, 99, 97, 94, 94, 96, 98, 98, 98, 99, 99, 98, 96, 96, 100, 96,
+  97, 102, 104, 103, 102, 104, 104, 104, 103, 102, 101, 101, 101, 101, 110, 108,
+  107, 109, 111, 112, 111, 109, 106, 105, 105, 105, 105, 106, 107, 108, 105, 105,
+  103, 103, 102, 101, 97, 95, 89, 81, 74, 72, 68, 64, 65, 67, 66, 65,
+  66, 69, 71, 72, 71, 70, 70, 74, 80, 83, 86, 86, 88, 89, 80, 86,
+  88, 86, 80, 81, 89, 97, 104, 104, 111, 123, 132, 141, 153, 162, 255, 255,
+  198, 80, 88, 85, 86, 85, 86, 85, 82, 84, 87, 85, 81, 82, 82, 82,
+  83, 85, 86, 86, 87, 89, 89, 89, 85, 81, 81, 82, 85, 84, 86, 87,
+  86, 90, 96, 98, 96, 91, 94, 97, 97, 96, 95, 96, 98, 96, 95, 93,
+  94, 96, 98, 99, 99, 99, 99, 99, 99, 98, 97, 96, 95, 103, 98, 98,
+  104, 107, 106, 105, 108, 105, 104, 103, 102, 102, 102, 102, 103, 105, 104, 103,
+  105, 109, 110, 109, 106, 108, 106, 106, 105, 105, 106, 106, 107, 110, 109, 107,
+  109, 110, 109, 105, 102, 106, 97, 84, 78, 71, 64, 62, 63, 70, 71, 72,
+  73, 71, 70, 71, 72, 70, 73, 78, 81, 83, 85, 88, 90, 81, 83, 84,
+  85, 84, 86, 89, 93, 99, 102, 112, 128, 139, 149, 161, 198, 255, 255, 90,
+  90, 84, 88, 83, 87, 87, 84, 81, 82, 86, 85, 81, 84, 85, 85, 86,
+  88, 89, 89, 90, 89, 91, 90, 88, 83, 81, 82, 85, 85, 87, 87, 86,
+  90, 95, 97, 94, 91, 94, 97, 97, 94, 92, 93, 95, 101, 95, 88, 89,
+  96, 102, 104, 103, 98, 98, 98, 97, 95, 95, 94, 93, 106, 100, 99, 105,
+  109, 107, 106, 110, 101, 101, 100, 100, 100, 100, 101, 102, 104, 102, 102, 104,
+  107, 110, 109, 105, 109, 107, 107, 106, 105, 104, 106, 106, 107, 106, 105, 106,
+  108, 107, 103, 100, 106, 96, 86, 79, 75, 71, 69, 72, 74, 75, 76, 74,
+  70, 68, 70, 73, 72, 73, 75, 76, 77, 78, 82, 86, 87, 84, 82, 85,
+  91, 94, 92, 90, 97, 102, 114, 132, 145, 153, 163, 255, 255, 255, 84, 83,
+  90, 92, 88, 84, 85, 87, 86, 84, 82, 82, 83, 82, 83, 83, 86, 89,
+  90, 89, 87, 86, 86, 87, 87, 87, 87, 87, 87, 88, 90, 92, 94, 95,
+  98, 99, 99, 90, 95, 100, 103, 103, 101, 98, 97, 94, 90, 90, 95, 97,
+  95, 97, 103, 101, 100, 100, 101, 102, 101, 101, 101, 102, 102, 101, 103, 105,
+  107, 106, 105, 103, 102, 101, 100, 101, 101, 101, 102, 106, 102, 98, 99, 103,
+  106, 107, 106, 101, 102, 105, 107, 105, 102, 105, 111, 106, 108, 108, 110, 109,
+  110, 109, 108, 103, 106, 103, 95, 89, 85, 80, 74, 76, 76, 75, 74, 72,
+  70, 70, 69, 65, 77, 80, 75, 77, 88, 89, 79, 78, 85, 81, 77, 83,
+  88, 96, 110, 101, 100, 111, 142, 165, 162, 162, 255, 255, 255, 83, 88, 87,
+  84, 88, 84, 85, 86, 86, 84, 82, 82, 83, 84, 84, 84, 87, 90, 91,
+  89, 87, 86, 87, 86, 87, 86, 87, 87, 87, 89, 90, 92, 94, 96, 96,
+  97, 96, 95, 95, 93, 92, 91, 94, 99, 103, 96, 92, 91, 96, 97, 95,
+  96, 101, 98, 98, 98, 98, 98, 99, 99, 99, 102, 100, 99, 101, 104, 105,
+  105, 104, 103, 103, 102, 102, 103, 102, 102, 102, 109, 107, 105, 105, 109, 111,
+  110, 108, 109, 105, 104, 107, 107, 104, 103, 105, 108, 108, 109, 108, 108, 107,
+  106, 106, 105, 107, 104, 96, 93, 93, 91, 88, 85, 84, 82, 80, 76, 74,
+  69, 66, 72, 80, 82, 79, 82, 91, 92, 88, 82, 90, 87, 82, 90, 96,
+  105, 119, 122, 128, 128, 139, 169, 186, 204, 255, 255, 146, 82, 92, 85, 76,
+  87, 83, 85, 86, 86, 84, 82, 82, 83, 84, 84, 85, 88, 89, 90, 88,
+  86, 88, 87, 86, 85, 85, 86, 87, 88, 89, 90, 93, 95, 96, 95, 93,
+  92, 97, 96, 92, 89, 89, 93, 99, 105, 98, 95, 94, 96, 96, 95, 96,
+  99, 98, 97, 98, 98, 98, 98, 99, 99, 102, 100, 100, 102, 105, 106, 105,
+  104, 102, 103, 104, 105, 105, 103, 103, 102, 107, 105, 104, 105, 107, 108, 108,
+  105, 113, 105, 101, 105, 108, 106, 103, 102, 107, 106, 106, 106, 106, 106, 107,
+  108, 106, 108, 105, 100, 99, 103, 105, 103, 95, 93, 90, 90, 89, 84, 76,
+  70, 77, 78, 80, 83, 86, 89, 91, 92, 82, 89, 86, 84, 93, 99, 105,
+  119, 121, 133, 136, 148, 175, 192, 255, 255, 255, 156, 84, 92, 86, 74, 83,
+  82, 84, 86, 86, 84, 83, 82, 83, 86, 86, 87, 89, 90, 90, 88, 86,
+  89, 88, 86, 84, 84, 85, 87, 89, 90, 92, 94, 96, 97, 95, 92, 91,
+  93, 96, 98, 100, 99, 99, 99, 100, 97, 96, 95, 96, 97, 97, 98, 100,
+  100, 99, 100, 100, 100, 100, 101, 101, 103, 102, 101, 102, 105, 107, 106, 105,
+  102, 104, 106, 107, 107, 105, 104, 102, 104, 103, 102, 102, 103, 105, 107, 106,
+  107, 103, 100, 105, 108, 107, 105, 107, 105, 104, 104, 105, 106, 108, 110, 111,
+  106, 108, 107, 104, 104, 109, 110, 109, 102, 100, 98, 101, 101, 98, 89, 83,
+  82, 80, 83, 89, 90, 88, 88, 92, 83, 90, 89, 89, 97, 99, 102, 113,
+  106, 118, 136, 162, 181, 177, 255, 255, 255, 166, 87, 86, 87, 79, 78, 81,
+  84, 86, 86, 83, 82, 83, 84, 87, 87, 86, 88, 90, 89, 87, 85, 89,
+  87, 85, 84, 83, 85, 87, 88, 92, 93, 95, 96, 95, 94, 92, 90, 91,
+  96, 100, 103, 103, 101, 99, 99, 94, 96, 95, 95, 97, 100, 102, 102, 99,
+  99, 99, 100, 101, 100, 100, 100, 104, 104, 103, 105, 107, 109, 108, 107, 103,
+  104, 106, 107, 108, 106, 104, 102, 105, 104, 102, 101, 101, 104, 108, 111, 106,
+  106, 107, 110, 109, 107, 109, 115, 108, 108, 108, 108, 108, 108, 109, 110, 105,
+  109, 109, 107, 107, 110, 109, 107, 106, 104, 104, 106, 107, 106, 100, 95, 92,
+  89, 91, 94, 94, 89, 85, 88, 87, 96, 96, 97, 106, 105, 103, 110, 108,
+  122, 139, 165, 185, 210, 255, 255, 255, 155, 89, 82, 86, 86, 77, 80, 83,
+  85, 85, 83, 82, 83, 84, 88, 87, 86, 87, 89, 88, 86, 83, 87, 86,
+  85, 85, 84, 85, 86, 87, 92, 93, 93, 93, 93, 93, 91, 90, 92, 95,
+  95, 96, 95, 96, 99, 101, 93, 96, 96, 95, 97, 102, 104, 103, 97, 97,
+  97, 97, 97, 98, 98, 98, 104, 103, 103, 104, 107, 108, 107, 107, 104, 105,
+  106, 106, 107, 106, 104, 103, 103, 102, 101, 99, 97, 98, 102, 106, 108, 109,
+  112, 114, 110, 105, 109, 116, 113, 113, 112, 112, 110, 108, 106, 105, 106, 110,
+  111, 109, 109, 110, 107, 103, 109, 109, 109, 108, 107, 107, 107, 107, 105, 103,
+  100, 93, 89, 84, 81, 79, 88, 96, 95, 98, 107, 109, 108, 114, 120, 140,
+  148, 162, 196, 255, 255, 255, 255, 125, 89, 81, 83, 90, 77, 80, 83, 84,
+  84, 83, 83, 82, 84, 87, 87, 86, 87, 88, 87, 84, 81, 86, 86, 86,
+  85, 86, 85, 85, 85, 91, 90, 89, 89, 88, 89, 90, 91, 92, 93, 92,
+  91, 91, 93, 97, 101, 95, 99, 98, 95, 97, 102, 104, 101, 97, 96, 97,
+  97, 97, 98, 98, 98, 103, 101, 102, 103, 106, 107, 106, 105, 105, 105, 105,
+  105, 104, 104, 104, 104, 101, 102, 103, 101, 96, 93, 92, 94, 105, 104, 105,
+  109, 109, 106, 108, 112, 112, 113, 114, 115, 114, 111, 108, 106, 111, 114, 113,
+  109, 109, 110, 109, 106, 112, 113, 115, 113, 111, 114, 120, 127, 125, 124, 112,
+  94, 84, 85, 85, 80, 87, 93, 91, 95, 108, 116, 120, 131, 137, 159, 169,
+  178, 205, 255, 255, 255, 151, 97, 86, 81, 79, 90, 80, 80, 82, 84, 83,
+  82, 82, 82, 83, 86, 85, 85, 86, 87, 86, 83, 80, 87, 86, 87, 87,
+  87, 86, 84, 84, 89, 88, 86, 85, 84, 86, 89, 90, 89, 92, 94, 95,
+  95, 95, 96, 97, 97, 102, 100, 96, 96, 102, 103, 99, 99, 99, 99, 100,
+  101, 100, 101, 100, 101, 101, 100, 102, 104, 105, 104, 103, 106, 105, 104, 103,
+  103, 103, 103, 105, 104, 108, 110, 109, 102, 95, 90, 88, 97, 92, 92, 100,
+  106, 108, 107, 108, 105, 108, 112, 116, 117, 116, 114, 113, 115, 117, 114, 110,
+  108, 112, 113, 112, 114, 117, 121, 119, 117, 123, 135, 147, 255, 255, 213, 101,
+  88, 94, 97, 88, 91, 95, 93, 97, 114, 127, 137, 151, 155, 173, 190, 207,
+  225, 255, 255, 255, 120, 99, 91, 74, 82, 84, 80, 78, 80, 80, 82, 84,
+  86, 86, 87, 83, 85, 88, 88, 89, 88, 90, 91, 86, 92, 91, 84, 84,
+  92, 94, 89, 89, 85, 84, 87, 87, 86, 89, 93, 87, 92, 95, 98, 98,
+  98, 98, 99, 98, 98, 97, 97, 98, 99, 100, 101, 100, 100, 100, 100, 100,
+  100, 101, 101, 102, 103, 104, 105, 105, 106, 106, 106, 104, 105, 103, 104, 103,
+  102, 101, 100, 97, 100, 102, 104, 102, 98, 93, 91, 79, 86, 86, 82, 92,
+  107, 106, 94, 99, 104, 108, 112, 114, 116, 117, 118, 113, 114, 111, 107, 111,
+  119, 121, 116, 123, 105, 117, 139, 123, 159, 207, 255, 255, 255, 255, 255, 146,
+  94, 79, 87, 94, 109, 110, 110, 129, 149, 160, 169, 182, 201, 216, 254, 255,
+  255, 255, 255, 97, 88, 87, 75, 84, 86, 83, 82, 82, 83, 84, 84, 85,
+  85, 85, 84, 85, 87, 86, 85, 83, 84, 86, 88, 90, 89, 86, 87, 91,
+  92, 90, 90, 86, 84, 87, 87, 86, 88, 94, 89, 93, 96, 97, 97, 97,
+  98, 99, 99, 99, 97, 98, 99, 100, 101, 102, 101, 100, 100, 101, 101, 101,
+  101, 101, 101, 101, 102, 103, 104, 105, 104, 104, 105, 105, 106, 105, 104, 102,
+  100, 99, 95, 96, 98, 102, 104, 105, 103, 103, 95, 95, 87, 79, 81, 91,
+  94, 89, 95, 99, 104, 109, 112, 115, 118, 119, 117, 115, 117, 124, 124, 117,
+  117, 123, 115, 162, 116, 145, 174, 179, 255, 255, 255, 255, 255, 255, 255, 115,
+  108, 109, 103, 113, 113, 117, 137, 161, 175, 181, 195, 219, 224, 255, 255, 255,
+  255, 255, 85, 86, 87, 78, 84, 81, 79, 85, 85, 85, 85, 85, 85, 84,
+  85, 84, 85, 87, 86, 84, 83, 83, 84, 91, 88, 87, 90, 90, 88, 89,
+  92, 90, 86, 85, 88, 88, 86, 88, 93, 92, 95, 96, 96, 94, 95, 98,
+  100, 98, 98, 98, 98, 99, 100, 102, 102, 101, 101, 101, 101, 101, 102, 102,
+  102, 100, 100, 101, 102, 103, 103, 103, 103, 105, 106, 107, 107, 106, 103, 101,
+  99, 87, 87, 87, 92, 100, 108, 111, 111, 106, 100, 91, 82, 78, 79, 83,
+  85, 90, 93, 99, 105, 110, 114, 116, 116, 121, 112, 116, 129, 126, 114, 115,
+  130, 120, 151, 140, 182, 215, 255, 255, 255, 255, 255, 255, 255, 255, 255, 122,
+  127, 117, 121, 122, 127, 149, 179, 195, 198, 187, 218, 250, 255, 255, 255, 255,
+  255, 121, 91, 89, 82, 87, 81, 81, 84, 84, 84, 85, 85, 85, 85, 85,
+  84, 85, 86, 87, 87, 87, 88, 90, 93, 86, 86, 93, 93, 87, 87, 94,
+  90, 87, 86, 89, 88, 87, 88, 93, 95, 96, 97, 96, 94, 95, 98, 100,
+  98, 98, 98, 98, 99, 100, 101, 102, 102, 102, 101, 102, 102, 102, 102, 103,
+  101, 102, 103, 103, 103, 103, 102, 103, 103, 104, 106, 108, 107, 106, 104, 102,
+  88, 84, 82, 85, 95, 103, 107, 108, 114, 109, 104, 99, 91, 81, 78, 81,
+  83, 87, 94, 102, 108, 112, 112, 111, 122, 115, 114, 122, 124, 119, 125, 138,
+  151, 132, 171, 207, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127,
+  124, 125, 128, 136, 155, 189, 209, 208, 189, 202, 243, 241, 249, 255, 255, 255,
+  216, 90, 87, 86, 95, 89, 94, 80, 81, 82, 84, 84, 85, 86, 87, 86,
+  87, 87, 87, 87, 87, 89, 91, 93, 87, 87, 94, 94, 87, 86, 92, 90,
+  87, 86, 89, 89, 87, 88, 92, 95, 96, 96, 95, 93, 94, 97, 100, 97,
+  97, 97, 97, 97, 98, 100, 100, 101, 102, 102, 103, 103, 103, 103, 102, 104,
+  104, 105, 106, 106, 105, 105, 104, 101, 103, 106, 108, 109, 108, 107, 106, 100,
+  94, 89, 86, 87, 90, 91, 92, 106, 108, 110, 112, 105, 90, 79, 77, 75,
+  78, 86, 97, 107, 112, 113, 111, 121, 121, 121, 120, 125, 131, 136, 135, 141,
+  161, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212,
+  125, 135, 146, 158, 191, 216, 215, 199, 238, 210, 202, 255, 255, 255, 255, 255,
+  91, 83, 84, 92, 85, 91, 79, 80, 81, 82, 83, 85, 87, 88, 90, 90,
+  88, 85, 83, 83, 85, 87, 92, 90, 90, 93, 93, 89, 87, 89, 91, 88,
+  87, 90, 90, 87, 87, 90, 94, 95, 96, 96, 95, 95, 98, 100, 98, 98,
+  98, 97, 98, 99, 101, 101, 102, 102, 103, 103, 103, 103, 103, 103, 107, 107,
+  107, 107, 107, 107, 106, 106, 103, 104, 106, 107, 108, 109, 109, 109, 108, 103,
+  96, 86, 78, 72, 69, 69, 72, 80, 90, 99, 102, 99, 91, 86, 75, 76,
+  80, 89, 101, 111, 115, 115, 113, 123, 126, 125, 127, 136, 139, 135, 156, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 217,
+  160, 167, 167, 193, 222, 221, 213, 209, 255, 255, 255, 255, 255, 255, 255, 95,
+  82, 83, 90, 78, 83, 82, 83, 83, 84, 85, 87, 87, 86, 91, 92, 91,
+  88, 84, 84, 86, 88, 89, 93, 93, 91, 90, 91, 90, 86, 91, 88, 89,
+  92, 91, 87, 87, 90, 90, 93, 95, 97, 97, 97, 99, 100, 100, 100, 99,
+  99, 100, 101, 102, 103, 103, 103, 103, 103, 103, 104, 104, 103, 107, 107, 107,
+  108, 108, 108, 107, 106, 108, 107, 107, 107, 107, 107, 108, 109, 107, 106, 102,
+  92, 78, 68, 65, 66, 64, 73, 77, 82, 92, 105, 106, 99, 91, 85, 79,
+  81, 90, 101, 109, 112, 116, 123, 129, 131, 130, 136, 151, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 92, 80,
+  87, 97, 83, 88, 87, 86, 85, 86, 86, 86, 85, 85, 91, 91, 91, 90,
+  88, 89, 93, 95, 88, 95, 96, 90, 88, 93, 91, 84, 91, 89, 89, 92,
+  91, 88, 87, 89, 88, 92, 95, 98, 98, 98, 99, 99, 102, 102, 101, 101,
+  102, 103, 104, 105, 103, 103, 103, 103, 104, 103, 103, 103, 106, 106, 106, 107,
+  107, 107, 106, 106, 113, 111, 108, 106, 105, 105, 107, 108, 107, 111, 110, 103,
+  90, 80, 78, 80, 95, 98, 91, 81, 89, 106, 110, 100, 109, 97, 82, 77,
+  82, 92, 102, 107, 131, 129, 134, 139, 136, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 199, 87, 88,
+  90, 90, 89, 87, 85, 83, 82, 84, 88, 90, 89, 93, 91, 89, 88, 88,
+  89, 91, 92, 95, 95, 94, 94, 93, 92, 90, 89, 86, 91, 94, 95, 92,
+  91, 93, 95, 100, 98, 96, 94, 95, 96, 98, 99, 104, 104, 102, 103, 104,
+  105, 104, 103, 103, 104, 104, 105, 107, 107, 107, 106, 101, 104, 108, 111, 111,
+  110, 106, 104, 111, 110, 107, 105, 104, 103, 104, 105, 106, 107, 105, 103, 100,
+  97, 94, 94, 104, 102, 96, 94, 102, 113, 114, 109, 108, 117, 108, 104, 94,
+  87, 102, 104, 120, 130, 138, 178, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 85, 86, 90,
+  93, 93, 89, 87, 85, 84, 86, 90, 92, 92, 95, 93, 90, 88, 87, 88,
+  89, 90, 95, 94, 92, 91, 91, 93, 93, 94, 91, 91, 91, 92, 94, 95,
+  94, 93, 98, 97, 95, 95, 96, 98, 100, 101, 101, 100, 99, 100, 101, 101,
+  101, 101, 104, 103, 104, 105, 106, 106, 106, 106, 104, 105, 106, 107, 107, 107,
+  106, 106, 108, 108, 105, 104, 102, 102, 101, 103, 105, 104, 102, 99, 96, 93,
+  89, 88, 100, 103, 101, 100, 103, 111, 114, 112, 112, 120, 111, 111, 108, 107,
+  124, 126, 122, 134, 179, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 82, 82, 87, 92,
+  94, 91, 88, 86, 88, 90, 93, 93, 94, 97, 95, 92, 88, 87, 88, 88,
+  89, 95, 93, 91, 90, 90, 93, 96, 99, 95, 91, 88, 90, 95, 98, 96,
+  93, 96, 96, 94, 95, 97, 99, 101, 102, 98, 98, 99, 99, 100, 100, 100,
+  100, 104, 104, 105, 105, 105, 105, 106, 106, 105, 106, 105, 104, 104, 106, 107,
+  108, 106, 106, 103, 103, 101, 101, 101, 101, 101, 102, 100, 98, 96, 95, 92,
+  91, 98, 105, 107, 106, 106, 110, 113, 115, 117, 122, 113, 124, 137, 148, 174,
+  180, 180, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 79, 80, 84, 89, 91,
+  92, 88, 87, 90, 93, 94, 94, 96, 96, 94, 92, 89, 87, 88, 90, 91,
+  94, 94, 93, 92, 92, 94, 96, 97, 96, 94, 91, 91, 94, 96, 97, 96,
+  98, 97, 96, 97, 98, 99, 100, 101, 98, 100, 101, 101, 101, 101, 101, 103,
+  104, 105, 104, 105, 104, 105, 106, 106, 106, 106, 105, 106, 106, 106, 107, 108,
+  106, 106, 105, 103, 103, 102, 101, 102, 99, 100, 101, 103, 104, 104, 103, 103,
+  101, 106, 109, 110, 109, 110, 112, 114, 118, 123, 124, 151, 179, 201, 232, 240,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 81, 85, 88, 87, 91,
+  86, 85, 92, 94, 93, 93, 97, 95, 93, 91, 90, 90, 90, 93, 94, 93,
+  94, 95, 96, 96, 95, 94, 93, 96, 97, 97, 95, 92, 92, 96, 99, 99,
+  99, 97, 97, 97, 97, 97, 97, 97, 99, 100, 101, 99, 99, 102, 104, 105,
+  106, 105, 106, 105, 105, 106, 105, 104, 106, 108, 110, 110, 109, 107, 106, 107,
+  107, 107, 107, 105, 105, 104, 104, 104, 104, 105, 107, 108, 109, 109, 110, 109,
+  108, 107, 110, 111, 112, 111, 111, 117, 131, 146, 190, 225, 240, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 80, 87, 87, 85, 91, 85,
+  84, 93, 96, 93, 93, 98, 95, 93, 92, 90, 91, 92, 94, 96, 92, 94,
+  97, 99, 99, 96, 94, 91, 95, 99, 100, 98, 93, 92, 96, 100, 99, 99,
+  98, 97, 96, 95, 95, 94, 94, 97, 99, 99, 97, 97, 100, 104, 106, 107,
+  106, 105, 105, 105, 105, 105, 103, 105, 108, 109, 109, 109, 107, 105, 107, 108,
+  108, 109, 108, 107, 106, 106, 108, 108, 108, 108, 107, 105, 104, 103, 111, 105,
+  102, 105, 110, 110, 111, 115, 121, 143, 171, 225, 253, 253, 253, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 194, 83, 85, 81, 92, 85, 85,
+  95, 98, 94, 93, 99, 97, 95, 93, 91, 91, 91, 93, 95, 92, 93, 95,
+  97, 98, 98, 97, 96, 97, 98, 99, 99, 97, 96, 96, 96, 97, 96, 96,
+  96, 96, 95, 95, 94, 93, 97, 101, 101, 97, 97, 100, 105, 107, 107, 106,
+  106, 105, 105, 105, 104, 104, 104, 104, 105, 105, 106, 106, 106, 107, 107, 108,
+  110, 108, 108, 107, 106, 107, 107, 107, 107, 105, 103, 102, 100, 106, 102, 100,
+  103, 104, 106, 114, 124, 132, 154, 183, 235, 254, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 78, 81, 78, 93, 85, 85, 96,
+  101, 95, 94, 101, 99, 97, 95, 93, 91, 90, 92, 93, 92, 93, 93, 95,
+  96, 98, 100, 101, 100, 98, 96, 98, 102, 102, 98, 92, 94, 93, 94, 95,
+  96, 96, 96, 95, 96, 100, 104, 104, 100, 99, 104, 109, 106, 106, 106, 106,
+  105, 105, 105, 105, 105, 104, 101, 100, 100, 102, 105, 107, 106, 107, 108, 109,
+  109, 109, 107, 106, 105, 105, 105, 105, 106, 105, 104, 103, 100, 98, 99, 102,
+  100, 102, 116, 134, 142, 160, 182, 229, 253, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 193, 76, 75, 94, 91, 91, 92, 95,
+  95, 97, 98, 94, 100, 99, 91, 83, 88, 97, 103, 93, 94, 95, 96, 97,
+  97, 97, 97, 98, 99, 98, 99, 99, 99, 99, 97, 98, 96, 95, 95, 96,
+  97, 97, 96, 99, 100, 101, 101, 101, 103, 107, 109, 108, 104, 102, 102, 106,
+  108, 107, 106, 99, 103, 106, 107, 104, 103, 105, 108, 104, 104, 104, 107, 110,
+  112, 111, 109, 107, 108, 111, 108, 104, 103, 106, 109, 97, 107, 106, 103, 104,
+  108, 121, 145, 150, 201, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 73, 82, 87, 87, 89, 93, 97, 98,
+  98, 99, 97, 98, 93, 85, 81, 85, 90, 91, 93, 93, 94, 95, 96, 97,
+  97, 97, 100, 99, 99, 99, 99, 100, 99, 98, 100, 98, 96, 97, 98, 99,
+  99, 98, 98, 100, 101, 101, 101, 102, 104, 105, 108, 105, 104, 106, 109, 111,
+  109, 107, 107, 109, 111, 111, 110, 110, 111, 111, 111, 111, 113, 114, 116, 116,
+  115, 114, 111, 110, 109, 108, 107, 106, 104, 102, 101, 105, 102, 103, 106, 108,
+  118, 141, 182, 218, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 110, 83, 78, 82, 87, 92, 97, 99, 100,
+  100, 104, 102, 95, 86, 83, 87, 88, 85, 91, 91, 93, 95, 96, 97, 97,
+  97, 99, 99, 99, 99, 99, 100, 99, 99, 101, 99, 98, 99, 100, 101, 101,
+  100, 100, 102, 104, 104, 103, 103, 104, 104, 107, 106, 107, 109, 111, 112, 110,
+  108, 110, 110, 110, 111, 112, 112, 111, 110, 111, 113, 113, 113, 110, 108, 107,
+  107, 112, 108, 105, 106, 108, 107, 101, 96, 102, 101, 97, 102, 110, 110, 123,
+  150, 197, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 212, 72, 72, 78, 83, 87, 92, 98, 101, 101,
+  105, 105, 99, 89, 84, 85, 86, 85, 91, 91, 93, 95, 97, 98, 99, 99,
+  100, 100, 100, 100, 101, 101, 101, 100, 101, 100, 98, 99, 100, 102, 102, 101,
+  104, 107, 109, 109, 108, 106, 106, 105, 103, 105, 106, 110, 110, 110, 107, 107,
+  112, 110, 108, 110, 112, 114, 110, 106, 109, 109, 108, 104, 98, 94, 93, 94,
+  102, 102, 101, 104, 105, 106, 101, 97, 98, 96, 94, 102, 111, 114, 136, 173,
+  200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 188, 67, 75, 81, 82, 85, 94, 100, 100, 97,
+  101, 99, 88, 79, 79, 83, 86, 89, 91, 94, 96, 99, 101, 101, 102, 100,
+  100, 101, 100, 101, 101, 102, 101, 101, 99, 98, 99, 100, 102, 103, 102, 106,
+  108, 110, 110, 108, 107, 106, 106, 103, 106, 108, 111, 111, 111, 109, 109, 117,
+  115, 112, 114, 115, 117, 112, 109, 107, 104, 99, 92, 86, 83, 82, 83, 87,
+  93, 97, 101, 100, 101, 101, 103, 94, 96, 94, 99, 108, 117, 146, 188, 224,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 189, 69, 77, 78, 81, 92, 97, 98, 95, 101,
+  101, 89, 78, 77, 81, 86, 87, 89, 92, 96, 98, 101, 102, 102, 101, 101,
+  101, 100, 101, 102, 101, 102, 101, 99, 98, 99, 101, 103, 104, 103, 104, 106,
+  107, 107, 105, 104, 105, 106, 106, 110, 113, 114, 113, 112, 113, 113, 115, 114,
+  113, 113, 113, 112, 110, 107, 102, 94, 85, 78, 75, 76, 77, 77, 81, 87,
+  93, 96, 95, 96, 100, 103, 91, 99, 96, 97, 108, 125, 154, 190, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 60, 74, 77, 82, 92, 96, 93, 98, 102, 99,
+  88, 80, 78, 80, 81, 83, 86, 89, 93, 97, 99, 100, 101, 101, 101, 100,
+  101, 101, 102, 103, 103, 102, 101, 100, 101, 103, 105, 106, 105, 104, 105, 106,
+  105, 104, 104, 106, 108, 108, 111, 113, 113, 111, 111, 113, 116, 112, 113, 114,
+  112, 110, 107, 107, 107, 98, 87, 74, 69, 72, 78, 81, 81, 84, 85, 87,
+  89, 90, 92, 93, 95, 89, 99, 98, 99, 119, 144, 168, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 188, 71, 77, 83, 94, 96, 91, 98, 97, 91, 81,
+  75, 75, 72, 69, 80, 83, 86, 90, 95, 97, 98, 100, 101, 101, 101, 101,
+  102, 103, 103, 104, 104, 102, 101, 103, 105, 107, 108, 107, 106, 107, 107, 106,
+  105, 106, 108, 111, 107, 109, 111, 110, 108, 108, 112, 115, 115, 118, 119, 117,
+  113, 109, 110, 111, 102, 89, 75, 70, 78, 88, 93, 93, 91, 87, 84, 85,
+  88, 90, 89, 86, 88, 100, 99, 103, 132, 164, 181, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 186, 71, 83, 84, 87, 94, 86, 87, 87, 85, 79,
+  76, 73, 75, 80, 83, 86, 89, 91, 94, 96, 98, 95, 95, 94, 95, 99,
+  101, 100, 101, 103, 103, 104, 105, 104, 105, 106, 106, 103, 102, 101, 101, 104,
+  108, 113, 115, 108, 112, 115, 113, 108, 108, 113, 118, 113, 111, 111, 113, 111,
+  108, 106, 106, 101, 90, 85, 88, 91, 90, 90, 92, 104, 93, 87, 91, 90,
+  84, 84, 89, 90, 104, 110, 111, 123, 183, 230, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 55, 70, 78, 85, 88, 94, 94, 90, 84, 77, 73,
+  73, 75, 77, 80, 83, 85, 88, 91, 94, 97, 97, 95, 95, 96, 98, 99,
+  98, 99, 103, 104, 104, 105, 104, 105, 105, 105, 103, 103, 102, 103, 105, 108,
+  111, 113, 100, 103, 107, 110, 112, 112, 112, 113, 108, 109, 108, 106, 105, 105,
+  104, 101, 96, 89, 85, 87, 88, 86, 89, 93, 104, 94, 85, 87, 89, 91,
+  91, 94, 98, 102, 103, 114, 145, 213, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 182, 55, 74, 85, 85, 97, 94, 88, 81, 74, 70, 72,
+  75, 73, 75, 77, 80, 84, 89, 92, 94, 98, 97, 96, 96, 97, 97, 97,
+  98, 104, 104, 104, 104, 104, 104, 104, 104, 103, 104, 104, 106, 107, 108, 109,
+  110, 112, 110, 107, 107, 110, 112, 111, 110, 107, 112, 111, 104, 103, 107, 107,
+  100, 102, 99, 98, 98, 96, 96, 102, 108, 104, 99, 90, 85, 89, 96, 98,
+  94, 98, 100, 103, 121, 163, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 185, 69, 85, 88, 89, 87, 84, 78, 72, 71, 71, 74,
+  72, 72, 73, 77, 82, 88, 91, 92, 95, 96, 96, 96, 96, 96, 98, 99,
+  104, 104, 104, 104, 103, 103, 103, 103, 104, 105, 106, 108, 109, 108, 108, 107,
+  119, 113, 102, 96, 95, 101, 107, 113, 106, 113, 111, 104, 101, 108, 106, 98,
+  95, 98, 98, 95, 92, 91, 98, 104, 102, 105, 101, 90, 89, 96, 98, 93,
+  98, 107, 119, 135, 175, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 61, 80, 89, 84, 85, 85, 82, 77, 73, 71, 72, 72,
+  72, 72, 76, 81, 87, 90, 91, 91, 93, 96, 97, 97, 97, 100, 102, 103,
+  103, 103, 104, 103, 103, 103, 104, 104, 105, 107, 109, 110, 109, 107, 105, 102,
+  99, 92, 85, 79, 83, 92, 102, 101, 108, 108, 102, 100, 105, 101, 95, 98,
+  100, 101, 98, 95, 93, 94, 94, 94, 105, 109, 99, 93, 95, 99, 98, 106,
+  111, 126, 145, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 192, 80, 86, 89, 90, 88, 83, 77, 71, 69, 73, 72,
+  69, 73, 80, 86, 89, 89, 89, 92, 96, 97, 96, 97, 100, 104, 101, 101,
+  102, 103, 103, 104, 104, 105, 104, 106, 107, 109, 110, 109, 108, 107, 98, 100,
+  100, 92, 80, 72, 72, 74, 98, 100, 104, 106, 106, 105, 102, 101, 104, 105,
+  106, 105, 108, 255, 101, 91, 87, 99, 107, 105, 99, 99, 103, 108, 109, 105,
+  121, 146, 206, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 66, 85, 88, 90, 89, 85, 79, 73, 72, 75, 71, 67,
+  71, 78, 84, 85, 85, 91, 95, 99, 98, 96, 96, 99, 104, 99, 100, 101,
+  102, 103, 104, 105, 106, 105, 105, 107, 108, 109, 110, 110, 109, 108, 108, 108,
+  101, 89, 77, 68, 64, 85, 83, 91, 104, 107, 100, 98, 104, 101, 104, 107,
+  255, 255, 255, 255, 204, 93, 93, 98, 104, 105, 104, 105, 111, 110, 107, 133,
+  159, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 188, 77, 82, 85, 86, 84, 80, 78, 77, 76, 71, 67, 69,
+  76, 82, 83, 82, 91, 97, 100, 99, 95, 94, 98, 101, 99, 99, 100, 102,
+  104, 105, 106, 106, 105, 106, 106, 107, 109, 111, 112, 111, 109, 105, 102, 98,
+  93, 88, 81, 76, 65, 62, 71, 93, 100, 90, 88, 100, 121, 124, 173, 255,
+  255, 255, 255, 255, 205, 97, 94, 104, 110, 108, 106, 112, 115, 124, 164, 185,
+  237, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 55, 76, 80, 87, 87, 80, 86, 74, 85, 76, 71, 71, 71,
+  71, 77, 85, 93, 91, 89, 92, 97, 99, 99, 98, 100, 102, 101, 97, 98,
+  104, 109, 107, 107, 106, 103, 101, 110, 119, 117, 107, 111, 108, 105, 102, 98,
+  91, 81, 74, 69, 64, 62, 70, 84, 95, 100, 100, 115, 172, 255, 255, 255,
+  255, 255, 255, 255, 255, 122, 112, 112, 115, 119, 122, 129, 132, 190, 223, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 182, 59, 66, 80, 83, 80, 87, 79, 82, 79, 76, 75, 73, 70,
+  75, 83, 88, 88, 89, 94, 98, 100, 99, 96, 99, 102, 101, 98, 101, 106,
+  110, 108, 106, 106, 105, 104, 109, 117, 117, 109, 109, 107, 104, 102, 99, 94,
+  83, 77, 84, 79, 74, 76, 84, 97, 107, 115, 156, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 147, 144, 141, 140, 141, 182, 172, 200, 213, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 186, 57, 75, 84, 83, 92, 83, 78, 78, 78, 77, 73, 69, 71,
+  77, 83, 86, 90, 95, 99, 98, 97, 94, 97, 101, 102, 101, 104, 108, 110,
+  108, 104, 107, 107, 107, 108, 112, 112, 111, 111, 109, 108, 106, 102, 95, 87,
+  80, 72, 74, 76, 85, 105, 132, 158, 176, 177, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 229, 172, 170, 172, 199, 187, 189, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 186, 68, 84, 85, 90, 78, 83, 82, 80, 80, 79, 75, 70, 69,
+  82, 84, 89, 92, 96, 96, 97, 95, 97, 102, 104, 103, 106, 108, 109, 105,
+  103, 107, 109, 108, 106, 108, 109, 111, 111, 112, 113, 112, 110, 105, 100, 97,
+  85, 86, 90, 103, 124, 151, 173, 187, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 54, 75, 80, 84, 70, 89, 86, 81, 81, 83, 82, 75, 67, 80,
+  82, 85, 88, 91, 93, 97, 98, 98, 103, 105, 104, 105, 107, 107, 102, 103,
+  105, 109, 109, 106, 104, 106, 109, 108, 110, 112, 114, 113, 113, 113, 113, 94,
+  95, 102, 119, 142, 162, 173, 176, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 68, 74, 83, 76, 83, 80, 75, 75, 78, 82, 76, 68, 77, 80,
+  83, 85, 87, 91, 94, 99, 95, 100, 102, 101, 103, 106, 106, 102, 104, 104,
+  108, 110, 107, 102, 102, 107, 110, 112, 111, 108, 104, 104, 106, 108, 100, 103,
+  117, 141, 167, 185, 190, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 60, 80, 84, 76, 79, 79, 76, 77, 83, 87, 87, 71, 76, 81,
+  85, 87, 88, 93, 95, 91, 95, 98, 98, 102, 106, 108, 105, 106, 105, 106,
+  110, 108, 102, 101, 105, 112, 115, 113, 111, 110, 112, 117, 122, 147, 150, 158,
+  170, 181, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 83, 78, 89, 93, 88, 86, 94, 105, 110, 65, 72, 80, 86,
+  88, 88, 89, 92, 86, 91, 94, 96, 100, 107, 111, 109, 108, 104, 105, 110,
+  109, 103, 100, 104, 108, 113, 117, 123, 130, 142, 155, 166, 173, 177, 181, 184,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 88, 90, 89, 88, 85, 78, 70, 71, 80,
+  89, 88, 84, 92, 93, 96, 99, 103, 106, 107, 109, 108, 105, 106, 108, 112,
+  113, 110, 109, 111, 123, 128, 139, 156, 164, 170, 183, 180, 178, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 76, 74, 77, 78, 75, 72, 77,
+  85, 93, 87, 95, 98, 97, 98, 106, 110, 110, 112, 111, 109, 112, 117, 123,
+  126, 130, 128, 156, 167, 165, 170, 176, 176, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 192, 71, 78, 79, 74, 73, 80,
+  87, 88, 101, 105, 101, 100, 105, 108, 104, 113, 113, 112, 114, 117, 126, 136,
+  144, 147, 185, 197, 181, 177, 182, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 67, 76, 83, 81, 78, 76,
+  90, 94, 99, 106, 110, 109, 107, 107, 113, 116, 115, 115, 118, 126, 139, 150,
+  157, 187, 192, 177, 174, 204, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 78, 80, 86, 94, 103,
+  89, 87, 103, 113, 108, 110, 119, 112, 114, 118, 120, 123, 130, 141, 150, 160,
+  174, 177, 175, 178, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193, 93, 123, 138, 116,
+  100, 105, 107, 101, 106, 118, 109, 112, 115, 120, 125, 133, 142, 149, 163, 172,
+  174, 180, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 221, 149, 136,
+  123, 115, 113, 115, 118, 123, 122, 123, 127, 134, 142, 148, 153, 166, 180, 204,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 141, 131, 149, 145, 140, 141, 147, 155, 160, 163, 197, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 234, 173, 188, 207, 231, 235, 227,
+  223, 230, 243, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 220, 150, 153, 163, 173, 171, 162, 133, 146, 164, 176, 177, 179,
+  183, 189, 205, 220, 238, 241, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207,
+  111, 97, 102, 109, 116, 131, 152, 169, 174, 153, 137, 124, 129, 145, 161, 163,
+  160, 167, 177, 196, 213, 222, 224, 234, 241, 240, 243, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 101, 99, 101,
+  102, 107, 111, 107, 110, 123, 144, 151, 168, 166, 166, 162, 160, 160, 165, 170,
+  142, 141, 156, 181, 201, 201, 197, 195, 191, 200, 212, 226, 240, 246, 252, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 89, 81, 82, 81, 81,
+  88, 92, 90, 92, 103, 121, 128, 118, 140, 167, 170, 154, 138, 139, 147, 143,
+  135, 136, 146, 148, 138, 134, 136, 135, 133, 134, 147, 174, 203, 222, 232, 235,
+  243, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 73, 61, 56, 65, 69, 68, 67, 76,
+  83, 81, 82, 88, 99, 100, 93, 100, 116, 134, 144, 142, 128, 118, 114, 107,
+  102, 96, 93, 104, 142, 181, 197, 164, 123, 97, 100, 125, 151, 169, 181, 191,
+  209, 227, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 195, 72, 68, 65, 64, 63, 63, 64, 65, 66, 70, 73, 78,
+  83, 86, 84, 84, 80, 83, 87, 83, 76, 79, 95, 108, 110, 107, 112, 121,
+  125, 115, 107, 119, 137, 142, 170, 132, 129, 157, 138, 132, 141, 160, 198, 207,
+  207, 216, 237, 248, 244, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  192, 64, 62, 61, 62, 62, 62, 62, 63, 65, 67, 69, 69, 74, 79, 80,
+  77, 74, 74, 76, 67, 70, 72, 71, 76, 86, 96, 98, 114, 97, 93, 107,
+  125, 127, 125, 120, 118, 141, 165, 156, 153, 164, 169, 174, 191, 228, 237, 236,
+  230, 233, 244, 231, 246, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 212, 105, 63, 62,
+  61, 59, 57, 57, 57, 57, 58, 60, 63, 66, 68, 67, 72, 76, 73, 65,
+  61, 63, 67, 65, 64, 72, 78, 84, 83, 89, 92, 97, 91, 94, 100, 108,
+  111, 127, 137, 96, 80, 140, 146, 121, 146, 160, 170, 197, 226, 234, 239, 234,
+  231, 244, 245, 248, 248, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 62, 63, 63, 62, 61,
+  59, 58, 55, 55, 55, 56, 58, 61, 64, 66, 65, 67, 68, 65, 61, 59,
+  61, 63, 73, 71, 79, 88, 91, 83, 85, 91, 83, 90, 100, 93, 82, 84,
+  118, 148, 149, 89, 115, 145, 137, 141, 157, 176, 166, 187, 202, 228, 239, 234,
+  241, 235, 242, 244, 246, 247, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 189, 56, 60, 60, 60, 59, 59, 58, 57,
+  57, 59, 58, 57, 57, 58, 60, 62, 63, 63, 60, 58, 59, 62, 65, 64,
+  63, 69, 66, 72, 79, 82, 74, 77, 82, 85, 81, 81, 77, 77, 82, 101,
+  111, 144, 103, 74, 106, 123, 107, 121, 133, 136, 154, 176, 222, 241, 238, 232,
+  211, 223, 230, 239, 243, 243, 247, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 189, 57, 56, 60, 67, 56, 56, 56, 56, 56, 56, 56, 56,
+  59, 58, 57, 56, 55, 56, 58, 58, 57, 52, 49, 52, 60, 64, 62, 58,
+  63, 63, 66, 71, 72, 71, 74, 80, 79, 77, 77, 79, 82, 83, 84, 80,
+  106, 117, 79, 85, 108, 98, 109, 106, 117, 126, 139, 183, 218, 228, 239, 231,
+  207, 218, 232, 238, 238, 237, 240, 248, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  52, 62, 72, 62, 49, 47, 48, 54, 54, 54, 54, 55, 56, 57, 57, 56,
+  55, 54, 52, 52, 53, 55, 55, 55, 52, 51, 53, 57, 59, 58, 55, 60,
+  66, 68, 67, 67, 71, 74, 74, 71, 79, 86, 83, 77, 73, 76, 77, 73,
+  93, 85, 75, 85, 92, 91, 87, 96, 103, 103, 126, 149, 171, 207, 220, 201,
+  207, 220, 228, 232, 235, 239, 242, 244, 234, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 190, 62, 47,
+  50, 59, 54, 49, 53, 54, 48, 48, 49, 49, 50, 52, 54, 54, 52, 52,
+  51, 50, 50, 52, 53, 54, 56, 57, 58, 58, 56, 55, 55, 57, 54, 63,
+  65, 59, 57, 63, 63, 58, 74, 75, 74, 69, 67, 69, 73, 75, 82, 67,
+  88, 80, 79, 94, 81, 86, 79, 94, 95, 100, 97, 103, 138, 150, 194, 195,
+  202, 213, 222, 227, 230, 232, 238, 231, 246, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 190, 51, 55, 59, 58, 52,
+  48, 47, 50, 53, 56, 55, 53, 51, 51, 52, 53, 52, 51, 50, 51, 52,
+  53, 55, 56, 58, 58, 55, 55, 56, 56, 56, 55, 55, 54, 53, 57, 59,
+  59, 59, 59, 61, 63, 61, 63, 65, 66, 67, 71, 75, 77, 73, 79, 81,
+  78, 78, 80, 81, 77, 78, 79, 82, 84, 84, 82, 83, 81, 125, 165, 182,
+  182, 202, 219, 222, 227, 234, 241, 227, 236, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 191, 54, 51, 53, 55, 53, 51, 48,
+  48, 48, 50, 51, 55, 53, 51, 50, 51, 52, 51, 50, 51, 51, 52, 53,
+  54, 55, 56, 57, 55, 54, 54, 54, 54, 54, 54, 55, 55, 59, 61, 61,
+  61, 61, 63, 64, 61, 63, 63, 62, 61, 61, 63, 63, 71, 74, 75, 71,
+  70, 73, 76, 75, 78, 80, 84, 86, 87, 86, 87, 84, 108, 131, 156, 181,
+  199, 205, 206, 215, 214, 232, 235, 235, 246, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 189, 55, 52, 50, 52, 52, 52, 52, 51, 50,
+  50, 49, 49, 55, 53, 51, 50, 52, 52, 52, 50, 53, 53, 53, 54, 54,
+  54, 55, 55, 55, 54, 53, 52, 52, 53, 55, 55, 55, 57, 59, 59, 58,
+  58, 60, 61, 63, 64, 65, 64, 61, 59, 59, 60, 65, 68, 67, 63, 63,
+  66, 71, 72, 75, 76, 82, 83, 87, 87, 89, 89, 105, 103, 130, 170, 191,
+  199, 208, 213, 225, 218, 222, 226, 237, 241, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 190, 54, 52, 53, 52, 48, 54, 53, 52, 51, 51, 51,
+  51, 51, 54, 52, 49, 49, 50, 51, 50, 49, 53, 53, 53, 53, 53, 52,
+  52, 52, 54, 53, 51, 50, 50, 52, 54, 56, 53, 54, 56, 56, 55, 55,
+  56, 58, 61, 64, 66, 67, 66, 64, 64, 64, 61, 63, 63, 61, 61, 64,
+  67, 69, 74, 77, 80, 84, 88, 93, 99, 99, 109, 92, 101, 121, 136, 163,
+  175, 160, 216, 214, 230, 226, 244, 248, 229, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 188, 51, 46, 50, 56, 55, 47, 54, 52, 50, 48, 48, 49, 51,
+  52, 52, 50, 48, 48, 49, 50, 49, 48, 52, 52, 52, 52, 51, 51, 51,
+  51, 53, 51, 50, 49, 49, 51, 54, 55, 52, 53, 54, 54, 53, 52, 54,
+  55, 54, 56, 60, 61, 60, 59, 60, 61, 59, 61, 64, 66, 66, 66, 68,
+  70, 79, 79, 80, 83, 87, 96, 106, 111, 123, 116, 107, 96, 107, 152, 160,
+  122, 119, 163, 207, 200, 220, 244, 231, 248, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  185, 42, 41, 40, 48, 56, 57, 52, 51, 49, 46, 44, 44, 46, 48, 50,
+  51, 49, 47, 47, 48, 49, 48, 47, 51, 51, 50, 50, 50, 50, 50, 50,
+  51, 50, 50, 49, 50, 52, 54, 55, 54, 55, 56, 56, 54, 54, 55, 56,
+  55, 57, 58, 58, 57, 55, 56, 57, 59, 60, 63, 68, 69, 66, 67, 71,
+  73, 73, 73, 74, 77, 85, 98, 103, 114, 125, 124, 111, 130, 183, 196, 166,
+  77, 95, 132, 154, 165, 172, 193, 238, 244, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 43,
+  39, 40, 45, 50, 51, 55, 56, 49, 46, 46, 45, 45, 46, 47, 47, 50,
+  48, 46, 46, 47, 48, 47, 46, 49, 49, 49, 49, 49, 50, 50, 50, 50,
+  50, 50, 51, 52, 53, 54, 54, 53, 53, 54, 53, 52, 51, 52, 53, 57,
+  58, 58, 57, 55, 54, 55, 57, 57, 55, 57, 62, 65, 63, 67, 73, 69,
+  69, 70, 70, 71, 75, 83, 86, 80, 93, 99, 101, 123, 151, 170, 184, 149,
+  118, 109, 136, 142, 137, 173, 207, 213, 241, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 189, 78, 33, 49, 45,
+  47, 54, 52, 49, 50, 56, 48, 47, 49, 50, 50, 49, 47, 46, 50, 48,
+  46, 45, 47, 47, 47, 45, 48, 48, 48, 49, 49, 50, 50, 50, 49, 50,
+  51, 52, 53, 54, 54, 54, 51, 50, 53, 51, 51, 48, 51, 51, 56, 55,
+  57, 54, 55, 53, 58, 59, 58, 53, 55, 59, 60, 58, 64, 73, 72, 73,
+  75, 74, 73, 73, 77, 77, 80, 82, 78, 84, 90, 83, 102, 153, 201, 181,
+  139, 130, 137, 162, 176, 122, 160, 232, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 54, 55, 56, 46, 47, 48,
+  48, 48, 49, 48, 48, 51, 50, 50, 49, 49, 50, 50, 51, 50, 50, 49,
+  49, 49, 49, 49, 49, 51, 51, 50, 50, 50, 50, 50, 50, 54, 54, 53,
+  52, 52, 51, 50, 50, 54, 54, 56, 54, 54, 53, 56, 57, 57, 54, 53,
+  51, 52, 53, 57, 57, 60, 62, 63, 59, 60, 64, 65, 62, 68, 70, 72,
+  73, 74, 75, 80, 80, 95, 81, 84, 96, 98, 101, 103, 99, 166, 197, 211,
+  191, 135, 146, 194, 156, 142, 199, 238, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 190, 59, 68, 53, 52, 51, 50, 50, 49,
+  50, 50, 49, 49, 48, 48, 49, 49, 49, 49, 48, 48, 47, 47, 47, 48,
+  49, 49, 50, 50, 47, 47, 47, 47, 47, 47, 47, 47, 49, 50, 50, 51,
+  52, 52, 53, 53, 52, 53, 54, 53, 52, 52, 54, 57, 62, 61, 58, 55,
+  53, 52, 52, 52, 62, 64, 64, 61, 62, 66, 67, 65, 67, 70, 73, 76,
+  77, 79, 81, 83, 80, 92, 100, 88, 92, 122, 137, 121, 123, 156, 208, 222,
+  200, 170, 162, 179, 177, 233, 243, 225, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 57, 52, 65, 43, 43, 51, 50, 50, 49, 51,
+  50, 50, 50, 45, 46, 48, 48, 48, 48, 46, 45, 44, 45, 45, 47, 48,
+  49, 50, 50, 49, 49, 49, 49, 49, 49, 49, 49, 49, 49, 50, 50, 51,
+  52, 52, 53, 51, 52, 52, 52, 51, 51, 53, 55, 55, 55, 56, 56, 57,
+  58, 58, 59, 61, 64, 64, 61, 62, 66, 68, 66, 67, 70, 75, 78, 80,
+  81, 83, 85, 91, 87, 94, 92, 88, 100, 122, 129, 119, 144, 192, 216, 232,
+  209, 146, 177, 219, 239, 238, 232, 248, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 188, 57, 42, 44, 42, 45, 49, 48, 48, 47, 47, 49,
+  49, 49, 44, 46, 48, 49, 49, 48, 46, 44, 45, 45, 45, 46, 46, 47,
+  47, 48, 49, 49, 50, 50, 50, 50, 51, 51, 54, 53, 53, 52, 51, 51,
+  50, 50, 50, 51, 52, 51, 50, 51, 53, 55, 50, 52, 55, 58, 60, 62,
+  63, 64, 59, 62, 62, 59, 60, 65, 66, 64, 68, 71, 76, 78, 79, 80,
+  81, 82, 97, 83, 87, 94, 87, 88, 102, 116, 118, 140, 146, 151, 210, 232,
+  199, 193, 226, 233, 237, 241, 239, 239, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 188, 55, 51, 43, 32, 53, 50, 45, 45, 45, 44, 45, 44, 47,
+  47, 45, 46, 48, 50, 50, 48, 46, 45, 47, 47, 47, 46, 45, 45, 44,
+  44, 45, 45, 45, 46, 46, 47, 47, 47, 55, 54, 54, 53, 52, 52, 51,
+  51, 51, 52, 53, 52, 51, 51, 53, 55, 56, 57, 58, 59, 60, 60, 59,
+  59, 60, 63, 63, 61, 61, 66, 67, 65, 69, 71, 74, 75, 75, 74, 75,
+  76, 75, 85, 94, 86, 90, 117, 124, 105, 115, 146, 129, 114, 143, 203, 236,
+  212, 214, 231, 239, 233, 230, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  193, 46, 59, 49, 52, 40, 59, 42, 43, 42, 43, 42, 43, 43, 45, 46,
+  46, 46, 48, 49, 49, 48, 46, 46, 49, 48, 48, 47, 45, 44, 43, 43,
+  45, 45, 46, 47, 47, 48, 49, 49, 50, 50, 51, 52, 52, 53, 54, 54,
+  51, 52, 52, 52, 51, 51, 53, 55, 52, 53, 54, 57, 59, 62, 64, 65,
+  66, 69, 68, 65, 65, 69, 70, 68, 69, 70, 71, 71, 69, 69, 70, 72,
+  74, 75, 84, 94, 104, 121, 124, 108, 110, 147, 147, 135, 113, 148, 227, 227,
+  222, 206, 209, 229, 242, 248, 249, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 115, 71,
+  57, 54, 53, 52, 49, 51, 40, 45, 44, 43, 42, 43, 43, 44, 44, 45,
+  45, 46, 46, 46, 46, 45, 45, 48, 48, 48, 47, 46, 46, 45, 45, 47,
+  47, 48, 49, 50, 50, 51, 51, 48, 48, 49, 49, 50, 51, 51, 52, 49,
+  50, 51, 50, 49, 49, 51, 54, 46, 47, 49, 53, 59, 64, 69, 72, 69,
+  72, 71, 67, 67, 70, 70, 68, 68, 68, 68, 67, 66, 67, 70, 73, 85,
+  67, 73, 95, 101, 100, 104, 106, 94, 111, 134, 137, 125, 147, 203, 229, 217,
+  161, 162, 207, 231, 232, 240, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 45, 59, 55,
+  39, 51, 38, 47, 40, 47, 45, 45, 44, 43, 44, 44, 45, 45, 45, 44,
+  44, 43, 43, 44, 44, 45, 47, 47, 47, 47, 47, 47, 47, 47, 43, 44,
+  44, 45, 46, 47, 48, 48, 50, 49, 49, 48, 47, 47, 46, 46, 47, 49,
+  49, 49, 47, 48, 50, 52, 52, 52, 52, 53, 56, 60, 64, 67, 69, 72,
+  70, 66, 65, 68, 68, 65, 67, 67, 66, 64, 64, 67, 71, 75, 76, 79,
+  82, 79, 82, 102, 110, 92, 110, 95, 110, 113, 136, 161, 160, 186, 180, 144,
+  144, 167, 188, 220, 250, 252, 250, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191, 63, 50, 49, 46,
+  44, 44, 44, 44, 42, 47, 44, 42, 42, 44, 44, 41, 39, 42, 42, 42,
+  43, 43, 44, 44, 44, 48, 47, 45, 44, 44, 45, 47, 48, 41, 41, 42,
+  42, 42, 42, 42, 42, 46, 47, 48, 49, 49, 49, 49, 48, 50, 49, 49,
+  48, 48, 47, 47, 46, 44, 46, 49, 53, 57, 60, 61, 62, 64, 66, 67,
+  66, 64, 64, 68, 73, 62, 64, 66, 66, 67, 68, 71, 74, 82, 81, 80,
+  82, 88, 94, 103, 107, 99, 101, 106, 114, 130, 139, 136, 119, 128, 186, 176,
+  185, 233, 235, 241, 253, 238, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 81, 41, 49, 48, 45, 44,
+  44, 43, 43, 42, 46, 43, 42, 42, 44, 44, 41, 39, 42, 42, 42, 43,
+  43, 44, 44, 44, 46, 46, 45, 45, 45, 45, 46, 46, 42, 43, 43, 43,
+  44, 45, 45, 45, 46, 47, 48, 48, 49, 49, 48, 48, 50, 50, 49, 49,
+  49, 49, 49, 48, 54, 54, 55, 55, 54, 54, 53, 52, 57, 58, 59, 59,
+  59, 59, 61, 63, 59, 60, 62, 63, 63, 64, 67, 70, 74, 74, 74, 75,
+  79, 84, 90, 92, 98, 99, 103, 107, 120, 131, 131, 119, 126, 203, 210, 204,
+  224, 233, 247, 248, 253, 251, 247, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 185, 69, 41, 47, 49, 46, 45, 45,
+  44, 43, 41, 46, 44, 42, 42, 43, 43, 41, 40, 42, 42, 42, 43, 43,
+  44, 44, 44, 44, 45, 45, 46, 46, 45, 45, 44, 43, 43, 44, 45, 46,
+  47, 48, 48, 46, 46, 47, 48, 49, 49, 48, 48, 49, 49, 49, 50, 50,
+  50, 50, 50, 51, 52, 53, 54, 54, 54, 54, 54, 56, 56, 56, 58, 60,
+  61, 60, 59, 58, 59, 61, 61, 61, 62, 65, 68, 69, 69, 71, 73, 74,
+  76, 78, 79, 95, 96, 98, 99, 106, 115, 121, 116, 101, 165, 202, 219, 234,
+  240, 240, 229, 221, 219, 226, 240, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 59, 45, 48, 47, 47, 45, 43, 43, 43,
+  42, 40, 44, 43, 43, 42, 42, 42, 41, 40, 42, 42, 42, 43, 43, 44,
+  44, 44, 43, 44, 45, 46, 46, 45, 44, 43, 42, 43, 44, 45, 47, 48,
+  49, 50, 45, 46, 47, 48, 48, 48, 48, 47, 47, 48, 48, 49, 49, 50,
+  50, 51, 48, 49, 50, 52, 54, 55, 55, 56, 57, 56, 56, 59, 63, 63,
+  60, 57, 60, 62, 63, 63, 63, 64, 67, 69, 70, 72, 75, 78, 81, 80,
+  79, 78, 88, 88, 91, 92, 95, 101, 108, 107, 110, 113, 138, 182, 216, 232,
+  241, 241, 237, 225, 233, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 189, 47, 46, 41, 45, 46, 45, 42, 43, 43, 41,
+  40, 42, 43, 43, 42, 40, 40, 40, 41, 42, 42, 42, 43, 43, 44, 44,
+  44, 42, 43, 44, 45, 45, 44, 43, 42, 41, 41, 42, 44, 45, 47, 48,
+  48, 45, 46, 47, 47, 48, 48, 47, 47, 45, 46, 46, 47, 47, 48, 48,
+  49, 52, 52, 52, 53, 52, 51, 50, 50, 55, 54, 54, 57, 61, 61, 58,
+  55, 61, 63, 64, 64, 63, 64, 67, 69, 73, 75, 79, 82, 86, 87, 86,
+  85, 82, 85, 87, 89, 91, 92, 96, 98, 105, 82, 104, 151, 195, 227, 236,
+  231, 218, 210, 227, 211, 189, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 189, 56, 34, 48, 34, 45, 46, 43, 43, 41, 41, 40, 39,
+  40, 42, 43, 42, 40, 39, 40, 41, 42, 42, 42, 43, 43, 44, 44, 44,
+  42, 43, 43, 44, 44, 43, 43, 42, 41, 41, 42, 43, 44, 45, 46, 46,
+  45, 45, 46, 47, 47, 47, 47, 47, 46, 46, 46, 46, 46, 47, 47, 47,
+  46, 47, 49, 51, 52, 53, 54, 54, 57, 57, 57, 58, 61, 61, 60, 59,
+  59, 61, 62, 61, 61, 61, 64, 66, 71, 73, 76, 81, 86, 87, 89, 89,
+  85, 86, 88, 92, 92, 91, 92, 93, 83, 85, 106, 120, 155, 212, 231, 228,
+  186, 187, 218, 225, 185, 216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 58, 38, 36, 38, 35, 43, 44, 42, 41, 42, 42, 39, 38, 39,
+  41, 43, 42, 39, 38, 40, 42, 42, 42, 42, 43, 43, 44, 44, 44, 43,
+  43, 42, 42, 42, 42, 43, 43, 42, 42, 42, 43, 44, 44, 44, 45, 44,
+  45, 46, 47, 47, 47, 47, 46, 48, 47, 47, 47, 47, 47, 46, 46, 41,
+  43, 46, 49, 53, 55, 57, 58, 57, 58, 59, 59, 58, 59, 61, 63, 58,
+  59, 60, 60, 59, 60, 62, 64, 68, 68, 70, 73, 77, 82, 86, 88, 95,
+  90, 89, 94, 95, 94, 93, 94, 107, 110, 119, 99, 119, 179, 212, 230, 222,
+  222, 227, 232, 226, 237, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 45, 42, 29, 33, 35, 43, 43, 41, 41, 41, 42, 39, 38, 39, 41,
+  43, 42, 40, 39, 41, 43, 42, 42, 42, 43, 43, 44, 44, 44, 44, 43,
+  41, 40, 40, 41, 43, 44, 43, 43, 44, 44, 44, 44, 44, 44, 44, 45,
+  46, 47, 47, 47, 47, 46, 50, 49, 49, 48, 48, 47, 47, 46, 49, 49,
+  50, 51, 51, 50, 50, 50, 51, 53, 55, 53, 51, 52, 56, 60, 59, 60,
+  61, 61, 60, 60, 62, 65, 66, 65, 65, 67, 71, 74, 80, 82, 101, 94,
+  91, 95, 98, 97, 99, 100, 109, 120, 150, 151, 160, 174, 163, 179, 202, 213,
+  214, 221, 236, 239, 235, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186,
+  43, 33, 43, 43, 48, 41, 39, 37, 38, 40, 41, 40, 37, 39, 39, 39,
+  40, 40, 41, 41, 41, 42, 41, 41, 42, 42, 42, 41, 41, 45, 44, 43,
+  42, 44, 44, 45, 46, 44, 43, 43, 42, 42, 43, 43, 44, 43, 44, 45,
+  46, 46, 46, 45, 45, 49, 50, 51, 53, 54, 56, 57, 57, 51, 51, 51,
+  50, 50, 49, 49, 49, 52, 53, 54, 53, 51, 51, 53, 55, 56, 56, 55,
+  56, 57, 59, 62, 63, 60, 63, 66, 67, 70, 72, 75, 78, 83, 79, 82,
+  89, 95, 98, 105, 111, 120, 126, 141, 163, 191, 210, 205, 192, 197, 168, 164,
+  152, 207, 233, 237, 233, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 43, 45,
+  35, 44, 40, 42, 41, 38, 37, 38, 40, 41, 39, 37, 40, 40, 40, 41,
+  43, 43, 43, 41, 39, 39, 40, 40, 39, 38, 37, 37, 42, 42, 44, 44,
+  46, 45, 44, 43, 44, 43, 43, 42, 42, 43, 43, 44, 44, 44, 44, 45,
+  45, 46, 46, 46, 46, 46, 47, 48, 49, 50, 51, 52, 51, 51, 51, 51,
+  51, 51, 51, 51, 57, 58, 58, 57, 55, 55, 57, 58, 58, 57, 57, 57,
+  57, 58, 60, 60, 58, 61, 63, 65, 66, 69, 72, 75, 80, 76, 76, 82,
+  87, 90, 97, 104, 122, 139, 155, 154, 151, 163, 188, 205, 185, 180, 154, 105,
+  133, 191, 223, 233, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 44, 46, 37,
+  44, 43, 41, 40, 37, 37, 38, 39, 40, 39, 37, 39, 39, 41, 41, 41,
+  41, 40, 40, 39, 39, 40, 40, 39, 38, 37, 36, 41, 43, 46, 48, 48,
+  46, 45, 42, 44, 43, 43, 42, 42, 43, 43, 44, 45, 44, 44, 44, 44,
+  45, 46, 47, 45, 45, 45, 46, 46, 47, 47, 47, 50, 50, 51, 51, 52,
+  53, 53, 54, 57, 58, 58, 56, 54, 54, 55, 57, 58, 58, 58, 58, 58,
+  58, 58, 58, 58, 60, 62, 64, 65, 68, 72, 75, 79, 75, 74, 77, 79,
+  81, 86, 90, 108, 136, 162, 156, 137, 135, 160, 183, 188, 183, 173, 153, 130,
+  142, 172, 236, 224, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 44, 40, 33, 42,
+  46, 41, 39, 37, 38, 38, 38, 39, 38, 38, 38, 38, 38, 38, 39, 37,
+  39, 37, 39, 40, 40, 41, 41, 41, 40, 40, 41, 43, 45, 46, 47, 46,
+  46, 45, 46, 43, 43, 42, 42, 43, 43, 44, 45, 45, 44, 44, 44, 45,
+  46, 47, 47, 47, 47, 47, 47, 47, 47, 47, 48, 48, 49, 50, 52, 53,
+  54, 54, 57, 58, 58, 56, 54, 53, 54, 56, 56, 56, 57, 58, 59, 59,
+  59, 59, 60, 62, 64, 66, 67, 70, 74, 77, 78, 78, 78, 79, 80, 79,
+  80, 80, 85, 102, 123, 132, 130, 132, 142, 151, 192, 184, 191, 209, 174, 145,
+  136, 203, 236, 213, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 41, 32, 32, 32, 38, 43,
+  34, 37, 37, 37, 37, 37, 36, 37, 37, 35, 35, 35, 35, 36, 35, 36,
+  35, 35, 36, 39, 40, 41, 42, 44, 44, 43, 43, 45, 45, 45, 46, 49,
+  48, 46, 43, 43, 42, 42, 43, 43, 44, 45, 44, 44, 44, 45, 45, 46,
+  47, 48, 48, 48, 47, 47, 47, 46, 46, 45, 46, 47, 48, 50, 51, 52,
+  53, 60, 61, 61, 59, 57, 56, 58, 60, 54, 54, 55, 57, 59, 61, 62,
+  63, 65, 67, 68, 68, 69, 72, 77, 80, 81, 85, 88, 89, 89, 88, 85,
+  82, 79, 73, 75, 86, 103, 120, 133, 141, 178, 196, 194, 189, 181, 198, 161,
+  154, 167, 209, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 36, 26, 33, 41, 39, 44, 34,
+  36, 37, 38, 37, 36, 35, 36, 38, 34, 34, 35, 35, 36, 34, 36, 37,
+  33, 34, 35, 38, 39, 39, 41, 41, 43, 43, 44, 43, 44, 46, 50, 49,
+  46, 43, 43, 42, 42, 43, 43, 44, 43, 44, 45, 46, 46, 46, 45, 45,
+  45, 45, 45, 45, 45, 45, 44, 44, 45, 45, 46, 47, 49, 50, 51, 52,
+  55, 56, 57, 56, 54, 54, 56, 58, 54, 54, 54, 55, 57, 61, 64, 66,
+  69, 69, 69, 69, 69, 71, 76, 79, 83, 89, 94, 95, 97, 97, 94, 89,
+  92, 86, 80, 85, 90, 100, 111, 119, 146, 190, 213, 195, 193, 222, 198, 183,
+  134, 195, 226, 240, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 182, 39, 24, 38, 48, 36, 44, 41, 35,
+  37, 38, 37, 35, 34, 34, 36, 32, 33, 34, 35, 36, 35, 38, 38, 33,
+  34, 34, 37, 37, 36, 36, 36, 41, 41, 44, 45, 48, 49, 49, 47, 46,
+  43, 43, 42, 42, 43, 43, 44, 41, 43, 46, 48, 48, 47, 45, 43, 43,
+  44, 44, 44, 44, 44, 44, 44, 46, 47, 47, 48, 49, 50, 51, 52, 49,
+  50, 51, 51, 50, 50, 53, 55, 57, 55, 54, 53, 55, 59, 64, 66, 69,
+  69, 68, 66, 66, 67, 72, 75, 77, 84, 88, 88, 91, 96, 96, 92, 97,
+  101, 107, 108, 102, 94, 96, 102, 124, 153, 204, 213, 216, 197, 191, 219, 201,
+  162, 153, 220, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 40, 44, 23, 33, 41, 26, 40, 47, 35, 36,
+  38, 37, 35, 32, 33, 36, 33, 32, 35, 34, 36, 35, 39, 39, 37, 37,
+  36, 36, 36, 36, 35, 35, 36, 40, 43, 47, 50, 50, 48, 44, 46, 43,
+  43, 42, 42, 43, 43, 44, 40, 42, 46, 49, 49, 47, 44, 42, 44, 44,
+  44, 45, 45, 46, 46, 46, 48, 48, 49, 50, 50, 51, 52, 52, 49, 51,
+  52, 52, 52, 53, 55, 58, 60, 58, 54, 53, 54, 58, 62, 66, 67, 67,
+  65, 63, 62, 64, 68, 71, 70, 75, 78, 77, 81, 90, 94, 91, 91, 95,
+  102, 110, 107, 101, 104, 111, 121, 114, 157, 180, 207, 177, 169, 197, 223, 194,
+  184, 185, 234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 38, 26, 22, 30, 42, 44, 40, 35, 34, 39, 39,
+  34, 35, 42, 41, 31, 26, 31, 43, 49, 53, 55, 58, 61, 62, 68, 67,
+  54, 40, 32, 31, 32, 39, 41, 44, 45, 47, 46, 45, 44, 44, 42, 42,
+  43, 43, 44, 44, 44, 43, 44, 44, 45, 45, 44, 44, 43, 44, 45, 47,
+  49, 49, 47, 45, 44, 44, 45, 47, 47, 46, 47, 48, 50, 50, 51, 53,
+  55, 55, 54, 53, 52, 55, 55, 56, 57, 58, 58, 59, 59, 60, 61, 61,
+  62, 63, 64, 65, 65, 69, 70, 71, 73, 75, 78, 81, 83, 84, 88, 94,
+  98, 103, 106, 111, 113, 132, 139, 99, 99, 153, 178, 172, 172, 187, 218, 213,
+  195, 222, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 185, 57, 46, 37, 37, 43, 40, 39, 34, 35, 37, 37, 32,
+  33, 34, 35, 31, 30, 43, 60, 69, 74, 76, 85, 90, 77, 83, 85, 79,
+  73, 63, 51, 42, 39, 40, 40, 43, 46, 49, 51, 48, 42, 42, 42, 43,
+  43, 43, 44, 44, 44, 45, 46, 47, 47, 46, 45, 44, 44, 46, 47, 49,
+  49, 47, 46, 44, 43, 45, 47, 47, 46, 46, 48, 50, 50, 51, 51, 52,
+  53, 53, 52, 52, 55, 55, 55, 55, 55, 55, 54, 54, 63, 63, 63, 63,
+  63, 64, 64, 64, 68, 69, 70, 73, 75, 78, 80, 81, 84, 86, 88, 90,
+  92, 98, 104, 105, 131, 132, 119, 103, 113, 147, 172, 164, 183, 213, 222, 221,
+  232, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 66, 49, 41, 34, 36, 38, 37, 41, 41, 39, 37, 35, 36, 34,
+  31, 36, 42, 58, 70, 86, 90, 87, 85, 94, 99, 85, 87, 91, 91, 93,
+  87, 73, 58, 47, 42, 36, 37, 42, 47, 49, 46, 42, 42, 42, 42, 43,
+  43, 43, 44, 44, 45, 47, 49, 49, 47, 45, 44, 45, 46, 47, 48, 48,
+  47, 46, 45, 43, 45, 47, 47, 46, 46, 48, 50, 50, 50, 50, 50, 50,
+  51, 52, 53, 55, 56, 56, 56, 56, 57, 57, 57, 66, 65, 64, 64, 63,
+  63, 64, 64, 67, 68, 71, 73, 76, 78, 79, 79, 80, 80, 83, 83, 86,
+  91, 98, 102, 92, 99, 130, 131, 118, 158, 183, 152, 194, 203, 218, 229, 231,
+  223, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  192, 36, 34, 30, 29, 32, 35, 38, 43, 46, 42, 37, 37, 42, 38, 36,
+  44, 59, 84, 88, 94, 92, 86, 83, 86, 88, 87, 84, 83, 83, 88, 93,
+  89, 81, 63, 52, 38, 34, 38, 41, 40, 39, 41, 41, 42, 42, 42, 43,
+  43, 43, 43, 45, 47, 49, 49, 47, 45, 43, 44, 44, 45, 46, 46, 45,
+  44, 44, 45, 47, 48, 49, 48, 48, 50, 52, 52, 51, 50, 49, 50, 51,
+  53, 54, 50, 51, 53, 55, 57, 59, 61, 62, 65, 64, 63, 63, 63, 64,
+  65, 66, 68, 69, 72, 75, 77, 78, 79, 79, 78, 80, 81, 86, 89, 95,
+  102, 106, 99, 85, 107, 113, 121, 169, 198, 186, 198, 180, 194, 219, 227, 227,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 80,
+  23, 36, 34, 35, 37, 38, 37, 39, 43, 41, 36, 37, 44, 45, 47, 58,
+  75, 92, 89, 88, 84, 83, 82, 84, 84, 83, 83, 83, 80, 84, 91, 93,
+  93, 78, 64, 46, 36, 34, 38, 37, 37, 41, 41, 41, 42, 42, 42, 43,
+  43, 42, 43, 45, 47, 47, 45, 43, 42, 42, 43, 43, 43, 43, 43, 43,
+  42, 47, 49, 50, 50, 50, 50, 52, 53, 53, 53, 51, 51, 51, 53, 54,
+  55, 48, 49, 51, 53, 55, 57, 59, 59, 62, 62, 61, 61, 63, 65, 68,
+  69, 70, 71, 73, 75, 77, 79, 80, 80, 78, 81, 86, 92, 95, 100, 104,
+  105, 110, 97, 101, 105, 136, 163, 171, 200, 195, 166, 176, 211, 230, 234, 236,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 35, 38,
+  36, 35, 34, 40, 39, 37, 40, 41, 37, 36, 37, 44, 50, 59, 71, 83,
+  94, 90, 83, 79, 81, 83, 83, 81, 79, 84, 87, 85, 84, 86, 88, 87,
+  87, 73, 55, 41, 36, 39, 42, 42, 39, 41, 41, 41, 42, 42, 42, 42,
+  43, 44, 44, 44, 44, 44, 44, 43, 43, 43, 43, 43, 43, 43, 43, 43,
+  47, 49, 50, 51, 50, 50, 52, 54, 53, 53, 52, 52, 53, 54, 54, 55,
+  57, 57, 57, 58, 58, 58, 59, 59, 60, 60, 59, 59, 61, 65, 68, 70,
+  72, 72, 72, 73, 75, 77, 79, 79, 78, 81, 88, 91, 94, 97, 99, 100,
+  101, 108, 117, 119, 154, 155, 139, 201, 213, 187, 180, 197, 220, 233, 228, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 33, 1, 41, 35,
+  31, 29, 34, 36, 37, 42, 42, 38, 40, 42, 46, 55, 72, 84, 88, 88,
+  87, 84, 82, 81, 80, 81, 77, 77, 82, 85, 83, 81, 82, 81, 80, 90,
+  78, 59, 44, 36, 35, 40, 45, 39, 40, 41, 41, 41, 42, 42, 42, 46,
+  45, 44, 44, 44, 44, 45, 46, 45, 45, 44, 44, 44, 44, 45, 45, 45,
+  47, 49, 49, 48, 48, 50, 52, 51, 51, 52, 53, 53, 53, 53, 53, 60,
+  60, 60, 60, 59, 59, 59, 59, 61, 60, 58, 58, 59, 63, 66, 68, 72,
+  71, 69, 69, 71, 74, 77, 79, 77, 80, 85, 88, 91, 94, 99, 102, 111,
+  112, 118, 105, 133, 147, 140, 207, 215, 206, 186, 180, 198, 218, 226, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 30, 63, 72, 48, 39,
+  34, 34, 35, 36, 36, 38, 40, 45, 48, 47, 61, 80, 91, 89, 67, 73,
+  78, 80, 80, 80, 82, 83, 85, 84, 83, 78, 80, 82, 84, 83, 91, 79,
+  60, 44, 33, 32, 37, 43, 39, 39, 40, 40, 41, 41, 42, 41, 49, 46,
+  45, 43, 44, 44, 47, 48, 47, 45, 46, 44, 45, 45, 46, 46, 44, 44,
+  47, 46, 47, 46, 48, 50, 48, 49, 51, 52, 53, 52, 51, 49, 50, 50,
+  51, 51, 52, 53, 54, 54, 62, 61, 59, 57, 58, 60, 64, 66, 71, 69,
+  67, 66, 67, 71, 76, 78, 75, 76, 81, 84, 90, 97, 105, 107, 96, 95,
+  120, 113, 137, 154, 130, 165, 180, 199, 190, 176, 191, 207, 214, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 196, 51, 35, 32, 41, 31, 27,
+  38, 42, 36, 31, 31, 37, 38, 48, 56, 66, 87, 94, 79, 76, 77, 78,
+  81, 80, 80, 87, 97, 94, 88, 82, 80, 72, 62, 59, 62, 90, 85, 68,
+  48, 37, 38, 42, 43, 42, 40, 42, 40, 42, 40, 42, 40, 44, 42, 43,
+  41, 44, 42, 45, 44, 44, 42, 45, 43, 45, 42, 43, 41, 43, 41, 43,
+  42, 44, 42, 45, 45, 47, 46, 46, 47, 48, 49, 50, 49, 51, 49, 52,
+  51, 51, 52, 53, 53, 48, 54, 59, 61, 61, 60, 62, 65, 61, 62, 66,
+  69, 67, 66, 72, 80, 79, 79, 80, 79, 82, 88, 99, 104, 95, 98, 99,
+  105, 125, 147, 145, 129, 121, 146, 149, 194, 213, 225, 225, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 135, 138, 126, 97, 58, 43, 32, 33,
+  34, 30, 33, 38, 42, 43, 55, 67, 76, 86, 91, 80, 86, 84, 84, 87,
+  88, 86, 89, 95, 101, 94, 88, 77, 68, 59, 63, 75, 84, 80, 67, 50,
+  40, 42, 47, 45, 39, 36, 36, 37, 37, 37, 37, 37, 41, 41, 41, 40,
+  41, 42, 43, 43, 41, 41, 42, 43, 43, 43, 42, 42, 44, 44, 45, 45,
+  46, 46, 46, 46, 47, 47, 47, 47, 48, 49, 50, 49, 49, 49, 50, 51,
+  52, 50, 51, 53, 51, 56, 60, 63, 62, 61, 59, 59, 62, 62, 66, 69,
+  67, 66, 72, 80, 79, 80, 83, 84, 84, 88, 96, 100, 98, 97, 96, 100,
+  117, 139, 144, 132, 132, 159, 162, 199, 215, 231, 234, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 19, 11, 53, 96, 62, 48, 35, 31, 31,
+  29, 34, 43, 46, 47, 64, 80, 83, 85, 87, 82, 89, 84, 83, 87, 89,
+  85, 83, 84, 92, 95, 99, 91, 79, 66, 64, 72, 80, 78, 67, 51, 43,
+  42, 47, 46, 40, 40, 40, 40, 41, 42, 42, 42, 42, 42, 42, 42, 42,
+  43, 44, 44, 42, 43, 44, 45, 46, 46, 46, 45, 44, 45, 45, 45, 46,
+  46, 46, 46, 49, 48, 48, 49, 49, 50, 51, 52, 51, 52, 52, 53, 54,
+  53, 53, 53, 56, 58, 60, 62, 63, 61, 57, 54, 63, 63, 66, 69, 68,
+  67, 72, 79, 76, 79, 83, 85, 84, 86, 90, 91, 96, 94, 92, 91, 104,
+  126, 141, 137, 146, 173, 170, 198, 206, 225, 228, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 185, 35, 6, 12, 31, 45, 39, 34, 34, 34, 32,
+  35, 38, 48, 46, 65, 86, 86, 79, 83, 82, 85, 80, 78, 84, 88, 83,
+  77, 75, 72, 77, 81, 81, 75, 69, 70, 73, 80, 78, 67, 51, 43, 43,
+  48, 48, 41, 41, 41, 42, 43, 43, 44, 44, 42, 41, 41, 41, 41, 42,
+  43, 44, 41, 42, 44, 45, 46, 47, 47, 47, 44, 44, 44, 45, 45, 45,
+  46, 46, 49, 49, 49, 49, 50, 51, 52, 52, 52, 52, 53, 53, 54, 55,
+  56, 56, 61, 59, 57, 58, 61, 62, 59, 55, 65, 63, 65, 68, 68, 66,
+  71, 76, 74, 76, 83, 83, 84, 81, 83, 85, 89, 89, 87, 85, 96, 115,
+  132, 137, 165, 193, 186, 204, 207, 227, 233, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 11, 11, 26, 41, 35, 35, 35, 35, 36, 35, 33, 36,
+  39, 52, 50, 68, 88, 86, 80, 85, 87, 84, 78, 78, 85, 91, 86, 80,
+  75, 67, 62, 54, 50, 55, 68, 83, 91, 83, 81, 68, 51, 41, 43, 47,
+  47, 39, 39, 40, 40, 41, 41, 42, 42, 43, 42, 42, 42, 42, 43, 44,
+  45, 43, 44, 45, 47, 48, 48, 48, 48, 49, 49, 50, 50, 50, 51, 51,
+  51, 50, 50, 50, 50, 51, 52, 54, 54, 53, 53, 54, 55, 56, 56, 57,
+  57, 62, 58, 54, 54, 58, 62, 62, 61, 65, 63, 63, 66, 67, 65, 69,
+  73, 73, 75, 83, 84, 86, 83, 86, 87, 84, 86, 86, 86, 92, 107, 122,
+  130, 147, 177, 170, 191, 197, 217, 227, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 44, 26, 24, 30, 26, 37, 39, 39, 36, 31, 33, 39, 45,
+  56, 56, 73, 87, 85, 86, 91, 88, 77, 73, 74, 81, 87, 83, 77, 73,
+  84, 79, 71, 68, 74, 84, 90, 90, 84, 81, 70, 55, 45, 43, 47, 46,
+  43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 43, 44, 45, 45,
+  44, 45, 46, 47, 48, 48, 48, 47, 49, 49, 49, 49, 50, 50, 50, 51,
+  51, 51, 51, 51, 52, 53, 54, 55, 54, 54, 54, 55, 56, 57, 59, 58,
+  60, 57, 54, 54, 57, 61, 64, 65, 65, 62, 61, 64, 65, 64, 66, 70,
+  73, 77, 83, 85, 88, 88, 93, 96, 88, 88, 87, 86, 89, 100, 111, 119,
+  110, 138, 138, 170, 180, 199, 215, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 179, 32, 37, 33, 27, 18, 33, 37, 39, 35, 33, 37, 45, 51, 59,
+  62, 80, 89, 85, 90, 91, 81, 69, 66, 68, 74, 79, 74, 70, 68, 82,
+  88, 92, 93, 93, 94, 88, 79, 78, 79, 72, 61, 50, 49, 48, 46, 49,
+  51, 50, 50, 49, 48, 48, 47, 46, 46, 46, 45, 46, 47, 48, 48, 48,
+  48, 49, 50, 50, 49, 49, 48, 49, 49, 49, 49, 50, 50, 51, 51, 51,
+  51, 51, 52, 52, 54, 57, 58, 56, 56, 57, 57, 58, 59, 62, 60, 55,
+  57, 58, 59, 59, 60, 62, 63, 65, 60, 59, 62, 63, 62, 64, 67, 70,
+  74, 79, 81, 87, 90, 96, 101, 98, 94, 90, 86, 87, 93, 103, 108, 100,
+  124, 127, 166, 175, 185, 200, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  53, 25, 9, 26, 41, 27, 19, 28, 37, 38, 37, 40, 47, 50, 57, 64,
+  81, 87, 84, 90, 89, 71, 67, 65, 67, 72, 75, 70, 67, 66, 57, 68,
+  75, 77, 78, 84, 85, 83, 74, 76, 73, 66, 56, 52, 48, 45, 48, 50,
+  49, 48, 46, 45, 44, 44, 47, 47, 46, 46, 47, 47, 48, 49, 49, 49,
+  50, 50, 50, 49, 48, 48, 52, 52, 53, 53, 53, 54, 54, 52, 52, 52,
+  52, 52, 53, 54, 57, 58, 56, 56, 57, 58, 60, 61, 62, 60, 54, 57,
+  62, 63, 61, 59, 59, 60, 64, 60, 58, 61, 62, 61, 62, 65, 65, 68,
+  74, 76, 81, 88, 97, 103, 108, 100, 92, 88, 86, 89, 96, 103, 88, 109,
+  109, 149, 152, 153, 165, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 72,
+  24, 16, 24, 27, 35, 30, 29, 32, 35, 35, 38, 49, 56, 65, 65, 75,
+  83, 85, 82, 85, 89, 69, 63, 65, 70, 72, 66, 63, 62, 69, 63, 64,
+  76, 83, 81, 76, 75, 73, 71, 67, 62, 56, 53, 49, 47, 50, 48, 45,
+  44, 45, 46, 46, 45, 44, 45, 46, 47, 48, 47, 47, 47, 44, 42, 47,
+  56, 57, 52, 50, 53, 53, 50, 50, 53, 53, 51, 51, 54, 53, 53, 53,
+  55, 56, 56, 55, 52, 59, 55, 52, 54, 61, 62, 58, 52, 57, 56, 57,
+  57, 55, 55, 56, 57, 59, 60, 62, 64, 64, 64, 62, 61, 61, 66, 72,
+  74, 75, 76, 84, 90, 97, 96, 93, 93, 91, 88, 94, 99, 90, 86, 88,
+  109, 131, 132, 135, 255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 23, 23,
+  43, 26, 16, 33, 34, 33, 34, 40, 46, 52, 62, 68, 68, 67, 74, 82,
+  83, 79, 80, 84, 77, 66, 59, 59, 65, 66, 68, 68, 69, 67, 70, 81,
+  87, 84, 79, 78, 72, 71, 67, 59, 54, 50, 46, 45, 50, 50, 48, 47,
+  47, 45, 41, 38, 44, 44, 44, 44, 45, 45, 45, 45, 48, 46, 49, 55,
+  56, 51, 49, 51, 50, 48, 49, 54, 55, 52, 53, 55, 53, 50, 52, 54,
+  56, 57, 55, 54, 59, 59, 58, 59, 64, 66, 63, 58, 59, 59, 59, 58,
+  56, 55, 56, 57, 61, 61, 61, 61, 61, 62, 63, 63, 63, 67, 70, 71,
+  72, 73, 79, 82, 90, 90, 91, 94, 92, 88, 91, 96, 93, 89, 83, 96,
+  118, 122, 124, 255, 255, 255, 255, 255, 255, 255, 255, 255, 141, 128, 60, 6,
+  16, 37, 30, 34, 31, 32, 40, 49, 56, 65, 72, 73, 70, 74, 81, 83,
+  79, 77, 76, 85, 70, 58, 58, 65, 70, 72, 72, 71, 73, 81, 91, 93,
+  88, 83, 81, 72, 69, 65, 59, 52, 48, 44, 43, 38, 41, 42, 45, 48,
+  48, 45, 43, 45, 44, 43, 43, 42, 43, 43, 44, 50, 48, 49, 52, 52,
+  49, 48, 50, 48, 47, 50, 55, 57, 54, 54, 55, 53, 51, 53, 55, 56,
+  58, 55, 55, 54, 55, 55, 56, 59, 59, 61, 59, 61, 60, 61, 60, 58,
+  56, 57, 58, 62, 61, 59, 58, 59, 60, 63, 64, 65, 66, 69, 71, 73,
+  75, 77, 78, 79, 82, 89, 93, 92, 89, 90, 94, 100, 97, 87, 90, 109,
+  119, 120, 255, 255, 255, 255, 255, 255, 255, 255, 255, 40, 32, 68, 62, 29,
+  24, 39, 33, 29, 31, 40, 51, 59, 66, 70, 77, 71, 73, 79, 82, 79,
+  76, 75, 85, 75, 68, 66, 70, 68, 69, 70, 77, 83, 92, 98, 97, 90,
+  83, 80, 72, 67, 64, 60, 53, 46, 42, 44, 38, 38, 41, 42, 48, 48,
+  49, 46, 48, 46, 46, 43, 45, 43, 46, 45, 52, 49, 50, 49, 51, 48,
+  51, 50, 52, 49, 54, 57, 61, 56, 58, 56, 56, 54, 54, 55, 58, 59,
+  56, 56, 50, 53, 54, 55, 55, 55, 57, 58, 57, 58, 60, 59, 58, 57,
+  58, 60, 61, 60, 59, 59, 59, 61, 62, 63, 65, 65, 68, 72, 77, 81,
+  83, 83, 77, 80, 87, 94, 94, 89, 92, 96, 96, 102, 95, 92, 107, 118,
+  123, 172, 255, 255, 255, 255, 255, 255, 255, 36, 28, 26, 24, 19, 33, 45,
+  34, 35, 33, 36, 48, 60, 67, 73, 78, 75, 71, 73, 79, 84, 82, 80,
+  78, 86, 81, 77, 70, 66, 60, 64, 71, 86, 93, 100, 101, 100, 93, 85,
+  79, 77, 70, 65, 63, 57, 48, 44, 47, 52, 49, 47, 43, 45, 44, 46,
+  43, 50, 48, 49, 47, 49, 47, 50, 48, 51, 49, 51, 48, 51, 51, 55,
+  53, 58, 54, 58, 61, 64, 60, 61, 60, 61, 59, 59, 60, 63, 62, 60,
+  59, 56, 58, 60, 58, 56, 55, 57, 58, 54, 55, 57, 58, 57, 58, 60,
+  62, 59, 60, 61, 62, 63, 62, 61, 61, 67, 67, 69, 73, 76, 80, 81,
+  81, 87, 88, 91, 94, 91, 88, 92, 96, 85, 98, 99, 96, 104, 115, 126,
+  141, 255, 255, 255, 255, 255, 255, 255, 55, 39, 28, 32, 29, 30, 32, 27,
+  33, 33, 41, 56, 67, 73, 77, 82, 73, 69, 73, 79, 83, 84, 83, 85,
+  91, 86, 80, 68, 59, 54, 64, 77, 94, 98, 101, 99, 97, 93, 85, 78,
+  81, 73, 68, 68, 62, 50, 47, 53, 58, 54, 51, 47, 51, 52, 56, 55,
+  55, 53, 57, 56, 58, 56, 57, 55, 53, 54, 56, 52, 55, 57, 60, 56,
+  63, 59, 62, 65, 69, 66, 69, 70, 69, 66, 66, 67, 70, 69, 68, 66,
+  64, 63, 62, 60, 58, 57, 57, 56, 53, 55, 57, 58, 57, 58, 59, 61,
+  59, 60, 63, 64, 65, 64, 62, 61, 69, 70, 72, 74, 74, 75, 77, 78,
+  96, 94, 94, 93, 91, 86, 89, 95, 88, 101, 105, 101, 107, 116, 135, 161,
+  255, 255, 255, 255, 255, 255, 24, 22, 30, 32, 36, 39, 30, 30, 44, 37,
+  40, 51, 63, 68, 69, 72, 75, 70, 71, 76, 82, 83, 84, 85, 90, 92,
+  89, 84, 76, 69, 63, 70, 81, 97, 99, 97, 93, 94, 95, 90, 80, 85,
+  76, 71, 73, 66, 55, 51, 57, 58, 57, 56, 57, 63, 66, 71, 71, 64,
+  65, 69, 71, 73, 72, 71, 69, 60, 63, 64, 60, 61, 63, 64, 60, 66,
+  62, 64, 68, 73, 73, 79, 81, 77, 74, 74, 75, 78, 78, 75, 74, 76,
+  73, 66, 63, 63, 61, 58, 55, 58, 59, 60, 59, 58, 57, 58, 60, 62,
+  62, 63, 64, 64, 64, 64, 64, 69, 72, 76, 76, 74, 75, 78, 82, 91,
+  90, 93, 93, 92, 88, 91, 97, 103, 104, 103, 103, 109, 117, 140, 172, 255,
+  255, 255, 255, 255, 255, 51, 26, 46, 38, 26, 36, 41, 37, 42, 46, 50,
+  61, 71, 72, 68, 68, 70, 71, 73, 77, 84, 83, 83, 88, 93, 93, 90,
+  91, 89, 84, 78, 76, 79, 98, 97, 93, 88, 90, 96, 90, 80, 86, 76,
+  72, 74, 69, 55, 52, 59, 64, 64, 64, 66, 69, 71, 71, 70, 72, 75,
+  79, 83, 85, 84, 82, 80, 64, 69, 69, 64, 63, 66, 65, 60, 65, 62,
+  63, 69, 74, 78, 84, 89, 82, 80, 81, 82, 84, 83, 80, 79, 90, 82,
+  73, 68, 69, 67, 62, 58, 62, 65, 65, 64, 61, 57, 59, 58, 65, 64,
+  63, 62, 62, 64, 66, 67, 67, 72, 78, 80, 77, 78, 84, 90, 76, 78,
+  84, 89, 89, 87, 91, 100, 109, 104, 94, 96, 106, 112, 136, 173, 255, 255,
+  255, 255, 255, 176, 44, 33, 37, 39, 39, 44, 50, 54, 51, 63, 62, 65,
+  67, 70, 74, 75, 75, 72, 70, 73, 79, 85, 88, 86, 82, 86, 92, 93,
+  86, 80, 82, 84, 85, 91, 87, 83, 83, 84, 86, 85, 83, 83, 83, 81,
+  76, 70, 65, 64, 64, 64, 66, 68, 70, 72, 73, 74, 74, 83, 86, 85,
+  82, 85, 91, 90, 84, 78, 77, 75, 74, 72, 72, 71, 71, 73, 76, 79,
+  80, 79, 80, 84, 87, 98, 98, 97, 94, 90, 85, 80, 79, 79, 80, 79,
+  72, 65, 57, 53, 55, 63, 63, 62, 65, 66, 60, 60, 58, 55, 60, 66,
+  69, 66, 65, 66, 68, 72, 74, 76, 79, 81, 84, 87, 91, 87, 85, 81,
+  83, 86, 88, 88, 89, 96, 93, 92, 93, 96, 102, 114, 125, 255, 255, 255,
+  255, 255, 34, 56, 42, 47, 48, 48, 52, 58, 59, 55, 65, 66, 68, 71,
+  75, 78, 80, 79, 74, 72, 74, 78, 84, 87, 86, 85, 83, 89, 90, 85,
+  80, 81, 83, 84, 87, 84, 81, 81, 83, 85, 84, 83, 86, 82, 77, 74,
+  74, 74, 72, 70, 71, 72, 74, 76, 78, 79, 79, 80, 84, 87, 86, 84,
+  86, 91, 91, 86, 86, 85, 85, 84, 84, 84, 85, 85, 87, 90, 92, 93,
+  92, 93, 95, 98, 99, 99, 98, 97, 93, 89, 85, 83, 81, 82, 81, 75,
+  67, 59, 55, 60, 58, 59, 59, 64, 67, 64, 66, 66, 61, 62, 63, 64,
+  62, 63, 65, 67, 70, 71, 72, 74, 77, 83, 89, 93, 93, 86, 82, 82,
+  88, 89, 89, 90, 96, 94, 93, 93, 94, 94, 101, 110, 255, 255, 255, 255,
+  45, 44, 58, 51, 57, 58, 59, 63, 67, 67, 62, 66, 67, 69, 71, 74,
+  76, 78, 76, 77, 74, 74, 77, 81, 84, 85, 85, 84, 89, 89, 83, 78,
+  79, 81, 81, 82, 81, 80, 81, 83, 85, 86, 85, 89, 82, 75, 75, 81,
+  84, 81, 78, 77, 79, 80, 82, 84, 84, 85, 85, 87, 89, 88, 87, 89,
+  93, 93, 89, 91, 91, 91, 92, 93, 95, 96, 97, 94, 96, 97, 98, 97,
+  97, 99, 101, 99, 100, 100, 99, 98, 95, 93, 91, 91, 91, 90, 85, 78,
+  72, 68, 70, 66, 64, 62, 64, 64, 59, 60, 61, 66, 63, 59, 58, 60,
+  64, 67, 69, 69, 69, 70, 70, 71, 77, 84, 89, 96, 88, 84, 83, 88,
+  93, 94, 94, 101, 100, 96, 96, 92, 89, 90, 95, 255, 255, 255, 255, 47,
+  48, 53, 56, 62, 64, 65, 68, 71, 69, 64, 69, 69, 70, 72, 74, 75,
+  76, 75, 77, 74, 73, 73, 76, 79, 81, 83, 87, 90, 89, 81, 76, 76,
+  76, 76, 79, 79, 80, 82, 84, 86, 88, 88, 87, 83, 80, 81, 85, 87,
+  85, 82, 81, 82, 83, 85, 86, 86, 86, 86, 89, 89, 89, 89, 91, 94,
+  93, 91, 90, 90, 90, 91, 92, 93, 95, 96, 94, 94, 95, 95, 95, 95,
+  95, 96, 99, 99, 100, 100, 100, 99, 98, 97, 94, 94, 92, 89, 84, 79,
+  75, 77, 71, 68, 63, 63, 61, 56, 54, 57, 64, 62, 57, 57, 61, 66,
+  68, 68, 70, 70, 70, 70, 70, 71, 75, 79, 91, 88, 86, 83, 84, 86,
+  92, 98, 107, 104, 102, 102, 98, 94, 95, 100, 255, 255, 255, 65, 59, 52,
+  55, 61, 66, 68, 68, 70, 73, 70, 65, 74, 75, 76, 77, 78, 79, 80,
+  79, 78, 75, 73, 72, 73, 75, 78, 81, 86, 88, 87, 80, 77, 78, 77,
+  75, 78, 80, 82, 84, 86, 87, 89, 90, 82, 84, 86, 87, 87, 85, 84,
+  84, 84, 85, 86, 87, 87, 87, 87, 87, 91, 89, 88, 91, 93, 93, 93,
+  93, 91, 91, 90, 90, 90, 90, 91, 92, 98, 97, 97, 97, 98, 98, 98,
+  98, 98, 98, 99, 100, 100, 100, 100, 100, 92, 91, 90, 88, 85, 82, 78,
+  77, 70, 65, 60, 60, 61, 59, 59, 63, 60, 59, 57, 59, 66, 69, 71,
+  69, 71, 74, 77, 76, 75, 75, 77, 76, 79, 82, 84, 81, 77, 76, 87,
+  96, 108, 105, 105, 104, 105, 104, 110, 118, 255, 255, 255, 52, 64, 59, 64,
+  67, 71, 72, 70, 72, 75, 73, 68, 74, 74, 75, 76, 77, 78, 79, 78,
+  76, 74, 73, 71, 70, 70, 73, 76, 77, 80, 80, 77, 77, 81, 82, 79,
+  79, 82, 85, 86, 86, 87, 88, 90, 80, 84, 88, 89, 87, 84, 84, 86,
+  88, 88, 89, 90, 90, 90, 89, 89, 93, 89, 89, 93, 95, 94, 93, 95,
+  95, 95, 94, 93, 92, 92, 92, 92, 100, 98, 97, 98, 100, 101, 100, 99,
+  99, 99, 99, 99, 99, 99, 100, 100, 97, 96, 94, 94, 93, 91, 87, 86,
+  81, 74, 66, 63, 60, 58, 57, 61, 59, 60, 61, 65, 69, 70, 71, 70,
+  70, 74, 79, 82, 82, 82, 83, 84, 72, 78, 81, 78, 73, 74, 83, 93,
+  101, 100, 102, 108, 112, 115, 125, 134, 255, 255, 190, 54, 63, 66, 70, 71,
+  75, 74, 71, 73, 76, 74, 70, 71, 71, 72, 73, 75, 76, 77, 76, 76,
+  75, 75, 72, 69, 69, 71, 74, 73, 75, 75, 74, 77, 82, 84, 81, 79,
+  82, 86, 86, 85, 84, 85, 87, 85, 84, 83, 84, 86, 88, 89, 89, 87,
+  87, 88, 88, 88, 88, 87, 86, 94, 89, 89, 94, 96, 94, 93, 96, 96,
+  95, 94, 93, 93, 93, 93, 94, 96, 94, 93, 95, 98, 99, 98, 96, 100,
+  99, 99, 98, 98, 98, 98, 98, 101, 100, 98, 99, 100, 99, 95, 92, 97,
+  86, 76, 69, 64, 56, 54, 57, 62, 65, 68, 68, 67, 66, 69, 70, 68,
+  71, 75, 78, 79, 81, 83, 85, 76, 78, 79, 78, 78, 80, 84, 88, 96,
+  96, 102, 112, 119, 123, 132, 178, 255, 255, 66, 65, 60, 69, 67, 73, 76,
+  73, 70, 71, 75, 74, 70, 73, 74, 75, 76, 78, 79, 80, 79, 76, 76,
+  76, 74, 70, 69, 70, 73, 73, 75, 75, 73, 76, 81, 82, 79, 79, 82,
+  86, 86, 83, 81, 82, 84, 90, 84, 78, 79, 86, 92, 94, 93, 86, 86,
+  87, 87, 86, 86, 85, 84, 97, 91, 90, 96, 99, 96, 95, 98, 92, 92,
+  91, 91, 91, 91, 92, 93, 95, 93, 92, 94, 97, 99, 98, 96, 102, 101,
+  100, 99, 98, 97, 98, 98, 99, 97, 96, 97, 99, 98, 94, 90, 95, 84,
+  75, 68, 65, 62, 62, 65, 66, 69, 71, 70, 65, 64, 66, 71, 70, 71,
+  73, 73, 73, 74, 78, 81, 82, 79, 77, 80, 84, 88, 87, 85, 93, 94,
+  105, 118, 124, 129, 136, 255, 255, 255, 58, 58, 66, 73, 72, 70, 74, 76,
+  75, 73, 71, 71, 72, 72, 73, 74, 77, 80, 81, 80, 76, 73, 73, 75,
+  76, 76, 76, 76, 76, 78, 79, 81, 83, 84, 86, 86, 86, 78, 83, 89,
+  92, 92, 90, 87, 86, 83, 79, 80, 85, 87, 85, 87, 93, 89, 87, 88,
+  89, 90, 90, 91, 91, 92, 91, 90, 91, 93, 94, 93, 94, 95, 94, 93,
+  92, 92, 92, 92, 93, 97, 93, 89, 89, 93, 96, 97, 97, 92, 93, 96,
+  98, 96, 93, 96, 102, 97, 98, 98, 99, 99, 99, 98, 97, 91, 93, 92,
+  84, 78, 74, 70, 65, 69, 69, 69, 69, 66, 66, 65, 66, 62, 73, 76,
+  70, 72, 82, 82, 72, 70, 77, 76, 72, 79, 84, 92, 105, 94, 90, 101,
+  126, 145, 137, 133, 255, 255, 255, 57, 64, 66, 66, 73, 70, 74, 75, 75,
+  73, 71, 71, 72, 74, 74, 75, 78, 81, 82, 80, 78, 75, 74, 74, 75,
+  75, 76, 76, 76, 78, 79, 81, 83, 84, 84, 84, 83, 83, 83, 82, 81,
+  80, 83, 88, 92, 85, 81, 81, 86, 87, 85, 86, 89, 87, 85, 86, 86,
+  87, 88, 89, 89, 92, 90, 89, 90, 92, 93, 93, 91, 95, 95, 94, 94,
+  94, 93, 93, 93, 100, 98, 96, 96, 99, 101, 100, 99, 100, 96, 95, 98,
+  98, 95, 94, 96, 99, 99, 99, 98, 98, 97, 96, 96, 92, 93, 92, 84,
+  82, 82, 80, 78, 77, 77, 75, 72, 70, 66, 63, 60, 68, 75, 77, 74,
+  76, 84, 86, 81, 75, 82, 79, 78, 86, 92, 101, 114, 115, 118, 116, 123,
+  148, 162, 186, 255, 255, 120, 55, 69, 65, 59, 73, 70, 74, 75, 75, 73,
+  71, 72, 73, 75, 75, 76, 79, 81, 82, 80, 78, 77, 76, 75, 74, 75,
+  76, 77, 78, 79, 80, 83, 85, 85, 84, 82, 81, 85, 84, 81, 78, 78,
+  82, 88, 94, 87, 84, 84, 86, 86, 85, 86, 87, 87, 85, 86, 86, 87,
+  88, 89, 89, 92, 90, 90, 91, 93, 94, 93, 92, 95, 96, 96, 97, 97,
+  95, 94, 93, 98, 96, 95, 96, 98, 99, 98, 96, 103, 96, 92, 96, 99,
+  97, 94, 93, 98, 97, 97, 97, 97, 97, 98, 98, 94, 95, 92, 87, 87,
+  93, 94, 93, 84, 83, 82, 80, 80, 74, 66, 61, 69, 72, 74, 76, 78,
+  81, 84, 85, 74, 81, 78, 78, 87, 93, 100, 113, 111, 121, 122, 132, 155,
+  167, 255, 255, 255, 131, 58, 69, 66, 60, 71, 71, 73, 75, 75, 73, 72,
+  72, 73, 77, 77, 78, 80, 82, 82, 80, 78, 78, 77, 75, 73, 74, 75,
+  77, 79, 80, 82, 84, 86, 86, 84, 81, 80, 81, 84, 87, 89, 88, 88,
+  88, 89, 86, 85, 85, 86, 87, 87, 88, 88, 87, 87, 88, 89, 90, 90,
+  91, 91, 93, 92, 91, 92, 94, 95, 94, 93, 93, 97, 98, 99, 99, 97,
+  95, 93, 95, 94, 93, 93, 94, 96, 97, 97, 97, 93, 91, 96, 99, 98,
+  96, 98, 96, 95, 95, 96, 97, 99, 101, 102, 94, 96, 95, 92, 94, 98,
+  101, 99, 91, 89, 87, 88, 89, 85, 76, 71, 72, 71, 73, 80, 81, 78,
+  77, 83, 73, 83, 82, 82, 90, 94, 97, 107, 96, 106, 122, 145, 159, 153,
+  255, 255, 255, 140, 62, 65, 69, 66, 69, 71, 73, 75, 75, 73, 72, 73,
+  74, 78, 78, 78, 80, 82, 81, 79, 77, 79, 77, 75, 74, 73, 75, 77,
+  78, 82, 83, 85, 86, 85, 84, 82, 80, 79, 84, 89, 92, 92, 90, 88,
+  88, 83, 85, 85, 85, 87, 90, 92, 90, 87, 85, 86, 87, 88, 88, 89,
+  89, 93, 92, 91, 92, 94, 95, 94, 95, 94, 97, 99, 100, 100, 98, 96,
+  94, 96, 95, 93, 92, 92, 95, 99, 102, 95, 93, 95, 98, 97, 95, 97,
+  103, 96, 96, 96, 96, 96, 96, 97, 98, 95, 99, 100, 98, 98, 101, 99,
+  96, 94, 94, 93, 93, 93, 90, 84, 80, 81, 80, 81, 85, 83, 77, 73,
+  77, 76, 87, 87, 88, 97, 99, 97, 102, 95, 107, 123, 148, 164, 192, 255,
+  255, 255, 129, 63, 61, 69, 75, 68, 70, 72, 74, 74, 73, 72, 73, 74,
+  79, 78, 78, 79, 81, 80, 78, 75, 78, 77, 76, 75, 74, 75, 76, 77,
+  82, 83, 83, 83, 83, 83, 82, 81, 81, 83, 84, 85, 84, 85, 88, 90,
+  82, 85, 86, 85, 87, 92, 94, 91, 85, 83, 84, 84, 85, 86, 87, 87,
+  93, 92, 91, 92, 94, 95, 94, 95, 95, 98, 99, 99, 99, 98, 96, 95,
+  94, 93, 92, 90, 88, 89, 93, 94, 97, 96, 99, 101, 98, 93, 97, 104,
+  101, 101, 100, 100, 98, 96, 94, 93, 96, 100, 102, 100, 100, 101, 98, 94,
+  99, 98, 97, 92, 92, 88, 90, 89, 92, 92, 88, 83, 77, 72, 69, 67,
+  77, 85, 86, 89, 99, 101, 102, 106, 107, 125, 132, 142, 173, 255, 255, 255,
+  255, 99, 63, 60, 68, 79, 69, 70, 72, 74, 74, 73, 73, 73, 75, 78,
+  78, 78, 79, 80, 79, 76, 73, 77, 77, 77, 76, 76, 75, 75, 75, 81,
+  80, 79, 79, 79, 80, 81, 82, 81, 81, 81, 80, 80, 82, 86, 90, 84,
+  88, 88, 85, 87, 92, 94, 89, 85, 83, 84, 84, 85, 86, 87, 87, 92,
+  90, 90, 91, 93, 94, 93, 94, 96, 98, 98, 98, 97, 97, 96, 96, 92,
+  93, 94, 92, 87, 84, 83, 82, 93, 90, 91, 95, 96, 93, 95, 99, 99,
+  100, 102, 103, 102, 99, 96, 94, 101, 104, 104, 100, 100, 102, 99, 95, 100,
+  101, 101, 95, 94, 94, 102, 108, 111, 111, 99, 82, 71, 71, 72, 66, 75,
+  80, 80, 84, 98, 106, 112, 120, 122, 141, 150, 158, 183, 255, 255, 255, 125,
+  71, 61, 64, 65, 80, 72, 70, 72, 74, 74, 73, 73, 74, 75, 78, 77,
+  77, 78, 79, 78, 75, 72, 77, 77, 77, 77, 77, 76, 74, 74, 79, 78,
+  76, 75, 75, 77, 80, 81, 78, 80, 83, 84, 84, 84, 85, 86, 86, 91,
+  90, 86, 86, 92, 93, 87, 87, 85, 86, 87, 88, 88, 89, 89, 90, 89,
+  88, 89, 91, 92, 91, 92, 97, 96, 95, 94, 94, 94, 96, 97, 96, 99,
+  102, 100, 93, 86, 81, 79, 85, 80, 80, 88, 94, 96, 96, 97, 94, 95,
+  100, 104, 105, 104, 102, 98, 103, 105, 102, 98, 97, 101, 102, 100, 102, 104,
+  104, 101, 98, 103, 117, 130, 255, 255, 209, 89, 76, 81, 82, 76, 78, 82,
+  79, 83, 101, 114, 124, 135, 137, 152, 168, 185, 209, 255, 255, 255, 95, 75,
+  69, 59, 70, 74, 72, 67, 68, 69, 71, 73, 75, 76, 77, 73, 75, 78,
+  78, 78, 77, 79, 80, 75, 81, 80, 73, 73, 81, 83, 78, 79, 75, 74,
+  77, 78, 77, 80, 84, 76, 78, 81, 84, 84, 84, 85, 86, 85, 85, 85,
+  85, 86, 87, 88, 89, 87, 87, 88, 88, 89, 90, 91, 91, 92, 93, 94,
+  95, 95, 95, 95, 95, 93, 94, 93, 93, 92, 91, 92, 91, 88, 90, 95,
+  96, 94, 89, 85, 82, 70, 77, 77, 73, 83, 98, 97, 85, 90, 92, 97,
+  100, 102, 102, 103, 102, 95, 96, 93, 89, 93, 102, 103, 100, 106, 87, 101,
+  122, 105, 140, 196, 255, 255, 255, 255, 255, 136, 81, 66, 71, 78, 90, 91,
+  91, 108, 128, 139, 144, 156, 173, 190, 236, 255, 255, 255, 255, 73, 66, 67,
+  61, 72, 78, 75, 71, 71, 72, 73, 74, 75, 76, 76, 75, 76, 77, 76,
+  74, 72, 73, 74, 77, 79, 78, 75, 76, 80, 81, 79, 80, 76, 74, 77,
+  78, 77, 79, 83, 78, 79, 82, 83, 83, 83, 85, 86, 86, 86, 85, 86,
+  87, 88, 89, 90, 87, 87, 88, 89, 90, 90, 91, 91, 91, 91, 92, 93,
+  94, 94, 93, 93, 92, 92, 93, 92, 93, 91, 89, 87, 86, 87, 91, 94,
+  96, 97, 95, 94, 87, 86, 81, 73, 75, 85, 85, 80, 86, 90, 93, 98,
+  100, 101, 104, 103, 98, 95, 97, 103, 103, 98, 98, 103, 97, 143, 99, 127,
+  157, 162, 255, 255, 255, 255, 255, 255, 255, 101, 91, 90, 82, 92, 90, 93,
+  111, 135, 146, 152, 166, 188, 196, 255, 255, 255, 255, 255, 61, 64, 70, 63,
+  71, 72, 70, 74, 74, 74, 74, 75, 75, 75, 76, 75, 76, 77, 76, 73,
+  72, 72, 73, 80, 77, 76, 79, 79, 77, 78, 81, 80, 76, 75, 78, 79,
+  77, 79, 82, 81, 81, 82, 82, 81, 82, 85, 87, 86, 86, 86, 86, 87,
+  88, 90, 90, 88, 88, 89, 89, 90, 91, 92, 92, 90, 90, 91, 92, 93,
+  92, 92, 92, 92, 93, 94, 94, 95, 92, 89, 87, 78, 77, 79, 84, 92,
+  99, 102, 102, 97, 91, 82, 73, 69, 70, 74, 76, 81, 84, 88, 94, 98,
+  100, 102, 100, 103, 94, 98, 110, 107, 95, 96, 112, 103, 134, 123, 165, 199,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 103, 106, 94, 98, 96, 101, 122,
+  149, 165, 168, 158, 189, 233, 255, 255, 255, 255, 255, 102, 70, 72, 67, 74,
+  72, 72, 73, 73, 73, 74, 75, 76, 76, 76, 75, 76, 77, 77, 76, 76,
+  77, 79, 82, 75, 75, 82, 82, 76, 76, 83, 80, 77, 76, 79, 79, 78,
+  79, 82, 84, 82, 83, 82, 81, 82, 85, 87, 86, 86, 86, 86, 87, 88,
+  89, 90, 89, 89, 89, 90, 91, 92, 92, 93, 91, 92, 93, 93, 93, 93,
+  92, 92, 90, 91, 93, 95, 96, 94, 92, 90, 78, 74, 74, 77, 86, 94,
+  98, 99, 105, 100, 95, 90, 82, 72, 69, 71, 74, 78, 83, 91, 96, 100,
+  100, 97, 106, 96, 97, 104, 105, 102, 107, 121, 134, 115, 154, 196, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 103, 100, 99, 102, 108, 125, 156,
+  177, 178, 160, 178, 234, 224, 246, 255, 255, 255, 211, 69, 69, 70, 81, 79,
+  84, 69, 70, 71, 73, 74, 76, 77, 78, 77, 78, 78, 77, 76, 76, 78,
+  80, 82, 76, 76, 83, 83, 76, 76, 82, 80, 77, 77, 80, 80, 78, 79,
+  81, 84, 83, 83, 82, 81, 82, 85, 88, 85, 85, 85, 85, 86, 87, 89,
+  89, 89, 90, 90, 91, 92, 93, 93, 93, 95, 95, 96, 96, 96, 95, 95,
+  94, 88, 90, 92, 94, 97, 96, 95, 94, 90, 84, 80, 77, 78, 81, 82,
+  82, 97, 100, 101, 103, 95, 80, 70, 68, 66, 67, 75, 86, 97, 102, 103,
+  99, 106, 104, 105, 104, 108, 116, 119, 120, 124, 145, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 203, 96, 107, 115, 127, 159, 185,
+  184, 170, 230, 184, 187, 255, 255, 255, 255, 255, 73, 67, 70, 79, 74, 80,
+  68, 69, 70, 72, 74, 76, 78, 79, 81, 81, 79, 76, 73, 72, 74, 76,
+  81, 79, 79, 82, 82, 78, 77, 79, 81, 78, 78, 81, 81, 78, 78, 80,
+  81, 82, 83, 83, 83, 83, 86, 88, 86, 86, 86, 86, 87, 88, 90, 90,
+  90, 90, 91, 92, 93, 93, 94, 94, 98, 98, 98, 98, 98, 97, 96, 96,
+  90, 91, 92, 93, 96, 97, 97, 97, 98, 93, 87, 77, 69, 63, 60, 59,
+  65, 72, 81, 90, 92, 89, 82, 74, 64, 65, 69, 78, 90, 100, 104, 104,
+  100, 107, 110, 110, 112, 122, 124, 121, 140, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 208, 132, 140, 137, 164, 192, 190,
+  186, 192, 255, 255, 255, 255, 255, 255, 255, 79, 66, 69, 77, 67, 72, 71,
+  71, 72, 73, 74, 76, 77, 77, 82, 82, 80, 77, 73, 72, 74, 76, 77,
+  81, 81, 79, 79, 80, 79, 75, 80, 77, 78, 81, 81, 77, 77, 80, 78,
+  81, 83, 85, 85, 85, 87, 88, 89, 89, 88, 89, 90, 91, 92, 93, 91,
+  91, 92, 92, 93, 94, 95, 95, 99, 99, 99, 99, 99, 98, 97, 96, 95,
+  94, 93, 93, 95, 95, 96, 97, 97, 96, 93, 83, 69, 59, 56, 56, 57,
+  65, 68, 73, 82, 93, 94, 85, 78, 72, 68, 70, 81, 92, 100, 103, 102,
+  108, 114, 118, 116, 123, 137, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 78, 66, 74, 84, 72, 75, 74, 74,
+  74, 75, 75, 76, 76, 76, 82, 82, 81, 79, 77, 78, 81, 83, 76, 83,
+  84, 78, 77, 82, 80, 73, 80, 78, 78, 81, 81, 78, 77, 79, 76, 80,
+  83, 86, 86, 86, 87, 88, 91, 91, 91, 91, 92, 93, 94, 95, 91, 91,
+  92, 93, 94, 94, 95, 95, 99, 99, 99, 99, 99, 98, 97, 96, 100, 98,
+  95, 92, 93, 93, 95, 96, 97, 101, 102, 94, 81, 71, 69, 71, 88, 90,
+  82, 71, 77, 92, 96, 87, 96, 84, 71, 65, 72, 83, 93, 98, 118, 114,
+  120, 125, 123, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 195, 75, 75, 79, 79, 75, 74, 71, 69,
+  68, 71, 76, 78, 77, 81, 79, 77, 75, 74, 75, 77, 78, 81, 81, 80,
+  80, 79, 78, 77, 76, 73, 78, 82, 83, 80, 79, 81, 83, 88, 86, 84,
+  83, 84, 85, 87, 89, 94, 94, 93, 94, 95, 96, 95, 94, 92, 93, 94,
+  95, 97, 98, 99, 99, 94, 97, 101, 103, 103, 101, 97, 94, 98, 97, 94,
+  92, 93, 92, 93, 93, 97, 97, 97, 95, 92, 89, 86, 85, 98, 95, 87,
+  84, 90, 100, 101, 93, 92, 104, 96, 92, 83, 77, 94, 95, 108, 116, 123,
+  167, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 76, 76, 79, 82, 79, 76, 73, 71, 71,
+  74, 78, 80, 80, 83, 81, 78, 76, 74, 74, 75, 76, 81, 80, 78, 77,
+  77, 79, 80, 81, 78, 78, 79, 80, 82, 83, 82, 81, 86, 85, 84, 84,
+  85, 87, 90, 91, 91, 90, 90, 91, 92, 92, 92, 92, 93, 93, 94, 95,
+  97, 98, 99, 99, 97, 98, 99, 100, 100, 99, 98, 97, 96, 95, 93, 91,
+  92, 91, 91, 92, 96, 95, 95, 92, 89, 85, 82, 80, 94, 94, 93, 88,
+  90, 96, 99, 97, 96, 104, 96, 100, 97, 97, 116, 115, 108, 118, 168, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 76, 75, 79, 83, 83, 79, 74, 73, 75, 78,
+  81, 82, 83, 86, 83, 80, 76, 74, 74, 74, 75, 81, 79, 77, 76, 77,
+  80, 83, 86, 83, 79, 76, 78, 83, 86, 84, 81, 85, 85, 84, 85, 87,
+  89, 92, 93, 89, 89, 90, 90, 91, 91, 91, 92, 94, 94, 95, 96, 97,
+  98, 99, 99, 99, 99, 98, 97, 97, 98, 99, 99, 95, 94, 92, 91, 91,
+  91, 91, 91, 93, 93, 94, 92, 90, 88, 86, 84, 93, 97, 100, 96, 94,
+  96, 99, 98, 99, 105, 98, 112, 126, 139, 166, 170, 165, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 74, 73, 77, 81, 80, 80, 74, 74, 77, 81, 82,
+  83, 85, 85, 83, 80, 77, 75, 75, 76, 77, 80, 80, 79, 78, 79, 81,
+  83, 84, 84, 82, 79, 79, 82, 84, 85, 84, 87, 86, 86, 87, 88, 89,
+  91, 92, 89, 91, 92, 92, 92, 92, 93, 95, 94, 95, 95, 96, 97, 98,
+  99, 99, 100, 100, 99, 99, 99, 99, 100, 100, 95, 95, 94, 92, 94, 93,
+  92, 92, 92, 93, 96, 97, 98, 98, 97, 97, 98, 100, 103, 101, 98, 97,
+  96, 97, 100, 106, 107, 137, 167, 192, 223, 228, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 195, 75, 78, 80, 77, 77, 70, 70, 77, 80, 79, 80,
+  84, 82, 80, 77, 75, 75, 75, 77, 78, 78, 79, 80, 81, 81, 80, 79,
+  78, 81, 82, 83, 81, 79, 79, 83, 86, 89, 89, 88, 88, 88, 88, 88,
+  88, 88, 90, 92, 93, 91, 91, 94, 96, 95, 96, 96, 97, 98, 98, 99,
+  99, 99, 100, 102, 103, 103, 102, 100, 99, 97, 97, 97, 96, 97, 97, 96,
+  95, 97, 97, 101, 102, 103, 104, 104, 104, 106, 102, 102, 101, 101, 99, 95,
+  93, 99, 113, 129, 175, 214, 229, 244, 247, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 75, 80, 80, 75, 77, 69, 69, 78, 82, 79, 80, 85,
+  82, 80, 78, 76, 76, 77, 78, 80, 77, 79, 82, 84, 84, 81, 79, 76,
+  80, 84, 86, 84, 80, 79, 83, 87, 89, 89, 89, 88, 87, 86, 86, 85,
+  85, 88, 91, 91, 89, 89, 92, 96, 96, 97, 97, 97, 98, 98, 99, 99,
+  98, 100, 102, 103, 103, 102, 100, 98, 98, 99, 99, 99, 101, 100, 99, 98,
+  102, 102, 104, 104, 103, 101, 100, 99, 109, 101, 98, 98, 100, 96, 95, 97,
+  103, 125, 154, 209, 241, 242, 246, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 193, 77, 78, 72, 78, 69, 70, 80, 84, 80, 80, 86, 84,
+  82, 79, 77, 76, 76, 77, 79, 77, 78, 80, 82, 83, 83, 82, 81, 83,
+  84, 85, 85, 84, 83, 83, 83, 87, 87, 87, 87, 87, 86, 86, 85, 85,
+  89, 93, 93, 90, 90, 93, 98, 97, 97, 97, 98, 98, 98, 99, 99, 99,
+  99, 99, 99, 99, 99, 99, 99, 99, 99, 100, 101, 102, 101, 100, 99, 102,
+  102, 104, 103, 101, 99, 98, 96, 105, 98, 96, 96, 93, 92, 98, 105, 113,
+  134, 165, 219, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 74, 77, 71, 81, 71, 70, 81, 86, 81, 81, 85, 86, 84,
+  81, 78, 76, 75, 76, 77, 77, 78, 78, 80, 81, 83, 85, 86, 85, 83,
+  82, 84, 88, 88, 84, 79, 84, 84, 85, 86, 87, 87, 87, 86, 88, 92,
+  96, 96, 93, 92, 97, 99, 97, 95, 98, 96, 98, 96, 99, 97, 100, 96,
+  96, 92, 94, 94, 98, 98, 98, 99, 100, 101, 103, 102, 100, 99, 98, 100,
+  100, 100, 100, 99, 98, 99, 96, 94, 95, 93, 89, 88, 100, 116, 124, 142,
+  164, 213, 243, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 194, 75, 71, 85, 79, 77, 79, 80, 81, 81, 80, 78, 84, 83,
+  76, 68, 74, 83, 89, 81, 82, 83, 84, 85, 85, 85, 85, 86, 86, 86,
+  86, 86, 86, 86, 85, 86, 84, 83, 83, 85, 86, 86, 85, 89, 90, 91,
+  91, 91, 93, 97, 100, 97, 92, 92, 91, 97, 97, 98, 95, 91, 92, 98,
+  96, 95, 92, 96, 99, 95, 95, 95, 98, 101, 102, 101, 99, 97, 101, 103,
+  100, 96, 95, 98, 101, 90, 100, 99, 92, 93, 95, 108, 129, 133, 184, 193,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 75, 78, 80, 76, 78, 80, 82, 84, 82, 81, 79, 80, 77, 68,
+  68, 71, 78, 79, 80, 81, 82, 83, 84, 85, 85, 85, 87, 86, 86, 86,
+  86, 86, 86, 86, 88, 86, 84, 85, 87, 88, 88, 87, 88, 90, 91, 91,
+  91, 92, 94, 94, 98, 94, 93, 95, 98, 100, 98, 96, 96, 98, 100, 100,
+  99, 99, 100, 100, 102, 102, 104, 105, 106, 106, 105, 104, 101, 100, 98, 97,
+  96, 95, 93, 92, 92, 96, 93, 92, 95, 95, 106, 128, 167, 201, 216, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 111, 80, 72, 71, 76, 79, 82, 85, 84, 84, 86, 84, 79, 69, 70,
+  73, 76, 73, 78, 79, 81, 83, 84, 85, 85, 85, 87, 87, 87, 87, 87,
+  87, 87, 87, 89, 87, 86, 87, 89, 90, 90, 89, 90, 92, 94, 94, 93,
+  93, 94, 93, 96, 94, 95, 97, 99, 100, 98, 96, 98, 98, 98, 99, 100,
+  100, 99, 98, 102, 104, 104, 104, 101, 99, 98, 98, 102, 98, 95, 96, 98,
+  97, 91, 86, 93, 92, 88, 92, 101, 100, 111, 137, 184, 217, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  212, 72, 66, 68, 74, 77, 80, 84, 85, 85, 87, 87, 83, 73, 69, 72,
+  75, 74, 77, 78, 80, 83, 85, 86, 87, 87, 88, 88, 88, 88, 89, 89,
+  89, 89, 89, 88, 86, 87, 89, 91, 91, 90, 94, 97, 99, 99, 98, 96,
+  96, 94, 92, 92, 94, 97, 98, 97, 95, 94, 100, 97, 96, 97, 100, 101,
+  98, 94, 100, 100, 99, 95, 89, 85, 84, 85, 93, 92, 92, 94, 96, 96,
+  92, 88, 90, 88, 85, 92, 102, 104, 124, 159, 186, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  188, 62, 66, 72, 72, 73, 80, 84, 84, 81, 85, 83, 72, 64, 64, 70,
+  72, 75, 77, 80, 83, 86, 88, 89, 90, 88, 88, 89, 89, 90, 90, 91,
+  91, 89, 87, 86, 87, 89, 91, 92, 91, 96, 98, 100, 100, 98, 97, 96,
+  94, 92, 92, 95, 97, 98, 97, 96, 95, 104, 101, 99, 100, 102, 103, 99,
+  96, 98, 98, 93, 86, 80, 77, 76, 77, 81, 86, 91, 94, 94, 94, 95,
+  97, 86, 88, 88, 92, 99, 107, 136, 176, 214, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  188, 63, 71, 69, 72, 80, 84, 82, 79, 85, 85, 73, 64, 62, 69, 73,
+  73, 75, 78, 82, 85, 88, 90, 90, 89, 89, 90, 90, 91, 92, 92, 93,
+  89, 87, 86, 87, 90, 92, 93, 92, 94, 96, 97, 97, 95, 94, 95, 94,
+  95, 96, 99, 100, 99, 98, 99, 99, 101, 100, 99, 99, 99, 98, 96, 94,
+  95, 88, 79, 72, 69, 70, 71, 71, 75, 81, 87, 90, 89, 90, 94, 98,
+  84, 91, 90, 90, 99, 114, 143, 177, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  57, 68, 69, 73, 81, 83, 80, 82, 86, 83, 72, 66, 64, 68, 68, 69,
+  71, 75, 79, 83, 86, 88, 89, 89, 90, 90, 91, 92, 93, 94, 94, 90,
+  89, 88, 89, 92, 94, 95, 94, 94, 95, 96, 95, 94, 94, 96, 96, 96,
+  97, 99, 99, 97, 97, 99, 102, 98, 99, 100, 98, 96, 93, 93, 93, 91,
+  80, 68, 63, 66, 72, 75, 75, 79, 80, 82, 84, 85, 87, 88, 90, 84,
+  94, 92, 92, 112, 135, 156, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 188,
+  69, 72, 76, 85, 85, 78, 82, 81, 75, 65, 62, 61, 61, 57, 66, 68,
+  72, 76, 81, 84, 86, 88, 90, 90, 91, 92, 93, 94, 94, 95, 92, 90,
+  89, 91, 94, 96, 97, 96, 96, 97, 97, 96, 95, 96, 98, 99, 95, 95,
+  97, 96, 94, 94, 98, 101, 101, 104, 105, 103, 99, 95, 96, 100, 95, 82,
+  68, 64, 72, 82, 87, 87, 86, 82, 79, 80, 83, 85, 84, 81, 83, 95,
+  93, 95, 125, 154, 169, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 187,
+  69, 77, 76, 76, 81, 70, 71, 72, 70, 67, 63, 61, 61, 66, 69, 72,
+  75, 78, 81, 84, 86, 84, 84, 84, 86, 90, 92, 92, 92, 91, 91, 92,
+  93, 93, 94, 95, 95, 93, 92, 91, 91, 94, 98, 103, 103, 96, 98, 101,
+  99, 94, 94, 99, 104, 99, 97, 97, 99, 97, 94, 92, 95, 93, 85, 80,
+  84, 87, 86, 86, 88, 100, 89, 84, 88, 88, 82, 82, 87, 88, 101, 106,
+  105, 114, 172, 223, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 53,
+  66, 72, 76, 77, 81, 78, 75, 69, 65, 61, 61, 62, 64, 66, 69, 72,
+  75, 79, 82, 85, 86, 85, 86, 87, 89, 90, 90, 90, 91, 92, 92, 93,
+  93, 94, 94, 94, 93, 93, 92, 93, 95, 98, 101, 101, 88, 89, 93, 96,
+  98, 98, 98, 99, 94, 95, 94, 92, 91, 91, 90, 90, 88, 83, 79, 81,
+  83, 81, 84, 89, 100, 90, 82, 84, 87, 89, 89, 91, 95, 98, 98, 107,
+  136, 201, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 183, 53,
+  68, 76, 74, 84, 81, 73, 66, 62, 59, 61, 63, 61, 62, 64, 68, 72,
+  77, 80, 82, 87, 87, 87, 87, 88, 88, 88, 89, 92, 92, 92, 92, 93,
+  93, 93, 93, 93, 94, 94, 96, 97, 98, 99, 98, 101, 96, 93, 93, 96,
+  98, 97, 96, 93, 98, 97, 90, 89, 93, 93, 89, 95, 95, 94, 94, 92,
+  92, 98, 105, 102, 97, 89, 84, 88, 95, 97, 93, 94, 96, 97, 113, 155,
+  220, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 65,
+  78, 77, 78, 74, 69, 64, 61, 60, 61, 63, 60, 60, 61, 65, 70, 76,
+  79, 81, 85, 86, 87, 87, 87, 87, 89, 90, 92, 92, 92, 92, 92, 92,
+  92, 92, 94, 95, 96, 98, 99, 98, 98, 95, 108, 99, 89, 82, 82, 87,
+  94, 99, 93, 99, 98, 90, 88, 94, 93, 87, 88, 92, 92, 90, 87, 87,
+  94, 100, 99, 103, 99, 89, 88, 95, 97, 92, 94, 101, 112, 126, 166, 230,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 57, 73,
+  78, 73, 72, 70, 68, 64, 60, 61, 61, 62, 60, 60, 64, 70, 76, 79,
+  80, 81, 83, 86, 87, 87, 87, 90, 93, 91, 91, 91, 92, 92, 92, 92,
+  93, 94, 95, 97, 99, 100, 99, 97, 94, 91, 86, 80, 72, 67, 70, 80,
+  89, 89, 95, 96, 89, 88, 92, 89, 84, 90, 94, 95, 92, 89, 88, 89,
+  90, 90, 102, 106, 97, 91, 94, 98, 96, 102, 106, 120, 136, 181, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 190, 69,
+  75, 76, 76, 75, 70, 64, 61, 59, 64, 61, 59, 62, 69, 75, 78, 78,
+  79, 82, 86, 87, 86, 87, 90, 94, 89, 89, 90, 91, 92, 93, 93, 94,
+  94, 96, 97, 99, 100, 99, 98, 96, 87, 88, 88, 80, 68, 60, 60, 62,
+  86, 88, 92, 94, 94, 93, 90, 90, 95, 98, 99, 99, 102, 255, 95, 86,
+  83, 95, 103, 102, 97, 97, 102, 105, 105, 99, 114, 137, 195, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 55, 74,
+  75, 76, 76, 72, 67, 64, 62, 66, 61, 58, 61, 68, 74, 75, 75, 80,
+  84, 88, 87, 85, 85, 88, 93, 87, 88, 89, 90, 92, 93, 94, 95, 95,
+  95, 97, 98, 99, 100, 100, 98, 98, 97, 97, 90, 78, 66, 57, 53, 74,
+  72, 80, 93, 96, 89, 87, 93, 92, 96, 99, 255, 255, 255, 255, 203, 88,
+  89, 94, 100, 102, 101, 103, 108, 105, 100, 125, 149, 205, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 187, 71, 72,
+  73, 73, 69, 66, 64, 63, 62, 59, 55, 57, 66, 72, 73, 72, 81, 86,
+  89, 88, 84, 83, 86, 88, 86, 87, 88, 90, 92, 94, 95, 96, 95, 93,
+  94, 95, 97, 98, 99, 99, 98, 95, 92, 89, 85, 80, 73, 68, 58, 54,
+  66, 87, 93, 83, 81, 90, 111, 115, 167, 255, 255, 255, 255, 255, 203, 89,
+  87, 98, 104, 102, 101, 106, 107, 114, 153, 173, 228, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 58, 76, 74,
+  77, 71, 60, 63, 51, 64, 58, 53, 56, 59, 59, 67, 75, 85, 83, 79,
+  82, 84, 86, 86, 84, 86, 88, 87, 84, 84, 91, 96, 95, 95, 92, 89,
+  87, 95, 103, 101, 94, 101, 101, 99, 98, 96, 90, 84, 77, 73, 67, 65,
+  71, 83, 93, 96, 94, 105, 164, 255, 255, 255, 255, 255, 255, 255, 255, 109,
+  100, 101, 104, 108, 111, 113, 115, 173, 205, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 63, 65, 70,
+  67, 57, 61, 52, 59, 57, 57, 58, 58, 58, 66, 74, 81, 81, 80, 84,
+  86, 87, 83, 80, 84, 87, 87, 85, 86, 93, 97, 96, 92, 92, 89, 88,
+  93, 100, 99, 93, 100, 101, 100, 100, 99, 95, 88, 83, 92, 86, 79, 79,
+  87, 98, 107, 110, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 131,
+  129, 127, 126, 127, 163, 153, 181, 194, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 188, 56, 68, 70,
+  63, 68, 58, 56, 57, 60, 61, 59, 58, 62, 68, 77, 79, 81, 85, 87,
+  86, 81, 78, 82, 86, 88, 88, 89, 95, 97, 96, 90, 93, 92, 91, 92,
+  96, 96, 95, 102, 103, 103, 103, 101, 96, 90, 84, 76, 76, 79, 87, 104,
+  129, 156, 170, 166, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224,
+  157, 156, 157, 180, 165, 169, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 63, 70, 67,
+  67, 55, 62, 63, 64, 65, 66, 65, 63, 62, 76, 78, 80, 83, 84, 84,
+  81, 79, 82, 87, 90, 90, 91, 95, 96, 93, 89, 93, 94, 93, 91, 92,
+  93, 96, 102, 105, 107, 108, 107, 104, 101, 98, 86, 86, 91, 102, 121, 145,
+  168, 179, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 50, 66, 65, 64,
+  50, 71, 68, 66, 67, 72, 74, 69, 61, 76, 78, 78, 80, 79, 81, 81,
+  82, 83, 88, 91, 91, 90, 94, 94, 90, 89, 92, 95, 95, 92, 89, 91,
+  95, 96, 100, 103, 106, 109, 109, 110, 110, 92, 92, 99, 115, 136, 154, 163,
+  165, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 61, 63, 69, 59,
+  66, 66, 63, 65, 71, 75, 72, 64, 75, 77, 79, 78, 79, 79, 82, 83,
+  81, 86, 89, 89, 89, 93, 93, 90, 90, 91, 94, 96, 93, 88, 88, 93,
+  98, 100, 100, 98, 98, 98, 100, 102, 95, 97, 111, 133, 158, 174, 177, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 55, 70, 72, 62,
+  66, 68, 68, 72, 81, 87, 86, 72, 76, 80, 81, 80, 78, 81, 83, 78,
+  82, 85, 86, 88, 93, 95, 93, 92, 91, 92, 96, 94, 88, 87, 91, 99,
+  102, 101, 99, 98, 101, 108, 113, 137, 139, 147, 157, 167, 199, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 76, 69, 78,
+  85, 83, 84, 95, 106, 113, 70, 76, 83, 85, 84, 81, 81, 83, 74, 79,
+  82, 84, 87, 94, 98, 97, 94, 90, 90, 96, 95, 89, 86, 90, 94, 99,
+  103, 109, 116, 128, 144, 154, 160, 163, 167, 169, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 90, 94, 96, 95, 95, 87, 78, 75, 82, 88, 86, 79, 83, 81, 84,
+  88, 90, 93, 94, 96, 93, 91, 90, 93, 97, 99, 96, 94, 94, 106, 111,
+  122, 141, 148, 153, 166, 164, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 90, 89, 90, 89, 83, 79, 80, 87, 91, 80, 85, 88, 86,
+  85, 93, 97, 97, 96, 95, 93, 96, 101, 107, 111, 114, 110, 138, 149, 146,
+  153, 158, 157, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 198, 90, 95, 92, 87, 83, 88, 89, 82, 91, 95, 91, 87,
+  92, 94, 89, 96, 96, 94, 96, 100, 109, 119, 127, 128, 164, 177, 161, 156,
+  160, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 199, 89, 96, 99, 96, 89, 82, 87, 85, 90, 96, 97, 95,
+  92, 91, 95, 97, 96, 96, 99, 107, 120, 129, 137, 165, 172, 156, 152, 189,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 202, 101, 102, 104, 105, 102, 82, 78, 93, 100, 94, 94,
+  103, 93, 95, 97, 99, 102, 109, 120, 128, 139, 152, 154, 151, 156, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 201, 117, 138, 139, 109, 92, 95, 94, 87, 90, 101,
+  89, 91, 93, 97, 103, 111, 120, 126, 142, 149, 151, 156, 195, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 222, 142, 129, 114, 102, 98, 99, 100, 102,
+  100, 99, 103, 110, 118, 125, 129, 144, 157, 189, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 123, 111, 126, 121,
+  115, 116, 122, 130, 136, 139, 180, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 };
+/* Define image 'enemy' of size 113x150x1x3 and type 'const unsigned char' */
+const unsigned char data_enemy[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  222, 221, 224, 223, 222, 223, 223, 222, 220, 217, 222, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 222, 222, 220,
+  217, 217, 219, 229, 228, 227, 227, 226, 223, 219, 215, 220, 221, 229, 248, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 244, 214, 227, 217, 219, 219, 218,
+  219, 225, 227, 224, 217, 213, 211, 213, 219, 219, 214, 209, 222, 220, 220, 223,
+  227, 229, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 249, 203, 226, 236, 212, 219, 189, 143,
+  106, 94, 105, 118, 124, 154, 143, 132, 130, 141, 158, 172, 180, 188, 192, 200,
+  211, 221, 227, 227, 225, 232, 229, 222, 216, 222, 231, 226, 215, 226, 199, 187,
+  202, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 246, 230, 229, 231, 232, 210, 168, 127, 98,
+  56, 32, 35, 52, 63, 64, 56, 50, 45, 45, 53, 63, 72, 76, 89, 99,
+  121, 150, 181, 208, 227, 236, 234, 234, 222, 206, 206, 214, 203, 182, 199, 194,
+  198, 201, 192, 182, 216, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 239, 226, 217, 218, 225, 187, 134, 98, 56,
+  48, 36, 36, 45, 51, 42, 29, 41, 42, 45, 49, 51, 48, 44, 38, 46,
+  50, 61, 78, 100, 125, 146, 157, 161, 202, 229, 210, 171, 157, 174, 196, 173,
+  183, 186, 183, 187, 199, 201, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 246, 229, 227, 207, 237, 206, 142, 86, 84, 43,
+  38, 37, 33, 31, 33, 36, 30, 21, 27, 26, 26, 27, 30, 33, 34, 34,
+  48, 46, 44, 42, 45, 51, 59, 65, 79, 71, 76, 98, 117, 123, 121, 121,
+  123, 146, 166, 172, 180, 192, 193, 184, 212, 222, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 231, 234, 235, 211, 252, 204, 176, 55, 74, 35,
+  45, 27, 27, 23, 19, 21, 29, 35, 36, 25, 25, 26, 27, 31, 35, 38,
+  40, 33, 36, 40, 42, 43, 43, 44, 45, 40, 37, 46, 61, 62, 61, 80,
+  107, 91, 113, 145, 166, 163, 156, 167, 185, 196, 197, 234, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 246, 227, 229, 231, 233, 225, 228, 194, 49, 98, 30,
+  43, 36, 28, 30, 29, 25, 23, 27, 27, 24, 15, 18, 22, 25, 26, 25,
+  24, 23, 32, 36, 42, 44, 43, 40, 38, 37, 44, 34, 29, 29, 28, 29,
+  41, 56, 93, 83, 87, 116, 148, 162, 160, 156, 178, 186, 220, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 230, 227, 225, 224, 225, 225, 219, 199, 106, 69, 27,
+  46, 15, 25, 19, 21, 22, 22, 26, 30, 29, 23, 16, 16, 15, 14, 15,
+  19, 24, 27, 25, 28, 32, 32, 30, 30, 32, 35, 21, 32, 38, 28, 17,
+  21, 38, 53, 53, 64, 71, 80, 112, 153, 170, 164, 160, 172, 212, 222, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 234, 229, 206, 228, 216, 216, 223, 210, 133, 56, 29,
+  32, 32, 25, 21, 22, 23, 25, 28, 30, 28, 28, 23, 17, 16, 12, 9,
+  15, 28, 33, 30, 27, 28, 30, 32, 33, 30, 25, 21, 27, 28, 27, 22,
+  19, 23, 34, 43, 42, 50, 61, 77, 102, 129, 142, 141, 152, 152, 213, 223,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 215, 235, 205, 232, 229, 215, 219, 213, 129, 56, 37, 24,
+  25, 28, 24, 21, 23, 29, 26, 23, 23, 23, 23, 19, 16, 12, 14, 15,
+  15, 20, 29, 31, 28, 26, 21, 17, 20, 26, 28, 24, 20, 36, 33, 30,
+  27, 27, 31, 37, 42, 32, 38, 47, 63, 86, 108, 115, 110, 135, 135, 197,
+  217, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 222, 233, 233, 232, 237, 221, 237, 214, 137, 28, 30, 35,
+  38, 33, 22, 16, 18, 22, 25, 20, 15, 16, 21, 24, 23, 20, 7, 14,
+  21, 24, 26, 29, 29, 27, 25, 17, 11, 13, 22, 28, 26, 22, 35, 31,
+  26, 25, 27, 30, 31, 31, 25, 27, 32, 45, 66, 87, 95, 92, 130, 137,
+  194, 230, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 246, 244, 233, 207, 222, 203, 226, 211, 136, 36, 29, 51, 41,
+  39, 28, 15, 15, 26, 33, 33, 22, 17, 14, 17, 24, 27, 25, 21, 10,
+  17, 25, 27, 26, 25, 25, 24, 23, 19, 15, 16, 20, 25, 26, 26, 29,
+  27, 25, 23, 23, 24, 24, 23, 30, 29, 30, 35, 47, 62, 75, 79, 101,
+  118, 174, 227, 212, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 237, 233, 220, 220, 232, 221, 201, 109, 22, 54, 51, 26, 18,
+  24, 23, 17, 12, 22, 37, 38, 27, 25, 22, 20, 22, 24, 23, 17, 12,
+  19, 22, 26, 26, 23, 19, 19, 22, 17, 20, 23, 22, 19, 19, 22, 25,
+  26, 30, 32, 29, 25, 22, 25, 28, 33, 35, 38, 38, 38, 41, 50, 57,
+  52, 74, 124, 195, 201, 223, 236, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 234, 242, 233, 217, 215, 226, 179, 59, 38, 51, 34, 22, 51,
+  27, 26, 31, 31, 25, 23, 26, 24, 18, 18, 18, 20, 22, 23, 21, 17,
+  14, 27, 24, 23, 23, 19, 15, 16, 19, 12, 19, 26, 24, 16, 12, 16,
+  21, 23, 28, 32, 30, 24, 22, 26, 31, 22, 29, 40, 47, 46, 43, 46,
+  50, 47, 61, 93, 164, 198, 214, 230, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 244, 239, 225, 199, 222, 250, 190, 92, 45, 26, 45, 46, 39, 16,
+  26, 21, 18, 21, 21, 17, 14, 16, 22, 26, 14, 17, 21, 22, 22, 22,
+  24, 25, 32, 25, 21, 22, 21, 17, 16, 19, 14, 20, 24, 23, 18, 15,
+  18, 22, 20, 22, 24, 24, 22, 22, 25, 28, 21, 22, 30, 42, 47, 45,
+  45, 46, 53, 58, 72, 131, 188, 179, 194, 210, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 246, 232, 212, 218, 243, 225, 149, 71, 32, 44, 49, 45, 17, 32,
+  29, 34, 27, 29, 26, 24, 26, 26, 24, 23, 24, 25, 28, 29, 26, 20,
+  19, 22, 26, 31, 23, 18, 21, 22, 18, 16, 17, 18, 19, 21, 20, 19,
+  19, 21, 23, 22, 20, 19, 21, 25, 28, 28, 28, 35, 25, 19, 25, 31,
+  31, 30, 32, 30, 32, 37, 91, 160, 131, 140, 157, 221, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 247, 236, 220, 221, 229, 240, 99, 15, 53, 47, 32, 31, 30, 28,
+  28, 28, 28, 28, 20, 23, 24, 20, 18, 20, 22, 22, 23, 25, 23, 16,
+  15, 20, 22, 18, 30, 20, 18, 24, 24, 14, 10, 14, 22, 23, 20, 15,
+  15, 20, 23, 22, 21, 20, 20, 20, 22, 24, 25, 25, 29, 22, 19, 23,
+  29, 32, 35, 39, 35, 18, 47, 63, 134, 135, 156, 142, 186, 212, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 232, 234, 238, 217, 246, 193, 25, 40, 51, 31, 37, 42, 38, 33,
+  28, 24, 22, 22, 22, 26, 22, 19, 20, 22, 22, 21, 20, 21, 23, 22,
+  16, 16, 20, 21, 18, 27, 19, 18, 23, 21, 12, 9, 14, 18, 20, 18,
+  14, 14, 18, 20, 18, 18, 18, 17, 18, 20, 21, 22, 22, 26, 21, 18,
+  22, 26, 28, 32, 37, 32, 24, 39, 36, 65, 61, 87, 94, 141, 190, 218,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 227, 228, 231, 233, 243, 190, 40, 28, 30, 38, 28, 41, 37, 34,
+  29, 25, 23, 24, 26, 28, 32, 20, 14, 20, 24, 21, 18, 18, 18, 20,
+  20, 17, 17, 19, 19, 17, 23, 18, 18, 22, 19, 11, 10, 15, 17, 20,
+  20, 17, 17, 20, 20, 17, 17, 18, 18, 19, 19, 20, 21, 21, 21, 18,
+  18, 21, 22, 22, 28, 35, 32, 31, 31, 25, 22, 24, 43, 62, 95, 148,
+  199, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 222, 221, 226, 229, 227, 217, 51, 41, 49, 45, 51, 44, 29, 29,
+  28, 26, 25, 25, 27, 29, 30, 32, 19, 14, 20, 23, 17, 15, 20, 17,
+  18, 19, 18, 18, 19, 18, 16, 18, 16, 18, 20, 17, 11, 11, 15, 17,
+  21, 22, 20, 20, 22, 21, 17, 18, 19, 21, 21, 21, 21, 21, 22, 17,
+  16, 17, 19, 18, 17, 23, 31, 34, 33, 21, 31, 22, 36, 34, 42, 60,
+  88, 139, 196, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 227, 220, 224, 234, 232, 221, 120, 31, 48, 36, 31, 45, 37, 29,
+  28, 29, 30, 29, 28, 25, 23, 21, 26, 19, 17, 20, 19, 14, 17, 24,
+  18, 18, 18, 19, 19, 17, 16, 17, 16, 16, 17, 18, 17, 13, 13, 15,
+  16, 21, 22, 20, 20, 22, 21, 16, 16, 19, 22, 22, 20, 19, 19, 21,
+  15, 15, 16, 18, 16, 15, 20, 27, 31, 33, 17, 29, 15, 31, 17, 20,
+  32, 43, 76, 129, 172, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 229, 226, 223, 232, 239, 218, 187, 55, 63, 26, 58, 16, 17, 31,
+  31, 22, 24, 28, 30, 30, 27, 24, 21, 20, 21, 21, 19, 17, 19, 24,
+  28, 22, 19, 18, 20, 19, 16, 15, 18, 17, 16, 15, 17, 19, 19, 17,
+  15, 14, 18, 19, 17, 17, 19, 18, 14, 12, 16, 20, 20, 17, 15, 16,
+  18, 17, 14, 15, 17, 17, 15, 18, 24, 22, 33, 23, 28, 5, 17, 13,
+  21, 24, 39, 55, 73, 121, 225, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 223, 227, 225, 223, 229, 218, 167, 109, 40, 36, 82, 22, 24, 34,
+  38, 15, 20, 22, 25, 28, 29, 28, 26, 24, 20, 24, 22, 16, 19, 30,
+  35, 30, 27, 22, 19, 21, 19, 15, 15, 19, 20, 17, 14, 16, 22, 25,
+  21, 15, 15, 18, 19, 16, 16, 19, 18, 15, 11, 16, 21, 20, 16, 13,
+  14, 17, 19, 15, 13, 17, 19, 18, 18, 21, 17, 29, 30, 30, 13, 19,
+  20, 24, 21, 35, 47, 46, 73, 184, 226, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 248, 224, 228, 225, 220, 218, 190, 113, 35, 32, 59, 11, 37, 44,
+  21, 24, 26, 30, 30, 30, 27, 25, 22, 21, 19, 25, 28, 24, 16, 24,
+  43, 44, 32, 31, 23, 20, 21, 19, 12, 13, 20, 21, 17, 14, 16, 24,
+  29, 24, 16, 19, 22, 22, 17, 17, 21, 21, 18, 14, 19, 24, 23, 19,
+  15, 16, 18, 22, 15, 13, 17, 22, 21, 20, 20, 17, 26, 30, 28, 26,
+  24, 16, 8, 10, 14, 27, 31, 35, 121, 183, 232, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 245, 228, 219, 232, 230, 224, 236, 117, 47, 49, 47, 39, 31, 29,
+  31, 32, 32, 29, 30, 24, 28, 46, 36, 27, 42, 32, 36, 31, 43, 31,
+  37, 77, 66, 27, 15, 36, 18, 3, 19, 15, 6, 28, 10, 26, 18, 14,
+  31, 34, 24, 30, 23, 22, 20, 19, 22, 23, 15, 8, 13, 18, 19, 17,
+  18, 19, 18, 15, 21, 17, 19, 19, 19, 29, 33, 22, 16, 20, 26, 31,
+  29, 22, 20, 22, 16, 18, 27, 36, 47, 79, 140, 195, 234, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 227, 230, 230, 225, 213, 224, 216, 41, 65, 48, 48, 43, 36,
+  34, 33, 32, 28, 27, 25, 28, 22, 26, 24, 28, 46, 36, 50, 41, 31,
+  69, 43, 89, 49, 38, 32, 29, 39, 26, 23, 27, 18, 28, 13, 28, 22,
+  19, 35, 38, 31, 32, 31, 27, 21, 19, 22, 21, 16, 11, 19, 24, 23,
+  21, 22, 25, 22, 18, 20, 17, 21, 21, 21, 31, 37, 22, 15, 17, 24,
+  31, 31, 28, 28, 32, 20, 22, 29, 35, 37, 55, 97, 139, 193, 233, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 226, 228, 231, 254, 197, 247, 230, 89, 69, 35, 57, 45, 42,
+  40, 36, 32, 29, 25, 23, 16, 31, 19, 21, 38, 53, 69, 65, 75, 49,
+  63, 85, 87, 82, 53, 46, 48, 27, 45, 38, 21, 27, 22, 21, 23, 35,
+  30, 25, 36, 44, 38, 35, 38, 30, 22, 19, 21, 20, 16, 14, 20, 21,
+  20, 19, 21, 25, 23, 17, 18, 17, 22, 21, 22, 33, 36, 22, 17, 17,
+  20, 26, 27, 27, 30, 35, 23, 25, 30, 32, 28, 31, 52, 77, 166, 225,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 226, 226, 227, 229, 222, 233, 228, 149, 53, 51, 71, 43, 43,
+  47, 46, 41, 35, 32, 27, 25, 21, 38, 24, 31, 54, 57, 62, 63, 69,
+  58, 91, 80, 89, 61, 45, 35, 57, 43, 32, 34, 29, 21, 24, 18, 32,
+  39, 36, 29, 37, 48, 49, 43, 39, 29, 22, 22, 23, 21, 17, 15, 17,
+  19, 18, 18, 22, 28, 27, 21, 16, 17, 22, 21, 22, 35, 38, 20, 23,
+  19, 18, 21, 21, 20, 23, 28, 25, 25, 28, 29, 25, 23, 33, 46, 124,
+  214, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 228, 227, 226, 225, 208, 243, 137, 60, 60, 67, 61, 55,
+  50, 54, 55, 47, 42, 41, 38, 34, 27, 37, 26, 52, 81, 76, 82, 95,
+  75, 111, 122, 110, 78, 94, 64, 62, 53, 68, 21, 38, 59, 27, 34, 30,
+  36, 38, 36, 28, 35, 55, 65, 56, 36, 26, 20, 24, 26, 21, 17, 16,
+  17, 19, 20, 21, 27, 34, 35, 31, 15, 18, 23, 20, 20, 36, 39, 22,
+  27, 21, 18, 19, 19, 17, 19, 23, 27, 26, 25, 25, 24, 25, 33, 41,
+  63, 172, 221, 230, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 228, 228, 227, 225, 222, 237, 200, 35, 82, 59, 57, 72,
+  46, 57, 61, 57, 48, 43, 45, 44, 37, 42, 42, 38, 73, 96, 88, 104,
+  119, 75, 110, 125, 79, 70, 79, 69, 63, 47, 70, 28, 51, 81, 43, 45,
+  52, 36, 36, 37, 31, 36, 64, 79, 67, 36, 26, 21, 27, 29, 23, 17,
+  17, 12, 17, 20, 20, 24, 32, 35, 35, 17, 21, 25, 20, 20, 38, 44,
+  26, 25, 20, 18, 21, 22, 21, 21, 23, 27, 26, 25, 23, 23, 27, 34,
+  40, 32, 127, 200, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 246, 229, 230, 229, 228, 224, 226, 86, 88, 78, 77, 65,
+  56, 56, 73, 72, 62, 49, 46, 50, 49, 42, 61, 60, 63, 88, 87, 76,
+  85, 80, 126, 119, 135, 73, 107, 83, 90, 85, 64, 58, 55, 62, 73, 59,
+  55, 82, 41, 41, 46, 41, 41, 69, 84, 66, 45, 30, 22, 27, 29, 21,
+  17, 20, 10, 14, 20, 18, 19, 25, 32, 34, 23, 27, 29, 21, 21, 43,
+  50, 32, 22, 17, 17, 21, 24, 22, 20, 20, 24, 26, 27, 26, 25, 28,
+  33, 36, 32, 82, 154, 219, 227, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 227, 228, 231, 231, 229, 226, 100, 114, 71, 90, 99,
+  66, 47, 76, 91, 88, 74, 58, 56, 63, 61, 50, 54, 65, 86, 112, 109,
+  104, 115, 93, 165, 137, 112, 96, 110, 103, 81, 100, 96, 53, 87, 73, 56,
+  71, 67, 111, 54, 50, 58, 51, 46, 71, 83, 58, 53, 36, 25, 28, 29,
+  20, 19, 22, 14, 20, 27, 24, 20, 25, 32, 37, 29, 31, 33, 23, 24,
+  46, 53, 35, 19, 15, 15, 21, 23, 19, 15, 14, 18, 24, 30, 30, 30,
+  31, 33, 33, 30, 41, 102, 188, 212, 214, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 228, 223, 228, 242, 203, 229, 67, 82, 82, 103,
+  98, 72, 83, 81, 106, 62, 79, 57, 58, 69, 67, 51, 99, 94, 101, 126,
+  95, 103, 116, 136, 136, 128, 121, 119, 115, 96, 98, 124, 89, 87, 104, 95,
+  68, 79, 107, 95, 60, 68, 58, 52, 45, 88, 91, 77, 55, 24, 32, 20,
+  28, 23, 23, 18, 19, 16, 26, 21, 29, 34, 27, 44, 48, 33, 22, 23,
+  31, 36, 36, 38, 18, 11, 22, 21, 21, 24, 17, 27, 18, 25, 24, 29,
+  39, 28, 19, 31, 30, 48, 67, 115, 184, 215, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 246, 230, 231, 223, 229, 235, 139, 84, 86, 75,
+  90, 89, 70, 75, 69, 72, 88, 71, 102, 57, 87, 61, 102, 112, 123, 97,
+  132, 95, 141, 121, 130, 139, 103, 126, 127, 85, 111, 137, 85, 97, 97, 97,
+  104, 76, 86, 83, 71, 82, 89, 59, 53, 52, 89, 105, 104, 62, 30, 35,
+  19, 29, 33, 32, 19, 15, 27, 23, 31, 20, 46, 28, 49, 50, 37, 24,
+  24, 27, 30, 31, 33, 22, 14, 24, 21, 21, 25, 17, 27, 28, 30, 36,
+  28, 19, 36, 45, 26, 35, 55, 67, 90, 150, 208, 224, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 226, 222, 235, 225, 219, 186, 65, 76, 72,
+  60, 75, 81, 70, 68, 58, 50, 92, 84, 79, 85, 80, 79, 96, 109, 109,
+  123, 110, 136, 116, 118, 107, 126, 167, 115, 70, 111, 112, 93, 132, 114, 124,
+  127, 118, 123, 131, 116, 81, 96, 114, 62, 51, 54, 87, 120, 134, 77, 34,
+  35, 21, 34, 41, 40, 21, 19, 30, 34, 34, 33, 50, 38, 55, 64, 50,
+  36, 33, 33, 31, 28, 28, 20, 11, 20, 18, 19, 22, 14, 23, 36, 23,
+  37, 34, 13, 37, 57, 25, 30, 34, 42, 58, 100, 166, 206, 222, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 224, 215, 232, 234, 194, 68, 60, 55,
+  53, 54, 68, 72, 63, 55, 47, 59, 96, 62, 96, 68, 74, 71, 98, 117,
+  127, 124, 142, 134, 111, 100, 135, 154, 132, 98, 105, 140, 125, 92, 99, 121,
+  141, 152, 111, 153, 159, 153, 99, 98, 140, 83, 54, 55, 90, 132, 152, 101,
+  34, 31, 29, 41, 40, 42, 25, 32, 22, 54, 31, 66, 41, 53, 66, 81,
+  62, 44, 41, 41, 38, 29, 23, 17, 9, 19, 19, 21, 25, 15, 23, 40,
+  19, 30, 44, 32, 35, 49, 40, 45, 23, 31, 57, 80, 126, 180, 205, 230,
+  255, 255, 255, 255, 255, 255, 255, 255, 221, 224, 220, 225, 219, 123, 13, 67,
+  48, 51, 60, 60, 53, 45, 39, 42, 76, 69, 60, 98, 57, 41, 87, 132,
+  115, 125, 115, 123, 114, 102, 105, 150, 145, 78, 95, 129, 96, 94, 125, 114,
+  152, 163, 158, 139, 161, 173, 160, 128, 94, 153, 111, 67, 58, 102, 138, 155,
+  123, 35, 33, 43, 47, 33, 38, 30, 40, 17, 52, 47, 84, 49, 57, 78,
+  84, 65, 47, 44, 49, 46, 34, 26, 17, 9, 20, 22, 27, 31, 20, 26,
+  34, 33, 31, 35, 42, 39, 42, 56, 54, 30, 33, 48, 56, 91, 152, 188,
+  200, 255, 255, 255, 255, 255, 255, 255, 255, 221, 225, 232, 220, 163, 48, 47,
+  49, 49, 48, 57, 45, 37, 39, 39, 53, 58, 37, 56, 34, 50, 56, 125,
+  113, 82, 95, 111, 85, 109, 105, 116, 107, 88, 84, 79, 78, 86, 109, 152,
+  195, 180, 176, 152, 193, 173, 192, 162, 168, 92, 145, 129, 77, 57, 108, 130,
+  144, 133, 40, 40, 52, 48, 32, 40, 33, 37, 27, 39, 71, 80, 76, 54,
+  85, 83, 68, 56, 55, 57, 54, 47, 42, 18, 7, 17, 18, 23, 29, 19,
+  25, 19, 44, 35, 16, 26, 38, 41, 50, 48, 46, 42, 29, 26, 63, 122,
+  157, 174, 255, 255, 255, 255, 255, 255, 255, 255, 223, 223, 227, 213, 78, 28,
+  57, 37, 47, 37, 44, 30, 30, 42, 37, 50, 27, 45, 26, 42, 42, 129,
+  101, 75, 64, 97, 83, 112, 78, 134, 101, 86, 95, 88, 94, 118, 155, 190,
+  195, 174, 173, 161, 161, 199, 185, 195, 175, 162, 111, 128, 133, 87, 61, 113,
+  118, 139, 133, 51, 55, 56, 45, 37, 50, 34, 35, 38, 43, 80, 83, 100,
+  67, 85, 83, 77, 72, 68, 60, 53, 51, 53, 28, 13, 16, 13, 18, 26,
+  19, 28, 15, 33, 42, 29, 19, 29, 38, 34, 46, 59, 54, 37, 31, 48,
+  93, 138, 170, 190, 255, 255, 255, 255, 255, 255, 244, 226, 222, 213, 208, 17,
+  51, 21, 44, 52, 34, 39, 26, 29, 40, 21, 25, 33, 40, 51, 86, 115,
+  130, 69, 81, 80, 80, 75, 86, 62, 90, 93, 86, 121, 159, 177, 184, 198,
+  193, 187, 199, 172, 161, 200, 186, 207, 196, 202, 136, 138, 122, 137, 100, 73,
+  124, 117, 147, 130, 62, 71, 60, 43, 47, 62, 36, 37, 43, 63, 71, 98,
+  110, 87, 83, 81, 82, 82, 72, 53, 40, 42, 50, 45, 26, 24, 17, 21,
+  31, 27, 38, 25, 18, 50, 66, 33, 24, 37, 27, 31, 40, 42, 43, 36,
+  21, 51, 114, 160, 173, 255, 255, 255, 255, 255, 255, 219, 223, 233, 221, 134,
+  27, 51, 48, 31, 44, 36, 30, 29, 31, 30, 28, 29, 45, 53, 85, 121,
+  116, 81, 74, 95, 78, 105, 117, 112, 112, 118, 132, 151, 177, 189, 200, 201,
+  198, 200, 199, 199, 147, 181, 202, 196, 195, 203, 193, 165, 145, 116, 122, 99,
+  76, 95, 157, 116, 117, 142, 64, 78, 66, 64, 57, 40, 46, 49, 60, 61,
+  98, 112, 105, 70, 85, 78, 75, 88, 64, 33, 42, 44, 44, 52, 24, 17,
+  21, 27, 45, 27, 27, 29, 26, 50, 49, 33, 39, 19, 24, 40, 58, 41,
+  45, 53, 47, 80, 139, 166, 206, 255, 255, 255, 255, 255, 224, 230, 216, 196,
+  46, 26, 42, 38, 45, 24, 26, 28, 30, 30, 29, 32, 40, 40, 100, 129,
+  103, 74, 82, 106, 117, 151, 172, 179, 172, 172, 171, 177, 190, 198, 204, 211,
+  212, 213, 210, 202, 192, 176, 196, 206, 200, 199, 204, 192, 170, 138, 137, 126,
+  99, 86, 108, 151, 130, 92, 140, 88, 89, 71, 75, 62, 59, 56, 55, 65,
+  65, 101, 111, 110, 83, 73, 75, 76, 81, 57, 30, 41, 40, 50, 47, 17,
+  18, 26, 21, 38, 45, 31, 31, 27, 47, 43, 27, 31, 11, 24, 31, 51,
+  46, 46, 51, 44, 66, 104, 153, 185, 255, 255, 255, 255, 255, 223, 221, 221,
+  135, 4, 44, 45, 39, 45, 29, 35, 39, 35, 29, 29, 40, 52, 79, 74,
+  67, 76, 108, 152, 183, 198, 199, 211, 212, 206, 208, 206, 204, 210, 212, 212,
+  213, 214, 216, 212, 197, 180, 203, 207, 207, 204, 205, 205, 195, 181, 145, 163,
+  129, 99, 81, 112, 145, 146, 96, 153, 119, 98, 83, 101, 63, 67, 67, 64,
+  73, 73, 102, 108, 115, 102, 74, 79, 82, 84, 55, 28, 37, 34, 54, 62,
+  32, 20, 25, 21, 35, 51, 35, 30, 24, 35, 32, 28, 37, 26, 28, 21,
+  43, 52, 50, 51, 45, 51, 69, 118, 172, 255, 255, 255, 255, 245, 222, 214,
+  230, 52, 26, 50, 44, 50, 39, 44, 46, 44, 35, 35, 44, 60, 76, 86,
+  83, 108, 158, 186, 184, 199, 225, 206, 213, 206, 202, 210, 210, 206, 209, 215,
+  216, 212, 211, 213, 210, 197, 181, 210, 205, 205, 205, 206, 201, 195, 193, 150,
+  171, 146, 123, 82, 112, 141, 135, 119, 162, 130, 97, 96, 134, 70, 67, 74,
+  70, 84, 82, 100, 96, 112, 116, 92, 82, 78, 88, 62, 27, 31, 32, 49,
+  84, 66, 26, 21, 29, 36, 43, 53, 38, 26, 24, 20, 28, 45, 45, 35,
+  18, 35, 54, 51, 52, 52, 45, 57, 81, 149, 255, 255, 255, 255, 225, 222,
+  223, 184, 6, 38, 34, 36, 47, 46, 35, 39, 39, 38, 50, 73, 90, 102,
+  120, 158, 192, 203, 200, 199, 207, 211, 213, 212, 203, 201, 212, 214, 211, 217,
+  219, 219, 217, 213, 212, 212, 208, 199, 209, 204, 208, 209, 206, 197, 195, 200,
+  148, 162, 168, 165, 96, 117, 146, 120, 130, 160, 132, 99, 98, 146, 85, 86,
+  81, 75, 92, 92, 99, 82, 103, 121, 100, 72, 59, 80, 64, 26, 29, 37,
+  37, 74, 78, 41, 26, 31, 34, 44, 67, 49, 39, 25, 16, 26, 37, 40,
+  38, 22, 28, 47, 46, 48, 56, 45, 60, 68, 144, 202, 255, 255, 255, 226,
+  223, 213, 97, 25, 40, 42, 41, 39, 61, 90, 98, 104, 114, 133, 154, 164,
+  163, 189, 199, 193, 182, 194, 221, 229, 217, 219, 217, 209, 206, 217, 214, 212,
+  220, 216, 219, 220, 214, 212, 214, 216, 213, 211, 210, 212, 214, 206, 195, 194,
+  200, 169, 165, 179, 171, 98, 110, 162, 142, 146, 169, 153, 128, 101, 136, 98,
+  105, 99, 84, 95, 95, 99, 74, 95, 119, 99, 62, 41, 63, 55, 24, 32,
+  40, 31, 36, 58, 53, 33, 26, 30, 53, 54, 41, 46, 33, 24, 34, 32,
+  31, 38, 34, 25, 34, 36, 40, 54, 44, 58, 72, 157, 163, 255, 255, 255,
+  225, 222, 184, 49, 45, 40, 56, 50, 53, 91, 123, 134, 143, 149, 164, 179,
+  180, 174, 201, 206, 213, 216, 213, 208, 211, 215, 214, 217, 213, 213, 218, 211,
+  208, 220, 214, 217, 218, 213, 213, 215, 217, 214, 215, 213, 212, 211, 206, 200,
+  196, 197, 187, 181, 183, 157, 105, 98, 160, 168, 162, 176, 166, 161, 113, 130,
+  109, 118, 127, 92, 92, 94, 103, 77, 92, 116, 109, 80, 51, 52, 38, 23,
+  34, 32, 39, 13, 41, 48, 26, 25, 30, 44, 39, 31, 48, 38, 30, 43,
+  34, 32, 38, 52, 30, 25, 31, 33, 49, 44, 50, 64, 165, 166, 255, 255,
+  255, 222, 218, 165, 53, 29, 31, 45, 44, 79, 129, 151, 161, 168, 168, 178,
+  195, 197, 193, 203, 209, 210, 211, 216, 222, 222, 219, 209, 216, 218, 221, 223,
+  213, 210, 222, 218, 220, 219, 217, 219, 221, 218, 211, 215, 211, 206, 203, 204,
+  204, 201, 196, 176, 185, 188, 157, 126, 93, 139, 162, 159, 163, 155, 175, 126,
+  134, 122, 121, 149, 101, 89, 93, 108, 83, 94, 113, 130, 111, 75, 52, 29,
+  21, 36, 23, 52, 16, 41, 36, 11, 31, 34, 22, 45, 35, 53, 39, 29,
+  42, 32, 31, 40, 67, 38, 24, 31, 32, 46, 43, 43, 45, 161, 179, 255,
+  255, 255, 217, 215, 125, 52, 40, 30, 53, 56, 93, 155, 165, 174, 180, 182,
+  188, 196, 198, 196, 204, 206, 207, 208, 209, 211, 212, 212, 212, 219, 222, 219,
+  214, 212, 216, 221, 223, 222, 220, 219, 218, 216, 213, 210, 213, 219, 221, 213,
+  208, 208, 203, 196, 195, 186, 178, 156, 119, 104, 116, 129, 171, 157, 157, 155,
+  150, 154, 147, 122, 145, 146, 110, 80, 90, 89, 86, 106, 128, 127, 112, 79,
+  46, 27, 28, 33, 53, 55, 33, 15, 23, 23, 22, 37, 49, 43, 33, 28,
+  34, 45, 50, 49, 45, 55, 60, 43, 20, 26, 41, 41, 60, 56, 109, 154,
+  255, 255, 255, 219, 215, 119, 42, 33, 32, 51, 64, 110, 161, 164, 175, 180,
+  181, 181, 186, 190, 190, 197, 199, 200, 200, 204, 209, 215, 219, 217, 216, 214,
+  218, 226, 228, 223, 218, 220, 219, 219, 220, 221, 220, 217, 215, 211, 214, 213,
+  207, 200, 198, 197, 197, 183, 186, 184, 157, 120, 112, 121, 121, 152, 160, 154,
+  152, 163, 154, 135, 133, 140, 171, 144, 90, 85, 101, 105, 111, 95, 107, 117,
+  109, 81, 52, 39, 34, 46, 48, 32, 19, 23, 21, 18, 30, 42, 62, 74,
+  62, 44, 42, 59, 77, 44, 46, 50, 40, 22, 25, 40, 43, 46, 50, 92,
+  150, 202, 255, 255, 218, 213, 118, 39, 36, 43, 51, 78, 136, 169, 166, 177,
+  183, 180, 176, 178, 183, 186, 178, 180, 186, 187, 192, 195, 199, 203, 211, 211,
+  212, 220, 228, 232, 228, 221, 217, 216, 216, 216, 217, 215, 211, 208, 208, 207,
+  203, 198, 188, 182, 185, 192, 178, 181, 172, 135, 100, 106, 125, 128, 130, 152,
+  144, 147, 172, 152, 123, 144, 137, 159, 152, 129, 121, 105, 93, 98, 99, 107,
+  117, 113, 83, 47, 30, 25, 37, 39, 32, 24, 24, 18, 14, 22, 40, 53,
+  63, 59, 52, 51, 56, 59, 48, 39, 39, 36, 23, 23, 35, 41, 36, 45,
+  73, 142, 161, 255, 255, 216, 209, 114, 41, 42, 58, 50, 88, 155, 169, 174,
+  179, 181, 178, 174, 173, 173, 175, 173, 177, 184, 191, 191, 188, 188, 193, 194,
+  205, 214, 219, 218, 219, 224, 229, 220, 219, 217, 217, 215, 208, 201, 196, 205,
+  201, 194, 186, 173, 162, 162, 168, 162, 158, 147, 117, 89, 98, 124, 136, 115,
+  126, 123, 138, 161, 144, 125, 141, 142, 148, 148, 152, 154, 126, 95, 89, 122,
+  123, 130, 126, 98, 63, 47, 47, 37, 35, 33, 29, 24, 16, 14, 21, 34,
+  32, 32, 37, 49, 55, 47, 33, 56, 37, 32, 35, 26, 21, 29, 36, 40,
+  40, 63, 128, 165, 255, 255, 217, 208, 102, 41, 41, 63, 46, 93, 163, 161,
+  176, 171, 164, 161, 157, 151, 146, 142, 142, 144, 150, 157, 158, 157, 163, 173,
+  182, 194, 205, 212, 213, 214, 221, 225, 223, 220, 220, 217, 214, 206, 195, 189,
+  196, 193, 185, 174, 157, 141, 136, 136, 126, 117, 120, 118, 99, 92, 106, 120,
+  105, 92, 99, 124, 134, 133, 128, 126, 144, 165, 164, 148, 150, 156, 136, 109,
+  86, 96, 113, 124, 109, 79, 57, 45, 46, 35, 35, 34, 25, 18, 20, 24,
+  20, 30, 38, 39, 38, 43, 47, 49, 58, 34, 28, 35, 29, 23, 29, 34,
+  47, 34, 58, 111, 181, 255, 255, 220, 210, 101, 52, 39, 65, 52, 107, 172,
+  158, 159, 146, 135, 129, 125, 115, 105, 98, 95, 90, 93, 98, 103, 109, 128,
+  147, 171, 176, 185, 200, 215, 221, 219, 212, 212, 211, 212, 212, 209, 201, 191,
+  182, 185, 183, 175, 157, 142, 129, 118, 108, 101, 83, 84, 93, 81, 73, 85,
+  102, 95, 75, 84, 105, 109, 118, 121, 111, 127, 148, 165, 165, 160, 157, 150,
+  140, 116, 127, 139, 145, 138, 114, 86, 63, 60, 39, 37, 39, 28, 23, 27,
+  26, 16, 28, 36, 33, 29, 34, 46, 54, 52, 30, 26, 33, 31, 28, 33,
+  34, 47, 28, 51, 102, 191, 255, 255, 222, 210, 117, 68, 33, 60, 59, 122,
+  175, 151, 128, 117, 106, 100, 94, 82, 75, 73, 79, 74, 76, 82, 85, 89,
+  109, 131, 144, 154, 173, 195, 213, 219, 213, 203, 206, 205, 207, 208, 206, 197,
+  188, 180, 172, 173, 162, 140, 128, 126, 114, 96, 90, 70, 62, 62, 54, 58,
+  72, 81, 82, 81, 80, 87, 99, 104, 101, 100, 105, 109, 137, 167, 167, 150,
+  146, 150, 140, 146, 145, 138, 133, 121, 96, 64, 71, 41, 39, 44, 33, 28,
+  32, 26, 21, 21, 19, 18, 25, 35, 40, 39, 46, 30, 27, 32, 29, 30,
+  33, 30, 38, 27, 42, 109, 192, 255, 255, 221, 208, 131, 79, 26, 49, 57,
+  123, 166, 133, 100, 93, 85, 82, 75, 65, 64, 67, 73, 71, 76, 84, 82,
+  78, 89, 107, 115, 139, 170, 194, 204, 204, 203, 202, 211, 213, 214, 215, 212,
+  203, 193, 185, 166, 170, 157, 133, 125, 130, 119, 95, 82, 72, 70, 67, 62,
+  68, 70, 60, 75, 97, 84, 74, 99, 98, 83, 99, 91, 101, 115, 126, 139,
+  160, 160, 140, 127, 138, 143, 141, 147, 146, 119, 80, 76, 43, 41, 48, 36,
+  32, 34, 24, 22, 24, 22, 19, 23, 32, 38, 39, 45, 32, 31, 31, 27,
+  27, 30, 22, 30, 30, 37, 119, 189, 255, 255, 215, 210, 156, 70, 35, 35,
+  57, 133, 95, 82, 61, 60, 56, 51, 56, 65, 70, 71, 80, 74, 70, 71,
+  68, 67, 80, 100, 108, 131, 155, 169, 180, 191, 198, 199, 205, 202, 202, 209,
+  211, 202, 192, 187, 182, 168, 156, 150, 138, 122, 118, 122, 108, 93, 89, 91,
+  85, 73, 73, 84, 89, 95, 95, 92, 95, 102, 97, 87, 83, 86, 98, 113,
+  119, 117, 128, 145, 131, 139, 140, 137, 145, 148, 133, 102, 76, 68, 62, 36,
+  41, 49, 26, 42, 26, 26, 22, 16, 18, 24, 27, 26, 38, 24, 27, 21,
+  24, 30, 22, 26, 25, 20, 38, 102, 231, 255, 255, 217, 213, 157, 77, 49,
+  41, 63, 112, 78, 63, 47, 51, 55, 59, 69, 78, 82, 82, 72, 73, 77,
+  84, 88, 85, 87, 89, 105, 124, 147, 168, 183, 192, 189, 184, 192, 194, 199,
+  203, 209, 206, 200, 190, 179, 163, 155, 153, 153, 143, 143, 145, 134, 121, 115,
+  118, 122, 124, 133, 145, 159, 160, 153, 140, 132, 128, 115, 100, 110, 103, 98,
+  99, 96, 90, 99, 113, 133, 134, 133, 136, 152, 161, 148, 115, 75, 61, 63,
+  49, 53, 60, 37, 37, 29, 28, 24, 18, 19, 24, 28, 27, 35, 23, 29,
+  24, 26, 31, 20, 23, 27, 19, 34, 100, 225, 255, 255, 219, 214, 165, 83,
+  53, 36, 65, 85, 71, 60, 65, 77, 91, 104, 118, 128, 130, 125, 120, 124,
+  129, 133, 139, 137, 128, 116, 123, 132, 148, 165, 182, 193, 188, 181, 188, 195,
+  202, 202, 208, 212, 206, 192, 184, 169, 162, 166, 172, 171, 172, 172, 181, 171,
+  162, 158, 162, 169, 177, 181, 178, 183, 181, 173, 167, 164, 154, 140, 127, 116,
+  108, 105, 101, 96, 101, 110, 122, 128, 132, 137, 147, 154, 149, 129, 75, 49,
+  49, 43, 47, 57, 43, 30, 31, 30, 26, 19, 18, 23, 27, 26, 30, 24,
+  32, 27, 27, 31, 19, 21, 26, 15, 27, 95, 214, 255, 255, 220, 215, 184,
+  95, 50, 25, 74, 76, 90, 88, 104, 119, 137, 154, 170, 179, 178, 171, 168,
+  171, 170, 165, 167, 171, 168, 158, 159, 157, 157, 163, 174, 186, 192, 192, 194,
+  206, 212, 206, 210, 215, 208, 192, 190, 180, 176, 178, 182, 182, 185, 188, 180,
+  177, 174, 173, 182, 192, 196, 192, 200, 206, 205, 195, 188, 185, 180, 167, 165,
+  153, 142, 135, 124, 107, 95, 90, 106, 123, 141, 143, 139, 138, 145, 144, 92,
+  51, 38, 31, 31, 47, 48, 30, 32, 32, 28, 21, 19, 22, 27, 26, 29,
+  26, 36, 27, 25, 30, 19, 22, 26, 16, 27, 100, 210, 255, 255, 219, 215,
+  196, 102, 44, 28, 98, 91, 124, 125, 138, 150, 167, 179, 192, 199, 197, 187,
+  188, 188, 185, 175, 173, 180, 184, 179, 174, 170, 166, 163, 167, 176, 191, 202,
+  203, 213, 218, 209, 210, 213, 208, 192, 187, 183, 184, 181, 180, 176, 183, 187,
+  196, 193, 187, 184, 190, 198, 200, 194, 194, 202, 203, 194, 189, 190, 187, 181,
+  178, 169, 159, 150, 138, 122, 105, 96, 103, 119, 137, 146, 145, 142, 150, 154,
+  121, 80, 53, 45, 39, 47, 57, 42, 32, 34, 32, 24, 20, 22, 27, 26,
+  30, 29, 38, 25, 21, 28, 21, 25, 28, 20, 33, 111, 208, 255, 255, 218,
+  215, 187, 100, 33, 42, 123, 105, 140, 141, 161, 170, 179, 186, 193, 196, 193,
+  184, 170, 167, 163, 155, 150, 151, 150, 151, 163, 164, 166, 165, 165, 171, 187,
+  203, 203, 209, 212, 206, 205, 206, 203, 193, 182, 184, 187, 183, 177, 174, 179,
+  184, 175, 168, 158, 154, 156, 160, 166, 168, 176, 188, 194, 188, 186, 189, 190,
+  187, 176, 168, 158, 151, 145, 139, 133, 130, 115, 112, 118, 139, 154, 156, 155,
+  149, 136, 114, 85, 76, 62, 51, 57, 44, 32, 37, 37, 31, 26, 26, 27,
+  27, 29, 31, 41, 26, 19, 27, 21, 26, 23, 18, 33, 114, 255, 255, 255,
+  218, 216, 178, 105, 30, 61, 139, 112, 140, 145, 166, 173, 178, 179, 181, 181,
+  177, 166, 171, 162, 158, 161, 167, 167, 167, 170, 158, 157, 160, 162, 165, 171,
+  187, 204, 206, 205, 207, 202, 201, 196, 195, 192, 182, 183, 187, 181, 178, 173,
+  175, 174, 158, 149, 144, 149, 151, 151, 157, 166, 167, 181, 191, 186, 180, 178,
+  176, 172, 191, 185, 173, 159, 150, 145, 142, 140, 134, 118, 113, 134, 156, 159,
+  154, 149, 141, 141, 112, 102, 83, 50, 48, 43, 35, 40, 44, 39, 33, 30,
+  30, 31, 23, 32, 46, 30, 21, 29, 22, 25, 22, 18, 33, 113, 255, 255,
+  255, 219, 219, 185, 120, 38, 78, 148, 116, 144, 151, 155, 161, 163, 161, 162,
+  159, 153, 141, 115, 100, 101, 119, 141, 152, 161, 169, 164, 160, 159, 160, 165,
+  172, 190, 209, 211, 206, 205, 203, 199, 190, 188, 190, 180, 180, 180, 176, 174,
+  170, 166, 160, 147, 134, 126, 124, 109, 86, 76, 81, 101, 123, 145, 151, 154,
+  160, 162, 162, 173, 173, 168, 162, 158, 158, 158, 159, 152, 136, 129, 143, 155,
+  155, 154, 158, 145, 159, 130, 116, 94, 49, 44, 47, 37, 43, 48, 43, 39,
+  35, 33, 32, 20, 32, 48, 33, 23, 30, 21, 22, 29, 25, 40, 164, 255,
+  255, 255, 218, 218, 189, 105, 49, 121, 145, 136, 150, 151, 134, 147, 119, 148,
+  114, 68, 69, 67, 42, 52, 248, 132, 81, 167, 145, 150, 152, 165, 183, 157,
+  160, 159, 190, 200, 209, 209, 209, 203, 197, 188, 184, 180, 185, 181, 180, 179,
+  180, 177, 171, 164, 149, 95, 135, 159, 161, 95, 98, 84, 89, 69, 43, 54,
+  64, 103, 124, 151, 142, 141, 148, 164, 165, 153, 153, 165, 176, 164, 147, 138,
+  140, 148, 156, 161, 162, 149, 159, 136, 90, 98, 53, 56, 35, 30, 36, 48,
+  56, 51, 41, 37, 32, 33, 32, 38, 43, 33, 25, 34, 43, 22, 114, 255,
+  255, 255, 255, 218, 219, 197, 119, 57, 137, 149, 140, 141, 143, 132, 132, 130,
+  95, 64, 87, 51, 52, 100, 109, 210, 47, 114, 195, 233, 181, 159, 164, 167,
+  169, 166, 174, 189, 210, 211, 210, 208, 203, 197, 192, 189, 187, 178, 175, 175,
+  183, 193, 194, 183, 171, 150, 137, 185, 176, 157, 101, 96, 63, 73, 65, 65,
+  97, 86, 76, 72, 104, 130, 141, 151, 158, 158, 158, 163, 170, 176, 168, 157,
+  151, 150, 153, 156, 159, 172, 159, 169, 147, 107, 113, 70, 65, 37, 32, 34,
+  42, 49, 47, 45, 45, 35, 43, 49, 56, 59, 43, 31, 38, 35, 29, 130,
+  255, 255, 255, 255, 255, 221, 192, 123, 61, 154, 157, 155, 148, 150, 138, 116,
+  110, 61, 56, 119, 72, 63, 77, 82, 45, 102, 146, 211, 185, 206, 161, 158,
+  147, 172, 165, 184, 186, 208, 211, 208, 203, 198, 194, 192, 192, 192, 179, 172,
+  170, 181, 194, 193, 176, 157, 177, 126, 159, 187, 182, 104, 87, 78, 70, 66,
+  82, 144, 156, 132, 74, 53, 89, 113, 133, 138, 143, 156, 164, 166, 173, 174,
+  173, 168, 165, 162, 162, 164, 176, 164, 172, 156, 125, 124, 84, 74, 43, 35,
+  32, 36, 37, 38, 44, 51, 35, 44, 51, 59, 63, 46, 36, 43, 45, 44,
+  255, 255, 255, 255, 255, 255, 223, 187, 126, 62, 164, 161, 168, 155, 162, 133,
+  101, 66, 69, 90, 134, 109, 91, 59, 77, 90, 108, 208, 170, 179, 147, 165,
+  159, 148, 163, 167, 187, 190, 200, 210, 205, 197, 191, 189, 189, 190, 191, 182,
+  174, 169, 175, 185, 185, 171, 156, 165, 137, 151, 154, 163, 136, 125, 97, 105,
+  134, 159, 187, 170, 152, 100, 73, 72, 93, 114, 132, 148, 162, 170, 174, 173,
+  178, 184, 183, 176, 170, 169, 174, 178, 167, 174, 162, 140, 136, 102, 83, 49,
+  39, 33, 30, 28, 30, 39, 47, 38, 39, 38, 47, 56, 49, 43, 52, 77,
+  64, 255, 255, 255, 255, 255, 255, 223, 201, 137, 71, 169, 161, 167, 156, 164,
+  121, 94, 75, 95, 110, 136, 114, 114, 93, 138, 130, 153, 154, 193, 186, 168,
+  173, 173, 172, 159, 178, 191, 206, 197, 211, 204, 194, 188, 186, 187, 188, 188,
+  179, 174, 171, 174, 181, 186, 187, 185, 171, 161, 169, 159, 157, 143, 148, 144,
+  141, 159, 158, 156, 135, 138, 121, 115, 92, 90, 99, 125, 143, 151, 160, 171,
+  180, 185, 191, 188, 179, 172, 170, 175, 183, 174, 180, 168, 156, 145, 121, 95,
+  49, 39, 31, 27, 24, 25, 35, 44, 41, 37, 33, 43, 59, 58, 52, 62,
+  109, 84, 255, 255, 255, 255, 255, 255, 222, 204, 135, 74, 166, 167, 167, 166,
+  174, 133, 122, 150, 135, 121, 155, 116, 142, 144, 130, 148, 171, 168, 177, 181,
+  202, 179, 179, 183, 156, 183, 196, 215, 196, 210, 203, 195, 190, 189, 190, 189,
+  188, 181, 179, 177, 176, 177, 183, 191, 196, 192, 167, 165, 178, 181, 158, 158,
+  179, 165, 152, 137, 155, 153, 160, 147, 150, 143, 122, 115, 129, 143, 146, 155,
+  168, 190, 192, 193, 187, 177, 170, 168, 172, 182, 175, 180, 165, 160, 143, 130,
+  104, 54, 41, 31, 24, 24, 26, 33, 39, 36, 33, 31, 44, 64, 62, 59,
+  68, 122, 104, 255, 255, 255, 255, 255, 255, 219, 194, 124, 73, 159, 173, 170,
+  180, 189, 164, 170, 188, 177, 156, 178, 154, 175, 181, 170, 192, 175, 189, 177,
+  168, 169, 179, 175, 169, 162, 181, 202, 211, 199, 205, 198, 192, 189, 191, 191,
+  189, 186, 183, 183, 181, 178, 175, 175, 179, 183, 180, 191, 178, 163, 178, 199,
+  193, 175, 190, 201, 204, 214, 187, 180, 172, 184, 186, 172, 163, 164, 169, 170,
+  174, 177, 189, 189, 188, 184, 177, 171, 168, 172, 181, 176, 178, 161, 158, 137,
+  137, 109, 69, 50, 35, 26, 24, 23, 28, 31, 25, 26, 27, 39, 58, 62,
+  70, 90, 130, 132, 130, 255, 255, 255, 255, 255, 214, 192, 120, 77, 157, 181,
+  170, 187, 193, 180, 192, 161, 196, 187, 175, 194, 192, 197, 188, 179, 168, 188,
+  169, 160, 185, 180, 171, 152, 172, 180, 212, 207, 207, 198, 192, 188, 188, 191,
+  191, 188, 184, 182, 182, 183, 182, 181, 177, 177, 176, 187, 192, 183, 183, 181,
+  178, 184, 206, 192, 203, 191, 191, 189, 216, 201, 180, 179, 182, 183, 178, 178,
+  181, 175, 166, 182, 181, 182, 181, 178, 175, 172, 174, 184, 178, 181, 163, 163,
+  140, 146, 120, 86, 64, 40, 27, 21, 19, 21, 23, 24, 27, 29, 38, 54,
+  69, 93, 127, 142, 160, 136, 153, 255, 255, 255, 255, 219, 172, 124, 77, 171,
+  174, 194, 176, 191, 189, 188, 186, 184, 182, 180, 180, 179, 183, 181, 180, 181,
+  185, 185, 181, 176, 172, 178, 175, 170, 181, 203, 209, 198, 189, 187, 185, 185,
+  186, 188, 188, 188, 191, 191, 190, 189, 186, 181, 179, 177, 184, 185, 187, 189,
+  190, 191, 191, 191, 183, 189, 196, 198, 199, 197, 194, 188, 189, 188, 185, 184,
+  187, 187, 187, 184, 176, 176, 176, 178, 179, 179, 174, 172, 170, 170, 166, 160,
+  161, 156, 138, 118, 112, 52, 46, 28, 33, 12, 13, 18, 26, 49, 22, 29,
+  62, 95, 149, 169, 175, 193, 203, 181, 172, 255, 255, 255, 215, 177, 126, 81,
+  171, 177, 195, 177, 195, 194, 194, 192, 188, 187, 187, 187, 187, 190, 191, 192,
+  191, 190, 188, 187, 187, 189, 185, 176, 172, 186, 203, 205, 196, 193, 190, 186,
+  185, 185, 185, 185, 185, 189, 190, 191, 190, 187, 184, 183, 183, 186, 185, 187,
+  188, 192, 194, 196, 196, 196, 195, 193, 188, 188, 189, 191, 193, 189, 192, 192,
+  194, 194, 191, 183, 179, 175, 175, 176, 179, 181, 180, 176, 170, 167, 166, 163,
+  159, 161, 157, 141, 123, 111, 70, 60, 22, 19, 15, 16, 11, 37, 36, 44,
+  40, 54, 111, 171, 193, 189, 197, 219, 185, 184, 180, 255, 255, 214, 179, 125,
+  81, 169, 176, 188, 178, 198, 199, 198, 196, 195, 195, 195, 195, 197, 196, 200,
+  202, 199, 196, 193, 194, 198, 200, 186, 174, 177, 192, 203, 203, 197, 188, 186,
+  183, 181, 184, 187, 189, 189, 185, 190, 195, 193, 190, 187, 190, 192, 190, 190,
+  191, 190, 195, 196, 199, 200, 211, 207, 201, 195, 193, 194, 197, 200, 195, 196,
+  195, 196, 195, 193, 186, 183, 176, 177, 177, 180, 181, 179, 174, 168, 167, 164,
+  161, 157, 158, 154, 141, 126, 113, 79, 67, 30, 17, 18, 22, 22, 31, 19,
+  64, 63, 66, 140, 180, 185, 192, 189, 225, 190, 192, 170, 255, 255, 222, 183,
+  128, 85, 165, 173, 184, 181, 202, 198, 198, 197, 196, 196, 197, 199, 200, 199,
+  200, 203, 201, 197, 196, 197, 200, 193, 177, 170, 183, 197, 201, 202, 200, 190,
+  184, 182, 178, 180, 183, 185, 187, 185, 191, 198, 198, 193, 189, 195, 199, 196,
+  195, 193, 193, 195, 196, 199, 199, 211, 209, 208, 207, 205, 200, 198, 199, 202,
+  199, 193, 190, 191, 193, 193, 194, 184, 182, 179, 178, 178, 176, 172, 167, 166,
+  161, 158, 155, 154, 151, 140, 129, 114, 73, 65, 49, 31, 21, 27, 47, 50,
+  54, 94, 102, 112, 166, 184, 170, 187, 181, 217, 201, 192, 173, 183, 255, 255,
+  188, 138, 99, 165, 176, 186, 189, 205, 197, 197, 197, 197, 199, 200, 202, 202,
+  201, 199, 199, 199, 201, 202, 200, 199, 185, 176, 176, 194, 204, 202, 201, 203,
+  197, 190, 183, 177, 176, 175, 177, 178, 187, 193, 200, 200, 195, 192, 197, 201,
+  204, 203, 200, 199, 199, 198, 200, 202, 203, 200, 203, 206, 205, 198, 194, 195,
+  202, 198, 193, 191, 193, 197, 198, 199, 194, 189, 182, 177, 175, 173, 170, 166,
+  162, 156, 154, 153, 152, 148, 140, 132, 111, 80, 73, 61, 35, 33, 37, 59,
+  75, 123, 137, 149, 165, 177, 193, 182, 182, 176, 205, 213, 182, 183, 172, 255,
+  255, 198, 153, 117, 168, 178, 191, 197, 204, 200, 200, 200, 201, 202, 204, 205,
+  206, 204, 201, 199, 202, 205, 205, 202, 197, 188, 185, 189, 202, 210, 206, 201,
+  201, 190, 185, 178, 174, 175, 179, 183, 183, 187, 193, 199, 198, 195, 194, 197,
+  201, 210, 209, 208, 206, 205, 205, 207, 206, 204, 196, 196, 202, 202, 196, 197,
+  202, 195, 195, 197, 200, 203, 203, 199, 196, 199, 193, 185, 179, 175, 173, 170,
+  166, 159, 153, 152, 154, 151, 145, 139, 133, 108, 98, 90, 63, 35, 56, 61,
+  70, 66, 141, 162, 190, 205, 188, 197, 191, 184, 175, 198, 214, 175, 189, 165,
+  255, 255, 206, 169, 134, 166, 177, 192, 199, 197, 205, 204, 204, 203, 206, 206,
+  209, 208, 205, 206, 207, 208, 207, 203, 200, 197, 196, 193, 194, 203, 214, 215,
+  207, 199, 189, 183, 177, 173, 176, 182, 189, 191, 188, 189, 194, 196, 197, 197,
+  199, 200, 210, 210, 212, 210, 210, 210, 211, 210, 208, 200, 199, 206, 207, 200,
+  203, 209, 197, 199, 201, 205, 207, 206, 200, 197, 197, 193, 187, 183, 180, 177,
+  171, 166, 155, 149, 151, 154, 152, 143, 137, 135, 110, 102, 94, 75, 51, 87,
+  97, 111, 108, 136, 171, 204, 214, 213, 205, 189, 185, 169, 199, 203, 176, 191,
+  255, 255, 255, 209, 176, 142, 164, 173, 189, 196, 187, 205, 205, 204, 204, 205,
+  207, 208, 208, 205, 208, 212, 211, 204, 197, 195, 194, 200, 194, 191, 198, 214,
+  220, 211, 198, 201, 194, 184, 177, 174, 177, 181, 183, 186, 188, 190, 194, 197,
+  199, 200, 200, 207, 208, 209, 211, 213, 212, 212, 212, 205, 199, 202, 213, 213,
+  203, 201, 207, 208, 205, 202, 202, 204, 205, 203, 203, 192, 191, 189, 188, 185,
+  180, 173, 166, 153, 148, 150, 154, 151, 142, 137, 135, 115, 93, 86, 92, 76,
+  108, 126, 164, 212, 162, 183, 196, 203, 233, 221, 195, 184, 161, 201, 191, 180,
+  211, 255, 255, 255, 205, 184, 143, 157, 167, 192, 200, 197, 199, 201, 202, 202,
+  203, 205, 209, 211, 200, 202, 203, 199, 197, 197, 197, 192, 192, 191, 194, 202,
+  210, 208, 201, 196, 188, 186, 184, 182, 180, 180, 179, 179, 180, 184, 191, 186,
+  207, 195, 199, 202, 210, 215, 214, 210, 214, 222, 220, 210, 214, 215, 211, 208,
+  216, 225, 221, 207, 215, 212, 213, 215, 212, 204, 197, 197, 198, 192, 185, 182,
+  180, 174, 164, 155, 154, 149, 135, 154, 146, 154, 135, 131, 130, 94, 107, 98,
+  117, 128, 161, 212, 215, 183, 175, 197, 211, 210, 210, 208, 174, 171, 200, 179,
+  190, 255, 255, 255, 255, 219, 196, 150, 161, 169, 189, 196, 193, 201, 203, 205,
+  205, 206, 207, 211, 213, 205, 211, 213, 206, 201, 200, 204, 204, 187, 189, 195,
+  205, 213, 210, 202, 195, 188, 185, 183, 179, 178, 175, 171, 167, 167, 170, 181,
+  181, 208, 200, 204, 205, 210, 214, 216, 216, 219, 223, 221, 217, 216, 220, 216,
+  208, 210, 221, 224, 219, 219, 212, 207, 206, 201, 196, 193, 195, 197, 191, 184,
+  181, 179, 174, 166, 158, 145, 143, 134, 148, 137, 141, 125, 125, 128, 111, 134,
+  131, 148, 152, 174, 209, 225, 196, 186, 198, 209, 213, 212, 203, 184, 171, 190,
+  176, 255, 255, 255, 255, 255, 216, 194, 146, 158, 167, 187, 195, 195, 200, 202,
+  204, 205, 207, 207, 211, 213, 206, 211, 213, 205, 197, 196, 200, 202, 180, 187,
+  196, 206, 213, 211, 201, 192, 180, 178, 178, 180, 182, 179, 173, 166, 158, 160,
+  170, 171, 205, 203, 207, 205, 206, 208, 212, 217, 218, 215, 214, 218, 213, 222,
+  223, 215, 211, 217, 222, 223, 221, 215, 212, 211, 208, 203, 200, 202, 196, 191,
+  183, 179, 177, 173, 166, 160, 143, 143, 138, 148, 137, 137, 128, 129, 120, 121,
+  150, 146, 161, 165, 182, 199, 224, 204, 195, 195, 200, 211, 214, 200, 182, 164,
+  182, 181, 255, 255, 255, 255, 255, 218, 192, 145, 158, 165, 185, 194, 194, 197,
+  199, 201, 202, 203, 205, 207, 209, 203, 207, 208, 202, 197, 196, 194, 192, 180,
+  188, 198, 208, 214, 213, 206, 196, 181, 180, 181, 183, 184, 180, 174, 169, 163,
+  160, 164, 162, 199, 202, 208, 202, 206, 205, 211, 219, 218, 209, 209, 218, 210,
+  219, 227, 224, 219, 217, 216, 213, 204, 202, 205, 210, 209, 203, 196, 196, 197,
+  191, 183, 177, 174, 170, 164, 159, 144, 141, 140, 145, 142, 138, 132, 134, 116,
+  127, 149, 141, 158, 164, 188, 195, 212, 205, 197, 188, 186, 202, 211, 199, 171,
+  156, 186, 255, 255, 255, 255, 255, 255, 228, 200, 150, 162, 167, 182, 187, 190,
+  195, 198, 201, 203, 204, 205, 207, 208, 207, 205, 206, 204, 206, 204, 193, 182,
+  184, 194, 203, 209, 213, 216, 212, 202, 193, 190, 191, 187, 184, 179, 176, 173,
+  172, 165, 160, 153, 192, 199, 209, 204, 213, 212, 216, 223, 220, 212, 213, 219,
+  215, 220, 225, 223, 220, 217, 211, 205, 206, 204, 206, 211, 210, 205, 200, 201,
+  196, 191, 183, 176, 170, 166, 161, 156, 146, 138, 137, 136, 142, 133, 129, 124,
+  117, 131, 149, 142, 163, 172, 201, 200, 208, 206, 199, 183, 176, 194, 205, 192,
+  165, 155, 190, 255, 255, 255, 255, 255, 255, 222, 194, 144, 160, 167, 179, 186,
+  190, 196, 199, 203, 204, 206, 206, 208, 209, 207, 205, 202, 203, 209, 207, 192,
+  174, 184, 196, 205, 207, 212, 216, 212, 202, 193, 194, 192, 187, 183, 183, 188,
+  192, 177, 169, 160, 147, 185, 198, 210, 207, 215, 215, 216, 219, 219, 216, 215,
+  219, 227, 223, 218, 216, 216, 216, 213, 208, 218, 210, 205, 203, 201, 199, 200,
+  205, 191, 188, 182, 175, 169, 163, 158, 154, 151, 139, 140, 134, 141, 127, 125,
+  116, 114, 132, 148, 153, 180, 186, 214, 206, 219, 210, 199, 181, 176, 192, 198,
+  179, 171, 166, 255, 255, 255, 255, 255, 255, 255, 208, 182, 137, 157, 165, 179,
+  188, 191, 196, 198, 203, 204, 204, 205, 208, 209, 206, 203, 200, 199, 202, 200,
+  186, 171, 171, 186, 198, 200, 203, 206, 200, 189, 178, 179, 176, 167, 160, 161,
+  175, 188, 180, 171, 162, 147, 182, 195, 206, 202, 211, 214, 214, 213, 215, 221,
+  222, 220, 227, 222, 218, 217, 216, 216, 214, 214, 208, 199, 191, 188, 186, 185,
+  188, 194, 183, 182, 179, 174, 168, 162, 158, 154, 149, 137, 144, 133, 141, 123,
+  126, 121, 112, 130, 144, 159, 193, 198, 227, 215, 230, 207, 188, 177, 181, 199,
+  195, 168, 172, 175, 255, 255, 255, 255, 255, 255, 255, 215, 186, 139, 159, 164,
+  176, 181, 185, 193, 196, 201, 204, 204, 203, 204, 204, 207, 207, 205, 202, 200,
+  197, 188, 177, 156, 173, 187, 190, 194, 195, 187, 174, 166, 165, 156, 139, 121,
+  120, 135, 150, 180, 175, 166, 149, 180, 191, 201, 195, 212, 217, 215, 211, 218,
+  231, 233, 227, 219, 220, 222, 224, 223, 216, 213, 212, 210, 204, 201, 202, 201,
+  199, 199, 203, 177, 176, 176, 173, 168, 162, 159, 155, 137, 130, 143, 128, 137,
+  119, 128, 128, 122, 135, 145, 166, 203, 207, 239, 227, 232, 200, 173, 171, 188,
+  207, 194, 160, 164, 173, 255, 255, 255, 255, 255, 255, 255, 255, 179, 135, 160,
+  151, 164, 173, 179, 187, 191, 194, 200, 205, 207, 207, 205, 208, 205, 204, 201,
+  201, 197, 189, 182, 178, 166, 167, 173, 167, 169, 173, 171, 143, 156, 161, 141,
+  110, 98, 114, 137, 172, 173, 155, 153, 183, 198, 196, 202, 213, 214, 217, 219,
+  222, 222, 220, 217, 219, 222, 224, 220, 213, 209, 206, 210, 198, 196, 194, 194,
+  194, 193, 186, 182, 179, 178, 174, 167, 161, 155, 154, 153, 137, 129, 128, 134,
+  132, 125, 127, 137, 125, 153, 152, 173, 185, 200, 172, 174, 184, 167, 192, 201,
+  188, 187, 176, 165, 176, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176, 133,
+  152, 147, 159, 166, 169, 182, 185, 192, 197, 204, 204, 204, 203, 209, 210, 209,
+  206, 201, 195, 186, 183, 166, 142, 134, 139, 145, 150, 148, 136, 146, 157, 165,
+  161, 151, 152, 164, 179, 172, 169, 162, 169, 191, 201, 201, 203, 217, 216, 216,
+  219, 221, 222, 222, 221, 219, 219, 219, 218, 215, 209, 203, 198, 196, 195, 192,
+  193, 194, 193, 187, 183, 180, 178, 172, 165, 155, 149, 146, 144, 136, 126, 123,
+  127, 127, 120, 122, 130, 125, 152, 149, 161, 168, 187, 182, 200, 189, 182, 209,
+  211, 194, 190, 178, 169, 184, 255, 255, 255, 255, 255, 255, 255, 255, 255, 179,
+  134, 146, 149, 158, 164, 163, 183, 187, 195, 200, 204, 206, 206, 206, 208, 211,
+  210, 204, 195, 188, 183, 180, 165, 141, 133, 138, 143, 150, 149, 139, 155, 158,
+  164, 171, 178, 181, 183, 185, 166, 157, 167, 188, 199, 205, 212, 209, 219, 216,
+  217, 216, 217, 219, 222, 223, 223, 221, 219, 219, 219, 212, 202, 194, 194, 191,
+  189, 190, 192, 192, 187, 184, 179, 176, 170, 162, 154, 148, 142, 137, 130, 118,
+  116, 121, 125, 120, 120, 125, 140, 147, 136, 151, 174, 200, 199, 207, 191, 191,
+  210, 205, 190, 190, 181, 176, 168, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  188, 138, 138, 150, 155, 163, 164, 183, 188, 195, 200, 204, 204, 206, 208, 211,
+  209, 201, 194, 188, 182, 178, 176, 166, 156, 159, 162, 158, 160, 168, 168, 162,
+  160, 161, 169, 176, 180, 174, 169, 172, 158, 174, 201, 201, 201, 211, 205, 212,
+  211, 214, 214, 215, 215, 217, 218, 223, 222, 220, 219, 216, 209, 202, 196, 193,
+  191, 188, 187, 189, 187, 184, 180, 176, 172, 165, 160, 155, 149, 144, 137, 126,
+  115, 112, 118, 124, 124, 124, 126, 154, 155, 154, 173, 199, 216, 208, 204, 195,
+  191, 197, 187, 184, 194, 184, 177, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 195, 143, 128, 148, 150, 163, 162, 177, 184, 190, 193, 197, 195, 197, 202,
+  213, 204, 192, 184, 184, 183, 178, 174, 164, 158, 165, 170, 164, 162, 168, 167,
+  164, 164, 165, 170, 177, 181, 179, 177, 190, 173, 187, 207, 200, 195, 202, 197,
+  204, 206, 213, 216, 216, 214, 215, 218, 222, 221, 219, 214, 207, 200, 199, 198,
+  194, 190, 186, 185, 186, 183, 180, 175, 175, 169, 161, 156, 151, 147, 141, 133,
+  124, 114, 111, 116, 120, 122, 120, 120, 159, 173, 196, 206, 210, 206, 211, 214,
+  208, 197, 191, 180, 188, 194, 174, 164, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 200, 149, 120, 145, 143, 157, 160, 176, 184, 190, 193, 193, 192, 193,
+  199, 206, 196, 183, 179, 182, 183, 178, 170, 171, 155, 156, 166, 166, 167, 162,
+  148, 162, 164, 166, 168, 169, 171, 174, 180, 188, 179, 185, 196, 199, 199, 204,
+  203, 200, 204, 214, 218, 218, 216, 217, 219, 223, 225, 222, 215, 208, 202, 203,
+  204, 194, 190, 185, 181, 181, 179, 176, 171, 174, 165, 157, 149, 145, 138, 133,
+  124, 122, 115, 113, 113, 116, 115, 116, 115, 184, 183, 204, 211, 214, 205, 216,
+  211, 216, 203, 190, 178, 186, 182, 155, 153, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 205, 155, 121, 149, 141, 154, 157, 177, 185, 192, 194, 191, 189,
+  191, 195, 186, 180, 174, 174, 178, 177, 171, 163, 176, 159, 158, 165, 167, 166,
+  162, 151, 157, 161, 165, 163, 158, 158, 164, 169, 172, 176, 173, 178, 195, 201,
+  202, 204, 196, 200, 209, 214, 215, 215, 218, 221, 222, 222, 219, 214, 210, 205,
+  203, 200, 192, 186, 181, 179, 180, 179, 176, 172, 173, 163, 151, 142, 140, 136,
+  132, 125, 120, 117, 117, 117, 117, 117, 119, 120, 205, 181, 193, 200, 215, 212,
+  223, 205, 219, 206, 190, 173, 174, 165, 152, 179, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 209, 164, 126, 154, 142, 155, 157, 173, 180, 188, 189, 185,
+  181, 183, 186, 165, 166, 166, 169, 169, 167, 161, 154, 163, 157, 163, 168, 157,
+  155, 162, 162, 156, 159, 164, 164, 159, 158, 163, 170, 166, 177, 168, 164, 186,
+  191, 184, 187, 190, 196, 203, 207, 209, 211, 216, 222, 214, 209, 207, 206, 206,
+  202, 195, 187, 190, 183, 179, 176, 178, 178, 176, 171, 169, 159, 147, 140, 140,
+  140, 137, 131, 116, 118, 121, 121, 123, 125, 128, 130, 199, 180, 201, 202, 211,
+  204, 224, 216, 221, 207, 190, 168, 164, 158, 169, 225, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 212, 179, 127, 128, 150, 145, 155, 174, 176, 180, 187,
+  186, 177, 171, 170, 168, 173, 171, 164, 159, 159, 161, 159, 163, 154, 151, 160,
+  167, 167, 161, 155, 169, 172, 162, 170, 158, 173, 161, 161, 164, 160, 159, 165,
+  173, 176, 184, 187, 178, 189, 199, 202, 203, 209, 214, 215, 214, 209, 208, 208,
+  204, 196, 195, 197, 189, 179, 170, 171, 178, 180, 172, 162, 160, 154, 145, 135,
+  135, 139, 136, 125, 123, 119, 125, 130, 126, 121, 130, 149, 201, 212, 207, 199,
+  205, 207, 209, 217, 226, 184, 190, 176, 149, 144, 203, 230, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 215, 188, 134, 127, 147, 146, 159, 171, 173, 177,
+  181, 176, 165, 160, 161, 156, 159, 157, 153, 153, 158, 162, 162, 160, 155, 155,
+  162, 167, 166, 164, 163, 169, 172, 170, 177, 173, 177, 166, 161, 167, 162, 158,
+  161, 165, 166, 170, 175, 172, 183, 191, 194, 198, 204, 210, 211, 208, 205, 205,
+  206, 202, 193, 189, 190, 187, 180, 174, 173, 177, 173, 164, 154, 159, 153, 143,
+  133, 133, 136, 132, 125, 129, 124, 125, 126, 123, 121, 136, 156, 194, 204, 202,
+  207, 219, 219, 205, 196, 199, 179, 163, 124, 119, 193, 211, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 217, 197, 143, 126, 139, 141, 156, 167, 172,
+  177, 178, 171, 161, 159, 159, 152, 152, 150, 147, 150, 157, 160, 159, 157, 156,
+  161, 166, 167, 165, 165, 167, 155, 158, 165, 163, 170, 165, 163, 153, 167, 161,
+  158, 160, 163, 163, 164, 168, 163, 172, 178, 183, 191, 201, 208, 209, 208, 206,
+  208, 210, 207, 197, 192, 188, 180, 177, 175, 173, 173, 169, 161, 153, 158, 151,
+  141, 133, 133, 132, 128, 123, 133, 128, 127, 127, 120, 117, 130, 147, 172, 196,
+  208, 209, 210, 205, 200, 205, 187, 154, 117, 53, 110, 214, 214, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 215, 200, 149, 125, 135, 138, 149, 161,
+  169, 175, 174, 167, 160, 162, 163, 160, 157, 153, 151, 154, 159, 160, 155, 161,
+  161, 167, 173, 175, 171, 168, 170, 168, 166, 177, 165, 179, 169, 176, 166, 161,
+  158, 159, 164, 167, 163, 161, 164, 158, 164, 169, 175, 187, 201, 208, 211, 207,
+  206, 206, 206, 204, 197, 192, 187, 173, 171, 172, 172, 169, 167, 161, 158, 155,
+  147, 139, 132, 133, 133, 129, 124, 130, 130, 130, 130, 121, 112, 115, 123, 131,
+  160, 179, 181, 178, 170, 165, 170, 146, 89, 68, 32, 166, 200, 210, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 214, 203, 157, 129, 136, 138, 143,
+  155, 163, 169, 167, 161, 158, 158, 161, 160, 160, 157, 157, 161, 166, 167, 163,
+  176, 175, 179, 188, 194, 190, 183, 179, 185, 184, 196, 182, 190, 177, 180, 168,
+  163, 160, 162, 168, 167, 160, 154, 153, 158, 161, 163, 165, 176, 190, 201, 203,
+  202, 202, 198, 195, 193, 190, 186, 180, 174, 172, 170, 167, 165, 163, 161, 160,
+  152, 143, 137, 134, 136, 135, 131, 129, 130, 130, 129, 125, 116, 109, 109, 114,
+  97, 107, 110, 117, 129, 121, 94, 73, 60, 25, 25, 77, 223, 194, 224, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 210, 168, 133, 138, 140,
+  142, 158, 166, 169, 164, 159, 157, 159, 160, 156, 157, 155, 152, 159, 167, 173,
+  173, 185, 182, 185, 196, 204, 201, 197, 193, 189, 194, 204, 195, 194, 182, 174,
+  163, 170, 166, 165, 167, 163, 152, 144, 141, 160, 162, 159, 158, 163, 176, 188,
+  191, 200, 199, 193, 188, 188, 187, 183, 176, 175, 173, 168, 164, 161, 157, 155,
+  154, 149, 140, 133, 135, 137, 136, 133, 131, 132, 129, 124, 117, 109, 107, 112,
+  116, 103, 96, 74, 59, 63, 58, 43, 31, 19, 15, 17, 127, 211, 195, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 214, 216, 177, 133, 133,
+  139, 143, 159, 165, 166, 162, 161, 162, 163, 161, 160, 159, 152, 142, 144, 152,
+  163, 169, 171, 172, 175, 182, 188, 189, 194, 196, 190, 197, 198, 200, 190, 191,
+  183, 179, 175, 168, 164, 164, 160, 154, 149, 149, 159, 163, 160, 156, 156, 167,
+  181, 189, 197, 197, 192, 187, 187, 188, 182, 171, 171, 167, 163, 161, 158, 156,
+  151, 147, 148, 139, 131, 135, 137, 134, 128, 130, 125, 124, 118, 110, 103, 103,
+  107, 108, 109, 98, 65, 33, 24, 25, 29, 36, 23, 19, 50, 159, 192, 188,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211, 220, 179, 127,
+  126, 136, 141, 147, 154, 155, 152, 155, 162, 165, 164, 173, 171, 156, 139, 131,
+  138, 150, 160, 154, 155, 160, 164, 167, 171, 182, 195, 176, 180, 170, 177, 163,
+  181, 181, 188, 175, 167, 162, 164, 164, 163, 164, 167, 156, 160, 160, 153, 155,
+  167, 182, 192, 186, 189, 187, 183, 184, 184, 174, 160, 162, 157, 156, 158, 159,
+  156, 150, 145, 148, 138, 130, 134, 137, 131, 127, 125, 114, 116, 116, 110, 105,
+  100, 98, 94, 94, 79, 46, 26, 32, 32, 22, 14, 21, 0, 91, 184, 212,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 201, 205,
+  120, 118, 125, 128, 147, 147, 152, 160, 163, 163, 167, 178, 164, 165, 155, 144,
+  137, 136, 135, 131, 133, 139, 148, 155, 160, 164, 169, 170, 161, 161, 162, 163,
+  167, 171, 179, 180, 188, 177, 169, 167, 162, 156, 158, 166, 157, 153, 153, 158,
+  164, 165, 167, 170, 188, 186, 180, 186, 193, 179, 169, 174, 162, 155, 154, 159,
+  162, 154, 145, 139, 149, 132, 124, 135, 146, 139, 129, 122, 115, 113, 110, 106,
+  106, 109, 107, 100, 105, 60, 30, 27, 21, 18, 18, 15, 27, 31, 149, 192,
+  218, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204,
+  208, 129, 124, 131, 135, 146, 147, 151, 160, 163, 162, 165, 176, 179, 181, 176,
+  165, 160, 158, 154, 150, 151, 150, 146, 144, 144, 148, 158, 162, 158, 153, 152,
+  150, 150, 151, 153, 152, 168, 161, 159, 162, 164, 163, 165, 168, 163, 161, 162,
+  167, 168, 168, 169, 174, 187, 184, 179, 181, 184, 171, 159, 163, 160, 157, 158,
+  162, 160, 152, 146, 145, 146, 135, 129, 134, 140, 138, 128, 118, 113, 106, 102,
+  95, 101, 108, 110, 104, 100, 56, 27, 22, 18, 13, 14, 11, 18, 52, 163,
+  194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  202, 207, 136, 123, 128, 133, 146, 147, 152, 157, 162, 161, 164, 169, 174, 180,
+  181, 175, 169, 166, 162, 156, 157, 160, 162, 160, 156, 154, 152, 151, 146, 140,
+  138, 139, 140, 141, 139, 134, 129, 127, 135, 147, 157, 158, 155, 152, 156, 154,
+  158, 163, 161, 158, 159, 166, 183, 182, 176, 176, 179, 164, 153, 158, 157, 157,
+  160, 162, 157, 149, 145, 147, 136, 135, 132, 131, 134, 136, 129, 115, 104, 100,
+  97, 95, 101, 108, 109, 101, 88, 47, 24, 20, 16, 12, 13, 11, 39, 115,
+  204, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 204, 207, 145, 120, 120, 123, 143, 145, 150, 156, 160, 162, 163, 162, 162,
+  171, 176, 173, 170, 167, 160, 155, 167, 172, 177, 178, 177, 171, 167, 162, 151,
+  145, 143, 144, 148, 148, 143, 135, 139, 126, 113, 110, 122, 137, 151, 157, 159,
+  159, 166, 170, 166, 164, 166, 174, 177, 178, 174, 174, 177, 166, 159, 162, 156,
+  151, 155, 155, 154, 144, 141, 140, 124, 129, 133, 126, 129, 132, 131, 117, 95,
+  95, 99, 103, 109, 113, 104, 91, 72, 38, 19, 18, 15, 13, 16, 13, 12,
+  132, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 209, 162, 128, 120, 120, 140, 143, 147, 153, 160, 163, 164, 158,
+  155, 164, 173, 175, 173, 169, 163, 158, 178, 179, 177, 175, 175, 176, 182, 183,
+  176, 168, 163, 162, 164, 160, 153, 146, 150, 142, 137, 136, 142, 149, 150, 145,
+  156, 157, 164, 168, 167, 165, 169, 177, 171, 175, 171, 169, 172, 165, 160, 164,
+  158, 149, 147, 149, 150, 143, 136, 132, 119, 128, 132, 125, 124, 127, 125, 113,
+  93, 91, 96, 101, 109, 110, 100, 86, 56, 30, 17, 17, 15, 15, 21, 18,
+  14, 157, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 209, 179, 138, 124, 121, 137, 141, 145, 150, 158, 163, 163,
+  153, 151, 161, 172, 173, 174, 169, 164, 161, 170, 175, 178, 179, 177, 178, 178,
+  179, 180, 176, 174, 174, 174, 172, 167, 162, 156, 162, 167, 172, 173, 169, 157,
+  142, 154, 152, 156, 162, 162, 162, 166, 173, 169, 175, 170, 164, 167, 159, 154,
+  158, 160, 150, 145, 147, 149, 142, 133, 128, 125, 130, 132, 128, 123, 119, 114,
+  105, 94, 88, 89, 92, 101, 106, 99, 87, 46, 25, 16, 17, 13, 16, 23,
+  19, 54, 196, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 194, 148, 128, 122, 135, 140, 144, 148, 155, 161,
+  159, 147, 146, 157, 168, 172, 168, 166, 164, 161, 157, 166, 175, 179, 178, 175,
+  169, 166, 174, 174, 174, 173, 172, 171, 171, 170, 175, 171, 163, 155, 155, 166,
+  176, 177, 171, 165, 166, 170, 173, 172, 177, 182, 166, 174, 169, 161, 162, 156,
+  151, 154, 156, 148, 144, 144, 141, 133, 126, 123, 130, 128, 128, 129, 123, 113,
+  106, 100, 92, 86, 87, 89, 100, 107, 101, 89, 42, 25, 19, 18, 14, 16,
+  22, 17, 62, 193, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 240, 160, 136, 127, 135, 141, 144, 146, 152,
+  159, 155, 142, 149, 158, 171, 172, 170, 168, 165, 162, 157, 159, 159, 158, 159,
+  159, 163, 167, 175, 176, 174, 169, 164, 160, 159, 159, 145, 155, 164, 167, 169,
+  175, 175, 168, 171, 164, 162, 165, 169, 168, 172, 175, 165, 172, 168, 159, 160,
+  155, 151, 156, 149, 146, 145, 142, 135, 123, 120, 121, 131, 124, 125, 129, 126,
+  112, 105, 102, 86, 85, 90, 97, 109, 113, 102, 87, 42, 27, 21, 20, 14,
+  15, 20, 15, 98, 214, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 200, 167, 133, 113, 137, 124, 157,
+  142, 135, 148, 154, 143, 155, 164, 171, 175, 165, 161, 171, 147, 151, 149, 146,
+  147, 148, 140, 133, 143, 148, 149, 146, 144, 146, 156, 162, 148, 154, 161, 167,
+  172, 176, 175, 166, 159, 164, 157, 174, 164, 178, 171, 176, 173, 166, 158, 156,
+  159, 160, 157, 151, 148, 152, 137, 133, 135, 131, 130, 108, 104, 114, 123, 119,
+  113, 107, 105, 98, 83, 82, 89, 98, 110, 112, 96, 75, 34, 27, 19, 18,
+  25, 20, 18, 28, 105, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 174, 145, 123, 119, 133,
+  137, 144, 138, 136, 145, 153, 155, 153, 164, 179, 175, 164, 165, 157, 158, 152,
+  143, 138, 135, 129, 123, 129, 134, 137, 140, 143, 146, 148, 149, 161, 167, 173,
+  173, 174, 175, 173, 166, 158, 163, 157, 169, 160, 171, 164, 168, 171, 164, 158,
+  154, 153, 152, 148, 144, 143, 145, 132, 127, 124, 115, 124, 112, 119, 121, 122,
+  114, 110, 104, 101, 91, 89, 89, 94, 101, 109, 108, 89, 67, 34, 27, 12,
+  4, 9, 10, 15, 27, 100, 201, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 185, 163, 131, 104,
+  132, 119, 143, 139, 124, 133, 152, 155, 153, 160, 176, 174, 166, 168, 166, 163,
+  155, 144, 134, 128, 124, 125, 139, 138, 137, 141, 148, 156, 161, 163, 175, 182,
+  185, 180, 174, 171, 169, 163, 158, 161, 157, 165, 158, 164, 159, 159, 160, 157,
+  154, 150, 147, 144, 142, 140, 136, 137, 125, 122, 112, 100, 115, 117, 121, 118,
+  112, 103, 100, 97, 92, 83, 99, 101, 103, 108, 113, 107, 84, 62, 31, 31,
+  20, 9, 15, 15, 12, 15, 85, 202, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 177, 127,
+  105, 116, 114, 133, 132, 121, 127, 136, 154, 160, 162, 167, 166, 167, 176, 169,
+  165, 156, 145, 133, 129, 131, 136, 145, 148, 153, 158, 165, 171, 177, 178, 179,
+  186, 186, 177, 165, 160, 159, 157, 158, 159, 156, 159, 157, 159, 155, 156, 149,
+  149, 149, 147, 144, 140, 140, 138, 132, 131, 117, 120, 110, 95, 110, 118, 111,
+  110, 105, 97, 93, 93, 90, 86, 106, 109, 111, 114, 118, 108, 86, 61, 19,
+  20, 12, 4, 15, 17, 12, 9, 71, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 192,
+  121, 120, 96, 118, 117, 118, 122, 123, 127, 147, 155, 158, 165, 166, 166, 176,
+  170, 166, 159, 149, 140, 136, 139, 146, 134, 150, 167, 178, 182, 179, 177, 176,
+  177, 182, 180, 169, 157, 153, 153, 151, 152, 151, 151, 150, 153, 150, 152, 149,
+  145, 144, 144, 142, 138, 136, 136, 135, 130, 124, 110, 116, 111, 98, 108, 110,
+  101, 106, 105, 98, 91, 91, 93, 96, 106, 110, 115, 118, 118, 111, 86, 64,
+  30, 25, 10, 3, 16, 25, 25, 27, 89, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 132, 133, 90, 117, 105, 106, 120, 120, 126, 136, 137, 145, 166, 173, 169,
+  168, 173, 167, 161, 153, 148, 142, 144, 150, 149, 157, 168, 171, 171, 173, 179,
+  185, 173, 175, 171, 161, 152, 150, 151, 147, 143, 140, 146, 139, 148, 140, 146,
+  142, 146, 144, 140, 136, 133, 131, 128, 127, 124, 122, 106, 111, 111, 102, 109,
+  104, 96, 102, 103, 95, 88, 89, 94, 100, 104, 111, 118, 120, 119, 108, 85,
+  62, 38, 31, 20, 16, 23, 21, 17, 26, 132, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 157, 137, 106, 102, 100, 102, 107, 113, 119, 127, 128, 134, 156, 168,
+  168, 169, 173, 167, 161, 158, 156, 151, 149, 153, 167, 167, 166, 165, 167, 173,
+  182, 190, 171, 171, 165, 155, 151, 151, 150, 145, 140, 135, 144, 132, 145, 132,
+  141, 134, 144, 138, 130, 126, 126, 126, 125, 122, 117, 119, 103, 103, 102, 100,
+  108, 99, 95, 97, 93, 86, 83, 89, 97, 104, 113, 120, 127, 126, 121, 109,
+  83, 59, 33, 24, 15, 13, 14, 11, 26, 56, 172, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 132, 124, 89, 101, 102, 97, 107, 110, 128, 132, 133, 144,
+  155, 165, 178, 168, 160, 155, 158, 159, 155, 153, 155, 157, 163, 171, 179, 183,
+  180, 173, 166, 165, 163, 154, 146, 145, 147, 146, 140, 142, 135, 144, 131, 144,
+  130, 138, 132, 139, 131, 123, 120, 123, 126, 126, 124, 113, 121, 106, 97, 95,
+  96, 108, 98, 100, 97, 89, 83, 87, 100, 108, 113, 121, 129, 134, 131, 124,
+  107, 82, 58, 57, 38, 18, 11, 17, 37, 93, 161, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 145, 137, 117, 105, 115, 106, 108, 115, 131, 130, 129,
+  144, 145, 145, 165, 167, 162, 159, 161, 160, 155, 152, 155, 159, 161, 163, 166,
+  165, 160, 149, 142, 143, 146, 136, 140, 140, 134, 141, 135, 135, 129, 128, 131,
+  129, 125, 126, 133, 122, 122, 113, 113, 126, 129, 124, 127, 117, 121, 104, 107,
+  93, 109, 98, 97, 96, 90, 86, 91, 98, 103, 108, 115, 122, 122, 121, 122,
+  121, 107, 80, 57, 51, 28, 12, 10, 27, 36, 134, 204, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 139, 121, 107, 101, 106, 100, 108, 125, 128,
+  130, 145, 146, 145, 160, 164, 159, 156, 157, 157, 152, 152, 157, 162, 163, 162,
+  165, 165, 162, 156, 150, 142, 145, 135, 137, 136, 130, 138, 132, 133, 129, 127,
+  129, 128, 124, 126, 131, 132, 131, 121, 118, 128, 127, 118, 120, 122, 124, 110,
+  106, 100, 107, 101, 98, 99, 93, 92, 99, 106, 110, 115, 120, 129, 134, 134,
+  127, 121, 108, 88, 65, 37, 36, 13, 13, 24, 93, 162, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 151, 130, 116, 97, 111, 101, 107, 123,
+  129, 134, 143, 141, 137, 143, 157, 154, 152, 155, 155, 153, 155, 161, 169, 168,
+  165, 163, 162, 163, 160, 157, 145, 147, 137, 140, 138, 131, 138, 132, 131, 126,
+  124, 124, 123, 121, 122, 126, 119, 122, 116, 118, 129, 129, 122, 125, 120, 114,
+  110, 96, 99, 97, 98, 92, 100, 97, 98, 107, 114, 117, 119, 125, 132, 143,
+  143, 128, 117, 107, 91, 69, 27, 40, 11, 14, 24, 157, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 134, 123, 106, 109, 109, 108,
+  120, 128, 133, 139, 137, 135, 137, 150, 150, 153, 157, 158, 155, 156, 161, 174,
+  173, 168, 163, 159, 156, 155, 152, 141, 146, 135, 140, 139, 131, 138, 132, 129,
+  125, 121, 120, 120, 120, 121, 123, 107, 112, 111, 117, 130, 131, 124, 128, 118,
+  107, 107, 89, 98, 89, 96, 89, 97, 99, 103, 112, 119, 120, 122, 127, 128,
+  140, 140, 123, 113, 105, 89, 64, 29, 29, 9, 23, 47, 187, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 141, 126, 117, 94, 108,
+  101, 108, 121, 131, 135, 141, 145, 145, 144, 146, 153, 160, 160, 155, 155, 159,
+  167, 167, 165, 160, 155, 149, 145, 143, 137, 143, 133, 139, 138, 130, 137, 130,
+  125, 122, 117, 115, 117, 120, 121, 120, 114, 120, 118, 120, 129, 125, 116, 118,
+  118, 105, 105, 88, 101, 88, 100, 95, 100, 102, 111, 120, 125, 124, 127, 131,
+  129, 135, 134, 122, 117, 110, 92, 66, 38, 17, 25, 60, 104, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 139, 129, 93,
+  107, 106, 106, 118, 130, 130, 137, 145, 140, 139, 143, 151, 158, 157, 150, 150,
+  156, 155, 159, 158, 155, 150, 144, 141, 139, 135, 140, 132, 138, 137, 128, 135,
+  127, 122, 119, 114, 110, 114, 120, 122, 119, 122, 128, 125, 124, 130, 123, 113,
+  113, 114, 102, 96, 87, 93, 89, 96, 98, 107, 111, 119, 128, 132, 132, 133,
+  139, 134, 134, 132, 127, 126, 118, 103, 85, 53, 34, 65, 120, 165, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 161, 132,
+  111, 103, 111, 106, 118, 130, 126, 132, 138, 129, 136, 139, 145, 149, 147, 142,
+  145, 151, 149, 153, 153, 151, 147, 142, 140, 140, 138, 143, 134, 138, 136, 126,
+  131, 123, 117, 115, 110, 106, 111, 120, 122, 118, 121, 127, 125, 123, 128, 121,
+  111, 113, 107, 98, 85, 90, 86, 91, 91, 99, 115, 118, 125, 134, 136, 136,
+  138, 143, 136, 132, 130, 130, 128, 118, 113, 109, 83, 87, 115, 171, 194, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228,
+  127, 125, 98, 104, 98, 114, 128, 125, 133, 140, 127, 135, 136, 140, 140, 137,
+  135, 140, 148, 149, 151, 151, 146, 142, 139, 139, 140, 140, 145, 136, 139, 136,
+  125, 128, 119, 115, 113, 108, 104, 110, 120, 123, 118, 125, 131, 126, 122, 124,
+  115, 104, 104, 108, 101, 84, 95, 86, 99, 94, 106, 118, 121, 129, 136, 138,
+  136, 139, 144, 134, 127, 127, 129, 125, 113, 116, 125, 113, 138, 148, 195, 214,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 146, 121, 124, 95, 106, 114, 122, 130, 126, 125, 136, 125, 122, 130, 136,
+  135, 140, 148, 144, 149, 153, 147, 137, 136, 144, 142, 134, 137, 135, 131, 126,
+  130, 134, 131, 122, 114, 114, 108, 102, 109, 122, 125, 119, 130, 123, 116, 116,
+  118, 114, 101, 88, 94, 89, 89, 90, 91, 95, 106, 120, 135, 134, 133, 138,
+  143, 146, 143, 138, 136, 124, 133, 129, 119, 112, 118, 148, 181, 192, 194, 192,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 224, 131, 122, 112, 105, 102, 116, 128, 123, 124, 138, 125, 121, 128,
+  132, 129, 132, 139, 136, 145, 146, 144, 138, 137, 139, 139, 135, 139, 140, 135,
+  128, 126, 126, 121, 113, 112, 110, 106, 105, 111, 120, 123, 120, 115, 118, 119,
+  115, 106, 98, 93, 90, 79, 78, 82, 88, 92, 100, 115, 128, 135, 136, 140,
+  145, 151, 152, 149, 144, 141, 125, 133, 130, 124, 119, 120, 143, 197, 203, 199,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 152, 131, 126, 104, 96, 113, 128, 124, 122, 131, 131, 125,
+  131, 131, 127, 131, 137, 133, 138, 136, 137, 138, 136, 132, 134, 136, 137, 139,
+  138, 130, 123, 118, 114, 109, 109, 103, 102, 108, 114, 116, 117, 118, 109, 112,
+  114, 109, 100, 91, 87, 87, 82, 82, 89, 96, 102, 108, 121, 133, 133, 137,
+  144, 149, 150, 149, 145, 143, 140, 124, 130, 127, 126, 123, 118, 132, 208, 210,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 151, 130, 108, 100, 112, 121, 125, 124, 121, 132,
+  125, 130, 130, 125, 128, 134, 130, 131, 127, 131, 138, 136, 127, 128, 136, 132,
+  135, 138, 132, 123, 116, 116, 114, 105, 98, 100, 111, 116, 112, 111, 116, 114,
+  108, 102, 100, 101, 96, 86, 77, 86, 90, 98, 107, 114, 119, 129, 140, 141,
+  146, 149, 150, 148, 143, 141, 139, 138, 127, 134, 129, 127, 125, 117, 125, 206,
+  222, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 229, 139, 120, 109, 105, 104, 117, 129, 120,
+  123, 117, 123, 123, 119, 122, 128, 124, 126, 121, 125, 132, 132, 125, 125, 132,
+  129, 132, 134, 132, 123, 115, 118, 119, 102, 96, 100, 111, 114, 108, 106, 110,
+  107, 100, 93, 91, 91, 89, 83, 77, 82, 87, 100, 116, 126, 130, 141, 150,
+  152, 154, 154, 151, 148, 143, 145, 146, 138, 133, 143, 134, 128, 127, 119, 124,
+  202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 166, 133, 116, 103, 89, 105, 127,
+  123, 120, 115, 120, 123, 118, 120, 125, 120, 123, 118, 119, 124, 128, 124, 123,
+  124, 130, 129, 130, 126, 120, 111, 114, 117, 100, 99, 103, 109, 109, 105, 101,
+  102, 87, 90, 91, 85, 77, 75, 82, 90, 97, 104, 117, 131, 139, 140, 146,
+  152, 155, 153, 150, 148, 145, 145, 145, 145, 135, 134, 144, 130, 125, 125, 116,
+  117, 220, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 234, 141, 121, 118, 97, 96,
+  116, 118, 119, 115, 121, 125, 120, 120, 123, 115, 120, 118, 116, 117, 123, 127,
+  124, 116, 125, 123, 121, 118, 114, 106, 109, 113, 100, 104, 107, 105, 104, 102,
+  99, 94, 81, 86, 87, 83, 78, 82, 95, 107, 118, 124, 138, 148, 151, 147,
+  148, 153, 155, 152, 147, 146, 145, 144, 140, 137, 137, 135, 141, 127, 125, 130,
+  117, 110, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 141, 124, 138, 116,
+  94, 103, 109, 116, 112, 118, 122, 115, 113, 113, 106, 120, 120, 116, 112, 121,
+  129, 125, 111, 119, 113, 110, 111, 108, 103, 105, 112, 100, 108, 110, 103, 100,
+  101, 97, 89, 92, 86, 82, 83, 92, 104, 113, 118, 119, 127, 141, 154, 156,
+  153, 152, 157, 162, 158, 152, 152, 151, 147, 139, 133, 151, 145, 146, 132, 133,
+  142, 125, 115, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 242, 178, 137,
+  133, 129, 113, 75, 104, 111, 116, 117, 113, 109, 112, 116, 117, 115, 114, 113,
+  111, 105, 104, 107, 110, 107, 105, 103, 103, 105, 107, 108, 98, 101, 104, 101,
+  94, 84, 76, 72, 87, 100, 105, 106, 114, 119, 126, 144, 137, 146, 152, 153,
+  151, 150, 157, 162, 158, 170, 169, 154, 148, 151, 148, 137, 149, 151, 149, 144,
+  136, 130, 127, 125, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 183,
+  160, 142, 139, 130, 104, 113, 115, 117, 116, 113, 110, 104, 102, 118, 118, 121,
+  124, 120, 111, 105, 102, 103, 103, 104, 103, 100, 93, 88, 83, 94, 87, 78,
+  69, 69, 76, 88, 98, 97, 112, 119, 124, 131, 129, 130, 143, 145, 150, 154,
+  158, 160, 162, 164, 165, 155, 162, 161, 153, 151, 155, 152, 144, 144, 146, 147,
+  144, 139, 133, 127, 124, 194, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 185, 141, 137, 131, 124, 104, 101, 97, 101, 108, 113, 114, 115, 128, 120,
+  109, 101, 99, 100, 107, 115, 95, 97, 101, 104, 105, 103, 100, 97, 84, 83,
+  83, 83, 88, 97, 108, 118, 115, 129, 134, 136, 141, 138, 137, 149, 157, 159,
+  161, 165, 170, 172, 169, 167, 163, 160, 156, 155, 154, 152, 146, 143, 144, 145,
+  146, 144, 141, 135, 127, 118, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 207, 139, 132, 133, 138, 140, 129, 112, 101, 93, 92, 93, 93, 94,
+  95, 95, 98, 97, 89, 85, 86, 102, 96, 91, 84, 79, 76, 76, 76, 96,
+  105, 116, 125, 129, 130, 130, 129, 133, 141, 142, 140, 146, 147, 150, 163, 168,
+  170, 172, 173, 174, 172, 169, 166, 168, 157, 152, 157, 159, 152, 147, 148, 152,
+  149, 145, 144, 141, 135, 126, 117, 129, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 132, 129, 146, 152, 166, 159, 145, 127, 113, 102, 97, 96,
+  100, 96, 94, 94, 92, 84, 81, 82, 76, 75, 77, 82, 91, 105, 118, 126,
+  132, 136, 139, 140, 139, 139, 142, 143, 143, 151, 151, 150, 157, 159, 163, 175,
+  168, 174, 177, 175, 170, 165, 165, 166, 166, 154, 150, 158, 163, 157, 153, 157,
+  155, 153, 147, 144, 144, 139, 132, 124, 114, 204, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 144, 143, 153, 158, 161, 162, 158, 152, 148,
+  145, 152, 137, 120, 107, 102, 104, 113, 122, 137, 137, 137, 138, 140, 140, 140,
+  141, 153, 155, 154, 151, 147, 145, 147, 148, 150, 161, 166, 169, 177, 176, 172,
+  179, 168, 173, 176, 173, 165, 161, 164, 168, 172, 162, 157, 160, 160, 154, 150,
+  153, 152, 150, 148, 146, 145, 143, 139, 135, 108, 151, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 159, 164, 170, 177, 181, 178,
+  171, 163, 160, 157, 157, 158, 153, 141, 134, 131, 145, 148, 153, 158, 162, 163,
+  163, 165, 157, 158, 159, 157, 155, 154, 158, 160, 165, 174, 176, 177, 184, 181,
+  175, 182, 178, 179, 177, 173, 168, 166, 167, 169, 171, 167, 163, 159, 155, 151,
+  149, 150, 148, 149, 151, 150, 148, 143, 141, 140, 115, 130, 202, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230,
+  186, 181, 172, 161, 158, 159, 162, 159, 152, 145, 144, 148, 148, 152, 155, 158,
+  161, 162, 163, 163, 160, 153, 147, 148, 158, 171, 181, 180, 186, 180, 176, 182,
+  179, 178, 184, 194, 189, 182, 177, 174, 172, 170, 168, 154, 157, 157, 155, 154,
+  158, 161, 162, 145, 150, 154, 153, 149, 142, 138, 136, 125, 122, 188, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 228, 168, 163, 158, 153, 148, 144, 146, 146, 149, 152,
+  153, 153, 150, 150, 151, 154, 163, 174, 177, 174, 174, 179, 183, 177, 175, 183,
+  189, 185, 182, 180, 187, 188, 183, 175, 173, 174, 171, 164, 164, 159, 154, 154,
+  158, 160, 158, 155, 149, 152, 152, 149, 149, 150, 150, 144, 123, 125, 136, 212,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  220, 151, 154, 154, 154, 168, 166, 169, 173, 173, 167, 167, 171, 184, 180, 181,
+  189, 193, 191, 189, 190, 189, 189, 185, 178, 176, 176, 173, 166, 167, 163, 158,
+  157, 160, 160, 156, 152, 159, 160, 157, 150, 148, 149, 147, 141, 123, 108, 122,
+  187, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 225, 165, 169, 170, 170, 176, 183, 188, 186,
+  189, 193, 197, 195, 194, 194, 187, 186, 183, 178, 176, 176, 172, 166, 165, 162,
+  160, 160, 162, 162, 158, 154, 163, 163, 159, 151, 149, 150, 146, 142, 121, 106,
+  125, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 235, 191, 190, 189, 184, 181, 179, 176, 174, 172, 167, 163, 159,
+  158, 158, 161, 164, 164, 162, 158, 159, 161, 161, 156, 155, 188, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 225, 224, 227, 226, 225, 226, 226, 225, 221, 218,
+  222, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 225, 225, 223, 220, 220, 222, 232, 231, 230, 230, 229, 226, 220,
+  216, 220, 221, 229, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 244,
+  215, 228, 218, 222, 222, 221, 224, 230, 232, 229, 222, 218, 216, 218, 222, 222,
+  217, 212, 223, 221, 219, 222, 226, 228, 226, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 202,
+  227, 237, 213, 222, 192, 146, 109, 99, 110, 123, 129, 159, 148, 137, 135, 144,
+  161, 175, 183, 189, 193, 199, 210, 220, 226, 226, 224, 233, 230, 223, 217, 223,
+  232, 227, 216, 227, 200, 188, 203, 218, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 231, 230,
+  232, 233, 211, 170, 129, 100, 61, 37, 40, 57, 68, 69, 61, 55, 50, 50,
+  58, 68, 74, 78, 91, 101, 122, 151, 182, 209, 226, 235, 235, 237, 225, 209,
+  209, 217, 206, 185, 202, 197, 201, 204, 195, 185, 218, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 225, 218,
+  219, 226, 188, 136, 100, 58, 50, 41, 41, 50, 56, 47, 34, 46, 47, 50,
+  54, 56, 53, 46, 40, 48, 52, 62, 79, 101, 126, 145, 158, 164, 205, 232,
+  213, 174, 160, 177, 199, 176, 186, 189, 186, 190, 202, 204, 197, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 229, 228, 208,
+  238, 207, 143, 87, 86, 45, 43, 42, 38, 36, 40, 43, 37, 28, 34, 33,
+  33, 34, 35, 38, 39, 39, 50, 48, 45, 43, 46, 52, 60, 66, 82, 74,
+  79, 101, 120, 126, 124, 124, 126, 149, 169, 175, 183, 195, 196, 187, 212, 222,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 234, 235, 212,
+  253, 205, 177, 56, 75, 37, 47, 32, 32, 28, 24, 28, 36, 42, 43, 32,
+  32, 33, 34, 36, 40, 43, 45, 35, 38, 41, 43, 44, 44, 45, 46, 43,
+  40, 49, 64, 65, 64, 83, 110, 94, 116, 148, 169, 166, 159, 170, 188, 197,
+  197, 234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 227, 229, 231, 233,
+  226, 229, 195, 50, 100, 32, 45, 38, 33, 35, 34, 30, 30, 34, 34, 31,
+  22, 25, 29, 32, 31, 30, 29, 28, 34, 38, 44, 46, 44, 41, 39, 38,
+  47, 39, 34, 34, 33, 34, 46, 61, 98, 88, 92, 121, 153, 167, 165, 159,
+  179, 186, 220, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 227, 225, 224, 224,
+  226, 220, 200, 107, 70, 29, 48, 17, 27, 24, 26, 27, 27, 31, 37, 34,
+  30, 23, 23, 22, 21, 20, 24, 29, 32, 30, 33, 34, 34, 32, 32, 34,
+  37, 23, 37, 43, 33, 22, 26, 43, 58, 58, 69, 76, 85, 117, 158, 175,
+  167, 163, 173, 213, 223, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 235, 230, 207, 229, 217,
+  217, 224, 211, 136, 58, 31, 34, 34, 27, 23, 24, 25, 27, 30, 32, 33,
+  30, 28, 23, 22, 18, 15, 21, 34, 39, 36, 33, 34, 35, 37, 38, 35,
+  30, 26, 29, 30, 29, 24, 21, 25, 36, 45, 44, 52, 63, 79, 104, 131,
+  144, 146, 158, 158, 219, 226, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 236, 206, 233, 230, 216,
+  220, 214, 130, 59, 40, 26, 27, 30, 26, 23, 25, 31, 28, 25, 25, 25,
+  25, 21, 18, 17, 20, 21, 21, 26, 35, 37, 34, 32, 27, 23, 26, 32,
+  34, 30, 25, 38, 35, 32, 29, 29, 33, 39, 44, 34, 40, 49, 65, 88,
+  110, 117, 115, 143, 146, 203, 220, 221, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 223, 234, 234, 233, 238, 222,
+  238, 215, 138, 29, 33, 38, 40, 35, 24, 18, 20, 24, 27, 22, 17, 18,
+  23, 26, 25, 22, 12, 19, 26, 29, 31, 34, 34, 32, 30, 22, 16, 18,
+  27, 33, 31, 27, 37, 33, 28, 27, 29, 32, 33, 33, 27, 29, 34, 47,
+  68, 89, 97, 97, 138, 148, 200, 233, 219, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 245, 234, 208, 223, 204, 227,
+  212, 137, 37, 30, 52, 44, 42, 30, 17, 17, 28, 35, 35, 24, 19, 16,
+  19, 26, 29, 27, 23, 15, 22, 30, 32, 31, 30, 30, 29, 28, 24, 20,
+  21, 25, 30, 31, 31, 31, 29, 27, 25, 25, 26, 26, 25, 32, 31, 32,
+  37, 49, 64, 77, 84, 109, 126, 180, 233, 214, 232, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 234, 221, 221, 233, 222, 202,
+  110, 23, 55, 52, 27, 19, 27, 26, 19, 14, 24, 39, 40, 29, 27, 24,
+  22, 24, 26, 25, 19, 14, 24, 27, 31, 31, 28, 24, 24, 27, 22, 25,
+  28, 27, 24, 24, 27, 30, 28, 32, 34, 31, 27, 24, 27, 30, 35, 37,
+  40, 40, 40, 43, 52, 62, 59, 82, 130, 201, 202, 224, 236, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 235, 243, 234, 218, 216, 227, 180,
+  60, 39, 52, 35, 23, 52, 28, 29, 34, 33, 27, 25, 28, 26, 20, 20,
+  20, 22, 24, 25, 23, 19, 16, 32, 29, 28, 28, 24, 20, 21, 24, 17,
+  24, 31, 29, 21, 17, 21, 26, 25, 30, 34, 32, 26, 24, 28, 33, 24,
+  31, 42, 49, 48, 45, 48, 55, 52, 69, 99, 170, 201, 215, 231, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 244, 240, 226, 200, 223, 251, 191, 93,
+  46, 27, 46, 47, 39, 16, 26, 22, 21, 24, 23, 19, 16, 18, 24, 28,
+  16, 19, 23, 24, 24, 24, 26, 27, 34, 27, 23, 24, 23, 19, 18, 21,
+  16, 22, 26, 25, 20, 17, 20, 24, 22, 24, 26, 26, 24, 24, 27, 30,
+  23, 24, 32, 44, 49, 47, 47, 51, 58, 66, 78, 137, 191, 182, 197, 211,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 246, 233, 213, 219, 244, 226, 150, 72,
+  33, 45, 50, 46, 18, 32, 29, 34, 27, 31, 29, 26, 28, 28, 26, 25,
+  26, 27, 30, 31, 28, 22, 21, 24, 28, 33, 25, 20, 23, 24, 20, 18,
+  19, 20, 21, 23, 22, 21, 21, 23, 25, 24, 22, 21, 23, 27, 30, 30,
+  30, 37, 27, 21, 27, 33, 33, 32, 34, 35, 40, 43, 97, 166, 134, 143,
+  160, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 247, 236, 221, 222, 230, 241, 100, 16,
+  54, 48, 33, 32, 30, 28, 28, 28, 28, 28, 22, 26, 26, 22, 20, 22,
+  24, 24, 25, 27, 25, 18, 17, 22, 24, 20, 32, 22, 20, 26, 26, 16,
+  12, 16, 24, 25, 22, 17, 17, 22, 25, 24, 23, 22, 22, 22, 24, 26,
+  27, 27, 31, 24, 21, 25, 31, 34, 37, 41, 40, 23, 54, 70, 141, 140,
+  161, 147, 191, 215, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 232, 234, 238, 218, 247, 194, 26, 41,
+  52, 32, 38, 43, 39, 33, 28, 24, 22, 22, 22, 28, 25, 21, 22, 24,
+  24, 23, 22, 23, 25, 24, 18, 18, 22, 23, 20, 29, 21, 20, 25, 23,
+  14, 11, 16, 20, 22, 20, 16, 16, 20, 22, 20, 20, 20, 19, 20, 22,
+  23, 24, 24, 28, 23, 20, 24, 28, 30, 34, 39, 37, 29, 46, 43, 72,
+  68, 94, 99, 146, 195, 221, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 227, 228, 231, 233, 244, 191, 41, 29,
+  31, 39, 29, 42, 37, 34, 29, 25, 23, 24, 26, 28, 34, 23, 16, 22,
+  26, 23, 20, 20, 20, 22, 22, 19, 19, 21, 21, 19, 23, 18, 18, 22,
+  19, 11, 10, 15, 17, 20, 20, 17, 17, 20, 20, 17, 19, 20, 20, 21,
+  21, 22, 23, 23, 23, 20, 20, 23, 24, 24, 30, 37, 37, 36, 38, 32,
+  32, 34, 53, 69, 102, 155, 204, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 222, 221, 226, 229, 227, 218, 52, 42,
+  50, 46, 52, 45, 30, 29, 28, 26, 25, 25, 27, 29, 30, 34, 22, 16,
+  22, 25, 19, 17, 22, 19, 20, 21, 20, 20, 21, 20, 18, 18, 16, 18,
+  20, 17, 11, 11, 15, 17, 21, 22, 20, 20, 22, 21, 17, 20, 21, 23,
+  23, 23, 23, 23, 24, 19, 18, 19, 21, 20, 19, 25, 33, 39, 38, 28,
+  38, 32, 46, 44, 52, 70, 95, 146, 201, 228, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 227, 220, 224, 234, 232, 221, 121, 32,
+  49, 37, 32, 46, 37, 29, 28, 29, 30, 29, 28, 25, 23, 21, 28, 22,
+  19, 22, 21, 16, 19, 26, 20, 20, 20, 21, 21, 19, 18, 19, 16, 16,
+  17, 18, 17, 13, 13, 15, 16, 21, 22, 20, 20, 22, 21, 16, 18, 21,
+  24, 24, 22, 21, 21, 23, 17, 17, 18, 20, 18, 17, 22, 29, 36, 38,
+  24, 36, 25, 41, 28, 31, 43, 53, 83, 134, 174, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 229, 226, 223, 232, 239, 218, 187, 56,
+  64, 27, 59, 17, 18, 31, 31, 22, 24, 28, 30, 30, 27, 24, 21, 22,
+  24, 23, 21, 19, 21, 26, 30, 24, 21, 20, 22, 21, 18, 17, 20, 17,
+  16, 15, 17, 19, 19, 17, 15, 14, 18, 19, 17, 17, 19, 18, 14, 14,
+  18, 22, 22, 19, 17, 18, 20, 19, 16, 17, 19, 19, 17, 20, 26, 27,
+  38, 30, 35, 15, 28, 24, 32, 35, 50, 62, 78, 123, 226, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 223, 227, 225, 223, 229, 218, 167, 109,
+  41, 37, 83, 23, 25, 35, 38, 15, 20, 22, 25, 28, 29, 28, 26, 24,
+  22, 27, 24, 18, 21, 32, 37, 32, 29, 24, 21, 23, 21, 17, 17, 21,
+  20, 17, 14, 16, 22, 25, 21, 15, 15, 18, 19, 16, 16, 19, 18, 15,
+  13, 18, 23, 22, 18, 15, 16, 19, 21, 17, 15, 19, 21, 20, 20, 23,
+  19, 34, 37, 37, 23, 30, 31, 37, 32, 46, 54, 51, 75, 185, 222, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 248, 224, 228, 225, 220, 218, 190, 113,
+  35, 31, 58, 12, 38, 47, 23, 26, 28, 32, 32, 30, 27, 23, 20, 16,
+  15, 22, 28, 24, 16, 24, 42, 45, 33, 32, 25, 22, 23, 21, 16, 17,
+  22, 23, 17, 14, 16, 24, 29, 24, 15, 18, 21, 21, 17, 17, 21, 21,
+  18, 14, 19, 24, 25, 19, 17, 18, 20, 24, 17, 15, 19, 22, 21, 20,
+  20, 19, 28, 35, 35, 32, 34, 26, 18, 20, 21, 34, 36, 37, 122, 182,
+  232, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 245, 229, 218, 231, 229, 223, 233, 114,
+  44, 46, 44, 36, 31, 32, 37, 39, 39, 39, 37, 29, 30, 46, 32, 18,
+  31, 20, 26, 21, 33, 23, 29, 70, 62, 24, 15, 37, 20, 5, 24, 21,
+  12, 34, 15, 28, 20, 14, 31, 33, 23, 26, 19, 18, 16, 18, 22, 23,
+  17, 8, 12, 17, 18, 17, 17, 19, 18, 15, 21, 17, 19, 19, 18, 28,
+  32, 21, 16, 20, 28, 33, 31, 24, 22, 24, 18, 20, 29, 38, 48, 80,
+  141, 196, 234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 231, 229, 224, 212, 223, 213,
+  38, 62, 45, 43, 39, 36, 35, 39, 40, 38, 37, 35, 35, 24, 25, 18,
+  18, 31, 20, 33, 25, 15, 55, 31, 79, 41, 31, 29, 29, 40, 28, 28,
+  33, 24, 34, 18, 30, 24, 19, 34, 37, 27, 28, 25, 21, 17, 18, 21,
+  21, 18, 11, 18, 20, 22, 20, 21, 24, 22, 18, 20, 17, 20, 20, 20,
+  30, 33, 21, 15, 17, 24, 31, 31, 28, 28, 32, 20, 22, 30, 36, 38,
+  56, 98, 140, 194, 234, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 227, 230, 251, 194, 244, 227,
+  84, 64, 30, 52, 37, 37, 37, 35, 35, 34, 32, 30, 23, 36, 20, 17,
+  30, 41, 53, 47, 58, 33, 47, 71, 73, 70, 45, 39, 44, 24, 44, 39,
+  23, 32, 27, 26, 25, 36, 31, 24, 35, 40, 33, 30, 32, 24, 18, 18,
+  20, 20, 18, 14, 19, 20, 19, 18, 21, 25, 23, 17, 18, 17, 22, 21,
+  21, 32, 35, 21, 17, 17, 20, 26, 27, 27, 30, 35, 23, 25, 31, 33,
+  29, 32, 53, 78, 167, 226, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 225, 226, 226, 219, 230, 225,
+  144, 48, 46, 66, 35, 35, 39, 41, 38, 36, 35, 32, 30, 24, 39, 21,
+  24, 43, 43, 44, 44, 51, 40, 73, 64, 73, 47, 35, 27, 50, 39, 29,
+  34, 28, 22, 27, 19, 33, 38, 33, 26, 32, 43, 41, 35, 31, 23, 16,
+  18, 22, 21, 17, 15, 17, 18, 17, 17, 22, 28, 27, 21, 16, 17, 22,
+  21, 21, 34, 37, 20, 23, 19, 18, 21, 21, 20, 23, 28, 25, 25, 29,
+  30, 26, 24, 34, 47, 125, 215, 232, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 224, 223, 220, 203, 238,
+  132, 52, 52, 59, 53, 45, 40, 46, 46, 42, 38, 40, 39, 35, 27, 34,
+  21, 43, 68, 58, 61, 75, 56, 92, 103, 92, 60, 78, 50, 49, 43, 59,
+  14, 34, 54, 24, 31, 27, 33, 35, 31, 23, 27, 47, 55, 46, 26, 18,
+  15, 20, 25, 22, 17, 16, 17, 19, 20, 21, 27, 34, 35, 31, 15, 18,
+  23, 20, 20, 36, 39, 22, 27, 21, 18, 19, 19, 17, 19, 23, 27, 26,
+  26, 26, 25, 26, 34, 42, 64, 173, 222, 231, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 225, 224, 220, 217, 232,
+  192, 27, 74, 51, 47, 62, 36, 47, 51, 47, 39, 38, 41, 41, 34, 37,
+  35, 29, 60, 79, 69, 81, 97, 51, 88, 103, 60, 51, 61, 53, 46, 33,
+  58, 15, 41, 72, 36, 36, 45, 29, 29, 28, 22, 25, 53, 68, 56, 25,
+  16, 13, 22, 25, 22, 17, 17, 14, 19, 20, 20, 24, 32, 35, 35, 17,
+  21, 25, 20, 20, 40, 46, 28, 25, 20, 18, 21, 22, 21, 21, 23, 27,
+  26, 26, 24, 24, 28, 35, 41, 33, 128, 201, 232, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 244, 224, 225, 224, 220, 216,
+  218, 76, 78, 68, 67, 54, 45, 44, 61, 61, 51, 40, 38, 45, 44, 35,
+  52, 50, 50, 71, 69, 54, 61, 56, 100, 96, 112, 50, 84, 61, 71, 65,
+  46, 42, 38, 48, 59, 47, 41, 70, 31, 31, 33, 28, 28, 56, 71, 52,
+  31, 19, 14, 22, 25, 20, 18, 21, 12, 19, 22, 20, 20, 26, 31, 33,
+  22, 26, 30, 22, 23, 45, 52, 34, 22, 17, 17, 21, 24, 22, 20, 20,
+  24, 26, 28, 27, 26, 29, 34, 37, 33, 83, 155, 220, 228, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 222, 223, 226, 226, 221,
+  218, 90, 104, 61, 80, 88, 55, 36, 64, 79, 76, 63, 48, 46, 53, 52,
+  41, 44, 52, 69, 94, 87, 81, 89, 67, 137, 111, 84, 70, 84, 77, 58,
+  77, 74, 31, 65, 54, 37, 53, 48, 93, 37, 36, 41, 34, 29, 54, 66,
+  43, 38, 22, 16, 20, 24, 19, 18, 24, 16, 25, 29, 25, 21, 24, 31,
+  36, 25, 30, 32, 24, 25, 48, 58, 40, 19, 15, 15, 21, 23, 19, 15,
+  14, 18, 24, 31, 31, 31, 32, 34, 34, 31, 42, 103, 189, 213, 215, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 223, 218, 223, 237,
+  195, 221, 57, 72, 72, 93, 87, 61, 72, 69, 94, 50, 67, 45, 46, 58,
+  56, 38, 85, 77, 81, 104, 69, 75, 88, 108, 106, 100, 92, 91, 87, 68,
+  70, 96, 61, 61, 78, 69, 42, 56, 81, 72, 41, 48, 38, 32, 25, 68,
+  72, 58, 38, 9, 21, 11, 23, 22, 22, 21, 22, 21, 29, 22, 28, 31,
+  24, 41, 43, 30, 19, 22, 32, 39, 41, 43, 18, 11, 22, 21, 21, 24,
+  17, 27, 18, 25, 25, 30, 40, 29, 20, 32, 31, 49, 68, 116, 185, 216,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 244, 225, 226, 218,
+  224, 227, 131, 76, 76, 65, 80, 79, 59, 64, 57, 60, 76, 59, 90, 46,
+  73, 48, 87, 95, 105, 75, 109, 67, 113, 92, 101, 110, 73, 94, 95, 53,
+  79, 105, 53, 65, 66, 68, 75, 47, 57, 52, 42, 56, 66, 36, 29, 28,
+  67, 82, 84, 43, 13, 22, 10, 24, 30, 31, 20, 18, 30, 24, 30, 17,
+  41, 20, 41, 42, 29, 19, 21, 26, 31, 34, 35, 22, 14, 24, 21, 21,
+  25, 17, 27, 28, 30, 37, 29, 20, 37, 46, 27, 36, 56, 68, 91, 151,
+  209, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 223, 219, 232,
+  222, 216, 181, 60, 71, 64, 52, 67, 73, 60, 58, 48, 40, 82, 74, 67,
+  74, 66, 64, 79, 91, 89, 99, 84, 108, 87, 86, 75, 94, 135, 81, 36,
+  78, 79, 60, 99, 78, 89, 92, 83, 88, 96, 80, 49, 67, 86, 34, 23,
+  28, 60, 93, 109, 57, 15, 20, 10, 27, 38, 40, 22, 20, 31, 33, 31,
+  25, 40, 27, 44, 53, 39, 26, 25, 30, 30, 29, 29, 20, 11, 20, 18,
+  19, 22, 14, 23, 36, 23, 38, 35, 14, 38, 58, 26, 31, 35, 43, 59,
+  101, 167, 206, 222, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 223, 212,
+  229, 231, 191, 65, 55, 50, 48, 49, 60, 64, 55, 47, 39, 51, 88, 54,
+  86, 57, 61, 56, 79, 97, 105, 100, 116, 105, 82, 68, 103, 120, 98, 62,
+  69, 104, 88, 55, 62, 82, 103, 114, 73, 112, 118, 112, 61, 65, 108, 51,
+  25, 26, 62, 104, 125, 78, 15, 17, 19, 34, 37, 39, 25, 33, 21, 51,
+  26, 56, 30, 39, 50, 65, 48, 33, 31, 36, 35, 28, 24, 17, 9, 19,
+  19, 21, 25, 15, 23, 40, 19, 31, 45, 33, 36, 50, 41, 46, 24, 32,
+  58, 81, 127, 180, 205, 230, 255, 255, 255, 255, 255, 255, 255, 255, 220, 225,
+  219, 224, 218, 122, 12, 64, 45, 48, 57, 55, 48, 40, 34, 37, 71, 64,
+  53, 89, 46, 28, 72, 113, 95, 103, 91, 97, 85, 73, 76, 118, 109, 42,
+  57, 91, 58, 55, 86, 76, 111, 122, 116, 97, 116, 129, 114, 86, 57, 120,
+  78, 34, 25, 70, 108, 127, 99, 15, 16, 30, 40, 30, 35, 30, 40, 17,
+  47, 40, 73, 34, 39, 60, 66, 47, 32, 33, 42, 41, 34, 25, 17, 9,
+  20, 22, 27, 31, 20, 26, 34, 33, 32, 36, 43, 40, 43, 57, 55, 31,
+  34, 49, 57, 92, 152, 188, 200, 255, 255, 255, 255, 255, 255, 255, 255, 222,
+  226, 233, 221, 164, 47, 46, 48, 46, 45, 54, 42, 32, 34, 34, 50, 55,
+  34, 52, 27, 41, 43, 111, 95, 62, 73, 84, 59, 81, 76, 87, 75, 52,
+  46, 41, 40, 47, 67, 111, 152, 137, 131, 107, 147, 125, 145, 115, 122, 54,
+  110, 92, 41, 21, 75, 98, 116, 109, 20, 23, 39, 41, 28, 37, 33, 37,
+  24, 32, 62, 66, 58, 34, 65, 62, 48, 38, 41, 48, 49, 44, 41, 18,
+  7, 17, 18, 23, 29, 19, 25, 19, 44, 36, 17, 27, 39, 42, 51, 49,
+  47, 43, 30, 27, 64, 122, 157, 174, 255, 255, 255, 255, 255, 255, 255, 255,
+  224, 226, 230, 216, 81, 29, 58, 38, 46, 36, 43, 29, 27, 39, 34, 47,
+  24, 43, 22, 35, 33, 116, 87, 57, 44, 75, 56, 86, 50, 106, 72, 54,
+  57, 48, 54, 78, 113, 148, 152, 129, 128, 115, 113, 151, 135, 145, 125, 115,
+  70, 91, 94, 50, 25, 80, 86, 109, 106, 29, 38, 43, 36, 33, 47, 34,
+  32, 35, 36, 69, 68, 82, 46, 64, 59, 56, 54, 53, 49, 46, 46, 52,
+  28, 13, 16, 13, 18, 26, 19, 28, 15, 33, 43, 30, 20, 30, 39, 35,
+  47, 60, 55, 38, 32, 49, 93, 138, 170, 190, 255, 255, 255, 255, 255, 255,
+  244, 227, 223, 214, 209, 18, 52, 22, 45, 53, 35, 38, 25, 28, 39, 20,
+  22, 29, 34, 43, 74, 101, 112, 49, 57, 54, 52, 46, 54, 30, 58, 62,
+  50, 82, 117, 135, 142, 157, 150, 142, 154, 126, 115, 152, 136, 157, 146, 151,
+  89, 96, 84, 99, 63, 38, 91, 84, 115, 100, 35, 48, 41, 30, 38, 58,
+  33, 32, 38, 54, 60, 83, 91, 66, 59, 57, 61, 64, 57, 42, 33, 37,
+  49, 45, 26, 24, 17, 21, 31, 27, 38, 25, 18, 51, 67, 34, 25, 38,
+  28, 32, 41, 43, 44, 37, 22, 50, 114, 160, 173, 255, 255, 255, 255, 255,
+  255, 219, 220, 229, 218, 131, 26, 51, 48, 31, 44, 38, 30, 29, 32, 31,
+  29, 26, 33, 35, 66, 99, 90, 52, 41, 59, 41, 66, 79, 74, 74, 80,
+  94, 113, 135, 147, 158, 159, 156, 156, 155, 153, 101, 135, 155, 149, 148, 156,
+  144, 118, 100, 75, 84, 63, 41, 63, 122, 81, 79, 106, 30, 49, 43, 46,
+  46, 31, 39, 40, 49, 48, 84, 93, 85, 50, 65, 60, 61, 75, 55, 29,
+  39, 44, 45, 53, 24, 18, 21, 28, 46, 28, 28, 30, 27, 51, 50, 34,
+  40, 20, 23, 39, 57, 40, 44, 52, 46, 79, 138, 165, 206, 255, 255, 255,
+  255, 255, 221, 226, 212, 191, 43, 22, 41, 36, 43, 24, 26, 28, 31, 31,
+  30, 32, 33, 22, 74, 102, 74, 41, 45, 64, 74, 106, 127, 132, 127, 127,
+  129, 135, 148, 154, 160, 165, 166, 167, 164, 157, 147, 129, 149, 159, 153, 152,
+  157, 145, 123, 91, 91, 85, 63, 52, 74, 115, 92, 50, 98, 48, 52, 40,
+  51, 44, 46, 45, 45, 52, 51, 84, 93, 90, 63, 53, 59, 62, 71, 48,
+  26, 38, 40, 51, 48, 18, 19, 27, 22, 39, 46, 32, 32, 28, 48, 44,
+  28, 32, 12, 23, 30, 50, 45, 45, 50, 43, 65, 103, 152, 184, 255, 255,
+  255, 255, 255, 223, 218, 218, 132, 1, 40, 41, 35, 41, 25, 31, 34, 30,
+  25, 25, 34, 40, 56, 45, 36, 41, 71, 111, 140, 153, 152, 164, 164, 160,
+  162, 162, 160, 166, 166, 167, 166, 167, 169, 165, 150, 133, 153, 157, 158, 155,
+  156, 156, 146, 131, 97, 116, 86, 58, 45, 76, 107, 105, 50, 107, 75, 58,
+  49, 74, 43, 50, 53, 50, 59, 56, 82, 86, 93, 80, 54, 61, 65, 71,
+  48, 23, 34, 33, 55, 63, 33, 21, 26, 22, 36, 52, 36, 31, 25, 36,
+  33, 29, 38, 27, 27, 20, 42, 51, 49, 50, 44, 50, 68, 117, 171, 255,
+  255, 255, 255, 245, 222, 214, 227, 49, 23, 47, 39, 42, 31, 35, 37, 34,
+  25, 23, 32, 49, 59, 58, 48, 71, 120, 145, 141, 152, 178, 158, 162, 155,
+  154, 162, 164, 160, 163, 168, 166, 162, 161, 163, 160, 146, 131, 159, 155, 154,
+  156, 155, 150, 144, 141, 99, 122, 100, 80, 44, 74, 100, 93, 72, 115, 84,
+  53, 58, 102, 46, 47, 56, 53, 66, 62, 78, 72, 88, 92, 69, 62, 61,
+  75, 53, 22, 30, 31, 50, 85, 67, 27, 22, 30, 37, 44, 54, 39, 27,
+  25, 21, 29, 46, 46, 34, 17, 34, 53, 50, 51, 51, 44, 56, 80, 148,
+  255, 255, 255, 255, 225, 222, 223, 184, 3, 35, 29, 29, 38, 33, 21, 22,
+  21, 21, 32, 52, 70, 76, 86, 118, 152, 161, 155, 153, 156, 161, 161, 160,
+  151, 151, 162, 164, 161, 167, 168, 168, 166, 162, 161, 161, 154, 148, 155, 153,
+  154, 158, 152, 143, 141, 146, 95, 110, 121, 120, 55, 76, 104, 75, 82, 109,
+  83, 52, 56, 110, 56, 60, 59, 55, 70, 68, 72, 55, 76, 94, 75, 49,
+  40, 67, 54, 21, 28, 38, 38, 75, 79, 42, 27, 32, 35, 45, 68, 50,
+  40, 26, 17, 27, 38, 41, 37, 21, 27, 46, 45, 47, 55, 44, 59, 67,
+  143, 202, 255, 255, 255, 226, 223, 214, 98, 25, 35, 35, 32, 26, 44, 71,
+  76, 81, 89, 107, 127, 134, 129, 150, 155, 147, 136, 147, 171, 177, 165, 165,
+  163, 155, 154, 163, 162, 160, 169, 162, 165, 164, 160, 156, 160, 160, 159, 157,
+  156, 158, 160, 152, 141, 140, 146, 113, 111, 130, 125, 55, 68, 117, 96, 95,
+  117, 100, 77, 56, 95, 63, 77, 73, 57, 67, 67, 69, 44, 65, 91, 72,
+  39, 22, 48, 44, 19, 31, 40, 32, 37, 59, 54, 34, 27, 31, 54, 55,
+  42, 47, 34, 25, 35, 33, 32, 37, 33, 24, 33, 35, 39, 53, 43, 57,
+  71, 156, 162, 255, 255, 255, 225, 222, 185, 50, 45, 36, 47, 37, 36, 72,
+  100, 107, 112, 117, 130, 146, 145, 135, 156, 159, 163, 166, 162, 157, 157, 161,
+  158, 161, 157, 159, 162, 157, 154, 164, 158, 161, 161, 157, 156, 159, 159, 158,
+  159, 157, 156, 155, 150, 144, 142, 142, 129, 124, 131, 110, 59, 55, 115, 121,
+  110, 121, 111, 109, 65, 86, 72, 83, 95, 62, 60, 62, 69, 43, 60, 83,
+  80, 55, 30, 37, 27, 15, 30, 31, 40, 14, 42, 49, 27, 26, 31, 45,
+  40, 32, 49, 39, 31, 44, 35, 33, 37, 51, 29, 24, 30, 32, 48, 43,
+  49, 63, 164, 165, 255, 255, 255, 222, 219, 166, 54, 29, 27, 37, 30, 61,
+  106, 122, 131, 134, 133, 142, 156, 159, 150, 157, 160, 161, 160, 165, 171, 171,
+  165, 155, 160, 162, 165, 167, 157, 154, 166, 160, 163, 162, 160, 162, 163, 160,
+  155, 159, 155, 150, 148, 149, 149, 146, 141, 119, 131, 138, 111, 83, 52, 96,
+  117, 108, 108, 100, 120, 76, 88, 83, 85, 114, 68, 53, 57, 70, 45, 58,
+  79, 97, 82, 52, 34, 15, 11, 27, 19, 51, 17, 42, 37, 12, 32, 35,
+  23, 46, 36, 54, 40, 30, 43, 33, 32, 39, 66, 37, 23, 30, 31, 45,
+  42, 42, 44, 160, 178, 255, 255, 255, 217, 216, 126, 53, 40, 26, 43, 40,
+  71, 130, 134, 140, 143, 143, 147, 156, 158, 153, 158, 159, 160, 159, 159, 161,
+  162, 161, 160, 165, 168, 165, 157, 155, 158, 163, 165, 164, 162, 161, 162, 160,
+  157, 154, 157, 164, 166, 161, 156, 156, 151, 143, 141, 133, 130, 112, 79, 67,
+  77, 86, 122, 106, 102, 103, 100, 109, 106, 85, 108, 110, 73, 43, 51, 50,
+  46, 68, 91, 94, 85, 59, 28, 16, 18, 28, 52, 56, 34, 16, 24, 24,
+  23, 38, 50, 44, 34, 29, 35, 46, 51, 50, 44, 54, 59, 42, 19, 25,
+  40, 40, 59, 55, 108, 153, 255, 255, 255, 219, 216, 120, 44, 33, 26, 39,
+  47, 87, 134, 132, 139, 143, 142, 140, 145, 150, 149, 153, 155, 155, 156, 158,
+  163, 169, 172, 170, 166, 162, 166, 171, 171, 166, 160, 162, 163, 163, 164, 165,
+  165, 162, 160, 159, 162, 162, 156, 151, 149, 148, 148, 133, 139, 141, 119, 86,
+  79, 85, 82, 109, 113, 103, 102, 116, 110, 96, 96, 102, 134, 105, 49, 43,
+  59, 62, 69, 57, 73, 89, 84, 62, 37, 26, 27, 43, 49, 33, 20, 24,
+  22, 19, 31, 43, 63, 75, 63, 45, 43, 60, 78, 43, 45, 49, 39, 21,
+  24, 39, 42, 45, 49, 91, 149, 202, 255, 255, 218, 214, 120, 41, 34, 37,
+  39, 61, 113, 141, 134, 141, 146, 143, 139, 141, 146, 149, 141, 143, 146, 150,
+  152, 155, 159, 163, 169, 167, 166, 169, 176, 177, 171, 164, 160, 162, 161, 164,
+  165, 163, 160, 157, 160, 159, 156, 151, 142, 136, 139, 146, 133, 140, 135, 102,
+  72, 80, 97, 96, 92, 110, 98, 100, 127, 110, 86, 107, 99, 121, 111, 88,
+  78, 62, 47, 55, 57, 69, 85, 85, 61, 29, 13, 15, 34, 40, 33, 25,
+  25, 19, 15, 23, 41, 54, 64, 60, 53, 52, 57, 60, 47, 38, 38, 35,
+  22, 22, 34, 40, 35, 44, 72, 141, 161, 255, 255, 216, 209, 116, 43, 40,
+  51, 37, 69, 130, 141, 142, 144, 145, 142, 140, 139, 141, 143, 141, 145, 152,
+  159, 159, 156, 156, 159, 158, 164, 172, 173, 170, 167, 169, 174, 168, 167, 166,
+  166, 164, 160, 154, 149, 159, 155, 151, 144, 131, 120, 120, 128, 123, 123, 116,
+  92, 69, 78, 102, 109, 83, 90, 84, 97, 120, 106, 89, 107, 104, 110, 107,
+  109, 109, 81, 50, 44, 79, 84, 94, 94, 72, 41, 28, 33, 32, 36, 34,
+  30, 25, 17, 15, 22, 35, 33, 33, 38, 50, 56, 48, 34, 55, 36, 31,
+  34, 25, 20, 28, 35, 39, 39, 62, 127, 165, 255, 255, 217, 208, 103, 42,
+  38, 56, 33, 75, 138, 133, 145, 139, 132, 129, 126, 123, 119, 115, 117, 119,
+  125, 132, 133, 132, 137, 145, 152, 159, 167, 170, 166, 166, 168, 172, 172, 172,
+  172, 170, 167, 161, 152, 146, 154, 151, 145, 136, 119, 105, 100, 102, 93, 89,
+  97, 99, 84, 79, 92, 102, 81, 62, 65, 88, 98, 98, 96, 94, 108, 127,
+  123, 106, 105, 110, 90, 63, 41, 53, 75, 89, 78, 52, 31, 27, 41, 36,
+  36, 35, 26, 19, 21, 25, 21, 31, 39, 40, 39, 44, 48, 50, 57, 33,
+  27, 34, 28, 22, 28, 33, 46, 33, 57, 110, 181, 255, 255, 220, 210, 102,
+  51, 34, 57, 37, 89, 147, 131, 131, 118, 106, 102, 99, 92, 83, 79, 76,
+  73, 74, 81, 84, 91, 107, 125, 144, 145, 150, 162, 172, 174, 168, 161, 165,
+  166, 167, 167, 164, 158, 149, 143, 146, 145, 139, 123, 108, 96, 85, 78, 74,
+  59, 67, 80, 72, 66, 76, 89, 76, 50, 54, 73, 77, 87, 93, 80, 92,
+  110, 124, 123, 115, 111, 102, 92, 70, 82, 98, 109, 103, 83, 59, 44, 53,
+  40, 38, 40, 29, 24, 28, 27, 17, 29, 37, 34, 30, 35, 47, 55, 51,
+  29, 25, 32, 30, 27, 32, 33, 46, 27, 50, 101, 191, 255, 255, 222, 210,
+  115, 67, 28, 52, 44, 104, 153, 124, 101, 90, 80, 77, 72, 63, 57, 56,
+  65, 62, 63, 70, 72, 76, 94, 113, 121, 127, 140, 158, 172, 174, 164, 154,
+  161, 162, 164, 167, 165, 158, 149, 142, 136, 139, 130, 110, 98, 96, 84, 67,
+  67, 51, 49, 55, 51, 55, 67, 72, 67, 60, 52, 57, 69, 76, 75, 73,
+  70, 71, 96, 125, 122, 104, 98, 103, 93, 100, 103, 101, 97, 89, 65, 43,
+  64, 42, 40, 45, 34, 29, 33, 27, 22, 22, 20, 19, 26, 36, 41, 40,
+  45, 29, 26, 31, 28, 29, 32, 29, 37, 26, 41, 108, 192, 255, 255, 221,
+  208, 127, 76, 19, 40, 44, 107, 147, 114, 79, 72, 66, 64, 59, 51, 50,
+  55, 61, 59, 64, 72, 70, 65, 74, 89, 94, 114, 141, 161, 167, 163, 157,
+  157, 168, 170, 173, 174, 171, 165, 154, 148, 129, 134, 123, 99, 93, 98, 86,
+  65, 58, 54, 56, 57, 55, 61, 63, 49, 57, 76, 56, 45, 71, 70, 57,
+  72, 58, 65, 79, 88, 98, 118, 118, 95, 82, 96, 103, 104, 109, 110, 84,
+  55, 67, 42, 42, 49, 37, 33, 35, 25, 23, 25, 23, 20, 24, 33, 39,
+  40, 44, 33, 30, 32, 26, 27, 29, 23, 29, 29, 36, 118, 189, 255, 255,
+  215, 207, 149, 62, 27, 27, 49, 123, 85, 72, 51, 50, 46, 43, 47, 56,
+  61, 59, 67, 58, 54, 55, 51, 50, 61, 79, 85, 106, 128, 141, 149, 158,
+  163, 162, 164, 160, 160, 167, 169, 161, 151, 146, 141, 127, 118, 111, 99, 83,
+  79, 86, 79, 71, 68, 72, 68, 55, 55, 66, 69, 70, 68, 63, 67, 72,
+  67, 58, 51, 53, 65, 82, 86, 86, 97, 113, 99, 104, 104, 101, 104, 107,
+  91, 69, 64, 65, 62, 35, 42, 50, 28, 44, 28, 28, 23, 17, 17, 24,
+  27, 26, 39, 27, 28, 24, 25, 32, 22, 28, 25, 21, 37, 102, 228, 255,
+  255, 217, 210, 150, 69, 41, 35, 57, 106, 72, 57, 39, 43, 47, 50, 57,
+  66, 69, 66, 55, 55, 59, 66, 67, 64, 62, 64, 78, 96, 119, 137, 152,
+  160, 157, 149, 152, 152, 154, 161, 164, 164, 155, 148, 134, 121, 110, 110, 108,
+  100, 98, 104, 102, 93, 87, 91, 95, 98, 110, 122, 132, 133, 125, 112, 102,
+  96, 83, 68, 78, 71, 69, 70, 67, 63, 72, 86, 105, 103, 98, 100, 111,
+  119, 101, 78, 59, 57, 60, 46, 52, 61, 38, 39, 31, 30, 25, 19, 18,
+  24, 28, 27, 37, 26, 32, 27, 28, 33, 22, 25, 29, 21, 35, 100, 225,
+  255, 255, 219, 214, 162, 80, 50, 31, 60, 78, 62, 48, 52, 61, 73, 85,
+  97, 105, 104, 99, 97, 103, 107, 111, 114, 112, 100, 88, 93, 100, 114, 129,
+  146, 156, 151, 141, 144, 151, 156, 158, 162, 168, 160, 147, 138, 124, 115, 121,
+  125, 126, 125, 130, 144, 137, 128, 126, 131, 141, 150, 154, 150, 155, 152, 141,
+  135, 131, 121, 107, 95, 84, 76, 76, 72, 69, 74, 83, 94, 97, 97, 99,
+  106, 112, 102, 92, 57, 41, 42, 39, 44, 56, 44, 31, 33, 32, 28, 22,
+  19, 24, 28, 27, 33, 27, 35, 30, 29, 33, 21, 23, 28, 17, 29, 96,
+  216, 255, 255, 220, 215, 186, 95, 50, 23, 68, 68, 79, 73, 85, 96, 111,
+  125, 137, 143, 141, 136, 141, 146, 145, 139, 139, 143, 136, 124, 123, 120, 117,
+  122, 133, 142, 147, 147, 149, 161, 165, 160, 163, 169, 160, 146, 142, 134, 128,
+  132, 134, 136, 137, 142, 138, 137, 134, 136, 146, 160, 163, 161, 169, 174, 173,
+  163, 155, 152, 144, 134, 132, 121, 110, 103, 93, 78, 67, 62, 75, 91, 105,
+  105, 98, 96, 100, 107, 70, 39, 26, 23, 24, 42, 47, 31, 33, 34, 30,
+  23, 21, 25, 28, 29, 32, 29, 39, 29, 27, 32, 21, 24, 28, 18, 29,
+  103, 213, 255, 255, 219, 215, 200, 106, 44, 26, 92, 81, 110, 107, 113, 122,
+  132, 141, 149, 153, 150, 144, 157, 161, 157, 144, 141, 148, 148, 142, 135, 129,
+  121, 116, 118, 127, 141, 152, 154, 166, 168, 162, 160, 166, 158, 145, 137, 135,
+  134, 133, 129, 128, 132, 139, 149, 147, 143, 142, 149, 162, 163, 159, 161, 171,
+  172, 163, 156, 157, 154, 148, 145, 136, 126, 119, 107, 91, 74, 65, 71, 84,
+  101, 108, 104, 100, 105, 116, 94, 61, 37, 31, 27, 38, 52, 39, 33, 36,
+  34, 29, 25, 27, 29, 28, 32, 31, 40, 27, 23, 30, 23, 27, 30, 22,
+  38, 116, 214, 255, 255, 218, 215, 191, 105, 33, 41, 116, 93, 124, 119, 133,
+  138, 143, 145, 148, 149, 144, 138, 137, 140, 135, 124, 118, 117, 114, 111, 122,
+  119, 117, 115, 112, 117, 133, 149, 152, 160, 161, 157, 154, 156, 152, 143, 131,
+  134, 135, 133, 125, 124, 127, 134, 125, 118, 110, 109, 114, 122, 129, 133, 143,
+  156, 162, 159, 155, 158, 159, 156, 143, 135, 125, 118, 112, 106, 101, 98, 80,
+  76, 80, 99, 112, 114, 110, 111, 105, 89, 62, 57, 46, 39, 48, 39, 31,
+  38, 39, 36, 31, 32, 33, 32, 31, 33, 43, 28, 21, 29, 23, 28, 25,
+  20, 38, 119, 255, 255, 255, 218, 216, 180, 105, 28, 57, 129, 98, 123, 121,
+  138, 141, 142, 141, 140, 138, 131, 124, 139, 135, 131, 132, 134, 132, 131, 130,
+  114, 112, 111, 112, 110, 115, 131, 148, 153, 154, 154, 151, 148, 145, 141, 141,
+  128, 132, 133, 130, 124, 121, 121, 122, 106, 98, 96, 102, 108, 112, 121, 133,
+  135, 152, 163, 158, 152, 151, 149, 143, 158, 149, 137, 124, 115, 110, 107, 104,
+  98, 80, 75, 94, 114, 117, 112, 109, 105, 111, 84, 77, 62, 34, 35, 36,
+  32, 41, 46, 44, 39, 39, 39, 37, 27, 34, 46, 30, 21, 29, 22, 25,
+  22, 20, 38, 118, 255, 255, 255, 219, 217, 182, 115, 32, 70, 136, 100, 124,
+  127, 129, 130, 131, 129, 127, 124, 116, 108, 87, 77, 75, 91, 109, 119, 124,
+  131, 122, 114, 109, 109, 110, 117, 133, 153, 156, 153, 150, 150, 144, 137, 132,
+  136, 124, 126, 124, 122, 118, 116, 110, 105, 95, 83, 77, 78, 67, 48, 42,
+  49, 71, 96, 118, 127, 131, 137, 139, 136, 140, 138, 133, 125, 121, 122, 122,
+  121, 114, 96, 89, 103, 113, 113, 112, 118, 105, 123, 96, 85, 69, 30, 30,
+  39, 32, 42, 50, 49, 45, 44, 43, 41, 24, 34, 48, 33, 23, 30, 21,
+  22, 28, 26, 42, 167, 255, 255, 255, 218, 215, 181, 96, 37, 108, 130, 118,
+  129, 129, 109, 120, 92, 123, 88, 42, 46, 44, 20, 30, 224, 108, 53, 138,
+  112, 113, 111, 123, 137, 110, 109, 105, 134, 145, 154, 154, 152, 148, 140, 133,
+  127, 125, 128, 125, 123, 123, 122, 121, 113, 109, 96, 46, 89, 115, 121, 58,
+  65, 55, 62, 46, 20, 34, 46, 85, 106, 128, 111, 104, 111, 126, 127, 115,
+  115, 124, 135, 122, 105, 96, 98, 107, 117, 120, 121, 108, 119, 102, 62, 75,
+  35, 44, 28, 30, 38, 54, 62, 60, 51, 46, 38, 37, 34, 38, 43, 32,
+  24, 33, 39, 21, 115, 255, 255, 255, 255, 218, 215, 187, 105, 43, 121, 130,
+  119, 118, 118, 107, 107, 108, 74, 45, 70, 35, 34, 80, 86, 187, 22, 85,
+  165, 201, 145, 120, 123, 122, 123, 116, 122, 137, 156, 156, 153, 151, 146, 140,
+  135, 132, 130, 121, 118, 118, 126, 135, 136, 125, 114, 98, 89, 138, 133, 118,
+  66, 65, 36, 48, 42, 45, 78, 67, 59, 55, 82, 97, 104, 113, 117, 117,
+  116, 121, 128, 134, 126, 115, 110, 109, 112, 117, 118, 127, 114, 125, 110, 75,
+  86, 48, 51, 28, 29, 35, 47, 55, 56, 54, 54, 41, 47, 51, 56, 58,
+  39, 27, 33, 30, 24, 127, 255, 255, 255, 255, 255, 217, 179, 106, 43, 134,
+  135, 132, 122, 125, 113, 94, 89, 43, 41, 106, 60, 49, 57, 59, 20, 75,
+  117, 181, 153, 170, 124, 116, 101, 125, 117, 133, 135, 156, 156, 151, 146, 141,
+  137, 135, 135, 135, 122, 115, 112, 123, 136, 135, 118, 100, 125, 78, 112, 144,
+  143, 69, 56, 50, 45, 42, 61, 125, 137, 113, 55, 31, 56, 75, 92, 97,
+  100, 111, 119, 121, 128, 130, 129, 127, 124, 123, 123, 123, 127, 115, 127, 114,
+  89, 96, 61, 56, 33, 31, 31, 38, 43, 47, 53, 60, 41, 48, 53, 59,
+  59, 41, 29, 36, 36, 35, 255, 255, 255, 255, 255, 255, 219, 177, 109, 44,
+  145, 138, 143, 128, 134, 105, 75, 41, 47, 72, 117, 93, 73, 35, 50, 61,
+  78, 175, 136, 143, 109, 123, 116, 102, 116, 119, 136, 138, 148, 154, 148, 140,
+  134, 132, 132, 133, 134, 125, 117, 111, 117, 127, 127, 113, 99, 114, 89, 103,
+  110, 123, 99, 92, 66, 77, 109, 134, 162, 147, 129, 77, 47, 37, 52, 73,
+  90, 103, 116, 124, 128, 127, 132, 139, 139, 135, 131, 130, 131, 129, 116, 127,
+  118, 102, 104, 76, 64, 37, 32, 30, 31, 33, 36, 45, 56, 44, 45, 43,
+  48, 53, 42, 34, 42, 64, 51, 255, 255, 255, 255, 255, 255, 220, 193, 123,
+  55, 150, 139, 141, 126, 132, 87, 60, 43, 64, 82, 109, 88, 86, 61, 104,
+  96, 117, 116, 153, 144, 125, 127, 126, 123, 108, 125, 139, 151, 143, 155, 148,
+  138, 132, 130, 131, 132, 132, 123, 118, 115, 118, 125, 130, 131, 128, 115, 110,
+  117, 111, 110, 100, 110, 107, 107, 126, 125, 126, 105, 108, 91, 83, 55, 49,
+  57, 80, 98, 105, 112, 123, 132, 139, 146, 144, 138, 133, 134, 135, 132, 121,
+  131, 122, 115, 110, 94, 76, 35, 31, 27, 27, 27, 30, 40, 51, 50, 46,
+  38, 44, 56, 49, 42, 48, 92, 67, 255, 255, 255, 255, 255, 255, 220, 198,
+  127, 61, 148, 143, 140, 132, 137, 94, 81, 108, 94, 83, 116, 79, 105, 105,
+  88, 106, 129, 125, 131, 134, 153, 128, 128, 131, 104, 128, 139, 157, 140, 154,
+  147, 139, 134, 133, 134, 133, 132, 125, 123, 121, 120, 121, 127, 134, 139, 135,
+  110, 110, 127, 132, 110, 114, 137, 125, 114, 99, 117, 115, 122, 109, 113, 102,
+  80, 70, 84, 97, 98, 105, 118, 140, 145, 148, 144, 136, 131, 132, 132, 132,
+  122, 129, 119, 118, 108, 103, 82, 38, 31, 24, 24, 25, 29, 36, 46, 46,
+  43, 38, 47, 60, 54, 47, 52, 104, 86, 255, 255, 255, 255, 255, 255, 217,
+  192, 118, 63, 144, 152, 141, 146, 149, 119, 121, 138, 127, 105, 127, 105, 128,
+  134, 123, 145, 127, 141, 126, 117, 117, 124, 120, 112, 106, 123, 144, 150, 141,
+  149, 144, 138, 135, 137, 137, 135, 132, 129, 129, 126, 123, 120, 120, 124, 126,
+  120, 131, 120, 106, 123, 148, 144, 128, 144, 158, 161, 171, 144, 137, 129, 141,
+  144, 130, 118, 119, 123, 122, 124, 127, 139, 142, 143, 141, 136, 133, 132, 132,
+  131, 121, 127, 115, 116, 102, 108, 88, 53, 40, 28, 23, 24, 26, 31, 36,
+  36, 37, 34, 42, 54, 54, 56, 72, 108, 110, 108, 255, 255, 255, 255, 255,
+  214, 191, 116, 67, 140, 156, 140, 149, 149, 134, 143, 110, 145, 135, 123, 142,
+  140, 146, 140, 128, 117, 136, 117, 105, 131, 124, 115, 96, 114, 122, 152, 147,
+  150, 142, 138, 134, 134, 137, 137, 134, 130, 128, 128, 129, 128, 127, 125, 122,
+  122, 129, 132, 125, 126, 126, 126, 133, 158, 145, 158, 146, 146, 144, 171, 154,
+  135, 134, 137, 137, 132, 130, 131, 125, 116, 132, 134, 137, 138, 137, 137, 136,
+  134, 135, 127, 132, 117, 118, 102, 115, 94, 68, 52, 34, 25, 23, 22, 24,
+  28, 31, 34, 32, 35, 46, 53, 71, 99, 110, 126, 104, 125, 255, 255, 255,
+  255, 219, 170, 118, 64, 149, 143, 158, 133, 146, 142, 143, 140, 138, 136, 135,
+  133, 132, 133, 130, 129, 130, 133, 133, 129, 124, 118, 124, 121, 114, 125, 146,
+  152, 142, 133, 131, 129, 129, 132, 134, 134, 134, 140, 140, 139, 138, 135, 131,
+  128, 125, 132, 132, 136, 138, 142, 143, 144, 144, 138, 144, 151, 156, 157, 155,
+  149, 143, 143, 141, 138, 137, 137, 137, 137, 137, 129, 129, 131, 133, 135, 136,
+  133, 131, 127, 125, 121, 114, 113, 111, 99, 86, 90, 40, 40, 28, 36, 17,
+  18, 23, 26, 45, 17, 18, 44, 67, 111, 126, 123, 141, 154, 139, 140, 255,
+  255, 255, 215, 174, 120, 65, 149, 143, 154, 132, 149, 149, 149, 148, 147, 146,
+  144, 142, 141, 140, 140, 141, 140, 138, 136, 135, 135, 135, 131, 122, 118, 131,
+  148, 150, 141, 137, 134, 130, 129, 129, 131, 131, 131, 135, 139, 140, 139, 136,
+  135, 134, 133, 135, 136, 138, 141, 143, 147, 149, 151, 151, 150, 148, 146, 146,
+  147, 149, 149, 142, 142, 142, 144, 144, 141, 136, 132, 128, 128, 131, 134, 136,
+  135, 132, 129, 128, 126, 120, 114, 111, 109, 98, 87, 88, 56, 54, 22, 22,
+  20, 21, 11, 31, 26, 33, 23, 27, 77, 125, 140, 127, 135, 160, 136, 147,
+  154, 255, 255, 214, 179, 121, 68, 147, 142, 149, 133, 152, 152, 153, 152, 151,
+  151, 150, 149, 148, 146, 148, 150, 147, 141, 138, 140, 144, 144, 130, 118, 121,
+  135, 146, 146, 140, 131, 129, 126, 125, 128, 131, 133, 135, 131, 136, 141, 142,
+  139, 136, 139, 142, 139, 139, 140, 142, 144, 148, 151, 154, 165, 161, 155, 151,
+  149, 150, 153, 154, 148, 146, 145, 146, 145, 143, 139, 136, 129, 130, 132, 135,
+  136, 134, 130, 127, 128, 126, 118, 112, 108, 106, 98, 91, 87, 63, 59, 26,
+  17, 18, 21, 17, 21, 5, 49, 43, 38, 103, 131, 128, 129, 126, 163, 138,
+  153, 143, 255, 255, 222, 183, 124, 74, 145, 142, 145, 136, 156, 151, 151, 151,
+  150, 150, 150, 150, 149, 147, 148, 148, 146, 142, 141, 143, 144, 137, 121, 114,
+  126, 140, 144, 142, 143, 130, 127, 122, 121, 123, 127, 129, 131, 129, 137, 144,
+  144, 139, 138, 141, 148, 144, 143, 140, 141, 142, 145, 148, 151, 163, 162, 160,
+  161, 159, 155, 152, 154, 155, 149, 143, 140, 141, 143, 146, 147, 137, 135, 134,
+  133, 133, 131, 128, 126, 128, 123, 115, 110, 107, 103, 97, 92, 87, 54, 53,
+  41, 24, 14, 18, 36, 35, 36, 74, 75, 80, 124, 133, 111, 121, 114, 154,
+  148, 150, 144, 164, 255, 255, 190, 136, 88, 145, 145, 147, 144, 159, 150, 150,
+  149, 150, 149, 149, 149, 149, 147, 144, 142, 142, 144, 146, 144, 141, 127, 118,
+  118, 134, 144, 142, 139, 143, 135, 130, 121, 117, 116, 117, 119, 120, 129, 137,
+  144, 144, 139, 138, 141, 147, 149, 148, 145, 144, 144, 146, 148, 150, 151, 150,
+  153, 159, 158, 151, 147, 148, 152, 148, 143, 141, 143, 147, 151, 152, 147, 142,
+  137, 132, 130, 128, 126, 125, 126, 121, 114, 108, 105, 100, 95, 94, 82, 57,
+  57, 47, 23, 19, 20, 40, 54, 98, 109, 117, 128, 132, 138, 119, 113, 107,
+  139, 157, 138, 151, 150, 255, 255, 201, 154, 109, 148, 148, 152, 152, 158, 153,
+  153, 152, 151, 150, 150, 150, 149, 148, 144, 142, 145, 149, 149, 144, 139, 130,
+  125, 129, 142, 148, 144, 139, 139, 128, 123, 116, 112, 113, 119, 123, 125, 129,
+  135, 141, 142, 139, 138, 141, 145, 154, 152, 150, 150, 148, 151, 151, 152, 150,
+  145, 145, 151, 151, 147, 146, 153, 145, 145, 147, 150, 153, 153, 152, 149, 152,
+  146, 140, 134, 130, 128, 126, 125, 123, 118, 112, 109, 104, 98, 94, 95, 75,
+  73, 69, 45, 15, 36, 36, 43, 37, 108, 128, 153, 162, 140, 139, 126, 112,
+  103, 130, 156, 128, 155, 141, 255, 255, 209, 170, 126, 148, 147, 153, 154, 148,
+  155, 154, 154, 153, 152, 150, 149, 148, 147, 148, 149, 150, 149, 145, 139, 136,
+  135, 131, 132, 141, 149, 150, 142, 134, 124, 118, 112, 111, 114, 120, 127, 131,
+  128, 131, 136, 138, 139, 139, 141, 142, 152, 152, 151, 152, 152, 154, 153, 154,
+  152, 146, 145, 153, 154, 149, 150, 158, 148, 149, 151, 155, 157, 156, 153, 150,
+  150, 146, 142, 138, 135, 132, 127, 125, 121, 115, 111, 109, 105, 96, 92, 94,
+  75, 74, 68, 52, 25, 59, 64, 77, 72, 98, 132, 161, 168, 159, 145, 123,
+  112, 96, 129, 143, 128, 154, 255, 255, 255, 212, 178, 134, 146, 143, 150, 151,
+  138, 155, 155, 154, 152, 151, 150, 148, 148, 145, 150, 154, 153, 146, 139, 134,
+  133, 138, 132, 129, 136, 149, 155, 146, 133, 136, 129, 119, 112, 112, 115, 119,
+  121, 126, 128, 132, 136, 139, 141, 142, 142, 146, 147, 149, 151, 153, 154, 155,
+  155, 148, 144, 147, 158, 158, 150, 148, 154, 157, 155, 152, 152, 154, 155, 156,
+  156, 145, 144, 144, 143, 140, 135, 129, 125, 119, 114, 110, 111, 106, 96, 91,
+  93, 79, 62, 57, 63, 44, 74, 88, 121, 168, 119, 138, 149, 153, 177, 157,
+  127, 111, 88, 131, 131, 131, 186, 255, 255, 255, 208, 186, 135, 139, 137, 153,
+  155, 148, 148, 150, 150, 150, 149, 148, 149, 151, 140, 144, 145, 141, 139, 139,
+  136, 131, 130, 129, 132, 140, 145, 143, 136, 131, 123, 121, 119, 117, 118, 118,
+  117, 117, 119, 123, 133, 128, 149, 137, 141, 144, 150, 153, 152, 148, 152, 162,
+  160, 150, 154, 158, 154, 151, 159, 170, 166, 154, 164, 162, 163, 165, 162, 154,
+  150, 150, 151, 145, 140, 137, 135, 129, 120, 114, 120, 115, 96, 110, 101, 108,
+  89, 89, 94, 62, 76, 65, 81, 88, 117, 164, 167, 134, 127, 146, 157, 152,
+  146, 137, 101, 98, 132, 121, 143, 255, 255, 255, 255, 222, 197, 142, 143, 138,
+  150, 149, 144, 150, 152, 153, 153, 152, 151, 151, 153, 148, 153, 155, 148, 143,
+  142, 143, 143, 126, 127, 133, 143, 148, 145, 137, 130, 123, 120, 118, 117, 116,
+  113, 109, 106, 106, 112, 123, 123, 150, 142, 146, 147, 150, 152, 154, 154, 157,
+  161, 161, 157, 156, 160, 159, 151, 153, 164, 169, 166, 168, 162, 157, 156, 151,
+  146, 146, 148, 150, 144, 139, 136, 134, 129, 122, 117, 110, 108, 95, 104, 91,
+  95, 80, 83, 92, 76, 102, 96, 109, 108, 126, 157, 172, 143, 133, 146, 153,
+  153, 148, 135, 111, 99, 124, 119, 255, 255, 255, 255, 255, 218, 190, 135, 138,
+  133, 146, 148, 144, 149, 151, 154, 153, 153, 151, 151, 153, 149, 155, 157, 149,
+  141, 140, 142, 144, 122, 126, 135, 145, 150, 148, 138, 129, 117, 115, 115, 117,
+  119, 118, 112, 108, 100, 102, 112, 114, 148, 146, 150, 147, 146, 146, 150, 155,
+  156, 153, 154, 158, 153, 162, 166, 158, 154, 160, 167, 170, 170, 165, 162, 161,
+  158, 153, 153, 155, 149, 144, 138, 134, 132, 128, 122, 119, 107, 106, 99, 104,
+  91, 91, 83, 88, 84, 86, 118, 111, 122, 119, 130, 145, 168, 148, 139, 140,
+  144, 151, 150, 134, 114, 97, 120, 127, 255, 255, 255, 255, 255, 215, 186, 129,
+  133, 129, 141, 145, 143, 146, 148, 151, 152, 151, 151, 150, 152, 148, 153, 152,
+  146, 141, 140, 138, 134, 122, 130, 140, 147, 153, 152, 143, 135, 118, 119, 118,
+  122, 123, 122, 116, 111, 105, 103, 107, 105, 142, 147, 151, 145, 145, 143, 149,
+  157, 156, 149, 149, 158, 150, 162, 170, 167, 162, 160, 161, 160, 153, 152, 155,
+  160, 159, 153, 149, 149, 150, 144, 138, 132, 129, 125, 120, 118, 107, 104, 100,
+  103, 96, 93, 90, 93, 80, 92, 117, 106, 116, 118, 134, 138, 154, 147, 141,
+  133, 130, 144, 149, 134, 104, 93, 126, 255, 255, 255, 255, 255, 255, 224, 192,
+  133, 135, 130, 137, 138, 137, 144, 147, 151, 153, 152, 151, 152, 153, 154, 154,
+  152, 150, 152, 150, 139, 126, 128, 138, 146, 151, 154, 157, 151, 143, 132, 132,
+  130, 129, 126, 122, 119, 116, 115, 110, 105, 98, 137, 147, 154, 147, 152, 150,
+  155, 162, 159, 152, 153, 161, 157, 163, 168, 167, 164, 161, 155, 151, 155, 154,
+  156, 161, 160, 155, 153, 154, 149, 144, 138, 131, 125, 121, 117, 115, 109, 101,
+  97, 94, 95, 88, 86, 86, 82, 99, 116, 107, 121, 126, 147, 143, 149, 148,
+  143, 127, 121, 138, 145, 130, 103, 96, 134, 255, 255, 255, 255, 255, 255, 215,
+  181, 125, 132, 127, 134, 135, 137, 145, 149, 153, 157, 156, 155, 155, 156, 156,
+  154, 151, 152, 155, 153, 138, 120, 128, 140, 148, 150, 153, 157, 153, 143, 135,
+  136, 134, 130, 126, 126, 131, 137, 122, 114, 105, 95, 133, 146, 158, 152, 154,
+  152, 155, 158, 158, 155, 157, 161, 169, 165, 162, 160, 160, 160, 157, 154, 167,
+  160, 155, 153, 151, 149, 153, 158, 144, 141, 137, 130, 124, 118, 114, 113, 114,
+  101, 97, 89, 94, 82, 82, 78, 79, 100, 115, 118, 138, 140, 162, 149, 159,
+  151, 141, 125, 121, 137, 140, 121, 110, 109, 255, 255, 255, 255, 255, 255, 255,
+  201, 168, 115, 126, 125, 132, 134, 138, 145, 148, 153, 157, 157, 156, 155, 156,
+  155, 154, 151, 150, 151, 149, 135, 120, 117, 132, 143, 145, 146, 149, 143, 132,
+  121, 122, 119, 110, 103, 106, 120, 133, 125, 119, 110, 95, 130, 145, 156, 150,
+  152, 153, 153, 152, 157, 163, 164, 162, 171, 166, 162, 161, 162, 162, 160, 160,
+  157, 149, 141, 138, 136, 135, 141, 147, 136, 135, 134, 129, 123, 117, 114, 113,
+  108, 99, 101, 87, 94, 77, 85, 84, 79, 99, 113, 126, 154, 152, 175, 158,
+  169, 148, 130, 121, 128, 144, 139, 112, 114, 119, 255, 255, 255, 255, 255, 255,
+  255, 208, 174, 120, 131, 128, 132, 132, 134, 142, 146, 151, 154, 154, 154, 153,
+  153, 156, 158, 154, 151, 149, 146, 137, 126, 104, 121, 135, 138, 138, 139, 131,
+  118, 110, 110, 100, 84, 69, 68, 83, 98, 128, 123, 114, 97, 130, 141, 151,
+  143, 155, 159, 157, 153, 160, 173, 175, 169, 163, 164, 166, 170, 169, 165, 162,
+  161, 159, 154, 151, 152, 151, 149, 152, 156, 130, 131, 130, 127, 122, 118, 115,
+  113, 96, 92, 100, 85, 91, 73, 87, 90, 85, 100, 110, 129, 161, 159, 187,
+  170, 174, 142, 117, 115, 132, 152, 139, 105, 111, 124, 255, 255, 255, 255, 255,
+  255, 255, 255, 170, 122, 139, 123, 130, 134, 134, 141, 142, 145, 149, 154, 156,
+  156, 154, 158, 155, 151, 151, 150, 146, 138, 130, 126, 115, 116, 122, 118, 120,
+  124, 122, 91, 104, 109, 89, 58, 47, 63, 86, 121, 122, 105, 103, 131, 146,
+  144, 151, 162, 163, 163, 165, 166, 166, 164, 161, 163, 166, 170, 168, 163, 159,
+  159, 160, 147, 145, 143, 143, 144, 143, 139, 135, 133, 132, 128, 123, 117, 113,
+  112, 113, 99, 90, 89, 92, 89, 82, 84, 94, 82, 110, 106, 127, 136, 148,
+  119, 121, 129, 112, 137, 146, 133, 131, 120, 113, 128, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 169, 122, 136, 126, 129, 131, 128, 137, 139, 142, 147, 151,
+  153, 153, 152, 156, 155, 154, 153, 148, 141, 135, 131, 114, 91, 83, 90, 96,
+  102, 100, 88, 96, 107, 115, 111, 102, 100, 112, 126, 119, 117, 110, 117, 137,
+  147, 147, 149, 166, 167, 165, 165, 165, 166, 166, 165, 163, 163, 165, 166, 165,
+  162, 156, 151, 145, 141, 141, 142, 144, 143, 140, 136, 134, 132, 128, 121, 113,
+  107, 104, 103, 99, 91, 86, 90, 88, 81, 81, 87, 79, 105, 102, 112, 116,
+  134, 129, 148, 135, 128, 153, 154, 137, 134, 124, 121, 141, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 172, 123, 130, 128, 128, 129, 124, 138, 141, 145, 150,
+  153, 155, 155, 155, 153, 154, 153, 149, 139, 132, 129, 128, 113, 90, 82, 89,
+  94, 100, 101, 91, 105, 108, 114, 121, 126, 129, 130, 129, 110, 102, 110, 131,
+  141, 147, 151, 151, 165, 165, 163, 162, 161, 163, 164, 165, 165, 165, 165, 167,
+  169, 165, 155, 147, 143, 140, 138, 139, 142, 142, 140, 137, 133, 130, 126, 120,
+  112, 106, 102, 99, 98, 90, 85, 88, 90, 85, 83, 87, 97, 102, 89, 102,
+  123, 149, 146, 152, 133, 130, 152, 147, 133, 137, 132, 132, 131, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 181, 127, 122, 128, 128, 130, 125, 138, 142, 146,
+  151, 153, 155, 156, 157, 154, 149, 144, 137, 130, 126, 123, 121, 113, 105, 107,
+  113, 108, 112, 120, 120, 114, 112, 113, 119, 127, 128, 121, 113, 114, 99, 115,
+  140, 138, 139, 146, 144, 156, 160, 160, 160, 159, 159, 159, 160, 165, 164, 164,
+  165, 164, 159, 152, 146, 143, 140, 137, 137, 139, 140, 137, 134, 130, 128, 123,
+  118, 113, 109, 104, 101, 98, 90, 85, 90, 93, 92, 89, 88, 113, 110, 107,
+  125, 148, 163, 155, 147, 132, 126, 134, 126, 126, 142, 138, 139, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 188, 132, 112, 126, 123, 129, 126, 134, 138,
+  144, 147, 148, 148, 150, 151, 155, 144, 132, 126, 126, 126, 123, 118, 111, 106,
+  113, 120, 116, 115, 121, 120, 117, 117, 119, 122, 128, 129, 126, 121, 132, 114,
+  124, 141, 133, 128, 133, 132, 148, 154, 159, 162, 160, 158, 157, 157, 161, 163,
+  163, 160, 153, 148, 147, 148, 144, 140, 136, 135, 136, 136, 132, 129, 129, 125,
+  119, 114, 111, 107, 100, 98, 100, 94, 89, 91, 94, 91, 88, 84, 118, 128,
+  149, 158, 158, 151, 154, 153, 139, 125, 123, 116, 132, 146, 132, 132, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 193, 138, 105, 125, 117, 126, 124, 135,
+  139, 145, 146, 146, 147, 147, 149, 152, 138, 125, 122, 127, 131, 125, 119, 122,
+  107, 108, 120, 122, 123, 118, 105, 120, 122, 124, 124, 123, 123, 125, 127, 132,
+  120, 123, 133, 131, 132, 134, 137, 143, 152, 160, 164, 162, 160, 159, 158, 162,
+  164, 164, 159, 152, 148, 149, 152, 144, 140, 135, 134, 134, 133, 130, 127, 130,
+  123, 115, 109, 105, 101, 95, 92, 100, 97, 93, 91, 90, 87, 81, 77, 142,
+  136, 156, 159, 159, 148, 155, 145, 142, 126, 120, 116, 132, 138, 119, 127, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 197, 146, 106, 129, 115, 123, 122,
+  138, 142, 147, 149, 146, 145, 147, 149, 136, 128, 122, 123, 127, 128, 124, 117,
+  130, 115, 116, 125, 127, 128, 124, 113, 124, 128, 129, 126, 119, 116, 118, 122,
+  120, 120, 115, 119, 131, 138, 136, 142, 141, 150, 157, 159, 158, 158, 160, 163,
+  161, 161, 161, 158, 154, 151, 149, 149, 142, 139, 134, 132, 132, 133, 130, 128,
+  128, 121, 111, 105, 102, 100, 96, 93, 96, 97, 95, 92, 89, 86, 83, 79,
+  160, 133, 141, 143, 156, 151, 158, 136, 140, 127, 119, 113, 124, 125, 124, 160,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 155, 111, 133, 116, 124,
+  122, 134, 139, 144, 145, 141, 140, 141, 144, 120, 119, 121, 124, 126, 124, 120,
+  115, 124, 120, 127, 132, 123, 121, 128, 130, 127, 132, 135, 132, 126, 122, 124,
+  128, 120, 128, 116, 111, 128, 133, 124, 129, 139, 146, 152, 155, 154, 154, 159,
+  164, 153, 151, 149, 150, 150, 148, 141, 136, 140, 136, 132, 130, 132, 134, 132,
+  129, 127, 119, 110, 104, 104, 104, 101, 99, 90, 93, 94, 93, 91, 90, 90,
+  87, 150, 127, 144, 143, 148, 138, 157, 144, 143, 132, 122, 111, 117, 124, 147,
+  211, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 170, 111, 107, 126,
+  115, 121, 137, 135, 139, 146, 145, 137, 131, 133, 130, 135, 135, 128, 122, 124,
+  126, 126, 130, 123, 119, 128, 138, 138, 132, 127, 143, 149, 136, 143, 129, 142,
+  128, 125, 125, 118, 116, 119, 124, 127, 132, 138, 131, 143, 151, 151, 151, 154,
+  157, 158, 156, 151, 150, 152, 148, 142, 141, 147, 142, 133, 124, 125, 132, 136,
+  130, 122, 120, 117, 107, 99, 99, 104, 101, 93, 92, 91, 94, 98, 89, 80,
+  87, 102, 149, 156, 148, 137, 139, 139, 139, 144, 152, 114, 129, 125, 108, 115,
+  187, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 209, 178, 121, 108,
+  122, 116, 125, 134, 134, 138, 142, 136, 128, 123, 125, 124, 127, 127, 123, 122,
+  127, 131, 131, 131, 126, 126, 133, 138, 137, 135, 136, 143, 149, 147, 151, 146,
+  150, 137, 130, 134, 126, 121, 122, 123, 124, 126, 132, 129, 138, 144, 146, 147,
+  152, 155, 154, 151, 148, 149, 152, 148, 142, 138, 140, 139, 134, 128, 129, 133,
+  131, 124, 117, 122, 117, 107, 99, 98, 101, 97, 90, 97, 92, 90, 89, 82,
+  78, 90, 107, 142, 147, 144, 144, 155, 152, 136, 128, 135, 119, 109, 80, 86,
+  173, 199, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 187, 130,
+  107, 117, 113, 125, 132, 135, 140, 141, 134, 125, 123, 127, 124, 126, 122, 119,
+  122, 129, 132, 131, 129, 128, 130, 135, 136, 134, 133, 138, 128, 132, 139, 136,
+  143, 138, 134, 124, 135, 129, 125, 127, 127, 127, 128, 131, 125, 131, 135, 138,
+  144, 153, 157, 157, 153, 151, 154, 156, 153, 146, 141, 141, 134, 133, 131, 131,
+  131, 129, 121, 116, 120, 115, 105, 98, 98, 100, 96, 88, 97, 92, 89, 86,
+  79, 74, 84, 99, 122, 144, 153, 152, 151, 144, 139, 145, 136, 108, 77, 20,
+  87, 200, 208, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 208, 190,
+  135, 106, 113, 110, 117, 125, 132, 138, 139, 131, 126, 127, 133, 132, 131, 127,
+  123, 126, 131, 129, 124, 128, 128, 132, 138, 138, 134, 131, 133, 135, 134, 145,
+  133, 147, 137, 144, 134, 129, 126, 127, 132, 135, 134, 132, 132, 123, 126, 128,
+  132, 142, 154, 160, 160, 155, 154, 154, 154, 153, 147, 142, 140, 129, 129, 130,
+  130, 129, 127, 124, 122, 119, 113, 104, 100, 101, 101, 97, 92, 94, 92, 92,
+  89, 80, 70, 71, 79, 84, 113, 130, 132, 127, 119, 114, 122, 108, 58, 40,
+  11, 151, 191, 207, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 207,
+  193, 143, 110, 114, 110, 111, 121, 127, 133, 131, 125, 124, 126, 131, 132, 132,
+  129, 127, 129, 134, 132, 127, 138, 134, 136, 145, 148, 143, 135, 131, 141, 142,
+  154, 140, 150, 137, 142, 132, 127, 126, 130, 136, 138, 132, 126, 124, 125, 126,
+  126, 127, 135, 148, 154, 155, 154, 152, 148, 145, 143, 143, 139, 135, 130, 130,
+  128, 127, 125, 123, 123, 124, 116, 109, 102, 102, 104, 104, 100, 97, 94, 94,
+  93, 88, 79, 72, 72, 76, 60, 70, 71, 77, 91, 82, 55, 39, 39, 10,
+  12, 68, 216, 191, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  208, 200, 154, 114, 115, 112, 112, 124, 130, 133, 130, 125, 125, 129, 130, 126,
+  127, 123, 120, 123, 129, 132, 130, 139, 135, 136, 144, 148, 145, 139, 136, 135,
+  141, 151, 145, 145, 135, 130, 120, 130, 130, 131, 135, 133, 124, 116, 113, 129,
+  129, 126, 123, 125, 135, 143, 145, 154, 151, 146, 141, 141, 142, 138, 132, 133,
+  131, 128, 124, 121, 120, 119, 118, 115, 106, 101, 103, 106, 105, 102, 101, 98,
+  95, 89, 82, 77, 76, 80, 87, 73, 67, 45, 31, 35, 32, 17, 11, 12,
+  15, 17, 127, 212, 196, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 207, 207, 163, 114, 110, 112, 113, 125, 131, 132, 128, 127, 130, 132, 131,
+  125, 125, 116, 106, 103, 110, 118, 120, 120, 116, 117, 123, 124, 125, 128, 132,
+  127, 136, 137, 141, 132, 138, 133, 132, 130, 128, 127, 130, 130, 126, 121, 121,
+  130, 132, 127, 121, 119, 129, 139, 144, 151, 151, 146, 141, 142, 143, 137, 127,
+  129, 127, 123, 121, 120, 118, 115, 111, 113, 104, 99, 103, 106, 103, 100, 100,
+  95, 93, 88, 80, 75, 76, 81, 85, 87, 78, 46, 15, 8, 9, 14, 28,
+  26, 26, 57, 166, 197, 193, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 204, 212, 167, 111, 105, 111, 115, 117, 123, 124, 121, 123, 130, 133,
+  129, 133, 126, 111, 93, 83, 87, 97, 102, 92, 91, 92, 94, 94, 96, 107,
+  120, 102, 110, 100, 109, 98, 120, 123, 135, 126, 122, 122, 127, 132, 133, 136,
+  139, 129, 131, 129, 122, 120, 130, 144, 151, 144, 144, 142, 139, 138, 138, 130,
+  119, 122, 120, 119, 121, 122, 120, 114, 109, 114, 103, 98, 102, 105, 100, 96,
+  97, 86, 90, 88, 82, 77, 73, 72, 71, 74, 62, 33, 16, 24, 26, 16,
+  13, 28, 11, 101, 194, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 242, 195, 198, 109, 103, 107, 108, 123, 120, 122, 129, 132, 129,
+  131, 136, 112, 107, 97, 83, 76, 72, 68, 62, 59, 63, 68, 73, 75, 78,
+  80, 84, 79, 82, 83, 87, 93, 101, 111, 119, 130, 126, 124, 126, 125, 123,
+  128, 138, 129, 126, 126, 131, 133, 132, 132, 133, 150, 145, 139, 143, 148, 134,
+  122, 132, 125, 120, 119, 124, 127, 120, 111, 105, 115, 98, 90, 101, 112, 107,
+  97, 91, 92, 90, 83, 75, 73, 76, 76, 72, 85, 45, 23, 23, 21, 18,
+  19, 18, 32, 39, 155, 198, 222, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 198, 202, 121, 112, 116, 118, 125, 121, 124, 129, 129,
+  126, 128, 132, 125, 121, 114, 103, 94, 90, 83, 76, 72, 68, 61, 54, 53,
+  55, 63, 70, 71, 71, 70, 70, 71, 75, 78, 82, 104, 103, 108, 117, 124,
+  126, 131, 138, 136, 134, 135, 140, 139, 137, 136, 139, 150, 146, 138, 140, 141,
+  125, 113, 120, 124, 123, 124, 128, 126, 118, 112, 111, 112, 101, 95, 100, 106,
+  104, 93, 87, 91, 86, 76, 66, 66, 73, 77, 76, 80, 43, 22, 23, 20,
+  18, 19, 16, 24, 58, 166, 197, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 198, 201, 127, 112, 113, 116, 125, 121, 122, 125,
+  126, 123, 123, 125, 127, 129, 127, 118, 110, 104, 95, 85, 81, 80, 77, 71,
+  63, 59, 55, 56, 57, 55, 53, 54, 58, 61, 60, 60, 61, 66, 77, 97,
+  110, 115, 115, 116, 125, 126, 130, 132, 130, 125, 126, 131, 146, 144, 135, 135,
+  136, 121, 110, 117, 121, 123, 126, 128, 123, 115, 111, 113, 102, 101, 98, 97,
+  99, 101, 94, 87, 84, 82, 74, 68, 68, 76, 78, 75, 70, 37, 19, 21,
+  18, 17, 18, 16, 45, 121, 207, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 202, 201, 138, 109, 105, 105, 121, 119, 120,
+  122, 122, 121, 121, 120, 121, 128, 130, 125, 118, 109, 97, 88, 93, 93, 95,
+  91, 84, 76, 70, 67, 62, 58, 56, 59, 63, 66, 63, 59, 68, 59, 50,
+  53, 68, 87, 105, 115, 124, 128, 133, 137, 133, 129, 131, 137, 139, 140, 133,
+  133, 136, 125, 117, 125, 120, 120, 121, 124, 120, 113, 107, 109, 90, 97, 99,
+  94, 94, 100, 96, 88, 77, 79, 77, 77, 81, 82, 75, 68, 55, 28, 16,
+  19, 17, 18, 21, 18, 18, 138, 205, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 155, 117, 105, 102, 116, 115,
+  115, 117, 119, 121, 119, 116, 118, 129, 136, 133, 127, 118, 105, 95, 108, 103,
+  97, 90, 84, 84, 87, 91, 87, 83, 78, 77, 79, 78, 71, 66, 75, 71,
+  70, 73, 82, 93, 97, 98, 118, 122, 129, 133, 132, 129, 133, 139, 133, 137,
+  133, 132, 134, 128, 120, 128, 124, 119, 116, 119, 118, 113, 104, 102, 87, 98,
+  100, 95, 92, 96, 93, 86, 77, 79, 79, 79, 82, 83, 75, 65, 42, 21,
+  13, 17, 17, 20, 23, 21, 20, 163, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 206, 172, 127, 109, 103, 112,
+  113, 113, 114, 117, 120, 116, 111, 116, 128, 137, 136, 129, 120, 111, 101, 105,
+  104, 102, 99, 95, 92, 92, 93, 98, 96, 92, 92, 92, 91, 87, 84, 81,
+  89, 99, 106, 111, 110, 100, 91, 111, 114, 118, 124, 124, 124, 128, 135, 131,
+  138, 133, 128, 130, 123, 118, 124, 129, 120, 115, 117, 119, 112, 103, 98, 95,
+  100, 102, 97, 92, 88, 83, 80, 81, 80, 74, 71, 76, 81, 77, 68, 33,
+  18, 15, 19, 18, 21, 26, 22, 60, 202, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 188, 139, 115, 106,
+  113, 114, 112, 111, 114, 118, 112, 104, 110, 123, 133, 132, 126, 119, 112, 104,
+  97, 101, 107, 109, 107, 101, 95, 92, 100, 100, 98, 97, 96, 96, 96, 95,
+  102, 101, 95, 89, 94, 107, 119, 125, 126, 124, 125, 129, 132, 134, 139, 145,
+  130, 138, 133, 127, 127, 122, 117, 123, 126, 121, 117, 117, 113, 105, 98, 95,
+  102, 100, 100, 101, 95, 85, 78, 78, 79, 78, 72, 71, 78, 85, 80, 72,
+  32, 20, 19, 22, 19, 21, 25, 20, 68, 199, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 151, 123,
+  110, 114, 114, 113, 111, 114, 116, 109, 99, 109, 121, 131, 130, 125, 119, 114,
+  109, 100, 100, 100, 99, 98, 100, 104, 106, 110, 108, 106, 101, 95, 91, 90,
+  91, 77, 89, 101, 106, 111, 118, 121, 118, 126, 121, 120, 124, 128, 130, 135,
+  139, 129, 138, 134, 128, 129, 124, 120, 126, 122, 120, 118, 116, 107, 97, 92,
+  95, 103, 98, 97, 102, 98, 85, 77, 80, 73, 74, 75, 80, 89, 93, 84,
+  71, 33, 24, 23, 24, 18, 20, 23, 18, 101, 220, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 193,
+  156, 118, 95, 112, 96, 124, 105, 96, 106, 111, 98, 110, 117, 124, 126, 114,
+  108, 118, 95, 99, 100, 98, 100, 104, 98, 86, 90, 90, 92, 87, 84, 86,
+  93, 102, 89, 97, 104, 112, 120, 126, 125, 120, 114, 121, 116, 133, 123, 140,
+  134, 140, 137, 132, 127, 127, 130, 131, 128, 124, 122, 128, 111, 109, 109, 107,
+  104, 83, 77, 89, 96, 94, 86, 82, 78, 77, 68, 70, 73, 81, 90, 92,
+  78, 61, 27, 26, 21, 24, 31, 25, 21, 31, 108, 198, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 165, 132, 106, 98, 106, 109, 111, 103, 99, 103, 106, 107, 104, 113, 126,
+  122, 111, 114, 108, 111, 109, 104, 102, 102, 97, 90, 85, 86, 87, 90, 91,
+  92, 95, 96, 108, 116, 122, 125, 128, 131, 129, 124, 116, 122, 116, 131, 122,
+  135, 128, 134, 137, 133, 128, 127, 126, 125, 121, 119, 119, 124, 108, 105, 100,
+  93, 99, 90, 94, 99, 97, 92, 85, 82, 76, 70, 72, 74, 77, 81, 88,
+  86, 70, 53, 27, 26, 16, 10, 15, 15, 18, 30, 103, 207, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 178, 152, 116, 86, 111, 94, 114, 108, 93, 96, 106, 106, 101, 109,
+  123, 121, 115, 117, 119, 120, 117, 109, 103, 101, 101, 98, 101, 96, 93, 95,
+  102, 108, 114, 116, 128, 135, 138, 135, 132, 131, 129, 126, 120, 124, 120, 129,
+  122, 129, 124, 127, 130, 130, 127, 125, 122, 119, 117, 117, 115, 117, 103, 102,
+  90, 80, 93, 96, 99, 97, 89, 82, 77, 76, 69, 62, 81, 81, 81, 84,
+  87, 82, 65, 48, 24, 30, 24, 18, 21, 20, 15, 18, 88, 208, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 170, 116, 90, 99, 93, 111, 107, 96, 96, 97, 108, 113,
+  115, 118, 115, 116, 128, 122, 122, 118, 110, 104, 104, 108, 110, 109, 109, 111,
+  116, 122, 128, 131, 132, 133, 141, 143, 136, 127, 124, 123, 121, 123, 124, 124,
+  127, 125, 127, 125, 126, 121, 123, 123, 122, 118, 117, 117, 117, 112, 111, 97,
+  100, 90, 75, 89, 97, 90, 89, 84, 76, 72, 72, 69, 65, 84, 85, 85,
+  86, 88, 81, 65, 47, 12, 20, 16, 12, 21, 23, 15, 12, 77, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 187, 114, 109, 84, 103, 100, 100, 104, 101, 96, 110,
+  116, 117, 122, 119, 119, 129, 123, 121, 116, 111, 104, 105, 110, 117, 97, 108,
+  124, 135, 136, 133, 129, 128, 131, 136, 137, 128, 119, 116, 116, 116, 119, 120,
+  123, 122, 125, 122, 124, 123, 119, 120, 120, 118, 114, 112, 112, 114, 110, 106,
+  92, 98, 93, 80, 90, 92, 83, 88, 86, 79, 72, 72, 74, 75, 79, 82,
+  85, 86, 86, 80, 63, 47, 22, 25, 14, 11, 25, 31, 28, 30, 95, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 127, 127, 82, 106, 93, 94, 105, 103, 103,
+  109, 109, 113, 128, 132, 124, 121, 126, 120, 114, 110, 106, 105, 108, 114, 107,
+  114, 122, 125, 123, 125, 131, 137, 125, 129, 128, 119, 113, 113, 114, 114, 114,
+  113, 119, 114, 121, 115, 119, 118, 122, 120, 116, 112, 109, 107, 107, 107, 106,
+  104, 88, 93, 93, 84, 91, 86, 78, 84, 84, 76, 69, 70, 75, 77, 76,
+  79, 82, 84, 83, 75, 59, 44, 28, 31, 24, 24, 32, 27, 22, 29, 138,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 155, 132, 100, 96, 92, 91, 96, 101,
+  104, 111, 108, 108, 124, 132, 126, 123, 125, 116, 110, 109, 108, 105, 105, 109,
+  121, 121, 118, 117, 118, 124, 132, 140, 121, 123, 119, 111, 109, 112, 112, 112,
+  113, 110, 119, 110, 120, 110, 116, 112, 122, 116, 108, 104, 104, 104, 103, 102,
+  99, 103, 87, 87, 86, 84, 91, 82, 78, 80, 76, 69, 66, 72, 80, 81,
+  81, 84, 86, 85, 83, 74, 55, 40, 23, 24, 19, 21, 23, 17, 31, 62,
+  178, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 129, 119, 83, 93, 91, 86,
+  96, 95, 112, 114, 109, 113, 120, 124, 133, 121, 112, 106, 109, 111, 107, 106,
+  108, 109, 114, 122, 130, 134, 132, 125, 120, 121, 121, 114, 108, 107, 111, 113,
+  111, 116, 112, 121, 109, 122, 108, 116, 110, 117, 109, 101, 98, 101, 104, 104,
+  102, 93, 101, 86, 79, 77, 78, 91, 81, 83, 80, 72, 66, 70, 81, 89,
+  91, 89, 91, 93, 90, 86, 74, 55, 39, 50, 38, 24, 20, 26, 43, 98,
+  164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 142, 132, 111, 94, 103,
+  92, 92, 95, 109, 106, 101, 112, 110, 107, 124, 124, 119, 116, 118, 116, 111,
+  110, 111, 111, 111, 113, 118, 121, 118, 112, 106, 112, 117, 109, 115, 115, 109,
+  119, 112, 112, 108, 107, 110, 108, 104, 106, 113, 102, 102, 93, 93, 106, 109,
+  104, 106, 91, 94, 78, 83, 71, 88, 80, 78, 79, 73, 69, 74, 80, 82,
+  86, 88, 90, 86, 85, 85, 85, 75, 56, 40, 44, 29, 19, 20, 34, 41,
+  137, 204, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 134, 113, 96,
+  89, 92, 83, 84, 99, 100, 102, 113, 111, 108, 121, 122, 117, 114, 115, 115,
+  113, 113, 115, 114, 113, 114, 119, 123, 125, 123, 121, 117, 124, 114, 119, 118,
+  112, 120, 114, 112, 108, 106, 108, 107, 103, 106, 111, 112, 111, 101, 98, 108,
+  107, 99, 99, 95, 94, 83, 80, 75, 86, 82, 79, 82, 76, 75, 81, 85,
+  88, 90, 94, 97, 100, 98, 92, 85, 78, 64, 51, 30, 38, 21, 23, 31,
+  98, 163, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 145, 122,
+  105, 85, 97, 85, 85, 99, 103, 106, 111, 106, 100, 106, 118, 115, 113, 116,
+  115, 113, 115, 119, 121, 118, 117, 119, 123, 127, 129, 130, 120, 126, 116, 122,
+  120, 113, 120, 114, 113, 108, 106, 106, 105, 103, 104, 108, 101, 105, 99, 101,
+  112, 112, 105, 104, 94, 86, 82, 71, 77, 76, 79, 73, 81, 78, 79, 86,
+  92, 92, 94, 97, 100, 109, 107, 93, 81, 77, 67, 55, 20, 42, 19, 24,
+  31, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225,
+  127, 112, 94, 94, 93, 88, 96, 104, 107, 108, 105, 100, 100, 113, 111, 114,
+  118, 118, 117, 118, 121, 128, 125, 122, 121, 122, 123, 124, 125, 119, 125, 117,
+  122, 121, 113, 120, 114, 111, 107, 103, 102, 102, 102, 103, 105, 89, 94, 94,
+  100, 113, 114, 107, 108, 94, 80, 80, 64, 77, 68, 77, 70, 78, 78, 82,
+  90, 94, 94, 94, 97, 96, 106, 104, 88, 77, 75, 65, 50, 22, 31, 17,
+  33, 54, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 134, 115, 106, 82, 94, 84, 86, 97, 105, 107, 110, 112, 110, 107, 109,
+  115, 122, 122, 119, 119, 121, 125, 123, 123, 120, 119, 117, 116, 117, 114, 122,
+  115, 121, 120, 112, 119, 112, 107, 104, 99, 97, 99, 102, 103, 102, 96, 102,
+  100, 103, 112, 108, 99, 98, 96, 82, 82, 67, 80, 69, 78, 73, 79, 79,
+  85, 93, 97, 96, 97, 99, 95, 101, 98, 87, 81, 81, 68, 52, 31, 19,
+  33, 70, 111, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 223, 131, 118, 82, 92, 88, 86, 96, 106, 103, 109, 114, 107, 103,
+  107, 115, 122, 121, 117, 117, 120, 115, 117, 118, 119, 117, 115, 115, 116, 114,
+  122, 114, 120, 119, 110, 117, 109, 104, 101, 96, 92, 96, 102, 104, 101, 104,
+  110, 107, 106, 112, 106, 95, 95, 93, 80, 74, 68, 74, 70, 74, 75, 84,
+  85, 92, 100, 101, 100, 101, 105, 100, 100, 96, 92, 90, 89, 79, 71, 47,
+  36, 73, 130, 172, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 154, 124, 100, 91, 95, 88, 100, 110, 101, 105, 109, 98,
+  105, 106, 112, 116, 113, 110, 113, 119, 113, 115, 117, 118, 115, 115, 117, 119,
+  117, 125, 116, 121, 118, 108, 113, 105, 100, 98, 93, 89, 95, 104, 106, 102,
+  105, 111, 109, 107, 112, 105, 95, 96, 89, 80, 67, 71, 67, 72, 69, 76,
+  89, 91, 97, 103, 104, 102, 104, 109, 102, 98, 94, 95, 92, 89, 89, 95,
+  77, 89, 123, 182, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 226, 120, 117, 87, 89, 82, 98, 110, 103, 108, 113,
+  98, 106, 107, 108, 111, 108, 106, 111, 119, 117, 118, 119, 117, 115, 113, 118,
+  122, 122, 128, 119, 122, 118, 107, 110, 101, 98, 96, 91, 87, 94, 104, 107,
+  102, 109, 115, 110, 106, 108, 99, 88, 87, 92, 84, 66, 77, 67, 77, 71,
+  80, 91, 93, 98, 104, 104, 102, 103, 108, 100, 93, 91, 94, 89, 84, 92,
+  111, 107, 140, 156, 206, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 139, 114, 116, 85, 94, 100, 106, 112, 105,
+  99, 109, 98, 95, 101, 108, 107, 114, 122, 118, 121, 124, 119, 111, 113, 123,
+  123, 117, 120, 120, 116, 111, 113, 117, 112, 104, 97, 98, 92, 86, 92, 105,
+  108, 102, 113, 106, 99, 99, 101, 97, 84, 71, 78, 75, 73, 72, 72, 73,
+  83, 95, 107, 103, 101, 104, 109, 111, 106, 103, 102, 90, 97, 94, 84, 83,
+  95, 134, 175, 194, 202, 203, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 222, 126, 116, 105, 95, 90, 102, 112,
+  105, 101, 112, 99, 95, 100, 106, 103, 109, 116, 113, 119, 120, 118, 115, 116,
+  120, 122, 120, 124, 125, 120, 113, 109, 109, 102, 94, 95, 94, 90, 89, 94,
+  103, 106, 103, 98, 101, 102, 98, 89, 81, 76, 74, 65, 64, 66, 70, 73,
+  79, 90, 101, 104, 104, 106, 111, 116, 117, 112, 109, 107, 91, 97, 95, 89,
+  90, 97, 129, 191, 205, 207, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 149, 126, 120, 97, 86, 101,
+  113, 108, 104, 110, 108, 102, 105, 108, 104, 109, 115, 111, 116, 114, 115, 119,
+  119, 116, 118, 123, 124, 126, 122, 114, 106, 101, 95, 90, 92, 88, 87, 93,
+  99, 101, 102, 103, 94, 97, 99, 94, 85, 76, 71, 71, 68, 68, 73, 79,
+  81, 86, 94, 105, 103, 106, 110, 114, 115, 114, 110, 108, 107, 90, 94, 92,
+  91, 94, 95, 119, 202, 212, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 148, 126, 102, 93,
+  102, 109, 110, 107, 103, 111, 104, 107, 109, 103, 109, 115, 111, 112, 108, 112,
+  121, 120, 114, 115, 123, 119, 122, 122, 116, 106, 99, 94, 95, 88, 83, 85,
+  96, 101, 97, 96, 101, 99, 93, 87, 85, 85, 80, 70, 61, 73, 74, 81,
+  89, 92, 95, 101, 110, 110, 113, 116, 115, 113, 110, 106, 106, 105, 93, 98,
+  94, 92, 96, 94, 112, 200, 224, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 137, 116,
+  103, 98, 93, 105, 112, 101, 104, 98, 101, 104, 100, 105, 111, 107, 109, 105,
+  109, 119, 119, 114, 114, 121, 118, 121, 121, 116, 106, 98, 96, 100, 85, 81,
+  85, 96, 99, 93, 91, 95, 92, 85, 77, 75, 75, 73, 67, 61, 67, 72,
+  83, 96, 102, 104, 111, 119, 122, 121, 121, 118, 115, 113, 112, 113, 105, 99,
+  107, 100, 93, 98, 96, 111, 196, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 164,
+  132, 112, 97, 81, 94, 112, 106, 101, 96, 101, 106, 101, 104, 109, 104, 107,
+  105, 106, 113, 117, 116, 115, 116, 119, 118, 117, 113, 103, 94, 92, 98, 83,
+  84, 88, 94, 94, 90, 86, 87, 72, 75, 75, 69, 61, 59, 66, 74, 82,
+  88, 99, 111, 115, 113, 115, 122, 122, 120, 117, 115, 115, 115, 114, 114, 102,
+  101, 108, 96, 90, 96, 93, 104, 216, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  234, 139, 117, 112, 89, 85, 101, 103, 102, 98, 104, 108, 103, 104, 107, 102,
+  107, 107, 105, 106, 112, 119, 116, 109, 117, 112, 108, 105, 97, 89, 87, 94,
+  84, 90, 92, 90, 89, 87, 84, 79, 65, 70, 71, 67, 62, 66, 79, 91,
+  101, 108, 118, 127, 126, 120, 118, 120, 121, 118, 115, 113, 115, 115, 111, 108,
+  106, 102, 105, 93, 90, 101, 94, 97, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 139, 120, 132, 105, 82, 88, 92, 98, 93, 101, 105, 99, 100, 101,
+  94, 107, 107, 103, 101, 110, 120, 116, 104, 110, 104, 99, 98, 92, 86, 86,
+  93, 83, 93, 95, 88, 85, 86, 82, 74, 77, 71, 65, 66, 75, 87, 96,
+  101, 99, 105, 117, 128, 129, 124, 122, 124, 128, 124, 120, 119, 121, 118, 110,
+  103, 118, 110, 111, 96, 101, 113, 102, 99, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 240, 170, 126, 118, 113, 95, 55, 83, 90, 98, 102, 100, 101,
+  105, 109, 104, 100, 98, 100, 99, 96, 95, 98, 101, 98, 93, 90, 88, 88,
+  91, 91, 82, 85, 88, 85, 78, 68, 59, 55, 70, 84, 87, 88, 97, 102,
+  109, 123, 111, 116, 122, 122, 120, 119, 124, 129, 125, 137, 136, 121, 115, 121,
+  118, 104, 110, 112, 112, 108, 104, 102, 104, 108, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 175, 147, 125, 121, 108, 82, 91, 93, 96, 100, 100,
+  99, 97, 94, 103, 101, 104, 108, 107, 99, 93, 92, 91, 91, 92, 90, 85,
+  78, 72, 66, 76, 70, 60, 53, 51, 59, 71, 80, 79, 94, 102, 104, 112,
+  110, 111, 120, 115, 116, 120, 124, 126, 128, 131, 132, 122, 129, 128, 120, 119,
+  123, 120, 110, 103, 105, 107, 108, 107, 105, 104, 105, 183, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 174, 126, 119, 109, 100, 80, 77, 75, 81,
+  90, 98, 102, 100, 110, 99, 88, 82, 82, 84, 93, 103, 81, 83, 88, 91,
+  90, 86, 82, 79, 65, 65, 63, 65, 69, 78, 89, 97, 95, 109, 114, 115,
+  120, 117, 116, 124, 126, 125, 127, 131, 136, 138, 136, 134, 130, 127, 123, 122,
+  121, 119, 114, 109, 105, 104, 106, 108, 109, 107, 102, 99, 130, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 198, 124, 114, 111, 114, 114, 102, 86,
+  75, 72, 72, 73, 73, 72, 70, 73, 77, 76, 72, 69, 70, 86, 83, 75,
+  68, 62, 59, 58, 58, 77, 83, 94, 103, 107, 109, 107, 107, 111, 120, 118,
+  117, 123, 124, 125, 136, 137, 136, 138, 139, 140, 138, 136, 133, 135, 124, 119,
+  124, 126, 119, 115, 114, 113, 110, 108, 109, 109, 107, 101, 96, 112, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 119, 112, 124, 126, 139, 129,
+  114, 98, 84, 75, 70, 69, 73, 68, 68, 69, 67, 63, 62, 65, 59, 59,
+  60, 65, 74, 86, 97, 105, 111, 113, 116, 117, 116, 117, 117, 119, 119, 127,
+  126, 125, 132, 135, 137, 146, 137, 140, 143, 141, 136, 132, 132, 133, 133, 121,
+  117, 125, 130, 124, 120, 123, 119, 114, 110, 109, 110, 109, 105, 102, 95, 195,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 123, 117, 123,
+  124, 128, 127, 124, 119, 114, 112, 121, 105, 90, 79, 75, 79, 90, 103, 118,
+  118, 118, 119, 118, 118, 119, 118, 130, 129, 127, 124, 120, 118, 119, 120, 123,
+  134, 137, 140, 148, 147, 143, 149, 135, 139, 142, 139, 132, 128, 131, 135, 139,
+  129, 124, 127, 127, 121, 117, 119, 116, 114, 111, 111, 111, 113, 113, 113, 90,
+  135, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  129, 130, 133, 138, 143, 140, 132, 125, 123, 121, 123, 126, 123, 115, 109, 109,
+  122, 127, 132, 137, 139, 140, 140, 139, 130, 131, 131, 129, 127, 126, 128, 130,
+  135, 145, 145, 146, 153, 151, 145, 149, 145, 146, 144, 140, 135, 133, 134, 136,
+  138, 134, 130, 126, 122, 118, 116, 115, 112, 113, 114, 115, 114, 113, 113, 116,
+  94, 113, 189, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 216, 144, 139, 133, 122, 121, 123, 128, 127, 122, 119,
+  119, 123, 125, 126, 129, 132, 133, 134, 136, 135, 130, 122, 117, 118, 126, 140,
+  150, 149, 153, 147, 143, 147, 146, 144, 151, 161, 156, 149, 144, 141, 139, 137,
+  135, 121, 124, 124, 122, 121, 125, 128, 129, 110, 115, 119, 120, 116, 111, 111,
+  112, 103, 105, 172, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 133, 129, 127, 123,
+  121, 118, 120, 121, 122, 125, 126, 124, 121, 118, 120, 122, 131, 142, 145, 140,
+  140, 145, 149, 142, 140, 148, 153, 151, 146, 146, 154, 155, 150, 142, 140, 141,
+  138, 131, 131, 126, 121, 121, 125, 127, 125, 122, 116, 119, 119, 116, 116, 119,
+  121, 118, 99, 107, 119, 204, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 211, 122, 122, 121, 121, 136, 134, 137, 142, 139,
+  133, 133, 137, 149, 145, 145, 153, 157, 155, 153, 154, 154, 156, 152, 145, 143,
+  143, 140, 133, 134, 130, 125, 124, 127, 127, 123, 119, 126, 127, 124, 117, 115,
+  116, 116, 114, 99, 88, 105, 174, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213, 131, 135,
+  136, 136, 141, 148, 151, 149, 153, 157, 158, 156, 155, 158, 153, 153, 150, 145,
+  143, 143, 139, 133, 132, 129, 127, 127, 128, 128, 124, 121, 133, 133, 129, 121,
+  116, 117, 116, 113, 95, 84, 107, 145, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 222, 152, 151, 153, 150, 148, 146,
+  143, 141, 139, 134, 130, 126, 125, 125, 128, 130, 130, 128, 127, 130, 132, 131,
+  126, 122, 166, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 215, 218, 217,
+  216, 217, 217, 216, 213, 210, 214, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 216, 214, 211, 211, 213, 223,
+  222, 221, 221, 220, 217, 212, 208, 212, 213, 223, 246, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 242, 209, 222, 212, 215, 215, 214, 217, 223, 225, 222,
+  215, 211, 209, 211, 215, 215, 210, 205, 217, 215, 214, 217, 221, 223, 221, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 243, 197, 221, 231, 207, 215, 185, 139, 102, 92, 103, 116,
+  122, 152, 141, 130, 128, 137, 154, 168, 176, 183, 187, 194, 205, 215, 221, 221,
+  219, 227, 224, 217, 211, 217, 226, 221, 210, 221, 194, 182, 197, 212, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 244, 226, 225, 227, 228, 206, 165, 124, 95, 55, 31, 34, 51,
+  62, 63, 55, 49, 44, 44, 52, 62, 69, 73, 86, 96, 117, 146, 177, 204,
+  222, 231, 229, 230, 218, 202, 202, 210, 199, 178, 195, 190, 194, 197, 188, 178,
+  214, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 234, 221, 213, 214, 221, 183, 131, 95, 53, 45, 35, 35, 44,
+  50, 41, 28, 40, 41, 44, 48, 50, 47, 41, 35, 43, 47, 57, 74, 96,
+  121, 141, 153, 157, 198, 225, 206, 167, 153, 170, 192, 169, 179, 182, 179, 183,
+  195, 197, 190, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 244, 221, 223, 203, 233, 202, 138, 82, 81, 40, 37, 36, 32, 30,
+  33, 36, 30, 21, 27, 26, 26, 27, 29, 32, 33, 33, 45, 43, 40, 38,
+  41, 47, 55, 61, 75, 67, 72, 94, 113, 119, 117, 117, 119, 142, 162, 168,
+  176, 188, 189, 180, 204, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 223, 226, 227, 207, 248, 200, 172, 51, 70, 32, 42, 26, 26, 22,
+  18, 21, 29, 35, 36, 25, 25, 26, 27, 30, 34, 37, 39, 30, 33, 36,
+  38, 39, 39, 40, 41, 36, 33, 42, 57, 58, 57, 76, 103, 87, 109, 141,
+  162, 159, 152, 163, 181, 189, 189, 229, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 243, 219, 221, 223, 225, 221, 224, 190, 45, 95, 27, 40, 33, 27, 29,
+  28, 24, 23, 27, 27, 24, 15, 18, 22, 25, 25, 24, 23, 22, 29, 33,
+  39, 41, 39, 36, 34, 33, 40, 32, 27, 27, 26, 27, 39, 54, 91, 81,
+  85, 114, 146, 160, 158, 152, 171, 178, 212, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 222, 219, 217, 216, 219, 220, 214, 195, 102, 65, 24, 43, 12, 22, 18,
+  20, 21, 21, 27, 30, 30, 23, 16, 16, 15, 14, 14, 18, 23, 26, 24,
+  27, 29, 29, 27, 27, 29, 32, 18, 30, 37, 26, 16, 19, 37, 51, 52,
+  62, 70, 78, 111, 151, 169, 160, 154, 165, 205, 215, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 227, 224, 201, 223, 211, 212, 218, 205, 129, 53, 26, 29, 29, 24, 20,
+  21, 22, 24, 27, 31, 29, 29, 24, 19, 18, 14, 11, 17, 30, 35, 32,
+  29, 30, 31, 33, 34, 31, 26, 22, 26, 25, 26, 19, 18, 20, 33, 40,
+  41, 47, 60, 74, 101, 126, 141, 140, 148, 146, 207, 215, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  208, 228, 198, 227, 224, 211, 215, 209, 125, 52, 33, 21, 22, 25, 21, 20,
+  22, 28, 25, 24, 24, 24, 24, 20, 17, 13, 16, 17, 17, 22, 31, 33,
+  30, 28, 23, 19, 22, 28, 30, 26, 21, 35, 32, 29, 26, 26, 30, 36,
+  41, 31, 37, 46, 62, 85, 107, 114, 109, 132, 132, 191, 209, 210, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  215, 226, 228, 227, 232, 216, 233, 210, 133, 24, 26, 31, 35, 30, 19, 13,
+  17, 21, 24, 19, 16, 17, 22, 25, 24, 21, 8, 15, 22, 25, 27, 30,
+  30, 28, 26, 18, 12, 14, 23, 29, 27, 23, 34, 30, 25, 24, 26, 29,
+  30, 30, 24, 26, 31, 44, 65, 86, 94, 91, 127, 134, 188, 222, 208, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 244,
+  237, 226, 200, 217, 198, 221, 206, 132, 32, 25, 47, 37, 35, 25, 12, 12,
+  23, 32, 32, 21, 16, 15, 18, 25, 28, 26, 22, 11, 18, 26, 28, 27,
+  26, 26, 25, 24, 20, 16, 17, 21, 26, 27, 27, 28, 26, 24, 22, 22,
+  23, 23, 22, 29, 28, 29, 34, 46, 61, 74, 78, 98, 113, 168, 221, 203,
+  221, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230,
+  226, 213, 215, 227, 216, 196, 105, 18, 50, 47, 22, 14, 20, 19, 14, 9,
+  19, 34, 37, 26, 24, 21, 21, 23, 25, 24, 18, 13, 20, 23, 27, 27,
+  24, 20, 20, 23, 18, 21, 24, 23, 20, 20, 23, 26, 25, 29, 31, 28,
+  24, 21, 24, 27, 32, 34, 37, 37, 37, 40, 49, 56, 51, 71, 120, 191,
+  194, 216, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227,
+  235, 226, 210, 210, 221, 174, 54, 34, 47, 30, 18, 47, 23, 22, 27, 28,
+  22, 20, 23, 23, 17, 17, 17, 21, 23, 24, 22, 18, 15, 28, 25, 24,
+  24, 20, 16, 17, 20, 13, 20, 27, 25, 17, 13, 17, 22, 22, 27, 31,
+  29, 23, 21, 25, 30, 21, 28, 39, 46, 45, 42, 45, 49, 45, 58, 89,
+  160, 192, 207, 223, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 241, 232,
+  218, 192, 217, 245, 185, 87, 41, 22, 41, 42, 37, 14, 24, 17, 14, 17,
+  18, 14, 11, 13, 21, 25, 13, 16, 22, 23, 23, 23, 25, 26, 31, 24,
+  20, 21, 20, 16, 15, 18, 13, 19, 23, 22, 17, 14, 17, 21, 19, 21,
+  23, 23, 21, 21, 24, 27, 20, 21, 29, 41, 46, 44, 44, 45, 51, 55,
+  68, 127, 182, 173, 188, 203, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 225,
+  205, 211, 236, 220, 144, 66, 27, 40, 45, 41, 13, 30, 27, 32, 25, 26,
+  22, 21, 23, 23, 21, 22, 23, 24, 27, 30, 27, 21, 20, 23, 27, 30,
+  22, 17, 20, 21, 17, 15, 16, 17, 18, 20, 19, 18, 18, 20, 22, 21,
+  19, 18, 20, 24, 27, 27, 27, 34, 24, 18, 24, 30, 30, 29, 29, 28,
+  29, 33, 87, 156, 125, 134, 151, 215, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 228,
+  215, 216, 224, 235, 94, 10, 49, 43, 28, 27, 28, 26, 26, 26, 28, 26,
+  17, 19, 21, 17, 15, 17, 21, 21, 22, 24, 24, 17, 16, 21, 23, 19,
+  29, 19, 17, 23, 23, 13, 9, 13, 21, 22, 19, 14, 14, 19, 22, 21,
+  20, 19, 19, 19, 21, 23, 24, 24, 28, 21, 18, 22, 28, 31, 34, 36,
+  33, 16, 46, 62, 133, 133, 154, 140, 184, 208, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 224, 226,
+  230, 212, 241, 188, 20, 35, 46, 27, 33, 38, 34, 31, 26, 22, 20, 22,
+  20, 23, 18, 16, 17, 19, 19, 20, 19, 20, 22, 23, 17, 17, 21, 22,
+  19, 26, 18, 17, 22, 20, 11, 8, 13, 17, 19, 17, 13, 13, 17, 19,
+  17, 17, 17, 16, 17, 19, 20, 21, 21, 25, 20, 17, 21, 25, 27, 31,
+  36, 31, 22, 38, 35, 64, 60, 86, 92, 139, 188, 214, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 220,
+  223, 225, 238, 185, 35, 23, 26, 34, 24, 37, 35, 32, 29, 25, 23, 24,
+  26, 26, 29, 16, 11, 17, 21, 18, 17, 17, 17, 19, 21, 18, 18, 20,
+  20, 18, 21, 16, 16, 20, 17, 9, 8, 13, 15, 18, 18, 15, 15, 18,
+  18, 15, 16, 17, 17, 18, 18, 19, 20, 20, 20, 17, 17, 20, 21, 21,
+  27, 34, 31, 30, 31, 25, 24, 26, 45, 62, 95, 148, 198, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 214, 213,
+  218, 221, 219, 212, 46, 36, 44, 41, 47, 40, 25, 27, 26, 26, 25, 25,
+  27, 29, 28, 29, 15, 11, 17, 20, 14, 14, 19, 16, 17, 20, 19, 19,
+  20, 19, 17, 16, 14, 16, 18, 15, 9, 9, 13, 15, 19, 20, 18, 18,
+  20, 19, 15, 17, 18, 20, 20, 20, 20, 20, 21, 16, 15, 16, 18, 17,
+  16, 22, 30, 33, 32, 21, 31, 24, 38, 36, 44, 62, 88, 139, 195, 225,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 219, 212,
+  216, 226, 224, 213, 115, 27, 44, 32, 27, 41, 35, 27, 26, 27, 30, 29,
+  28, 25, 25, 21, 23, 15, 14, 17, 16, 11, 16, 23, 17, 17, 19, 20,
+  20, 18, 17, 18, 14, 14, 15, 16, 15, 11, 11, 13, 14, 19, 20, 18,
+  18, 20, 19, 14, 15, 18, 21, 21, 19, 18, 18, 20, 14, 14, 15, 17,
+  15, 14, 19, 26, 30, 32, 17, 29, 17, 33, 20, 23, 35, 45, 76, 128,
+  169, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 221, 218,
+  215, 224, 231, 210, 179, 51, 59, 22, 54, 12, 13, 29, 29, 20, 22, 28,
+  30, 30, 27, 26, 21, 17, 17, 18, 16, 14, 16, 23, 27, 21, 18, 19,
+  21, 20, 17, 16, 19, 15, 14, 13, 15, 17, 17, 15, 13, 12, 16, 17,
+  15, 15, 17, 16, 12, 11, 15, 19, 19, 16, 14, 15, 17, 16, 13, 14,
+  16, 16, 14, 17, 23, 21, 32, 23, 28, 7, 20, 16, 24, 27, 42, 55,
+  72, 118, 221, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 215, 219,
+  217, 215, 221, 210, 159, 101, 36, 32, 78, 18, 20, 30, 36, 13, 20, 22,
+  25, 28, 31, 30, 28, 24, 17, 20, 19, 13, 16, 27, 34, 29, 26, 21,
+  20, 22, 20, 16, 16, 20, 18, 15, 12, 14, 20, 23, 19, 13, 13, 16,
+  17, 14, 14, 17, 16, 13, 10, 15, 20, 19, 15, 12, 13, 16, 18, 14,
+  12, 16, 18, 17, 17, 20, 14, 28, 30, 30, 15, 22, 23, 28, 24, 38,
+  47, 45, 70, 180, 219, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 216,
+  220, 217, 212, 210, 182, 105, 27, 26, 53, 6, 32, 40, 18, 21, 25, 29,
+  31, 30, 27, 26, 23, 20, 14, 17, 18, 16, 8, 16, 37, 39, 28, 27,
+  22, 19, 22, 20, 15, 16, 21, 20, 15, 12, 14, 22, 27, 22, 13, 16,
+  19, 19, 15, 15, 19, 19, 16, 12, 17, 22, 22, 17, 14, 15, 17, 21,
+  14, 12, 16, 20, 19, 18, 18, 16, 23, 31, 28, 28, 26, 18, 10, 12,
+  14, 27, 30, 32, 117, 178, 228, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 223,
+  213, 226, 224, 218, 228, 109, 39, 39, 37, 29, 23, 23, 27, 31, 31, 31,
+  30, 25, 27, 44, 33, 21, 35, 20, 17, 9, 23, 12, 18, 60, 53, 17,
+  7, 31, 15, 2, 20, 17, 10, 32, 11, 25, 17, 12, 29, 31, 21, 25,
+  18, 17, 15, 16, 20, 21, 16, 8, 10, 15, 16, 15, 15, 17, 16, 13,
+  19, 15, 17, 17, 16, 26, 30, 19, 14, 18, 27, 30, 30, 21, 19, 21,
+  15, 17, 24, 33, 43, 75, 135, 190, 229, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 222,
+  225, 224, 219, 207, 218, 208, 33, 57, 40, 37, 30, 28, 27, 29, 29, 29,
+  28, 27, 28, 19, 23, 18, 19, 34, 20, 23, 10, 2, 42, 19, 67, 30,
+  21, 20, 21, 34, 23, 24, 29, 20, 30, 14, 27, 21, 17, 32, 35, 26,
+  27, 25, 21, 16, 16, 19, 19, 17, 11, 16, 19, 20, 18, 19, 22, 20,
+  16, 18, 15, 18, 18, 18, 28, 32, 19, 15, 17, 24, 31, 31, 28, 26,
+  30, 18, 20, 25, 31, 33, 51, 92, 134, 186, 228, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 220,
+  222, 225, 246, 189, 239, 222, 80, 60, 26, 48, 34, 31, 32, 30, 28, 27,
+  24, 22, 15, 29, 14, 14, 28, 41, 54, 45, 48, 18, 32, 58, 62, 58,
+  34, 29, 35, 17, 39, 33, 18, 26, 21, 20, 20, 31, 26, 20, 31, 37,
+  30, 27, 32, 24, 17, 16, 18, 18, 15, 12, 17, 18, 17, 16, 19, 23,
+  21, 15, 16, 15, 20, 19, 19, 30, 33, 19, 17, 17, 20, 26, 27, 27,
+  28, 33, 21, 23, 26, 28, 24, 27, 47, 72, 159, 218, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 220,
+  220, 221, 221, 214, 225, 220, 140, 44, 42, 62, 32, 32, 36, 38, 33, 30,
+  28, 25, 23, 17, 33, 16, 18, 39, 40, 42, 38, 39, 26, 59, 49, 60,
+  36, 25, 16, 40, 30, 22, 26, 23, 16, 20, 13, 27, 33, 28, 21, 29,
+  40, 39, 33, 29, 23, 16, 17, 20, 19, 15, 13, 15, 16, 15, 15, 20,
+  26, 25, 19, 14, 15, 20, 19, 19, 32, 35, 18, 23, 19, 18, 21, 21,
+  20, 21, 26, 23, 23, 24, 25, 21, 19, 28, 41, 117, 207, 224, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  220, 219, 218, 216, 199, 234, 128, 49, 49, 56, 50, 43, 39, 44, 47, 39,
+  35, 36, 33, 29, 19, 27, 15, 36, 62, 54, 56, 68, 42, 77, 89, 78,
+  48, 65, 39, 40, 33, 50, 4, 25, 48, 17, 24, 20, 26, 28, 25, 17,
+  24, 44, 53, 44, 24, 16, 12, 17, 21, 17, 15, 14, 15, 17, 18, 19,
+  25, 32, 33, 29, 13, 16, 21, 18, 18, 34, 37, 20, 27, 21, 18, 19,
+  19, 17, 17, 21, 25, 24, 21, 21, 20, 21, 28, 36, 56, 165, 214, 226,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  220, 220, 219, 216, 213, 228, 189, 24, 71, 48, 45, 60, 35, 48, 52, 48,
+  40, 35, 38, 36, 27, 31, 27, 22, 52, 71, 62, 73, 86, 39, 74, 90,
+  46, 37, 49, 40, 36, 22, 46, 6, 31, 63, 26, 27, 35, 19, 21, 21,
+  15, 19, 49, 64, 54, 23, 14, 11, 19, 22, 18, 15, 15, 11, 16, 18,
+  18, 22, 30, 33, 33, 15, 19, 23, 18, 18, 37, 43, 25, 25, 20, 18,
+  21, 22, 21, 19, 21, 25, 24, 21, 19, 19, 23, 29, 35, 25, 120, 193,
+  224, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  243, 220, 221, 220, 217, 213, 215, 74, 76, 66, 65, 52, 43, 44, 65, 65,
+  55, 41, 36, 42, 40, 29, 45, 41, 41, 61, 57, 43, 49, 44, 87, 82,
+  98, 36, 70, 48, 57, 54, 34, 29, 28, 37, 48, 35, 30, 58, 21, 22,
+  25, 20, 20, 50, 65, 49, 28, 15, 11, 18, 22, 16, 13, 16, 7, 13,
+  17, 15, 15, 21, 27, 29, 18, 22, 25, 17, 18, 40, 47, 31, 22, 17,
+  17, 21, 24, 22, 18, 18, 22, 24, 23, 22, 21, 24, 28, 31, 25, 75,
+  147, 212, 220, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 218, 219, 222, 222, 218, 215, 88, 102, 59, 78, 86, 53, 34, 64, 83,
+  80, 67, 49, 45, 51, 47, 34, 35, 43, 59, 82, 74, 67, 76, 54, 125,
+  98, 72, 57, 71, 64, 44, 63, 60, 17, 52, 40, 23, 39, 34, 79, 27,
+  25, 31, 24, 21, 47, 59, 38, 33, 19, 11, 17, 21, 15, 14, 19, 11,
+  19, 24, 20, 16, 20, 27, 32, 22, 26, 28, 19, 20, 43, 52, 34, 17,
+  15, 15, 21, 23, 19, 13, 12, 16, 22, 26, 26, 26, 27, 28, 28, 23,
+  34, 95, 181, 205, 207, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 219, 214, 219, 233, 192, 218, 55, 70, 70, 91, 85, 59, 70, 69,
+  96, 54, 71, 47, 46, 56, 52, 32, 76, 67, 70, 91, 56, 61, 74, 94,
+  95, 88, 78, 77, 73, 54, 56, 82, 47, 46, 63, 54, 27, 40, 64, 56,
+  27, 37, 27, 21, 16, 59, 65, 52, 31, 4, 17, 6, 19, 17, 17, 14,
+  15, 14, 22, 16, 23, 26, 19, 36, 39, 25, 14, 17, 26, 32, 34, 37,
+  16, 11, 22, 21, 21, 24, 15, 25, 16, 23, 20, 25, 35, 24, 14, 26,
+  23, 41, 60, 108, 177, 208, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 243, 221, 222, 214, 220, 224, 128, 73, 74, 63, 78, 77, 57, 62,
+  57, 62, 78, 61, 90, 44, 70, 42, 80, 87, 93, 62, 95, 53, 99, 76,
+  85, 96, 62, 81, 82, 40, 66, 92, 38, 50, 48, 50, 57, 29, 39, 32,
+  24, 41, 52, 22, 17, 16, 56, 74, 77, 36, 6, 16, 5, 18, 25, 26,
+  14, 11, 23, 18, 25, 12, 37, 17, 38, 39, 26, 15, 16, 21, 25, 27,
+  30, 20, 14, 24, 21, 21, 25, 15, 25, 26, 28, 32, 24, 15, 32, 40,
+  21, 28, 48, 60, 83, 143, 201, 216, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 218, 214, 227, 217, 211, 177, 56, 67, 61, 49, 64, 70, 58,
+  56, 46, 39, 81, 73, 67, 72, 63, 59, 71, 81, 78, 87, 71, 94, 73,
+  71, 60, 81, 122, 69, 24, 63, 64, 45, 82, 62, 70, 73, 64, 68, 76,
+  58, 28, 51, 72, 20, 11, 15, 49, 84, 102, 50, 9, 13, 4, 21, 31,
+  32, 14, 14, 25, 28, 26, 22, 38, 25, 42, 51, 37, 24, 22, 25, 25,
+  23, 24, 18, 11, 20, 18, 19, 22, 12, 21, 34, 21, 33, 30, 9, 33,
+  52, 20, 23, 27, 35, 51, 93, 159, 198, 217, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 218, 207, 224, 226, 186, 60, 51, 46, 44, 45, 57, 61,
+  52, 44, 36, 48, 85, 51, 84, 53, 55, 49, 72, 88, 92, 88, 103, 91,
+  68, 53, 88, 108, 86, 50, 55, 90, 72, 39, 44, 65, 84, 95, 52, 92,
+  96, 90, 40, 46, 93, 36, 11, 12, 50, 93, 116, 70, 8, 8, 10, 26,
+  30, 32, 17, 27, 16, 46, 22, 54, 28, 38, 50, 65, 47, 31, 29, 32,
+  30, 23, 19, 15, 9, 19, 19, 21, 25, 13, 21, 38, 17, 26, 40, 28,
+  31, 44, 35, 38, 16, 24, 50, 73, 119, 172, 197, 224, 255, 255, 255, 255,
+  255, 255, 255, 255, 215, 219, 214, 219, 213, 117, 7, 59, 40, 43, 52, 51,
+  44, 36, 30, 33, 67, 58, 47, 82, 40, 20, 65, 106, 86, 90, 79, 84,
+  71, 59, 62, 105, 97, 30, 44, 78, 45, 40, 69, 57, 93, 102, 94, 73,
+  93, 104, 90, 62, 38, 103, 61, 19, 10, 57, 97, 116, 89, 6, 8, 22,
+  32, 21, 28, 22, 32, 9, 41, 34, 69, 31, 37, 58, 64, 45, 29, 29,
+  36, 35, 26, 20, 15, 9, 20, 22, 27, 31, 18, 24, 32, 31, 27, 31,
+  38, 35, 37, 51, 47, 23, 26, 41, 49, 84, 144, 180, 192, 255, 255, 255,
+  255, 255, 255, 255, 255, 216, 220, 227, 215, 158, 42, 41, 43, 41, 40, 49,
+  37, 28, 30, 30, 45, 48, 25, 43, 17, 32, 34, 102, 85, 51, 62, 73,
+  46, 69, 62, 73, 62, 40, 35, 28, 27, 32, 51, 93, 135, 118, 110, 84,
+  123, 102, 119, 89, 98, 33, 91, 76, 25, 7, 60, 85, 104, 99, 9, 15,
+  30, 33, 19, 30, 25, 29, 17, 26, 57, 63, 56, 33, 64, 61, 47, 36,
+  38, 43, 43, 37, 36, 16, 7, 17, 18, 23, 29, 17, 23, 17, 42, 31,
+  12, 22, 34, 36, 45, 41, 39, 35, 22, 19, 56, 114, 149, 166, 255, 255,
+  255, 255, 255, 255, 255, 255, 218, 219, 223, 209, 74, 23, 52, 32, 41, 31,
+  38, 24, 22, 34, 29, 40, 15, 31, 11, 25, 24, 107, 78, 47, 33, 64,
+  45, 73, 38, 94, 58, 41, 46, 38, 42, 66, 99, 132, 135, 110, 107, 92,
+  91, 128, 110, 118, 98, 89, 50, 72, 77, 32, 9, 65, 73, 98, 97, 18,
+  30, 34, 29, 24, 38, 24, 25, 28, 30, 65, 65, 80, 45, 63, 59, 55,
+  52, 50, 45, 40, 40, 47, 26, 13, 16, 13, 18, 26, 17, 26, 13, 31,
+  38, 25, 15, 25, 33, 29, 39, 52, 47, 30, 24, 41, 85, 130, 162, 182,
+  255, 255, 255, 255, 255, 255, 242, 219, 215, 208, 203, 12, 47, 17, 40, 48,
+  30, 34, 21, 23, 34, 15, 15, 18, 22, 32, 62, 90, 100, 38, 45, 41,
+  40, 32, 41, 15, 43, 44, 34, 67, 103, 119, 126, 139, 131, 123, 133, 103,
+  91, 129, 111, 130, 119, 122, 63, 74, 65, 80, 45, 19, 74, 69, 102, 89,
+  24, 40, 34, 22, 31, 49, 26, 26, 32, 49, 54, 78, 87, 63, 57, 55,
+  58, 60, 52, 36, 27, 31, 44, 43, 24, 24, 15, 21, 29, 25, 36, 23,
+  16, 46, 62, 29, 20, 32, 22, 26, 35, 37, 38, 31, 16, 45, 106, 152,
+  165, 255, 255, 255, 255, 255, 255, 211, 211, 220, 211, 126, 22, 49, 48, 31,
+  46, 37, 30, 27, 27, 26, 23, 17, 21, 21, 52, 85, 77, 38, 26, 43,
+  23, 49, 60, 55, 53, 59, 71, 90, 111, 123, 134, 135, 132, 131, 130, 127,
+  75, 109, 129, 121, 120, 126, 114, 92, 79, 57, 65, 41, 19, 40, 102, 62,
+  66, 94, 21, 43, 37, 42, 42, 26, 33, 33, 43, 40, 75, 86, 76, 41,
+  56, 50, 52, 66, 46, 20, 30, 36, 40, 48, 22, 13, 19, 23, 41, 23,
+  23, 25, 22, 46, 45, 29, 35, 15, 19, 35, 53, 36, 40, 48, 42, 74,
+  133, 160, 202, 255, 255, 255, 255, 255, 214, 217, 203, 185, 38, 19, 39, 37,
+  44, 26, 26, 26, 26, 25, 22, 24, 23, 8, 59, 85, 58, 26, 29, 48,
+  57, 87, 106, 112, 104, 104, 105, 110, 123, 127, 133, 139, 140, 141, 138, 128,
+  118, 101, 121, 131, 125, 122, 127, 115, 97, 71, 75, 65, 41, 27, 49, 93,
+  71, 34, 84, 38, 44, 35, 47, 40, 40, 39, 36, 44, 42, 74, 83, 79,
+  52, 42, 46, 51, 61, 39, 17, 29, 32, 45, 43, 13, 14, 22, 17, 34,
+  41, 27, 27, 23, 43, 39, 23, 27, 7, 21, 28, 48, 43, 43, 48, 39,
+  61, 98, 147, 179, 255, 255, 255, 255, 255, 215, 209, 209, 125, 0, 37, 38,
+  34, 40, 24, 28, 30, 24, 16, 14, 22, 26, 40, 27, 18, 22, 53, 93,
+  123, 134, 134, 144, 144, 137, 139, 137, 135, 141, 140, 138, 138, 139, 141, 137,
+  122, 105, 126, 130, 128, 125, 126, 126, 116, 106, 77, 100, 67, 38, 21, 52,
+  84, 85, 34, 92, 64, 50, 40, 67, 36, 42, 44, 41, 50, 46, 73, 75,
+  82, 69, 45, 51, 57, 62, 40, 17, 27, 28, 50, 58, 28, 16, 21, 17,
+  31, 47, 31, 26, 20, 31, 28, 24, 33, 22, 25, 18, 40, 49, 47, 48,
+  40, 46, 63, 112, 166, 255, 255, 255, 255, 242, 214, 204, 218, 42, 16, 42,
+  35, 39, 28, 30, 30, 25, 15, 9, 16, 31, 39, 37, 28, 52, 101, 125,
+  122, 132, 158, 138, 141, 134, 131, 139, 140, 136, 137, 140, 139, 135, 134, 136,
+  133, 119, 104, 132, 128, 125, 126, 126, 121, 115, 117, 80, 107, 84, 61, 21,
+  51, 78, 71, 54, 99, 69, 42, 47, 91, 34, 36, 46, 43, 56, 51, 67,
+  62, 78, 82, 61, 53, 53, 67, 48, 18, 25, 27, 45, 80, 62, 22, 17,
+  25, 32, 39, 49, 34, 22, 20, 16, 24, 41, 41, 32, 15, 32, 51, 48,
+  49, 47, 40, 51, 75, 143, 255, 255, 255, 255, 217, 214, 215, 176, 0, 28,
+  23, 23, 31, 25, 12, 12, 9, 5, 12, 31, 46, 51, 61, 93, 127, 137,
+  132, 130, 135, 138, 139, 138, 129, 126, 137, 139, 136, 142, 141, 139, 137, 133,
+  132, 132, 126, 119, 127, 124, 126, 129, 124, 115, 113, 122, 79, 96, 105, 101,
+  33, 54, 80, 52, 62, 90, 66, 36, 40, 94, 38, 45, 46, 44, 59, 56,
+  61, 44, 65, 85, 68, 43, 34, 61, 52, 18, 24, 33, 33, 70, 74, 37,
+  22, 27, 30, 40, 63, 45, 35, 21, 12, 22, 33, 36, 35, 19, 25, 44,
+  43, 45, 51, 40, 54, 62, 138, 198, 255, 255, 255, 218, 215, 206, 90, 17,
+  29, 27, 25, 18, 34, 57, 62, 63, 67, 82, 100, 106, 101, 121, 128, 121,
+  110, 121, 146, 153, 141, 141, 139, 131, 130, 139, 138, 136, 142, 136, 137, 137,
+  132, 129, 132, 133, 131, 129, 128, 130, 132, 126, 113, 114, 122, 98, 99, 116,
+  109, 36, 46, 96, 73, 74, 96, 82, 58, 37, 75, 41, 56, 60, 46, 56,
+  55, 59, 34, 55, 80, 63, 33, 16, 45, 42, 16, 29, 38, 27, 32, 54,
+  49, 29, 22, 26, 49, 50, 37, 42, 29, 20, 30, 28, 27, 35, 31, 22,
+  31, 33, 37, 49, 39, 52, 66, 151, 157, 255, 255, 255, 217, 214, 179, 44,
+  37, 27, 38, 28, 26, 58, 84, 88, 91, 92, 102, 115, 113, 102, 125, 129,
+  136, 139, 135, 130, 131, 135, 133, 136, 134, 135, 139, 133, 130, 139, 133, 134,
+  134, 130, 129, 132, 135, 133, 134, 132, 131, 130, 127, 119, 118, 121, 117, 113,
+  118, 94, 43, 36, 94, 101, 89, 101, 91, 88, 42, 61, 45, 61, 80, 51,
+  49, 49, 59, 33, 49, 74, 72, 48, 25, 34, 25, 13, 29, 29, 35, 9,
+  37, 44, 22, 21, 26, 40, 35, 27, 44, 34, 26, 39, 30, 28, 35, 49,
+  27, 22, 28, 30, 44, 39, 44, 58, 159, 160, 255, 255, 255, 214, 211, 160,
+  46, 21, 18, 26, 19, 47, 90, 104, 107, 107, 105, 110, 123, 123, 116, 124,
+  128, 131, 131, 136, 142, 144, 139, 129, 135, 139, 142, 144, 134, 131, 143, 136,
+  136, 135, 133, 135, 139, 136, 130, 134, 132, 127, 127, 128, 128, 125, 121, 108,
+  121, 127, 96, 67, 34, 77, 96, 89, 88, 79, 99, 51, 62, 54, 59, 95,
+  53, 39, 43, 57, 32, 46, 69, 88, 74, 46, 30, 14, 10, 28, 18, 47,
+  12, 37, 32, 7, 27, 30, 18, 41, 31, 49, 35, 25, 38, 28, 27, 37,
+  64, 35, 21, 28, 29, 41, 38, 37, 39, 155, 173, 255, 255, 255, 209, 208,
+  118, 45, 30, 15, 31, 27, 57, 110, 113, 115, 116, 114, 115, 121, 123, 119,
+  125, 129, 130, 129, 132, 134, 135, 134, 136, 141, 144, 141, 137, 135, 138, 141,
+  141, 140, 138, 137, 137, 137, 134, 131, 134, 143, 145, 140, 135, 135, 130, 127,
+  131, 125, 120, 101, 67, 51, 60, 69, 105, 87, 82, 81, 75, 80, 76, 58,
+  89, 94, 57, 27, 36, 35, 34, 55, 82, 85, 78, 52, 24, 12, 16, 25,
+  48, 51, 29, 11, 19, 19, 18, 33, 45, 39, 29, 24, 30, 41, 46, 45,
+  42, 52, 57, 40, 17, 23, 36, 36, 54, 50, 103, 148, 255, 255, 255, 211,
+  208, 112, 33, 21, 14, 25, 31, 71, 113, 109, 115, 116, 113, 110, 113, 115,
+  117, 124, 126, 126, 127, 132, 137, 143, 146, 144, 141, 140, 144, 150, 151, 146,
+  140, 140, 138, 140, 141, 142, 144, 141, 139, 138, 141, 143, 137, 134, 132, 131,
+  133, 124, 133, 134, 110, 74, 64, 71, 65, 93, 95, 84, 79, 90, 81, 65,
+  67, 81, 116, 88, 31, 27, 43, 46, 55, 44, 63, 78, 77, 55, 30, 20,
+  21, 38, 44, 28, 15, 19, 17, 14, 26, 38, 58, 70, 58, 40, 38, 55,
+  73, 41, 43, 47, 37, 19, 22, 35, 38, 40, 44, 86, 144, 197, 255, 255,
+  210, 206, 109, 28, 21, 23, 23, 43, 95, 120, 111, 117, 120, 116, 110, 112,
+  117, 120, 114, 117, 121, 124, 126, 129, 133, 137, 144, 142, 143, 148, 155, 157,
+  152, 144, 140, 138, 140, 142, 143, 142, 139, 136, 140, 139, 138, 133, 126, 120,
+  124, 133, 127, 134, 127, 93, 61, 67, 85, 81, 79, 94, 82, 80, 104, 85,
+  57, 80, 78, 102, 93, 68, 61, 45, 31, 38, 41, 56, 72, 74, 50, 19,
+  5, 6, 29, 35, 28, 20, 20, 14, 10, 18, 36, 49, 59, 55, 48, 47,
+  52, 55, 45, 36, 36, 33, 20, 20, 30, 36, 30, 39, 67, 136, 153, 255,
+  255, 208, 199, 103, 29, 25, 35, 20, 52, 110, 120, 121, 122, 121, 118, 115,
+  114, 116, 118, 118, 122, 129, 136, 136, 131, 131, 134, 134, 142, 150, 150, 150,
+  146, 149, 154, 147, 145, 145, 145, 143, 140, 134, 131, 143, 139, 135, 128, 117,
+  106, 108, 118, 116, 119, 111, 85, 60, 69, 91, 98, 72, 76, 69, 79, 100,
+  83, 63, 80, 83, 89, 87, 90, 90, 60, 29, 25, 62, 67, 78, 79, 59,
+  28, 14, 24, 26, 31, 29, 25, 20, 12, 10, 17, 30, 28, 28, 33, 45,
+  51, 43, 29, 53, 34, 29, 32, 23, 18, 24, 31, 34, 34, 57, 122, 157,
+  255, 255, 209, 198, 89, 26, 21, 38, 16, 55, 118, 112, 125, 118, 111, 108,
+  106, 102, 100, 96, 97, 99, 105, 112, 113, 110, 114, 123, 128, 137, 146, 148,
+  148, 146, 150, 154, 153, 150, 152, 150, 147, 142, 135, 129, 138, 137, 133, 123,
+  108, 93, 88, 92, 86, 85, 91, 92, 77, 71, 83, 92, 71, 52, 55, 74,
+  82, 78, 73, 69, 86, 106, 103, 84, 84, 87, 67, 40, 20, 34, 56, 70,
+  60, 35, 16, 15, 35, 31, 31, 30, 21, 14, 16, 20, 16, 26, 34, 35,
+  34, 39, 43, 45, 55, 31, 25, 32, 26, 20, 24, 29, 41, 28, 52, 105,
+  173, 255, 255, 212, 200, 88, 33, 15, 38, 18, 69, 127, 110, 110, 97, 88,
+  83, 84, 76, 69, 64, 61, 57, 57, 63, 67, 71, 86, 102, 123, 124, 130,
+  141, 153, 156, 151, 142, 145, 145, 146, 148, 145, 141, 133, 128, 131, 132, 127,
+  113, 98, 87, 76, 70, 67, 55, 60, 74, 65, 58, 69, 81, 69, 43, 46,
+  62, 64, 69, 72, 59, 70, 87, 102, 99, 92, 87, 79, 69, 46, 59, 76,
+  87, 83, 63, 40, 29, 45, 35, 33, 35, 24, 19, 23, 22, 12, 24, 32,
+  29, 25, 30, 42, 50, 49, 27, 23, 30, 28, 25, 28, 29, 41, 22, 45,
+  96, 183, 255, 255, 214, 200, 100, 49, 9, 33, 25, 84, 132, 105, 82, 71,
+  63, 61, 59, 49, 45, 46, 52, 48, 47, 54, 55, 59, 75, 93, 103, 108,
+  121, 139, 154, 155, 147, 137, 142, 143, 145, 149, 147, 141, 134, 129, 122, 127,
+  119, 100, 88, 88, 76, 61, 61, 45, 43, 49, 44, 48, 61, 67, 62, 55,
+  48, 49, 58, 62, 58, 52, 48, 48, 74, 101, 99, 80, 75, 77, 67, 76,
+  78, 75, 73, 66, 44, 24, 56, 37, 35, 40, 29, 24, 28, 22, 17, 17,
+  15, 14, 21, 31, 36, 35, 43, 27, 24, 29, 26, 27, 28, 25, 32, 21,
+  36, 103, 184, 255, 255, 213, 198, 115, 59, 3, 23, 27, 91, 130, 97, 62,
+  55, 52, 50, 46, 38, 39, 43, 47, 45, 48, 56, 54, 48, 55, 69, 75,
+  94, 123, 142, 149, 145, 141, 138, 149, 151, 153, 154, 153, 146, 137, 132, 113,
+  120, 111, 87, 82, 87, 77, 55, 48, 44, 47, 48, 45, 53, 55, 43, 53,
+  71, 52, 39, 60, 58, 42, 53, 39, 43, 57, 65, 76, 94, 94, 72, 59,
+  72, 78, 78, 86, 86, 62, 35, 58, 37, 36, 44, 32, 28, 30, 20, 18,
+  20, 18, 15, 19, 27, 33, 34, 40, 28, 26, 27, 24, 25, 25, 18, 25,
+  24, 31, 113, 181, 255, 255, 207, 198, 139, 51, 16, 16, 36, 111, 73, 60,
+  39, 38, 34, 30, 32, 41, 46, 45, 51, 42, 38, 39, 35, 32, 44, 60,
+  67, 86, 109, 120, 129, 139, 144, 143, 142, 138, 138, 145, 147, 139, 131, 126,
+  121, 109, 99, 94, 82, 66, 64, 70, 61, 50, 49, 55, 52, 41, 43, 54,
+  60, 63, 61, 55, 56, 61, 56, 44, 36, 36, 48, 64, 69, 66, 77, 92,
+  78, 82, 82, 77, 82, 85, 69, 52, 52, 58, 54, 30, 37, 45, 25, 41,
+  25, 23, 18, 11, 12, 16, 17, 16, 31, 18, 22, 17, 20, 27, 20, 25,
+  23, 16, 32, 94, 219, 255, 255, 209, 201, 140, 58, 30, 23, 45, 94, 60,
+  45, 28, 30, 34, 35, 41, 50, 53, 50, 37, 35, 39, 46, 48, 45, 42,
+  44, 57, 75, 98, 116, 131, 137, 136, 127, 127, 127, 131, 137, 141, 140, 132,
+  126, 113, 99, 91, 91, 89, 81, 79, 84, 79, 69, 65, 70, 76, 81, 94,
+  108, 121, 122, 114, 101, 91, 85, 72, 55, 65, 58, 55, 54, 51, 44, 53,
+  65, 84, 82, 76, 78, 89, 97, 81, 60, 46, 48, 51, 39, 47, 56, 33,
+  36, 28, 25, 20, 13, 13, 16, 18, 17, 26, 15, 23, 20, 23, 28, 19,
+  22, 26, 16, 30, 92, 215, 255, 255, 211, 204, 147, 61, 31, 12, 41, 60,
+  45, 32, 36, 46, 59, 70, 80, 89, 87, 82, 79, 82, 86, 90, 92, 90,
+  78, 66, 69, 77, 89, 103, 120, 129, 125, 115, 119, 124, 132, 133, 138, 143,
+  136, 124, 115, 101, 95, 100, 105, 105, 105, 108, 118, 110, 103, 103, 110, 120,
+  131, 137, 136, 141, 138, 128, 122, 116, 106, 92, 82, 71, 61, 60, 56, 50,
+  55, 62, 73, 76, 75, 78, 84, 90, 82, 74, 43, 30, 32, 30, 37, 51,
+  39, 26, 28, 27, 23, 15, 13, 16, 20, 19, 24, 18, 28, 23, 24, 30,
+  20, 22, 25, 12, 24, 88, 205, 255, 255, 212, 203, 165, 71, 26, 0, 46,
+  47, 59, 54, 68, 78, 94, 109, 120, 127, 123, 117, 122, 124, 123, 116, 117,
+  119, 113, 99, 97, 93, 91, 94, 103, 113, 118, 118, 120, 132, 139, 134, 137,
+  143, 137, 122, 119, 111, 106, 109, 114, 113, 117, 119, 113, 111, 108, 110, 124,
+  139, 144, 143, 151, 159, 158, 148, 140, 135, 128, 117, 117, 106, 95, 88, 75,
+  60, 46, 40, 54, 68, 83, 82, 76, 74, 79, 88, 56, 25, 14, 12, 14,
+  36, 42, 26, 28, 29, 25, 18, 16, 18, 22, 22, 25, 22, 32, 24, 24,
+  29, 20, 23, 25, 15, 24, 96, 204, 255, 255, 211, 203, 177, 79, 18, 1,
+  66, 56, 84, 83, 91, 100, 112, 122, 132, 137, 134, 127, 137, 140, 136, 123,
+  118, 123, 122, 115, 106, 99, 92, 86, 86, 94, 108, 119, 124, 136, 141, 134,
+  133, 138, 133, 119, 112, 112, 111, 110, 108, 105, 111, 116, 123, 121, 118, 118,
+  127, 140, 144, 140, 144, 153, 154, 145, 139, 138, 135, 129, 130, 121, 111, 101,
+  89, 73, 54, 44, 50, 62, 79, 85, 82, 76, 82, 95, 77, 46, 22, 18,
+  15, 29, 46, 34, 28, 31, 31, 25, 21, 21, 24, 23, 27, 26, 35, 24,
+  20, 29, 22, 26, 29, 19, 32, 109, 204, 255, 255, 210, 203, 168, 75, 5,
+  13, 88, 67, 98, 95, 109, 115, 121, 125, 129, 131, 127, 122, 118, 119, 114,
+  103, 95, 92, 88, 85, 94, 90, 87, 82, 80, 83, 97, 115, 121, 130, 132,
+  127, 125, 129, 125, 116, 104, 109, 111, 108, 103, 101, 105, 109, 100, 93, 87,
+  86, 92, 101, 110, 114, 126, 141, 147, 141, 137, 138, 139, 136, 126, 118, 108,
+  101, 95, 87, 80, 75, 58, 52, 57, 74, 88, 90, 87, 88, 84, 69, 44,
+  42, 31, 27, 39, 33, 26, 33, 36, 32, 27, 28, 29, 28, 28, 30, 40,
+  25, 20, 28, 22, 27, 24, 17, 32, 113, 255, 255, 255, 210, 204, 159, 79,
+  3, 30, 102, 72, 97, 97, 114, 118, 120, 120, 122, 121, 115, 108, 124, 118,
+  114, 114, 115, 112, 107, 105, 87, 83, 81, 79, 79, 82, 96, 115, 121, 123,
+  123, 120, 117, 116, 113, 112, 100, 105, 107, 103, 100, 97, 97, 98, 84, 77,
+  76, 84, 91, 95, 105, 118, 122, 138, 149, 144, 138, 134, 132, 125, 141, 133,
+  121, 105, 96, 90, 87, 82, 76, 57, 52, 69, 90, 92, 87, 84, 81, 87,
+  63, 57, 45, 19, 26, 28, 25, 36, 43, 40, 37, 36, 36, 35, 26, 33,
+  46, 30, 21, 29, 22, 25, 20, 17, 32, 112, 255, 255, 255, 211, 205, 165,
+  95, 10, 47, 112, 75, 100, 103, 106, 109, 110, 108, 108, 105, 100, 93, 73,
+  63, 62, 77, 94, 100, 105, 108, 98, 88, 82, 80, 80, 86, 103, 120, 125,
+  121, 120, 119, 114, 106, 105, 108, 97, 98, 99, 96, 93, 90, 87, 84, 74,
+  66, 62, 63, 53, 35, 30, 38, 61, 85, 107, 115, 117, 123, 125, 121, 123,
+  119, 114, 106, 102, 100, 100, 98, 91, 71, 64, 77, 88, 88, 87, 92, 79,
+  97, 71, 64, 49, 15, 17, 28, 26, 37, 45, 45, 43, 41, 42, 40, 23,
+  33, 48, 33, 23, 30, 21, 20, 26, 21, 37, 163, 255, 255, 255, 210, 206,
+  168, 81, 21, 91, 111, 98, 108, 106, 87, 99, 71, 103, 71, 25, 30, 30,
+  9, 19, 214, 96, 41, 124, 97, 95, 93, 101, 114, 84, 82, 77, 107, 115,
+  123, 123, 122, 117, 110, 102, 98, 95, 101, 98, 96, 96, 98, 96, 89, 88,
+  80, 32, 76, 104, 111, 49, 56, 47, 55, 38, 12, 25, 36, 73, 94, 114,
+  93, 85, 92, 107, 108, 94, 94, 102, 113, 98, 81, 71, 73, 79, 88, 90,
+  91, 80, 93, 77, 41, 57, 21, 32, 20, 22, 33, 50, 60, 57, 50, 45,
+  36, 36, 33, 38, 41, 30, 22, 29, 36, 16, 109, 255, 255, 255, 255, 210,
+  206, 177, 94, 32, 106, 115, 100, 100, 98, 85, 85, 87, 55, 28, 54, 19,
+  20, 71, 80, 179, 15, 77, 154, 188, 131, 103, 105, 101, 100, 93, 98, 113,
+  130, 126, 123, 121, 116, 110, 105, 103, 101, 94, 91, 91, 99, 111, 112, 101,
+  94, 84, 77, 128, 124, 111, 60, 60, 29, 43, 36, 38, 71, 60, 51, 45,
+  69, 80, 85, 94, 97, 97, 94, 99, 104, 110, 101, 90, 82, 81, 82, 86,
+  86, 96, 83, 98, 84, 52, 67, 34, 40, 19, 22, 30, 43, 51, 53, 53,
+  53, 39, 46, 50, 54, 56, 36, 24, 29, 26, 18, 122, 255, 255, 255, 255,
+  255, 208, 171, 98, 33, 123, 121, 114, 105, 105, 91, 71, 68, 23, 22, 89,
+  44, 36, 48, 53, 13, 68, 109, 171, 142, 156, 108, 100, 85, 107, 97, 112,
+  114, 132, 126, 121, 117, 112, 108, 106, 108, 108, 95, 88, 88, 99, 112, 111,
+  94, 80, 111, 66, 102, 135, 136, 63, 51, 46, 41, 38, 56, 119, 130, 106,
+  48, 18, 39, 54, 72, 77, 81, 90, 98, 98, 105, 105, 102, 97, 94, 92,
+  92, 91, 97, 85, 98, 89, 65, 75, 45, 44, 23, 22, 26, 33, 39, 42,
+  50, 57, 39, 47, 50, 57, 56, 37, 23, 30, 31, 28, 255, 255, 255, 255,
+  255, 255, 210, 168, 101, 34, 131, 122, 123, 107, 112, 83, 52, 19, 26, 52,
+  101, 78, 61, 25, 41, 53, 68, 166, 126, 131, 96, 109, 100, 86, 98, 99,
+  115, 117, 124, 127, 119, 111, 105, 103, 103, 106, 107, 98, 90, 87, 93, 103,
+  103, 89, 79, 97, 75, 91, 99, 115, 91, 85, 61, 73, 104, 129, 155, 139,
+  121, 69, 34, 18, 32, 53, 68, 82, 93, 101, 104, 103, 106, 110, 110, 105,
+  98, 97, 97, 97, 85, 97, 91, 79, 83, 59, 50, 25, 22, 23, 25, 27,
+  32, 41, 51, 42, 41, 39, 43, 48, 36, 27, 33, 56, 43, 255, 255, 255,
+  255, 255, 255, 211, 182, 110, 40, 133, 118, 118, 102, 107, 62, 35, 20, 43,
+  61, 92, 73, 74, 50, 92, 84, 105, 105, 141, 130, 109, 111, 108, 106, 89,
+  107, 118, 131, 119, 128, 121, 111, 105, 103, 104, 107, 107, 98, 93, 92, 95,
+  102, 107, 108, 108, 98, 93, 103, 97, 100, 91, 101, 98, 98, 117, 116, 116,
+  95, 97, 80, 68, 36, 27, 35, 59, 77, 82, 90, 100, 109, 113, 117, 115,
+  106, 100, 100, 100, 101, 90, 101, 96, 93, 90, 77, 61, 22, 20, 18, 19,
+  20, 24, 34, 44, 45, 41, 32, 38, 47, 40, 32, 39, 84, 59, 255, 255,
+  255, 255, 255, 255, 208, 182, 108, 42, 126, 119, 113, 104, 108, 65, 53, 83,
+  72, 62, 99, 63, 89, 90, 72, 92, 113, 109, 115, 118, 136, 109, 109, 110,
+  83, 108, 119, 137, 117, 129, 120, 112, 107, 106, 107, 108, 107, 100, 98, 98,
+  97, 98, 104, 114, 119, 115, 90, 90, 108, 117, 96, 101, 125, 113, 103, 88,
+  104, 102, 109, 96, 95, 82, 58, 49, 63, 74, 76, 82, 93, 115, 117, 119,
+  112, 104, 98, 96, 97, 99, 91, 100, 93, 96, 88, 86, 68, 25, 19, 14,
+  14, 17, 22, 29, 38, 38, 35, 30, 38, 51, 43, 35, 39, 94, 76, 255,
+  255, 255, 255, 255, 255, 205, 171, 92, 36, 115, 121, 109, 111, 114, 86, 91,
+  111, 102, 84, 110, 90, 112, 116, 103, 127, 107, 121, 107, 98, 96, 103, 99,
+  92, 83, 101, 122, 129, 117, 122, 116, 112, 109, 111, 111, 111, 108, 105, 105,
+  105, 102, 99, 99, 104, 106, 96, 107, 98, 86, 103, 129, 127, 112, 129, 142,
+  145, 155, 128, 120, 112, 122, 122, 108, 97, 98, 100, 100, 101, 102, 114, 114,
+  114, 109, 104, 97, 96, 97, 98, 91, 98, 89, 94, 82, 90, 71, 38, 28,
+  18, 14, 14, 17, 22, 29, 28, 29, 26, 31, 43, 43, 43, 58, 97, 99,
+  97, 255, 255, 255, 255, 255, 202, 171, 91, 40, 112, 125, 106, 113, 114, 101,
+  111, 81, 118, 113, 101, 121, 119, 125, 118, 107, 96, 115, 95, 84, 107, 101,
+  92, 73, 90, 98, 126, 123, 123, 115, 110, 108, 108, 111, 111, 108, 104, 104,
+  104, 105, 104, 103, 101, 101, 98, 107, 108, 103, 106, 105, 105, 114, 138, 127,
+  139, 127, 127, 125, 150, 134, 114, 111, 114, 114, 109, 107, 108, 100, 91, 105,
+  106, 106, 106, 105, 101, 102, 99, 103, 96, 102, 91, 95, 81, 97, 79, 54,
+  40, 22, 13, 12, 13, 17, 21, 24, 27, 25, 26, 35, 40, 57, 85, 97,
+  114, 93, 114, 255, 255, 255, 255, 209, 158, 102, 45, 125, 115, 126, 101, 113,
+  112, 114, 114, 112, 110, 106, 103, 104, 110, 109, 108, 109, 111, 111, 107, 100,
+  94, 98, 95, 87, 98, 117, 125, 115, 106, 104, 102, 102, 104, 106, 106, 106,
+  113, 113, 112, 111, 108, 104, 101, 101, 111, 114, 117, 119, 122, 123, 124, 124,
+  117, 123, 130, 134, 135, 131, 126, 120, 119, 115, 112, 111, 112, 112, 110, 109,
+  101, 101, 102, 104, 106, 104, 103, 99, 93, 92, 90, 88, 91, 90, 82, 71,
+  76, 26, 28, 18, 27, 10, 12, 19, 26, 44, 14, 12, 34, 55, 98, 110,
+  109, 127, 140, 125, 125, 255, 255, 255, 207, 165, 108, 49, 126, 116, 124, 101,
+  116, 120, 120, 123, 119, 118, 112, 109, 108, 117, 119, 120, 119, 116, 114, 111,
+  111, 109, 105, 94, 90, 101, 118, 120, 111, 110, 107, 103, 102, 102, 103, 103,
+  103, 107, 110, 111, 110, 107, 105, 104, 108, 116, 119, 121, 123, 126, 127, 129,
+  130, 130, 127, 125, 122, 122, 122, 125, 124, 116, 115, 115, 117, 117, 114, 108,
+  104, 100, 100, 102, 105, 107, 106, 103, 97, 95, 91, 88, 85, 88, 89, 81,
+  71, 74, 43, 42, 10, 13, 14, 15, 9, 33, 27, 31, 16, 18, 65, 110,
+  124, 112, 120, 146, 121, 129, 137, 255, 255, 206, 169, 109, 51, 124, 115, 118,
+  102, 119, 124, 124, 127, 124, 124, 119, 116, 116, 123, 127, 129, 126, 120, 117,
+  116, 120, 119, 105, 91, 94, 108, 119, 117, 111, 104, 102, 99, 98, 101, 104,
+  106, 107, 103, 108, 113, 113, 110, 107, 110, 115, 118, 120, 121, 122, 125, 128,
+  131, 131, 142, 137, 131, 126, 124, 123, 128, 128, 120, 119, 118, 119, 118, 116,
+  111, 108, 101, 102, 103, 106, 107, 105, 101, 95, 95, 90, 86, 83, 85, 84,
+  79, 72, 72, 48, 46, 14, 7, 10, 16, 14, 20, 5, 44, 34, 26, 87,
+  116, 111, 114, 111, 150, 124, 136, 126, 255, 255, 214, 173, 112, 56, 121, 114,
+  114, 105, 123, 123, 123, 127, 124, 124, 120, 118, 118, 123, 127, 128, 125, 121,
+  120, 119, 121, 112, 96, 87, 99, 113, 117, 114, 114, 104, 100, 96, 94, 96,
+  100, 102, 104, 102, 109, 116, 116, 111, 109, 113, 121, 122, 122, 122, 120, 124,
+  124, 127, 128, 140, 136, 137, 135, 133, 126, 126, 125, 127, 122, 116, 113, 114,
+  116, 118, 119, 109, 107, 105, 104, 104, 102, 99, 94, 92, 87, 83, 79, 81,
+  81, 78, 74, 70, 39, 39, 28, 14, 6, 13, 32, 32, 32, 67, 64, 65,
+  108, 116, 93, 105, 98, 139, 134, 136, 128, 149, 255, 255, 179, 123, 70, 121,
+  117, 116, 113, 126, 122, 122, 126, 124, 124, 120, 118, 118, 123, 123, 122, 122,
+  124, 123, 121, 119, 103, 94, 94, 110, 118, 116, 114, 117, 112, 106, 98, 93,
+  92, 93, 95, 96, 105, 112, 119, 119, 114, 112, 116, 121, 128, 127, 125, 123,
+  124, 124, 126, 126, 127, 123, 128, 131, 130, 121, 119, 120, 125, 121, 116, 114,
+  116, 120, 123, 124, 119, 114, 108, 103, 101, 99, 97, 93, 90, 83, 79, 77,
+  79, 77, 74, 75, 64, 41, 42, 34, 11, 10, 13, 34, 49, 91, 98, 104,
+  110, 113, 118, 101, 97, 92, 125, 144, 125, 138, 137, 255, 255, 190, 140, 90,
+  124, 120, 121, 121, 125, 125, 125, 129, 126, 126, 122, 120, 120, 125, 124, 122,
+  125, 126, 126, 122, 117, 106, 101, 105, 118, 123, 119, 114, 114, 105, 100, 93,
+  89, 90, 95, 99, 101, 105, 111, 117, 117, 114, 113, 116, 120, 131, 132, 130,
+  127, 128, 127, 128, 126, 124, 118, 118, 122, 122, 117, 117, 123, 118, 118, 120,
+  123, 126, 126, 124, 121, 124, 118, 111, 105, 101, 99, 97, 93, 87, 80, 77,
+  78, 76, 72, 71, 74, 56, 53, 52, 31, 4, 27, 31, 36, 29, 99, 116,
+  137, 143, 118, 119, 106, 97, 89, 117, 144, 118, 145, 131, 255, 255, 198, 156,
+  107, 124, 119, 122, 123, 116, 128, 127, 131, 128, 128, 123, 121, 120, 123, 126,
+  127, 128, 127, 123, 118, 115, 114, 110, 109, 118, 127, 128, 120, 112, 102, 96,
+  90, 88, 91, 97, 104, 107, 104, 107, 112, 114, 115, 115, 117, 118, 130, 130,
+  130, 128, 130, 129, 129, 127, 125, 118, 117, 122, 123, 118, 119, 127, 118, 122,
+  124, 128, 130, 129, 125, 122, 122, 118, 113, 109, 106, 103, 98, 93, 84, 77,
+  76, 78, 77, 70, 69, 72, 55, 53, 51, 36, 12, 48, 57, 68, 60, 85,
+  115, 142, 145, 135, 121, 101, 95, 81, 117, 132, 118, 146, 255, 255, 255, 201,
+  164, 115, 122, 115, 119, 120, 106, 128, 128, 131, 128, 127, 123, 120, 120, 121,
+  128, 132, 131, 124, 117, 113, 112, 117, 111, 106, 113, 127, 133, 124, 111, 114,
+  107, 97, 90, 89, 92, 96, 98, 102, 104, 108, 112, 115, 117, 118, 118, 125,
+  126, 125, 127, 129, 130, 128, 128, 121, 114, 117, 128, 128, 119, 116, 123, 128,
+  128, 125, 125, 127, 128, 128, 128, 117, 116, 115, 114, 111, 106, 100, 93, 82,
+  77, 75, 79, 77, 70, 67, 71, 57, 41, 39, 47, 31, 62, 79, 112, 155,
+  103, 119, 129, 130, 152, 132, 104, 92, 73, 119, 121, 124, 181, 255, 255, 255,
+  197, 172, 116, 115, 109, 122, 124, 116, 121, 123, 128, 126, 125, 121, 121, 123,
+  114, 120, 121, 117, 115, 115, 115, 110, 109, 108, 111, 119, 125, 123, 116, 111,
+  103, 101, 99, 97, 97, 97, 96, 96, 98, 102, 111, 106, 127, 115, 119, 122,
+  126, 130, 129, 125, 127, 136, 134, 124, 126, 129, 125, 121, 129, 139, 135, 123,
+  135, 135, 136, 138, 135, 127, 122, 122, 123, 117, 111, 108, 106, 100, 91, 84,
+  85, 80, 63, 81, 72, 82, 65, 67, 72, 41, 56, 48, 65, 76, 108, 154,
+  153, 117, 107, 125, 133, 128, 121, 115, 82, 83, 119, 110, 135, 255, 255, 255,
+  255, 211, 183, 123, 119, 110, 119, 119, 112, 123, 125, 131, 129, 128, 124, 123,
+  125, 121, 129, 131, 124, 119, 118, 122, 122, 105, 106, 112, 122, 128, 125, 117,
+  110, 103, 100, 98, 96, 95, 92, 88, 85, 85, 90, 101, 101, 128, 120, 124,
+  125, 126, 129, 131, 131, 132, 136, 135, 131, 128, 132, 130, 121, 123, 134, 138,
+  135, 139, 135, 130, 129, 124, 119, 118, 120, 122, 116, 110, 107, 105, 100, 93,
+  87, 78, 76, 64, 77, 65, 71, 57, 61, 70, 54, 81, 77, 94, 95, 116,
+  146, 158, 127, 115, 124, 130, 129, 123, 112, 92, 84, 112, 110, 255, 255, 255,
+  255, 255, 207, 178, 117, 114, 106, 116, 118, 113, 122, 124, 131, 129, 129, 124,
+  123, 125, 122, 128, 130, 122, 116, 115, 118, 120, 100, 105, 114, 124, 132, 130,
+  120, 111, 99, 97, 97, 99, 101, 99, 93, 88, 80, 82, 92, 94, 128, 126,
+  130, 125, 122, 123, 127, 132, 133, 130, 128, 132, 127, 134, 137, 129, 125, 131,
+  136, 139, 141, 138, 135, 134, 131, 126, 125, 127, 121, 116, 109, 105, 103, 99,
+  93, 89, 75, 77, 70, 79, 67, 68, 60, 66, 62, 64, 97, 91, 105, 104,
+  119, 135, 155, 133, 122, 119, 121, 127, 125, 110, 93, 80, 107, 117, 255, 255,
+  255, 255, 255, 206, 174, 113, 111, 103, 112, 115, 112, 119, 121, 128, 127, 127,
+  123, 121, 122, 118, 125, 125, 119, 116, 115, 113, 110, 100, 108, 118, 126, 134,
+  133, 125, 116, 100, 100, 100, 103, 104, 102, 96, 91, 85, 83, 87, 85, 122,
+  126, 131, 125, 124, 120, 126, 134, 133, 125, 125, 132, 124, 135, 143, 138, 133,
+  131, 131, 129, 124, 125, 128, 133, 132, 126, 121, 121, 122, 116, 109, 103, 100,
+  96, 91, 88, 78, 77, 74, 79, 73, 72, 68, 71, 58, 70, 96, 86, 100,
+  103, 124, 129, 143, 135, 124, 113, 107, 120, 126, 112, 85, 76, 115, 255, 255,
+  255, 255, 255, 255, 215, 181, 117, 114, 104, 108, 108, 106, 117, 120, 128, 128,
+  128, 123, 122, 122, 123, 123, 124, 122, 124, 122, 113, 101, 105, 115, 126, 131,
+  136, 139, 133, 125, 113, 112, 111, 109, 106, 102, 99, 96, 95, 89, 84, 77,
+  116, 125, 133, 127, 133, 129, 134, 141, 138, 128, 129, 137, 133, 136, 141, 140,
+  137, 134, 128, 123, 128, 127, 129, 134, 133, 128, 125, 126, 121, 116, 109, 102,
+  96, 92, 88, 87, 82, 75, 72, 72, 75, 69, 67, 65, 62, 78, 97, 88,
+  105, 111, 137, 134, 141, 137, 128, 110, 100, 115, 121, 107, 82, 78, 121, 255,
+  255, 255, 255, 255, 255, 207, 172, 110, 111, 102, 105, 106, 106, 118, 122, 130,
+  131, 131, 126, 124, 124, 125, 123, 122, 123, 127, 125, 112, 94, 105, 117, 128,
+  130, 135, 139, 135, 125, 115, 116, 114, 110, 106, 106, 111, 116, 101, 93, 84,
+  73, 111, 124, 136, 131, 135, 134, 136, 137, 137, 134, 135, 137, 145, 141, 137,
+  133, 133, 133, 130, 126, 140, 133, 128, 126, 124, 122, 125, 130, 116, 113, 108,
+  101, 95, 89, 85, 85, 88, 78, 78, 70, 76, 63, 63, 57, 59, 79, 96,
+  99, 122, 125, 151, 140, 151, 143, 129, 110, 101, 116, 118, 99, 91, 90, 255,
+  255, 255, 255, 255, 255, 255, 193, 159, 101, 106, 100, 104, 106, 107, 118, 121,
+  130, 131, 131, 126, 124, 124, 124, 122, 119, 118, 122, 120, 108, 93, 93, 108,
+  122, 124, 127, 130, 124, 113, 101, 102, 99, 90, 83, 85, 99, 112, 104, 97,
+  88, 73, 108, 122, 133, 128, 134, 134, 134, 133, 137, 141, 142, 140, 148, 141,
+  137, 136, 136, 136, 132, 132, 130, 122, 114, 111, 109, 108, 113, 119, 108, 107,
+  105, 100, 94, 88, 85, 85, 86, 78, 84, 71, 78, 61, 67, 65, 60, 79,
+  93, 107, 137, 137, 164, 149, 164, 142, 119, 108, 110, 123, 116, 89, 94, 102,
+  255, 255, 255, 255, 255, 255, 255, 198, 162, 105, 110, 104, 105, 102, 103, 113,
+  119, 124, 127, 127, 124, 122, 122, 125, 126, 123, 120, 120, 117, 110, 99, 80,
+  99, 113, 117, 121, 122, 114, 101, 93, 90, 83, 64, 48, 47, 62, 77, 106,
+  101, 92, 75, 107, 118, 128, 121, 135, 139, 135, 131, 138, 151, 153, 147, 140,
+  141, 141, 144, 143, 138, 135, 134, 132, 127, 124, 125, 124, 122, 124, 128, 102,
+  102, 104, 101, 96, 91, 88, 88, 76, 73, 83, 68, 75, 57, 69, 71, 67,
+  81, 91, 111, 145, 145, 174, 159, 163, 131, 104, 100, 115, 132, 119, 85, 93,
+  109, 255, 255, 255, 255, 255, 255, 255, 255, 153, 103, 118, 99, 102, 103, 101,
+  108, 110, 113, 118, 123, 127, 127, 125, 125, 122, 119, 118, 119, 117, 111, 106,
+  104, 94, 97, 103, 101, 103, 109, 107, 77, 90, 96, 75, 44, 30, 46, 67,
+  100, 101, 82, 80, 107, 122, 120, 124, 135, 136, 137, 139, 141, 141, 139, 136,
+  138, 141, 146, 144, 138, 134, 133, 133, 120, 118, 116, 116, 117, 116, 113, 109,
+  107, 106, 104, 98, 92, 88, 87, 88, 80, 73, 72, 76, 73, 66, 67, 77,
+  65, 93, 90, 111, 121, 134, 105, 105, 109, 91, 116, 126, 113, 114, 105, 99,
+  116, 255, 255, 255, 255, 255, 255, 255, 255, 255, 150, 102, 113, 99, 101, 99,
+  96, 104, 105, 109, 114, 120, 124, 126, 123, 124, 124, 123, 122, 117, 113, 108,
+  107, 93, 72, 66, 75, 81, 88, 86, 74, 85, 96, 104, 100, 88, 86, 98,
+  110, 101, 96, 89, 95, 113, 123, 121, 123, 139, 137, 136, 137, 140, 141, 141,
+  140, 138, 138, 141, 142, 140, 136, 130, 125, 118, 115, 114, 115, 117, 116, 114,
+  110, 110, 108, 103, 96, 89, 83, 80, 81, 80, 72, 68, 72, 71, 64, 63,
+  70, 63, 89, 86, 97, 102, 118, 113, 127, 111, 102, 130, 134, 120, 119, 112,
+  109, 132, 255, 255, 255, 255, 255, 255, 255, 255, 255, 154, 103, 107, 101, 100,
+  99, 91, 105, 107, 112, 117, 122, 126, 128, 126, 123, 125, 124, 119, 112, 107,
+  105, 106, 92, 71, 65, 74, 80, 89, 89, 79, 96, 99, 103, 110, 113, 115,
+  116, 114, 93, 82, 91, 111, 119, 125, 130, 127, 139, 138, 137, 136, 136, 138,
+  140, 141, 143, 142, 141, 143, 144, 139, 129, 121, 116, 113, 111, 112, 117, 117,
+  114, 111, 109, 106, 101, 95, 88, 82, 77, 76, 77, 69, 65, 69, 70, 65,
+  64, 68, 78, 83, 71, 85, 106, 130, 128, 132, 111, 109, 130, 127, 116, 121,
+  118, 121, 122, 255, 255, 255, 255, 255, 255, 255, 255, 255, 163, 107, 99, 104,
+  99, 99, 92, 105, 108, 113, 119, 124, 125, 129, 130, 127, 123, 117, 110, 106,
+  103, 102, 101, 95, 88, 93, 99, 97, 100, 108, 110, 104, 102, 101, 108, 113,
+  115, 107, 98, 100, 83, 99, 122, 120, 118, 128, 123, 133, 133, 134, 134, 134,
+  134, 135, 136, 143, 142, 141, 141, 140, 134, 127, 121, 116, 113, 110, 110, 114,
+  114, 111, 108, 106, 103, 98, 93, 89, 84, 79, 77, 76, 68, 64, 69, 72,
+  71, 69, 67, 93, 91, 89, 105, 129, 145, 137, 128, 114, 108, 117, 108, 112,
+  128, 125, 126, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 172, 114, 89,
+  102, 96, 101, 94, 102, 105, 111, 114, 118, 120, 124, 124, 131, 120, 108, 104,
+  104, 106, 103, 101, 95, 92, 100, 109, 104, 105, 111, 110, 107, 107, 106, 110,
+  114, 116, 112, 106, 118, 98, 109, 125, 117, 111, 118, 114, 125, 130, 135, 138,
+  137, 135, 135, 136, 140, 141, 140, 136, 129, 124, 123, 123, 117, 113, 111, 110,
+  111, 110, 109, 105, 105, 100, 95, 90, 86, 82, 78, 76, 76, 70, 66, 69,
+  71, 70, 65, 62, 98, 107, 129, 136, 137, 131, 135, 135, 124, 111, 110, 104,
+  119, 132, 120, 119, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 177, 120,
+  84, 101, 90, 97, 92, 103, 106, 112, 116, 118, 118, 121, 124, 128, 116, 105,
+  102, 107, 110, 107, 102, 107, 93, 96, 107, 111, 112, 109, 96, 108, 110, 110,
+  111, 110, 109, 111, 113, 119, 106, 110, 118, 118, 116, 122, 121, 123, 128, 136,
+  140, 139, 137, 137, 137, 141, 143, 142, 136, 129, 124, 125, 128, 117, 113, 110,
+  108, 108, 107, 106, 102, 105, 98, 91, 84, 80, 75, 72, 69, 76, 73, 69,
+  68, 67, 65, 59, 56, 120, 116, 134, 138, 139, 129, 136, 129, 131, 118, 112,
+  105, 120, 125, 107, 114, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 184,
+  129, 85, 105, 90, 95, 92, 107, 110, 116, 118, 117, 118, 122, 125, 113, 106,
+  101, 102, 108, 111, 106, 101, 115, 102, 102, 113, 117, 117, 113, 102, 109, 113,
+  115, 110, 104, 100, 103, 106, 106, 107, 103, 105, 119, 123, 124, 127, 120, 127,
+  135, 138, 138, 138, 140, 143, 140, 140, 139, 135, 131, 127, 123, 122, 117, 113,
+  108, 106, 109, 109, 106, 103, 105, 97, 86, 79, 79, 76, 72, 70, 72, 73,
+  72, 70, 67, 65, 61, 59, 139, 113, 120, 124, 138, 133, 140, 121, 133, 122,
+  113, 105, 115, 115, 112, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  188, 138, 92, 112, 91, 96, 94, 103, 107, 115, 116, 114, 112, 116, 120, 97,
+  99, 100, 103, 107, 105, 102, 98, 109, 104, 113, 118, 111, 109, 116, 117, 111,
+  115, 119, 117, 109, 106, 109, 112, 105, 113, 102, 97, 116, 119, 113, 115, 118,
+  123, 131, 133, 133, 134, 139, 144, 132, 129, 127, 127, 127, 124, 115, 109, 115,
+  110, 106, 104, 108, 109, 107, 104, 103, 94, 84, 78, 80, 80, 77, 76, 67,
+  71, 73, 72, 70, 70, 69, 68, 133, 109, 127, 127, 133, 124, 141, 132, 139,
+  129, 119, 104, 109, 114, 134, 198, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 194, 155, 95, 88, 102, 89, 93, 108, 105, 111, 118, 117, 111, 106, 107,
+  107, 114, 113, 106, 103, 104, 107, 107, 113, 105, 104, 113, 124, 124, 118, 113,
+  126, 131, 119, 126, 113, 124, 111, 109, 110, 102, 100, 104, 110, 112, 119, 123,
+  111, 120, 131, 130, 130, 134, 137, 138, 136, 131, 128, 129, 123, 116, 115, 120,
+  116, 109, 100, 101, 108, 111, 106, 97, 95, 91, 84, 75, 77, 82, 79, 70,
+  71, 69, 73, 77, 70, 62, 70, 86, 135, 141, 134, 124, 127, 128, 129, 137,
+  151, 114, 128, 121, 102, 107, 174, 216, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 197, 166, 105, 91, 100, 92, 98, 107, 105, 109, 113, 110, 102, 97,
+  101, 101, 104, 103, 99, 101, 106, 111, 111, 113, 108, 110, 117, 122, 121, 121,
+  119, 126, 131, 129, 134, 129, 133, 119, 112, 117, 110, 105, 105, 109, 108, 113,
+  116, 110, 117, 124, 126, 128, 131, 135, 134, 131, 128, 126, 128, 122, 115, 111,
+  113, 116, 110, 104, 104, 108, 106, 99, 91, 96, 91, 83, 74, 76, 79, 75,
+  68, 76, 71, 70, 70, 64, 61, 74, 93, 129, 136, 133, 135, 146, 144, 129,
+  125, 135, 119, 109, 77, 81, 164, 187, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 200, 177, 114, 90, 94, 89, 97, 104, 108, 113, 114, 108, 99,
+  99, 104, 100, 101, 98, 95, 100, 107, 110, 109, 108, 107, 112, 117, 118, 116,
+  118, 122, 111, 115, 122, 119, 126, 121, 118, 108, 120, 114, 110, 110, 113, 111,
+  114, 115, 106, 111, 116, 117, 124, 131, 136, 136, 132, 130, 130, 132, 127, 119,
+  114, 113, 110, 108, 106, 106, 107, 104, 96, 90, 97, 91, 83, 76, 76, 77,
+  73, 66, 75, 70, 70, 68, 61, 57, 69, 87, 111, 133, 146, 145, 147, 141,
+  136, 144, 135, 108, 75, 15, 81, 191, 196, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 198, 180, 122, 91, 92, 88, 92, 99, 105, 111, 111, 105,
+  101, 105, 109, 108, 106, 102, 99, 104, 109, 108, 103, 109, 109, 113, 119, 122,
+  116, 115, 117, 120, 119, 130, 118, 132, 122, 129, 119, 114, 111, 112, 117, 120,
+  118, 118, 117, 104, 107, 110, 113, 123, 134, 140, 139, 133, 132, 130, 130, 126,
+  120, 115, 112, 104, 104, 105, 105, 104, 102, 98, 96, 95, 88, 82, 77, 78,
+  78, 74, 69, 72, 71, 73, 71, 62, 54, 58, 68, 74, 105, 125, 128, 124,
+  118, 113, 122, 107, 56, 37, 6, 144, 182, 198, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 199, 184, 130, 95, 93, 88, 86, 94, 101, 107, 105,
+  101, 99, 103, 107, 108, 108, 105, 103, 106, 111, 110, 105, 119, 116, 119, 128,
+  133, 127, 121, 117, 128, 130, 142, 128, 140, 127, 131, 120, 115, 114, 117, 123,
+  124, 118, 114, 110, 108, 106, 107, 106, 115, 126, 134, 133, 131, 129, 123, 120,
+  116, 115, 109, 106, 105, 106, 104, 102, 100, 98, 100, 100, 92, 84, 80, 79,
+  83, 83, 79, 74, 72, 70, 71, 69, 60, 54, 56, 63, 51, 62, 66, 75,
+  90, 83, 56, 40, 36, 5, 6, 61, 208, 182, 219, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 200, 191, 143, 99, 97, 90, 88, 99, 104, 107,
+  103, 100, 100, 105, 106, 102, 103, 100, 97, 101, 108, 112, 111, 123, 119, 121,
+  130, 135, 132, 127, 125, 125, 133, 143, 136, 138, 127, 121, 111, 120, 118, 119,
+  122, 122, 112, 104, 99, 111, 110, 107, 103, 106, 115, 122, 122, 131, 128, 120,
+  115, 113, 113, 107, 103, 108, 107, 103, 99, 96, 94, 95, 94, 90, 81, 78,
+  80, 85, 84, 81, 77, 73, 70, 67, 60, 56, 58, 65, 73, 63, 59, 41,
+  28, 34, 33, 20, 12, 6, 7, 9, 119, 204, 188, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 199, 198, 152, 99, 92, 91, 89, 100, 104,
+  105, 101, 102, 107, 111, 107, 103, 100, 92, 82, 81, 88, 99, 103, 103, 101,
+  103, 109, 112, 113, 116, 122, 120, 131, 134, 137, 128, 132, 126, 124, 124, 120,
+  118, 120, 119, 114, 110, 109, 114, 112, 108, 101, 100, 108, 117, 121, 128, 127,
+  120, 115, 113, 114, 106, 98, 104, 102, 98, 96, 97, 95, 91, 87, 91, 82,
+  76, 80, 85, 82, 78, 76, 69, 65, 62, 56, 53, 57, 66, 71, 76, 69,
+  40, 13, 8, 10, 17, 26, 19, 18, 49, 158, 190, 186, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 196, 201, 155, 95, 86, 89, 90, 91,
+  95, 96, 93, 98, 107, 110, 107, 108, 103, 88, 70, 63, 68, 81, 90, 81,
+  81, 83, 86, 87, 90, 101, 115, 99, 108, 100, 108, 96, 117, 119, 129, 121,
+  116, 114, 118, 121, 122, 125, 127, 112, 113, 111, 102, 101, 111, 123, 129, 122,
+  121, 119, 114, 114, 112, 103, 91, 96, 94, 93, 95, 96, 96, 90, 85, 89,
+  81, 75, 79, 82, 79, 75, 75, 64, 67, 66, 60, 55, 54, 55, 57, 63,
+  54, 27, 14, 22, 26, 16, 11, 20, 1, 92, 185, 211, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 183, 182, 91, 82, 85, 83,
+  97, 93, 94, 101, 104, 104, 107, 112, 88, 83, 75, 64, 58, 60, 59, 57,
+  56, 63, 69, 75, 78, 81, 82, 85, 81, 85, 86, 89, 94, 101, 112, 118,
+  128, 122, 119, 120, 117, 114, 118, 126, 115, 107, 107, 112, 115, 113, 113, 114,
+  131, 125, 119, 124, 129, 113, 102, 110, 99, 92, 91, 96, 99, 93, 84, 78,
+  88, 73, 65, 76, 87, 84, 74, 71, 76, 76, 66, 57, 54, 57, 58, 58,
+  74, 38, 17, 20, 19, 16, 14, 11, 25, 28, 145, 188, 215, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 186, 102, 90, 93,
+  92, 98, 94, 97, 101, 102, 100, 102, 107, 97, 95, 91, 82, 78, 79, 77,
+  73, 75, 72, 68, 63, 60, 63, 69, 75, 77, 75, 74, 73, 74, 77, 82,
+  84, 104, 101, 104, 111, 116, 117, 121, 127, 119, 115, 116, 121, 121, 117, 117,
+  120, 132, 127, 120, 122, 124, 109, 97, 101, 98, 95, 96, 100, 98, 90, 85,
+  84, 85, 74, 70, 75, 81, 79, 71, 67, 80, 77, 63, 50, 47, 53, 60,
+  62, 69, 35, 18, 18, 17, 12, 13, 9, 14, 48, 157, 188, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 186, 185, 110, 92,
+  90, 90, 98, 94, 96, 100, 102, 100, 101, 100, 97, 100, 101, 98, 92, 91,
+  87, 81, 83, 83, 82, 77, 71, 67, 62, 62, 63, 60, 58, 59, 62, 64,
+  63, 61, 60, 63, 73, 90, 102, 106, 105, 102, 107, 105, 109, 112, 110, 106,
+  107, 111, 127, 125, 117, 115, 117, 102, 91, 95, 95, 95, 98, 100, 96, 88,
+  84, 86, 77, 76, 73, 72, 77, 79, 72, 66, 73, 72, 60, 51, 49, 55,
+  60, 60, 58, 28, 15, 16, 15, 11, 12, 9, 35, 111, 198, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 189, 185, 120,
+  89, 82, 81, 97, 94, 96, 97, 99, 99, 99, 96, 91, 96, 104, 102, 97,
+  95, 88, 82, 92, 96, 99, 97, 92, 84, 77, 73, 68, 64, 62, 64, 68,
+  70, 66, 59, 66, 53, 43, 44, 58, 76, 92, 101, 105, 108, 114, 118, 114,
+  109, 111, 118, 120, 119, 113, 111, 116, 103, 95, 99, 94, 91, 93, 95, 93,
+  85, 80, 81, 65, 72, 74, 69, 72, 77, 74, 70, 63, 66, 63, 60, 60,
+  62, 57, 52, 45, 19, 11, 14, 14, 12, 15, 11, 8, 128, 196, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 191,
+  139, 99, 84, 78, 92, 91, 92, 95, 97, 99, 100, 92, 89, 97, 107, 108,
+  104, 101, 93, 88, 106, 103, 100, 95, 89, 89, 93, 96, 93, 88, 83, 82,
+  82, 80, 73, 65, 72, 65, 62, 64, 71, 80, 83, 82, 99, 102, 109, 113,
+  112, 107, 111, 118, 112, 114, 110, 106, 111, 102, 95, 102, 97, 91, 88, 91,
+  93, 87, 79, 76, 64, 74, 77, 71, 71, 75, 72, 67, 62, 63, 61, 58,
+  61, 62, 55, 48, 31, 14, 10, 15, 14, 14, 18, 14, 10, 153, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  191, 156, 109, 88, 81, 90, 91, 92, 92, 97, 101, 98, 89, 88, 97, 109,
+  110, 108, 103, 97, 91, 99, 102, 104, 102, 97, 95, 95, 96, 102, 99, 96,
+  96, 94, 90, 86, 80, 76, 82, 90, 94, 98, 94, 83, 72, 92, 95, 99,
+  103, 103, 103, 107, 112, 108, 112, 107, 102, 104, 97, 92, 97, 101, 92, 87,
+  89, 93, 86, 77, 72, 71, 76, 78, 76, 71, 67, 62, 60, 64, 61, 55,
+  50, 54, 59, 56, 53, 24, 10, 11, 16, 14, 15, 19, 15, 50, 192, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 174, 122, 96, 83, 90, 91, 91, 92, 96, 101, 96, 85, 84, 95,
+  105, 107, 104, 101, 98, 93, 89, 95, 104, 107, 105, 100, 94, 91, 101, 101,
+  100, 99, 96, 93, 93, 90, 95, 91, 82, 73, 76, 89, 99, 104, 105, 104,
+  105, 107, 110, 111, 116, 119, 104, 112, 107, 99, 99, 94, 89, 95, 98, 94,
+  90, 90, 89, 81, 74, 71, 80, 78, 78, 80, 74, 64, 57, 57, 60, 57,
+  51, 47, 54, 62, 61, 56, 22, 14, 17, 21, 15, 15, 18, 11, 58, 189,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 233, 134, 104, 90, 93, 93, 93, 91, 95, 99, 93, 80, 84,
+  95, 106, 106, 104, 102, 97, 95, 89, 92, 92, 93, 93, 94, 98, 101, 108,
+  107, 105, 98, 90, 86, 83, 82, 66, 75, 84, 88, 91, 98, 97, 95, 105,
+  102, 98, 102, 106, 107, 109, 113, 103, 111, 106, 99, 100, 95, 91, 98, 95,
+  93, 91, 91, 83, 72, 68, 72, 81, 75, 76, 81, 77, 64, 56, 59, 54,
+  54, 52, 54, 64, 69, 64, 56, 24, 19, 20, 23, 17, 14, 16, 9, 92,
+  210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 177, 138, 99, 73, 90, 75, 105, 87, 79, 90, 94,
+  77, 89, 97, 104, 109, 97, 92, 104, 81, 86, 86, 86, 90, 93, 86, 76,
+  84, 86, 85, 81, 76, 78, 84, 91, 75, 80, 85, 92, 98, 101, 100, 96,
+  93, 102, 94, 111, 101, 117, 108, 114, 111, 105, 98, 97, 100, 101, 98, 95,
+  95, 102, 86, 85, 86, 83, 81, 61, 56, 67, 77, 74, 67, 62, 59, 56,
+  47, 48, 48, 55, 65, 68, 58, 48, 19, 22, 20, 22, 29, 21, 14, 22,
+  99, 188, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 148, 113, 86, 77, 87, 88, 92, 84, 81,
+  87, 88, 87, 87, 96, 110, 106, 95, 97, 93, 95, 93, 87, 86, 87, 82,
+  75, 74, 76, 78, 79, 80, 80, 81, 82, 92, 97, 103, 103, 104, 104, 104,
+  99, 94, 102, 96, 108, 99, 111, 104, 107, 110, 105, 100, 97, 96, 95, 91,
+  89, 93, 97, 84, 81, 76, 69, 77, 67, 72, 76, 77, 71, 65, 61, 56,
+  49, 52, 51, 51, 56, 61, 63, 53, 40, 19, 22, 15, 10, 13, 11, 11,
+  21, 94, 197, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 162, 134, 97, 64, 90, 74, 96, 90,
+  75, 78, 90, 89, 87, 92, 107, 105, 96, 98, 101, 101, 98, 90, 85, 84,
+  83, 81, 88, 82, 80, 82, 89, 94, 98, 100, 110, 115, 118, 112, 108, 105,
+  104, 100, 99, 105, 101, 107, 100, 107, 102, 102, 104, 101, 98, 95, 92, 89,
+  87, 86, 88, 92, 80, 78, 67, 56, 72, 75, 78, 76, 71, 63, 59, 57,
+  51, 43, 59, 57, 57, 58, 62, 60, 48, 37, 18, 28, 25, 17, 19, 16,
+  8, 9, 79, 198, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 151, 96, 69, 79, 72, 90,
+  87, 76, 78, 80, 92, 97, 99, 101, 98, 97, 108, 104, 103, 99, 90, 86,
+  84, 92, 93, 93, 94, 97, 102, 106, 112, 115, 116, 117, 122, 124, 116, 104,
+  100, 99, 99, 103, 104, 103, 106, 104, 104, 101, 102, 97, 96, 96, 92, 91,
+  86, 86, 88, 87, 86, 73, 76, 66, 51, 68, 76, 69, 68, 65, 57, 53,
+  53, 52, 46, 61, 61, 60, 62, 64, 60, 48, 36, 6, 18, 17, 14, 21,
+  19, 8, 3, 67, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 168, 95, 87, 62, 82,
+  80, 80, 84, 80, 78, 92, 99, 99, 103, 101, 99, 109, 103, 102, 99, 92,
+  88, 87, 96, 101, 81, 92, 108, 119, 121, 118, 115, 114, 116, 120, 120, 110,
+  100, 97, 97, 96, 100, 100, 102, 101, 104, 100, 102, 100, 96, 94, 94, 90,
+  88, 84, 84, 85, 85, 82, 70, 76, 71, 58, 70, 72, 63, 68, 69, 62,
+  55, 55, 57, 56, 58, 58, 61, 61, 63, 60, 47, 37, 19, 25, 17, 13,
+  24, 27, 21, 21, 85, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 107, 105, 61,
+  84, 71, 72, 84, 83, 85, 90, 88, 92, 109, 112, 103, 101, 106, 100, 96,
+  93, 90, 89, 96, 100, 93, 98, 107, 110, 109, 111, 117, 123, 111, 114, 112,
+  103, 98, 95, 98, 95, 96, 92, 98, 92, 100, 93, 98, 94, 98, 96, 92,
+  86, 83, 81, 80, 80, 82, 80, 66, 71, 71, 62, 71, 66, 58, 64, 67,
+  59, 52, 53, 58, 59, 54, 54, 58, 60, 61, 56, 44, 34, 26, 31, 27,
+  26, 31, 23, 15, 20, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 134, 110,
+  78, 74, 69, 69, 76, 79, 83, 88, 84, 85, 103, 110, 104, 100, 103, 97,
+  93, 94, 94, 92, 96, 98, 106, 105, 104, 103, 104, 110, 121, 129, 110, 111,
+  106, 98, 97, 97, 99, 95, 96, 90, 99, 89, 100, 87, 94, 89, 99, 92,
+  84, 80, 80, 80, 79, 77, 75, 80, 64, 64, 63, 61, 71, 62, 60, 62,
+  58, 51, 50, 56, 64, 63, 60, 60, 64, 63, 62, 55, 43, 33, 21, 24,
+  22, 23, 22, 15, 24, 52, 168, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  110, 99, 61, 70, 69, 64, 74, 72, 89, 90, 85, 92, 98, 102, 112, 101,
+  92, 89, 94, 97, 95, 96, 98, 95, 100, 108, 116, 120, 118, 113, 107, 108,
+  107, 102, 95, 94, 97, 98, 95, 99, 94, 103, 88, 101, 87, 93, 87, 94,
+  85, 77, 74, 77, 80, 80, 78, 68, 77, 62, 55, 55, 56, 71, 61, 65,
+  62, 54, 48, 52, 64, 72, 70, 68, 68, 71, 68, 67, 57, 44, 32, 44,
+  36, 24, 19, 23, 39, 91, 155, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 125, 113, 89, 72, 79, 66, 67, 70, 85, 82, 79, 91, 90, 88, 106,
+  107, 102, 100, 102, 103, 98, 96, 98, 99, 100, 102, 106, 108, 104, 96, 90,
+  94, 99, 90, 95, 95, 89, 98, 94, 94, 89, 88, 91, 87, 83, 82, 89,
+  77, 77, 68, 66, 79, 82, 77, 77, 64, 67, 53, 59, 48, 67, 60, 61,
+  63, 57, 51, 56, 60, 63, 65, 67, 67, 62, 63, 66, 69, 62, 46, 32,
+  36, 23, 12, 12, 27, 35, 130, 200, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 115, 92, 74, 65, 66, 57, 60, 74, 78, 80, 92, 91, 90,
+  104, 106, 101, 100, 101, 101, 98, 98, 101, 102, 102, 102, 106, 109, 109, 106,
+  103, 97, 103, 93, 97, 96, 90, 98, 92, 93, 91, 87, 89, 86, 82, 82,
+  87, 88, 86, 76, 71, 81, 80, 69, 70, 66, 66, 56, 55, 53, 65, 65,
+  62, 66, 60, 57, 61, 64, 65, 68, 71, 74, 75, 76, 73, 71, 67, 54,
+  42, 20, 27, 10, 14, 23, 91, 157, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 129, 103, 85, 61, 71, 59, 61, 75, 80, 84, 90, 86,
+  82, 88, 101, 98, 98, 101, 103, 101, 103, 107, 109, 107, 105, 106, 108, 111,
+  111, 111, 100, 105, 95, 100, 98, 91, 98, 92, 93, 88, 86, 86, 83, 81,
+  82, 84, 77, 79, 73, 75, 84, 84, 77, 77, 67, 62, 60, 49, 56, 57,
+  62, 58, 66, 63, 62, 67, 71, 70, 72, 73, 75, 84, 85, 74, 67, 66,
+  57, 46, 10, 31, 8, 13, 23, 155, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 219, 108, 92, 72, 71, 68, 63, 72, 80, 84, 87,
+  84, 81, 82, 95, 94, 99, 103, 106, 104, 105, 109, 115, 113, 109, 107, 106,
+  106, 106, 106, 98, 104, 95, 100, 99, 91, 98, 92, 91, 87, 83, 82, 80,
+  80, 81, 83, 65, 70, 68, 74, 87, 86, 79, 81, 70, 59, 61, 44, 58,
+  51, 62, 55, 63, 61, 63, 69, 72, 71, 72, 73, 71, 81, 82, 69, 63,
+  64, 55, 39, 12, 20, 6, 22, 46, 185, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 116, 97, 84, 58, 68, 58, 62, 73, 82,
+  86, 90, 93, 91, 91, 93, 102, 109, 109, 105, 105, 108, 113, 112, 111, 108,
+  105, 102, 100, 100, 96, 103, 95, 101, 100, 92, 99, 92, 87, 84, 79, 77,
+  77, 80, 81, 80, 72, 78, 76, 77, 86, 82, 73, 73, 75, 64, 66, 50,
+  63, 54, 64, 59, 62, 63, 68, 74, 76, 74, 73, 74, 68, 76, 76, 67,
+  65, 67, 56, 41, 21, 8, 22, 59, 103, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 217, 112, 98, 60, 69, 64, 61, 72,
+  82, 82, 88, 94, 88, 87, 91, 101, 108, 107, 102, 102, 106, 103, 105, 106,
+  105, 102, 99, 98, 98, 95, 102, 94, 100, 99, 90, 97, 89, 84, 81, 76,
+  72, 74, 80, 82, 79, 80, 86, 83, 82, 88, 80, 71, 73, 76, 66, 60,
+  53, 59, 55, 60, 61, 68, 68, 73, 79, 80, 77, 76, 78, 73, 73, 72,
+  72, 74, 75, 67, 60, 35, 23, 60, 119, 164, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 136, 103, 78, 67, 70, 64,
+  76, 86, 79, 84, 91, 80, 87, 89, 97, 101, 101, 97, 100, 106, 99, 102,
+  103, 103, 100, 98, 99, 100, 98, 105, 96, 101, 98, 88, 93, 85, 80, 78,
+  73, 69, 72, 81, 83, 79, 82, 88, 86, 84, 89, 80, 72, 76, 75, 68,
+  55, 57, 53, 58, 55, 60, 72, 72, 76, 82, 81, 77, 79, 82, 75, 71,
+  70, 75, 76, 75, 77, 84, 65, 76, 110, 168, 191, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 220, 101, 96, 65, 66,
+  57, 73, 86, 80, 86, 94, 80, 88, 89, 93, 95, 94, 92, 97, 105, 102,
+  103, 104, 101, 98, 96, 99, 102, 102, 108, 99, 102, 98, 87, 90, 81, 78,
+  76, 71, 67, 71, 81, 84, 79, 86, 92, 87, 83, 85, 76, 65, 69, 79,
+  74, 54, 65, 53, 63, 57, 65, 72, 72, 77, 81, 79, 75, 77, 82, 72,
+  66, 67, 74, 73, 70, 80, 98, 95, 127, 143, 192, 212, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 121, 95, 95,
+  60, 68, 74, 81, 90, 84, 82, 92, 81, 78, 87, 94, 93, 99, 107, 103,
+  107, 110, 105, 96, 97, 106, 106, 99, 102, 101, 97, 92, 95, 99, 95, 84,
+  77, 75, 69, 63, 72, 85, 88, 82, 93, 86, 79, 79, 81, 77, 64, 53,
+  65, 64, 60, 60, 58, 59, 65, 75, 86, 82, 78, 79, 82, 83, 79, 75,
+  74, 63, 73, 72, 65, 67, 81, 121, 163, 181, 189, 189, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 216, 107,
+  94, 79, 68, 64, 76, 89, 83, 83, 95, 82, 78, 86, 91, 88, 93, 100,
+  97, 104, 105, 103, 99, 99, 103, 104, 101, 105, 106, 101, 94, 91, 91, 85,
+  77, 75, 71, 67, 66, 74, 83, 86, 83, 78, 81, 82, 78, 69, 61, 58,
+  58, 52, 53, 53, 56, 58, 60, 70, 80, 83, 81, 81, 84, 88, 89, 85,
+  81, 79, 63, 71, 73, 70, 74, 83, 116, 177, 191, 192, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  132, 106, 96, 71, 61, 77, 90, 85, 84, 91, 92, 86, 90, 92, 90, 95,
+  101, 97, 102, 100, 101, 104, 103, 100, 102, 106, 107, 109, 106, 98, 90, 85,
+  80, 73, 72, 65, 64, 70, 78, 80, 81, 82, 75, 78, 80, 75, 66, 57,
+  55, 55, 55, 55, 58, 63, 62, 65, 73, 81, 77, 78, 82, 86, 85, 84,
+  80, 78, 76, 62, 68, 70, 71, 76, 79, 103, 188, 198, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 129, 101, 76, 67, 77, 85, 87, 87, 83, 94, 87, 91, 92, 89,
+  94, 100, 96, 97, 93, 97, 105, 104, 97, 98, 106, 102, 105, 106, 100, 90,
+  83, 80, 78, 68, 60, 62, 73, 80, 76, 75, 80, 80, 74, 68, 66, 69,
+  64, 54, 45, 57, 58, 65, 69, 71, 71, 77, 82, 81, 82, 85, 85, 83,
+  79, 76, 75, 74, 65, 72, 72, 72, 78, 78, 96, 186, 214, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 222, 112, 89, 77, 72, 71, 83, 94, 84, 87, 81, 87, 89,
+  85, 89, 95, 91, 93, 89, 93, 102, 102, 96, 96, 103, 100, 103, 104, 100,
+  90, 82, 82, 83, 65, 58, 62, 73, 78, 72, 70, 74, 73, 66, 61, 59,
+  60, 58, 52, 45, 48, 51, 63, 72, 78, 77, 83, 88, 88, 88, 88, 85,
+  82, 79, 81, 82, 74, 71, 81, 75, 73, 80, 80, 95, 180, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 141, 104, 85, 71, 58, 72, 93, 88, 84, 79, 86,
+  90, 85, 88, 93, 88, 91, 88, 89, 95, 99, 97, 96, 97, 101, 100, 100,
+  96, 87, 78, 78, 81, 63, 61, 65, 71, 73, 69, 65, 66, 53, 56, 59,
+  53, 46, 44, 51, 58, 61, 65, 75, 86, 87, 84, 84, 88, 87, 85, 82,
+  80, 81, 81, 83, 83, 71, 70, 82, 71, 70, 78, 77, 88, 205, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 226, 114, 92, 88, 66, 63, 82, 84, 84, 80,
+  88, 92, 87, 88, 92, 86, 90, 89, 87, 88, 94, 100, 97, 90, 98, 94,
+  91, 88, 81, 73, 73, 77, 61, 64, 69, 67, 68, 66, 65, 60, 49, 54,
+  56, 52, 47, 51, 66, 75, 81, 83, 93, 100, 96, 90, 84, 85, 86, 81,
+  77, 78, 81, 81, 79, 76, 75, 71, 79, 68, 70, 83, 78, 81, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 116, 95, 108, 83, 60, 67, 72, 78,
+  76, 83, 89, 83, 83, 85, 78, 90, 90, 86, 83, 92, 103, 99, 86, 93,
+  87, 81, 81, 76, 68, 69, 76, 63, 72, 74, 69, 66, 67, 63, 55, 58,
+  52, 47, 48, 57, 69, 78, 81, 75, 81, 91, 101, 100, 92, 88, 89, 93,
+  87, 82, 84, 85, 84, 76, 69, 87, 80, 83, 72, 80, 95, 86, 83, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 234, 149, 104, 97, 90, 71, 31,
+  62, 69, 78, 83, 83, 82, 87, 91, 85, 81, 82, 83, 83, 81, 80, 83,
+  86, 83, 77, 73, 69, 68, 68, 71, 67, 72, 75, 70, 63, 52, 41, 37,
+  50, 61, 65, 64, 71, 76, 83, 96, 84, 90, 96, 94, 91, 90, 93, 96,
+  92, 102, 101, 86, 80, 85, 82, 69, 79, 83, 85, 82, 81, 81, 86, 92,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 156, 128, 105, 99, 85,
+  58, 67, 70, 75, 77, 81, 79, 78, 75, 82, 81, 86, 92, 91, 85, 79,
+  80, 79, 77, 76, 71, 66, 57, 49, 46, 64, 60, 50, 40, 37, 43, 53,
+  60, 57, 70, 76, 77, 82, 78, 79, 89, 87, 89, 93, 97, 98, 100, 100,
+  101, 89, 96, 93, 85, 81, 85, 82, 73, 73, 75, 81, 82, 84, 84, 86,
+  88, 173, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 156, 105, 97,
+  86, 76, 56, 53, 51, 56, 68, 75, 80, 79, 88, 78, 69, 65, 66, 69,
+  80, 89, 68, 70, 72, 72, 71, 66, 60, 59, 51, 53, 52, 51, 55, 63,
+  72, 78, 71, 84, 87, 86, 91, 86, 85, 93, 98, 98, 100, 104, 108, 110,
+  105, 103, 97, 94, 88, 87, 86, 84, 76, 72, 74, 74, 80, 82, 84, 85,
+  82, 82, 115, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 105,
+  94, 88, 90, 89, 75, 59, 48, 45, 45, 48, 48, 48, 48, 52, 58, 59,
+  56, 54, 55, 71, 67, 59, 52, 44, 39, 38, 38, 62, 70, 81, 89, 93,
+  92, 89, 86, 87, 93, 90, 86, 92, 92, 94, 106, 108, 109, 111, 111, 112,
+  110, 105, 102, 102, 91, 84, 89, 91, 84, 77, 79, 82, 79, 79, 81, 84,
+  85, 81, 77, 96, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  102, 94, 103, 103, 112, 101, 85, 68, 54, 45, 40, 40, 46, 44, 45, 47,
+  47, 44, 45, 49, 43, 43, 44, 49, 58, 69, 80, 88, 94, 97, 100, 99,
+  98, 96, 95, 95, 93, 99, 96, 94, 101, 101, 104, 114, 108, 112, 115, 113,
+  108, 101, 101, 102, 100, 88, 84, 92, 95, 89, 85, 88, 87, 83, 81, 81,
+  85, 85, 84, 81, 78, 184, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 104, 94, 97, 97, 97, 95, 89, 84, 79, 79, 92, 80, 66,
+  57, 54, 59, 72, 86, 101, 103, 103, 104, 104, 104, 102, 102, 112, 112, 108,
+  105, 101, 97, 97, 96, 96, 105, 107, 108, 116, 113, 109, 115, 104, 111, 114,
+  111, 101, 97, 100, 104, 106, 96, 91, 94, 92, 86, 82, 84, 84, 82, 82,
+  83, 84, 87, 90, 90, 70, 119, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 105, 103, 104, 105, 107, 103, 93, 88, 94, 95,
+  96, 101, 99, 92, 87, 88, 104, 110, 115, 120, 125, 126, 126, 124, 111, 110,
+  110, 107, 105, 102, 102, 102, 107, 115, 116, 115, 122, 117, 111, 116, 114, 115,
+  113, 109, 104, 102, 103, 105, 107, 103, 97, 93, 89, 85, 83, 83, 80, 81,
+  85, 85, 86, 85, 89, 92, 73, 95, 173, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 106, 99, 94, 91,
+  94, 97, 101, 102, 98, 96, 97, 103, 107, 109, 114, 117, 121, 122, 119, 114,
+  106, 101, 93, 94, 101, 112, 121, 120, 122, 116, 110, 115, 113, 109, 116, 128,
+  125, 118, 113, 110, 108, 106, 104, 90, 93, 91, 89, 88, 92, 95, 96, 78,
+  83, 89, 89, 85, 82, 84, 86, 80, 85, 156, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 206, 105, 102, 99, 97, 94, 93, 97, 99, 103, 108, 109, 110, 107, 103,
+  99, 97, 108, 117, 120, 113, 113, 117, 121, 112, 110, 116, 121, 116, 112, 111,
+  121, 122, 117, 109, 107, 108, 107, 100, 100, 95, 90, 90, 94, 96, 94, 91,
+  83, 86, 86, 83, 83, 88, 91, 91, 75, 85, 101, 195, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 104, 107, 106,
+  104, 113, 109, 112, 114, 112, 106, 105, 109, 119, 115, 113, 121, 123, 121, 119,
+  120, 122, 123, 119, 112, 110, 110, 109, 102, 103, 99, 94, 93, 96, 96, 92,
+  88, 93, 94, 91, 84, 82, 83, 85, 84, 73, 64, 85, 158, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 204, 104, 108, 109, 108, 113, 120, 122, 120, 121, 125, 127, 125,
+  124, 126, 118, 118, 115, 110, 110, 110, 106, 100, 101, 98, 96, 96, 100, 100,
+  96, 90, 99, 99, 93, 85, 81, 84, 82, 81, 68, 60, 85, 128, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 211,
+  121, 120, 121, 115, 113, 111, 108, 108, 106, 101, 97, 95, 94, 94, 97, 102,
+  102, 100, 98, 98, 98, 95, 90, 87, 143, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255 };
+/* Define image 'heart' of size 100x100x1x3 and type 'const unsigned char' */
+const unsigned char data_heart[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 190, 158, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 106, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 68,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 66, 125, 125, 125, 125, 125, 125,
+  42, 0, 0, 0, 0, 0, 0, 3, 125, 190, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 251,
+  153, 60, 0, 0, 0, 3, 3, 121, 187, 187, 187, 187, 187, 219, 246, 246,
+  246, 246, 246, 247, 207, 188, 188, 188, 31, 3, 1, 0, 0, 30, 60, 247,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  232, 186, 179, 0, 0, 0, 0, 0, 46, 234, 244, 244, 239, 239, 239, 240,
+  241, 244, 244, 244, 244, 244, 244, 246, 246, 246, 246, 247, 247, 247, 146, 13,
+  0, 0, 0, 39, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 242, 81, 0, 0, 0, 0, 0, 28, 127, 206, 242, 239, 239,
+  239, 239, 243, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 245,
+  245, 247, 247, 153, 94, 0, 0, 0, 54, 213, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 252, 129, 51, 0, 0, 5, 7, 101, 191, 202, 239,
+  239, 239, 239, 239, 239, 243, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
+  244, 244, 244, 244, 244, 245, 246, 246, 232, 98, 1, 0, 0, 39, 234, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 244, 112, 0, 0, 0, 39, 211, 247,
+  245, 240, 239, 239, 239, 239, 239, 239, 239, 244, 244, 244, 244, 244, 244, 244,
+  244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 245, 246, 247, 115, 1,
+  0, 0, 29, 211, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 117, 100, 0, 0, 0,
+  43, 197, 246, 242, 240, 239, 239, 239, 239, 239, 239, 239, 239, 244, 244, 244,
+  244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
+  244, 245, 246, 106, 0, 0, 0, 101, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 249, 243, 243, 243, 243, 79, 53, 53, 53, 53, 53, 53, 53, 53, 53,
+  86, 243, 243, 243, 243, 243, 243, 243, 249, 255, 255, 255, 255, 252, 137, 0,
+  0, 0, 0, 26, 212, 246, 246, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 243, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
+  244, 244, 244, 244, 244, 244, 244, 235, 112, 3, 0, 21, 173, 253, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 181, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 180, 255, 255,
+  255, 204, 0, 0, 0, 0, 45, 221, 247, 242, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 240, 243, 244, 244, 244, 243, 242, 243, 244, 244, 244,
+  244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 246, 127, 5, 0,
+  0, 163, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 185, 114, 3, 0, 0, 0, 0, 0, 0, 44,
+  133, 134, 134, 134, 134, 134, 134, 40, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 114, 182, 255, 96, 0, 0, 19, 136, 204, 247, 245, 240, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 240, 241, 241, 241, 241, 239,
+  240, 241, 241, 242, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
+  244, 246, 18, 0, 0, 27, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 246, 235, 49, 24, 0, 0, 6, 14, 41,
+  192, 192, 193, 212, 243, 244, 244, 244, 244, 244, 244, 210, 196, 196, 196, 196,
+  197, 198, 45, 14, 6, 0, 0, 24, 49, 1, 0, 0, 187, 247, 247, 246,
+  240, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 242, 243, 244, 244, 244, 244, 244, 244,
+  244, 244, 244, 244, 244, 244, 172, 8, 0, 5, 114, 248, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 78, 0, 0, 0, 0,
+  72, 147, 239, 239, 239, 239, 243, 244, 244, 244, 244, 244, 244, 244, 244, 244,
+  244, 244, 244, 244, 244, 241, 239, 245, 155, 17, 0, 0, 0, 0, 0, 52,
+  231, 247, 247, 246, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 242, 244, 244,
+  244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 148, 0, 0, 0, 147,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 75, 0,
+  0, 0, 67, 135, 235, 239, 239, 239, 240, 243, 244, 244, 244, 244, 244, 244,
+  244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 242, 242, 242, 160, 0, 0,
+  0, 0, 0, 165, 247, 247, 247, 246, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 242, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 203,
+  51, 0, 0, 64, 228, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248,
+  121, 42, 0, 0, 0, 64, 217, 239, 239, 239, 239, 239, 240, 244, 244, 244,
+  244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 243,
+  241, 244, 155, 9, 0, 0, 0, 165, 247, 247, 247, 246, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 242, 244, 244, 244, 244, 244, 244, 244, 244,
+  244, 244, 244, 245, 218, 26, 0, 0, 193, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 244, 108, 0, 0, 0, 43, 82, 239, 239, 239, 239, 239, 239, 239,
+  240, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
+  244, 244, 244, 244, 244, 241, 242, 165, 22, 0, 0, 165, 247, 247, 247, 246,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 241, 243, 244, 244, 244,
+  244, 244, 244, 244, 244, 244, 244, 244, 244, 93, 0, 0, 13, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 108, 0, 0, 0, 43, 194, 239, 239, 239, 239,
+  239, 239, 239, 239, 240, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
+  244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 246, 67, 0, 0, 165,
+  247, 247, 247, 246, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  241, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244, 240, 219, 0, 0,
+  13, 255, 255, 255, 255, 255, 255, 255, 255, 240, 24, 0, 0, 29, 196, 223,
+  223, 223, 223, 223, 237, 239, 239, 239, 239, 242, 243, 244, 244, 243, 242, 239,
+  239, 239, 239, 239, 240, 243, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
+  212, 28, 22, 173, 247, 247, 247, 246, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 241, 242, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 243, 244, 244, 244, 244, 244, 244, 244, 244, 244, 244,
+  240, 241, 135, 0, 2, 103, 255, 255, 255, 255, 255, 255, 218, 57, 0, 0,
+  45, 197, 221, 221, 221, 221, 221, 221, 223, 232, 232, 232, 232, 236, 241, 242,
+  242, 242, 239, 239, 239, 239, 239, 239, 239, 240, 243, 244, 244, 244, 244, 244,
+  244, 244, 244, 244, 240, 244, 247, 247, 247, 247, 247, 247, 245, 240, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 241, 244, 247, 247, 247, 247, 245,
+  241, 239, 239, 239, 239, 239, 239, 239, 239, 240, 243, 244, 244, 244, 244, 244,
+  244, 244, 244, 244, 240, 239, 162, 0, 0, 73, 255, 255, 255, 255, 255, 227,
+  59, 0, 0, 48, 185, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 225, 237, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 240, 241,
+  244, 244, 244, 244, 244, 244, 244, 244, 240, 239, 244, 247, 247, 247, 247, 247,
+  247, 242, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 247, 247, 247,
+  247, 247, 247, 247, 247, 244, 239, 239, 239, 239, 239, 239, 239, 239, 241, 244,
+  244, 244, 244, 244, 244, 244, 244, 244, 240, 239, 209, 61, 0, 73, 255, 255,
+  255, 255, 255, 187, 0, 0, 2, 95, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 223, 228, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 241, 243, 244, 244, 244, 244, 244, 244, 240, 239, 242, 247,
+  247, 247, 247, 247, 247, 246, 245, 239, 239, 239, 239, 239, 239, 239, 239, 243,
+  245, 247, 247, 247, 247, 247, 247, 247, 247, 247, 245, 245, 241, 239, 239, 239,
+  239, 239, 239, 242, 244, 244, 244, 244, 244, 244, 243, 241, 239, 239, 230, 90,
+  0, 11, 152, 255, 255, 255, 255, 13, 0, 0, 89, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 224, 236, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 240, 243, 244, 244, 244, 244, 243,
+  239, 239, 242, 247, 247, 247, 247, 247, 247, 247, 247, 245, 241, 241, 241, 241,
+  241, 241, 243, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 246, 240, 239, 239, 239, 239, 239, 242, 244, 244, 244, 244, 242, 241, 239,
+  239, 239, 156, 0, 0, 0, 134, 255, 255, 255, 255, 13, 0, 0, 197, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  224, 236, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 240, 244,
+  244, 244, 243, 239, 239, 239, 242, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 245, 240, 239, 239, 239, 239, 239, 240, 240, 240,
+  240, 239, 239, 239, 239, 239, 156, 0, 0, 0, 134, 255, 255, 255, 98, 1,
+  0, 125, 217, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 236, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 242, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 242, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 227, 86, 0, 0, 134, 255,
+  255, 255, 73, 0, 34, 173, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 242, 247, 247, 247, 241, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 242, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 243,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 152,
+  16, 0, 84, 232, 255, 255, 73, 0, 92, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 242, 247, 247,
+  247, 246, 244, 240, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 242, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 244, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 43, 0, 0, 194, 255, 148, 8, 0, 92, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 242, 247, 247, 247, 247, 247, 246, 244, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 241, 246, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 246, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 69, 0, 0, 194, 255, 134, 0, 0,
+  92, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 242, 247, 247, 247, 247, 247, 247, 247, 243, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 246, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 244, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 232, 0, 0, 119,
+  255, 134, 0, 29, 184, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 242, 247, 247, 247, 247, 247, 247,
+  247, 245, 244, 239, 239, 239, 239, 239, 239, 239, 239, 241, 244, 246, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 244, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  232, 0, 0, 0, 245, 114, 0, 45, 236, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 234, 246, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 245, 240, 240, 240, 240, 240, 240, 241, 246,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 244, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 234, 27, 0, 0, 194, 0, 0, 45, 236, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  235, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 244, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 245, 178, 0, 0, 194, 0, 0, 45,
+  236, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 235, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 244, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 245, 175, 0, 0,
+  194, 0, 0, 216, 236, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 235, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  246, 243, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  245, 175, 0, 0, 194, 0, 0, 233, 236, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 235, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 246, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 245, 175, 0, 0, 194, 0, 0, 233, 236, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 226,
+  243, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 246, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 245, 175, 0, 0, 194, 0, 0, 233,
+  236, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 236, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 245, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 243, 143, 0, 0,
+  194, 0, 0, 233, 236, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 229, 244, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  240, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  232, 0, 0, 0, 194, 0, 0, 233, 236, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 228, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 240, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 242, 233, 0, 0, 0, 194, 0, 0, 233, 236, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 222, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 242, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 243, 233, 0, 0, 183, 194, 0, 0, 233,
+  236, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 238, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 242, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 240, 245, 149, 0, 0, 194,
+  194, 0, 0, 233, 236, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 228, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 242,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 241, 247,
+  45, 0, 0, 194, 194, 0, 0, 233, 246, 229, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 232,
+  245, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 244, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 241, 217, 35, 0, 128, 252, 194, 0, 0, 233, 247, 229, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 240, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 244, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 244, 103, 0, 0, 134, 255, 194, 0, 0, 233,
+  247, 242, 222, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 226, 246, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 246, 240, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 247, 103, 0, 0, 134, 255,
+  194, 0, 0, 191, 247, 247, 223, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 227, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 244, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 241, 228, 80,
+  0, 71, 251, 255, 194, 0, 0, 45, 247, 247, 233, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 224, 240, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  244, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 245, 162, 0, 0, 73, 255, 255, 238, 98, 0, 12, 142, 247, 246, 233,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 233, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 241, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 226, 43, 0, 9, 206, 255, 255, 255, 134, 0, 0,
+  103, 247, 247, 239, 223, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 235, 246, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 246, 241, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 240, 219, 0, 0, 60, 255, 255, 255,
+  255, 193, 36, 0, 52, 205, 247, 247, 239, 223, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  245, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 243, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 244, 127, 0, 0,
+  208, 255, 255, 255, 255, 255, 73, 0, 0, 162, 247, 247, 247, 225, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 227, 235, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 245, 240,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  244, 32, 0, 0, 208, 255, 255, 255, 255, 255, 119, 3, 0, 0, 220, 247,
+  247, 245, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 228, 244, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 243, 207, 23, 0, 37, 220, 255, 255, 255, 255, 255, 255, 13,
+  0, 0, 124, 247, 247, 245, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 229, 235,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 220, 121, 44, 0, 0, 147, 255, 255, 255, 255,
+  255, 255, 255, 161, 0, 0, 31, 244, 247, 246, 234, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 224, 246, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 246, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 205, 0, 0, 0, 66, 229,
+  255, 255, 255, 255, 255, 255, 255, 220, 39, 0, 0, 90, 247, 247, 247, 232,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 227, 244, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 241, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 206, 0,
+  0, 0, 87, 255, 255, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 43,
+  195, 247, 247, 240, 223, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 236, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  244, 240, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 241, 207, 0, 0, 0, 87, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  231, 67, 0, 0, 144, 245, 247, 247, 226, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 224, 228, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 245, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 241, 246, 61, 0, 0, 21, 217, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 135, 7, 0, 0, 207, 247, 247, 232, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 222, 241, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 246, 243, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 243, 247, 18, 0, 0, 27, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 27, 0, 0, 207, 247, 247,
+  246, 231, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 224, 233, 243, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 243, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 240, 247, 155, 8, 0,
+  0, 131, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 0,
+  0, 57, 239, 247, 247, 240, 222, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 240, 246, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 246, 246, 240, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 240,
+  247, 77, 0, 0, 7, 223, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 231, 48, 0, 0, 77, 247, 247, 247, 247, 233, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 227, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  244, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 242, 213, 54, 0, 30, 189, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 161, 0, 0, 34, 185, 247, 247, 247, 247,
+  232, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 223, 232, 243, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 246, 241, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 242, 246, 135, 0, 0, 101, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 236, 81, 0, 0, 127,
+  243, 247, 247, 247, 245, 232, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  238, 246, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 241, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 245, 243, 127, 0, 2, 110,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  149, 12, 0, 0, 135, 247, 247, 247, 247, 239, 229, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 238, 242, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 245, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 244, 247, 194,
+  0, 0, 40, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 151, 0, 0, 5, 247, 247, 247, 247, 247, 247, 234,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 232, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 246, 242, 240, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  241, 247, 247, 87, 0, 0, 151, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 236, 13, 0, 1, 92, 237, 247,
+  247, 247, 247, 246, 242, 230, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 223, 225,
+  245, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 246,
+  245, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 245, 247, 233, 5, 0, 0, 235, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 37,
+  0, 0, 82, 225, 247, 247, 247, 247, 247, 247, 224, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 238, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 241, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 245, 247, 247, 64, 0, 0, 57, 241, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 114, 0, 0, 0, 75, 242, 247, 247, 247, 247, 247, 237, 231,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 222, 231, 241, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 245, 240, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 241, 246, 247, 247, 64, 0,
+  0, 175, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 231, 62, 0, 0, 0, 77, 234, 247, 247,
+  247, 247, 247, 239, 223, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 223, 241,
+  245, 247, 247, 247, 247, 247, 247, 247, 247, 245, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 241, 246, 247,
+  247, 142, 10, 0, 95, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 64, 0, 0,
+  0, 71, 219, 247, 247, 247, 247, 247, 247, 225, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 229, 247, 247, 247, 247, 247, 247, 247, 247, 243, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  241, 243, 247, 247, 224, 80, 0, 18, 162, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 228, 76, 0, 0, 0, 67, 234, 247, 247, 247, 247, 247, 238, 232, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 224, 231, 243, 247, 247, 247, 247, 247,
+  243, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 245, 247, 247, 247, 181, 0, 0, 54, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 236, 77, 0, 0, 0, 61, 221, 237, 247, 247,
+  247, 247, 240, 223, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 224, 244,
+  245, 247, 247, 246, 241, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 243, 246, 247, 247, 240, 27, 0, 0, 220,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 96, 50, 0, 0,
+  0, 99, 234, 247, 247, 247, 247, 247, 234, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 229, 237, 237, 238, 239, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 241, 247, 247, 247, 247, 171,
+  0, 0, 67, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 211, 50, 0, 0, 0, 97, 247, 247, 247, 247, 247, 247, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 224, 227, 229, 239, 239,
+  239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 243, 245, 247,
+  247, 247, 162, 19, 0, 0, 188, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 231, 41, 0, 0, 3, 95, 217, 241, 247, 247,
+  247, 243, 233, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 228, 236, 238, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239, 239,
+  243, 246, 247, 247, 247, 237, 96, 0, 0, 111, 246, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 95, 35, 0, 0,
+  0, 129, 247, 247, 247, 247, 239, 230, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 236, 239, 239, 239, 239, 239, 239, 239,
+  239, 239, 239, 241, 245, 247, 247, 247, 239, 105, 0, 0, 25, 175, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 195, 21, 0, 0, 4, 135, 247, 247, 247, 247, 247, 235, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 228, 239, 239, 239,
+  239, 239, 239, 239, 239, 239, 240, 247, 247, 247, 247, 247, 108, 0, 0, 4,
+  185, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 209, 22, 0, 0, 8, 125, 238, 247, 247, 247,
+  246, 243, 229, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 228, 239, 239, 239, 239, 239, 239, 239, 239, 245, 247, 247, 247, 247, 226,
+  32, 0, 0, 33, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 202, 42, 0, 0, 0,
+  114, 246, 247, 247, 247, 247, 236, 229, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 227, 239, 239, 239, 239, 239, 239, 239, 241, 246, 247,
+  247, 247, 211, 58, 0, 0, 55, 222, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  202, 31, 0, 0, 0, 124, 247, 247, 247, 247, 247, 245, 231, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 227, 239, 239, 239, 239, 239, 239,
+  241, 246, 247, 247, 247, 225, 55, 0, 0, 52, 214, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 233, 174, 18, 0, 5, 25, 155, 244, 247, 247, 247,
+  239, 224, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 227, 239, 239,
+  239, 239, 239, 239, 242, 247, 247, 247, 222, 40, 0, 0, 3, 107, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 25, 0, 0, 0,
+  138, 188, 247, 247, 247, 247, 233, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 227, 239, 239, 239, 239, 239, 239, 242, 247, 247, 204, 49, 0, 0, 0,
+  99, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  188, 1, 0, 0, 0, 34, 84, 228, 247, 247, 246, 238, 238, 224, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 227, 239, 239, 239, 239, 239, 239, 242, 247, 216, 48,
+  0, 0, 0, 102, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 232, 143, 12, 0, 0, 0, 42, 220, 247, 247, 247,
+  247, 245, 239, 223, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 229, 239, 239, 239, 239, 239, 241,
+  246, 217, 26, 0, 0, 63, 232, 246, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 150, 87, 0, 0, 0,
+  51, 143, 229, 247, 247, 247, 247, 239, 231, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 228, 239, 239, 239,
+  239, 239, 239, 247, 197, 40, 0, 0, 70, 240, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  240, 100, 0, 0, 0, 0, 67, 131, 247, 247, 247, 247, 247, 235, 221, 221,
+  221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  236, 239, 239, 239, 239, 239, 239, 206, 42, 0, 0, 73, 226, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 247, 235, 61, 0, 0, 0, 5, 118, 203, 247, 247,
+  247, 246, 245, 232, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221, 221,
+  221, 221, 227, 237, 238, 239, 239, 239, 239, 216, 199, 13, 0, 0, 45, 244,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 237, 110, 44, 0, 0,
+  0, 2, 167, 247, 247, 247, 247, 247, 233, 232, 225, 221, 221, 221, 221, 221,
+  221, 221, 221, 221, 221, 228, 232, 239, 239, 239, 239, 239, 239, 111, 0, 0,
+  0, 0, 132, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 207, 163, 0, 0, 0, 19, 77, 200, 247, 247, 247, 247, 247, 241, 223,
+  221, 221, 221, 221, 221, 221, 221, 221, 229, 238, 239, 239, 239, 239, 239, 239,
+  190, 34, 0, 0, 84, 175, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 253, 181, 49, 10, 0, 0, 10, 51, 219, 247,
+  247, 247, 247, 245, 245, 245, 245, 245, 245, 239, 237, 237, 238, 239, 239, 239,
+  239, 239, 239, 189, 10, 0, 0, 95, 247, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 143, 0, 0,
+  0, 0, 59, 136, 236, 247, 247, 247, 247, 247, 247, 247, 247, 243, 241, 239,
+  239, 239, 239, 239, 239, 239, 176, 23, 0, 0, 89, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 253, 178, 91, 0, 0, 0, 0, 66, 139, 247, 247, 247, 247, 247, 247,
+  247, 247, 246, 242, 239, 239, 239, 239, 239, 180, 29, 0, 0, 0, 196, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 249, 243, 60, 30, 0, 0, 4, 11, 168,
+  212, 247, 247, 247, 247, 247, 247, 246, 246, 246, 246, 246, 219, 6, 0, 0,
+  15, 154, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 117,
+  10, 0, 0, 0, 43, 132, 137, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  131, 0, 0, 7, 158, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 189, 112, 0, 0, 0, 0, 2, 70, 160, 247, 247, 247,
+  247, 247, 175, 70, 8, 0, 0, 155, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 247, 84, 38, 0, 0, 0,
+  3, 7, 48, 191, 230, 237, 114, 0, 0, 20, 168, 253, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  211, 121, 117, 0, 0, 0, 0, 0, 89, 107, 0, 0, 13, 168, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 252, 186, 91, 0, 0, 0, 0, 0, 0, 0,
+  171, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 251, 50, 0,
+  0, 0, 0, 39, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 226, 68, 0, 0, 50, 208, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 225, 190, 190, 216, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 190, 158, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 106, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 68,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 6, 6, 6, 6, 6,
+  2, 0, 0, 0, 0, 0, 0, 3, 125, 190, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 251,
+  153, 60, 0, 0, 0, 0, 0, 5, 9, 10, 10, 10, 10, 13, 14, 14,
+  14, 14, 13, 12, 10, 9, 9, 9, 1, 0, 0, 0, 0, 30, 60, 247,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  232, 186, 179, 0, 0, 0, 0, 0, 2, 14, 27, 27, 65, 71, 87, 99,
+  122, 176, 176, 176, 176, 176, 153, 56, 56, 56, 39, 12, 12, 12, 7, 0,
+  0, 0, 0, 39, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 242, 81, 0, 0, 0, 0, 0, 1, 20, 41, 47, 71, 71,
+  71, 90, 155, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 146, 97,
+  90, 12, 12, 7, 4, 0, 0, 0, 54, 213, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 252, 129, 51, 0, 0, 0, 0, 4, 10, 21, 63,
+  71, 71, 71, 71, 80, 160, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+  176, 176, 176, 176, 172, 100, 16, 13, 11, 4, 0, 0, 0, 39, 234, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 244, 112, 0, 0, 0, 1, 10, 12,
+  20, 60, 71, 71, 71, 71, 71, 71, 83, 176, 176, 176, 176, 176, 176, 176,
+  176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 82, 46, 12, 5, 0,
+  0, 0, 29, 211, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 117, 100, 0, 0, 0,
+  2, 9, 13, 43, 57, 71, 71, 71, 71, 71, 71, 71, 83, 176, 176, 176,
+  176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+  155, 100, 34, 5, 0, 0, 0, 101, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 249, 243, 243, 243, 243, 79, 53, 53, 53, 53, 53, 53, 53, 53, 53,
+  86, 243, 243, 243, 243, 243, 243, 243, 249, 255, 255, 255, 255, 252, 137, 0,
+  0, 0, 0, 1, 10, 13, 16, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  82, 172, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+  176, 176, 176, 176, 176, 176, 150, 20, 5, 0, 0, 21, 173, 253, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 254, 181, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 180, 255, 255,
+  255, 204, 0, 0, 0, 0, 2, 10, 12, 45, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 96, 163, 176, 176, 176, 175, 144, 159, 176, 176, 176,
+  176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 151, 38, 6, 0, 0,
+  0, 163, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 185, 112, 3, 0, 0, 0, 0, 0, 0, 13,
+  72, 97, 97, 97, 97, 97, 97, 28, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 114, 182, 255, 96, 0, 0, 0, 6, 9, 12, 22, 59, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 98, 118, 118, 118, 117, 71,
+  93, 118, 118, 142, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+  142, 40, 0, 0, 0, 27, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 246, 235, 49, 24, 0, 0, 1, 4, 12,
+  57, 57, 70, 146, 167, 176, 176, 176, 176, 176, 176, 152, 141, 141, 141, 141,
+  97, 15, 5, 0, 0, 0, 0, 24, 49, 1, 0, 0, 9, 12, 12, 16,
+  63, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 79, 143, 175, 176, 176, 176, 176, 176, 176,
+  176, 176, 176, 176, 176, 154, 25, 0, 0, 5, 114, 248, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 229, 78, 0, 0, 0, 0,
+  21, 43, 71, 71, 71, 91, 166, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+  176, 176, 176, 176, 176, 133, 73, 24, 7, 0, 0, 0, 0, 0, 0, 2,
+  11, 12, 12, 17, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 140, 176, 176,
+  176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 149, 7, 0, 0, 0, 147,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 75, 0,
+  0, 0, 19, 40, 70, 71, 71, 71, 94, 159, 176, 176, 176, 176, 176, 176,
+  176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 138, 104, 45, 15, 0, 0,
+  0, 0, 0, 8, 12, 12, 12, 17, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 77, 138, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 164, 66,
+  2, 0, 0, 64, 228, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248,
+  121, 42, 0, 0, 0, 19, 64, 71, 71, 71, 71, 71, 111, 176, 176, 176,
+  176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 170,
+  114, 30, 10, 0, 0, 0, 0, 8, 12, 12, 12, 17, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 78, 142, 176, 176, 176, 176, 176, 176, 176, 176,
+  176, 176, 176, 115, 15, 1, 0, 0, 193, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 244, 108, 0, 0, 0, 12, 24, 71, 71, 71, 71, 71, 71, 71,
+  111, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+  176, 176, 176, 176, 176, 121, 81, 8, 1, 0, 0, 8, 12, 12, 12, 17,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 114, 170, 176, 176, 176,
+  176, 176, 176, 176, 176, 176, 176, 176, 84, 7, 0, 0, 13, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 108, 0, 0, 0, 12, 57, 71, 71, 71, 71,
+  71, 71, 71, 71, 111, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+  176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 158, 60, 3, 0, 0, 8,
+  12, 12, 12, 17, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  113, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 109, 18, 0, 0,
+  13, 255, 255, 255, 255, 255, 255, 255, 255, 240, 24, 0, 0, 5, 36, 44,
+  44, 44, 44, 44, 67, 71, 71, 71, 77, 137, 174, 176, 176, 175, 144, 88,
+  88, 88, 88, 88, 101, 170, 176, 176, 176, 176, 176, 176, 176, 176, 176, 162,
+  84, 3, 1, 8, 12, 12, 12, 16, 67, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 67, 65, 52, 45, 65, 67, 71, 71, 71, 71,
+  71, 71, 71, 71, 79, 169, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+  109, 23, 6, 0, 2, 103, 255, 255, 255, 255, 255, 255, 218, 57, 0, 0,
+  8, 34, 39, 39, 39, 39, 39, 39, 43, 60, 60, 60, 60, 66, 130, 139,
+  139, 136, 71, 71, 71, 71, 71, 71, 71, 99, 163, 176, 176, 176, 176, 176,
+  176, 176, 176, 176, 99, 29, 12, 12, 12, 12, 12, 12, 24, 62, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 68, 50, 27, 12, 12, 12, 12, 21,
+  50, 65, 71, 71, 71, 71, 71, 71, 71, 93, 160, 176, 176, 176, 176, 176,
+  176, 176, 176, 176, 109, 64, 7, 0, 0, 73, 255, 255, 255, 255, 255, 227,
+  59, 0, 0, 8, 32, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 47, 68, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 98, 120,
+  176, 176, 176, 176, 176, 176, 176, 176, 99, 66, 31, 12, 12, 12, 12, 12,
+  12, 45, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 64, 12, 12, 12,
+  12, 12, 12, 12, 12, 29, 69, 71, 71, 71, 71, 71, 71, 71, 129, 176,
+  176, 176, 176, 176, 176, 176, 176, 176, 109, 68, 33, 3, 0, 73, 255, 255,
+  255, 255, 255, 187, 0, 0, 0, 16, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 43, 52, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 72, 114, 171, 176, 176, 176, 176, 176, 176, 99, 71, 45, 12,
+  12, 12, 12, 12, 12, 16, 22, 66, 71, 71, 71, 71, 71, 71, 68, 36,
+  19, 12, 12, 12, 12, 12, 12, 12, 12, 12, 20, 20, 50, 65, 71, 71,
+  71, 71, 79, 149, 176, 176, 176, 176, 176, 176, 174, 133, 76, 71, 65, 22,
+  0, 11, 152, 255, 255, 255, 255, 13, 0, 0, 15, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 45, 66, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 111, 169, 176, 176, 176, 176, 157,
+  89, 71, 45, 12, 12, 12, 12, 12, 12, 12, 12, 22, 49, 49, 49, 49,
+  49, 49, 34, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 17, 57, 71, 71, 71, 71, 73, 148, 176, 176, 176, 176, 150, 127, 71,
+  71, 71, 46, 0, 0, 0, 134, 255, 255, 255, 255, 13, 0, 0, 34, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  46, 67, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 109, 176,
+  176, 176, 159, 91, 71, 71, 45, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 20, 56, 71, 71, 71, 71, 81, 111, 111, 111,
+  111, 83, 71, 71, 71, 71, 46, 0, 0, 0, 134, 255, 255, 255, 98, 1,
+  0, 22, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 59, 63, 63, 63, 70, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 85, 85, 85, 81, 71, 71, 71, 45, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 67, 25, 0, 0, 134, 255,
+  255, 255, 73, 0, 6, 30, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 17, 12, 12, 12, 53, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 45, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 34,
+  67, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 45,
+  4, 0, 84, 232, 255, 255, 73, 0, 16, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 17, 12, 12,
+  12, 17, 34, 59, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 45, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 33, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 13, 0, 0, 194, 255, 148, 8, 0, 16, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 17, 12, 12, 12, 12, 12, 16, 26, 66, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 54, 15, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 16, 65, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 14, 0, 0, 194, 255, 134, 0, 0,
+  16, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 17, 12, 12, 12, 12, 12, 12, 12, 36, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 14, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 30, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 22, 0, 0, 119,
+  255, 134, 0, 1, 20, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 17, 12, 12, 12, 12, 12, 12,
+  12, 20, 33, 66, 71, 71, 71, 71, 71, 71, 71, 52, 33, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 30, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  22, 0, 0, 0, 245, 114, 0, 2, 23, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 25, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 22, 62, 62, 62, 62, 62, 62, 51, 15,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 30, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 24, 27, 0, 0, 194, 0, 0, 2, 23, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  23, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 30, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 30, 111, 0, 0, 194, 0, 0, 2,
+  23, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 23, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 30, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 22, 8, 0, 0,
+  194, 0, 0, 10, 23, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 23, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 37, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  22, 8, 0, 0, 194, 0, 0, 11, 23, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 23, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 16, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 22, 8, 0, 0, 194, 0, 0, 11, 23, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 32,
+  15, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 16, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 22, 8, 0, 0, 194, 0, 0, 11,
+  23, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 38, 22, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 25, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 22, 6, 0, 0,
+  194, 0, 0, 11, 23, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 30, 14, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  61, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  22, 0, 0, 0, 194, 0, 0, 11, 23, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 31, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 61, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 47, 14, 0, 0, 0, 194, 0, 0, 11, 23, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 37, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 45, 70, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 36, 11, 0, 0, 183, 194, 0, 0, 11,
+  23, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 38, 20, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 61, 25, 7, 0, 0, 194,
+  194, 0, 0, 11, 23, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 31, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 50, 12,
+  2, 0, 0, 194, 194, 0, 0, 11, 12, 30, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 38, 27,
+  13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 33, 69, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 50, 10, 1, 0, 128, 252, 194, 0, 0, 11, 12, 29, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 18, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 34, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 68, 32, 5, 0, 0, 134, 255, 194, 0, 0, 11,
+  12, 17, 36, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 33, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 17, 60, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 64, 12, 5, 0, 0, 134, 255,
+  194, 0, 0, 9, 12, 12, 36, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 32, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 30, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 54, 11, 3,
+  0, 71, 251, 255, 194, 0, 0, 2, 12, 12, 26, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 35, 18, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  30, 67, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 19, 7, 0, 0, 73, 255, 255, 238, 98, 0, 0, 6, 12, 12, 26,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 26, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 51, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 18, 2, 0, 9, 206, 255, 255, 255, 134, 0, 0,
+  5, 12, 12, 19, 36, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 38, 24, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 18, 55, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 62, 16, 0, 0, 60, 255, 255, 255,
+  255, 193, 36, 0, 2, 9, 12, 12, 20, 36, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 37, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 33, 6, 0, 0,
+  208, 255, 255, 255, 255, 255, 73, 0, 0, 7, 12, 12, 12, 34, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 32, 23, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 20, 62,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  33, 1, 0, 0, 208, 255, 255, 255, 255, 255, 119, 3, 0, 0, 10, 12,
+  12, 14, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 30, 14, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 68, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 68, 38, 10, 1, 0, 37, 220, 255, 255, 255, 255, 255, 255, 13,
+  0, 0, 6, 12, 12, 14, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 30, 24,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 68, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 60, 5, 2, 0, 0, 147, 255, 255, 255, 255,
+  255, 255, 255, 161, 0, 0, 1, 11, 12, 12, 24, 38, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 35, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 68, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 25, 0, 0, 0, 66, 229,
+  255, 255, 255, 255, 255, 255, 255, 220, 39, 0, 0, 4, 12, 12, 12, 26,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 31, 14, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 54, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 14, 0,
+  0, 0, 87, 255, 255, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 2,
+  9, 12, 12, 19, 35, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 22, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  26, 63, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 49, 12, 0, 0, 0, 87, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  231, 67, 0, 0, 7, 11, 12, 12, 33, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 35, 31, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 23, 64, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 50, 16, 2, 0, 0, 21, 217, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 135, 7, 0, 0, 10, 12, 12, 27, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 37, 17, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 39, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 67, 35, 12, 0, 0, 0, 27, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 27, 0, 0, 10, 12, 12,
+  12, 28, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 35, 26, 15, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 36, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 58, 12, 7, 0, 0,
+  0, 131, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 0,
+  0, 2, 11, 12, 12, 18, 37, 38, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 18, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 14, 58, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 58,
+  12, 3, 0, 0, 7, 223, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 231, 48, 0, 0, 3, 12, 12, 12, 12, 25, 38, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 32, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  29, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 44, 10, 2, 0, 30, 189, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 161, 0, 0, 1, 9, 12, 12, 12, 12,
+  26, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 35, 26, 16, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 13, 52, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 46, 12, 6, 0, 0, 101, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 236, 81, 0, 0, 6,
+  11, 12, 12, 12, 13, 26, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  20, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 51, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 69, 26, 11, 6, 0, 2, 110,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  149, 12, 0, 0, 6, 12, 12, 12, 12, 20, 30, 38, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 21, 16, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 22, 63, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 66, 32, 12, 9,
+  0, 0, 40, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 151, 0, 0, 0, 12, 12, 12, 12, 12, 12, 25,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 27, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 15, 45, 60, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  55, 12, 12, 4, 0, 0, 151, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 236, 13, 0, 0, 4, 11, 12,
+  12, 12, 12, 12, 16, 29, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 36, 34,
+  14, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 14,
+  22, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 66, 19, 12, 11, 0, 0, 0, 235, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 37,
+  0, 0, 3, 10, 12, 12, 12, 12, 12, 12, 35, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 21, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 49, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 24, 12, 12, 3, 0, 0, 57, 241, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 114, 0, 0, 0, 3, 11, 12, 12, 12, 12, 12, 21, 28,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 37, 27, 17, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 25, 62, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 51, 17, 12, 12, 3, 0,
+  0, 175, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 231, 62, 0, 0, 0, 3, 11, 12, 12,
+  12, 12, 12, 20, 36, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 36, 17,
+  13, 12, 12, 12, 12, 12, 12, 12, 12, 20, 65, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 55, 16, 12,
+  12, 6, 0, 0, 95, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 64, 0, 0,
+  0, 3, 10, 12, 12, 12, 12, 12, 12, 33, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 30, 12, 12, 12, 12, 12, 12, 12, 12, 37, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  53, 38, 12, 12, 10, 3, 0, 18, 162, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 228, 76, 0, 0, 0, 3, 11, 12, 12, 12, 12, 12, 20, 27, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 35, 28, 15, 12, 12, 12, 12, 12,
+  36, 69, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 21, 12, 12, 12, 8, 0, 0, 54, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 236, 77, 0, 0, 0, 3, 10, 11, 12, 12,
+  12, 12, 18, 36, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 35, 14,
+  13, 12, 12, 14, 54, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 68, 37, 13, 12, 12, 11, 1, 0, 0, 220,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 96, 50, 0, 0,
+  0, 4, 11, 12, 12, 12, 12, 12, 25, 38, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 30, 21, 21, 44, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 48, 12, 12, 12, 12, 8,
+  0, 0, 67, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 211, 50, 0, 0, 0, 4, 12, 12, 12, 12, 12, 12, 38, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 44, 51, 54, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 38, 26, 12,
+  12, 12, 7, 0, 0, 0, 188, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 231, 41, 0, 0, 0, 4, 10, 11, 12, 12,
+  12, 15, 26, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 52, 67, 70, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  37, 12, 12, 12, 12, 11, 4, 0, 0, 111, 246, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 95, 35, 0, 0,
+  0, 6, 12, 12, 12, 12, 19, 28, 38, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 67, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 66, 48, 24, 12, 12, 12, 11, 5, 0, 0, 25, 175, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 195, 21, 0, 0, 0, 6, 12, 12, 12, 12, 12, 24, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 51, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 59, 12, 12, 12, 12, 12, 5, 0, 0, 4,
+  185, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 209, 22, 0, 0, 0, 6, 11, 12, 12, 12,
+  12, 15, 30, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 52, 71, 71, 71, 71, 71, 71, 71, 71, 20, 12, 12, 12, 12, 11,
+  1, 0, 0, 33, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 202, 42, 0, 0, 0,
+  5, 11, 12, 12, 12, 12, 22, 29, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 50, 71, 71, 71, 71, 71, 71, 71, 54, 13, 12,
+  12, 12, 10, 2, 0, 0, 55, 222, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  202, 31, 0, 0, 0, 6, 12, 12, 12, 12, 12, 13, 27, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 50, 71, 71, 71, 71, 71, 71,
+  52, 17, 12, 12, 12, 10, 2, 0, 0, 52, 214, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 233, 174, 18, 0, 0, 1, 7, 11, 12, 12, 12,
+  20, 34, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 50, 71, 71,
+  71, 71, 71, 71, 42, 12, 12, 12, 10, 1, 0, 0, 3, 107, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 25, 0, 0, 0,
+  6, 9, 12, 12, 12, 12, 26, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 50, 71, 71, 71, 71, 71, 71, 42, 12, 12, 9, 2, 0, 0, 0,
+  99, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  188, 1, 0, 0, 0, 1, 4, 11, 12, 12, 12, 21, 21, 35, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 50, 71, 71, 71, 71, 71, 71, 42, 12, 10, 2,
+  0, 0, 0, 102, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 232, 143, 12, 0, 0, 0, 2, 10, 12, 12, 12,
+  12, 13, 19, 36, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 53, 71, 71, 71, 71, 70, 50,
+  14, 10, 1, 0, 0, 63, 232, 246, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 150, 87, 0, 0, 0,
+  2, 6, 11, 12, 12, 12, 12, 19, 27, 38, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 52, 71, 71, 71,
+  71, 71, 70, 12, 9, 1, 0, 0, 70, 240, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  240, 100, 0, 0, 0, 0, 3, 6, 12, 12, 12, 12, 12, 24, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  67, 71, 71, 71, 71, 71, 70, 10, 2, 0, 0, 73, 226, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 247, 235, 61, 0, 0, 0, 0, 5, 9, 12, 12,
+  12, 12, 14, 27, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 50, 68, 70, 71, 71, 71, 71, 64, 24, 0, 0, 0, 45, 244,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 237, 110, 44, 0, 0,
+  0, 0, 8, 12, 12, 12, 12, 12, 25, 27, 34, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 51, 60, 71, 71, 71, 71, 71, 71, 33, 0, 0,
+  0, 0, 132, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 207, 163, 0, 0, 0, 0, 3, 9, 12, 12, 12, 12, 12, 17, 36,
+  39, 39, 39, 39, 39, 39, 39, 39, 54, 70, 71, 71, 71, 71, 71, 71,
+  56, 10, 0, 0, 84, 175, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 253, 181, 49, 10, 0, 0, 0, 2, 10, 12,
+  12, 12, 12, 13, 13, 13, 13, 13, 13, 55, 69, 69, 70, 71, 71, 71,
+  71, 71, 71, 56, 2, 0, 0, 95, 247, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 143, 0, 0,
+  0, 0, 2, 6, 11, 12, 12, 12, 12, 12, 12, 12, 12, 36, 50, 71,
+  71, 71, 71, 71, 71, 71, 52, 6, 0, 0, 89, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 253, 178, 91, 0, 0, 0, 0, 3, 6, 12, 12, 12, 12, 12, 12,
+  12, 12, 15, 48, 71, 71, 71, 71, 71, 53, 8, 0, 0, 0, 196, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 249, 243, 60, 30, 0, 0, 0, 0, 8,
+  10, 12, 12, 12, 12, 12, 12, 13, 14, 14, 14, 14, 13, 2, 0, 0,
+  15, 154, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 117,
+  10, 0, 0, 0, 2, 6, 6, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  6, 0, 0, 7, 158, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 189, 112, 0, 0, 0, 0, 0, 3, 7, 12, 12, 12,
+  12, 12, 8, 3, 0, 0, 0, 154, 254, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 247, 84, 38, 0, 0, 0,
+  0, 0, 2, 9, 11, 11, 5, 0, 0, 19, 168, 253, 254, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  211, 121, 117, 0, 0, 0, 0, 0, 4, 5, 0, 0, 13, 168, 254, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 252, 186, 91, 0, 0, 0, 0, 0, 0, 0,
+  171, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 251, 50, 0,
+  0, 0, 0, 39, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 226, 68, 0, 0, 50, 208, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 225, 190, 190, 216, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 190, 158, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 106, 192, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 127, 68,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 6, 6, 6, 6, 6, 6,
+  2, 0, 0, 0, 0, 0, 0, 3, 125, 190, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 251,
+  153, 60, 0, 0, 0, 0, 0, 5, 9, 10, 10, 10, 10, 13, 14, 14,
+  14, 14, 13, 12, 10, 9, 9, 9, 1, 0, 0, 0, 0, 30, 60, 247,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  232, 186, 179, 0, 0, 0, 0, 0, 2, 14, 27, 27, 65, 71, 87, 99,
+  122, 176, 176, 176, 176, 176, 153, 56, 56, 56, 39, 12, 12, 12, 7, 0,
+  0, 0, 0, 39, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 242, 81, 0, 0, 0, 0, 0, 1, 20, 41, 47, 71, 71,
+  71, 90, 155, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 146, 97,
+  90, 12, 12, 7, 4, 0, 0, 0, 54, 213, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 252, 129, 51, 0, 0, 0, 0, 4, 10, 21, 63,
+  71, 71, 71, 71, 80, 160, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+  176, 176, 176, 176, 172, 100, 16, 13, 11, 4, 0, 0, 0, 39, 234, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 244, 112, 0, 0, 0, 1, 10, 12,
+  20, 60, 71, 71, 71, 71, 71, 71, 83, 176, 176, 176, 176, 176, 176, 176,
+  176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 82, 46, 12, 5, 0,
+  0, 0, 29, 211, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 117, 100, 0, 0, 0,
+  2, 9, 13, 43, 57, 71, 71, 71, 71, 71, 71, 71, 83, 176, 176, 176,
+  176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+  155, 100, 34, 5, 0, 0, 0, 101, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 249, 243, 243, 243, 243, 79, 53, 53, 53, 53, 53, 53, 53, 53, 53,
+  86, 243, 243, 243, 243, 243, 243, 243, 249, 255, 255, 255, 255, 252, 137, 0,
+  0, 0, 0, 1, 10, 13, 16, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  82, 172, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+  176, 176, 176, 176, 176, 176, 150, 20, 5, 0, 0, 21, 173, 253, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 254, 181, 99, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 96, 180, 255, 255,
+  255, 204, 0, 0, 0, 0, 2, 10, 12, 45, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 96, 163, 176, 176, 176, 175, 144, 159, 176, 176, 176,
+  176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 151, 38, 6, 0, 0,
+  0, 163, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 185, 112, 3, 0, 0, 0, 0, 0, 0, 13,
+  72, 97, 97, 97, 97, 97, 97, 28, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 114, 182, 255, 96, 0, 0, 0, 6, 9, 12, 22, 59, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 98, 118, 118, 118, 117, 71,
+  93, 118, 118, 142, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+  142, 40, 0, 0, 0, 27, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 246, 235, 49, 24, 0, 0, 1, 4, 12,
+  57, 57, 70, 146, 167, 176, 176, 176, 176, 176, 176, 152, 141, 141, 141, 141,
+  97, 15, 5, 0, 0, 0, 0, 24, 49, 1, 0, 0, 9, 12, 12, 16,
+  63, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 79, 143, 175, 176, 176, 176, 176, 176, 176,
+  176, 176, 176, 176, 176, 154, 25, 0, 0, 5, 114, 248, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 229, 78, 0, 0, 0, 0,
+  21, 43, 71, 71, 71, 91, 166, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+  176, 176, 176, 176, 176, 133, 73, 24, 7, 0, 0, 0, 0, 0, 0, 2,
+  11, 12, 12, 17, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 140, 176, 176,
+  176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 149, 7, 0, 0, 0, 147,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 243, 75, 0,
+  0, 0, 19, 40, 70, 71, 71, 71, 94, 159, 176, 176, 176, 176, 176, 176,
+  176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 138, 104, 45, 15, 0, 0,
+  0, 0, 0, 8, 12, 12, 12, 17, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 77, 138, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 164, 66,
+  2, 0, 0, 64, 228, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248,
+  121, 42, 0, 0, 0, 19, 64, 71, 71, 71, 71, 71, 111, 176, 176, 176,
+  176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 170,
+  114, 30, 10, 0, 0, 0, 0, 8, 12, 12, 12, 17, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 78, 142, 176, 176, 176, 176, 176, 176, 176, 176,
+  176, 176, 176, 115, 15, 1, 0, 0, 193, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 244, 108, 0, 0, 0, 12, 24, 71, 71, 71, 71, 71, 71, 71,
+  111, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+  176, 176, 176, 176, 176, 121, 81, 8, 1, 0, 0, 8, 12, 12, 12, 17,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 114, 170, 176, 176, 176,
+  176, 176, 176, 176, 176, 176, 176, 176, 84, 7, 0, 0, 13, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 108, 0, 0, 0, 12, 57, 71, 71, 71, 71,
+  71, 71, 71, 71, 111, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+  176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 158, 60, 3, 0, 0, 8,
+  12, 12, 12, 17, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  113, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176, 109, 18, 0, 0,
+  13, 255, 255, 255, 255, 255, 255, 255, 255, 240, 24, 0, 0, 5, 36, 44,
+  44, 44, 44, 44, 67, 71, 71, 71, 77, 137, 174, 176, 176, 175, 144, 88,
+  88, 88, 88, 88, 101, 170, 176, 176, 176, 176, 176, 176, 176, 176, 176, 162,
+  84, 3, 1, 8, 12, 12, 12, 16, 67, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 67, 65, 52, 45, 65, 67, 71, 71, 71, 71,
+  71, 71, 71, 71, 79, 169, 176, 176, 176, 176, 176, 176, 176, 176, 176, 176,
+  109, 23, 6, 0, 2, 103, 255, 255, 255, 255, 255, 255, 218, 57, 0, 0,
+  8, 34, 39, 39, 39, 39, 39, 39, 43, 60, 60, 60, 60, 66, 130, 139,
+  139, 136, 71, 71, 71, 71, 71, 71, 71, 99, 163, 176, 176, 176, 176, 176,
+  176, 176, 176, 176, 99, 29, 12, 12, 12, 12, 12, 12, 24, 62, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 68, 50, 27, 12, 12, 12, 12, 21,
+  50, 65, 71, 71, 71, 71, 71, 71, 71, 93, 160, 176, 176, 176, 176, 176,
+  176, 176, 176, 176, 109, 64, 7, 0, 0, 73, 255, 255, 255, 255, 255, 227,
+  59, 0, 0, 8, 32, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 47, 68, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 98, 120,
+  176, 176, 176, 176, 176, 176, 176, 176, 99, 66, 31, 12, 12, 12, 12, 12,
+  12, 45, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 64, 12, 12, 12,
+  12, 12, 12, 12, 12, 29, 69, 71, 71, 71, 71, 71, 71, 71, 129, 176,
+  176, 176, 176, 176, 176, 176, 176, 176, 109, 68, 33, 3, 0, 73, 255, 255,
+  255, 255, 255, 187, 0, 0, 0, 16, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 43, 52, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 72, 114, 171, 176, 176, 176, 176, 176, 176, 99, 71, 45, 12,
+  12, 12, 12, 12, 12, 16, 22, 66, 71, 71, 71, 71, 71, 71, 68, 36,
+  19, 12, 12, 12, 12, 12, 12, 12, 12, 12, 20, 20, 50, 65, 71, 71,
+  71, 71, 79, 149, 176, 176, 176, 176, 176, 176, 174, 133, 76, 71, 65, 22,
+  0, 11, 152, 255, 255, 255, 255, 13, 0, 0, 15, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 45, 66, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 111, 169, 176, 176, 176, 176, 157,
+  89, 71, 45, 12, 12, 12, 12, 12, 12, 12, 12, 22, 49, 49, 49, 49,
+  49, 49, 34, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 17, 57, 71, 71, 71, 71, 73, 148, 176, 176, 176, 176, 150, 127, 71,
+  71, 71, 46, 0, 0, 0, 134, 255, 255, 255, 255, 13, 0, 0, 34, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  46, 67, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 109, 176,
+  176, 176, 159, 91, 71, 71, 45, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 20, 56, 71, 71, 71, 71, 81, 111, 111, 111,
+  111, 83, 71, 71, 71, 71, 46, 0, 0, 0, 134, 255, 255, 255, 98, 1,
+  0, 22, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 59, 63, 63, 63, 70, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 85, 85, 85, 81, 71, 71, 71, 45, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 67, 25, 0, 0, 134, 255,
+  255, 255, 73, 0, 6, 30, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 17, 12, 12, 12, 53, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 45, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 34,
+  67, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 45,
+  4, 0, 84, 232, 255, 255, 73, 0, 16, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 17, 12, 12,
+  12, 17, 34, 59, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 45, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 33, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 13, 0, 0, 194, 255, 148, 8, 0, 16, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 17, 12, 12, 12, 12, 12, 16, 26, 66, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 54, 15, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 16, 65, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 14, 0, 0, 194, 255, 134, 0, 0,
+  16, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 17, 12, 12, 12, 12, 12, 12, 12, 36, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 14, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 30, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 22, 0, 0, 119,
+  255, 134, 0, 1, 20, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 17, 12, 12, 12, 12, 12, 12,
+  12, 20, 33, 66, 71, 71, 71, 71, 71, 71, 71, 52, 33, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 30, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  22, 0, 0, 0, 245, 114, 0, 2, 23, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 25, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 22, 62, 62, 62, 62, 62, 62, 51, 15,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 30, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 24, 27, 0, 0, 194, 0, 0, 2, 23, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  23, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 30, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 30, 111, 0, 0, 194, 0, 0, 2,
+  23, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 23, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 30, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 22, 8, 0, 0,
+  194, 0, 0, 10, 23, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 23, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 37, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  22, 8, 0, 0, 194, 0, 0, 11, 23, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 23, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 16, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 22, 8, 0, 0, 194, 0, 0, 11, 23, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 32,
+  15, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 16, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 22, 8, 0, 0, 194, 0, 0, 11,
+  23, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 38, 22, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 25, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 22, 6, 0, 0,
+  194, 0, 0, 11, 23, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 30, 14, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  61, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  22, 0, 0, 0, 194, 0, 0, 11, 23, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 31, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 61, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 47, 14, 0, 0, 0, 194, 0, 0, 11, 23, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 37, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 45, 70, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 36, 11, 0, 0, 183, 194, 0, 0, 11,
+  23, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 38, 20, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 61, 25, 7, 0, 0, 194,
+  194, 0, 0, 11, 23, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 31, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 48,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 50, 12,
+  2, 0, 0, 194, 194, 0, 0, 11, 12, 30, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 38, 27,
+  13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 33, 69, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 50, 10, 1, 0, 128, 252, 194, 0, 0, 11, 12, 29, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 18, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 34, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 68, 32, 5, 0, 0, 134, 255, 194, 0, 0, 11,
+  12, 17, 36, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 33, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 17, 60, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 64, 12, 5, 0, 0, 134, 255,
+  194, 0, 0, 9, 12, 12, 36, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 32, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 30, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 54, 11, 3,
+  0, 71, 251, 255, 194, 0, 0, 2, 12, 12, 26, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 35, 18, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  30, 67, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 19, 7, 0, 0, 73, 255, 255, 238, 98, 0, 0, 6, 12, 12, 26,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 26, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 51, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 18, 2, 0, 9, 206, 255, 255, 255, 134, 0, 0,
+  5, 12, 12, 19, 36, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 38, 24, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 18, 55, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 62, 16, 0, 0, 60, 255, 255, 255,
+  255, 193, 36, 0, 2, 9, 12, 12, 20, 36, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  13, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 37, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 33, 6, 0, 0,
+  208, 255, 255, 255, 255, 255, 73, 0, 0, 7, 12, 12, 12, 34, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 32, 23, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 20, 62,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  33, 1, 0, 0, 208, 255, 255, 255, 255, 255, 119, 3, 0, 0, 10, 12,
+  12, 14, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 30, 14, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 68, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 68, 38, 10, 1, 0, 37, 220, 255, 255, 255, 255, 255, 255, 13,
+  0, 0, 6, 12, 12, 14, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 30, 24,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 68, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 60, 5, 2, 0, 0, 147, 255, 255, 255, 255,
+  255, 255, 255, 161, 0, 0, 1, 11, 12, 12, 24, 38, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 35, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 68, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 25, 0, 0, 0, 66, 229,
+  255, 255, 255, 255, 255, 255, 255, 220, 39, 0, 0, 4, 12, 12, 12, 26,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 31, 14, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 54, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 14, 0,
+  0, 0, 87, 255, 255, 255, 255, 255, 255, 255, 255, 255, 147, 0, 0, 2,
+  9, 12, 12, 19, 35, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 22, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  26, 63, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 49, 12, 0, 0, 0, 87, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  231, 67, 0, 0, 7, 11, 12, 12, 33, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 35, 31, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 23, 64, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 50, 16, 2, 0, 0, 21, 217, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 135, 7, 0, 0, 10, 12, 12, 27, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 37, 17, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 39, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 67, 35, 12, 0, 0, 0, 27, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 27, 0, 0, 10, 12, 12,
+  12, 28, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 35, 26, 15, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 36, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 58, 12, 7, 0, 0,
+  0, 131, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 181, 0,
+  0, 2, 11, 12, 12, 18, 37, 38, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 18, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 14, 58, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 58,
+  12, 3, 0, 0, 7, 223, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 231, 48, 0, 0, 3, 12, 12, 12, 12, 25, 38, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 32, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  29, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 44, 10, 2, 0, 30, 189, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 161, 0, 0, 1, 9, 12, 12, 12, 12,
+  26, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 35, 26, 16, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 13, 52, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 46, 12, 6, 0, 0, 101, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 236, 81, 0, 0, 6,
+  11, 12, 12, 12, 13, 26, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  20, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 51, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 69, 26, 11, 6, 0, 2, 110,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  149, 12, 0, 0, 6, 12, 12, 12, 12, 20, 30, 38, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 21, 16, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 22, 63, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 66, 32, 12, 9,
+  0, 0, 40, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 151, 0, 0, 0, 12, 12, 12, 12, 12, 12, 25,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 27, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 15, 45, 60, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  55, 12, 12, 4, 0, 0, 151, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 236, 13, 0, 0, 4, 11, 12,
+  12, 12, 12, 12, 16, 29, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 36, 34,
+  14, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 14,
+  22, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 66, 19, 12, 11, 0, 0, 0, 235, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 201, 37,
+  0, 0, 3, 10, 12, 12, 12, 12, 12, 12, 35, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 21, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 49, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 24, 12, 12, 3, 0, 0, 57, 241, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 114, 0, 0, 0, 3, 11, 12, 12, 12, 12, 12, 21, 28,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 37, 27, 17, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 25, 62, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 51, 17, 12, 12, 3, 0,
+  0, 175, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 231, 62, 0, 0, 0, 3, 11, 12, 12,
+  12, 12, 12, 20, 36, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 36, 17,
+  13, 12, 12, 12, 12, 12, 12, 12, 12, 20, 65, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 55, 16, 12,
+  12, 6, 0, 0, 95, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 64, 0, 0,
+  0, 3, 10, 12, 12, 12, 12, 12, 12, 33, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 30, 12, 12, 12, 12, 12, 12, 12, 12, 37, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  53, 38, 12, 12, 10, 3, 0, 18, 162, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 228, 76, 0, 0, 0, 3, 11, 12, 12, 12, 12, 12, 20, 27, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 35, 28, 15, 12, 12, 12, 12, 12,
+  36, 69, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 21, 12, 12, 12, 8, 0, 0, 54, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 236, 77, 0, 0, 0, 3, 10, 11, 12, 12,
+  12, 12, 18, 36, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 35, 14,
+  13, 12, 12, 14, 54, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 68, 37, 13, 12, 12, 11, 1, 0, 0, 220,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 96, 50, 0, 0,
+  0, 4, 11, 12, 12, 12, 12, 12, 25, 38, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 30, 21, 21, 44, 71, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 48, 12, 12, 12, 12, 8,
+  0, 0, 67, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 211, 50, 0, 0, 0, 4, 12, 12, 12, 12, 12, 12, 38, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 44, 51, 54, 71, 71,
+  71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 38, 26, 12,
+  12, 12, 7, 0, 0, 0, 188, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 231, 41, 0, 0, 0, 4, 10, 11, 12, 12,
+  12, 15, 26, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 52, 67, 70, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71, 71,
+  37, 12, 12, 12, 12, 11, 4, 0, 0, 111, 246, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 230, 95, 35, 0, 0,
+  0, 6, 12, 12, 12, 12, 19, 28, 38, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 67, 71, 71, 71, 71, 71, 71, 71,
+  71, 71, 66, 48, 24, 12, 12, 12, 11, 5, 0, 0, 25, 175, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 195, 21, 0, 0, 0, 6, 12, 12, 12, 12, 12, 24, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 51, 71, 71, 71,
+  71, 71, 71, 71, 71, 71, 59, 12, 12, 12, 12, 12, 5, 0, 0, 4,
+  185, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 209, 22, 0, 0, 0, 6, 11, 12, 12, 12,
+  12, 15, 30, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 52, 71, 71, 71, 71, 71, 71, 71, 71, 20, 12, 12, 12, 12, 11,
+  1, 0, 0, 33, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 202, 42, 0, 0, 0,
+  5, 11, 12, 12, 12, 12, 22, 29, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 50, 71, 71, 71, 71, 71, 71, 71, 54, 13, 12,
+  12, 12, 10, 2, 0, 0, 55, 222, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  202, 31, 0, 0, 0, 6, 12, 12, 12, 12, 12, 13, 27, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 50, 71, 71, 71, 71, 71, 71,
+  52, 17, 12, 12, 12, 10, 2, 0, 0, 52, 214, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 233, 174, 18, 0, 0, 1, 7, 11, 12, 12, 12,
+  20, 34, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 50, 71, 71,
+  71, 71, 71, 71, 42, 12, 12, 12, 10, 1, 0, 0, 3, 107, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 25, 0, 0, 0,
+  6, 9, 12, 12, 12, 12, 26, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 50, 71, 71, 71, 71, 71, 71, 42, 12, 12, 9, 2, 0, 0, 0,
+  99, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  188, 1, 0, 0, 0, 1, 4, 11, 12, 12, 12, 21, 21, 35, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 50, 71, 71, 71, 71, 71, 71, 42, 12, 10, 2,
+  0, 0, 0, 102, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 232, 143, 12, 0, 0, 0, 2, 10, 12, 12, 12,
+  12, 13, 19, 36, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 53, 71, 71, 71, 71, 70, 50,
+  14, 10, 1, 0, 0, 63, 232, 246, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 150, 87, 0, 0, 0,
+  2, 6, 11, 12, 12, 12, 12, 19, 27, 38, 39, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 52, 71, 71, 71,
+  71, 71, 70, 12, 9, 1, 0, 0, 70, 240, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  240, 100, 0, 0, 0, 0, 3, 6, 12, 12, 12, 12, 12, 24, 39, 39,
+  39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  67, 71, 71, 71, 71, 71, 70, 10, 2, 0, 0, 73, 226, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 247, 235, 61, 0, 0, 0, 0, 5, 9, 12, 12,
+  12, 12, 14, 27, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39, 39,
+  39, 39, 50, 68, 70, 71, 71, 71, 71, 64, 24, 0, 0, 0, 45, 244,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 237, 110, 44, 0, 0,
+  0, 0, 8, 12, 12, 12, 12, 12, 25, 27, 34, 39, 39, 39, 39, 39,
+  39, 39, 39, 39, 39, 51, 60, 71, 71, 71, 71, 71, 71, 33, 0, 0,
+  0, 0, 132, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 207, 163, 0, 0, 0, 0, 3, 9, 12, 12, 12, 12, 12, 17, 36,
+  39, 39, 39, 39, 39, 39, 39, 39, 54, 70, 71, 71, 71, 71, 71, 71,
+  56, 10, 0, 0, 84, 175, 251, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 253, 181, 49, 10, 0, 0, 0, 2, 10, 12,
+  12, 12, 12, 13, 13, 13, 13, 13, 13, 55, 69, 69, 70, 71, 71, 71,
+  71, 71, 71, 56, 2, 0, 0, 95, 247, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 143, 0, 0,
+  0, 0, 2, 6, 11, 12, 12, 12, 12, 12, 12, 12, 12, 36, 50, 71,
+  71, 71, 71, 71, 71, 71, 52, 6, 0, 0, 89, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 253, 178, 91, 0, 0, 0, 0, 3, 6, 12, 12, 12, 12, 12, 12,
+  12, 12, 15, 48, 71, 71, 71, 71, 71, 53, 8, 0, 0, 0, 196, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 249, 243, 60, 30, 0, 0, 0, 0, 8,
+  10, 12, 12, 12, 12, 12, 12, 13, 14, 14, 14, 14, 13, 2, 0, 0,
+  15, 154, 252, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 195, 117,
+  10, 0, 0, 0, 2, 6, 6, 12, 12, 12, 12, 12, 12, 12, 12, 12,
+  6, 0, 0, 7, 158, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 189, 112, 0, 0, 0, 0, 0, 3, 7, 12, 12, 12,
+  12, 12, 8, 3, 0, 0, 0, 154, 254, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 247, 84, 38, 0, 0, 0,
+  0, 0, 2, 9, 11, 11, 5, 0, 0, 19, 168, 253, 254, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  211, 121, 117, 0, 0, 0, 0, 0, 4, 5, 0, 0, 13, 168, 254, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 252, 186, 91, 0, 0, 0, 0, 0, 0, 0,
+  171, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 251, 50, 0,
+  0, 0, 0, 39, 231, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 226, 68, 0, 0, 50, 208, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 225, 190, 190, 216, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 };
+/* Define image 'title' of size 294x94x1x3 and type 'const unsigned char' */
+const unsigned char data_title[] = {
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 2, 2, 2, 1, 1, 1, 1, 1, 2, 2, 2,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 0, 0, 0, 0,
+  1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 1, 1, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+  2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
+  0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 1, 3, 1, 3, 1, 3, 1, 1, 1,
+  1, 0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0,
+  0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2,
+  2, 0, 1, 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1,
+  1, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0,
+  1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+  1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  1, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 1, 1, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0,
+  0, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1,
+  1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0,
+  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+  1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 1, 0,
+  1, 0, 1, 0, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 1, 1, 0, 2, 0,
+  2, 2, 1, 2, 2, 0, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0,
+  0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
+  1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1,
+  2, 1, 1, 0, 1, 0, 2, 0, 3, 1, 0, 0, 1, 0, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0,
+  0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 2, 0, 2, 2, 2, 1,
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 1, 0, 2, 1, 1, 2,
+  2, 0, 2, 0, 2, 0, 2, 2, 2, 1, 1, 0, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  0, 0, 1, 0, 2, 1, 2, 3, 3, 3, 3, 2, 3, 2, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 0, 0,
+  1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0,
+  1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  1, 1, 1, 1, 1, 1, 3, 1, 1, 0, 1, 0, 2, 1, 3, 2,
+  2, 3, 3, 2, 4, 2, 2, 1, 2, 1, 1, 3, 3, 2, 2, 2,
+  3, 2, 2, 3, 3, 1, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3,
+  3, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3,
+  3, 3, 3, 3, 3, 3, 2, 2, 1, 2, 2, 2, 1, 1, 0, 0,
+  2, 1, 2, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 0,
+  2, 1, 1, 2, 3, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+  1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2,
+  1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 2, 2, 2, 5, 5,
+  5, 3, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 0,
+  2, 1, 2, 2, 3, 3, 2, 3, 3, 4, 4, 4, 3, 2, 3, 3,
+  3, 3, 3, 2, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3, 4, 4,
+  4, 4, 4, 5, 5, 5, 5, 5, 4, 4, 4, 4, 4, 3, 3, 3,
+  3, 3, 4, 4, 4, 4, 5, 5, 5, 5, 5, 4, 4, 3, 3, 3,
+  3, 2, 1, 1, 1, 1, 2, 1, 1, 1, 3, 3, 2, 2, 2, 2,
+  2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1,
+  2, 1, 4, 3, 4, 3, 5, 4, 5, 5, 6, 6, 4, 4, 4, 4,
+  6, 6, 6, 6, 6, 6, 5, 4, 3, 3, 2, 4, 3, 2, 2, 1,
+  0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 0, 2, 2, 3, 4,
+  4, 5, 6, 6, 7, 6, 6, 6, 5, 4, 4, 3, 2, 3, 2, 1,
+  0, 1, 0, 0, 0, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+  1, 1, 2, 2, 2, 1, 2, 3, 4, 2, 3, 2, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5,
+  5, 5, 5, 5, 5, 4, 5, 5, 6, 6, 6, 7, 6, 7, 6, 7,
+  7, 7, 5, 5, 6, 5, 5, 5, 6, 6, 6, 5, 6, 6, 6, 7,
+  5, 6, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 7, 7, 7,
+  7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 8, 8, 8,
+  7, 7, 6, 6, 7, 7, 6, 5, 7, 6, 5, 5, 6, 5, 5, 5,
+  5, 4, 5, 5, 5, 5, 4, 3, 2, 1, 3, 2, 1, 1, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1,
+  1, 0, 1, 1, 2, 1, 2, 4, 5, 4, 6, 6, 7, 6, 7, 7,
+  8, 6, 6, 5, 6, 6, 6, 6, 6, 8, 6, 6, 6, 5, 4, 5,
+  5, 5, 3, 2, 3, 2, 2, 1, 0, 2, 0, 1, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2,
+  2, 1, 3, 3, 4, 5, 6, 6, 7, 8, 9, 9, 9, 8, 9, 7,
+  7, 6, 4, 3, 4, 4, 2, 1, 2, 2, 1, 1, 1, 0, 1, 1,
+  1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 3, 2, 3, 4, 5, 6,
+  6, 5, 6, 6, 6, 5, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6,
+  6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 5, 6, 5, 6, 5,
+  6, 6, 6, 6, 6, 6, 8, 6, 8, 6, 8, 6, 8, 6, 7, 7,
+  8, 7, 8, 9, 10, 10, 10, 10, 9, 8, 8, 8, 8, 8, 8, 7,
+  7, 7, 10, 8, 9, 9, 9, 9, 9, 9, 11, 10, 10, 10, 11, 11,
+  11, 11, 11, 11, 11, 10, 10, 10, 9, 9, 9, 9, 9, 9, 9, 10,
+  10, 10, 11, 11, 11, 11, 11, 10, 10, 10, 9, 8, 9, 8, 7, 7,
+  6, 8, 6, 6, 7, 7, 6, 6, 6, 6, 8, 7, 7, 5, 5, 4,
+  3, 4, 1, 3, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 2, 2, 2, 1, 2, 2, 3, 0, 1, 3, 4, 3, 4, 5, 7,
+  7, 7, 9, 9, 10, 10, 11, 10, 10, 9, 10, 10, 10, 10, 9, 10,
+  10, 8, 8, 8, 9, 10, 8, 6, 6, 5, 5, 4, 4, 3, 1, 2,
+  1, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  2, 1, 2, 3, 2, 4, 2, 2, 4, 6, 8, 9, 9, 9, 11, 12,
+  12, 12, 11, 11, 11, 9, 8, 7, 7, 5, 5, 4, 5, 4, 4, 2,
+  0, 1, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
+  0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 0, 0, 0, 3, 3,
+  5, 5, 7, 7, 7, 8, 8, 7, 8, 8, 9, 8, 9, 9, 10, 10,
+  9, 9, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  9, 8, 9, 8, 9, 8, 9, 9, 9, 9, 8, 8, 9, 8, 9, 8,
+  8, 7, 8, 8, 9, 10, 12, 11, 11, 11, 12, 13, 14, 12, 12, 11,
+  13, 12, 11, 11, 11, 10, 10, 11, 12, 10, 11, 12, 13, 13, 13, 12,
+  12, 12, 13, 13, 14, 14, 14, 14, 15, 15, 14, 14, 13, 13, 13, 13,
+  12, 12, 12, 12, 12, 12, 13, 13, 14, 14, 14, 14, 14, 13, 12, 12,
+  14, 12, 12, 11, 11, 10, 9, 10, 11, 10, 10, 10, 10, 10, 9, 8,
+  9, 8, 8, 6, 7, 6, 4, 5, 4, 4, 4, 2, 1, 0, 1, 0,
+  1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 0, 0, 0, 0, 1, 0, 1, 3, 2, 2, 1, 3, 2, 2, 2,
+  5, 6, 5, 6, 9, 9, 9, 9, 11, 11, 12, 12, 13, 13, 14, 12,
+  14, 14, 14, 14, 13, 13, 12, 12, 10, 9, 11, 10, 9, 8, 7, 7,
+  7, 7, 5, 4, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 3, 2, 3, 3, 4, 4, 6, 4, 7, 8,
+  10, 10, 10, 11, 12, 14, 15, 14, 14, 13, 14, 13, 11, 12, 9, 9,
+  7, 8, 6, 7, 5, 5, 2, 1, 0, 0, 0, 0, 1, 1, 1, 1,
+  1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 3, 4, 7, 6, 8, 10, 10, 11, 11, 10, 10, 9,
+  10, 10, 10, 10, 11, 12, 13, 11, 13, 11, 12, 10, 12, 10, 12, 10,
+  12, 10, 12, 10, 12, 10, 10, 10, 11, 11, 11, 11, 11, 10, 10, 10,
+  12, 12, 12, 11, 11, 11, 11, 11, 11, 10, 11, 12, 14, 14, 15, 14,
+  15, 16, 16, 16, 16, 16, 15, 15, 14, 13, 13, 14, 14, 15, 14, 14,
+  15, 14, 15, 16, 16, 16, 16, 15, 15, 16, 17, 17, 17, 17, 17, 17,
+  17, 17, 16, 16, 15, 15, 15, 14, 14, 14, 15, 15, 16, 16, 17, 17,
+  17, 17, 17, 16, 15, 17, 17, 16, 14, 13, 15, 14, 13, 13, 12, 11,
+  12, 11, 11, 11, 12, 12, 11, 11, 10, 9, 9, 8, 7, 7, 5, 6,
+  5, 5, 2, 1, 2, 1, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0,
+  0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 0, 2, 3, 2,
+  2, 2, 4, 3, 3, 4, 5, 6, 7, 7, 10, 12, 13, 12, 15, 16,
+  15, 15, 15, 16, 17, 15, 17, 18, 17, 17, 16, 16, 16, 15, 13, 13,
+  13, 13, 10, 11, 10, 10, 9, 8, 7, 4, 3, 1, 1, 1, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 3, 5,
+  6, 6, 8, 8, 8, 9, 11, 13, 14, 13, 15, 16, 17, 17, 17, 16,
+  16, 15, 15, 14, 12, 12, 10, 9, 8, 7, 5, 4, 3, 3, 1, 0,
+  0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 5, 5, 6, 9, 12,
+  11, 12, 13, 14, 13, 13, 14, 13, 13, 13, 14, 14, 16, 14, 16, 13,
+  15, 13, 15, 13, 15, 13, 15, 13, 15, 13, 15, 13, 13, 12, 13, 14,
+  14, 13, 13, 13, 13, 13, 14, 14, 14, 13, 13, 13, 13, 13, 13, 12,
+  14, 15, 16, 16, 19, 18, 19, 19, 20, 20, 20, 19, 18, 18, 17, 16,
+  16, 17, 17, 17, 17, 17, 18, 17, 18, 19, 20, 19, 18, 19, 20, 20,
+  21, 21, 21, 21, 21, 21, 21, 21, 20, 20, 20, 19, 19, 19, 19, 19,
+  19, 19, 20, 20, 21, 21, 21, 21, 21, 20, 19, 19, 20, 20, 18, 16,
+  17, 16, 15, 15, 15, 14, 14, 14, 14, 13, 15, 14, 13, 13, 14, 12,
+  11, 9, 9, 9, 7, 8, 7, 5, 5, 3, 2, 2, 2, 1, 0, 0,
+  0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1,
+  1, 2, 0, 2, 3, 2, 3, 4, 4, 5, 5, 5, 7, 9, 11, 12,
+  14, 14, 16, 16, 18, 19, 19, 19, 19, 18, 18, 18, 19, 19, 21, 20,
+  19, 19, 20, 18, 16, 17, 16, 15, 14, 13, 13, 13, 11, 11, 9, 6,
+  3, 3, 4, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 2, 3, 3, 5, 6, 7, 10, 10, 11, 12, 12, 13, 15, 17, 17,
+  19, 19, 19, 19, 19, 19, 18, 17, 16, 15, 16, 15, 13, 11, 12, 9,
+  7, 4, 4, 3, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2,
+  6, 6, 8, 8, 11, 14, 16, 16, 16, 17, 16, 16, 18, 16, 17, 17,
+  17, 18, 18, 17, 17, 17, 17, 17, 16, 16, 16, 16, 16, 16, 17, 17,
+  17, 17, 17, 16, 16, 16, 17, 17, 17, 17, 17, 16, 16, 16, 17, 17,
+  16, 16, 17, 17, 17, 16, 17, 19, 20, 20, 20, 21, 21, 23, 21, 22,
+  21, 21, 22, 21, 20, 19, 19, 19, 19, 19, 18, 19, 19, 20, 21, 22,
+  22, 21, 23, 22, 23, 24, 24, 24, 25, 25, 25, 24, 24, 24, 23, 23,
+  23, 23, 22, 22, 22, 22, 22, 23, 23, 23, 24, 24, 24, 24, 24, 23,
+  22, 22, 24, 22, 21, 20, 19, 17, 18, 17, 19, 18, 17, 16, 17, 17,
+  16, 15, 16, 16, 16, 15, 14, 14, 12, 11, 9, 9, 8, 7, 5, 3,
+  2, 1, 2, 2, 1, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0,
+  0, 0, 1, 0, 0, 0, 2, 1, 1, 1, 2, 3, 3, 3, 5, 5,
+  8, 9, 11, 12, 14, 16, 18, 18, 20, 19, 22, 22, 23, 23, 23, 24,
+  23, 23, 23, 23, 24, 23, 25, 24, 23, 21, 20, 19, 19, 19, 18, 17,
+  16, 15, 14, 13, 11, 9, 6, 5, 5, 4, 2, 0, 0, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 1, 3, 4, 6, 7, 8, 10, 12, 12,
+  15, 15, 17, 19, 20, 20, 22, 24, 23, 23, 23, 22, 22, 20, 20, 20,
+  20, 19, 17, 15, 14, 12, 9, 6, 3, 2, 0, 0, 0, 0, 0, 0,
+  1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 1, 0, 2, 7, 8, 10, 10, 14, 17, 18, 19, 19, 21,
+  20, 21, 20, 21, 21, 21, 21, 22, 22, 22, 22, 22, 21, 21, 21, 21,
+  21, 21, 21, 21, 21, 21, 21, 20, 21, 21, 21, 21, 21, 21, 22, 22,
+  22, 21, 21, 20, 20, 19, 21, 20, 21, 19, 19, 20, 21, 23, 24, 23,
+  24, 25, 25, 26, 26, 26, 25, 26, 25, 24, 23, 22, 23, 23, 24, 24,
+  24, 24, 24, 25, 24, 25, 26, 25, 28, 27, 28, 28, 29, 29, 29, 29,
+  29, 29, 29, 28, 28, 28, 27, 27, 27, 27, 27, 27, 27, 27, 28, 28,
+  29, 29, 29, 29, 29, 28, 27, 27, 27, 26, 26, 24, 23, 22, 21, 20,
+  23, 22, 22, 22, 21, 21, 21, 20, 21, 19, 18, 19, 17, 16, 16, 15,
+  11, 11, 9, 7, 5, 4, 1, 2, 3, 3, 1, 0, 0, 0, 1, 1,
+  1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 2, 4, 3, 1, 1,
+  4, 4, 5, 7, 8, 8, 11, 12, 14, 16, 17, 20, 23, 23, 24, 23,
+  25, 26, 28, 27, 29, 28, 28, 28, 29, 29, 30, 29, 30, 30, 27, 25,
+  24, 23, 23, 23, 21, 22, 20, 19, 18, 15, 14, 12, 7, 6, 7, 7,
+  3, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 2, 2, 4, 5,
+  7, 10, 10, 13, 16, 17, 19, 18, 22, 23, 25, 25, 26, 28, 29, 28,
+  28, 27, 27, 25, 24, 25, 24, 23, 19, 17, 15, 13, 9, 6, 2, 3,
+  1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0,
+  0, 0, 0, 1, 1, 0, 0, 0, 1, 1, 4, 5, 11, 11, 11, 12,
+  18, 20, 22, 22, 25, 25, 26, 25, 27, 26, 26, 26, 26, 26, 27, 26,
+  26, 26, 26, 25, 25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 25, 26,
+  26, 26, 26, 26, 27, 26, 26, 26, 25, 25, 24, 23, 25, 24, 25, 25,
+  23, 24, 25, 27, 28, 27, 30, 30, 30, 31, 31, 32, 30, 30, 31, 30,
+  29, 28, 29, 28, 29, 29, 29, 30, 30, 31, 30, 31, 32, 31, 32, 32,
+  33, 34, 34, 35, 35, 35, 35, 34, 34, 34, 33, 33, 33, 32, 32, 32,
+  32, 32, 32, 33, 33, 34, 34, 34, 34, 34, 34, 33, 32, 32, 32, 31,
+  31, 30, 29, 28, 27, 26, 27, 27, 27, 26, 26, 25, 25, 25, 25, 24,
+  23, 21, 21, 21, 18, 18, 15, 14, 11, 9, 6, 5, 2, 1, 4, 3,
+  2, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 0, 1,
+  2, 4, 6, 5, 4, 2, 6, 7, 10, 12, 14, 14, 16, 17, 19, 23,
+  25, 26, 31, 32, 31, 31, 32, 33, 36, 34, 36, 36, 35, 36, 36, 36,
+  38, 37, 38, 37, 35, 33, 31, 31, 31, 30, 29, 30, 28, 27, 25, 21,
+  20, 16, 12, 11, 11, 12, 9, 6, 4, 2, 3, 2, 1, 1, 2, 2,
+  1, 3, 4, 4, 7, 8, 11, 12, 14, 17, 21, 23, 23, 23, 28, 31,
+  31, 33, 33, 35, 36, 35, 35, 34, 33, 32, 31, 30, 29, 28, 24, 21,
+  19, 17, 10, 7, 5, 5, 2, 0, 0, 0, 0, 1, 2, 2, 2, 2,
+  2, 2, 1, 1, 1, 1, 0, 0, 1, 2, 2, 0, 1, 0, 2, 3,
+  5, 10, 16, 15, 14, 15, 21, 25, 28, 29, 33, 33, 33, 32, 34, 35,
+  33, 33, 33, 34, 36, 35, 35, 35, 35, 34, 34, 34, 34, 34, 34, 34,
+  35, 35, 35, 35, 33, 33, 33, 34, 36, 35, 35, 35, 35, 34, 34, 33,
+  33, 32, 32, 31, 31, 31, 31, 32, 31, 34, 35, 35, 38, 37, 38, 39,
+  38, 39, 37, 37, 39, 39, 37, 36, 36, 36, 35, 35, 36, 36, 37, 38,
+  38, 40, 40, 39, 39, 38, 39, 40, 40, 40, 41, 41, 40, 40, 40, 39,
+  39, 39, 38, 38, 38, 38, 38, 38, 38, 39, 39, 39, 40, 40, 40, 40,
+  40, 39, 38, 39, 39, 39, 38, 36, 36, 35, 36, 35, 35, 34, 34, 34,
+  33, 33, 34, 33, 33, 32, 29, 29, 28, 25, 23, 22, 20, 18, 15, 11,
+  9, 5, 3, 2, 3, 4, 2, 0, 0, 0, 1, 1, 1, 0, 0, 0,
+  0, 0, 1, 0, 1, 2, 1, 3, 6, 5, 4, 4, 8, 10, 13, 16,
+  17, 18, 22, 22, 24, 26, 28, 31, 36, 38, 36, 36, 39, 39, 39, 39,
+  38, 39, 40, 42, 43, 44, 44, 43, 41, 40, 37, 37, 35, 36, 36, 35,
+  34, 35, 33, 32, 28, 26, 22, 20, 16, 14, 14, 14, 11, 7, 3, 3,
+  3, 3, 1, 2, 3, 3, 2, 3, 4, 4, 6, 6, 8, 10, 13, 17,
+  23, 25, 28, 29, 33, 37, 39, 39, 40, 39, 40, 40, 40, 41, 40, 39,
+  39, 37, 32, 30, 26, 24, 22, 18, 13, 10, 7, 6, 3, 2, 0, 0,
+  0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 1, 0, 1, 1,
+  2, 1, 1, 1, 1, 3, 7, 11, 15, 16, 18, 20, 26, 30, 31, 32,
+  37, 36, 37, 36, 36, 37, 38, 39, 42, 42, 43, 41, 38, 38, 41, 41,
+  38, 38, 40, 41, 41, 40, 39, 39, 41, 41, 40, 39, 39, 41, 42, 42,
+  41, 41, 41, 41, 39, 38, 35, 37, 39, 39, 36, 36, 37, 37, 38, 39,
+  39, 38, 40, 41, 45, 47, 48, 49, 48, 45, 45, 43, 42, 41, 42, 42,
+  40, 39, 40, 39, 40, 41, 44, 44, 43, 43, 43, 43, 42, 42, 45, 46,
+  51, 52, 52, 49, 43, 41, 42, 44, 44, 44, 43, 44, 46, 46, 43, 44,
+  44, 45, 44, 45, 45, 45, 48, 48, 49, 46, 45, 43, 42, 40, 40, 40,
+  41, 42, 40, 40, 38, 37, 38, 38, 37, 38, 40, 38, 37, 34, 32, 29,
+  26, 24, 22, 20, 17, 14, 8, 5, 1, 2, 3, 3, 1, 0, 0, 0,
+  1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 1, 4, 4,
+  7, 8, 12, 16, 17, 20, 23, 23, 25, 28, 29, 26, 27, 33, 41, 42,
+  43, 42, 44, 44, 40, 38, 36, 37, 40, 46, 52, 52, 50, 48, 43, 39,
+  36, 34, 39, 42, 39, 42, 43, 38, 38, 36, 31, 28, 25, 22, 21, 19,
+  19, 16, 10, 6, 3, 1, 0, 2, 3, 4, 4, 3, 4, 3, 4, 4,
+  2, 3, 5, 8, 13, 19, 26, 28, 28, 34, 33, 40, 39, 46, 38, 43,
+  36, 45, 44, 48, 43, 49, 48, 42, 33, 26, 27, 26, 22, 19, 18, 14,
+  10, 8, 2, 2, 2, 2, 1, 3, 1, 1, 0, 0, 0, 0, 0, 0,
+  1, 1, 0, 1, 1, 0, 2, 4, 4, 3, 5, 6, 7, 9, 15, 19,
+  17, 23, 29, 31, 39, 31, 36, 39, 38, 36, 36, 37, 38, 43, 50, 53,
+  47, 42, 38, 33, 48, 41, 41, 40, 40, 53, 46, 35, 43, 36, 43, 49,
+  42, 43, 44, 46, 46, 45, 44, 46, 48, 42, 47, 39, 37, 38, 40, 42,
+  42, 36, 43, 45, 48, 33, 47, 33, 43, 41, 56, 63, 57, 58, 63, 55,
+  52, 43, 46, 42, 49, 47, 38, 41, 42, 39, 44, 43, 49, 45, 49, 38,
+  51, 48, 42, 45, 50, 57, 66, 69, 77, 53, 56, 40, 44, 52, 53, 52,
+  48, 51, 58, 52, 51, 48, 49, 52, 51, 48, 52, 48, 64, 59, 62, 62,
+  52, 45, 45, 42, 39, 41, 40, 53, 46, 41, 35, 35, 39, 40, 38, 39,
+  41, 41, 44, 39, 34, 29, 26, 26, 24, 21, 22, 17, 6, 0, 3, 4,
+  2, 2, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+  0, 2, 2, 2, 4, 7, 11, 14, 16, 18, 19, 21, 26, 27, 30, 28,
+  30, 34, 36, 38, 45, 50, 44, 49, 58, 61, 59, 57, 54, 57, 63, 68,
+  77, 81, 76, 66, 57, 56, 52, 51, 53, 49, 43, 42, 42, 40, 42, 40,
+  36, 37, 22, 30, 26, 19, 22, 17, 12, 8, 6, 1, 2, 4, 5, 4,
+  5, 6, 5, 4, 5, 4, 6, 6, 6, 10, 15, 23, 30, 34, 34, 40,
+  51, 61, 62, 51, 62, 54, 62, 63, 57, 62, 61, 63, 58, 46, 39, 30,
+  31, 29, 23, 20, 19, 15, 12, 9, 5, 4, 5, 4, 4, 4, 2, 2,
+  1, 0, 0, 0, 1, 3, 2, 2, 3, 1, 1, 1, 3, 3, 5, 5,
+  5, 7, 8, 10, 16, 18, 27, 20, 34, 35, 29, 49, 50, 47, 51, 49,
+  49, 50, 49, 55, 65, 67, 68, 62, 50, 51, 58, 64, 59, 43, 54, 34,
+  49, 55, 46, 45, 59, 56, 58, 57, 58, 59, 61, 60, 60, 59, 65, 67,
+  55, 52, 47, 53, 50, 54, 43, 40, 45, 44, 48, 44, 44, 46, 55, 63,
+  65, 35, 4, 14, 45, 56, 68, 65, 47, 51, 55, 42, 50, 50, 50, 44,
+  51, 55, 65, 74, 65, 75, 75, 76, 76, 75, 70, 56, 43, 32, 6, 10,
+  47, 43, 50, 52, 55, 59, 63, 65, 75, 86, 69, 74, 82, 75, 76, 79,
+  69, 44, 35, 6, 0, 27, 54, 51, 48, 43, 46, 48, 57, 56, 58, 54,
+  49, 49, 55, 55, 53, 53, 54, 55, 59, 53, 43, 38, 31, 31, 26, 23,
+  24, 20, 7, 0, 5, 7, 3, 2, 0, 0, 0, 0, 1, 0, 0, 0,
+  0, 0, 0, 0, 1, 1, 2, 2, 4, 6, 8, 11, 18, 19, 16, 16,
+  18, 22, 29, 32, 32, 35, 37, 39, 40, 42, 46, 47, 58, 63, 70, 76,
+  76, 66, 47, 33, 22, 16, 17, 19, 22, 25, 34, 50, 62, 81, 84, 68,
+  54, 48, 46, 44, 45, 35, 36, 42, 28, 32, 33, 29, 25, 24, 18, 15,
+  12, 7, 5, 5, 5, 5, 5, 5, 6, 4, 4, 5, 11, 12, 12, 15,
+  21, 27, 36, 38, 38, 40, 22, 34, 42, 47, 55, 51, 44, 47, 50, 59,
+  54, 40, 17, 1, 53, 40, 35, 32, 25, 22, 19, 16, 12, 9, 6, 5,
+  6, 4, 4, 5, 4, 1, 1, 0, 0, 0, 2, 2, 2, 2, 1, 0,
+  0, 1, 2, 3, 6, 5, 7, 9, 11, 12, 18, 21, 19, 19, 40, 55,
+  45, 57, 61, 76, 83, 85, 83, 82, 79, 81, 88, 92, 89, 87, 86, 85,
+  81, 86, 75, 78, 54, 51, 59, 44, 54, 69, 79, 84, 85, 84, 87, 87,
+  85, 85, 88, 88, 82, 87, 87, 89, 83, 69, 61, 42, 45, 46, 51, 52,
+  50, 53, 53, 74, 95, 36, 0, 4, 8, 0, 0, 0, 16, 78, 69, 46,
+  50, 52, 48, 54, 53, 66, 51, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 13, 68, 60, 56, 52, 52, 61, 18, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 12, 0, 0, 52, 67, 54, 55, 55,
+  53, 46, 81, 80, 82, 83, 81, 83, 88, 90, 89, 86, 85, 79, 75, 63,
+  51, 49, 36, 32, 29, 25, 27, 22, 9, 6, 8, 8, 4, 2, 0, 0,
+  0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 0, 3, 5, 6, 7,
+  11, 15, 21, 21, 18, 16, 19, 23, 32, 35, 37, 39, 43, 45, 48, 53,
+  64, 69, 61, 42, 16, 0, 0, 0, 7, 9, 5, 6, 12, 18, 16, 6,
+  0, 1, 0, 0, 0, 12, 46, 65, 62, 57, 50, 47, 44, 38, 44, 38,
+  29, 25, 27, 27, 25, 22, 18, 13, 9, 8, 5, 4, 6, 6, 6, 5,
+  4, 6, 14, 16, 16, 17, 22, 29, 36, 41, 51, 57, 5, 0, 0, 2,
+  0, 0, 0, 0, 0, 0, 0, 0, 2, 13, 61, 44, 38, 33, 27, 24,
+  22, 17, 13, 12, 7, 6, 7, 5, 6, 5, 5, 3, 3, 2, 2, 1,
+  2, 2, 2, 3, 2, 2, 1, 1, 2, 3, 4, 6, 8, 11, 11, 14,
+  21, 22, 28, 37, 36, 42, 49, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 22, 61, 48, 47, 54, 61, 4,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 54, 49, 47, 55, 57, 51, 55, 67, 77, 26, 12, 12, 28, 27, 18,
+  22, 27, 9, 0, 71, 65, 55, 55, 47, 61, 61, 75, 66, 73, 2, 19,
+  17, 18, 35, 30, 21, 14, 15, 19, 25, 23, 5, 21, 75, 60, 55, 54,
+  55, 63, 79, 43, 0, 14, 23, 20, 23, 21, 23, 24, 25, 26, 35, 20,
+  0, 54, 72, 56, 55, 51, 65, 69, 68, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 4, 43, 43, 35, 30, 25, 26, 21, 11, 7,
+  10, 9, 5, 3, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 2, 3, 5, 6, 7, 13, 17, 23, 22, 22, 19, 19, 23, 36, 42,
+  54, 48, 38, 46, 64, 70, 49, 20, 0, 1, 10, 17, 18, 19, 17, 19,
+  22, 22, 21, 23, 25, 25, 22, 22, 20, 21, 18, 11, 0, 0, 14, 53,
+  61, 55, 50, 48, 46, 37, 27, 31, 27, 29, 28, 26, 24, 19, 13, 10,
+  6, 5, 6, 8, 9, 7, 7, 10, 17, 19, 19, 20, 22, 27, 35, 37,
+  44, 58, 49, 0, 1, 10, 21, 26, 18, 18, 19, 22, 16, 11, 7, 23,
+  69, 49, 41, 35, 30, 26, 24, 21, 18, 13, 9, 8, 9, 8, 7, 6,
+  7, 4, 3, 3, 4, 4, 5, 5, 6, 6, 5, 5, 4, 3, 5, 6,
+  8, 7, 10, 12, 14, 17, 24, 26, 23, 25, 36, 58, 54, 58, 0, 0,
+  13, 19, 20, 15, 8, 5, 9, 10, 6, 5, 15, 6, 3, 0, 35, 74,
+  63, 63, 59, 54, 56, 55, 45, 0, 1, 9, 7, 6, 7, 6, 4, 6,
+  10, 22, 3, 6, 2, 6, 66, 51, 50, 51, 57, 56, 53, 57, 76, 39,
+  0, 23, 39, 40, 32, 31, 32, 26, 29, 6, 0, 88, 56, 51, 53, 56,
+  65, 64, 66, 72, 66, 0, 11, 39, 31, 34, 30, 28, 28, 30, 31, 22,
+  5, 20, 79, 58, 59, 60, 59, 57, 64, 79, 30, 0, 17, 28, 35, 27,
+  29, 29, 41, 43, 35, 19, 0, 51, 69, 57, 63, 54, 53, 73, 97, 0,
+  0, 6, 9, 11, 17, 19, 16, 14, 12, 10, 3, 0, 6, 55, 52, 35,
+  28, 22, 22, 20, 12, 10, 13, 11, 8, 4, 1, 0, 1, 0, 1, 1,
+  0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 6, 9, 14, 19, 24, 24,
+  24, 23, 24, 28, 38, 45, 55, 57, 67, 69, 39, 0, 0, 6, 13, 21,
+  28, 33, 32, 33, 33, 34, 35, 37, 37, 36, 37, 39, 36, 32, 36, 31,
+  28, 30, 31, 20, 3, 0, 1, 56, 67, 60, 52, 55, 30, 33, 28, 28,
+  29, 29, 28, 21, 15, 10, 7, 5, 7, 9, 11, 10, 9, 12, 20, 22,
+  23, 23, 24, 27, 31, 35, 38, 51, 75, 38, 0, 20, 36, 37, 37, 34,
+  35, 37, 35, 26, 13, 28, 73, 49, 41, 35, 30, 29, 27, 22, 18, 15,
+  12, 11, 11, 10, 9, 8, 9, 6, 7, 6, 6, 6, 6, 7, 6, 7,
+  7, 6, 5, 5, 7, 7, 8, 9, 11, 13, 14, 17, 24, 25, 24, 35,
+  39, 46, 61, 66, 57, 0, 19, 32, 36, 34, 28, 24, 28, 28, 23, 21,
+  24, 20, 2, 19, 82, 68, 61, 58, 55, 54, 49, 65, 80, 17, 8, 25,
+  24, 24, 25, 24, 23, 26, 27, 23, 25, 12, 0, 76, 78, 56, 53, 56,
+  57, 53, 57, 68, 76, 0, 4, 26, 42, 50, 47, 41, 39, 42, 34, 25,
+  0, 35, 72, 54, 49, 53, 58, 59, 59, 70, 83, 2, 7, 22, 42, 44,
+  39, 34, 34, 35, 35, 27, 8, 24, 89, 64, 62, 60, 55, 56, 58, 73,
+  90, 0, 15, 34, 36, 41, 42, 40, 50, 48, 33, 16, 0, 48, 81, 48,
+  55, 66, 61, 71, 89, 0, 8, 22, 28, 31, 34, 34, 31, 31, 28, 29,
+  21, 0, 7, 61, 54, 37, 30, 22, 21, 20, 13, 12, 15, 12, 9, 5,
+  2, 0, 1, 0, 3, 1, 0, 0, 0, 0, 0, 2, 3, 4, 7, 7,
+  8, 11, 18, 21, 24, 25, 26, 29, 33, 39, 45, 49, 50, 68, 59, 17,
+  0, 4, 21, 20, 27, 29, 34, 40, 44, 41, 35, 30, 34, 34, 34, 36,
+  38, 39, 41, 43, 37, 44, 47, 39, 32, 35, 29, 13, 9, 0, 41, 92,
+  68, 45, 47, 32, 31, 30, 31, 33, 32, 24, 17, 13, 8, 8, 9, 12,
+  14, 15, 14, 17, 24, 26, 27, 26, 27, 28, 30, 33, 40, 49, 66, 73,
+  0, 22, 34, 41, 42, 41, 42, 42, 38, 29, 11, 24, 71, 48, 39, 34,
+  33, 32, 30, 26, 22, 19, 16, 15, 15, 13, 13, 12, 12, 10, 10, 9,
+  9, 10, 11, 10, 10, 10, 10, 9, 8, 8, 10, 10, 12, 11, 14, 17,
+  17, 19, 26, 29, 30, 41, 44, 43, 45, 62, 78, 26, 7, 27, 38, 42,
+  40, 40, 43, 42, 37, 34, 30, 22, 0, 66, 84, 54, 62, 62, 56, 60,
+  63, 61, 73, 70, 1, 28, 30, 33, 35, 36, 39, 42, 45, 20, 18, 10,
+  78, 66, 59, 60, 56, 55, 51, 51, 60, 76, 66, 0, 6, 33, 47, 50,
+  53, 55, 49, 43, 38, 28, 18, 29, 80, 50, 65, 55, 52, 58, 42, 62,
+  83, 51, 0, 35, 39, 45, 46, 45, 46, 45, 40, 26, 3, 19, 89, 62,
+  61, 57, 57, 62, 62, 81, 85, 21, 1, 23, 41, 44, 53, 51, 49, 42,
+  36, 15, 0, 57, 78, 58, 60, 60, 59, 78, 90, 0, 9, 28, 35, 40,
+  43, 41, 37, 38, 42, 43, 31, 10, 9, 64, 54, 40, 32, 24, 22, 20,
+  15, 13, 13, 11, 7, 5, 2, 0, 1, 0, 3, 1, 0, 0, 0, 0,
+  0, 1, 2, 3, 6, 8, 8, 11, 18, 22, 25, 26, 31, 35, 39, 44,
+  50, 56, 75, 36, 1, 0, 17, 32, 37, 38, 37, 39, 42, 44, 40, 33,
+  28, 26, 23, 19, 18, 24, 26, 26, 33, 38, 43, 38, 47, 54, 48, 42,
+  40, 36, 36, 22, 3, 0, 76, 70, 59, 46, 35, 33, 34, 34, 32, 27,
+  20, 16, 11, 11, 12, 15, 19, 19, 19, 22, 26, 29, 31, 32, 32, 34,
+  34, 35, 39, 49, 61, 83, 0, 10, 27, 47, 48, 46, 49, 44, 37, 28,
+  10, 28, 71, 46, 38, 35, 35, 37, 36, 33, 27, 23, 20, 18, 18, 18,
+  16, 18, 16, 15, 15, 13, 14, 13, 15, 15, 14, 14, 14, 12, 12, 12,
+  12, 13, 17, 16, 18, 22, 21, 23, 30, 33, 37, 41, 37, 46, 44, 58,
+  65, 63, 0, 23, 38, 47, 50, 50, 54, 53, 46, 40, 35, 7, 0, 106,
+  64, 63, 59, 58, 59, 60, 68, 63, 69, 94, 0, 28, 33, 41, 45, 47,
+  51, 49, 29, 24, 0, 65, 77, 58, 66, 54, 59, 52, 47, 56, 63, 74,
+  52, 0, 12, 30, 42, 53, 63, 62, 53, 49, 43, 31, 22, 0, 85, 61,
+  65, 57, 50, 45, 56, 59, 66, 82, 0, 25, 36, 44, 50, 52, 52, 49,
+  42, 27, 9, 22, 93, 64, 63, 59, 57, 61, 64, 68, 95, 45, 0, 15,
+  41, 43, 55, 58, 50, 40, 36, 11, 0, 66, 76, 62, 62, 60, 59, 71,
+  87, 4, 9, 30, 41, 47, 50, 48, 43, 44, 49, 44, 27, 8, 11, 67,
+  56, 44, 33, 26, 21, 20, 16, 13, 12, 10, 8, 6, 2, 0, 1, 0,
+  1, 1, 0, 1, 0, 0, 1, 4, 4, 6, 6, 8, 12, 15, 20, 24,
+  33, 22, 41, 44, 40, 47, 53, 73, 34, 0, 9, 33, 32, 44, 53, 49,
+  46, 55, 31, 32, 33, 32, 24, 16, 0, 0, 0, 0, 6, 20, 27, 22,
+  25, 46, 49, 59, 52, 56, 46, 38, 33, 26, 21, 6, 4, 84, 62, 58,
+  43, 28, 40, 34, 33, 26, 22, 14, 14, 14, 17, 19, 23, 23, 24, 26,
+  29, 35, 33, 35, 42, 39, 34, 44, 44, 57, 61, 86, 28, 10, 26, 42,
+  42, 49, 48, 42, 38, 26, 10, 26, 71, 46, 37, 35, 39, 41, 38, 36,
+  29, 28, 24, 22, 22, 22, 22, 20, 18, 18, 18, 18, 19, 18, 19, 19,
+  18, 18, 18, 17, 17, 16, 17, 16, 21, 21, 24, 25, 26, 27, 33, 36,
+  41, 41, 43, 42, 41, 45, 59, 86, 0, 18, 30, 40, 46, 55, 67, 59,
+  52, 44, 39, 14, 0, 95, 76, 61, 57, 59, 62, 75, 69, 72, 82, 35,
+  3, 29, 39, 43, 50, 52, 45, 33, 26, 7, 48, 71, 57, 53, 52, 57,
+  55, 49, 51, 56, 65, 71, 53, 0, 10, 33, 40, 50, 67, 63, 50, 51,
+  43, 23, 36, 0, 87, 64, 70, 65, 56, 52, 58, 60, 69, 94, 0, 30,
+  37, 44, 48, 55, 57, 48, 44, 29, 7, 26, 87, 66, 61, 57, 57, 60,
+  63, 70, 83, 53, 0, 15, 31, 43, 54, 59, 46, 35, 27, 17, 0, 70,
+  80, 68, 61, 62, 62, 71, 91, 12, 7, 30, 37, 44, 54, 59, 49, 43,
+  43, 37, 21, 3, 14, 67, 55, 45, 37, 27, 23, 21, 16, 13, 12, 8,
+  8, 6, 2, 1, 2, 0, 1, 1, 0, 1, 0, 0, 1, 3, 4, 7,
+  7, 9, 13, 15, 21, 25, 28, 39, 38, 37, 43, 55, 77, 8, 4, 12,
+  35, 45, 43, 52, 57, 57, 57, 38, 26, 24, 4, 4, 0, 23, 57, 52,
+  62, 62, 29, 0, 0, 7, 31, 34, 44, 60, 65, 58, 52, 44, 44, 32,
+  29, 24, 15, 0, 74, 63, 44, 45, 34, 37, 37, 27, 24, 21, 19, 19,
+  20, 23, 25, 26, 27, 29, 23, 34, 39, 41, 49, 49, 43, 44, 45, 55,
+  56, 84, 30, 14, 28, 34, 44, 50, 48, 42, 38, 26, 11, 26, 73, 49,
+  40, 38, 43, 45, 41, 39, 33, 31, 28, 26, 27, 26, 26, 24, 23, 22,
+  23, 22, 23, 23, 23, 23, 22, 22, 22, 21, 20, 20, 21, 22, 23, 24,
+  28, 28, 29, 31, 36, 40, 45, 47, 45, 44, 42, 45, 57, 83, 0, 18,
+  28, 39, 43, 53, 65, 58, 52, 45, 38, 14, 0, 96, 78, 63, 54, 53,
+  67, 63, 74, 85, 89, 0, 11, 30, 39, 51, 43, 46, 30, 19, 1, 50,
+  69, 52, 47, 49, 50, 52, 50, 51, 52, 50, 63, 75, 68, 0, 8, 27,
+  49, 55, 47, 53, 56, 43, 34, 30, 12, 4, 94, 68, 62, 72, 61, 56,
+  58, 59, 63, 89, 0, 27, 32, 40, 44, 52, 54, 45, 42, 28, 6, 25,
+  86, 66, 62, 58, 58, 61, 62, 68, 77, 49, 0, 16, 31, 43, 54, 59,
+  46, 35, 29, 19, 0, 70, 79, 62, 56, 60, 59, 68, 89, 13, 7, 32,
+  37, 44, 54, 59, 49, 43, 42, 33, 32, 1, 43, 67, 58, 46, 38, 28,
+  23, 21, 16, 13, 10, 7, 7, 6, 2, 1, 2, 0, 2, 1, 1, 1,
+  0, 1, 3, 4, 4, 6, 8, 10, 14, 18, 22, 29, 35, 41, 38, 37,
+  53, 65, 46, 0, 13, 33, 44, 42, 51, 57, 51, 53, 47, 40, 19, 9,
+  0, 40, 85, 76, 63, 70, 69, 62, 72, 80, 42, 0, 13, 29, 40, 52,
+  45, 62, 68, 50, 43, 50, 40, 33, 20, 0, 0, 78, 62, 54, 37, 38,
+  38, 30, 27, 27, 25, 25, 25, 28, 29, 30, 31, 31, 30, 31, 35, 38,
+  41, 45, 43, 46, 52, 58, 56, 80, 24, 13, 28, 34, 48, 57, 53, 45,
+  41, 29, 14, 29, 78, 52, 43, 40, 47, 47, 44, 39, 37, 36, 33, 31,
+  32, 32, 30, 30, 29, 28, 28, 26, 26, 27, 27, 27, 27, 26, 26, 25,
+  24, 24, 25, 27, 28, 28, 31, 33, 34, 35, 40, 44, 48, 48, 48, 47,
+  45, 47, 58, 86, 0, 20, 29, 37, 43, 51, 61, 56, 50, 43, 35, 12,
+  0, 100, 80, 63, 56, 59, 54, 70, 77, 97, 5, 9, 22, 38, 52, 57,
+  41, 35, 21, 0, 29, 77, 68, 47, 47, 41, 51, 54, 51, 53, 56, 49,
+  58, 68, 78, 0, 5, 25, 39, 47, 46, 43, 43, 41, 22, 17, 0, 9,
+  84, 62, 66, 61, 68, 63, 58, 52, 54, 78, 0, 18, 24, 30, 36, 44,
+  47, 40, 37, 22, 3, 23, 83, 66, 62, 60, 61, 61, 59, 63, 75, 49,
+  0, 22, 34, 43, 54, 61, 49, 38, 32, 20, 0, 65, 84, 62, 59, 63,
+  60, 67, 84, 9, 8, 35, 40, 45, 56, 61, 55, 46, 41, 33, 22, 0,
+  47, 66, 53, 49, 38, 31, 25, 22, 18, 14, 10, 6, 7, 6, 2, 1,
+  2, 0, 2, 0, 0, 0, 0, 1, 2, 5, 6, 8, 9, 12, 16, 20,
+  26, 31, 36, 37, 40, 44, 74, 44, 0, 22, 42, 51, 47, 48, 54, 50,
+  38, 42, 37, 25, 6, 3, 81, 76, 55, 48, 56, 48, 46, 51, 58, 66,
+  74, 83, 14, 19, 22, 34, 42, 63, 56, 65, 55, 55, 50, 46, 35, 20,
+  0, 33, 79, 55, 49, 40, 36, 31, 32, 29, 32, 31, 29, 30, 31, 32,
+  35, 33, 30, 25, 35, 49, 52, 50, 49, 52, 54, 56, 56, 80, 20, 6,
+  26, 37, 51, 60, 54, 45, 41, 30, 15, 30, 81, 55, 46, 45, 50, 49,
+  44, 41, 40, 39, 36, 35, 36, 36, 35, 34, 33, 32, 31, 30, 31, 30,
+  31, 31, 31, 31, 30, 30, 28, 28, 30, 30, 32, 34, 35, 37, 37, 38,
+  43, 45, 49, 49, 51, 50, 49, 52, 60, 87, 0, 23, 30, 37, 41, 49,
+  60, 55, 47, 39, 31, 11, 0, 102, 80, 63, 56, 54, 58, 69, 88, 31,
+  1, 22, 36, 48, 49, 33, 33, 15, 0, 24, 79, 68, 47, 48, 46, 38,
+  52, 51, 50, 50, 55, 54, 54, 57, 77, 36, 0, 23, 37, 36, 33, 33,
+  35, 31, 24, 0, 0, 77, 75, 61, 53, 64, 67, 63, 59, 53, 55, 79,
+  0, 17, 23, 30, 36, 44, 47, 40, 37, 22, 1, 22, 82, 64, 62, 60,
+  61, 61, 56, 61, 73, 49, 0, 26, 34, 42, 53, 59, 49, 39, 33, 20,
+  0, 61, 78, 56, 58, 63, 61, 73, 87, 12, 8, 36, 41, 46, 58, 65,
+  59, 50, 40, 32, 17, 0, 40, 64, 50, 48, 38, 31, 25, 22, 19, 15,
+  8, 6, 7, 6, 2, 1, 2, 0, 0, 0, 0, 0, 1, 1, 3, 4,
+  6, 9, 12, 14, 18, 20, 26, 30, 28, 41, 48, 64, 72, 9, 5, 29,
+  42, 51, 56, 60, 50, 38, 33, 31, 26, 9, 11, 90, 75, 59, 56, 55,
+  45, 43, 47, 49, 52, 59, 65, 72, 71, 0, 19, 30, 50, 54, 55, 62,
+  71, 64, 61, 50, 42, 26, 28, 0, 61, 76, 60, 45, 36, 34, 37, 36,
+  40, 39, 37, 34, 34, 35, 39, 38, 34, 31, 41, 51, 53, 53, 49, 49,
+  51, 51, 49, 79, 22, 5, 22, 36, 52, 61, 54, 44, 40, 28, 14, 30,
+  83, 58, 50, 50, 54, 53, 46, 42, 41, 41, 40, 39, 39, 40, 39, 38,
+  38, 37, 36, 35, 34, 35, 35, 35, 36, 36, 34, 34, 33, 32, 34, 35,
+  38, 38, 39, 42, 42, 42, 45, 47, 52, 52, 52, 53, 54, 57, 64, 91,
+  0, 27, 31, 39, 41, 49, 62, 56, 45, 35, 27, 7, 0, 101, 80, 64,
+  55, 48, 59, 68, 60, 6, 10, 37, 43, 50, 40, 34, 22, 24, 0, 75,
+  76, 54, 48, 48, 42, 44, 50, 41, 43, 43, 52, 56, 52, 58, 70, 83,
+  10, 0, 12, 29, 15, 11, 25, 25, 7, 0, 4, 86, 63, 63, 58, 58,
+  60, 58, 61, 60, 68, 93, 0, 25, 31, 37, 43, 51, 54, 45, 41, 25,
+  2, 21, 82, 63, 61, 60, 61, 61, 54, 58, 70, 49, 0, 27, 31, 39,
+  49, 57, 47, 39, 33, 17, 0, 57, 75, 56, 60, 61, 61, 72, 80, 5,
+  8, 35, 39, 45, 58, 67, 62, 52, 42, 28, 27, 0, 44, 57, 59, 40,
+  38, 28, 23, 21, 20, 15, 9, 6, 7, 5, 2, 0, 1, 0, 0, 0,
+  0, 0, 0, 0, 4, 5, 8, 11, 13, 16, 19, 22, 29, 33, 28, 44,
+  60, 85, 16, 0, 26, 35, 48, 59, 63, 62, 46, 39, 41, 24, 7, 10,
+  76, 82, 63, 63, 49, 41, 49, 41, 44, 50, 51, 52, 55, 59, 67, 75,
+  0, 18, 39, 43, 47, 56, 64, 72, 72, 52, 48, 43, 27, 15, 10, 88,
+  64, 51, 39, 38, 41, 43, 48, 46, 41, 38, 36, 37, 43, 43, 39, 46,
+  55, 58, 63, 66, 60, 55, 63, 60, 50, 76, 24, 9, 24, 37, 52, 60,
+  52, 42, 36, 25, 14, 29, 83, 59, 52, 51, 56, 54, 47, 43, 43, 44,
+  44, 43, 43, 43, 43, 42, 41, 41, 40, 39, 39, 38, 39, 39, 40, 40,
+  38, 38, 37, 38, 38, 39, 42, 42, 43, 45, 46, 46, 47, 49, 52, 52,
+  54, 54, 53, 57, 64, 91, 0, 27, 31, 37, 43, 51, 63, 56, 46, 35,
+  27, 7, 0, 101, 80, 63, 57, 60, 61, 77, 0, 10, 32, 39, 45, 51,
+  38, 30, 22, 0, 81, 70, 52, 46, 48, 40, 43, 50, 44, 42, 40, 42,
+  49, 54, 50, 58, 58, 82, 80, 24, 0, 0, 6, 2, 0, 0, 0, 26,
+  94, 88, 70, 48, 56, 48, 54, 56, 62, 63, 69, 92, 0, 26, 35, 43,
+  47, 55, 57, 48, 42, 26, 3, 21, 82, 63, 61, 60, 60, 61, 56, 61,
+  72, 50, 2, 29, 33, 38, 47, 55, 47, 39, 33, 19, 0, 58, 78, 61,
+  64, 61, 62, 71, 76, 15, 5, 32, 34, 41, 56, 64, 61, 52, 44, 32,
+  23, 0, 39, 54, 57, 39, 36, 28, 21, 21, 20, 17, 10, 6, 7, 5,
+  2, 0, 1, 0, 0, 0, 0, 0, 1, 0, 5, 7, 10, 12, 16, 19,
+  21, 26, 33, 39, 40, 48, 70, 59, 0, 6, 24, 47, 57, 66, 61, 56,
+  48, 44, 43, 14, 0, 57, 80, 64, 48, 41, 45, 52, 46, 45, 46, 44,
+  40, 43, 49, 48, 57, 71, 71, 0, 16, 37, 42, 49, 52, 58, 72, 63,
+  60, 38, 38, 12, 0, 57, 73, 58, 45, 42, 49, 52, 57, 55, 47, 42,
+  39, 40, 46, 51, 56, 62, 68, 76, 83, 78, 68, 70, 60, 69, 59, 78,
+  25, 14, 29, 42, 49, 55, 47, 36, 31, 21, 9, 27, 81, 59, 54, 53,
+  59, 57, 49, 46, 48, 47, 47, 47, 48, 49, 48, 46, 45, 45, 44, 44,
+  45, 44, 44, 45, 46, 46, 44, 44, 43, 43, 45, 46, 49, 48, 49, 51,
+  50, 51, 51, 53, 54, 53, 53, 55, 53, 55, 60, 88, 0, 27, 31, 37,
+  43, 52, 67, 58, 46, 36, 32, 12, 0, 101, 80, 64, 56, 73, 92, 1,
+  4, 29, 30, 44, 52, 30, 36, 16, 0, 53, 76, 62, 46, 40, 38, 37,
+  43, 48, 42, 45, 38, 40, 47, 51, 50, 51, 53, 58, 67, 82, 58, 18,
+  6, 9, 14, 20, 67, 83, 85, 71, 71, 64, 52, 59, 56, 59, 69, 66,
+  60, 80, 0, 23, 35, 44, 48, 56, 57, 48, 42, 26, 3, 22, 82, 63,
+  61, 60, 62, 63, 63, 68, 77, 55, 6, 33, 34, 41, 49, 57, 47, 41,
+  36, 23, 0, 64, 73, 56, 62, 62, 67, 71, 85, 45, 1, 27, 28, 35,
+  49, 59, 56, 49, 44, 35, 17, 0, 41, 53, 49, 39, 33, 24, 19, 18,
+  20, 17, 12, 7, 7, 5, 2, 0, 1, 0, 0, 0, 0, 0, 0, 2,
+  4, 6, 11, 13, 15, 18, 23, 27, 33, 40, 44, 60, 78, 8, 3, 25,
+  32, 49, 52, 65, 56, 53, 49, 34, 24, 0, 0, 75, 61, 57, 43, 40,
+  47, 41, 51, 46, 43, 41, 37, 38, 48, 50, 49, 59, 80, 30, 1, 25,
+  34, 46, 53, 51, 67, 59, 58, 53, 29, 14, 0, 18, 83, 60, 53, 49,
+  54, 56, 60, 57, 51, 49, 49, 53, 63, 74, 69, 47, 21, 16, 16, 6,
+  10, 41, 52, 83, 85, 96, 32, 15, 28, 38, 46, 53, 47, 38, 30, 20,
+  8, 25, 81, 61, 56, 57, 62, 62, 55, 58, 70, 74, 72, 72, 75, 75,
+  74, 73, 72, 71, 71, 70, 69, 64, 56, 51, 50, 50, 47, 47, 47, 47,
+  52, 56, 65, 69, 76, 79, 78, 77, 78, 77, 71, 65, 63, 60, 58, 58,
+  62, 88, 0, 25, 30, 36, 43, 54, 67, 59, 46, 38, 36, 15, 0, 99,
+  78, 65, 72, 84, 32, 0, 23, 34, 42, 53, 36, 33, 26, 0, 61, 79,
+  58, 49, 46, 37, 37, 39, 38, 39, 42, 38, 36, 35, 42, 54, 52, 46,
+  67, 62, 78, 85, 97, 102, 106, 110, 113, 104, 95, 93, 73, 56, 70, 60,
+  54, 52, 56, 59, 68, 65, 55, 77, 0, 23, 34, 43, 48, 55, 57, 47,
+  42, 26, 4, 23, 82, 63, 63, 62, 63, 64, 65, 70, 79, 55, 5, 32,
+  35, 41, 50, 58, 49, 42, 37, 24, 0, 64, 80, 60, 64, 63, 65, 63,
+  77, 52, 0, 24, 27, 34, 47, 57, 54, 48, 43, 33, 28, 0, 67, 48,
+  49, 37, 35, 27, 18, 18, 19, 17, 12, 7, 8, 5, 2, 0, 1, 0,
+  0, 0, 0, 0, 0, 2, 5, 8, 9, 13, 16, 19, 24, 29, 35, 40,
+  43, 61, 68, 0, 13, 32, 44, 53, 60, 61, 54, 49, 48, 35, 18, 0,
+  59, 52, 56, 49, 42, 43, 42, 41, 41, 41, 39, 38, 37, 40, 47, 49,
+  47, 46, 65, 73, 0, 12, 25, 36, 47, 55, 63, 64, 59, 49, 36, 28,
+  18, 0, 65, 56, 63, 59, 57, 58, 61, 60, 55, 53, 68, 71, 68, 10,
+  0, 2, 1, 0, 5, 6, 0, 0, 0, 0, 17, 94, 50, 10, 27, 39,
+  47, 55, 53, 45, 36, 22, 8, 22, 80, 57, 55, 60, 59, 67, 39, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 13, 77, 59,
+  57, 48, 53, 44, 52, 52, 59, 30, 0, 0, 0, 3, 0, 0, 0, 0,
+  0, 21, 73, 72, 58, 67, 56, 92, 0, 25, 29, 36, 42, 54, 65, 56,
+  45, 42, 40, 13, 0, 101, 68, 68, 81, 54, 0, 12, 41, 43, 54, 51,
+  35, 20, 9, 30, 78, 54, 41, 47, 46, 43, 32, 30, 34, 35, 35, 35,
+  36, 43, 42, 50, 55, 46, 0, 1, 21, 32, 36, 36, 30, 32, 36, 38,
+  36, 14, 0, 46, 76, 61, 62, 56, 59, 57, 62, 59, 58, 81, 0, 23,
+  32, 41, 47, 55, 55, 45, 41, 26, 7, 25, 79, 62, 63, 64, 61, 61,
+  61, 66, 76, 52, 0, 25, 33, 42, 51, 61, 50, 42, 36, 21, 0, 61,
+  81, 60, 65, 66, 65, 63, 78, 41, 0, 27, 35, 42, 50, 56, 55, 48,
+  43, 30, 26, 0, 69, 47, 43, 41, 40, 32, 21, 16, 16, 13, 12, 7,
+  6, 4, 2, 0, 1, 0, 0, 0, 0, 0, 0, 2, 5, 8, 9, 14,
+  17, 20, 24, 29, 36, 41, 41, 69, 22, 8, 23, 40, 54, 56, 60, 54,
+  46, 40, 41, 28, 8, 5, 68, 53, 52, 44, 40, 40, 38, 34, 35, 33,
+  33, 35, 36, 39, 45, 46, 44, 46, 56, 74, 32, 6, 17, 32, 45, 54,
+  60, 63, 60, 50, 41, 35, 21, 6, 46, 70, 63, 54, 51, 62, 55, 58,
+  63, 70, 55, 2, 1, 6, 23, 21, 22, 26, 30, 30, 30, 31, 37, 18,
+  17, 0, 6, 30, 45, 39, 54, 59, 57, 50, 39, 24, 7, 23, 79, 59,
+  53, 60, 60, 67, 73, 64, 8, 14, 6, 14, 22, 20, 27, 26, 22, 22,
+  22, 14, 20, 0, 64, 71, 63, 55, 51, 49, 54, 57, 65, 70, 42, 0,
+  20, 29, 27, 20, 27, 11, 0, 73, 79, 72, 66, 62, 60, 88, 0, 25,
+  28, 35, 43, 55, 65, 56, 49, 36, 35, 15, 0, 85, 83, 71, 84, 0,
+  6, 36, 33, 54, 52, 34, 27, 0, 17, 89, 60, 38, 50, 43, 45, 42,
+  33, 31, 32, 33, 34, 33, 30, 36, 47, 49, 51, 66, 38, 0, 0, 13,
+  17, 13, 3, 3, 10, 13, 19, 8, 0, 53, 77, 58, 63, 61, 59, 57,
+  59, 58, 60, 84, 0, 24, 31, 40, 46, 54, 55, 45, 39, 26, 9, 26,
+  79, 62, 65, 64, 61, 59, 59, 65, 75, 49, 0, 24, 31, 42, 53, 61,
+  51, 42, 36, 20, 0, 60, 80, 60, 63, 64, 66, 64, 75, 42, 0, 27,
+  37, 44, 50, 56, 54, 47, 43, 32, 26, 0, 69, 44, 42, 41, 42, 35,
+  22, 16, 15, 13, 10, 7, 6, 4, 2, 0, 1, 0, 0, 0, 0, 0,
+  1, 1, 7, 9, 11, 17, 20, 21, 26, 31, 37, 45, 50, 70, 0, 12,
+  32, 44, 51, 60, 64, 53, 47, 37, 35, 24, 0, 41, 73, 53, 46, 40,
+  37, 37, 34, 31, 31, 29, 28, 29, 30, 35, 40, 41, 39, 45, 51, 76,
+  77, 0, 10, 29, 41, 51, 58, 62, 61, 53, 44, 41, 36, 13, 4, 80,
+  62, 57, 52, 48, 52, 66, 80, 50, 0, 4, 6, 32, 31, 38, 43, 41,
+  38, 45, 43, 31, 37, 33, 22, 17, 27, 35, 48, 65, 61, 59, 56, 50,
+  40, 23, 7, 24, 75, 62, 54, 61, 67, 62, 66, 80, 84, 0, 11, 27,
+  21, 33, 29, 39, 28, 33, 27, 27, 24, 0, 29, 94, 71, 58, 51, 50,
+  53, 58, 56, 74, 90, 0, 16, 31, 35, 24, 28, 0, 0, 93, 73, 68,
+  62, 60, 62, 86, 0, 25, 27, 35, 43, 56, 65, 56, 41, 38, 34, 13,
+  0, 113, 86, 93, 12, 0, 21, 33, 43, 38, 28, 26, 0, 0, 90, 65,
+  58, 51, 45, 45, 38, 38, 37, 35, 33, 31, 32, 30, 28, 28, 42, 46,
+  48, 62, 75, 0, 5, 21, 28, 24, 17, 17, 24, 27, 24, 14, 0, 59,
+  79, 56, 62, 62, 59, 57, 59, 58, 59, 84, 0, 24, 31, 40, 46, 54,
+  55, 45, 39, 26, 9, 26, 79, 62, 65, 64, 61, 59, 59, 65, 75, 49,
+  0, 24, 31, 42, 53, 61, 51, 42, 36, 20, 0, 60, 79, 60, 62, 63,
+  66, 65, 70, 39, 0, 27, 38, 45, 51, 56, 55, 48, 43, 35, 27, 0,
+  70, 45, 43, 40, 42, 34, 22, 16, 15, 13, 10, 7, 6, 4, 1, 0,
+  1, 0, 0, 0, 0, 0, 2, 2, 8, 10, 13, 17, 20, 22, 29, 33,
+  40, 47, 59, 51, 0, 15, 36, 43, 47, 62, 66, 52, 48, 39, 33, 21,
+  0, 72, 65, 47, 42, 40, 38, 35, 32, 31, 27, 27, 24, 25, 27, 31,
+  37, 39, 38, 42, 46, 68, 92, 1, 5, 28, 40, 49, 56, 62, 62, 55,
+  45, 42, 41, 13, 0, 101, 65, 54, 57, 50, 59, 63, 10, 0, 9, 20,
+  34, 38, 54, 47, 41, 43, 50, 48, 43, 40, 42, 47, 20, 22, 37, 51,
+  60, 63, 64, 58, 54, 49, 39, 22, 7, 26, 78, 64, 56, 55, 63, 63,
+  66, 72, 96, 55, 0, 13, 29, 39, 52, 39, 35, 35, 36, 41, 22, 12,
+  0, 92, 75, 59, 58, 56, 56, 60, 53, 64, 85, 12, 1, 29, 42, 34,
+  27, 0, 49, 81, 68, 66, 56, 60, 62, 84, 0, 23, 26, 35, 46, 56,
+  64, 55, 46, 35, 32, 12, 0, 106, 109, 34, 0, 33, 27, 35, 46, 30,
+  27, 3, 0, 83, 67, 53, 45, 52, 50, 41, 38, 36, 38, 38, 32, 29,
+  30, 29, 26, 28, 36, 40, 48, 50, 83, 44, 0, 21, 32, 32, 27, 29,
+  35, 36, 33, 18, 0, 54, 78, 59, 64, 62, 59, 56, 59, 57, 59, 84,
+  0, 24, 31, 40, 46, 54, 55, 45, 39, 26, 9, 26, 79, 62, 65, 64,
+  61, 59, 59, 65, 75, 49, 0, 24, 31, 42, 53, 61, 51, 42, 36, 20,
+  0, 60, 78, 62, 64, 64, 66, 64, 65, 44, 0, 27, 38, 45, 51, 57,
+  55, 48, 42, 36, 23, 0, 71, 43, 42, 39, 41, 34, 21, 16, 15, 12,
+  11, 6, 5, 4, 1, 0, 1, 0, 0, 0, 0, 1, 2, 3, 7, 9,
+  13, 18, 21, 23, 30, 33, 41, 49, 62, 27, 1, 20, 31, 44, 51, 64,
+  63, 51, 46, 37, 29, 14, 0, 88, 64, 48, 43, 40, 38, 32, 28, 28,
+  25, 24, 22, 22, 24, 27, 34, 36, 41, 42, 49, 60, 80, 20, 5, 30,
+  40, 47, 53, 59, 62, 57, 47, 41, 35, 13, 0, 93, 71, 53, 53, 60,
+  71, 48, 0, 10, 31, 46, 45, 54, 48, 61, 56, 46, 48, 41, 31, 30,
+  32, 24, 30, 29, 47, 54, 64, 81, 66, 59, 52, 48, 40, 23, 9, 27,
+  78, 60, 60, 58, 57, 60, 67, 68, 63, 104, 8, 9, 26, 36, 60, 45,
+  45, 35, 52, 41, 31, 18, 0, 52, 78, 56, 64, 61, 57, 55, 56, 66,
+  95, 15, 5, 33, 40, 22, 0, 0, 92, 71, 66, 61, 55, 55, 58, 83,
+  0, 23, 26, 37, 46, 55, 63, 56, 47, 33, 25, 8, 0, 122, 75, 0,
+  26, 41, 35, 43, 42, 35, 25, 12, 82, 72, 58, 40, 54, 49, 45, 46,
+  41, 40, 39, 36, 31, 29, 30, 29, 23, 29, 34, 36, 43, 55, 74, 48,
+  0, 22, 35, 39, 39, 42, 47, 44, 31, 14, 0, 56, 80, 59, 62, 57,
+  59, 56, 60, 57, 59, 84, 0, 24, 31, 40, 46, 54, 55, 45, 39, 26,
+  9, 26, 79, 62, 65, 64, 61, 59, 59, 65, 75, 49, 0, 24, 31, 42,
+  53, 61, 51, 42, 36, 20, 0, 60, 78, 64, 64, 64, 62, 63, 66, 62,
+  0, 25, 37, 42, 50, 56, 54, 47, 40, 34, 19, 0, 69, 42, 42, 40,
+  39, 33, 20, 17, 14, 12, 10, 6, 5, 4, 1, 0, 0, 0, 0, 0,
+  1, 1, 3, 4, 8, 10, 14, 18, 22, 25, 30, 34, 41, 53, 70, 19,
+  0, 29, 28, 45, 57, 60, 62, 52, 41, 33, 26, 9, 6, 93, 62, 48,
+  43, 37, 36, 30, 29, 29, 24, 22, 20, 20, 22, 25, 32, 35, 39, 42,
+  51, 56, 64, 47, 2, 28, 37, 44, 50, 57, 62, 57, 50, 42, 31, 17,
+  0, 61, 76, 57, 59, 81, 68, 0, 4, 30, 50, 50, 52, 61, 63, 62,
+  46, 35, 39, 31, 9, 0, 0, 3, 7, 20, 32, 46, 59, 62, 65, 61,
+  54, 49, 40, 24, 10, 26, 78, 54, 60, 65, 58, 54, 55, 52, 61, 70,
+  69, 0, 16, 38, 40, 56, 51, 49, 56, 46, 36, 18, 10, 8, 89, 67,
+  61, 61, 63, 55, 58, 66, 88, 0, 9, 36, 42, 19, 0, 25, 88, 74,
+  60, 54, 61, 51, 58, 85, 0, 23, 29, 39, 47, 54, 64, 58, 45, 43,
+  30, 8, 0, 117, 10, 22, 28, 49, 46, 46, 41, 29, 14, 20, 107, 65,
+  54, 50, 45, 50, 47, 49, 42, 41, 37, 33, 28, 25, 28, 26, 26, 21,
+  36, 41, 39, 53, 71, 48, 0, 24, 36, 43, 46, 51, 54, 48, 35, 20,
+  0, 60, 79, 59, 61, 59, 58, 56, 59, 57, 60, 84, 0, 24, 31, 40,
+  46, 54, 55, 45, 39, 26, 9, 26, 79, 62, 65, 64, 61, 59, 59, 65,
+  75, 49, 0, 24, 31, 42, 53, 61, 51, 42, 36, 20, 0, 60, 79, 64,
+  64, 62, 61, 64, 71, 87, 0, 22, 32, 40, 48, 54, 52, 45, 39, 33,
+  15, 9, 68, 42, 41, 40, 38, 30, 20, 16, 15, 13, 10, 5, 5, 4,
+  1, 0, 0, 0, 0, 0, 0, 1, 3, 4, 8, 10, 14, 18, 22, 24,
+  30, 35, 41, 54, 76, 11, 3, 30, 32, 47, 55, 61, 62, 56, 42, 33,
+  25, 6, 17, 86, 58, 47, 40, 36, 35, 34, 32, 29, 26, 24, 21, 20,
+  21, 25, 32, 34, 36, 44, 46, 51, 55, 62, 0, 26, 37, 42, 47, 55,
+  61, 58, 51, 41, 27, 18, 0, 58, 78, 59, 77, 90, 0, 15, 29, 42,
+  47, 59, 65, 66, 71, 51, 39, 32, 12, 5, 20, 47, 53, 28, 0, 7,
+  27, 41, 50, 57, 60, 59, 55, 49, 40, 25, 11, 26, 85, 55, 53, 56,
+  56, 57, 56, 57, 51, 70, 88, 0, 13, 38, 33, 47, 53, 60, 58, 58,
+  33, 27, 21, 0, 61, 80, 68, 65, 69, 67, 64, 73, 67, 0, 26, 41,
+  35, 12, 0, 70, 73, 66, 54, 51, 60, 54, 57, 87, 0, 23, 29, 39,
+  46, 54, 65, 64, 66, 53, 42, 23, 0, 29, 21, 31, 45, 51, 54, 55,
+  42, 31, 24, 0, 35, 77, 67, 54, 42, 47, 50, 47, 44, 40, 31, 25,
+  23, 22, 24, 25, 29, 21, 34, 42, 40, 45, 69, 54, 0, 22, 34, 41,
+  47, 54, 56, 46, 31, 15, 0, 55, 76, 58, 64, 66, 58, 56, 59, 57,
+  60, 84, 0, 24, 31, 40, 46, 54, 55, 45, 39, 26, 9, 26, 79, 62,
+  65, 64, 61, 59, 59, 65, 75, 49, 0, 24, 31, 42, 53, 61, 51, 42,
+  36, 20, 0, 60, 79, 62, 62, 64, 63, 61, 68, 96, 0, 19, 31, 39,
+  47, 53, 52, 45, 38, 31, 13, 20, 68, 44, 41, 38, 36, 29, 20, 17,
+  15, 13, 9, 5, 5, 3, 1, 0, 0, 0, 0, 0, 0, 1, 3, 4,
+  8, 10, 15, 19, 23, 25, 31, 34, 41, 55, 74, 0, 11, 24, 36, 48,
+  46, 66, 62, 58, 42, 34, 26, 3, 22, 73, 56, 46, 41, 37, 36, 35,
+  30, 26, 26, 23, 19, 19, 20, 23, 31, 34, 38, 49, 41, 49, 53, 69,
+  0, 27, 38, 40, 47, 53, 60, 57, 50, 41, 32, 6, 0, 68, 84, 69,
+  83, 45, 5, 31, 39, 40, 51, 60, 64, 68, 58, 40, 28, 8, 9, 62,
+  93, 73, 73, 89, 94, 5, 14, 40, 41, 47, 53, 56, 54, 47, 39, 26,
+  12, 26, 76, 62, 60, 53, 54, 55, 49, 52, 53, 50, 67, 57, 0, 29,
+  33, 42, 52, 54, 68, 56, 38, 36, 28, 3, 0, 81, 76, 66, 62, 68,
+  67, 86, 25, 13, 31, 40, 27, 11, 0, 97, 76, 57, 57, 59, 55, 62,
+  54, 87, 0, 25, 31, 40, 46, 54, 67, 68, 73, 61, 48, 37, 15, 6,
+  34, 47, 55, 51, 61, 53, 52, 45, 33, 13, 0, 77, 74, 57, 55, 43,
+  50, 48, 41, 37, 27, 21, 21, 21, 23, 25, 27, 35, 33, 34, 47, 47,
+  67, 46, 1, 23, 34, 41, 50, 58, 56, 48, 34, 18, 0, 57, 80, 60,
+  63, 58, 58, 56, 59, 57, 60, 84, 0, 24, 31, 40, 46, 54, 55, 45,
+  39, 26, 9, 26, 79, 62, 65, 64, 61, 59, 59, 65, 75, 49, 0, 24,
+  31, 42, 53, 61, 51, 42, 36, 20, 0, 60, 78, 61, 61, 64, 64, 60,
+  60, 91, 0, 20, 32, 39, 48, 54, 53, 47, 36, 29, 12, 29, 69, 45,
+  40, 37, 34, 28, 21, 17, 16, 13, 9, 5, 5, 3, 1, 0, 0, 0,
+  0, 0, 0, 1, 3, 4, 8, 10, 16, 20, 23, 26, 29, 35, 42, 57,
+  76, 6, 11, 30, 33, 44, 60, 60, 61, 55, 49, 29, 26, 6, 10, 80,
+  59, 46, 43, 39, 35, 31, 30, 25, 26, 24, 20, 19, 19, 21, 30, 33,
+  35, 49, 44, 46, 42, 68, 0, 24, 35, 39, 44, 51, 63, 60, 52, 46,
+  36, 23, 2, 25, 85, 78, 91, 3, 17, 38, 38, 42, 48, 58, 61, 57,
+  50, 28, 22, 0, 46, 89, 76, 65, 66, 71, 82, 44, 3, 30, 38, 40,
+  46, 54, 55, 48, 37, 24, 10, 25, 80, 57, 55, 53, 52, 51, 49, 49,
+  51, 52, 60, 79, 0, 13, 31, 33, 45, 58, 64, 57, 45, 38, 32, 13,
+  0, 86, 74, 68, 63, 71, 73, 92, 0, 27, 32, 38, 26, 1, 43, 83,
+  68, 60, 59, 60, 62, 62, 60, 85, 0, 23, 32, 40, 47, 53, 60, 71,
+  82, 64, 62, 53, 32, 25, 37, 47, 61, 70, 67, 58, 52, 49, 43, 27,
+  5, 10, 81, 66, 56, 46, 53, 47, 38, 32, 24, 20, 21, 22, 24, 26,
+  29, 33, 38, 39, 41, 51, 63, 46, 0, 25, 33, 41, 48, 55, 54, 45,
+  35, 15, 0, 58, 77, 61, 64, 61, 58, 57, 60, 57, 60, 84, 0, 23,
+  31, 40, 46, 54, 55, 45, 39, 26, 9, 26, 79, 62, 65, 64, 61, 59,
+  59, 65, 75, 49, 0, 24, 31, 42, 53, 61, 51, 42, 36, 20, 0, 60,
+  79, 61, 64, 62, 61, 61, 64, 89, 0, 21, 32, 38, 48, 55, 51, 48,
+  38, 26, 7, 28, 63, 46, 41, 38, 34, 27, 20, 19, 15, 12, 9, 5,
+  5, 3, 0, 0, 0, 0, 0, 0, 1, 1, 3, 4, 8, 10, 16, 19,
+  23, 25, 29, 34, 40, 56, 79, 14, 13, 25, 40, 45, 51, 63, 67, 53,
+  42, 35, 26, 1, 15, 78, 58, 45, 41, 37, 34, 31, 31, 25, 25, 23,
+  20, 19, 18, 21, 29, 33, 38, 43, 47, 44, 43, 66, 0, 27, 35, 39,
+  45, 52, 62, 60, 51, 46, 36, 22, 11, 14, 84, 75, 76, 0, 21, 38,
+  39, 42, 49, 53, 57, 50, 34, 26, 10, 3, 88, 72, 60, 58, 61, 62,
+  73, 72, 2, 31, 29, 35, 45, 54, 55, 48, 37, 23, 10, 25, 79, 56,
+  55, 53, 52, 51, 49, 49, 52, 57, 50, 68, 40, 0, 21, 41, 44, 53,
+  60, 58, 50, 42, 34, 20, 0, 31, 89, 68, 65, 73, 72, 59, 0, 31,
+  32, 25, 21, 0, 78, 80, 65, 60, 61, 63, 65, 64, 62, 86, 0, 23,
+  31, 40, 47, 54, 61, 70, 80, 83, 60, 55, 55, 35, 48, 52, 65, 75,
+  73, 65, 58, 54, 49, 40, 25, 0, 38, 80, 53, 54, 48, 46, 36, 30,
+  22, 22, 24, 25, 27, 29, 32, 35, 38, 38, 41, 50, 61, 43, 1, 25,
+  33, 41, 48, 55, 52, 44, 35, 17, 0, 58, 77, 62, 64, 61, 58, 57,
+  60, 57, 60, 84, 0, 23, 31, 40, 46, 54, 55, 45, 39, 26, 9, 26,
+  79, 62, 65, 64, 61, 59, 59, 65, 75, 49, 0, 24, 31, 42, 53, 61,
+  51, 42, 36, 20, 0, 61, 79, 62, 64, 62, 61, 61, 64, 89, 0, 15,
+  32, 39, 45, 54, 53, 47, 36, 29, 8, 23, 71, 49, 40, 35, 31, 25,
+  21, 18, 15, 12, 9, 5, 5, 3, 0, 0, 0, 0, 1, 0, 1, 1,
+  3, 5, 9, 11, 16, 19, 23, 25, 29, 34, 41, 56, 80, 0, 9, 29,
+  34, 42, 57, 61, 65, 52, 39, 38, 25, 1, 21, 77, 58, 44, 40, 36,
+  34, 31, 29, 25, 25, 21, 17, 19, 18, 20, 27, 32, 38, 38, 45, 43,
+  46, 67, 0, 28, 35, 40, 45, 52, 62, 59, 50, 45, 34, 26, 0, 38,
+  89, 78, 55, 0, 20, 32, 43, 48, 51, 52, 49, 40, 33, 14, 0, 52,
+  91, 69, 64, 62, 63, 62, 74, 95, 0, 19, 21, 33, 44, 55, 56, 48,
+  36, 23, 11, 25, 76, 56, 55, 52, 51, 49, 48, 48, 53, 59, 49, 59,
+  76, 0, 11, 37, 41, 48, 57, 60, 57, 47, 37, 28, 13, 0, 94, 66,
+  58, 76, 81, 12, 1, 28, 30, 20, 8, 7, 94, 66, 62, 61, 62, 65,
+  66, 66, 61, 86, 0, 22, 31, 39, 47, 55, 62, 67, 70, 76, 61, 54,
+  51, 40, 41, 51, 61, 69, 75, 73, 66, 57, 50, 45, 33, 19, 0, 74,
+  70, 50, 54, 41, 40, 34, 26, 23, 28, 30, 33, 34, 37, 37, 38, 39,
+  41, 50, 61, 43, 1, 26, 33, 39, 48, 55, 51, 42, 34, 17, 0, 60,
+  79, 62, 64, 61, 60, 58, 60, 57, 60, 84, 0, 23, 31, 40, 46, 54,
+  55, 45, 39, 26, 9, 26, 79, 62, 65, 64, 61, 59, 59, 65, 75, 49,
+  0, 24, 31, 42, 53, 61, 51, 42, 36, 20, 0, 61, 79, 62, 64, 62,
+  59, 59, 62, 87, 0, 13, 31, 39, 45, 55, 55, 44, 35, 31, 1, 13,
+  68, 46, 40, 37, 30, 24, 21, 19, 16, 12, 8, 4, 5, 3, 0, 0,
+  0, 0, 1, 0, 1, 1, 3, 4, 9, 11, 16, 19, 23, 25, 30, 34,
+  41, 55, 77, 0, 7, 30, 31, 42, 62, 61, 59, 54, 45, 36, 24, 8,
+  19, 82, 60, 44, 41, 37, 34, 31, 29, 25, 23, 20, 18, 18, 18, 21,
+  27, 32, 39, 40, 45, 44, 47, 74, 0, 24, 34, 40, 46, 55, 62, 58,
+  49, 44, 38, 22, 0, 64, 89, 91, 24, 16, 20, 31, 46, 55, 55, 52,
+  43, 33, 28, 4, 0, 103, 74, 65, 66, 58, 64, 63, 69, 90, 0, 11,
+  24, 37, 44, 55, 56, 48, 36, 22, 9, 25, 75, 54, 54, 52, 51, 49,
+  47, 48, 56, 53, 52, 54, 74, 4, 4, 26, 37, 42, 53, 61, 63, 52,
+  40, 35, 27, 1, 26, 79, 67, 67, 101, 0, 7, 23, 24, 17, 0, 64,
+  79, 56, 60, 61, 64, 65, 67, 66, 62, 85, 0, 22, 31, 40, 50, 57,
+  61, 65, 64, 58, 57, 42, 32, 25, 31, 41, 51, 57, 69, 74, 72, 63,
+  52, 47, 45, 26, 5, 10, 80, 61, 44, 48, 46, 40, 30, 26, 29, 31,
+  35, 37, 38, 39, 38, 38, 42, 51, 60, 43, 3, 27, 33, 39, 48, 55,
+  51, 41, 34, 17, 0, 60, 79, 62, 64, 61, 60, 58, 60, 57, 60, 84,
+  0, 23, 31, 40, 46, 54, 55, 45, 39, 26, 9, 26, 79, 62, 65, 64,
+  61, 59, 59, 65, 75, 49, 0, 24, 31, 42, 53, 61, 51, 42, 36, 20,
+  0, 61, 79, 62, 64, 62, 59, 59, 62, 87, 23, 18, 29, 37, 45, 54,
+  54, 40, 34, 24, 0, 21, 64, 45, 43, 38, 29, 23, 21, 20, 16, 12,
+  8, 4, 5, 3, 0, 0, 0, 0, 1, 0, 1, 1, 3, 4, 8, 11,
+  16, 20, 23, 24, 30, 35, 41, 53, 71, 8, 6, 25, 39, 45, 51, 67,
+  60, 55, 46, 32, 28, 11, 6, 90, 62, 45, 42, 38, 33, 31, 29, 25,
+  21, 20, 18, 18, 19, 20, 27, 32, 39, 43, 42, 47, 49, 80, 0, 22,
+  32, 40, 47, 55, 62, 57, 48, 43, 35, 4, 0, 57, 75, 94, 0, 11,
+  22, 34, 51, 62, 60, 51, 37, 30, 30, 12, 0, 95, 71, 55, 62, 67,
+  62, 62, 65, 82, 1, 9, 32, 44, 49, 55, 56, 48, 36, 22, 9, 25,
+  74, 55, 54, 52, 50, 48, 47, 47, 52, 47, 53, 52, 59, 55, 0, 20,
+  31, 39, 49, 60, 65, 58, 44, 39, 36, 8, 0, 89, 73, 75, 56, 0,
+  14, 24, 20, 2, 0, 97, 65, 58, 58, 59, 61, 65, 67, 65, 61, 83,
+  0, 23, 32, 40, 51, 59, 61, 62, 64, 55, 41, 24, 15, 34, 24, 34,
+  40, 46, 61, 73, 77, 70, 56, 48, 42, 39, 26, 0, 32, 73, 53, 50,
+  51, 47, 36, 30, 30, 30, 35, 37, 40, 38, 36, 36, 43, 50, 60, 44,
+  3, 29, 34, 41, 50, 55, 51, 41, 35, 17, 0, 60, 79, 62, 64, 63,
+  60, 58, 60, 57, 60, 84, 0, 23, 31, 40, 46, 54, 55, 45, 39, 26,
+  9, 26, 79, 62, 65, 64, 61, 59, 59, 65, 75, 49, 0, 24, 31, 42,
+  53, 61, 51, 42, 36, 20, 0, 61, 79, 62, 62, 61, 59, 59, 61, 86,
+  37, 16, 25, 36, 44, 48, 49, 41, 32, 19, 0, 48, 66, 48, 43, 35,
+  29, 23, 21, 20, 16, 12, 8, 4, 5, 3, 0, 0, 0, 0, 0, 0,
+  0, 0, 2, 3, 8, 10, 15, 18, 22, 25, 28, 33, 40, 51, 64, 20,
+  1, 24, 37, 46, 54, 66, 66, 54, 44, 34, 33, 12, 0, 85, 64, 46,
+  43, 40, 36, 33, 32, 26, 24, 22, 20, 21, 21, 23, 29, 35, 38, 46,
+  43, 52, 54, 76, 0, 23, 32, 41, 48, 55, 61, 56, 46, 41, 39, 13,
+  0, 82, 81, 95, 0, 18, 25, 37, 55, 64, 62, 53, 37, 31, 34, 10,
+  20, 76, 62, 54, 59, 70, 66, 61, 62, 79, 26, 5, 29, 46, 49, 57,
+  56, 48, 36, 22, 8, 24, 73, 54, 54, 51, 49, 48, 46, 45, 47, 46,
+  46, 50, 54, 83, 4, 10, 26, 35, 45, 55, 63, 61, 49, 42, 28, 24,
+  0, 73, 80, 83, 17, 7, 21, 34, 29, 0, 19, 85, 62, 55, 53, 55,
+  58, 62, 64, 63, 57, 79, 0, 23, 32, 42, 53, 60, 60, 60, 55, 48,
+  31, 21, 0, 97, 5, 23, 31, 39, 52, 63, 74, 72, 61, 52, 44, 38,
+  39, 20, 0, 68, 69, 50, 53, 53, 45, 38, 31, 29, 35, 37, 39, 38,
+  35, 36, 41, 51, 60, 42, 4, 29, 34, 41, 51, 56, 51, 41, 35, 17,
+  0, 60, 79, 62, 65, 63, 60, 58, 60, 57, 60, 84, 0, 23, 31, 40,
+  46, 54, 55, 45, 39, 26, 9, 26, 79, 62, 65, 64, 61, 59, 59, 65,
+  75, 49, 0, 24, 31, 42, 53, 61, 51, 42, 36, 20, 0, 61, 79, 62,
+  62, 61, 59, 58, 61, 86, 35, 12, 28, 36, 42, 40, 42, 45, 36, 18,
+  0, 61, 65, 47, 44, 35, 28, 23, 21, 21, 17, 12, 8, 4, 5, 3,
+  0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 7, 9, 13, 17, 20, 23,
+  27, 32, 39, 49, 61, 33, 0, 25, 29, 44, 56, 62, 68, 56, 44, 39,
+  35, 15, 0, 57, 66, 49, 45, 42, 38, 37, 35, 30, 28, 26, 26, 26,
+  26, 29, 36, 39, 42, 47, 46, 53, 62, 61, 0, 24, 33, 42, 49, 55,
+  61, 55, 44, 41, 29, 12, 0, 94, 76, 81, 0, 14, 30, 42, 54, 63,
+  63, 54, 42, 35, 24, 0, 42, 87, 62, 60, 61, 56, 67, 64, 62, 80,
+  29, 2, 25, 44, 48, 57, 56, 48, 34, 21, 7, 23, 70, 51, 51, 49,
+  48, 45, 44, 43, 42, 43, 38, 46, 56, 79, 45, 0, 19, 34, 41, 50,
+  60, 63, 54, 45, 39, 19, 8, 18, 85, 95, 0, 13, 34, 42, 34, 5,
+  62, 63, 58, 48, 49, 51, 55, 59, 61, 60, 54, 77, 0, 20, 32, 42,
+  53, 62, 60, 58, 49, 41, 30, 18, 0, 139, 29, 4, 25, 39, 44, 49,
+  64, 72, 67, 58, 53, 47, 39, 33, 2, 6, 78, 48, 53, 52, 54, 46,
+  33, 27, 31, 36, 41, 40, 37, 36, 42, 51, 59, 43, 4, 30, 35, 42,
+  52, 57, 52, 42, 35, 17, 0, 60, 79, 62, 65, 63, 60, 58, 60, 57,
+  60, 84, 0, 23, 31, 40, 46, 54, 55, 45, 39, 26, 9, 26, 79, 62,
+  65, 64, 61, 59, 59, 65, 75, 49, 0, 24, 31, 42, 53, 61, 51, 42,
+  36, 20, 0, 61, 79, 62, 62, 61, 58, 58, 61, 85, 29, 13, 29, 30,
+  34, 33, 34, 38, 35, 20, 0, 55, 64, 45, 45, 37, 29, 23, 22, 22,
+  17, 14, 8, 4, 5, 3, 0, 0, 0, 0, 1, 0, 0, 1, 1, 2,
+  8, 11, 12, 16, 19, 22, 28, 33, 39, 47, 57, 54, 0, 18, 36, 47,
+  44, 63, 61, 61, 48, 46, 39, 24, 0, 29, 72, 52, 49, 45, 40, 38,
+  37, 32, 31, 31, 29, 28, 28, 30, 37, 43, 45, 46, 47, 50, 69, 48,
+  0, 26, 34, 42, 47, 54, 63, 57, 44, 39, 33, 6, 9, 84, 74, 92,
+  0, 16, 33, 44, 53, 59, 57, 51, 42, 36, 31, 0, 58, 81, 63, 52,
+  66, 64, 63, 69, 64, 84, 23, 6, 26, 38, 45, 55, 56, 48, 36, 22,
+  6, 22, 70, 50, 50, 46, 45, 43, 42, 41, 41, 39, 39, 46, 55, 65,
+  93, 0, 16, 34, 39, 46, 59, 65, 57, 45, 34, 27, 23, 0, 95, 60,
+  0, 29, 41, 36, 15, 5, 80, 59, 55, 53, 49, 51, 53, 57, 61, 61,
+  56, 78, 0, 18, 31, 42, 53, 62, 58, 56, 52, 43, 30, 0, 0, 115,
+  97, 0, 13, 34, 39, 44, 57, 69, 72, 69, 67, 51, 46, 34, 19, 0,
+  32, 72, 55, 49, 52, 47, 34, 27, 32, 35, 41, 39, 37, 37, 45, 53,
+  60, 43, 1, 29, 34, 43, 55, 60, 52, 41, 34, 15, 0, 60, 80, 64,
+  64, 63, 61, 60, 60, 56, 57, 84, 0, 24, 31, 39, 46, 54, 53, 44,
+  38, 25, 7, 26, 81, 62, 63, 62, 61, 61, 61, 66, 75, 50, 0, 24,
+  30, 40, 51, 62, 53, 43, 34, 19, 0, 63, 80, 62, 62, 61, 61, 61,
+  61, 82, 23, 4, 16, 8, 20, 20, 17, 15, 18, 12, 0, 47, 69, 47,
+  45, 37, 30, 24, 22, 21, 16, 13, 8, 4, 5, 3, 0, 0, 0, 0,
+  2, 1, 1, 2, 2, 4, 8, 9, 12, 16, 19, 22, 28, 31, 37, 46,
+  43, 73, 0, 15, 41, 41, 48, 49, 61, 59, 56, 49, 44, 33, 13, 0,
+  75, 61, 47, 51, 49, 32, 43, 30, 40, 39, 35, 33, 30, 31, 38, 40,
+  41, 45, 49, 52, 77, 26, 6, 29, 38, 37, 47, 57, 54, 58, 43, 33,
+  28, 0, 31, 79, 77, 94, 0, 23, 37, 41, 48, 53, 52, 45, 42, 35,
+  27, 0, 56, 78, 63, 63, 58, 64, 66, 68, 62, 83, 21, 4, 26, 36,
+  41, 49, 55, 49, 38, 23, 4, 20, 71, 52, 48, 43, 40, 38, 37, 37,
+  39, 44, 40, 44, 41, 60, 71, 28, 14, 30, 36, 45, 55, 70, 55, 52,
+  38, 38, 29, 19, 60, 41, 18, 32, 35, 23, 0, 47, 70, 55, 52, 53,
+  51, 52, 56, 58, 60, 60, 59, 81, 0, 16, 30, 43, 53, 58, 60, 51,
+  52, 40, 23, 2, 0, 113, 94, 46, 0, 15, 31, 42, 56, 61, 61, 77,
+  70, 68, 49, 32, 29, 12, 0, 79, 63, 52, 42, 42, 43, 31, 44, 39,
+  38, 38, 34, 40, 51, 57, 63, 39, 0, 23, 33, 43, 58, 63, 54, 40,
+  31, 12, 0, 60, 81, 65, 63, 61, 66, 64, 59, 54, 55, 82, 0, 28,
+  30, 37, 44, 51, 50, 40, 34, 22, 5, 26, 83, 64, 61, 59, 61, 64,
+  63, 68, 76, 50, 0, 24, 27, 35, 51, 64, 56, 45, 32, 17, 0, 65,
+  82, 62, 62, 62, 65, 65, 62, 78, 9, 0, 0, 0, 1, 0, 0, 0,
+  0, 0, 0, 44, 57, 42, 48, 40, 34, 27, 19, 16, 14, 10, 8, 4,
+  5, 3, 1, 0, 0, 0, 2, 1, 2, 2, 3, 4, 7, 9, 12, 14,
+  17, 21, 25, 28, 36, 41, 45, 61, 26, 12, 30, 43, 47, 50, 58, 60,
+  60, 54, 47, 37, 23, 0, 31, 68, 58, 56, 37, 48, 39, 39, 41, 40,
+  37, 34, 33, 33, 40, 44, 42, 54, 40, 62, 87, 0, 16, 28, 36, 44,
+  49, 54, 58, 60, 44, 31, 15, 0, 68, 75, 68, 91, 0, 21, 36, 41,
+  47, 52, 52, 50, 44, 38, 27, 3, 10, 83, 65, 68, 62, 63, 67, 69,
+  62, 82, 21, 4, 24, 35, 39, 49, 55, 49, 38, 23, 4, 20, 71, 53,
+  47, 43, 40, 37, 35, 37, 43, 43, 36, 42, 40, 48, 67, 68, 0, 24,
+  32, 36, 59, 54, 62, 61, 50, 43, 49, 29, 22, 14, 29, 46, 31, 14,
+  0, 72, 71, 48, 49, 53, 52, 52, 55, 56, 58, 60, 59, 80, 0, 17,
+  30, 44, 53, 58, 60, 51, 50, 38, 25, 6, 0, 101, 93, 82, 0, 0,
+  33, 44, 41, 47, 68, 71, 79, 67, 50, 43, 36, 27, 5, 15, 78, 55,
+  49, 46, 35, 44, 45, 45, 40, 39, 36, 43, 53, 59, 64, 39, 0, 20,
+  31, 43, 57, 62, 52, 38, 31, 12, 0, 60, 81, 66, 62, 60, 65, 63,
+  59, 54, 55, 82, 0, 30, 32, 39, 46, 52, 50, 40, 34, 22, 6, 26,
+  85, 64, 58, 56, 61, 64, 65, 68, 75, 49, 0, 24, 26, 34, 50, 62,
+  56, 45, 30, 14, 0, 64, 80, 62, 62, 64, 68, 66, 61, 71, 57, 58,
+  51, 74, 73, 67, 74, 66, 58, 60, 50, 68, 46, 39, 40, 46, 36, 30,
+  22, 17, 12, 10, 8, 7, 5, 3, 1, 0, 0, 0, 2, 0, 2, 1,
+  3, 3, 6, 7, 11, 13, 16, 19, 24, 27, 35, 39, 42, 57, 60, 0,
+  22, 36, 43, 55, 59, 62, 64, 57, 46, 38, 30, 10, 0, 89, 72, 53,
+  51, 37, 41, 47, 43, 39, 36, 34, 35, 38, 43, 46, 50, 48, 55, 60,
+  72, 0, 17, 40, 39, 51, 51, 49, 48, 36, 30, 19, 0, 9, 86, 66,
+  64, 91, 0, 15, 29, 39, 46, 55, 59, 56, 50, 42, 30, 4, 13, 95,
+  67, 52, 62, 68, 69, 68, 61, 82, 21, 4, 24, 35, 44, 53, 56, 49,
+  38, 23, 6, 23, 71, 52, 49, 46, 43, 40, 37, 38, 39, 42, 38, 40,
+  44, 43, 55, 82, 5, 0, 18, 36, 48, 57, 65, 65, 65, 45, 50, 42,
+  23, 28, 36, 28, 26, 7, 5, 88, 65, 50, 49, 46, 46, 48, 50, 52,
+  54, 55, 53, 77, 0, 20, 33, 47, 55, 61, 63, 54, 49, 37, 28, 13,
+  0, 103, 85, 85, 68, 0, 12, 32, 47, 43, 55, 64, 76, 70, 58, 53,
+  40, 29, 18, 0, 41, 82, 59, 38, 56, 48, 47, 48, 48, 48, 44, 49,
+  58, 61, 67, 41, 0, 22, 31, 41, 54, 57, 48, 37, 32, 15, 0, 61,
+  80, 63, 59, 56, 60, 58, 60, 57, 60, 87, 0, 30, 35, 44, 51, 58,
+  55, 44, 38, 26, 10, 29, 82, 60, 56, 56, 61, 64, 63, 66, 73, 48,
+  0, 24, 26, 34, 49, 59, 53, 42, 27, 13, 0, 60, 79, 62, 62, 64,
+  65, 64, 57, 59, 72, 86, 92, 91, 106, 111, 111, 103, 105, 94, 78, 61,
+  44, 43, 42, 40, 37, 31, 27, 22, 13, 9, 12, 9, 7, 4, 1, 0,
+  0, 0, 2, 0, 2, 1, 2, 2, 4, 6, 10, 13, 15, 19, 24, 27,
+  33, 39, 35, 54, 70, 0, 5, 30, 40, 51, 55, 61, 65, 59, 48, 42,
+  38, 25, 3, 22, 80, 68, 46, 49, 51, 44, 43, 40, 38, 38, 41, 43,
+  47, 48, 50, 47, 63, 78, 29, 4, 31, 36, 48, 54, 60, 55, 52, 33,
+  32, 18, 0, 66, 80, 64, 63, 83, 16, 0, 23, 35, 45, 54, 61, 60,
+  54, 44, 29, 18, 0, 104, 71, 53, 71, 62, 63, 64, 59, 82, 21, 6,
+  26, 37, 46, 56, 58, 49, 36, 22, 7, 24, 70, 52, 51, 48, 44, 41,
+  38, 36, 38, 42, 43, 37, 42, 47, 46, 66, 45, 0, 16, 36, 38, 58,
+  64, 62, 72, 65, 55, 49, 38, 44, 38, 29, 21, 0, 52, 79, 58, 52,
+  48, 44, 44, 45, 47, 49, 51, 52, 49, 74, 0, 24, 34, 47, 55, 62,
+  64, 54, 45, 39, 32, 14, 0, 108, 76, 63, 90, 25, 4, 26, 32, 43,
+  53, 60, 65, 72, 64, 53, 51, 30, 25, 11, 0, 80, 67, 44, 54, 55,
+  43, 50, 50, 53, 50, 53, 57, 61, 66, 43, 0, 23, 33, 42, 51, 55,
+  47, 37, 34, 17, 0, 61, 81, 62, 59, 55, 56, 57, 60, 59, 64, 88,
+  0, 28, 37, 47, 54, 61, 58, 47, 41, 29, 13, 30, 79, 57, 55, 58,
+  61, 64, 62, 65, 72, 46, 0, 25, 28, 36, 49, 59, 51, 42, 29, 12,
+  0, 58, 78, 62, 62, 64, 62, 61, 57, 59, 65, 78, 90, 50, 9, 0,
+  0, 0, 12, 65, 83, 69, 44, 41, 39, 44, 36, 30, 26, 21, 12, 9,
+  13, 10, 7, 4, 1, 0, 0, 0, 2, 0, 1, 1, 1, 2, 5, 4,
+  8, 10, 13, 16, 21, 24, 32, 37, 40, 42, 63, 60, 0, 16, 42, 38,
+  42, 51, 60, 62, 58, 52, 47, 36, 15, 0, 60, 73, 61, 39, 42, 46,
+  44, 43, 43, 44, 47, 48, 48, 46, 42, 48, 60, 77, 0, 22, 35, 45,
+  38, 43, 56, 52, 52, 40, 32, 1, 2, 81, 66, 64, 65, 82, 59, 0,
+  14, 32, 42, 52, 61, 62, 57, 48, 44, 17, 0, 60, 78, 68, 50, 57,
+  52, 54, 56, 83, 22, 7, 29, 40, 49, 57, 56, 46, 33, 21, 8, 24,
+  68, 49, 51, 49, 46, 42, 38, 34, 41, 36, 42, 36, 36, 48, 46, 56,
+  67, 0, 12, 29, 39, 43, 60, 63, 72, 77, 62, 54, 42, 44, 31, 25,
+  14, 0, 77, 68, 58, 49, 45, 45, 42, 46, 45, 48, 50, 48, 46, 72,
+  0, 27, 34, 46, 54, 61, 64, 52, 38, 39, 39, 11, 0, 99, 76, 64,
+  65, 74, 8, 25, 24, 39, 53, 58, 56, 64, 67, 55, 59, 39, 26, 22,
+  4, 22, 78, 59, 45, 46, 49, 47, 49, 53, 50, 52, 55, 58, 65, 43,
+  0, 27, 37, 45, 52, 55, 48, 38, 34, 18, 0, 62, 80, 60, 59, 55,
+  55, 55, 63, 64, 65, 88, 0, 24, 35, 46, 53, 59, 57, 47, 42, 30,
+  16, 30, 75, 52, 55, 58, 61, 64, 62, 66, 73, 48, 0, 28, 34, 41,
+  51, 61, 53, 43, 30, 14, 0, 58, 78, 61, 61, 60, 57, 57, 60, 67,
+  81, 101, 22, 0, 3, 15, 7, 16, 4, 0, 14, 88, 58, 47, 47, 39,
+  34, 26, 18, 14, 10, 8, 9, 9, 5, 4, 1, 0, 1, 0, 1, 0,
+  1, 0, 2, 1, 3, 4, 7, 9, 12, 15, 19, 22, 30, 36, 40, 37,
+  58, 81, 25, 0, 25, 32, 34, 43, 57, 63, 64, 62, 55, 45, 28, 19,
+  0, 75, 68, 58, 48, 47, 47, 46, 48, 49, 50, 51, 51, 51, 55, 66,
+  74, 0, 11, 30, 45, 53, 48, 51, 64, 53, 51, 42, 19, 0, 59, 80,
+  68, 64, 62, 75, 72, 0, 7, 31, 42, 52, 58, 61, 58, 51, 41, 33,
+  12, 17, 93, 64, 63, 51, 46, 51, 58, 85, 22, 7, 29, 42, 51, 57,
+  56, 45, 31, 19, 8, 26, 67, 47, 49, 47, 44, 41, 37, 35, 37, 28,
+  40, 40, 33, 39, 46, 53, 63, 23, 0, 25, 37, 43, 48, 63, 68, 72,
+  64, 64, 48, 45, 35, 13, 0, 31, 79, 59, 53, 51, 51, 41, 44, 46,
+  48, 48, 49, 49, 45, 71, 0, 29, 34, 43, 51, 58, 62, 52, 44, 36,
+  37, 11, 0, 94, 75, 69, 67, 78, 46, 0, 24, 37, 46, 55, 52, 55,
+  76, 63, 55, 49, 41, 29, 29, 0, 42, 81, 57, 42, 54, 48, 51, 55,
+  51, 51, 52, 55, 64, 44, 0, 29, 40, 46, 52, 55, 48, 38, 34, 17,
+  0, 65, 78, 59, 60, 57, 56, 57, 64, 65, 65, 87, 0, 20, 31, 41,
+  48, 56, 54, 45, 41, 29, 16, 30, 72, 49, 54, 59, 62, 66, 62, 65,
+  73, 49, 0, 28, 37, 45, 53, 61, 54, 45, 33, 17, 0, 60, 79, 63,
+  63, 60, 56, 56, 61, 74, 94, 14, 0, 11, 26, 28, 34, 34, 16, 17,
+  1, 21, 71, 55, 47, 46, 34, 25, 15, 12, 11, 10, 11, 9, 6, 4,
+  1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 3, 4, 7, 10, 12, 14,
+  18, 21, 28, 36, 37, 47, 54, 63, 64, 5, 3, 26, 34, 42, 48, 54,
+  63, 65, 60, 53, 48, 27, 6, 0, 82, 76, 61, 56, 52, 52, 52, 53,
+  53, 52, 54, 59, 68, 84, 29, 5, 25, 47, 47, 49, 52, 53, 56, 42,
+  36, 21, 0, 14, 79, 64, 60, 63, 65, 74, 78, 9, 3, 29, 42, 48,
+  53, 57, 56, 53, 41, 29, 15, 6, 48, 93, 70, 59, 48, 52, 62, 89,
+  21, 4, 27, 40, 49, 56, 53, 44, 30, 19, 10, 26, 66, 44, 44, 43,
+  40, 38, 35, 33, 31, 29, 36, 38, 32, 35, 43, 51, 57, 66, 0, 21,
+  30, 45, 44, 56, 67, 73, 67, 61, 42, 35, 36, 19, 0, 73, 69, 51,
+  48, 53, 49, 40, 48, 50, 50, 49, 50, 50, 46, 71, 0, 30, 33, 40,
+  47, 54, 59, 52, 51, 38, 35, 9, 0, 94, 72, 62, 62, 74, 94, 7,
+  2, 32, 39, 47, 50, 55, 79, 74, 59, 58, 57, 45, 32, 18, 0, 77,
+  67, 57, 50, 55, 55, 58, 55, 53, 53, 54, 65, 47, 0, 30, 41, 48,
+  51, 53, 48, 38, 30, 15, 0, 65, 75, 57, 60, 59, 60, 61, 66, 65,
+  64, 82, 0, 16, 25, 36, 43, 51, 50, 41, 37, 28, 14, 29, 71, 48,
+  55, 61, 64, 66, 59, 62, 72, 48, 0, 26, 37, 46, 51, 59, 53, 45,
+  36, 19, 0, 61, 84, 67, 67, 63, 56, 54, 60, 77, 67, 0, 9, 24,
+  38, 35, 38, 38, 39, 32, 19, 0, 68, 52, 46, 38, 35, 25, 19, 15,
+  14, 15, 15, 12, 8, 4, 2, 0, 1, 0, 1, 0, 1, 2, 1, 1,
+  3, 5, 6, 9, 10, 13, 16, 20, 25, 33, 38, 52, 46, 59, 68, 36,
+  0, 12, 34, 43, 43, 48, 58, 64, 62, 57, 50, 44, 31, 6, 2, 51,
+  83, 65, 68, 64, 65, 66, 67, 68, 73, 83, 80, 2, 9, 28, 38, 53,
+  58, 58, 53, 48, 46, 38, 35, 8, 0, 73, 66, 67, 56, 66, 58, 59,
+  67, 58, 0, 22, 38, 45, 49, 55, 55, 52, 43, 38, 33, 13, 0, 66,
+  88, 71, 63, 65, 69, 92, 21, 3, 26, 39, 48, 54, 53, 44, 33, 22,
+  13, 27, 67, 43, 41, 38, 36, 35, 34, 32, 30, 36, 30, 27, 32, 40,
+  49, 54, 54, 76, 35, 6, 25, 29, 51, 52, 63, 73, 57, 51, 50, 34,
+  24, 4, 6, 86, 58, 48, 52, 50, 36, 49, 48, 52, 50, 51, 52, 50,
+  48, 74, 0, 30, 31, 39, 46, 52, 59, 52, 50, 41, 37, 6, 0, 93,
+  78, 64, 56, 68, 75, 65, 0, 16, 30, 42, 51, 57, 68, 75, 72, 62,
+  56, 48, 42, 27, 8, 27, 82, 61, 60, 56, 58, 61, 57, 55, 52, 56,
+  68, 49, 0, 29, 41, 46, 50, 52, 47, 37, 30, 15, 0, 66, 74, 56,
+  59, 59, 63, 62, 66, 63, 61, 82, 0, 16, 24, 33, 40, 48, 48, 38,
+  37, 26, 14, 30, 72, 50, 56, 62, 65, 64, 58, 59, 70, 46, 0, 24,
+  37, 45, 50, 58, 51, 45, 36, 20, 0, 63, 82, 67, 68, 65, 60, 58,
+  63, 81, 12, 0, 20, 35, 39, 44, 45, 43, 43, 34, 25, 0, 28, 57,
+  49, 38, 35, 29, 23, 20, 15, 13, 16, 12, 8, 4, 2, 0, 1, 0,
+  1, 1, 1, 0, 0, 1, 2, 3, 5, 6, 10, 13, 14, 17, 25, 31,
+  38, 35, 42, 44, 47, 63, 46, 0, 19, 42, 44, 51, 55, 47, 47, 54,
+  50, 49, 34, 32, 14, 0, 4, 63, 87, 93, 77, 82, 97, 93, 72, 36,
+  0, 5, 23, 40, 51, 59, 62, 59, 46, 50, 33, 28, 20, 0, 75, 66,
+  61, 58, 57, 54, 50, 50, 55, 77, 23, 16, 27, 43, 41, 53, 52, 50,
+  44, 43, 39, 34, 11, 3, 50, 102, 93, 78, 87, 87, 21, 4, 22, 34,
+  45, 54, 60, 54, 38, 29, 23, 3, 73, 48, 39, 33, 37, 32, 40, 34,
+  32, 30, 28, 31, 32, 39, 50, 55, 56, 72, 66, 0, 14, 33, 45, 53,
+  59, 70, 60, 48, 36, 34, 18, 0, 43, 68, 58, 42, 48, 46, 45, 48,
+  47, 53, 42, 51, 49, 51, 50, 80, 0, 28, 30, 36, 46, 55, 55, 54,
+  52, 42, 27, 0, 0, 93, 72, 64, 66, 60, 65, 86, 34, 11, 17, 43,
+  44, 59, 62, 71, 61, 60, 59, 50, 42, 35, 26, 0, 52, 74, 58, 56,
+  64, 57, 67, 54, 54, 61, 73, 51, 2, 26, 38, 43, 47, 50, 44, 36,
+  31, 23, 1, 72, 71, 52, 54, 59, 64, 61, 63, 55, 61, 87, 0, 25,
+  26, 35, 44, 47, 48, 42, 37, 28, 14, 37, 77, 50, 69, 61, 64, 61,
+  56, 60, 69, 47, 0, 21, 37, 42, 44, 58, 49, 43, 35, 16, 0, 59,
+  81, 55, 69, 66, 65, 61, 69, 85, 2, 7, 29, 49, 47, 53, 57, 49,
+  39, 29, 20, 7, 7, 59, 43, 33, 33, 31, 31, 26, 12, 6, 12, 12,
+  6, 5, 2, 0, 0, 0, 1, 0, 0, 0, 0, 1, 3, 3, 4, 5,
+  8, 10, 12, 16, 22, 27, 34, 32, 39, 39, 37, 57, 63, 52, 5, 23,
+  37, 40, 47, 52, 40, 43, 47, 50, 54, 47, 29, 16, 0, 0, 0, 5,
+  20, 20, 7, 0, 0, 1, 20, 26, 33, 45, 55, 56, 53, 49, 40, 28,
+  23, 17, 0, 52, 72, 57, 56, 54, 52, 49, 45, 46, 49, 65, 83, 0,
+  4, 32, 46, 48, 44, 50, 46, 47, 53, 56, 45, 20, 0, 0, 9, 22,
+  25, 98, 24, 0, 24, 41, 44, 50, 56, 51, 43, 31, 21, 0, 86, 56,
+  46, 42, 37, 36, 39, 37, 32, 29, 30, 31, 34, 40, 50, 55, 48, 64,
+  81, 24, 0, 20, 38, 51, 54, 67, 55, 53, 36, 24, 14, 0, 66, 68,
+  51, 41, 49, 46, 43, 42, 43, 41, 48, 46, 46, 62, 61, 83, 0, 27,
+  33, 40, 48, 55, 57, 53, 45, 38, 25, 6, 0, 94, 77, 64, 59, 70,
+  62, 74, 100, 1, 9, 24, 45, 61, 54, 54, 55, 55, 53, 47, 45, 30,
+  33, 3, 0, 93, 73, 62, 63, 65, 48, 55, 57, 59, 86, 55, 2, 26,
+  39, 46, 49, 53, 49, 42, 34, 16, 5, 54, 81, 55, 52, 54, 64, 59,
+  63, 66, 53, 89, 0, 23, 33, 40, 49, 52, 52, 46, 40, 32, 21, 0,
+  86, 62, 58, 59, 67, 61, 53, 56, 82, 48, 0, 22, 30, 42, 48, 53,
+  46, 46, 43, 26, 0, 23, 69, 60, 62, 71, 66, 70, 55, 89, 0, 26,
+  33, 38, 46, 61, 58, 55, 34, 30, 30, 0, 15, 65, 44, 35, 33, 33,
+  32, 26, 8, 1, 7, 8, 6, 5, 2, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 2, 2, 4, 4, 7, 10, 12, 13, 22, 24, 22, 23, 34, 37,
+  35, 43, 55, 66, 46, 4, 9, 28, 26, 33, 40, 46, 44, 46, 55, 52,
+  42, 37, 32, 16, 5, 5, 0, 0, 10, 8, 18, 18, 24, 39, 46, 45,
+  47, 45, 44, 48, 34, 23, 18, 0, 52, 81, 56, 57, 53, 49, 44, 43,
+  45, 47, 49, 58, 80, 53, 0, 5, 30, 43, 46, 49, 37, 43, 58, 56,
+  51, 44, 24, 9, 0, 0, 68, 85, 32, 6, 23, 44, 50, 52, 56, 56,
+  52, 43, 29, 2, 50, 67, 48, 42, 39, 40, 44, 39, 34, 30, 31, 34,
+  37, 41, 48, 50, 57, 53, 53, 64, 0, 9, 33, 53, 50, 55, 54, 50,
+  33, 21, 1, 18, 77, 60, 46, 42, 49, 45, 45, 41, 39, 38, 40, 39,
+  49, 56, 53, 62, 0, 24, 33, 39, 46, 51, 52, 47, 40, 40, 32, 13,
+  0, 102, 70, 65, 64, 51, 65, 72, 81, 58, 0, 13, 27, 47, 46, 41,
+  48, 44, 43, 43, 49, 50, 32, 16, 8, 26, 78, 63, 63, 56, 58, 45,
+  53, 65, 79, 62, 0, 23, 37, 47, 48, 50, 50, 45, 35, 40, 13, 27,
+  83, 59, 56, 46, 59, 57, 53, 53, 69, 82, 2, 25, 38, 44, 50, 51,
+  49, 46, 40, 34, 19, 0, 100, 71, 63, 53, 68, 63, 60, 67, 86, 52,
+  3, 28, 37, 48, 49, 54, 53, 52, 41, 31, 15, 22, 85, 58, 59, 63,
+  63, 60, 68, 89, 0, 22, 31, 47, 50, 57, 52, 46, 46, 33, 40, 16,
+  11, 66, 43, 32, 33, 30, 28, 21, 6, 0, 3, 4, 4, 5, 2, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 7, 9, 11, 13,
+  18, 21, 22, 23, 30, 38, 40, 37, 38, 50, 72, 60, 4, 4, 15, 17,
+  45, 37, 46, 43, 36, 44, 51, 46, 37, 39, 26, 26, 19, 24, 30, 26,
+  33, 39, 39, 40, 31, 30, 40, 35, 25, 26, 16, 4, 0, 73, 65, 57,
+  58, 54, 48, 44, 39, 39, 43, 47, 49, 53, 59, 71, 40, 0, 9, 27,
+  38, 42, 45, 42, 56, 56, 56, 52, 31, 18, 0, 39, 82, 82, 25, 10,
+  33, 38, 38, 39, 41, 44, 46, 41, 27, 5, 12, 90, 68, 46, 45, 37,
+  50, 37, 36, 33, 33, 35, 39, 42, 47, 47, 50, 43, 46, 62, 49, 0,
+  20, 25, 44, 40, 58, 40, 30, 21, 0, 57, 66, 47, 46, 47, 43, 41,
+  45, 43, 34, 38, 31, 40, 51, 61, 77, 34, 4, 26, 34, 38, 42, 44,
+  47, 43, 39, 41, 37, 20, 0, 68, 83, 60, 57, 61, 63, 60, 71, 79,
+  8, 0, 14, 30, 42, 40, 42, 33, 37, 37, 45, 41, 38, 26, 7, 0,
+  55, 80, 67, 49, 47, 47, 53, 62, 94, 18, 3, 25, 38, 45, 46, 47,
+  49, 47, 35, 24, 13, 0, 86, 60, 54, 53, 54, 53, 49, 68, 70, 51,
+  9, 35, 43, 47, 50, 48, 47, 45, 43, 37, 23, 2, 54, 82, 72, 59,
+  62, 54, 69, 77, 98, 14, 5, 23, 40, 44, 43, 40, 43, 47, 40, 37,
+  13, 0, 85, 54, 73, 58, 61, 57, 48, 73, 7, 18, 28, 32, 44, 49,
+  38, 39, 43, 29, 29, 14, 12, 59, 48, 36, 34, 28, 24, 18, 8, 4,
+  6, 6, 4, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  2, 1, 5, 5, 6, 10, 14, 18, 23, 24, 23, 27, 37, 39, 39, 45,
+  57, 65, 79, 17, 0, 1, 14, 34, 35, 44, 35, 40, 42, 50, 42, 46,
+  37, 37, 34, 37, 41, 36, 26, 24, 36, 40, 23, 13, 22, 18, 11, 11,
+  0, 28, 82, 67, 49, 44, 40, 47, 41, 39, 38, 39, 43, 49, 52, 51,
+  44, 56, 69, 45, 0, 1, 29, 25, 34, 29, 39, 41, 43, 41, 20, 1,
+  0, 101, 67, 83, 27, 6, 30, 29, 27, 27, 30, 33, 36, 35, 26, 13,
+  0, 59, 70, 50, 46, 37, 49, 42, 37, 34, 33, 33, 37, 40, 42, 43,
+  41, 51, 42, 52, 89, 18, 0, 13, 25, 32, 49, 34, 32, 13, 0, 80,
+  54, 41, 51, 49, 41, 40, 42, 38, 37, 36, 36, 40, 42, 66, 79, 0,
+  5, 20, 25, 27, 26, 28, 32, 33, 39, 32, 34, 27, 15, 8, 97, 61,
+  61, 52, 55, 56, 51, 61, 69, 6, 3, 5, 20, 28, 29, 25, 34, 34,
+  39, 34, 30, 34, 36, 10, 0, 78, 71, 53, 49, 54, 55, 71, 78, 0,
+  4, 21, 31, 34, 33, 34, 36, 35, 32, 21, 23, 0, 32, 82, 58, 55,
+  58, 58, 51, 61, 89, 10, 0, 27, 32, 35, 35, 33, 30, 31, 34, 30,
+  16, 0, 0, 91, 72, 59, 60, 65, 60, 80, 106, 0, 14, 32, 40, 33,
+  34, 33, 36, 39, 33, 36, 22, 0, 27, 77, 62, 59, 61, 53, 51, 77,
+  47, 0, 15, 36, 40, 36, 36, 35, 39, 39, 23, 0, 41, 49, 51, 41,
+  34, 28, 19, 16, 17, 16, 15, 12, 6, 4, 2, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 3, 1, 2, 4, 6, 7, 12, 15, 17, 21,
+  21, 21, 29, 34, 38, 40, 42, 49, 47, 70, 74, 23, 0, 11, 15, 16,
+  21, 29, 20, 31, 37, 37, 35, 40, 41, 37, 34, 30, 25, 28, 30, 19,
+  9, 15, 7, 0, 0, 28, 74, 69, 59, 41, 35, 35, 50, 40, 37, 36,
+  39, 39, 40, 43, 48, 48, 47, 46, 49, 67, 66, 0, 0, 19, 15, 22,
+  33, 28, 20, 17, 9, 0, 37, 78, 68, 71, 22, 0, 15, 12, 12, 12,
+  13, 14, 18, 18, 12, 6, 2, 5, 53, 60, 49, 40, 36, 36, 38, 35,
+  32, 33, 36, 36, 37, 40, 52, 41, 42, 53, 56, 91, 41, 0, 4, 32,
+  34, 33, 33, 4, 25, 74, 49, 38, 48, 46, 40, 42, 39, 36, 33, 33,
+  40, 45, 61, 62, 34, 0, 5, 12, 17, 16, 14, 15, 19, 22, 26, 23,
+  23, 21, 17, 0, 44, 76, 59, 49, 49, 46, 45, 61, 65, 73, 7, 0,
+  0, 8, 15, 19, 21, 16, 13, 23, 24, 18, 17, 10, 5, 0, 62, 76,
+  49, 38, 64, 80, 19, 0, 4, 13, 18, 19, 18, 18, 19, 20, 12, 18,
+  12, 2, 0, 40, 69, 61, 56, 52, 50, 63, 70, 0, 0, 16, 16, 19,
+  17, 14, 13, 16, 20, 19, 16, 1, 0, 45, 75, 56, 55, 63, 63, 83,
+  38, 0, 8, 21, 23, 13, 13, 15, 21, 19, 10, 15, 20, 8, 0, 61,
+  71, 66, 57, 41, 57, 58, 82, 2, 0, 9, 28, 31, 28, 27, 26, 18,
+  6, 18, 60, 44, 47, 40, 33, 24, 14, 13, 15, 17, 16, 12, 5, 3,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 3,
+  4, 4, 8, 11, 14, 19, 23, 25, 25, 30, 38, 38, 36, 45, 42, 44,
+  59, 73, 65, 29, 0, 0, 0, 11, 26, 19, 15, 10, 17, 20, 25, 28,
+  34, 31, 21, 18, 18, 21, 5, 0, 0, 28, 64, 71, 60, 52, 47, 43,
+  35, 37, 42, 31, 36, 36, 38, 37, 30, 31, 39, 41, 51, 36, 50, 47,
+  47, 72, 34, 6, 0, 4, 6, 13, 14, 5, 1, 0, 81, 68, 57, 74,
+  11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 13, 38,
+  39, 40, 34, 39, 39, 38, 33, 31, 33, 35, 35, 40, 48, 47, 57, 50,
+  63, 68, 84, 116, 0, 27, 27, 32, 31, 11, 63, 58, 43, 34, 43, 42,
+  38, 39, 33, 37, 40, 41, 39, 42, 49, 23, 0, 0, 0, 0, 1, 0,
+  0, 0, 1, 3, 0, 0, 0, 0, 0, 0, 0, 34, 56, 40, 53, 60,
+  60, 48, 60, 63, 78, 46, 11, 0, 0, 0, 0, 3, 0, 0, 0, 0,
+  0, 1, 0, 0, 0, 58, 63, 67, 67, 21, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 5, 0, 0, 42, 57, 62, 51, 53, 76,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0,
+  52, 59, 56, 51, 56, 45, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 0, 0, 0, 0, 0, 75, 64, 57, 64, 51, 51, 63, 61, 15, 0,
+  13, 32, 16, 20, 14, 2, 9, 47, 43, 37, 45, 41, 29, 17, 11, 9,
+  6, 7, 9, 7, 5, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 1, 2, 0, 0, 1, 1, 2, 6, 9, 10, 10, 15, 20, 21, 27,
+  38, 39, 42, 27, 34, 41, 47, 52, 53, 61, 66, 62, 54, 22, 32, 0,
+  0, 0, 0, 0, 2, 5, 6, 3, 0, 4, 19, 29, 59, 80, 77, 63,
+  51, 44, 45, 45, 37, 33, 42, 37, 33, 39, 32, 32, 34, 31, 25, 25,
+  32, 36, 40, 42, 47, 39, 42, 48, 61, 83, 64, 45, 20, 22, 23, 20,
+  51, 72, 61, 50, 54, 66, 51, 50, 43, 51, 54, 56, 55, 54, 55, 54,
+  48, 49, 57, 52, 26, 36, 38, 37, 35, 33, 41, 41, 36, 34, 35, 35,
+  36, 40, 50, 53, 60, 55, 54, 58, 84, 37, 0, 17, 31, 27, 16, 16,
+  85, 49, 41, 33, 43, 40, 35, 31, 28, 39, 36, 36, 37, 49, 29, 28,
+  45, 51, 53, 53, 56, 57, 57, 56, 57, 57, 57, 54, 47, 53, 51, 46,
+  48, 33, 49, 44, 43, 53, 54, 57, 53, 55, 54, 65, 68, 76, 90, 92,
+  59, 54, 52, 42, 55, 57, 50, 45, 58, 49, 45, 35, 65, 58, 47, 34,
+  45, 59, 56, 55, 54, 54, 57, 56, 53, 53, 54, 51, 66, 61, 52, 49,
+  29, 65, 54, 56, 52, 28, 46, 54, 52, 51, 51, 54, 55, 54, 55, 57,
+  61, 59, 58, 58, 54, 47, 21, 50, 50, 52, 49, 20, 36, 45, 64, 63,
+  53, 55, 52, 58, 53, 51, 53, 48, 53, 58, 44, 33, 43, 64, 54, 54,
+  49, 50, 46, 62, 65, 71, 23, 2, 3, 0, 26, 47, 63, 54, 35, 34,
+  40, 37, 29, 18, 11, 9, 4, 4, 5, 5, 5, 4, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 0, 2, 2, 1, 1, 2, 4, 8, 7,
+  9, 10, 14, 19, 20, 25, 31, 32, 32, 32, 36, 37, 41, 43, 47, 50,
+  53, 57, 64, 71, 74, 75, 72, 73, 32, 35, 36, 37, 46, 62, 76, 80,
+  75, 70, 66, 61, 55, 49, 45, 44, 41, 40, 37, 35, 34, 32, 31, 29,
+  28, 27, 27, 27, 25, 24, 29, 32, 35, 36, 37, 39, 39, 42, 51, 56,
+  58, 62, 64, 66, 67, 67, 64, 61, 53, 50, 50, 53, 57, 60, 60, 60,
+  63, 63, 63, 63, 62, 61, 60, 60, 64, 62, 54, 48, 42, 39, 36, 38,
+  44, 46, 46, 41, 45, 42, 29, 43, 51, 53, 60, 59, 63, 64, 93, 1,
+  3, 28, 29, 17, 4, 40, 71, 46, 42, 40, 41, 37, 27, 24, 34, 38,
+  35, 34, 35, 38, 43, 48, 54, 57, 61, 59, 62, 63, 62, 63, 63, 64,
+  64, 63, 62, 61, 60, 59, 58, 55, 46, 43, 45, 47, 47, 47, 47, 47,
+  48, 49, 53, 57, 60, 62, 63, 64, 62, 62, 63, 63, 62, 62, 63, 61,
+  59, 56, 52, 52, 53, 57, 62, 64, 64, 64, 64, 63, 64, 63, 63, 63,
+  63, 64, 66, 65, 65, 61, 55, 52, 49, 48, 48, 52, 59, 62, 62, 62,
+  63, 63, 63, 63, 63, 64, 66, 66, 64, 64, 64, 59, 52, 48, 48, 48,
+  46, 51, 58, 63, 64, 64, 64, 63, 63, 63, 63, 63, 63, 62, 63, 61,
+  60, 57, 53, 51, 49, 47, 47, 46, 47, 51, 55, 62, 67, 69, 69, 68,
+  65, 61, 51, 41, 36, 35, 33, 30, 24, 19, 14, 9, 7, 5, 3, 3,
+  4, 4, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 1,
+  1, 2, 2, 5, 8, 7, 6, 6, 12, 15, 17, 21, 24, 26, 27, 29,
+  32, 35, 34, 35, 41, 42, 42, 43, 46, 46, 50, 49, 50, 50, 51, 54,
+  54, 51, 52, 53, 52, 49, 49, 46, 44, 42, 42, 41, 40, 39, 37, 36,
+  35, 32, 30, 28, 25, 24, 22, 22, 21, 20, 21, 22, 24, 27, 30, 30,
+  33, 35, 36, 37, 42, 42, 40, 40, 42, 44, 44, 45, 45, 46, 45, 45,
+  44, 44, 43, 43, 43, 43, 44, 45, 44, 44, 43, 42, 43, 44, 45, 46,
+  46, 43, 42, 39, 38, 37, 37, 45, 50, 45, 40, 41, 41, 39, 47, 70,
+  53, 64, 61, 84, 75, 0, 12, 28, 36, 9, 0, 75, 57, 48, 41, 40,
+  38, 32, 22, 22, 32, 35, 29, 29, 31, 34, 35, 37, 39, 40, 41, 39,
+  42, 41, 42, 43, 42, 43, 43, 43, 45, 44, 43, 42, 42, 41, 42, 41,
+  41, 40, 42, 42, 42, 40, 42, 42, 43, 44, 42, 43, 43, 44, 45, 45,
+  43, 44, 44, 44, 42, 42, 42, 42, 42, 42, 42, 42, 42, 42, 44, 44,
+  44, 44, 44, 44, 44, 44, 44, 44, 44, 43, 43, 43, 43, 43, 43, 43,
+  43, 43, 43, 43, 43, 43, 44, 44, 44, 44, 44, 44, 44, 44, 44, 44,
+  44, 43, 43, 43, 43, 43, 43, 43, 43, 44, 44, 44, 44, 44, 44, 44,
+  44, 44, 44, 43, 43, 42, 44, 43, 43, 43, 42, 43, 43, 43, 44, 45,
+  43, 44, 44, 43, 42, 43, 44, 43, 39, 36, 35, 33, 28, 24, 22, 20,
+  14, 10, 8, 6, 3, 3, 3, 5, 2, 0, 0, 0, 0, 0, 0, 0,
+  1, 1, 1, 1, 1, 1, 0, 0, 0, 1, 4, 3, 4, 4, 7, 11,
+  13, 15, 19, 19, 22, 23, 25, 26, 27, 29, 35, 36, 37, 36, 39, 40,
+  43, 43, 45, 43, 45, 47, 48, 46, 47, 48, 47, 43, 42, 40, 38, 36,
+  36, 34, 33, 32, 30, 29, 28, 25, 23, 21, 19, 17, 17, 15, 14, 13,
+  14, 15, 18, 20, 23, 23, 26, 27, 28, 31, 35, 35, 36, 36, 39, 40,
+  39, 39, 39, 40, 39, 39, 39, 39, 38, 38, 38, 37, 39, 39, 39, 39,
+  37, 38, 38, 39, 41, 41, 41, 42, 40, 40, 38, 35, 38, 37, 33, 37,
+  43, 42, 49, 58, 50, 52, 48, 53, 75, 93, 0, 8, 31, 33, 32, 3,
+  13, 77, 53, 43, 42, 39, 33, 28, 23, 24, 28, 29, 26, 25, 26, 29,
+  30, 31, 34, 33, 35, 34, 36, 36, 37, 37, 38, 38, 37, 37, 39, 38,
+  37, 36, 36, 36, 35, 34, 35, 34, 35, 34, 35, 34, 35, 34, 36, 37,
+  36, 37, 39, 40, 39, 39, 38, 38, 38, 38, 38, 38, 38, 38, 38, 38,
+  38, 38, 38, 38, 39, 39, 39, 39, 39, 39, 39, 39, 38, 38, 38, 38,
+  38, 37, 37, 37, 37, 37, 37, 37, 37, 38, 38, 38, 38, 38, 38, 38,
+  38, 38, 38, 38, 38, 38, 38, 38, 38, 38, 37, 37, 38, 38, 38, 38,
+  38, 38, 38, 38, 39, 39, 39, 38, 38, 37, 37, 37, 38, 38, 38, 38,
+  37, 37, 37, 37, 38, 39, 40, 40, 38, 37, 37, 38, 37, 37, 35, 32,
+  30, 28, 23, 21, 17, 16, 12, 8, 7, 6, 4, 2, 5, 4, 2, 0,
+  0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1, 1, 0, 0, 0,
+  2, 2, 4, 4, 7, 10, 11, 14, 15, 17, 17, 17, 20, 22, 23, 25,
+  30, 31, 31, 30, 33, 36, 38, 37, 39, 39, 40, 40, 39, 37, 37, 39,
+  40, 39, 38, 36, 34, 31, 32, 29, 28, 28, 26, 25, 22, 20, 19, 18,
+  15, 14, 13, 11, 11, 11, 12, 12, 14, 15, 18, 18, 21, 23, 24, 26,
+  28, 30, 31, 32, 34, 35, 34, 34, 35, 35, 35, 35, 34, 34, 33, 33,
+  33, 34, 37, 35, 35, 34, 33, 33, 34, 35, 37, 38, 38, 39, 39, 39,
+  40, 39, 37, 30, 37, 42, 43, 44, 52, 62, 62, 62, 48, 66, 94, 20,
+  11, 24, 42, 42, 20, 7, 50, 67, 47, 40, 41, 37, 30, 26, 25, 24,
+  24, 24, 22, 22, 24, 26, 26, 28, 30, 29, 31, 31, 32, 32, 32, 33,
+  33, 34, 33, 32, 34, 33, 32, 31, 31, 31, 30, 29, 30, 29, 30, 29,
+  30, 29, 30, 29, 31, 32, 32, 33, 34, 35, 34, 35, 33, 33, 34, 33,
+  33, 33, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34, 34,
+  34, 34, 34, 34, 34, 33, 33, 33, 33, 32, 32, 32, 33, 33, 33, 33,
+  33, 33, 34, 34, 34, 34, 34, 34, 34, 34, 34, 33, 33, 33, 33, 33,
+  33, 33, 33, 33, 33, 33, 33, 33, 34, 34, 34, 34, 34, 34, 33, 33,
+  32, 32, 34, 33, 33, 33, 32, 32, 32, 32, 34, 34, 35, 36, 34, 33,
+  32, 34, 33, 33, 31, 27, 25, 24, 21, 18, 14, 12, 11, 7, 7, 6,
+  2, 2, 4, 3, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+  1, 0, 1, 0, 0, 0, 2, 1, 2, 2, 5, 7, 9, 11, 12, 12,
+  14, 14, 16, 17, 20, 21, 26, 26, 27, 26, 29, 30, 32, 32, 33, 33,
+  36, 37, 39, 38, 36, 35, 32, 30, 32, 31, 30, 28, 27, 26, 23, 23,
+  21, 20, 18, 16, 16, 13, 11, 10, 10, 9, 8, 8, 9, 8, 11, 12,
+  15, 15, 17, 19, 19, 22, 25, 25, 27, 27, 29, 31, 31, 31, 31, 31,
+  31, 31, 31, 31, 30, 30, 30, 30, 32, 31, 31, 29, 29, 29, 30, 31,
+  34, 36, 37, 38, 38, 39, 41, 42, 46, 38, 53, 45, 38, 58, 68, 68,
+  67, 63, 84, 99, 21, 4, 20, 34, 45, 33, 19, 0, 77, 59, 45, 37,
+  37, 35, 29, 25, 26, 24, 19, 19, 18, 20, 21, 21, 23, 24, 25, 25,
+  28, 27, 28, 29, 29, 29, 29, 30, 30, 30, 29, 28, 27, 26, 26, 26,
+  26, 25, 25, 24, 24, 24, 26, 24, 25, 25, 27, 28, 27, 28, 29, 31,
+  30, 30, 30, 31, 30, 30, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29,
+  30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 30, 29, 29, 29, 29, 29,
+  29, 29, 29, 29, 29, 29, 29, 29, 30, 30, 30, 30, 30, 30, 30, 30,
+  30, 30, 30, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 29, 30, 30,
+  30, 30, 30, 30, 29, 29, 28, 28, 29, 29, 28, 28, 27, 27, 27, 27,
+  29, 30, 30, 31, 31, 30, 29, 29, 27, 29, 27, 23, 22, 20, 16, 14,
+  14, 13, 9, 8, 7, 5, 3, 2, 2, 2, 1, 0, 0, 0, 0, 0,
+  0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 1, 2, 1, 2,
+  4, 5, 7, 8, 9, 8, 12, 12, 14, 17, 17, 19, 22, 22, 22, 23,
+  24, 26, 27, 26, 27, 28, 24, 26, 27, 27, 28, 28, 26, 25, 27, 28,
+  26, 24, 23, 22, 21, 20, 18, 17, 14, 13, 12, 10, 8, 8, 9, 7,
+  7, 6, 6, 6, 8, 10, 14, 14, 15, 16, 17, 19, 21, 22, 24, 23,
+  25, 27, 27, 27, 26, 27, 27, 27, 27, 26, 26, 26, 26, 26, 28, 26,
+  25, 24, 25, 25, 27, 28, 31, 32, 33, 36, 36, 38, 40, 43, 49, 53,
+  46, 46, 67, 62, 34, 42, 48, 47, 27, 0, 14, 26, 29, 46, 39, 23,
+  0, 19, 78, 48, 42, 36, 34, 34, 27, 26, 26, 21, 16, 14, 17, 18,
+  18, 18, 20, 20, 21, 21, 23, 23, 24, 26, 25, 25, 25, 25, 26, 26,
+  25, 25, 24, 22, 24, 23, 22, 22, 21, 22, 21, 21, 21, 22, 21, 21,
+  23, 23, 24, 25, 26, 25, 26, 26, 26, 26, 26, 26, 25, 25, 25, 25,
+  25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+  26, 25, 25, 25, 25, 24, 24, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+  25, 25, 25, 25, 25, 25, 26, 25, 25, 25, 25, 25, 25, 25, 25, 25,
+  25, 25, 25, 25, 25, 25, 26, 26, 26, 26, 25, 25, 24, 24, 24, 26,
+  25, 25, 23, 23, 23, 23, 25, 25, 26, 27, 27, 27, 25, 25, 25, 25,
+  23, 19, 18, 17, 15, 13, 11, 10, 9, 7, 6, 5, 3, 3, 2, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0,
+  1, 0, 1, 2, 3, 3, 2, 4, 5, 6, 6, 7, 10, 9, 12, 12,
+  14, 16, 18, 18, 18, 17, 20, 22, 22, 22, 23, 22, 28, 27, 26, 24,
+  24, 23, 22, 25, 24, 22, 21, 20, 20, 18, 18, 16, 15, 14, 12, 11,
+  10, 9, 7, 6, 8, 6, 6, 6, 6, 5, 7, 10, 10, 10, 13, 14,
+  14, 15, 18, 18, 19, 18, 20, 21, 22, 22, 22, 22, 22, 22, 21, 21,
+  21, 21, 21, 21, 23, 23, 22, 21, 21, 22, 24, 22, 26, 26, 29, 31,
+  33, 37, 42, 42, 42, 52, 42, 65, 81, 30, 0, 0, 0, 0, 9, 14,
+  23, 37, 45, 38, 29, 16, 0, 67, 53, 47, 32, 34, 30, 28, 27, 26,
+  23, 17, 13, 11, 13, 15, 15, 14, 16, 17, 18, 18, 18, 18, 19, 20,
+  21, 20, 21, 21, 21, 21, 20, 20, 21, 20, 19, 18, 18, 17, 16, 17,
+  17, 17, 17, 17, 16, 16, 18, 18, 19, 20, 21, 22, 22, 20, 21, 21,
+  21, 21, 21, 21, 22, 22, 22, 22, 22, 22, 22, 22, 21, 21, 21, 21,
+  21, 21, 21, 21, 21, 21, 21, 21, 21, 20, 20, 20, 20, 20, 20, 20,
+  20, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21,
+  21, 21, 20, 20, 20, 20, 20, 20, 21, 21, 21, 21, 21, 21, 21, 21,
+  21, 20, 19, 19, 21, 21, 20, 20, 20, 20, 18, 18, 19, 20, 21, 22,
+  22, 21, 21, 20, 19, 20, 17, 16, 14, 13, 12, 10, 7, 6, 5, 4,
+  4, 3, 1, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+  1, 1, 1, 1, 1, 1, 0, 0, 1, 2, 2, 1, 2, 3, 3, 4,
+  3, 4, 6, 6, 7, 9, 10, 13, 15, 15, 14, 14, 17, 19, 18, 18,
+  19, 18, 17, 17, 19, 19, 20, 18, 16, 17, 18, 18, 17, 16, 17, 15,
+  14, 12, 14, 12, 11, 9, 9, 7, 6, 6, 5, 5, 4, 5, 4, 5,
+  6, 8, 6, 8, 9, 11, 11, 12, 15, 15, 15, 15, 16, 18, 18, 18,
+  18, 19, 19, 19, 18, 17, 17, 17, 17, 17, 20, 19, 18, 17, 18, 18,
+  21, 20, 23, 24, 27, 29, 32, 36, 42, 42, 42, 44, 53, 81, 43, 0,
+  21, 20, 20, 20, 27, 35, 43, 39, 37, 24, 25, 0, 45, 64, 52, 44,
+  41, 28, 25, 24, 25, 23, 18, 12, 9, 7, 9, 11, 12, 12, 12, 12,
+  14, 14, 13, 14, 16, 17, 17, 17, 17, 17, 18, 17, 17, 16, 17, 16,
+  15, 15, 15, 14, 13, 12, 14, 14, 14, 12, 12, 13, 14, 15, 15, 16,
+  17, 18, 17, 17, 17, 17, 18, 18, 17, 17, 17, 17, 17, 17, 17, 17,
+  17, 17, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 18, 17, 17, 17,
+  17, 16, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
+  17, 17, 18, 17, 17, 17, 17, 17, 17, 17, 16, 17, 17, 17, 17, 17,
+  17, 17, 18, 18, 18, 17, 17, 16, 16, 15, 18, 17, 17, 17, 17, 17,
+  15, 15, 16, 16, 17, 18, 18, 18, 17, 17, 15, 15, 14, 11, 11, 10,
+  9, 8, 5, 5, 4, 2, 2, 1, 2, 1, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
+  1, 1, 2, 1, 2, 2, 2, 2, 4, 5, 5, 7, 8, 8, 11, 11,
+  12, 13, 14, 14, 14, 14, 15, 14, 15, 15, 15, 14, 14, 14, 13, 15,
+  14, 13, 13, 12, 12, 12, 12, 12, 8, 8, 8, 7, 6, 4, 3, 4,
+  5, 4, 4, 4, 3, 4, 4, 4, 5, 6, 6, 7, 8, 9, 11, 11,
+  11, 12, 12, 14, 14, 14, 14, 14, 14, 14, 13, 13, 13, 13, 14, 14,
+  16, 14, 13, 12, 13, 13, 17, 18, 19, 21, 26, 28, 31, 35, 41, 40,
+  34, 46, 60, 45, 1, 21, 34, 33, 33, 26, 37, 42, 34, 32, 29, 12,
+  0, 24, 52, 52, 45, 39, 36, 30, 24, 23, 22, 19, 14, 9, 6, 6,
+  7, 9, 10, 8, 9, 10, 11, 10, 11, 11, 12, 12, 13, 13, 13, 13,
+  14, 13, 13, 13, 12, 11, 11, 11, 9, 9, 10, 10, 10, 10, 10, 10,
+  9, 9, 10, 10, 11, 12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+  13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+  13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+  13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13, 13,
+  13, 13, 13, 13, 13, 13, 13, 13, 14, 14, 13, 13, 13, 12, 12, 12,
+  12, 12, 12, 12, 11, 11, 11, 11, 13, 13, 13, 14, 14, 14, 13, 13,
+  13, 12, 10, 10, 8, 7, 5, 6, 3, 3, 2, 0, 0, 0, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 0, 1, 0, 1, 2, 1, 2, 1, 1, 1, 1,
+  3, 4, 3, 5, 6, 8, 10, 9, 10, 11, 11, 10, 11, 12, 12, 12,
+  12, 11, 11, 10, 11, 10, 10, 11, 9, 8, 9, 9, 8, 8, 7, 6,
+  6, 5, 3, 2, 1, 2, 3, 2, 2, 2, 3, 3, 4, 3, 4, 4,
+  4, 5, 5, 7, 8, 9, 9, 9, 10, 9, 11, 9, 11, 9, 9, 9,
+  9, 8, 9, 8, 10, 10, 11, 11, 9, 10, 9, 11, 13, 15, 18, 20,
+  25, 27, 28, 32, 39, 39, 37, 46, 69, 0, 13, 24, 39, 37, 26, 36,
+  42, 37, 27, 17, 2, 0, 58, 61, 55, 42, 36, 37, 37, 31, 23, 19,
+  16, 15, 13, 9, 5, 5, 5, 6, 6, 7, 6, 8, 9, 8, 9, 8,
+  10, 9, 11, 10, 12, 10, 9, 9, 8, 8, 7, 8, 8, 7, 6, 6,
+  7, 6, 6, 6, 6, 6, 7, 6, 7, 7, 8, 9, 9, 10, 11, 9,
+  11, 9, 11, 9, 11, 9, 11, 9, 11, 9, 11, 9, 11, 9, 11, 9,
+  11, 9, 11, 9, 11, 9, 11, 9, 11, 9, 11, 9, 11, 9, 11, 9,
+  11, 9, 11, 9, 11, 9, 11, 9, 11, 9, 11, 9, 11, 9, 11, 9,
+  11, 9, 11, 9, 11, 9, 11, 9, 11, 9, 11, 9, 11, 9, 12, 10,
+  12, 10, 11, 9, 11, 11, 9, 9, 9, 9, 9, 7, 9, 7, 8, 8,
+  9, 9, 9, 9, 9, 9, 8, 9, 7, 6, 5, 3, 2, 2, 2, 2,
+  1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 1, 2, 2, 1, 3, 4, 5, 6, 7, 9, 8,
+  8, 8, 9, 9, 9, 9, 9, 9, 8, 8, 8, 8, 8, 7, 6, 5,
+  4, 5, 4, 5, 4, 4, 3, 1, 0, 0, 0, 0, 0, 2, 1, 0,
+  0, 1, 2, 1, 0, 0, 2, 2, 1, 3, 4, 5, 5, 5, 6, 5,
+  8, 6, 7, 5, 6, 5, 5, 4, 5, 5, 6, 6, 7, 6, 7, 7,
+  7, 8, 11, 12, 16, 19, 22, 26, 27, 33, 38, 44, 50, 66, 0, 19,
+  24, 33, 37, 24, 28, 23, 23, 24, 9, 0, 8, 65, 66, 56, 41, 29,
+  29, 34, 38, 31, 23, 17, 10, 11, 14, 10, 4, 2, 3, 3, 3, 3,
+  4, 4, 5, 5, 5, 3, 6, 4, 7, 5, 7, 5, 5, 5, 5, 5,
+  4, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 3, 4, 4, 5,
+  5, 6, 6, 7, 7, 5, 7, 5, 7, 5, 7, 5, 7, 5, 7, 5,
+  7, 5, 7, 5, 7, 5, 7, 5, 7, 5, 7, 5, 7, 5, 7, 5,
+  7, 5, 7, 5, 7, 5, 7, 5, 7, 5, 7, 5, 7, 5, 7, 5,
+  7, 5, 7, 5, 7, 5, 7, 5, 7, 5, 7, 5, 7, 5, 7, 5,
+  7, 5, 7, 5, 7, 5, 7, 5, 7, 5, 6, 6, 6, 6, 6, 6,
+  6, 4, 6, 4, 4, 5, 5, 5, 6, 6, 6, 6, 5, 6, 4, 3,
+  3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 2,
+  3, 4, 5, 6, 7, 7, 6, 6, 6, 7, 6, 6, 7, 6, 6, 6,
+  6, 6, 6, 5, 4, 3, 5, 4, 3, 3, 4, 3, 2, 1, 0, 0,
+  0, 0, 1, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1, 2,
+  3, 4, 3, 4, 4, 5, 5, 5, 5, 5, 4, 3, 3, 3, 3, 4,
+  4, 4, 6, 4, 6, 6, 7, 7, 10, 12, 15, 17, 20, 25, 27, 31,
+  38, 45, 53, 6, 0, 11, 20, 1, 2, 4, 4, 6, 0, 5, 42, 73,
+  67, 52, 46, 43, 37, 33, 30, 30, 31, 29, 21, 16, 8, 9, 15, 12,
+  2, 0, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 4, 4, 5,
+  4, 4, 3, 3, 3, 3, 4, 4, 3, 3, 3, 2, 3, 3, 2, 3,
+  3, 3, 2, 2, 3, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 5, 5, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 3, 3, 3, 4, 4,
+  3, 3, 5, 4, 3, 2, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 4, 3, 3, 3, 4,
+  3, 3, 4, 4, 4, 4, 4, 3, 2, 2, 2, 1, 2, 1, 2, 1,
+  2, 2, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0,
+  0, 0, 1, 1, 1, 0, 1, 2, 1, 1, 2, 2, 2, 2, 2, 2,
+  3, 2, 1, 1, 1, 2, 2, 2, 3, 2, 4, 4, 4, 7, 9, 11,
+  13, 16, 19, 21, 25, 29, 36, 43, 31, 0, 0, 0, 0, 21, 9, 15,
+  35, 44, 62, 70, 62, 55, 48, 44, 41, 41, 38, 35, 30, 25, 25, 27,
+  17, 13, 8, 9, 13, 10, 0, 0, 3, 4, 4, 3, 3, 3, 4, 4,
+  2, 2, 2, 3, 3, 3, 2, 2, 1, 1, 2, 2, 2, 1, 1, 0,
+  0, 0, 0, 0, 1, 1, 1, 2, 0, 0, 0, 0, 1, 1, 1, 1,
+  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+  3, 3, 3, 3, 3, 3, 3, 3, 1, 1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 2, 1, 1, 1, 2, 1, 0, 0, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+  0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 1,
+  2, 3, 3, 1, 1, 1, 1, 2, 2, 4, 4, 3, 3, 3, 1, 0,
+  0, 1, 1, 2, 1, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2,
+  2, 2, 2, 2, 2, 1, 3, 1, 1, 1, 1, 2, 2, 2, 3, 1,
+  2, 3, 4, 6, 9, 10, 14, 16, 19, 23, 24, 28, 34, 40, 47, 66,
+  73, 76, 69, 64, 74, 59, 68, 54, 47, 48, 41, 41, 44, 37, 35, 34,
+  30, 30, 27, 22, 20, 20, 12, 11, 8, 10, 13, 11, 1, 0, 2, 2,
+  4, 1, 3, 1, 4, 2, 2, 2, 2, 3, 3, 2, 2, 1, 1, 1,
+  1, 1, 2, 1, 1, 0, 1, 1, 0, 0, 0, 0, 2, 1, 0, 0,
+  0, 0, 1, 0, 1, 0, 3, 2, 3, 3, 3, 3, 3, 3, 3, 2,
+  3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2,
+  3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2,
+  3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2,
+  3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 1, 2, 2, 1, 1,
+  1, 1, 1, 0, 1, 0, 1, 1, 1, 1, 2, 0, 1, 1, 1, 2,
+  1, 1, 2, 2, 1, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 2, 1,
+  1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 1, 0, 1, 1, 1, 2,
+  2, 2, 2, 1, 2, 0, 0, 0, 1, 3, 2, 2, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 2, 0, 3, 0, 0, 0,
+  0, 1, 1, 1, 2, 1, 2, 3, 4, 4, 8, 10, 13, 16, 18, 21,
+  21, 23, 29, 33, 39, 53, 44, 49, 49, 52, 53, 50, 45, 44, 43, 40,
+  33, 32, 39, 41, 40, 35, 29, 27, 28, 21, 11, 5, 6, 7, 12, 14,
+  10, 6, 2, 1, 2, 2, 2, 1, 2, 1, 2, 2, 1, 1, 1, 2,
+  2, 0, 0, 0, 0, 0, 1, 1, 3, 0, 2, 0, 2, 2, 2, 1,
+  1, 2, 3, 2, 1, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 2,
+  2, 2, 2, 2, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,
+  2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,
+  2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,
+  2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,
+  2, 0, 2, 2, 2, 2, 2, 2, 2, 0, 2, 0, 0, 0, 0, 1,
+  1, 0, 0, 0, 3, 2, 2, 2, 3, 2, 1, 1, 0, 0, 2, 1,
+  1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
+  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 2, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1,
+  1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 1, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 2, 4,
+  6, 8, 11, 12, 16, 17, 19, 22, 27, 30, 34, 29, 39, 40, 44, 43,
+  40, 37, 35, 40, 37, 34, 37, 35, 32, 39, 31, 28, 24, 22, 23, 18,
+  10, 6, 4, 6, 9, 11, 6, 3, 0, 0, 1, 2, 1, 1, 1, 1,
+  2, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 2,
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  2, 1, 2, 1, 2, 4, 6, 6, 10, 11, 14, 16, 18, 22, 28, 28,
+  30, 31, 32, 36, 36, 37, 37, 36, 36, 35, 36, 35, 33, 31, 29, 29,
+  28, 26, 20, 17, 16, 13, 9, 6, 6, 5, 6, 3, 2, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 5, 5, 8, 8,
+  12, 14, 17, 22, 27, 28, 26, 25, 29, 30, 31, 32, 31, 31, 30, 30,
+  31, 29, 29, 26, 24, 22, 21, 19, 16, 12, 11, 9, 7, 6, 6, 6,
+  4, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+  1, 2, 4, 4, 5, 5, 8, 10, 12, 15, 20, 21, 20, 19, 23, 25,
+  25, 23, 23, 24, 23, 23, 22, 22, 23, 20, 18, 17, 15, 13, 10, 9,
+  7, 7, 5, 4, 4, 4, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 3, 3, 6, 7, 9, 11,
+  15, 15, 17, 17, 19, 21, 19, 19, 19, 20, 17, 18, 17, 17, 18, 16,
+  14, 13, 11, 10, 8, 7, 7, 5, 4, 5, 2, 3, 1, 2, 1, 1,
+  1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2,
+  2, 2, 4, 6, 6, 9, 12, 14, 15, 14, 17, 17, 17, 15, 15, 15,
+  14, 15, 14, 13, 14, 13, 11, 10, 9, 8, 7, 5, 5, 3, 4, 3,
+  3, 4, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 2, 2, 1, 2, 3, 5, 5, 8, 9, 10, 11, 12,
+  13, 15, 14, 12, 12, 12, 11, 12, 12, 11, 11, 10, 9, 9, 7, 8,
+  6, 6, 4, 3, 3, 3, 4, 4, 2, 1, 2, 2, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 2, 2, 4,
+  4, 6, 8, 8, 9, 10, 11, 12, 10, 10, 10, 10, 10, 9, 9, 9,
+  9, 9, 8, 8, 6, 6, 4, 4, 4, 4, 4, 4, 3, 3, 2, 1,
+  2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 2, 2, 2, 3, 3, 3, 5, 6, 7, 8, 7, 9, 9, 9, 7,
+  8, 8, 6, 7, 7, 6, 8, 7, 6, 5, 5, 4, 3, 3, 3, 2,
+  3, 2, 2, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 1, 3, 3, 5, 6, 5,
+  6, 6, 6, 6, 6, 6, 6, 6, 5, 5, 5, 4, 6, 5, 5, 5,
+  3, 3, 2, 3, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+  1, 3, 4, 3, 6, 4, 5, 4, 5, 3, 4, 3, 4, 3, 3, 3,
+  2, 4, 4, 3, 4, 4, 3, 3, 2, 2, 2, 1, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 1, 0, 0, 1, 2, 3, 2, 4, 3, 1, 1, 2, 1,
+  1, 0, 1, 0, 1, 1, 1, 1, 1, 2, 3, 3, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2,
+  3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+  2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 1, 2, 2, 0, 0, 1, 1, 1, 0, 0, 0,
+  0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
+  0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
+  1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 2, 2, 2, 2, 1, 3, 2, 3, 3, 3, 3, 1, 1, 1,
+  1, 1, 0, 1, 1, 2, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3,
+  3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 2, 3, 3, 3, 3, 3,
+  3, 3, 2, 2, 3, 3, 3, 3, 3, 2, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3, 3,
+  3, 2, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 1, 1, 2, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 2, 2, 2, 2,
+  2, 2, 2, 2, 2, 2, 2, 3, 2, 1, 1, 1, 0, 0, 0, 0,
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 1, 1, 2, 1, 2, 2, 2, 2, 2, 2, 3,
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1,
+  1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4,
+  4, 4, 4, 2, 2, 2, 2, 2, 2, 3, 3, 3, 3, 4, 4, 4,
+  4, 4, 4, 4, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5,
+  4, 4, 4, 4, 5, 5, 5, 5, 4, 4, 5, 5, 5, 5, 4, 4,
+  4, 3, 3, 3, 3, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1, 2, 0, 1, 0, 1, 0, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+  1, 2, 1, 2, 1, 2, 3, 4, 4, 4, 5, 5, 5, 5, 5, 6,
+  5, 6, 5, 6, 5, 5, 6, 5, 5, 5, 3, 3, 3, 2, 1, 1,
+  0, 0, 1, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 1, 2, 3, 3,
+  3, 5, 4, 5, 4, 4, 3, 4, 4, 5, 4, 4, 4, 5, 4, 4,
+  4, 3, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 1, 3, 3, 3, 3, 4,
+  3, 4, 3, 4, 4, 4, 4, 4, 3, 4, 3, 4, 3, 4, 3, 4,
+  3, 4, 3, 4, 3, 4, 4, 4, 4, 4, 4, 4, 3, 4, 3, 3,
+  3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 4, 5, 6, 6, 5, 5,
+  6, 7, 6, 7, 7, 7, 6, 6, 6, 5, 5, 5, 4, 4, 5, 5,
+  5, 5, 6, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 7, 7, 7, 7, 7, 7, 7, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 7, 7, 7, 6, 6, 6, 5, 5, 5, 5, 5, 5,
+  5, 5, 5, 4, 4, 4, 3, 3, 3, 3, 3, 3, 3, 3, 1, 1,
+  1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 1, 2, 2, 2, 4, 3, 4, 4, 5, 5, 7, 7, 8,
+  8, 9, 9, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 8, 8, 7,
+  6, 5, 4, 4, 3, 3, 2, 2, 1, 1, 1, 2, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 3,
+  2, 3, 3, 4, 5, 5, 6, 7, 7, 8, 7, 8, 8, 8, 8, 9,
+  8, 9, 8, 9, 7, 7, 6, 5, 4, 4, 3, 2, 2, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 3, 4,
+  3, 4, 4, 4, 6, 7, 6, 7, 6, 7, 7, 7, 7, 7, 6, 7,
+  6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 6, 7, 7, 7, 7, 7,
+  7, 7, 6, 7, 6, 6, 6, 6, 6, 6, 6, 6, 6, 7, 6, 8,
+  8, 9, 9, 10, 10, 11, 11, 13, 12, 13, 13, 12, 13, 12, 12, 11,
+  11, 10, 10, 10, 9, 10, 10, 11, 11, 12, 13, 13, 13, 13, 14, 14,
+  14, 14, 14, 14, 14, 14, 14, 14, 14, 13, 13, 13, 12, 12, 12, 12,
+  12, 12, 13, 13, 13, 13, 13, 13, 13, 13, 12, 12, 12, 10, 10, 10,
+  9, 9, 8, 8, 8, 9, 8, 7, 7, 7, 7, 7, 6, 5, 5, 5,
+  5, 5, 4, 4, 3, 2, 2, 2, 2, 2, 2, 1, 0, 0, 0, 0,
+  0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 3, 4, 5, 7,
+  7, 8, 9, 10, 10, 12, 12, 13, 14, 15, 15, 15, 15, 15, 15, 15,
+  15, 15, 13, 13, 11, 10, 10, 8, 7, 6, 6, 6, 4, 3, 2, 2,
+  2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 1, 1, 1, 3, 4, 5, 5, 7, 7, 8, 9, 10, 10, 11, 12,
+  13, 13, 13, 13, 13, 13, 13, 13, 12, 12, 11, 10, 9, 7, 6, 4,
+  4, 3, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+  1, 3, 4, 5, 5, 5, 5, 7, 7, 8, 10, 10, 10, 10, 10, 10,
+  10, 10, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11,
+  11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 11, 10, 10, 10, 10,
+  10, 10, 10, 11, 10, 12, 13, 13, 14, 14, 15, 16, 16, 17, 17, 17,
+  18, 17, 18, 18, 16, 16, 16, 15, 14, 14, 14, 14, 15, 16, 16, 16,
+  18, 18, 19, 19, 19, 19, 19, 20, 20, 20, 20, 20, 19, 19, 19, 19,
+  19, 18, 18, 18, 17, 18, 18, 19, 18, 19, 19, 20, 19, 20, 19, 19,
+  18, 18, 16, 16, 16, 15, 14, 14, 12, 12, 13, 12, 12, 12, 11, 11,
+  10, 10, 10, 10, 10, 9, 8, 7, 5, 5, 4, 4, 4, 3, 3, 2,
+  2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 3,
+  4, 5, 5, 8, 9, 11, 11, 13, 15, 16, 16, 17, 18, 20, 21, 21,
+  22, 22, 22, 22, 21, 21, 21, 21, 19, 19, 18, 17, 15, 14, 12, 11,
+  10, 9, 7, 6, 4, 3, 3, 3, 1, 1, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 1, 1, 1, 3, 3, 4, 5, 8, 9, 11, 12,
+  14, 14, 16, 17, 17, 18, 19, 19, 18, 19, 19, 19, 18, 19, 18, 17,
+  16, 15, 14, 11, 10, 8, 7, 5, 2, 1, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 1, 3, 3, 4, 4, 7, 8, 9, 10, 12, 13, 14, 14,
+  17, 17, 17, 17, 17, 17, 16, 17, 17, 17, 17, 17, 17, 17, 17, 17,
+  17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17, 17,
+  17, 17, 16, 16, 16, 16, 16, 16, 16, 17, 16, 18, 19, 19, 21, 22,
+  21, 22, 24, 25, 25, 25, 25, 25, 24, 23, 23, 23, 21, 21, 21, 20,
+  21, 21, 21, 22, 23, 24, 24, 24, 26, 26, 27, 27, 27, 27, 28, 28,
+  28, 27, 27, 27, 27, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26, 26,
+  27, 28, 28, 28, 27, 27, 26, 26, 25, 25, 24, 23, 22, 21, 20, 20,
+  19, 18, 18, 18, 18, 17, 16, 16, 16, 16, 15, 14, 13, 12, 11, 9,
+  8, 8, 6, 5, 4, 3, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 1, 3, 3, 4, 6, 8, 9, 11, 14, 16, 17, 18, 21, 21,
+  22, 24, 25, 27, 28, 29, 29, 30, 29, 29, 29, 29, 29, 28, 26, 26,
+  24, 23, 22, 20, 18, 17, 14, 12, 10, 9, 7, 6, 5, 4, 2, 1,
+  1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 3, 4,
+  5, 8, 9, 12, 14, 15, 20, 21, 22, 23, 24, 26, 25, 26, 27, 27,
+  27, 28, 27, 27, 27, 26, 22, 20, 18, 16, 14, 11, 9, 7, 3, 1,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 5, 6, 6, 10, 12,
+  13, 15, 18, 19, 21, 23, 24, 24, 24, 25, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 25,
+  24, 25, 24, 25, 24, 24, 24, 24, 24, 24, 23, 24, 23, 24, 23, 24,
+  23, 24, 25, 27, 28, 30, 31, 33, 34, 35, 36, 36, 35, 35, 34, 34,
+  33, 32, 32, 31, 31, 31, 30, 32, 33, 33, 33, 34, 35, 35, 37, 38,
+  38, 38, 39, 39, 39, 39, 39, 39, 39, 38, 38, 38, 37, 37, 36, 36,
+  36, 36, 36, 37, 37, 37, 38, 38, 38, 38, 38, 37, 37, 36, 35, 34,
+  33, 32, 31, 31, 29, 28, 26, 26, 25, 25, 24, 24, 24, 24, 23, 22,
+  22, 20, 18, 17, 16, 15, 11, 10, 9, 7, 5, 4, 3, 2, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 2, 2, 3, 4, 7, 10, 10, 13, 15, 18,
+  20, 21, 24, 26, 27, 30, 32, 34, 35, 37, 39, 40, 40, 41, 40, 40,
+  40, 40, 39, 38, 37, 35, 33, 33, 32, 30, 26, 24, 21, 19, 17, 14,
+  11, 10, 8, 7, 6, 4, 3, 2, 2, 2, 1, 0, 0, 0, 1, 1,
+  1, 1, 3, 4, 4, 6, 7, 10, 12, 16, 19, 21, 27, 29, 33, 34,
+  35, 36, 37, 38, 38, 38, 37, 38, 37, 36, 35, 32, 30, 28, 25, 21,
+  18, 15, 12, 9, 5, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 0, 1, 3, 5,
+  5, 8, 11, 13, 16, 17, 20, 22, 25, 26, 28, 31, 32, 33, 35, 35,
+  34, 34, 35, 35, 34, 35, 34, 34, 33, 34, 33, 34, 33, 34, 33, 34,
+  33, 34, 33, 34, 34, 35, 34, 35, 34, 35, 34, 34, 34, 34, 33, 33,
+  32, 33, 32, 33, 31, 32, 31, 33, 34, 37, 39, 41, 42, 43, 45, 46,
+  47, 48, 48, 47, 46, 45, 44, 42, 42, 41, 41, 42, 40, 41, 42, 43,
+  44, 46, 46, 48, 48, 49, 50, 50, 51, 51, 51, 51, 52, 52, 51, 51,
+  50, 50, 50, 50, 48, 48, 48, 48, 48, 48, 49, 49, 50, 50, 50, 50,
+  50, 49, 48, 48, 47, 45, 43, 42, 42, 41, 39, 38, 39, 37, 36, 35,
+  35, 35, 34, 33, 33, 32, 32, 29, 27, 24, 22, 20, 17, 15, 11, 9,
+  6, 5, 3, 2, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1, 3, 4, 4, 6,
+  11, 14, 16, 19, 23, 26, 28, 31, 34, 36, 39, 41, 43, 47, 48, 50,
+  51, 53, 54, 55, 54, 54, 54, 54, 53, 51, 50, 48, 46, 45, 44, 41,
+  36, 33, 30, 27, 25, 22, 17, 14, 12, 11, 8, 7, 5, 4, 2, 2,
+  0, 0, 0, 0, 1, 1, 1, 3, 4, 5, 5, 7, 10, 13, 16, 21,
+  26, 29, 34, 38, 42, 46, 46, 47, 48, 50, 51, 50, 50, 51, 50, 49,
+  47, 45, 40, 37, 32, 28, 24, 20, 16, 13, 9, 6, 5, 2, 2, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
+  0, 0, 0, 2, 5, 7, 8, 11, 14, 17, 22, 24, 26, 30, 34, 37,
+  39, 41, 43, 45, 46, 46, 46, 46, 47, 48, 46, 47, 46, 47, 45, 46,
+  45, 46, 45, 46, 45, 46, 45, 46, 45, 46, 46, 48, 47, 47, 47, 47,
+  47, 46, 46, 46, 45, 45, 44, 43, 43, 43, 44, 44, 44, 46, 47, 50,
+  52, 54, 55, 57, 58, 61, 61, 61, 61, 61, 60, 58, 57, 56, 56, 54,
+  54, 55, 54, 54, 55, 57, 58, 59, 59, 61, 62, 64, 64, 65, 66, 66,
+  66, 66, 66, 66, 66, 66, 65, 65, 64, 64, 64, 63, 62, 63, 63, 64,
+  64, 65, 65, 66, 65, 66, 65, 65, 63, 63, 61, 59, 57, 56, 55, 54,
+  53, 51, 50, 49, 48, 47, 47, 47, 45, 45, 44, 44, 41, 40, 37, 34,
+  31, 27, 23, 19, 16, 12, 9, 6, 4, 3, 1, 0, 0, 0, 0, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 2, 3,
+  2, 4, 5, 7, 10, 13, 17, 21, 23, 27, 32, 36, 39, 43, 46, 50,
+  53, 55, 58, 61, 63, 66, 67, 69, 70, 71, 70, 71, 70, 70, 69, 67,
+  67, 64, 62, 59, 57, 54, 48, 44, 41, 38, 33, 28, 25, 22, 18, 15,
+  13, 12, 9, 7, 4, 3, 1, 1, 1, 2, 2, 2, 3, 3, 5, 7,
+  7, 9, 13, 18, 24, 29, 35, 40, 44, 49, 54, 58, 60, 61, 64, 65,
+  66, 66, 66, 67, 65, 64, 61, 58, 52, 48, 43, 37, 32, 25, 20, 17,
+  14, 11, 8, 5, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 1, 0, 0, 0, 0, 0, 0, 1, 4, 8, 10, 12, 16, 19, 23,
+  28, 31, 35, 40, 44, 48, 52, 55, 57, 59, 60, 62, 61, 61, 62, 62,
+  62, 62, 62, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61, 61,
+  61, 62, 61, 62, 62, 61, 61, 61, 61, 61, 59, 59, 59, 58, 58, 58,
+  58, 58, 58, 60, 62, 63, 67, 69, 72, 74, 75, 77, 78, 78, 78, 77,
+  76, 74, 73, 72, 72, 70, 70, 70, 70, 70, 71, 73, 74, 75, 76, 77,
+  80, 81, 82, 82, 83, 83, 83, 83, 83, 83, 83, 83, 82, 82, 82, 81,
+  81, 81, 80, 81, 80, 81, 81, 82, 82, 83, 82, 83, 82, 82, 80, 80,
+  78, 76, 74, 72, 70, 69, 68, 66, 66, 65, 62, 62, 62, 61, 60, 59,
+  58, 57, 55, 53, 49, 45, 40, 37, 31, 26, 22, 17, 12, 10, 7, 4,
+  2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+  1, 1, 0, 1, 3, 4, 5, 7, 11, 13, 16, 19, 24, 28, 32, 37,
+  43, 47, 51, 55, 59, 62, 69, 72, 74, 77, 80, 83, 84, 86, 87, 87,
+  88, 88, 87, 86, 85, 85, 84, 82, 78, 76, 72, 68, 63, 59, 54, 50,
+  44, 39, 35, 31, 26, 23, 19, 17, 14, 11, 8, 5, 4, 2, 2, 2,
+  2, 2, 3, 4, 7, 9, 11, 14, 18, 24, 30, 38, 46, 51, 57, 63,
+  69, 73, 75, 78, 80, 83, 83, 83, 83, 83, 82, 79, 75, 71, 67, 61,
+  54, 47, 40, 35, 27, 22, 17, 14, 10, 7, 4, 2, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2, 3, 6,
+  10, 13, 16, 20, 24, 29, 36, 41, 47, 52, 57, 62, 67, 71, 73, 75,
+  77, 77, 78, 78, 78, 79, 79, 78, 78, 78, 78, 78, 77, 77, 77, 77,
+  77, 77, 78, 78, 78, 78, 78, 79, 79, 79, 78, 78, 78, 78, 78, 77,
+  77, 77, 75, 75, 74, 74, 75, 75, 75, 77, 78, 80, 84, 86, 88, 90,
+  92, 94, 95, 96, 95, 95, 93, 92, 91, 90, 88, 88, 87, 87, 86, 87,
+  88, 89, 92, 93, 93, 95, 98, 99, 100, 101, 101, 101, 102, 102, 102, 101,
+  101, 101, 100, 100, 100, 100, 99, 99, 99, 99, 99, 100, 100, 100, 101, 101,
+  101, 101, 101, 100, 99, 98, 95, 93, 90, 89, 88, 86, 84, 83, 83, 82,
+  80, 79, 78, 78, 77, 76, 74, 72, 69, 66, 63, 58, 53, 47, 40, 35,
+  28, 22, 17, 13, 9, 6, 4, 2, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 4, 6, 9, 12, 15, 18,
+  21, 26, 32, 36, 44, 49, 55, 61, 65, 69, 74, 79, 86, 90, 93, 96,
+  99, 102, 104, 106, 107, 107, 107, 107, 106, 105, 104, 103, 102, 99, 97, 93,
+  90, 85, 80, 76, 69, 64, 58, 52, 47, 42, 37, 32, 25, 22, 17, 15,
+  11, 9, 5, 5, 2, 2, 2, 2, 3, 5, 8, 11, 14, 19, 24, 30,
+  38, 46, 55, 63, 71, 78, 85, 90, 94, 96, 98, 101, 101, 102, 101, 100,
+  99, 96, 91, 86, 82, 76, 66, 59, 51, 43, 35, 30, 21, 17, 13, 9,
+  6, 4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 2, 2, 4, 8, 12, 16, 20, 25, 30, 35, 46, 53, 59, 66,
+  71, 77, 83, 87, 90, 93, 94, 95, 97, 97, 97, 98, 96, 96, 96, 96,
+  95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 95, 96, 98, 98, 97, 97,
+  97, 97, 96, 96, 96, 95, 95, 94, 94, 93, 92, 91, 92, 93, 93, 94,
+  97, 100, 103, 105, 107, 109, 112, 113, 115, 115, 116, 115, 112, 111, 110, 109,
+  107, 107, 106, 106, 106, 106, 108, 109, 111, 112, 113, 114, 118, 119, 120, 120,
+  121, 121, 121, 121, 121, 121, 121, 120, 120, 120, 119, 119, 119, 119, 119, 119,
+  119, 119, 120, 120, 121, 121, 121, 121, 121, 120, 119, 118, 114, 113, 110, 108,
+  107, 106, 103, 102, 102, 100, 98, 98, 97, 97, 95, 94, 92, 90, 87, 83,
+  78, 72, 66, 59, 50, 42, 35, 27, 23, 18, 13, 9, 5, 3, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 4,
+  6, 8, 12, 16, 19, 24, 28, 35, 41, 46, 54, 61, 67, 73, 79, 84,
+  89, 94, 103, 105, 109, 113, 115, 118, 121, 123, 125, 125, 126, 126, 125, 124,
+  122, 122, 118, 116, 113, 110, 107, 102, 95, 91, 84, 78, 70, 64, 58, 52,
+  47, 42, 32, 27, 23, 19, 14, 11, 9, 6, 4, 3, 3, 3, 4, 6,
+  9, 13, 19, 23, 30, 38, 46, 56, 67, 75, 84, 92, 98, 105, 109, 112,
+  115, 117, 120, 119, 119, 118, 116, 112, 106, 102, 95, 87, 77, 68, 59, 50,
+  42, 34, 25, 21, 16, 12, 8, 6, 4, 2, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 1, 3, 4, 7, 11, 14, 19, 24, 30,
+  36, 44, 54, 63, 71, 78, 84, 91, 97, 102, 105, 109, 111, 113, 115, 114,
+  114, 115, 114, 113, 113, 113, 113, 112, 112, 112, 112, 112, 112, 112, 113, 113,
+  113, 113, 114, 115, 115, 115, 115, 115, 114, 113, 113, 113, 112, 112, 111, 110,
+  109, 108, 109, 109, 110, 111, 114, 116, 119, 121, 125, 127, 130, 131, 133, 134,
+  134, 134, 131, 130, 129, 128, 126, 125, 124, 124, 124, 125, 127, 128, 130, 131,
+  132, 133, 136, 137, 137, 139, 138, 140, 139, 140, 139, 139, 138, 139, 137, 138,
+  137, 137, 136, 137, 136, 137, 136, 138, 137, 139, 138, 139, 138, 139, 138, 138,
+  136, 136, 134, 131, 128, 127, 126, 125, 122, 120, 118, 118, 116, 115, 115, 114,
+  112, 111, 109, 106, 102, 97, 92, 85, 77, 70, 61, 53, 42, 35, 29, 23,
+  16, 11, 6, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 2, 3, 4, 6, 8, 12, 17, 22, 26, 32, 38, 45, 52, 58,
+  67, 73, 81, 87, 94, 100, 105, 111, 118, 123, 127, 130, 133, 136, 138, 141,
+  143, 144, 144, 144, 143, 142, 140, 139, 137, 134, 130, 127, 122, 117, 111, 107,
+  99, 93, 84, 77, 71, 65, 57, 51, 41, 35, 29, 24, 19, 15, 11, 10,
+  6, 6, 5, 5, 6, 8, 11, 15, 22, 29, 37, 45, 54, 66, 77, 87,
+  97, 104, 112, 120, 125, 129, 132, 135, 137, 137, 136, 135, 133, 129, 123, 117,
+  108, 100, 88, 78, 68, 58, 49, 40, 30, 24, 20, 15, 10, 8, 4, 3,
+  0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 2, 4, 5,
+  9, 13, 17, 23, 28, 35, 44, 51, 65, 73, 82, 91, 98, 106, 112, 118,
+  123, 127, 129, 132, 132, 132, 132, 133, 133, 132, 132, 132, 132, 131, 131, 131,
+  131, 131, 131, 131, 132, 132, 132, 132, 133, 133, 133, 134, 133, 132, 132, 132,
+  132, 131, 130, 129, 128, 127, 127, 126, 126, 126, 128, 129, 131, 134, 137, 139,
+  143, 145, 148, 149, 151, 152, 152, 152, 149, 149, 147, 146, 144, 144, 142, 142,
+  143, 143, 145, 146, 148, 150, 150, 152, 154, 155, 155, 157, 156, 157, 157, 158,
+  156, 157, 156, 156, 155, 156, 154, 155, 154, 155, 154, 155, 154, 156, 155, 156,
+  156, 157, 156, 157, 156, 156, 154, 154, 152, 149, 148, 146, 144, 143, 141, 139,
+  137, 136, 134, 134, 132, 132, 130, 129, 127, 123, 118, 113, 107, 99, 89, 81,
+  71, 62, 52, 42, 34, 28, 21, 14, 8, 4, 2, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 6, 8, 11, 16, 21, 27,
+  33, 41, 47, 55, 63, 69, 80, 88, 96, 105, 112, 118, 123, 128, 136, 140,
+  144, 147, 152, 156, 158, 161, 160, 159, 158, 159, 158, 158, 158, 156, 156, 153,
+  148, 145, 140, 135, 129, 123, 115, 109, 99, 92, 85, 78, 69, 63, 51, 45,
+  39, 32, 26, 21, 16, 14, 8, 7, 5, 6, 8, 11, 15, 19, 27, 34,
+  44, 53, 61, 72, 86, 96, 111, 118, 128, 134, 141, 146, 149, 153, 154, 154,
+  152, 151, 148, 144, 136, 132, 124, 114, 100, 88, 78, 67, 57, 46, 34, 29,
+  23, 17, 12, 8, 5, 3, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1,
+  1, 0, 1, 3, 4, 6, 9, 14, 19, 26, 33, 42, 51, 59, 75, 85,
+  95, 105, 113, 121, 129, 135, 141, 145, 148, 151, 152, 151, 149, 149, 151, 151,
+  152, 152, 151, 149, 151, 151, 149, 148, 149, 150, 152, 152, 151, 151, 150, 152,
+  152, 151, 150, 150, 151, 149, 150, 149, 148, 147, 147, 146, 144, 144, 143, 143,
+  145, 147, 148, 152, 155, 157, 160, 161, 162, 162, 163, 164, 165, 166, 165, 165,
+  164, 162, 160, 159, 160, 161, 160, 161, 162, 163, 165, 167, 169, 169, 171, 170,
+  172, 172, 172, 171, 168, 167, 166, 168, 173, 174, 172, 171, 169, 169, 170, 170,
+  169, 169, 170, 171, 171, 171, 172, 173, 172, 172, 170, 168, 166, 166, 168, 166,
+  164, 162, 162, 161, 156, 155, 155, 155, 154, 153, 152, 151, 150, 148, 144, 140,
+  134, 128, 123, 113, 103, 93, 80, 71, 58, 47, 40, 32, 24, 17, 8, 5,
+  3, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 2, 3, 6,
+  10, 12, 17, 22, 26, 33, 42, 49, 60, 69, 78, 85, 93, 106, 119, 124,
+  129, 137, 141, 144, 156, 159, 161, 165, 171, 175, 179, 180, 177, 176, 174, 171,
+  172, 174, 177, 177, 176, 171, 169, 166, 159, 155, 152, 140, 134, 125, 117, 108,
+  100, 92, 86, 77, 66, 57, 48, 42, 36, 29, 23, 17, 13, 8, 6, 8,
+  13, 15, 19, 24, 33, 43, 55, 64, 72, 82, 95, 109, 122, 136, 136, 148,
+  152, 166, 163, 172, 165, 174, 169, 169, 162, 160, 150, 142, 141, 129, 115, 101,
+  87, 75, 64, 53, 42, 33, 25, 20, 15, 10, 6, 5, 3, 3, 2, 2,
+  2, 2, 2, 2, 1, 1, 2, 3, 3, 5, 7, 9, 12, 16, 23, 31,
+  40, 49, 60, 72, 81, 96, 108, 119, 136, 138, 144, 154, 162, 166, 170, 171,
+  171, 170, 165, 164, 166, 170, 175, 169, 171, 163, 172, 170, 161, 171, 166, 161,
+  177, 169, 169, 170, 168, 169, 170, 169, 167, 166, 167, 168, 167, 162, 170, 166,
+  169, 167, 158, 158, 164, 160, 164, 166, 171, 160, 180, 171, 181, 174, 177, 177,
+  166, 168, 177, 176, 182, 177, 184, 178, 178, 179, 174, 181, 180, 179, 184, 181,
+  182, 181, 193, 185, 190, 187, 186, 187, 188, 184, 176, 171, 175, 164, 199, 194,
+  188, 188, 184, 183, 184, 185, 183, 179, 189, 187, 184, 186, 188, 188, 192, 183,
+  186, 174, 173, 180, 184, 183, 179, 179, 182, 180, 167, 175, 174, 173, 173, 173,
+  173, 171, 169, 167, 162, 154, 150, 142, 137, 128, 115, 105, 93, 77, 63, 54,
+  45, 37, 28, 19, 13, 8, 5, 3, 2, 1, 0, 0, 0, 1, 2, 2,
+  1, 2, 3, 3, 5, 9, 13, 17, 22, 27, 35, 41, 52, 62, 72, 82,
+  92, 99, 111, 118, 132, 144, 152, 155, 160, 165, 165, 170, 174, 176, 176, 177,
+  180, 182, 181, 180, 178, 180, 177, 174, 175, 179, 175, 176, 177, 175, 170, 168,
+  164, 158, 153, 145, 135, 132, 110, 112, 101, 86, 77, 67, 57, 51, 44, 37,
+  30, 24, 19, 13, 11, 14, 17, 20, 25, 31, 39, 49, 62, 73, 81, 92,
+  105, 118, 134, 145, 153, 163, 164, 158, 174, 170, 178, 179, 169, 170, 167, 165,
+  148, 141, 151, 142, 126, 112, 97, 84, 72, 59, 48, 39, 30, 24, 20, 15,
+  10, 9, 7, 7, 6, 7, 7, 7, 6, 5, 4, 4, 5, 6, 6, 9,
+  11, 13, 16, 20, 28, 37, 46, 55, 67, 79, 99, 101, 119, 128, 132, 156,
+  158, 157, 165, 169, 173, 176, 178, 176, 171, 169, 178, 179, 178, 179, 173, 179,
+  182, 173, 185, 165, 182, 191, 187, 181, 180, 169, 175, 174, 173, 174, 174, 173,
+  174, 173, 176, 177, 168, 168, 171, 179, 173, 182, 177, 177, 176, 175, 181, 182,
+  186, 184, 181, 176, 159, 120, 87, 96, 130, 148, 175, 189, 187, 197, 196, 186,
+  197, 198, 196, 189, 194, 187, 177, 178, 180, 190, 181, 184, 190, 190, 179, 156,
+  126, 106, 80, 108, 191, 208, 204, 200, 196, 195, 198, 191, 180, 185, 176, 185,
+  186, 180, 186, 188, 178, 147, 124, 93, 87, 135, 190, 199, 195, 190, 198, 194,
+  185, 175, 178, 178, 179, 179, 177, 175, 174, 171, 167, 163, 160, 154, 149, 141,
+  128, 118, 102, 86, 71, 61, 51, 41, 32, 22, 14, 10, 6, 4, 2, 1,
+  0, 0, 0, 1, 2, 2, 2, 2, 3, 3, 7, 12, 17, 21, 28, 35,
+  44, 52, 64, 76, 87, 97, 108, 116, 125, 137, 148, 155, 162, 169, 173, 174,
+  184, 181, 172, 165, 151, 133, 112, 97, 86, 77, 71, 71, 74, 81, 101, 120,
+  131, 158, 179, 181, 181, 186, 184, 180, 173, 158, 151, 152, 128, 124, 116, 104,
+  88, 78, 66, 58, 51, 44, 37, 31, 24, 19, 17, 18, 22, 24, 29, 34,
+  41, 51, 66, 79, 89, 101, 116, 127, 136, 141, 111, 115, 112, 115, 124, 122,
+  121, 124, 121, 130, 124, 110, 83, 78, 155, 150, 136, 123, 107, 93, 80, 67,
+  55, 45, 36, 30, 24, 19, 15, 13, 12, 11, 11, 10, 10, 10, 9, 9,
+  7, 7, 8, 10, 10, 12, 14, 17, 21, 25, 32, 42, 51, 63, 74, 86,
+  99, 107, 131, 149, 142, 152, 147, 156, 159, 162, 167, 171, 175, 175, 171, 170,
+  168, 169, 169, 171, 168, 174, 167, 187, 192, 201, 209, 189, 190, 190, 176, 171,
+  174, 171, 168, 168, 173, 174, 171, 168, 165, 168, 164, 168, 165, 166, 182, 180,
+  190, 190, 189, 187, 192, 198, 194, 195, 182, 96, 35, 33, 39, 31, 29, 35,
+  71, 163, 200, 202, 206, 208, 201, 203, 198, 203, 181, 75, 36, 27, 34, 32,
+  27, 27, 31, 35, 39, 37, 32, 29, 37, 90, 202, 222, 217, 211, 208, 206,
+  144, 64, 46, 27, 34, 32, 28, 34, 30, 37, 33, 26, 36, 32, 42, 140,
+  202, 212, 207, 207, 209, 190, 200, 184, 177, 174, 174, 173, 170, 168, 167, 166,
+  167, 161, 155, 147, 149, 151, 135, 124, 112, 96, 79, 67, 57, 45, 33, 23,
+  15, 10, 6, 4, 2, 1, 0, 0, 0, 1, 1, 2, 2, 3, 3, 5,
+  10, 16, 21, 27, 35, 42, 52, 62, 76, 88, 101, 113, 124, 132, 138, 150,
+  161, 169, 175, 180, 181, 181, 163, 132, 87, 52, 34, 31, 33, 35, 33, 34,
+  36, 39, 35, 30, 30, 33, 31, 37, 53, 89, 141, 174, 181, 184, 180, 178,
+  171, 160, 155, 141, 126, 114, 104, 91, 78, 67, 59, 50, 44, 40, 32, 27,
+  24, 24, 26, 30, 35, 40, 47, 56, 70, 84, 98, 112, 128, 138, 157, 160,
+  92, 50, 40, 41, 29, 35, 41, 38, 30, 34, 35, 40, 45, 77, 158, 157,
+  145, 132, 117, 103, 88, 75, 61, 52, 43, 37, 31, 25, 21, 20, 18, 18,
+  18, 16, 16, 15, 14, 14, 13, 14, 14, 15, 15, 18, 19, 22, 27, 31,
+  39, 49, 59, 70, 82, 95, 115, 136, 134, 141, 146, 66, 57, 36, 32, 32,
+  35, 40, 43, 43, 40, 40, 37, 36, 44, 38, 44, 46, 63, 133, 205, 208,
+  206, 209, 207, 130, 55, 45, 43, 40, 36, 36, 40, 41, 40, 38, 38, 39,
+  41, 38, 40, 52, 110, 199, 200, 199, 199, 201, 202, 203, 203, 184, 84, 38,
+  17, 27, 32, 27, 26, 35, 31, 53, 181, 210, 217, 222, 210, 218, 209, 215,
+  200, 175, 50, 34, 22, 15, 25, 23, 23, 24, 28, 32, 34, 36, 34, 89,
+  206, 222, 221, 223, 224, 220, 212, 144, 42, 38, 29, 20, 27, 26, 31, 27,
+  19, 17, 26, 30, 31, 140, 212, 222, 215, 211, 223, 213, 182, 56, 47, 42,
+  41, 39, 35, 34, 34, 35, 37, 37, 40, 53, 94, 143, 144, 135, 121, 103,
+  85, 73, 59, 46, 33, 22, 16, 11, 7, 5, 3, 1, 0, 0, 0, 1,
+  1, 1, 3, 4, 5, 7, 13, 20, 26, 32, 41, 51, 62, 73, 88, 104,
+  117, 129, 141, 148, 159, 160, 167, 180, 194, 184, 135, 83, 35, 33, 33, 32,
+  29, 26, 29, 31, 36, 35, 33, 30, 29, 31, 33, 33, 29, 31, 34, 35,
+  29, 34, 80, 145, 176, 186, 183, 178, 165, 152, 142, 141, 120, 107, 91, 79,
+  68, 59, 53, 49, 43, 38, 33, 33, 35, 37, 44, 49, 56, 65, 79, 94,
+  109, 125, 142, 152, 163, 171, 143, 62, 39, 28, 30, 35, 32, 31, 29, 32,
+  28, 29, 32, 74, 164, 165, 156, 145, 128, 114, 98, 84, 71, 61, 52, 46,
+  40, 34, 31, 29, 27, 27, 26, 26, 24, 24, 23, 23, 21, 21, 23, 23,
+  23, 26, 28, 31, 35, 39, 48, 57, 67, 78, 90, 104, 121, 132, 143, 166,
+  159, 151, 64, 41, 33, 30, 32, 35, 36, 36, 35, 35, 37, 35, 39, 31,
+  38, 52, 141, 211, 217, 228, 225, 222, 226, 205, 149, 52, 38, 34, 36, 36,
+  33, 33, 36, 38, 34, 41, 23, 33, 48, 85, 192, 203, 207, 208, 210, 210,
+  211, 208, 208, 132, 38, 31, 34, 32, 37, 41, 38, 30, 36, 36, 56, 203,
+  214, 230, 230, 225, 220, 217, 223, 210, 159, 39, 32, 38, 23, 26, 31, 34,
+  38, 38, 34, 33, 31, 87, 210, 225, 230, 233, 232, 227, 226, 211, 108, 40,
+  29, 27, 35, 30, 33, 28, 30, 30, 27, 37, 42, 152, 217, 228, 233, 223,
+  217, 218, 208, 53, 43, 36, 36, 34, 29, 28, 29, 31, 35, 37, 34, 41,
+  86, 155, 156, 139, 127, 110, 92, 77, 63, 48, 33, 22, 16, 12, 7, 5,
+  3, 1, 0, 0, 0, 0, 1, 2, 4, 6, 7, 11, 17, 24, 31, 40,
+  50, 60, 71, 84, 101, 116, 130, 141, 153, 159, 167, 173, 188, 185, 142, 79,
+  41, 35, 29, 27, 28, 29, 30, 32, 36, 39, 39, 39, 38, 36, 36, 38,
+  36, 32, 37, 31, 22, 23, 28, 29, 31, 43, 79, 153, 177, 177, 171, 177,
+  155, 155, 136, 122, 104, 90, 78, 68, 62, 60, 53, 48, 43, 41, 42, 46,
+  51, 57, 65, 75, 88, 103, 119, 135, 152, 163, 171, 176, 182, 115, 31, 29,
+  35, 32, 36, 34, 32, 34, 32, 31, 30, 76, 170, 175, 167, 155, 138, 122,
+  106, 90, 79, 71, 61, 55, 49, 43, 40, 39, 37, 36, 34, 33, 33, 31,
+  31, 30, 29, 30, 30, 31, 32, 35, 37, 39, 44, 49, 56, 66, 75, 85,
+  98, 111, 126, 147, 156, 164, 179, 172, 141, 45, 34, 27, 31, 34, 36, 35,
+  33, 34, 36, 37, 32, 34, 31, 87, 210, 229, 226, 228, 226, 230, 229, 229,
+  206, 99, 35, 28, 35, 36, 34, 33, 37, 39, 33, 29, 35, 42, 50, 172,
+  213, 212, 211, 217, 218, 214, 218, 216, 196, 70, 35, 27, 32, 40, 49, 48,
+  43, 43, 34, 38, 35, 123, 226, 237, 231, 231, 229, 229, 233, 231, 211, 86,
+  37, 21, 34, 36, 40, 40, 39, 40, 36, 35, 32, 91, 222, 234, 239, 239,
+  236, 234, 234, 224, 189, 41, 35, 36, 36, 40, 42, 36, 40, 37, 28, 35,
+  47, 152, 234, 225, 231, 240, 231, 220, 203, 45, 41, 34, 35, 33, 29, 27,
+  30, 32, 29, 35, 33, 37, 82, 160, 161, 146, 133, 116, 98, 82, 66, 50,
+  35, 23, 17, 13, 8, 5, 3, 1, 0, 0, 0, 0, 1, 2, 5, 7,
+  10, 15, 22, 30, 39, 47, 59, 70, 83, 97, 115, 130, 141, 152, 161, 170,
+  173, 185, 156, 92, 43, 35, 35, 29, 35, 35, 36, 40, 45, 46, 39, 34,
+  33, 32, 33, 35, 38, 40, 40, 42, 42, 47, 41, 30, 26, 34, 34, 25,
+  27, 26, 101, 176, 177, 168, 173, 157, 151, 139, 120, 104, 91, 81, 74, 71,
+  66, 60, 54, 52, 52, 55, 62, 69, 77, 85, 98, 111, 127, 143, 160, 172,
+  184, 188, 191, 167, 31, 33, 33, 35, 42, 41, 40, 38, 35, 31, 25, 74,
+  178, 183, 177, 165, 147, 130, 114, 100, 90, 82, 72, 66, 61, 56, 52, 50,
+  48, 48, 46, 45, 45, 43, 42, 40, 40, 40, 40, 41, 44, 46, 48, 50,
+  55, 59, 67, 75, 86, 95, 107, 120, 133, 156, 168, 176, 181, 193, 187, 101,
+  32, 25, 32, 36, 38, 38, 35, 36, 41, 43, 35, 38, 40, 158, 235, 233,
+  239, 239, 235, 238, 241, 231, 232, 184, 33, 22, 30, 37, 40, 40, 38, 39,
+  46, 28, 38, 61, 179, 199, 203, 214, 215, 220, 220, 219, 222, 216, 169, 40,
+  34, 37, 42, 44, 52, 57, 51, 43, 37, 30, 32, 91, 223, 233, 243, 238,
+  241, 251, 233, 239, 236, 156, 26, 32, 33, 41, 48, 50, 49, 47, 37, 32,
+  27, 87, 224, 234, 240, 240, 240, 243, 240, 238, 202, 97, 34, 30, 41, 40,
+  48, 45, 44, 39, 36, 34, 45, 149, 229, 239, 242, 239, 236, 235, 211, 50,
+  36, 29, 36, 38, 36, 36, 38, 38, 35, 35, 32, 37, 82, 163, 162, 150,
+  139, 120, 101, 86, 69, 54, 36, 24, 18, 13, 8, 5, 3, 1, 0, 0,
+  0, 0, 1, 3, 5, 8, 12, 17, 26, 35, 44, 54, 67, 80, 96, 110,
+  126, 142, 153, 163, 171, 176, 186, 129, 65, 35, 30, 31, 32, 32, 40, 45,
+  49, 49, 44, 38, 33, 31, 33, 30, 29, 32, 33, 30, 34, 42, 53, 45,
+  43, 45, 39, 36, 36, 32, 31, 28, 31, 50, 161, 179, 178, 173, 166, 155,
+  136, 121, 106, 96, 89, 84, 79, 73, 67, 65, 65, 68, 75, 81, 88, 96,
+  108, 120, 134, 151, 167, 180, 189, 198, 200, 188, 45, 24, 28, 43, 48, 50,
+  50, 43, 35, 30, 27, 81, 185, 191, 185, 175, 156, 140, 125, 112, 103, 94,
+  86, 79, 74, 69, 65, 64, 62, 61, 61, 58, 57, 56, 53, 53, 52, 52,
+  54, 55, 55, 57, 60, 63, 68, 72, 79, 88, 97, 107, 117, 129, 144, 158,
+  169, 187, 197, 208, 199, 159, 32, 25, 33, 40, 45, 44, 41, 42, 43, 41,
+  33, 25, 45, 215, 225, 249, 243, 242, 240, 238, 242, 232, 236, 215, 32, 19,
+  30, 39, 45, 46, 42, 41, 30, 44, 43, 152, 209, 211, 219, 209, 218, 217,
+  217, 225, 224, 210, 146, 44, 36, 35, 40, 49, 59, 61, 53, 49, 42, 28,
+  22, 39, 220, 240, 239, 239, 246, 246, 251, 243, 234, 201, 35, 19, 30, 40,
+  51, 55, 53, 49, 37, 30, 32, 90, 229, 238, 245, 244, 242, 244, 243, 229,
+  227, 138, 38, 29, 43, 38, 46, 52, 49, 44, 41, 27, 38, 151, 227, 245,
+  246, 244, 242, 235, 215, 85, 34, 29, 39, 45, 46, 46, 48, 49, 40, 31,
+  24, 33, 85, 169, 165, 155, 141, 123, 103, 87, 70, 54, 37, 25, 19, 14,
+  8, 5, 3, 1, 0, 0, 0, 1, 2, 3, 6, 11, 16, 24, 31, 41,
+  55, 66, 76, 90, 113, 114, 138, 154, 165, 177, 180, 182, 109, 42, 30, 37,
+  28, 34, 41, 39, 41, 57, 42, 44, 36, 33, 27, 29, 29, 36, 37, 30,
+  23, 30, 37, 34, 42, 60, 51, 53, 43, 47, 45, 44, 40, 38, 35, 33,
+  55, 162, 172, 186, 179, 161, 155, 136, 122, 109, 104, 94, 91, 87, 82, 80,
+  79, 82, 88, 94, 101, 112, 117, 126, 145, 156, 166, 186, 192, 207, 208, 200,
+  81, 25, 27, 41, 47, 56, 54, 47, 39, 32, 28, 82, 193, 201, 192, 179,
+  165, 149, 133, 123, 113, 107, 100, 93, 88, 84, 81, 79, 76, 76, 74, 74,
+  72, 71, 68, 68, 66, 66, 69, 70, 70, 72, 75, 77, 82, 87, 93, 102,
+  110, 118, 128, 138, 151, 162, 178, 192, 205, 212, 214, 201, 37, 28, 32, 40,
+  45, 52, 57, 49, 44, 36, 28, 30, 45, 214, 235, 244, 246, 247, 239, 245,
+  237, 233, 230, 141, 34, 25, 37, 41, 49, 50, 41, 33, 35, 48, 145, 209,
+  213, 217, 210, 215, 214, 212, 219, 223, 226, 207, 147, 45, 34, 38, 38, 46,
+  63, 62, 48, 51, 44, 24, 34, 30, 220, 238, 241, 240, 246, 246, 246, 242,
+  242, 218, 31, 20, 28, 38, 47, 55, 53, 43, 35, 30, 30, 94, 223, 243,
+  245, 246, 246, 245, 244, 239, 229, 160, 42, 33, 35, 40, 47, 57, 51, 46,
+  36, 35, 35, 149, 228, 252, 247, 248, 249, 241, 226, 99, 32, 27, 37, 45,
+  53, 62, 62, 54, 40, 29, 19, 30, 91, 172, 164, 156, 142, 124, 105, 87,
+  70, 54, 39, 27, 19, 14, 8, 6, 4, 2, 0, 0, 0, 3, 4, 4,
+  8, 13, 19, 27, 35, 47, 62, 73, 85, 99, 115, 136, 147, 157, 174, 183,
+  186, 89, 45, 25, 34, 36, 33, 42, 47, 48, 48, 37, 37, 42, 28, 36,
+  37, 80, 131, 135, 145, 138, 90, 40, 27, 38, 48, 44, 46, 58, 58, 53,
+  52, 51, 56, 43, 34, 35, 42, 50, 167, 182, 178, 183, 160, 152, 140, 125,
+  118, 110, 104, 100, 95, 94, 94, 97, 102, 109, 111, 126, 135, 143, 158, 170,
+  179, 188, 195, 209, 213, 208, 87, 32, 31, 34, 46, 55, 55, 47, 39, 33,
+  30, 83, 198, 206, 199, 188, 174, 159, 146, 136, 128, 122, 115, 110, 104, 101,
+  98, 95, 94, 93, 92, 91, 89, 87, 85, 84, 83, 83, 83, 85, 86, 89,
+  90, 93, 97, 101, 107, 115, 124, 131, 140, 150, 159, 170, 185, 199, 210, 218,
+  223, 209, 38, 29, 33, 40, 47, 54, 61, 52, 45, 35, 27, 29, 47, 215,
+  237, 246, 248, 246, 248, 233, 238, 232, 204, 63, 36, 28, 38, 50, 41, 44,
+  30, 30, 33, 122, 199, 214, 212, 215, 210, 207, 207, 209, 214, 213, 223, 215,
+  171, 42, 36, 32, 45, 49, 46, 53, 54, 43, 39, 37, 23, 57, 229, 245,
+  233, 245, 242, 243, 245, 244, 245, 223, 35, 22, 31, 40, 48, 57, 54, 44,
+  36, 31, 30, 95, 225, 243, 246, 247, 247, 246, 246, 241, 233, 163, 41, 32,
+  35, 40, 47, 57, 51, 45, 35, 34, 35, 150, 230, 248, 245, 249, 249, 242,
+  229, 104, 32, 26, 37, 45, 53, 62, 63, 54, 42, 31, 34, 32, 126, 176,
+  170, 155, 141, 122, 104, 87, 70, 54, 40, 30, 20, 14, 8, 6, 4, 2,
+  0, 0, 1, 3, 5, 6, 10, 16, 22, 31, 41, 53, 70, 82, 96, 110,
+  124, 145, 165, 175, 186, 174, 115, 30, 25, 33, 42, 42, 51, 59, 54, 52,
+  36, 30, 21, 36, 51, 135, 207, 210, 199, 210, 212, 206, 211, 201, 134, 47,
+  27, 24, 41, 55, 47, 62, 68, 54, 52, 59, 44, 39, 37, 37, 66, 178,
+  185, 190, 171, 166, 159, 143, 134, 126, 120, 115, 111, 112, 113, 114, 119, 126,
+  138, 146, 150, 155, 164, 175, 188, 197, 208, 217, 222, 214, 87, 34, 36, 34,
+  43, 52, 53, 46, 38, 31, 28, 83, 200, 211, 205, 195, 182, 170, 160, 152,
+  144, 140, 133, 128, 122, 120, 117, 114, 113, 112, 112, 110, 108, 106, 104, 104,
+  101, 102, 103, 104, 106, 108, 109, 111, 115, 117, 123, 130, 139, 145, 153, 161,
+  169, 179, 191, 203, 213, 220, 225, 210, 36, 25, 31, 41, 49, 57, 64, 56,
+  46, 37, 28, 30, 46, 214, 239, 249, 251, 255, 243, 248, 238, 222, 73, 40,
+  32, 38, 51, 56, 40, 35, 22, 26, 102, 188, 212, 208, 210, 203, 205, 204,
+  203, 207, 210, 206, 219, 217, 199, 70, 40, 29, 32, 41, 48, 48, 42, 42,
+  30, 38, 30, 89, 233, 245, 246, 238, 239, 239, 248, 248, 250, 228, 40, 29,
+  36, 46, 53, 61, 58, 47, 39, 34, 34, 97, 226, 245, 246, 246, 245, 247,
+  248, 245, 236, 164, 38, 28, 33, 40, 47, 56, 50, 43, 34, 33, 37, 153,
+  240, 251, 250, 254, 249, 241, 229, 104, 32, 25, 35, 44, 52, 60, 60, 53,
+  44, 36, 29, 34, 136, 181, 165, 158, 140, 122, 103, 88, 70, 55, 42, 30,
+  20, 14, 8, 6, 4, 2, 0, 0, 2, 4, 5, 8, 12, 19, 26, 35,
+  47, 61, 77, 91, 105, 122, 136, 150, 172, 177, 189, 130, 37, 32, 37, 41,
+  47, 53, 63, 59, 48, 45, 28, 21, 26, 56, 178, 210, 213, 218, 222, 215,
+  217, 222, 225, 220, 201, 174, 55, 35, 32, 39, 42, 63, 56, 69, 59, 56,
+  49, 45, 42, 43, 30, 104, 187, 183, 183, 175, 170, 160, 149, 139, 135, 130,
+  128, 129, 130, 132, 136, 143, 155, 156, 164, 177, 183, 188, 200, 209, 213, 221,
+  229, 221, 87, 30, 37, 37, 41, 50, 52, 45, 36, 30, 27, 84, 204, 215,
+  211, 202, 191, 181, 172, 166, 160, 156, 149, 145, 141, 138, 135, 134, 133, 132,
+  131, 130, 128, 125, 123, 122, 120, 120, 122, 122, 123, 125, 127, 130, 132, 134,
+  140, 147, 152, 159, 166, 173, 181, 188, 198, 208, 217, 223, 227, 212, 33, 23,
+  30, 41, 50, 58, 66, 57, 47, 38, 31, 31, 46, 215, 239, 249, 253, 255,
+  254, 245, 227, 123, 36, 28, 38, 48, 51, 35, 35, 25, 22, 80, 185, 204,
+  197, 203, 201, 189, 199, 196, 198, 199, 203, 206, 214, 213, 214, 138, 39, 38,
+  37, 34, 40, 43, 36, 35, 40, 35, 51, 186, 235, 247, 239, 247, 240, 239,
+  248, 248, 248, 227, 39, 29, 36, 45, 52, 60, 58, 46, 39, 34, 34, 98,
+  227, 246, 246, 246, 245, 247, 250, 247, 237, 164, 36, 25, 33, 42, 49, 57,
+  50, 43, 33, 34, 39, 156, 239, 247, 248, 253, 250, 247, 235, 109, 32, 24,
+  36, 44, 52, 59, 58, 52, 43, 38, 24, 35, 133, 183, 167, 157, 140, 122,
+  103, 87, 69, 55, 43, 31, 20, 14, 8, 6, 4, 2, 0, 0, 2, 4,
+  6, 8, 15, 21, 29, 40, 52, 67, 84, 98, 113, 131, 148, 169, 168, 170,
+  152, 63, 31, 34, 36, 42, 57, 67, 62, 50, 43, 37, 26, 26, 69, 186,
+  202, 206, 210, 214, 208, 208, 209, 207, 202, 205, 208, 202, 177, 59, 46, 31,
+  39, 42, 57, 67, 71, 59, 53, 45, 44, 32, 35, 32, 144, 191, 191, 186,
+  181, 176, 166, 155, 150, 147, 147, 148, 150, 151, 154, 160, 171, 173, 178, 185,
+  189, 194, 206, 212, 216, 221, 232, 229, 94, 31, 34, 36, 40, 49, 52, 46,
+  36, 29, 27, 84, 209, 222, 218, 211, 201, 192, 186, 182, 176, 171, 165, 161,
+  159, 157, 154, 153, 153, 152, 151, 150, 147, 145, 143, 142, 141, 141, 142, 142,
+  143, 144, 146, 148, 151, 153, 156, 163, 168, 173, 180, 186, 194, 199, 208, 215,
+  222, 228, 232, 214, 30, 20, 29, 41, 50, 58, 65, 57, 48, 40, 33, 34,
+  49, 216, 237, 248, 252, 252, 255, 233, 155, 51, 26, 38, 41, 52, 49, 45,
+  28, 47, 57, 171, 204, 199, 194, 193, 183, 181, 185, 180, 188, 190, 193, 202,
+  207, 214, 219, 203, 84, 38, 27, 35, 28, 24, 32, 36, 35, 46, 105, 225,
+  235, 252, 247, 247, 245, 244, 249, 245, 241, 218, 34, 23, 30, 40, 47, 55,
+  53, 42, 36, 32, 32, 97, 227, 245, 247, 246, 245, 247, 252, 249, 239, 164,
+  34, 24, 35, 44, 52, 59, 51, 43, 33, 35, 42, 159, 239, 250, 250, 249,
+  246, 245, 231, 107, 33, 25, 37, 45, 51, 57, 56, 50, 43, 33, 33, 36,
+  142, 181, 178, 154, 140, 121, 103, 86, 67, 53, 41, 30, 20, 13, 8, 5,
+  3, 2, 0, 1, 2, 4, 7, 10, 16, 24, 33, 44, 57, 72, 90, 104,
+  120, 140, 156, 173, 171, 174, 78, 31, 41, 36, 39, 50, 64, 67, 56, 49,
+  46, 35, 31, 60, 169, 206, 208, 217, 200, 191, 200, 195, 195, 198, 195, 197,
+  206, 210, 209, 184, 52, 33, 34, 32, 48, 59, 64, 70, 64, 45, 43, 39,
+  21, 31, 76, 192, 192, 196, 191, 188, 178, 168, 164, 161, 162, 165, 167, 168,
+  170, 173, 177, 184, 188, 186, 191, 203, 211, 215, 226, 230, 234, 228, 94, 33,
+  34, 37, 41, 50, 53, 48, 38, 30, 29, 86, 211, 225, 223, 217, 208, 201,
+  198, 195, 188, 184, 179, 176, 174, 173, 170, 169, 168, 169, 167, 166, 164, 163,
+  161, 159, 157, 157, 158, 159, 159, 161, 163, 164, 167, 168, 171, 176, 182, 185,
+  191, 197, 204, 209, 215, 222, 227, 232, 235, 216, 31, 19, 30, 42, 49, 57,
+  63, 56, 48, 42, 33, 34, 50, 216, 237, 246, 252, 255, 242, 212, 56, 28,
+  37, 39, 43, 53, 49, 48, 46, 48, 175, 194, 195, 196, 192, 179, 174, 177,
+  169, 172, 179, 186, 188, 195, 202, 215, 216, 224, 187, 104, 41, 38, 49, 44,
+  36, 39, 45, 122, 221, 240, 244, 237, 248, 242, 247, 246, 246, 242, 241, 218,
+  32, 21, 28, 37, 45, 54, 52, 41, 36, 31, 32, 97, 228, 246, 247, 246,
+  243, 246, 250, 247, 238, 163, 32, 23, 35, 45, 53, 61, 51, 43, 33, 34,
+  41, 158, 242, 255, 254, 248, 247, 244, 232, 120, 34, 26, 38, 45, 51, 57,
+  56, 50, 43, 34, 27, 35, 137, 183, 180, 154, 140, 121, 102, 86, 67, 52,
+  40, 29, 20, 13, 8, 5, 3, 2, 2, 1, 3, 5, 8, 12, 19, 27,
+  35, 48, 62, 77, 95, 110, 127, 146, 162, 169, 175, 143, 36, 36, 33, 45,
+  51, 60, 58, 55, 47, 41, 38, 32, 46, 157, 202, 205, 202, 197, 192, 192,
+  178, 177, 182, 185, 187, 193, 200, 199, 207, 201, 161, 40, 33, 36, 37, 48,
+  58, 64, 72, 57, 50, 33, 42, 38, 42, 151, 196, 204, 203, 199, 189, 181,
+  177, 175, 176, 180, 183, 183, 185, 186, 187, 188, 184, 187, 194, 199, 208, 222,
+  216, 234, 239, 225, 90, 30, 31, 37, 43, 54, 58, 52, 40, 33, 31, 88,
+  215, 229, 228, 223, 214, 209, 206, 205, 200, 197, 192, 190, 188, 187, 186, 184,
+  185, 185, 184, 182, 180, 179, 177, 176, 174, 174, 175, 175, 176, 176, 178, 179,
+  182, 183, 184, 190, 194, 197, 202, 207, 213, 218, 222, 228, 233, 236, 238, 218,
+  32, 21, 32, 43, 49, 56, 59, 52, 47, 40, 31, 32, 48, 217, 239, 248,
+  247, 246, 223, 86, 37, 38, 36, 48, 54, 35, 40, 39, 45, 140, 197, 203,
+  198, 191, 181, 170, 169, 165, 158, 166, 172, 179, 183, 190, 198, 208, 217, 221,
+  220, 220, 176, 123, 105, 104, 110, 128, 202, 231, 231, 225, 242, 248, 245, 254,
+  246, 241, 240, 238, 245, 226, 37, 24, 30, 39, 47, 55, 53, 43, 37, 32,
+  35, 100, 228, 247, 247, 246, 243, 244, 245, 242, 234, 160, 30, 21, 34, 44,
+  53, 60, 52, 42, 31, 32, 37, 155, 235, 251, 250, 246, 249, 247, 243, 155,
+  35, 27, 39, 48, 53, 58, 56, 49, 39, 33, 17, 30, 141, 185, 175, 159,
+  141, 122, 103, 85, 65, 50, 38, 26, 20, 13, 8, 5, 3, 2, 2, 3,
+  4, 7, 10, 14, 21, 29, 38, 51, 66, 82, 100, 116, 132, 152, 167, 176,
+  168, 74, 42, 43, 34, 44, 47, 60, 54, 49, 41, 27, 22, 30, 82, 207,
+  201, 205, 196, 190, 189, 172, 170, 163, 167, 172, 176, 183, 190, 195, 201, 201,
+  197, 113, 36, 34, 34, 45, 59, 58, 69, 57, 48, 48, 35, 38, 40, 94,
+  205, 211, 214, 207, 200, 192, 188, 187, 191, 193, 193, 190, 187, 183, 167, 138,
+  106, 96, 95, 90, 111, 150, 164, 205, 227, 215, 85, 28, 30, 36, 45, 55,
+  59, 51, 39, 33, 33, 91, 220, 236, 233, 229, 222, 216, 214, 208, 197, 191,
+  188, 186, 184, 182, 182, 181, 179, 180, 180, 179, 178, 181, 187, 190, 188, 189,
+  191, 191, 190, 190, 191, 189, 185, 181, 179, 182, 188, 190, 193, 200, 210, 219,
+  225, 231, 236, 240, 242, 222, 33, 22, 32, 44, 50, 56, 59, 51, 46, 39,
+  28, 30, 49, 220, 242, 249, 249, 230, 120, 39, 37, 33, 41, 52, 38, 39,
+  39, 37, 150, 201, 198, 197, 193, 181, 175, 169, 156, 153, 154, 154, 162, 167,
+  173, 188, 196, 196, 217, 212, 218, 216, 211, 208, 207, 210, 211, 213, 224, 228,
+  203, 194, 236, 242, 245, 245, 245, 241, 238, 239, 248, 228, 38, 24, 31, 40,
+  47, 56, 54, 44, 37, 33, 34, 99, 230, 247, 247, 246, 244, 245, 244, 240,
+  233, 161, 31, 22, 33, 44, 52, 60, 51, 42, 31, 31, 36, 154, 241, 254,
+  253, 248, 248, 239, 240, 169, 35, 26, 38, 45, 51, 58, 56, 48, 38, 27,
+  24, 26, 171, 184, 177, 157, 138, 120, 102, 85, 66, 50, 38, 26, 19, 13,
+  7, 5, 3, 2, 2, 2, 4, 7, 10, 16, 24, 33, 41, 56, 72, 88,
+  107, 125, 142, 160, 177, 177, 137, 35, 31, 35, 40, 47, 58, 63, 59, 50,
+  37, 30, 30, 39, 174, 198, 203, 194, 185, 180, 172, 163, 156, 154, 154, 158,
+  162, 167, 175, 183, 194, 196, 205, 181, 43, 32, 37, 42, 49, 55, 63, 64,
+  57, 47, 37, 35, 33, 38, 187, 214, 222, 216, 208, 204, 201, 202, 207, 201,
+  202, 181, 146, 66, 32, 38, 37, 33, 37, 38, 34, 34, 31, 43, 84, 158,
+  86, 26, 34, 44, 51, 57, 53, 45, 37, 32, 33, 93, 226, 239, 234, 234,
+  223, 224, 192, 89, 40, 35, 39, 36, 30, 31, 32, 31, 31, 29, 29, 41,
+  30, 87, 194, 200, 201, 199, 210, 203, 207, 202, 200, 151, 54, 41, 30, 28,
+  32, 32, 31, 39, 57, 147, 217, 234, 233, 247, 238, 226, 30, 22, 33, 43,
+  50, 57, 60, 51, 44, 39, 29, 28, 48, 228, 239, 249, 234, 166, 43, 26,
+  43, 36, 41, 39, 30, 29, 42, 104, 207, 210, 196, 193, 180, 171, 163, 156,
+  149, 145, 144, 147, 154, 165, 164, 177, 190, 177, 105, 99, 93, 87, 82, 81,
+  84, 86, 85, 85, 86, 73, 59, 159, 233, 243, 244, 240, 243, 240, 241, 240,
+  246, 225, 35, 23, 31, 40, 47, 55, 54, 44, 37, 32, 31, 96, 229, 248,
+  246, 244, 245, 246, 246, 242, 235, 163, 34, 25, 34, 44, 50, 57, 50, 42,
+  32, 33, 38, 155, 241, 251, 255, 253, 251, 244, 248, 165, 37, 27, 35, 42,
+  52, 57, 55, 48, 38, 25, 20, 32, 182, 193, 176, 156, 135, 116, 101, 86,
+  66, 50, 37, 26, 17, 12, 7, 5, 3, 1, 2, 2, 4, 9, 12, 16,
+  25, 35, 45, 59, 75, 91, 111, 128, 145, 163, 176, 182, 78, 26, 29, 36,
+  46, 51, 60, 60, 55, 44, 31, 26, 31, 73, 194, 208, 202, 187, 175, 167,
+  158, 148, 144, 142, 142, 144, 149, 154, 162, 172, 186, 196, 207, 195, 97, 36,
+  36, 41, 43, 49, 59, 64, 60, 50, 41, 35, 19, 42, 158, 222, 224, 218,
+  214, 222, 212, 210, 208, 200, 160, 80, 46, 29, 30, 25, 28, 33, 31, 29,
+  29, 28, 27, 19, 42, 30, 27, 42, 52, 44, 60, 61, 53, 44, 37, 31,
+  33, 95, 227, 244, 234, 233, 226, 226, 226, 181, 62, 34, 27, 29, 25, 19,
+  24, 23, 22, 23, 24, 21, 34, 41, 166, 207, 212, 213, 220, 218, 219, 215,
+  216, 196, 123, 31, 24, 18, 25, 19, 25, 35, 49, 190, 220, 233, 241, 245,
+  243, 225, 31, 22, 32, 41, 49, 58, 63, 53, 50, 35, 24, 33, 52, 212,
+  248, 234, 204, 63, 35, 40, 32, 49, 40, 25, 32, 30, 86, 198, 209, 205,
+  205, 186, 171, 163, 154, 147, 140, 136, 136, 140, 145, 155, 165, 173, 181, 190,
+  139, 53, 37, 31, 26, 26, 31, 31, 30, 27, 27, 32, 37, 153, 230, 240,
+  241, 241, 241, 240, 243, 241, 245, 223, 34, 24, 31, 40, 47, 56, 53, 44,
+  38, 32, 29, 95, 229, 248, 245, 244, 245, 247, 247, 243, 236, 164, 36, 26,
+  35, 44, 49, 57, 49, 42, 32, 34, 38, 156, 239, 251, 253, 252, 252, 247,
+  250, 168, 36, 25, 33, 40, 50, 58, 53, 46, 38, 27, 21, 32, 186, 195,
+  175, 154, 133, 114, 100, 86, 67, 50, 37, 26, 17, 12, 7, 5, 3, 1,
+  2, 2, 5, 10, 13, 18, 27, 36, 47, 63, 78, 95, 115, 132, 149, 165,
+  179, 176, 39, 26, 34, 40, 45, 54, 64, 58, 54, 42, 29, 27, 31, 115,
+  200, 205, 193, 180, 167, 157, 147, 138, 133, 130, 129, 133, 137, 145, 153, 163,
+  176, 190, 197, 200, 154, 40, 29, 35, 39, 47, 58, 63, 61, 53, 44, 36,
+  25, 33, 92, 217, 227, 235, 233, 229, 230, 225, 203, 139, 44, 44, 25, 37,
+  26, 31, 40, 38, 31, 35, 35, 24, 26, 29, 37, 36, 38, 38, 46, 64,
+  65, 63, 52, 44, 37, 30, 31, 96, 223, 246, 235, 237, 236, 223, 223, 211,
+  172, 35, 38, 38, 30, 35, 23, 33, 30, 39, 29, 32, 35, 28, 113, 214,
+  220, 224, 224, 226, 226, 229, 221, 218, 199, 66, 35, 27, 33, 24, 33, 33,
+  85, 224, 226, 237, 245, 247, 251, 225, 34, 22, 31, 41, 48, 57, 63, 55,
+  46, 42, 29, 32, 46, 228, 230, 224, 83, 30, 40, 42, 49, 43, 30, 39,
+  31, 70, 207, 210, 211, 203, 187, 178, 165, 156, 143, 133, 128, 125, 126, 131,
+  141, 147, 163, 172, 181, 188, 181, 75, 43, 36, 35, 34, 38, 40, 37, 34,
+  30, 37, 45, 158, 232, 238, 240, 242, 241, 240, 243, 241, 244, 223, 34, 24,
+  31, 40, 47, 56, 53, 44, 38, 32, 29, 95, 229, 248, 245, 244, 245, 247,
+  247, 243, 236, 164, 36, 26, 35, 44, 49, 57, 49, 42, 32, 34, 38, 156,
+  238, 251, 252, 251, 252, 248, 245, 168, 36, 25, 34, 41, 51, 58, 54, 47,
+  38, 30, 22, 30, 187, 193, 174, 153, 133, 113, 100, 84, 65, 50, 37, 26,
+  17, 12, 6, 5, 3, 1, 3, 4, 7, 10, 14, 19, 28, 38, 49, 66,
+  81, 98, 118, 136, 152, 166, 180, 146, 38, 27, 38, 41, 41, 58, 66, 57,
+  56, 44, 32, 30, 36, 154, 195, 197, 185, 175, 163, 150, 137, 128, 121, 118,
+  118, 121, 127, 135, 145, 156, 168, 182, 190, 195, 183, 58, 28, 32, 38, 45,
+  56, 64, 62, 55, 45, 37, 30, 27, 61, 222, 230, 242, 245, 234, 236, 209,
+  104, 40, 38, 30, 35, 33, 42, 35, 36, 41, 40, 38, 35, 33, 31, 43,
+  32, 39, 44, 51, 54, 58, 68, 63, 50, 43, 36, 28, 31, 96, 224, 248,
+  234, 231, 234, 229, 227, 218, 213, 139, 34, 30, 39, 41, 43, 30, 40, 45,
+  38, 43, 28, 38, 61, 194, 222, 230, 236, 237, 235, 238, 229, 225, 210, 94,
+  28, 27, 38, 35, 41, 37, 157, 227, 233, 244, 242, 252, 253, 227, 36, 23,
+  30, 41, 48, 56, 62, 54, 51, 41, 33, 34, 44, 207, 219, 124, 28, 40,
+  38, 46, 55, 37, 38, 34, 64, 192, 219, 221, 201, 197, 184, 168, 160, 149,
+  136, 125, 120, 117, 119, 125, 137, 146, 157, 166, 182, 179, 192, 123, 37, 33,
+  35, 37, 43, 45, 41, 38, 36, 38, 41, 153, 231, 241, 242, 241, 241, 239,
+  243, 241, 244, 223, 34, 24, 31, 40, 47, 56, 53, 44, 38, 32, 29, 95,
+  229, 248, 245, 244, 245, 247, 247, 243, 236, 164, 36, 26, 35, 44, 49, 57,
+  49, 42, 32, 34, 38, 156, 237, 253, 254, 252, 252, 247, 240, 173, 38, 27,
+  34, 41, 51, 58, 55, 48, 37, 31, 21, 31, 186, 191, 173, 152, 132, 113,
+  99, 84, 65, 49, 36, 25, 16, 12, 6, 5, 3, 1, 2, 4, 7, 11,
+  14, 20, 30, 39, 51, 67, 85, 101, 122, 140, 156, 168, 174, 113, 39, 30,
+  35, 43, 46, 59, 63, 54, 52, 43, 30, 30, 47, 179, 194, 193, 181, 170,
+  155, 140, 125, 117, 109, 106, 106, 109, 116, 124, 134, 146, 163, 175, 188, 192,
+  191, 97, 32, 31, 35, 43, 55, 63, 64, 57, 47, 39, 31, 29, 47, 200,
+  237, 244, 241, 234, 221, 159, 49, 31, 32, 38, 37, 43, 36, 51, 58, 52,
+  45, 35, 26, 25, 25, 23, 44, 47, 59, 58, 59, 76, 70, 64, 51, 44,
+  37, 29, 30, 94, 222, 242, 238, 234, 228, 229, 233, 228, 212, 221, 72, 36,
+  36, 34, 51, 39, 52, 45, 52, 39, 36, 36, 38, 135, 222, 233, 242, 242,
+  239, 239, 242, 236, 226, 100, 32, 31, 36, 28, 27, 46, 218, 235, 244, 249,
+  249, 251, 254, 228, 36, 23, 30, 41, 48, 55, 61, 54, 49, 38, 31, 34,
+  51, 204, 141, 38, 35, 37, 39, 49, 46, 42, 42, 60, 184, 215, 227, 214,
+  213, 195, 177, 168, 154, 142, 129, 121, 116, 113, 114, 120, 130, 144, 155, 162,
+  180, 187, 189, 130, 33, 30, 36, 41, 48, 51, 46, 40, 32, 34, 39, 152,
+  233, 241, 239, 236, 241, 239, 242, 241, 244, 223, 34, 24, 31, 40, 47, 56,
+  53, 44, 38, 32, 29, 95, 229, 248, 245, 244, 245, 247, 247, 243, 236, 164,
+  36, 26, 35, 44, 49, 57, 49, 42, 32, 34, 38, 156, 237, 255, 254, 252,
+  251, 248, 243, 193, 37, 25, 33, 41, 50, 57, 54, 47, 35, 32, 19, 38,
+  184, 188, 173, 153, 131, 112, 97, 82, 64, 49, 35, 25, 16, 12, 6, 5,
+  2, 1, 2, 4, 6, 11, 15, 22, 31, 41, 53, 69, 86, 104, 125, 141,
+  158, 169, 174, 95, 31, 37, 32, 46, 54, 58, 61, 53, 46, 38, 28, 30,
+  66, 191, 193, 191, 178, 162, 146, 130, 117, 108, 99, 96, 94, 99, 106, 114,
+  127, 137, 153, 167, 185, 190, 192, 139, 32, 25, 32, 40, 52, 61, 64, 59,
+  48, 42, 33, 36, 33, 158, 238, 247, 240, 236, 180, 46, 31, 31, 39, 37,
+  40, 51, 51, 56, 54, 46, 44, 41, 36, 33, 29, 34, 34, 40, 45, 51,
+  54, 59, 69, 66, 53, 45, 38, 30, 31, 93, 222, 233, 236, 238, 231, 225,
+  225, 221, 231, 214, 160, 41, 31, 33, 34, 55, 58, 56, 54, 44, 39, 30,
+  33, 70, 223, 238, 237, 240, 243, 239, 247, 234, 208, 53, 29, 31, 38, 31,
+  38, 112, 230, 249, 245, 247, 255, 247, 254, 230, 37, 24, 31, 41, 47, 54,
+  62, 56, 44, 44, 36, 33, 44, 179, 42, 33, 25, 43, 48, 50, 40, 33,
+  30, 72, 219, 216, 223, 224, 207, 196, 177, 167, 150, 138, 126, 119, 112, 112,
+  112, 117, 128, 134, 153, 167, 174, 188, 190, 133, 31, 28, 36, 43, 52, 55,
+  48, 39, 34, 39, 44, 156, 231, 238, 238, 238, 239, 239, 241, 241, 243, 223,
+  34, 24, 31, 40, 47, 56, 53, 44, 38, 32, 29, 95, 229, 248, 245, 244,
+  245, 247, 247, 243, 236, 164, 36, 26, 35, 44, 49, 57, 49, 42, 32, 34,
+  38, 156, 237, 255, 252, 249, 250, 249, 249, 219, 35, 24, 31, 38, 48, 55,
+  52, 45, 35, 32, 20, 52, 185, 187, 172, 153, 131, 112, 95, 81, 61, 47,
+  35, 24, 16, 12, 6, 5, 2, 1, 2, 3, 5, 11, 16, 22, 31, 41,
+  54, 71, 88, 106, 127, 144, 161, 171, 176, 81, 31, 37, 37, 48, 52, 58,
+  60, 55, 44, 38, 30, 32, 87, 191, 191, 187, 173, 157, 140, 126, 112, 101,
+  92, 88, 87, 91, 98, 107, 120, 131, 143, 164, 175, 190, 199, 171, 29, 20,
+  30, 38, 49, 59, 63, 60, 49, 43, 37, 43, 44, 148, 236, 242, 241, 212,
+  55, 37, 35, 40, 43, 55, 57, 57, 60, 47, 49, 47, 27, 44, 111, 162,
+  166, 122, 44, 33, 40, 43, 45, 54, 64, 64, 54, 45, 38, 32, 31, 91,
+  226, 232, 229, 229, 229, 230, 228, 230, 229, 230, 213, 71, 33, 32, 32, 50,
+  55, 60, 53, 53, 38, 35, 28, 39, 178, 240, 239, 242, 247, 247, 249, 230,
+  158, 30, 32, 31, 31, 31, 46, 175, 228, 251, 244, 245, 253, 247, 251, 233,
+  37, 25, 31, 41, 46, 54, 65, 62, 56, 45, 45, 42, 36, 69, 32, 26,
+  40, 50, 57, 57, 36, 27, 33, 34, 134, 212, 223, 217, 201, 197, 180, 163,
+  148, 138, 128, 119, 113, 110, 112, 117, 128, 129, 149, 168, 175, 180, 192, 143,
+  31, 25, 33, 41, 51, 56, 47, 37, 29, 34, 38, 151, 226, 236, 241, 243,
+  239, 239, 241, 241, 243, 223, 35, 24, 31, 40, 47, 56, 53, 44, 38, 32,
+  29, 95, 229, 248, 245, 244, 245, 247, 247, 243, 236, 164, 36, 26, 35, 44,
+  49, 57, 49, 42, 32, 34, 38, 156, 237, 253, 249, 251, 252, 249, 249, 230,
+  36, 24, 31, 37, 47, 54, 52, 45, 34, 31, 23, 68, 185, 188, 169, 151,
+  131, 111, 95, 80, 61, 47, 34, 24, 16, 11, 6, 5, 2, 1, 1, 3,
+  5, 11, 16, 22, 32, 41, 56, 72, 89, 107, 128, 146, 163, 172, 169, 62,
+  37, 28, 41, 50, 45, 63, 58, 57, 44, 38, 32, 33, 97, 183, 189, 186,
+  172, 154, 139, 123, 105, 91, 85, 82, 80, 85, 91, 102, 113, 126, 140, 164,
+  168, 190, 209, 190, 28, 21, 31, 38, 49, 59, 62, 59, 48, 43, 42, 29,
+  36, 151, 238, 244, 231, 143, 33, 26, 38, 40, 54, 62, 60, 59, 50, 39,
+  39, 34, 54, 146, 231, 237, 235, 228, 187, 58, 30, 36, 39, 46, 59, 61,
+  53, 43, 37, 33, 32, 91, 215, 235, 232, 223, 225, 226, 221, 225, 231, 220,
+  214, 159, 28, 30, 36, 44, 52, 53, 62, 54, 42, 41, 27, 34, 92, 221,
+  242, 244, 240, 246, 246, 229, 91, 31, 29, 30, 25, 37, 61, 220, 242, 245,
+  247, 249, 245, 252, 245, 231, 39, 25, 32, 40, 44, 54, 69, 66, 61, 49,
+  46, 48, 42, 28, 34, 38, 49, 50, 67, 55, 45, 38, 33, 39, 48, 186,
+  213, 211, 213, 194, 180, 166, 150, 140, 129, 121, 114, 112, 113, 117, 123, 136,
+  146, 157, 180, 181, 192, 138, 32, 25, 33, 41, 51, 58, 50, 39, 32, 35,
+  39, 152, 230, 238, 237, 235, 239, 239, 241, 241, 243, 223, 35, 24, 31, 40,
+  47, 56, 53, 44, 38, 32, 29, 95, 229, 248, 245, 244, 245, 247, 247, 243,
+  236, 164, 36, 26, 35, 44, 49, 57, 49, 42, 32, 34, 38, 156, 236, 252,
+  248, 254, 255, 248, 243, 229, 38, 26, 33, 39, 48, 55, 53, 45, 34, 31,
+  26, 82, 186, 188, 168, 150, 131, 112, 94, 78, 60, 47, 34, 24, 16, 11,
+  6, 4, 2, 1, 2, 3, 5, 11, 16, 22, 33, 43, 57, 73, 89, 108,
+  129, 147, 164, 174, 168, 66, 34, 34, 38, 46, 59, 57, 57, 54, 51, 33,
+  32, 38, 87, 193, 192, 184, 171, 154, 136, 119, 102, 88, 83, 78, 76, 81,
+  88, 98, 109, 122, 135, 159, 170, 190, 205, 197, 33, 16, 29, 38, 46, 57,
+  65, 62, 50, 46, 39, 36, 33, 101, 234, 245, 222, 81, 31, 26, 38, 49,
+  60, 64, 57, 48, 45, 30, 33, 36, 147, 231, 245, 246, 247, 241, 231, 145,
+  27, 20, 35, 44, 52, 59, 54, 44, 36, 31, 30, 87, 216, 228, 223, 221,
+  221, 220, 219, 220, 221, 218, 224, 207, 55, 31, 39, 33, 44, 54, 60, 56,
+  49, 42, 31, 33, 47, 198, 233, 248, 243, 249, 244, 218, 31, 28, 26, 33,
+  26, 35, 139, 225, 240, 246, 244, 244, 244, 245, 249, 229, 38, 23, 32, 40,
+  45, 53, 65, 71, 73, 53, 56, 53, 37, 34, 42, 48, 53, 64, 71, 63,
+  51, 43, 37, 33, 35, 78, 199, 213, 210, 195, 182, 168, 155, 146, 134, 124,
+  117, 113, 113, 115, 120, 129, 146, 159, 172, 185, 192, 140, 31, 24, 34, 43,
+  52, 57, 50, 39, 33, 32, 41, 152, 227, 239, 238, 238, 239, 240, 242, 241,
+  243, 223, 36, 23, 31, 40, 47, 56, 53, 44, 38, 32, 29, 95, 229, 248,
+  245, 244, 245, 247, 247, 243, 236, 164, 36, 26, 35, 44, 49, 57, 49, 42,
+  32, 34, 38, 156, 237, 252, 251, 252, 252, 251, 249, 229, 40, 29, 33, 38,
+  47, 56, 51, 46, 36, 31, 27, 84, 180, 186, 167, 151, 131, 111, 93, 77,
+  59, 46, 34, 24, 16, 11, 5, 4, 2, 1, 2, 4, 6, 11, 16, 22,
+  33, 43, 57, 73, 89, 107, 129, 146, 165, 172, 171, 74, 35, 28, 45, 46,
+  50, 60, 63, 52, 44, 40, 33, 33, 92, 191, 191, 183, 169, 154, 135, 119,
+  103, 90, 82, 77, 76, 80, 87, 95, 108, 121, 135, 153, 171, 188, 208, 197,
+  33, 19, 29, 38, 47, 57, 64, 60, 49, 45, 35, 31, 39, 88, 231, 232,
+  184, 45, 31, 29, 41, 51, 60, 63, 54, 45, 33, 36, 35, 70, 222, 245,
+  244, 249, 250, 245, 249, 199, 39, 26, 30, 40, 51, 58, 54, 44, 37, 33,
+  30, 87, 213, 225, 220, 216, 216, 215, 214, 214, 211, 218, 218, 211, 126, 32,
+  33, 39, 43, 52, 59, 58, 51, 43, 34, 33, 36, 115, 237, 248, 250, 251,
+  230, 168, 32, 29, 31, 27, 32, 31, 192, 238, 241, 243, 242, 241, 241, 242,
+  246, 227, 37, 23, 31, 40, 45, 54, 66, 72, 76, 76, 57, 53, 52, 34,
+  54, 57, 59, 69, 77, 70, 59, 49, 40, 34, 30, 36, 130, 209, 201, 204,
+  182, 171, 160, 150, 138, 129, 120, 115, 114, 116, 119, 129, 145, 158, 172, 184,
+  191, 140, 30, 24, 34, 43, 53, 57, 51, 40, 33, 31, 40, 152, 227, 239,
+  238, 238, 239, 240, 242, 241, 243, 223, 36, 23, 31, 40, 47, 56, 53, 44,
+  38, 32, 29, 95, 229, 248, 245, 244, 245, 247, 247, 243, 236, 164, 36, 26,
+  35, 44, 49, 57, 49, 42, 32, 34, 38, 155, 237, 251, 251, 251, 252, 251,
+  249, 229, 36, 23, 33, 39, 46, 55, 51, 45, 34, 37, 33, 84, 188, 188,
+  166, 148, 131, 112, 91, 75, 59, 46, 34, 24, 16, 11, 5, 4, 2, 1,
+  3, 4, 6, 11, 16, 23, 33, 42, 57, 73, 89, 107, 129, 146, 163, 172,
+  174, 60, 33, 31, 38, 43, 56, 58, 63, 52, 41, 43, 33, 32, 96, 187,
+  191, 184, 171, 156, 137, 121, 107, 92, 84, 80, 78, 83, 89, 97, 109, 121,
+  138, 151, 172, 187, 209, 196, 31, 22, 30, 39, 47, 56, 64, 59, 48, 43,
+  30, 34, 27, 117, 234, 225, 137, 34, 35, 37, 44, 51, 59, 60, 50, 42,
+  40, 38, 29, 142, 236, 245, 251, 253, 252, 246, 249, 227, 36, 29, 32, 43,
+  50, 57, 52, 44, 38, 33, 31, 87, 209, 222, 215, 210, 207, 207, 208, 206,
+  205, 212, 212, 209, 190, 48, 29, 32, 40, 49, 58, 60, 55, 47, 39, 36,
+  26, 42, 227, 243, 245, 254, 223, 108, 37, 34, 39, 34, 31, 69, 226, 237,
+  240, 241, 238, 237, 237, 239, 243, 225, 37, 23, 31, 39, 45, 55, 67, 74,
+  70, 76, 63, 55, 48, 37, 46, 56, 61, 69, 77, 75, 66, 55, 46, 39,
+  26, 34, 41, 173, 207, 201, 195, 174, 164, 154, 144, 135, 124, 118, 115, 116,
+  121, 131, 147, 159, 172, 184, 191, 139, 31, 24, 34, 44, 53, 57, 52, 41,
+  34, 32, 40, 151, 227, 239, 238, 238, 238, 239, 242, 241, 243, 223, 36, 23,
+  31, 40, 47, 56, 53, 44, 38, 32, 29, 95, 229, 248, 245, 244, 245, 247,
+  247, 243, 236, 164, 36, 26, 35, 44, 49, 57, 49, 42, 32, 34, 38, 155,
+  237, 252, 250, 251, 252, 252, 251, 231, 51, 24, 34, 39, 46, 56, 53, 43,
+  34, 39, 31, 78, 185, 184, 165, 150, 132, 111, 91, 74, 57, 44, 34, 23,
+  16, 11, 5, 4, 2, 1, 3, 4, 6, 11, 16, 22, 33, 42, 57, 72,
+  89, 107, 127, 146, 163, 171, 175, 58, 32, 34, 35, 43, 59, 59, 57, 54,
+  47, 42, 30, 37, 89, 187, 193, 187, 174, 159, 142, 126, 111, 97, 89, 84,
+  84, 87, 92, 100, 111, 124, 141, 153, 174, 188, 207, 199, 30, 21, 30, 39,
+  48, 57, 62, 58, 47, 42, 34, 33, 35, 153, 237, 231, 87, 40, 36, 40,
+  45, 52, 58, 57, 48, 38, 34, 30, 45, 216, 233, 248, 253, 248, 250, 247,
+  249, 230, 41, 30, 35, 41, 48, 55, 52, 44, 38, 34, 33, 89, 206, 218,
+  210, 205, 202, 200, 200, 199, 200, 199, 210, 207, 208, 98, 34, 24, 38, 45,
+  56, 61, 58, 50, 42, 38, 27, 37, 138, 239, 251, 238, 224, 51, 39, 34,
+  37, 41, 27, 148, 226, 234, 239, 238, 235, 234, 234, 236, 241, 223, 36, 23,
+  31, 38, 45, 56, 66, 72, 66, 60, 62, 49, 38, 31, 36, 46, 56, 62,
+  70, 73, 71, 61, 52, 45, 38, 28, 34, 78, 199, 206, 188, 186, 168, 158,
+  150, 140, 130, 122, 120, 120, 125, 136, 151, 163, 175, 186, 193, 141, 30, 24,
+  35, 44, 53, 57, 52, 41, 34, 32, 40, 151, 227, 239, 238, 238, 238, 239,
+  242, 241, 243, 223, 36, 23, 31, 40, 47, 56, 53, 44, 38, 32, 29, 95,
+  229, 248, 245, 244, 245, 247, 247, 243, 236, 164, 36, 26, 35, 44, 49, 57,
+  49, 42, 32, 34, 38, 155, 237, 252, 250, 251, 252, 252, 251, 231, 81, 30,
+  32, 37, 46, 55, 52, 39, 33, 35, 29, 89, 181, 181, 166, 151, 131, 112,
+  89, 73, 57, 44, 34, 24, 16, 11, 5, 4, 2, 1, 3, 4, 6, 11,
+  16, 22, 32, 42, 55, 71, 87, 106, 127, 144, 161, 172, 174, 83, 33, 29,
+  43, 46, 49, 62, 58, 55, 51, 37, 31, 36, 70, 190, 194, 190, 177, 163,
+  146, 131, 117, 104, 95, 91, 89, 92, 98, 104, 114, 127, 144, 160, 174, 191,
+  202, 199, 31, 21, 31, 39, 47, 57, 62, 57, 46, 41, 33, 22, 52, 162,
+  228, 229, 39, 21, 34, 39, 45, 53, 58, 54, 46, 37, 25, 31, 79, 228,
+  248, 251, 250, 253, 246, 246, 255, 233, 74, 31, 31, 34, 44, 53, 50, 44,
+  38, 34, 33, 89, 205, 216, 207, 200, 196, 193, 192, 192, 193, 190, 204, 206,
+  204, 164, 44, 30, 36, 42, 51, 60, 60, 53, 46, 42, 31, 28, 73, 220,
+  243, 235, 156, 44, 40, 35, 32, 32, 49, 207, 223, 240, 237, 235, 232, 232,
+  232, 235, 240, 223, 38, 23, 31, 37, 45, 55, 63, 67, 65, 58, 51, 41,
+  44, 58, 34, 39, 53, 58, 62, 69, 73, 68, 61, 53, 42, 39, 28, 29,
+  124, 203, 195, 190, 172, 163, 156, 148, 137, 130, 127, 128, 132, 140, 156, 166,
+  178, 188, 194, 141, 31, 24, 34, 43, 52, 57, 51, 41, 33, 32, 40, 151,
+  227, 239, 238, 238, 239, 239, 242, 241, 243, 223, 35, 23, 31, 40, 47, 56,
+  53, 44, 38, 32, 29, 95, 229, 248, 245, 244, 245, 247, 247, 243, 236, 164,
+  36, 26, 35, 44, 49, 57, 49, 42, 32, 34, 38, 155, 237, 252, 251, 252,
+  252, 252, 252, 233, 97, 30, 31, 38, 45, 49, 47, 40, 31, 30, 34, 121,
+  183, 183, 165, 148, 131, 112, 89, 72, 57, 44, 34, 24, 16, 11, 5, 4,
+  2, 1, 2, 4, 5, 10, 15, 21, 31, 41, 54, 69, 86, 104, 124, 142,
+  160, 170, 172, 101, 33, 30, 39, 46, 50, 62, 64, 54, 48, 39, 34, 31,
+  47, 179, 196, 193, 181, 168, 151, 138, 124, 110, 103, 98, 96, 99, 105, 110,
+  121, 132, 146, 167, 177, 193, 200, 188, 33, 24, 31, 40, 48, 57, 61, 56,
+  44, 39, 34, 33, 47, 199, 242, 232, 38, 25, 32, 38, 45, 53, 56, 53,
+  45, 36, 24, 32, 111, 222, 248, 254, 250, 254, 248, 245, 254, 235, 102, 29,
+  26, 33, 42, 52, 50, 44, 38, 34, 33, 88, 204, 212, 202, 194, 190, 187,
+  186, 185, 186, 189, 195, 201, 202, 200, 65, 35, 34, 37, 47, 54, 57, 56,
+  51, 45, 26, 37, 41, 172, 234, 229, 93, 39, 35, 37, 31, 26, 110, 220,
+  227, 236, 233, 231, 229, 229, 230, 234, 239, 221, 37, 24, 31, 37, 44, 54,
+  60, 62, 54, 49, 39, 45, 39, 144, 30, 38, 45, 48, 53, 61, 67, 70,
+  66, 59, 49, 37, 29, 33, 41, 171, 203, 193, 180, 170, 161, 155, 149, 142,
+  137, 138, 140, 148, 160, 170, 180, 190, 195, 141, 30, 24, 34, 43, 51, 56,
+  51, 41, 33, 32, 40, 152, 227, 239, 238, 238, 239, 240, 242, 241, 243, 223,
+  35, 23, 31, 40, 47, 56, 53, 44, 38, 32, 29, 95, 229, 248, 245, 244,
+  245, 247, 247, 243, 236, 164, 36, 26, 35, 44, 49, 57, 49, 42, 32, 34,
+  38, 155, 237, 252, 251, 252, 252, 253, 252, 233, 95, 26, 34, 38, 43, 41,
+  42, 44, 35, 31, 36, 136, 182, 181, 165, 148, 132, 112, 89, 72, 56, 44,
+  34, 24, 16, 11, 5, 4, 2, 1, 2, 3, 5, 10, 14, 21, 30, 40,
+  52, 68, 84, 102, 121, 139, 155, 169, 174, 117, 34, 32, 31, 45, 52, 58,
+  66, 57, 48, 43, 35, 29, 36, 144, 197, 196, 185, 173, 158, 145, 132, 119,
+  112, 108, 105, 108, 113, 118, 128, 139, 152, 170, 182, 194, 201, 165, 32, 28,
+  32, 41, 49, 57, 61, 53, 42, 36, 19, 32, 46, 224, 243, 225, 42, 29,
+  31, 36, 45, 55, 56, 50, 42, 35, 23, 26, 141, 238, 245, 255, 251, 241,
+  250, 247, 249, 232, 104, 29, 29, 39, 43, 52, 50, 44, 38, 35, 33, 87,
+  201, 209, 199, 189, 184, 180, 179, 178, 181, 188, 190, 198, 198, 197, 123, 36,
+  31, 32, 42, 49, 54, 58, 54, 48, 45, 32, 32, 81, 217, 225, 46, 24,
+  29, 29, 23, 34, 174, 220, 228, 225, 229, 228, 226, 226, 228, 231, 238, 221,
+  37, 24, 31, 36, 43, 53, 59, 57, 43, 37, 32, 43, 36, 209, 86, 39,
+  32, 35, 45, 52, 57, 66, 70, 64, 56, 46, 33, 36, 34, 76, 197, 191,
+  188, 178, 166, 161, 161, 157, 149, 147, 149, 155, 167, 175, 184, 193, 196, 142,
+  31, 24, 34, 42, 50, 55, 50, 40, 33, 32, 40, 152, 227, 239, 238, 238,
+  239, 240, 242, 241, 243, 223, 35, 23, 31, 40, 47, 56, 53, 44, 38, 32,
+  29, 95, 229, 248, 245, 244, 245, 247, 247, 243, 236, 164, 36, 26, 35, 44,
+  49, 57, 49, 42, 32, 34, 38, 155, 237, 252, 251, 252, 253, 253, 253, 234,
+  92, 27, 35, 32, 37, 34, 34, 37, 34, 33, 34, 130, 181, 178, 165, 149,
+  133, 112, 90, 73, 56, 43, 34, 24, 16, 11, 5, 4, 2, 1, 1, 2,
+  5, 8, 13, 19, 28, 39, 50, 65, 83, 99, 119, 137, 153, 167, 179, 148,
+  37, 26, 35, 44, 41, 63, 62, 62, 51, 47, 34, 31, 32, 105, 198, 199,
+  189, 178, 165, 153, 142, 129, 120, 115, 113, 117, 122, 127, 137, 148, 160, 174,
+  188, 194, 200, 144, 29, 30, 34, 42, 52, 58, 58, 50, 39, 34, 27, 32,
+  103, 225, 244, 233, 36, 29, 31, 35, 46, 55, 57, 50, 41, 34, 32, 32,
+  163, 235, 245, 246, 255, 248, 244, 250, 248, 233, 99, 33, 35, 38, 45, 53,
+  50, 44, 37, 34, 33, 88, 197, 206, 196, 186, 180, 176, 174, 174, 175, 179,
+  186, 196, 196, 189, 192, 41, 31, 29, 38, 44, 51, 58, 57, 50, 45, 38,
+  26, 28, 190, 154, 27, 28, 30, 25, 15, 50, 207, 228, 225, 225, 224, 223,
+  222, 222, 225, 229, 235, 217, 37, 24, 30, 36, 43, 53, 58, 56, 46, 39,
+  33, 30, 48, 206, 185, 45, 31, 31, 42, 47, 53, 66, 73, 71, 63, 47,
+  42, 37, 31, 39, 124, 198, 193, 187, 174, 170, 171, 165, 158, 155, 158, 164,
+  174, 181, 188, 196, 198, 144, 32, 25, 34, 41, 49, 54, 49, 40, 34, 33,
+  41, 151, 226, 238, 238, 238, 239, 240, 242, 241, 245, 223, 35, 22, 31, 40,
+  48, 56, 55, 44, 39, 33, 30, 94, 228, 247, 246, 245, 245, 246, 246, 243,
+  236, 164, 36, 26, 35, 44, 49, 56, 49, 41, 33, 34, 39, 155, 236, 251,
+  251, 252, 251, 252, 253, 236, 99, 36, 39, 27, 34, 34, 32, 30, 34, 40,
+  41, 130, 191, 182, 166, 147, 132, 112, 89, 73, 57, 45, 34, 24, 16, 11,
+  5, 4, 2, 1, 0, 1, 3, 7, 12, 19, 26, 35, 48, 62, 77, 96,
+  117, 133, 149, 168, 176, 181, 39, 20, 33, 34, 51, 58, 67, 64, 55, 44,
+  35, 32, 31, 39, 193, 207, 187, 186, 182, 159, 160, 137, 133, 127, 127, 130,
+  137, 143, 147, 155, 168, 182, 200, 197, 199, 109, 33, 29, 38, 42, 59, 67,
+  44, 44, 35, 31, 30, 28, 145, 235, 243, 223, 36, 21, 30, 36, 48, 57,
+  62, 55, 43, 35, 28, 31, 165, 235, 241, 253, 246, 250, 246, 248, 246, 234,
+  96, 34, 34, 36, 49, 57, 51, 43, 35, 32, 33, 88, 196, 204, 196, 186,
+  177, 171, 167, 166, 165, 172, 179, 189, 188, 198, 192, 109, 32, 21, 35, 43,
+  44, 63, 60, 64, 49, 48, 28, 28, 103, 86, 32, 32, 30, 31, 32, 124,
+  212, 226, 220, 219, 218, 217, 216, 216, 220, 223, 229, 214, 39, 27, 29, 37,
+  43, 53, 65, 59, 48, 39, 34, 40, 53, 221, 216, 148, 37, 29, 33, 40,
+  56, 61, 62, 74, 58, 57, 50, 39, 37, 36, 40, 169, 196, 203, 186, 183,
+  183, 166, 170, 163, 168, 176, 179, 187, 192, 196, 202, 145, 36, 28, 35, 41,
+  48, 52, 48, 40, 36, 34, 42, 151, 225, 236, 239, 238, 239, 239, 243, 244,
+  247, 224, 34, 22, 31, 41, 49, 58, 57, 47, 41, 35, 31, 94, 225, 245,
+  247, 248, 245, 246, 245, 242, 235, 164, 35, 26, 36, 44, 49, 55, 47, 40,
+  34, 35, 39, 154, 235, 251, 251, 251, 249, 249, 252, 240, 111, 47, 48, 31,
+  42, 38, 42, 38, 46, 40, 49, 139, 190, 185, 171, 145, 128, 109, 90, 75,
+  60, 48, 34, 24, 16, 11, 6, 4, 2, 1, 0, 1, 2, 7, 11, 17,
+  25, 34, 45, 58, 73, 92, 112, 128, 144, 163, 184, 179, 86, 30, 27, 34,
+  47, 56, 64, 64, 58, 50, 41, 35, 27, 35, 131, 200, 196, 197, 177, 183,
+  164, 153, 144, 141, 139, 143, 148, 154, 160, 167, 176, 198, 196, 205, 196, 52,
+  34, 23, 35, 48, 62, 64, 53, 49, 39, 33, 30, 43, 199, 244, 239, 219,
+  35, 21, 32, 38, 48, 57, 63, 58, 44, 36, 28, 39, 112, 232, 242, 255,
+  250, 246, 245, 248, 246, 234, 97, 34, 34, 37, 49, 57, 51, 42, 35, 32,
+  33, 88, 193, 201, 193, 183, 174, 168, 163, 161, 161, 164, 167, 180, 186, 193,
+  201, 167, 32, 27, 36, 37, 49, 47, 64, 71, 61, 49, 45, 29, 35, 32,
+  36, 47, 31, 34, 38, 172, 218, 217, 215, 217, 214, 213, 212, 213, 216, 220,
+  225, 212, 39, 27, 29, 36, 42, 53, 65, 59, 49, 38, 35, 42, 46, 212,
+  237, 214, 71, 32, 40, 40, 41, 49, 69, 68, 67, 56, 52, 50, 38, 38,
+  33, 79, 191, 198, 199, 198, 178, 182, 172, 172, 175, 182, 185, 190, 195, 199,
+  203, 147, 37, 30, 35, 41, 49, 53, 49, 41, 37, 35, 42, 151, 224, 237,
+  240, 239, 240, 240, 243, 243, 247, 224, 34, 21, 30, 40, 48, 57, 57, 47,
+  42, 35, 31, 94, 225, 245, 249, 250, 245, 246, 245, 242, 236, 165, 35, 26,
+  37, 44, 49, 56, 46, 40, 34, 36, 39, 155, 236, 251, 251, 250, 247, 248,
+  253, 245, 190, 164, 146, 159, 146, 135, 149, 146, 140, 148, 144, 182, 191, 187,
+  163, 151, 128, 108, 91, 77, 61, 48, 34, 23, 16, 11, 6, 5, 2, 1,
+  0, 0, 2, 6, 11, 16, 24, 32, 44, 56, 72, 88, 108, 123, 139, 159,
+  176, 182, 148, 36, 38, 32, 33, 47, 57, 62, 62, 55, 47, 39, 30, 34,
+  61, 195, 202, 198, 199, 180, 167, 166, 158, 156, 156, 157, 159, 164, 171, 179,
+  188, 193, 208, 195, 164, 43, 30, 35, 37, 52, 57, 55, 54, 41, 34, 32,
+  24, 85, 233, 249, 243, 231, 63, 33, 34, 37, 45, 55, 60, 55, 43, 35,
+  29, 34, 97, 229, 245, 246, 245, 247, 244, 248, 247, 235, 97, 34, 34, 36,
+  46, 53, 50, 42, 36, 33, 33, 87, 192, 199, 189, 179, 169, 163, 160, 156,
+  153, 158, 162, 171, 184, 186, 194, 197, 72, 32, 36, 39, 43, 49, 63, 67,
+  71, 49, 49, 43, 34, 40, 44, 33, 27, 32, 77, 201, 212, 215, 212, 209,
+  209, 207, 208, 209, 211, 218, 224, 210, 37, 25, 27, 35, 41, 51, 63, 56,
+  49, 37, 28, 35, 44, 209, 243, 242, 174, 41, 27, 30, 49, 48, 60, 65,
+  72, 65, 58, 54, 40, 35, 36, 31, 119, 195, 203, 193, 201, 187, 181, 180,
+  182, 186, 189, 194, 199, 202, 207, 149, 37, 29, 35, 43, 50, 56, 52, 43,
+  38, 34, 40, 150, 225, 239, 242, 241, 242, 240, 243, 241, 245, 222, 34, 21,
+  29, 37, 45, 54, 54, 45, 39, 33, 30, 94, 227, 248, 250, 251, 246, 247,
+  245, 243, 237, 165, 36, 26, 37, 45, 50, 57, 48, 41, 34, 36, 40, 156,
+  237, 252, 251, 249, 249, 250, 255, 253, 242, 239, 232, 216, 214, 208, 208, 203,
+  206, 203, 203, 203, 202, 195, 169, 148, 130, 111, 89, 75, 62, 47, 33, 20,
+  15, 12, 6, 5, 2, 1, 0, 0, 2, 6, 10, 15, 22, 29, 41, 53,
+  68, 85, 103, 118, 135, 154, 166, 182, 177, 73, 35, 32, 32, 40, 54, 63,
+  65, 60, 52, 43, 34, 34, 45, 101, 198, 208, 197, 199, 188, 175, 174, 171,
+  171, 172, 172, 174, 183, 190, 200, 198, 213, 203, 101, 36, 34, 29, 48, 58,
+  61, 56, 54, 36, 36, 40, 47, 168, 241, 250, 242, 228, 99, 32, 35, 34,
+  43, 52, 57, 54, 42, 34, 25, 39, 46, 217, 242, 249, 255, 245, 246, 250,
+  248, 235, 98, 34, 34, 35, 44, 51, 48, 42, 37, 34, 32, 85, 191, 199,
+  187, 176, 166, 159, 154, 152, 149, 153, 160, 162, 177, 187, 186, 192, 141, 38,
+  41, 39, 36, 53, 59, 60, 74, 67, 54, 49, 43, 51, 44, 37, 28, 27,
+  140, 205, 206, 212, 208, 203, 203, 203, 202, 204, 209, 216, 225, 210, 35, 22,
+  27, 35, 42, 50, 62, 55, 46, 40, 28, 28, 46, 217, 239, 235, 228, 115,
+  36, 29, 37, 47, 53, 61, 69, 76, 65, 53, 52, 35, 37, 39, 39, 164,
+  199, 199, 205, 202, 188, 192, 189, 193, 196, 201, 205, 207, 211, 152, 36, 28,
+  35, 42, 51, 57, 54, 44, 37, 33, 39, 150, 227, 241, 243, 244, 245, 242,
+  243, 240, 242, 221, 34, 23, 28, 36, 42, 51, 52, 43, 37, 31, 28, 94,
+  228, 249, 250, 250, 246, 247, 246, 243, 238, 167, 36, 25, 36, 44, 51, 58,
+  49, 41, 34, 36, 40, 157, 239, 252, 251, 250, 250, 251, 254, 253, 243, 236,
+  226, 165, 104, 57, 49, 62, 97, 163, 201, 205, 196, 191, 164, 152, 132, 114,
+  93, 78, 63, 49, 34, 22, 15, 12, 6, 5, 2, 1, 0, 0, 1, 6,
+  8, 13, 20, 27, 36, 48, 62, 78, 96, 111, 127, 146, 167, 173, 181, 146,
+  32, 25, 42, 39, 54, 64, 67, 64, 57, 47, 37, 34, 32, 44, 156, 205,
+  214, 201, 196, 196, 190, 188, 185, 185, 186, 188, 193, 201, 206, 210, 209, 189,
+  34, 34, 26, 36, 48, 56, 57, 44, 39, 28, 28, 30, 87, 212, 234, 245,
+  240, 230, 159, 47, 37, 34, 42, 50, 56, 56, 46, 38, 36, 27, 35, 147,
+  234, 255, 244, 252, 253, 255, 250, 234, 97, 34, 33, 34, 41, 49, 48, 44,
+  39, 34, 30, 84, 193, 200, 186, 173, 164, 157, 152, 148, 150, 145, 155, 156,
+  167, 186, 188, 192, 191, 68, 42, 29, 38, 42, 55, 61, 70, 77, 62, 54,
+  44, 46, 37, 36, 29, 42, 185, 208, 207, 203, 202, 202, 197, 198, 199, 201,
+  206, 214, 225, 210, 34, 21, 27, 36, 42, 51, 61, 55, 46, 44, 33, 27,
+  47, 220, 239, 244, 235, 202, 60, 36, 30, 38, 44, 54, 66, 76, 74, 57,
+  63, 47, 37, 38, 29, 79, 194, 210, 205, 209, 206, 201, 197, 201, 204, 209,
+  213, 214, 215, 155, 36, 26, 32, 39, 49, 56, 53, 43, 37, 32, 38, 150,
+  228, 242, 244, 245, 246, 243, 242, 238, 241, 220, 35, 24, 29, 37, 42, 51,
+  52, 42, 36, 29, 27, 93, 230, 251, 249, 249, 245, 246, 245, 242, 238, 167,
+  35, 24, 34, 43, 51, 58, 50, 42, 34, 36, 41, 157, 237, 252, 252, 252,
+  251, 250, 250, 245, 233, 223, 106, 41, 39, 38, 25, 37, 39, 42, 87, 186,
+  189, 186, 167, 146, 134, 117, 99, 84, 66, 51, 37, 25, 16, 12, 6, 5,
+  3, 1, 0, 0, 1, 5, 7, 12, 18, 24, 33, 45, 58, 72, 88, 104,
+  119, 138, 160, 163, 178, 178, 83, 26, 37, 39, 48, 59, 66, 67, 63, 56,
+  45, 37, 28, 43, 65, 177, 203, 213, 206, 205, 201, 198, 195, 196, 197, 199,
+  204, 208, 215, 216, 195, 80, 37, 26, 34, 48, 62, 68, 64, 43, 33, 31,
+  27, 37, 172, 232, 239, 240, 235, 228, 192, 50, 37, 33, 40, 47, 56, 59,
+  52, 46, 36, 37, 33, 79, 224, 235, 251, 251, 255, 255, 249, 234, 97, 34,
+  33, 33, 41, 49, 49, 45, 40, 35, 30, 83, 196, 202, 188, 175, 164, 155,
+  150, 145, 146, 137, 150, 157, 163, 176, 183, 192, 201, 127, 24, 26, 38, 44,
+  47, 61, 67, 70, 63, 63, 48, 46, 38, 26, 26, 97, 202, 211, 203, 200,
+  203, 192, 191, 191, 195, 197, 203, 213, 224, 210, 33, 20, 28, 39, 44, 53,
+  62, 55, 49, 40, 30, 30, 51, 221, 238, 252, 254, 233, 131, 39, 38, 36,
+  35, 48, 62, 67, 81, 63, 59, 55, 46, 34, 37, 26, 131, 210, 215, 211,
+  217, 206, 205, 209, 210, 215, 220, 220, 220, 157, 35, 25, 30, 38, 48, 56,
+  53, 43, 36, 32, 39, 151, 230, 244, 245, 243, 247, 243, 241, 237, 241, 221,
+  37, 27, 32, 39, 45, 53, 53, 43, 36, 30, 26, 93, 232, 253, 250, 247,
+  244, 245, 245, 243, 238, 165, 35, 23, 33, 41, 50, 59, 49, 42, 33, 35,
+  40, 156, 235, 250, 252, 252, 252, 251, 248, 240, 225, 106, 34, 32, 31, 25,
+  26, 29, 22, 36, 37, 89, 185, 188, 164, 154, 135, 118, 103, 87, 67, 50,
+  38, 25, 17, 12, 6, 5, 3, 1, 0, 0, 1, 5, 6, 10, 16, 22,
+  30, 41, 53, 65, 82, 95, 110, 128, 142, 159, 171, 172, 153, 67, 32, 35,
+  40, 49, 59, 63, 64, 61, 54, 46, 37, 28, 30, 52, 178, 204, 210, 216,
+  209, 205, 202, 203, 206, 209, 213, 213, 209, 197, 95, 34, 29, 38, 42, 50,
+  64, 66, 57, 36, 28, 26, 31, 94, 214, 228, 228, 232, 233, 233, 217, 106,
+  35, 27, 37, 44, 55, 61, 62, 56, 43, 33, 25, 44, 139, 229, 242, 255,
+  255, 255, 247, 231, 97, 34, 32, 32, 42, 51, 51, 46, 42, 35, 29, 83,
+  199, 206, 191, 177, 166, 156, 148, 142, 140, 138, 146, 154, 161, 169, 174, 184,
+  197, 175, 39, 27, 33, 46, 45, 57, 63, 69, 64, 60, 43, 36, 37, 36,
+  39, 158, 204, 209, 196, 198, 196, 184, 184, 186, 189, 194, 201, 211, 224, 209,
+  33, 20, 29, 41, 48, 56, 64, 55, 48, 31, 29, 33, 54, 222, 236, 246,
+  251, 245, 224, 89, 33, 34, 37, 45, 55, 60, 74, 67, 58, 57, 53, 39,
+  28, 32, 46, 170, 211, 226, 213, 214, 212, 216, 217, 222, 225, 224, 222, 158,
+  34, 24, 29, 37, 49, 56, 53, 43, 36, 32, 38, 151, 232, 247, 244, 243,
+  244, 241, 241, 239, 241, 223, 38, 30, 35, 43, 48, 56, 56, 46, 38, 30,
+  26, 93, 233, 254, 249, 246, 243, 244, 245, 243, 237, 165, 34, 23, 32, 40,
+  50, 59, 50, 41, 32, 34, 39, 155, 232, 247, 249, 251, 252, 252, 251, 238,
+  180, 51, 42, 35, 42, 38, 39, 40, 39, 34, 29, 42, 172, 182, 168, 152,
+  136, 118, 102, 85, 64, 47, 34, 24, 16, 12, 7, 5, 3, 1, 0, 0,
+  1, 4, 6, 8, 14, 20, 26, 36, 46, 59, 74, 86, 101, 117, 131, 156,
+  160, 176, 183, 130, 45, 33, 39, 41, 48, 54, 57, 63, 62, 56, 43, 40,
+  35, 30, 60, 141, 206, 204, 209, 207, 204, 205, 207, 209, 209, 207, 183, 74,
+  38, 32, 29, 42, 52, 59, 63, 59, 47, 39, 36, 34, 60, 184, 216, 233,
+  222, 232, 228, 225, 224, 173, 38, 28, 33, 39, 50, 61, 65, 64, 54, 46,
+  36, 31, 40, 158, 225, 238, 246, 249, 242, 229, 96, 34, 32, 33, 44, 53,
+  52, 47, 41, 34, 27, 82, 198, 207, 193, 180, 168, 158, 147, 141, 138, 146,
+  142, 142, 158, 169, 175, 183, 193, 191, 95, 30, 35, 30, 52, 51, 59, 68,
+  54, 50, 51, 37, 25, 26, 69, 190, 203, 209, 200, 190, 178, 188, 179, 181,
+  186, 192, 199, 209, 221, 205, 32, 20, 30, 42, 49, 57, 65, 56, 43, 32,
+  36, 33, 49, 223, 240, 247, 243, 250, 234, 182, 44, 27, 33, 41, 50, 56,
+  58, 68, 71, 61, 50, 39, 36, 30, 30, 90, 208, 219, 223, 219, 217, 221,
+  221, 225, 229, 226, 222, 158, 34, 24, 29, 38, 50, 58, 54, 44, 35, 32,
+  37, 151, 233, 247, 243, 241, 242, 240, 241, 240, 243, 224, 39, 30, 36, 45,
+  51, 59, 58, 48, 39, 31, 26, 92, 232, 254, 249, 246, 243, 245, 247, 245,
+  238, 165, 35, 24, 31, 40, 50, 59, 50, 41, 32, 33, 38, 154, 233, 246,
+  247, 248, 250, 250, 249, 235, 103, 39, 35, 36, 41, 47, 50, 49, 45, 34,
+  25, 31, 121, 182, 173, 156, 137, 118, 100, 84, 65, 49, 35, 24, 16, 12,
+  7, 5, 3, 1, 0, 1, 1, 2, 4, 8, 12, 16, 23, 29, 41, 53,
+  65, 78, 94, 108, 126, 136, 156, 170, 181, 184, 129, 41, 26, 30, 34, 43,
+  48, 46, 57, 67, 59, 53, 32, 35, 34, 39, 80, 161, 198, 209, 194, 197,
+  205, 194, 160, 106, 37, 33, 35, 40, 42, 47, 51, 54, 51, 57, 35, 33,
+  37, 47, 183, 209, 215, 218, 219, 221, 223, 225, 225, 210, 87, 36, 28, 35,
+  38, 54, 64, 66, 64, 58, 39, 34, 25, 44, 134, 216, 226, 225, 243, 219,
+  95, 37, 33, 34, 46, 54, 58, 51, 39, 32, 31, 49, 195, 205, 194, 180,
+  174, 156, 152, 139, 140, 139, 139, 144, 153, 161, 169, 178, 190, 193, 153, 37,
+  35, 34, 41, 47, 53, 65, 55, 46, 39, 42, 23, 26, 126, 192, 209, 200,
+  193, 183, 179, 179, 174, 181, 177, 191, 196, 205, 214, 203, 30, 19, 29, 39,
+  49, 59, 61, 57, 49, 41, 32, 34, 55, 221, 236, 247, 248, 240, 241, 227,
+  105, 39, 25, 42, 40, 54, 52, 66, 61, 62, 59, 48, 42, 37, 34, 36,
+  152, 215, 221, 225, 224, 217, 231, 224, 230, 229, 221, 153, 35, 23, 27, 37,
+  53, 62, 54, 43, 35, 35, 31, 151, 228, 246, 242, 242, 241, 236, 242, 237,
+  245, 227, 32, 31, 33, 41, 51, 57, 56, 49, 38, 31, 23, 96, 229, 246,
+  255, 246, 243, 244, 251, 249, 235, 167, 37, 29, 36, 42, 49, 64, 49, 42,
+  34, 28, 40, 148, 239, 244, 248, 243, 243, 242, 249, 227, 67, 25, 30, 43,
+  41, 51, 57, 53, 51, 42, 30, 39, 91, 174, 170, 155, 136, 117, 96, 82,
+  68, 54, 39, 27, 18, 13, 7, 4, 2, 2, 0, 0, 2, 2, 4, 6,
+  10, 13, 18, 25, 35, 46, 58, 69, 83, 98, 118, 129, 149, 164, 176, 191,
+  174, 128, 36, 27, 30, 30, 42, 53, 50, 55, 59, 57, 50, 41, 30, 31,
+  35, 39, 46, 88, 104, 102, 77, 48, 44, 32, 34, 31, 36, 46, 50, 46,
+  41, 42, 40, 35, 34, 41, 38, 134, 201, 211, 208, 209, 211, 213, 215, 218,
+  219, 209, 173, 49, 27, 36, 42, 45, 49, 62, 66, 62, 50, 44, 33, 25,
+  34, 46, 97, 137, 171, 230, 93, 29, 34, 41, 45, 50, 52, 46, 34, 27,
+  22, 35, 194, 199, 194, 189, 174, 161, 147, 140, 139, 138, 138, 142, 149, 157,
+  165, 175, 181, 196, 199, 111, 39, 29, 32, 40, 47, 62, 49, 49, 39, 35,
+  27, 40, 169, 205, 203, 194, 190, 180, 173, 171, 172, 173, 187, 189, 193, 211,
+  213, 196, 29, 20, 33, 42, 51, 58, 58, 54, 46, 39, 30, 35, 50, 213,
+  238, 244, 237, 250, 243, 228, 199, 59, 35, 31, 42, 53, 47, 51, 56, 59,
+  58, 51, 46, 31, 34, 30, 58, 207, 224, 228, 225, 230, 218, 229, 236, 227,
+  227, 152, 35, 25, 31, 41, 54, 61, 54, 44, 35, 23, 29, 125, 233, 245,
+  242, 241, 242, 236, 246, 249, 232, 223, 35, 22, 31, 39, 50, 55, 55, 48,
+  39, 33, 28, 42, 225, 245, 243, 243, 246, 244, 247, 240, 239, 158, 31, 31,
+  30, 42, 52, 59, 46, 44, 39, 32, 28, 104, 227, 251, 243, 244, 239, 247,
+  233, 226, 34, 32, 28, 28, 40, 57, 58, 61, 48, 43, 36, 18, 89, 172,
+  168, 159, 135, 114, 94, 79, 69, 56, 41, 27, 18, 13, 7, 4, 2, 2,
+  0, 0, 1, 1, 3, 5, 9, 12, 16, 21, 30, 41, 50, 62, 75, 90,
+  105, 119, 136, 151, 163, 178, 187, 180, 124, 50, 23, 28, 27, 34, 39, 42,
+  45, 46, 55, 51, 38, 37, 41, 35, 37, 44, 33, 35, 34, 27, 32, 29,
+  30, 44, 52, 49, 45, 39, 38, 44, 33, 33, 45, 48, 145, 199, 189, 200,
+  198, 199, 200, 201, 202, 204, 207, 205, 201, 146, 51, 34, 33, 34, 36, 48,
+  47, 50, 49, 38, 30, 30, 29, 34, 51, 75, 209, 218, 97, 28, 26, 39,
+  49, 50, 50, 45, 38, 31, 25, 30, 135, 188, 183, 182, 172, 161, 148, 140,
+  137, 138, 137, 141, 146, 154, 164, 174, 194, 200, 204, 189, 61, 34, 29, 39,
+  44, 53, 50, 47, 36, 34, 28, 80, 197, 207, 193, 187, 185, 175, 170, 168,
+  170, 177, 184, 186, 195, 197, 189, 159, 27, 21, 31, 39, 45, 49, 47, 45,
+  42, 45, 31, 32, 40, 207, 222, 242, 242, 229, 239, 231, 215, 156, 43, 38,
+  31, 42, 41, 38, 47, 48, 54, 53, 48, 49, 37, 35, 47, 102, 206, 220,
+  228, 230, 240, 231, 235, 231, 212, 148, 30, 24, 29, 37, 47, 49, 44, 37,
+  29, 41, 28, 89, 222, 240, 247, 239, 242, 239, 241, 236, 236, 199, 32, 13,
+  24, 32, 40, 45, 44, 41, 34, 30, 25, 29, 218, 233, 238, 236, 246, 243,
+  244, 236, 220, 142, 37, 33, 33, 43, 49, 53, 46, 42, 29, 30, 30, 88,
+  232, 243, 237, 239, 239, 238, 250, 230, 40, 28, 30, 43, 49, 60, 60, 56,
+  52, 32, 30, 30, 77, 167, 161, 150, 132, 112, 92, 79, 67, 55, 40, 27,
+  17, 13, 7, 4, 2, 2, 0, 0, 1, 1, 3, 4, 6, 9, 13, 18,
+  25, 34, 44, 54, 67, 79, 97, 111, 126, 142, 155, 164, 175, 182, 181, 141,
+  54, 34, 41, 31, 41, 27, 37, 39, 36, 44, 45, 38, 28, 36, 33, 37,
+  29, 32, 31, 27, 37, 43, 40, 43, 42, 42, 43, 36, 27, 34, 31, 37,
+  45, 163, 191, 196, 192, 187, 186, 186, 187, 187, 187, 190, 193, 195, 197, 193,
+  133, 43, 32, 28, 32, 37, 50, 45, 45, 38, 38, 37, 26, 31, 39, 127,
+  226, 217, 88, 30, 35, 35, 40, 40, 39, 37, 33, 30, 27, 31, 79, 188,
+  188, 177, 172, 157, 154, 138, 139, 139, 140, 142, 147, 155, 164, 175, 192, 201,
+  217, 212, 145, 44, 35, 23, 43, 39, 55, 40, 31, 36, 32, 140, 197, 199,
+  188, 184, 176, 168, 165, 165, 166, 177, 175, 185, 192, 192, 194, 118, 34, 29,
+  36, 40, 43, 43, 42, 41, 40, 42, 34, 30, 34, 151, 223, 230, 230, 237,
+  236, 227, 229, 211, 100, 43, 35, 33, 43, 41, 42, 38, 46, 47, 43, 39,
+  43, 38, 24, 42, 152, 214, 226, 226, 234, 236, 235, 220, 213, 96, 35, 31,
+  35, 38, 42, 44, 39, 36, 32, 28, 25, 45, 204, 224, 236, 242, 236, 235,
+  236, 245, 219, 150, 36, 24, 29, 34, 40, 42, 42, 40, 37, 36, 31, 43,
+  152, 222, 237, 236, 239, 229, 243, 231, 211, 86, 33, 26, 36, 39, 42, 39,
+  36, 37, 30, 32, 20, 41, 216, 224, 244, 231, 237, 238, 231, 218, 71, 36,
+  33, 32, 44, 52, 49, 49, 44, 24, 19, 30, 84, 164, 161, 145, 128, 109,
+  92, 78, 64, 51, 38, 26, 17, 12, 7, 4, 2, 2, 0, 0, 1, 1,
+  1, 2, 4, 6, 9, 13, 20, 28, 37, 46, 57, 69, 85, 98, 111, 125,
+  140, 153, 164, 175, 183, 181, 180, 101, 40, 40, 20, 23, 22, 33, 30, 38,
+  36, 42, 31, 36, 31, 35, 33, 36, 41, 41, 41, 38, 35, 42, 41, 36,
+  36, 32, 27, 40, 39, 106, 187, 194, 193, 190, 174, 178, 173, 173, 172, 171,
+  170, 171, 175, 180, 184, 194, 191, 141, 41, 32, 38, 25, 36, 29, 33, 32,
+  39, 41, 26, 31, 59, 207, 219, 222, 93, 29, 38, 34, 38, 38, 37, 35,
+  33, 34, 36, 40, 42, 134, 174, 172, 170, 157, 158, 145, 140, 140, 143, 146,
+  149, 156, 166, 178, 189, 212, 219, 216, 216, 106, 50, 37, 36, 36, 50, 34,
+  29, 32, 56, 183, 197, 195, 187, 178, 167, 162, 159, 158, 165, 171, 175, 179,
+  173, 183, 176, 61, 36, 32, 35, 35, 35, 34, 33, 32, 34, 25, 29, 29,
+  30, 62, 217, 220, 227, 224, 232, 234, 224, 221, 205, 103, 49, 23, 31, 35,
+  31, 27, 38, 36, 36, 31, 32, 38, 37, 30, 56, 178, 212, 223, 231, 238,
+  228, 219, 181, 51, 40, 35, 36, 34, 35, 34, 31, 33, 38, 32, 36, 33,
+  128, 217, 221, 233, 232, 235, 232, 226, 215, 90, 28, 28, 31, 32, 35, 35,
+  35, 35, 34, 35, 31, 36, 74, 204, 224, 229, 230, 231, 222, 217, 197, 42,
+  36, 35, 40, 32, 38, 34, 35, 37, 32, 37, 28, 34, 134, 224, 221, 229,
+  237, 234, 233, 227, 134, 32, 34, 40, 39, 35, 40, 41, 37, 37, 26, 28,
+  133, 165, 160, 139, 123, 106, 91, 76, 59, 44, 32, 21, 14, 12, 7, 4,
+  2, 2, 0, 0, 1, 1, 1, 2, 3, 4, 8, 11, 16, 24, 32, 40,
+  50, 61, 71, 85, 99, 110, 122, 135, 148, 160, 169, 180, 175, 187, 170, 93,
+  38, 35, 31, 27, 28, 31, 19, 28, 34, 33, 32, 36, 35, 30, 30, 33,
+  37, 40, 32, 25, 33, 50, 47, 29, 44, 92, 160, 177, 188, 182, 179, 174,
+  176, 161, 158, 157, 154, 154, 154, 157, 162, 166, 179, 183, 183, 187, 160, 68,
+  37, 40, 30, 32, 36, 31, 28, 32, 34, 44, 127, 204, 222, 210, 94, 29,
+  40, 34, 36, 36, 36, 32, 30, 32, 38, 41, 41, 64, 148, 176, 173, 164,
+  151, 146, 143, 142, 145, 150, 151, 159, 170, 180, 200, 199, 214, 224, 206, 213,
+  129, 36, 26, 38, 37, 35, 28, 24, 102, 195, 199, 191, 181, 168, 161, 159,
+  153, 151, 154, 159, 170, 175, 181, 166, 112, 45, 40, 36, 36, 35, 34, 33,
+  34, 33, 31, 29, 34, 34, 34, 39, 143, 214, 217, 218, 221, 218, 216, 226,
+  217, 197, 83, 42, 39, 39, 35, 33, 34, 27, 25, 35, 37, 30, 28, 30,
+  48, 61, 182, 227, 219, 210, 223, 212, 107, 42, 42, 38, 35, 34, 32, 32,
+  30, 32, 33, 42, 34, 40, 47, 146, 210, 222, 221, 221, 222, 213, 172, 56,
+  38, 38, 34, 34, 35, 33, 32, 33, 32, 34, 42, 42, 54, 139, 217, 221,
+  220, 226, 221, 214, 120, 44, 35, 35, 35, 26, 30, 32, 34, 32, 27, 32,
+  36, 47, 68, 185, 213, 225, 224, 215, 232, 213, 196, 78, 42, 31, 32, 30,
+  31, 31, 30, 31, 37, 80, 170, 167, 149, 129, 117, 102, 88, 74, 55, 40,
+  29, 19, 13, 11, 6, 4, 2, 2, 0, 0, 2, 1, 1, 1, 2, 3,
+  7, 9, 14, 21, 28, 35, 44, 54, 63, 75, 91, 103, 112, 122, 131, 141,
+  152, 173, 178, 176, 177, 181, 163, 118, 74, 46, 33, 28, 34, 25, 28, 24,
+  28, 25, 22, 21, 25, 26, 20, 20, 22, 35, 34, 30, 61, 122, 167, 183,
+  176, 176, 180, 177, 162, 158, 152, 139, 140, 138, 135, 135, 141, 146, 149, 152,
+  166, 156, 176, 177, 177, 187, 117, 64, 37, 31, 26, 33, 35, 36, 47, 62,
+  201, 214, 211, 206, 91, 44, 51, 35, 37, 38, 37, 35, 31, 34, 38, 37,
+  36, 30, 101, 152, 165, 169, 159, 157, 148, 147, 150, 155, 157, 165, 176, 185,
+  192, 196, 217, 217, 231, 224, 213, 205, 29, 33, 34, 33, 21, 32, 153, 192,
+  196, 184, 170, 157, 155, 154, 145, 146, 150, 154, 155, 157, 156, 112, 46, 38,
+  34, 33, 32, 34, 35, 36, 34, 35, 29, 35, 37, 39, 35, 46, 56, 143,
+  207, 208, 210, 211, 207, 193, 204, 197, 193, 146, 96, 58, 38, 38, 30, 36,
+  40, 39, 30, 32, 34, 47, 37, 43, 70, 180, 206, 215, 204, 132, 51, 40,
+  38, 36, 34, 34, 35, 35, 35, 35, 40, 26, 32, 40, 46, 53, 157, 197,
+  213, 209, 212, 210, 77, 40, 43, 34, 38, 38, 37, 35, 34, 35, 31, 32,
+  37, 36, 39, 67, 184, 218, 214, 211, 215, 181, 54, 49, 31, 29, 34, 36,
+  37, 38, 35, 37, 45, 41, 31, 29, 51, 95, 197, 203, 209, 225, 214, 209,
+  207, 180, 98, 31, 33, 34, 17, 25, 29, 40, 81, 149, 169, 161, 137, 121,
+  111, 98, 84, 71, 54, 40, 27, 18, 13, 11, 6, 4, 2, 2, 0, 0,
+  2, 2, 1, 1, 1, 3, 4, 5, 9, 16, 21, 27, 36, 45, 53, 61,
+  73, 86, 95, 106, 119, 127, 145, 145, 162, 172, 171, 176, 179, 184, 181, 160,
+  124, 73, 73, 34, 32, 43, 38, 36, 34, 31, 31, 29, 26, 34, 59, 79,
+  117, 158, 181, 184, 181, 176, 171, 170, 162, 153, 154, 140, 130, 131, 123, 120,
+  118, 119, 125, 131, 134, 137, 142, 149, 164, 166, 180, 181, 169, 171, 135, 106,
+  76, 78, 76, 82, 126, 172, 196, 203, 202, 197, 149, 134, 125, 131, 125, 125,
+  125, 124, 122, 123, 124, 120, 115, 118, 121, 150, 164, 168, 162, 156, 152, 150,
+  152, 158, 163, 170, 182, 190, 196, 200, 214, 218, 227, 224, 223, 133, 37, 26,
+  39, 33, 20, 54, 190, 191, 190, 176, 164, 152, 150, 144, 132, 139, 137, 138,
+  144, 155, 130, 117, 115, 110, 115, 117, 118, 120, 123, 124, 123, 122, 125, 125,
+  125, 133, 127, 124, 130, 135, 192, 200, 187, 188, 186, 190, 188, 191, 185, 191,
+  182, 175, 174, 164, 125, 120, 126, 118, 125, 128, 129, 124, 127, 123, 140, 150,
+  198, 194, 176, 143, 124, 124, 124, 124, 122, 124, 126, 127, 127, 126, 127, 120,
+  126, 119, 115, 129, 139, 196, 195, 204, 202, 158, 134, 125, 128, 128, 127, 129,
+  129, 128, 126, 126, 123, 121, 126, 129, 120, 134, 151, 202, 201, 205, 204, 156,
+  134, 120, 131, 128, 121, 125, 124, 130, 125, 123, 130, 123, 122, 131, 130, 133,
+  161, 195, 196, 203, 200, 202, 201, 201, 174, 153, 76, 40, 36, 30, 72, 113,
+  163, 174, 161, 149, 128, 112, 106, 92, 78, 66, 51, 39, 27, 17, 13, 9,
+  6, 3, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0, 2, 4, 8, 12,
+  17, 22, 28, 34, 45, 53, 62, 72, 81, 91, 103, 111, 123, 133, 145, 153,
+  158, 164, 169, 174, 178, 177, 176, 176, 177, 178, 180, 180, 139, 138, 136, 134,
+  142, 158, 172, 178, 178, 178, 176, 176, 177, 174, 170, 166, 157, 152, 143, 136,
+  128, 121, 115, 111, 106, 103, 102, 104, 106, 110, 116, 121, 129, 135, 144, 153,
+  160, 166, 168, 169, 170, 171, 173, 175, 174, 176, 179, 183, 188, 190, 190, 188,
+  182, 180, 179, 178, 177, 177, 178, 178, 177, 176, 175, 173, 167, 167, 167, 168,
+  167, 166, 163, 160, 154, 151, 154, 155, 169, 179, 181, 201, 200, 201, 213, 218,
+  230, 218, 213, 80, 35, 38, 35, 31, 35, 106, 191, 189, 180, 170, 154, 145,
+  143, 136, 126, 123, 127, 131, 136, 141, 147, 152, 156, 159, 165, 168, 171, 173,
+  175, 176, 176, 177, 176, 177, 177, 176, 174, 173, 173, 175, 178, 180, 177, 175,
+  173, 173, 173, 175, 176, 176, 176, 175, 174, 172, 173, 174, 176, 176, 176, 178,
+  179, 179, 178, 177, 181, 184, 187, 187, 186, 183, 179, 176, 176, 177, 176, 177,
+  177, 178, 177, 177, 177, 177, 176, 175, 175, 178, 182, 185, 187, 188, 188, 185,
+  179, 176, 177, 177, 178, 178, 178, 177, 178, 177, 176, 176, 177, 177, 177, 179,
+  185, 188, 188, 188, 189, 186, 180, 177, 177, 177, 176, 177, 178, 178, 178, 178,
+  178, 177, 176, 175, 176, 178, 181, 183, 185, 186, 185, 185, 187, 186, 182, 178,
+  175, 171, 169, 168, 165, 163, 161, 156, 148, 136, 120, 107, 93, 82, 67, 54,
+  45, 35, 26, 17, 9, 6, 3, 0, 0, 0, 1, 1, 0, 0, 0, 0,
+  0, 0, 2, 3, 6, 9, 13, 18, 23, 27, 36, 44, 52, 60, 68, 77,
+  88, 97, 109, 118, 128, 137, 143, 149, 156, 162, 167, 170, 174, 177, 178, 180,
+  181, 183, 182, 185, 184, 181, 180, 181, 180, 177, 180, 178, 174, 172, 167, 163,
+  157, 151, 141, 136, 127, 119, 112, 106, 99, 95, 90, 87, 87, 88, 90, 93,
+  99, 105, 114, 121, 129, 137, 145, 151, 157, 162, 167, 170, 172, 174, 174, 175,
+  175, 177, 176, 176, 177, 177, 175, 175, 175, 175, 174, 175, 176, 177, 176, 175,
+  174, 172, 171, 169, 167, 165, 164, 164, 163, 162, 157, 160, 165, 165, 170, 183,
+  193, 195, 199, 225, 215, 228, 219, 218, 166, 45, 35, 33, 39, 28, 39, 164,
+  184, 188, 172, 160, 146, 138, 133, 125, 115, 113, 116, 120, 125, 131, 137, 144,
+  151, 156, 163, 165, 169, 171, 172, 173, 174, 175, 173, 173, 173, 171, 170, 169,
+  167, 166, 164, 163, 161, 160, 159, 159, 159, 160, 162, 164, 165, 167, 167, 169,
+  170, 172, 173, 173, 174, 175, 175, 175, 175, 175, 173, 173, 172, 173, 172, 173,
+  172, 173, 174, 175, 174, 175, 174, 175, 174, 175, 174, 175, 174, 174, 173, 174,
+  173, 174, 173, 174, 173, 174, 173, 174, 173, 174, 174, 175, 174, 175, 174, 175,
+  174, 175, 174, 175, 174, 174, 173, 174, 173, 174, 173, 174, 173, 175, 174, 175,
+  174, 175, 174, 175, 174, 175, 174, 174, 173, 172, 171, 170, 170, 170, 169, 170,
+  170, 170, 171, 173, 173, 174, 174, 173, 172, 170, 165, 160, 152, 144, 135, 125,
+  110, 98, 86, 73, 59, 48, 38, 31, 23, 16, 8, 5, 2, 0, 0, 0,
+  1, 1, 0, 0, 0, 0, 0, 0, 1, 3, 5, 7, 9, 13, 17, 21,
+  29, 36, 43, 49, 56, 66, 75, 83, 93, 102, 112, 120, 127, 133, 140, 146,
+  151, 156, 159, 162, 164, 166, 168, 168, 167, 169, 170, 168, 168, 169, 168, 164,
+  164, 162, 158, 156, 151, 146, 140, 134, 127, 120, 112, 104, 97, 90, 85, 80,
+  75, 73, 72, 74, 75, 79, 84, 91, 99, 105, 113, 121, 128, 135, 139, 144,
+  150, 153, 156, 157, 159, 159, 159, 160, 159, 159, 159, 159, 160, 160, 160, 159,
+  159, 159, 161, 161, 162, 160, 160, 160, 158, 158, 158, 159, 160, 162, 163, 165,
+  173, 175, 171, 177, 187, 188, 193, 205, 204, 218, 231, 228, 221, 201, 54, 31,
+  33, 28, 31, 27, 82, 182, 184, 181, 164, 151, 140, 129, 122, 113, 105, 104,
+  105, 109, 113, 118, 124, 130, 138, 142, 147, 150, 152, 156, 157, 157, 158, 158,
+  157, 157, 156, 155, 154, 152, 151, 150, 148, 146, 145, 143, 143, 142, 142, 143,
+  145, 147, 149, 150, 151, 152, 154, 155, 156, 156, 158, 158, 158, 158, 158, 158,
+  158, 158, 158, 158, 158, 158, 158, 158, 159, 159, 159, 159, 159, 159, 159, 159,
+  158, 158, 158, 158, 158, 157, 157, 157, 157, 157, 157, 157, 157, 158, 158, 158,
+  158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 158, 157, 157,
+  158, 158, 158, 158, 158, 158, 158, 158, 159, 159, 159, 158, 158, 157, 157, 157,
+  155, 153, 153, 153, 153, 154, 154, 154, 155, 156, 157, 157, 158, 157, 157, 155,
+  150, 145, 137, 129, 122, 112, 100, 87, 75, 64, 52, 40, 32, 26, 19, 13,
+  7, 4, 2, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1,
+  3, 4, 6, 9, 13, 17, 24, 29, 34, 41, 47, 54, 64, 70, 79, 86,
+  96, 104, 110, 116, 122, 128, 134, 139, 142, 146, 148, 150, 152, 153, 153, 154,
+  151, 149, 149, 152, 153, 152, 147, 145, 141, 138, 134, 129, 123, 117, 110, 104,
+  96, 89, 83, 76, 71, 67, 62, 60, 59, 62, 63, 65, 70, 76, 84, 89,
+  97, 105, 111, 117, 123, 127, 133, 136, 138, 140, 141, 141, 142, 143, 143, 143,
+  142, 141, 142, 142, 142, 141, 142, 142, 142, 143, 145, 145, 146, 147, 147, 148,
+  150, 152, 156, 159, 162, 167, 176, 174, 184, 192, 195, 194, 190, 201, 213, 224,
+  219, 221, 207, 92, 42, 29, 32, 32, 22, 40, 135, 185, 180, 173, 157, 143,
+  132, 121, 110, 101, 95, 95, 93, 96, 101, 105, 110, 115, 122, 125, 131, 133,
+  136, 139, 139, 140, 140, 141, 140, 139, 138, 137, 136, 135, 133, 133, 130, 129,
+  127, 126, 125, 124, 125, 126, 127, 129, 131, 132, 134, 135, 136, 138, 139, 140,
+  140, 140, 141, 140, 140, 140, 141, 141, 141, 141, 141, 141, 141, 141, 141, 141,
+  141, 141, 141, 141, 141, 141, 141, 141, 141, 140, 140, 140, 140, 139, 139, 139,
+  140, 140, 140, 140, 140, 140, 141, 141, 141, 141, 141, 141, 141, 141, 141, 140,
+  140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 140, 141, 141, 141, 141,
+  141, 141, 140, 140, 139, 139, 136, 135, 135, 135, 136, 136, 136, 136, 138, 138,
+  139, 141, 141, 140, 139, 138, 133, 130, 123, 114, 107, 98, 87, 76, 65, 55,
+  44, 34, 27, 21, 15, 10, 6, 3, 1, 0, 0, 0, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 2, 4, 7, 9, 12, 16, 20, 25, 30,
+  36, 44, 50, 56, 65, 70, 80, 86, 91, 98, 103, 108, 116, 120, 123, 126,
+  129, 132, 133, 134, 136, 138, 138, 138, 136, 135, 132, 130, 128, 125, 122, 119,
+  114, 110, 105, 100, 92, 86, 79, 72, 67, 61, 56, 53, 48, 47, 46, 48,
+  49, 51, 56, 61, 68, 73, 81, 88, 93, 99, 104, 109, 114, 116, 118, 120,
+  120, 121, 123, 123, 123, 123, 123, 123, 122, 122, 122, 122, 122, 123, 123, 124,
+  125, 128, 129, 131, 135, 138, 141, 146, 151, 156, 162, 165, 171, 171, 193, 191,
+  190, 208, 206, 202, 208, 201, 214, 203, 83, 37, 38, 36, 31, 23, 34, 46,
+  178, 188, 178, 164, 148, 134, 122, 109, 96, 88, 84, 82, 82, 84, 87, 90,
+  94, 98, 104, 107, 112, 114, 117, 118, 120, 120, 120, 121, 119, 119, 118, 117,
+  116, 115, 113, 113, 110, 109, 107, 106, 106, 106, 105, 106, 107, 109, 111, 112,
+  114, 115, 116, 119, 119, 120, 120, 121, 122, 122, 121, 121, 121, 121, 121, 121,
+  121, 121, 121, 121, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 122, 121,
+  121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 121, 122, 122, 122, 122,
+  122, 122, 122, 122, 122, 122, 122, 121, 121, 121, 121, 121, 121, 121, 121, 121,
+  121, 121, 122, 122, 122, 122, 122, 122, 121, 121, 120, 119, 116, 116, 115, 116,
+  116, 116, 116, 116, 118, 119, 119, 121, 120, 120, 121, 118, 114, 111, 106, 98,
+  91, 84, 72, 63, 55, 46, 36, 28, 22, 16, 11, 7, 4, 2, 1, 0,
+  0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 5,
+  6, 9, 11, 14, 18, 22, 27, 33, 39, 44, 52, 57, 65, 70, 75, 80,
+  86, 91, 98, 101, 105, 108, 111, 113, 114, 115, 111, 113, 114, 115, 115, 115,
+  113, 112, 109, 107, 103, 101, 97, 93, 87, 82, 75, 70, 63, 57, 52, 48,
+  44, 40, 37, 35, 35, 36, 36, 38, 44, 48, 54, 60, 66, 72, 78, 83,
+  87, 91, 95, 97, 99, 102, 102, 102, 103, 104, 104, 104, 104, 103, 103, 103,
+  103, 103, 103, 103, 104, 106, 108, 111, 115, 117, 122, 126, 132, 138, 146, 153,
+  161, 166, 173, 182, 186, 185, 200, 184, 141, 143, 154, 146, 109, 51, 38, 34,
+  36, 48, 29, 24, 29, 90, 189, 180, 173, 157, 140, 126, 110, 97, 86, 77,
+  73, 71, 70, 71, 74, 76, 79, 84, 87, 90, 94, 97, 98, 101, 101, 102,
+  101, 102, 100, 100, 99, 99, 98, 96, 95, 94, 91, 91, 90, 88, 87, 87,
+  87, 88, 90, 92, 92, 94, 95, 97, 98, 100, 101, 101, 101, 101, 103, 103,
+  102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 103, 103,
+  103, 103, 103, 103, 103, 102, 102, 102, 102, 101, 101, 102, 102, 102, 102, 102,
+  102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 103, 102, 102, 102, 102, 102,
+  102, 102, 102, 102, 102, 102, 102, 102, 102, 102, 103, 103, 103, 103, 102, 102,
+  101, 101, 98, 98, 97, 97, 97, 98, 97, 98, 99, 100, 101, 102, 102, 102,
+  102, 100, 96, 94, 89, 83, 76, 70, 61, 53, 44, 38, 29, 22, 17, 13,
+  8, 5, 2, 1, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 2, 3, 4, 8, 10, 12, 16, 19, 24, 29, 32,
+  41, 45, 50, 55, 59, 65, 69, 74, 79, 82, 86, 88, 91, 93, 94, 96,
+  102, 101, 100, 100, 98, 97, 96, 96, 90, 88, 85, 82, 79, 75, 70, 65,
+  59, 55, 49, 44, 41, 36, 32, 29, 26, 24, 24, 26, 26, 28, 32, 37,
+  41, 46, 51, 58, 62, 66, 69, 74, 77, 79, 81, 83, 84, 84, 84, 84,
+  84, 84, 85, 85, 85, 85, 85, 85, 85, 85, 86, 87, 92, 96, 100, 103,
+  109, 114, 123, 131, 140, 150, 159, 168, 173, 191, 185, 192, 175, 96, 37, 38,
+  36, 39, 37, 29, 25, 35, 47, 43, 30, 37, 52, 164, 171, 175, 157, 150,
+  132, 116, 98, 86, 76, 69, 63, 61, 58, 59, 60, 62, 65, 68, 71, 74,
+  76, 79, 80, 82, 82, 82, 82, 83, 82, 82, 81, 81, 80, 78, 77, 76,
+  74, 73, 72, 70, 70, 70, 70, 70, 72, 74, 74, 76, 77, 78, 79, 81,
+  81, 82, 83, 83, 83, 83, 83, 83, 84, 84, 84, 84, 84, 84, 84, 84,
+  83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 82, 82, 82,
+  82, 82, 82, 82, 82, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83, 83,
+  83, 83, 83, 83, 83, 83, 82, 82, 82, 82, 82, 82, 83, 83, 83, 83,
+  83, 83, 83, 83, 83, 82, 81, 80, 80, 80, 79, 79, 79, 79, 79, 80,
+  80, 82, 83, 84, 84, 83, 83, 82, 77, 76, 73, 67, 63, 56, 50, 43,
+  35, 29, 23, 17, 12, 8, 6, 4, 2, 1, 0, 0, 0, 0, 1, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 4, 6,
+  7, 10, 13, 16, 20, 24, 29, 33, 37, 42, 46, 51, 55, 58, 62, 67,
+  70, 72, 74, 77, 78, 79, 78, 78, 80, 82, 81, 80, 78, 76, 74, 71,
+  68, 67, 63, 59, 55, 51, 47, 43, 37, 33, 29, 27, 24, 21, 18, 16,
+  17, 18, 19, 20, 24, 28, 29, 34, 40, 44, 49, 52, 56, 59, 61, 64,
+  65, 67, 67, 67, 67, 69, 69, 69, 69, 68, 68, 68, 68, 68, 70, 71,
+  71, 73, 76, 81, 86, 90, 98, 105, 115, 125, 136, 149, 159, 170, 182, 187,
+  191, 191, 107, 27, 34, 26, 32, 32, 26, 28, 36, 37, 39, 36, 45, 35,
+  136, 180, 174, 166, 155, 135, 123, 107, 89, 75, 66, 59, 54, 50, 47, 47,
+  48, 50, 52, 55, 57, 59, 61, 63, 65, 66, 66, 66, 66, 66, 67, 66,
+  66, 64, 63, 62, 61, 60, 59, 57, 56, 55, 54, 54, 54, 55, 57, 58,
+  59, 60, 60, 62, 63, 64, 66, 66, 66, 66, 67, 67, 66, 66, 66, 66,
+  66, 66, 66, 66, 66, 66, 67, 67, 67, 67, 67, 67, 67, 67, 67, 67,
+  67, 66, 66, 66, 66, 65, 65, 66, 66, 66, 66, 66, 66, 66, 66, 66,
+  66, 66, 66, 66, 66, 66, 67, 66, 66, 66, 66, 66, 66, 66, 65, 66,
+  66, 66, 66, 66, 66, 66, 67, 67, 67, 66, 66, 65, 65, 64, 64, 63,
+  63, 63, 63, 63, 64, 64, 65, 65, 66, 67, 67, 67, 66, 66, 61, 60,
+  57, 54, 49, 46, 40, 34, 28, 23, 19, 13, 9, 6, 4, 3, 1, 0,
+  0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 2, 3, 4, 6, 9, 12, 14, 17, 22, 25, 28, 32,
+  35, 38, 41, 44, 50, 53, 54, 58, 58, 60, 61, 63, 64, 64, 64, 65,
+  63, 63, 62, 61, 58, 56, 53, 52, 49, 45, 43, 40, 34, 32, 28, 25,
+  21, 18, 16, 15, 13, 12, 12, 12, 13, 15, 17, 19, 23, 26, 29, 33,
+  36, 40, 42, 44, 47, 49, 50, 52, 52, 53, 53, 53, 53, 53, 54, 53,
+  53, 53, 54, 54, 55, 55, 56, 60, 63, 68, 74, 80, 87, 96, 109, 122,
+  133, 145, 158, 170, 183, 192, 182, 132, 39, 32, 36, 35, 42, 34, 33, 35,
+  32, 34, 37, 36, 37, 102, 166, 182, 166, 153, 138, 125, 113, 100, 81, 68,
+  58, 51, 46, 42, 38, 37, 38, 39, 40, 43, 44, 46, 49, 49, 50, 50,
+  51, 51, 51, 51, 52, 51, 51, 51, 50, 49, 47, 47, 45, 45, 43, 42,
+  42, 42, 42, 42, 44, 45, 46, 46, 47, 48, 48, 50, 51, 51, 51, 51,
+  51, 51, 51, 51, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
+  51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
+  51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52,
+  51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 51, 52, 52, 53, 51, 52,
+  51, 51, 50, 50, 49, 49, 48, 49, 49, 49, 49, 49, 51, 51, 51, 53,
+  53, 53, 53, 53, 51, 50, 46, 43, 39, 34, 30, 26, 21, 18, 14, 10,
+  7, 4, 3, 2, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 4, 6, 9,
+  11, 13, 15, 18, 21, 24, 26, 28, 31, 33, 37, 40, 41, 44, 44, 47,
+  48, 49, 50, 50, 50, 49, 49, 49, 48, 47, 46, 44, 41, 39, 37, 35,
+  32, 28, 25, 24, 21, 18, 15, 12, 11, 9, 8, 7, 7, 7, 8, 10,
+  12, 14, 17, 19, 22, 25, 28, 30, 33, 35, 35, 37, 38, 40, 39, 40,
+  39, 40, 40, 40, 40, 41, 40, 40, 41, 41, 42, 42, 45, 48, 52, 56,
+  63, 70, 79, 90, 103, 116, 128, 141, 154, 166, 178, 177, 163, 54, 32, 25,
+  39, 39, 32, 39, 38, 33, 32, 35, 33, 36, 135, 163, 182, 173, 156, 143,
+  127, 112, 102, 90, 72, 60, 51, 41, 37, 35, 30, 29, 29, 31, 31, 34,
+  35, 36, 37, 38, 38, 39, 39, 40, 40, 40, 39, 39, 38, 38, 37, 35,
+  35, 34, 33, 33, 32, 31, 31, 31, 31, 31, 32, 33, 34, 34, 35, 37,
+  37, 38, 39, 39, 39, 39, 39, 39, 39, 39, 39, 40, 39, 40, 39, 40,
+  39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40,
+  39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40,
+  39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40, 39, 40,
+  39, 40, 40, 41, 40, 41, 39, 40, 39, 39, 37, 37, 37, 37, 37, 37,
+  37, 37, 38, 38, 40, 40, 40, 40, 40, 40, 38, 36, 34, 31, 28, 26,
+  22, 20, 17, 15, 11, 8, 5, 4, 2, 2, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 2, 2, 4, 6, 7, 9, 11, 13, 15, 17, 18, 20, 21, 23,
+  26, 27, 29, 32, 32, 34, 35, 37, 37, 37, 37, 37, 36, 36, 35, 34,
+  34, 32, 31, 29, 27, 25, 22, 20, 17, 17, 14, 11, 10, 7, 7, 6,
+  5, 4, 3, 5, 5, 6, 7, 8, 10, 12, 15, 17, 19, 21, 22, 25,
+  25, 25, 26, 28, 28, 30, 28, 29, 30, 29, 29, 29, 29, 30, 30, 30,
+  31, 31, 34, 37, 43, 46, 54, 62, 71, 82, 96, 109, 123, 137, 150, 160,
+  171, 165, 51, 42, 28, 33, 40, 29, 30, 23, 19, 28, 28, 28, 82, 161,
+  175, 176, 167, 154, 143, 132, 116, 100, 89, 79, 65, 53, 42, 34, 31, 29,
+  23, 21, 21, 21, 22, 24, 25, 25, 25, 26, 26, 27, 27, 28, 27, 28,
+  28, 28, 28, 28, 27, 25, 24, 24, 24, 24, 22, 22, 22, 22, 22, 22,
+  22, 24, 24, 25, 25, 26, 26, 27, 27, 28, 27, 28, 27, 28, 27, 28,
+  27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28,
+  27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28,
+  27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28,
+  27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 27, 28, 26, 26,
+  26, 26, 26, 26, 26, 27, 26, 27, 27, 28, 28, 28, 29, 29, 30, 29,
+  28, 26, 24, 23, 21, 19, 16, 14, 11, 9, 8, 5, 3, 3, 2, 2,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 3, 4, 5, 8, 10,
+  11, 13, 13, 14, 15, 17, 18, 19, 22, 22, 25, 25, 26, 27, 26, 26,
+  27, 26, 26, 26, 25, 25, 26, 25, 22, 21, 20, 19, 16, 14, 12, 11,
+  9, 8, 7, 5, 5, 4, 3, 3, 3, 3, 3, 5, 5, 6, 7, 9,
+  10, 12, 13, 15, 16, 17, 18, 19, 19, 20, 20, 20, 20, 20, 22, 21,
+  21, 21, 21, 22, 22, 22, 24, 24, 26, 31, 34, 39, 48, 55, 63, 75,
+  88, 103, 116, 130, 145, 154, 157, 87, 37, 31, 39, 23, 31, 32, 29, 31,
+  29, 44, 96, 150, 173, 173, 171, 166, 156, 146, 134, 120, 101, 88, 79, 70,
+  58, 46, 34, 26, 25, 24, 18, 16, 16, 16, 16, 16, 18, 18, 18, 18,
+  19, 19, 19, 20, 19, 19, 21, 21, 21, 21, 19, 19, 18, 18, 18, 17,
+  16, 16, 15, 16, 15, 15, 16, 16, 17, 17, 19, 19, 19, 19, 19, 19,
+  19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+  19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+  19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19,
+  19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 20,
+  20, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 19, 20, 21,
+  21, 21, 22, 22, 21, 21, 20, 19, 18, 17, 16, 14, 12, 10, 6, 6,
+  5, 3, 3, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 2, 2, 3, 3, 5, 6, 7, 7, 9, 10, 11, 11, 12, 14, 15,
+  16, 16, 18, 19, 18, 18, 17, 17, 17, 17, 16, 16, 17, 16, 15, 14,
+  13, 12, 10, 9, 7, 7, 6, 5, 4, 3, 3, 3, 2, 1, 1, 2,
+  2, 2, 3, 4, 5, 7, 8, 8, 8, 10, 11, 12, 11, 11, 12, 13,
+  13, 13, 13, 13, 14, 13, 14, 14, 14, 15, 15, 15, 15, 16, 19, 24,
+  27, 32, 40, 47, 56, 67, 80, 95, 109, 123, 137, 144, 122, 46, 41, 35,
+  55, 92, 84, 92, 111, 127, 157, 176, 175, 172, 174, 171, 164, 157, 145, 133,
+  120, 103, 89, 81, 68, 58, 48, 37, 25, 19, 17, 17, 14, 12, 12, 11,
+  11, 11, 12, 12, 12, 13, 12, 14, 14, 14, 14, 14, 14, 14, 13, 13,
+  13, 12, 12, 11, 10, 10, 10, 9, 9, 9, 8, 9, 9, 10, 10, 10,
+  12, 12, 12, 12, 14, 14, 14, 14, 14, 14, 13, 13, 13, 14, 13, 14,
+  13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14,
+  13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14,
+  13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 14,
+  13, 14, 13, 14, 13, 14, 13, 14, 13, 14, 13, 13, 11, 11, 11, 11,
+  11, 11, 11, 12, 13, 13, 13, 13, 14, 13, 13, 13, 13, 12, 10, 10,
+  9, 9, 6, 5, 4, 4, 3, 2, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 1, 0, 0, 0, 0, 1, 2, 1, 3, 3, 4, 4, 6,
+  6, 7, 6, 8, 9, 11, 11, 12, 12, 13, 11, 12, 12, 11, 12, 11,
+  11, 11, 11, 10, 9, 9, 8, 7, 6, 4, 3, 3, 3, 2, 2, 2,
+  2, 2, 0, 0, 0, 0, 0, 1, 1, 1, 2, 4, 5, 5, 5, 5,
+  6, 7, 7, 7, 7, 7, 7, 8, 8, 9, 9, 9, 9, 9, 9, 10,
+  9, 9, 10, 11, 14, 18, 22, 26, 33, 41, 53, 62, 75, 89, 102, 117,
+  130, 139, 136, 150, 152, 160, 163, 165, 178, 167, 177, 169, 175, 181, 176, 174,
+  169, 157, 149, 139, 125, 114, 103, 91, 78, 73, 60, 51, 39, 29, 20, 14,
+  13, 12, 9, 7, 6, 6, 5, 6, 6, 7, 7, 7, 7, 8, 8, 9,
+  9, 9, 9, 9, 9, 9, 8, 8, 6, 7, 6, 6, 5, 5, 5, 5,
+  4, 6, 5, 6, 5, 7, 6, 7, 6, 8, 8, 10, 8, 8, 8, 8,
+  8, 8, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9,
+  8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9,
+  8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9,
+  8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 9, 8, 8,
+  7, 7, 6, 6, 6, 6, 6, 7, 6, 7, 8, 8, 8, 8, 9, 9,
+  8, 8, 8, 7, 6, 6, 4, 4, 3, 1, 3, 3, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+  1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 2, 2, 3, 3, 4, 3, 5, 4, 4, 6, 8, 7, 8, 8, 9,
+  8, 8, 7, 7, 7, 7, 7, 6, 7, 7, 6, 5, 6, 5, 4, 2,
+  1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 2, 2, 2, 2, 3, 3, 4, 4, 4, 4, 4, 4, 4, 5,
+  6, 5, 5, 5, 5, 6, 6, 6, 7, 8, 10, 14, 17, 22, 29, 36,
+  46, 57, 69, 83, 95, 109, 122, 132, 138, 153, 149, 157, 157, 165, 170, 172,
+  170, 169, 170, 167, 159, 152, 145, 139, 133, 124, 112, 102, 91, 79, 67, 59,
+  53, 43, 29, 22, 16, 11, 10, 9, 4, 4, 2, 3, 2, 3, 2, 4,
+  3, 3, 3, 4, 4, 5, 5, 5, 5, 5, 6, 6, 6, 5, 4, 5,
+  4, 4, 4, 3, 3, 4, 3, 4, 3, 5, 4, 5, 4, 5, 4, 5,
+  4, 5, 4, 4, 4, 4, 4, 4, 4, 5, 4, 5, 4, 5, 4, 5,
+  4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5,
+  4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5,
+  4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5, 4, 5,
+  4, 5, 4, 5, 4, 5, 4, 4, 4, 4, 4, 4, 4, 5, 4, 5,
+  5, 5, 5, 6, 6, 6, 5, 5, 5, 4, 4, 4, 3, 2, 1, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 2, 0, 2,
+  3, 4, 3, 3, 4, 4, 4, 4, 3, 4, 3, 3, 3, 3, 3, 4,
+  2, 2, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 2, 1, 1,
+  0, 0, 0, 0, 1, 1, 2, 2, 1, 1, 1, 2, 2, 2, 3, 4,
+  5, 10, 13, 17, 24, 32, 39, 49, 62, 73, 85, 98, 110, 121, 130, 133,
+  149, 153, 154, 153, 156, 157, 157, 160, 152, 147, 149, 139, 125, 123, 111, 103,
+  96, 87, 77, 67, 59, 52, 43, 34, 22, 15, 11, 8, 5, 4, 3, 2,
+  1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 3, 2, 2, 2, 1, 2,
+  2, 2, 2, 2, 1, 1, 2, 2, 1, 1, 1, 1, 1, 1, 2, 2,
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1, 1, 1, 2, 2,
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1,
+  1, 1, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 1, 1, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0,
+  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 2, 3, 4, 6, 10, 15, 21, 26, 35, 44, 54, 65,
+  74, 86, 94, 105, 117, 122, 128, 133, 136, 137, 139, 140, 140, 137, 133, 130,
+  124, 118, 111, 106, 97, 90, 81, 73, 65, 56, 48, 41, 33, 28, 19, 14,
+  9, 7, 6, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 4, 7, 12,
+  17, 22, 31, 38, 48, 57, 66, 76, 84, 92, 102, 108, 112, 117, 120, 121,
+  122, 122, 119, 117, 115, 111, 106, 100, 95, 90, 82, 75, 67, 60, 54, 47,
+  37, 31, 26, 21, 16, 11, 8, 7, 5, 4, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 2, 3, 6, 9, 14, 19, 25, 32, 41, 48, 56, 64, 72, 80,
+  89, 93, 97, 101, 103, 105, 105, 106, 102, 100, 96, 93, 89, 84, 80, 75,
+  68, 61, 55, 49, 43, 38, 30, 24, 19, 15, 10, 8, 5, 4, 4, 2,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 4, 8, 12, 15, 21, 26,
+  34, 40, 48, 55, 61, 66, 75, 80, 83, 87, 88, 88, 88, 89, 86, 84,
+  81, 78, 75, 69, 65, 62, 54, 50, 44, 40, 35, 30, 24, 20, 13, 10,
+  6, 4, 3, 3, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2,
+  4, 6, 9, 12, 16, 21, 27, 34, 39, 46, 51, 55, 61, 63, 66, 68,
+  70, 71, 71, 71, 70, 68, 65, 62, 58, 54, 50, 47, 42, 39, 33, 29,
+  25, 21, 17, 14, 8, 6, 4, 2, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 2, 2, 2, 4, 5, 7, 9, 13, 16, 21, 25, 31, 36,
+  40, 43, 47, 49, 51, 54, 55, 56, 56, 56, 54, 53, 51, 48, 44, 41,
+  37, 35, 31, 28, 24, 21, 17, 14, 11, 8, 6, 4, 2, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 3, 4, 6,
+  10, 12, 15, 19, 22, 26, 29, 32, 35, 36, 39, 40, 41, 41, 41, 41,
+  41, 40, 37, 35, 33, 29, 27, 24, 21, 19, 17, 15, 12, 10, 6, 4,
+  3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+  1, 1, 1, 2, 3, 4, 7, 9, 10, 14, 16, 18, 21, 22, 23, 25,
+  27, 29, 29, 30, 32, 32, 29, 27, 25, 24, 21, 20, 17, 16, 13, 12,
+  11, 9, 6, 4, 3, 2, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 2, 4, 5, 6, 8,
+  11, 13, 14, 16, 17, 19, 19, 21, 21, 21, 21, 21, 20, 20, 18, 17,
+  14, 13, 11, 11, 8, 8, 7, 5, 4, 2, 2, 1, 0, 0, 0, 0,
+  0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 1,
+  1, 1, 2, 2, 3, 5, 6, 8, 9, 10, 11, 12, 13, 14, 15, 15,
+  15, 15, 14, 14, 12, 12, 9, 8, 6, 6, 5, 5, 4, 4, 2, 1,
+  1, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 1, 0, 0, 0, 0, 1, 1, 0, 0, 1, 2, 3, 4, 4, 5,
+  6, 7, 8, 9, 9, 9, 9, 9, 8, 8, 8, 6, 6, 4, 3, 3,
+  3, 3, 2, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1, 1,
+  1, 2, 2, 2, 3, 3, 3, 4, 5, 5, 5, 6, 6, 6, 6, 5,
+  5, 4, 3, 3, 2, 2, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 2, 2, 2, 2, 1, 1, 2, 2, 2, 2, 3, 3,
+  3, 4, 4, 4, 3, 2, 2, 2, 1, 1, 1, 1, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0,
+  0, 0, 1, 1, 2, 2, 2, 2, 2, 1, 1, 1, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 1, 1, 1,
+  0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2,
+  4, 4, 4, 4, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 2, 2,
+  2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2,
+  3, 3, 3, 3, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0,
+  0, 0, 0, 0, 2, 3, 3, 3, 1, 0, 0, 0, 0, 0, 2, 2,
+  0, 0, 0, 0, 0, 0, 0, 0, 2, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 2, 2, 2, 2, 2, 2,
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3,
+  2, 2, 2, 2, 2, 2, 2, 2, 3, 2, 2, 2, 2, 2, 0, 0,
+  0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2,
+  2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 2, 2, 4, 4,
+  4, 4, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 1, 1, 1, 2, 0, 2, 0, 2, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2,
+  2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2,
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+  2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,
+  2, 0, 0, 0, 0, 1, 2, 2, 2, 1, 1, 2, 2, 2, 2, 2,
+  2, 1, 1, 1, 1, 0, 1, 1, 1, 2, 2, 2, 2, 2, 2, 0,
+  2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 1, 0,
+  2, 0, 2, 0, 2, 0, 1, 0, 2, 0, 2, 0, 2, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 2, 2, 2, 2, 4, 2, 2, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2, 2, 2,
+  0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+  2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0,
+  1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 1, 0, 1, 0,
+  1, 0, 1, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  2, 1, 3, 3, 2, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0, 0,
+  0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 1, 1, 0, 0, 0, 1,
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1,
+  1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 1, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 1, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 0, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 2,
+  3, 2, 1, 1, 1, 1, 3, 3, 2, 2, 2, 2, 2, 2, 2, 2,
+  2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 1, 0, 0, 2, 2, 2, 2, 0, 0, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 2, 2, 2, 2, 2, 2,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2,
+  0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 2, 1,
+  2, 1, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 1, 0, 0, 0, 0, 0, 1, 2, 2, 4, 2, 1, 0, 0, 0,
+  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
+  1, 0, 1, 3, 3, 2, 3, 2, 3, 2, 2, 2, 1, 1, 3, 2,
+  2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 1,
+  1, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2,
+  0, 0, 1, 0, 1, 1, 2, 0, 1, 0, 0, 0, 1, 1, 1, 0,
+  2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+  2, 2, 2, 2, 0, 0, 0, 1, 0, 0, 1, 0, 1, 1, 2, 2,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 1, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  1, 0, 1, 0, 2, 1, 3, 1, 2, 0, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 2, 4,
+  5, 3, 2, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 0, 1, 2, 2, 3, 2,
+  1, 1, 1, 1, 1, 3, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0,
+  0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 1,
+  1, 2, 3, 3, 3, 3, 1, 0, 2, 1, 0, 1, 1, 2, 2, 2,
+  1, 1, 0, 1, 1, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0,
+  0, 0, 0, 0, 0, 0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 2, 3, 2, 1, 1, 1, 2, 1, 2, 0, 0, 0, 0, 0,
+  2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 2, 2, 2,
+  2, 2, 2, 0, 2, 0, 1, 0, 1, 1, 2, 1, 2, 3, 1, 1,
+  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 1, 1, 1, 2,
+  0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0,
+  0, 0, 1, 1, 1, 1, 1, 2, 2, 2, 3, 3, 3, 3, 3, 2,
+  2, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 1, 1, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 2, 2, 0, 1, 1, 2,
+  0, 0, 1, 1, 2, 2, 4, 4, 0, 1, 3, 2, 3, 2, 1, 2,
+  2, 2, 2, 2, 2, 2, 1, 0, 2, 0, 1, 1, 3, 2, 2, 2,
+  2, 2, 3, 3, 3, 3, 1, 1, 2, 1, 0, 1, 1, 1, 3, 2,
+  2, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 3, 1, 2, 1, 0,
+  1, 1, 3, 2, 0, 1, 2, 3, 3, 3, 2, 3, 2, 1, 0, 0,
+  1, 0, 0, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 2, 2,
+  2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 2, 2, 3, 3, 3, 3, 2, 0, 0,
+  0, 1, 0, 0, 2, 2, 5, 3, 2, 0, 2, 0, 1, 0, 1, 0,
+  1, 0, 1, 0, 1, 0, 1, 0, 2, 0, 2, 0, 2, 2, 2, 2,
+  4, 2, 3, 3, 3, 3, 3, 3, 2, 0, 2, 1, 2, 2, 4, 3,
+  1, 2, 2, 3, 2, 2, 2, 1, 3, 2, 1, 0, 1, 0, 0, 1,
+  2, 0, 1, 2, 2, 3, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+  2, 2, 2, 2, 2, 1, 0, 2, 2, 2, 2, 1, 1, 0, 1, 0,
+  1, 2, 1, 3, 3, 3, 2, 1, 1, 0, 0, 0, 0, 0, 0, 1,
+  0, 1, 3, 2, 2, 1, 2, 1, 1, 0, 0, 0, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 1,
+  3, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1, 4, 3, 1, 0,
+  2, 3, 2, 1, 2, 1, 2, 2, 2, 2, 2, 2, 1, 0, 1, 0,
+  0, 0, 1, 0, 1, 1, 1, 0, 3, 3, 3, 3, 1, 2, 0, 0,
+  0, 0, 0, 1, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1,
+  2, 2, 2, 2, 1, 0, 0, 0, 1, 2, 0, 0, 0, 2, 3, 2,
+  2, 2, 2, 1, 0, 0, 0, 0, 0, 1, 2, 2, 0, 2, 1, 0,
+  0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
+  0, 0, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 2,
+  2, 3, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 3, 4, 1, 1,
+  1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+  1, 1, 1, 1, 3, 2, 2, 2, 2, 2, 3, 2, 2, 2, 1, 1,
+  1, 2, 1, 3, 3, 2, 3, 3, 2, 2, 2, 2, 2, 2, 1, 2,
+  1, 0, 2, 1, 2, 3, 2, 2, 2, 3, 2, 3, 3, 2, 0, 0,
+  0, 0, 1, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 0, 2, 0, 3, 1, 3, 1, 3, 0, 1, 1, 2, 3,
+  3, 2, 2, 1, 1, 0, 1, 0, 2, 1, 3, 3, 2, 2, 1, 0,
+  0, 0, 0, 0, 0, 0, 1, 1, 2, 4, 2, 2, 1, 2, 1, 0,
+  0, 0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 2, 3, 1, 0, 2, 2, 1, 0, 1, 1, 0, 0, 0, 1,
+  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 0, 1, 2, 2, 1, 2, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 2,
+  2, 1, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 4, 3, 2, 1,
+  2, 1, 1, 0, 0, 0, 0, 0, 1, 0, 2, 2, 2, 2, 1, 2,
+  1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 2, 0,
+  2, 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  2, 1, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 3,
+  4, 3, 3, 1, 2, 1, 0, 0, 0, 1, 2, 2, 0, 0, 0, 0,
+  0, 0, 1, 1, 1, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 2, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 3, 3, 2, 1, 0, 3, 2, 1, 0, 0, 0,
+  2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 1,
+  2, 3, 1, 0, 0, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
+  1, 1, 0, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 0, 1, 0, 0, 0, 0,
+  0, 0, 0, 0, 4, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 1, 0, 0, 3, 3, 2, 0, 0, 0, 2, 2, 2, 2,
+  2, 2, 0, 0, 0, 1, 0, 0, 1, 3, 5, 4, 0, 0, 0, 0,
+  0, 2, 1, 0, 0, 0, 0, 0, 1, 1, 6, 4, 1, 0, 1, 1,
+  2, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 1, 2, 2, 1, 1,
+  1, 0, 0, 3, 3, 3, 2, 2, 4, 0, 0, 0, 3, 6, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0,
+  1, 1, 2, 3, 2, 0, 1, 2, 1, 3, 3, 3, 5, 2, 4, 3,
+  1, 0, 0, 2, 1, 1, 1, 1, 2, 0, 0, 0, 0, 2, 0, 0,
+  0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 3, 3, 2, 2,
+  1, 2, 1, 0, 0, 0, 0, 0, 0, 3, 6, 3, 0, 0, 2, 3,
+  2, 4, 3, 1, 0, 1, 3, 3, 3, 5, 5, 6, 2, 1, 1, 1,
+  1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0,
+  2, 1, 1, 1, 3, 2, 4, 3, 2, 1, 1, 0, 0, 0, 0, 0,
+  0, 0, 1, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 2, 3, 1, 0, 1, 1, 3, 1, 0, 1, 0, 2, 1,
+  3, 1, 4, 2, 3, 1, 3, 0, 2, 0, 1, 0, 1, 0, 1, 0,
+  1, 0, 2, 0, 3, 1, 3, 1, 3, 0, 1, 1, 2, 2, 1, 0,
+  0, 0, 0, 0, 1, 0, 0, 2, 3, 3, 4, 3, 5, 4, 2, 2,
+  2, 2, 1, 1, 2, 1, 1, 1, 2, 0, 0, 0, 2, 4, 2, 0,
+  0, 0, 2, 2, 2, 0, 2, 0, 0, 0, 1, 1, 0, 0, 0, 1,
+  4, 2, 2, 0, 1, 0, 0, 0, 0, 0, 4, 1, 0, 0, 0, 3,
+  8, 5, 2, 1, 2, 1, 0, 0, 1, 1, 1, 1, 1, 2, 1, 1,
+  2, 3, 4, 4, 4, 4, 3, 1, 1, 1, 4, 5, 5, 5, 6, 2,
+  0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+  1, 0, 0, 0, 0, 0, 1, 4, 7, 4, 3, 0, 2, 3, 5, 4,
+  4, 5, 6, 6, 5, 4, 2, 2, 5, 6, 0, 0, 3, 4, 3, 1,
+  0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+  1, 1, 2, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+  5, 3, 4, 1, 2, 4, 3, 3, 5, 6, 2, 0, 2, 4, 5, 5,
+  9, 7, 3, 2, 4, 4, 2, 1, 0, 1, 6, 6, 3, 1, 0, 0,
+  2, 4, 1, 0, 0, 2, 4, 4, 2, 1, 0, 1, 3, 2, 3, 1,
+  0, 0, 1, 1, 0, 0, 1, 2, 4, 3, 0, 1, 6, 9, 8, 7,
+  6, 3, 5, 2, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2, 1,
+  0, 0, 0, 1, 2, 2, 5, 7, 10, 14, 18, 14, 2, 0, 1, 2,
+  3, 3, 1, 1, 1, 3, 3, 4, 4, 2, 1, 2, 3, 5, 9, 8,
+  8, 6, 2, 0, 3, 1, 0, 0, 0, 1, 2, 2, 3, 2, 2, 1,
+  0, 1, 5, 5, 3, 4, 4, 2, 1, 2, 3, 4, 2, 2, 1, 1,
+  0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 1, 0, 0, 0, 0, 0, 0, 4, 4, 6, 2, 0, 0, 0, 0,
+  6, 5, 0, 0, 0, 0, 6, 6, 6, 1, 2, 0, 0, 0, 0, 2,
+  3, 6, 5, 3, 1, 2, 4, 4, 5, 3, 7, 8, 2, 1, 1, 0,
+  1, 5, 10, 11, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  5, 7, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 6, 11, 12, 7,
+  0, 0, 0, 2, 0, 7, 1, 7, 0, 9, 5, 6, 0, 3, 12, 8,
+  0, 0, 5, 8, 3, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
+  1, 0, 0, 0, 0, 0, 3, 4, 3, 4, 1, 0, 5, 0, 6, 9,
+  2, 0, 0, 0, 2, 5, 8, 7, 0, 0, 7, 1, 3, 0, 0, 0,
+  8, 22, 6, 0, 0, 0, 0, 5, 0, 0, 0, 0, 4, 3, 0, 0,
+  0, 0, 2, 1, 5, 2, 0, 0, 4, 0, 1, 0, 3, 0, 13, 0,
+  0, 0, 20, 30, 21, 19, 20, 13, 14, 4, 2, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 3, 0, 0, 0, 1, 0, 0, 4, 7, 15, 27, 36,
+  52, 23, 9, 0, 0, 4, 10, 7, 0, 0, 5, 2, 8, 6, 4, 3,
+  0, 0, 5, 5, 23, 17, 19, 16, 4, 0, 4, 3, 0, 0, 0, 4,
+  3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 4, 1, 0, 0,
+  4, 4, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 1, 2, 0, 0, 1, 0, 0, 0, 0, 3, 6,
+  8, 3, 0, 0, 0, 0, 9, 4, 0, 0, 0, 0, 5, 10, 2, 5,
+  15, 19, 18, 18, 21, 26, 32, 34, 38, 38, 35, 29, 27, 29, 24, 22,
+  21, 14, 3, 0, 0, 0, 0, 3, 8, 14, 0, 4, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 6, 8, 7, 3, 0, 0, 0, 0, 0, 0,
+  0, 2, 7, 11, 10, 6, 0, 1, 15, 27, 28, 18, 28, 21, 27, 28,
+  23, 24, 17, 21, 24, 15, 4, 0, 6, 8, 2, 0, 0, 0, 2, 1,
+  0, 0, 1, 1, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 0, 1, 2, 13, 0,
+  2, 0, 0, 14, 23, 22, 18, 12, 15, 15, 16, 19, 23, 23, 21, 20,
+  23, 24, 16, 16, 13, 2, 21, 0, 5, 5, 0, 0, 17, 15, 17, 15,
+  18, 21, 24, 21, 17, 13, 12, 16, 14, 17, 15, 18, 7, 11, 4, 1,
+  0, 0, 2, 1, 3, 3, 9, 22, 37, 16, 0, 0, 13, 21, 35, 29,
+  2, 0, 3, 0, 0, 0, 0, 0, 8, 16, 33, 39, 25, 33, 33, 39,
+  43, 43, 34, 22, 12, 7, 0, 0, 0, 0, 0, 2, 6, 11, 17, 19,
+  28, 43, 38, 46, 47, 35, 29, 33, 33, 14, 6, 0, 0, 0, 4, 0,
+  5, 0, 0, 0, 4, 7, 18, 18, 17, 17, 17, 15, 9, 9, 13, 17,
+  18, 16, 13, 8, 0, 1, 4, 5, 3, 3, 0, 0, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 0, 1, 1,
+  0, 0, 0, 0, 0, 0, 6, 4, 0, 0, 0, 4, 10, 12, 10, 2,
+  0, 0, 4, 5, 12, 17, 34, 45, 50, 40, 22, 10, 0, 0, 0, 0,
+  0, 6, 21, 34, 40, 54, 51, 31, 12, 4, 0, 0, 0, 0, 0, 5,
+  0, 0, 0, 0, 0, 2, 4, 4, 0, 0, 0, 0, 2, 4, 3, 1,
+  0, 0, 0, 3, 3, 4, 6, 5, 4, 2, 3, 1, 0, 3, 0, 12,
+  23, 28, 33, 26, 19, 22, 27, 36, 25, 11, 0, 0, 17, 3, 8, 6,
+  0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+  0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+  0, 0, 3, 4, 2, 0, 4, 13, 3, 22, 38, 57, 59, 58, 56, 53,
+  50, 53, 57, 61, 59, 59, 61, 60, 51, 51, 34, 34, 11, 6, 14, 0,
+  4, 23, 43, 54, 56, 58, 65, 65, 61, 56, 53, 53, 57, 63, 58, 59,
+  54, 37, 27, 7, 7, 4, 7, 6, 10, 9, 0, 12, 43, 0, 0, 3,
+  7, 0, 0, 0, 0, 42, 24, 0, 1, 2, 0, 0, 0, 12, 13, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 1,
+  0, 0, 0, 15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  10, 0, 0, 27, 21, 1, 8, 10, 4, 0, 32, 37, 49, 57, 59, 60,
+  60, 59, 58, 55, 57, 50, 44, 33, 26, 23, 6, 0, 6, 4, 4, 2,
+  0, 0, 4, 4, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 2, 2, 1, 2, 2, 0, 0, 1, 0, 0, 0, 2, 2, 0, 0,
+  0, 3, 8, 12, 15, 9, 0, 5, 25, 37, 27, 9, 0, 0, 0, 0,
+  0, 0, 0, 0, 2, 8, 5, 0, 0, 0, 0, 0, 0, 0, 15, 33,
+  27, 19, 9, 2, 0, 0, 0, 0, 0, 0, 2, 5, 8, 8, 3, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 4, 4, 8, 5, 0, 0,
+  0, 0, 7, 19, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 25, 5, 5, 3, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 4, 3, 8, 10, 0, 0, 4, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 9, 0, 0, 7, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 18, 7, 0, 5, 8, 9, 7,
+  5, 16, 0, 0, 10, 35, 35, 26, 25, 22, 0, 0, 34, 21, 10, 8,
+  0, 5, 1, 18, 25, 48, 2, 27, 25, 22, 36, 31, 22, 16, 11, 14,
+  17, 16, 4, 6, 32, 0, 0, 0, 1, 15, 43, 16, 0, 4, 27, 28,
+  28, 20, 16, 18, 31, 36, 43, 22, 0, 31, 27, 2, 3, 1, 12, 17,
+  22, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17,
+  12, 3, 4, 1, 1, 0, 0, 0, 5, 4, 0, 0, 0, 0, 0, 0,
+  2, 0, 0, 0, 0, 0, 2, 3, 1, 1, 2, 1, 0, 0, 1, 1,
+  0, 0, 0, 0, 4, 3, 0, 0, 15, 13, 4, 8, 24, 34, 24, 4,
+  0, 0, 4, 11, 15, 18, 19, 21, 21, 17, 13, 12, 14, 17, 19, 17,
+  8, 6, 7, 3, 0, 0, 6, 38, 29, 12, 0, 0, 0, 0, 0, 10,
+  3, 6, 12, 11, 7, 0, 0, 0, 0, 0, 0, 1, 0, 0, 3, 4,
+  1, 1, 9, 7, 0, 0, 0, 0, 0, 19, 19, 0, 2, 14, 13, 14,
+  9, 13, 20, 23, 14, 7, 3, 8, 34, 6, 1, 0, 0, 0, 1, 3,
+  3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+  2, 2, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 3,
+  0, 0, 0, 5, 5, 19, 0, 0, 6, 13, 8, 0, 0, 0, 0, 3,
+  3, 1, 7, 0, 0, 0, 0, 20, 5, 4, 5, 3, 6, 12, 12, 0,
+  0, 4, 8, 10, 6, 2, 0, 0, 2, 13, 0, 0, 0, 0, 30, 7,
+  2, 0, 0, 0, 2, 7, 28, 0, 0, 18, 41, 43, 33, 33, 38, 29,
+  28, 0, 0, 56, 16, 6, 4, 2, 4, 3, 12, 29, 42, 0, 13, 44,
+  36, 39, 36, 32, 30, 27, 25, 19, 4, 7, 34, 0, 1, 3, 2, 4,
+  18, 39, 0, 0, 15, 33, 35, 23, 19, 23, 44, 48, 38, 15, 0, 20,
+  19, 0, 10, 0, 0, 19, 52, 0, 0, 0, 5, 6, 9, 11, 12, 12,
+  9, 4, 0, 0, 0, 31, 19, 0, 0, 0, 0, 0, 0, 0, 6, 6,
+  1, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 1, 3, 2, 1, 0,
+  0, 0, 0, 0, 4, 2, 0, 0, 0, 0, 6, 7, 0, 0, 7, 14,
+  31, 36, 9, 0, 0, 4, 19, 27, 26, 28, 31, 37, 43, 45, 40, 34,
+  30, 26, 31, 36, 38, 32, 31, 23, 22, 30, 37, 26, 8, 0, 0, 22,
+  20, 10, 4, 14, 1, 8, 0, 2, 9, 12, 9, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 3, 0, 0, 0, 8, 6, 0, 0, 0, 0, 0, 10,
+  42, 19, 0, 26, 31, 29, 32, 34, 41, 45, 39, 27, 14, 18, 37, 5,
+  0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 1, 1, 2, 2, 1, 0, 0, 1, 0, 0, 0,
+  0, 0, 0, 0, 3, 2, 0, 0, 0, 0, 9, 24, 30, 0, 15, 31,
+  28, 26, 21, 21, 27, 30, 27, 26, 21, 9, 0, 0, 37, 12, 0, 0,
+  0, 0, 0, 20, 44, 0, 0, 21, 31, 34, 33, 28, 24, 22, 19, 17,
+  24, 8, 0, 46, 35, 7, 0, 0, 1, 0, 0, 16, 37, 0, 1, 31,
+  43, 48, 44, 40, 44, 47, 36, 21, 0, 11, 34, 5, 0, 0, 1, 0,
+  0, 13, 40, 0, 3, 27, 45, 47, 44, 38, 33, 33, 30, 22, 8, 11,
+  43, 3, 3, 0, 0, 0, 3, 23, 47, 0, 8, 35, 34, 36, 32, 33,
+  51, 51, 32, 7, 0, 13, 30, 0, 0, 7, 0, 14, 46, 0, 0, 22,
+  28, 30, 33, 34, 36, 37, 33, 31, 19, 0, 0, 34, 21, 1, 0, 0,
+  0, 0, 0, 0, 7, 7, 2, 0, 0, 0, 0, 0, 2, 2, 0, 0,
+  0, 1, 1, 3, 2, 1, 1, 1, 0, 0, 3, 4, 1, 0, 0, 0,
+  6, 10, 8, 5, 0, 18, 27, 0, 0, 0, 18, 24, 37, 35, 25, 28,
+  37, 42, 48, 45, 41, 35, 29, 30, 36, 44, 48, 48, 38, 40, 43, 35,
+  28, 32, 28, 11, 1, 0, 15, 55, 26, 0, 4, 0, 0, 0, 4, 8,
+  9, 4, 0, 0, 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 6, 7,
+  0, 0, 0, 0, 0, 7, 25, 45, 0, 25, 29, 35, 40, 43, 51, 52,
+  44, 30, 10, 11, 36, 2, 0, 0, 0, 0, 3, 5, 3, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 4, 2, 2, 0,
+  0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 2, 3, 0, 1, 0, 0,
+  0, 19, 44, 6, 2, 28, 36, 38, 39, 43, 46, 48, 44, 40, 31, 12,
+  0, 33, 34, 0, 0, 0, 0, 2, 9, 11, 28, 36, 0, 22, 38, 48,
+  46, 43, 36, 34, 40, 13, 11, 0, 47, 24, 7, 4, 1, 4, 7, 2,
+  0, 21, 36, 0, 11, 40, 46, 44, 48, 52, 50, 43, 33, 17, 7, 6,
+  35, 0, 7, 0, 0, 4, 0, 0, 24, 11, 0, 39, 37, 40, 43, 43,
+  40, 36, 30, 18, 1, 4, 43, 0, 1, 0, 0, 4, 4, 25, 36, 0,
+  0, 22, 39, 39, 45, 45, 51, 46, 34, 6, 0, 22, 28, 0, 1, 0,
+  0, 20, 48, 0, 3, 31, 38, 41, 43, 42, 43, 48, 51, 48, 34, 4,
+  0, 34, 17, 1, 0, 0, 0, 0, 0, 0, 7, 6, 2, 0, 0, 0,
+  0, 0, 2, 2, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0,
+  2, 3, 0, 0, 0, 2, 5, 9, 14, 17, 30, 0, 0, 0, 10, 29,
+  39, 42, 45, 43, 33, 29, 30, 32, 36, 34, 25, 16, 12, 17, 26, 31,
+  38, 43, 45, 37, 44, 48, 40, 36, 37, 33, 37, 18, 0, 0, 42, 28,
+  10, 0, 0, 0, 1, 6, 7, 5, 0, 0, 0, 0, 0, 2, 3, 3,
+  2, 0, 0, 0, 6, 8, 0, 0, 0, 1, 3, 8, 13, 44, 0, 9,
+  23, 42, 46, 49, 55, 51, 40, 25, 8, 13, 35, 0, 0, 0, 0, 0,
+  5, 7, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2,
+  2, 4, 3, 3, 4, 2, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+  2, 3, 4, 0, 0, 0, 0, 13, 26, 34, 0, 22, 37, 47, 52, 56,
+  58, 58, 52, 46, 36, 0, 0, 72, 10, 0, 0, 0, 1, 4, 9, 7,
+  22, 58, 0, 22, 39, 50, 55, 51, 45, 38, 22, 16, 0, 37, 37, 6,
+  7, 0, 2, 3, 7, 12, 0, 16, 26, 0, 20, 38, 41, 46, 56, 59,
+  55, 49, 37, 21, 14, 0, 39, 0, 2, 0, 0, 0, 0, 0, 1, 33,
+  0, 23, 30, 37, 45, 48, 45, 41, 33, 19, 4, 5, 45, 1, 2, 0,
+  0, 3, 4, 11, 45, 8, 0, 16, 42, 42, 49, 54, 54, 45, 35, 1,
+  0, 32, 28, 4, 0, 0, 0, 14, 44, 0, 5, 35, 44, 48, 47, 49,
+  51, 55, 57, 49, 31, 3, 0, 33, 14, 1, 0, 0, 0, 0, 0, 0,
+  5, 6, 3, 1, 0, 0, 0, 0, 2, 2, 0, 1, 0, 0, 0, 3,
+  2, 2, 0, 0, 0, 0, 1, 0, 2, 0, 5, 7, 1, 7, 13, 41,
+  16, 0, 0, 23, 27, 42, 53, 48, 47, 52, 25, 24, 25, 27, 20, 11,
+  0, 0, 0, 0, 4, 19, 26, 20, 26, 47, 48, 57, 48, 50, 40, 34,
+  33, 28, 22, 0, 0, 50, 15, 5, 0, 0, 0, 0, 6, 3, 2, 0,
+  0, 0, 2, 3, 4, 2, 1, 0, 0, 0, 6, 7, 4, 0, 2, 14,
+  10, 14, 8, 40, 9, 4, 21, 39, 41, 49, 52, 43, 34, 20, 2, 7,
+  33, 1, 0, 0, 0, 1, 3, 6, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 1, 2, 3, 4, 4, 3, 2, 0, 0, 0, 0,
+  2, 0, 0, 0, 0, 0, 2, 2, 4, 0, 0, 0, 0, 2, 12, 48,
+  0, 17, 29, 42, 51, 61, 66, 58, 55, 47, 36, 4, 0, 62, 21, 0,
+  0, 2, 11, 22, 2, 7, 34, 5, 0, 24, 38, 42, 54, 53, 40, 25,
+  18, 0, 14, 28, 7, 0, 0, 0, 0, 0, 10, 11, 1, 13, 27, 0,
+  18, 41, 39, 43, 62, 60, 51, 51, 38, 18, 35, 0, 45, 3, 5, 1,
+  2, 0, 3, 1, 4, 42, 0, 19, 29, 38, 45, 53, 50, 40, 36, 22,
+  4, 9, 39, 4, 0, 0, 0, 1, 5, 16, 32, 18, 0, 19, 38, 47,
+  54, 62, 54, 42, 31, 13, 0, 40, 30, 8, 0, 0, 0, 12, 46, 0,
+  2, 34, 37, 40, 48, 55, 53, 50, 47, 40, 24, 0, 0, 27, 9, 0,
+  0, 0, 0, 0, 0, 0, 4, 5, 2, 1, 0, 0, 1, 1, 2, 2,
+  0, 2, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3,
+  2, 0, 0, 12, 43, 0, 1, 15, 30, 39, 41, 50, 55, 53, 53, 35,
+  23, 16, 0, 0, 0, 3, 36, 31, 41, 40, 10, 0, 0, 0, 29, 36,
+  45, 63, 66, 59, 50, 43, 46, 35, 37, 27, 7, 0, 34, 14, 0, 0,
+  0, 0, 5, 2, 4, 2, 0, 0, 2, 2, 3, 1, 0, 0, 0, 0,
+  10, 8, 3, 3, 7, 12, 10, 13, 0, 34, 6, 6, 24, 34, 43, 51,
+  48, 40, 31, 17, 2, 6, 34, 1, 0, 0, 0, 1, 2, 3, 2, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 4, 5, 5,
+  3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 2, 2,
+  2, 1, 1, 2, 3, 39, 0, 15, 27, 42, 50, 58, 62, 54, 52, 44,
+  35, 6, 0, 61, 21, 0, 0, 0, 19, 10, 4, 20, 47, 0, 6, 29,
+  34, 46, 42, 45, 30, 13, 0, 22, 29, 6, 0, 0, 0, 0, 0, 0,
+  6, 0, 1, 20, 36, 0, 11, 35, 46, 49, 42, 51, 57, 45, 35, 29,
+  9, 0, 48, 7, 0, 7, 5, 4, 4, 2, 4, 40, 0, 16, 27, 38,
+  47, 53, 52, 42, 38, 24, 4, 9, 38, 4, 0, 0, 0, 2, 2, 11,
+  25, 13, 0, 22, 38, 49, 55, 62, 54, 44, 31, 13, 0, 39, 29, 1,
+  0, 0, 0, 9, 42, 0, 2, 36, 37, 40, 48, 53, 50, 46, 42, 32,
+  33, 0, 10, 21, 10, 0, 0, 0, 0, 0, 0, 0, 2, 4, 2, 1,
+  0, 0, 1, 1, 1, 0, 1, 2, 1, 0, 2, 2, 0, 0, 0, 0,
+  0, 0, 1, 5, 8, 8, 0, 0, 1, 21, 26, 0, 13, 35, 43, 40,
+  51, 56, 47, 48, 44, 38, 18, 3, 0, 7, 44, 35, 31, 39, 32, 20,
+  24, 34, 9, 0, 4, 28, 45, 62, 59, 74, 76, 57, 47, 54, 47, 39,
+  19, 0, 0, 44, 17, 6, 0, 0, 4, 1, 5, 7, 2, 1, 0, 1,
+  2, 0, 0, 0, 1, 3, 3, 0, 0, 0, 0, 4, 13, 13, 0, 31,
+  0, 3, 25, 36, 49, 56, 53, 41, 33, 17, 2, 7, 37, 4, 0, 0,
+  1, 1, 1, 2, 2, 3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 2, 2, 2, 1, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+  0, 0, 1, 2, 2, 3, 5, 6, 6, 4, 0, 34, 0, 18, 28, 40,
+  49, 55, 55, 46, 43, 39, 35, 6, 0, 64, 22, 0, 0, 7, 3, 16,
+  13, 42, 0, 0, 21, 40, 49, 52, 38, 33, 24, 0, 0, 31, 26, 6,
+  5, 0, 0, 0, 0, 0, 0, 0, 1, 14, 36, 0, 0, 28, 39, 45,
+  43, 42, 47, 47, 32, 21, 0, 0, 30, 0, 1, 0, 11, 8, 4, 0,
+  4, 42, 0, 15, 26, 36, 45, 53, 52, 40, 36, 22, 3, 8, 36, 3,
+  0, 0, 0, 0, 0, 2, 19, 11, 0, 26, 38, 47, 54, 62, 54, 46,
+  33, 13, 0, 31, 34, 1, 0, 3, 0, 8, 36, 0, 0, 36, 39, 42,
+  49, 56, 54, 45, 37, 29, 21, 0, 10, 16, 1, 3, 2, 1, 2, 1,
+  0, 0, 1, 4, 2, 1, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0,
+  1, 2, 1, 0, 0, 0, 0, 0, 0, 5, 10, 6, 1, 0, 24, 7,
+  0, 21, 41, 49, 45, 47, 60, 54, 37, 36, 31, 18, 0, 0, 45, 29,
+  2, 0, 18, 13, 1, 0, 0, 10, 34, 57, 0, 9, 23, 42, 54, 75,
+  64, 72, 58, 58, 55, 50, 35, 17, 0, 10, 42, 10, 0, 0, 0, 0,
+  6, 4, 2, 1, 0, 0, 1, 0, 0, 0, 3, 0, 1, 4, 0, 0,
+  0, 4, 9, 7, 0, 29, 0, 0, 23, 39, 50, 59, 55, 43, 33, 20,
+  3, 8, 38, 3, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 6, 9, 10, 7,
+  0, 34, 0, 21, 28, 40, 47, 53, 54, 44, 39, 34, 33, 4, 0, 61,
+  22, 0, 0, 3, 4, 15, 36, 0, 0, 16, 37, 50, 48, 30, 32, 14,
+  0, 5, 37, 18, 4, 11, 11, 0, 0, 0, 0, 0, 0, 0, 2, 8,
+  23, 0, 0, 15, 35, 37, 33, 34, 38, 38, 39, 2, 0, 35, 15, 0,
+  0, 7, 10, 6, 0, 0, 7, 45, 0, 17, 27, 40, 49, 57, 54, 44,
+  38, 24, 3, 8, 34, 1, 0, 0, 1, 0, 0, 0, 18, 11, 0, 30,
+  38, 44, 50, 58, 54, 46, 33, 11, 0, 26, 24, 0, 0, 5, 0, 14,
+  37, 0, 0, 36, 40, 45, 54, 61, 56, 47, 34, 26, 16, 0, 1, 13,
+  0, 2, 2, 3, 4, 5, 0, 0, 1, 2, 2, 1, 0, 0, 1, 1,
+  0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 3,
+  1, 10, 8, 22, 37, 0, 0, 27, 36, 43, 49, 59, 60, 48, 34, 27,
+  18, 0, 0, 52, 24, 3, 2, 8, 7, 7, 1, 0, 0, 8, 28, 42,
+  41, 0, 5, 23, 47, 52, 52, 60, 71, 66, 66, 52, 41, 22, 19, 0,
+  30, 34, 13, 0, 0, 0, 4, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+  5, 1, 4, 4, 0, 0, 0, 0, 2, 0, 0, 33, 0, 0, 20, 38,
+  50, 61, 57, 45, 35, 23, 7, 9, 40, 4, 0, 0, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 3, 8, 12, 8, 0, 37, 0, 27, 30, 38, 47, 53, 58, 49,
+  39, 33, 33, 1, 0, 53, 22, 4, 0, 0, 1, 15, 27, 0, 0, 33,
+  42, 51, 44, 39, 26, 18, 0, 35, 33, 10, 7, 10, 8, 7, 4, 0,
+  0, 0, 0, 7, 9, 9, 5, 17, 0, 0, 4, 31, 19, 15, 25, 28,
+  21, 0, 0, 38, 3, 2, 5, 7, 3, 0, 0, 0, 11, 54, 0, 24,
+  36, 49, 56, 64, 61, 49, 42, 25, 4, 7, 34, 0, 0, 0, 1, 0,
+  0, 0, 16, 11, 0, 33, 36, 40, 45, 54, 52, 46, 35, 11, 0, 23,
+  20, 0, 2, 6, 2, 15, 28, 0, 0, 34, 40, 47, 58, 65, 60, 51,
+  37, 26, 29, 0, 7, 5, 10, 0, 4, 4, 6, 4, 0, 0, 2, 4,
+  2, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 2, 3, 1,
+  0, 0, 0, 0, 1, 2, 0, 10, 17, 48, 0, 0, 22, 31, 40, 51,
+  58, 61, 57, 50, 42, 19, 0, 0, 39, 32, 6, 5, 0, 0, 7, 0,
+  0, 0, 0, 4, 13, 21, 29, 41, 0, 0, 28, 36, 42, 52, 64, 75,
+  75, 53, 47, 40, 23, 4, 0, 53, 19, 3, 0, 0, 2, 2, 1, 0,
+  0, 0, 0, 0, 1, 3, 3, 10, 13, 11, 10, 12, 8, 3, 13, 9,
+  0, 31, 0, 0, 23, 39, 49, 58, 55, 46, 37, 23, 8, 9, 38, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 8, 5, 0, 38, 0, 30,
+  28, 36, 45, 55, 63, 54, 43, 35, 33, 1, 0, 51, 24, 5, 0, 5,
+  5, 32, 0, 4, 30, 39, 44, 52, 43, 36, 22, 0, 39, 18, 5, 1,
+  6, 0, 6, 12, 3, 1, 0, 0, 1, 5, 6, 10, 0, 16, 23, 0,
+  0, 0, 3, 0, 0, 0, 0, 14, 54, 31, 7, 0, 5, 0, 0, 0,
+  0, 0, 9, 49, 0, 25, 36, 47, 56, 62, 59, 48, 40, 24, 2, 6,
+  33, 0, 0, 0, 2, 2, 0, 0, 18, 13, 0, 35, 34, 37, 41, 51,
+  50, 46, 35, 13, 0, 23, 21, 0, 8, 7, 6, 15, 26, 0, 0, 30,
+  37, 44, 57, 65, 62, 51, 41, 31, 30, 0, 2, 4, 11, 0, 3, 4,
+  7, 6, 0, 0, 2, 3, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+  0, 0, 2, 2, 3, 2, 0, 0, 0, 0, 3, 4, 0, 4, 30, 31,
+  0, 8, 28, 50, 55, 64, 65, 63, 55, 48, 44, 10, 0, 35, 39, 13,
+  0, 0, 0, 7, 0, 0, 0, 0, 0, 0, 0, 0, 12, 33, 38, 0,
+  1, 31, 41, 53, 56, 60, 72, 61, 59, 40, 43, 9, 0, 27, 30, 9,
+  0, 0, 2, 3, 2, 0, 0, 0, 0, 3, 6, 8, 13, 18, 23, 31,
+  40, 36, 25, 25, 11, 18, 7, 33, 0, 1, 26, 43, 45, 52, 50, 42,
+  35, 23, 8, 8, 34, 0, 0, 0, 0, 2, 1, 1, 1, 1, 0, 0,
+  3, 3, 4, 2, 2, 0, 1, 0, 0, 1, 2, 2, 3, 1, 1, 0,
+  0, 0, 1, 0, 3, 3, 3, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+  2, 0, 0, 34, 0, 31, 26, 33, 45, 57, 70, 62, 51, 41, 37, 5,
+  0, 54, 23, 2, 0, 16, 45, 0, 0, 33, 36, 51, 53, 31, 39, 13,
+  0, 23, 30, 10, 0, 0, 0, 0, 0, 6, 5, 9, 0, 0, 0, 0,
+  0, 3, 6, 8, 15, 36, 27, 0, 0, 0, 0, 0, 24, 33, 26, 5,
+  5, 0, 0, 4, 0, 0, 3, 2, 1, 39, 0, 19, 27, 36, 45, 53,
+  50, 40, 33, 18, 0, 1, 31, 0, 0, 0, 4, 5, 2, 7, 21, 15,
+  0, 35, 34, 35, 39, 49, 48, 44, 35, 15, 0, 26, 14, 0, 7, 10,
+  14, 17, 32, 4, 0, 25, 31, 41, 54, 63, 56, 49, 43, 38, 27, 0,
+  7, 5, 5, 0, 3, 3, 7, 5, 0, 0, 3, 4, 2, 0, 0, 0,
+  0, 1, 1, 0, 0, 0, 1, 0, 2, 1, 3, 2, 0, 0, 0, 0,
+  3, 5, 0, 13, 44, 0, 0, 27, 33, 50, 51, 64, 65, 63, 54, 35,
+  25, 0, 0, 46, 18, 7, 0, 0, 7, 0, 2, 0, 0, 0, 0, 0,
+  0, 0, 4, 18, 39, 0, 0, 15, 36, 51, 57, 51, 66, 60, 57, 55,
+  35, 16, 0, 0, 44, 12, 0, 0, 5, 6, 3, 0, 0, 0, 7, 16,
+  29, 40, 32, 11, 0, 0, 0, 0, 0, 9, 17, 44, 44, 61, 13, 8,
+  27, 39, 43, 50, 49, 42, 36, 23, 4, 4, 33, 0, 0, 0, 0, 4,
+  7, 15, 30, 35, 35, 38, 41, 42, 37, 36, 37, 37, 37, 34, 33, 25,
+  11, 3, 4, 2, 0, 0, 0, 2, 4, 10, 25, 34, 36, 39, 41, 40,
+  38, 32, 21, 11, 4, 2, 0, 0, 0, 39, 0, 31, 27, 33, 43, 55,
+  72, 64, 54, 44, 41, 7, 0, 55, 23, 5, 11, 33, 0, 0, 20, 39,
+  47, 57, 35, 29, 22, 0, 34, 40, 11, 0, 0, 0, 0, 0, 0, 0,
+  7, 5, 1, 0, 0, 3, 3, 3, 32, 29, 33, 42, 64, 74, 79, 78,
+  74, 60, 46, 38, 15, 0, 6, 0, 0, 0, 0, 0, 7, 4, 0, 35,
+  0, 19, 26, 33, 42, 50, 49, 39, 31, 17, 0, 1, 32, 0, 0, 0,
+  5, 8, 5, 11, 23, 13, 0, 33, 34, 37, 41, 49, 46, 42, 35, 15,
+  0, 30, 24, 0, 5, 7, 10, 8, 25, 13, 0, 23, 30, 37, 52, 60,
+  55, 48, 44, 37, 38, 0, 32, 0, 4, 0, 3, 5, 6, 5, 0, 0,
+  3, 4, 3, 0, 0, 0, 0, 1, 3, 1, 0, 0, 0, 0, 2, 3,
+  0, 2, 0, 0, 0, 0, 4, 3, 0, 18, 44, 0, 7, 26, 37, 47,
+  59, 62, 62, 55, 53, 37, 20, 0, 31, 11, 11, 1, 0, 2, 4, 2,
+  1, 2, 0, 0, 0, 0, 0, 0, 4, 3, 20, 33, 0, 0, 23, 40,
+  48, 55, 65, 66, 60, 50, 39, 28, 14, 0, 27, 7, 6, 3, 7, 9,
+  6, 4, 2, 1, 21, 32, 44, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 74, 48, 15, 27, 38, 50, 56, 51, 43, 39, 23, 1, 0,
+  31, 0, 0, 1, 2, 11, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 28, 0, 7, 0, 0, 0, 5, 6, 7, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 21, 13, 0, 0, 0, 51,
+  0, 33, 34, 36, 39, 50, 66, 58, 52, 50, 46, 9, 0, 61, 13, 12,
+  30, 19, 0, 9, 42, 44, 50, 43, 26, 8, 0, 9, 44, 12, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 3, 5, 5, 0, 2, 12, 11, 0, 0,
+  0, 3, 17, 24, 24, 24, 19, 17, 17, 0, 0, 5, 20, 0, 0, 0,
+  0, 0, 1, 1, 3, 41, 0, 21, 29, 38, 47, 53, 52, 40, 34, 20,
+  0, 4, 33, 1, 0, 0, 1, 4, 4, 9, 19, 9, 0, 27, 36, 41,
+  46, 54, 48, 42, 31, 13, 0, 31, 31, 0, 1, 0, 4, 7, 27, 7,
+  0, 29, 35, 40, 51, 59, 57, 50, 42, 31, 30, 0, 32, 0, 0, 0,
+  7, 5, 2, 0, 0, 0, 5, 6, 3, 1, 0, 0, 0, 0, 3, 1,
+  0, 1, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2, 3, 0, 32,
+  7, 2, 19, 33, 43, 48, 58, 56, 50, 45, 42, 29, 5, 0, 33, 8,
+  7, 1, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 3, 2, 3, 3,
+  8, 28, 0, 0, 14, 36, 44, 53, 64, 66, 60, 50, 43, 37, 20, 0,
+  14, 23, 7, 0, 1, 12, 1, 5, 17, 29, 15, 0, 0, 3, 23, 26,
+  26, 26, 23, 24, 35, 37, 36, 11, 3, 0, 12, 40, 45, 38, 58, 60,
+  52, 46, 42, 24, 0, 0, 29, 0, 0, 3, 2, 10, 21, 22, 0, 6,
+  8, 22, 30, 24, 19, 18, 24, 27, 21, 13, 21, 0, 20, 13, 9, 2,
+  0, 0, 3, 8, 13, 27, 18, 0, 10, 24, 30, 24, 30, 3, 0, 32,
+  30, 15, 0, 0, 2, 51, 0, 33, 35, 37, 39, 51, 64, 60, 55, 43,
+  40, 11, 0, 45, 32, 21, 47, 0, 4, 41, 38, 55, 42, 18, 10, 0,
+  0, 57, 19, 0, 7, 0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 1,
+  1, 1, 10, 34, 17, 0, 0, 0, 5, 9, 8, 6, 3, 4, 14, 0,
+  0, 21, 25, 0, 0, 0, 0, 0, 0, 0, 4, 44, 0, 24, 31, 40,
+  49, 55, 54, 42, 36, 22, 1, 6, 34, 1, 0, 0, 0, 2, 2, 7,
+  18, 7, 0, 25, 36, 43, 50, 56, 50, 40, 31, 11, 0, 33, 33, 0,
+  0, 0, 1, 7, 25, 7, 0, 30, 34, 39, 50, 57, 58, 51, 42, 31,
+  27, 0, 30, 0, 0, 0, 6, 7, 0, 0, 0, 0, 4, 6, 3, 1,
+  1, 0, 2, 0, 1, 1, 1, 1, 1, 0, 2, 1, 1, 1, 1, 0,
+  0, 0, 3, 8, 14, 42, 0, 9, 29, 41, 45, 54, 62, 52, 46, 36,
+  33, 18, 0, 18, 35, 8, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 1, 2, 28, 40, 0, 7, 33, 40, 48, 60, 65,
+  61, 53, 46, 40, 31, 0, 0, 43, 11, 1, 0, 0, 0, 18, 50, 31,
+  0, 0, 3, 31, 30, 38, 47, 45, 38, 43, 46, 32, 34, 26, 16, 16,
+  34, 43, 47, 62, 64, 62, 51, 46, 44, 23, 0, 0, 25, 2, 0, 6,
+  11, 5, 12, 35, 52, 0, 7, 30, 27, 34, 23, 33, 27, 35, 26, 28,
+  29, 0, 0, 41, 17, 2, 0, 0, 0, 3, 7, 32, 56, 0, 7, 28,
+  34, 24, 29, 0, 0, 48, 22, 10, 0, 0, 3, 46, 0, 29, 32, 37,
+  41, 52, 66, 61, 50, 45, 33, 0, 0, 71, 36, 50, 0, 0, 21, 37,
+  49, 39, 19, 11, 0, 0, 51, 19, 9, 6, 7, 9, 0, 0, 0, 0,
+  0, 1, 2, 1, 0, 0, 0, 0, 6, 27, 49, 0, 0, 7, 19, 23,
+  21, 20, 19, 18, 20, 8, 0, 29, 28, 0, 0, 0, 0, 0, 0, 0,
+  3, 42, 0, 24, 31, 40, 49, 55, 54, 42, 36, 22, 1, 6, 34, 1,
+  0, 0, 0, 2, 2, 7, 18, 7, 0, 25, 36, 43, 50, 56, 50, 40,
+  31, 11, 0, 33, 32, 0, 0, 0, 1, 8, 20, 5, 0, 30, 35, 40,
+  51, 57, 59, 52, 42, 34, 26, 0, 31, 0, 0, 0, 6, 4, 1, 0,
+  0, 0, 4, 6, 3, 1, 0, 0, 2, 0, 2, 0, 0, 1, 2, 0,
+  1, 0, 1, 1, 1, 0, 0, 1, 5, 12, 25, 26, 0, 13, 37, 46,
+  45, 59, 64, 50, 45, 37, 28, 9, 0, 43, 25, 2, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 20, 52, 0,
+  2, 33, 39, 46, 58, 63, 62, 55, 47, 41, 34, 1, 0, 65, 14, 0,
+  2, 0, 6, 22, 0, 0, 10, 22, 37, 40, 52, 45, 43, 46, 48, 47,
+  46, 41, 37, 40, 18, 23, 37, 51, 58, 62, 67, 59, 49, 45, 43, 24,
+  0, 0, 29, 4, 0, 0, 6, 7, 12, 23, 54, 25, 0, 12, 31, 40,
+  46, 31, 34, 37, 35, 42, 28, 9, 0, 48, 22, 1, 4, 0, 0, 2,
+  6, 25, 44, 0, 0, 28, 37, 29, 24, 0, 11, 30, 15, 8, 0, 0,
+  2, 41, 0, 25, 29, 37, 43, 54, 67, 60, 54, 39, 28, 0, 0, 69,
+  68, 1, 0, 32, 30, 40, 52, 30, 22, 0, 0, 49, 22, 4, 0, 6,
+  9, 3, 0, 0, 0, 0, 0, 4, 3, 0, 0, 0, 0, 0, 7, 14,
+  49, 18, 0, 13, 26, 31, 32, 32, 29, 27, 29, 11, 0, 24, 27, 0,
+  0, 0, 0, 0, 0, 0, 3, 42, 0, 24, 31, 40, 49, 55, 54, 42,
+  36, 22, 1, 6, 34, 1, 0, 0, 0, 2, 2, 7, 18, 7, 0, 25,
+  36, 43, 50, 56, 50, 40, 31, 11, 0, 33, 31, 0, 0, 0, 3, 7,
+  13, 8, 0, 29, 35, 40, 51, 60, 57, 50, 41, 35, 22, 0, 31, 0,
+  0, 0, 5, 4, 0, 0, 0, 0, 4, 5, 2, 1, 0, 0, 2, 0,
+  1, 0, 0, 0, 0, 1, 2, 1, 0, 1, 1, 0, 0, 0, 3, 14,
+  30, 4, 0, 19, 36, 49, 53, 65, 61, 47, 42, 33, 24, 1, 0, 52,
+  23, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  3, 0, 1, 12, 37, 0, 1, 35, 39, 44, 54, 62, 63, 57, 49, 40,
+  30, 2, 0, 58, 15, 0, 0, 12, 26, 18, 0, 14, 37, 53, 50, 57,
+  48, 59, 53, 42, 38, 35, 32, 32, 32, 19, 27, 23, 35, 44, 63, 83,
+  71, 60, 49, 45, 44, 25, 0, 0, 28, 1, 4, 3, 0, 4, 13, 16,
+  9, 62, 0, 1, 25, 35, 54, 39, 44, 37, 52, 44, 40, 22, 0, 19,
+  28, 0, 8, 5, 0, 0, 9, 26, 52, 0, 0, 34, 33, 14, 0, 0,
+  46, 14, 10, 6, 0, 0, 0, 37, 0, 21, 29, 40, 45, 55, 66, 59,
+  46, 31, 21, 0, 0, 94, 53, 0, 16, 36, 38, 47, 45, 35, 24, 0,
+  48, 27, 14, 0, 7, 0, 0, 0, 4, 4, 0, 0, 0, 1, 3, 1,
+  0, 0, 0, 0, 2, 15, 34, 19, 0, 19, 31, 38, 43, 46, 42, 37,
+  27, 9, 0, 26, 31, 0, 0, 0, 0, 0, 0, 0, 3, 42, 0, 24,
+  31, 40, 49, 55, 54, 42, 36, 22, 1, 6, 34, 1, 0, 0, 0, 2,
+  2, 7, 18, 7, 0, 25, 36, 43, 50, 56, 50, 40, 31, 11, 0, 33,
+  30, 2, 0, 0, 1, 6, 13, 25, 0, 25, 32, 39, 50, 59, 56, 49,
+  39, 33, 17, 0, 29, 0, 0, 0, 4, 3, 1, 0, 0, 0, 3, 3,
+  2, 1, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0, 2, 0, 0, 0,
+  0, 0, 0, 0, 2, 16, 37, 0, 0, 24, 31, 51, 63, 63, 59, 47,
+  39, 31, 23, 0, 0, 54, 19, 3, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 3, 1, 4, 7, 19, 15, 0, 34, 36, 41,
+  51, 60, 61, 56, 51, 42, 28, 8, 0, 25, 17, 0, 5, 38, 34, 0,
+  0, 35, 55, 55, 52, 60, 63, 60, 43, 29, 24, 16, 1, 0, 0, 0,
+  1, 12, 15, 31, 58, 68, 70, 62, 49, 44, 43, 26, 0, 0, 29, 0,
+  3, 8, 1, 0, 2, 0, 0, 18, 39, 0, 12, 37, 36, 51, 50, 49,
+  57, 49, 46, 26, 5, 0, 42, 9, 6, 1, 0, 0, 7, 24, 49, 0,
+  2, 37, 37, 9, 0, 0, 34, 10, 3, 0, 2, 0, 0, 37, 0, 18,
+  28, 40, 47, 56, 67, 59, 40, 36, 26, 1, 0, 102, 1, 16, 20, 43,
+  45, 49, 45, 34, 17, 10, 72, 17, 6, 5, 0, 1, 0, 0, 4, 7,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 10, 23, 12, 0, 27,
+  36, 43, 50, 54, 50, 40, 32, 17, 0, 31, 32, 0, 0, 0, 0, 0,
+  0, 0, 3, 42, 0, 24, 31, 40, 49, 55, 54, 42, 36, 22, 1, 6,
+  34, 1, 0, 0, 0, 2, 2, 7, 18, 7, 0, 25, 36, 43, 50, 56,
+  50, 40, 31, 11, 0, 33, 30, 2, 0, 0, 0, 7, 17, 48, 0, 21,
+  29, 39, 50, 57, 54, 47, 36, 30, 14, 0, 29, 0, 0, 1, 1, 2,
+  0, 1, 0, 0, 3, 2, 2, 1, 0, 0, 1, 0, 0, 0, 0, 0,
+  0, 0, 2, 0, 1, 1, 0, 0, 0, 0, 2, 15, 42, 0, 0, 21,
+  31, 50, 61, 65, 61, 51, 41, 34, 26, 0, 0, 47, 16, 2, 0, 0,
+  0, 0, 1, 2, 2, 2, 0, 0, 0, 0, 0, 0, 1, 5, 0, 1,
+  6, 28, 0, 32, 37, 39, 48, 58, 60, 57, 52, 40, 28, 13, 0, 24,
+  17, 0, 23, 51, 0, 0, 23, 41, 42, 54, 55, 58, 64, 48, 41, 28,
+  0, 0, 0, 17, 22, 2, 0, 0, 14, 30, 49, 61, 63, 60, 50, 44,
+  43, 25, 3, 1, 36, 0, 0, 0, 0, 1, 2, 0, 0, 10, 51, 0,
+  6, 36, 28, 43, 50, 58, 57, 59, 42, 37, 21, 0, 22, 28, 11, 4,
+  5, 2, 7, 29, 37, 0, 22, 40, 32, 3, 0, 33, 12, 0, 0, 0,
+  4, 0, 0, 38, 0, 14, 28, 40, 48, 56, 67, 63, 55, 42, 38, 23,
+  0, 32, 18, 23, 37, 46, 48, 54, 50, 41, 28, 0, 5, 32, 18, 4,
+  0, 1, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+  0, 0, 16, 15, 0, 32, 38, 43, 52, 55, 50, 40, 30, 14, 0, 28,
+  30, 0, 3, 5, 2, 0, 0, 0, 3, 42, 0, 22, 31, 40, 49, 55,
+  54, 42, 36, 22, 1, 6, 34, 1, 0, 0, 0, 2, 2, 7, 18, 7,
+  0, 25, 36, 43, 50, 56, 50, 40, 31, 11, 0, 33, 30, 0, 0, 0,
+  2, 4, 14, 55, 0, 17, 29, 38, 49, 56, 54, 45, 35, 29, 12, 6,
+  29, 0, 0, 0, 1, 1, 2, 1, 0, 0, 2, 2, 2, 0, 0, 0,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  2, 16, 39, 0, 0, 11, 34, 49, 53, 70, 59, 55, 43, 37, 30, 0,
+  0, 34, 14, 3, 0, 0, 0, 1, 0, 0, 3, 2, 0, 0, 0, 0,
+  2, 1, 4, 9, 0, 0, 3, 33, 0, 33, 38, 39, 48, 57, 59, 56,
+  49, 40, 31, 1, 0, 37, 26, 3, 33, 8, 0, 20, 36, 38, 45, 51,
+  51, 54, 48, 37, 33, 5, 0, 25, 50, 28, 27, 49, 70, 0, 3, 33,
+  44, 52, 57, 57, 49, 40, 42, 26, 4, 1, 28, 5, 6, 0, 0, 0,
+  0, 0, 0, 0, 24, 31, 0, 24, 29, 39, 50, 51, 64, 57, 45, 44,
+  32, 0, 0, 36, 20, 2, 0, 4, 6, 39, 4, 9, 32, 41, 26, 0,
+  0, 51, 10, 0, 0, 5, 1, 6, 0, 37, 0, 15, 27, 40, 47, 56,
+  68, 67, 63, 51, 47, 44, 27, 15, 32, 41, 49, 45, 57, 52, 61, 54,
+  35, 4, 0, 43, 26, 3, 6, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+  0, 0, 0, 6, 0, 0, 3, 0, 10, 5, 0, 38, 39, 43, 53, 58,
+  52, 42, 35, 16, 0, 32, 34, 2, 2, 0, 2, 0, 0, 0, 3, 42,
+  0, 22, 31, 40, 49, 55, 54, 42, 36, 22, 1, 6, 34, 1, 0, 0,
+  0, 2, 2, 7, 18, 7, 0, 25, 36, 43, 50, 56, 50, 40, 31, 11,
+  0, 33, 29, 0, 0, 0, 4, 3, 3, 48, 0, 16, 28, 39, 50, 59,
+  55, 46, 35, 26, 9, 14, 30, 0, 0, 0, 0, 0, 4, 1, 0, 0,
+  2, 2, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  1, 1, 0, 0, 0, 0, 3, 18, 41, 0, 0, 19, 31, 45, 67, 64,
+  58, 52, 50, 32, 28, 0, 0, 41, 15, 2, 0, 0, 0, 0, 0, 0,
+  4, 3, 1, 0, 0, 0, 0, 2, 1, 8, 0, 0, 0, 32, 0, 29,
+  33, 36, 43, 53, 62, 59, 51, 44, 32, 16, 0, 1, 31, 17, 44, 0,
+  0, 28, 36, 42, 50, 52, 46, 41, 41, 27, 29, 0, 9, 35, 20, 7,
+  10, 20, 41, 15, 0, 29, 42, 47, 52, 55, 50, 41, 41, 24, 2, 1,
+  32, 0, 3, 1, 0, 0, 0, 0, 0, 0, 16, 50, 0, 5, 28, 33,
+  42, 53, 59, 54, 50, 45, 36, 8, 0, 51, 19, 1, 0, 7, 8, 46,
+  0, 32, 36, 40, 24, 0, 5, 27, 0, 0, 0, 6, 9, 7, 1, 36,
+  0, 13, 30, 42, 48, 53, 61, 69, 76, 61, 68, 63, 40, 31, 38, 43,
+  51, 64, 70, 66, 59, 53, 41, 21, 0, 0, 37, 11, 0, 0, 4, 3,
+  0, 0, 1, 0, 0, 0, 0, 0, 3, 4, 1, 0, 0, 2, 4, 4,
+  0, 40, 39, 42, 51, 54, 49, 41, 36, 14, 0, 32, 31, 3, 3, 0,
+  2, 0, 1, 0, 3, 42, 0, 21, 31, 40, 49, 55, 54, 42, 36, 22,
+  1, 6, 34, 1, 0, 0, 0, 2, 2, 7, 18, 7, 0, 25, 36, 43,
+  50, 56, 50, 40, 31, 11, 0, 33, 28, 0, 0, 0, 1, 5, 7, 44,
+  0, 16, 27, 36, 52, 60, 53, 47, 37, 24, 2, 11, 24, 0, 0, 0,
+  0, 0, 3, 3, 0, 0, 2, 2, 2, 0, 0, 0, 1, 0, 0, 0,
+  0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3, 19, 47, 0,
+  0, 17, 39, 48, 58, 67, 64, 50, 41, 36, 26, 0, 0, 39, 14, 1,
+  0, 0, 0, 0, 1, 0, 3, 2, 1, 0, 0, 0, 0, 1, 2, 2,
+  0, 0, 0, 29, 0, 32, 33, 36, 44, 53, 61, 58, 50, 43, 31, 14,
+  1, 0, 31, 17, 36, 0, 6, 32, 40, 48, 54, 55, 47, 39, 28, 27,
+  16, 0, 41, 7, 0, 0, 0, 4, 18, 32, 0, 33, 35, 43, 51, 57,
+  50, 41, 39, 25, 2, 1, 32, 0, 2, 1, 0, 0, 0, 0, 0, 1,
+  8, 35, 17, 0, 19, 42, 41, 48, 55, 56, 53, 45, 36, 16, 0, 4,
+  39, 3, 0, 9, 11, 15, 0, 40, 39, 26, 18, 0, 34, 19, 0, 0,
+  3, 9, 11, 8, 2, 37, 0, 15, 29, 42, 48, 54, 62, 69, 77, 83,
+  68, 66, 63, 39, 50, 50, 59, 71, 78, 73, 63, 55, 43, 34, 24, 0,
+  6, 31, 0, 0, 1, 5, 0, 0, 1, 0, 0, 0, 0, 3, 6, 7,
+  3, 0, 0, 1, 3, 1, 0, 40, 38, 40, 49, 54, 49, 39, 36, 14,
+  0, 32, 31, 3, 3, 0, 2, 0, 1, 0, 3, 42, 0, 21, 31, 40,
+  49, 55, 54, 42, 36, 22, 1, 6, 34, 1, 0, 0, 0, 2, 2, 7,
+  18, 7, 0, 25, 36, 43, 50, 56, 50, 40, 31, 11, 0, 33, 28, 0,
+  0, 0, 1, 3, 5, 42, 0, 8, 27, 37, 50, 59, 54, 46, 35, 26,
+  3, 6, 32, 1, 0, 0, 0, 0, 3, 4, 0, 0, 2, 2, 2, 0,
+  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0,
+  0, 0, 2, 21, 52, 0, 1, 26, 39, 48, 64, 65, 64, 50, 36, 36,
+  22, 0, 0, 36, 14, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0,
+  0, 0, 0, 1, 4, 0, 0, 0, 0, 31, 0, 32, 34, 37, 46, 55,
+  61, 57, 49, 44, 29, 19, 0, 10, 35, 23, 26, 0, 14, 33, 48, 56,
+  62, 63, 52, 39, 33, 14, 0, 29, 37, 0, 0, 0, 2, 2, 10, 45,
+  0, 20, 28, 42, 50, 56, 49, 41, 37, 24, 3, 1, 30, 0, 3, 3,
+  0, 0, 0, 0, 0, 8, 7, 24, 43, 0, 7, 39, 38, 43, 52, 58,
+  58, 49, 36, 25, 8, 0, 52, 7, 0, 12, 25, 0, 0, 34, 38, 21,
+  2, 0, 44, 1, 0, 0, 5, 11, 11, 9, 2, 38, 0, 17, 31, 41,
+  48, 53, 61, 67, 70, 78, 62, 59, 59, 46, 42, 50, 61, 69, 72, 70,
+  66, 56, 47, 41, 33, 15, 0, 44, 13, 0, 3, 0, 6, 5, 4, 1,
+  0, 0, 4, 6, 9, 7, 2, 0, 0, 3, 5, 3, 0, 37, 36, 38,
+  47, 52, 47, 39, 36, 13, 0, 32, 31, 3, 3, 0, 2, 0, 1, 0,
+  3, 42, 0, 21, 31, 40, 49, 55, 54, 42, 36, 22, 1, 6, 34, 1,
+  0, 0, 0, 2, 2, 7, 18, 7, 0, 25, 36, 43, 50, 56, 50, 40,
+  31, 11, 0, 33, 28, 0, 0, 0, 1, 3, 1, 38, 0, 7, 25, 37,
+  50, 61, 54, 41, 32, 26, 0, 0, 29, 0, 0, 0, 0, 0, 3, 6,
+  0, 0, 0, 1, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+  1, 0, 1, 0, 0, 0, 0, 0, 3, 20, 52, 0, 3, 33, 38, 48,
+  66, 64, 58, 52, 42, 32, 18, 0, 0, 43, 16, 1, 0, 0, 0, 0,
+  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 0, 0, 37,
+  0, 28, 31, 37, 47, 56, 60, 56, 48, 43, 35, 16, 0, 33, 31, 38,
+  6, 18, 25, 37, 50, 59, 65, 63, 52, 41, 32, 1, 0, 74, 19, 0,
+  0, 0, 1, 1, 0, 37, 0, 11, 27, 42, 51, 57, 51, 41, 37, 24,
+  1, 2, 28, 0, 4, 3, 1, 0, 0, 0, 4, 4, 12, 18, 35, 0,
+  0, 27, 33, 38, 49, 59, 64, 55, 37, 31, 27, 0, 0, 29, 7, 9,
+  55, 0, 0, 26, 28, 17, 0, 34, 26, 0, 0, 0, 7, 9, 7, 7,
+  2, 39, 0, 18, 33, 43, 49, 54, 60, 65, 63, 57, 55, 42, 36, 29,
+  32, 40, 52, 56, 62, 68, 69, 62, 50, 46, 45, 23, 3, 0, 32, 4,
+  0, 5, 7, 9, 3, 0, 2, 1, 3, 6, 8, 7, 1, 0, 0, 5,
+  8, 6, 0, 35, 34, 38, 47, 52, 47, 39, 34, 13, 0, 30, 31, 3,
+  1, 0, 2, 0, 1, 0, 3, 42, 0, 21, 31, 40, 49, 55, 54, 42,
+  36, 22, 1, 6, 34, 1, 0, 0, 0, 2, 2, 7, 18, 7, 0, 25,
+  36, 43, 50, 56, 50, 40, 31, 11, 0, 31, 26, 0, 0, 0, 3, 1,
+  0, 35, 0, 8, 23, 37, 51, 60, 53, 37, 31, 21, 0, 2, 25, 0,
+  0, 1, 0, 0, 4, 5, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 2, 18,
+  43, 0, 2, 28, 46, 50, 52, 66, 59, 53, 45, 30, 22, 0, 0, 56,
+  22, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  2, 1, 0, 0, 0, 45, 0, 26, 29, 37, 47, 56, 60, 55, 47, 42,
+  36, 0, 0, 18, 13, 41, 0, 23, 34, 42, 49, 58, 63, 59, 51, 43,
+  32, 3, 0, 61, 22, 0, 0, 0, 0, 0, 0, 30, 0, 10, 29, 43,
+  51, 58, 50, 41, 37, 22, 1, 2, 29, 1, 5, 4, 1, 0, 0, 0,
+  3, 0, 13, 14, 13, 19, 0, 19, 29, 35, 48, 62, 67, 59, 41, 35,
+  35, 0, 0, 52, 22, 25, 22, 0, 5, 21, 22, 0, 0, 60, 12, 0,
+  0, 2, 4, 5, 5, 2, 1, 40, 0, 23, 36, 44, 49, 54, 58, 61,
+  60, 51, 40, 23, 14, 32, 26, 33, 35, 38, 54, 68, 74, 69, 57, 49,
+  40, 37, 23, 0, 0, 33, 12, 7, 5, 4, 0, 0, 5, 4, 0, 0,
+  5, 2, 0, 0, 0, 6, 13, 8, 0, 31, 34, 38, 49, 54, 49, 41,
+  34, 11, 0, 30, 31, 3, 1, 0, 0, 0, 1, 0, 3, 42, 0, 23,
+  31, 40, 49, 55, 54, 42, 36, 22, 1, 6, 34, 1, 0, 0, 0, 2,
+  2, 7, 18, 7, 0, 25, 36, 43, 50, 56, 50, 40, 31, 11, 0, 31,
+  26, 0, 0, 0, 3, 1, 0, 33, 11, 5, 19, 37, 50, 54, 48, 36,
+  29, 14, 0, 31, 27, 2, 2, 0, 0, 0, 4, 6, 0, 0, 0, 0,
+  2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 2,
+  0, 0, 0, 0, 3, 16, 34, 0, 0, 26, 38, 46, 51, 61, 65, 54,
+  47, 35, 29, 3, 0, 59, 25, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 4, 0, 0, 5, 41, 0, 26, 29, 38,
+  48, 56, 61, 54, 45, 42, 40, 6, 0, 41, 17, 41, 0, 33, 40, 42,
+  44, 51, 56, 55, 48, 40, 33, 0, 0, 35, 15, 0, 0, 0, 3, 0,
+  0, 29, 11, 3, 21, 40, 50, 59, 52, 41, 37, 22, 1, 1, 30, 1,
+  4, 4, 0, 0, 1, 0, 0, 1, 5, 8, 4, 41, 0, 6, 23, 34,
+  46, 59, 67, 63, 46, 38, 27, 17, 0, 46, 40, 44, 0, 0, 12, 28,
+  26, 0, 0, 42, 9, 0, 1, 1, 1, 1, 0, 0, 0, 38, 0, 26,
+  37, 44, 49, 56, 58, 57, 50, 44, 28, 19, 0, 89, 0, 17, 22, 31,
+  48, 64, 75, 73, 62, 51, 42, 35, 37, 13, 0, 40, 31, 7, 5, 4,
+  0, 0, 1, 0, 0, 0, 2, 1, 0, 0, 0, 9, 17, 12, 0, 28,
+  32, 40, 49, 56, 51, 41, 34, 11, 0, 28, 29, 1, 0, 0, 0, 0,
+  1, 0, 3, 42, 0, 23, 31, 40, 49, 55, 54, 42, 36, 22, 1, 6,
+  34, 1, 0, 0, 0, 2, 2, 7, 18, 7, 0, 25, 36, 43, 50, 56,
+  50, 40, 31, 11, 0, 31, 26, 0, 0, 1, 3, 1, 0, 31, 7, 1,
+  22, 37, 48, 46, 42, 40, 33, 14, 0, 43, 26, 0, 2, 0, 0, 0,
+  4, 6, 0, 0, 0, 0, 2, 0, 0, 0, 1, 0, 1, 0, 0, 1,
+  0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 2, 12, 24, 5, 0, 24,
+  26, 40, 49, 55, 69, 61, 51, 46, 37, 12, 0, 39, 31, 4, 0, 0,
+  0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 3, 4, 5, 4, 0, 1,
+  12, 26, 0, 27, 30, 39, 49, 56, 61, 54, 43, 40, 28, 5, 0, 56,
+  15, 29, 0, 22, 36, 40, 36, 42, 50, 49, 44, 37, 21, 0, 0, 35,
+  13, 6, 0, 0, 10, 7, 0, 27, 9, 0, 12, 35, 49, 59, 52, 41,
+  37, 22, 0, 0, 27, 0, 3, 2, 0, 0, 0, 0, 0, 0, 0, 1,
+  2, 33, 24, 0, 17, 35, 46, 55, 66, 65, 54, 41, 33, 12, 0, 2,
+  54, 67, 0, 7, 26, 36, 29, 0, 30, 17, 7, 0, 0, 0, 0, 0,
+  0, 0, 0, 37, 0, 27, 39, 46, 51, 56, 57, 55, 45, 38, 27, 13,
+  0, 121, 9, 0, 16, 36, 49, 59, 75, 78, 63, 50, 49, 44, 33, 25,
+  0, 0, 43, 5, 7, 6, 2, 0, 0, 0, 0, 6, 4, 0, 0, 0,
+  1, 11, 22, 15, 0, 26, 32, 40, 51, 58, 55, 43, 34, 9, 0, 28,
+  29, 1, 0, 0, 0, 0, 1, 0, 3, 42, 0, 23, 31, 40, 49, 55,
+  54, 42, 36, 22, 1, 6, 34, 1, 0, 0, 0, 2, 2, 7, 18, 7,
+  0, 25, 36, 43, 50, 56, 50, 40, 31, 11, 0, 31, 26, 0, 0, 1,
+  3, 1, 0, 31, 3, 1, 23, 31, 42, 39, 34, 33, 32, 16, 0, 37,
+  25, 0, 5, 2, 0, 0, 5, 7, 0, 0, 0, 0, 2, 0, 0, 0,
+  1, 0, 1, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,
+  3, 8, 18, 24, 0, 15, 30, 39, 32, 55, 64, 67, 56, 51, 40, 23,
+  0, 17, 39, 7, 4, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+  3, 6, 3, 0, 0, 1, 24, 18, 0, 29, 32, 40, 48, 57, 62, 57,
+  45, 38, 31, 0, 0, 48, 15, 40, 0, 20, 32, 36, 36, 43, 47, 45,
+  39, 35, 27, 0, 11, 25, 12, 1, 5, 0, 5, 11, 0, 30, 1, 0,
+  16, 30, 45, 56, 50, 43, 39, 24, 0, 1, 28, 0, 1, 0, 0, 1,
+  2, 0, 0, 0, 0, 3, 3, 17, 63, 0, 8, 35, 46, 55, 64, 66,
+  57, 43, 31, 22, 15, 0, 74, 40, 0, 26, 38, 29, 5, 0, 42, 11,
+  4, 0, 0, 0, 0, 0, 0, 0, 0, 36, 0, 24, 38, 48, 52, 58,
+  56, 54, 50, 40, 26, 0, 0, 87, 62, 0, 7, 40, 47, 54, 68, 75,
+  65, 58, 60, 46, 39, 28, 17, 0, 0, 29, 11, 3, 1, 0, 0, 0,
+  0, 5, 2, 0, 0, 0, 0, 10, 24, 16, 0, 24, 32, 42, 51, 58,
+  56, 46, 36, 11, 0, 30, 29, 3, 1, 0, 0, 0, 0, 0, 2, 42,
+  0, 23, 33, 42, 47, 53, 52, 42, 34, 20, 2, 7, 36, 3, 0, 0,
+  0, 2, 2, 7, 18, 7, 0, 25, 38, 47, 50, 58, 50, 42, 31, 11,
+  0, 30, 28, 0, 0, 1, 3, 1, 0, 26, 0, 0, 10, 7, 17, 17,
+  13, 7, 8, 0, 0, 22, 28, 1, 3, 0, 0, 0, 9, 9, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 2, 0,
+  2, 0, 0, 0, 0, 0, 2, 8, 7, 46, 0, 13, 30, 26, 32, 41,
+  67, 70, 60, 48, 40, 30, 17, 0, 47, 20, 2, 5, 5, 0, 4, 0,
+  3, 4, 2, 0, 0, 0, 4, 2, 0, 0, 0, 8, 39, 1, 0, 31,
+  40, 38, 47, 58, 55, 61, 48, 36, 25, 0, 8, 40, 19, 44, 0, 24,
+  24, 30, 48, 56, 53, 44, 38, 33, 30, 0, 14, 22, 7, 7, 1, 3,
+  1, 1, 0, 35, 1, 0, 23, 34, 38, 46, 50, 47, 42, 27, 2, 3,
+  34, 5, 0, 0, 3, 4, 5, 3, 0, 0, 2, 6, 0, 14, 27, 0,
+  0, 24, 43, 56, 58, 70, 54, 54, 41, 40, 24, 7, 47, 31, 15, 34,
+  34, 16, 0, 20, 32, 8, 0, 0, 0, 0, 0, 0, 0, 0, 0, 37,
+  0, 19, 37, 51, 54, 57, 58, 48, 49, 37, 18, 0, 0, 76, 47, 13,
+  0, 30, 32, 41, 58, 61, 54, 65, 60, 61, 45, 31, 26, 0, 0, 37,
+  17, 4, 0, 0, 0, 0, 9, 3, 0, 0, 0, 0, 0, 7, 23, 13,
+  0, 22, 34, 42, 47, 56, 58, 50, 39, 11, 0, 32, 32, 7, 8, 0,
+  0, 0, 0, 0, 3, 41, 0, 24, 35, 42, 43, 50, 50, 40, 33, 18,
+  2, 9, 42, 6, 0, 0, 1, 3, 0, 5, 19, 7, 0, 21, 41, 51,
+  54, 58, 52, 44, 33, 11, 0, 28, 30, 3, 1, 1, 5, 3, 0, 17,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 9, 13, 0, 2, 0,
+  6, 9, 12, 7, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 0, 3, 7, 31,
+  14, 4, 18, 29, 35, 46, 64, 67, 61, 51, 43, 36, 26, 0, 5, 28,
+  12, 7, 0, 3, 2, 3, 3, 3, 1, 0, 1, 1, 3, 0, 0, 2,
+  0, 19, 55, 0, 8, 29, 40, 47, 52, 56, 60, 63, 45, 28, 9, 0,
+  35, 27, 10, 44, 0, 19, 23, 31, 53, 61, 55, 47, 42, 39, 32, 0,
+  0, 29, 6, 9, 7, 5, 0, 0, 0, 35, 0, 0, 26, 36, 38, 44,
+  50, 49, 42, 27, 2, 5, 32, 3, 0, 0, 2, 4, 4, 1, 0, 0,
+  1, 6, 0, 2, 16, 25, 0, 16, 35, 42, 60, 55, 59, 62, 57, 47,
+  44, 21, 15, 10, 29, 49, 31, 7, 0, 38, 28, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 40, 0, 18, 37, 51, 56, 57, 58, 48, 47, 36,
+  24, 0, 0, 58, 41, 42, 0, 7, 32, 39, 39, 44, 61, 61, 71, 60,
+  49, 43, 33, 21, 0, 0, 39, 10, 3, 1, 0, 1, 3, 3, 0, 0,
+  0, 0, 0, 6, 22, 12, 0, 22, 34, 42, 47, 54, 56, 48, 35, 9,
+  0, 34, 34, 8, 8, 0, 0, 0, 0, 1, 3, 41, 0, 24, 35, 44,
+  45, 50, 50, 40, 31, 17, 1, 9, 42, 6, 0, 0, 0, 1, 0, 5,
+  18, 6, 0, 21, 43, 53, 54, 58, 54, 46, 37, 15, 0, 28, 30, 3,
+  1, 3, 5, 3, 0, 8, 3, 16, 26, 55, 41, 34, 54, 47, 30, 26,
+  6, 22, 0, 0, 0, 6, 4, 7, 10, 7, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 16, 38, 0, 12, 31, 44, 60, 60, 60, 63, 56,
+  49, 41, 32, 2, 0, 47, 18, 0, 1, 0, 5, 12, 1, 0, 0, 4,
+  9, 5, 0, 0, 6, 4, 6, 15, 40, 0, 12, 41, 42, 54, 57, 53,
+  52, 35, 20, 6, 0, 0, 31, 1, 4, 46, 0, 9, 27, 40, 50, 57,
+  54, 51, 50, 43, 34, 0, 0, 48, 9, 0, 4, 8, 5, 3, 0, 33,
+  0, 0, 25, 38, 43, 51, 54, 49, 41, 25, 2, 3, 29, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 2, 3, 1, 0, 5, 44, 0, 0, 14, 32,
+  50, 60, 66, 64, 69, 48, 47, 37, 20, 26, 33, 27, 29, 2, 0, 47,
+  18, 1, 0, 0, 0, 1, 7, 8, 6, 7, 4, 41, 0, 21, 37, 49,
+  54, 59, 61, 51, 49, 39, 36, 12, 0, 59, 34, 37, 38, 0, 6, 33,
+  48, 44, 53, 60, 73, 69, 60, 56, 42, 33, 22, 0, 17, 45, 17, 0,
+  8, 0, 0, 0, 1, 4, 0, 3, 6, 10, 24, 12, 0, 21, 34, 42,
+  47, 52, 51, 39, 28, 6, 0, 34, 32, 6, 2, 0, 0, 0, 3, 3,
+  4, 41, 0, 22, 33, 44, 49, 55, 52, 40, 33, 17, 0, 2, 38, 5,
+  0, 0, 0, 0, 0, 7, 18, 6, 0, 23, 41, 51, 52, 58, 54, 47,
+  40, 18, 0, 31, 26, 0, 3, 7, 5, 1, 0, 0, 9, 27, 45, 50,
+  68, 75, 79, 71, 68, 48, 25, 5, 0, 0, 0, 0, 0, 0, 3, 5,
+  0, 0, 2, 3, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 7, 35, 0, 0, 31,
+  47, 54, 52, 58, 67, 65, 55, 45, 35, 13, 0, 0, 28, 11, 0, 4,
+  14, 7, 0, 0, 0, 0, 8, 6, 0, 0, 7, 5, 17, 39, 2, 0,
+  25, 36, 48, 57, 66, 60, 51, 27, 19, 1, 0, 33, 16, 0, 0, 37,
+  0, 0, 23, 39, 48, 53, 56, 54, 52, 43, 26, 8, 0, 65, 16, 0,
+  14, 7, 5, 3, 0, 31, 0, 0, 21, 36, 49, 57, 56, 49, 39, 24,
+  3, 5, 26, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0,
+  0, 30, 31, 0, 9, 30, 39, 60, 63, 61, 73, 66, 52, 47, 37, 43,
+  32, 24, 21, 0, 18, 33, 8, 2, 0, 0, 0, 4, 10, 12, 11, 8,
+  5, 40, 0, 23, 35, 47, 52, 60, 67, 57, 48, 44, 42, 11, 0, 62,
+  24, 11, 46, 0, 0, 22, 33, 46, 55, 63, 72, 77, 67, 55, 56, 39,
+  37, 16, 0, 52, 27, 0, 4, 2, 0, 0, 2, 6, 1, 3, 5, 12,
+  22, 11, 0, 21, 34, 44, 53, 54, 47, 36, 26, 4, 0, 32, 32, 2,
+  0, 0, 0, 0, 5, 5, 6, 42, 0, 20, 31, 42, 52, 60, 54, 42,
+  36, 18, 0, 0, 38, 5, 0, 0, 0, 0, 2, 9, 16, 2, 0, 23,
+  38, 46, 46, 54, 50, 46, 38, 20, 0, 31, 24, 0, 0, 3, 7, 3,
+  0, 0, 1, 17, 40, 10, 0, 0, 0, 0, 0, 28, 39, 21, 0, 0,
+  0, 6, 0, 0, 0, 1, 0, 0, 3, 2, 0, 0, 0, 0, 0, 0,
+  1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+  0, 0, 11, 21, 0, 20, 42, 34, 40, 54, 75, 77, 65, 51, 38, 21,
+  0, 0, 20, 25, 12, 0, 0, 3, 0, 0, 0, 0, 0, 1, 0, 0,
+  0, 2, 19, 45, 0, 14, 29, 41, 37, 46, 62, 55, 46, 30, 25, 0,
+  0, 34, 1, 0, 1, 32, 33, 0, 9, 31, 44, 55, 60, 60, 52, 39,
+  33, 3, 0, 30, 28, 10, 0, 8, 1, 1, 0, 31, 0, 0, 18, 36,
+  52, 62, 59, 49, 39, 24, 7, 10, 29, 0, 0, 0, 2, 0, 0, 0,
+  0, 0, 1, 0, 0, 4, 5, 20, 43, 0, 8, 27, 34, 40, 59, 64,
+  71, 77, 64, 56, 43, 41, 25, 20, 10, 0, 40, 15, 3, 0, 0, 1,
+  0, 1, 7, 12, 11, 8, 2, 37, 0, 25, 34, 44, 52, 62, 72, 62,
+  48, 47, 43, 1, 0, 53, 26, 13, 15, 31, 0, 4, 18, 43, 61, 71,
+  68, 72, 67, 54, 66, 49, 33, 25, 0, 0, 35, 7, 0, 0, 0, 0,
+  0, 1, 0, 0, 4, 9, 19, 8, 0, 22, 38, 49, 58, 60, 47, 36,
+  30, 7, 0, 28, 28, 0, 0, 0, 0, 0, 3, 5, 11, 48, 0, 22,
+  29, 42, 56, 66, 58, 46, 40, 24, 0, 2, 40, 8, 2, 0, 0, 1,
+  4, 9, 12, 0, 0, 23, 34, 38, 41, 49, 45, 40, 33, 15, 0, 30,
+  23, 0, 0, 0, 6, 9, 6, 11, 24, 54, 0, 0, 0, 10, 0, 6,
+  0, 0, 0, 63, 21, 7, 10, 6, 2, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 2, 1, 0, 2, 36, 9, 0, 23, 31, 33, 48,
+  73, 78, 69, 58, 46, 34, 20, 7, 0, 41, 25, 13, 0, 0, 0, 0,
+  0, 0, 0, 0, 2, 3, 3, 21, 40, 0, 0, 25, 42, 52, 47, 52,
+  64, 52, 45, 35, 14, 0, 22, 25, 3, 0, 0, 23, 42, 0, 3, 30,
+  41, 51, 61, 62, 52, 42, 32, 23, 2, 0, 50, 9, 16, 4, 0, 0,
+  0, 31, 0, 0, 19, 38, 52, 62, 57, 47, 35, 24, 9, 12, 33, 0,
+  1, 2, 5, 5, 0, 0, 0, 0, 0, 1, 0, 0, 5, 15, 28, 2,
+  0, 28, 32, 38, 45, 62, 65, 71, 68, 68, 48, 41, 31, 8, 0, 9,
+  36, 6, 0, 0, 6, 0, 0, 0, 5, 7, 7, 4, 0, 33, 0, 23,
+  30, 40, 51, 60, 72, 64, 55, 43, 37, 0, 0, 52, 23, 14, 15, 31,
+  1, 0, 13, 41, 52, 66, 64, 63, 77, 61, 58, 53, 42, 28, 26, 0,
+  5, 31, 4, 0, 2, 0, 0, 1, 0, 0, 1, 6, 15, 5, 0, 24,
+  39, 53, 62, 61, 47, 36, 33, 11, 0, 28, 23, 0, 0, 0, 0, 0,
+  2, 5, 11, 49, 0, 20, 27, 40, 56, 64, 58, 46, 42, 25, 0, 4,
+  38, 8, 4, 2, 1, 5, 7, 11, 14, 2, 0, 27, 34, 38, 41, 47,
+  43, 37, 31, 13, 0, 30, 27, 0, 0, 0, 6, 11, 7, 18, 47, 0,
+  0, 13, 34, 36, 37, 35, 18, 17, 0, 6, 35, 11, 5, 9, 7, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 3, 0, 0, 5, 19,
+  35, 0, 4, 32, 36, 42, 55, 58, 59, 60, 56, 54, 53, 32, 4, 0,
+  53, 33, 4, 0, 0, 0, 6, 7, 2, 0, 0, 3, 17, 43, 5, 0,
+  15, 43, 49, 52, 52, 49, 49, 36, 39, 22, 0, 0, 36, 7, 0, 0,
+  0, 17, 40, 0, 0, 30, 34, 41, 54, 60, 52, 47, 40, 32, 17, 0,
+  10, 43, 20, 7, 0, 0, 0, 35, 0, 0, 28, 43, 50, 55, 52, 41,
+  32, 22, 10, 14, 32, 0, 1, 2, 7, 8, 4, 0, 0, 0, 0, 3,
+  0, 0, 0, 5, 12, 34, 0, 27, 26, 38, 39, 52, 60, 70, 73, 66,
+  38, 30, 39, 18, 0, 39, 23, 0, 0, 0, 6, 0, 0, 0, 2, 3,
+  0, 0, 0, 28, 0, 21, 26, 36, 43, 55, 67, 60, 57, 39, 31, 0,
+  0, 63, 17, 0, 11, 25, 40, 0, 0, 33, 42, 50, 51, 56, 80, 74,
+  54, 52, 54, 41, 27, 6, 0, 37, 15, 3, 2, 7, 0, 0, 0, 0,
+  3, 4, 11, 4, 0, 28, 43, 53, 62, 61, 47, 36, 36, 14, 0, 24,
+  17, 0, 0, 0, 0, 0, 0, 2, 11, 48, 0, 17, 24, 36, 51, 59,
+  54, 42, 40, 25, 2, 6, 36, 5, 4, 4, 3, 8, 11, 16, 19, 7,
+  0, 34, 39, 42, 45, 51, 45, 38, 31, 13, 0, 33, 34, 2, 0, 0,
+  4, 7, 0, 20, 30, 0, 15, 41, 53, 47, 41, 37, 37, 29, 18, 0,
+  25, 0, 0, 0, 6, 3, 0, 0, 3, 6, 6, 4, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0,
+  1, 3, 0, 7, 2, 17, 30, 10, 0, 14, 35, 42, 41, 44, 53, 61,
+  62, 62, 59, 55, 38, 4, 0, 18, 38, 13, 19, 19, 23, 24, 20, 19,
+  21, 33, 40, 0, 0, 18, 30, 50, 62, 63, 54, 45, 39, 33, 38, 9,
+  0, 45, 23, 11, 0, 0, 0, 3, 23, 28, 0, 18, 29, 39, 52, 59,
+  54, 52, 50, 48, 41, 7, 0, 23, 47, 24, 8, 3, 2, 38, 3, 3,
+  32, 43, 45, 49, 47, 38, 30, 22, 10, 15, 34, 0, 0, 0, 4, 7,
+  5, 0, 0, 0, 0, 0, 0, 4, 5, 4, 2, 36, 23, 6, 24, 25,
+  46, 46, 56, 72, 63, 56, 45, 30, 30, 3, 0, 41, 10, 0, 0, 0,
+  0, 11, 1, 0, 2, 2, 0, 0, 0, 27, 0, 21, 26, 33, 40, 50,
+  61, 57, 50, 37, 34, 0, 0, 65, 19, 0, 4, 18, 17, 16, 0, 10,
+  26, 39, 45, 52, 67, 76, 67, 56, 52, 44, 38, 19, 0, 0, 36, 8,
+  12, 6, 0, 1, 0, 2, 3, 5, 12, 3, 0, 30, 43, 53, 58, 58,
+  46, 36, 38, 16, 0, 24, 16, 0, 5, 6, 0, 0, 0, 1, 8, 44,
+  0, 17, 24, 35, 45, 53, 50, 40, 36, 24, 4, 7, 34, 1, 0, 2,
+  1, 6, 9, 14, 19, 11, 0, 36, 41, 44, 48, 54, 46, 40, 31, 13,
+  0, 35, 34, 4, 0, 0, 6, 6, 0, 25, 0, 0, 30, 54, 54, 54,
+  46, 39, 40, 32, 23, 0, 0, 4, 0, 0, 2, 2, 0, 0, 2, 5,
+  5, 2, 1, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0,
+  1, 0, 0, 0, 0, 0, 3, 4, 3, 0, 0, 1, 6, 29, 25, 0,
+  18, 40, 32, 40, 55, 51, 49, 57, 56, 54, 35, 28, 6, 0, 0, 42,
+  59, 58, 36, 40, 57, 56, 37, 8, 0, 0, 13, 32, 45, 57, 65, 61,
+  47, 50, 34, 29, 18, 0, 48, 29, 19, 6, 0, 0, 0, 0, 4, 33,
+  0, 0, 22, 46, 47, 58, 54, 53, 53, 55, 47, 32, 0, 0, 23, 69,
+  47, 22, 22, 37, 8, 8, 29, 36, 40, 44, 46, 42, 31, 23, 16, 0,
+  35, 0, 0, 0, 0, 0, 5, 0, 0, 0, 1, 4, 0, 0, 1, 1,
+  5, 28, 36, 0, 16, 38, 42, 47, 55, 69, 62, 49, 28, 31, 26, 0,
+  8, 16, 6, 0, 0, 0, 4, 11, 5, 8, 0, 4, 0, 0, 0, 35,
+  0, 22, 27, 32, 38, 45, 51, 48, 44, 37, 26, 0, 0, 62, 15, 0,
+  13, 8, 8, 34, 0, 0, 10, 40, 31, 48, 60, 73, 61, 57, 59, 51,
+  44, 34, 23, 0, 17, 25, 8, 0, 2, 0, 13, 4, 7, 10, 15, 5,
+  0, 30, 41, 47, 51, 52, 43, 35, 36, 23, 0, 34, 13, 0, 8, 14,
+  5, 0, 2, 0, 1, 40, 0, 19, 26, 37, 43, 46, 45, 41, 32, 20,
+  2, 12, 30, 0, 6, 0, 0, 0, 1, 7, 15, 10, 0, 32, 42, 44,
+  45, 60, 47, 40, 32, 8, 0, 32, 32, 0, 8, 7, 7, 3, 2, 29,
+  0, 1, 32, 55, 53, 54, 49, 39, 39, 32, 22, 0, 0, 21, 5, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
+  0, 0, 0, 0, 2, 2, 1, 0, 0, 0, 0, 0, 3, 2, 4, 0,
+  2, 0, 0, 18, 33, 30, 0, 12, 22, 29, 49, 58, 41, 41, 49, 50,
+  51, 43, 25, 12, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 19, 27,
+  29, 41, 56, 57, 53, 49, 40, 28, 26, 15, 0, 24, 36, 15, 12, 7,
+  0, 0, 0, 0, 0, 15, 39, 0, 0, 39, 56, 56, 45, 52, 54, 55,
+  57, 54, 33, 5, 0, 0, 0, 0, 0, 50, 10, 3, 26, 39, 39, 40,
+  43, 42, 35, 26, 14, 0, 49, 9, 0, 0, 0, 0, 0, 0, 0, 0,
+  3, 4, 2, 0, 0, 0, 0, 16, 37, 0, 0, 26, 36, 48, 54, 68,
+  53, 48, 28, 21, 18, 0, 28, 13, 0, 0, 0, 0, 3, 6, 7, 2,
+  8, 1, 0, 7, 6, 42, 0, 27, 35, 39, 44, 49, 50, 46, 38, 33,
+  26, 4, 0, 59, 21, 0, 3, 18, 4, 18, 54, 0, 0, 23, 35, 51,
+  54, 60, 61, 60, 54, 50, 50, 35, 36, 0, 0, 57, 23, 4, 0, 4,
+  0, 7, 10, 8, 27, 11, 0, 31, 44, 48, 48, 50, 47, 41, 39, 16,
+  0, 23, 28, 0, 10, 12, 8, 0, 5, 8, 0, 40, 0, 18, 36, 44,
+  45, 46, 48, 43, 34, 25, 12, 0, 36, 0, 0, 0, 0, 0, 0, 0,
+  26, 7, 0, 28, 32, 44, 51, 57, 46, 45, 40, 18, 0, 0, 20, 0,
+  6, 14, 9, 9, 0, 34, 0, 22, 32, 36, 44, 56, 48, 47, 35, 34,
+  32, 0, 0, 34, 12, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 2, 2, 1, 0,
+  0, 0, 3, 3, 0, 0, 1, 1, 0, 0, 16, 32, 12, 0, 0, 26,
+  31, 38, 37, 39, 40, 44, 53, 49, 37, 29, 24, 7, 0, 0, 0, 2,
+  10, 5, 9, 13, 28, 47, 50, 50, 56, 51, 42, 43, 31, 22, 12, 0,
+  15, 35, 12, 14, 7, 4, 2, 2, 1, 0, 0, 3, 18, 6, 0, 12,
+  42, 53, 45, 46, 36, 42, 54, 52, 47, 45, 33, 12, 0, 0, 16, 39,
+  17, 5, 15, 35, 47, 51, 52, 53, 53, 43, 26, 0, 18, 25, 2, 0,
+  0, 0, 0, 0, 2, 3, 1, 3, 1, 2, 3, 0, 2, 0, 1, 25,
+  0, 5, 30, 54, 54, 58, 49, 42, 27, 17, 0, 3, 40, 7, 0, 0,
+  1, 4, 4, 3, 2, 0, 0, 0, 0, 4, 5, 28, 0, 32, 44, 49,
+  50, 52, 51, 48, 39, 41, 36, 10, 0, 65, 13, 3, 8, 0, 6, 14,
+  24, 17, 0, 17, 30, 49, 48, 49, 61, 57, 48, 45, 54, 55, 33, 13,
+  0, 4, 35, 5, 1, 0, 8, 0, 2, 11, 25, 21, 0, 29, 42, 48,
+  45, 45, 48, 48, 39, 43, 9, 6, 33, 1, 11, 2, 2, 0, 0, 0,
+  6, 32, 0, 25, 47, 52, 48, 47, 48, 45, 36, 27, 15, 0, 54, 10,
+  0, 0, 2, 0, 0, 0, 25, 8, 0, 26, 34, 49, 51, 58, 53, 51,
+  39, 28, 7, 1, 38, 1, 3, 8, 8, 2, 5, 38, 0, 16, 28, 44,
+  44, 51, 49, 48, 50, 37, 39, 7, 0, 35, 12, 1, 5, 4, 5, 5,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+  2, 2, 2, 1, 1, 2, 0, 0, 2, 2, 2, 0, 3, 5, 0, 0,
+  0, 10, 26, 21, 0, 0, 16, 18, 38, 28, 40, 40, 36, 44, 45, 36,
+  23, 29, 26, 33, 30, 35, 36, 31, 36, 44, 45, 48, 38, 38, 48, 40,
+  24, 21, 8, 0, 0, 40, 21, 5, 11, 8, 4, 3, 3, 3, 3, 4,
+  0, 0, 0, 20, 18, 0, 16, 33, 34, 34, 43, 38, 49, 50, 54, 56,
+  46, 24, 0, 5, 32, 36, 7, 5, 22, 30, 39, 42, 42, 45, 50, 44,
+  27, 0, 0, 53, 28, 3, 3, 0, 5, 0, 6, 5, 0, 0, 2, 5,
+  5, 0, 0, 0, 0, 17, 20, 0, 12, 24, 49, 44, 50, 30, 25, 13,
+  0, 36, 29, 0, 0, 0, 1, 3, 5, 4, 0, 0, 0, 0, 2, 14,
+  35, 7, 0, 36, 48, 52, 48, 48, 49, 46, 42, 44, 41, 19, 0, 35,
+  28, 0, 0, 7, 7, 0, 10, 31, 0, 0, 20, 38, 47, 46, 54, 44,
+  41, 39, 46, 42, 39, 26, 8, 0, 21, 31, 9, 0, 0, 0, 0, 9,
+  45, 0, 0, 29, 42, 45, 39, 39, 48, 50, 41, 29, 15, 0, 40, 5,
+  4, 2, 0, 0, 0, 15, 13, 7, 0, 38, 52, 54, 49, 46, 48, 46,
+  41, 34, 20, 0, 15, 29, 13, 0, 1, 0, 0, 9, 43, 0, 0, 15,
+  37, 45, 47, 44, 44, 46, 41, 36, 12, 0, 48, 1, 16, 1, 6, 1,
+  0, 25, 0, 10, 26, 30, 36, 43, 45, 50, 49, 31, 27, 3, 0, 22,
+  11, 2, 8, 7, 9, 6, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1,
+  0, 0, 0, 0, 0, 1, 3, 2, 2, 1, 1, 0, 0, 0, 1, 0,
+  0, 0, 1, 4, 7, 6, 0, 4, 13, 20, 38, 0, 0, 0, 6, 27,
+  29, 41, 37, 43, 36, 39, 29, 37, 41, 48, 41, 41, 39, 37, 38, 38,
+  40, 41, 29, 18, 21, 17, 14, 9, 0, 0, 35, 17, 9, 3, 0, 0,
+  1, 1, 0, 0, 5, 8, 6, 2, 0, 13, 28, 15, 0, 1, 19, 15,
+  31, 29, 35, 35, 38, 39, 22, 0, 0, 59, 12, 35, 5, 0, 25, 28,
+  32, 32, 30, 32, 40, 39, 27, 7, 0, 31, 35, 12, 10, 0, 7, 2,
+  5, 4, 0, 0, 3, 7, 6, 0, 0, 0, 0, 7, 49, 0, 0, 5,
+  30, 37, 42, 24, 24, 2, 0, 50, 21, 0, 0, 0, 0, 2, 3, 0,
+  0, 0, 0, 0, 0, 24, 43, 0, 2, 28, 36, 37, 30, 30, 35, 37,
+  41, 33, 35, 26, 11, 0, 42, 0, 5, 0, 2, 2, 0, 11, 33, 0,
+  2, 11, 23, 28, 28, 24, 37, 33, 31, 26, 29, 37, 39, 5, 0, 44,
+  22, 0, 0, 2, 0, 21, 37, 0, 0, 20, 32, 32, 24, 24, 35, 38,
+  38, 26, 26, 0, 0, 29, 6, 0, 0, 0, 0, 12, 45, 0, 0, 30,
+  37, 39, 35, 32, 31, 34, 34, 29, 12, 0, 0, 52, 25, 6, 7, 7,
+  0, 25, 68, 0, 0, 26, 42, 38, 39, 36, 40, 42, 38, 41, 28, 0,
+  2, 34, 4, 0, 4, 0, 0, 32, 21, 0, 15, 39, 34, 33, 51, 55,
+  48, 40, 17, 0, 6, 2, 5, 0, 7, 7, 5, 2, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 2, 3, 4, 2,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 3, 0, 0, 0, 6,
+  2, 29, 47, 5, 0, 1, 4, 10, 21, 30, 15, 23, 27, 30, 41, 51,
+  47, 37, 27, 26, 33, 38, 29, 15, 7, 10, 0, 0, 0, 16, 49, 31,
+  9, 0, 0, 0, 4, 0, 1, 2, 0, 0, 4, 7, 5, 2, 8, 7,
+  2, 27, 46, 0, 0, 1, 11, 23, 29, 20, 13, 9, 2, 0, 3, 32,
+  12, 23, 0, 0, 11, 13, 14, 12, 10, 8, 16, 15, 9, 0, 0, 0,
+  22, 27, 15, 4, 0, 0, 1, 0, 0, 0, 4, 6, 3, 0, 0, 0,
+  0, 8, 11, 50, 7, 0, 5, 38, 28, 24, 24, 0, 0, 38, 16, 2,
+  4, 0, 0, 3, 3, 0, 0, 0, 0, 7, 22, 27, 3, 0, 0, 14,
+  17, 15, 9, 7, 15, 19, 24, 19, 17, 14, 16, 0, 0, 17, 8, 1,
+  0, 0, 0, 8, 18, 39, 0, 0, 0, 0, 0, 7, 16, 11, 3, 13,
+  20, 16, 14, 2, 0, 0, 22, 28, 0, 0, 9, 32, 0, 0, 0, 8,
+  16, 15, 6, 7, 14, 18, 14, 18, 11, 0, 0, 0, 20, 5, 0, 0,
+  0, 20, 34, 0, 0, 15, 12, 13, 13, 11, 10, 14, 18, 15, 7, 0,
+  0, 15, 35, 7, 4, 11, 10, 40, 12, 0, 0, 12, 23, 16, 12, 13,
+  17, 15, 9, 16, 23, 3, 0, 29, 15, 1, 0, 0, 5, 15, 49, 0,
+  0, 10, 18, 26, 40, 42, 31, 14, 0, 0, 23, 0, 3, 0, 5, 3,
+  0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0,
+  0, 0, 1, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 4, 2,
+  0, 0, 0, 0, 1, 14, 8, 5, 13, 33, 40, 10, 0, 0, 0, 10,
+  23, 15, 10, 7, 22, 29, 33, 29, 26, 22, 15, 9, 7, 9, 0, 0,
+  0, 0, 32, 39, 27, 18, 13, 5, 0, 0, 1, 0, 1, 0, 0, 0,
+  0, 1, 0, 0, 13, 0, 6, 7, 17, 44, 1, 0, 0, 0, 0, 5,
+  4, 0, 0, 0, 41, 19, 3, 26, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 4, 6, 4, 0, 0, 0, 0, 0, 0,
+  7, 7, 1, 0, 0, 0, 5, 3, 22, 27, 35, 79, 0, 31, 26, 25,
+  19, 0, 29, 19, 9, 0, 3, 0, 0, 0, 0, 1, 0, 2, 4, 10,
+  18, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 16, 0, 9, 12, 7, 0, 8, 16, 40, 14, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 17, 16, 15,
+  13, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 2, 10, 10, 0, 5, 37, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 13, 11, 3, 0, 8, 9, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 26, 0,
+  0, 0, 0, 8, 21, 26, 0, 0, 0, 20, 12, 19, 10, 0, 0, 14,
+  10, 5, 12, 10, 0, 0, 0, 0, 0, 0, 3, 4, 0, 0, 0, 0,
+  0, 1, 0, 0, 1, 1, 0, 0, 1, 2, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 4, 10, 0, 5, 4, 0, 2,
+  20, 34, 38, 39, 38, 7, 17, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 6, 30, 49, 44, 27, 11, 4, 9, 14, 10, 3, 7, 0,
+  0, 6, 2, 0, 0, 0, 0, 0, 0, 0, 6, 7, 8, 0, 6, 12,
+  21, 48, 41, 28, 1, 5, 4, 0, 25, 38, 18, 1, 4, 19, 10, 22,
+  23, 36, 33, 32, 27, 26, 29, 30, 24, 24, 30, 21, 0, 0, 3, 0,
+  0, 0, 0, 0, 0, 2, 8, 5, 0, 0, 0, 0, 4, 5, 13, 18,
+  32, 0, 0, 21, 28, 19, 3, 0, 48, 8, 2, 0, 9, 5, 0, 0,
+  0, 4, 0, 0, 6, 19, 0, 1, 19, 28, 32, 33, 32, 29, 23, 23,
+  26, 30, 38, 31, 16, 22, 29, 25, 19, 0, 12, 5, 1, 7, 4, 5,
+  0, 5, 7, 22, 24, 32, 52, 56, 28, 30, 37, 30, 37, 34, 22, 17,
+  36, 24, 14, 0, 21, 8, 0, 0, 19, 42, 37, 35, 35, 36, 33, 31,
+  32, 34, 35, 29, 40, 34, 26, 18, 0, 22, 5, 8, 7, 0, 21, 33,
+  28, 22, 19, 24, 30, 33, 30, 33, 40, 35, 27, 27, 30, 21, 0, 3,
+  0, 3, 4, 0, 15, 29, 38, 36, 34, 36, 25, 28, 23, 21, 26, 22,
+  29, 39, 31, 11, 0, 5, 0, 0, 0, 6, 3, 20, 33, 45, 0, 0,
+  0, 0, 8, 25, 29, 17, 2, 6, 15, 11, 2, 0, 0, 0, 0, 0,
+  4, 3, 2, 2, 0, 0, 0, 1, 0, 0, 2, 2, 2, 2, 2, 0,
+  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, 3, 3, 4, 2,
+  4, 3, 4, 2, 0, 1, 9, 14, 16, 20, 29, 34, 36, 37, 35, 38,
+  1, 3, 4, 3, 9, 24, 36, 39, 37, 33, 29, 23, 17, 10, 6, 5,
+  6, 8, 7, 6, 4, 3, 3, 3, 4, 3, 1, 2, 3, 1, 3, 3,
+  7, 6, 4, 3, 3, 6, 12, 17, 24, 28, 30, 32, 32, 31, 26, 20,
+  8, 3, 5, 8, 16, 21, 27, 29, 29, 29, 25, 25, 24, 23, 22, 23,
+  23, 22, 13, 8, 3, 1, 0, 0, 7, 9, 9, 7, 9, 5, 0, 0,
+  0, 0, 0, 2, 18, 24, 53, 0, 0, 29, 21, 6, 0, 18, 34, 1,
+  0, 0, 12, 8, 0, 0, 0, 2, 2, 0, 4, 6, 10, 15, 21, 24,
+  28, 27, 26, 26, 23, 24, 26, 27, 29, 27, 22, 21, 24, 25, 20, 15,
+  6, 2, 5, 4, 3, 3, 3, 4, 5, 7, 10, 13, 17, 21, 24, 27,
+  28, 28, 26, 25, 21, 21, 25, 24, 18, 13, 7, 6, 7, 13, 23, 29,
+  29, 27, 29, 29, 27, 25, 27, 27, 27, 27, 27, 26, 26, 20, 13, 8,
+  5, 3, 3, 10, 20, 26, 24, 22, 23, 23, 25, 27, 25, 27, 29, 27,
+  25, 23, 27, 20, 8, 3, 1, 1, 3, 8, 20, 27, 27, 27, 29, 27,
+  25, 23, 23, 23, 23, 24, 26, 25, 27, 21, 10, 3, 0, 0, 3, 4,
+  4, 8, 17, 25, 30, 33, 34, 34, 31, 25, 12, 3, 2, 4, 7, 5,
+  0, 1, 0, 0, 0, 0, 0, 0, 2, 3, 0, 0, 0, 0, 0, 0,
+  2, 2, 2, 2, 2, 2, 2, 0, 0, 1, 0, 1, 4, 0, 0, 0,
+  0, 3, 2, 4, 4, 3, 1, 0, 2, 2, 0, 0, 1, 2, 3, 1,
+  3, 3, 3, 2, 3, 6, 8, 11, 13, 10, 7, 8, 5, 2, 6, 6,
+  3, 2, 3, 2, 1, 4, 2, 4, 3, 4, 4, 5, 2, 3, 3, 3,
+  0, 1, 1, 1, 4, 3, 3, 2, 3, 2, 2, 1, 4, 3, 2, 0,
+  2, 4, 4, 4, 4, 3, 2, 2, 2, 2, 3, 3, 3, 3, 4, 5,
+  4, 2, 1, 0, 0, 0, 2, 3, 4, 2, 1, 0, 0, 0, 0, 7,
+  12, 6, 0, 0, 0, 0, 0, 9, 0, 7, 12, 45, 45, 0, 9, 27,
+  28, 0, 0, 48, 17, 1, 0, 1, 9, 6, 0, 0, 0, 3, 1, 0,
+  1, 2, 2, 4, 4, 3, 3, 3, 2, 1, 2, 2, 2, 3, 2, 2,
+  2, 2, 1, 2, 1, 2, 1, 2, 1, 1, 1, 1, 3, 1, 2, 1,
+  2, 1, 1, 0, 1, 1, 2, 0, 0, 1, 1, 1, 0, 0, 0, 0,
+  1, 0, 1, 0, 1, 0, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1,
+  3, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 3, 1,
+  3, 1, 3, 1, 3, 1, 3, 1, 3, 0, 2, 0, 2, 0, 2, 0,
+  2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 0, 2, 1, 2, 1,
+  3, 1, 2, 1, 1, 1, 2, 2, 3, 3, 4, 2, 1, 1, 2, 2,
+  0, 0, 1, 1, 0, 1, 2, 3, 2, 1, 0, 1, 0, 0, 2, 5,
+  2, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 2, 2, 4, 6, 9, 7,
+  5, 6, 3, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 1,
+  1, 1, 0, 0, 0, 0, 0, 0, 3, 1, 0, 5, 0, 0, 0, 1,
+  26, 56, 0, 2, 28, 32, 29, 0, 0, 40, 10, 0, 3, 5, 2, 0,
+  0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 1, 0, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0,
+  0, 1, 0, 0, 2, 4, 2, 0, 0, 0, 0, 0, 0, 0, 2, 2,
+  2, 2, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  2, 3, 3, 6, 4, 2, 2, 2, 3, 2, 2, 2, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 1, 3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+  6, 12, 14, 16, 1, 21, 53, 0, 0, 23, 41, 41, 17, 0, 18, 23,
+  1, 0, 8, 7, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0,
+  0, 0, 0, 1, 1, 0, 0, 2, 0, 0, 3, 3, 1, 0, 0, 0,
+  0, 0, 0, 0, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 1, 0,
+  0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 2, 4, 8, 9, 6, 4, 1, 0, 0,
+  2, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 2, 1, 1, 0, 0, 0,
+  0, 0, 10, 4, 0, 12, 25, 27, 31, 27, 44, 64, 0, 0, 16, 33,
+  44, 31, 15, 0, 38, 10, 0, 0, 9, 7, 0, 0, 0, 1, 0, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 3, 2, 0, 1,
+  1, 2, 1, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2,
+  1, 0, 0, 0, 0, 1, 0, 0, 1, 3, 2, 1, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 2, 2, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 2, 1, 3, 2,
+  3, 2, 0, 0, 0, 0, 0, 1, 3, 6, 25, 23, 3, 13, 22, 20,
+  0, 0, 4, 23, 28, 45, 38, 19, 0, 0, 33, 0, 0, 0, 4, 2,
+  0, 0, 0, 2, 2, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+  1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 1, 0, 0, 0, 0, 3, 1, 0, 0, 0, 0, 0, 0, 0,
+  1, 1, 1, 2, 2, 2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  2, 2, 2, 2, 2, 2, 2, 0, 1, 0, 0, 0, 2, 3, 3, 4,
+  2, 2, 1, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 0, 0, 0,
+  0, 0, 0, 0, 7, 6, 5, 2, 1, 0, 0, 0, 2, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+  0, 1, 2, 1, 3, 2, 1, 0, 0, 0, 0, 0, 0, 4, 0, 23,
+  51, 8, 0, 0, 0, 0, 0, 6, 20, 38, 44, 37, 25, 6, 0, 35,
+  9, 2, 0, 0, 0, 0, 0, 0, 4, 5, 0, 0, 0, 0, 1, 0,
+  0, 1, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 2, 2, 1, 1,
+  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 1, 0,
+  1, 1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+  1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 0, 1, 2, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0,
+  1, 0, 3, 2, 3, 3, 2, 2, 1, 0, 0, 0, 0, 0, 0, 2,
+  3, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1, 1, 0,
+  0, 0, 1, 3, 1, 0, 0, 0, 0, 0, 0, 1, 0, 1, 2, 2,
+  2, 2, 1, 0, 0, 1, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 1, 1, 1,
+  1, 0, 1, 0, 0, 0, 0, 2, 4, 2, 5, 2, 2, 0, 0, 0,
+  0, 0, 0, 1, 7, 42, 23, 0, 17, 16, 10, 12, 22, 35, 44, 42,
+  36, 22, 18, 0, 15, 27, 11, 5, 5, 0, 0, 0, 0, 0, 4, 4,
+  0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 1, 1, 1,
+  1, 1, 2, 1, 1, 2, 1, 0, 0, 1, 0, 1, 0, 1, 1, 1,
+  1, 1, 2, 1, 2, 1, 1, 0, 1, 0, 1, 1, 1, 1, 2, 2,
+  1, 1, 1, 0, 1, 0, 1, 0, 1, 0, 2, 1, 2, 1, 2, 1,
+  2, 1, 2, 1, 2, 0, 1, 0, 1, 0, 0, 0, 1, 0, 1, 0,
+  1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 2, 0, 1, 0, 1, 0,
+  1, 0, 0, 0, 1, 0, 1, 0, 1, 0, 2, 1, 2, 0, 1, 0,
+  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
+  0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2,
+  2, 2, 2, 2, 2, 2, 2, 0, 4, 2, 3, 2, 2, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 3, 1, 1, 1, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0,
+  0, 0, 0, 1, 2, 1, 0, 1, 2, 1, 1, 1, 2, 1, 0, 0,
+  1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, 1, 3, 3,
+  2, 1, 1, 0, 0, 0, 0, 0, 0, 7, 21, 15, 0, 18, 33, 32,
+  25, 19, 34, 43, 35, 31, 24, 4, 0, 0, 16, 14, 9, 6, 2, 0,
+  0, 0, 0, 3, 5, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 1, 0, 0, 1,
+  0, 1, 0, 1, 1, 1, 1, 1, 2, 1, 2, 0, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 3, 3,
+  2, 3, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 2, 3, 2, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 1, 1, 0,
+  1, 0, 2, 2, 1, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 1, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 1, 13,
+  41, 0, 4, 20, 39, 36, 22, 32, 39, 34, 25, 11, 0, 0, 33, 28,
+  17, 5, 7, 9, 4, 0, 0, 0, 0, 5, 4, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 1, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 2, 0,
+  1, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2, 2, 2,
+  2, 2, 2, 2, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 2, 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 1, 1, 1,
+  0, 0, 3, 7, 14, 38, 0, 13, 13, 23, 29, 22, 29, 23, 16, 14,
+  0, 0, 0, 36, 30, 17, 5, 0, 4, 9, 4, 0, 0, 0, 0, 3,
+  2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 2, 2, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 1,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0,
+  1, 1, 1, 1, 1, 1, 0, 1, 5, 11, 20, 0, 0, 4, 7, 0,
+  0, 0, 0, 1, 0, 0, 21, 48, 39, 16, 5, 0, 2, 6, 9, 7,
+  2, 0, 0, 0, 0, 2, 4, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 2, 2,
+  0, 0, 1, 1, 1, 1, 2, 0, 1, 0, 1, 0, 0, 0, 0, 1,
+  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 5, 12,
+  1, 0, 0, 0, 0, 0, 0, 0, 13, 23, 39, 42, 25, 14, 12, 6,
+  0, 0, 7, 10, 7, 2, 2, 3, 0, 0, 0, 0, 1, 2, 0, 0,
+  0, 1, 1, 0, 0, 0, 1, 1, 1, 0, 1, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+  0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2,
+  2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,
+  2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,
+  2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0,
+  2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 0, 2, 2,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0, 1,
+  3, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  1, 0, 1, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 0, 1, 5, 13, 20, 38, 43, 46, 41, 35, 39, 22, 34, 22,
+  16, 12, 0, 0, 3, 0, 0, 0, 0, 3, 3, 2, 2, 5, 0, 0,
+  0, 0, 4, 3, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+  2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, 2,
+  2, 2, 2, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2,
+  1, 1, 2, 2, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 3, 2, 1,
+  0, 0, 0, 0, 1, 1, 3, 3, 3, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 0, 1, 1, 0, 2, 2, 2, 2, 0, 0, 0, 0, 0,
+  2, 2, 2, 2, 2, 0, 1, 0, 1, 0, 0, 0, 1, 1, 1, 1,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 6, 11, 19, 5, 9,
+  9, 15, 14, 12, 6, 5, 5, 2, 0, 0, 0, 0, 0, 0, 0, 0,
+  2, 3, 2, 1, 0, 0, 0, 0, 6, 5, 0, 0, 0, 1, 0, 0,
+  0, 0, 0, 1, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 1, 1, 2, 1, 1, 1,
+  1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+  1, 0, 1, 1, 0, 2, 3, 2, 4, 4, 4, 2, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 2, 3, 2, 0, 0, 0, 0, 0, 0, 0, 2, 3, 2, 2,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 3, 3, 2, 2, 2, 2,
+  2, 2, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, 0, 0, 0, 0,
+  1, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  2, 4, 4, 0, 0, 0, 3, 2, 3, 0, 0, 0, 0, 0, 5, 2,
+  0, 2, 0, 0, 0, 0, 1, 2, 4, 3, 0, 0, 0, 0, 4, 4,
+  0, 0, 0, 2, 1, 1, 1, 1, 2, 2, 1, 1, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+  1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
+  1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 1, 1, 2, 2, 2, 2, 2, 2, 4, 2,
+  4, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1,
+  3, 1, 1, 0, 0, 0, 4, 3, 4, 1, 2, 4, 4, 3, 4, 3,
+  3, 2, 2, 4, 5, 5, 1, 4, 6, 4, 1, 0, 0, 2, 1, 1,
+  0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 1, 3, 3, 3, 2, 2, 1, 0, 1, 5, 5, 2, 2,
+  4, 4, 4, 3, 3, 1, 1, 2, 4, 3, 4, 3, 1, 3, 5, 4,
+  1, 0, 0, 0, 0, 0, 1, 2, 2, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 1,
+  0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
+  1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 1, 0, 2, 0, 1, 0, 2, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 2, 1, 3, 2, 2,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 2, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 3, 2,
+  2, 1, 3, 3, 2, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
+  1, 2, 3, 2, 3, 1, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 1, 0, 0,
+  0, 0, 1, 2, 1, 2, 3, 2, 3, 3, 2, 2, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 3, 2, 2, 0, 0, 0,
+  0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 1, 2,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 2, 1,
+  2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 3, 3, 1,
+  3, 1, 0, 1, 0, 0, 1, 0, 1, 1, 1, 0, 0, 0, 0, 0,
+  0, 1, 0, 0, 1, 2, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 2, 3, 3, 3, 1, 1, 0, 2, 1, 1, 2, 0, 1, 0,
+  0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 2, 1, 1, 1, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 1, 2,
+  1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 1, 1, 1, 2, 2, 2, 1, 1, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 2, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 };
+/* Define image 'tomato' of size 100x100x1x3 and type 'const unsigned char' */
+const unsigned char data_tomato[] = {
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251,
+  149, 49, 31, 79, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 194, 166, 70, 0, 2, 3, 14, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 249, 144, 41, 1, 0, 2, 6, 7, 1, 14, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 241, 0, 1, 7, 8, 7, 3, 0, 2, 5,
+  209, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 93, 1, 3, 0, 0,
+  0, 9, 16, 3, 180, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213,
+  0, 1, 5, 13, 14, 17, 18, 5, 94, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 254, 63, 3, 10, 13, 18, 18, 18, 10, 92, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 177, 0, 9, 11, 18, 18, 18, 10,
+  92, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 6, 6, 10,
+  17, 18, 18, 10, 65, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 85, 4, 10, 15, 18, 18, 13, 4, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 153, 2, 10, 14, 18, 18, 17, 4, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 182, 1, 9, 11, 18, 18, 17,
+  2, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 10, 8,
+  10, 17, 18, 17, 3, 171, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 51, 5, 10, 16, 18, 18, 5, 99, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 254, 253, 253, 253, 253, 245, 240, 223,
+  207, 207, 207, 208, 250, 255, 104, 2, 10, 13, 18, 18, 8, 82, 255, 255,
+  255, 255, 255, 255, 255, 255, 223, 177, 104, 81, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 86, 104, 182, 209, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 250, 248, 247, 247, 229,
+  202, 181, 175, 175, 175, 175, 175, 175, 197, 254, 172, 2, 10, 12, 18, 18,
+  11, 18, 250, 255, 255, 255, 242, 161, 119, 57, 18, 0, 54, 90, 143, 191,
+  191, 191, 191, 191, 191, 191, 191, 138, 90, 49, 0, 1, 57, 160, 218, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 251, 247, 247, 218,
+  202, 110, 64, 8, 7, 7, 7, 7, 7, 38, 82, 150, 175, 226, 192, 0,
+  9, 11, 18, 18, 96, 36, 250, 245, 160, 96, 9, 15, 35, 107, 136, 235,
+  242, 247, 247, 247, 247, 250, 253, 254, 254, 254, 254, 252, 251, 245, 238, 165,
+  67, 24, 6, 105, 169, 236, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 251, 247,
+  247, 174, 80, 12, 0, 22, 57, 104, 128, 128, 128, 128, 119, 57, 14, 0,
+  46, 148, 230, 18, 7, 11, 18, 18, 43, 255, 143, 50, 0, 69, 129, 210,
+  247, 247, 247, 247, 247, 247, 247, 247, 253, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 254, 251, 229, 120, 62, 0, 48, 209, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 251, 239, 124, 27, 7, 41, 131, 167, 166, 175, 175, 175, 175, 175, 175,
+  175, 175, 164, 110, 41, 6, 19, 2, 20, 38, 18, 18, 16, 55, 7, 85,
+  182, 244, 247, 247, 247, 247, 247, 247, 247, 247, 247, 252, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 252, 244, 208, 37, 9, 28,
+  164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 254, 249, 197, 85, 13, 67, 136, 197, 186, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 179, 76, 7, 38, 103, 16, 11,
+  1, 47, 191, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 250, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254,
+  250, 236, 171, 92, 2, 174, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 254, 248, 187, 9, 10, 130, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 208, 246, 247, 198,
+  63, 2, 1, 0, 6, 170, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 253, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 252, 248, 247, 107, 10, 201, 254, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 241, 101, 0, 55, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 184, 192, 205, 222, 222,
+  247, 247, 247, 247, 247, 163, 55, 12, 39, 220, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 248, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 248, 245, 71, 0, 147,
+  249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 246, 108, 7,
+  102, 166, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 193, 222, 241,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 243, 209, 223, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 251, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254,
+  247, 233, 111, 1, 61, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  240, 97, 4, 120, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  192, 245, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 251, 255, 255,
+  255, 255, 255, 255, 253, 253, 250, 254, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 245, 247, 189, 12, 106, 246, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 252, 165, 0, 92, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 229, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 251, 255, 255, 255, 255, 255, 251, 247, 247, 247, 248, 251, 251, 254, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 250, 247, 143, 11, 145, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 239, 24, 71, 174, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 178, 245, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 249, 254, 255, 255, 255, 254, 248, 247, 247, 247, 247,
+  247, 247, 247, 252, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 249,
+  247, 100, 7, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 159, 11, 157, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 197, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 250, 255, 255, 254, 249, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 248, 248, 250, 255, 255, 255, 255, 255,
+  255, 255, 255, 254, 248, 247, 68, 40, 234, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 58,
+  66, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 197,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 246, 251,
+  254, 255, 255, 255, 255, 255, 255, 255, 253, 247, 224, 36, 63, 246, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 194, 5, 138, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 181, 245, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 251, 255, 255, 255, 255, 255, 255, 255, 255, 248, 246, 203,
+  17, 122, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 240, 77, 41, 173, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 232, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 249, 254, 255, 255, 255, 255, 255,
+  255, 254, 249, 247, 141, 13, 216, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 247, 183, 25, 101, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 213, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 250, 255,
+  255, 255, 255, 255, 255, 255, 253, 247, 241, 45, 116, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 172, 5, 153,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  186, 244, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 250, 255, 255, 255, 255, 255, 255, 255, 242, 247, 144, 12, 249,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  227, 120, 10, 165, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 226, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 252, 255, 255, 255, 255, 255, 255, 245,
+  244, 240, 17, 108, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 227, 95, 47, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 207, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 253, 255, 255,
+  255, 255, 255, 250, 243, 247, 111, 13, 208, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 227, 59, 83, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 182, 238, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 250, 255, 255, 255, 255, 255, 255, 248, 247, 247, 16, 102, 254, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 237, 59, 108, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 205, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 248, 254, 255, 255, 255, 255, 255, 248, 247, 247, 152,
+  14, 238, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 26, 108, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 181, 237, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 254, 255, 255, 255, 255, 255,
+  248, 247, 247, 243, 22, 147, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 0, 152, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 203, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 246, 246, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 252, 255,
+  255, 255, 255, 255, 248, 247, 247, 247, 95, 114, 254, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 168, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  232, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 246, 240, 240, 246,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 251, 255, 255, 255, 255, 254, 248, 247, 247, 247, 139, 27, 237, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 168, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 191, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  246, 241, 241, 246, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 253, 255, 255, 255, 251, 247, 247, 247, 247,
+  226, 13, 162, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 0, 168, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 176, 220, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 246, 246, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 248, 251, 251, 250, 247,
+  247, 247, 247, 247, 247, 99, 59, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 0, 168, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 177, 228, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 190, 48, 254, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 168, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 181, 237, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 246,
+  246, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 191, 8, 220,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 0, 168, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 195, 237, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 246, 242, 242, 246, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 237,
+  232, 232, 27, 195, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  226, 0, 168, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 179, 235, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 246, 239, 239, 246, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 237, 180, 175, 175, 44, 127, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 226, 0, 168, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 184, 223, 241, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 246, 246, 246, 246, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 245, 185, 175, 175, 175, 81, 111, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 226, 0, 123, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 184, 212, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 235, 175, 175, 175, 175, 81, 99,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 56, 108, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 203, 231, 244,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 216, 175, 175,
+  175, 175, 81, 99, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  227, 59, 108, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 190, 216, 239, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 194, 175, 175, 175, 175, 81, 99, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 227, 59, 103, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 189, 244, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 240, 177, 175, 175, 175, 175, 81, 124, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 227, 76, 47, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 203, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 210, 175, 175, 175, 175, 175, 81, 127,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 227, 120, 45, 174,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 195, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 239, 177, 175, 175, 175,
+  175, 175, 81, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  233, 132, 1, 162, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 195, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 208,
+  175, 175, 175, 175, 175, 175, 81, 127, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 175, 6, 137, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 187, 245, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 228, 177, 175, 175, 175, 175, 175, 175, 56, 127, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 218, 41, 65, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 238,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 244, 184, 175, 175, 175, 175, 175, 175, 167, 16, 179,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 114, 41,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 217, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 205, 175, 175, 175, 175, 175, 175,
+  175, 135, 17, 229, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 140, 3, 156, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 191, 242, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 244, 203, 175, 175, 175,
+  175, 175, 175, 175, 175, 76, 57, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 214, 12, 111, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 191, 243, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 201,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 74, 118, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 87, 64, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 200, 245, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 224, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 18, 142, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 167,
+  10, 156, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 210, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 240, 182, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  161, 9, 197, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 247, 24, 120, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 176, 199, 244, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 244, 190, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 99, 19, 220, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 85, 86, 178, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  185, 211, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 203, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 67, 104, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 7, 134, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 196, 245, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 246, 232, 203,
+  178, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 152, 14, 148, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 91, 31, 138, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 183, 210, 240, 247, 247,
+  247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  244, 213, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 84,
+  32, 244, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 212, 52, 21, 157, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 189, 219, 232, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247, 247,
+  247, 247, 239, 212, 186, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 151, 12, 138, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 32, 84, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 189, 217, 239, 247, 247, 247, 247, 247,
+  247, 247, 247, 246, 235, 206, 177, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 80, 44, 248, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 154,
+  1, 68, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 181, 192,
+  192, 192, 192, 192, 192, 192, 192, 192, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 54, 144, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 253, 156, 0, 136, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 161, 3, 176,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 251, 81, 15, 109, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 65, 26, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 92, 5,
+  154, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 133, 5, 173, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 31, 13, 130, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 145, 33, 68, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 231, 59, 6, 123, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 179, 83, 47, 203, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251, 99, 10, 127,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 178, 118, 6,
+  176, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 241, 64, 4, 63, 156, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  181, 80, 7, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 252, 153, 25, 3, 121, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 178, 110, 8, 149, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 226, 81, 0, 39,
+  84, 148, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 140, 4, 148, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 250, 171, 107, 26, 4, 46, 95, 175, 150, 151, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 156, 8, 116, 253, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 236, 162, 83, 11, 0, 0, 2, 47,
+  117, 48, 46, 46, 46, 46, 46, 46, 97, 117, 117, 171, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 155, 41, 78,
+  249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 237,
+  234, 234, 156, 56, 26, 55, 130, 54, 6, 0, 0, 0, 0, 1, 0, 55,
+  160, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  166, 31, 16, 201, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 33, 0, 2, 5, 0,
+  0, 10, 10, 0, 29, 141, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 154, 53, 24, 226, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 13,
+  8, 16, 4, 53, 44, 5, 17, 9, 0, 11, 120, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 170, 46, 14, 201, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 192, 0, 11, 6, 5, 206, 183, 0, 13, 18, 7, 0, 38, 151,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 168, 47, 4, 201, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 219, 15, 5, 18, 158, 255, 254, 71, 6, 17,
+  15, 0, 3, 12, 61, 171, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 171, 72, 13, 191,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 188, 1, 4, 0, 45, 224, 116, 8, 1, 91, 162, 175, 175, 175, 175,
+  175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 153, 74,
+  8, 7, 180, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 138, 98, 120, 229, 255, 247, 185, 86, 0, 22,
+  78, 168, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 86, 14, 21, 117, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 253, 215, 115, 16, 43, 142, 175, 175, 175, 175, 175, 175, 175, 175, 175,
+  175, 175, 153, 119, 26, 12, 104, 241, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 191, 38, 7, 77, 141, 175, 175, 175,
+  175, 175, 161, 114, 104, 42, 10, 0, 60, 210, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 130, 26,
+  4, 10, 10, 10, 10, 10, 8, 16, 31, 78, 142, 239, 250, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 244, 178, 149, 149, 149, 181, 182, 182, 220, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251,
+  149, 49, 31, 79, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 194, 166, 70, 7, 53, 65, 14, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 249, 144, 41, 2, 3, 43, 118, 139, 31, 14, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 241, 0, 35, 128, 156, 141, 67, 0, 33, 5,
+  209, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 93, 35, 63, 14, 0,
+  11, 132, 219, 47, 180, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213,
+  0, 18, 97, 192, 210, 233, 234, 72, 94, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 254, 63, 65, 178, 202, 234, 234, 234, 140, 92, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 177, 3, 167, 189, 234, 234, 234, 140,
+  92, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 6, 122, 181,
+  228, 234, 234, 140, 65, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 85, 75, 178, 216, 234, 234, 179, 4, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 153, 43, 178, 206, 234, 234, 221, 4, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 182, 24, 169, 190, 234, 234, 221,
+  2, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 10, 146,
+  181, 227, 234, 229, 43, 171, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 51, 98, 178, 224, 234, 234, 68, 99, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 235, 209, 209, 209, 209, 211, 213, 165,
+  120, 120, 120, 121, 241, 255, 104, 36, 178, 204, 234, 234, 115, 82, 255, 255,
+  255, 255, 255, 255, 255, 255, 223, 177, 104, 81, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 86, 104, 182, 209, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 177, 116, 39, 8, 8, 12,
+  19, 25, 27, 27, 27, 27, 27, 27, 91, 252, 172, 36, 178, 197, 234, 234,
+  148, 18, 250, 255, 255, 255, 242, 161, 119, 57, 18, 0, 1, 2, 4, 6,
+  6, 6, 6, 6, 6, 6, 6, 4, 2, 1, 0, 1, 57, 160, 218, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 220, 160, 28, 9, 7,
+  6, 3, 5, 0, 1, 1, 1, 1, 1, 5, 12, 23, 27, 173, 192, 16,
+  164, 185, 234, 234, 234, 36, 250, 245, 160, 96, 9, 0, 1, 3, 4, 7,
+  7, 8, 8, 8, 8, 11, 23, 27, 63, 63, 63, 62, 60, 43, 21, 13,
+  2, 0, 6, 105, 169, 236, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 142, 10,
+  8, 5, 2, 0, 0, 3, 8, 16, 19, 19, 19, 19, 18, 8, 2, 0,
+  7, 51, 136, 18, 133, 185, 234, 234, 236, 255, 143, 50, 0, 2, 4, 6,
+  8, 8, 8, 8, 8, 8, 8, 8, 16, 71, 97, 104, 104, 104, 104, 104,
+  104, 104, 104, 94, 65, 29, 3, 2, 0, 48, 209, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  245, 158, 7, 4, 0, 0, 1, 6, 23, 25, 27, 27, 27, 27, 27, 27,
+  27, 27, 25, 17, 6, 1, 5, 2, 106, 218, 234, 234, 182, 55, 0, 2,
+  5, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 21, 89, 104, 104, 104,
+  104, 104, 104, 104, 104, 104, 104, 104, 104, 101, 72, 32, 6, 1, 9, 28,
+  164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 224, 80, 6, 2, 2, 10, 19, 21, 23, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 11, 2, 0, 1, 51, 219, 145,
+  20, 1, 6, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 15, 83,
+  104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 97,
+  53, 12, 23, 92, 2, 174, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 235, 82, 6, 0, 1, 20, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 26, 18, 8, 8, 6,
+  2, 0, 22, 8, 83, 72, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 70, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
+  104, 104, 104, 104, 104, 74, 22, 77, 71, 10, 201, 254, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 229, 53, 3, 0, 8, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 24, 22, 18, 14, 14,
+  8, 8, 8, 8, 8, 5, 16, 157, 212, 33, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 29, 99, 104, 104, 104, 104, 104, 104, 104, 104, 104,
+  104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 88, 31, 37, 2, 0, 147,
+  249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 71, 3, 1,
+  15, 25, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 22, 14, 9,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 11, 44, 31, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 61, 104, 104, 104, 104, 104, 104,
+  104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 94,
+  48, 8, 3, 0, 61, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  101, 3, 0, 18, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  22, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 61, 104, 104,
+  104, 104, 104, 104, 91, 84, 64, 68, 85, 94, 104, 104, 104, 104, 104, 104,
+  104, 104, 104, 104, 104, 65, 8, 32, 8, 106, 246, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 175, 10, 0, 14, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 12, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 61, 104, 104, 104, 104, 104, 65, 15, 8, 8, 9, 11, 20, 47, 94,
+  104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 47, 8, 4, 0, 145, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 62, 0, 11, 26, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 26, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 39, 101, 104, 104, 104, 97, 21, 8, 8, 8, 8,
+  8, 8, 8, 14, 41, 98, 104, 104, 104, 104, 104, 104, 104, 104, 103, 36,
+  8, 3, 0, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 16, 1, 24, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 20, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 54, 104, 104, 101, 33, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 9, 23, 89, 104, 104, 104, 104, 104,
+  104, 104, 104, 97, 25, 8, 2, 40, 234, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 177, 1,
+  10, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 20,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 9, 13,
+  13, 13, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 11, 58,
+  102, 104, 104, 104, 104, 104, 104, 104, 91, 18, 7, 1, 63, 246, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 102, 0, 21, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 25, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 58, 104, 104, 104, 104, 104, 104, 104, 104, 82, 12, 6,
+  0, 122, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 213, 23, 6, 26, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 11, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 9, 42, 102, 104, 104, 104, 104, 104,
+  104, 104, 39, 8, 4, 13, 216, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 233, 52, 3, 15, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 16, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 53, 104,
+  104, 104, 104, 104, 104, 104, 82, 13, 7, 1, 116, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 26, 0, 23,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  24, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 9, 54, 104, 104, 104, 104, 104, 104, 104, 71, 8, 4, 12, 215,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  175, 18, 1, 25, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 13, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 10, 79, 104, 104, 104, 104, 104, 104, 100,
+  22, 7, 0, 62, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 175, 14, 7, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 18, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 15, 91, 104, 104,
+  104, 104, 104, 104, 31, 8, 3, 0, 138, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 175, 9, 12, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 25, 10, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 54, 104, 104, 104, 104, 104, 104, 30, 8, 8, 0, 56, 251, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 204, 9, 16, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 18, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 28, 103, 104, 104, 104, 104, 104, 30, 8, 8, 4,
+  0, 203, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 4, 16, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 25, 10, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 98, 104, 104, 104, 104, 104,
+  30, 8, 8, 7, 0, 64, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 0, 23, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 19, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 70, 104,
+  104, 104, 104, 104, 30, 8, 8, 8, 3, 18, 233, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 26, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 26,
+  11, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 11, 12, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 66, 104, 104, 104, 104, 102, 28, 8, 8, 8, 4, 0, 181, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 26, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 22, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 11, 11, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 16, 91, 104, 104, 104, 60, 8, 8, 8, 8,
+  7, 0, 137, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 0, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 26, 15, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 25, 58, 58, 53, 10,
+  8, 8, 8, 8, 8, 3, 59, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 0, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 26, 12, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 37, 245, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 26, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 25, 10, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 0, 178,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 238, 0, 26, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 21, 10, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 10, 10, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 10,
+  11, 11, 1, 129, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  175, 0, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 25, 10, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 12, 12, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 10, 25, 27, 27, 6, 127, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 175, 0, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 24, 14, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 24, 27, 27, 27, 12, 81, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 175, 0, 19, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 24, 17, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 10, 27, 27, 27, 27, 12, 48,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 8, 16, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 26, 19, 11, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 16, 27, 27,
+  27, 27, 12, 48, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  175, 9, 16, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 22, 16, 9, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 21, 27, 27, 27, 27, 12, 48, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 175, 9, 15, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 23, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 9, 26, 27, 27, 27, 27, 12, 119, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 175, 11, 7, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 19, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 17, 27, 27, 27, 27, 27, 12, 127,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 18, 7, 26,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 21, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 10, 26, 27, 27, 27,
+  27, 27, 12, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  193, 20, 0, 25, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 21, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 18,
+  27, 27, 27, 27, 27, 27, 12, 127, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 27, 0, 21, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 23, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 12, 26, 27, 27, 27, 27, 27, 27, 8, 127, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 151, 6, 10, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 10,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 24, 27, 27, 27, 27, 27, 27, 25, 2, 179,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 210, 20, 6,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 15, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 19, 27, 27, 27, 27, 27, 27,
+  27, 20, 17, 229, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 39, 0, 24, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 22, 9, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 19, 26, 27, 27,
+  27, 27, 27, 27, 27, 11, 49, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 139, 1, 17, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 22, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 19,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 11, 83, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 249, 66, 9, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 20, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 13, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 2, 137, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 167,
+  1, 24, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 17, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 9, 24, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  24, 1, 146, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 247, 24, 18, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 26, 20, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 23, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 15, 6, 186, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 85, 7, 26, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  24, 17, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 19, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 10, 83, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 0, 15, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 26, 21, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 11, 19,
+  26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 23, 2, 148, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 91, 4, 21, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 24, 17, 9, 8, 8,
+  8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 16, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 13,
+  16, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 212, 52, 3, 24, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 23, 15, 11, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8,
+  8, 8, 9, 17, 23, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 23, 1, 138, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 32, 13, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 26, 23, 15, 9, 8, 8, 8, 8, 8,
+  8, 8, 8, 8, 11, 18, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 12, 44, 248, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 154,
+  0, 10, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 25, 22,
+  22, 22, 22, 22, 22, 22, 22, 22, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 8, 144, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 253, 156, 0, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 24, 0, 176,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 251, 81, 2, 16, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 10, 26, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 92, 1,
+  23, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 20, 1, 173, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 31, 2, 20, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 22, 5, 68, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 204, 13, 0, 19, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 25, 40, 47, 203, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 142, 9, 1, 19,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 26, 9, 6,
+  176, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 103, 2, 0, 9, 24, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  25, 9, 0, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 168, 63, 0, 0, 18, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 26, 8, 8, 149, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 248, 120, 26, 0, 6,
+  12, 22, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 11, 0, 148, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 247, 171, 107, 26, 0, 7, 12, 16, 23, 23, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 16, 0, 116, 253, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 236, 162, 83, 11, 0, 0, 0, 7,
+  18, 7, 7, 7, 7, 7, 7, 7, 14, 18, 18, 26, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 24, 6, 78,
+  249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 237,
+  234, 234, 156, 56, 26, 55, 130, 123, 82, 0, 0, 0, 0, 16, 0, 8,
+  24, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  25, 4, 16, 201, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 123, 9, 31, 70, 0,
+  0, 133, 136, 3, 4, 21, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 23, 8, 24, 226, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 13,
+  110, 217, 57, 58, 101, 71, 233, 126, 1, 1, 18, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 26, 7, 14, 201, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 192, 0, 152, 87, 5, 206, 183, 0, 176, 234, 95, 0, 5, 23,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 26, 7, 4, 201, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 219, 15, 5, 18, 158, 255, 254, 71, 79, 232,
+  201, 12, 3, 1, 9, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 26, 11, 13, 191,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 188, 1, 54, 8, 45, 224, 61, 1, 0, 14, 24, 27, 27, 27, 27,
+  27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 23, 11,
+  1, 7, 180, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 138, 98, 120, 229, 255, 234, 129, 13, 0, 3,
+  12, 26, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 13, 2, 21, 117, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 250, 215, 115, 16, 6, 21, 27, 27, 27, 27, 27, 27, 27, 27, 27,
+  27, 27, 23, 18, 4, 12, 104, 241, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 191, 38, 1, 11, 21, 27, 27, 27,
+  27, 27, 24, 17, 16, 6, 1, 0, 60, 210, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 130, 26,
+  0, 1, 1, 1, 1, 1, 1, 16, 31, 78, 142, 239, 250, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 244, 172, 89, 89, 89, 180, 182, 182, 220, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 251,
+  149, 49, 31, 79, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 194, 166, 70, 1, 8, 10, 14, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 249, 144, 41, 1, 0, 7, 19, 23, 5, 14, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 241, 0, 5, 21, 26, 23, 11, 0, 6, 5,
+  209, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 252, 93, 5, 10, 2, 0,
+  1, 26, 44, 9, 180, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 213,
+  0, 3, 16, 35, 40, 46, 47, 14, 94, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 254, 63, 11, 30, 37, 47, 47, 47, 28, 92, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 177, 1, 28, 33, 47, 47, 47, 28,
+  92, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 6, 20, 31,
+  45, 47, 47, 28, 65, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 85, 12, 30, 41, 47, 47, 36, 4, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 153, 7, 30, 38, 47, 47, 44, 4, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 182, 4, 28, 33, 47, 47, 44,
+  2, 217, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 10, 24,
+  31, 45, 47, 46, 8, 171, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 51, 16, 30, 44, 47, 47, 13, 99, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 235, 208, 208, 208, 208, 211, 212, 164,
+  118, 118, 118, 119, 240, 255, 104, 6, 30, 38, 47, 47, 23, 82, 255, 255,
+  255, 255, 255, 255, 255, 255, 223, 177, 104, 81, 0, 0, 0, 0, 0, 0,
+  0, 0, 0, 0, 86, 104, 182, 209, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 176, 114, 35, 4, 4, 8,
+  16, 22, 24, 24, 24, 24, 24, 24, 88, 252, 172, 6, 30, 35, 47, 47,
+  29, 18, 250, 255, 255, 255, 242, 161, 119, 57, 18, 0, 0, 1, 2, 3,
+  3, 3, 3, 3, 3, 3, 3, 2, 1, 0, 0, 1, 57, 160, 218, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 220, 159, 25, 5, 3,
+  3, 1, 4, 0, 0, 0, 0, 0, 0, 5, 11, 20, 24, 172, 192, 2,
+  27, 32, 47, 47, 115, 36, 250, 245, 160, 96, 9, 0, 0, 1, 2, 3,
+  3, 4, 4, 4, 4, 8, 22, 27, 63, 63, 63, 61, 59, 40, 18, 11,
+  1, 0, 6, 105, 169, 236, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 140, 6,
+  4, 2, 1, 0, 0, 3, 7, 14, 17, 17, 17, 17, 16, 7, 2, 0,
+  6, 49, 134, 18, 22, 32, 47, 47, 69, 255, 143, 50, 0, 1, 2, 3,
+  4, 4, 4, 4, 4, 4, 4, 4, 15, 71, 97, 104, 104, 104, 104, 104,
+  104, 104, 104, 94, 63, 26, 1, 1, 0, 48, 209, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  244, 156, 3, 2, 0, 0, 0, 4, 20, 22, 24, 24, 24, 24, 24, 24,
+  24, 24, 22, 15, 5, 0, 5, 2, 21, 50, 47, 47, 38, 55, 0, 1,
+  2, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 20, 89, 104, 104, 104,
+  104, 104, 104, 104, 104, 104, 104, 104, 104, 101, 71, 29, 3, 0, 9, 28,
+  164, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 224, 77, 3, 1, 1, 9, 16, 17, 20, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 8, 1, 0, 0, 32, 44, 29,
+  4, 0, 3, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 13, 83,
+  104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 97,
+  51, 8, 21, 92, 2, 174, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 235, 80, 3, 0, 1, 17, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 23, 14, 4, 4, 3,
+  1, 0, 4, 1, 16, 16, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 70, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104,
+  104, 104, 104, 104, 104, 73, 18, 75, 70, 10, 201, 254, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 228, 50, 1, 0, 7, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 21, 19, 15, 10, 10,
+  4, 4, 4, 4, 4, 2, 3, 31, 42, 8, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 26, 99, 104, 104, 104, 104, 104, 104, 104, 104, 104,
+  104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 88, 28, 34, 1, 0, 147,
+  249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 253, 68, 1, 1,
+  14, 22, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 18, 10, 5,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 11, 8, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 60, 104, 104, 104, 104, 104, 104,
+  104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 94,
+  45, 4, 1, 0, 61, 241, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  98, 1, 0, 16, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  19, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 60, 104, 104,
+  104, 104, 104, 104, 90, 83, 63, 68, 85, 94, 104, 104, 104, 104, 104, 104,
+  104, 104, 104, 104, 104, 64, 4, 29, 8, 106, 246, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 174, 8, 0, 12, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 60, 104, 104, 104, 104, 104, 64, 11, 4, 4, 5, 9, 18, 47, 94,
+  104, 104, 104, 104, 104, 104, 104, 104, 104, 104, 45, 4, 2, 0, 145, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 59, 0, 9, 23, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 22, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 36, 101, 104, 104, 104, 96, 17, 4, 4, 4, 4,
+  4, 4, 4, 13, 41, 98, 104, 104, 104, 104, 104, 104, 104, 104, 103, 33,
+  4, 1, 0, 191, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 231, 14, 1, 21, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 17, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 52, 104, 104, 101, 31, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 5, 20, 88, 104, 104, 104, 104, 104,
+  104, 104, 104, 97, 22, 4, 1, 40, 234, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 175, 0,
+  9, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 17,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 5, 10,
+  10, 9, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 7, 56,
+  102, 104, 104, 104, 104, 104, 104, 104, 91, 14, 3, 0, 63, 246, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 100, 0, 18, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 22, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 56, 104, 104, 104, 104, 104, 104, 104, 104, 81, 8, 3,
+  0, 122, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 213, 22, 5, 23, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 7, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 5, 40, 102, 104, 104, 104, 104, 104,
+  104, 104, 36, 4, 2, 13, 216, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 233, 49, 3, 13, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 13, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 51, 104,
+  104, 104, 104, 104, 104, 104, 81, 9, 3, 0, 116, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 174, 23, 0, 21,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  20, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 5, 52, 104, 104, 104, 104, 104, 104, 104, 69, 4, 2, 12, 215,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  174, 16, 1, 22, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 9, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 6, 78, 104, 104, 104, 104, 104, 104, 100,
+  19, 3, 0, 61, 248, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 174, 13, 6, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 15, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 12, 91, 104, 104,
+  104, 104, 104, 104, 28, 4, 1, 0, 137, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 174, 8, 11, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 22, 6, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 52, 104, 104, 104, 104, 104, 104, 27, 4, 4, 0, 56, 251, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 203, 8, 14, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 15, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 25, 103, 104, 104, 104, 104, 104, 27, 4, 4, 2,
+  0, 202, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 3, 14, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 22, 6, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 98, 104, 104, 104, 104, 104,
+  27, 4, 4, 3, 0, 63, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 0, 20, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 16, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 68, 104,
+  104, 104, 104, 104, 27, 4, 4, 4, 1, 17, 233, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 23, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 23,
+  8, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 65, 104, 104, 104, 104, 102, 25, 4, 4, 4, 2, 0, 180, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 23, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 19, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 13, 90, 104, 104, 104, 59, 4, 4, 4, 4,
+  3, 0, 137, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 0, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 23, 11, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 22, 57, 57, 50, 6,
+  4, 4, 4, 4, 4, 1, 59, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 0, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 23, 9, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 36, 245, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 254, 0, 23, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 22, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 3, 0, 178,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 237, 0, 23, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 18, 6, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6,
+  8, 8, 0, 128, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  174, 0, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 22, 7, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 6, 22, 24, 24, 6, 127, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 174, 0, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 21, 10, 5, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 21, 24, 24, 24, 11, 81, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 174, 0, 16, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 21, 13, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 7, 24, 24, 24, 24, 11, 47,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 174, 7, 14, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 23, 16, 8, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 12, 24, 24,
+  24, 24, 11, 47, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  174, 8, 14, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 19, 12, 6, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 18, 24, 24, 24, 24, 11, 47, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 174, 8, 14, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 19, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 5, 23, 24, 24, 24, 24, 11, 118, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 174, 10, 6, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 15, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 14, 24, 24, 24, 24, 24, 11, 127,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 174, 16, 6, 23,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 18, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 6, 23, 24, 24, 24,
+  24, 24, 11, 127, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  192, 18, 0, 22, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 18, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 14,
+  24, 24, 24, 24, 24, 24, 11, 127, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 254, 24, 0, 18, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 20, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 9, 23, 24, 24, 24, 24, 24, 24, 7, 127, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 150, 5, 9, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 6,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 21, 24, 24, 24, 24, 24, 24, 22, 2, 179,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 209, 18, 5,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 12, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 15, 24, 24, 24, 24, 24, 24,
+  24, 18, 17, 229, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 37, 0, 21, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 19, 5, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 16, 23, 24, 24,
+  24, 24, 24, 24, 24, 10, 49, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 138, 1, 15, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 19, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 16,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 10, 82, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 249, 65, 8, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 16, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 10, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 2, 137, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 167,
+  1, 21, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 14, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 5, 21, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  22, 1, 145, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 247, 24, 16, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 23, 17, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 19, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 13, 5, 185, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 85, 6, 23, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  21, 13, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 16, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 9, 83, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 155, 0, 13, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 23, 18, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 8, 15,
+  23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 20, 1, 148, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 91, 4, 19, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 21, 14, 5, 4, 4,
+  4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 13, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 11,
+  16, 239, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 212, 52, 2, 21, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 19, 11, 7, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4, 4,
+  4, 4, 6, 13, 20, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 20, 1, 138, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 239, 32, 11, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 23, 19, 12, 6, 4, 4, 4, 4, 4,
+  4, 4, 4, 4, 7, 15, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 11, 44, 248, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 154,
+  0, 9, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 22, 19,
+  19, 19, 19, 19, 19, 19, 19, 19, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 7, 144, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 253, 156, 0, 18, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 22, 0, 176,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 251, 81, 2, 14, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 8, 26, 254, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 245, 92, 1,
+  21, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 18, 1, 173, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 31, 1, 17, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 20, 4, 68, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 203, 12, 0, 16, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 22, 40, 47, 203, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 141, 7, 1, 17,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 23, 7, 6,
+  176, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 101, 1, 0, 8, 21, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  22, 8, 0, 136, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 167, 61, 0, 0, 16, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 23, 6, 8, 149, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 247, 118, 25, 0, 5,
+  11, 20, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 9, 0, 148, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 247, 171, 107, 26, 0, 6, 11, 13, 20, 20, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 13, 0, 116, 253, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 236, 162, 83, 11, 0, 0, 0, 6,
+  16, 6, 6, 6, 6, 6, 6, 6, 13, 16, 16, 23, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 21, 5, 78,
+  249, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 237,
+  234, 234, 156, 56, 26, 55, 130, 64, 16, 0, 0, 0, 0, 3, 0, 7,
+  21, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  22, 4, 16, 201, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 45, 1, 6, 14, 0,
+  0, 26, 27, 0, 4, 19, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 21, 7, 24, 226, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 225, 13,
+  22, 43, 11, 54, 52, 14, 46, 25, 0, 1, 16, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 23, 6, 14, 201, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 192, 0, 30, 17, 5, 206, 183, 0, 35, 47, 19, 0, 5, 20,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 23, 6, 4, 201, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 219, 15, 5, 18, 158, 255, 254, 71, 15, 46,
+  40, 2, 3, 1, 8, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 23, 9, 13, 191,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 188, 1, 10, 1, 45, 224, 59, 1, 0, 12, 22, 24, 24, 24, 24,
+  24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 21, 10,
+  1, 7, 180, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 138, 98, 120, 229, 255, 234, 128, 11, 0, 3,
+  10, 23, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 11, 1, 21, 117, 210, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  254, 250, 215, 115, 16, 5, 19, 24, 24, 24, 24, 24, 24, 24, 24, 24,
+  24, 24, 21, 16, 3, 12, 104, 241, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 191, 38, 1, 10, 19, 24, 24, 24,
+  24, 24, 22, 15, 14, 5, 1, 0, 60, 210, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 246, 130, 26,
+  0, 1, 1, 1, 1, 1, 1, 16, 31, 78, 142, 239, 250, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 244, 172, 87, 87, 87, 180, 182, 182, 220, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255,
+  255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255, 255 };
diff --git a/examples/img/parrot.ppm b/examples/img/parrot.ppm
new file mode 100644
index 0000000..06db1be
Binary files /dev/null and b/examples/img/parrot.ppm differ
diff --git a/examples/img/parrot_mask.pgm b/examples/img/parrot_mask.pgm
new file mode 100644
index 0000000..a2bdec2
Binary files /dev/null and b/examples/img/parrot_mask.pgm differ
diff --git a/examples/img/sh0r.pgm b/examples/img/sh0r.pgm
new file mode 100644
index 0000000..6e97f04
--- /dev/null
+++ b/examples/img/sh0r.pgm
@@ -0,0 +1,256 @@
+P5
+# CREATOR: CImg : Original size=180x180x1x1
+180 180
+255
+�����������������������������������¼û¾��������������������������������������������������������������������������������������������������������������������������������������������������������������������������¹���Źź¾�������ſ���ùù����������������������������������������������������������������������������������û��µ���������������������������������������������������������������¾�ĺ�û�������¿��ż�¼Ĺĺ����������������������������������������������������������������������������������¹����ƶ������� [...]





 #&(*,.146752.6?@2310+)-,''+'!&"#& #"$),*)+1.+*++)(7:::������������������������������������������������ų�Q%


#-7>>80)#
"(,..*



+



 !"$'*.1332052*  "

$%!#)' $$(/-0-)((&!!%*)(+010,'(*+��������������������������������������������������K"




$)*)'%#!
#(++'

+
+
+
+





"&+/00.-($*%
#'$(38044<EEMPPSZ`epy||~�����������������������������������������ľ���������������X. 







 ###"!
!%&$


+
+
+	
+
+


 %*.0//32f�������������������������������������˺����������������ƾ����������nonj_KE:'$
$%/-6,!













+
+				
+


 &+/0278��������ſ����������������������������̮������������ug]PLD90-'"!

!
"#*'$












+
+




+	
+
+		
+


"',0557������������������ľ�������������������XZTF:4.&

""


 




/155-#















+			



	
+

+	
+


 $).46;���������������������������������������
 )/2:@V`qny}�������������eB+




	









+		
+
+			
+



+	

		
+
+


"&*/26j��������������������������������������"
%498>IDGP[cjs�������������õ���������������O.




	








+
+											
+
			
+


#'))&@q������������������������������������˸����������������������ø�������������������{(




+
+






+										
+		



 #''",Nw�����������������������������������ʮ�������������������������������������������V



	

+
+





+
+
+
+
+
+
+
+		
+


 #&"&4`�����������������������������������ɲ�������������������������������������������;



+

+		






+
+
+
+
+
+
+				


 !!(A�����������������������������������Ǹ������������������������������������������\(


+
+
+	









+
+			
+



 /d����������������������������������Ÿ������������������������������������������5


+
+	
+







+
+	
+


"C����������������������������������ŷ�����������������������������������������|





+		













+				
+

(Z���������������������������������ø�����������������������������������������D



+
+		
















+	
+

">h��������������������������������������������������������������������������}	




+
+		
!"! !!"!









	



?_�������������������������������������������������������������������������K




+
		
+"$#""#%()$


     















!(-,("

+



+
+
+G������������������������������������������������������������������������p!





	
	

&'%#$&*/2*!

 !!"!!!  !         !!""###$'/9>?<6-"

+





+	



!5j�����������������������������������������������������������������������;$






	
	
+
!*($$&).49/$
 "###"""""""""##$$%%&&'()*,19AGKMLI at 4(






		



 '?l���������������������������������������������������������������������L/)





+
				%+'%%(,16:0'
 #$%%%$$"#"""#$$%&'()*,,.04:@GMQSUURLC90&


+



 %%#Fz����������������������������������������������������������������|vt[(,'





		

+			
+&+'%&).267/'
 #&'''&%$$####$%%'()*,.147<AGLQUXYZYWRKD=4+!


	

	



&)1Q���������������������������������������������������������������q}\4(.&







+




+
+
&*'%'+/364*%
"&)*)('&%$###$%&')*+-049>CHMQVZ\^__^\WPJF?5)!


	


	


#+*0���������������������������������������������������������������{��H'61$













&)'&)-1562%! $+/+))'&%$##$$')+-.049?DHMRX\`cddedca[UPLH>/&



+		



+

)
"t������yu������������������������������������������������������~�o NK0!








$(&'*/3995 

"(34+))''%$##$&)-/138 at HNQTX]bfijjjihge`[VSOE4)!
			

+
+


' Z��bU3FFo�����������������}�������������������������������������+&fH)


"&&(,16??=

#-?:(()('%$##%(+048<DNVZ[^bgkoppponnlje_]ZVJ8-%

+		
+		
+
%( 8X`XK3BV�����������������}e�������������������������������������.cC0$

$&).4:CCF"
#7KA%''('&$#%',3;CJOU[_abeiptvwxwvutrohccaZL;1)!
				
+
!+( ;HUMJNu�����������������~c�������������������������������������/J8*#

"%)06<EFJ*!$CPH$&'''()+.4;CJRWZ]adghlqwz|}}}|{{zwkeidYJ=4-%

		
+
'-&#3FPEBLx�����������������TL������������������������������������I:4/*#
$*08>EGJ1! -GOL'((&').3:BJOTY]`cfiklqy~����������nkoaTI>70(
+
+
 )+),8D8BDw�����������������WL�����������������������������������x1(920'#

")08?CGG3! (@JNK-,+(&(,4<DKRY]acfilnry������������mqqZPKB92+"
	
"(**+50='a�����������������lS�����òIJö������������������������K*I at 2,&#

 '/8>BFC2('?[VQK8540,)+1:BIPV\_cgjnsz�������������lvoROOG=5.%
		
$&$',4(z������������������i�º�����´�������������������������F8H<2-*#

&.6=@C=4<C_maVOEA>;72017>FNUZ_dgkq [...]
+	





!2=�ö������������������ĺ��������������������������������?MD543.#

$-5<>?=E^isnc]WOKGEB>:5227ANX^bcjw���������������speNTXNB:5-#

+



G<���������������������¾��������������������������������.QC69;0"

$,6<@BK]ptqida^YTPNLJHC=505AKPWbv����������������zibQWYO@<92(
+
+




+]?̼����������������������������������������������������|>R79?@.

 ! "%-7 at FP_ioomkigda^[ZXXWVWTOMRW^k|������������������h`VYYL>=<6.%

+




 8WBŹ�����������������������������������������������������>K3>D=&
&)(&%)0:DM[hmqrppomjhfdb```accejs}���������������������naZ\WF:@>:3+"
+	





"3RD�������������������������������������������������������?D5>@1






#031/.07AKVclpstutsrpomljihjmrvy~�����������������������wd^^U>7DB=81)

		



-IA������������������������������������������������������|D=696#






 -9:888;AKU^gmrvwxxwwutsrqpqtx}��������������������������~ia`S68JFB>80%

+




)?>������������������������������������������������������zE920)




+
+


(7@@@CHMSZaglquy{|||zzyxxxxz}�����������������������������nfaR3>PLHGA6+
	



(:@������������������������������������������������������w<6+* 


+
+				

!'4BHJLS\dinqsvx|~����~~~~��������������������������������ukcQ6JYUMPN at 1

+




%9B�����������������������������������x������������������s/3&#


+
+	
+ $)5CNSWZajrx{}~���������������������������������������������tiR9WebRVXK8#	
+







6@�����������������������������������|���������������hu~w'/!



+		 ).5GRZ^afmt{���������������������������������������������������t[=`opXZ_UB(	
+








4=���������������������������������������������������Vl~&)




+	-8>K[`dhkqy������������������������������������������������������mB_tz]\d[K,
	
+






2;���������������������������������������������������Vo{}(&



+	
1HT\hjhkrx���������������������������������������������������������QX{�b[icV0
		





.2���������������������������������������������������sqov)%



+	Ngpopoqv}�����������������������������������������������������������hGv�uXjj_6

+	

+


!6<���������i�¹���������������������������������������zqq*#



+	
&f~~wvx|��������������������������������������������������������������O`�aipi>$
+	



%;D���������R�¹���������������������������������������yqn,"


+	6s��|~����������������������������������������������������������������qV`�rlurH-		
+
+



&;L���������V�ø���������������������������������������wpp4$


+	
Gz���������������������������������������������������������������������qYutputQ8
				
+


'?W�����������ĸ���������������������������������������|sr?+



+	
U����������������������������������������������������������������������zqikooTB'
		
+


 ,C\�����������������������������������������������������xsK5



+
+	!^�������������������������������������������������������������������������kfifUG0			

!,BZ����������������������������������������������P�������tZ=






+)e��������������������������������������������������������������������������qpgWM:$
	
+
 )?X}��������������������������������������������o`�������woE&
+





;d��������������������xpmiiimrz�����������������������������������������������ueWG1
	
+

&=Us��������������������������������������������X��������wX3
+


+>c�����������~sqqojggcRJE@==AIVjx���������������������������������������������~n_P='
	
+

"3Q`o�������������������������������������������g���������{lI%
+
		?h����������uib_\VMGDB>962126;CUgtvt��������������������{tnhaZW_mvy��}z~������ufZJ6	

$COE������������������������������������������V���������|s^8

>n��������~nc]ZYVPIB>:5/+)()-4>IXcidz������������������uneYOHBB=;>ACM\hov|�����{maUB)	


"1M+�����������������������������������������~Z����������~smQ0

<r�������|lb]ZZZWRLFB<4.*('(+2;DNWa\s�����������������pbZPE=84642/029CNW_cgnz��~rh_P6

+
 /%J,�����������������������������������������H������������yznS<

:x�������uic`__]XPF>9753211247<CIR\\p���������������p^PG=3-(#!"$%(,16:=@AEOc~��wmh_E&
	
+
&9 6F����������������������������������������j_���������������{Y3

8}������skgffec`ZSMJIE@:63368;AFNY^o{��������������reTI at 70*&" !#%)059<>?CPmy|xqmhR1
+	
+
)5#
{��������������������������������������ğL�����������������h@%
+4~������yokjijklnqv}��rdUF90-/4:AGR[nx�������������vh[LB:3.,)%##$'+059<>@AA at DXjvwsqn]@
+
+

	
+
%-+����������������������������������������tw�����������������tA/!


+0}�����~pkiklnmnpnikmoq|zqaJ1)*/6>ISjy������������{naRE;510.,)),-15:>>>@ADECBM[ltttqcL 	

	
+
"5#T����������������������������������������i�������������������N2,(
	
	!r�����qhilopokffaUMBAPWTT[\M<2//3?H[|������������tgYH=40/* 
&,--/48:;?ADFFELXepturdS&
+

+
&! 
�������������������������������������������������������������d21D9



+

h�~��~W]ovtpjbVM<8Sr����oWONIB=73:BLt������������m]M=3*&%
$15==832215;@DGIHMXcmsvsfV)


	

��ƺ����������������������������������������������������������w.-YZ5

Q�w��rG{�rlbT<7Gj����yfUQNMKJHE>;?Ed������������dO>1'
)=MUboqneWM?69?DHJKOZakruujV-
		
+
'#j��������������������������������������������������������������w+'ZoP

4pt{kQ6��~mh_C5Pv�hB0
("
)AJHJKLKC?EW~����������|X>1+*,;Yu�xd__ailhcXG at BGJMNSZ`jsuxqV-
+	


f���������������������������������������������������������������a-'Hi^7#
+&NfmV`4��zmfU;HkdB.%%0P?" QUFMORTODLNv����������pJ3.,1>Zpn^RH?<>IWcniQA=DLOQV\]jtuywX+

	
+

Q���ſ�����������������������������������������������������������L4/5O[Q:,!97*8DVT6��zmdWCNTC?N@&() nmGKSY\]RSTl����������e>457K[e^NJL:##"!+?TZWI:<JPS[_[guuxy]+




+��Ͼ�½����������������������������������������������������������zG<<3<M[OA8Ko5"'p at 7��{nd\OFDJY[E-$23��[NNUbkfUjj�������ǵ�_<:@Ke`QELk\& 01%/E=GRC:GPT_f[btxuwd-




S�����������������������������������������������������������������wRIMNNJVZSH[��h.|;M��~vmcZUV_feU?513<W��oe`fpwqho�����Ƽ����]@<JaaMJK[�o(!

(\:.DF>GPTcnb_k|wxg-

&
6Ư���������������������������������������������������������������zb]gqwngc`Q
y���;�bg�����}xsqrv~��pdfmx���������:945GUUZ[TNRA7Dk{bSU`s��2'!
";kN25<BKPSfrphXwzh0
.
"�����������������������������������������������������������������|nnz���rhcU!����@~vn�������|upmmt��������������{�)ey�����}oWYD+I [...]

#(+,���������������������������������������ªp������������������������wv����re[U(����Y��w��������{tnicafiigksz}�����w�(`������̸�q_&Vnz�������pOC96JjrcUJEIOS\r~|pVG�sY,

#,+cɿ��������������������������������������i�����fcbjtwi]_es��������{|����oaOQ9����������������wrpoopplhhklmr{��||r$y�������ŝ�]'cp{��������������p`URU[`cn�vIY�j-*
 %+%;�о��������������������������������������h������������������������������k]IHK�����w�����������~sliiihfc`_cp}����Lc3��������§�C+Ygz�����yrplga[^a]ZZ`mz{y����xB`I="
<
#&%"}�¶����������������������������������������������������������������������i^NIV�����\�������������tkd_chmt|�������:_U�������ü�� [...]
+0����������������������������������������������������������������������������]17D[ntzutprz��������������������������������������������������������������������~|{yuqnljj]{������%

n�����������������������������������������������������������������¹��������}c)+  9Myyqqv~������������������������������������������y|����������������������|ywsolkieWr{{��]	`����������������������������������������������������������������������������|[;4
&i�tst{�������������������������~m^j����������y` [...]
+
r�������������������³IJ�������������������Ž�đ9;Xn�������������������������z](!*;[k�(+
Wt|}yy|������������������������{qi^RE>988<DOX`hoz��������������������}ysmjjiksv
+P������������������²Ųĵ������������������ž���CB\n�������������������������~HLGU��!35>x}~{y{������������������������vk]MC=:<CN[enu}��������������������~zvpljkknr_		,l������������������ô´�������������������ž¿\Rbn��������������������������O#`T^��`+AR7AHOz|~|yz~�������������������������~tfUKECGO[gpw|��������������������{xtokkmopn;
+Q�����������������������������������������Ž���JMdn}�������������������������oJ"$a[v}��FAs����v}~}zy}��������������������������}p_UPOT[fpx}���������������������~zvqmkkorqi

o�����������������������������������������Ƽ��}MOcir�������������������������{V-,Zm�|���Gs���D��~{z|���������������������������zkc_]`fow}����������������������{wtpljmrvu`
!������������������������������������������Ƽ��uTUccgt~������������������������]B3Feu}���Yr�8~���}z|����������������������������ztpnosy����������������������~zvrnjjowzvH			-'������������������������������������������ǽ��n]Ya_cox������������������������vPB9Rl��~���������~||�����������������������������~}}�������������������������|wspljkqzxn*




7N������������������������������������������ƾ��nYS\[anv�������������������������eN:?Lw�~����D		i��}}��������������������������������������������������������~yvqnkikpytf
+!"Acu������������������������������������������ż��kPN[Zalr~������������������������|UD9>Sotx��N
A���~~�������������������������������������������������������{wsoljhkpurk
	
'@3;o�v�������������������������������������������oKL^\cimw���������������������y��tQFD:EV]_YO
#��~������������������������������������|xwx{{|zvuvx~����~{xtqnkiijpssj	3T/@��w��������������������������������������������|QObcgjkw���������������������u��mUQP9BJKF1i{�}~����������ynggkswwvtsqpqstu~���zulfeedeee_]YTTV^jw|}|zxurolkiijnprT	.WN���{���������������������������������������������`Xf [...]


8wzy||||}}~~}ysj^PC<536;BHMOQRRNHDHMMLIMKJHEC@;4-,.169=IZgnqrqomkjihhgknk
	
	)����z������������������tfmy��������������������û���jivqigfr������������������������|�]13E: 


+!tyyuzzzyzzzywrld\TOOMJOXadaYROOOKBA?;==?EKNOSUTWTYbkpja[\agkmmlkjihhhejkc��ĵ�������������������[>>CIMF at P���������������¾��xdl|necdm�����������������������~u�R?GO*






guwpvxwwvvutrpmlkkpy~~}|����}|}zscZPEIP_nyzy}}xrnt~��}tnhefhjjjiihghfbheI	 
+F���������������������kM44:?DDGUm�mwÿ��������¿��_go}kaadm����������������������|srxWYh>






+	Bstkrvutsrrqpppty������������������������������~}�����xohffhhhhgggge_hj 
+
+Lw~�����������������t`I2-/13=RkxaJ����������¿��Xipxg_afq����������������������~tqrcfg#





	,eniossrqponmnov�����������������������������~|}������|sifffgggffffd^cZ	5TWdz��������������{oh\T;)'-?j����pW�þ�������¼��adkmc]bex����������������������|rlkhgV





+Ndfmqqpommlkknv����������������������������|yyz|}����|tkfeeefeeeefc^[?*C at BS`kmk{������¾���|sYA6<?Fc�����~�û�������»��n^_b_[bh��������������������nimmheggd;


+
+
+
8Uajnpomlkjiimu�����������~}������������zyz|{zyy{}}}ztkeeeeedcdde`ZL$	%@=:@HNOEG]|����������Ʒ�������������û������ƿ���tZSZYZer������������������wcUXacaafc[ 


+
+
+	'GXeknmljjihhlt������|{|�}|~���������|xvvwusppqtvxywrkfededdbcc`YM4

?@:>CHIDBIT[[_g~����������������������������dz���pYMUWcs���������unjimqpnkf_^ab^Z^e^N	


+
+
+
+	
8L]flkkjjhhhlt}����xqkiloswyyyvw{~{||{xqib^]_aejnqsuuqkfeeedbaa_YO6

	<C;>CGGDCGMNJKOXd���������������������������ř�êoZMZgz����������qaeiggffffedca]XV\f^=	



+
+
+		->Q`hhiiihhils|����wlbYSRV]diihkruspic]UMHINU\bhmprssqkheeedb_`[QC#
;G=>BEEDCEJMLNUZXaoyqmq|�����������������������ŶoWQfz��~������i\`fgda_`bba_\YVV]g^-
+

+
+
+		
+'2BVeefhhiiims{����{qg]SJC??CCA at E@>;:9659BMW]chmprsssqmigffda^`WF1		9J@?BDEEDDEHJLQVUUY_afhmpnp{���������������������f^`q|~xsppu|��}rc\`egc_]\]]\ZXVVW[`O
+
+
+
+		
%*/A\ddgiiiknt{�����zrk`XQKFB=534466=AEKQXafjmptwxwvtrnjhggea^[N1

2HB at BDDEEDEEGILPQNNSY[VNPX[]eqv�������~���������johpvsnifegjmlid_\_egea][ZYXWVVVWVT?
+
+
+			
#("&=Wchiijlpv|�������}sjaYQLMNQSU\^]_adfimoqtx|~~|zwspljige_ZN1

+/GDABCDDDDEEEFHJLLLLMNMLOSX[_ehjkje`^_`elrz������tykmolgda_]]]]]\ZXY_ee`\YWWVUTUVVNI5
+
+
+
+
	
"*9Tfkjjmqx}�����������|zutx{��������������������}zurmkjhcXM5

.FEBBCDDDDDEEEFGHIIHHHILQVZ\]\WSQRUZ]^`dknbgq����{{mklifca^ZWUTUURPPV_c_[WVUTTTUVUJE3
+							
+ .#	7Wgkjmry�������������������������������������{wsnkjf^L6
+
	,EFCBCDDDDDDDEEEGGHHIKNQVXZZYXWVUUWWXY\bgkaegjlx~|ynlkigda^ZURPONLJJOX]]XUTSRSTVWVMF3

+			
+	
/&	;\ijlrz���������������������������������������|xsnjg_Q7
	
+
+
'AFDCDDDCDDCEEEFGGIJLORTVVUTSSRRQQRSTW[_dgmmljiovxvolkigea]YUQNLKHFFKSXYVTRQQRTWXYSK5

+		

/)	 F`hlrz���������������������������������������|vqkg_O8
	
+
+!=FFEDDDDDCECEEFGHILNQRSSRRPPPPPPPQSUXZ]`arqpooqttromkjhe`\YTQMKJHFFKQUWURQOOPTWZ[YP8

+	
/+
'H^ipx�������������������������������������yrle^P8
	
+	9FHGFEDDCECEDFFGIJLNPQQPPPPOOPPPQRTVXY[]^rqponopppnlljgc_[WTPMKIHFHMRUUTQOMLOTX[]^T=	
+//
+
&F]hpx�������������������������������������{tld\P:

+	5FIJHEDDDCECFEGGIJLNOOPPPPOPPPQQRTUVXY[\]pponmmmmmlkjhe`\YVSPNLJHHKPTUUSPNKJLSY]]`UD	.3!
$G`inv�����������������������������������{tld\O9
		3FJLIFEDCDCEDFFHHJLMNNOOOOPPPQRRSTUXYZ\\]nmmlkkjjjihgea\YWUSQOLKJKMRUVUSPLIGIRY]\_SG
+7(	&B^djr}��������������������������������|rjb\Q8
	4EIMJFEDDCDDEEGGIJKMMNNPOPPPQQRSTUVXY[\]]kkkjiihggfec`]YWVUSRPNMLMPSUWVTPKGEFPY][\PH

'80
 
 IYago{������������������������������{qg^VP<

+4EHMJGEDCDDEEFFHHJKLNLONPOPQQRRTTVVXZ[]]^iiihggfeecb`][YWVUTSPONNNQTVWVTPKFCCMX]Z[OJ(	
!64"	 
*BT_fox�����������}||{z{{{{|}~~{vndYPI9

+5FHLJFECDDDEFFGGIIJMLOMPNPPRRRTTUVWYZ\]^^gffffeedcb`_][YWWUTSQPPPPRTUVWUQLGBAKV\ZYOK7
16(
";MX`iptvvvxxy{{zywvtrrrqrswxxxvrld\SI=2
	7GGJIFDCCCEEEGGHHJKJNLPNQPRQRSTTUVXYZ\]^^eeeeeddcba`^][YXWUUTRRPQQRSUVVURMHCAJTZYWPLC$	
++5-



1AOZbfhijjklnqrrokfcdfikmmmmmjd[SKB6':FEHGECCCDDDFEGGIJJMKPLQNRQRRSSUUVWYZ\]^^ccccccbcaa_^][ZYWWUTTRSPSRSTUUTRNJECIRWXVQLF/	&30

+
+'7FNSX[\\]^_``_]YTQPTY]]ZYYYVQJA7+
=DCEECCCCDEFEGGHIILKOLQNROSQSSTTUVWXY[\]^bbbbcac_b_`]^[[YYWVUTTQTPSSSUTTSOKGDHOUVURMF6
+	!03!
 -6<BHKJKKKJIHHFD@?AEGFFGEA=;7, 
 )@A at BBBBCCDEDGFHHIKJMKPMRNSPTRTTUTVVXXZ[[\```a`b_c]b]`[]Z[XYWVURUPURSUSUTSPMIFHMQTTROI>%
.4$




	
!)/24555565445530/023431/-( 		7A??@AABCCEDGEHHIJIMJOLQNSOUQTSTTUUVVWXYYY____`^a\b[a[`Z]Y[WXVTVQVQTTRURSRPNKIILOQRRPLD1 
)4(
					

!$%&&%%$%&&%$##$$$"

0?@==?@ABCEDGEHGHIILJOKQNROUOURTTUUUUVVWWWW]^]^]_\a[bZ`Z_Z[YYXWWTWQURSTQTRRQNLKJLNPQQPLF9*		"1+

+

+)9?=;<=?ABCDFEHGHIILIOJPMQNTOUQTSTTTUUUUVVVV\\][^[_[`Z`[_[\[YZXXUWRWRTTRUQSRPPNLLMNPPQPMH?5#
*+
	
+
+



+#3;;9:;=?ABCEEGGHIIKIMJQKRNSOUPTRTTTUTTVUUUUU[\Y]Y]Y_Z_[^[]\Z\YYWXTYQUSSTQSRQQOONNNOOPQPNJD=1
+!("
+
+
+
+
+
+	
+$278778:=?ACDEGGIIIKIMJOJRMSNUOTRTTTTUTVSUUUUUZX\W]W]Y^[][][[\Y[XYWYRYRUTRTRQTOROPNPNPPQQPMHD=*
#$
)4754568:=?ACEFGHIIKIMJNKQLSMUOURTTSTTUURWRWRVTX[W\U]V]Y[[[][\[[Y[XYUYRWSUTTQTPTORNRNRORRRRPMIG;#
"
	
-78412358:=@BDEGHIJLINJNKPLRMSOUQTSSTTTTTWRXPYQVYVZU]S]V\ZZ][[[[[[ZZXYUZRXRURURSQSPSNTNSPRRSRPMLF5


+


 ".673//0358:>ACEGHIJKKMJOKPLRMROSQTRTTTTTUTTURYOWSVYU[Q^S]W[[Y\[[[Z[ZYYXYUYSWSUSSTRRRPTNUNTRSTTSPMJB3

	 
+'1452/-.0368<?BDGHJKKLMKOKQKRMSOSQTRSTTTTTTTTUTRWRUWUXS^O^S\XZ[Z[[[\Z\ZYYXYUYTVTSUQUQSSPUNVOTRTTUSOLH?*
+

&3430-,,.136:=@CFHJKMMNLOMPLRMSOSQSRTSTTURUUTTTTTSTTUXTZO^Q\U[YZZ[[[Z\Z[ZZYXYUXUUWRXPVRSTQVNVQTTTUUQMJD5


+
#-20.,+,,/247;>BEHJLMMNNPNONPNSOSQSRTSTTTSUSSUSTTTRTSWTXR]O\S\U\X[Z[[[Z[[ZYZXWYVWWSYQXRVTSUPXOURTTTUSOKH?,
	
 
+
"(,,,***+./259=@DFILMNONPNPOPOROSPSRSSUSUTURTTSSTRTRRTTWSYO]Q[S]U]X\Z[[[[[Z[XZYWYWUYSZRXTUUSWPWPTRRSTTQNLH;+
 

+ 
+ $%'))))*+,.147;>BEHKLNOOQNQPPPQPSPSRSSURWRUSTTRSSRSQTRRVSWR[O\Q]Q^T]W[YZZ[Z[W[XXYXXXUYSZSXUUWRYQVRSRRRRRONLE8*
 
+


		
"$%%&'(()*,-036:=ACFIKMNOPORPPQPQRPTRTSURWQVRTSSSSQRRRQRQTWSXP\N^O`P_S]W[YZYZXZXYYWYWYYVZUZUYWUYRWRSRQPQQQPNMIA6)
	


		

 "$$$$%&'')+-/269<@BEGIJMNOOQNQPPQRPTRTSURWQWRURSRRRQRPRQQRUTVRYN]M_N_Q]T[WYXYXYWXWWYWYWYYWZVYWVYSYSUSRPOOPPPONLF?7.	
+	   	

 "####$$%'(*-/159<?ACEFHJLMNOOPOPPQPTQUSUTVRWRUSSRRQRQPSORQPUTSWQZO\O]Q\TZWYXXXWWVVVWVXWYXYXYYYWZT[SWTSRPONNOOPPNLHB>8+

	 
+

 !"######%'),/269=?ACDEFGIJLLMNNPOQPSQVRUTUTVSUSSRRRRORQORPOQTUURWQYQZRZTYWXWXWVWUVUUUVVXWZXZX[W\U]SYUUTRPNNNNOPPPPNLID>3"
	
+	  

!!"""""##%(+/26:<?ABCDEFGHIJJLMNNPNRPTRVTVUTTUSTRTQROSNQPPORNRUUURWRWSXUWWWWWWWWUVSTTTUVWYW[W\V]U]U[VWUTRPNMMNOPPQQQQOLHD=2$
		



 
+


 !!!""""#%).26:<?ABCDDEFFGHIJKLLNNPPRRUTVUVVTTTRTPSPRNROPPQMQVSSTTSUTVUWWWWWWWWUUTTSTTUVWWZX[X\X[WZWXWUURPNMLNOPPQRRRQNKIGD=4/*()+,+&
	 


 !!!""""#%*048;>@ABCDDEEGGHHIJKLMNOPQSTUUVUVUTSTRSQRPQOPOPNQO
\ No newline at end of file
diff --git a/examples/img/sh1r.pgm b/examples/img/sh1r.pgm
new file mode 100644
index 0000000..532974c
--- /dev/null
+++ b/examples/img/sh1r.pgm
@@ -0,0 +1,243 @@
+P5
+# CREATOR: CImg : Original size=180x180x1x1
+180 180
+255
+������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������������ [...]
+
+

"%&''(*+,../0112259=>>?Ke�����������������������������������������������Ū������������������������������������xl_JA:3,%

 &62
 #&'(*+,./000/.-*(%# 



!"$%')*++,--./02454202>X}���������������������������������������������ƪ���������������������t\PE<2("" 
#%




%)&)$

$&'''&''()****(&# 



 "$%'()**+-./134667754Ce��������������������������������������������ƪ�������vmbP?3/+


!!







%*

")18AIQQG.!
#&'&$"!!!!"""#" 


!"$%&()*+-.02345652/1;Lv������������������������������������������ƫ����{D*)%
#%#!#"!





"%,3;DO]hux{������t:!
!% [...]



 !"##$&')*+,6HX}�����������������������������������������$"d����������������������������������_5& 
  












 !#%')+,1;Ii�����������������������������������������
!f���������������������������������c;)















 "%(+.13;N����������������������������������������� k��������������������������������I) 















 #'+.1248e����������������������������������������
 s��������������������������������g<












	
+



!%)-0243D}���������������������������������������y��������������������������������[$
















+	
+



#(,.047/k���������������������������������������
|�������������������������������u.




+






!""!

	
+



"'*-.15.H|�������������������������������{l�������������������������������������Q"




+
	
+
+
+
+

!""!








!&*,-.20;g������������������������������xdc�����
��������������������������������5




+
	
+			











+





 $(+,,./2Pr����������������������������mcUZ�����

�������������������������������i)





+
	
+		





+
+






#&)++,-,;Vl��������������������������rWdV\�����
�������������������������������P%



+
+	
+		






+









!%'))**'+=Tn�������������������������STdV`�����	
�������������������������������8



+
+	
+














 "$&'''$"*:Rw�����������������������UHV[Th�����
������������������������������{)



+
+		
+




















 "#$%%"&5Z����������������������x>M[TVl�����
+#������������������������������\


+
+
+
+	


""" 














 !"#" 

$Ap���������������������O at TXNWg�����	�����������������������������r'




+
+
+		


!$'('$ 










+


 ! 

)@��������������������kCGWSJT_�����	�����������������������������V
+




+
+
+
+
+



!%),-,("







+






#-h�������������������ICMUOGM\�����
$�����������������������������1






+
+
+		





!$)-021-%














+
+






"F|�����������������p8FSRMEG^�����+����������������������������f






+
+
+				
+




 #(-15761(




























+
+






-\�����������������B7 at VQMECd�����-��������������������������t^B"








+
+
+	
+
+




"&+059<;6, 











  ! !!!!!!!


 $%%!













"G�����������������24:WTMDEh����},������������������������}u[>'










+




!$*/49>A@:1#









 !"####$##$$$$#"! %,11.)$














2w����������������22AWYLBKf����z
-�������������������������J-#













 #(-28=BED>5&









!$%'((''&&&&&&&%$"!&/7<;61*#















^����������������.6GW]MCQ`����w0�������������������������{;-)













 "&,17<AEIH at 9+

!$(+,-,+*)('''''&%#'/9?@?;5.&













 
G����������������*>D]bRFSY����s3������������������������yA(/$










!$)/6;@DIMLC<0%

 !   $(,0110.+*)((((''&(09?BA@<6/( 














!#"1y��������������}.IEfgXHST����l4������������������������J,&1"




"'-4:?CGLONF at 5+

!"#"!!%*/2331.+*((((((),19?ABA@;6/) 













!%'
+a��������������r2IMniZKST����d5������������������������-$&0"


$)07>BFINPOHD:2"
!$%$#! !$(,./.,*(&&'(()+/39>@BCB@;5.("












&+('K��������������u5GVpiYLUV����_9�����������������������h$#'.!


 %+2:@DGKOQOIF>6'

 #&'&#!
 !#$%$#"!"#%'),.26;?ACDDD@;4/)#








+




#+-$=��������������6K[qgXNYY����X<�����������������������C%)**!%,3;AEHLPRNJGA8*
#&(('$!


 !#$#"!!!#&),036:>ACEGHGFA;5/*$





+




(1(6u��������������4Q^tkWQ[]����M?����������������������k030+(!
$+3:AEILPROJGB6+!

!%)*)'# 

"'*-,+)((+.259;>ACFIKLLLHC<61+&!




+
+

+
+



#003h���ujfv������9Wczu[T_`����DD����������������������V0?0*'"
")18?DHLQROJFA5*#

 $(+,*'"

$*.00.--/26:=?BDFIMPQRQOKD>83-("




+
+
+
+




'-0Q}�idRMg�������N`n�cYbd����?
K����������������������U8@,)($
 &.5<BGLQSPKGB3*#
#'+.-*&!


#'*-./036:=ADFILPSVXWWURMF@:50*$ 




+
+
+
+
+
+

$6LD-<Sy��������gix��m`fg����?Y����������������������DJ>***%

#*19?EJPSQLHC3)"
!'+/0/+& 


"&)-148<?CFILOSVZ^__^\YUPHB=82,'!




+
+	
+	
+


,`����������yp|��sdhj����;]���������������������}3W3).-%

!'/6=BHORQNJF3(!
&,0331,% 

$)/59=AEHKNQUX\_beffdb^YSKE@;5/)#



+		
+
+



,6g������������t{��wfhj����4_���������������������u(V)*1/%


!'.5;AGMPQNKG5'
-14774-& 


!(08>BGLQUX[^adgikmmlkhe_WNHC>83,% 


+				
+

 

Ej�������������y{��zihi����,c����������������������2C(.5/#


!$)/6=CHLOPNKG:(

4569:70'"

$,6?EKQX_cfilorstuutrqolg^RLGA;6/'" 


+					
+
 !"Fu�����������������}jfg����%g����������������������O5-14,!


"%&')+/5<BGJLNNNKF>*
7668:93+$ !&/:EMT\dkorux{}}}|zxwutrnfWPJE?:3(#""!
			
+
! 
#?z�����������������lee����
k����������������������a3/21'






#),./148=DJNPPPONLGB0
6645675/)$"$(1=JU^irx|��������}zyxvsj[TOHC?5(%'))'!
+		
+

 
!<�������������������ndc����m����������������������X4,.*!







!(0457:>CHNSVXWWUSPLE7$&475446630,('+2=JXds}������������|{yul`XRKGB6*+1553*
		




4�������������������qeb����p����������������������E0')#








 &.6:=AEKOTWZ]^_^]ZWRKB46BHFB><;:964104=HUex���������������~|wnd\UOJE6-5>AB at 6'
		
+

1�������������������uie����~���������������������~A(##





+
+

!%,5<AEJOTX[^`bdeedc_[VPKLQTTQKFCA@@A@;8=FPbx����������������zphbZSNH52BJNONB1

	

-�������������������zpj����
}����������������������>%




+
+	
+
+
 $'*2<DKOUZ_bdghjjkjjhgd`\XWYZZYVQLIECEJKB=BKZt�����������������~tlf`XSK57PVXW[O:#
		
+


5��������������������ys����
~����������������������<#



+			!'*+/8DMSX\bfilnoppppomkigda_^^^^]ZWTQMMQVQB=ERgw�����������������zrlf_XM8<\]`[b[C-		


)<i�������������������������
����������������������="



		!.2237BNW[_dhmoqstuvuutrpnljhfdcbba`_^\YVTVXM=:APd������������������xsnh_Q>Bddd\cgO7
+	


1 at T�������������������������
}����������������������C!



+		0AEECFQ[behlpsvxyz{{{zywurqolkihgfffffeb`^agf\J7:Nbq����}����������~yvriWDEjnk`am[D

	
+



2BL�������d�����������������
�����������������������Q 


+	
 >RXXVX_fknqux{|~�����~|zxvtrpomlllllmmnnry���v]:19Rbdfky������������|{uaIDjxte^k`M)		
+


/BK������L����������������������������������������g$


+	)J_cccflptvy{~�����������}{ywvsrqqqqrrtux{�������gCBAA]|�����������������mRBd{~o_d^S8

+
+


.JYt������b�����������������
�����������������������'



+	3Wjjjlptwz{~����������������~{zxwvuuvvwy{}��������������������������������ybHZu�zhb\VF 
+
+
+


/Pmtw����������������������������������������������$



+			?csooqtxz}�������������������~|{zyyzz{}~����������������������������������oVSex}rh`[O-
		
+
+



*?jtob����������������������
������������������������3





+
!Kixrqswz|����������������������~}}}}~������������������������������������{eVXgwztjcW9 
	
+



!'2KmqJ}���������������������
������������������������N+



'Umzssux{~������������������������~���������������������������������������yjaaisuoj`D(

+	
+

!'./\q2z��������������������
!������������������������l@
+Zn{ttvy{~������������������������������������������������������������������yohilkhcK/"
		
+

%0/Gj
z��������������������
$�������������������������]'
/]p{tuwy|�����|z{�����������~}}}~�������������������������������������������~ukfddbS:+ 		
+



#0>7[���������������������
'�������������������������{F
0^o{uuwz}����|uqprw{{|��|vsqopruwwxz}��������������������������������������������vmgeZE6)
+		
+
+


!0E2J$���������������������}
(��������������������������q; 0`mzuuwz|�}wngc_[UYbii^PHLMMORW`ioqsv{�����������������������|yywpntxzzvsx}}{{|��{smdVI8$
				



2:3:6���������������������z
)���������������������������Y:"

-^nwtuvy||yqh_YUQLIGGE?9531..16<FUbilmrz�����������������~|zwpg^YWSIFKRX^`^]cjnmnsz��{tk`VG0
		
+	
+
+


/-8,K���������������������m+���������������������������fjG

+YotssvxyvodZSOKGA;52232/+('''*/6 at N[bdgr~��������������|ytndZPJGC:520./269 at JSXZ[amy~woe^S="
+	
+








&.6/~���������������������g-��������������������������ly�pD

+
)YnsrstuuncYOKGEB?<851/+'$"  "(/7AMX\^ix�������������{wqh\RKF?6/)'&%##&*/5;@DGKQ\kx}zsiaZH.











*1a����������������������c.��������������������������g��|_%
		&Ykrqrssof\SLHGEB?<9751.+('%$#%(/5<FPVYbq|������������{vqi^RJE?6-'#""#$%(*-0369=@ELYhtxune_R8








1�����������������������a2�������������������������u����t-	
!WjqqpqojaZTOMLIHDA>;962/,*(''(+06;BKRW^lx�����������~xqjbXNF at 7/)%"   !$&)-048;=@BGNYfqtqjeY@"



4~�����������������������a:�������������������������l����~0



Sinpoolf`[WTSQOMKHEB@>;:997642136;@GOV]iu~����������|une]TKB93-*'%$#$%'*.26:=@BDEGKR]iqqmj_D$


J�������������������������_@������������������������~�����s,!&

+
+Nikmmmid`[XVTRQOMMKJHEA<:986420038>CKU]fs}����������{rjbYQF<51-+((()+-0369;>ADFHHJLQZfnqomdH$
0S��������������������������ZA������������������������~�����e.%7&
Fgiillga]YUTSQONMMOQPLC81,*%! "'/6<ER\dq}����������ypg_UKA81-)&#$%'*-/0358<@DGIKLNRZemqonhN'
)g���������������������������U@�����������������������������sY0%=0
=agfjjd^WTSSRQNKIIJKMMQZhtp\E2%

",3;JZdp~����������yod[NC91*% "',0220,*+.39?EHLMPSZemqpnkT*

G����������������������������JF�����������������������������TB+';:%

8Wfcih_VQQSTSPKFB?>?AELX`^[X[_Q5#!%,1?Rao~����������ym`SC [...]
h���������������������������������}vnign|�}{wiP���vzz|~�����{wrnkjlortx{���~}sH at 7m�����������l3;=Mx~|wqjb\XWWZ^chmt|����������{ruxlH?KYai`kb8^��������������������������������
l����������������������������������{vssz��zzxs`e��tzy{}���������������������y^IJt�����������r>:<N���}zvrpnllnoqu|������������}sktxsZLQ\fnf|] =��������������������������������v�����������������������������������}{}��~xyxuoK��yzvw~���������������������{hL\w�����������vN9Fm������}|}~��������������������xfw|ue[\dnsn�E o�������������������������������x���������������������zsv����������������|wxxurkhƥw}n|~���������������������w_Yf{�����������zVI]s�������������������������������ug| [...]
+���������������������YCRX`fjnt�����{UZW(
+ ._bbdfikmoqsuvxz|~���������������������������������������������������������~|{ywuqngmkLE.=}����������������������������������������

���������������������iFVYbhkms~�����a_N/

#]c_cdgjlnqsuwy{~���������������������������������������������������������}|zxurnkepY&
<�����������������������������������������"���������������������|W`]eikms}�����mcF6$9cd\acfiknpsuwz|~����������������������������������������������������������}{yvtojigp>8~������������������������������������� [...]
!���������������������}gpjkihkq{������*7+._pa[[`cgjmpsuy{~�������������}xurqqv��������������ukhlsy������������������~|yvsokfgte

	>s��������������������������������������~
!���������������������rdpplhfipz�������(035Wd_Y^aeilpsvy|~�������������xpic][`m}�����������nZPPVan{������������������~{xtqmhfh{[

=q�������������������������������������{
#���������������������b]pulechpz�������<1I-

0abY]`dhlosvz|������������ulcUIBBM`v��������}kR?7:DTfx������������������}zvsokhgj~R [...]
%���������������������RVpvh`aiq|�������Y=bD*" Wd[]_bfkosvz}�������������vl_N;.*/>Xjtxz{zxrgS</-3>Oe{�����������������|yurnjgim}I


d���������������������������������������
(���������������������SUnma\`ks��������kLe\H855;Pf]]^afjnswz}��������������zqdRA3+).:M\chlke_RB757<GXl�����������������~{xtplihmru=$#
%;{��������������������������������������}
)���������������������XUgbZW_lu��������Zegfd@<AJi^\]`dimrwz}��������������xl]NA7325=FKNQQNKE@?CFLWet������������������}zwsokijouk3($
*S���������������������������������������v
+*���������������������ZU_XST^ny���������rjglldT>;fb]\_bgmrvz}��������������vi]PF@<99;===?@ACFKQU[ep{�����������������~{yurnkijpt_(#!
#9Ep���������������������������������������s
+���������������������XUXROQ^r�����������~sqtqZ1$_h^\]afkquy|���������������}ti]RJD>:8778:=BHNTZ_enw�����������������}zwtqmkkjpqN
'._�����������������������������������������o
,���������������������SSSOMQdy���������������l $Xga]]`diotx{����������������|ti^ULD>97669>FNV\bgnu|�����������������~|yvromklkql=%-g�����������������������������������������j/���������������������MRPOMTn���������������r


__b^^_cgmrwz~�����������������{sh_VLD=988;BKV^djou{�����������������}zxtromlmmse-
"=h�����������������������������������������`
4���������������������JUPQQ^v���������������&		X_b`_`bekquy|����������������~xpg^UKD?<<@GR^flpuy~�����������������~{yvtqommpos\

%[u�����������������������������������������X
8���������������������N[RV[j|��������������>

Jgeba`adinsw{}����������������{unf]SKEBCGOZfmruy}�����������������~|zwurpnmmpprQ	
+"\t�����������������������������������������V4���������������������\bSYds~�������������s
+
+
2dhdb`acgkpuy{~����������������}xsmf]UNLLPXdntxz}����������������}zxvsqonmnrqoC
+8_w����������������������������������������U7���������������������ebVZju|����������z��>
+		
#Xedbaabeinrwy|~���������������~|xtohb\ZY]dnv{~����������������}{ywtrponmnpnf/'Kdmv��������������������������������������R;���������������������`]\]lrtvy~�������k�z
+
+
Nccba`acgkptwz|���������������}zwsokhgiox����������~~~���}|yxusqpnmnnoi\<SX[bn~�����������������������������������L?���������������������GSbeonjgflx������w�3
	A`aa`_`behlquxz|~��������������������~�����������}zyyyz|}~~}{zxvtrpommnpnhS
0ILJMU_hijjt������������������������������GC���������������������<\moqkd_\`n�����oS
		/V]____`cfjnruwz{||zxwx{}�������������������~}}|{ywtsqpqsvy{{yxvtrponmmnomdF
+	
'BIEEHKNLKGMa{���������������������������CG���������������������Lqwsohcaaht��{ohgP'

	
+"NZ]^^^_adhkosuwwvtokijnrtuuvwwvvwy��������}uqnmoqrqojc\Z]cjptwvvtrponmmmmmh[2
+
+
"?MGHJKKKIGFO[a[SR\k����������������������BK���������������������aywsmihilqtsmd\YT;	
+
EY\]]]]_beiloqsqnhaZVVZ^___^^`behms{�����~vnfca`^^\WSLE@@ENXckqrrqponmllkli_L!


+;OIILNNNMKHHOVWUSTYi|��������������������AN���������������������pyuqnmmmlhc_[WTSJ4

		
+4U\\[\\]_beikmlib[RIB at BDEFFFFILPRSV\bjqrkbZRMLKIEA;51//16:BLWaimnonmllkkjieX: 

5NJJLMNMKJHFFGHKNQS[j���~plmnqu{��������@L���������������������ttqnmlif`ZVSQOORG-

	
+
IZ\[ZZ[]_ceghe`XND<5-'&),049;=@A<;?EGIIDB??@A?=<::;?HPW[YWWZ^dikkkkkkjjihbL#


.KJIKMMKJIHFFDEFHJMQYdnncURUXZ^ejnqu����;O�������������������pjigfdb_ZVRPNLKNPC&

+		9SZZYYZ[]_bcdb]XTQPRPJILLIEC?:66768866667:?CHMSY\^^cmuxwqkfbbdfhijjjjjjifZ7

)HJJKLKKJIGFEDDEFHILPW]\SLMSX]acefffhpx��>U������������������zc```^\ZXVSQOMKJILL<


+
+	
*GTWXXXYZ\^abbbbcglrrmikoqqplhhe[TPKDCFIPW_ehjnrqomqx}~~{uoifefgghhiiihgaH


&EJKKKKJIHGFEDDDFGHJLNPQOOSX\_``_][YWWW��7P�����������������{\W\][YWUSRPNLJHGHIG4

+
+	

:LRVVWWXY[^`cegkpuxyusrswzxrpt}���zqpsw{�����|xussuy{|{yvqlhgffggggggfdV5

$DKLKKJJIHFFEDDDEFHKMOQSUX[\]\[YXVTSSSS��0T�����������������eRVZZXVTRQOLKIGEEFF at -
+
+		
+.AMSTTUVWX[]`cgkosvwxwwwxz||~����������������{vtrstvwwwuroligffffffffd_G$





$CJMLKJIHGFFDDDDEFGKNQTWYZYYWVTSSRQQQRR��.[�������zla^fw���lYSUVVTSQPNKJGEDCCCB;)
+
+	
%7FQTTTTUVX[]adinqtuutsqoqtz����������������yspoopqrsssqnlihffffeeeee`S.




'FLMLKJIHFGDDDDDDEFHLORTUTRQOOOOOOOOOOO��*']~vsvqic[SPOR\imf\VSSSRRPOMKIFDCAAAA?9'
+
+		
+;KSSSSSUVXZ^bgknppponnnoptx{|~����������|vplkkkklmnnnmkihgffeedddd`S<	



+

,ILNLJIIGGEFDDDCDDEGIKMNNMLKKKLMMNNNNNM��2Agla^[SNLKLNQRUWXYWSPOOOONLJHFDBA@??@?:'
+	
+

!)=NRRQRSUVX\_dhjkjihgghjklnprtvx{|~~|zyvrmhedbbbdfhiiiihggffedcddbXA%



+


1KMNLJIHHFFEDCDCCDDFGHIIIIHHIJJKLMMMMMM��=Yf`XQMLKJJIIIJMOQPOMLLLMLLJIFDB@?>>?@@<)
+		

%@PRQQRTUWZ^behhgda][[]adghiknqsvwvtsqokgb_[XWX[_bdfggggggfedccd]I+

+


4JMMLJIHGGEDCF at ECCDDEFGGHGGHHIJKKLMMMMM��O``YSPOOOMKJIGFFGIIIIHJJJJJIGEB@?===>@BA+			 
*FQQPRSTVY\`dffec^YSOMNQVZ]^`cfiiijkid\VPLLLOSX\`ceghhhhhgecbdbP5	



+
+

5GKMKJIGGEEDDAG>ECCDDEFGGGGHHJJKKLKMLML�~`c]WSRQQPNLJHGEEDDEEFGHHIIHGECA?=<<<>@CD/			
!!
+2KPQRRSUX[_cegfda[TMFCADHLPRUWXYXTNJE@>=?DJPV[_cfghijjjihfbbcV>	


+
+


8EJLKJHGFFFCCE at F@ECCDEEFFGGHHJILJLKLMLMg`cb\XUTSQPNLJHGFDDDDDEFGGGHGFEB@><;;;=@EG2
"$	
:JPSSTUX[_befhfd_ZSLE@<962////0259=>?CFKQW[_bfhjllmmmmljfbb\F 	



+
+


!;EJKJIHGFFDFCCDBDADDCEEFFGGGJHLHMJLMLMLX\d`[XVUSQONLJHGEDDCDDEEFFGGFFDB?=;:9:=@FL6
"&


!=KRTTUX\_behhihfb^XQJD?<;999<?CHMQTUWXZ^behknoqqrqpponlhc^M+
	



+
+
+

$=DIJJIGGFDFBDCCBDDBCFCFEGGGJGKHLJLLLLLLddc]ZWUTSQOMKIHFEDDDDDEEFFFFFECA><9889=AHM9	
+!' (=LRTUX\_bfhiklljie`ZVSQPQRTY]bgjnnmlihjknpsuvwvutsrqpmg_P4


+
+
+
+
+
'?DHIIHGFEECCDBDCBDCEAHCFHGHGKGLIKLKLLLM``]ZXWUTRPNLJHGFEECDDDDFCHDFEDC@>;9778<AHL;


+'"
)?NRUY\`cgikmoqrrrqnmlklmpsvwy{���~|yxwwxzzzzywvtrqpkdW8




+
+
+
+
+
+ADGHHGFFEECEAG?FBCDBGCHFFIHIHKHKLJMLKML\[YXVUTRPOMKIHFEFCFCDDFBJAHEEDC@=:8768<AGJ<!

+
&$
-DPUY^adhjmortwz|~~}|{{}��}}��~~~~~~~~}|zxvtqomg[E

+


+
+
+
+	
+
0BCFGGFFEECFAG>I?FCCECFDGHGHIIIKKJMKLLKLXXWVUTRPOMKJHGFGCGBEDDCH?LBFEDC@=:8668<BFH@*	$$-GSY^behknqswz~������~��������������}|zwtqnkg\E

+




+				
+
4ACEFFFEECFAEBG>GBDDDFEGFGGIGJJJJLKLLKLLVVUTSRQNMLJHGFGCH at GCDDFBJ@HDEDC@=:8667<AFGE5	
"$
	2KW]aeilorux{��������������~~~�����~}{xurnkg^F(



+				
+
$8ABDEEEDDEBFCDAHAEDDEDFFGGIHIJJJJKKKKLKLTTTSQPNMLJIHGFDGBGBEDDDFBHBEDDB@=:8667;@EFG>"

%	6MY]bglpsux{�������~~~}}||||}}~~}{yuqmif`L+




+				
-<ACCDDDDCCEAFAH at FCDDEFFFHGHHIIHJKKLKLKLKSSRQPOMLKIHGFFFDFCECDDDEECFDDCB@=:7656:?BEGD+	

%!
+
9PX]cjorux{~����~}}}}|||{{zzzzz{{||||{yupkgc^Q3	


+			
+4?ABCCCCBECBFAH at GBEEEDFFHDKFJIHKJJJKLKLKLRQQPONMKJIGGGFFEDEDEDDECEEDDDCA@=:86669=ACFE1
	$$




+
!=OV]ekpswy|}~~||{zzzzzzyyxxwwwwwxxyyyxtpje_YO8



+			
):AAABCCCDAECCF at GCEDDEFFFEKCLEKIJILKJKKKKKPPPONMKJJHGGGEEEEDEDDECECDDDCCA?=:86668;>BDE5 
"&

			

+
+$>KU]ekpsvy{{zyxwwwwwwwwvvutttstttuuusoib[TI7
 
+


+		
+ 3>AAABBBCAFAECCFCEEEFEFFFIDLELGJIKHKKKKKKKOONNMMKJIHGGEFEEDEDEEDECDDCCCA@?<:87668:=@CC7(

+'!
%8HS\cjnqsuuutsssssssssrqqqpppqqqqpomg`XNB1

+
+



+		
.;?@@AABBCCAFAEDDEEDFEFFGGFIGJGJIIKJJJKKKKKNNNMMKJJHIFGGEEFEDDDDDDDDCDBBA@?<:877679<>AA9."	&$
"6FQYagjlllmmmlmmmnmmmlkkkllmnmmlkhe^VK>-
 




+	
*9????@AABACDAFBFDFEFFEGFFGGHGIGIJJIKJJJKJJKMMMMKKJIJFHFFFEEECFCDECDCDBCA@@=<:977779;=??:2)

"&
"4CNV\`bcdddefgghhgeedddefgijifeda\TH:)
+





+	
+%8@@>>??AA at CBCEBGCFEFFFGEHFGHGJFKHHKJJJKJJJKJLMLLKJIJGIFGFFEEDGBEEBECDBDAA@?=<:987889:<>>;5/#	
$	 
.=HPTWZZ[[\]]^__^]\\]^^_`aa_]\ZVNC5$	
+




+		"4??==>>??@BBCCCFCGEFGFFGHEHGGIEKGHKHJJJJKJJKJLKLJKIJGJFGFFFFEFAFDBECCDCABA??=<::88799:<=><83+


  
)8AFIKMMMMNPRTTSQPQRTUUSRQPNMJC8+
	




+		1<><;<=>>@@BBCDEDGEGGFGHGGGGGHFKFHKGKIJIJKIKJJKKJJJIHIGHGFFDFECFDCEBDDACBA@@>><;:98899:;===:82(
	
	  
"-48;=>>>?@BDEDB@@?ACCCA@>;83* 
	




+		
0:;:::;<=??AACCDEFFGGGGGGGGGGGGHFJJGJIJJJJIMGKKKJJKHJHHHFFFFFEEEDCDCDACDAAA@??==;::999::;<==<:71%
+

    

#)-/011001210/.-./010.*&!

+


+	
+.:;989:;<=>@@BCDEFGGGGHHHGHGHGHGHHHGJIIJIJJKGNHJIJJGKFJGHGGFEFEDEDDEAECABC at A@?>>=;<9;99;;;<<=<;97.	
+  	

!!!!""!!   
		
+
+		
+$19;97789:<=>?ABDEFGGHHHHHHHHHFHGHHHHIHHIIJJJJKIKJJGJJEKEIFFFFGDFFCECCG at CDAAB@@?>><=:<9:;:;<;<<=<:94(
	
+


			
$29;866789:<=>@ACDFFGHHIHIHHJHGIGGHGHHHHIIIJJJHKJJJGLFHJEJEHGEHBIBFDDFABEC?EA at A@??=>;>9<;;;;;<<=<<;:7."
	

#/687556789:<=?@BCEFGHHIIIIIJFJGIGJEIGHHIHIIJJHJJJKIJDLFGIFIFGGCK?JBEDCGBBBF>CB?@?>><>:>:<;;<<<=<=<<;93'

+   	
(.2343345789:;<?@BDEGHHIJHJHJGLEKEKCLDHHHHHIIIIJJIIKJGJEKEHFHFFFI at L?HCDDADDC?E@@B@?>>=<>;<;;=:=<<====<:4+ 

+
                  
$-//0001235689:;=?@BDFGHIJHKHJIKFLDLCNBLFHHHHHIJIJHHNFKFJICLBKBKDFCJ at JAEECECADC?CA?@??=>==<=<9?:><;====<;6-$		
	                     
&020.-./0234679:;=?@CDFGHIIKHKIJIJFLEKDLDJHHHJHIIIIJLFNHIEHIEIEIDHEGDGCFDCEACCBBC at AA???>>=<=;;>9?:<>=====;6.&



+                      -420--./0134679:;=?@CDFGHIJJJJJJIIIGIGIFIGHHHGJIHJIJHKHJ
\ No newline at end of file
diff --git a/examples/img/tetris.h b/examples/img/tetris.h
new file mode 100644
index 0000000..e18b158
--- /dev/null
+++ b/examples/img/tetris.h
@@ -0,0 +1,2313 @@
+/*------------------------------------------------------------
+
+  Define hard-coded color image used in the 'tetris.cpp'
+  example file, so that the corresponding executable does not
+  depend on additional data files.
+
+--------------------------------------------------------------*/
+
+const unsigned char data_logo[] = {
+  45, 45, 46, 47, 48, 49, 50, 49, 48, 48, 49, 50, 52, 53, 55, 56,
+  59, 62, 64, 65, 64, 64, 66, 66, 65, 66, 72, 76, 78, 80, 77, 74,
+  83, 84, 79, 78, 82, 85, 91, 97, 85, 92, 90, 95, 97, 97, 93, 88,
+  95, 87, 85, 88, 88, 85, 82, 81, 83, 77, 74, 81, 81, 78, 73, 69,
+  67, 65, 63, 65, 66, 65, 65, 65, 64, 61, 59, 56, 54, 53, 52, 52,
+  52, 51, 51, 49, 48, 47, 46, 45, 44, 43, 43, 43, 42, 41, 41, 41,
+  40, 39, 39, 39, 38, 37, 36, 36, 36, 36, 35, 35, 34, 33, 33, 33,
+  33, 33, 33, 31, 29, 29, 30, 32, 32, 32, 30, 29, 30, 29, 29, 30,
+  45, 45, 46, 47, 48, 49, 50, 49, 48, 49, 49, 50, 52, 54, 56, 57,
+  59, 61, 63, 64, 65, 65, 67, 67, 67, 67, 71, 75, 78, 81, 79, 76,
+  83, 87, 83, 82, 84, 88, 94, 100, 91, 95, 94, 98, 100, 100, 96, 92,
+  99, 91, 90, 91, 89, 85, 84, 83, 83, 78, 77, 82, 82, 78, 73, 69,
+  68, 66, 66, 67, 66, 65, 65, 65, 64, 61, 59, 56, 54, 53, 52, 52,
+  52, 51, 51, 49, 48, 47, 46, 45, 44, 43, 43, 43, 42, 41, 41, 41,
+  40, 39, 39, 39, 38, 37, 36, 36, 36, 36, 35, 35, 34, 33, 33, 33,
+  33, 33, 33, 31, 29, 29, 30, 32, 32, 32, 30, 30, 30, 30, 29, 30,
+  45, 45, 46, 47, 48, 49, 50, 49, 49, 49, 50, 51, 53, 55, 56, 58,
+  59, 61, 63, 64, 66, 67, 69, 70, 70, 70, 71, 74, 79, 82, 83, 79,
+  83, 90, 88, 86, 86, 89, 96, 103, 97, 98, 100, 102, 103, 103, 100, 97,
+  103, 95, 95, 95, 91, 86, 88, 86, 82, 80, 82, 84, 82, 77, 73, 70,
+  69, 69, 69, 68, 67, 66, 65, 65, 63, 60, 58, 56, 54, 53, 52, 52,
+  52, 51, 51, 49, 48, 47, 46, 45, 44, 43, 43, 43, 42, 41, 41, 41,
+  40, 39, 39, 39, 38, 37, 36, 36, 36, 36, 35, 35, 34, 33, 33, 33,
+  33, 33, 33, 31, 29, 29, 30, 32, 32, 32, 30, 30, 31, 30, 29, 30,
+  45, 45, 46, 47, 48, 49, 50, 49, 49, 49, 50, 52, 54, 56, 57, 59,
+  60, 62, 64, 65, 67, 69, 71, 72, 72, 72, 72, 74, 79, 83, 85, 83,
+  83, 90, 92, 89, 87, 90, 97, 105, 102, 99, 103, 104, 105, 105, 101, 101,
+  105, 97, 98, 98, 93, 88, 91, 89, 84, 83, 86, 86, 81, 76, 73, 71,
+  71, 72, 72, 71, 69, 67, 66, 64, 63, 60, 58, 56, 54, 53, 52, 52,
+  52, 51, 51, 49, 48, 47, 46, 45, 44, 43, 43, 43, 42, 41, 41, 41,
+  40, 39, 39, 39, 38, 37, 36, 36, 36, 36, 35, 35, 34, 33, 33, 33,
+  33, 33, 33, 31, 29, 29, 30, 32, 32, 32, 31, 31, 31, 31, 30, 30,
+  45, 45, 46, 47, 48, 49, 50, 49, 50, 50, 51, 52, 55, 56, 58, 60,
+  62, 64, 66, 67, 68, 70, 73, 74, 75, 77, 76, 76, 80, 84, 88, 89,
+  86, 91, 96, 94, 90, 93, 101, 106, 107, 100, 108, 107, 109, 109, 105, 106,
+  108, 100, 103, 100, 96, 92, 95, 91, 87, 88, 89, 86, 80, 76, 75, 75,
+  74, 74, 74, 72, 70, 68, 66, 64, 62, 59, 57, 56, 54, 53, 52, 52,
+  52, 51, 51, 49, 48, 47, 46, 45, 44, 43, 43, 43, 42, 41, 41, 41,
+  40, 39, 39, 39, 38, 37, 36, 36, 36, 36, 35, 35, 34, 33, 33, 33,
+  33, 33, 33, 31, 29, 29, 30, 32, 32, 32, 31, 31, 32, 31, 30, 30,
+  45, 45, 46, 47, 48, 49, 50, 50, 50, 51, 52, 52, 56, 57, 59, 61,
+  65, 66, 68, 68, 69, 72, 74, 75, 77, 80, 80, 79, 79, 84, 90, 96,
+  92, 92, 101, 101, 95, 98, 106, 111, 114, 105, 114, 113, 116, 116, 112, 112,
+  111, 103, 107, 100, 98, 95, 96, 92, 89, 93, 88, 83, 79, 75, 77, 79,
+  78, 76, 75, 74, 72, 69, 66, 64, 62, 59, 57, 56, 54, 53, 52, 52,
+  52, 51, 51, 49, 48, 47, 46, 45, 44, 43, 43, 43, 42, 41, 41, 41,
+  40, 39, 39, 39, 38, 37, 36, 36, 36, 36, 35, 35, 34, 33, 33, 33,
+  33, 33, 33, 31, 29, 29, 30, 32, 32, 32, 31, 32, 32, 32, 30, 30,
+  45, 45, 46, 47, 48, 49, 50, 50, 50, 51, 52, 53, 57, 58, 60, 62,
+  65, 67, 69, 70, 70, 73, 75, 77, 79, 82, 84, 83, 83, 85, 91, 98,
+  97, 94, 101, 107, 99, 100, 109, 113, 119, 110, 117, 118, 120, 121, 115, 118,
+  113, 108, 110, 103, 99, 100, 99, 93, 94, 96, 88, 81, 79, 77, 79, 81,
+  80, 78, 76, 74, 71, 68, 65, 63, 61, 59, 57, 56, 55, 54, 52, 53,
+  52, 52, 51, 49, 49, 48, 47, 46, 45, 44, 43, 43, 42, 41, 41, 41,
+  40, 39, 39, 39, 38, 37, 36, 36, 36, 36, 35, 35, 34, 34, 33, 33,
+  33, 33, 32, 31, 30, 29, 31, 32, 32, 32, 32, 33, 33, 33, 31, 30,
+  45, 45, 46, 47, 48, 49, 50, 50, 51, 52, 53, 55, 57, 59, 63, 65,
+  67, 70, 71, 73, 74, 75, 78, 79, 82, 85, 89, 91, 89, 87, 92, 96,
+  101, 98, 98, 110, 106, 102, 110, 114, 124, 117, 121, 124, 124, 126, 118, 124,
+  115, 116, 112, 107, 103, 107, 102, 96, 102, 97, 86, 80, 81, 82, 81, 83,
+  82, 80, 78, 73, 70, 66, 63, 62, 61, 59, 58, 57, 56, 54, 53, 53,
+  53, 53, 52, 51, 50, 48, 47, 46, 46, 45, 44, 43, 42, 41, 41, 41,
+  40, 40, 39, 39, 38, 37, 37, 37, 37, 36, 36, 36, 35, 34, 33, 33,
+  33, 33, 32, 31, 31, 31, 32, 34, 33, 32, 32, 34, 34, 34, 32, 31,
+  45, 45, 46, 47, 49, 49, 50, 50, 51, 52, 54, 56, 58, 61, 64, 67,
+  70, 73, 75, 77, 78, 79, 82, 83, 84, 89, 93, 95, 93, 93, 94, 96,
+  102, 105, 102, 108, 117, 109, 109, 118, 127, 123, 125, 128, 129, 130, 122, 129,
+  119, 122, 116, 109, 113, 112, 104, 105, 106, 95, 85, 82, 83, 85, 85, 86,
+  84, 80, 77, 73, 70, 66, 63, 63, 61, 59, 58, 57, 56, 54, 53, 53,
+  53, 53, 52, 51, 50, 48, 47, 46, 46, 45, 44, 43, 42, 41, 41, 41,
+  41, 40, 39, 39, 38, 37, 37, 37, 37, 36, 36, 36, 35, 34, 33, 33,
+  33, 33, 32, 31, 31, 31, 32, 34, 33, 32, 32, 34, 34, 34, 32, 31,
+  45, 46, 47, 48, 49, 50, 51, 50, 52, 53, 56, 58, 60, 63, 68, 70,
+  73, 75, 79, 81, 81, 83, 86, 87, 88, 92, 97, 100, 100, 102, 99, 97,
+  102, 112, 111, 107, 122, 118, 111, 121, 131, 132, 131, 134, 135, 135, 128, 135,
+  124, 129, 121, 113, 120, 114, 109, 113, 106, 93, 86, 87, 89, 90, 89, 89,
+  86, 80, 76, 72, 69, 67, 64, 63, 62, 60, 59, 57, 56, 54, 53, 53,
+  53, 53, 52, 51, 50, 48, 47, 46, 46, 45, 44, 44, 43, 42, 42, 42,
+  41, 40, 40, 40, 39, 38, 37, 37, 37, 36, 36, 36, 35, 34, 33, 33,
+  33, 33, 32, 31, 31, 31, 33, 34, 33, 32, 32, 34, 34, 34, 32, 31,
+  46, 47, 47, 48, 50, 50, 51, 51, 52, 54, 58, 60, 62, 66, 71, 74,
+  75, 78, 82, 84, 85, 86, 88, 90, 89, 93, 97, 101, 105, 107, 106, 102,
+  103, 115, 121, 112, 121, 128, 119, 123, 134, 141, 137, 141, 143, 142, 136, 141,
+  131, 134, 122, 119, 122, 115, 119, 116, 101, 94, 92, 94, 95, 93, 91, 89,
+  85, 79, 74, 71, 69, 67, 65, 64, 63, 61, 59, 57, 56, 54, 53, 53,
+  53, 53, 52, 51, 50, 48, 47, 46, 46, 45, 45, 44, 44, 43, 42, 43,
+  42, 41, 41, 40, 39, 38, 38, 37, 37, 36, 36, 36, 35, 34, 33, 33,
+  33, 33, 32, 32, 32, 32, 33, 34, 33, 32, 32, 34, 34, 34, 32, 31,
+  46, 47, 48, 49, 50, 51, 52, 51, 53, 55, 59, 61, 64, 68, 74, 77,
+  78, 81, 86, 88, 89, 91, 92, 94, 95, 97, 100, 103, 108, 112, 113, 111,
+  107, 114, 125, 123, 123, 135, 132, 127, 138, 150, 142, 149, 152, 150, 144, 148,
+  140, 137, 125, 129, 124, 124, 127, 114, 100, 98, 101, 101, 99, 95, 90, 86,
+  83, 78, 73, 70, 69, 67, 65, 64, 63, 61, 60, 57, 56, 54, 53, 53,
+  53, 53, 52, 51, 50, 48, 47, 46, 46, 45, 45, 45, 44, 43, 43, 43,
+  42, 42, 41, 41, 40, 39, 38, 37, 37, 36, 36, 36, 35, 34, 33, 33,
+  33, 33, 32, 32, 32, 32, 33, 34, 33, 32, 32, 34, 34, 34, 32, 31,
+  47, 47, 48, 49, 50, 50, 51, 51, 52, 55, 60, 62, 65, 70, 75, 79,
+  80, 83, 89, 91, 91, 94, 96, 98, 100, 101, 103, 105, 109, 113, 117, 117,
+  110, 111, 124, 134, 128, 137, 142, 130, 141, 156, 147, 155, 159, 155, 150, 153,
+  148, 140, 128, 137, 128, 134, 131, 112, 102, 102, 107, 105, 102, 96, 89, 84,
+  81, 77, 73, 70, 68, 67, 66, 65, 63, 61, 60, 57, 56, 54, 53, 53,
+  53, 53, 52, 51, 50, 48, 47, 46, 46, 45, 45, 45, 44, 43, 43, 43,
+  43, 42, 41, 41, 40, 39, 38, 37, 37, 36, 36, 36, 35, 34, 33, 33,
+  33, 33, 33, 33, 33, 33, 33, 34, 33, 31, 32, 34, 34, 34, 32, 31,
+  47, 48, 48, 49, 48, 49, 51, 51, 52, 56, 61, 65, 69, 73, 77, 80,
+  78, 83, 90, 88, 89, 95, 102, 99, 102, 104, 109, 111, 108, 114, 115, 112,
+  114, 117, 125, 134, 135, 128, 150, 129, 142, 160, 157, 160, 164, 156, 156, 153,
+  151, 142, 137, 139, 137, 139, 125, 112, 114, 115, 113, 111, 103, 95, 88, 83,
+  81, 77, 74, 71, 69, 66, 65, 65, 64, 62, 61, 58, 57, 55, 54, 51,
+  51, 50, 49, 48, 47, 46, 45, 45, 46, 45, 45, 44, 44, 43, 42, 43,
+  42, 42, 41, 42, 42, 42, 41, 40, 39, 38, 38, 37, 36, 35, 35, 35,
+  35, 34, 34, 35, 34, 34, 32, 31, 31, 30, 32, 33, 33, 34, 32, 31,
+  47, 48, 48, 49, 47, 48, 51, 51, 53, 57, 63, 66, 73, 77, 80, 82,
+  79, 84, 87, 92, 97, 95, 97, 103, 104, 107, 109, 114, 116, 105, 114, 122,
+  120, 127, 124, 128, 143, 129, 148, 145, 137, 167, 167, 173, 175, 166, 165, 156,
+  153, 137, 148, 149, 149, 134, 115, 116, 125, 125, 116, 110, 102, 95, 88, 84,
+  81, 78, 75, 72, 70, 67, 65, 64, 63, 61, 60, 58, 57, 55, 54, 52,
+  51, 50, 50, 48, 47, 46, 46, 46, 46, 46, 46, 44, 44, 43, 42, 43,
+  43, 42, 41, 42, 42, 42, 42, 41, 40, 39, 38, 37, 37, 36, 35, 35,
+  35, 34, 34, 35, 34, 33, 31, 29, 29, 29, 31, 33, 33, 34, 32, 31,
+  47, 48, 48, 49, 47, 49, 52, 52, 56, 59, 65, 69, 76, 81, 83, 88,
+  90, 93, 92, 100, 101, 107, 110, 116, 113, 119, 124, 122, 121, 125, 122, 119,
+  127, 145, 143, 134, 143, 144, 151, 167, 152, 177, 177, 183, 185, 179, 176, 163,
+  165, 153, 163, 152, 159, 134, 121, 133, 130, 129, 119, 108, 100, 94, 89, 84,
+  82, 79, 76, 73, 70, 68, 66, 64, 62, 61, 59, 57, 56, 54, 53, 53,
+  53, 52, 51, 50, 49, 48, 47, 48, 47, 47, 47, 45, 45, 44, 43, 43,
+  42, 41, 40, 42, 42, 42, 42, 41, 40, 39, 38, 38, 37, 36, 35, 34,
+  33, 32, 32, 33, 32, 31, 30, 30, 30, 29, 31, 33, 33, 34, 32, 31,
+  47, 48, 48, 49, 48, 49, 53, 54, 59, 63, 69, 72, 78, 83, 86, 91,
+  94, 99, 105, 111, 111, 115, 108, 97, 90, 97, 113, 123, 131, 130, 129, 127,
+  132, 148, 153, 144, 139, 156, 161, 166, 163, 177, 195, 195, 196, 192, 190, 178,
+  163, 159, 168, 170, 150, 142, 138, 141, 134, 128, 119, 107, 98, 94, 90, 85,
+  82, 79, 76, 72, 69, 67, 65, 64, 63, 62, 60, 58, 57, 55, 54, 55,
+  55, 53, 53, 51, 51, 50, 49, 49, 48, 48, 47, 45, 45, 44, 44, 44,
+  43, 42, 41, 43, 43, 43, 42, 42, 41, 40, 40, 39, 39, 38, 37, 36,
+  35, 34, 33, 33, 32, 32, 31, 30, 30, 30, 31, 33, 33, 34, 32, 31,
+  47, 48, 48, 49, 48, 50, 54, 56, 62, 66, 72, 75, 79, 85, 88, 95,
+  99, 107, 116, 111, 97, 81, 68, 52, 44, 49, 67, 77, 98, 128, 139, 135,
+  138, 128, 139, 144, 140, 156, 171, 178, 179, 176, 202, 201, 202, 200, 198, 185,
+  164, 176, 174, 176, 151, 154, 156, 151, 138, 126, 114, 107, 99, 94, 91, 86,
+  83, 80, 77, 72, 69, 66, 64, 66, 66, 64, 62, 61, 59, 57, 56, 57,
+  56, 55, 55, 53, 52, 51, 51, 50, 49, 48, 47, 45, 45, 44, 44, 44,
+  44, 43, 42, 43, 43, 43, 43, 44, 43, 42, 42, 42, 41, 40, 39, 38,
+  38, 37, 36, 35, 34, 33, 32, 30, 31, 30, 31, 33, 33, 34, 32, 31,
+  47, 48, 48, 49, 48, 51, 55, 57, 64, 69, 75, 77, 82, 88, 92, 101,
+  112, 114, 102, 79, 53, 37, 31, 29, 25, 32, 47, 48, 53, 73, 112, 141,
+  143, 66, 57, 78, 134, 156, 175, 177, 107, 84, 93, 97, 103, 99, 101, 90,
+  89, 103, 82, 67, 76, 82, 89, 123, 130, 124, 111, 107, 101, 95, 90, 86,
+  84, 80, 77, 74, 72, 69, 67, 67, 66, 65, 64, 62, 60, 58, 57, 57,
+  57, 56, 56, 54, 53, 52, 52, 52, 51, 49, 47, 46, 46, 45, 44, 45,
+  44, 43, 43, 44, 44, 44, 44, 45, 44, 43, 43, 43, 42, 41, 41, 40,
+  40, 39, 38, 36, 35, 34, 33, 31, 31, 31, 32, 33, 33, 34, 32, 31,
+  46, 48, 48, 50, 49, 52, 56, 59, 66, 71, 75, 78, 84, 91, 98, 108,
+  114, 99, 60, 34, 35, 35, 32, 36, 37, 48, 59, 54, 51, 48, 64, 93,
+  117, 34, 44, 50, 117, 163, 177, 199, 90, 66, 58, 73, 77, 76, 80, 78,
+  75, 53, 49, 61, 66, 88, 92, 89, 113, 122, 112, 109, 102, 96, 91, 87,
+  84, 81, 78, 77, 75, 72, 70, 69, 68, 66, 65, 63, 62, 60, 59, 59,
+  58, 57, 57, 55, 54, 53, 53, 53, 52, 50, 48, 47, 46, 45, 44, 45,
+  44, 43, 43, 44, 44, 44, 44, 45, 45, 44, 43, 44, 43, 42, 42, 43,
+  42, 40, 39, 38, 37, 36, 34, 32, 32, 31, 32, 32, 33, 33, 32, 31,
+  46, 48, 49, 50, 50, 53, 56, 61, 68, 73, 75, 80, 84, 98, 106, 114,
+  94, 45, 36, 39, 41, 48, 58, 59, 58, 54, 49, 46, 51, 54, 54, 55,
+  74, 47, 48, 38, 95, 178, 187, 198, 97, 75, 74, 88, 91, 95, 101, 84,
+  64, 51, 60, 92, 101, 111, 106, 59, 110, 123, 115, 107, 101, 95, 91, 86,
+  84, 81, 78, 77, 75, 73, 72, 72, 70, 69, 68, 65, 64, 62, 61, 62,
+  62, 61, 60, 59, 58, 56, 55, 55, 54, 52, 51, 47, 46, 44, 43, 44,
+  44, 44, 44, 45, 45, 46, 47, 47, 47, 47, 47, 47, 46, 45, 45, 44,
+  43, 41, 40, 39, 39, 37, 35, 34, 33, 30, 31, 31, 30, 31, 32, 32,
+  46, 48, 49, 51, 51, 55, 58, 63, 70, 75, 77, 82, 90, 104, 112, 99,
+  56, 38, 41, 49, 58, 60, 53, 45, 55, 62, 61, 53, 49, 50, 47, 55,
+  60, 69, 71, 49, 95, 178, 193, 201, 108, 73, 82, 91, 104, 94, 114, 73,
+  68, 67, 83, 117, 130, 136, 121, 60, 108, 123, 114, 107, 101, 96, 93, 90,
+  88, 85, 83, 81, 79, 77, 76, 76, 75, 73, 72, 68, 67, 65, 63, 63,
+  63, 62, 61, 61, 60, 57, 56, 57, 55, 53, 52, 48, 47, 45, 44, 45,
+  45, 45, 46, 49, 49, 51, 51, 50, 50, 50, 51, 51, 50, 49, 49, 49,
+  47, 45, 44, 43, 42, 40, 37, 36, 35, 33, 33, 32, 31, 31, 32, 32,
+  46, 48, 49, 51, 52, 56, 60, 66, 73, 78, 81, 88, 96, 108, 109, 69,
+  49, 48, 48, 51, 52, 44, 39, 65, 88, 101, 103, 99, 76, 58, 46, 52,
+  61, 73, 68, 51, 98, 180, 195, 210, 154, 108, 92, 84, 87, 75, 57, 23,
+  48, 83, 111, 137, 127, 104, 92, 69, 109, 122, 114, 108, 103, 100, 98, 95,
+  93, 90, 88, 85, 84, 82, 80, 80, 79, 77, 76, 73, 71, 69, 68, 67,
+  66, 65, 65, 64, 63, 61, 60, 60, 58, 56, 54, 50, 49, 47, 46, 48,
+  48, 49, 50, 52, 53, 55, 55, 54, 54, 54, 55, 55, 54, 53, 53, 54,
+  52, 50, 48, 46, 45, 42, 40, 39, 37, 35, 34, 33, 31, 32, 31, 31,
+  47, 49, 50, 52, 54, 58, 62, 69, 76, 82, 86, 94, 104, 113, 74, 33,
+  36, 38, 36, 41, 41, 31, 59, 102, 117, 125, 129, 130, 126, 103, 55, 55,
+  67, 87, 68, 46, 97, 176, 192, 222, 219, 181, 144, 95, 85, 69, 18, 22,
+  81, 118, 136, 125, 74, 88, 99, 96, 118, 121, 116, 112, 109, 105, 103, 100,
+  97, 95, 92, 89, 88, 86, 84, 82, 81, 79, 78, 75, 74, 72, 71, 71,
+  70, 69, 69, 68, 67, 65, 64, 65, 62, 59, 57, 53, 51, 50, 49, 49,
+  50, 52, 52, 53, 55, 57, 58, 57, 57, 57, 57, 58, 57, 56, 56, 57,
+  55, 53, 51, 48, 47, 43, 41, 41, 38, 35, 35, 34, 32, 32, 31, 31,
+  48, 50, 51, 53, 55, 60, 65, 72, 81, 87, 92, 99, 114, 104, 24, 25,
+  36, 43, 50, 52, 38, 55, 105, 115, 120, 119, 121, 124, 134, 137, 101, 68,
+  72, 78, 68, 48, 92, 173, 190, 214, 235, 237, 238, 177, 115, 56, 76, 115,
+  133, 136, 140, 78, 68, 129, 137, 135, 134, 128, 123, 121, 117, 112, 110, 106,
+  103, 100, 97, 94, 92, 91, 89, 87, 85, 83, 82, 80, 79, 77, 76, 76,
+  76, 75, 74, 74, 73, 71, 69, 68, 67, 63, 60, 55, 54, 52, 52, 52,
+  54, 56, 56, 56, 59, 61, 63, 63, 63, 63, 63, 65, 64, 63, 62, 61,
+  60, 58, 56, 53, 52, 48, 44, 43, 40, 36, 36, 35, 33, 32, 31, 30,
+  48, 50, 51, 53, 56, 61, 66, 73, 82, 89, 94, 105, 113, 70, 23, 52,
+  60, 61, 60, 47, 43, 90, 116, 116, 120, 118, 117, 118, 126, 135, 137, 88,
+  71, 74, 80, 63, 102, 180, 194, 215, 242, 249, 253, 226, 95, 58, 104, 134,
+  134, 128, 125, 57, 112, 159, 156, 150, 146, 140, 132, 127, 123, 117, 114, 110,
+  108, 104, 102, 99, 97, 95, 94, 91, 89, 88, 86, 83, 82, 80, 79, 79,
+  79, 78, 77, 77, 75, 73, 72, 70, 67, 63, 60, 56, 54, 52, 53, 54,
+  56, 57, 58, 60, 62, 65, 67, 69, 69, 69, 70, 71, 71, 69, 68, 66,
+  64, 63, 62, 60, 57, 53, 49, 46, 43, 39, 37, 36, 33, 32, 31, 30,
+  47, 49, 51, 54, 57, 63, 67, 75, 82, 89, 102, 111, 105, 49, 39, 65,
+  64, 59, 47, 27, 61, 113, 117, 118, 122, 122, 122, 123, 133, 137, 144, 119,
+  68, 86, 96, 78, 103, 188, 205, 224, 244, 249, 251, 237, 55, 99, 133, 137,
+  134, 128, 113, 63, 139, 173, 169, 161, 156, 147, 136, 130, 127, 122, 117, 115,
+  110, 105, 103, 102, 99, 99, 97, 89, 87, 87, 87, 86, 85, 82, 80, 81,
+  81, 83, 80, 80, 76, 74, 73, 73, 68, 66, 63, 59, 57, 55, 56, 58,
+  57, 58, 58, 61, 65, 71, 71, 71, 73, 75, 76, 76, 74, 73, 74, 71,
+  67, 65, 67, 64, 63, 54, 53, 48, 45, 40, 37, 36, 32, 32, 31, 30,
+  47, 48, 51, 54, 57, 63, 68, 77, 82, 92, 107, 119, 95, 37, 40, 63,
+  55, 52, 42, 28, 83, 120, 120, 116, 121, 122, 124, 128, 134, 140, 144, 147,
+  85, 82, 91, 78, 97, 191, 215, 234, 247, 250, 251, 246, 92, 126, 146, 135,
+  121, 122, 116, 71, 153, 175, 168, 160, 151, 141, 132, 126, 123, 118, 113, 113,
+  109, 102, 99, 99, 96, 98, 97, 83, 81, 84, 86, 87, 87, 84, 83, 87,
+  85, 87, 84, 79, 82, 81, 75, 70, 71, 70, 64, 63, 61, 58, 60, 63,
+  61, 59, 61, 65, 68, 75, 75, 74, 78, 82, 84, 83, 79, 75, 73, 73,
+  73, 73, 70, 67, 61, 61, 59, 50, 46, 41, 37, 35, 32, 32, 32, 31,
+  47, 48, 51, 54, 58, 63, 70, 79, 85, 98, 107, 115, 55, 10, 29, 56,
+  52, 53, 42, 42, 103, 124, 117, 113, 116, 118, 121, 123, 129, 135, 141, 150,
+  100, 83, 106, 81, 98, 194, 215, 239, 253, 252, 251, 245, 121, 124, 141, 132,
+  126, 134, 124, 68, 146, 157, 144, 139, 134, 126, 121, 116, 113, 109, 106, 109,
+  106, 101, 98, 95, 94, 98, 97, 89, 89, 92, 94, 91, 91, 89, 88, 88,
+  84, 84, 85, 85, 81, 80, 84, 74, 76, 72, 67, 66, 63, 62, 63, 67,
+  66, 64, 66, 69, 70, 76, 79, 78, 81, 84, 86, 84, 81, 77, 76, 75,
+  76, 76, 70, 72, 66, 63, 58, 52, 48, 43, 38, 36, 33, 32, 32, 31,
+  47, 48, 51, 54, 59, 65, 72, 80, 88, 99, 111, 88, 8, 9, 32, 52,
+  59, 61, 38, 60, 116, 121, 111, 107, 110, 112, 115, 116, 121, 127, 134, 144,
+  123, 94, 90, 55, 96, 189, 209, 234, 249, 250, 248, 247, 112, 87, 70, 96,
+  120, 122, 121, 74, 151, 164, 156, 145, 134, 127, 121, 118, 117, 114, 111, 113,
+  111, 107, 104, 101, 102, 103, 102, 96, 96, 98, 99, 100, 99, 96, 92, 87,
+  87, 89, 90, 93, 90, 88, 89, 90, 83, 74, 76, 69, 67, 64, 65, 71,
+  70, 69, 70, 72, 79, 84, 88, 86, 89, 92, 93, 93, 85, 82, 83, 79,
+  74, 78, 76, 70, 78, 63, 60, 57, 51, 46, 40, 38, 34, 33, 32, 31,
+  47, 48, 51, 54, 60, 66, 74, 82, 88, 98, 114, 67, 28, 44, 51, 64,
+  60, 62, 34, 79, 119, 117, 107, 106, 107, 108, 110, 112, 119, 125, 131, 139,
+  139, 95, 83, 53, 87, 178, 200, 224, 243, 251, 254, 250, 115, 86, 91, 85,
+  97, 130, 130, 70, 146, 161, 157, 146, 136, 132, 130, 125, 123, 121, 120, 121,
+  120, 116, 111, 109, 110, 109, 108, 112, 114, 113, 112, 112, 107, 102, 97, 94,
+  96, 95, 94, 95, 97, 97, 94, 91, 89, 85, 79, 73, 70, 67, 68, 74,
+  72, 74, 76, 80, 89, 91, 94, 93, 96, 99, 99, 98, 98, 92, 86, 81,
+  83, 84, 81, 79, 72, 76, 67, 60, 54, 49, 42, 40, 35, 33, 32, 31,
+  47, 48, 51, 54, 61, 68, 75, 84, 89, 100, 114, 59, 55, 60, 60, 73,
+  65, 56, 33, 95, 119, 114, 106, 105, 105, 105, 108, 111, 117, 122, 128, 134,
+  135, 62, 63, 57, 81, 172, 200, 228, 251, 254, 254, 247, 132, 117, 140, 119,
+  89, 97, 105, 74, 149, 158, 145, 134, 126, 126, 127, 126, 126, 126, 124, 127,
+  128, 124, 117, 116, 118, 117, 123, 126, 126, 123, 119, 118, 114, 109, 105, 100,
+  101, 100, 105, 106, 92, 88, 98, 99, 93, 94, 83, 79, 75, 71, 72, 77,
+  77, 79, 82, 86, 93, 96, 106, 109, 114, 117, 115, 103, 99, 98, 95, 91,
+  91, 90, 99, 104, 81, 81, 69, 64, 57, 51, 44, 41, 36, 34, 32, 31,
+  47, 48, 51, 54, 61, 68, 76, 86, 90, 106, 112, 62, 52, 55, 65, 78,
+  79, 52, 34, 100, 117, 109, 102, 102, 104, 104, 107, 109, 112, 117, 120, 129,
+  129, 48, 74, 80, 81, 174, 212, 234, 252, 254, 254, 250, 143, 150, 135, 138,
+  125, 101, 76, 72, 153, 170, 163, 143, 130, 128, 128, 129, 131, 131, 129, 133,
+  135, 129, 121, 125, 128, 130, 142, 161, 161, 156, 149, 124, 118, 115, 114, 112,
+  112, 117, 138, 164, 166, 153, 134, 127, 96, 95, 92, 86, 80, 77, 77, 80,
+  81, 84, 89, 95, 102, 114, 140, 156, 163, 167, 167, 145, 102, 92, 103, 102,
+  99, 116, 144, 110, 118, 81, 76, 66, 59, 52, 45, 42, 37, 34, 32, 31,
+  47, 49, 53, 56, 62, 68, 76, 86, 96, 104, 97, 47, 53, 71, 79, 85,
+  82, 47, 45, 107, 117, 107, 101, 100, 100, 98, 99, 101, 106, 110, 116, 124,
+  127, 114, 117, 93, 94, 184, 210, 231, 252, 248, 253, 247, 138, 139, 133, 146,
+  142, 147, 140, 70, 151, 170, 160, 158, 153, 147, 140, 139, 135, 138, 150, 159,
+  156, 148, 101, 132, 142, 159, 162, 138, 122, 136, 105, 108, 99, 115, 122, 124,
+  129, 162, 166, 177, 194, 211, 218, 186, 130, 92, 95, 90, 84, 82, 83, 79,
+  85, 94, 97, 103, 120, 126, 138, 148, 141, 142, 124, 70, 35, 100, 127, 113,
+  124, 162, 139, 162, 163, 98, 72, 70, 60, 55, 46, 42, 36, 33, 32, 31,
+  47, 49, 53, 57, 63, 69, 77, 86, 92, 109, 96, 59, 58, 83, 71, 63,
+  42, 29, 47, 107, 110, 102, 97, 97, 95, 94, 95, 98, 103, 108, 112, 120,
+  132, 133, 106, 90, 121, 184, 207, 232, 237, 240, 249, 248, 148, 133, 132, 118,
+  142, 148, 141, 72, 138, 162, 159, 153, 151, 148, 148, 139, 171, 155, 153, 164,
+  155, 152, 91, 130, 158, 189, 182, 136, 130, 116, 106, 109, 101, 90, 122, 135,
+  166, 198, 181, 177, 206, 216, 214, 211, 177, 106, 90, 94, 89, 85, 84, 87,
+  92, 96, 108, 134, 148, 156, 132, 123, 121, 131, 74, 77, 126, 180, 193, 134,
+  154, 170, 143, 177, 164, 126, 60, 67, 63, 55, 48, 43, 38, 34, 32, 31,
+  47, 49, 53, 57, 65, 71, 79, 88, 97, 109, 73, 52, 77, 90, 77, 74,
+  59, 51, 57, 106, 104, 97, 93, 93, 93, 91, 92, 95, 100, 107, 113, 117,
+  132, 155, 152, 143, 151, 185, 204, 228, 218, 234, 241, 246, 132, 117, 148, 131,
+  133, 121, 126, 70, 131, 153, 154, 151, 154, 147, 152, 145, 174, 159, 160, 158,
+  162, 149, 82, 150, 186, 195, 178, 187, 180, 192, 202, 198, 175, 121, 109, 155,
+  168, 152, 178, 186, 208, 212, 212, 168, 156, 179, 86, 96, 96, 88, 87, 91,
+  96, 103, 132, 180, 179, 180, 152, 128, 127, 128, 132, 178, 197, 200, 198, 179,
+  162, 157, 151, 165, 140, 145, 53, 63, 65, 56, 50, 44, 39, 35, 34, 32,
+  47, 49, 53, 57, 66, 73, 80, 90, 98, 108, 67, 70, 100, 83, 84, 75,
+  67, 64, 58, 105, 101, 95, 92, 92, 92, 91, 93, 95, 99, 108, 116, 125,
+  136, 146, 151, 157, 164, 183, 202, 217, 207, 232, 230, 241, 123, 118, 126, 114,
+  144, 161, 147, 70, 135, 147, 145, 148, 149, 135, 147, 163, 166, 158, 167, 181,
+  160, 167, 116, 181, 191, 196, 175, 186, 149, 203, 203, 205, 210, 182, 110, 189,
+  182, 172, 189, 196, 212, 214, 195, 145, 175, 231, 104, 91, 102, 94, 92, 93,
+  99, 120, 160, 187, 187, 184, 185, 171, 107, 81, 150, 198, 185, 164, 179, 157,
+  150, 143, 134, 158, 138, 142, 42, 61, 66, 56, 50, 45, 39, 36, 34, 32,
+  47, 49, 53, 57, 66, 72, 80, 89, 94, 109, 82, 93, 91, 76, 92, 70,
+  84, 71, 58, 101, 100, 95, 93, 92, 92, 91, 94, 96, 100, 110, 119, 124,
+  129, 141, 153, 161, 163, 178, 196, 200, 202, 227, 220, 233, 129, 142, 138, 115,
+  133, 141, 143, 77, 140, 148, 139, 141, 139, 128, 144, 165, 161, 165, 176, 193,
+  147, 160, 152, 199, 201, 185, 171, 187, 146, 198, 187, 203, 185, 190, 161, 212,
+  194, 200, 219, 207, 201, 197, 176, 166, 234, 212, 111, 79, 105, 101, 98, 98,
+  108, 143, 175, 187, 204, 188, 196, 137, 56, 74, 124, 179, 164, 131, 161, 151,
+  166, 90, 89, 151, 161, 127, 40, 63, 65, 56, 49, 44, 39, 35, 34, 33,
+  47, 49, 53, 57, 65, 71, 79, 88, 92, 107, 85, 79, 65, 75, 88, 58,
+  77, 57, 67, 107, 100, 95, 93, 93, 90, 90, 93, 98, 106, 110, 116, 118,
+  122, 136, 147, 152, 156, 171, 185, 184, 196, 213, 213, 230, 150, 139, 139, 131,
+  148, 147, 145, 73, 135, 151, 141, 135, 136, 129, 137, 160, 157, 177, 183, 192,
+  173, 153, 173, 193, 162, 119, 131, 190, 181, 205, 188, 169, 175, 202, 195, 199,
+  192, 153, 157, 197, 201, 207, 198, 210, 197, 129, 131, 63, 106, 106, 102, 103,
+  117, 156, 155, 140, 179, 175, 173, 61, 65, 110, 126, 141, 129, 130, 141, 134,
+  165, 111, 80, 139, 127, 64, 37, 67, 62, 55, 47, 43, 37, 34, 33, 33,
+  48, 49, 54, 58, 63, 70, 79, 88, 92, 105, 80, 69, 68, 77, 67, 54,
+  107, 66, 74, 103, 100, 95, 93, 92, 89, 90, 94, 99, 107, 110, 113, 119,
+  128, 137, 147, 153, 157, 164, 174, 177, 195, 197, 206, 215, 166, 155, 157, 148,
+  147, 154, 153, 68, 128, 152, 146, 134, 132, 124, 120, 163, 165, 186, 181, 185,
+  182, 157, 172, 148, 70, 74, 99, 169, 184, 191, 175, 182, 186, 189, 190, 189,
+  102, 62, 83, 128, 181, 193, 159, 189, 154, 132, 124, 52, 105, 106, 102, 105,
+  120, 153, 149, 157, 168, 147, 124, 43, 96, 129, 135, 137, 131, 152, 120, 127,
+  143, 119, 75, 92, 69, 42, 63, 69, 60, 53, 45, 41, 35, 32, 32, 32,
+  49, 50, 54, 58, 62, 70, 78, 87, 96, 103, 71, 75, 96, 92, 76, 90,
+  116, 67, 79, 109, 103, 97, 94, 92, 91, 93, 97, 100, 101, 106, 113, 121,
+  130, 138, 145, 151, 156, 156, 162, 177, 197, 178, 198, 206, 155, 163, 169, 161,
+  160, 170, 161, 70, 127, 146, 145, 140, 132, 125, 125, 142, 165, 182, 180, 198,
+  188, 169, 175, 79, 61, 111, 133, 151, 189, 203, 203, 199, 170, 164, 171, 126,
+  47, 94, 118, 118, 131, 122, 94, 137, 151, 169, 159, 43, 104, 103, 102, 106,
+  126, 155, 181, 184, 173, 141, 110, 50, 112, 128, 129, 136, 149, 162, 112, 133,
+  106, 111, 61, 93, 82, 69, 72, 69, 59, 51, 43, 39, 33, 30, 30, 31,
+  49, 50, 54, 58, 62, 69, 77, 87, 94, 107, 91, 96, 111, 109, 101, 120,
+  113, 65, 78, 110, 106, 100, 97, 96, 95, 94, 95, 97, 99, 105, 112, 121,
+  130, 134, 142, 149, 148, 147, 155, 174, 187, 171, 191, 198, 157, 160, 146, 165,
+  172, 171, 170, 73, 126, 143, 142, 144, 136, 126, 131, 153, 178, 182, 175, 194,
+  195, 184, 132, 51, 103, 128, 144, 151, 205, 220, 217, 218, 180, 197, 183, 63,
+  75, 125, 130, 133, 160, 174, 177, 195, 182, 199, 175, 39, 102, 103, 103, 108,
+  144, 174, 178, 172, 175, 155, 120, 48, 122, 124, 131, 140, 148, 147, 104, 128,
+  131, 127, 48, 86, 90, 80, 74, 67, 58, 50, 42, 38, 33, 30, 30, 31,
+  48, 50, 53, 57, 61, 69, 76, 86, 91, 110, 110, 114, 111, 110, 108, 123,
+  97, 57, 76, 112, 108, 103, 100, 98, 95, 93, 92, 94, 98, 104, 111, 118,
+  126, 132, 138, 143, 139, 140, 152, 172, 174, 165, 186, 190, 161, 160, 174, 174,
+  176, 169, 181, 71, 124, 141, 139, 141, 135, 128, 133, 156, 180, 176, 183, 212,
+  210, 161, 71, 70, 126, 130, 139, 154, 202, 213, 223, 221, 183, 196, 183, 48,
+  106, 135, 132, 129, 177, 212, 210, 217, 211, 194, 166, 36, 102, 105, 106, 116,
+  152, 167, 158, 143, 170, 164, 128, 56, 121, 129, 134, 141, 130, 128, 124, 137,
+  147, 133, 43, 82, 93, 79, 71, 65, 56, 49, 42, 37, 32, 30, 30, 31,
+  47, 49, 53, 57, 61, 68, 76, 86, 96, 108, 105, 100, 97, 99, 100, 104,
+  95, 64, 78, 115, 111, 105, 101, 98, 90, 90, 91, 93, 98, 104, 111, 116,
+  123, 131, 133, 133, 133, 138, 151, 168, 162, 163, 181, 192, 156, 167, 189, 163,
+  189, 186, 179, 67, 123, 139, 136, 135, 133, 130, 133, 149, 169, 174, 199, 210,
+  178, 80, 39, 91, 130, 143, 132, 151, 197, 216, 223, 199, 168, 181, 146, 57,
+  123, 135, 139, 145, 158, 182, 166, 189, 189, 166, 146, 35, 103, 108, 107, 115,
+  143, 153, 167, 161, 172, 153, 117, 59, 122, 127, 133, 136, 134, 146, 154, 150,
+  137, 110, 42, 80, 88, 75, 68, 63, 54, 47, 40, 37, 33, 31, 30, 30,
+  47, 49, 52, 56, 60, 67, 75, 85, 94, 108, 106, 101, 100, 100, 111, 108,
+  113, 81, 81, 117, 114, 106, 100, 96, 89, 90, 91, 95, 99, 105, 112, 116,
+  121, 129, 127, 127, 131, 139, 151, 162, 153, 162, 174, 187, 136, 157, 145, 150,
+  186, 165, 160, 73, 124, 138, 134, 133, 132, 131, 136, 155, 176, 189, 201, 171,
+  84, 99, 63, 100, 136, 137, 136, 142, 161, 186, 197, 160, 148, 190, 130, 68,
+  133, 134, 136, 137, 153, 182, 159, 203, 175, 164, 134, 37, 106, 110, 109, 115,
+  129, 141, 166, 155, 158, 146, 120, 54, 127, 123, 134, 141, 149, 150, 142, 138,
+  122, 121, 43, 80, 86, 75, 69, 60, 52, 46, 40, 36, 33, 31, 30, 30,
+  47, 49, 52, 56, 60, 67, 75, 85, 91, 108, 106, 101, 98, 94, 119, 118,
+  121, 88, 77, 118, 114, 105, 98, 96, 94, 93, 93, 96, 100, 106, 113, 117,
+  120, 124, 123, 126, 130, 140, 150, 156, 147, 161, 167, 179, 138, 163, 163, 154,
+  153, 130, 137, 66, 125, 138, 134, 132, 128, 127, 136, 155, 181, 198, 180, 129,
+  119, 203, 75, 107, 134, 131, 137, 141, 156, 180, 169, 146, 152, 194, 133, 74,
+  136, 129, 133, 139, 142, 170, 170, 193, 164, 155, 119, 39, 109, 112, 109, 118,
+  126, 147, 167, 153, 165, 153, 130, 63, 122, 129, 135, 144, 149, 135, 129, 133,
+  125, 103, 38, 79, 85, 73, 65, 59, 51, 45, 40, 36, 32, 31, 30, 30,
+  48, 49, 51, 54, 60, 66, 74, 84, 93, 108, 103, 89, 88, 96, 122, 124,
+  124, 104, 69, 118, 114, 104, 98, 96, 95, 94, 96, 98, 102, 106, 115, 118,
+  119, 118, 119, 128, 130, 142, 152, 148, 144, 159, 162, 175, 176, 181, 188, 176,
+  160, 155, 156, 61, 124, 136, 133, 133, 126, 122, 133, 156, 187, 170, 124, 143,
+  216, 235, 74, 102, 127, 128, 133, 144, 181, 180, 149, 154, 170, 191, 135, 74,
+  131, 127, 129, 132, 135, 159, 152, 175, 152, 137, 113, 39, 110, 114, 111, 117,
+  130, 159, 170, 160, 176, 166, 146, 75, 115, 132, 135, 142, 144, 119, 135, 142,
+  140, 75, 45, 81, 83, 71, 62, 58, 49, 44, 39, 35, 33, 32, 30, 30,
+  49, 49, 51, 53, 59, 66, 73, 83, 92, 108, 104, 89, 94, 109, 118, 130,
+  126, 107, 69, 114, 113, 104, 100, 99, 97, 96, 98, 100, 103, 108, 115, 117,
+  115, 115, 123, 132, 136, 146, 145, 141, 144, 158, 159, 177, 190, 170, 180, 186,
+  187, 195, 160, 64, 123, 136, 133, 133, 126, 122, 130, 146, 161, 124, 174, 220,
+  237, 194, 56, 101, 124, 124, 131, 142, 171, 162, 160, 183, 185, 184, 100, 73,
+  128, 127, 125, 134, 145, 164, 171, 169, 140, 135, 134, 40, 111, 116, 112, 117,
+  127, 147, 151, 149, 153, 146, 132, 76, 102, 137, 149, 146, 145, 125, 142, 143,
+  127, 50, 48, 82, 80, 69, 62, 57, 49, 43, 37, 35, 34, 32, 30, 30,
+  48, 48, 50, 53, 59, 65, 72, 82, 90, 105, 107, 95, 104, 120, 110, 139,
+  141, 122, 68, 107, 114, 106, 103, 104, 100, 100, 101, 103, 105, 111, 116, 114,
+  109, 116, 128, 131, 145, 151, 142, 139, 147, 156, 153, 173, 143, 166, 130, 171,
+  191, 156, 124, 69, 123, 138, 133, 131, 127, 124, 130, 132, 116, 184, 239, 232,
+  201, 166, 58, 99, 124, 124, 131, 142, 163, 188, 173, 194, 188, 182, 98, 73,
+  128, 126, 125, 133, 157, 159, 182, 171, 144, 144, 149, 41, 113, 118, 115, 118,
+  121, 126, 124, 140, 135, 134, 132, 116, 105, 128, 141, 136, 140, 131, 125, 120,
+  74, 29, 65, 83, 76, 68, 62, 56, 48, 43, 37, 36, 34, 32, 30, 30,
+  47, 48, 49, 52, 57, 64, 71, 81, 90, 105, 112, 106, 107, 125, 116, 152,
+  158, 138, 69, 103, 118, 110, 104, 105, 102, 101, 103, 105, 108, 114, 116, 110,
+  109, 120, 127, 139, 143, 144, 144, 138, 149, 153, 150, 167, 70, 83, 126, 190,
+  158, 100, 142, 72, 122, 139, 133, 130, 127, 125, 129, 126, 181, 244, 236, 208,
+  205, 194, 71, 98, 125, 125, 131, 135, 148, 205, 166, 187, 176, 176, 108, 72,
+  127, 126, 126, 128, 160, 155, 168, 169, 156, 152, 143, 42, 114, 120, 115, 119,
+  121, 122, 118, 131, 131, 142, 144, 146, 125, 125, 128, 111, 118, 125, 113, 90,
+  38, 44, 82, 83, 72, 67, 61, 54, 47, 42, 36, 35, 34, 31, 30, 30,
+  47, 47, 49, 52, 56, 62, 69, 80, 91, 104, 116, 115, 116, 132, 127, 158,
+  148, 118, 76, 90, 118, 114, 106, 106, 104, 104, 106, 108, 112, 116, 117, 111,
+  114, 119, 135, 168, 152, 133, 139, 134, 150, 149, 147, 166, 133, 115, 130, 131,
+  78, 127, 186, 72, 121, 139, 134, 131, 127, 124, 130, 156, 225, 213, 202, 208,
+  200, 215, 68, 100, 125, 126, 132, 131, 156, 196, 152, 185, 180, 182, 112, 71,
+  127, 127, 126, 131, 158, 164, 167, 171, 160, 156, 147, 41, 114, 121, 116, 118,
+  124, 128, 127, 123, 124, 133, 136, 153, 136, 123, 120, 109, 127, 121, 91, 57,
+  39, 72, 85, 81, 70, 66, 59, 52, 46, 41, 37, 36, 33, 31, 30, 30,
+  47, 47, 49, 51, 55, 62, 69, 79, 89, 100, 117, 120, 123, 138, 133, 158,
+  136, 109, 97, 76, 114, 117, 108, 109, 109, 109, 111, 113, 115, 116, 116, 114,
+  117, 122, 150, 192, 173, 129, 124, 135, 150, 144, 146, 168, 167, 193, 160, 124,
+  121, 209, 192, 65, 121, 137, 135, 133, 127, 123, 130, 167, 217, 171, 163, 191,
+  173, 218, 67, 101, 126, 126, 132, 141, 187, 190, 143, 168, 176, 179, 120, 72,
+  127, 127, 127, 136, 146, 164, 173, 171, 158, 154, 151, 40, 113, 120, 115, 115,
+  123, 130, 136, 128, 125, 129, 138, 158, 126, 108, 113, 126, 140, 96, 53, 46,
+  68, 91, 85, 79, 69, 66, 58, 51, 45, 40, 36, 35, 33, 31, 30, 30,
+  46, 47, 49, 51, 55, 62, 69, 79, 87, 97, 113, 118, 117, 137, 134, 159,
+  153, 152, 137, 82, 112, 119, 111, 111, 113, 113, 114, 116, 115, 113, 114, 116,
+  120, 134, 160, 186, 181, 121, 102, 133, 147, 140, 148, 160, 190, 195, 195, 200,
+  211, 228, 210, 73, 122, 136, 135, 134, 127, 124, 133, 164, 190, 193, 208, 165,
+  215, 220, 66, 103, 129, 128, 132, 142, 167, 165, 151, 158, 146, 133, 77, 71,
+  127, 127, 126, 135, 124, 143, 167, 167, 160, 152, 144, 40, 112, 120, 115, 113,
+  122, 130, 140, 134, 133, 140, 149, 135, 99, 105, 125, 122, 89, 49, 56, 81,
+  103, 91, 85, 77, 69, 68, 57, 49, 44, 40, 35, 35, 33, 30, 30, 30,
+  45, 49, 50, 53, 56, 62, 69, 79, 85, 93, 101, 111, 122, 135, 132, 150,
+  165, 152, 150, 97, 107, 121, 114, 109, 114, 112, 117, 113, 117, 112, 115, 117,
+  129, 149, 159, 150, 180, 88, 78, 132, 141, 138, 146, 159, 194, 191, 205, 214,
+  219, 231, 218, 74, 120, 135, 132, 130, 128, 132, 139, 162, 179, 193, 226, 215,
+  200, 186, 69, 107, 135, 129, 129, 133, 123, 143, 174, 189, 195, 172, 103, 69,
+  122, 127, 123, 134, 106, 97, 113, 143, 156, 155, 139, 44, 119, 122, 117, 115,
+  126, 136, 137, 118, 143, 143, 112, 67, 69, 72, 61, 60, 65, 78, 96, 104,
+  101, 91, 83, 77, 73, 69, 60, 48, 41, 38, 34, 33, 30, 29, 30, 30,
+  45, 48, 50, 53, 56, 62, 69, 77, 83, 89, 95, 107, 114, 121, 135, 144,
+  151, 137, 141, 134, 93, 120, 115, 115, 117, 117, 119, 114, 113, 111, 114, 125,
+  143, 182, 165, 175, 148, 51, 91, 132, 142, 141, 150, 161, 194, 178, 192, 213,
+  195, 220, 189, 75, 118, 136, 135, 134, 129, 129, 139, 165, 198, 204, 191, 183,
+  159, 157, 56, 108, 135, 130, 125, 134, 153, 189, 189, 190, 195, 175, 104, 64,
+  121, 127, 126, 134, 142, 144, 120, 114, 127, 130, 120, 42, 113, 123, 115, 121,
+  129, 130, 121, 127, 146, 138, 65, 57, 108, 115, 110, 113, 113, 112, 116, 114,
+  103, 90, 84, 77, 73, 68, 59, 48, 42, 37, 33, 32, 29, 28, 30, 30,
+  46, 48, 49, 52, 55, 60, 66, 73, 79, 86, 91, 101, 108, 116, 137, 130,
+  126, 126, 158, 151, 112, 107, 126, 115, 119, 116, 117, 119, 115, 113, 114, 132,
+  173, 191, 173, 173, 99, 55, 111, 138, 144, 141, 152, 169, 187, 180, 200, 199,
+  185, 201, 153, 90, 109, 142, 133, 129, 130, 132, 136, 166, 202, 202, 164, 120,
+  150, 152, 56, 111, 134, 128, 126, 141, 178, 200, 171, 181, 181, 166, 98, 69,
+  120, 119, 125, 128, 147, 155, 160, 154, 126, 115, 120, 39, 115, 119, 115, 117,
+  126, 122, 114, 118, 130, 133, 91, 91, 145, 142, 143, 141, 138, 129, 124, 120,
+  108, 94, 87, 79, 73, 67, 59, 50, 43, 38, 33, 32, 29, 28, 30, 30,
+  46, 48, 48, 50, 54, 58, 63, 69, 77, 83, 89, 98, 109, 126, 153, 155,
+  156, 149, 164, 162, 136, 117, 115, 123, 123, 123, 121, 121, 116, 123, 131, 164,
+  187, 186, 179, 153, 57, 84, 119, 141, 148, 142, 156, 174, 183, 189, 205, 196,
+  189, 211, 187, 134, 100, 135, 135, 132, 131, 133, 134, 155, 189, 180, 197, 172,
+  120, 131, 68, 99, 135, 130, 126, 144, 181, 178, 161, 180, 173, 163, 110, 67,
+  118, 119, 123, 131, 152, 125, 155, 155, 160, 154, 139, 56, 107, 119, 119, 122,
+  128, 116, 122, 123, 114, 111, 112, 92, 116, 120, 138, 143, 140, 137, 132, 124,
+  115, 102, 91, 83, 75, 67, 59, 51, 44, 38, 34, 32, 29, 28, 30, 30,
+  46, 47, 47, 49, 52, 56, 59, 65, 74, 81, 87, 93, 101, 111, 134, 156,
+  166, 167, 168, 160, 148, 150, 114, 126, 120, 126, 120, 117, 123, 138, 155, 185,
+  193, 185, 164, 87, 62, 103, 122, 138, 149, 149, 165, 174, 190, 193, 194, 192,
+  192, 204, 200, 192, 136, 132, 138, 130, 131, 133, 140, 162, 176, 178, 200, 195,
+  119, 123, 98, 97, 129, 131, 129, 163, 180, 161, 166, 179, 170, 166, 124, 61,
+  115, 125, 121, 127, 147, 102, 160, 150, 152, 150, 146, 93, 92, 119, 115, 116,
+  126, 104, 119, 101, 111, 111, 115, 88, 58, 85, 122, 110, 110, 118, 121, 122,
+  120, 110, 97, 88, 77, 68, 60, 53, 45, 39, 34, 32, 29, 28, 30, 30,
+  46, 47, 47, 48, 51, 54, 57, 62, 71, 77, 82, 89, 101, 108, 115, 134,
+  132, 158, 176, 136, 128, 140, 133, 146, 127, 116, 121, 141, 174, 169, 136, 138,
+  174, 170, 109, 50, 94, 112, 121, 138, 167, 181, 199, 194, 195, 195, 201, 207,
+  201, 201, 192, 179, 187, 200, 185, 111, 128, 151, 158, 175, 178, 171, 169, 184,
+  194, 190, 174, 138, 116, 123, 153, 183, 163, 152, 158, 171, 166, 156, 108, 88,
+  114, 111, 110, 105, 113, 91, 163, 124, 142, 144, 135, 118, 112, 106, 106, 119,
+  129, 81, 100, 98, 125, 118, 91, 70, 87, 116, 102, 73, 75, 83, 87, 96,
+  103, 106, 103, 92, 81, 69, 61, 54, 46, 39, 34, 32, 29, 28, 30, 30,
+  46, 47, 46, 47, 50, 52, 56, 60, 68, 74, 79, 84, 88, 101, 108, 119,
+  125, 155, 157, 131, 104, 108, 127, 152, 149, 138, 147, 186, 195, 156, 145, 175,
+  168, 132, 63, 84, 107, 113, 116, 131, 171, 192, 203, 195, 189, 195, 209, 210,
+  198, 204, 188, 177, 200, 193, 178, 85, 125, 179, 177, 175, 182, 159, 179, 196,
+  179, 179, 174, 160, 106, 114, 170, 170, 139, 150, 159, 168, 163, 144, 118, 124,
+  107, 88, 91, 96, 101, 106, 155, 138, 139, 134, 127, 128, 129, 92, 94, 115,
+  119, 64, 70, 79, 103, 109, 97, 97, 113, 117, 91, 78, 83, 88, 83, 82,
+  86, 94, 102, 95, 81, 72, 61, 56, 47, 40, 35, 33, 30, 29, 30, 30,
+  46, 46, 45, 46, 49, 50, 55, 58, 65, 72, 77, 83, 89, 94, 103, 110,
+  113, 150, 140, 151, 157, 158, 175, 176, 186, 170, 177, 220, 203, 194, 190, 212,
+  169, 73, 71, 111, 113, 110, 114, 131, 177, 191, 197, 182, 181, 192, 202, 197,
+  201, 196, 176, 187, 206, 186, 162, 72, 129, 189, 177, 169, 174, 174, 192, 187,
+  158, 155, 161, 160, 94, 101, 164, 144, 135, 155, 160, 162, 161, 137, 155, 103,
+  86, 70, 71, 55, 70, 120, 156, 141, 137, 132, 129, 132, 119, 77, 73, 116,
+  124, 100, 97, 116, 115, 118, 105, 105, 127, 116, 104, 98, 105, 104, 95, 90,
+  81, 75, 80, 91, 84, 75, 62, 58, 49, 42, 37, 34, 31, 29, 30, 30,
+  45, 46, 45, 45, 49, 50, 54, 57, 62, 68, 73, 80, 86, 90, 97, 105,
+  110, 113, 124, 157, 171, 181, 193, 196, 214, 138, 198, 216, 175, 191, 187, 155,
+  79, 72, 108, 113, 111, 109, 113, 126, 159, 161, 162, 160, 166, 178, 190, 191,
+  193, 187, 183, 195, 204, 181, 173, 70, 121, 143, 123, 141, 161, 171, 184, 177,
+  161, 159, 153, 135, 78, 102, 161, 153, 155, 162, 140, 117, 102, 54, 60, 66,
+  93, 62, 111, 123, 125, 158, 154, 138, 135, 130, 127, 131, 118, 81, 77, 115,
+  127, 116, 108, 118, 125, 130, 91, 102, 126, 100, 96, 91, 94, 86, 80, 81,
+  76, 71, 60, 77, 88, 75, 64, 60, 51, 44, 38, 35, 31, 29, 30, 30,
+  44, 45, 44, 45, 47, 48, 52, 54, 60, 65, 70, 77, 82, 86, 92, 98,
+  103, 107, 111, 123, 160, 161, 179, 196, 180, 164, 213, 191, 140, 132, 77, 51,
+  81, 105, 114, 114, 106, 109, 113, 120, 135, 115, 104, 104, 107, 111, 117, 119,
+  112, 102, 102, 111, 116, 105, 108, 71, 118, 112, 86, 83, 90, 97, 99, 102,
+  97, 94, 83, 78, 64, 99, 132, 105, 90, 80, 61, 48, 53, 48, 66, 83,
+  70, 81, 127, 108, 85, 94, 81, 78, 76, 75, 74, 82, 69, 58, 76, 110,
+  127, 123, 101, 106, 120, 101, 88, 117, 102, 72, 78, 83, 87, 80, 76, 69,
+  71, 71, 56, 57, 82, 78, 68, 62, 53, 47, 39, 35, 32, 30, 30, 30,
+  44, 44, 43, 44, 46, 47, 50, 52, 57, 64, 68, 74, 79, 83, 89, 93,
+  99, 103, 107, 101, 92, 94, 120, 128, 105, 148, 143, 91, 79, 54, 66, 105,
+  112, 115, 111, 103, 102, 107, 112, 115, 117, 98, 90, 94, 94, 92, 95, 106,
+  103, 94, 92, 97, 98, 100, 96, 97, 115, 111, 96, 91, 92, 92, 91, 90,
+  89, 92, 91, 86, 86, 98, 103, 94, 86, 83, 84, 84, 83, 77, 83, 79,
+  76, 91, 98, 85, 74, 80, 80, 77, 80, 83, 85, 85, 83, 84, 101, 108,
+  121, 131, 114, 98, 93, 72, 101, 98, 77, 78, 80, 83, 86, 82, 80, 72,
+  68, 61, 55, 41, 66, 82, 71, 63, 54, 47, 40, 36, 32, 31, 31, 31,
+  44, 44, 43, 44, 46, 46, 48, 50, 55, 61, 65, 71, 75, 79, 85, 88,
+  91, 95, 105, 113, 111, 102, 93, 81, 75, 70, 70, 69, 81, 85, 94, 107,
+  107, 107, 102, 97, 98, 105, 109, 110, 108, 104, 107, 112, 114, 112, 117, 123,
+  115, 109, 107, 108, 108, 112, 102, 106, 104, 109, 106, 104, 104, 103, 104, 105,
+  102, 99, 100, 99, 97, 96, 97, 100, 102, 102, 101, 98, 100, 94, 97, 87,
+  93, 91, 97, 92, 92, 91, 88, 84, 88, 92, 95, 93, 100, 98, 101, 109,
+  116, 133, 131, 113, 80, 95, 98, 78, 75, 87, 77, 81, 80, 78, 73, 66,
+  62, 60, 59, 34, 54, 81, 72, 63, 54, 47, 40, 36, 33, 31, 32, 32,
+  43, 43, 43, 44, 46, 45, 48, 50, 53, 59, 62, 67, 71, 76, 81, 83,
+  85, 94, 97, 103, 104, 106, 102, 99, 103, 100, 97, 98, 92, 95, 106, 104,
+  104, 98, 99, 94, 95, 104, 107, 107, 101, 105, 110, 111, 114, 109, 113, 123,
+  115, 105, 103, 104, 107, 108, 103, 102, 101, 101, 102, 104, 103, 102, 102, 102,
+  101, 97, 97, 96, 91, 91, 89, 97, 102, 99, 97, 98, 98, 94, 92, 87,
+  85, 86, 86, 87, 84, 86, 84, 84, 86, 89, 92, 91, 97, 96, 100, 105,
+  115, 121, 110, 99, 93, 92, 76, 71, 78, 80, 67, 72, 71, 73, 68, 62,
+  62, 67, 61, 34, 48, 76, 73, 63, 54, 47, 40, 37, 33, 31, 32, 32,
+  43, 44, 44, 45, 44, 46, 49, 51, 51, 56, 60, 63, 68, 72, 78, 80,
+  85, 90, 93, 97, 99, 99, 98, 99, 102, 98, 99, 98, 98, 103, 104, 100,
+  99, 96, 93, 91, 93, 99, 101, 100, 98, 100, 105, 106, 107, 106, 109, 118,
+  111, 101, 97, 99, 102, 103, 100, 100, 100, 99, 99, 99, 99, 98, 97, 96,
+  94, 93, 92, 92, 90, 90, 88, 92, 93, 92, 91, 91, 91, 90, 89, 85,
+  85, 82, 82, 83, 82, 82, 82, 83, 83, 86, 87, 89, 93, 95, 101, 107,
+  110, 80, 80, 93, 98, 82, 102, 94, 84, 69, 59, 56, 61, 61, 56, 60,
+  58, 62, 49, 37, 40, 74, 70, 64, 54, 47, 40, 37, 33, 31, 32, 31,
+  43, 44, 45, 45, 45, 48, 50, 52, 52, 54, 59, 61, 64, 68, 73, 77,
+  81, 85, 89, 90, 92, 93, 93, 94, 94, 94, 93, 93, 96, 101, 101, 98,
+  96, 92, 89, 88, 91, 94, 96, 95, 94, 96, 101, 103, 104, 103, 105, 113,
+  108, 98, 94, 95, 98, 100, 97, 98, 99, 98, 97, 97, 96, 95, 94, 92,
+  90, 90, 89, 88, 88, 86, 86, 86, 85, 84, 84, 85, 85, 84, 83, 83,
+  82, 81, 81, 81, 81, 81, 81, 83, 82, 84, 85, 87, 91, 94, 101, 103,
+  99, 84, 98, 96, 71, 60, 115, 125, 116, 106, 100, 92, 83, 67, 52, 52,
+  62, 58, 46, 29, 30, 72, 72, 64, 55, 47, 40, 37, 33, 31, 32, 31,
+  43, 44, 45, 46, 46, 47, 50, 51, 51, 53, 57, 59, 60, 64, 68, 72,
+  74, 78, 81, 82, 85, 86, 87, 88, 87, 87, 88, 88, 91, 95, 94, 92,
+  90, 87, 84, 83, 86, 89, 91, 90, 89, 91, 96, 98, 99, 97, 100, 106,
+  102, 94, 90, 90, 92, 94, 93, 93, 93, 92, 91, 91, 90, 90, 88, 86,
+  85, 84, 83, 82, 81, 80, 80, 79, 78, 77, 76, 79, 78, 77, 77, 77,
+  77, 76, 75, 75, 75, 75, 75, 77, 77, 78, 81, 83, 87, 91, 99, 96,
+  78, 76, 87, 77, 46, 47, 117, 130, 128, 126, 126, 121, 115, 105, 90, 52,
+  54, 47, 33, 22, 32, 71, 71, 64, 53, 46, 39, 36, 32, 31, 32, 31,
+  43, 44, 45, 46, 46, 47, 49, 50, 49, 51, 55, 56, 59, 61, 66, 68,
+  70, 73, 76, 77, 80, 82, 84, 84, 83, 83, 84, 85, 88, 90, 89, 87,
+  86, 84, 81, 81, 84, 87, 88, 86, 85, 87, 91, 93, 94, 92, 94, 101,
+  98, 91, 86, 85, 88, 90, 89, 89, 89, 88, 88, 87, 87, 86, 85, 82,
+  81, 80, 79, 77, 77, 76, 75, 73, 73, 72, 71, 73, 73, 72, 71, 73,
+  73, 72, 72, 72, 72, 72, 72, 72, 73, 75, 77, 80, 85, 89, 99, 94,
+  68, 61, 55, 64, 46, 52, 115, 117, 118, 121, 123, 124, 125, 124, 122, 62,
+  34, 26, 24, 27, 41, 71, 68, 63, 52, 45, 38, 36, 32, 30, 31, 30,
+  43, 44, 45, 46, 46, 47, 48, 49, 48, 50, 52, 54, 57, 59, 63, 64,
+  67, 70, 72, 73, 75, 77, 80, 80, 78, 79, 81, 83, 86, 86, 84, 83,
+  82, 81, 79, 79, 82, 85, 85, 83, 81, 82, 85, 88, 90, 87, 88, 95,
+  93, 87, 83, 81, 84, 86, 86, 84, 86, 85, 84, 84, 83, 82, 81, 78,
+  77, 76, 75, 73, 72, 72, 71, 69, 69, 68, 67, 68, 68, 67, 67, 69,
+  69, 68, 67, 67, 67, 67, 67, 68, 69, 72, 75, 77, 82, 88, 98, 91,
+  71, 62, 50, 75, 55, 61, 118, 113, 113, 115, 118, 120, 120, 120, 125, 78,
+  32, 22, 47, 36, 43, 70, 69, 61, 51, 43, 37, 35, 31, 30, 30, 29,
+  43, 44, 45, 46, 46, 47, 47, 48, 48, 49, 51, 52, 54, 56, 58, 60,
+  63, 65, 66, 67, 69, 71, 74, 75, 73, 75, 77, 80, 83, 81, 79, 78,
+  77, 75, 74, 75, 78, 80, 80, 78, 77, 78, 80, 83, 85, 82, 83, 89,
+  88, 84, 78, 75, 78, 81, 81, 80, 80, 79, 78, 78, 78, 77, 76, 74,
+  72, 72, 71, 69, 68, 67, 66, 66, 66, 65, 64, 63, 63, 62, 62, 64,
+  63, 62, 62, 61, 61, 61, 61, 62, 64, 67, 70, 73, 79, 85, 95, 90,
+  75, 68, 65, 85, 59, 62, 118, 112, 111, 112, 113, 115, 118, 121, 123, 72,
+  40, 45, 65, 33, 46, 70, 69, 61, 51, 43, 37, 34, 31, 29, 30, 29,
+  42, 43, 44, 45, 45, 46, 46, 47, 48, 49, 50, 51, 51, 53, 55, 56,
+  59, 61, 62, 63, 64, 67, 69, 70, 69, 71, 74, 77, 80, 77, 75, 73,
+  72, 70, 69, 71, 74, 75, 75, 75, 73, 74, 76, 79, 80, 77, 78, 83,
+  84, 80, 74, 71, 74, 77, 77, 76, 75, 74, 73, 73, 73, 72, 71, 70,
+  69, 68, 67, 65, 64, 63, 62, 63, 62, 61, 61, 59, 59, 58, 57, 59,
+  60, 59, 58, 58, 58, 58, 59, 60, 60, 63, 67, 70, 75, 82, 93, 94,
+  73, 62, 69, 75, 57, 60, 113, 115, 113, 113, 115, 114, 116, 119, 106, 38,
+  33, 60, 49, 24, 59, 73, 62, 59, 50, 42, 36, 34, 31, 29, 30, 29,
+  42, 43, 43, 44, 45, 45, 46, 47, 49, 49, 50, 51, 52, 53, 55, 55,
+  55, 57, 59, 61, 64, 65, 67, 68, 67, 69, 73, 77, 77, 75, 73, 71,
+  68, 66, 67, 69, 72, 73, 72, 72, 74, 76, 78, 78, 76, 75, 76, 81,
+  82, 79, 73, 71, 72, 74, 75, 75, 74, 72, 70, 70, 70, 69, 68, 66,
+  66, 65, 64, 64, 63, 62, 61, 59, 58, 57, 57, 56, 56, 55, 54, 57,
+  57, 57, 57, 57, 56, 56, 57, 58, 59, 61, 63, 67, 74, 80, 91, 98,
+  73, 52, 66, 62, 52, 50, 95, 113, 117, 119, 121, 122, 122, 112, 68, 27,
+  46, 57, 35, 36, 71, 73, 61, 56, 48, 43, 37, 34, 32, 30, 28, 29,
+  42, 43, 43, 44, 45, 45, 46, 47, 49, 50, 51, 51, 51, 51, 53, 54,
+  54, 55, 57, 58, 60, 61, 63, 64, 65, 67, 71, 74, 73, 72, 70, 68,
+  67, 66, 67, 68, 69, 71, 70, 68, 69, 71, 73, 73, 71, 70, 71, 76,
+  78, 75, 70, 67, 68, 69, 71, 72, 72, 70, 68, 67, 66, 65, 65, 64,
+  65, 64, 63, 61, 60, 59, 58, 58, 57, 56, 56, 55, 55, 54, 53, 55,
+  55, 55, 55, 54, 54, 54, 54, 54, 55, 57, 60, 65, 71, 77, 88, 96,
+  72, 43, 57, 47, 43, 37, 63, 99, 120, 123, 118, 116, 92, 63, 45, 37,
+  57, 45, 21, 51, 75, 66, 62, 55, 47, 42, 36, 33, 31, 30, 28, 29,
+  42, 43, 43, 44, 45, 45, 46, 47, 49, 50, 51, 50, 49, 49, 51, 51,
+  51, 52, 54, 56, 57, 58, 60, 62, 64, 66, 69, 71, 69, 68, 66, 66,
+  65, 65, 66, 67, 68, 69, 68, 66, 65, 67, 69, 69, 67, 66, 67, 72,
+  74, 71, 66, 64, 64, 66, 67, 69, 69, 67, 65, 64, 63, 62, 61, 62,
+  62, 61, 60, 58, 57, 56, 56, 55, 55, 54, 53, 53, 52, 51, 50, 51,
+  52, 52, 52, 51, 51, 51, 51, 52, 52, 54, 56, 62, 68, 74, 82, 89,
+  81, 48, 40, 39, 41, 39, 42, 54, 68, 70, 69, 68, 48, 32, 41, 54,
+  54, 28, 37, 67, 76, 61, 61, 52, 45, 40, 35, 32, 31, 30, 28, 29,
+  42, 43, 43, 44, 45, 45, 46, 47, 50, 51, 50, 50, 48, 48, 48, 49,
+  48, 50, 51, 53, 55, 57, 58, 60, 63, 66, 69, 69, 67, 66, 65, 64,
+  62, 62, 64, 66, 67, 68, 67, 65, 64, 66, 68, 68, 66, 65, 66, 70,
+  73, 71, 67, 64, 64, 65, 67, 66, 65, 63, 62, 61, 61, 60, 60, 60,
+  60, 59, 59, 58, 57, 56, 55, 54, 53, 52, 51, 51, 50, 49, 49, 50,
+  50, 50, 50, 49, 49, 49, 49, 51, 51, 53, 55, 61, 66, 72, 79, 82,
+  90, 70, 43, 38, 38, 46, 45, 53, 52, 50, 50, 43, 44, 47, 56, 57,
+  37, 28, 60, 75, 72, 59, 55, 49, 43, 39, 34, 31, 30, 30, 28, 29,
+  42, 43, 43, 44, 45, 45, 46, 47, 52, 51, 49, 49, 49, 48, 48, 47,
+  47, 48, 50, 51, 54, 55, 57, 58, 61, 65, 66, 65, 64, 64, 64, 63,
+  58, 59, 62, 64, 65, 66, 66, 63, 63, 65, 66, 66, 65, 63, 65, 69,
+  72, 70, 66, 63, 62, 64, 66, 65, 63, 62, 60, 60, 60, 59, 58, 59,
+  58, 58, 57, 56, 56, 55, 54, 52, 51, 50, 49, 49, 48, 47, 47, 48,
+  49, 49, 49, 47, 47, 47, 47, 50, 50, 52, 55, 58, 64, 68, 75, 77,
+  84, 90, 75, 50, 42, 50, 48, 54, 55, 50, 52, 52, 42, 44, 51, 36,
+  36, 64, 77, 73, 65, 57, 50, 46, 40, 37, 33, 30, 29, 30, 28, 29,
+  42, 43, 43, 44, 45, 45, 46, 47, 51, 51, 49, 49, 50, 49, 48, 48,
+  47, 49, 51, 52, 52, 54, 55, 56, 58, 62, 62, 61, 61, 61, 62, 60,
+  57, 58, 61, 62, 63, 64, 63, 61, 61, 63, 64, 64, 63, 61, 63, 67,
+  70, 68, 65, 61, 61, 62, 64, 64, 63, 61, 60, 59, 58, 58, 57, 58,
+  58, 57, 57, 55, 54, 53, 53, 51, 51, 50, 49, 49, 48, 47, 47, 48,
+  48, 48, 48, 47, 47, 47, 47, 47, 48, 50, 52, 55, 60, 64, 70, 69,
+  78, 89, 92, 81, 63, 59, 49, 50, 47, 43, 44, 40, 46, 40, 43, 54,
+  69, 81, 79, 69, 61, 54, 49, 45, 40, 37, 32, 29, 29, 30, 28, 29,
+  42, 42, 43, 44, 45, 45, 46, 47, 48, 48, 47, 48, 48, 48, 48, 48,
+  48, 49, 50, 51, 52, 52, 54, 55, 56, 58, 58, 57, 57, 57, 58, 57,
+  56, 57, 59, 61, 61, 62, 61, 60, 60, 61, 62, 63, 61, 60, 61, 63,
+  66, 66, 63, 59, 58, 59, 61, 62, 61, 59, 59, 58, 57, 56, 55, 57,
+  58, 57, 56, 54, 53, 52, 51, 51, 51, 50, 49, 49, 48, 47, 47, 46,
+  46, 45, 45, 44, 44, 44, 44, 43, 44, 47, 49, 51, 56, 61, 66, 67,
+  75, 83, 89, 92, 80, 73, 63, 55, 48, 45, 46, 44, 48, 53, 67, 82,
+  86, 80, 75, 67, 61, 53, 49, 46, 41, 38, 34, 32, 31, 30, 28, 29,
+  42, 42, 43, 44, 45, 46, 47, 47, 47, 47, 47, 47, 47, 47, 48, 48,
+  49, 49, 50, 52, 53, 52, 54, 55, 56, 56, 56, 56, 56, 56, 56, 55,
+  55, 57, 59, 60, 62, 61, 60, 60, 59, 60, 61, 62, 61, 60, 60, 61,
+  64, 65, 62, 58, 57, 57, 59, 60, 59, 58, 57, 57, 56, 55, 55, 56,
+  57, 56, 55, 53, 52, 51, 51, 51, 51, 50, 49, 49, 48, 47, 47, 45,
+  45, 44, 43, 43, 43, 43, 42, 40, 42, 45, 47, 50, 54, 60, 63, 67,
+  72, 78, 82, 85, 84, 81, 78, 75, 69, 66, 65, 64, 69, 73, 78, 82,
+  80, 77, 71, 65, 59, 52, 49, 47, 42, 38, 35, 34, 31, 29, 28, 29,
+  42, 42, 43, 44, 45, 45, 46, 47, 46, 46, 46, 46, 46, 47, 48, 48,
+  49, 49, 50, 51, 53, 52, 54, 55, 55, 55, 55, 55, 55, 55, 55, 54,
+  55, 57, 58, 60, 61, 60, 59, 59, 59, 60, 61, 61, 61, 60, 59, 60,
+  63, 64, 61, 58, 56, 57, 58, 59, 58, 57, 57, 56, 56, 55, 54, 56,
+  56, 55, 55, 53, 51, 51, 50, 50, 50, 49, 48, 48, 47, 46, 46, 45,
+  44, 43, 42, 42, 42, 42, 41, 39, 41, 43, 45, 47, 52, 57, 60, 63,
+  67, 73, 76, 79, 82, 82, 83, 86, 83, 82, 82, 80, 80, 79, 78, 77,
+  75, 70, 65, 60, 55, 49, 46, 45, 41, 37, 35, 34, 31, 29, 28, 29,
+  42, 42, 43, 44, 44, 45, 45, 46, 46, 46, 46, 46, 46, 46, 47, 48,
+  48, 49, 50, 50, 51, 52, 54, 55, 54, 54, 54, 54, 54, 54, 54, 54,
+  54, 56, 58, 59, 59, 59, 58, 57, 58, 59, 59, 60, 59, 59, 58, 59,
+  62, 63, 60, 58, 56, 55, 57, 57, 57, 56, 55, 55, 54, 54, 53, 54,
+  55, 54, 53, 52, 51, 50, 49, 49, 48, 48, 47, 46, 46, 45, 44, 44,
+  43, 42, 42, 42, 42, 42, 41, 38, 39, 42, 43, 45, 49, 53, 57, 59,
+  63, 68, 70, 72, 74, 76, 77, 77, 77, 78, 78, 78, 75, 73, 72, 72,
+  69, 64, 59, 56, 51, 46, 43, 42, 39, 35, 33, 33, 31, 29, 28, 29,
+  42, 42, 43, 44, 44, 44, 45, 45, 45, 45, 45, 45, 45, 46, 47, 47,
+  48, 48, 49, 50, 50, 51, 54, 55, 53, 53, 53, 53, 53, 53, 53, 53,
+  54, 55, 57, 58, 59, 58, 57, 56, 57, 58, 59, 59, 59, 58, 57, 58,
+  61, 62, 59, 57, 55, 54, 55, 56, 56, 55, 54, 54, 53, 52, 52, 53,
+  54, 53, 52, 51, 50, 49, 49, 48, 47, 47, 46, 45, 45, 44, 43, 43,
+  43, 42, 41, 41, 41, 41, 41, 38, 39, 40, 41, 43, 47, 51, 53, 56,
+  59, 63, 66, 68, 70, 70, 70, 73, 75, 76, 76, 74, 72, 71, 69, 68,
+  64, 59, 55, 52, 49, 43, 41, 39, 37, 34, 32, 32, 30, 29, 29, 29,
+  42, 42, 43, 43, 43, 44, 45, 45, 45, 45, 45, 45, 45, 45, 46, 47,
+  47, 48, 49, 49, 49, 50, 54, 54, 52, 52, 52, 52, 52, 52, 52, 52,
+  53, 55, 57, 58, 58, 57, 56, 56, 56, 57, 58, 58, 58, 57, 56, 57,
+  60, 61, 58, 56, 55, 53, 54, 55, 55, 54, 53, 53, 52, 51, 51, 53,
+  53, 52, 51, 51, 50, 49, 49, 47, 47, 46, 45, 45, 44, 43, 42, 43,
+  42, 42, 41, 41, 41, 41, 40, 37, 38, 38, 39, 41, 44, 48, 50, 53,
+  55, 59, 62, 63, 65, 65, 65, 68, 71, 71, 69, 66, 65, 64, 63, 61,
+  59, 54, 51, 48, 44, 39, 38, 37, 35, 32, 31, 31, 30, 29, 29, 29,
+  42, 42, 43, 43, 43, 44, 45, 45, 45, 45, 45, 45, 45, 45, 46, 47,
+  47, 48, 49, 49, 49, 50, 54, 54, 52, 52, 52, 52, 52, 52, 52, 52,
+  53, 55, 56, 57, 57, 56, 56, 55, 55, 56, 57, 58, 57, 56, 55, 56,
+  60, 60, 57, 56, 55, 53, 53, 54, 54, 53, 53, 53, 52, 51, 50, 52,
+  52, 51, 51, 51, 50, 49, 48, 47, 46, 45, 45, 44, 44, 43, 42, 42,
+  42, 41, 41, 41, 41, 41, 40, 37, 37, 38, 38, 40, 42, 46, 48, 49,
+  52, 55, 57, 56, 58, 61, 61, 63, 66, 66, 64, 64, 61, 59, 57, 55,
+  54, 50, 47, 44, 40, 36, 35, 35, 33, 31, 30, 30, 30, 29, 29, 29,
+  42, 42, 43, 43, 43, 43, 43, 43, 42, 43, 43, 44, 44, 45, 46, 47,
+  47, 47, 48, 49, 49, 51, 53, 53, 51, 51, 51, 50, 50, 50, 50, 51,
+  53, 53, 54, 55, 55, 55, 55, 55, 55, 56, 57, 57, 56, 55, 54, 55,
+  57, 59, 57, 54, 52, 50, 50, 53, 54, 53, 53, 51, 50, 50, 49, 51,
+  51, 50, 50, 50, 50, 49, 48, 47, 46, 45, 45, 44, 44, 43, 43, 43,
+  43, 42, 41, 41, 40, 39, 38, 37, 38, 39, 40, 40, 42, 44, 46, 49,
+  51, 53, 54, 55, 55, 57, 58, 60, 60, 60, 60, 59, 57, 55, 54, 52,
+  49, 46, 44, 41, 39, 36, 34, 34, 32, 30, 29, 29, 29, 29, 29, 29,
+  42, 42, 42, 42, 42, 42, 42, 42, 41, 42, 43, 44, 44, 45, 46, 46,
+  46, 47, 48, 49, 49, 51, 52, 52, 50, 50, 50, 50, 50, 50, 50, 51,
+  52, 53, 54, 54, 54, 54, 54, 54, 54, 55, 56, 56, 55, 54, 53, 54,
+  57, 58, 56, 53, 51, 50, 50, 52, 53, 53, 53, 51, 50, 49, 48, 50,
+  51, 50, 49, 49, 49, 49, 48, 47, 46, 45, 45, 44, 44, 44, 44, 44,
+  43, 42, 41, 41, 40, 38, 38, 38, 38, 40, 40, 40, 41, 43, 45, 46,
+  47, 49, 51, 51, 52, 53, 54, 55, 55, 55, 55, 54, 52, 51, 50, 49,
+  46, 43, 42, 40, 38, 35, 34, 33, 32, 30, 29, 29, 29, 29, 29, 29,
+  42, 42, 42, 42, 42, 42, 42, 41, 41, 42, 42, 43, 44, 44, 45, 46,
+  46, 47, 47, 48, 49, 50, 52, 51, 49, 49, 49, 49, 49, 49, 49, 50,
+  52, 53, 53, 54, 53, 53, 53, 53, 54, 55, 55, 55, 54, 53, 52, 53,
+  56, 58, 56, 53, 51, 49, 49, 51, 52, 52, 52, 51, 50, 49, 48, 50,
+  50, 49, 49, 49, 49, 48, 47, 47, 46, 45, 45, 44, 44, 44, 44, 43,
+  42, 42, 41, 41, 40, 38, 38, 39, 39, 40, 40, 40, 41, 42, 43, 43,
+  45, 46, 47, 47, 47, 48, 49, 51, 51, 51, 50, 48, 47, 45, 45, 44,
+  42, 40, 38, 38, 37, 34, 33, 33, 31, 30, 29, 29, 29, 29, 29, 29,
+  42, 42, 42, 42, 42, 42, 42, 41, 41, 41, 42, 43, 43, 44, 44, 45,
+  46, 46, 47, 48, 49, 50, 51, 50, 49, 49, 49, 49, 49, 49, 49, 49,
+  51, 52, 53, 53, 52, 52, 52, 52, 53, 53, 54, 54, 53, 52, 51, 52,
+  55, 57, 55, 52, 50, 49, 49, 50, 51, 51, 51, 50, 49, 48, 48, 49,
+  49, 49, 48, 49, 48, 47, 47, 47, 46, 45, 45, 43, 43, 43, 43, 43,
+  42, 41, 41, 41, 40, 38, 38, 39, 39, 39, 39, 39, 39, 40, 41, 43,
+  43, 44, 45, 45, 45, 45, 46, 48, 48, 48, 48, 46, 44, 43, 41, 39,
+  38, 37, 36, 36, 35, 33, 32, 31, 31, 30, 29, 29, 29, 29, 28, 28,
+  41, 41, 41, 41, 41, 41, 41, 41, 40, 41, 42, 42, 43, 43, 44, 45,
+  45, 46, 47, 48, 50, 50, 50, 48, 48, 48, 48, 48, 48, 48, 48, 49,
+  51, 51, 53, 52, 51, 51, 51, 51, 52, 52, 53, 53, 52, 51, 50, 51,
+  54, 56, 53, 51, 50, 48, 48, 49, 50, 50, 50, 49, 49, 48, 47, 49,
+  49, 48, 48, 48, 48, 47, 46, 46, 46, 45, 45, 43, 43, 43, 43, 42,
+  42, 41, 40, 40, 40, 38, 38, 39, 38, 38, 38, 38, 38, 38, 39, 43,
+  43, 43, 44, 44, 43, 43, 43, 46, 46, 46, 45, 44, 42, 40, 39, 37,
+  36, 34, 34, 35, 33, 31, 31, 30, 30, 30, 29, 29, 29, 29, 28, 28,
+  41, 41, 41, 41, 41, 41, 41, 40, 40, 40, 41, 42, 42, 43, 44, 44,
+  45, 45, 46, 47, 50, 49, 49, 48, 47, 47, 47, 47, 48, 48, 48, 49,
+  50, 51, 52, 52, 50, 50, 50, 50, 51, 51, 52, 52, 51, 50, 49, 50,
+  53, 55, 52, 51, 50, 48, 48, 49, 49, 49, 49, 49, 48, 47, 47, 48,
+  49, 48, 47, 47, 47, 46, 46, 46, 46, 45, 45, 42, 42, 42, 42, 42,
+  41, 40, 40, 40, 40, 38, 38, 40, 40, 39, 38, 39, 39, 38, 39, 41,
+  41, 42, 40, 41, 41, 39, 40, 42, 42, 42, 42, 41, 39, 37, 36, 35,
+  34, 33, 32, 32, 31, 30, 30, 29, 30, 30, 29, 29, 29, 29, 28, 27,
+  40, 40, 40, 40, 41, 41, 41, 40, 40, 40, 41, 41, 41, 42, 43, 43,
+  44, 45, 46, 47, 49, 49, 49, 48, 47, 47, 47, 47, 47, 48, 48, 48,
+  50, 50, 51, 51, 50, 50, 50, 49, 50, 51, 52, 52, 50, 50, 49, 50,
+  53, 55, 53, 51, 49, 48, 48, 49, 49, 49, 49, 49, 48, 48, 47, 48,
+  48, 47, 47, 47, 47, 46, 46, 46, 45, 44, 44, 42, 42, 42, 42, 42,
+  41, 40, 40, 40, 39, 38, 38, 39, 39, 38, 37, 38, 38, 37, 37, 39,
+  39, 39, 38, 39, 39, 38, 39, 40, 40, 39, 39, 38, 37, 36, 35, 34,
+  33, 32, 31, 30, 30, 29, 29, 29, 30, 29, 29, 29, 29, 29, 28, 27,
+  38, 39, 39, 40, 41, 41, 41, 40, 40, 40, 41, 41, 41, 41, 42, 43,
+  43, 44, 46, 48, 49, 49, 49, 49, 48, 48, 48, 47, 46, 47, 48, 48,
+  49, 49, 50, 50, 50, 50, 50, 49, 49, 50, 50, 51, 50, 49, 49, 50,
+  53, 55, 54, 52, 50, 50, 49, 50, 51, 51, 51, 50, 49, 48, 47, 47,
+  47, 47, 47, 46, 46, 46, 46, 44, 43, 43, 42, 42, 42, 42, 42, 42,
+  42, 41, 41, 40, 39, 38, 38, 37, 37, 36, 36, 36, 36, 36, 36, 37,
+  37, 37, 37, 37, 37, 37, 37, 38, 37, 36, 36, 37, 36, 35, 34, 32,
+  31, 30, 29, 29, 28, 28, 29, 30, 30, 29, 29, 29, 29, 29, 28, 27,
+  38, 39, 39, 40, 41, 41, 41, 40, 40, 40, 41, 41, 41, 41, 42, 43,
+  43, 44, 46, 48, 49, 49, 49, 49, 49, 49, 49, 48, 47, 48, 48, 48,
+  49, 49, 50, 50, 50, 50, 50, 49, 49, 50, 50, 51, 50, 49, 48, 50,
+  53, 55, 55, 53, 51, 50, 50, 50, 51, 51, 51, 51, 50, 49, 48, 47,
+  47, 47, 47, 46, 46, 46, 46, 44, 43, 43, 42, 42, 42, 42, 42, 42,
+  42, 41, 41, 40, 39, 38, 38, 37, 37, 36, 36, 36, 36, 36, 36, 36,
+  36, 36, 36, 36, 36, 36, 36, 36, 35, 34, 34, 35, 34, 33, 32, 30,
+  30, 29, 28, 29, 28, 27, 28, 30, 30, 29, 29, 29, 29, 29, 28, 27,
+  38, 39, 39, 40, 41, 41, 41, 40, 40, 40, 41, 41, 41, 41, 42, 43,
+  43, 44, 46, 48, 49, 49, 49, 49, 49, 49, 49, 48, 47, 48, 48, 48,
+  48, 49, 49, 49, 49, 49, 49, 49, 49, 50, 50, 50, 50, 49, 48, 50,
+  53, 55, 55, 53, 51, 50, 50, 50, 51, 51, 51, 51, 50, 49, 48, 47,
+  47, 47, 47, 46, 46, 46, 46, 44, 43, 43, 42, 42, 42, 42, 42, 42,
+  42, 41, 41, 40, 39, 38, 38, 37, 37, 36, 36, 36, 36, 36, 36, 36,
+  36, 36, 35, 34, 34, 34, 34, 34, 33, 33, 32, 33, 32, 31, 30, 29,
+  28, 27, 27, 29, 28, 27, 28, 30, 30, 29, 29, 29, 29, 29, 28, 27,
+  69, 69, 70, 72, 73, 74, 75, 76, 77, 77, 79, 80, 82, 83, 85, 86,
+  87, 90, 93, 95, 97, 100, 102, 102, 102, 104, 110, 114, 116, 118, 116, 115,
+  125, 127, 122, 122, 126, 129, 135, 142, 132, 139, 137, 142, 144, 144, 140, 136,
+  143, 133, 130, 132, 131, 126, 122, 122, 123, 116, 112, 116, 116, 111, 105, 102,
+  100, 97, 95, 97, 98, 96, 96, 95, 93, 90, 88, 85, 83, 82, 81, 78,
+  77, 76, 76, 74, 72, 71, 71, 70, 69, 68, 67, 67, 66, 65, 64, 63,
+  62, 61, 61, 61, 60, 59, 58, 58, 58, 58, 57, 57, 56, 55, 54, 54,
+  54, 54, 54, 52, 50, 50, 49, 48, 48, 48, 46, 45, 46, 45, 45, 46,
+  69, 69, 70, 72, 73, 74, 75, 76, 77, 78, 79, 80, 82, 84, 86, 87,
+  87, 89, 93, 95, 98, 101, 103, 104, 104, 105, 109, 113, 117, 120, 118, 117,
+  126, 130, 127, 126, 128, 132, 138, 146, 138, 142, 141, 145, 147, 147, 143, 140,
+  147, 137, 135, 135, 132, 126, 125, 124, 123, 117, 115, 119, 116, 111, 105, 102,
+  101, 98, 98, 99, 98, 97, 96, 95, 93, 90, 88, 85, 83, 82, 81, 78,
+  77, 76, 76, 74, 72, 71, 71, 70, 69, 68, 67, 67, 66, 65, 64, 63,
+  62, 61, 61, 61, 60, 59, 58, 58, 58, 58, 57, 57, 56, 55, 54, 54,
+  54, 54, 54, 52, 50, 50, 49, 48, 48, 48, 46, 46, 46, 46, 45, 46,
+  69, 69, 70, 72, 73, 74, 75, 76, 77, 78, 80, 81, 83, 85, 87, 88,
+  88, 90, 93, 96, 100, 103, 106, 108, 108, 108, 109, 113, 118, 121, 122, 121,
+  127, 134, 132, 130, 130, 134, 141, 149, 144, 145, 147, 149, 150, 150, 147, 145,
+  151, 142, 140, 139, 134, 127, 128, 127, 124, 120, 121, 122, 117, 111, 105, 102,
+  102, 101, 101, 100, 99, 98, 96, 94, 92, 89, 87, 85, 83, 82, 81, 78,
+  77, 76, 76, 74, 72, 71, 71, 70, 69, 68, 67, 67, 66, 65, 64, 63,
+  62, 61, 61, 61, 60, 59, 58, 58, 58, 58, 57, 57, 56, 55, 54, 54,
+  54, 54, 54, 52, 50, 50, 49, 48, 48, 48, 46, 46, 47, 46, 45, 46,
+  69, 69, 70, 72, 73, 74, 75, 76, 78, 79, 80, 82, 84, 86, 88, 89,
+  89, 92, 95, 98, 102, 105, 109, 111, 112, 112, 112, 114, 120, 124, 126, 126,
+  127, 134, 136, 134, 132, 135, 142, 151, 151, 148, 152, 153, 154, 154, 150, 150,
+  154, 145, 145, 143, 137, 130, 133, 131, 127, 124, 126, 123, 118, 111, 107, 105,
+  104, 105, 104, 103, 101, 99, 97, 94, 92, 90, 88, 85, 84, 83, 81, 78,
+  77, 76, 76, 74, 72, 71, 71, 70, 69, 68, 67, 67, 66, 65, 64, 63,
+  62, 61, 61, 61, 60, 59, 58, 58, 58, 58, 57, 57, 56, 55, 54, 54,
+  54, 54, 54, 52, 50, 50, 49, 48, 48, 48, 47, 47, 47, 47, 46, 46,
+  69, 69, 70, 72, 73, 74, 75, 76, 79, 80, 81, 82, 85, 87, 89, 91,
+  92, 95, 99, 101, 104, 108, 111, 114, 116, 118, 118, 118, 122, 126, 130, 132,
+  130, 135, 141, 140, 135, 138, 146, 155, 158, 151, 158, 157, 159, 159, 155, 156,
+  158, 149, 150, 145, 140, 135, 137, 135, 130, 130, 129, 123, 117, 111, 109, 109,
+  107, 107, 107, 104, 102, 100, 98, 94, 92, 89, 87, 86, 84, 83, 82, 78,
+  77, 76, 76, 74, 72, 71, 71, 70, 69, 68, 67, 67, 66, 65, 64, 63,
+  62, 61, 61, 61, 60, 59, 58, 58, 58, 58, 57, 57, 56, 55, 54, 54,
+  54, 54, 54, 52, 50, 50, 49, 48, 48, 48, 47, 47, 48, 47, 46, 46,
+  69, 69, 70, 72, 73, 74, 75, 76, 79, 81, 82, 82, 87, 88, 90, 92,
+  96, 98, 102, 104, 106, 110, 115, 117, 120, 123, 124, 123, 123, 128, 135, 140,
+  139, 139, 148, 149, 142, 146, 154, 161, 165, 156, 165, 164, 167, 167, 163, 163,
+  163, 155, 157, 149, 144, 141, 140, 137, 134, 136, 131, 123, 116, 112, 112, 113,
+  111, 109, 108, 106, 104, 101, 98, 94, 92, 89, 87, 86, 84, 83, 82, 78,
+  77, 76, 76, 74, 72, 71, 71, 70, 69, 68, 67, 67, 66, 65, 64, 63,
+  62, 61, 61, 61, 60, 59, 58, 58, 58, 58, 57, 57, 56, 55, 54, 54,
+  54, 54, 54, 52, 50, 50, 49, 48, 48, 48, 47, 48, 48, 48, 46, 46,
+  69, 69, 70, 72, 73, 74, 75, 76, 80, 81, 82, 83, 88, 89, 91, 94,
+  98, 101, 104, 107, 109, 113, 117, 119, 123, 126, 128, 128, 127, 129, 136, 143,
+  145, 142, 149, 156, 148, 150, 158, 163, 171, 162, 169, 170, 172, 173, 167, 171,
+  167, 161, 161, 152, 146, 147, 144, 138, 140, 140, 132, 122, 117, 115, 115, 115,
+  113, 111, 109, 106, 103, 100, 97, 93, 91, 89, 87, 86, 85, 84, 82, 78,
+  77, 77, 76, 74, 73, 72, 71, 71, 70, 69, 67, 67, 66, 65, 64, 63,
+  62, 61, 61, 61, 60, 59, 58, 58, 58, 58, 57, 57, 56, 56, 54, 54,
+  54, 54, 53, 52, 51, 50, 50, 48, 48, 48, 48, 49, 49, 49, 47, 46,
+  69, 69, 70, 72, 73, 74, 75, 76, 80, 82, 83, 85, 88, 90, 94, 97,
+  101, 104, 108, 111, 114, 117, 121, 123, 126, 130, 133, 136, 134, 132, 137, 143,
+  150, 148, 148, 161, 157, 153, 161, 166, 177, 170, 174, 177, 178, 179, 171, 179,
+  170, 169, 165, 157, 151, 154, 149, 144, 150, 142, 131, 123, 121, 120, 118, 117,
+  116, 113, 111, 106, 102, 98, 95, 93, 91, 89, 88, 87, 86, 84, 83, 79,
+  78, 78, 77, 76, 74, 72, 72, 71, 71, 70, 68, 67, 66, 65, 64, 63,
+  62, 62, 61, 61, 60, 59, 59, 59, 59, 58, 58, 58, 57, 56, 55, 54,
+  54, 54, 53, 52, 52, 52, 51, 50, 49, 48, 48, 50, 50, 50, 48, 47,
+  69, 69, 70, 72, 74, 74, 75, 76, 81, 82, 85, 87, 89, 92, 95, 99,
+  105, 109, 113, 117, 120, 122, 126, 128, 130, 135, 140, 141, 140, 140, 141, 145,
+  153, 157, 154, 161, 169, 161, 162, 172, 183, 179, 181, 184, 184, 185, 178, 186,
+  176, 178, 171, 161, 163, 160, 151, 154, 155, 142, 130, 125, 125, 124, 122, 120,
+  118, 114, 110, 106, 103, 98, 95, 93, 91, 89, 88, 87, 86, 84, 83, 79,
+  78, 78, 77, 76, 74, 72, 72, 71, 71, 70, 68, 67, 66, 65, 65, 63,
+  63, 62, 61, 61, 60, 59, 59, 59, 59, 58, 58, 58, 57, 56, 55, 54,
+  54, 54, 53, 52, 52, 52, 51, 50, 49, 48, 48, 50, 50, 50, 48, 46,
+  69, 70, 71, 73, 74, 75, 76, 77, 81, 83, 87, 89, 91, 94, 99, 104,
+  110, 113, 119, 122, 125, 128, 131, 133, 135, 139, 144, 148, 148, 150, 147, 148,
+  155, 165, 164, 160, 176, 172, 165, 177, 188, 189, 188, 191, 192, 192, 185, 193,
+  183, 186, 176, 166, 172, 164, 158, 163, 155, 141, 132, 131, 131, 130, 127, 124,
+  120, 114, 109, 105, 102, 99, 96, 94, 92, 90, 89, 87, 86, 84, 83, 79,
+  78, 78, 77, 76, 74, 72, 72, 71, 71, 70, 68, 68, 67, 66, 65, 64,
+  63, 62, 62, 62, 61, 60, 59, 59, 59, 58, 58, 58, 57, 56, 55, 54,
+  54, 54, 53, 52, 52, 52, 52, 50, 49, 48, 48, 50, 50, 50, 48, 46,
+  70, 71, 71, 73, 75, 75, 76, 77, 81, 85, 89, 91, 93, 97, 103, 107,
+  112, 116, 122, 126, 129, 132, 135, 137, 139, 143, 147, 152, 156, 158, 157, 154,
+  156, 168, 174, 166, 175, 182, 173, 178, 191, 198, 194, 198, 200, 199, 193, 200,
+  191, 192, 179, 174, 175, 167, 168, 166, 152, 142, 139, 139, 138, 134, 130, 124,
+  119, 113, 108, 104, 102, 100, 98, 95, 94, 92, 90, 88, 87, 85, 83, 79,
+  78, 78, 77, 76, 74, 72, 72, 71, 71, 70, 69, 68, 68, 67, 66, 65,
+  64, 63, 63, 62, 61, 60, 60, 59, 59, 58, 58, 58, 57, 56, 55, 54,
+  54, 54, 53, 53, 53, 53, 52, 50, 49, 48, 48, 50, 50, 50, 48, 46,
+  70, 71, 72, 74, 75, 76, 77, 78, 82, 86, 90, 92, 95, 99, 106, 110,
+  115, 120, 127, 131, 133, 136, 139, 142, 145, 147, 151, 154, 159, 163, 164, 163,
+  160, 167, 179, 177, 177, 189, 187, 183, 196, 208, 200, 206, 210, 208, 202, 207,
+  200, 196, 182, 184, 177, 175, 176, 165, 151, 147, 148, 146, 142, 136, 130, 123,
+  117, 112, 107, 104, 102, 100, 98, 96, 94, 92, 91, 88, 87, 85, 83, 79,
+  78, 78, 77, 76, 74, 72, 72, 71, 71, 70, 69, 69, 68, 67, 66, 65,
+  64, 64, 63, 63, 62, 61, 60, 59, 59, 58, 58, 58, 57, 56, 55, 54,
+  54, 54, 53, 53, 53, 53, 52, 50, 49, 48, 48, 50, 50, 50, 48, 46,
+  71, 71, 72, 74, 76, 77, 77, 79, 82, 87, 91, 93, 96, 101, 107, 113,
+  120, 126, 132, 137, 140, 142, 145, 148, 152, 153, 154, 156, 161, 166, 171, 173,
+  167, 165, 178, 190, 185, 194, 198, 189, 202, 217, 206, 214, 220, 217, 212, 214,
+  209, 200, 186, 193, 181, 187, 182, 163, 154, 153, 155, 150, 145, 137, 129, 121,
+  115, 111, 107, 103, 101, 100, 99, 96, 94, 92, 91, 88, 87, 85, 83, 80,
+  79, 78, 77, 76, 74, 73, 72, 71, 71, 70, 69, 69, 68, 67, 66, 65,
+  65, 64, 63, 63, 62, 61, 60, 59, 59, 58, 58, 58, 57, 56, 55, 54,
+  54, 54, 54, 54, 54, 54, 53, 51, 50, 49, 48, 50, 50, 50, 48, 46,
+  71, 72, 74, 76, 76, 78, 80, 82, 87, 89, 93, 96, 100, 106, 111, 118,
+  126, 134, 144, 144, 145, 152, 158, 156, 159, 161, 162, 164, 163, 174, 179, 180,
+  182, 176, 180, 194, 201, 194, 211, 192, 209, 225, 218, 222, 230, 225, 226, 222,
+  217, 207, 197, 198, 195, 197, 186, 167, 163, 164, 159, 155, 146, 135, 126, 120,
+  117, 113, 109, 106, 104, 102, 99, 96, 95, 93, 92, 89, 88, 85, 84, 80,
+  79, 77, 77, 75, 75, 73, 71, 69, 70, 69, 69, 68, 67, 66, 65, 64,
+  63, 62, 62, 63, 62, 62, 62, 59, 58, 57, 57, 56, 55, 54, 54, 55,
+  54, 53, 53, 54, 53, 52, 53, 52, 51, 50, 49, 50, 50, 49, 47, 46,
+  71, 72, 75, 76, 76, 79, 82, 85, 90, 93, 95, 99, 106, 113, 117, 125,
+  133, 140, 145, 152, 156, 152, 153, 160, 163, 162, 161, 166, 171, 168, 184, 198,
+  194, 188, 178, 188, 213, 201, 212, 211, 208, 233, 228, 234, 240, 236, 238, 228,
+  223, 204, 211, 209, 209, 197, 179, 172, 173, 173, 163, 155, 144, 134, 126, 121,
+  118, 115, 111, 108, 106, 103, 101, 97, 95, 92, 91, 90, 88, 85, 84, 81,
+  80, 79, 78, 76, 75, 74, 73, 70, 70, 70, 70, 68, 67, 66, 65, 64,
+  63, 62, 62, 63, 63, 63, 62, 60, 58, 58, 57, 56, 55, 54, 54, 55,
+  54, 53, 53, 54, 53, 52, 53, 54, 52, 51, 50, 50, 49, 49, 47, 46,
+  71, 72, 75, 76, 76, 80, 83, 87, 91, 95, 101, 105, 113, 120, 125, 134,
+  144, 147, 147, 153, 152, 155, 155, 163, 164, 166, 169, 168, 171, 183, 186, 190,
+  196, 200, 191, 190, 210, 214, 214, 231, 220, 240, 235, 241, 246, 243, 243, 234,
+  237, 221, 225, 212, 219, 195, 184, 187, 179, 177, 166, 153, 143, 134, 127, 122,
+  119, 116, 113, 109, 106, 104, 102, 97, 95, 94, 91, 89, 88, 86, 84, 82,
+  82, 80, 79, 78, 77, 76, 74, 72, 71, 71, 71, 69, 68, 67, 66, 65,
+  64, 63, 62, 64, 64, 64, 64, 62, 61, 60, 59, 59, 58, 57, 57, 56,
+  55, 54, 54, 54, 53, 52, 53, 54, 53, 51, 51, 50, 50, 49, 47, 46,
+  71, 72, 75, 77, 77, 80, 84, 89, 93, 99, 106, 112, 120, 127, 133, 140,
+  146, 150, 153, 154, 151, 150, 140, 130, 128, 133, 147, 159, 171, 177, 182, 189,
+  195, 196, 194, 194, 202, 224, 224, 229, 229, 237, 245, 246, 249, 247, 246, 242,
+  234, 225, 228, 226, 204, 197, 195, 193, 183, 175, 166, 152, 142, 135, 129, 123,
+  120, 117, 114, 109, 106, 103, 101, 98, 96, 94, 92, 90, 89, 87, 85, 84,
+  84, 82, 82, 79, 79, 78, 77, 75, 74, 73, 72, 70, 69, 68, 67, 66,
+  65, 64, 63, 65, 65, 65, 64, 63, 62, 61, 61, 60, 60, 59, 59, 58,
+  57, 56, 55, 54, 53, 53, 53, 55, 53, 52, 51, 50, 50, 49, 47, 46,
+  71, 72, 75, 77, 77, 81, 86, 91, 95, 103, 112, 119, 127, 135, 140, 147,
+  149, 154, 156, 144, 124, 102, 85, 71, 67, 71, 89, 101, 126, 161, 178, 184,
+  192, 167, 173, 186, 197, 221, 232, 235, 237, 228, 245, 241, 243, 242, 242, 238,
+  226, 232, 223, 221, 194, 198, 202, 199, 187, 174, 162, 154, 144, 137, 131, 125,
+  122, 119, 116, 110, 107, 104, 102, 100, 99, 96, 94, 93, 91, 89, 87, 87,
+  86, 85, 85, 82, 81, 80, 80, 77, 76, 75, 74, 72, 71, 70, 69, 67,
+  66, 65, 64, 65, 65, 65, 65, 65, 64, 63, 63, 63, 62, 61, 61, 60,
+  60, 58, 57, 56, 55, 54, 55, 55, 54, 52, 51, 51, 50, 50, 48, 46,
+  71, 73, 75, 77, 78, 82, 87, 92, 97, 105, 116, 126, 134, 142, 147, 154,
+  158, 155, 133, 101, 66, 45, 36, 36, 35, 42, 58, 61, 70, 92, 134, 176,
+  186, 96, 80, 112, 185, 217, 234, 228, 153, 121, 120, 120, 125, 123, 125, 123,
+  130, 138, 110, 91, 98, 106, 116, 164, 180, 174, 161, 156, 147, 140, 133, 127,
+  123, 119, 116, 113, 110, 107, 105, 103, 102, 99, 98, 96, 95, 92, 90, 89,
+  89, 87, 86, 85, 84, 83, 81, 80, 79, 76, 74, 73, 73, 71, 70, 68,
+  68, 67, 66, 67, 67, 67, 67, 67, 66, 65, 65, 65, 65, 64, 64, 64,
+  63, 62, 60, 59, 58, 57, 57, 56, 54, 53, 52, 51, 50, 50, 48, 46,
+  71, 73, 76, 78, 79, 83, 88, 94, 98, 107, 120, 131, 140, 147, 152, 157,
+  154, 131, 81, 44, 36, 32, 29, 36, 41, 52, 63, 60, 58, 57, 73, 114,
+  149, 53, 57, 76, 162, 220, 234, 245, 123, 91, 74, 82, 85, 83, 89, 92,
+  93, 66, 55, 64, 68, 93, 103, 125, 164, 172, 163, 158, 150, 142, 135, 128,
+  124, 120, 117, 116, 115, 112, 109, 106, 105, 102, 100, 99, 97, 96, 93, 91,
+  90, 89, 88, 86, 85, 84, 84, 82, 80, 78, 76, 74, 73, 72, 71, 69,
+  69, 68, 67, 68, 68, 68, 69, 69, 69, 68, 68, 68, 67, 66, 66, 67,
+  66, 65, 63, 61, 60, 59, 58, 56, 55, 53, 52, 50, 50, 49, 48, 47,
+  71, 73, 77, 79, 80, 85, 88, 96, 100, 111, 122, 135, 141, 153, 156, 158,
+  125, 67, 47, 40, 37, 44, 56, 61, 63, 61, 58, 55, 58, 60, 57, 69,
+  97, 56, 53, 57, 137, 232, 242, 242, 127, 95, 84, 92, 92, 96, 102, 88,
+  67, 48, 54, 83, 94, 109, 110, 93, 163, 175, 167, 157, 150, 141, 136, 130,
+  126, 123, 120, 119, 117, 115, 113, 110, 108, 107, 105, 102, 101, 99, 97, 95,
+  94, 93, 92, 90, 89, 87, 86, 85, 84, 82, 80, 76, 75, 73, 72, 71,
+  71, 71, 71, 72, 72, 73, 74, 74, 74, 74, 74, 74, 73, 72, 72, 71,
+  70, 68, 66, 66, 66, 63, 61, 59, 56, 53, 51, 49, 47, 47, 48, 48,
+  71, 73, 77, 79, 81, 87, 90, 98, 103, 115, 126, 137, 146, 155, 155, 134,
+  79, 51, 45, 46, 52, 58, 57, 56, 71, 81, 80, 72, 65, 61, 54, 66,
+  75, 72, 71, 65, 133, 232, 247, 243, 133, 88, 85, 90, 101, 91, 111, 69,
+  60, 55, 69, 104, 119, 133, 126, 96, 162, 177, 167, 158, 152, 144, 140, 135,
+  132, 129, 126, 124, 122, 120, 119, 115, 113, 111, 110, 106, 104, 102, 100, 99,
+  97, 96, 95, 94, 93, 90, 89, 88, 86, 84, 83, 78, 77, 75, 74, 73,
+  73, 73, 73, 76, 77, 78, 78, 78, 78, 78, 78, 78, 77, 76, 76, 76,
+  75, 73, 71, 70, 69, 66, 64, 62, 59, 56, 53, 50, 48, 47, 48, 48,
+  71, 73, 77, 79, 82, 88, 92, 101, 108, 119, 132, 143, 150, 153, 144, 94,
+  64, 53, 47, 45, 48, 49, 55, 89, 118, 133, 138, 132, 105, 80, 61, 66,
+  71, 71, 65, 66, 137, 233, 250, 248, 173, 119, 91, 79, 81, 70, 54, 17,
+  34, 68, 95, 125, 122, 110, 106, 110, 165, 178, 169, 160, 155, 149, 146, 141,
+  138, 135, 132, 129, 128, 126, 124, 120, 118, 116, 115, 111, 109, 106, 105, 104,
+  102, 101, 100, 100, 98, 96, 95, 92, 90, 88, 86, 81, 80, 78, 77, 76,
+  76, 77, 78, 80, 81, 83, 83, 83, 83, 83, 83, 84, 83, 82, 82, 82,
+  80, 78, 76, 73, 73, 70, 67, 65, 61, 58, 55, 51, 48, 48, 47, 47,
+  72, 74, 78, 80, 84, 90, 94, 104, 112, 125, 137, 149, 155, 151, 100, 48,
+  43, 37, 31, 35, 42, 47, 90, 142, 160, 171, 179, 179, 171, 139, 83, 74,
+  72, 83, 64, 62, 138, 232, 249, 254, 238, 191, 145, 90, 81, 66, 18, 19,
+  71, 110, 130, 126, 86, 111, 132, 145, 175, 178, 172, 166, 161, 155, 151, 145,
+  142, 140, 137, 133, 132, 130, 128, 125, 123, 121, 119, 116, 114, 113, 112, 110,
+  108, 107, 107, 106, 105, 102, 100, 97, 94, 91, 89, 85, 83, 81, 79, 79,
+  80, 81, 82, 83, 85, 87, 88, 88, 88, 88, 88, 89, 88, 87, 87, 88,
+  86, 83, 80, 78, 76, 73, 69, 66, 62, 58, 56, 53, 49, 48, 47, 47,
+  73, 75, 79, 81, 86, 92, 97, 107, 118, 131, 143, 153, 160, 136, 40, 30,
+  37, 38, 41, 47, 46, 83, 152, 170, 175, 178, 184, 187, 192, 187, 142, 93,
+  76, 72, 64, 65, 135, 231, 251, 253, 251, 244, 237, 172, 111, 56, 78, 115,
+  131, 137, 145, 93, 98, 172, 191, 193, 192, 185, 180, 175, 169, 162, 158, 151,
+  148, 145, 143, 139, 137, 135, 134, 130, 128, 125, 124, 122, 121, 119, 118, 115,
+  115, 114, 113, 112, 111, 109, 107, 103, 99, 95, 93, 88, 86, 84, 83, 83,
+  85, 87, 87, 87, 90, 92, 94, 95, 95, 95, 95, 97, 96, 95, 94, 93,
+  91, 89, 87, 84, 82, 78, 73, 68, 64, 59, 57, 54, 50, 49, 47, 46,
+  73, 75, 79, 81, 87, 94, 99, 110, 121, 135, 147, 157, 156, 96, 32, 51,
+  57, 55, 52, 45, 58, 128, 173, 181, 181, 182, 185, 187, 190, 191, 185, 118,
+  75, 69, 78, 80, 143, 238, 254, 253, 252, 251, 251, 220, 90, 57, 104, 135,
+  136, 132, 135, 80, 150, 213, 220, 212, 204, 197, 188, 182, 175, 167, 161, 157,
+  154, 151, 149, 146, 143, 141, 139, 136, 134, 132, 130, 126, 124, 123, 121, 118,
+  118, 117, 116, 116, 114, 112, 110, 107, 104, 99, 96, 91, 89, 87, 85, 85,
+  87, 89, 90, 92, 94, 97, 99, 102, 101, 101, 102, 104, 103, 102, 101, 99,
+  97, 95, 93, 91, 88, 84, 78, 72, 67, 62, 58, 55, 51, 49, 47, 46,
+  74, 75, 79, 83, 88, 96, 104, 114, 124, 137, 152, 156, 138, 65, 42, 62,
+  61, 54, 44, 36, 88, 158, 177, 182, 180, 182, 185, 188, 196, 196, 199, 160,
+  83, 86, 90, 88, 137, 238, 254, 252, 252, 252, 253, 238, 55, 98, 130, 138,
+  136, 128, 119, 88, 186, 234, 236, 219, 207, 199, 188, 183, 178, 169, 162, 159,
+  156, 152, 151, 151, 146, 144, 142, 142, 142, 140, 136, 132, 129, 126, 124, 120,
+  119, 123, 121, 122, 119, 116, 114, 115, 110, 106, 100, 95, 92, 90, 88, 87,
+  89, 92, 96, 97, 101, 105, 106, 109, 108, 108, 109, 109, 108, 109, 110, 107,
+  102, 100, 100, 97, 95, 85, 83, 77, 71, 66, 60, 56, 52, 50, 48, 46,
+  74, 75, 80, 85, 89, 98, 107, 118, 128, 141, 155, 156, 117, 45, 40, 61,
+  53, 50, 45, 46, 121, 172, 180, 176, 176, 177, 182, 186, 194, 200, 205, 198,
+  112, 87, 83, 82, 123, 234, 254, 255, 255, 254, 253, 250, 98, 127, 143, 137,
+  123, 115, 117, 97, 204, 240, 232, 215, 200, 191, 184, 179, 174, 166, 158, 158,
+  155, 151, 151, 151, 146, 145, 142, 145, 146, 143, 139, 136, 133, 131, 130, 129,
+  125, 130, 128, 125, 129, 127, 120, 118, 118, 113, 104, 100, 97, 94, 92, 91,
+  93, 98, 103, 108, 109, 113, 115, 118, 118, 117, 117, 118, 117, 117, 115, 113,
+  114, 112, 108, 104, 96, 93, 89, 80, 74, 69, 62, 58, 53, 51, 49, 47,
+  74, 75, 80, 85, 90, 100, 109, 120, 132, 147, 154, 150, 73, 15, 29, 54,
+  50, 52, 48, 63, 143, 178, 177, 171, 170, 172, 176, 180, 189, 196, 202, 203,
+  132, 92, 101, 84, 124, 236, 254, 254, 254, 254, 254, 250, 128, 126, 138, 134,
+  127, 125, 124, 93, 198, 223, 209, 198, 190, 184, 179, 176, 172, 165, 158, 158,
+  157, 155, 156, 154, 151, 150, 146, 150, 151, 148, 145, 139, 138, 139, 139, 138,
+  134, 135, 135, 134, 131, 130, 132, 122, 124, 117, 110, 107, 103, 100, 99, 97,
+  100, 106, 111, 115, 114, 117, 121, 125, 124, 123, 123, 124, 125, 126, 127, 125,
+  125, 123, 115, 114, 104, 100, 93, 83, 77, 70, 63, 59, 54, 52, 49, 47,
+  74, 75, 80, 85, 91, 101, 111, 122, 135, 147, 155, 120, 25, 14, 32, 50,
+  56, 61, 47, 84, 157, 174, 168, 164, 164, 166, 169, 173, 179, 188, 195, 199,
+  158, 104, 88, 61, 124, 231, 252, 253, 252, 251, 250, 250, 117, 89, 69, 99,
+  121, 114, 121, 99, 204, 230, 221, 212, 202, 194, 187, 184, 182, 176, 170, 166,
+  166, 167, 167, 165, 164, 160, 155, 150, 150, 148, 145, 147, 148, 147, 147, 146,
+  146, 146, 144, 145, 141, 138, 138, 137, 130, 120, 122, 115, 110, 107, 105, 105,
+  107, 113, 118, 120, 125, 126, 131, 133, 133, 133, 134, 137, 136, 138, 143, 139,
+  131, 131, 125, 116, 119, 102, 95, 87, 80, 74, 66, 61, 55, 52, 49, 47,
+  74, 75, 80, 85, 92, 103, 113, 125, 138, 145, 156, 95, 42, 47, 51, 63,
+  58, 63, 46, 106, 162, 170, 164, 161, 159, 160, 164, 169, 176, 184, 192, 195,
+  179, 110, 85, 63, 117, 220, 243, 247, 245, 251, 254, 251, 118, 88, 90, 88,
+  98, 122, 129, 95, 198, 227, 222, 218, 210, 203, 197, 192, 189, 185, 180, 175,
+  174, 176, 177, 175, 172, 165, 161, 159, 158, 155, 152, 155, 156, 155, 155, 157,
+  159, 154, 147, 146, 146, 143, 139, 135, 134, 131, 128, 122, 117, 113, 111, 111,
+  114, 119, 125, 129, 136, 133, 135, 136, 138, 139, 139, 142, 148, 149, 148, 146,
+  143, 140, 130, 124, 112, 114, 101, 91, 84, 77, 68, 63, 57, 53, 49, 47,
+  74, 75, 80, 86, 93, 104, 115, 127, 140, 148, 153, 85, 67, 62, 59, 72,
+  64, 59, 49, 125, 165, 166, 162, 159, 155, 157, 161, 165, 173, 180, 187, 191,
+  178, 84, 72, 73, 113, 214, 245, 250, 251, 254, 253, 248, 134, 119, 140, 123,
+  90, 89, 105, 99, 201, 224, 211, 207, 202, 195, 191, 188, 186, 183, 180, 175,
+  175, 177, 177, 177, 174, 166, 167, 163, 160, 156, 152, 156, 159, 162, 164, 163,
+  161, 154, 153, 149, 130, 125, 134, 138, 135, 139, 132, 129, 126, 122, 119, 119,
+  121, 126, 131, 133, 137, 136, 142, 141, 145, 150, 149, 141, 144, 149, 152, 153,
+  149, 140, 142, 141, 114, 112, 99, 94, 86, 79, 70, 64, 58, 53, 49, 47,
+  74, 75, 80, 86, 94, 105, 116, 129, 141, 153, 147, 84, 61, 56, 64, 77,
+  79, 58, 54, 134, 164, 163, 158, 155, 153, 155, 158, 162, 167, 174, 178, 187,
+  177, 75, 90, 100, 117, 219, 252, 254, 254, 255, 254, 250, 144, 151, 135, 142,
+  126, 93, 76, 97, 206, 236, 228, 214, 201, 190, 182, 179, 179, 177, 175, 169,
+  169, 170, 169, 174, 173, 167, 174, 186, 185, 179, 175, 154, 158, 165, 170, 167,
+  163, 160, 173, 194, 191, 176, 158, 160, 132, 137, 138, 135, 132, 128, 126, 127,
+  128, 132, 135, 138, 140, 148, 168, 175, 182, 188, 190, 172, 135, 131, 149, 154,
+  146, 156, 176, 136, 140, 101, 101, 97, 89, 81, 72, 65, 58, 54, 49, 47,
+  75, 77, 82, 88, 95, 105, 116, 129, 148, 150, 129, 65, 58, 70, 78, 84,
+  81, 55, 68, 144, 165, 162, 154, 150, 148, 146, 149, 153, 160, 166, 172, 181,
+  179, 148, 139, 121, 134, 231, 254, 254, 254, 254, 254, 250, 139, 139, 134, 151,
+  143, 138, 140, 95, 203, 235, 225, 224, 214, 196, 179, 171, 166, 168, 179, 178,
+  174, 174, 132, 164, 171, 182, 179, 152, 136, 149, 121, 130, 133, 159, 170, 164,
+  163, 190, 186, 190, 202, 219, 227, 209, 159, 126, 137, 138, 135, 134, 135, 130,
+  134, 140, 138, 139, 150, 152, 156, 152, 146, 150, 135, 83, 51, 122, 156, 148,
+  155, 187, 157, 175, 173, 106, 90, 100, 91, 83, 73, 65, 58, 53, 49, 47,
+  75, 77, 83, 88, 96, 107, 117, 131, 146, 155, 125, 71, 58, 82, 70, 63,
+  43, 40, 74, 150, 162, 156, 149, 145, 143, 141, 144, 148, 156, 163, 168, 178,
+  187, 172, 136, 125, 167, 234, 252, 254, 253, 254, 254, 250, 149, 133, 133, 123,
+  143, 140, 140, 97, 191, 228, 224, 213, 204, 187, 173, 155, 184, 168, 166, 168,
+  159, 163, 107, 148, 173, 198, 185, 141, 137, 122, 115, 124, 125, 127, 161, 161,
+  185, 211, 188, 176, 203, 210, 211, 225, 198, 135, 126, 138, 138, 136, 138, 141,
+  142, 139, 141, 160, 169, 172, 141, 118, 120, 133, 77, 80, 130, 186, 205, 153,
+  169, 181, 148, 180, 165, 126, 73, 97, 93, 84, 75, 67, 60, 55, 49, 47,
+  75, 77, 83, 89, 98, 109, 119, 133, 153, 154, 99, 61, 76, 88, 77, 75,
+  61, 66, 89, 152, 157, 151, 143, 139, 138, 137, 140, 145, 152, 160, 167, 176,
+  189, 199, 189, 185, 201, 235, 248, 254, 248, 254, 254, 252, 134, 116, 149, 137,
+  134, 112, 126, 95, 184, 219, 219, 211, 204, 180, 168, 150, 175, 160, 162, 156,
+  159, 151, 90, 160, 192, 196, 176, 188, 183, 193, 204, 207, 192, 149, 139, 169,
+  176, 155, 175, 181, 200, 202, 204, 175, 169, 200, 116, 135, 141, 139, 142, 147,
+  145, 141, 158, 197, 190, 188, 156, 122, 126, 132, 136, 179, 195, 196, 200, 186,
+  167, 159, 150, 164, 138, 144, 65, 93, 95, 84, 76, 68, 61, 56, 51, 48,
+  75, 77, 83, 89, 99, 110, 121, 135, 154, 152, 91, 75, 97, 80, 84, 76,
+  68, 79, 93, 154, 156, 149, 140, 137, 136, 136, 139, 143, 149, 160, 170, 184,
+  195, 194, 194, 205, 219, 235, 245, 254, 248, 254, 253, 250, 124, 117, 127, 118,
+  145, 153, 147, 95, 187, 213, 210, 209, 200, 167, 160, 164, 162, 154, 166, 175,
+  156, 169, 122, 188, 196, 196, 171, 187, 150, 201, 202, 207, 220, 201, 132, 196,
+  184, 171, 187, 191, 206, 206, 188, 146, 180, 244, 129, 125, 145, 145, 146, 150,
+  147, 154, 178, 196, 191, 187, 187, 172, 115, 96, 163, 204, 184, 158, 175, 158,
+  150, 144, 134, 159, 140, 145, 57, 91, 96, 85, 77, 69, 61, 57, 51, 48,
+  75, 77, 83, 89, 100, 110, 121, 134, 150, 153, 103, 97, 86, 71, 92, 71,
+  85, 86, 94, 152, 157, 149, 141, 137, 135, 136, 139, 144, 151, 161, 171, 182,
+  189, 192, 202, 214, 221, 233, 240, 245, 251, 254, 250, 246, 132, 141, 138, 119,
+  135, 133, 143, 103, 192, 213, 204, 205, 196, 163, 157, 165, 157, 161, 174, 190,
+  145, 163, 160, 208, 208, 188, 171, 188, 146, 196, 182, 201, 189, 203, 177, 217,
+  195, 201, 220, 207, 200, 196, 174, 164, 234, 221, 131, 109, 147, 151, 152, 154,
+  154, 172, 188, 190, 204, 187, 200, 150, 78, 103, 148, 193, 168, 128, 156, 149,
+  165, 92, 93, 158, 171, 139, 60, 94, 95, 85, 76, 68, 61, 56, 51, 49,
+  75, 77, 83, 89, 99, 109, 120, 134, 150, 151, 104, 81, 58, 69, 87, 58,
+  79, 75, 105, 160, 157, 149, 141, 135, 133, 134, 139, 145, 154, 161, 168, 175,
+  182, 189, 198, 208, 218, 227, 229, 233, 252, 255, 248, 247, 154, 137, 137, 135,
+  149, 139, 144, 99, 187, 217, 207, 204, 199, 170, 155, 163, 156, 176, 184, 193,
+  177, 161, 185, 206, 175, 130, 137, 194, 183, 202, 182, 164, 175, 209, 206, 203,
+  196, 158, 166, 206, 209, 214, 203, 205, 194, 134, 147, 91, 146, 156, 157, 158,
+  160, 181, 163, 138, 177, 174, 181, 85, 102, 154, 165, 168, 141, 133, 140, 133,
+  167, 119, 91, 156, 148, 86, 64, 99, 92, 84, 74, 67, 60, 55, 51, 49,
+  75, 77, 83, 89, 98, 109, 120, 134, 149, 147, 97, 68, 61, 70, 65, 54,
+  108, 83, 112, 155, 155, 147, 139, 134, 133, 134, 140, 146, 155, 159, 163, 171,
+  181, 188, 197, 209, 216, 220, 222, 229, 251, 251, 251, 239, 172, 153, 155, 151,
+  149, 145, 153, 93, 180, 218, 211, 201, 198, 179, 157, 179, 168, 186, 182, 189,
+  183, 157, 179, 166, 97, 103, 126, 191, 192, 189, 169, 178, 187, 194, 197, 198,
+  117, 84, 108, 153, 197, 199, 160, 184, 152, 135, 137, 79, 146, 159, 160, 159,
+  160, 173, 154, 155, 167, 148, 132, 69, 140, 186, 188, 172, 148, 158, 124, 132,
+  150, 130, 93, 119, 102, 77, 98, 103, 92, 84, 73, 66, 59, 54, 50, 48,
+  73, 76, 82, 89, 97, 108, 120, 135, 151, 142, 86, 72, 87, 85, 73, 88,
+  116, 84, 114, 157, 155, 146, 138, 136, 137, 139, 144, 147, 148, 153, 161, 167,
+  176, 185, 194, 203, 211, 211, 216, 227, 249, 240, 254, 240, 164, 160, 166, 165,
+  161, 161, 161, 95, 180, 212, 210, 202, 199, 195, 182, 175, 174, 182, 180, 200,
+  184, 159, 174, 102, 105, 163, 185, 194, 206, 200, 197, 198, 175, 170, 174, 141,
+  77, 135, 164, 159, 154, 124, 87, 135, 150, 172, 171, 70, 147, 161, 165, 161,
+  162, 170, 182, 182, 176, 146, 121, 75, 160, 194, 191, 176, 167, 168, 118, 144,
+  116, 124, 83, 128, 126, 116, 114, 105, 93, 82, 72, 65, 58, 53, 50, 48,
+  73, 75, 82, 89, 97, 108, 120, 135, 149, 145, 106, 93, 102, 102, 98, 118,
+  112, 80, 113, 158, 156, 148, 141, 139, 141, 140, 141, 144, 146, 152, 159, 166,
+  174, 180, 191, 200, 202, 203, 212, 225, 238, 233, 250, 235, 167, 157, 142, 169,
+  174, 163, 170, 98, 178, 209, 207, 204, 203, 200, 194, 191, 190, 181, 176, 198,
+  190, 172, 130, 77, 154, 189, 203, 200, 226, 217, 211, 216, 185, 203, 185, 81,
+  112, 174, 183, 181, 186, 175, 169, 192, 182, 202, 187, 67, 146, 162, 166, 161,
+  178, 187, 178, 169, 176, 160, 131, 75, 174, 195, 197, 182, 165, 153, 110, 136,
+  138, 139, 70, 123, 138, 130, 119, 103, 91, 81, 71, 64, 58, 53, 50, 48,
+  72, 75, 81, 88, 96, 108, 120, 134, 146, 149, 127, 114, 102, 104, 105, 121,
+  95, 71, 109, 158, 159, 152, 145, 142, 141, 139, 138, 141, 145, 151, 158, 165,
+  173, 179, 189, 195, 194, 196, 209, 224, 226, 228, 245, 227, 172, 158, 172, 179,
+  177, 161, 181, 97, 176, 207, 204, 201, 202, 202, 197, 193, 191, 176, 183, 217,
+  208, 153, 74, 99, 180, 194, 201, 203, 222, 210, 217, 220, 188, 203, 187, 70,
+  149, 188, 186, 180, 206, 215, 205, 214, 211, 197, 178, 64, 146, 164, 168, 168,
+  186, 180, 157, 139, 168, 166, 138, 86, 176, 202, 201, 182, 146, 132, 126, 139,
+  150, 143, 65, 118, 140, 129, 115, 101, 89, 79, 69, 63, 57, 53, 49, 47,
+  71, 74, 81, 88, 95, 107, 119, 134, 149, 147, 124, 103, 91, 93, 97, 100,
+  92, 76, 110, 160, 162, 155, 147, 142, 136, 136, 138, 140, 145, 151, 158, 163,
+  171, 181, 184, 187, 189, 194, 208, 221, 215, 226, 240, 229, 167, 165, 187, 167,
+  190, 178, 179, 93, 176, 205, 200, 195, 199, 204, 197, 186, 180, 173, 200, 217,
+  179, 77, 46, 125, 190, 211, 197, 202, 217, 214, 217, 198, 173, 187, 151, 85,
+  170, 194, 199, 198, 190, 188, 161, 187, 189, 168, 158, 63, 147, 167, 170, 167,
+  176, 166, 165, 156, 168, 153, 125, 92, 180, 202, 200, 177, 148, 148, 152, 145,
+  136, 117, 64, 117, 135, 125, 111, 97, 86, 77, 68, 62, 56, 53, 49, 46,
+  71, 74, 80, 87, 94, 106, 118, 133, 146, 148, 128, 108, 97, 95, 108, 105,
+  109, 92, 111, 163, 165, 157, 148, 142, 136, 136, 138, 142, 146, 152, 160, 165,
+  173, 182, 181, 182, 187, 196, 209, 216, 207, 227, 234, 225, 148, 155, 144, 154,
+  187, 156, 160, 98, 176, 204, 199, 192, 198, 205, 199, 192, 187, 188, 202, 178,
+  87, 98, 75, 139, 200, 209, 202, 193, 182, 184, 190, 159, 153, 197, 135, 101,
+  186, 198, 200, 193, 186, 190, 156, 202, 174, 167, 146, 65, 150, 169, 171, 166,
+  164, 155, 165, 149, 151, 142, 127, 90, 186, 197, 200, 180, 162, 151, 138, 128,
+  118, 127, 65, 116, 133, 125, 112, 94, 83, 75, 66, 60, 55, 52, 49, 46,
+  70, 74, 80, 87, 94, 106, 118, 132, 143, 150, 130, 111, 97, 90, 114, 114,
+  116, 96, 106, 163, 167, 158, 147, 142, 141, 140, 140, 143, 148, 154, 161, 168,
+  176, 179, 177, 180, 186, 197, 209, 211, 202, 226, 229, 218, 151, 162, 163, 159,
+  154, 122, 137, 92, 177, 204, 198, 192, 195, 201, 200, 192, 192, 197, 181, 137,
+  125, 205, 91, 152, 202, 205, 205, 193, 177, 178, 163, 145, 158, 201, 139, 110,
+  194, 197, 200, 198, 177, 178, 167, 192, 164, 158, 130, 67, 153, 171, 172, 171,
+  163, 164, 169, 148, 158, 148, 136, 99, 181, 200, 197, 179, 160, 135, 124, 120,
+  119, 110, 61, 117, 132, 121, 108, 92, 82, 73, 65, 59, 54, 52, 48, 46,
+  71, 74, 79, 85, 94, 105, 116, 131, 144, 152, 131, 103, 90, 93, 118, 119,
+  118, 111, 95, 162, 167, 159, 149, 143, 142, 141, 143, 145, 149, 154, 163, 171,
+  178, 176, 172, 179, 183, 198, 211, 203, 199, 225, 226, 215, 191, 182, 189, 183,
+  161, 146, 156, 87, 176, 202, 198, 193, 193, 196, 196, 193, 198, 169, 125, 151,
+  221, 238, 94, 150, 198, 203, 201, 196, 202, 178, 143, 154, 176, 199, 141, 114,
+  192, 197, 198, 193, 170, 167, 149, 174, 152, 140, 124, 67, 154, 173, 174, 171,
+  170, 180, 176, 159, 170, 160, 150, 108, 169, 198, 190, 172, 152, 119, 129, 129,
+  136, 86, 71, 120, 129, 117, 102, 89, 79, 70, 62, 57, 54, 51, 47, 46,
+  72, 74, 78, 84, 94, 105, 116, 130, 143, 151, 135, 106, 99, 108, 115, 123,
+  119, 113, 94, 158, 167, 160, 152, 146, 144, 143, 145, 148, 151, 156, 163, 172,
+  176, 171, 175, 180, 185, 200, 203, 196, 200, 225, 223, 220, 206, 171, 181, 192,
+  188, 187, 160, 89, 175, 202, 198, 193, 193, 196, 194, 183, 172, 124, 175, 226,
+  239, 198, 78, 151, 197, 200, 198, 193, 193, 160, 154, 183, 191, 192, 106, 115,
+  192, 198, 196, 196, 180, 172, 168, 168, 139, 138, 146, 67, 155, 175, 175, 173,
+  171, 175, 164, 152, 151, 140, 135, 104, 149, 194, 195, 168, 149, 125, 139, 134,
+  128, 67, 80, 124, 125, 114, 100, 87, 77, 69, 60, 56, 53, 51, 47, 46,
+  71, 72, 77, 83, 92, 103, 114, 128, 140, 150, 142, 117, 112, 119, 107, 132,
+  133, 125, 92, 150, 169, 164, 156, 152, 147, 147, 148, 151, 153, 159, 164, 169,
+  172, 171, 174, 172, 187, 200, 197, 194, 203, 224, 219, 216, 159, 168, 132, 178,
+  192, 148, 124, 94, 175, 204, 198, 190, 194, 198, 193, 170, 127, 183, 239, 236,
+  204, 169, 81, 151, 197, 199, 196, 193, 184, 186, 167, 193, 194, 189, 105, 116,
+  192, 197, 194, 191, 190, 165, 176, 168, 143, 147, 161, 69, 157, 177, 178, 178,
+  172, 164, 148, 151, 136, 131, 132, 133, 140, 172, 175, 150, 140, 131, 125, 118,
+  85, 55, 105, 128, 121, 110, 97, 84, 75, 67, 59, 55, 53, 50, 47, 46,
+  71, 72, 77, 82, 91, 102, 113, 126, 139, 150, 149, 130, 117, 126, 113, 144,
+  149, 141, 92, 145, 172, 168, 159, 154, 149, 148, 150, 153, 156, 162, 164, 166,
+  171, 171, 167, 172, 179, 187, 196, 191, 207, 222, 216, 210, 87, 87, 129, 197,
+  159, 92, 142, 98, 175, 205, 198, 190, 194, 199, 193, 163, 192, 244, 236, 210,
+  204, 196, 93, 150, 196, 198, 194, 186, 169, 204, 160, 186, 182, 183, 115, 115,
+  191, 196, 193, 184, 190, 158, 160, 167, 155, 155, 155, 69, 158, 179, 180, 182,
+  178, 167, 151, 149, 137, 142, 143, 155, 150, 159, 153, 118, 116, 126, 119, 96,
+  58, 78, 128, 131, 117, 106, 93, 82, 72, 66, 58, 54, 52, 49, 47, 46,
+  70, 71, 76, 82, 90, 101, 112, 125, 139, 150, 155, 142, 129, 133, 124, 150,
+  139, 120, 96, 130, 173, 173, 161, 156, 152, 151, 153, 156, 160, 164, 165, 167,
+  174, 166, 170, 195, 181, 170, 186, 187, 208, 218, 213, 209, 150, 119, 133, 139,
+  79, 118, 186, 98, 174, 204, 198, 191, 194, 198, 193, 194, 236, 212, 201, 207,
+  197, 216, 90, 151, 196, 196, 192, 181, 178, 195, 147, 185, 186, 189, 118, 113,
+  190, 195, 192, 185, 186, 165, 155, 168, 160, 159, 159, 69, 158, 179, 181, 184,
+  186, 181, 168, 147, 135, 135, 132, 154, 150, 145, 135, 109, 122, 123, 100, 71,
+  67, 115, 136, 132, 114, 103, 90, 79, 70, 64, 57, 54, 51, 48, 46, 46,
+  70, 71, 76, 81, 89, 100, 111, 124, 137, 147, 156, 148, 137, 138, 130, 150,
+  125, 110, 117, 116, 169, 176, 164, 160, 157, 156, 159, 161, 163, 164, 165, 169,
+  175, 166, 179, 212, 194, 161, 168, 185, 209, 213, 212, 211, 184, 197, 165, 131,
+  122, 201, 192, 90, 173, 203, 199, 193, 193, 197, 193, 205, 229, 170, 163, 189,
+  167, 218, 89, 151, 195, 194, 190, 189, 209, 189, 138, 168, 182, 186, 127, 114,
+  189, 193, 191, 188, 172, 162, 161, 168, 158, 157, 163, 67, 157, 179, 181, 184,
+  189, 189, 183, 158, 139, 132, 133, 153, 133, 123, 120, 122, 132, 99, 66, 67,
+  102, 140, 141, 132, 113, 102, 87, 77, 69, 63, 56, 53, 50, 48, 46, 46,
+  69, 71, 76, 80, 88, 99, 109, 122, 133, 143, 155, 150, 136, 140, 128, 148,
+  143, 152, 153, 117, 160, 176, 170, 165, 162, 162, 164, 166, 167, 165, 166, 169,
+  172, 173, 180, 199, 195, 148, 141, 184, 210, 211, 212, 204, 209, 201, 200, 205,
+  210, 222, 213, 100, 172, 201, 200, 195, 193, 194, 193, 199, 200, 192, 206, 160,
+  208, 219, 85, 149, 194, 193, 189, 190, 191, 168, 148, 157, 150, 141, 87, 114,
+  188, 193, 191, 186, 150, 141, 155, 163, 158, 152, 153, 65, 156, 177, 180, 183,
+  187, 187, 184, 163, 146, 142, 147, 135, 110, 124, 140, 130, 97, 67, 84, 116,
+  148, 147, 145, 131, 113, 102, 86, 76, 68, 63, 56, 53, 50, 47, 46, 46,
+  68, 73, 77, 81, 87, 97, 105, 117, 129, 140, 149, 154, 151, 143, 122, 132,
+  155, 148, 155, 115, 140, 171, 177, 171, 166, 164, 170, 168, 172, 167, 171, 169,
+  173, 177, 170, 151, 184, 107, 111, 185, 212, 208, 208, 203, 218, 203, 211, 212,
+  213, 230, 228, 102, 167, 196, 200, 196, 192, 194, 191, 191, 187, 189, 217, 205,
+  191, 184, 84, 146, 192, 192, 190, 183, 154, 155, 174, 187, 195, 177, 117, 117,
+  186, 196, 191, 188, 135, 101, 103, 135, 149, 152, 144, 64, 157, 176, 180, 181,
+  184, 181, 167, 134, 149, 144, 119, 93, 103, 112, 104, 106, 115, 131, 154, 163,
+  163, 155, 144, 132, 117, 102, 89, 77, 69, 63, 57, 53, 49, 47, 46, 46,
+  68, 72, 77, 80, 86, 95, 103, 114, 124, 136, 146, 153, 149, 134, 128, 129,
+  142, 131, 141, 145, 118, 163, 174, 177, 173, 172, 175, 171, 170, 168, 169, 173,
+  177, 202, 169, 173, 152, 71, 125, 186, 210, 206, 205, 201, 217, 189, 197, 210,
+  191, 224, 203, 104, 161, 194, 200, 200, 195, 190, 188, 194, 207, 202, 183, 174,
+  154, 158, 72, 146, 189, 194, 189, 182, 185, 203, 188, 185, 192, 180, 120, 114,
+  186, 197, 195, 187, 173, 151, 114, 109, 123, 129, 127, 63, 152, 177, 180, 186,
+  184, 168, 143, 136, 148, 138, 74, 92, 150, 163, 163, 172, 176, 177, 181, 178,
+  169, 157, 146, 132, 117, 103, 90, 78, 70, 63, 57, 53, 49, 47, 47, 46,
+  69, 72, 76, 79, 85, 93, 100, 110, 119, 131, 142, 150, 146, 136, 138, 123,
+  119, 120, 155, 157, 131, 143, 175, 172, 177, 173, 174, 174, 168, 165, 163, 172,
+  197, 204, 176, 174, 107, 81, 152, 192, 204, 198, 199, 202, 204, 186, 200, 197,
+  186, 209, 170, 119, 150, 195, 193, 195, 196, 193, 185, 196, 213, 202, 161, 117,
+  150, 157, 76, 151, 190, 193, 191, 185, 205, 210, 168, 173, 177, 168, 113, 118,
+  183, 190, 192, 181, 178, 164, 157, 152, 127, 118, 131, 64, 156, 175, 180, 180,
+  178, 158, 133, 126, 130, 131, 98, 124, 183, 186, 193, 196, 196, 190, 184, 180,
+  169, 157, 147, 132, 117, 103, 91, 80, 71, 64, 57, 53, 49, 48, 47, 46,
+  69, 72, 75, 78, 84, 91, 96, 106, 116, 127, 138, 148, 150, 154, 166, 157,
+  151, 142, 159, 163, 148, 143, 153, 171, 179, 179, 174, 170, 162, 166, 170, 193,
+  201, 193, 180, 158, 74, 119, 169, 195, 198, 187, 193, 198, 193, 191, 202, 195,
+  194, 221, 203, 159, 135, 179, 186, 193, 196, 192, 181, 184, 202, 183, 198, 173,
+  122, 140, 90, 139, 190, 193, 189, 182, 202, 184, 154, 170, 166, 163, 120, 111,
+  176, 184, 186, 181, 181, 134, 154, 157, 164, 160, 152, 81, 148, 175, 182, 184,
+  178, 149, 137, 126, 111, 107, 116, 115, 144, 152, 175, 186, 186, 185, 182, 176,
+  171, 159, 147, 134, 119, 105, 93, 82, 72, 65, 57, 53, 49, 48, 47, 46,
+  69, 71, 74, 76, 82, 88, 92, 101, 111, 123, 134, 145, 148, 148, 159, 171,
+  167, 163, 164, 158, 152, 166, 139, 162, 168, 173, 164, 156, 158, 168, 182, 203,
+  197, 186, 166, 98, 88, 147, 181, 192, 189, 183, 191, 187, 192, 189, 187, 191,
+  198, 213, 213, 211, 162, 163, 175, 182, 190, 186, 181, 186, 187, 181, 201, 197,
+  123, 132, 118, 134, 178, 187, 185, 194, 193, 162, 158, 168, 162, 164, 130, 97,
+  165, 179, 172, 168, 170, 108, 158, 154, 157, 156, 158, 114, 128, 169, 175, 176,
+  174, 134, 132, 101, 106, 104, 114, 99, 72, 103, 145, 138, 140, 150, 157, 164,
+  166, 158, 147, 137, 122, 109, 95, 84, 73, 66, 58, 53, 50, 48, 47, 46,
+  69, 71, 74, 75, 81, 86, 89, 97, 105, 117, 128, 140, 151, 152, 152, 160,
+  141, 161, 174, 133, 128, 145, 144, 167, 160, 149, 149, 164, 192, 183, 148, 143,
+  173, 170, 116, 69, 129, 164, 188, 191, 197, 206, 214, 200, 193, 188, 193, 205,
+  204, 206, 200, 189, 199, 216, 205, 148, 176, 192, 188, 191, 183, 171, 168, 182,
+  194, 195, 188, 164, 153, 168, 196, 207, 172, 151, 150, 162, 159, 154, 111, 113,
+  149, 151, 147, 133, 127, 89, 156, 124, 142, 145, 140, 132, 138, 145, 156, 178,
+  176, 109, 111, 97, 118, 111, 85, 68, 88, 119, 109, 84, 87, 98, 107, 125,
+  136, 144, 146, 138, 125, 112, 99, 85, 75, 66, 58, 54, 50, 48, 47, 46,
+  69, 71, 73, 74, 80, 84, 88, 95, 101, 112, 124, 135, 140, 150, 152, 154,
+  144, 167, 162, 130, 102, 108, 131, 163, 166, 155, 160, 196, 201, 159, 145, 173,
+  168, 137, 76, 110, 150, 170, 184, 182, 196, 210, 214, 198, 187, 190, 203, 208,
+  199, 205, 191, 180, 204, 199, 185, 112, 162, 210, 198, 184, 182, 156, 176, 191,
+  175, 179, 181, 177, 132, 146, 203, 188, 148, 150, 154, 162, 160, 144, 121, 140,
+  130, 115, 115, 113, 106, 100, 145, 135, 138, 132, 128, 135, 147, 121, 134, 172,
+  166, 93, 81, 78, 98, 103, 91, 91, 109, 115, 91, 80, 88, 95, 93, 99,
+  107, 122, 136, 136, 125, 117, 101, 87, 76, 67, 59, 55, 51, 48, 47, 46,
+  70, 70, 72, 73, 79, 82, 87, 93, 98, 109, 119, 130, 140, 145, 152, 152,
+  142, 171, 153, 156, 158, 158, 177, 180, 189, 174, 178, 220, 201, 190, 185, 211,
+  175, 86, 92, 145, 161, 170, 182, 180, 200, 208, 208, 188, 183, 192, 202, 197,
+  202, 197, 177, 187, 205, 186, 162, 91, 158, 211, 191, 174, 173, 170, 189, 181,
+  153, 154, 164, 172, 111, 124, 187, 160, 145, 160, 161, 163, 164, 142, 161, 114,
+  100, 87, 85, 64, 70, 113, 145, 138, 134, 129, 127, 135, 130, 99, 107, 173,
+  173, 132, 110, 117, 112, 114, 100, 99, 123, 113, 101, 97, 106, 106, 98, 97,
+  93, 94, 106, 126, 125, 121, 103, 89, 78, 69, 61, 56, 52, 49, 47, 46,
+  69, 70, 72, 72, 78, 81, 85, 91, 94, 105, 113, 124, 133, 140, 147, 152,
+  148, 143, 145, 168, 177, 186, 199, 200, 212, 136, 195, 212, 172, 188, 184, 159,
+  95, 94, 139, 154, 161, 169, 179, 174, 185, 180, 177, 172, 177, 187, 198, 198,
+  197, 191, 187, 197, 206, 182, 174, 88, 147, 164, 137, 149, 164, 172, 185, 177,
+  160, 161, 159, 146, 94, 123, 183, 171, 169, 173, 150, 127, 114, 68, 71, 78,
+  107, 77, 124, 132, 128, 157, 152, 143, 137, 130, 127, 135, 130, 100, 110, 175,
+  179, 152, 126, 124, 124, 129, 88, 100, 123, 97, 93, 89, 92, 86, 80, 82,
+  82, 82, 78, 105, 126, 119, 106, 92, 80, 71, 62, 57, 52, 49, 47, 45,
+  68, 69, 71, 72, 77, 79, 83, 88, 93, 101, 108, 117, 125, 133, 142, 146,
+  149, 147, 142, 145, 176, 175, 193, 207, 181, 164, 214, 193, 145, 139, 87, 68,
+  107, 137, 153, 161, 159, 165, 172, 169, 168, 143, 129, 128, 131, 134, 139, 137,
+  129, 119, 118, 126, 130, 118, 121, 96, 149, 139, 109, 101, 105, 110, 112, 113,
+  108, 107, 99, 97, 87, 126, 160, 130, 112, 101, 82, 72, 77, 72, 88, 103,
+  93, 103, 148, 125, 100, 108, 95, 96, 92, 86, 85, 95, 90, 83, 114, 173,
+  183, 164, 126, 118, 125, 103, 88, 117, 101, 71, 75, 80, 84, 78, 74, 68,
+  73, 76, 66, 78, 115, 120, 108, 94, 82, 74, 64, 57, 53, 50, 47, 45,
+  68, 68, 70, 71, 76, 77, 81, 86, 92, 99, 104, 111, 119, 126, 135, 141,
+  151, 150, 145, 131, 118, 120, 145, 148, 117, 159, 157, 108, 100, 78, 93, 138,
+  149, 155, 157, 153, 154, 161, 166, 164, 161, 137, 126, 130, 132, 130, 131, 139,
+  137, 128, 125, 130, 130, 132, 128, 136, 156, 150, 132, 124, 124, 122, 120, 119,
+  118, 122, 124, 120, 124, 138, 145, 130, 118, 116, 118, 120, 120, 113, 116, 114,
+  115, 128, 135, 118, 107, 114, 115, 116, 114, 113, 113, 114, 118, 123, 151, 177,
+  183, 177, 145, 117, 102, 78, 105, 99, 77, 77, 78, 80, 83, 80, 79, 73,
+  67, 61, 60, 57, 95, 119, 109, 95, 83, 74, 65, 58, 53, 51, 48, 46,
+  68, 68, 70, 71, 75, 76, 79, 84, 90, 96, 99, 105, 112, 119, 128, 136,
+  147, 148, 150, 151, 145, 135, 128, 113, 100, 95, 97, 101, 117, 125, 138, 151,
+  152, 154, 152, 149, 149, 155, 158, 160, 158, 151, 153, 160, 164, 160, 163, 169,
+  164, 158, 156, 158, 157, 161, 152, 158, 157, 159, 155, 153, 152, 149, 147, 149,
+  148, 147, 147, 147, 147, 148, 152, 144, 143, 144, 146, 146, 147, 140, 139, 136,
+  146, 144, 148, 142, 142, 144, 142, 139, 139, 138, 139, 137, 150, 151, 161, 181,
+  180, 183, 166, 136, 93, 104, 104, 81, 77, 88, 76, 79, 78, 76, 73, 69,
+  63, 59, 62, 45, 78, 116, 109, 95, 83, 74, 65, 58, 54, 51, 48, 47,
+  67, 68, 70, 71, 74, 75, 77, 82, 87, 92, 94, 99, 106, 113, 122, 129,
+  140, 148, 145, 146, 143, 145, 143, 139, 138, 137, 135, 140, 138, 146, 160, 156,
+  151, 147, 149, 145, 145, 151, 153, 157, 155, 157, 162, 165, 169, 164, 165, 177,
+  172, 163, 162, 164, 166, 168, 164, 161, 159, 157, 158, 161, 159, 157, 154, 154,
+  157, 154, 153, 152, 148, 151, 151, 147, 148, 147, 148, 150, 150, 145, 141, 145,
+  146, 146, 145, 145, 143, 148, 148, 147, 146, 144, 144, 146, 155, 158, 166, 177,
+  177, 168, 142, 121, 108, 106, 90, 84, 89, 88, 72, 76, 73, 75, 71, 67,
+  63, 64, 61, 41, 68, 110, 110, 95, 83, 74, 65, 59, 54, 51, 48, 47,
+  67, 68, 69, 70, 71, 73, 76, 79, 83, 86, 91, 96, 104, 109, 116, 122,
+  132, 136, 138, 140, 141, 141, 142, 143, 145, 142, 144, 144, 145, 153, 155, 149,
+  143, 141, 139, 137, 139, 143, 145, 147, 148, 150, 155, 157, 159, 157, 158, 170,
+  167, 157, 154, 156, 159, 159, 156, 152, 151, 149, 149, 150, 149, 147, 146, 146,
+  147, 146, 145, 144, 143, 144, 143, 142, 141, 140, 140, 141, 141, 139, 137, 137,
+  138, 135, 135, 136, 134, 135, 136, 137, 136, 136, 139, 143, 149, 154, 163, 170,
+  158, 109, 96, 105, 112, 106, 134, 127, 114, 96, 80, 73, 73, 70, 63, 63,
+  56, 55, 44, 41, 60, 109, 107, 97, 85, 75, 65, 59, 54, 51, 49, 47,
+  67, 68, 69, 69, 69, 72, 74, 77, 81, 84, 89, 94, 100, 105, 111, 116,
+  123, 127, 131, 132, 134, 135, 136, 138, 141, 141, 140, 140, 143, 149, 148, 143,
+  139, 135, 132, 131, 134, 137, 139, 139, 140, 143, 148, 149, 150, 149, 152, 162,
+  160, 150, 147, 148, 151, 152, 149, 144, 143, 142, 141, 141, 140, 139, 138, 138,
+  138, 138, 137, 136, 136, 135, 134, 134, 133, 132, 132, 133, 133, 132, 131, 128,
+  127, 126, 126, 126, 126, 126, 126, 126, 127, 129, 133, 138, 143, 148, 156, 157,
+  134, 98, 102, 99, 84, 91, 163, 178, 168, 154, 141, 127, 112, 92, 69, 57,
+  60, 49, 40, 33, 51, 108, 111, 97, 85, 74, 65, 59, 54, 51, 49, 47,
+  67, 68, 69, 70, 70, 71, 74, 75, 79, 83, 87, 91, 95, 100, 106, 110,
+  115, 119, 123, 124, 127, 129, 130, 132, 134, 134, 135, 135, 138, 142, 141, 137,
+  132, 129, 126, 125, 128, 131, 133, 134, 134, 136, 140, 143, 144, 142, 145, 154,
+  152, 144, 141, 141, 143, 144, 142, 138, 136, 135, 135, 134, 134, 133, 132, 132,
+  132, 132, 131, 130, 129, 128, 127, 126, 125, 124, 123, 126, 125, 124, 123, 121,
+  120, 119, 118, 118, 118, 118, 118, 119, 120, 123, 127, 132, 139, 143, 153, 145,
+  107, 86, 88, 80, 61, 81, 170, 196, 193, 189, 183, 173, 163, 149, 121, 61,
+  55, 42, 28, 27, 53, 108, 110, 96, 84, 73, 64, 58, 53, 50, 49, 47,
+  67, 68, 69, 70, 70, 71, 73, 74, 77, 81, 85, 88, 92, 97, 102, 106,
+  110, 113, 116, 118, 121, 122, 125, 126, 128, 128, 130, 130, 134, 136, 134, 131,
+  127, 124, 122, 122, 125, 127, 129, 129, 129, 131, 135, 137, 139, 136, 138, 146,
+  146, 139, 136, 135, 137, 139, 137, 133, 131, 130, 129, 129, 128, 127, 127, 126,
+  126, 125, 124, 123, 122, 121, 121, 119, 118, 117, 117, 119, 118, 117, 116, 115,
+  114, 113, 113, 113, 113, 113, 113, 113, 114, 118, 122, 127, 134, 140, 149, 135,
+  91, 66, 54, 67, 61, 88, 172, 192, 193, 193, 192, 189, 187, 183, 163, 75,
+  38, 24, 22, 34, 63, 109, 107, 94, 82, 72, 63, 58, 53, 50, 48, 46,
+  67, 68, 69, 70, 70, 71, 72, 73, 76, 78, 82, 85, 89, 94, 99, 102,
+  105, 108, 110, 111, 114, 116, 119, 120, 122, 123, 124, 126, 129, 129, 128, 125,
+  122, 120, 118, 118, 121, 124, 124, 124, 125, 126, 129, 132, 134, 131, 132, 139,
+  139, 134, 129, 127, 130, 133, 131, 127, 126, 125, 124, 124, 123, 122, 121, 121,
+  120, 119, 119, 117, 116, 115, 114, 113, 112, 111, 110, 111, 111, 110, 110, 108,
+  108, 107, 106, 106, 106, 106, 106, 107, 108, 112, 117, 123, 130, 137, 145, 125,
+  88, 64, 47, 77, 70, 96, 175, 192, 193, 193, 194, 193, 190, 187, 172, 92,
+  39, 23, 47, 45, 67, 107, 108, 93, 81, 71, 62, 57, 52, 49, 47, 45,
+  67, 68, 69, 70, 70, 71, 71, 72, 74, 76, 79, 82, 86, 89, 93, 96,
+  101, 103, 104, 105, 108, 110, 113, 115, 114, 116, 118, 121, 124, 122, 120, 117,
+  116, 114, 113, 114, 117, 119, 119, 119, 119, 120, 123, 125, 127, 124, 125, 131,
+  131, 128, 122, 120, 123, 125, 124, 121, 120, 119, 118, 118, 117, 116, 115, 114,
+  113, 112, 112, 109, 108, 107, 107, 106, 106, 105, 104, 103, 103, 102, 101, 101,
+  100, 99, 99, 98, 98, 98, 98, 100, 101, 106, 112, 117, 124, 132, 139, 119,
+  88, 67, 61, 84, 71, 94, 172, 188, 189, 188, 188, 186, 185, 187, 170, 88,
+  48, 48, 69, 45, 73, 109, 108, 92, 80, 70, 61, 56, 52, 49, 47, 45,
+  66, 67, 68, 69, 69, 70, 70, 71, 72, 74, 78, 80, 82, 85, 88, 91,
+  95, 98, 99, 100, 102, 104, 107, 108, 107, 109, 111, 115, 117, 115, 113, 111,
+  109, 108, 107, 109, 111, 113, 112, 113, 114, 115, 117, 120, 121, 118, 119, 124,
+  125, 121, 116, 114, 116, 118, 118, 116, 114, 113, 112, 112, 112, 111, 110, 107,
+  106, 105, 105, 103, 102, 101, 100, 100, 100, 99, 98, 97, 96, 95, 94, 94,
+  93, 92, 91, 91, 91, 91, 91, 93, 95, 100, 105, 111, 118, 126, 135, 122,
+  85, 62, 65, 74, 65, 85, 159, 181, 181, 180, 180, 176, 176, 175, 147, 52,
+  41, 66, 57, 41, 88, 113, 102, 90, 79, 69, 61, 56, 52, 49, 47, 45,
+  66, 67, 67, 68, 69, 69, 70, 71, 72, 74, 77, 79, 81, 84, 87, 89,
+  90, 92, 94, 96, 100, 101, 103, 104, 103, 104, 109, 113, 112, 111, 108, 107,
+  104, 102, 103, 105, 108, 109, 108, 109, 113, 114, 116, 116, 114, 113, 114, 119,
+  120, 118, 112, 111, 111, 112, 113, 112, 111, 109, 107, 107, 107, 106, 105, 102,
+  101, 100, 100, 99, 98, 97, 97, 95, 93, 93, 92, 91, 91, 90, 89, 88,
+  88, 88, 88, 87, 87, 87, 87, 89, 90, 95, 99, 105, 113, 122, 132, 127,
+  87, 55, 65, 61, 58, 69, 132, 166, 172, 172, 172, 170, 168, 156, 100, 37,
+  53, 65, 48, 56, 103, 115, 101, 87, 77, 69, 62, 56, 53, 49, 45, 45,
+  66, 67, 67, 68, 69, 69, 70, 71, 71, 73, 75, 77, 79, 81, 83, 85,
+  87, 88, 90, 92, 94, 96, 98, 99, 99, 100, 104, 107, 106, 104, 103, 102,
+  101, 100, 101, 103, 104, 105, 104, 105, 107, 109, 111, 111, 109, 108, 109, 113,
+  115, 112, 108, 105, 106, 106, 108, 108, 106, 105, 103, 102, 101, 100, 99, 99,
+  98, 97, 96, 94, 93, 92, 91, 90, 89, 89, 88, 87, 87, 86, 85, 85,
+  84, 84, 84, 83, 83, 83, 83, 84, 85, 88, 93, 101, 109, 116, 127, 129,
+  92, 52, 61, 49, 48, 50, 90, 134, 157, 159, 153, 148, 121, 92, 65, 45,
+  65, 56, 38, 76, 109, 109, 102, 85, 75, 68, 61, 55, 52, 49, 45, 45,
+  66, 67, 67, 68, 69, 69, 70, 71, 71, 72, 74, 75, 76, 78, 80, 81,
+  82, 84, 86, 88, 89, 91, 93, 94, 94, 96, 100, 101, 99, 98, 97, 97,
+  98, 97, 98, 99, 100, 101, 101, 101, 103, 105, 107, 106, 105, 104, 105, 108,
+  109, 107, 103, 101, 101, 102, 102, 103, 101, 100, 98, 96, 96, 95, 94, 94,
+  93, 93, 92, 90, 88, 87, 87, 86, 85, 84, 84, 83, 82, 82, 81, 80,
+  80, 80, 80, 79, 79, 79, 79, 78, 80, 83, 87, 96, 104, 111, 121, 128,
+  109, 65, 52, 47, 46, 48, 59, 74, 88, 89, 87, 85, 63, 46, 51, 62,
+  65, 45, 59, 98, 113, 104, 99, 82, 73, 67, 59, 54, 52, 49, 45, 45,
+  66, 67, 67, 68, 69, 69, 70, 71, 71, 71, 72, 74, 74, 76, 77, 78,
+  79, 81, 83, 85, 87, 89, 90, 91, 92, 95, 97, 97, 95, 94, 94, 94,
+  94, 94, 96, 98, 99, 100, 99, 99, 100, 102, 104, 103, 102, 100, 102, 104,
+  106, 104, 100, 98, 97, 98, 99, 99, 97, 95, 94, 93, 93, 92, 92, 91,
+  90, 89, 88, 87, 86, 85, 85, 82, 81, 80, 79, 79, 78, 78, 77, 75,
+  75, 75, 75, 74, 74, 74, 74, 76, 76, 81, 85, 92, 100, 107, 117, 126,
+  125, 96, 64, 52, 46, 54, 55, 58, 56, 54, 55, 48, 49, 51, 61, 67,
+  51, 50, 90, 111, 112, 101, 93, 79, 71, 65, 58, 52, 51, 49, 45, 45,
+  66, 67, 67, 68, 69, 69, 70, 71, 71, 71, 71, 72, 74, 75, 76, 77,
+  77, 78, 80, 82, 85, 87, 88, 88, 89, 93, 94, 93, 92, 92, 92, 91,
+  90, 90, 93, 95, 97, 98, 97, 96, 98, 100, 101, 101, 100, 98, 100, 102,
+  103, 102, 99, 95, 95, 96, 97, 96, 95, 93, 91, 92, 92, 91, 90, 88,
+  87, 87, 86, 85, 85, 84, 83, 80, 79, 78, 77, 77, 76, 75, 75, 73,
+  73, 73, 73, 71, 71, 71, 71, 73, 74, 78, 82, 88, 96, 102, 113, 125,
+  126, 124, 104, 70, 53, 57, 54, 54, 54, 50, 52, 53, 43, 46, 57, 49,
+  56, 92, 112, 113, 106, 98, 85, 76, 68, 63, 56, 52, 50, 49, 45, 45,
+  66, 67, 67, 68, 69, 69, 70, 70, 71, 71, 71, 71, 75, 76, 76, 76,
+  76, 77, 79, 81, 82, 83, 85, 85, 86, 89, 90, 89, 89, 89, 90, 89,
+  87, 88, 91, 92, 93, 94, 93, 93, 95, 97, 99, 99, 97, 96, 97, 99,
+  100, 98, 96, 92, 92, 93, 94, 94, 93, 91, 90, 89, 88, 88, 87, 87,
+  87, 86, 86, 84, 83, 82, 82, 79, 79, 78, 77, 77, 76, 75, 74, 72,
+  72, 72, 72, 70, 70, 70, 70, 71, 72, 75, 80, 84, 91, 97, 108, 119,
+  123, 128, 126, 106, 79, 70, 59, 53, 50, 48, 51, 48, 55, 49, 55, 72,
+  92, 113, 117, 110, 101, 92, 82, 73, 66, 62, 55, 51, 50, 49, 45, 45,
+  64, 65, 66, 66, 68, 68, 69, 70, 71, 70, 71, 71, 73, 73, 74, 74,
+  75, 76, 77, 79, 80, 80, 81, 83, 84, 86, 86, 86, 86, 86, 87, 86,
+  86, 87, 89, 91, 91, 92, 91, 90, 92, 94, 95, 95, 94, 93, 93, 94,
+  96, 96, 93, 90, 89, 89, 91, 92, 91, 89, 89, 88, 87, 86, 85, 85,
+  85, 84, 83, 81, 80, 79, 78, 78, 77, 76, 75, 75, 74, 73, 73, 70,
+  69, 69, 68, 68, 68, 68, 68, 68, 70, 73, 77, 81, 87, 93, 101, 113,
+  119, 124, 128, 128, 112, 102, 91, 78, 71, 69, 72, 70, 75, 80, 94, 110,
+  117, 114, 111, 103, 94, 85, 77, 69, 63, 58, 54, 51, 48, 47, 44, 45,
+  64, 64, 65, 66, 67, 68, 69, 70, 70, 70, 71, 71, 71, 71, 72, 73,
+  74, 75, 76, 77, 79, 78, 79, 81, 84, 85, 85, 85, 85, 85, 86, 85,
+  85, 87, 89, 90, 92, 91, 90, 90, 91, 92, 92, 93, 92, 92, 91, 92,
+  94, 95, 92, 89, 87, 87, 89, 90, 89, 88, 87, 87, 86, 85, 85, 83,
+  82, 81, 81, 78, 77, 76, 76, 76, 75, 74, 73, 73, 72, 71, 71, 69,
+  69, 68, 67, 67, 67, 67, 67, 67, 70, 73, 76, 79, 84, 90, 97, 107,
+  113, 120, 125, 129, 129, 126, 123, 117, 111, 108, 107, 106, 111, 116, 119, 119,
+  117, 112, 105, 96, 88, 80, 72, 64, 60, 55, 52, 51, 48, 45, 44, 45,
+  64, 64, 65, 66, 67, 67, 68, 69, 70, 70, 70, 70, 70, 71, 72, 73,
+  74, 74, 75, 76, 78, 77, 79, 81, 83, 84, 84, 84, 84, 84, 85, 84,
+  85, 87, 88, 90, 91, 90, 89, 89, 90, 91, 92, 92, 92, 91, 90, 91,
+  93, 94, 91, 88, 86, 87, 88, 89, 88, 87, 87, 86, 86, 85, 84, 82,
+  81, 80, 80, 78, 76, 76, 75, 75, 74, 73, 72, 72, 71, 70, 70, 69,
+  68, 67, 66, 66, 66, 66, 67, 66, 69, 72, 74, 77, 82, 88, 93, 101,
+  107, 113, 119, 123, 127, 129, 129, 130, 126, 125, 125, 123, 123, 122, 120, 115,
+  111, 104, 97, 90, 83, 75, 68, 62, 58, 53, 51, 50, 47, 45, 44, 45,
+  64, 64, 65, 66, 66, 67, 67, 68, 70, 70, 70, 70, 70, 70, 71, 72,
+  73, 74, 75, 75, 76, 77, 79, 81, 82, 83, 83, 83, 83, 83, 84, 84,
+  84, 86, 88, 89, 89, 89, 88, 87, 89, 90, 90, 91, 90, 89, 89, 89,
+  92, 93, 90, 88, 86, 85, 87, 87, 87, 86, 85, 85, 84, 84, 83, 81,
+  80, 79, 78, 77, 76, 75, 74, 74, 72, 72, 71, 70, 70, 69, 68, 68,
+  67, 66, 66, 66, 66, 66, 65, 65, 67, 70, 71, 74, 78, 83, 88, 95,
+  101, 107, 111, 115, 118, 122, 121, 120, 120, 120, 121, 120, 118, 115, 112, 109,
+  104, 97, 90, 85, 78, 71, 65, 59, 56, 52, 49, 49, 47, 45, 44, 45,
+  64, 64, 65, 66, 66, 66, 67, 68, 69, 69, 69, 69, 69, 70, 71, 71,
+  72, 73, 74, 75, 75, 76, 79, 81, 81, 82, 82, 82, 82, 82, 83, 83,
+  84, 85, 87, 88, 89, 88, 87, 86, 87, 88, 89, 89, 89, 88, 87, 88,
+  91, 92, 89, 87, 85, 84, 85, 86, 86, 85, 84, 84, 83, 82, 82, 80,
+  79, 78, 77, 76, 75, 74, 74, 73, 71, 71, 70, 69, 69, 68, 67, 67,
+  67, 66, 65, 65, 65, 65, 65, 64, 65, 67, 68, 71, 75, 79, 83, 91,
+  96, 101, 106, 110, 112, 114, 113, 113, 115, 116, 115, 113, 112, 110, 108, 103,
+  98, 91, 85, 80, 74, 68, 62, 56, 54, 50, 48, 48, 46, 45, 45, 45,
+  64, 64, 65, 65, 65, 66, 67, 67, 69, 69, 69, 69, 69, 69, 70, 71,
+  71, 72, 73, 74, 73, 75, 78, 81, 80, 81, 81, 81, 81, 81, 82, 82,
+  83, 85, 87, 88, 88, 87, 86, 86, 86, 87, 88, 88, 88, 87, 86, 87,
+  90, 91, 88, 86, 85, 83, 84, 85, 85, 84, 83, 83, 82, 81, 81, 79,
+  78, 77, 76, 76, 75, 74, 74, 71, 71, 70, 69, 69, 68, 67, 66, 67,
+  66, 66, 65, 65, 65, 65, 64, 63, 64, 65, 66, 69, 72, 76, 79, 84,
+  89, 95, 98, 103, 106, 107, 107, 106, 108, 109, 107, 104, 103, 102, 99, 95,
+  91, 85, 80, 75, 69, 63, 58, 54, 52, 48, 47, 47, 46, 45, 45, 45,
+  64, 64, 65, 65, 65, 66, 67, 67, 69, 69, 69, 69, 69, 69, 70, 71,
+  71, 72, 73, 73, 73, 74, 78, 80, 80, 81, 81, 81, 81, 81, 82, 82,
+  83, 85, 86, 87, 87, 86, 86, 85, 85, 86, 87, 88, 87, 86, 85, 86,
+  90, 90, 87, 86, 85, 83, 83, 84, 84, 83, 83, 83, 82, 81, 80, 78,
+  77, 76, 76, 76, 75, 74, 73, 71, 70, 69, 69, 68, 68, 67, 66, 66,
+  66, 65, 65, 65, 65, 65, 64, 63, 63, 65, 65, 67, 70, 74, 76, 79,
+  83, 88, 91, 91, 96, 99, 100, 99, 102, 101, 99, 99, 97, 94, 92, 88,
+  85, 81, 75, 69, 64, 59, 55, 52, 50, 48, 46, 46, 46, 45, 45, 45,
+  64, 64, 65, 65, 65, 65, 65, 65, 66, 67, 67, 68, 68, 69, 70, 71,
+  71, 71, 72, 73, 73, 75, 77, 79, 79, 80, 80, 79, 79, 79, 80, 80,
+  82, 83, 84, 84, 84, 84, 84, 84, 85, 86, 87, 87, 86, 85, 84, 85,
+  86, 88, 86, 83, 81, 79, 79, 82, 83, 83, 83, 81, 79, 79, 78, 77,
+  76, 75, 75, 75, 75, 74, 73, 71, 70, 69, 69, 68, 68, 67, 67, 67,
+  67, 66, 65, 65, 64, 63, 62, 62, 62, 64, 64, 64, 67, 69, 71, 76,
+  79, 83, 86, 87, 90, 93, 93, 92, 92, 92, 92, 91, 89, 87, 85, 82,
+  78, 73, 68, 64, 61, 56, 53, 51, 49, 47, 45, 45, 45, 45, 45, 45,
+  64, 64, 64, 64, 64, 64, 64, 64, 65, 66, 67, 68, 68, 69, 70, 70,
+  70, 71, 72, 73, 73, 75, 76, 78, 79, 79, 79, 79, 79, 79, 80, 80,
+  81, 82, 83, 83, 83, 83, 83, 84, 84, 85, 86, 86, 85, 84, 83, 83,
+  86, 87, 85, 82, 80, 79, 79, 81, 82, 82, 82, 80, 79, 78, 77, 76,
+  75, 74, 74, 74, 74, 73, 72, 71, 70, 69, 69, 68, 68, 68, 68, 68,
+  67, 66, 65, 65, 64, 62, 61, 61, 62, 63, 64, 63, 65, 67, 69, 71,
+  74, 77, 79, 81, 84, 86, 86, 85, 85, 85, 85, 83, 82, 80, 79, 77,
+  74, 70, 66, 62, 58, 54, 52, 50, 49, 47, 45, 45, 45, 45, 45, 45,
+  64, 64, 64, 64, 64, 64, 64, 64, 65, 66, 66, 67, 68, 68, 69, 70,
+  70, 71, 71, 72, 73, 74, 76, 77, 77, 78, 78, 78, 78, 78, 79, 80,
+  81, 82, 82, 83, 82, 82, 82, 82, 84, 85, 85, 85, 84, 83, 82, 83,
+  85, 87, 85, 82, 80, 78, 78, 80, 81, 81, 81, 80, 79, 78, 77, 75,
+  74, 73, 73, 73, 73, 72, 71, 71, 70, 69, 69, 68, 68, 68, 68, 67,
+  66, 66, 65, 65, 64, 62, 61, 61, 61, 62, 62, 62, 63, 65, 66, 66,
+  68, 70, 73, 75, 77, 78, 80, 79, 79, 79, 78, 76, 75, 73, 73, 71,
+  68, 64, 62, 59, 56, 52, 50, 50, 48, 46, 45, 45, 45, 45, 45, 45,
+  64, 64, 64, 64, 64, 64, 64, 64, 65, 65, 66, 67, 67, 68, 68, 69,
+  70, 70, 71, 72, 73, 74, 75, 76, 77, 78, 78, 78, 78, 78, 79, 79,
+  80, 81, 82, 82, 81, 81, 81, 81, 82, 83, 84, 83, 82, 82, 81, 81,
+  84, 86, 84, 81, 79, 78, 78, 79, 80, 80, 80, 79, 78, 77, 77, 75,
+  73, 73, 72, 73, 72, 71, 71, 71, 70, 69, 69, 67, 67, 67, 67, 67,
+  66, 65, 65, 65, 64, 62, 61, 61, 61, 61, 61, 61, 61, 62, 63, 63,
+  64, 67, 69, 71, 72, 73, 74, 74, 74, 74, 74, 72, 71, 69, 67, 65,
+  63, 60, 58, 56, 53, 50, 49, 48, 48, 46, 45, 45, 45, 45, 44, 44,
+  63, 63, 63, 63, 63, 63, 63, 63, 64, 65, 66, 66, 67, 67, 68, 69,
+  69, 70, 71, 72, 74, 74, 74, 74, 76, 77, 77, 77, 77, 77, 78, 78,
+  80, 80, 82, 81, 80, 80, 80, 80, 81, 81, 82, 82, 81, 80, 79, 80,
+  83, 85, 82, 80, 79, 77, 77, 78, 79, 79, 79, 78, 78, 77, 76, 74,
+  73, 72, 72, 72, 72, 71, 70, 70, 70, 69, 69, 67, 67, 67, 67, 66,
+  66, 65, 64, 64, 64, 62, 61, 61, 60, 60, 60, 60, 60, 60, 61, 62,
+  63, 65, 66, 69, 70, 70, 71, 70, 70, 70, 70, 68, 66, 64, 63, 61,
+  59, 57, 54, 53, 50, 47, 47, 47, 47, 46, 45, 45, 45, 45, 44, 44,
+  63, 63, 63, 63, 63, 63, 63, 63, 64, 64, 65, 66, 66, 67, 68, 68,
+  69, 69, 70, 71, 74, 73, 73, 74, 75, 75, 75, 76, 76, 77, 77, 78,
+  79, 80, 81, 81, 79, 79, 79, 79, 80, 80, 81, 81, 80, 79, 78, 79,
+  82, 83, 81, 79, 78, 76, 77, 77, 77, 77, 77, 77, 77, 76, 75, 74,
+  73, 72, 71, 71, 71, 70, 70, 70, 70, 69, 69, 66, 66, 66, 66, 66,
+  65, 64, 64, 64, 64, 62, 61, 61, 60, 59, 58, 58, 58, 58, 58, 59,
+  59, 61, 63, 65, 66, 66, 66, 65, 64, 64, 64, 63, 61, 60, 59, 58,
+  57, 54, 52, 50, 47, 46, 46, 46, 46, 46, 45, 45, 45, 45, 44, 43,
+  62, 62, 62, 62, 63, 63, 63, 63, 64, 64, 65, 65, 65, 66, 67, 67,
+  68, 69, 70, 71, 73, 73, 73, 73, 74, 74, 74, 74, 75, 75, 76, 77,
+  79, 79, 80, 80, 79, 79, 79, 78, 79, 80, 81, 81, 79, 79, 78, 78,
+  80, 82, 80, 79, 77, 76, 76, 77, 77, 77, 77, 77, 76, 75, 74, 72,
+  72, 71, 71, 71, 71, 70, 70, 70, 69, 68, 68, 66, 66, 66, 66, 65,
+  64, 64, 63, 64, 63, 62, 61, 60, 59, 58, 57, 58, 58, 57, 57, 58,
+  58, 59, 60, 62, 62, 63, 62, 62, 62, 61, 61, 60, 59, 58, 57, 56,
+  55, 53, 52, 49, 48, 46, 45, 45, 46, 45, 45, 45, 45, 45, 44, 43,
+  60, 61, 61, 62, 63, 63, 63, 63, 64, 64, 65, 65, 65, 65, 66, 67,
+  67, 68, 70, 72, 73, 73, 73, 73, 73, 73, 73, 72, 71, 72, 73, 75,
+  78, 78, 79, 79, 79, 79, 79, 78, 78, 79, 79, 80, 79, 78, 78, 77,
+  78, 80, 80, 78, 76, 75, 75, 76, 77, 77, 77, 76, 75, 74, 73, 71,
+  71, 71, 71, 70, 70, 70, 70, 68, 67, 67, 66, 66, 66, 66, 66, 65,
+  64, 63, 63, 62, 61, 60, 60, 59, 59, 58, 58, 58, 58, 58, 58, 59,
+  59, 59, 59, 59, 59, 59, 59, 60, 59, 58, 58, 58, 58, 57, 55, 53,
+  52, 51, 50, 50, 48, 47, 47, 46, 46, 45, 45, 45, 45, 45, 44, 43,
+  60, 61, 61, 62, 63, 63, 63, 63, 64, 64, 65, 65, 65, 65, 66, 67,
+  67, 68, 70, 72, 73, 73, 73, 73, 73, 73, 73, 72, 71, 72, 72, 74,
+  77, 78, 79, 79, 79, 79, 79, 78, 78, 79, 79, 80, 79, 78, 77, 77,
+  78, 80, 80, 78, 76, 75, 75, 75, 76, 76, 76, 76, 75, 74, 73, 71,
+  71, 71, 71, 70, 70, 70, 70, 68, 67, 67, 66, 66, 66, 66, 66, 65,
+  64, 63, 63, 62, 61, 60, 60, 59, 59, 58, 58, 58, 58, 58, 58, 58,
+  58, 58, 58, 58, 58, 58, 58, 57, 56, 55, 55, 56, 55, 54, 53, 51,
+  51, 50, 49, 50, 49, 48, 47, 46, 46, 45, 45, 45, 45, 45, 44, 43,
+  60, 61, 61, 62, 63, 63, 63, 63, 64, 64, 65, 65, 65, 65, 66, 67,
+  67, 68, 70, 72, 73, 73, 73, 73, 73, 73, 73, 72, 71, 72, 72, 74,
+  77, 78, 78, 78, 78, 78, 78, 78, 78, 79, 79, 79, 79, 78, 77, 77,
+  78, 80, 80, 78, 76, 75, 75, 75, 76, 76, 76, 76, 75, 74, 73, 71,
+  71, 71, 71, 70, 70, 70, 70, 68, 67, 67, 66, 66, 66, 66, 66, 65,
+  64, 63, 63, 62, 61, 60, 60, 59, 59, 58, 58, 58, 58, 58, 58, 58,
+  58, 58, 57, 56, 56, 56, 56, 55, 54, 54, 53, 54, 53, 52, 51, 50,
+  49, 48, 48, 50, 49, 48, 47, 46, 46, 45, 45, 45, 45, 45, 44, 43,
+  18, 17, 17, 16, 16, 17, 17, 18, 19, 19, 19, 20, 19, 19, 20, 22,
+  27, 29, 31, 30, 30, 31, 32, 32, 31, 31, 36, 38, 39, 41, 37, 35,
+  43, 45, 39, 36, 38, 40, 46, 52, 40, 47, 45, 50, 52, 52, 48, 46,
+  54, 45, 41, 43, 41, 37, 33, 35, 41, 35, 31, 36, 38, 34, 30, 30,
+  31, 29, 30, 32, 34, 35, 36, 36, 35, 32, 30, 27, 25, 24, 23, 20,
+  19, 19, 19, 19, 20, 20, 19, 14, 13, 14, 15, 15, 16, 17, 16, 14,
+  13, 12, 12, 12, 11, 10, 10, 12, 12, 12, 11, 11, 10, 9, 9, 11,
+  11, 11, 11, 9, 7, 7, 9, 11, 11, 11, 9, 8, 9, 8, 7, 7,
+  18, 17, 17, 16, 16, 17, 17, 18, 19, 19, 19, 20, 20, 20, 21, 22,
+  26, 28, 29, 29, 30, 31, 32, 33, 32, 32, 34, 36, 39, 41, 38, 37,
+  44, 47, 42, 39, 40, 42, 49, 54, 45, 49, 49, 53, 54, 54, 51, 49,
+  58, 49, 45, 45, 42, 37, 35, 38, 41, 35, 35, 39, 38, 34, 29, 30,
+  32, 31, 32, 33, 35, 35, 35, 36, 35, 32, 30, 27, 25, 24, 23, 20,
+  19, 19, 19, 19, 20, 20, 19, 14, 13, 14, 15, 15, 16, 17, 16, 14,
+  13, 12, 12, 12, 11, 10, 10, 12, 12, 12, 11, 11, 10, 9, 9, 11,
+  11, 11, 11, 9, 7, 7, 9, 11, 11, 11, 9, 9, 9, 9, 7, 7,
+  18, 17, 17, 16, 16, 17, 17, 18, 19, 20, 20, 20, 21, 21, 22, 22,
+  25, 27, 28, 29, 31, 32, 34, 34, 34, 33, 34, 35, 39, 41, 41, 38,
+  43, 49, 46, 42, 41, 44, 50, 56, 50, 51, 53, 55, 56, 56, 52, 53,
+  59, 51, 49, 49, 44, 38, 38, 41, 40, 37, 39, 42, 39, 34, 29, 31,
+  33, 34, 34, 35, 36, 35, 36, 36, 34, 31, 29, 27, 25, 24, 23, 20,
+  19, 19, 19, 19, 20, 20, 19, 14, 13, 14, 15, 15, 16, 17, 16, 14,
+  13, 12, 12, 12, 11, 10, 10, 12, 12, 12, 11, 11, 10, 9, 9, 11,
+  11, 11, 11, 9, 7, 7, 9, 11, 11, 11, 9, 9, 10, 9, 7, 7,
+  18, 17, 17, 16, 16, 17, 17, 18, 20, 20, 20, 20, 21, 21, 22, 22,
+  24, 26, 28, 29, 31, 32, 34, 35, 35, 35, 34, 36, 39, 41, 43, 41,
+  41, 48, 48, 44, 42, 43, 49, 56, 54, 51, 55, 55, 57, 57, 53, 54,
+  60, 52, 52, 51, 45, 39, 41, 43, 41, 39, 42, 43, 38, 33, 30, 32,
+  35, 36, 37, 37, 37, 36, 35, 35, 33, 30, 28, 26, 25, 23, 22, 20,
+  19, 19, 19, 19, 20, 20, 19, 14, 13, 14, 15, 15, 16, 17, 16, 14,
+  13, 12, 12, 12, 11, 10, 10, 12, 12, 12, 11, 11, 10, 9, 9, 11,
+  11, 11, 11, 9, 7, 7, 9, 11, 11, 11, 10, 10, 10, 10, 8, 8,
+  18, 17, 17, 16, 16, 17, 17, 18, 20, 20, 20, 19, 21, 21, 22, 24,
+  25, 27, 29, 30, 31, 32, 35, 36, 37, 39, 37, 37, 38, 40, 45, 45,
+  42, 46, 50, 47, 43, 44, 50, 56, 58, 51, 59, 57, 59, 60, 56, 57,
+  60, 53, 54, 50, 46, 43, 45, 44, 42, 44, 45, 42, 37, 33, 33, 35,
+  38, 38, 39, 39, 37, 37, 35, 34, 32, 29, 27, 26, 24, 23, 22, 20,
+  19, 19, 19, 19, 20, 20, 19, 14, 13, 14, 15, 15, 16, 17, 16, 14,
+  13, 12, 12, 12, 11, 10, 10, 12, 12, 12, 11, 11, 10, 9, 9, 11,
+  11, 11, 11, 9, 7, 7, 9, 11, 11, 11, 10, 10, 11, 10, 9, 9,
+  18, 17, 17, 16, 16, 17, 17, 18, 20, 19, 19, 19, 21, 21, 23, 24,
+  26, 28, 29, 30, 30, 32, 35, 36, 38, 41, 39, 37, 36, 39, 45, 50,
+  46, 46, 54, 52, 45, 47, 54, 60, 63, 53, 63, 61, 64, 64, 61, 61,
+  61, 54, 57, 50, 47, 45, 46, 44, 43, 47, 44, 39, 35, 33, 36, 39,
+  40, 38, 38, 38, 38, 36, 33, 32, 30, 27, 25, 24, 22, 21, 20, 20,
+  19, 19, 19, 19, 20, 20, 19, 14, 13, 14, 15, 15, 16, 17, 16, 14,
+  13, 12, 12, 12, 11, 10, 10, 12, 12, 12, 11, 11, 10, 9, 9, 11,
+  11, 11, 11, 9, 7, 7, 9, 11, 11, 11, 10, 11, 11, 11, 10, 10,
+  18, 17, 17, 16, 16, 17, 17, 18, 19, 19, 19, 19, 20, 22, 23, 24,
+  25, 26, 28, 29, 30, 31, 34, 35, 37, 41, 41, 38, 37, 38, 44, 50,
+  50, 46, 52, 56, 48, 48, 56, 60, 66, 56, 64, 65, 67, 67, 62, 64,
+  60, 55, 57, 51, 47, 48, 47, 42, 46, 49, 43, 38, 36, 36, 38, 41,
+  41, 39, 39, 38, 37, 34, 32, 31, 29, 27, 25, 24, 23, 22, 20, 20,
+  19, 20, 19, 19, 21, 20, 20, 15, 13, 14, 15, 15, 16, 17, 16, 14,
+  13, 12, 12, 12, 11, 10, 10, 12, 12, 12, 11, 11, 10, 10, 9, 11,
+  11, 11, 10, 9, 8, 7, 9, 11, 11, 11, 11, 12, 12, 12, 10, 10,
+  18, 17, 18, 16, 16, 17, 17, 18, 19, 19, 19, 20, 20, 22, 25, 25,
+  25, 27, 29, 30, 31, 33, 34, 36, 38, 41, 44, 44, 41, 39, 42, 47,
+  52, 49, 48, 59, 54, 49, 56, 60, 69, 62, 66, 69, 69, 71, 63, 69,
+  59, 60, 57, 53, 50, 55, 50, 45, 52, 48, 41, 37, 39, 41, 41, 43,
+  42, 41, 40, 37, 35, 31, 30, 30, 29, 27, 26, 25, 24, 22, 21, 21,
+  20, 20, 20, 20, 21, 21, 20, 15, 14, 15, 16, 15, 16, 17, 16, 14,
+  13, 13, 12, 12, 11, 10, 10, 13, 13, 12, 12, 12, 11, 10, 10, 11,
+  11, 11, 10, 9, 9, 9, 10, 13, 12, 11, 11, 13, 13, 13, 12, 11,
+  18, 17, 18, 17, 17, 17, 17, 18, 18, 18, 19, 20, 21, 23, 26, 26,
+  27, 29, 32, 32, 33, 35, 36, 38, 40, 43, 47, 47, 44, 43, 43, 45,
+  53, 55, 52, 56, 62, 54, 54, 62, 71, 68, 70, 73, 73, 74, 66, 72,
+  61, 65, 60, 53, 59, 59, 51, 54, 55, 46, 38, 38, 43, 46, 46, 45,
+  42, 40, 38, 35, 34, 31, 29, 29, 28, 26, 25, 24, 23, 21, 20, 21,
+  20, 20, 20, 20, 21, 21, 20, 15, 14, 15, 16, 15, 16, 17, 17, 14,
+  14, 13, 12, 12, 11, 10, 11, 13, 13, 12, 12, 12, 11, 10, 10, 11,
+  11, 11, 10, 9, 9, 9, 10, 13, 12, 11, 11, 13, 13, 13, 12, 12,
+  19, 18, 18, 17, 17, 17, 18, 18, 18, 19, 20, 21, 22, 24, 28, 28,
+  28, 30, 34, 34, 36, 37, 40, 40, 41, 45, 49, 49, 49, 50, 46, 45,
+  51, 61, 59, 52, 65, 61, 54, 64, 74, 75, 74, 77, 78, 78, 71, 75,
+  63, 69, 62, 56, 64, 60, 57, 62, 55, 42, 38, 42, 48, 51, 52, 48,
+  44, 40, 37, 34, 33, 31, 29, 29, 28, 26, 24, 23, 22, 20, 19, 19,
+  20, 20, 20, 20, 21, 21, 20, 15, 14, 15, 16, 16, 17, 18, 17, 15,
+  14, 13, 13, 13, 12, 11, 11, 13, 13, 12, 12, 12, 11, 10, 10, 11,
+  11, 11, 10, 9, 9, 9, 11, 13, 12, 11, 11, 13, 13, 13, 13, 13,
+  20, 19, 19, 18, 18, 18, 18, 18, 18, 18, 21, 23, 23, 27, 30, 31,
+  28, 31, 35, 37, 38, 39, 41, 42, 42, 46, 48, 51, 54, 55, 52, 49,
+  50, 61, 66, 55, 64, 69, 60, 63, 75, 82, 78, 82, 84, 83, 77, 80,
+  69, 72, 63, 62, 65, 60, 65, 63, 49, 43, 45, 49, 54, 55, 54, 48,
+  43, 37, 34, 32, 33, 31, 29, 28, 27, 25, 23, 21, 20, 18, 17, 19,
+  20, 20, 20, 20, 21, 21, 20, 15, 14, 15, 17, 17, 18, 19, 18, 16,
+  15, 14, 14, 13, 12, 11, 11, 13, 13, 12, 12, 12, 11, 10, 10, 11,
+  11, 11, 10, 10, 10, 10, 11, 13, 12, 11, 11, 13, 13, 13, 13, 14,
+  20, 19, 20, 18, 18, 19, 19, 18, 19, 19, 23, 24, 25, 29, 33, 34,
+  30, 33, 38, 41, 41, 42, 44, 45, 47, 49, 51, 53, 56, 59, 59, 57,
+  53, 59, 68, 65, 65, 75, 71, 66, 78, 90, 82, 88, 92, 89, 84, 85,
+  75, 75, 64, 71, 67, 69, 73, 60, 47, 46, 52, 56, 59, 57, 54, 46,
+  41, 36, 33, 32, 32, 31, 29, 28, 27, 25, 24, 21, 20, 18, 17, 19,
+  20, 20, 20, 20, 21, 21, 20, 15, 14, 15, 17, 17, 18, 19, 18, 16,
+  15, 15, 14, 14, 13, 12, 12, 13, 13, 12, 12, 12, 11, 10, 10, 11,
+  11, 11, 10, 10, 10, 10, 11, 13, 12, 11, 11, 13, 13, 13, 13, 14,
+  20, 19, 20, 19, 19, 19, 19, 18, 18, 20, 23, 25, 26, 30, 34, 35,
+  32, 35, 39, 42, 43, 44, 46, 48, 50, 51, 52, 53, 57, 61, 65, 63,
+  56, 55, 67, 76, 69, 78, 84, 70, 79, 95, 86, 93, 97, 94, 90, 90,
+  82, 76, 66, 79, 70, 79, 77, 58, 49, 52, 58, 60, 61, 58, 53, 44,
+  39, 35, 32, 32, 30, 31, 30, 28, 27, 25, 24, 21, 20, 18, 17, 19,
+  19, 20, 19, 19, 20, 19, 20, 16, 15, 16, 17, 18, 20, 19, 19, 16,
+  16, 15, 14, 14, 13, 12, 12, 13, 13, 12, 12, 12, 11, 10, 9, 9,
+  10, 11, 11, 11, 11, 11, 12, 12, 12, 11, 11, 13, 13, 13, 13, 14,
+  21, 21, 22, 21, 20, 20, 21, 20, 18, 22, 27, 29, 32, 35, 36, 36,
+  30, 33, 38, 35, 35, 42, 50, 47, 49, 52, 57, 60, 58, 68, 71, 65,
+  62, 63, 67, 76, 77, 75, 103, 74, 77, 100, 96, 95, 98, 93, 98, 95,
+  89, 79, 74, 78, 78, 84, 74, 61, 62, 63, 62, 63, 60, 56, 52, 44,
+  40, 37, 35, 34, 34, 32, 30, 27, 25, 25, 24, 22, 21, 20, 19, 16,
+  16, 17, 16, 17, 17, 16, 17, 17, 17, 18, 20, 20, 20, 20, 19, 14,
+  12, 12, 11, 12, 12, 12, 13, 15, 15, 14, 14, 13, 12, 11, 9, 9,
+  9, 9, 9, 11, 12, 12, 12, 11, 11, 11, 11, 13, 13, 14, 15, 14,
+  21, 22, 22, 22, 20, 20, 23, 22, 19, 23, 28, 31, 35, 37, 37, 36,
+  28, 31, 33, 37, 41, 41, 45, 51, 50, 52, 53, 58, 61, 54, 65, 73,
+  69, 74, 67, 68, 84, 76, 103, 88, 68, 106, 106, 106, 101, 97, 106, 97,
+  91, 72, 82, 84, 86, 77, 61, 67, 74, 73, 64, 60, 57, 54, 52, 45,
+  41, 38, 36, 35, 35, 33, 31, 26, 24, 23, 23, 22, 21, 21, 20, 16,
+  14, 15, 15, 15, 16, 15, 17, 19, 19, 20, 22, 21, 22, 21, 19, 14,
+  12, 11, 11, 12, 12, 12, 14, 17, 16, 16, 15, 14, 13, 12, 10, 8,
+  8, 8, 9, 11, 11, 12, 11, 9, 9, 10, 12, 13, 14, 15, 15, 15,
+  20, 20, 22, 21, 19, 21, 23, 24, 22, 25, 30, 32, 36, 38, 38, 37,
+  34, 36, 37, 46, 48, 56, 61, 68, 62, 63, 64, 58, 53, 56, 53, 56,
+  72, 90, 87, 76, 83, 85, 94, 101, 79, 113, 115, 114, 108, 105, 110, 99,
+  97, 83, 93, 82, 91, 72, 64, 82, 82, 78, 67, 57, 53, 51, 49, 44,
+  41, 38, 36, 34, 34, 32, 31, 26, 24, 24, 24, 22, 23, 23, 21, 18,
+  18, 19, 18, 19, 19, 18, 19, 20, 19, 21, 21, 21, 22, 21, 20, 16,
+  15, 14, 13, 15, 15, 15, 16, 18, 18, 17, 16, 16, 15, 14, 11, 9,
+  9, 8, 9, 11, 12, 12, 10, 10, 10, 10, 11, 13, 14, 14, 15, 15,
+  20, 20, 21, 21, 19, 21, 24, 25, 25, 28, 32, 32, 34, 36, 37, 38,
+  36, 41, 51, 60, 64, 71, 67, 59, 51, 51, 59, 60, 62, 57, 53, 59,
+  75, 96, 102, 91, 80, 91, 92, 91, 87, 110, 128, 123, 115, 112, 117, 107,
+  89, 83, 92, 95, 78, 74, 74, 89, 89, 79, 67, 56, 49, 47, 47, 44,
+  41, 39, 36, 33, 32, 30, 30, 28, 26, 26, 26, 24, 25, 25, 23, 22,
+  21, 22, 21, 21, 22, 21, 22, 21, 21, 22, 21, 21, 22, 22, 21, 18,
+  17, 16, 15, 16, 16, 16, 17, 19, 19, 18, 18, 17, 17, 16, 13, 11,
+  10, 10, 11, 12, 13, 13, 11, 10, 10, 10, 11, 13, 13, 14, 14, 14,
+  19, 20, 20, 21, 19, 21, 25, 27, 28, 31, 33, 31, 31, 35, 37, 41,
+  42, 52, 66, 67, 59, 47, 37, 27, 23, 21, 30, 29, 41, 65, 73, 72,
+  85, 81, 98, 99, 84, 88, 91, 101, 112, 120, 147, 138, 132, 128, 134, 122,
+  97, 108, 106, 111, 88, 96, 101, 104, 95, 78, 63, 55, 48, 46, 44, 42,
+  41, 38, 37, 33, 31, 29, 28, 30, 30, 28, 29, 28, 28, 28, 27, 25,
+  24, 25, 25, 24, 25, 24, 26, 22, 21, 21, 21, 21, 22, 22, 21, 20,
+  19, 18, 17, 18, 18, 18, 19, 21, 21, 20, 20, 20, 19, 18, 16, 14,
+  14, 13, 14, 15, 15, 15, 12, 10, 10, 10, 11, 13, 13, 14, 13, 13,
+  18, 18, 20, 20, 19, 22, 25, 28, 30, 32, 32, 30, 30, 35, 39, 48,
+  60, 67, 62, 46, 27, 15, 11, 19, 27, 28, 33, 25, 23, 37, 73, 98,
+  97, 29, 27, 46, 86, 87, 90, 113, 80, 69, 80, 77, 75, 70, 78, 67,
+  65, 79, 58, 46, 56, 66, 74, 93, 88, 77, 61, 54, 48, 44, 42, 41,
+  40, 37, 36, 34, 32, 30, 29, 32, 32, 31, 32, 30, 31, 31, 30, 26,
+  26, 27, 26, 26, 27, 26, 26, 23, 21, 20, 20, 21, 21, 21, 21, 20,
+  20, 19, 18, 19, 19, 19, 20, 22, 21, 20, 20, 20, 19, 18, 17, 16,
+  16, 16, 16, 16, 16, 16, 14, 9, 9, 9, 10, 12, 13, 13, 12, 11,
+  17, 18, 19, 19, 19, 21, 25, 28, 31, 32, 30, 28, 29, 37, 46, 59,
+  73, 64, 34, 15, 22, 24, 22, 36, 50, 57, 61, 51, 44, 40, 56, 73,
+  85, 15, 29, 29, 77, 99, 90, 143, 83, 72, 71, 79, 76, 73, 82, 83,
+  79, 58, 54, 67, 72, 95, 98, 68, 71, 74, 61, 56, 48, 43, 40, 39,
+  39, 37, 34, 35, 35, 33, 31, 34, 34, 33, 33, 32, 33, 31, 31, 28,
+  27, 27, 28, 27, 27, 27, 26, 23, 22, 20, 19, 20, 20, 20, 20, 19,
+  19, 18, 18, 19, 19, 19, 20, 21, 21, 20, 19, 20, 19, 18, 18, 17,
+  17, 16, 16, 16, 16, 16, 14, 10, 9, 8, 10, 11, 12, 12, 12, 11,
+  16, 16, 19, 20, 19, 22, 24, 30, 32, 33, 27, 27, 29, 46, 57, 72,
+  65, 24, 23, 33, 40, 48, 56, 59, 61, 57, 50, 45, 52, 60, 64, 53,
+  57, 38, 45, 28, 63, 118, 104, 135, 76, 69, 76, 88, 84, 88, 99, 86,
+  65, 52, 62, 93, 100, 107, 99, 32, 67, 75, 63, 51, 45, 41, 39, 39,
+  38, 36, 35, 35, 35, 34, 34, 36, 35, 34, 34, 33, 33, 31, 31, 28,
+  28, 28, 28, 29, 29, 28, 27, 24, 22, 22, 21, 19, 19, 18, 17, 17,
+  18, 18, 18, 19, 20, 20, 21, 22, 22, 22, 22, 22, 21, 20, 18, 17,
+  17, 16, 16, 17, 18, 17, 13, 11, 9, 7, 7, 8, 8, 9, 11, 12,
+  15, 16, 18, 20, 19, 23, 25, 30, 32, 33, 28, 28, 37, 56, 69, 65,
+  38, 27, 38, 52, 62, 61, 50, 36, 38, 45, 44, 39, 41, 50, 55, 57,
+  54, 70, 75, 45, 67, 123, 114, 138, 79, 61, 81, 92, 102, 92, 118, 81,
+  76, 75, 90, 122, 129, 130, 111, 29, 62, 73, 60, 49, 46, 43, 42, 43,
+  42, 40, 38, 38, 38, 37, 36, 38, 37, 36, 36, 34, 34, 32, 31, 28,
+  28, 28, 28, 30, 29, 28, 27, 24, 23, 22, 21, 19, 20, 18, 17, 17,
+  17, 17, 17, 20, 20, 22, 22, 20, 20, 20, 20, 20, 20, 18, 18, 18,
+  18, 17, 17, 17, 18, 16, 14, 13, 11, 10, 8, 8, 8, 9, 10, 11,
+  14, 16, 18, 20, 20, 23, 27, 32, 34, 34, 31, 33, 46, 64, 75, 45,
+  40, 43, 52, 58, 56, 40, 28, 40, 46, 59, 64, 65, 51, 42, 38, 49,
+  63, 80, 75, 47, 71, 126, 120, 143, 111, 84, 84, 81, 83, 75, 63, 32,
+  58, 93, 118, 139, 121, 91, 72, 33, 62, 70, 58, 50, 49, 48, 47, 47,
+  47, 44, 43, 42, 42, 41, 40, 39, 38, 38, 37, 35, 35, 33, 33, 29,
+  29, 29, 30, 31, 30, 29, 28, 26, 25, 23, 23, 21, 21, 19, 17, 16,
+  16, 17, 18, 20, 21, 23, 23, 19, 19, 19, 19, 19, 18, 17, 18, 20,
+  19, 18, 17, 16, 16, 14, 14, 15, 12, 11, 9, 8, 8, 9, 9, 10,
+  15, 16, 19, 19, 21, 25, 28, 35, 36, 37, 35, 40, 56, 75, 48, 16,
+  30, 37, 41, 45, 39, 18, 34, 63, 61, 67, 73, 79, 83, 70, 31, 43,
+  71, 94, 70, 36, 65, 121, 119, 140, 144, 128, 113, 71, 64, 52, 9, 17,
+  74, 112, 126, 107, 45, 47, 49, 46, 67, 67, 59, 55, 54, 54, 54, 52,
+  49, 47, 46, 44, 44, 43, 42, 40, 39, 37, 37, 37, 37, 35, 34, 31,
+  32, 31, 32, 34, 32, 32, 31, 30, 28, 25, 25, 22, 22, 21, 19, 16,
+  17, 18, 19, 20, 21, 23, 23, 19, 19, 19, 19, 19, 19, 18, 18, 20,
+  19, 18, 18, 16, 16, 13, 13, 16, 12, 9, 9, 9, 7, 7, 7, 8,
+  15, 17, 19, 20, 21, 27, 30, 37, 39, 39, 39, 47, 68, 72, 8, 15,
+  32, 44, 52, 52, 28, 29, 64, 64, 61, 59, 61, 66, 82, 93, 64, 50,
+  76, 82, 64, 31, 53, 113, 118, 125, 144, 170, 195, 145, 89, 38, 66, 108,
+  124, 127, 125, 54, 32, 77, 74, 76, 79, 72, 65, 63, 63, 63, 63, 57,
+  54, 52, 51, 49, 47, 47, 46, 42, 40, 39, 38, 39, 38, 38, 37, 34,
+  33, 34, 34, 34, 35, 33, 34, 33, 32, 28, 27, 24, 23, 23, 21, 16,
+  17, 19, 20, 20, 22, 24, 25, 20, 20, 20, 21, 22, 22, 21, 21, 22,
+  21, 20, 19, 17, 17, 13, 14, 17, 14, 11, 11, 10, 8, 7, 7, 7,
+  15, 17, 19, 20, 23, 26, 31, 37, 40, 40, 41, 53, 73, 44, 11, 45,
+  55, 60, 60, 41, 23, 53, 65, 61, 68, 64, 61, 63, 73, 87, 94, 66,
+  72, 75, 72, 40, 55, 115, 120, 129, 157, 191, 223, 208, 82, 53, 109, 141,
+  140, 132, 123, 43, 82, 113, 99, 91, 88, 81, 72, 70, 69, 69, 69, 63,
+  58, 56, 55, 53, 52, 50, 50, 44, 42, 40, 40, 39, 39, 39, 38, 35,
+  34, 34, 34, 34, 34, 33, 34, 33, 32, 30, 27, 25, 25, 23, 22, 15,
+  17, 19, 21, 22, 24, 27, 27, 25, 26, 26, 26, 27, 26, 26, 26, 25,
+  23, 23, 21, 21, 20, 17, 18, 19, 16, 13, 12, 10, 7, 7, 7, 7,
+  18, 19, 22, 24, 24, 27, 29, 35, 42, 35, 39, 59, 78, 39, 33, 56,
+  56, 60, 49, 15, 24, 59, 63, 67, 69, 68, 66, 68, 78, 84, 94, 86,
+  62, 92, 98, 60, 56, 122, 132, 138, 161, 202, 235, 232, 49, 96, 137, 143,
+  139, 135, 112, 44, 101, 120, 109, 97, 94, 88, 77, 70, 69, 70, 72, 63,
+  56, 55, 56, 57, 53, 50, 47, 40, 38, 37, 37, 36, 38, 39, 39, 38,
+  35, 33, 30, 30, 28, 30, 30, 28, 26, 30, 30, 29, 28, 24, 20, 14,
+  15, 20, 24, 26, 29, 32, 29, 27, 31, 31, 29, 26, 26, 32, 36, 32,
+  25, 20, 21, 21, 24, 19, 21, 19, 16, 12, 11, 11, 9, 9, 9, 8,
+  20, 21, 25, 27, 26, 26, 27, 34, 45, 34, 38, 67, 79, 41, 41, 51,
+  45, 56, 47, 11, 30, 54, 66, 70, 65, 65, 68, 71, 77, 83, 87, 103,
+  70, 91, 105, 71, 54, 126, 142, 149, 166, 209, 243, 247, 88, 119, 146, 135,
+  121, 126, 112, 45, 103, 113, 101, 91, 85, 82, 74, 63, 58, 61, 67, 58,
+  49, 48, 49, 51, 47, 45, 40, 32, 32, 31, 31, 33, 36, 38, 40, 42,
+  36, 33, 26, 22, 28, 32, 29, 17, 22, 29, 29, 32, 29, 24, 19, 16,
+  17, 22, 28, 33, 32, 34, 30, 28, 35, 37, 31, 26, 26, 34, 38, 32,
+  29, 24, 20, 20, 21, 25, 25, 17, 14, 12, 11, 11, 11, 11, 11, 10,
+  21, 22, 26, 27, 27, 25, 26, 35, 47, 39, 39, 66, 40, 15, 30, 44,
+  42, 57, 47, 20, 46, 56, 64, 67, 62, 61, 64, 67, 72, 78, 83, 104,
+  79, 88, 120, 76, 59, 130, 141, 154, 172, 212, 244, 248, 118, 117, 140, 130,
+  125, 137, 120, 40, 94, 93, 77, 67, 62, 64, 60, 51, 46, 48, 55, 51,
+  44, 41, 40, 39, 38, 40, 38, 37, 38, 37, 35, 33, 34, 35, 36, 35,
+  28, 26, 25, 25, 25, 29, 32, 20, 25, 26, 25, 26, 25, 22, 21, 23,
+  23, 25, 26, 27, 24, 25, 26, 26, 32, 35, 29, 22, 21, 26, 30, 26,
+  26, 24, 19, 24, 22, 23, 23, 18, 16, 13, 11, 12, 11, 12, 11, 10,
+  21, 22, 26, 27, 28, 26, 27, 35, 47, 41, 47, 46, 3, 16, 34, 42,
+  49, 64, 40, 35, 59, 53, 56, 61, 57, 56, 59, 60, 64, 71, 77, 94,
+  93, 89, 100, 52, 62, 128, 134, 149, 171, 208, 238, 246, 108, 82, 69, 94,
+  119, 126, 116, 46, 99, 100, 89, 72, 61, 63, 58, 50, 46, 48, 55, 55,
+  49, 42, 37, 35, 38, 42, 44, 47, 48, 45, 41, 39, 37, 33, 30, 22,
+  23, 29, 33, 37, 37, 35, 36, 39, 32, 22, 25, 18, 19, 19, 23, 31,
+  29, 26, 21, 18, 22, 23, 27, 29, 36, 40, 37, 31, 23, 22, 24, 19,
+  18, 26, 28, 25, 33, 19, 20, 22, 17, 15, 13, 12, 12, 12, 11, 10,
+  19, 22, 26, 26, 27, 28, 29, 36, 45, 42, 55, 29, 23, 50, 53, 55,
+  52, 63, 31, 51, 63, 51, 53, 59, 53, 53, 55, 57, 63, 69, 75, 86,
+  100, 82, 88, 51, 58, 120, 124, 140, 169, 207, 239, 244, 109, 81, 90, 82,
+  96, 134, 125, 42, 94, 97, 90, 72, 62, 68, 68, 58, 53, 55, 62, 67,
+  63, 51, 41, 37, 42, 48, 55, 69, 71, 65, 57, 51, 41, 34, 27, 20,
+  28, 36, 42, 48, 50, 46, 42, 47, 41, 30, 20, 13, 15, 19, 26, 36,
+  31, 25, 19, 19, 27, 28, 33, 38, 45, 50, 49, 43, 38, 28, 18, 15,
+  24, 36, 40, 40, 29, 30, 24, 25, 21, 18, 15, 14, 13, 12, 11, 10,
+  19, 21, 25, 25, 27, 28, 30, 37, 43, 46, 61, 26, 48, 65, 61, 66,
+  59, 55, 25, 63, 63, 49, 52, 57, 52, 51, 54, 56, 62, 68, 72, 78,
+  86, 40, 62, 54, 55, 117, 125, 145, 180, 208, 231, 237, 125, 113, 138, 115,
+  88, 100, 100, 46, 97, 93, 78, 62, 58, 68, 72, 67, 63, 65, 71, 84,
+  81, 65, 48, 45, 53, 62, 79, 93, 92, 83, 70, 61, 51, 40, 34, 26,
+  35, 48, 66, 71, 54, 44, 51, 66, 54, 42, 22, 15, 18, 24, 31, 39,
+  33, 27, 23, 25, 35, 42, 56, 64, 71, 77, 77, 63, 51, 39, 28, 25,
+  36, 49, 68, 75, 46, 39, 27, 28, 23, 20, 16, 15, 13, 12, 11, 10,
+  19, 20, 23, 24, 27, 28, 30, 37, 41, 54, 66, 34, 46, 59, 66, 73,
+  76, 49, 21, 65, 60, 46, 49, 54, 51, 52, 53, 56, 58, 62, 66, 71,
+  74, 17, 64, 72, 57, 122, 137, 153, 182, 204, 223, 234, 136, 145, 132, 134,
+  124, 105, 71, 44, 102, 106, 96, 75, 69, 80, 83, 81, 79, 81, 87, 102,
+  101, 81, 61, 62, 72, 85, 109, 138, 139, 128, 112, 76, 63, 52, 47, 43,
+  53, 76, 111, 143, 141, 119, 97, 106, 67, 50, 33, 23, 24, 31, 36, 37,
+  33, 31, 32, 42, 56, 76, 108, 128, 133, 139, 144, 123, 71, 47, 45, 42,
+  52, 86, 124, 92, 93, 46, 38, 29, 24, 21, 16, 14, 12, 12, 11, 10,
+  17, 19, 24, 26, 27, 26, 29, 36, 44, 55, 57, 25, 49, 75, 80, 83,
+  81, 42, 27, 68, 60, 47, 47, 51, 48, 46, 47, 48, 53, 58, 63, 65,
+  68, 74, 95, 78, 67, 134, 137, 154, 186, 192, 214, 225, 130, 136, 130, 141,
+  141, 150, 135, 42, 99, 105, 93, 95, 100, 110, 110, 106, 99, 105, 123, 144,
+  138, 116, 56, 84, 100, 129, 142, 128, 113, 121, 83, 76, 57, 64, 66, 68,
+  85, 135, 155, 171, 184, 193, 195, 179, 113, 57, 44, 34, 33, 39, 43, 28,
+  32, 42, 50, 65, 94, 111, 130, 140, 127, 127, 116, 68, 26, 74, 86, 66,
+  91, 145, 132, 156, 150, 75, 40, 33, 25, 22, 16, 14, 12, 9, 10, 9,
+  17, 19, 24, 26, 28, 28, 30, 34, 37, 62, 63, 43, 55, 88, 73, 63,
+  45, 24, 26, 65, 55, 44, 43, 46, 45, 42, 44, 46, 51, 57, 60, 63,
+  72, 83, 72, 64, 90, 134, 136, 158, 171, 178, 201, 219, 138, 131, 130, 114,
+  141, 151, 136, 44, 87, 98, 93, 92, 106, 120, 130, 122, 150, 136, 140, 162,
+  151, 135, 63, 98, 131, 171, 172, 136, 131, 113, 97, 92, 72, 55, 80, 96,
+  136, 184, 181, 182, 208, 209, 204, 213, 171, 83, 50, 46, 41, 41, 41, 28,
+  35, 48, 72, 112, 141, 159, 143, 130, 117, 121, 73, 87, 135, 173, 168, 104,
+  134, 163, 144, 180, 159, 113, 33, 30, 26, 21, 16, 14, 11, 10, 9, 10,
+  16, 18, 23, 25, 28, 29, 31, 35, 39, 63, 45, 42, 78, 94, 80, 77,
+  64, 42, 29, 60, 49, 40, 39, 41, 42, 40, 42, 45, 50, 56, 61, 63,
+  75, 101, 107, 106, 114, 134, 135, 157, 153, 167, 184, 210, 120, 116, 147, 127,
+  132, 124, 121, 42, 79, 89, 88, 92, 111, 123, 142, 136, 163, 150, 158, 165,
+  166, 144, 69, 133, 170, 185, 175, 190, 185, 196, 202, 192, 159, 99, 80, 129,
+  151, 145, 181, 193, 215, 213, 211, 176, 156, 164, 55, 55, 50, 42, 38, 27,
+  37, 60, 106, 171, 183, 193, 171, 142, 123, 114, 127, 190, 213, 203, 187, 163,
+  152, 155, 155, 169, 138, 137, 30, 25, 28, 21, 18, 15, 13, 10, 10, 10,
+  16, 18, 23, 24, 28, 30, 31, 34, 37, 64, 45, 65, 103, 87, 86, 79,
+  73, 52, 26, 56, 46, 39, 39, 40, 42, 41, 43, 45, 49, 58, 66, 76,
+  85, 88, 93, 108, 121, 132, 135, 148, 141, 160, 166, 201, 109, 118, 126, 109,
+  143, 164, 142, 42, 83, 83, 78, 86, 102, 111, 138, 158, 159, 155, 171, 189,
+  167, 169, 112, 174, 184, 190, 170, 188, 153, 208, 208, 205, 203, 169, 92, 175,
+  173, 167, 189, 200, 216, 216, 197, 152, 175, 220, 79, 53, 54, 40, 33, 25,
+  43, 84, 144, 187, 195, 195, 199, 182, 94, 55, 131, 202, 199, 169, 174, 150,
+  145, 141, 133, 157, 133, 134, 20, 22, 29, 21, 19, 15, 13, 11, 10, 11,
+  16, 18, 22, 24, 28, 29, 30, 32, 31, 65, 63, 92, 95, 79, 94, 75,
+  91, 58, 22, 49, 45, 40, 39, 40, 42, 42, 44, 47, 51, 60, 69, 78,
+  82, 81, 88, 102, 114, 126, 131, 134, 136, 151, 151, 190, 114, 142, 138, 111,
+  133, 144, 138, 49, 88, 83, 72, 75, 86, 98, 131, 159, 156, 164, 182, 200,
+  152, 164, 155, 199, 197, 177, 161, 183, 146, 202, 192, 207, 183, 182, 149, 206,
+  189, 194, 214, 203, 199, 198, 178, 170, 232, 203, 89, 41, 54, 38, 28, 28,
+  54, 113, 166, 190, 211, 191, 200, 140, 29, 27, 86, 169, 170, 133, 157, 150,
+  162, 83, 79, 140, 150, 117, 17, 24, 26, 20, 17, 14, 12, 10, 10, 11,
+  14, 18, 22, 24, 27, 28, 30, 31, 28, 65, 69, 81, 70, 77, 90, 64,
+  86, 44, 28, 54, 45, 41, 39, 40, 42, 42, 45, 49, 56, 61, 67, 75,
+  79, 74, 74, 86, 103, 117, 122, 121, 131, 135, 140, 184, 135, 140, 140, 126,
+  147, 150, 140, 46, 83, 87, 74, 65, 75, 93, 119, 151, 151, 175, 187, 193,
+  174, 156, 177, 194, 157, 107, 114, 178, 175, 206, 191, 173, 176, 197, 188, 196,
+  186, 142, 143, 183, 192, 203, 197, 206, 191, 117, 110, 25, 50, 35, 23, 32,
+  67, 132, 152, 145, 182, 167, 164, 54, 26, 42, 68, 115, 124, 125, 134, 135,
+  161, 100, 61, 119, 109, 48, 14, 28, 23, 19, 15, 12, 10, 8, 9, 11,
+  14, 18, 22, 24, 26, 27, 29, 31, 27, 65, 70, 73, 72, 75, 66, 61,
+  117, 49, 30, 47, 46, 45, 40, 39, 42, 44, 47, 51, 59, 61, 64, 70,
+  75, 74, 80, 91, 102, 107, 109, 114, 131, 120, 134, 167, 148, 155, 158, 143,
+  147, 157, 149, 40, 76, 88, 79, 64, 67, 73, 86, 144, 156, 184, 183, 184,
+  182, 159, 170, 137, 48, 41, 63, 140, 178, 196, 174, 185, 192, 186, 186, 186,
+  81, 32, 49, 92, 160, 190, 155, 182, 150, 125, 107, 16, 49, 35, 25, 36,
+  78, 140, 151, 157, 163, 139, 114, 20, 42, 53, 67, 99, 118, 146, 114, 123,
+  144, 114, 55, 58, 32, 14, 33, 28, 21, 19, 16, 14, 11, 8, 8, 11,
+  13, 18, 22, 25, 25, 27, 30, 31, 29, 65, 66, 82, 97, 85, 72, 97,
+  127, 49, 28, 49, 50, 49, 42, 40, 47, 50, 53, 54, 54, 58, 64, 65,
+  67, 77, 88, 98, 102, 96, 94, 111, 133, 106, 130, 159, 133, 159, 169, 156,
+  159, 173, 156, 42, 75, 82, 78, 74, 65, 58, 70, 110, 154, 183, 182, 194,
+  188, 170, 165, 52, 17, 54, 78, 105, 188, 214, 196, 202, 181, 163, 172, 121,
+  8, 40, 64, 57, 99, 122, 87, 131, 153, 172, 149, 12, 49, 37, 32, 41,
+  94, 156, 187, 178, 162, 141, 111, 17, 52, 51, 57, 91, 132, 161, 108, 124,
+  113, 118, 43, 47, 27, 27, 35, 27, 21, 19, 18, 17, 13, 10, 8, 10,
+  14, 17, 22, 24, 25, 27, 29, 31, 27, 68, 85, 102, 111, 102, 97, 127,
+  124, 45, 28, 49, 51, 52, 45, 44, 52, 50, 50, 51, 53, 57, 63, 66,
+  68, 77, 90, 98, 95, 89, 92, 111, 123, 100, 124, 152, 135, 155, 145, 161,
+  172, 174, 166, 45, 74, 79, 76, 79, 68, 55, 69, 117, 166, 183, 177, 191,
+  194, 185, 118, 18, 47, 63, 82, 99, 205, 233, 209, 220, 191, 197, 185, 54,
+  24, 62, 69, 66, 126, 176, 172, 189, 185, 204, 167, 11, 48, 39, 33, 41,
+  114, 179, 189, 168, 163, 156, 123, 15, 60, 45, 56, 91, 128, 148, 103, 119,
+  140, 137, 31, 37, 31, 33, 35, 24, 20, 19, 18, 17, 14, 9, 9, 11,
+  14, 17, 22, 24, 24, 26, 29, 30, 26, 70, 103, 118, 109, 104, 105, 130,
+  106, 38, 28, 52, 54, 54, 48, 46, 52, 49, 48, 48, 51, 56, 62, 66,
+  71, 79, 87, 92, 87, 85, 95, 114, 111, 94, 119, 143, 139, 156, 175, 171,
+  175, 173, 177, 43, 72, 76, 72, 76, 67, 56, 71, 119, 168, 178, 185, 209,
+  210, 161, 57, 32, 67, 64, 76, 102, 201, 226, 214, 222, 194, 197, 185, 35,
+  52, 70, 68, 63, 145, 215, 207, 211, 215, 199, 158, 9, 48, 41, 36, 47,
+  120, 172, 171, 143, 161, 164, 128, 23, 58, 45, 55, 88, 109, 130, 127, 133,
+  157, 142, 27, 33, 34, 32, 32, 23, 19, 18, 18, 17, 12, 9, 9, 10,
+  13, 16, 22, 24, 25, 27, 30, 33, 31, 66, 92, 101, 97, 95, 98, 108,
+  103, 48, 34, 58, 57, 55, 49, 47, 46, 45, 46, 48, 50, 55, 61, 65,
+  74, 81, 80, 78, 79, 86, 101, 115, 100, 92, 113, 145, 135, 163, 189, 160,
+  188, 190, 174, 39, 71, 75, 69, 70, 65, 59, 72, 112, 157, 175, 201, 208,
+  177, 80, 23, 50, 70, 76, 68, 98, 196, 229, 214, 200, 179, 181, 146, 38,
+  64, 67, 74, 78, 127, 188, 163, 184, 192, 171, 138, 9, 49, 43, 36, 44,
+  109, 157, 182, 167, 168, 153, 113, 24, 55, 40, 49, 81, 112, 149, 161, 150,
+  148, 117, 24, 33, 31, 28, 27, 21, 18, 18, 17, 16, 12, 9, 9, 9,
+  13, 16, 21, 25, 25, 27, 30, 33, 30, 65, 88, 99, 100, 98, 110, 111,
+  118, 67, 41, 64, 59, 54, 49, 47, 45, 45, 46, 48, 51, 55, 62, 66,
+  74, 78, 71, 69, 74, 86, 104, 112, 92, 92, 107, 141, 115, 153, 146, 147,
+  185, 168, 156, 45, 72, 74, 67, 67, 63, 60, 74, 118, 164, 191, 203, 169,
+  83, 98, 48, 59, 73, 68, 69, 88, 159, 198, 187, 161, 158, 190, 129, 44,
+  68, 63, 70, 71, 123, 190, 158, 198, 178, 169, 126, 10, 52, 46, 37, 42,
+  91, 141, 182, 165, 157, 144, 114, 22, 62, 36, 50, 85, 127, 155, 152, 142,
+  132, 125, 25, 34, 31, 28, 29, 20, 17, 17, 16, 15, 12, 9, 9, 9,
+  14, 17, 22, 25, 26, 26, 30, 34, 31, 63, 83, 95, 98, 95, 118, 120,
+  125, 74, 43, 68, 59, 52, 48, 47, 49, 48, 47, 48, 51, 55, 62, 67,
+  72, 70, 63, 62, 69, 84, 100, 106, 86, 92, 102, 134, 118, 160, 165, 151,
+  152, 133, 132, 39, 73, 74, 67, 67, 60, 55, 74, 118, 169, 199, 182, 128,
+  120, 201, 62, 65, 70, 60, 69, 85, 153, 190, 158, 145, 161, 192, 132, 45,
+  67, 55, 68, 75, 114, 179, 170, 188, 168, 160, 110, 11, 55, 47, 38, 44,
+  84, 142, 181, 164, 166, 150, 120, 31, 62, 47, 55, 90, 128, 140, 140, 138,
+  132, 102, 19, 35, 32, 25, 25, 20, 17, 17, 16, 14, 11, 9, 8, 8,
+  16, 18, 22, 23, 26, 27, 29, 34, 34, 61, 75, 79, 88, 100, 123, 124,
+  125, 93, 40, 72, 58, 49, 48, 49, 50, 48, 49, 50, 51, 55, 63, 66,
+  66, 61, 55, 61, 65, 84, 99, 96, 83, 90, 98, 130, 157, 179, 191, 174,
+  159, 158, 152, 34, 72, 72, 66, 68, 58, 50, 71, 119, 175, 171, 127, 141,
+  215, 231, 57, 58, 62, 55, 62, 87, 177, 189, 138, 153, 178, 188, 132, 41,
+  59, 52, 64, 70, 107, 168, 151, 171, 155, 142, 104, 12, 56, 50, 40, 43,
+  82, 144, 176, 168, 178, 162, 135, 48, 61, 58, 63, 94, 126, 123, 144, 146,
+  142, 67, 18, 36, 31, 22, 21, 21, 16, 16, 15, 13, 11, 8, 7, 8,
+  18, 19, 22, 23, 26, 27, 28, 33, 35, 58, 69, 74, 95, 115, 121, 128,
+  125, 99, 44, 71, 56, 46, 49, 53, 51, 49, 50, 51, 52, 56, 63, 64,
+  57, 54, 59, 66, 73, 86, 88, 86, 84, 90, 95, 134, 172, 168, 183, 183,
+  186, 198, 155, 36, 71, 72, 66, 68, 58, 50, 68, 109, 149, 126, 176, 219,
+  236, 190, 42, 55, 56, 49, 59, 84, 167, 171, 147, 180, 192, 180, 96, 38,
+  54, 50, 61, 72, 118, 173, 170, 165, 143, 140, 126, 13, 57, 51, 41, 44,
+  74, 122, 146, 151, 154, 141, 123, 54, 57, 73, 89, 107, 130, 127, 148, 145,
+  122, 32, 15, 36, 30, 22, 21, 21, 16, 16, 14, 13, 11, 7, 6, 8,
+  17, 20, 23, 24, 26, 27, 29, 34, 34, 52, 66, 76, 105, 129, 114, 135,
+  137, 114, 49, 67, 57, 45, 51, 59, 53, 52, 52, 52, 54, 59, 62, 57,
+  48, 57, 70, 75, 88, 93, 82, 81, 87, 89, 90, 130, 125, 165, 133, 169,
+  190, 160, 120, 41, 71, 74, 66, 65, 59, 52, 68, 96, 104, 185, 241, 231,
+  202, 163, 41, 52, 55, 48, 58, 84, 157, 196, 160, 190, 195, 176, 92, 36,
+  52, 50, 62, 70, 130, 164, 178, 165, 147, 149, 141, 14, 59, 54, 45, 48,
+  63, 88, 105, 133, 131, 129, 125, 100, 72, 82, 101, 112, 132, 129, 123, 114,
+  59, 4, 25, 36, 27, 22, 21, 22, 18, 17, 14, 13, 9, 5, 6, 8,
+  17, 20, 23, 24, 26, 26, 28, 34, 36, 49, 66, 83, 108, 136, 120, 146,
+  153, 133, 53, 66, 60, 48, 53, 61, 54, 53, 53, 54, 56, 61, 62, 52,
+  48, 65, 80, 95, 98, 92, 85, 78, 90, 86, 87, 124, 53, 83, 130, 188,
+  157, 104, 137, 45, 71, 75, 66, 65, 59, 53, 68, 89, 169, 245, 238, 208,
+  206, 192, 51, 51, 55, 47, 57, 76, 142, 213, 152, 184, 182, 171, 102, 36,
+  52, 52, 63, 65, 130, 159, 161, 163, 159, 157, 135, 14, 60, 55, 47, 51,
+  59, 72, 85, 114, 124, 139, 140, 138, 104, 97, 106, 103, 118, 120, 105, 77,
+  16, 9, 35, 34, 25, 22, 20, 21, 17, 16, 13, 12, 9, 5, 6, 8,
+  18, 19, 23, 24, 26, 25, 28, 34, 38, 47, 66, 89, 117, 144, 132, 151,
+  142, 114, 63, 54, 61, 51, 55, 62, 56, 55, 56, 57, 60, 62, 63, 53,
+  54, 71, 101, 140, 120, 90, 83, 77, 91, 82, 84, 124, 116, 115, 134, 130,
+  77, 130, 181, 44, 70, 74, 67, 66, 59, 53, 68, 120, 213, 215, 204, 208,
+  202, 214, 52, 52, 55, 47, 57, 71, 150, 204, 138, 181, 186, 177, 105, 36,
+  53, 53, 64, 68, 128, 166, 157, 164, 164, 161, 139, 14, 60, 56, 49, 53,
+  58, 66, 80, 96, 113, 130, 134, 151, 126, 110, 115, 114, 131, 114, 76, 37,
+  7, 24, 31, 31, 24, 22, 19, 20, 16, 16, 14, 13, 8, 4, 5, 8,
+  18, 19, 23, 24, 25, 26, 28, 34, 37, 42, 64, 92, 124, 150, 139, 150,
+  128, 106, 87, 41, 56, 53, 58, 66, 61, 60, 60, 62, 62, 62, 62, 56,
+  61, 81, 127, 176, 152, 94, 73, 79, 91, 77, 83, 126, 150, 193, 165, 122,
+  120, 213, 188, 37, 69, 73, 68, 68, 58, 51, 68, 131, 205, 172, 165, 191,
+  175, 218, 50, 53, 55, 47, 56, 79, 181, 198, 128, 164, 181, 173, 113, 37,
+  54, 55, 66, 74, 114, 163, 162, 164, 162, 159, 143, 13, 59, 56, 49, 52,
+  55, 60, 79, 93, 112, 126, 138, 161, 124, 108, 121, 142, 148, 87, 32, 21,
+  26, 35, 27, 28, 23, 24, 18, 19, 15, 16, 14, 12, 7, 4, 4, 8,
+  19, 20, 23, 23, 25, 26, 29, 34, 36, 39, 59, 85, 111, 143, 139, 154,
+  145, 149, 129, 53, 60, 60, 58, 65, 65, 63, 62, 62, 60, 56, 58, 55,
+  63, 97, 144, 181, 170, 91, 53, 78, 88, 71, 82, 116, 174, 197, 201, 201,
+  212, 232, 205, 47, 72, 71, 65, 68, 57, 46, 65, 124, 178, 195, 210, 165,
+  219, 222, 47, 52, 54, 47, 57, 83, 155, 169, 141, 155, 149, 129, 71, 36,
+  57, 53, 62, 74, 93, 141, 159, 162, 162, 155, 137, 15, 60, 53, 45, 50,
+  53, 63, 85, 101, 120, 136, 150, 136, 97, 104, 128, 128, 86, 30, 25, 45,
+  55, 35, 30, 28, 23, 22, 15, 17, 14, 16, 14, 13, 9, 4, 5, 8,
+  22, 25, 25, 23, 23, 26, 30, 37, 38, 41, 49, 68, 96, 126, 136, 154,
+  157, 144, 141, 79, 72, 72, 55, 52, 67, 61, 59, 52, 52, 47, 53, 51,
+  65, 110, 149, 154, 177, 63, 28, 76, 83, 65, 74, 112, 180, 198, 215, 220,
+  224, 235, 213, 51, 76, 70, 54, 62, 54, 40, 55, 113, 167, 197, 225, 212,
+  206, 195, 54, 52, 52, 45, 62, 82, 97, 137, 173, 192, 194, 169, 99, 33,
+  58, 48, 46, 75, 77, 94, 115, 141, 156, 156, 131, 20, 69, 51, 38, 46,
+  65, 87, 104, 99, 134, 139, 109, 60, 55, 49, 32, 27, 28, 36, 47, 49,
+  48, 43, 39, 33, 26, 14, 11, 15, 13, 16, 16, 16, 12, 10, 8, 7,
+  23, 25, 25, 23, 23, 26, 30, 37, 37, 40, 45, 60, 80, 103, 134, 149,
+  147, 133, 138, 123, 67, 76, 55, 53, 65, 62, 58, 50, 49, 51, 58, 69,
+  92, 153, 160, 180, 144, 24, 38, 75, 83, 69, 80, 118, 182, 185, 200, 219,
+  202, 225, 186, 58, 79, 76, 59, 68, 56, 37, 56, 121, 190, 210, 188, 176,
+  164, 164, 40, 51, 49, 46, 61, 88, 125, 180, 191, 191, 191, 173, 101, 27,
+  60, 47, 46, 75, 114, 139, 126, 111, 125, 129, 112, 18, 64, 51, 34, 50,
+  71, 90, 98, 116, 142, 135, 55, 29, 71, 68, 53, 50, 47, 46, 48, 47,
+  43, 40, 39, 32, 25, 14, 13, 15, 14, 16, 16, 16, 13, 10, 8, 7,
+  23, 24, 24, 22, 22, 25, 29, 35, 36, 38, 41, 54, 71, 93, 128, 131,
+  130, 131, 161, 145, 90, 68, 70, 54, 62, 56, 55, 58, 57, 63, 69, 94,
+  146, 179, 175, 177, 89, 21, 53, 79, 87, 75, 91, 133, 178, 184, 202, 202,
+  192, 207, 153, 78, 78, 91, 68, 68, 61, 49, 65, 131, 200, 209, 161, 111,
+  150, 156, 39, 56, 53, 50, 66, 97, 154, 193, 174, 180, 175, 161, 93, 34,
+  61, 43, 48, 73, 119, 150, 164, 148, 123, 112, 111, 16, 67, 50, 36, 45,
+  70, 87, 98, 115, 130, 131, 75, 47, 91, 80, 73, 63, 57, 48, 45, 48,
+  40, 35, 34, 29, 27, 20, 18, 17, 15, 16, 16, 16, 12, 10, 8, 7,
+  23, 24, 23, 21, 21, 23, 26, 32, 35, 37, 39, 49, 67, 96, 136, 150,
+  164, 159, 172, 162, 121, 86, 68, 67, 63, 62, 61, 66, 68, 84, 99, 145,
+  186, 190, 184, 153, 40, 43, 57, 82, 95, 86, 108, 148, 178, 192, 202, 196,
+  197, 218, 189, 127, 77, 96, 85, 78, 69, 63, 79, 134, 195, 189, 193, 161,
+  116, 132, 50, 50, 63, 60, 74, 107, 162, 174, 165, 180, 166, 157, 103, 35,
+  64, 49, 52, 80, 129, 121, 158, 149, 157, 152, 130, 34, 64, 55, 43, 50,
+  73, 86, 114, 127, 119, 110, 99, 58, 75, 71, 80, 80, 73, 70, 63, 51,
+  45, 36, 30, 28, 29, 26, 23, 18, 15, 16, 16, 15, 12, 10, 9, 8,
+  23, 23, 22, 20, 21, 22, 24, 30, 35, 36, 37, 45, 56, 75, 106, 142,
+  173, 177, 178, 165, 141, 130, 82, 82, 65, 72, 71, 74, 88, 112, 136, 183,
+  208, 196, 167, 78, 35, 56, 59, 81, 103, 106, 136, 162, 191, 195, 187, 191,
+  199, 212, 204, 190, 123, 106, 103, 85, 76, 78, 102, 154, 188, 188, 195, 184,
+  114, 123, 83, 57, 70, 75, 87, 136, 167, 162, 173, 180, 163, 159, 118, 35,
+  70, 64, 60, 85, 128, 101, 164, 148, 151, 149, 142, 75, 55, 64, 48, 44,
+  73, 80, 119, 112, 119, 109, 107, 77, 43, 64, 94, 77, 73, 81, 75, 60,
+  56, 43, 33, 31, 32, 32, 27, 20, 16, 16, 15, 15, 12, 9, 9, 9,
+  23, 23, 22, 20, 20, 22, 23, 29, 34, 35, 35, 40, 53, 65, 78, 108,
+  130, 161, 182, 142, 129, 134, 119, 122, 91, 80, 89, 113, 152, 154, 126, 141,
+  190, 177, 102, 28, 55, 61, 62, 87, 129, 155, 187, 196, 203, 198, 194, 203,
+  206, 208, 198, 181, 181, 186, 163, 71, 79, 109, 136, 178, 194, 180, 162, 173,
+  190, 191, 165, 110, 74, 83, 123, 166, 159, 161, 169, 175, 162, 151, 105, 72,
+  81, 65, 64, 75, 104, 93, 170, 126, 144, 148, 136, 108, 84, 63, 50, 48,
+  76, 59, 105, 113, 136, 117, 89, 83, 99, 123, 104, 72, 71, 79, 71, 58,
+  55, 50, 45, 37, 36, 33, 28, 21, 17, 16, 14, 14, 11, 8, 9, 9,
+  22, 23, 22, 20, 21, 22, 24, 29, 33, 35, 35, 37, 40, 54, 64, 83,
+  108, 145, 154, 133, 108, 110, 129, 147, 131, 121, 131, 173, 183, 147, 137, 173,
+  173, 126, 40, 46, 61, 60, 61, 85, 140, 176, 205, 206, 201, 199, 202, 204,
+  199, 206, 192, 178, 197, 185, 163, 49, 81, 146, 163, 182, 195, 164, 170, 186,
+  176, 180, 168, 142, 78, 86, 150, 160, 142, 162, 171, 172, 160, 141, 118, 117,
+  85, 53, 56, 77, 98, 112, 162, 143, 146, 142, 132, 123, 110, 59, 46, 43,
+  66, 42, 74, 93, 114, 107, 93, 107, 125, 126, 97, 81, 84, 88, 77, 67,
+  59, 54, 52, 44, 35, 33, 26, 20, 17, 16, 14, 14, 11, 8, 8, 9,
+  22, 22, 21, 19, 21, 21, 25, 29, 31, 35, 35, 36, 40, 45, 54, 66,
+  81, 125, 124, 145, 160, 166, 187, 184, 184, 168, 175, 216, 197, 186, 180, 202,
+  156, 49, 32, 60, 58, 57, 64, 89, 150, 184, 206, 196, 191, 193, 197, 189,
+  196, 193, 175, 185, 202, 179, 150, 39, 88, 161, 167, 174, 181, 171, 178, 176,
+  154, 153, 156, 149, 75, 82, 147, 135, 138, 167, 170, 163, 155, 131, 155, 101,
+  70, 42, 43, 42, 70, 125, 160, 145, 144, 141, 134, 130, 105, 52, 31, 45,
+  69, 75, 95, 125, 123, 117, 97, 102, 126, 113, 100, 93, 97, 94, 91, 97,
+  76, 54, 44, 47, 38, 32, 23, 22, 18, 17, 15, 15, 11, 8, 8, 9,
+  21, 20, 20, 19, 21, 22, 25, 29, 28, 33, 33, 35, 37, 40, 47, 55,
+  63, 73, 95, 141, 167, 186, 205, 207, 219, 143, 200, 214, 169, 180, 171, 133,
+  49, 31, 56, 55, 52, 57, 67, 85, 132, 152, 168, 168, 166, 171, 181, 179,
+  178, 174, 172, 183, 192, 168, 157, 35, 79, 115, 109, 137, 156, 158, 163, 162,
+  150, 150, 145, 124, 62, 84, 142, 140, 150, 166, 143, 109, 88, 44, 57, 62,
+  78, 36, 86, 110, 122, 158, 151, 136, 134, 131, 125, 124, 102, 56, 36, 44,
+  69, 84, 97, 118, 126, 127, 81, 90, 114, 89, 85, 80, 80, 69, 78, 101,
+  87, 65, 37, 41, 44, 28, 21, 23, 19, 18, 16, 15, 10, 7, 8, 11,
+  20, 19, 20, 19, 21, 22, 25, 27, 27, 31, 32, 35, 36, 38, 42, 45,
+  49, 60, 73, 95, 144, 154, 177, 196, 176, 160, 210, 185, 129, 115, 54, 24,
+  39, 55, 56, 53, 46, 56, 67, 77, 101, 100, 101, 98, 89, 90, 101, 98,
+  86, 77, 78, 89, 94, 83, 84, 32, 74, 80, 65, 63, 67, 69, 70, 76,
+  73, 71, 62, 58, 43, 73, 101, 79, 72, 70, 48, 26, 26, 26, 51, 69,
+  48, 49, 96, 87, 72, 80, 62, 62, 63, 62, 60, 63, 45, 26, 30, 38,
+  65, 80, 78, 96, 115, 95, 78, 105, 91, 64, 71, 76, 77, 67, 76, 93,
+  88, 74, 43, 29, 40, 29, 21, 24, 20, 20, 17, 14, 11, 7, 9, 13,
+  18, 18, 19, 18, 22, 22, 24, 26, 25, 30, 33, 37, 38, 38, 41, 41,
+  46, 53, 62, 61, 60, 69, 97, 105, 80, 126, 125, 74, 58, 30, 36, 70,
+  67, 65, 56, 43, 44, 53, 63, 64, 71, 70, 70, 66, 55, 55, 69, 75,
+  64, 55, 53, 60, 61, 66, 62, 51, 66, 73, 61, 54, 51, 50, 51, 51,
+  48, 51, 54, 53, 54, 59, 56, 50, 51, 55, 52, 43, 39, 40, 54, 51,
+  40, 46, 56, 50, 43, 47, 41, 43, 48, 52, 54, 50, 44, 38, 47, 37,
+  55, 78, 77, 75, 80, 63, 94, 93, 75, 80, 86, 89, 90, 82, 84, 86,
+  78, 64, 48, 19, 29, 32, 22, 25, 21, 20, 17, 14, 10, 7, 10, 15,
+  18, 18, 19, 19, 21, 22, 23, 25, 23, 28, 31, 36, 37, 37, 39, 39,
+  42, 47, 57, 66, 66, 58, 50, 37, 29, 29, 35, 39, 52, 55, 60, 69,
+  66, 62, 51, 42, 41, 50, 57, 51, 50, 63, 72, 66, 58, 61, 81, 85,
+  67, 60, 58, 60, 61, 67, 58, 53, 51, 63, 61, 54, 50, 50, 56, 55,
+  48, 44, 47, 54, 53, 43, 35, 40, 52, 57, 54, 44, 42, 45, 56, 46,
+  43, 35, 41, 44, 48, 41, 31, 33, 39, 45, 48, 44, 48, 40, 38, 37,
+  47, 73, 84, 80, 61, 85, 91, 72, 73, 91, 85, 90, 87, 81, 74, 66,
+  64, 61, 54, 16, 19, 32, 24, 25, 21, 19, 16, 14, 10, 7, 10, 15,
+  17, 18, 19, 20, 21, 21, 23, 25, 20, 24, 28, 33, 34, 35, 39, 39,
+  40, 48, 48, 52, 52, 53, 47, 42, 43, 47, 50, 57, 56, 59, 68, 65,
+  64, 55, 52, 44, 43, 50, 55, 46, 39, 56, 64, 55, 49, 51, 71, 80,
+  62, 51, 48, 50, 53, 57, 54, 46, 45, 49, 49, 46, 41, 43, 49, 45,
+  38, 34, 36, 41, 37, 29, 19, 29, 43, 43, 40, 36, 34, 37, 43, 37,
+  27, 23, 24, 31, 30, 26, 18, 24, 28, 33, 35, 33, 36, 31, 32, 35,
+  52, 66, 63, 66, 74, 81, 63, 56, 67, 75, 67, 74, 73, 74, 65, 55,
+  59, 66, 58, 18, 16, 30, 25, 23, 19, 18, 16, 14, 10, 8, 10, 15,
+  17, 18, 19, 19, 19, 21, 24, 24, 18, 22, 26, 29, 33, 35, 39, 41,
+  43, 47, 48, 50, 50, 49, 46, 46, 48, 47, 52, 53, 54, 61, 61, 57,
+  56, 51, 47, 44, 45, 49, 53, 47, 43, 51, 57, 55, 53, 53, 64, 71,
+  62, 49, 44, 45, 49, 52, 52, 47, 45, 46, 45, 43, 41, 42, 44, 40,
+  35, 34, 35, 37, 36, 31, 27, 32, 37, 37, 36, 33, 32, 34, 37, 34,
+  31, 27, 27, 31, 30, 27, 24, 30, 31, 33, 33, 31, 32, 32, 35, 42,
+  69, 53, 56, 80, 94, 68, 70, 56, 48, 40, 36, 42, 54, 60, 58, 63,
+  62, 65, 47, 23, 11, 32, 23, 22, 18, 17, 16, 16, 12, 10, 12, 13,
+  17, 18, 19, 19, 19, 22, 24, 25, 19, 21, 25, 26, 30, 33, 38, 40,
+  42, 45, 47, 47, 48, 47, 46, 47, 47, 47, 46, 46, 49, 55, 54, 52,
+  50, 47, 43, 42, 45, 48, 50, 49, 47, 49, 54, 56, 57, 56, 59, 67,
+  62, 50, 43, 42, 47, 51, 51, 48, 47, 46, 45, 45, 44, 43, 42, 40,
+  38, 38, 37, 36, 36, 34, 34, 35, 35, 34, 33, 34, 34, 33, 32, 33,
+  33, 32, 32, 32, 32, 32, 33, 36, 35, 34, 33, 31, 33, 35, 39, 45,
+  77, 81, 92, 94, 73, 38, 61, 62, 54, 47, 48, 49, 52, 44, 41, 56,
+  68, 62, 45, 16, 5, 34, 28, 22, 17, 16, 16, 16, 14, 12, 12, 11,
+  17, 18, 19, 20, 20, 21, 24, 24, 19, 21, 23, 24, 26, 30, 33, 35,
+  36, 39, 40, 41, 42, 41, 42, 42, 42, 43, 43, 43, 46, 50, 50, 47,
+  46, 43, 40, 39, 42, 45, 47, 45, 43, 45, 50, 52, 53, 52, 54, 62,
+  57, 44, 38, 38, 42, 46, 47, 45, 44, 43, 42, 42, 41, 40, 39, 37,
+  35, 34, 33, 32, 32, 31, 30, 31, 30, 29, 29, 31, 30, 29, 29, 30,
+  30, 29, 28, 28, 28, 28, 29, 31, 31, 29, 29, 29, 30, 31, 38, 46,
+  64, 79, 84, 74, 41, 14, 47, 52, 48, 48, 49, 50, 52, 47, 50, 40,
+  49, 46, 29, 10, 8, 34, 27, 21, 17, 17, 16, 16, 14, 12, 12, 11,
+  17, 18, 19, 20, 20, 21, 23, 22, 18, 19, 21, 23, 25, 28, 31, 32,
+  32, 35, 36, 36, 38, 38, 39, 39, 38, 39, 40, 41, 44, 46, 45, 43,
+  42, 40, 37, 37, 40, 43, 44, 42, 40, 42, 46, 48, 49, 47, 49, 56,
+  53, 42, 35, 34, 38, 43, 45, 43, 41, 40, 39, 39, 38, 38, 37, 35,
+  35, 33, 33, 31, 31, 30, 29, 29, 29, 28, 27, 29, 29, 28, 27, 28,
+  28, 27, 27, 27, 27, 27, 27, 28, 28, 27, 26, 27, 29, 30, 40, 49,
+  59, 69, 55, 60, 36, 10, 37, 42, 40, 41, 41, 44, 49, 51, 66, 37,
+  20, 20, 20, 16, 17, 35, 25, 21, 17, 16, 15, 16, 14, 11, 11, 10,
+  17, 18, 19, 20, 20, 21, 22, 21, 17, 18, 20, 21, 24, 26, 29, 31,
+  29, 31, 33, 32, 33, 35, 36, 37, 36, 37, 39, 41, 44, 44, 42, 40,
+  39, 37, 35, 35, 39, 41, 42, 40, 38, 40, 43, 45, 47, 44, 46, 53,
+  49, 40, 32, 31, 35, 40, 42, 40, 38, 37, 36, 36, 36, 35, 34, 35,
+  34, 33, 33, 31, 30, 29, 28, 28, 28, 27, 27, 28, 27, 26, 26, 28,
+  27, 26, 26, 26, 26, 26, 26, 26, 25, 24, 25, 25, 28, 30, 41, 50,
+  66, 76, 55, 72, 44, 12, 39, 47, 45, 43, 41, 43, 45, 46, 66, 45,
+  14, 15, 44, 27, 20, 32, 25, 21, 16, 15, 15, 16, 13, 10, 10, 9,
+  17, 18, 19, 20, 20, 21, 21, 20, 17, 18, 20, 20, 21, 24, 26, 28,
+  28, 29, 30, 28, 29, 31, 33, 34, 32, 34, 36, 39, 42, 40, 38, 36,
+  35, 34, 33, 33, 36, 38, 38, 37, 36, 37, 39, 42, 44, 41, 42, 49,
+  47, 38, 31, 27, 31, 37, 40, 37, 35, 34, 33, 33, 32, 31, 31, 32,
+  33, 32, 32, 29, 28, 27, 27, 28, 27, 26, 26, 25, 25, 24, 23, 26,
+  27, 26, 26, 25, 25, 25, 24, 22, 22, 23, 23, 24, 26, 30, 40, 49,
+  72, 84, 74, 88, 52, 18, 45, 53, 50, 47, 44, 46, 51, 57, 71, 44,
+  26, 41, 66, 26, 22, 29, 23, 22, 17, 16, 15, 16, 12, 8, 9, 9,
+  16, 17, 18, 19, 19, 20, 20, 20, 17, 18, 20, 21, 20, 21, 23, 25,
+  26, 27, 28, 26, 26, 28, 30, 32, 31, 32, 35, 38, 41, 38, 36, 35,
+  33, 32, 30, 32, 35, 36, 36, 35, 34, 35, 37, 40, 41, 38, 39, 45,
+  45, 37, 28, 25, 29, 35, 39, 36, 34, 33, 32, 31, 31, 30, 30, 31,
+  32, 31, 30, 28, 27, 26, 26, 28, 28, 27, 26, 24, 24, 23, 22, 25,
+  26, 25, 25, 24, 24, 24, 24, 21, 21, 21, 21, 23, 25, 29, 39, 50,
+  67, 76, 79, 84, 62, 33, 53, 51, 48, 46, 48, 50, 55, 62, 66, 24,
+  29, 65, 53, 17, 32, 27, 15, 23, 18, 16, 15, 15, 12, 8, 8, 9,
+  16, 17, 17, 18, 19, 19, 20, 20, 19, 20, 21, 21, 22, 23, 24, 24,
+  23, 24, 25, 26, 28, 28, 29, 30, 30, 32, 36, 40, 40, 38, 36, 34,
+  31, 29, 30, 32, 35, 36, 35, 34, 35, 37, 39, 39, 37, 36, 37, 44,
+  45, 38, 30, 26, 28, 34, 38, 37, 35, 33, 31, 31, 31, 30, 30, 31,
+  30, 29, 29, 28, 27, 26, 26, 25, 25, 24, 23, 23, 22, 21, 21, 24,
+  25, 25, 25, 24, 24, 24, 23, 22, 21, 20, 20, 22, 25, 29, 38, 49,
+  60, 60, 73, 74, 70, 44, 50, 42, 44, 46, 51, 58, 65, 63, 38, 27,
+  52, 66, 39, 26, 40, 25, 13, 21, 19, 19, 17, 15, 13, 8, 6, 8,
+  16, 17, 17, 18, 19, 19, 20, 21, 21, 22, 22, 22, 22, 22, 23, 24,
+  23, 24, 24, 24, 25, 26, 26, 29, 30, 32, 36, 39, 38, 36, 34, 34,
+  32, 31, 32, 33, 34, 36, 34, 33, 32, 34, 36, 36, 34, 33, 34, 41,
+  43, 36, 28, 25, 27, 31, 36, 37, 35, 33, 31, 30, 29, 28, 28, 29,
+  29, 29, 28, 25, 25, 24, 23, 24, 24, 24, 23, 22, 22, 21, 21, 23,
+  24, 24, 24, 23, 23, 23, 22, 20, 19, 19, 19, 20, 23, 28, 35, 43,
+  52, 41, 55, 55, 66, 45, 36, 39, 57, 63, 63, 69, 54, 34, 32, 46,
+  68, 52, 19, 34, 41, 19, 17, 22, 18, 19, 17, 15, 12, 8, 6, 8,
+  16, 17, 17, 18, 19, 19, 20, 21, 22, 22, 23, 22, 21, 21, 21, 22,
+  22, 23, 23, 23, 23, 24, 24, 27, 30, 32, 35, 37, 35, 34, 33, 32,
+  30, 30, 31, 32, 33, 34, 33, 31, 31, 32, 34, 34, 32, 32, 32, 38,
+  41, 35, 27, 23, 25, 31, 34, 34, 33, 31, 29, 28, 27, 26, 26, 26,
+  26, 26, 25, 23, 21, 20, 20, 22, 22, 22, 21, 20, 20, 19, 18, 20,
+  21, 21, 21, 20, 20, 20, 19, 18, 16, 18, 17, 19, 22, 27, 31, 34,
+  54, 34, 24, 39, 62, 54, 30, 18, 30, 34, 38, 44, 33, 26, 42, 64,
+  60, 27, 24, 42, 41, 19, 21, 22, 19, 19, 17, 15, 12, 8, 6, 8,
+  16, 17, 17, 18, 19, 19, 20, 21, 24, 24, 24, 22, 21, 20, 21, 21,
+  20, 21, 23, 22, 24, 24, 24, 27, 31, 34, 36, 37, 35, 34, 33, 31,
+  29, 28, 31, 33, 34, 35, 34, 31, 30, 32, 34, 34, 32, 31, 33, 38,
+  41, 35, 29, 24, 26, 30, 35, 34, 31, 29, 28, 27, 27, 26, 25, 24,
+  23, 22, 22, 21, 20, 19, 19, 20, 20, 19, 18, 18, 17, 16, 16, 17,
+  17, 17, 17, 16, 16, 16, 16, 17, 18, 18, 18, 20, 22, 26, 28, 27,
+  58, 42, 10, 20, 49, 58, 41, 45, 41, 39, 42, 39, 47, 55, 64, 59,
+  29, 9, 31, 41, 37, 26, 23, 19, 17, 18, 17, 13, 11, 8, 6, 8,
+  16, 17, 17, 18, 19, 19, 20, 21, 25, 25, 24, 22, 22, 21, 21, 20,
+  20, 20, 22, 22, 23, 24, 24, 27, 30, 34, 35, 34, 33, 33, 33, 31,
+  26, 26, 29, 31, 33, 33, 33, 31, 30, 32, 33, 33, 32, 31, 32, 39,
+  41, 35, 30, 25, 26, 30, 36, 34, 31, 30, 28, 28, 28, 27, 26, 23,
+  21, 21, 20, 19, 19, 18, 17, 18, 18, 17, 16, 16, 15, 14, 14, 15,
+  15, 15, 15, 13, 13, 13, 13, 18, 18, 18, 18, 19, 20, 24, 26, 22,
+  48, 51, 23, 13, 37, 51, 43, 59, 57, 48, 48, 47, 41, 46, 50, 22,
+  10, 25, 31, 29, 30, 33, 25, 18, 17, 17, 15, 13, 10, 7, 6, 8,
+  16, 17, 17, 18, 19, 19, 20, 22, 25, 25, 23, 22, 24, 22, 21, 21,
+  20, 21, 22, 22, 22, 22, 23, 25, 28, 32, 32, 31, 31, 31, 32, 29,
+  25, 26, 29, 30, 31, 32, 31, 28, 29, 31, 33, 33, 31, 30, 31, 36,
+  38, 33, 28, 24, 25, 28, 34, 34, 32, 30, 29, 28, 27, 27, 26, 24,
+  22, 21, 20, 19, 18, 17, 16, 18, 18, 17, 16, 16, 16, 15, 14, 14,
+  15, 15, 15, 13, 13, 13, 14, 18, 17, 16, 16, 16, 19, 20, 22, 17,
+  38, 43, 30, 31, 42, 47, 35, 46, 41, 30, 26, 19, 24, 19, 20, 25,
+  28, 29, 22, 19, 26, 34, 30, 18, 16, 16, 15, 12, 10, 7, 6, 8,
+  17, 18, 18, 19, 20, 21, 21, 23, 23, 23, 22, 21, 22, 22, 21, 21,
+  19, 19, 21, 21, 21, 21, 22, 25, 29, 30, 30, 28, 28, 28, 28, 26,
+  23, 24, 26, 28, 28, 29, 27, 26, 26, 27, 28, 29, 27, 27, 27, 31,
+  34, 32, 28, 24, 24, 25, 30, 30, 29, 27, 26, 26, 25, 24, 23, 23,
+  23, 22, 21, 19, 18, 17, 16, 19, 20, 19, 18, 18, 18, 17, 16, 16,
+  16, 15, 15, 14, 14, 14, 15, 18, 19, 18, 18, 17, 19, 21, 22, 19,
+  32, 35, 33, 41, 45, 42, 32, 29, 20, 12, 11, 7, 10, 15, 27, 40,
+  37, 27, 22, 22, 25, 27, 26, 21, 17, 16, 14, 13, 11, 8, 7, 8,
+  17, 18, 19, 19, 21, 21, 22, 23, 21, 21, 21, 21, 21, 21, 22, 21,
+  18, 18, 19, 20, 21, 21, 22, 26, 31, 30, 30, 28, 27, 26, 26, 24,
+  21, 23, 25, 26, 28, 27, 26, 25, 24, 25, 25, 26, 25, 25, 24, 27,
+  30, 31, 28, 24, 23, 23, 26, 26, 25, 24, 24, 23, 23, 22, 21, 24,
+  23, 22, 22, 19, 18, 18, 17, 21, 22, 21, 20, 20, 20, 19, 18, 18,
+  18, 17, 16, 16, 16, 16, 16, 19, 20, 20, 19, 19, 20, 24, 24, 22,
+  26, 31, 34, 37, 39, 35, 32, 28, 23, 19, 18, 17, 21, 26, 30, 32,
+  31, 29, 27, 25, 23, 20, 21, 21, 17, 14, 14, 14, 12, 9, 7, 8,
+  18, 18, 19, 20, 21, 21, 22, 22, 20, 20, 20, 20, 20, 21, 22, 21,
+  17, 17, 18, 19, 21, 20, 22, 26, 31, 30, 29, 27, 26, 25, 25, 24,
+  23, 25, 26, 28, 28, 28, 27, 24, 23, 24, 25, 25, 25, 24, 23, 26,
+  31, 32, 29, 26, 24, 24, 26, 27, 26, 25, 24, 24, 23, 23, 22, 23,
+  23, 22, 22, 20, 18, 18, 17, 21, 22, 21, 20, 20, 19, 18, 18, 18,
+  18, 17, 16, 16, 16, 16, 16, 19, 20, 19, 18, 18, 19, 22, 22, 20,
+  22, 26, 30, 33, 34, 35, 36, 38, 35, 34, 34, 32, 32, 31, 30, 27,
+  25, 23, 22, 21, 18, 15, 17, 20, 16, 13, 12, 13, 11, 9, 8, 8,
+  18, 18, 19, 20, 20, 21, 21, 22, 20, 20, 20, 20, 20, 20, 21, 20,
+  17, 18, 18, 19, 20, 20, 22, 26, 29, 29, 28, 26, 25, 24, 24, 23,
+  22, 24, 26, 27, 27, 27, 26, 24, 22, 23, 24, 25, 24, 23, 22, 26,
+  30, 31, 28, 26, 24, 23, 25, 25, 25, 24, 23, 23, 22, 22, 21, 22,
+  22, 21, 21, 19, 18, 17, 17, 20, 20, 20, 19, 18, 18, 17, 16, 18,
+  17, 16, 16, 16, 16, 16, 16, 18, 18, 18, 16, 15, 17, 20, 20, 17,
+  19, 23, 26, 27, 29, 31, 31, 31, 31, 31, 32, 31, 29, 26, 25, 24,
+  22, 19, 18, 18, 16, 13, 14, 17, 14, 11, 11, 12, 11, 9, 8, 8,
+  18, 18, 19, 20, 20, 20, 21, 21, 20, 19, 19, 19, 19, 20, 21, 20,
+  18, 18, 19, 20, 20, 21, 24, 27, 29, 28, 27, 25, 24, 24, 23, 22,
+  22, 23, 25, 26, 27, 26, 25, 24, 23, 24, 25, 25, 25, 24, 23, 25,
+  29, 30, 27, 25, 23, 22, 23, 24, 24, 23, 22, 22, 21, 20, 20, 21,
+  22, 21, 20, 19, 18, 17, 17, 19, 19, 19, 18, 17, 17, 16, 15, 17,
+  17, 16, 15, 15, 15, 15, 15, 17, 17, 16, 15, 13, 15, 17, 17, 16,
+  17, 22, 24, 26, 28, 27, 26, 28, 30, 31, 30, 28, 27, 25, 24, 21,
+  20, 18, 17, 16, 15, 11, 12, 14, 12, 9, 10, 11, 10, 9, 8, 8,
+  18, 18, 19, 19, 19, 20, 21, 21, 19, 19, 19, 19, 19, 19, 20, 20,
+  18, 19, 20, 20, 20, 21, 25, 28, 28, 27, 26, 24, 23, 23, 22, 22,
+  22, 24, 26, 27, 27, 26, 25, 24, 23, 24, 25, 25, 25, 24, 23, 26,
+  30, 30, 27, 25, 24, 22, 23, 24, 24, 23, 22, 22, 22, 21, 20, 21,
+  21, 20, 19, 19, 18, 17, 17, 19, 19, 18, 17, 17, 16, 15, 14, 17,
+  16, 16, 15, 15, 15, 15, 15, 15, 16, 14, 13, 12, 13, 16, 16, 14,
+  16, 19, 22, 23, 25, 26, 25, 26, 28, 29, 27, 24, 23, 22, 20, 18,
+  17, 16, 15, 14, 11, 8, 10, 12, 10, 8, 9, 10, 10, 9, 8, 8,
+  18, 18, 19, 19, 19, 20, 21, 20, 19, 19, 19, 19, 19, 19, 20, 20,
+  19, 20, 21, 21, 21, 22, 26, 28, 28, 27, 26, 24, 23, 22, 22, 22,
+  23, 25, 26, 27, 27, 26, 26, 24, 23, 24, 25, 26, 25, 24, 23, 26,
+  30, 30, 27, 26, 25, 23, 23, 24, 24, 23, 23, 23, 22, 21, 20, 20,
+  20, 19, 19, 19, 18, 17, 17, 18, 18, 17, 17, 16, 16, 15, 14, 16,
+  16, 15, 15, 15, 15, 15, 15, 15, 15, 14, 12, 12, 13, 15, 16, 12,
+  15, 18, 20, 18, 20, 23, 22, 24, 27, 26, 24, 24, 22, 20, 17, 16,
+  16, 14, 14, 11, 9, 6, 7, 10, 8, 7, 8, 9, 10, 9, 8, 8,
+  18, 18, 19, 19, 19, 19, 19, 18, 17, 17, 17, 18, 18, 19, 20, 20,
+  19, 19, 20, 21, 21, 23, 25, 27, 27, 26, 25, 23, 21, 20, 20, 21,
+  23, 24, 25, 26, 26, 26, 26, 24, 23, 24, 25, 25, 24, 23, 22, 24,
+  28, 30, 28, 25, 23, 21, 21, 23, 24, 24, 24, 22, 21, 20, 20, 21,
+  21, 20, 19, 20, 19, 19, 18, 18, 18, 17, 17, 16, 16, 15, 15, 17,
+  17, 16, 15, 15, 14, 13, 12, 14, 13, 14, 13, 12, 13, 13, 15, 16,
+  17, 19, 19, 20, 20, 21, 22, 23, 24, 24, 23, 22, 20, 19, 17, 17,
+  15, 13, 12, 11, 10, 7, 7, 9, 7, 6, 7, 8, 9, 9, 8, 8,
+  18, 18, 18, 18, 18, 18, 18, 18, 16, 16, 17, 18, 18, 19, 20, 20,
+  19, 20, 21, 21, 22, 23, 25, 26, 27, 25, 25, 22, 21, 20, 20, 21,
+  23, 24, 25, 25, 25, 25, 25, 25, 23, 24, 25, 24, 24, 23, 22, 25,
+  28, 29, 27, 24, 22, 21, 21, 23, 24, 24, 24, 22, 21, 20, 19, 21,
+  21, 20, 20, 20, 20, 19, 18, 18, 18, 17, 17, 16, 16, 16, 16, 17,
+  17, 16, 15, 15, 14, 12, 12, 13, 12, 13, 14, 12, 13, 14, 15, 15,
+  17, 18, 19, 19, 19, 20, 21, 22, 22, 22, 21, 20, 19, 17, 17, 18,
+  16, 13, 12, 12, 12, 8, 8, 8, 7, 6, 7, 8, 9, 9, 8, 8,
+  18, 18, 18, 18, 18, 18, 18, 17, 16, 16, 16, 17, 18, 18, 19, 20,
+  20, 21, 21, 22, 23, 24, 26, 27, 25, 24, 23, 21, 20, 20, 19, 20,
+  23, 24, 24, 25, 24, 24, 24, 24, 24, 25, 25, 25, 24, 23, 22, 24,
+  27, 29, 27, 24, 22, 20, 20, 22, 23, 23, 23, 22, 21, 20, 19, 21,
+  22, 21, 21, 21, 21, 20, 19, 19, 18, 17, 17, 16, 16, 16, 16, 17,
+  16, 16, 15, 15, 14, 12, 12, 12, 12, 13, 13, 13, 14, 15, 16, 14,
+  16, 17, 17, 17, 17, 18, 19, 19, 19, 19, 19, 17, 15, 14, 15, 18,
+  15, 12, 12, 13, 11, 9, 8, 8, 6, 5, 7, 8, 9, 9, 8, 8,
+  18, 18, 18, 18, 18, 18, 18, 17, 15, 15, 16, 17, 17, 18, 18, 19,
+  21, 22, 22, 23, 25, 25, 26, 26, 25, 24, 23, 21, 20, 19, 19, 20,
+  23, 24, 25, 25, 24, 24, 24, 23, 23, 24, 25, 24, 23, 23, 22, 24,
+  27, 29, 27, 24, 22, 21, 21, 23, 23, 23, 23, 22, 21, 21, 20, 22,
+  21, 21, 20, 21, 20, 19, 19, 19, 18, 17, 17, 15, 15, 15, 15, 16,
+  16, 15, 15, 15, 14, 12, 12, 12, 12, 12, 12, 13, 14, 15, 15, 16,
+  17, 18, 18, 17, 17, 17, 18, 18, 18, 18, 18, 16, 14, 13, 14, 16,
+  14, 12, 11, 12, 10, 9, 8, 6, 6, 5, 7, 8, 9, 9, 8, 7,
+  17, 17, 17, 17, 17, 17, 17, 16, 15, 15, 16, 16, 17, 17, 18, 19,
+  21, 22, 23, 24, 26, 26, 26, 25, 24, 23, 22, 20, 19, 18, 18, 20,
+  24, 24, 26, 25, 24, 24, 24, 23, 23, 23, 24, 24, 23, 22, 21, 23,
+  27, 29, 26, 24, 23, 21, 21, 22, 23, 23, 23, 22, 22, 21, 20, 21,
+  21, 20, 20, 20, 20, 19, 18, 18, 18, 17, 17, 15, 15, 15, 15, 16,
+  16, 15, 14, 14, 14, 12, 12, 12, 11, 11, 11, 13, 13, 13, 15, 16,
+  17, 18, 19, 19, 17, 17, 17, 18, 18, 18, 17, 15, 14, 12, 13, 14,
+  13, 11, 11, 10, 9, 8, 7, 5, 5, 5, 7, 8, 9, 9, 8, 7,
+  17, 17, 17, 17, 17, 17, 17, 16, 14, 14, 15, 16, 16, 17, 18, 18,
+  21, 21, 22, 23, 26, 25, 25, 25, 23, 22, 21, 19, 19, 18, 18, 20,
+  23, 24, 25, 25, 23, 23, 23, 22, 22, 22, 23, 23, 22, 21, 20, 22,
+  26, 27, 25, 24, 23, 21, 21, 22, 22, 22, 22, 22, 21, 20, 20, 21,
+  22, 22, 21, 21, 21, 20, 20, 19, 18, 17, 17, 14, 14, 14, 14, 15,
+  15, 14, 14, 14, 14, 12, 12, 12, 12, 10, 11, 12, 13, 13, 13, 16,
+  17, 17, 16, 17, 16, 15, 15, 16, 16, 16, 15, 14, 12, 11, 11, 14,
+  13, 12, 11, 10, 8, 8, 6, 5, 5, 6, 7, 8, 9, 9, 7, 6,
+  16, 16, 16, 16, 17, 17, 17, 16, 14, 14, 15, 15, 15, 16, 17, 18,
+  19, 20, 21, 23, 25, 24, 24, 23, 22, 21, 21, 20, 19, 19, 18, 20,
+  23, 23, 24, 24, 23, 23, 23, 22, 22, 22, 23, 23, 22, 21, 21, 22,
+  25, 27, 25, 23, 21, 20, 20, 21, 22, 22, 22, 21, 20, 20, 19, 20,
+  21, 21, 20, 20, 20, 19, 19, 18, 17, 17, 16, 14, 14, 14, 14, 15,
+  15, 14, 14, 14, 13, 12, 11, 12, 12, 12, 11, 12, 12, 12, 12, 15,
+  15, 15, 14, 15, 15, 14, 15, 15, 15, 15, 14, 14, 13, 11, 12, 14,
+  13, 13, 12, 10, 9, 8, 7, 7, 7, 7, 8, 8, 9, 9, 7, 6,
+  14, 15, 15, 16, 17, 17, 17, 16, 14, 14, 15, 15, 15, 15, 16, 17,
+  17, 18, 20, 22, 23, 23, 23, 22, 21, 21, 21, 20, 18, 19, 19, 20,
+  22, 22, 23, 23, 23, 23, 23, 22, 22, 23, 23, 24, 23, 22, 22, 22,
+  23, 25, 25, 23, 21, 20, 20, 21, 22, 22, 22, 21, 20, 19, 18, 18,
+  19, 19, 19, 18, 18, 18, 18, 18, 17, 17, 16, 16, 16, 16, 16, 16,
+  15, 14, 14, 13, 12, 11, 11, 13, 12, 12, 12, 12, 12, 12, 12, 13,
+  13, 13, 13, 13, 13, 13, 13, 15, 14, 13, 13, 14, 13, 12, 13, 13,
+  13, 12, 11, 11, 10, 9, 9, 10, 9, 8, 8, 9, 9, 9, 8, 7,
+  14, 15, 15, 16, 17, 17, 17, 16, 14, 14, 15, 15, 15, 15, 16, 17,
+  17, 18, 20, 22, 23, 23, 23, 22, 21, 21, 21, 20, 19, 20, 20, 21,
+  21, 22, 23, 23, 23, 23, 23, 22, 22, 23, 23, 24, 23, 22, 21, 21,
+  23, 25, 25, 23, 21, 20, 20, 20, 21, 21, 21, 21, 20, 19, 18, 18,
+  19, 19, 19, 18, 18, 18, 18, 18, 17, 17, 16, 16, 16, 16, 16, 16,
+  15, 14, 14, 13, 12, 11, 11, 13, 13, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 12, 12, 12, 12, 12, 14, 13, 12, 12, 13, 12, 11, 12, 12,
+  12, 11, 10, 11, 10, 9, 9, 10, 10, 9, 9, 9, 9, 9, 8, 7,
+  14, 15, 15, 16, 17, 17, 17, 16, 14, 14, 15, 15, 15, 15, 16, 17,
+  17, 18, 20, 22, 23, 23, 23, 22, 21, 21, 21, 20, 19, 20, 20, 21,
+  21, 22, 22, 22, 22, 22, 22, 22, 22, 23, 23, 23, 23, 22, 21, 21,
+  23, 25, 25, 23, 21, 20, 20, 20, 21, 21, 21, 21, 20, 19, 18, 18,
+  19, 19, 19, 18, 18, 18, 18, 18, 17, 17, 16, 16, 16, 16, 16, 16,
+  15, 14, 14, 13, 12, 11, 11, 13, 13, 12, 12, 12, 12, 12, 12, 12,
+  12, 12, 11, 10, 10, 10, 10, 12, 11, 11, 10, 11, 10, 9, 9, 11,
+  10, 9, 9, 11, 10, 9, 9, 10, 10, 9, 9, 9, 9, 9, 8, 7 };
diff --git a/examples/jawbreaker.cpp b/examples/jawbreaker.cpp
new file mode 100644
index 0000000..2ac78d1
--- /dev/null
+++ b/examples/jawbreaker.cpp
@@ -0,0 +1,232 @@
+/*
+ #
+ #  File        : jawbreaker.cpp
+ #                ( C++ source file )
+ #
+ #  Description : A funny game featuring small colored balls.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#include "CImg.h"
+using namespace cimg_library;
+#undef min
+#undef max
+
+// Main procedure
+//----------------
+int main(int argc, char **argv) {
+
+  // Display help (if option '-h' or '--help' specified) and retrieve program arguments
+  cimg_usage("A small and funny game featuring colored balls.\n             (by David Tschumperle).");
+  const char *score_file = cimg_option("-s",(char*)0,"Specify score file to use (0=default file).");
+  cimg_help("\n"
+            "** Quick Help *********************************************************\n\n"
+            "Goal : Delete the board by clicking on groups of adjacent colored balls\n"
+            "       (a group is made of at least two balls with the same color).\n"
+	    "       Suppressing large sets gives higher scores.\n\n"
+            "In-game keys : - BACKSPACE or SPACE = Undo last move\n"
+	    "               - CTRL+F = Toggle fullscreen mode\n"
+            "               - ESC   = Quit application\n"
+            "               - Q     = End current game\n\n"
+            "*********************************************************************");
+
+  // Load score file if available
+  CImgList<unsigned int> score_history;
+  char filename_history[1024];
+  std::sprintf(filename_history,"%s%s",score_file?"":cimg::temporary_path(),score_file?score_file:"/jawbreaker.score");
+  std::FILE *file = std::fopen(filename_history,"r");
+  if (file) { std::fclose(file); score_history = CImg<unsigned int>::get_load_dlm(filename_history)<'y'; }
+
+  // Create ball graphics
+  const unsigned int W = 12, H = 14, Wi = (W<<5), Hi = (H<<5);
+  unsigned int score = 0, previous_score = 0, shape_score = 0,
+    best_score = score_history?score_history.max():0U;
+
+  const CImg<> colors(3,7,1,1, 255,255,255, 205,0,230, 0,235,0, 235,255,0, 235,0,0, 0,128,255, 450,350,300);
+  const unsigned char
+    white[] = { 255,255,255 }, orange[] = { 255,128,64 }, yellow[] = { 255,255,64 }, red[] = { 255,64,64 }, six = 6;
+  CImgList<> balls0(7,32,32,1,3,0);
+  cimglist_for(balls0,l) if (l) {
+    balls0[l].draw_circle(16,16,14,colors.data(0,l));
+    cimg_forXYC(balls0[l],x,y,k) if (balls0(l,x,y,k)) (balls0(l,x,y,k)*=(32 - x + y)/60.0f)+=20;
+    balls0[l].draw_circle(16,16,14,colors.data(0,l),0.5f,~0U).
+      draw_circle(20,10,5,colors.data(),0.2f).draw_circle(22,8,2,colors.data(),0.4f).cut(0,255);
+  }
+
+  // Create background graphics
+  CImgList<unsigned char> balls(balls0);
+  CImg<unsigned char>
+    mask =  balls[1].get_cut(0,1).channel(0).dilate(3),
+    background = CImg<unsigned char>(Wi,Hi,1,3,0).
+    noise(255,1).blur(6,20,0,true).equalize(100,0,255).blur(2,4,0,true);
+  background.get_shared_channel(0)/=4; background.get_shared_channel(1)/=8; background.get_shared_channel(2)/=2;
+
+  // Begin user-interaction loop.
+  CImg<unsigned char> board, previous_board, selected_board, shape, img(background);
+  CImgDisplay disp(img.width(),img.height(),"Jawbreaker",0);
+  bool redraw = true, gameover = false, title = true;
+  for (float opac = 0.0f; !disp.is_closed(); ) {
+
+    // Init board
+    if (!board) {
+      (++((board.assign(W,H,1,1,5).noise(5,1))%=5)).get_shared_row(0).fill(0);
+      opac = (float)(score = previous_score = shape_score = 0);
+      gameover = false; redraw = title = true;
+      previous_board = board;
+    }
+
+    // Draw graphical board
+    if (redraw) {
+      (img=background).draw_text(2,2,"Score : %u",yellow,0,0.7f,24,score).
+        draw_text(Wi - 90,2,"Best : %u",orange,0,0.9f,17,best_score);
+      if (selected_board) {
+        cimg_forXY(selected_board,x,y) if (selected_board(x,y))
+          img.draw_image(x<<5,y<<5,balls[selected_board(x,y)],mask);
+      } else cimg_forXY(board,x,y) if (board(x,y)) img.draw_image(x<<5,y<<5,balls[board(x,y)],mask);
+      if (title) {
+        CImg<unsigned char> text1, text2;
+        text1.draw_text(0,0,"- Jawbreaker -",white,0,1,48).resize(-100,-100,1,3);
+        text2.draw_text(0,0,"Press button to start",yellow,0,1,24).resize(-100,-100,1,3);
+        (img/=2).draw_image((Wi - text1.width())/2,
+                            (Hi - text1.height())/2,
+                            text1,text1.get_dilate(7),1,255).
+          draw_image((Wi - text2.width())/2,
+                     (Hi + text1.height() + 10)/2,
+                     text2,text2.get_dilate(5),0.7f,255);
+	for (float i = 1; i<10 && !disp.is_keyESC(); i+=0.25)
+	  disp.display(img.get_crop((int)(Wi*(0.5f - i*i/200.0f)),(int)(Hi*(0.5f - i*i*i*i/20000.0f)),
+				    (int)(Wi*(0.5f + i*i/200.0f)),(int)(Hi*(0.5f + i*i*i*i/20000.0f)))).wait(20);
+      }
+    }
+    if ((opac-=0.06f)>0) disp.display((+img).draw_text(disp.mouse_x() - 8,disp.mouse_y() - 80 + (int)(60*opac),"+%u",
+                                                       white,0,(float)std::sqrt(opac),32,shape_score)).wait(20);
+    else { if (redraw) { disp.display(img); redraw = false; } else disp.wait(); }
+
+    // Handle key and window events
+    if (disp.is_resized()) disp.resize(disp);
+    if (disp.is_keyBACKSPACE() || disp.is_keySPACE()) {
+      board = previous_board; score = previous_score; selected_board.assign(); redraw = true; disp.set_key();
+    }
+    if (disp.is_keyQ()) { gameover = true; disp.set_key(); }
+    if (disp.is_keyESC()) disp.close();
+    if (disp.is_keyCTRLLEFT() && disp.is_keyF()) disp.toggle_fullscreen().display(img);
+
+    // Handle ball selection and removal
+    const int x = disp.mouse_x()*board.width()/disp.width(), y = disp.mouse_y()*board.height()/disp.height();
+    if (disp.button()&1 && x>=0 && y>=0) {
+      if (title) { title = false; redraw = true; } else {
+        if (!board(x,y)) { selected_board.assign(); redraw = true; }
+        else {
+          if (!selected_board || selected_board(x,y)!=6) {
+            (selected_board=board).draw_fill(x,y,0,&six,1,shape);
+            if ((shape_score=(unsigned int)shape.sum())<2) selected_board.assign();
+            else { shape_score-=1; shape_score*=shape_score; opac = 1.0f; redraw = true; }
+          } else {
+            selected_board.assign();
+            previous_board = board;
+            previous_score = score;
+            score += shape_score;
+            board&=--shape;
+            redraw = true;
+
+            // Handle board modification due to ball removal
+            for (int pmax = board.width(), p = 0; p<pmax; ++p) {
+              for (int q = board.height() - 1, qs = q; q>=0; --q) {
+                while (qs>=0 && !board(p,qs)) --qs;
+                board(p,q) = (qs>=0?board(p,qs--):0);
+              }
+              if (!board(p,board.height() - 1)) {
+                board.draw_image(p,board.get_crop(p,0,board.width() - 1,board.height() - 1).shift(-1));
+                if (p<pmax) { p--; pmax--; }
+              }
+            }
+
+            // Test possible end of the game
+            gameover = true;
+            cimg_forXY(board,x,y)
+              if (board(x,y) && ((y && board(x,y)==board(x,y - 1)) || (x && board(x,y)==board(x - 1,y))))
+                gameover = false;
+          }
+        }
+      }
+      disp.set_button();
+    }
+
+    // If game is over...
+    if (gameover && opac<=0) {
+      CImg<unsigned char> text1, text2, text3, text4, text5, text6;
+      text1.draw_text(0,0,"Game Over !",white,0,1,48).resize(-100,-100,1,3);
+      const unsigned int remaining_balls = (unsigned int)board.get_cut(0,1).sum();
+      if (remaining_balls<8) {
+        const unsigned int bonus = (22 - 2*remaining_balls)*10;
+        score += bonus;
+        text2.draw_text(0,0,"Jawbreaker Bonus : +%u",white,0,1,24,bonus);
+      }
+      score_history.insert(CImg<unsigned int>::vector(score));
+      text3.draw_text(0,0,"Final score : %u",yellow,0,1,24,score).resize(-100,-100,1,3);
+      text4.draw_text(0,0,score>best_score?"** New record ! **":"Best score : %u",
+                      orange,0,1,24,score>best_score?score:best_score).resize(-100,-100,1,3);
+      text5.draw_text(0,0,"Average score : %u",red,0,1,24,
+                      score_history?(unsigned int)(score_history>'x').mean():0U).resize(-100,-100,1,3);
+      text6.draw_text(0,0,"Games played : %u",red,0,1,24,score_history.size()).resize(-100,-100,1,3);
+      if (score>best_score) best_score = score;
+
+      unsigned int yt = (Hi - text1.height())/2 - 20;
+      (img/=2).draw_image((Wi - text1.width())/2,yt,text1,text1.get_dilate(7),1,255); yt+=80;
+      if (text2) { img.draw_image((Wi - text2.width())/2,yt,text2,text2.get_dilate(5),1,255); yt+=25; }
+      img.draw_image((Wi - text3.width())/2,yt,text3,text3.get_dilate(5),1,255).
+        draw_image((Wi - text4.width())/2,yt + 25,text4,text4.get_dilate(5),1,255).
+        draw_image((Wi - text5.width())/2,yt + 50,text5,text5.get_dilate(5),1,255).
+        draw_image((Wi - text6.width())/2,yt + 75,text6,text6.get_dilate(5),1,255).display(disp);
+      for (disp.flush(); !disp.is_closed() && !disp.key() && !disp.button(); disp.wait())
+        if (disp.is_resized()) disp.resize(disp);
+      disp.flush();
+      board.assign();
+      for (float i = 10; i>0 && !disp.is_keyESC(); i-=0.25)
+	disp.display(img.get_crop((int)(Wi*(0.5f - i*i*i*i/20000.0f)),(int)(Hi*(0.5f - i*i/200.0f)),
+				  (int)(Wi*(0.5f + i*i*i*i/20000.0f)),(int)(Hi*(0.5f + i*i/200.0f)))).wait(20);
+    }
+  }
+
+  // Save score history if possible, and exit.
+  if (score_history) {
+    file = std::fopen(filename_history,"w");
+    if (file) { std::fclose(file); (score_history>'y').save_dlm(filename_history); }
+  }
+
+  return 0;
+}
diff --git a/examples/mcf_levelsets2d.cpp b/examples/mcf_levelsets2d.cpp
new file mode 100644
index 0000000..1e3cbb3
--- /dev/null
+++ b/examples/mcf_levelsets2d.cpp
@@ -0,0 +1,120 @@
+/*
+ #
+ #  File        : mcf_levelsets2d.cpp
+ #                ( C++ source file )
+ #
+ #  Description : Implementation of the Mean Curvature Flow on a 2D curve,
+ #                using the framework of Level Sets.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#include "CImg.h"
+using namespace cimg_library;
+#undef min
+#undef max
+
+// Retrieve the curve corresponding to the zero level set of the distance function.
+template<typename T>
+CImg<unsigned char> get_level0(const CImg<T>& img) {
+  CImg<unsigned char> dest(img);
+  CImg_2x2(I,T); Inn = 0;
+  cimg_for2x2(img,x,y,0,0,I,T) if (Icc*Inc<0 || Icc*Icn<0) dest(x,y) = 255; else dest(x,y) = Icc<0?100:0;
+  return dest;
+}
+
+/*--------------------
+
+   Main procedure
+
+----------------------*/
+int main(int argc,char **argv) {
+  cimg_usage("Perform a Mean Curvature Flow on closed curves, using Level Sets");
+  const float dt = cimg_option("-dt",0.8f,"PDE time step");
+  const unsigned int nb_iterations = cimg_option("-iter",10000,"Number of iterations");
+
+  // Create a user-defined closed curve.
+  CImg<unsigned char> curve(256,256,1,2,0);
+  unsigned char col1[] = {0,255}, col2[] = {200,255}, col3[] = {255,255};
+  curve.draw_grid(20,20,0,0,false,false,col1,0.4f,0xCCCCCCCC,0xCCCCCCCC).
+    draw_text(5,5,"Please draw your curve\nin this window\n(Use your mouse)",col1);
+  CImgDisplay disp(curve,"Mean curvature flow",0);
+  int xo = -1, yo = -1, x0 = -1, y0 = -1, x1 = -1, y1 = -1;
+  while (!disp.is_closed() && (x0<0 || disp.button())) {
+    if (disp.button() && disp.mouse_x()>=0 && disp.mouse_y()>=0) {
+      if (x0<0) { xo = x0 = disp.mouse_x(); yo = y0 = disp.mouse_y(); } else {
+        x1 = disp.mouse_x(); y1 = disp.mouse_y();
+        curve.draw_line(x0,y0,x1,y1,col2).display(disp);
+        x0 = x1; y0 = y1;
+      }
+    }
+    disp.wait();
+    if (disp.is_resized()) disp.resize(disp);
+  }
+  curve.draw_line(x1,y1,xo,yo,col2).channel(0).draw_fill(0,0,col3);
+  CImg<> img = CImg<>(curve.get_shared_channel(0)).normalize(-1,1);
+
+  // Perform the "Mean Curvature Flow".
+  img.distance_eikonal(10);
+  CImg_3x3(I,float);
+  for (unsigned int iteration = 0; iteration<nb_iterations && !disp.is_closed() &&
+         !disp.is_keyQ() && !disp.is_keyESC(); ++iteration) {
+    CImg<float> velocity(img.width(),img.height(),img.depth(),img.spectrum());
+    float *ptrd = velocity.data(), veloc_max = 0;
+    cimg_for3x3(img,x,y,0,0,I,float) {
+      const float
+        ix = (Inc - Ipc)/2,
+        iy = (Icn - Icp)/2,
+        ixx = Inc + Ipc - 2*Icc,
+        iyy = Icn + Icp - 2*Icc,
+        ixy = (Ipp + Inn - Inp - Ipn)/4,
+        ngrad = ix*ix + iy*iy,
+        iee = (ngrad>1e-5)?((iy*iy*ixx - 2*ix*iy*ixy + ix*ix*iyy)/ngrad):0;
+      *(ptrd++) = iee;
+      if (iee>veloc_max) veloc_max = iee; else if (-iee>veloc_max) veloc_max = -iee;
+    }
+    if (veloc_max>0) img+=(velocity*=dt/veloc_max);
+    if (!(iteration%10)) {
+      get_level0(img).resize(disp.width(),disp.height()).
+        draw_grid(20,20,0,0,false,false,col3,0.4f,0xCCCCCCCC,0xCCCCCCCC).
+        draw_text(5,5,"Iteration %d",col3,0,1,13,iteration).display(disp);
+    }
+    if (!(iteration%60)) img.distance_eikonal(1,3);
+    if (disp.is_resized()) disp.resize();
+  }
+
+  return 0;
+}
diff --git a/examples/mcf_levelsets3d.cpp b/examples/mcf_levelsets3d.cpp
new file mode 100644
index 0000000..a40ed7e
--- /dev/null
+++ b/examples/mcf_levelsets3d.cpp
@@ -0,0 +1,180 @@
+/*
+ #
+ #  File        : mcf_levelsets3d.cpp
+ #                ( C++ source file )
+ #
+ #  Description : Implementation of the Mean Curvature Flow on Surfaces
+ #                using the framework of Level Sets 3D.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#include "CImg.h"
+using namespace cimg_library;
+#undef min
+#undef max
+
+// Apply the Mean curvature flow PDE
+//-----------------------------------
+template<typename T> CImg<T>& mcf_PDE(CImg<T>& img, const unsigned int nb_iterations,
+                                      const float dt=0.25f, const float narrow=4.0f) {
+  CImg<float> velocity(img.width(),img.height(),img.depth(),img.spectrum());
+  CImg_3x3x3(I,float);
+  for (unsigned int iteration = 0; iteration<nb_iterations; ++iteration) {
+    float *ptrd = velocity.data(), veloc_max = 0;
+    cimg_for3x3x3(img,x,y,z,0,I,float) if (cimg::abs(Iccc)<narrow) {
+      const float
+        ix = (Incc - Ipcc)/2,
+        iy = (Icnc - Icpc)/2,
+        iz = (Iccn - Iccp)/2,
+        norm = (float)std::sqrt(1e-5f + ix*ix + iy*iy + iz*iz),
+        ixx = Incc + Ipcc - 2*Iccc,
+        ixy = (Ippc + Innc - Inpc - Ipnc)/4,
+        ixz = (Ipcp + Incn - Incp - Ipcn)/4,
+        iyy = Icnc + Icpc - 2*Iccc,
+        iyz = (Icpp + Icnn - Icnp - Icpn)/4,
+        izz = Iccn + Iccp - 2*Iccc,
+        a = ix/norm,
+        b = iy/norm,
+        c = iz/norm,
+        inn = a*a*ixx + b*b*iyy + c*c*izz + 2*a*b*ixy + 2*a*c*ixz + 2*b*c*iyz,
+        veloc = ixx + iyy + izz - inn;
+      *(ptrd++) = veloc;
+      if (veloc>veloc_max) veloc_max = veloc; else if (-veloc>veloc_max) veloc_max = -veloc;
+    } else *(ptrd++) = 0;
+    if (veloc_max>0) img+=(velocity*=dt/veloc_max);
+  }
+  return img;
+}
+
+/*----------------------
+
+   Main procedure
+
+  --------------------*/
+int main(int argc,char **argv) {
+  cimg_usage("Mean curvature flow of a surface, using 3D level sets");
+  const char *file_i = cimg_option("-i",(char*)0,"Input image");
+  const float dt = cimg_option("-dt",0.05f,"PDE Time step");
+  const float narrow = cimg_option("-band",5.0f,"Size of the narrow band");
+  const bool both = cimg_option("-both",false,"Show both evolving and initial surface");
+
+  // Define the signed distance map of the initial surface.
+  CImg<> img;
+  if (file_i) {
+    const float sigma = cimg_option("-sigma",1.2f,"Segmentation regularity");
+    const float alpha = cimg_option("-alpha",5.0f,"Region growing tolerance");
+    img.load(file_i).channel(0);
+    CImg<int> s;
+    CImgDisplay disp(img,"Please select a starting point");
+    while (!s || s[0]<0) s = img.get_select(0,disp);
+    CImg<> region;
+    float tmp[] = { 0 };
+    img.draw_fill(s[0],s[1],s[2],tmp,1,region,alpha);
+    ((img = region.normalize(-1,1))*=-1).blur(sigma);
+  }
+  else { // Create synthetic implicit function.
+    img.assign(60,60,60);
+    const float exte[] = { 1 }, inte[] = { -1 };
+    img.fill(*exte).draw_rectangle(15,15,15,45,45,45,inte).draw_rectangle(25,25,0,35,35,img.depth() - 1,exte).
+      draw_rectangle(0,25,25,img.width() - 1,35,35,exte).draw_rectangle(25,0,25,35,img.height() - 1,35,exte).noise(0.7);
+  }
+  img.distance_eikonal(10,0,0.1f);
+
+  // Compute corresponding surface triangularization by the marching cube algorithm (isovalue 0).
+  CImg<> points0;
+  CImgList<unsigned int> faces0;
+  if (both) points0 = img.get_isosurface3d(faces0,0);
+  const CImgList<unsigned char> colors0(faces0.size(),CImg<unsigned char>::vector(100,200,255));
+  const CImgList<> opacities0(faces0.size(),1,1,1,1,0.2f);
+
+  // Perform MCF evolution.
+  CImgDisplay disp(256,256,0,1), disp3d(512,512,0,0);
+  float alpha = 0, beta = 0;
+  for (unsigned int iteration = 0; !disp.is_closed() && !disp3d.is_closed() &&
+         !disp.is_keyESC() && !disp3d.is_keyESC() && !disp.is_keyQ() && !disp3d.is_keyQ(); ++iteration) {
+    disp.set_title("3D implicit Function (iter. %u)",iteration);
+    disp3d.set_title("Mean curvature flow 3D - Isosurface (iter. %u)",iteration);
+
+    // Apply PDE on the distance function.
+    mcf_PDE(img,1,dt,narrow); // Do one iteration of mean curvature flow.
+    // Every 10 steps, do one iteration of distance function re-initialization.
+    if (!(iteration%10)) img.distance_eikonal(1,narrow,0.5f);
+
+    // Compute surface triangularization by the marching cube algorithm (isovalue 0)
+    CImgList<unsigned int> faces;
+    CImg<> points = img.get_isosurface3d(faces,0);
+    CImgList<unsigned char> colors(faces.size(),CImg<unsigned char>::vector(200,128,100));
+    CImgList<> opacities(faces.size(),CImg<>::vector(1.0f));
+    const float fact = 3*cimg::max(disp3d.width(),disp3d.height())/(4.0f*cimg::max(img.width(),img.height()));
+
+    // Append initial object if necessary.
+    if (both) {
+      points.append_object3d(faces,points0,faces0);
+      colors.insert(colors0);
+      opacities.insert(opacities0);
+    }
+
+    // Center and rescale the objects
+    cimg_forX(points,l) {
+      points(l,0)=(points(l,0) - img.width()/2)*fact;
+      points(l,1)=(points(l,1) - img.height()/2)*fact;
+      points(l,2)=(points(l,2) - img.depth()/2)*fact;
+    }
+
+    // Display 3D object on the display window.
+    CImg<unsigned char> visu(disp3d.width(),disp3d.height(),1,3,0);
+    const CImg<> rot = CImg<>::rotation_matrix(1,0,0,(beta+=0.01f))*CImg<>::rotation_matrix(0,1,1,(alpha+=0.05f));
+    if (points.size()) {
+      visu.draw_object3d(visu.width()/2.0f,visu.height()/2.0f,0.0f,
+                         rot*points,faces,colors,opacities,3,
+                         false,500.0,0.0f,0.0f,-8000.0f).display(disp3d);
+    } else visu.fill(0).display(disp3d);
+    img.display(disp.wait(20));
+
+    if ((disp3d.button() || disp3d.key()) && points.size() && !disp3d.is_keyESC() && !disp3d.is_keyQ()) {
+      const unsigned char white[3] = { 255, 255, 255 };
+      visu.fill(0).draw_text(10,10,"Time stopped, press any key to start again",white).
+        display_object3d(disp3d,points,faces,colors,opacities,true,4,3,false,500,0,0,-5000,0.4f,0.3f);
+      disp3d.set_key();
+    }
+    if (disp.is_resized()) disp.resize(false);
+    if (disp3d.is_resized()) disp3d.resize(false);
+    disp.wait(50);
+  }
+
+  return 0;
+}
diff --git a/examples/odykill.cpp b/examples/odykill.cpp
new file mode 100644
index 0000000..839cf02
--- /dev/null
+++ b/examples/odykill.cpp
@@ -0,0 +1,229 @@
+/*
+ #
+ #  File        : odykill.cpp
+ #                ( C++ source file )
+ #
+ #  Description : Simple shoot-em-up game featuring the Robotvis/Odyssee Team !
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#include "img/odykill.h"
+#include "CImg.h"
+using namespace cimg_library;
+
+// Main procedure
+//----------------
+int main(int argc,char **argv) {
+
+  // Create game graphics
+  CImg<unsigned char> graphics[21] = {
+    CImg<unsigned char>(data_tomato,100,100,1,3,false),
+    CImg<unsigned char>(data_heart,100,100,1,3,false),
+    CImg<unsigned char>(data_dynamite,100,100,1,3,false),
+    CImg<unsigned char>(data_brain,100,100,1,3,false),
+    CImg<unsigned char>(data_cdrom,100,100,1,3,false),
+    CImg<unsigned char>(data_enemy,113,150,1,3,false),
+    CImg<unsigned char>(data_enemy2,116,155,1,3,false),
+    CImg<unsigned char>(data_enemy3,104,134,1,3,false),
+    CImg<unsigned char>(data_enemy4,141,151,1,3,false),
+    CImg<unsigned char>(data_enemy5,140,152,1,3,false),
+    CImg<unsigned char>(data_enemy6,131,156,1,3,false),
+    CImg<unsigned char>(data_enemy7,114,125,1,3,false),
+    CImg<unsigned char>(data_enemy8,97,125,1,3,false),
+    CImg<unsigned char>(data_enemy9,143,134,1,3,false),
+    CImg<unsigned char>(data_enemy10,158,214,1,3,false),
+    CImg<unsigned char>(data_enemy11,131,168,1,3,false),
+    CImg<unsigned char>(data_enemy12,114,138,1,3,false),
+    CImg<unsigned char>(data_enemy13,144,144,1,3,false),
+    CImg<unsigned char>(data_enemy14,132,153,1,3,false),
+    CImg<unsigned char>(data_enemy15,152,151,1,3,false),
+    CImg<unsigned char>(data_enemy16,139,185,1,3,false),
+  };
+  CImg<> masks[21];
+  const unsigned char black[] = { 0,0,0 }, white[] = { 255,255,255 };
+
+  // Display weapon selection menu
+  CImg<unsigned char> back0(640,480,1,3), title(data_title,294,94,1,3,true), choose(data_choose,524,49,1,3,true);
+  back0.fill(0).draw_image(back0.width()/2 - title.width()/2,30,title).
+    draw_image(back0.width()/2 - choose.width()/2,150,choose);
+  CImgDisplay disp(back0,"OdyKill");
+  int weapon=-1;
+
+  while (!disp.is_closed() && !disp.button()) {
+    weapon = -1;
+    for (int k=0; k<5; k++) {
+      const int mx = disp.mouse_x(), my = disp.mouse_y();
+      if (!((mx - 40)/110==k && my>250 && my<350)) back0.draw_image(40 + k*110,250,graphics[k]/2.0);
+      else back0.draw_image(40 + k*110,250,graphics[weapon=k]);
+    }
+    CImg<unsigned char> tmp = CImg<unsigned char>().draw_text(0,0,
+                                                              weapon==0?" Tomato   ":
+                                                              weapon==1?"   Heart   ":
+                                                              weapon==2?" Dynamite ":
+                                                              weapon==3?"   Brain    ":
+                                                              weapon==4?"  CD-Rom  ":
+                                                              "          ",white,black,1,32).resize(-100,-100,1,1),
+      tmp2 = tmp.get_blur(6).normalize(0,255).draw_image(tmp,0.5f);
+    cimg_forC(back0,k) back0.draw_image(250,390,0,k,tmp2);
+
+    disp.resize(disp).display(back0).wait();
+    if (disp.is_keyCTRLLEFT() && disp.is_keyF()) disp.toggle_fullscreen();
+    if (disp.is_closed() || disp.is_keyQ() || disp.is_keyESC()) std::exit(0);
+  }
+  disp.hide_mouse();
+
+  /*---------------------------------
+
+  Go !
+
+  --------------------------------*/
+
+  const CImg<unsigned char>
+    background = CImg<unsigned char>(100,100,1,3,0).noise(100,2).draw_plasma().
+    resize(back0.width(),back0.height(),1,3,5)/2.5;
+  { for (unsigned int k=0; k<21; k++) {
+    CImg<> tmp = graphics[k].resize(k<5?32:164,k<5?32:164,1,3);
+    cimg_forXY(tmp,x,y) tmp(x,y)  = (tmp(x,y,0)==255 && tmp(x,y,1)==255 && tmp(x,y,2)==255)?0.0f:1.0f;
+    masks[k]=tmp.get_shared_channel(0);
+    graphics[k].resize(k<5?32:164,k<5?32:164,1,3,5);
+  }}
+
+  CImg<unsigned char> canvas(background);
+  int n = 5 + ((int)(200*cimg::rand())%16);
+  CImg<unsigned char> tomato = graphics[weapon], enemy = graphics[n];
+  CImg<> m_tomato = masks[weapon], m_enemy = masks[n];
+
+  double angle = 0;
+  int tomato_x = 0,tomato_y = 0,shooted = 0;
+  double enemy_x = -1000, enemy_y = -1000, enemy_z = -1000, tomato_z = 0, vx = 0, vy = 0, vz = 0, va = 0;
+  double speed = cimg_option("-speed",5.0,"Speed");
+  int timeleft = 2000, score = 0;
+  CImg<unsigned char> r_enemy;
+
+  // Main loop
+  while (timeleft && !disp.is_closed() && !disp.is_keyESC() && !disp.is_keyQ()) {
+    --timeleft;
+    const int mx = disp.mouse_x()*back0.width()/disp.width(), my = disp.mouse_y()*back0.height()/disp.height();
+
+    // Handle object motion
+    if (tomato_z>0) {
+      tomato_z+=0.07; tomato_y -= (int)(20*std::cos(cimg::PI/7 + tomato_z*cimg::PI));
+      if (tomato_z>=1) { tomato_z=0; tomato_x = mx; tomato_y = my; }
+    }
+    if (!shooted) { enemy_x +=vx; enemy_y +=vy; enemy_z +=vz; }
+    else {
+      va = 10;
+      enemy_y += vy;
+      vy += 2;
+      tomato_z = 0;
+      if (enemy_y>5*canvas.height()/4) {
+        shooted = 0;
+        int n = 5 + ((int)(200*cimg::rand())%16);
+        enemy = graphics[n];
+        m_enemy = masks[n];
+        enemy_x=cimg::crand()*1e8; enemy_y=cimg::crand()*1e8; enemy_z=cimg::crand()*1e8;
+        va = angle = 0;
+      }
+    }
+
+    if (enemy_x<0) { enemy_x=0; vx = speed*cimg::crand(); }
+    if (enemy_x>canvas.width()) { enemy_x=canvas.width(); vx = speed*cimg::crand(); }
+    if (enemy_y<0) { enemy_y=0; vy = speed*cimg::crand(); }
+    if (!shooted && enemy_y>canvas.height()) { enemy_y=canvas.height(); vy = speed*cimg::crand(); }
+    if (enemy_z<0.1) { enemy_z = 0.1; vz = speed*0.01*cimg::crand(); }
+    if (enemy_z>0.7) { enemy_z = 0.7; vz = speed*0.01*cimg::crand(); }
+    angle+=va;
+
+    // Handle mouse interaction
+    if (!disp.button()) {
+      if (tomato_z==0) {
+        tomato_x = mx; tomato_y = my;
+      }
+    } else tomato_z +=0.0001;
+
+    // Detect shooting
+    if (cimg::abs(tomato_z - enemy_z)<0.1) {
+      if (tomato_x>enemy_x - r_enemy.width()/2 && tomato_x<enemy_x + r_enemy.width()/2 &&
+      tomato_y>enemy_y - r_enemy.height()/2 && tomato_y<enemy_y + r_enemy.height()/2) {
+        score++;
+        shooted = 1;
+      }
+    }
+
+    // Draw into canvas
+    canvas = background;
+    r_enemy = enemy.get_resize((int)(8 + enemy.width()*(1 - enemy_z)),
+                               (int)(8 + enemy.height()*(1 - enemy_z)),-100,-100);
+    CImg<> rm_enemy = m_enemy.get_resize(r_enemy.width(),r_enemy.height());
+    CImg<unsigned char> r_tomato  = tomato.get_resize((int)(8 + tomato.width()*(1 - tomato_z)),
+                                                      (int)(8 + tomato.height()*(1 - tomato_z)),-100,-100);
+    CImg<> rm_tomato = m_tomato.get_resize(r_tomato.width(),r_tomato.height());
+
+    if (angle!=0) {
+      r_enemy.rotate((float)angle,0,0);
+      rm_enemy.rotate((float)angle,0,0);
+      cimg_forXY(r_enemy,x,y) r_enemy(x,y,0) = (r_enemy(x,y,0) + 255)/2;
+    }
+    r_enemy*=(1 - (enemy_z - 0.1)/1.6);
+    r_tomato*=(1 - tomato_z/1.6);
+    rm_enemy*=(1 - (enemy_z - 0.1)/1.6);
+
+    if (enemy_z>tomato_z) {
+      canvas.draw_image((int)(enemy_x - r_enemy.width()/2),
+                        (int)(enemy_y - r_enemy.height()/2),
+                        r_enemy,rm_enemy);
+      if (tomato_x>=0) canvas.draw_image(tomato_x - r_tomato.width()/2,
+                                         tomato_y - r_tomato.height()/2,
+                                         r_tomato,rm_tomato);
+    }
+    else {
+      if (tomato_x>=0) canvas.draw_image(tomato_x - r_tomato.width()/2,
+                                         tomato_y - r_tomato.height()/2,
+                                         r_tomato,rm_tomato);
+      canvas.draw_image((int)(enemy_x - r_enemy.width()/2),
+                        (int)(enemy_y - r_enemy.height()/2),
+                        r_enemy,rm_enemy);
+    }
+    canvas.draw_text(1,1," Time left %d, Score = %d",white,0,0.5f,24,timeleft,score);
+    disp.resize(disp).display(canvas).wait(25);
+    if (disp.is_keyCTRLLEFT() && disp.is_keyF()) disp.toggle_fullscreen();
+  }
+
+  std::fprintf(stderr,"\n\n YOUR SCORE : %d\n\n\n",score);
+
+  return 0;
+}
diff --git a/examples/pde_TschumperleDeriche2d.cpp b/examples/pde_TschumperleDeriche2d.cpp
new file mode 100644
index 0000000..6d19832
--- /dev/null
+++ b/examples/pde_TschumperleDeriche2d.cpp
@@ -0,0 +1,231 @@
+/*
+ #
+ #  File        : pde_TschumperleDeriche2d.cpp
+ #                ( C++ source file )
+ #
+ #  Description : Implementation of the Tschumperle-Deriche's Regularization
+ #                PDE, for 2D multivalued images, as described in the articles below.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  (1) PDE-Based Regularization of Multivalued Images and Applications.
+ #               (D. Tschumperle). PhD Thesis. University of Nice-Sophia Antipolis, December 2002.
+ #  (2) Diffusion PDE's on Vector-valued Images : Local Approach and Geometric Viewpoint.
+ #               (D. Tschumperle and R. Deriche). IEEE Signal Processing Magazine, October 2002.
+ #  (3) Vector-Valued Image Regularization with PDE's : A Common Framework for Different Applications.
+ #               (D. Tschumperle and R. Deriche). CVPR'2003, Computer Vision and Pattern Recognition,
+ #                                                Madison, United States, June 2003.
+ #
+ #  This code can be used to perform image restoration, inpainting, magnification or flow visualization.
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#include "CImg.h"
+using namespace cimg_library;
+#ifndef cimg_imagepath
+#define cimg_imagepath "img/"
+#endif
+#undef min
+#undef max
+
+// Main procedure
+//----------------
+int main(int argc,char **argv) {
+
+  // Read command line arguments
+  //-----------------------------
+  cimg_usage("Tschumperle-Deriche's flow for 2D Image Restoration, Inpainting, Magnification or Flow visualization");
+  const char *file_i  = cimg_option("-i",cimg_imagepath "milla.bmp","Input image");
+  const char *file_m  = cimg_option("-m",(char*)NULL,"Mask image (if Inpainting)");
+  const char *file_f  = cimg_option("-f",(char*)NULL,"Flow image (if Flow visualization)");
+  const char *file_o  = cimg_option("-o",(char*)NULL,"Output file");
+  const double zoom   = cimg_option("-zoom",1.0,"Image magnification");
+
+  const unsigned int nb_iter  = cimg_option("-iter",100000,"Number of iterations");
+  const double dt     = cimg_option("-dt",20.0,"Adapting time step");
+  const double alpha  = cimg_option("-alpha",0.0,"Gradient smoothing");
+  const double sigma  = cimg_option("-sigma",0.5,"Structure tensor smoothing");
+  const float a1      = cimg_option("-a1",0.5f,"Diffusion limiter along minimal variations");
+  const float a2      = cimg_option("-a2",0.9f,"Diffusion limiter along maximal variations");
+  const double noiseg = cimg_option("-ng",0.0,"Add gauss noise before aplying the algorithm");
+  const double noiseu = cimg_option("-nu",0.0,"Add uniform noise before applying the algorithm");
+  const double noises = cimg_option("-ns",0.0,"Add salt&pepper noise before applying the algorithm");
+  const bool stflag   = cimg_option("-stats",false,"Display image statistics at each iteration");
+  const unsigned int save = cimg_option("-save",0,"Iteration saving step");
+  const unsigned int visu = cimg_option("-visu",10,"Visualization step (0=no visualization)");
+  const unsigned int init = cimg_option("-init",3,"Inpainting initialization (0=black, 1=white, 2=noise, 3=unchanged)");
+  const unsigned int skip = cimg_option("-skip",1,"Step of image geometry computation");
+  bool view_t         = cimg_option("-d",false,"View tensor directions (useful for debug)");
+  double xdt = 0;
+
+  // Variable initialization
+  //-------------------------
+  CImg<> img, flow;
+  CImg<int> mask;
+
+  if (file_i) {
+    img = CImg<>(file_i).resize(-100,-100,1,-100);
+    if (file_m) mask = CImg<unsigned char>(file_m).resize(img.width(),img.height(),1,1);
+    else if (zoom>1) {
+      mask = CImg<int>(img.width(),img.height(),1,1,-1).
+        resize((int)(img.width()*zoom),(int)(img.height()*zoom),1,1,4) + 1;
+      img.resize((int)(img.width()*zoom),(int)(img.height()*zoom),1,-100,3);
+    }
+  } else {
+    if (file_f) {
+      flow = CImg<>(file_f);
+      img = CImg<>((int)(flow.width()*zoom),(int)(flow.height()*zoom),1,1,0).noise(100,2);
+      flow.resize(img.width(),img.height(),1,2,3);
+    } else
+      throw CImgException("You need to specify at least one input image (option -i), or one flow image (option -f)");
+  }
+  img.noise(noiseg,0).noise(noiseu,1).noise(noises,2);
+  float initial_min, initial_max = img.max_min(initial_min);
+  if (mask && init!=3)
+    cimg_forXYC(img,x,y,k) if (mask(x,y))
+      img(x,y,k) = (float)((init?
+                            (init==1?initial_max:((initial_max - initial_min)*cimg::rand())):
+                            initial_min));
+
+  CImgDisplay disp;
+  if (visu) disp.assign(img,"Iterated Image");
+  CImg<> G(img.width(),img.height(),1,3,0), T(G), veloc(img), val(2), vec(2,2);
+
+  // PDE main iteration loop
+  //-------------------------
+  for (unsigned int iter = 0; iter<nb_iter &&
+         (!disp || (!disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC())); ++iter) {
+    std::printf("\riter %u , xdt = %g               ",iter,xdt); std::fflush(stdout);
+    if (stflag) img.print();
+    if (disp && disp.is_keySPACE()) { view_t = !view_t; disp.set_key(); }
+
+    if (!(iter%skip)) {
+
+      // Compute the tensor field T, used to drive the diffusion
+      //---------------------------------------------------------
+
+      // When using PDE for flow visualization
+      if (flow) cimg_forXY(flow,x,y) {
+        const float
+          u = flow(x,y,0,0),
+          v = flow(x,y,0,1),
+          n = (float)std::sqrt((double)(u*u + v*v)),
+          nn = (n!=0)?n:1;
+        T(x,y,0) = u*u/nn;
+        T(x,y,1) = u*v/nn;
+        T(x,y,2) = v*v/nn;
+      } else {
+
+        // Compute structure tensor field G
+        CImgList<> grad = img.get_gradient();
+        if (alpha!=0) cimglist_for(grad,l) grad[l].blur((float)alpha);
+        G.fill(0);
+        cimg_forXYC(img,x,y,k) {
+          const float ix = grad[0](x,y,k), iy = grad[1](x,y,k);
+          G(x,y,0) += ix*ix;
+          G(x,y,1) += ix*iy;
+          G(x,y,2) += iy*iy;
+        }
+        if (sigma!=0) G.blur((float)sigma);
+
+        // When using PDE for image restoration, inpainting or zooming
+        T.fill(0);
+        if (!mask) cimg_forXY(G,x,y) {
+          G.get_tensor_at(x,y).symmetric_eigen(val,vec);
+          const float
+            l1 = (float)std::pow(1.0f + val[0] + val[1],-a1),
+            l2 = (float)std::pow(1.0f + val[0] + val[1],-a2),
+            ux = vec(1,0),
+            uy = vec(1,1);
+          T(x,y,0) = l1*ux*ux + l2*uy*uy;
+          T(x,y,1) = l1*ux*uy - l2*ux*uy;
+          T(x,y,2) = l1*uy*uy + l2*ux*ux;
+        }
+        else cimg_forXY(G,x,y) if (mask(x,y)) {
+          G.get_tensor_at(x,y).symmetric_eigen(val,vec);
+          const float
+            ux = vec(1,0),
+            uy = vec(1,1);
+          T(x,y,0) = ux*ux;
+          T(x,y,1) = ux*uy;
+          T(x,y,2) = uy*uy;
+        }
+      }
+    }
+
+    // Compute the PDE velocity and update the iterated image
+    //--------------------------------------------------------
+    CImg_3x3(I,float);
+    veloc.fill(0);
+    cimg_forC(img,k) cimg_for3x3(img,x,y,0,k,I,float) {
+      const float
+        a = T(x,y,0),
+        b = T(x,y,1),
+        c = T(x,y,2),
+        ixx = Inc + Ipc - 2*Icc,
+        iyy = Icn + Icp - 2*Icc,
+        ixy = 0.25f*(Ipp + Inn - Ipn - Inp);
+      veloc(x,y,k) = a*ixx + 2*b*ixy + c*iyy;
+    }
+    if (dt>0) {
+      float m, M = veloc.max_min(m);
+      xdt = dt/cimg::max(cimg::abs(m),cimg::abs(M));
+    } else xdt=-dt;
+    img+=veloc*xdt;
+    img.cut((float)initial_min,(float)initial_max);
+
+    // Display and save iterations
+    if (disp && !(iter%visu)) {
+      if (!view_t) img.display(disp);
+      else {
+        const unsigned char white[3] = {255,255,255};
+        CImg<unsigned char> visu = img.get_resize(disp.width(),disp.height()).normalize(0,255);
+        CImg<> isophotes(img.width(),img.height(),1,2,0);
+        cimg_forXY(img,x,y) if (!mask || mask(x,y)) {
+          T.get_tensor_at(x,y).symmetric_eigen(val,vec);
+          isophotes(x,y,0) = vec(0,0);
+          isophotes(x,y,1) = vec(0,1);
+        }
+        visu.draw_quiver(isophotes,white,0.5f,10,9,0).display(disp);
+      }
+    }
+    if (save && file_o && !(iter%save)) img.save(file_o,iter);
+    if (disp) disp.resize().display(img);
+  }
+
+  // Save result and exit.
+  if (file_o) img.save(file_o);
+  return 0;
+}
diff --git a/examples/pde_heatflow2d.cpp b/examples/pde_heatflow2d.cpp
new file mode 100644
index 0000000..f7c1267
--- /dev/null
+++ b/examples/pde_heatflow2d.cpp
@@ -0,0 +1,114 @@
+/*
+ #
+ #  File        : pde_heatflow2D.cpp
+ #                ( C++ source file )
+ #
+ #  Description : A simple Heat flow on 2D images.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+// Include library header file
+#include "CImg.h"
+#ifndef cimg_imagepath
+#define cimg_imagepath "img/"
+#endif
+#undef min
+#undef max
+
+// Make a simpler namespace alias if one wants to avoid 'using namespace cimg_library'
+namespace cil = cimg_library;
+
+// Main procedure
+//----------------
+int main(int argc,char **argv) {
+
+  // Read command line arguments, and init images and displays
+  //-----------------------------------------------------------
+  cimg_usage("Perform a simple Heat Flow on 2D images");
+  cil::CImg<> img(cimg_option("-i",cimg_imagepath "milla.bmp","Input image")), veloc(img);
+  const double dt = cimg_option("-dt",3.0,"Adapting time step");
+  img.
+    noise(cimg_option("-ng",0.0,"Add gaussian noise"),0).
+    noise(cimg_option("-nu",0.0,"Add uniform noise"),1).
+    noise(cimg_option("-ns",0.0,"Add Salt&Pepper noise"),2);
+  cil::CImgDisplay profile(400,300,"Intensity Profile",0,false,true), disp(img,"Heat flow 2D",0,false,true);
+  disp.move((cil::CImgDisplay::screen_width() - disp.width() - profile.width())/2,
+            (cil::CImgDisplay::screen_height() - disp.height())/2);
+
+  profile.move(disp.window_x() + 8 + disp.window_width(), disp.window_y());
+  const float white[] = { 255,255,255 };
+  bool run_PDE = true;
+
+  // Begin PDE iteration loop
+  //-------------------------
+  for (int iter = 0; !disp.is_closed() && !profile.is_closed() &&
+         !disp.is_keyQ() && !disp.is_keyESC() && !profile.is_keyQ() && !profile.is_keyESC();) {
+
+    // Compute one iteration of PDE explicit scheme
+    if (run_PDE) {
+      CImg_3x3(I,float);
+      cimg_forC(img,k) cimg_for3x3(img,x,y,0,k,I,float) veloc(x,y,k) = Inc + Ipc + Icn + Icp - 4*Icc;
+      float m, M = veloc.max_min(m);
+      const double xdt = dt/(M - m);
+      img += veloc*xdt;
+      cil::CImg<>(img).draw_text(2,2,"iter = %d",white,0,1,13,iter).display(disp.wait(25));
+    }
+
+    // Plot (R,G,B) intensity profiles and display it
+    if (disp.mouse_x()>=0) {
+      const int
+        mx = disp.mouse_x(), my = disp.mouse_y(),
+        mnx = mx*profile.width()/disp.width();
+      const unsigned char red[] = { 255,0,0 }, green[] = { 0,255,0 }, blue[] = { 0,0,255 }, white[] = { 255,255,255 };
+      cil::CImg<unsigned char>(profile.width(),profile.height(),1,3,0).
+        draw_graph(img.get_shared_row(my,0,0),red,1,1,0,255,0).
+        draw_graph(img.get_shared_row(my,0,1),green,1,1,0,255,0).
+        draw_graph(img.get_shared_row(my,0,2),blue,1,1,0,255,0).
+        draw_line(mnx,0,mnx,profile.height() - 1,white,0.5f,cil::cimg::rol(0xFF00FF00,iter%32)).
+        draw_text(2,2,"(x,y)=(%d,%d)",white,0,1,13,mx,my).
+        display(profile);
+    }
+
+    // Mouse button stops/starts PDE evolution.
+    if (disp.button() || profile.button()) { disp.set_button(); profile.set_button(); run_PDE = !run_PDE; }
+    profile.resize();
+    disp.resize(disp);
+    if (run_PDE) ++iter;
+  }
+
+  return 0;
+}
diff --git a/examples/plotter1d.cpp b/examples/plotter1d.cpp
new file mode 100644
index 0000000..cfcd92f
--- /dev/null
+++ b/examples/plotter1d.cpp
@@ -0,0 +1,73 @@
+/*
+ #
+ #  File        : plotter1d.cpp
+ #                ( C++ source file )
+ #
+ #  Description : A simple math formula plotter.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+// Include CImg library file and use its main namespace
+#include "CImg.h"
+using namespace cimg_library;
+
+// Main procedure
+//----------------
+int main(int argc,char **argv) {
+
+  // Read command line argument.
+  cimg_usage("Simple plotter of mathematical formulas");
+  const char *const formula = cimg_option("-f","sin(x/8) % cos(2*x)","Formula to plot");
+  const float x0 = cimg_option("-x0",-5.0f,"Minimal X-value");
+  const float x1 = cimg_option("-x1",5.0f,"Maximal X-value");
+  const int resolution = cimg_option("-r",1024,"Plot resolution");
+  const unsigned int nresolution = resolution>1?resolution:1024;
+  const unsigned int plot_type = cimg_option("-p",1,"Plot type");
+  const unsigned int vertex_type = cimg_option("-v",1,"Vertex type");
+
+  // Create plot data.
+  CImg<double> values(4,nresolution,1,1,0);
+  const unsigned int r = nresolution - 1;
+  cimg_forY(values,X) values(0,X) = x0 + X*(x1 - x0)/r;
+  cimg::eval(formula,values).move_to(values);
+
+  // Display interactive plot window.
+  values.display_graph(formula,plot_type,vertex_type,"X-axis",x0,x1,"Y-axis");
+
+  // Quit.
+  return 0;
+}
diff --git a/examples/radon_transform2d.cpp b/examples/radon_transform2d.cpp
new file mode 100644
index 0000000..9e3ce6c
--- /dev/null
+++ b/examples/radon_transform2d.cpp
@@ -0,0 +1,379 @@
+/*
+ #
+ #  File        : radon_transform2d.cpp
+ #                ( C++ source file )
+ #
+ #  Description : An implementation of the Radon Transform.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David G. Starkweather
+ #                ( starkdg at sourceforge.net - starkweatherd at cox.net )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#include "CImg.h"
+using namespace cimg_library;
+#ifndef cimg_imagepath
+#define cimg_imagepath "img/"
+#endif
+
+#define ROUNDING_FACTOR(x) (((x) >= 0) ? 0.5 : -0.5)
+
+CImg<double> GaussianKernel(double rho);
+CImg<float> ApplyGaussian(CImg<unsigned char> im,double rho);
+CImg<unsigned char> RGBtoGrayScale(CImg<unsigned char> &im);
+int GetAngle(int dy,int dx);
+CImg<unsigned char> CannyEdges(CImg<float> im, double T1, double T2,bool doHysteresis);
+CImg<> RadonTransform(CImg<unsigned char> im,int N);
+
+// Main procedure
+//----------------
+int main(int argc,char **argv) {
+  cimg_usage("Illustration of the Radon Transform");
+
+  const char *file = cimg_option("-f",cimg_imagepath "parrot.ppm","path and file name");
+  const double sigma = cimg_option("-r",1.0,"blur coefficient for gaussian low pass filter (lpf)"),
+    thresh1 = cimg_option("-t1",0.50,"lower threshold for canny edge detector"),
+    thresh2 = cimg_option("-t2",1.25,"upper threshold for canny edge detector");;
+  const int N = cimg_option("-n",64,"number of angles to consider in the Radon transform - should be a power of 2");
+
+  //color to draw lines
+  const unsigned char green[] = {0,255,0};
+  CImg<unsigned char> src(file);
+
+  int rhomax = (int)std::sqrt((double)(src.width()*src.width() + src.height()*src.height()))/2;
+
+  if (cimg::dialog(cimg::basename(argv[0]),
+                   "Instructions:\n"
+                   "Click on space bar or Enter key to display Radon transform of given image\n"
+                   "Click on anywhere in the transform window to display a \n"
+                   "corresponding green line in the original image\n",
+                   "Start", "Quit",0,0,0,0,
+                   src.get_resize(100,100,1,3),true)) std::exit(0);
+
+  //retrieve a grayscale from the image
+  CImg<unsigned char> grayScaleIm;
+  if ((src.spectrum() == 3) && (src.width() > 0) && (src.height() > 0) && (src.depth() == 1))
+    grayScaleIm = (CImg<unsigned char>)src.get_norm(0).quantize(255,false);
+  else if ((src.spectrum() == 1)&&(src.width() > 0) && (src.height() > 0) && (src.depth() == 1))
+    grayScaleIm = src;
+  else { // image in wrong format
+    if (cimg::dialog(cimg::basename("wrong file format"),
+                     "Incorrect file format\n","OK",0,0,0,0,0,
+                     src.get_resize(100,100,1,3),true)) std::exit(0);
+  }
+
+  //blur the image with a Gaussian lpf to remove spurious edges (e.g. noise)
+  CImg<float> blurredIm = ApplyGaussian(grayScaleIm,sigma);
+
+  //use canny edge detection algorithm to get edge map of the image
+  //- the threshold values are used to perform hysteresis in the edge detection process
+  CImg<unsigned char> cannyEdgeMap = CannyEdges(blurredIm,thresh1,thresh2,false);
+  CImg<unsigned char> radonImage = *(new CImg<unsigned char>(500,400,1,1,0));
+
+  //display the two windows
+  CImgDisplay dispImage(src,"original image");
+  dispImage.move(CImgDisplay::screen_width()/8,CImgDisplay::screen_height()/8);
+  CImgDisplay dispRadon(radonImage,"Radon Transform");
+  dispRadon.move(CImgDisplay::screen_width()/4,CImgDisplay::screen_height()/4);
+  CImgDisplay dispCanny(cannyEdgeMap,"canny edges");
+  //start main display loop
+  while (!dispImage.is_closed() && !dispRadon.is_closed() &&
+         !dispImage.is_keyQ() && !dispRadon.is_keyQ() &&
+         !dispImage.is_keyESC() && !dispRadon.is_keyESC()) {
+
+    CImgDisplay::wait(dispImage,dispRadon);
+
+    if (dispImage.is_keySPACE() || dispRadon.is_keySPACE()) {
+      radonImage = (CImg<unsigned char>)RadonTransform(cannyEdgeMap,N).quantize(255,false).resize(500,400);
+      radonImage.display(dispRadon);
+    }
+
+    //when clicking on dispRadon window, draw line in original image window
+    if (dispRadon.button())
+      {
+        const double rho = dispRadon.mouse_y()*rhomax/dispRadon.height(),
+          theta = (dispRadon.mouse_x()*N/dispRadon.width())*2*cimg::PI/N,
+          x = src.width()/2 + rho*std::cos(theta),
+          y = src.height()/2 + rho*std::sin(theta);
+        const int x0 = (int)(x + 1000*std::cos(theta + cimg::PI/2)),
+          y0 = (int)(y + 1000*std::sin(theta + cimg::PI/2)),
+          x1 = (int)(x - 1000*std::cos(theta + cimg::PI/2)),
+          y1 = (int)(y - 1000*std::sin(theta + cimg::PI/2));
+        src.draw_line(x0,y0,x1,y1,green,1.0f,0xF0F0F0F0).display(dispImage);
+      }
+  }
+  return 0;
+}
+/**
+ * PURPOSE: create a 5x5 gaussian kernel matrix
+ * PARAM rho - gaussiam equation parameter (default = 1.0)
+ * RETURN CImg<double> the gaussian kernel
+ **/
+
+CImg<double> GaussianKernel(double sigma = 1.0)
+{
+  CImg<double> resultIm(5,5,1,1,0);
+  int midX = 3, midY = 3;
+  cimg_forXY(resultIm,X,Y) {
+    resultIm(X,Y) = std::ceil(256.0*(std::exp(-(midX*midX + midY*midY)/(2*sigma*sigma)))/(2*cimg::PI*sigma*sigma));
+  }
+  return resultIm;
+}
+/*
+ * PURPOSE: convolve a given image with the gaussian kernel
+ * PARAM CImg<unsigned char> im - image to be convolved upon
+ * PARAM double sigma - gaussian equation parameter
+ * RETURN CImg<float> image resulting from the convolution
+ * */
+CImg<float> ApplyGaussian(CImg<unsigned char> im,double sigma)
+{
+  CImg<float> smoothIm(im.width(),im.height(),1,1,0);
+
+  //make gaussian kernel
+  CImg<float> gk = GaussianKernel(sigma);
+  //apply gaussian
+
+  CImg_5x5(I,int);
+  cimg_for5x5(im,X,Y,0,0,I,int) {
+    float sum = 0;
+    sum += gk(0,0)*Ibb + gk(0,1)*Ibp + gk(0,2)*Ibc + gk(0,3)*Ibn + gk(0,4)*Iba;
+    sum += gk(1,0)*Ipb + gk(1,1)*Ipp + gk(1,2)*Ipc + gk(1,3)*Ipn + gk(1,4)*Ipa;
+    sum += gk(2,0)*Icb + gk(2,1)*Icp + gk(2,2)*Icc + gk(2,3)*Icn + gk(2,4)*Ica;
+    sum += gk(3,0)*Inb + gk(3,1)*Inp + gk(3,2)*Inc + gk(3,3)*Inn + gk(3,4)*Ina;
+    sum += gk(4,0)*Iab + gk(4,1)*Iap + gk(4,2)*Iac + gk(4,3)*Ian + gk(4,4)*Iaa;
+    smoothIm(X,Y) = sum/256;
+  }
+  return smoothIm;
+}
+/**
+ * PURPOSE: convert a given rgb image to a MxNX1 single vector grayscale image
+ * PARAM: CImg<unsigned char> im - rgb image to convert
+ * RETURN: CImg<unsigned char> grayscale image with MxNx1x1 dimensions
+ **/
+
+CImg<unsigned char> RGBtoGrayScale(CImg<unsigned char> &im)
+{
+  CImg<unsigned char> grayImage(im.width(),im.height(),im.depth(),1,0);
+  if (im.spectrum() == 3) {
+    cimg_forXYZ(im,X,Y,Z) {
+      grayImage(X,Y,Z,0) = (unsigned char)(0.299*im(X,Y,Z,0) + 0.587*im(X,Y,Z,1) + 0.114*im(X,Y,Z,2));
+    }
+  }
+  grayImage.quantize(255,false);
+  return grayImage;
+}
+/**
+ * PURPOSE: aux. function used by CannyEdges to quantize an angle theta given by gradients, dx and dy
+ *  into 0 - 7
+ * PARAM: dx,dy - gradient magnitudes
+ * RETURN int value between 0 and 7
+ **/
+int GetAngle(int dy,int dx)
+{
+  double angle = cimg::abs(std::atan2((double)dy,(double)dx));
+  if ((angle >= -cimg::PI/8)&&(angle <= cimg::PI/8))//-pi/8 to pi/8 => 0
+    return 0;
+  else if ((angle >= cimg::PI/8)&&(angle <= 3*cimg::PI/8))//pi/8 to 3pi/8 => pi/4
+    return 1;
+  else if ((angle > 3*cimg::PI/8)&&(angle <= 5*cimg::PI/8))//3pi/8 to 5pi/8 => pi/2
+    return 2;
+  else if ((angle > 5*cimg::PI/8)&&(angle <= 7*cimg::PI/8))//5pi/8 to 7pi/8 => 3pi/4
+    return 3;
+  else if (((angle > 7*cimg::PI/8) && (angle <= cimg::PI)) ||
+           ((angle <= -7*cimg::PI/8)&&(angle >= -cimg::PI))) //-7pi/8 to -pi OR 7pi/8 to pi => pi
+    return 4;
+  else return 0;
+}
+/**
+ * PURPOSE: create an edge map of the given image with hysteresis using thresholds T1 and T2
+ * PARAMS: CImg<float> im the image to perform edge detection on
+ * 		   T1 lower threshold
+ *         T2 upper threshold
+ * RETURN CImg<unsigned char> edge map
+ **/
+CImg<unsigned char> CannyEdges(CImg<float> im, double T1, double T2, bool doHysteresis=false)
+{
+  CImg<unsigned char> edges(im);
+  CImg<float> secDerivs(im);
+  secDerivs.fill(0);
+  edges.fill(0);
+  CImgList<float> gradients = im.get_gradient("xy",1);
+  int image_width = im.width();
+  int image_height = im.height();
+
+  cimg_forXY(im,X,Y) {
+    double Gr = std::sqrt(std::pow((double)gradients[0](X,Y),2.0) + std::pow((double)gradients[1](X,Y),2.0));
+    double theta = GetAngle(Y,X);
+    //if Gradient magnitude is positive and X,Y within the image
+    //take the 2nd deriv in the appropriate direction
+    if ((Gr > 0)&&(X < image_width - 2)&&(Y < image_height - 2)) {
+      if (theta == 0)
+        secDerivs(X,Y) = im(X + 2,Y) - 2*im(X + 1,Y) + im(X,Y);
+      else if (theta == 1)
+        secDerivs(X,Y) = im(X + 2,Y + 2) - 2*im(X + 1,Y + 1) + im(X,Y);
+      else if (theta == 2)
+        secDerivs(X,Y) = im(X,Y + 2) - 2*im(X,Y + 1) + im(X,Y);
+      else if (theta == 3)
+        secDerivs(X,Y) = im(X + 2,Y + 2) - 2*im(X + 1,Y + 1) + im(X,Y);
+      else if (theta == 4)
+        secDerivs(X,Y) = im(X + 2,Y) - 2*im(X + 1,Y) + im(X,Y);
+    }
+  }
+  //for each 2nd deriv that crosses a zero point and magnitude passes the upper threshold.
+  //Perform hysteresis in the direction of the gradient, rechecking the gradient
+  //angle for each pixel that meets the threshold requirement.  Stop checking when
+  //the lower threshold is not reached.
+  CImg_5x5(I,float);
+  cimg_for5x5(secDerivs,X,Y,0,0,I,float) {
+    if (   (Ipp*Ibb < 0) ||
+           (Ipc*Ibc < 0)||
+           (Icp*Icb < 0)   ) {
+      double Gr = std::sqrt(std::pow((double)gradients[0](X,Y),2.0) + std::pow((double)gradients[1](X,Y),2.0));
+      int dir = GetAngle(Y,X);
+      int Xt = X, Yt = Y, delta_x = 0, delta_y=0;
+      double GRt = Gr;
+      if (Gr >= T2)
+        edges(X,Y) = 255;
+      //work along the gradient in one direction
+      if (doHysteresis) {
+        while ((Xt > 0) && (Xt < image_width - 1) && (Yt > 0) && (Yt < image_height - 1)) {
+          switch (dir){
+          case 0 : delta_x=0;delta_y=1;break;
+          case 1 : delta_x=1;delta_y=1;break;
+          case 2 : delta_x=1;delta_y=0;break;
+          case 3 : delta_x=1;delta_y=-1;break;
+          case 4 : delta_x=0;delta_y=1;break;
+          }
+          Xt += delta_x;
+          Yt += delta_y;
+          GRt = std::sqrt(std::pow((double)gradients[0](Xt,Yt),2.0) + std::pow((double)gradients[1](Xt,Yt),2.0));
+          dir = GetAngle(Yt,Xt);
+          if (GRt >= T1)
+            edges(Xt,Yt) = 255;
+        }
+        //work along gradient in other direction
+        Xt = X; Yt = Y;
+        while ((Xt > 0) && (Xt < image_width - 1) && (Yt > 0) && (Yt < image_height - 1)) {
+          switch (dir){
+          case 0 : delta_x=0;delta_y=1;break;
+          case 1 : delta_x=1;delta_y=1;break;
+          case 2 : delta_x=1;delta_y=0;break;
+          case 3 : delta_x=1;delta_y=-1;break;
+          case 4 : delta_x=0;delta_y=1;break;
+          }
+          Xt -= delta_x;
+          Yt -= delta_y;
+          GRt = std::sqrt(std::pow((double)gradients[0](Xt,Yt),2.0) + std::pow((double)gradients[1](Xt,Yt),2.0));
+          dir = GetAngle(Yt,Xt);
+          if (GRt >= T1)
+            edges(Xt,Yt) = 255;
+        }
+      }
+    }
+  }
+  return edges;
+}
+/**
+ * PURPOSE: perform radon transform of given image
+ * PARAM: CImg<unsigned char> im - image to detect lines
+ * 		  int N - number of angles to consider (should be a power of 2)
+ *                (the values of N will be spread over 0 to 2PI)
+ * RETURN CImg<unsigned char> - transform of given image of size, N x D
+ *                              D = rhomax = sqrt(dimx*dimx + dimy*dimy)/2
+ **/
+CImg<> RadonTransform(CImg<unsigned char> im,int N) {
+  int image_width = im.width();
+  int image_height = im.height();
+
+  //calc offsets to center the image
+  float xofftemp = image_width/2.0f - 1;
+  float yofftemp = image_height/2.0f - 1;
+  int xoffset = (int)std::floor(xofftemp + ROUNDING_FACTOR(xofftemp));
+  int yoffset = (int)std::floor(yofftemp + ROUNDING_FACTOR(yofftemp));
+  float dtemp = (float)std::sqrt((double)(xoffset*xoffset + yoffset*yoffset));
+  int D = (int)std::floor(dtemp + ROUNDING_FACTOR(dtemp));
+
+  CImg<> imRadon(N,D,1,1,0);
+
+  //for each angle k to consider
+  for (int k= 0 ; k < N; k++) {
+    //only consider from PI/8 to 3PI/8 and 5PI/8 to 7PI/8
+    //to avoid computational complexity of a steep angle
+    if (k == 0){k = N/8;continue;}
+    else if (k == (3*N/8 + 1)){	k = 5*N/8;continue;}
+    else if (k == 7*N/8 + 1){k = N;	continue;}
+
+    //for each rho length, determine linear equation and sum the line
+    //sum is to sum the values along the line at angle k2pi/N
+    //sum2 is to sum the values along the line at angle k2pi/N + N/4
+    //The sum2 is performed merely by swapping the x,y axis as if the image were rotated 90 degrees.
+    for (int d=0; d < D; d++) {
+      double theta = 2*k*cimg::PI/N;//calculate actual theta
+      double alpha = std::tan(theta + cimg::PI/2);//calculate the slope
+      double beta_temp = -alpha*d*std::cos(theta) + d*std::sin(theta);//y-axis intercept for the line
+      int beta = (int)std::floor(beta_temp + ROUNDING_FACTOR(beta_temp));
+      //for each value of m along x-axis, calculate y
+      //if the x,y location is within the boundary for the respective image orientations, add to the sum
+      unsigned int sum1 = 0,
+        sum2 = 0;
+      int M = (image_width >= image_height) ? image_width : image_height;
+      for (int m=0;m < M; m++) {
+        //interpolate in-between values using nearest-neighbor approximation
+        //using m,n as x,y indices into image
+        double n_temp = alpha*(m - xoffset) + beta;
+        int n = (int)std::floor(n_temp + ROUNDING_FACTOR(n_temp));
+        if ((m < image_width) && (n + yoffset >= 0) && (n + yoffset < image_height))
+          {
+            sum1 += im(m, n + yoffset);
+          }
+        n_temp = alpha*(m - yoffset) + beta;
+        n = (int)std::floor(n_temp + ROUNDING_FACTOR(n_temp));
+        if ((m < image_height)&&(n + xoffset >= 0)&&(n + xoffset < image_width))
+          {
+            sum2 += im(-(n + xoffset) + image_width - 1, m);
+          }
+      }
+      //assign the sums into the result matrix
+      imRadon(k,d) = (float)sum1;
+      //assign sum2 to angle position for theta + PI/4
+      imRadon(((k + N/4)%N),d) = (float)sum2;
+    }
+  }
+  return imRadon;
+}
+/* references:
+ * 1. See Peter Toft's thesis on the Radon transform: http://petertoft.dk/PhD/index.html
+ * While I changed his basic algorithm, the main idea is still the same and provides an excellent explanation.
+ *
+ * */
diff --git a/examples/scene3d.cpp b/examples/scene3d.cpp
new file mode 100644
index 0000000..ba05293
--- /dev/null
+++ b/examples/scene3d.cpp
@@ -0,0 +1,142 @@
+/*
+ #
+ #  File        : scene3d.cpp
+ #                ( C++ source file )
+ #
+ #  Description : A simple program that demonstrates the use of the
+ #                3D functions of CImg, in conjonction with the Board library.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+// Uncomment the line below to use the Board library.
+// ( You will need to link your code with the board library object ).
+// ( Get the Board Library at : http://libboard.sourceforge.net/ )
+//#define cimg_use_board
+
+#include "CImg.h"
+using namespace cimg_library;
+#ifndef cimg_imagepath
+#define cimg_imagepath "img/"
+#endif
+
+// Main procedure
+//----------------
+int main() {
+
+  // Define a simple 3D scene, composed of various basic objects (torus, cone, cube, ...)
+  //-------------------------------------------------------------------------------------
+  std::fprintf(stderr," - Create 3D Scene.\n");
+
+  // Define objects vertices and primitives.
+  CImgList<unsigned int> cube_prims, cone_prims, torus_prims, sphere_prims, plane_prims, scene_prims;
+  const CImg<float>
+    cube_pts = CImg<>::box3d(cube_prims,60,60,60).shift_object3d().shift_object3d(-50,50,0),
+    cone_pts = CImg<>::cone3d(cone_prims,30,40).shift_object3d().shift_object3d(50,50,0),
+    torus_pts = CImg<>::torus3d(torus_prims,30,10).shift_object3d().shift_object3d(-50,-50,0),
+    sphere_pts = CImg<>::sphere3d(sphere_prims,30).shift_object3d().shift_object3d(50,-50,0),
+    plane_pts = CImg<>::plane3d(plane_prims,200,200,20,20).shift_object3d().shift_object3d(0,0,40);
+  plane_prims.insert(plane_prims.get_reverse_object3d());
+
+  // Define objects colors and textures.
+  const CImgList<unsigned char>
+    cone_cols = CImgList<unsigned char>(cone_prims.size(),CImg<unsigned char>::vector(128,63,255)),
+    torus_cols = CImgList<unsigned char>(torus_prims.size(),CImg<unsigned char>::vector(255,55,163)),
+    sphere_cols = CImgList<unsigned char>(sphere_prims.size(),CImg<unsigned char>::vector(115,115,63)),
+    plane_cols = CImgList<unsigned char>(plane_prims.size(),CImg<unsigned char>::vector(60,120,180));
+  const CImg<unsigned char> texture = CImg<unsigned char>(cimg_imagepath "milla.bmp").resize(128,128);
+  CImgList<unsigned char> cube_cols;
+  cimglist_for(cube_prims,p) {
+    cube_cols.insert(texture,~0U,true);
+    cube_prims[p].append(CImg<unsigned int>::vector(0,0,127,0,127,127,0,127),'y');
+  }
+
+  // Define objects opacities.
+  const CImg<float>
+    cube_opacs(cube_prims.size(),1,1,1,1.0f),
+    cone_opacs(cone_prims.size(),1,1,1,0.8f),
+    torus_opacs(torus_prims.size(),1,1,1,0.6f),
+    sphere_opacs(sphere_prims.size(),1,1,1,0.4f),
+    plane_opacs(plane_prims.size(),1,1,1,0.4f);
+
+  // Append all object in a single 3D scene.
+  const CImg<float> scene_pts = CImg<float>().
+    append_object3d(scene_prims,cube_pts,cube_prims).
+    append_object3d(scene_prims,cone_pts,cone_prims).
+    append_object3d(scene_prims,torus_pts,torus_prims).
+    append_object3d(scene_prims,sphere_pts,sphere_prims).
+    append_object3d(scene_prims,plane_pts,plane_prims);
+  const CImgList<unsigned char> scene_cols = (+cube_cols,cone_cols,torus_cols,sphere_cols,plane_cols);
+  const CImg<float> scene_opacs = (cube_opacs,cone_opacs,torus_opacs,sphere_opacs,plane_opacs)>'x';
+
+  // Display object3D in a user-interacted window and get final position matrix.
+  std::fprintf(stderr," - Display 3D Scene.\n");
+  const CImg<unsigned char> visu = CImg<unsigned char>(3,512,512,1).fill(230,230,255).permute_axes("yzcx");
+  CImg<float> view_matrix = CImg<>::identity_matrix(4);
+  visu.display_object3d("3D Scene",scene_pts,scene_prims,scene_cols,scene_opacs,true,4,4,false,
+                        500.0f,0,0,-5000,0.5f,0.1f,true,view_matrix.data());
+
+  // Save object 3D as OFF file.
+  std::fprintf(stderr," - Save .OFF 3D object file.\n");
+  scene_pts.save_off(scene_prims,scene_cols,"output.off");
+
+  // Save 3D view in SVG, EPS and FIG files.
+  // (using the Board library : http://libboard.sourceforge.net/ ).
+#ifdef cimg_use_board
+
+  // Define a Board instance
+  LibBoard::Board B;
+
+  // Set Background color of the board.
+  B.clear(230,230,255);
+
+  // Draw object both in 'visu' and in the board.
+  (view_matrix.crop(0,0,2,2))*=2;
+  (+visu).draw_object3d(B,visu.width()/2,visu.height()/2,visu.depth()/2,
+                        view_matrix*scene_pts,scene_prims,scene_cols,scene_opacs,3).
+  display("Snapshot for Board");
+
+  // Save board into a vector graphics file format.
+  std::fprintf(stderr," - Save .SVG, .EPS and .FIG snapshots\n");
+  B.save("output.svg");
+  B.save("output.eps");
+  B.save("output.fig");
+#endif
+
+  // Exit.
+  std::fprintf(stderr," - Exit.\n");
+  return 0;
+}
diff --git a/examples/spherical_function3d.cpp b/examples/spherical_function3d.cpp
new file mode 100644
index 0000000..117ee4e
--- /dev/null
+++ b/examples/spherical_function3d.cpp
@@ -0,0 +1,113 @@
+/*
+ #
+ #  File        : spherical_function3d.cpp
+ #                ( C++ source file )
+ #
+ #  Description : An example that shows how to build custom 3D objects in CImg.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#include "CImg.h"
+using namespace cimg_library;
+
+/*---------------------------
+
+   Main procedure
+
+  --------------------------*/
+int main() {
+
+  CImgList<unsigned char> object_colors;
+  CImgList<float> object_opacities;
+
+  // Define a 3D centered box.
+  CImg<float> object_vertices = CImg<float>(3,8,1,1,  // Define the 8 vertices of the cube.
+                                            -1,-1,-1, // (x0,y0,z0)
+                                            1,-1,-1,  // (x1,y1,z1)
+                                            1,1,-1,   // ...
+                                            -1,1,-1,
+                                            -1,-1,1,
+                                            1,-1,1,
+                                            1,1,1,     // (x6,y6,z6)
+                                            -1,1,1).transpose(); // (x7,y7,z7)
+  CImgList<unsigned int> object_primitives(12,1,2,1,1, // Define the 12 segments of the cube.
+                                           0,1, 1,2, 2,3, 3,0,
+                                           4,5, 5,6, 6,7, 7,4,
+                                           0,4, 1,5, 2,6, 3,7);
+  object_colors.insert(object_primitives.size(),CImg<unsigned char>::vector(32,64,255));
+  object_opacities.insert(object_primitives.size(),CImg<float>::vector(0.3f));
+
+  // Define the spherical function's vertices.
+  CImgList<float> spherical_vertices;
+  const float a = 1;
+  const unsigned int na = 132, nb = 132;
+  for (unsigned int v = 0; v<na; ++v)
+    for (unsigned int u = 0; u<nb; ++u) {
+      const float
+	alpha = (float)(u*2*cimg::PI/nb),
+	beta = (float)(-cimg::PI/2 + v*cimg::PI/na),
+	x = (float)((a*std::cos(beta))*std::cos(alpha)),
+	y = (float)((a*std::cos(beta))*std::sin(alpha)),
+	z = (float)(a*std::sin(beta)),
+	altitude = cimg::abs(1 + 0.8f*std::cos(3*alpha)*std::sin(4*beta));
+      spherical_vertices.insert(CImg<float>::vector(altitude*x,altitude*y,altitude*z));
+    }
+
+  // Define the spherical function's mesh.
+  CImgList<unsigned int> spherical_primitives;
+  for (unsigned int vv = 0; vv<na - 1; ++vv)
+    for (unsigned int uu = 0; uu<nb; ++uu) {
+      const int nv = (vv + 1)%na, nu = (uu + 1)%nb;
+      spherical_primitives.insert(CImg<unsigned int>::vector(nb*vv + nu,nb*nv + uu,nb*vv + uu));
+      spherical_primitives.insert(CImg<unsigned int>::vector(nb*vv + nu,nb*nv + nu,nb*nv + uu));
+      object_colors.insert(CImg<>::vector(0,255,255));
+      object_colors.insert(CImg<>::vector(100,200,255));
+      object_opacities.insert(2,CImg<>::vector(1));
+    }
+
+  // Merge 3D objects together.
+  object_vertices.append_object3d(object_primitives,spherical_vertices>'x',spherical_primitives);
+  char title[4096] = { 0 };
+  std::sprintf(title,"3D Spherical Function (%u vertices, %u primitives)",
+               object_vertices.width(),object_primitives.size());
+  CImgDisplay disp(640,480,title,0);
+  CImg<unsigned char>(disp.width(),disp.height(),1,3,220).
+    display_object3d(disp,object_vertices,object_primitives,object_colors,object_opacities,true,4,3,false,
+                     500,0,0,-5000,0.1f,1.5f);
+
+  return 0;
+}
diff --git a/examples/tetris.cpp b/examples/tetris.cpp
new file mode 100644
index 0000000..3d39089
--- /dev/null
+++ b/examples/tetris.cpp
@@ -0,0 +1,208 @@
+/*
+ #
+ #  File        : tetris.cpp
+ #                ( C++ source file )
+ #
+ #  Description : A CImg version of the famous Tetris game.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#include "img/tetris.h"
+#include "CImg.h"
+using namespace cimg_library;
+
+// Main procedure
+//----------------
+int main(int argc,char **argv) {
+
+  // Read command line argument (if any)
+  cimg_usage("An implementation of the well known 'Tetris' game with CImg.");
+  unsigned int
+    blocdim = cimg_option("-blocdim",18,"Sprite bloc size"),
+    speed   = cimg_option("-speed",20,"Initial speed"),
+    level   = cimg_option("-level",0,"Level");
+  const char *geometry = cimg_option("-g","12x20","Size of the board");
+  unsigned int bwidth = 12,bheight = 20;
+  std::sscanf(geometry,"%u%*c%u",&bwidth,&bheight);
+
+  const CImg<unsigned char> dlogo = CImg<unsigned char>(data_logo,128,96,1,3,true);
+  if (cimg::dialog("CImg Tetris",
+                   "Welcome to the CImg version of Tetris.\n"
+                   "( by David Tschumperle )\n\n"
+                   "Press 'Start' when you are ready to play !","Start","Quit",0,0,0,0,dlogo,true)) std::exit(0);
+
+  // Create sprite, background graphics and initial board data
+  const CImgList<unsigned char> pieces = CImgList<unsigned char>().
+    insert(CImg<unsigned char>(3,2).fill(1,1,1,0,0,1)).
+    insert(CImg<unsigned char>(3,2).fill(2,2,2,2,0,0)).
+    insert(CImg<unsigned char>(2,2).fill(3,3,3,3)).
+    insert(CImg<unsigned char>(4,1).fill(4,4,4,4)).
+    insert(CImg<unsigned char>(3,2).fill(5,5,0,0,5,5)).
+    insert(CImg<unsigned char>(3,2).fill(0,6,6,6,6,0)).
+    insert(CImg<unsigned char>(3,3).fill(0,7,0,7,7,7,0,7,0)).
+    insert(CImg<unsigned char>(2,1).fill(8,8)).
+    insert(CImg<unsigned char>(3,2).fill(9,9,9,0,9,0)).
+    insert(CImg<unsigned char>(2,2).fill(10,10,0,10)).
+    insert(CImg<unsigned char>(3,1).fill(11,11,11));
+
+  CImg<unsigned char> board(bwidth,bheight,1,1,0), background(board.width()*blocdim,board.height()*blocdim,1,3,0);
+  (background.noise(30).draw_plasma().noise(30).deriche(5,0,'y').shift(0,-background.height()/2,0,0,2).
+   deriche(5,0,'y'))/=1.5f;
+  if (level) (board.get_shared_rows(board.height() - level,board.height() - 1,0,0).noise(100))%=pieces.size() + 1;
+
+  // Create a set of small gradient-colored blocs used to draw the pieces.
+  CImgList<unsigned char> blocs(pieces.size(),blocdim,blocdim,1,3);
+  cimglist_for(blocs,l) {
+    CImg<unsigned char> color = CImg<unsigned char>(3,1,1,1,128).noise(127,1).cut(120,255);
+    float val;
+    cimg_forXYC(blocs[l],x,y,k)
+      blocs[l](x,y,k) = (unsigned char)((val=(color[k]*0.7f*(x + y + 5)/blocdim))>255?255:val);
+    blocs[l].draw_line(0,0,0,blocdim - 1,(color>>1).data()).
+      draw_line(0,blocdim - 1,blocdim - 1,blocdim - 1,(color>>1).data());
+    color = (CImg<unsigned int>(color)*=2).cut(0,255);
+    blocs[l].draw_line(0,0,(int)blocdim - 1,0,color.data()).
+      draw_line(blocdim - 1,0,blocdim - 1,blocdim - 1,color.data());
+  }
+
+  // Initialize window display and enter the main event loop
+  CImgDisplay disp(background,"CImg Tetris",0,false,true);
+  disp.move((CImgDisplay::screen_width() - disp.width())/2,
+            (CImgDisplay::screen_height() - disp.height())/2).hide_mouse();
+  const unsigned char white[3]={ 255, 255, 255 };
+  CImg<unsigned char> visu, nboard, piece, next, next_mask;
+  int cx = -1, cy = -1, cn = -1, nn = rand()%pieces.size(), time = 0, score = 0;
+  bool gameover = false, pause = false;
+
+  while (!gameover && !disp.is_closed() && !disp.is_keyESC() && !disp.is_keyQ()) {
+
+    if (!pause) {
+
+      // Draw the board on the display window.
+      nboard = board; visu = background;
+      if (cx>=0 && cy>=0)
+        cimg_forXY(piece,x,y) if (piece(x,y)) nboard(cx - piece.width()/2 + x,cy - piece.height()/2 + y)=piece(x,y);
+      cimg_forXY(board,xx,yy) if (nboard(xx,yy)) visu.draw_image(xx*blocdim,yy*blocdim,blocs[nboard(xx,yy) - 1]);
+      visu.draw_text(5,5,"Lines : %d",white,0,1,13,score,nn).draw_text(visu.width() - 75,5,"Next :",white,0,1,13);
+      if (next) visu.draw_image(visu.width() - next.width() - 2,10 - next.height()/2,next,next_mask).
+                  display(disp.wait(20));
+
+      if (cn<0) {
+
+        // Introduce a new piece on the board (if necessary) and create representation of the next piece
+        board = nboard;
+        piece = pieces[cn=nn];
+        nn = rand()%pieces.size();
+        cx = board.width()/2;
+        cy = piece.height()/2;
+        next = CImg<unsigned char>(pieces[nn].width()*blocdim,pieces[nn].height()*blocdim,1,3,0);
+        cimg_forXY(pieces[nn],xi,yi)
+          if (pieces[nn](xi,yi)) next.draw_image(xi*blocdim,yi*blocdim,blocs[pieces[nn](xi,yi) - 1]);
+        next_mask = next.resize(-50,-50).get_norm().threshold(0);
+
+        // Detect tetris lines and do line removal animation if found.
+        cimg_forY(board,yyy) {
+          int Y = yyy*blocdim, line = 1;
+          cimg_forX(board,xxx) if (!board(xxx,yyy)) line=0;
+          if (line) {
+            board.draw_image(0,1,board.get_crop(0,0,board.width() - 1,yyy - 1));
+            if (!((++score)%1) && speed>1) --speed;
+            for (float alpha=0; alpha<=1; alpha+=0.07f)
+              CImg<unsigned char>(visu).draw_image(0,Y,background.get_crop(0,Y,visu.width() - 1,
+                                                                           Y + blocdim - 1),alpha).
+                display(disp.wait(20));
+            visu.draw_image(0,Y,background.get_crop(0,Y,visu.width() - 1,Y + blocdim - 1));
+          }
+        }
+      }
+
+      // Handle motion & collisions
+      const int ox = cx, oy = cy;
+      bool rotated = false, collision;
+      switch (disp.key()) {
+      case cimg::keyP: pause = true; break;
+      case cimg::keyARROWUP: piece.rotate(90); rotated = true; disp.set_key(); break;
+      case cimg::keyARROWLEFT: --cx;  disp.set_key(); break;
+      case cimg::keyARROWRIGHT: ++cx;  disp.set_key(); break;
+      }
+      if (cx - piece.width()/2<0) cx = piece.width()/2;
+      if (cy - piece.height()/2<0) cy = piece.height()/2;
+      if (cx + (piece.width() - 1)/2>=board.width()) cx = board.width() - 1 - (piece.width() - 1)/2;
+
+      // Detect collision along the X axis
+      collision = false;
+      cimg_forXY(piece,i,j)
+        if (piece(i,j) && board(cx - piece.width()/2 + i,cy - piece.height()/2 + j)) collision = true;
+      if (collision) { cx=ox; if (rotated) piece.rotate(-90); }
+
+      if (disp.key()==cimg::keyARROWDOWN || !((++time)%speed)) { ++cy; disp.set_key(); }
+      // Detect collisiong along the Y axis
+      collision = false;
+      cimg_forXY(piece,ii,jj)
+        if (piece(ii,jj) && (cy - piece.height()/2 + jj>=board.height() ||
+                             board(cx - piece.width()/2 + ii,cy - piece.height()/2 + jj))) collision = true;
+      if (collision || cy + (piece.height() - 1)/2>=board.height()) { cy = oy; cn = -1; }
+      if (collision && cy==piece.height()/2) gameover = true;
+    } else {
+
+      // If game is paused (key 'P'), do a little text animation
+      float A = 0, B = 0;
+      CImg<float> pauselogo = CImg<unsigned char>().draw_text(0,0,"Game Paused\nPress a key",white);
+      disp.set_key(); while (!disp.is_closed() && !disp.key()) {
+        const CImg<float> pauserotated = pauselogo.get_rotate((float)(30*std::sin(A)),1,0).
+          resize((int)(-150 - 80*std::sin(B)),(int)(-150 - 80*std::sin(B)));
+        A+=0.08f; B+=0.043f;
+        CImg<unsigned char>(background).
+          draw_image((background.width() - pauserotated.width())/2,
+                     (background.height() - pauserotated.height())/2,
+                     pauserotated.get_resize(-100,-100,1,3,2),pauserotated,1,255).display(disp.wait(20));
+        if (disp.is_resized()) disp.resize();
+      }
+      disp.set_key();
+      pause = false;
+    }
+    background.shift(0,-20/(int)speed,0,0,2);
+    if (disp.is_resized()) disp.resize();
+  }
+
+  // End of game reached, display the score and do a 'game over' animation
+  cimg_forXYC(visu,x,y,k) if (x%2 || y%2) visu(x,y,k) = 0;
+  visu.display(disp);
+  char tmp[1024];
+  std::sprintf(tmp,"Game Over !\n\nYour score : %d",score);
+  cimg::dialog("CImg Tetris",tmp,"Quit");
+  return 0;
+}
diff --git a/examples/tron.cpp b/examples/tron.cpp
new file mode 100644
index 0000000..64444c8
--- /dev/null
+++ b/examples/tron.cpp
@@ -0,0 +1,190 @@
+/*
+ #
+ #  File        : tron.cpp
+ #                ( C++ source file )
+ #
+ #  Description : A clone of the famous (and very simple) Tron game.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#include "CImg.h"
+using namespace cimg_library;
+
+// Main procedure
+//----------------
+int main(int argc, char **argv) {
+
+  // Print usage, help and retrieve command line options
+  //-----------------------------------------------------
+  cimg_usage("A very simple Tron game, using the CImg Library");
+  cimg_help("--- Quick help ----------------------------\n"
+            " Player 1 (blue) :\n"
+            " Use keys 'Z' (up), 'S' (down), 'Q' (left)\n"
+            "     and 'D' (right) to control your player.\n"
+            "     Right 'CONTROL' key enables turbospeed\n"
+            " Player 2 (red) : \n"
+            "     Use arrow keys to control your player.\n"
+            "     'TAB' key enables turbospeed.\n"
+            "-------------------------------------------");
+
+  const char *geom      = cimg_option("-g","300x300","Size of the game board");
+  const int delay       = cimg_option("-s",10,"Game speed (lower value means faster)");
+  const bool twoplayers = !cimg_option("-1",false,"One player only");
+  const int zoom        = cimg_option("-z",1,"Zoom factor");
+  const bool full       = cimg_option("-f",false,"Fullscreen mode");
+  unsigned int W = 400, H = 400;
+  std::sscanf(geom,"%u%*c%u",&W,&H);
+
+  // Define game colors and variables
+  //----------------------------------
+  const unsigned char blue[] = { 128,200,255}, red[] = { 255,0,0 }, white[] = { 255,255,255 };
+  int score1 = 0, score2 = 0, round_over = 0, ix1 = -1, iy1 = -1, x1 = 0, y1 = 0, u1 = 0, v1 = 0,
+    ix2 = -1, iy2 = -1, x2 = 0, y2 = 0, u2 = 0, v2 = 0;
+  bool start_round = true, turbo1 = false, turbo2 = false;
+
+  // Create background image
+  //--------------------------
+  CImg<unsigned char> background, img;
+  background.assign(64,64,1,3,0).noise(60).draw_plasma().resize(W,H).blur(2).normalize(0,128).
+    draw_rectangle(0,0,W-1,H-1,white,1.0f,~0U);
+
+  // Open display window
+  //---------------------
+  CImgDisplay disp(background,"* CImg-Tron *");
+  if (zoom>1) disp.resize(-100*zoom,-100*zoom);
+  if (full) disp.toggle_fullscreen().display(background);
+
+  // Start main game loop
+  //----------------------
+  while (!disp.is_closed() && !disp.is_keyESC()) {
+
+    // Init new game round if necessary
+    //----------------------------------
+    if (start_round) {
+
+      // Init game variables
+      round_over = 0;
+      ix1 = -1; iy1 = -1; x1 = 10; y1 = 10; u1 = 1; v1 = 0; turbo1 = false;
+      ix2 = -1; iy2 = -1; x2 = W - 11; y2 = H - 11; u2 = -1; v2 = 0; turbo2 = false;
+      img = background;
+      start_round = false;
+
+      // Display a simple pre-round page
+      CImg<unsigned char> logo, pressakey;
+      logo.draw_text(0,0," CImg-Tron ",white,0,1,33).resize(-100,-100,1,3);
+      CImg<unsigned char> tmp = (+background).draw_image((W - logo.width())/2,(H - logo.height())/2 - 20,
+                                                         logo,logo.get_channel(0).dilate(6).normalize(0,1)).
+        draw_text(W/2 - 60,H/2 + 10,"Blue ( %u )",blue,0,1,13,score1).
+        draw_text(W/2 + 10,H/2 + 10,"Red ( %u )",red,0,1,13,score2);
+      pressakey.draw_text(0,0,"* Press a key to start round *",white);
+      for (float i = 0; i<1; i+=0.05f) ((+tmp)*=i).display(disp.wait(20));
+      disp.flush();
+      for (unsigned long t = 0; !disp.key() && !disp.is_closed(); ++t) {
+        if (!(t%10)) { if (t%20) disp.display(tmp);
+          else disp.display((+tmp).draw_image(W/2 - 70,H/2 + 50,pressakey,pressakey,1,255)); }
+	if (disp.wait(20).is_resized()) disp.resize(disp);
+      }
+      if (disp.is_keyESC()) disp.flush();
+    }
+
+    // Test collision between players and borders
+    if (x1<0 || x1>=img.width() || y1<0 || y1>=img.height() ||
+        img(x1,y1,0)!=background(x1,y1,0) ||
+        img(x1,y1,1)!=background(x1,y1,1) ||
+        img(x1,y1,2)!=background(x1,y1,2) ||
+        ((ix1>=0 || iy1>=0) && (img(ix1,iy1,0)!=background(ix1,iy1,0) ||  // Collision test for turbo mode
+                                img(ix1,iy1,1)!=background(ix1,iy1,1) ||
+                                img(ix1,iy1,2)!=background(ix1,iy1,2)))) { round_over=1; score2++; }
+    if (twoplayers) {
+      if (x2<0 || x2>=img.width() || y2<0 || y2>=img.height() ||
+          img(x2,y2,0)!=background(x2,y2,0) ||
+          img(x2,y2,1)!=background(x2,y2,1) ||
+          img(x2,y2,2)!=background(x2,y2,2) ||
+          ((ix2>=0 || iy2>=0) && (img(ix2,iy2,0)!=background(ix2,iy2,0) ||  // Collision test for turbo mode
+                                  img(ix2,iy2,1)!=background(ix2,iy2,1) ||
+                                  img(ix2,iy2,2)!=background(ix2,iy2,2)))) { round_over=2; score1++; }
+    }
+
+    // Draw new players positions
+    img.draw_point(x1,y1,blue);
+    if (ix1>=0 && iy1>=0) img.draw_point(ix1,iy1,blue);
+    if (twoplayers) {
+      img.draw_point(x2,y2,red);
+      if (ix2>=0 && iy2>=0) img.draw_point(ix2,iy2,red);
+    }
+    if (disp.is_resized()) disp.resize(disp);
+    img.display(disp);
+
+    // Update players positions
+    x1+=u1; y1+=v1;
+    if (turbo1) { ix1 = x1; iy1 = y1; x1+=u1; y1+=v1; } else { ix1 = iy1 = -1; }
+    if (twoplayers) {
+      x2+=u2; y2+=v2;
+      if (turbo2) { ix2 = x2; iy2 = y2; x2+=u2; y2+=v2; } else { ix2 = iy2 = -1; }
+    }
+
+    // Test keyboard events
+    int nu1 = u1, nv1 = v1, nu2 = u2, nv2 = v2;
+    if (disp.is_keyARROWLEFT())  { nu1 = -1; nv1 = 0; }
+    if (disp.is_keyARROWRIGHT()) { nu1 = 1; nv1 = 0; }
+    if (disp.is_keyARROWUP())    { nu1 = 0; nv1 = -1; }
+    if (disp.is_keyARROWDOWN())  { nu1 = 0; nv1 = 1; }
+    turbo1 = disp.is_keyCTRLRIGHT();
+    if (twoplayers) {
+      if (disp.is_keyQ()) { nu2 = -1; nv2 = 0; }
+      if (disp.is_keyD()) { nu2 = 1; nv2 = 0; }
+      if (disp.is_keyZ()) { nu2 = 0; nv2 = -1; }
+      if (disp.is_keyS()) { nu2 = 0; nv2 = 1; }
+      turbo2 = disp.is_keyTAB();
+    }
+    if (nu1!=-u1 && nv1!=-v1) { u1 = nu1; v1 = nv1; }
+    if (nu2!=-u2 && nv2!=-v2) { u2 = nu2; v2 = nv2; }
+
+    // Check if round is over.
+    if (round_over) {
+      const int xc = round_over==1?x1:x2, yc = round_over==1?y1:y2;
+      for (int r=0; r<50; r+=3) img.draw_circle(xc,yc,r,round_over==1?blue:red,r/300.0f).display(disp.wait(20));
+      for (int rr=0; rr<50; rr+=3)
+        ((+img)*=(50 - rr)/50.0f).draw_circle(xc,yc,(50 + rr),round_over==1?blue:red,1/6.0f).display(disp.wait(20));
+      start_round = true;
+    }
+
+    // Wait a small amount of time
+    disp.wait(delay);
+  }
+  return 0;
+}
diff --git a/examples/tutorial.cpp b/examples/tutorial.cpp
new file mode 100644
index 0000000..e07433c
--- /dev/null
+++ b/examples/tutorial.cpp
@@ -0,0 +1,133 @@
+/*
+ #
+ #  File        : tutorial.cpp
+ #                ( C++ source file )
+ #
+ #  Description : View the color profile of an image, along the X-axis.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+// Include CImg library file and use its main namespace
+#include "CImg.h"
+using namespace cimg_library;
+
+#ifndef cimg_imagepath
+#define cimg_imagepath "img/"
+#endif
+
+// Main procedure
+//----------------
+int main(int argc,char **argv) {
+
+  // Define program usage and read command line parameters
+  //-------------------------------------------------------
+
+  // Display program usage, when invoked from the command line with option '-h'.
+  cimg_usage("View the color profile of an image along the X axis");
+
+  // Read image filename from the command line (or set it to "img/parrot.ppm" if option '-i' is not provided).
+  const char* file_i = cimg_option("-i",cimg_imagepath "parrot.ppm","Input image");
+
+  // Read pre-blurring variance from the command line (or set it to 1.0 if option '-blur' is not provided).
+  const double sigma = cimg_option("-blur",1.0,"Variance of gaussian pre-blurring");
+
+  // Init variables
+  //----------------
+
+  // Load an image, transform it to a color image (if necessary) and blur it with the standard deviation sigma.
+  const CImg<unsigned char> image = CImg<>(file_i).normalize(0,255).blur((float)sigma).resize(-100,-100,1,3);
+
+  // Create two display window, one for the image, the other for the color profile.
+  CImgDisplay
+    main_disp(image,"Color image (Try to move mouse pointer over)",0),
+    draw_disp(500,400,"Color profile of the X-axis",0);
+
+  // Define colors used to plot the profile, and a hatch to draw the vertical line
+  unsigned int hatch = 0xF0F0F0F0;
+  const unsigned char
+    red[]   = { 255,0,0 },
+    green[] = { 0,255,0 },
+    blue [] = { 0,0,255 },
+    black[] = { 0,0,0 };
+
+    // Enter event loop. This loop ends when one of the two display window is closed or
+    // when the keys 'ESC' or 'Q' are pressed.
+    while (!main_disp.is_closed() && !draw_disp.is_closed() &&
+           !main_disp.is_keyESC() && !draw_disp.is_keyESC() && !main_disp.is_keyQ() && !draw_disp.is_keyQ()) {
+
+      // Handle display window resizing (if any)
+      if (main_disp.is_resized()) main_disp.resize().display(image);
+      draw_disp.resize();
+
+      if (main_disp.mouse_x()>=0 && main_disp.mouse_y()>=0) { // Mouse pointer is over the image
+
+        const int
+          xm = main_disp.mouse_x(),                     // X-coordinate of the mouse pointer over the image
+          ym = main_disp.mouse_y(),                     // Y-coordinate of the mouse pointer over the image
+          xl = xm*draw_disp.width()/main_disp.width(),  // Corresponding X-coordinate of the hatched line
+          x = xm*image.width()/main_disp.width(),     // Corresponding X-coordinate of the pointed pixel in the image
+          y = ym*image.height()/main_disp.height();   // Corresponding Y-coordinate of the pointex pixel in the image
+
+        // Retrieve color component values at pixel (x,y)
+        const unsigned int
+          val_red   = image(x,y,0),
+          val_green = image(x,y,1),
+          val_blue  = image(x,y,2);
+
+        // Create and display the image of the intensity profile
+        CImg<unsigned char>(draw_disp.width(),draw_disp.height(),1,3,255).
+          draw_grid(-50*100.0f/image.width(),-50*100.0f/256,0,0,false,true,black,0.2f,0xCCCCCCCC,0xCCCCCCCC).
+          draw_axes(0,image.width() - 1.0f,255.0f,0.0f,black).
+          draw_graph(image.get_shared_row(y,0,0),red,1,1,0,255,1).
+          draw_graph(image.get_shared_row(y,0,1),green,1,1,0,255,1).
+          draw_graph(image.get_shared_row(y,0,2),blue,1,1,0,255,1).
+          draw_text(30,5,"Pixel (%d,%d)={%d %d %d}",black,0,1,16,
+                    main_disp.mouse_x(),main_disp.mouse_y(),val_red,val_green,val_blue).
+          draw_line(xl,0,xl,draw_disp.height() - 1,black,0.5f,hatch=cimg::rol(hatch)).
+          display(draw_disp);
+      } else
+        // else display a text in the profile display window.
+        CImg<unsigned char>(draw_disp.width(),draw_disp.height()).fill(255).
+          draw_text(draw_disp.width()/2 - 130,draw_disp.height()/2 - 5,"Mouse pointer is outside the image",
+                    black,0,1,16).display(draw_disp);
+
+      // Temporize event loop
+      cimg::wait(20);
+    }
+
+    return 0;
+}
diff --git a/examples/use_RGBclass.cpp b/examples/use_RGBclass.cpp
new file mode 100644
index 0000000..72dd92b
--- /dev/null
+++ b/examples/use_RGBclass.cpp
@@ -0,0 +1,138 @@
+/*
+ #
+ #  File        : use_RGBclass.cpp
+ #                ( C++ source file )
+ #
+ #  Description : A small code that shows how to write a CImg plugin to
+ #                handle color image manipulation using a user-defined RGB
+ #                class, instead of using classical pixel access of CImg<T>
+ #                with operator().
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#ifndef cimg_plugin
+#define cimg_plugin "examples/use_RGBclass.cpp"  // Path of the plugin is relative to the CImg.h file.
+#include "CImg.h"
+using namespace cimg_library;
+#ifndef cimg_imagepath
+#define cimg_imagepath "img/"
+#endif
+
+// Main procedure
+//----------------
+int main() {
+
+  // Load images.
+  CImg<short> img1(cimg_imagepath "milla.bmp");
+  const CImg<float> img2 = CImg<float>(cimg_imagepath "parrot.ppm").resize(img1,3);
+  const float default_color[] = { 30,30,80 };
+
+  // Modify 'img1' using the RGB pixel accessor.
+  cimg_forXY(img1,x,y)
+    if (!((x*y)%31)) img1.RGB_at(x,y) = default_color;
+    else if ((x+y)%2) img1.RGB_at(x,y) = img2.RGB_at(x,y);
+  img1.display();
+
+  // Quit.
+  return 0;
+}
+
+#else
+
+//-------------------------
+// Start of the plugin code
+//-------------------------
+
+// Define a simple structure of *references* to R,G,B values.
+//-----------------------------------------------------------
+// (Feel free to add your own operators in there !)
+struct st_RGB {
+  T _R,_G,_B,&R,&G,&B;
+
+  // Construct from R,G,B references of values.
+  st_RGB(const T& nR, const T& nG, const T& nB):_R(nR),_G(nG),_B(nB),R(_R),G(_G),B(_B) {}
+  st_RGB(T& nR, T& nG, T& nB):R(nR),G(nG),B(nB) {}
+
+  // Copy constructors.
+  st_RGB(const st_RGB& rgb):_R(rgb.R),_G(rgb.G),_B(rgb.B),R(_R),G(_G),B(_B) {}
+  template<typename t>
+  st_RGB(const t& rgb):_R(rgb[0]),_G(rgb[1]),_B(rgb[2]) {}
+
+  // Assignement operator.
+  st_RGB& operator=(const st_RGB& rgb) {
+    R = (T)(rgb[0]); G = (T)(rgb[1]); B = (T)(rgb[2]);
+    return *this;
+  }
+  template<typename t>
+  st_RGB& operator=(const t& rgb) {
+    R = (T)(rgb[0]); G = (T)(rgb[1]); B = (T)(rgb[2]);
+    return *this;
+  }
+
+  // Data (R,G or B) access operator.
+  const T& operator[](const unsigned int i) const {
+    return i==2?B:(i==1?G:R);
+  }
+  T& operator[](const unsigned int i) {
+    return i==2?B:(i==1?G:R);
+  }
+
+  // Print instance on the standard error.
+  const st_RGB& print() const {
+    std::fprintf(stderr,"{ %d %d %d }\n",(int)R,(int)G,(int)B);
+    return *this;
+  }
+};
+
+// Define CImg<T> member functions which return pixel values as st_RGB instances.
+//--------------------------------------------------------------------------------
+const st_RGB RGB_at(const int x, const int y=0, const int z=0) const {
+  const int whz = width()*height()*depth();
+  const T *const pR = data() + x + y*width() + z*width()*height(), *const pG = pR + whz, *const pB = pG + whz;
+  return st_RGB(*pR,*pG,*pB);
+}
+
+st_RGB RGB_at(const int x, const int y=0, const int z=0) {
+  const int whz = width()*height()*depth();
+  T *const pR = data() + x + y*width() + z*width()*height(), *const pG = pR + whz, *const pB = pG + whz;
+  return st_RGB(*pR,*pG,*pB);
+}
+
+//------------------------
+// End of the plugin code
+//------------------------
+#endif
diff --git a/examples/use_chlpca.cpp b/examples/use_chlpca.cpp
new file mode 100644
index 0000000..0d43db1
--- /dev/null
+++ b/examples/use_chlpca.cpp
@@ -0,0 +1,70 @@
+/*
+  #
+  #  File        : use_chlpca.cpp
+  #                ( C++ source file )
+  #
+  #  Description : Example of use for the CImg plugin 'plugins/chlpca.h'.
+  #                This file is a part of the CImg Library project.
+  #                ( http://cimg.eu )
+  #
+  #  Copyright  : Jerome Boulanger
+  #               ( http://www.irisa.fr/vista/Equipe/People/Jerome.Boulanger.html )
+  #
+  #
+  #  License     : CeCILL v2.0
+  #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+  #
+  #  This software is governed by the CeCILL  license under French law and
+  #  abiding by the rules of distribution of free software.  You can  use,
+  #  modify and/ or redistribute the software under the terms of the CeCILL
+  #  license as circulated by CEA, CNRS and INRIA at the following URL
+  #  "http://www.cecill.info".
+  #
+  #  As a counterpart to the access to the source code and  rights to copy,
+  #  modify and redistribute granted by the license, users are provided only
+  #  with a limited warranty  and the software's author,  the holder of the
+  #  economic rights,  and the successive licensors  have only  limited
+  #  liability.
+  #
+  #  In this respect, the user's attention is drawn to the risks associated
+  #  with loading,  using,  modifying and/or developing or reproducing the
+  #  software by the user in light of its specific status of free software,
+  #  that may mean  that it is complicated to manipulate,  and  that  also
+  #  therefore means  that it is reserved for developers  and  experienced
+  #  professionals having in-depth computer knowledge. Users are therefore
+  #  encouraged to load and test the software's suitability as regards their
+  #  requirements in conditions enabling the security of their systems and/or
+  #  data to be ensured and,  more generally, to use and operate it in the
+  #  same conditions as regards security.
+  #
+  #  The fact that you are presently reading this means that you have had
+  #  knowledge of the CeCILL license and that you accept its terms.
+  #
+*/
+
+#define cimg_plugin "plugins/chlpca.h"
+#include "CImg.h"
+using namespace cimg_library;
+#ifndef cimg_imagepath
+#define cimg_imagepath "img/"
+#endif
+
+// Main procedure
+//----------------
+int main(int argc,char **argv) {
+  cimg_usage("Patch based denoising ");
+  const char *file_i  = cimg_option("-i",cimg_imagepath "milla.bmp","Input image");
+  const int p = cimg_option("-p",3,"patch radius");
+  const int w = cimg_option("-w",10,"window radius");
+  const float lambda_min = cimg_option("-l",(float)2.f,"component selection threshold");
+  const int nstep = cimg_option("-nstep",5,"sub-sampling");
+  const float nsim = cimg_option("-nsim",(float)5.f,"dictionnary size a multiple of the patch size");
+  const float noise_std = cimg_option("-sigma",(float)-1.f,"noise std (-1:estimated)");
+  const bool use_svd = cimg_option("-svd",(float)-1.f,"use svd for computing PCA");
+  const char *file_o  = cimg_option("-o",(char*)NULL,"Output file");
+  CImg<> img(file_i);
+  img = img.get_chlpca(p, w, nstep, nsim, lambda_min, noise_std, use_svd);
+  img.display();
+  if (file_o) img.save(file_o);
+  return 0;
+}
diff --git a/examples/use_cimgIPL.cpp b/examples/use_cimgIPL.cpp
new file mode 100644
index 0000000..821eb3c
--- /dev/null
+++ b/examples/use_cimgIPL.cpp
@@ -0,0 +1,155 @@
+/*
+#
+#  File        : use_cimgIPL.cpp
+#                ( C++ source file )
+#
+#  Description : Example of use for the CImg plugin 'plugins/cimgIPL.h'.
+#                This file is a part of the CImg Library project.
+#                ( http://cimg.eu )
+#
+#  Copyright   : newleft (haibo.zheng at gmail.com)
+#                         newleftist at hotmail.com
+#
+#  License     : CeCILL v2.0
+#                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+#
+#  This software is governed by the CeCILL  license under French law and
+#  abiding by the rules of distribution of free software.  You can  use,
+#  modify and/ or redistribute the software under the terms of the CeCILL
+#  license as circulated by CEA, CNRS and INRIA at the following URL
+#  "http://www.cecill.info".
+#
+#  As a counterpart to the access to the source code and  rights to copy,
+#  modify and redistribute granted by the license, users are provided only
+#  with a limited warranty  and the software's author,  the holder of the
+#  economic rights,  and the successive licensors  have only  limited
+#  liability.
+#
+#  In this respect, the user's attention is drawn to the risks associated
+#  with loading,  using,  modifying and/or developing or reproducing the
+#  software by the user in light of its specific status of free software,
+#  that may mean  that it is complicated to manipulate,  and  that  also
+#  therefore means  that it is reserved for developers  and  experienced
+#  professionals having in-depth computer knowledge. Users are therefore
+#  encouraged to load and test the software's suitability as regards their
+#  requirements in conditions enabling the security of their systems and/or
+#  data to be ensured and,  more generally, to use and operate it in the
+#  same conditions as regards security.
+#
+#  The fact that you are presently reading this means that you have had
+#  knowledge of the CeCILL license and that you accept its terms.
+#
+*/
+
+#include <cv.h>
+#include <highgui.h>
+#include <math.h>
+
+#pragma comment(lib, "cv.lib")
+#pragma comment(lib, "cvaux.lib")
+#pragma comment(lib, "cxcore.lib")
+#pragma comment(lib, "highgui.lib")
+
+#define cimg_plugin1 "plugins\cimgIPL.h"
+#include "CImg.h"
+using namespace cimg_library;
+
+// Main procedure
+//----------------
+int main(int argc, char* argv[]) {
+  int wid = 0;
+  CImg<> cImg(argv[1]);
+  cImg.display("cImg");
+  IplImage* ipl;
+  //ipl = cvLoadImage(argv[1], -1);
+  ipl = cImg.get_IPL();
+
+  IplImage *ipl8;
+  IplImage *ipl16, *ipl32, *ipl64;
+  IplImage *ipl16to8, *ipl32to8, *ipl64to8;
+  cvNamedWindow("origin", wid++);
+  cvNamedWindow("8bit_OK", wid++);
+  cvNamedWindow("16bit", wid++);
+  cvNamedWindow("32bit", wid++);
+  cvNamedWindow("64bit", wid++);
+  cvNamedWindow("16bitto8", wid++);
+  cvNamedWindow("32bitto8", wid++);
+  cvNamedWindow("64bitto8", wid++);
+
+  cvShowImage("origin", ipl);
+
+  ipl8 = cvCreateImage(cvGetSize(ipl), IPL_DEPTH_8U, ipl->nChannels);
+  cvConvert(ipl, ipl8);
+
+  ipl16 = cvCreateImage(cvGetSize(ipl), IPL_DEPTH_16U, ipl->nChannels);
+  cvConvert(ipl, ipl16);
+
+  ipl32 = cvCreateImage(cvGetSize(ipl), IPL_DEPTH_32F, ipl->nChannels);
+  cvConvert(ipl, ipl32);
+
+  ipl64 = cvCreateImage(cvGetSize(ipl), IPL_DEPTH_64F, ipl->nChannels);
+  cvConvert(ipl, ipl64);
+
+  cvShowImage("8bit_OK", ipl8);// this canbe show properly
+  cvShowImage("16bit", ipl16);// maynot display properly, that's bug of cvShowImage
+  cvShowImage("32bit", ipl32);// maynot display properly, that's bug of cvShowImage
+  cvShowImage("64bit", ipl64);// maynot display properly, that's bug of cvShowImage
+
+  // cvShowImage can only display IplImage with IPL_DEPTH_8X, proved by the following codes
+  ipl16to8 = cvCreateImage(cvGetSize(ipl16), IPL_DEPTH_8U, ipl16->nChannels);
+  cvConvert(ipl16, ipl16to8);
+  ipl32to8 = cvCreateImage(cvGetSize(ipl32), IPL_DEPTH_8U, ipl32->nChannels);
+  cvConvert(ipl32, ipl32to8);
+  ipl64to8 = cvCreateImage(cvGetSize(ipl64), IPL_DEPTH_8U, ipl64->nChannels);
+  cvConvert(ipl64, ipl64to8);
+  cvShowImage("16bitto8", ipl16to8);	// diplay ok
+  cvShowImage("32bitto8", ipl32to8);	// diplay ok
+  cvShowImage("64bitto8", ipl64to8);	// diplay ok
+
+  // now, we test ipl8->cImg, ipl16->cImg, ipl32->cImg, ipl64->cImg
+  cImg.assign(ipl8);
+  cImg.display("ipl8->cimg");
+  cImg.assign(ipl16);
+  cImg.display("ipl16->cimg");
+  cImg.assign(ipl32);
+  cImg.display("ipl32->cimg");
+  cImg.assign(ipl64);
+  cImg.display("ipl64->cimg");
+
+  cvWaitKey(0);
+
+  // test another construct
+  CImg<unsigned char> testCImg1(ipl16);
+  testCImg1.display("testCImg1");
+  CImg<unsigned char> testCImg2(ipl32);
+  testCImg2.display("testCImg2");
+  CImg<unsigned char> testCImg3(ipl64);
+  testCImg3.display("testCImg3");
+
+  CImg<double> testCImg4(ipl16);
+  testCImg4.display("testCImg4");
+  CImg<double> testCImg5(ipl32);
+  testCImg5.display("testCImg5");
+  CImg<double> testCImg6(ipl64);
+  testCImg6.display("testCImg6");
+
+  cvReleaseImage(&ipl);
+  cvReleaseImage(&ipl8);
+  cvReleaseImage(&ipl16);
+  cvReleaseImage(&ipl32);
+  cvReleaseImage(&ipl64);
+  cvReleaseImage(&ipl16to8);
+  cvReleaseImage(&ipl32to8);
+  cvReleaseImage(&ipl64to8);
+
+  cvDestroyWindow("origin");
+  cvDestroyWindow("8bit_OK");
+  cvDestroyWindow("16bit");
+  cvDestroyWindow("32bit");
+  cvDestroyWindow("64bit");
+  cvDestroyWindow("16bitto8");
+  cvDestroyWindow("32bitto8");
+  cvDestroyWindow("64bitto8");
+
+  return 0;
+}
diff --git a/examples/use_cimgmatlab.cpp b/examples/use_cimgmatlab.cpp
new file mode 100644
index 0000000..08c0677
--- /dev/null
+++ b/examples/use_cimgmatlab.cpp
@@ -0,0 +1,102 @@
+/*-----------------------------------------------------------------------
+
+  File : use_cimgmatlab.cpp
+
+  Description: Example of use for the CImg plugin 'plugins/cimgmatlab.h'
+  which allows to use CImg in order to develop matlab external
+  functions (mex functions).
+  User should be familiar with Matlab C/C++ mex function concepts,
+  as this file is by no way a mex programming tutorial.
+
+  This simple example implements a mex function that can be called
+  as
+
+  - v = cimgmatlab_cannyderiche(u,s)
+  - v = cimgmatlab_cannyderiche(u,sx,sy)
+  - v = cimgmatlab_cannyderiche(u,sx,sy,sz)
+
+  The corresponding m-file is cimgmatlab_cannyderiche.m
+
+
+  Copyright : Francois Lauze - http://www.itu.dk/people/francois
+  This software is governed by the Gnu Lesser General Public License
+  see http://www.gnu.org/copyleft/lgpl.html
+
+  The plugin home page is at
+  http://www.itu.dk/people/francois/cimgmatlab.html
+
+  for the compilation: using the mex utility provided with matlab, just
+  remember to add the -I flags with paths to CImg.h and/or cimgmatlab.h.
+  The default lcc cannot be used, it is a C compiler and not a C++ one!
+
+--------------------------------------------------------------------------*/
+
+#include <mex.h>
+#define cimg_plugin "plugins/cimgmatlab.h"
+#include <CImg.h>
+
+void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prhs[]) {
+  if (nrhs < 2) mexErrMsgTxt("No enough input arguments.");
+  if (nrhs > 4) mexErrMsgTxt("Too many input arguments.");
+  cimg_library::CImg<> u(prhs[0],true);
+  if (nrhs == 2) {
+    const float s = (float)mxGetScalar(prhs[1]);
+    plhs[0] = u.get_blur(s).toMatlab();
+  } else if (nrhs == 3) {
+    const float sx = (float)mxGetScalar(prhs[1]);
+    const float sy = (float)mxGetScalar(prhs[2]);
+    plhs[0] = u.get_blur(sx,sy,0).toMatlab();
+  } else if (nrhs == 4) {
+    const float sx = (float)mxGetScalar(prhs[1]);
+    const float sy = (float)mxGetScalar(prhs[2]);
+    const float sz = (float)mxGetScalar(prhs[3]);
+    plhs[0] = u.get_blur(sx,sy,sz).toMatlab();
+  }
+}
+
+/*------------------------------------------------------------------
+
+  SPECIAL NOTE :
+  -------------
+
+  How to read a .mat file using plugin 'cimgmatlab.h' ?
+  (contribution by Vo Duc Khanh/Denso IT Lab, Tokyo, Japan).
+
+  #include <mex.h>
+  #include <mat.h>
+  #include <matrix.h>
+
+  #define cimg_plugin "cimgmatlab.h"
+
+  #include "CImg.h"
+  #include <iostream>
+  #include <string>
+
+  .........
+
+  using namespace cimg_library;
+  using namespace std;
+
+  // Load input images (125700 images) from training database 'BmpTrainingDb.mat'
+  MATFile *pmat, *pmat_out;
+  mxArray *pa, *pa_out;
+  const char data_path[256] = ".\\BmpTrainingDb.mat\0";
+  const char *var_name;
+
+  pmat = matOpen(data_path, "r");
+  if (pmat == NULL) {
+    cout << "Error opening file " << data_path << endl;
+    return (1);
+  }
+
+  pa = matGetNextVariable(pmat, &var_name);
+  if (pa == NULL){
+    cout << "Error reading in file " << data_path << endl;
+    return (1);
+  }
+
+  CImg<unsigned char> train_db(pa,false);
+  ........
+
+
+  -----------------------------------------------------------------------------*/
diff --git a/examples/use_cimgmatlab.m b/examples/use_cimgmatlab.m
new file mode 100644
index 0000000..30abf66
--- /dev/null
+++ b/examples/use_cimgmatlab.m
@@ -0,0 +1,33 @@
+/*-----------------------------------------------------------------------
+  File : use_cimgmatlab.m
+
+  Description: Example of use for the CImg plugin 'plugins/cimgmatlab.h'
+  which allows to use CImg in order to develop matlab external
+  functions (mex functions).
+  User should be familiar with Matlab C/C++ mex function concepts,
+  as this file is by no way a mex programming tutorial.
+
+  This simple example implements a mex function that can be called
+  as
+
+  - v = cimgmatlab_cannyderiche(u,s)
+  - v = cimgmatlab_cannyderiche(u,sx,sy)
+  - v = cimgmatlab_cannyderiche(u,sx,sy,sz)
+
+  The corresponding m-file is cimgmatlab_cannyderiche.m
+
+
+  Copyright : Francois Lauze - http://www.itu.dk/people/francois
+  This software is governed by the Gnu General Public License
+  see http://www.gnu.org/copyleft/gpl.html
+
+  The plugin home page is at
+  http://www.itu.dk/people/francois/cimgmatlab.html
+
+  for the compilation: using the mex utility provided with matlab, just
+  remember to add the -I flags with paths to CImg.h and/or cimgmatlab.h.
+  The default lcc cannot be used, it is a C compiler and not a C++ one!
+--------------------------------------------------------------------------*/
+
+function v = cimgmatlab_cannyderiche(u,sx,sy,sz)
+
diff --git a/examples/use_draw_gradient.cpp b/examples/use_draw_gradient.cpp
new file mode 100644
index 0000000..d87470c
--- /dev/null
+++ b/examples/use_draw_gradient.cpp
@@ -0,0 +1,138 @@
+/*
+ #
+ #  File        : use_draw_gradient.cpp
+ #                ( C++ source file )
+ #
+ #  Description : Example of use for the CImg plugin 'plugins/draw_gradient.h'.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright  : Jerome Boulanger
+ #                ( http://www.ricam.oeaw.ac.at/people/page.cgi?firstn=Jerome;lastn=Boulanger )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#define cimg_plugin "plugins/draw_gradient.h"
+#include "CImg.h"
+using namespace cimg_library;
+
+// Main procedure
+//---------------
+int main(int argc,char **argv) {
+
+  // Read command line arguments
+  //----------------------------
+  cimg_usage("Example of the use of draw_gradient CImg plugin");
+  const char *const file_i  = cimg_option("-i",(char*)0,"Input image");
+  const int shape  = cimg_option("-s",1,"shape [0,6]");
+  const int profile  = cimg_option("-p",0,"profile [0,7]");
+
+  // Define an image
+  CImg<unsigned char> img;
+  if (file_i) img.load(file_i).resize(-100,-100,-100,3);
+  else img.assign(300,200,1,3,0);
+
+  // Define the color of the gradient
+  CImg<unsigned char> col(3);
+  const unsigned char col1[3] = { 0,0,255 }, col2[3] = { 255,255,255 };
+  CImgDisplay disp(img,"Click and drag to create color gradient",0);
+  while (!disp.is_closed() && !disp.key()) {
+
+    // Get a vector direction from the user.
+    const CImg<int> selection = img.get_select(disp,1);
+
+    // Draw a gradient using the selected coordinated.
+    col.rand(100,255);
+    printf("Gradient with %s from color (%d,%d,%d) to (%d,%d,%d)\n",
+	   CImg<>::get_gradient_str(shape,profile),col(0),col(1),col(2),col1[0],col1[1],col2[2]);
+    img.draw_gradient(selection(0),selection(1),selection(3),selection(4),
+                      col.data(),col1,shape,profile,.7f).display(disp);
+  }
+
+  // color 0 to transparency
+  if (file_i) img.load(file_i).resize(-100,-100,-100,3);
+  else img.assign(300,200,1,3,0);
+  img.display(disp);
+  disp.show().flush();
+  while (!disp.is_closed() && !disp.key()) {
+
+    // Get a vector direction from the user.
+    const CImg<int> selection = img.get_select(disp,1);
+
+    // Draw a gradient using the selected coordinated.
+    col.rand(100,255);
+    printf("Gradient with %s from color (%d,%d,%d) to transparency\n",
+	   CImg<>::get_gradient_str(shape,profile),col(0),col(1),col(2));
+    img.draw_gradient(selection(0),selection(1),selection(3),selection(4),
+                      col.data(),0,shape,profile,.7f).display(disp);
+  }
+
+
+  // transparency to color 1
+  if (file_i) img.load(file_i).resize(-100,-100,-100,3);
+  else img.assign(300,200,1,3,0);
+  img.display(disp);
+  disp.show().flush();
+  while (!disp.is_closed() && !disp.key()) {
+
+    // Get a vector direction from the user.
+    const CImg<int> selection = img.get_select(disp,1);
+
+    // Draw a gradient using the selected coordinated.
+    col.rand(100,255);
+    printf("Gradient with %s from transparency to color (%d,%d,%d)\n",
+	   CImg<>::get_gradient_str(shape,profile),col(0),col(1),col(2));
+    img.draw_gradient(selection(0),selection(1),selection(3),selection(4),
+                      0,col.data(),shape,profile,.7f).display(disp);
+  }
+
+  // random
+  if (file_i) img.load(file_i).resize(-100,-100,-100,3);
+  else img.assign(300,200,1,3,0);
+  disp.set_title("Random color gradient").show().flush();
+  CImg<unsigned char> visu(img);
+  visu.display(disp);
+  while (!disp.is_closed() && !disp.key()) {
+    const int
+      x = (int)(cimg::rand()*visu.width()),
+      y = (int)(cimg::rand()*visu.height()),
+      rx = (int)((cimg::rand()*25 + 5)*(cimg::rand()>.5?-1:1)),
+      ry = (int)((cimg::rand()*25 + 5)*(cimg::rand()>.5?-1:1));
+    col.rand(64,255);
+    img.draw_gradient(x,y,x + rx,y + ry,col.data(),0,shape,profile,.4f);
+    visu = img;
+    visu.draw_text(10,10,"%.1ffps",col2,0,1,13,disp.frames_per_second()).display(disp);
+    if (disp.is_resized()) disp.resize();
+  }
+
+  return 0;
+}
diff --git a/examples/use_jpeg_buffer.cpp b/examples/use_jpeg_buffer.cpp
new file mode 100644
index 0000000..65e86ff
--- /dev/null
+++ b/examples/use_jpeg_buffer.cpp
@@ -0,0 +1,109 @@
+/*
+ #
+ #  File        : use_jpeg_buffer.cpp
+ #                ( C++ source file )
+ #
+ #  Description : Example of use for the CImg plugin 'plugins/jpeg_buffer.h'.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : Paolo Prete
+ #                ( p4olo_prete(at)yahoo.it )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+// These includes are necessary to get the plug-in compile !
+#include <cstdio>
+#include <jpeglib.h>
+#include <jerror.h>
+
+// Define plugin and include the CImg Library.
+#define cimg_plugin "plugins/jpeg_buffer.h"
+#include "CImg.h"
+using namespace cimg_library;
+
+// Main procedure
+//----------------
+int main() {
+
+  // Create a jpeg memory buffer from the content of a jpeg file.
+  // (this is for testing purposes only)
+  const char *filename_input = "foo.jpg";
+  std::fprintf(stderr," - Reading file '%s'\n",filename_input);
+  std::FILE *file_input = std::fopen(filename_input,"rb");
+  if (!file_input) { std::fprintf(stderr,"Input JPEG file not found !"); std::exit(0); }
+
+  std::fprintf(stderr," - Construct input JPEG-coded buffer\n");
+  unsigned buf_size = 500000; // Put the file size here !
+  JOCTET *buffer_input = new JOCTET[buf_size];
+  if (std::fread(buffer_input,sizeof(JOCTET),buf_size,file_input)) std::fclose(file_input);
+  // -> 'buffer_input' is now a valid jpeg-coded memory buffer.
+
+  // Create a CImg instance from the jpeg-coded buffer using the plug-in function.
+  std::fprintf(stderr," - Create CImg instance from JPEG-coded buffer\n");
+  CImg<unsigned char> img;
+  img.load_jpeg_buffer(buffer_input, buf_size);
+  delete[] buffer_input;
+
+  // Do you image processing stuff here ....
+  // Here, we just mirror the image and write "hello".
+  std::fprintf(stderr," - Do simple processing\n");
+  const unsigned char purple[] = { 255, 0, 0 };
+  const unsigned char black[] = { 0, 0, 0 };
+  img.mirror('y').draw_text(0,0,"   Hello!   ",purple,black,1,57);
+
+  // Display image to see if everything's fine.
+  img.display("Using 'jpeg_buffer.h' plugin");
+
+  // Define a new JOCTET array where the processed image has to be saved
+  // (we don't know its dimension before compressing it, therefore we have to allocate enough memory )
+  std::fprintf(stderr," - Construct output JPEG-coded buffer\n");
+  JOCTET *buffer_output = new JOCTET[2*buf_size];
+
+  // Save processed image into this JOCTET buffer, compressed as jpeg.
+  // This is done again by using the plug-in function.
+  img.save_jpeg_buffer(buffer_output,buf_size,60);
+  // Note that here, the variable 'buf_size' contains the length of the
+  // data which have been written in the given output buffer.
+
+  // Copy the content of the above array into a new file
+  // (it should give you a valid JPEG file then !)
+  const char *filename_output = "foo_output.jpg";
+  std::fprintf(stderr," - Save output file '%s'\n",filename_output);
+  std::FILE* file_output = std::fopen(filename_output,"wb");
+  std::fwrite(buffer_output, sizeof(JOCTET), buf_size, file_output);
+  std::fclose(file_output);
+  delete[] buffer_output;
+
+  std::fprintf(stderr," - All done !\n");
+  return 0;
+}
diff --git a/examples/use_nlmeans.cpp b/examples/use_nlmeans.cpp
new file mode 100644
index 0000000..2c20e3f
--- /dev/null
+++ b/examples/use_nlmeans.cpp
@@ -0,0 +1,125 @@
+/*
+ #
+ #  File        : use_nlmeans.cpp
+ #                ( C++ source file )
+ #
+ #  Description : Example of use for the CImg plugin 'plugins/nlmeans.h'.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright  : Jerome Boulanger
+ #               ( http://www.irisa.fr/vista/Equipe/People/Jerome.Boulanger.html )
+ #
+ #  Benchmark   : (CPU intel pentium 4 2.60GHz) compiled with cimg_debug=0.
+ #                patch lambda* alpha   T    sigma  PSNR
+ #                3x3    15      9x9    3.6s   20   28.22
+ #                5x5    17     15x15  22.2s   20   27.91
+ #                7x7    42     21x21  80.0s   20   28.68
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#define cimg_plugin "plugins/nlmeans.h"
+#include "CImg.h"
+using namespace cimg_library;
+#ifndef cimg_imagepath
+#define cimg_imagepath "img/"
+#endif
+
+// Main procedure
+//----------------
+int main(int argc,char **argv) {
+
+  // Read command line argument s
+  //-----------------------------
+  cimg_usage("Non-local means denoising algorithm.\n [1] Buades, A. Coll, B. and Morel, J.: A review of image "
+             "denoising algorithms, with a new one. Multiscale Modeling and Simulation: A SIAM Interdisciplinary "
+             "Journal 4 (2004) 490-530  \n [2] Gasser, T. Sroka,L. Jennen Steinmetz,C. Residual variance and residual "
+             "pattern nonlinear regression. Biometrika 73 (1986) 625-659 \n Build : ");
+
+  // input/output and general options
+  const char *file_i  = cimg_option("-i",cimg_imagepath "milla.bmp","Input image");
+  const char *file_o  = cimg_option("-o",(char*)NULL,"Output file");
+  const double zoom   = cimg_option("-zoom",1.0,"Image magnification");
+  const double noiseg = cimg_option("-ng",0.0,"Add gauss noise before aplying the algorithm");
+  const double noiseu = cimg_option("-nu",0.0,"Add uniform noise before applying the algorithm");
+  const double noises = cimg_option("-ns",0.0,"Add salt&pepper noise before applying the algorithm");
+  const unsigned int visu = cimg_option("-visu",1,"Visualization step (0=no visualization)");
+
+  // non local means options
+  const int patch_size = cimg_option("-p",1,"Half size of the patch (2p+1)x(2p+1)");
+  const float lambda = (float)cimg_option("-lambda",-1.0f,"Bandwidth as defined in [1] (-1 : automatic bandwidth)");
+  const double sigma = cimg_option("-sigma",-1,"Noise standard deviation (-1 : robust estimation)");
+  const int alpha = cimg_option("-alpha",3,"Neighborhood size (3)");
+  const int sampling = cimg_option("-sampling",1,"Sampling of the patch (1: slow, 2: fast)");
+
+  // Read image
+  //------------
+  CImg<> img;
+  if (file_i) {
+    img = CImg<>(file_i);
+    if (zoom>1)
+      img.resize((int)(img.width()*zoom),(int)(img.height()*zoom),(int)(img.depth()*zoom),-100,3);
+  } else throw CImgException("You need to specify at least one input image (option -i)");
+  CImg<> original=img;
+
+  // Add some noise
+  //-----------------
+  img.noise(noiseg,0).noise(noiseu,1).noise(noises,2);
+
+  // Apply the filter
+  //---------------------
+  long tic = cimg::time();
+  CImg<> dest;
+  dest = img.get_nlmeans(patch_size,lambda,alpha,sigma,sampling);
+  long tac = cimg::time();
+
+  // Save result
+  //-----------------
+  if (file_o) dest.cut(0,255.f).save(file_o);
+
+  // Display (option -visu)
+  //-----------------------
+  if (visu){
+    fprintf(stderr,"Image computed in %f s \n",(float)(tac - tic)/1000.);
+    fprintf(stderr,"The pnsr is %f \n",
+            20.*std::log10(255./std::sqrt( (dest - original).pow(2).sum()/original.size() )));
+    if (noiseg==0 && noiseu==0 && noises==0)
+      CImgList<>(original,dest,((dest - original)*=2)+=128).display("Original + Restored + Estimated Noise");
+
+    else {
+      CImgList<>(original,img,dest,((dest - img)*=2)+=128,((dest - original)*=2)+=128).
+        display("Original + Noisy + Restored + Estimated Noise + Original Noise");
+    }
+  }
+
+  return 0;
+}
diff --git a/examples/use_patchmatch.cpp b/examples/use_patchmatch.cpp
new file mode 100644
index 0000000..2a03078
--- /dev/null
+++ b/examples/use_patchmatch.cpp
@@ -0,0 +1,103 @@
+/*
+ #
+ #  File        : use_patchmatch.cpp
+ #                ( C++ source file )
+ #
+ #  Description : Example of use for the CImg plugin 'plugins/patchmatch.h'.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : Olivier D'Hondt
+ #                (https://sites.google.com/site/dhondtolivier/)
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#define cimg_plugin "plugins/patchmatch.h"
+#include "CImg.h"
+
+using namespace cimg_library;
+using namespace std;
+
+int main(int argc, char **argv) {
+  cimg_usage("PatchMatch: approximate nearest neighbour patch matching between two images img0 and img1.");
+  cimg_help("Input / Output parameters:\n--------------------------");
+  const char *file0 = cimg_option("-i0", "img/sh0r.pgm", "Image 0");
+  const char *file1 = cimg_option("-i1", "img/sh1r.pgm", "Image 1");
+  const char *fileout = cimg_option("-o", (char*)0,
+                                    "Output image of offsets (channel 0: x offset, channel 1: y offset)");
+  const int P = cimg_option("-s", 7, "Patch size");
+  const int N = cimg_option("-n", 5, "Number of iterations");
+  const bool DISP = cimg_option("-d", true, "Real-time display (slows down the process)");
+  const bool VERB = cimg_option("-v", true, "Verbose");
+
+  if (!file0 || !file1) {
+    std::fprintf(stderr,"Must specify images with -i0 and -i1 options (-h for help).\n");
+    exit(0);
+  }
+
+  srand((unsigned int)time(NULL));
+
+
+  CImg<int> img0(file0);
+  CImg<int> img1(file1);
+  CImg<int> imgrec(img0, "xyzc", 0);
+
+  CImg<int> off;
+
+  if(VERB){
+    std::fprintf(stderr,
+                 "\n--------\n"
+                 "PatchMatch: approximate nearest neighbor search\n"
+                 "From left to right: \n"
+                 "(a) Image 0 \n"
+                 "(b) Reconstructed version of image 0 from image 1 patches\n"
+                 "(c) HSV displacement map (hue encodes the angle, saturation the magnitude)\n"
+                 "(d) Image 1\n"
+                 "--------\n\n");
+  }
+
+  // Optional display for real-time view
+  CImgDisplay *disp = 0;
+  if (DISP) disp = new CImgDisplay;
+  off.patchMatch(img0, img1, P, N, disp);
+  delete disp;
+  std::fprintf(stderr,"Done!\n\n");
+
+  (img0,
+   imgrec.reconstruct(img1, off),
+   off.get_vizFlow(100),
+   img1).display("PatchMatch: final result.", false);
+
+
+  if(fileout)
+    off.save_cimg(fileout);
+}
diff --git a/examples/use_skeleton.cpp b/examples/use_skeleton.cpp
new file mode 100644
index 0000000..023d166
--- /dev/null
+++ b/examples/use_skeleton.cpp
@@ -0,0 +1,119 @@
+/*
+ #
+ #  File        : use_skeleton.cpp
+ #                ( C++ source file )
+ #
+ #  Description : Example of use for the CImg plugin 'plugins/skeleton.h'.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : Francois-Xavier Dupe
+ #                ( http://www.greyc.ensicaen.fr/~fdupe/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#include <queue>
+#define cimg_plugin "plugins/skeleton.h"
+#include "CImg.h"
+using namespace cimg_library;
+#ifndef cimg_imagepath
+#define cimg_imagepath "img/"
+#endif
+
+// Main procedure
+//----------------
+int main (int argc, char **argv) {
+
+  cimg_usage("Compute the skeleton of a shape, using Hamilton-Jacobi equations");
+
+  // Read command line arguments
+  cimg_help("Input/Output options\n"
+            "--------------------");
+  const char* file_i = cimg_option("-i",cimg_imagepath "milla.bmp","Input (black&white) image");
+  const int median = cimg_option("-median",0,"Apply median filter");
+  const bool invert = cimg_option("-inv",false,"Invert image values");
+  const char* file_o = cimg_option("-o",(char*)0,"Output skeleton image");
+  const bool display = cimg_option("-visu",true,"Display results");
+
+  cimg_help("Skeleton computation parameters\n"
+            "-------------------------------");
+  const float thresh = cimg_option("-t",-0.3f,"Threshold");
+  const bool curve = cimg_option("-curve",false,"Create medial curve");
+
+  cimg_help("Torsello correction parameters\n"
+            "------------------------------");
+  const bool correction = cimg_option("-corr",false,"Torsello correction");
+  const float dlt1 = 2;
+  const float dlt2 = cimg_option("-dlt",1.0f,"Discrete step");
+
+  // Load the image (forcing it to be scalar with 2 values { 0,1 }).
+  CImg<unsigned int> image0(file_i), image = image0.get_norm().quantize(2).normalize(0.0f,1.0f);
+  if (median) image.blur_median(median);
+  if (invert) (image-=1)*=-1;
+  if (display) (image0.get_normalize(0,255),image.get_normalize(0,255)).display("Input image - Binary image");
+
+  // Compute distance map.
+  CImgList<float> visu;
+  CImg<float> distance = image.get_distance(0);
+  if (display) visu.insert(distance);
+
+  // Compute the gradient of the distance function, and the flux (divergence) of the gradient field.
+  const CImgList<float> grad = distance.get_gradient("xyz");
+  CImg<float> flux = image.get_flux(grad,1,1);
+  if (display) visu.insert(flux);
+
+  // Use the Torsello correction of the flux if necessary.
+  if (correction) {
+    CImg<float>
+      logdensity = image.get_logdensity(distance,grad,flux,dlt1),
+      nflux = image.get_corrected_flux(logdensity,grad,flux,dlt2);
+    if (display) visu.insert(logdensity).insert(nflux);
+    flux = nflux;
+  }
+
+  if (visu) {
+    cimglist_apply(visu,normalize)(0,255);
+    visu.display(visu.size()==2?"Distance function - Flux":"Distance function - Flux - Log-density - Corrected flux");
+  }
+
+  // Compute the skeleton
+  const CImg<unsigned int> skel = image.get_skeleton(flux,distance,curve,thresh);
+  if (display) {
+    (image0.resize(-100,-100,1,3)*=0.7f).get_shared_channel(1)|=skel*255.0;
+    image0.draw_image(0,0,0,0,image*255.0,0.5f).display("Image + Skeleton");
+  }
+
+  // Save output image if necessary.
+  if (file_o) skel.save(file_o);
+
+  return 0;
+}
diff --git a/examples/use_tiff_stream.cpp b/examples/use_tiff_stream.cpp
new file mode 100644
index 0000000..37b8e3c
--- /dev/null
+++ b/examples/use_tiff_stream.cpp
@@ -0,0 +1,81 @@
+/*
+ #
+ #  File        : use_tiff_stream.cpp
+ #                ( C++ source file )
+ #
+ #  Description : Example of use for the CImg plugin 'plugins/jpeg_buffer.h'.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : Wolf Blecher
+ #                ( Wolf.Blecher(at)sirona.com )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+
+#include <fstream>
+// These includes are necessary to get the plug-in compile ! Don't forget to link with 'libtiff' and 'libtiffxx' !
+#include "tiffio.h"
+#include "tiffio.hxx"
+
+// Define plugin and include the CImg Library.
+#define cimg_plugin "plugins/tiff_stream.h"
+#include "CImg.h"
+using namespace cimg_library;
+
+// Main procedure
+//----------------
+int main() {
+
+  std::ifstream inFile("input.tif", std::ifstream::in | std::ifstream::binary);
+  std::ofstream outFile("outFile.tif", std::ofstream::out | std::ifstream::binary);
+
+  if (!inFile.good())
+  {
+    std::cout << "Error Reading from infile" << std::endl;
+  }
+
+  cimg_library::CImg<unsigned short> imgIn;
+  imgIn.load_tiff(&inFile);
+  imgIn.display();
+  CImg<unsigned short> imgOut = imgIn.save_tiff(&outFile, 2U);
+  imgOut.display();
+
+  inFile.close();
+  outFile.close();
+
+  inFile.open("outFile.tif", std::ifstream::in | std::ifstream::binary);
+  imgIn.load_tiff(&inFile);
+  imgIn.display();
+  inFile.close();
+  return 0;
+}
diff --git a/examples/use_tinymatwriter.cpp b/examples/use_tinymatwriter.cpp
new file mode 100644
index 0000000..8afc44e
--- /dev/null
+++ b/examples/use_tinymatwriter.cpp
@@ -0,0 +1,135 @@
+/*
+ #
+ #  File        : use_tinymatwriter.cpp
+ #                ( C++ source file )
+ #
+ #  Description : Example of use for the CImg plugin 'plugins/tinymatwriter.h'.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright  : Jan W. Krieger
+ #                ( https://github.com/jkriege2 )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+/*
+  This Matlab/Octave script tests the output:
+		clear all
+		more off
+
+		subplot(2,2,1)
+		load("mat432.mat", "-v6")
+		disp('mat432.mat:  CImg_image=')
+		disp(CImg_image)
+		imagesc(CImg_image(:,:,1))
+		colorbar
+
+		subplot(2,2,2)
+		load("mat432i16.mat", "-v6")
+		disp('mat432i16.mat:  CImg_image=')
+		disp(CImg_image)
+		imagesc(double(CImg_image(:,:,2)))
+		colorbar
+
+		subplot(2,2,3)
+		load("matb.mat", "-v6")
+		disp('matb.mat:  CImg_image=')
+		disp(CImg_image)
+		imagesc(CImg_image(:,:,4))
+		colorbar
+*/
+
+#include <iostream>
+#include <stdio.h>
+#include "tinymatwriter.h"
+#include <cmath>
+
+#define cimg_plugin "plugins/tinymatwriter.h"
+#include "../CImg.h"
+
+using namespace std;
+using namespace cimg_library;
+
+int main(int argc, const char** argv) {
+
+  double mat432[4*3*2]= {
+    1,2,3,
+    4,5,6,
+
+    10,20,30,
+    40,50,60,
+
+    100,200,300,
+    400,500,600,
+
+    1000,2000,3000,
+    4000,5000,6000,
+  };
+
+  int16_t mat432i16[4*3*2]= {
+    1,2,3,
+    4,5,6,
+
+    10,20,30,
+    40,50,60,
+
+    100,200,300,
+    400,500,600,
+
+    1000,-2000,3000,
+    -4000,5000,-6000,
+  };
+
+  // a boolean matrix
+  bool matb[4*3*2] = {
+    true,false,true,
+    false,true,false,
+
+    true,true,true,
+    false,false,false,
+
+    true,false,true,
+    true,false,true,
+
+    true,true,false,
+    false,true,true
+  };
+
+  cimg_library::CImg<double> ciD(mat432, 3,2,4);
+  cimg_library::CImg<int16_t> ciI16(mat432i16, 3,2,4);
+  cimg_library::CImg<bool> ciB(matb, 3,2,4);
+
+  ciD.save_tinymat("mat432.mat");
+  ciI16.save_tinymat("mat432i16.mat");
+  ciB.save_tinymat("matb.mat");
+  return 0;
+}
diff --git a/examples/wavelet_atrous.cpp b/examples/wavelet_atrous.cpp
new file mode 100644
index 0000000..28f4ba4
--- /dev/null
+++ b/examples/wavelet_atrous.cpp
@@ -0,0 +1,195 @@
+/*
+ #
+ #  File        : wavelet_atrous.cpp
+ #                ( C++ source file )
+ #
+ #  Description : Performs a 2D or 3D 'a trous' wavelet transform
+ #                (using a cubic spline) on an image or a video sequence.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Author      : Renaud Peteri
+ #                ( Renaud.Peteri(at)mines-paris.org )
+ #                Andrea Onofri
+ #                ( Andrea.Onofri(at)teletu.it )
+ #
+ #  Institution : CWI, Amsterdam
+ #
+ #  Date        : February 2005
+ #
+ #  References  : Starck, J.-L., Murtagh, F. and Bijaoui, A.,
+ #                Image Processing and Data Analysis: The Multiscale Approach,
+ #                Cambridge University Press, 1998.
+ #                (Hardback and softback, ISBN 0-521-59084-1 and 0-521-59914-8.)
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#include "CImg.h"
+using namespace cimg_library;
+#ifndef cimg_imagepath
+#define cimg_imagepath "img/"
+#endif
+
+// Define convolution mask.
+CImg<float> mask(const unsigned char dirIdx, const unsigned char scale) {
+  int d1 = 1 << (scale-1);
+  int d2 = 1 << scale;
+  int c = d2;
+  int vecLen = (1 << (scale + 1)) + 1;
+
+  float valC  = 0.375f;  // 6/16
+  float valD1 = 0.25f;   // 4/16
+  float valD2 = 0.0625f; // 1/16
+
+  switch(dirIdx){
+  case 0: //x
+    {
+      CImg<float> m(vecLen,1,1);m.fill(0);
+      m(c) = valC;
+      m(c - d1) =  m(c + d1) = valD1;
+      m(c - d2) =  m(c + d2) = valD2;
+      return m;
+    }
+  case 1: //y
+    {
+      CImg<float> m(1,vecLen,1);m.fill(0);
+      m(0,c) = valC;
+      m(0,c - d1) =  m(0,c + d1) = valD1;
+      m(0,c - d2) =  m(0,c + d2) = valD2;
+      return m;
+    }
+  case 2: //t
+    {
+      CImg<float> m(1,1,vecLen);m.fill(0);
+      m(0,0,c) = valC;
+      m(0,0,c - d1) =  m(0,0,c + d1) = valD1;
+      m(0,0,c - d2) =  m(0,0,c + d2) = valD2;
+      return m;
+    }
+  default: throw CImgException("Error, unknow decompostion axe, dirIdx = '%c'.",dirIdx);
+  }
+}
+
+/*------------------
+  Main procedure
+  ----------------*/
+int main(int argc,char **argv) {
+
+  cimg_usage("Perform an 'a trous' wavelet transform (using a cubic spline) on an image or on a video sequence.\n"
+             "This wavelet transform is undecimated and produces 2 images/videos at each scale. For an example of\n"
+             "decomposition on a video, try -i img/trees.inr (sequence from the MIT).\n"
+             "\t(Type -h for help)");
+
+  // Read command line parameters
+  const char
+    *name_i  = cimg_option("-i",cimg_imagepath "parrot.ppm","Input image or video"),
+    *name_o  = cimg_option("-o","","Name of the multiscale analysis output"),
+    *axe_dec = cimg_option("-axe",(char*)0,
+                           "Perform the multiscale decomposition in just one direction ('x', 'y' or 't')");
+  const unsigned int
+    s = cimg_option("-s",3,"Scale of decomposition");
+
+  const bool help = cimg_option("-h",false,"Display Help");
+  if(help) exit(0);
+
+  // Initialize Image Data
+  std::fprintf(stderr," - Load image sequence '%s'...\n",cimg::basename(name_i));
+  const CImg<float> texture_in(name_i);
+  CImg<float> mask_conv;
+  CImgList<float> res(s,texture_in.width(),texture_in.height(),texture_in.depth());
+  CImgList<float> wav(s,texture_in.width(),texture_in.height(),texture_in.depth());
+  cimglist_for(res,l) { res(l).fill(0.0); wav(l).fill(0.0);}
+  unsigned int i;
+
+  int firstDirIdx = 0;
+  int lastDirIdx = 2;
+  if (axe_dec){// The multiscale decomposition will be performed in just one direction
+    char c = cimg::uncase(axe_dec[0]);
+    switch(c) {
+    case 'x': {firstDirIdx = 0; break;}
+    case 'y': {firstDirIdx = 1; break;}
+    case 't': {firstDirIdx = 2; break;}
+    default: throw CImgException("Error, unknow decompostion axe '%c', try 'x', 'y' or 't'",c);
+    }
+    lastDirIdx = firstDirIdx;//only one direction
+  }
+
+  for(i=0;i<s;i++){
+    std::fprintf(stderr," - Performing scale %u ...\n",i + 1);
+    if(i==0){ res(i) =  texture_in;} else {  res(i) = res(i - 1);}
+    for(int di=firstDirIdx;di<=lastDirIdx;di++){
+      mask_conv = mask((unsigned char)di, (unsigned char)(i + 1));
+      res(i) = res(i).get_convolve(mask_conv);
+    }
+    if(i==0){wav(i) = texture_in - res(i);}  // res(0) and wav(0) are the 1st scale of decompostion
+    else {wav(i) = res(i - 1) - res(i);}
+  }
+
+  if (*name_o){
+    // Save the Multi-Scale Analysis
+    std::fprintf(stderr," - Saving of all output sequences : %s in the msa/ directory... \n",cimg::basename(name_o));
+    int count = 1; // res0 = original image
+    char filename[256] = "", filename_wav[256] = "";
+    char STmp[3] = "";
+    const int err = std::system("mkdir msa");
+    if (!err) for(i=0;i<s;i++) {
+      std::strcpy( filename, "msa/res" );
+      std::strcpy( filename_wav, "msa/wav" );
+      if( count < 10 )
+        { std::strcat( filename, "0" );std::strcat( filename_wav, "0" );}
+      std::sprintf( STmp, "%d_", count );
+      std::strcat( filename, STmp ); std::strcat( filename_wav, STmp );
+      std::strcat( filename,name_o);std::strcat( filename_wav,name_o);
+      res(i).save(filename);
+      wav(i).save(filename_wav);
+      count++;
+    }
+  }
+
+  // Result visualization
+  const float col[] = { 255, 255, 255 };
+  for(i=0;i<s;i++) {
+    res[i].normalize(0,255).draw_text(2,2,"Scale %d",col,0,1,13,i);
+    wav[i].normalize(0,255).draw_text(2,2,"Scale %d",col,0,1,13,i);
+  }
+
+  CImgDisplay disp(res,"Approximations levels by increasing scale",0);
+  CImgDisplay disp2(wav,"Wavelet coefficients by increasing scale",0);
+  while (!disp.is_closed() && !disp.is_keyQ() && !disp.is_keyESC() &&
+         !disp2.is_closed() && !disp2.is_keyQ() && !disp2.is_keyESC()) {
+    if (disp.is_resized()) disp.resize().display(res);
+    if (disp2.is_resized()) disp2.resize().display(wav);
+    CImgDisplay::wait(disp,disp2);
+  }
+
+  return 0;
+}
diff --git a/html/CImg.doxygen b/html/CImg.doxygen
new file mode 100644
index 0000000..c83c913
--- /dev/null
+++ b/html/CImg.doxygen
@@ -0,0 +1,1473 @@
+# Doxyfile 1.5.7.1
+
+# This file describes the settings to be used by the documentation system
+# doxygen (www.doxygen.org) for a project
+#
+# All text after a hash (#) is considered a comment and will be ignored
+# The format is:
+#       TAG = value [value, ...]
+# For lists items can also be appended using:
+#       TAG += value [value, ...]
+# Values that contain spaces should be placed between quotes (" ")
+
+#---------------------------------------------------------------------------
+# Project related configuration options
+#---------------------------------------------------------------------------
+
+# This tag specifies the encoding used for all characters in the config file
+# that follow. The default is UTF-8 which is also the encoding used for all
+# text before the first occurrence of this tag. Doxygen uses libiconv (or the
+# iconv built into libc) for the transcoding. See
+# http://www.gnu.org/software/libiconv for the list of possible encodings.
+
+DOXYFILE_ENCODING      = UTF-8
+
+# The PROJECT_NAME tag is a single word (or a sequence of words surrounded
+# by quotes) that should identify the project.
+
+PROJECT_NAME           = "The CImg Library"
+
+# The PROJECT_NUMBER tag can be used to enter a project or revision number.
+# This could be handy for archiving the generated documentation or
+# if some version control system is used.
+
+PROJECT_NUMBER         = _cimg_version
+
+# The OUTPUT_DIRECTORY tag is used to specify the (relative or absolute)
+# base path where the generated documentation will be put.
+# If a relative path is entered, it will be relative to the location
+# where doxygen was started. If left blank the current directory will be used.
+
+OUTPUT_DIRECTORY       =
+
+# If the CREATE_SUBDIRS tag is set to YES, then doxygen will create
+# 4096 sub-directories (in 2 levels) under the output directory of each output
+# format and will distribute the generated files over these directories.
+# Enabling this option can be useful when feeding doxygen a huge amount of
+# source files, where putting all generated files in the same directory would
+# otherwise cause performance problems for the file system.
+
+CREATE_SUBDIRS         = NO
+
+# The OUTPUT_LANGUAGE tag is used to specify the language in which all
+# documentation generated by doxygen is written. Doxygen will use this
+# information to generate all constant output in the proper language.
+# The default language is English, other supported languages are:
+# Afrikaans, Arabic, Brazilian, Catalan, Chinese, Chinese-Traditional,
+# Croatian, Czech, Danish, Dutch, Farsi, Finnish, French, German, Greek,
+# Hungarian, Italian, Japanese, Japanese-en (Japanese with English messages),
+# Korean, Korean-en, Lithuanian, Norwegian, Macedonian, Persian, Polish,
+# Portuguese, Romanian, Russian, Serbian, Serbian-Cyrilic, Slovak, Slovene,
+# Spanish, Swedish, and Ukrainian.
+
+OUTPUT_LANGUAGE        = English
+
+# If the BRIEF_MEMBER_DESC tag is set to YES (the default) Doxygen will
+# include brief member descriptions after the members that are listed in
+# the file and class documentation (similar to JavaDoc).
+# Set to NO to disable this.
+
+BRIEF_MEMBER_DESC      = YES
+
+# If the REPEAT_BRIEF tag is set to YES (the default) Doxygen will prepend
+# the brief description of a member or function before the detailed description.
+# Note: if both HIDE_UNDOC_MEMBERS and BRIEF_MEMBER_DESC are set to NO, the
+# brief descriptions will be completely suppressed.
+
+REPEAT_BRIEF           = YES
+
+# This tag implements a quasi-intelligent brief description abbreviator
+# that is used to form the text in various listings. Each string
+# in this list, if found as the leading text of the brief description, will be
+# stripped from the text and the result after processing the whole list, is
+# used as the annotated text. Otherwise, the brief description is used as-is.
+# If left blank, the following values are used ("$name" is automatically
+# replaced with the name of the entity): "The $name class" "The $name widget"
+# "The $name file" "is" "provides" "specifies" "contains"
+# "represents" "a" "an" "the"
+
+ABBREVIATE_BRIEF       =
+
+# If the ALWAYS_DETAILED_SEC and REPEAT_BRIEF tags are both set to YES then
+# Doxygen will generate a detailed section even if there is only a brief
+# description.
+
+ALWAYS_DETAILED_SEC    = NO
+
+# If the INLINE_INHERITED_MEMB tag is set to YES, doxygen will show all
+# inherited members of a class in the documentation of that class as if those
+# members were ordinary class members. Constructors, destructors and assignment
+# operators of the base classes will not be shown.
+
+INLINE_INHERITED_MEMB  = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then Doxygen will prepend the full
+# path before files name in the file list and in the header files. If set
+# to NO the shortest path that makes the file name unique will be used.
+
+FULL_PATH_NAMES        = NO
+
+# If the FULL_PATH_NAMES tag is set to YES then the STRIP_FROM_PATH tag
+# can be used to strip a user-defined part of the path. Stripping is
+# only done if one of the specified strings matches the left-hand part of
+# the path. The tag can be used to show relative paths in the file list.
+# If left blank the directory from which doxygen is run is used as the
+# path to strip.
+
+STRIP_FROM_PATH        =
+
+# The STRIP_FROM_INC_PATH tag can be used to strip a user-defined part of
+# the path mentioned in the documentation of a class, which tells
+# the reader which header file to include in order to use a class.
+# If left blank only the name of the header file containing the class
+# definition is used. Otherwise one should specify the include paths that
+# are normally passed to the compiler using the -I flag.
+
+STRIP_FROM_INC_PATH    =
+
+# If the SHORT_NAMES tag is set to YES, doxygen will generate much shorter
+# (but less readable) file names. This can be useful is your file systems
+# doesn't support long names like on DOS, Mac, or CD-ROM.
+
+SHORT_NAMES            = NO
+
+# If the JAVADOC_AUTOBRIEF tag is set to YES then Doxygen
+# will interpret the first line (until the first dot) of a JavaDoc-style
+# comment as the brief description. If set to NO, the JavaDoc
+# comments will behave just like regular Qt-style comments
+# (thus requiring an explicit @brief command for a brief description.)
+
+JAVADOC_AUTOBRIEF      = NO
+
+# If the QT_AUTOBRIEF tag is set to YES then Doxygen will
+# interpret the first line (until the first dot) of a Qt-style
+# comment as the brief description. If set to NO, the comments
+# will behave just like regular Qt-style comments (thus requiring
+# an explicit \brief command for a brief description.)
+
+QT_AUTOBRIEF           = NO
+
+# The MULTILINE_CPP_IS_BRIEF tag can be set to YES to make Doxygen
+# treat a multi-line C++ special comment block (i.e. a block of //! or ///
+# comments) as a brief description. This used to be the default behaviour.
+# The new default is to treat a multi-line C++ comment block as a detailed
+# description. Set this tag to YES if you prefer the old behaviour instead.
+
+MULTILINE_CPP_IS_BRIEF = NO
+
+# If the INHERIT_DOCS tag is set to YES (the default) then an undocumented
+# member inherits the documentation from any documented member that it
+# re-implements.
+
+INHERIT_DOCS           = NO
+
+# If the SEPARATE_MEMBER_PAGES tag is set to YES, then doxygen will produce
+# a new page for each member. If set to NO, the documentation of a member will
+# be part of the file/class/namespace that contains it.
+
+SEPARATE_MEMBER_PAGES  = NO
+
+# The TAB_SIZE tag can be used to set the number of spaces in a tab.
+# Doxygen uses this value to replace tabs by spaces in code fragments.
+
+TAB_SIZE               = 8
+
+# This tag can be used to specify a number of aliases that acts
+# as commands in the documentation. An alias has the form "name=value".
+# For example adding "sideeffect=\par Side Effects:\n" will allow you to
+# put the command \sideeffect (or @sideeffect) in the documentation, which
+# will result in a user-defined paragraph with heading "Side Effects:".
+# You can put \n's in the value part of an alias to insert newlines.
+
+ALIASES                = CImg="<tt>%CImg</tt>" specialization="<b>[specialization]</b>" newinstance="<b>[new-instance version]</b>" const="<b>[const version]</b>" inplace="<b>[in-place version]</b>" overloading="<b>[overloading]</b>" simplification="<b>[simplification]</b>"
+
+# Set the OPTIMIZE_OUTPUT_FOR_C tag to YES if your project consists of C
+# sources only. Doxygen will then generate output that is more tailored for C.
+# For instance, some of the names that are used will be different. The list
+# of all members will be omitted, etc.
+
+OPTIMIZE_OUTPUT_FOR_C  = NO
+
+# Set the OPTIMIZE_OUTPUT_JAVA tag to YES if your project consists of Java
+# sources only. Doxygen will then generate output that is more tailored for
+# Java. For instance, namespaces will be presented as packages, qualified
+# scopes will look different, etc.
+
+OPTIMIZE_OUTPUT_JAVA   = NO
+
+# Set the OPTIMIZE_FOR_FORTRAN tag to YES if your project consists of Fortran
+# sources only. Doxygen will then generate output that is more tailored for
+# Fortran.
+
+OPTIMIZE_FOR_FORTRAN   = NO
+
+# Set the OPTIMIZE_OUTPUT_VHDL tag to YES if your project consists of VHDL
+# sources. Doxygen will then generate output that is tailored for
+# VHDL.
+
+OPTIMIZE_OUTPUT_VHDL   = NO
+
+# If you use STL classes (i.e. std::string, std::vector, etc.) but do not want
+# to include (a tag file for) the STL sources as input, then you should
+# set this tag to YES in order to let doxygen match functions declarations and
+# definitions whose arguments contain STL classes (e.g. func(std::string); v.s.
+# func(std::string) {}). This also make the inheritance and collaboration
+# diagrams that involve STL classes more complete and accurate.
+
+BUILTIN_STL_SUPPORT    = NO
+
+# If you use Microsoft's C++/CLI language, you should set this option to YES to
+# enable parsing support.
+
+CPP_CLI_SUPPORT        = NO
+
+# Set the SIP_SUPPORT tag to YES if your project consists of sip sources only.
+# Doxygen will parse them like normal C++ but will assume all classes use public
+# instead of private inheritance when no explicit protection keyword is present.
+
+SIP_SUPPORT            = NO
+
+# For Microsoft's IDL there are propget and propput attributes to indicate getter
+# and setter methods for a property. Setting this option to YES (the default)
+# will make doxygen to replace the get and set methods by a property in the
+# documentation. This will only work if the methods are indeed getting or
+# setting a simple type. If this is not the case, or you want to show the
+# methods anyway, you should set this option to NO.
+
+IDL_PROPERTY_SUPPORT   = YES
+
+# If member grouping is used in the documentation and the DISTRIBUTE_GROUP_DOC
+# tag is set to YES, then doxygen will reuse the documentation of the first
+# member in the group (if any) for the other members of the group. By default
+# all members of a group must be documented explicitly.
+
+DISTRIBUTE_GROUP_DOC   = NO
+
+# Set the SUBGROUPING tag to YES (the default) to allow class member groups of
+# the same type (for instance a group of public functions) to be put as a
+# subgroup of that type (e.g. under the Public Functions section). Set it to
+# NO to prevent subgrouping. Alternatively, this can be done per class using
+# the \nosubgrouping command.
+
+SUBGROUPING            = NO
+
+# When TYPEDEF_HIDES_STRUCT is enabled, a typedef of a struct, union, or enum
+# is documented as struct, union, or enum with the name of the typedef. So
+# typedef struct TypeS {} TypeT, will appear in the documentation as a struct
+# with name TypeT. When disabled the typedef will appear as a member of a file,
+# namespace, or class. And the struct will be named TypeS. This can typically
+# be useful for C code in case the coding convention dictates that all compound
+# types are typedef'ed and only the typedef is referenced, never the tag name.
+
+TYPEDEF_HIDES_STRUCT   = NO
+
+# The SYMBOL_CACHE_SIZE determines the size of the internal cache use to
+# determine which symbols to keep in memory and which to flush to disk.
+# When the cache is full, less often used symbols will be written to disk.
+# For small to medium size projects (<1000 input files) the default value is
+# probably good enough. For larger projects a too small cache size can cause
+# doxygen to be busy swapping symbols to and from disk most of the time
+# causing a significant performance penality.
+# If the system has enough physical memory increasing the cache will improve the
+# performance by keeping more symbols in memory. Note that the value works on
+# a logarithmic scale so increasing the size by one will rougly double the
+# memory usage. The cache size is given by this formula:
+# 2^(16+SYMBOL_CACHE_SIZE). The valid range is 0..9, the default is 0,
+# corresponding to a cache size of 2^16 = 65536 symbols
+
+SYMBOL_CACHE_SIZE      = 0
+
+#---------------------------------------------------------------------------
+# Build related configuration options
+#---------------------------------------------------------------------------
+
+# If the EXTRACT_ALL tag is set to YES doxygen will assume all entities in
+# documentation are documented, even if no documentation was available.
+# Private class members and static file members will be hidden unless
+# the EXTRACT_PRIVATE and EXTRACT_STATIC tags are set to YES
+
+EXTRACT_ALL            = NO
+
+# If the EXTRACT_PRIVATE tag is set to YES all private members of a class
+# will be included in the documentation.
+
+EXTRACT_PRIVATE        = NO
+
+# If the EXTRACT_STATIC tag is set to YES all static members of a file
+# will be included in the documentation.
+
+EXTRACT_STATIC         = NO
+
+# If the EXTRACT_LOCAL_CLASSES tag is set to YES classes (and structs)
+# defined locally in source files will be included in the documentation.
+# If set to NO only classes defined in header files are included.
+
+EXTRACT_LOCAL_CLASSES  = NO
+
+# This flag is only useful for Objective-C code. When set to YES local
+# methods, which are defined in the implementation section but not in
+# the interface are included in the documentation.
+# If set to NO (the default) only methods in the interface are included.
+
+EXTRACT_LOCAL_METHODS  = NO
+
+# If this flag is set to YES, the members of anonymous namespaces will be
+# extracted and appear in the documentation as a namespace called
+# 'anonymous_namespace{file}', where file will be replaced with the base
+# name of the file that contains the anonymous namespace. By default
+# anonymous namespace are hidden.
+
+EXTRACT_ANON_NSPACES   = NO
+
+# If the HIDE_UNDOC_MEMBERS tag is set to YES, Doxygen will hide all
+# undocumented members of documented classes, files or namespaces.
+# If set to NO (the default) these members will be included in the
+# various overviews, but no documentation section is generated.
+# This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_MEMBERS     = YES
+
+# If the HIDE_UNDOC_CLASSES tag is set to YES, Doxygen will hide all
+# undocumented classes that are normally visible in the class hierarchy.
+# If set to NO (the default) these classes will be included in the various
+# overviews. This option has no effect if EXTRACT_ALL is enabled.
+
+HIDE_UNDOC_CLASSES     = YES
+
+# If the HIDE_FRIEND_COMPOUNDS tag is set to YES, Doxygen will hide all
+# friend (class|struct|union) declarations.
+# If set to NO (the default) these declarations will be included in the
+# documentation.
+
+HIDE_FRIEND_COMPOUNDS  = YES
+
+# If the HIDE_IN_BODY_DOCS tag is set to YES, Doxygen will hide any
+# documentation blocks found inside the body of a function.
+# If set to NO (the default) these blocks will be appended to the
+# function's detailed documentation block.
+
+HIDE_IN_BODY_DOCS      = YES
+
+# The INTERNAL_DOCS tag determines if documentation
+# that is typed after a \internal command is included. If the tag is set
+# to NO (the default) then the documentation will be excluded.
+# Set it to YES to include the internal documentation.
+
+INTERNAL_DOCS          = NO
+
+# If the CASE_SENSE_NAMES tag is set to NO then Doxygen will only generate
+# file names in lower-case letters. If set to YES upper-case letters are also
+# allowed. This is useful if you have classes or files whose names only differ
+# in case and if your file system supports case sensitive file names. Windows
+# and Mac users are advised to set this option to NO.
+
+CASE_SENSE_NAMES       = YES
+
+# If the HIDE_SCOPE_NAMES tag is set to NO (the default) then Doxygen
+# will show members with their full class and namespace scopes in the
+# documentation. If set to YES the scope will be hidden.
+
+HIDE_SCOPE_NAMES       = YES
+
+# If the SHOW_INCLUDE_FILES tag is set to YES (the default) then Doxygen
+# will put a list of the files that are included by a file in the documentation
+# of that file.
+
+SHOW_INCLUDE_FILES     = NO
+
+# If the INLINE_INFO tag is set to YES (the default) then a tag [inline]
+# is inserted in the documentation for inline members.
+
+INLINE_INFO            = NO
+
+# If the SORT_MEMBER_DOCS tag is set to YES (the default) then doxygen
+# will sort the (detailed) documentation of file and class members
+# alphabetically by member name. If set to NO the members will appear in
+# declaration order.
+
+SORT_MEMBER_DOCS       = NO
+
+# If the SORT_BRIEF_DOCS tag is set to YES then doxygen will sort the
+# brief documentation of file, namespace and class members alphabetically
+# by member name. If set to NO (the default) the members will appear in
+# declaration order.
+
+SORT_BRIEF_DOCS        = NO
+
+# If the SORT_GROUP_NAMES tag is set to YES then doxygen will sort the
+# hierarchy of group names into alphabetical order. If set to NO (the default)
+# the group names will appear in their defined order.
+
+SORT_GROUP_NAMES       = NO
+
+# If the SORT_BY_SCOPE_NAME tag is set to YES, the class list will be
+# sorted by fully-qualified names, including namespaces. If set to
+# NO (the default), the class list will be sorted only by class name,
+# not including the namespace part.
+# Note: This option is not very useful if HIDE_SCOPE_NAMES is set to YES.
+# Note: This option applies only to the class list, not to the
+# alphabetical list.
+
+SORT_BY_SCOPE_NAME     = NO
+
+# The GENERATE_TODOLIST tag can be used to enable (YES) or
+# disable (NO) the todo list. This list is created by putting \todo
+# commands in the documentation.
+
+GENERATE_TODOLIST      = NO
+
+# The GENERATE_TESTLIST tag can be used to enable (YES) or
+# disable (NO) the test list. This list is created by putting \test
+# commands in the documentation.
+
+GENERATE_TESTLIST      = NO
+
+# The GENERATE_BUGLIST tag can be used to enable (YES) or
+# disable (NO) the bug list. This list is created by putting \bug
+# commands in the documentation.
+
+GENERATE_BUGLIST       = NO
+
+# The GENERATE_DEPRECATEDLIST tag can be used to enable (YES) or
+# disable (NO) the deprecated list. This list is created by putting
+# \deprecated commands in the documentation.
+
+GENERATE_DEPRECATEDLIST= NO
+
+# The ENABLED_SECTIONS tag can be used to enable conditional
+# documentation sections, marked by \if sectionname ... \endif.
+
+ENABLED_SECTIONS       =
+
+# The MAX_INITIALIZER_LINES tag determines the maximum number of lines
+# the initial value of a variable or define consists of for it to appear in
+# the documentation. If the initializer consists of more lines than specified
+# here it will be hidden. Use a value of 0 to hide initializers completely.
+# The appearance of the initializer of individual variables and defines in the
+# documentation can be controlled using \showinitializer or \hideinitializer
+# command in the documentation regardless of this setting.
+
+MAX_INITIALIZER_LINES  = 30
+
+# Set the SHOW_USED_FILES tag to NO to disable the list of files generated
+# at the bottom of the documentation of classes and structs. If set to YES the
+# list will mention the files that were used to generate the documentation.
+
+SHOW_USED_FILES        = NO
+
+# If the sources in your project are distributed over multiple directories
+# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
+# in the documentation. The default is NO.
+
+SHOW_DIRECTORIES       = NO
+
+# Set the SHOW_FILES tag to NO to disable the generation of the Files page.
+# This will remove the Files entry from the Quick Index and from the
+# Folder Tree View (if specified). The default is YES.
+
+SHOW_FILES             = NO
+
+# Set the SHOW_NAMESPACES tag to NO to disable the generation of the
+# Namespaces page.  This will remove the Namespaces entry from the Quick Index
+# and from the Folder Tree View (if specified). The default is YES.
+
+SHOW_NAMESPACES        = YES
+
+# The FILE_VERSION_FILTER tag can be used to specify a program or script that
+# doxygen should invoke to get the current version for each file (typically from
+# the version control system). Doxygen will invoke the program by executing (via
+# popen()) the command <command> <input-file>, where <command> is the value of
+# the FILE_VERSION_FILTER tag, and <input-file> is the name of an input file
+# provided by doxygen. Whatever the program writes to standard output
+# is used as the file version. See the manual for examples.
+
+FILE_VERSION_FILTER    =
+
+# The LAYOUT_FILE tag can be used to specify a layout file which will be parsed by
+# doxygen. The layout file controls the global structure of the generated output files
+# in an output format independent way. The create the layout file that represents
+# doxygen's defaults, run doxygen with the -l option. You can optionally specify a
+# file name after the option, if omitted DoxygenLayout.xml will be used as the name
+# of the layout file.
+
+LAYOUT_FILE            =
+
+#---------------------------------------------------------------------------
+# configuration options related to warning and progress messages
+#---------------------------------------------------------------------------
+
+# The QUIET tag can be used to turn on/off the messages that are generated
+# by doxygen. Possible values are YES and NO. If left blank NO is used.
+
+QUIET                  = NO
+
+# The WARNINGS tag can be used to turn on/off the warning messages that are
+# generated by doxygen. Possible values are YES and NO. If left blank
+# NO is used.
+
+WARNINGS               = YES
+
+# If WARN_IF_UNDOCUMENTED is set to YES, then doxygen will generate warnings
+# for undocumented members. If EXTRACT_ALL is set to YES then this flag will
+# automatically be disabled.
+
+WARN_IF_UNDOCUMENTED   = NO
+
+# If WARN_IF_DOC_ERROR is set to YES, doxygen will generate warnings for
+# potential errors in the documentation, such as not documenting some
+# parameters in a documented function, or documenting parameters that
+# don't exist or using markup commands wrongly.
+
+WARN_IF_DOC_ERROR      = YES
+
+# This WARN_NO_PARAMDOC option can be abled to get warnings for
+# functions that are documented, but have no documentation for their parameters
+# or return value. If set to NO (the default) doxygen will only warn about
+# wrong or incomplete parameter documentation, but not about the absence of
+# documentation.
+
+WARN_NO_PARAMDOC       = NO
+
+# The WARN_FORMAT tag determines the format of the warning messages that
+# doxygen can produce. The string should contain the $file, $line, and $text
+# tags, which will be replaced by the file and line number from which the
+# warning originated and the warning text. Optionally the format may contain
+# $version, which will be replaced by the version of the file (if it could
+# be obtained via FILE_VERSION_FILTER)
+
+WARN_FORMAT            = "$file:$line: $text"
+
+# The WARN_LOGFILE tag can be used to specify a file to which warning
+# and error messages should be written. If left blank the output is written
+# to stderr.
+
+WARN_LOGFILE           =
+
+#---------------------------------------------------------------------------
+# configuration options related to the input files
+#---------------------------------------------------------------------------
+
+# The INPUT tag can be used to specify the files and/or directories that contain
+# documented source files. You may enter file names like "myfile.cpp" or
+# directories like "/usr/src/myproject". Separate the files or directories
+# with spaces.
+
+INPUT                  = ../CImg.h CImg_documentation.h
+
+# This tag can be used to specify the character encoding of the source files
+# that doxygen parses. Internally doxygen uses the UTF-8 encoding, which is
+# also the default input encoding. Doxygen uses libiconv (or the iconv built
+# into libc) for the transcoding. See http://www.gnu.org/software/libiconv for
+# the list of possible encodings.
+
+INPUT_ENCODING         = UTF-8
+
+# If the value of the INPUT tag contains directories, you can use the
+# FILE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank the following patterns are tested:
+# *.c *.cc *.cxx *.cpp *.c++ *.java *.ii *.ixx *.ipp *.i++ *.inl *.h *.hh *.hxx
+# *.hpp *.h++ *.idl *.odl *.cs *.php *.php3 *.inc *.m *.mm *.py *.f90
+
+FILE_PATTERNS          =
+
+# The RECURSIVE tag can be used to turn specify whether or not subdirectories
+# should be searched for input files as well. Possible values are YES and NO.
+# If left blank NO is used.
+
+RECURSIVE              = NO
+
+# The EXCLUDE tag can be used to specify files and/or directories that should
+# excluded from the INPUT source files. This way you can easily exclude a
+# subdirectory from a directory tree whose root is specified with the INPUT tag.
+
+EXCLUDE                =
+
+# The EXCLUDE_SYMLINKS tag can be used select whether or not files or
+# directories that are symbolic links (a Unix filesystem feature) are excluded
+# from the input.
+
+EXCLUDE_SYMLINKS       = NO
+
+# If the value of the INPUT tag contains directories, you can use the
+# EXCLUDE_PATTERNS tag to specify one or more wildcard patterns to exclude
+# certain files from those directories. Note that the wildcards are matched
+# against the file with absolute path, so to exclude all test directories
+# for example use the pattern */test/*
+
+EXCLUDE_PATTERNS       =
+
+# The EXCLUDE_SYMBOLS tag can be used to specify one or more symbol names
+# (namespaces, classes, functions, etc.) that should be excluded from the
+# output. The symbol name can be a fully qualified name, a word, or if the
+# wildcard * is used, a substring. Examples: ANamespace, AClass,
+# AClass::ANamespace, ANamespace::*Test
+
+EXCLUDE_SYMBOLS        = _*
+
+# The EXAMPLE_PATH tag can be used to specify one or more files or
+# directories that contain example code fragments that are included (see
+# the \include command).
+
+EXAMPLE_PATH           =
+
+# If the value of the EXAMPLE_PATH tag contains directories, you can use the
+# EXAMPLE_PATTERNS tag to specify one or more wildcard pattern (like *.cpp
+# and *.h) to filter out the source-files in the directories. If left
+# blank all files are included.
+
+EXAMPLE_PATTERNS       =
+
+# If the EXAMPLE_RECURSIVE tag is set to YES then subdirectories will be
+# searched for input files to be used with the \include or \dontinclude
+# commands irrespective of the value of the RECURSIVE tag.
+# Possible values are YES and NO. If left blank NO is used.
+
+EXAMPLE_RECURSIVE      = NO
+
+# The IMAGE_PATH tag can be used to specify one or more files or
+# directories that contain image that are included in the documentation (see
+# the \image command).
+
+IMAGE_PATH             = img/reference
+
+# The INPUT_FILTER tag can be used to specify a program that doxygen should
+# invoke to filter for each input file. Doxygen will invoke the filter program
+# by executing (via popen()) the command <filter> <input-file>, where <filter>
+# is the value of the INPUT_FILTER tag, and <input-file> is the name of an
+# input file. Doxygen will then use the output that the filter program writes
+# to standard output.  If FILTER_PATTERNS is specified, this tag will be
+# ignored.
+
+INPUT_FILTER           =
+
+# The FILTER_PATTERNS tag can be used to specify filters on a per file pattern
+# basis.  Doxygen will compare the file name with each pattern and apply the
+# filter if there is a match.  The filters are a list of the form:
+# pattern=filter (like *.cpp=my_cpp_filter). See INPUT_FILTER for further
+# info on how filters are used. If FILTER_PATTERNS is empty, INPUT_FILTER
+# is applied to all files.
+
+FILTER_PATTERNS        =
+
+# If the FILTER_SOURCE_FILES tag is set to YES, the input filter (if set using
+# INPUT_FILTER) will be used to filter the input files when producing source
+# files to browse (i.e. when SOURCE_BROWSER is set to YES).
+
+FILTER_SOURCE_FILES    = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to source browsing
+#---------------------------------------------------------------------------
+
+# If the SOURCE_BROWSER tag is set to YES then a list of source files will
+# be generated. Documented entities will be cross-referenced with these sources.
+# Note: To get rid of all source code in the generated output, make sure also
+# VERBATIM_HEADERS is set to NO.
+
+SOURCE_BROWSER         = NO
+
+# Setting the INLINE_SOURCES tag to YES will include the body
+# of functions and classes directly in the documentation.
+
+INLINE_SOURCES         = NO
+
+# Setting the STRIP_CODE_COMMENTS tag to YES (the default) will instruct
+# doxygen to hide any special comment blocks from generated source code
+# fragments. Normal C and C++ comments will always remain visible.
+
+STRIP_CODE_COMMENTS    = YES
+
+# If the REFERENCED_BY_RELATION tag is set to YES
+# then for each documented function all documented
+# functions referencing it will be listed.
+
+REFERENCED_BY_RELATION = NO
+
+# If the REFERENCES_RELATION tag is set to YES
+# then for each documented function all documented entities
+# called/used by that function will be listed.
+
+REFERENCES_RELATION    = NO
+
+# If the REFERENCES_LINK_SOURCE tag is set to YES (the default)
+# and SOURCE_BROWSER tag is set to YES, then the hyperlinks from
+# functions in REFERENCES_RELATION and REFERENCED_BY_RELATION lists will
+# link to the source code.  Otherwise they will link to the documentstion.
+
+REFERENCES_LINK_SOURCE = YES
+
+# If the USE_HTAGS tag is set to YES then the references to source code
+# will point to the HTML generated by the htags(1) tool instead of doxygen
+# built-in source browser. The htags tool is part of GNU's global source
+# tagging system (see http://www.gnu.org/software/global/global.html). You
+# will need version 4.8.6 or higher.
+
+USE_HTAGS              = NO
+
+# If the VERBATIM_HEADERS tag is set to YES (the default) then Doxygen
+# will generate a verbatim copy of the header file for each class for
+# which an include is specified. Set to NO to disable this.
+
+VERBATIM_HEADERS       = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the alphabetical class index
+#---------------------------------------------------------------------------
+
+# If the ALPHABETICAL_INDEX tag is set to YES, an alphabetical index
+# of all compounds will be generated. Enable this if the project
+# contains a lot of classes, structs, unions or interfaces.
+
+ALPHABETICAL_INDEX     = NO
+
+# If the alphabetical index is enabled (see ALPHABETICAL_INDEX) then
+# the COLS_IN_ALPHA_INDEX tag can be used to specify the number of columns
+# in which this list will be split (can be a number in the range [1..20])
+
+COLS_IN_ALPHA_INDEX    = 5
+
+# In case all classes in a project start with a common prefix, all
+# classes will be put under the same header in the alphabetical index.
+# The IGNORE_PREFIX tag can be used to specify one or more prefixes that
+# should be ignored while generating the index headers.
+
+IGNORE_PREFIX          =
+
+#---------------------------------------------------------------------------
+# configuration options related to the HTML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_HTML tag is set to YES (the default) Doxygen will
+# generate HTML output.
+
+GENERATE_HTML          = YES
+
+# The HTML_OUTPUT tag is used to specify where the HTML docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `html' will be used as the default path.
+
+HTML_OUTPUT            = reference
+
+# The HTML_FILE_EXTENSION tag can be used to specify the file extension for
+# each generated HTML page (for example: .htm,.php,.asp). If it is left blank
+# doxygen will generate files with .html extension.
+
+HTML_FILE_EXTENSION    = .html
+
+# The HTML_HEADER tag can be used to specify a personal HTML header for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard header.
+
+HTML_HEADER            = header_reference.html
+
+# The HTML_FOOTER tag can be used to specify a personal HTML footer for
+# each generated HTML page. If it is left blank doxygen will generate a
+# standard footer.
+
+HTML_FOOTER            = footer_reference.html
+
+# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
+# style sheet that is used by each HTML page. It can be used to
+# fine-tune the look of the HTML output. If the tag is left blank doxygen
+# will generate a default style sheet. Note that doxygen will try to copy
+# the style sheet file to the HTML output directory, so don't put your own
+# stylesheet in the HTML output directory as well, or it will be erased!
+
+HTML_STYLESHEET        =
+
+# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
+# files or namespaces will be aligned in HTML using tables. If set to
+# NO a bullet list will be used.
+
+HTML_ALIGN_MEMBERS     = YES
+
+# If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
+# documentation will contain sections that can be hidden and shown after the
+# page has loaded. For this to work a browser that supports
+# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
+# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+
+HTML_DYNAMIC_SECTIONS  = YES
+
+# If the GENERATE_DOCSET tag is set to YES, additional index files
+# will be generated that can be used as input for Apple's Xcode 3
+# integrated development environment, introduced with OSX 10.5 (Leopard).
+# To create a documentation set, doxygen will generate a Makefile in the
+# HTML output directory. Running make will produce the docset in that
+# directory and running "make install" will install the docset in
+# ~/Library/Developer/Shared/Documentation/DocSets so that Xcode will find
+# it at startup.
+# See http://developer.apple.com/tools/creatingdocsetswithdoxygen.html for more information.
+
+GENERATE_DOCSET        = NO
+
+# When GENERATE_DOCSET tag is set to YES, this tag determines the name of the
+# feed. A documentation feed provides an umbrella under which multiple
+# documentation sets from a single provider (such as a company or product suite)
+# can be grouped.
+
+DOCSET_FEEDNAME        = "Doxygen generated docs"
+
+# When GENERATE_DOCSET tag is set to YES, this tag specifies a string that
+# should uniquely identify the documentation set bundle. This should be a
+# reverse domain-name style string, e.g. com.mycompany.MyDocSet. Doxygen
+# will append .docset to the name.
+
+DOCSET_BUNDLE_ID       = org.doxygen.Project
+
+# If the GENERATE_HTMLHELP tag is set to YES, additional index files
+# will be generated that can be used as input for tools like the
+# Microsoft HTML help workshop to generate a compiled HTML help file (.chm)
+# of the generated HTML documentation.
+
+GENERATE_HTMLHELP      = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_FILE tag can
+# be used to specify the file name of the resulting .chm file. You
+# can add a path in front of the file if the result should not be
+# written to the html output directory.
+
+CHM_FILE               =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the HHC_LOCATION tag can
+# be used to specify the location (absolute path including file name) of
+# the HTML help compiler (hhc.exe). If non-empty doxygen will try to run
+# the HTML help compiler on the generated index.hhp.
+
+HHC_LOCATION           =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the GENERATE_CHI flag
+# controls if a separate .chi index file is generated (YES) or that
+# it should be included in the master .chm file (NO).
+
+GENERATE_CHI           = NO
+
+# If the GENERATE_HTMLHELP tag is set to YES, the CHM_INDEX_ENCODING
+# is used to encode HtmlHelp index (hhk), content (hhc) and project file
+# content.
+
+CHM_INDEX_ENCODING     =
+
+# If the GENERATE_HTMLHELP tag is set to YES, the BINARY_TOC flag
+# controls whether a binary table of contents is generated (YES) or a
+# normal table of contents (NO) in the .chm file.
+
+BINARY_TOC             = NO
+
+# The TOC_EXPAND flag can be set to YES to add extra items for group members
+# to the contents of the HTML help documentation and to the tree view.
+
+TOC_EXPAND             = NO
+
+# If the GENERATE_QHP tag is set to YES and both QHP_NAMESPACE and QHP_VIRTUAL_FOLDER
+# are set, an additional index file will be generated that can be used as input for
+# Qt's qhelpgenerator to generate a Qt Compressed Help (.qch) of the generated
+# HTML documentation.
+
+GENERATE_QHP           = NO
+
+# If the QHG_LOCATION tag is specified, the QCH_FILE tag can
+# be used to specify the file name of the resulting .qch file.
+# The path specified is relative to the HTML output folder.
+
+QCH_FILE               =
+
+# The QHP_NAMESPACE tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# <a href="http://doc.trolltech.com/qthelpproject.html#namespace">Qt Help Project / Namespace</a>.
+
+QHP_NAMESPACE          = org.doxygen.Project
+
+# The QHP_VIRTUAL_FOLDER tag specifies the namespace to use when generating
+# Qt Help Project output. For more information please see
+# <a href="http://doc.trolltech.com/qthelpproject.html#virtual-folders">Qt Help Project / Virtual Folders</a>.
+
+QHP_VIRTUAL_FOLDER     = doc
+
+# If the GENERATE_QHP tag is set to YES, the QHG_LOCATION tag can
+# be used to specify the location of Qt's qhelpgenerator.
+# If non-empty doxygen will try to run qhelpgenerator on the generated
+# .qhp file .
+
+QHG_LOCATION           =
+
+# The DISABLE_INDEX tag can be used to turn on/off the condensed index at
+# top of each HTML page. The value NO (the default) enables the index and
+# the value YES disables it.
+
+DISABLE_INDEX          = NO
+
+# This tag can be used to set the number of enum values (range [1..20])
+# that doxygen will group on one line in the generated HTML documentation.
+
+ENUM_VALUES_PER_LINE   = 4
+
+# The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
+# structure should be generated to display hierarchical information.
+# If the tag value is set to FRAME, a side panel will be generated
+# containing a tree-like index structure (just like the one that
+# is generated for HTML Help). For this to work a browser that supports
+# JavaScript, DHTML, CSS and frames is required (for instance Mozilla 1.0+,
+# Netscape 6.0+, Internet explorer 5.0+, or Konqueror). Windows users are
+# probably better off using the HTML help feature. Other possible values
+# for this tag are: HIERARCHIES, which will generate the Groups, Directories,
+# and Class Hierarchy pages using a tree view instead of an ordered list;
+# ALL, which combines the behavior of FRAME and HIERARCHIES; and NONE, which
+# disables this behavior completely. For backwards compatibility with previous
+# releases of Doxygen, the values YES and NO are equivalent to FRAME and NONE
+# respectively.
+
+GENERATE_TREEVIEW      = NONE
+
+# If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
+# used to set the initial width (in pixels) of the frame in which the tree
+# is shown.
+
+TREEVIEW_WIDTH         = 250
+
+# Use this tag to change the font size of Latex formulas included
+# as images in the HTML documentation. The default is 10. Note that
+# when you change the font size after a successful doxygen run you need
+# to manually remove any form_*.png images from the HTML output directory
+# to force them to be regenerated.
+
+FORMULA_FONTSIZE       = 10
+
+#---------------------------------------------------------------------------
+# configuration options related to the LaTeX output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_LATEX tag is set to YES (the default) Doxygen will
+# generate Latex output.
+
+GENERATE_LATEX         = YES
+
+# The LATEX_OUTPUT tag is used to specify where the LaTeX docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `latex' will be used as the default path.
+
+LATEX_OUTPUT           = latex
+
+# The LATEX_CMD_NAME tag can be used to specify the LaTeX command name to be
+# invoked. If left blank `latex' will be used as the default command name.
+
+LATEX_CMD_NAME         = latex
+
+# The MAKEINDEX_CMD_NAME tag can be used to specify the command name to
+# generate index for LaTeX. If left blank `makeindex' will be used as the
+# default command name.
+
+MAKEINDEX_CMD_NAME     = makeindex
+
+# If the COMPACT_LATEX tag is set to YES Doxygen generates more compact
+# LaTeX documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_LATEX          = NO
+
+# The PAPER_TYPE tag can be used to set the paper type that is used
+# by the printer. Possible values are: a4, a4wide, letter, legal and
+# executive. If left blank a4wide will be used.
+
+PAPER_TYPE             = a4wide
+
+# The EXTRA_PACKAGES tag can be to specify one or more names of LaTeX
+# packages that should be included in the LaTeX output.
+
+EXTRA_PACKAGES         =
+
+# The LATEX_HEADER tag can be used to specify a personal LaTeX header for
+# the generated latex document. The header should contain everything until
+# the first chapter. If it is left blank doxygen will generate a
+# standard header. Notice: only use this tag if you know what you are doing!
+
+LATEX_HEADER           =
+
+# If the PDF_HYPERLINKS tag is set to YES, the LaTeX that is generated
+# is prepared for conversion to pdf (using ps2pdf). The pdf file will
+# contain links (just like the HTML output) instead of page references
+# This makes the output suitable for online browsing using a pdf viewer.
+
+PDF_HYPERLINKS         = YES
+
+# If the USE_PDFLATEX tag is set to YES, pdflatex will be used instead of
+# plain latex in the generated Makefile. Set this option to YES to get a
+# higher quality PDF documentation.
+
+USE_PDFLATEX           = YES
+
+# If the LATEX_BATCHMODE tag is set to YES, doxygen will add the \\batchmode.
+# command to the generated LaTeX files. This will instruct LaTeX to keep
+# running if errors occur, instead of asking the user for help.
+# This option is also used when generating formulas in HTML.
+
+LATEX_BATCHMODE        = NO
+
+# If LATEX_HIDE_INDICES is set to YES then doxygen will not
+# include the index chapters (such as File Index, Compound Index, etc.)
+# in the output.
+
+LATEX_HIDE_INDICES     = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the RTF output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_RTF tag is set to YES Doxygen will generate RTF output
+# The RTF output is optimized for Word 97 and may not look very pretty with
+# other RTF readers or editors.
+
+GENERATE_RTF           = NO
+
+# The RTF_OUTPUT tag is used to specify where the RTF docs will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `rtf' will be used as the default path.
+
+RTF_OUTPUT             = rtf
+
+# If the COMPACT_RTF tag is set to YES Doxygen generates more compact
+# RTF documents. This may be useful for small projects and may help to
+# save some trees in general.
+
+COMPACT_RTF            = NO
+
+# If the RTF_HYPERLINKS tag is set to YES, the RTF that is generated
+# will contain hyperlink fields. The RTF file will
+# contain links (just like the HTML output) instead of page references.
+# This makes the output suitable for online browsing using WORD or other
+# programs which support those fields.
+# Note: wordpad (write) and others do not support links.
+
+RTF_HYPERLINKS         = NO
+
+# Load stylesheet definitions from file. Syntax is similar to doxygen's
+# config file, i.e. a series of assignments. You only have to provide
+# replacements, missing definitions are set to their default value.
+
+RTF_STYLESHEET_FILE    =
+
+# Set optional variables used in the generation of an rtf document.
+# Syntax is similar to doxygen's config file.
+
+RTF_EXTENSIONS_FILE    =
+
+#---------------------------------------------------------------------------
+# configuration options related to the man page output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_MAN tag is set to YES (the default) Doxygen will
+# generate man pages
+
+GENERATE_MAN           = NO
+
+# The MAN_OUTPUT tag is used to specify where the man pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `man' will be used as the default path.
+
+MAN_OUTPUT             = man
+
+# The MAN_EXTENSION tag determines the extension that is added to
+# the generated man pages (default is the subroutine's section .3)
+
+MAN_EXTENSION          = .3
+
+# If the MAN_LINKS tag is set to YES and Doxygen generates man output,
+# then it will generate one additional man file for each entity
+# documented in the real man page(s). These additional files
+# only source the real man page, but without them the man command
+# would be unable to find the correct page. The default is NO.
+
+MAN_LINKS              = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the XML output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_XML tag is set to YES Doxygen will
+# generate an XML file that captures the structure of
+# the code including all documentation.
+
+GENERATE_XML           = NO
+
+# The XML_OUTPUT tag is used to specify where the XML pages will be put.
+# If a relative path is entered the value of OUTPUT_DIRECTORY will be
+# put in front of it. If left blank `xml' will be used as the default path.
+
+XML_OUTPUT             = xml
+
+# The XML_SCHEMA tag can be used to specify an XML schema,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_SCHEMA             =
+
+# The XML_DTD tag can be used to specify an XML DTD,
+# which can be used by a validating XML parser to check the
+# syntax of the XML files.
+
+XML_DTD                =
+
+# If the XML_PROGRAMLISTING tag is set to YES Doxygen will
+# dump the program listings (including syntax highlighting
+# and cross-referencing information) to the XML output. Note that
+# enabling this will significantly increase the size of the XML output.
+
+XML_PROGRAMLISTING     = YES
+
+#---------------------------------------------------------------------------
+# configuration options for the AutoGen Definitions output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_AUTOGEN_DEF tag is set to YES Doxygen will
+# generate an AutoGen Definitions (see autogen.sf.net) file
+# that captures the structure of the code including all
+# documentation. Note that this feature is still experimental
+# and incomplete at the moment.
+
+GENERATE_AUTOGEN_DEF   = NO
+
+#---------------------------------------------------------------------------
+# configuration options related to the Perl module output
+#---------------------------------------------------------------------------
+
+# If the GENERATE_PERLMOD tag is set to YES Doxygen will
+# generate a Perl module file that captures the structure of
+# the code including all documentation. Note that this
+# feature is still experimental and incomplete at the
+# moment.
+
+GENERATE_PERLMOD       = NO
+
+# If the PERLMOD_LATEX tag is set to YES Doxygen will generate
+# the necessary Makefile rules, Perl scripts and LaTeX code to be able
+# to generate PDF and DVI output from the Perl module output.
+
+PERLMOD_LATEX          = NO
+
+# If the PERLMOD_PRETTY tag is set to YES the Perl module output will be
+# nicely formatted so it can be parsed by a human reader.  This is useful
+# if you want to understand what is going on.  On the other hand, if this
+# tag is set to NO the size of the Perl module output will be much smaller
+# and Perl will parse it just the same.
+
+PERLMOD_PRETTY         = YES
+
+# The names of the make variables in the generated doxyrules.make file
+# are prefixed with the string contained in PERLMOD_MAKEVAR_PREFIX.
+# This is useful so different doxyrules.make files included by the same
+# Makefile don't overwrite each other's variables.
+
+PERLMOD_MAKEVAR_PREFIX =
+
+#---------------------------------------------------------------------------
+# Configuration options related to the preprocessor
+#---------------------------------------------------------------------------
+
+# If the ENABLE_PREPROCESSING tag is set to YES (the default) Doxygen will
+# evaluate all C-preprocessor directives found in the sources and include
+# files.
+
+ENABLE_PREPROCESSING   = YES
+
+# If the MACRO_EXPANSION tag is set to YES Doxygen will expand all macro
+# names in the source code. If set to NO (the default) only conditional
+# compilation will be performed. Macro expansion can be done in a controlled
+# way by setting EXPAND_ONLY_PREDEF to YES.
+
+MACRO_EXPANSION        = YES
+
+# If the EXPAND_ONLY_PREDEF and MACRO_EXPANSION tags are both set to YES
+# then the macro expansion is limited to the macros specified with the
+# PREDEFINED and EXPAND_AS_DEFINED tags.
+
+EXPAND_ONLY_PREDEF     = NO
+
+# If the SEARCH_INCLUDES tag is set to YES (the default) the includes files
+# in the INCLUDE_PATH (see below) will be search if a #include is found.
+
+SEARCH_INCLUDES        = YES
+
+# The INCLUDE_PATH tag can be used to specify one or more directories that
+# contain include files that are not input files but should be processed by
+# the preprocessor.
+
+INCLUDE_PATH           =
+
+# You can use the INCLUDE_FILE_PATTERNS tag to specify one or more wildcard
+# patterns (like *.h and *.hpp) to filter out the header-files in the
+# directories. If left blank, the patterns specified with FILE_PATTERNS will
+# be used.
+
+INCLUDE_FILE_PATTERNS  =
+
+# The PREDEFINED tag can be used to specify one or more macro names that
+# are defined before the preprocessor is started (similar to the -D option of
+# gcc). The argument of the tag is a list of macros of the form: name
+# or name=definition (no spaces). If the definition and the = are
+# omitted =1 is assumed. To prevent a macro definition from being
+# undefined via #undef or recursively expanded use the := operator
+# instead of the = operator.
+
+PREDEFINED             = cimg_verbosity=3 cimg_display=0
+
+# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
+# this tag can be used to specify a list of macro names that should be expanded.
+# The macro definition that is found in the sources will be used.
+# Use the PREDEFINED tag if you want to use a different macro definition.
+
+EXPAND_AS_DEFINED      =
+
+# If the SKIP_FUNCTION_MACROS tag is set to YES (the default) then
+# doxygen's preprocessor will remove all function-like macros that are alone
+# on a line, have an all uppercase name, and do not end with a semicolon. Such
+# function macros are typically used for boiler-plate code, and will confuse
+# the parser if not removed.
+
+SKIP_FUNCTION_MACROS   = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to external references
+#---------------------------------------------------------------------------
+
+# The TAGFILES option can be used to specify one or more tagfiles.
+# Optionally an initial location of the external documentation
+# can be added for each tagfile. The format of a tag file without
+# this location is as follows:
+#   TAGFILES = file1 file2 ...
+# Adding location for the tag files is done as follows:
+#   TAGFILES = file1=loc1 "file2 = loc2" ...
+# where "loc1" and "loc2" can be relative or absolute paths or
+# URLs. If a location is present for each tag, the installdox tool
+# does not have to be run to correct the links.
+# Note that each tag file must have a unique name
+# (where the name does NOT include the path)
+# If a tag file is not located in the directory in which doxygen
+# is run, you must also specify the path to the tagfile here.
+
+TAGFILES               =
+
+# When a file name is specified after GENERATE_TAGFILE, doxygen will create
+# a tag file that is based on the input files it reads.
+
+GENERATE_TAGFILE       =
+
+# If the ALLEXTERNALS tag is set to YES all external classes will be listed
+# in the class index. If set to NO only the inherited external classes
+# will be listed.
+
+ALLEXTERNALS           = NO
+
+# If the EXTERNAL_GROUPS tag is set to YES all external groups will be listed
+# in the modules index. If set to NO, only the current project's groups will
+# be listed.
+
+EXTERNAL_GROUPS        = YES
+
+# The PERL_PATH should be the absolute path and name of the perl script
+# interpreter (i.e. the result of `which perl').
+
+PERL_PATH              = /usr/bin/perl
+
+#---------------------------------------------------------------------------
+# Configuration options related to the dot tool
+#---------------------------------------------------------------------------
+
+# If the CLASS_DIAGRAMS tag is set to YES (the default) Doxygen will
+# generate a inheritance diagram (in HTML, RTF and LaTeX) for classes with base
+# or super classes. Setting the tag to NO turns the diagrams off. Note that
+# this option is superseded by the HAVE_DOT option below. This is only a
+# fallback. It is recommended to install and use dot, since it yields more
+# powerful graphs.
+
+CLASS_DIAGRAMS         = YES
+
+# You can define message sequence charts within doxygen comments using the \msc
+# command. Doxygen will then run the mscgen tool (see
+# http://www.mcternan.me.uk/mscgen/) to produce the chart and insert it in the
+# documentation. The MSCGEN_PATH tag allows you to specify the directory where
+# the mscgen tool resides. If left empty the tool is assumed to be found in the
+# default search path.
+
+MSCGEN_PATH            =
+
+# If set to YES, the inheritance and collaboration graphs will hide
+# inheritance and usage relations if the target is undocumented
+# or is not a class.
+
+HIDE_UNDOC_RELATIONS   = YES
+
+# If you set the HAVE_DOT tag to YES then doxygen will assume the dot tool is
+# available from the path. This tool is part of Graphviz, a graph visualization
+# toolkit from AT&T and Lucent Bell Labs. The other options in this section
+# have no effect if this option is set to NO (the default)
+
+HAVE_DOT               = NO
+
+# By default doxygen will write a font called FreeSans.ttf to the output
+# directory and reference it in all dot files that doxygen generates. This
+# font does not include all possible unicode characters however, so when you need
+# these (or just want a differently looking font) you can specify the font name
+# using DOT_FONTNAME. You need need to make sure dot is able to find the font,
+# which can be done by putting it in a standard location or by setting the
+# DOTFONTPATH environment variable or by setting DOT_FONTPATH to the directory
+# containing the font.
+
+DOT_FONTNAME           = FreeSans
+
+# The DOT_FONTSIZE tag can be used to set the size of the font of dot graphs.
+# The default size is 10pt.
+
+DOT_FONTSIZE           = 10
+
+# By default doxygen will tell dot to use the output directory to look for the
+# FreeSans.ttf font (which doxygen will put there itself). If you specify a
+# different font using DOT_FONTNAME you can set the path where dot
+# can find it using this tag.
+
+DOT_FONTPATH           =
+
+# If the CLASS_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect inheritance relations. Setting this tag to YES will force the
+# the CLASS_DIAGRAMS tag to NO.
+
+CLASS_GRAPH            = YES
+
+# If the COLLABORATION_GRAPH and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for each documented class showing the direct and
+# indirect implementation dependencies (inheritance, containment, and
+# class references variables) of the class with other documented classes.
+
+COLLABORATION_GRAPH    = YES
+
+# If the GROUP_GRAPHS and HAVE_DOT tags are set to YES then doxygen
+# will generate a graph for groups, showing the direct groups dependencies
+
+GROUP_GRAPHS           = YES
+
+# If the UML_LOOK tag is set to YES doxygen will generate inheritance and
+# collaboration diagrams in a style similar to the OMG's Unified Modeling
+# Language.
+
+UML_LOOK               = NO
+
+# If set to YES, the inheritance and collaboration graphs will show the
+# relations between templates and their instances.
+
+TEMPLATE_RELATIONS     = NO
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDE_GRAPH, and HAVE_DOT
+# tags are set to YES then doxygen will generate a graph for each documented
+# file showing the direct and indirect include dependencies of the file with
+# other documented files.
+
+INCLUDE_GRAPH          = YES
+
+# If the ENABLE_PREPROCESSING, SEARCH_INCLUDES, INCLUDED_BY_GRAPH, and
+# HAVE_DOT tags are set to YES then doxygen will generate a graph for each
+# documented header file showing the documented files that directly or
+# indirectly include this file.
+
+INCLUDED_BY_GRAPH      = YES
+
+# If the CALL_GRAPH and HAVE_DOT options are set to YES then
+# doxygen will generate a call dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable call graphs
+# for selected functions only using the \callgraph command.
+
+CALL_GRAPH             = NO
+
+# If the CALLER_GRAPH and HAVE_DOT tags are set to YES then
+# doxygen will generate a caller dependency graph for every global function
+# or class method. Note that enabling this option will significantly increase
+# the time of a run. So in most cases it will be better to enable caller
+# graphs for selected functions only using the \callergraph command.
+
+CALLER_GRAPH           = NO
+
+# If the GRAPHICAL_HIERARCHY and HAVE_DOT tags are set to YES then doxygen
+# will graphical hierarchy of all classes instead of a textual one.
+
+GRAPHICAL_HIERARCHY    = YES
+
+# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
+# then doxygen will show the dependencies a directory has on other directories
+# in a graphical way. The dependency relations are determined by the #include
+# relations between the files in the directories.
+
+DIRECTORY_GRAPH        = YES
+
+# The DOT_IMAGE_FORMAT tag can be used to set the image format of the images
+# generated by dot. Possible values are png, jpg, or gif
+# If left blank png will be used.
+
+DOT_IMAGE_FORMAT       = png
+
+# The tag DOT_PATH can be used to specify the path where the dot tool can be
+# found. If left blank, it is assumed the dot tool can be found in the path.
+
+DOT_PATH               =
+
+# The DOTFILE_DIRS tag can be used to specify one or more directories that
+# contain dot files that are included in the documentation (see the
+# \dotfile command).
+
+DOTFILE_DIRS           =
+
+# The DOT_GRAPH_MAX_NODES tag can be used to set the maximum number of
+# nodes that will be shown in the graph. If the number of nodes in a graph
+# becomes larger than this value, doxygen will truncate the graph, which is
+# visualized by representing a node as a red box. Note that doxygen if the
+# number of direct children of the root node in a graph is already larger than
+# DOT_GRAPH_MAX_NODES then the graph will not be shown at all. Also note
+# that the size of a graph can be further restricted by MAX_DOT_GRAPH_DEPTH.
+
+DOT_GRAPH_MAX_NODES    = 50
+
+# The MAX_DOT_GRAPH_DEPTH tag can be used to set the maximum depth of the
+# graphs generated by dot. A depth value of 3 means that only nodes reachable
+# from the root by following a path via at most 3 edges will be shown. Nodes
+# that lay further from the root node will be omitted. Note that setting this
+# option to 1 or 2 may greatly reduce the computation time needed for large
+# code bases. Also note that the size of a graph can be further restricted by
+# DOT_GRAPH_MAX_NODES. Using a depth of 0 means no depth restriction.
+
+MAX_DOT_GRAPH_DEPTH    = 0
+
+# Set the DOT_TRANSPARENT tag to YES to generate images with a transparent
+# background. This is disabled by default, because dot on Windows does not
+# seem to support this out of the box. Warning: Depending on the platform used,
+# enabling this option may lead to badly anti-aliased labels on the edges of
+# a graph (i.e. they become hard to read).
+
+DOT_TRANSPARENT        = NO
+
+# Set the DOT_MULTI_TARGETS tag to YES allow dot to generate multiple output
+# files in one run (i.e. multiple -o and -T options on the command line). This
+# makes dot run faster, but since only newer versions of dot (>1.8.10)
+# support this, this feature is disabled by default.
+
+DOT_MULTI_TARGETS      = NO
+
+# If the GENERATE_LEGEND tag is set to YES (the default) Doxygen will
+# generate a legend page explaining the meaning of the various boxes and
+# arrows in the dot generated graphs.
+
+GENERATE_LEGEND        = YES
+
+# If the DOT_CLEANUP tag is set to YES (the default) Doxygen will
+# remove the intermediate dot files that are used to generate
+# the various graphs.
+
+DOT_CLEANUP            = YES
+
+#---------------------------------------------------------------------------
+# Configuration::additions related to the search engine
+#---------------------------------------------------------------------------
+
+# The SEARCHENGINE tag specifies whether or not a search engine should be
+# used. If set to NO the values of all tags below this one will be ignored.
+
+SEARCHENGINE           = NO
diff --git a/html/CImg_documentation.h b/html/CImg_documentation.h
new file mode 100644
index 0000000..5004725
--- /dev/null
+++ b/html/CImg_documentation.h
@@ -0,0 +1,1055 @@
+/*------------------------------------------------------------------------
+#
+#  File        : CImg_documentation.h
+#
+#  Description : Extra documentation file for the CImg Library.
+#		 Used by doxygen to generate the reference documentation.
+#		 ( http://cimg.eu )
+#
+#  Copyright   : David Tschumperle
+#		 ( http://tschumperle.users.greyc.fr/ )
+#
+#
+-------------------------------------------------------------------------*/
+
+/*-----------------------------------
+
+  Main reference documentation page
+
+  -------------------------------------*/
+
+/**
+   \mainpage
+
+   This is the reference documentation of <a href="http://cimg.eu">the CImg Library</a>,
+   the C++ template image processing library.
+   This documentation have been generated using the tool <a href="http://www.doxygen.org">doxygen</a>.
+   It contains a detailed description of all classes and functions of the %CImg Library.
+   If you have downloaded the CImg package, you actually have a local copy of these pages in the
+   \c CImg/html/reference/ directory.
+
+   Use the menu above to navigate through the documentation pages.
+   As a first step, you may look at the list of <a href="modules.html">available modules</a>.
+
+   You may be interested also in the
+   <a href="../CImg_slides.pdf">presentation slides</a> presenting an overview
+   of the %CImg Library capabilities.
+
+**/
+
+/*-----------------------------------
+
+  CImg Library overview
+
+  -------------------------------------*/
+
+/** \addtogroup cimg_overview CImg Library Overview */
+/*@{*/
+/**
+  \page foo2
+
+  The <b>CImg Library</b> is an image processing library, designed for C++ programmers.
+  It provides useful classes and functions to load/save, display and process various types of images.
+
+  \section s1 Library structure
+
+  The %CImg Library consists in a single header file <tt>CImg.h</tt> providing a set of C++ template classes that
+  can be used in your own sources, to load/save, process and display images or list of images.
+  Very portable (Unix/X11,Windows, MacOS X, FreeBSD,..), efficient, simple to use, it's a pleasant toolkit
+  for coding image processing stuffs in C++.
+
+  The header file <tt>CImg.h</tt> contains all the classes and functions that compose the library itself.
+  This is one originality of the %CImg Library. This particularly means that :
+  - No pre-compilation of the library is needed, since the compilation of the CImg functions is done at the same time as
+  the compilation of your own C++ code.
+  - No complex dependencies have to be handled : Just include the <tt>CImg.h</tt> file, and you get a working C++ image processing toolkit.
+  - The compilation is done on the fly : only CImg functionalities really used by your program are compiled and appear in the
+  compiled executable program. This leads to very compact code, without any unused stuffs.
+  - Class members and functions are inlined, leading to better performance during the program execution.
+
+  The %CImg Library is structured as follows :
+
+  - All library classes and functions are defined in the namespace \ref cimg_library. This namespace
+  encapsulates the library functionalities and avoid any class name collision that could happen with
+  other includes. Generally, one uses this namespace as a default namespace :
+  \code
+  #include "CImg.h"
+  using namespace cimg_library;
+  ...
+  \endcode
+
+  - The namespace \ref cimg_library::cimg defines a set of \e low-level functions and variables used by the library.
+  Documented functions in this namespace can be safely used in your own program. But, \b never use the
+  \ref cimg_library::cimg namespace as a default namespace, since it contains functions whose names are already
+  defined in the standard C/C++ library.
+
+  - The class \ref cimg_library::CImg represents images up to 4-dimensions wide, containing pixels of type \c T
+  (template parameter). This is actually the main class of the library.
+
+  - The class \ref cimg_library::CImgList represents lists of cimg_library::CImg<T> images. It can be used for instance
+  to store different frames of an image sequence.
+
+  - The class \ref cimg_library::CImgDisplay is able to display images or image lists into graphical display windows.
+  As you may guess, the code of this class is highly system-dependent but this is transparent for the programmer,
+  as environment variables are automatically set by the CImg library (see also \ref cimg_environment).
+
+  - The class \ref cimg_library::CImgException (and its subclasses) are used by the library to throw exceptions
+  when errors occur. Those exceptions can be catched with a bloc <tt>try { ..} catch (CImgException) { .. }</tt>.
+  Subclasses define precisely the type of encountered errors.
+
+  Knowing these four classes is \b enough to get benefit of the %CImg Library functionalities.
+
+
+  \section s2 CImg version of "Hello world".
+
+  Below is a very simple code that creates a "Hello World" image. This shows you basically how a CImg program looks like.
+
+  \code
+  #include "CImg.h"
+  using namespace cimg_library;
+
+  int main() {
+    CImg<unsigned char> img(640,400,1,3);	 // Define a 640x400 color image with 8 bits per color component.
+    img.fill(0);				 // Set pixel values to 0 (color : black)
+    unsigned char purple[] = { 255,0,255 };	 // Define a purple color
+    img.draw_text(100,100,"Hello World",purple); // Draw a purple "Hello world" at coordinates (100,100).
+    img.display("My first CImg code");		 // Display the image in a display window.
+    return 0;
+  }
+  \endcode
+
+  Which can be also written in a more compact way as :
+
+  \code
+  #include "CImg.h"
+  using namespace cimg_library;
+
+  int main() {
+    const unsigned char purple[] = { 255,0,255 };
+    CImg<unsigned char>(640,400,1,3,0).draw_text(100,100,"Hello World",purple).display("My first CImg code");
+    return 0;
+  }
+  \endcode
+
+  Generally, you can write very small code that performs complex image processing tasks. The %CImg Library is very simple
+  to use and provide a lot of interesting algorithms for image manipulation.
+
+  \section s3 How to compile ?
+
+  The CImg library is a very light and user-friendly library : only standard system libraries are used.
+  It avoid to handle complex dependancies and problems with library compatibility.
+  The only thing you need is a (quite modern) C++ compiler :
+
+  - <b>Microsoft Visual C++ 6.0, Visual Studio.NET and Visual Express Edition</b> : Use project files and solution files provided in the
+  %CImg Library package (directory 'compilation/') to see how it works.
+  - <b>Intel ICL compiler</b> : Use the following command to compile a CImg-based program with ICL :
+  \code
+  icl /Ox hello_world.cpp user32.lib gdi32.lib
+  \endcode
+  - <b>g++ (MingW windows version)</b> : Use the following command to compile a CImg-based program with g++, on Windows :
+  \code
+  g++ -o hello_word.exe hello_word.cpp -O2 -lgdi32
+  \endcode
+  - <b>g++ (Linux version)</b> : Use the following command to compile a CImg-based program with g++, on Linux :
+  \code
+  g++ -o hello_word.exe hello_world.cpp -O2 -L/usr/X11R6/lib -lm -lpthread -lX11
+  \endcode
+  - <b>g++ (Solaris version)</b> : Use the following command to compile a CImg-based program with g++, on Solaris :
+  \code
+  g++ -o hello_word.exe hello_world.cpp -O2 -lm -lpthread -R/usr/X11R6/lib -lrt -lnsl -lsocket
+  \endcode
+  - <b>g++ (Mac OS X version)</b> : Use the following command to compile a CImg-based program with g++, on Mac OS X :
+  \code
+  g++ -o hello_word.exe hello_world.cpp -O2 -lm -lpthread -I/usr/X11R6/include -L/usr/X11R6/lib -lm -lpthread -lX11
+  \endcode
+  - <b>Dev-Cpp</b> : Use the project file provided in the CImg library package to see how it works.
+
+  If you are using another compilers and encounter problems, please
+  <a href="http://www.greyc.ensicaen.fr/~dtschump">write me</a> since maintaining compatibility is one
+  of the priority of the %CImg Library. Nevertheless, old compilers that does not respect the C++ norm will not
+  support the %CImg Library.
+
+  \section s4 What's next ?
+
+  If you are ready to get more, and to start writing more serious programs
+  with CImg, you are invited to go to the \ref cimg_tutorial section.
+
+**/
+/*@}*/
+
+/*-----------------------------------
+
+   FAQ : Frequently Asked Questions
+
+  -------------------------------------*/
+
+/** \addtogroup cimg_faq FAQ : Frequently Asked Questions. */
+/*@{*/
+/**
+  \page foofaq
+
+  \section ssf0 FAQ Summary
+
+  - <a href="#sf1">General information and availability</a>
+    - <a href="#ssf11">What is the CImg Library ?</a>
+    - <a href="#ssf12">What platforms are supported ?</a>
+    - <a href="#ssf13">How is CImg distributed ?</a>
+    - <a href="#ssf14">What kind of people are concerned by CImg ?</a>
+    - <a href="#ssf15">What are the specificities of the CeCILL license ?</a>
+    - <a href="#ssf16">Who is behind CImg ?</a>
+
+  - <a href="#sf2">C++ related questions</a>
+    - <a href="#ssf21">What is the level of C++ knowledge needed to use CImg ?</a>
+    - <a href="#ssf22">How to use CImg in my own C++ program ?</a>
+    - <a href="#ssf23">Why is CImg entirely contained in a single header file ?</a>
+
+  - <a href="#sf3">Other resources</a>
+    - <a href="#ssf31">Translations</a>
+
+  \section sf1 1. General information and availability
+
+  \subsection ssf11 1.1. What is the CImg Library ?
+
+  The CImg Library is an <i>open-source C++ toolkit for image processing</i>.\n
+
+  It mainly consists in a (big) single header file
+  <a href="https://raw.githubusercontent.com/dtschump/CImg/master/CImg.h">CImg.h</a>
+  providing a set of C++ classes and functions that can be used in your own sources,
+  to load/save, manage/process and display generic images.
+  It's actually a very simple and pleasant toolkit for coding image processing stuffs in C++ :
+  Just include the header file <tt>CImg.h</tt>, and you are ready to handle images in your C++ programs.
+
+  \subsection ssf12 1.2. What platforms are supported ?
+
+  CImg has been designed with <i>portability</i> in mind.
+  It is regularly tested on different architectures and compilers,
+  and should also work on any decent OS having a decent C++ compiler.
+  Before each release, the CImg Library is compiled under these different configurations :
+  \li PC Linux 32 bits, with g++.
+  \li PC Windows 32 bits, with Visual C++ 6.0.
+  \li PC Windows 32 bits, with Visual C++ Express Edition.
+  \li Sun SPARC Solaris 32 bits, with g++.
+  \li Mac PPC with OS X and g++.
+
+  CImg has a minimal number of dependencies. In its minimal version, it can be compiled only with standard C++ headers.
+  Anyway, it has interesting extension capabilities and can use external libraries to perform specific tasks more
+  efficiently (Fourier Transform computation using FFTW for instance).
+
+  \subsection ssf13 1.3. How is CImg distributed ?
+
+  The CImg Library is freely distributed as a complete .zip compressed package, hosted at the
+  <a href="http://cimg.eu/files">CImg server</a>.\n
+  The package is distributed under the <a href="http://www.cecill.info">CeCILL license</a>.
+
+  This package contains :
+  - The main library file <a href="https://raw.githubusercontent.com/dtschump/CImg/master/CImg.h">CImg.h</a> (C++ header file).
+  - Several C++ source code showing <a href="https://github.com/dtschump/CImg/tree/master/examples">examples of using CImg</a>.
+  - A complete library documentation, in <a href="index.html">HTML</a> and <a href="../CImg_reference.pdf">PDF</a> formats.
+  - Additional <a href="https://github.com/dtschump/CImg/tree/master/plugins/">library plug-ins</a> that can be used to extend
+  library capabilities for specific uses.
+
+  The CImg Library is a quite lightweight library which is easy to maintain (due to its particular structure), and thus
+  has a fast rythm of release. A new version of the CImg package is released approximately every three months.
+
+  \subsection ssf14 1.4. What kind of people are concerned by CImg ?
+
+  The CImg library is an <i>image processing</i> library, primarily intended for computer scientists or students working in the fields
+  of image processing or computer vision, and knowing bases of C++.
+  As the library is handy and really easy to use, it can be also used by any programmer
+  needing occasional tools for dealing with images in C++, since there are no standard library yet
+  for this purpose.
+
+  \subsection ssf15 1.5. What are the specificities of the CeCILL license ?
+
+  The <a href="http://www.cecill.info">CeCILL license</a> governs the use of the CImg Library.
+  This is an <i>open-source</i> license which gives you rights to access, use, modify and redistribute the source code,
+  under certains conditions.
+  There are two different variants of the CeCILL license used in CImg
+  (namely
+  <a href="http://www.cecill.info/licences/Licence_CeCILL_V2-en.html">CeCILL</a> and
+  <a href="http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html">CeCILL-C</a>, all open-source),
+  corresponding to different constraints on the source files :
+  - The <a href="http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html">CeCILL-C</a> license is the most permissive one, close to
+  the <i>GNU LGPL license</i>, and <i>applies <b>only</b> on the main library file
+  <a href="https://raw.githubusercontent.com/dtschump/CImg/master/CImg.h">CImg.h</a></i>.
+  Basically, this license allows to use <a href="https://raw.githubusercontent.com/dtschump/CImg/master/CImg.h">CImg.h</a>
+  in a closed-source product without forcing you to redistribute the entire software source code. Anyway,
+  if one modifies the <a href="https://raw.githubusercontent.com/dtschump/CImg/master/CImg.h">CImg.h</a> source file, one has to redistribute
+  the modified version of the file that must be governed by the same <a href="http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html">CeCILL-C</a> license.
+
+  - The <a href="http://www.cecill.info/licences/Licence_CeCILL_V2-en.html">CeCILL</a> license applies to all other files
+  (source examples, plug-ins and documentation) of the CImg Library package, and is close (even <i>compatible</i>)
+  with the <i>GNU GPL license</i>. It <i>does not allow</i> the use of these files in closed-source products.
+
+  You are invited to read the complete descriptions of the
+  the <a href="http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html">CeCILL-C</a>
+  and <a href="http://www.cecill.info/licences/Licence_CeCILL_V2-en.html">CeCILL</a> licenses before releasing a
+  software based on the CImg Library.
+
+  \subsection ssf16 1.6. Who is behind CImg ?
+
+  CImg has been started by
+  <a href="http://tschumperle.users.greyc.fr/">David Tschumperle</a> at the beginning of his PhD thesis, in October 1999.
+  He is still the main coordinator of the project.
+  Since the first release, a growing number of contributors has appeared.
+  Due to the very simple and compact form of the library, submitting a contribution is quite easy and can be
+  fastly integrated into the supported releases.
+  List of contributors can be found on the front page.
+
+  \section sf2 2. C++ related questions
+
+  \subsection ssf21 2.1 What is the level of C++ knowledge needed to use CImg ?
+
+  The CImg Library has been designed using C++ templates and object-oriented programming techniques,
+  but in a very accessible level.
+  There are only public classes without any derivation (just like C structures) and
+  there is at most one template parameter for each CImg class (defining the pixel type of the images).
+  The design is simple but clean, making the library accessible even for non professional C++ programmers, while proposing
+  strong extension capabilities for C++ experts.
+
+  \subsection ssf22 2.2 How to use CImg in my own C++ program ?
+
+  Basically, you need to add these two lines in your C++ source code, in order
+  to be able to work with CImg images :
+  \code
+  #include "CImg.h"
+  using namespace cimg_library;
+  \endcode
+
+  \subsection ssf23 2.3 Why is CImg entirely contained in a single header file ?
+
+  People are often surprised to see that the complete code of the library is contained in a single (big) C++ header file
+  <a href="https://raw.githubusercontent.com/dtschump/CImg/master/CImg.h">CImg.h</a>.
+  There are good practical and technical reasons to do that. Some arguments are listed below to justify this approach,
+  so (I hope) you won't think this is a awkwardly C++ design of the CImg library :\n
+
+  - First, the library is based on <i>template datatypes</i> (images with generic pixel type),
+  meaning that the programmer is free to decide what type of image he instanciates in his code.
+  Even if there are roughly a limited number of fully supported types (basically, the "atomic" types of C++ : <i>unsigned char, int, float, ...</i>),
+  this is <i>not imaginable</i> to pre-compile the library classes and functions for <i>all possible atomic datatypes</i>,
+  since many functions and methods can have two or three arguments having different template parameters.
+  This really means <i>a huge number</i> of possible combinations. The size of the object binary file generated to cover all possible cases
+  would be just <i>colossal</i>. Is the STL library a pre-compiled one ? No, CImg neither.
+  CImg is not using a classical <i>.cpp</i> and <i>.h</i> mechanism, just like the STL.
+  Architectures of C++ <i>template-based</i> libraries are somewhat special in this sense. This is a proven technical fact.
+
+  - Second, why CImg does not have several header files, just like the STL does (one for each class for instance) ?
+  This would be possible of course.
+  There are only 4 classes in CImg, the two most important being <i>CImg<T></i> and <i>CImgList<T></i> representing respectively
+  an image and a collection of images.
+  But contrary to the STL library, these two CImg classes are strongly <i>inter-dependent</i>. All CImg algorithms
+  are actually not defined as separate functions acting on containers (as the STL does with his header \<algorithm\>),
+  but are directly methods of the image and image collection classes. This inter-dependence practically means that you
+  will undoubtly need these two main classes at the same time if you are using CImg.
+  If they were defined in separate header files, you would be forced to include both of them. What is the gain then ? No gain.\n
+  Concerning the two other classes : You can disable the third most important class <i>CImgDisplay</i> of the CImg library, by setting the compilation
+  macro <i>cimg_display</i> to 0, avoiding thus to compile this class if you don't use display capabilities of CImg in your code.
+  But to be honest, this is a quite small class and doing this doesn't save much compilation time.
+  The last and fourth class is <i>CImgException</i>, which is only few lines long and is obviously required in almost all methods of CImg.
+  Including this one is <i>mandatory</i>.\n
+  As a consequence, having a single header file instead of several ones is just a way for you to avoid including all of them,
+  without any consequences on compilation time. This is both good technical and practical reasons to do like this.
+
+  - Third, having a single header file has plenty of advantages : Simplicity for the user, and for the developers (maintenance is in fact easier).
+  Look at the <tt>CImg.h</tt> file, it looks like a mess at a first glance, but it is in fact very well organized and structured.
+  Finding pieces of code in CImg functions or methods is particularly easy and fast.
+  Also, how about the fact that library installation problems just disappear ?
+  Just bring <tt>CImg.h</tt> with you, put it in your source directory, and the library is ready to go !
+
+  I admit the compilation time of CImg-based programs can be sometime long, but don't think that it is due to the fact that you are
+  using a single header file. Using several header files wouldn't arrange anything since you would need all of them.
+  Having a pre-compiled library object would be the only solution to speed up compilation time, but it is not possible at all,
+  due to the too much generic nature of the library.
+
+  \section sf3 3. Other resources
+  \subsection ssf31 3.1 Translations
+
+  This FAQ has been translated to <a href="http://science.webhostinggeeks.com/cimg-biblioteka">Serbo-Croatian</a> language by <a href="http://webhostinggeeks.com/"> Web Geeks </a>.
+
+**/
+/*@}*/
+
+/*-----------------------------------
+
+   Setting Environment Variables
+
+  -------------------------------------*/
+
+/** \addtogroup cimg_environment Setting Environment Variables */
+/*@{*/
+/**
+  \page foo1
+
+  The CImg library is a multiplatform library, working on a wide variety of systems.
+  This implies the existence of some \e environment \e variables that must be correctly defined
+  depending on your current system.
+  Most of the time, the %CImg Library defines these variables automatically
+  (for popular systems). Anyway, if your system is not recognized, you will have to set the environment
+  variables by hand. Here is a quick explanations of environment variables.\n
+
+  Setting the environment variables is done with the <tt>#define</tt> keyword.
+  This setting must be done <i>before including the file <tt>CImg.h</tt></i> in your source code.
+  For instance,
+  defining the environment variable \c cimg_display would be done like this :
+  \code
+  #define cimg_display 0
+  #include "CImg.h"
+  ...
+  \endcode
+
+  Here are the different environment variables used by the %CImg Library :
+
+  - \b \c cimg_OS : This variable defines the type of your Operating System. It can be set to \b 1 (\e Unix),
+  \b 2 (\e Windows), or \b 0 (\e Other \e configuration).
+  It should be actually auto-detected by the CImg library. If this is not the case (<tt>cimg_OS=0</tt>), you
+  will probably have to tune the environment variables described below.
+
+  - \b \c cimg_display : This variable defines the type of graphical library used to
+  display images in windows. It can be set to 0 (no display library available), \b 1 (X11-based display) or
+  \b 2 (Windows-GDI display).
+  If you are running on a system without X11 or Windows-GDI ability, please set this variable to \c 0.
+  This will disable the display support, since the %CImg Library doesn't contain the necessary code to display
+  images on systems other than X11 or Windows GDI.
+
+  - \b \c cimg_use_vt100 : This variable tells the library if the system terminal has VT100 color capabilities.
+  It can be \e defined or \e not \e defined. Define this variable to get colored output on your terminal,
+  when using the %CImg Library.
+
+  - \b \c cimg_verbosity : This variable defines the level of run-time debug messages that will be displayed by
+  the %CImg Library. It can be set to 0 (no debug messages), 1 (normal debug messages displayed on
+  standard error), 2 (normal debug messages displayed in modal windows, which is
+  the default value), or 3 (high debug messages). Note that setting this value to 3 may slow down your
+  program since more debug tests are made by the library (particularly to check if pixel access is made outside
+  image boundaries). See also CImgException to better understand how debug messages are working.
+
+  - \b \c cimg_plugin : This variable tells the library to use a plugin file to add features to the CImg<T> class.
+  Define it with the path of your plugin file, if you want to add member functions to the CImg<T> class,
+  without having to modify directly the \c "<tt>CImg.h</tt>" file. An include of the plugin file is performed in the CImg<T>
+  class. If \c cimg_plugin if not specified (default), no include is done.
+
+  - \b \c cimglist_plugin : Same as \c cimg_plugin, but to add features to the CImgList<T> class.
+
+  - \b \c cimgdisplay_plugin : Same as \c cimg_plugin, but to add features to the CImgDisplay<T> class.
+
+  All these compilation variables can be checked, using the function cimg_library::cimg::info(), which
+  displays a list of the different configuration variables and their values on the standard error output.
+**/
+/*@}*/
+
+
+/** \addtogroup cimg_visual2005 How to use CImg library with Visual C++ 2005 Express Edition ?. */
+/*@{*/
+/**
+  \page foo89198
+
+  \section s13968 How to use CImg library with Visual C++ 2005 Express Edition ?
+
+  This section has been written by Vincent Garcia and Alexandre Fournier from I3S/Sophia_Antipolis.
+
+   - Download CImg library
+   - Download and install Visual C++ 2005 Express Edition
+   - Download and install Microsoft Windows SDK
+   - Configure Visual C++ to take into account Microsoft SDK
+         - 1. Go to menu "Tools -> options"
+         - 2. Select option "Projects and Solutions -> VC++ Directories"
+         - 3. In the select liste "Show directories for", choose "include files", and add C:\\Program Files\\Microsoft Platform SDK\\Include (adapt if needed)
+         - 4. In the select liste "Show directories for", choose "library files", and add C:\\Program Files\\Microsoft Platform SDK\\Lib
+            (adapt if needed) Edit file C:\\Program Files\\Microsoft Visual Studio 8\\VC\\VCProjectDefaults\\corewin_express.vsprops (adapt if needed)
+         - 6. 7. Remplace the line AdditionalDependencies="kernel32.lib" /> by AdditionalDependencies="kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib" />
+   - Restart Visual C++
+   - Import CImg library in your main file
+
+**/
+/*@}*/
+
+
+/*-----------------------------------
+
+   Tutorial : Getting started
+
+  -------------------------------------*/
+
+/** \addtogroup cimg_tutorial Tutorial : Getting Started. */
+/*@{*/
+/**
+  \page foo3
+
+  Let's start to write our first program to get the idea. This will demonstrate how to load and create images, as well as handle image
+  display and mouse events.
+  Assume we want to load a color image <tt>lena.jpg</tt>, smooth it, display it in a windows, and enter an event loop so that clicking a
+  point in the image will draw the (R,G,B) intensity profiles of the corresponding image line (in another window).
+  Yes, that sounds quite complex for a first code, but don't worry, it will be very simple using the CImg library ! Well, just look
+  at the code below, it does the task :
+
+  \code
+  #include "CImg.h"
+  using namespace cimg_library;
+
+  int main() {
+    CImg<unsigned char> image("lena.jpg"), visu(500,400,1,3,0);
+    const unsigned char red[] = { 255,0,0 }, green[] = { 0,255,0 }, blue[] = { 0,0,255 };
+    image.blur(2.5);
+    CImgDisplay main_disp(image,"Click a point"), draw_disp(visu,"Intensity profile");
+    while (!main_disp.is_closed() && !draw_disp.is_closed()) {
+      main_disp.wait();
+      if (main_disp.button() && main_disp.mouse_y()>=0) {
+	const int y = main_disp.mouse_y();
+	visu.fill(0).draw_graph(image.get_crop(0,y,0,0,image.width()-1,y,0,0),red,1,1,0,255,0);
+	visu.draw_graph(image.get_crop(0,y,0,1,image.width()-1,y,0,1),green,1,1,0,255,0);
+	visu.draw_graph(image.get_crop(0,y,0,2,image.width()-1,y,0,2),blue,1,1,0,255,0).display(draw_disp);
+	}
+      }
+    return 0;
+  }
+  \endcode
+
+  Here is a screenshot of the resulting program :
+
+  <img SRC="../img/tutorial.jpg">
+
+  And here is the detailled explanation of the source, line by line :
+
+  \code #include "CImg.h" \endcode
+  Include the main and only header file of the CImg library.
+  \code using namespace cimg_library; \endcode
+  Use the library namespace to ease the declarations afterward.
+  \code int main() { \endcode
+  Definition of the main function.
+  \code CImg<unsigned char> image("lena.jpg"), visu(500,400,1,3,0); \endcode
+  Creation of two instances of images of \c unsigned \c char pixels.
+  The first image \c image is initialized by reading an image file from the disk.
+  Here, <tt>lena.jpg</tt> must be in the same directory than the current program.
+  Note that you must also have installed the \e ImageMagick package in order to be able to read JPG images.
+  The second image \c visu is initialized as a black color image with dimension <tt>dx=500</tt>, <tt>dy=400</tt>,
+  <tt>dz=1</tt> (here, it is a 2D image, not a 3D one), and <tt>dv=3</tt> (each pixel has 3 'vector' channels R,G,B).
+  The last argument in the constructor defines the default value of the pixel values
+  (here \c 0, which means that \c visu will be initially black).
+  \code const unsigned char red[] = { 255,0,0 }, green[] = { 0,255,0 }, blue[] = { 0,0,255 }; \endcode
+  Definition of three different colors as array of unsigned char. This will be used to draw plots with different colors.
+  \code image.blur(2.5); \endcode
+  Blur the image, with a gaussian blur and a standard variation of 2.5. Note that most of the CImg functions have two versions :
+  one that acts in-place (which is the case of blur), and one that returns the result as a new image (the name of the function
+  begins then with <tt>get_</tt> ). In this case, one could have also written <tt>image = image.get_blur(2.5);</tt>
+  (more expensive, since it needs an additional copy operation).
+  \code CImgDisplay main_disp(image,"Click a point"), draw_disp(visu,"Intensity profile"); \endcode
+  Creation of two display windows, one for the input image image, and one for the image visu which will be display intensity profiles.
+  By default, CImg displays handles events (mouse,keyboard,..). On Windows, there is a way to create fullscreen displays.
+  \code while (!main_disp.is_closed() && !draw_disp.is_closed()) { \endcode
+  Enter the event loop, the code will exit when one of the two display windows is closed.
+  \code main_disp.wait(); \endcode
+  Wait for an event (mouse, keyboard,..) in the display window \c main_disp.
+  \code if (main_disp.button() && main_disp.mouse_y()>=0) { \endcode
+  Test if the mouse button has been clicked on the image area.
+  One may distinguish between the 3 different mouse buttons,
+  but in this case it is not necessary
+  \code const int y = main_disp.mouse_y(); \endcode
+  Get the image line y-coordinate that has been clicked.
+  \code visu.fill(0).draw_graph(image.get_crop(0,y,0,0,image.width()-1,y,0,0),red,1,0,256,0); \endcode
+  This line illustrates the pipeline property of most of the CImg class functions. The first function <tt>fill(0)</tt> simply sets
+  all pixel values with 0 (i.e. clear the image \c visu). The interesting thing is that it returns a reference to
+  \c visu and then, can be pipelined with the function \c draw_graph() which draws a plot in the image \c visu.
+  The plot data are given by another image (the first argument of \c draw_graph()). In this case, the given image is
+  the red-component of the line y of the original image, retrieved by the function \c get_crop() which returns a
+  sub-image of the image \c image. Remember that images coordinates are 4D (x,y,z,v) and for color images,
+  the R,G,B channels are respectively given by <tt>v=0, v=1</tt> and <tt>v=2</tt>.
+  \code visu.draw_graph(image.get_crop(0,y,0,1,image.width()-1,y,0,1),green,1,0,256,0); \endcode
+  Plot the intensity profile for the green channel of the clicked line.
+  \code visu.draw_graph(image.get_crop(0,y,0,2,image.width()-1,y,0,2),blue,1,0,256,0).display(draw_disp); \endcode
+  Same thing for the blue channel. Note how the function (which return a reference to \c visu) is pipelined with the function
+  \c display() that just paints the image visu in the corresponding display window.
+  \code ...till the end \endcode
+  I don't think you need more explanations !
+
+  As you have noticed, the CImg library allows to write very small and intuitive code. Note also that this source will perfectly
+  work on Unix and Windows systems. Take also a look to the examples provided in the CImg package (
+  directory \c examples/ ). It will show you how CImg-based code can be surprisingly small.
+  Moreover, there is surely one example close to what you want to do.
+  A good start will be to look at the file <tt>CImg_demo.cpp</tt> which contains small and various examples of what you can do
+  with the %CImg Library. All CImg classes are used in this source, and the code can be easily modified to see what happens.
+
+**/
+/*@}*/
+
+/*-----------------------------------
+
+   Using drawing functions
+
+  -------------------------------------*/
+
+/** \addtogroup cimg_drawing Using Drawing Functions. */
+/*@{*/
+/**
+  \page foo5
+
+  \section s5 Using Drawing Functions.
+
+  This section tells more about drawing features in CImg images.
+  Drawing functions list can be found in <a href="structCImg.html">the CImg functions list</a>
+  (section \b Drawing Functions),
+  and are all defined on a common basis. Here are the important points to understand before using
+  drawing functions :
+
+  - Drawing is performed on the instance image. Drawing functions parameters
+  are defined as \e const variables and return a reference to the current instance <tt>(*this)</tt>,
+  so that drawing functions can be pipelined (see examples below).
+  Drawing is usually done in 2D color images but can be performed in 3D images with any vector-valued dimension,
+  and with any possible pixel type.
+
+  - A color parameter is always needed to draw features in an image. The color must be defined as a C-style array
+  whose dimension is at least
+
+**/
+/*@}*/
+
+/*-----------------------------------
+
+   Using image loops
+
+  -------------------------------------*/
+
+/** \addtogroup cimg_loops Using Image Loops. */
+/*@{*/
+/**
+  \page foo_lo
+  The %CImg Library provides different macros that define useful iterative loops over an image.
+  Basically, it can be used to replace one or several <tt>for(..)</tt> instructions, but it also proposes
+  interesting extensions to classical loops.
+  Below is a list of all existing loop macros, classified in four different categories :
+  - \ref lo1
+  - \ref lo4
+  - \ref lo5
+  - \ref lo6
+
+  \section lo1 Loops over the pixel buffer
+
+  Loops over the pixel buffer are really basic loops that iterate a pointer on the pixel data buffer
+  of a \c cimg_library::CImg image. Two macros are defined for this purpose :
+
+  - \b cimg_for(img,ptr,T) :
+  This macro loops over the pixel data buffer of the image \c img, using a pointer <tt>T* ptr</tt>,
+  starting from the beginning of the buffer (first pixel) till the end of the buffer (first pixel).
+      - \c img must be a (non empty) \c cimg_library::CImg image of pixels \c T.
+      - \c ptr is a pointer of type \c T*.
+  This kind of loop should not appear a lot in your own source code, since this is a low-level loop
+  and many functions of the CImg class may be used instead. Here is an example of use :
+  \code
+  CImg<float> img(320,200);
+  cimg_for(img,ptr,float) { *ptr=0; }	   // Equivalent to 'img.fill(0);'
+  \endcode
+
+  - \b cimg_rof(img,ptr,T) :
+  This macro does the same as \c cimg_for() but from the end to the beginning of the pixel buffer.
+
+  - \b cimg_foroff(img,off) :
+  This macro loops over the pixel data buffer of the image \c img, using an offset \c ,
+  starting from the beginning of the buffer (first pixel, \c off=0)
+  till the end of the buffer (last pixel value, <tt>off = img.size()-1</tt>).
+      - \c img must be a (non empty) cimg_library::CImg<T> image of pixels \c T.
+      - \c off is an inner-loop variable, only defined inside the scope of the loop.
+
+  Here is an example of use :
+  \code
+  CImg<float> img(320,200);
+  cimg_foroff(img,off) { img[off]=0; }	// Equivalent to 'img.fill(0);'
+  \endcode
+
+  \section lo4 Loops over image dimensions
+
+  The following loops are probably the most used loops in image processing programs.
+  They allow to loop over the image along one or several dimensions, along a raster scan course.
+  Here is the list of such loop macros for a single dimension :
+  - \b cimg_forX(img,x) : equivalent to : <tt>for (int x = 0; x<img.width(); x++)</tt>.
+  - \b cimg_forY(img,y) : equivalent to : <tt>for (int y = 0; y<img.height(); y++)</tt>.
+  - \b cimg_forZ(img,z) : equivalent to : <tt>for (int z = 0; z<img.depth(); z++)</tt>.
+  - \b cimg_forC(img,v) : equivalent to : <tt>for (int v = 0; v<img.spectrum(); v++)</tt>.
+
+  Combinations of these macros are also defined as other loop macros, allowing to loop directly over 2D, 3D or 4D images :
+  - \b cimg_forXY(img,x,y) : equivalent to : \c cimg_forY(img,y) \c cimg_forX(img,x).
+  - \b cimg_forXZ(img,x,z) : equivalent to : \c cimg_forZ(img,z) \c cimg_forX(img,x).
+  - \b cimg_forYZ(img,y,z) : equivalent to : \c cimg_forZ(img,z) \c cimg_forY(img,y).
+  - \b cimg_forXC(img,x,v) : equivalent to : \c cimg_forC(img,v) \c cimg_forX(img,x).
+  - \b cimg_forYC(img,y,v) : equivalent to : \c cimg_forC(img,v) \c cimg_forY(img,y).
+  - \b cimg_forZC(img,z,v) : equivalent to : \c cimg_forC(img,v) \c cimg_forZ(img,z).
+  - \b cimg_forXYZ(img,x,y,z) : equivalent to : \c cimg_forZ(img,z) \c cimg_forXY(img,x,y).
+  - \b cimg_forXYC(img,x,y,v) : equivalent to : \c cimg_forC(img,v) \c cimg_forXY(img,x,y).
+  - \b cimg_forXZC(img,x,z,v) : equivalent to : \c cimg_forC(img,v) \c cimg_forXZ(img,x,z).
+  - \b cimg_forYZC(img,y,z,v) : equivalent to : \c cimg_forC(img,v) \c cimg_forYZ(img,y,z).
+  - \b cimg_forXYZC(img,x,y,z,v) : equivalent to : \c cimg_forC(img,v) \c cimg_forXYZ(img,x,y,z).
+
+  - For all these loops, \c x,\c y,\c z and \c v are inner-defined variables only visible inside the scope of the loop.
+  They don't have to be defined before the call of the macro.
+  - \c img must be a (non empty) cimg_library::CImg image.
+
+  Here is an example of use that creates an image with a smooth color gradient :
+  \code
+  CImg<unsigned char> img(256,256,1,3);       // Define a 256x256 color image
+  cimg_forXYC(img,x,y,v) { img(x,y,v) = (x+y)*(v+1)/6; }
+  img.display("Color gradient");
+  \endcode
+
+  \section lo5 Loops over interior regions and borders.
+
+  Similar macros are also defined to loop only on the border of an image, or inside the image (excluding the border).
+  The border may be several pixel wide :
+
+  - \b cimg_for_insideX(img,x,n) : Loop along the x-axis, except for pixels inside a border of \p n pixels wide.
+  - \b cimg_for_insideY(img,y,n) : Loop along the y-axis, except for pixels inside a border of \p n pixels wide.
+  - \b cimg_for_insideZ(img,z,n) : Loop along the z-axis, except for pixels inside a border of \p n pixels wide.
+  - \b cimg_for_insideC(img,v,n) : Loop along the v-axis, except for pixels inside a border of \p n pixels wide.
+  - \b cimg_for_insideXY(img,x,y,n) : Loop along the (x,y)-axes, excepted for pixels inside a border of \p n pixels wide.
+  - \b cimg_for_insideXYZ(img,x,y,z,n) : Loop along the (x,y,z)-axes, excepted for pixels inside a border of \p n pixels wide.
+
+  And also :
+
+  - \b cimg_for_borderX(img,x,n) : Loop along the x-axis, only for pixels inside a border of \p n pixels wide.
+  - \b cimg_for_borderY(img,y,n) : Loop along the y-axis, only for pixels inside a border of \p n pixels wide.
+  - \b cimg_for_borderZ(img,z,n) : Loop along the z-axis, only for pixels inside a border of \p n pixels wide.
+  - \b cimg_for_borderC(img,v,n) : Loop along the z-axis, only for pixels inside a border of \p n pixels wide.
+  - \b cimg_for_borderXY(img,x,y,n) : Loop along the (x,y)-axes, only for pixels inside a border of \p n pixels wide.
+  - \b cimg_for_borderXYZ(img,x,y,z,n) : Loop along the (x,y,z)-axes, only for pixels inside a border of \p n pixels wide.
+
+  - For all these loops, \c x,\c y,\c z and \c v are inner-defined variables only visible inside the scope of the loop.
+  They don't have to be defined before the call of the macro.
+  - \c img must be a (non empty) cimg_library::CImg image.
+  - The constant \c n stands for the size of the border.
+
+  Here is an example of use, to create a 2d grayscale image with two different intensity gradients :
+  \code
+  CImg<> img(256,256);
+  cimg_for_insideXY(img,x,y,50) img(x,y) = x+y;
+  cimg_for_borderXY(img,x,y,50) img(x,y) = x-y;
+  img.display();
+  \endcode
+
+  \section lo6 Loops using neighborhoods.
+
+  Inside an image loop, it is often useful to get values of neighborhood pixels of the
+  current pixel at the loop location.
+  The %CImg Library provides a very smart and fast mechanism for this purpose, with the definition
+  of several loop macros that remember the neighborhood values of the pixels.
+  The use of these macros can highly optimize your code, and also simplify your program.
+
+  \subsection lo7 Neighborhood-based loops for 2D images
+
+  For 2D images, the neighborhood-based loop macros are :
+
+  - \b cimg_for2x2(img,x,y,z,v,I,T) : Loop along the (x,y)-axes using a centered 2x2 neighborhood.
+  - \b cimg_for3x3(img,x,y,z,v,I,T) : Loop along the (x,y)-axes using a centered 3x3 neighborhood.
+  - \b cimg_for4x4(img,x,y,z,v,I,T) : Loop along the (x,y)-axes using a centered 4x4 neighborhood.
+  - \b cimg_for5x5(img,x,y,z,v,I,T) : Loop along the (x,y)-axes using a centered 5x5 neighborhood.
+
+  For all these loops, \c x and \c y are inner-defined variables only visible inside the scope of the loop.
+  They don't have to be defined before the call of the macro.
+  \c img is a non empty CImg<T> image. \c z and \c v are constants that define on which image slice and
+  vector channel the loop must apply (usually both 0 for grayscale 2D images).
+  Finally, \c I is the 2x2, 3x3, 4x4 or 5x5 neighborhood of type \c T that will be updated with the correct pixel values
+  during the loop (see \ref lo9).
+
+  \subsection lo8 Neighborhood-based loops for 3D images
+
+  For 3D images, the neighborhood-based loop macros are :
+
+  - \b cimg_for2x2x2(img,x,y,z,v,I,T) : Loop along the (x,y,z)-axes using a centered 2x2x2 neighborhood.
+  - \b cimg_for3x3x3(img,x,y,z,v,I,T) : Loop along the (x,y,z)-axes using a centered 3x3x3 neighborhood.
+
+  For all these loops, \c x, \c y and \c z are inner-defined variables only visible inside the scope of the loop.
+  They don't have to be defined before the call of the macro.
+  \c img is a non empty CImg<T> image. \c v is a constant that defines on which image channel
+  the loop must apply (usually 0 for grayscale 3D images).
+  Finally, \c I is the 2x2x2 or 3x3x3 neighborhood of type \c T that will be updated with the correct pixel values
+  during the loop (see \ref lo9).
+
+  \subsection lo9 Defining neighborhoods
+
+  A neighborhood is defined as an instance of a class having operator[] defined.
+  This particularly includes classical C-array, as well as CImg<T> objects.
+
+  For instance, a 3x3 neighborhood can be defined either as a 'float[9]' or a
+  'CImg<float>(3,3)' variable.
+
+  \subsection lo10 Using alternate variable names
+
+  There are also some useful macros that can be used to define variables that
+  reference the neighborhood elements. There are :
+
+  - \b CImg_2x2(I,type) : Define a 2x2 neighborhood named \c I, of type \c type.
+  - \b CImg_3x3(I,type) : Define a 3x3 neighborhood named \c I, of type \c type.
+  - \b CImg_4x4(I,type) : Define a 4x4 neighborhood named \c I, of type \c type.
+  - \b CImg_5x5(I,type) : Define a 5x5 neighborhood named \c I, of type \c type.
+  - \b CImg_2x2x2(I,type) : Define a 2x2x2 neighborhood named \c I, of type \c type.
+  - \b CImg_3x3x3(I,type) : Define a 3x3x3 neighborhood named \c I, of type \c type.
+
+  Actually, \c I is a \e generic \e name for the neighborhood. In fact, these macros declare
+  a \e set of new variables.
+  For instance, defining a 3x3 neighborhood \c CImg_3x3(I,float) declares 9 different float variables
+  \c Ipp,\c Icp,\c Inp,\c Ipc,\c Icc,\c Inc,\c Ipn,\c Icn,\c Inn which correspond to each pixel value of
+  a 3x3 neighborhood.
+  Variable indices are \c p,\c c or \c n, and stand respectively for \e 'previous', \e 'current' and \e 'next'.
+  First indice denotes the \c x-axis, second indice denotes the \c y-axis.
+  Then, the names of the variables are directly related to the position of the corresponding pixels
+  in the neighborhood. For 3D neighborhoods, a third indice denotes the \c z-axis.
+  Then, inside a neighborhood loop, you will have the following equivalence :
+  - <tt>Ipp = img(x-1,y-1)</tt>
+  - <tt>Icn = img(x,y+1)</tt>
+  - <tt>Inp = img(x+1,y-1)</tt>
+  - <tt>Inpc = img(x+1,y-1,z)</tt>
+  - <tt>Ippn = img(x-1,y-1,z+1)</tt>
+  - and so on...
+
+  For bigger neighborhoods, such as 4x4 or 5x5 neighborhoods, two additionnal indices are introduced :
+  \c a (stands for \e 'after') and \c b (stands for \e 'before'), so that :
+  - <tt>Ibb = img(x-2,y-2)</tt>
+  - <tt>Ina = img(x+1,y+2)</tt>
+  - and so on...
+
+  The value of a neighborhood pixel outside the image range (image border problem) is automatically set to the same
+  values than the nearest valid pixel in the image (this is also called the \e Neumann \e border \e condition).
+
+  \subsection lo11 Example codes
+  More than a long discussion, the above example will demonstrate how to compute the gradient norm of a 3D volume
+  using the \c cimg_for3x3x3() loop macro :
+
+  \code
+  CImg<float> volume("IRM.hdr");	  // Load an IRM volume from an Analyze7.5 file
+  CImg_3x3x3(I,float);		  	  // Define a 3x3x3 neighborhood
+  CImg<float> gradnorm(volume); 	  // Create an image with same size as 'volume'
+  cimg_for3x3x3(volume,x,y,z,0,I,float) { // Loop over the volume, using the neighborhood I
+    const float ix = 0.5f*(Incc-Ipcc);	  // Compute the derivative along the x-axis.
+    const float iy = 0.5f*(Icnc-Icpc);	  // Compute the derivative along the y-axis.
+    const float iz = 0.5f*(Iccn-Iccp);	  // Compute the derivative along the z-axis.
+    gradnorm(x,y,z) = std::sqrt(ix*ix+iy*iy+iz*iz);  // Set the gradient norm in the destination image
+  }
+  gradnorm.display("Gradient norm");
+  \endcode
+
+  And the following example shows how to deal with neighborhood references to blur a color image by averaging
+  pixel values on a 5x5 neighborhood.
+
+  \code
+  CImg<unsigned char> src("image_color.jpg"), dest(src,false), neighbor(5,5);  // Image definitions.
+  typedef unsigned char uchar;		   // Avoid space in the second parameter of the macro CImg_5x5x1 below.
+  CImg<> N(5,5);	                   // Define a 5x5 neighborhood as a 5x5 image.
+  cimg_forC(src,k)			   // Standard loop on color channels
+     cimg_for5x5(src,x,y,0,k,N,float) 	   // 5x5 neighborhood loop.
+       dest(x,y,k) = N.sum()/(5*5);        // Averaging pixels to filter the color image.
+  CImgList<unsigned char> visu(src,dest);
+  visu.display("Original + Filtered");	   // Display both original and filtered image.
+  \endcode
+
+  As you can see, explaining the use of the CImg neighborhood macros is actually more difficult than using them !
+
+**/
+/*@}*/
+
+/*-----------------------------------
+
+   Using display windows
+
+  -------------------------------------*/
+
+/** \addtogroup cimg_displays Using Display Windows. */
+/*@{*/
+/**
+  \page foo_di
+
+  When opening a display window, you can choose the way the pixel values will be normalized
+  before being displayed on the screen. Screen displays only support color values between [0,255],
+  and some
+
+  When displaying an image into the display window using CImgDisplay::display(), values of
+  the image pixels can be eventually linearly normalized between [0,255] for visualization purposes.
+  This may be useful for instance when displaying \p CImg<double> images with pixel values
+  between [0,1].
+  The normalization behavior depends on the value of \p normalize which can be either \p 0,\p 1 or \p 2 :
+  - \p 0 : No pixel normalization is performed when displaying an image. This is the fastest
+  process, but you must be sure your displayed image have pixel values inside the range [0,255].
+  - \p 1 : Pixel value normalization is done for each new image display. Image pixels are
+  not modified themselves, only displayed pixels are normalized.
+  - \p 2 : Pixel value normalization is done for the first image display, then the
+  normalization parameters are kept and used for all the next image displays.
+
+**/
+/*@}*/
+
+/*-----------------------------------
+
+  How pixel data are stored
+
+  -------------------------------------*/
+
+/** \addtogroup cimg_storage How pixel data are stored with CImg. */
+/*@{*/
+/**
+  \page foo_store
+
+  First, CImg<T> are *very* basic structures, which means that there are no memory tricks, weird memory alignments or
+  disk caches used to store pixel data of images. When an image is instanced, all its pixel values are stored in memory at
+  the same time (yes, you should avoid working with huge images when dealing with CImg, if you have only 64kb of RAM).
+
+  A CImg<T> is basically a 4th-dimensional array (width,height,depth,dim), and its pixel data are stored linearly in a single
+  memory buffer of general size (width*height*depth*dim). Nothing more, nothing less. The address of this memory buffer can be
+  retrieved by the function CImg<T>::data().
+  As each image value is stored as a type T (T being known by the programmer of course), this pointer is a 'T*', or a 'const T*' if your image is 'const'.
+  so, 'T *ptr = img.data()' gives you the pointer to the first value of the image 'img'. The overall size of the used memory for one
+  instance image (in bytes) is then 'width*height*depth*dim*sizeof(T)'.
+
+  Now, the ordering of the pixel values in this buffer follows these rules :
+  The values are *not* interleaved, and are ordered first along the X,Y,Z and V axis respectively (corresponding to the width,height,depth,dim dimensions),
+  starting from the upper-left pixel to the bottom-right pixel of the instane image, with a classical scanline run.
+
+  So, a color image with dim=3 and depth=1, will be stored in memory as :
+
+  R1R2R3R4R5R6......G1G2G3G4G5G6.......B1B2B3B4B5B6.... (i.e following a 'planar' structure)
+
+  and *not* as R1G1B1R2G2B2R3G3B3... (interleaved channels),
+  where R1 = img(0,0,0,0) is the first upper-left pixel of the red component of the image,
+  R2 is img(1,0,0,0), G1 = img(0,0,0,1), G2 = img(1,0,0,1), B1 = img(0,0,0,2), and so on...
+
+  Another example, a (1x5x1x1) CImg<T> (column vector A) will be stored as : A1A2A3A4A5
+  where A1 = img(0,0), A2 = img(0,1), ... , A5 = img(0,4).
+
+  As you see, it is *very* simple and intuitive : no interleaving, no padding, just simple.
+  This is cool not only because it is simple, but this has in fact a number of interesting properties. For instance, a 2D color image
+  is stored in memory exactly as a 3D scalar image having a depth=3, meaning that when you are dealing with 2D color images, you can write 'img(x,y,k)'
+  instead of 'img(x,y,0,k)' to access the kth channel of the (x,y) pixel. More generally, if you have one dimension that is 1 in
+  your image, you can just skip it in the call to the operator(). Similarly, values of a column vector stored as an image with
+  width=depth=spectrum=1 can be accessed by 'img(y)' instead of 'img(0,y)'. This is very convenient.
+
+  Another cool thing is that it allows you to work easily with 'shared' images. A shared image is a CImg<T> instance that shares
+  its memory with another one (the 'base' image). Destroying a shared image does nothing in fact. Shared images is a convenient
+  way of modifying only *portions* (consecutive in memory) of an image. For instance, if 'img' is a 2D color image, you can write :
+
+  img.get_shared_channel(0).blur(2);
+  img.get_shared_channels(1,2).mirror('x');
+
+  which just blur the red channel of the image, and mirror the two others along the X-axis.
+  This is possible since channels of an image are not interleaved but are stored as different consecutive planes in memory, so you see that constructing a shared image is possible (and trivial).
+
+**/
+/*@}*/
+
+/*-----------------------------------
+
+  Files IO
+
+  -------------------------------------*/
+
+/** \addtogroup cimg_files_io Files IO in CImg. */
+/*@{*/
+/**
+  \page foo_fi
+
+  The %CImg Library can NATIVELY handle the following file formats :
+  - RAW : consists in a very simple header (in ascii), then the image data.
+  - ASC (Ascii)
+  - HDR (Analyze 7.5)
+  - INR (Inrimage)
+  - PPM/PGM (Portable Pixmap)
+  - BMP (uncompressed)
+  - PAN (Pandore-5)
+  - DLM (Matlab ASCII)
+
+  If ImageMagick is installed, The %CImg Library can save image in formats handled by ImageMagick : JPG, GIF, PNG, TIF,...
+
+**/
+/*@}*/
+
+/*-----------------------------------
+
+   Retrieving command line arguments
+
+  -------------------------------------*/
+
+/** \addtogroup cimg_options Retrieving Command Line Arguments. */
+/*@{*/
+/**
+  \page foo_so
+
+   The CImg library offers facilities to retrieve command line arguments in a console-based
+   program, as it is a commonly needed operation.
+   Three macros \c cimg_usage(), \c cimg_help() and \c cimg_option() are defined for this purpose.
+   Using these macros allows to easily retrieve options values from the command line.
+   Invoking the compiled executable with the option \c -h or \c --help will
+   automatically display the program usage, followed by the list of requested options.
+
+   \section so1 The cimg_usage() macro
+
+   The macro \c cimg_usage(usage) may be used to describe the program goal and usage.
+   It is generally inserted one time after the <tt>int main(int argc,char **argv)</tt> definition.
+
+   \param usage : A string describing the program goal and usage.
+   \pre The function where \c cimg_usage() is used must have correctly defined \c argc and \c argv variables.
+
+   \section so1_5 The cimg_help() macro
+
+   The macro \c cimg_help(str) will display the string \c str only if the \c -help or \c --help option
+   are invoked when running the programm.
+
+   \section so2 The cimg_option() macro
+
+   The macro \c cimg_option(name,default,usage) may be used to retrieve an option value from the command line.
+
+   \param name	  : The name of the option to be retrieved from the command line.
+   \param default : The default value returned by the macro if no options \p name has been specified when running the program.
+   \param usage   : A brief explanation of the option. If \c usage==0, the option won't appear on the option list
+		    when invoking the executable with options \c -h or \c --help (hidden option).
+
+   \return \c cimg_option() returns an object that has the \e same \e type than the default value \c default.
+   The return value is equal to the one specified on the command line. If no such option have been specified,
+   the return value is equal to the default value \c default.
+   Warning, this can be confusing in some situations (look at the end of the next section).
+   \pre The function where \c cimg_option() is used must have correctly defined \c argc and \c argv variables.
+
+   \section so3 Example of use
+
+   The code below uses the macros \c cimg_usage() and \c cimg_option().
+   It loads an image, smoothes it an quantifies it with a specified number of values.
+   \code
+   #include "CImg.h"
+   using namespace cimg_library;
+   int main(int argc,char **argv) {
+     cimg_usage("Retrieve command line arguments");
+     const char* filename = cimg_option("-i","image.gif","Input image file");
+     const char* output   = cimg_option("-o",(char*)0,"Output image file");
+     const double sigma   = cimg_option("-s",1.0,"Standard variation of the gaussian smoothing");
+     const  int nblevels  = cimg_option("-n",16,"Number of quantification levels");
+     const bool hidden	  = cimg_option("-hidden",false,0);	 // This is a hidden option
+
+     CImg<unsigned char> img(filename);
+     img.blur(sigma).quantize(nblevels);
+     if (output) img.save(output); else img.display("Output image");
+     if (hidden) std::fprintf(stderr,"You found me !\n");
+     return 0;
+   }
+   \endcode
+
+   Invoking the corresponding executable with <tt>test -h -hidden -n 20 -i foo.jpg</tt> will display :
+   \verbatim
+   ./test -h -hidden -n 20 -i foo.jpg
+
+ test : Retrieve command line arguments (Oct 16 2004, 12:34:26)
+
+    -i	     = foo.jpg	    : Input image file
+    -o	     = 0	    : Output image file
+    -s	     = 1	    : Standard variation of the gaussian smoothing
+    -n	     = 20	    : Number of quantification levels
+
+   You found me !
+\endverbatim
+
+   \warning As the type of object returned by the macro \c cimg_option(option,default,usage)
+   is defined by the type of \c default, undesired casts may appear when writting code such as :
+   \code
+   const double sigma = cimg_option("-val",0,"A floating point value");
+   \endcode
+   In this case, \c sigma will always be equal to an integer (since the default value \c 0 is an integer).
+   When passing a float value on the command line, a \e float \e to \e integer cast is then done,
+   truncating the given parameter to an integer value (this is surely not a desired behavior).
+   You must specify <tt>0.0</tt> as the default value in this case.
+
+   \section so4 How to learn more about command line options ?
+   You should take a look at the examples <tt>examples/gmic.cpp</tt> provided in the %CImg Library package.
+   This is a command line based image converter which intensively uses the \c cimg_option() and \c cimg_usage()
+   macros to retrieve command line parameters.
+**/
+/*@}*/
diff --git a/html/download.shtml b/html/download.shtml
new file mode 100644
index 0000000..06eb082
--- /dev/null
+++ b/html/download.shtml
@@ -0,0 +1,45 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--#include file="header.html" -->
+
+<div id="bloc_option"><div id="top_vert"><div id="text_top">Download</div></div>
+<div id="center"><div id="text_centre_intro">
+<p>
+  You have different ways to get the <font color="#000066"><b>CImg Library</b></font>:
+</p>
+
+<table align="left" border="0" width="100%" cellspacing="20">
+  <tr><td><a href="http://cimg.eu/files/CImg_latest.zip">
+        <img src="img/item_standard_package.jpg" border="0" alt="Standard Package"
+             onmouseover="this.src='img/item_standard_package2.jpg';"
+             onmouseout="this.src='img/item_standard_package.jpg';" /></a></td>
+    <td><hr noshade="noshade" size="1" width="100%"></hr>
+      The <font color="#000066"><b>CImg Library</b></font> is mainly provided as
+      <a href="http://cimg.eu/files/CImg_latest.zip">
+        <i>.zip</i> package</a>
+    which is <b>platform-independent</b>.
+    It contains all the required files, as well as various examples (which must be compiled),
+    illustrating the use of the library functions and classes.<br/>
+</td></tr>
+<tr><td><a href="https://github.com/dtschump/CImg">
+      <img src="img/item_sources.jpg" border="0" alt="Sources Repository"
+           onmouseover="this.src='img/item_sources2.jpg';"
+           onmouseout="this.src='img/item_sources.jpg';" /></a></td>
+  <td><hr noshade="noshade" size="1" width="100%"></hr>
+    You may be also more adventurous and try the current development version with <a href="http://git-scm.com/"><b>git</b></a>.
+    This ensures you will get the latest code available, and will ease the
+    updates as well. To do this, just
+    type the commands : <br/><br/>
+        <table cellpadding="10" cellspacing="0" border="0" bgcolor="#E0E0E0"><tr><td>
+              <font size="-1"><i>
+                  <a href="https://github.com/dtschump/CImg">git clone https://github.com/dtschump/CImg.git</a>
+              </i></font>
+        </td></tr></table>
+        <br/>in your favorite console. Nevertheless, you have to know that some code in the source repository
+          is under development and may be experimental, so always test the latest stable archive before complaining !
+      </td></tr>
+    </table>
+
+</div></div><div id="footer"><img alt="" src="images/footer.jpg" /></div></div>
+
+<!--#include file="footer.html" -->
diff --git a/html/favicon.ico b/html/favicon.ico
new file mode 100644
index 0000000..f6752b6
Binary files /dev/null and b/html/favicon.ico differ
diff --git a/html/favicon.png b/html/favicon.png
new file mode 100644
index 0000000..b69bb86
Binary files /dev/null and b/html/favicon.png differ
diff --git a/html/footer.html b/html/footer.html
new file mode 100644
index 0000000..4e0452f
--- /dev/null
+++ b/html/footer.html
@@ -0,0 +1,47 @@
+<div id="bloc_option"><div id="top_vert"><div id="text_top">Copyrights</div></div>
+  <div id="center"><div id="text_centre_intro">
+      <font size="-2">
+        Copyrights (C) From october 2004, David Tschumperlé - GREYC UMR CNRS 6072, Image team.<br/>
+        Copyrights (C) January->September 2004, David Tschumperlé.<br/>
+        Copyrights (C) 2000->2003, David Tschumperlé - INRIA Sophia-Antipolis. Odyssée group.<br/>
+      </font>
+      <br/>
+
+      <center>
+        <a href="https://sourceforge.net/p/cimg/donate/"><img src="http://images.sourceforge.net/images/project-support.jpg" width="88" height="32" border="0" alt="Support This Project" /></a>
+      </center>
+
+  </div></div><div id="footer"><img alt="" src="images/footer.jpg" />
+</div></div>
+
+<!-- Start of StatCounter Code -->
+<script type="text/javascript" language="javascript">
+  <!--
+      var sc_project=895001;
+      var sc_invisible=1;
+      var sc_partition=7;
+      var sc_security="5ea85181";
+      //-->
+</script>
+
+<script type="text/javascript" language="javascript" src="http://www.statcounter.com/counter/counter.js"></script><noscript><a href="http://www.statcounter.com/" target="_blank"><img src="http://c8.statcounter.com/counter.php?sc_project=895001&java=0&security=5ea85181&invisible=1" alt="counter stats" border="0" /></a> </noscript>
+<!-- End of StatCounter Code -->
+
+<!-- Google Analytics -->
+<script type="text/javascript">
+
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-16976814-2']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+  })();
+
+</script>
+<!-- End Google Analytics -->
+
+</body>
+</html>
diff --git a/html/footer_reference.html b/html/footer_reference.html
new file mode 100644
index 0000000..5b2e29b
--- /dev/null
+++ b/html/footer_reference.html
@@ -0,0 +1,45 @@
+</td></tr></table>
+
+<table align="center" border="0" cellpadding="12" cellspacing="0" width="1000" style="border-style:solid; border-width:0px; border-color:black" bgcolor="#FFFFFF">
+  <tr><td>
+      <hr noshade />
+      <font size="-2">
+        Copyrights (C) From october 2004, David Tschumperlé - GREYC UMR CNRS 6072, Image team.<br/>
+        Copyrights (C) January->September 2004, David Tschumperlé.<br/>
+        Copyrights (C) 2000->2003, David Tschumperlé - INRIA Sophia-Antipolis. Odyssée group.<br/>
+      </font>
+      <br/>
+
+      <center>
+        <a href="https://sourceforge.net/p/cimg/donate/"><img src="http://images.sourceforge.net/images/project-support.jpg" width="88" height="32" border="0" alt="Support This Project" /></a>
+      </center>
+  </td></tr></table>
+
+<!-- Start of StatCounter Code -->
+<script type="text/javascript" language="javascript">
+  <!--
+      var sc_project=895001;
+      var sc_invisible=1;
+      var sc_partition=7;
+      var sc_security="5ea85181";
+      //-->
+</script>
+
+<script type="text/javascript" language="javascript" src="http://www.statcounter.com/counter/counter.js"></script><noscript><a href="http://www.statcounter.com/" target="_blank"><img  src="http://c8.statcounter.com/counter.php?sc_project=895001&java=0&security=5ea85181&invisible=1" alt="counter stats" border="0"></a> </noscript>
+<!-- End of StatCounter Code -->
+
+<!-- Google Analytics -->
+<script type="text/javascript">
+
+  var _gaq = _gaq || [];
+  _gaq.push(['_setAccount', 'UA-16976814-2']);
+  _gaq.push(['_trackPageview']);
+
+  (function() {
+    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
+    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
+    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
+  })();
+
+</script>
+<!-- End Google Analytics -->
diff --git a/html/header.html b/html/header.html
new file mode 100644
index 0000000..0362191
--- /dev/null
+++ b/html/header.html
@@ -0,0 +1,79 @@
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></meta>
+    <title>The CImg Library - C++ Template Image Processing Toolkit</title>
+    <meta content="David Tschumperle" name="author"></meta>
+    <link href='http://fonts.googleapis.com/css?family=Open+Sans' rel='stylesheet' type='text/css' />
+    <link rel="shortcut icon" type="image/x-icon" href="http://cimg.eu/favicon.ico"></link>
+    <link rel="icon" type="image/png" href="favicon.png"></link>
+    <link href="style.css" rel="stylesheet" type="text/css" />
+    <style type="text/css">
+      <!--
+          body {background-color:#000000; font-family:sans-serif; }
+          a { font-weight:bold; color:#636363; }
+          a:active{text-decoration:none; color:#000000}
+          a:link{text-decoration:none; color:#000000}
+          a:visited{text-decoration:none; color:#000000}
+          a:hover{text-decoration:underline; color:#4E9F71}
+        -->
+    </style>
+    <script language="JavaScript" type="text/javascript">
+      <!-- Original:  Eric King (eric_andrew_king at hotmail.com) is used to display images in popup windows -->
+      <!-- Web Site:  http://redrival.com/eak/ -->
+      <!-- This script and many more are available free online at -->
+      <!-- The JavaScript Source!! http://javascript.internet.com -->
+      <!-- Begin
+           function NewWindow(mypage, myname, w, h, scroll) {
+           var winl = (screen.width - w) / 2;
+           var wint = (screen.height - h) / 2;
+           winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
+           win = window.open(mypage, myname, winprops)
+           if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
+           }
+           //  End -->
+    </script>
+
+    <script type="text/javascript" src="jquery-1.11.0.min.js"></script>
+
+  </head>
+
+  <body>
+    <a href="https://github.com/dtschump/CImg"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://camo.githubusercontent.com/82b228a3648bf44fc1163ef44c62fcc60081495e/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f7265645f6161303030302e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_red_aa0000.png"></a>
+    <table align="center" border="0" cellpadding="0" cellspacing="0" width="1000" style="border-style:solid; border-width:0px; border-color:black" bgcolor="#DDDDDD">
+      <tr bgcolor="#FFFFFF"><td>
+          <center>
+            <br/><br/>
+            <a href="http://cimg.eu"><img src="http://cimg.eu/img/CImgLogo2.jpg" alt="" border="0" /></a><br/>
+          </center>
+          <center><font size="-1" color="#777777">
+              Latest stable version: <b><a href="http://cimg.eu/files">1.6.4</a></b>
+                 -   
+              Development snapshot: <b><a href="http://cimg.eu/files">1.6.5_pre</a></b>
+          </font></center>
+      </td></tr>
+      <tr><td>
+          <table width="95%" align="center"><tr>
+              <td>
+                <script type="text/javascript" src="./cimgmenu/cimgmenu.js"></script>
+                <div id="cimgmenu"></div>
+                <noscript>
+                  <a href="http://cimg.eu">Home</a>
+                  <a href="http://cimg.eu/download.shtml">Download</a>
+                  <a href="http://cimg.eu/screenshots.shtml">Screenshots</a>
+                  <a href="http://cimg.eu/reference/group__cimg__faq.html">FAQ</a>
+                  <a href="http://cimg.eu/reference/group__cimg__tutorial.html">Tutorial</a>
+                  <a href="http://cimg.eu/reference/index.html">Documentation</a>
+                  <a href="https://github.com/dtschump/CImg/issues">Forum</a>
+                  <a href="http://cimg.eu/links.shtml">Links</a>
+                </noscript>
+              </td>
+              <td align="right">
+                <script type="text/javascript">
+	          var flattr_url = 'http://cimg.sourceforge.net';
+	          var flattr_btn='compact';
+                </script>
+                <script src="http://api.flattr.com/button/load.js" type="text/javascript"></script>
+              </td>
+          </tr></table>
+      </td></tr>
+    </table>
diff --git a/html/header_reference.html b/html/header_reference.html
new file mode 100644
index 0000000..f70aaa2
--- /dev/null
+++ b/html/header_reference.html
@@ -0,0 +1,78 @@
+<xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+  <head>
+    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></meta>
+    <title>The CImg Library - C++ Template Image Processing Toolkit</title>
+    <meta content="David Tschumperle" name="author"></meta>
+    <link rel="shortcut icon" type="image/x-icon" href="http://cimg.eu/favicon.ico"></link>
+    <link rel="icon" type="image/png" href="favicon.png"></link>
+    <link href="doxygen.css" rel="stylesheet" type="text/css">
+    <link href="tabs.css" rel="stylesheet" type="text/css">
+    <style type="text/css">
+      <!--
+          body {background-color:#000000; font-family:sans-serif; }
+          a { font-weight:bold; color:#636363; }
+          a:active{text-decoration:none; color:#000000}
+          a:link{text-decoration:none; color:#000000}
+          a:visited{text-decoration:none; color:#000000}
+          a:hover{text-decoration:underline; color:#4E9F71}
+        -->
+    </style>
+    <script language="JavaScript" type="text/javascript">
+      <!-- Original:  Eric King (eric_andrew_king at hotmail.com) is used to display images in popup windows -->
+      <!-- Web Site:  http://redrival.com/eak/ -->
+      <!-- This script and many more are available free online at -->
+      <!-- The JavaScript Source!! http://javascript.internet.com -->
+      <!-- Begin
+           function NewWindow(mypage, myname, w, h, scroll) {
+           var winl = (screen.width - w) / 2;
+           var wint = (screen.height - h) / 2;
+           winprops = 'height='+h+',width='+w+',top='+wint+',left='+winl+',scrollbars='+scroll+',resizable'
+           win = window.open(mypage, myname, winprops)
+           if (parseInt(navigator.appVersion) >= 4) { win.window.focus(); }
+           }
+           //  End -->
+    </script>
+
+    <script type="text/javascript" src="../jquery-1.11.0.min.js"></script>
+
+  </head>
+  <body>
+    <a href="https://github.com/dtschump/CImg"><img style="position: absolute; top: 0; left: 0; border: 0;" src="https://camo.githubusercontent.com/82b228a3648bf44fc1163ef44c62fcc60081495e/68747470733a2f2f73332e616d617a6f6e6177732e636f6d2f6769746875622f726962626f6e732f666f726b6d655f6c6566745f7265645f6161303030302e706e67" alt="Fork me on GitHub" data-canonical-src="https://s3.amazonaws.com/github/ribbons/forkme_left_red_aa0000.png"></a>
+    <table align="center" cellpadding="0" cellspacing="0" width="1000" style="border-style:solid; border-width:0px; border-color:black" bgcolor="#DDDDDD">
+      <tr bgcolor="#FFFFFF"><td>
+          <center>
+            <br/><br/>
+            <a href="http://cimg.eu"><img src="http://cimg.eu/img/CImgLogo2.jpg" alt="" border="0" /></a><br/>
+          </center>
+          <center><font size="-1">Current stable version: <b><a href="http://cimg.eu/files">1.6.3</a></b></font><br/><br/></center>
+      </td></tr>
+      <tr><td>
+          <table width="95%" align="center"><tr>
+              <td>
+                <script type="text/javascript" src="../cimgmenu/cimgmenu.js"></script>
+                <div id="cimgmenu"></div>
+                <noscript>
+                  <a href="http://cimg.eu">Home</a>
+                  <a href="http://cimg.eu/download.shtml">Download</a>
+                  <a href="http://cimg.eu/screenshots.shtml">Screenshots</a>
+                  <a href="http://cimg.eu/reference/group__cimg__faq.html">FAQ</a>
+                  <a href="http://cimg.eu/reference/group__cimg__tutorial.html">Tutorial</a>
+                  <a href="http://cimg.eu/reference/index.html">Documentation</a>
+                  <a href="https://github.com/dtschump/CImg/issues">Forum</a>
+                  <a href="http://cimg.eu/links.shtml">Links</a>
+                </noscript>
+               </div>
+            </td>
+            <td align="right">
+              <script type="text/javascript">
+	        var flattr_url = 'http://cimg.sourceforge.net';
+	        var flattr_btn='compact';
+              </script>
+              <script src="http://api.flattr.com/button/load.js" type="text/javascript"></script>
+            </td>
+          </tr></table>
+      </td></tr>
+    </table>
+
+    <table align="center" cellpadding="12" cellspacing="0" width="1000" style="border-style:solid; border-width:0px; border-color:black" bgcolor="#FFFFFF">
+      <tr><td>
diff --git a/html/images/centre.jpg b/html/images/centre.jpg
new file mode 100644
index 0000000..f4c5d68
Binary files /dev/null and b/html/images/centre.jpg differ
diff --git a/html/images/centre_no_repeat.jpg b/html/images/centre_no_repeat.jpg
new file mode 100644
index 0000000..f4c5d68
Binary files /dev/null and b/html/images/centre_no_repeat.jpg differ
diff --git a/html/images/footer.jpg b/html/images/footer.jpg
new file mode 100644
index 0000000..139667e
Binary files /dev/null and b/html/images/footer.jpg differ
diff --git a/html/images/header.jpg b/html/images/header.jpg
new file mode 100644
index 0000000..df7920d
Binary files /dev/null and b/html/images/header.jpg differ
diff --git a/html/images/header_bis.jpg b/html/images/header_bis.jpg
new file mode 100644
index 0000000..5ef3962
Binary files /dev/null and b/html/images/header_bis.jpg differ
diff --git a/html/images/header_bleu.jpg b/html/images/header_bleu.jpg
new file mode 100644
index 0000000..7384ee6
Binary files /dev/null and b/html/images/header_bleu.jpg differ
diff --git a/html/images/header_gris.jpg b/html/images/header_gris.jpg
new file mode 100644
index 0000000..750e81c
Binary files /dev/null and b/html/images/header_gris.jpg differ
diff --git a/html/images/header_rouge.jpg b/html/images/header_rouge.jpg
new file mode 100644
index 0000000..1b7c0e9
Binary files /dev/null and b/html/images/header_rouge.jpg differ
diff --git a/html/images/header_vert.jpg b/html/images/header_vert.jpg
new file mode 100644
index 0000000..046cbbc
Binary files /dev/null and b/html/images/header_vert.jpg differ
diff --git a/html/images/tab_02.jpg b/html/images/tab_02.jpg
new file mode 100644
index 0000000..4371d6c
Binary files /dev/null and b/html/images/tab_02.jpg differ
diff --git a/html/images/tab_04.jpg b/html/images/tab_04.jpg
new file mode 100644
index 0000000..5232a82
Binary files /dev/null and b/html/images/tab_04.jpg differ
diff --git a/html/img/CImgLogo.jpg b/html/img/CImgLogo.jpg
new file mode 100644
index 0000000..99a491d
Binary files /dev/null and b/html/img/CImgLogo.jpg differ
diff --git a/html/img/CImgLogo2.jpg b/html/img/CImgLogo2.jpg
new file mode 100644
index 0000000..c649b25
Binary files /dev/null and b/html/img/CImgLogo2.jpg differ
diff --git a/html/img/CImg_flyer.jpg b/html/img/CImg_flyer.jpg
new file mode 100644
index 0000000..0fb880d
Binary files /dev/null and b/html/img/CImg_flyer.jpg differ
diff --git a/html/img/curve_editor.jpg b/html/img/curve_editor.jpg
new file mode 100644
index 0000000..a7245a8
Binary files /dev/null and b/html/img/curve_editor.jpg differ
diff --git a/html/img/item_authors.jpg b/html/img/item_authors.jpg
new file mode 100644
index 0000000..7f0e062
Binary files /dev/null and b/html/img/item_authors.jpg differ
diff --git a/html/img/item_chat.gif b/html/img/item_chat.gif
new file mode 100644
index 0000000..8ad1666
Binary files /dev/null and b/html/img/item_chat.gif differ
diff --git a/html/img/item_clickvideo.jpg b/html/img/item_clickvideo.jpg
new file mode 100644
index 0000000..c4ddec1
Binary files /dev/null and b/html/img/item_clickvideo.jpg differ
diff --git a/html/img/item_clickvideo2.jpg b/html/img/item_clickvideo2.jpg
new file mode 100644
index 0000000..ff9e1a4
Binary files /dev/null and b/html/img/item_clickvideo2.jpg differ
diff --git a/html/img/item_copyrights.jpg b/html/img/item_copyrights.jpg
new file mode 100644
index 0000000..27f50b0
Binary files /dev/null and b/html/img/item_copyrights.jpg differ
diff --git a/html/img/item_debian_package.jpg b/html/img/item_debian_package.jpg
new file mode 100644
index 0000000..ad2f3d2
Binary files /dev/null and b/html/img/item_debian_package.jpg differ
diff --git a/html/img/item_debian_package2.jpg b/html/img/item_debian_package2.jpg
new file mode 100644
index 0000000..5ff8c18
Binary files /dev/null and b/html/img/item_debian_package2.jpg differ
diff --git a/html/img/item_description.jpg b/html/img/item_description.jpg
new file mode 100644
index 0000000..fb85409
Binary files /dev/null and b/html/img/item_description.jpg differ
diff --git a/html/img/item_download.gif b/html/img/item_download.gif
new file mode 100644
index 0000000..1cc122a
Binary files /dev/null and b/html/img/item_download.gif differ
diff --git a/html/img/item_extensibility.jpg b/html/img/item_extensibility.jpg
new file mode 100644
index 0000000..fcb8dae
Binary files /dev/null and b/html/img/item_extensibility.jpg differ
diff --git a/html/img/item_file.jpg b/html/img/item_file.jpg
new file mode 100644
index 0000000..eed619c
Binary files /dev/null and b/html/img/item_file.jpg differ
diff --git a/html/img/item_freedom.jpg b/html/img/item_freedom.jpg
new file mode 100644
index 0000000..70b2d83
Binary files /dev/null and b/html/img/item_freedom.jpg differ
diff --git a/html/img/item_genericity.jpg b/html/img/item_genericity.jpg
new file mode 100644
index 0000000..3b05c76
Binary files /dev/null and b/html/img/item_genericity.jpg differ
diff --git a/html/img/item_guestbook.jpg b/html/img/item_guestbook.jpg
new file mode 100644
index 0000000..0617085
Binary files /dev/null and b/html/img/item_guestbook.jpg differ
diff --git a/html/img/item_howtohelp.jpg b/html/img/item_howtohelp.jpg
new file mode 100644
index 0000000..a04671f
Binary files /dev/null and b/html/img/item_howtohelp.jpg differ
diff --git a/html/img/item_intro.gif b/html/img/item_intro.gif
new file mode 100644
index 0000000..b2d4c47
Binary files /dev/null and b/html/img/item_intro.gif differ
diff --git a/html/img/item_learnmore.jpg b/html/img/item_learnmore.jpg
new file mode 100644
index 0000000..5c73f96
Binary files /dev/null and b/html/img/item_learnmore.jpg differ
diff --git a/html/img/item_licenses.jpg b/html/img/item_licenses.jpg
new file mode 100644
index 0000000..3e3c92c
Binary files /dev/null and b/html/img/item_licenses.jpg differ
diff --git a/html/img/item_links.gif b/html/img/item_links.gif
new file mode 100644
index 0000000..451ee3b
Binary files /dev/null and b/html/img/item_links.gif differ
diff --git a/html/img/item_news.gif b/html/img/item_news.gif
new file mode 100644
index 0000000..7482006
Binary files /dev/null and b/html/img/item_news.gif differ
diff --git a/html/img/item_portability.jpg b/html/img/item_portability.jpg
new file mode 100644
index 0000000..7e86c57
Binary files /dev/null and b/html/img/item_portability.jpg differ
diff --git a/html/img/item_precompiled.jpg b/html/img/item_precompiled.jpg
new file mode 100644
index 0000000..a88f141
Binary files /dev/null and b/html/img/item_precompiled.jpg differ
diff --git a/html/img/item_precompiled2.jpg b/html/img/item_precompiled2.jpg
new file mode 100644
index 0000000..eb7b7a0
Binary files /dev/null and b/html/img/item_precompiled2.jpg differ
diff --git a/html/img/item_quickhistory.jpg b/html/img/item_quickhistory.jpg
new file mode 100644
index 0000000..eaea87d
Binary files /dev/null and b/html/img/item_quickhistory.jpg differ
diff --git a/html/img/item_screenshots.gif b/html/img/item_screenshots.gif
new file mode 100644
index 0000000..c0c12fe
Binary files /dev/null and b/html/img/item_screenshots.gif differ
diff --git a/html/img/item_simplicity.jpg b/html/img/item_simplicity.jpg
new file mode 100644
index 0000000..4706824
Binary files /dev/null and b/html/img/item_simplicity.jpg differ
diff --git a/html/img/item_sources.jpg b/html/img/item_sources.jpg
new file mode 100644
index 0000000..dee423b
Binary files /dev/null and b/html/img/item_sources.jpg differ
diff --git a/html/img/item_sources2.jpg b/html/img/item_sources2.jpg
new file mode 100644
index 0000000..840bf97
Binary files /dev/null and b/html/img/item_sources2.jpg differ
diff --git a/html/img/item_standard_package.jpg b/html/img/item_standard_package.jpg
new file mode 100644
index 0000000..ed745cc
Binary files /dev/null and b/html/img/item_standard_package.jpg differ
diff --git a/html/img/item_standard_package2.jpg b/html/img/item_standard_package2.jpg
new file mode 100644
index 0000000..28b4e43
Binary files /dev/null and b/html/img/item_standard_package2.jpg differ
diff --git a/html/img/item_usefulness.jpg b/html/img/item_usefulness.jpg
new file mode 100644
index 0000000..9a0e8bb
Binary files /dev/null and b/html/img/item_usefulness.jpg differ
diff --git a/html/img/logoCNRS.gif b/html/img/logoCNRS.gif
new file mode 100644
index 0000000..155715a
Binary files /dev/null and b/html/img/logoCNRS.gif differ
diff --git a/html/img/logoGMIC.ppm b/html/img/logoGMIC.ppm
new file mode 100644
index 0000000..ff86090
Binary files /dev/null and b/html/img/logoGMIC.ppm differ
diff --git a/html/img/logoGREYC.gif b/html/img/logoGREYC.gif
new file mode 100644
index 0000000..8394ab9
Binary files /dev/null and b/html/img/logoGREYC.gif differ
diff --git a/html/img/logoIMAGE.gif b/html/img/logoIMAGE.gif
new file mode 100644
index 0000000..94339a8
Binary files /dev/null and b/html/img/logoIMAGE.gif differ
diff --git a/html/img/logoINRIA.gif b/html/img/logoINRIA.gif
new file mode 100644
index 0000000..28f2b5c
Binary files /dev/null and b/html/img/logoINRIA.gif differ
diff --git a/html/img/logoODYSSEE.jpg b/html/img/logoODYSSEE.jpg
new file mode 100644
index 0000000..875cb46
Binary files /dev/null and b/html/img/logoODYSSEE.jpg differ
diff --git a/html/img/postcard1.jpg b/html/img/postcard1.jpg
new file mode 100644
index 0000000..f91b070
Binary files /dev/null and b/html/img/postcard1.jpg differ
diff --git a/html/img/postcard10.jpg b/html/img/postcard10.jpg
new file mode 100644
index 0000000..d782e9e
Binary files /dev/null and b/html/img/postcard10.jpg differ
diff --git a/html/img/postcard11.jpg b/html/img/postcard11.jpg
new file mode 100644
index 0000000..98e8833
Binary files /dev/null and b/html/img/postcard11.jpg differ
diff --git a/html/img/postcard12.jpg b/html/img/postcard12.jpg
new file mode 100644
index 0000000..9007050
Binary files /dev/null and b/html/img/postcard12.jpg differ
diff --git a/html/img/postcard13.jpg b/html/img/postcard13.jpg
new file mode 100644
index 0000000..6701351
Binary files /dev/null and b/html/img/postcard13.jpg differ
diff --git a/html/img/postcard14.jpg b/html/img/postcard14.jpg
new file mode 100644
index 0000000..9b3a9dd
Binary files /dev/null and b/html/img/postcard14.jpg differ
diff --git a/html/img/postcard15.jpg b/html/img/postcard15.jpg
new file mode 100644
index 0000000..efb6827
Binary files /dev/null and b/html/img/postcard15.jpg differ
diff --git a/html/img/postcard16.jpg b/html/img/postcard16.jpg
new file mode 100644
index 0000000..abf189b
Binary files /dev/null and b/html/img/postcard16.jpg differ
diff --git a/html/img/postcard17.jpg b/html/img/postcard17.jpg
new file mode 100644
index 0000000..06cbbcf
Binary files /dev/null and b/html/img/postcard17.jpg differ
diff --git a/html/img/postcard18.jpg b/html/img/postcard18.jpg
new file mode 100644
index 0000000..d240261
Binary files /dev/null and b/html/img/postcard18.jpg differ
diff --git a/html/img/postcard19.jpg b/html/img/postcard19.jpg
new file mode 100644
index 0000000..dad61a5
Binary files /dev/null and b/html/img/postcard19.jpg differ
diff --git a/html/img/postcard2.jpg b/html/img/postcard2.jpg
new file mode 100644
index 0000000..ad8acf5
Binary files /dev/null and b/html/img/postcard2.jpg differ
diff --git a/html/img/postcard20.jpg b/html/img/postcard20.jpg
new file mode 100644
index 0000000..e2d12ae
Binary files /dev/null and b/html/img/postcard20.jpg differ
diff --git a/html/img/postcard21.jpg b/html/img/postcard21.jpg
new file mode 100644
index 0000000..2b4e150
Binary files /dev/null and b/html/img/postcard21.jpg differ
diff --git a/html/img/postcard22.jpg b/html/img/postcard22.jpg
new file mode 100644
index 0000000..a84b4f4
Binary files /dev/null and b/html/img/postcard22.jpg differ
diff --git a/html/img/postcard23.jpg b/html/img/postcard23.jpg
new file mode 100644
index 0000000..f4ed605
Binary files /dev/null and b/html/img/postcard23.jpg differ
diff --git a/html/img/postcard24.jpg b/html/img/postcard24.jpg
new file mode 100644
index 0000000..9753f7e
Binary files /dev/null and b/html/img/postcard24.jpg differ
diff --git a/html/img/postcard25.jpg b/html/img/postcard25.jpg
new file mode 100644
index 0000000..2ccb61e
Binary files /dev/null and b/html/img/postcard25.jpg differ
diff --git a/html/img/postcard26.jpg b/html/img/postcard26.jpg
new file mode 100644
index 0000000..ba4088e
Binary files /dev/null and b/html/img/postcard26.jpg differ
diff --git a/html/img/postcard27.jpg b/html/img/postcard27.jpg
new file mode 100644
index 0000000..6580d5f
Binary files /dev/null and b/html/img/postcard27.jpg differ
diff --git a/html/img/postcard28.jpg b/html/img/postcard28.jpg
new file mode 100644
index 0000000..2ac5299
Binary files /dev/null and b/html/img/postcard28.jpg differ
diff --git a/html/img/postcard29.jpg b/html/img/postcard29.jpg
new file mode 100644
index 0000000..548c76d
Binary files /dev/null and b/html/img/postcard29.jpg differ
diff --git a/html/img/postcard3.jpg b/html/img/postcard3.jpg
new file mode 100644
index 0000000..a1fa6e6
Binary files /dev/null and b/html/img/postcard3.jpg differ
diff --git a/html/img/postcard30.jpg b/html/img/postcard30.jpg
new file mode 100644
index 0000000..5d6caae
Binary files /dev/null and b/html/img/postcard30.jpg differ
diff --git a/html/img/postcard31.jpg b/html/img/postcard31.jpg
new file mode 100644
index 0000000..f4c738d
Binary files /dev/null and b/html/img/postcard31.jpg differ
diff --git a/html/img/postcard32.jpg b/html/img/postcard32.jpg
new file mode 100644
index 0000000..827304a
Binary files /dev/null and b/html/img/postcard32.jpg differ
diff --git a/html/img/postcard33.jpg b/html/img/postcard33.jpg
new file mode 100644
index 0000000..a42fe22
Binary files /dev/null and b/html/img/postcard33.jpg differ
diff --git a/html/img/postcard34.jpg b/html/img/postcard34.jpg
new file mode 100644
index 0000000..9a3359c
Binary files /dev/null and b/html/img/postcard34.jpg differ
diff --git a/html/img/postcard35.jpg b/html/img/postcard35.jpg
new file mode 100644
index 0000000..76999c8
Binary files /dev/null and b/html/img/postcard35.jpg differ
diff --git a/html/img/postcard36.jpg b/html/img/postcard36.jpg
new file mode 100644
index 0000000..7e38bf4
Binary files /dev/null and b/html/img/postcard36.jpg differ
diff --git a/html/img/postcard37.jpg b/html/img/postcard37.jpg
new file mode 100644
index 0000000..42d0c3d
Binary files /dev/null and b/html/img/postcard37.jpg differ
diff --git a/html/img/postcard38.jpg b/html/img/postcard38.jpg
new file mode 100644
index 0000000..358f6ba
Binary files /dev/null and b/html/img/postcard38.jpg differ
diff --git a/html/img/postcard39.jpg b/html/img/postcard39.jpg
new file mode 100644
index 0000000..585f718
Binary files /dev/null and b/html/img/postcard39.jpg differ
diff --git a/html/img/postcard4.jpg b/html/img/postcard4.jpg
new file mode 100644
index 0000000..945bf34
Binary files /dev/null and b/html/img/postcard4.jpg differ
diff --git a/html/img/postcard40.jpg b/html/img/postcard40.jpg
new file mode 100644
index 0000000..56ebc2b
Binary files /dev/null and b/html/img/postcard40.jpg differ
diff --git a/html/img/postcard41.jpg b/html/img/postcard41.jpg
new file mode 100644
index 0000000..8b3e066
Binary files /dev/null and b/html/img/postcard41.jpg differ
diff --git a/html/img/postcard42.jpg b/html/img/postcard42.jpg
new file mode 100644
index 0000000..072ef60
Binary files /dev/null and b/html/img/postcard42.jpg differ
diff --git a/html/img/postcard43.jpg b/html/img/postcard43.jpg
new file mode 100644
index 0000000..06e457f
Binary files /dev/null and b/html/img/postcard43.jpg differ
diff --git a/html/img/postcard44.jpg b/html/img/postcard44.jpg
new file mode 100644
index 0000000..e78380d
Binary files /dev/null and b/html/img/postcard44.jpg differ
diff --git a/html/img/postcard45.jpg b/html/img/postcard45.jpg
new file mode 100644
index 0000000..8f25cec
Binary files /dev/null and b/html/img/postcard45.jpg differ
diff --git a/html/img/postcard46.jpg b/html/img/postcard46.jpg
new file mode 100644
index 0000000..0289257
Binary files /dev/null and b/html/img/postcard46.jpg differ
diff --git a/html/img/postcard47.jpg b/html/img/postcard47.jpg
new file mode 100644
index 0000000..43e5263
Binary files /dev/null and b/html/img/postcard47.jpg differ
diff --git a/html/img/postcard48.jpg b/html/img/postcard48.jpg
new file mode 100644
index 0000000..fb055f0
Binary files /dev/null and b/html/img/postcard48.jpg differ
diff --git a/html/img/postcard49.jpg b/html/img/postcard49.jpg
new file mode 100644
index 0000000..99397c2
Binary files /dev/null and b/html/img/postcard49.jpg differ
diff --git a/html/img/postcard5.jpg b/html/img/postcard5.jpg
new file mode 100644
index 0000000..e15c352
Binary files /dev/null and b/html/img/postcard5.jpg differ
diff --git a/html/img/postcard50.jpg b/html/img/postcard50.jpg
new file mode 100644
index 0000000..848fca1
Binary files /dev/null and b/html/img/postcard50.jpg differ
diff --git a/html/img/postcard51.jpg b/html/img/postcard51.jpg
new file mode 100644
index 0000000..c9406e5
Binary files /dev/null and b/html/img/postcard51.jpg differ
diff --git a/html/img/postcard52.jpg b/html/img/postcard52.jpg
new file mode 100644
index 0000000..d478037
Binary files /dev/null and b/html/img/postcard52.jpg differ
diff --git a/html/img/postcard53.jpg b/html/img/postcard53.jpg
new file mode 100644
index 0000000..5ad1b08
Binary files /dev/null and b/html/img/postcard53.jpg differ
diff --git a/html/img/postcard6.jpg b/html/img/postcard6.jpg
new file mode 100644
index 0000000..c60a6f9
Binary files /dev/null and b/html/img/postcard6.jpg differ
diff --git a/html/img/postcard7.jpg b/html/img/postcard7.jpg
new file mode 100644
index 0000000..7b9a7ad
Binary files /dev/null and b/html/img/postcard7.jpg differ
diff --git a/html/img/postcard8.jpg b/html/img/postcard8.jpg
new file mode 100644
index 0000000..8a09535
Binary files /dev/null and b/html/img/postcard8.jpg differ
diff --git a/html/img/postcard9.jpg b/html/img/postcard9.jpg
new file mode 100644
index 0000000..e43626f
Binary files /dev/null and b/html/img/postcard9.jpg differ
diff --git a/html/img/reference/ref_box3d.jpg b/html/img/reference/ref_box3d.jpg
new file mode 100644
index 0000000..4ddbd0f
Binary files /dev/null and b/html/img/reference/ref_box3d.jpg differ
diff --git a/html/img/reference/ref_colormap_cool.jpg b/html/img/reference/ref_colormap_cool.jpg
new file mode 100644
index 0000000..e561ab1
Binary files /dev/null and b/html/img/reference/ref_colormap_cool.jpg differ
diff --git a/html/img/reference/ref_colormap_cube.jpg b/html/img/reference/ref_colormap_cube.jpg
new file mode 100644
index 0000000..f525da8
Binary files /dev/null and b/html/img/reference/ref_colormap_cube.jpg differ
diff --git a/html/img/reference/ref_colormap_default.jpg b/html/img/reference/ref_colormap_default.jpg
new file mode 100644
index 0000000..e8d76a3
Binary files /dev/null and b/html/img/reference/ref_colormap_default.jpg differ
diff --git a/html/img/reference/ref_colormap_flag.jpg b/html/img/reference/ref_colormap_flag.jpg
new file mode 100644
index 0000000..15565dd
Binary files /dev/null and b/html/img/reference/ref_colormap_flag.jpg differ
diff --git a/html/img/reference/ref_colormap_hot.jpg b/html/img/reference/ref_colormap_hot.jpg
new file mode 100644
index 0000000..ae57170
Binary files /dev/null and b/html/img/reference/ref_colormap_hot.jpg differ
diff --git a/html/img/reference/ref_colormap_hsv.jpg b/html/img/reference/ref_colormap_hsv.jpg
new file mode 100644
index 0000000..0ab83b0
Binary files /dev/null and b/html/img/reference/ref_colormap_hsv.jpg differ
diff --git a/html/img/reference/ref_colormap_jet.jpg b/html/img/reference/ref_colormap_jet.jpg
new file mode 100644
index 0000000..fc7b848
Binary files /dev/null and b/html/img/reference/ref_colormap_jet.jpg differ
diff --git a/html/img/reference/ref_colormap_lines.jpg b/html/img/reference/ref_colormap_lines.jpg
new file mode 100644
index 0000000..883cf5f
Binary files /dev/null and b/html/img/reference/ref_colormap_lines.jpg differ
diff --git a/html/img/reference/ref_cone3d.jpg b/html/img/reference/ref_cone3d.jpg
new file mode 100644
index 0000000..96d8152
Binary files /dev/null and b/html/img/reference/ref_cone3d.jpg differ
diff --git a/html/img/reference/ref_constructor1.jpg b/html/img/reference/ref_constructor1.jpg
new file mode 100644
index 0000000..2e11e91
Binary files /dev/null and b/html/img/reference/ref_constructor1.jpg differ
diff --git a/html/img/reference/ref_constructor2.jpg b/html/img/reference/ref_constructor2.jpg
new file mode 100644
index 0000000..5154e5f
Binary files /dev/null and b/html/img/reference/ref_constructor2.jpg differ
diff --git a/html/img/reference/ref_contrast_LUT256.jpg b/html/img/reference/ref_contrast_LUT256.jpg
new file mode 100644
index 0000000..5b1385b
Binary files /dev/null and b/html/img/reference/ref_contrast_LUT256.jpg differ
diff --git a/html/img/reference/ref_cut.jpg b/html/img/reference/ref_cut.jpg
new file mode 100644
index 0000000..1aa7e5b
Binary files /dev/null and b/html/img/reference/ref_cut.jpg differ
diff --git a/html/img/reference/ref_cylinder3d.jpg b/html/img/reference/ref_cylinder3d.jpg
new file mode 100644
index 0000000..0fe4ed8
Binary files /dev/null and b/html/img/reference/ref_cylinder3d.jpg differ
diff --git a/html/img/reference/ref_default_LUT256.jpg b/html/img/reference/ref_default_LUT256.jpg
new file mode 100644
index 0000000..a976ce9
Binary files /dev/null and b/html/img/reference/ref_default_LUT256.jpg differ
diff --git a/html/img/reference/ref_elevation3d.jpg b/html/img/reference/ref_elevation3d.jpg
new file mode 100644
index 0000000..9bec9d6
Binary files /dev/null and b/html/img/reference/ref_elevation3d.jpg differ
diff --git a/html/img/reference/ref_ellipsoid3d.jpg b/html/img/reference/ref_ellipsoid3d.jpg
new file mode 100644
index 0000000..62d71c1
Binary files /dev/null and b/html/img/reference/ref_ellipsoid3d.jpg differ
diff --git a/html/img/reference/ref_equalize.jpg b/html/img/reference/ref_equalize.jpg
new file mode 100644
index 0000000..40e6ce2
Binary files /dev/null and b/html/img/reference/ref_equalize.jpg differ
diff --git a/html/img/reference/ref_histogram.jpg b/html/img/reference/ref_histogram.jpg
new file mode 100644
index 0000000..d65afb4
Binary files /dev/null and b/html/img/reference/ref_histogram.jpg differ
diff --git a/html/img/reference/ref_image.jpg b/html/img/reference/ref_image.jpg
new file mode 100644
index 0000000..fc94800
Binary files /dev/null and b/html/img/reference/ref_image.jpg differ
diff --git a/html/img/reference/ref_index.jpg b/html/img/reference/ref_index.jpg
new file mode 100644
index 0000000..d588ec4
Binary files /dev/null and b/html/img/reference/ref_index.jpg differ
diff --git a/html/img/reference/ref_isoline3d.jpg b/html/img/reference/ref_isoline3d.jpg
new file mode 100644
index 0000000..04b87c8
Binary files /dev/null and b/html/img/reference/ref_isoline3d.jpg differ
diff --git a/html/img/reference/ref_isosurface3d.jpg b/html/img/reference/ref_isosurface3d.jpg
new file mode 100644
index 0000000..725fd4e
Binary files /dev/null and b/html/img/reference/ref_isosurface3d.jpg differ
diff --git a/html/img/reference/ref_label_regions.jpg b/html/img/reference/ref_label_regions.jpg
new file mode 100644
index 0000000..c5c036b
Binary files /dev/null and b/html/img/reference/ref_label_regions.jpg differ
diff --git a/html/img/reference/ref_map.jpg b/html/img/reference/ref_map.jpg
new file mode 100644
index 0000000..3e97fbc
Binary files /dev/null and b/html/img/reference/ref_map.jpg differ
diff --git a/html/img/reference/ref_noise.jpg b/html/img/reference/ref_noise.jpg
new file mode 100644
index 0000000..f65c6a0
Binary files /dev/null and b/html/img/reference/ref_noise.jpg differ
diff --git a/html/img/reference/ref_norm.jpg b/html/img/reference/ref_norm.jpg
new file mode 100644
index 0000000..70aa5ec
Binary files /dev/null and b/html/img/reference/ref_norm.jpg differ
diff --git a/html/img/reference/ref_normalize.jpg b/html/img/reference/ref_normalize.jpg
new file mode 100644
index 0000000..724acf4
Binary files /dev/null and b/html/img/reference/ref_normalize.jpg differ
diff --git a/html/img/reference/ref_normalize2.jpg b/html/img/reference/ref_normalize2.jpg
new file mode 100644
index 0000000..c6578f5
Binary files /dev/null and b/html/img/reference/ref_normalize2.jpg differ
diff --git a/html/img/reference/ref_operator_comma.jpg b/html/img/reference/ref_operator_comma.jpg
new file mode 100644
index 0000000..8b5a828
Binary files /dev/null and b/html/img/reference/ref_operator_comma.jpg differ
diff --git a/html/img/reference/ref_operator_eq.jpg b/html/img/reference/ref_operator_eq.jpg
new file mode 100644
index 0000000..5f96ae4
Binary files /dev/null and b/html/img/reference/ref_operator_eq.jpg differ
diff --git a/html/img/reference/ref_operator_less.jpg b/html/img/reference/ref_operator_less.jpg
new file mode 100644
index 0000000..a8794b5
Binary files /dev/null and b/html/img/reference/ref_operator_less.jpg differ
diff --git a/html/img/reference/ref_operator_minus.jpg b/html/img/reference/ref_operator_minus.jpg
new file mode 100644
index 0000000..65d8469
Binary files /dev/null and b/html/img/reference/ref_operator_minus.jpg differ
diff --git a/html/img/reference/ref_operator_plus.jpg b/html/img/reference/ref_operator_plus.jpg
new file mode 100644
index 0000000..aa6425e
Binary files /dev/null and b/html/img/reference/ref_operator_plus.jpg differ
diff --git a/html/img/reference/ref_operator_plus1.jpg b/html/img/reference/ref_operator_plus1.jpg
new file mode 100644
index 0000000..b65a644
Binary files /dev/null and b/html/img/reference/ref_operator_plus1.jpg differ
diff --git a/html/img/reference/ref_plane3d.jpg b/html/img/reference/ref_plane3d.jpg
new file mode 100644
index 0000000..4ef59ac
Binary files /dev/null and b/html/img/reference/ref_plane3d.jpg differ
diff --git a/html/img/reference/ref_quantize.jpg b/html/img/reference/ref_quantize.jpg
new file mode 100644
index 0000000..29486b4
Binary files /dev/null and b/html/img/reference/ref_quantize.jpg differ
diff --git a/html/img/reference/ref_rainbow_LUT256.jpg b/html/img/reference/ref_rainbow_LUT256.jpg
new file mode 100644
index 0000000..945ed07
Binary files /dev/null and b/html/img/reference/ref_rainbow_LUT256.jpg differ
diff --git a/html/img/reference/ref_sphere3d.jpg b/html/img/reference/ref_sphere3d.jpg
new file mode 100644
index 0000000..a3fa22b
Binary files /dev/null and b/html/img/reference/ref_sphere3d.jpg differ
diff --git a/html/img/reference/ref_sqr.jpg b/html/img/reference/ref_sqr.jpg
new file mode 100644
index 0000000..e8b92a2
Binary files /dev/null and b/html/img/reference/ref_sqr.jpg differ
diff --git a/html/img/reference/ref_sqrt.jpg b/html/img/reference/ref_sqrt.jpg
new file mode 100644
index 0000000..95409e2
Binary files /dev/null and b/html/img/reference/ref_sqrt.jpg differ
diff --git a/html/img/reference/ref_threshold.jpg b/html/img/reference/ref_threshold.jpg
new file mode 100644
index 0000000..a33f53b
Binary files /dev/null and b/html/img/reference/ref_threshold.jpg differ
diff --git a/html/img/reference/ref_torus3d.jpg b/html/img/reference/ref_torus3d.jpg
new file mode 100644
index 0000000..31b26c9
Binary files /dev/null and b/html/img/reference/ref_torus3d.jpg differ
diff --git a/html/img/ss_blobs.jpg b/html/img/ss_blobs.jpg
new file mode 100644
index 0000000..17a15c7
Binary files /dev/null and b/html/img/ss_blobs.jpg differ
diff --git a/html/img/ss_bubble.jpg b/html/img/ss_bubble.jpg
new file mode 100644
index 0000000..095edec
Binary files /dev/null and b/html/img/ss_bubble.jpg differ
diff --git a/html/img/ss_bump.jpg b/html/img/ss_bump.jpg
new file mode 100644
index 0000000..7d1d032
Binary files /dev/null and b/html/img/ss_bump.jpg differ
diff --git a/html/img/ss_demomenu.jpg b/html/img/ss_demomenu.jpg
new file mode 100644
index 0000000..10fa85a
Binary files /dev/null and b/html/img/ss_demomenu.jpg differ
diff --git a/html/img/ss_dtmri.jpg b/html/img/ss_dtmri.jpg
new file mode 100644
index 0000000..c9cfc65
Binary files /dev/null and b/html/img/ss_dtmri.jpg differ
diff --git a/html/img/ss_fourier.jpg b/html/img/ss_fourier.jpg
new file mode 100644
index 0000000..f3c0fa0
Binary files /dev/null and b/html/img/ss_fourier.jpg differ
diff --git a/html/img/ss_hough.jpg b/html/img/ss_hough.jpg
new file mode 100644
index 0000000..3eecc87
Binary files /dev/null and b/html/img/ss_hough.jpg differ
diff --git a/html/img/ss_imgfade.jpg b/html/img/ss_imgfade.jpg
new file mode 100644
index 0000000..e483d98
Binary files /dev/null and b/html/img/ss_imgfade.jpg differ
diff --git a/html/img/ss_jawbreaker.jpg b/html/img/ss_jawbreaker.jpg
new file mode 100644
index 0000000..8db7d6c
Binary files /dev/null and b/html/img/ss_jawbreaker.jpg differ
diff --git a/html/img/ss_landscape.jpg b/html/img/ss_landscape.jpg
new file mode 100644
index 0000000..2ee7c42
Binary files /dev/null and b/html/img/ss_landscape.jpg differ
diff --git a/html/img/ss_mandelbrot.jpg b/html/img/ss_mandelbrot.jpg
new file mode 100644
index 0000000..a9ab625
Binary files /dev/null and b/html/img/ss_mandelbrot.jpg differ
diff --git a/html/img/ss_metaballs.jpg b/html/img/ss_metaballs.jpg
new file mode 100644
index 0000000..6bbef6d
Binary files /dev/null and b/html/img/ss_metaballs.jpg differ
diff --git a/html/img/ss_mini_000000.jpg b/html/img/ss_mini_000000.jpg
new file mode 100644
index 0000000..efd7523
Binary files /dev/null and b/html/img/ss_mini_000000.jpg differ
diff --git a/html/img/ss_mini_000001.jpg b/html/img/ss_mini_000001.jpg
new file mode 100644
index 0000000..77e8dce
Binary files /dev/null and b/html/img/ss_mini_000001.jpg differ
diff --git a/html/img/ss_mini_000002.jpg b/html/img/ss_mini_000002.jpg
new file mode 100644
index 0000000..1f8d6a6
Binary files /dev/null and b/html/img/ss_mini_000002.jpg differ
diff --git a/html/img/ss_mini_000003.jpg b/html/img/ss_mini_000003.jpg
new file mode 100644
index 0000000..bd07275
Binary files /dev/null and b/html/img/ss_mini_000003.jpg differ
diff --git a/html/img/ss_mini_000004.jpg b/html/img/ss_mini_000004.jpg
new file mode 100644
index 0000000..22215b5
Binary files /dev/null and b/html/img/ss_mini_000004.jpg differ
diff --git a/html/img/ss_mini_000005.jpg b/html/img/ss_mini_000005.jpg
new file mode 100644
index 0000000..fac4b91
Binary files /dev/null and b/html/img/ss_mini_000005.jpg differ
diff --git a/html/img/ss_mini_000006.jpg b/html/img/ss_mini_000006.jpg
new file mode 100644
index 0000000..fdb1510
Binary files /dev/null and b/html/img/ss_mini_000006.jpg differ
diff --git a/html/img/ss_mini_000007.jpg b/html/img/ss_mini_000007.jpg
new file mode 100644
index 0000000..7fb3abb
Binary files /dev/null and b/html/img/ss_mini_000007.jpg differ
diff --git a/html/img/ss_mini_000008.jpg b/html/img/ss_mini_000008.jpg
new file mode 100644
index 0000000..d94933a
Binary files /dev/null and b/html/img/ss_mini_000008.jpg differ
diff --git a/html/img/ss_mini_000009.jpg b/html/img/ss_mini_000009.jpg
new file mode 100644
index 0000000..e0132c2
Binary files /dev/null and b/html/img/ss_mini_000009.jpg differ
diff --git a/html/img/ss_mini_000010.jpg b/html/img/ss_mini_000010.jpg
new file mode 100644
index 0000000..0ec8586
Binary files /dev/null and b/html/img/ss_mini_000010.jpg differ
diff --git a/html/img/ss_mini_000011.jpg b/html/img/ss_mini_000011.jpg
new file mode 100644
index 0000000..e9f102e
Binary files /dev/null and b/html/img/ss_mini_000011.jpg differ
diff --git a/html/img/ss_mini_000012.jpg b/html/img/ss_mini_000012.jpg
new file mode 100644
index 0000000..cf744b6
Binary files /dev/null and b/html/img/ss_mini_000012.jpg differ
diff --git a/html/img/ss_mini_000013.jpg b/html/img/ss_mini_000013.jpg
new file mode 100644
index 0000000..9f68684
Binary files /dev/null and b/html/img/ss_mini_000013.jpg differ
diff --git a/html/img/ss_mini_000014.jpg b/html/img/ss_mini_000014.jpg
new file mode 100644
index 0000000..4e3c77c
Binary files /dev/null and b/html/img/ss_mini_000014.jpg differ
diff --git a/html/img/ss_mini_000015.jpg b/html/img/ss_mini_000015.jpg
new file mode 100644
index 0000000..cca4d9f
Binary files /dev/null and b/html/img/ss_mini_000015.jpg differ
diff --git a/html/img/ss_mini_000016.jpg b/html/img/ss_mini_000016.jpg
new file mode 100644
index 0000000..6eab7c2
Binary files /dev/null and b/html/img/ss_mini_000016.jpg differ
diff --git a/html/img/ss_mini_000017.jpg b/html/img/ss_mini_000017.jpg
new file mode 100644
index 0000000..d1fd135
Binary files /dev/null and b/html/img/ss_mini_000017.jpg differ
diff --git a/html/img/ss_mini_000018.jpg b/html/img/ss_mini_000018.jpg
new file mode 100644
index 0000000..5a2a451
Binary files /dev/null and b/html/img/ss_mini_000018.jpg differ
diff --git a/html/img/ss_mini_000019.jpg b/html/img/ss_mini_000019.jpg
new file mode 100644
index 0000000..16cf3e3
Binary files /dev/null and b/html/img/ss_mini_000019.jpg differ
diff --git a/html/img/ss_mini_000020.jpg b/html/img/ss_mini_000020.jpg
new file mode 100644
index 0000000..9efed7b
Binary files /dev/null and b/html/img/ss_mini_000020.jpg differ
diff --git a/html/img/ss_mini_000021.jpg b/html/img/ss_mini_000021.jpg
new file mode 100644
index 0000000..e9a0cc6
Binary files /dev/null and b/html/img/ss_mini_000021.jpg differ
diff --git a/html/img/ss_mini_000022.jpg b/html/img/ss_mini_000022.jpg
new file mode 100644
index 0000000..5d97edc
Binary files /dev/null and b/html/img/ss_mini_000022.jpg differ
diff --git a/html/img/ss_mini_000023.jpg b/html/img/ss_mini_000023.jpg
new file mode 100644
index 0000000..3b0952f
Binary files /dev/null and b/html/img/ss_mini_000023.jpg differ
diff --git a/html/img/ss_mini_000024.jpg b/html/img/ss_mini_000024.jpg
new file mode 100644
index 0000000..8a81987
Binary files /dev/null and b/html/img/ss_mini_000024.jpg differ
diff --git a/html/img/ss_mini_000025.jpg b/html/img/ss_mini_000025.jpg
new file mode 100644
index 0000000..7006061
Binary files /dev/null and b/html/img/ss_mini_000025.jpg differ
diff --git a/html/img/ss_mini_000026.jpg b/html/img/ss_mini_000026.jpg
new file mode 100644
index 0000000..cbd5225
Binary files /dev/null and b/html/img/ss_mini_000026.jpg differ
diff --git a/html/img/ss_mini_000027.jpg b/html/img/ss_mini_000027.jpg
new file mode 100644
index 0000000..2aff6db
Binary files /dev/null and b/html/img/ss_mini_000027.jpg differ
diff --git a/html/img/ss_odykill.jpg b/html/img/ss_odykill.jpg
new file mode 100644
index 0000000..84808f2
Binary files /dev/null and b/html/img/ss_odykill.jpg differ
diff --git a/html/img/ss_optflow.jpg b/html/img/ss_optflow.jpg
new file mode 100644
index 0000000..5bd3c70
Binary files /dev/null and b/html/img/ss_optflow.jpg differ
diff --git a/html/img/ss_paint.jpg b/html/img/ss_paint.jpg
new file mode 100644
index 0000000..11a2f2b
Binary files /dev/null and b/html/img/ss_paint.jpg differ
diff --git a/html/img/ss_plasma.jpg b/html/img/ss_plasma.jpg
new file mode 100644
index 0000000..dabe88b
Binary files /dev/null and b/html/img/ss_plasma.jpg differ
diff --git a/html/img/ss_puzzle.jpg b/html/img/ss_puzzle.jpg
new file mode 100644
index 0000000..d3b626c
Binary files /dev/null and b/html/img/ss_puzzle.jpg differ
diff --git a/html/img/ss_reflection.jpg b/html/img/ss_reflection.jpg
new file mode 100644
index 0000000..57994cc
Binary files /dev/null and b/html/img/ss_reflection.jpg differ
diff --git a/html/img/ss_render3d.jpg b/html/img/ss_render3d.jpg
new file mode 100644
index 0000000..82c9816
Binary files /dev/null and b/html/img/ss_render3d.jpg differ
diff --git a/html/img/ss_restoration.jpg b/html/img/ss_restoration.jpg
new file mode 100644
index 0000000..af878b5
Binary files /dev/null and b/html/img/ss_restoration.jpg differ
diff --git a/html/img/ss_rotozoom.jpg b/html/img/ss_rotozoom.jpg
new file mode 100644
index 0000000..e9107c6
Binary files /dev/null and b/html/img/ss_rotozoom.jpg differ
diff --git a/html/img/ss_shadebobs.jpg b/html/img/ss_shadebobs.jpg
new file mode 100644
index 0000000..46663ed
Binary files /dev/null and b/html/img/ss_shadebobs.jpg differ
diff --git a/html/img/ss_surface.jpg b/html/img/ss_surface.jpg
new file mode 100644
index 0000000..ce6a78f
Binary files /dev/null and b/html/img/ss_surface.jpg differ
diff --git a/html/img/ss_tetris.jpg b/html/img/ss_tetris.jpg
new file mode 100644
index 0000000..0bd41f5
Binary files /dev/null and b/html/img/ss_tetris.jpg differ
diff --git a/html/img/ss_triangle.jpg b/html/img/ss_triangle.jpg
new file mode 100644
index 0000000..04727f3
Binary files /dev/null and b/html/img/ss_triangle.jpg differ
diff --git a/html/img/ss_volume3d.jpg b/html/img/ss_volume3d.jpg
new file mode 100644
index 0000000..a3b1633
Binary files /dev/null and b/html/img/ss_volume3d.jpg differ
diff --git a/html/img/ss_waves.jpg b/html/img/ss_waves.jpg
new file mode 100644
index 0000000..430e3da
Binary files /dev/null and b/html/img/ss_waves.jpg differ
diff --git a/html/img/tutorial.jpg b/html/img/tutorial.jpg
new file mode 100644
index 0000000..f03a9dc
Binary files /dev/null and b/html/img/tutorial.jpg differ
diff --git a/html/img/video_blobs.html b/html/img/video_blobs.html
new file mode 100644
index 0000000..41f709c
--- /dev/null
+++ b/html/img/video_blobs.html
@@ -0,0 +1 @@
+<center><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/wOCdcFfz7Z4?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/wOCdcFfz7Z4?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></object></center>
diff --git a/html/img/video_bubble.html b/html/img/video_bubble.html
new file mode 100644
index 0000000..9fa78ff
--- /dev/null
+++ b/html/img/video_bubble.html
@@ -0,0 +1 @@
+<center><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/oXK6Wc4vsbE?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/oXK6Wc4vsbE?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></object></center>
diff --git a/html/img/video_bump.html b/html/img/video_bump.html
new file mode 100644
index 0000000..4976a6d
--- /dev/null
+++ b/html/img/video_bump.html
@@ -0,0 +1 @@
+<center><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/gGJtELQ5ahI?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/gGJtELQ5ahI?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></object></center>
diff --git a/html/img/video_cimgdemo.html b/html/img/video_cimgdemo.html
new file mode 100644
index 0000000..09feeb0
--- /dev/null
+++ b/html/img/video_cimgdemo.html
@@ -0,0 +1 @@
+<center><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/mtvHJe_Ff18?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/mtvHJe_Ff18?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></object></center>
diff --git a/html/img/video_curveeditor.html b/html/img/video_curveeditor.html
new file mode 100644
index 0000000..eb08ce4
--- /dev/null
+++ b/html/img/video_curveeditor.html
@@ -0,0 +1,2 @@
+<center><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/vNCTzhnXJvY?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/vNCTzhnXJvY?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></object></center>
+
diff --git a/html/img/video_doubletorus.html b/html/img/video_doubletorus.html
new file mode 100644
index 0000000..3c7ecd6
--- /dev/null
+++ b/html/img/video_doubletorus.html
@@ -0,0 +1 @@
+<center><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/Y1bhhxWSoA4?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/Y1bhhxWSoA4?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></object></center>
diff --git a/html/img/video_dtmri.html b/html/img/video_dtmri.html
new file mode 100644
index 0000000..abc2f36
--- /dev/null
+++ b/html/img/video_dtmri.html
@@ -0,0 +1 @@
+<center><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/ip2itUXhcls?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/ip2itUXhcls?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></object></center>
diff --git a/html/img/video_fourier.html b/html/img/video_fourier.html
new file mode 100644
index 0000000..ae7ea50
--- /dev/null
+++ b/html/img/video_fourier.html
@@ -0,0 +1 @@
+<center><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/op0XoVMEdpE?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/op0XoVMEdpE?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></object></center>
diff --git a/html/img/video_imagesurface.html b/html/img/video_imagesurface.html
new file mode 100644
index 0000000..3b77f96
--- /dev/null
+++ b/html/img/video_imagesurface.html
@@ -0,0 +1 @@
+<center><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/OlBXh-gkv3U?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/OlBXh-gkv3U?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></object></center>
diff --git a/html/img/video_jawbreaker.html b/html/img/video_jawbreaker.html
new file mode 100644
index 0000000..722998f
--- /dev/null
+++ b/html/img/video_jawbreaker.html
@@ -0,0 +1 @@
+<center><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/3z4jdb-wafs?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/3z4jdb-wafs?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></object></center>
diff --git a/html/img/video_landscape.html b/html/img/video_landscape.html
new file mode 100644
index 0000000..172e25f
--- /dev/null
+++ b/html/img/video_landscape.html
@@ -0,0 +1 @@
+<center><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/I8_wcEwwpoo?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/I8_wcEwwpoo?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></object></center>
diff --git a/html/img/video_mandelbrot.html b/html/img/video_mandelbrot.html
new file mode 100644
index 0000000..839414f
--- /dev/null
+++ b/html/img/video_mandelbrot.html
@@ -0,0 +1 @@
+<center><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/Ir80V5r9aJM?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/Ir80V5r9aJM?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></object></center>
diff --git a/html/img/video_menu.html b/html/img/video_menu.html
new file mode 100644
index 0000000..89351a3
--- /dev/null
+++ b/html/img/video_menu.html
@@ -0,0 +1 @@
+<center><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/t0TJZMytiSg?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/t0TJZMytiSg?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></object></center>
diff --git a/html/img/video_metaballs.html b/html/img/video_metaballs.html
new file mode 100644
index 0000000..bda1a86
--- /dev/null
+++ b/html/img/video_metaballs.html
@@ -0,0 +1 @@
+<center><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/-S_r76OxzyY?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/-S_r76OxzyY?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></object></center>
diff --git a/html/img/video_minipaint.html b/html/img/video_minipaint.html
new file mode 100644
index 0000000..09ea950
--- /dev/null
+++ b/html/img/video_minipaint.html
@@ -0,0 +1 @@
+<center><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/4HBiSksVzkI?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/4HBiSksVzkI?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></object></center>
diff --git a/html/img/video_plasma.html b/html/img/video_plasma.html
new file mode 100644
index 0000000..231e26a
--- /dev/null
+++ b/html/img/video_plasma.html
@@ -0,0 +1 @@
+<center><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/na8hcayKbFo?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/na8hcayKbFo?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></object></center>
diff --git a/html/img/video_reflection.html b/html/img/video_reflection.html
new file mode 100644
index 0000000..cfe46a4
--- /dev/null
+++ b/html/img/video_reflection.html
@@ -0,0 +1 @@
+<center><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/5wQgkEjdrcw?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/5wQgkEjdrcw?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></object></center>
diff --git a/html/img/video_shadebobs.html b/html/img/video_shadebobs.html
new file mode 100644
index 0000000..10e573d
--- /dev/null
+++ b/html/img/video_shadebobs.html
@@ -0,0 +1 @@
+<center><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/q91cyn6x8LY?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/q91cyn6x8LY?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></object></center>
diff --git a/html/img/video_tetris.html b/html/img/video_tetris.html
new file mode 100644
index 0000000..1f117b6
--- /dev/null
+++ b/html/img/video_tetris.html
@@ -0,0 +1 @@
+<center><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/IKsY2KCeh38?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/IKsY2KCeh38?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></object></center>
diff --git a/html/img/video_waves.html b/html/img/video_waves.html
new file mode 100644
index 0000000..651ba05
--- /dev/null
+++ b/html/img/video_waves.html
@@ -0,0 +1 @@
+<center><object style="height: 390px; width: 640px"><param name="movie" value="http://www.youtube.com/v/KNe-rXJldDM?version=3"><param name="allowFullScreen" value="true"><param name="allowScriptAccess" value="always"><embed src="http://www.youtube.com/v/KNe-rXJldDM?version=3" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="390"></object></center>
diff --git a/html/index.shtml b/html/index.shtml
new file mode 100644
index 0000000..786b0d5
--- /dev/null
+++ b/html/index.shtml
@@ -0,0 +1,358 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+
+<!--#include file="header.html" -->
+
+<div id="bloc_option"><div id="top_vert"><div id="text_top">What is CImg?</div></div>
+<div id="center"><div id="text_centre_intro">
+
+<p>
+  The <font color="#000066"><b>CImg Library</b></font> is a <b>small</b>, <b>open-source</b>, and
+  <b>modern C++ toolkit</b> for <b>image processing</b>,
+  designed with these properties in mind :
+</p>
+
+<table border="0" width="100%" cellspacing="16">
+  <tr><td><img src="img/item_usefulness.jpg" alt="Usefulness"></img></td>
+    <td><hr noshade="noshade" size="1" width="100%"></hr>
+      <font color="#000066"><b>CImg</b></font> defines <i>classes</i> and <i>methods</i>
+      to manage images in your own C++ code. You can use <font color="#000066"><b>CImg</b></font>
+      to load/save various file formats, access pixel values,
+      display/transform/filter images, draw primitives (text, faces, curves, 3d objects, ...), compute statistics,
+      manage user interactions on images, and so on...
+  </td></tr>
+  <tr><td><img src="img/item_genericity.jpg" alt="Genericity"></img></td>
+    <td><hr noshade="noshade" size="1" width="100%"></hr>
+      <font color="#000066"><b>CImg</b></font> defines a single image class able to represent datasets having up to
+      <i>4-dimensions</i> (from 1d scalar signals to 3d hyperspectral volumetric images),
+      with <i>template pixel types</i> (<tt style="font-family:monospace;">bool,char,int,float,...</tt>).<br/>
+      It also handles image <i>collections</i> and <i>sequences</i>.
+  </td></tr>
+  <tr><td><img src="img/item_portability.jpg" alt="Portability"></img></td>
+    <td><hr noshade="noshade" size="1" width="100%"></hr>
+      <font color="#000066"><b>CImg</b></font> is <i>self-contained</i>, <i>thread-safe</i> and <i>highly portable</i>. It fully works on
+      <i>different operating systems</i> (<tt style="font-family:monospace;">Unix,Windows,MacOS X,*BSD,...</tt>) and is compatible
+      with <i>various C++ compilers</i> (<tt style="font-family:monospace;">Visual C++,g++,clang++,icc,...</tt>).
+  </td></tr>
+  <tr><td><img src="img/item_simplicity.jpg" alt="Simplicity"></img></td>
+    <td><hr noshade="noshade" size="1" width="100%"></hr>
+      <font color="#000066"><b>CImg</b></font> is <i>lightweight</i>. It is made of a single header file
+      <a href="https://raw.githubusercontent.com/dtschump/CImg/master/CImg.h"><tt style="font-family:monospace;">CImg.h</tt></a>
+      that must be included in your C++ source. It defines only <i>four</i> different classes, encapsulated
+      in the namespace <tt style="font-family:monospace;">cimg_library</tt>.
+      It can be compiled using a minimal set of standard C++ and system libraries only.<br/>
+      <i>No need for exotic or complex dependencies</i>.
+  </td></tr>
+  <tr><td><img src="img/item_extensibility.jpg" alt="Extensibility"></img></td>
+    <td><hr noshade="noshade" size="1" width="100%"></hr>
+      Although not mandatory, <font color="#000066"><b>CImg</b></font> can use functionalities of external tools/libraries such as
+      <a href="http://libboard.sourceforge.net/">Board</a>,
+      <a href="http://ffmpeg.mplayerhq.hu/">FFMPEG</a>,
+      <a href="http://www.fftw.org/">FFTW3</a>.
+      <a href="http://www.graphicsmagick.org/">GraphicsMagick</a>,
+      <a href="http://www.imagemagick.org/">ImageMagick</a>,
+      <a href="http://www.netlib.org/lapack/">Lapack</a>,
+      <a href="http://curl.haxx.se/libcurl/">libcurl</a>,
+      <a href="http://www.ijg.org/">libjpeg</a>,
+      <a href="http://www.libpng.org/pub/png/libpng.html">libpng</a>,
+      <a href="http://www.libtiff.org/">libtiff</a>,
+      <a href="http://www.imagemagick.org/Magick++/">Magick++</a>,
+      <a href="http://www.openexr.com/">OpenEXR</a>
+      <a href="http://http://opencv.willowgarage.com/wiki/">OpenCV</a>
+      <a href="http://www.openmp.org/">OpenMP</a>
+      or
+      <a href="http://xmedcon.sourceforge.net/">XMedCon</a>.
+      Moreover, a simple <i>plug-in</i> mechanism allows any user to directly enhance the library
+      capabilities according to his needs.
+  </td></tr>
+  <tr><td><img src="img/item_freedom.jpg" alt="Freedom"></img></td>
+    <td><hr noshade="noshade" size="1" width="100%"></hr>
+      <font color="#000066"><b>CImg</b></font> is a <i>free, open-source library</i> distributed under the
+      <a href="http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.txt"><i>CeCILL-C</i></a> (close to the GNU LGPL)
+      or
+      <a href="http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt"><i>CeCILL</i></a> (compatible with the GNU GPL)
+      licenses. It can be used in commercial applications.
+  </td></tr>
+</table>
+
+<blockquote>
+  <font color="#000066"><b>CImg</b></font> stands for <font color="#000066"><b>Cool Image</b></font> : It is <i>easy to use</i>, <i>efficient</i> and is intended to be
+  a very pleasant toolbox to design image processing algorithms in C++. Due to its generic conception, it can cover a wide range
+  of image processing applications.
+</blockquote>
+
+</div></div><div id="footer"><img alt="" src="images/footer.jpg" /></div></div>
+
+<div id="bloc_option"><div id="top_vert"><div id="text_top">Authors</div></div>
+<div id="center"><div id="text_centre_intro">
+
+<blockquote>
+  <a href="http://tschumperle.users.greyc.fr/">David Tschumperlé</a> (project leader)<br/><br/>
+  with the help of many contributors around the world :<br/><br/>
+  <i>
+    Maksim Aizenshtein,
+    Alberto Albiol,
+    Antonio Albiol,
+    Haz-Edine Assemlal,
+    Vincent Barra,
+    Wolf Blecher,
+    Romain Blei,
+    Yohan Bentolila,
+    Jerome Boulanger,
+    Pierre Buyssens,
+    Sebastien Coudert,
+    Frederic Devernay,
+    Olivier D'Hondt,
+    François-Xavier Dupé,
+    Gerd von Egidy
+    Eric Fausett,
+    Jean-Marie Favreau,
+    Sebastien Fourey,
+    Alexandre Fournier,
+    Vincent Garcia,
+    David Grimbichler,
+    Jinwei Gu,
+    Jean-Daniel Guyot,
+    Matt Hanson,
+    Sebastien Hanel,
+    Michael Holroyd,
+    Christoph Hormann,
+    Hon-Kwok Fung,
+    Werner Jainek,
+    Daniel Kondermann,
+    Pierre Kornprobst,
+    Jan W. Krieger,
+    Orges Leka,
+    Francois Lauze,
+    Xie Long,
+    Thomas Martin,
+    Cesar Martinez,
+    Jean Martinot,
+    Arnold Meijster (Center for High Performance Computing and Visualization, University of Groningen/The Netherlands)
+    Nikita Melnichenko,
+    Baptiste Mougel,
+    Julien Morat,
+    Jovana Milutinovich,
+    Guillaume Nee,
+    Adam Newgas,
+    Francisco Oliveira,
+    Andrea Onofri,
+    Renaud Peteri,
+    Martin Petricek,
+    Paolo Prete,
+    Adrien Reboisson,
+    Klaus Schneider,
+    Jakob Schluttig,
+    Veronique Souchaud,
+    Konstantin Spirin,
+    Rainer Steffens,
+    David G. Starkweather,
+    Grzegorz Szwoch,
+    Thierry Thomas,
+    Yu-En-Yun,
+    Vo Duc Khanh,
+    Phillip Wood,
+    Bug Zhao,
+    Haibo Zheng.
+  </i>
+</blockquote>
+
+</div></div><div id="footer"><img alt="" src="images/footer.jpg" /></div></div>
+
+<div id="bloc_option"><div id="top_vert"><div id="text_top">Licenses</div></div>
+<div id="center"><div id="text_centre_intro">
+
+<blockquote>
+  The <font color="#000066"><b>CImg Library</b></font> is an open-source product distributed under <b>two distinct licenses</b> :
+  the library core itself is dual-licensed and
+  can be governed either by the
+  <a href="http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.txt"><b>CeCILL-C</b> License</a> (LGPL-like),
+  or the
+  <a href="http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt"><b>CeCILL</b> License</a> (GPL-compatible).
+  Most of the other package files are distributed under the
+  <a href="http://www.cecill.info/licences/Licence_CeCILL_V2-en.txt"><b>CeCILL</b> License</a>.
+  Both are <b>open-source licenses</b>, the CeCILL-C being less restrictive than the CeCILL.<br/><br/>
+  The <font color="#000066"><b>CImg Library</b></font> source code has been registered to the <a href="http://app.legalis.net/paris/">APP</a>
+  (French Agency for the Protection of Programs) by the <a href="http://www.inria.fr/index.en.html">INRIA</a>,
+  under registration number <i>IDDN.FR.001.040004.000.S.P.2004.000.21000.</i>
+</blockquote>
+
+</div></div><div id="footer"><img alt="" src="images/footer.jpg" /></div></div>
+
+<div id="bloc_option"><div id="top_vert"><div id="text_top">Learn more</div></div>
+<div id="center"><div id="text_centre_intro">
+
+<ul>
+  <li>The <a href="reference/group__cimg__tutorial.html">Tutorial</a> section shows the basic use of <font color="#000066"><b>CImg</b></font> classes
+    and functions with a small first code.</li>
+  <li>The <a href="screenshots.shtml">Screenshots</a> section illustrates some of the different source code examples provided in
+    the <font color="#000066"><b>CImg</b></font> package.</li>
+  <li>You can look at the quite complete <a href="CImg_slides.pdf"><font color="#000066"><b>CImg Library</b></font> presentation slides</a> (.pdf format) which gives
+    more insights on the different library concepts.</li>
+  <li>Online web statistics on the <font color="#000066"><b>CImg</b></font> website activity are available
+    <a href="http://my.statcounter.com/project/standard/stats.php?project_id=895001&guest=1">here</a> and below:</li>
+</ul>
+<table align="center" border="0" cellpadding="10" cellspacing="0" width="500">
+  <tbody><tr>
+      <td><script type="text/javascript" src="http://www.openhub.net/p/8841/widgets/project_basic_stats.js"></script></td>
+      <td><script type="text/javascript" src="http://www.openhub.net/p/8841/widgets/project_cocomo.js"></script></td>
+  </tr></tbody>
+</table>
+
+</div></div><div id="footer"><img alt="" src="images/footer.jpg" /></div></div>
+
+<div id="bloc_option"><div id="top_vert"><div id="text_top">Quick history</div></div>
+<div id="center"><div id="text_centre_intro">
+
+<blockquote>
+  The development of the <font color="#000066"><b>CImg Library</b></font> began at the end of 1999, when I started my PhD thesis
+  in the <a href="http://www.inria.fr/equipes/odyssee"><img border="0" height="16" alt="" src="img/logoODYSSEE.jpg"></img> Lab</a>
+  at the <a href="http://www.inria.fr/centre/sophia/"><img border="0" height="16" alt="" src="img/logoINRIA.gif"></img> Sophia Antipolis</a>.
+  It was designed to help me and my colleagues developing various image processing algorithms,
+  for datasets as simple as 2D scalar images, or as complex as 3D volumes of diffusion tensors. I also used it for
+  courses on image processing I teached at the university. As a result, the <font color="#000066"><b>CImg Library</b></font>
+  has been always intended to be <i>compact</i>, <i>easy to install and to use</i>, <i>multi-platform</i> and <i>generic</i>.
+  It provides a lot of basic functions that everyone would like to find in a good C++ image processing framework.<br/><br/>
+  I am now a permanent researcher of the  <a href="http://www.cnrs.fr"><img border="0" alt="" height="32" src="img/logoCNRS.gif"></img>
+    institution</a>,
+  working in the <a href="http://www.greyc.ensicaen.fr/EquipeImage"><img border="0" alt="" height="32" src="img/logoIMAGE.gif"></img>
+    group</a> at the <a href="http://www.greyc.ensicaen.fr"><img border="0" alt="" height="32" src="img/logoGREYC.gif"></img>
+    GREYC lab</a> in Caen/France.
+  I am still using, maintaining and updating the <font color="#000066"><b>CImg Library</b></font>, and will probably do it for the next couple of years.
+</blockquote>
+
+</div></div><div id="footer"><img alt="" src="images/footer.jpg" /></div></div>
+
+<div id="bloc_option"><div id="top_vert"><div id="text_top">How to help?</div></div>
+<div id="center"><div id="text_centre_intro">
+
+<blockquote>
+  The <font color="#000066"><b>CImg Library</b></font> is an open-source C++ library which is mainly developped during
+  free time. If you enjoy using <font color="#000066"><b>CImg</b></font>, you may contribute to the project
+  in different ways. This will motivate me to continue the work.
+  <ul>
+    <li>You can help <font color="#000066"><b>CImg</b></font> to be more widely known, by displaying a
+      <a href="CImg_flyer.pdf">CImg Flyer</a> at work, in your lab or school
+      (available in <a href="CImg_flyer.pdf">.PDF</a> or <a href="img/CImg_flyer.jpg">.JPEG</a> formats).</li>
+    <li>You can report bugs, propose patches or new functionalities, using the <font color="#000066"><b>CImg</b></font>
+      <a href="https://github.com/dtschump/CImg/issues">forum</a>.</li>
+    <li>You can write
+      <a href="reference/group__cimg__tutorial.html">tutorials</a>
+      or parts of the <a href="reference/index.html">documentation</a>.</li>
+    <li>If you just want to say you've been happy with the library, you can send me a postcard from your place, to the following address : <br/>
+      <i>David Tschumperlé, GREYC (UMR CNRS 6072), Equipe IMAGE, 6 Bd du Maréchal Juin, 14050 Caen Cedex, FRANCE.</i><br/><br/>
+      53 postcards received yet (I still have empty space on my wall ! :) ), from :<br/><br/>
+      <ul>
+        <li><a href="img/postcard1.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Comissao Nacional de Energia Nuclear, Rio de Janeiro, Brazil.</a></li>
+        <li><a href="img/postcard2.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Universidad Nacional del Litoral, Santa Fe, Argentina.</a></li>
+        <li><a href="img/postcard3.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Waikiki's only true resort, Honolulu/Hawaii.</a></li>
+        <li><a href="img/postcard4.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Royal Pavilion, Brighton/UK.</a></li>
+        <li><a href="img/postcard5.jpg" onclick="NewWindow(this.href,'name','320','420','yes');return false;">
+            Cambridge, UK.</a></li>
+        <li><a href="img/postcard6.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            National Tai-Chung Institute of Technology, Taiwan.</a></li>
+        <li><a href="img/postcard7.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Fuzzy Logic Laboratorium Linz-Hagenberg, Linz, Austria.</a></li>
+        <li><a href="img/postcard8.jpg" onclick="NewWindow(this.href,'name','500','450','yes');return false;">
+            Corte/Corsica.</a></li>
+        <li><a href="img/postcard9.jpg" onclick="NewWindow(this.href,'name','400','600','yes');return false;">
+            Microsoft Research, Beijing/China.</a></li>
+        <li><a href="img/postcard10.jpg" onclick="NewWindow(this.href,'name','700','500','yes');return false;">
+            Palermo/Italia.</a></li>
+        <li><a href="img/postcard11.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Florida Atlantic University/USA.</a></li>
+        <li><a href="img/postcard12.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Ecole Nationale Sup�rieure des Mines de Saint-Etienne/France.</a></li>
+        <li><a href="img/postcard13.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Venice/Italy, from Sebastien/GREYC (Caen/France).</a></li>
+        <li><a href="img/postcard14.jpg" onclick="NewWindow(this.href,'name','320','420','yes');return false;">
+            Barcelone/Spain, from Jaime.</a></li>
+        <li><a href="img/postcard15.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Guadeloupe/France, from Jean-Michel.</a></li>
+        <li><a href="img/postcard17.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            London/England, from Sebastien/GREYC (Caen/France).</a></li>
+        <li><a href="img/postcard18.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Valencia/Spain, from the Research Institute ITEAM of the Unversidad Politecnica.</a></li>
+        <li><a href="img/postcard19.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Vienna/Austria, from Sebastien/GREYC (Caen/France).</a></li>
+        <li><a href="img/postcard20.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Neuherberg/Germany, from the Institut for Biomathematick und Biometrie.</a></li>
+        <li><a href="img/postcard21.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Cabestany/France, from Guy Poizat.</a></li>
+        <li><a href="img/postcard22.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Frascati/Italy, from PhotoComiX.</a></li>
+        <li><a href="img/postcard23.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Jaca/Spain, from F. Albior.</a></li>
+        <li><a href="img/postcard24.jpg" onclick="NewWindow(this.href,'name','450','320','yes');return false;">
+            Munich/Germany, from M???? (didn't succeed in reading the name, sorry !).</a></li>
+        <li><a href="img/postcard25.jpg" onclick="NewWindow(this.href,'name','450','320','yes');return false;">
+            Playa del Carmen/Mexico, from Sebastien/GREYC (Caen/France).</a></li>
+        <li><a href="img/postcard26.jpg" onclick="NewWindow(this.href,'name','450','320','yes');return false;">
+            Holland, from Vincent/GREYC (Caen/France).</a></li>
+        <li><a href="img/postcard27.jpg" onclick="NewWindow(this.href,'name','500','700','yes');return false;">
+            Portland/Oregon/USA, from Mahvin.</a></li>
+        <li><a href="img/postcard28.jpg" onclick="NewWindow(this.href,'name','450','320','yes');return false;">
+            Gibraltar, from Terry Hendicott.</a></li>
+        <li><a href="img/postcard29.jpg" onclick="NewWindow(this.href,'name','450','320','yes');return false;">
+            Neuchatel/Switzerland, from Corinne Masimann.</a></li>
+        <li><a href="img/postcard30.jpg" onclick="NewWindow(this.href,'name','450','320','yes');return false;">
+            Foster City/California, from Arkadi Gelfond.</a></li>
+        <li><a href="img/postcard31.jpg" onclick="NewWindow(this.href,'name','350','450','yes');return false;">
+            Huntsville/Alabama, from Gordon M. Neeley.</a></li>
+        <li><a href="img/postcard32.jpg" onclick="NewWindow(this.href,'name','450','300','yes');return false;">
+            Biscarosse/France, from Sebastien/GREYC (Caen/France).</a></li>
+        <li><a href="img/postcard33.jpg" onclick="NewWindow(this.href,'name','600','450','yes');return false;">
+            California/USA, from Benoit Gauzere/GREYC (Caen/France).</a></li>
+        <li><a href="img/postcard34.jpg" onclick="NewWindow(this.href,'name','600','450','yes');return false;">
+            Puy-de-Dome/France, from Sebastien/GREYC (Caen/France).</a></li>
+        <li><a href="img/postcard35.jpg" onclick="NewWindow(this.href,'name','600','450','yes');return false;">
+            Portsmouth/United Kingdom, from Sebastien Clediere/Snell Ltd.</a></li>
+        <li><a href="img/postcard36.jpg" onclick="NewWindow(this.href,'name','600','450','yes');return false;">
+            Helsinki/Finland, from Arto Huotari.</a></li>
+        <li><a href="img/postcard37.jpg" onclick="NewWindow(this.href,'name','340','500','yes');return false;">
+            Mettlach/Germany, from Werner Meier.</a></li>
+        <li><a href="img/postcard38.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Boston/USA, from Dan Cullen.</a></li>
+        <li><a href="img/postcard39.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Mantova/Italy, from Mauro Mitrino.</a></li>
+        <li><a href="img/postcard40.jpg" onclick="NewWindow(this.href,'name','320','420','yes');return false;">
+            Seligenstadt/Germany, from Dr. Rainer Teubner.</a></li>
+        <li><a href="img/postcard41.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Hokusai/Japan, from Benoit Gauzere and Francois Lozes.</a></li>
+        <li><a href="img/postcard42.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Munchen/Germany, from Alexandru Dulin.</a></li>
+        <li><a href="img/postcard43.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Trier/Germany, from Family Hamacher.</a></li>
+        <li><a href="img/postcard44.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Ile de Batz/France, from Pierre-Yves.</a></li>
+        <li><a href="img/postcard45.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Germany, from Michel Thomas.</a></li>
+        <li><a href="img/postcard46.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Vienna/Austria, from Benoit Gauzere.</a></li>
+        <li><a href="img/postcard47.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Torquay/Australia, from Pauline van Buren.</a></li>
+        <li><a href="img/postcard48.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Lisboa/Portugal, from Patrick Wauters.</a></li>
+        <li><a href="img/postcard49.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Hazebrouck/France, from Michael T.</a></li>
+        <li><a href="img/postcard50.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            USA, from Bill C.</a></li>
+        <li><a href="img/postcard51.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            EDF/France, from ZondeR.</a></li>
+        <li><a href="img/postcard52.jpg" onclick="NewWindow(this.href,'name','300','460','yes');return false;">
+            Belgium, from Marc Lis.</a><br/><br/></li>
+        <li><a href="img/postcard53.jpg" onclick="NewWindow(this.href,'name','420','320','yes');return false;">
+            Roma/Italy, from Patrick Wauters.</a><br/><br/></li>
+        <li>If you have too much money, you can also <a href="https://sourceforge.net/p/cimg/donate/">
+            <img src="img/project-support.jpg" alt=""></img></a></li>
+    </ul></li>
+  </ul>
+</blockquote>
+
+</div></div><div id="footer"><img alt="" src="images/footer.jpg" /></div></div>
+
+<!--#include file="footer.html" -->
diff --git a/html/links.shtml b/html/links.shtml
new file mode 100644
index 0000000..f109e11
--- /dev/null
+++ b/html/links.shtml
@@ -0,0 +1,42 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--#include file="header.html" -->
+
+<div id="bloc_option"><div id="top_vert"><div id="text_top">Links</div></div>
+  <div id="center"><div id="text_centre_intro">
+      <p>
+        The <font color="#000066"><b>CImg Library</b></font> is known to be used by the following projects.
+        If you are using <font color="#000066"><b>CImg</b></font> and want your project to appear on this page,
+        please post a message in the forum, or contact us by e-mail.
+      </p>
+      <ul>
+        <li><b><a href="http://www.imagico.de/ascos/">ASCOS</a></b>, a correction tool for satellite images.</li>
+        <li><b><a href="http://www.digikam.org/">Digikam</a></b>, an advanced digital photo management application.</li>
+        <li><b><a href="http://enas.gforge.inria.fr/">Event Neural Assembly Simulation</a></b> is an open-source C++ library to simulate so called event neural unit. Done by the INRIA lab, in France.</li>
+        <li><b><a href="https://github.com/matthewhanson/gippy">GIPS</a></b> and <b><a href="https://github.com/matthewhanson/gippy/">GIPPY</a></b> are two new, related, open-source projects for processing of remote sensing data.</li>
+        <li><b><a href="http://gmic.eu/">G'MIC</a></b> is an open and full-featured framework for image processing, providing several different user interfaces to convert/manipulate/filter/visualize generic image datasets, from 1d scalar signals to 3d+t sequences of multi-spectral volumetric images.</li>
+        <li><b><a href="http://koti.kapsi.fi/thirsima/gocam/">GoCam</a></b>, an open-source project for developing a computer vision system that analyses video capture of a go game.</li>
+        <li><b><a href="http://www.eng.cam.ac.uk/~ajk61/IDIL/">IDIL</a></b> (Integrated Data & Image Library), a cross-platform library for computing, plotting and image analysis.</li>
+        <li><b><a href="https://github.com/dahtah/imager">Imager</a></b> is an image/video processing package for R, based on CImg.</li>
+        <li><b><a href="https://github.com/EyalAr/lwip">lwip</a></b>, a light-weight image processor for NodeJS.</li>
+        <li><b><a href="http://www.morphographx.org/">MorphoGraphX</a></b> is a cross-platform, open-source application for the visualization and processing of 3D biological datasets.</li>
+        <li><b><a href="http://www2.epa.gov/cameo/marplot-software">Marplot</a></b> is the mapping program for the CAMEO software suite, which is used widely to plan for and respond to chemical emergencies.</li>
+        <li><b><a href="http://natron.inria.fr/">Natron</a></b> is a free open-source, cross-platform compositing software. It aims to produce visual effects.</li>
+        <li><b><a href="http://cactus.nci.nih.gov/osra/">OSRA</a></b> (Optical Structure Recognition Application) is a utility designed to convert graphical representations of chemical structures into SMILES (Simplified Molecular Input Line Entry Specification) or SD files - a computer recognizable molecular structure formatis a free open-source, cross-platform compositing software.</li>
+        <li><b><a href="http://www.itm.uni-stuttgart.de/research/pasimodo/pasimodo_de.php">PASIMODO</a></b>, a program package for particle-based simulation methods, developed at the Institute of Engineering and Computational Mechanics (University of Stuttgart, Germany).</li>
+        <li><b><a href="http://www.phash.org/">pHash</a></b> is an open-source software library that implements several perceptual hashing algorithms, and provides a C-like API to use those functions in your own programs.</li>
+        <li><b><a href="http://photivo.org/">Photivo</a></b> is an open-source photo processor. It handles your RAW files as well as bitmap files in a non-destructive 16 bit processing pipe with gimp workflow integration and batch mode.</li>
+        <li><b><a href="http://www.dkfz.de/Macromol/quickfit/">QuickFit 3</a></b> is a data evaluation software for FCS and imagingFCS (imFCS) measurement.</li>
+        <li><b><a href="http://www.sofa-framework.org/">Sofa</a></b> is an open-source framework primarily targeted at real-time simulation, with an emphasis on medical simulation.</li>
+        <li><b><a href="http://cs.ucsb.edu/~cmsweeney/theia/index.html">Theia</a></b> is a computer vision library aimed at providing efficient and reliable algorithms for Structure from Motion (SfM) and Simultaneous Localization and Mapping (SLAM) systems.</li>
+        <li><b><a href="http://www.vips.ecs.soton.ac.uk/index.php?title=GREYCstoration">The VIPS Library</a></b> uses <font color="#000066"><b>CImg</b></font> in one of its denoising plugin.</li>
+        <li><b><a href="http://wxcam.sourceforge.net/">wxCam</a></b> is a webcam application for Linux.</li>
+        <li><b><a href="http://xraysim.sourceforge.net/">XRaySim</a></b> is an open-source simulation package for use in Industrial Non-Destructive testing and medical imaging applications.</li>
+        <li><b><a href="http://zoomfx.sourceforge.net/">ZoomFX</a></b> is a free tool to help in image batch process thanks to an helpful visual interface and powerful filters.</li>
+        <li><b><a href="https://github.com/search?q=cimg_library&type=Code&ref=searchresults">Other pieces of code using <font color="#000066"><b>CImg</b></font></a></b> can be found on
+          <a href="https://github.com/search?q=cimg_library&type=Code&ref=searchresults">Github</a>.</li>
+      </ul>
+
+      </div></div><div id="footer"><img alt="" src="images/footer.jpg" /></div></div>
+
+<!--#include file="footer.html" -->
diff --git a/html/screenshots.shtml b/html/screenshots.shtml
new file mode 100644
index 0000000..abef107
--- /dev/null
+++ b/html/screenshots.shtml
@@ -0,0 +1,356 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+          "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<!--#include file="header.html" -->
+
+<div id="bloc_option"><div id="top_vert"><div id="text_top">Screenshots</div></div>
+<div id="center"><div id="text_centre_intro">
+<p>
+  The screenshots below have been taken from the different sample programs distributed within the
+  <font color="#000066"><b>CImg</b></font> package.
+  Click on an image to enlarge it and on the source filename to display it. A link to a streaming video of the
+  corresponding effect is sometimes proposed.
+  If you are interested by a live demo, go to the <a href="download.shtml"><b>download page</b></a>
+  and get the pre-compiled binaries for your system.
+</p>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#f0f1f5" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center>
+        <table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td>
+              <a href="img/ss_demomenu.jpg" onclick="NewWindow(this.href,'name','400','450','yes');return false;">
+                <img alt="" src="img/ss_mini_000001.jpg" border="0" width="100"></img></a>
+        </td></tr></table>
+    </center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>The main demo sample of the <font color="#000066"><b>CImg</b></font> package</b> (1433 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/CImg_demo.cpp">CImg_demo.cpp</a></i><br/><br/>
+        Contains 26 different real-time animations, as well as a nice selection menu. Look at the video to
+        see all the different effects running.<br/><br/>
+	<a href="img/video_cimgdemo.html" onclick="NewWindow(this.href,'name','700','450','yes');return false;">
+          <img src="img/item_clickvideo.jpg" border="0" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';" /></a>
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#ffffff" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center>
+        <table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td>
+              <a href="img/ss_bump.jpg" onclick="NewWindow(this.href,'name','500','300','yes');return false;">
+                <img alt="" src="img/ss_mini_000000.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>A 2d bump-mapping effect</b> (30 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/CImg_demo.cpp">CImg_demo.cpp</a></i><br/><br/>
+        You can move the light source using the mouse.
+        This sample shows how to handle mouse motion and create an animation in a window.
+        It demonstrates also that the <font color="#000066"><b>CImg Library</b></font> is quite fast !
+        Everything is computed from scratch here, including the logo, the background and the light.<br/><br/>
+	<a href="img/video_bump.html" onclick="NewWindow(this.href,'name','700','450','yes');return false;">
+          <img src="img/item_clickvideo.jpg" border="0" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';" /></a>
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#f0f1f5" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center>
+        <table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td>
+              <a href="img/ss_hough.jpg" onclick="NewWindow(this.href,'name','1030','540','yes');return false;">
+                <img alt="" src="img/ss_mini_000002.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>Computation of the Hough Transform</b> (95 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/hough_transform2d.cpp">hough_transform.cpp</a></i> <br/><br/>
+        Illustrate the computation of the Hough transform to detect lines in 2D images. Provide also simple user
+        interface to select and display lines.
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#ffffff" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_imgfade.jpg" onclick="NewWindow(this.href,'name','280','280','yes');return false;">
+                <img alt="" src="img/ss_mini_000003.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>Do a fading between two images</b> (35 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/fade_images.cpp">fade_images.cpp</a></i> <br/><br/>
+        Very small code to perform a funny effect. Also demonstrate how to easily deal with command line arguments.
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#f0f1f5" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_mandelbrot.jpg" onclick="NewWindow(this.href,'name','660','520','yes');return false;">
+                <img alt="" src="img/ss_mini_000004.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>A functional Mandelbrot fractal explorer</b> (51 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/CImg_demo.cpp">CImg_demo.cpp</a></i> <br/><br/>
+        Show how to use the predefined feature selection function present in the <font color="#000066"><b>CImg Library</b></font>.<br/><br/>
+	<a href="img/video_mandelbrot.html" onclick="NewWindow(this.href,'name','700','450','yes');return false;">
+          <img src="img/item_clickvideo.jpg" border="0" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';" /></a>
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#ffffff" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_odykill.jpg" onclick="NewWindow(this.href,'name','660','520','yes');return false;">
+                <img alt="" src="img/ss_mini_000005.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>A simple shoot-em-up game, featuring the people of the Robotvis/Odyssee Lab</b> (180 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/odykill.cpp">odykill.cpp</a></i> <br/><br/>
+        Another demonstration of handling mouse and creating animation for pedagogic purposes.
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#f0f1f5" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_optflow.jpg" onclick="NewWindow(this.href,'name','980','470','yes');return false;">
+                <img alt="" src="img/ss_mini_000006.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>An implementation of an image registration algorithm, with
+          multiscale capability</b> (201 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/image_registration.cpp">image_registration.cpp</a></i> <br/><br/>
+        Compute a motion map between two images, and warp one into the another through a smooth animation.
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#ffffff" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_paint.jpg" onclick="NewWindow(this.href,'name','280','370','yes');return false;">
+                <img alt="" src="img/ss_mini_000007.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>A mini-painting program</b> (30 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/CImg_demo.cpp">CImg_demo.cpp</a></i> <br/><br/>
+        This is not a replacement to Photoshop, but it already includes a filling algorithm
+        as well as a color selection tool.<br/><br/>
+	<a href="img/video_minipaint.html" onclick="NewWindow(this.href,'name','700','450','yes');return false;">
+          <img src="img/item_clickvideo.jpg" border="0" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';" /></a>
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#f0f1f5" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_rotozoom.jpg" onclick="NewWindow(this.href,'name','350','250','yes');return false;">
+                <img alt="" src="img/ss_mini_000008.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>A classical demomaking-effect, called 'rotozoom'</b> (20 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/CImg_demo.cpp">CImg_demo.cpp</a></i> <br/><br/>
+        Smell the old school parfume of the atari/amiga demos.
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#ffffff" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_triangle.jpg" onclick="NewWindow(this.href,'name','670','530','yes');return false;">
+                <img alt="" src="img/ss_mini_000009.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>An animation featuring triangles that are rotating</b> (50 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/CImg_demo.cpp">CImg_demo.cpp</a></i> <br/><br/>
+        Could be a replacement to your classical screen saver.
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#f0f1f5" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_fourier.jpg" onclick="NewWindow(this.href,'name','550','300','yes');return false;">
+                <img alt="" src="img/ss_mini_000026.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>A demo of image filtering in the Fourier Domain</b> (30 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/CImg_demo.cpp">CImg_demo.cpp</a></i> <br/><br/>
+	<a href="img/video_fourier.html" onclick="NewWindow(this.href,'name','700','450','yes');return false;">
+          <img src="img/item_clickvideo.jpg" border="0" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';" /></a>
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#ffffff" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_render3d.jpg" onclick="NewWindow(this.href,'name','350','300','yes');return false;">
+                <img alt="" src="img/ss_mini_000011.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>An example of real-time 3D rendering</b>.<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/CImg_demo.cpp">CImg_demo.cpp</a></i> <br/><br/>
+        No use of OpenGL or VTK in this example, only pure <font color="#000066"><b>CImg</b></font> software functions are used ! <br/><br/>
+	<a href="img/video_doubletorus.html" onclick="NewWindow(this.href,'name','700','450','yes');return false;">
+          <img src="img/item_clickvideo.jpg" border="0" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';" /></a>
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#f0f1f5" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_bubble.jpg" onclick="NewWindow(this.href,'name','350','300','yes');return false;">
+                <img alt="" src="img/ss_mini_000012.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>An example of the ellipse drawing function, used to bounce an elastic bubble</b> (25 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/CImg_demo.cpp">CImg_demo.cpp</a></i> <br/><br/>
+	<a href="img/video_bubble.html" onclick="NewWindow(this.href,'name','700','450','yes');return false;">
+          <img src="img/item_clickvideo.jpg" border="0" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';" /></a>
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#ffffff" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_landscape.jpg" onclick="NewWindow(this.href,'name','430','350','yes');return false;">
+                <img alt="" src="img/ss_mini_000013.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>A real-time 3D virtual landscape</b> (40 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/CImg_demo.cpp">CImg_demo.cpp</a></i> <br/><br/>
+        The altitude map is based on a 'fractal plasma' generator.<br/><br/>
+	<a href="img/video_landscape.html" onclick="NewWindow(this.href,'name','700','450','yes');return false;">
+          <img src="img/item_clickvideo.jpg" border="0" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';" /></a>
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#f0f1f5" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_plasma.jpg" onclick="NewWindow(this.href,'name','430','350','yes');return false;">
+                <img alt="" src="img/ss_mini_000014.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>A nice plasma effect with a sinus scroller</b> (70 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/CImg_demo.cpp">CImg_demo.cpp</a></i> <br/><br/>
+	<a href="img/video_plasma.html" onclick="NewWindow(this.href,'name','700','450','yes');return false;">
+          <img src="img/item_clickvideo.jpg" border="0" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';" /></a>
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#ffffff" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_tetris.jpg" onclick="NewWindow(this.href,'name','220','370','yes');return false;">
+                <img alt="" src="img/ss_mini_000015.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>An implementation of the well known Tetris game</b> (130 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/tetris.cpp">tetris.cpp</a></i> <br/><br/>
+        Very small code for a complete version of the Tetris game.
+	<br/><br/><a href="img/video_tetris.html" onclick="NewWindow(this.href,'name','700','450','yes');return false;">
+          <img src="img/item_clickvideo.jpg" border="0" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';" /></a>
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#f0f1f5" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_restoration.jpg" onclick="NewWindow(this.href,'name','570','450','yes');return false;">
+                <img alt="" src="img/ss_mini_000016.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>The implementation of the Tschumperl�-Deriche algorithm for image restoration and inpainting</b> (170 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/pde_TschumperleDeriche2d.cpp">pde_TschumperleDeriche2d.cpp</a></i> <br/><br/>
+        See <a href="ftp://ftp-sop.inria.fr/odyssee/Publications/2003/tschumperle-deriche:03.pdf">the corresponding publication</a>
+        for more detail on the algorithm.
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#ffffff" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_shadebobs.jpg" onclick="NewWindow(this.href,'name','500','450','yes');return false;">
+                <img alt="" src="img/ss_mini_000017.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>A very smart and classical demo effect called 'Shade bobs'</b> (60 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/CImg_demo.cpp">CImg_demo.cpp</a></i> <br/><br/>
+	<a href="img/video_shadebobs.html" onclick="NewWindow(this.href,'name','700','450','yes');return false;">
+          <img src="img/item_clickvideo.jpg" border="0" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';" /></a>
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#f0f1f5" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_blobs.jpg" onclick="NewWindow(this.href,'name','350','350','yes');return false;">
+                <img alt="" src="img/ss_mini_000018.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>A nice Blob Editor in only few lines</b> (90 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/CImg_demo.cpp">CImg_demo.cpp</a></i> <br/><br/>
+	<a href="img/video_blobs.html" onclick="NewWindow(this.href,'name','700','450','yes');return false;">
+          <img src="img/item_clickvideo.jpg" border="0" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';" /></a>
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#ffffff" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_metaballs.jpg" onclick="NewWindow(this.href,'name','520','330','yes');return false;">
+                <img alt="" src="img/ss_mini_000019.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>3d Metaballs animation</b> (23 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/CImg_demo.cpp">CImg_demo.cpp</a></i> <br/><br/>
+	<a href="img/video_metaballs.html" onclick="NewWindow(this.href,'name','700','450','yes');return false;">
+          <img src="img/item_clickvideo.jpg" border="0" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';" /></a>
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#f0f1f5" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_surface.jpg" onclick="NewWindow(this.href,'name','800','500','yes');return false;">
+                <img alt="" src="img/ss_mini_000020.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>A tool to visualize images as surfaces in 3d</b> (100 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/image_surface.cpp">image_surface.cpp</a></i> <br/><br/>
+	<a href="img/video_imagesurface.html" onclick="NewWindow(this.href,'name','700','450','yes');return false;">
+          <img src="img/item_clickvideo.jpg" border="0" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';" /></a>
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#ffffff" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_dtmri.jpg" onclick="NewWindow(this.href,'name','750','500','yes');return false;">
+                <img alt="" src="img/ss_mini_000021.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>A 3d viewer for Diffusion tensor imaging datasets</b> (526 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/dtmri_view.cpp">dtmri_view.cpp</a></i> <br/><br/>
+	<a href="img/video_dtmri.html" onclick="NewWindow(this.href,'name','700','450','yes');return false;">
+          <img src="img/item_clickvideo.jpg" border="0" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';" /></a>
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#f0f1f5" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_waves.jpg" onclick="NewWindow(this.href,'name','450','350','yes');return false;">
+                <img alt="" src="img/ss_mini_000022.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>Applying the wave equation on an 3d image-mapped surface</b> (55 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/CImg_demo.cpp">CImg_demo.cpp</a></i> <br/><br/>
+	<a href="img/video_waves.html" onclick="NewWindow(this.href,'name','700','450','yes');return false;">
+          <img src="img/item_clickvideo.jpg" border="0" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';" /></a>
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#ffffff" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/curve_editor.jpg" onclick="NewWindow(this.href,'name','550','550','yes');return false;">
+                <img alt="" src="img/ss_mini_000023.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>A simple 2d curve editor using spline interpolation</b> (300 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/curve_editor.cpp">curve_editor.cpp</a></i> <br/><br/>
+	<a href="img/video_curveeditor.html" onclick="NewWindow(this.href,'name','700','450','yes');return false;">
+          <img src="img/item_clickvideo.jpg" border="0" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';" /></a>
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#f0f1f5" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_jawbreaker.jpg" onclick="NewWindow(this.href,'name','450','500','yes');return false;">
+                <img alt="" src="img/ss_mini_000024.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>A complete and funny game featuring colored balls</b> (121 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/jawbreaker.cpp">jawbreaker.cpp</a></i> <br/><br/>
+	<a href="img/video_jawbreaker.html" onclick="NewWindow(this.href,'name','700','450','yes');return false;">
+          <img src="img/item_clickvideo.jpg" border="0" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';" /></a>
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#ffffff" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_reflection.jpg" onclick="NewWindow(this.href,'name','450','450','yes');return false;">
+                <img alt="" src="img/ss_mini_000025.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>A cool 3d reflection effect, using some <font color="#000066"><b>CImg</b></font> 3d object rendering tricks</b> (130 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/CImg_demo.cpp">CImg_demo.cpp</a></i> <br/><br/>
+	<a href="img/video_reflection.html" onclick="NewWindow(this.href,'name','700','450','yes');return false;">
+          <img src="img/item_clickvideo.jpg" border="0" alt="Click here to see the video" onmouseover="this.src='img/item_clickvideo2.jpg';" onmouseout="this.src='img/item_clickvideo.jpg';" /></a>
+</font></td></tr></table>
+
+<hr noshade="noshade" size="1" width="95%"></hr>
+<table align="center" bgcolor="#ffffff" border="0" cellpadding="16" cellspacing="0" width="95%"><tr>
+    <td width="100" bgcolor="#ffffff"><center><table bgcolor="#ffffff" border="1" cellpadding="0"><tr><td><a href="img/ss_puzzle.jpg" onclick="NewWindow(this.href,'name','550','450','yes');return false;">
+                <img alt="" src="img/ss_mini_000027.jpg" border="0" width="100"></img></a></td></tr></table></center></td>
+    <td><font size="-1">
+        <img alt="" src="img/item_description.jpg"></img> : <b>A simple word puzzle game</b> (100 lines of code).<br/>
+        <img alt="" src="img/item_file.jpg"></img> :
+        <i><a href="https://github.com/dtschump/CImg/blob/master/examples/CImg_demo.cpp">CImg_demo.cpp</a></i> <br/><br/>
+</font></td></tr></table>
+
+</div></div><div id="footer"><img alt="" src="images/footer.jpg" /></div></div>
+
+<!--#include file="footer.html" -->
diff --git a/html/style.css b/html/style.css
new file mode 100644
index 0000000..0adcd12
--- /dev/null
+++ b/html/style.css
@@ -0,0 +1,148 @@
+body {
+font-family: 'Open Sans', sans-serif;
+font-size:15px;
+line-height:20px;
+}
+a {
+font-weight:bold;
+color:#636363;
+}
+tt {
+/* font-family:Arial, Helvetica, sans-serif; */
+font-family: 'Open Sans', sans-serif;
+color:#404040;
+}
+pre {
+/* font-family:Arial, Helvetica, sans-serif; */
+font-family: 'Open Sans', sans-serif;
+color:#404040;
+}
+#bloc_option {
+margin:0 auto;
+width:1000px;
+}
+#bloc_option_bis {
+margin:0 auto;
+width:1000px;
+}
+#top_bleu {
+width:1000px;
+height:47px;
+position:relative;
+float:left;
+background-image:url(images/header.jpg);
+background-repeat:no-repeat;
+font-size:20px;
+color:#fff;
+}
+#top_gris {
+width:1000px;
+height:47px;
+position:relative;
+float:left;
+background-image:url(images/header.jpg);
+background-repeat:no-repeat;
+font-size:20px;
+color:#fff;
+}
+#top_rouge {
+width:1000px;
+height:47px;
+position:relative;
+float:left;
+background-image:url(images/header.jpg);
+background-repeat:no-repeat;
+font-size:20px;
+color:#fff;
+}
+#top_vert {
+width:1000px;
+height:47px;
+position:relative;
+float:left;
+background-image:url(images/header.jpg);
+background-repeat:no-repeat;
+font-size:18px;
+color:#fff;
+}
+#top_bis {
+width:1000px;
+height:21px;
+position:relative;
+float:left;
+background-image:url(images/header_bis.jpg);
+background-repeat:no-repeat;
+font-size:20px;
+color:#fff;
+}
+#center{
+position:relative;
+float:left;
+width:1000px;
+text-align:justify;
+background-image:url(images/centre.jpg);
+}
+#text_centre_intro {
+padding-left:50px;
+padding-top:15px;
+width:900px;
+position:relative;
+float:left;
+text-align:justify;
+color:#404040;
+}
+#text_centre {
+padding-left:15px;
+padding-top:15px;
+width:940px;
+position:relative;
+float:left;
+text-align:justify;
+color:#636363;
+}
+#text_centre_intro_bis {
+width:1000px;
+position:relative;
+float:left;
+text-align:center;
+color:#636363;
+}
+#text_top {
+padding-top:15px;
+padding-left:15px;
+color:#708090;
+width:170px;
+text-align:center;
+}
+#footer {
+position:relative;
+float:left;
+height:20px;
+}
+
+.highslide-caption {
+	display: none;
+	border-top: none;
+	font-size: 10pt;
+	padding: 5px;
+  color: #000000;
+	background: #ffffff;
+  border: 0px solid #ffffff;
+}
+
+code,
+pre {
+  padding: 0 3px 2px;
+  color: #333333;
+  -webkit-border-radius: 3px;
+     -moz-border-radius: 3px;
+          border-radius: 3px;
+}
+
+code {
+  padding: 2px 4px;
+  color: #d14;
+  white-space: nowrap;
+  background-color: #f7f7f9;
+  border: 1px solid #e1e1e8;
+}
diff --git a/plugins/add_fileformat.h b/plugins/add_fileformat.h
new file mode 100644
index 0000000..fcde104
--- /dev/null
+++ b/plugins/add_fileformat.h
@@ -0,0 +1,79 @@
+/*
+ #
+ #  File        : add_fileformat.h
+ #                ( C++ header file - CImg plug-in )
+ #
+ #  Description : CImg plug-in that adds loading/saving support for a personalized
+ #                file format (determined by its extension, here ".foo").
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#ifndef cimg_plugin_addfileformat
+#define cimg_plugin_addfileformat
+
+// These functions load ".foo" filenames
+//---------------------------------------
+static CImg<T> get_load_foo(const char *filename) {
+  std::fprintf(stderr,"Load '%s' here..\n",filename);
+  return CImg<T>(512,512,1,3,0).noise(30);
+}
+
+CImg& load_foo(const char *filename) {
+  return get_load_foo(filename).swap(*this);
+}
+
+// This function saves the instance image into a ".foo" file.
+//-----------------------------------------------------------
+const CImg& save_foo(const char *filename) const {
+  std::fprintf(stderr,"Save '%s' here..\n",filename);
+  return *this;
+}
+
+// The code below allows to add the support for the specified extension.
+//---------------------------------------------------------------------
+#ifndef cimg_load_plugin
+#define cimg_load_plugin(filename) \
+  if (!cimg::strncasecmp(cimg::split_filename(filename),"foo",3)) return load_foo(filename);
+#endif
+#ifndef cimg_save_plugin
+#define cimg_save_plugin(filename) \
+  if (!cimg::strncasecmp(cimg::split_filename(filename),"foo",3)) return save_foo(filename);
+#endif
+
+// End of the plugin.
+//-------------------
+#endif /* cimg_plugin_addfileformat */
diff --git a/plugins/bayer.h b/plugins/bayer.h
new file mode 100644
index 0000000..b848e56
--- /dev/null
+++ b/plugins/bayer.h
@@ -0,0 +1,212 @@
+/*
+ #
+ #  File        : bayer.h
+ #                ( C++ header file - CImg plug-in )
+ #
+ #  Description : CImg plugin that implements the conversion of a color image to a
+ #                Bayer-coded matrix, and its reverse transform.
+ #
+ #  Copyright   : David Tschumperlé
+ #                ( https://tschumperle.users.greyc.fr/ )
+ #
+ #  This software is governed by the CeCILL license under French law and
+ #  abiding by the rules of distribution of free software. You can use,
+ #  modify and/or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty and the software's author, the holder of the
+ #  economic rights, and the successive licensors have only limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading, using, modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean that it is complicated to manipulate, and that also
+ #  therefore means that it is reserved for developers and experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and, more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+#ifndef cimg_plugin_bayer
+#define cimg_plugin_bayer
+
+//! Convert RGB color image to a Bayer-coded scalar image.
+/**
+   \note First (upper-left) pixel if the red component of the pixel color.
+**/
+CImg<T>& RGBtoBayer() {
+  return get_RGBtoBayer().move_to(*this);
+}
+
+//! Convert RGB color image to a Bayer-coded scalar image \newinstance.
+CImg<T> get_RGBtoBayer() const {
+  if (_spectrum!=3)
+    throw CImgInstanceException(_cimg_instance
+                                "RGBtoBayer(): Instance is not a RGB image.",
+                                cimg_instance);
+
+  CImg<T> res(_width,_height,_depth,1);
+  const T *ptr_r = data(0,0,0,0), *ptr_g = data(0,0,0,1), *ptr_b = data(0,0,0,2);
+  T *ptrd = res._data;
+  cimg_forXYZ(*this,x,y,z) {
+    if (y%2) {
+      if (x%2) *(ptrd++) = *ptr_b;
+      else *(ptrd++) = *ptr_g;
+    } else {
+      if (x%2) *(ptrd++) = *ptr_g;
+      else *(ptrd++) = *ptr_r;
+    }
+    ++ptr_r; ++ptr_g; ++ptr_b;
+  }
+  return res;
+}
+
+//! Convert Bayer-coded scalar image to a RGB color image.
+CImg<T>& BayertoRGB(const unsigned int interpolation_type=3) {
+  return get_BayertoRGB(interpolation_type).move_to(*this);
+}
+
+//! Convert Bayer-coded scalar image to a RGB color image \newinstance.
+CImg<Tuchar> get_BayertoRGB(const unsigned int interpolation_type=3) const {
+  if (_spectrum!=1)
+    throw CImgInstanceException(_cimg_instance
+                                "BayertoRGB(): Instance is not a Bayer image.",
+                                cimg_instance);
+
+  CImg<Tuchar> res(_width,_height,_depth,3);
+  CImg_3x3(I,T);
+  Tuchar *ptr_r = res.data(0,0,0,0), *ptr_g = res.data(0,0,0,1), *ptr_b = res.data(0,0,0,2);
+  switch (interpolation_type) {
+  case 3 : { // Edge-directed
+    CImg_3x3(R,T);
+    CImg_3x3(G,T);
+    CImg_3x3(B,T);
+    cimg_forXYZ(*this,x,y,z) {
+      const int _p1x = x?x - 1:1, _p1y = y?y - 1:1, _n1x = x<width() - 1?x + 1:x - 1, _n1y = y<height() - 1?y + 1:y - 1;
+      cimg_get3x3(*this,x,y,z,0,I,T);
+      if (y%2) {
+        if (x%2) {
+          const Tfloat
+            alpha = cimg::sqr((Tfloat)Inc - Ipc),
+            beta = cimg::sqr((Tfloat)Icn - Icp),
+            cx = 1/(1 + alpha), cy = 1/(1 + beta);
+          *ptr_g = (Tuchar)((cx*(Inc + Ipc) + cy*(Icn + Icp))/(2*(cx + cy)));
+        } else *ptr_g = (Tuchar)Icc;
+      } else {
+        if (x%2) *ptr_g = (Tuchar)Icc;
+        else {
+          const Tfloat
+            alpha = cimg::sqr((Tfloat)Inc - Ipc),
+            beta = cimg::sqr((Tfloat)Icn - Icp),
+            cx = 1/(1 + alpha), cy = 1/(1 + beta);
+          *ptr_g = (Tuchar)((cx*(Inc + Ipc) + cy*(Icn + Icp))/(2*(cx + cy)));
+        }
+      }
+      ++ptr_g;
+    }
+    cimg_forXYZ(*this,x,y,z) {
+      const int _p1x = x?x - 1:1, _p1y = y?y - 1:1, _n1x = x<width() - 1?x + 1:x - 1, _n1y = y<height() - 1?y + 1:y - 1;
+      cimg_get3x3(*this,x,y,z,0,I,T);
+      cimg_get3x3(res,x,y,z,1,G,T);
+      if (y%2) {
+        if (x%2) *ptr_b = (Tuchar)Icc;
+        else { *ptr_r = (Tuchar)((Icn + Icp)/2); *ptr_b = (Tuchar)((Inc + Ipc)/2); }
+      } else {
+        if (x%2) { *ptr_r = (Tuchar)((Inc + Ipc)/2); *ptr_b = (Tuchar)((Icn + Icp)/2); }
+        else *ptr_r = (Tuchar)Icc;
+      }
+      ++ptr_r; ++ptr_b;
+    }
+    ptr_r = res.data(0,0,0,0);
+    ptr_g = res.data(0,0,0,1);
+    ptr_b = res.data(0,0,0,2);
+    cimg_forXYZ(*this,x,y,z) {
+      const int _p1x = x?x - 1:1, _p1y = y?y - 1:1, _n1x = x<width() - 1?x + 1:x - 1, _n1y = y<height() - 1?y + 1:y - 1;
+      cimg_get3x3(res,x,y,z,0,R,T);
+      cimg_get3x3(res,x,y,z,1,G,T);
+      cimg_get3x3(res,x,y,z,2,B,T);
+      if (y%2) {
+        if (x%2) {
+          const float
+            alpha = (float)cimg::sqr(Rnc - Rpc),
+            beta = (float)cimg::sqr(Rcn - Rcp),
+            cx = 1/(1 + alpha), cy = 1/(1 + beta);
+          *ptr_r = (Tuchar)((cx*(Rnc + Rpc) + cy*(Rcn + Rcp))/(2*(cx + cy)));
+        }
+      } else {
+        if (!(x%2)) {
+          const float
+            alpha = (float)cimg::sqr(Bnc - Bpc),
+            beta = (float)cimg::sqr(Bcn - Bcp),
+            cx = 1/(1 + alpha), cy = 1/(1 + beta);
+          *ptr_b = (Tuchar)((cx*(Bnc + Bpc) + cy*(Bcn + Bcp))/(2*(cx + cy)));
+        }
+      }
+      ++ptr_r; ++ptr_g; ++ptr_b;
+    }
+  } break;
+  case 2 : { // Linear interpolation
+    cimg_forXYZ(*this,x,y,z) {
+      const int _p1x = x?x - 1:1, _p1y = y?y - 1:1, _n1x = x<width() - 1?x + 1:x - 1, _n1y = y<height() - 1?y + 1:y - 1;
+      cimg_get3x3(*this,x,y,z,0,I,T);
+      if (y%2) {
+        if (x%2) {
+          *ptr_r = (Tuchar)((Ipp + Inn + Ipn + Inp)/4);
+          *ptr_g = (Tuchar)((Inc + Ipc + Icn + Icp)/4);
+          *ptr_b = (Tuchar)Icc;
+        } else { *ptr_r = (Tuchar)((Icp + Icn)/2); *ptr_g = (Tuchar)Icc; *ptr_b = (Tuchar)((Inc + Ipc)/2); }
+      } else {
+        if (x%2) { *ptr_r = (Tuchar)((Ipc + Inc)/2); *ptr_g = (Tuchar)Icc; *ptr_b = (Tuchar)((Icn + Icp)/2); }
+        else {
+          *ptr_r = (Tuchar)Icc;
+          *ptr_g = (Tuchar)((Inc + Ipc + Icn + Icp)/4);
+          *ptr_b = (Tuchar)((Ipp + Inn + Ipn + Inp)/4);
+        }
+      }
+      ++ptr_r; ++ptr_g; ++ptr_b;
+    }
+  } break;
+  case 1 : { // Nearest neighbor interpolation
+    cimg_forXYZ(*this,x,y,z) {
+      const int _p1x = x?x - 1:1, _p1y = y?y - 1:1, _n1x = x<width() - 1?x + 1:x - 1, _n1y = y<height() - 1?y + 1:y - 1;
+      cimg_get3x3(*this,x,y,z,0,I,T);
+      if (y%2) {
+        if (x%2) {
+          *ptr_r = (Tuchar)cimg::min(Ipp,Inn,Ipn,Inp);
+          *ptr_g = (Tuchar)cimg::min(Inc,Ipc,Icn,Icp);
+          *ptr_b = (Tuchar)Icc;
+        } else { *ptr_r = (Tuchar)cimg::min(Icn,Icp); *ptr_g = (Tuchar)Icc; *ptr_b = (Tuchar)cimg::min(Inc,Ipc); }
+      } else {
+        if (x%2) { *ptr_r = (Tuchar)cimg::min(Inc,Ipc); *ptr_g = (Tuchar)Icc; *ptr_b = (Tuchar)cimg::min(Icn,Icp); }
+        else {
+          *ptr_r = (Tuchar)Icc;
+          *ptr_g = (Tuchar)cimg::min(Inc,Ipc,Icn,Icp);
+          *ptr_b = (Tuchar)cimg::min(Ipp,Inn,Ipn,Inp);
+        }
+      }
+      ++ptr_r; ++ptr_g; ++ptr_b;
+    }
+  } break;
+  default : { // 0-filling interpolation
+    const T *ptrs = _data;
+    res.fill(0);
+    cimg_forXYZ(*this,x,y,z) {
+      const T val = *(ptrs++);
+      if (y%2) { if (x%2) *ptr_b = val; else *ptr_g = val; } else { if (x%2) *ptr_g = val; else *ptr_r = val; }
+      ++ptr_r; ++ptr_g; ++ptr_b;
+    }
+  }
+  }
+  return res;
+}
+
+#endif /* cimg_plugin_bayer */
diff --git a/plugins/chlpca.h b/plugins/chlpca.h
new file mode 100644
index 0000000..f8531f0
--- /dev/null
+++ b/plugins/chlpca.h
@@ -0,0 +1,322 @@
+/*
+ #
+ #  File        : chlpca.cpp
+ #                ( C++ source file )
+ #
+ #  Description : Example of use for the CImg plugin 'plugins/chlpca.h'.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright  : Jerome Boulanger
+ #               ( http://www.irisa.fr/vista/Equipe/People/Jerome.Boulanger.html )
+ #
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#ifndef cimg_plugin_chlpca
+#define cimg_plugin_chlpca
+
+// Define some useful macros.
+
+//! Some loops
+#define cimg_for_step1(bound,i,step) for (int i = 0; i<(int)(bound); i+=step)
+#define cimg_for_stepX(img,x,step) cimg_for_step1((img)._width,x,step)
+#define cimg_for_stepY(img,y,step) cimg_for_step1((img)._height,y,step)
+#define cimg_for_stepZ(img,z,step) cimg_for_step1((img)._depth,z,step)
+#define cimg_for_stepXY(img,x,y,step) cimg_for_stepY(img,y,step) cimg_for_stepX(img,x,step)
+#define cimg_for_stepXYZ(img,x,y,step) cimg_for_stepZ(img,z,step) cimg_for_stepY(img,y,step) cimg_for_stepX(img,x,step)
+
+//! Loop for point J(xj,yj) in the neighborhood of a point I(xi,yi) of size (2*rx+1,2*ry+1)
+/**
+   Point J is kept inside the boundaries of the image img.
+   example of summing the pixels values in a neighborhood 11x11
+   cimg_forXY(img,xi,yi) cimg_for_windowXY(img,xi,yi,xj,yj,5,5) dest(yi,yi) += src(xj,yj);
+**/
+#define cimg_forXY_window(img,xi,yi,xj,yj,rx,ry)                        \
+for (int yi0=cimg::max(0,yi-ry), yi1=cimg::min(yi + ry,(int)img.height() - 1), yj=yi0;yj<=yi1;++yj) \
+for (int xi0=cimg::max(0,xi-rx), xi1=cimg::min(xi + rx,(int)img.width() - 1), xj=xi0;xj<=xi1;++xj)
+
+#define cimg_forXYZ_window(img,xi,yi,zi,xj,yj,zj,rx,ry,rz)                                      \
+for (int zi0=cimg::max(0,zi-rz), zi1=cimg::min(zi + rz,(int)img.depth() - 1) , zj=zi0;zj<=zi1;++zj) \
+for (int yi0=cimg::max(0,yi-ry), yi1=cimg::min(yi + ry,(int)img.height() - 1), yj=yi0;yj<=yi1;++yj) \
+for (int xi0=cimg::max(0,xi-rx), xi1=cimg::min(xi + rx,(int)img.width() - 1) , xj=xi0;xj<=xi1;++xj)
+
+//! Crop a patch in the image around position x,y,z and return a column vector
+/**
+   \param x x-coordinate of the center of the patch
+   \param y y-coordinate of the center of the patch
+   \param z z-coordinate of the center of the patch
+   \param px the patch half width
+   \param px the patch half height
+   \param px the patch half depth
+   \return img.get_crop(x0,y0,z0,x1,y1,z1).unroll('y');
+**/
+CImg<T> get_patch(int x, int y, int z,
+                  int px, int py, int pz) const {
+  if (depth() == 1){
+    const int x0 = x - px, y0 = y - py, x1 = x + px, y1 = y + py;
+    return get_crop(x0, y0, x1, y1).unroll('y');
+  } else {
+    const int
+      x0 = x - px, y0 = y - py, z0 = z - pz,
+      x1 = x + px, y1 = y + py, z1 = z + pz;
+    return get_crop(x0, y0, z0, x1, y1, z1).unroll('y');
+  }
+}
+
+//! Extract a local patch dictionnary around point xi,yi,zi
+CImg<T> get_patch_dictionnary(const int xi, const int yi, const int zi,
+			      const int px, const int py, const int pz,
+			      const int wx, const int wy, const int wz,
+			      int & idc) const {
+  const int
+    n = (2*wx + 1) * (2*wy + 1) * (2 * (depth()==1?0:wz) + 1),
+    d = (2*px + 1) * (2*py + 1) * (2 * (depth()==1?0:px) + 1) * spectrum();
+  CImg<> S(n, d);
+  int idx = 0;
+  if (depth() == 1) {
+    cimg_forXY_window((*this), xi, yi, xj, yj, wx, wy){
+      CImg<T> patch = get_patch(xj, yj, 0, px, py, 1);
+      cimg_forY(S,y) S(idx,y) = patch(y);
+      if (xj==xi && yj==yi) idc = idx;
+      idx++;
+    }
+  } else  {
+    cimg_forXYZ_window((*this), xi,yi,zi,xj,yj,zj,wx,wy,wz){
+      CImg<T> patch = get_patch(xj, yj, zj, px, py, pz);
+      cimg_forY(S,y) S(idx,y) = patch(y);
+      if (xj==xi && yj==yi && zj==zi) idc = idx;
+      idx++;
+    }
+  }
+  S.columns(0, idx - 1);
+  return S;
+}
+
+//! Add a patch to the image
+/**
+   \param x x-coordinate of the center of the patch
+   \param y y-coordinate of the center of the patch
+   \param z z-coordinate of the center of the patch
+   \param img the patch as a 1D column vector
+   \param px the patch half width
+   \param px the patch half height
+   \param px the patch half depth
+**/
+CImg<T> & add_patch(const int xi, const int yi, const int zi,
+		    const CImg<T> & patch,
+		    const int px, const int py, const int pz) {
+  const int
+    x0 = xi - px, y0 = yi - py, z0 = (depth() == 1 ? 0 : zi - pz),
+    sx = 2 * px + 1, sy = 2 * py + 1, sz = (depth() == 1 ? 1 : 2 * pz +1);
+  draw_image(x0, y0, z0, 0, patch.get_resize(sx, sy, sz, spectrum(), -1), -1);
+  return (*this);
+}
+
+//! Add a constant patch to the image
+/**
+   \param x x-coordinate of the center of the patch
+   \param y y-coordinate of the center of the patch
+   \param z z-coordinate of the center of the patch
+   \param value in the patch
+   \param px the patch half width
+   \param px the patch half height
+   \param px the patch half depth
+**/
+CImg<T> & add_patch(const int xi, const int yi, const int zi, const T value,
+		    const int px, const int py, const int pz) {
+  const int
+    x0 = xi - px, y0 = yi - py, z0 = (depth() == 1 ? 0 : zi - pz),
+    x1 = xi + px, y1 = yi + py, z1 = (depth() == 1 ? 0 : zi + pz);
+  draw_rectangle(x0, y0, z0, 0, x1, y1, z1, spectrum()-1, value, -1);
+return (*this);
+}
+
+//! CHLPCA denoising from the PhD thesis of Hu Haijuan
+/**
+   \param px the patch half width
+   \param px the patch half height
+   \param px the patch half depth
+   \param wx the training region half width
+   \param wy the training region half height
+   \param wz the training region half depth
+   \param nstep the subsampling of the image domain
+   \param nsim the number of patches used for training as a factor of the patch size
+   \param lambda_min the threshold on the eigen values of the PCA for dimension reduction
+   \param threshold the threshold on the value of the coefficients
+   \param pca_use_svd if true use the svd approach to perform the pca otherwise use the covariance method
+   \note please cite the PhD thesis of Hu Haijuan http://www.univ-ubs.fr/soutenance-de-these-hu-haijuan-337653.kjsp?RH=1318498222799
+ **/
+CImg<T> get_chlpca(const int px, const int py, const int pz,
+		       const int wx, const int wy, const int wz,
+		       const int nstep, const float nsim,
+		       const float lambda_min, const float threshold,
+		       const float noise_std,  const bool pca_use_svd) const {
+  const int
+    nd = (2*px + 1) * (2*py + 1) * (depth()==1?1:2*pz + 1) * spectrum(),
+    K = (int)(nsim * nd);
+#ifdef DEBUG
+  fprintf(stderr,"chlpca: p:%dx%dx%d,w:%dx%dx%d,nd:%d,K:%d\n",
+	  2*px + 1,2*py + 1,2*pz + 1,2*wx + 1,2*wy + 1,2*wz + 1,nd,K);
+#endif
+  float sigma;
+  if (noise_std<0) sigma = (float)std::sqrt(variance_noise());
+  else sigma = noise_std;
+  CImg<T> dest(*this), count(*this);
+  dest.fill(0);
+  count.fill(0);
+  cimg_for_stepZ(*this,zi,(depth()==1||pz==0)?1:nstep){
+#ifdef cimg_use_openmp
+#pragma omp parallel for
+#endif
+    cimg_for_stepXY((*this),xi,yi,nstep){
+      // extract the training region X
+      int idc = 0;
+      CImg<T> S = get_patch_dictionnary(xi,yi,zi,px,py,pz,wx,wy,wz,idc);
+      // select the K most similar patches within the training set
+      CImg<T> Sk(S);
+      CImg<unsigned int> index(S.width());
+      if (K < Sk.width() - 1){
+	CImg<T> mse(S.width());
+	CImg<unsigned int> perms;
+	cimg_forX(S,x) { mse(x) = (T)S.get_column(idc).MSE(S.get_column(x)); }
+	mse.sort(perms,true);
+	cimg_foroff(perms,i) {
+	  cimg_forY(S,j) Sk(i,j) = S(perms(i),j);
+	  index(perms(i)) = i;
+	}
+	Sk.columns(0, K);
+	perms.threshold(K);
+      } else {
+	cimg_foroff(index,i) index(i)=i;
+      }
+      // centering the patches
+      CImg<T> M(1, Sk.height(), 1, 1, 0);
+      cimg_forXY(Sk,x,y) { M(y) += Sk(x,y); }
+      M /= (T)Sk.width();
+      cimg_forXY(Sk,x,y) { Sk(x,y) -= M(y); }
+      // compute the principal component of the training set S
+      CImg<T> P, lambda;
+      if (pca_use_svd) {
+	CImg<T> V;
+	Sk.get_transpose().SVD(V,lambda,P,true,100);
+      } else {
+	(Sk * Sk.get_transpose()).symmetric_eigen(lambda, P);
+	lambda.sqrt();
+      }
+      // dimension reduction
+      int s = 0;
+      const T tx = (T)(std::sqrt((double)Sk.width()-1.0) * lambda_min * sigma);
+      while((lambda(s) > tx) && (s < ((int)lambda.size() - 1))) { s++; }
+      P.columns(0,s);
+      // project all the patches on the basis (compute scalar product)
+      Sk = P.get_transpose() * Sk;
+      // threshold the coefficients
+      if (threshold > 0) { Sk.threshold(threshold, 1); }
+      // project back to pixel space
+      Sk =  P * Sk;
+      // recenter the patches
+      cimg_forXY(Sk,x,y) { Sk(x,y) += M(y); }
+      int j = 0;
+      cimg_forXYZ_window((*this),xi,yi,zi,xj,yj,zj,wx,wy,wz){
+	const int id = index(j);
+	if (id < Sk.width()) {
+	  dest.add_patch(xj, yj, zj, Sk.get_column(id), px, py, pz);
+	  count.add_patch(xj, yj, zj, (T)1, px, py, pz);
+	}
+	j++;
+      }
+    }
+  }
+  cimg_foroff(dest, i) {
+    if(count(i) != 0) { dest(i) /= count(i); }
+    else { dest(i) = (*this)(i); }
+  }
+  return dest;
+}
+
+//! CHLPCA denoising from the PhD thesis of Hu Haijuan
+/**
+   \param px the patch half width
+   \param px the patch half height
+   \param px the patch half depth
+   \param wx the training region half width
+   \param wy the training region half height
+   \param wz the training region half depth
+   \param nstep the subsampling of the image domain
+   \param nsim the number of patches used for training as a factor of the patch size
+   \param lambda_min the threshold on the eigen values of the PCA for dimension reduction
+   \param threshold the threshold on the value of the coefficients
+   \param pca_use_svd if true use the svd approach to perform the pca otherwise use the covariance method
+   \note please cite the PhD thesis of Hu Haijuan http://www.univ-ubs.fr/soutenance-de-these-hu-haijuan-337653.kjsp?RH=1318498222799
+ **/
+CImg<T> & chlpca(const int px, const int py, const int pz,
+		 const int wx, const int wy, const int wz,
+		 const int nstep, const float nsim,
+		 const float lambda_min, const float threshold,
+		 const float noise_std,  const bool pca_use_svd)  {
+  (*this) = get_chlpca(px, py, pz, wx, wy, wz, nstep, nsim, lambda_min,
+			       threshold, noise_std, pca_use_svd);
+  return (*this);
+}
+
+//! CHLPCA denoising from the PhD thesis of Hu Haijuan
+/**
+   \param p the patch half size
+   \param w the training region half size
+   \param nstep the subsampling of the image domain
+   \param nsim the number of patches used for training as a factor of the patch size
+   \param lambda_min the threshold on the eigen values of the PCA for dimension reduction
+   \param threshold the threshold on the value of the coefficients
+   \param pca_use_svd if true use the svd approach to perform the pca otherwise use the covariance method
+   \note please cite the PhD thesis of Hu Haijuan http://www.univ-ubs.fr/soutenance-de-these-hu-haijuan-337653.kjsp?RH=1318498222799
+ **/
+CImg<T> get_chlpca(const int p=3, const int w=10,
+		   const int nstep=5, const float nsim=10,
+		   const float lambda_min=2, const float threshold = -1,
+		   const float noise_std=-1, const bool pca_use_svd=true) const {
+  if (depth()==1) return get_chlpca(p, p, 0, w, w, 0, nstep, nsim, lambda_min,
+				    threshold, noise_std, pca_use_svd);
+  else return get_chlpca(p, p, p, w, w, w, nstep, nsim, lambda_min,
+			 threshold, noise_std, pca_use_svd);
+}
+
+CImg<T> chlpca(const int p=3, const int w=10,
+	       const int nstep=5, const float nsim=10,
+	       const float lambda_min=2, const float threshold = -1,
+	       const float noise_std=-1, const bool pca_use_svd=true) {
+  (*this) = get_chlpca(p, w, nstep, nsim, lambda_min,
+		       threshold, noise_std, pca_use_svd);
+  return (*this);
+}
+
+#endif /* cimg_plugin_chlpca */
diff --git a/plugins/cvMat.h b/plugins/cvMat.h
new file mode 100644
index 0000000..96e9df2
--- /dev/null
+++ b/plugins/cvMat.h
@@ -0,0 +1,343 @@
+/*
+#
+#  File        : cvMat.h
+#                ( C++ header file - CImg plug-in )
+#
+#  Description : CImg plug-in providing the CImg->cvMat and cvMat->CImg
+#                conversions for generic image types
+#                ( IPL = Intel Performance Library )
+#                This file is a part of the CImg Library project.
+#                ( http://cimg.eu )
+#
+#  Copyright   : Alberto Albiol
+#                alalbiol at iteam.upv.es
+#
+#  How to use  : In the main program include:
+#        #include "cv.h"
+#        #include "highgui.h"
+#        #define cimg_plugin1 "cvMat.h"
+#        #include "CImg.h"
+*/
+#ifndef cimg_plugin_cvMat
+#define cimg_plugin_cvMat
+
+// Conversion IPL -> CImg (constructor)
+CImg(const cv::Mat& src):_width(0),_height(0),_depth(0),_spectrum(0),_is_shared(false),_data(0) {
+  assign(src);
+}
+
+// Conversion IPL -> CImg (in-place constructor)
+CImg<T>& assign(const cv::Mat & src) {
+  if (src.isContinuous()) {
+    switch (src.depth()) {
+        // case CV_1U: { // 1-bit int.
+        //    IplImage *src1 = cvCreateImage(cvGetSize(src),CV_8U,1);
+        //    cvConvert(src,src1);
+        //    CImg<ucharT>((unsigned char*)src1->imageData,src1->nChannels,src1.cols,src1.rows,1,true).
+        //      get_permute_axes("yzcx").move_to(*this);
+        //    cvReleaseImage(&src1);
+        //  } break;
+    case CV_8U: // 8-bit unsigned int.
+      if (src.channels()==1) {
+        CImg<ucharT>((unsigned char*)src.ptr(),src.cols,src.rows,true).move_to(*this);
+      } else {
+        std::vector<cv::Mat> channels;
+        cv::split(src,channels);
+        CImg<ucharT>
+          tmp(src.cols,src.rows,1,3),
+          R = tmp.get_shared_channel(2),
+          G = tmp.get_shared_channel(1),
+          B = tmp.get_shared_channel(0);
+        std::memcpy(R.data(),channels[0].ptr(),src.cols*src.rows*sizeof(uchar));
+        std::memcpy(G.data(),channels[1].ptr(),src.cols*src.rows*sizeof(uchar));
+        std::memcpy(B.data(),channels[2].ptr(),src.cols*src.rows*sizeof(uchar));
+        tmp.move_to(*this);
+      }
+      break;
+    case CV_8S: // 8-bit signed int.
+      if (src.channels()==1) {
+        CImg<charT>((char*)src.ptr(),src.cols,src.rows,true).move_to(*this);
+      } else {
+        std::vector<cv::Mat> channels;
+        cv::split(src,channels);
+        CImg<ucharT>
+          tmp(src.cols,src.rows,1,3),
+          R = tmp.get_shared_channel(2),
+          G = tmp.get_shared_channel(1),
+          B = tmp.get_shared_channel(0);
+        std::memcpy(R.data(),channels[0].ptr(),src.cols*src.rows*sizeof(char));
+        std::memcpy(G.data(),channels[1].ptr(),src.cols*src.rows*sizeof(char));
+        std::memcpy(B.data(),channels[2].ptr(),src.cols*src.rows*sizeof(char));
+        tmp.move_to(*this);
+      }
+      break;
+    case CV_16U: // 16-bit unsigned int.
+      if (src.channels()==1) {
+        CImg<ushortT>((unsigned short*)src.ptr(),src.cols,src.rows,true).move_to(*this);
+      } else {
+        std::vector<cv::Mat> channels;
+        cv::split(src,channels);
+        CImg<ushortT>
+          tmp(src.cols,src.rows,1,3),
+          R = tmp.get_shared_channel(2),
+          G = tmp.get_shared_channel(1),
+          B = tmp.get_shared_channel(0);
+        std::memcpy(R.data(),channels[0].ptr(),src.cols*src.rows*sizeof(unsigned short));
+        std::memcpy(G.data(),channels[1].ptr(),src.cols*src.rows*sizeof(unsigned short));
+        std::memcpy(B.data(),channels[2].ptr(),src.cols*src.rows*sizeof(unsigned short));
+        tmp.move_to(*this);
+      }
+      break;
+    case CV_16S: // 16-bit signed int.
+      if (src.channels()==1) {
+        CImg<shortT>((short*)src.ptr(),src.cols,src.rows,true).move_to(*this);
+      } else {
+        std::vector<cv::Mat> channels;
+        cv::split(src,channels);
+        CImg<shortT>
+          tmp(src.cols,src.rows,1,3),
+          R = tmp.get_shared_channel(2),
+          G = tmp.get_shared_channel(1),
+          B = tmp.get_shared_channel(0);
+        std::memcpy(R.data(),channels[0].ptr(),src.cols*src.rows*sizeof(short));
+        std::memcpy(G.data(),channels[1].ptr(),src.cols*src.rows*sizeof(short));
+        std::memcpy(B.data(),channels[2].ptr(),src.cols*src.rows*sizeof(short));
+        tmp.move_to(*this);
+      }
+      break;
+    case CV_32S: // 32-bit signed int.
+      if (src.channels()==1) {
+        CImg<intT>((int*)src.ptr(),src.cols,src.rows,true).move_to(*this);
+      } else {
+        std::vector<cv::Mat> channels;
+        cv::split(src,channels);
+        CImg<intT>
+          tmp(src.cols,src.rows,1,3),
+          R = tmp.get_shared_channel(2),
+          G = tmp.get_shared_channel(1),
+          B = tmp.get_shared_channel(0);
+        std::memcpy(R.data(),channels[0].ptr(),src.cols*src.rows*sizeof(int));
+        std::memcpy(G.data(),channels[1].ptr(),src.cols*src.rows*sizeof(int));
+        std::memcpy(B.data(),channels[2].ptr(),src.cols*src.rows*sizeof(int));
+        tmp.move_to(*this);
+      }
+      break;
+    case CV_32F: // 32-bit float.
+      if (src.channels()==1) {
+        CImg<floatT>((float*)src.ptr(),src.cols,src.rows,true).move_to(*this);
+      } else {
+        std::vector<cv::Mat> channels;
+        cv::split(src,channels);
+        CImg<floatT>
+          tmp(src.cols,src.rows,1,3),
+          R = tmp.get_shared_channel(2),
+          G = tmp.get_shared_channel(1),
+          B = tmp.get_shared_channel(0);
+        std::memcpy(R.data(),channels[0].ptr(),src.cols*src.rows*sizeof(float));
+        std::memcpy(G.data(),channels[1].ptr(),src.cols*src.rows*sizeof(float));
+        std::memcpy(B.data(),channels[2].ptr(),src.cols*src.rows*sizeof(float));
+        tmp.move_to(*this);
+      }
+      break;
+    case CV_64F: // 64-bit double.
+      if (src.channels()==1) {
+        CImg<doubleT>((double*)src.ptr(),src.cols,src.rows,true).move_to(*this);
+      } else {
+        std::vector<cv::Mat> channels;
+        cv::split(src,channels);
+        CImg<doubleT>
+          tmp(src.cols,src.rows,1,3),
+          R = tmp.get_shared_channel(2),
+          G = tmp.get_shared_channel(1),
+          B = tmp.get_shared_channel(0);
+        std::memcpy(R.data(),channels[0].ptr(),src.cols*src.rows*sizeof(double));
+        std::memcpy(G.data(),channels[1].ptr(),src.cols*src.rows*sizeof(double));
+        std::memcpy(B.data(),channels[2].ptr(),src.cols*src.rows*sizeof(double));
+        tmp.move_to(*this);
+      }
+      break;
+    default:
+      throw CImgInstanceException(_cimg_instance
+                                  "assign(const cv::Mat&) : Mat depth is invalid.",
+                                  cimg_instance);
+      break;
+    }
+  } else {
+    cv::Size size = src.size();
+    switch (src.depth()) {
+    case CV_8U: // 8-bit unsigned int.
+      if (src.channels()==1) {
+        CImg<ucharT> tmp(src.cols,src.rows);
+        for (int i = 0; i<size.height; ++i) {
+          const unsigned char* row_i = src.ptr<unsigned char>(i);
+          unsigned char *row_o = tmp.data(0,i);
+          std::memcpy(row_o,row_i,size.width*sizeof(unsigned char));
+        }
+        tmp.move_to(*this);
+      } else {
+        CImg<ucharT> tmp(src.cols,src.rows,1,src.channels());
+        std::vector<cv::Mat> channels;
+        cv::split(src,channels);
+        for (int c = 0; c<src.channels(); ++c) {
+          CImg<ucharT> plane = tmp.get_shared_channel(src.channels() - 1 - c);
+          for (int i = 0; i<size.height; ++i) {
+            const unsigned char* row_i = channels[c].ptr<unsigned char>(i);
+            unsigned char *row_o = plane.data(0,i);
+            std::memcpy(row_o,row_i,size.width*sizeof(unsigned char));
+          }
+        }
+        tmp.move_to(*this);
+      }
+      break;
+    case CV_8S: // 8-bit int.
+      if (src.channels()==1) {
+        CImg<charT> tmp(src.cols,src.rows);
+        for (int i = 0; i<size.height; ++i) {
+          const char* row_i = src.ptr<char>(i);
+          char* row_o = tmp.data(0,i);
+          std::memcpy(row_o,row_i,size.width*sizeof(charT));
+        }
+        tmp.move_to(*this);
+      } else {
+        CImg<charT> tmp(src.cols,src.rows,1,src.channels());
+        std::vector<cv::Mat> channels;
+        cv::split(src,channels);
+        for (int c = 0; c<src.channels(); ++c) {
+          CImg<charT> plane = tmp.get_shared_channel(src.channels() - 1 - c);
+          for (int i = 0; i<size.height; ++i) {
+            const char* row_i = channels[c].ptr<char>(i);
+            char *row_o = plane.data(0,i);
+            std::memcpy(row_o,row_i,size.width*sizeof(char));
+          }
+        }
+        tmp.move_to(*this);
+      }
+      break;
+    case CV_16S: // 16-bit int.
+      if (src.channels()==1) {
+        CImg<shortT> tmp(src.cols,src.rows);
+        for (int i = 0; i<size.height; ++i) {
+          const short* row_i = src.ptr<short>(i);
+          short *row_o = tmp.data(0,i);
+          std::memcpy(row_o,row_i,size.width*sizeof(short));
+        }
+        tmp.move_to(*this);
+      } else {
+        CImg<shortT> tmp(src.cols,src.rows,1,src.channels());
+        std::vector<cv::Mat> channels;
+        cv::split(src,channels);
+        for (int c = 0; c<src.channels(); ++c) {
+          CImg<shortT> plane = tmp.get_shared_channel(src.channels() - 1 - c);
+          for (int i = 0; i<size.height; ++i) {
+            const short* row_i = channels[c].ptr<short>(i);
+            short *row_o = plane.data(0,i);
+            std::memcpy(row_o,row_i,size.width*sizeof(short));
+          }
+        }
+        tmp.move_to(*this);
+      }
+      break;
+    case CV_32F: // 32-bit float.float
+      if (src.channels()==1) {
+        CImg<floatT> tmp(src.cols,src.rows);
+        for (int i = 0; i<size.height; ++i) {
+          const float* row_i = src.ptr<float>(i);
+          float *row_o = tmp.data(0,i);
+          std::memcpy(row_o,row_i,size.width*sizeof(float));
+        }
+        tmp.move_to(*this);
+      } else {
+        CImg<floatT> tmp(src.cols,src.rows,1,src.channels());
+        std::vector<cv::Mat> channels;
+        cv::split(src,channels);
+        for (int c = 0; c<src.channels(); ++c) {
+          CImg<floatT> plane = tmp.get_shared_channel(src.channels() - 1 - c);
+          for (int i = 0; i<size.height; ++i) {
+            const float* row_i = channels[c].ptr<float>(i);
+            float *row_o = plane.data(0,i);
+            std::memcpy(row_o,row_i,size.width*sizeof(float));
+          }
+        }
+        tmp.move_to(*this);
+      }
+      break;
+    case CV_64F: // 64-bit double.
+      if (src.channels()==1) {
+        CImg<doubleT> tmp(src.cols,src.rows);
+        for (int i = 0; i<size.height; ++i) {
+          const double* row_i = src.ptr<double>(i);
+          double *row_o = tmp.data(0,i);
+          std::memcpy(row_o,row_i,size.width*sizeof(double));
+        }
+        tmp.move_to(*this);
+      } else {
+        CImg<doubleT> tmp(src.cols,src.rows,1,src.channels());
+        std::vector<cv::Mat> channels;
+        cv::split(src,channels);
+        for (int c = 0; c<src.channels(); ++c) {
+          CImg<doubleT> plane = tmp.get_shared_channel(src.channels() - 1 - c);
+          for (int i = 0; i<size.height; ++i) {
+            const double* row_i = channels[c].ptr<double>(i);
+            double *row_o = plane.data(0,i);
+            std::memcpy(row_o,row_i,size.width*sizeof(double));
+          }
+        }
+        tmp.move_to(*this);
+      }
+      break;
+    default:
+      throw CImgInstanceException(_cimg_instance
+                                  "assign(const cv::Mat&) : Mat depth is invalid.",
+                                  cimg_instance);
+      break;
+    }
+  }
+
+  //  if (!std::strcmp(src->channelSeq,"BGR")) mirror('v');
+  //  else if (!std::strcmp(src->channelSeq,"BGRA")) get_shared_channels(0,2).mirror('v');
+  return *this;
+}
+
+// Conversion CImg -> MAT
+cv::Mat get_MAT(const unsigned int z=0) const {
+  if (is_empty())
+    throw CImgInstanceException(_cimg_instance
+                                "get_MAT() : instance image is empty.",
+                                cimg_instance);
+  if (z>=_depth)
+    throw CImgInstanceException(_cimg_instance
+                                "get_MAT() : specified slice %u is out of image bounds.",
+                                cimg_instance,z);
+  const CImg<T>
+    _slice = _depth>1?get_slice(z):CImg<T>(),
+    &slice = _depth>1?_slice:*this;
+  CImg<T> buf(slice,true);
+  int
+    cols = buf.width(),
+    rows = buf.height(),
+    nchannels = buf.spectrum(),
+    matType=-1;
+
+  if (!cimg::strcasecmp(buf.pixel_type(),"unsigned char")) matType = CV_8UC1;
+  if (!cimg::strcasecmp(buf.pixel_type(),"char")) matType = CV_8SC1;
+  if (!cimg::strcasecmp(buf.pixel_type(),"unsigned short")) matType = CV_16UC1;
+  if (!cimg::strcasecmp(buf.pixel_type(),"short")) matType = CV_16SC1;
+  if (!cimg::strcasecmp(buf.pixel_type(),"int")) matType = CV_32SC1;
+  if (!cimg::strcasecmp(buf.pixel_type(),"float")) matType = CV_32FC1;
+  if (!cimg::strcasecmp(buf.pixel_type(),"double")) matType = CV_64FC1;
+  if (matType<0)
+    throw CImgInstanceException(_cimg_instance
+                                "get_MAT() : pixel type '%s' is not supported.",
+                                cimg_instance,buf.pixel_type());
+  cv::Mat out;
+  std::vector<cv::Mat> channels(nchannels);
+  if (nchannels>1) {
+    for (int c = 0; c<nchannels; ++c) {
+      channels[c] = cv::Mat(rows,cols,matType,const_cast<T*>(buf.data() + rows*cols*(nchannels - 1 - c)));
+    } // for channels
+    cv::merge(channels,out);
+  } else out = cv::Mat(rows,cols,matType,const_cast<T*>(buf.data())).clone();
+  return out;
+}
+
+#endif /* cimg_plugin_cvMat */
diff --git a/plugins/draw_gradient.h b/plugins/draw_gradient.h
new file mode 100644
index 0000000..ebd8ce3
--- /dev/null
+++ b/plugins/draw_gradient.h
@@ -0,0 +1,269 @@
+/*
+ #
+ #  File        : draw_gradient.h
+ #                ( C++ header file - CImg plug-in )
+ #
+ #  Description : Plugin that can be used to draw color gradient on images.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : Jerome Boulanger
+ #                ( http://www.ricam.oeaw.ac.at/people/page.cgi?firstn=Jerome;lastn=Boulanger )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#ifndef cimg_plugin_draw_gradient
+#define cimg_plugin_draw_gradient
+
+// Convert the couple (shape,profile) into a description string
+static inline const char *get_gradient_str(const int shape, const int profile) {
+  static char buf[128];
+  switch(shape) {
+  case 0: std::sprintf(buf,"linear shape and"); break;
+  case 1: std::sprintf(buf,"spheric shape and"); break;
+  case 2: std::sprintf(buf,"conic shape and"); break;
+  case 3: std::sprintf(buf,"square shape and"); break;
+  case 4: std::sprintf(buf,"rectangle (L1) shape and"); break;
+  case 5: std::sprintf(buf,"rectangle (Linf) shape and"); break;
+  case 6: std::sprintf(buf,"Gaussian shape and"); break;
+  default: std::sprintf(buf,"undefined shape and"); break;
+  }
+  switch(profile) {
+  case 0: std::strcat(buf," linear profile"); break;
+  case 1: std::strcat(buf," wave profile"); break;
+  case 2: std::strcat(buf," ring/bar profile"); break;
+  case 3: std::strcat(buf," exponential"); break;
+  case 4: std::strcat(buf," vanishing wave profile"); break;
+  case 5: std::strcat(buf," vanishing ring/bar profile"); break;
+  case 6: std::strcat(buf," circ diffraction (Airy) profile"); break;
+  case 7: std::strcat(buf," rect diffraction (sinc2) profile"); break;
+  default: std::strcat(buf," undefined profile"); break;
+  }
+  return buf;
+}
+
+template<typename tc>
+void _draw_gradient_profile(T *const ptr, const float opacity, const float r,
+                            const tc *const color0, const tc *const color1,
+                            const int profile) {
+  const unsigned int id = (color0?1:0) + (color1?2:0);
+  const tc col0 = color0?*color0:0, col1 = color1?*color1:0;
+  switch(profile) {
+  case 0: { // linear
+    switch(id) { // map the 3 cases
+    case 3: *ptr = (T)((1 - opacity)**ptr + opacity*(col0*(1.f - r) + col1*r)); break;
+    case 1: if (r<1) *ptr = (T)((1 - opacity*(1 - r))**ptr + col0*opacity*(1 - r)); break;
+    case 2: if (r>0) *ptr = (T)((1 - opacity*r)**ptr + col1*opacity*r); break;
+    default: break;
+    }  break;
+  }
+  case 1: { // waves
+    const float f = (1 - (float)std::cos(4.5f*r*2.f*cimg::PI))/2;
+    switch(id) { // map the 3 cases
+    case 3: *ptr = (T)((1 - opacity)**ptr + opacity*(col0*(1.f - f) + col1*f)); break;
+    case 1: if (f<1) *ptr = (T)((1 - opacity*(1 - f))**ptr + col0*opacity*(1 - f)); break;
+    case 2: if (f>0) *ptr = (T)((1 - opacity*f)**ptr + col1*opacity*f); break;
+    default: break;
+    } break;
+  }
+  case 2:{ // ring/bar
+    const float f = (1 + (float)std::cos(r*2.f*cimg::PI))/2;
+    switch(id) { // map the 3 cases
+    case 3: *ptr = (T)((1 - opacity)**ptr + opacity*(col0*(1.f - f) + col1*f)); break;
+    case 1: if (f<1) *ptr = (T)((1 - opacity*(1 - f))**ptr + col0*opacity*(1 - f)); break;
+    case 2: if (f>0) *ptr = (T)((1 - opacity*f)**ptr + col1*opacity*f); break;
+    default: break;
+    } break;
+  }
+  case 3: { // exponential
+    const float f = 1 - (float)std::exp(-r);
+    switch(id) { // map the 3 cases
+    case 3: *ptr = (T)((1 - opacity)**ptr + opacity*(col0*(1.f - f) + col1*f)); break;
+    case 1: if (f<1) *ptr = (T)((1 - opacity*(1 - f))**ptr + col0*opacity*(1 - f)); break;
+    case 2: if (f>0) *ptr = (T)((1 - opacity*f)**ptr + col1*opacity*f); break;
+    default: break;
+    } break;
+  }
+  case 4: { // vanishing wave
+    const float f = (1 - (float)std::cos(4.5f*r*2.f*cimg::PI))/2, o = r<.9f?(float)std::exp(-.5*r*r*12.f):0;
+    switch(id) { // map the 3 cases
+    case 3: if (o>0) *ptr = (T)((1 - o)**ptr + o*(col0*(1.f - f) + col1*f)); break;
+    case 1: if (f<1) *ptr = (T)((1 - o*(1 - f))**ptr + col0*o*(1 - f)); break;
+    case 2: if (f>0) *ptr = (T)((1 - o*f)**ptr + col1*o*f); break;
+    default: break;
+    } break;
+  }
+  case 5: { // vanishing ring/bar
+    const float f = (1 + (float)std::cos(r*2.f*cimg::PI))/2, o = r<.9?(float)std::exp(-.5*r*r*12.f):0;
+    switch(id) { // map the 3 cases
+    case 3: if (o>0) *ptr = (T)((1 - o)**ptr + o*(col0*(1.f - f) + col1*f)); break;
+    case 1: if (f<1) *ptr = (T)((1 - o*(1 - f))**ptr + col0*o*(1 - f)); break;
+    case 2: if (f>0) *ptr = (T)((1 - o*f)**ptr + col1*o*f); break;
+    default: break;
+    } break;
+  }
+  case 6: { // diffraction pattern of a circular aperture (Airy function)
+#define myj1(x) (std::sin((x)<3?(x)*2.2/3:(x) - 0.8)*std::exp(-std::pow((x)/5.0,1/3.0)))
+    const float a = 10*(float)cimg::PI*r, tmp = a<0.2?.5f:((float)myj1(a)/a), f = 1 - 4*tmp*tmp;
+#undef myj1
+    switch(id) { // map the 3 cases
+    case 3: *ptr = (T)((1 - opacity)**ptr + opacity*(col0*(1.f - f) + col1*f)); break;
+    case 1: if (f<1) *ptr = (T)((1 - opacity*(1 - f))**ptr + col0*opacity*(1 - f)); break;
+    case 2: if (f>0) *ptr = (T)((1 - opacity*f)**ptr + col1*opacity*f); break;
+    default: break;
+    }
+    break;
+  }
+  case 7: { // diffraction pattern of a rectangular function (sinc function)
+    const float a = 10*(float)cimg::PI*r, tmp = a==0?1:(float)std::sin(a)/a, f = 1 - tmp*tmp;
+    switch(id) { // map the 3 cases
+    case 3: *ptr = (T)((1 - opacity)**ptr + opacity*(col0*(1.f - f) + col1*f)); break;
+    case 1: if (f<1) *ptr = (T)((1 - opacity*(1 - f))**ptr + col0*opacity*(1 - f)); break;
+    case 2: if (f>0) *ptr = (T)((1 - opacity*f)**ptr + col1*opacity*f); break;
+    default: break;
+    } break;
+  }
+  default:
+    CImgArgumentException("CImg<%s>::draw_gradient : unknown profile parameter",pixel_type()); break;
+  }
+}
+
+//! Draw a gradient with various shape and profile
+/**
+   \param x0 X-coordinate of the 1st control point
+   \param y0 Y-coordinate of the 1st control point
+   \param x1 X-coordinate of the 2nd control point
+   \param y1 Y-coordinate of the 2nd control point
+   \param color0 Array of dimv() values of type \c T, defining the 1st color.
+   \param color1 Array of dimv() values of type \c T, defining the 2nd color.
+   \param shape shape of the gradient (0,3)
+   \param profile  select a profile function (0,7)
+   \param opacity Drawing opacity.
+   \note
+   - if one color is NULL then the gradient is done to transparency
+**/
+template<typename tc>
+CImg<T>& draw_gradient(const int x0, const int y0, const int x1, const int y1,
+		       const tc *const color0, const tc *const color1,
+		       const int shape=0, const int profile=0, const float opacity=1.0f){
+  if (is_empty()) return *this;
+  if (!color0 && !color1)
+    throw CImgArgumentException("CImg<%s>::draw_gradient : The two specified colors are (null).",
+			  pixel_type());
+  if (profile<0 || profile>7) { // catch this case before entering in the for loop
+    CImgArgumentException("CImg<%s>::draw_gradient : unknown profile parameter",pixel_type());
+    return *this;
+  }
+  const float abx = (float)x1 - x0, aby = (float)y1 - y0, ab2 = abx*abx + aby*aby; // pt A=(x0,y0), B=(x1,y1)
+  const tc *pcol0 = color0, *pcol1 = color1;
+  T *ptr = data();
+
+  switch(shape) {
+  case 0: { // linear
+    cimg_forC(*this,v) { cimg_forXYZ(*this,x,y,z) { // point M=(x,z)
+      const float
+        amx = (float)x - x0,
+        amy = (float)y - y0,
+        r = cimg::max(0.f,cimg::min(1.f,(amx*abx + amy*aby)/ab2));
+      _draw_gradient_profile(ptr++,opacity,r,pcol0,pcol1,profile);
+    } if (pcol0) ++pcol0; if (pcol1) ++pcol1; }} break;
+  case 1:{ // radial
+    cimg_forC(*this,v) { cimg_forXYZ(*this,x,y,z) {
+      const float
+        amx = (float)x - x0,
+        amy = (float)y - y0,
+        r = cimg::max(0.f,cimg::min(1.f,(amx*amx + amy*amy)/ab2));
+      _draw_gradient_profile(ptr++,opacity,r,pcol0,pcol1,profile);
+     } if (pcol0) ++pcol0; if (pcol1) ++pcol1; }} break;
+  case 2:{ // radial cone
+    cimg_forC(*this,v) { cimg_forXYZ(*this,x,y,z) {
+      const float
+        amx = (float)x - x0,
+        amy = (float)y - y0,
+        r = cimg::max(0.f,cimg::min(1.f,(float)std::sqrt((amx*amx + amy*amy)/ab2)));
+      _draw_gradient_profile(ptr++,opacity,r,pcol0,pcol1,profile);
+    } if (pcol0) ++pcol0; if (pcol1) ++pcol1; }} break;
+  case 3:{ // square
+    cimg_forC(*this,v) { cimg_forXYZ(*this,x,y,z) {
+      const float
+        amx = (float)x - x0,
+        amy = (float)y - y0,
+        r=cimg::max(0.f,cimg::min(1.f,(cimg::abs(amx*abx + amy*aby) + cimg::abs(amx*aby - amy*abx))/ab2));
+      _draw_gradient_profile(ptr++,opacity,r,pcol0,pcol1,profile);
+    } if (pcol0) ++pcol0; if (pcol1) ++pcol1; }} break;
+  case 4:{ // rectangle (L1)
+    cimg_forC(*this,v) { cimg_forXYZ(*this,x,y,z) {
+      const float
+        amx = (float)x - x0,
+        amy = (float)y - y0,
+	r = cimg::max(0.f,cimg::min(1.f,(cimg::abs(amx/abx) + cimg::abs(amy/aby))));
+      _draw_gradient_profile(ptr++,opacity,r,pcol0,pcol1,profile);
+    } if (pcol0) ++pcol0; if (pcol1) ++pcol1; }} break;
+   case 5:{ // rectangle (Linf)
+    cimg_forC(*this,v) { cimg_forXYZ(*this,x,y,z) {
+      const float
+        amx = (float)x - x0,
+        amy = (float)y - y0,
+	r=cimg::max(0.f,cimg::min(1.f,cimg::max(cimg::abs(amx/abx),cimg::abs(amy/aby))));
+      _draw_gradient_profile(ptr++,opacity,r,pcol0,pcol1,profile);
+    } if (pcol0) ++pcol0; if (pcol1) ++pcol1; }} break;
+  case 6:{ // gaussian
+    cimg_forC(*this,v) { cimg_forXYZ(*this,x,y,z) {
+      const float
+        amx = (float)x - x0,
+        amy = (float)y - y0,
+        r = cimg::max(0.f,cimg::min(1.f,1 - (float)std::exp(-(amx*amx + amy*amy)/ab2)));
+      _draw_gradient_profile(ptr++,opacity,r,pcol0,pcol1,profile);
+    } if (pcol0) ++pcol0; if (pcol1) ++pcol1; }} break;
+  default:
+    CImgArgumentException("CImg<%s>::draw_gradient : unknown shape parameter",pixel_type()); break;
+  }
+  return *this;
+}
+
+template<typename tc>
+CImg<T>& draw_gradient(const int x0, const int y0, const int x1, const int y1,
+		       const tc *const color0, const int color1,
+		       const int shape=0, const int profile=0, const float opacity=1.0f) {
+  cimg::unused(color1);
+  return (*this).draw_gradient(x0,y0,x1,y1,color0,(tc*)0,shape,profile,opacity);
+}
+
+template<typename tc>
+CImg<T>& draw_gradient(const int x0, const int y0, const int x1, const int y1,
+		       const int color0, const tc *const color1,
+		       const int shape=0, const int profile=0, const float opacity=1.0f) {
+  cimg::unused(color0);
+  return (*this).draw_gradient(x0,y0,x1,y1,(tc*)0,color1,shape,profile,opacity);
+}
+
+#endif /* cimg_draw_gradient */
diff --git a/plugins/inpaint.h b/plugins/inpaint.h
new file mode 100644
index 0000000..350a9e0
--- /dev/null
+++ b/plugins/inpaint.h
@@ -0,0 +1,500 @@
+/*
+ #
+ #  File        : inpaint.h
+ #                ( C++ header file - CImg plug-in )
+ #
+ #  Copyright   : David Tschumperlé
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ # Description  :
+ #
+ # This plug-in implements the patch-based inpainting algorithm for 2d images, as
+ # described in the two following publications :
+ #
+ # "A Smarter Examplar-based Inpainting Algorithm using Local and Global Heuristics
+ #  for more Geometric Coherence."
+ # (M. Daisy, P. Buyssens, D. Tschumperlé, O. Lezoray).
+ # IEEE International Conference on Image Processing (ICIP'14), Paris/France, Oct. 2014
+ #
+ # and
+ #
+ # "A Fast Spatial Patch Blending Algorithm for Artefact Reduction in Pattern-based
+ #  Image Inpainting."
+ # (M. Daisy, D. Tschumperlé, O. Lezoray).
+ # SIGGRAPH Asia 2013 Technical Briefs, Hong-Kong, November 2013.
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+#ifndef cimg_plugin_inpaint
+#define cimg_plugin_inpaint
+
+template<typename t>
+CImg<T>& inpaint_patch(const CImg<t>& mask, const unsigned int patch_size=11,
+                       const unsigned int lookup_size=22, const float lookup_factor=1,
+                       const int lookup_increment=1,
+                       const unsigned int blend_size=0, const float blend_threshold=0.5f,
+                       const float blend_decay=0.02, const unsigned int blend_scales=10,
+                       const bool is_blend_outer=false) {
+  if (depth()>1)
+    throw CImgInstanceException(_cimg_instance
+                                "inpaint_patch(): Instance image is volumetric (should be 2d).",
+                                cimg_instance);
+  if (!is_sameXYZ(mask))
+    throw CImgArgumentException(_cimg_instance
+                                "inpaint_patch() : Sizes of instance image and specified mask "
+                                "(%u,%u,%u,%u) do not match.",
+                                cimg_instance,
+                                mask._width,mask._height,mask._depth,mask._spectrum);
+  if (!patch_size)
+    throw CImgArgumentException(_cimg_instance
+                                "inpaint_patch() : Specified patch size is 0, must be strictly "
+                                "positive.",
+                                cimg_instance);
+  if (!lookup_size)
+    throw CImgArgumentException(_cimg_instance
+                                "inpaint_patch() : Specified lookup size is 0, must be strictly "
+                                "positive.",
+                                cimg_instance);
+  if (lookup_factor<0)
+    throw CImgArgumentException(_cimg_instance
+                                "inpaint_patch() : Specified lookup factor %g is negative, must be "
+                                "positive.",
+                                cimg_instance,
+                                lookup_factor);
+  if (!lookup_increment)
+    throw CImgArgumentException(_cimg_instance
+                                "inpaint_patch() : Specified lookup increment is 0, must be "
+                                "strictly positive.",
+                                cimg_instance);
+  if (blend_decay<0)
+    throw CImgArgumentException(_cimg_instance
+                                "inpaint_patch() : Specified blend decay %g is negative, must be "
+                                "positive.",
+                                cimg_instance,
+                                blend_decay);
+
+  // Find (dilated by 2) bounding box for the inpainting mask.
+  unsigned int xm0 = _width, ym0 = _height, xm1 = 0, ym1 = 0;
+  bool is_mask_found = false;
+  cimg_forXY(mask,x,y) if (mask(x,y)) {
+    is_mask_found = true;
+    if (x<(int)xm0) xm0 = (unsigned int)x;
+    if (x>(int)xm1) xm1 = (unsigned int)x;
+    if (y<(int)ym0) ym0 = (unsigned int)y;
+    if (y>(int)ym1) ym1 = (unsigned int)y;
+  }
+  if (!is_mask_found) return *this;
+  xm0 = xm0>2?xm0 - 2:0;
+  ym0 = ym0>2?ym0 - 2:0;
+  xm1 = xm1<_width - 3?xm1 + 2:_width - 1;
+  ym1 = ym1<_height - 3?ym1 + 2:_height - 1;
+  int ox = xm0, oy = ym0;
+  unsigned int dx = xm1 - xm0 + 1U, dy = ym1 - ym0 + 1U;
+
+  // Construct normalized version of the mask.
+  CImg<ucharT> nmask(dx,dy);
+  unsigned char *ptrM = nmask.data();
+  cimg_for_inXY(mask,xm0,ym0,xm1,ym1,x,y) *(ptrM++) = mask(x,y)?0:1;
+  xm0 = ym0 = 0; xm1 = dx - 1; ym1 = dy - 1;
+
+  // Start patch filling algorithm.
+  const int p2 = (int)patch_size/2, p1 = (int)patch_size - p2 - 1;
+  const unsigned int patch_size2 = patch_size*patch_size;
+  unsigned int _lookup_size = lookup_size, nb_lookups = 0, nb_fails = 0, nb_saved_patches = 0;
+  bool is_strict_search = true;
+  const float one = 1;
+
+  CImg<floatT> confidences(nmask), priorities(dx,dy,1,2,-1), pC;
+  CImg<unsigned int> saved_patches(4,256), is_visited(width(),height(),1,1,0);
+  CImg<ucharT> pM, pN;  // Pre-declare patch variables (avoid iterative memory alloc/dealloc).
+  CImg<T> pP, pbest;
+  CImg<floatT> weights(patch_size,patch_size,1,1,0);
+  weights.draw_gaussian((float)p1,(float)p1,patch_size/15.0f,&one)/=patch_size2;
+  unsigned int target_index = 0;
+
+  while (true) {
+
+    // Extract mask border points and compute priorities to find target point.
+    unsigned int nb_border_points = 0;
+    float target_confidence = -1, target_priority = -1;
+    int target_x = -1, target_y = -1;
+    CImg_5x5(M,unsigned char);
+
+    cimg_for_in5x5(nmask,xm0,ym0,xm1,ym1,x,y,0,0,M,unsigned char)
+      if (!Mcc && (Mcp || Mcn || Mpc || Mnc)) { // Found mask border point.
+
+        float confidence_term = -1, data_term = -1;
+        if (priorities(x,y)>=0) { // If priority has already been computed.
+          confidence_term = priorities(x,y,0);
+          data_term = priorities(x,y,1);
+        } else { // If priority must be computed/updated.
+
+          // Compute smoothed normal vector.
+          const float
+            // N = smoothed 3x3 neighborhood of M.
+            Npc = (4.0f*Mpc + 2.0f*Mbc + 2.0f*Mcc + 2.0f*Mpp + 2.0f*Mpn + Mbp + Mbn + Mcp + Mcn)/16,
+            Nnc = (4.0f*Mnc + 2.0f*Mac + 2.0f*Mcc + 2.0f*Mnp + 2.0f*Mnn + Map + Man + Mcp + Mcn)/16,
+            Ncp = (4.0f*Mcp + 2.0f*Mcb + 2.0f*Mcc + 2.0f*Mpp + 2.0f*Mnp + Mpb + Mnb + Mpc + Mnc)/16,
+            Ncn = (4.0f*Mcn + 2.0f*Mca + 2.0f*Mcc + 2.0f*Mpn + 2.0f*Mnn + Mpa + Mna + Mpc + Mnc)/16,
+            _nx = 0.5f*(Nnc - Npc),
+            _ny = 0.5f*(Ncn - Ncp),
+            nn = std::sqrt(1e-8f + _nx*_nx + _ny*_ny),
+            nx = _nx/nn,
+            ny = _ny/nn;
+
+          // Compute confidence term.
+          nmask._inpaint_patch_crop(x - p1,y - p1,x + p2,y + p2,1).move_to(pM);
+          confidences._inpaint_patch_crop(x - p1,y - p1,x + p2,y + p2,1).move_to(pC);
+          confidence_term = 0;
+          const unsigned char *ptrM = pM.data();
+          cimg_for(pC,ptrC,float) confidence_term+=*ptrC**(ptrM++);
+          confidence_term/=patch_size2;
+          priorities(x,y,0) = confidence_term;
+
+          // Compute data term.
+          _inpaint_patch_crop(ox + x - p1,oy + y - p1,ox + x + p2,oy + y + p2,2).move_to(pP);
+          float mean_ix2 = 0, mean_ixiy = 0, mean_iy2 = 0;
+
+          CImg_3x3(I,T);
+          CImg_3x3(_M, unsigned char);
+          cimg_forC(pP,c) cimg_for3x3(pP,p,q,0,c,I,T) {
+            // Compute weight-mean of structure tensor inside patch.
+            cimg_get3x3(pM,p,q,0,0,_M,unsigned char);
+            const float
+              ixf = (float)(_Mnc*_Mcc*(Inc - Icc)),
+              iyf = (float)(_Mcn*_Mcc*(Icn - Icc)),
+              ixb = (float)(_Mcc*_Mpc*(Icc - Ipc)),
+              iyb = (float)(_Mcc*_Mcp*(Icc - Icp)),
+              ix = cimg::abs(ixf)>cimg::abs(ixb)?ixf:ixb,
+              iy = cimg::abs(iyf)>cimg::abs(iyb)?iyf:iyb,
+              w = weights(p,q);
+            mean_ix2 += w*ix*ix;
+            mean_ixiy += w*ix*iy;
+            mean_iy2 += w*iy*iy;
+          }
+          const float // Compute tensor-directed data term.
+            ux = mean_ix2*(-ny) + mean_ixiy*nx,
+            uy = mean_ixiy*(-ny) + mean_iy2*nx;
+          data_term = std::sqrt(ux*ux + uy*uy);
+          priorities(x,y,1) = data_term;
+        }
+        const float priority = confidence_term*data_term;
+        if (priority>target_priority) {
+          target_priority = priority; target_confidence = confidence_term;
+          target_x = ox + x; target_y = oy + y;
+        }
+        ++nb_border_points;
+      }
+    if (!nb_border_points) break; // No more mask border points to inpaint!
+
+    // Locate already reconstructed neighbors (if any), to get good origins for patch lookup.
+    CImg<unsigned int> lookup_candidates(2,256);
+    unsigned int nb_lookup_candidates = 0, *ptr_lookup_candidates = lookup_candidates.data();
+    const unsigned int *ptr_saved_patches = saved_patches.data();
+    const int
+      x0 = target_x - (int)patch_size, y0 = target_y - (int)patch_size,
+      x1 = target_x + (int)patch_size, y1 = target_y + (int)patch_size;
+    for (unsigned int k = 0; k<nb_saved_patches; ++k) {
+      const unsigned int
+        src_x = *(ptr_saved_patches++), src_y = *(ptr_saved_patches++),
+        dest_x = *(ptr_saved_patches++), dest_y = *(ptr_saved_patches++);
+      if ((int)dest_x>=x0 && (int)dest_y>=y0 && (int)dest_x<=x1 && (int)dest_y<=y1) {
+        const int off_x = target_x - dest_x, off_y = target_y - dest_y;
+        *(ptr_lookup_candidates++) = src_x + off_x;
+        *(ptr_lookup_candidates++) = src_y + off_y;
+        if (++nb_lookup_candidates>=lookup_candidates._height)
+          lookup_candidates.resize(2,-200,1,1,0);
+      }
+    }
+    // Add also target point as a center for the patch lookup.
+    *(ptr_lookup_candidates++) = target_x;
+    *(ptr_lookup_candidates++) = target_y;
+    ++nb_lookup_candidates;
+
+    // Divide size of lookup regions if several lookup sources have been detected.
+    unsigned int final_lookup_size = _lookup_size;
+    if (nb_lookup_candidates>1) {
+      const unsigned int
+        _final_lookup_size = (unsigned int)cimg::round(_lookup_size*lookup_factor/
+                                                       std::sqrt((float)nb_lookup_candidates),1,1);
+      final_lookup_size = _final_lookup_size + 1 - (_final_lookup_size%2);
+    }
+    const int l2 = (int)final_lookup_size/2, l1 = (int)final_lookup_size - l2 - 1;
+
+#ifdef gmic_debug
+    CImg<ucharT> visu(*this,false);
+    for (unsigned int C = 0; C<nb_lookup_candidates; ++C) {
+      const int
+        xl = lookup_candidates(0,C),
+        yl = lookup_candidates(1,C);
+      visu.draw_rectangle(xl - l1,yl - l1,xl + l2,yl + l2,CImg<ucharT>::vector(0,255,0).data(),0.2f);
+    }
+    visu.draw_rectangle(target_x - p1,target_y - p1,target_x + p2,target_y + p2,
+                        CImg<ucharT>::vector(255,0,0).data(),0.5f);
+    static int foo = 0;
+    if (!(foo%1)) {
+      //      visu.save("video.ppm",foo);
+      static CImgDisplay disp_debug;
+      disp_debug.display(visu).set_title("DEBUG");
+    }
+    ++foo;
+#endif // #ifdef gmic_debug
+
+    // Find best patch candidate to fill target point.
+    _inpaint_patch_crop(target_x - p1,target_y - p1,target_x + p2,target_y + p2,0).move_to(pP);
+    nmask._inpaint_patch_crop(target_x - ox - p1,target_y - oy - p1,target_x - ox + p2,target_y - oy  + p2,0).
+      move_to(pM);
+    ++target_index;
+    const unsigned int
+      _lookup_increment = (unsigned int)(lookup_increment>0?lookup_increment:
+                                         nb_lookup_candidates>1?1:-lookup_increment);
+    float best_ssd = cimg::type<float>::max();
+    int best_x = -1, best_y = -1;
+    for (unsigned int C = 0; C<nb_lookup_candidates; ++C) {
+      const int
+        xl = (int)lookup_candidates(0,C),
+        yl = (int)lookup_candidates(1,C),
+        x0 = cimg::max(p1,xl - l1), y0 = cimg::max(p1,yl - l1),
+        x1 = cimg::min(width() - 1 - p2,xl + l2), y1 = cimg::min(height() - 1 - p2,yl + l2);
+      for (int y = y0; y<=y1; y+=_lookup_increment)
+        for (int x = x0; x<=x1; x+=_lookup_increment) if (is_visited(x,y)!=target_index) {
+            if (is_strict_search) mask._inpaint_patch_crop(x - p1,y - p1,x + p2,y + p2,1).move_to(pN);
+            else nmask._inpaint_patch_crop(x - ox - p1,y - oy - p1,x - ox + p2,y - oy + p2,0).move_to(pN);
+            if ((is_strict_search && pN.sum()==0) || (!is_strict_search && pN.sum()==patch_size2)) {
+              _inpaint_patch_crop(x - p1,y - p1,x + p2,y + p2,0).move_to(pC);
+              float ssd = 0;
+              const T *_pP = pP._data;
+              const float *_pC = pC._data;
+              cimg_for(pM,_pM,unsigned char) { if (*_pM) {
+                  cimg_forC(pC,c) {
+                    ssd+=cimg::sqr((Tfloat)*_pC - (Tfloat)*_pP); _pC+=patch_size2; _pP+=patch_size2;
+                  }
+                  if (ssd>=best_ssd) break;
+                  _pC-=pC._spectrum*patch_size2;
+                  _pP-=pC._spectrum*patch_size2;
+                }
+                ++_pC; ++_pP;
+              }
+              if (ssd<best_ssd) { best_ssd = ssd; best_x = x; best_y = y; }
+            }
+            is_visited(x,y) = target_index;
+          }
+    }
+
+    if (best_x<0) { // If no best patch found.
+      priorities(target_x - ox,target_y - oy,0)/=10; // Reduce its priority (lower data_term).
+      if (++nb_fails>=4) { // If too much consecutive fails :
+        nb_fails = 0;
+        _lookup_size+=_lookup_size/2; // Try to expand the lookup size.
+        if (++nb_lookups>=3) {
+          if (is_strict_search) { // If still fails, switch to non-strict search mode.
+            is_strict_search = false;
+            _lookup_size = lookup_size;
+            nb_lookups = 0;
+          }
+          else return *this; // Pathological case, probably a weird mask.
+        }
+      }
+    } else { // Best patch found -> reconstruct missing part on the target patch.
+      _lookup_size = lookup_size;
+      nb_lookups = nb_fails = 0;
+      _inpaint_patch_crop(best_x - p1,best_y - p1,best_x + p2,best_y + p2,0).move_to(pbest);
+      nmask._inpaint_patch_crop(target_x - ox - p1,target_y - oy - p1,target_x - ox + p2,target_y - oy + p2,1).
+        move_to(pM);
+      cimg_for(pM,ptr,unsigned char) *ptr=1 - *ptr;
+      draw_image(target_x - p1,target_y - p1,pbest,pM,1,1);
+      confidences.draw_image(target_x - ox - p1,target_y - oy - p1,pC.fill(target_confidence),pM,1,1);
+      nmask.draw_rectangle(target_x - ox - p1,target_y - oy - p1,0,0,target_x - ox + p2,target_y - oy + p2,0,0,1);
+      priorities.draw_rectangle(target_x - ox - (int)patch_size,
+                                target_y - oy - (int)patch_size,0,0,
+                                target_x - ox + 3*p2/2,
+                                target_y - oy + 3*p2/2,0,0,-1);
+      // Remember patch positions.
+      unsigned int *ptr_saved_patches = saved_patches.data(0,nb_saved_patches);
+      *(ptr_saved_patches++) = best_x;
+      *(ptr_saved_patches++) = best_y;
+      *(ptr_saved_patches++) = target_x;
+      *ptr_saved_patches = target_y;
+      if (++nb_saved_patches>=saved_patches._height) saved_patches.resize(4,-200,1,1,0);
+    }
+  }
+  nmask.assign();  // Free some unused memory resources.
+  priorities.assign();
+  confidences.assign();
+  is_visited.assign();
+
+  // Blend inpainting result (if requested), using multi-scale blending algorithm.
+  if (blend_size && blend_scales) {
+    const float _blend_threshold = cimg::max(0.0f,cimg::min(1.0f,blend_threshold));
+    saved_patches._height = nb_saved_patches;
+
+    // Re-crop image and mask if outer blending is activated.
+    if (is_blend_outer) {
+      const int
+        b2 = (int)blend_size/2, b1 = (int)blend_size - b2 - 1,
+        xb0 = cimg::max(0,ox - b1),
+        yb0 = cimg::max(0,oy - b1),
+        xb1 = cimg::min(_width - 1,xb0 + dx + b1 + b2),
+        yb1 = cimg::min(_height - 1,yb0 + dy + b1 + b2);
+      ox = xb0; oy = yb0; dx = xb1 - xb0 + 1U, dy = yb1 - yb0 + 1U;
+    }
+
+    // Generate map of source offsets.
+    CImg<unsigned int> offsets(dx,dy,1,2);
+    unsigned int *ptr = saved_patches.end();
+    cimg_forY(saved_patches,i) {
+      const unsigned int yd = *(--ptr), xd = *(--ptr), ys = *(--ptr), xs = *(--ptr);
+      for (int l = -p1; l<=p2; ++l)
+        for (int k = -p1; k<=p2; ++k) {
+          const int xdk = xd + k, ydl = yd + l;
+          if (xdk>=0 && xdk<=width() - 1 && ydl>=0 && ydl<=height() - 1 && mask(xd + k,yd + l)) {
+            offsets(xd - ox + k,yd - oy + l,0) = xs + k;
+            offsets(xd - ox + k,yd - oy + l,1) = ys + l;
+          }
+        }
+    }
+    unsigned int *ptrx = offsets.data(0,0,0,0), *ptry = offsets.data(0,0,0,1);
+    cimg_forXY(offsets,x,y) {
+      if (!mask(x + ox,y + oy)) { *ptrx = x + ox; *ptry = y + oy; }
+      ++ptrx; ++ptry;
+    }
+
+    // Generate map of local blending amplitudes.
+    CImg<floatT> blend_map(dx,dy,1,1,0);
+    CImg_3x3(I,float);
+    cimg_for3XY(offsets,x,y) if (mask(x + ox,y + oy)) {
+      const float
+        iox = cimg::max((float)offsets(_n1x,y,0) - offsets(x,y,0),
+                        (float)offsets(x,y,0) - offsets(_p1x,y,0)),
+        ioy = cimg::max((float)offsets(x,_n1y,1) - offsets(x,y,1),
+                        (float)offsets(x,y,1) - offsets(x,_p1y,1)),
+        ion = std::sqrt(iox*iox + ioy*ioy);
+      float iin = 0;
+      cimg_forC(*this,c) {
+        cimg_get3x3(*this,x,y,0,c,I,float);
+        const float
+          iix = (float)cimg::max(Inc - Icc,Icc - Ipc),
+          iiy = (float)cimg::max(Icn - Icc,Icc - Icp);
+        iin+=std::log(1 + iix*iix + iiy*iiy);
+      }
+      iin/=_spectrum;
+      blend_map(x,y) = ion*iin;
+    }
+    blend_map.threshold(blend_map.max()*_blend_threshold).distance(1);
+    cimg_forXY(blend_map,x,y) blend_map(x,y) = 1/(1 + blend_decay*blend_map(x,y));
+    blend_map.quantize(blend_scales + 1,false);
+    float bm, bM = blend_map.max_min(bm);
+    if (bm==bM) blend_map.fill((float)blend_scales);
+
+    // Generate blending scales.
+    CImg<T> result = _inpaint_patch_crop(ox,oy,ox + dx - 1,oy + dy - 1,0);
+    for (unsigned int blend_iter = 1; blend_iter<=blend_scales; ++blend_iter) {
+      const unsigned int
+        _blend_width = blend_iter*blend_size/blend_scales,
+        blend_width = _blend_width?_blend_width + 1 - (_blend_width%2):0;
+      if (!blend_width) continue;
+      const int b2 = (int)blend_width/2, b1 = (int)blend_width - b2 - 1;
+      CImg<floatT>
+        blended = _inpaint_patch_crop(ox,oy,ox + dx - 1,oy + dy - 1,0),
+        cumul(dx,dy,1,1);
+      weights.assign(blend_width,blend_width,1,1,0).
+        draw_gaussian((float)b1,(float)b1,blend_width/4.0f,&one);
+      cimg_forXY(cumul,x,y) cumul(x,y) = mask(x + ox,y + oy)?0.0f:1.0f;
+      blended.mul(cumul);
+
+      cimg_forY(saved_patches,l) {
+        const unsigned int *ptr = saved_patches.data(0,l);
+        const int
+          xs = (int)*(ptr++),
+          ys = (int)*(ptr++),
+          xd = (int)*(ptr++),
+          yd = (int)*(ptr++);
+        if (xs - b1<0 || ys - b1<0 || xs + b2>=width() || ys + b2>=height()) { // Blend with partial patch.
+          const int
+            xs0 = cimg::max(0,xs - b1),
+            ys0 = cimg::max(0,ys - b1),
+            xs1 = cimg::min(width() - 1,xs + b2),
+            ys1 = cimg::min(height() - 1,ys + b2);
+          _inpaint_patch_crop(xs0,ys0,xs1,ys1,0).move_to(pP);
+          weights._inpaint_patch_crop(xs0 - xs + b1,ys0 - ys + b1,xs1 - xs + b1,ys1 - ys + b1,0).move_to(pC);
+          blended.draw_image(xd + xs0 - xs - ox,yd + ys0 - ys - oy,pP,pC,-1);
+          cumul.draw_image(xd + xs0 - xs - ox,yd + ys0 - ys - oy,pC,-1);
+        } else { // Blend with full-size patch.
+          _inpaint_patch_crop(xs - b1,ys - b1,xs + b2,ys + b2,0).move_to(pP);
+          blended.draw_image(xd - b1 - ox,yd - b1 - oy,pP,weights,-1);
+          cumul.draw_image(xd - b1 - ox,yd - b1 - oy,weights,-1);
+        }
+      }
+
+      if (is_blend_outer) {
+        cimg_forXY(blended,x,y) if (blend_map(x,y)==blend_iter) {
+          const float cum = cumul(x,y);
+          if (cum>0) cimg_forC(*this,c) result(x,y,c) = (T)(blended(x,y,c)/cum);
+        }
+      } else { cimg_forXY(blended,x,y) if (mask(x + ox,y + oy) && blend_map(x,y)==blend_iter) {
+          const float cum = cumul(x,y);
+          if (cum>0) cimg_forC(*this,c) result(x,y,c) = (T)(blended(x,y,c)/cum);
+        }
+      }
+    }
+    if (is_blend_outer) draw_image(ox,oy,result);
+    else cimg_forXY(result,x,y) if (mask(x + ox,y + oy))
+           cimg_forC(*this,c) (*this)(x + ox,y + oy,c) = (T)result(x,y,c);
+  }
+  return *this;
+}
+
+// Special crop function that supports more boundary conditions :
+// 0=dirichlet (with value 0), 1=dirichlet (with value 1) and 2=neumann.
+CImg<T> _inpaint_patch_crop(const int x0, const int y0, const int x1, const int y1,
+                            const unsigned int boundary=0) const {
+  const int
+    nx0 = x0<x1?x0:x1, nx1 = x0^x1^nx0,
+    ny0 = y0<y1?y0:y1, ny1 = y0^y1^ny0;
+  CImg<T> res(1U + nx1 - nx0,1U + ny1 - ny0,1,_spectrum);
+  if (nx0<0 || nx1>=width() || ny0<0 || ny1>=height()) {
+    if (boundary>=2) cimg_forXYZC(res,x,y,z,c) res(x,y,z,c) = _atXY(nx0 + x,ny0 + y,z,c);
+    else res.fill((T)boundary).draw_image(-nx0,-ny0,*this);
+  } else res.draw_image(-nx0,-ny0,*this);
+  return res;
+}
+
+template<typename t>
+CImg<T> get_inpaint_patch(const CImg<t>& mask, const unsigned int patch_size=11,
+                          const unsigned int lookup_size=22, const float lookup_factor=1,
+                          const int lookup_increment=1,
+                          const unsigned int blend_size=0, const float blend_threshold=0.5,
+                          const float blend_decay=0.02f, const unsigned int blend_scales=10,
+                          const bool is_blend_outer=false) const {
+  return (+*this).inpaint_patch(mask,patch_size,lookup_size,lookup_factor,lookup_increment,
+                                blend_size,blend_threshold,blend_decay,blend_scales,is_blend_outer);
+}
+
+#endif /* cimg_plugin_inpaint */
diff --git a/plugins/ipl.h b/plugins/ipl.h
new file mode 100644
index 0000000..a544d21
--- /dev/null
+++ b/plugins/ipl.h
@@ -0,0 +1,309 @@
+/*
+#
+#  File        : ipl.h
+#                ( C++ header file - CImg plug-in )
+#
+#  Description : CImg plug-in providing the CImg->IPL and IPL->CImg
+#                conversions for generic image types
+#                ( IPL = Intel Performance Library )
+#                This file is a part of the CImg Library project.
+#                ( http://cimg.eu )
+#
+#  Copyright   : Hon-Kwok Fung (oldfung at graduate.hku.hk)
+#
+#  License     : CeCILL v2.0
+#                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+#
+#  This software is governed by the CeCILL  license under French law and
+#  abiding by the rules of distribution of free software.  You can  use,
+#  modify and/ or redistribute the software under the terms of the CeCILL
+#  license as circulated by CEA, CNRS and INRIA at the following URL
+#  "http://www.cecill.info".
+#
+#  As a counterpart to the access to the source code and  rights to copy,
+#  modify and redistribute granted by the license, users are provided only
+#  with a limited warranty  and the software's author,  the holder of the
+#  economic rights,  and the successive licensors  have only  limited
+#  liability.
+#
+#  In this respect, the user's attention is drawn to the risks associated
+#  with loading,  using,  modifying and/or developing or reproducing the
+#  software by the user in light of its specific status of free software,
+#  that may mean  that it is complicated to manipulate,  and  that  also
+#  therefore means  that it is reserved for developers  and  experienced
+#  professionals having in-depth computer knowledge. Users are therefore
+#  encouraged to load and test the software's suitability as regards their
+#  requirements in conditions enabling the security of their systems and/or
+#  data to be ensured and,  more generally, to use and operate it in the
+#  same conditions as regards security.
+#
+#  The fact that you are presently reading this means that you have had
+#  knowledge of the CeCILL license and that you accept its terms.
+#
+#
+#
+# Usage        :
+#
+# In your application code, #define the path of this plugin file as
+# something like
+#
+#   #define cimg_plugin1 "../some_directory/ipl.h"
+#
+# You should define such macro before the line #include <CImg.h>.  The source
+# code of CImg provides eight slots cimg_plugin1, cimg_plugin2, ...,
+# cimg_plugin8 for insertion of plugins.  You may assign a different slot to
+# this plugin if cimg_plugin1 is already occupied.
+#
+# You need also to include prior to CImg.h the following files :
+#
+#   #include <cstdlib>
+#   #include <typeinfo>
+#
+# To create an IplImage from a CImg instance, you may write:
+#
+#   // Given a CImg instance, say, c_img, ...
+#   IplImage *img = c_img.get_IplImage();  // (a) copy construction of IplImage
+#
+# CImg supports any number of color channels, while IplImage supports up to 4
+# channels.  When the number of channels is 1 or 2, it is hard to tell if these
+# channels have genuine color semantics.  Even if the number of channels is 3,
+# CImg and IplImage can have different channel orders (IplImage: usually BGR;
+# CImg: always RGB).  The default behaviour of get_IplImage() is to assume that
+# the IplImage instance has a BGR channel order (which is the default order in
+# OpenCV) and swap the channel order in the destination image buffer. That is,
+# the default is to map OpenCV's blue (1st) and red (3rd) channels to CImg's
+# blue (2nd) and red (0th) channel respectively.  If the user wants to specify
+# this default option explicitly, he/she can write:
+#
+#   IplImage *img = c_img.get_IplImage(CV_CVTIMG_SWAP_RB);  // identical to (a)
+#
+# where CV_CVTIMG_SWAP_RB is a flag value defined by OpenCV.  If the user wants
+# to keep the channel order unchanged (i.e. maps IplImage's 1st, 2nd, ...
+# channels to CImg's 0th, 1st, ... channels resp.), he/she can use a zero flag
+# value:
+#
+#   IplImage *img = c_img.get_IplImage(0);
+#
+# However, when the number of channels is smaller than 3, this option will be
+# ignored and the default behaviour (flag value CV_CVTIMG_SWAP_RB) will be
+# assumed.
+#
+# CImg also differs from IplImage in that the latter represents a 2D image but
+# the former can be a 3D image.  If the size of the z-dimension (depth) of the
+# CImg instance is larger than 1, one must choose which slice to copy:
+#
+#   IplImage *img1 = c_img.get_IplImage(0, z);
+#   IplImage *img2 = c_img.get_IplImage(CV_CVTIMG_SWAP_RB, z);
+#
+# The default z-value is 0.
+#
+# To do conversion in another direction, write something like this:
+#
+#   // Suppose img1 and img2 are two pointers to IplImage, where
+#   // img1->depth == IPL_DEPTH_8U and img2->depth == IPL_DEPTH_32F.
+#   CImg<unsigned char> c_img1(img1);                    // (b)
+#   CImg<unsigned char> c_img1(img1,CV_CVTIMG_SWAP_RB);  // identical to (b)
+#   CImg<float>         c_img2(img2);                    // (c)
+#   CImg<float>         c_img2(img2,CV_CVTIMG_SWAP_RB);  // identical to (c)
+#
+# Again, if one wants to keep the channel order unchanged when the number of
+# channels is >= 3, one can write:
+#
+#   CImg<unsigned char> c_img1(img1,0);
+#   CImg<float>         c_img2(img2,0);
+#
+# All such conversions are deep copy constructions, because CImg and IplImage
+# have different internal memory layouts.
+#
+# Technically, we can write code to do conversion between an IplImage instance
+# and a CImg instance with different pixel types (e.g. between an IPL_DEPTH_8S
+# IplImage instance and a CImg<unsigned char> instance), but such conversion is
+# problematic because either the semantics of the pixel type is lost or some
+# casting is needed.  Therefore, the conversion code in this plugin only allows
+# conversions of images of identical pixel types.  For instance, in line (b) of
+# the example code above, if one writes
+#
+#   CImg<char> c_img1(img1);  // error; img1's pixel type is IPL_DEPTH_8U
+#
+# the conversion will generate a runtime error, despite sizeof(char) is equal
+# to sizeof(unsigned char).  The is certainly inconvenient to some users as
+# the pixel type of CImg has to be defined at compile time but the pixel type
+# of IplImage is determined at runtime.
+#
+# Some architecture-dependent code is contained in the two helper functions
+#
+#    bool not_pixel_type_of(const IplImage*)
+#
+# and
+#
+#    int get_ipl_bit_depth() const
+#
+# which establish correspondences between IplImage's pixel type and C++ data
+# type.  For example, they assume that IPL_DEPTH_16S corresponds to a signed
+# short and IPL_DEPTH_64F corresponds to a signed double, etc..  Change the
+# code if necessary.
+#
+# Currently, this plugin provides only conversions of OpenCV IplImage instances
+# to and from CImg instances.  Conversions of general IplImage instances (e.g.
+# those with bit-depth IPL_DEPTH_1U or those with origin==1) are not supported.
+# Yet the conversion code has taken care of the data alignment to 4-byte or
+# 8-byte boundary as well as the use of both interleaved and non-interleaved
+# color channels in IplImage.
+*/
+
+#ifndef cimg_plugin_ipl
+#define cimg_plugin_ipl
+
+//----------------------------
+// Architecture-dependent helper functions; change to suit your needs
+//----------------------------
+
+// Check if this CImg<T> instance and a given IplImage have identical pixel types.
+bool not_pixel_type_of(const IplImage *const img) const {
+  // to do : handle IPL_DEPTH_1U?
+  return (((unsigned int)img->depth == IPL_DEPTH_8U  && typeid(T) != typeid(unsigned char)) ||
+          ((unsigned int)img->depth == IPL_DEPTH_8S  && typeid(T) != typeid(char)) ||
+          ((unsigned int)img->depth == IPL_DEPTH_16U && typeid(T) != typeid(unsigned short)) ||
+          ((unsigned int)img->depth == IPL_DEPTH_16S && typeid(T) != typeid(unsigned)) ||
+          ((unsigned int)img->depth == IPL_DEPTH_32S && typeid(T) != typeid(int)) ||
+          ((unsigned int)img->depth == IPL_DEPTH_32F && typeid(T) != typeid(float)) ||
+          ((unsigned int)img->depth == IPL_DEPTH_64F && typeid(T) != typeid(double)));
+}
+
+// Given this CImg<T> instance, return the corresponding bit-depth flag for use in IplImage header.
+int get_ipl_bit_depth() const {
+  // to do : handle IPL_DEPTH_1U?
+  if (typeid(T) == typeid(unsigned char))  return IPL_DEPTH_8U;
+  if (typeid(T) == typeid(char))           return IPL_DEPTH_8S;
+  if (typeid(T) == typeid(unsigned short)) return IPL_DEPTH_16U;
+  if (typeid(T) == typeid(short))          return IPL_DEPTH_16S;
+  if (typeid(T) == typeid(int))            return IPL_DEPTH_32S;
+  if (typeid(T) == typeid(float))          return IPL_DEPTH_32F;
+  if (typeid(T) == typeid(double))         return IPL_DEPTH_64F;
+  return 0;
+}
+
+//----------------------------
+// IplImage-to-CImg conversion
+//----------------------------
+
+// Copy constructor; the optional flag will be ignored when the number of color channels is less than 3.
+// Current flag options are 0 and CV_CVTIMG_SWAP_RB;
+// may add CV_CVTIMG_FLIP and CV_CVTIMG_FLIP|CV_CVTIMG_SWAP_RB in the future.
+CImg(const IplImage *const img, const int flag=0):
+_width(0),_height(0),_depth(0),_spectrum(0),_is_shared(false),_data(0) {
+  assign(img,flag);
+}
+
+// In-place constructor; the optional flag will be ignored when the number of color channels is less than 3.
+// Current flag options are 0 and CV_CVTIMG_SWAP_RB;
+// may add CV_CVTIMG_FLIP and CV_CVTIMG_FLIP|CV_CVTIMG_SWAP_RB in the future.
+CImg<T> & assign(const IplImage *const img, const int flag=CV_CVTIMG_SWAP_RB) {
+  if (!img) return assign();
+  if (not_pixel_type_of(img))
+    throw CImgInstanceException(_cimg_instance
+                                "assign(const IplImage*) : IplImage has no corresponding pixel type.",
+                                cimg_instance);
+  // to do: handle roi
+  const int W = img->width, H = img->height;
+  const char *const dataPtrI = img->imageData;
+  assign(W,H,1,img->nChannels);
+  char *const dataPtrC = (char *)_data;
+
+  const int
+    byte_depth = (img->depth & 255) >> 3,  // number of bytes per color
+    widthStepI = img->widthStep,           // to do: handle the case img->origin==1 (currently: img->origin==0)
+    widthStepC = W*byte_depth,
+    channelStepC = H*widthStepC;
+
+  if (img->dataOrder==0) { // interleaved color channels
+    const int pix_size = byte_depth*img->nChannels;
+    for (int n = 0; n<img->nChannels; ++n) {
+      const char *linePtrI  = dataPtrI + n*byte_depth;
+      char *linePtrC = dataPtrC + (img->nChannels>=3 && (flag & CV_CVTIMG_SWAP_RB) && n<3?(2 - n):n)*channelStepC;
+      // color order is BGR in IplImage and RGB in CImg
+
+      for (int i = 0; i<H; ++i, linePtrI+=widthStepI, linePtrC+=widthStepC) {
+        const char *intensityPtrI = linePtrI;
+        char *intensityPtrC = linePtrC;
+        for (int j = 0; j<W; ++j, intensityPtrI+=pix_size, intensityPtrC+=byte_depth)
+          std::memcpy(intensityPtrC, intensityPtrI, byte_depth);
+      }
+    }
+  } else {  // non-interleaved color channels
+    for (int n = 0; n<img->nChannels; ++n) {
+      const char *linePtrI  = dataPtrI + n*byte_depth;
+      char *linePtrC  = dataPtrC + (img->nChannels >= 3 && (flag & CV_CVTIMG_SWAP_RB) && n<3?(2 - n):n)*channelStepC;
+      for (int i = 0; i<H; ++i, linePtrI+=widthStepI, linePtrC+=widthStepC)
+        std::memcpy(linePtrC, linePtrI, widthStepC);
+    }
+  }
+  return *this;
+}
+
+//----------------------------
+// CImg-to-IplImage conversion
+//----------------------------
+// The 'get' function; the optional flag will be ignored when the number of color channels is less than 3.
+// Current flag options are 0 and CV_CVTIMG_SWAP_RB;
+// may add CV_CVTIMG_FLIP and CV_CVTIMG_FLIP|CV_CVTIMG_SWAP_RB in future.
+// z is the z-coordinate of the CImg slice that one wants to copy.
+IplImage* get_IplImage(const int flag=CV_CVTIMG_SWAP_RB, const unsigned z=0) const {
+  const int bit_depth = get_ipl_bit_depth();
+  if (!bit_depth)
+    throw CImgInstanceException(_cimg_instance
+                                "get_IplImage() : IplImage has no corresponding pixel type.",
+                                cimg_instance);
+    if (is_empty())
+    throw CImgArgumentException(_cimg_instance
+                                "get_IplImage() : Empty instance.",
+                                cimg_instance);
+  if (z>=_depth)
+    throw CImgInstanceException(_cimg_instance
+                                "get_IplImage() : Instance has not Z-dimension %u.",
+                                cimg_instance,
+                                z);
+  if (_spectrum>4)
+    cimg::warn(_cimg_instance
+               "get_IplImage() : OpenCV supports only 4 channels, so only the first four will be copied.",
+               cimg_instance);
+
+  IplImage *const img = cvCreateImage(cvSize(_width,_height),bit_depth,_spectrum);
+  const int
+    W = _width,
+    H = _height,
+    byte_depth = (img->depth & 255) >> 3,  // number of bytes per color
+    widthStepI = img->widthStep,           // to do: handle the case img->origin==1 (currently: img->origin==0)
+    widthStepC = W*byte_depth,
+    channelStepC = H*_depth*widthStepC;
+  const char *const dataPtrC = (char*)_data + z*H*widthStepC;
+  char *const dataPtrI = img->imageData;
+
+  if (!img->dataOrder) {  // interleaved color channels
+    const int pix_size = byte_depth*img->nChannels;
+    for (int n = 0; n<img->nChannels; ++n) {
+      const char
+        *linePtrC  = dataPtrC + (img->nChannels >= 3 && (flag & CV_CVTIMG_SWAP_RB) && n<3?(2 - n):n)*channelStepC;
+      char *linePtrI  = dataPtrI + n*byte_depth;
+
+      // color order is BGR in IplImage and RGB in CImg
+      for (int i = 0; i<H; ++i, linePtrI+=widthStepI, linePtrC+=widthStepC) {
+        const char *intensityPtrC = linePtrC;
+        char *intensityPtrI = linePtrI;
+        for (int j = 0; j<W; ++j, intensityPtrI+=pix_size, intensityPtrC+=byte_depth)
+          std::memcpy(intensityPtrI, intensityPtrC, byte_depth);
+      }
+    }
+  } else {  // non-interleaved color channels
+    for (int n = 0; n<img->nChannels; ++n) {
+      const char
+        *linePtrC  = dataPtrC + (img->nChannels>= 3 && (flag & CV_CVTIMG_SWAP_RB) && n<3?(2 - n):n)*channelStepC;
+      char *linePtrI = dataPtrI + n*byte_depth;
+      for (int i = 0; i<H; ++i, linePtrI+=widthStepI, linePtrC+=widthStepC)
+        std::memcpy(linePtrI, linePtrC, widthStepC);
+    }
+  }
+  return img;
+}
+
+#endif /* cimg_plugin_ipl */
diff --git a/plugins/ipl_alt.h b/plugins/ipl_alt.h
new file mode 100644
index 0000000..9cd22b1
--- /dev/null
+++ b/plugins/ipl_alt.h
@@ -0,0 +1,122 @@
+/*
+#
+#  File        : ipl_alt.h
+#                ( C++ header file - CImg plug-in )
+#
+#  Description : CImg plug-in providing the CImg->IPL and IPL->CImg
+#                conversions for generic image types
+#                ( IPL = Intel Performance Library )
+#                This file is a part of the CImg Library project.
+#                ( http://cimg.eu )
+#
+#  Copyright   : newleft (haibo.zheng at gmail.com)
+#                         newleftist at hotmail.com
+#
+#  License     : CeCILL v2.0
+#                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+#
+#  This software is governed by the CeCILL  license under French law and
+#  abiding by the rules of distribution of free software.  You can  use,
+#  modify and/ or redistribute the software under the terms of the CeCILL
+#  license as circulated by CEA, CNRS and INRIA at the following URL
+#  "http://www.cecill.info".
+#
+#  As a counterpart to the access to the source code and  rights to copy,
+#  modify and redistribute granted by the license, users are provided only
+#  with a limited warranty  and the software's author,  the holder of the
+#  economic rights,  and the successive licensors  have only  limited
+#  liability.
+#
+#  In this respect, the user's attention is drawn to the risks associated
+#  with loading,  using,  modifying and/or developing or reproducing the
+#  software by the user in light of its specific status of free software,
+#  that may mean  that it is complicated to manipulate,  and  that  also
+#  therefore means  that it is reserved for developers  and  experienced
+#  professionals having in-depth computer knowledge. Users are therefore
+#  encouraged to load and test the software's suitability as regards their
+#  requirements in conditions enabling the security of their systems and/or
+#  data to be ensured and,  more generally, to use and operate it in the
+#  same conditions as regards security.
+#
+#  The fact that you are presently reading this means that you have had
+#  knowledge of the CeCILL license and that you accept its terms.
+#
+*/
+
+#ifndef cimg_plugin_IPL
+#define cimg_plugin_IPL
+
+// Conversion IPL -> CImg (constructor)
+CImg(const IplImage* src):_width(0),_height(0),_depth(0),_spectrum(0),_is_shared(false),_data(0) {
+  assign(src);
+}
+
+// Conversion IPL -> CImg (in-place constructor)
+CImg<T>& assign(const IplImage* src) {
+  if (!src) return assign();
+  switch (src->depth) {
+  case IPL_DEPTH_1U: { // 1-bit int.
+    IplImage *src1 = cvCreateImage(cvGetSize(src),IPL_DEPTH_8U,1);
+    cvConvert(src,src1);
+    CImg<ucharT>((unsigned char*)src1->imageData,src1->nChannels,src1->width,src1->height,1,true).
+      get_permute_axes("yzcx").move_to(*this);
+    cvReleaseImage(&src1);
+  } break;
+  case IPL_DEPTH_8U: // 8-bit unsigned int.
+    CImg<ucharT>((unsigned char*)src->imageData,src->nChannels,src->width,src->height,1,true).
+      get_permute_axes("yzcx").move_to(*this);
+    break;
+  case IPL_DEPTH_8S: // 8-bit signed int.
+    CImg<charT>((char*)src->imageData,src->nChannels,src->width,src->height,1,true).
+      get_permute_axes("yzcx").move_to(*this);
+    break;
+  case IPL_DEPTH_16U: // 16-bit unsigned int.
+    CImg<ushortT>((unsigned short*)src->imageData,src->nChannels,src->width,src->height,1,true).
+      get_permute_axes("yzcx").move_to(*this);
+    break;
+  case IPL_DEPTH_16S: // 16-bit signed int.
+    CImg<shortT>((short*)src->imageData,src->nChannels,src->width,src->height,1,true).
+      get_permute_axes("yzcx").move_to(*this);
+    break;
+  case IPL_DEPTH_32S: // 32-bit signed int.
+    CImg<intT>((int*)src->imageData,src->nChannels,src->width,src->height,1,true).
+      get_permute_axes("yzcx").move_to(*this);
+    break;
+  case IPL_DEPTH_32F: // 32-bit float.
+    CImg<floatT>((float*)src->imageData,src->nChannels,src->width,src->height,1,true).
+      get_permute_axes("yzcx").move_to(*this);
+    break;
+  case IPL_DEPTH_64F: // 64-bit double.
+    CImg<doubleT>((double*)src->imageData,src->nChannels,src->width,src->height,1,true).
+      get_permute_axes("yzcx").move_to(*this);
+    break;
+  default:
+    throw CImgInstanceException("CImg<%s>::assign(const IplImage* img) : IplImage depth is invalid.",
+				pixel_type());
+    break;
+  }
+  if (!std::strcmp(src->channelSeq,"BGR")) mirror('v');
+  else if (!std::strcmp(src->channelSeq,"BGRA")) get_shared_channels(0,2).mirror('v');
+  return *this;
+}
+
+// Conversion CImg -> IPL
+IplImage* get_IPL(const unsigned int z=0) const {
+  if (is_empty())
+    throw CImgInstanceException("CImg<%s>::get_IPL() : instance image (%u,%u,%u,%u,%p) is empty.",
+				pixel_type(),_width,_height,_depth,_spectrum,_data);
+  if (z>=_depth)
+    throw CImgInstanceException("CImg<%s>::get_IPL() : specified slice %u is out of image bounds (%u,%u,%u,%u,%p).",
+				pixel_type(),z,_width,_height,_depth,_spectrum,_data);
+  const CImg<T>
+    _slice = _depth>1?get_slice(z):CImg<T>(),
+    &slice = _depth>1?_slice:*this;
+  CImg<T> buf(slice);
+  if (_spectrum==3 || _spectrum==4) buf.get_shared_channels(0,2).mirror('v');
+  buf.permute_axes("cxyz");
+  IplImage* const dst = cvCreateImage(cvSize(_width,_height),sizeof(T)*8,_spectrum);
+  std::memcpy(dst->imageData,buf.data(),buf.size()*sizeof(T));
+  return dst;
+}
+
+#endif /* cimg_plugin_IPL */
diff --git a/plugins/jpeg_buffer.h b/plugins/jpeg_buffer.h
new file mode 100644
index 0000000..840dc11
--- /dev/null
+++ b/plugins/jpeg_buffer.h
@@ -0,0 +1,376 @@
+/*
+ #
+ #  File        : jpeg_buffer.h
+ #                ( C++ header file - CImg plug-in )
+ #
+ #  Description : This CImg plug-in provide functions to load and save jpeg images
+ #                directly from/to memory buffers of JOCTET buffers, using the
+ #                JPEG library (required to compile !)
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : Paolo Prete
+ #                ( p4olo_prete at yahoo.it )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+/*-----------------------------------------------------------------------------------
+
+ IMPORTANT NOTE :
+
+ You *need* to include the following lines in your own code to use this plugin :
+
+ #include <cstdio>
+ #include <jpeglib.h>
+ #include <jerror.h>
+
+ (see example file provided in examples/use_jpeg_buffer.cpp).
+
+------------------------------------------------------------------------------------*/
+
+#ifndef cimg_plugin_jpeg_buffer
+#define cimg_plugin_jpeg_buffer
+
+///////////////////////////////////////////////////////////////////////////////////////
+//
+//    extension of libjpeg (helper functions for loading images from JOCTET arrays)
+//					hacked from
+//	http://www.koders.com/cpp/fidB5A4549ABB5CB01824058F57A43D095D3F95AB40.aspx
+//
+///////////////////////////////////////////////////////////////////////////////////////
+
+#define INPUT_BUF_SIZE 4096
+
+struct my_source_mem {
+  struct jpeg_source_mgr pub; // Public fields
+  int indexinmem;
+  JOCTET *inmem;              // Source stream
+  JOCTET *buffer;             // Start of buffer
+  int lenght;                 // Size of buffer in memory
+  boolean start_of_file;      // Have we gotten any data yet?
+};
+
+struct my_source_mgr {
+  struct jpeg_source_mgr pub; // public fields
+  FILE *infile;               // source stream
+  JOCTET *buffer;             // start of buffer
+  boolean start_of_file;      // have we gotten any data yet?
+};
+
+typedef my_source_mem *my_src_mptr;
+typedef my_source_mgr *my_src_ptr;
+
+static boolean fill_minput_buffer(j_decompress_ptr cinfo) {
+  my_src_mptr src = (my_src_mptr) cinfo->src;
+  size_t nbytes;
+  if (src->indexinmem + INPUT_BUF_SIZE>src->lenght) nbytes=src->lenght - src->indexinmem;
+  else nbytes = INPUT_BUF_SIZE;
+  std::memcpy(src->buffer,src->inmem,nbytes);
+  src->inmem += nbytes;
+  src->indexinmem += (int)nbytes;
+  src->pub.next_input_byte = src->buffer;
+  src->pub.bytes_in_buffer = INPUT_BUF_SIZE;
+  src->start_of_file = FALSE;
+  return TRUE;
+}
+
+static void skip_minput_data(j_decompress_ptr cinfo, long num_bytes) {
+  my_src_ptr src = (my_src_ptr)cinfo->src;
+  if (num_bytes > 0) {
+    while (num_bytes > (long) src->pub.bytes_in_buffer) {
+      num_bytes -= (long) src->pub.bytes_in_buffer;
+      fill_minput_buffer(cinfo);
+      // note we assume that fill_input_buffer will never return FALSE,
+      // so suspension need not be handled.
+      //
+    }
+    src->pub.next_input_byte += (size_t) num_bytes;
+    src->pub.bytes_in_buffer -= (size_t) num_bytes;
+  }
+}
+
+static void init_msource(j_decompress_ptr cinfo) {
+  my_src_mptr src = (my_src_mptr)cinfo->src;
+  src->start_of_file = TRUE;
+}
+
+static void term_source(j_decompress_ptr) {
+  // no work necessary here
+}
+
+static void jpeg_mem_src(j_decompress_ptr cinfo, JOCTET * memptr,int lenght) {
+  my_src_mptr src;
+
+  // The source object and input buffer are made permanent so that a series
+  //of JPEG images can be read from the same file by calling jpeg_stdio_src
+  // only before the first one.  (If we discarded the buffer at the end of
+  // one image, we'd likely lose the start of the next one.)
+  // This makes it unsafe to use this manager and a different source
+  // manager serially with the same JPEG object.  Caveat programmer.
+  //
+
+  // first time for this JPEG object?
+  if (cinfo->src == NULL) {
+    cinfo->src = (struct jpeg_source_mgr*)(*cinfo->mem->alloc_small)((j_common_ptr) cinfo,
+                                                                     JPOOL_PERMANENT,sizeof(my_source_mem));
+    src = (my_src_mptr) cinfo->src;
+    src->buffer = (JOCTET *)(*cinfo->mem->alloc_small) ((j_common_ptr) cinfo,
+                                                        JPOOL_PERMANENT,INPUT_BUF_SIZE * sizeof(JOCTET));
+  }
+
+  src = (my_src_mptr) cinfo->src;
+  src->pub.init_source = init_msource;
+  src->pub.fill_input_buffer = fill_minput_buffer;
+  src->pub.skip_input_data = skip_minput_data;
+  //src->pub.resync_to_restart = jpeg_resync_to_restart; // use default method
+  src->pub.term_source = term_source;
+  src->inmem = memptr;
+  src->indexinmem = 0;
+  src->lenght = lenght;
+  src->pub.bytes_in_buffer = 0; // forces fill_input_buffer on first read
+  src->pub.next_input_byte = NULL; // until buffer loaded
+}
+
+// The following declarations and 5 functions are jpeg related
+// functions used by put_jpeg_grey_memory and put_jpeg_yuv420p_memory
+//
+struct mem_destination_mgr {
+  struct jpeg_destination_mgr pub;
+  JOCTET *buf;
+  size_t bufsize;
+  size_t jpegsize;
+};
+
+typedef mem_destination_mgr *mem_dest_ptr;
+
+static void init_destination(j_compress_ptr cinfo) {
+  mem_dest_ptr dest = (mem_dest_ptr) cinfo->dest;
+  dest->pub.next_output_byte = dest->buf;
+  dest->pub.free_in_buffer = dest->bufsize;
+  dest->jpegsize = 0;
+}
+
+static boolean empty_output_buffer(j_compress_ptr cinfo) {
+  mem_dest_ptr dest = (mem_dest_ptr) cinfo->dest;
+  dest->pub.next_output_byte = dest->buf;
+  dest->pub.free_in_buffer = dest->bufsize;
+  return FALSE;
+  ERREXIT(cinfo, JERR_BUFFER_SIZE);
+}
+
+static void term_destination(j_compress_ptr cinfo) {
+  mem_dest_ptr dest = (mem_dest_ptr) cinfo->dest;
+  dest->jpegsize = dest->bufsize - dest->pub.free_in_buffer;
+}
+
+static void jpeg_mem_dest(j_compress_ptr cinfo, JOCTET* buf, size_t bufsize) {
+  mem_dest_ptr dest;
+  if (cinfo->dest == NULL) {
+    cinfo->dest = (struct jpeg_destination_mgr *)
+      (*cinfo->mem->alloc_small)((j_common_ptr)cinfo,JPOOL_PERMANENT,sizeof(mem_destination_mgr));
+  }
+  dest = (mem_dest_ptr) cinfo->dest;
+  dest->pub.init_destination = init_destination;
+  dest->pub.empty_output_buffer = empty_output_buffer;
+  dest->pub.term_destination = term_destination;
+  dest->buf = buf;
+  dest->bufsize = bufsize;
+  dest->jpegsize = 0;
+}
+
+static unsigned jpeg_mem_size(j_compress_ptr cinfo) {
+  mem_dest_ptr dest = (mem_dest_ptr) cinfo->dest;
+  return dest->jpegsize;
+}
+
+/////////////////////////////////////////////////////////////////
+//
+//    Define main CImg plugin functions.
+//    (you should use these functions only in your own code)
+//
+/////////////////////////////////////////////////////////////////
+
+//! Load image from a jpeg-coded memory buffer.
+/**
+   \param buffer Memory buffer containing the jpeg-coded image data.
+   \param buffer_size Size of the memory buffer, in bytes.
+**/
+static CImg get_load_jpeg_buffer(const JOCTET *const buffer, const unsigned buffer_size) {
+  struct jpeg_decompress_struct cinfo;
+  struct jpeg_error_mgr jerr;
+  cinfo.err = jpeg_std_error(&jerr);
+  jpeg_create_decompress(&cinfo);
+  jpeg_mem_src(&cinfo,const_cast<JOCTET*>(buffer),buffer_size);
+  jpeg_read_header(&cinfo,TRUE);
+  jpeg_start_decompress(&cinfo);
+
+  const unsigned int row_stride = cinfo.output_width * cinfo.output_components;
+  JOCTET *buf = new JOCTET[cinfo.output_width*cinfo.output_height*cinfo.output_components];
+  const JOCTET *buf2 = buf;
+  JSAMPROW row_pointer[1];
+  while (cinfo.output_scanline < cinfo.output_height) {
+    row_pointer[0] = buf + cinfo.output_scanline*row_stride;
+    jpeg_read_scanlines(&cinfo,row_pointer,1);
+  }
+  jpeg_finish_decompress(&cinfo);
+  jpeg_destroy_decompress(&cinfo);
+
+  CImg<T> dest(cinfo.output_width,cinfo.output_height,1,cinfo.output_components);
+  switch (dest.spectrum()) {
+  case 1: {
+    T *ptr_g = dest.data(0,0,0,0);
+    cimg_foroff(dest,off) *(ptr_g++) = (T)*(buf2++);
+  } break;
+  case 3: {
+    T
+      *ptr_r = dest.data(0,0,0,0),
+      *ptr_g = dest.data(0,0,0,1),
+      *ptr_b = dest.data(0,0,0,2);
+    cimg_forXY(dest,x,y) {
+      *(ptr_r++) = (T)*(buf2++);
+      *(ptr_g++) = (T)*(buf2++);
+      *(ptr_b++) = (T)*(buf2++);
+    }
+  } break;
+  case 4: {
+    T
+      *ptr_r = dest.data(0,0,0,0),
+      *ptr_g = dest.data(0,0,0,1),
+      *ptr_b = dest.data(0,0,0,2),
+      *ptr_a = dest.data(0,0,0,3);
+    cimg_forXY(dest,x,y) {
+      *(ptr_r++) = (T)*(buf2++);
+      *(ptr_g++) = (T)*(buf2++);
+      *(ptr_b++) = (T)*(buf2++);
+      *(ptr_a++) = (T)*(buf2++);
+    }
+  } break;
+  }
+  delete[] buf;
+
+  return dest;
+}
+
+//! Load image from a jpeg-coded memory buffer (in-place version)
+/**
+   \param buffer Memory buffer containing the jpeg-coded image data.
+   \param buffer_size Size of the memory buffer, in bytes.
+**/
+CImg& load_jpeg_buffer(const JOCTET *const buffer, const unsigned buffer_size) {
+  return get_load_jpeg_buffer(buffer,buffer_size).move_to(*this);
+}
+
+//! Save image in a memory buffer, directly as a jpeg-coded file
+/**
+   \param buffer Memory buffer that will be written with the jpeg-coded image data.
+   \param buffer_size Initial size of the memory buffer. When the function returns, the variable
+   contains the effective length needed to fill the buffer.
+   \param quality Quality of the jpeg compression.
+**/
+const CImg& save_jpeg_buffer(JOCTET *const buffer, unsigned int &buffer_size, const int quality=100) const {
+
+  // Fill pixel buffer
+  JOCTET *buf;
+  unsigned int dimbuf=0;
+  J_COLOR_SPACE colortype=JCS_RGB;
+  switch (spectrum()) {
+  case 1: {
+    // Greyscale images
+    JOCTET *buf2 = buf = new JOCTET[width()*height()*(dimbuf=1)];
+    const T
+      *ptr_g = data();
+    colortype = JCS_GRAYSCALE;
+    cimg_foroff(*this,off) *(buf2++) = (JOCTET)*(ptr_g++);
+  } break;
+  case 2:
+  case 3: {
+    // RGB images
+    JOCTET *buf2 = buf = new JOCTET[width()*height()*(dimbuf=3)];
+    const T
+      *ptr_r = data(0,0,0,0),
+      *ptr_g = data(0,0,0,1),
+      *ptr_b = data(0,0,0,spectrum()>2?2:0);
+    colortype = JCS_RGB;
+    cimg_forXY(*this,x,y) {
+      *(buf2++) = (JOCTET)*(ptr_r++);
+      *(buf2++) = (JOCTET)*(ptr_g++);
+      *(buf2++) = (JOCTET)*(ptr_b++);
+    }
+  } break;
+  default: {
+    // YCMYK images
+    JOCTET *buf2 = buf = new JOCTET[width()*height()*(dimbuf=4)];
+    const T
+      *ptr_r = data(0,0,0,0),
+      *ptr_g = data(0,0,0,1),
+      *ptr_b = data(0,0,0,2),
+      *ptr_a = data(0,0,0,3);
+    colortype = JCS_CMYK;
+    cimg_forXY(*this,x,y) {
+      *(buf2++) = (JOCTET)*(ptr_r++);
+      *(buf2++) = (JOCTET)*(ptr_g++);
+      *(buf2++) = (JOCTET)*(ptr_b++);
+      *(buf2++) = (JOCTET)*(ptr_a++);
+    }
+  } break;
+  }
+
+  // Call libjpeg functions
+  struct jpeg_compress_struct cinfo;
+  struct jpeg_error_mgr jerr;
+  cinfo.err = jpeg_std_error(&jerr);
+  jpeg_create_compress(&cinfo);
+  jpeg_mem_dest(&cinfo, buffer, buffer_size);
+  cinfo.image_width = width();
+  cinfo.image_height = height();
+  cinfo.input_components = dimbuf;
+  cinfo.in_color_space = colortype;
+  jpeg_set_defaults(&cinfo);
+  jpeg_set_quality(&cinfo,quality<100?quality:100,TRUE);
+  jpeg_start_compress(&cinfo,TRUE);
+
+  const unsigned int row_stride = width()*dimbuf;
+  JSAMPROW row_pointer[1];
+  while (cinfo.next_scanline < cinfo.image_height) {
+    row_pointer[0] = &buf[cinfo.next_scanline*row_stride];
+    jpeg_write_scanlines(&cinfo,row_pointer,1);
+  }
+  jpeg_finish_compress(&cinfo);
+  delete[] buf;
+  buffer_size = jpeg_mem_size(&cinfo);
+  jpeg_destroy_compress(&cinfo);
+  return *this;
+}
+
+// End of the plug-in
+//-------------------
+#endif /* cimg_plugin_jpeg_buffer */
diff --git a/plugins/loop_macros.h b/plugins/loop_macros.h
new file mode 100644
index 0000000..85406a2
--- /dev/null
+++ b/plugins/loop_macros.h
@@ -0,0 +1,24166 @@
+/*
+ #
+ #  File        : loop_macros.h
+ #                ( C++ header file - CImg plug-in )
+ #
+ #  Description : CImg plug-in adding useful loop macros in CImg, in order to
+ #                deal with NxN neighborhoods (where N=10..32)
+ #                and NxNxN neighborhoods (where N=4..8)
+ #                This file has been automatically generated using the loop
+ #                macro generator available in 'examples/generate_loop_macros.cpp'
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : David Tschumperle
+ #                ( http://tschumperle.users.greyc.fr/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#ifndef cimg_plugin_loop_macros
+#define cimg_plugin_loop_macros
+
+// Define 10x10 loop macros
+//-------------------------
+#define cimg_for10(bound,i) for (int i = 0, \
+ _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5; \
+ _n5##i<(int)(bound) || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i)
+
+#define cimg_for10X(img,x) cimg_for10((img)._width,x)
+#define cimg_for10Y(img,y) cimg_for10((img)._height,y)
+#define cimg_for10Z(img,z) cimg_for10((img)._depth,z)
+#define cimg_for10C(img,c) cimg_for10((img)._spectrum,c)
+#define cimg_for10XY(img,x,y) cimg_for10Y(img,y) cimg_for10X(img,x)
+#define cimg_for10XZ(img,x,z) cimg_for10Z(img,z) cimg_for10X(img,x)
+#define cimg_for10XC(img,x,c) cimg_for10C(img,c) cimg_for10X(img,x)
+#define cimg_for10YZ(img,y,z) cimg_for10Z(img,z) cimg_for10Y(img,y)
+#define cimg_for10YC(img,y,c) cimg_for10C(img,c) cimg_for10Y(img,y)
+#define cimg_for10ZC(img,z,c) cimg_for10C(img,c) cimg_for10Z(img,z)
+#define cimg_for10XYZ(img,x,y,z) cimg_for10Z(img,z) cimg_for10XY(img,x,y)
+#define cimg_for10XZC(img,x,z,c) cimg_for10C(img,c) cimg_for10XZ(img,x,z)
+#define cimg_for10YZC(img,y,z,c) cimg_for10C(img,c) cimg_for10YZ(img,y,z)
+#define cimg_for10XYZC(img,x,y,z,c) cimg_for10C(img,c) cimg_for10XYZ(img,x,y,z)
+
+#define cimg_for_in10(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5; \
+ i<=(int)(i1) && (_n5##i<(int)(bound) || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i)
+
+#define cimg_for_in10X(img,x0,x1,x) cimg_for_in10((img)._width,x0,x1,x)
+#define cimg_for_in10Y(img,y0,y1,y) cimg_for_in10((img)._height,y0,y1,y)
+#define cimg_for_in10Z(img,z0,z1,z) cimg_for_in10((img)._depth,z0,z1,z)
+#define cimg_for_in10C(img,c0,c1,c) cimg_for_in10((img)._spectrum,c0,c1,c)
+#define cimg_for_in10XY(img,x0,y0,x1,y1,x,y) cimg_for_in10Y(img,y0,y1,y) cimg_for_in10X(img,x0,x1,x)
+#define cimg_for_in10XZ(img,x0,z0,x1,z1,x,z) cimg_for_in10Z(img,z0,z1,z) cimg_for_in10X(img,x0,x1,x)
+#define cimg_for_in10XC(img,x0,c0,x1,c1,x,c) cimg_for_in10C(img,c0,c1,c) cimg_for_in10X(img,x0,x1,x)
+#define cimg_for_in10YZ(img,y0,z0,y1,z1,y,z) cimg_for_in10Z(img,z0,z1,z) cimg_for_in10Y(img,y0,y1,y)
+#define cimg_for_in10YC(img,y0,c0,y1,c1,y,c) cimg_for_in10C(img,c0,c1,c) cimg_for_in10Y(img,y0,y1,y)
+#define cimg_for_in10ZC(img,z0,c0,z1,c1,z,c) cimg_for_in10C(img,c0,c1,c) cimg_for_in10Z(img,z0,z1,z)
+#define cimg_for_in10XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in10Z(img,z0,z1,z) cimg_for_in10XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in10XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in10C(img,c0,c1,c) cimg_for_in10XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in10YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in10C(img,c0,c1,c) cimg_for_in10YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in10XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in10C(img,c0,c1,c) cimg_for_in10XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for10x10(img,x,y,z,c,I,T) \
+ cimg_for10((img)._height,y) for (int x = 0, \
+ _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = (T)(img)(0,_p4##y,z,c)), \
+ (I[10] = I[11] = I[12] = I[13] = I[14] = (T)(img)(0,_p3##y,z,c)), \
+ (I[20] = I[21] = I[22] = I[23] = I[24] = (T)(img)(0,_p2##y,z,c)), \
+ (I[30] = I[31] = I[32] = I[33] = I[34] = (T)(img)(0,_p1##y,z,c)), \
+ (I[40] = I[41] = I[42] = I[43] = I[44] = (T)(img)(0,y,z,c)), \
+ (I[50] = I[51] = I[52] = I[53] = I[54] = (T)(img)(0,_n1##y,z,c)), \
+ (I[60] = I[61] = I[62] = I[63] = I[64] = (T)(img)(0,_n2##y,z,c)), \
+ (I[70] = I[71] = I[72] = I[73] = I[74] = (T)(img)(0,_n3##y,z,c)), \
+ (I[80] = I[81] = I[82] = I[83] = I[84] = (T)(img)(0,_n4##y,z,c)), \
+ (I[90] = I[91] = I[92] = I[93] = I[94] = (T)(img)(0,_n5##y,z,c)), \
+ (I[5] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[15] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[25] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[35] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[45] = (T)(img)(_n1##x,y,z,c)), \
+ (I[55] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[65] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[75] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[85] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[95] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[6] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[16] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[26] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[36] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[46] = (T)(img)(_n2##x,y,z,c)), \
+ (I[56] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[66] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[76] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[86] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[96] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[7] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[17] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[27] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[37] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[47] = (T)(img)(_n3##x,y,z,c)), \
+ (I[57] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[67] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[77] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[87] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[97] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[8] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[18] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[28] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[38] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[48] = (T)(img)(_n4##x,y,z,c)), \
+ (I[58] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[68] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[78] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[88] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[98] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ 5>=((img)._width)?(img).width() - 1:5); \
+ (_n5##x<(img).width() && ( \
+ (I[9] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[19] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[29] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[39] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[49] = (T)(img)(_n5##x,y,z,c)), \
+ (I[59] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[69] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[79] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[89] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[99] = (T)(img)(_n5##x,_n5##y,z,c)),1)) || \
+ _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], \
+ I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], \
+ I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], \
+ I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], \
+ I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], \
+ I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], \
+ I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], \
+ I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], \
+ I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], \
+ I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], \
+ _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x)
+
+#define cimg_for_in10x10(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in10((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = (int)( \
+ (I[0] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[10] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[20] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[30] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[40] = (T)(img)(_p4##x,y,z,c)), \
+ (I[50] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[60] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[70] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[80] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[90] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[1] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[11] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[21] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[31] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[41] = (T)(img)(_p3##x,y,z,c)), \
+ (I[51] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[61] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[71] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[81] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[91] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[2] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[12] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[22] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[32] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[42] = (T)(img)(_p2##x,y,z,c)), \
+ (I[52] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[62] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[72] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[82] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[92] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[3] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[13] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[23] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[33] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[43] = (T)(img)(_p1##x,y,z,c)), \
+ (I[53] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[63] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[73] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[83] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[93] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[4] = (T)(img)(x,_p4##y,z,c)), \
+ (I[14] = (T)(img)(x,_p3##y,z,c)), \
+ (I[24] = (T)(img)(x,_p2##y,z,c)), \
+ (I[34] = (T)(img)(x,_p1##y,z,c)), \
+ (I[44] = (T)(img)(x,y,z,c)), \
+ (I[54] = (T)(img)(x,_n1##y,z,c)), \
+ (I[64] = (T)(img)(x,_n2##y,z,c)), \
+ (I[74] = (T)(img)(x,_n3##y,z,c)), \
+ (I[84] = (T)(img)(x,_n4##y,z,c)), \
+ (I[94] = (T)(img)(x,_n5##y,z,c)), \
+ (I[5] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[15] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[25] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[35] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[45] = (T)(img)(_n1##x,y,z,c)), \
+ (I[55] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[65] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[75] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[85] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[95] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[6] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[16] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[26] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[36] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[46] = (T)(img)(_n2##x,y,z,c)), \
+ (I[56] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[66] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[76] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[86] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[96] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[7] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[17] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[27] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[37] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[47] = (T)(img)(_n3##x,y,z,c)), \
+ (I[57] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[67] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[77] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[87] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[97] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[8] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[18] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[28] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[38] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[48] = (T)(img)(_n4##x,y,z,c)), \
+ (I[58] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[68] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[78] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[88] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[98] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ x + 5>=(img).width()?(img).width() - 1:x + 5); \
+ x<=(int)(x1) && ((_n5##x<(img).width() && ( \
+ (I[9] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[19] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[29] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[39] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[49] = (T)(img)(_n5##x,y,z,c)), \
+ (I[59] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[69] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[79] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[89] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[99] = (T)(img)(_n5##x,_n5##y,z,c)),1)) || \
+ _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], \
+ I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], \
+ I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], \
+ I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], \
+ I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], \
+ I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], \
+ I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], \
+ I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], \
+ I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], \
+ I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], \
+ _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x)
+
+#define cimg_get10x10(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p4##x,_p4##y,z,c), I[1] = (T)(img)(_p3##x,_p4##y,z,c), I[2] = (T)(img)(_p2##x,_p4##y,z,c), I[3] = (T)(img)(_p1##x,_p4##y,z,c), I[4] = (T)(img)(x,_p4##y,z,c), I[5] = (T)(img)(_n1##x,_p4##y,z,c), I[6] = (T)(img)(_n2##x,_p4##y,z,c), I[7] = (T)(img)(_n3##x,_p4##y,z,c), I[8] = (T)(img)(_n4##x,_p4##y,z,c), I[9] = (T)(img)(_n5##x,_p4##y,z,c), \
+ I[10] = (T)(img)(_p4##x,_p3##y,z,c), I[11] = (T)(img)(_p3##x,_p3##y,z,c), I[12] = (T)(img)(_p2##x,_p3##y,z,c), I[13] = (T)(img)(_p1##x,_p3##y,z,c), I[14] = (T)(img)(x,_p3##y,z,c), I[15] = (T)(img)(_n1##x,_p3##y,z,c), I[16] = (T)(img)(_n2##x,_p3##y,z,c), I[17] = (T)(img)(_n3##x,_p3##y,z,c), I[18] = (T)(img)(_n4##x,_p3##y,z,c), I[19] = (T)(img)(_n5##x,_p3##y,z,c), \
+ I[20] = (T)(img)(_p4##x,_p2##y,z,c), I[21] = (T)(img)(_p3##x,_p2##y,z,c), I[22] = (T)(img)(_p2##x,_p2##y,z,c), I[23] = (T)(img)(_p1##x,_p2##y,z,c), I[24] = (T)(img)(x,_p2##y,z,c), I[25] = (T)(img)(_n1##x,_p2##y,z,c), I[26] = (T)(img)(_n2##x,_p2##y,z,c), I[27] = (T)(img)(_n3##x,_p2##y,z,c), I[28] = (T)(img)(_n4##x,_p2##y,z,c), I[29] = (T)(img)(_n5##x,_p2##y,z,c), \
+ I[30] = (T)(img)(_p4##x,_p1##y,z,c), I[31] = (T)(img)(_p3##x,_p1##y,z,c), I[32] = (T)(img)(_p2##x,_p1##y,z,c), I[33] = (T)(img)(_p1##x,_p1##y,z,c), I[34] = (T)(img)(x,_p1##y,z,c), I[35] = (T)(img)(_n1##x,_p1##y,z,c), I[36] = (T)(img)(_n2##x,_p1##y,z,c), I[37] = (T)(img)(_n3##x,_p1##y,z,c), I[38] = (T)(img)(_n4##x,_p1##y,z,c), I[39] = (T)(img)(_n5##x,_p1##y,z,c), \
+ I[40] = (T)(img)(_p4##x,y,z,c), I[41] = (T)(img)(_p3##x,y,z,c), I[42] = (T)(img)(_p2##x,y,z,c), I[43] = (T)(img)(_p1##x,y,z,c), I[44] = (T)(img)(x,y,z,c), I[45] = (T)(img)(_n1##x,y,z,c), I[46] = (T)(img)(_n2##x,y,z,c), I[47] = (T)(img)(_n3##x,y,z,c), I[48] = (T)(img)(_n4##x,y,z,c), I[49] = (T)(img)(_n5##x,y,z,c), \
+ I[50] = (T)(img)(_p4##x,_n1##y,z,c), I[51] = (T)(img)(_p3##x,_n1##y,z,c), I[52] = (T)(img)(_p2##x,_n1##y,z,c), I[53] = (T)(img)(_p1##x,_n1##y,z,c), I[54] = (T)(img)(x,_n1##y,z,c), I[55] = (T)(img)(_n1##x,_n1##y,z,c), I[56] = (T)(img)(_n2##x,_n1##y,z,c), I[57] = (T)(img)(_n3##x,_n1##y,z,c), I[58] = (T)(img)(_n4##x,_n1##y,z,c), I[59] = (T)(img)(_n5##x,_n1##y,z,c), \
+ I[60] = (T)(img)(_p4##x,_n2##y,z,c), I[61] = (T)(img)(_p3##x,_n2##y,z,c), I[62] = (T)(img)(_p2##x,_n2##y,z,c), I[63] = (T)(img)(_p1##x,_n2##y,z,c), I[64] = (T)(img)(x,_n2##y,z,c), I[65] = (T)(img)(_n1##x,_n2##y,z,c), I[66] = (T)(img)(_n2##x,_n2##y,z,c), I[67] = (T)(img)(_n3##x,_n2##y,z,c), I[68] = (T)(img)(_n4##x,_n2##y,z,c), I[69] = (T)(img)(_n5##x,_n2##y,z,c), \
+ I[70] = (T)(img)(_p4##x,_n3##y,z,c), I[71] = (T)(img)(_p3##x,_n3##y,z,c), I[72] = (T)(img)(_p2##x,_n3##y,z,c), I[73] = (T)(img)(_p1##x,_n3##y,z,c), I[74] = (T)(img)(x,_n3##y,z,c), I[75] = (T)(img)(_n1##x,_n3##y,z,c), I[76] = (T)(img)(_n2##x,_n3##y,z,c), I[77] = (T)(img)(_n3##x,_n3##y,z,c), I[78] = (T)(img)(_n4##x,_n3##y,z,c), I[79] = (T)(img)(_n5##x,_n3##y,z,c), \
+ I[80] = (T)(img)(_p4##x,_n4##y,z,c), I[81] = (T)(img)(_p3##x,_n4##y,z,c), I[82] = (T)(img)(_p2##x,_n4##y,z,c), I[83] = (T)(img)(_p1##x,_n4##y,z,c), I[84] = (T)(img)(x,_n4##y,z,c), I[85] = (T)(img)(_n1##x,_n4##y,z,c), I[86] = (T)(img)(_n2##x,_n4##y,z,c), I[87] = (T)(img)(_n3##x,_n4##y,z,c), I[88] = (T)(img)(_n4##x,_n4##y,z,c), I[89] = (T)(img)(_n5##x,_n4##y,z,c), \
+ I[90] = (T)(img)(_p4##x,_n5##y,z,c), I[91] = (T)(img)(_p3##x,_n5##y,z,c), I[92] = (T)(img)(_p2##x,_n5##y,z,c), I[93] = (T)(img)(_p1##x,_n5##y,z,c), I[94] = (T)(img)(x,_n5##y,z,c), I[95] = (T)(img)(_n1##x,_n5##y,z,c), I[96] = (T)(img)(_n2##x,_n5##y,z,c), I[97] = (T)(img)(_n3##x,_n5##y,z,c), I[98] = (T)(img)(_n4##x,_n5##y,z,c), I[99] = (T)(img)(_n5##x,_n5##y,z,c);
+
+// Define 11x11 loop macros
+//-------------------------
+#define cimg_for11(bound,i) for (int i = 0, \
+ _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5; \
+ _n5##i<(int)(bound) || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i)
+
+#define cimg_for11X(img,x) cimg_for11((img)._width,x)
+#define cimg_for11Y(img,y) cimg_for11((img)._height,y)
+#define cimg_for11Z(img,z) cimg_for11((img)._depth,z)
+#define cimg_for11C(img,c) cimg_for11((img)._spectrum,c)
+#define cimg_for11XY(img,x,y) cimg_for11Y(img,y) cimg_for11X(img,x)
+#define cimg_for11XZ(img,x,z) cimg_for11Z(img,z) cimg_for11X(img,x)
+#define cimg_for11XC(img,x,c) cimg_for11C(img,c) cimg_for11X(img,x)
+#define cimg_for11YZ(img,y,z) cimg_for11Z(img,z) cimg_for11Y(img,y)
+#define cimg_for11YC(img,y,c) cimg_for11C(img,c) cimg_for11Y(img,y)
+#define cimg_for11ZC(img,z,c) cimg_for11C(img,c) cimg_for11Z(img,z)
+#define cimg_for11XYZ(img,x,y,z) cimg_for11Z(img,z) cimg_for11XY(img,x,y)
+#define cimg_for11XZC(img,x,z,c) cimg_for11C(img,c) cimg_for11XZ(img,x,z)
+#define cimg_for11YZC(img,y,z,c) cimg_for11C(img,c) cimg_for11YZ(img,y,z)
+#define cimg_for11XYZC(img,x,y,z,c) cimg_for11C(img,c) cimg_for11XYZ(img,x,y,z)
+
+#define cimg_for_in11(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5; \
+ i<=(int)(i1) && (_n5##i<(int)(bound) || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i)
+
+#define cimg_for_in11X(img,x0,x1,x) cimg_for_in11((img)._width,x0,x1,x)
+#define cimg_for_in11Y(img,y0,y1,y) cimg_for_in11((img)._height,y0,y1,y)
+#define cimg_for_in11Z(img,z0,z1,z) cimg_for_in11((img)._depth,z0,z1,z)
+#define cimg_for_in11C(img,c0,c1,c) cimg_for_in11((img)._spectrum,c0,c1,c)
+#define cimg_for_in11XY(img,x0,y0,x1,y1,x,y) cimg_for_in11Y(img,y0,y1,y) cimg_for_in11X(img,x0,x1,x)
+#define cimg_for_in11XZ(img,x0,z0,x1,z1,x,z) cimg_for_in11Z(img,z0,z1,z) cimg_for_in11X(img,x0,x1,x)
+#define cimg_for_in11XC(img,x0,c0,x1,c1,x,c) cimg_for_in11C(img,c0,c1,c) cimg_for_in11X(img,x0,x1,x)
+#define cimg_for_in11YZ(img,y0,z0,y1,z1,y,z) cimg_for_in11Z(img,z0,z1,z) cimg_for_in11Y(img,y0,y1,y)
+#define cimg_for_in11YC(img,y0,c0,y1,c1,y,c) cimg_for_in11C(img,c0,c1,c) cimg_for_in11Y(img,y0,y1,y)
+#define cimg_for_in11ZC(img,z0,c0,z1,c1,z,c) cimg_for_in11C(img,c0,c1,c) cimg_for_in11Z(img,z0,z1,z)
+#define cimg_for_in11XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in11Z(img,z0,z1,z) cimg_for_in11XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in11XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in11C(img,c0,c1,c) cimg_for_in11XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in11YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in11C(img,c0,c1,c) cimg_for_in11YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in11XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in11C(img,c0,c1,c) cimg_for_in11XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for11x11(img,x,y,z,c,I,T) \
+ cimg_for11((img)._height,y) for (int x = 0, \
+ _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = (T)(img)(0,_p5##y,z,c)), \
+ (I[11] = I[12] = I[13] = I[14] = I[15] = I[16] = (T)(img)(0,_p4##y,z,c)), \
+ (I[22] = I[23] = I[24] = I[25] = I[26] = I[27] = (T)(img)(0,_p3##y,z,c)), \
+ (I[33] = I[34] = I[35] = I[36] = I[37] = I[38] = (T)(img)(0,_p2##y,z,c)), \
+ (I[44] = I[45] = I[46] = I[47] = I[48] = I[49] = (T)(img)(0,_p1##y,z,c)), \
+ (I[55] = I[56] = I[57] = I[58] = I[59] = I[60] = (T)(img)(0,y,z,c)), \
+ (I[66] = I[67] = I[68] = I[69] = I[70] = I[71] = (T)(img)(0,_n1##y,z,c)), \
+ (I[77] = I[78] = I[79] = I[80] = I[81] = I[82] = (T)(img)(0,_n2##y,z,c)), \
+ (I[88] = I[89] = I[90] = I[91] = I[92] = I[93] = (T)(img)(0,_n3##y,z,c)), \
+ (I[99] = I[100] = I[101] = I[102] = I[103] = I[104] = (T)(img)(0,_n4##y,z,c)), \
+ (I[110] = I[111] = I[112] = I[113] = I[114] = I[115] = (T)(img)(0,_n5##y,z,c)), \
+ (I[6] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[17] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[28] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[39] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[50] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[61] = (T)(img)(_n1##x,y,z,c)), \
+ (I[72] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[83] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[94] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[105] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[116] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[7] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[18] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[29] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[40] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[51] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[62] = (T)(img)(_n2##x,y,z,c)), \
+ (I[73] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[84] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[95] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[106] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[117] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[8] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[19] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[30] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[41] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[52] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[63] = (T)(img)(_n3##x,y,z,c)), \
+ (I[74] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[85] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[96] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[107] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[118] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[9] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[20] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[31] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[42] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[53] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[64] = (T)(img)(_n4##x,y,z,c)), \
+ (I[75] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[86] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[97] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[108] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[119] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ 5>=((img)._width)?(img).width() - 1:5); \
+ (_n5##x<(img).width() && ( \
+ (I[10] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[21] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[32] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[43] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[54] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[65] = (T)(img)(_n5##x,y,z,c)), \
+ (I[76] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[87] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[98] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[109] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[120] = (T)(img)(_n5##x,_n5##y,z,c)),1)) || \
+ _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], \
+ I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], \
+ I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], \
+ I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], \
+ I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], \
+ I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], \
+ I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], \
+ I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], \
+ I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], \
+ I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], \
+ I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], \
+ _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x)
+
+#define cimg_for_in11x11(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in11((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = (int)( \
+ (I[0] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[11] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[22] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[33] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[44] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[55] = (T)(img)(_p5##x,y,z,c)), \
+ (I[66] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[77] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[88] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[99] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[110] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[1] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[12] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[23] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[34] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[45] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[56] = (T)(img)(_p4##x,y,z,c)), \
+ (I[67] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[78] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[89] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[100] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[111] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[2] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[13] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[24] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[35] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[46] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[57] = (T)(img)(_p3##x,y,z,c)), \
+ (I[68] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[79] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[90] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[101] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[112] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[3] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[14] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[25] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[36] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[47] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[58] = (T)(img)(_p2##x,y,z,c)), \
+ (I[69] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[80] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[91] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[102] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[113] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[4] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[15] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[26] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[37] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[48] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[59] = (T)(img)(_p1##x,y,z,c)), \
+ (I[70] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[81] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[92] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[103] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[114] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[5] = (T)(img)(x,_p5##y,z,c)), \
+ (I[16] = (T)(img)(x,_p4##y,z,c)), \
+ (I[27] = (T)(img)(x,_p3##y,z,c)), \
+ (I[38] = (T)(img)(x,_p2##y,z,c)), \
+ (I[49] = (T)(img)(x,_p1##y,z,c)), \
+ (I[60] = (T)(img)(x,y,z,c)), \
+ (I[71] = (T)(img)(x,_n1##y,z,c)), \
+ (I[82] = (T)(img)(x,_n2##y,z,c)), \
+ (I[93] = (T)(img)(x,_n3##y,z,c)), \
+ (I[104] = (T)(img)(x,_n4##y,z,c)), \
+ (I[115] = (T)(img)(x,_n5##y,z,c)), \
+ (I[6] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[17] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[28] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[39] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[50] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[61] = (T)(img)(_n1##x,y,z,c)), \
+ (I[72] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[83] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[94] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[105] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[116] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[7] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[18] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[29] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[40] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[51] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[62] = (T)(img)(_n2##x,y,z,c)), \
+ (I[73] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[84] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[95] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[106] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[117] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[8] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[19] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[30] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[41] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[52] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[63] = (T)(img)(_n3##x,y,z,c)), \
+ (I[74] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[85] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[96] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[107] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[118] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[9] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[20] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[31] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[42] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[53] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[64] = (T)(img)(_n4##x,y,z,c)), \
+ (I[75] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[86] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[97] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[108] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[119] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ x + 5>=(img).width()?(img).width() - 1:x + 5); \
+ x<=(int)(x1) && ((_n5##x<(img).width() && ( \
+ (I[10] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[21] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[32] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[43] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[54] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[65] = (T)(img)(_n5##x,y,z,c)), \
+ (I[76] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[87] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[98] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[109] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[120] = (T)(img)(_n5##x,_n5##y,z,c)),1)) || \
+ _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], \
+ I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], \
+ I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], \
+ I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], \
+ I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], \
+ I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], \
+ I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], \
+ I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], \
+ I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], \
+ I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], \
+ I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], \
+ _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x)
+
+#define cimg_get11x11(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p5##x,_p5##y,z,c), I[1] = (T)(img)(_p4##x,_p5##y,z,c), I[2] = (T)(img)(_p3##x,_p5##y,z,c), I[3] = (T)(img)(_p2##x,_p5##y,z,c), I[4] = (T)(img)(_p1##x,_p5##y,z,c), I[5] = (T)(img)(x,_p5##y,z,c), I[6] = (T)(img)(_n1##x,_p5##y,z,c), I[7] = (T)(img)(_n2##x,_p5##y,z,c), I[8] = (T)(img)(_n3##x,_p5##y,z,c), I[9] = (T)(img)(_n4##x,_p5##y,z,c), I[10] = (T)(img)(_n5##x,_p5##y,z,c), \
+ I[11] = (T)(img)(_p5##x,_p4##y,z,c), I[12] = (T)(img)(_p4##x,_p4##y,z,c), I[13] = (T)(img)(_p3##x,_p4##y,z,c), I[14] = (T)(img)(_p2##x,_p4##y,z,c), I[15] = (T)(img)(_p1##x,_p4##y,z,c), I[16] = (T)(img)(x,_p4##y,z,c), I[17] = (T)(img)(_n1##x,_p4##y,z,c), I[18] = (T)(img)(_n2##x,_p4##y,z,c), I[19] = (T)(img)(_n3##x,_p4##y,z,c), I[20] = (T)(img)(_n4##x,_p4##y,z,c), I[21] = (T)(img)(_n5##x,_p4##y,z,c), \
+ I[22] = (T)(img)(_p5##x,_p3##y,z,c), I[23] = (T)(img)(_p4##x,_p3##y,z,c), I[24] = (T)(img)(_p3##x,_p3##y,z,c), I[25] = (T)(img)(_p2##x,_p3##y,z,c), I[26] = (T)(img)(_p1##x,_p3##y,z,c), I[27] = (T)(img)(x,_p3##y,z,c), I[28] = (T)(img)(_n1##x,_p3##y,z,c), I[29] = (T)(img)(_n2##x,_p3##y,z,c), I[30] = (T)(img)(_n3##x,_p3##y,z,c), I[31] = (T)(img)(_n4##x,_p3##y,z,c), I[32] = (T)(img)(_n5##x,_p3##y,z,c), \
+ I[33] = (T)(img)(_p5##x,_p2##y,z,c), I[34] = (T)(img)(_p4##x,_p2##y,z,c), I[35] = (T)(img)(_p3##x,_p2##y,z,c), I[36] = (T)(img)(_p2##x,_p2##y,z,c), I[37] = (T)(img)(_p1##x,_p2##y,z,c), I[38] = (T)(img)(x,_p2##y,z,c), I[39] = (T)(img)(_n1##x,_p2##y,z,c), I[40] = (T)(img)(_n2##x,_p2##y,z,c), I[41] = (T)(img)(_n3##x,_p2##y,z,c), I[42] = (T)(img)(_n4##x,_p2##y,z,c), I[43] = (T)(img)(_n5##x,_p2##y,z,c), \
+ I[44] = (T)(img)(_p5##x,_p1##y,z,c), I[45] = (T)(img)(_p4##x,_p1##y,z,c), I[46] = (T)(img)(_p3##x,_p1##y,z,c), I[47] = (T)(img)(_p2##x,_p1##y,z,c), I[48] = (T)(img)(_p1##x,_p1##y,z,c), I[49] = (T)(img)(x,_p1##y,z,c), I[50] = (T)(img)(_n1##x,_p1##y,z,c), I[51] = (T)(img)(_n2##x,_p1##y,z,c), I[52] = (T)(img)(_n3##x,_p1##y,z,c), I[53] = (T)(img)(_n4##x,_p1##y,z,c), I[54] = (T)(img)(_n5##x,_p1##y,z,c), \
+ I[55] = (T)(img)(_p5##x,y,z,c), I[56] = (T)(img)(_p4##x,y,z,c), I[57] = (T)(img)(_p3##x,y,z,c), I[58] = (T)(img)(_p2##x,y,z,c), I[59] = (T)(img)(_p1##x,y,z,c), I[60] = (T)(img)(x,y,z,c), I[61] = (T)(img)(_n1##x,y,z,c), I[62] = (T)(img)(_n2##x,y,z,c), I[63] = (T)(img)(_n3##x,y,z,c), I[64] = (T)(img)(_n4##x,y,z,c), I[65] = (T)(img)(_n5##x,y,z,c), \
+ I[66] = (T)(img)(_p5##x,_n1##y,z,c), I[67] = (T)(img)(_p4##x,_n1##y,z,c), I[68] = (T)(img)(_p3##x,_n1##y,z,c), I[69] = (T)(img)(_p2##x,_n1##y,z,c), I[70] = (T)(img)(_p1##x,_n1##y,z,c), I[71] = (T)(img)(x,_n1##y,z,c), I[72] = (T)(img)(_n1##x,_n1##y,z,c), I[73] = (T)(img)(_n2##x,_n1##y,z,c), I[74] = (T)(img)(_n3##x,_n1##y,z,c), I[75] = (T)(img)(_n4##x,_n1##y,z,c), I[76] = (T)(img)(_n5##x,_n1##y,z,c), \
+ I[77] = (T)(img)(_p5##x,_n2##y,z,c), I[78] = (T)(img)(_p4##x,_n2##y,z,c), I[79] = (T)(img)(_p3##x,_n2##y,z,c), I[80] = (T)(img)(_p2##x,_n2##y,z,c), I[81] = (T)(img)(_p1##x,_n2##y,z,c), I[82] = (T)(img)(x,_n2##y,z,c), I[83] = (T)(img)(_n1##x,_n2##y,z,c), I[84] = (T)(img)(_n2##x,_n2##y,z,c), I[85] = (T)(img)(_n3##x,_n2##y,z,c), I[86] = (T)(img)(_n4##x,_n2##y,z,c), I[87] = (T)(img)(_n5##x,_n2##y,z,c), \
+ I[88] = (T)(img)(_p5##x,_n3##y,z,c), I[89] = (T)(img)(_p4##x,_n3##y,z,c), I[90] = (T)(img)(_p3##x,_n3##y,z,c), I[91] = (T)(img)(_p2##x,_n3##y,z,c), I[92] = (T)(img)(_p1##x,_n3##y,z,c), I[93] = (T)(img)(x,_n3##y,z,c), I[94] = (T)(img)(_n1##x,_n3##y,z,c), I[95] = (T)(img)(_n2##x,_n3##y,z,c), I[96] = (T)(img)(_n3##x,_n3##y,z,c), I[97] = (T)(img)(_n4##x,_n3##y,z,c), I[98] = (T)(img)(_n5##x,_n3##y,z,c), \
+ I[99] = (T)(img)(_p5##x,_n4##y,z,c), I[100] = (T)(img)(_p4##x,_n4##y,z,c), I[101] = (T)(img)(_p3##x,_n4##y,z,c), I[102] = (T)(img)(_p2##x,_n4##y,z,c), I[103] = (T)(img)(_p1##x,_n4##y,z,c), I[104] = (T)(img)(x,_n4##y,z,c), I[105] = (T)(img)(_n1##x,_n4##y,z,c), I[106] = (T)(img)(_n2##x,_n4##y,z,c), I[107] = (T)(img)(_n3##x,_n4##y,z,c), I[108] = (T)(img)(_n4##x,_n4##y,z,c), I[109] = (T)(img)(_n5##x,_n4##y,z,c), \
+ I[110] = (T)(img)(_p5##x,_n5##y,z,c), I[111] = (T)(img)(_p4##x,_n5##y,z,c), I[112] = (T)(img)(_p3##x,_n5##y,z,c), I[113] = (T)(img)(_p2##x,_n5##y,z,c), I[114] = (T)(img)(_p1##x,_n5##y,z,c), I[115] = (T)(img)(x,_n5##y,z,c), I[116] = (T)(img)(_n1##x,_n5##y,z,c), I[117] = (T)(img)(_n2##x,_n5##y,z,c), I[118] = (T)(img)(_n3##x,_n5##y,z,c), I[119] = (T)(img)(_n4##x,_n5##y,z,c), I[120] = (T)(img)(_n5##x,_n5##y,z,c);
+
+// Define 12x12 loop macros
+//-------------------------
+#define cimg_for12(bound,i) for (int i = 0, \
+ _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5, \
+ _n6##i = 6>=(int)(bound)?(int)(bound) - 1:6; \
+ _n6##i<(int)(bound) || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i)
+
+#define cimg_for12X(img,x) cimg_for12((img)._width,x)
+#define cimg_for12Y(img,y) cimg_for12((img)._height,y)
+#define cimg_for12Z(img,z) cimg_for12((img)._depth,z)
+#define cimg_for12C(img,c) cimg_for12((img)._spectrum,c)
+#define cimg_for12XY(img,x,y) cimg_for12Y(img,y) cimg_for12X(img,x)
+#define cimg_for12XZ(img,x,z) cimg_for12Z(img,z) cimg_for12X(img,x)
+#define cimg_for12XC(img,x,c) cimg_for12C(img,c) cimg_for12X(img,x)
+#define cimg_for12YZ(img,y,z) cimg_for12Z(img,z) cimg_for12Y(img,y)
+#define cimg_for12YC(img,y,c) cimg_for12C(img,c) cimg_for12Y(img,y)
+#define cimg_for12ZC(img,z,c) cimg_for12C(img,c) cimg_for12Z(img,z)
+#define cimg_for12XYZ(img,x,y,z) cimg_for12Z(img,z) cimg_for12XY(img,x,y)
+#define cimg_for12XZC(img,x,z,c) cimg_for12C(img,c) cimg_for12XZ(img,x,z)
+#define cimg_for12YZC(img,y,z,c) cimg_for12C(img,c) cimg_for12YZ(img,y,z)
+#define cimg_for12XYZC(img,x,y,z,c) cimg_for12C(img,c) cimg_for12XYZ(img,x,y,z)
+
+#define cimg_for_in12(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5, \
+ _n6##i = i + 6>=(int)(bound)?(int)(bound) - 1:i + 6; \
+ i<=(int)(i1) && (_n6##i<(int)(bound) || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i)
+
+#define cimg_for_in12X(img,x0,x1,x) cimg_for_in12((img)._width,x0,x1,x)
+#define cimg_for_in12Y(img,y0,y1,y) cimg_for_in12((img)._height,y0,y1,y)
+#define cimg_for_in12Z(img,z0,z1,z) cimg_for_in12((img)._depth,z0,z1,z)
+#define cimg_for_in12C(img,c0,c1,c) cimg_for_in12((img)._spectrum,c0,c1,c)
+#define cimg_for_in12XY(img,x0,y0,x1,y1,x,y) cimg_for_in12Y(img,y0,y1,y) cimg_for_in12X(img,x0,x1,x)
+#define cimg_for_in12XZ(img,x0,z0,x1,z1,x,z) cimg_for_in12Z(img,z0,z1,z) cimg_for_in12X(img,x0,x1,x)
+#define cimg_for_in12XC(img,x0,c0,x1,c1,x,c) cimg_for_in12C(img,c0,c1,c) cimg_for_in12X(img,x0,x1,x)
+#define cimg_for_in12YZ(img,y0,z0,y1,z1,y,z) cimg_for_in12Z(img,z0,z1,z) cimg_for_in12Y(img,y0,y1,y)
+#define cimg_for_in12YC(img,y0,c0,y1,c1,y,c) cimg_for_in12C(img,c0,c1,c) cimg_for_in12Y(img,y0,y1,y)
+#define cimg_for_in12ZC(img,z0,c0,z1,c1,z,c) cimg_for_in12C(img,c0,c1,c) cimg_for_in12Z(img,z0,z1,z)
+#define cimg_for_in12XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in12Z(img,z0,z1,z) cimg_for_in12XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in12XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in12C(img,c0,c1,c) cimg_for_in12XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in12YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in12C(img,c0,c1,c) cimg_for_in12YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in12XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in12C(img,c0,c1,c) cimg_for_in12XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for12x12(img,x,y,z,c,I,T) \
+ cimg_for12((img)._height,y) for (int x = 0, \
+ _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = 5>=((img)._width)?(img).width() - 1:5, \
+ _n6##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = (T)(img)(0,_p5##y,z,c)), \
+ (I[12] = I[13] = I[14] = I[15] = I[16] = I[17] = (T)(img)(0,_p4##y,z,c)), \
+ (I[24] = I[25] = I[26] = I[27] = I[28] = I[29] = (T)(img)(0,_p3##y,z,c)), \
+ (I[36] = I[37] = I[38] = I[39] = I[40] = I[41] = (T)(img)(0,_p2##y,z,c)), \
+ (I[48] = I[49] = I[50] = I[51] = I[52] = I[53] = (T)(img)(0,_p1##y,z,c)), \
+ (I[60] = I[61] = I[62] = I[63] = I[64] = I[65] = (T)(img)(0,y,z,c)), \
+ (I[72] = I[73] = I[74] = I[75] = I[76] = I[77] = (T)(img)(0,_n1##y,z,c)), \
+ (I[84] = I[85] = I[86] = I[87] = I[88] = I[89] = (T)(img)(0,_n2##y,z,c)), \
+ (I[96] = I[97] = I[98] = I[99] = I[100] = I[101] = (T)(img)(0,_n3##y,z,c)), \
+ (I[108] = I[109] = I[110] = I[111] = I[112] = I[113] = (T)(img)(0,_n4##y,z,c)), \
+ (I[120] = I[121] = I[122] = I[123] = I[124] = I[125] = (T)(img)(0,_n5##y,z,c)), \
+ (I[132] = I[133] = I[134] = I[135] = I[136] = I[137] = (T)(img)(0,_n6##y,z,c)), \
+ (I[6] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[18] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[30] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[42] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[54] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[66] = (T)(img)(_n1##x,y,z,c)), \
+ (I[78] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[90] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[102] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[114] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[126] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[138] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[7] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[19] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[31] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[43] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[55] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[67] = (T)(img)(_n2##x,y,z,c)), \
+ (I[79] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[91] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[103] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[115] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[127] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[139] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[8] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[20] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[32] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[44] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[56] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[68] = (T)(img)(_n3##x,y,z,c)), \
+ (I[80] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[92] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[104] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[116] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[128] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[140] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[9] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[21] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[33] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[45] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[57] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[69] = (T)(img)(_n4##x,y,z,c)), \
+ (I[81] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[93] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[105] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[117] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[129] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[141] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[10] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[22] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[34] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[46] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[58] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[70] = (T)(img)(_n5##x,y,z,c)), \
+ (I[82] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[94] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[106] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[118] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[130] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[142] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ 6>=((img)._width)?(img).width() - 1:6); \
+ (_n6##x<(img).width() && ( \
+ (I[11] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[23] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[35] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[47] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[59] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[71] = (T)(img)(_n6##x,y,z,c)), \
+ (I[83] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[95] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[107] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[119] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[131] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[143] = (T)(img)(_n6##x,_n6##y,z,c)),1)) || \
+ _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], \
+ I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], \
+ I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], \
+ I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], \
+ I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], \
+ I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], \
+ I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], \
+ I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], \
+ I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], \
+ I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], \
+ I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], \
+ I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], \
+ _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x)
+
+#define cimg_for_in12x12(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in12((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = x + 5>=(img).width()?(img).width() - 1:x + 5, \
+ _n6##x = (int)( \
+ (I[0] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[12] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[24] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[36] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[48] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[60] = (T)(img)(_p5##x,y,z,c)), \
+ (I[72] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[84] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[96] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[108] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[120] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[132] = (T)(img)(_p5##x,_n6##y,z,c)), \
+ (I[1] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[13] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[25] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[37] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[49] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[61] = (T)(img)(_p4##x,y,z,c)), \
+ (I[73] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[85] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[97] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[109] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[121] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[133] = (T)(img)(_p4##x,_n6##y,z,c)), \
+ (I[2] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[14] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[26] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[38] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[50] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[62] = (T)(img)(_p3##x,y,z,c)), \
+ (I[74] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[86] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[98] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[110] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[122] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[134] = (T)(img)(_p3##x,_n6##y,z,c)), \
+ (I[3] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[15] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[27] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[39] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[51] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[63] = (T)(img)(_p2##x,y,z,c)), \
+ (I[75] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[87] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[99] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[111] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[123] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[135] = (T)(img)(_p2##x,_n6##y,z,c)), \
+ (I[4] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[16] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[28] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[40] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[52] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[64] = (T)(img)(_p1##x,y,z,c)), \
+ (I[76] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[88] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[100] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[112] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[124] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[136] = (T)(img)(_p1##x,_n6##y,z,c)), \
+ (I[5] = (T)(img)(x,_p5##y,z,c)), \
+ (I[17] = (T)(img)(x,_p4##y,z,c)), \
+ (I[29] = (T)(img)(x,_p3##y,z,c)), \
+ (I[41] = (T)(img)(x,_p2##y,z,c)), \
+ (I[53] = (T)(img)(x,_p1##y,z,c)), \
+ (I[65] = (T)(img)(x,y,z,c)), \
+ (I[77] = (T)(img)(x,_n1##y,z,c)), \
+ (I[89] = (T)(img)(x,_n2##y,z,c)), \
+ (I[101] = (T)(img)(x,_n3##y,z,c)), \
+ (I[113] = (T)(img)(x,_n4##y,z,c)), \
+ (I[125] = (T)(img)(x,_n5##y,z,c)), \
+ (I[137] = (T)(img)(x,_n6##y,z,c)), \
+ (I[6] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[18] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[30] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[42] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[54] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[66] = (T)(img)(_n1##x,y,z,c)), \
+ (I[78] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[90] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[102] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[114] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[126] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[138] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[7] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[19] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[31] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[43] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[55] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[67] = (T)(img)(_n2##x,y,z,c)), \
+ (I[79] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[91] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[103] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[115] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[127] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[139] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[8] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[20] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[32] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[44] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[56] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[68] = (T)(img)(_n3##x,y,z,c)), \
+ (I[80] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[92] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[104] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[116] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[128] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[140] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[9] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[21] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[33] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[45] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[57] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[69] = (T)(img)(_n4##x,y,z,c)), \
+ (I[81] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[93] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[105] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[117] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[129] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[141] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[10] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[22] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[34] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[46] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[58] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[70] = (T)(img)(_n5##x,y,z,c)), \
+ (I[82] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[94] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[106] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[118] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[130] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[142] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ x + 6>=(img).width()?(img).width() - 1:x + 6); \
+ x<=(int)(x1) && ((_n6##x<(img).width() && ( \
+ (I[11] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[23] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[35] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[47] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[59] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[71] = (T)(img)(_n6##x,y,z,c)), \
+ (I[83] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[95] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[107] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[119] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[131] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[143] = (T)(img)(_n6##x,_n6##y,z,c)),1)) || \
+ _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], \
+ I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], \
+ I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], \
+ I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], \
+ I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], \
+ I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], \
+ I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], \
+ I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], \
+ I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], \
+ I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], \
+ I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], \
+ I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], \
+ _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x)
+
+#define cimg_get12x12(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p5##x,_p5##y,z,c), I[1] = (T)(img)(_p4##x,_p5##y,z,c), I[2] = (T)(img)(_p3##x,_p5##y,z,c), I[3] = (T)(img)(_p2##x,_p5##y,z,c), I[4] = (T)(img)(_p1##x,_p5##y,z,c), I[5] = (T)(img)(x,_p5##y,z,c), I[6] = (T)(img)(_n1##x,_p5##y,z,c), I[7] = (T)(img)(_n2##x,_p5##y,z,c), I[8] = (T)(img)(_n3##x,_p5##y,z,c), I[9] = (T)(img)(_n4##x,_p5##y,z,c), I[10] = (T)(img)(_n5##x,_p5##y,z,c), I[11] = (T)(img)(_n6##x,_p5##y,z,c), \
+ I[12] = (T)(img)(_p5##x,_p4##y,z,c), I[13] = (T)(img)(_p4##x,_p4##y,z,c), I[14] = (T)(img)(_p3##x,_p4##y,z,c), I[15] = (T)(img)(_p2##x,_p4##y,z,c), I[16] = (T)(img)(_p1##x,_p4##y,z,c), I[17] = (T)(img)(x,_p4##y,z,c), I[18] = (T)(img)(_n1##x,_p4##y,z,c), I[19] = (T)(img)(_n2##x,_p4##y,z,c), I[20] = (T)(img)(_n3##x,_p4##y,z,c), I[21] = (T)(img)(_n4##x,_p4##y,z,c), I[22] = (T)(img)(_n5##x,_p4##y,z,c), I[23] = (T)(img)(_n6##x,_p4##y,z,c), \
+ I[24] = (T)(img)(_p5##x,_p3##y,z,c), I[25] = (T)(img)(_p4##x,_p3##y,z,c), I[26] = (T)(img)(_p3##x,_p3##y,z,c), I[27] = (T)(img)(_p2##x,_p3##y,z,c), I[28] = (T)(img)(_p1##x,_p3##y,z,c), I[29] = (T)(img)(x,_p3##y,z,c), I[30] = (T)(img)(_n1##x,_p3##y,z,c), I[31] = (T)(img)(_n2##x,_p3##y,z,c), I[32] = (T)(img)(_n3##x,_p3##y,z,c), I[33] = (T)(img)(_n4##x,_p3##y,z,c), I[34] = (T)(img)(_n5##x,_p3##y,z,c), I[35] = (T)(img)(_n6##x,_p3##y,z,c), \
+ I[36] = (T)(img)(_p5##x,_p2##y,z,c), I[37] = (T)(img)(_p4##x,_p2##y,z,c), I[38] = (T)(img)(_p3##x,_p2##y,z,c), I[39] = (T)(img)(_p2##x,_p2##y,z,c), I[40] = (T)(img)(_p1##x,_p2##y,z,c), I[41] = (T)(img)(x,_p2##y,z,c), I[42] = (T)(img)(_n1##x,_p2##y,z,c), I[43] = (T)(img)(_n2##x,_p2##y,z,c), I[44] = (T)(img)(_n3##x,_p2##y,z,c), I[45] = (T)(img)(_n4##x,_p2##y,z,c), I[46] = (T)(img)(_n5##x,_p2##y,z,c), I[47] = (T)(img)(_n6##x,_p2##y,z,c), \
+ I[48] = (T)(img)(_p5##x,_p1##y,z,c), I[49] = (T)(img)(_p4##x,_p1##y,z,c), I[50] = (T)(img)(_p3##x,_p1##y,z,c), I[51] = (T)(img)(_p2##x,_p1##y,z,c), I[52] = (T)(img)(_p1##x,_p1##y,z,c), I[53] = (T)(img)(x,_p1##y,z,c), I[54] = (T)(img)(_n1##x,_p1##y,z,c), I[55] = (T)(img)(_n2##x,_p1##y,z,c), I[56] = (T)(img)(_n3##x,_p1##y,z,c), I[57] = (T)(img)(_n4##x,_p1##y,z,c), I[58] = (T)(img)(_n5##x,_p1##y,z,c), I[59] = (T)(img)(_n6##x,_p1##y,z,c), \
+ I[60] = (T)(img)(_p5##x,y,z,c), I[61] = (T)(img)(_p4##x,y,z,c), I[62] = (T)(img)(_p3##x,y,z,c), I[63] = (T)(img)(_p2##x,y,z,c), I[64] = (T)(img)(_p1##x,y,z,c), I[65] = (T)(img)(x,y,z,c), I[66] = (T)(img)(_n1##x,y,z,c), I[67] = (T)(img)(_n2##x,y,z,c), I[68] = (T)(img)(_n3##x,y,z,c), I[69] = (T)(img)(_n4##x,y,z,c), I[70] = (T)(img)(_n5##x,y,z,c), I[71] = (T)(img)(_n6##x,y,z,c), \
+ I[72] = (T)(img)(_p5##x,_n1##y,z,c), I[73] = (T)(img)(_p4##x,_n1##y,z,c), I[74] = (T)(img)(_p3##x,_n1##y,z,c), I[75] = (T)(img)(_p2##x,_n1##y,z,c), I[76] = (T)(img)(_p1##x,_n1##y,z,c), I[77] = (T)(img)(x,_n1##y,z,c), I[78] = (T)(img)(_n1##x,_n1##y,z,c), I[79] = (T)(img)(_n2##x,_n1##y,z,c), I[80] = (T)(img)(_n3##x,_n1##y,z,c), I[81] = (T)(img)(_n4##x,_n1##y,z,c), I[82] = (T)(img)(_n5##x,_n1##y,z,c), I[83] = (T)(img)(_n6##x,_n1##y,z,c), \
+ I[84] = (T)(img)(_p5##x,_n2##y,z,c), I[85] = (T)(img)(_p4##x,_n2##y,z,c), I[86] = (T)(img)(_p3##x,_n2##y,z,c), I[87] = (T)(img)(_p2##x,_n2##y,z,c), I[88] = (T)(img)(_p1##x,_n2##y,z,c), I[89] = (T)(img)(x,_n2##y,z,c), I[90] = (T)(img)(_n1##x,_n2##y,z,c), I[91] = (T)(img)(_n2##x,_n2##y,z,c), I[92] = (T)(img)(_n3##x,_n2##y,z,c), I[93] = (T)(img)(_n4##x,_n2##y,z,c), I[94] = (T)(img)(_n5##x,_n2##y,z,c), I[95] = (T)(img)(_n6##x,_n2##y,z,c), \
+ I[96] = (T)(img)(_p5##x,_n3##y,z,c), I[97] = (T)(img)(_p4##x,_n3##y,z,c), I[98] = (T)(img)(_p3##x,_n3##y,z,c), I[99] = (T)(img)(_p2##x,_n3##y,z,c), I[100] = (T)(img)(_p1##x,_n3##y,z,c), I[101] = (T)(img)(x,_n3##y,z,c), I[102] = (T)(img)(_n1##x,_n3##y,z,c), I[103] = (T)(img)(_n2##x,_n3##y,z,c), I[104] = (T)(img)(_n3##x,_n3##y,z,c), I[105] = (T)(img)(_n4##x,_n3##y,z,c), I[106] = (T)(img)(_n5##x,_n3##y,z,c), I[107] = (T)(img)(_n6##x,_n3##y,z,c), \
+ I[108] = (T)(img)(_p5##x,_n4##y,z,c), I[109] = (T)(img)(_p4##x,_n4##y,z,c), I[110] = (T)(img)(_p3##x,_n4##y,z,c), I[111] = (T)(img)(_p2##x,_n4##y,z,c), I[112] = (T)(img)(_p1##x,_n4##y,z,c), I[113] = (T)(img)(x,_n4##y,z,c), I[114] = (T)(img)(_n1##x,_n4##y,z,c), I[115] = (T)(img)(_n2##x,_n4##y,z,c), I[116] = (T)(img)(_n3##x,_n4##y,z,c), I[117] = (T)(img)(_n4##x,_n4##y,z,c), I[118] = (T)(img)(_n5##x,_n4##y,z,c), I[119] = (T)(img)(_n6##x,_n4##y,z,c), \
+ I[120] = (T)(img)(_p5##x,_n5##y,z,c), I[121] = (T)(img)(_p4##x,_n5##y,z,c), I[122] = (T)(img)(_p3##x,_n5##y,z,c), I[123] = (T)(img)(_p2##x,_n5##y,z,c), I[124] = (T)(img)(_p1##x,_n5##y,z,c), I[125] = (T)(img)(x,_n5##y,z,c), I[126] = (T)(img)(_n1##x,_n5##y,z,c), I[127] = (T)(img)(_n2##x,_n5##y,z,c), I[128] = (T)(img)(_n3##x,_n5##y,z,c), I[129] = (T)(img)(_n4##x,_n5##y,z,c), I[130] = (T)(img)(_n5##x,_n5##y,z,c), I[131] = (T)(img)(_n6##x,_n5##y,z,c), \
+ I[132] = (T)(img)(_p5##x,_n6##y,z,c), I[133] = (T)(img)(_p4##x,_n6##y,z,c), I[134] = (T)(img)(_p3##x,_n6##y,z,c), I[135] = (T)(img)(_p2##x,_n6##y,z,c), I[136] = (T)(img)(_p1##x,_n6##y,z,c), I[137] = (T)(img)(x,_n6##y,z,c), I[138] = (T)(img)(_n1##x,_n6##y,z,c), I[139] = (T)(img)(_n2##x,_n6##y,z,c), I[140] = (T)(img)(_n3##x,_n6##y,z,c), I[141] = (T)(img)(_n4##x,_n6##y,z,c), I[142] = (T)(img)(_n5##x,_n6##y,z,c), I[143] = (T)(img)(_n6##x,_n6##y,z,c);
+
+// Define 13x13 loop macros
+//-------------------------
+#define cimg_for13(bound,i) for (int i = 0, \
+ _p6##i = 0, _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5, \
+ _n6##i = 6>=(int)(bound)?(int)(bound) - 1:6; \
+ _n6##i<(int)(bound) || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i)
+
+#define cimg_for13X(img,x) cimg_for13((img)._width,x)
+#define cimg_for13Y(img,y) cimg_for13((img)._height,y)
+#define cimg_for13Z(img,z) cimg_for13((img)._depth,z)
+#define cimg_for13C(img,c) cimg_for13((img)._spectrum,c)
+#define cimg_for13XY(img,x,y) cimg_for13Y(img,y) cimg_for13X(img,x)
+#define cimg_for13XZ(img,x,z) cimg_for13Z(img,z) cimg_for13X(img,x)
+#define cimg_for13XC(img,x,c) cimg_for13C(img,c) cimg_for13X(img,x)
+#define cimg_for13YZ(img,y,z) cimg_for13Z(img,z) cimg_for13Y(img,y)
+#define cimg_for13YC(img,y,c) cimg_for13C(img,c) cimg_for13Y(img,y)
+#define cimg_for13ZC(img,z,c) cimg_for13C(img,c) cimg_for13Z(img,z)
+#define cimg_for13XYZ(img,x,y,z) cimg_for13Z(img,z) cimg_for13XY(img,x,y)
+#define cimg_for13XZC(img,x,z,c) cimg_for13C(img,c) cimg_for13XZ(img,x,z)
+#define cimg_for13YZC(img,y,z,c) cimg_for13C(img,c) cimg_for13YZ(img,y,z)
+#define cimg_for13XYZC(img,x,y,z,c) cimg_for13C(img,c) cimg_for13XYZ(img,x,y,z)
+
+#define cimg_for_in13(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p6##i = i - 6<0?0:i - 6, \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5, \
+ _n6##i = i + 6>=(int)(bound)?(int)(bound) - 1:i + 6; \
+ i<=(int)(i1) && (_n6##i<(int)(bound) || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i)
+
+#define cimg_for_in13X(img,x0,x1,x) cimg_for_in13((img)._width,x0,x1,x)
+#define cimg_for_in13Y(img,y0,y1,y) cimg_for_in13((img)._height,y0,y1,y)
+#define cimg_for_in13Z(img,z0,z1,z) cimg_for_in13((img)._depth,z0,z1,z)
+#define cimg_for_in13C(img,c0,c1,c) cimg_for_in13((img)._spectrum,c0,c1,c)
+#define cimg_for_in13XY(img,x0,y0,x1,y1,x,y) cimg_for_in13Y(img,y0,y1,y) cimg_for_in13X(img,x0,x1,x)
+#define cimg_for_in13XZ(img,x0,z0,x1,z1,x,z) cimg_for_in13Z(img,z0,z1,z) cimg_for_in13X(img,x0,x1,x)
+#define cimg_for_in13XC(img,x0,c0,x1,c1,x,c) cimg_for_in13C(img,c0,c1,c) cimg_for_in13X(img,x0,x1,x)
+#define cimg_for_in13YZ(img,y0,z0,y1,z1,y,z) cimg_for_in13Z(img,z0,z1,z) cimg_for_in13Y(img,y0,y1,y)
+#define cimg_for_in13YC(img,y0,c0,y1,c1,y,c) cimg_for_in13C(img,c0,c1,c) cimg_for_in13Y(img,y0,y1,y)
+#define cimg_for_in13ZC(img,z0,c0,z1,c1,z,c) cimg_for_in13C(img,c0,c1,c) cimg_for_in13Z(img,z0,z1,z)
+#define cimg_for_in13XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in13Z(img,z0,z1,z) cimg_for_in13XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in13XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in13C(img,c0,c1,c) cimg_for_in13XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in13YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in13C(img,c0,c1,c) cimg_for_in13YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in13XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in13C(img,c0,c1,c) cimg_for_in13XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for13x13(img,x,y,z,c,I,T) \
+ cimg_for13((img)._height,y) for (int x = 0, \
+ _p6##x = 0, _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = 5>=((img)._width)?(img).width() - 1:5, \
+ _n6##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = I[6] = (T)(img)(0,_p6##y,z,c)), \
+ (I[13] = I[14] = I[15] = I[16] = I[17] = I[18] = I[19] = (T)(img)(0,_p5##y,z,c)), \
+ (I[26] = I[27] = I[28] = I[29] = I[30] = I[31] = I[32] = (T)(img)(0,_p4##y,z,c)), \
+ (I[39] = I[40] = I[41] = I[42] = I[43] = I[44] = I[45] = (T)(img)(0,_p3##y,z,c)), \
+ (I[52] = I[53] = I[54] = I[55] = I[56] = I[57] = I[58] = (T)(img)(0,_p2##y,z,c)), \
+ (I[65] = I[66] = I[67] = I[68] = I[69] = I[70] = I[71] = (T)(img)(0,_p1##y,z,c)), \
+ (I[78] = I[79] = I[80] = I[81] = I[82] = I[83] = I[84] = (T)(img)(0,y,z,c)), \
+ (I[91] = I[92] = I[93] = I[94] = I[95] = I[96] = I[97] = (T)(img)(0,_n1##y,z,c)), \
+ (I[104] = I[105] = I[106] = I[107] = I[108] = I[109] = I[110] = (T)(img)(0,_n2##y,z,c)), \
+ (I[117] = I[118] = I[119] = I[120] = I[121] = I[122] = I[123] = (T)(img)(0,_n3##y,z,c)), \
+ (I[130] = I[131] = I[132] = I[133] = I[134] = I[135] = I[136] = (T)(img)(0,_n4##y,z,c)), \
+ (I[143] = I[144] = I[145] = I[146] = I[147] = I[148] = I[149] = (T)(img)(0,_n5##y,z,c)), \
+ (I[156] = I[157] = I[158] = I[159] = I[160] = I[161] = I[162] = (T)(img)(0,_n6##y,z,c)), \
+ (I[7] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[20] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[33] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[46] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[59] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[72] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[85] = (T)(img)(_n1##x,y,z,c)), \
+ (I[98] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[111] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[124] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[137] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[150] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[163] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[8] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[21] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[34] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[47] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[60] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[73] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[86] = (T)(img)(_n2##x,y,z,c)), \
+ (I[99] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[112] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[125] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[138] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[151] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[164] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[9] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[22] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[35] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[48] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[61] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[74] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[87] = (T)(img)(_n3##x,y,z,c)), \
+ (I[100] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[113] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[126] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[139] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[152] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[165] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[10] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[23] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[36] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[49] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[62] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[75] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[88] = (T)(img)(_n4##x,y,z,c)), \
+ (I[101] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[114] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[127] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[140] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[153] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[166] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[11] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[24] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[37] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[50] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[63] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[76] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[89] = (T)(img)(_n5##x,y,z,c)), \
+ (I[102] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[115] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[128] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[141] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[154] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[167] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ 6>=((img)._width)?(img).width() - 1:6); \
+ (_n6##x<(img).width() && ( \
+ (I[12] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[25] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[38] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[51] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[64] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[77] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[90] = (T)(img)(_n6##x,y,z,c)), \
+ (I[103] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[116] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[129] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[142] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[155] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[168] = (T)(img)(_n6##x,_n6##y,z,c)),1)) || \
+ _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], \
+ I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], \
+ I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], \
+ I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], \
+ I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], \
+ I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], \
+ I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], \
+ I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], \
+ I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], \
+ I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], \
+ I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], \
+ I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], \
+ I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], \
+ _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x)
+
+#define cimg_for_in13x13(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in13((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p6##x = x - 6<0?0:x - 6, \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = x + 5>=(img).width()?(img).width() - 1:x + 5, \
+ _n6##x = (int)( \
+ (I[0] = (T)(img)(_p6##x,_p6##y,z,c)), \
+ (I[13] = (T)(img)(_p6##x,_p5##y,z,c)), \
+ (I[26] = (T)(img)(_p6##x,_p4##y,z,c)), \
+ (I[39] = (T)(img)(_p6##x,_p3##y,z,c)), \
+ (I[52] = (T)(img)(_p6##x,_p2##y,z,c)), \
+ (I[65] = (T)(img)(_p6##x,_p1##y,z,c)), \
+ (I[78] = (T)(img)(_p6##x,y,z,c)), \
+ (I[91] = (T)(img)(_p6##x,_n1##y,z,c)), \
+ (I[104] = (T)(img)(_p6##x,_n2##y,z,c)), \
+ (I[117] = (T)(img)(_p6##x,_n3##y,z,c)), \
+ (I[130] = (T)(img)(_p6##x,_n4##y,z,c)), \
+ (I[143] = (T)(img)(_p6##x,_n5##y,z,c)), \
+ (I[156] = (T)(img)(_p6##x,_n6##y,z,c)), \
+ (I[1] = (T)(img)(_p5##x,_p6##y,z,c)), \
+ (I[14] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[27] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[40] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[53] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[66] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[79] = (T)(img)(_p5##x,y,z,c)), \
+ (I[92] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[105] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[118] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[131] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[144] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[157] = (T)(img)(_p5##x,_n6##y,z,c)), \
+ (I[2] = (T)(img)(_p4##x,_p6##y,z,c)), \
+ (I[15] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[28] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[41] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[54] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[67] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[80] = (T)(img)(_p4##x,y,z,c)), \
+ (I[93] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[106] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[119] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[132] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[145] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[158] = (T)(img)(_p4##x,_n6##y,z,c)), \
+ (I[3] = (T)(img)(_p3##x,_p6##y,z,c)), \
+ (I[16] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[29] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[42] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[55] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[68] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[81] = (T)(img)(_p3##x,y,z,c)), \
+ (I[94] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[107] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[120] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[133] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[146] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[159] = (T)(img)(_p3##x,_n6##y,z,c)), \
+ (I[4] = (T)(img)(_p2##x,_p6##y,z,c)), \
+ (I[17] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[30] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[43] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[56] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[69] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[82] = (T)(img)(_p2##x,y,z,c)), \
+ (I[95] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[108] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[121] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[134] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[147] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[160] = (T)(img)(_p2##x,_n6##y,z,c)), \
+ (I[5] = (T)(img)(_p1##x,_p6##y,z,c)), \
+ (I[18] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[31] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[44] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[57] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[70] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[83] = (T)(img)(_p1##x,y,z,c)), \
+ (I[96] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[109] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[122] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[135] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[148] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[161] = (T)(img)(_p1##x,_n6##y,z,c)), \
+ (I[6] = (T)(img)(x,_p6##y,z,c)), \
+ (I[19] = (T)(img)(x,_p5##y,z,c)), \
+ (I[32] = (T)(img)(x,_p4##y,z,c)), \
+ (I[45] = (T)(img)(x,_p3##y,z,c)), \
+ (I[58] = (T)(img)(x,_p2##y,z,c)), \
+ (I[71] = (T)(img)(x,_p1##y,z,c)), \
+ (I[84] = (T)(img)(x,y,z,c)), \
+ (I[97] = (T)(img)(x,_n1##y,z,c)), \
+ (I[110] = (T)(img)(x,_n2##y,z,c)), \
+ (I[123] = (T)(img)(x,_n3##y,z,c)), \
+ (I[136] = (T)(img)(x,_n4##y,z,c)), \
+ (I[149] = (T)(img)(x,_n5##y,z,c)), \
+ (I[162] = (T)(img)(x,_n6##y,z,c)), \
+ (I[7] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[20] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[33] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[46] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[59] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[72] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[85] = (T)(img)(_n1##x,y,z,c)), \
+ (I[98] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[111] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[124] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[137] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[150] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[163] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[8] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[21] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[34] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[47] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[60] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[73] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[86] = (T)(img)(_n2##x,y,z,c)), \
+ (I[99] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[112] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[125] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[138] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[151] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[164] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[9] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[22] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[35] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[48] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[61] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[74] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[87] = (T)(img)(_n3##x,y,z,c)), \
+ (I[100] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[113] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[126] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[139] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[152] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[165] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[10] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[23] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[36] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[49] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[62] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[75] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[88] = (T)(img)(_n4##x,y,z,c)), \
+ (I[101] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[114] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[127] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[140] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[153] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[166] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[11] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[24] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[37] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[50] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[63] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[76] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[89] = (T)(img)(_n5##x,y,z,c)), \
+ (I[102] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[115] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[128] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[141] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[154] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[167] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ x + 6>=(img).width()?(img).width() - 1:x + 6); \
+ x<=(int)(x1) && ((_n6##x<(img).width() && ( \
+ (I[12] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[25] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[38] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[51] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[64] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[77] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[90] = (T)(img)(_n6##x,y,z,c)), \
+ (I[103] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[116] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[129] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[142] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[155] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[168] = (T)(img)(_n6##x,_n6##y,z,c)),1)) || \
+ _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], \
+ I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], \
+ I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], \
+ I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], \
+ I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], \
+ I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], \
+ I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], \
+ I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], \
+ I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], \
+ I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], \
+ I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], \
+ I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], \
+ I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], \
+ _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x)
+
+#define cimg_get13x13(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p6##x,_p6##y,z,c), I[1] = (T)(img)(_p5##x,_p6##y,z,c), I[2] = (T)(img)(_p4##x,_p6##y,z,c), I[3] = (T)(img)(_p3##x,_p6##y,z,c), I[4] = (T)(img)(_p2##x,_p6##y,z,c), I[5] = (T)(img)(_p1##x,_p6##y,z,c), I[6] = (T)(img)(x,_p6##y,z,c), I[7] = (T)(img)(_n1##x,_p6##y,z,c), I[8] = (T)(img)(_n2##x,_p6##y,z,c), I[9] = (T)(img)(_n3##x,_p6##y,z,c), I[10] = (T)(img)(_n4##x,_p6##y,z,c), I[11] = (T)(img)(_n5##x,_p6##y,z,c), I[12] = (T)(img)(_n6##x,_p6##y,z,c), \
+ I[13] = (T)(img)(_p6##x,_p5##y,z,c), I[14] = (T)(img)(_p5##x,_p5##y,z,c), I[15] = (T)(img)(_p4##x,_p5##y,z,c), I[16] = (T)(img)(_p3##x,_p5##y,z,c), I[17] = (T)(img)(_p2##x,_p5##y,z,c), I[18] = (T)(img)(_p1##x,_p5##y,z,c), I[19] = (T)(img)(x,_p5##y,z,c), I[20] = (T)(img)(_n1##x,_p5##y,z,c), I[21] = (T)(img)(_n2##x,_p5##y,z,c), I[22] = (T)(img)(_n3##x,_p5##y,z,c), I[23] = (T)(img)(_n4##x,_p5##y,z,c), I[24] = (T)(img)(_n5##x,_p5##y,z,c), I[25] = (T)(img)(_n6##x,_p5##y,z,c), \
+ I[26] = (T)(img)(_p6##x,_p4##y,z,c), I[27] = (T)(img)(_p5##x,_p4##y,z,c), I[28] = (T)(img)(_p4##x,_p4##y,z,c), I[29] = (T)(img)(_p3##x,_p4##y,z,c), I[30] = (T)(img)(_p2##x,_p4##y,z,c), I[31] = (T)(img)(_p1##x,_p4##y,z,c), I[32] = (T)(img)(x,_p4##y,z,c), I[33] = (T)(img)(_n1##x,_p4##y,z,c), I[34] = (T)(img)(_n2##x,_p4##y,z,c), I[35] = (T)(img)(_n3##x,_p4##y,z,c), I[36] = (T)(img)(_n4##x,_p4##y,z,c), I[37] = (T)(img)(_n5##x,_p4##y,z,c), I[38] = (T)(img)(_n6##x,_p4##y,z,c), \
+ I[39] = (T)(img)(_p6##x,_p3##y,z,c), I[40] = (T)(img)(_p5##x,_p3##y,z,c), I[41] = (T)(img)(_p4##x,_p3##y,z,c), I[42] = (T)(img)(_p3##x,_p3##y,z,c), I[43] = (T)(img)(_p2##x,_p3##y,z,c), I[44] = (T)(img)(_p1##x,_p3##y,z,c), I[45] = (T)(img)(x,_p3##y,z,c), I[46] = (T)(img)(_n1##x,_p3##y,z,c), I[47] = (T)(img)(_n2##x,_p3##y,z,c), I[48] = (T)(img)(_n3##x,_p3##y,z,c), I[49] = (T)(img)(_n4##x,_p3##y,z,c), I[50] = (T)(img)(_n5##x,_p3##y,z,c), I[51] = (T)(img)(_n6##x,_p3##y,z,c), \
+ I[52] = (T)(img)(_p6##x,_p2##y,z,c), I[53] = (T)(img)(_p5##x,_p2##y,z,c), I[54] = (T)(img)(_p4##x,_p2##y,z,c), I[55] = (T)(img)(_p3##x,_p2##y,z,c), I[56] = (T)(img)(_p2##x,_p2##y,z,c), I[57] = (T)(img)(_p1##x,_p2##y,z,c), I[58] = (T)(img)(x,_p2##y,z,c), I[59] = (T)(img)(_n1##x,_p2##y,z,c), I[60] = (T)(img)(_n2##x,_p2##y,z,c), I[61] = (T)(img)(_n3##x,_p2##y,z,c), I[62] = (T)(img)(_n4##x,_p2##y,z,c), I[63] = (T)(img)(_n5##x,_p2##y,z,c), I[64] = (T)(img)(_n6##x,_p2##y,z,c), \
+ I[65] = (T)(img)(_p6##x,_p1##y,z,c), I[66] = (T)(img)(_p5##x,_p1##y,z,c), I[67] = (T)(img)(_p4##x,_p1##y,z,c), I[68] = (T)(img)(_p3##x,_p1##y,z,c), I[69] = (T)(img)(_p2##x,_p1##y,z,c), I[70] = (T)(img)(_p1##x,_p1##y,z,c), I[71] = (T)(img)(x,_p1##y,z,c), I[72] = (T)(img)(_n1##x,_p1##y,z,c), I[73] = (T)(img)(_n2##x,_p1##y,z,c), I[74] = (T)(img)(_n3##x,_p1##y,z,c), I[75] = (T)(img)(_n4##x,_p1##y,z,c), I[76] = (T)(img)(_n5##x,_p1##y,z,c), I[77] = (T)(img)(_n6##x,_p1##y,z,c), \
+ I[78] = (T)(img)(_p6##x,y,z,c), I[79] = (T)(img)(_p5##x,y,z,c), I[80] = (T)(img)(_p4##x,y,z,c), I[81] = (T)(img)(_p3##x,y,z,c), I[82] = (T)(img)(_p2##x,y,z,c), I[83] = (T)(img)(_p1##x,y,z,c), I[84] = (T)(img)(x,y,z,c), I[85] = (T)(img)(_n1##x,y,z,c), I[86] = (T)(img)(_n2##x,y,z,c), I[87] = (T)(img)(_n3##x,y,z,c), I[88] = (T)(img)(_n4##x,y,z,c), I[89] = (T)(img)(_n5##x,y,z,c), I[90] = (T)(img)(_n6##x,y,z,c), \
+ I[91] = (T)(img)(_p6##x,_n1##y,z,c), I[92] = (T)(img)(_p5##x,_n1##y,z,c), I[93] = (T)(img)(_p4##x,_n1##y,z,c), I[94] = (T)(img)(_p3##x,_n1##y,z,c), I[95] = (T)(img)(_p2##x,_n1##y,z,c), I[96] = (T)(img)(_p1##x,_n1##y,z,c), I[97] = (T)(img)(x,_n1##y,z,c), I[98] = (T)(img)(_n1##x,_n1##y,z,c), I[99] = (T)(img)(_n2##x,_n1##y,z,c), I[100] = (T)(img)(_n3##x,_n1##y,z,c), I[101] = (T)(img)(_n4##x,_n1##y,z,c), I[102] = (T)(img)(_n5##x,_n1##y,z,c), I[103] = (T)(img)(_n6##x,_n1##y,z,c), \
+ I[104] = (T)(img)(_p6##x,_n2##y,z,c), I[105] = (T)(img)(_p5##x,_n2##y,z,c), I[106] = (T)(img)(_p4##x,_n2##y,z,c), I[107] = (T)(img)(_p3##x,_n2##y,z,c), I[108] = (T)(img)(_p2##x,_n2##y,z,c), I[109] = (T)(img)(_p1##x,_n2##y,z,c), I[110] = (T)(img)(x,_n2##y,z,c), I[111] = (T)(img)(_n1##x,_n2##y,z,c), I[112] = (T)(img)(_n2##x,_n2##y,z,c), I[113] = (T)(img)(_n3##x,_n2##y,z,c), I[114] = (T)(img)(_n4##x,_n2##y,z,c), I[115] = (T)(img)(_n5##x,_n2##y,z,c), I[116] = (T)(img)(_n6##x,_n2##y,z,c), \
+ I[117] = (T)(img)(_p6##x,_n3##y,z,c), I[118] = (T)(img)(_p5##x,_n3##y,z,c), I[119] = (T)(img)(_p4##x,_n3##y,z,c), I[120] = (T)(img)(_p3##x,_n3##y,z,c), I[121] = (T)(img)(_p2##x,_n3##y,z,c), I[122] = (T)(img)(_p1##x,_n3##y,z,c), I[123] = (T)(img)(x,_n3##y,z,c), I[124] = (T)(img)(_n1##x,_n3##y,z,c), I[125] = (T)(img)(_n2##x,_n3##y,z,c), I[126] = (T)(img)(_n3##x,_n3##y,z,c), I[127] = (T)(img)(_n4##x,_n3##y,z,c), I[128] = (T)(img)(_n5##x,_n3##y,z,c), I[129] = (T)(img)(_n6##x,_n3##y,z,c), \
+ I[130] = (T)(img)(_p6##x,_n4##y,z,c), I[131] = (T)(img)(_p5##x,_n4##y,z,c), I[132] = (T)(img)(_p4##x,_n4##y,z,c), I[133] = (T)(img)(_p3##x,_n4##y,z,c), I[134] = (T)(img)(_p2##x,_n4##y,z,c), I[135] = (T)(img)(_p1##x,_n4##y,z,c), I[136] = (T)(img)(x,_n4##y,z,c), I[137] = (T)(img)(_n1##x,_n4##y,z,c), I[138] = (T)(img)(_n2##x,_n4##y,z,c), I[139] = (T)(img)(_n3##x,_n4##y,z,c), I[140] = (T)(img)(_n4##x,_n4##y,z,c), I[141] = (T)(img)(_n5##x,_n4##y,z,c), I[142] = (T)(img)(_n6##x,_n4##y,z,c), \
+ I[143] = (T)(img)(_p6##x,_n5##y,z,c), I[144] = (T)(img)(_p5##x,_n5##y,z,c), I[145] = (T)(img)(_p4##x,_n5##y,z,c), I[146] = (T)(img)(_p3##x,_n5##y,z,c), I[147] = (T)(img)(_p2##x,_n5##y,z,c), I[148] = (T)(img)(_p1##x,_n5##y,z,c), I[149] = (T)(img)(x,_n5##y,z,c), I[150] = (T)(img)(_n1##x,_n5##y,z,c), I[151] = (T)(img)(_n2##x,_n5##y,z,c), I[152] = (T)(img)(_n3##x,_n5##y,z,c), I[153] = (T)(img)(_n4##x,_n5##y,z,c), I[154] = (T)(img)(_n5##x,_n5##y,z,c), I[155] = (T)(img)(_n6##x,_n5##y,z,c), \
+ I[156] = (T)(img)(_p6##x,_n6##y,z,c), I[157] = (T)(img)(_p5##x,_n6##y,z,c), I[158] = (T)(img)(_p4##x,_n6##y,z,c), I[159] = (T)(img)(_p3##x,_n6##y,z,c), I[160] = (T)(img)(_p2##x,_n6##y,z,c), I[161] = (T)(img)(_p1##x,_n6##y,z,c), I[162] = (T)(img)(x,_n6##y,z,c), I[163] = (T)(img)(_n1##x,_n6##y,z,c), I[164] = (T)(img)(_n2##x,_n6##y,z,c), I[165] = (T)(img)(_n3##x,_n6##y,z,c), I[166] = (T)(img)(_n4##x,_n6##y,z,c), I[167] = (T)(img)(_n5##x,_n6##y,z,c), I[168] = (T)(img)(_n6##x,_n6##y,z,c);
+
+// Define 14x14 loop macros
+//-------------------------
+#define cimg_for14(bound,i) for (int i = 0, \
+ _p6##i = 0, _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5, \
+ _n6##i = 6>=(int)(bound)?(int)(bound) - 1:6, \
+ _n7##i = 7>=(int)(bound)?(int)(bound) - 1:7; \
+ _n7##i<(int)(bound) || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i)
+
+#define cimg_for14X(img,x) cimg_for14((img)._width,x)
+#define cimg_for14Y(img,y) cimg_for14((img)._height,y)
+#define cimg_for14Z(img,z) cimg_for14((img)._depth,z)
+#define cimg_for14C(img,c) cimg_for14((img)._spectrum,c)
+#define cimg_for14XY(img,x,y) cimg_for14Y(img,y) cimg_for14X(img,x)
+#define cimg_for14XZ(img,x,z) cimg_for14Z(img,z) cimg_for14X(img,x)
+#define cimg_for14XC(img,x,c) cimg_for14C(img,c) cimg_for14X(img,x)
+#define cimg_for14YZ(img,y,z) cimg_for14Z(img,z) cimg_for14Y(img,y)
+#define cimg_for14YC(img,y,c) cimg_for14C(img,c) cimg_for14Y(img,y)
+#define cimg_for14ZC(img,z,c) cimg_for14C(img,c) cimg_for14Z(img,z)
+#define cimg_for14XYZ(img,x,y,z) cimg_for14Z(img,z) cimg_for14XY(img,x,y)
+#define cimg_for14XZC(img,x,z,c) cimg_for14C(img,c) cimg_for14XZ(img,x,z)
+#define cimg_for14YZC(img,y,z,c) cimg_for14C(img,c) cimg_for14YZ(img,y,z)
+#define cimg_for14XYZC(img,x,y,z,c) cimg_for14C(img,c) cimg_for14XYZ(img,x,y,z)
+
+#define cimg_for_in14(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p6##i = i - 6<0?0:i - 6, \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5, \
+ _n6##i = i + 6>=(int)(bound)?(int)(bound) - 1:i + 6, \
+ _n7##i = i + 7>=(int)(bound)?(int)(bound) - 1:i + 7; \
+ i<=(int)(i1) && (_n7##i<(int)(bound) || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i)
+
+#define cimg_for_in14X(img,x0,x1,x) cimg_for_in14((img)._width,x0,x1,x)
+#define cimg_for_in14Y(img,y0,y1,y) cimg_for_in14((img)._height,y0,y1,y)
+#define cimg_for_in14Z(img,z0,z1,z) cimg_for_in14((img)._depth,z0,z1,z)
+#define cimg_for_in14C(img,c0,c1,c) cimg_for_in14((img)._spectrum,c0,c1,c)
+#define cimg_for_in14XY(img,x0,y0,x1,y1,x,y) cimg_for_in14Y(img,y0,y1,y) cimg_for_in14X(img,x0,x1,x)
+#define cimg_for_in14XZ(img,x0,z0,x1,z1,x,z) cimg_for_in14Z(img,z0,z1,z) cimg_for_in14X(img,x0,x1,x)
+#define cimg_for_in14XC(img,x0,c0,x1,c1,x,c) cimg_for_in14C(img,c0,c1,c) cimg_for_in14X(img,x0,x1,x)
+#define cimg_for_in14YZ(img,y0,z0,y1,z1,y,z) cimg_for_in14Z(img,z0,z1,z) cimg_for_in14Y(img,y0,y1,y)
+#define cimg_for_in14YC(img,y0,c0,y1,c1,y,c) cimg_for_in14C(img,c0,c1,c) cimg_for_in14Y(img,y0,y1,y)
+#define cimg_for_in14ZC(img,z0,c0,z1,c1,z,c) cimg_for_in14C(img,c0,c1,c) cimg_for_in14Z(img,z0,z1,z)
+#define cimg_for_in14XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in14Z(img,z0,z1,z) cimg_for_in14XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in14XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in14C(img,c0,c1,c) cimg_for_in14XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in14YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in14C(img,c0,c1,c) cimg_for_in14YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in14XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in14C(img,c0,c1,c) cimg_for_in14XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for14x14(img,x,y,z,c,I,T) \
+ cimg_for14((img)._height,y) for (int x = 0, \
+ _p6##x = 0, _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = 5>=((img)._width)?(img).width() - 1:5, \
+ _n6##x = 6>=((img)._width)?(img).width() - 1:6, \
+ _n7##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = I[6] = (T)(img)(0,_p6##y,z,c)), \
+ (I[14] = I[15] = I[16] = I[17] = I[18] = I[19] = I[20] = (T)(img)(0,_p5##y,z,c)), \
+ (I[28] = I[29] = I[30] = I[31] = I[32] = I[33] = I[34] = (T)(img)(0,_p4##y,z,c)), \
+ (I[42] = I[43] = I[44] = I[45] = I[46] = I[47] = I[48] = (T)(img)(0,_p3##y,z,c)), \
+ (I[56] = I[57] = I[58] = I[59] = I[60] = I[61] = I[62] = (T)(img)(0,_p2##y,z,c)), \
+ (I[70] = I[71] = I[72] = I[73] = I[74] = I[75] = I[76] = (T)(img)(0,_p1##y,z,c)), \
+ (I[84] = I[85] = I[86] = I[87] = I[88] = I[89] = I[90] = (T)(img)(0,y,z,c)), \
+ (I[98] = I[99] = I[100] = I[101] = I[102] = I[103] = I[104] = (T)(img)(0,_n1##y,z,c)), \
+ (I[112] = I[113] = I[114] = I[115] = I[116] = I[117] = I[118] = (T)(img)(0,_n2##y,z,c)), \
+ (I[126] = I[127] = I[128] = I[129] = I[130] = I[131] = I[132] = (T)(img)(0,_n3##y,z,c)), \
+ (I[140] = I[141] = I[142] = I[143] = I[144] = I[145] = I[146] = (T)(img)(0,_n4##y,z,c)), \
+ (I[154] = I[155] = I[156] = I[157] = I[158] = I[159] = I[160] = (T)(img)(0,_n5##y,z,c)), \
+ (I[168] = I[169] = I[170] = I[171] = I[172] = I[173] = I[174] = (T)(img)(0,_n6##y,z,c)), \
+ (I[182] = I[183] = I[184] = I[185] = I[186] = I[187] = I[188] = (T)(img)(0,_n7##y,z,c)), \
+ (I[7] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[21] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[35] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[49] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[63] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[77] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[91] = (T)(img)(_n1##x,y,z,c)), \
+ (I[105] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[119] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[133] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[147] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[161] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[175] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[189] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[8] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[22] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[36] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[50] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[64] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[78] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[92] = (T)(img)(_n2##x,y,z,c)), \
+ (I[106] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[120] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[134] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[148] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[162] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[176] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[190] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[9] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[23] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[37] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[51] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[65] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[79] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[93] = (T)(img)(_n3##x,y,z,c)), \
+ (I[107] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[121] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[135] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[149] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[163] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[177] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[191] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[10] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[24] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[38] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[52] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[66] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[80] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[94] = (T)(img)(_n4##x,y,z,c)), \
+ (I[108] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[122] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[136] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[150] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[164] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[178] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[192] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[11] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[25] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[39] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[53] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[67] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[81] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[95] = (T)(img)(_n5##x,y,z,c)), \
+ (I[109] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[123] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[137] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[151] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[165] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[179] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[193] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[12] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[26] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[40] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[54] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[68] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[82] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[96] = (T)(img)(_n6##x,y,z,c)), \
+ (I[110] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[124] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[138] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[152] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[166] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[180] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[194] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ 7>=((img)._width)?(img).width() - 1:7); \
+ (_n7##x<(img).width() && ( \
+ (I[13] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[27] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[41] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[55] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[69] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[83] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[97] = (T)(img)(_n7##x,y,z,c)), \
+ (I[111] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[125] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[139] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[153] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[167] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[181] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[195] = (T)(img)(_n7##x,_n7##y,z,c)),1)) || \
+ _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], \
+ I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], \
+ I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], \
+ I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], \
+ I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], \
+ I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], \
+ I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], \
+ I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], \
+ I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], \
+ I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], \
+ I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], \
+ I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], \
+ I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], \
+ I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], \
+ _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x)
+
+#define cimg_for_in14x14(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in14((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p6##x = x - 6<0?0:x - 6, \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = x + 5>=(img).width()?(img).width() - 1:x + 5, \
+ _n6##x = x + 6>=(img).width()?(img).width() - 1:x + 6, \
+ _n7##x = (int)( \
+ (I[0] = (T)(img)(_p6##x,_p6##y,z,c)), \
+ (I[14] = (T)(img)(_p6##x,_p5##y,z,c)), \
+ (I[28] = (T)(img)(_p6##x,_p4##y,z,c)), \
+ (I[42] = (T)(img)(_p6##x,_p3##y,z,c)), \
+ (I[56] = (T)(img)(_p6##x,_p2##y,z,c)), \
+ (I[70] = (T)(img)(_p6##x,_p1##y,z,c)), \
+ (I[84] = (T)(img)(_p6##x,y,z,c)), \
+ (I[98] = (T)(img)(_p6##x,_n1##y,z,c)), \
+ (I[112] = (T)(img)(_p6##x,_n2##y,z,c)), \
+ (I[126] = (T)(img)(_p6##x,_n3##y,z,c)), \
+ (I[140] = (T)(img)(_p6##x,_n4##y,z,c)), \
+ (I[154] = (T)(img)(_p6##x,_n5##y,z,c)), \
+ (I[168] = (T)(img)(_p6##x,_n6##y,z,c)), \
+ (I[182] = (T)(img)(_p6##x,_n7##y,z,c)), \
+ (I[1] = (T)(img)(_p5##x,_p6##y,z,c)), \
+ (I[15] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[29] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[43] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[57] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[71] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[85] = (T)(img)(_p5##x,y,z,c)), \
+ (I[99] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[113] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[127] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[141] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[155] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[169] = (T)(img)(_p5##x,_n6##y,z,c)), \
+ (I[183] = (T)(img)(_p5##x,_n7##y,z,c)), \
+ (I[2] = (T)(img)(_p4##x,_p6##y,z,c)), \
+ (I[16] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[30] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[44] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[58] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[72] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[86] = (T)(img)(_p4##x,y,z,c)), \
+ (I[100] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[114] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[128] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[142] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[156] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[170] = (T)(img)(_p4##x,_n6##y,z,c)), \
+ (I[184] = (T)(img)(_p4##x,_n7##y,z,c)), \
+ (I[3] = (T)(img)(_p3##x,_p6##y,z,c)), \
+ (I[17] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[31] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[45] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[59] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[73] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[87] = (T)(img)(_p3##x,y,z,c)), \
+ (I[101] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[115] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[129] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[143] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[157] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[171] = (T)(img)(_p3##x,_n6##y,z,c)), \
+ (I[185] = (T)(img)(_p3##x,_n7##y,z,c)), \
+ (I[4] = (T)(img)(_p2##x,_p6##y,z,c)), \
+ (I[18] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[32] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[46] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[60] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[74] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[88] = (T)(img)(_p2##x,y,z,c)), \
+ (I[102] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[116] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[130] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[144] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[158] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[172] = (T)(img)(_p2##x,_n6##y,z,c)), \
+ (I[186] = (T)(img)(_p2##x,_n7##y,z,c)), \
+ (I[5] = (T)(img)(_p1##x,_p6##y,z,c)), \
+ (I[19] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[33] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[47] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[61] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[75] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[89] = (T)(img)(_p1##x,y,z,c)), \
+ (I[103] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[117] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[131] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[145] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[159] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[173] = (T)(img)(_p1##x,_n6##y,z,c)), \
+ (I[187] = (T)(img)(_p1##x,_n7##y,z,c)), \
+ (I[6] = (T)(img)(x,_p6##y,z,c)), \
+ (I[20] = (T)(img)(x,_p5##y,z,c)), \
+ (I[34] = (T)(img)(x,_p4##y,z,c)), \
+ (I[48] = (T)(img)(x,_p3##y,z,c)), \
+ (I[62] = (T)(img)(x,_p2##y,z,c)), \
+ (I[76] = (T)(img)(x,_p1##y,z,c)), \
+ (I[90] = (T)(img)(x,y,z,c)), \
+ (I[104] = (T)(img)(x,_n1##y,z,c)), \
+ (I[118] = (T)(img)(x,_n2##y,z,c)), \
+ (I[132] = (T)(img)(x,_n3##y,z,c)), \
+ (I[146] = (T)(img)(x,_n4##y,z,c)), \
+ (I[160] = (T)(img)(x,_n5##y,z,c)), \
+ (I[174] = (T)(img)(x,_n6##y,z,c)), \
+ (I[188] = (T)(img)(x,_n7##y,z,c)), \
+ (I[7] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[21] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[35] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[49] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[63] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[77] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[91] = (T)(img)(_n1##x,y,z,c)), \
+ (I[105] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[119] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[133] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[147] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[161] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[175] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[189] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[8] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[22] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[36] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[50] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[64] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[78] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[92] = (T)(img)(_n2##x,y,z,c)), \
+ (I[106] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[120] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[134] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[148] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[162] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[176] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[190] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[9] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[23] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[37] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[51] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[65] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[79] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[93] = (T)(img)(_n3##x,y,z,c)), \
+ (I[107] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[121] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[135] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[149] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[163] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[177] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[191] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[10] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[24] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[38] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[52] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[66] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[80] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[94] = (T)(img)(_n4##x,y,z,c)), \
+ (I[108] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[122] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[136] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[150] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[164] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[178] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[192] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[11] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[25] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[39] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[53] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[67] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[81] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[95] = (T)(img)(_n5##x,y,z,c)), \
+ (I[109] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[123] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[137] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[151] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[165] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[179] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[193] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[12] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[26] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[40] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[54] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[68] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[82] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[96] = (T)(img)(_n6##x,y,z,c)), \
+ (I[110] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[124] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[138] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[152] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[166] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[180] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[194] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ x + 7>=(img).width()?(img).width() - 1:x + 7); \
+ x<=(int)(x1) && ((_n7##x<(img).width() && ( \
+ (I[13] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[27] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[41] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[55] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[69] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[83] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[97] = (T)(img)(_n7##x,y,z,c)), \
+ (I[111] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[125] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[139] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[153] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[167] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[181] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[195] = (T)(img)(_n7##x,_n7##y,z,c)),1)) || \
+ _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], \
+ I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], \
+ I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], \
+ I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], \
+ I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], \
+ I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], \
+ I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], \
+ I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], \
+ I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], \
+ I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], \
+ I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], \
+ I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], \
+ I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], \
+ I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], \
+ _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x)
+
+#define cimg_get14x14(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p6##x,_p6##y,z,c), I[1] = (T)(img)(_p5##x,_p6##y,z,c), I[2] = (T)(img)(_p4##x,_p6##y,z,c), I[3] = (T)(img)(_p3##x,_p6##y,z,c), I[4] = (T)(img)(_p2##x,_p6##y,z,c), I[5] = (T)(img)(_p1##x,_p6##y,z,c), I[6] = (T)(img)(x,_p6##y,z,c), I[7] = (T)(img)(_n1##x,_p6##y,z,c), I[8] = (T)(img)(_n2##x,_p6##y,z,c), I[9] = (T)(img)(_n3##x,_p6##y,z,c), I[10] = (T)(img)(_n4##x,_p6##y,z,c), I[11] = (T)(img)(_n5##x,_p6##y,z,c), I[12] = (T)(img)(_n6##x,_p6##y,z,c), I[13] = (T)(img)(_n7##x,_ [...]
+ I[14] = (T)(img)(_p6##x,_p5##y,z,c), I[15] = (T)(img)(_p5##x,_p5##y,z,c), I[16] = (T)(img)(_p4##x,_p5##y,z,c), I[17] = (T)(img)(_p3##x,_p5##y,z,c), I[18] = (T)(img)(_p2##x,_p5##y,z,c), I[19] = (T)(img)(_p1##x,_p5##y,z,c), I[20] = (T)(img)(x,_p5##y,z,c), I[21] = (T)(img)(_n1##x,_p5##y,z,c), I[22] = (T)(img)(_n2##x,_p5##y,z,c), I[23] = (T)(img)(_n3##x,_p5##y,z,c), I[24] = (T)(img)(_n4##x,_p5##y,z,c), I[25] = (T)(img)(_n5##x,_p5##y,z,c), I[26] = (T)(img)(_n6##x,_p5##y,z,c), I[27] = (T)(img [...]
+ I[28] = (T)(img)(_p6##x,_p4##y,z,c), I[29] = (T)(img)(_p5##x,_p4##y,z,c), I[30] = (T)(img)(_p4##x,_p4##y,z,c), I[31] = (T)(img)(_p3##x,_p4##y,z,c), I[32] = (T)(img)(_p2##x,_p4##y,z,c), I[33] = (T)(img)(_p1##x,_p4##y,z,c), I[34] = (T)(img)(x,_p4##y,z,c), I[35] = (T)(img)(_n1##x,_p4##y,z,c), I[36] = (T)(img)(_n2##x,_p4##y,z,c), I[37] = (T)(img)(_n3##x,_p4##y,z,c), I[38] = (T)(img)(_n4##x,_p4##y,z,c), I[39] = (T)(img)(_n5##x,_p4##y,z,c), I[40] = (T)(img)(_n6##x,_p4##y,z,c), I[41] = (T)(img [...]
+ I[42] = (T)(img)(_p6##x,_p3##y,z,c), I[43] = (T)(img)(_p5##x,_p3##y,z,c), I[44] = (T)(img)(_p4##x,_p3##y,z,c), I[45] = (T)(img)(_p3##x,_p3##y,z,c), I[46] = (T)(img)(_p2##x,_p3##y,z,c), I[47] = (T)(img)(_p1##x,_p3##y,z,c), I[48] = (T)(img)(x,_p3##y,z,c), I[49] = (T)(img)(_n1##x,_p3##y,z,c), I[50] = (T)(img)(_n2##x,_p3##y,z,c), I[51] = (T)(img)(_n3##x,_p3##y,z,c), I[52] = (T)(img)(_n4##x,_p3##y,z,c), I[53] = (T)(img)(_n5##x,_p3##y,z,c), I[54] = (T)(img)(_n6##x,_p3##y,z,c), I[55] = (T)(img [...]
+ I[56] = (T)(img)(_p6##x,_p2##y,z,c), I[57] = (T)(img)(_p5##x,_p2##y,z,c), I[58] = (T)(img)(_p4##x,_p2##y,z,c), I[59] = (T)(img)(_p3##x,_p2##y,z,c), I[60] = (T)(img)(_p2##x,_p2##y,z,c), I[61] = (T)(img)(_p1##x,_p2##y,z,c), I[62] = (T)(img)(x,_p2##y,z,c), I[63] = (T)(img)(_n1##x,_p2##y,z,c), I[64] = (T)(img)(_n2##x,_p2##y,z,c), I[65] = (T)(img)(_n3##x,_p2##y,z,c), I[66] = (T)(img)(_n4##x,_p2##y,z,c), I[67] = (T)(img)(_n5##x,_p2##y,z,c), I[68] = (T)(img)(_n6##x,_p2##y,z,c), I[69] = (T)(img [...]
+ I[70] = (T)(img)(_p6##x,_p1##y,z,c), I[71] = (T)(img)(_p5##x,_p1##y,z,c), I[72] = (T)(img)(_p4##x,_p1##y,z,c), I[73] = (T)(img)(_p3##x,_p1##y,z,c), I[74] = (T)(img)(_p2##x,_p1##y,z,c), I[75] = (T)(img)(_p1##x,_p1##y,z,c), I[76] = (T)(img)(x,_p1##y,z,c), I[77] = (T)(img)(_n1##x,_p1##y,z,c), I[78] = (T)(img)(_n2##x,_p1##y,z,c), I[79] = (T)(img)(_n3##x,_p1##y,z,c), I[80] = (T)(img)(_n4##x,_p1##y,z,c), I[81] = (T)(img)(_n5##x,_p1##y,z,c), I[82] = (T)(img)(_n6##x,_p1##y,z,c), I[83] = (T)(img [...]
+ I[84] = (T)(img)(_p6##x,y,z,c), I[85] = (T)(img)(_p5##x,y,z,c), I[86] = (T)(img)(_p4##x,y,z,c), I[87] = (T)(img)(_p3##x,y,z,c), I[88] = (T)(img)(_p2##x,y,z,c), I[89] = (T)(img)(_p1##x,y,z,c), I[90] = (T)(img)(x,y,z,c), I[91] = (T)(img)(_n1##x,y,z,c), I[92] = (T)(img)(_n2##x,y,z,c), I[93] = (T)(img)(_n3##x,y,z,c), I[94] = (T)(img)(_n4##x,y,z,c), I[95] = (T)(img)(_n5##x,y,z,c), I[96] = (T)(img)(_n6##x,y,z,c), I[97] = (T)(img)(_n7##x,y,z,c), \
+ I[98] = (T)(img)(_p6##x,_n1##y,z,c), I[99] = (T)(img)(_p5##x,_n1##y,z,c), I[100] = (T)(img)(_p4##x,_n1##y,z,c), I[101] = (T)(img)(_p3##x,_n1##y,z,c), I[102] = (T)(img)(_p2##x,_n1##y,z,c), I[103] = (T)(img)(_p1##x,_n1##y,z,c), I[104] = (T)(img)(x,_n1##y,z,c), I[105] = (T)(img)(_n1##x,_n1##y,z,c), I[106] = (T)(img)(_n2##x,_n1##y,z,c), I[107] = (T)(img)(_n3##x,_n1##y,z,c), I[108] = (T)(img)(_n4##x,_n1##y,z,c), I[109] = (T)(img)(_n5##x,_n1##y,z,c), I[110] = (T)(img)(_n6##x,_n1##y,z,c), I[11 [...]
+ I[112] = (T)(img)(_p6##x,_n2##y,z,c), I[113] = (T)(img)(_p5##x,_n2##y,z,c), I[114] = (T)(img)(_p4##x,_n2##y,z,c), I[115] = (T)(img)(_p3##x,_n2##y,z,c), I[116] = (T)(img)(_p2##x,_n2##y,z,c), I[117] = (T)(img)(_p1##x,_n2##y,z,c), I[118] = (T)(img)(x,_n2##y,z,c), I[119] = (T)(img)(_n1##x,_n2##y,z,c), I[120] = (T)(img)(_n2##x,_n2##y,z,c), I[121] = (T)(img)(_n3##x,_n2##y,z,c), I[122] = (T)(img)(_n4##x,_n2##y,z,c), I[123] = (T)(img)(_n5##x,_n2##y,z,c), I[124] = (T)(img)(_n6##x,_n2##y,z,c), I[ [...]
+ I[126] = (T)(img)(_p6##x,_n3##y,z,c), I[127] = (T)(img)(_p5##x,_n3##y,z,c), I[128] = (T)(img)(_p4##x,_n3##y,z,c), I[129] = (T)(img)(_p3##x,_n3##y,z,c), I[130] = (T)(img)(_p2##x,_n3##y,z,c), I[131] = (T)(img)(_p1##x,_n3##y,z,c), I[132] = (T)(img)(x,_n3##y,z,c), I[133] = (T)(img)(_n1##x,_n3##y,z,c), I[134] = (T)(img)(_n2##x,_n3##y,z,c), I[135] = (T)(img)(_n3##x,_n3##y,z,c), I[136] = (T)(img)(_n4##x,_n3##y,z,c), I[137] = (T)(img)(_n5##x,_n3##y,z,c), I[138] = (T)(img)(_n6##x,_n3##y,z,c), I[ [...]
+ I[140] = (T)(img)(_p6##x,_n4##y,z,c), I[141] = (T)(img)(_p5##x,_n4##y,z,c), I[142] = (T)(img)(_p4##x,_n4##y,z,c), I[143] = (T)(img)(_p3##x,_n4##y,z,c), I[144] = (T)(img)(_p2##x,_n4##y,z,c), I[145] = (T)(img)(_p1##x,_n4##y,z,c), I[146] = (T)(img)(x,_n4##y,z,c), I[147] = (T)(img)(_n1##x,_n4##y,z,c), I[148] = (T)(img)(_n2##x,_n4##y,z,c), I[149] = (T)(img)(_n3##x,_n4##y,z,c), I[150] = (T)(img)(_n4##x,_n4##y,z,c), I[151] = (T)(img)(_n5##x,_n4##y,z,c), I[152] = (T)(img)(_n6##x,_n4##y,z,c), I[ [...]
+ I[154] = (T)(img)(_p6##x,_n5##y,z,c), I[155] = (T)(img)(_p5##x,_n5##y,z,c), I[156] = (T)(img)(_p4##x,_n5##y,z,c), I[157] = (T)(img)(_p3##x,_n5##y,z,c), I[158] = (T)(img)(_p2##x,_n5##y,z,c), I[159] = (T)(img)(_p1##x,_n5##y,z,c), I[160] = (T)(img)(x,_n5##y,z,c), I[161] = (T)(img)(_n1##x,_n5##y,z,c), I[162] = (T)(img)(_n2##x,_n5##y,z,c), I[163] = (T)(img)(_n3##x,_n5##y,z,c), I[164] = (T)(img)(_n4##x,_n5##y,z,c), I[165] = (T)(img)(_n5##x,_n5##y,z,c), I[166] = (T)(img)(_n6##x,_n5##y,z,c), I[ [...]
+ I[168] = (T)(img)(_p6##x,_n6##y,z,c), I[169] = (T)(img)(_p5##x,_n6##y,z,c), I[170] = (T)(img)(_p4##x,_n6##y,z,c), I[171] = (T)(img)(_p3##x,_n6##y,z,c), I[172] = (T)(img)(_p2##x,_n6##y,z,c), I[173] = (T)(img)(_p1##x,_n6##y,z,c), I[174] = (T)(img)(x,_n6##y,z,c), I[175] = (T)(img)(_n1##x,_n6##y,z,c), I[176] = (T)(img)(_n2##x,_n6##y,z,c), I[177] = (T)(img)(_n3##x,_n6##y,z,c), I[178] = (T)(img)(_n4##x,_n6##y,z,c), I[179] = (T)(img)(_n5##x,_n6##y,z,c), I[180] = (T)(img)(_n6##x,_n6##y,z,c), I[ [...]
+ I[182] = (T)(img)(_p6##x,_n7##y,z,c), I[183] = (T)(img)(_p5##x,_n7##y,z,c), I[184] = (T)(img)(_p4##x,_n7##y,z,c), I[185] = (T)(img)(_p3##x,_n7##y,z,c), I[186] = (T)(img)(_p2##x,_n7##y,z,c), I[187] = (T)(img)(_p1##x,_n7##y,z,c), I[188] = (T)(img)(x,_n7##y,z,c), I[189] = (T)(img)(_n1##x,_n7##y,z,c), I[190] = (T)(img)(_n2##x,_n7##y,z,c), I[191] = (T)(img)(_n3##x,_n7##y,z,c), I[192] = (T)(img)(_n4##x,_n7##y,z,c), I[193] = (T)(img)(_n5##x,_n7##y,z,c), I[194] = (T)(img)(_n6##x,_n7##y,z,c), I[ [...]
+
+// Define 15x15 loop macros
+//-------------------------
+#define cimg_for15(bound,i) for (int i = 0, \
+ _p7##i = 0, _p6##i = 0, _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5, \
+ _n6##i = 6>=(int)(bound)?(int)(bound) - 1:6, \
+ _n7##i = 7>=(int)(bound)?(int)(bound) - 1:7; \
+ _n7##i<(int)(bound) || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i)
+
+#define cimg_for15X(img,x) cimg_for15((img)._width,x)
+#define cimg_for15Y(img,y) cimg_for15((img)._height,y)
+#define cimg_for15Z(img,z) cimg_for15((img)._depth,z)
+#define cimg_for15C(img,c) cimg_for15((img)._spectrum,c)
+#define cimg_for15XY(img,x,y) cimg_for15Y(img,y) cimg_for15X(img,x)
+#define cimg_for15XZ(img,x,z) cimg_for15Z(img,z) cimg_for15X(img,x)
+#define cimg_for15XC(img,x,c) cimg_for15C(img,c) cimg_for15X(img,x)
+#define cimg_for15YZ(img,y,z) cimg_for15Z(img,z) cimg_for15Y(img,y)
+#define cimg_for15YC(img,y,c) cimg_for15C(img,c) cimg_for15Y(img,y)
+#define cimg_for15ZC(img,z,c) cimg_for15C(img,c) cimg_for15Z(img,z)
+#define cimg_for15XYZ(img,x,y,z) cimg_for15Z(img,z) cimg_for15XY(img,x,y)
+#define cimg_for15XZC(img,x,z,c) cimg_for15C(img,c) cimg_for15XZ(img,x,z)
+#define cimg_for15YZC(img,y,z,c) cimg_for15C(img,c) cimg_for15YZ(img,y,z)
+#define cimg_for15XYZC(img,x,y,z,c) cimg_for15C(img,c) cimg_for15XYZ(img,x,y,z)
+
+#define cimg_for_in15(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p7##i = i - 7<0?0:i - 7, \
+ _p6##i = i - 6<0?0:i - 6, \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5, \
+ _n6##i = i + 6>=(int)(bound)?(int)(bound) - 1:i + 6, \
+ _n7##i = i + 7>=(int)(bound)?(int)(bound) - 1:i + 7; \
+ i<=(int)(i1) && (_n7##i<(int)(bound) || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i)
+
+#define cimg_for_in15X(img,x0,x1,x) cimg_for_in15((img)._width,x0,x1,x)
+#define cimg_for_in15Y(img,y0,y1,y) cimg_for_in15((img)._height,y0,y1,y)
+#define cimg_for_in15Z(img,z0,z1,z) cimg_for_in15((img)._depth,z0,z1,z)
+#define cimg_for_in15C(img,c0,c1,c) cimg_for_in15((img)._spectrum,c0,c1,c)
+#define cimg_for_in15XY(img,x0,y0,x1,y1,x,y) cimg_for_in15Y(img,y0,y1,y) cimg_for_in15X(img,x0,x1,x)
+#define cimg_for_in15XZ(img,x0,z0,x1,z1,x,z) cimg_for_in15Z(img,z0,z1,z) cimg_for_in15X(img,x0,x1,x)
+#define cimg_for_in15XC(img,x0,c0,x1,c1,x,c) cimg_for_in15C(img,c0,c1,c) cimg_for_in15X(img,x0,x1,x)
+#define cimg_for_in15YZ(img,y0,z0,y1,z1,y,z) cimg_for_in15Z(img,z0,z1,z) cimg_for_in15Y(img,y0,y1,y)
+#define cimg_for_in15YC(img,y0,c0,y1,c1,y,c) cimg_for_in15C(img,c0,c1,c) cimg_for_in15Y(img,y0,y1,y)
+#define cimg_for_in15ZC(img,z0,c0,z1,c1,z,c) cimg_for_in15C(img,c0,c1,c) cimg_for_in15Z(img,z0,z1,z)
+#define cimg_for_in15XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in15Z(img,z0,z1,z) cimg_for_in15XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in15XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in15C(img,c0,c1,c) cimg_for_in15XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in15YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in15C(img,c0,c1,c) cimg_for_in15YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in15XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in15C(img,c0,c1,c) cimg_for_in15XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for15x15(img,x,y,z,c,I,T) \
+ cimg_for15((img)._height,y) for (int x = 0, \
+ _p7##x = 0, _p6##x = 0, _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = 5>=((img)._width)?(img).width() - 1:5, \
+ _n6##x = 6>=((img)._width)?(img).width() - 1:6, \
+ _n7##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = I[6] = I[7] = (T)(img)(0,_p7##y,z,c)), \
+ (I[15] = I[16] = I[17] = I[18] = I[19] = I[20] = I[21] = I[22] = (T)(img)(0,_p6##y,z,c)), \
+ (I[30] = I[31] = I[32] = I[33] = I[34] = I[35] = I[36] = I[37] = (T)(img)(0,_p5##y,z,c)), \
+ (I[45] = I[46] = I[47] = I[48] = I[49] = I[50] = I[51] = I[52] = (T)(img)(0,_p4##y,z,c)), \
+ (I[60] = I[61] = I[62] = I[63] = I[64] = I[65] = I[66] = I[67] = (T)(img)(0,_p3##y,z,c)), \
+ (I[75] = I[76] = I[77] = I[78] = I[79] = I[80] = I[81] = I[82] = (T)(img)(0,_p2##y,z,c)), \
+ (I[90] = I[91] = I[92] = I[93] = I[94] = I[95] = I[96] = I[97] = (T)(img)(0,_p1##y,z,c)), \
+ (I[105] = I[106] = I[107] = I[108] = I[109] = I[110] = I[111] = I[112] = (T)(img)(0,y,z,c)), \
+ (I[120] = I[121] = I[122] = I[123] = I[124] = I[125] = I[126] = I[127] = (T)(img)(0,_n1##y,z,c)), \
+ (I[135] = I[136] = I[137] = I[138] = I[139] = I[140] = I[141] = I[142] = (T)(img)(0,_n2##y,z,c)), \
+ (I[150] = I[151] = I[152] = I[153] = I[154] = I[155] = I[156] = I[157] = (T)(img)(0,_n3##y,z,c)), \
+ (I[165] = I[166] = I[167] = I[168] = I[169] = I[170] = I[171] = I[172] = (T)(img)(0,_n4##y,z,c)), \
+ (I[180] = I[181] = I[182] = I[183] = I[184] = I[185] = I[186] = I[187] = (T)(img)(0,_n5##y,z,c)), \
+ (I[195] = I[196] = I[197] = I[198] = I[199] = I[200] = I[201] = I[202] = (T)(img)(0,_n6##y,z,c)), \
+ (I[210] = I[211] = I[212] = I[213] = I[214] = I[215] = I[216] = I[217] = (T)(img)(0,_n7##y,z,c)), \
+ (I[8] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[23] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[38] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[53] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[68] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[83] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[98] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[113] = (T)(img)(_n1##x,y,z,c)), \
+ (I[128] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[143] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[158] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[173] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[188] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[203] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[218] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[9] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[24] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[39] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[54] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[69] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[84] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[99] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[114] = (T)(img)(_n2##x,y,z,c)), \
+ (I[129] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[144] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[159] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[174] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[189] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[204] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[219] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[10] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[25] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[40] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[55] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[70] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[85] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[100] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[115] = (T)(img)(_n3##x,y,z,c)), \
+ (I[130] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[145] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[160] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[175] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[190] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[205] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[220] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[11] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[26] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[41] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[56] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[71] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[86] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[101] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[116] = (T)(img)(_n4##x,y,z,c)), \
+ (I[131] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[146] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[161] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[176] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[191] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[206] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[221] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[12] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[27] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[42] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[57] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[72] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[87] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[102] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[117] = (T)(img)(_n5##x,y,z,c)), \
+ (I[132] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[147] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[162] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[177] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[192] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[207] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[222] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[13] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[28] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[43] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[58] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[73] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[88] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[103] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[118] = (T)(img)(_n6##x,y,z,c)), \
+ (I[133] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[148] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[163] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[178] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[193] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[208] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[223] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ 7>=((img)._width)?(img).width() - 1:7); \
+ (_n7##x<(img).width() && ( \
+ (I[14] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[29] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[44] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[59] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[74] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[89] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[104] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[119] = (T)(img)(_n7##x,y,z,c)), \
+ (I[134] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[149] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[164] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[179] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[194] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[209] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[224] = (T)(img)(_n7##x,_n7##y,z,c)),1)) || \
+ _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], \
+ I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], \
+ I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], \
+ I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], \
+ I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], \
+ I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], \
+ I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], \
+ I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], \
+ I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], \
+ I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], \
+ I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], \
+ I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], \
+ I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], \
+ I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], \
+ I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], \
+ _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x)
+
+#define cimg_for_in15x15(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in15((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p7##x = x - 7<0?0:x - 7, \
+ _p6##x = x - 6<0?0:x - 6, \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = x + 5>=(img).width()?(img).width() - 1:x + 5, \
+ _n6##x = x + 6>=(img).width()?(img).width() - 1:x + 6, \
+ _n7##x = (int)( \
+ (I[0] = (T)(img)(_p7##x,_p7##y,z,c)), \
+ (I[15] = (T)(img)(_p7##x,_p6##y,z,c)), \
+ (I[30] = (T)(img)(_p7##x,_p5##y,z,c)), \
+ (I[45] = (T)(img)(_p7##x,_p4##y,z,c)), \
+ (I[60] = (T)(img)(_p7##x,_p3##y,z,c)), \
+ (I[75] = (T)(img)(_p7##x,_p2##y,z,c)), \
+ (I[90] = (T)(img)(_p7##x,_p1##y,z,c)), \
+ (I[105] = (T)(img)(_p7##x,y,z,c)), \
+ (I[120] = (T)(img)(_p7##x,_n1##y,z,c)), \
+ (I[135] = (T)(img)(_p7##x,_n2##y,z,c)), \
+ (I[150] = (T)(img)(_p7##x,_n3##y,z,c)), \
+ (I[165] = (T)(img)(_p7##x,_n4##y,z,c)), \
+ (I[180] = (T)(img)(_p7##x,_n5##y,z,c)), \
+ (I[195] = (T)(img)(_p7##x,_n6##y,z,c)), \
+ (I[210] = (T)(img)(_p7##x,_n7##y,z,c)), \
+ (I[1] = (T)(img)(_p6##x,_p7##y,z,c)), \
+ (I[16] = (T)(img)(_p6##x,_p6##y,z,c)), \
+ (I[31] = (T)(img)(_p6##x,_p5##y,z,c)), \
+ (I[46] = (T)(img)(_p6##x,_p4##y,z,c)), \
+ (I[61] = (T)(img)(_p6##x,_p3##y,z,c)), \
+ (I[76] = (T)(img)(_p6##x,_p2##y,z,c)), \
+ (I[91] = (T)(img)(_p6##x,_p1##y,z,c)), \
+ (I[106] = (T)(img)(_p6##x,y,z,c)), \
+ (I[121] = (T)(img)(_p6##x,_n1##y,z,c)), \
+ (I[136] = (T)(img)(_p6##x,_n2##y,z,c)), \
+ (I[151] = (T)(img)(_p6##x,_n3##y,z,c)), \
+ (I[166] = (T)(img)(_p6##x,_n4##y,z,c)), \
+ (I[181] = (T)(img)(_p6##x,_n5##y,z,c)), \
+ (I[196] = (T)(img)(_p6##x,_n6##y,z,c)), \
+ (I[211] = (T)(img)(_p6##x,_n7##y,z,c)), \
+ (I[2] = (T)(img)(_p5##x,_p7##y,z,c)), \
+ (I[17] = (T)(img)(_p5##x,_p6##y,z,c)), \
+ (I[32] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[47] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[62] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[77] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[92] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[107] = (T)(img)(_p5##x,y,z,c)), \
+ (I[122] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[137] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[152] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[167] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[182] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[197] = (T)(img)(_p5##x,_n6##y,z,c)), \
+ (I[212] = (T)(img)(_p5##x,_n7##y,z,c)), \
+ (I[3] = (T)(img)(_p4##x,_p7##y,z,c)), \
+ (I[18] = (T)(img)(_p4##x,_p6##y,z,c)), \
+ (I[33] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[48] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[63] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[78] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[93] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[108] = (T)(img)(_p4##x,y,z,c)), \
+ (I[123] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[138] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[153] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[168] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[183] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[198] = (T)(img)(_p4##x,_n6##y,z,c)), \
+ (I[213] = (T)(img)(_p4##x,_n7##y,z,c)), \
+ (I[4] = (T)(img)(_p3##x,_p7##y,z,c)), \
+ (I[19] = (T)(img)(_p3##x,_p6##y,z,c)), \
+ (I[34] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[49] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[64] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[79] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[94] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[109] = (T)(img)(_p3##x,y,z,c)), \
+ (I[124] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[139] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[154] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[169] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[184] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[199] = (T)(img)(_p3##x,_n6##y,z,c)), \
+ (I[214] = (T)(img)(_p3##x,_n7##y,z,c)), \
+ (I[5] = (T)(img)(_p2##x,_p7##y,z,c)), \
+ (I[20] = (T)(img)(_p2##x,_p6##y,z,c)), \
+ (I[35] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[50] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[65] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[80] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[95] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[110] = (T)(img)(_p2##x,y,z,c)), \
+ (I[125] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[140] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[155] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[170] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[185] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[200] = (T)(img)(_p2##x,_n6##y,z,c)), \
+ (I[215] = (T)(img)(_p2##x,_n7##y,z,c)), \
+ (I[6] = (T)(img)(_p1##x,_p7##y,z,c)), \
+ (I[21] = (T)(img)(_p1##x,_p6##y,z,c)), \
+ (I[36] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[51] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[66] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[81] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[96] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[111] = (T)(img)(_p1##x,y,z,c)), \
+ (I[126] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[141] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[156] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[171] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[186] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[201] = (T)(img)(_p1##x,_n6##y,z,c)), \
+ (I[216] = (T)(img)(_p1##x,_n7##y,z,c)), \
+ (I[7] = (T)(img)(x,_p7##y,z,c)), \
+ (I[22] = (T)(img)(x,_p6##y,z,c)), \
+ (I[37] = (T)(img)(x,_p5##y,z,c)), \
+ (I[52] = (T)(img)(x,_p4##y,z,c)), \
+ (I[67] = (T)(img)(x,_p3##y,z,c)), \
+ (I[82] = (T)(img)(x,_p2##y,z,c)), \
+ (I[97] = (T)(img)(x,_p1##y,z,c)), \
+ (I[112] = (T)(img)(x,y,z,c)), \
+ (I[127] = (T)(img)(x,_n1##y,z,c)), \
+ (I[142] = (T)(img)(x,_n2##y,z,c)), \
+ (I[157] = (T)(img)(x,_n3##y,z,c)), \
+ (I[172] = (T)(img)(x,_n4##y,z,c)), \
+ (I[187] = (T)(img)(x,_n5##y,z,c)), \
+ (I[202] = (T)(img)(x,_n6##y,z,c)), \
+ (I[217] = (T)(img)(x,_n7##y,z,c)), \
+ (I[8] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[23] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[38] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[53] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[68] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[83] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[98] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[113] = (T)(img)(_n1##x,y,z,c)), \
+ (I[128] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[143] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[158] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[173] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[188] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[203] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[218] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[9] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[24] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[39] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[54] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[69] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[84] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[99] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[114] = (T)(img)(_n2##x,y,z,c)), \
+ (I[129] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[144] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[159] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[174] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[189] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[204] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[219] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[10] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[25] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[40] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[55] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[70] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[85] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[100] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[115] = (T)(img)(_n3##x,y,z,c)), \
+ (I[130] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[145] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[160] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[175] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[190] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[205] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[220] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[11] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[26] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[41] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[56] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[71] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[86] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[101] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[116] = (T)(img)(_n4##x,y,z,c)), \
+ (I[131] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[146] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[161] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[176] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[191] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[206] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[221] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[12] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[27] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[42] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[57] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[72] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[87] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[102] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[117] = (T)(img)(_n5##x,y,z,c)), \
+ (I[132] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[147] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[162] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[177] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[192] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[207] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[222] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[13] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[28] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[43] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[58] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[73] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[88] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[103] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[118] = (T)(img)(_n6##x,y,z,c)), \
+ (I[133] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[148] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[163] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[178] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[193] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[208] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[223] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ x + 7>=(img).width()?(img).width() - 1:x + 7); \
+ x<=(int)(x1) && ((_n7##x<(img).width() && ( \
+ (I[14] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[29] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[44] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[59] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[74] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[89] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[104] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[119] = (T)(img)(_n7##x,y,z,c)), \
+ (I[134] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[149] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[164] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[179] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[194] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[209] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[224] = (T)(img)(_n7##x,_n7##y,z,c)),1)) || \
+ _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], \
+ I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], \
+ I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], \
+ I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], \
+ I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], \
+ I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], \
+ I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], \
+ I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], \
+ I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], \
+ I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], \
+ I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], \
+ I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], \
+ I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], \
+ I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], \
+ I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], \
+ _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x)
+
+#define cimg_get15x15(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p7##x,_p7##y,z,c), I[1] = (T)(img)(_p6##x,_p7##y,z,c), I[2] = (T)(img)(_p5##x,_p7##y,z,c), I[3] = (T)(img)(_p4##x,_p7##y,z,c), I[4] = (T)(img)(_p3##x,_p7##y,z,c), I[5] = (T)(img)(_p2##x,_p7##y,z,c), I[6] = (T)(img)(_p1##x,_p7##y,z,c), I[7] = (T)(img)(x,_p7##y,z,c), I[8] = (T)(img)(_n1##x,_p7##y,z,c), I[9] = (T)(img)(_n2##x,_p7##y,z,c), I[10] = (T)(img)(_n3##x,_p7##y,z,c), I[11] = (T)(img)(_n4##x,_p7##y,z,c), I[12] = (T)(img)(_n5##x,_p7##y,z,c), I[13] = (T)(img)(_n6##x,_ [...]
+ I[15] = (T)(img)(_p7##x,_p6##y,z,c), I[16] = (T)(img)(_p6##x,_p6##y,z,c), I[17] = (T)(img)(_p5##x,_p6##y,z,c), I[18] = (T)(img)(_p4##x,_p6##y,z,c), I[19] = (T)(img)(_p3##x,_p6##y,z,c), I[20] = (T)(img)(_p2##x,_p6##y,z,c), I[21] = (T)(img)(_p1##x,_p6##y,z,c), I[22] = (T)(img)(x,_p6##y,z,c), I[23] = (T)(img)(_n1##x,_p6##y,z,c), I[24] = (T)(img)(_n2##x,_p6##y,z,c), I[25] = (T)(img)(_n3##x,_p6##y,z,c), I[26] = (T)(img)(_n4##x,_p6##y,z,c), I[27] = (T)(img)(_n5##x,_p6##y,z,c), I[28] = (T)(img [...]
+ I[30] = (T)(img)(_p7##x,_p5##y,z,c), I[31] = (T)(img)(_p6##x,_p5##y,z,c), I[32] = (T)(img)(_p5##x,_p5##y,z,c), I[33] = (T)(img)(_p4##x,_p5##y,z,c), I[34] = (T)(img)(_p3##x,_p5##y,z,c), I[35] = (T)(img)(_p2##x,_p5##y,z,c), I[36] = (T)(img)(_p1##x,_p5##y,z,c), I[37] = (T)(img)(x,_p5##y,z,c), I[38] = (T)(img)(_n1##x,_p5##y,z,c), I[39] = (T)(img)(_n2##x,_p5##y,z,c), I[40] = (T)(img)(_n3##x,_p5##y,z,c), I[41] = (T)(img)(_n4##x,_p5##y,z,c), I[42] = (T)(img)(_n5##x,_p5##y,z,c), I[43] = (T)(img [...]
+ I[45] = (T)(img)(_p7##x,_p4##y,z,c), I[46] = (T)(img)(_p6##x,_p4##y,z,c), I[47] = (T)(img)(_p5##x,_p4##y,z,c), I[48] = (T)(img)(_p4##x,_p4##y,z,c), I[49] = (T)(img)(_p3##x,_p4##y,z,c), I[50] = (T)(img)(_p2##x,_p4##y,z,c), I[51] = (T)(img)(_p1##x,_p4##y,z,c), I[52] = (T)(img)(x,_p4##y,z,c), I[53] = (T)(img)(_n1##x,_p4##y,z,c), I[54] = (T)(img)(_n2##x,_p4##y,z,c), I[55] = (T)(img)(_n3##x,_p4##y,z,c), I[56] = (T)(img)(_n4##x,_p4##y,z,c), I[57] = (T)(img)(_n5##x,_p4##y,z,c), I[58] = (T)(img [...]
+ I[60] = (T)(img)(_p7##x,_p3##y,z,c), I[61] = (T)(img)(_p6##x,_p3##y,z,c), I[62] = (T)(img)(_p5##x,_p3##y,z,c), I[63] = (T)(img)(_p4##x,_p3##y,z,c), I[64] = (T)(img)(_p3##x,_p3##y,z,c), I[65] = (T)(img)(_p2##x,_p3##y,z,c), I[66] = (T)(img)(_p1##x,_p3##y,z,c), I[67] = (T)(img)(x,_p3##y,z,c), I[68] = (T)(img)(_n1##x,_p3##y,z,c), I[69] = (T)(img)(_n2##x,_p3##y,z,c), I[70] = (T)(img)(_n3##x,_p3##y,z,c), I[71] = (T)(img)(_n4##x,_p3##y,z,c), I[72] = (T)(img)(_n5##x,_p3##y,z,c), I[73] = (T)(img [...]
+ I[75] = (T)(img)(_p7##x,_p2##y,z,c), I[76] = (T)(img)(_p6##x,_p2##y,z,c), I[77] = (T)(img)(_p5##x,_p2##y,z,c), I[78] = (T)(img)(_p4##x,_p2##y,z,c), I[79] = (T)(img)(_p3##x,_p2##y,z,c), I[80] = (T)(img)(_p2##x,_p2##y,z,c), I[81] = (T)(img)(_p1##x,_p2##y,z,c), I[82] = (T)(img)(x,_p2##y,z,c), I[83] = (T)(img)(_n1##x,_p2##y,z,c), I[84] = (T)(img)(_n2##x,_p2##y,z,c), I[85] = (T)(img)(_n3##x,_p2##y,z,c), I[86] = (T)(img)(_n4##x,_p2##y,z,c), I[87] = (T)(img)(_n5##x,_p2##y,z,c), I[88] = (T)(img [...]
+ I[90] = (T)(img)(_p7##x,_p1##y,z,c), I[91] = (T)(img)(_p6##x,_p1##y,z,c), I[92] = (T)(img)(_p5##x,_p1##y,z,c), I[93] = (T)(img)(_p4##x,_p1##y,z,c), I[94] = (T)(img)(_p3##x,_p1##y,z,c), I[95] = (T)(img)(_p2##x,_p1##y,z,c), I[96] = (T)(img)(_p1##x,_p1##y,z,c), I[97] = (T)(img)(x,_p1##y,z,c), I[98] = (T)(img)(_n1##x,_p1##y,z,c), I[99] = (T)(img)(_n2##x,_p1##y,z,c), I[100] = (T)(img)(_n3##x,_p1##y,z,c), I[101] = (T)(img)(_n4##x,_p1##y,z,c), I[102] = (T)(img)(_n5##x,_p1##y,z,c), I[103] = (T) [...]
+ I[105] = (T)(img)(_p7##x,y,z,c), I[106] = (T)(img)(_p6##x,y,z,c), I[107] = (T)(img)(_p5##x,y,z,c), I[108] = (T)(img)(_p4##x,y,z,c), I[109] = (T)(img)(_p3##x,y,z,c), I[110] = (T)(img)(_p2##x,y,z,c), I[111] = (T)(img)(_p1##x,y,z,c), I[112] = (T)(img)(x,y,z,c), I[113] = (T)(img)(_n1##x,y,z,c), I[114] = (T)(img)(_n2##x,y,z,c), I[115] = (T)(img)(_n3##x,y,z,c), I[116] = (T)(img)(_n4##x,y,z,c), I[117] = (T)(img)(_n5##x,y,z,c), I[118] = (T)(img)(_n6##x,y,z,c), I[119] = (T)(img)(_n7##x,y,z,c), \
+ I[120] = (T)(img)(_p7##x,_n1##y,z,c), I[121] = (T)(img)(_p6##x,_n1##y,z,c), I[122] = (T)(img)(_p5##x,_n1##y,z,c), I[123] = (T)(img)(_p4##x,_n1##y,z,c), I[124] = (T)(img)(_p3##x,_n1##y,z,c), I[125] = (T)(img)(_p2##x,_n1##y,z,c), I[126] = (T)(img)(_p1##x,_n1##y,z,c), I[127] = (T)(img)(x,_n1##y,z,c), I[128] = (T)(img)(_n1##x,_n1##y,z,c), I[129] = (T)(img)(_n2##x,_n1##y,z,c), I[130] = (T)(img)(_n3##x,_n1##y,z,c), I[131] = (T)(img)(_n4##x,_n1##y,z,c), I[132] = (T)(img)(_n5##x,_n1##y,z,c), I[ [...]
+ I[135] = (T)(img)(_p7##x,_n2##y,z,c), I[136] = (T)(img)(_p6##x,_n2##y,z,c), I[137] = (T)(img)(_p5##x,_n2##y,z,c), I[138] = (T)(img)(_p4##x,_n2##y,z,c), I[139] = (T)(img)(_p3##x,_n2##y,z,c), I[140] = (T)(img)(_p2##x,_n2##y,z,c), I[141] = (T)(img)(_p1##x,_n2##y,z,c), I[142] = (T)(img)(x,_n2##y,z,c), I[143] = (T)(img)(_n1##x,_n2##y,z,c), I[144] = (T)(img)(_n2##x,_n2##y,z,c), I[145] = (T)(img)(_n3##x,_n2##y,z,c), I[146] = (T)(img)(_n4##x,_n2##y,z,c), I[147] = (T)(img)(_n5##x,_n2##y,z,c), I[ [...]
+ I[150] = (T)(img)(_p7##x,_n3##y,z,c), I[151] = (T)(img)(_p6##x,_n3##y,z,c), I[152] = (T)(img)(_p5##x,_n3##y,z,c), I[153] = (T)(img)(_p4##x,_n3##y,z,c), I[154] = (T)(img)(_p3##x,_n3##y,z,c), I[155] = (T)(img)(_p2##x,_n3##y,z,c), I[156] = (T)(img)(_p1##x,_n3##y,z,c), I[157] = (T)(img)(x,_n3##y,z,c), I[158] = (T)(img)(_n1##x,_n3##y,z,c), I[159] = (T)(img)(_n2##x,_n3##y,z,c), I[160] = (T)(img)(_n3##x,_n3##y,z,c), I[161] = (T)(img)(_n4##x,_n3##y,z,c), I[162] = (T)(img)(_n5##x,_n3##y,z,c), I[ [...]
+ I[165] = (T)(img)(_p7##x,_n4##y,z,c), I[166] = (T)(img)(_p6##x,_n4##y,z,c), I[167] = (T)(img)(_p5##x,_n4##y,z,c), I[168] = (T)(img)(_p4##x,_n4##y,z,c), I[169] = (T)(img)(_p3##x,_n4##y,z,c), I[170] = (T)(img)(_p2##x,_n4##y,z,c), I[171] = (T)(img)(_p1##x,_n4##y,z,c), I[172] = (T)(img)(x,_n4##y,z,c), I[173] = (T)(img)(_n1##x,_n4##y,z,c), I[174] = (T)(img)(_n2##x,_n4##y,z,c), I[175] = (T)(img)(_n3##x,_n4##y,z,c), I[176] = (T)(img)(_n4##x,_n4##y,z,c), I[177] = (T)(img)(_n5##x,_n4##y,z,c), I[ [...]
+ I[180] = (T)(img)(_p7##x,_n5##y,z,c), I[181] = (T)(img)(_p6##x,_n5##y,z,c), I[182] = (T)(img)(_p5##x,_n5##y,z,c), I[183] = (T)(img)(_p4##x,_n5##y,z,c), I[184] = (T)(img)(_p3##x,_n5##y,z,c), I[185] = (T)(img)(_p2##x,_n5##y,z,c), I[186] = (T)(img)(_p1##x,_n5##y,z,c), I[187] = (T)(img)(x,_n5##y,z,c), I[188] = (T)(img)(_n1##x,_n5##y,z,c), I[189] = (T)(img)(_n2##x,_n5##y,z,c), I[190] = (T)(img)(_n3##x,_n5##y,z,c), I[191] = (T)(img)(_n4##x,_n5##y,z,c), I[192] = (T)(img)(_n5##x,_n5##y,z,c), I[ [...]
+ I[195] = (T)(img)(_p7##x,_n6##y,z,c), I[196] = (T)(img)(_p6##x,_n6##y,z,c), I[197] = (T)(img)(_p5##x,_n6##y,z,c), I[198] = (T)(img)(_p4##x,_n6##y,z,c), I[199] = (T)(img)(_p3##x,_n6##y,z,c), I[200] = (T)(img)(_p2##x,_n6##y,z,c), I[201] = (T)(img)(_p1##x,_n6##y,z,c), I[202] = (T)(img)(x,_n6##y,z,c), I[203] = (T)(img)(_n1##x,_n6##y,z,c), I[204] = (T)(img)(_n2##x,_n6##y,z,c), I[205] = (T)(img)(_n3##x,_n6##y,z,c), I[206] = (T)(img)(_n4##x,_n6##y,z,c), I[207] = (T)(img)(_n5##x,_n6##y,z,c), I[ [...]
+ I[210] = (T)(img)(_p7##x,_n7##y,z,c), I[211] = (T)(img)(_p6##x,_n7##y,z,c), I[212] = (T)(img)(_p5##x,_n7##y,z,c), I[213] = (T)(img)(_p4##x,_n7##y,z,c), I[214] = (T)(img)(_p3##x,_n7##y,z,c), I[215] = (T)(img)(_p2##x,_n7##y,z,c), I[216] = (T)(img)(_p1##x,_n7##y,z,c), I[217] = (T)(img)(x,_n7##y,z,c), I[218] = (T)(img)(_n1##x,_n7##y,z,c), I[219] = (T)(img)(_n2##x,_n7##y,z,c), I[220] = (T)(img)(_n3##x,_n7##y,z,c), I[221] = (T)(img)(_n4##x,_n7##y,z,c), I[222] = (T)(img)(_n5##x,_n7##y,z,c), I[ [...]
+
+// Define 16x16 loop macros
+//-------------------------
+#define cimg_for16(bound,i) for (int i = 0, \
+ _p7##i = 0, _p6##i = 0, _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5, \
+ _n6##i = 6>=(int)(bound)?(int)(bound) - 1:6, \
+ _n7##i = 7>=(int)(bound)?(int)(bound) - 1:7, \
+ _n8##i = 8>=(int)(bound)?(int)(bound) - 1:8; \
+ _n8##i<(int)(bound) || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i)
+
+#define cimg_for16X(img,x) cimg_for16((img)._width,x)
+#define cimg_for16Y(img,y) cimg_for16((img)._height,y)
+#define cimg_for16Z(img,z) cimg_for16((img)._depth,z)
+#define cimg_for16C(img,c) cimg_for16((img)._spectrum,c)
+#define cimg_for16XY(img,x,y) cimg_for16Y(img,y) cimg_for16X(img,x)
+#define cimg_for16XZ(img,x,z) cimg_for16Z(img,z) cimg_for16X(img,x)
+#define cimg_for16XC(img,x,c) cimg_for16C(img,c) cimg_for16X(img,x)
+#define cimg_for16YZ(img,y,z) cimg_for16Z(img,z) cimg_for16Y(img,y)
+#define cimg_for16YC(img,y,c) cimg_for16C(img,c) cimg_for16Y(img,y)
+#define cimg_for16ZC(img,z,c) cimg_for16C(img,c) cimg_for16Z(img,z)
+#define cimg_for16XYZ(img,x,y,z) cimg_for16Z(img,z) cimg_for16XY(img,x,y)
+#define cimg_for16XZC(img,x,z,c) cimg_for16C(img,c) cimg_for16XZ(img,x,z)
+#define cimg_for16YZC(img,y,z,c) cimg_for16C(img,c) cimg_for16YZ(img,y,z)
+#define cimg_for16XYZC(img,x,y,z,c) cimg_for16C(img,c) cimg_for16XYZ(img,x,y,z)
+
+#define cimg_for_in16(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p7##i = i - 7<0?0:i - 7, \
+ _p6##i = i - 6<0?0:i - 6, \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5, \
+ _n6##i = i + 6>=(int)(bound)?(int)(bound) - 1:i + 6, \
+ _n7##i = i + 7>=(int)(bound)?(int)(bound) - 1:i + 7, \
+ _n8##i = i + 8>=(int)(bound)?(int)(bound) - 1:i + 8; \
+ i<=(int)(i1) && (_n8##i<(int)(bound) || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i)
+
+#define cimg_for_in16X(img,x0,x1,x) cimg_for_in16((img)._width,x0,x1,x)
+#define cimg_for_in16Y(img,y0,y1,y) cimg_for_in16((img)._height,y0,y1,y)
+#define cimg_for_in16Z(img,z0,z1,z) cimg_for_in16((img)._depth,z0,z1,z)
+#define cimg_for_in16C(img,c0,c1,c) cimg_for_in16((img)._spectrum,c0,c1,c)
+#define cimg_for_in16XY(img,x0,y0,x1,y1,x,y) cimg_for_in16Y(img,y0,y1,y) cimg_for_in16X(img,x0,x1,x)
+#define cimg_for_in16XZ(img,x0,z0,x1,z1,x,z) cimg_for_in16Z(img,z0,z1,z) cimg_for_in16X(img,x0,x1,x)
+#define cimg_for_in16XC(img,x0,c0,x1,c1,x,c) cimg_for_in16C(img,c0,c1,c) cimg_for_in16X(img,x0,x1,x)
+#define cimg_for_in16YZ(img,y0,z0,y1,z1,y,z) cimg_for_in16Z(img,z0,z1,z) cimg_for_in16Y(img,y0,y1,y)
+#define cimg_for_in16YC(img,y0,c0,y1,c1,y,c) cimg_for_in16C(img,c0,c1,c) cimg_for_in16Y(img,y0,y1,y)
+#define cimg_for_in16ZC(img,z0,c0,z1,c1,z,c) cimg_for_in16C(img,c0,c1,c) cimg_for_in16Z(img,z0,z1,z)
+#define cimg_for_in16XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in16Z(img,z0,z1,z) cimg_for_in16XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in16XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in16C(img,c0,c1,c) cimg_for_in16XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in16YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in16C(img,c0,c1,c) cimg_for_in16YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in16XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in16C(img,c0,c1,c) cimg_for_in16XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for16x16(img,x,y,z,c,I,T) \
+ cimg_for16((img)._height,y) for (int x = 0, \
+ _p7##x = 0, _p6##x = 0, _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = 5>=((img)._width)?(img).width() - 1:5, \
+ _n6##x = 6>=((img)._width)?(img).width() - 1:6, \
+ _n7##x = 7>=((img)._width)?(img).width() - 1:7, \
+ _n8##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = I[6] = I[7] = (T)(img)(0,_p7##y,z,c)), \
+ (I[16] = I[17] = I[18] = I[19] = I[20] = I[21] = I[22] = I[23] = (T)(img)(0,_p6##y,z,c)), \
+ (I[32] = I[33] = I[34] = I[35] = I[36] = I[37] = I[38] = I[39] = (T)(img)(0,_p5##y,z,c)), \
+ (I[48] = I[49] = I[50] = I[51] = I[52] = I[53] = I[54] = I[55] = (T)(img)(0,_p4##y,z,c)), \
+ (I[64] = I[65] = I[66] = I[67] = I[68] = I[69] = I[70] = I[71] = (T)(img)(0,_p3##y,z,c)), \
+ (I[80] = I[81] = I[82] = I[83] = I[84] = I[85] = I[86] = I[87] = (T)(img)(0,_p2##y,z,c)), \
+ (I[96] = I[97] = I[98] = I[99] = I[100] = I[101] = I[102] = I[103] = (T)(img)(0,_p1##y,z,c)), \
+ (I[112] = I[113] = I[114] = I[115] = I[116] = I[117] = I[118] = I[119] = (T)(img)(0,y,z,c)), \
+ (I[128] = I[129] = I[130] = I[131] = I[132] = I[133] = I[134] = I[135] = (T)(img)(0,_n1##y,z,c)), \
+ (I[144] = I[145] = I[146] = I[147] = I[148] = I[149] = I[150] = I[151] = (T)(img)(0,_n2##y,z,c)), \
+ (I[160] = I[161] = I[162] = I[163] = I[164] = I[165] = I[166] = I[167] = (T)(img)(0,_n3##y,z,c)), \
+ (I[176] = I[177] = I[178] = I[179] = I[180] = I[181] = I[182] = I[183] = (T)(img)(0,_n4##y,z,c)), \
+ (I[192] = I[193] = I[194] = I[195] = I[196] = I[197] = I[198] = I[199] = (T)(img)(0,_n5##y,z,c)), \
+ (I[208] = I[209] = I[210] = I[211] = I[212] = I[213] = I[214] = I[215] = (T)(img)(0,_n6##y,z,c)), \
+ (I[224] = I[225] = I[226] = I[227] = I[228] = I[229] = I[230] = I[231] = (T)(img)(0,_n7##y,z,c)), \
+ (I[240] = I[241] = I[242] = I[243] = I[244] = I[245] = I[246] = I[247] = (T)(img)(0,_n8##y,z,c)), \
+ (I[8] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[24] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[40] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[56] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[72] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[88] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[104] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[120] = (T)(img)(_n1##x,y,z,c)), \
+ (I[136] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[152] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[168] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[184] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[200] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[216] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[232] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[248] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[9] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[25] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[41] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[57] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[73] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[89] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[105] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[121] = (T)(img)(_n2##x,y,z,c)), \
+ (I[137] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[153] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[169] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[185] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[201] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[217] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[233] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[249] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[10] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[26] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[42] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[58] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[74] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[90] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[106] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[122] = (T)(img)(_n3##x,y,z,c)), \
+ (I[138] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[154] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[170] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[186] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[202] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[218] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[234] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[250] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[11] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[27] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[43] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[59] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[75] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[91] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[107] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[123] = (T)(img)(_n4##x,y,z,c)), \
+ (I[139] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[155] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[171] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[187] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[203] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[219] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[235] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[251] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[12] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[28] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[44] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[60] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[76] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[92] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[108] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[124] = (T)(img)(_n5##x,y,z,c)), \
+ (I[140] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[156] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[172] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[188] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[204] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[220] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[236] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[252] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[13] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[29] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[45] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[61] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[77] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[93] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[109] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[125] = (T)(img)(_n6##x,y,z,c)), \
+ (I[141] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[157] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[173] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[189] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[205] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[221] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[237] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[253] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[14] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[30] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[46] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[62] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[78] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[94] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[110] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[126] = (T)(img)(_n7##x,y,z,c)), \
+ (I[142] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[158] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[174] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[190] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[206] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[222] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[238] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[254] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ 8>=((img)._width)?(img).width() - 1:8); \
+ (_n8##x<(img).width() && ( \
+ (I[15] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[31] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[47] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[63] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[79] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[95] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[111] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[127] = (T)(img)(_n8##x,y,z,c)), \
+ (I[143] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[159] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[175] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[191] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[207] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[223] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[239] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[255] = (T)(img)(_n8##x,_n8##y,z,c)),1)) || \
+ _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], \
+ I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], \
+ I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], \
+ I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], \
+ I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], \
+ I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], \
+ I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], \
+ I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], \
+ I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], \
+ I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], \
+ I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], \
+ I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], \
+ I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], \
+ I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], \
+ I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], \
+ I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], \
+ _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x)
+
+#define cimg_for_in16x16(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in16((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p7##x = x - 7<0?0:x - 7, \
+ _p6##x = x - 6<0?0:x - 6, \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = x + 5>=(img).width()?(img).width() - 1:x + 5, \
+ _n6##x = x + 6>=(img).width()?(img).width() - 1:x + 6, \
+ _n7##x = x + 7>=(img).width()?(img).width() - 1:x + 7, \
+ _n8##x = (int)( \
+ (I[0] = (T)(img)(_p7##x,_p7##y,z,c)), \
+ (I[16] = (T)(img)(_p7##x,_p6##y,z,c)), \
+ (I[32] = (T)(img)(_p7##x,_p5##y,z,c)), \
+ (I[48] = (T)(img)(_p7##x,_p4##y,z,c)), \
+ (I[64] = (T)(img)(_p7##x,_p3##y,z,c)), \
+ (I[80] = (T)(img)(_p7##x,_p2##y,z,c)), \
+ (I[96] = (T)(img)(_p7##x,_p1##y,z,c)), \
+ (I[112] = (T)(img)(_p7##x,y,z,c)), \
+ (I[128] = (T)(img)(_p7##x,_n1##y,z,c)), \
+ (I[144] = (T)(img)(_p7##x,_n2##y,z,c)), \
+ (I[160] = (T)(img)(_p7##x,_n3##y,z,c)), \
+ (I[176] = (T)(img)(_p7##x,_n4##y,z,c)), \
+ (I[192] = (T)(img)(_p7##x,_n5##y,z,c)), \
+ (I[208] = (T)(img)(_p7##x,_n6##y,z,c)), \
+ (I[224] = (T)(img)(_p7##x,_n7##y,z,c)), \
+ (I[240] = (T)(img)(_p7##x,_n8##y,z,c)), \
+ (I[1] = (T)(img)(_p6##x,_p7##y,z,c)), \
+ (I[17] = (T)(img)(_p6##x,_p6##y,z,c)), \
+ (I[33] = (T)(img)(_p6##x,_p5##y,z,c)), \
+ (I[49] = (T)(img)(_p6##x,_p4##y,z,c)), \
+ (I[65] = (T)(img)(_p6##x,_p3##y,z,c)), \
+ (I[81] = (T)(img)(_p6##x,_p2##y,z,c)), \
+ (I[97] = (T)(img)(_p6##x,_p1##y,z,c)), \
+ (I[113] = (T)(img)(_p6##x,y,z,c)), \
+ (I[129] = (T)(img)(_p6##x,_n1##y,z,c)), \
+ (I[145] = (T)(img)(_p6##x,_n2##y,z,c)), \
+ (I[161] = (T)(img)(_p6##x,_n3##y,z,c)), \
+ (I[177] = (T)(img)(_p6##x,_n4##y,z,c)), \
+ (I[193] = (T)(img)(_p6##x,_n5##y,z,c)), \
+ (I[209] = (T)(img)(_p6##x,_n6##y,z,c)), \
+ (I[225] = (T)(img)(_p6##x,_n7##y,z,c)), \
+ (I[241] = (T)(img)(_p6##x,_n8##y,z,c)), \
+ (I[2] = (T)(img)(_p5##x,_p7##y,z,c)), \
+ (I[18] = (T)(img)(_p5##x,_p6##y,z,c)), \
+ (I[34] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[50] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[66] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[82] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[98] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[114] = (T)(img)(_p5##x,y,z,c)), \
+ (I[130] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[146] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[162] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[178] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[194] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[210] = (T)(img)(_p5##x,_n6##y,z,c)), \
+ (I[226] = (T)(img)(_p5##x,_n7##y,z,c)), \
+ (I[242] = (T)(img)(_p5##x,_n8##y,z,c)), \
+ (I[3] = (T)(img)(_p4##x,_p7##y,z,c)), \
+ (I[19] = (T)(img)(_p4##x,_p6##y,z,c)), \
+ (I[35] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[51] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[67] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[83] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[99] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[115] = (T)(img)(_p4##x,y,z,c)), \
+ (I[131] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[147] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[163] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[179] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[195] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[211] = (T)(img)(_p4##x,_n6##y,z,c)), \
+ (I[227] = (T)(img)(_p4##x,_n7##y,z,c)), \
+ (I[243] = (T)(img)(_p4##x,_n8##y,z,c)), \
+ (I[4] = (T)(img)(_p3##x,_p7##y,z,c)), \
+ (I[20] = (T)(img)(_p3##x,_p6##y,z,c)), \
+ (I[36] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[52] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[68] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[84] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[100] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[116] = (T)(img)(_p3##x,y,z,c)), \
+ (I[132] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[148] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[164] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[180] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[196] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[212] = (T)(img)(_p3##x,_n6##y,z,c)), \
+ (I[228] = (T)(img)(_p3##x,_n7##y,z,c)), \
+ (I[244] = (T)(img)(_p3##x,_n8##y,z,c)), \
+ (I[5] = (T)(img)(_p2##x,_p7##y,z,c)), \
+ (I[21] = (T)(img)(_p2##x,_p6##y,z,c)), \
+ (I[37] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[53] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[69] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[85] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[101] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[117] = (T)(img)(_p2##x,y,z,c)), \
+ (I[133] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[149] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[165] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[181] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[197] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[213] = (T)(img)(_p2##x,_n6##y,z,c)), \
+ (I[229] = (T)(img)(_p2##x,_n7##y,z,c)), \
+ (I[245] = (T)(img)(_p2##x,_n8##y,z,c)), \
+ (I[6] = (T)(img)(_p1##x,_p7##y,z,c)), \
+ (I[22] = (T)(img)(_p1##x,_p6##y,z,c)), \
+ (I[38] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[54] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[70] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[86] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[102] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[118] = (T)(img)(_p1##x,y,z,c)), \
+ (I[134] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[150] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[166] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[182] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[198] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[214] = (T)(img)(_p1##x,_n6##y,z,c)), \
+ (I[230] = (T)(img)(_p1##x,_n7##y,z,c)), \
+ (I[246] = (T)(img)(_p1##x,_n8##y,z,c)), \
+ (I[7] = (T)(img)(x,_p7##y,z,c)), \
+ (I[23] = (T)(img)(x,_p6##y,z,c)), \
+ (I[39] = (T)(img)(x,_p5##y,z,c)), \
+ (I[55] = (T)(img)(x,_p4##y,z,c)), \
+ (I[71] = (T)(img)(x,_p3##y,z,c)), \
+ (I[87] = (T)(img)(x,_p2##y,z,c)), \
+ (I[103] = (T)(img)(x,_p1##y,z,c)), \
+ (I[119] = (T)(img)(x,y,z,c)), \
+ (I[135] = (T)(img)(x,_n1##y,z,c)), \
+ (I[151] = (T)(img)(x,_n2##y,z,c)), \
+ (I[167] = (T)(img)(x,_n3##y,z,c)), \
+ (I[183] = (T)(img)(x,_n4##y,z,c)), \
+ (I[199] = (T)(img)(x,_n5##y,z,c)), \
+ (I[215] = (T)(img)(x,_n6##y,z,c)), \
+ (I[231] = (T)(img)(x,_n7##y,z,c)), \
+ (I[247] = (T)(img)(x,_n8##y,z,c)), \
+ (I[8] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[24] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[40] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[56] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[72] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[88] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[104] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[120] = (T)(img)(_n1##x,y,z,c)), \
+ (I[136] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[152] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[168] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[184] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[200] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[216] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[232] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[248] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[9] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[25] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[41] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[57] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[73] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[89] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[105] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[121] = (T)(img)(_n2##x,y,z,c)), \
+ (I[137] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[153] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[169] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[185] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[201] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[217] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[233] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[249] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[10] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[26] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[42] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[58] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[74] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[90] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[106] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[122] = (T)(img)(_n3##x,y,z,c)), \
+ (I[138] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[154] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[170] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[186] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[202] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[218] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[234] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[250] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[11] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[27] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[43] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[59] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[75] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[91] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[107] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[123] = (T)(img)(_n4##x,y,z,c)), \
+ (I[139] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[155] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[171] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[187] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[203] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[219] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[235] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[251] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[12] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[28] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[44] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[60] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[76] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[92] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[108] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[124] = (T)(img)(_n5##x,y,z,c)), \
+ (I[140] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[156] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[172] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[188] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[204] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[220] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[236] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[252] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[13] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[29] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[45] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[61] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[77] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[93] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[109] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[125] = (T)(img)(_n6##x,y,z,c)), \
+ (I[141] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[157] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[173] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[189] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[205] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[221] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[237] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[253] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[14] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[30] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[46] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[62] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[78] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[94] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[110] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[126] = (T)(img)(_n7##x,y,z,c)), \
+ (I[142] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[158] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[174] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[190] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[206] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[222] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[238] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[254] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ x + 8>=(img).width()?(img).width() - 1:x + 8); \
+ x<=(int)(x1) && ((_n8##x<(img).width() && ( \
+ (I[15] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[31] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[47] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[63] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[79] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[95] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[111] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[127] = (T)(img)(_n8##x,y,z,c)), \
+ (I[143] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[159] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[175] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[191] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[207] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[223] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[239] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[255] = (T)(img)(_n8##x,_n8##y,z,c)),1)) || \
+ _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], \
+ I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], \
+ I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], \
+ I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], \
+ I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], \
+ I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], \
+ I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], \
+ I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], \
+ I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], \
+ I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], \
+ I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], \
+ I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], \
+ I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], \
+ I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], \
+ I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], \
+ I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], \
+ _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x)
+
+#define cimg_get16x16(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p7##x,_p7##y,z,c), I[1] = (T)(img)(_p6##x,_p7##y,z,c), I[2] = (T)(img)(_p5##x,_p7##y,z,c), I[3] = (T)(img)(_p4##x,_p7##y,z,c), I[4] = (T)(img)(_p3##x,_p7##y,z,c), I[5] = (T)(img)(_p2##x,_p7##y,z,c), I[6] = (T)(img)(_p1##x,_p7##y,z,c), I[7] = (T)(img)(x,_p7##y,z,c), I[8] = (T)(img)(_n1##x,_p7##y,z,c), I[9] = (T)(img)(_n2##x,_p7##y,z,c), I[10] = (T)(img)(_n3##x,_p7##y,z,c), I[11] = (T)(img)(_n4##x,_p7##y,z,c), I[12] = (T)(img)(_n5##x,_p7##y,z,c), I[13] = (T)(img)(_n6##x,_ [...]
+ I[16] = (T)(img)(_p7##x,_p6##y,z,c), I[17] = (T)(img)(_p6##x,_p6##y,z,c), I[18] = (T)(img)(_p5##x,_p6##y,z,c), I[19] = (T)(img)(_p4##x,_p6##y,z,c), I[20] = (T)(img)(_p3##x,_p6##y,z,c), I[21] = (T)(img)(_p2##x,_p6##y,z,c), I[22] = (T)(img)(_p1##x,_p6##y,z,c), I[23] = (T)(img)(x,_p6##y,z,c), I[24] = (T)(img)(_n1##x,_p6##y,z,c), I[25] = (T)(img)(_n2##x,_p6##y,z,c), I[26] = (T)(img)(_n3##x,_p6##y,z,c), I[27] = (T)(img)(_n4##x,_p6##y,z,c), I[28] = (T)(img)(_n5##x,_p6##y,z,c), I[29] = (T)(img [...]
+ I[32] = (T)(img)(_p7##x,_p5##y,z,c), I[33] = (T)(img)(_p6##x,_p5##y,z,c), I[34] = (T)(img)(_p5##x,_p5##y,z,c), I[35] = (T)(img)(_p4##x,_p5##y,z,c), I[36] = (T)(img)(_p3##x,_p5##y,z,c), I[37] = (T)(img)(_p2##x,_p5##y,z,c), I[38] = (T)(img)(_p1##x,_p5##y,z,c), I[39] = (T)(img)(x,_p5##y,z,c), I[40] = (T)(img)(_n1##x,_p5##y,z,c), I[41] = (T)(img)(_n2##x,_p5##y,z,c), I[42] = (T)(img)(_n3##x,_p5##y,z,c), I[43] = (T)(img)(_n4##x,_p5##y,z,c), I[44] = (T)(img)(_n5##x,_p5##y,z,c), I[45] = (T)(img [...]
+ I[48] = (T)(img)(_p7##x,_p4##y,z,c), I[49] = (T)(img)(_p6##x,_p4##y,z,c), I[50] = (T)(img)(_p5##x,_p4##y,z,c), I[51] = (T)(img)(_p4##x,_p4##y,z,c), I[52] = (T)(img)(_p3##x,_p4##y,z,c), I[53] = (T)(img)(_p2##x,_p4##y,z,c), I[54] = (T)(img)(_p1##x,_p4##y,z,c), I[55] = (T)(img)(x,_p4##y,z,c), I[56] = (T)(img)(_n1##x,_p4##y,z,c), I[57] = (T)(img)(_n2##x,_p4##y,z,c), I[58] = (T)(img)(_n3##x,_p4##y,z,c), I[59] = (T)(img)(_n4##x,_p4##y,z,c), I[60] = (T)(img)(_n5##x,_p4##y,z,c), I[61] = (T)(img [...]
+ I[64] = (T)(img)(_p7##x,_p3##y,z,c), I[65] = (T)(img)(_p6##x,_p3##y,z,c), I[66] = (T)(img)(_p5##x,_p3##y,z,c), I[67] = (T)(img)(_p4##x,_p3##y,z,c), I[68] = (T)(img)(_p3##x,_p3##y,z,c), I[69] = (T)(img)(_p2##x,_p3##y,z,c), I[70] = (T)(img)(_p1##x,_p3##y,z,c), I[71] = (T)(img)(x,_p3##y,z,c), I[72] = (T)(img)(_n1##x,_p3##y,z,c), I[73] = (T)(img)(_n2##x,_p3##y,z,c), I[74] = (T)(img)(_n3##x,_p3##y,z,c), I[75] = (T)(img)(_n4##x,_p3##y,z,c), I[76] = (T)(img)(_n5##x,_p3##y,z,c), I[77] = (T)(img [...]
+ I[80] = (T)(img)(_p7##x,_p2##y,z,c), I[81] = (T)(img)(_p6##x,_p2##y,z,c), I[82] = (T)(img)(_p5##x,_p2##y,z,c), I[83] = (T)(img)(_p4##x,_p2##y,z,c), I[84] = (T)(img)(_p3##x,_p2##y,z,c), I[85] = (T)(img)(_p2##x,_p2##y,z,c), I[86] = (T)(img)(_p1##x,_p2##y,z,c), I[87] = (T)(img)(x,_p2##y,z,c), I[88] = (T)(img)(_n1##x,_p2##y,z,c), I[89] = (T)(img)(_n2##x,_p2##y,z,c), I[90] = (T)(img)(_n3##x,_p2##y,z,c), I[91] = (T)(img)(_n4##x,_p2##y,z,c), I[92] = (T)(img)(_n5##x,_p2##y,z,c), I[93] = (T)(img [...]
+ I[96] = (T)(img)(_p7##x,_p1##y,z,c), I[97] = (T)(img)(_p6##x,_p1##y,z,c), I[98] = (T)(img)(_p5##x,_p1##y,z,c), I[99] = (T)(img)(_p4##x,_p1##y,z,c), I[100] = (T)(img)(_p3##x,_p1##y,z,c), I[101] = (T)(img)(_p2##x,_p1##y,z,c), I[102] = (T)(img)(_p1##x,_p1##y,z,c), I[103] = (T)(img)(x,_p1##y,z,c), I[104] = (T)(img)(_n1##x,_p1##y,z,c), I[105] = (T)(img)(_n2##x,_p1##y,z,c), I[106] = (T)(img)(_n3##x,_p1##y,z,c), I[107] = (T)(img)(_n4##x,_p1##y,z,c), I[108] = (T)(img)(_n5##x,_p1##y,z,c), I[109] [...]
+ I[112] = (T)(img)(_p7##x,y,z,c), I[113] = (T)(img)(_p6##x,y,z,c), I[114] = (T)(img)(_p5##x,y,z,c), I[115] = (T)(img)(_p4##x,y,z,c), I[116] = (T)(img)(_p3##x,y,z,c), I[117] = (T)(img)(_p2##x,y,z,c), I[118] = (T)(img)(_p1##x,y,z,c), I[119] = (T)(img)(x,y,z,c), I[120] = (T)(img)(_n1##x,y,z,c), I[121] = (T)(img)(_n2##x,y,z,c), I[122] = (T)(img)(_n3##x,y,z,c), I[123] = (T)(img)(_n4##x,y,z,c), I[124] = (T)(img)(_n5##x,y,z,c), I[125] = (T)(img)(_n6##x,y,z,c), I[126] = (T)(img)(_n7##x,y,z,c), I [...]
+ I[128] = (T)(img)(_p7##x,_n1##y,z,c), I[129] = (T)(img)(_p6##x,_n1##y,z,c), I[130] = (T)(img)(_p5##x,_n1##y,z,c), I[131] = (T)(img)(_p4##x,_n1##y,z,c), I[132] = (T)(img)(_p3##x,_n1##y,z,c), I[133] = (T)(img)(_p2##x,_n1##y,z,c), I[134] = (T)(img)(_p1##x,_n1##y,z,c), I[135] = (T)(img)(x,_n1##y,z,c), I[136] = (T)(img)(_n1##x,_n1##y,z,c), I[137] = (T)(img)(_n2##x,_n1##y,z,c), I[138] = (T)(img)(_n3##x,_n1##y,z,c), I[139] = (T)(img)(_n4##x,_n1##y,z,c), I[140] = (T)(img)(_n5##x,_n1##y,z,c), I[ [...]
+ I[144] = (T)(img)(_p7##x,_n2##y,z,c), I[145] = (T)(img)(_p6##x,_n2##y,z,c), I[146] = (T)(img)(_p5##x,_n2##y,z,c), I[147] = (T)(img)(_p4##x,_n2##y,z,c), I[148] = (T)(img)(_p3##x,_n2##y,z,c), I[149] = (T)(img)(_p2##x,_n2##y,z,c), I[150] = (T)(img)(_p1##x,_n2##y,z,c), I[151] = (T)(img)(x,_n2##y,z,c), I[152] = (T)(img)(_n1##x,_n2##y,z,c), I[153] = (T)(img)(_n2##x,_n2##y,z,c), I[154] = (T)(img)(_n3##x,_n2##y,z,c), I[155] = (T)(img)(_n4##x,_n2##y,z,c), I[156] = (T)(img)(_n5##x,_n2##y,z,c), I[ [...]
+ I[160] = (T)(img)(_p7##x,_n3##y,z,c), I[161] = (T)(img)(_p6##x,_n3##y,z,c), I[162] = (T)(img)(_p5##x,_n3##y,z,c), I[163] = (T)(img)(_p4##x,_n3##y,z,c), I[164] = (T)(img)(_p3##x,_n3##y,z,c), I[165] = (T)(img)(_p2##x,_n3##y,z,c), I[166] = (T)(img)(_p1##x,_n3##y,z,c), I[167] = (T)(img)(x,_n3##y,z,c), I[168] = (T)(img)(_n1##x,_n3##y,z,c), I[169] = (T)(img)(_n2##x,_n3##y,z,c), I[170] = (T)(img)(_n3##x,_n3##y,z,c), I[171] = (T)(img)(_n4##x,_n3##y,z,c), I[172] = (T)(img)(_n5##x,_n3##y,z,c), I[ [...]
+ I[176] = (T)(img)(_p7##x,_n4##y,z,c), I[177] = (T)(img)(_p6##x,_n4##y,z,c), I[178] = (T)(img)(_p5##x,_n4##y,z,c), I[179] = (T)(img)(_p4##x,_n4##y,z,c), I[180] = (T)(img)(_p3##x,_n4##y,z,c), I[181] = (T)(img)(_p2##x,_n4##y,z,c), I[182] = (T)(img)(_p1##x,_n4##y,z,c), I[183] = (T)(img)(x,_n4##y,z,c), I[184] = (T)(img)(_n1##x,_n4##y,z,c), I[185] = (T)(img)(_n2##x,_n4##y,z,c), I[186] = (T)(img)(_n3##x,_n4##y,z,c), I[187] = (T)(img)(_n4##x,_n4##y,z,c), I[188] = (T)(img)(_n5##x,_n4##y,z,c), I[ [...]
+ I[192] = (T)(img)(_p7##x,_n5##y,z,c), I[193] = (T)(img)(_p6##x,_n5##y,z,c), I[194] = (T)(img)(_p5##x,_n5##y,z,c), I[195] = (T)(img)(_p4##x,_n5##y,z,c), I[196] = (T)(img)(_p3##x,_n5##y,z,c), I[197] = (T)(img)(_p2##x,_n5##y,z,c), I[198] = (T)(img)(_p1##x,_n5##y,z,c), I[199] = (T)(img)(x,_n5##y,z,c), I[200] = (T)(img)(_n1##x,_n5##y,z,c), I[201] = (T)(img)(_n2##x,_n5##y,z,c), I[202] = (T)(img)(_n3##x,_n5##y,z,c), I[203] = (T)(img)(_n4##x,_n5##y,z,c), I[204] = (T)(img)(_n5##x,_n5##y,z,c), I[ [...]
+ I[208] = (T)(img)(_p7##x,_n6##y,z,c), I[209] = (T)(img)(_p6##x,_n6##y,z,c), I[210] = (T)(img)(_p5##x,_n6##y,z,c), I[211] = (T)(img)(_p4##x,_n6##y,z,c), I[212] = (T)(img)(_p3##x,_n6##y,z,c), I[213] = (T)(img)(_p2##x,_n6##y,z,c), I[214] = (T)(img)(_p1##x,_n6##y,z,c), I[215] = (T)(img)(x,_n6##y,z,c), I[216] = (T)(img)(_n1##x,_n6##y,z,c), I[217] = (T)(img)(_n2##x,_n6##y,z,c), I[218] = (T)(img)(_n3##x,_n6##y,z,c), I[219] = (T)(img)(_n4##x,_n6##y,z,c), I[220] = (T)(img)(_n5##x,_n6##y,z,c), I[ [...]
+ I[224] = (T)(img)(_p7##x,_n7##y,z,c), I[225] = (T)(img)(_p6##x,_n7##y,z,c), I[226] = (T)(img)(_p5##x,_n7##y,z,c), I[227] = (T)(img)(_p4##x,_n7##y,z,c), I[228] = (T)(img)(_p3##x,_n7##y,z,c), I[229] = (T)(img)(_p2##x,_n7##y,z,c), I[230] = (T)(img)(_p1##x,_n7##y,z,c), I[231] = (T)(img)(x,_n7##y,z,c), I[232] = (T)(img)(_n1##x,_n7##y,z,c), I[233] = (T)(img)(_n2##x,_n7##y,z,c), I[234] = (T)(img)(_n3##x,_n7##y,z,c), I[235] = (T)(img)(_n4##x,_n7##y,z,c), I[236] = (T)(img)(_n5##x,_n7##y,z,c), I[ [...]
+ I[240] = (T)(img)(_p7##x,_n8##y,z,c), I[241] = (T)(img)(_p6##x,_n8##y,z,c), I[242] = (T)(img)(_p5##x,_n8##y,z,c), I[243] = (T)(img)(_p4##x,_n8##y,z,c), I[244] = (T)(img)(_p3##x,_n8##y,z,c), I[245] = (T)(img)(_p2##x,_n8##y,z,c), I[246] = (T)(img)(_p1##x,_n8##y,z,c), I[247] = (T)(img)(x,_n8##y,z,c), I[248] = (T)(img)(_n1##x,_n8##y,z,c), I[249] = (T)(img)(_n2##x,_n8##y,z,c), I[250] = (T)(img)(_n3##x,_n8##y,z,c), I[251] = (T)(img)(_n4##x,_n8##y,z,c), I[252] = (T)(img)(_n5##x,_n8##y,z,c), I[ [...]
+
+// Define 17x17 loop macros
+//-------------------------
+#define cimg_for17(bound,i) for (int i = 0, \
+ _p8##i = 0, _p7##i = 0, _p6##i = 0, _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5, \
+ _n6##i = 6>=(int)(bound)?(int)(bound) - 1:6, \
+ _n7##i = 7>=(int)(bound)?(int)(bound) - 1:7, \
+ _n8##i = 8>=(int)(bound)?(int)(bound) - 1:8; \
+ _n8##i<(int)(bound) || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i)
+
+#define cimg_for17X(img,x) cimg_for17((img)._width,x)
+#define cimg_for17Y(img,y) cimg_for17((img)._height,y)
+#define cimg_for17Z(img,z) cimg_for17((img)._depth,z)
+#define cimg_for17C(img,c) cimg_for17((img)._spectrum,c)
+#define cimg_for17XY(img,x,y) cimg_for17Y(img,y) cimg_for17X(img,x)
+#define cimg_for17XZ(img,x,z) cimg_for17Z(img,z) cimg_for17X(img,x)
+#define cimg_for17XC(img,x,c) cimg_for17C(img,c) cimg_for17X(img,x)
+#define cimg_for17YZ(img,y,z) cimg_for17Z(img,z) cimg_for17Y(img,y)
+#define cimg_for17YC(img,y,c) cimg_for17C(img,c) cimg_for17Y(img,y)
+#define cimg_for17ZC(img,z,c) cimg_for17C(img,c) cimg_for17Z(img,z)
+#define cimg_for17XYZ(img,x,y,z) cimg_for17Z(img,z) cimg_for17XY(img,x,y)
+#define cimg_for17XZC(img,x,z,c) cimg_for17C(img,c) cimg_for17XZ(img,x,z)
+#define cimg_for17YZC(img,y,z,c) cimg_for17C(img,c) cimg_for17YZ(img,y,z)
+#define cimg_for17XYZC(img,x,y,z,c) cimg_for17C(img,c) cimg_for17XYZ(img,x,y,z)
+
+#define cimg_for_in17(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p8##i = i - 8<0?0:i - 8, \
+ _p7##i = i - 7<0?0:i - 7, \
+ _p6##i = i - 6<0?0:i - 6, \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5, \
+ _n6##i = i + 6>=(int)(bound)?(int)(bound) - 1:i + 6, \
+ _n7##i = i + 7>=(int)(bound)?(int)(bound) - 1:i + 7, \
+ _n8##i = i + 8>=(int)(bound)?(int)(bound) - 1:i + 8; \
+ i<=(int)(i1) && (_n8##i<(int)(bound) || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i)
+
+#define cimg_for_in17X(img,x0,x1,x) cimg_for_in17((img)._width,x0,x1,x)
+#define cimg_for_in17Y(img,y0,y1,y) cimg_for_in17((img)._height,y0,y1,y)
+#define cimg_for_in17Z(img,z0,z1,z) cimg_for_in17((img)._depth,z0,z1,z)
+#define cimg_for_in17C(img,c0,c1,c) cimg_for_in17((img)._spectrum,c0,c1,c)
+#define cimg_for_in17XY(img,x0,y0,x1,y1,x,y) cimg_for_in17Y(img,y0,y1,y) cimg_for_in17X(img,x0,x1,x)
+#define cimg_for_in17XZ(img,x0,z0,x1,z1,x,z) cimg_for_in17Z(img,z0,z1,z) cimg_for_in17X(img,x0,x1,x)
+#define cimg_for_in17XC(img,x0,c0,x1,c1,x,c) cimg_for_in17C(img,c0,c1,c) cimg_for_in17X(img,x0,x1,x)
+#define cimg_for_in17YZ(img,y0,z0,y1,z1,y,z) cimg_for_in17Z(img,z0,z1,z) cimg_for_in17Y(img,y0,y1,y)
+#define cimg_for_in17YC(img,y0,c0,y1,c1,y,c) cimg_for_in17C(img,c0,c1,c) cimg_for_in17Y(img,y0,y1,y)
+#define cimg_for_in17ZC(img,z0,c0,z1,c1,z,c) cimg_for_in17C(img,c0,c1,c) cimg_for_in17Z(img,z0,z1,z)
+#define cimg_for_in17XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in17Z(img,z0,z1,z) cimg_for_in17XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in17XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in17C(img,c0,c1,c) cimg_for_in17XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in17YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in17C(img,c0,c1,c) cimg_for_in17YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in17XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in17C(img,c0,c1,c) cimg_for_in17XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for17x17(img,x,y,z,c,I,T) \
+ cimg_for17((img)._height,y) for (int x = 0, \
+ _p8##x = 0, _p7##x = 0, _p6##x = 0, _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = 5>=((img)._width)?(img).width() - 1:5, \
+ _n6##x = 6>=((img)._width)?(img).width() - 1:6, \
+ _n7##x = 7>=((img)._width)?(img).width() - 1:7, \
+ _n8##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = I[6] = I[7] = I[8] = (T)(img)(0,_p8##y,z,c)), \
+ (I[17] = I[18] = I[19] = I[20] = I[21] = I[22] = I[23] = I[24] = I[25] = (T)(img)(0,_p7##y,z,c)), \
+ (I[34] = I[35] = I[36] = I[37] = I[38] = I[39] = I[40] = I[41] = I[42] = (T)(img)(0,_p6##y,z,c)), \
+ (I[51] = I[52] = I[53] = I[54] = I[55] = I[56] = I[57] = I[58] = I[59] = (T)(img)(0,_p5##y,z,c)), \
+ (I[68] = I[69] = I[70] = I[71] = I[72] = I[73] = I[74] = I[75] = I[76] = (T)(img)(0,_p4##y,z,c)), \
+ (I[85] = I[86] = I[87] = I[88] = I[89] = I[90] = I[91] = I[92] = I[93] = (T)(img)(0,_p3##y,z,c)), \
+ (I[102] = I[103] = I[104] = I[105] = I[106] = I[107] = I[108] = I[109] = I[110] = (T)(img)(0,_p2##y,z,c)), \
+ (I[119] = I[120] = I[121] = I[122] = I[123] = I[124] = I[125] = I[126] = I[127] = (T)(img)(0,_p1##y,z,c)), \
+ (I[136] = I[137] = I[138] = I[139] = I[140] = I[141] = I[142] = I[143] = I[144] = (T)(img)(0,y,z,c)), \
+ (I[153] = I[154] = I[155] = I[156] = I[157] = I[158] = I[159] = I[160] = I[161] = (T)(img)(0,_n1##y,z,c)), \
+ (I[170] = I[171] = I[172] = I[173] = I[174] = I[175] = I[176] = I[177] = I[178] = (T)(img)(0,_n2##y,z,c)), \
+ (I[187] = I[188] = I[189] = I[190] = I[191] = I[192] = I[193] = I[194] = I[195] = (T)(img)(0,_n3##y,z,c)), \
+ (I[204] = I[205] = I[206] = I[207] = I[208] = I[209] = I[210] = I[211] = I[212] = (T)(img)(0,_n4##y,z,c)), \
+ (I[221] = I[222] = I[223] = I[224] = I[225] = I[226] = I[227] = I[228] = I[229] = (T)(img)(0,_n5##y,z,c)), \
+ (I[238] = I[239] = I[240] = I[241] = I[242] = I[243] = I[244] = I[245] = I[246] = (T)(img)(0,_n6##y,z,c)), \
+ (I[255] = I[256] = I[257] = I[258] = I[259] = I[260] = I[261] = I[262] = I[263] = (T)(img)(0,_n7##y,z,c)), \
+ (I[272] = I[273] = I[274] = I[275] = I[276] = I[277] = I[278] = I[279] = I[280] = (T)(img)(0,_n8##y,z,c)), \
+ (I[9] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[26] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[43] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[60] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[77] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[94] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[111] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[128] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[145] = (T)(img)(_n1##x,y,z,c)), \
+ (I[162] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[179] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[196] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[213] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[230] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[247] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[264] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[281] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[10] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[27] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[44] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[61] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[78] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[95] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[112] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[129] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[146] = (T)(img)(_n2##x,y,z,c)), \
+ (I[163] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[180] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[197] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[214] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[231] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[248] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[265] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[282] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[11] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[28] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[45] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[62] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[79] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[96] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[113] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[130] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[147] = (T)(img)(_n3##x,y,z,c)), \
+ (I[164] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[181] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[198] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[215] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[232] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[249] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[266] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[283] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[12] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[29] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[46] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[63] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[80] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[97] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[114] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[131] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[148] = (T)(img)(_n4##x,y,z,c)), \
+ (I[165] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[182] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[199] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[216] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[233] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[250] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[267] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[284] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[13] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[30] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[47] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[64] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[81] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[98] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[115] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[132] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[149] = (T)(img)(_n5##x,y,z,c)), \
+ (I[166] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[183] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[200] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[217] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[234] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[251] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[268] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[285] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[14] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[31] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[48] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[65] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[82] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[99] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[116] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[133] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[150] = (T)(img)(_n6##x,y,z,c)), \
+ (I[167] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[184] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[201] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[218] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[235] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[252] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[269] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[286] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[15] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[32] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[49] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[66] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[83] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[100] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[117] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[134] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[151] = (T)(img)(_n7##x,y,z,c)), \
+ (I[168] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[185] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[202] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[219] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[236] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[253] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[270] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[287] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ 8>=((img)._width)?(img).width() - 1:8); \
+ (_n8##x<(img).width() && ( \
+ (I[16] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[33] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[50] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[67] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[84] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[101] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[118] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[135] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[152] = (T)(img)(_n8##x,y,z,c)), \
+ (I[169] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[186] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[203] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[220] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[237] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[254] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[271] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[288] = (T)(img)(_n8##x,_n8##y,z,c)),1)) || \
+ _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], \
+ I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], \
+ I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], \
+ I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], \
+ I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], \
+ I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], \
+ I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], \
+ I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], \
+ I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], \
+ I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], \
+ I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], \
+ I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], \
+ I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], \
+ I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], \
+ I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], \
+ I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], \
+ I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], I[287] = I[288], \
+ _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x)
+
+#define cimg_for_in17x17(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in17((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p8##x = x - 8<0?0:x - 8, \
+ _p7##x = x - 7<0?0:x - 7, \
+ _p6##x = x - 6<0?0:x - 6, \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = x + 5>=(img).width()?(img).width() - 1:x + 5, \
+ _n6##x = x + 6>=(img).width()?(img).width() - 1:x + 6, \
+ _n7##x = x + 7>=(img).width()?(img).width() - 1:x + 7, \
+ _n8##x = (int)( \
+ (I[0] = (T)(img)(_p8##x,_p8##y,z,c)), \
+ (I[17] = (T)(img)(_p8##x,_p7##y,z,c)), \
+ (I[34] = (T)(img)(_p8##x,_p6##y,z,c)), \
+ (I[51] = (T)(img)(_p8##x,_p5##y,z,c)), \
+ (I[68] = (T)(img)(_p8##x,_p4##y,z,c)), \
+ (I[85] = (T)(img)(_p8##x,_p3##y,z,c)), \
+ (I[102] = (T)(img)(_p8##x,_p2##y,z,c)), \
+ (I[119] = (T)(img)(_p8##x,_p1##y,z,c)), \
+ (I[136] = (T)(img)(_p8##x,y,z,c)), \
+ (I[153] = (T)(img)(_p8##x,_n1##y,z,c)), \
+ (I[170] = (T)(img)(_p8##x,_n2##y,z,c)), \
+ (I[187] = (T)(img)(_p8##x,_n3##y,z,c)), \
+ (I[204] = (T)(img)(_p8##x,_n4##y,z,c)), \
+ (I[221] = (T)(img)(_p8##x,_n5##y,z,c)), \
+ (I[238] = (T)(img)(_p8##x,_n6##y,z,c)), \
+ (I[255] = (T)(img)(_p8##x,_n7##y,z,c)), \
+ (I[272] = (T)(img)(_p8##x,_n8##y,z,c)), \
+ (I[1] = (T)(img)(_p7##x,_p8##y,z,c)), \
+ (I[18] = (T)(img)(_p7##x,_p7##y,z,c)), \
+ (I[35] = (T)(img)(_p7##x,_p6##y,z,c)), \
+ (I[52] = (T)(img)(_p7##x,_p5##y,z,c)), \
+ (I[69] = (T)(img)(_p7##x,_p4##y,z,c)), \
+ (I[86] = (T)(img)(_p7##x,_p3##y,z,c)), \
+ (I[103] = (T)(img)(_p7##x,_p2##y,z,c)), \
+ (I[120] = (T)(img)(_p7##x,_p1##y,z,c)), \
+ (I[137] = (T)(img)(_p7##x,y,z,c)), \
+ (I[154] = (T)(img)(_p7##x,_n1##y,z,c)), \
+ (I[171] = (T)(img)(_p7##x,_n2##y,z,c)), \
+ (I[188] = (T)(img)(_p7##x,_n3##y,z,c)), \
+ (I[205] = (T)(img)(_p7##x,_n4##y,z,c)), \
+ (I[222] = (T)(img)(_p7##x,_n5##y,z,c)), \
+ (I[239] = (T)(img)(_p7##x,_n6##y,z,c)), \
+ (I[256] = (T)(img)(_p7##x,_n7##y,z,c)), \
+ (I[273] = (T)(img)(_p7##x,_n8##y,z,c)), \
+ (I[2] = (T)(img)(_p6##x,_p8##y,z,c)), \
+ (I[19] = (T)(img)(_p6##x,_p7##y,z,c)), \
+ (I[36] = (T)(img)(_p6##x,_p6##y,z,c)), \
+ (I[53] = (T)(img)(_p6##x,_p5##y,z,c)), \
+ (I[70] = (T)(img)(_p6##x,_p4##y,z,c)), \
+ (I[87] = (T)(img)(_p6##x,_p3##y,z,c)), \
+ (I[104] = (T)(img)(_p6##x,_p2##y,z,c)), \
+ (I[121] = (T)(img)(_p6##x,_p1##y,z,c)), \
+ (I[138] = (T)(img)(_p6##x,y,z,c)), \
+ (I[155] = (T)(img)(_p6##x,_n1##y,z,c)), \
+ (I[172] = (T)(img)(_p6##x,_n2##y,z,c)), \
+ (I[189] = (T)(img)(_p6##x,_n3##y,z,c)), \
+ (I[206] = (T)(img)(_p6##x,_n4##y,z,c)), \
+ (I[223] = (T)(img)(_p6##x,_n5##y,z,c)), \
+ (I[240] = (T)(img)(_p6##x,_n6##y,z,c)), \
+ (I[257] = (T)(img)(_p6##x,_n7##y,z,c)), \
+ (I[274] = (T)(img)(_p6##x,_n8##y,z,c)), \
+ (I[3] = (T)(img)(_p5##x,_p8##y,z,c)), \
+ (I[20] = (T)(img)(_p5##x,_p7##y,z,c)), \
+ (I[37] = (T)(img)(_p5##x,_p6##y,z,c)), \
+ (I[54] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[71] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[88] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[105] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[122] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[139] = (T)(img)(_p5##x,y,z,c)), \
+ (I[156] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[173] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[190] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[207] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[224] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[241] = (T)(img)(_p5##x,_n6##y,z,c)), \
+ (I[258] = (T)(img)(_p5##x,_n7##y,z,c)), \
+ (I[275] = (T)(img)(_p5##x,_n8##y,z,c)), \
+ (I[4] = (T)(img)(_p4##x,_p8##y,z,c)), \
+ (I[21] = (T)(img)(_p4##x,_p7##y,z,c)), \
+ (I[38] = (T)(img)(_p4##x,_p6##y,z,c)), \
+ (I[55] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[72] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[89] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[106] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[123] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[140] = (T)(img)(_p4##x,y,z,c)), \
+ (I[157] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[174] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[191] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[208] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[225] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[242] = (T)(img)(_p4##x,_n6##y,z,c)), \
+ (I[259] = (T)(img)(_p4##x,_n7##y,z,c)), \
+ (I[276] = (T)(img)(_p4##x,_n8##y,z,c)), \
+ (I[5] = (T)(img)(_p3##x,_p8##y,z,c)), \
+ (I[22] = (T)(img)(_p3##x,_p7##y,z,c)), \
+ (I[39] = (T)(img)(_p3##x,_p6##y,z,c)), \
+ (I[56] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[73] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[90] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[107] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[124] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[141] = (T)(img)(_p3##x,y,z,c)), \
+ (I[158] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[175] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[192] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[209] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[226] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[243] = (T)(img)(_p3##x,_n6##y,z,c)), \
+ (I[260] = (T)(img)(_p3##x,_n7##y,z,c)), \
+ (I[277] = (T)(img)(_p3##x,_n8##y,z,c)), \
+ (I[6] = (T)(img)(_p2##x,_p8##y,z,c)), \
+ (I[23] = (T)(img)(_p2##x,_p7##y,z,c)), \
+ (I[40] = (T)(img)(_p2##x,_p6##y,z,c)), \
+ (I[57] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[74] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[91] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[108] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[125] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[142] = (T)(img)(_p2##x,y,z,c)), \
+ (I[159] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[176] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[193] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[210] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[227] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[244] = (T)(img)(_p2##x,_n6##y,z,c)), \
+ (I[261] = (T)(img)(_p2##x,_n7##y,z,c)), \
+ (I[278] = (T)(img)(_p2##x,_n8##y,z,c)), \
+ (I[7] = (T)(img)(_p1##x,_p8##y,z,c)), \
+ (I[24] = (T)(img)(_p1##x,_p7##y,z,c)), \
+ (I[41] = (T)(img)(_p1##x,_p6##y,z,c)), \
+ (I[58] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[75] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[92] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[109] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[126] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[143] = (T)(img)(_p1##x,y,z,c)), \
+ (I[160] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[177] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[194] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[211] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[228] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[245] = (T)(img)(_p1##x,_n6##y,z,c)), \
+ (I[262] = (T)(img)(_p1##x,_n7##y,z,c)), \
+ (I[279] = (T)(img)(_p1##x,_n8##y,z,c)), \
+ (I[8] = (T)(img)(x,_p8##y,z,c)), \
+ (I[25] = (T)(img)(x,_p7##y,z,c)), \
+ (I[42] = (T)(img)(x,_p6##y,z,c)), \
+ (I[59] = (T)(img)(x,_p5##y,z,c)), \
+ (I[76] = (T)(img)(x,_p4##y,z,c)), \
+ (I[93] = (T)(img)(x,_p3##y,z,c)), \
+ (I[110] = (T)(img)(x,_p2##y,z,c)), \
+ (I[127] = (T)(img)(x,_p1##y,z,c)), \
+ (I[144] = (T)(img)(x,y,z,c)), \
+ (I[161] = (T)(img)(x,_n1##y,z,c)), \
+ (I[178] = (T)(img)(x,_n2##y,z,c)), \
+ (I[195] = (T)(img)(x,_n3##y,z,c)), \
+ (I[212] = (T)(img)(x,_n4##y,z,c)), \
+ (I[229] = (T)(img)(x,_n5##y,z,c)), \
+ (I[246] = (T)(img)(x,_n6##y,z,c)), \
+ (I[263] = (T)(img)(x,_n7##y,z,c)), \
+ (I[280] = (T)(img)(x,_n8##y,z,c)), \
+ (I[9] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[26] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[43] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[60] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[77] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[94] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[111] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[128] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[145] = (T)(img)(_n1##x,y,z,c)), \
+ (I[162] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[179] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[196] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[213] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[230] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[247] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[264] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[281] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[10] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[27] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[44] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[61] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[78] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[95] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[112] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[129] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[146] = (T)(img)(_n2##x,y,z,c)), \
+ (I[163] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[180] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[197] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[214] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[231] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[248] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[265] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[282] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[11] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[28] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[45] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[62] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[79] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[96] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[113] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[130] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[147] = (T)(img)(_n3##x,y,z,c)), \
+ (I[164] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[181] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[198] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[215] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[232] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[249] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[266] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[283] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[12] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[29] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[46] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[63] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[80] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[97] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[114] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[131] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[148] = (T)(img)(_n4##x,y,z,c)), \
+ (I[165] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[182] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[199] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[216] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[233] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[250] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[267] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[284] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[13] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[30] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[47] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[64] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[81] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[98] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[115] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[132] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[149] = (T)(img)(_n5##x,y,z,c)), \
+ (I[166] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[183] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[200] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[217] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[234] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[251] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[268] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[285] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[14] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[31] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[48] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[65] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[82] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[99] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[116] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[133] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[150] = (T)(img)(_n6##x,y,z,c)), \
+ (I[167] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[184] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[201] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[218] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[235] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[252] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[269] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[286] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[15] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[32] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[49] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[66] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[83] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[100] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[117] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[134] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[151] = (T)(img)(_n7##x,y,z,c)), \
+ (I[168] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[185] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[202] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[219] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[236] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[253] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[270] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[287] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ x + 8>=(img).width()?(img).width() - 1:x + 8); \
+ x<=(int)(x1) && ((_n8##x<(img).width() && ( \
+ (I[16] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[33] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[50] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[67] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[84] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[101] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[118] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[135] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[152] = (T)(img)(_n8##x,y,z,c)), \
+ (I[169] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[186] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[203] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[220] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[237] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[254] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[271] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[288] = (T)(img)(_n8##x,_n8##y,z,c)),1)) || \
+ _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], \
+ I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], \
+ I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], \
+ I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], \
+ I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], \
+ I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], \
+ I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], \
+ I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], \
+ I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], \
+ I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], \
+ I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], \
+ I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], \
+ I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], \
+ I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], \
+ I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], \
+ I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], \
+ I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], I[287] = I[288], \
+ _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x)
+
+#define cimg_get17x17(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p8##x,_p8##y,z,c), I[1] = (T)(img)(_p7##x,_p8##y,z,c), I[2] = (T)(img)(_p6##x,_p8##y,z,c), I[3] = (T)(img)(_p5##x,_p8##y,z,c), I[4] = (T)(img)(_p4##x,_p8##y,z,c), I[5] = (T)(img)(_p3##x,_p8##y,z,c), I[6] = (T)(img)(_p2##x,_p8##y,z,c), I[7] = (T)(img)(_p1##x,_p8##y,z,c), I[8] = (T)(img)(x,_p8##y,z,c), I[9] = (T)(img)(_n1##x,_p8##y,z,c), I[10] = (T)(img)(_n2##x,_p8##y,z,c), I[11] = (T)(img)(_n3##x,_p8##y,z,c), I[12] = (T)(img)(_n4##x,_p8##y,z,c), I[13] = (T)(img)(_n5##x,_ [...]
+ I[17] = (T)(img)(_p8##x,_p7##y,z,c), I[18] = (T)(img)(_p7##x,_p7##y,z,c), I[19] = (T)(img)(_p6##x,_p7##y,z,c), I[20] = (T)(img)(_p5##x,_p7##y,z,c), I[21] = (T)(img)(_p4##x,_p7##y,z,c), I[22] = (T)(img)(_p3##x,_p7##y,z,c), I[23] = (T)(img)(_p2##x,_p7##y,z,c), I[24] = (T)(img)(_p1##x,_p7##y,z,c), I[25] = (T)(img)(x,_p7##y,z,c), I[26] = (T)(img)(_n1##x,_p7##y,z,c), I[27] = (T)(img)(_n2##x,_p7##y,z,c), I[28] = (T)(img)(_n3##x,_p7##y,z,c), I[29] = (T)(img)(_n4##x,_p7##y,z,c), I[30] = (T)(img [...]
+ I[34] = (T)(img)(_p8##x,_p6##y,z,c), I[35] = (T)(img)(_p7##x,_p6##y,z,c), I[36] = (T)(img)(_p6##x,_p6##y,z,c), I[37] = (T)(img)(_p5##x,_p6##y,z,c), I[38] = (T)(img)(_p4##x,_p6##y,z,c), I[39] = (T)(img)(_p3##x,_p6##y,z,c), I[40] = (T)(img)(_p2##x,_p6##y,z,c), I[41] = (T)(img)(_p1##x,_p6##y,z,c), I[42] = (T)(img)(x,_p6##y,z,c), I[43] = (T)(img)(_n1##x,_p6##y,z,c), I[44] = (T)(img)(_n2##x,_p6##y,z,c), I[45] = (T)(img)(_n3##x,_p6##y,z,c), I[46] = (T)(img)(_n4##x,_p6##y,z,c), I[47] = (T)(img [...]
+ I[51] = (T)(img)(_p8##x,_p5##y,z,c), I[52] = (T)(img)(_p7##x,_p5##y,z,c), I[53] = (T)(img)(_p6##x,_p5##y,z,c), I[54] = (T)(img)(_p5##x,_p5##y,z,c), I[55] = (T)(img)(_p4##x,_p5##y,z,c), I[56] = (T)(img)(_p3##x,_p5##y,z,c), I[57] = (T)(img)(_p2##x,_p5##y,z,c), I[58] = (T)(img)(_p1##x,_p5##y,z,c), I[59] = (T)(img)(x,_p5##y,z,c), I[60] = (T)(img)(_n1##x,_p5##y,z,c), I[61] = (T)(img)(_n2##x,_p5##y,z,c), I[62] = (T)(img)(_n3##x,_p5##y,z,c), I[63] = (T)(img)(_n4##x,_p5##y,z,c), I[64] = (T)(img [...]
+ I[68] = (T)(img)(_p8##x,_p4##y,z,c), I[69] = (T)(img)(_p7##x,_p4##y,z,c), I[70] = (T)(img)(_p6##x,_p4##y,z,c), I[71] = (T)(img)(_p5##x,_p4##y,z,c), I[72] = (T)(img)(_p4##x,_p4##y,z,c), I[73] = (T)(img)(_p3##x,_p4##y,z,c), I[74] = (T)(img)(_p2##x,_p4##y,z,c), I[75] = (T)(img)(_p1##x,_p4##y,z,c), I[76] = (T)(img)(x,_p4##y,z,c), I[77] = (T)(img)(_n1##x,_p4##y,z,c), I[78] = (T)(img)(_n2##x,_p4##y,z,c), I[79] = (T)(img)(_n3##x,_p4##y,z,c), I[80] = (T)(img)(_n4##x,_p4##y,z,c), I[81] = (T)(img [...]
+ I[85] = (T)(img)(_p8##x,_p3##y,z,c), I[86] = (T)(img)(_p7##x,_p3##y,z,c), I[87] = (T)(img)(_p6##x,_p3##y,z,c), I[88] = (T)(img)(_p5##x,_p3##y,z,c), I[89] = (T)(img)(_p4##x,_p3##y,z,c), I[90] = (T)(img)(_p3##x,_p3##y,z,c), I[91] = (T)(img)(_p2##x,_p3##y,z,c), I[92] = (T)(img)(_p1##x,_p3##y,z,c), I[93] = (T)(img)(x,_p3##y,z,c), I[94] = (T)(img)(_n1##x,_p3##y,z,c), I[95] = (T)(img)(_n2##x,_p3##y,z,c), I[96] = (T)(img)(_n3##x,_p3##y,z,c), I[97] = (T)(img)(_n4##x,_p3##y,z,c), I[98] = (T)(img [...]
+ I[102] = (T)(img)(_p8##x,_p2##y,z,c), I[103] = (T)(img)(_p7##x,_p2##y,z,c), I[104] = (T)(img)(_p6##x,_p2##y,z,c), I[105] = (T)(img)(_p5##x,_p2##y,z,c), I[106] = (T)(img)(_p4##x,_p2##y,z,c), I[107] = (T)(img)(_p3##x,_p2##y,z,c), I[108] = (T)(img)(_p2##x,_p2##y,z,c), I[109] = (T)(img)(_p1##x,_p2##y,z,c), I[110] = (T)(img)(x,_p2##y,z,c), I[111] = (T)(img)(_n1##x,_p2##y,z,c), I[112] = (T)(img)(_n2##x,_p2##y,z,c), I[113] = (T)(img)(_n3##x,_p2##y,z,c), I[114] = (T)(img)(_n4##x,_p2##y,z,c), I[ [...]
+ I[119] = (T)(img)(_p8##x,_p1##y,z,c), I[120] = (T)(img)(_p7##x,_p1##y,z,c), I[121] = (T)(img)(_p6##x,_p1##y,z,c), I[122] = (T)(img)(_p5##x,_p1##y,z,c), I[123] = (T)(img)(_p4##x,_p1##y,z,c), I[124] = (T)(img)(_p3##x,_p1##y,z,c), I[125] = (T)(img)(_p2##x,_p1##y,z,c), I[126] = (T)(img)(_p1##x,_p1##y,z,c), I[127] = (T)(img)(x,_p1##y,z,c), I[128] = (T)(img)(_n1##x,_p1##y,z,c), I[129] = (T)(img)(_n2##x,_p1##y,z,c), I[130] = (T)(img)(_n3##x,_p1##y,z,c), I[131] = (T)(img)(_n4##x,_p1##y,z,c), I[ [...]
+ I[136] = (T)(img)(_p8##x,y,z,c), I[137] = (T)(img)(_p7##x,y,z,c), I[138] = (T)(img)(_p6##x,y,z,c), I[139] = (T)(img)(_p5##x,y,z,c), I[140] = (T)(img)(_p4##x,y,z,c), I[141] = (T)(img)(_p3##x,y,z,c), I[142] = (T)(img)(_p2##x,y,z,c), I[143] = (T)(img)(_p1##x,y,z,c), I[144] = (T)(img)(x,y,z,c), I[145] = (T)(img)(_n1##x,y,z,c), I[146] = (T)(img)(_n2##x,y,z,c), I[147] = (T)(img)(_n3##x,y,z,c), I[148] = (T)(img)(_n4##x,y,z,c), I[149] = (T)(img)(_n5##x,y,z,c), I[150] = (T)(img)(_n6##x,y,z,c), I [...]
+ I[153] = (T)(img)(_p8##x,_n1##y,z,c), I[154] = (T)(img)(_p7##x,_n1##y,z,c), I[155] = (T)(img)(_p6##x,_n1##y,z,c), I[156] = (T)(img)(_p5##x,_n1##y,z,c), I[157] = (T)(img)(_p4##x,_n1##y,z,c), I[158] = (T)(img)(_p3##x,_n1##y,z,c), I[159] = (T)(img)(_p2##x,_n1##y,z,c), I[160] = (T)(img)(_p1##x,_n1##y,z,c), I[161] = (T)(img)(x,_n1##y,z,c), I[162] = (T)(img)(_n1##x,_n1##y,z,c), I[163] = (T)(img)(_n2##x,_n1##y,z,c), I[164] = (T)(img)(_n3##x,_n1##y,z,c), I[165] = (T)(img)(_n4##x,_n1##y,z,c), I[ [...]
+ I[170] = (T)(img)(_p8##x,_n2##y,z,c), I[171] = (T)(img)(_p7##x,_n2##y,z,c), I[172] = (T)(img)(_p6##x,_n2##y,z,c), I[173] = (T)(img)(_p5##x,_n2##y,z,c), I[174] = (T)(img)(_p4##x,_n2##y,z,c), I[175] = (T)(img)(_p3##x,_n2##y,z,c), I[176] = (T)(img)(_p2##x,_n2##y,z,c), I[177] = (T)(img)(_p1##x,_n2##y,z,c), I[178] = (T)(img)(x,_n2##y,z,c), I[179] = (T)(img)(_n1##x,_n2##y,z,c), I[180] = (T)(img)(_n2##x,_n2##y,z,c), I[181] = (T)(img)(_n3##x,_n2##y,z,c), I[182] = (T)(img)(_n4##x,_n2##y,z,c), I[ [...]
+ I[187] = (T)(img)(_p8##x,_n3##y,z,c), I[188] = (T)(img)(_p7##x,_n3##y,z,c), I[189] = (T)(img)(_p6##x,_n3##y,z,c), I[190] = (T)(img)(_p5##x,_n3##y,z,c), I[191] = (T)(img)(_p4##x,_n3##y,z,c), I[192] = (T)(img)(_p3##x,_n3##y,z,c), I[193] = (T)(img)(_p2##x,_n3##y,z,c), I[194] = (T)(img)(_p1##x,_n3##y,z,c), I[195] = (T)(img)(x,_n3##y,z,c), I[196] = (T)(img)(_n1##x,_n3##y,z,c), I[197] = (T)(img)(_n2##x,_n3##y,z,c), I[198] = (T)(img)(_n3##x,_n3##y,z,c), I[199] = (T)(img)(_n4##x,_n3##y,z,c), I[ [...]
+ I[204] = (T)(img)(_p8##x,_n4##y,z,c), I[205] = (T)(img)(_p7##x,_n4##y,z,c), I[206] = (T)(img)(_p6##x,_n4##y,z,c), I[207] = (T)(img)(_p5##x,_n4##y,z,c), I[208] = (T)(img)(_p4##x,_n4##y,z,c), I[209] = (T)(img)(_p3##x,_n4##y,z,c), I[210] = (T)(img)(_p2##x,_n4##y,z,c), I[211] = (T)(img)(_p1##x,_n4##y,z,c), I[212] = (T)(img)(x,_n4##y,z,c), I[213] = (T)(img)(_n1##x,_n4##y,z,c), I[214] = (T)(img)(_n2##x,_n4##y,z,c), I[215] = (T)(img)(_n3##x,_n4##y,z,c), I[216] = (T)(img)(_n4##x,_n4##y,z,c), I[ [...]
+ I[221] = (T)(img)(_p8##x,_n5##y,z,c), I[222] = (T)(img)(_p7##x,_n5##y,z,c), I[223] = (T)(img)(_p6##x,_n5##y,z,c), I[224] = (T)(img)(_p5##x,_n5##y,z,c), I[225] = (T)(img)(_p4##x,_n5##y,z,c), I[226] = (T)(img)(_p3##x,_n5##y,z,c), I[227] = (T)(img)(_p2##x,_n5##y,z,c), I[228] = (T)(img)(_p1##x,_n5##y,z,c), I[229] = (T)(img)(x,_n5##y,z,c), I[230] = (T)(img)(_n1##x,_n5##y,z,c), I[231] = (T)(img)(_n2##x,_n5##y,z,c), I[232] = (T)(img)(_n3##x,_n5##y,z,c), I[233] = (T)(img)(_n4##x,_n5##y,z,c), I[ [...]
+ I[238] = (T)(img)(_p8##x,_n6##y,z,c), I[239] = (T)(img)(_p7##x,_n6##y,z,c), I[240] = (T)(img)(_p6##x,_n6##y,z,c), I[241] = (T)(img)(_p5##x,_n6##y,z,c), I[242] = (T)(img)(_p4##x,_n6##y,z,c), I[243] = (T)(img)(_p3##x,_n6##y,z,c), I[244] = (T)(img)(_p2##x,_n6##y,z,c), I[245] = (T)(img)(_p1##x,_n6##y,z,c), I[246] = (T)(img)(x,_n6##y,z,c), I[247] = (T)(img)(_n1##x,_n6##y,z,c), I[248] = (T)(img)(_n2##x,_n6##y,z,c), I[249] = (T)(img)(_n3##x,_n6##y,z,c), I[250] = (T)(img)(_n4##x,_n6##y,z,c), I[ [...]
+ I[255] = (T)(img)(_p8##x,_n7##y,z,c), I[256] = (T)(img)(_p7##x,_n7##y,z,c), I[257] = (T)(img)(_p6##x,_n7##y,z,c), I[258] = (T)(img)(_p5##x,_n7##y,z,c), I[259] = (T)(img)(_p4##x,_n7##y,z,c), I[260] = (T)(img)(_p3##x,_n7##y,z,c), I[261] = (T)(img)(_p2##x,_n7##y,z,c), I[262] = (T)(img)(_p1##x,_n7##y,z,c), I[263] = (T)(img)(x,_n7##y,z,c), I[264] = (T)(img)(_n1##x,_n7##y,z,c), I[265] = (T)(img)(_n2##x,_n7##y,z,c), I[266] = (T)(img)(_n3##x,_n7##y,z,c), I[267] = (T)(img)(_n4##x,_n7##y,z,c), I[ [...]
+ I[272] = (T)(img)(_p8##x,_n8##y,z,c), I[273] = (T)(img)(_p7##x,_n8##y,z,c), I[274] = (T)(img)(_p6##x,_n8##y,z,c), I[275] = (T)(img)(_p5##x,_n8##y,z,c), I[276] = (T)(img)(_p4##x,_n8##y,z,c), I[277] = (T)(img)(_p3##x,_n8##y,z,c), I[278] = (T)(img)(_p2##x,_n8##y,z,c), I[279] = (T)(img)(_p1##x,_n8##y,z,c), I[280] = (T)(img)(x,_n8##y,z,c), I[281] = (T)(img)(_n1##x,_n8##y,z,c), I[282] = (T)(img)(_n2##x,_n8##y,z,c), I[283] = (T)(img)(_n3##x,_n8##y,z,c), I[284] = (T)(img)(_n4##x,_n8##y,z,c), I[ [...]
+
+// Define 18x18 loop macros
+//-------------------------
+#define cimg_for18(bound,i) for (int i = 0, \
+ _p8##i = 0, _p7##i = 0, _p6##i = 0, _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5, \
+ _n6##i = 6>=(int)(bound)?(int)(bound) - 1:6, \
+ _n7##i = 7>=(int)(bound)?(int)(bound) - 1:7, \
+ _n8##i = 8>=(int)(bound)?(int)(bound) - 1:8, \
+ _n9##i = 9>=(int)(bound)?(int)(bound) - 1:9; \
+ _n9##i<(int)(bound) || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i)
+
+#define cimg_for18X(img,x) cimg_for18((img)._width,x)
+#define cimg_for18Y(img,y) cimg_for18((img)._height,y)
+#define cimg_for18Z(img,z) cimg_for18((img)._depth,z)
+#define cimg_for18C(img,c) cimg_for18((img)._spectrum,c)
+#define cimg_for18XY(img,x,y) cimg_for18Y(img,y) cimg_for18X(img,x)
+#define cimg_for18XZ(img,x,z) cimg_for18Z(img,z) cimg_for18X(img,x)
+#define cimg_for18XC(img,x,c) cimg_for18C(img,c) cimg_for18X(img,x)
+#define cimg_for18YZ(img,y,z) cimg_for18Z(img,z) cimg_for18Y(img,y)
+#define cimg_for18YC(img,y,c) cimg_for18C(img,c) cimg_for18Y(img,y)
+#define cimg_for18ZC(img,z,c) cimg_for18C(img,c) cimg_for18Z(img,z)
+#define cimg_for18XYZ(img,x,y,z) cimg_for18Z(img,z) cimg_for18XY(img,x,y)
+#define cimg_for18XZC(img,x,z,c) cimg_for18C(img,c) cimg_for18XZ(img,x,z)
+#define cimg_for18YZC(img,y,z,c) cimg_for18C(img,c) cimg_for18YZ(img,y,z)
+#define cimg_for18XYZC(img,x,y,z,c) cimg_for18C(img,c) cimg_for18XYZ(img,x,y,z)
+
+#define cimg_for_in18(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p8##i = i - 8<0?0:i - 8, \
+ _p7##i = i - 7<0?0:i - 7, \
+ _p6##i = i - 6<0?0:i - 6, \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5, \
+ _n6##i = i + 6>=(int)(bound)?(int)(bound) - 1:i + 6, \
+ _n7##i = i + 7>=(int)(bound)?(int)(bound) - 1:i + 7, \
+ _n8##i = i + 8>=(int)(bound)?(int)(bound) - 1:i + 8, \
+ _n9##i = i + 9>=(int)(bound)?(int)(bound) - 1:i + 9; \
+ i<=(int)(i1) && (_n9##i<(int)(bound) || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i)
+
+#define cimg_for_in18X(img,x0,x1,x) cimg_for_in18((img)._width,x0,x1,x)
+#define cimg_for_in18Y(img,y0,y1,y) cimg_for_in18((img)._height,y0,y1,y)
+#define cimg_for_in18Z(img,z0,z1,z) cimg_for_in18((img)._depth,z0,z1,z)
+#define cimg_for_in18C(img,c0,c1,c) cimg_for_in18((img)._spectrum,c0,c1,c)
+#define cimg_for_in18XY(img,x0,y0,x1,y1,x,y) cimg_for_in18Y(img,y0,y1,y) cimg_for_in18X(img,x0,x1,x)
+#define cimg_for_in18XZ(img,x0,z0,x1,z1,x,z) cimg_for_in18Z(img,z0,z1,z) cimg_for_in18X(img,x0,x1,x)
+#define cimg_for_in18XC(img,x0,c0,x1,c1,x,c) cimg_for_in18C(img,c0,c1,c) cimg_for_in18X(img,x0,x1,x)
+#define cimg_for_in18YZ(img,y0,z0,y1,z1,y,z) cimg_for_in18Z(img,z0,z1,z) cimg_for_in18Y(img,y0,y1,y)
+#define cimg_for_in18YC(img,y0,c0,y1,c1,y,c) cimg_for_in18C(img,c0,c1,c) cimg_for_in18Y(img,y0,y1,y)
+#define cimg_for_in18ZC(img,z0,c0,z1,c1,z,c) cimg_for_in18C(img,c0,c1,c) cimg_for_in18Z(img,z0,z1,z)
+#define cimg_for_in18XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in18Z(img,z0,z1,z) cimg_for_in18XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in18XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in18C(img,c0,c1,c) cimg_for_in18XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in18YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in18C(img,c0,c1,c) cimg_for_in18YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in18XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in18C(img,c0,c1,c) cimg_for_in18XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for18x18(img,x,y,z,c,I,T) \
+ cimg_for18((img)._height,y) for (int x = 0, \
+ _p8##x = 0, _p7##x = 0, _p6##x = 0, _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = 5>=((img)._width)?(img).width() - 1:5, \
+ _n6##x = 6>=((img)._width)?(img).width() - 1:6, \
+ _n7##x = 7>=((img)._width)?(img).width() - 1:7, \
+ _n8##x = 8>=((img)._width)?(img).width() - 1:8, \
+ _n9##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = I[6] = I[7] = I[8] = (T)(img)(0,_p8##y,z,c)), \
+ (I[18] = I[19] = I[20] = I[21] = I[22] = I[23] = I[24] = I[25] = I[26] = (T)(img)(0,_p7##y,z,c)), \
+ (I[36] = I[37] = I[38] = I[39] = I[40] = I[41] = I[42] = I[43] = I[44] = (T)(img)(0,_p6##y,z,c)), \
+ (I[54] = I[55] = I[56] = I[57] = I[58] = I[59] = I[60] = I[61] = I[62] = (T)(img)(0,_p5##y,z,c)), \
+ (I[72] = I[73] = I[74] = I[75] = I[76] = I[77] = I[78] = I[79] = I[80] = (T)(img)(0,_p4##y,z,c)), \
+ (I[90] = I[91] = I[92] = I[93] = I[94] = I[95] = I[96] = I[97] = I[98] = (T)(img)(0,_p3##y,z,c)), \
+ (I[108] = I[109] = I[110] = I[111] = I[112] = I[113] = I[114] = I[115] = I[116] = (T)(img)(0,_p2##y,z,c)), \
+ (I[126] = I[127] = I[128] = I[129] = I[130] = I[131] = I[132] = I[133] = I[134] = (T)(img)(0,_p1##y,z,c)), \
+ (I[144] = I[145] = I[146] = I[147] = I[148] = I[149] = I[150] = I[151] = I[152] = (T)(img)(0,y,z,c)), \
+ (I[162] = I[163] = I[164] = I[165] = I[166] = I[167] = I[168] = I[169] = I[170] = (T)(img)(0,_n1##y,z,c)), \
+ (I[180] = I[181] = I[182] = I[183] = I[184] = I[185] = I[186] = I[187] = I[188] = (T)(img)(0,_n2##y,z,c)), \
+ (I[198] = I[199] = I[200] = I[201] = I[202] = I[203] = I[204] = I[205] = I[206] = (T)(img)(0,_n3##y,z,c)), \
+ (I[216] = I[217] = I[218] = I[219] = I[220] = I[221] = I[222] = I[223] = I[224] = (T)(img)(0,_n4##y,z,c)), \
+ (I[234] = I[235] = I[236] = I[237] = I[238] = I[239] = I[240] = I[241] = I[242] = (T)(img)(0,_n5##y,z,c)), \
+ (I[252] = I[253] = I[254] = I[255] = I[256] = I[257] = I[258] = I[259] = I[260] = (T)(img)(0,_n6##y,z,c)), \
+ (I[270] = I[271] = I[272] = I[273] = I[274] = I[275] = I[276] = I[277] = I[278] = (T)(img)(0,_n7##y,z,c)), \
+ (I[288] = I[289] = I[290] = I[291] = I[292] = I[293] = I[294] = I[295] = I[296] = (T)(img)(0,_n8##y,z,c)), \
+ (I[306] = I[307] = I[308] = I[309] = I[310] = I[311] = I[312] = I[313] = I[314] = (T)(img)(0,_n9##y,z,c)), \
+ (I[9] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[27] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[45] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[63] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[81] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[99] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[117] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[135] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[153] = (T)(img)(_n1##x,y,z,c)), \
+ (I[171] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[189] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[207] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[225] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[243] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[261] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[279] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[297] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[315] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[10] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[28] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[46] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[64] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[82] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[100] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[118] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[136] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[154] = (T)(img)(_n2##x,y,z,c)), \
+ (I[172] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[190] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[208] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[226] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[244] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[262] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[280] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[298] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[316] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[11] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[29] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[47] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[65] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[83] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[101] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[119] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[137] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[155] = (T)(img)(_n3##x,y,z,c)), \
+ (I[173] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[191] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[209] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[227] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[245] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[263] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[281] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[299] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[317] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[12] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[30] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[48] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[66] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[84] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[102] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[120] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[138] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[156] = (T)(img)(_n4##x,y,z,c)), \
+ (I[174] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[192] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[210] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[228] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[246] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[264] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[282] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[300] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[318] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[13] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[31] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[49] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[67] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[85] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[103] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[121] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[139] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[157] = (T)(img)(_n5##x,y,z,c)), \
+ (I[175] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[193] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[211] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[229] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[247] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[265] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[283] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[301] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[319] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[14] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[32] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[50] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[68] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[86] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[104] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[122] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[140] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[158] = (T)(img)(_n6##x,y,z,c)), \
+ (I[176] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[194] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[212] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[230] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[248] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[266] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[284] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[302] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[320] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[15] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[33] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[51] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[69] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[87] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[105] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[123] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[141] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[159] = (T)(img)(_n7##x,y,z,c)), \
+ (I[177] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[195] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[213] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[231] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[249] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[267] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[285] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[303] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[321] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[16] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[34] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[52] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[70] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[88] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[106] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[124] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[142] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[160] = (T)(img)(_n8##x,y,z,c)), \
+ (I[178] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[196] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[214] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[232] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[250] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[268] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[286] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[304] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[322] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ 9>=((img)._width)?(img).width() - 1:9); \
+ (_n9##x<(img).width() && ( \
+ (I[17] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[35] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[53] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[71] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[89] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[107] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[125] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[143] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[161] = (T)(img)(_n9##x,y,z,c)), \
+ (I[179] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[197] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[215] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[233] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[251] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[269] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[287] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[305] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[323] = (T)(img)(_n9##x,_n9##y,z,c)),1)) || \
+ _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], \
+ I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], \
+ I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], \
+ I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], \
+ I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], \
+ I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], \
+ I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], \
+ I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], \
+ I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], \
+ I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], \
+ I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], \
+ I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], \
+ I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], \
+ I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], \
+ I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], \
+ I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], \
+ I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], \
+ I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], \
+ _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x)
+
+#define cimg_for_in18x18(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in18((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p8##x = x - 8<0?0:x - 8, \
+ _p7##x = x - 7<0?0:x - 7, \
+ _p6##x = x - 6<0?0:x - 6, \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = x + 5>=(img).width()?(img).width() - 1:x + 5, \
+ _n6##x = x + 6>=(img).width()?(img).width() - 1:x + 6, \
+ _n7##x = x + 7>=(img).width()?(img).width() - 1:x + 7, \
+ _n8##x = x + 8>=(img).width()?(img).width() - 1:x + 8, \
+ _n9##x = (int)( \
+ (I[0] = (T)(img)(_p8##x,_p8##y,z,c)), \
+ (I[18] = (T)(img)(_p8##x,_p7##y,z,c)), \
+ (I[36] = (T)(img)(_p8##x,_p6##y,z,c)), \
+ (I[54] = (T)(img)(_p8##x,_p5##y,z,c)), \
+ (I[72] = (T)(img)(_p8##x,_p4##y,z,c)), \
+ (I[90] = (T)(img)(_p8##x,_p3##y,z,c)), \
+ (I[108] = (T)(img)(_p8##x,_p2##y,z,c)), \
+ (I[126] = (T)(img)(_p8##x,_p1##y,z,c)), \
+ (I[144] = (T)(img)(_p8##x,y,z,c)), \
+ (I[162] = (T)(img)(_p8##x,_n1##y,z,c)), \
+ (I[180] = (T)(img)(_p8##x,_n2##y,z,c)), \
+ (I[198] = (T)(img)(_p8##x,_n3##y,z,c)), \
+ (I[216] = (T)(img)(_p8##x,_n4##y,z,c)), \
+ (I[234] = (T)(img)(_p8##x,_n5##y,z,c)), \
+ (I[252] = (T)(img)(_p8##x,_n6##y,z,c)), \
+ (I[270] = (T)(img)(_p8##x,_n7##y,z,c)), \
+ (I[288] = (T)(img)(_p8##x,_n8##y,z,c)), \
+ (I[306] = (T)(img)(_p8##x,_n9##y,z,c)), \
+ (I[1] = (T)(img)(_p7##x,_p8##y,z,c)), \
+ (I[19] = (T)(img)(_p7##x,_p7##y,z,c)), \
+ (I[37] = (T)(img)(_p7##x,_p6##y,z,c)), \
+ (I[55] = (T)(img)(_p7##x,_p5##y,z,c)), \
+ (I[73] = (T)(img)(_p7##x,_p4##y,z,c)), \
+ (I[91] = (T)(img)(_p7##x,_p3##y,z,c)), \
+ (I[109] = (T)(img)(_p7##x,_p2##y,z,c)), \
+ (I[127] = (T)(img)(_p7##x,_p1##y,z,c)), \
+ (I[145] = (T)(img)(_p7##x,y,z,c)), \
+ (I[163] = (T)(img)(_p7##x,_n1##y,z,c)), \
+ (I[181] = (T)(img)(_p7##x,_n2##y,z,c)), \
+ (I[199] = (T)(img)(_p7##x,_n3##y,z,c)), \
+ (I[217] = (T)(img)(_p7##x,_n4##y,z,c)), \
+ (I[235] = (T)(img)(_p7##x,_n5##y,z,c)), \
+ (I[253] = (T)(img)(_p7##x,_n6##y,z,c)), \
+ (I[271] = (T)(img)(_p7##x,_n7##y,z,c)), \
+ (I[289] = (T)(img)(_p7##x,_n8##y,z,c)), \
+ (I[307] = (T)(img)(_p7##x,_n9##y,z,c)), \
+ (I[2] = (T)(img)(_p6##x,_p8##y,z,c)), \
+ (I[20] = (T)(img)(_p6##x,_p7##y,z,c)), \
+ (I[38] = (T)(img)(_p6##x,_p6##y,z,c)), \
+ (I[56] = (T)(img)(_p6##x,_p5##y,z,c)), \
+ (I[74] = (T)(img)(_p6##x,_p4##y,z,c)), \
+ (I[92] = (T)(img)(_p6##x,_p3##y,z,c)), \
+ (I[110] = (T)(img)(_p6##x,_p2##y,z,c)), \
+ (I[128] = (T)(img)(_p6##x,_p1##y,z,c)), \
+ (I[146] = (T)(img)(_p6##x,y,z,c)), \
+ (I[164] = (T)(img)(_p6##x,_n1##y,z,c)), \
+ (I[182] = (T)(img)(_p6##x,_n2##y,z,c)), \
+ (I[200] = (T)(img)(_p6##x,_n3##y,z,c)), \
+ (I[218] = (T)(img)(_p6##x,_n4##y,z,c)), \
+ (I[236] = (T)(img)(_p6##x,_n5##y,z,c)), \
+ (I[254] = (T)(img)(_p6##x,_n6##y,z,c)), \
+ (I[272] = (T)(img)(_p6##x,_n7##y,z,c)), \
+ (I[290] = (T)(img)(_p6##x,_n8##y,z,c)), \
+ (I[308] = (T)(img)(_p6##x,_n9##y,z,c)), \
+ (I[3] = (T)(img)(_p5##x,_p8##y,z,c)), \
+ (I[21] = (T)(img)(_p5##x,_p7##y,z,c)), \
+ (I[39] = (T)(img)(_p5##x,_p6##y,z,c)), \
+ (I[57] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[75] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[93] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[111] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[129] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[147] = (T)(img)(_p5##x,y,z,c)), \
+ (I[165] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[183] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[201] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[219] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[237] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[255] = (T)(img)(_p5##x,_n6##y,z,c)), \
+ (I[273] = (T)(img)(_p5##x,_n7##y,z,c)), \
+ (I[291] = (T)(img)(_p5##x,_n8##y,z,c)), \
+ (I[309] = (T)(img)(_p5##x,_n9##y,z,c)), \
+ (I[4] = (T)(img)(_p4##x,_p8##y,z,c)), \
+ (I[22] = (T)(img)(_p4##x,_p7##y,z,c)), \
+ (I[40] = (T)(img)(_p4##x,_p6##y,z,c)), \
+ (I[58] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[76] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[94] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[112] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[130] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[148] = (T)(img)(_p4##x,y,z,c)), \
+ (I[166] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[184] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[202] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[220] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[238] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[256] = (T)(img)(_p4##x,_n6##y,z,c)), \
+ (I[274] = (T)(img)(_p4##x,_n7##y,z,c)), \
+ (I[292] = (T)(img)(_p4##x,_n8##y,z,c)), \
+ (I[310] = (T)(img)(_p4##x,_n9##y,z,c)), \
+ (I[5] = (T)(img)(_p3##x,_p8##y,z,c)), \
+ (I[23] = (T)(img)(_p3##x,_p7##y,z,c)), \
+ (I[41] = (T)(img)(_p3##x,_p6##y,z,c)), \
+ (I[59] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[77] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[95] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[113] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[131] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[149] = (T)(img)(_p3##x,y,z,c)), \
+ (I[167] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[185] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[203] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[221] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[239] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[257] = (T)(img)(_p3##x,_n6##y,z,c)), \
+ (I[275] = (T)(img)(_p3##x,_n7##y,z,c)), \
+ (I[293] = (T)(img)(_p3##x,_n8##y,z,c)), \
+ (I[311] = (T)(img)(_p3##x,_n9##y,z,c)), \
+ (I[6] = (T)(img)(_p2##x,_p8##y,z,c)), \
+ (I[24] = (T)(img)(_p2##x,_p7##y,z,c)), \
+ (I[42] = (T)(img)(_p2##x,_p6##y,z,c)), \
+ (I[60] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[78] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[96] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[114] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[132] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[150] = (T)(img)(_p2##x,y,z,c)), \
+ (I[168] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[186] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[204] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[222] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[240] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[258] = (T)(img)(_p2##x,_n6##y,z,c)), \
+ (I[276] = (T)(img)(_p2##x,_n7##y,z,c)), \
+ (I[294] = (T)(img)(_p2##x,_n8##y,z,c)), \
+ (I[312] = (T)(img)(_p2##x,_n9##y,z,c)), \
+ (I[7] = (T)(img)(_p1##x,_p8##y,z,c)), \
+ (I[25] = (T)(img)(_p1##x,_p7##y,z,c)), \
+ (I[43] = (T)(img)(_p1##x,_p6##y,z,c)), \
+ (I[61] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[79] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[97] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[115] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[133] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[151] = (T)(img)(_p1##x,y,z,c)), \
+ (I[169] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[187] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[205] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[223] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[241] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[259] = (T)(img)(_p1##x,_n6##y,z,c)), \
+ (I[277] = (T)(img)(_p1##x,_n7##y,z,c)), \
+ (I[295] = (T)(img)(_p1##x,_n8##y,z,c)), \
+ (I[313] = (T)(img)(_p1##x,_n9##y,z,c)), \
+ (I[8] = (T)(img)(x,_p8##y,z,c)), \
+ (I[26] = (T)(img)(x,_p7##y,z,c)), \
+ (I[44] = (T)(img)(x,_p6##y,z,c)), \
+ (I[62] = (T)(img)(x,_p5##y,z,c)), \
+ (I[80] = (T)(img)(x,_p4##y,z,c)), \
+ (I[98] = (T)(img)(x,_p3##y,z,c)), \
+ (I[116] = (T)(img)(x,_p2##y,z,c)), \
+ (I[134] = (T)(img)(x,_p1##y,z,c)), \
+ (I[152] = (T)(img)(x,y,z,c)), \
+ (I[170] = (T)(img)(x,_n1##y,z,c)), \
+ (I[188] = (T)(img)(x,_n2##y,z,c)), \
+ (I[206] = (T)(img)(x,_n3##y,z,c)), \
+ (I[224] = (T)(img)(x,_n4##y,z,c)), \
+ (I[242] = (T)(img)(x,_n5##y,z,c)), \
+ (I[260] = (T)(img)(x,_n6##y,z,c)), \
+ (I[278] = (T)(img)(x,_n7##y,z,c)), \
+ (I[296] = (T)(img)(x,_n8##y,z,c)), \
+ (I[314] = (T)(img)(x,_n9##y,z,c)), \
+ (I[9] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[27] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[45] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[63] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[81] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[99] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[117] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[135] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[153] = (T)(img)(_n1##x,y,z,c)), \
+ (I[171] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[189] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[207] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[225] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[243] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[261] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[279] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[297] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[315] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[10] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[28] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[46] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[64] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[82] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[100] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[118] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[136] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[154] = (T)(img)(_n2##x,y,z,c)), \
+ (I[172] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[190] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[208] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[226] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[244] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[262] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[280] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[298] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[316] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[11] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[29] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[47] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[65] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[83] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[101] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[119] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[137] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[155] = (T)(img)(_n3##x,y,z,c)), \
+ (I[173] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[191] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[209] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[227] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[245] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[263] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[281] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[299] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[317] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[12] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[30] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[48] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[66] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[84] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[102] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[120] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[138] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[156] = (T)(img)(_n4##x,y,z,c)), \
+ (I[174] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[192] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[210] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[228] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[246] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[264] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[282] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[300] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[318] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[13] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[31] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[49] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[67] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[85] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[103] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[121] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[139] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[157] = (T)(img)(_n5##x,y,z,c)), \
+ (I[175] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[193] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[211] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[229] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[247] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[265] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[283] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[301] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[319] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[14] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[32] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[50] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[68] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[86] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[104] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[122] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[140] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[158] = (T)(img)(_n6##x,y,z,c)), \
+ (I[176] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[194] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[212] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[230] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[248] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[266] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[284] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[302] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[320] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[15] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[33] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[51] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[69] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[87] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[105] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[123] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[141] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[159] = (T)(img)(_n7##x,y,z,c)), \
+ (I[177] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[195] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[213] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[231] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[249] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[267] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[285] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[303] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[321] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[16] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[34] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[52] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[70] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[88] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[106] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[124] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[142] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[160] = (T)(img)(_n8##x,y,z,c)), \
+ (I[178] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[196] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[214] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[232] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[250] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[268] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[286] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[304] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[322] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ x + 9>=(img).width()?(img).width() - 1:x + 9); \
+ x<=(int)(x1) && ((_n9##x<(img).width() && ( \
+ (I[17] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[35] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[53] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[71] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[89] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[107] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[125] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[143] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[161] = (T)(img)(_n9##x,y,z,c)), \
+ (I[179] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[197] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[215] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[233] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[251] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[269] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[287] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[305] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[323] = (T)(img)(_n9##x,_n9##y,z,c)),1)) || \
+ _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], \
+ I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], \
+ I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], \
+ I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], \
+ I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], \
+ I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], \
+ I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], \
+ I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], \
+ I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], \
+ I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], \
+ I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], \
+ I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], \
+ I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], \
+ I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], \
+ I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], \
+ I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], \
+ I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], \
+ I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], \
+ _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x)
+
+#define cimg_get18x18(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p8##x,_p8##y,z,c), I[1] = (T)(img)(_p7##x,_p8##y,z,c), I[2] = (T)(img)(_p6##x,_p8##y,z,c), I[3] = (T)(img)(_p5##x,_p8##y,z,c), I[4] = (T)(img)(_p4##x,_p8##y,z,c), I[5] = (T)(img)(_p3##x,_p8##y,z,c), I[6] = (T)(img)(_p2##x,_p8##y,z,c), I[7] = (T)(img)(_p1##x,_p8##y,z,c), I[8] = (T)(img)(x,_p8##y,z,c), I[9] = (T)(img)(_n1##x,_p8##y,z,c), I[10] = (T)(img)(_n2##x,_p8##y,z,c), I[11] = (T)(img)(_n3##x,_p8##y,z,c), I[12] = (T)(img)(_n4##x,_p8##y,z,c), I[13] = (T)(img)(_n5##x,_ [...]
+ I[18] = (T)(img)(_p8##x,_p7##y,z,c), I[19] = (T)(img)(_p7##x,_p7##y,z,c), I[20] = (T)(img)(_p6##x,_p7##y,z,c), I[21] = (T)(img)(_p5##x,_p7##y,z,c), I[22] = (T)(img)(_p4##x,_p7##y,z,c), I[23] = (T)(img)(_p3##x,_p7##y,z,c), I[24] = (T)(img)(_p2##x,_p7##y,z,c), I[25] = (T)(img)(_p1##x,_p7##y,z,c), I[26] = (T)(img)(x,_p7##y,z,c), I[27] = (T)(img)(_n1##x,_p7##y,z,c), I[28] = (T)(img)(_n2##x,_p7##y,z,c), I[29] = (T)(img)(_n3##x,_p7##y,z,c), I[30] = (T)(img)(_n4##x,_p7##y,z,c), I[31] = (T)(img [...]
+ I[36] = (T)(img)(_p8##x,_p6##y,z,c), I[37] = (T)(img)(_p7##x,_p6##y,z,c), I[38] = (T)(img)(_p6##x,_p6##y,z,c), I[39] = (T)(img)(_p5##x,_p6##y,z,c), I[40] = (T)(img)(_p4##x,_p6##y,z,c), I[41] = (T)(img)(_p3##x,_p6##y,z,c), I[42] = (T)(img)(_p2##x,_p6##y,z,c), I[43] = (T)(img)(_p1##x,_p6##y,z,c), I[44] = (T)(img)(x,_p6##y,z,c), I[45] = (T)(img)(_n1##x,_p6##y,z,c), I[46] = (T)(img)(_n2##x,_p6##y,z,c), I[47] = (T)(img)(_n3##x,_p6##y,z,c), I[48] = (T)(img)(_n4##x,_p6##y,z,c), I[49] = (T)(img [...]
+ I[54] = (T)(img)(_p8##x,_p5##y,z,c), I[55] = (T)(img)(_p7##x,_p5##y,z,c), I[56] = (T)(img)(_p6##x,_p5##y,z,c), I[57] = (T)(img)(_p5##x,_p5##y,z,c), I[58] = (T)(img)(_p4##x,_p5##y,z,c), I[59] = (T)(img)(_p3##x,_p5##y,z,c), I[60] = (T)(img)(_p2##x,_p5##y,z,c), I[61] = (T)(img)(_p1##x,_p5##y,z,c), I[62] = (T)(img)(x,_p5##y,z,c), I[63] = (T)(img)(_n1##x,_p5##y,z,c), I[64] = (T)(img)(_n2##x,_p5##y,z,c), I[65] = (T)(img)(_n3##x,_p5##y,z,c), I[66] = (T)(img)(_n4##x,_p5##y,z,c), I[67] = (T)(img [...]
+ I[72] = (T)(img)(_p8##x,_p4##y,z,c), I[73] = (T)(img)(_p7##x,_p4##y,z,c), I[74] = (T)(img)(_p6##x,_p4##y,z,c), I[75] = (T)(img)(_p5##x,_p4##y,z,c), I[76] = (T)(img)(_p4##x,_p4##y,z,c), I[77] = (T)(img)(_p3##x,_p4##y,z,c), I[78] = (T)(img)(_p2##x,_p4##y,z,c), I[79] = (T)(img)(_p1##x,_p4##y,z,c), I[80] = (T)(img)(x,_p4##y,z,c), I[81] = (T)(img)(_n1##x,_p4##y,z,c), I[82] = (T)(img)(_n2##x,_p4##y,z,c), I[83] = (T)(img)(_n3##x,_p4##y,z,c), I[84] = (T)(img)(_n4##x,_p4##y,z,c), I[85] = (T)(img [...]
+ I[90] = (T)(img)(_p8##x,_p3##y,z,c), I[91] = (T)(img)(_p7##x,_p3##y,z,c), I[92] = (T)(img)(_p6##x,_p3##y,z,c), I[93] = (T)(img)(_p5##x,_p3##y,z,c), I[94] = (T)(img)(_p4##x,_p3##y,z,c), I[95] = (T)(img)(_p3##x,_p3##y,z,c), I[96] = (T)(img)(_p2##x,_p3##y,z,c), I[97] = (T)(img)(_p1##x,_p3##y,z,c), I[98] = (T)(img)(x,_p3##y,z,c), I[99] = (T)(img)(_n1##x,_p3##y,z,c), I[100] = (T)(img)(_n2##x,_p3##y,z,c), I[101] = (T)(img)(_n3##x,_p3##y,z,c), I[102] = (T)(img)(_n4##x,_p3##y,z,c), I[103] = (T) [...]
+ I[108] = (T)(img)(_p8##x,_p2##y,z,c), I[109] = (T)(img)(_p7##x,_p2##y,z,c), I[110] = (T)(img)(_p6##x,_p2##y,z,c), I[111] = (T)(img)(_p5##x,_p2##y,z,c), I[112] = (T)(img)(_p4##x,_p2##y,z,c), I[113] = (T)(img)(_p3##x,_p2##y,z,c), I[114] = (T)(img)(_p2##x,_p2##y,z,c), I[115] = (T)(img)(_p1##x,_p2##y,z,c), I[116] = (T)(img)(x,_p2##y,z,c), I[117] = (T)(img)(_n1##x,_p2##y,z,c), I[118] = (T)(img)(_n2##x,_p2##y,z,c), I[119] = (T)(img)(_n3##x,_p2##y,z,c), I[120] = (T)(img)(_n4##x,_p2##y,z,c), I[ [...]
+ I[126] = (T)(img)(_p8##x,_p1##y,z,c), I[127] = (T)(img)(_p7##x,_p1##y,z,c), I[128] = (T)(img)(_p6##x,_p1##y,z,c), I[129] = (T)(img)(_p5##x,_p1##y,z,c), I[130] = (T)(img)(_p4##x,_p1##y,z,c), I[131] = (T)(img)(_p3##x,_p1##y,z,c), I[132] = (T)(img)(_p2##x,_p1##y,z,c), I[133] = (T)(img)(_p1##x,_p1##y,z,c), I[134] = (T)(img)(x,_p1##y,z,c), I[135] = (T)(img)(_n1##x,_p1##y,z,c), I[136] = (T)(img)(_n2##x,_p1##y,z,c), I[137] = (T)(img)(_n3##x,_p1##y,z,c), I[138] = (T)(img)(_n4##x,_p1##y,z,c), I[ [...]
+ I[144] = (T)(img)(_p8##x,y,z,c), I[145] = (T)(img)(_p7##x,y,z,c), I[146] = (T)(img)(_p6##x,y,z,c), I[147] = (T)(img)(_p5##x,y,z,c), I[148] = (T)(img)(_p4##x,y,z,c), I[149] = (T)(img)(_p3##x,y,z,c), I[150] = (T)(img)(_p2##x,y,z,c), I[151] = (T)(img)(_p1##x,y,z,c), I[152] = (T)(img)(x,y,z,c), I[153] = (T)(img)(_n1##x,y,z,c), I[154] = (T)(img)(_n2##x,y,z,c), I[155] = (T)(img)(_n3##x,y,z,c), I[156] = (T)(img)(_n4##x,y,z,c), I[157] = (T)(img)(_n5##x,y,z,c), I[158] = (T)(img)(_n6##x,y,z,c), I [...]
+ I[162] = (T)(img)(_p8##x,_n1##y,z,c), I[163] = (T)(img)(_p7##x,_n1##y,z,c), I[164] = (T)(img)(_p6##x,_n1##y,z,c), I[165] = (T)(img)(_p5##x,_n1##y,z,c), I[166] = (T)(img)(_p4##x,_n1##y,z,c), I[167] = (T)(img)(_p3##x,_n1##y,z,c), I[168] = (T)(img)(_p2##x,_n1##y,z,c), I[169] = (T)(img)(_p1##x,_n1##y,z,c), I[170] = (T)(img)(x,_n1##y,z,c), I[171] = (T)(img)(_n1##x,_n1##y,z,c), I[172] = (T)(img)(_n2##x,_n1##y,z,c), I[173] = (T)(img)(_n3##x,_n1##y,z,c), I[174] = (T)(img)(_n4##x,_n1##y,z,c), I[ [...]
+ I[180] = (T)(img)(_p8##x,_n2##y,z,c), I[181] = (T)(img)(_p7##x,_n2##y,z,c), I[182] = (T)(img)(_p6##x,_n2##y,z,c), I[183] = (T)(img)(_p5##x,_n2##y,z,c), I[184] = (T)(img)(_p4##x,_n2##y,z,c), I[185] = (T)(img)(_p3##x,_n2##y,z,c), I[186] = (T)(img)(_p2##x,_n2##y,z,c), I[187] = (T)(img)(_p1##x,_n2##y,z,c), I[188] = (T)(img)(x,_n2##y,z,c), I[189] = (T)(img)(_n1##x,_n2##y,z,c), I[190] = (T)(img)(_n2##x,_n2##y,z,c), I[191] = (T)(img)(_n3##x,_n2##y,z,c), I[192] = (T)(img)(_n4##x,_n2##y,z,c), I[ [...]
+ I[198] = (T)(img)(_p8##x,_n3##y,z,c), I[199] = (T)(img)(_p7##x,_n3##y,z,c), I[200] = (T)(img)(_p6##x,_n3##y,z,c), I[201] = (T)(img)(_p5##x,_n3##y,z,c), I[202] = (T)(img)(_p4##x,_n3##y,z,c), I[203] = (T)(img)(_p3##x,_n3##y,z,c), I[204] = (T)(img)(_p2##x,_n3##y,z,c), I[205] = (T)(img)(_p1##x,_n3##y,z,c), I[206] = (T)(img)(x,_n3##y,z,c), I[207] = (T)(img)(_n1##x,_n3##y,z,c), I[208] = (T)(img)(_n2##x,_n3##y,z,c), I[209] = (T)(img)(_n3##x,_n3##y,z,c), I[210] = (T)(img)(_n4##x,_n3##y,z,c), I[ [...]
+ I[216] = (T)(img)(_p8##x,_n4##y,z,c), I[217] = (T)(img)(_p7##x,_n4##y,z,c), I[218] = (T)(img)(_p6##x,_n4##y,z,c), I[219] = (T)(img)(_p5##x,_n4##y,z,c), I[220] = (T)(img)(_p4##x,_n4##y,z,c), I[221] = (T)(img)(_p3##x,_n4##y,z,c), I[222] = (T)(img)(_p2##x,_n4##y,z,c), I[223] = (T)(img)(_p1##x,_n4##y,z,c), I[224] = (T)(img)(x,_n4##y,z,c), I[225] = (T)(img)(_n1##x,_n4##y,z,c), I[226] = (T)(img)(_n2##x,_n4##y,z,c), I[227] = (T)(img)(_n3##x,_n4##y,z,c), I[228] = (T)(img)(_n4##x,_n4##y,z,c), I[ [...]
+ I[234] = (T)(img)(_p8##x,_n5##y,z,c), I[235] = (T)(img)(_p7##x,_n5##y,z,c), I[236] = (T)(img)(_p6##x,_n5##y,z,c), I[237] = (T)(img)(_p5##x,_n5##y,z,c), I[238] = (T)(img)(_p4##x,_n5##y,z,c), I[239] = (T)(img)(_p3##x,_n5##y,z,c), I[240] = (T)(img)(_p2##x,_n5##y,z,c), I[241] = (T)(img)(_p1##x,_n5##y,z,c), I[242] = (T)(img)(x,_n5##y,z,c), I[243] = (T)(img)(_n1##x,_n5##y,z,c), I[244] = (T)(img)(_n2##x,_n5##y,z,c), I[245] = (T)(img)(_n3##x,_n5##y,z,c), I[246] = (T)(img)(_n4##x,_n5##y,z,c), I[ [...]
+ I[252] = (T)(img)(_p8##x,_n6##y,z,c), I[253] = (T)(img)(_p7##x,_n6##y,z,c), I[254] = (T)(img)(_p6##x,_n6##y,z,c), I[255] = (T)(img)(_p5##x,_n6##y,z,c), I[256] = (T)(img)(_p4##x,_n6##y,z,c), I[257] = (T)(img)(_p3##x,_n6##y,z,c), I[258] = (T)(img)(_p2##x,_n6##y,z,c), I[259] = (T)(img)(_p1##x,_n6##y,z,c), I[260] = (T)(img)(x,_n6##y,z,c), I[261] = (T)(img)(_n1##x,_n6##y,z,c), I[262] = (T)(img)(_n2##x,_n6##y,z,c), I[263] = (T)(img)(_n3##x,_n6##y,z,c), I[264] = (T)(img)(_n4##x,_n6##y,z,c), I[ [...]
+ I[270] = (T)(img)(_p8##x,_n7##y,z,c), I[271] = (T)(img)(_p7##x,_n7##y,z,c), I[272] = (T)(img)(_p6##x,_n7##y,z,c), I[273] = (T)(img)(_p5##x,_n7##y,z,c), I[274] = (T)(img)(_p4##x,_n7##y,z,c), I[275] = (T)(img)(_p3##x,_n7##y,z,c), I[276] = (T)(img)(_p2##x,_n7##y,z,c), I[277] = (T)(img)(_p1##x,_n7##y,z,c), I[278] = (T)(img)(x,_n7##y,z,c), I[279] = (T)(img)(_n1##x,_n7##y,z,c), I[280] = (T)(img)(_n2##x,_n7##y,z,c), I[281] = (T)(img)(_n3##x,_n7##y,z,c), I[282] = (T)(img)(_n4##x,_n7##y,z,c), I[ [...]
+ I[288] = (T)(img)(_p8##x,_n8##y,z,c), I[289] = (T)(img)(_p7##x,_n8##y,z,c), I[290] = (T)(img)(_p6##x,_n8##y,z,c), I[291] = (T)(img)(_p5##x,_n8##y,z,c), I[292] = (T)(img)(_p4##x,_n8##y,z,c), I[293] = (T)(img)(_p3##x,_n8##y,z,c), I[294] = (T)(img)(_p2##x,_n8##y,z,c), I[295] = (T)(img)(_p1##x,_n8##y,z,c), I[296] = (T)(img)(x,_n8##y,z,c), I[297] = (T)(img)(_n1##x,_n8##y,z,c), I[298] = (T)(img)(_n2##x,_n8##y,z,c), I[299] = (T)(img)(_n3##x,_n8##y,z,c), I[300] = (T)(img)(_n4##x,_n8##y,z,c), I[ [...]
+ I[306] = (T)(img)(_p8##x,_n9##y,z,c), I[307] = (T)(img)(_p7##x,_n9##y,z,c), I[308] = (T)(img)(_p6##x,_n9##y,z,c), I[309] = (T)(img)(_p5##x,_n9##y,z,c), I[310] = (T)(img)(_p4##x,_n9##y,z,c), I[311] = (T)(img)(_p3##x,_n9##y,z,c), I[312] = (T)(img)(_p2##x,_n9##y,z,c), I[313] = (T)(img)(_p1##x,_n9##y,z,c), I[314] = (T)(img)(x,_n9##y,z,c), I[315] = (T)(img)(_n1##x,_n9##y,z,c), I[316] = (T)(img)(_n2##x,_n9##y,z,c), I[317] = (T)(img)(_n3##x,_n9##y,z,c), I[318] = (T)(img)(_n4##x,_n9##y,z,c), I[ [...]
+
+// Define 19x19 loop macros
+//-------------------------
+#define cimg_for19(bound,i) for (int i = 0, \
+ _p9##i = 0, _p8##i = 0, _p7##i = 0, _p6##i = 0, _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5, \
+ _n6##i = 6>=(int)(bound)?(int)(bound) - 1:6, \
+ _n7##i = 7>=(int)(bound)?(int)(bound) - 1:7, \
+ _n8##i = 8>=(int)(bound)?(int)(bound) - 1:8, \
+ _n9##i = 9>=(int)(bound)?(int)(bound) - 1:9; \
+ _n9##i<(int)(bound) || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i)
+
+#define cimg_for19X(img,x) cimg_for19((img)._width,x)
+#define cimg_for19Y(img,y) cimg_for19((img)._height,y)
+#define cimg_for19Z(img,z) cimg_for19((img)._depth,z)
+#define cimg_for19C(img,c) cimg_for19((img)._spectrum,c)
+#define cimg_for19XY(img,x,y) cimg_for19Y(img,y) cimg_for19X(img,x)
+#define cimg_for19XZ(img,x,z) cimg_for19Z(img,z) cimg_for19X(img,x)
+#define cimg_for19XC(img,x,c) cimg_for19C(img,c) cimg_for19X(img,x)
+#define cimg_for19YZ(img,y,z) cimg_for19Z(img,z) cimg_for19Y(img,y)
+#define cimg_for19YC(img,y,c) cimg_for19C(img,c) cimg_for19Y(img,y)
+#define cimg_for19ZC(img,z,c) cimg_for19C(img,c) cimg_for19Z(img,z)
+#define cimg_for19XYZ(img,x,y,z) cimg_for19Z(img,z) cimg_for19XY(img,x,y)
+#define cimg_for19XZC(img,x,z,c) cimg_for19C(img,c) cimg_for19XZ(img,x,z)
+#define cimg_for19YZC(img,y,z,c) cimg_for19C(img,c) cimg_for19YZ(img,y,z)
+#define cimg_for19XYZC(img,x,y,z,c) cimg_for19C(img,c) cimg_for19XYZ(img,x,y,z)
+
+#define cimg_for_in19(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p9##i = i - 9<0?0:i - 9, \
+ _p8##i = i - 8<0?0:i - 8, \
+ _p7##i = i - 7<0?0:i - 7, \
+ _p6##i = i - 6<0?0:i - 6, \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5, \
+ _n6##i = i + 6>=(int)(bound)?(int)(bound) - 1:i + 6, \
+ _n7##i = i + 7>=(int)(bound)?(int)(bound) - 1:i + 7, \
+ _n8##i = i + 8>=(int)(bound)?(int)(bound) - 1:i + 8, \
+ _n9##i = i + 9>=(int)(bound)?(int)(bound) - 1:i + 9; \
+ i<=(int)(i1) && (_n9##i<(int)(bound) || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i)
+
+#define cimg_for_in19X(img,x0,x1,x) cimg_for_in19((img)._width,x0,x1,x)
+#define cimg_for_in19Y(img,y0,y1,y) cimg_for_in19((img)._height,y0,y1,y)
+#define cimg_for_in19Z(img,z0,z1,z) cimg_for_in19((img)._depth,z0,z1,z)
+#define cimg_for_in19C(img,c0,c1,c) cimg_for_in19((img)._spectrum,c0,c1,c)
+#define cimg_for_in19XY(img,x0,y0,x1,y1,x,y) cimg_for_in19Y(img,y0,y1,y) cimg_for_in19X(img,x0,x1,x)
+#define cimg_for_in19XZ(img,x0,z0,x1,z1,x,z) cimg_for_in19Z(img,z0,z1,z) cimg_for_in19X(img,x0,x1,x)
+#define cimg_for_in19XC(img,x0,c0,x1,c1,x,c) cimg_for_in19C(img,c0,c1,c) cimg_for_in19X(img,x0,x1,x)
+#define cimg_for_in19YZ(img,y0,z0,y1,z1,y,z) cimg_for_in19Z(img,z0,z1,z) cimg_for_in19Y(img,y0,y1,y)
+#define cimg_for_in19YC(img,y0,c0,y1,c1,y,c) cimg_for_in19C(img,c0,c1,c) cimg_for_in19Y(img,y0,y1,y)
+#define cimg_for_in19ZC(img,z0,c0,z1,c1,z,c) cimg_for_in19C(img,c0,c1,c) cimg_for_in19Z(img,z0,z1,z)
+#define cimg_for_in19XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in19Z(img,z0,z1,z) cimg_for_in19XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in19XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in19C(img,c0,c1,c) cimg_for_in19XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in19YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in19C(img,c0,c1,c) cimg_for_in19YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in19XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in19C(img,c0,c1,c) cimg_for_in19XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for19x19(img,x,y,z,c,I,T) \
+ cimg_for19((img)._height,y) for (int x = 0, \
+ _p9##x = 0, _p8##x = 0, _p7##x = 0, _p6##x = 0, _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = 5>=((img)._width)?(img).width() - 1:5, \
+ _n6##x = 6>=((img)._width)?(img).width() - 1:6, \
+ _n7##x = 7>=((img)._width)?(img).width() - 1:7, \
+ _n8##x = 8>=((img)._width)?(img).width() - 1:8, \
+ _n9##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = I[6] = I[7] = I[8] = I[9] = (T)(img)(0,_p9##y,z,c)), \
+ (I[19] = I[20] = I[21] = I[22] = I[23] = I[24] = I[25] = I[26] = I[27] = I[28] = (T)(img)(0,_p8##y,z,c)), \
+ (I[38] = I[39] = I[40] = I[41] = I[42] = I[43] = I[44] = I[45] = I[46] = I[47] = (T)(img)(0,_p7##y,z,c)), \
+ (I[57] = I[58] = I[59] = I[60] = I[61] = I[62] = I[63] = I[64] = I[65] = I[66] = (T)(img)(0,_p6##y,z,c)), \
+ (I[76] = I[77] = I[78] = I[79] = I[80] = I[81] = I[82] = I[83] = I[84] = I[85] = (T)(img)(0,_p5##y,z,c)), \
+ (I[95] = I[96] = I[97] = I[98] = I[99] = I[100] = I[101] = I[102] = I[103] = I[104] = (T)(img)(0,_p4##y,z,c)), \
+ (I[114] = I[115] = I[116] = I[117] = I[118] = I[119] = I[120] = I[121] = I[122] = I[123] = (T)(img)(0,_p3##y,z,c)), \
+ (I[133] = I[134] = I[135] = I[136] = I[137] = I[138] = I[139] = I[140] = I[141] = I[142] = (T)(img)(0,_p2##y,z,c)), \
+ (I[152] = I[153] = I[154] = I[155] = I[156] = I[157] = I[158] = I[159] = I[160] = I[161] = (T)(img)(0,_p1##y,z,c)), \
+ (I[171] = I[172] = I[173] = I[174] = I[175] = I[176] = I[177] = I[178] = I[179] = I[180] = (T)(img)(0,y,z,c)), \
+ (I[190] = I[191] = I[192] = I[193] = I[194] = I[195] = I[196] = I[197] = I[198] = I[199] = (T)(img)(0,_n1##y,z,c)), \
+ (I[209] = I[210] = I[211] = I[212] = I[213] = I[214] = I[215] = I[216] = I[217] = I[218] = (T)(img)(0,_n2##y,z,c)), \
+ (I[228] = I[229] = I[230] = I[231] = I[232] = I[233] = I[234] = I[235] = I[236] = I[237] = (T)(img)(0,_n3##y,z,c)), \
+ (I[247] = I[248] = I[249] = I[250] = I[251] = I[252] = I[253] = I[254] = I[255] = I[256] = (T)(img)(0,_n4##y,z,c)), \
+ (I[266] = I[267] = I[268] = I[269] = I[270] = I[271] = I[272] = I[273] = I[274] = I[275] = (T)(img)(0,_n5##y,z,c)), \
+ (I[285] = I[286] = I[287] = I[288] = I[289] = I[290] = I[291] = I[292] = I[293] = I[294] = (T)(img)(0,_n6##y,z,c)), \
+ (I[304] = I[305] = I[306] = I[307] = I[308] = I[309] = I[310] = I[311] = I[312] = I[313] = (T)(img)(0,_n7##y,z,c)), \
+ (I[323] = I[324] = I[325] = I[326] = I[327] = I[328] = I[329] = I[330] = I[331] = I[332] = (T)(img)(0,_n8##y,z,c)), \
+ (I[342] = I[343] = I[344] = I[345] = I[346] = I[347] = I[348] = I[349] = I[350] = I[351] = (T)(img)(0,_n9##y,z,c)), \
+ (I[10] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[29] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[48] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[67] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[86] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[105] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[124] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[143] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[162] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[181] = (T)(img)(_n1##x,y,z,c)), \
+ (I[200] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[219] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[238] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[257] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[276] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[295] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[314] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[333] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[352] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[11] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[30] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[49] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[68] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[87] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[106] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[125] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[144] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[163] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[182] = (T)(img)(_n2##x,y,z,c)), \
+ (I[201] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[220] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[239] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[258] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[277] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[296] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[315] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[334] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[353] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[12] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[31] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[50] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[69] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[88] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[107] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[126] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[145] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[164] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[183] = (T)(img)(_n3##x,y,z,c)), \
+ (I[202] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[221] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[240] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[259] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[278] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[297] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[316] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[335] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[354] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[13] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[32] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[51] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[70] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[89] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[108] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[127] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[146] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[165] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[184] = (T)(img)(_n4##x,y,z,c)), \
+ (I[203] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[222] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[241] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[260] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[279] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[298] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[317] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[336] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[355] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[14] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[33] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[52] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[71] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[90] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[109] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[128] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[147] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[166] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[185] = (T)(img)(_n5##x,y,z,c)), \
+ (I[204] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[223] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[242] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[261] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[280] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[299] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[318] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[337] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[356] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[15] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[34] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[53] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[72] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[91] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[110] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[129] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[148] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[167] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[186] = (T)(img)(_n6##x,y,z,c)), \
+ (I[205] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[224] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[243] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[262] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[281] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[300] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[319] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[338] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[357] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[16] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[35] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[54] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[73] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[92] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[111] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[130] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[149] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[168] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[187] = (T)(img)(_n7##x,y,z,c)), \
+ (I[206] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[225] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[244] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[263] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[282] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[301] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[320] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[339] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[358] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[17] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[36] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[55] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[74] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[93] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[112] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[131] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[150] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[169] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[188] = (T)(img)(_n8##x,y,z,c)), \
+ (I[207] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[226] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[245] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[264] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[283] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[302] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[321] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[340] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[359] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ 9>=((img)._width)?(img).width() - 1:9); \
+ (_n9##x<(img).width() && ( \
+ (I[18] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[37] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[56] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[75] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[94] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[113] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[132] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[151] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[170] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[189] = (T)(img)(_n9##x,y,z,c)), \
+ (I[208] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[227] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[246] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[265] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[284] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[303] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[322] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[341] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[360] = (T)(img)(_n9##x,_n9##y,z,c)),1)) || \
+ _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], \
+ I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], \
+ I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], \
+ I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], \
+ I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], \
+ I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], \
+ I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], \
+ I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], \
+ I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], \
+ I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], \
+ I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], \
+ I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], \
+ I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], \
+ I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], \
+ I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], \
+ I[285] = I[286], I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], \
+ I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], \
+ I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], \
+ I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], I[359] = I[360], \
+ _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x)
+
+#define cimg_for_in19x19(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in19((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p9##x = x - 9<0?0:x - 9, \
+ _p8##x = x - 8<0?0:x - 8, \
+ _p7##x = x - 7<0?0:x - 7, \
+ _p6##x = x - 6<0?0:x - 6, \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = x + 5>=(img).width()?(img).width() - 1:x + 5, \
+ _n6##x = x + 6>=(img).width()?(img).width() - 1:x + 6, \
+ _n7##x = x + 7>=(img).width()?(img).width() - 1:x + 7, \
+ _n8##x = x + 8>=(img).width()?(img).width() - 1:x + 8, \
+ _n9##x = (int)( \
+ (I[0] = (T)(img)(_p9##x,_p9##y,z,c)), \
+ (I[19] = (T)(img)(_p9##x,_p8##y,z,c)), \
+ (I[38] = (T)(img)(_p9##x,_p7##y,z,c)), \
+ (I[57] = (T)(img)(_p9##x,_p6##y,z,c)), \
+ (I[76] = (T)(img)(_p9##x,_p5##y,z,c)), \
+ (I[95] = (T)(img)(_p9##x,_p4##y,z,c)), \
+ (I[114] = (T)(img)(_p9##x,_p3##y,z,c)), \
+ (I[133] = (T)(img)(_p9##x,_p2##y,z,c)), \
+ (I[152] = (T)(img)(_p9##x,_p1##y,z,c)), \
+ (I[171] = (T)(img)(_p9##x,y,z,c)), \
+ (I[190] = (T)(img)(_p9##x,_n1##y,z,c)), \
+ (I[209] = (T)(img)(_p9##x,_n2##y,z,c)), \
+ (I[228] = (T)(img)(_p9##x,_n3##y,z,c)), \
+ (I[247] = (T)(img)(_p9##x,_n4##y,z,c)), \
+ (I[266] = (T)(img)(_p9##x,_n5##y,z,c)), \
+ (I[285] = (T)(img)(_p9##x,_n6##y,z,c)), \
+ (I[304] = (T)(img)(_p9##x,_n7##y,z,c)), \
+ (I[323] = (T)(img)(_p9##x,_n8##y,z,c)), \
+ (I[342] = (T)(img)(_p9##x,_n9##y,z,c)), \
+ (I[1] = (T)(img)(_p8##x,_p9##y,z,c)), \
+ (I[20] = (T)(img)(_p8##x,_p8##y,z,c)), \
+ (I[39] = (T)(img)(_p8##x,_p7##y,z,c)), \
+ (I[58] = (T)(img)(_p8##x,_p6##y,z,c)), \
+ (I[77] = (T)(img)(_p8##x,_p5##y,z,c)), \
+ (I[96] = (T)(img)(_p8##x,_p4##y,z,c)), \
+ (I[115] = (T)(img)(_p8##x,_p3##y,z,c)), \
+ (I[134] = (T)(img)(_p8##x,_p2##y,z,c)), \
+ (I[153] = (T)(img)(_p8##x,_p1##y,z,c)), \
+ (I[172] = (T)(img)(_p8##x,y,z,c)), \
+ (I[191] = (T)(img)(_p8##x,_n1##y,z,c)), \
+ (I[210] = (T)(img)(_p8##x,_n2##y,z,c)), \
+ (I[229] = (T)(img)(_p8##x,_n3##y,z,c)), \
+ (I[248] = (T)(img)(_p8##x,_n4##y,z,c)), \
+ (I[267] = (T)(img)(_p8##x,_n5##y,z,c)), \
+ (I[286] = (T)(img)(_p8##x,_n6##y,z,c)), \
+ (I[305] = (T)(img)(_p8##x,_n7##y,z,c)), \
+ (I[324] = (T)(img)(_p8##x,_n8##y,z,c)), \
+ (I[343] = (T)(img)(_p8##x,_n9##y,z,c)), \
+ (I[2] = (T)(img)(_p7##x,_p9##y,z,c)), \
+ (I[21] = (T)(img)(_p7##x,_p8##y,z,c)), \
+ (I[40] = (T)(img)(_p7##x,_p7##y,z,c)), \
+ (I[59] = (T)(img)(_p7##x,_p6##y,z,c)), \
+ (I[78] = (T)(img)(_p7##x,_p5##y,z,c)), \
+ (I[97] = (T)(img)(_p7##x,_p4##y,z,c)), \
+ (I[116] = (T)(img)(_p7##x,_p3##y,z,c)), \
+ (I[135] = (T)(img)(_p7##x,_p2##y,z,c)), \
+ (I[154] = (T)(img)(_p7##x,_p1##y,z,c)), \
+ (I[173] = (T)(img)(_p7##x,y,z,c)), \
+ (I[192] = (T)(img)(_p7##x,_n1##y,z,c)), \
+ (I[211] = (T)(img)(_p7##x,_n2##y,z,c)), \
+ (I[230] = (T)(img)(_p7##x,_n3##y,z,c)), \
+ (I[249] = (T)(img)(_p7##x,_n4##y,z,c)), \
+ (I[268] = (T)(img)(_p7##x,_n5##y,z,c)), \
+ (I[287] = (T)(img)(_p7##x,_n6##y,z,c)), \
+ (I[306] = (T)(img)(_p7##x,_n7##y,z,c)), \
+ (I[325] = (T)(img)(_p7##x,_n8##y,z,c)), \
+ (I[344] = (T)(img)(_p7##x,_n9##y,z,c)), \
+ (I[3] = (T)(img)(_p6##x,_p9##y,z,c)), \
+ (I[22] = (T)(img)(_p6##x,_p8##y,z,c)), \
+ (I[41] = (T)(img)(_p6##x,_p7##y,z,c)), \
+ (I[60] = (T)(img)(_p6##x,_p6##y,z,c)), \
+ (I[79] = (T)(img)(_p6##x,_p5##y,z,c)), \
+ (I[98] = (T)(img)(_p6##x,_p4##y,z,c)), \
+ (I[117] = (T)(img)(_p6##x,_p3##y,z,c)), \
+ (I[136] = (T)(img)(_p6##x,_p2##y,z,c)), \
+ (I[155] = (T)(img)(_p6##x,_p1##y,z,c)), \
+ (I[174] = (T)(img)(_p6##x,y,z,c)), \
+ (I[193] = (T)(img)(_p6##x,_n1##y,z,c)), \
+ (I[212] = (T)(img)(_p6##x,_n2##y,z,c)), \
+ (I[231] = (T)(img)(_p6##x,_n3##y,z,c)), \
+ (I[250] = (T)(img)(_p6##x,_n4##y,z,c)), \
+ (I[269] = (T)(img)(_p6##x,_n5##y,z,c)), \
+ (I[288] = (T)(img)(_p6##x,_n6##y,z,c)), \
+ (I[307] = (T)(img)(_p6##x,_n7##y,z,c)), \
+ (I[326] = (T)(img)(_p6##x,_n8##y,z,c)), \
+ (I[345] = (T)(img)(_p6##x,_n9##y,z,c)), \
+ (I[4] = (T)(img)(_p5##x,_p9##y,z,c)), \
+ (I[23] = (T)(img)(_p5##x,_p8##y,z,c)), \
+ (I[42] = (T)(img)(_p5##x,_p7##y,z,c)), \
+ (I[61] = (T)(img)(_p5##x,_p6##y,z,c)), \
+ (I[80] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[99] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[118] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[137] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[156] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[175] = (T)(img)(_p5##x,y,z,c)), \
+ (I[194] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[213] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[232] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[251] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[270] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[289] = (T)(img)(_p5##x,_n6##y,z,c)), \
+ (I[308] = (T)(img)(_p5##x,_n7##y,z,c)), \
+ (I[327] = (T)(img)(_p5##x,_n8##y,z,c)), \
+ (I[346] = (T)(img)(_p5##x,_n9##y,z,c)), \
+ (I[5] = (T)(img)(_p4##x,_p9##y,z,c)), \
+ (I[24] = (T)(img)(_p4##x,_p8##y,z,c)), \
+ (I[43] = (T)(img)(_p4##x,_p7##y,z,c)), \
+ (I[62] = (T)(img)(_p4##x,_p6##y,z,c)), \
+ (I[81] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[100] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[119] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[138] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[157] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[176] = (T)(img)(_p4##x,y,z,c)), \
+ (I[195] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[214] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[233] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[252] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[271] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[290] = (T)(img)(_p4##x,_n6##y,z,c)), \
+ (I[309] = (T)(img)(_p4##x,_n7##y,z,c)), \
+ (I[328] = (T)(img)(_p4##x,_n8##y,z,c)), \
+ (I[347] = (T)(img)(_p4##x,_n9##y,z,c)), \
+ (I[6] = (T)(img)(_p3##x,_p9##y,z,c)), \
+ (I[25] = (T)(img)(_p3##x,_p8##y,z,c)), \
+ (I[44] = (T)(img)(_p3##x,_p7##y,z,c)), \
+ (I[63] = (T)(img)(_p3##x,_p6##y,z,c)), \
+ (I[82] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[101] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[120] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[139] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[158] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[177] = (T)(img)(_p3##x,y,z,c)), \
+ (I[196] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[215] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[234] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[253] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[272] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[291] = (T)(img)(_p3##x,_n6##y,z,c)), \
+ (I[310] = (T)(img)(_p3##x,_n7##y,z,c)), \
+ (I[329] = (T)(img)(_p3##x,_n8##y,z,c)), \
+ (I[348] = (T)(img)(_p3##x,_n9##y,z,c)), \
+ (I[7] = (T)(img)(_p2##x,_p9##y,z,c)), \
+ (I[26] = (T)(img)(_p2##x,_p8##y,z,c)), \
+ (I[45] = (T)(img)(_p2##x,_p7##y,z,c)), \
+ (I[64] = (T)(img)(_p2##x,_p6##y,z,c)), \
+ (I[83] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[102] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[121] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[140] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[159] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[178] = (T)(img)(_p2##x,y,z,c)), \
+ (I[197] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[216] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[235] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[254] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[273] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[292] = (T)(img)(_p2##x,_n6##y,z,c)), \
+ (I[311] = (T)(img)(_p2##x,_n7##y,z,c)), \
+ (I[330] = (T)(img)(_p2##x,_n8##y,z,c)), \
+ (I[349] = (T)(img)(_p2##x,_n9##y,z,c)), \
+ (I[8] = (T)(img)(_p1##x,_p9##y,z,c)), \
+ (I[27] = (T)(img)(_p1##x,_p8##y,z,c)), \
+ (I[46] = (T)(img)(_p1##x,_p7##y,z,c)), \
+ (I[65] = (T)(img)(_p1##x,_p6##y,z,c)), \
+ (I[84] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[103] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[122] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[141] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[160] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[179] = (T)(img)(_p1##x,y,z,c)), \
+ (I[198] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[217] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[236] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[255] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[274] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[293] = (T)(img)(_p1##x,_n6##y,z,c)), \
+ (I[312] = (T)(img)(_p1##x,_n7##y,z,c)), \
+ (I[331] = (T)(img)(_p1##x,_n8##y,z,c)), \
+ (I[350] = (T)(img)(_p1##x,_n9##y,z,c)), \
+ (I[9] = (T)(img)(x,_p9##y,z,c)), \
+ (I[28] = (T)(img)(x,_p8##y,z,c)), \
+ (I[47] = (T)(img)(x,_p7##y,z,c)), \
+ (I[66] = (T)(img)(x,_p6##y,z,c)), \
+ (I[85] = (T)(img)(x,_p5##y,z,c)), \
+ (I[104] = (T)(img)(x,_p4##y,z,c)), \
+ (I[123] = (T)(img)(x,_p3##y,z,c)), \
+ (I[142] = (T)(img)(x,_p2##y,z,c)), \
+ (I[161] = (T)(img)(x,_p1##y,z,c)), \
+ (I[180] = (T)(img)(x,y,z,c)), \
+ (I[199] = (T)(img)(x,_n1##y,z,c)), \
+ (I[218] = (T)(img)(x,_n2##y,z,c)), \
+ (I[237] = (T)(img)(x,_n3##y,z,c)), \
+ (I[256] = (T)(img)(x,_n4##y,z,c)), \
+ (I[275] = (T)(img)(x,_n5##y,z,c)), \
+ (I[294] = (T)(img)(x,_n6##y,z,c)), \
+ (I[313] = (T)(img)(x,_n7##y,z,c)), \
+ (I[332] = (T)(img)(x,_n8##y,z,c)), \
+ (I[351] = (T)(img)(x,_n9##y,z,c)), \
+ (I[10] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[29] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[48] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[67] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[86] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[105] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[124] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[143] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[162] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[181] = (T)(img)(_n1##x,y,z,c)), \
+ (I[200] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[219] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[238] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[257] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[276] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[295] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[314] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[333] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[352] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[11] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[30] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[49] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[68] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[87] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[106] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[125] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[144] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[163] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[182] = (T)(img)(_n2##x,y,z,c)), \
+ (I[201] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[220] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[239] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[258] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[277] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[296] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[315] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[334] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[353] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[12] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[31] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[50] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[69] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[88] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[107] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[126] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[145] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[164] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[183] = (T)(img)(_n3##x,y,z,c)), \
+ (I[202] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[221] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[240] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[259] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[278] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[297] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[316] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[335] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[354] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[13] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[32] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[51] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[70] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[89] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[108] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[127] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[146] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[165] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[184] = (T)(img)(_n4##x,y,z,c)), \
+ (I[203] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[222] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[241] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[260] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[279] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[298] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[317] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[336] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[355] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[14] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[33] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[52] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[71] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[90] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[109] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[128] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[147] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[166] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[185] = (T)(img)(_n5##x,y,z,c)), \
+ (I[204] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[223] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[242] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[261] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[280] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[299] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[318] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[337] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[356] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[15] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[34] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[53] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[72] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[91] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[110] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[129] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[148] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[167] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[186] = (T)(img)(_n6##x,y,z,c)), \
+ (I[205] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[224] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[243] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[262] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[281] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[300] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[319] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[338] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[357] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[16] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[35] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[54] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[73] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[92] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[111] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[130] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[149] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[168] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[187] = (T)(img)(_n7##x,y,z,c)), \
+ (I[206] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[225] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[244] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[263] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[282] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[301] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[320] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[339] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[358] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[17] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[36] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[55] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[74] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[93] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[112] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[131] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[150] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[169] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[188] = (T)(img)(_n8##x,y,z,c)), \
+ (I[207] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[226] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[245] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[264] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[283] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[302] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[321] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[340] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[359] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ x + 9>=(img).width()?(img).width() - 1:x + 9); \
+ x<=(int)(x1) && ((_n9##x<(img).width() && ( \
+ (I[18] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[37] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[56] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[75] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[94] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[113] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[132] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[151] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[170] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[189] = (T)(img)(_n9##x,y,z,c)), \
+ (I[208] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[227] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[246] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[265] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[284] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[303] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[322] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[341] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[360] = (T)(img)(_n9##x,_n9##y,z,c)),1)) || \
+ _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], \
+ I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], \
+ I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], \
+ I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], \
+ I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], \
+ I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], \
+ I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], \
+ I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], \
+ I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], \
+ I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], \
+ I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], \
+ I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], \
+ I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], \
+ I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], \
+ I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], \
+ I[285] = I[286], I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], \
+ I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], \
+ I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], \
+ I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], I[359] = I[360], \
+ _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x)
+
+#define cimg_get19x19(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p9##x,_p9##y,z,c), I[1] = (T)(img)(_p8##x,_p9##y,z,c), I[2] = (T)(img)(_p7##x,_p9##y,z,c), I[3] = (T)(img)(_p6##x,_p9##y,z,c), I[4] = (T)(img)(_p5##x,_p9##y,z,c), I[5] = (T)(img)(_p4##x,_p9##y,z,c), I[6] = (T)(img)(_p3##x,_p9##y,z,c), I[7] = (T)(img)(_p2##x,_p9##y,z,c), I[8] = (T)(img)(_p1##x,_p9##y,z,c), I[9] = (T)(img)(x,_p9##y,z,c), I[10] = (T)(img)(_n1##x,_p9##y,z,c), I[11] = (T)(img)(_n2##x,_p9##y,z,c), I[12] = (T)(img)(_n3##x,_p9##y,z,c), I[13] = (T)(img)(_n4##x,_ [...]
+ I[19] = (T)(img)(_p9##x,_p8##y,z,c), I[20] = (T)(img)(_p8##x,_p8##y,z,c), I[21] = (T)(img)(_p7##x,_p8##y,z,c), I[22] = (T)(img)(_p6##x,_p8##y,z,c), I[23] = (T)(img)(_p5##x,_p8##y,z,c), I[24] = (T)(img)(_p4##x,_p8##y,z,c), I[25] = (T)(img)(_p3##x,_p8##y,z,c), I[26] = (T)(img)(_p2##x,_p8##y,z,c), I[27] = (T)(img)(_p1##x,_p8##y,z,c), I[28] = (T)(img)(x,_p8##y,z,c), I[29] = (T)(img)(_n1##x,_p8##y,z,c), I[30] = (T)(img)(_n2##x,_p8##y,z,c), I[31] = (T)(img)(_n3##x,_p8##y,z,c), I[32] = (T)(img [...]
+ I[38] = (T)(img)(_p9##x,_p7##y,z,c), I[39] = (T)(img)(_p8##x,_p7##y,z,c), I[40] = (T)(img)(_p7##x,_p7##y,z,c), I[41] = (T)(img)(_p6##x,_p7##y,z,c), I[42] = (T)(img)(_p5##x,_p7##y,z,c), I[43] = (T)(img)(_p4##x,_p7##y,z,c), I[44] = (T)(img)(_p3##x,_p7##y,z,c), I[45] = (T)(img)(_p2##x,_p7##y,z,c), I[46] = (T)(img)(_p1##x,_p7##y,z,c), I[47] = (T)(img)(x,_p7##y,z,c), I[48] = (T)(img)(_n1##x,_p7##y,z,c), I[49] = (T)(img)(_n2##x,_p7##y,z,c), I[50] = (T)(img)(_n3##x,_p7##y,z,c), I[51] = (T)(img [...]
+ I[57] = (T)(img)(_p9##x,_p6##y,z,c), I[58] = (T)(img)(_p8##x,_p6##y,z,c), I[59] = (T)(img)(_p7##x,_p6##y,z,c), I[60] = (T)(img)(_p6##x,_p6##y,z,c), I[61] = (T)(img)(_p5##x,_p6##y,z,c), I[62] = (T)(img)(_p4##x,_p6##y,z,c), I[63] = (T)(img)(_p3##x,_p6##y,z,c), I[64] = (T)(img)(_p2##x,_p6##y,z,c), I[65] = (T)(img)(_p1##x,_p6##y,z,c), I[66] = (T)(img)(x,_p6##y,z,c), I[67] = (T)(img)(_n1##x,_p6##y,z,c), I[68] = (T)(img)(_n2##x,_p6##y,z,c), I[69] = (T)(img)(_n3##x,_p6##y,z,c), I[70] = (T)(img [...]
+ I[76] = (T)(img)(_p9##x,_p5##y,z,c), I[77] = (T)(img)(_p8##x,_p5##y,z,c), I[78] = (T)(img)(_p7##x,_p5##y,z,c), I[79] = (T)(img)(_p6##x,_p5##y,z,c), I[80] = (T)(img)(_p5##x,_p5##y,z,c), I[81] = (T)(img)(_p4##x,_p5##y,z,c), I[82] = (T)(img)(_p3##x,_p5##y,z,c), I[83] = (T)(img)(_p2##x,_p5##y,z,c), I[84] = (T)(img)(_p1##x,_p5##y,z,c), I[85] = (T)(img)(x,_p5##y,z,c), I[86] = (T)(img)(_n1##x,_p5##y,z,c), I[87] = (T)(img)(_n2##x,_p5##y,z,c), I[88] = (T)(img)(_n3##x,_p5##y,z,c), I[89] = (T)(img [...]
+ I[95] = (T)(img)(_p9##x,_p4##y,z,c), I[96] = (T)(img)(_p8##x,_p4##y,z,c), I[97] = (T)(img)(_p7##x,_p4##y,z,c), I[98] = (T)(img)(_p6##x,_p4##y,z,c), I[99] = (T)(img)(_p5##x,_p4##y,z,c), I[100] = (T)(img)(_p4##x,_p4##y,z,c), I[101] = (T)(img)(_p3##x,_p4##y,z,c), I[102] = (T)(img)(_p2##x,_p4##y,z,c), I[103] = (T)(img)(_p1##x,_p4##y,z,c), I[104] = (T)(img)(x,_p4##y,z,c), I[105] = (T)(img)(_n1##x,_p4##y,z,c), I[106] = (T)(img)(_n2##x,_p4##y,z,c), I[107] = (T)(img)(_n3##x,_p4##y,z,c), I[108]  [...]
+ I[114] = (T)(img)(_p9##x,_p3##y,z,c), I[115] = (T)(img)(_p8##x,_p3##y,z,c), I[116] = (T)(img)(_p7##x,_p3##y,z,c), I[117] = (T)(img)(_p6##x,_p3##y,z,c), I[118] = (T)(img)(_p5##x,_p3##y,z,c), I[119] = (T)(img)(_p4##x,_p3##y,z,c), I[120] = (T)(img)(_p3##x,_p3##y,z,c), I[121] = (T)(img)(_p2##x,_p3##y,z,c), I[122] = (T)(img)(_p1##x,_p3##y,z,c), I[123] = (T)(img)(x,_p3##y,z,c), I[124] = (T)(img)(_n1##x,_p3##y,z,c), I[125] = (T)(img)(_n2##x,_p3##y,z,c), I[126] = (T)(img)(_n3##x,_p3##y,z,c), I[ [...]
+ I[133] = (T)(img)(_p9##x,_p2##y,z,c), I[134] = (T)(img)(_p8##x,_p2##y,z,c), I[135] = (T)(img)(_p7##x,_p2##y,z,c), I[136] = (T)(img)(_p6##x,_p2##y,z,c), I[137] = (T)(img)(_p5##x,_p2##y,z,c), I[138] = (T)(img)(_p4##x,_p2##y,z,c), I[139] = (T)(img)(_p3##x,_p2##y,z,c), I[140] = (T)(img)(_p2##x,_p2##y,z,c), I[141] = (T)(img)(_p1##x,_p2##y,z,c), I[142] = (T)(img)(x,_p2##y,z,c), I[143] = (T)(img)(_n1##x,_p2##y,z,c), I[144] = (T)(img)(_n2##x,_p2##y,z,c), I[145] = (T)(img)(_n3##x,_p2##y,z,c), I[ [...]
+ I[152] = (T)(img)(_p9##x,_p1##y,z,c), I[153] = (T)(img)(_p8##x,_p1##y,z,c), I[154] = (T)(img)(_p7##x,_p1##y,z,c), I[155] = (T)(img)(_p6##x,_p1##y,z,c), I[156] = (T)(img)(_p5##x,_p1##y,z,c), I[157] = (T)(img)(_p4##x,_p1##y,z,c), I[158] = (T)(img)(_p3##x,_p1##y,z,c), I[159] = (T)(img)(_p2##x,_p1##y,z,c), I[160] = (T)(img)(_p1##x,_p1##y,z,c), I[161] = (T)(img)(x,_p1##y,z,c), I[162] = (T)(img)(_n1##x,_p1##y,z,c), I[163] = (T)(img)(_n2##x,_p1##y,z,c), I[164] = (T)(img)(_n3##x,_p1##y,z,c), I[ [...]
+ I[171] = (T)(img)(_p9##x,y,z,c), I[172] = (T)(img)(_p8##x,y,z,c), I[173] = (T)(img)(_p7##x,y,z,c), I[174] = (T)(img)(_p6##x,y,z,c), I[175] = (T)(img)(_p5##x,y,z,c), I[176] = (T)(img)(_p4##x,y,z,c), I[177] = (T)(img)(_p3##x,y,z,c), I[178] = (T)(img)(_p2##x,y,z,c), I[179] = (T)(img)(_p1##x,y,z,c), I[180] = (T)(img)(x,y,z,c), I[181] = (T)(img)(_n1##x,y,z,c), I[182] = (T)(img)(_n2##x,y,z,c), I[183] = (T)(img)(_n3##x,y,z,c), I[184] = (T)(img)(_n4##x,y,z,c), I[185] = (T)(img)(_n5##x,y,z,c), I [...]
+ I[190] = (T)(img)(_p9##x,_n1##y,z,c), I[191] = (T)(img)(_p8##x,_n1##y,z,c), I[192] = (T)(img)(_p7##x,_n1##y,z,c), I[193] = (T)(img)(_p6##x,_n1##y,z,c), I[194] = (T)(img)(_p5##x,_n1##y,z,c), I[195] = (T)(img)(_p4##x,_n1##y,z,c), I[196] = (T)(img)(_p3##x,_n1##y,z,c), I[197] = (T)(img)(_p2##x,_n1##y,z,c), I[198] = (T)(img)(_p1##x,_n1##y,z,c), I[199] = (T)(img)(x,_n1##y,z,c), I[200] = (T)(img)(_n1##x,_n1##y,z,c), I[201] = (T)(img)(_n2##x,_n1##y,z,c), I[202] = (T)(img)(_n3##x,_n1##y,z,c), I[ [...]
+ I[209] = (T)(img)(_p9##x,_n2##y,z,c), I[210] = (T)(img)(_p8##x,_n2##y,z,c), I[211] = (T)(img)(_p7##x,_n2##y,z,c), I[212] = (T)(img)(_p6##x,_n2##y,z,c), I[213] = (T)(img)(_p5##x,_n2##y,z,c), I[214] = (T)(img)(_p4##x,_n2##y,z,c), I[215] = (T)(img)(_p3##x,_n2##y,z,c), I[216] = (T)(img)(_p2##x,_n2##y,z,c), I[217] = (T)(img)(_p1##x,_n2##y,z,c), I[218] = (T)(img)(x,_n2##y,z,c), I[219] = (T)(img)(_n1##x,_n2##y,z,c), I[220] = (T)(img)(_n2##x,_n2##y,z,c), I[221] = (T)(img)(_n3##x,_n2##y,z,c), I[ [...]
+ I[228] = (T)(img)(_p9##x,_n3##y,z,c), I[229] = (T)(img)(_p8##x,_n3##y,z,c), I[230] = (T)(img)(_p7##x,_n3##y,z,c), I[231] = (T)(img)(_p6##x,_n3##y,z,c), I[232] = (T)(img)(_p5##x,_n3##y,z,c), I[233] = (T)(img)(_p4##x,_n3##y,z,c), I[234] = (T)(img)(_p3##x,_n3##y,z,c), I[235] = (T)(img)(_p2##x,_n3##y,z,c), I[236] = (T)(img)(_p1##x,_n3##y,z,c), I[237] = (T)(img)(x,_n3##y,z,c), I[238] = (T)(img)(_n1##x,_n3##y,z,c), I[239] = (T)(img)(_n2##x,_n3##y,z,c), I[240] = (T)(img)(_n3##x,_n3##y,z,c), I[ [...]
+ I[247] = (T)(img)(_p9##x,_n4##y,z,c), I[248] = (T)(img)(_p8##x,_n4##y,z,c), I[249] = (T)(img)(_p7##x,_n4##y,z,c), I[250] = (T)(img)(_p6##x,_n4##y,z,c), I[251] = (T)(img)(_p5##x,_n4##y,z,c), I[252] = (T)(img)(_p4##x,_n4##y,z,c), I[253] = (T)(img)(_p3##x,_n4##y,z,c), I[254] = (T)(img)(_p2##x,_n4##y,z,c), I[255] = (T)(img)(_p1##x,_n4##y,z,c), I[256] = (T)(img)(x,_n4##y,z,c), I[257] = (T)(img)(_n1##x,_n4##y,z,c), I[258] = (T)(img)(_n2##x,_n4##y,z,c), I[259] = (T)(img)(_n3##x,_n4##y,z,c), I[ [...]
+ I[266] = (T)(img)(_p9##x,_n5##y,z,c), I[267] = (T)(img)(_p8##x,_n5##y,z,c), I[268] = (T)(img)(_p7##x,_n5##y,z,c), I[269] = (T)(img)(_p6##x,_n5##y,z,c), I[270] = (T)(img)(_p5##x,_n5##y,z,c), I[271] = (T)(img)(_p4##x,_n5##y,z,c), I[272] = (T)(img)(_p3##x,_n5##y,z,c), I[273] = (T)(img)(_p2##x,_n5##y,z,c), I[274] = (T)(img)(_p1##x,_n5##y,z,c), I[275] = (T)(img)(x,_n5##y,z,c), I[276] = (T)(img)(_n1##x,_n5##y,z,c), I[277] = (T)(img)(_n2##x,_n5##y,z,c), I[278] = (T)(img)(_n3##x,_n5##y,z,c), I[ [...]
+ I[285] = (T)(img)(_p9##x,_n6##y,z,c), I[286] = (T)(img)(_p8##x,_n6##y,z,c), I[287] = (T)(img)(_p7##x,_n6##y,z,c), I[288] = (T)(img)(_p6##x,_n6##y,z,c), I[289] = (T)(img)(_p5##x,_n6##y,z,c), I[290] = (T)(img)(_p4##x,_n6##y,z,c), I[291] = (T)(img)(_p3##x,_n6##y,z,c), I[292] = (T)(img)(_p2##x,_n6##y,z,c), I[293] = (T)(img)(_p1##x,_n6##y,z,c), I[294] = (T)(img)(x,_n6##y,z,c), I[295] = (T)(img)(_n1##x,_n6##y,z,c), I[296] = (T)(img)(_n2##x,_n6##y,z,c), I[297] = (T)(img)(_n3##x,_n6##y,z,c), I[ [...]
+ I[304] = (T)(img)(_p9##x,_n7##y,z,c), I[305] = (T)(img)(_p8##x,_n7##y,z,c), I[306] = (T)(img)(_p7##x,_n7##y,z,c), I[307] = (T)(img)(_p6##x,_n7##y,z,c), I[308] = (T)(img)(_p5##x,_n7##y,z,c), I[309] = (T)(img)(_p4##x,_n7##y,z,c), I[310] = (T)(img)(_p3##x,_n7##y,z,c), I[311] = (T)(img)(_p2##x,_n7##y,z,c), I[312] = (T)(img)(_p1##x,_n7##y,z,c), I[313] = (T)(img)(x,_n7##y,z,c), I[314] = (T)(img)(_n1##x,_n7##y,z,c), I[315] = (T)(img)(_n2##x,_n7##y,z,c), I[316] = (T)(img)(_n3##x,_n7##y,z,c), I[ [...]
+ I[323] = (T)(img)(_p9##x,_n8##y,z,c), I[324] = (T)(img)(_p8##x,_n8##y,z,c), I[325] = (T)(img)(_p7##x,_n8##y,z,c), I[326] = (T)(img)(_p6##x,_n8##y,z,c), I[327] = (T)(img)(_p5##x,_n8##y,z,c), I[328] = (T)(img)(_p4##x,_n8##y,z,c), I[329] = (T)(img)(_p3##x,_n8##y,z,c), I[330] = (T)(img)(_p2##x,_n8##y,z,c), I[331] = (T)(img)(_p1##x,_n8##y,z,c), I[332] = (T)(img)(x,_n8##y,z,c), I[333] = (T)(img)(_n1##x,_n8##y,z,c), I[334] = (T)(img)(_n2##x,_n8##y,z,c), I[335] = (T)(img)(_n3##x,_n8##y,z,c), I[ [...]
+ I[342] = (T)(img)(_p9##x,_n9##y,z,c), I[343] = (T)(img)(_p8##x,_n9##y,z,c), I[344] = (T)(img)(_p7##x,_n9##y,z,c), I[345] = (T)(img)(_p6##x,_n9##y,z,c), I[346] = (T)(img)(_p5##x,_n9##y,z,c), I[347] = (T)(img)(_p4##x,_n9##y,z,c), I[348] = (T)(img)(_p3##x,_n9##y,z,c), I[349] = (T)(img)(_p2##x,_n9##y,z,c), I[350] = (T)(img)(_p1##x,_n9##y,z,c), I[351] = (T)(img)(x,_n9##y,z,c), I[352] = (T)(img)(_n1##x,_n9##y,z,c), I[353] = (T)(img)(_n2##x,_n9##y,z,c), I[354] = (T)(img)(_n3##x,_n9##y,z,c), I[ [...]
+
+// Define 20x20 loop macros
+//-------------------------
+#define cimg_for20(bound,i) for (int i = 0, \
+ _p9##i = 0, _p8##i = 0, _p7##i = 0, _p6##i = 0, _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5, \
+ _n6##i = 6>=(int)(bound)?(int)(bound) - 1:6, \
+ _n7##i = 7>=(int)(bound)?(int)(bound) - 1:7, \
+ _n8##i = 8>=(int)(bound)?(int)(bound) - 1:8, \
+ _n9##i = 9>=(int)(bound)?(int)(bound) - 1:9, \
+ _n10##i = 10>=(int)(bound)?(int)(bound) - 1:10; \
+ _n10##i<(int)(bound) || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i)
+
+#define cimg_for20X(img,x) cimg_for20((img)._width,x)
+#define cimg_for20Y(img,y) cimg_for20((img)._height,y)
+#define cimg_for20Z(img,z) cimg_for20((img)._depth,z)
+#define cimg_for20C(img,c) cimg_for20((img)._spectrum,c)
+#define cimg_for20XY(img,x,y) cimg_for20Y(img,y) cimg_for20X(img,x)
+#define cimg_for20XZ(img,x,z) cimg_for20Z(img,z) cimg_for20X(img,x)
+#define cimg_for20XC(img,x,c) cimg_for20C(img,c) cimg_for20X(img,x)
+#define cimg_for20YZ(img,y,z) cimg_for20Z(img,z) cimg_for20Y(img,y)
+#define cimg_for20YC(img,y,c) cimg_for20C(img,c) cimg_for20Y(img,y)
+#define cimg_for20ZC(img,z,c) cimg_for20C(img,c) cimg_for20Z(img,z)
+#define cimg_for20XYZ(img,x,y,z) cimg_for20Z(img,z) cimg_for20XY(img,x,y)
+#define cimg_for20XZC(img,x,z,c) cimg_for20C(img,c) cimg_for20XZ(img,x,z)
+#define cimg_for20YZC(img,y,z,c) cimg_for20C(img,c) cimg_for20YZ(img,y,z)
+#define cimg_for20XYZC(img,x,y,z,c) cimg_for20C(img,c) cimg_for20XYZ(img,x,y,z)
+
+#define cimg_for_in20(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p9##i = i - 9<0?0:i - 9, \
+ _p8##i = i - 8<0?0:i - 8, \
+ _p7##i = i - 7<0?0:i - 7, \
+ _p6##i = i - 6<0?0:i - 6, \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5, \
+ _n6##i = i + 6>=(int)(bound)?(int)(bound) - 1:i + 6, \
+ _n7##i = i + 7>=(int)(bound)?(int)(bound) - 1:i + 7, \
+ _n8##i = i + 8>=(int)(bound)?(int)(bound) - 1:i + 8, \
+ _n9##i = i + 9>=(int)(bound)?(int)(bound) - 1:i + 9, \
+ _n10##i = i + 10>=(int)(bound)?(int)(bound) - 1:i + 10; \
+ i<=(int)(i1) && (_n10##i<(int)(bound) || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i)
+
+#define cimg_for_in20X(img,x0,x1,x) cimg_for_in20((img)._width,x0,x1,x)
+#define cimg_for_in20Y(img,y0,y1,y) cimg_for_in20((img)._height,y0,y1,y)
+#define cimg_for_in20Z(img,z0,z1,z) cimg_for_in20((img)._depth,z0,z1,z)
+#define cimg_for_in20C(img,c0,c1,c) cimg_for_in20((img)._spectrum,c0,c1,c)
+#define cimg_for_in20XY(img,x0,y0,x1,y1,x,y) cimg_for_in20Y(img,y0,y1,y) cimg_for_in20X(img,x0,x1,x)
+#define cimg_for_in20XZ(img,x0,z0,x1,z1,x,z) cimg_for_in20Z(img,z0,z1,z) cimg_for_in20X(img,x0,x1,x)
+#define cimg_for_in20XC(img,x0,c0,x1,c1,x,c) cimg_for_in20C(img,c0,c1,c) cimg_for_in20X(img,x0,x1,x)
+#define cimg_for_in20YZ(img,y0,z0,y1,z1,y,z) cimg_for_in20Z(img,z0,z1,z) cimg_for_in20Y(img,y0,y1,y)
+#define cimg_for_in20YC(img,y0,c0,y1,c1,y,c) cimg_for_in20C(img,c0,c1,c) cimg_for_in20Y(img,y0,y1,y)
+#define cimg_for_in20ZC(img,z0,c0,z1,c1,z,c) cimg_for_in20C(img,c0,c1,c) cimg_for_in20Z(img,z0,z1,z)
+#define cimg_for_in20XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in20Z(img,z0,z1,z) cimg_for_in20XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in20XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in20C(img,c0,c1,c) cimg_for_in20XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in20YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in20C(img,c0,c1,c) cimg_for_in20YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in20XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in20C(img,c0,c1,c) cimg_for_in20XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for20x20(img,x,y,z,c,I,T) \
+ cimg_for20((img)._height,y) for (int x = 0, \
+ _p9##x = 0, _p8##x = 0, _p7##x = 0, _p6##x = 0, _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = 5>=((img)._width)?(img).width() - 1:5, \
+ _n6##x = 6>=((img)._width)?(img).width() - 1:6, \
+ _n7##x = 7>=((img)._width)?(img).width() - 1:7, \
+ _n8##x = 8>=((img)._width)?(img).width() - 1:8, \
+ _n9##x = 9>=((img)._width)?(img).width() - 1:9, \
+ _n10##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = I[6] = I[7] = I[8] = I[9] = (T)(img)(0,_p9##y,z,c)), \
+ (I[20] = I[21] = I[22] = I[23] = I[24] = I[25] = I[26] = I[27] = I[28] = I[29] = (T)(img)(0,_p8##y,z,c)), \
+ (I[40] = I[41] = I[42] = I[43] = I[44] = I[45] = I[46] = I[47] = I[48] = I[49] = (T)(img)(0,_p7##y,z,c)), \
+ (I[60] = I[61] = I[62] = I[63] = I[64] = I[65] = I[66] = I[67] = I[68] = I[69] = (T)(img)(0,_p6##y,z,c)), \
+ (I[80] = I[81] = I[82] = I[83] = I[84] = I[85] = I[86] = I[87] = I[88] = I[89] = (T)(img)(0,_p5##y,z,c)), \
+ (I[100] = I[101] = I[102] = I[103] = I[104] = I[105] = I[106] = I[107] = I[108] = I[109] = (T)(img)(0,_p4##y,z,c)), \
+ (I[120] = I[121] = I[122] = I[123] = I[124] = I[125] = I[126] = I[127] = I[128] = I[129] = (T)(img)(0,_p3##y,z,c)), \
+ (I[140] = I[141] = I[142] = I[143] = I[144] = I[145] = I[146] = I[147] = I[148] = I[149] = (T)(img)(0,_p2##y,z,c)), \
+ (I[160] = I[161] = I[162] = I[163] = I[164] = I[165] = I[166] = I[167] = I[168] = I[169] = (T)(img)(0,_p1##y,z,c)), \
+ (I[180] = I[181] = I[182] = I[183] = I[184] = I[185] = I[186] = I[187] = I[188] = I[189] = (T)(img)(0,y,z,c)), \
+ (I[200] = I[201] = I[202] = I[203] = I[204] = I[205] = I[206] = I[207] = I[208] = I[209] = (T)(img)(0,_n1##y,z,c)), \
+ (I[220] = I[221] = I[222] = I[223] = I[224] = I[225] = I[226] = I[227] = I[228] = I[229] = (T)(img)(0,_n2##y,z,c)), \
+ (I[240] = I[241] = I[242] = I[243] = I[244] = I[245] = I[246] = I[247] = I[248] = I[249] = (T)(img)(0,_n3##y,z,c)), \
+ (I[260] = I[261] = I[262] = I[263] = I[264] = I[265] = I[266] = I[267] = I[268] = I[269] = (T)(img)(0,_n4##y,z,c)), \
+ (I[280] = I[281] = I[282] = I[283] = I[284] = I[285] = I[286] = I[287] = I[288] = I[289] = (T)(img)(0,_n5##y,z,c)), \
+ (I[300] = I[301] = I[302] = I[303] = I[304] = I[305] = I[306] = I[307] = I[308] = I[309] = (T)(img)(0,_n6##y,z,c)), \
+ (I[320] = I[321] = I[322] = I[323] = I[324] = I[325] = I[326] = I[327] = I[328] = I[329] = (T)(img)(0,_n7##y,z,c)), \
+ (I[340] = I[341] = I[342] = I[343] = I[344] = I[345] = I[346] = I[347] = I[348] = I[349] = (T)(img)(0,_n8##y,z,c)), \
+ (I[360] = I[361] = I[362] = I[363] = I[364] = I[365] = I[366] = I[367] = I[368] = I[369] = (T)(img)(0,_n9##y,z,c)), \
+ (I[380] = I[381] = I[382] = I[383] = I[384] = I[385] = I[386] = I[387] = I[388] = I[389] = (T)(img)(0,_n10##y,z,c)), \
+ (I[10] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[30] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[50] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[70] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[90] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[110] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[130] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[150] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[170] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[190] = (T)(img)(_n1##x,y,z,c)), \
+ (I[210] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[230] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[250] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[270] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[290] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[310] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[330] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[350] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[370] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[390] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[11] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[31] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[51] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[71] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[91] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[111] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[131] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[151] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[171] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[191] = (T)(img)(_n2##x,y,z,c)), \
+ (I[211] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[231] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[251] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[271] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[291] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[311] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[331] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[351] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[371] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[391] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[12] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[32] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[52] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[72] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[92] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[112] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[132] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[152] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[172] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[192] = (T)(img)(_n3##x,y,z,c)), \
+ (I[212] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[232] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[252] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[272] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[292] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[312] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[332] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[352] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[372] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[392] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[13] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[33] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[53] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[73] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[93] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[113] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[133] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[153] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[173] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[193] = (T)(img)(_n4##x,y,z,c)), \
+ (I[213] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[233] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[253] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[273] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[293] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[313] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[333] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[353] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[373] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[393] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[14] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[34] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[54] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[74] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[94] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[114] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[134] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[154] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[174] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[194] = (T)(img)(_n5##x,y,z,c)), \
+ (I[214] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[234] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[254] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[274] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[294] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[314] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[334] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[354] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[374] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[394] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[15] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[35] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[55] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[75] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[95] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[115] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[135] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[155] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[175] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[195] = (T)(img)(_n6##x,y,z,c)), \
+ (I[215] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[235] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[255] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[275] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[295] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[315] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[335] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[355] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[375] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[395] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[16] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[36] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[56] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[76] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[96] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[116] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[136] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[156] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[176] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[196] = (T)(img)(_n7##x,y,z,c)), \
+ (I[216] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[236] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[256] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[276] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[296] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[316] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[336] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[356] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[376] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[396] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[17] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[37] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[57] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[77] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[97] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[117] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[137] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[157] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[177] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[197] = (T)(img)(_n8##x,y,z,c)), \
+ (I[217] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[237] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[257] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[277] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[297] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[317] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[337] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[357] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[377] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[397] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[18] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[38] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[58] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[78] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[98] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[118] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[138] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[158] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[178] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[198] = (T)(img)(_n9##x,y,z,c)), \
+ (I[218] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[238] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[258] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[278] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[298] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[318] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[338] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[358] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[378] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[398] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ 10>=((img)._width)?(img).width() - 1:10); \
+ (_n10##x<(img).width() && ( \
+ (I[19] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[39] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[59] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[79] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[99] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[119] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[139] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[159] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[179] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[199] = (T)(img)(_n10##x,y,z,c)), \
+ (I[219] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[239] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[259] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[279] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[299] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[319] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[339] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[359] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[379] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[399] = (T)(img)(_n10##x,_n10##y,z,c)),1)) || \
+ _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], \
+ I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], \
+ I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], \
+ I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], \
+ I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], \
+ I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], \
+ I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], \
+ I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], \
+ I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], \
+ I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], \
+ I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], \
+ I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], \
+ I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], \
+ I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], \
+ I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], \
+ I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], \
+ I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], I[337] = I[338], I[338] = I[339], \
+ I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], \
+ I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], I[376] = I[377], I[377] = I[378], I[378] = I[379], \
+ I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], \
+ _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x)
+
+#define cimg_for_in20x20(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in20((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p9##x = x - 9<0?0:x - 9, \
+ _p8##x = x - 8<0?0:x - 8, \
+ _p7##x = x - 7<0?0:x - 7, \
+ _p6##x = x - 6<0?0:x - 6, \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = x + 5>=(img).width()?(img).width() - 1:x + 5, \
+ _n6##x = x + 6>=(img).width()?(img).width() - 1:x + 6, \
+ _n7##x = x + 7>=(img).width()?(img).width() - 1:x + 7, \
+ _n8##x = x + 8>=(img).width()?(img).width() - 1:x + 8, \
+ _n9##x = x + 9>=(img).width()?(img).width() - 1:x + 9, \
+ _n10##x = (int)( \
+ (I[0] = (T)(img)(_p9##x,_p9##y,z,c)), \
+ (I[20] = (T)(img)(_p9##x,_p8##y,z,c)), \
+ (I[40] = (T)(img)(_p9##x,_p7##y,z,c)), \
+ (I[60] = (T)(img)(_p9##x,_p6##y,z,c)), \
+ (I[80] = (T)(img)(_p9##x,_p5##y,z,c)), \
+ (I[100] = (T)(img)(_p9##x,_p4##y,z,c)), \
+ (I[120] = (T)(img)(_p9##x,_p3##y,z,c)), \
+ (I[140] = (T)(img)(_p9##x,_p2##y,z,c)), \
+ (I[160] = (T)(img)(_p9##x,_p1##y,z,c)), \
+ (I[180] = (T)(img)(_p9##x,y,z,c)), \
+ (I[200] = (T)(img)(_p9##x,_n1##y,z,c)), \
+ (I[220] = (T)(img)(_p9##x,_n2##y,z,c)), \
+ (I[240] = (T)(img)(_p9##x,_n3##y,z,c)), \
+ (I[260] = (T)(img)(_p9##x,_n4##y,z,c)), \
+ (I[280] = (T)(img)(_p9##x,_n5##y,z,c)), \
+ (I[300] = (T)(img)(_p9##x,_n6##y,z,c)), \
+ (I[320] = (T)(img)(_p9##x,_n7##y,z,c)), \
+ (I[340] = (T)(img)(_p9##x,_n8##y,z,c)), \
+ (I[360] = (T)(img)(_p9##x,_n9##y,z,c)), \
+ (I[380] = (T)(img)(_p9##x,_n10##y,z,c)), \
+ (I[1] = (T)(img)(_p8##x,_p9##y,z,c)), \
+ (I[21] = (T)(img)(_p8##x,_p8##y,z,c)), \
+ (I[41] = (T)(img)(_p8##x,_p7##y,z,c)), \
+ (I[61] = (T)(img)(_p8##x,_p6##y,z,c)), \
+ (I[81] = (T)(img)(_p8##x,_p5##y,z,c)), \
+ (I[101] = (T)(img)(_p8##x,_p4##y,z,c)), \
+ (I[121] = (T)(img)(_p8##x,_p3##y,z,c)), \
+ (I[141] = (T)(img)(_p8##x,_p2##y,z,c)), \
+ (I[161] = (T)(img)(_p8##x,_p1##y,z,c)), \
+ (I[181] = (T)(img)(_p8##x,y,z,c)), \
+ (I[201] = (T)(img)(_p8##x,_n1##y,z,c)), \
+ (I[221] = (T)(img)(_p8##x,_n2##y,z,c)), \
+ (I[241] = (T)(img)(_p8##x,_n3##y,z,c)), \
+ (I[261] = (T)(img)(_p8##x,_n4##y,z,c)), \
+ (I[281] = (T)(img)(_p8##x,_n5##y,z,c)), \
+ (I[301] = (T)(img)(_p8##x,_n6##y,z,c)), \
+ (I[321] = (T)(img)(_p8##x,_n7##y,z,c)), \
+ (I[341] = (T)(img)(_p8##x,_n8##y,z,c)), \
+ (I[361] = (T)(img)(_p8##x,_n9##y,z,c)), \
+ (I[381] = (T)(img)(_p8##x,_n10##y,z,c)), \
+ (I[2] = (T)(img)(_p7##x,_p9##y,z,c)), \
+ (I[22] = (T)(img)(_p7##x,_p8##y,z,c)), \
+ (I[42] = (T)(img)(_p7##x,_p7##y,z,c)), \
+ (I[62] = (T)(img)(_p7##x,_p6##y,z,c)), \
+ (I[82] = (T)(img)(_p7##x,_p5##y,z,c)), \
+ (I[102] = (T)(img)(_p7##x,_p4##y,z,c)), \
+ (I[122] = (T)(img)(_p7##x,_p3##y,z,c)), \
+ (I[142] = (T)(img)(_p7##x,_p2##y,z,c)), \
+ (I[162] = (T)(img)(_p7##x,_p1##y,z,c)), \
+ (I[182] = (T)(img)(_p7##x,y,z,c)), \
+ (I[202] = (T)(img)(_p7##x,_n1##y,z,c)), \
+ (I[222] = (T)(img)(_p7##x,_n2##y,z,c)), \
+ (I[242] = (T)(img)(_p7##x,_n3##y,z,c)), \
+ (I[262] = (T)(img)(_p7##x,_n4##y,z,c)), \
+ (I[282] = (T)(img)(_p7##x,_n5##y,z,c)), \
+ (I[302] = (T)(img)(_p7##x,_n6##y,z,c)), \
+ (I[322] = (T)(img)(_p7##x,_n7##y,z,c)), \
+ (I[342] = (T)(img)(_p7##x,_n8##y,z,c)), \
+ (I[362] = (T)(img)(_p7##x,_n9##y,z,c)), \
+ (I[382] = (T)(img)(_p7##x,_n10##y,z,c)), \
+ (I[3] = (T)(img)(_p6##x,_p9##y,z,c)), \
+ (I[23] = (T)(img)(_p6##x,_p8##y,z,c)), \
+ (I[43] = (T)(img)(_p6##x,_p7##y,z,c)), \
+ (I[63] = (T)(img)(_p6##x,_p6##y,z,c)), \
+ (I[83] = (T)(img)(_p6##x,_p5##y,z,c)), \
+ (I[103] = (T)(img)(_p6##x,_p4##y,z,c)), \
+ (I[123] = (T)(img)(_p6##x,_p3##y,z,c)), \
+ (I[143] = (T)(img)(_p6##x,_p2##y,z,c)), \
+ (I[163] = (T)(img)(_p6##x,_p1##y,z,c)), \
+ (I[183] = (T)(img)(_p6##x,y,z,c)), \
+ (I[203] = (T)(img)(_p6##x,_n1##y,z,c)), \
+ (I[223] = (T)(img)(_p6##x,_n2##y,z,c)), \
+ (I[243] = (T)(img)(_p6##x,_n3##y,z,c)), \
+ (I[263] = (T)(img)(_p6##x,_n4##y,z,c)), \
+ (I[283] = (T)(img)(_p6##x,_n5##y,z,c)), \
+ (I[303] = (T)(img)(_p6##x,_n6##y,z,c)), \
+ (I[323] = (T)(img)(_p6##x,_n7##y,z,c)), \
+ (I[343] = (T)(img)(_p6##x,_n8##y,z,c)), \
+ (I[363] = (T)(img)(_p6##x,_n9##y,z,c)), \
+ (I[383] = (T)(img)(_p6##x,_n10##y,z,c)), \
+ (I[4] = (T)(img)(_p5##x,_p9##y,z,c)), \
+ (I[24] = (T)(img)(_p5##x,_p8##y,z,c)), \
+ (I[44] = (T)(img)(_p5##x,_p7##y,z,c)), \
+ (I[64] = (T)(img)(_p5##x,_p6##y,z,c)), \
+ (I[84] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[104] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[124] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[144] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[164] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[184] = (T)(img)(_p5##x,y,z,c)), \
+ (I[204] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[224] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[244] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[264] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[284] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[304] = (T)(img)(_p5##x,_n6##y,z,c)), \
+ (I[324] = (T)(img)(_p5##x,_n7##y,z,c)), \
+ (I[344] = (T)(img)(_p5##x,_n8##y,z,c)), \
+ (I[364] = (T)(img)(_p5##x,_n9##y,z,c)), \
+ (I[384] = (T)(img)(_p5##x,_n10##y,z,c)), \
+ (I[5] = (T)(img)(_p4##x,_p9##y,z,c)), \
+ (I[25] = (T)(img)(_p4##x,_p8##y,z,c)), \
+ (I[45] = (T)(img)(_p4##x,_p7##y,z,c)), \
+ (I[65] = (T)(img)(_p4##x,_p6##y,z,c)), \
+ (I[85] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[105] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[125] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[145] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[165] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[185] = (T)(img)(_p4##x,y,z,c)), \
+ (I[205] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[225] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[245] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[265] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[285] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[305] = (T)(img)(_p4##x,_n6##y,z,c)), \
+ (I[325] = (T)(img)(_p4##x,_n7##y,z,c)), \
+ (I[345] = (T)(img)(_p4##x,_n8##y,z,c)), \
+ (I[365] = (T)(img)(_p4##x,_n9##y,z,c)), \
+ (I[385] = (T)(img)(_p4##x,_n10##y,z,c)), \
+ (I[6] = (T)(img)(_p3##x,_p9##y,z,c)), \
+ (I[26] = (T)(img)(_p3##x,_p8##y,z,c)), \
+ (I[46] = (T)(img)(_p3##x,_p7##y,z,c)), \
+ (I[66] = (T)(img)(_p3##x,_p6##y,z,c)), \
+ (I[86] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[106] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[126] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[146] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[166] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[186] = (T)(img)(_p3##x,y,z,c)), \
+ (I[206] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[226] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[246] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[266] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[286] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[306] = (T)(img)(_p3##x,_n6##y,z,c)), \
+ (I[326] = (T)(img)(_p3##x,_n7##y,z,c)), \
+ (I[346] = (T)(img)(_p3##x,_n8##y,z,c)), \
+ (I[366] = (T)(img)(_p3##x,_n9##y,z,c)), \
+ (I[386] = (T)(img)(_p3##x,_n10##y,z,c)), \
+ (I[7] = (T)(img)(_p2##x,_p9##y,z,c)), \
+ (I[27] = (T)(img)(_p2##x,_p8##y,z,c)), \
+ (I[47] = (T)(img)(_p2##x,_p7##y,z,c)), \
+ (I[67] = (T)(img)(_p2##x,_p6##y,z,c)), \
+ (I[87] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[107] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[127] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[147] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[167] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[187] = (T)(img)(_p2##x,y,z,c)), \
+ (I[207] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[227] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[247] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[267] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[287] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[307] = (T)(img)(_p2##x,_n6##y,z,c)), \
+ (I[327] = (T)(img)(_p2##x,_n7##y,z,c)), \
+ (I[347] = (T)(img)(_p2##x,_n8##y,z,c)), \
+ (I[367] = (T)(img)(_p2##x,_n9##y,z,c)), \
+ (I[387] = (T)(img)(_p2##x,_n10##y,z,c)), \
+ (I[8] = (T)(img)(_p1##x,_p9##y,z,c)), \
+ (I[28] = (T)(img)(_p1##x,_p8##y,z,c)), \
+ (I[48] = (T)(img)(_p1##x,_p7##y,z,c)), \
+ (I[68] = (T)(img)(_p1##x,_p6##y,z,c)), \
+ (I[88] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[108] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[128] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[148] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[168] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[188] = (T)(img)(_p1##x,y,z,c)), \
+ (I[208] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[228] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[248] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[268] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[288] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[308] = (T)(img)(_p1##x,_n6##y,z,c)), \
+ (I[328] = (T)(img)(_p1##x,_n7##y,z,c)), \
+ (I[348] = (T)(img)(_p1##x,_n8##y,z,c)), \
+ (I[368] = (T)(img)(_p1##x,_n9##y,z,c)), \
+ (I[388] = (T)(img)(_p1##x,_n10##y,z,c)), \
+ (I[9] = (T)(img)(x,_p9##y,z,c)), \
+ (I[29] = (T)(img)(x,_p8##y,z,c)), \
+ (I[49] = (T)(img)(x,_p7##y,z,c)), \
+ (I[69] = (T)(img)(x,_p6##y,z,c)), \
+ (I[89] = (T)(img)(x,_p5##y,z,c)), \
+ (I[109] = (T)(img)(x,_p4##y,z,c)), \
+ (I[129] = (T)(img)(x,_p3##y,z,c)), \
+ (I[149] = (T)(img)(x,_p2##y,z,c)), \
+ (I[169] = (T)(img)(x,_p1##y,z,c)), \
+ (I[189] = (T)(img)(x,y,z,c)), \
+ (I[209] = (T)(img)(x,_n1##y,z,c)), \
+ (I[229] = (T)(img)(x,_n2##y,z,c)), \
+ (I[249] = (T)(img)(x,_n3##y,z,c)), \
+ (I[269] = (T)(img)(x,_n4##y,z,c)), \
+ (I[289] = (T)(img)(x,_n5##y,z,c)), \
+ (I[309] = (T)(img)(x,_n6##y,z,c)), \
+ (I[329] = (T)(img)(x,_n7##y,z,c)), \
+ (I[349] = (T)(img)(x,_n8##y,z,c)), \
+ (I[369] = (T)(img)(x,_n9##y,z,c)), \
+ (I[389] = (T)(img)(x,_n10##y,z,c)), \
+ (I[10] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[30] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[50] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[70] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[90] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[110] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[130] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[150] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[170] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[190] = (T)(img)(_n1##x,y,z,c)), \
+ (I[210] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[230] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[250] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[270] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[290] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[310] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[330] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[350] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[370] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[390] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[11] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[31] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[51] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[71] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[91] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[111] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[131] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[151] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[171] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[191] = (T)(img)(_n2##x,y,z,c)), \
+ (I[211] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[231] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[251] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[271] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[291] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[311] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[331] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[351] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[371] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[391] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[12] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[32] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[52] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[72] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[92] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[112] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[132] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[152] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[172] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[192] = (T)(img)(_n3##x,y,z,c)), \
+ (I[212] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[232] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[252] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[272] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[292] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[312] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[332] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[352] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[372] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[392] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[13] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[33] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[53] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[73] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[93] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[113] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[133] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[153] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[173] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[193] = (T)(img)(_n4##x,y,z,c)), \
+ (I[213] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[233] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[253] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[273] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[293] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[313] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[333] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[353] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[373] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[393] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[14] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[34] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[54] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[74] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[94] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[114] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[134] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[154] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[174] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[194] = (T)(img)(_n5##x,y,z,c)), \
+ (I[214] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[234] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[254] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[274] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[294] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[314] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[334] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[354] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[374] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[394] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[15] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[35] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[55] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[75] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[95] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[115] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[135] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[155] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[175] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[195] = (T)(img)(_n6##x,y,z,c)), \
+ (I[215] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[235] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[255] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[275] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[295] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[315] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[335] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[355] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[375] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[395] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[16] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[36] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[56] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[76] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[96] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[116] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[136] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[156] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[176] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[196] = (T)(img)(_n7##x,y,z,c)), \
+ (I[216] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[236] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[256] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[276] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[296] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[316] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[336] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[356] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[376] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[396] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[17] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[37] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[57] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[77] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[97] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[117] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[137] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[157] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[177] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[197] = (T)(img)(_n8##x,y,z,c)), \
+ (I[217] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[237] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[257] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[277] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[297] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[317] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[337] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[357] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[377] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[397] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[18] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[38] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[58] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[78] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[98] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[118] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[138] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[158] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[178] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[198] = (T)(img)(_n9##x,y,z,c)), \
+ (I[218] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[238] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[258] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[278] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[298] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[318] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[338] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[358] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[378] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[398] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ x + 10>=(img).width()?(img).width() - 1:x + 10); \
+ x<=(int)(x1) && ((_n10##x<(img).width() && ( \
+ (I[19] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[39] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[59] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[79] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[99] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[119] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[139] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[159] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[179] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[199] = (T)(img)(_n10##x,y,z,c)), \
+ (I[219] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[239] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[259] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[279] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[299] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[319] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[339] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[359] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[379] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[399] = (T)(img)(_n10##x,_n10##y,z,c)),1)) || \
+ _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], \
+ I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], \
+ I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], \
+ I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], \
+ I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], \
+ I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], \
+ I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], \
+ I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], \
+ I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], \
+ I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], \
+ I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], \
+ I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], \
+ I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], \
+ I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], \
+ I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], \
+ I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], \
+ I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], I[337] = I[338], I[338] = I[339], \
+ I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], \
+ I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], I[376] = I[377], I[377] = I[378], I[378] = I[379], \
+ I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], \
+ _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x)
+
+#define cimg_get20x20(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p9##x,_p9##y,z,c), I[1] = (T)(img)(_p8##x,_p9##y,z,c), I[2] = (T)(img)(_p7##x,_p9##y,z,c), I[3] = (T)(img)(_p6##x,_p9##y,z,c), I[4] = (T)(img)(_p5##x,_p9##y,z,c), I[5] = (T)(img)(_p4##x,_p9##y,z,c), I[6] = (T)(img)(_p3##x,_p9##y,z,c), I[7] = (T)(img)(_p2##x,_p9##y,z,c), I[8] = (T)(img)(_p1##x,_p9##y,z,c), I[9] = (T)(img)(x,_p9##y,z,c), I[10] = (T)(img)(_n1##x,_p9##y,z,c), I[11] = (T)(img)(_n2##x,_p9##y,z,c), I[12] = (T)(img)(_n3##x,_p9##y,z,c), I[13] = (T)(img)(_n4##x,_ [...]
+ I[20] = (T)(img)(_p9##x,_p8##y,z,c), I[21] = (T)(img)(_p8##x,_p8##y,z,c), I[22] = (T)(img)(_p7##x,_p8##y,z,c), I[23] = (T)(img)(_p6##x,_p8##y,z,c), I[24] = (T)(img)(_p5##x,_p8##y,z,c), I[25] = (T)(img)(_p4##x,_p8##y,z,c), I[26] = (T)(img)(_p3##x,_p8##y,z,c), I[27] = (T)(img)(_p2##x,_p8##y,z,c), I[28] = (T)(img)(_p1##x,_p8##y,z,c), I[29] = (T)(img)(x,_p8##y,z,c), I[30] = (T)(img)(_n1##x,_p8##y,z,c), I[31] = (T)(img)(_n2##x,_p8##y,z,c), I[32] = (T)(img)(_n3##x,_p8##y,z,c), I[33] = (T)(img [...]
+ I[40] = (T)(img)(_p9##x,_p7##y,z,c), I[41] = (T)(img)(_p8##x,_p7##y,z,c), I[42] = (T)(img)(_p7##x,_p7##y,z,c), I[43] = (T)(img)(_p6##x,_p7##y,z,c), I[44] = (T)(img)(_p5##x,_p7##y,z,c), I[45] = (T)(img)(_p4##x,_p7##y,z,c), I[46] = (T)(img)(_p3##x,_p7##y,z,c), I[47] = (T)(img)(_p2##x,_p7##y,z,c), I[48] = (T)(img)(_p1##x,_p7##y,z,c), I[49] = (T)(img)(x,_p7##y,z,c), I[50] = (T)(img)(_n1##x,_p7##y,z,c), I[51] = (T)(img)(_n2##x,_p7##y,z,c), I[52] = (T)(img)(_n3##x,_p7##y,z,c), I[53] = (T)(img [...]
+ I[60] = (T)(img)(_p9##x,_p6##y,z,c), I[61] = (T)(img)(_p8##x,_p6##y,z,c), I[62] = (T)(img)(_p7##x,_p6##y,z,c), I[63] = (T)(img)(_p6##x,_p6##y,z,c), I[64] = (T)(img)(_p5##x,_p6##y,z,c), I[65] = (T)(img)(_p4##x,_p6##y,z,c), I[66] = (T)(img)(_p3##x,_p6##y,z,c), I[67] = (T)(img)(_p2##x,_p6##y,z,c), I[68] = (T)(img)(_p1##x,_p6##y,z,c), I[69] = (T)(img)(x,_p6##y,z,c), I[70] = (T)(img)(_n1##x,_p6##y,z,c), I[71] = (T)(img)(_n2##x,_p6##y,z,c), I[72] = (T)(img)(_n3##x,_p6##y,z,c), I[73] = (T)(img [...]
+ I[80] = (T)(img)(_p9##x,_p5##y,z,c), I[81] = (T)(img)(_p8##x,_p5##y,z,c), I[82] = (T)(img)(_p7##x,_p5##y,z,c), I[83] = (T)(img)(_p6##x,_p5##y,z,c), I[84] = (T)(img)(_p5##x,_p5##y,z,c), I[85] = (T)(img)(_p4##x,_p5##y,z,c), I[86] = (T)(img)(_p3##x,_p5##y,z,c), I[87] = (T)(img)(_p2##x,_p5##y,z,c), I[88] = (T)(img)(_p1##x,_p5##y,z,c), I[89] = (T)(img)(x,_p5##y,z,c), I[90] = (T)(img)(_n1##x,_p5##y,z,c), I[91] = (T)(img)(_n2##x,_p5##y,z,c), I[92] = (T)(img)(_n3##x,_p5##y,z,c), I[93] = (T)(img [...]
+ I[100] = (T)(img)(_p9##x,_p4##y,z,c), I[101] = (T)(img)(_p8##x,_p4##y,z,c), I[102] = (T)(img)(_p7##x,_p4##y,z,c), I[103] = (T)(img)(_p6##x,_p4##y,z,c), I[104] = (T)(img)(_p5##x,_p4##y,z,c), I[105] = (T)(img)(_p4##x,_p4##y,z,c), I[106] = (T)(img)(_p3##x,_p4##y,z,c), I[107] = (T)(img)(_p2##x,_p4##y,z,c), I[108] = (T)(img)(_p1##x,_p4##y,z,c), I[109] = (T)(img)(x,_p4##y,z,c), I[110] = (T)(img)(_n1##x,_p4##y,z,c), I[111] = (T)(img)(_n2##x,_p4##y,z,c), I[112] = (T)(img)(_n3##x,_p4##y,z,c), I[ [...]
+ I[120] = (T)(img)(_p9##x,_p3##y,z,c), I[121] = (T)(img)(_p8##x,_p3##y,z,c), I[122] = (T)(img)(_p7##x,_p3##y,z,c), I[123] = (T)(img)(_p6##x,_p3##y,z,c), I[124] = (T)(img)(_p5##x,_p3##y,z,c), I[125] = (T)(img)(_p4##x,_p3##y,z,c), I[126] = (T)(img)(_p3##x,_p3##y,z,c), I[127] = (T)(img)(_p2##x,_p3##y,z,c), I[128] = (T)(img)(_p1##x,_p3##y,z,c), I[129] = (T)(img)(x,_p3##y,z,c), I[130] = (T)(img)(_n1##x,_p3##y,z,c), I[131] = (T)(img)(_n2##x,_p3##y,z,c), I[132] = (T)(img)(_n3##x,_p3##y,z,c), I[ [...]
+ I[140] = (T)(img)(_p9##x,_p2##y,z,c), I[141] = (T)(img)(_p8##x,_p2##y,z,c), I[142] = (T)(img)(_p7##x,_p2##y,z,c), I[143] = (T)(img)(_p6##x,_p2##y,z,c), I[144] = (T)(img)(_p5##x,_p2##y,z,c), I[145] = (T)(img)(_p4##x,_p2##y,z,c), I[146] = (T)(img)(_p3##x,_p2##y,z,c), I[147] = (T)(img)(_p2##x,_p2##y,z,c), I[148] = (T)(img)(_p1##x,_p2##y,z,c), I[149] = (T)(img)(x,_p2##y,z,c), I[150] = (T)(img)(_n1##x,_p2##y,z,c), I[151] = (T)(img)(_n2##x,_p2##y,z,c), I[152] = (T)(img)(_n3##x,_p2##y,z,c), I[ [...]
+ I[160] = (T)(img)(_p9##x,_p1##y,z,c), I[161] = (T)(img)(_p8##x,_p1##y,z,c), I[162] = (T)(img)(_p7##x,_p1##y,z,c), I[163] = (T)(img)(_p6##x,_p1##y,z,c), I[164] = (T)(img)(_p5##x,_p1##y,z,c), I[165] = (T)(img)(_p4##x,_p1##y,z,c), I[166] = (T)(img)(_p3##x,_p1##y,z,c), I[167] = (T)(img)(_p2##x,_p1##y,z,c), I[168] = (T)(img)(_p1##x,_p1##y,z,c), I[169] = (T)(img)(x,_p1##y,z,c), I[170] = (T)(img)(_n1##x,_p1##y,z,c), I[171] = (T)(img)(_n2##x,_p1##y,z,c), I[172] = (T)(img)(_n3##x,_p1##y,z,c), I[ [...]
+ I[180] = (T)(img)(_p9##x,y,z,c), I[181] = (T)(img)(_p8##x,y,z,c), I[182] = (T)(img)(_p7##x,y,z,c), I[183] = (T)(img)(_p6##x,y,z,c), I[184] = (T)(img)(_p5##x,y,z,c), I[185] = (T)(img)(_p4##x,y,z,c), I[186] = (T)(img)(_p3##x,y,z,c), I[187] = (T)(img)(_p2##x,y,z,c), I[188] = (T)(img)(_p1##x,y,z,c), I[189] = (T)(img)(x,y,z,c), I[190] = (T)(img)(_n1##x,y,z,c), I[191] = (T)(img)(_n2##x,y,z,c), I[192] = (T)(img)(_n3##x,y,z,c), I[193] = (T)(img)(_n4##x,y,z,c), I[194] = (T)(img)(_n5##x,y,z,c), I [...]
+ I[200] = (T)(img)(_p9##x,_n1##y,z,c), I[201] = (T)(img)(_p8##x,_n1##y,z,c), I[202] = (T)(img)(_p7##x,_n1##y,z,c), I[203] = (T)(img)(_p6##x,_n1##y,z,c), I[204] = (T)(img)(_p5##x,_n1##y,z,c), I[205] = (T)(img)(_p4##x,_n1##y,z,c), I[206] = (T)(img)(_p3##x,_n1##y,z,c), I[207] = (T)(img)(_p2##x,_n1##y,z,c), I[208] = (T)(img)(_p1##x,_n1##y,z,c), I[209] = (T)(img)(x,_n1##y,z,c), I[210] = (T)(img)(_n1##x,_n1##y,z,c), I[211] = (T)(img)(_n2##x,_n1##y,z,c), I[212] = (T)(img)(_n3##x,_n1##y,z,c), I[ [...]
+ I[220] = (T)(img)(_p9##x,_n2##y,z,c), I[221] = (T)(img)(_p8##x,_n2##y,z,c), I[222] = (T)(img)(_p7##x,_n2##y,z,c), I[223] = (T)(img)(_p6##x,_n2##y,z,c), I[224] = (T)(img)(_p5##x,_n2##y,z,c), I[225] = (T)(img)(_p4##x,_n2##y,z,c), I[226] = (T)(img)(_p3##x,_n2##y,z,c), I[227] = (T)(img)(_p2##x,_n2##y,z,c), I[228] = (T)(img)(_p1##x,_n2##y,z,c), I[229] = (T)(img)(x,_n2##y,z,c), I[230] = (T)(img)(_n1##x,_n2##y,z,c), I[231] = (T)(img)(_n2##x,_n2##y,z,c), I[232] = (T)(img)(_n3##x,_n2##y,z,c), I[ [...]
+ I[240] = (T)(img)(_p9##x,_n3##y,z,c), I[241] = (T)(img)(_p8##x,_n3##y,z,c), I[242] = (T)(img)(_p7##x,_n3##y,z,c), I[243] = (T)(img)(_p6##x,_n3##y,z,c), I[244] = (T)(img)(_p5##x,_n3##y,z,c), I[245] = (T)(img)(_p4##x,_n3##y,z,c), I[246] = (T)(img)(_p3##x,_n3##y,z,c), I[247] = (T)(img)(_p2##x,_n3##y,z,c), I[248] = (T)(img)(_p1##x,_n3##y,z,c), I[249] = (T)(img)(x,_n3##y,z,c), I[250] = (T)(img)(_n1##x,_n3##y,z,c), I[251] = (T)(img)(_n2##x,_n3##y,z,c), I[252] = (T)(img)(_n3##x,_n3##y,z,c), I[ [...]
+ I[260] = (T)(img)(_p9##x,_n4##y,z,c), I[261] = (T)(img)(_p8##x,_n4##y,z,c), I[262] = (T)(img)(_p7##x,_n4##y,z,c), I[263] = (T)(img)(_p6##x,_n4##y,z,c), I[264] = (T)(img)(_p5##x,_n4##y,z,c), I[265] = (T)(img)(_p4##x,_n4##y,z,c), I[266] = (T)(img)(_p3##x,_n4##y,z,c), I[267] = (T)(img)(_p2##x,_n4##y,z,c), I[268] = (T)(img)(_p1##x,_n4##y,z,c), I[269] = (T)(img)(x,_n4##y,z,c), I[270] = (T)(img)(_n1##x,_n4##y,z,c), I[271] = (T)(img)(_n2##x,_n4##y,z,c), I[272] = (T)(img)(_n3##x,_n4##y,z,c), I[ [...]
+ I[280] = (T)(img)(_p9##x,_n5##y,z,c), I[281] = (T)(img)(_p8##x,_n5##y,z,c), I[282] = (T)(img)(_p7##x,_n5##y,z,c), I[283] = (T)(img)(_p6##x,_n5##y,z,c), I[284] = (T)(img)(_p5##x,_n5##y,z,c), I[285] = (T)(img)(_p4##x,_n5##y,z,c), I[286] = (T)(img)(_p3##x,_n5##y,z,c), I[287] = (T)(img)(_p2##x,_n5##y,z,c), I[288] = (T)(img)(_p1##x,_n5##y,z,c), I[289] = (T)(img)(x,_n5##y,z,c), I[290] = (T)(img)(_n1##x,_n5##y,z,c), I[291] = (T)(img)(_n2##x,_n5##y,z,c), I[292] = (T)(img)(_n3##x,_n5##y,z,c), I[ [...]
+ I[300] = (T)(img)(_p9##x,_n6##y,z,c), I[301] = (T)(img)(_p8##x,_n6##y,z,c), I[302] = (T)(img)(_p7##x,_n6##y,z,c), I[303] = (T)(img)(_p6##x,_n6##y,z,c), I[304] = (T)(img)(_p5##x,_n6##y,z,c), I[305] = (T)(img)(_p4##x,_n6##y,z,c), I[306] = (T)(img)(_p3##x,_n6##y,z,c), I[307] = (T)(img)(_p2##x,_n6##y,z,c), I[308] = (T)(img)(_p1##x,_n6##y,z,c), I[309] = (T)(img)(x,_n6##y,z,c), I[310] = (T)(img)(_n1##x,_n6##y,z,c), I[311] = (T)(img)(_n2##x,_n6##y,z,c), I[312] = (T)(img)(_n3##x,_n6##y,z,c), I[ [...]
+ I[320] = (T)(img)(_p9##x,_n7##y,z,c), I[321] = (T)(img)(_p8##x,_n7##y,z,c), I[322] = (T)(img)(_p7##x,_n7##y,z,c), I[323] = (T)(img)(_p6##x,_n7##y,z,c), I[324] = (T)(img)(_p5##x,_n7##y,z,c), I[325] = (T)(img)(_p4##x,_n7##y,z,c), I[326] = (T)(img)(_p3##x,_n7##y,z,c), I[327] = (T)(img)(_p2##x,_n7##y,z,c), I[328] = (T)(img)(_p1##x,_n7##y,z,c), I[329] = (T)(img)(x,_n7##y,z,c), I[330] = (T)(img)(_n1##x,_n7##y,z,c), I[331] = (T)(img)(_n2##x,_n7##y,z,c), I[332] = (T)(img)(_n3##x,_n7##y,z,c), I[ [...]
+ I[340] = (T)(img)(_p9##x,_n8##y,z,c), I[341] = (T)(img)(_p8##x,_n8##y,z,c), I[342] = (T)(img)(_p7##x,_n8##y,z,c), I[343] = (T)(img)(_p6##x,_n8##y,z,c), I[344] = (T)(img)(_p5##x,_n8##y,z,c), I[345] = (T)(img)(_p4##x,_n8##y,z,c), I[346] = (T)(img)(_p3##x,_n8##y,z,c), I[347] = (T)(img)(_p2##x,_n8##y,z,c), I[348] = (T)(img)(_p1##x,_n8##y,z,c), I[349] = (T)(img)(x,_n8##y,z,c), I[350] = (T)(img)(_n1##x,_n8##y,z,c), I[351] = (T)(img)(_n2##x,_n8##y,z,c), I[352] = (T)(img)(_n3##x,_n8##y,z,c), I[ [...]
+ I[360] = (T)(img)(_p9##x,_n9##y,z,c), I[361] = (T)(img)(_p8##x,_n9##y,z,c), I[362] = (T)(img)(_p7##x,_n9##y,z,c), I[363] = (T)(img)(_p6##x,_n9##y,z,c), I[364] = (T)(img)(_p5##x,_n9##y,z,c), I[365] = (T)(img)(_p4##x,_n9##y,z,c), I[366] = (T)(img)(_p3##x,_n9##y,z,c), I[367] = (T)(img)(_p2##x,_n9##y,z,c), I[368] = (T)(img)(_p1##x,_n9##y,z,c), I[369] = (T)(img)(x,_n9##y,z,c), I[370] = (T)(img)(_n1##x,_n9##y,z,c), I[371] = (T)(img)(_n2##x,_n9##y,z,c), I[372] = (T)(img)(_n3##x,_n9##y,z,c), I[ [...]
+ I[380] = (T)(img)(_p9##x,_n10##y,z,c), I[381] = (T)(img)(_p8##x,_n10##y,z,c), I[382] = (T)(img)(_p7##x,_n10##y,z,c), I[383] = (T)(img)(_p6##x,_n10##y,z,c), I[384] = (T)(img)(_p5##x,_n10##y,z,c), I[385] = (T)(img)(_p4##x,_n10##y,z,c), I[386] = (T)(img)(_p3##x,_n10##y,z,c), I[387] = (T)(img)(_p2##x,_n10##y,z,c), I[388] = (T)(img)(_p1##x,_n10##y,z,c), I[389] = (T)(img)(x,_n10##y,z,c), I[390] = (T)(img)(_n1##x,_n10##y,z,c), I[391] = (T)(img)(_n2##x,_n10##y,z,c), I[392] = (T)(img)(_n3##x,_n1 [...]
+
+// Define 21x21 loop macros
+//-------------------------
+#define cimg_for21(bound,i) for (int i = 0, \
+ _p10##i = 0, _p9##i = 0, _p8##i = 0, _p7##i = 0, _p6##i = 0, _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5, \
+ _n6##i = 6>=(int)(bound)?(int)(bound) - 1:6, \
+ _n7##i = 7>=(int)(bound)?(int)(bound) - 1:7, \
+ _n8##i = 8>=(int)(bound)?(int)(bound) - 1:8, \
+ _n9##i = 9>=(int)(bound)?(int)(bound) - 1:9, \
+ _n10##i = 10>=(int)(bound)?(int)(bound) - 1:10; \
+ _n10##i<(int)(bound) || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i)
+
+#define cimg_for21X(img,x) cimg_for21((img)._width,x)
+#define cimg_for21Y(img,y) cimg_for21((img)._height,y)
+#define cimg_for21Z(img,z) cimg_for21((img)._depth,z)
+#define cimg_for21C(img,c) cimg_for21((img)._spectrum,c)
+#define cimg_for21XY(img,x,y) cimg_for21Y(img,y) cimg_for21X(img,x)
+#define cimg_for21XZ(img,x,z) cimg_for21Z(img,z) cimg_for21X(img,x)
+#define cimg_for21XC(img,x,c) cimg_for21C(img,c) cimg_for21X(img,x)
+#define cimg_for21YZ(img,y,z) cimg_for21Z(img,z) cimg_for21Y(img,y)
+#define cimg_for21YC(img,y,c) cimg_for21C(img,c) cimg_for21Y(img,y)
+#define cimg_for21ZC(img,z,c) cimg_for21C(img,c) cimg_for21Z(img,z)
+#define cimg_for21XYZ(img,x,y,z) cimg_for21Z(img,z) cimg_for21XY(img,x,y)
+#define cimg_for21XZC(img,x,z,c) cimg_for21C(img,c) cimg_for21XZ(img,x,z)
+#define cimg_for21YZC(img,y,z,c) cimg_for21C(img,c) cimg_for21YZ(img,y,z)
+#define cimg_for21XYZC(img,x,y,z,c) cimg_for21C(img,c) cimg_for21XYZ(img,x,y,z)
+
+#define cimg_for_in21(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p10##i = i - 10<0?0:i - 10, \
+ _p9##i = i - 9<0?0:i - 9, \
+ _p8##i = i - 8<0?0:i - 8, \
+ _p7##i = i - 7<0?0:i - 7, \
+ _p6##i = i - 6<0?0:i - 6, \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5, \
+ _n6##i = i + 6>=(int)(bound)?(int)(bound) - 1:i + 6, \
+ _n7##i = i + 7>=(int)(bound)?(int)(bound) - 1:i + 7, \
+ _n8##i = i + 8>=(int)(bound)?(int)(bound) - 1:i + 8, \
+ _n9##i = i + 9>=(int)(bound)?(int)(bound) - 1:i + 9, \
+ _n10##i = i + 10>=(int)(bound)?(int)(bound) - 1:i + 10; \
+ i<=(int)(i1) && (_n10##i<(int)(bound) || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i)
+
+#define cimg_for_in21X(img,x0,x1,x) cimg_for_in21((img)._width,x0,x1,x)
+#define cimg_for_in21Y(img,y0,y1,y) cimg_for_in21((img)._height,y0,y1,y)
+#define cimg_for_in21Z(img,z0,z1,z) cimg_for_in21((img)._depth,z0,z1,z)
+#define cimg_for_in21C(img,c0,c1,c) cimg_for_in21((img)._spectrum,c0,c1,c)
+#define cimg_for_in21XY(img,x0,y0,x1,y1,x,y) cimg_for_in21Y(img,y0,y1,y) cimg_for_in21X(img,x0,x1,x)
+#define cimg_for_in21XZ(img,x0,z0,x1,z1,x,z) cimg_for_in21Z(img,z0,z1,z) cimg_for_in21X(img,x0,x1,x)
+#define cimg_for_in21XC(img,x0,c0,x1,c1,x,c) cimg_for_in21C(img,c0,c1,c) cimg_for_in21X(img,x0,x1,x)
+#define cimg_for_in21YZ(img,y0,z0,y1,z1,y,z) cimg_for_in21Z(img,z0,z1,z) cimg_for_in21Y(img,y0,y1,y)
+#define cimg_for_in21YC(img,y0,c0,y1,c1,y,c) cimg_for_in21C(img,c0,c1,c) cimg_for_in21Y(img,y0,y1,y)
+#define cimg_for_in21ZC(img,z0,c0,z1,c1,z,c) cimg_for_in21C(img,c0,c1,c) cimg_for_in21Z(img,z0,z1,z)
+#define cimg_for_in21XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in21Z(img,z0,z1,z) cimg_for_in21XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in21XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in21C(img,c0,c1,c) cimg_for_in21XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in21YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in21C(img,c0,c1,c) cimg_for_in21YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in21XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in21C(img,c0,c1,c) cimg_for_in21XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for21x21(img,x,y,z,c,I,T) \
+ cimg_for21((img)._height,y) for (int x = 0, \
+ _p10##x = 0, _p9##x = 0, _p8##x = 0, _p7##x = 0, _p6##x = 0, _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = 5>=((img)._width)?(img).width() - 1:5, \
+ _n6##x = 6>=((img)._width)?(img).width() - 1:6, \
+ _n7##x = 7>=((img)._width)?(img).width() - 1:7, \
+ _n8##x = 8>=((img)._width)?(img).width() - 1:8, \
+ _n9##x = 9>=((img)._width)?(img).width() - 1:9, \
+ _n10##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = I[6] = I[7] = I[8] = I[9] = I[10] = (T)(img)(0,_p10##y,z,c)), \
+ (I[21] = I[22] = I[23] = I[24] = I[25] = I[26] = I[27] = I[28] = I[29] = I[30] = I[31] = (T)(img)(0,_p9##y,z,c)), \
+ (I[42] = I[43] = I[44] = I[45] = I[46] = I[47] = I[48] = I[49] = I[50] = I[51] = I[52] = (T)(img)(0,_p8##y,z,c)), \
+ (I[63] = I[64] = I[65] = I[66] = I[67] = I[68] = I[69] = I[70] = I[71] = I[72] = I[73] = (T)(img)(0,_p7##y,z,c)), \
+ (I[84] = I[85] = I[86] = I[87] = I[88] = I[89] = I[90] = I[91] = I[92] = I[93] = I[94] = (T)(img)(0,_p6##y,z,c)), \
+ (I[105] = I[106] = I[107] = I[108] = I[109] = I[110] = I[111] = I[112] = I[113] = I[114] = I[115] = (T)(img)(0,_p5##y,z,c)), \
+ (I[126] = I[127] = I[128] = I[129] = I[130] = I[131] = I[132] = I[133] = I[134] = I[135] = I[136] = (T)(img)(0,_p4##y,z,c)), \
+ (I[147] = I[148] = I[149] = I[150] = I[151] = I[152] = I[153] = I[154] = I[155] = I[156] = I[157] = (T)(img)(0,_p3##y,z,c)), \
+ (I[168] = I[169] = I[170] = I[171] = I[172] = I[173] = I[174] = I[175] = I[176] = I[177] = I[178] = (T)(img)(0,_p2##y,z,c)), \
+ (I[189] = I[190] = I[191] = I[192] = I[193] = I[194] = I[195] = I[196] = I[197] = I[198] = I[199] = (T)(img)(0,_p1##y,z,c)), \
+ (I[210] = I[211] = I[212] = I[213] = I[214] = I[215] = I[216] = I[217] = I[218] = I[219] = I[220] = (T)(img)(0,y,z,c)), \
+ (I[231] = I[232] = I[233] = I[234] = I[235] = I[236] = I[237] = I[238] = I[239] = I[240] = I[241] = (T)(img)(0,_n1##y,z,c)), \
+ (I[252] = I[253] = I[254] = I[255] = I[256] = I[257] = I[258] = I[259] = I[260] = I[261] = I[262] = (T)(img)(0,_n2##y,z,c)), \
+ (I[273] = I[274] = I[275] = I[276] = I[277] = I[278] = I[279] = I[280] = I[281] = I[282] = I[283] = (T)(img)(0,_n3##y,z,c)), \
+ (I[294] = I[295] = I[296] = I[297] = I[298] = I[299] = I[300] = I[301] = I[302] = I[303] = I[304] = (T)(img)(0,_n4##y,z,c)), \
+ (I[315] = I[316] = I[317] = I[318] = I[319] = I[320] = I[321] = I[322] = I[323] = I[324] = I[325] = (T)(img)(0,_n5##y,z,c)), \
+ (I[336] = I[337] = I[338] = I[339] = I[340] = I[341] = I[342] = I[343] = I[344] = I[345] = I[346] = (T)(img)(0,_n6##y,z,c)), \
+ (I[357] = I[358] = I[359] = I[360] = I[361] = I[362] = I[363] = I[364] = I[365] = I[366] = I[367] = (T)(img)(0,_n7##y,z,c)), \
+ (I[378] = I[379] = I[380] = I[381] = I[382] = I[383] = I[384] = I[385] = I[386] = I[387] = I[388] = (T)(img)(0,_n8##y,z,c)), \
+ (I[399] = I[400] = I[401] = I[402] = I[403] = I[404] = I[405] = I[406] = I[407] = I[408] = I[409] = (T)(img)(0,_n9##y,z,c)), \
+ (I[420] = I[421] = I[422] = I[423] = I[424] = I[425] = I[426] = I[427] = I[428] = I[429] = I[430] = (T)(img)(0,_n10##y,z,c)), \
+ (I[11] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[32] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[53] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[74] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[95] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[116] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[137] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[158] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[179] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[200] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[221] = (T)(img)(_n1##x,y,z,c)), \
+ (I[242] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[263] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[284] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[305] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[326] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[347] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[368] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[389] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[410] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[431] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[12] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[33] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[54] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[75] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[96] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[117] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[138] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[159] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[180] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[201] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[222] = (T)(img)(_n2##x,y,z,c)), \
+ (I[243] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[264] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[285] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[306] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[327] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[348] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[369] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[390] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[411] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[432] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[13] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[34] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[55] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[76] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[97] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[118] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[139] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[160] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[181] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[202] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[223] = (T)(img)(_n3##x,y,z,c)), \
+ (I[244] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[265] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[286] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[307] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[328] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[349] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[370] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[391] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[412] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[433] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[14] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[35] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[56] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[77] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[98] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[119] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[140] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[161] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[182] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[203] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[224] = (T)(img)(_n4##x,y,z,c)), \
+ (I[245] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[266] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[287] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[308] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[329] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[350] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[371] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[392] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[413] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[434] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[15] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[36] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[57] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[78] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[99] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[120] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[141] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[162] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[183] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[204] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[225] = (T)(img)(_n5##x,y,z,c)), \
+ (I[246] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[267] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[288] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[309] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[330] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[351] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[372] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[393] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[414] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[435] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[16] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[37] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[58] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[79] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[100] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[121] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[142] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[163] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[184] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[205] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[226] = (T)(img)(_n6##x,y,z,c)), \
+ (I[247] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[268] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[289] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[310] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[331] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[352] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[373] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[394] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[415] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[436] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[17] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[38] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[59] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[80] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[101] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[122] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[143] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[164] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[185] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[206] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[227] = (T)(img)(_n7##x,y,z,c)), \
+ (I[248] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[269] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[290] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[311] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[332] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[353] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[374] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[395] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[416] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[437] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[18] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[39] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[60] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[81] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[102] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[123] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[144] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[165] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[186] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[207] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[228] = (T)(img)(_n8##x,y,z,c)), \
+ (I[249] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[270] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[291] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[312] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[333] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[354] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[375] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[396] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[417] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[438] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[19] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[40] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[61] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[82] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[103] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[124] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[145] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[166] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[187] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[208] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[229] = (T)(img)(_n9##x,y,z,c)), \
+ (I[250] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[271] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[292] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[313] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[334] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[355] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[376] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[397] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[418] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[439] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ 10>=((img)._width)?(img).width() - 1:10); \
+ (_n10##x<(img).width() && ( \
+ (I[20] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[41] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[62] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[83] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[104] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[125] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[146] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[167] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[188] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[209] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[230] = (T)(img)(_n10##x,y,z,c)), \
+ (I[251] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[272] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[293] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[314] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[335] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[356] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[377] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[398] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[419] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[440] = (T)(img)(_n10##x,_n10##y,z,c)),1)) || \
+ _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], \
+ I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], \
+ I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], \
+ I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], \
+ I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], \
+ I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], \
+ I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], \
+ I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], \
+ I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], \
+ I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], \
+ I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], \
+ I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], \
+ I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], \
+ I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], \
+ I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], \
+ I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], \
+ I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], \
+ I[357] = I[358], I[358] = I[359], I[359] = I[360], I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], I[376] = I[377], \
+ I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], \
+ I[399] = I[400], I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], I[415] = I[416], I[416] = I[417], I[417] = I[418], I[418] = I[419], \
+ I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], I[431] = I[432], I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], I[439] = I[440], \
+ _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x)
+
+#define cimg_for_in21x21(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in21((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p10##x = x - 10<0?0:x - 10, \
+ _p9##x = x - 9<0?0:x - 9, \
+ _p8##x = x - 8<0?0:x - 8, \
+ _p7##x = x - 7<0?0:x - 7, \
+ _p6##x = x - 6<0?0:x - 6, \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = x + 5>=(img).width()?(img).width() - 1:x + 5, \
+ _n6##x = x + 6>=(img).width()?(img).width() - 1:x + 6, \
+ _n7##x = x + 7>=(img).width()?(img).width() - 1:x + 7, \
+ _n8##x = x + 8>=(img).width()?(img).width() - 1:x + 8, \
+ _n9##x = x + 9>=(img).width()?(img).width() - 1:x + 9, \
+ _n10##x = (int)( \
+ (I[0] = (T)(img)(_p10##x,_p10##y,z,c)), \
+ (I[21] = (T)(img)(_p10##x,_p9##y,z,c)), \
+ (I[42] = (T)(img)(_p10##x,_p8##y,z,c)), \
+ (I[63] = (T)(img)(_p10##x,_p7##y,z,c)), \
+ (I[84] = (T)(img)(_p10##x,_p6##y,z,c)), \
+ (I[105] = (T)(img)(_p10##x,_p5##y,z,c)), \
+ (I[126] = (T)(img)(_p10##x,_p4##y,z,c)), \
+ (I[147] = (T)(img)(_p10##x,_p3##y,z,c)), \
+ (I[168] = (T)(img)(_p10##x,_p2##y,z,c)), \
+ (I[189] = (T)(img)(_p10##x,_p1##y,z,c)), \
+ (I[210] = (T)(img)(_p10##x,y,z,c)), \
+ (I[231] = (T)(img)(_p10##x,_n1##y,z,c)), \
+ (I[252] = (T)(img)(_p10##x,_n2##y,z,c)), \
+ (I[273] = (T)(img)(_p10##x,_n3##y,z,c)), \
+ (I[294] = (T)(img)(_p10##x,_n4##y,z,c)), \
+ (I[315] = (T)(img)(_p10##x,_n5##y,z,c)), \
+ (I[336] = (T)(img)(_p10##x,_n6##y,z,c)), \
+ (I[357] = (T)(img)(_p10##x,_n7##y,z,c)), \
+ (I[378] = (T)(img)(_p10##x,_n8##y,z,c)), \
+ (I[399] = (T)(img)(_p10##x,_n9##y,z,c)), \
+ (I[420] = (T)(img)(_p10##x,_n10##y,z,c)), \
+ (I[1] = (T)(img)(_p9##x,_p10##y,z,c)), \
+ (I[22] = (T)(img)(_p9##x,_p9##y,z,c)), \
+ (I[43] = (T)(img)(_p9##x,_p8##y,z,c)), \
+ (I[64] = (T)(img)(_p9##x,_p7##y,z,c)), \
+ (I[85] = (T)(img)(_p9##x,_p6##y,z,c)), \
+ (I[106] = (T)(img)(_p9##x,_p5##y,z,c)), \
+ (I[127] = (T)(img)(_p9##x,_p4##y,z,c)), \
+ (I[148] = (T)(img)(_p9##x,_p3##y,z,c)), \
+ (I[169] = (T)(img)(_p9##x,_p2##y,z,c)), \
+ (I[190] = (T)(img)(_p9##x,_p1##y,z,c)), \
+ (I[211] = (T)(img)(_p9##x,y,z,c)), \
+ (I[232] = (T)(img)(_p9##x,_n1##y,z,c)), \
+ (I[253] = (T)(img)(_p9##x,_n2##y,z,c)), \
+ (I[274] = (T)(img)(_p9##x,_n3##y,z,c)), \
+ (I[295] = (T)(img)(_p9##x,_n4##y,z,c)), \
+ (I[316] = (T)(img)(_p9##x,_n5##y,z,c)), \
+ (I[337] = (T)(img)(_p9##x,_n6##y,z,c)), \
+ (I[358] = (T)(img)(_p9##x,_n7##y,z,c)), \
+ (I[379] = (T)(img)(_p9##x,_n8##y,z,c)), \
+ (I[400] = (T)(img)(_p9##x,_n9##y,z,c)), \
+ (I[421] = (T)(img)(_p9##x,_n10##y,z,c)), \
+ (I[2] = (T)(img)(_p8##x,_p10##y,z,c)), \
+ (I[23] = (T)(img)(_p8##x,_p9##y,z,c)), \
+ (I[44] = (T)(img)(_p8##x,_p8##y,z,c)), \
+ (I[65] = (T)(img)(_p8##x,_p7##y,z,c)), \
+ (I[86] = (T)(img)(_p8##x,_p6##y,z,c)), \
+ (I[107] = (T)(img)(_p8##x,_p5##y,z,c)), \
+ (I[128] = (T)(img)(_p8##x,_p4##y,z,c)), \
+ (I[149] = (T)(img)(_p8##x,_p3##y,z,c)), \
+ (I[170] = (T)(img)(_p8##x,_p2##y,z,c)), \
+ (I[191] = (T)(img)(_p8##x,_p1##y,z,c)), \
+ (I[212] = (T)(img)(_p8##x,y,z,c)), \
+ (I[233] = (T)(img)(_p8##x,_n1##y,z,c)), \
+ (I[254] = (T)(img)(_p8##x,_n2##y,z,c)), \
+ (I[275] = (T)(img)(_p8##x,_n3##y,z,c)), \
+ (I[296] = (T)(img)(_p8##x,_n4##y,z,c)), \
+ (I[317] = (T)(img)(_p8##x,_n5##y,z,c)), \
+ (I[338] = (T)(img)(_p8##x,_n6##y,z,c)), \
+ (I[359] = (T)(img)(_p8##x,_n7##y,z,c)), \
+ (I[380] = (T)(img)(_p8##x,_n8##y,z,c)), \
+ (I[401] = (T)(img)(_p8##x,_n9##y,z,c)), \
+ (I[422] = (T)(img)(_p8##x,_n10##y,z,c)), \
+ (I[3] = (T)(img)(_p7##x,_p10##y,z,c)), \
+ (I[24] = (T)(img)(_p7##x,_p9##y,z,c)), \
+ (I[45] = (T)(img)(_p7##x,_p8##y,z,c)), \
+ (I[66] = (T)(img)(_p7##x,_p7##y,z,c)), \
+ (I[87] = (T)(img)(_p7##x,_p6##y,z,c)), \
+ (I[108] = (T)(img)(_p7##x,_p5##y,z,c)), \
+ (I[129] = (T)(img)(_p7##x,_p4##y,z,c)), \
+ (I[150] = (T)(img)(_p7##x,_p3##y,z,c)), \
+ (I[171] = (T)(img)(_p7##x,_p2##y,z,c)), \
+ (I[192] = (T)(img)(_p7##x,_p1##y,z,c)), \
+ (I[213] = (T)(img)(_p7##x,y,z,c)), \
+ (I[234] = (T)(img)(_p7##x,_n1##y,z,c)), \
+ (I[255] = (T)(img)(_p7##x,_n2##y,z,c)), \
+ (I[276] = (T)(img)(_p7##x,_n3##y,z,c)), \
+ (I[297] = (T)(img)(_p7##x,_n4##y,z,c)), \
+ (I[318] = (T)(img)(_p7##x,_n5##y,z,c)), \
+ (I[339] = (T)(img)(_p7##x,_n6##y,z,c)), \
+ (I[360] = (T)(img)(_p7##x,_n7##y,z,c)), \
+ (I[381] = (T)(img)(_p7##x,_n8##y,z,c)), \
+ (I[402] = (T)(img)(_p7##x,_n9##y,z,c)), \
+ (I[423] = (T)(img)(_p7##x,_n10##y,z,c)), \
+ (I[4] = (T)(img)(_p6##x,_p10##y,z,c)), \
+ (I[25] = (T)(img)(_p6##x,_p9##y,z,c)), \
+ (I[46] = (T)(img)(_p6##x,_p8##y,z,c)), \
+ (I[67] = (T)(img)(_p6##x,_p7##y,z,c)), \
+ (I[88] = (T)(img)(_p6##x,_p6##y,z,c)), \
+ (I[109] = (T)(img)(_p6##x,_p5##y,z,c)), \
+ (I[130] = (T)(img)(_p6##x,_p4##y,z,c)), \
+ (I[151] = (T)(img)(_p6##x,_p3##y,z,c)), \
+ (I[172] = (T)(img)(_p6##x,_p2##y,z,c)), \
+ (I[193] = (T)(img)(_p6##x,_p1##y,z,c)), \
+ (I[214] = (T)(img)(_p6##x,y,z,c)), \
+ (I[235] = (T)(img)(_p6##x,_n1##y,z,c)), \
+ (I[256] = (T)(img)(_p6##x,_n2##y,z,c)), \
+ (I[277] = (T)(img)(_p6##x,_n3##y,z,c)), \
+ (I[298] = (T)(img)(_p6##x,_n4##y,z,c)), \
+ (I[319] = (T)(img)(_p6##x,_n5##y,z,c)), \
+ (I[340] = (T)(img)(_p6##x,_n6##y,z,c)), \
+ (I[361] = (T)(img)(_p6##x,_n7##y,z,c)), \
+ (I[382] = (T)(img)(_p6##x,_n8##y,z,c)), \
+ (I[403] = (T)(img)(_p6##x,_n9##y,z,c)), \
+ (I[424] = (T)(img)(_p6##x,_n10##y,z,c)), \
+ (I[5] = (T)(img)(_p5##x,_p10##y,z,c)), \
+ (I[26] = (T)(img)(_p5##x,_p9##y,z,c)), \
+ (I[47] = (T)(img)(_p5##x,_p8##y,z,c)), \
+ (I[68] = (T)(img)(_p5##x,_p7##y,z,c)), \
+ (I[89] = (T)(img)(_p5##x,_p6##y,z,c)), \
+ (I[110] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[131] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[152] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[173] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[194] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[215] = (T)(img)(_p5##x,y,z,c)), \
+ (I[236] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[257] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[278] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[299] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[320] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[341] = (T)(img)(_p5##x,_n6##y,z,c)), \
+ (I[362] = (T)(img)(_p5##x,_n7##y,z,c)), \
+ (I[383] = (T)(img)(_p5##x,_n8##y,z,c)), \
+ (I[404] = (T)(img)(_p5##x,_n9##y,z,c)), \
+ (I[425] = (T)(img)(_p5##x,_n10##y,z,c)), \
+ (I[6] = (T)(img)(_p4##x,_p10##y,z,c)), \
+ (I[27] = (T)(img)(_p4##x,_p9##y,z,c)), \
+ (I[48] = (T)(img)(_p4##x,_p8##y,z,c)), \
+ (I[69] = (T)(img)(_p4##x,_p7##y,z,c)), \
+ (I[90] = (T)(img)(_p4##x,_p6##y,z,c)), \
+ (I[111] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[132] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[153] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[174] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[195] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[216] = (T)(img)(_p4##x,y,z,c)), \
+ (I[237] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[258] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[279] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[300] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[321] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[342] = (T)(img)(_p4##x,_n6##y,z,c)), \
+ (I[363] = (T)(img)(_p4##x,_n7##y,z,c)), \
+ (I[384] = (T)(img)(_p4##x,_n8##y,z,c)), \
+ (I[405] = (T)(img)(_p4##x,_n9##y,z,c)), \
+ (I[426] = (T)(img)(_p4##x,_n10##y,z,c)), \
+ (I[7] = (T)(img)(_p3##x,_p10##y,z,c)), \
+ (I[28] = (T)(img)(_p3##x,_p9##y,z,c)), \
+ (I[49] = (T)(img)(_p3##x,_p8##y,z,c)), \
+ (I[70] = (T)(img)(_p3##x,_p7##y,z,c)), \
+ (I[91] = (T)(img)(_p3##x,_p6##y,z,c)), \
+ (I[112] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[133] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[154] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[175] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[196] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[217] = (T)(img)(_p3##x,y,z,c)), \
+ (I[238] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[259] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[280] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[301] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[322] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[343] = (T)(img)(_p3##x,_n6##y,z,c)), \
+ (I[364] = (T)(img)(_p3##x,_n7##y,z,c)), \
+ (I[385] = (T)(img)(_p3##x,_n8##y,z,c)), \
+ (I[406] = (T)(img)(_p3##x,_n9##y,z,c)), \
+ (I[427] = (T)(img)(_p3##x,_n10##y,z,c)), \
+ (I[8] = (T)(img)(_p2##x,_p10##y,z,c)), \
+ (I[29] = (T)(img)(_p2##x,_p9##y,z,c)), \
+ (I[50] = (T)(img)(_p2##x,_p8##y,z,c)), \
+ (I[71] = (T)(img)(_p2##x,_p7##y,z,c)), \
+ (I[92] = (T)(img)(_p2##x,_p6##y,z,c)), \
+ (I[113] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[134] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[155] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[176] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[197] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[218] = (T)(img)(_p2##x,y,z,c)), \
+ (I[239] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[260] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[281] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[302] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[323] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[344] = (T)(img)(_p2##x,_n6##y,z,c)), \
+ (I[365] = (T)(img)(_p2##x,_n7##y,z,c)), \
+ (I[386] = (T)(img)(_p2##x,_n8##y,z,c)), \
+ (I[407] = (T)(img)(_p2##x,_n9##y,z,c)), \
+ (I[428] = (T)(img)(_p2##x,_n10##y,z,c)), \
+ (I[9] = (T)(img)(_p1##x,_p10##y,z,c)), \
+ (I[30] = (T)(img)(_p1##x,_p9##y,z,c)), \
+ (I[51] = (T)(img)(_p1##x,_p8##y,z,c)), \
+ (I[72] = (T)(img)(_p1##x,_p7##y,z,c)), \
+ (I[93] = (T)(img)(_p1##x,_p6##y,z,c)), \
+ (I[114] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[135] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[156] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[177] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[198] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[219] = (T)(img)(_p1##x,y,z,c)), \
+ (I[240] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[261] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[282] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[303] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[324] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[345] = (T)(img)(_p1##x,_n6##y,z,c)), \
+ (I[366] = (T)(img)(_p1##x,_n7##y,z,c)), \
+ (I[387] = (T)(img)(_p1##x,_n8##y,z,c)), \
+ (I[408] = (T)(img)(_p1##x,_n9##y,z,c)), \
+ (I[429] = (T)(img)(_p1##x,_n10##y,z,c)), \
+ (I[10] = (T)(img)(x,_p10##y,z,c)), \
+ (I[31] = (T)(img)(x,_p9##y,z,c)), \
+ (I[52] = (T)(img)(x,_p8##y,z,c)), \
+ (I[73] = (T)(img)(x,_p7##y,z,c)), \
+ (I[94] = (T)(img)(x,_p6##y,z,c)), \
+ (I[115] = (T)(img)(x,_p5##y,z,c)), \
+ (I[136] = (T)(img)(x,_p4##y,z,c)), \
+ (I[157] = (T)(img)(x,_p3##y,z,c)), \
+ (I[178] = (T)(img)(x,_p2##y,z,c)), \
+ (I[199] = (T)(img)(x,_p1##y,z,c)), \
+ (I[220] = (T)(img)(x,y,z,c)), \
+ (I[241] = (T)(img)(x,_n1##y,z,c)), \
+ (I[262] = (T)(img)(x,_n2##y,z,c)), \
+ (I[283] = (T)(img)(x,_n3##y,z,c)), \
+ (I[304] = (T)(img)(x,_n4##y,z,c)), \
+ (I[325] = (T)(img)(x,_n5##y,z,c)), \
+ (I[346] = (T)(img)(x,_n6##y,z,c)), \
+ (I[367] = (T)(img)(x,_n7##y,z,c)), \
+ (I[388] = (T)(img)(x,_n8##y,z,c)), \
+ (I[409] = (T)(img)(x,_n9##y,z,c)), \
+ (I[430] = (T)(img)(x,_n10##y,z,c)), \
+ (I[11] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[32] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[53] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[74] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[95] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[116] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[137] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[158] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[179] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[200] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[221] = (T)(img)(_n1##x,y,z,c)), \
+ (I[242] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[263] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[284] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[305] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[326] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[347] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[368] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[389] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[410] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[431] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[12] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[33] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[54] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[75] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[96] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[117] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[138] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[159] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[180] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[201] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[222] = (T)(img)(_n2##x,y,z,c)), \
+ (I[243] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[264] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[285] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[306] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[327] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[348] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[369] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[390] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[411] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[432] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[13] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[34] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[55] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[76] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[97] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[118] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[139] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[160] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[181] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[202] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[223] = (T)(img)(_n3##x,y,z,c)), \
+ (I[244] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[265] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[286] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[307] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[328] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[349] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[370] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[391] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[412] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[433] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[14] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[35] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[56] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[77] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[98] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[119] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[140] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[161] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[182] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[203] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[224] = (T)(img)(_n4##x,y,z,c)), \
+ (I[245] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[266] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[287] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[308] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[329] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[350] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[371] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[392] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[413] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[434] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[15] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[36] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[57] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[78] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[99] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[120] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[141] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[162] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[183] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[204] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[225] = (T)(img)(_n5##x,y,z,c)), \
+ (I[246] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[267] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[288] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[309] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[330] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[351] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[372] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[393] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[414] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[435] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[16] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[37] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[58] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[79] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[100] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[121] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[142] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[163] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[184] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[205] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[226] = (T)(img)(_n6##x,y,z,c)), \
+ (I[247] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[268] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[289] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[310] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[331] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[352] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[373] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[394] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[415] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[436] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[17] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[38] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[59] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[80] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[101] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[122] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[143] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[164] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[185] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[206] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[227] = (T)(img)(_n7##x,y,z,c)), \
+ (I[248] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[269] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[290] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[311] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[332] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[353] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[374] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[395] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[416] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[437] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[18] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[39] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[60] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[81] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[102] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[123] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[144] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[165] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[186] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[207] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[228] = (T)(img)(_n8##x,y,z,c)), \
+ (I[249] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[270] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[291] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[312] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[333] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[354] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[375] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[396] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[417] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[438] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[19] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[40] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[61] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[82] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[103] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[124] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[145] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[166] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[187] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[208] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[229] = (T)(img)(_n9##x,y,z,c)), \
+ (I[250] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[271] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[292] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[313] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[334] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[355] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[376] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[397] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[418] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[439] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ x + 10>=(img).width()?(img).width() - 1:x + 10); \
+ x<=(int)(x1) && ((_n10##x<(img).width() && ( \
+ (I[20] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[41] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[62] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[83] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[104] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[125] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[146] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[167] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[188] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[209] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[230] = (T)(img)(_n10##x,y,z,c)), \
+ (I[251] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[272] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[293] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[314] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[335] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[356] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[377] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[398] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[419] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[440] = (T)(img)(_n10##x,_n10##y,z,c)),1)) || \
+ _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], \
+ I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], \
+ I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], \
+ I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], \
+ I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], \
+ I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], \
+ I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], \
+ I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], \
+ I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], \
+ I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], \
+ I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], \
+ I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], \
+ I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], \
+ I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], \
+ I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], \
+ I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], \
+ I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], \
+ I[357] = I[358], I[358] = I[359], I[359] = I[360], I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], I[376] = I[377], \
+ I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], \
+ I[399] = I[400], I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], I[415] = I[416], I[416] = I[417], I[417] = I[418], I[418] = I[419], \
+ I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], I[431] = I[432], I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], I[439] = I[440], \
+ _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x)
+
+#define cimg_get21x21(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p10##x,_p10##y,z,c), I[1] = (T)(img)(_p9##x,_p10##y,z,c), I[2] = (T)(img)(_p8##x,_p10##y,z,c), I[3] = (T)(img)(_p7##x,_p10##y,z,c), I[4] = (T)(img)(_p6##x,_p10##y,z,c), I[5] = (T)(img)(_p5##x,_p10##y,z,c), I[6] = (T)(img)(_p4##x,_p10##y,z,c), I[7] = (T)(img)(_p3##x,_p10##y,z,c), I[8] = (T)(img)(_p2##x,_p10##y,z,c), I[9] = (T)(img)(_p1##x,_p10##y,z,c), I[10] = (T)(img)(x,_p10##y,z,c), I[11] = (T)(img)(_n1##x,_p10##y,z,c), I[12] = (T)(img)(_n2##x,_p10##y,z,c), I[13] = (T) [...]
+ I[21] = (T)(img)(_p10##x,_p9##y,z,c), I[22] = (T)(img)(_p9##x,_p9##y,z,c), I[23] = (T)(img)(_p8##x,_p9##y,z,c), I[24] = (T)(img)(_p7##x,_p9##y,z,c), I[25] = (T)(img)(_p6##x,_p9##y,z,c), I[26] = (T)(img)(_p5##x,_p9##y,z,c), I[27] = (T)(img)(_p4##x,_p9##y,z,c), I[28] = (T)(img)(_p3##x,_p9##y,z,c), I[29] = (T)(img)(_p2##x,_p9##y,z,c), I[30] = (T)(img)(_p1##x,_p9##y,z,c), I[31] = (T)(img)(x,_p9##y,z,c), I[32] = (T)(img)(_n1##x,_p9##y,z,c), I[33] = (T)(img)(_n2##x,_p9##y,z,c), I[34] = (T)(im [...]
+ I[42] = (T)(img)(_p10##x,_p8##y,z,c), I[43] = (T)(img)(_p9##x,_p8##y,z,c), I[44] = (T)(img)(_p8##x,_p8##y,z,c), I[45] = (T)(img)(_p7##x,_p8##y,z,c), I[46] = (T)(img)(_p6##x,_p8##y,z,c), I[47] = (T)(img)(_p5##x,_p8##y,z,c), I[48] = (T)(img)(_p4##x,_p8##y,z,c), I[49] = (T)(img)(_p3##x,_p8##y,z,c), I[50] = (T)(img)(_p2##x,_p8##y,z,c), I[51] = (T)(img)(_p1##x,_p8##y,z,c), I[52] = (T)(img)(x,_p8##y,z,c), I[53] = (T)(img)(_n1##x,_p8##y,z,c), I[54] = (T)(img)(_n2##x,_p8##y,z,c), I[55] = (T)(im [...]
+ I[63] = (T)(img)(_p10##x,_p7##y,z,c), I[64] = (T)(img)(_p9##x,_p7##y,z,c), I[65] = (T)(img)(_p8##x,_p7##y,z,c), I[66] = (T)(img)(_p7##x,_p7##y,z,c), I[67] = (T)(img)(_p6##x,_p7##y,z,c), I[68] = (T)(img)(_p5##x,_p7##y,z,c), I[69] = (T)(img)(_p4##x,_p7##y,z,c), I[70] = (T)(img)(_p3##x,_p7##y,z,c), I[71] = (T)(img)(_p2##x,_p7##y,z,c), I[72] = (T)(img)(_p1##x,_p7##y,z,c), I[73] = (T)(img)(x,_p7##y,z,c), I[74] = (T)(img)(_n1##x,_p7##y,z,c), I[75] = (T)(img)(_n2##x,_p7##y,z,c), I[76] = (T)(im [...]
+ I[84] = (T)(img)(_p10##x,_p6##y,z,c), I[85] = (T)(img)(_p9##x,_p6##y,z,c), I[86] = (T)(img)(_p8##x,_p6##y,z,c), I[87] = (T)(img)(_p7##x,_p6##y,z,c), I[88] = (T)(img)(_p6##x,_p6##y,z,c), I[89] = (T)(img)(_p5##x,_p6##y,z,c), I[90] = (T)(img)(_p4##x,_p6##y,z,c), I[91] = (T)(img)(_p3##x,_p6##y,z,c), I[92] = (T)(img)(_p2##x,_p6##y,z,c), I[93] = (T)(img)(_p1##x,_p6##y,z,c), I[94] = (T)(img)(x,_p6##y,z,c), I[95] = (T)(img)(_n1##x,_p6##y,z,c), I[96] = (T)(img)(_n2##x,_p6##y,z,c), I[97] = (T)(im [...]
+ I[105] = (T)(img)(_p10##x,_p5##y,z,c), I[106] = (T)(img)(_p9##x,_p5##y,z,c), I[107] = (T)(img)(_p8##x,_p5##y,z,c), I[108] = (T)(img)(_p7##x,_p5##y,z,c), I[109] = (T)(img)(_p6##x,_p5##y,z,c), I[110] = (T)(img)(_p5##x,_p5##y,z,c), I[111] = (T)(img)(_p4##x,_p5##y,z,c), I[112] = (T)(img)(_p3##x,_p5##y,z,c), I[113] = (T)(img)(_p2##x,_p5##y,z,c), I[114] = (T)(img)(_p1##x,_p5##y,z,c), I[115] = (T)(img)(x,_p5##y,z,c), I[116] = (T)(img)(_n1##x,_p5##y,z,c), I[117] = (T)(img)(_n2##x,_p5##y,z,c), I [...]
+ I[126] = (T)(img)(_p10##x,_p4##y,z,c), I[127] = (T)(img)(_p9##x,_p4##y,z,c), I[128] = (T)(img)(_p8##x,_p4##y,z,c), I[129] = (T)(img)(_p7##x,_p4##y,z,c), I[130] = (T)(img)(_p6##x,_p4##y,z,c), I[131] = (T)(img)(_p5##x,_p4##y,z,c), I[132] = (T)(img)(_p4##x,_p4##y,z,c), I[133] = (T)(img)(_p3##x,_p4##y,z,c), I[134] = (T)(img)(_p2##x,_p4##y,z,c), I[135] = (T)(img)(_p1##x,_p4##y,z,c), I[136] = (T)(img)(x,_p4##y,z,c), I[137] = (T)(img)(_n1##x,_p4##y,z,c), I[138] = (T)(img)(_n2##x,_p4##y,z,c), I [...]
+ I[147] = (T)(img)(_p10##x,_p3##y,z,c), I[148] = (T)(img)(_p9##x,_p3##y,z,c), I[149] = (T)(img)(_p8##x,_p3##y,z,c), I[150] = (T)(img)(_p7##x,_p3##y,z,c), I[151] = (T)(img)(_p6##x,_p3##y,z,c), I[152] = (T)(img)(_p5##x,_p3##y,z,c), I[153] = (T)(img)(_p4##x,_p3##y,z,c), I[154] = (T)(img)(_p3##x,_p3##y,z,c), I[155] = (T)(img)(_p2##x,_p3##y,z,c), I[156] = (T)(img)(_p1##x,_p3##y,z,c), I[157] = (T)(img)(x,_p3##y,z,c), I[158] = (T)(img)(_n1##x,_p3##y,z,c), I[159] = (T)(img)(_n2##x,_p3##y,z,c), I [...]
+ I[168] = (T)(img)(_p10##x,_p2##y,z,c), I[169] = (T)(img)(_p9##x,_p2##y,z,c), I[170] = (T)(img)(_p8##x,_p2##y,z,c), I[171] = (T)(img)(_p7##x,_p2##y,z,c), I[172] = (T)(img)(_p6##x,_p2##y,z,c), I[173] = (T)(img)(_p5##x,_p2##y,z,c), I[174] = (T)(img)(_p4##x,_p2##y,z,c), I[175] = (T)(img)(_p3##x,_p2##y,z,c), I[176] = (T)(img)(_p2##x,_p2##y,z,c), I[177] = (T)(img)(_p1##x,_p2##y,z,c), I[178] = (T)(img)(x,_p2##y,z,c), I[179] = (T)(img)(_n1##x,_p2##y,z,c), I[180] = (T)(img)(_n2##x,_p2##y,z,c), I [...]
+ I[189] = (T)(img)(_p10##x,_p1##y,z,c), I[190] = (T)(img)(_p9##x,_p1##y,z,c), I[191] = (T)(img)(_p8##x,_p1##y,z,c), I[192] = (T)(img)(_p7##x,_p1##y,z,c), I[193] = (T)(img)(_p6##x,_p1##y,z,c), I[194] = (T)(img)(_p5##x,_p1##y,z,c), I[195] = (T)(img)(_p4##x,_p1##y,z,c), I[196] = (T)(img)(_p3##x,_p1##y,z,c), I[197] = (T)(img)(_p2##x,_p1##y,z,c), I[198] = (T)(img)(_p1##x,_p1##y,z,c), I[199] = (T)(img)(x,_p1##y,z,c), I[200] = (T)(img)(_n1##x,_p1##y,z,c), I[201] = (T)(img)(_n2##x,_p1##y,z,c), I [...]
+ I[210] = (T)(img)(_p10##x,y,z,c), I[211] = (T)(img)(_p9##x,y,z,c), I[212] = (T)(img)(_p8##x,y,z,c), I[213] = (T)(img)(_p7##x,y,z,c), I[214] = (T)(img)(_p6##x,y,z,c), I[215] = (T)(img)(_p5##x,y,z,c), I[216] = (T)(img)(_p4##x,y,z,c), I[217] = (T)(img)(_p3##x,y,z,c), I[218] = (T)(img)(_p2##x,y,z,c), I[219] = (T)(img)(_p1##x,y,z,c), I[220] = (T)(img)(x,y,z,c), I[221] = (T)(img)(_n1##x,y,z,c), I[222] = (T)(img)(_n2##x,y,z,c), I[223] = (T)(img)(_n3##x,y,z,c), I[224] = (T)(img)(_n4##x,y,z,c),  [...]
+ I[231] = (T)(img)(_p10##x,_n1##y,z,c), I[232] = (T)(img)(_p9##x,_n1##y,z,c), I[233] = (T)(img)(_p8##x,_n1##y,z,c), I[234] = (T)(img)(_p7##x,_n1##y,z,c), I[235] = (T)(img)(_p6##x,_n1##y,z,c), I[236] = (T)(img)(_p5##x,_n1##y,z,c), I[237] = (T)(img)(_p4##x,_n1##y,z,c), I[238] = (T)(img)(_p3##x,_n1##y,z,c), I[239] = (T)(img)(_p2##x,_n1##y,z,c), I[240] = (T)(img)(_p1##x,_n1##y,z,c), I[241] = (T)(img)(x,_n1##y,z,c), I[242] = (T)(img)(_n1##x,_n1##y,z,c), I[243] = (T)(img)(_n2##x,_n1##y,z,c), I [...]
+ I[252] = (T)(img)(_p10##x,_n2##y,z,c), I[253] = (T)(img)(_p9##x,_n2##y,z,c), I[254] = (T)(img)(_p8##x,_n2##y,z,c), I[255] = (T)(img)(_p7##x,_n2##y,z,c), I[256] = (T)(img)(_p6##x,_n2##y,z,c), I[257] = (T)(img)(_p5##x,_n2##y,z,c), I[258] = (T)(img)(_p4##x,_n2##y,z,c), I[259] = (T)(img)(_p3##x,_n2##y,z,c), I[260] = (T)(img)(_p2##x,_n2##y,z,c), I[261] = (T)(img)(_p1##x,_n2##y,z,c), I[262] = (T)(img)(x,_n2##y,z,c), I[263] = (T)(img)(_n1##x,_n2##y,z,c), I[264] = (T)(img)(_n2##x,_n2##y,z,c), I [...]
+ I[273] = (T)(img)(_p10##x,_n3##y,z,c), I[274] = (T)(img)(_p9##x,_n3##y,z,c), I[275] = (T)(img)(_p8##x,_n3##y,z,c), I[276] = (T)(img)(_p7##x,_n3##y,z,c), I[277] = (T)(img)(_p6##x,_n3##y,z,c), I[278] = (T)(img)(_p5##x,_n3##y,z,c), I[279] = (T)(img)(_p4##x,_n3##y,z,c), I[280] = (T)(img)(_p3##x,_n3##y,z,c), I[281] = (T)(img)(_p2##x,_n3##y,z,c), I[282] = (T)(img)(_p1##x,_n3##y,z,c), I[283] = (T)(img)(x,_n3##y,z,c), I[284] = (T)(img)(_n1##x,_n3##y,z,c), I[285] = (T)(img)(_n2##x,_n3##y,z,c), I [...]
+ I[294] = (T)(img)(_p10##x,_n4##y,z,c), I[295] = (T)(img)(_p9##x,_n4##y,z,c), I[296] = (T)(img)(_p8##x,_n4##y,z,c), I[297] = (T)(img)(_p7##x,_n4##y,z,c), I[298] = (T)(img)(_p6##x,_n4##y,z,c), I[299] = (T)(img)(_p5##x,_n4##y,z,c), I[300] = (T)(img)(_p4##x,_n4##y,z,c), I[301] = (T)(img)(_p3##x,_n4##y,z,c), I[302] = (T)(img)(_p2##x,_n4##y,z,c), I[303] = (T)(img)(_p1##x,_n4##y,z,c), I[304] = (T)(img)(x,_n4##y,z,c), I[305] = (T)(img)(_n1##x,_n4##y,z,c), I[306] = (T)(img)(_n2##x,_n4##y,z,c), I [...]
+ I[315] = (T)(img)(_p10##x,_n5##y,z,c), I[316] = (T)(img)(_p9##x,_n5##y,z,c), I[317] = (T)(img)(_p8##x,_n5##y,z,c), I[318] = (T)(img)(_p7##x,_n5##y,z,c), I[319] = (T)(img)(_p6##x,_n5##y,z,c), I[320] = (T)(img)(_p5##x,_n5##y,z,c), I[321] = (T)(img)(_p4##x,_n5##y,z,c), I[322] = (T)(img)(_p3##x,_n5##y,z,c), I[323] = (T)(img)(_p2##x,_n5##y,z,c), I[324] = (T)(img)(_p1##x,_n5##y,z,c), I[325] = (T)(img)(x,_n5##y,z,c), I[326] = (T)(img)(_n1##x,_n5##y,z,c), I[327] = (T)(img)(_n2##x,_n5##y,z,c), I [...]
+ I[336] = (T)(img)(_p10##x,_n6##y,z,c), I[337] = (T)(img)(_p9##x,_n6##y,z,c), I[338] = (T)(img)(_p8##x,_n6##y,z,c), I[339] = (T)(img)(_p7##x,_n6##y,z,c), I[340] = (T)(img)(_p6##x,_n6##y,z,c), I[341] = (T)(img)(_p5##x,_n6##y,z,c), I[342] = (T)(img)(_p4##x,_n6##y,z,c), I[343] = (T)(img)(_p3##x,_n6##y,z,c), I[344] = (T)(img)(_p2##x,_n6##y,z,c), I[345] = (T)(img)(_p1##x,_n6##y,z,c), I[346] = (T)(img)(x,_n6##y,z,c), I[347] = (T)(img)(_n1##x,_n6##y,z,c), I[348] = (T)(img)(_n2##x,_n6##y,z,c), I [...]
+ I[357] = (T)(img)(_p10##x,_n7##y,z,c), I[358] = (T)(img)(_p9##x,_n7##y,z,c), I[359] = (T)(img)(_p8##x,_n7##y,z,c), I[360] = (T)(img)(_p7##x,_n7##y,z,c), I[361] = (T)(img)(_p6##x,_n7##y,z,c), I[362] = (T)(img)(_p5##x,_n7##y,z,c), I[363] = (T)(img)(_p4##x,_n7##y,z,c), I[364] = (T)(img)(_p3##x,_n7##y,z,c), I[365] = (T)(img)(_p2##x,_n7##y,z,c), I[366] = (T)(img)(_p1##x,_n7##y,z,c), I[367] = (T)(img)(x,_n7##y,z,c), I[368] = (T)(img)(_n1##x,_n7##y,z,c), I[369] = (T)(img)(_n2##x,_n7##y,z,c), I [...]
+ I[378] = (T)(img)(_p10##x,_n8##y,z,c), I[379] = (T)(img)(_p9##x,_n8##y,z,c), I[380] = (T)(img)(_p8##x,_n8##y,z,c), I[381] = (T)(img)(_p7##x,_n8##y,z,c), I[382] = (T)(img)(_p6##x,_n8##y,z,c), I[383] = (T)(img)(_p5##x,_n8##y,z,c), I[384] = (T)(img)(_p4##x,_n8##y,z,c), I[385] = (T)(img)(_p3##x,_n8##y,z,c), I[386] = (T)(img)(_p2##x,_n8##y,z,c), I[387] = (T)(img)(_p1##x,_n8##y,z,c), I[388] = (T)(img)(x,_n8##y,z,c), I[389] = (T)(img)(_n1##x,_n8##y,z,c), I[390] = (T)(img)(_n2##x,_n8##y,z,c), I [...]
+ I[399] = (T)(img)(_p10##x,_n9##y,z,c), I[400] = (T)(img)(_p9##x,_n9##y,z,c), I[401] = (T)(img)(_p8##x,_n9##y,z,c), I[402] = (T)(img)(_p7##x,_n9##y,z,c), I[403] = (T)(img)(_p6##x,_n9##y,z,c), I[404] = (T)(img)(_p5##x,_n9##y,z,c), I[405] = (T)(img)(_p4##x,_n9##y,z,c), I[406] = (T)(img)(_p3##x,_n9##y,z,c), I[407] = (T)(img)(_p2##x,_n9##y,z,c), I[408] = (T)(img)(_p1##x,_n9##y,z,c), I[409] = (T)(img)(x,_n9##y,z,c), I[410] = (T)(img)(_n1##x,_n9##y,z,c), I[411] = (T)(img)(_n2##x,_n9##y,z,c), I [...]
+ I[420] = (T)(img)(_p10##x,_n10##y,z,c), I[421] = (T)(img)(_p9##x,_n10##y,z,c), I[422] = (T)(img)(_p8##x,_n10##y,z,c), I[423] = (T)(img)(_p7##x,_n10##y,z,c), I[424] = (T)(img)(_p6##x,_n10##y,z,c), I[425] = (T)(img)(_p5##x,_n10##y,z,c), I[426] = (T)(img)(_p4##x,_n10##y,z,c), I[427] = (T)(img)(_p3##x,_n10##y,z,c), I[428] = (T)(img)(_p2##x,_n10##y,z,c), I[429] = (T)(img)(_p1##x,_n10##y,z,c), I[430] = (T)(img)(x,_n10##y,z,c), I[431] = (T)(img)(_n1##x,_n10##y,z,c), I[432] = (T)(img)(_n2##x,_n [...]
+
+// Define 22x22 loop macros
+//-------------------------
+#define cimg_for22(bound,i) for (int i = 0, \
+ _p10##i = 0, _p9##i = 0, _p8##i = 0, _p7##i = 0, _p6##i = 0, _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5, \
+ _n6##i = 6>=(int)(bound)?(int)(bound) - 1:6, \
+ _n7##i = 7>=(int)(bound)?(int)(bound) - 1:7, \
+ _n8##i = 8>=(int)(bound)?(int)(bound) - 1:8, \
+ _n9##i = 9>=(int)(bound)?(int)(bound) - 1:9, \
+ _n10##i = 10>=(int)(bound)?(int)(bound) - 1:10, \
+ _n11##i = 11>=(int)(bound)?(int)(bound) - 1:11; \
+ _n11##i<(int)(bound) || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i)
+
+#define cimg_for22X(img,x) cimg_for22((img)._width,x)
+#define cimg_for22Y(img,y) cimg_for22((img)._height,y)
+#define cimg_for22Z(img,z) cimg_for22((img)._depth,z)
+#define cimg_for22C(img,c) cimg_for22((img)._spectrum,c)
+#define cimg_for22XY(img,x,y) cimg_for22Y(img,y) cimg_for22X(img,x)
+#define cimg_for22XZ(img,x,z) cimg_for22Z(img,z) cimg_for22X(img,x)
+#define cimg_for22XC(img,x,c) cimg_for22C(img,c) cimg_for22X(img,x)
+#define cimg_for22YZ(img,y,z) cimg_for22Z(img,z) cimg_for22Y(img,y)
+#define cimg_for22YC(img,y,c) cimg_for22C(img,c) cimg_for22Y(img,y)
+#define cimg_for22ZC(img,z,c) cimg_for22C(img,c) cimg_for22Z(img,z)
+#define cimg_for22XYZ(img,x,y,z) cimg_for22Z(img,z) cimg_for22XY(img,x,y)
+#define cimg_for22XZC(img,x,z,c) cimg_for22C(img,c) cimg_for22XZ(img,x,z)
+#define cimg_for22YZC(img,y,z,c) cimg_for22C(img,c) cimg_for22YZ(img,y,z)
+#define cimg_for22XYZC(img,x,y,z,c) cimg_for22C(img,c) cimg_for22XYZ(img,x,y,z)
+
+#define cimg_for_in22(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p10##i = i - 10<0?0:i - 10, \
+ _p9##i = i - 9<0?0:i - 9, \
+ _p8##i = i - 8<0?0:i - 8, \
+ _p7##i = i - 7<0?0:i - 7, \
+ _p6##i = i - 6<0?0:i - 6, \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5, \
+ _n6##i = i + 6>=(int)(bound)?(int)(bound) - 1:i + 6, \
+ _n7##i = i + 7>=(int)(bound)?(int)(bound) - 1:i + 7, \
+ _n8##i = i + 8>=(int)(bound)?(int)(bound) - 1:i + 8, \
+ _n9##i = i + 9>=(int)(bound)?(int)(bound) - 1:i + 9, \
+ _n10##i = i + 10>=(int)(bound)?(int)(bound) - 1:i + 10, \
+ _n11##i = i + 11>=(int)(bound)?(int)(bound) - 1:i + 11; \
+ i<=(int)(i1) && (_n11##i<(int)(bound) || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i)
+
+#define cimg_for_in22X(img,x0,x1,x) cimg_for_in22((img)._width,x0,x1,x)
+#define cimg_for_in22Y(img,y0,y1,y) cimg_for_in22((img)._height,y0,y1,y)
+#define cimg_for_in22Z(img,z0,z1,z) cimg_for_in22((img)._depth,z0,z1,z)
+#define cimg_for_in22C(img,c0,c1,c) cimg_for_in22((img)._spectrum,c0,c1,c)
+#define cimg_for_in22XY(img,x0,y0,x1,y1,x,y) cimg_for_in22Y(img,y0,y1,y) cimg_for_in22X(img,x0,x1,x)
+#define cimg_for_in22XZ(img,x0,z0,x1,z1,x,z) cimg_for_in22Z(img,z0,z1,z) cimg_for_in22X(img,x0,x1,x)
+#define cimg_for_in22XC(img,x0,c0,x1,c1,x,c) cimg_for_in22C(img,c0,c1,c) cimg_for_in22X(img,x0,x1,x)
+#define cimg_for_in22YZ(img,y0,z0,y1,z1,y,z) cimg_for_in22Z(img,z0,z1,z) cimg_for_in22Y(img,y0,y1,y)
+#define cimg_for_in22YC(img,y0,c0,y1,c1,y,c) cimg_for_in22C(img,c0,c1,c) cimg_for_in22Y(img,y0,y1,y)
+#define cimg_for_in22ZC(img,z0,c0,z1,c1,z,c) cimg_for_in22C(img,c0,c1,c) cimg_for_in22Z(img,z0,z1,z)
+#define cimg_for_in22XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in22Z(img,z0,z1,z) cimg_for_in22XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in22XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in22C(img,c0,c1,c) cimg_for_in22XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in22YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in22C(img,c0,c1,c) cimg_for_in22YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in22XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in22C(img,c0,c1,c) cimg_for_in22XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for22x22(img,x,y,z,c,I,T) \
+ cimg_for22((img)._height,y) for (int x = 0, \
+ _p10##x = 0, _p9##x = 0, _p8##x = 0, _p7##x = 0, _p6##x = 0, _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = 5>=((img)._width)?(img).width() - 1:5, \
+ _n6##x = 6>=((img)._width)?(img).width() - 1:6, \
+ _n7##x = 7>=((img)._width)?(img).width() - 1:7, \
+ _n8##x = 8>=((img)._width)?(img).width() - 1:8, \
+ _n9##x = 9>=((img)._width)?(img).width() - 1:9, \
+ _n10##x = 10>=((img)._width)?(img).width() - 1:10, \
+ _n11##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = I[6] = I[7] = I[8] = I[9] = I[10] = (T)(img)(0,_p10##y,z,c)), \
+ (I[22] = I[23] = I[24] = I[25] = I[26] = I[27] = I[28] = I[29] = I[30] = I[31] = I[32] = (T)(img)(0,_p9##y,z,c)), \
+ (I[44] = I[45] = I[46] = I[47] = I[48] = I[49] = I[50] = I[51] = I[52] = I[53] = I[54] = (T)(img)(0,_p8##y,z,c)), \
+ (I[66] = I[67] = I[68] = I[69] = I[70] = I[71] = I[72] = I[73] = I[74] = I[75] = I[76] = (T)(img)(0,_p7##y,z,c)), \
+ (I[88] = I[89] = I[90] = I[91] = I[92] = I[93] = I[94] = I[95] = I[96] = I[97] = I[98] = (T)(img)(0,_p6##y,z,c)), \
+ (I[110] = I[111] = I[112] = I[113] = I[114] = I[115] = I[116] = I[117] = I[118] = I[119] = I[120] = (T)(img)(0,_p5##y,z,c)), \
+ (I[132] = I[133] = I[134] = I[135] = I[136] = I[137] = I[138] = I[139] = I[140] = I[141] = I[142] = (T)(img)(0,_p4##y,z,c)), \
+ (I[154] = I[155] = I[156] = I[157] = I[158] = I[159] = I[160] = I[161] = I[162] = I[163] = I[164] = (T)(img)(0,_p3##y,z,c)), \
+ (I[176] = I[177] = I[178] = I[179] = I[180] = I[181] = I[182] = I[183] = I[184] = I[185] = I[186] = (T)(img)(0,_p2##y,z,c)), \
+ (I[198] = I[199] = I[200] = I[201] = I[202] = I[203] = I[204] = I[205] = I[206] = I[207] = I[208] = (T)(img)(0,_p1##y,z,c)), \
+ (I[220] = I[221] = I[222] = I[223] = I[224] = I[225] = I[226] = I[227] = I[228] = I[229] = I[230] = (T)(img)(0,y,z,c)), \
+ (I[242] = I[243] = I[244] = I[245] = I[246] = I[247] = I[248] = I[249] = I[250] = I[251] = I[252] = (T)(img)(0,_n1##y,z,c)), \
+ (I[264] = I[265] = I[266] = I[267] = I[268] = I[269] = I[270] = I[271] = I[272] = I[273] = I[274] = (T)(img)(0,_n2##y,z,c)), \
+ (I[286] = I[287] = I[288] = I[289] = I[290] = I[291] = I[292] = I[293] = I[294] = I[295] = I[296] = (T)(img)(0,_n3##y,z,c)), \
+ (I[308] = I[309] = I[310] = I[311] = I[312] = I[313] = I[314] = I[315] = I[316] = I[317] = I[318] = (T)(img)(0,_n4##y,z,c)), \
+ (I[330] = I[331] = I[332] = I[333] = I[334] = I[335] = I[336] = I[337] = I[338] = I[339] = I[340] = (T)(img)(0,_n5##y,z,c)), \
+ (I[352] = I[353] = I[354] = I[355] = I[356] = I[357] = I[358] = I[359] = I[360] = I[361] = I[362] = (T)(img)(0,_n6##y,z,c)), \
+ (I[374] = I[375] = I[376] = I[377] = I[378] = I[379] = I[380] = I[381] = I[382] = I[383] = I[384] = (T)(img)(0,_n7##y,z,c)), \
+ (I[396] = I[397] = I[398] = I[399] = I[400] = I[401] = I[402] = I[403] = I[404] = I[405] = I[406] = (T)(img)(0,_n8##y,z,c)), \
+ (I[418] = I[419] = I[420] = I[421] = I[422] = I[423] = I[424] = I[425] = I[426] = I[427] = I[428] = (T)(img)(0,_n9##y,z,c)), \
+ (I[440] = I[441] = I[442] = I[443] = I[444] = I[445] = I[446] = I[447] = I[448] = I[449] = I[450] = (T)(img)(0,_n10##y,z,c)), \
+ (I[462] = I[463] = I[464] = I[465] = I[466] = I[467] = I[468] = I[469] = I[470] = I[471] = I[472] = (T)(img)(0,_n11##y,z,c)), \
+ (I[11] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[33] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[55] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[77] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[99] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[121] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[143] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[165] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[187] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[209] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[231] = (T)(img)(_n1##x,y,z,c)), \
+ (I[253] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[275] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[297] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[319] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[341] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[363] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[385] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[407] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[429] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[451] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[473] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[12] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[34] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[56] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[78] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[100] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[122] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[144] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[166] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[188] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[210] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[232] = (T)(img)(_n2##x,y,z,c)), \
+ (I[254] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[276] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[298] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[320] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[342] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[364] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[386] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[408] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[430] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[452] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[474] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[13] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[35] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[57] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[79] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[101] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[123] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[145] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[167] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[189] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[211] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[233] = (T)(img)(_n3##x,y,z,c)), \
+ (I[255] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[277] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[299] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[321] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[343] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[365] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[387] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[409] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[431] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[453] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[475] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[14] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[36] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[58] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[80] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[102] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[124] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[146] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[168] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[190] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[212] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[234] = (T)(img)(_n4##x,y,z,c)), \
+ (I[256] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[278] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[300] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[322] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[344] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[366] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[388] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[410] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[432] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[454] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[476] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[15] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[37] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[59] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[81] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[103] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[125] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[147] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[169] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[191] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[213] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[235] = (T)(img)(_n5##x,y,z,c)), \
+ (I[257] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[279] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[301] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[323] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[345] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[367] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[389] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[411] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[433] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[455] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[477] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[16] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[38] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[60] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[82] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[104] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[126] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[148] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[170] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[192] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[214] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[236] = (T)(img)(_n6##x,y,z,c)), \
+ (I[258] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[280] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[302] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[324] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[346] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[368] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[390] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[412] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[434] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[456] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[478] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[17] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[39] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[61] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[83] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[105] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[127] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[149] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[171] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[193] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[215] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[237] = (T)(img)(_n7##x,y,z,c)), \
+ (I[259] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[281] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[303] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[325] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[347] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[369] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[391] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[413] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[435] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[457] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[479] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[18] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[40] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[62] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[84] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[106] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[128] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[150] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[172] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[194] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[216] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[238] = (T)(img)(_n8##x,y,z,c)), \
+ (I[260] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[282] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[304] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[326] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[348] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[370] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[392] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[414] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[436] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[458] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[480] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[19] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[41] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[63] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[85] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[107] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[129] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[151] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[173] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[195] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[217] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[239] = (T)(img)(_n9##x,y,z,c)), \
+ (I[261] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[283] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[305] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[327] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[349] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[371] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[393] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[415] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[437] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[459] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[481] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[20] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[42] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[64] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[86] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[108] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[130] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[152] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[174] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[196] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[218] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[240] = (T)(img)(_n10##x,y,z,c)), \
+ (I[262] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[284] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[306] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[328] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[350] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[372] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[394] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[416] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[438] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[460] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[482] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ 11>=((img)._width)?(img).width() - 1:11); \
+ (_n11##x<(img).width() && ( \
+ (I[21] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[43] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[65] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[87] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[109] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[131] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[153] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[175] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[197] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[219] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[241] = (T)(img)(_n11##x,y,z,c)), \
+ (I[263] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[285] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[307] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[329] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[351] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[373] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[395] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[417] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[439] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[461] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[483] = (T)(img)(_n11##x,_n11##y,z,c)),1)) || \
+ _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], \
+ I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], \
+ I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], \
+ I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], \
+ I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], \
+ I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], \
+ I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], \
+ I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], \
+ I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], \
+ I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], \
+ I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], \
+ I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], \
+ I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], \
+ I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], \
+ I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], \
+ I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], \
+ I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], I[359] = I[360], I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], \
+ I[374] = I[375], I[375] = I[376], I[376] = I[377], I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], \
+ I[396] = I[397], I[397] = I[398], I[398] = I[399], I[399] = I[400], I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], I[415] = I[416], I[416] = I[417], \
+ I[418] = I[419], I[419] = I[420], I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], I[431] = I[432], I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], \
+ I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], I[447] = I[448], I[448] = I[449], I[449] = I[450], I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], I[455] = I[456], I[456] = I[457], I[457] = I[458], I[458] = I[459], I[459] = I[460], I[460] = I[461], \
+ I[462] = I[463], I[463] = I[464], I[464] = I[465], I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], I[474] = I[475], I[475] = I[476], I[476] = I[477], I[477] = I[478], I[478] = I[479], I[479] = I[480], I[480] = I[481], I[481] = I[482], I[482] = I[483], \
+ _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x)
+
+#define cimg_for_in22x22(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in22((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p10##x = x - 10<0?0:x - 10, \
+ _p9##x = x - 9<0?0:x - 9, \
+ _p8##x = x - 8<0?0:x - 8, \
+ _p7##x = x - 7<0?0:x - 7, \
+ _p6##x = x - 6<0?0:x - 6, \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = x + 5>=(img).width()?(img).width() - 1:x + 5, \
+ _n6##x = x + 6>=(img).width()?(img).width() - 1:x + 6, \
+ _n7##x = x + 7>=(img).width()?(img).width() - 1:x + 7, \
+ _n8##x = x + 8>=(img).width()?(img).width() - 1:x + 8, \
+ _n9##x = x + 9>=(img).width()?(img).width() - 1:x + 9, \
+ _n10##x = x + 10>=(img).width()?(img).width() - 1:x + 10, \
+ _n11##x = (int)( \
+ (I[0] = (T)(img)(_p10##x,_p10##y,z,c)), \
+ (I[22] = (T)(img)(_p10##x,_p9##y,z,c)), \
+ (I[44] = (T)(img)(_p10##x,_p8##y,z,c)), \
+ (I[66] = (T)(img)(_p10##x,_p7##y,z,c)), \
+ (I[88] = (T)(img)(_p10##x,_p6##y,z,c)), \
+ (I[110] = (T)(img)(_p10##x,_p5##y,z,c)), \
+ (I[132] = (T)(img)(_p10##x,_p4##y,z,c)), \
+ (I[154] = (T)(img)(_p10##x,_p3##y,z,c)), \
+ (I[176] = (T)(img)(_p10##x,_p2##y,z,c)), \
+ (I[198] = (T)(img)(_p10##x,_p1##y,z,c)), \
+ (I[220] = (T)(img)(_p10##x,y,z,c)), \
+ (I[242] = (T)(img)(_p10##x,_n1##y,z,c)), \
+ (I[264] = (T)(img)(_p10##x,_n2##y,z,c)), \
+ (I[286] = (T)(img)(_p10##x,_n3##y,z,c)), \
+ (I[308] = (T)(img)(_p10##x,_n4##y,z,c)), \
+ (I[330] = (T)(img)(_p10##x,_n5##y,z,c)), \
+ (I[352] = (T)(img)(_p10##x,_n6##y,z,c)), \
+ (I[374] = (T)(img)(_p10##x,_n7##y,z,c)), \
+ (I[396] = (T)(img)(_p10##x,_n8##y,z,c)), \
+ (I[418] = (T)(img)(_p10##x,_n9##y,z,c)), \
+ (I[440] = (T)(img)(_p10##x,_n10##y,z,c)), \
+ (I[462] = (T)(img)(_p10##x,_n11##y,z,c)), \
+ (I[1] = (T)(img)(_p9##x,_p10##y,z,c)), \
+ (I[23] = (T)(img)(_p9##x,_p9##y,z,c)), \
+ (I[45] = (T)(img)(_p9##x,_p8##y,z,c)), \
+ (I[67] = (T)(img)(_p9##x,_p7##y,z,c)), \
+ (I[89] = (T)(img)(_p9##x,_p6##y,z,c)), \
+ (I[111] = (T)(img)(_p9##x,_p5##y,z,c)), \
+ (I[133] = (T)(img)(_p9##x,_p4##y,z,c)), \
+ (I[155] = (T)(img)(_p9##x,_p3##y,z,c)), \
+ (I[177] = (T)(img)(_p9##x,_p2##y,z,c)), \
+ (I[199] = (T)(img)(_p9##x,_p1##y,z,c)), \
+ (I[221] = (T)(img)(_p9##x,y,z,c)), \
+ (I[243] = (T)(img)(_p9##x,_n1##y,z,c)), \
+ (I[265] = (T)(img)(_p9##x,_n2##y,z,c)), \
+ (I[287] = (T)(img)(_p9##x,_n3##y,z,c)), \
+ (I[309] = (T)(img)(_p9##x,_n4##y,z,c)), \
+ (I[331] = (T)(img)(_p9##x,_n5##y,z,c)), \
+ (I[353] = (T)(img)(_p9##x,_n6##y,z,c)), \
+ (I[375] = (T)(img)(_p9##x,_n7##y,z,c)), \
+ (I[397] = (T)(img)(_p9##x,_n8##y,z,c)), \
+ (I[419] = (T)(img)(_p9##x,_n9##y,z,c)), \
+ (I[441] = (T)(img)(_p9##x,_n10##y,z,c)), \
+ (I[463] = (T)(img)(_p9##x,_n11##y,z,c)), \
+ (I[2] = (T)(img)(_p8##x,_p10##y,z,c)), \
+ (I[24] = (T)(img)(_p8##x,_p9##y,z,c)), \
+ (I[46] = (T)(img)(_p8##x,_p8##y,z,c)), \
+ (I[68] = (T)(img)(_p8##x,_p7##y,z,c)), \
+ (I[90] = (T)(img)(_p8##x,_p6##y,z,c)), \
+ (I[112] = (T)(img)(_p8##x,_p5##y,z,c)), \
+ (I[134] = (T)(img)(_p8##x,_p4##y,z,c)), \
+ (I[156] = (T)(img)(_p8##x,_p3##y,z,c)), \
+ (I[178] = (T)(img)(_p8##x,_p2##y,z,c)), \
+ (I[200] = (T)(img)(_p8##x,_p1##y,z,c)), \
+ (I[222] = (T)(img)(_p8##x,y,z,c)), \
+ (I[244] = (T)(img)(_p8##x,_n1##y,z,c)), \
+ (I[266] = (T)(img)(_p8##x,_n2##y,z,c)), \
+ (I[288] = (T)(img)(_p8##x,_n3##y,z,c)), \
+ (I[310] = (T)(img)(_p8##x,_n4##y,z,c)), \
+ (I[332] = (T)(img)(_p8##x,_n5##y,z,c)), \
+ (I[354] = (T)(img)(_p8##x,_n6##y,z,c)), \
+ (I[376] = (T)(img)(_p8##x,_n7##y,z,c)), \
+ (I[398] = (T)(img)(_p8##x,_n8##y,z,c)), \
+ (I[420] = (T)(img)(_p8##x,_n9##y,z,c)), \
+ (I[442] = (T)(img)(_p8##x,_n10##y,z,c)), \
+ (I[464] = (T)(img)(_p8##x,_n11##y,z,c)), \
+ (I[3] = (T)(img)(_p7##x,_p10##y,z,c)), \
+ (I[25] = (T)(img)(_p7##x,_p9##y,z,c)), \
+ (I[47] = (T)(img)(_p7##x,_p8##y,z,c)), \
+ (I[69] = (T)(img)(_p7##x,_p7##y,z,c)), \
+ (I[91] = (T)(img)(_p7##x,_p6##y,z,c)), \
+ (I[113] = (T)(img)(_p7##x,_p5##y,z,c)), \
+ (I[135] = (T)(img)(_p7##x,_p4##y,z,c)), \
+ (I[157] = (T)(img)(_p7##x,_p3##y,z,c)), \
+ (I[179] = (T)(img)(_p7##x,_p2##y,z,c)), \
+ (I[201] = (T)(img)(_p7##x,_p1##y,z,c)), \
+ (I[223] = (T)(img)(_p7##x,y,z,c)), \
+ (I[245] = (T)(img)(_p7##x,_n1##y,z,c)), \
+ (I[267] = (T)(img)(_p7##x,_n2##y,z,c)), \
+ (I[289] = (T)(img)(_p7##x,_n3##y,z,c)), \
+ (I[311] = (T)(img)(_p7##x,_n4##y,z,c)), \
+ (I[333] = (T)(img)(_p7##x,_n5##y,z,c)), \
+ (I[355] = (T)(img)(_p7##x,_n6##y,z,c)), \
+ (I[377] = (T)(img)(_p7##x,_n7##y,z,c)), \
+ (I[399] = (T)(img)(_p7##x,_n8##y,z,c)), \
+ (I[421] = (T)(img)(_p7##x,_n9##y,z,c)), \
+ (I[443] = (T)(img)(_p7##x,_n10##y,z,c)), \
+ (I[465] = (T)(img)(_p7##x,_n11##y,z,c)), \
+ (I[4] = (T)(img)(_p6##x,_p10##y,z,c)), \
+ (I[26] = (T)(img)(_p6##x,_p9##y,z,c)), \
+ (I[48] = (T)(img)(_p6##x,_p8##y,z,c)), \
+ (I[70] = (T)(img)(_p6##x,_p7##y,z,c)), \
+ (I[92] = (T)(img)(_p6##x,_p6##y,z,c)), \
+ (I[114] = (T)(img)(_p6##x,_p5##y,z,c)), \
+ (I[136] = (T)(img)(_p6##x,_p4##y,z,c)), \
+ (I[158] = (T)(img)(_p6##x,_p3##y,z,c)), \
+ (I[180] = (T)(img)(_p6##x,_p2##y,z,c)), \
+ (I[202] = (T)(img)(_p6##x,_p1##y,z,c)), \
+ (I[224] = (T)(img)(_p6##x,y,z,c)), \
+ (I[246] = (T)(img)(_p6##x,_n1##y,z,c)), \
+ (I[268] = (T)(img)(_p6##x,_n2##y,z,c)), \
+ (I[290] = (T)(img)(_p6##x,_n3##y,z,c)), \
+ (I[312] = (T)(img)(_p6##x,_n4##y,z,c)), \
+ (I[334] = (T)(img)(_p6##x,_n5##y,z,c)), \
+ (I[356] = (T)(img)(_p6##x,_n6##y,z,c)), \
+ (I[378] = (T)(img)(_p6##x,_n7##y,z,c)), \
+ (I[400] = (T)(img)(_p6##x,_n8##y,z,c)), \
+ (I[422] = (T)(img)(_p6##x,_n9##y,z,c)), \
+ (I[444] = (T)(img)(_p6##x,_n10##y,z,c)), \
+ (I[466] = (T)(img)(_p6##x,_n11##y,z,c)), \
+ (I[5] = (T)(img)(_p5##x,_p10##y,z,c)), \
+ (I[27] = (T)(img)(_p5##x,_p9##y,z,c)), \
+ (I[49] = (T)(img)(_p5##x,_p8##y,z,c)), \
+ (I[71] = (T)(img)(_p5##x,_p7##y,z,c)), \
+ (I[93] = (T)(img)(_p5##x,_p6##y,z,c)), \
+ (I[115] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[137] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[159] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[181] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[203] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[225] = (T)(img)(_p5##x,y,z,c)), \
+ (I[247] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[269] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[291] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[313] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[335] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[357] = (T)(img)(_p5##x,_n6##y,z,c)), \
+ (I[379] = (T)(img)(_p5##x,_n7##y,z,c)), \
+ (I[401] = (T)(img)(_p5##x,_n8##y,z,c)), \
+ (I[423] = (T)(img)(_p5##x,_n9##y,z,c)), \
+ (I[445] = (T)(img)(_p5##x,_n10##y,z,c)), \
+ (I[467] = (T)(img)(_p5##x,_n11##y,z,c)), \
+ (I[6] = (T)(img)(_p4##x,_p10##y,z,c)), \
+ (I[28] = (T)(img)(_p4##x,_p9##y,z,c)), \
+ (I[50] = (T)(img)(_p4##x,_p8##y,z,c)), \
+ (I[72] = (T)(img)(_p4##x,_p7##y,z,c)), \
+ (I[94] = (T)(img)(_p4##x,_p6##y,z,c)), \
+ (I[116] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[138] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[160] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[182] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[204] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[226] = (T)(img)(_p4##x,y,z,c)), \
+ (I[248] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[270] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[292] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[314] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[336] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[358] = (T)(img)(_p4##x,_n6##y,z,c)), \
+ (I[380] = (T)(img)(_p4##x,_n7##y,z,c)), \
+ (I[402] = (T)(img)(_p4##x,_n8##y,z,c)), \
+ (I[424] = (T)(img)(_p4##x,_n9##y,z,c)), \
+ (I[446] = (T)(img)(_p4##x,_n10##y,z,c)), \
+ (I[468] = (T)(img)(_p4##x,_n11##y,z,c)), \
+ (I[7] = (T)(img)(_p3##x,_p10##y,z,c)), \
+ (I[29] = (T)(img)(_p3##x,_p9##y,z,c)), \
+ (I[51] = (T)(img)(_p3##x,_p8##y,z,c)), \
+ (I[73] = (T)(img)(_p3##x,_p7##y,z,c)), \
+ (I[95] = (T)(img)(_p3##x,_p6##y,z,c)), \
+ (I[117] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[139] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[161] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[183] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[205] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[227] = (T)(img)(_p3##x,y,z,c)), \
+ (I[249] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[271] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[293] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[315] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[337] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[359] = (T)(img)(_p3##x,_n6##y,z,c)), \
+ (I[381] = (T)(img)(_p3##x,_n7##y,z,c)), \
+ (I[403] = (T)(img)(_p3##x,_n8##y,z,c)), \
+ (I[425] = (T)(img)(_p3##x,_n9##y,z,c)), \
+ (I[447] = (T)(img)(_p3##x,_n10##y,z,c)), \
+ (I[469] = (T)(img)(_p3##x,_n11##y,z,c)), \
+ (I[8] = (T)(img)(_p2##x,_p10##y,z,c)), \
+ (I[30] = (T)(img)(_p2##x,_p9##y,z,c)), \
+ (I[52] = (T)(img)(_p2##x,_p8##y,z,c)), \
+ (I[74] = (T)(img)(_p2##x,_p7##y,z,c)), \
+ (I[96] = (T)(img)(_p2##x,_p6##y,z,c)), \
+ (I[118] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[140] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[162] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[184] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[206] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[228] = (T)(img)(_p2##x,y,z,c)), \
+ (I[250] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[272] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[294] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[316] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[338] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[360] = (T)(img)(_p2##x,_n6##y,z,c)), \
+ (I[382] = (T)(img)(_p2##x,_n7##y,z,c)), \
+ (I[404] = (T)(img)(_p2##x,_n8##y,z,c)), \
+ (I[426] = (T)(img)(_p2##x,_n9##y,z,c)), \
+ (I[448] = (T)(img)(_p2##x,_n10##y,z,c)), \
+ (I[470] = (T)(img)(_p2##x,_n11##y,z,c)), \
+ (I[9] = (T)(img)(_p1##x,_p10##y,z,c)), \
+ (I[31] = (T)(img)(_p1##x,_p9##y,z,c)), \
+ (I[53] = (T)(img)(_p1##x,_p8##y,z,c)), \
+ (I[75] = (T)(img)(_p1##x,_p7##y,z,c)), \
+ (I[97] = (T)(img)(_p1##x,_p6##y,z,c)), \
+ (I[119] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[141] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[163] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[185] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[207] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[229] = (T)(img)(_p1##x,y,z,c)), \
+ (I[251] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[273] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[295] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[317] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[339] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[361] = (T)(img)(_p1##x,_n6##y,z,c)), \
+ (I[383] = (T)(img)(_p1##x,_n7##y,z,c)), \
+ (I[405] = (T)(img)(_p1##x,_n8##y,z,c)), \
+ (I[427] = (T)(img)(_p1##x,_n9##y,z,c)), \
+ (I[449] = (T)(img)(_p1##x,_n10##y,z,c)), \
+ (I[471] = (T)(img)(_p1##x,_n11##y,z,c)), \
+ (I[10] = (T)(img)(x,_p10##y,z,c)), \
+ (I[32] = (T)(img)(x,_p9##y,z,c)), \
+ (I[54] = (T)(img)(x,_p8##y,z,c)), \
+ (I[76] = (T)(img)(x,_p7##y,z,c)), \
+ (I[98] = (T)(img)(x,_p6##y,z,c)), \
+ (I[120] = (T)(img)(x,_p5##y,z,c)), \
+ (I[142] = (T)(img)(x,_p4##y,z,c)), \
+ (I[164] = (T)(img)(x,_p3##y,z,c)), \
+ (I[186] = (T)(img)(x,_p2##y,z,c)), \
+ (I[208] = (T)(img)(x,_p1##y,z,c)), \
+ (I[230] = (T)(img)(x,y,z,c)), \
+ (I[252] = (T)(img)(x,_n1##y,z,c)), \
+ (I[274] = (T)(img)(x,_n2##y,z,c)), \
+ (I[296] = (T)(img)(x,_n3##y,z,c)), \
+ (I[318] = (T)(img)(x,_n4##y,z,c)), \
+ (I[340] = (T)(img)(x,_n5##y,z,c)), \
+ (I[362] = (T)(img)(x,_n6##y,z,c)), \
+ (I[384] = (T)(img)(x,_n7##y,z,c)), \
+ (I[406] = (T)(img)(x,_n8##y,z,c)), \
+ (I[428] = (T)(img)(x,_n9##y,z,c)), \
+ (I[450] = (T)(img)(x,_n10##y,z,c)), \
+ (I[472] = (T)(img)(x,_n11##y,z,c)), \
+ (I[11] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[33] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[55] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[77] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[99] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[121] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[143] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[165] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[187] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[209] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[231] = (T)(img)(_n1##x,y,z,c)), \
+ (I[253] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[275] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[297] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[319] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[341] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[363] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[385] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[407] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[429] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[451] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[473] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[12] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[34] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[56] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[78] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[100] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[122] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[144] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[166] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[188] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[210] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[232] = (T)(img)(_n2##x,y,z,c)), \
+ (I[254] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[276] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[298] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[320] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[342] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[364] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[386] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[408] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[430] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[452] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[474] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[13] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[35] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[57] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[79] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[101] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[123] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[145] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[167] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[189] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[211] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[233] = (T)(img)(_n3##x,y,z,c)), \
+ (I[255] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[277] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[299] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[321] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[343] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[365] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[387] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[409] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[431] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[453] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[475] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[14] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[36] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[58] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[80] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[102] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[124] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[146] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[168] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[190] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[212] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[234] = (T)(img)(_n4##x,y,z,c)), \
+ (I[256] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[278] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[300] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[322] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[344] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[366] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[388] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[410] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[432] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[454] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[476] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[15] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[37] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[59] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[81] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[103] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[125] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[147] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[169] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[191] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[213] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[235] = (T)(img)(_n5##x,y,z,c)), \
+ (I[257] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[279] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[301] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[323] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[345] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[367] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[389] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[411] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[433] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[455] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[477] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[16] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[38] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[60] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[82] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[104] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[126] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[148] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[170] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[192] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[214] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[236] = (T)(img)(_n6##x,y,z,c)), \
+ (I[258] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[280] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[302] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[324] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[346] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[368] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[390] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[412] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[434] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[456] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[478] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[17] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[39] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[61] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[83] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[105] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[127] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[149] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[171] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[193] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[215] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[237] = (T)(img)(_n7##x,y,z,c)), \
+ (I[259] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[281] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[303] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[325] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[347] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[369] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[391] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[413] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[435] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[457] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[479] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[18] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[40] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[62] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[84] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[106] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[128] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[150] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[172] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[194] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[216] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[238] = (T)(img)(_n8##x,y,z,c)), \
+ (I[260] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[282] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[304] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[326] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[348] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[370] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[392] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[414] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[436] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[458] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[480] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[19] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[41] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[63] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[85] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[107] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[129] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[151] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[173] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[195] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[217] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[239] = (T)(img)(_n9##x,y,z,c)), \
+ (I[261] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[283] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[305] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[327] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[349] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[371] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[393] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[415] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[437] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[459] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[481] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[20] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[42] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[64] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[86] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[108] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[130] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[152] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[174] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[196] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[218] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[240] = (T)(img)(_n10##x,y,z,c)), \
+ (I[262] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[284] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[306] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[328] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[350] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[372] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[394] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[416] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[438] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[460] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[482] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ x + 11>=(img).width()?(img).width() - 1:x + 11); \
+ x<=(int)(x1) && ((_n11##x<(img).width() && ( \
+ (I[21] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[43] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[65] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[87] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[109] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[131] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[153] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[175] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[197] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[219] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[241] = (T)(img)(_n11##x,y,z,c)), \
+ (I[263] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[285] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[307] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[329] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[351] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[373] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[395] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[417] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[439] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[461] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[483] = (T)(img)(_n11##x,_n11##y,z,c)),1)) || \
+ _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], \
+ I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], \
+ I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], \
+ I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], \
+ I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], \
+ I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], \
+ I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], \
+ I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], \
+ I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], \
+ I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], \
+ I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], \
+ I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], \
+ I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], \
+ I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], \
+ I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], \
+ I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], \
+ I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], I[359] = I[360], I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], \
+ I[374] = I[375], I[375] = I[376], I[376] = I[377], I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], \
+ I[396] = I[397], I[397] = I[398], I[398] = I[399], I[399] = I[400], I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], I[415] = I[416], I[416] = I[417], \
+ I[418] = I[419], I[419] = I[420], I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], I[431] = I[432], I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], \
+ I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], I[447] = I[448], I[448] = I[449], I[449] = I[450], I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], I[455] = I[456], I[456] = I[457], I[457] = I[458], I[458] = I[459], I[459] = I[460], I[460] = I[461], \
+ I[462] = I[463], I[463] = I[464], I[464] = I[465], I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], I[474] = I[475], I[475] = I[476], I[476] = I[477], I[477] = I[478], I[478] = I[479], I[479] = I[480], I[480] = I[481], I[481] = I[482], I[482] = I[483], \
+ _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x)
+
+#define cimg_get22x22(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p10##x,_p10##y,z,c), I[1] = (T)(img)(_p9##x,_p10##y,z,c), I[2] = (T)(img)(_p8##x,_p10##y,z,c), I[3] = (T)(img)(_p7##x,_p10##y,z,c), I[4] = (T)(img)(_p6##x,_p10##y,z,c), I[5] = (T)(img)(_p5##x,_p10##y,z,c), I[6] = (T)(img)(_p4##x,_p10##y,z,c), I[7] = (T)(img)(_p3##x,_p10##y,z,c), I[8] = (T)(img)(_p2##x,_p10##y,z,c), I[9] = (T)(img)(_p1##x,_p10##y,z,c), I[10] = (T)(img)(x,_p10##y,z,c), I[11] = (T)(img)(_n1##x,_p10##y,z,c), I[12] = (T)(img)(_n2##x,_p10##y,z,c), I[13] = (T) [...]
+ I[22] = (T)(img)(_p10##x,_p9##y,z,c), I[23] = (T)(img)(_p9##x,_p9##y,z,c), I[24] = (T)(img)(_p8##x,_p9##y,z,c), I[25] = (T)(img)(_p7##x,_p9##y,z,c), I[26] = (T)(img)(_p6##x,_p9##y,z,c), I[27] = (T)(img)(_p5##x,_p9##y,z,c), I[28] = (T)(img)(_p4##x,_p9##y,z,c), I[29] = (T)(img)(_p3##x,_p9##y,z,c), I[30] = (T)(img)(_p2##x,_p9##y,z,c), I[31] = (T)(img)(_p1##x,_p9##y,z,c), I[32] = (T)(img)(x,_p9##y,z,c), I[33] = (T)(img)(_n1##x,_p9##y,z,c), I[34] = (T)(img)(_n2##x,_p9##y,z,c), I[35] = (T)(im [...]
+ I[44] = (T)(img)(_p10##x,_p8##y,z,c), I[45] = (T)(img)(_p9##x,_p8##y,z,c), I[46] = (T)(img)(_p8##x,_p8##y,z,c), I[47] = (T)(img)(_p7##x,_p8##y,z,c), I[48] = (T)(img)(_p6##x,_p8##y,z,c), I[49] = (T)(img)(_p5##x,_p8##y,z,c), I[50] = (T)(img)(_p4##x,_p8##y,z,c), I[51] = (T)(img)(_p3##x,_p8##y,z,c), I[52] = (T)(img)(_p2##x,_p8##y,z,c), I[53] = (T)(img)(_p1##x,_p8##y,z,c), I[54] = (T)(img)(x,_p8##y,z,c), I[55] = (T)(img)(_n1##x,_p8##y,z,c), I[56] = (T)(img)(_n2##x,_p8##y,z,c), I[57] = (T)(im [...]
+ I[66] = (T)(img)(_p10##x,_p7##y,z,c), I[67] = (T)(img)(_p9##x,_p7##y,z,c), I[68] = (T)(img)(_p8##x,_p7##y,z,c), I[69] = (T)(img)(_p7##x,_p7##y,z,c), I[70] = (T)(img)(_p6##x,_p7##y,z,c), I[71] = (T)(img)(_p5##x,_p7##y,z,c), I[72] = (T)(img)(_p4##x,_p7##y,z,c), I[73] = (T)(img)(_p3##x,_p7##y,z,c), I[74] = (T)(img)(_p2##x,_p7##y,z,c), I[75] = (T)(img)(_p1##x,_p7##y,z,c), I[76] = (T)(img)(x,_p7##y,z,c), I[77] = (T)(img)(_n1##x,_p7##y,z,c), I[78] = (T)(img)(_n2##x,_p7##y,z,c), I[79] = (T)(im [...]
+ I[88] = (T)(img)(_p10##x,_p6##y,z,c), I[89] = (T)(img)(_p9##x,_p6##y,z,c), I[90] = (T)(img)(_p8##x,_p6##y,z,c), I[91] = (T)(img)(_p7##x,_p6##y,z,c), I[92] = (T)(img)(_p6##x,_p6##y,z,c), I[93] = (T)(img)(_p5##x,_p6##y,z,c), I[94] = (T)(img)(_p4##x,_p6##y,z,c), I[95] = (T)(img)(_p3##x,_p6##y,z,c), I[96] = (T)(img)(_p2##x,_p6##y,z,c), I[97] = (T)(img)(_p1##x,_p6##y,z,c), I[98] = (T)(img)(x,_p6##y,z,c), I[99] = (T)(img)(_n1##x,_p6##y,z,c), I[100] = (T)(img)(_n2##x,_p6##y,z,c), I[101] = (T)( [...]
+ I[110] = (T)(img)(_p10##x,_p5##y,z,c), I[111] = (T)(img)(_p9##x,_p5##y,z,c), I[112] = (T)(img)(_p8##x,_p5##y,z,c), I[113] = (T)(img)(_p7##x,_p5##y,z,c), I[114] = (T)(img)(_p6##x,_p5##y,z,c), I[115] = (T)(img)(_p5##x,_p5##y,z,c), I[116] = (T)(img)(_p4##x,_p5##y,z,c), I[117] = (T)(img)(_p3##x,_p5##y,z,c), I[118] = (T)(img)(_p2##x,_p5##y,z,c), I[119] = (T)(img)(_p1##x,_p5##y,z,c), I[120] = (T)(img)(x,_p5##y,z,c), I[121] = (T)(img)(_n1##x,_p5##y,z,c), I[122] = (T)(img)(_n2##x,_p5##y,z,c), I [...]
+ I[132] = (T)(img)(_p10##x,_p4##y,z,c), I[133] = (T)(img)(_p9##x,_p4##y,z,c), I[134] = (T)(img)(_p8##x,_p4##y,z,c), I[135] = (T)(img)(_p7##x,_p4##y,z,c), I[136] = (T)(img)(_p6##x,_p4##y,z,c), I[137] = (T)(img)(_p5##x,_p4##y,z,c), I[138] = (T)(img)(_p4##x,_p4##y,z,c), I[139] = (T)(img)(_p3##x,_p4##y,z,c), I[140] = (T)(img)(_p2##x,_p4##y,z,c), I[141] = (T)(img)(_p1##x,_p4##y,z,c), I[142] = (T)(img)(x,_p4##y,z,c), I[143] = (T)(img)(_n1##x,_p4##y,z,c), I[144] = (T)(img)(_n2##x,_p4##y,z,c), I [...]
+ I[154] = (T)(img)(_p10##x,_p3##y,z,c), I[155] = (T)(img)(_p9##x,_p3##y,z,c), I[156] = (T)(img)(_p8##x,_p3##y,z,c), I[157] = (T)(img)(_p7##x,_p3##y,z,c), I[158] = (T)(img)(_p6##x,_p3##y,z,c), I[159] = (T)(img)(_p5##x,_p3##y,z,c), I[160] = (T)(img)(_p4##x,_p3##y,z,c), I[161] = (T)(img)(_p3##x,_p3##y,z,c), I[162] = (T)(img)(_p2##x,_p3##y,z,c), I[163] = (T)(img)(_p1##x,_p3##y,z,c), I[164] = (T)(img)(x,_p3##y,z,c), I[165] = (T)(img)(_n1##x,_p3##y,z,c), I[166] = (T)(img)(_n2##x,_p3##y,z,c), I [...]
+ I[176] = (T)(img)(_p10##x,_p2##y,z,c), I[177] = (T)(img)(_p9##x,_p2##y,z,c), I[178] = (T)(img)(_p8##x,_p2##y,z,c), I[179] = (T)(img)(_p7##x,_p2##y,z,c), I[180] = (T)(img)(_p6##x,_p2##y,z,c), I[181] = (T)(img)(_p5##x,_p2##y,z,c), I[182] = (T)(img)(_p4##x,_p2##y,z,c), I[183] = (T)(img)(_p3##x,_p2##y,z,c), I[184] = (T)(img)(_p2##x,_p2##y,z,c), I[185] = (T)(img)(_p1##x,_p2##y,z,c), I[186] = (T)(img)(x,_p2##y,z,c), I[187] = (T)(img)(_n1##x,_p2##y,z,c), I[188] = (T)(img)(_n2##x,_p2##y,z,c), I [...]
+ I[198] = (T)(img)(_p10##x,_p1##y,z,c), I[199] = (T)(img)(_p9##x,_p1##y,z,c), I[200] = (T)(img)(_p8##x,_p1##y,z,c), I[201] = (T)(img)(_p7##x,_p1##y,z,c), I[202] = (T)(img)(_p6##x,_p1##y,z,c), I[203] = (T)(img)(_p5##x,_p1##y,z,c), I[204] = (T)(img)(_p4##x,_p1##y,z,c), I[205] = (T)(img)(_p3##x,_p1##y,z,c), I[206] = (T)(img)(_p2##x,_p1##y,z,c), I[207] = (T)(img)(_p1##x,_p1##y,z,c), I[208] = (T)(img)(x,_p1##y,z,c), I[209] = (T)(img)(_n1##x,_p1##y,z,c), I[210] = (T)(img)(_n2##x,_p1##y,z,c), I [...]
+ I[220] = (T)(img)(_p10##x,y,z,c), I[221] = (T)(img)(_p9##x,y,z,c), I[222] = (T)(img)(_p8##x,y,z,c), I[223] = (T)(img)(_p7##x,y,z,c), I[224] = (T)(img)(_p6##x,y,z,c), I[225] = (T)(img)(_p5##x,y,z,c), I[226] = (T)(img)(_p4##x,y,z,c), I[227] = (T)(img)(_p3##x,y,z,c), I[228] = (T)(img)(_p2##x,y,z,c), I[229] = (T)(img)(_p1##x,y,z,c), I[230] = (T)(img)(x,y,z,c), I[231] = (T)(img)(_n1##x,y,z,c), I[232] = (T)(img)(_n2##x,y,z,c), I[233] = (T)(img)(_n3##x,y,z,c), I[234] = (T)(img)(_n4##x,y,z,c),  [...]
+ I[242] = (T)(img)(_p10##x,_n1##y,z,c), I[243] = (T)(img)(_p9##x,_n1##y,z,c), I[244] = (T)(img)(_p8##x,_n1##y,z,c), I[245] = (T)(img)(_p7##x,_n1##y,z,c), I[246] = (T)(img)(_p6##x,_n1##y,z,c), I[247] = (T)(img)(_p5##x,_n1##y,z,c), I[248] = (T)(img)(_p4##x,_n1##y,z,c), I[249] = (T)(img)(_p3##x,_n1##y,z,c), I[250] = (T)(img)(_p2##x,_n1##y,z,c), I[251] = (T)(img)(_p1##x,_n1##y,z,c), I[252] = (T)(img)(x,_n1##y,z,c), I[253] = (T)(img)(_n1##x,_n1##y,z,c), I[254] = (T)(img)(_n2##x,_n1##y,z,c), I [...]
+ I[264] = (T)(img)(_p10##x,_n2##y,z,c), I[265] = (T)(img)(_p9##x,_n2##y,z,c), I[266] = (T)(img)(_p8##x,_n2##y,z,c), I[267] = (T)(img)(_p7##x,_n2##y,z,c), I[268] = (T)(img)(_p6##x,_n2##y,z,c), I[269] = (T)(img)(_p5##x,_n2##y,z,c), I[270] = (T)(img)(_p4##x,_n2##y,z,c), I[271] = (T)(img)(_p3##x,_n2##y,z,c), I[272] = (T)(img)(_p2##x,_n2##y,z,c), I[273] = (T)(img)(_p1##x,_n2##y,z,c), I[274] = (T)(img)(x,_n2##y,z,c), I[275] = (T)(img)(_n1##x,_n2##y,z,c), I[276] = (T)(img)(_n2##x,_n2##y,z,c), I [...]
+ I[286] = (T)(img)(_p10##x,_n3##y,z,c), I[287] = (T)(img)(_p9##x,_n3##y,z,c), I[288] = (T)(img)(_p8##x,_n3##y,z,c), I[289] = (T)(img)(_p7##x,_n3##y,z,c), I[290] = (T)(img)(_p6##x,_n3##y,z,c), I[291] = (T)(img)(_p5##x,_n3##y,z,c), I[292] = (T)(img)(_p4##x,_n3##y,z,c), I[293] = (T)(img)(_p3##x,_n3##y,z,c), I[294] = (T)(img)(_p2##x,_n3##y,z,c), I[295] = (T)(img)(_p1##x,_n3##y,z,c), I[296] = (T)(img)(x,_n3##y,z,c), I[297] = (T)(img)(_n1##x,_n3##y,z,c), I[298] = (T)(img)(_n2##x,_n3##y,z,c), I [...]
+ I[308] = (T)(img)(_p10##x,_n4##y,z,c), I[309] = (T)(img)(_p9##x,_n4##y,z,c), I[310] = (T)(img)(_p8##x,_n4##y,z,c), I[311] = (T)(img)(_p7##x,_n4##y,z,c), I[312] = (T)(img)(_p6##x,_n4##y,z,c), I[313] = (T)(img)(_p5##x,_n4##y,z,c), I[314] = (T)(img)(_p4##x,_n4##y,z,c), I[315] = (T)(img)(_p3##x,_n4##y,z,c), I[316] = (T)(img)(_p2##x,_n4##y,z,c), I[317] = (T)(img)(_p1##x,_n4##y,z,c), I[318] = (T)(img)(x,_n4##y,z,c), I[319] = (T)(img)(_n1##x,_n4##y,z,c), I[320] = (T)(img)(_n2##x,_n4##y,z,c), I [...]
+ I[330] = (T)(img)(_p10##x,_n5##y,z,c), I[331] = (T)(img)(_p9##x,_n5##y,z,c), I[332] = (T)(img)(_p8##x,_n5##y,z,c), I[333] = (T)(img)(_p7##x,_n5##y,z,c), I[334] = (T)(img)(_p6##x,_n5##y,z,c), I[335] = (T)(img)(_p5##x,_n5##y,z,c), I[336] = (T)(img)(_p4##x,_n5##y,z,c), I[337] = (T)(img)(_p3##x,_n5##y,z,c), I[338] = (T)(img)(_p2##x,_n5##y,z,c), I[339] = (T)(img)(_p1##x,_n5##y,z,c), I[340] = (T)(img)(x,_n5##y,z,c), I[341] = (T)(img)(_n1##x,_n5##y,z,c), I[342] = (T)(img)(_n2##x,_n5##y,z,c), I [...]
+ I[352] = (T)(img)(_p10##x,_n6##y,z,c), I[353] = (T)(img)(_p9##x,_n6##y,z,c), I[354] = (T)(img)(_p8##x,_n6##y,z,c), I[355] = (T)(img)(_p7##x,_n6##y,z,c), I[356] = (T)(img)(_p6##x,_n6##y,z,c), I[357] = (T)(img)(_p5##x,_n6##y,z,c), I[358] = (T)(img)(_p4##x,_n6##y,z,c), I[359] = (T)(img)(_p3##x,_n6##y,z,c), I[360] = (T)(img)(_p2##x,_n6##y,z,c), I[361] = (T)(img)(_p1##x,_n6##y,z,c), I[362] = (T)(img)(x,_n6##y,z,c), I[363] = (T)(img)(_n1##x,_n6##y,z,c), I[364] = (T)(img)(_n2##x,_n6##y,z,c), I [...]
+ I[374] = (T)(img)(_p10##x,_n7##y,z,c), I[375] = (T)(img)(_p9##x,_n7##y,z,c), I[376] = (T)(img)(_p8##x,_n7##y,z,c), I[377] = (T)(img)(_p7##x,_n7##y,z,c), I[378] = (T)(img)(_p6##x,_n7##y,z,c), I[379] = (T)(img)(_p5##x,_n7##y,z,c), I[380] = (T)(img)(_p4##x,_n7##y,z,c), I[381] = (T)(img)(_p3##x,_n7##y,z,c), I[382] = (T)(img)(_p2##x,_n7##y,z,c), I[383] = (T)(img)(_p1##x,_n7##y,z,c), I[384] = (T)(img)(x,_n7##y,z,c), I[385] = (T)(img)(_n1##x,_n7##y,z,c), I[386] = (T)(img)(_n2##x,_n7##y,z,c), I [...]
+ I[396] = (T)(img)(_p10##x,_n8##y,z,c), I[397] = (T)(img)(_p9##x,_n8##y,z,c), I[398] = (T)(img)(_p8##x,_n8##y,z,c), I[399] = (T)(img)(_p7##x,_n8##y,z,c), I[400] = (T)(img)(_p6##x,_n8##y,z,c), I[401] = (T)(img)(_p5##x,_n8##y,z,c), I[402] = (T)(img)(_p4##x,_n8##y,z,c), I[403] = (T)(img)(_p3##x,_n8##y,z,c), I[404] = (T)(img)(_p2##x,_n8##y,z,c), I[405] = (T)(img)(_p1##x,_n8##y,z,c), I[406] = (T)(img)(x,_n8##y,z,c), I[407] = (T)(img)(_n1##x,_n8##y,z,c), I[408] = (T)(img)(_n2##x,_n8##y,z,c), I [...]
+ I[418] = (T)(img)(_p10##x,_n9##y,z,c), I[419] = (T)(img)(_p9##x,_n9##y,z,c), I[420] = (T)(img)(_p8##x,_n9##y,z,c), I[421] = (T)(img)(_p7##x,_n9##y,z,c), I[422] = (T)(img)(_p6##x,_n9##y,z,c), I[423] = (T)(img)(_p5##x,_n9##y,z,c), I[424] = (T)(img)(_p4##x,_n9##y,z,c), I[425] = (T)(img)(_p3##x,_n9##y,z,c), I[426] = (T)(img)(_p2##x,_n9##y,z,c), I[427] = (T)(img)(_p1##x,_n9##y,z,c), I[428] = (T)(img)(x,_n9##y,z,c), I[429] = (T)(img)(_n1##x,_n9##y,z,c), I[430] = (T)(img)(_n2##x,_n9##y,z,c), I [...]
+ I[440] = (T)(img)(_p10##x,_n10##y,z,c), I[441] = (T)(img)(_p9##x,_n10##y,z,c), I[442] = (T)(img)(_p8##x,_n10##y,z,c), I[443] = (T)(img)(_p7##x,_n10##y,z,c), I[444] = (T)(img)(_p6##x,_n10##y,z,c), I[445] = (T)(img)(_p5##x,_n10##y,z,c), I[446] = (T)(img)(_p4##x,_n10##y,z,c), I[447] = (T)(img)(_p3##x,_n10##y,z,c), I[448] = (T)(img)(_p2##x,_n10##y,z,c), I[449] = (T)(img)(_p1##x,_n10##y,z,c), I[450] = (T)(img)(x,_n10##y,z,c), I[451] = (T)(img)(_n1##x,_n10##y,z,c), I[452] = (T)(img)(_n2##x,_n [...]
+ I[462] = (T)(img)(_p10##x,_n11##y,z,c), I[463] = (T)(img)(_p9##x,_n11##y,z,c), I[464] = (T)(img)(_p8##x,_n11##y,z,c), I[465] = (T)(img)(_p7##x,_n11##y,z,c), I[466] = (T)(img)(_p6##x,_n11##y,z,c), I[467] = (T)(img)(_p5##x,_n11##y,z,c), I[468] = (T)(img)(_p4##x,_n11##y,z,c), I[469] = (T)(img)(_p3##x,_n11##y,z,c), I[470] = (T)(img)(_p2##x,_n11##y,z,c), I[471] = (T)(img)(_p1##x,_n11##y,z,c), I[472] = (T)(img)(x,_n11##y,z,c), I[473] = (T)(img)(_n1##x,_n11##y,z,c), I[474] = (T)(img)(_n2##x,_n [...]
+
+// Define 23x23 loop macros
+//-------------------------
+#define cimg_for23(bound,i) for (int i = 0, \
+ _p11##i = 0, _p10##i = 0, _p9##i = 0, _p8##i = 0, _p7##i = 0, _p6##i = 0, _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5, \
+ _n6##i = 6>=(int)(bound)?(int)(bound) - 1:6, \
+ _n7##i = 7>=(int)(bound)?(int)(bound) - 1:7, \
+ _n8##i = 8>=(int)(bound)?(int)(bound) - 1:8, \
+ _n9##i = 9>=(int)(bound)?(int)(bound) - 1:9, \
+ _n10##i = 10>=(int)(bound)?(int)(bound) - 1:10, \
+ _n11##i = 11>=(int)(bound)?(int)(bound) - 1:11; \
+ _n11##i<(int)(bound) || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p11##i = _p10##i, _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i)
+
+#define cimg_for23X(img,x) cimg_for23((img)._width,x)
+#define cimg_for23Y(img,y) cimg_for23((img)._height,y)
+#define cimg_for23Z(img,z) cimg_for23((img)._depth,z)
+#define cimg_for23C(img,c) cimg_for23((img)._spectrum,c)
+#define cimg_for23XY(img,x,y) cimg_for23Y(img,y) cimg_for23X(img,x)
+#define cimg_for23XZ(img,x,z) cimg_for23Z(img,z) cimg_for23X(img,x)
+#define cimg_for23XC(img,x,c) cimg_for23C(img,c) cimg_for23X(img,x)
+#define cimg_for23YZ(img,y,z) cimg_for23Z(img,z) cimg_for23Y(img,y)
+#define cimg_for23YC(img,y,c) cimg_for23C(img,c) cimg_for23Y(img,y)
+#define cimg_for23ZC(img,z,c) cimg_for23C(img,c) cimg_for23Z(img,z)
+#define cimg_for23XYZ(img,x,y,z) cimg_for23Z(img,z) cimg_for23XY(img,x,y)
+#define cimg_for23XZC(img,x,z,c) cimg_for23C(img,c) cimg_for23XZ(img,x,z)
+#define cimg_for23YZC(img,y,z,c) cimg_for23C(img,c) cimg_for23YZ(img,y,z)
+#define cimg_for23XYZC(img,x,y,z,c) cimg_for23C(img,c) cimg_for23XYZ(img,x,y,z)
+
+#define cimg_for_in23(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p11##i = i - 11<0?0:i - 11, \
+ _p10##i = i - 10<0?0:i - 10, \
+ _p9##i = i - 9<0?0:i - 9, \
+ _p8##i = i - 8<0?0:i - 8, \
+ _p7##i = i - 7<0?0:i - 7, \
+ _p6##i = i - 6<0?0:i - 6, \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5, \
+ _n6##i = i + 6>=(int)(bound)?(int)(bound) - 1:i + 6, \
+ _n7##i = i + 7>=(int)(bound)?(int)(bound) - 1:i + 7, \
+ _n8##i = i + 8>=(int)(bound)?(int)(bound) - 1:i + 8, \
+ _n9##i = i + 9>=(int)(bound)?(int)(bound) - 1:i + 9, \
+ _n10##i = i + 10>=(int)(bound)?(int)(bound) - 1:i + 10, \
+ _n11##i = i + 11>=(int)(bound)?(int)(bound) - 1:i + 11; \
+ i<=(int)(i1) && (_n11##i<(int)(bound) || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p11##i = _p10##i, _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i)
+
+#define cimg_for_in23X(img,x0,x1,x) cimg_for_in23((img)._width,x0,x1,x)
+#define cimg_for_in23Y(img,y0,y1,y) cimg_for_in23((img)._height,y0,y1,y)
+#define cimg_for_in23Z(img,z0,z1,z) cimg_for_in23((img)._depth,z0,z1,z)
+#define cimg_for_in23C(img,c0,c1,c) cimg_for_in23((img)._spectrum,c0,c1,c)
+#define cimg_for_in23XY(img,x0,y0,x1,y1,x,y) cimg_for_in23Y(img,y0,y1,y) cimg_for_in23X(img,x0,x1,x)
+#define cimg_for_in23XZ(img,x0,z0,x1,z1,x,z) cimg_for_in23Z(img,z0,z1,z) cimg_for_in23X(img,x0,x1,x)
+#define cimg_for_in23XC(img,x0,c0,x1,c1,x,c) cimg_for_in23C(img,c0,c1,c) cimg_for_in23X(img,x0,x1,x)
+#define cimg_for_in23YZ(img,y0,z0,y1,z1,y,z) cimg_for_in23Z(img,z0,z1,z) cimg_for_in23Y(img,y0,y1,y)
+#define cimg_for_in23YC(img,y0,c0,y1,c1,y,c) cimg_for_in23C(img,c0,c1,c) cimg_for_in23Y(img,y0,y1,y)
+#define cimg_for_in23ZC(img,z0,c0,z1,c1,z,c) cimg_for_in23C(img,c0,c1,c) cimg_for_in23Z(img,z0,z1,z)
+#define cimg_for_in23XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in23Z(img,z0,z1,z) cimg_for_in23XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in23XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in23C(img,c0,c1,c) cimg_for_in23XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in23YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in23C(img,c0,c1,c) cimg_for_in23YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in23XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in23C(img,c0,c1,c) cimg_for_in23XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for23x23(img,x,y,z,c,I,T) \
+ cimg_for23((img)._height,y) for (int x = 0, \
+ _p11##x = 0, _p10##x = 0, _p9##x = 0, _p8##x = 0, _p7##x = 0, _p6##x = 0, _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = 5>=((img)._width)?(img).width() - 1:5, \
+ _n6##x = 6>=((img)._width)?(img).width() - 1:6, \
+ _n7##x = 7>=((img)._width)?(img).width() - 1:7, \
+ _n8##x = 8>=((img)._width)?(img).width() - 1:8, \
+ _n9##x = 9>=((img)._width)?(img).width() - 1:9, \
+ _n10##x = 10>=((img)._width)?(img).width() - 1:10, \
+ _n11##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = I[6] = I[7] = I[8] = I[9] = I[10] = I[11] = (T)(img)(0,_p11##y,z,c)), \
+ (I[23] = I[24] = I[25] = I[26] = I[27] = I[28] = I[29] = I[30] = I[31] = I[32] = I[33] = I[34] = (T)(img)(0,_p10##y,z,c)), \
+ (I[46] = I[47] = I[48] = I[49] = I[50] = I[51] = I[52] = I[53] = I[54] = I[55] = I[56] = I[57] = (T)(img)(0,_p9##y,z,c)), \
+ (I[69] = I[70] = I[71] = I[72] = I[73] = I[74] = I[75] = I[76] = I[77] = I[78] = I[79] = I[80] = (T)(img)(0,_p8##y,z,c)), \
+ (I[92] = I[93] = I[94] = I[95] = I[96] = I[97] = I[98] = I[99] = I[100] = I[101] = I[102] = I[103] = (T)(img)(0,_p7##y,z,c)), \
+ (I[115] = I[116] = I[117] = I[118] = I[119] = I[120] = I[121] = I[122] = I[123] = I[124] = I[125] = I[126] = (T)(img)(0,_p6##y,z,c)), \
+ (I[138] = I[139] = I[140] = I[141] = I[142] = I[143] = I[144] = I[145] = I[146] = I[147] = I[148] = I[149] = (T)(img)(0,_p5##y,z,c)), \
+ (I[161] = I[162] = I[163] = I[164] = I[165] = I[166] = I[167] = I[168] = I[169] = I[170] = I[171] = I[172] = (T)(img)(0,_p4##y,z,c)), \
+ (I[184] = I[185] = I[186] = I[187] = I[188] = I[189] = I[190] = I[191] = I[192] = I[193] = I[194] = I[195] = (T)(img)(0,_p3##y,z,c)), \
+ (I[207] = I[208] = I[209] = I[210] = I[211] = I[212] = I[213] = I[214] = I[215] = I[216] = I[217] = I[218] = (T)(img)(0,_p2##y,z,c)), \
+ (I[230] = I[231] = I[232] = I[233] = I[234] = I[235] = I[236] = I[237] = I[238] = I[239] = I[240] = I[241] = (T)(img)(0,_p1##y,z,c)), \
+ (I[253] = I[254] = I[255] = I[256] = I[257] = I[258] = I[259] = I[260] = I[261] = I[262] = I[263] = I[264] = (T)(img)(0,y,z,c)), \
+ (I[276] = I[277] = I[278] = I[279] = I[280] = I[281] = I[282] = I[283] = I[284] = I[285] = I[286] = I[287] = (T)(img)(0,_n1##y,z,c)), \
+ (I[299] = I[300] = I[301] = I[302] = I[303] = I[304] = I[305] = I[306] = I[307] = I[308] = I[309] = I[310] = (T)(img)(0,_n2##y,z,c)), \
+ (I[322] = I[323] = I[324] = I[325] = I[326] = I[327] = I[328] = I[329] = I[330] = I[331] = I[332] = I[333] = (T)(img)(0,_n3##y,z,c)), \
+ (I[345] = I[346] = I[347] = I[348] = I[349] = I[350] = I[351] = I[352] = I[353] = I[354] = I[355] = I[356] = (T)(img)(0,_n4##y,z,c)), \
+ (I[368] = I[369] = I[370] = I[371] = I[372] = I[373] = I[374] = I[375] = I[376] = I[377] = I[378] = I[379] = (T)(img)(0,_n5##y,z,c)), \
+ (I[391] = I[392] = I[393] = I[394] = I[395] = I[396] = I[397] = I[398] = I[399] = I[400] = I[401] = I[402] = (T)(img)(0,_n6##y,z,c)), \
+ (I[414] = I[415] = I[416] = I[417] = I[418] = I[419] = I[420] = I[421] = I[422] = I[423] = I[424] = I[425] = (T)(img)(0,_n7##y,z,c)), \
+ (I[437] = I[438] = I[439] = I[440] = I[441] = I[442] = I[443] = I[444] = I[445] = I[446] = I[447] = I[448] = (T)(img)(0,_n8##y,z,c)), \
+ (I[460] = I[461] = I[462] = I[463] = I[464] = I[465] = I[466] = I[467] = I[468] = I[469] = I[470] = I[471] = (T)(img)(0,_n9##y,z,c)), \
+ (I[483] = I[484] = I[485] = I[486] = I[487] = I[488] = I[489] = I[490] = I[491] = I[492] = I[493] = I[494] = (T)(img)(0,_n10##y,z,c)), \
+ (I[506] = I[507] = I[508] = I[509] = I[510] = I[511] = I[512] = I[513] = I[514] = I[515] = I[516] = I[517] = (T)(img)(0,_n11##y,z,c)), \
+ (I[12] = (T)(img)(_n1##x,_p11##y,z,c)), \
+ (I[35] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[58] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[81] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[104] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[127] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[150] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[173] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[196] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[219] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[242] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[265] = (T)(img)(_n1##x,y,z,c)), \
+ (I[288] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[311] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[334] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[357] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[380] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[403] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[426] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[449] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[472] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[495] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[518] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[13] = (T)(img)(_n2##x,_p11##y,z,c)), \
+ (I[36] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[59] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[82] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[105] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[128] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[151] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[174] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[197] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[220] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[243] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[266] = (T)(img)(_n2##x,y,z,c)), \
+ (I[289] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[312] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[335] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[358] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[381] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[404] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[427] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[450] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[473] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[496] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[519] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[14] = (T)(img)(_n3##x,_p11##y,z,c)), \
+ (I[37] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[60] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[83] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[106] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[129] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[152] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[175] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[198] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[221] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[244] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[267] = (T)(img)(_n3##x,y,z,c)), \
+ (I[290] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[313] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[336] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[359] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[382] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[405] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[428] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[451] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[474] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[497] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[520] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[15] = (T)(img)(_n4##x,_p11##y,z,c)), \
+ (I[38] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[61] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[84] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[107] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[130] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[153] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[176] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[199] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[222] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[245] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[268] = (T)(img)(_n4##x,y,z,c)), \
+ (I[291] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[314] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[337] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[360] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[383] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[406] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[429] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[452] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[475] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[498] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[521] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[16] = (T)(img)(_n5##x,_p11##y,z,c)), \
+ (I[39] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[62] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[85] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[108] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[131] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[154] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[177] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[200] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[223] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[246] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[269] = (T)(img)(_n5##x,y,z,c)), \
+ (I[292] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[315] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[338] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[361] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[384] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[407] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[430] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[453] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[476] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[499] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[522] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[17] = (T)(img)(_n6##x,_p11##y,z,c)), \
+ (I[40] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[63] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[86] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[109] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[132] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[155] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[178] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[201] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[224] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[247] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[270] = (T)(img)(_n6##x,y,z,c)), \
+ (I[293] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[316] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[339] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[362] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[385] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[408] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[431] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[454] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[477] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[500] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[523] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[18] = (T)(img)(_n7##x,_p11##y,z,c)), \
+ (I[41] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[64] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[87] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[110] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[133] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[156] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[179] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[202] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[225] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[248] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[271] = (T)(img)(_n7##x,y,z,c)), \
+ (I[294] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[317] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[340] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[363] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[386] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[409] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[432] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[455] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[478] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[501] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[524] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[19] = (T)(img)(_n8##x,_p11##y,z,c)), \
+ (I[42] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[65] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[88] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[111] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[134] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[157] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[180] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[203] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[226] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[249] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[272] = (T)(img)(_n8##x,y,z,c)), \
+ (I[295] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[318] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[341] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[364] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[387] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[410] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[433] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[456] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[479] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[502] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[525] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[20] = (T)(img)(_n9##x,_p11##y,z,c)), \
+ (I[43] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[66] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[89] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[112] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[135] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[158] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[181] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[204] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[227] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[250] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[273] = (T)(img)(_n9##x,y,z,c)), \
+ (I[296] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[319] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[342] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[365] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[388] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[411] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[434] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[457] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[480] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[503] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[526] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[21] = (T)(img)(_n10##x,_p11##y,z,c)), \
+ (I[44] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[67] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[90] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[113] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[136] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[159] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[182] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[205] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[228] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[251] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[274] = (T)(img)(_n10##x,y,z,c)), \
+ (I[297] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[320] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[343] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[366] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[389] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[412] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[435] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[458] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[481] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[504] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[527] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ 11>=((img)._width)?(img).width() - 1:11); \
+ (_n11##x<(img).width() && ( \
+ (I[22] = (T)(img)(_n11##x,_p11##y,z,c)), \
+ (I[45] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[68] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[91] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[114] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[137] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[160] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[183] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[206] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[229] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[252] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[275] = (T)(img)(_n11##x,y,z,c)), \
+ (I[298] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[321] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[344] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[367] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[390] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[413] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[436] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[459] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[482] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[505] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[528] = (T)(img)(_n11##x,_n11##y,z,c)),1)) || \
+ _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], \
+ I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], \
+ I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], \
+ I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], \
+ I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], \
+ I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], \
+ I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], \
+ I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], \
+ I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], \
+ I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], \
+ I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], \
+ I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], \
+ I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], \
+ I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], \
+ I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], \
+ I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], I[359] = I[360], I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], \
+ I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], I[376] = I[377], I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], \
+ I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], I[399] = I[400], I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], \
+ I[414] = I[415], I[415] = I[416], I[416] = I[417], I[417] = I[418], I[418] = I[419], I[419] = I[420], I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], I[431] = I[432], I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], \
+ I[437] = I[438], I[438] = I[439], I[439] = I[440], I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], I[447] = I[448], I[448] = I[449], I[449] = I[450], I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], I[455] = I[456], I[456] = I[457], I[457] = I[458], I[458] = I[459], \
+ I[460] = I[461], I[461] = I[462], I[462] = I[463], I[463] = I[464], I[464] = I[465], I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], I[474] = I[475], I[475] = I[476], I[476] = I[477], I[477] = I[478], I[478] = I[479], I[479] = I[480], I[480] = I[481], I[481] = I[482], \
+ I[483] = I[484], I[484] = I[485], I[485] = I[486], I[486] = I[487], I[487] = I[488], I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], I[492] = I[493], I[493] = I[494], I[494] = I[495], I[495] = I[496], I[496] = I[497], I[497] = I[498], I[498] = I[499], I[499] = I[500], I[500] = I[501], I[501] = I[502], I[502] = I[503], I[503] = I[504], I[504] = I[505], \
+ I[506] = I[507], I[507] = I[508], I[508] = I[509], I[509] = I[510], I[510] = I[511], I[511] = I[512], I[512] = I[513], I[513] = I[514], I[514] = I[515], I[515] = I[516], I[516] = I[517], I[517] = I[518], I[518] = I[519], I[519] = I[520], I[520] = I[521], I[521] = I[522], I[522] = I[523], I[523] = I[524], I[524] = I[525], I[525] = I[526], I[526] = I[527], I[527] = I[528], \
+ _p11##x = _p10##x, _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x)
+
+#define cimg_for_in23x23(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in23((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p11##x = x - 11<0?0:x - 11, \
+ _p10##x = x - 10<0?0:x - 10, \
+ _p9##x = x - 9<0?0:x - 9, \
+ _p8##x = x - 8<0?0:x - 8, \
+ _p7##x = x - 7<0?0:x - 7, \
+ _p6##x = x - 6<0?0:x - 6, \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = x + 5>=(img).width()?(img).width() - 1:x + 5, \
+ _n6##x = x + 6>=(img).width()?(img).width() - 1:x + 6, \
+ _n7##x = x + 7>=(img).width()?(img).width() - 1:x + 7, \
+ _n8##x = x + 8>=(img).width()?(img).width() - 1:x + 8, \
+ _n9##x = x + 9>=(img).width()?(img).width() - 1:x + 9, \
+ _n10##x = x + 10>=(img).width()?(img).width() - 1:x + 10, \
+ _n11##x = (int)( \
+ (I[0] = (T)(img)(_p11##x,_p11##y,z,c)), \
+ (I[23] = (T)(img)(_p11##x,_p10##y,z,c)), \
+ (I[46] = (T)(img)(_p11##x,_p9##y,z,c)), \
+ (I[69] = (T)(img)(_p11##x,_p8##y,z,c)), \
+ (I[92] = (T)(img)(_p11##x,_p7##y,z,c)), \
+ (I[115] = (T)(img)(_p11##x,_p6##y,z,c)), \
+ (I[138] = (T)(img)(_p11##x,_p5##y,z,c)), \
+ (I[161] = (T)(img)(_p11##x,_p4##y,z,c)), \
+ (I[184] = (T)(img)(_p11##x,_p3##y,z,c)), \
+ (I[207] = (T)(img)(_p11##x,_p2##y,z,c)), \
+ (I[230] = (T)(img)(_p11##x,_p1##y,z,c)), \
+ (I[253] = (T)(img)(_p11##x,y,z,c)), \
+ (I[276] = (T)(img)(_p11##x,_n1##y,z,c)), \
+ (I[299] = (T)(img)(_p11##x,_n2##y,z,c)), \
+ (I[322] = (T)(img)(_p11##x,_n3##y,z,c)), \
+ (I[345] = (T)(img)(_p11##x,_n4##y,z,c)), \
+ (I[368] = (T)(img)(_p11##x,_n5##y,z,c)), \
+ (I[391] = (T)(img)(_p11##x,_n6##y,z,c)), \
+ (I[414] = (T)(img)(_p11##x,_n7##y,z,c)), \
+ (I[437] = (T)(img)(_p11##x,_n8##y,z,c)), \
+ (I[460] = (T)(img)(_p11##x,_n9##y,z,c)), \
+ (I[483] = (T)(img)(_p11##x,_n10##y,z,c)), \
+ (I[506] = (T)(img)(_p11##x,_n11##y,z,c)), \
+ (I[1] = (T)(img)(_p10##x,_p11##y,z,c)), \
+ (I[24] = (T)(img)(_p10##x,_p10##y,z,c)), \
+ (I[47] = (T)(img)(_p10##x,_p9##y,z,c)), \
+ (I[70] = (T)(img)(_p10##x,_p8##y,z,c)), \
+ (I[93] = (T)(img)(_p10##x,_p7##y,z,c)), \
+ (I[116] = (T)(img)(_p10##x,_p6##y,z,c)), \
+ (I[139] = (T)(img)(_p10##x,_p5##y,z,c)), \
+ (I[162] = (T)(img)(_p10##x,_p4##y,z,c)), \
+ (I[185] = (T)(img)(_p10##x,_p3##y,z,c)), \
+ (I[208] = (T)(img)(_p10##x,_p2##y,z,c)), \
+ (I[231] = (T)(img)(_p10##x,_p1##y,z,c)), \
+ (I[254] = (T)(img)(_p10##x,y,z,c)), \
+ (I[277] = (T)(img)(_p10##x,_n1##y,z,c)), \
+ (I[300] = (T)(img)(_p10##x,_n2##y,z,c)), \
+ (I[323] = (T)(img)(_p10##x,_n3##y,z,c)), \
+ (I[346] = (T)(img)(_p10##x,_n4##y,z,c)), \
+ (I[369] = (T)(img)(_p10##x,_n5##y,z,c)), \
+ (I[392] = (T)(img)(_p10##x,_n6##y,z,c)), \
+ (I[415] = (T)(img)(_p10##x,_n7##y,z,c)), \
+ (I[438] = (T)(img)(_p10##x,_n8##y,z,c)), \
+ (I[461] = (T)(img)(_p10##x,_n9##y,z,c)), \
+ (I[484] = (T)(img)(_p10##x,_n10##y,z,c)), \
+ (I[507] = (T)(img)(_p10##x,_n11##y,z,c)), \
+ (I[2] = (T)(img)(_p9##x,_p11##y,z,c)), \
+ (I[25] = (T)(img)(_p9##x,_p10##y,z,c)), \
+ (I[48] = (T)(img)(_p9##x,_p9##y,z,c)), \
+ (I[71] = (T)(img)(_p9##x,_p8##y,z,c)), \
+ (I[94] = (T)(img)(_p9##x,_p7##y,z,c)), \
+ (I[117] = (T)(img)(_p9##x,_p6##y,z,c)), \
+ (I[140] = (T)(img)(_p9##x,_p5##y,z,c)), \
+ (I[163] = (T)(img)(_p9##x,_p4##y,z,c)), \
+ (I[186] = (T)(img)(_p9##x,_p3##y,z,c)), \
+ (I[209] = (T)(img)(_p9##x,_p2##y,z,c)), \
+ (I[232] = (T)(img)(_p9##x,_p1##y,z,c)), \
+ (I[255] = (T)(img)(_p9##x,y,z,c)), \
+ (I[278] = (T)(img)(_p9##x,_n1##y,z,c)), \
+ (I[301] = (T)(img)(_p9##x,_n2##y,z,c)), \
+ (I[324] = (T)(img)(_p9##x,_n3##y,z,c)), \
+ (I[347] = (T)(img)(_p9##x,_n4##y,z,c)), \
+ (I[370] = (T)(img)(_p9##x,_n5##y,z,c)), \
+ (I[393] = (T)(img)(_p9##x,_n6##y,z,c)), \
+ (I[416] = (T)(img)(_p9##x,_n7##y,z,c)), \
+ (I[439] = (T)(img)(_p9##x,_n8##y,z,c)), \
+ (I[462] = (T)(img)(_p9##x,_n9##y,z,c)), \
+ (I[485] = (T)(img)(_p9##x,_n10##y,z,c)), \
+ (I[508] = (T)(img)(_p9##x,_n11##y,z,c)), \
+ (I[3] = (T)(img)(_p8##x,_p11##y,z,c)), \
+ (I[26] = (T)(img)(_p8##x,_p10##y,z,c)), \
+ (I[49] = (T)(img)(_p8##x,_p9##y,z,c)), \
+ (I[72] = (T)(img)(_p8##x,_p8##y,z,c)), \
+ (I[95] = (T)(img)(_p8##x,_p7##y,z,c)), \
+ (I[118] = (T)(img)(_p8##x,_p6##y,z,c)), \
+ (I[141] = (T)(img)(_p8##x,_p5##y,z,c)), \
+ (I[164] = (T)(img)(_p8##x,_p4##y,z,c)), \
+ (I[187] = (T)(img)(_p8##x,_p3##y,z,c)), \
+ (I[210] = (T)(img)(_p8##x,_p2##y,z,c)), \
+ (I[233] = (T)(img)(_p8##x,_p1##y,z,c)), \
+ (I[256] = (T)(img)(_p8##x,y,z,c)), \
+ (I[279] = (T)(img)(_p8##x,_n1##y,z,c)), \
+ (I[302] = (T)(img)(_p8##x,_n2##y,z,c)), \
+ (I[325] = (T)(img)(_p8##x,_n3##y,z,c)), \
+ (I[348] = (T)(img)(_p8##x,_n4##y,z,c)), \
+ (I[371] = (T)(img)(_p8##x,_n5##y,z,c)), \
+ (I[394] = (T)(img)(_p8##x,_n6##y,z,c)), \
+ (I[417] = (T)(img)(_p8##x,_n7##y,z,c)), \
+ (I[440] = (T)(img)(_p8##x,_n8##y,z,c)), \
+ (I[463] = (T)(img)(_p8##x,_n9##y,z,c)), \
+ (I[486] = (T)(img)(_p8##x,_n10##y,z,c)), \
+ (I[509] = (T)(img)(_p8##x,_n11##y,z,c)), \
+ (I[4] = (T)(img)(_p7##x,_p11##y,z,c)), \
+ (I[27] = (T)(img)(_p7##x,_p10##y,z,c)), \
+ (I[50] = (T)(img)(_p7##x,_p9##y,z,c)), \
+ (I[73] = (T)(img)(_p7##x,_p8##y,z,c)), \
+ (I[96] = (T)(img)(_p7##x,_p7##y,z,c)), \
+ (I[119] = (T)(img)(_p7##x,_p6##y,z,c)), \
+ (I[142] = (T)(img)(_p7##x,_p5##y,z,c)), \
+ (I[165] = (T)(img)(_p7##x,_p4##y,z,c)), \
+ (I[188] = (T)(img)(_p7##x,_p3##y,z,c)), \
+ (I[211] = (T)(img)(_p7##x,_p2##y,z,c)), \
+ (I[234] = (T)(img)(_p7##x,_p1##y,z,c)), \
+ (I[257] = (T)(img)(_p7##x,y,z,c)), \
+ (I[280] = (T)(img)(_p7##x,_n1##y,z,c)), \
+ (I[303] = (T)(img)(_p7##x,_n2##y,z,c)), \
+ (I[326] = (T)(img)(_p7##x,_n3##y,z,c)), \
+ (I[349] = (T)(img)(_p7##x,_n4##y,z,c)), \
+ (I[372] = (T)(img)(_p7##x,_n5##y,z,c)), \
+ (I[395] = (T)(img)(_p7##x,_n6##y,z,c)), \
+ (I[418] = (T)(img)(_p7##x,_n7##y,z,c)), \
+ (I[441] = (T)(img)(_p7##x,_n8##y,z,c)), \
+ (I[464] = (T)(img)(_p7##x,_n9##y,z,c)), \
+ (I[487] = (T)(img)(_p7##x,_n10##y,z,c)), \
+ (I[510] = (T)(img)(_p7##x,_n11##y,z,c)), \
+ (I[5] = (T)(img)(_p6##x,_p11##y,z,c)), \
+ (I[28] = (T)(img)(_p6##x,_p10##y,z,c)), \
+ (I[51] = (T)(img)(_p6##x,_p9##y,z,c)), \
+ (I[74] = (T)(img)(_p6##x,_p8##y,z,c)), \
+ (I[97] = (T)(img)(_p6##x,_p7##y,z,c)), \
+ (I[120] = (T)(img)(_p6##x,_p6##y,z,c)), \
+ (I[143] = (T)(img)(_p6##x,_p5##y,z,c)), \
+ (I[166] = (T)(img)(_p6##x,_p4##y,z,c)), \
+ (I[189] = (T)(img)(_p6##x,_p3##y,z,c)), \
+ (I[212] = (T)(img)(_p6##x,_p2##y,z,c)), \
+ (I[235] = (T)(img)(_p6##x,_p1##y,z,c)), \
+ (I[258] = (T)(img)(_p6##x,y,z,c)), \
+ (I[281] = (T)(img)(_p6##x,_n1##y,z,c)), \
+ (I[304] = (T)(img)(_p6##x,_n2##y,z,c)), \
+ (I[327] = (T)(img)(_p6##x,_n3##y,z,c)), \
+ (I[350] = (T)(img)(_p6##x,_n4##y,z,c)), \
+ (I[373] = (T)(img)(_p6##x,_n5##y,z,c)), \
+ (I[396] = (T)(img)(_p6##x,_n6##y,z,c)), \
+ (I[419] = (T)(img)(_p6##x,_n7##y,z,c)), \
+ (I[442] = (T)(img)(_p6##x,_n8##y,z,c)), \
+ (I[465] = (T)(img)(_p6##x,_n9##y,z,c)), \
+ (I[488] = (T)(img)(_p6##x,_n10##y,z,c)), \
+ (I[511] = (T)(img)(_p6##x,_n11##y,z,c)), \
+ (I[6] = (T)(img)(_p5##x,_p11##y,z,c)), \
+ (I[29] = (T)(img)(_p5##x,_p10##y,z,c)), \
+ (I[52] = (T)(img)(_p5##x,_p9##y,z,c)), \
+ (I[75] = (T)(img)(_p5##x,_p8##y,z,c)), \
+ (I[98] = (T)(img)(_p5##x,_p7##y,z,c)), \
+ (I[121] = (T)(img)(_p5##x,_p6##y,z,c)), \
+ (I[144] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[167] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[190] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[213] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[236] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[259] = (T)(img)(_p5##x,y,z,c)), \
+ (I[282] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[305] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[328] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[351] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[374] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[397] = (T)(img)(_p5##x,_n6##y,z,c)), \
+ (I[420] = (T)(img)(_p5##x,_n7##y,z,c)), \
+ (I[443] = (T)(img)(_p5##x,_n8##y,z,c)), \
+ (I[466] = (T)(img)(_p5##x,_n9##y,z,c)), \
+ (I[489] = (T)(img)(_p5##x,_n10##y,z,c)), \
+ (I[512] = (T)(img)(_p5##x,_n11##y,z,c)), \
+ (I[7] = (T)(img)(_p4##x,_p11##y,z,c)), \
+ (I[30] = (T)(img)(_p4##x,_p10##y,z,c)), \
+ (I[53] = (T)(img)(_p4##x,_p9##y,z,c)), \
+ (I[76] = (T)(img)(_p4##x,_p8##y,z,c)), \
+ (I[99] = (T)(img)(_p4##x,_p7##y,z,c)), \
+ (I[122] = (T)(img)(_p4##x,_p6##y,z,c)), \
+ (I[145] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[168] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[191] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[214] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[237] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[260] = (T)(img)(_p4##x,y,z,c)), \
+ (I[283] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[306] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[329] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[352] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[375] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[398] = (T)(img)(_p4##x,_n6##y,z,c)), \
+ (I[421] = (T)(img)(_p4##x,_n7##y,z,c)), \
+ (I[444] = (T)(img)(_p4##x,_n8##y,z,c)), \
+ (I[467] = (T)(img)(_p4##x,_n9##y,z,c)), \
+ (I[490] = (T)(img)(_p4##x,_n10##y,z,c)), \
+ (I[513] = (T)(img)(_p4##x,_n11##y,z,c)), \
+ (I[8] = (T)(img)(_p3##x,_p11##y,z,c)), \
+ (I[31] = (T)(img)(_p3##x,_p10##y,z,c)), \
+ (I[54] = (T)(img)(_p3##x,_p9##y,z,c)), \
+ (I[77] = (T)(img)(_p3##x,_p8##y,z,c)), \
+ (I[100] = (T)(img)(_p3##x,_p7##y,z,c)), \
+ (I[123] = (T)(img)(_p3##x,_p6##y,z,c)), \
+ (I[146] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[169] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[192] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[215] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[238] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[261] = (T)(img)(_p3##x,y,z,c)), \
+ (I[284] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[307] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[330] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[353] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[376] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[399] = (T)(img)(_p3##x,_n6##y,z,c)), \
+ (I[422] = (T)(img)(_p3##x,_n7##y,z,c)), \
+ (I[445] = (T)(img)(_p3##x,_n8##y,z,c)), \
+ (I[468] = (T)(img)(_p3##x,_n9##y,z,c)), \
+ (I[491] = (T)(img)(_p3##x,_n10##y,z,c)), \
+ (I[514] = (T)(img)(_p3##x,_n11##y,z,c)), \
+ (I[9] = (T)(img)(_p2##x,_p11##y,z,c)), \
+ (I[32] = (T)(img)(_p2##x,_p10##y,z,c)), \
+ (I[55] = (T)(img)(_p2##x,_p9##y,z,c)), \
+ (I[78] = (T)(img)(_p2##x,_p8##y,z,c)), \
+ (I[101] = (T)(img)(_p2##x,_p7##y,z,c)), \
+ (I[124] = (T)(img)(_p2##x,_p6##y,z,c)), \
+ (I[147] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[170] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[193] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[216] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[239] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[262] = (T)(img)(_p2##x,y,z,c)), \
+ (I[285] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[308] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[331] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[354] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[377] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[400] = (T)(img)(_p2##x,_n6##y,z,c)), \
+ (I[423] = (T)(img)(_p2##x,_n7##y,z,c)), \
+ (I[446] = (T)(img)(_p2##x,_n8##y,z,c)), \
+ (I[469] = (T)(img)(_p2##x,_n9##y,z,c)), \
+ (I[492] = (T)(img)(_p2##x,_n10##y,z,c)), \
+ (I[515] = (T)(img)(_p2##x,_n11##y,z,c)), \
+ (I[10] = (T)(img)(_p1##x,_p11##y,z,c)), \
+ (I[33] = (T)(img)(_p1##x,_p10##y,z,c)), \
+ (I[56] = (T)(img)(_p1##x,_p9##y,z,c)), \
+ (I[79] = (T)(img)(_p1##x,_p8##y,z,c)), \
+ (I[102] = (T)(img)(_p1##x,_p7##y,z,c)), \
+ (I[125] = (T)(img)(_p1##x,_p6##y,z,c)), \
+ (I[148] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[171] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[194] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[217] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[240] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[263] = (T)(img)(_p1##x,y,z,c)), \
+ (I[286] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[309] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[332] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[355] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[378] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[401] = (T)(img)(_p1##x,_n6##y,z,c)), \
+ (I[424] = (T)(img)(_p1##x,_n7##y,z,c)), \
+ (I[447] = (T)(img)(_p1##x,_n8##y,z,c)), \
+ (I[470] = (T)(img)(_p1##x,_n9##y,z,c)), \
+ (I[493] = (T)(img)(_p1##x,_n10##y,z,c)), \
+ (I[516] = (T)(img)(_p1##x,_n11##y,z,c)), \
+ (I[11] = (T)(img)(x,_p11##y,z,c)), \
+ (I[34] = (T)(img)(x,_p10##y,z,c)), \
+ (I[57] = (T)(img)(x,_p9##y,z,c)), \
+ (I[80] = (T)(img)(x,_p8##y,z,c)), \
+ (I[103] = (T)(img)(x,_p7##y,z,c)), \
+ (I[126] = (T)(img)(x,_p6##y,z,c)), \
+ (I[149] = (T)(img)(x,_p5##y,z,c)), \
+ (I[172] = (T)(img)(x,_p4##y,z,c)), \
+ (I[195] = (T)(img)(x,_p3##y,z,c)), \
+ (I[218] = (T)(img)(x,_p2##y,z,c)), \
+ (I[241] = (T)(img)(x,_p1##y,z,c)), \
+ (I[264] = (T)(img)(x,y,z,c)), \
+ (I[287] = (T)(img)(x,_n1##y,z,c)), \
+ (I[310] = (T)(img)(x,_n2##y,z,c)), \
+ (I[333] = (T)(img)(x,_n3##y,z,c)), \
+ (I[356] = (T)(img)(x,_n4##y,z,c)), \
+ (I[379] = (T)(img)(x,_n5##y,z,c)), \
+ (I[402] = (T)(img)(x,_n6##y,z,c)), \
+ (I[425] = (T)(img)(x,_n7##y,z,c)), \
+ (I[448] = (T)(img)(x,_n8##y,z,c)), \
+ (I[471] = (T)(img)(x,_n9##y,z,c)), \
+ (I[494] = (T)(img)(x,_n10##y,z,c)), \
+ (I[517] = (T)(img)(x,_n11##y,z,c)), \
+ (I[12] = (T)(img)(_n1##x,_p11##y,z,c)), \
+ (I[35] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[58] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[81] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[104] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[127] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[150] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[173] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[196] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[219] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[242] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[265] = (T)(img)(_n1##x,y,z,c)), \
+ (I[288] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[311] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[334] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[357] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[380] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[403] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[426] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[449] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[472] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[495] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[518] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[13] = (T)(img)(_n2##x,_p11##y,z,c)), \
+ (I[36] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[59] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[82] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[105] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[128] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[151] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[174] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[197] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[220] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[243] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[266] = (T)(img)(_n2##x,y,z,c)), \
+ (I[289] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[312] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[335] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[358] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[381] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[404] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[427] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[450] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[473] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[496] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[519] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[14] = (T)(img)(_n3##x,_p11##y,z,c)), \
+ (I[37] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[60] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[83] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[106] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[129] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[152] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[175] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[198] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[221] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[244] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[267] = (T)(img)(_n3##x,y,z,c)), \
+ (I[290] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[313] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[336] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[359] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[382] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[405] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[428] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[451] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[474] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[497] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[520] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[15] = (T)(img)(_n4##x,_p11##y,z,c)), \
+ (I[38] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[61] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[84] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[107] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[130] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[153] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[176] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[199] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[222] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[245] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[268] = (T)(img)(_n4##x,y,z,c)), \
+ (I[291] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[314] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[337] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[360] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[383] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[406] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[429] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[452] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[475] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[498] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[521] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[16] = (T)(img)(_n5##x,_p11##y,z,c)), \
+ (I[39] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[62] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[85] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[108] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[131] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[154] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[177] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[200] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[223] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[246] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[269] = (T)(img)(_n5##x,y,z,c)), \
+ (I[292] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[315] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[338] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[361] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[384] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[407] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[430] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[453] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[476] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[499] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[522] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[17] = (T)(img)(_n6##x,_p11##y,z,c)), \
+ (I[40] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[63] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[86] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[109] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[132] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[155] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[178] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[201] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[224] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[247] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[270] = (T)(img)(_n6##x,y,z,c)), \
+ (I[293] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[316] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[339] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[362] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[385] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[408] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[431] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[454] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[477] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[500] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[523] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[18] = (T)(img)(_n7##x,_p11##y,z,c)), \
+ (I[41] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[64] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[87] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[110] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[133] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[156] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[179] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[202] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[225] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[248] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[271] = (T)(img)(_n7##x,y,z,c)), \
+ (I[294] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[317] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[340] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[363] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[386] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[409] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[432] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[455] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[478] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[501] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[524] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[19] = (T)(img)(_n8##x,_p11##y,z,c)), \
+ (I[42] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[65] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[88] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[111] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[134] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[157] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[180] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[203] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[226] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[249] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[272] = (T)(img)(_n8##x,y,z,c)), \
+ (I[295] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[318] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[341] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[364] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[387] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[410] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[433] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[456] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[479] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[502] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[525] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[20] = (T)(img)(_n9##x,_p11##y,z,c)), \
+ (I[43] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[66] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[89] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[112] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[135] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[158] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[181] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[204] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[227] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[250] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[273] = (T)(img)(_n9##x,y,z,c)), \
+ (I[296] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[319] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[342] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[365] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[388] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[411] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[434] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[457] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[480] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[503] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[526] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[21] = (T)(img)(_n10##x,_p11##y,z,c)), \
+ (I[44] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[67] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[90] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[113] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[136] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[159] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[182] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[205] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[228] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[251] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[274] = (T)(img)(_n10##x,y,z,c)), \
+ (I[297] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[320] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[343] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[366] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[389] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[412] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[435] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[458] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[481] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[504] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[527] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ x + 11>=(img).width()?(img).width() - 1:x + 11); \
+ x<=(int)(x1) && ((_n11##x<(img).width() && ( \
+ (I[22] = (T)(img)(_n11##x,_p11##y,z,c)), \
+ (I[45] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[68] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[91] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[114] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[137] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[160] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[183] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[206] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[229] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[252] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[275] = (T)(img)(_n11##x,y,z,c)), \
+ (I[298] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[321] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[344] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[367] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[390] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[413] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[436] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[459] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[482] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[505] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[528] = (T)(img)(_n11##x,_n11##y,z,c)),1)) || \
+ _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], \
+ I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], \
+ I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], \
+ I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], \
+ I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], \
+ I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], \
+ I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], \
+ I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], \
+ I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], \
+ I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], \
+ I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], \
+ I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], \
+ I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], \
+ I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], \
+ I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], \
+ I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], I[359] = I[360], I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], \
+ I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], I[376] = I[377], I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], \
+ I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], I[399] = I[400], I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], \
+ I[414] = I[415], I[415] = I[416], I[416] = I[417], I[417] = I[418], I[418] = I[419], I[419] = I[420], I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], I[431] = I[432], I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], \
+ I[437] = I[438], I[438] = I[439], I[439] = I[440], I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], I[447] = I[448], I[448] = I[449], I[449] = I[450], I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], I[455] = I[456], I[456] = I[457], I[457] = I[458], I[458] = I[459], \
+ I[460] = I[461], I[461] = I[462], I[462] = I[463], I[463] = I[464], I[464] = I[465], I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], I[474] = I[475], I[475] = I[476], I[476] = I[477], I[477] = I[478], I[478] = I[479], I[479] = I[480], I[480] = I[481], I[481] = I[482], \
+ I[483] = I[484], I[484] = I[485], I[485] = I[486], I[486] = I[487], I[487] = I[488], I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], I[492] = I[493], I[493] = I[494], I[494] = I[495], I[495] = I[496], I[496] = I[497], I[497] = I[498], I[498] = I[499], I[499] = I[500], I[500] = I[501], I[501] = I[502], I[502] = I[503], I[503] = I[504], I[504] = I[505], \
+ I[506] = I[507], I[507] = I[508], I[508] = I[509], I[509] = I[510], I[510] = I[511], I[511] = I[512], I[512] = I[513], I[513] = I[514], I[514] = I[515], I[515] = I[516], I[516] = I[517], I[517] = I[518], I[518] = I[519], I[519] = I[520], I[520] = I[521], I[521] = I[522], I[522] = I[523], I[523] = I[524], I[524] = I[525], I[525] = I[526], I[526] = I[527], I[527] = I[528], \
+ _p11##x = _p10##x, _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x)
+
+#define cimg_get23x23(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p11##x,_p11##y,z,c), I[1] = (T)(img)(_p10##x,_p11##y,z,c), I[2] = (T)(img)(_p9##x,_p11##y,z,c), I[3] = (T)(img)(_p8##x,_p11##y,z,c), I[4] = (T)(img)(_p7##x,_p11##y,z,c), I[5] = (T)(img)(_p6##x,_p11##y,z,c), I[6] = (T)(img)(_p5##x,_p11##y,z,c), I[7] = (T)(img)(_p4##x,_p11##y,z,c), I[8] = (T)(img)(_p3##x,_p11##y,z,c), I[9] = (T)(img)(_p2##x,_p11##y,z,c), I[10] = (T)(img)(_p1##x,_p11##y,z,c), I[11] = (T)(img)(x,_p11##y,z,c), I[12] = (T)(img)(_n1##x,_p11##y,z,c), I[13] = (T [...]
+ I[23] = (T)(img)(_p11##x,_p10##y,z,c), I[24] = (T)(img)(_p10##x,_p10##y,z,c), I[25] = (T)(img)(_p9##x,_p10##y,z,c), I[26] = (T)(img)(_p8##x,_p10##y,z,c), I[27] = (T)(img)(_p7##x,_p10##y,z,c), I[28] = (T)(img)(_p6##x,_p10##y,z,c), I[29] = (T)(img)(_p5##x,_p10##y,z,c), I[30] = (T)(img)(_p4##x,_p10##y,z,c), I[31] = (T)(img)(_p3##x,_p10##y,z,c), I[32] = (T)(img)(_p2##x,_p10##y,z,c), I[33] = (T)(img)(_p1##x,_p10##y,z,c), I[34] = (T)(img)(x,_p10##y,z,c), I[35] = (T)(img)(_n1##x,_p10##y,z,c),  [...]
+ I[46] = (T)(img)(_p11##x,_p9##y,z,c), I[47] = (T)(img)(_p10##x,_p9##y,z,c), I[48] = (T)(img)(_p9##x,_p9##y,z,c), I[49] = (T)(img)(_p8##x,_p9##y,z,c), I[50] = (T)(img)(_p7##x,_p9##y,z,c), I[51] = (T)(img)(_p6##x,_p9##y,z,c), I[52] = (T)(img)(_p5##x,_p9##y,z,c), I[53] = (T)(img)(_p4##x,_p9##y,z,c), I[54] = (T)(img)(_p3##x,_p9##y,z,c), I[55] = (T)(img)(_p2##x,_p9##y,z,c), I[56] = (T)(img)(_p1##x,_p9##y,z,c), I[57] = (T)(img)(x,_p9##y,z,c), I[58] = (T)(img)(_n1##x,_p9##y,z,c), I[59] = (T)(i [...]
+ I[69] = (T)(img)(_p11##x,_p8##y,z,c), I[70] = (T)(img)(_p10##x,_p8##y,z,c), I[71] = (T)(img)(_p9##x,_p8##y,z,c), I[72] = (T)(img)(_p8##x,_p8##y,z,c), I[73] = (T)(img)(_p7##x,_p8##y,z,c), I[74] = (T)(img)(_p6##x,_p8##y,z,c), I[75] = (T)(img)(_p5##x,_p8##y,z,c), I[76] = (T)(img)(_p4##x,_p8##y,z,c), I[77] = (T)(img)(_p3##x,_p8##y,z,c), I[78] = (T)(img)(_p2##x,_p8##y,z,c), I[79] = (T)(img)(_p1##x,_p8##y,z,c), I[80] = (T)(img)(x,_p8##y,z,c), I[81] = (T)(img)(_n1##x,_p8##y,z,c), I[82] = (T)(i [...]
+ I[92] = (T)(img)(_p11##x,_p7##y,z,c), I[93] = (T)(img)(_p10##x,_p7##y,z,c), I[94] = (T)(img)(_p9##x,_p7##y,z,c), I[95] = (T)(img)(_p8##x,_p7##y,z,c), I[96] = (T)(img)(_p7##x,_p7##y,z,c), I[97] = (T)(img)(_p6##x,_p7##y,z,c), I[98] = (T)(img)(_p5##x,_p7##y,z,c), I[99] = (T)(img)(_p4##x,_p7##y,z,c), I[100] = (T)(img)(_p3##x,_p7##y,z,c), I[101] = (T)(img)(_p2##x,_p7##y,z,c), I[102] = (T)(img)(_p1##x,_p7##y,z,c), I[103] = (T)(img)(x,_p7##y,z,c), I[104] = (T)(img)(_n1##x,_p7##y,z,c), I[105] = [...]
+ I[115] = (T)(img)(_p11##x,_p6##y,z,c), I[116] = (T)(img)(_p10##x,_p6##y,z,c), I[117] = (T)(img)(_p9##x,_p6##y,z,c), I[118] = (T)(img)(_p8##x,_p6##y,z,c), I[119] = (T)(img)(_p7##x,_p6##y,z,c), I[120] = (T)(img)(_p6##x,_p6##y,z,c), I[121] = (T)(img)(_p5##x,_p6##y,z,c), I[122] = (T)(img)(_p4##x,_p6##y,z,c), I[123] = (T)(img)(_p3##x,_p6##y,z,c), I[124] = (T)(img)(_p2##x,_p6##y,z,c), I[125] = (T)(img)(_p1##x,_p6##y,z,c), I[126] = (T)(img)(x,_p6##y,z,c), I[127] = (T)(img)(_n1##x,_p6##y,z,c),  [...]
+ I[138] = (T)(img)(_p11##x,_p5##y,z,c), I[139] = (T)(img)(_p10##x,_p5##y,z,c), I[140] = (T)(img)(_p9##x,_p5##y,z,c), I[141] = (T)(img)(_p8##x,_p5##y,z,c), I[142] = (T)(img)(_p7##x,_p5##y,z,c), I[143] = (T)(img)(_p6##x,_p5##y,z,c), I[144] = (T)(img)(_p5##x,_p5##y,z,c), I[145] = (T)(img)(_p4##x,_p5##y,z,c), I[146] = (T)(img)(_p3##x,_p5##y,z,c), I[147] = (T)(img)(_p2##x,_p5##y,z,c), I[148] = (T)(img)(_p1##x,_p5##y,z,c), I[149] = (T)(img)(x,_p5##y,z,c), I[150] = (T)(img)(_n1##x,_p5##y,z,c),  [...]
+ I[161] = (T)(img)(_p11##x,_p4##y,z,c), I[162] = (T)(img)(_p10##x,_p4##y,z,c), I[163] = (T)(img)(_p9##x,_p4##y,z,c), I[164] = (T)(img)(_p8##x,_p4##y,z,c), I[165] = (T)(img)(_p7##x,_p4##y,z,c), I[166] = (T)(img)(_p6##x,_p4##y,z,c), I[167] = (T)(img)(_p5##x,_p4##y,z,c), I[168] = (T)(img)(_p4##x,_p4##y,z,c), I[169] = (T)(img)(_p3##x,_p4##y,z,c), I[170] = (T)(img)(_p2##x,_p4##y,z,c), I[171] = (T)(img)(_p1##x,_p4##y,z,c), I[172] = (T)(img)(x,_p4##y,z,c), I[173] = (T)(img)(_n1##x,_p4##y,z,c),  [...]
+ I[184] = (T)(img)(_p11##x,_p3##y,z,c), I[185] = (T)(img)(_p10##x,_p3##y,z,c), I[186] = (T)(img)(_p9##x,_p3##y,z,c), I[187] = (T)(img)(_p8##x,_p3##y,z,c), I[188] = (T)(img)(_p7##x,_p3##y,z,c), I[189] = (T)(img)(_p6##x,_p3##y,z,c), I[190] = (T)(img)(_p5##x,_p3##y,z,c), I[191] = (T)(img)(_p4##x,_p3##y,z,c), I[192] = (T)(img)(_p3##x,_p3##y,z,c), I[193] = (T)(img)(_p2##x,_p3##y,z,c), I[194] = (T)(img)(_p1##x,_p3##y,z,c), I[195] = (T)(img)(x,_p3##y,z,c), I[196] = (T)(img)(_n1##x,_p3##y,z,c),  [...]
+ I[207] = (T)(img)(_p11##x,_p2##y,z,c), I[208] = (T)(img)(_p10##x,_p2##y,z,c), I[209] = (T)(img)(_p9##x,_p2##y,z,c), I[210] = (T)(img)(_p8##x,_p2##y,z,c), I[211] = (T)(img)(_p7##x,_p2##y,z,c), I[212] = (T)(img)(_p6##x,_p2##y,z,c), I[213] = (T)(img)(_p5##x,_p2##y,z,c), I[214] = (T)(img)(_p4##x,_p2##y,z,c), I[215] = (T)(img)(_p3##x,_p2##y,z,c), I[216] = (T)(img)(_p2##x,_p2##y,z,c), I[217] = (T)(img)(_p1##x,_p2##y,z,c), I[218] = (T)(img)(x,_p2##y,z,c), I[219] = (T)(img)(_n1##x,_p2##y,z,c),  [...]
+ I[230] = (T)(img)(_p11##x,_p1##y,z,c), I[231] = (T)(img)(_p10##x,_p1##y,z,c), I[232] = (T)(img)(_p9##x,_p1##y,z,c), I[233] = (T)(img)(_p8##x,_p1##y,z,c), I[234] = (T)(img)(_p7##x,_p1##y,z,c), I[235] = (T)(img)(_p6##x,_p1##y,z,c), I[236] = (T)(img)(_p5##x,_p1##y,z,c), I[237] = (T)(img)(_p4##x,_p1##y,z,c), I[238] = (T)(img)(_p3##x,_p1##y,z,c), I[239] = (T)(img)(_p2##x,_p1##y,z,c), I[240] = (T)(img)(_p1##x,_p1##y,z,c), I[241] = (T)(img)(x,_p1##y,z,c), I[242] = (T)(img)(_n1##x,_p1##y,z,c),  [...]
+ I[253] = (T)(img)(_p11##x,y,z,c), I[254] = (T)(img)(_p10##x,y,z,c), I[255] = (T)(img)(_p9##x,y,z,c), I[256] = (T)(img)(_p8##x,y,z,c), I[257] = (T)(img)(_p7##x,y,z,c), I[258] = (T)(img)(_p6##x,y,z,c), I[259] = (T)(img)(_p5##x,y,z,c), I[260] = (T)(img)(_p4##x,y,z,c), I[261] = (T)(img)(_p3##x,y,z,c), I[262] = (T)(img)(_p2##x,y,z,c), I[263] = (T)(img)(_p1##x,y,z,c), I[264] = (T)(img)(x,y,z,c), I[265] = (T)(img)(_n1##x,y,z,c), I[266] = (T)(img)(_n2##x,y,z,c), I[267] = (T)(img)(_n3##x,y,z,c), [...]
+ I[276] = (T)(img)(_p11##x,_n1##y,z,c), I[277] = (T)(img)(_p10##x,_n1##y,z,c), I[278] = (T)(img)(_p9##x,_n1##y,z,c), I[279] = (T)(img)(_p8##x,_n1##y,z,c), I[280] = (T)(img)(_p7##x,_n1##y,z,c), I[281] = (T)(img)(_p6##x,_n1##y,z,c), I[282] = (T)(img)(_p5##x,_n1##y,z,c), I[283] = (T)(img)(_p4##x,_n1##y,z,c), I[284] = (T)(img)(_p3##x,_n1##y,z,c), I[285] = (T)(img)(_p2##x,_n1##y,z,c), I[286] = (T)(img)(_p1##x,_n1##y,z,c), I[287] = (T)(img)(x,_n1##y,z,c), I[288] = (T)(img)(_n1##x,_n1##y,z,c),  [...]
+ I[299] = (T)(img)(_p11##x,_n2##y,z,c), I[300] = (T)(img)(_p10##x,_n2##y,z,c), I[301] = (T)(img)(_p9##x,_n2##y,z,c), I[302] = (T)(img)(_p8##x,_n2##y,z,c), I[303] = (T)(img)(_p7##x,_n2##y,z,c), I[304] = (T)(img)(_p6##x,_n2##y,z,c), I[305] = (T)(img)(_p5##x,_n2##y,z,c), I[306] = (T)(img)(_p4##x,_n2##y,z,c), I[307] = (T)(img)(_p3##x,_n2##y,z,c), I[308] = (T)(img)(_p2##x,_n2##y,z,c), I[309] = (T)(img)(_p1##x,_n2##y,z,c), I[310] = (T)(img)(x,_n2##y,z,c), I[311] = (T)(img)(_n1##x,_n2##y,z,c),  [...]
+ I[322] = (T)(img)(_p11##x,_n3##y,z,c), I[323] = (T)(img)(_p10##x,_n3##y,z,c), I[324] = (T)(img)(_p9##x,_n3##y,z,c), I[325] = (T)(img)(_p8##x,_n3##y,z,c), I[326] = (T)(img)(_p7##x,_n3##y,z,c), I[327] = (T)(img)(_p6##x,_n3##y,z,c), I[328] = (T)(img)(_p5##x,_n3##y,z,c), I[329] = (T)(img)(_p4##x,_n3##y,z,c), I[330] = (T)(img)(_p3##x,_n3##y,z,c), I[331] = (T)(img)(_p2##x,_n3##y,z,c), I[332] = (T)(img)(_p1##x,_n3##y,z,c), I[333] = (T)(img)(x,_n3##y,z,c), I[334] = (T)(img)(_n1##x,_n3##y,z,c),  [...]
+ I[345] = (T)(img)(_p11##x,_n4##y,z,c), I[346] = (T)(img)(_p10##x,_n4##y,z,c), I[347] = (T)(img)(_p9##x,_n4##y,z,c), I[348] = (T)(img)(_p8##x,_n4##y,z,c), I[349] = (T)(img)(_p7##x,_n4##y,z,c), I[350] = (T)(img)(_p6##x,_n4##y,z,c), I[351] = (T)(img)(_p5##x,_n4##y,z,c), I[352] = (T)(img)(_p4##x,_n4##y,z,c), I[353] = (T)(img)(_p3##x,_n4##y,z,c), I[354] = (T)(img)(_p2##x,_n4##y,z,c), I[355] = (T)(img)(_p1##x,_n4##y,z,c), I[356] = (T)(img)(x,_n4##y,z,c), I[357] = (T)(img)(_n1##x,_n4##y,z,c),  [...]
+ I[368] = (T)(img)(_p11##x,_n5##y,z,c), I[369] = (T)(img)(_p10##x,_n5##y,z,c), I[370] = (T)(img)(_p9##x,_n5##y,z,c), I[371] = (T)(img)(_p8##x,_n5##y,z,c), I[372] = (T)(img)(_p7##x,_n5##y,z,c), I[373] = (T)(img)(_p6##x,_n5##y,z,c), I[374] = (T)(img)(_p5##x,_n5##y,z,c), I[375] = (T)(img)(_p4##x,_n5##y,z,c), I[376] = (T)(img)(_p3##x,_n5##y,z,c), I[377] = (T)(img)(_p2##x,_n5##y,z,c), I[378] = (T)(img)(_p1##x,_n5##y,z,c), I[379] = (T)(img)(x,_n5##y,z,c), I[380] = (T)(img)(_n1##x,_n5##y,z,c),  [...]
+ I[391] = (T)(img)(_p11##x,_n6##y,z,c), I[392] = (T)(img)(_p10##x,_n6##y,z,c), I[393] = (T)(img)(_p9##x,_n6##y,z,c), I[394] = (T)(img)(_p8##x,_n6##y,z,c), I[395] = (T)(img)(_p7##x,_n6##y,z,c), I[396] = (T)(img)(_p6##x,_n6##y,z,c), I[397] = (T)(img)(_p5##x,_n6##y,z,c), I[398] = (T)(img)(_p4##x,_n6##y,z,c), I[399] = (T)(img)(_p3##x,_n6##y,z,c), I[400] = (T)(img)(_p2##x,_n6##y,z,c), I[401] = (T)(img)(_p1##x,_n6##y,z,c), I[402] = (T)(img)(x,_n6##y,z,c), I[403] = (T)(img)(_n1##x,_n6##y,z,c),  [...]
+ I[414] = (T)(img)(_p11##x,_n7##y,z,c), I[415] = (T)(img)(_p10##x,_n7##y,z,c), I[416] = (T)(img)(_p9##x,_n7##y,z,c), I[417] = (T)(img)(_p8##x,_n7##y,z,c), I[418] = (T)(img)(_p7##x,_n7##y,z,c), I[419] = (T)(img)(_p6##x,_n7##y,z,c), I[420] = (T)(img)(_p5##x,_n7##y,z,c), I[421] = (T)(img)(_p4##x,_n7##y,z,c), I[422] = (T)(img)(_p3##x,_n7##y,z,c), I[423] = (T)(img)(_p2##x,_n7##y,z,c), I[424] = (T)(img)(_p1##x,_n7##y,z,c), I[425] = (T)(img)(x,_n7##y,z,c), I[426] = (T)(img)(_n1##x,_n7##y,z,c),  [...]
+ I[437] = (T)(img)(_p11##x,_n8##y,z,c), I[438] = (T)(img)(_p10##x,_n8##y,z,c), I[439] = (T)(img)(_p9##x,_n8##y,z,c), I[440] = (T)(img)(_p8##x,_n8##y,z,c), I[441] = (T)(img)(_p7##x,_n8##y,z,c), I[442] = (T)(img)(_p6##x,_n8##y,z,c), I[443] = (T)(img)(_p5##x,_n8##y,z,c), I[444] = (T)(img)(_p4##x,_n8##y,z,c), I[445] = (T)(img)(_p3##x,_n8##y,z,c), I[446] = (T)(img)(_p2##x,_n8##y,z,c), I[447] = (T)(img)(_p1##x,_n8##y,z,c), I[448] = (T)(img)(x,_n8##y,z,c), I[449] = (T)(img)(_n1##x,_n8##y,z,c),  [...]
+ I[460] = (T)(img)(_p11##x,_n9##y,z,c), I[461] = (T)(img)(_p10##x,_n9##y,z,c), I[462] = (T)(img)(_p9##x,_n9##y,z,c), I[463] = (T)(img)(_p8##x,_n9##y,z,c), I[464] = (T)(img)(_p7##x,_n9##y,z,c), I[465] = (T)(img)(_p6##x,_n9##y,z,c), I[466] = (T)(img)(_p5##x,_n9##y,z,c), I[467] = (T)(img)(_p4##x,_n9##y,z,c), I[468] = (T)(img)(_p3##x,_n9##y,z,c), I[469] = (T)(img)(_p2##x,_n9##y,z,c), I[470] = (T)(img)(_p1##x,_n9##y,z,c), I[471] = (T)(img)(x,_n9##y,z,c), I[472] = (T)(img)(_n1##x,_n9##y,z,c),  [...]
+ I[483] = (T)(img)(_p11##x,_n10##y,z,c), I[484] = (T)(img)(_p10##x,_n10##y,z,c), I[485] = (T)(img)(_p9##x,_n10##y,z,c), I[486] = (T)(img)(_p8##x,_n10##y,z,c), I[487] = (T)(img)(_p7##x,_n10##y,z,c), I[488] = (T)(img)(_p6##x,_n10##y,z,c), I[489] = (T)(img)(_p5##x,_n10##y,z,c), I[490] = (T)(img)(_p4##x,_n10##y,z,c), I[491] = (T)(img)(_p3##x,_n10##y,z,c), I[492] = (T)(img)(_p2##x,_n10##y,z,c), I[493] = (T)(img)(_p1##x,_n10##y,z,c), I[494] = (T)(img)(x,_n10##y,z,c), I[495] = (T)(img)(_n1##x,_ [...]
+ I[506] = (T)(img)(_p11##x,_n11##y,z,c), I[507] = (T)(img)(_p10##x,_n11##y,z,c), I[508] = (T)(img)(_p9##x,_n11##y,z,c), I[509] = (T)(img)(_p8##x,_n11##y,z,c), I[510] = (T)(img)(_p7##x,_n11##y,z,c), I[511] = (T)(img)(_p6##x,_n11##y,z,c), I[512] = (T)(img)(_p5##x,_n11##y,z,c), I[513] = (T)(img)(_p4##x,_n11##y,z,c), I[514] = (T)(img)(_p3##x,_n11##y,z,c), I[515] = (T)(img)(_p2##x,_n11##y,z,c), I[516] = (T)(img)(_p1##x,_n11##y,z,c), I[517] = (T)(img)(x,_n11##y,z,c), I[518] = (T)(img)(_n1##x,_ [...]
+
+// Define 24x24 loop macros
+//-------------------------
+#define cimg_for24(bound,i) for (int i = 0, \
+ _p11##i = 0, _p10##i = 0, _p9##i = 0, _p8##i = 0, _p7##i = 0, _p6##i = 0, _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5, \
+ _n6##i = 6>=(int)(bound)?(int)(bound) - 1:6, \
+ _n7##i = 7>=(int)(bound)?(int)(bound) - 1:7, \
+ _n8##i = 8>=(int)(bound)?(int)(bound) - 1:8, \
+ _n9##i = 9>=(int)(bound)?(int)(bound) - 1:9, \
+ _n10##i = 10>=(int)(bound)?(int)(bound) - 1:10, \
+ _n11##i = 11>=(int)(bound)?(int)(bound) - 1:11, \
+ _n12##i = 12>=(int)(bound)?(int)(bound) - 1:12; \
+ _n12##i<(int)(bound) || _n11##i==--_n12##i || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n12##i = _n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p11##i = _p10##i, _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i, ++_n12##i)
+
+#define cimg_for24X(img,x) cimg_for24((img)._width,x)
+#define cimg_for24Y(img,y) cimg_for24((img)._height,y)
+#define cimg_for24Z(img,z) cimg_for24((img)._depth,z)
+#define cimg_for24C(img,c) cimg_for24((img)._spectrum,c)
+#define cimg_for24XY(img,x,y) cimg_for24Y(img,y) cimg_for24X(img,x)
+#define cimg_for24XZ(img,x,z) cimg_for24Z(img,z) cimg_for24X(img,x)
+#define cimg_for24XC(img,x,c) cimg_for24C(img,c) cimg_for24X(img,x)
+#define cimg_for24YZ(img,y,z) cimg_for24Z(img,z) cimg_for24Y(img,y)
+#define cimg_for24YC(img,y,c) cimg_for24C(img,c) cimg_for24Y(img,y)
+#define cimg_for24ZC(img,z,c) cimg_for24C(img,c) cimg_for24Z(img,z)
+#define cimg_for24XYZ(img,x,y,z) cimg_for24Z(img,z) cimg_for24XY(img,x,y)
+#define cimg_for24XZC(img,x,z,c) cimg_for24C(img,c) cimg_for24XZ(img,x,z)
+#define cimg_for24YZC(img,y,z,c) cimg_for24C(img,c) cimg_for24YZ(img,y,z)
+#define cimg_for24XYZC(img,x,y,z,c) cimg_for24C(img,c) cimg_for24XYZ(img,x,y,z)
+
+#define cimg_for_in24(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p11##i = i - 11<0?0:i - 11, \
+ _p10##i = i - 10<0?0:i - 10, \
+ _p9##i = i - 9<0?0:i - 9, \
+ _p8##i = i - 8<0?0:i - 8, \
+ _p7##i = i - 7<0?0:i - 7, \
+ _p6##i = i - 6<0?0:i - 6, \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5, \
+ _n6##i = i + 6>=(int)(bound)?(int)(bound) - 1:i + 6, \
+ _n7##i = i + 7>=(int)(bound)?(int)(bound) - 1:i + 7, \
+ _n8##i = i + 8>=(int)(bound)?(int)(bound) - 1:i + 8, \
+ _n9##i = i + 9>=(int)(bound)?(int)(bound) - 1:i + 9, \
+ _n10##i = i + 10>=(int)(bound)?(int)(bound) - 1:i + 10, \
+ _n11##i = i + 11>=(int)(bound)?(int)(bound) - 1:i + 11, \
+ _n12##i = i + 12>=(int)(bound)?(int)(bound) - 1:i + 12; \
+ i<=(int)(i1) && (_n12##i<(int)(bound) || _n11##i==--_n12##i || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n12##i = _n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p11##i = _p10##i, _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i, ++_n12##i)
+
+#define cimg_for_in24X(img,x0,x1,x) cimg_for_in24((img)._width,x0,x1,x)
+#define cimg_for_in24Y(img,y0,y1,y) cimg_for_in24((img)._height,y0,y1,y)
+#define cimg_for_in24Z(img,z0,z1,z) cimg_for_in24((img)._depth,z0,z1,z)
+#define cimg_for_in24C(img,c0,c1,c) cimg_for_in24((img)._spectrum,c0,c1,c)
+#define cimg_for_in24XY(img,x0,y0,x1,y1,x,y) cimg_for_in24Y(img,y0,y1,y) cimg_for_in24X(img,x0,x1,x)
+#define cimg_for_in24XZ(img,x0,z0,x1,z1,x,z) cimg_for_in24Z(img,z0,z1,z) cimg_for_in24X(img,x0,x1,x)
+#define cimg_for_in24XC(img,x0,c0,x1,c1,x,c) cimg_for_in24C(img,c0,c1,c) cimg_for_in24X(img,x0,x1,x)
+#define cimg_for_in24YZ(img,y0,z0,y1,z1,y,z) cimg_for_in24Z(img,z0,z1,z) cimg_for_in24Y(img,y0,y1,y)
+#define cimg_for_in24YC(img,y0,c0,y1,c1,y,c) cimg_for_in24C(img,c0,c1,c) cimg_for_in24Y(img,y0,y1,y)
+#define cimg_for_in24ZC(img,z0,c0,z1,c1,z,c) cimg_for_in24C(img,c0,c1,c) cimg_for_in24Z(img,z0,z1,z)
+#define cimg_for_in24XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in24Z(img,z0,z1,z) cimg_for_in24XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in24XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in24C(img,c0,c1,c) cimg_for_in24XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in24YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in24C(img,c0,c1,c) cimg_for_in24YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in24XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in24C(img,c0,c1,c) cimg_for_in24XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for24x24(img,x,y,z,c,I,T) \
+ cimg_for24((img)._height,y) for (int x = 0, \
+ _p11##x = 0, _p10##x = 0, _p9##x = 0, _p8##x = 0, _p7##x = 0, _p6##x = 0, _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = 5>=((img)._width)?(img).width() - 1:5, \
+ _n6##x = 6>=((img)._width)?(img).width() - 1:6, \
+ _n7##x = 7>=((img)._width)?(img).width() - 1:7, \
+ _n8##x = 8>=((img)._width)?(img).width() - 1:8, \
+ _n9##x = 9>=((img)._width)?(img).width() - 1:9, \
+ _n10##x = 10>=((img)._width)?(img).width() - 1:10, \
+ _n11##x = 11>=((img)._width)?(img).width() - 1:11, \
+ _n12##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = I[6] = I[7] = I[8] = I[9] = I[10] = I[11] = (T)(img)(0,_p11##y,z,c)), \
+ (I[24] = I[25] = I[26] = I[27] = I[28] = I[29] = I[30] = I[31] = I[32] = I[33] = I[34] = I[35] = (T)(img)(0,_p10##y,z,c)), \
+ (I[48] = I[49] = I[50] = I[51] = I[52] = I[53] = I[54] = I[55] = I[56] = I[57] = I[58] = I[59] = (T)(img)(0,_p9##y,z,c)), \
+ (I[72] = I[73] = I[74] = I[75] = I[76] = I[77] = I[78] = I[79] = I[80] = I[81] = I[82] = I[83] = (T)(img)(0,_p8##y,z,c)), \
+ (I[96] = I[97] = I[98] = I[99] = I[100] = I[101] = I[102] = I[103] = I[104] = I[105] = I[106] = I[107] = (T)(img)(0,_p7##y,z,c)), \
+ (I[120] = I[121] = I[122] = I[123] = I[124] = I[125] = I[126] = I[127] = I[128] = I[129] = I[130] = I[131] = (T)(img)(0,_p6##y,z,c)), \
+ (I[144] = I[145] = I[146] = I[147] = I[148] = I[149] = I[150] = I[151] = I[152] = I[153] = I[154] = I[155] = (T)(img)(0,_p5##y,z,c)), \
+ (I[168] = I[169] = I[170] = I[171] = I[172] = I[173] = I[174] = I[175] = I[176] = I[177] = I[178] = I[179] = (T)(img)(0,_p4##y,z,c)), \
+ (I[192] = I[193] = I[194] = I[195] = I[196] = I[197] = I[198] = I[199] = I[200] = I[201] = I[202] = I[203] = (T)(img)(0,_p3##y,z,c)), \
+ (I[216] = I[217] = I[218] = I[219] = I[220] = I[221] = I[222] = I[223] = I[224] = I[225] = I[226] = I[227] = (T)(img)(0,_p2##y,z,c)), \
+ (I[240] = I[241] = I[242] = I[243] = I[244] = I[245] = I[246] = I[247] = I[248] = I[249] = I[250] = I[251] = (T)(img)(0,_p1##y,z,c)), \
+ (I[264] = I[265] = I[266] = I[267] = I[268] = I[269] = I[270] = I[271] = I[272] = I[273] = I[274] = I[275] = (T)(img)(0,y,z,c)), \
+ (I[288] = I[289] = I[290] = I[291] = I[292] = I[293] = I[294] = I[295] = I[296] = I[297] = I[298] = I[299] = (T)(img)(0,_n1##y,z,c)), \
+ (I[312] = I[313] = I[314] = I[315] = I[316] = I[317] = I[318] = I[319] = I[320] = I[321] = I[322] = I[323] = (T)(img)(0,_n2##y,z,c)), \
+ (I[336] = I[337] = I[338] = I[339] = I[340] = I[341] = I[342] = I[343] = I[344] = I[345] = I[346] = I[347] = (T)(img)(0,_n3##y,z,c)), \
+ (I[360] = I[361] = I[362] = I[363] = I[364] = I[365] = I[366] = I[367] = I[368] = I[369] = I[370] = I[371] = (T)(img)(0,_n4##y,z,c)), \
+ (I[384] = I[385] = I[386] = I[387] = I[388] = I[389] = I[390] = I[391] = I[392] = I[393] = I[394] = I[395] = (T)(img)(0,_n5##y,z,c)), \
+ (I[408] = I[409] = I[410] = I[411] = I[412] = I[413] = I[414] = I[415] = I[416] = I[417] = I[418] = I[419] = (T)(img)(0,_n6##y,z,c)), \
+ (I[432] = I[433] = I[434] = I[435] = I[436] = I[437] = I[438] = I[439] = I[440] = I[441] = I[442] = I[443] = (T)(img)(0,_n7##y,z,c)), \
+ (I[456] = I[457] = I[458] = I[459] = I[460] = I[461] = I[462] = I[463] = I[464] = I[465] = I[466] = I[467] = (T)(img)(0,_n8##y,z,c)), \
+ (I[480] = I[481] = I[482] = I[483] = I[484] = I[485] = I[486] = I[487] = I[488] = I[489] = I[490] = I[491] = (T)(img)(0,_n9##y,z,c)), \
+ (I[504] = I[505] = I[506] = I[507] = I[508] = I[509] = I[510] = I[511] = I[512] = I[513] = I[514] = I[515] = (T)(img)(0,_n10##y,z,c)), \
+ (I[528] = I[529] = I[530] = I[531] = I[532] = I[533] = I[534] = I[535] = I[536] = I[537] = I[538] = I[539] = (T)(img)(0,_n11##y,z,c)), \
+ (I[552] = I[553] = I[554] = I[555] = I[556] = I[557] = I[558] = I[559] = I[560] = I[561] = I[562] = I[563] = (T)(img)(0,_n12##y,z,c)), \
+ (I[12] = (T)(img)(_n1##x,_p11##y,z,c)), \
+ (I[36] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[60] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[84] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[108] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[132] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[156] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[180] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[204] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[228] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[252] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[276] = (T)(img)(_n1##x,y,z,c)), \
+ (I[300] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[324] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[348] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[372] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[396] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[420] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[444] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[468] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[492] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[516] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[540] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[564] = (T)(img)(_n1##x,_n12##y,z,c)), \
+ (I[13] = (T)(img)(_n2##x,_p11##y,z,c)), \
+ (I[37] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[61] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[85] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[109] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[133] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[157] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[181] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[205] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[229] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[253] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[277] = (T)(img)(_n2##x,y,z,c)), \
+ (I[301] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[325] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[349] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[373] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[397] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[421] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[445] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[469] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[493] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[517] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[541] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[565] = (T)(img)(_n2##x,_n12##y,z,c)), \
+ (I[14] = (T)(img)(_n3##x,_p11##y,z,c)), \
+ (I[38] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[62] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[86] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[110] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[134] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[158] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[182] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[206] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[230] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[254] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[278] = (T)(img)(_n3##x,y,z,c)), \
+ (I[302] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[326] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[350] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[374] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[398] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[422] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[446] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[470] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[494] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[518] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[542] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[566] = (T)(img)(_n3##x,_n12##y,z,c)), \
+ (I[15] = (T)(img)(_n4##x,_p11##y,z,c)), \
+ (I[39] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[63] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[87] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[111] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[135] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[159] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[183] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[207] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[231] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[255] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[279] = (T)(img)(_n4##x,y,z,c)), \
+ (I[303] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[327] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[351] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[375] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[399] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[423] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[447] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[471] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[495] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[519] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[543] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[567] = (T)(img)(_n4##x,_n12##y,z,c)), \
+ (I[16] = (T)(img)(_n5##x,_p11##y,z,c)), \
+ (I[40] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[64] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[88] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[112] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[136] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[160] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[184] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[208] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[232] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[256] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[280] = (T)(img)(_n5##x,y,z,c)), \
+ (I[304] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[328] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[352] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[376] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[400] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[424] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[448] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[472] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[496] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[520] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[544] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[568] = (T)(img)(_n5##x,_n12##y,z,c)), \
+ (I[17] = (T)(img)(_n6##x,_p11##y,z,c)), \
+ (I[41] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[65] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[89] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[113] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[137] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[161] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[185] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[209] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[233] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[257] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[281] = (T)(img)(_n6##x,y,z,c)), \
+ (I[305] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[329] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[353] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[377] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[401] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[425] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[449] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[473] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[497] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[521] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[545] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[569] = (T)(img)(_n6##x,_n12##y,z,c)), \
+ (I[18] = (T)(img)(_n7##x,_p11##y,z,c)), \
+ (I[42] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[66] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[90] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[114] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[138] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[162] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[186] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[210] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[234] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[258] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[282] = (T)(img)(_n7##x,y,z,c)), \
+ (I[306] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[330] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[354] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[378] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[402] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[426] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[450] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[474] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[498] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[522] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[546] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[570] = (T)(img)(_n7##x,_n12##y,z,c)), \
+ (I[19] = (T)(img)(_n8##x,_p11##y,z,c)), \
+ (I[43] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[67] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[91] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[115] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[139] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[163] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[187] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[211] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[235] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[259] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[283] = (T)(img)(_n8##x,y,z,c)), \
+ (I[307] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[331] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[355] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[379] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[403] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[427] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[451] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[475] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[499] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[523] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[547] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[571] = (T)(img)(_n8##x,_n12##y,z,c)), \
+ (I[20] = (T)(img)(_n9##x,_p11##y,z,c)), \
+ (I[44] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[68] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[92] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[116] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[140] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[164] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[188] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[212] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[236] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[260] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[284] = (T)(img)(_n9##x,y,z,c)), \
+ (I[308] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[332] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[356] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[380] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[404] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[428] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[452] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[476] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[500] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[524] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[548] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[572] = (T)(img)(_n9##x,_n12##y,z,c)), \
+ (I[21] = (T)(img)(_n10##x,_p11##y,z,c)), \
+ (I[45] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[69] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[93] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[117] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[141] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[165] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[189] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[213] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[237] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[261] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[285] = (T)(img)(_n10##x,y,z,c)), \
+ (I[309] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[333] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[357] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[381] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[405] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[429] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[453] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[477] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[501] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[525] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[549] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ (I[573] = (T)(img)(_n10##x,_n12##y,z,c)), \
+ (I[22] = (T)(img)(_n11##x,_p11##y,z,c)), \
+ (I[46] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[70] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[94] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[118] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[142] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[166] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[190] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[214] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[238] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[262] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[286] = (T)(img)(_n11##x,y,z,c)), \
+ (I[310] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[334] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[358] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[382] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[406] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[430] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[454] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[478] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[502] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[526] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[550] = (T)(img)(_n11##x,_n11##y,z,c)), \
+ (I[574] = (T)(img)(_n11##x,_n12##y,z,c)), \
+ 12>=((img)._width)?(img).width() - 1:12); \
+ (_n12##x<(img).width() && ( \
+ (I[23] = (T)(img)(_n12##x,_p11##y,z,c)), \
+ (I[47] = (T)(img)(_n12##x,_p10##y,z,c)), \
+ (I[71] = (T)(img)(_n12##x,_p9##y,z,c)), \
+ (I[95] = (T)(img)(_n12##x,_p8##y,z,c)), \
+ (I[119] = (T)(img)(_n12##x,_p7##y,z,c)), \
+ (I[143] = (T)(img)(_n12##x,_p6##y,z,c)), \
+ (I[167] = (T)(img)(_n12##x,_p5##y,z,c)), \
+ (I[191] = (T)(img)(_n12##x,_p4##y,z,c)), \
+ (I[215] = (T)(img)(_n12##x,_p3##y,z,c)), \
+ (I[239] = (T)(img)(_n12##x,_p2##y,z,c)), \
+ (I[263] = (T)(img)(_n12##x,_p1##y,z,c)), \
+ (I[287] = (T)(img)(_n12##x,y,z,c)), \
+ (I[311] = (T)(img)(_n12##x,_n1##y,z,c)), \
+ (I[335] = (T)(img)(_n12##x,_n2##y,z,c)), \
+ (I[359] = (T)(img)(_n12##x,_n3##y,z,c)), \
+ (I[383] = (T)(img)(_n12##x,_n4##y,z,c)), \
+ (I[407] = (T)(img)(_n12##x,_n5##y,z,c)), \
+ (I[431] = (T)(img)(_n12##x,_n6##y,z,c)), \
+ (I[455] = (T)(img)(_n12##x,_n7##y,z,c)), \
+ (I[479] = (T)(img)(_n12##x,_n8##y,z,c)), \
+ (I[503] = (T)(img)(_n12##x,_n9##y,z,c)), \
+ (I[527] = (T)(img)(_n12##x,_n10##y,z,c)), \
+ (I[551] = (T)(img)(_n12##x,_n11##y,z,c)), \
+ (I[575] = (T)(img)(_n12##x,_n12##y,z,c)),1)) || \
+ _n11##x==--_n12##x || _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n12##x = _n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], \
+ I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], \
+ I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], \
+ I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], \
+ I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], \
+ I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], \
+ I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], \
+ I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], \
+ I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], \
+ I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], \
+ I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], \
+ I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], \
+ I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], \
+ I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], \
+ I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], \
+ I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], I[376] = I[377], I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], \
+ I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], I[399] = I[400], I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], \
+ I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], I[415] = I[416], I[416] = I[417], I[417] = I[418], I[418] = I[419], I[419] = I[420], I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], \
+ I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], I[439] = I[440], I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], I[447] = I[448], I[448] = I[449], I[449] = I[450], I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], \
+ I[456] = I[457], I[457] = I[458], I[458] = I[459], I[459] = I[460], I[460] = I[461], I[461] = I[462], I[462] = I[463], I[463] = I[464], I[464] = I[465], I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], I[474] = I[475], I[475] = I[476], I[476] = I[477], I[477] = I[478], I[478] = I[479], \
+ I[480] = I[481], I[481] = I[482], I[482] = I[483], I[483] = I[484], I[484] = I[485], I[485] = I[486], I[486] = I[487], I[487] = I[488], I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], I[492] = I[493], I[493] = I[494], I[494] = I[495], I[495] = I[496], I[496] = I[497], I[497] = I[498], I[498] = I[499], I[499] = I[500], I[500] = I[501], I[501] = I[502], I[502] = I[503], \
+ I[504] = I[505], I[505] = I[506], I[506] = I[507], I[507] = I[508], I[508] = I[509], I[509] = I[510], I[510] = I[511], I[511] = I[512], I[512] = I[513], I[513] = I[514], I[514] = I[515], I[515] = I[516], I[516] = I[517], I[517] = I[518], I[518] = I[519], I[519] = I[520], I[520] = I[521], I[521] = I[522], I[522] = I[523], I[523] = I[524], I[524] = I[525], I[525] = I[526], I[526] = I[527], \
+ I[528] = I[529], I[529] = I[530], I[530] = I[531], I[531] = I[532], I[532] = I[533], I[533] = I[534], I[534] = I[535], I[535] = I[536], I[536] = I[537], I[537] = I[538], I[538] = I[539], I[539] = I[540], I[540] = I[541], I[541] = I[542], I[542] = I[543], I[543] = I[544], I[544] = I[545], I[545] = I[546], I[546] = I[547], I[547] = I[548], I[548] = I[549], I[549] = I[550], I[550] = I[551], \
+ I[552] = I[553], I[553] = I[554], I[554] = I[555], I[555] = I[556], I[556] = I[557], I[557] = I[558], I[558] = I[559], I[559] = I[560], I[560] = I[561], I[561] = I[562], I[562] = I[563], I[563] = I[564], I[564] = I[565], I[565] = I[566], I[566] = I[567], I[567] = I[568], I[568] = I[569], I[569] = I[570], I[570] = I[571], I[571] = I[572], I[572] = I[573], I[573] = I[574], I[574] = I[575], \
+ _p11##x = _p10##x, _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x, ++_n12##x)
+
+#define cimg_for_in24x24(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in24((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p11##x = x - 11<0?0:x - 11, \
+ _p10##x = x - 10<0?0:x - 10, \
+ _p9##x = x - 9<0?0:x - 9, \
+ _p8##x = x - 8<0?0:x - 8, \
+ _p7##x = x - 7<0?0:x - 7, \
+ _p6##x = x - 6<0?0:x - 6, \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = x + 5>=(img).width()?(img).width() - 1:x + 5, \
+ _n6##x = x + 6>=(img).width()?(img).width() - 1:x + 6, \
+ _n7##x = x + 7>=(img).width()?(img).width() - 1:x + 7, \
+ _n8##x = x + 8>=(img).width()?(img).width() - 1:x + 8, \
+ _n9##x = x + 9>=(img).width()?(img).width() - 1:x + 9, \
+ _n10##x = x + 10>=(img).width()?(img).width() - 1:x + 10, \
+ _n11##x = x + 11>=(img).width()?(img).width() - 1:x + 11, \
+ _n12##x = (int)( \
+ (I[0] = (T)(img)(_p11##x,_p11##y,z,c)), \
+ (I[24] = (T)(img)(_p11##x,_p10##y,z,c)), \
+ (I[48] = (T)(img)(_p11##x,_p9##y,z,c)), \
+ (I[72] = (T)(img)(_p11##x,_p8##y,z,c)), \
+ (I[96] = (T)(img)(_p11##x,_p7##y,z,c)), \
+ (I[120] = (T)(img)(_p11##x,_p6##y,z,c)), \
+ (I[144] = (T)(img)(_p11##x,_p5##y,z,c)), \
+ (I[168] = (T)(img)(_p11##x,_p4##y,z,c)), \
+ (I[192] = (T)(img)(_p11##x,_p3##y,z,c)), \
+ (I[216] = (T)(img)(_p11##x,_p2##y,z,c)), \
+ (I[240] = (T)(img)(_p11##x,_p1##y,z,c)), \
+ (I[264] = (T)(img)(_p11##x,y,z,c)), \
+ (I[288] = (T)(img)(_p11##x,_n1##y,z,c)), \
+ (I[312] = (T)(img)(_p11##x,_n2##y,z,c)), \
+ (I[336] = (T)(img)(_p11##x,_n3##y,z,c)), \
+ (I[360] = (T)(img)(_p11##x,_n4##y,z,c)), \
+ (I[384] = (T)(img)(_p11##x,_n5##y,z,c)), \
+ (I[408] = (T)(img)(_p11##x,_n6##y,z,c)), \
+ (I[432] = (T)(img)(_p11##x,_n7##y,z,c)), \
+ (I[456] = (T)(img)(_p11##x,_n8##y,z,c)), \
+ (I[480] = (T)(img)(_p11##x,_n9##y,z,c)), \
+ (I[504] = (T)(img)(_p11##x,_n10##y,z,c)), \
+ (I[528] = (T)(img)(_p11##x,_n11##y,z,c)), \
+ (I[552] = (T)(img)(_p11##x,_n12##y,z,c)), \
+ (I[1] = (T)(img)(_p10##x,_p11##y,z,c)), \
+ (I[25] = (T)(img)(_p10##x,_p10##y,z,c)), \
+ (I[49] = (T)(img)(_p10##x,_p9##y,z,c)), \
+ (I[73] = (T)(img)(_p10##x,_p8##y,z,c)), \
+ (I[97] = (T)(img)(_p10##x,_p7##y,z,c)), \
+ (I[121] = (T)(img)(_p10##x,_p6##y,z,c)), \
+ (I[145] = (T)(img)(_p10##x,_p5##y,z,c)), \
+ (I[169] = (T)(img)(_p10##x,_p4##y,z,c)), \
+ (I[193] = (T)(img)(_p10##x,_p3##y,z,c)), \
+ (I[217] = (T)(img)(_p10##x,_p2##y,z,c)), \
+ (I[241] = (T)(img)(_p10##x,_p1##y,z,c)), \
+ (I[265] = (T)(img)(_p10##x,y,z,c)), \
+ (I[289] = (T)(img)(_p10##x,_n1##y,z,c)), \
+ (I[313] = (T)(img)(_p10##x,_n2##y,z,c)), \
+ (I[337] = (T)(img)(_p10##x,_n3##y,z,c)), \
+ (I[361] = (T)(img)(_p10##x,_n4##y,z,c)), \
+ (I[385] = (T)(img)(_p10##x,_n5##y,z,c)), \
+ (I[409] = (T)(img)(_p10##x,_n6##y,z,c)), \
+ (I[433] = (T)(img)(_p10##x,_n7##y,z,c)), \
+ (I[457] = (T)(img)(_p10##x,_n8##y,z,c)), \
+ (I[481] = (T)(img)(_p10##x,_n9##y,z,c)), \
+ (I[505] = (T)(img)(_p10##x,_n10##y,z,c)), \
+ (I[529] = (T)(img)(_p10##x,_n11##y,z,c)), \
+ (I[553] = (T)(img)(_p10##x,_n12##y,z,c)), \
+ (I[2] = (T)(img)(_p9##x,_p11##y,z,c)), \
+ (I[26] = (T)(img)(_p9##x,_p10##y,z,c)), \
+ (I[50] = (T)(img)(_p9##x,_p9##y,z,c)), \
+ (I[74] = (T)(img)(_p9##x,_p8##y,z,c)), \
+ (I[98] = (T)(img)(_p9##x,_p7##y,z,c)), \
+ (I[122] = (T)(img)(_p9##x,_p6##y,z,c)), \
+ (I[146] = (T)(img)(_p9##x,_p5##y,z,c)), \
+ (I[170] = (T)(img)(_p9##x,_p4##y,z,c)), \
+ (I[194] = (T)(img)(_p9##x,_p3##y,z,c)), \
+ (I[218] = (T)(img)(_p9##x,_p2##y,z,c)), \
+ (I[242] = (T)(img)(_p9##x,_p1##y,z,c)), \
+ (I[266] = (T)(img)(_p9##x,y,z,c)), \
+ (I[290] = (T)(img)(_p9##x,_n1##y,z,c)), \
+ (I[314] = (T)(img)(_p9##x,_n2##y,z,c)), \
+ (I[338] = (T)(img)(_p9##x,_n3##y,z,c)), \
+ (I[362] = (T)(img)(_p9##x,_n4##y,z,c)), \
+ (I[386] = (T)(img)(_p9##x,_n5##y,z,c)), \
+ (I[410] = (T)(img)(_p9##x,_n6##y,z,c)), \
+ (I[434] = (T)(img)(_p9##x,_n7##y,z,c)), \
+ (I[458] = (T)(img)(_p9##x,_n8##y,z,c)), \
+ (I[482] = (T)(img)(_p9##x,_n9##y,z,c)), \
+ (I[506] = (T)(img)(_p9##x,_n10##y,z,c)), \
+ (I[530] = (T)(img)(_p9##x,_n11##y,z,c)), \
+ (I[554] = (T)(img)(_p9##x,_n12##y,z,c)), \
+ (I[3] = (T)(img)(_p8##x,_p11##y,z,c)), \
+ (I[27] = (T)(img)(_p8##x,_p10##y,z,c)), \
+ (I[51] = (T)(img)(_p8##x,_p9##y,z,c)), \
+ (I[75] = (T)(img)(_p8##x,_p8##y,z,c)), \
+ (I[99] = (T)(img)(_p8##x,_p7##y,z,c)), \
+ (I[123] = (T)(img)(_p8##x,_p6##y,z,c)), \
+ (I[147] = (T)(img)(_p8##x,_p5##y,z,c)), \
+ (I[171] = (T)(img)(_p8##x,_p4##y,z,c)), \
+ (I[195] = (T)(img)(_p8##x,_p3##y,z,c)), \
+ (I[219] = (T)(img)(_p8##x,_p2##y,z,c)), \
+ (I[243] = (T)(img)(_p8##x,_p1##y,z,c)), \
+ (I[267] = (T)(img)(_p8##x,y,z,c)), \
+ (I[291] = (T)(img)(_p8##x,_n1##y,z,c)), \
+ (I[315] = (T)(img)(_p8##x,_n2##y,z,c)), \
+ (I[339] = (T)(img)(_p8##x,_n3##y,z,c)), \
+ (I[363] = (T)(img)(_p8##x,_n4##y,z,c)), \
+ (I[387] = (T)(img)(_p8##x,_n5##y,z,c)), \
+ (I[411] = (T)(img)(_p8##x,_n6##y,z,c)), \
+ (I[435] = (T)(img)(_p8##x,_n7##y,z,c)), \
+ (I[459] = (T)(img)(_p8##x,_n8##y,z,c)), \
+ (I[483] = (T)(img)(_p8##x,_n9##y,z,c)), \
+ (I[507] = (T)(img)(_p8##x,_n10##y,z,c)), \
+ (I[531] = (T)(img)(_p8##x,_n11##y,z,c)), \
+ (I[555] = (T)(img)(_p8##x,_n12##y,z,c)), \
+ (I[4] = (T)(img)(_p7##x,_p11##y,z,c)), \
+ (I[28] = (T)(img)(_p7##x,_p10##y,z,c)), \
+ (I[52] = (T)(img)(_p7##x,_p9##y,z,c)), \
+ (I[76] = (T)(img)(_p7##x,_p8##y,z,c)), \
+ (I[100] = (T)(img)(_p7##x,_p7##y,z,c)), \
+ (I[124] = (T)(img)(_p7##x,_p6##y,z,c)), \
+ (I[148] = (T)(img)(_p7##x,_p5##y,z,c)), \
+ (I[172] = (T)(img)(_p7##x,_p4##y,z,c)), \
+ (I[196] = (T)(img)(_p7##x,_p3##y,z,c)), \
+ (I[220] = (T)(img)(_p7##x,_p2##y,z,c)), \
+ (I[244] = (T)(img)(_p7##x,_p1##y,z,c)), \
+ (I[268] = (T)(img)(_p7##x,y,z,c)), \
+ (I[292] = (T)(img)(_p7##x,_n1##y,z,c)), \
+ (I[316] = (T)(img)(_p7##x,_n2##y,z,c)), \
+ (I[340] = (T)(img)(_p7##x,_n3##y,z,c)), \
+ (I[364] = (T)(img)(_p7##x,_n4##y,z,c)), \
+ (I[388] = (T)(img)(_p7##x,_n5##y,z,c)), \
+ (I[412] = (T)(img)(_p7##x,_n6##y,z,c)), \
+ (I[436] = (T)(img)(_p7##x,_n7##y,z,c)), \
+ (I[460] = (T)(img)(_p7##x,_n8##y,z,c)), \
+ (I[484] = (T)(img)(_p7##x,_n9##y,z,c)), \
+ (I[508] = (T)(img)(_p7##x,_n10##y,z,c)), \
+ (I[532] = (T)(img)(_p7##x,_n11##y,z,c)), \
+ (I[556] = (T)(img)(_p7##x,_n12##y,z,c)), \
+ (I[5] = (T)(img)(_p6##x,_p11##y,z,c)), \
+ (I[29] = (T)(img)(_p6##x,_p10##y,z,c)), \
+ (I[53] = (T)(img)(_p6##x,_p9##y,z,c)), \
+ (I[77] = (T)(img)(_p6##x,_p8##y,z,c)), \
+ (I[101] = (T)(img)(_p6##x,_p7##y,z,c)), \
+ (I[125] = (T)(img)(_p6##x,_p6##y,z,c)), \
+ (I[149] = (T)(img)(_p6##x,_p5##y,z,c)), \
+ (I[173] = (T)(img)(_p6##x,_p4##y,z,c)), \
+ (I[197] = (T)(img)(_p6##x,_p3##y,z,c)), \
+ (I[221] = (T)(img)(_p6##x,_p2##y,z,c)), \
+ (I[245] = (T)(img)(_p6##x,_p1##y,z,c)), \
+ (I[269] = (T)(img)(_p6##x,y,z,c)), \
+ (I[293] = (T)(img)(_p6##x,_n1##y,z,c)), \
+ (I[317] = (T)(img)(_p6##x,_n2##y,z,c)), \
+ (I[341] = (T)(img)(_p6##x,_n3##y,z,c)), \
+ (I[365] = (T)(img)(_p6##x,_n4##y,z,c)), \
+ (I[389] = (T)(img)(_p6##x,_n5##y,z,c)), \
+ (I[413] = (T)(img)(_p6##x,_n6##y,z,c)), \
+ (I[437] = (T)(img)(_p6##x,_n7##y,z,c)), \
+ (I[461] = (T)(img)(_p6##x,_n8##y,z,c)), \
+ (I[485] = (T)(img)(_p6##x,_n9##y,z,c)), \
+ (I[509] = (T)(img)(_p6##x,_n10##y,z,c)), \
+ (I[533] = (T)(img)(_p6##x,_n11##y,z,c)), \
+ (I[557] = (T)(img)(_p6##x,_n12##y,z,c)), \
+ (I[6] = (T)(img)(_p5##x,_p11##y,z,c)), \
+ (I[30] = (T)(img)(_p5##x,_p10##y,z,c)), \
+ (I[54] = (T)(img)(_p5##x,_p9##y,z,c)), \
+ (I[78] = (T)(img)(_p5##x,_p8##y,z,c)), \
+ (I[102] = (T)(img)(_p5##x,_p7##y,z,c)), \
+ (I[126] = (T)(img)(_p5##x,_p6##y,z,c)), \
+ (I[150] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[174] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[198] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[222] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[246] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[270] = (T)(img)(_p5##x,y,z,c)), \
+ (I[294] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[318] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[342] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[366] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[390] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[414] = (T)(img)(_p5##x,_n6##y,z,c)), \
+ (I[438] = (T)(img)(_p5##x,_n7##y,z,c)), \
+ (I[462] = (T)(img)(_p5##x,_n8##y,z,c)), \
+ (I[486] = (T)(img)(_p5##x,_n9##y,z,c)), \
+ (I[510] = (T)(img)(_p5##x,_n10##y,z,c)), \
+ (I[534] = (T)(img)(_p5##x,_n11##y,z,c)), \
+ (I[558] = (T)(img)(_p5##x,_n12##y,z,c)), \
+ (I[7] = (T)(img)(_p4##x,_p11##y,z,c)), \
+ (I[31] = (T)(img)(_p4##x,_p10##y,z,c)), \
+ (I[55] = (T)(img)(_p4##x,_p9##y,z,c)), \
+ (I[79] = (T)(img)(_p4##x,_p8##y,z,c)), \
+ (I[103] = (T)(img)(_p4##x,_p7##y,z,c)), \
+ (I[127] = (T)(img)(_p4##x,_p6##y,z,c)), \
+ (I[151] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[175] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[199] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[223] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[247] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[271] = (T)(img)(_p4##x,y,z,c)), \
+ (I[295] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[319] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[343] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[367] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[391] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[415] = (T)(img)(_p4##x,_n6##y,z,c)), \
+ (I[439] = (T)(img)(_p4##x,_n7##y,z,c)), \
+ (I[463] = (T)(img)(_p4##x,_n8##y,z,c)), \
+ (I[487] = (T)(img)(_p4##x,_n9##y,z,c)), \
+ (I[511] = (T)(img)(_p4##x,_n10##y,z,c)), \
+ (I[535] = (T)(img)(_p4##x,_n11##y,z,c)), \
+ (I[559] = (T)(img)(_p4##x,_n12##y,z,c)), \
+ (I[8] = (T)(img)(_p3##x,_p11##y,z,c)), \
+ (I[32] = (T)(img)(_p3##x,_p10##y,z,c)), \
+ (I[56] = (T)(img)(_p3##x,_p9##y,z,c)), \
+ (I[80] = (T)(img)(_p3##x,_p8##y,z,c)), \
+ (I[104] = (T)(img)(_p3##x,_p7##y,z,c)), \
+ (I[128] = (T)(img)(_p3##x,_p6##y,z,c)), \
+ (I[152] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[176] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[200] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[224] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[248] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[272] = (T)(img)(_p3##x,y,z,c)), \
+ (I[296] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[320] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[344] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[368] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[392] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[416] = (T)(img)(_p3##x,_n6##y,z,c)), \
+ (I[440] = (T)(img)(_p3##x,_n7##y,z,c)), \
+ (I[464] = (T)(img)(_p3##x,_n8##y,z,c)), \
+ (I[488] = (T)(img)(_p3##x,_n9##y,z,c)), \
+ (I[512] = (T)(img)(_p3##x,_n10##y,z,c)), \
+ (I[536] = (T)(img)(_p3##x,_n11##y,z,c)), \
+ (I[560] = (T)(img)(_p3##x,_n12##y,z,c)), \
+ (I[9] = (T)(img)(_p2##x,_p11##y,z,c)), \
+ (I[33] = (T)(img)(_p2##x,_p10##y,z,c)), \
+ (I[57] = (T)(img)(_p2##x,_p9##y,z,c)), \
+ (I[81] = (T)(img)(_p2##x,_p8##y,z,c)), \
+ (I[105] = (T)(img)(_p2##x,_p7##y,z,c)), \
+ (I[129] = (T)(img)(_p2##x,_p6##y,z,c)), \
+ (I[153] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[177] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[201] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[225] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[249] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[273] = (T)(img)(_p2##x,y,z,c)), \
+ (I[297] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[321] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[345] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[369] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[393] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[417] = (T)(img)(_p2##x,_n6##y,z,c)), \
+ (I[441] = (T)(img)(_p2##x,_n7##y,z,c)), \
+ (I[465] = (T)(img)(_p2##x,_n8##y,z,c)), \
+ (I[489] = (T)(img)(_p2##x,_n9##y,z,c)), \
+ (I[513] = (T)(img)(_p2##x,_n10##y,z,c)), \
+ (I[537] = (T)(img)(_p2##x,_n11##y,z,c)), \
+ (I[561] = (T)(img)(_p2##x,_n12##y,z,c)), \
+ (I[10] = (T)(img)(_p1##x,_p11##y,z,c)), \
+ (I[34] = (T)(img)(_p1##x,_p10##y,z,c)), \
+ (I[58] = (T)(img)(_p1##x,_p9##y,z,c)), \
+ (I[82] = (T)(img)(_p1##x,_p8##y,z,c)), \
+ (I[106] = (T)(img)(_p1##x,_p7##y,z,c)), \
+ (I[130] = (T)(img)(_p1##x,_p6##y,z,c)), \
+ (I[154] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[178] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[202] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[226] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[250] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[274] = (T)(img)(_p1##x,y,z,c)), \
+ (I[298] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[322] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[346] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[370] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[394] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[418] = (T)(img)(_p1##x,_n6##y,z,c)), \
+ (I[442] = (T)(img)(_p1##x,_n7##y,z,c)), \
+ (I[466] = (T)(img)(_p1##x,_n8##y,z,c)), \
+ (I[490] = (T)(img)(_p1##x,_n9##y,z,c)), \
+ (I[514] = (T)(img)(_p1##x,_n10##y,z,c)), \
+ (I[538] = (T)(img)(_p1##x,_n11##y,z,c)), \
+ (I[562] = (T)(img)(_p1##x,_n12##y,z,c)), \
+ (I[11] = (T)(img)(x,_p11##y,z,c)), \
+ (I[35] = (T)(img)(x,_p10##y,z,c)), \
+ (I[59] = (T)(img)(x,_p9##y,z,c)), \
+ (I[83] = (T)(img)(x,_p8##y,z,c)), \
+ (I[107] = (T)(img)(x,_p7##y,z,c)), \
+ (I[131] = (T)(img)(x,_p6##y,z,c)), \
+ (I[155] = (T)(img)(x,_p5##y,z,c)), \
+ (I[179] = (T)(img)(x,_p4##y,z,c)), \
+ (I[203] = (T)(img)(x,_p3##y,z,c)), \
+ (I[227] = (T)(img)(x,_p2##y,z,c)), \
+ (I[251] = (T)(img)(x,_p1##y,z,c)), \
+ (I[275] = (T)(img)(x,y,z,c)), \
+ (I[299] = (T)(img)(x,_n1##y,z,c)), \
+ (I[323] = (T)(img)(x,_n2##y,z,c)), \
+ (I[347] = (T)(img)(x,_n3##y,z,c)), \
+ (I[371] = (T)(img)(x,_n4##y,z,c)), \
+ (I[395] = (T)(img)(x,_n5##y,z,c)), \
+ (I[419] = (T)(img)(x,_n6##y,z,c)), \
+ (I[443] = (T)(img)(x,_n7##y,z,c)), \
+ (I[467] = (T)(img)(x,_n8##y,z,c)), \
+ (I[491] = (T)(img)(x,_n9##y,z,c)), \
+ (I[515] = (T)(img)(x,_n10##y,z,c)), \
+ (I[539] = (T)(img)(x,_n11##y,z,c)), \
+ (I[563] = (T)(img)(x,_n12##y,z,c)), \
+ (I[12] = (T)(img)(_n1##x,_p11##y,z,c)), \
+ (I[36] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[60] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[84] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[108] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[132] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[156] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[180] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[204] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[228] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[252] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[276] = (T)(img)(_n1##x,y,z,c)), \
+ (I[300] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[324] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[348] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[372] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[396] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[420] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[444] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[468] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[492] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[516] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[540] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[564] = (T)(img)(_n1##x,_n12##y,z,c)), \
+ (I[13] = (T)(img)(_n2##x,_p11##y,z,c)), \
+ (I[37] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[61] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[85] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[109] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[133] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[157] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[181] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[205] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[229] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[253] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[277] = (T)(img)(_n2##x,y,z,c)), \
+ (I[301] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[325] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[349] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[373] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[397] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[421] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[445] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[469] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[493] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[517] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[541] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[565] = (T)(img)(_n2##x,_n12##y,z,c)), \
+ (I[14] = (T)(img)(_n3##x,_p11##y,z,c)), \
+ (I[38] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[62] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[86] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[110] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[134] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[158] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[182] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[206] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[230] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[254] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[278] = (T)(img)(_n3##x,y,z,c)), \
+ (I[302] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[326] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[350] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[374] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[398] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[422] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[446] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[470] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[494] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[518] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[542] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[566] = (T)(img)(_n3##x,_n12##y,z,c)), \
+ (I[15] = (T)(img)(_n4##x,_p11##y,z,c)), \
+ (I[39] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[63] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[87] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[111] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[135] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[159] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[183] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[207] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[231] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[255] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[279] = (T)(img)(_n4##x,y,z,c)), \
+ (I[303] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[327] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[351] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[375] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[399] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[423] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[447] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[471] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[495] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[519] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[543] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[567] = (T)(img)(_n4##x,_n12##y,z,c)), \
+ (I[16] = (T)(img)(_n5##x,_p11##y,z,c)), \
+ (I[40] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[64] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[88] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[112] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[136] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[160] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[184] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[208] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[232] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[256] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[280] = (T)(img)(_n5##x,y,z,c)), \
+ (I[304] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[328] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[352] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[376] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[400] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[424] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[448] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[472] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[496] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[520] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[544] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[568] = (T)(img)(_n5##x,_n12##y,z,c)), \
+ (I[17] = (T)(img)(_n6##x,_p11##y,z,c)), \
+ (I[41] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[65] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[89] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[113] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[137] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[161] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[185] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[209] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[233] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[257] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[281] = (T)(img)(_n6##x,y,z,c)), \
+ (I[305] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[329] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[353] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[377] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[401] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[425] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[449] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[473] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[497] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[521] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[545] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[569] = (T)(img)(_n6##x,_n12##y,z,c)), \
+ (I[18] = (T)(img)(_n7##x,_p11##y,z,c)), \
+ (I[42] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[66] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[90] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[114] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[138] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[162] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[186] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[210] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[234] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[258] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[282] = (T)(img)(_n7##x,y,z,c)), \
+ (I[306] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[330] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[354] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[378] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[402] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[426] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[450] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[474] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[498] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[522] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[546] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[570] = (T)(img)(_n7##x,_n12##y,z,c)), \
+ (I[19] = (T)(img)(_n8##x,_p11##y,z,c)), \
+ (I[43] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[67] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[91] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[115] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[139] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[163] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[187] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[211] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[235] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[259] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[283] = (T)(img)(_n8##x,y,z,c)), \
+ (I[307] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[331] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[355] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[379] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[403] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[427] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[451] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[475] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[499] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[523] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[547] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[571] = (T)(img)(_n8##x,_n12##y,z,c)), \
+ (I[20] = (T)(img)(_n9##x,_p11##y,z,c)), \
+ (I[44] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[68] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[92] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[116] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[140] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[164] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[188] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[212] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[236] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[260] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[284] = (T)(img)(_n9##x,y,z,c)), \
+ (I[308] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[332] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[356] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[380] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[404] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[428] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[452] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[476] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[500] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[524] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[548] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[572] = (T)(img)(_n9##x,_n12##y,z,c)), \
+ (I[21] = (T)(img)(_n10##x,_p11##y,z,c)), \
+ (I[45] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[69] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[93] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[117] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[141] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[165] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[189] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[213] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[237] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[261] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[285] = (T)(img)(_n10##x,y,z,c)), \
+ (I[309] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[333] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[357] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[381] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[405] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[429] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[453] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[477] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[501] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[525] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[549] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ (I[573] = (T)(img)(_n10##x,_n12##y,z,c)), \
+ (I[22] = (T)(img)(_n11##x,_p11##y,z,c)), \
+ (I[46] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[70] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[94] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[118] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[142] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[166] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[190] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[214] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[238] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[262] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[286] = (T)(img)(_n11##x,y,z,c)), \
+ (I[310] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[334] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[358] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[382] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[406] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[430] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[454] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[478] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[502] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[526] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[550] = (T)(img)(_n11##x,_n11##y,z,c)), \
+ (I[574] = (T)(img)(_n11##x,_n12##y,z,c)), \
+ x + 12>=(img).width()?(img).width() - 1:x + 12); \
+ x<=(int)(x1) && ((_n12##x<(img).width() && ( \
+ (I[23] = (T)(img)(_n12##x,_p11##y,z,c)), \
+ (I[47] = (T)(img)(_n12##x,_p10##y,z,c)), \
+ (I[71] = (T)(img)(_n12##x,_p9##y,z,c)), \
+ (I[95] = (T)(img)(_n12##x,_p8##y,z,c)), \
+ (I[119] = (T)(img)(_n12##x,_p7##y,z,c)), \
+ (I[143] = (T)(img)(_n12##x,_p6##y,z,c)), \
+ (I[167] = (T)(img)(_n12##x,_p5##y,z,c)), \
+ (I[191] = (T)(img)(_n12##x,_p4##y,z,c)), \
+ (I[215] = (T)(img)(_n12##x,_p3##y,z,c)), \
+ (I[239] = (T)(img)(_n12##x,_p2##y,z,c)), \
+ (I[263] = (T)(img)(_n12##x,_p1##y,z,c)), \
+ (I[287] = (T)(img)(_n12##x,y,z,c)), \
+ (I[311] = (T)(img)(_n12##x,_n1##y,z,c)), \
+ (I[335] = (T)(img)(_n12##x,_n2##y,z,c)), \
+ (I[359] = (T)(img)(_n12##x,_n3##y,z,c)), \
+ (I[383] = (T)(img)(_n12##x,_n4##y,z,c)), \
+ (I[407] = (T)(img)(_n12##x,_n5##y,z,c)), \
+ (I[431] = (T)(img)(_n12##x,_n6##y,z,c)), \
+ (I[455] = (T)(img)(_n12##x,_n7##y,z,c)), \
+ (I[479] = (T)(img)(_n12##x,_n8##y,z,c)), \
+ (I[503] = (T)(img)(_n12##x,_n9##y,z,c)), \
+ (I[527] = (T)(img)(_n12##x,_n10##y,z,c)), \
+ (I[551] = (T)(img)(_n12##x,_n11##y,z,c)), \
+ (I[575] = (T)(img)(_n12##x,_n12##y,z,c)),1)) || \
+ _n11##x==--_n12##x || _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n12##x = _n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], \
+ I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], \
+ I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], \
+ I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], \
+ I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], \
+ I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], \
+ I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], \
+ I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], \
+ I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], \
+ I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], \
+ I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], \
+ I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], \
+ I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], \
+ I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], \
+ I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], \
+ I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], I[376] = I[377], I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], \
+ I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], I[399] = I[400], I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], \
+ I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], I[415] = I[416], I[416] = I[417], I[417] = I[418], I[418] = I[419], I[419] = I[420], I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], \
+ I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], I[439] = I[440], I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], I[447] = I[448], I[448] = I[449], I[449] = I[450], I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], \
+ I[456] = I[457], I[457] = I[458], I[458] = I[459], I[459] = I[460], I[460] = I[461], I[461] = I[462], I[462] = I[463], I[463] = I[464], I[464] = I[465], I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], I[474] = I[475], I[475] = I[476], I[476] = I[477], I[477] = I[478], I[478] = I[479], \
+ I[480] = I[481], I[481] = I[482], I[482] = I[483], I[483] = I[484], I[484] = I[485], I[485] = I[486], I[486] = I[487], I[487] = I[488], I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], I[492] = I[493], I[493] = I[494], I[494] = I[495], I[495] = I[496], I[496] = I[497], I[497] = I[498], I[498] = I[499], I[499] = I[500], I[500] = I[501], I[501] = I[502], I[502] = I[503], \
+ I[504] = I[505], I[505] = I[506], I[506] = I[507], I[507] = I[508], I[508] = I[509], I[509] = I[510], I[510] = I[511], I[511] = I[512], I[512] = I[513], I[513] = I[514], I[514] = I[515], I[515] = I[516], I[516] = I[517], I[517] = I[518], I[518] = I[519], I[519] = I[520], I[520] = I[521], I[521] = I[522], I[522] = I[523], I[523] = I[524], I[524] = I[525], I[525] = I[526], I[526] = I[527], \
+ I[528] = I[529], I[529] = I[530], I[530] = I[531], I[531] = I[532], I[532] = I[533], I[533] = I[534], I[534] = I[535], I[535] = I[536], I[536] = I[537], I[537] = I[538], I[538] = I[539], I[539] = I[540], I[540] = I[541], I[541] = I[542], I[542] = I[543], I[543] = I[544], I[544] = I[545], I[545] = I[546], I[546] = I[547], I[547] = I[548], I[548] = I[549], I[549] = I[550], I[550] = I[551], \
+ I[552] = I[553], I[553] = I[554], I[554] = I[555], I[555] = I[556], I[556] = I[557], I[557] = I[558], I[558] = I[559], I[559] = I[560], I[560] = I[561], I[561] = I[562], I[562] = I[563], I[563] = I[564], I[564] = I[565], I[565] = I[566], I[566] = I[567], I[567] = I[568], I[568] = I[569], I[569] = I[570], I[570] = I[571], I[571] = I[572], I[572] = I[573], I[573] = I[574], I[574] = I[575], \
+ _p11##x = _p10##x, _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x, ++_n12##x)
+
+#define cimg_get24x24(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p11##x,_p11##y,z,c), I[1] = (T)(img)(_p10##x,_p11##y,z,c), I[2] = (T)(img)(_p9##x,_p11##y,z,c), I[3] = (T)(img)(_p8##x,_p11##y,z,c), I[4] = (T)(img)(_p7##x,_p11##y,z,c), I[5] = (T)(img)(_p6##x,_p11##y,z,c), I[6] = (T)(img)(_p5##x,_p11##y,z,c), I[7] = (T)(img)(_p4##x,_p11##y,z,c), I[8] = (T)(img)(_p3##x,_p11##y,z,c), I[9] = (T)(img)(_p2##x,_p11##y,z,c), I[10] = (T)(img)(_p1##x,_p11##y,z,c), I[11] = (T)(img)(x,_p11##y,z,c), I[12] = (T)(img)(_n1##x,_p11##y,z,c), I[13] = (T [...]
+ I[24] = (T)(img)(_p11##x,_p10##y,z,c), I[25] = (T)(img)(_p10##x,_p10##y,z,c), I[26] = (T)(img)(_p9##x,_p10##y,z,c), I[27] = (T)(img)(_p8##x,_p10##y,z,c), I[28] = (T)(img)(_p7##x,_p10##y,z,c), I[29] = (T)(img)(_p6##x,_p10##y,z,c), I[30] = (T)(img)(_p5##x,_p10##y,z,c), I[31] = (T)(img)(_p4##x,_p10##y,z,c), I[32] = (T)(img)(_p3##x,_p10##y,z,c), I[33] = (T)(img)(_p2##x,_p10##y,z,c), I[34] = (T)(img)(_p1##x,_p10##y,z,c), I[35] = (T)(img)(x,_p10##y,z,c), I[36] = (T)(img)(_n1##x,_p10##y,z,c),  [...]
+ I[48] = (T)(img)(_p11##x,_p9##y,z,c), I[49] = (T)(img)(_p10##x,_p9##y,z,c), I[50] = (T)(img)(_p9##x,_p9##y,z,c), I[51] = (T)(img)(_p8##x,_p9##y,z,c), I[52] = (T)(img)(_p7##x,_p9##y,z,c), I[53] = (T)(img)(_p6##x,_p9##y,z,c), I[54] = (T)(img)(_p5##x,_p9##y,z,c), I[55] = (T)(img)(_p4##x,_p9##y,z,c), I[56] = (T)(img)(_p3##x,_p9##y,z,c), I[57] = (T)(img)(_p2##x,_p9##y,z,c), I[58] = (T)(img)(_p1##x,_p9##y,z,c), I[59] = (T)(img)(x,_p9##y,z,c), I[60] = (T)(img)(_n1##x,_p9##y,z,c), I[61] = (T)(i [...]
+ I[72] = (T)(img)(_p11##x,_p8##y,z,c), I[73] = (T)(img)(_p10##x,_p8##y,z,c), I[74] = (T)(img)(_p9##x,_p8##y,z,c), I[75] = (T)(img)(_p8##x,_p8##y,z,c), I[76] = (T)(img)(_p7##x,_p8##y,z,c), I[77] = (T)(img)(_p6##x,_p8##y,z,c), I[78] = (T)(img)(_p5##x,_p8##y,z,c), I[79] = (T)(img)(_p4##x,_p8##y,z,c), I[80] = (T)(img)(_p3##x,_p8##y,z,c), I[81] = (T)(img)(_p2##x,_p8##y,z,c), I[82] = (T)(img)(_p1##x,_p8##y,z,c), I[83] = (T)(img)(x,_p8##y,z,c), I[84] = (T)(img)(_n1##x,_p8##y,z,c), I[85] = (T)(i [...]
+ I[96] = (T)(img)(_p11##x,_p7##y,z,c), I[97] = (T)(img)(_p10##x,_p7##y,z,c), I[98] = (T)(img)(_p9##x,_p7##y,z,c), I[99] = (T)(img)(_p8##x,_p7##y,z,c), I[100] = (T)(img)(_p7##x,_p7##y,z,c), I[101] = (T)(img)(_p6##x,_p7##y,z,c), I[102] = (T)(img)(_p5##x,_p7##y,z,c), I[103] = (T)(img)(_p4##x,_p7##y,z,c), I[104] = (T)(img)(_p3##x,_p7##y,z,c), I[105] = (T)(img)(_p2##x,_p7##y,z,c), I[106] = (T)(img)(_p1##x,_p7##y,z,c), I[107] = (T)(img)(x,_p7##y,z,c), I[108] = (T)(img)(_n1##x,_p7##y,z,c), I[10 [...]
+ I[120] = (T)(img)(_p11##x,_p6##y,z,c), I[121] = (T)(img)(_p10##x,_p6##y,z,c), I[122] = (T)(img)(_p9##x,_p6##y,z,c), I[123] = (T)(img)(_p8##x,_p6##y,z,c), I[124] = (T)(img)(_p7##x,_p6##y,z,c), I[125] = (T)(img)(_p6##x,_p6##y,z,c), I[126] = (T)(img)(_p5##x,_p6##y,z,c), I[127] = (T)(img)(_p4##x,_p6##y,z,c), I[128] = (T)(img)(_p3##x,_p6##y,z,c), I[129] = (T)(img)(_p2##x,_p6##y,z,c), I[130] = (T)(img)(_p1##x,_p6##y,z,c), I[131] = (T)(img)(x,_p6##y,z,c), I[132] = (T)(img)(_n1##x,_p6##y,z,c),  [...]
+ I[144] = (T)(img)(_p11##x,_p5##y,z,c), I[145] = (T)(img)(_p10##x,_p5##y,z,c), I[146] = (T)(img)(_p9##x,_p5##y,z,c), I[147] = (T)(img)(_p8##x,_p5##y,z,c), I[148] = (T)(img)(_p7##x,_p5##y,z,c), I[149] = (T)(img)(_p6##x,_p5##y,z,c), I[150] = (T)(img)(_p5##x,_p5##y,z,c), I[151] = (T)(img)(_p4##x,_p5##y,z,c), I[152] = (T)(img)(_p3##x,_p5##y,z,c), I[153] = (T)(img)(_p2##x,_p5##y,z,c), I[154] = (T)(img)(_p1##x,_p5##y,z,c), I[155] = (T)(img)(x,_p5##y,z,c), I[156] = (T)(img)(_n1##x,_p5##y,z,c),  [...]
+ I[168] = (T)(img)(_p11##x,_p4##y,z,c), I[169] = (T)(img)(_p10##x,_p4##y,z,c), I[170] = (T)(img)(_p9##x,_p4##y,z,c), I[171] = (T)(img)(_p8##x,_p4##y,z,c), I[172] = (T)(img)(_p7##x,_p4##y,z,c), I[173] = (T)(img)(_p6##x,_p4##y,z,c), I[174] = (T)(img)(_p5##x,_p4##y,z,c), I[175] = (T)(img)(_p4##x,_p4##y,z,c), I[176] = (T)(img)(_p3##x,_p4##y,z,c), I[177] = (T)(img)(_p2##x,_p4##y,z,c), I[178] = (T)(img)(_p1##x,_p4##y,z,c), I[179] = (T)(img)(x,_p4##y,z,c), I[180] = (T)(img)(_n1##x,_p4##y,z,c),  [...]
+ I[192] = (T)(img)(_p11##x,_p3##y,z,c), I[193] = (T)(img)(_p10##x,_p3##y,z,c), I[194] = (T)(img)(_p9##x,_p3##y,z,c), I[195] = (T)(img)(_p8##x,_p3##y,z,c), I[196] = (T)(img)(_p7##x,_p3##y,z,c), I[197] = (T)(img)(_p6##x,_p3##y,z,c), I[198] = (T)(img)(_p5##x,_p3##y,z,c), I[199] = (T)(img)(_p4##x,_p3##y,z,c), I[200] = (T)(img)(_p3##x,_p3##y,z,c), I[201] = (T)(img)(_p2##x,_p3##y,z,c), I[202] = (T)(img)(_p1##x,_p3##y,z,c), I[203] = (T)(img)(x,_p3##y,z,c), I[204] = (T)(img)(_n1##x,_p3##y,z,c),  [...]
+ I[216] = (T)(img)(_p11##x,_p2##y,z,c), I[217] = (T)(img)(_p10##x,_p2##y,z,c), I[218] = (T)(img)(_p9##x,_p2##y,z,c), I[219] = (T)(img)(_p8##x,_p2##y,z,c), I[220] = (T)(img)(_p7##x,_p2##y,z,c), I[221] = (T)(img)(_p6##x,_p2##y,z,c), I[222] = (T)(img)(_p5##x,_p2##y,z,c), I[223] = (T)(img)(_p4##x,_p2##y,z,c), I[224] = (T)(img)(_p3##x,_p2##y,z,c), I[225] = (T)(img)(_p2##x,_p2##y,z,c), I[226] = (T)(img)(_p1##x,_p2##y,z,c), I[227] = (T)(img)(x,_p2##y,z,c), I[228] = (T)(img)(_n1##x,_p2##y,z,c),  [...]
+ I[240] = (T)(img)(_p11##x,_p1##y,z,c), I[241] = (T)(img)(_p10##x,_p1##y,z,c), I[242] = (T)(img)(_p9##x,_p1##y,z,c), I[243] = (T)(img)(_p8##x,_p1##y,z,c), I[244] = (T)(img)(_p7##x,_p1##y,z,c), I[245] = (T)(img)(_p6##x,_p1##y,z,c), I[246] = (T)(img)(_p5##x,_p1##y,z,c), I[247] = (T)(img)(_p4##x,_p1##y,z,c), I[248] = (T)(img)(_p3##x,_p1##y,z,c), I[249] = (T)(img)(_p2##x,_p1##y,z,c), I[250] = (T)(img)(_p1##x,_p1##y,z,c), I[251] = (T)(img)(x,_p1##y,z,c), I[252] = (T)(img)(_n1##x,_p1##y,z,c),  [...]
+ I[264] = (T)(img)(_p11##x,y,z,c), I[265] = (T)(img)(_p10##x,y,z,c), I[266] = (T)(img)(_p9##x,y,z,c), I[267] = (T)(img)(_p8##x,y,z,c), I[268] = (T)(img)(_p7##x,y,z,c), I[269] = (T)(img)(_p6##x,y,z,c), I[270] = (T)(img)(_p5##x,y,z,c), I[271] = (T)(img)(_p4##x,y,z,c), I[272] = (T)(img)(_p3##x,y,z,c), I[273] = (T)(img)(_p2##x,y,z,c), I[274] = (T)(img)(_p1##x,y,z,c), I[275] = (T)(img)(x,y,z,c), I[276] = (T)(img)(_n1##x,y,z,c), I[277] = (T)(img)(_n2##x,y,z,c), I[278] = (T)(img)(_n3##x,y,z,c), [...]
+ I[288] = (T)(img)(_p11##x,_n1##y,z,c), I[289] = (T)(img)(_p10##x,_n1##y,z,c), I[290] = (T)(img)(_p9##x,_n1##y,z,c), I[291] = (T)(img)(_p8##x,_n1##y,z,c), I[292] = (T)(img)(_p7##x,_n1##y,z,c), I[293] = (T)(img)(_p6##x,_n1##y,z,c), I[294] = (T)(img)(_p5##x,_n1##y,z,c), I[295] = (T)(img)(_p4##x,_n1##y,z,c), I[296] = (T)(img)(_p3##x,_n1##y,z,c), I[297] = (T)(img)(_p2##x,_n1##y,z,c), I[298] = (T)(img)(_p1##x,_n1##y,z,c), I[299] = (T)(img)(x,_n1##y,z,c), I[300] = (T)(img)(_n1##x,_n1##y,z,c),  [...]
+ I[312] = (T)(img)(_p11##x,_n2##y,z,c), I[313] = (T)(img)(_p10##x,_n2##y,z,c), I[314] = (T)(img)(_p9##x,_n2##y,z,c), I[315] = (T)(img)(_p8##x,_n2##y,z,c), I[316] = (T)(img)(_p7##x,_n2##y,z,c), I[317] = (T)(img)(_p6##x,_n2##y,z,c), I[318] = (T)(img)(_p5##x,_n2##y,z,c), I[319] = (T)(img)(_p4##x,_n2##y,z,c), I[320] = (T)(img)(_p3##x,_n2##y,z,c), I[321] = (T)(img)(_p2##x,_n2##y,z,c), I[322] = (T)(img)(_p1##x,_n2##y,z,c), I[323] = (T)(img)(x,_n2##y,z,c), I[324] = (T)(img)(_n1##x,_n2##y,z,c),  [...]
+ I[336] = (T)(img)(_p11##x,_n3##y,z,c), I[337] = (T)(img)(_p10##x,_n3##y,z,c), I[338] = (T)(img)(_p9##x,_n3##y,z,c), I[339] = (T)(img)(_p8##x,_n3##y,z,c), I[340] = (T)(img)(_p7##x,_n3##y,z,c), I[341] = (T)(img)(_p6##x,_n3##y,z,c), I[342] = (T)(img)(_p5##x,_n3##y,z,c), I[343] = (T)(img)(_p4##x,_n3##y,z,c), I[344] = (T)(img)(_p3##x,_n3##y,z,c), I[345] = (T)(img)(_p2##x,_n3##y,z,c), I[346] = (T)(img)(_p1##x,_n3##y,z,c), I[347] = (T)(img)(x,_n3##y,z,c), I[348] = (T)(img)(_n1##x,_n3##y,z,c),  [...]
+ I[360] = (T)(img)(_p11##x,_n4##y,z,c), I[361] = (T)(img)(_p10##x,_n4##y,z,c), I[362] = (T)(img)(_p9##x,_n4##y,z,c), I[363] = (T)(img)(_p8##x,_n4##y,z,c), I[364] = (T)(img)(_p7##x,_n4##y,z,c), I[365] = (T)(img)(_p6##x,_n4##y,z,c), I[366] = (T)(img)(_p5##x,_n4##y,z,c), I[367] = (T)(img)(_p4##x,_n4##y,z,c), I[368] = (T)(img)(_p3##x,_n4##y,z,c), I[369] = (T)(img)(_p2##x,_n4##y,z,c), I[370] = (T)(img)(_p1##x,_n4##y,z,c), I[371] = (T)(img)(x,_n4##y,z,c), I[372] = (T)(img)(_n1##x,_n4##y,z,c),  [...]
+ I[384] = (T)(img)(_p11##x,_n5##y,z,c), I[385] = (T)(img)(_p10##x,_n5##y,z,c), I[386] = (T)(img)(_p9##x,_n5##y,z,c), I[387] = (T)(img)(_p8##x,_n5##y,z,c), I[388] = (T)(img)(_p7##x,_n5##y,z,c), I[389] = (T)(img)(_p6##x,_n5##y,z,c), I[390] = (T)(img)(_p5##x,_n5##y,z,c), I[391] = (T)(img)(_p4##x,_n5##y,z,c), I[392] = (T)(img)(_p3##x,_n5##y,z,c), I[393] = (T)(img)(_p2##x,_n5##y,z,c), I[394] = (T)(img)(_p1##x,_n5##y,z,c), I[395] = (T)(img)(x,_n5##y,z,c), I[396] = (T)(img)(_n1##x,_n5##y,z,c),  [...]
+ I[408] = (T)(img)(_p11##x,_n6##y,z,c), I[409] = (T)(img)(_p10##x,_n6##y,z,c), I[410] = (T)(img)(_p9##x,_n6##y,z,c), I[411] = (T)(img)(_p8##x,_n6##y,z,c), I[412] = (T)(img)(_p7##x,_n6##y,z,c), I[413] = (T)(img)(_p6##x,_n6##y,z,c), I[414] = (T)(img)(_p5##x,_n6##y,z,c), I[415] = (T)(img)(_p4##x,_n6##y,z,c), I[416] = (T)(img)(_p3##x,_n6##y,z,c), I[417] = (T)(img)(_p2##x,_n6##y,z,c), I[418] = (T)(img)(_p1##x,_n6##y,z,c), I[419] = (T)(img)(x,_n6##y,z,c), I[420] = (T)(img)(_n1##x,_n6##y,z,c),  [...]
+ I[432] = (T)(img)(_p11##x,_n7##y,z,c), I[433] = (T)(img)(_p10##x,_n7##y,z,c), I[434] = (T)(img)(_p9##x,_n7##y,z,c), I[435] = (T)(img)(_p8##x,_n7##y,z,c), I[436] = (T)(img)(_p7##x,_n7##y,z,c), I[437] = (T)(img)(_p6##x,_n7##y,z,c), I[438] = (T)(img)(_p5##x,_n7##y,z,c), I[439] = (T)(img)(_p4##x,_n7##y,z,c), I[440] = (T)(img)(_p3##x,_n7##y,z,c), I[441] = (T)(img)(_p2##x,_n7##y,z,c), I[442] = (T)(img)(_p1##x,_n7##y,z,c), I[443] = (T)(img)(x,_n7##y,z,c), I[444] = (T)(img)(_n1##x,_n7##y,z,c),  [...]
+ I[456] = (T)(img)(_p11##x,_n8##y,z,c), I[457] = (T)(img)(_p10##x,_n8##y,z,c), I[458] = (T)(img)(_p9##x,_n8##y,z,c), I[459] = (T)(img)(_p8##x,_n8##y,z,c), I[460] = (T)(img)(_p7##x,_n8##y,z,c), I[461] = (T)(img)(_p6##x,_n8##y,z,c), I[462] = (T)(img)(_p5##x,_n8##y,z,c), I[463] = (T)(img)(_p4##x,_n8##y,z,c), I[464] = (T)(img)(_p3##x,_n8##y,z,c), I[465] = (T)(img)(_p2##x,_n8##y,z,c), I[466] = (T)(img)(_p1##x,_n8##y,z,c), I[467] = (T)(img)(x,_n8##y,z,c), I[468] = (T)(img)(_n1##x,_n8##y,z,c),  [...]
+ I[480] = (T)(img)(_p11##x,_n9##y,z,c), I[481] = (T)(img)(_p10##x,_n9##y,z,c), I[482] = (T)(img)(_p9##x,_n9##y,z,c), I[483] = (T)(img)(_p8##x,_n9##y,z,c), I[484] = (T)(img)(_p7##x,_n9##y,z,c), I[485] = (T)(img)(_p6##x,_n9##y,z,c), I[486] = (T)(img)(_p5##x,_n9##y,z,c), I[487] = (T)(img)(_p4##x,_n9##y,z,c), I[488] = (T)(img)(_p3##x,_n9##y,z,c), I[489] = (T)(img)(_p2##x,_n9##y,z,c), I[490] = (T)(img)(_p1##x,_n9##y,z,c), I[491] = (T)(img)(x,_n9##y,z,c), I[492] = (T)(img)(_n1##x,_n9##y,z,c),  [...]
+ I[504] = (T)(img)(_p11##x,_n10##y,z,c), I[505] = (T)(img)(_p10##x,_n10##y,z,c), I[506] = (T)(img)(_p9##x,_n10##y,z,c), I[507] = (T)(img)(_p8##x,_n10##y,z,c), I[508] = (T)(img)(_p7##x,_n10##y,z,c), I[509] = (T)(img)(_p6##x,_n10##y,z,c), I[510] = (T)(img)(_p5##x,_n10##y,z,c), I[511] = (T)(img)(_p4##x,_n10##y,z,c), I[512] = (T)(img)(_p3##x,_n10##y,z,c), I[513] = (T)(img)(_p2##x,_n10##y,z,c), I[514] = (T)(img)(_p1##x,_n10##y,z,c), I[515] = (T)(img)(x,_n10##y,z,c), I[516] = (T)(img)(_n1##x,_ [...]
+ I[528] = (T)(img)(_p11##x,_n11##y,z,c), I[529] = (T)(img)(_p10##x,_n11##y,z,c), I[530] = (T)(img)(_p9##x,_n11##y,z,c), I[531] = (T)(img)(_p8##x,_n11##y,z,c), I[532] = (T)(img)(_p7##x,_n11##y,z,c), I[533] = (T)(img)(_p6##x,_n11##y,z,c), I[534] = (T)(img)(_p5##x,_n11##y,z,c), I[535] = (T)(img)(_p4##x,_n11##y,z,c), I[536] = (T)(img)(_p3##x,_n11##y,z,c), I[537] = (T)(img)(_p2##x,_n11##y,z,c), I[538] = (T)(img)(_p1##x,_n11##y,z,c), I[539] = (T)(img)(x,_n11##y,z,c), I[540] = (T)(img)(_n1##x,_ [...]
+ I[552] = (T)(img)(_p11##x,_n12##y,z,c), I[553] = (T)(img)(_p10##x,_n12##y,z,c), I[554] = (T)(img)(_p9##x,_n12##y,z,c), I[555] = (T)(img)(_p8##x,_n12##y,z,c), I[556] = (T)(img)(_p7##x,_n12##y,z,c), I[557] = (T)(img)(_p6##x,_n12##y,z,c), I[558] = (T)(img)(_p5##x,_n12##y,z,c), I[559] = (T)(img)(_p4##x,_n12##y,z,c), I[560] = (T)(img)(_p3##x,_n12##y,z,c), I[561] = (T)(img)(_p2##x,_n12##y,z,c), I[562] = (T)(img)(_p1##x,_n12##y,z,c), I[563] = (T)(img)(x,_n12##y,z,c), I[564] = (T)(img)(_n1##x,_ [...]
+
+// Define 25x25 loop macros
+//-------------------------
+#define cimg_for25(bound,i) for (int i = 0, \
+ _p12##i = 0, _p11##i = 0, _p10##i = 0, _p9##i = 0, _p8##i = 0, _p7##i = 0, _p6##i = 0, _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5, \
+ _n6##i = 6>=(int)(bound)?(int)(bound) - 1:6, \
+ _n7##i = 7>=(int)(bound)?(int)(bound) - 1:7, \
+ _n8##i = 8>=(int)(bound)?(int)(bound) - 1:8, \
+ _n9##i = 9>=(int)(bound)?(int)(bound) - 1:9, \
+ _n10##i = 10>=(int)(bound)?(int)(bound) - 1:10, \
+ _n11##i = 11>=(int)(bound)?(int)(bound) - 1:11, \
+ _n12##i = 12>=(int)(bound)?(int)(bound) - 1:12; \
+ _n12##i<(int)(bound) || _n11##i==--_n12##i || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n12##i = _n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p12##i = _p11##i, _p11##i = _p10##i, _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i, ++_n12##i)
+
+#define cimg_for25X(img,x) cimg_for25((img)._width,x)
+#define cimg_for25Y(img,y) cimg_for25((img)._height,y)
+#define cimg_for25Z(img,z) cimg_for25((img)._depth,z)
+#define cimg_for25C(img,c) cimg_for25((img)._spectrum,c)
+#define cimg_for25XY(img,x,y) cimg_for25Y(img,y) cimg_for25X(img,x)
+#define cimg_for25XZ(img,x,z) cimg_for25Z(img,z) cimg_for25X(img,x)
+#define cimg_for25XC(img,x,c) cimg_for25C(img,c) cimg_for25X(img,x)
+#define cimg_for25YZ(img,y,z) cimg_for25Z(img,z) cimg_for25Y(img,y)
+#define cimg_for25YC(img,y,c) cimg_for25C(img,c) cimg_for25Y(img,y)
+#define cimg_for25ZC(img,z,c) cimg_for25C(img,c) cimg_for25Z(img,z)
+#define cimg_for25XYZ(img,x,y,z) cimg_for25Z(img,z) cimg_for25XY(img,x,y)
+#define cimg_for25XZC(img,x,z,c) cimg_for25C(img,c) cimg_for25XZ(img,x,z)
+#define cimg_for25YZC(img,y,z,c) cimg_for25C(img,c) cimg_for25YZ(img,y,z)
+#define cimg_for25XYZC(img,x,y,z,c) cimg_for25C(img,c) cimg_for25XYZ(img,x,y,z)
+
+#define cimg_for_in25(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p12##i = i - 12<0?0:i - 12, \
+ _p11##i = i - 11<0?0:i - 11, \
+ _p10##i = i - 10<0?0:i - 10, \
+ _p9##i = i - 9<0?0:i - 9, \
+ _p8##i = i - 8<0?0:i - 8, \
+ _p7##i = i - 7<0?0:i - 7, \
+ _p6##i = i - 6<0?0:i - 6, \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5, \
+ _n6##i = i + 6>=(int)(bound)?(int)(bound) - 1:i + 6, \
+ _n7##i = i + 7>=(int)(bound)?(int)(bound) - 1:i + 7, \
+ _n8##i = i + 8>=(int)(bound)?(int)(bound) - 1:i + 8, \
+ _n9##i = i + 9>=(int)(bound)?(int)(bound) - 1:i + 9, \
+ _n10##i = i + 10>=(int)(bound)?(int)(bound) - 1:i + 10, \
+ _n11##i = i + 11>=(int)(bound)?(int)(bound) - 1:i + 11, \
+ _n12##i = i + 12>=(int)(bound)?(int)(bound) - 1:i + 12; \
+ i<=(int)(i1) && (_n12##i<(int)(bound) || _n11##i==--_n12##i || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n12##i = _n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p12##i = _p11##i, _p11##i = _p10##i, _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i, ++_n12##i)
+
+#define cimg_for_in25X(img,x0,x1,x) cimg_for_in25((img)._width,x0,x1,x)
+#define cimg_for_in25Y(img,y0,y1,y) cimg_for_in25((img)._height,y0,y1,y)
+#define cimg_for_in25Z(img,z0,z1,z) cimg_for_in25((img)._depth,z0,z1,z)
+#define cimg_for_in25C(img,c0,c1,c) cimg_for_in25((img)._spectrum,c0,c1,c)
+#define cimg_for_in25XY(img,x0,y0,x1,y1,x,y) cimg_for_in25Y(img,y0,y1,y) cimg_for_in25X(img,x0,x1,x)
+#define cimg_for_in25XZ(img,x0,z0,x1,z1,x,z) cimg_for_in25Z(img,z0,z1,z) cimg_for_in25X(img,x0,x1,x)
+#define cimg_for_in25XC(img,x0,c0,x1,c1,x,c) cimg_for_in25C(img,c0,c1,c) cimg_for_in25X(img,x0,x1,x)
+#define cimg_for_in25YZ(img,y0,z0,y1,z1,y,z) cimg_for_in25Z(img,z0,z1,z) cimg_for_in25Y(img,y0,y1,y)
+#define cimg_for_in25YC(img,y0,c0,y1,c1,y,c) cimg_for_in25C(img,c0,c1,c) cimg_for_in25Y(img,y0,y1,y)
+#define cimg_for_in25ZC(img,z0,c0,z1,c1,z,c) cimg_for_in25C(img,c0,c1,c) cimg_for_in25Z(img,z0,z1,z)
+#define cimg_for_in25XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in25Z(img,z0,z1,z) cimg_for_in25XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in25XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in25C(img,c0,c1,c) cimg_for_in25XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in25YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in25C(img,c0,c1,c) cimg_for_in25YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in25XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in25C(img,c0,c1,c) cimg_for_in25XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for25x25(img,x,y,z,c,I,T) \
+ cimg_for25((img)._height,y) for (int x = 0, \
+ _p12##x = 0, _p11##x = 0, _p10##x = 0, _p9##x = 0, _p8##x = 0, _p7##x = 0, _p6##x = 0, _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = 5>=((img)._width)?(img).width() - 1:5, \
+ _n6##x = 6>=((img)._width)?(img).width() - 1:6, \
+ _n7##x = 7>=((img)._width)?(img).width() - 1:7, \
+ _n8##x = 8>=((img)._width)?(img).width() - 1:8, \
+ _n9##x = 9>=((img)._width)?(img).width() - 1:9, \
+ _n10##x = 10>=((img)._width)?(img).width() - 1:10, \
+ _n11##x = 11>=((img)._width)?(img).width() - 1:11, \
+ _n12##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = I[6] = I[7] = I[8] = I[9] = I[10] = I[11] = I[12] = (T)(img)(0,_p12##y,z,c)), \
+ (I[25] = I[26] = I[27] = I[28] = I[29] = I[30] = I[31] = I[32] = I[33] = I[34] = I[35] = I[36] = I[37] = (T)(img)(0,_p11##y,z,c)), \
+ (I[50] = I[51] = I[52] = I[53] = I[54] = I[55] = I[56] = I[57] = I[58] = I[59] = I[60] = I[61] = I[62] = (T)(img)(0,_p10##y,z,c)), \
+ (I[75] = I[76] = I[77] = I[78] = I[79] = I[80] = I[81] = I[82] = I[83] = I[84] = I[85] = I[86] = I[87] = (T)(img)(0,_p9##y,z,c)), \
+ (I[100] = I[101] = I[102] = I[103] = I[104] = I[105] = I[106] = I[107] = I[108] = I[109] = I[110] = I[111] = I[112] = (T)(img)(0,_p8##y,z,c)), \
+ (I[125] = I[126] = I[127] = I[128] = I[129] = I[130] = I[131] = I[132] = I[133] = I[134] = I[135] = I[136] = I[137] = (T)(img)(0,_p7##y,z,c)), \
+ (I[150] = I[151] = I[152] = I[153] = I[154] = I[155] = I[156] = I[157] = I[158] = I[159] = I[160] = I[161] = I[162] = (T)(img)(0,_p6##y,z,c)), \
+ (I[175] = I[176] = I[177] = I[178] = I[179] = I[180] = I[181] = I[182] = I[183] = I[184] = I[185] = I[186] = I[187] = (T)(img)(0,_p5##y,z,c)), \
+ (I[200] = I[201] = I[202] = I[203] = I[204] = I[205] = I[206] = I[207] = I[208] = I[209] = I[210] = I[211] = I[212] = (T)(img)(0,_p4##y,z,c)), \
+ (I[225] = I[226] = I[227] = I[228] = I[229] = I[230] = I[231] = I[232] = I[233] = I[234] = I[235] = I[236] = I[237] = (T)(img)(0,_p3##y,z,c)), \
+ (I[250] = I[251] = I[252] = I[253] = I[254] = I[255] = I[256] = I[257] = I[258] = I[259] = I[260] = I[261] = I[262] = (T)(img)(0,_p2##y,z,c)), \
+ (I[275] = I[276] = I[277] = I[278] = I[279] = I[280] = I[281] = I[282] = I[283] = I[284] = I[285] = I[286] = I[287] = (T)(img)(0,_p1##y,z,c)), \
+ (I[300] = I[301] = I[302] = I[303] = I[304] = I[305] = I[306] = I[307] = I[308] = I[309] = I[310] = I[311] = I[312] = (T)(img)(0,y,z,c)), \
+ (I[325] = I[326] = I[327] = I[328] = I[329] = I[330] = I[331] = I[332] = I[333] = I[334] = I[335] = I[336] = I[337] = (T)(img)(0,_n1##y,z,c)), \
+ (I[350] = I[351] = I[352] = I[353] = I[354] = I[355] = I[356] = I[357] = I[358] = I[359] = I[360] = I[361] = I[362] = (T)(img)(0,_n2##y,z,c)), \
+ (I[375] = I[376] = I[377] = I[378] = I[379] = I[380] = I[381] = I[382] = I[383] = I[384] = I[385] = I[386] = I[387] = (T)(img)(0,_n3##y,z,c)), \
+ (I[400] = I[401] = I[402] = I[403] = I[404] = I[405] = I[406] = I[407] = I[408] = I[409] = I[410] = I[411] = I[412] = (T)(img)(0,_n4##y,z,c)), \
+ (I[425] = I[426] = I[427] = I[428] = I[429] = I[430] = I[431] = I[432] = I[433] = I[434] = I[435] = I[436] = I[437] = (T)(img)(0,_n5##y,z,c)), \
+ (I[450] = I[451] = I[452] = I[453] = I[454] = I[455] = I[456] = I[457] = I[458] = I[459] = I[460] = I[461] = I[462] = (T)(img)(0,_n6##y,z,c)), \
+ (I[475] = I[476] = I[477] = I[478] = I[479] = I[480] = I[481] = I[482] = I[483] = I[484] = I[485] = I[486] = I[487] = (T)(img)(0,_n7##y,z,c)), \
+ (I[500] = I[501] = I[502] = I[503] = I[504] = I[505] = I[506] = I[507] = I[508] = I[509] = I[510] = I[511] = I[512] = (T)(img)(0,_n8##y,z,c)), \
+ (I[525] = I[526] = I[527] = I[528] = I[529] = I[530] = I[531] = I[532] = I[533] = I[534] = I[535] = I[536] = I[537] = (T)(img)(0,_n9##y,z,c)), \
+ (I[550] = I[551] = I[552] = I[553] = I[554] = I[555] = I[556] = I[557] = I[558] = I[559] = I[560] = I[561] = I[562] = (T)(img)(0,_n10##y,z,c)), \
+ (I[575] = I[576] = I[577] = I[578] = I[579] = I[580] = I[581] = I[582] = I[583] = I[584] = I[585] = I[586] = I[587] = (T)(img)(0,_n11##y,z,c)), \
+ (I[600] = I[601] = I[602] = I[603] = I[604] = I[605] = I[606] = I[607] = I[608] = I[609] = I[610] = I[611] = I[612] = (T)(img)(0,_n12##y,z,c)), \
+ (I[13] = (T)(img)(_n1##x,_p12##y,z,c)), \
+ (I[38] = (T)(img)(_n1##x,_p11##y,z,c)), \
+ (I[63] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[88] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[113] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[138] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[163] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[188] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[213] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[238] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[263] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[288] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[313] = (T)(img)(_n1##x,y,z,c)), \
+ (I[338] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[363] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[388] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[413] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[438] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[463] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[488] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[513] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[538] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[563] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[588] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[613] = (T)(img)(_n1##x,_n12##y,z,c)), \
+ (I[14] = (T)(img)(_n2##x,_p12##y,z,c)), \
+ (I[39] = (T)(img)(_n2##x,_p11##y,z,c)), \
+ (I[64] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[89] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[114] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[139] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[164] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[189] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[214] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[239] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[264] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[289] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[314] = (T)(img)(_n2##x,y,z,c)), \
+ (I[339] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[364] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[389] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[414] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[439] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[464] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[489] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[514] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[539] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[564] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[589] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[614] = (T)(img)(_n2##x,_n12##y,z,c)), \
+ (I[15] = (T)(img)(_n3##x,_p12##y,z,c)), \
+ (I[40] = (T)(img)(_n3##x,_p11##y,z,c)), \
+ (I[65] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[90] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[115] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[140] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[165] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[190] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[215] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[240] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[265] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[290] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[315] = (T)(img)(_n3##x,y,z,c)), \
+ (I[340] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[365] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[390] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[415] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[440] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[465] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[490] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[515] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[540] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[565] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[590] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[615] = (T)(img)(_n3##x,_n12##y,z,c)), \
+ (I[16] = (T)(img)(_n4##x,_p12##y,z,c)), \
+ (I[41] = (T)(img)(_n4##x,_p11##y,z,c)), \
+ (I[66] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[91] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[116] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[141] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[166] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[191] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[216] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[241] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[266] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[291] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[316] = (T)(img)(_n4##x,y,z,c)), \
+ (I[341] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[366] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[391] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[416] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[441] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[466] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[491] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[516] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[541] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[566] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[591] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[616] = (T)(img)(_n4##x,_n12##y,z,c)), \
+ (I[17] = (T)(img)(_n5##x,_p12##y,z,c)), \
+ (I[42] = (T)(img)(_n5##x,_p11##y,z,c)), \
+ (I[67] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[92] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[117] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[142] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[167] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[192] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[217] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[242] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[267] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[292] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[317] = (T)(img)(_n5##x,y,z,c)), \
+ (I[342] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[367] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[392] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[417] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[442] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[467] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[492] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[517] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[542] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[567] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[592] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[617] = (T)(img)(_n5##x,_n12##y,z,c)), \
+ (I[18] = (T)(img)(_n6##x,_p12##y,z,c)), \
+ (I[43] = (T)(img)(_n6##x,_p11##y,z,c)), \
+ (I[68] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[93] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[118] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[143] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[168] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[193] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[218] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[243] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[268] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[293] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[318] = (T)(img)(_n6##x,y,z,c)), \
+ (I[343] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[368] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[393] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[418] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[443] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[468] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[493] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[518] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[543] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[568] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[593] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[618] = (T)(img)(_n6##x,_n12##y,z,c)), \
+ (I[19] = (T)(img)(_n7##x,_p12##y,z,c)), \
+ (I[44] = (T)(img)(_n7##x,_p11##y,z,c)), \
+ (I[69] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[94] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[119] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[144] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[169] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[194] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[219] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[244] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[269] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[294] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[319] = (T)(img)(_n7##x,y,z,c)), \
+ (I[344] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[369] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[394] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[419] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[444] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[469] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[494] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[519] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[544] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[569] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[594] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[619] = (T)(img)(_n7##x,_n12##y,z,c)), \
+ (I[20] = (T)(img)(_n8##x,_p12##y,z,c)), \
+ (I[45] = (T)(img)(_n8##x,_p11##y,z,c)), \
+ (I[70] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[95] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[120] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[145] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[170] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[195] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[220] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[245] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[270] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[295] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[320] = (T)(img)(_n8##x,y,z,c)), \
+ (I[345] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[370] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[395] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[420] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[445] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[470] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[495] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[520] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[545] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[570] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[595] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[620] = (T)(img)(_n8##x,_n12##y,z,c)), \
+ (I[21] = (T)(img)(_n9##x,_p12##y,z,c)), \
+ (I[46] = (T)(img)(_n9##x,_p11##y,z,c)), \
+ (I[71] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[96] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[121] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[146] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[171] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[196] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[221] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[246] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[271] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[296] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[321] = (T)(img)(_n9##x,y,z,c)), \
+ (I[346] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[371] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[396] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[421] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[446] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[471] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[496] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[521] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[546] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[571] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[596] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[621] = (T)(img)(_n9##x,_n12##y,z,c)), \
+ (I[22] = (T)(img)(_n10##x,_p12##y,z,c)), \
+ (I[47] = (T)(img)(_n10##x,_p11##y,z,c)), \
+ (I[72] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[97] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[122] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[147] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[172] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[197] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[222] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[247] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[272] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[297] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[322] = (T)(img)(_n10##x,y,z,c)), \
+ (I[347] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[372] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[397] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[422] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[447] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[472] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[497] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[522] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[547] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[572] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[597] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ (I[622] = (T)(img)(_n10##x,_n12##y,z,c)), \
+ (I[23] = (T)(img)(_n11##x,_p12##y,z,c)), \
+ (I[48] = (T)(img)(_n11##x,_p11##y,z,c)), \
+ (I[73] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[98] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[123] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[148] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[173] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[198] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[223] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[248] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[273] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[298] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[323] = (T)(img)(_n11##x,y,z,c)), \
+ (I[348] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[373] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[398] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[423] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[448] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[473] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[498] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[523] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[548] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[573] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[598] = (T)(img)(_n11##x,_n11##y,z,c)), \
+ (I[623] = (T)(img)(_n11##x,_n12##y,z,c)), \
+ 12>=((img)._width)?(img).width() - 1:12); \
+ (_n12##x<(img).width() && ( \
+ (I[24] = (T)(img)(_n12##x,_p12##y,z,c)), \
+ (I[49] = (T)(img)(_n12##x,_p11##y,z,c)), \
+ (I[74] = (T)(img)(_n12##x,_p10##y,z,c)), \
+ (I[99] = (T)(img)(_n12##x,_p9##y,z,c)), \
+ (I[124] = (T)(img)(_n12##x,_p8##y,z,c)), \
+ (I[149] = (T)(img)(_n12##x,_p7##y,z,c)), \
+ (I[174] = (T)(img)(_n12##x,_p6##y,z,c)), \
+ (I[199] = (T)(img)(_n12##x,_p5##y,z,c)), \
+ (I[224] = (T)(img)(_n12##x,_p4##y,z,c)), \
+ (I[249] = (T)(img)(_n12##x,_p3##y,z,c)), \
+ (I[274] = (T)(img)(_n12##x,_p2##y,z,c)), \
+ (I[299] = (T)(img)(_n12##x,_p1##y,z,c)), \
+ (I[324] = (T)(img)(_n12##x,y,z,c)), \
+ (I[349] = (T)(img)(_n12##x,_n1##y,z,c)), \
+ (I[374] = (T)(img)(_n12##x,_n2##y,z,c)), \
+ (I[399] = (T)(img)(_n12##x,_n3##y,z,c)), \
+ (I[424] = (T)(img)(_n12##x,_n4##y,z,c)), \
+ (I[449] = (T)(img)(_n12##x,_n5##y,z,c)), \
+ (I[474] = (T)(img)(_n12##x,_n6##y,z,c)), \
+ (I[499] = (T)(img)(_n12##x,_n7##y,z,c)), \
+ (I[524] = (T)(img)(_n12##x,_n8##y,z,c)), \
+ (I[549] = (T)(img)(_n12##x,_n9##y,z,c)), \
+ (I[574] = (T)(img)(_n12##x,_n10##y,z,c)), \
+ (I[599] = (T)(img)(_n12##x,_n11##y,z,c)), \
+ (I[624] = (T)(img)(_n12##x,_n12##y,z,c)),1)) || \
+ _n11##x==--_n12##x || _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n12##x = _n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], \
+ I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], \
+ I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], \
+ I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], \
+ I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], \
+ I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], \
+ I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], \
+ I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], \
+ I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], \
+ I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], \
+ I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], \
+ I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], \
+ I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], \
+ I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], \
+ I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], I[359] = I[360], I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], \
+ I[375] = I[376], I[376] = I[377], I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], \
+ I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], I[415] = I[416], I[416] = I[417], I[417] = I[418], I[418] = I[419], I[419] = I[420], I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], \
+ I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], I[431] = I[432], I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], I[439] = I[440], I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], I[447] = I[448], I[448] = I[449], \
+ I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], I[455] = I[456], I[456] = I[457], I[457] = I[458], I[458] = I[459], I[459] = I[460], I[460] = I[461], I[461] = I[462], I[462] = I[463], I[463] = I[464], I[464] = I[465], I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], \
+ I[475] = I[476], I[476] = I[477], I[477] = I[478], I[478] = I[479], I[479] = I[480], I[480] = I[481], I[481] = I[482], I[482] = I[483], I[483] = I[484], I[484] = I[485], I[485] = I[486], I[486] = I[487], I[487] = I[488], I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], I[492] = I[493], I[493] = I[494], I[494] = I[495], I[495] = I[496], I[496] = I[497], I[497] = I[498], I[498] = I[499], \
+ I[500] = I[501], I[501] = I[502], I[502] = I[503], I[503] = I[504], I[504] = I[505], I[505] = I[506], I[506] = I[507], I[507] = I[508], I[508] = I[509], I[509] = I[510], I[510] = I[511], I[511] = I[512], I[512] = I[513], I[513] = I[514], I[514] = I[515], I[515] = I[516], I[516] = I[517], I[517] = I[518], I[518] = I[519], I[519] = I[520], I[520] = I[521], I[521] = I[522], I[522] = I[523], I[523] = I[524], \
+ I[525] = I[526], I[526] = I[527], I[527] = I[528], I[528] = I[529], I[529] = I[530], I[530] = I[531], I[531] = I[532], I[532] = I[533], I[533] = I[534], I[534] = I[535], I[535] = I[536], I[536] = I[537], I[537] = I[538], I[538] = I[539], I[539] = I[540], I[540] = I[541], I[541] = I[542], I[542] = I[543], I[543] = I[544], I[544] = I[545], I[545] = I[546], I[546] = I[547], I[547] = I[548], I[548] = I[549], \
+ I[550] = I[551], I[551] = I[552], I[552] = I[553], I[553] = I[554], I[554] = I[555], I[555] = I[556], I[556] = I[557], I[557] = I[558], I[558] = I[559], I[559] = I[560], I[560] = I[561], I[561] = I[562], I[562] = I[563], I[563] = I[564], I[564] = I[565], I[565] = I[566], I[566] = I[567], I[567] = I[568], I[568] = I[569], I[569] = I[570], I[570] = I[571], I[571] = I[572], I[572] = I[573], I[573] = I[574], \
+ I[575] = I[576], I[576] = I[577], I[577] = I[578], I[578] = I[579], I[579] = I[580], I[580] = I[581], I[581] = I[582], I[582] = I[583], I[583] = I[584], I[584] = I[585], I[585] = I[586], I[586] = I[587], I[587] = I[588], I[588] = I[589], I[589] = I[590], I[590] = I[591], I[591] = I[592], I[592] = I[593], I[593] = I[594], I[594] = I[595], I[595] = I[596], I[596] = I[597], I[597] = I[598], I[598] = I[599], \
+ I[600] = I[601], I[601] = I[602], I[602] = I[603], I[603] = I[604], I[604] = I[605], I[605] = I[606], I[606] = I[607], I[607] = I[608], I[608] = I[609], I[609] = I[610], I[610] = I[611], I[611] = I[612], I[612] = I[613], I[613] = I[614], I[614] = I[615], I[615] = I[616], I[616] = I[617], I[617] = I[618], I[618] = I[619], I[619] = I[620], I[620] = I[621], I[621] = I[622], I[622] = I[623], I[623] = I[624], \
+ _p12##x = _p11##x, _p11##x = _p10##x, _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x, ++_n12##x)
+
+#define cimg_for_in25x25(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in25((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p12##x = x - 12<0?0:x - 12, \
+ _p11##x = x - 11<0?0:x - 11, \
+ _p10##x = x - 10<0?0:x - 10, \
+ _p9##x = x - 9<0?0:x - 9, \
+ _p8##x = x - 8<0?0:x - 8, \
+ _p7##x = x - 7<0?0:x - 7, \
+ _p6##x = x - 6<0?0:x - 6, \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = x + 5>=(img).width()?(img).width() - 1:x + 5, \
+ _n6##x = x + 6>=(img).width()?(img).width() - 1:x + 6, \
+ _n7##x = x + 7>=(img).width()?(img).width() - 1:x + 7, \
+ _n8##x = x + 8>=(img).width()?(img).width() - 1:x + 8, \
+ _n9##x = x + 9>=(img).width()?(img).width() - 1:x + 9, \
+ _n10##x = x + 10>=(img).width()?(img).width() - 1:x + 10, \
+ _n11##x = x + 11>=(img).width()?(img).width() - 1:x + 11, \
+ _n12##x = (int)( \
+ (I[0] = (T)(img)(_p12##x,_p12##y,z,c)), \
+ (I[25] = (T)(img)(_p12##x,_p11##y,z,c)), \
+ (I[50] = (T)(img)(_p12##x,_p10##y,z,c)), \
+ (I[75] = (T)(img)(_p12##x,_p9##y,z,c)), \
+ (I[100] = (T)(img)(_p12##x,_p8##y,z,c)), \
+ (I[125] = (T)(img)(_p12##x,_p7##y,z,c)), \
+ (I[150] = (T)(img)(_p12##x,_p6##y,z,c)), \
+ (I[175] = (T)(img)(_p12##x,_p5##y,z,c)), \
+ (I[200] = (T)(img)(_p12##x,_p4##y,z,c)), \
+ (I[225] = (T)(img)(_p12##x,_p3##y,z,c)), \
+ (I[250] = (T)(img)(_p12##x,_p2##y,z,c)), \
+ (I[275] = (T)(img)(_p12##x,_p1##y,z,c)), \
+ (I[300] = (T)(img)(_p12##x,y,z,c)), \
+ (I[325] = (T)(img)(_p12##x,_n1##y,z,c)), \
+ (I[350] = (T)(img)(_p12##x,_n2##y,z,c)), \
+ (I[375] = (T)(img)(_p12##x,_n3##y,z,c)), \
+ (I[400] = (T)(img)(_p12##x,_n4##y,z,c)), \
+ (I[425] = (T)(img)(_p12##x,_n5##y,z,c)), \
+ (I[450] = (T)(img)(_p12##x,_n6##y,z,c)), \
+ (I[475] = (T)(img)(_p12##x,_n7##y,z,c)), \
+ (I[500] = (T)(img)(_p12##x,_n8##y,z,c)), \
+ (I[525] = (T)(img)(_p12##x,_n9##y,z,c)), \
+ (I[550] = (T)(img)(_p12##x,_n10##y,z,c)), \
+ (I[575] = (T)(img)(_p12##x,_n11##y,z,c)), \
+ (I[600] = (T)(img)(_p12##x,_n12##y,z,c)), \
+ (I[1] = (T)(img)(_p11##x,_p12##y,z,c)), \
+ (I[26] = (T)(img)(_p11##x,_p11##y,z,c)), \
+ (I[51] = (T)(img)(_p11##x,_p10##y,z,c)), \
+ (I[76] = (T)(img)(_p11##x,_p9##y,z,c)), \
+ (I[101] = (T)(img)(_p11##x,_p8##y,z,c)), \
+ (I[126] = (T)(img)(_p11##x,_p7##y,z,c)), \
+ (I[151] = (T)(img)(_p11##x,_p6##y,z,c)), \
+ (I[176] = (T)(img)(_p11##x,_p5##y,z,c)), \
+ (I[201] = (T)(img)(_p11##x,_p4##y,z,c)), \
+ (I[226] = (T)(img)(_p11##x,_p3##y,z,c)), \
+ (I[251] = (T)(img)(_p11##x,_p2##y,z,c)), \
+ (I[276] = (T)(img)(_p11##x,_p1##y,z,c)), \
+ (I[301] = (T)(img)(_p11##x,y,z,c)), \
+ (I[326] = (T)(img)(_p11##x,_n1##y,z,c)), \
+ (I[351] = (T)(img)(_p11##x,_n2##y,z,c)), \
+ (I[376] = (T)(img)(_p11##x,_n3##y,z,c)), \
+ (I[401] = (T)(img)(_p11##x,_n4##y,z,c)), \
+ (I[426] = (T)(img)(_p11##x,_n5##y,z,c)), \
+ (I[451] = (T)(img)(_p11##x,_n6##y,z,c)), \
+ (I[476] = (T)(img)(_p11##x,_n7##y,z,c)), \
+ (I[501] = (T)(img)(_p11##x,_n8##y,z,c)), \
+ (I[526] = (T)(img)(_p11##x,_n9##y,z,c)), \
+ (I[551] = (T)(img)(_p11##x,_n10##y,z,c)), \
+ (I[576] = (T)(img)(_p11##x,_n11##y,z,c)), \
+ (I[601] = (T)(img)(_p11##x,_n12##y,z,c)), \
+ (I[2] = (T)(img)(_p10##x,_p12##y,z,c)), \
+ (I[27] = (T)(img)(_p10##x,_p11##y,z,c)), \
+ (I[52] = (T)(img)(_p10##x,_p10##y,z,c)), \
+ (I[77] = (T)(img)(_p10##x,_p9##y,z,c)), \
+ (I[102] = (T)(img)(_p10##x,_p8##y,z,c)), \
+ (I[127] = (T)(img)(_p10##x,_p7##y,z,c)), \
+ (I[152] = (T)(img)(_p10##x,_p6##y,z,c)), \
+ (I[177] = (T)(img)(_p10##x,_p5##y,z,c)), \
+ (I[202] = (T)(img)(_p10##x,_p4##y,z,c)), \
+ (I[227] = (T)(img)(_p10##x,_p3##y,z,c)), \
+ (I[252] = (T)(img)(_p10##x,_p2##y,z,c)), \
+ (I[277] = (T)(img)(_p10##x,_p1##y,z,c)), \
+ (I[302] = (T)(img)(_p10##x,y,z,c)), \
+ (I[327] = (T)(img)(_p10##x,_n1##y,z,c)), \
+ (I[352] = (T)(img)(_p10##x,_n2##y,z,c)), \
+ (I[377] = (T)(img)(_p10##x,_n3##y,z,c)), \
+ (I[402] = (T)(img)(_p10##x,_n4##y,z,c)), \
+ (I[427] = (T)(img)(_p10##x,_n5##y,z,c)), \
+ (I[452] = (T)(img)(_p10##x,_n6##y,z,c)), \
+ (I[477] = (T)(img)(_p10##x,_n7##y,z,c)), \
+ (I[502] = (T)(img)(_p10##x,_n8##y,z,c)), \
+ (I[527] = (T)(img)(_p10##x,_n9##y,z,c)), \
+ (I[552] = (T)(img)(_p10##x,_n10##y,z,c)), \
+ (I[577] = (T)(img)(_p10##x,_n11##y,z,c)), \
+ (I[602] = (T)(img)(_p10##x,_n12##y,z,c)), \
+ (I[3] = (T)(img)(_p9##x,_p12##y,z,c)), \
+ (I[28] = (T)(img)(_p9##x,_p11##y,z,c)), \
+ (I[53] = (T)(img)(_p9##x,_p10##y,z,c)), \
+ (I[78] = (T)(img)(_p9##x,_p9##y,z,c)), \
+ (I[103] = (T)(img)(_p9##x,_p8##y,z,c)), \
+ (I[128] = (T)(img)(_p9##x,_p7##y,z,c)), \
+ (I[153] = (T)(img)(_p9##x,_p6##y,z,c)), \
+ (I[178] = (T)(img)(_p9##x,_p5##y,z,c)), \
+ (I[203] = (T)(img)(_p9##x,_p4##y,z,c)), \
+ (I[228] = (T)(img)(_p9##x,_p3##y,z,c)), \
+ (I[253] = (T)(img)(_p9##x,_p2##y,z,c)), \
+ (I[278] = (T)(img)(_p9##x,_p1##y,z,c)), \
+ (I[303] = (T)(img)(_p9##x,y,z,c)), \
+ (I[328] = (T)(img)(_p9##x,_n1##y,z,c)), \
+ (I[353] = (T)(img)(_p9##x,_n2##y,z,c)), \
+ (I[378] = (T)(img)(_p9##x,_n3##y,z,c)), \
+ (I[403] = (T)(img)(_p9##x,_n4##y,z,c)), \
+ (I[428] = (T)(img)(_p9##x,_n5##y,z,c)), \
+ (I[453] = (T)(img)(_p9##x,_n6##y,z,c)), \
+ (I[478] = (T)(img)(_p9##x,_n7##y,z,c)), \
+ (I[503] = (T)(img)(_p9##x,_n8##y,z,c)), \
+ (I[528] = (T)(img)(_p9##x,_n9##y,z,c)), \
+ (I[553] = (T)(img)(_p9##x,_n10##y,z,c)), \
+ (I[578] = (T)(img)(_p9##x,_n11##y,z,c)), \
+ (I[603] = (T)(img)(_p9##x,_n12##y,z,c)), \
+ (I[4] = (T)(img)(_p8##x,_p12##y,z,c)), \
+ (I[29] = (T)(img)(_p8##x,_p11##y,z,c)), \
+ (I[54] = (T)(img)(_p8##x,_p10##y,z,c)), \
+ (I[79] = (T)(img)(_p8##x,_p9##y,z,c)), \
+ (I[104] = (T)(img)(_p8##x,_p8##y,z,c)), \
+ (I[129] = (T)(img)(_p8##x,_p7##y,z,c)), \
+ (I[154] = (T)(img)(_p8##x,_p6##y,z,c)), \
+ (I[179] = (T)(img)(_p8##x,_p5##y,z,c)), \
+ (I[204] = (T)(img)(_p8##x,_p4##y,z,c)), \
+ (I[229] = (T)(img)(_p8##x,_p3##y,z,c)), \
+ (I[254] = (T)(img)(_p8##x,_p2##y,z,c)), \
+ (I[279] = (T)(img)(_p8##x,_p1##y,z,c)), \
+ (I[304] = (T)(img)(_p8##x,y,z,c)), \
+ (I[329] = (T)(img)(_p8##x,_n1##y,z,c)), \
+ (I[354] = (T)(img)(_p8##x,_n2##y,z,c)), \
+ (I[379] = (T)(img)(_p8##x,_n3##y,z,c)), \
+ (I[404] = (T)(img)(_p8##x,_n4##y,z,c)), \
+ (I[429] = (T)(img)(_p8##x,_n5##y,z,c)), \
+ (I[454] = (T)(img)(_p8##x,_n6##y,z,c)), \
+ (I[479] = (T)(img)(_p8##x,_n7##y,z,c)), \
+ (I[504] = (T)(img)(_p8##x,_n8##y,z,c)), \
+ (I[529] = (T)(img)(_p8##x,_n9##y,z,c)), \
+ (I[554] = (T)(img)(_p8##x,_n10##y,z,c)), \
+ (I[579] = (T)(img)(_p8##x,_n11##y,z,c)), \
+ (I[604] = (T)(img)(_p8##x,_n12##y,z,c)), \
+ (I[5] = (T)(img)(_p7##x,_p12##y,z,c)), \
+ (I[30] = (T)(img)(_p7##x,_p11##y,z,c)), \
+ (I[55] = (T)(img)(_p7##x,_p10##y,z,c)), \
+ (I[80] = (T)(img)(_p7##x,_p9##y,z,c)), \
+ (I[105] = (T)(img)(_p7##x,_p8##y,z,c)), \
+ (I[130] = (T)(img)(_p7##x,_p7##y,z,c)), \
+ (I[155] = (T)(img)(_p7##x,_p6##y,z,c)), \
+ (I[180] = (T)(img)(_p7##x,_p5##y,z,c)), \
+ (I[205] = (T)(img)(_p7##x,_p4##y,z,c)), \
+ (I[230] = (T)(img)(_p7##x,_p3##y,z,c)), \
+ (I[255] = (T)(img)(_p7##x,_p2##y,z,c)), \
+ (I[280] = (T)(img)(_p7##x,_p1##y,z,c)), \
+ (I[305] = (T)(img)(_p7##x,y,z,c)), \
+ (I[330] = (T)(img)(_p7##x,_n1##y,z,c)), \
+ (I[355] = (T)(img)(_p7##x,_n2##y,z,c)), \
+ (I[380] = (T)(img)(_p7##x,_n3##y,z,c)), \
+ (I[405] = (T)(img)(_p7##x,_n4##y,z,c)), \
+ (I[430] = (T)(img)(_p7##x,_n5##y,z,c)), \
+ (I[455] = (T)(img)(_p7##x,_n6##y,z,c)), \
+ (I[480] = (T)(img)(_p7##x,_n7##y,z,c)), \
+ (I[505] = (T)(img)(_p7##x,_n8##y,z,c)), \
+ (I[530] = (T)(img)(_p7##x,_n9##y,z,c)), \
+ (I[555] = (T)(img)(_p7##x,_n10##y,z,c)), \
+ (I[580] = (T)(img)(_p7##x,_n11##y,z,c)), \
+ (I[605] = (T)(img)(_p7##x,_n12##y,z,c)), \
+ (I[6] = (T)(img)(_p6##x,_p12##y,z,c)), \
+ (I[31] = (T)(img)(_p6##x,_p11##y,z,c)), \
+ (I[56] = (T)(img)(_p6##x,_p10##y,z,c)), \
+ (I[81] = (T)(img)(_p6##x,_p9##y,z,c)), \
+ (I[106] = (T)(img)(_p6##x,_p8##y,z,c)), \
+ (I[131] = (T)(img)(_p6##x,_p7##y,z,c)), \
+ (I[156] = (T)(img)(_p6##x,_p6##y,z,c)), \
+ (I[181] = (T)(img)(_p6##x,_p5##y,z,c)), \
+ (I[206] = (T)(img)(_p6##x,_p4##y,z,c)), \
+ (I[231] = (T)(img)(_p6##x,_p3##y,z,c)), \
+ (I[256] = (T)(img)(_p6##x,_p2##y,z,c)), \
+ (I[281] = (T)(img)(_p6##x,_p1##y,z,c)), \
+ (I[306] = (T)(img)(_p6##x,y,z,c)), \
+ (I[331] = (T)(img)(_p6##x,_n1##y,z,c)), \
+ (I[356] = (T)(img)(_p6##x,_n2##y,z,c)), \
+ (I[381] = (T)(img)(_p6##x,_n3##y,z,c)), \
+ (I[406] = (T)(img)(_p6##x,_n4##y,z,c)), \
+ (I[431] = (T)(img)(_p6##x,_n5##y,z,c)), \
+ (I[456] = (T)(img)(_p6##x,_n6##y,z,c)), \
+ (I[481] = (T)(img)(_p6##x,_n7##y,z,c)), \
+ (I[506] = (T)(img)(_p6##x,_n8##y,z,c)), \
+ (I[531] = (T)(img)(_p6##x,_n9##y,z,c)), \
+ (I[556] = (T)(img)(_p6##x,_n10##y,z,c)), \
+ (I[581] = (T)(img)(_p6##x,_n11##y,z,c)), \
+ (I[606] = (T)(img)(_p6##x,_n12##y,z,c)), \
+ (I[7] = (T)(img)(_p5##x,_p12##y,z,c)), \
+ (I[32] = (T)(img)(_p5##x,_p11##y,z,c)), \
+ (I[57] = (T)(img)(_p5##x,_p10##y,z,c)), \
+ (I[82] = (T)(img)(_p5##x,_p9##y,z,c)), \
+ (I[107] = (T)(img)(_p5##x,_p8##y,z,c)), \
+ (I[132] = (T)(img)(_p5##x,_p7##y,z,c)), \
+ (I[157] = (T)(img)(_p5##x,_p6##y,z,c)), \
+ (I[182] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[207] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[232] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[257] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[282] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[307] = (T)(img)(_p5##x,y,z,c)), \
+ (I[332] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[357] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[382] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[407] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[432] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[457] = (T)(img)(_p5##x,_n6##y,z,c)), \
+ (I[482] = (T)(img)(_p5##x,_n7##y,z,c)), \
+ (I[507] = (T)(img)(_p5##x,_n8##y,z,c)), \
+ (I[532] = (T)(img)(_p5##x,_n9##y,z,c)), \
+ (I[557] = (T)(img)(_p5##x,_n10##y,z,c)), \
+ (I[582] = (T)(img)(_p5##x,_n11##y,z,c)), \
+ (I[607] = (T)(img)(_p5##x,_n12##y,z,c)), \
+ (I[8] = (T)(img)(_p4##x,_p12##y,z,c)), \
+ (I[33] = (T)(img)(_p4##x,_p11##y,z,c)), \
+ (I[58] = (T)(img)(_p4##x,_p10##y,z,c)), \
+ (I[83] = (T)(img)(_p4##x,_p9##y,z,c)), \
+ (I[108] = (T)(img)(_p4##x,_p8##y,z,c)), \
+ (I[133] = (T)(img)(_p4##x,_p7##y,z,c)), \
+ (I[158] = (T)(img)(_p4##x,_p6##y,z,c)), \
+ (I[183] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[208] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[233] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[258] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[283] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[308] = (T)(img)(_p4##x,y,z,c)), \
+ (I[333] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[358] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[383] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[408] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[433] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[458] = (T)(img)(_p4##x,_n6##y,z,c)), \
+ (I[483] = (T)(img)(_p4##x,_n7##y,z,c)), \
+ (I[508] = (T)(img)(_p4##x,_n8##y,z,c)), \
+ (I[533] = (T)(img)(_p4##x,_n9##y,z,c)), \
+ (I[558] = (T)(img)(_p4##x,_n10##y,z,c)), \
+ (I[583] = (T)(img)(_p4##x,_n11##y,z,c)), \
+ (I[608] = (T)(img)(_p4##x,_n12##y,z,c)), \
+ (I[9] = (T)(img)(_p3##x,_p12##y,z,c)), \
+ (I[34] = (T)(img)(_p3##x,_p11##y,z,c)), \
+ (I[59] = (T)(img)(_p3##x,_p10##y,z,c)), \
+ (I[84] = (T)(img)(_p3##x,_p9##y,z,c)), \
+ (I[109] = (T)(img)(_p3##x,_p8##y,z,c)), \
+ (I[134] = (T)(img)(_p3##x,_p7##y,z,c)), \
+ (I[159] = (T)(img)(_p3##x,_p6##y,z,c)), \
+ (I[184] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[209] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[234] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[259] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[284] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[309] = (T)(img)(_p3##x,y,z,c)), \
+ (I[334] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[359] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[384] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[409] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[434] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[459] = (T)(img)(_p3##x,_n6##y,z,c)), \
+ (I[484] = (T)(img)(_p3##x,_n7##y,z,c)), \
+ (I[509] = (T)(img)(_p3##x,_n8##y,z,c)), \
+ (I[534] = (T)(img)(_p3##x,_n9##y,z,c)), \
+ (I[559] = (T)(img)(_p3##x,_n10##y,z,c)), \
+ (I[584] = (T)(img)(_p3##x,_n11##y,z,c)), \
+ (I[609] = (T)(img)(_p3##x,_n12##y,z,c)), \
+ (I[10] = (T)(img)(_p2##x,_p12##y,z,c)), \
+ (I[35] = (T)(img)(_p2##x,_p11##y,z,c)), \
+ (I[60] = (T)(img)(_p2##x,_p10##y,z,c)), \
+ (I[85] = (T)(img)(_p2##x,_p9##y,z,c)), \
+ (I[110] = (T)(img)(_p2##x,_p8##y,z,c)), \
+ (I[135] = (T)(img)(_p2##x,_p7##y,z,c)), \
+ (I[160] = (T)(img)(_p2##x,_p6##y,z,c)), \
+ (I[185] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[210] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[235] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[260] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[285] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[310] = (T)(img)(_p2##x,y,z,c)), \
+ (I[335] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[360] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[385] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[410] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[435] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[460] = (T)(img)(_p2##x,_n6##y,z,c)), \
+ (I[485] = (T)(img)(_p2##x,_n7##y,z,c)), \
+ (I[510] = (T)(img)(_p2##x,_n8##y,z,c)), \
+ (I[535] = (T)(img)(_p2##x,_n9##y,z,c)), \
+ (I[560] = (T)(img)(_p2##x,_n10##y,z,c)), \
+ (I[585] = (T)(img)(_p2##x,_n11##y,z,c)), \
+ (I[610] = (T)(img)(_p2##x,_n12##y,z,c)), \
+ (I[11] = (T)(img)(_p1##x,_p12##y,z,c)), \
+ (I[36] = (T)(img)(_p1##x,_p11##y,z,c)), \
+ (I[61] = (T)(img)(_p1##x,_p10##y,z,c)), \
+ (I[86] = (T)(img)(_p1##x,_p9##y,z,c)), \
+ (I[111] = (T)(img)(_p1##x,_p8##y,z,c)), \
+ (I[136] = (T)(img)(_p1##x,_p7##y,z,c)), \
+ (I[161] = (T)(img)(_p1##x,_p6##y,z,c)), \
+ (I[186] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[211] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[236] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[261] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[286] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[311] = (T)(img)(_p1##x,y,z,c)), \
+ (I[336] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[361] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[386] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[411] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[436] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[461] = (T)(img)(_p1##x,_n6##y,z,c)), \
+ (I[486] = (T)(img)(_p1##x,_n7##y,z,c)), \
+ (I[511] = (T)(img)(_p1##x,_n8##y,z,c)), \
+ (I[536] = (T)(img)(_p1##x,_n9##y,z,c)), \
+ (I[561] = (T)(img)(_p1##x,_n10##y,z,c)), \
+ (I[586] = (T)(img)(_p1##x,_n11##y,z,c)), \
+ (I[611] = (T)(img)(_p1##x,_n12##y,z,c)), \
+ (I[12] = (T)(img)(x,_p12##y,z,c)), \
+ (I[37] = (T)(img)(x,_p11##y,z,c)), \
+ (I[62] = (T)(img)(x,_p10##y,z,c)), \
+ (I[87] = (T)(img)(x,_p9##y,z,c)), \
+ (I[112] = (T)(img)(x,_p8##y,z,c)), \
+ (I[137] = (T)(img)(x,_p7##y,z,c)), \
+ (I[162] = (T)(img)(x,_p6##y,z,c)), \
+ (I[187] = (T)(img)(x,_p5##y,z,c)), \
+ (I[212] = (T)(img)(x,_p4##y,z,c)), \
+ (I[237] = (T)(img)(x,_p3##y,z,c)), \
+ (I[262] = (T)(img)(x,_p2##y,z,c)), \
+ (I[287] = (T)(img)(x,_p1##y,z,c)), \
+ (I[312] = (T)(img)(x,y,z,c)), \
+ (I[337] = (T)(img)(x,_n1##y,z,c)), \
+ (I[362] = (T)(img)(x,_n2##y,z,c)), \
+ (I[387] = (T)(img)(x,_n3##y,z,c)), \
+ (I[412] = (T)(img)(x,_n4##y,z,c)), \
+ (I[437] = (T)(img)(x,_n5##y,z,c)), \
+ (I[462] = (T)(img)(x,_n6##y,z,c)), \
+ (I[487] = (T)(img)(x,_n7##y,z,c)), \
+ (I[512] = (T)(img)(x,_n8##y,z,c)), \
+ (I[537] = (T)(img)(x,_n9##y,z,c)), \
+ (I[562] = (T)(img)(x,_n10##y,z,c)), \
+ (I[587] = (T)(img)(x,_n11##y,z,c)), \
+ (I[612] = (T)(img)(x,_n12##y,z,c)), \
+ (I[13] = (T)(img)(_n1##x,_p12##y,z,c)), \
+ (I[38] = (T)(img)(_n1##x,_p11##y,z,c)), \
+ (I[63] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[88] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[113] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[138] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[163] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[188] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[213] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[238] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[263] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[288] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[313] = (T)(img)(_n1##x,y,z,c)), \
+ (I[338] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[363] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[388] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[413] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[438] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[463] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[488] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[513] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[538] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[563] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[588] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[613] = (T)(img)(_n1##x,_n12##y,z,c)), \
+ (I[14] = (T)(img)(_n2##x,_p12##y,z,c)), \
+ (I[39] = (T)(img)(_n2##x,_p11##y,z,c)), \
+ (I[64] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[89] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[114] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[139] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[164] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[189] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[214] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[239] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[264] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[289] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[314] = (T)(img)(_n2##x,y,z,c)), \
+ (I[339] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[364] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[389] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[414] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[439] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[464] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[489] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[514] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[539] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[564] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[589] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[614] = (T)(img)(_n2##x,_n12##y,z,c)), \
+ (I[15] = (T)(img)(_n3##x,_p12##y,z,c)), \
+ (I[40] = (T)(img)(_n3##x,_p11##y,z,c)), \
+ (I[65] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[90] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[115] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[140] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[165] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[190] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[215] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[240] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[265] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[290] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[315] = (T)(img)(_n3##x,y,z,c)), \
+ (I[340] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[365] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[390] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[415] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[440] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[465] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[490] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[515] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[540] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[565] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[590] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[615] = (T)(img)(_n3##x,_n12##y,z,c)), \
+ (I[16] = (T)(img)(_n4##x,_p12##y,z,c)), \
+ (I[41] = (T)(img)(_n4##x,_p11##y,z,c)), \
+ (I[66] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[91] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[116] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[141] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[166] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[191] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[216] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[241] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[266] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[291] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[316] = (T)(img)(_n4##x,y,z,c)), \
+ (I[341] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[366] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[391] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[416] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[441] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[466] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[491] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[516] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[541] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[566] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[591] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[616] = (T)(img)(_n4##x,_n12##y,z,c)), \
+ (I[17] = (T)(img)(_n5##x,_p12##y,z,c)), \
+ (I[42] = (T)(img)(_n5##x,_p11##y,z,c)), \
+ (I[67] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[92] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[117] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[142] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[167] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[192] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[217] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[242] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[267] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[292] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[317] = (T)(img)(_n5##x,y,z,c)), \
+ (I[342] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[367] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[392] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[417] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[442] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[467] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[492] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[517] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[542] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[567] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[592] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[617] = (T)(img)(_n5##x,_n12##y,z,c)), \
+ (I[18] = (T)(img)(_n6##x,_p12##y,z,c)), \
+ (I[43] = (T)(img)(_n6##x,_p11##y,z,c)), \
+ (I[68] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[93] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[118] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[143] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[168] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[193] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[218] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[243] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[268] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[293] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[318] = (T)(img)(_n6##x,y,z,c)), \
+ (I[343] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[368] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[393] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[418] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[443] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[468] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[493] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[518] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[543] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[568] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[593] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[618] = (T)(img)(_n6##x,_n12##y,z,c)), \
+ (I[19] = (T)(img)(_n7##x,_p12##y,z,c)), \
+ (I[44] = (T)(img)(_n7##x,_p11##y,z,c)), \
+ (I[69] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[94] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[119] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[144] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[169] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[194] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[219] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[244] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[269] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[294] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[319] = (T)(img)(_n7##x,y,z,c)), \
+ (I[344] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[369] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[394] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[419] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[444] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[469] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[494] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[519] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[544] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[569] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[594] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[619] = (T)(img)(_n7##x,_n12##y,z,c)), \
+ (I[20] = (T)(img)(_n8##x,_p12##y,z,c)), \
+ (I[45] = (T)(img)(_n8##x,_p11##y,z,c)), \
+ (I[70] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[95] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[120] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[145] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[170] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[195] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[220] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[245] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[270] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[295] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[320] = (T)(img)(_n8##x,y,z,c)), \
+ (I[345] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[370] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[395] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[420] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[445] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[470] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[495] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[520] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[545] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[570] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[595] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[620] = (T)(img)(_n8##x,_n12##y,z,c)), \
+ (I[21] = (T)(img)(_n9##x,_p12##y,z,c)), \
+ (I[46] = (T)(img)(_n9##x,_p11##y,z,c)), \
+ (I[71] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[96] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[121] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[146] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[171] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[196] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[221] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[246] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[271] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[296] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[321] = (T)(img)(_n9##x,y,z,c)), \
+ (I[346] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[371] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[396] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[421] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[446] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[471] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[496] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[521] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[546] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[571] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[596] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[621] = (T)(img)(_n9##x,_n12##y,z,c)), \
+ (I[22] = (T)(img)(_n10##x,_p12##y,z,c)), \
+ (I[47] = (T)(img)(_n10##x,_p11##y,z,c)), \
+ (I[72] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[97] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[122] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[147] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[172] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[197] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[222] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[247] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[272] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[297] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[322] = (T)(img)(_n10##x,y,z,c)), \
+ (I[347] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[372] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[397] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[422] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[447] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[472] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[497] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[522] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[547] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[572] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[597] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ (I[622] = (T)(img)(_n10##x,_n12##y,z,c)), \
+ (I[23] = (T)(img)(_n11##x,_p12##y,z,c)), \
+ (I[48] = (T)(img)(_n11##x,_p11##y,z,c)), \
+ (I[73] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[98] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[123] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[148] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[173] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[198] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[223] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[248] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[273] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[298] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[323] = (T)(img)(_n11##x,y,z,c)), \
+ (I[348] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[373] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[398] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[423] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[448] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[473] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[498] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[523] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[548] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[573] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[598] = (T)(img)(_n11##x,_n11##y,z,c)), \
+ (I[623] = (T)(img)(_n11##x,_n12##y,z,c)), \
+ x + 12>=(img).width()?(img).width() - 1:x + 12); \
+ x<=(int)(x1) && ((_n12##x<(img).width() && ( \
+ (I[24] = (T)(img)(_n12##x,_p12##y,z,c)), \
+ (I[49] = (T)(img)(_n12##x,_p11##y,z,c)), \
+ (I[74] = (T)(img)(_n12##x,_p10##y,z,c)), \
+ (I[99] = (T)(img)(_n12##x,_p9##y,z,c)), \
+ (I[124] = (T)(img)(_n12##x,_p8##y,z,c)), \
+ (I[149] = (T)(img)(_n12##x,_p7##y,z,c)), \
+ (I[174] = (T)(img)(_n12##x,_p6##y,z,c)), \
+ (I[199] = (T)(img)(_n12##x,_p5##y,z,c)), \
+ (I[224] = (T)(img)(_n12##x,_p4##y,z,c)), \
+ (I[249] = (T)(img)(_n12##x,_p3##y,z,c)), \
+ (I[274] = (T)(img)(_n12##x,_p2##y,z,c)), \
+ (I[299] = (T)(img)(_n12##x,_p1##y,z,c)), \
+ (I[324] = (T)(img)(_n12##x,y,z,c)), \
+ (I[349] = (T)(img)(_n12##x,_n1##y,z,c)), \
+ (I[374] = (T)(img)(_n12##x,_n2##y,z,c)), \
+ (I[399] = (T)(img)(_n12##x,_n3##y,z,c)), \
+ (I[424] = (T)(img)(_n12##x,_n4##y,z,c)), \
+ (I[449] = (T)(img)(_n12##x,_n5##y,z,c)), \
+ (I[474] = (T)(img)(_n12##x,_n6##y,z,c)), \
+ (I[499] = (T)(img)(_n12##x,_n7##y,z,c)), \
+ (I[524] = (T)(img)(_n12##x,_n8##y,z,c)), \
+ (I[549] = (T)(img)(_n12##x,_n9##y,z,c)), \
+ (I[574] = (T)(img)(_n12##x,_n10##y,z,c)), \
+ (I[599] = (T)(img)(_n12##x,_n11##y,z,c)), \
+ (I[624] = (T)(img)(_n12##x,_n12##y,z,c)),1)) || \
+ _n11##x==--_n12##x || _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n12##x = _n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], \
+ I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], \
+ I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], \
+ I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], \
+ I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], \
+ I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], \
+ I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], \
+ I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], \
+ I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], \
+ I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], \
+ I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], \
+ I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], \
+ I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], \
+ I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], \
+ I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], I[359] = I[360], I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], \
+ I[375] = I[376], I[376] = I[377], I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], \
+ I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], I[415] = I[416], I[416] = I[417], I[417] = I[418], I[418] = I[419], I[419] = I[420], I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], \
+ I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], I[431] = I[432], I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], I[439] = I[440], I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], I[447] = I[448], I[448] = I[449], \
+ I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], I[455] = I[456], I[456] = I[457], I[457] = I[458], I[458] = I[459], I[459] = I[460], I[460] = I[461], I[461] = I[462], I[462] = I[463], I[463] = I[464], I[464] = I[465], I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], \
+ I[475] = I[476], I[476] = I[477], I[477] = I[478], I[478] = I[479], I[479] = I[480], I[480] = I[481], I[481] = I[482], I[482] = I[483], I[483] = I[484], I[484] = I[485], I[485] = I[486], I[486] = I[487], I[487] = I[488], I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], I[492] = I[493], I[493] = I[494], I[494] = I[495], I[495] = I[496], I[496] = I[497], I[497] = I[498], I[498] = I[499], \
+ I[500] = I[501], I[501] = I[502], I[502] = I[503], I[503] = I[504], I[504] = I[505], I[505] = I[506], I[506] = I[507], I[507] = I[508], I[508] = I[509], I[509] = I[510], I[510] = I[511], I[511] = I[512], I[512] = I[513], I[513] = I[514], I[514] = I[515], I[515] = I[516], I[516] = I[517], I[517] = I[518], I[518] = I[519], I[519] = I[520], I[520] = I[521], I[521] = I[522], I[522] = I[523], I[523] = I[524], \
+ I[525] = I[526], I[526] = I[527], I[527] = I[528], I[528] = I[529], I[529] = I[530], I[530] = I[531], I[531] = I[532], I[532] = I[533], I[533] = I[534], I[534] = I[535], I[535] = I[536], I[536] = I[537], I[537] = I[538], I[538] = I[539], I[539] = I[540], I[540] = I[541], I[541] = I[542], I[542] = I[543], I[543] = I[544], I[544] = I[545], I[545] = I[546], I[546] = I[547], I[547] = I[548], I[548] = I[549], \
+ I[550] = I[551], I[551] = I[552], I[552] = I[553], I[553] = I[554], I[554] = I[555], I[555] = I[556], I[556] = I[557], I[557] = I[558], I[558] = I[559], I[559] = I[560], I[560] = I[561], I[561] = I[562], I[562] = I[563], I[563] = I[564], I[564] = I[565], I[565] = I[566], I[566] = I[567], I[567] = I[568], I[568] = I[569], I[569] = I[570], I[570] = I[571], I[571] = I[572], I[572] = I[573], I[573] = I[574], \
+ I[575] = I[576], I[576] = I[577], I[577] = I[578], I[578] = I[579], I[579] = I[580], I[580] = I[581], I[581] = I[582], I[582] = I[583], I[583] = I[584], I[584] = I[585], I[585] = I[586], I[586] = I[587], I[587] = I[588], I[588] = I[589], I[589] = I[590], I[590] = I[591], I[591] = I[592], I[592] = I[593], I[593] = I[594], I[594] = I[595], I[595] = I[596], I[596] = I[597], I[597] = I[598], I[598] = I[599], \
+ I[600] = I[601], I[601] = I[602], I[602] = I[603], I[603] = I[604], I[604] = I[605], I[605] = I[606], I[606] = I[607], I[607] = I[608], I[608] = I[609], I[609] = I[610], I[610] = I[611], I[611] = I[612], I[612] = I[613], I[613] = I[614], I[614] = I[615], I[615] = I[616], I[616] = I[617], I[617] = I[618], I[618] = I[619], I[619] = I[620], I[620] = I[621], I[621] = I[622], I[622] = I[623], I[623] = I[624], \
+ _p12##x = _p11##x, _p11##x = _p10##x, _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x, ++_n12##x)
+
+#define cimg_get25x25(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p12##x,_p12##y,z,c), I[1] = (T)(img)(_p11##x,_p12##y,z,c), I[2] = (T)(img)(_p10##x,_p12##y,z,c), I[3] = (T)(img)(_p9##x,_p12##y,z,c), I[4] = (T)(img)(_p8##x,_p12##y,z,c), I[5] = (T)(img)(_p7##x,_p12##y,z,c), I[6] = (T)(img)(_p6##x,_p12##y,z,c), I[7] = (T)(img)(_p5##x,_p12##y,z,c), I[8] = (T)(img)(_p4##x,_p12##y,z,c), I[9] = (T)(img)(_p3##x,_p12##y,z,c), I[10] = (T)(img)(_p2##x,_p12##y,z,c), I[11] = (T)(img)(_p1##x,_p12##y,z,c), I[12] = (T)(img)(x,_p12##y,z,c), I[13] = ( [...]
+ I[25] = (T)(img)(_p12##x,_p11##y,z,c), I[26] = (T)(img)(_p11##x,_p11##y,z,c), I[27] = (T)(img)(_p10##x,_p11##y,z,c), I[28] = (T)(img)(_p9##x,_p11##y,z,c), I[29] = (T)(img)(_p8##x,_p11##y,z,c), I[30] = (T)(img)(_p7##x,_p11##y,z,c), I[31] = (T)(img)(_p6##x,_p11##y,z,c), I[32] = (T)(img)(_p5##x,_p11##y,z,c), I[33] = (T)(img)(_p4##x,_p11##y,z,c), I[34] = (T)(img)(_p3##x,_p11##y,z,c), I[35] = (T)(img)(_p2##x,_p11##y,z,c), I[36] = (T)(img)(_p1##x,_p11##y,z,c), I[37] = (T)(img)(x,_p11##y,z,c), [...]
+ I[50] = (T)(img)(_p12##x,_p10##y,z,c), I[51] = (T)(img)(_p11##x,_p10##y,z,c), I[52] = (T)(img)(_p10##x,_p10##y,z,c), I[53] = (T)(img)(_p9##x,_p10##y,z,c), I[54] = (T)(img)(_p8##x,_p10##y,z,c), I[55] = (T)(img)(_p7##x,_p10##y,z,c), I[56] = (T)(img)(_p6##x,_p10##y,z,c), I[57] = (T)(img)(_p5##x,_p10##y,z,c), I[58] = (T)(img)(_p4##x,_p10##y,z,c), I[59] = (T)(img)(_p3##x,_p10##y,z,c), I[60] = (T)(img)(_p2##x,_p10##y,z,c), I[61] = (T)(img)(_p1##x,_p10##y,z,c), I[62] = (T)(img)(x,_p10##y,z,c), [...]
+ I[75] = (T)(img)(_p12##x,_p9##y,z,c), I[76] = (T)(img)(_p11##x,_p9##y,z,c), I[77] = (T)(img)(_p10##x,_p9##y,z,c), I[78] = (T)(img)(_p9##x,_p9##y,z,c), I[79] = (T)(img)(_p8##x,_p9##y,z,c), I[80] = (T)(img)(_p7##x,_p9##y,z,c), I[81] = (T)(img)(_p6##x,_p9##y,z,c), I[82] = (T)(img)(_p5##x,_p9##y,z,c), I[83] = (T)(img)(_p4##x,_p9##y,z,c), I[84] = (T)(img)(_p3##x,_p9##y,z,c), I[85] = (T)(img)(_p2##x,_p9##y,z,c), I[86] = (T)(img)(_p1##x,_p9##y,z,c), I[87] = (T)(img)(x,_p9##y,z,c), I[88] = (T)( [...]
+ I[100] = (T)(img)(_p12##x,_p8##y,z,c), I[101] = (T)(img)(_p11##x,_p8##y,z,c), I[102] = (T)(img)(_p10##x,_p8##y,z,c), I[103] = (T)(img)(_p9##x,_p8##y,z,c), I[104] = (T)(img)(_p8##x,_p8##y,z,c), I[105] = (T)(img)(_p7##x,_p8##y,z,c), I[106] = (T)(img)(_p6##x,_p8##y,z,c), I[107] = (T)(img)(_p5##x,_p8##y,z,c), I[108] = (T)(img)(_p4##x,_p8##y,z,c), I[109] = (T)(img)(_p3##x,_p8##y,z,c), I[110] = (T)(img)(_p2##x,_p8##y,z,c), I[111] = (T)(img)(_p1##x,_p8##y,z,c), I[112] = (T)(img)(x,_p8##y,z,c), [...]
+ I[125] = (T)(img)(_p12##x,_p7##y,z,c), I[126] = (T)(img)(_p11##x,_p7##y,z,c), I[127] = (T)(img)(_p10##x,_p7##y,z,c), I[128] = (T)(img)(_p9##x,_p7##y,z,c), I[129] = (T)(img)(_p8##x,_p7##y,z,c), I[130] = (T)(img)(_p7##x,_p7##y,z,c), I[131] = (T)(img)(_p6##x,_p7##y,z,c), I[132] = (T)(img)(_p5##x,_p7##y,z,c), I[133] = (T)(img)(_p4##x,_p7##y,z,c), I[134] = (T)(img)(_p3##x,_p7##y,z,c), I[135] = (T)(img)(_p2##x,_p7##y,z,c), I[136] = (T)(img)(_p1##x,_p7##y,z,c), I[137] = (T)(img)(x,_p7##y,z,c), [...]
+ I[150] = (T)(img)(_p12##x,_p6##y,z,c), I[151] = (T)(img)(_p11##x,_p6##y,z,c), I[152] = (T)(img)(_p10##x,_p6##y,z,c), I[153] = (T)(img)(_p9##x,_p6##y,z,c), I[154] = (T)(img)(_p8##x,_p6##y,z,c), I[155] = (T)(img)(_p7##x,_p6##y,z,c), I[156] = (T)(img)(_p6##x,_p6##y,z,c), I[157] = (T)(img)(_p5##x,_p6##y,z,c), I[158] = (T)(img)(_p4##x,_p6##y,z,c), I[159] = (T)(img)(_p3##x,_p6##y,z,c), I[160] = (T)(img)(_p2##x,_p6##y,z,c), I[161] = (T)(img)(_p1##x,_p6##y,z,c), I[162] = (T)(img)(x,_p6##y,z,c), [...]
+ I[175] = (T)(img)(_p12##x,_p5##y,z,c), I[176] = (T)(img)(_p11##x,_p5##y,z,c), I[177] = (T)(img)(_p10##x,_p5##y,z,c), I[178] = (T)(img)(_p9##x,_p5##y,z,c), I[179] = (T)(img)(_p8##x,_p5##y,z,c), I[180] = (T)(img)(_p7##x,_p5##y,z,c), I[181] = (T)(img)(_p6##x,_p5##y,z,c), I[182] = (T)(img)(_p5##x,_p5##y,z,c), I[183] = (T)(img)(_p4##x,_p5##y,z,c), I[184] = (T)(img)(_p3##x,_p5##y,z,c), I[185] = (T)(img)(_p2##x,_p5##y,z,c), I[186] = (T)(img)(_p1##x,_p5##y,z,c), I[187] = (T)(img)(x,_p5##y,z,c), [...]
+ I[200] = (T)(img)(_p12##x,_p4##y,z,c), I[201] = (T)(img)(_p11##x,_p4##y,z,c), I[202] = (T)(img)(_p10##x,_p4##y,z,c), I[203] = (T)(img)(_p9##x,_p4##y,z,c), I[204] = (T)(img)(_p8##x,_p4##y,z,c), I[205] = (T)(img)(_p7##x,_p4##y,z,c), I[206] = (T)(img)(_p6##x,_p4##y,z,c), I[207] = (T)(img)(_p5##x,_p4##y,z,c), I[208] = (T)(img)(_p4##x,_p4##y,z,c), I[209] = (T)(img)(_p3##x,_p4##y,z,c), I[210] = (T)(img)(_p2##x,_p4##y,z,c), I[211] = (T)(img)(_p1##x,_p4##y,z,c), I[212] = (T)(img)(x,_p4##y,z,c), [...]
+ I[225] = (T)(img)(_p12##x,_p3##y,z,c), I[226] = (T)(img)(_p11##x,_p3##y,z,c), I[227] = (T)(img)(_p10##x,_p3##y,z,c), I[228] = (T)(img)(_p9##x,_p3##y,z,c), I[229] = (T)(img)(_p8##x,_p3##y,z,c), I[230] = (T)(img)(_p7##x,_p3##y,z,c), I[231] = (T)(img)(_p6##x,_p3##y,z,c), I[232] = (T)(img)(_p5##x,_p3##y,z,c), I[233] = (T)(img)(_p4##x,_p3##y,z,c), I[234] = (T)(img)(_p3##x,_p3##y,z,c), I[235] = (T)(img)(_p2##x,_p3##y,z,c), I[236] = (T)(img)(_p1##x,_p3##y,z,c), I[237] = (T)(img)(x,_p3##y,z,c), [...]
+ I[250] = (T)(img)(_p12##x,_p2##y,z,c), I[251] = (T)(img)(_p11##x,_p2##y,z,c), I[252] = (T)(img)(_p10##x,_p2##y,z,c), I[253] = (T)(img)(_p9##x,_p2##y,z,c), I[254] = (T)(img)(_p8##x,_p2##y,z,c), I[255] = (T)(img)(_p7##x,_p2##y,z,c), I[256] = (T)(img)(_p6##x,_p2##y,z,c), I[257] = (T)(img)(_p5##x,_p2##y,z,c), I[258] = (T)(img)(_p4##x,_p2##y,z,c), I[259] = (T)(img)(_p3##x,_p2##y,z,c), I[260] = (T)(img)(_p2##x,_p2##y,z,c), I[261] = (T)(img)(_p1##x,_p2##y,z,c), I[262] = (T)(img)(x,_p2##y,z,c), [...]
+ I[275] = (T)(img)(_p12##x,_p1##y,z,c), I[276] = (T)(img)(_p11##x,_p1##y,z,c), I[277] = (T)(img)(_p10##x,_p1##y,z,c), I[278] = (T)(img)(_p9##x,_p1##y,z,c), I[279] = (T)(img)(_p8##x,_p1##y,z,c), I[280] = (T)(img)(_p7##x,_p1##y,z,c), I[281] = (T)(img)(_p6##x,_p1##y,z,c), I[282] = (T)(img)(_p5##x,_p1##y,z,c), I[283] = (T)(img)(_p4##x,_p1##y,z,c), I[284] = (T)(img)(_p3##x,_p1##y,z,c), I[285] = (T)(img)(_p2##x,_p1##y,z,c), I[286] = (T)(img)(_p1##x,_p1##y,z,c), I[287] = (T)(img)(x,_p1##y,z,c), [...]
+ I[300] = (T)(img)(_p12##x,y,z,c), I[301] = (T)(img)(_p11##x,y,z,c), I[302] = (T)(img)(_p10##x,y,z,c), I[303] = (T)(img)(_p9##x,y,z,c), I[304] = (T)(img)(_p8##x,y,z,c), I[305] = (T)(img)(_p7##x,y,z,c), I[306] = (T)(img)(_p6##x,y,z,c), I[307] = (T)(img)(_p5##x,y,z,c), I[308] = (T)(img)(_p4##x,y,z,c), I[309] = (T)(img)(_p3##x,y,z,c), I[310] = (T)(img)(_p2##x,y,z,c), I[311] = (T)(img)(_p1##x,y,z,c), I[312] = (T)(img)(x,y,z,c), I[313] = (T)(img)(_n1##x,y,z,c), I[314] = (T)(img)(_n2##x,y,z,c) [...]
+ I[325] = (T)(img)(_p12##x,_n1##y,z,c), I[326] = (T)(img)(_p11##x,_n1##y,z,c), I[327] = (T)(img)(_p10##x,_n1##y,z,c), I[328] = (T)(img)(_p9##x,_n1##y,z,c), I[329] = (T)(img)(_p8##x,_n1##y,z,c), I[330] = (T)(img)(_p7##x,_n1##y,z,c), I[331] = (T)(img)(_p6##x,_n1##y,z,c), I[332] = (T)(img)(_p5##x,_n1##y,z,c), I[333] = (T)(img)(_p4##x,_n1##y,z,c), I[334] = (T)(img)(_p3##x,_n1##y,z,c), I[335] = (T)(img)(_p2##x,_n1##y,z,c), I[336] = (T)(img)(_p1##x,_n1##y,z,c), I[337] = (T)(img)(x,_n1##y,z,c), [...]
+ I[350] = (T)(img)(_p12##x,_n2##y,z,c), I[351] = (T)(img)(_p11##x,_n2##y,z,c), I[352] = (T)(img)(_p10##x,_n2##y,z,c), I[353] = (T)(img)(_p9##x,_n2##y,z,c), I[354] = (T)(img)(_p8##x,_n2##y,z,c), I[355] = (T)(img)(_p7##x,_n2##y,z,c), I[356] = (T)(img)(_p6##x,_n2##y,z,c), I[357] = (T)(img)(_p5##x,_n2##y,z,c), I[358] = (T)(img)(_p4##x,_n2##y,z,c), I[359] = (T)(img)(_p3##x,_n2##y,z,c), I[360] = (T)(img)(_p2##x,_n2##y,z,c), I[361] = (T)(img)(_p1##x,_n2##y,z,c), I[362] = (T)(img)(x,_n2##y,z,c), [...]
+ I[375] = (T)(img)(_p12##x,_n3##y,z,c), I[376] = (T)(img)(_p11##x,_n3##y,z,c), I[377] = (T)(img)(_p10##x,_n3##y,z,c), I[378] = (T)(img)(_p9##x,_n3##y,z,c), I[379] = (T)(img)(_p8##x,_n3##y,z,c), I[380] = (T)(img)(_p7##x,_n3##y,z,c), I[381] = (T)(img)(_p6##x,_n3##y,z,c), I[382] = (T)(img)(_p5##x,_n3##y,z,c), I[383] = (T)(img)(_p4##x,_n3##y,z,c), I[384] = (T)(img)(_p3##x,_n3##y,z,c), I[385] = (T)(img)(_p2##x,_n3##y,z,c), I[386] = (T)(img)(_p1##x,_n3##y,z,c), I[387] = (T)(img)(x,_n3##y,z,c), [...]
+ I[400] = (T)(img)(_p12##x,_n4##y,z,c), I[401] = (T)(img)(_p11##x,_n4##y,z,c), I[402] = (T)(img)(_p10##x,_n4##y,z,c), I[403] = (T)(img)(_p9##x,_n4##y,z,c), I[404] = (T)(img)(_p8##x,_n4##y,z,c), I[405] = (T)(img)(_p7##x,_n4##y,z,c), I[406] = (T)(img)(_p6##x,_n4##y,z,c), I[407] = (T)(img)(_p5##x,_n4##y,z,c), I[408] = (T)(img)(_p4##x,_n4##y,z,c), I[409] = (T)(img)(_p3##x,_n4##y,z,c), I[410] = (T)(img)(_p2##x,_n4##y,z,c), I[411] = (T)(img)(_p1##x,_n4##y,z,c), I[412] = (T)(img)(x,_n4##y,z,c), [...]
+ I[425] = (T)(img)(_p12##x,_n5##y,z,c), I[426] = (T)(img)(_p11##x,_n5##y,z,c), I[427] = (T)(img)(_p10##x,_n5##y,z,c), I[428] = (T)(img)(_p9##x,_n5##y,z,c), I[429] = (T)(img)(_p8##x,_n5##y,z,c), I[430] = (T)(img)(_p7##x,_n5##y,z,c), I[431] = (T)(img)(_p6##x,_n5##y,z,c), I[432] = (T)(img)(_p5##x,_n5##y,z,c), I[433] = (T)(img)(_p4##x,_n5##y,z,c), I[434] = (T)(img)(_p3##x,_n5##y,z,c), I[435] = (T)(img)(_p2##x,_n5##y,z,c), I[436] = (T)(img)(_p1##x,_n5##y,z,c), I[437] = (T)(img)(x,_n5##y,z,c), [...]
+ I[450] = (T)(img)(_p12##x,_n6##y,z,c), I[451] = (T)(img)(_p11##x,_n6##y,z,c), I[452] = (T)(img)(_p10##x,_n6##y,z,c), I[453] = (T)(img)(_p9##x,_n6##y,z,c), I[454] = (T)(img)(_p8##x,_n6##y,z,c), I[455] = (T)(img)(_p7##x,_n6##y,z,c), I[456] = (T)(img)(_p6##x,_n6##y,z,c), I[457] = (T)(img)(_p5##x,_n6##y,z,c), I[458] = (T)(img)(_p4##x,_n6##y,z,c), I[459] = (T)(img)(_p3##x,_n6##y,z,c), I[460] = (T)(img)(_p2##x,_n6##y,z,c), I[461] = (T)(img)(_p1##x,_n6##y,z,c), I[462] = (T)(img)(x,_n6##y,z,c), [...]
+ I[475] = (T)(img)(_p12##x,_n7##y,z,c), I[476] = (T)(img)(_p11##x,_n7##y,z,c), I[477] = (T)(img)(_p10##x,_n7##y,z,c), I[478] = (T)(img)(_p9##x,_n7##y,z,c), I[479] = (T)(img)(_p8##x,_n7##y,z,c), I[480] = (T)(img)(_p7##x,_n7##y,z,c), I[481] = (T)(img)(_p6##x,_n7##y,z,c), I[482] = (T)(img)(_p5##x,_n7##y,z,c), I[483] = (T)(img)(_p4##x,_n7##y,z,c), I[484] = (T)(img)(_p3##x,_n7##y,z,c), I[485] = (T)(img)(_p2##x,_n7##y,z,c), I[486] = (T)(img)(_p1##x,_n7##y,z,c), I[487] = (T)(img)(x,_n7##y,z,c), [...]
+ I[500] = (T)(img)(_p12##x,_n8##y,z,c), I[501] = (T)(img)(_p11##x,_n8##y,z,c), I[502] = (T)(img)(_p10##x,_n8##y,z,c), I[503] = (T)(img)(_p9##x,_n8##y,z,c), I[504] = (T)(img)(_p8##x,_n8##y,z,c), I[505] = (T)(img)(_p7##x,_n8##y,z,c), I[506] = (T)(img)(_p6##x,_n8##y,z,c), I[507] = (T)(img)(_p5##x,_n8##y,z,c), I[508] = (T)(img)(_p4##x,_n8##y,z,c), I[509] = (T)(img)(_p3##x,_n8##y,z,c), I[510] = (T)(img)(_p2##x,_n8##y,z,c), I[511] = (T)(img)(_p1##x,_n8##y,z,c), I[512] = (T)(img)(x,_n8##y,z,c), [...]
+ I[525] = (T)(img)(_p12##x,_n9##y,z,c), I[526] = (T)(img)(_p11##x,_n9##y,z,c), I[527] = (T)(img)(_p10##x,_n9##y,z,c), I[528] = (T)(img)(_p9##x,_n9##y,z,c), I[529] = (T)(img)(_p8##x,_n9##y,z,c), I[530] = (T)(img)(_p7##x,_n9##y,z,c), I[531] = (T)(img)(_p6##x,_n9##y,z,c), I[532] = (T)(img)(_p5##x,_n9##y,z,c), I[533] = (T)(img)(_p4##x,_n9##y,z,c), I[534] = (T)(img)(_p3##x,_n9##y,z,c), I[535] = (T)(img)(_p2##x,_n9##y,z,c), I[536] = (T)(img)(_p1##x,_n9##y,z,c), I[537] = (T)(img)(x,_n9##y,z,c), [...]
+ I[550] = (T)(img)(_p12##x,_n10##y,z,c), I[551] = (T)(img)(_p11##x,_n10##y,z,c), I[552] = (T)(img)(_p10##x,_n10##y,z,c), I[553] = (T)(img)(_p9##x,_n10##y,z,c), I[554] = (T)(img)(_p8##x,_n10##y,z,c), I[555] = (T)(img)(_p7##x,_n10##y,z,c), I[556] = (T)(img)(_p6##x,_n10##y,z,c), I[557] = (T)(img)(_p5##x,_n10##y,z,c), I[558] = (T)(img)(_p4##x,_n10##y,z,c), I[559] = (T)(img)(_p3##x,_n10##y,z,c), I[560] = (T)(img)(_p2##x,_n10##y,z,c), I[561] = (T)(img)(_p1##x,_n10##y,z,c), I[562] = (T)(img)(x, [...]
+ I[575] = (T)(img)(_p12##x,_n11##y,z,c), I[576] = (T)(img)(_p11##x,_n11##y,z,c), I[577] = (T)(img)(_p10##x,_n11##y,z,c), I[578] = (T)(img)(_p9##x,_n11##y,z,c), I[579] = (T)(img)(_p8##x,_n11##y,z,c), I[580] = (T)(img)(_p7##x,_n11##y,z,c), I[581] = (T)(img)(_p6##x,_n11##y,z,c), I[582] = (T)(img)(_p5##x,_n11##y,z,c), I[583] = (T)(img)(_p4##x,_n11##y,z,c), I[584] = (T)(img)(_p3##x,_n11##y,z,c), I[585] = (T)(img)(_p2##x,_n11##y,z,c), I[586] = (T)(img)(_p1##x,_n11##y,z,c), I[587] = (T)(img)(x, [...]
+ I[600] = (T)(img)(_p12##x,_n12##y,z,c), I[601] = (T)(img)(_p11##x,_n12##y,z,c), I[602] = (T)(img)(_p10##x,_n12##y,z,c), I[603] = (T)(img)(_p9##x,_n12##y,z,c), I[604] = (T)(img)(_p8##x,_n12##y,z,c), I[605] = (T)(img)(_p7##x,_n12##y,z,c), I[606] = (T)(img)(_p6##x,_n12##y,z,c), I[607] = (T)(img)(_p5##x,_n12##y,z,c), I[608] = (T)(img)(_p4##x,_n12##y,z,c), I[609] = (T)(img)(_p3##x,_n12##y,z,c), I[610] = (T)(img)(_p2##x,_n12##y,z,c), I[611] = (T)(img)(_p1##x,_n12##y,z,c), I[612] = (T)(img)(x, [...]
+
+// Define 26x26 loop macros
+//-------------------------
+#define cimg_for26(bound,i) for (int i = 0, \
+ _p12##i = 0, _p11##i = 0, _p10##i = 0, _p9##i = 0, _p8##i = 0, _p7##i = 0, _p6##i = 0, _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5, \
+ _n6##i = 6>=(int)(bound)?(int)(bound) - 1:6, \
+ _n7##i = 7>=(int)(bound)?(int)(bound) - 1:7, \
+ _n8##i = 8>=(int)(bound)?(int)(bound) - 1:8, \
+ _n9##i = 9>=(int)(bound)?(int)(bound) - 1:9, \
+ _n10##i = 10>=(int)(bound)?(int)(bound) - 1:10, \
+ _n11##i = 11>=(int)(bound)?(int)(bound) - 1:11, \
+ _n12##i = 12>=(int)(bound)?(int)(bound) - 1:12, \
+ _n13##i = 13>=(int)(bound)?(int)(bound) - 1:13; \
+ _n13##i<(int)(bound) || _n12##i==--_n13##i || _n11##i==--_n12##i || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n13##i = _n12##i = _n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p12##i = _p11##i, _p11##i = _p10##i, _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i, ++_n12##i, ++_n13##i)
+
+#define cimg_for26X(img,x) cimg_for26((img)._width,x)
+#define cimg_for26Y(img,y) cimg_for26((img)._height,y)
+#define cimg_for26Z(img,z) cimg_for26((img)._depth,z)
+#define cimg_for26C(img,c) cimg_for26((img)._spectrum,c)
+#define cimg_for26XY(img,x,y) cimg_for26Y(img,y) cimg_for26X(img,x)
+#define cimg_for26XZ(img,x,z) cimg_for26Z(img,z) cimg_for26X(img,x)
+#define cimg_for26XC(img,x,c) cimg_for26C(img,c) cimg_for26X(img,x)
+#define cimg_for26YZ(img,y,z) cimg_for26Z(img,z) cimg_for26Y(img,y)
+#define cimg_for26YC(img,y,c) cimg_for26C(img,c) cimg_for26Y(img,y)
+#define cimg_for26ZC(img,z,c) cimg_for26C(img,c) cimg_for26Z(img,z)
+#define cimg_for26XYZ(img,x,y,z) cimg_for26Z(img,z) cimg_for26XY(img,x,y)
+#define cimg_for26XZC(img,x,z,c) cimg_for26C(img,c) cimg_for26XZ(img,x,z)
+#define cimg_for26YZC(img,y,z,c) cimg_for26C(img,c) cimg_for26YZ(img,y,z)
+#define cimg_for26XYZC(img,x,y,z,c) cimg_for26C(img,c) cimg_for26XYZ(img,x,y,z)
+
+#define cimg_for_in26(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p12##i = i - 12<0?0:i - 12, \
+ _p11##i = i - 11<0?0:i - 11, \
+ _p10##i = i - 10<0?0:i - 10, \
+ _p9##i = i - 9<0?0:i - 9, \
+ _p8##i = i - 8<0?0:i - 8, \
+ _p7##i = i - 7<0?0:i - 7, \
+ _p6##i = i - 6<0?0:i - 6, \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5, \
+ _n6##i = i + 6>=(int)(bound)?(int)(bound) - 1:i + 6, \
+ _n7##i = i + 7>=(int)(bound)?(int)(bound) - 1:i + 7, \
+ _n8##i = i + 8>=(int)(bound)?(int)(bound) - 1:i + 8, \
+ _n9##i = i + 9>=(int)(bound)?(int)(bound) - 1:i + 9, \
+ _n10##i = i + 10>=(int)(bound)?(int)(bound) - 1:i + 10, \
+ _n11##i = i + 11>=(int)(bound)?(int)(bound) - 1:i + 11, \
+ _n12##i = i + 12>=(int)(bound)?(int)(bound) - 1:i + 12, \
+ _n13##i = i + 13>=(int)(bound)?(int)(bound) - 1:i + 13; \
+ i<=(int)(i1) && (_n13##i<(int)(bound) || _n12##i==--_n13##i || _n11##i==--_n12##i || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n13##i = _n12##i = _n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p12##i = _p11##i, _p11##i = _p10##i, _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i, ++_n12##i, ++_n13##i)
+
+#define cimg_for_in26X(img,x0,x1,x) cimg_for_in26((img)._width,x0,x1,x)
+#define cimg_for_in26Y(img,y0,y1,y) cimg_for_in26((img)._height,y0,y1,y)
+#define cimg_for_in26Z(img,z0,z1,z) cimg_for_in26((img)._depth,z0,z1,z)
+#define cimg_for_in26C(img,c0,c1,c) cimg_for_in26((img)._spectrum,c0,c1,c)
+#define cimg_for_in26XY(img,x0,y0,x1,y1,x,y) cimg_for_in26Y(img,y0,y1,y) cimg_for_in26X(img,x0,x1,x)
+#define cimg_for_in26XZ(img,x0,z0,x1,z1,x,z) cimg_for_in26Z(img,z0,z1,z) cimg_for_in26X(img,x0,x1,x)
+#define cimg_for_in26XC(img,x0,c0,x1,c1,x,c) cimg_for_in26C(img,c0,c1,c) cimg_for_in26X(img,x0,x1,x)
+#define cimg_for_in26YZ(img,y0,z0,y1,z1,y,z) cimg_for_in26Z(img,z0,z1,z) cimg_for_in26Y(img,y0,y1,y)
+#define cimg_for_in26YC(img,y0,c0,y1,c1,y,c) cimg_for_in26C(img,c0,c1,c) cimg_for_in26Y(img,y0,y1,y)
+#define cimg_for_in26ZC(img,z0,c0,z1,c1,z,c) cimg_for_in26C(img,c0,c1,c) cimg_for_in26Z(img,z0,z1,z)
+#define cimg_for_in26XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in26Z(img,z0,z1,z) cimg_for_in26XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in26XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in26C(img,c0,c1,c) cimg_for_in26XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in26YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in26C(img,c0,c1,c) cimg_for_in26YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in26XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in26C(img,c0,c1,c) cimg_for_in26XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for26x26(img,x,y,z,c,I,T) \
+ cimg_for26((img)._height,y) for (int x = 0, \
+ _p12##x = 0, _p11##x = 0, _p10##x = 0, _p9##x = 0, _p8##x = 0, _p7##x = 0, _p6##x = 0, _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = 5>=((img)._width)?(img).width() - 1:5, \
+ _n6##x = 6>=((img)._width)?(img).width() - 1:6, \
+ _n7##x = 7>=((img)._width)?(img).width() - 1:7, \
+ _n8##x = 8>=((img)._width)?(img).width() - 1:8, \
+ _n9##x = 9>=((img)._width)?(img).width() - 1:9, \
+ _n10##x = 10>=((img)._width)?(img).width() - 1:10, \
+ _n11##x = 11>=((img)._width)?(img).width() - 1:11, \
+ _n12##x = 12>=((img)._width)?(img).width() - 1:12, \
+ _n13##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = I[6] = I[7] = I[8] = I[9] = I[10] = I[11] = I[12] = (T)(img)(0,_p12##y,z,c)), \
+ (I[26] = I[27] = I[28] = I[29] = I[30] = I[31] = I[32] = I[33] = I[34] = I[35] = I[36] = I[37] = I[38] = (T)(img)(0,_p11##y,z,c)), \
+ (I[52] = I[53] = I[54] = I[55] = I[56] = I[57] = I[58] = I[59] = I[60] = I[61] = I[62] = I[63] = I[64] = (T)(img)(0,_p10##y,z,c)), \
+ (I[78] = I[79] = I[80] = I[81] = I[82] = I[83] = I[84] = I[85] = I[86] = I[87] = I[88] = I[89] = I[90] = (T)(img)(0,_p9##y,z,c)), \
+ (I[104] = I[105] = I[106] = I[107] = I[108] = I[109] = I[110] = I[111] = I[112] = I[113] = I[114] = I[115] = I[116] = (T)(img)(0,_p8##y,z,c)), \
+ (I[130] = I[131] = I[132] = I[133] = I[134] = I[135] = I[136] = I[137] = I[138] = I[139] = I[140] = I[141] = I[142] = (T)(img)(0,_p7##y,z,c)), \
+ (I[156] = I[157] = I[158] = I[159] = I[160] = I[161] = I[162] = I[163] = I[164] = I[165] = I[166] = I[167] = I[168] = (T)(img)(0,_p6##y,z,c)), \
+ (I[182] = I[183] = I[184] = I[185] = I[186] = I[187] = I[188] = I[189] = I[190] = I[191] = I[192] = I[193] = I[194] = (T)(img)(0,_p5##y,z,c)), \
+ (I[208] = I[209] = I[210] = I[211] = I[212] = I[213] = I[214] = I[215] = I[216] = I[217] = I[218] = I[219] = I[220] = (T)(img)(0,_p4##y,z,c)), \
+ (I[234] = I[235] = I[236] = I[237] = I[238] = I[239] = I[240] = I[241] = I[242] = I[243] = I[244] = I[245] = I[246] = (T)(img)(0,_p3##y,z,c)), \
+ (I[260] = I[261] = I[262] = I[263] = I[264] = I[265] = I[266] = I[267] = I[268] = I[269] = I[270] = I[271] = I[272] = (T)(img)(0,_p2##y,z,c)), \
+ (I[286] = I[287] = I[288] = I[289] = I[290] = I[291] = I[292] = I[293] = I[294] = I[295] = I[296] = I[297] = I[298] = (T)(img)(0,_p1##y,z,c)), \
+ (I[312] = I[313] = I[314] = I[315] = I[316] = I[317] = I[318] = I[319] = I[320] = I[321] = I[322] = I[323] = I[324] = (T)(img)(0,y,z,c)), \
+ (I[338] = I[339] = I[340] = I[341] = I[342] = I[343] = I[344] = I[345] = I[346] = I[347] = I[348] = I[349] = I[350] = (T)(img)(0,_n1##y,z,c)), \
+ (I[364] = I[365] = I[366] = I[367] = I[368] = I[369] = I[370] = I[371] = I[372] = I[373] = I[374] = I[375] = I[376] = (T)(img)(0,_n2##y,z,c)), \
+ (I[390] = I[391] = I[392] = I[393] = I[394] = I[395] = I[396] = I[397] = I[398] = I[399] = I[400] = I[401] = I[402] = (T)(img)(0,_n3##y,z,c)), \
+ (I[416] = I[417] = I[418] = I[419] = I[420] = I[421] = I[422] = I[423] = I[424] = I[425] = I[426] = I[427] = I[428] = (T)(img)(0,_n4##y,z,c)), \
+ (I[442] = I[443] = I[444] = I[445] = I[446] = I[447] = I[448] = I[449] = I[450] = I[451] = I[452] = I[453] = I[454] = (T)(img)(0,_n5##y,z,c)), \
+ (I[468] = I[469] = I[470] = I[471] = I[472] = I[473] = I[474] = I[475] = I[476] = I[477] = I[478] = I[479] = I[480] = (T)(img)(0,_n6##y,z,c)), \
+ (I[494] = I[495] = I[496] = I[497] = I[498] = I[499] = I[500] = I[501] = I[502] = I[503] = I[504] = I[505] = I[506] = (T)(img)(0,_n7##y,z,c)), \
+ (I[520] = I[521] = I[522] = I[523] = I[524] = I[525] = I[526] = I[527] = I[528] = I[529] = I[530] = I[531] = I[532] = (T)(img)(0,_n8##y,z,c)), \
+ (I[546] = I[547] = I[548] = I[549] = I[550] = I[551] = I[552] = I[553] = I[554] = I[555] = I[556] = I[557] = I[558] = (T)(img)(0,_n9##y,z,c)), \
+ (I[572] = I[573] = I[574] = I[575] = I[576] = I[577] = I[578] = I[579] = I[580] = I[581] = I[582] = I[583] = I[584] = (T)(img)(0,_n10##y,z,c)), \
+ (I[598] = I[599] = I[600] = I[601] = I[602] = I[603] = I[604] = I[605] = I[606] = I[607] = I[608] = I[609] = I[610] = (T)(img)(0,_n11##y,z,c)), \
+ (I[624] = I[625] = I[626] = I[627] = I[628] = I[629] = I[630] = I[631] = I[632] = I[633] = I[634] = I[635] = I[636] = (T)(img)(0,_n12##y,z,c)), \
+ (I[650] = I[651] = I[652] = I[653] = I[654] = I[655] = I[656] = I[657] = I[658] = I[659] = I[660] = I[661] = I[662] = (T)(img)(0,_n13##y,z,c)), \
+ (I[13] = (T)(img)(_n1##x,_p12##y,z,c)), \
+ (I[39] = (T)(img)(_n1##x,_p11##y,z,c)), \
+ (I[65] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[91] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[117] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[143] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[169] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[195] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[221] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[247] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[273] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[299] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[325] = (T)(img)(_n1##x,y,z,c)), \
+ (I[351] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[377] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[403] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[429] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[455] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[481] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[507] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[533] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[559] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[585] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[611] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[637] = (T)(img)(_n1##x,_n12##y,z,c)), \
+ (I[663] = (T)(img)(_n1##x,_n13##y,z,c)), \
+ (I[14] = (T)(img)(_n2##x,_p12##y,z,c)), \
+ (I[40] = (T)(img)(_n2##x,_p11##y,z,c)), \
+ (I[66] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[92] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[118] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[144] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[170] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[196] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[222] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[248] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[274] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[300] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[326] = (T)(img)(_n2##x,y,z,c)), \
+ (I[352] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[378] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[404] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[430] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[456] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[482] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[508] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[534] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[560] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[586] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[612] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[638] = (T)(img)(_n2##x,_n12##y,z,c)), \
+ (I[664] = (T)(img)(_n2##x,_n13##y,z,c)), \
+ (I[15] = (T)(img)(_n3##x,_p12##y,z,c)), \
+ (I[41] = (T)(img)(_n3##x,_p11##y,z,c)), \
+ (I[67] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[93] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[119] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[145] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[171] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[197] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[223] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[249] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[275] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[301] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[327] = (T)(img)(_n3##x,y,z,c)), \
+ (I[353] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[379] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[405] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[431] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[457] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[483] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[509] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[535] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[561] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[587] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[613] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[639] = (T)(img)(_n3##x,_n12##y,z,c)), \
+ (I[665] = (T)(img)(_n3##x,_n13##y,z,c)), \
+ (I[16] = (T)(img)(_n4##x,_p12##y,z,c)), \
+ (I[42] = (T)(img)(_n4##x,_p11##y,z,c)), \
+ (I[68] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[94] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[120] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[146] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[172] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[198] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[224] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[250] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[276] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[302] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[328] = (T)(img)(_n4##x,y,z,c)), \
+ (I[354] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[380] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[406] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[432] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[458] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[484] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[510] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[536] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[562] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[588] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[614] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[640] = (T)(img)(_n4##x,_n12##y,z,c)), \
+ (I[666] = (T)(img)(_n4##x,_n13##y,z,c)), \
+ (I[17] = (T)(img)(_n5##x,_p12##y,z,c)), \
+ (I[43] = (T)(img)(_n5##x,_p11##y,z,c)), \
+ (I[69] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[95] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[121] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[147] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[173] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[199] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[225] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[251] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[277] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[303] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[329] = (T)(img)(_n5##x,y,z,c)), \
+ (I[355] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[381] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[407] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[433] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[459] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[485] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[511] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[537] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[563] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[589] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[615] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[641] = (T)(img)(_n5##x,_n12##y,z,c)), \
+ (I[667] = (T)(img)(_n5##x,_n13##y,z,c)), \
+ (I[18] = (T)(img)(_n6##x,_p12##y,z,c)), \
+ (I[44] = (T)(img)(_n6##x,_p11##y,z,c)), \
+ (I[70] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[96] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[122] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[148] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[174] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[200] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[226] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[252] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[278] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[304] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[330] = (T)(img)(_n6##x,y,z,c)), \
+ (I[356] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[382] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[408] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[434] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[460] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[486] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[512] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[538] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[564] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[590] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[616] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[642] = (T)(img)(_n6##x,_n12##y,z,c)), \
+ (I[668] = (T)(img)(_n6##x,_n13##y,z,c)), \
+ (I[19] = (T)(img)(_n7##x,_p12##y,z,c)), \
+ (I[45] = (T)(img)(_n7##x,_p11##y,z,c)), \
+ (I[71] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[97] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[123] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[149] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[175] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[201] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[227] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[253] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[279] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[305] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[331] = (T)(img)(_n7##x,y,z,c)), \
+ (I[357] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[383] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[409] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[435] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[461] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[487] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[513] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[539] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[565] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[591] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[617] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[643] = (T)(img)(_n7##x,_n12##y,z,c)), \
+ (I[669] = (T)(img)(_n7##x,_n13##y,z,c)), \
+ (I[20] = (T)(img)(_n8##x,_p12##y,z,c)), \
+ (I[46] = (T)(img)(_n8##x,_p11##y,z,c)), \
+ (I[72] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[98] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[124] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[150] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[176] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[202] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[228] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[254] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[280] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[306] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[332] = (T)(img)(_n8##x,y,z,c)), \
+ (I[358] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[384] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[410] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[436] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[462] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[488] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[514] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[540] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[566] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[592] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[618] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[644] = (T)(img)(_n8##x,_n12##y,z,c)), \
+ (I[670] = (T)(img)(_n8##x,_n13##y,z,c)), \
+ (I[21] = (T)(img)(_n9##x,_p12##y,z,c)), \
+ (I[47] = (T)(img)(_n9##x,_p11##y,z,c)), \
+ (I[73] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[99] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[125] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[151] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[177] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[203] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[229] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[255] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[281] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[307] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[333] = (T)(img)(_n9##x,y,z,c)), \
+ (I[359] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[385] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[411] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[437] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[463] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[489] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[515] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[541] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[567] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[593] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[619] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[645] = (T)(img)(_n9##x,_n12##y,z,c)), \
+ (I[671] = (T)(img)(_n9##x,_n13##y,z,c)), \
+ (I[22] = (T)(img)(_n10##x,_p12##y,z,c)), \
+ (I[48] = (T)(img)(_n10##x,_p11##y,z,c)), \
+ (I[74] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[100] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[126] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[152] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[178] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[204] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[230] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[256] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[282] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[308] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[334] = (T)(img)(_n10##x,y,z,c)), \
+ (I[360] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[386] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[412] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[438] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[464] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[490] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[516] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[542] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[568] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[594] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[620] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ (I[646] = (T)(img)(_n10##x,_n12##y,z,c)), \
+ (I[672] = (T)(img)(_n10##x,_n13##y,z,c)), \
+ (I[23] = (T)(img)(_n11##x,_p12##y,z,c)), \
+ (I[49] = (T)(img)(_n11##x,_p11##y,z,c)), \
+ (I[75] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[101] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[127] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[153] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[179] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[205] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[231] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[257] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[283] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[309] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[335] = (T)(img)(_n11##x,y,z,c)), \
+ (I[361] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[387] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[413] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[439] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[465] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[491] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[517] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[543] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[569] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[595] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[621] = (T)(img)(_n11##x,_n11##y,z,c)), \
+ (I[647] = (T)(img)(_n11##x,_n12##y,z,c)), \
+ (I[673] = (T)(img)(_n11##x,_n13##y,z,c)), \
+ (I[24] = (T)(img)(_n12##x,_p12##y,z,c)), \
+ (I[50] = (T)(img)(_n12##x,_p11##y,z,c)), \
+ (I[76] = (T)(img)(_n12##x,_p10##y,z,c)), \
+ (I[102] = (T)(img)(_n12##x,_p9##y,z,c)), \
+ (I[128] = (T)(img)(_n12##x,_p8##y,z,c)), \
+ (I[154] = (T)(img)(_n12##x,_p7##y,z,c)), \
+ (I[180] = (T)(img)(_n12##x,_p6##y,z,c)), \
+ (I[206] = (T)(img)(_n12##x,_p5##y,z,c)), \
+ (I[232] = (T)(img)(_n12##x,_p4##y,z,c)), \
+ (I[258] = (T)(img)(_n12##x,_p3##y,z,c)), \
+ (I[284] = (T)(img)(_n12##x,_p2##y,z,c)), \
+ (I[310] = (T)(img)(_n12##x,_p1##y,z,c)), \
+ (I[336] = (T)(img)(_n12##x,y,z,c)), \
+ (I[362] = (T)(img)(_n12##x,_n1##y,z,c)), \
+ (I[388] = (T)(img)(_n12##x,_n2##y,z,c)), \
+ (I[414] = (T)(img)(_n12##x,_n3##y,z,c)), \
+ (I[440] = (T)(img)(_n12##x,_n4##y,z,c)), \
+ (I[466] = (T)(img)(_n12##x,_n5##y,z,c)), \
+ (I[492] = (T)(img)(_n12##x,_n6##y,z,c)), \
+ (I[518] = (T)(img)(_n12##x,_n7##y,z,c)), \
+ (I[544] = (T)(img)(_n12##x,_n8##y,z,c)), \
+ (I[570] = (T)(img)(_n12##x,_n9##y,z,c)), \
+ (I[596] = (T)(img)(_n12##x,_n10##y,z,c)), \
+ (I[622] = (T)(img)(_n12##x,_n11##y,z,c)), \
+ (I[648] = (T)(img)(_n12##x,_n12##y,z,c)), \
+ (I[674] = (T)(img)(_n12##x,_n13##y,z,c)), \
+ 13>=((img)._width)?(img).width() - 1:13); \
+ (_n13##x<(img).width() && ( \
+ (I[25] = (T)(img)(_n13##x,_p12##y,z,c)), \
+ (I[51] = (T)(img)(_n13##x,_p11##y,z,c)), \
+ (I[77] = (T)(img)(_n13##x,_p10##y,z,c)), \
+ (I[103] = (T)(img)(_n13##x,_p9##y,z,c)), \
+ (I[129] = (T)(img)(_n13##x,_p8##y,z,c)), \
+ (I[155] = (T)(img)(_n13##x,_p7##y,z,c)), \
+ (I[181] = (T)(img)(_n13##x,_p6##y,z,c)), \
+ (I[207] = (T)(img)(_n13##x,_p5##y,z,c)), \
+ (I[233] = (T)(img)(_n13##x,_p4##y,z,c)), \
+ (I[259] = (T)(img)(_n13##x,_p3##y,z,c)), \
+ (I[285] = (T)(img)(_n13##x,_p2##y,z,c)), \
+ (I[311] = (T)(img)(_n13##x,_p1##y,z,c)), \
+ (I[337] = (T)(img)(_n13##x,y,z,c)), \
+ (I[363] = (T)(img)(_n13##x,_n1##y,z,c)), \
+ (I[389] = (T)(img)(_n13##x,_n2##y,z,c)), \
+ (I[415] = (T)(img)(_n13##x,_n3##y,z,c)), \
+ (I[441] = (T)(img)(_n13##x,_n4##y,z,c)), \
+ (I[467] = (T)(img)(_n13##x,_n5##y,z,c)), \
+ (I[493] = (T)(img)(_n13##x,_n6##y,z,c)), \
+ (I[519] = (T)(img)(_n13##x,_n7##y,z,c)), \
+ (I[545] = (T)(img)(_n13##x,_n8##y,z,c)), \
+ (I[571] = (T)(img)(_n13##x,_n9##y,z,c)), \
+ (I[597] = (T)(img)(_n13##x,_n10##y,z,c)), \
+ (I[623] = (T)(img)(_n13##x,_n11##y,z,c)), \
+ (I[649] = (T)(img)(_n13##x,_n12##y,z,c)), \
+ (I[675] = (T)(img)(_n13##x,_n13##y,z,c)),1)) || \
+ _n12##x==--_n13##x || _n11##x==--_n12##x || _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n13##x = _n12##x = _n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], \
+ I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], \
+ I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], \
+ I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], \
+ I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], \
+ I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], \
+ I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], \
+ I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], \
+ I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], \
+ I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], \
+ I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], \
+ I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], \
+ I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], \
+ I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], I[359] = I[360], I[360] = I[361], I[361] = I[362], I[362] = I[363], \
+ I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], I[376] = I[377], I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], \
+ I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], I[399] = I[400], I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], \
+ I[416] = I[417], I[417] = I[418], I[418] = I[419], I[419] = I[420], I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], I[431] = I[432], I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], I[439] = I[440], I[440] = I[441], \
+ I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], I[447] = I[448], I[448] = I[449], I[449] = I[450], I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], I[455] = I[456], I[456] = I[457], I[457] = I[458], I[458] = I[459], I[459] = I[460], I[460] = I[461], I[461] = I[462], I[462] = I[463], I[463] = I[464], I[464] = I[465], I[465] = I[466], I[466] = I[467], \
+ I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], I[474] = I[475], I[475] = I[476], I[476] = I[477], I[477] = I[478], I[478] = I[479], I[479] = I[480], I[480] = I[481], I[481] = I[482], I[482] = I[483], I[483] = I[484], I[484] = I[485], I[485] = I[486], I[486] = I[487], I[487] = I[488], I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], I[492] = I[493], \
+ I[494] = I[495], I[495] = I[496], I[496] = I[497], I[497] = I[498], I[498] = I[499], I[499] = I[500], I[500] = I[501], I[501] = I[502], I[502] = I[503], I[503] = I[504], I[504] = I[505], I[505] = I[506], I[506] = I[507], I[507] = I[508], I[508] = I[509], I[509] = I[510], I[510] = I[511], I[511] = I[512], I[512] = I[513], I[513] = I[514], I[514] = I[515], I[515] = I[516], I[516] = I[517], I[517] = I[518], I[518] = I[519], \
+ I[520] = I[521], I[521] = I[522], I[522] = I[523], I[523] = I[524], I[524] = I[525], I[525] = I[526], I[526] = I[527], I[527] = I[528], I[528] = I[529], I[529] = I[530], I[530] = I[531], I[531] = I[532], I[532] = I[533], I[533] = I[534], I[534] = I[535], I[535] = I[536], I[536] = I[537], I[537] = I[538], I[538] = I[539], I[539] = I[540], I[540] = I[541], I[541] = I[542], I[542] = I[543], I[543] = I[544], I[544] = I[545], \
+ I[546] = I[547], I[547] = I[548], I[548] = I[549], I[549] = I[550], I[550] = I[551], I[551] = I[552], I[552] = I[553], I[553] = I[554], I[554] = I[555], I[555] = I[556], I[556] = I[557], I[557] = I[558], I[558] = I[559], I[559] = I[560], I[560] = I[561], I[561] = I[562], I[562] = I[563], I[563] = I[564], I[564] = I[565], I[565] = I[566], I[566] = I[567], I[567] = I[568], I[568] = I[569], I[569] = I[570], I[570] = I[571], \
+ I[572] = I[573], I[573] = I[574], I[574] = I[575], I[575] = I[576], I[576] = I[577], I[577] = I[578], I[578] = I[579], I[579] = I[580], I[580] = I[581], I[581] = I[582], I[582] = I[583], I[583] = I[584], I[584] = I[585], I[585] = I[586], I[586] = I[587], I[587] = I[588], I[588] = I[589], I[589] = I[590], I[590] = I[591], I[591] = I[592], I[592] = I[593], I[593] = I[594], I[594] = I[595], I[595] = I[596], I[596] = I[597], \
+ I[598] = I[599], I[599] = I[600], I[600] = I[601], I[601] = I[602], I[602] = I[603], I[603] = I[604], I[604] = I[605], I[605] = I[606], I[606] = I[607], I[607] = I[608], I[608] = I[609], I[609] = I[610], I[610] = I[611], I[611] = I[612], I[612] = I[613], I[613] = I[614], I[614] = I[615], I[615] = I[616], I[616] = I[617], I[617] = I[618], I[618] = I[619], I[619] = I[620], I[620] = I[621], I[621] = I[622], I[622] = I[623], \
+ I[624] = I[625], I[625] = I[626], I[626] = I[627], I[627] = I[628], I[628] = I[629], I[629] = I[630], I[630] = I[631], I[631] = I[632], I[632] = I[633], I[633] = I[634], I[634] = I[635], I[635] = I[636], I[636] = I[637], I[637] = I[638], I[638] = I[639], I[639] = I[640], I[640] = I[641], I[641] = I[642], I[642] = I[643], I[643] = I[644], I[644] = I[645], I[645] = I[646], I[646] = I[647], I[647] = I[648], I[648] = I[649], \
+ I[650] = I[651], I[651] = I[652], I[652] = I[653], I[653] = I[654], I[654] = I[655], I[655] = I[656], I[656] = I[657], I[657] = I[658], I[658] = I[659], I[659] = I[660], I[660] = I[661], I[661] = I[662], I[662] = I[663], I[663] = I[664], I[664] = I[665], I[665] = I[666], I[666] = I[667], I[667] = I[668], I[668] = I[669], I[669] = I[670], I[670] = I[671], I[671] = I[672], I[672] = I[673], I[673] = I[674], I[674] = I[675], \
+ _p12##x = _p11##x, _p11##x = _p10##x, _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x, ++_n12##x, ++_n13##x)
+
+#define cimg_for_in26x26(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in26((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p12##x = x - 12<0?0:x - 12, \
+ _p11##x = x - 11<0?0:x - 11, \
+ _p10##x = x - 10<0?0:x - 10, \
+ _p9##x = x - 9<0?0:x - 9, \
+ _p8##x = x - 8<0?0:x - 8, \
+ _p7##x = x - 7<0?0:x - 7, \
+ _p6##x = x - 6<0?0:x - 6, \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = x + 5>=(img).width()?(img).width() - 1:x + 5, \
+ _n6##x = x + 6>=(img).width()?(img).width() - 1:x + 6, \
+ _n7##x = x + 7>=(img).width()?(img).width() - 1:x + 7, \
+ _n8##x = x + 8>=(img).width()?(img).width() - 1:x + 8, \
+ _n9##x = x + 9>=(img).width()?(img).width() - 1:x + 9, \
+ _n10##x = x + 10>=(img).width()?(img).width() - 1:x + 10, \
+ _n11##x = x + 11>=(img).width()?(img).width() - 1:x + 11, \
+ _n12##x = x + 12>=(img).width()?(img).width() - 1:x + 12, \
+ _n13##x = (int)( \
+ (I[0] = (T)(img)(_p12##x,_p12##y,z,c)), \
+ (I[26] = (T)(img)(_p12##x,_p11##y,z,c)), \
+ (I[52] = (T)(img)(_p12##x,_p10##y,z,c)), \
+ (I[78] = (T)(img)(_p12##x,_p9##y,z,c)), \
+ (I[104] = (T)(img)(_p12##x,_p8##y,z,c)), \
+ (I[130] = (T)(img)(_p12##x,_p7##y,z,c)), \
+ (I[156] = (T)(img)(_p12##x,_p6##y,z,c)), \
+ (I[182] = (T)(img)(_p12##x,_p5##y,z,c)), \
+ (I[208] = (T)(img)(_p12##x,_p4##y,z,c)), \
+ (I[234] = (T)(img)(_p12##x,_p3##y,z,c)), \
+ (I[260] = (T)(img)(_p12##x,_p2##y,z,c)), \
+ (I[286] = (T)(img)(_p12##x,_p1##y,z,c)), \
+ (I[312] = (T)(img)(_p12##x,y,z,c)), \
+ (I[338] = (T)(img)(_p12##x,_n1##y,z,c)), \
+ (I[364] = (T)(img)(_p12##x,_n2##y,z,c)), \
+ (I[390] = (T)(img)(_p12##x,_n3##y,z,c)), \
+ (I[416] = (T)(img)(_p12##x,_n4##y,z,c)), \
+ (I[442] = (T)(img)(_p12##x,_n5##y,z,c)), \
+ (I[468] = (T)(img)(_p12##x,_n6##y,z,c)), \
+ (I[494] = (T)(img)(_p12##x,_n7##y,z,c)), \
+ (I[520] = (T)(img)(_p12##x,_n8##y,z,c)), \
+ (I[546] = (T)(img)(_p12##x,_n9##y,z,c)), \
+ (I[572] = (T)(img)(_p12##x,_n10##y,z,c)), \
+ (I[598] = (T)(img)(_p12##x,_n11##y,z,c)), \
+ (I[624] = (T)(img)(_p12##x,_n12##y,z,c)), \
+ (I[650] = (T)(img)(_p12##x,_n13##y,z,c)), \
+ (I[1] = (T)(img)(_p11##x,_p12##y,z,c)), \
+ (I[27] = (T)(img)(_p11##x,_p11##y,z,c)), \
+ (I[53] = (T)(img)(_p11##x,_p10##y,z,c)), \
+ (I[79] = (T)(img)(_p11##x,_p9##y,z,c)), \
+ (I[105] = (T)(img)(_p11##x,_p8##y,z,c)), \
+ (I[131] = (T)(img)(_p11##x,_p7##y,z,c)), \
+ (I[157] = (T)(img)(_p11##x,_p6##y,z,c)), \
+ (I[183] = (T)(img)(_p11##x,_p5##y,z,c)), \
+ (I[209] = (T)(img)(_p11##x,_p4##y,z,c)), \
+ (I[235] = (T)(img)(_p11##x,_p3##y,z,c)), \
+ (I[261] = (T)(img)(_p11##x,_p2##y,z,c)), \
+ (I[287] = (T)(img)(_p11##x,_p1##y,z,c)), \
+ (I[313] = (T)(img)(_p11##x,y,z,c)), \
+ (I[339] = (T)(img)(_p11##x,_n1##y,z,c)), \
+ (I[365] = (T)(img)(_p11##x,_n2##y,z,c)), \
+ (I[391] = (T)(img)(_p11##x,_n3##y,z,c)), \
+ (I[417] = (T)(img)(_p11##x,_n4##y,z,c)), \
+ (I[443] = (T)(img)(_p11##x,_n5##y,z,c)), \
+ (I[469] = (T)(img)(_p11##x,_n6##y,z,c)), \
+ (I[495] = (T)(img)(_p11##x,_n7##y,z,c)), \
+ (I[521] = (T)(img)(_p11##x,_n8##y,z,c)), \
+ (I[547] = (T)(img)(_p11##x,_n9##y,z,c)), \
+ (I[573] = (T)(img)(_p11##x,_n10##y,z,c)), \
+ (I[599] = (T)(img)(_p11##x,_n11##y,z,c)), \
+ (I[625] = (T)(img)(_p11##x,_n12##y,z,c)), \
+ (I[651] = (T)(img)(_p11##x,_n13##y,z,c)), \
+ (I[2] = (T)(img)(_p10##x,_p12##y,z,c)), \
+ (I[28] = (T)(img)(_p10##x,_p11##y,z,c)), \
+ (I[54] = (T)(img)(_p10##x,_p10##y,z,c)), \
+ (I[80] = (T)(img)(_p10##x,_p9##y,z,c)), \
+ (I[106] = (T)(img)(_p10##x,_p8##y,z,c)), \
+ (I[132] = (T)(img)(_p10##x,_p7##y,z,c)), \
+ (I[158] = (T)(img)(_p10##x,_p6##y,z,c)), \
+ (I[184] = (T)(img)(_p10##x,_p5##y,z,c)), \
+ (I[210] = (T)(img)(_p10##x,_p4##y,z,c)), \
+ (I[236] = (T)(img)(_p10##x,_p3##y,z,c)), \
+ (I[262] = (T)(img)(_p10##x,_p2##y,z,c)), \
+ (I[288] = (T)(img)(_p10##x,_p1##y,z,c)), \
+ (I[314] = (T)(img)(_p10##x,y,z,c)), \
+ (I[340] = (T)(img)(_p10##x,_n1##y,z,c)), \
+ (I[366] = (T)(img)(_p10##x,_n2##y,z,c)), \
+ (I[392] = (T)(img)(_p10##x,_n3##y,z,c)), \
+ (I[418] = (T)(img)(_p10##x,_n4##y,z,c)), \
+ (I[444] = (T)(img)(_p10##x,_n5##y,z,c)), \
+ (I[470] = (T)(img)(_p10##x,_n6##y,z,c)), \
+ (I[496] = (T)(img)(_p10##x,_n7##y,z,c)), \
+ (I[522] = (T)(img)(_p10##x,_n8##y,z,c)), \
+ (I[548] = (T)(img)(_p10##x,_n9##y,z,c)), \
+ (I[574] = (T)(img)(_p10##x,_n10##y,z,c)), \
+ (I[600] = (T)(img)(_p10##x,_n11##y,z,c)), \
+ (I[626] = (T)(img)(_p10##x,_n12##y,z,c)), \
+ (I[652] = (T)(img)(_p10##x,_n13##y,z,c)), \
+ (I[3] = (T)(img)(_p9##x,_p12##y,z,c)), \
+ (I[29] = (T)(img)(_p9##x,_p11##y,z,c)), \
+ (I[55] = (T)(img)(_p9##x,_p10##y,z,c)), \
+ (I[81] = (T)(img)(_p9##x,_p9##y,z,c)), \
+ (I[107] = (T)(img)(_p9##x,_p8##y,z,c)), \
+ (I[133] = (T)(img)(_p9##x,_p7##y,z,c)), \
+ (I[159] = (T)(img)(_p9##x,_p6##y,z,c)), \
+ (I[185] = (T)(img)(_p9##x,_p5##y,z,c)), \
+ (I[211] = (T)(img)(_p9##x,_p4##y,z,c)), \
+ (I[237] = (T)(img)(_p9##x,_p3##y,z,c)), \
+ (I[263] = (T)(img)(_p9##x,_p2##y,z,c)), \
+ (I[289] = (T)(img)(_p9##x,_p1##y,z,c)), \
+ (I[315] = (T)(img)(_p9##x,y,z,c)), \
+ (I[341] = (T)(img)(_p9##x,_n1##y,z,c)), \
+ (I[367] = (T)(img)(_p9##x,_n2##y,z,c)), \
+ (I[393] = (T)(img)(_p9##x,_n3##y,z,c)), \
+ (I[419] = (T)(img)(_p9##x,_n4##y,z,c)), \
+ (I[445] = (T)(img)(_p9##x,_n5##y,z,c)), \
+ (I[471] = (T)(img)(_p9##x,_n6##y,z,c)), \
+ (I[497] = (T)(img)(_p9##x,_n7##y,z,c)), \
+ (I[523] = (T)(img)(_p9##x,_n8##y,z,c)), \
+ (I[549] = (T)(img)(_p9##x,_n9##y,z,c)), \
+ (I[575] = (T)(img)(_p9##x,_n10##y,z,c)), \
+ (I[601] = (T)(img)(_p9##x,_n11##y,z,c)), \
+ (I[627] = (T)(img)(_p9##x,_n12##y,z,c)), \
+ (I[653] = (T)(img)(_p9##x,_n13##y,z,c)), \
+ (I[4] = (T)(img)(_p8##x,_p12##y,z,c)), \
+ (I[30] = (T)(img)(_p8##x,_p11##y,z,c)), \
+ (I[56] = (T)(img)(_p8##x,_p10##y,z,c)), \
+ (I[82] = (T)(img)(_p8##x,_p9##y,z,c)), \
+ (I[108] = (T)(img)(_p8##x,_p8##y,z,c)), \
+ (I[134] = (T)(img)(_p8##x,_p7##y,z,c)), \
+ (I[160] = (T)(img)(_p8##x,_p6##y,z,c)), \
+ (I[186] = (T)(img)(_p8##x,_p5##y,z,c)), \
+ (I[212] = (T)(img)(_p8##x,_p4##y,z,c)), \
+ (I[238] = (T)(img)(_p8##x,_p3##y,z,c)), \
+ (I[264] = (T)(img)(_p8##x,_p2##y,z,c)), \
+ (I[290] = (T)(img)(_p8##x,_p1##y,z,c)), \
+ (I[316] = (T)(img)(_p8##x,y,z,c)), \
+ (I[342] = (T)(img)(_p8##x,_n1##y,z,c)), \
+ (I[368] = (T)(img)(_p8##x,_n2##y,z,c)), \
+ (I[394] = (T)(img)(_p8##x,_n3##y,z,c)), \
+ (I[420] = (T)(img)(_p8##x,_n4##y,z,c)), \
+ (I[446] = (T)(img)(_p8##x,_n5##y,z,c)), \
+ (I[472] = (T)(img)(_p8##x,_n6##y,z,c)), \
+ (I[498] = (T)(img)(_p8##x,_n7##y,z,c)), \
+ (I[524] = (T)(img)(_p8##x,_n8##y,z,c)), \
+ (I[550] = (T)(img)(_p8##x,_n9##y,z,c)), \
+ (I[576] = (T)(img)(_p8##x,_n10##y,z,c)), \
+ (I[602] = (T)(img)(_p8##x,_n11##y,z,c)), \
+ (I[628] = (T)(img)(_p8##x,_n12##y,z,c)), \
+ (I[654] = (T)(img)(_p8##x,_n13##y,z,c)), \
+ (I[5] = (T)(img)(_p7##x,_p12##y,z,c)), \
+ (I[31] = (T)(img)(_p7##x,_p11##y,z,c)), \
+ (I[57] = (T)(img)(_p7##x,_p10##y,z,c)), \
+ (I[83] = (T)(img)(_p7##x,_p9##y,z,c)), \
+ (I[109] = (T)(img)(_p7##x,_p8##y,z,c)), \
+ (I[135] = (T)(img)(_p7##x,_p7##y,z,c)), \
+ (I[161] = (T)(img)(_p7##x,_p6##y,z,c)), \
+ (I[187] = (T)(img)(_p7##x,_p5##y,z,c)), \
+ (I[213] = (T)(img)(_p7##x,_p4##y,z,c)), \
+ (I[239] = (T)(img)(_p7##x,_p3##y,z,c)), \
+ (I[265] = (T)(img)(_p7##x,_p2##y,z,c)), \
+ (I[291] = (T)(img)(_p7##x,_p1##y,z,c)), \
+ (I[317] = (T)(img)(_p7##x,y,z,c)), \
+ (I[343] = (T)(img)(_p7##x,_n1##y,z,c)), \
+ (I[369] = (T)(img)(_p7##x,_n2##y,z,c)), \
+ (I[395] = (T)(img)(_p7##x,_n3##y,z,c)), \
+ (I[421] = (T)(img)(_p7##x,_n4##y,z,c)), \
+ (I[447] = (T)(img)(_p7##x,_n5##y,z,c)), \
+ (I[473] = (T)(img)(_p7##x,_n6##y,z,c)), \
+ (I[499] = (T)(img)(_p7##x,_n7##y,z,c)), \
+ (I[525] = (T)(img)(_p7##x,_n8##y,z,c)), \
+ (I[551] = (T)(img)(_p7##x,_n9##y,z,c)), \
+ (I[577] = (T)(img)(_p7##x,_n10##y,z,c)), \
+ (I[603] = (T)(img)(_p7##x,_n11##y,z,c)), \
+ (I[629] = (T)(img)(_p7##x,_n12##y,z,c)), \
+ (I[655] = (T)(img)(_p7##x,_n13##y,z,c)), \
+ (I[6] = (T)(img)(_p6##x,_p12##y,z,c)), \
+ (I[32] = (T)(img)(_p6##x,_p11##y,z,c)), \
+ (I[58] = (T)(img)(_p6##x,_p10##y,z,c)), \
+ (I[84] = (T)(img)(_p6##x,_p9##y,z,c)), \
+ (I[110] = (T)(img)(_p6##x,_p8##y,z,c)), \
+ (I[136] = (T)(img)(_p6##x,_p7##y,z,c)), \
+ (I[162] = (T)(img)(_p6##x,_p6##y,z,c)), \
+ (I[188] = (T)(img)(_p6##x,_p5##y,z,c)), \
+ (I[214] = (T)(img)(_p6##x,_p4##y,z,c)), \
+ (I[240] = (T)(img)(_p6##x,_p3##y,z,c)), \
+ (I[266] = (T)(img)(_p6##x,_p2##y,z,c)), \
+ (I[292] = (T)(img)(_p6##x,_p1##y,z,c)), \
+ (I[318] = (T)(img)(_p6##x,y,z,c)), \
+ (I[344] = (T)(img)(_p6##x,_n1##y,z,c)), \
+ (I[370] = (T)(img)(_p6##x,_n2##y,z,c)), \
+ (I[396] = (T)(img)(_p6##x,_n3##y,z,c)), \
+ (I[422] = (T)(img)(_p6##x,_n4##y,z,c)), \
+ (I[448] = (T)(img)(_p6##x,_n5##y,z,c)), \
+ (I[474] = (T)(img)(_p6##x,_n6##y,z,c)), \
+ (I[500] = (T)(img)(_p6##x,_n7##y,z,c)), \
+ (I[526] = (T)(img)(_p6##x,_n8##y,z,c)), \
+ (I[552] = (T)(img)(_p6##x,_n9##y,z,c)), \
+ (I[578] = (T)(img)(_p6##x,_n10##y,z,c)), \
+ (I[604] = (T)(img)(_p6##x,_n11##y,z,c)), \
+ (I[630] = (T)(img)(_p6##x,_n12##y,z,c)), \
+ (I[656] = (T)(img)(_p6##x,_n13##y,z,c)), \
+ (I[7] = (T)(img)(_p5##x,_p12##y,z,c)), \
+ (I[33] = (T)(img)(_p5##x,_p11##y,z,c)), \
+ (I[59] = (T)(img)(_p5##x,_p10##y,z,c)), \
+ (I[85] = (T)(img)(_p5##x,_p9##y,z,c)), \
+ (I[111] = (T)(img)(_p5##x,_p8##y,z,c)), \
+ (I[137] = (T)(img)(_p5##x,_p7##y,z,c)), \
+ (I[163] = (T)(img)(_p5##x,_p6##y,z,c)), \
+ (I[189] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[215] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[241] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[267] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[293] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[319] = (T)(img)(_p5##x,y,z,c)), \
+ (I[345] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[371] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[397] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[423] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[449] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[475] = (T)(img)(_p5##x,_n6##y,z,c)), \
+ (I[501] = (T)(img)(_p5##x,_n7##y,z,c)), \
+ (I[527] = (T)(img)(_p5##x,_n8##y,z,c)), \
+ (I[553] = (T)(img)(_p5##x,_n9##y,z,c)), \
+ (I[579] = (T)(img)(_p5##x,_n10##y,z,c)), \
+ (I[605] = (T)(img)(_p5##x,_n11##y,z,c)), \
+ (I[631] = (T)(img)(_p5##x,_n12##y,z,c)), \
+ (I[657] = (T)(img)(_p5##x,_n13##y,z,c)), \
+ (I[8] = (T)(img)(_p4##x,_p12##y,z,c)), \
+ (I[34] = (T)(img)(_p4##x,_p11##y,z,c)), \
+ (I[60] = (T)(img)(_p4##x,_p10##y,z,c)), \
+ (I[86] = (T)(img)(_p4##x,_p9##y,z,c)), \
+ (I[112] = (T)(img)(_p4##x,_p8##y,z,c)), \
+ (I[138] = (T)(img)(_p4##x,_p7##y,z,c)), \
+ (I[164] = (T)(img)(_p4##x,_p6##y,z,c)), \
+ (I[190] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[216] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[242] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[268] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[294] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[320] = (T)(img)(_p4##x,y,z,c)), \
+ (I[346] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[372] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[398] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[424] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[450] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[476] = (T)(img)(_p4##x,_n6##y,z,c)), \
+ (I[502] = (T)(img)(_p4##x,_n7##y,z,c)), \
+ (I[528] = (T)(img)(_p4##x,_n8##y,z,c)), \
+ (I[554] = (T)(img)(_p4##x,_n9##y,z,c)), \
+ (I[580] = (T)(img)(_p4##x,_n10##y,z,c)), \
+ (I[606] = (T)(img)(_p4##x,_n11##y,z,c)), \
+ (I[632] = (T)(img)(_p4##x,_n12##y,z,c)), \
+ (I[658] = (T)(img)(_p4##x,_n13##y,z,c)), \
+ (I[9] = (T)(img)(_p3##x,_p12##y,z,c)), \
+ (I[35] = (T)(img)(_p3##x,_p11##y,z,c)), \
+ (I[61] = (T)(img)(_p3##x,_p10##y,z,c)), \
+ (I[87] = (T)(img)(_p3##x,_p9##y,z,c)), \
+ (I[113] = (T)(img)(_p3##x,_p8##y,z,c)), \
+ (I[139] = (T)(img)(_p3##x,_p7##y,z,c)), \
+ (I[165] = (T)(img)(_p3##x,_p6##y,z,c)), \
+ (I[191] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[217] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[243] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[269] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[295] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[321] = (T)(img)(_p3##x,y,z,c)), \
+ (I[347] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[373] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[399] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[425] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[451] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[477] = (T)(img)(_p3##x,_n6##y,z,c)), \
+ (I[503] = (T)(img)(_p3##x,_n7##y,z,c)), \
+ (I[529] = (T)(img)(_p3##x,_n8##y,z,c)), \
+ (I[555] = (T)(img)(_p3##x,_n9##y,z,c)), \
+ (I[581] = (T)(img)(_p3##x,_n10##y,z,c)), \
+ (I[607] = (T)(img)(_p3##x,_n11##y,z,c)), \
+ (I[633] = (T)(img)(_p3##x,_n12##y,z,c)), \
+ (I[659] = (T)(img)(_p3##x,_n13##y,z,c)), \
+ (I[10] = (T)(img)(_p2##x,_p12##y,z,c)), \
+ (I[36] = (T)(img)(_p2##x,_p11##y,z,c)), \
+ (I[62] = (T)(img)(_p2##x,_p10##y,z,c)), \
+ (I[88] = (T)(img)(_p2##x,_p9##y,z,c)), \
+ (I[114] = (T)(img)(_p2##x,_p8##y,z,c)), \
+ (I[140] = (T)(img)(_p2##x,_p7##y,z,c)), \
+ (I[166] = (T)(img)(_p2##x,_p6##y,z,c)), \
+ (I[192] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[218] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[244] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[270] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[296] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[322] = (T)(img)(_p2##x,y,z,c)), \
+ (I[348] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[374] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[400] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[426] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[452] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[478] = (T)(img)(_p2##x,_n6##y,z,c)), \
+ (I[504] = (T)(img)(_p2##x,_n7##y,z,c)), \
+ (I[530] = (T)(img)(_p2##x,_n8##y,z,c)), \
+ (I[556] = (T)(img)(_p2##x,_n9##y,z,c)), \
+ (I[582] = (T)(img)(_p2##x,_n10##y,z,c)), \
+ (I[608] = (T)(img)(_p2##x,_n11##y,z,c)), \
+ (I[634] = (T)(img)(_p2##x,_n12##y,z,c)), \
+ (I[660] = (T)(img)(_p2##x,_n13##y,z,c)), \
+ (I[11] = (T)(img)(_p1##x,_p12##y,z,c)), \
+ (I[37] = (T)(img)(_p1##x,_p11##y,z,c)), \
+ (I[63] = (T)(img)(_p1##x,_p10##y,z,c)), \
+ (I[89] = (T)(img)(_p1##x,_p9##y,z,c)), \
+ (I[115] = (T)(img)(_p1##x,_p8##y,z,c)), \
+ (I[141] = (T)(img)(_p1##x,_p7##y,z,c)), \
+ (I[167] = (T)(img)(_p1##x,_p6##y,z,c)), \
+ (I[193] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[219] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[245] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[271] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[297] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[323] = (T)(img)(_p1##x,y,z,c)), \
+ (I[349] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[375] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[401] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[427] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[453] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[479] = (T)(img)(_p1##x,_n6##y,z,c)), \
+ (I[505] = (T)(img)(_p1##x,_n7##y,z,c)), \
+ (I[531] = (T)(img)(_p1##x,_n8##y,z,c)), \
+ (I[557] = (T)(img)(_p1##x,_n9##y,z,c)), \
+ (I[583] = (T)(img)(_p1##x,_n10##y,z,c)), \
+ (I[609] = (T)(img)(_p1##x,_n11##y,z,c)), \
+ (I[635] = (T)(img)(_p1##x,_n12##y,z,c)), \
+ (I[661] = (T)(img)(_p1##x,_n13##y,z,c)), \
+ (I[12] = (T)(img)(x,_p12##y,z,c)), \
+ (I[38] = (T)(img)(x,_p11##y,z,c)), \
+ (I[64] = (T)(img)(x,_p10##y,z,c)), \
+ (I[90] = (T)(img)(x,_p9##y,z,c)), \
+ (I[116] = (T)(img)(x,_p8##y,z,c)), \
+ (I[142] = (T)(img)(x,_p7##y,z,c)), \
+ (I[168] = (T)(img)(x,_p6##y,z,c)), \
+ (I[194] = (T)(img)(x,_p5##y,z,c)), \
+ (I[220] = (T)(img)(x,_p4##y,z,c)), \
+ (I[246] = (T)(img)(x,_p3##y,z,c)), \
+ (I[272] = (T)(img)(x,_p2##y,z,c)), \
+ (I[298] = (T)(img)(x,_p1##y,z,c)), \
+ (I[324] = (T)(img)(x,y,z,c)), \
+ (I[350] = (T)(img)(x,_n1##y,z,c)), \
+ (I[376] = (T)(img)(x,_n2##y,z,c)), \
+ (I[402] = (T)(img)(x,_n3##y,z,c)), \
+ (I[428] = (T)(img)(x,_n4##y,z,c)), \
+ (I[454] = (T)(img)(x,_n5##y,z,c)), \
+ (I[480] = (T)(img)(x,_n6##y,z,c)), \
+ (I[506] = (T)(img)(x,_n7##y,z,c)), \
+ (I[532] = (T)(img)(x,_n8##y,z,c)), \
+ (I[558] = (T)(img)(x,_n9##y,z,c)), \
+ (I[584] = (T)(img)(x,_n10##y,z,c)), \
+ (I[610] = (T)(img)(x,_n11##y,z,c)), \
+ (I[636] = (T)(img)(x,_n12##y,z,c)), \
+ (I[662] = (T)(img)(x,_n13##y,z,c)), \
+ (I[13] = (T)(img)(_n1##x,_p12##y,z,c)), \
+ (I[39] = (T)(img)(_n1##x,_p11##y,z,c)), \
+ (I[65] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[91] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[117] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[143] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[169] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[195] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[221] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[247] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[273] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[299] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[325] = (T)(img)(_n1##x,y,z,c)), \
+ (I[351] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[377] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[403] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[429] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[455] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[481] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[507] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[533] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[559] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[585] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[611] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[637] = (T)(img)(_n1##x,_n12##y,z,c)), \
+ (I[663] = (T)(img)(_n1##x,_n13##y,z,c)), \
+ (I[14] = (T)(img)(_n2##x,_p12##y,z,c)), \
+ (I[40] = (T)(img)(_n2##x,_p11##y,z,c)), \
+ (I[66] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[92] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[118] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[144] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[170] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[196] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[222] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[248] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[274] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[300] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[326] = (T)(img)(_n2##x,y,z,c)), \
+ (I[352] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[378] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[404] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[430] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[456] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[482] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[508] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[534] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[560] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[586] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[612] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[638] = (T)(img)(_n2##x,_n12##y,z,c)), \
+ (I[664] = (T)(img)(_n2##x,_n13##y,z,c)), \
+ (I[15] = (T)(img)(_n3##x,_p12##y,z,c)), \
+ (I[41] = (T)(img)(_n3##x,_p11##y,z,c)), \
+ (I[67] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[93] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[119] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[145] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[171] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[197] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[223] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[249] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[275] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[301] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[327] = (T)(img)(_n3##x,y,z,c)), \
+ (I[353] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[379] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[405] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[431] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[457] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[483] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[509] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[535] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[561] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[587] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[613] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[639] = (T)(img)(_n3##x,_n12##y,z,c)), \
+ (I[665] = (T)(img)(_n3##x,_n13##y,z,c)), \
+ (I[16] = (T)(img)(_n4##x,_p12##y,z,c)), \
+ (I[42] = (T)(img)(_n4##x,_p11##y,z,c)), \
+ (I[68] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[94] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[120] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[146] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[172] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[198] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[224] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[250] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[276] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[302] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[328] = (T)(img)(_n4##x,y,z,c)), \
+ (I[354] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[380] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[406] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[432] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[458] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[484] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[510] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[536] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[562] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[588] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[614] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[640] = (T)(img)(_n4##x,_n12##y,z,c)), \
+ (I[666] = (T)(img)(_n4##x,_n13##y,z,c)), \
+ (I[17] = (T)(img)(_n5##x,_p12##y,z,c)), \
+ (I[43] = (T)(img)(_n5##x,_p11##y,z,c)), \
+ (I[69] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[95] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[121] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[147] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[173] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[199] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[225] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[251] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[277] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[303] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[329] = (T)(img)(_n5##x,y,z,c)), \
+ (I[355] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[381] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[407] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[433] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[459] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[485] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[511] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[537] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[563] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[589] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[615] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[641] = (T)(img)(_n5##x,_n12##y,z,c)), \
+ (I[667] = (T)(img)(_n5##x,_n13##y,z,c)), \
+ (I[18] = (T)(img)(_n6##x,_p12##y,z,c)), \
+ (I[44] = (T)(img)(_n6##x,_p11##y,z,c)), \
+ (I[70] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[96] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[122] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[148] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[174] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[200] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[226] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[252] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[278] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[304] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[330] = (T)(img)(_n6##x,y,z,c)), \
+ (I[356] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[382] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[408] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[434] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[460] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[486] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[512] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[538] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[564] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[590] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[616] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[642] = (T)(img)(_n6##x,_n12##y,z,c)), \
+ (I[668] = (T)(img)(_n6##x,_n13##y,z,c)), \
+ (I[19] = (T)(img)(_n7##x,_p12##y,z,c)), \
+ (I[45] = (T)(img)(_n7##x,_p11##y,z,c)), \
+ (I[71] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[97] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[123] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[149] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[175] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[201] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[227] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[253] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[279] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[305] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[331] = (T)(img)(_n7##x,y,z,c)), \
+ (I[357] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[383] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[409] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[435] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[461] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[487] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[513] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[539] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[565] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[591] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[617] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[643] = (T)(img)(_n7##x,_n12##y,z,c)), \
+ (I[669] = (T)(img)(_n7##x,_n13##y,z,c)), \
+ (I[20] = (T)(img)(_n8##x,_p12##y,z,c)), \
+ (I[46] = (T)(img)(_n8##x,_p11##y,z,c)), \
+ (I[72] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[98] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[124] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[150] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[176] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[202] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[228] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[254] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[280] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[306] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[332] = (T)(img)(_n8##x,y,z,c)), \
+ (I[358] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[384] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[410] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[436] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[462] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[488] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[514] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[540] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[566] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[592] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[618] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[644] = (T)(img)(_n8##x,_n12##y,z,c)), \
+ (I[670] = (T)(img)(_n8##x,_n13##y,z,c)), \
+ (I[21] = (T)(img)(_n9##x,_p12##y,z,c)), \
+ (I[47] = (T)(img)(_n9##x,_p11##y,z,c)), \
+ (I[73] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[99] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[125] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[151] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[177] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[203] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[229] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[255] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[281] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[307] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[333] = (T)(img)(_n9##x,y,z,c)), \
+ (I[359] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[385] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[411] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[437] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[463] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[489] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[515] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[541] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[567] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[593] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[619] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[645] = (T)(img)(_n9##x,_n12##y,z,c)), \
+ (I[671] = (T)(img)(_n9##x,_n13##y,z,c)), \
+ (I[22] = (T)(img)(_n10##x,_p12##y,z,c)), \
+ (I[48] = (T)(img)(_n10##x,_p11##y,z,c)), \
+ (I[74] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[100] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[126] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[152] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[178] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[204] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[230] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[256] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[282] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[308] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[334] = (T)(img)(_n10##x,y,z,c)), \
+ (I[360] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[386] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[412] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[438] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[464] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[490] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[516] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[542] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[568] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[594] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[620] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ (I[646] = (T)(img)(_n10##x,_n12##y,z,c)), \
+ (I[672] = (T)(img)(_n10##x,_n13##y,z,c)), \
+ (I[23] = (T)(img)(_n11##x,_p12##y,z,c)), \
+ (I[49] = (T)(img)(_n11##x,_p11##y,z,c)), \
+ (I[75] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[101] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[127] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[153] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[179] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[205] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[231] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[257] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[283] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[309] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[335] = (T)(img)(_n11##x,y,z,c)), \
+ (I[361] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[387] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[413] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[439] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[465] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[491] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[517] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[543] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[569] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[595] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[621] = (T)(img)(_n11##x,_n11##y,z,c)), \
+ (I[647] = (T)(img)(_n11##x,_n12##y,z,c)), \
+ (I[673] = (T)(img)(_n11##x,_n13##y,z,c)), \
+ (I[24] = (T)(img)(_n12##x,_p12##y,z,c)), \
+ (I[50] = (T)(img)(_n12##x,_p11##y,z,c)), \
+ (I[76] = (T)(img)(_n12##x,_p10##y,z,c)), \
+ (I[102] = (T)(img)(_n12##x,_p9##y,z,c)), \
+ (I[128] = (T)(img)(_n12##x,_p8##y,z,c)), \
+ (I[154] = (T)(img)(_n12##x,_p7##y,z,c)), \
+ (I[180] = (T)(img)(_n12##x,_p6##y,z,c)), \
+ (I[206] = (T)(img)(_n12##x,_p5##y,z,c)), \
+ (I[232] = (T)(img)(_n12##x,_p4##y,z,c)), \
+ (I[258] = (T)(img)(_n12##x,_p3##y,z,c)), \
+ (I[284] = (T)(img)(_n12##x,_p2##y,z,c)), \
+ (I[310] = (T)(img)(_n12##x,_p1##y,z,c)), \
+ (I[336] = (T)(img)(_n12##x,y,z,c)), \
+ (I[362] = (T)(img)(_n12##x,_n1##y,z,c)), \
+ (I[388] = (T)(img)(_n12##x,_n2##y,z,c)), \
+ (I[414] = (T)(img)(_n12##x,_n3##y,z,c)), \
+ (I[440] = (T)(img)(_n12##x,_n4##y,z,c)), \
+ (I[466] = (T)(img)(_n12##x,_n5##y,z,c)), \
+ (I[492] = (T)(img)(_n12##x,_n6##y,z,c)), \
+ (I[518] = (T)(img)(_n12##x,_n7##y,z,c)), \
+ (I[544] = (T)(img)(_n12##x,_n8##y,z,c)), \
+ (I[570] = (T)(img)(_n12##x,_n9##y,z,c)), \
+ (I[596] = (T)(img)(_n12##x,_n10##y,z,c)), \
+ (I[622] = (T)(img)(_n12##x,_n11##y,z,c)), \
+ (I[648] = (T)(img)(_n12##x,_n12##y,z,c)), \
+ (I[674] = (T)(img)(_n12##x,_n13##y,z,c)), \
+ x + 13>=(img).width()?(img).width() - 1:x + 13); \
+ x<=(int)(x1) && ((_n13##x<(img).width() && ( \
+ (I[25] = (T)(img)(_n13##x,_p12##y,z,c)), \
+ (I[51] = (T)(img)(_n13##x,_p11##y,z,c)), \
+ (I[77] = (T)(img)(_n13##x,_p10##y,z,c)), \
+ (I[103] = (T)(img)(_n13##x,_p9##y,z,c)), \
+ (I[129] = (T)(img)(_n13##x,_p8##y,z,c)), \
+ (I[155] = (T)(img)(_n13##x,_p7##y,z,c)), \
+ (I[181] = (T)(img)(_n13##x,_p6##y,z,c)), \
+ (I[207] = (T)(img)(_n13##x,_p5##y,z,c)), \
+ (I[233] = (T)(img)(_n13##x,_p4##y,z,c)), \
+ (I[259] = (T)(img)(_n13##x,_p3##y,z,c)), \
+ (I[285] = (T)(img)(_n13##x,_p2##y,z,c)), \
+ (I[311] = (T)(img)(_n13##x,_p1##y,z,c)), \
+ (I[337] = (T)(img)(_n13##x,y,z,c)), \
+ (I[363] = (T)(img)(_n13##x,_n1##y,z,c)), \
+ (I[389] = (T)(img)(_n13##x,_n2##y,z,c)), \
+ (I[415] = (T)(img)(_n13##x,_n3##y,z,c)), \
+ (I[441] = (T)(img)(_n13##x,_n4##y,z,c)), \
+ (I[467] = (T)(img)(_n13##x,_n5##y,z,c)), \
+ (I[493] = (T)(img)(_n13##x,_n6##y,z,c)), \
+ (I[519] = (T)(img)(_n13##x,_n7##y,z,c)), \
+ (I[545] = (T)(img)(_n13##x,_n8##y,z,c)), \
+ (I[571] = (T)(img)(_n13##x,_n9##y,z,c)), \
+ (I[597] = (T)(img)(_n13##x,_n10##y,z,c)), \
+ (I[623] = (T)(img)(_n13##x,_n11##y,z,c)), \
+ (I[649] = (T)(img)(_n13##x,_n12##y,z,c)), \
+ (I[675] = (T)(img)(_n13##x,_n13##y,z,c)),1)) || \
+ _n12##x==--_n13##x || _n11##x==--_n12##x || _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n13##x = _n12##x = _n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], \
+ I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], \
+ I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], \
+ I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], \
+ I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], \
+ I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], \
+ I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], \
+ I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], \
+ I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], \
+ I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], \
+ I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], \
+ I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], \
+ I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], \
+ I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], I[359] = I[360], I[360] = I[361], I[361] = I[362], I[362] = I[363], \
+ I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], I[376] = I[377], I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], \
+ I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], I[399] = I[400], I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], \
+ I[416] = I[417], I[417] = I[418], I[418] = I[419], I[419] = I[420], I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], I[431] = I[432], I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], I[439] = I[440], I[440] = I[441], \
+ I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], I[447] = I[448], I[448] = I[449], I[449] = I[450], I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], I[455] = I[456], I[456] = I[457], I[457] = I[458], I[458] = I[459], I[459] = I[460], I[460] = I[461], I[461] = I[462], I[462] = I[463], I[463] = I[464], I[464] = I[465], I[465] = I[466], I[466] = I[467], \
+ I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], I[474] = I[475], I[475] = I[476], I[476] = I[477], I[477] = I[478], I[478] = I[479], I[479] = I[480], I[480] = I[481], I[481] = I[482], I[482] = I[483], I[483] = I[484], I[484] = I[485], I[485] = I[486], I[486] = I[487], I[487] = I[488], I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], I[492] = I[493], \
+ I[494] = I[495], I[495] = I[496], I[496] = I[497], I[497] = I[498], I[498] = I[499], I[499] = I[500], I[500] = I[501], I[501] = I[502], I[502] = I[503], I[503] = I[504], I[504] = I[505], I[505] = I[506], I[506] = I[507], I[507] = I[508], I[508] = I[509], I[509] = I[510], I[510] = I[511], I[511] = I[512], I[512] = I[513], I[513] = I[514], I[514] = I[515], I[515] = I[516], I[516] = I[517], I[517] = I[518], I[518] = I[519], \
+ I[520] = I[521], I[521] = I[522], I[522] = I[523], I[523] = I[524], I[524] = I[525], I[525] = I[526], I[526] = I[527], I[527] = I[528], I[528] = I[529], I[529] = I[530], I[530] = I[531], I[531] = I[532], I[532] = I[533], I[533] = I[534], I[534] = I[535], I[535] = I[536], I[536] = I[537], I[537] = I[538], I[538] = I[539], I[539] = I[540], I[540] = I[541], I[541] = I[542], I[542] = I[543], I[543] = I[544], I[544] = I[545], \
+ I[546] = I[547], I[547] = I[548], I[548] = I[549], I[549] = I[550], I[550] = I[551], I[551] = I[552], I[552] = I[553], I[553] = I[554], I[554] = I[555], I[555] = I[556], I[556] = I[557], I[557] = I[558], I[558] = I[559], I[559] = I[560], I[560] = I[561], I[561] = I[562], I[562] = I[563], I[563] = I[564], I[564] = I[565], I[565] = I[566], I[566] = I[567], I[567] = I[568], I[568] = I[569], I[569] = I[570], I[570] = I[571], \
+ I[572] = I[573], I[573] = I[574], I[574] = I[575], I[575] = I[576], I[576] = I[577], I[577] = I[578], I[578] = I[579], I[579] = I[580], I[580] = I[581], I[581] = I[582], I[582] = I[583], I[583] = I[584], I[584] = I[585], I[585] = I[586], I[586] = I[587], I[587] = I[588], I[588] = I[589], I[589] = I[590], I[590] = I[591], I[591] = I[592], I[592] = I[593], I[593] = I[594], I[594] = I[595], I[595] = I[596], I[596] = I[597], \
+ I[598] = I[599], I[599] = I[600], I[600] = I[601], I[601] = I[602], I[602] = I[603], I[603] = I[604], I[604] = I[605], I[605] = I[606], I[606] = I[607], I[607] = I[608], I[608] = I[609], I[609] = I[610], I[610] = I[611], I[611] = I[612], I[612] = I[613], I[613] = I[614], I[614] = I[615], I[615] = I[616], I[616] = I[617], I[617] = I[618], I[618] = I[619], I[619] = I[620], I[620] = I[621], I[621] = I[622], I[622] = I[623], \
+ I[624] = I[625], I[625] = I[626], I[626] = I[627], I[627] = I[628], I[628] = I[629], I[629] = I[630], I[630] = I[631], I[631] = I[632], I[632] = I[633], I[633] = I[634], I[634] = I[635], I[635] = I[636], I[636] = I[637], I[637] = I[638], I[638] = I[639], I[639] = I[640], I[640] = I[641], I[641] = I[642], I[642] = I[643], I[643] = I[644], I[644] = I[645], I[645] = I[646], I[646] = I[647], I[647] = I[648], I[648] = I[649], \
+ I[650] = I[651], I[651] = I[652], I[652] = I[653], I[653] = I[654], I[654] = I[655], I[655] = I[656], I[656] = I[657], I[657] = I[658], I[658] = I[659], I[659] = I[660], I[660] = I[661], I[661] = I[662], I[662] = I[663], I[663] = I[664], I[664] = I[665], I[665] = I[666], I[666] = I[667], I[667] = I[668], I[668] = I[669], I[669] = I[670], I[670] = I[671], I[671] = I[672], I[672] = I[673], I[673] = I[674], I[674] = I[675], \
+ _p12##x = _p11##x, _p11##x = _p10##x, _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x, ++_n12##x, ++_n13##x)
+
+#define cimg_get26x26(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p12##x,_p12##y,z,c), I[1] = (T)(img)(_p11##x,_p12##y,z,c), I[2] = (T)(img)(_p10##x,_p12##y,z,c), I[3] = (T)(img)(_p9##x,_p12##y,z,c), I[4] = (T)(img)(_p8##x,_p12##y,z,c), I[5] = (T)(img)(_p7##x,_p12##y,z,c), I[6] = (T)(img)(_p6##x,_p12##y,z,c), I[7] = (T)(img)(_p5##x,_p12##y,z,c), I[8] = (T)(img)(_p4##x,_p12##y,z,c), I[9] = (T)(img)(_p3##x,_p12##y,z,c), I[10] = (T)(img)(_p2##x,_p12##y,z,c), I[11] = (T)(img)(_p1##x,_p12##y,z,c), I[12] = (T)(img)(x,_p12##y,z,c), I[13] = ( [...]
+ I[26] = (T)(img)(_p12##x,_p11##y,z,c), I[27] = (T)(img)(_p11##x,_p11##y,z,c), I[28] = (T)(img)(_p10##x,_p11##y,z,c), I[29] = (T)(img)(_p9##x,_p11##y,z,c), I[30] = (T)(img)(_p8##x,_p11##y,z,c), I[31] = (T)(img)(_p7##x,_p11##y,z,c), I[32] = (T)(img)(_p6##x,_p11##y,z,c), I[33] = (T)(img)(_p5##x,_p11##y,z,c), I[34] = (T)(img)(_p4##x,_p11##y,z,c), I[35] = (T)(img)(_p3##x,_p11##y,z,c), I[36] = (T)(img)(_p2##x,_p11##y,z,c), I[37] = (T)(img)(_p1##x,_p11##y,z,c), I[38] = (T)(img)(x,_p11##y,z,c), [...]
+ I[52] = (T)(img)(_p12##x,_p10##y,z,c), I[53] = (T)(img)(_p11##x,_p10##y,z,c), I[54] = (T)(img)(_p10##x,_p10##y,z,c), I[55] = (T)(img)(_p9##x,_p10##y,z,c), I[56] = (T)(img)(_p8##x,_p10##y,z,c), I[57] = (T)(img)(_p7##x,_p10##y,z,c), I[58] = (T)(img)(_p6##x,_p10##y,z,c), I[59] = (T)(img)(_p5##x,_p10##y,z,c), I[60] = (T)(img)(_p4##x,_p10##y,z,c), I[61] = (T)(img)(_p3##x,_p10##y,z,c), I[62] = (T)(img)(_p2##x,_p10##y,z,c), I[63] = (T)(img)(_p1##x,_p10##y,z,c), I[64] = (T)(img)(x,_p10##y,z,c), [...]
+ I[78] = (T)(img)(_p12##x,_p9##y,z,c), I[79] = (T)(img)(_p11##x,_p9##y,z,c), I[80] = (T)(img)(_p10##x,_p9##y,z,c), I[81] = (T)(img)(_p9##x,_p9##y,z,c), I[82] = (T)(img)(_p8##x,_p9##y,z,c), I[83] = (T)(img)(_p7##x,_p9##y,z,c), I[84] = (T)(img)(_p6##x,_p9##y,z,c), I[85] = (T)(img)(_p5##x,_p9##y,z,c), I[86] = (T)(img)(_p4##x,_p9##y,z,c), I[87] = (T)(img)(_p3##x,_p9##y,z,c), I[88] = (T)(img)(_p2##x,_p9##y,z,c), I[89] = (T)(img)(_p1##x,_p9##y,z,c), I[90] = (T)(img)(x,_p9##y,z,c), I[91] = (T)( [...]
+ I[104] = (T)(img)(_p12##x,_p8##y,z,c), I[105] = (T)(img)(_p11##x,_p8##y,z,c), I[106] = (T)(img)(_p10##x,_p8##y,z,c), I[107] = (T)(img)(_p9##x,_p8##y,z,c), I[108] = (T)(img)(_p8##x,_p8##y,z,c), I[109] = (T)(img)(_p7##x,_p8##y,z,c), I[110] = (T)(img)(_p6##x,_p8##y,z,c), I[111] = (T)(img)(_p5##x,_p8##y,z,c), I[112] = (T)(img)(_p4##x,_p8##y,z,c), I[113] = (T)(img)(_p3##x,_p8##y,z,c), I[114] = (T)(img)(_p2##x,_p8##y,z,c), I[115] = (T)(img)(_p1##x,_p8##y,z,c), I[116] = (T)(img)(x,_p8##y,z,c), [...]
+ I[130] = (T)(img)(_p12##x,_p7##y,z,c), I[131] = (T)(img)(_p11##x,_p7##y,z,c), I[132] = (T)(img)(_p10##x,_p7##y,z,c), I[133] = (T)(img)(_p9##x,_p7##y,z,c), I[134] = (T)(img)(_p8##x,_p7##y,z,c), I[135] = (T)(img)(_p7##x,_p7##y,z,c), I[136] = (T)(img)(_p6##x,_p7##y,z,c), I[137] = (T)(img)(_p5##x,_p7##y,z,c), I[138] = (T)(img)(_p4##x,_p7##y,z,c), I[139] = (T)(img)(_p3##x,_p7##y,z,c), I[140] = (T)(img)(_p2##x,_p7##y,z,c), I[141] = (T)(img)(_p1##x,_p7##y,z,c), I[142] = (T)(img)(x,_p7##y,z,c), [...]
+ I[156] = (T)(img)(_p12##x,_p6##y,z,c), I[157] = (T)(img)(_p11##x,_p6##y,z,c), I[158] = (T)(img)(_p10##x,_p6##y,z,c), I[159] = (T)(img)(_p9##x,_p6##y,z,c), I[160] = (T)(img)(_p8##x,_p6##y,z,c), I[161] = (T)(img)(_p7##x,_p6##y,z,c), I[162] = (T)(img)(_p6##x,_p6##y,z,c), I[163] = (T)(img)(_p5##x,_p6##y,z,c), I[164] = (T)(img)(_p4##x,_p6##y,z,c), I[165] = (T)(img)(_p3##x,_p6##y,z,c), I[166] = (T)(img)(_p2##x,_p6##y,z,c), I[167] = (T)(img)(_p1##x,_p6##y,z,c), I[168] = (T)(img)(x,_p6##y,z,c), [...]
+ I[182] = (T)(img)(_p12##x,_p5##y,z,c), I[183] = (T)(img)(_p11##x,_p5##y,z,c), I[184] = (T)(img)(_p10##x,_p5##y,z,c), I[185] = (T)(img)(_p9##x,_p5##y,z,c), I[186] = (T)(img)(_p8##x,_p5##y,z,c), I[187] = (T)(img)(_p7##x,_p5##y,z,c), I[188] = (T)(img)(_p6##x,_p5##y,z,c), I[189] = (T)(img)(_p5##x,_p5##y,z,c), I[190] = (T)(img)(_p4##x,_p5##y,z,c), I[191] = (T)(img)(_p3##x,_p5##y,z,c), I[192] = (T)(img)(_p2##x,_p5##y,z,c), I[193] = (T)(img)(_p1##x,_p5##y,z,c), I[194] = (T)(img)(x,_p5##y,z,c), [...]
+ I[208] = (T)(img)(_p12##x,_p4##y,z,c), I[209] = (T)(img)(_p11##x,_p4##y,z,c), I[210] = (T)(img)(_p10##x,_p4##y,z,c), I[211] = (T)(img)(_p9##x,_p4##y,z,c), I[212] = (T)(img)(_p8##x,_p4##y,z,c), I[213] = (T)(img)(_p7##x,_p4##y,z,c), I[214] = (T)(img)(_p6##x,_p4##y,z,c), I[215] = (T)(img)(_p5##x,_p4##y,z,c), I[216] = (T)(img)(_p4##x,_p4##y,z,c), I[217] = (T)(img)(_p3##x,_p4##y,z,c), I[218] = (T)(img)(_p2##x,_p4##y,z,c), I[219] = (T)(img)(_p1##x,_p4##y,z,c), I[220] = (T)(img)(x,_p4##y,z,c), [...]
+ I[234] = (T)(img)(_p12##x,_p3##y,z,c), I[235] = (T)(img)(_p11##x,_p3##y,z,c), I[236] = (T)(img)(_p10##x,_p3##y,z,c), I[237] = (T)(img)(_p9##x,_p3##y,z,c), I[238] = (T)(img)(_p8##x,_p3##y,z,c), I[239] = (T)(img)(_p7##x,_p3##y,z,c), I[240] = (T)(img)(_p6##x,_p3##y,z,c), I[241] = (T)(img)(_p5##x,_p3##y,z,c), I[242] = (T)(img)(_p4##x,_p3##y,z,c), I[243] = (T)(img)(_p3##x,_p3##y,z,c), I[244] = (T)(img)(_p2##x,_p3##y,z,c), I[245] = (T)(img)(_p1##x,_p3##y,z,c), I[246] = (T)(img)(x,_p3##y,z,c), [...]
+ I[260] = (T)(img)(_p12##x,_p2##y,z,c), I[261] = (T)(img)(_p11##x,_p2##y,z,c), I[262] = (T)(img)(_p10##x,_p2##y,z,c), I[263] = (T)(img)(_p9##x,_p2##y,z,c), I[264] = (T)(img)(_p8##x,_p2##y,z,c), I[265] = (T)(img)(_p7##x,_p2##y,z,c), I[266] = (T)(img)(_p6##x,_p2##y,z,c), I[267] = (T)(img)(_p5##x,_p2##y,z,c), I[268] = (T)(img)(_p4##x,_p2##y,z,c), I[269] = (T)(img)(_p3##x,_p2##y,z,c), I[270] = (T)(img)(_p2##x,_p2##y,z,c), I[271] = (T)(img)(_p1##x,_p2##y,z,c), I[272] = (T)(img)(x,_p2##y,z,c), [...]
+ I[286] = (T)(img)(_p12##x,_p1##y,z,c), I[287] = (T)(img)(_p11##x,_p1##y,z,c), I[288] = (T)(img)(_p10##x,_p1##y,z,c), I[289] = (T)(img)(_p9##x,_p1##y,z,c), I[290] = (T)(img)(_p8##x,_p1##y,z,c), I[291] = (T)(img)(_p7##x,_p1##y,z,c), I[292] = (T)(img)(_p6##x,_p1##y,z,c), I[293] = (T)(img)(_p5##x,_p1##y,z,c), I[294] = (T)(img)(_p4##x,_p1##y,z,c), I[295] = (T)(img)(_p3##x,_p1##y,z,c), I[296] = (T)(img)(_p2##x,_p1##y,z,c), I[297] = (T)(img)(_p1##x,_p1##y,z,c), I[298] = (T)(img)(x,_p1##y,z,c), [...]
+ I[312] = (T)(img)(_p12##x,y,z,c), I[313] = (T)(img)(_p11##x,y,z,c), I[314] = (T)(img)(_p10##x,y,z,c), I[315] = (T)(img)(_p9##x,y,z,c), I[316] = (T)(img)(_p8##x,y,z,c), I[317] = (T)(img)(_p7##x,y,z,c), I[318] = (T)(img)(_p6##x,y,z,c), I[319] = (T)(img)(_p5##x,y,z,c), I[320] = (T)(img)(_p4##x,y,z,c), I[321] = (T)(img)(_p3##x,y,z,c), I[322] = (T)(img)(_p2##x,y,z,c), I[323] = (T)(img)(_p1##x,y,z,c), I[324] = (T)(img)(x,y,z,c), I[325] = (T)(img)(_n1##x,y,z,c), I[326] = (T)(img)(_n2##x,y,z,c) [...]
+ I[338] = (T)(img)(_p12##x,_n1##y,z,c), I[339] = (T)(img)(_p11##x,_n1##y,z,c), I[340] = (T)(img)(_p10##x,_n1##y,z,c), I[341] = (T)(img)(_p9##x,_n1##y,z,c), I[342] = (T)(img)(_p8##x,_n1##y,z,c), I[343] = (T)(img)(_p7##x,_n1##y,z,c), I[344] = (T)(img)(_p6##x,_n1##y,z,c), I[345] = (T)(img)(_p5##x,_n1##y,z,c), I[346] = (T)(img)(_p4##x,_n1##y,z,c), I[347] = (T)(img)(_p3##x,_n1##y,z,c), I[348] = (T)(img)(_p2##x,_n1##y,z,c), I[349] = (T)(img)(_p1##x,_n1##y,z,c), I[350] = (T)(img)(x,_n1##y,z,c), [...]
+ I[364] = (T)(img)(_p12##x,_n2##y,z,c), I[365] = (T)(img)(_p11##x,_n2##y,z,c), I[366] = (T)(img)(_p10##x,_n2##y,z,c), I[367] = (T)(img)(_p9##x,_n2##y,z,c), I[368] = (T)(img)(_p8##x,_n2##y,z,c), I[369] = (T)(img)(_p7##x,_n2##y,z,c), I[370] = (T)(img)(_p6##x,_n2##y,z,c), I[371] = (T)(img)(_p5##x,_n2##y,z,c), I[372] = (T)(img)(_p4##x,_n2##y,z,c), I[373] = (T)(img)(_p3##x,_n2##y,z,c), I[374] = (T)(img)(_p2##x,_n2##y,z,c), I[375] = (T)(img)(_p1##x,_n2##y,z,c), I[376] = (T)(img)(x,_n2##y,z,c), [...]
+ I[390] = (T)(img)(_p12##x,_n3##y,z,c), I[391] = (T)(img)(_p11##x,_n3##y,z,c), I[392] = (T)(img)(_p10##x,_n3##y,z,c), I[393] = (T)(img)(_p9##x,_n3##y,z,c), I[394] = (T)(img)(_p8##x,_n3##y,z,c), I[395] = (T)(img)(_p7##x,_n3##y,z,c), I[396] = (T)(img)(_p6##x,_n3##y,z,c), I[397] = (T)(img)(_p5##x,_n3##y,z,c), I[398] = (T)(img)(_p4##x,_n3##y,z,c), I[399] = (T)(img)(_p3##x,_n3##y,z,c), I[400] = (T)(img)(_p2##x,_n3##y,z,c), I[401] = (T)(img)(_p1##x,_n3##y,z,c), I[402] = (T)(img)(x,_n3##y,z,c), [...]
+ I[416] = (T)(img)(_p12##x,_n4##y,z,c), I[417] = (T)(img)(_p11##x,_n4##y,z,c), I[418] = (T)(img)(_p10##x,_n4##y,z,c), I[419] = (T)(img)(_p9##x,_n4##y,z,c), I[420] = (T)(img)(_p8##x,_n4##y,z,c), I[421] = (T)(img)(_p7##x,_n4##y,z,c), I[422] = (T)(img)(_p6##x,_n4##y,z,c), I[423] = (T)(img)(_p5##x,_n4##y,z,c), I[424] = (T)(img)(_p4##x,_n4##y,z,c), I[425] = (T)(img)(_p3##x,_n4##y,z,c), I[426] = (T)(img)(_p2##x,_n4##y,z,c), I[427] = (T)(img)(_p1##x,_n4##y,z,c), I[428] = (T)(img)(x,_n4##y,z,c), [...]
+ I[442] = (T)(img)(_p12##x,_n5##y,z,c), I[443] = (T)(img)(_p11##x,_n5##y,z,c), I[444] = (T)(img)(_p10##x,_n5##y,z,c), I[445] = (T)(img)(_p9##x,_n5##y,z,c), I[446] = (T)(img)(_p8##x,_n5##y,z,c), I[447] = (T)(img)(_p7##x,_n5##y,z,c), I[448] = (T)(img)(_p6##x,_n5##y,z,c), I[449] = (T)(img)(_p5##x,_n5##y,z,c), I[450] = (T)(img)(_p4##x,_n5##y,z,c), I[451] = (T)(img)(_p3##x,_n5##y,z,c), I[452] = (T)(img)(_p2##x,_n5##y,z,c), I[453] = (T)(img)(_p1##x,_n5##y,z,c), I[454] = (T)(img)(x,_n5##y,z,c), [...]
+ I[468] = (T)(img)(_p12##x,_n6##y,z,c), I[469] = (T)(img)(_p11##x,_n6##y,z,c), I[470] = (T)(img)(_p10##x,_n6##y,z,c), I[471] = (T)(img)(_p9##x,_n6##y,z,c), I[472] = (T)(img)(_p8##x,_n6##y,z,c), I[473] = (T)(img)(_p7##x,_n6##y,z,c), I[474] = (T)(img)(_p6##x,_n6##y,z,c), I[475] = (T)(img)(_p5##x,_n6##y,z,c), I[476] = (T)(img)(_p4##x,_n6##y,z,c), I[477] = (T)(img)(_p3##x,_n6##y,z,c), I[478] = (T)(img)(_p2##x,_n6##y,z,c), I[479] = (T)(img)(_p1##x,_n6##y,z,c), I[480] = (T)(img)(x,_n6##y,z,c), [...]
+ I[494] = (T)(img)(_p12##x,_n7##y,z,c), I[495] = (T)(img)(_p11##x,_n7##y,z,c), I[496] = (T)(img)(_p10##x,_n7##y,z,c), I[497] = (T)(img)(_p9##x,_n7##y,z,c), I[498] = (T)(img)(_p8##x,_n7##y,z,c), I[499] = (T)(img)(_p7##x,_n7##y,z,c), I[500] = (T)(img)(_p6##x,_n7##y,z,c), I[501] = (T)(img)(_p5##x,_n7##y,z,c), I[502] = (T)(img)(_p4##x,_n7##y,z,c), I[503] = (T)(img)(_p3##x,_n7##y,z,c), I[504] = (T)(img)(_p2##x,_n7##y,z,c), I[505] = (T)(img)(_p1##x,_n7##y,z,c), I[506] = (T)(img)(x,_n7##y,z,c), [...]
+ I[520] = (T)(img)(_p12##x,_n8##y,z,c), I[521] = (T)(img)(_p11##x,_n8##y,z,c), I[522] = (T)(img)(_p10##x,_n8##y,z,c), I[523] = (T)(img)(_p9##x,_n8##y,z,c), I[524] = (T)(img)(_p8##x,_n8##y,z,c), I[525] = (T)(img)(_p7##x,_n8##y,z,c), I[526] = (T)(img)(_p6##x,_n8##y,z,c), I[527] = (T)(img)(_p5##x,_n8##y,z,c), I[528] = (T)(img)(_p4##x,_n8##y,z,c), I[529] = (T)(img)(_p3##x,_n8##y,z,c), I[530] = (T)(img)(_p2##x,_n8##y,z,c), I[531] = (T)(img)(_p1##x,_n8##y,z,c), I[532] = (T)(img)(x,_n8##y,z,c), [...]
+ I[546] = (T)(img)(_p12##x,_n9##y,z,c), I[547] = (T)(img)(_p11##x,_n9##y,z,c), I[548] = (T)(img)(_p10##x,_n9##y,z,c), I[549] = (T)(img)(_p9##x,_n9##y,z,c), I[550] = (T)(img)(_p8##x,_n9##y,z,c), I[551] = (T)(img)(_p7##x,_n9##y,z,c), I[552] = (T)(img)(_p6##x,_n9##y,z,c), I[553] = (T)(img)(_p5##x,_n9##y,z,c), I[554] = (T)(img)(_p4##x,_n9##y,z,c), I[555] = (T)(img)(_p3##x,_n9##y,z,c), I[556] = (T)(img)(_p2##x,_n9##y,z,c), I[557] = (T)(img)(_p1##x,_n9##y,z,c), I[558] = (T)(img)(x,_n9##y,z,c), [...]
+ I[572] = (T)(img)(_p12##x,_n10##y,z,c), I[573] = (T)(img)(_p11##x,_n10##y,z,c), I[574] = (T)(img)(_p10##x,_n10##y,z,c), I[575] = (T)(img)(_p9##x,_n10##y,z,c), I[576] = (T)(img)(_p8##x,_n10##y,z,c), I[577] = (T)(img)(_p7##x,_n10##y,z,c), I[578] = (T)(img)(_p6##x,_n10##y,z,c), I[579] = (T)(img)(_p5##x,_n10##y,z,c), I[580] = (T)(img)(_p4##x,_n10##y,z,c), I[581] = (T)(img)(_p3##x,_n10##y,z,c), I[582] = (T)(img)(_p2##x,_n10##y,z,c), I[583] = (T)(img)(_p1##x,_n10##y,z,c), I[584] = (T)(img)(x, [...]
+ I[598] = (T)(img)(_p12##x,_n11##y,z,c), I[599] = (T)(img)(_p11##x,_n11##y,z,c), I[600] = (T)(img)(_p10##x,_n11##y,z,c), I[601] = (T)(img)(_p9##x,_n11##y,z,c), I[602] = (T)(img)(_p8##x,_n11##y,z,c), I[603] = (T)(img)(_p7##x,_n11##y,z,c), I[604] = (T)(img)(_p6##x,_n11##y,z,c), I[605] = (T)(img)(_p5##x,_n11##y,z,c), I[606] = (T)(img)(_p4##x,_n11##y,z,c), I[607] = (T)(img)(_p3##x,_n11##y,z,c), I[608] = (T)(img)(_p2##x,_n11##y,z,c), I[609] = (T)(img)(_p1##x,_n11##y,z,c), I[610] = (T)(img)(x, [...]
+ I[624] = (T)(img)(_p12##x,_n12##y,z,c), I[625] = (T)(img)(_p11##x,_n12##y,z,c), I[626] = (T)(img)(_p10##x,_n12##y,z,c), I[627] = (T)(img)(_p9##x,_n12##y,z,c), I[628] = (T)(img)(_p8##x,_n12##y,z,c), I[629] = (T)(img)(_p7##x,_n12##y,z,c), I[630] = (T)(img)(_p6##x,_n12##y,z,c), I[631] = (T)(img)(_p5##x,_n12##y,z,c), I[632] = (T)(img)(_p4##x,_n12##y,z,c), I[633] = (T)(img)(_p3##x,_n12##y,z,c), I[634] = (T)(img)(_p2##x,_n12##y,z,c), I[635] = (T)(img)(_p1##x,_n12##y,z,c), I[636] = (T)(img)(x, [...]
+ I[650] = (T)(img)(_p12##x,_n13##y,z,c), I[651] = (T)(img)(_p11##x,_n13##y,z,c), I[652] = (T)(img)(_p10##x,_n13##y,z,c), I[653] = (T)(img)(_p9##x,_n13##y,z,c), I[654] = (T)(img)(_p8##x,_n13##y,z,c), I[655] = (T)(img)(_p7##x,_n13##y,z,c), I[656] = (T)(img)(_p6##x,_n13##y,z,c), I[657] = (T)(img)(_p5##x,_n13##y,z,c), I[658] = (T)(img)(_p4##x,_n13##y,z,c), I[659] = (T)(img)(_p3##x,_n13##y,z,c), I[660] = (T)(img)(_p2##x,_n13##y,z,c), I[661] = (T)(img)(_p1##x,_n13##y,z,c), I[662] = (T)(img)(x, [...]
+
+// Define 27x27 loop macros
+//-------------------------
+#define cimg_for27(bound,i) for (int i = 0, \
+ _p13##i = 0, _p12##i = 0, _p11##i = 0, _p10##i = 0, _p9##i = 0, _p8##i = 0, _p7##i = 0, _p6##i = 0, _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5, \
+ _n6##i = 6>=(int)(bound)?(int)(bound) - 1:6, \
+ _n7##i = 7>=(int)(bound)?(int)(bound) - 1:7, \
+ _n8##i = 8>=(int)(bound)?(int)(bound) - 1:8, \
+ _n9##i = 9>=(int)(bound)?(int)(bound) - 1:9, \
+ _n10##i = 10>=(int)(bound)?(int)(bound) - 1:10, \
+ _n11##i = 11>=(int)(bound)?(int)(bound) - 1:11, \
+ _n12##i = 12>=(int)(bound)?(int)(bound) - 1:12, \
+ _n13##i = 13>=(int)(bound)?(int)(bound) - 1:13; \
+ _n13##i<(int)(bound) || _n12##i==--_n13##i || _n11##i==--_n12##i || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n13##i = _n12##i = _n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p13##i = _p12##i, _p12##i = _p11##i, _p11##i = _p10##i, _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i, ++_n12##i, ++_n13##i)
+
+#define cimg_for27X(img,x) cimg_for27((img)._width,x)
+#define cimg_for27Y(img,y) cimg_for27((img)._height,y)
+#define cimg_for27Z(img,z) cimg_for27((img)._depth,z)
+#define cimg_for27C(img,c) cimg_for27((img)._spectrum,c)
+#define cimg_for27XY(img,x,y) cimg_for27Y(img,y) cimg_for27X(img,x)
+#define cimg_for27XZ(img,x,z) cimg_for27Z(img,z) cimg_for27X(img,x)
+#define cimg_for27XC(img,x,c) cimg_for27C(img,c) cimg_for27X(img,x)
+#define cimg_for27YZ(img,y,z) cimg_for27Z(img,z) cimg_for27Y(img,y)
+#define cimg_for27YC(img,y,c) cimg_for27C(img,c) cimg_for27Y(img,y)
+#define cimg_for27ZC(img,z,c) cimg_for27C(img,c) cimg_for27Z(img,z)
+#define cimg_for27XYZ(img,x,y,z) cimg_for27Z(img,z) cimg_for27XY(img,x,y)
+#define cimg_for27XZC(img,x,z,c) cimg_for27C(img,c) cimg_for27XZ(img,x,z)
+#define cimg_for27YZC(img,y,z,c) cimg_for27C(img,c) cimg_for27YZ(img,y,z)
+#define cimg_for27XYZC(img,x,y,z,c) cimg_for27C(img,c) cimg_for27XYZ(img,x,y,z)
+
+#define cimg_for_in27(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p13##i = i - 13<0?0:i - 13, \
+ _p12##i = i - 12<0?0:i - 12, \
+ _p11##i = i - 11<0?0:i - 11, \
+ _p10##i = i - 10<0?0:i - 10, \
+ _p9##i = i - 9<0?0:i - 9, \
+ _p8##i = i - 8<0?0:i - 8, \
+ _p7##i = i - 7<0?0:i - 7, \
+ _p6##i = i - 6<0?0:i - 6, \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5, \
+ _n6##i = i + 6>=(int)(bound)?(int)(bound) - 1:i + 6, \
+ _n7##i = i + 7>=(int)(bound)?(int)(bound) - 1:i + 7, \
+ _n8##i = i + 8>=(int)(bound)?(int)(bound) - 1:i + 8, \
+ _n9##i = i + 9>=(int)(bound)?(int)(bound) - 1:i + 9, \
+ _n10##i = i + 10>=(int)(bound)?(int)(bound) - 1:i + 10, \
+ _n11##i = i + 11>=(int)(bound)?(int)(bound) - 1:i + 11, \
+ _n12##i = i + 12>=(int)(bound)?(int)(bound) - 1:i + 12, \
+ _n13##i = i + 13>=(int)(bound)?(int)(bound) - 1:i + 13; \
+ i<=(int)(i1) && (_n13##i<(int)(bound) || _n12##i==--_n13##i || _n11##i==--_n12##i || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n13##i = _n12##i = _n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p13##i = _p12##i, _p12##i = _p11##i, _p11##i = _p10##i, _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i, ++_n12##i, ++_n13##i)
+
+#define cimg_for_in27X(img,x0,x1,x) cimg_for_in27((img)._width,x0,x1,x)
+#define cimg_for_in27Y(img,y0,y1,y) cimg_for_in27((img)._height,y0,y1,y)
+#define cimg_for_in27Z(img,z0,z1,z) cimg_for_in27((img)._depth,z0,z1,z)
+#define cimg_for_in27C(img,c0,c1,c) cimg_for_in27((img)._spectrum,c0,c1,c)
+#define cimg_for_in27XY(img,x0,y0,x1,y1,x,y) cimg_for_in27Y(img,y0,y1,y) cimg_for_in27X(img,x0,x1,x)
+#define cimg_for_in27XZ(img,x0,z0,x1,z1,x,z) cimg_for_in27Z(img,z0,z1,z) cimg_for_in27X(img,x0,x1,x)
+#define cimg_for_in27XC(img,x0,c0,x1,c1,x,c) cimg_for_in27C(img,c0,c1,c) cimg_for_in27X(img,x0,x1,x)
+#define cimg_for_in27YZ(img,y0,z0,y1,z1,y,z) cimg_for_in27Z(img,z0,z1,z) cimg_for_in27Y(img,y0,y1,y)
+#define cimg_for_in27YC(img,y0,c0,y1,c1,y,c) cimg_for_in27C(img,c0,c1,c) cimg_for_in27Y(img,y0,y1,y)
+#define cimg_for_in27ZC(img,z0,c0,z1,c1,z,c) cimg_for_in27C(img,c0,c1,c) cimg_for_in27Z(img,z0,z1,z)
+#define cimg_for_in27XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in27Z(img,z0,z1,z) cimg_for_in27XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in27XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in27C(img,c0,c1,c) cimg_for_in27XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in27YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in27C(img,c0,c1,c) cimg_for_in27YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in27XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in27C(img,c0,c1,c) cimg_for_in27XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for27x27(img,x,y,z,c,I,T) \
+ cimg_for27((img)._height,y) for (int x = 0, \
+ _p13##x = 0, _p12##x = 0, _p11##x = 0, _p10##x = 0, _p9##x = 0, _p8##x = 0, _p7##x = 0, _p6##x = 0, _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = 5>=((img)._width)?(img).width() - 1:5, \
+ _n6##x = 6>=((img)._width)?(img).width() - 1:6, \
+ _n7##x = 7>=((img)._width)?(img).width() - 1:7, \
+ _n8##x = 8>=((img)._width)?(img).width() - 1:8, \
+ _n9##x = 9>=((img)._width)?(img).width() - 1:9, \
+ _n10##x = 10>=((img)._width)?(img).width() - 1:10, \
+ _n11##x = 11>=((img)._width)?(img).width() - 1:11, \
+ _n12##x = 12>=((img)._width)?(img).width() - 1:12, \
+ _n13##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = I[6] = I[7] = I[8] = I[9] = I[10] = I[11] = I[12] = I[13] = (T)(img)(0,_p13##y,z,c)), \
+ (I[27] = I[28] = I[29] = I[30] = I[31] = I[32] = I[33] = I[34] = I[35] = I[36] = I[37] = I[38] = I[39] = I[40] = (T)(img)(0,_p12##y,z,c)), \
+ (I[54] = I[55] = I[56] = I[57] = I[58] = I[59] = I[60] = I[61] = I[62] = I[63] = I[64] = I[65] = I[66] = I[67] = (T)(img)(0,_p11##y,z,c)), \
+ (I[81] = I[82] = I[83] = I[84] = I[85] = I[86] = I[87] = I[88] = I[89] = I[90] = I[91] = I[92] = I[93] = I[94] = (T)(img)(0,_p10##y,z,c)), \
+ (I[108] = I[109] = I[110] = I[111] = I[112] = I[113] = I[114] = I[115] = I[116] = I[117] = I[118] = I[119] = I[120] = I[121] = (T)(img)(0,_p9##y,z,c)), \
+ (I[135] = I[136] = I[137] = I[138] = I[139] = I[140] = I[141] = I[142] = I[143] = I[144] = I[145] = I[146] = I[147] = I[148] = (T)(img)(0,_p8##y,z,c)), \
+ (I[162] = I[163] = I[164] = I[165] = I[166] = I[167] = I[168] = I[169] = I[170] = I[171] = I[172] = I[173] = I[174] = I[175] = (T)(img)(0,_p7##y,z,c)), \
+ (I[189] = I[190] = I[191] = I[192] = I[193] = I[194] = I[195] = I[196] = I[197] = I[198] = I[199] = I[200] = I[201] = I[202] = (T)(img)(0,_p6##y,z,c)), \
+ (I[216] = I[217] = I[218] = I[219] = I[220] = I[221] = I[222] = I[223] = I[224] = I[225] = I[226] = I[227] = I[228] = I[229] = (T)(img)(0,_p5##y,z,c)), \
+ (I[243] = I[244] = I[245] = I[246] = I[247] = I[248] = I[249] = I[250] = I[251] = I[252] = I[253] = I[254] = I[255] = I[256] = (T)(img)(0,_p4##y,z,c)), \
+ (I[270] = I[271] = I[272] = I[273] = I[274] = I[275] = I[276] = I[277] = I[278] = I[279] = I[280] = I[281] = I[282] = I[283] = (T)(img)(0,_p3##y,z,c)), \
+ (I[297] = I[298] = I[299] = I[300] = I[301] = I[302] = I[303] = I[304] = I[305] = I[306] = I[307] = I[308] = I[309] = I[310] = (T)(img)(0,_p2##y,z,c)), \
+ (I[324] = I[325] = I[326] = I[327] = I[328] = I[329] = I[330] = I[331] = I[332] = I[333] = I[334] = I[335] = I[336] = I[337] = (T)(img)(0,_p1##y,z,c)), \
+ (I[351] = I[352] = I[353] = I[354] = I[355] = I[356] = I[357] = I[358] = I[359] = I[360] = I[361] = I[362] = I[363] = I[364] = (T)(img)(0,y,z,c)), \
+ (I[378] = I[379] = I[380] = I[381] = I[382] = I[383] = I[384] = I[385] = I[386] = I[387] = I[388] = I[389] = I[390] = I[391] = (T)(img)(0,_n1##y,z,c)), \
+ (I[405] = I[406] = I[407] = I[408] = I[409] = I[410] = I[411] = I[412] = I[413] = I[414] = I[415] = I[416] = I[417] = I[418] = (T)(img)(0,_n2##y,z,c)), \
+ (I[432] = I[433] = I[434] = I[435] = I[436] = I[437] = I[438] = I[439] = I[440] = I[441] = I[442] = I[443] = I[444] = I[445] = (T)(img)(0,_n3##y,z,c)), \
+ (I[459] = I[460] = I[461] = I[462] = I[463] = I[464] = I[465] = I[466] = I[467] = I[468] = I[469] = I[470] = I[471] = I[472] = (T)(img)(0,_n4##y,z,c)), \
+ (I[486] = I[487] = I[488] = I[489] = I[490] = I[491] = I[492] = I[493] = I[494] = I[495] = I[496] = I[497] = I[498] = I[499] = (T)(img)(0,_n5##y,z,c)), \
+ (I[513] = I[514] = I[515] = I[516] = I[517] = I[518] = I[519] = I[520] = I[521] = I[522] = I[523] = I[524] = I[525] = I[526] = (T)(img)(0,_n6##y,z,c)), \
+ (I[540] = I[541] = I[542] = I[543] = I[544] = I[545] = I[546] = I[547] = I[548] = I[549] = I[550] = I[551] = I[552] = I[553] = (T)(img)(0,_n7##y,z,c)), \
+ (I[567] = I[568] = I[569] = I[570] = I[571] = I[572] = I[573] = I[574] = I[575] = I[576] = I[577] = I[578] = I[579] = I[580] = (T)(img)(0,_n8##y,z,c)), \
+ (I[594] = I[595] = I[596] = I[597] = I[598] = I[599] = I[600] = I[601] = I[602] = I[603] = I[604] = I[605] = I[606] = I[607] = (T)(img)(0,_n9##y,z,c)), \
+ (I[621] = I[622] = I[623] = I[624] = I[625] = I[626] = I[627] = I[628] = I[629] = I[630] = I[631] = I[632] = I[633] = I[634] = (T)(img)(0,_n10##y,z,c)), \
+ (I[648] = I[649] = I[650] = I[651] = I[652] = I[653] = I[654] = I[655] = I[656] = I[657] = I[658] = I[659] = I[660] = I[661] = (T)(img)(0,_n11##y,z,c)), \
+ (I[675] = I[676] = I[677] = I[678] = I[679] = I[680] = I[681] = I[682] = I[683] = I[684] = I[685] = I[686] = I[687] = I[688] = (T)(img)(0,_n12##y,z,c)), \
+ (I[702] = I[703] = I[704] = I[705] = I[706] = I[707] = I[708] = I[709] = I[710] = I[711] = I[712] = I[713] = I[714] = I[715] = (T)(img)(0,_n13##y,z,c)), \
+ (I[14] = (T)(img)(_n1##x,_p13##y,z,c)), \
+ (I[41] = (T)(img)(_n1##x,_p12##y,z,c)), \
+ (I[68] = (T)(img)(_n1##x,_p11##y,z,c)), \
+ (I[95] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[122] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[149] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[176] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[203] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[230] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[257] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[284] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[311] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[338] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[365] = (T)(img)(_n1##x,y,z,c)), \
+ (I[392] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[419] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[446] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[473] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[500] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[527] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[554] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[581] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[608] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[635] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[662] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[689] = (T)(img)(_n1##x,_n12##y,z,c)), \
+ (I[716] = (T)(img)(_n1##x,_n13##y,z,c)), \
+ (I[15] = (T)(img)(_n2##x,_p13##y,z,c)), \
+ (I[42] = (T)(img)(_n2##x,_p12##y,z,c)), \
+ (I[69] = (T)(img)(_n2##x,_p11##y,z,c)), \
+ (I[96] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[123] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[150] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[177] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[204] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[231] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[258] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[285] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[312] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[339] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[366] = (T)(img)(_n2##x,y,z,c)), \
+ (I[393] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[420] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[447] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[474] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[501] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[528] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[555] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[582] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[609] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[636] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[663] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[690] = (T)(img)(_n2##x,_n12##y,z,c)), \
+ (I[717] = (T)(img)(_n2##x,_n13##y,z,c)), \
+ (I[16] = (T)(img)(_n3##x,_p13##y,z,c)), \
+ (I[43] = (T)(img)(_n3##x,_p12##y,z,c)), \
+ (I[70] = (T)(img)(_n3##x,_p11##y,z,c)), \
+ (I[97] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[124] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[151] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[178] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[205] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[232] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[259] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[286] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[313] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[340] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[367] = (T)(img)(_n3##x,y,z,c)), \
+ (I[394] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[421] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[448] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[475] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[502] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[529] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[556] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[583] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[610] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[637] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[664] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[691] = (T)(img)(_n3##x,_n12##y,z,c)), \
+ (I[718] = (T)(img)(_n3##x,_n13##y,z,c)), \
+ (I[17] = (T)(img)(_n4##x,_p13##y,z,c)), \
+ (I[44] = (T)(img)(_n4##x,_p12##y,z,c)), \
+ (I[71] = (T)(img)(_n4##x,_p11##y,z,c)), \
+ (I[98] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[125] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[152] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[179] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[206] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[233] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[260] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[287] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[314] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[341] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[368] = (T)(img)(_n4##x,y,z,c)), \
+ (I[395] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[422] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[449] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[476] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[503] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[530] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[557] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[584] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[611] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[638] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[665] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[692] = (T)(img)(_n4##x,_n12##y,z,c)), \
+ (I[719] = (T)(img)(_n4##x,_n13##y,z,c)), \
+ (I[18] = (T)(img)(_n5##x,_p13##y,z,c)), \
+ (I[45] = (T)(img)(_n5##x,_p12##y,z,c)), \
+ (I[72] = (T)(img)(_n5##x,_p11##y,z,c)), \
+ (I[99] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[126] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[153] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[180] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[207] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[234] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[261] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[288] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[315] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[342] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[369] = (T)(img)(_n5##x,y,z,c)), \
+ (I[396] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[423] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[450] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[477] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[504] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[531] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[558] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[585] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[612] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[639] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[666] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[693] = (T)(img)(_n5##x,_n12##y,z,c)), \
+ (I[720] = (T)(img)(_n5##x,_n13##y,z,c)), \
+ (I[19] = (T)(img)(_n6##x,_p13##y,z,c)), \
+ (I[46] = (T)(img)(_n6##x,_p12##y,z,c)), \
+ (I[73] = (T)(img)(_n6##x,_p11##y,z,c)), \
+ (I[100] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[127] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[154] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[181] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[208] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[235] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[262] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[289] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[316] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[343] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[370] = (T)(img)(_n6##x,y,z,c)), \
+ (I[397] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[424] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[451] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[478] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[505] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[532] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[559] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[586] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[613] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[640] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[667] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[694] = (T)(img)(_n6##x,_n12##y,z,c)), \
+ (I[721] = (T)(img)(_n6##x,_n13##y,z,c)), \
+ (I[20] = (T)(img)(_n7##x,_p13##y,z,c)), \
+ (I[47] = (T)(img)(_n7##x,_p12##y,z,c)), \
+ (I[74] = (T)(img)(_n7##x,_p11##y,z,c)), \
+ (I[101] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[128] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[155] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[182] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[209] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[236] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[263] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[290] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[317] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[344] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[371] = (T)(img)(_n7##x,y,z,c)), \
+ (I[398] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[425] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[452] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[479] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[506] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[533] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[560] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[587] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[614] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[641] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[668] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[695] = (T)(img)(_n7##x,_n12##y,z,c)), \
+ (I[722] = (T)(img)(_n7##x,_n13##y,z,c)), \
+ (I[21] = (T)(img)(_n8##x,_p13##y,z,c)), \
+ (I[48] = (T)(img)(_n8##x,_p12##y,z,c)), \
+ (I[75] = (T)(img)(_n8##x,_p11##y,z,c)), \
+ (I[102] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[129] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[156] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[183] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[210] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[237] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[264] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[291] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[318] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[345] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[372] = (T)(img)(_n8##x,y,z,c)), \
+ (I[399] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[426] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[453] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[480] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[507] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[534] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[561] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[588] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[615] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[642] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[669] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[696] = (T)(img)(_n8##x,_n12##y,z,c)), \
+ (I[723] = (T)(img)(_n8##x,_n13##y,z,c)), \
+ (I[22] = (T)(img)(_n9##x,_p13##y,z,c)), \
+ (I[49] = (T)(img)(_n9##x,_p12##y,z,c)), \
+ (I[76] = (T)(img)(_n9##x,_p11##y,z,c)), \
+ (I[103] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[130] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[157] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[184] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[211] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[238] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[265] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[292] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[319] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[346] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[373] = (T)(img)(_n9##x,y,z,c)), \
+ (I[400] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[427] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[454] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[481] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[508] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[535] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[562] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[589] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[616] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[643] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[670] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[697] = (T)(img)(_n9##x,_n12##y,z,c)), \
+ (I[724] = (T)(img)(_n9##x,_n13##y,z,c)), \
+ (I[23] = (T)(img)(_n10##x,_p13##y,z,c)), \
+ (I[50] = (T)(img)(_n10##x,_p12##y,z,c)), \
+ (I[77] = (T)(img)(_n10##x,_p11##y,z,c)), \
+ (I[104] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[131] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[158] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[185] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[212] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[239] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[266] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[293] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[320] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[347] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[374] = (T)(img)(_n10##x,y,z,c)), \
+ (I[401] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[428] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[455] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[482] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[509] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[536] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[563] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[590] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[617] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[644] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[671] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ (I[698] = (T)(img)(_n10##x,_n12##y,z,c)), \
+ (I[725] = (T)(img)(_n10##x,_n13##y,z,c)), \
+ (I[24] = (T)(img)(_n11##x,_p13##y,z,c)), \
+ (I[51] = (T)(img)(_n11##x,_p12##y,z,c)), \
+ (I[78] = (T)(img)(_n11##x,_p11##y,z,c)), \
+ (I[105] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[132] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[159] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[186] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[213] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[240] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[267] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[294] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[321] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[348] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[375] = (T)(img)(_n11##x,y,z,c)), \
+ (I[402] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[429] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[456] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[483] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[510] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[537] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[564] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[591] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[618] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[645] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[672] = (T)(img)(_n11##x,_n11##y,z,c)), \
+ (I[699] = (T)(img)(_n11##x,_n12##y,z,c)), \
+ (I[726] = (T)(img)(_n11##x,_n13##y,z,c)), \
+ (I[25] = (T)(img)(_n12##x,_p13##y,z,c)), \
+ (I[52] = (T)(img)(_n12##x,_p12##y,z,c)), \
+ (I[79] = (T)(img)(_n12##x,_p11##y,z,c)), \
+ (I[106] = (T)(img)(_n12##x,_p10##y,z,c)), \
+ (I[133] = (T)(img)(_n12##x,_p9##y,z,c)), \
+ (I[160] = (T)(img)(_n12##x,_p8##y,z,c)), \
+ (I[187] = (T)(img)(_n12##x,_p7##y,z,c)), \
+ (I[214] = (T)(img)(_n12##x,_p6##y,z,c)), \
+ (I[241] = (T)(img)(_n12##x,_p5##y,z,c)), \
+ (I[268] = (T)(img)(_n12##x,_p4##y,z,c)), \
+ (I[295] = (T)(img)(_n12##x,_p3##y,z,c)), \
+ (I[322] = (T)(img)(_n12##x,_p2##y,z,c)), \
+ (I[349] = (T)(img)(_n12##x,_p1##y,z,c)), \
+ (I[376] = (T)(img)(_n12##x,y,z,c)), \
+ (I[403] = (T)(img)(_n12##x,_n1##y,z,c)), \
+ (I[430] = (T)(img)(_n12##x,_n2##y,z,c)), \
+ (I[457] = (T)(img)(_n12##x,_n3##y,z,c)), \
+ (I[484] = (T)(img)(_n12##x,_n4##y,z,c)), \
+ (I[511] = (T)(img)(_n12##x,_n5##y,z,c)), \
+ (I[538] = (T)(img)(_n12##x,_n6##y,z,c)), \
+ (I[565] = (T)(img)(_n12##x,_n7##y,z,c)), \
+ (I[592] = (T)(img)(_n12##x,_n8##y,z,c)), \
+ (I[619] = (T)(img)(_n12##x,_n9##y,z,c)), \
+ (I[646] = (T)(img)(_n12##x,_n10##y,z,c)), \
+ (I[673] = (T)(img)(_n12##x,_n11##y,z,c)), \
+ (I[700] = (T)(img)(_n12##x,_n12##y,z,c)), \
+ (I[727] = (T)(img)(_n12##x,_n13##y,z,c)), \
+ 13>=((img)._width)?(img).width() - 1:13); \
+ (_n13##x<(img).width() && ( \
+ (I[26] = (T)(img)(_n13##x,_p13##y,z,c)), \
+ (I[53] = (T)(img)(_n13##x,_p12##y,z,c)), \
+ (I[80] = (T)(img)(_n13##x,_p11##y,z,c)), \
+ (I[107] = (T)(img)(_n13##x,_p10##y,z,c)), \
+ (I[134] = (T)(img)(_n13##x,_p9##y,z,c)), \
+ (I[161] = (T)(img)(_n13##x,_p8##y,z,c)), \
+ (I[188] = (T)(img)(_n13##x,_p7##y,z,c)), \
+ (I[215] = (T)(img)(_n13##x,_p6##y,z,c)), \
+ (I[242] = (T)(img)(_n13##x,_p5##y,z,c)), \
+ (I[269] = (T)(img)(_n13##x,_p4##y,z,c)), \
+ (I[296] = (T)(img)(_n13##x,_p3##y,z,c)), \
+ (I[323] = (T)(img)(_n13##x,_p2##y,z,c)), \
+ (I[350] = (T)(img)(_n13##x,_p1##y,z,c)), \
+ (I[377] = (T)(img)(_n13##x,y,z,c)), \
+ (I[404] = (T)(img)(_n13##x,_n1##y,z,c)), \
+ (I[431] = (T)(img)(_n13##x,_n2##y,z,c)), \
+ (I[458] = (T)(img)(_n13##x,_n3##y,z,c)), \
+ (I[485] = (T)(img)(_n13##x,_n4##y,z,c)), \
+ (I[512] = (T)(img)(_n13##x,_n5##y,z,c)), \
+ (I[539] = (T)(img)(_n13##x,_n6##y,z,c)), \
+ (I[566] = (T)(img)(_n13##x,_n7##y,z,c)), \
+ (I[593] = (T)(img)(_n13##x,_n8##y,z,c)), \
+ (I[620] = (T)(img)(_n13##x,_n9##y,z,c)), \
+ (I[647] = (T)(img)(_n13##x,_n10##y,z,c)), \
+ (I[674] = (T)(img)(_n13##x,_n11##y,z,c)), \
+ (I[701] = (T)(img)(_n13##x,_n12##y,z,c)), \
+ (I[728] = (T)(img)(_n13##x,_n13##y,z,c)),1)) || \
+ _n12##x==--_n13##x || _n11##x==--_n12##x || _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n13##x = _n12##x = _n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], \
+ I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], \
+ I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], \
+ I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], \
+ I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], \
+ I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], \
+ I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], \
+ I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], \
+ I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], \
+ I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], \
+ I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], \
+ I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], \
+ I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], \
+ I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], I[359] = I[360], I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], I[376] = I[377], \
+ I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], I[399] = I[400], I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], \
+ I[405] = I[406], I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], I[415] = I[416], I[416] = I[417], I[417] = I[418], I[418] = I[419], I[419] = I[420], I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], \
+ I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], I[439] = I[440], I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], I[447] = I[448], I[448] = I[449], I[449] = I[450], I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], I[455] = I[456], I[456] = I[457], I[457] = I[458], \
+ I[459] = I[460], I[460] = I[461], I[461] = I[462], I[462] = I[463], I[463] = I[464], I[464] = I[465], I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], I[474] = I[475], I[475] = I[476], I[476] = I[477], I[477] = I[478], I[478] = I[479], I[479] = I[480], I[480] = I[481], I[481] = I[482], I[482] = I[483], I[483] = I[484], I[484] = I[485], \
+ I[486] = I[487], I[487] = I[488], I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], I[492] = I[493], I[493] = I[494], I[494] = I[495], I[495] = I[496], I[496] = I[497], I[497] = I[498], I[498] = I[499], I[499] = I[500], I[500] = I[501], I[501] = I[502], I[502] = I[503], I[503] = I[504], I[504] = I[505], I[505] = I[506], I[506] = I[507], I[507] = I[508], I[508] = I[509], I[509] = I[510], I[510] = I[511], I[511] = I[512], \
+ I[513] = I[514], I[514] = I[515], I[515] = I[516], I[516] = I[517], I[517] = I[518], I[518] = I[519], I[519] = I[520], I[520] = I[521], I[521] = I[522], I[522] = I[523], I[523] = I[524], I[524] = I[525], I[525] = I[526], I[526] = I[527], I[527] = I[528], I[528] = I[529], I[529] = I[530], I[530] = I[531], I[531] = I[532], I[532] = I[533], I[533] = I[534], I[534] = I[535], I[535] = I[536], I[536] = I[537], I[537] = I[538], I[538] = I[539], \
+ I[540] = I[541], I[541] = I[542], I[542] = I[543], I[543] = I[544], I[544] = I[545], I[545] = I[546], I[546] = I[547], I[547] = I[548], I[548] = I[549], I[549] = I[550], I[550] = I[551], I[551] = I[552], I[552] = I[553], I[553] = I[554], I[554] = I[555], I[555] = I[556], I[556] = I[557], I[557] = I[558], I[558] = I[559], I[559] = I[560], I[560] = I[561], I[561] = I[562], I[562] = I[563], I[563] = I[564], I[564] = I[565], I[565] = I[566], \
+ I[567] = I[568], I[568] = I[569], I[569] = I[570], I[570] = I[571], I[571] = I[572], I[572] = I[573], I[573] = I[574], I[574] = I[575], I[575] = I[576], I[576] = I[577], I[577] = I[578], I[578] = I[579], I[579] = I[580], I[580] = I[581], I[581] = I[582], I[582] = I[583], I[583] = I[584], I[584] = I[585], I[585] = I[586], I[586] = I[587], I[587] = I[588], I[588] = I[589], I[589] = I[590], I[590] = I[591], I[591] = I[592], I[592] = I[593], \
+ I[594] = I[595], I[595] = I[596], I[596] = I[597], I[597] = I[598], I[598] = I[599], I[599] = I[600], I[600] = I[601], I[601] = I[602], I[602] = I[603], I[603] = I[604], I[604] = I[605], I[605] = I[606], I[606] = I[607], I[607] = I[608], I[608] = I[609], I[609] = I[610], I[610] = I[611], I[611] = I[612], I[612] = I[613], I[613] = I[614], I[614] = I[615], I[615] = I[616], I[616] = I[617], I[617] = I[618], I[618] = I[619], I[619] = I[620], \
+ I[621] = I[622], I[622] = I[623], I[623] = I[624], I[624] = I[625], I[625] = I[626], I[626] = I[627], I[627] = I[628], I[628] = I[629], I[629] = I[630], I[630] = I[631], I[631] = I[632], I[632] = I[633], I[633] = I[634], I[634] = I[635], I[635] = I[636], I[636] = I[637], I[637] = I[638], I[638] = I[639], I[639] = I[640], I[640] = I[641], I[641] = I[642], I[642] = I[643], I[643] = I[644], I[644] = I[645], I[645] = I[646], I[646] = I[647], \
+ I[648] = I[649], I[649] = I[650], I[650] = I[651], I[651] = I[652], I[652] = I[653], I[653] = I[654], I[654] = I[655], I[655] = I[656], I[656] = I[657], I[657] = I[658], I[658] = I[659], I[659] = I[660], I[660] = I[661], I[661] = I[662], I[662] = I[663], I[663] = I[664], I[664] = I[665], I[665] = I[666], I[666] = I[667], I[667] = I[668], I[668] = I[669], I[669] = I[670], I[670] = I[671], I[671] = I[672], I[672] = I[673], I[673] = I[674], \
+ I[675] = I[676], I[676] = I[677], I[677] = I[678], I[678] = I[679], I[679] = I[680], I[680] = I[681], I[681] = I[682], I[682] = I[683], I[683] = I[684], I[684] = I[685], I[685] = I[686], I[686] = I[687], I[687] = I[688], I[688] = I[689], I[689] = I[690], I[690] = I[691], I[691] = I[692], I[692] = I[693], I[693] = I[694], I[694] = I[695], I[695] = I[696], I[696] = I[697], I[697] = I[698], I[698] = I[699], I[699] = I[700], I[700] = I[701], \
+ I[702] = I[703], I[703] = I[704], I[704] = I[705], I[705] = I[706], I[706] = I[707], I[707] = I[708], I[708] = I[709], I[709] = I[710], I[710] = I[711], I[711] = I[712], I[712] = I[713], I[713] = I[714], I[714] = I[715], I[715] = I[716], I[716] = I[717], I[717] = I[718], I[718] = I[719], I[719] = I[720], I[720] = I[721], I[721] = I[722], I[722] = I[723], I[723] = I[724], I[724] = I[725], I[725] = I[726], I[726] = I[727], I[727] = I[728], \
+ _p13##x = _p12##x, _p12##x = _p11##x, _p11##x = _p10##x, _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x, ++_n12##x, ++_n13##x)
+
+#define cimg_for_in27x27(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in27((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p13##x = x - 13<0?0:x - 13, \
+ _p12##x = x - 12<0?0:x - 12, \
+ _p11##x = x - 11<0?0:x - 11, \
+ _p10##x = x - 10<0?0:x - 10, \
+ _p9##x = x - 9<0?0:x - 9, \
+ _p8##x = x - 8<0?0:x - 8, \
+ _p7##x = x - 7<0?0:x - 7, \
+ _p6##x = x - 6<0?0:x - 6, \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = x + 5>=(img).width()?(img).width() - 1:x + 5, \
+ _n6##x = x + 6>=(img).width()?(img).width() - 1:x + 6, \
+ _n7##x = x + 7>=(img).width()?(img).width() - 1:x + 7, \
+ _n8##x = x + 8>=(img).width()?(img).width() - 1:x + 8, \
+ _n9##x = x + 9>=(img).width()?(img).width() - 1:x + 9, \
+ _n10##x = x + 10>=(img).width()?(img).width() - 1:x + 10, \
+ _n11##x = x + 11>=(img).width()?(img).width() - 1:x + 11, \
+ _n12##x = x + 12>=(img).width()?(img).width() - 1:x + 12, \
+ _n13##x = (int)( \
+ (I[0] = (T)(img)(_p13##x,_p13##y,z,c)), \
+ (I[27] = (T)(img)(_p13##x,_p12##y,z,c)), \
+ (I[54] = (T)(img)(_p13##x,_p11##y,z,c)), \
+ (I[81] = (T)(img)(_p13##x,_p10##y,z,c)), \
+ (I[108] = (T)(img)(_p13##x,_p9##y,z,c)), \
+ (I[135] = (T)(img)(_p13##x,_p8##y,z,c)), \
+ (I[162] = (T)(img)(_p13##x,_p7##y,z,c)), \
+ (I[189] = (T)(img)(_p13##x,_p6##y,z,c)), \
+ (I[216] = (T)(img)(_p13##x,_p5##y,z,c)), \
+ (I[243] = (T)(img)(_p13##x,_p4##y,z,c)), \
+ (I[270] = (T)(img)(_p13##x,_p3##y,z,c)), \
+ (I[297] = (T)(img)(_p13##x,_p2##y,z,c)), \
+ (I[324] = (T)(img)(_p13##x,_p1##y,z,c)), \
+ (I[351] = (T)(img)(_p13##x,y,z,c)), \
+ (I[378] = (T)(img)(_p13##x,_n1##y,z,c)), \
+ (I[405] = (T)(img)(_p13##x,_n2##y,z,c)), \
+ (I[432] = (T)(img)(_p13##x,_n3##y,z,c)), \
+ (I[459] = (T)(img)(_p13##x,_n4##y,z,c)), \
+ (I[486] = (T)(img)(_p13##x,_n5##y,z,c)), \
+ (I[513] = (T)(img)(_p13##x,_n6##y,z,c)), \
+ (I[540] = (T)(img)(_p13##x,_n7##y,z,c)), \
+ (I[567] = (T)(img)(_p13##x,_n8##y,z,c)), \
+ (I[594] = (T)(img)(_p13##x,_n9##y,z,c)), \
+ (I[621] = (T)(img)(_p13##x,_n10##y,z,c)), \
+ (I[648] = (T)(img)(_p13##x,_n11##y,z,c)), \
+ (I[675] = (T)(img)(_p13##x,_n12##y,z,c)), \
+ (I[702] = (T)(img)(_p13##x,_n13##y,z,c)), \
+ (I[1] = (T)(img)(_p12##x,_p13##y,z,c)), \
+ (I[28] = (T)(img)(_p12##x,_p12##y,z,c)), \
+ (I[55] = (T)(img)(_p12##x,_p11##y,z,c)), \
+ (I[82] = (T)(img)(_p12##x,_p10##y,z,c)), \
+ (I[109] = (T)(img)(_p12##x,_p9##y,z,c)), \
+ (I[136] = (T)(img)(_p12##x,_p8##y,z,c)), \
+ (I[163] = (T)(img)(_p12##x,_p7##y,z,c)), \
+ (I[190] = (T)(img)(_p12##x,_p6##y,z,c)), \
+ (I[217] = (T)(img)(_p12##x,_p5##y,z,c)), \
+ (I[244] = (T)(img)(_p12##x,_p4##y,z,c)), \
+ (I[271] = (T)(img)(_p12##x,_p3##y,z,c)), \
+ (I[298] = (T)(img)(_p12##x,_p2##y,z,c)), \
+ (I[325] = (T)(img)(_p12##x,_p1##y,z,c)), \
+ (I[352] = (T)(img)(_p12##x,y,z,c)), \
+ (I[379] = (T)(img)(_p12##x,_n1##y,z,c)), \
+ (I[406] = (T)(img)(_p12##x,_n2##y,z,c)), \
+ (I[433] = (T)(img)(_p12##x,_n3##y,z,c)), \
+ (I[460] = (T)(img)(_p12##x,_n4##y,z,c)), \
+ (I[487] = (T)(img)(_p12##x,_n5##y,z,c)), \
+ (I[514] = (T)(img)(_p12##x,_n6##y,z,c)), \
+ (I[541] = (T)(img)(_p12##x,_n7##y,z,c)), \
+ (I[568] = (T)(img)(_p12##x,_n8##y,z,c)), \
+ (I[595] = (T)(img)(_p12##x,_n9##y,z,c)), \
+ (I[622] = (T)(img)(_p12##x,_n10##y,z,c)), \
+ (I[649] = (T)(img)(_p12##x,_n11##y,z,c)), \
+ (I[676] = (T)(img)(_p12##x,_n12##y,z,c)), \
+ (I[703] = (T)(img)(_p12##x,_n13##y,z,c)), \
+ (I[2] = (T)(img)(_p11##x,_p13##y,z,c)), \
+ (I[29] = (T)(img)(_p11##x,_p12##y,z,c)), \
+ (I[56] = (T)(img)(_p11##x,_p11##y,z,c)), \
+ (I[83] = (T)(img)(_p11##x,_p10##y,z,c)), \
+ (I[110] = (T)(img)(_p11##x,_p9##y,z,c)), \
+ (I[137] = (T)(img)(_p11##x,_p8##y,z,c)), \
+ (I[164] = (T)(img)(_p11##x,_p7##y,z,c)), \
+ (I[191] = (T)(img)(_p11##x,_p6##y,z,c)), \
+ (I[218] = (T)(img)(_p11##x,_p5##y,z,c)), \
+ (I[245] = (T)(img)(_p11##x,_p4##y,z,c)), \
+ (I[272] = (T)(img)(_p11##x,_p3##y,z,c)), \
+ (I[299] = (T)(img)(_p11##x,_p2##y,z,c)), \
+ (I[326] = (T)(img)(_p11##x,_p1##y,z,c)), \
+ (I[353] = (T)(img)(_p11##x,y,z,c)), \
+ (I[380] = (T)(img)(_p11##x,_n1##y,z,c)), \
+ (I[407] = (T)(img)(_p11##x,_n2##y,z,c)), \
+ (I[434] = (T)(img)(_p11##x,_n3##y,z,c)), \
+ (I[461] = (T)(img)(_p11##x,_n4##y,z,c)), \
+ (I[488] = (T)(img)(_p11##x,_n5##y,z,c)), \
+ (I[515] = (T)(img)(_p11##x,_n6##y,z,c)), \
+ (I[542] = (T)(img)(_p11##x,_n7##y,z,c)), \
+ (I[569] = (T)(img)(_p11##x,_n8##y,z,c)), \
+ (I[596] = (T)(img)(_p11##x,_n9##y,z,c)), \
+ (I[623] = (T)(img)(_p11##x,_n10##y,z,c)), \
+ (I[650] = (T)(img)(_p11##x,_n11##y,z,c)), \
+ (I[677] = (T)(img)(_p11##x,_n12##y,z,c)), \
+ (I[704] = (T)(img)(_p11##x,_n13##y,z,c)), \
+ (I[3] = (T)(img)(_p10##x,_p13##y,z,c)), \
+ (I[30] = (T)(img)(_p10##x,_p12##y,z,c)), \
+ (I[57] = (T)(img)(_p10##x,_p11##y,z,c)), \
+ (I[84] = (T)(img)(_p10##x,_p10##y,z,c)), \
+ (I[111] = (T)(img)(_p10##x,_p9##y,z,c)), \
+ (I[138] = (T)(img)(_p10##x,_p8##y,z,c)), \
+ (I[165] = (T)(img)(_p10##x,_p7##y,z,c)), \
+ (I[192] = (T)(img)(_p10##x,_p6##y,z,c)), \
+ (I[219] = (T)(img)(_p10##x,_p5##y,z,c)), \
+ (I[246] = (T)(img)(_p10##x,_p4##y,z,c)), \
+ (I[273] = (T)(img)(_p10##x,_p3##y,z,c)), \
+ (I[300] = (T)(img)(_p10##x,_p2##y,z,c)), \
+ (I[327] = (T)(img)(_p10##x,_p1##y,z,c)), \
+ (I[354] = (T)(img)(_p10##x,y,z,c)), \
+ (I[381] = (T)(img)(_p10##x,_n1##y,z,c)), \
+ (I[408] = (T)(img)(_p10##x,_n2##y,z,c)), \
+ (I[435] = (T)(img)(_p10##x,_n3##y,z,c)), \
+ (I[462] = (T)(img)(_p10##x,_n4##y,z,c)), \
+ (I[489] = (T)(img)(_p10##x,_n5##y,z,c)), \
+ (I[516] = (T)(img)(_p10##x,_n6##y,z,c)), \
+ (I[543] = (T)(img)(_p10##x,_n7##y,z,c)), \
+ (I[570] = (T)(img)(_p10##x,_n8##y,z,c)), \
+ (I[597] = (T)(img)(_p10##x,_n9##y,z,c)), \
+ (I[624] = (T)(img)(_p10##x,_n10##y,z,c)), \
+ (I[651] = (T)(img)(_p10##x,_n11##y,z,c)), \
+ (I[678] = (T)(img)(_p10##x,_n12##y,z,c)), \
+ (I[705] = (T)(img)(_p10##x,_n13##y,z,c)), \
+ (I[4] = (T)(img)(_p9##x,_p13##y,z,c)), \
+ (I[31] = (T)(img)(_p9##x,_p12##y,z,c)), \
+ (I[58] = (T)(img)(_p9##x,_p11##y,z,c)), \
+ (I[85] = (T)(img)(_p9##x,_p10##y,z,c)), \
+ (I[112] = (T)(img)(_p9##x,_p9##y,z,c)), \
+ (I[139] = (T)(img)(_p9##x,_p8##y,z,c)), \
+ (I[166] = (T)(img)(_p9##x,_p7##y,z,c)), \
+ (I[193] = (T)(img)(_p9##x,_p6##y,z,c)), \
+ (I[220] = (T)(img)(_p9##x,_p5##y,z,c)), \
+ (I[247] = (T)(img)(_p9##x,_p4##y,z,c)), \
+ (I[274] = (T)(img)(_p9##x,_p3##y,z,c)), \
+ (I[301] = (T)(img)(_p9##x,_p2##y,z,c)), \
+ (I[328] = (T)(img)(_p9##x,_p1##y,z,c)), \
+ (I[355] = (T)(img)(_p9##x,y,z,c)), \
+ (I[382] = (T)(img)(_p9##x,_n1##y,z,c)), \
+ (I[409] = (T)(img)(_p9##x,_n2##y,z,c)), \
+ (I[436] = (T)(img)(_p9##x,_n3##y,z,c)), \
+ (I[463] = (T)(img)(_p9##x,_n4##y,z,c)), \
+ (I[490] = (T)(img)(_p9##x,_n5##y,z,c)), \
+ (I[517] = (T)(img)(_p9##x,_n6##y,z,c)), \
+ (I[544] = (T)(img)(_p9##x,_n7##y,z,c)), \
+ (I[571] = (T)(img)(_p9##x,_n8##y,z,c)), \
+ (I[598] = (T)(img)(_p9##x,_n9##y,z,c)), \
+ (I[625] = (T)(img)(_p9##x,_n10##y,z,c)), \
+ (I[652] = (T)(img)(_p9##x,_n11##y,z,c)), \
+ (I[679] = (T)(img)(_p9##x,_n12##y,z,c)), \
+ (I[706] = (T)(img)(_p9##x,_n13##y,z,c)), \
+ (I[5] = (T)(img)(_p8##x,_p13##y,z,c)), \
+ (I[32] = (T)(img)(_p8##x,_p12##y,z,c)), \
+ (I[59] = (T)(img)(_p8##x,_p11##y,z,c)), \
+ (I[86] = (T)(img)(_p8##x,_p10##y,z,c)), \
+ (I[113] = (T)(img)(_p8##x,_p9##y,z,c)), \
+ (I[140] = (T)(img)(_p8##x,_p8##y,z,c)), \
+ (I[167] = (T)(img)(_p8##x,_p7##y,z,c)), \
+ (I[194] = (T)(img)(_p8##x,_p6##y,z,c)), \
+ (I[221] = (T)(img)(_p8##x,_p5##y,z,c)), \
+ (I[248] = (T)(img)(_p8##x,_p4##y,z,c)), \
+ (I[275] = (T)(img)(_p8##x,_p3##y,z,c)), \
+ (I[302] = (T)(img)(_p8##x,_p2##y,z,c)), \
+ (I[329] = (T)(img)(_p8##x,_p1##y,z,c)), \
+ (I[356] = (T)(img)(_p8##x,y,z,c)), \
+ (I[383] = (T)(img)(_p8##x,_n1##y,z,c)), \
+ (I[410] = (T)(img)(_p8##x,_n2##y,z,c)), \
+ (I[437] = (T)(img)(_p8##x,_n3##y,z,c)), \
+ (I[464] = (T)(img)(_p8##x,_n4##y,z,c)), \
+ (I[491] = (T)(img)(_p8##x,_n5##y,z,c)), \
+ (I[518] = (T)(img)(_p8##x,_n6##y,z,c)), \
+ (I[545] = (T)(img)(_p8##x,_n7##y,z,c)), \
+ (I[572] = (T)(img)(_p8##x,_n8##y,z,c)), \
+ (I[599] = (T)(img)(_p8##x,_n9##y,z,c)), \
+ (I[626] = (T)(img)(_p8##x,_n10##y,z,c)), \
+ (I[653] = (T)(img)(_p8##x,_n11##y,z,c)), \
+ (I[680] = (T)(img)(_p8##x,_n12##y,z,c)), \
+ (I[707] = (T)(img)(_p8##x,_n13##y,z,c)), \
+ (I[6] = (T)(img)(_p7##x,_p13##y,z,c)), \
+ (I[33] = (T)(img)(_p7##x,_p12##y,z,c)), \
+ (I[60] = (T)(img)(_p7##x,_p11##y,z,c)), \
+ (I[87] = (T)(img)(_p7##x,_p10##y,z,c)), \
+ (I[114] = (T)(img)(_p7##x,_p9##y,z,c)), \
+ (I[141] = (T)(img)(_p7##x,_p8##y,z,c)), \
+ (I[168] = (T)(img)(_p7##x,_p7##y,z,c)), \
+ (I[195] = (T)(img)(_p7##x,_p6##y,z,c)), \
+ (I[222] = (T)(img)(_p7##x,_p5##y,z,c)), \
+ (I[249] = (T)(img)(_p7##x,_p4##y,z,c)), \
+ (I[276] = (T)(img)(_p7##x,_p3##y,z,c)), \
+ (I[303] = (T)(img)(_p7##x,_p2##y,z,c)), \
+ (I[330] = (T)(img)(_p7##x,_p1##y,z,c)), \
+ (I[357] = (T)(img)(_p7##x,y,z,c)), \
+ (I[384] = (T)(img)(_p7##x,_n1##y,z,c)), \
+ (I[411] = (T)(img)(_p7##x,_n2##y,z,c)), \
+ (I[438] = (T)(img)(_p7##x,_n3##y,z,c)), \
+ (I[465] = (T)(img)(_p7##x,_n4##y,z,c)), \
+ (I[492] = (T)(img)(_p7##x,_n5##y,z,c)), \
+ (I[519] = (T)(img)(_p7##x,_n6##y,z,c)), \
+ (I[546] = (T)(img)(_p7##x,_n7##y,z,c)), \
+ (I[573] = (T)(img)(_p7##x,_n8##y,z,c)), \
+ (I[600] = (T)(img)(_p7##x,_n9##y,z,c)), \
+ (I[627] = (T)(img)(_p7##x,_n10##y,z,c)), \
+ (I[654] = (T)(img)(_p7##x,_n11##y,z,c)), \
+ (I[681] = (T)(img)(_p7##x,_n12##y,z,c)), \
+ (I[708] = (T)(img)(_p7##x,_n13##y,z,c)), \
+ (I[7] = (T)(img)(_p6##x,_p13##y,z,c)), \
+ (I[34] = (T)(img)(_p6##x,_p12##y,z,c)), \
+ (I[61] = (T)(img)(_p6##x,_p11##y,z,c)), \
+ (I[88] = (T)(img)(_p6##x,_p10##y,z,c)), \
+ (I[115] = (T)(img)(_p6##x,_p9##y,z,c)), \
+ (I[142] = (T)(img)(_p6##x,_p8##y,z,c)), \
+ (I[169] = (T)(img)(_p6##x,_p7##y,z,c)), \
+ (I[196] = (T)(img)(_p6##x,_p6##y,z,c)), \
+ (I[223] = (T)(img)(_p6##x,_p5##y,z,c)), \
+ (I[250] = (T)(img)(_p6##x,_p4##y,z,c)), \
+ (I[277] = (T)(img)(_p6##x,_p3##y,z,c)), \
+ (I[304] = (T)(img)(_p6##x,_p2##y,z,c)), \
+ (I[331] = (T)(img)(_p6##x,_p1##y,z,c)), \
+ (I[358] = (T)(img)(_p6##x,y,z,c)), \
+ (I[385] = (T)(img)(_p6##x,_n1##y,z,c)), \
+ (I[412] = (T)(img)(_p6##x,_n2##y,z,c)), \
+ (I[439] = (T)(img)(_p6##x,_n3##y,z,c)), \
+ (I[466] = (T)(img)(_p6##x,_n4##y,z,c)), \
+ (I[493] = (T)(img)(_p6##x,_n5##y,z,c)), \
+ (I[520] = (T)(img)(_p6##x,_n6##y,z,c)), \
+ (I[547] = (T)(img)(_p6##x,_n7##y,z,c)), \
+ (I[574] = (T)(img)(_p6##x,_n8##y,z,c)), \
+ (I[601] = (T)(img)(_p6##x,_n9##y,z,c)), \
+ (I[628] = (T)(img)(_p6##x,_n10##y,z,c)), \
+ (I[655] = (T)(img)(_p6##x,_n11##y,z,c)), \
+ (I[682] = (T)(img)(_p6##x,_n12##y,z,c)), \
+ (I[709] = (T)(img)(_p6##x,_n13##y,z,c)), \
+ (I[8] = (T)(img)(_p5##x,_p13##y,z,c)), \
+ (I[35] = (T)(img)(_p5##x,_p12##y,z,c)), \
+ (I[62] = (T)(img)(_p5##x,_p11##y,z,c)), \
+ (I[89] = (T)(img)(_p5##x,_p10##y,z,c)), \
+ (I[116] = (T)(img)(_p5##x,_p9##y,z,c)), \
+ (I[143] = (T)(img)(_p5##x,_p8##y,z,c)), \
+ (I[170] = (T)(img)(_p5##x,_p7##y,z,c)), \
+ (I[197] = (T)(img)(_p5##x,_p6##y,z,c)), \
+ (I[224] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[251] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[278] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[305] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[332] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[359] = (T)(img)(_p5##x,y,z,c)), \
+ (I[386] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[413] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[440] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[467] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[494] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[521] = (T)(img)(_p5##x,_n6##y,z,c)), \
+ (I[548] = (T)(img)(_p5##x,_n7##y,z,c)), \
+ (I[575] = (T)(img)(_p5##x,_n8##y,z,c)), \
+ (I[602] = (T)(img)(_p5##x,_n9##y,z,c)), \
+ (I[629] = (T)(img)(_p5##x,_n10##y,z,c)), \
+ (I[656] = (T)(img)(_p5##x,_n11##y,z,c)), \
+ (I[683] = (T)(img)(_p5##x,_n12##y,z,c)), \
+ (I[710] = (T)(img)(_p5##x,_n13##y,z,c)), \
+ (I[9] = (T)(img)(_p4##x,_p13##y,z,c)), \
+ (I[36] = (T)(img)(_p4##x,_p12##y,z,c)), \
+ (I[63] = (T)(img)(_p4##x,_p11##y,z,c)), \
+ (I[90] = (T)(img)(_p4##x,_p10##y,z,c)), \
+ (I[117] = (T)(img)(_p4##x,_p9##y,z,c)), \
+ (I[144] = (T)(img)(_p4##x,_p8##y,z,c)), \
+ (I[171] = (T)(img)(_p4##x,_p7##y,z,c)), \
+ (I[198] = (T)(img)(_p4##x,_p6##y,z,c)), \
+ (I[225] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[252] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[279] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[306] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[333] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[360] = (T)(img)(_p4##x,y,z,c)), \
+ (I[387] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[414] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[441] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[468] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[495] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[522] = (T)(img)(_p4##x,_n6##y,z,c)), \
+ (I[549] = (T)(img)(_p4##x,_n7##y,z,c)), \
+ (I[576] = (T)(img)(_p4##x,_n8##y,z,c)), \
+ (I[603] = (T)(img)(_p4##x,_n9##y,z,c)), \
+ (I[630] = (T)(img)(_p4##x,_n10##y,z,c)), \
+ (I[657] = (T)(img)(_p4##x,_n11##y,z,c)), \
+ (I[684] = (T)(img)(_p4##x,_n12##y,z,c)), \
+ (I[711] = (T)(img)(_p4##x,_n13##y,z,c)), \
+ (I[10] = (T)(img)(_p3##x,_p13##y,z,c)), \
+ (I[37] = (T)(img)(_p3##x,_p12##y,z,c)), \
+ (I[64] = (T)(img)(_p3##x,_p11##y,z,c)), \
+ (I[91] = (T)(img)(_p3##x,_p10##y,z,c)), \
+ (I[118] = (T)(img)(_p3##x,_p9##y,z,c)), \
+ (I[145] = (T)(img)(_p3##x,_p8##y,z,c)), \
+ (I[172] = (T)(img)(_p3##x,_p7##y,z,c)), \
+ (I[199] = (T)(img)(_p3##x,_p6##y,z,c)), \
+ (I[226] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[253] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[280] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[307] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[334] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[361] = (T)(img)(_p3##x,y,z,c)), \
+ (I[388] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[415] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[442] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[469] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[496] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[523] = (T)(img)(_p3##x,_n6##y,z,c)), \
+ (I[550] = (T)(img)(_p3##x,_n7##y,z,c)), \
+ (I[577] = (T)(img)(_p3##x,_n8##y,z,c)), \
+ (I[604] = (T)(img)(_p3##x,_n9##y,z,c)), \
+ (I[631] = (T)(img)(_p3##x,_n10##y,z,c)), \
+ (I[658] = (T)(img)(_p3##x,_n11##y,z,c)), \
+ (I[685] = (T)(img)(_p3##x,_n12##y,z,c)), \
+ (I[712] = (T)(img)(_p3##x,_n13##y,z,c)), \
+ (I[11] = (T)(img)(_p2##x,_p13##y,z,c)), \
+ (I[38] = (T)(img)(_p2##x,_p12##y,z,c)), \
+ (I[65] = (T)(img)(_p2##x,_p11##y,z,c)), \
+ (I[92] = (T)(img)(_p2##x,_p10##y,z,c)), \
+ (I[119] = (T)(img)(_p2##x,_p9##y,z,c)), \
+ (I[146] = (T)(img)(_p2##x,_p8##y,z,c)), \
+ (I[173] = (T)(img)(_p2##x,_p7##y,z,c)), \
+ (I[200] = (T)(img)(_p2##x,_p6##y,z,c)), \
+ (I[227] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[254] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[281] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[308] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[335] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[362] = (T)(img)(_p2##x,y,z,c)), \
+ (I[389] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[416] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[443] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[470] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[497] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[524] = (T)(img)(_p2##x,_n6##y,z,c)), \
+ (I[551] = (T)(img)(_p2##x,_n7##y,z,c)), \
+ (I[578] = (T)(img)(_p2##x,_n8##y,z,c)), \
+ (I[605] = (T)(img)(_p2##x,_n9##y,z,c)), \
+ (I[632] = (T)(img)(_p2##x,_n10##y,z,c)), \
+ (I[659] = (T)(img)(_p2##x,_n11##y,z,c)), \
+ (I[686] = (T)(img)(_p2##x,_n12##y,z,c)), \
+ (I[713] = (T)(img)(_p2##x,_n13##y,z,c)), \
+ (I[12] = (T)(img)(_p1##x,_p13##y,z,c)), \
+ (I[39] = (T)(img)(_p1##x,_p12##y,z,c)), \
+ (I[66] = (T)(img)(_p1##x,_p11##y,z,c)), \
+ (I[93] = (T)(img)(_p1##x,_p10##y,z,c)), \
+ (I[120] = (T)(img)(_p1##x,_p9##y,z,c)), \
+ (I[147] = (T)(img)(_p1##x,_p8##y,z,c)), \
+ (I[174] = (T)(img)(_p1##x,_p7##y,z,c)), \
+ (I[201] = (T)(img)(_p1##x,_p6##y,z,c)), \
+ (I[228] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[255] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[282] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[309] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[336] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[363] = (T)(img)(_p1##x,y,z,c)), \
+ (I[390] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[417] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[444] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[471] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[498] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[525] = (T)(img)(_p1##x,_n6##y,z,c)), \
+ (I[552] = (T)(img)(_p1##x,_n7##y,z,c)), \
+ (I[579] = (T)(img)(_p1##x,_n8##y,z,c)), \
+ (I[606] = (T)(img)(_p1##x,_n9##y,z,c)), \
+ (I[633] = (T)(img)(_p1##x,_n10##y,z,c)), \
+ (I[660] = (T)(img)(_p1##x,_n11##y,z,c)), \
+ (I[687] = (T)(img)(_p1##x,_n12##y,z,c)), \
+ (I[714] = (T)(img)(_p1##x,_n13##y,z,c)), \
+ (I[13] = (T)(img)(x,_p13##y,z,c)), \
+ (I[40] = (T)(img)(x,_p12##y,z,c)), \
+ (I[67] = (T)(img)(x,_p11##y,z,c)), \
+ (I[94] = (T)(img)(x,_p10##y,z,c)), \
+ (I[121] = (T)(img)(x,_p9##y,z,c)), \
+ (I[148] = (T)(img)(x,_p8##y,z,c)), \
+ (I[175] = (T)(img)(x,_p7##y,z,c)), \
+ (I[202] = (T)(img)(x,_p6##y,z,c)), \
+ (I[229] = (T)(img)(x,_p5##y,z,c)), \
+ (I[256] = (T)(img)(x,_p4##y,z,c)), \
+ (I[283] = (T)(img)(x,_p3##y,z,c)), \
+ (I[310] = (T)(img)(x,_p2##y,z,c)), \
+ (I[337] = (T)(img)(x,_p1##y,z,c)), \
+ (I[364] = (T)(img)(x,y,z,c)), \
+ (I[391] = (T)(img)(x,_n1##y,z,c)), \
+ (I[418] = (T)(img)(x,_n2##y,z,c)), \
+ (I[445] = (T)(img)(x,_n3##y,z,c)), \
+ (I[472] = (T)(img)(x,_n4##y,z,c)), \
+ (I[499] = (T)(img)(x,_n5##y,z,c)), \
+ (I[526] = (T)(img)(x,_n6##y,z,c)), \
+ (I[553] = (T)(img)(x,_n7##y,z,c)), \
+ (I[580] = (T)(img)(x,_n8##y,z,c)), \
+ (I[607] = (T)(img)(x,_n9##y,z,c)), \
+ (I[634] = (T)(img)(x,_n10##y,z,c)), \
+ (I[661] = (T)(img)(x,_n11##y,z,c)), \
+ (I[688] = (T)(img)(x,_n12##y,z,c)), \
+ (I[715] = (T)(img)(x,_n13##y,z,c)), \
+ (I[14] = (T)(img)(_n1##x,_p13##y,z,c)), \
+ (I[41] = (T)(img)(_n1##x,_p12##y,z,c)), \
+ (I[68] = (T)(img)(_n1##x,_p11##y,z,c)), \
+ (I[95] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[122] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[149] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[176] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[203] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[230] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[257] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[284] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[311] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[338] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[365] = (T)(img)(_n1##x,y,z,c)), \
+ (I[392] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[419] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[446] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[473] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[500] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[527] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[554] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[581] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[608] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[635] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[662] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[689] = (T)(img)(_n1##x,_n12##y,z,c)), \
+ (I[716] = (T)(img)(_n1##x,_n13##y,z,c)), \
+ (I[15] = (T)(img)(_n2##x,_p13##y,z,c)), \
+ (I[42] = (T)(img)(_n2##x,_p12##y,z,c)), \
+ (I[69] = (T)(img)(_n2##x,_p11##y,z,c)), \
+ (I[96] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[123] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[150] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[177] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[204] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[231] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[258] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[285] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[312] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[339] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[366] = (T)(img)(_n2##x,y,z,c)), \
+ (I[393] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[420] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[447] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[474] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[501] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[528] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[555] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[582] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[609] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[636] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[663] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[690] = (T)(img)(_n2##x,_n12##y,z,c)), \
+ (I[717] = (T)(img)(_n2##x,_n13##y,z,c)), \
+ (I[16] = (T)(img)(_n3##x,_p13##y,z,c)), \
+ (I[43] = (T)(img)(_n3##x,_p12##y,z,c)), \
+ (I[70] = (T)(img)(_n3##x,_p11##y,z,c)), \
+ (I[97] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[124] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[151] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[178] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[205] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[232] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[259] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[286] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[313] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[340] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[367] = (T)(img)(_n3##x,y,z,c)), \
+ (I[394] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[421] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[448] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[475] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[502] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[529] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[556] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[583] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[610] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[637] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[664] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[691] = (T)(img)(_n3##x,_n12##y,z,c)), \
+ (I[718] = (T)(img)(_n3##x,_n13##y,z,c)), \
+ (I[17] = (T)(img)(_n4##x,_p13##y,z,c)), \
+ (I[44] = (T)(img)(_n4##x,_p12##y,z,c)), \
+ (I[71] = (T)(img)(_n4##x,_p11##y,z,c)), \
+ (I[98] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[125] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[152] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[179] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[206] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[233] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[260] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[287] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[314] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[341] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[368] = (T)(img)(_n4##x,y,z,c)), \
+ (I[395] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[422] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[449] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[476] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[503] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[530] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[557] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[584] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[611] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[638] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[665] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[692] = (T)(img)(_n4##x,_n12##y,z,c)), \
+ (I[719] = (T)(img)(_n4##x,_n13##y,z,c)), \
+ (I[18] = (T)(img)(_n5##x,_p13##y,z,c)), \
+ (I[45] = (T)(img)(_n5##x,_p12##y,z,c)), \
+ (I[72] = (T)(img)(_n5##x,_p11##y,z,c)), \
+ (I[99] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[126] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[153] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[180] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[207] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[234] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[261] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[288] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[315] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[342] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[369] = (T)(img)(_n5##x,y,z,c)), \
+ (I[396] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[423] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[450] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[477] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[504] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[531] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[558] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[585] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[612] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[639] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[666] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[693] = (T)(img)(_n5##x,_n12##y,z,c)), \
+ (I[720] = (T)(img)(_n5##x,_n13##y,z,c)), \
+ (I[19] = (T)(img)(_n6##x,_p13##y,z,c)), \
+ (I[46] = (T)(img)(_n6##x,_p12##y,z,c)), \
+ (I[73] = (T)(img)(_n6##x,_p11##y,z,c)), \
+ (I[100] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[127] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[154] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[181] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[208] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[235] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[262] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[289] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[316] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[343] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[370] = (T)(img)(_n6##x,y,z,c)), \
+ (I[397] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[424] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[451] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[478] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[505] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[532] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[559] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[586] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[613] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[640] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[667] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[694] = (T)(img)(_n6##x,_n12##y,z,c)), \
+ (I[721] = (T)(img)(_n6##x,_n13##y,z,c)), \
+ (I[20] = (T)(img)(_n7##x,_p13##y,z,c)), \
+ (I[47] = (T)(img)(_n7##x,_p12##y,z,c)), \
+ (I[74] = (T)(img)(_n7##x,_p11##y,z,c)), \
+ (I[101] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[128] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[155] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[182] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[209] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[236] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[263] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[290] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[317] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[344] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[371] = (T)(img)(_n7##x,y,z,c)), \
+ (I[398] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[425] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[452] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[479] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[506] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[533] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[560] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[587] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[614] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[641] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[668] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[695] = (T)(img)(_n7##x,_n12##y,z,c)), \
+ (I[722] = (T)(img)(_n7##x,_n13##y,z,c)), \
+ (I[21] = (T)(img)(_n8##x,_p13##y,z,c)), \
+ (I[48] = (T)(img)(_n8##x,_p12##y,z,c)), \
+ (I[75] = (T)(img)(_n8##x,_p11##y,z,c)), \
+ (I[102] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[129] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[156] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[183] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[210] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[237] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[264] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[291] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[318] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[345] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[372] = (T)(img)(_n8##x,y,z,c)), \
+ (I[399] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[426] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[453] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[480] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[507] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[534] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[561] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[588] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[615] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[642] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[669] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[696] = (T)(img)(_n8##x,_n12##y,z,c)), \
+ (I[723] = (T)(img)(_n8##x,_n13##y,z,c)), \
+ (I[22] = (T)(img)(_n9##x,_p13##y,z,c)), \
+ (I[49] = (T)(img)(_n9##x,_p12##y,z,c)), \
+ (I[76] = (T)(img)(_n9##x,_p11##y,z,c)), \
+ (I[103] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[130] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[157] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[184] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[211] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[238] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[265] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[292] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[319] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[346] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[373] = (T)(img)(_n9##x,y,z,c)), \
+ (I[400] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[427] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[454] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[481] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[508] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[535] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[562] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[589] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[616] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[643] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[670] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[697] = (T)(img)(_n9##x,_n12##y,z,c)), \
+ (I[724] = (T)(img)(_n9##x,_n13##y,z,c)), \
+ (I[23] = (T)(img)(_n10##x,_p13##y,z,c)), \
+ (I[50] = (T)(img)(_n10##x,_p12##y,z,c)), \
+ (I[77] = (T)(img)(_n10##x,_p11##y,z,c)), \
+ (I[104] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[131] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[158] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[185] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[212] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[239] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[266] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[293] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[320] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[347] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[374] = (T)(img)(_n10##x,y,z,c)), \
+ (I[401] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[428] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[455] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[482] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[509] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[536] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[563] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[590] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[617] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[644] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[671] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ (I[698] = (T)(img)(_n10##x,_n12##y,z,c)), \
+ (I[725] = (T)(img)(_n10##x,_n13##y,z,c)), \
+ (I[24] = (T)(img)(_n11##x,_p13##y,z,c)), \
+ (I[51] = (T)(img)(_n11##x,_p12##y,z,c)), \
+ (I[78] = (T)(img)(_n11##x,_p11##y,z,c)), \
+ (I[105] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[132] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[159] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[186] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[213] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[240] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[267] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[294] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[321] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[348] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[375] = (T)(img)(_n11##x,y,z,c)), \
+ (I[402] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[429] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[456] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[483] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[510] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[537] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[564] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[591] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[618] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[645] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[672] = (T)(img)(_n11##x,_n11##y,z,c)), \
+ (I[699] = (T)(img)(_n11##x,_n12##y,z,c)), \
+ (I[726] = (T)(img)(_n11##x,_n13##y,z,c)), \
+ (I[25] = (T)(img)(_n12##x,_p13##y,z,c)), \
+ (I[52] = (T)(img)(_n12##x,_p12##y,z,c)), \
+ (I[79] = (T)(img)(_n12##x,_p11##y,z,c)), \
+ (I[106] = (T)(img)(_n12##x,_p10##y,z,c)), \
+ (I[133] = (T)(img)(_n12##x,_p9##y,z,c)), \
+ (I[160] = (T)(img)(_n12##x,_p8##y,z,c)), \
+ (I[187] = (T)(img)(_n12##x,_p7##y,z,c)), \
+ (I[214] = (T)(img)(_n12##x,_p6##y,z,c)), \
+ (I[241] = (T)(img)(_n12##x,_p5##y,z,c)), \
+ (I[268] = (T)(img)(_n12##x,_p4##y,z,c)), \
+ (I[295] = (T)(img)(_n12##x,_p3##y,z,c)), \
+ (I[322] = (T)(img)(_n12##x,_p2##y,z,c)), \
+ (I[349] = (T)(img)(_n12##x,_p1##y,z,c)), \
+ (I[376] = (T)(img)(_n12##x,y,z,c)), \
+ (I[403] = (T)(img)(_n12##x,_n1##y,z,c)), \
+ (I[430] = (T)(img)(_n12##x,_n2##y,z,c)), \
+ (I[457] = (T)(img)(_n12##x,_n3##y,z,c)), \
+ (I[484] = (T)(img)(_n12##x,_n4##y,z,c)), \
+ (I[511] = (T)(img)(_n12##x,_n5##y,z,c)), \
+ (I[538] = (T)(img)(_n12##x,_n6##y,z,c)), \
+ (I[565] = (T)(img)(_n12##x,_n7##y,z,c)), \
+ (I[592] = (T)(img)(_n12##x,_n8##y,z,c)), \
+ (I[619] = (T)(img)(_n12##x,_n9##y,z,c)), \
+ (I[646] = (T)(img)(_n12##x,_n10##y,z,c)), \
+ (I[673] = (T)(img)(_n12##x,_n11##y,z,c)), \
+ (I[700] = (T)(img)(_n12##x,_n12##y,z,c)), \
+ (I[727] = (T)(img)(_n12##x,_n13##y,z,c)), \
+ x + 13>=(img).width()?(img).width() - 1:x + 13); \
+ x<=(int)(x1) && ((_n13##x<(img).width() && ( \
+ (I[26] = (T)(img)(_n13##x,_p13##y,z,c)), \
+ (I[53] = (T)(img)(_n13##x,_p12##y,z,c)), \
+ (I[80] = (T)(img)(_n13##x,_p11##y,z,c)), \
+ (I[107] = (T)(img)(_n13##x,_p10##y,z,c)), \
+ (I[134] = (T)(img)(_n13##x,_p9##y,z,c)), \
+ (I[161] = (T)(img)(_n13##x,_p8##y,z,c)), \
+ (I[188] = (T)(img)(_n13##x,_p7##y,z,c)), \
+ (I[215] = (T)(img)(_n13##x,_p6##y,z,c)), \
+ (I[242] = (T)(img)(_n13##x,_p5##y,z,c)), \
+ (I[269] = (T)(img)(_n13##x,_p4##y,z,c)), \
+ (I[296] = (T)(img)(_n13##x,_p3##y,z,c)), \
+ (I[323] = (T)(img)(_n13##x,_p2##y,z,c)), \
+ (I[350] = (T)(img)(_n13##x,_p1##y,z,c)), \
+ (I[377] = (T)(img)(_n13##x,y,z,c)), \
+ (I[404] = (T)(img)(_n13##x,_n1##y,z,c)), \
+ (I[431] = (T)(img)(_n13##x,_n2##y,z,c)), \
+ (I[458] = (T)(img)(_n13##x,_n3##y,z,c)), \
+ (I[485] = (T)(img)(_n13##x,_n4##y,z,c)), \
+ (I[512] = (T)(img)(_n13##x,_n5##y,z,c)), \
+ (I[539] = (T)(img)(_n13##x,_n6##y,z,c)), \
+ (I[566] = (T)(img)(_n13##x,_n7##y,z,c)), \
+ (I[593] = (T)(img)(_n13##x,_n8##y,z,c)), \
+ (I[620] = (T)(img)(_n13##x,_n9##y,z,c)), \
+ (I[647] = (T)(img)(_n13##x,_n10##y,z,c)), \
+ (I[674] = (T)(img)(_n13##x,_n11##y,z,c)), \
+ (I[701] = (T)(img)(_n13##x,_n12##y,z,c)), \
+ (I[728] = (T)(img)(_n13##x,_n13##y,z,c)),1)) || \
+ _n12##x==--_n13##x || _n11##x==--_n12##x || _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n13##x = _n12##x = _n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], \
+ I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], \
+ I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], \
+ I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], \
+ I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], \
+ I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], \
+ I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], \
+ I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], \
+ I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], \
+ I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], \
+ I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], \
+ I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], \
+ I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], \
+ I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], I[359] = I[360], I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], I[376] = I[377], \
+ I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], I[399] = I[400], I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], \
+ I[405] = I[406], I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], I[415] = I[416], I[416] = I[417], I[417] = I[418], I[418] = I[419], I[419] = I[420], I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], \
+ I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], I[439] = I[440], I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], I[447] = I[448], I[448] = I[449], I[449] = I[450], I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], I[455] = I[456], I[456] = I[457], I[457] = I[458], \
+ I[459] = I[460], I[460] = I[461], I[461] = I[462], I[462] = I[463], I[463] = I[464], I[464] = I[465], I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], I[474] = I[475], I[475] = I[476], I[476] = I[477], I[477] = I[478], I[478] = I[479], I[479] = I[480], I[480] = I[481], I[481] = I[482], I[482] = I[483], I[483] = I[484], I[484] = I[485], \
+ I[486] = I[487], I[487] = I[488], I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], I[492] = I[493], I[493] = I[494], I[494] = I[495], I[495] = I[496], I[496] = I[497], I[497] = I[498], I[498] = I[499], I[499] = I[500], I[500] = I[501], I[501] = I[502], I[502] = I[503], I[503] = I[504], I[504] = I[505], I[505] = I[506], I[506] = I[507], I[507] = I[508], I[508] = I[509], I[509] = I[510], I[510] = I[511], I[511] = I[512], \
+ I[513] = I[514], I[514] = I[515], I[515] = I[516], I[516] = I[517], I[517] = I[518], I[518] = I[519], I[519] = I[520], I[520] = I[521], I[521] = I[522], I[522] = I[523], I[523] = I[524], I[524] = I[525], I[525] = I[526], I[526] = I[527], I[527] = I[528], I[528] = I[529], I[529] = I[530], I[530] = I[531], I[531] = I[532], I[532] = I[533], I[533] = I[534], I[534] = I[535], I[535] = I[536], I[536] = I[537], I[537] = I[538], I[538] = I[539], \
+ I[540] = I[541], I[541] = I[542], I[542] = I[543], I[543] = I[544], I[544] = I[545], I[545] = I[546], I[546] = I[547], I[547] = I[548], I[548] = I[549], I[549] = I[550], I[550] = I[551], I[551] = I[552], I[552] = I[553], I[553] = I[554], I[554] = I[555], I[555] = I[556], I[556] = I[557], I[557] = I[558], I[558] = I[559], I[559] = I[560], I[560] = I[561], I[561] = I[562], I[562] = I[563], I[563] = I[564], I[564] = I[565], I[565] = I[566], \
+ I[567] = I[568], I[568] = I[569], I[569] = I[570], I[570] = I[571], I[571] = I[572], I[572] = I[573], I[573] = I[574], I[574] = I[575], I[575] = I[576], I[576] = I[577], I[577] = I[578], I[578] = I[579], I[579] = I[580], I[580] = I[581], I[581] = I[582], I[582] = I[583], I[583] = I[584], I[584] = I[585], I[585] = I[586], I[586] = I[587], I[587] = I[588], I[588] = I[589], I[589] = I[590], I[590] = I[591], I[591] = I[592], I[592] = I[593], \
+ I[594] = I[595], I[595] = I[596], I[596] = I[597], I[597] = I[598], I[598] = I[599], I[599] = I[600], I[600] = I[601], I[601] = I[602], I[602] = I[603], I[603] = I[604], I[604] = I[605], I[605] = I[606], I[606] = I[607], I[607] = I[608], I[608] = I[609], I[609] = I[610], I[610] = I[611], I[611] = I[612], I[612] = I[613], I[613] = I[614], I[614] = I[615], I[615] = I[616], I[616] = I[617], I[617] = I[618], I[618] = I[619], I[619] = I[620], \
+ I[621] = I[622], I[622] = I[623], I[623] = I[624], I[624] = I[625], I[625] = I[626], I[626] = I[627], I[627] = I[628], I[628] = I[629], I[629] = I[630], I[630] = I[631], I[631] = I[632], I[632] = I[633], I[633] = I[634], I[634] = I[635], I[635] = I[636], I[636] = I[637], I[637] = I[638], I[638] = I[639], I[639] = I[640], I[640] = I[641], I[641] = I[642], I[642] = I[643], I[643] = I[644], I[644] = I[645], I[645] = I[646], I[646] = I[647], \
+ I[648] = I[649], I[649] = I[650], I[650] = I[651], I[651] = I[652], I[652] = I[653], I[653] = I[654], I[654] = I[655], I[655] = I[656], I[656] = I[657], I[657] = I[658], I[658] = I[659], I[659] = I[660], I[660] = I[661], I[661] = I[662], I[662] = I[663], I[663] = I[664], I[664] = I[665], I[665] = I[666], I[666] = I[667], I[667] = I[668], I[668] = I[669], I[669] = I[670], I[670] = I[671], I[671] = I[672], I[672] = I[673], I[673] = I[674], \
+ I[675] = I[676], I[676] = I[677], I[677] = I[678], I[678] = I[679], I[679] = I[680], I[680] = I[681], I[681] = I[682], I[682] = I[683], I[683] = I[684], I[684] = I[685], I[685] = I[686], I[686] = I[687], I[687] = I[688], I[688] = I[689], I[689] = I[690], I[690] = I[691], I[691] = I[692], I[692] = I[693], I[693] = I[694], I[694] = I[695], I[695] = I[696], I[696] = I[697], I[697] = I[698], I[698] = I[699], I[699] = I[700], I[700] = I[701], \
+ I[702] = I[703], I[703] = I[704], I[704] = I[705], I[705] = I[706], I[706] = I[707], I[707] = I[708], I[708] = I[709], I[709] = I[710], I[710] = I[711], I[711] = I[712], I[712] = I[713], I[713] = I[714], I[714] = I[715], I[715] = I[716], I[716] = I[717], I[717] = I[718], I[718] = I[719], I[719] = I[720], I[720] = I[721], I[721] = I[722], I[722] = I[723], I[723] = I[724], I[724] = I[725], I[725] = I[726], I[726] = I[727], I[727] = I[728], \
+ _p13##x = _p12##x, _p12##x = _p11##x, _p11##x = _p10##x, _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x, ++_n12##x, ++_n13##x)
+
+#define cimg_get27x27(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p13##x,_p13##y,z,c), I[1] = (T)(img)(_p12##x,_p13##y,z,c), I[2] = (T)(img)(_p11##x,_p13##y,z,c), I[3] = (T)(img)(_p10##x,_p13##y,z,c), I[4] = (T)(img)(_p9##x,_p13##y,z,c), I[5] = (T)(img)(_p8##x,_p13##y,z,c), I[6] = (T)(img)(_p7##x,_p13##y,z,c), I[7] = (T)(img)(_p6##x,_p13##y,z,c), I[8] = (T)(img)(_p5##x,_p13##y,z,c), I[9] = (T)(img)(_p4##x,_p13##y,z,c), I[10] = (T)(img)(_p3##x,_p13##y,z,c), I[11] = (T)(img)(_p2##x,_p13##y,z,c), I[12] = (T)(img)(_p1##x,_p13##y,z,c), I[1 [...]
+ I[27] = (T)(img)(_p13##x,_p12##y,z,c), I[28] = (T)(img)(_p12##x,_p12##y,z,c), I[29] = (T)(img)(_p11##x,_p12##y,z,c), I[30] = (T)(img)(_p10##x,_p12##y,z,c), I[31] = (T)(img)(_p9##x,_p12##y,z,c), I[32] = (T)(img)(_p8##x,_p12##y,z,c), I[33] = (T)(img)(_p7##x,_p12##y,z,c), I[34] = (T)(img)(_p6##x,_p12##y,z,c), I[35] = (T)(img)(_p5##x,_p12##y,z,c), I[36] = (T)(img)(_p4##x,_p12##y,z,c), I[37] = (T)(img)(_p3##x,_p12##y,z,c), I[38] = (T)(img)(_p2##x,_p12##y,z,c), I[39] = (T)(img)(_p1##x,_p12##y [...]
+ I[54] = (T)(img)(_p13##x,_p11##y,z,c), I[55] = (T)(img)(_p12##x,_p11##y,z,c), I[56] = (T)(img)(_p11##x,_p11##y,z,c), I[57] = (T)(img)(_p10##x,_p11##y,z,c), I[58] = (T)(img)(_p9##x,_p11##y,z,c), I[59] = (T)(img)(_p8##x,_p11##y,z,c), I[60] = (T)(img)(_p7##x,_p11##y,z,c), I[61] = (T)(img)(_p6##x,_p11##y,z,c), I[62] = (T)(img)(_p5##x,_p11##y,z,c), I[63] = (T)(img)(_p4##x,_p11##y,z,c), I[64] = (T)(img)(_p3##x,_p11##y,z,c), I[65] = (T)(img)(_p2##x,_p11##y,z,c), I[66] = (T)(img)(_p1##x,_p11##y [...]
+ I[81] = (T)(img)(_p13##x,_p10##y,z,c), I[82] = (T)(img)(_p12##x,_p10##y,z,c), I[83] = (T)(img)(_p11##x,_p10##y,z,c), I[84] = (T)(img)(_p10##x,_p10##y,z,c), I[85] = (T)(img)(_p9##x,_p10##y,z,c), I[86] = (T)(img)(_p8##x,_p10##y,z,c), I[87] = (T)(img)(_p7##x,_p10##y,z,c), I[88] = (T)(img)(_p6##x,_p10##y,z,c), I[89] = (T)(img)(_p5##x,_p10##y,z,c), I[90] = (T)(img)(_p4##x,_p10##y,z,c), I[91] = (T)(img)(_p3##x,_p10##y,z,c), I[92] = (T)(img)(_p2##x,_p10##y,z,c), I[93] = (T)(img)(_p1##x,_p10##y [...]
+ I[108] = (T)(img)(_p13##x,_p9##y,z,c), I[109] = (T)(img)(_p12##x,_p9##y,z,c), I[110] = (T)(img)(_p11##x,_p9##y,z,c), I[111] = (T)(img)(_p10##x,_p9##y,z,c), I[112] = (T)(img)(_p9##x,_p9##y,z,c), I[113] = (T)(img)(_p8##x,_p9##y,z,c), I[114] = (T)(img)(_p7##x,_p9##y,z,c), I[115] = (T)(img)(_p6##x,_p9##y,z,c), I[116] = (T)(img)(_p5##x,_p9##y,z,c), I[117] = (T)(img)(_p4##x,_p9##y,z,c), I[118] = (T)(img)(_p3##x,_p9##y,z,c), I[119] = (T)(img)(_p2##x,_p9##y,z,c), I[120] = (T)(img)(_p1##x,_p9##y [...]
+ I[135] = (T)(img)(_p13##x,_p8##y,z,c), I[136] = (T)(img)(_p12##x,_p8##y,z,c), I[137] = (T)(img)(_p11##x,_p8##y,z,c), I[138] = (T)(img)(_p10##x,_p8##y,z,c), I[139] = (T)(img)(_p9##x,_p8##y,z,c), I[140] = (T)(img)(_p8##x,_p8##y,z,c), I[141] = (T)(img)(_p7##x,_p8##y,z,c), I[142] = (T)(img)(_p6##x,_p8##y,z,c), I[143] = (T)(img)(_p5##x,_p8##y,z,c), I[144] = (T)(img)(_p4##x,_p8##y,z,c), I[145] = (T)(img)(_p3##x,_p8##y,z,c), I[146] = (T)(img)(_p2##x,_p8##y,z,c), I[147] = (T)(img)(_p1##x,_p8##y [...]
+ I[162] = (T)(img)(_p13##x,_p7##y,z,c), I[163] = (T)(img)(_p12##x,_p7##y,z,c), I[164] = (T)(img)(_p11##x,_p7##y,z,c), I[165] = (T)(img)(_p10##x,_p7##y,z,c), I[166] = (T)(img)(_p9##x,_p7##y,z,c), I[167] = (T)(img)(_p8##x,_p7##y,z,c), I[168] = (T)(img)(_p7##x,_p7##y,z,c), I[169] = (T)(img)(_p6##x,_p7##y,z,c), I[170] = (T)(img)(_p5##x,_p7##y,z,c), I[171] = (T)(img)(_p4##x,_p7##y,z,c), I[172] = (T)(img)(_p3##x,_p7##y,z,c), I[173] = (T)(img)(_p2##x,_p7##y,z,c), I[174] = (T)(img)(_p1##x,_p7##y [...]
+ I[189] = (T)(img)(_p13##x,_p6##y,z,c), I[190] = (T)(img)(_p12##x,_p6##y,z,c), I[191] = (T)(img)(_p11##x,_p6##y,z,c), I[192] = (T)(img)(_p10##x,_p6##y,z,c), I[193] = (T)(img)(_p9##x,_p6##y,z,c), I[194] = (T)(img)(_p8##x,_p6##y,z,c), I[195] = (T)(img)(_p7##x,_p6##y,z,c), I[196] = (T)(img)(_p6##x,_p6##y,z,c), I[197] = (T)(img)(_p5##x,_p6##y,z,c), I[198] = (T)(img)(_p4##x,_p6##y,z,c), I[199] = (T)(img)(_p3##x,_p6##y,z,c), I[200] = (T)(img)(_p2##x,_p6##y,z,c), I[201] = (T)(img)(_p1##x,_p6##y [...]
+ I[216] = (T)(img)(_p13##x,_p5##y,z,c), I[217] = (T)(img)(_p12##x,_p5##y,z,c), I[218] = (T)(img)(_p11##x,_p5##y,z,c), I[219] = (T)(img)(_p10##x,_p5##y,z,c), I[220] = (T)(img)(_p9##x,_p5##y,z,c), I[221] = (T)(img)(_p8##x,_p5##y,z,c), I[222] = (T)(img)(_p7##x,_p5##y,z,c), I[223] = (T)(img)(_p6##x,_p5##y,z,c), I[224] = (T)(img)(_p5##x,_p5##y,z,c), I[225] = (T)(img)(_p4##x,_p5##y,z,c), I[226] = (T)(img)(_p3##x,_p5##y,z,c), I[227] = (T)(img)(_p2##x,_p5##y,z,c), I[228] = (T)(img)(_p1##x,_p5##y [...]
+ I[243] = (T)(img)(_p13##x,_p4##y,z,c), I[244] = (T)(img)(_p12##x,_p4##y,z,c), I[245] = (T)(img)(_p11##x,_p4##y,z,c), I[246] = (T)(img)(_p10##x,_p4##y,z,c), I[247] = (T)(img)(_p9##x,_p4##y,z,c), I[248] = (T)(img)(_p8##x,_p4##y,z,c), I[249] = (T)(img)(_p7##x,_p4##y,z,c), I[250] = (T)(img)(_p6##x,_p4##y,z,c), I[251] = (T)(img)(_p5##x,_p4##y,z,c), I[252] = (T)(img)(_p4##x,_p4##y,z,c), I[253] = (T)(img)(_p3##x,_p4##y,z,c), I[254] = (T)(img)(_p2##x,_p4##y,z,c), I[255] = (T)(img)(_p1##x,_p4##y [...]
+ I[270] = (T)(img)(_p13##x,_p3##y,z,c), I[271] = (T)(img)(_p12##x,_p3##y,z,c), I[272] = (T)(img)(_p11##x,_p3##y,z,c), I[273] = (T)(img)(_p10##x,_p3##y,z,c), I[274] = (T)(img)(_p9##x,_p3##y,z,c), I[275] = (T)(img)(_p8##x,_p3##y,z,c), I[276] = (T)(img)(_p7##x,_p3##y,z,c), I[277] = (T)(img)(_p6##x,_p3##y,z,c), I[278] = (T)(img)(_p5##x,_p3##y,z,c), I[279] = (T)(img)(_p4##x,_p3##y,z,c), I[280] = (T)(img)(_p3##x,_p3##y,z,c), I[281] = (T)(img)(_p2##x,_p3##y,z,c), I[282] = (T)(img)(_p1##x,_p3##y [...]
+ I[297] = (T)(img)(_p13##x,_p2##y,z,c), I[298] = (T)(img)(_p12##x,_p2##y,z,c), I[299] = (T)(img)(_p11##x,_p2##y,z,c), I[300] = (T)(img)(_p10##x,_p2##y,z,c), I[301] = (T)(img)(_p9##x,_p2##y,z,c), I[302] = (T)(img)(_p8##x,_p2##y,z,c), I[303] = (T)(img)(_p7##x,_p2##y,z,c), I[304] = (T)(img)(_p6##x,_p2##y,z,c), I[305] = (T)(img)(_p5##x,_p2##y,z,c), I[306] = (T)(img)(_p4##x,_p2##y,z,c), I[307] = (T)(img)(_p3##x,_p2##y,z,c), I[308] = (T)(img)(_p2##x,_p2##y,z,c), I[309] = (T)(img)(_p1##x,_p2##y [...]
+ I[324] = (T)(img)(_p13##x,_p1##y,z,c), I[325] = (T)(img)(_p12##x,_p1##y,z,c), I[326] = (T)(img)(_p11##x,_p1##y,z,c), I[327] = (T)(img)(_p10##x,_p1##y,z,c), I[328] = (T)(img)(_p9##x,_p1##y,z,c), I[329] = (T)(img)(_p8##x,_p1##y,z,c), I[330] = (T)(img)(_p7##x,_p1##y,z,c), I[331] = (T)(img)(_p6##x,_p1##y,z,c), I[332] = (T)(img)(_p5##x,_p1##y,z,c), I[333] = (T)(img)(_p4##x,_p1##y,z,c), I[334] = (T)(img)(_p3##x,_p1##y,z,c), I[335] = (T)(img)(_p2##x,_p1##y,z,c), I[336] = (T)(img)(_p1##x,_p1##y [...]
+ I[351] = (T)(img)(_p13##x,y,z,c), I[352] = (T)(img)(_p12##x,y,z,c), I[353] = (T)(img)(_p11##x,y,z,c), I[354] = (T)(img)(_p10##x,y,z,c), I[355] = (T)(img)(_p9##x,y,z,c), I[356] = (T)(img)(_p8##x,y,z,c), I[357] = (T)(img)(_p7##x,y,z,c), I[358] = (T)(img)(_p6##x,y,z,c), I[359] = (T)(img)(_p5##x,y,z,c), I[360] = (T)(img)(_p4##x,y,z,c), I[361] = (T)(img)(_p3##x,y,z,c), I[362] = (T)(img)(_p2##x,y,z,c), I[363] = (T)(img)(_p1##x,y,z,c), I[364] = (T)(img)(x,y,z,c), I[365] = (T)(img)(_n1##x,y,z,c [...]
+ I[378] = (T)(img)(_p13##x,_n1##y,z,c), I[379] = (T)(img)(_p12##x,_n1##y,z,c), I[380] = (T)(img)(_p11##x,_n1##y,z,c), I[381] = (T)(img)(_p10##x,_n1##y,z,c), I[382] = (T)(img)(_p9##x,_n1##y,z,c), I[383] = (T)(img)(_p8##x,_n1##y,z,c), I[384] = (T)(img)(_p7##x,_n1##y,z,c), I[385] = (T)(img)(_p6##x,_n1##y,z,c), I[386] = (T)(img)(_p5##x,_n1##y,z,c), I[387] = (T)(img)(_p4##x,_n1##y,z,c), I[388] = (T)(img)(_p3##x,_n1##y,z,c), I[389] = (T)(img)(_p2##x,_n1##y,z,c), I[390] = (T)(img)(_p1##x,_n1##y [...]
+ I[405] = (T)(img)(_p13##x,_n2##y,z,c), I[406] = (T)(img)(_p12##x,_n2##y,z,c), I[407] = (T)(img)(_p11##x,_n2##y,z,c), I[408] = (T)(img)(_p10##x,_n2##y,z,c), I[409] = (T)(img)(_p9##x,_n2##y,z,c), I[410] = (T)(img)(_p8##x,_n2##y,z,c), I[411] = (T)(img)(_p7##x,_n2##y,z,c), I[412] = (T)(img)(_p6##x,_n2##y,z,c), I[413] = (T)(img)(_p5##x,_n2##y,z,c), I[414] = (T)(img)(_p4##x,_n2##y,z,c), I[415] = (T)(img)(_p3##x,_n2##y,z,c), I[416] = (T)(img)(_p2##x,_n2##y,z,c), I[417] = (T)(img)(_p1##x,_n2##y [...]
+ I[432] = (T)(img)(_p13##x,_n3##y,z,c), I[433] = (T)(img)(_p12##x,_n3##y,z,c), I[434] = (T)(img)(_p11##x,_n3##y,z,c), I[435] = (T)(img)(_p10##x,_n3##y,z,c), I[436] = (T)(img)(_p9##x,_n3##y,z,c), I[437] = (T)(img)(_p8##x,_n3##y,z,c), I[438] = (T)(img)(_p7##x,_n3##y,z,c), I[439] = (T)(img)(_p6##x,_n3##y,z,c), I[440] = (T)(img)(_p5##x,_n3##y,z,c), I[441] = (T)(img)(_p4##x,_n3##y,z,c), I[442] = (T)(img)(_p3##x,_n3##y,z,c), I[443] = (T)(img)(_p2##x,_n3##y,z,c), I[444] = (T)(img)(_p1##x,_n3##y [...]
+ I[459] = (T)(img)(_p13##x,_n4##y,z,c), I[460] = (T)(img)(_p12##x,_n4##y,z,c), I[461] = (T)(img)(_p11##x,_n4##y,z,c), I[462] = (T)(img)(_p10##x,_n4##y,z,c), I[463] = (T)(img)(_p9##x,_n4##y,z,c), I[464] = (T)(img)(_p8##x,_n4##y,z,c), I[465] = (T)(img)(_p7##x,_n4##y,z,c), I[466] = (T)(img)(_p6##x,_n4##y,z,c), I[467] = (T)(img)(_p5##x,_n4##y,z,c), I[468] = (T)(img)(_p4##x,_n4##y,z,c), I[469] = (T)(img)(_p3##x,_n4##y,z,c), I[470] = (T)(img)(_p2##x,_n4##y,z,c), I[471] = (T)(img)(_p1##x,_n4##y [...]
+ I[486] = (T)(img)(_p13##x,_n5##y,z,c), I[487] = (T)(img)(_p12##x,_n5##y,z,c), I[488] = (T)(img)(_p11##x,_n5##y,z,c), I[489] = (T)(img)(_p10##x,_n5##y,z,c), I[490] = (T)(img)(_p9##x,_n5##y,z,c), I[491] = (T)(img)(_p8##x,_n5##y,z,c), I[492] = (T)(img)(_p7##x,_n5##y,z,c), I[493] = (T)(img)(_p6##x,_n5##y,z,c), I[494] = (T)(img)(_p5##x,_n5##y,z,c), I[495] = (T)(img)(_p4##x,_n5##y,z,c), I[496] = (T)(img)(_p3##x,_n5##y,z,c), I[497] = (T)(img)(_p2##x,_n5##y,z,c), I[498] = (T)(img)(_p1##x,_n5##y [...]
+ I[513] = (T)(img)(_p13##x,_n6##y,z,c), I[514] = (T)(img)(_p12##x,_n6##y,z,c), I[515] = (T)(img)(_p11##x,_n6##y,z,c), I[516] = (T)(img)(_p10##x,_n6##y,z,c), I[517] = (T)(img)(_p9##x,_n6##y,z,c), I[518] = (T)(img)(_p8##x,_n6##y,z,c), I[519] = (T)(img)(_p7##x,_n6##y,z,c), I[520] = (T)(img)(_p6##x,_n6##y,z,c), I[521] = (T)(img)(_p5##x,_n6##y,z,c), I[522] = (T)(img)(_p4##x,_n6##y,z,c), I[523] = (T)(img)(_p3##x,_n6##y,z,c), I[524] = (T)(img)(_p2##x,_n6##y,z,c), I[525] = (T)(img)(_p1##x,_n6##y [...]
+ I[540] = (T)(img)(_p13##x,_n7##y,z,c), I[541] = (T)(img)(_p12##x,_n7##y,z,c), I[542] = (T)(img)(_p11##x,_n7##y,z,c), I[543] = (T)(img)(_p10##x,_n7##y,z,c), I[544] = (T)(img)(_p9##x,_n7##y,z,c), I[545] = (T)(img)(_p8##x,_n7##y,z,c), I[546] = (T)(img)(_p7##x,_n7##y,z,c), I[547] = (T)(img)(_p6##x,_n7##y,z,c), I[548] = (T)(img)(_p5##x,_n7##y,z,c), I[549] = (T)(img)(_p4##x,_n7##y,z,c), I[550] = (T)(img)(_p3##x,_n7##y,z,c), I[551] = (T)(img)(_p2##x,_n7##y,z,c), I[552] = (T)(img)(_p1##x,_n7##y [...]
+ I[567] = (T)(img)(_p13##x,_n8##y,z,c), I[568] = (T)(img)(_p12##x,_n8##y,z,c), I[569] = (T)(img)(_p11##x,_n8##y,z,c), I[570] = (T)(img)(_p10##x,_n8##y,z,c), I[571] = (T)(img)(_p9##x,_n8##y,z,c), I[572] = (T)(img)(_p8##x,_n8##y,z,c), I[573] = (T)(img)(_p7##x,_n8##y,z,c), I[574] = (T)(img)(_p6##x,_n8##y,z,c), I[575] = (T)(img)(_p5##x,_n8##y,z,c), I[576] = (T)(img)(_p4##x,_n8##y,z,c), I[577] = (T)(img)(_p3##x,_n8##y,z,c), I[578] = (T)(img)(_p2##x,_n8##y,z,c), I[579] = (T)(img)(_p1##x,_n8##y [...]
+ I[594] = (T)(img)(_p13##x,_n9##y,z,c), I[595] = (T)(img)(_p12##x,_n9##y,z,c), I[596] = (T)(img)(_p11##x,_n9##y,z,c), I[597] = (T)(img)(_p10##x,_n9##y,z,c), I[598] = (T)(img)(_p9##x,_n9##y,z,c), I[599] = (T)(img)(_p8##x,_n9##y,z,c), I[600] = (T)(img)(_p7##x,_n9##y,z,c), I[601] = (T)(img)(_p6##x,_n9##y,z,c), I[602] = (T)(img)(_p5##x,_n9##y,z,c), I[603] = (T)(img)(_p4##x,_n9##y,z,c), I[604] = (T)(img)(_p3##x,_n9##y,z,c), I[605] = (T)(img)(_p2##x,_n9##y,z,c), I[606] = (T)(img)(_p1##x,_n9##y [...]
+ I[621] = (T)(img)(_p13##x,_n10##y,z,c), I[622] = (T)(img)(_p12##x,_n10##y,z,c), I[623] = (T)(img)(_p11##x,_n10##y,z,c), I[624] = (T)(img)(_p10##x,_n10##y,z,c), I[625] = (T)(img)(_p9##x,_n10##y,z,c), I[626] = (T)(img)(_p8##x,_n10##y,z,c), I[627] = (T)(img)(_p7##x,_n10##y,z,c), I[628] = (T)(img)(_p6##x,_n10##y,z,c), I[629] = (T)(img)(_p5##x,_n10##y,z,c), I[630] = (T)(img)(_p4##x,_n10##y,z,c), I[631] = (T)(img)(_p3##x,_n10##y,z,c), I[632] = (T)(img)(_p2##x,_n10##y,z,c), I[633] = (T)(img)(_ [...]
+ I[648] = (T)(img)(_p13##x,_n11##y,z,c), I[649] = (T)(img)(_p12##x,_n11##y,z,c), I[650] = (T)(img)(_p11##x,_n11##y,z,c), I[651] = (T)(img)(_p10##x,_n11##y,z,c), I[652] = (T)(img)(_p9##x,_n11##y,z,c), I[653] = (T)(img)(_p8##x,_n11##y,z,c), I[654] = (T)(img)(_p7##x,_n11##y,z,c), I[655] = (T)(img)(_p6##x,_n11##y,z,c), I[656] = (T)(img)(_p5##x,_n11##y,z,c), I[657] = (T)(img)(_p4##x,_n11##y,z,c), I[658] = (T)(img)(_p3##x,_n11##y,z,c), I[659] = (T)(img)(_p2##x,_n11##y,z,c), I[660] = (T)(img)(_ [...]
+ I[675] = (T)(img)(_p13##x,_n12##y,z,c), I[676] = (T)(img)(_p12##x,_n12##y,z,c), I[677] = (T)(img)(_p11##x,_n12##y,z,c), I[678] = (T)(img)(_p10##x,_n12##y,z,c), I[679] = (T)(img)(_p9##x,_n12##y,z,c), I[680] = (T)(img)(_p8##x,_n12##y,z,c), I[681] = (T)(img)(_p7##x,_n12##y,z,c), I[682] = (T)(img)(_p6##x,_n12##y,z,c), I[683] = (T)(img)(_p5##x,_n12##y,z,c), I[684] = (T)(img)(_p4##x,_n12##y,z,c), I[685] = (T)(img)(_p3##x,_n12##y,z,c), I[686] = (T)(img)(_p2##x,_n12##y,z,c), I[687] = (T)(img)(_ [...]
+ I[702] = (T)(img)(_p13##x,_n13##y,z,c), I[703] = (T)(img)(_p12##x,_n13##y,z,c), I[704] = (T)(img)(_p11##x,_n13##y,z,c), I[705] = (T)(img)(_p10##x,_n13##y,z,c), I[706] = (T)(img)(_p9##x,_n13##y,z,c), I[707] = (T)(img)(_p8##x,_n13##y,z,c), I[708] = (T)(img)(_p7##x,_n13##y,z,c), I[709] = (T)(img)(_p6##x,_n13##y,z,c), I[710] = (T)(img)(_p5##x,_n13##y,z,c), I[711] = (T)(img)(_p4##x,_n13##y,z,c), I[712] = (T)(img)(_p3##x,_n13##y,z,c), I[713] = (T)(img)(_p2##x,_n13##y,z,c), I[714] = (T)(img)(_ [...]
+
+// Define 28x28 loop macros
+//-------------------------
+#define cimg_for28(bound,i) for (int i = 0, \
+ _p13##i = 0, _p12##i = 0, _p11##i = 0, _p10##i = 0, _p9##i = 0, _p8##i = 0, _p7##i = 0, _p6##i = 0, _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5, \
+ _n6##i = 6>=(int)(bound)?(int)(bound) - 1:6, \
+ _n7##i = 7>=(int)(bound)?(int)(bound) - 1:7, \
+ _n8##i = 8>=(int)(bound)?(int)(bound) - 1:8, \
+ _n9##i = 9>=(int)(bound)?(int)(bound) - 1:9, \
+ _n10##i = 10>=(int)(bound)?(int)(bound) - 1:10, \
+ _n11##i = 11>=(int)(bound)?(int)(bound) - 1:11, \
+ _n12##i = 12>=(int)(bound)?(int)(bound) - 1:12, \
+ _n13##i = 13>=(int)(bound)?(int)(bound) - 1:13, \
+ _n14##i = 14>=(int)(bound)?(int)(bound) - 1:14; \
+ _n14##i<(int)(bound) || _n13##i==--_n14##i || _n12##i==--_n13##i || _n11##i==--_n12##i || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n14##i = _n13##i = _n12##i = _n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p13##i = _p12##i, _p12##i = _p11##i, _p11##i = _p10##i, _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i, ++_n12##i, ++_n13##i, ++_n14##i)
+
+#define cimg_for28X(img,x) cimg_for28((img)._width,x)
+#define cimg_for28Y(img,y) cimg_for28((img)._height,y)
+#define cimg_for28Z(img,z) cimg_for28((img)._depth,z)
+#define cimg_for28C(img,c) cimg_for28((img)._spectrum,c)
+#define cimg_for28XY(img,x,y) cimg_for28Y(img,y) cimg_for28X(img,x)
+#define cimg_for28XZ(img,x,z) cimg_for28Z(img,z) cimg_for28X(img,x)
+#define cimg_for28XC(img,x,c) cimg_for28C(img,c) cimg_for28X(img,x)
+#define cimg_for28YZ(img,y,z) cimg_for28Z(img,z) cimg_for28Y(img,y)
+#define cimg_for28YC(img,y,c) cimg_for28C(img,c) cimg_for28Y(img,y)
+#define cimg_for28ZC(img,z,c) cimg_for28C(img,c) cimg_for28Z(img,z)
+#define cimg_for28XYZ(img,x,y,z) cimg_for28Z(img,z) cimg_for28XY(img,x,y)
+#define cimg_for28XZC(img,x,z,c) cimg_for28C(img,c) cimg_for28XZ(img,x,z)
+#define cimg_for28YZC(img,y,z,c) cimg_for28C(img,c) cimg_for28YZ(img,y,z)
+#define cimg_for28XYZC(img,x,y,z,c) cimg_for28C(img,c) cimg_for28XYZ(img,x,y,z)
+
+#define cimg_for_in28(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p13##i = i - 13<0?0:i - 13, \
+ _p12##i = i - 12<0?0:i - 12, \
+ _p11##i = i - 11<0?0:i - 11, \
+ _p10##i = i - 10<0?0:i - 10, \
+ _p9##i = i - 9<0?0:i - 9, \
+ _p8##i = i - 8<0?0:i - 8, \
+ _p7##i = i - 7<0?0:i - 7, \
+ _p6##i = i - 6<0?0:i - 6, \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5, \
+ _n6##i = i + 6>=(int)(bound)?(int)(bound) - 1:i + 6, \
+ _n7##i = i + 7>=(int)(bound)?(int)(bound) - 1:i + 7, \
+ _n8##i = i + 8>=(int)(bound)?(int)(bound) - 1:i + 8, \
+ _n9##i = i + 9>=(int)(bound)?(int)(bound) - 1:i + 9, \
+ _n10##i = i + 10>=(int)(bound)?(int)(bound) - 1:i + 10, \
+ _n11##i = i + 11>=(int)(bound)?(int)(bound) - 1:i + 11, \
+ _n12##i = i + 12>=(int)(bound)?(int)(bound) - 1:i + 12, \
+ _n13##i = i + 13>=(int)(bound)?(int)(bound) - 1:i + 13, \
+ _n14##i = i + 14>=(int)(bound)?(int)(bound) - 1:i + 14; \
+ i<=(int)(i1) && (_n14##i<(int)(bound) || _n13##i==--_n14##i || _n12##i==--_n13##i || _n11##i==--_n12##i || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n14##i = _n13##i = _n12##i = _n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p13##i = _p12##i, _p12##i = _p11##i, _p11##i = _p10##i, _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i, ++_n12##i, ++_n13##i, ++_n14##i)
+
+#define cimg_for_in28X(img,x0,x1,x) cimg_for_in28((img)._width,x0,x1,x)
+#define cimg_for_in28Y(img,y0,y1,y) cimg_for_in28((img)._height,y0,y1,y)
+#define cimg_for_in28Z(img,z0,z1,z) cimg_for_in28((img)._depth,z0,z1,z)
+#define cimg_for_in28C(img,c0,c1,c) cimg_for_in28((img)._spectrum,c0,c1,c)
+#define cimg_for_in28XY(img,x0,y0,x1,y1,x,y) cimg_for_in28Y(img,y0,y1,y) cimg_for_in28X(img,x0,x1,x)
+#define cimg_for_in28XZ(img,x0,z0,x1,z1,x,z) cimg_for_in28Z(img,z0,z1,z) cimg_for_in28X(img,x0,x1,x)
+#define cimg_for_in28XC(img,x0,c0,x1,c1,x,c) cimg_for_in28C(img,c0,c1,c) cimg_for_in28X(img,x0,x1,x)
+#define cimg_for_in28YZ(img,y0,z0,y1,z1,y,z) cimg_for_in28Z(img,z0,z1,z) cimg_for_in28Y(img,y0,y1,y)
+#define cimg_for_in28YC(img,y0,c0,y1,c1,y,c) cimg_for_in28C(img,c0,c1,c) cimg_for_in28Y(img,y0,y1,y)
+#define cimg_for_in28ZC(img,z0,c0,z1,c1,z,c) cimg_for_in28C(img,c0,c1,c) cimg_for_in28Z(img,z0,z1,z)
+#define cimg_for_in28XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in28Z(img,z0,z1,z) cimg_for_in28XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in28XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in28C(img,c0,c1,c) cimg_for_in28XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in28YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in28C(img,c0,c1,c) cimg_for_in28YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in28XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in28C(img,c0,c1,c) cimg_for_in28XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for28x28(img,x,y,z,c,I,T) \
+ cimg_for28((img)._height,y) for (int x = 0, \
+ _p13##x = 0, _p12##x = 0, _p11##x = 0, _p10##x = 0, _p9##x = 0, _p8##x = 0, _p7##x = 0, _p6##x = 0, _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = 5>=((img)._width)?(img).width() - 1:5, \
+ _n6##x = 6>=((img)._width)?(img).width() - 1:6, \
+ _n7##x = 7>=((img)._width)?(img).width() - 1:7, \
+ _n8##x = 8>=((img)._width)?(img).width() - 1:8, \
+ _n9##x = 9>=((img)._width)?(img).width() - 1:9, \
+ _n10##x = 10>=((img)._width)?(img).width() - 1:10, \
+ _n11##x = 11>=((img)._width)?(img).width() - 1:11, \
+ _n12##x = 12>=((img)._width)?(img).width() - 1:12, \
+ _n13##x = 13>=((img)._width)?(img).width() - 1:13, \
+ _n14##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = I[6] = I[7] = I[8] = I[9] = I[10] = I[11] = I[12] = I[13] = (T)(img)(0,_p13##y,z,c)), \
+ (I[28] = I[29] = I[30] = I[31] = I[32] = I[33] = I[34] = I[35] = I[36] = I[37] = I[38] = I[39] = I[40] = I[41] = (T)(img)(0,_p12##y,z,c)), \
+ (I[56] = I[57] = I[58] = I[59] = I[60] = I[61] = I[62] = I[63] = I[64] = I[65] = I[66] = I[67] = I[68] = I[69] = (T)(img)(0,_p11##y,z,c)), \
+ (I[84] = I[85] = I[86] = I[87] = I[88] = I[89] = I[90] = I[91] = I[92] = I[93] = I[94] = I[95] = I[96] = I[97] = (T)(img)(0,_p10##y,z,c)), \
+ (I[112] = I[113] = I[114] = I[115] = I[116] = I[117] = I[118] = I[119] = I[120] = I[121] = I[122] = I[123] = I[124] = I[125] = (T)(img)(0,_p9##y,z,c)), \
+ (I[140] = I[141] = I[142] = I[143] = I[144] = I[145] = I[146] = I[147] = I[148] = I[149] = I[150] = I[151] = I[152] = I[153] = (T)(img)(0,_p8##y,z,c)), \
+ (I[168] = I[169] = I[170] = I[171] = I[172] = I[173] = I[174] = I[175] = I[176] = I[177] = I[178] = I[179] = I[180] = I[181] = (T)(img)(0,_p7##y,z,c)), \
+ (I[196] = I[197] = I[198] = I[199] = I[200] = I[201] = I[202] = I[203] = I[204] = I[205] = I[206] = I[207] = I[208] = I[209] = (T)(img)(0,_p6##y,z,c)), \
+ (I[224] = I[225] = I[226] = I[227] = I[228] = I[229] = I[230] = I[231] = I[232] = I[233] = I[234] = I[235] = I[236] = I[237] = (T)(img)(0,_p5##y,z,c)), \
+ (I[252] = I[253] = I[254] = I[255] = I[256] = I[257] = I[258] = I[259] = I[260] = I[261] = I[262] = I[263] = I[264] = I[265] = (T)(img)(0,_p4##y,z,c)), \
+ (I[280] = I[281] = I[282] = I[283] = I[284] = I[285] = I[286] = I[287] = I[288] = I[289] = I[290] = I[291] = I[292] = I[293] = (T)(img)(0,_p3##y,z,c)), \
+ (I[308] = I[309] = I[310] = I[311] = I[312] = I[313] = I[314] = I[315] = I[316] = I[317] = I[318] = I[319] = I[320] = I[321] = (T)(img)(0,_p2##y,z,c)), \
+ (I[336] = I[337] = I[338] = I[339] = I[340] = I[341] = I[342] = I[343] = I[344] = I[345] = I[346] = I[347] = I[348] = I[349] = (T)(img)(0,_p1##y,z,c)), \
+ (I[364] = I[365] = I[366] = I[367] = I[368] = I[369] = I[370] = I[371] = I[372] = I[373] = I[374] = I[375] = I[376] = I[377] = (T)(img)(0,y,z,c)), \
+ (I[392] = I[393] = I[394] = I[395] = I[396] = I[397] = I[398] = I[399] = I[400] = I[401] = I[402] = I[403] = I[404] = I[405] = (T)(img)(0,_n1##y,z,c)), \
+ (I[420] = I[421] = I[422] = I[423] = I[424] = I[425] = I[426] = I[427] = I[428] = I[429] = I[430] = I[431] = I[432] = I[433] = (T)(img)(0,_n2##y,z,c)), \
+ (I[448] = I[449] = I[450] = I[451] = I[452] = I[453] = I[454] = I[455] = I[456] = I[457] = I[458] = I[459] = I[460] = I[461] = (T)(img)(0,_n3##y,z,c)), \
+ (I[476] = I[477] = I[478] = I[479] = I[480] = I[481] = I[482] = I[483] = I[484] = I[485] = I[486] = I[487] = I[488] = I[489] = (T)(img)(0,_n4##y,z,c)), \
+ (I[504] = I[505] = I[506] = I[507] = I[508] = I[509] = I[510] = I[511] = I[512] = I[513] = I[514] = I[515] = I[516] = I[517] = (T)(img)(0,_n5##y,z,c)), \
+ (I[532] = I[533] = I[534] = I[535] = I[536] = I[537] = I[538] = I[539] = I[540] = I[541] = I[542] = I[543] = I[544] = I[545] = (T)(img)(0,_n6##y,z,c)), \
+ (I[560] = I[561] = I[562] = I[563] = I[564] = I[565] = I[566] = I[567] = I[568] = I[569] = I[570] = I[571] = I[572] = I[573] = (T)(img)(0,_n7##y,z,c)), \
+ (I[588] = I[589] = I[590] = I[591] = I[592] = I[593] = I[594] = I[595] = I[596] = I[597] = I[598] = I[599] = I[600] = I[601] = (T)(img)(0,_n8##y,z,c)), \
+ (I[616] = I[617] = I[618] = I[619] = I[620] = I[621] = I[622] = I[623] = I[624] = I[625] = I[626] = I[627] = I[628] = I[629] = (T)(img)(0,_n9##y,z,c)), \
+ (I[644] = I[645] = I[646] = I[647] = I[648] = I[649] = I[650] = I[651] = I[652] = I[653] = I[654] = I[655] = I[656] = I[657] = (T)(img)(0,_n10##y,z,c)), \
+ (I[672] = I[673] = I[674] = I[675] = I[676] = I[677] = I[678] = I[679] = I[680] = I[681] = I[682] = I[683] = I[684] = I[685] = (T)(img)(0,_n11##y,z,c)), \
+ (I[700] = I[701] = I[702] = I[703] = I[704] = I[705] = I[706] = I[707] = I[708] = I[709] = I[710] = I[711] = I[712] = I[713] = (T)(img)(0,_n12##y,z,c)), \
+ (I[728] = I[729] = I[730] = I[731] = I[732] = I[733] = I[734] = I[735] = I[736] = I[737] = I[738] = I[739] = I[740] = I[741] = (T)(img)(0,_n13##y,z,c)), \
+ (I[756] = I[757] = I[758] = I[759] = I[760] = I[761] = I[762] = I[763] = I[764] = I[765] = I[766] = I[767] = I[768] = I[769] = (T)(img)(0,_n14##y,z,c)), \
+ (I[14] = (T)(img)(_n1##x,_p13##y,z,c)), \
+ (I[42] = (T)(img)(_n1##x,_p12##y,z,c)), \
+ (I[70] = (T)(img)(_n1##x,_p11##y,z,c)), \
+ (I[98] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[126] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[154] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[182] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[210] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[238] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[266] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[294] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[322] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[350] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[378] = (T)(img)(_n1##x,y,z,c)), \
+ (I[406] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[434] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[462] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[490] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[518] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[546] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[574] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[602] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[630] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[658] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[686] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[714] = (T)(img)(_n1##x,_n12##y,z,c)), \
+ (I[742] = (T)(img)(_n1##x,_n13##y,z,c)), \
+ (I[770] = (T)(img)(_n1##x,_n14##y,z,c)), \
+ (I[15] = (T)(img)(_n2##x,_p13##y,z,c)), \
+ (I[43] = (T)(img)(_n2##x,_p12##y,z,c)), \
+ (I[71] = (T)(img)(_n2##x,_p11##y,z,c)), \
+ (I[99] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[127] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[155] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[183] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[211] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[239] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[267] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[295] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[323] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[351] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[379] = (T)(img)(_n2##x,y,z,c)), \
+ (I[407] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[435] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[463] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[491] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[519] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[547] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[575] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[603] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[631] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[659] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[687] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[715] = (T)(img)(_n2##x,_n12##y,z,c)), \
+ (I[743] = (T)(img)(_n2##x,_n13##y,z,c)), \
+ (I[771] = (T)(img)(_n2##x,_n14##y,z,c)), \
+ (I[16] = (T)(img)(_n3##x,_p13##y,z,c)), \
+ (I[44] = (T)(img)(_n3##x,_p12##y,z,c)), \
+ (I[72] = (T)(img)(_n3##x,_p11##y,z,c)), \
+ (I[100] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[128] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[156] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[184] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[212] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[240] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[268] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[296] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[324] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[352] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[380] = (T)(img)(_n3##x,y,z,c)), \
+ (I[408] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[436] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[464] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[492] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[520] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[548] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[576] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[604] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[632] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[660] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[688] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[716] = (T)(img)(_n3##x,_n12##y,z,c)), \
+ (I[744] = (T)(img)(_n3##x,_n13##y,z,c)), \
+ (I[772] = (T)(img)(_n3##x,_n14##y,z,c)), \
+ (I[17] = (T)(img)(_n4##x,_p13##y,z,c)), \
+ (I[45] = (T)(img)(_n4##x,_p12##y,z,c)), \
+ (I[73] = (T)(img)(_n4##x,_p11##y,z,c)), \
+ (I[101] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[129] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[157] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[185] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[213] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[241] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[269] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[297] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[325] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[353] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[381] = (T)(img)(_n4##x,y,z,c)), \
+ (I[409] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[437] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[465] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[493] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[521] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[549] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[577] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[605] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[633] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[661] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[689] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[717] = (T)(img)(_n4##x,_n12##y,z,c)), \
+ (I[745] = (T)(img)(_n4##x,_n13##y,z,c)), \
+ (I[773] = (T)(img)(_n4##x,_n14##y,z,c)), \
+ (I[18] = (T)(img)(_n5##x,_p13##y,z,c)), \
+ (I[46] = (T)(img)(_n5##x,_p12##y,z,c)), \
+ (I[74] = (T)(img)(_n5##x,_p11##y,z,c)), \
+ (I[102] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[130] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[158] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[186] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[214] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[242] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[270] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[298] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[326] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[354] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[382] = (T)(img)(_n5##x,y,z,c)), \
+ (I[410] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[438] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[466] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[494] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[522] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[550] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[578] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[606] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[634] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[662] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[690] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[718] = (T)(img)(_n5##x,_n12##y,z,c)), \
+ (I[746] = (T)(img)(_n5##x,_n13##y,z,c)), \
+ (I[774] = (T)(img)(_n5##x,_n14##y,z,c)), \
+ (I[19] = (T)(img)(_n6##x,_p13##y,z,c)), \
+ (I[47] = (T)(img)(_n6##x,_p12##y,z,c)), \
+ (I[75] = (T)(img)(_n6##x,_p11##y,z,c)), \
+ (I[103] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[131] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[159] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[187] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[215] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[243] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[271] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[299] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[327] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[355] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[383] = (T)(img)(_n6##x,y,z,c)), \
+ (I[411] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[439] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[467] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[495] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[523] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[551] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[579] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[607] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[635] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[663] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[691] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[719] = (T)(img)(_n6##x,_n12##y,z,c)), \
+ (I[747] = (T)(img)(_n6##x,_n13##y,z,c)), \
+ (I[775] = (T)(img)(_n6##x,_n14##y,z,c)), \
+ (I[20] = (T)(img)(_n7##x,_p13##y,z,c)), \
+ (I[48] = (T)(img)(_n7##x,_p12##y,z,c)), \
+ (I[76] = (T)(img)(_n7##x,_p11##y,z,c)), \
+ (I[104] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[132] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[160] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[188] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[216] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[244] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[272] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[300] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[328] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[356] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[384] = (T)(img)(_n7##x,y,z,c)), \
+ (I[412] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[440] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[468] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[496] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[524] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[552] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[580] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[608] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[636] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[664] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[692] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[720] = (T)(img)(_n7##x,_n12##y,z,c)), \
+ (I[748] = (T)(img)(_n7##x,_n13##y,z,c)), \
+ (I[776] = (T)(img)(_n7##x,_n14##y,z,c)), \
+ (I[21] = (T)(img)(_n8##x,_p13##y,z,c)), \
+ (I[49] = (T)(img)(_n8##x,_p12##y,z,c)), \
+ (I[77] = (T)(img)(_n8##x,_p11##y,z,c)), \
+ (I[105] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[133] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[161] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[189] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[217] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[245] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[273] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[301] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[329] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[357] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[385] = (T)(img)(_n8##x,y,z,c)), \
+ (I[413] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[441] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[469] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[497] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[525] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[553] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[581] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[609] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[637] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[665] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[693] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[721] = (T)(img)(_n8##x,_n12##y,z,c)), \
+ (I[749] = (T)(img)(_n8##x,_n13##y,z,c)), \
+ (I[777] = (T)(img)(_n8##x,_n14##y,z,c)), \
+ (I[22] = (T)(img)(_n9##x,_p13##y,z,c)), \
+ (I[50] = (T)(img)(_n9##x,_p12##y,z,c)), \
+ (I[78] = (T)(img)(_n9##x,_p11##y,z,c)), \
+ (I[106] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[134] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[162] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[190] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[218] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[246] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[274] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[302] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[330] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[358] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[386] = (T)(img)(_n9##x,y,z,c)), \
+ (I[414] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[442] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[470] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[498] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[526] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[554] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[582] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[610] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[638] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[666] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[694] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[722] = (T)(img)(_n9##x,_n12##y,z,c)), \
+ (I[750] = (T)(img)(_n9##x,_n13##y,z,c)), \
+ (I[778] = (T)(img)(_n9##x,_n14##y,z,c)), \
+ (I[23] = (T)(img)(_n10##x,_p13##y,z,c)), \
+ (I[51] = (T)(img)(_n10##x,_p12##y,z,c)), \
+ (I[79] = (T)(img)(_n10##x,_p11##y,z,c)), \
+ (I[107] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[135] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[163] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[191] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[219] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[247] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[275] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[303] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[331] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[359] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[387] = (T)(img)(_n10##x,y,z,c)), \
+ (I[415] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[443] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[471] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[499] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[527] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[555] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[583] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[611] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[639] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[667] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[695] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ (I[723] = (T)(img)(_n10##x,_n12##y,z,c)), \
+ (I[751] = (T)(img)(_n10##x,_n13##y,z,c)), \
+ (I[779] = (T)(img)(_n10##x,_n14##y,z,c)), \
+ (I[24] = (T)(img)(_n11##x,_p13##y,z,c)), \
+ (I[52] = (T)(img)(_n11##x,_p12##y,z,c)), \
+ (I[80] = (T)(img)(_n11##x,_p11##y,z,c)), \
+ (I[108] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[136] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[164] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[192] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[220] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[248] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[276] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[304] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[332] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[360] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[388] = (T)(img)(_n11##x,y,z,c)), \
+ (I[416] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[444] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[472] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[500] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[528] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[556] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[584] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[612] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[640] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[668] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[696] = (T)(img)(_n11##x,_n11##y,z,c)), \
+ (I[724] = (T)(img)(_n11##x,_n12##y,z,c)), \
+ (I[752] = (T)(img)(_n11##x,_n13##y,z,c)), \
+ (I[780] = (T)(img)(_n11##x,_n14##y,z,c)), \
+ (I[25] = (T)(img)(_n12##x,_p13##y,z,c)), \
+ (I[53] = (T)(img)(_n12##x,_p12##y,z,c)), \
+ (I[81] = (T)(img)(_n12##x,_p11##y,z,c)), \
+ (I[109] = (T)(img)(_n12##x,_p10##y,z,c)), \
+ (I[137] = (T)(img)(_n12##x,_p9##y,z,c)), \
+ (I[165] = (T)(img)(_n12##x,_p8##y,z,c)), \
+ (I[193] = (T)(img)(_n12##x,_p7##y,z,c)), \
+ (I[221] = (T)(img)(_n12##x,_p6##y,z,c)), \
+ (I[249] = (T)(img)(_n12##x,_p5##y,z,c)), \
+ (I[277] = (T)(img)(_n12##x,_p4##y,z,c)), \
+ (I[305] = (T)(img)(_n12##x,_p3##y,z,c)), \
+ (I[333] = (T)(img)(_n12##x,_p2##y,z,c)), \
+ (I[361] = (T)(img)(_n12##x,_p1##y,z,c)), \
+ (I[389] = (T)(img)(_n12##x,y,z,c)), \
+ (I[417] = (T)(img)(_n12##x,_n1##y,z,c)), \
+ (I[445] = (T)(img)(_n12##x,_n2##y,z,c)), \
+ (I[473] = (T)(img)(_n12##x,_n3##y,z,c)), \
+ (I[501] = (T)(img)(_n12##x,_n4##y,z,c)), \
+ (I[529] = (T)(img)(_n12##x,_n5##y,z,c)), \
+ (I[557] = (T)(img)(_n12##x,_n6##y,z,c)), \
+ (I[585] = (T)(img)(_n12##x,_n7##y,z,c)), \
+ (I[613] = (T)(img)(_n12##x,_n8##y,z,c)), \
+ (I[641] = (T)(img)(_n12##x,_n9##y,z,c)), \
+ (I[669] = (T)(img)(_n12##x,_n10##y,z,c)), \
+ (I[697] = (T)(img)(_n12##x,_n11##y,z,c)), \
+ (I[725] = (T)(img)(_n12##x,_n12##y,z,c)), \
+ (I[753] = (T)(img)(_n12##x,_n13##y,z,c)), \
+ (I[781] = (T)(img)(_n12##x,_n14##y,z,c)), \
+ (I[26] = (T)(img)(_n13##x,_p13##y,z,c)), \
+ (I[54] = (T)(img)(_n13##x,_p12##y,z,c)), \
+ (I[82] = (T)(img)(_n13##x,_p11##y,z,c)), \
+ (I[110] = (T)(img)(_n13##x,_p10##y,z,c)), \
+ (I[138] = (T)(img)(_n13##x,_p9##y,z,c)), \
+ (I[166] = (T)(img)(_n13##x,_p8##y,z,c)), \
+ (I[194] = (T)(img)(_n13##x,_p7##y,z,c)), \
+ (I[222] = (T)(img)(_n13##x,_p6##y,z,c)), \
+ (I[250] = (T)(img)(_n13##x,_p5##y,z,c)), \
+ (I[278] = (T)(img)(_n13##x,_p4##y,z,c)), \
+ (I[306] = (T)(img)(_n13##x,_p3##y,z,c)), \
+ (I[334] = (T)(img)(_n13##x,_p2##y,z,c)), \
+ (I[362] = (T)(img)(_n13##x,_p1##y,z,c)), \
+ (I[390] = (T)(img)(_n13##x,y,z,c)), \
+ (I[418] = (T)(img)(_n13##x,_n1##y,z,c)), \
+ (I[446] = (T)(img)(_n13##x,_n2##y,z,c)), \
+ (I[474] = (T)(img)(_n13##x,_n3##y,z,c)), \
+ (I[502] = (T)(img)(_n13##x,_n4##y,z,c)), \
+ (I[530] = (T)(img)(_n13##x,_n5##y,z,c)), \
+ (I[558] = (T)(img)(_n13##x,_n6##y,z,c)), \
+ (I[586] = (T)(img)(_n13##x,_n7##y,z,c)), \
+ (I[614] = (T)(img)(_n13##x,_n8##y,z,c)), \
+ (I[642] = (T)(img)(_n13##x,_n9##y,z,c)), \
+ (I[670] = (T)(img)(_n13##x,_n10##y,z,c)), \
+ (I[698] = (T)(img)(_n13##x,_n11##y,z,c)), \
+ (I[726] = (T)(img)(_n13##x,_n12##y,z,c)), \
+ (I[754] = (T)(img)(_n13##x,_n13##y,z,c)), \
+ (I[782] = (T)(img)(_n13##x,_n14##y,z,c)), \
+ 14>=((img)._width)?(img).width() - 1:14); \
+ (_n14##x<(img).width() && ( \
+ (I[27] = (T)(img)(_n14##x,_p13##y,z,c)), \
+ (I[55] = (T)(img)(_n14##x,_p12##y,z,c)), \
+ (I[83] = (T)(img)(_n14##x,_p11##y,z,c)), \
+ (I[111] = (T)(img)(_n14##x,_p10##y,z,c)), \
+ (I[139] = (T)(img)(_n14##x,_p9##y,z,c)), \
+ (I[167] = (T)(img)(_n14##x,_p8##y,z,c)), \
+ (I[195] = (T)(img)(_n14##x,_p7##y,z,c)), \
+ (I[223] = (T)(img)(_n14##x,_p6##y,z,c)), \
+ (I[251] = (T)(img)(_n14##x,_p5##y,z,c)), \
+ (I[279] = (T)(img)(_n14##x,_p4##y,z,c)), \
+ (I[307] = (T)(img)(_n14##x,_p3##y,z,c)), \
+ (I[335] = (T)(img)(_n14##x,_p2##y,z,c)), \
+ (I[363] = (T)(img)(_n14##x,_p1##y,z,c)), \
+ (I[391] = (T)(img)(_n14##x,y,z,c)), \
+ (I[419] = (T)(img)(_n14##x,_n1##y,z,c)), \
+ (I[447] = (T)(img)(_n14##x,_n2##y,z,c)), \
+ (I[475] = (T)(img)(_n14##x,_n3##y,z,c)), \
+ (I[503] = (T)(img)(_n14##x,_n4##y,z,c)), \
+ (I[531] = (T)(img)(_n14##x,_n5##y,z,c)), \
+ (I[559] = (T)(img)(_n14##x,_n6##y,z,c)), \
+ (I[587] = (T)(img)(_n14##x,_n7##y,z,c)), \
+ (I[615] = (T)(img)(_n14##x,_n8##y,z,c)), \
+ (I[643] = (T)(img)(_n14##x,_n9##y,z,c)), \
+ (I[671] = (T)(img)(_n14##x,_n10##y,z,c)), \
+ (I[699] = (T)(img)(_n14##x,_n11##y,z,c)), \
+ (I[727] = (T)(img)(_n14##x,_n12##y,z,c)), \
+ (I[755] = (T)(img)(_n14##x,_n13##y,z,c)), \
+ (I[783] = (T)(img)(_n14##x,_n14##y,z,c)),1)) || \
+ _n13##x==--_n14##x || _n12##x==--_n13##x || _n11##x==--_n12##x || _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n14##x = _n13##x = _n12##x = _n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], \
+ I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], \
+ I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], \
+ I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], \
+ I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], \
+ I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], \
+ I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], \
+ I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], \
+ I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], \
+ I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], \
+ I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], \
+ I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], \
+ I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], I[359] = I[360], I[360] = I[361], I[361] = I[362], I[362] = I[363], \
+ I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], I[376] = I[377], I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], \
+ I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], I[399] = I[400], I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], I[415] = I[416], I[416] = I[417], I[417] = I[418], I[418] = I[419], \
+ I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], I[431] = I[432], I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], I[439] = I[440], I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], \
+ I[448] = I[449], I[449] = I[450], I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], I[455] = I[456], I[456] = I[457], I[457] = I[458], I[458] = I[459], I[459] = I[460], I[460] = I[461], I[461] = I[462], I[462] = I[463], I[463] = I[464], I[464] = I[465], I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], I[474] = I[475], \
+ I[476] = I[477], I[477] = I[478], I[478] = I[479], I[479] = I[480], I[480] = I[481], I[481] = I[482], I[482] = I[483], I[483] = I[484], I[484] = I[485], I[485] = I[486], I[486] = I[487], I[487] = I[488], I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], I[492] = I[493], I[493] = I[494], I[494] = I[495], I[495] = I[496], I[496] = I[497], I[497] = I[498], I[498] = I[499], I[499] = I[500], I[500] = I[501], I[501] = I[502], I[502] = I[503], \
+ I[504] = I[505], I[505] = I[506], I[506] = I[507], I[507] = I[508], I[508] = I[509], I[509] = I[510], I[510] = I[511], I[511] = I[512], I[512] = I[513], I[513] = I[514], I[514] = I[515], I[515] = I[516], I[516] = I[517], I[517] = I[518], I[518] = I[519], I[519] = I[520], I[520] = I[521], I[521] = I[522], I[522] = I[523], I[523] = I[524], I[524] = I[525], I[525] = I[526], I[526] = I[527], I[527] = I[528], I[528] = I[529], I[529] = I[530], I[530] = I[531], \
+ I[532] = I[533], I[533] = I[534], I[534] = I[535], I[535] = I[536], I[536] = I[537], I[537] = I[538], I[538] = I[539], I[539] = I[540], I[540] = I[541], I[541] = I[542], I[542] = I[543], I[543] = I[544], I[544] = I[545], I[545] = I[546], I[546] = I[547], I[547] = I[548], I[548] = I[549], I[549] = I[550], I[550] = I[551], I[551] = I[552], I[552] = I[553], I[553] = I[554], I[554] = I[555], I[555] = I[556], I[556] = I[557], I[557] = I[558], I[558] = I[559], \
+ I[560] = I[561], I[561] = I[562], I[562] = I[563], I[563] = I[564], I[564] = I[565], I[565] = I[566], I[566] = I[567], I[567] = I[568], I[568] = I[569], I[569] = I[570], I[570] = I[571], I[571] = I[572], I[572] = I[573], I[573] = I[574], I[574] = I[575], I[575] = I[576], I[576] = I[577], I[577] = I[578], I[578] = I[579], I[579] = I[580], I[580] = I[581], I[581] = I[582], I[582] = I[583], I[583] = I[584], I[584] = I[585], I[585] = I[586], I[586] = I[587], \
+ I[588] = I[589], I[589] = I[590], I[590] = I[591], I[591] = I[592], I[592] = I[593], I[593] = I[594], I[594] = I[595], I[595] = I[596], I[596] = I[597], I[597] = I[598], I[598] = I[599], I[599] = I[600], I[600] = I[601], I[601] = I[602], I[602] = I[603], I[603] = I[604], I[604] = I[605], I[605] = I[606], I[606] = I[607], I[607] = I[608], I[608] = I[609], I[609] = I[610], I[610] = I[611], I[611] = I[612], I[612] = I[613], I[613] = I[614], I[614] = I[615], \
+ I[616] = I[617], I[617] = I[618], I[618] = I[619], I[619] = I[620], I[620] = I[621], I[621] = I[622], I[622] = I[623], I[623] = I[624], I[624] = I[625], I[625] = I[626], I[626] = I[627], I[627] = I[628], I[628] = I[629], I[629] = I[630], I[630] = I[631], I[631] = I[632], I[632] = I[633], I[633] = I[634], I[634] = I[635], I[635] = I[636], I[636] = I[637], I[637] = I[638], I[638] = I[639], I[639] = I[640], I[640] = I[641], I[641] = I[642], I[642] = I[643], \
+ I[644] = I[645], I[645] = I[646], I[646] = I[647], I[647] = I[648], I[648] = I[649], I[649] = I[650], I[650] = I[651], I[651] = I[652], I[652] = I[653], I[653] = I[654], I[654] = I[655], I[655] = I[656], I[656] = I[657], I[657] = I[658], I[658] = I[659], I[659] = I[660], I[660] = I[661], I[661] = I[662], I[662] = I[663], I[663] = I[664], I[664] = I[665], I[665] = I[666], I[666] = I[667], I[667] = I[668], I[668] = I[669], I[669] = I[670], I[670] = I[671], \
+ I[672] = I[673], I[673] = I[674], I[674] = I[675], I[675] = I[676], I[676] = I[677], I[677] = I[678], I[678] = I[679], I[679] = I[680], I[680] = I[681], I[681] = I[682], I[682] = I[683], I[683] = I[684], I[684] = I[685], I[685] = I[686], I[686] = I[687], I[687] = I[688], I[688] = I[689], I[689] = I[690], I[690] = I[691], I[691] = I[692], I[692] = I[693], I[693] = I[694], I[694] = I[695], I[695] = I[696], I[696] = I[697], I[697] = I[698], I[698] = I[699], \
+ I[700] = I[701], I[701] = I[702], I[702] = I[703], I[703] = I[704], I[704] = I[705], I[705] = I[706], I[706] = I[707], I[707] = I[708], I[708] = I[709], I[709] = I[710], I[710] = I[711], I[711] = I[712], I[712] = I[713], I[713] = I[714], I[714] = I[715], I[715] = I[716], I[716] = I[717], I[717] = I[718], I[718] = I[719], I[719] = I[720], I[720] = I[721], I[721] = I[722], I[722] = I[723], I[723] = I[724], I[724] = I[725], I[725] = I[726], I[726] = I[727], \
+ I[728] = I[729], I[729] = I[730], I[730] = I[731], I[731] = I[732], I[732] = I[733], I[733] = I[734], I[734] = I[735], I[735] = I[736], I[736] = I[737], I[737] = I[738], I[738] = I[739], I[739] = I[740], I[740] = I[741], I[741] = I[742], I[742] = I[743], I[743] = I[744], I[744] = I[745], I[745] = I[746], I[746] = I[747], I[747] = I[748], I[748] = I[749], I[749] = I[750], I[750] = I[751], I[751] = I[752], I[752] = I[753], I[753] = I[754], I[754] = I[755], \
+ I[756] = I[757], I[757] = I[758], I[758] = I[759], I[759] = I[760], I[760] = I[761], I[761] = I[762], I[762] = I[763], I[763] = I[764], I[764] = I[765], I[765] = I[766], I[766] = I[767], I[767] = I[768], I[768] = I[769], I[769] = I[770], I[770] = I[771], I[771] = I[772], I[772] = I[773], I[773] = I[774], I[774] = I[775], I[775] = I[776], I[776] = I[777], I[777] = I[778], I[778] = I[779], I[779] = I[780], I[780] = I[781], I[781] = I[782], I[782] = I[783], \
+ _p13##x = _p12##x, _p12##x = _p11##x, _p11##x = _p10##x, _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x, ++_n12##x, ++_n13##x, ++_n14##x)
+
+#define cimg_for_in28x28(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in28((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p13##x = x - 13<0?0:x - 13, \
+ _p12##x = x - 12<0?0:x - 12, \
+ _p11##x = x - 11<0?0:x - 11, \
+ _p10##x = x - 10<0?0:x - 10, \
+ _p9##x = x - 9<0?0:x - 9, \
+ _p8##x = x - 8<0?0:x - 8, \
+ _p7##x = x - 7<0?0:x - 7, \
+ _p6##x = x - 6<0?0:x - 6, \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = x + 5>=(img).width()?(img).width() - 1:x + 5, \
+ _n6##x = x + 6>=(img).width()?(img).width() - 1:x + 6, \
+ _n7##x = x + 7>=(img).width()?(img).width() - 1:x + 7, \
+ _n8##x = x + 8>=(img).width()?(img).width() - 1:x + 8, \
+ _n9##x = x + 9>=(img).width()?(img).width() - 1:x + 9, \
+ _n10##x = x + 10>=(img).width()?(img).width() - 1:x + 10, \
+ _n11##x = x + 11>=(img).width()?(img).width() - 1:x + 11, \
+ _n12##x = x + 12>=(img).width()?(img).width() - 1:x + 12, \
+ _n13##x = x + 13>=(img).width()?(img).width() - 1:x + 13, \
+ _n14##x = (int)( \
+ (I[0] = (T)(img)(_p13##x,_p13##y,z,c)), \
+ (I[28] = (T)(img)(_p13##x,_p12##y,z,c)), \
+ (I[56] = (T)(img)(_p13##x,_p11##y,z,c)), \
+ (I[84] = (T)(img)(_p13##x,_p10##y,z,c)), \
+ (I[112] = (T)(img)(_p13##x,_p9##y,z,c)), \
+ (I[140] = (T)(img)(_p13##x,_p8##y,z,c)), \
+ (I[168] = (T)(img)(_p13##x,_p7##y,z,c)), \
+ (I[196] = (T)(img)(_p13##x,_p6##y,z,c)), \
+ (I[224] = (T)(img)(_p13##x,_p5##y,z,c)), \
+ (I[252] = (T)(img)(_p13##x,_p4##y,z,c)), \
+ (I[280] = (T)(img)(_p13##x,_p3##y,z,c)), \
+ (I[308] = (T)(img)(_p13##x,_p2##y,z,c)), \
+ (I[336] = (T)(img)(_p13##x,_p1##y,z,c)), \
+ (I[364] = (T)(img)(_p13##x,y,z,c)), \
+ (I[392] = (T)(img)(_p13##x,_n1##y,z,c)), \
+ (I[420] = (T)(img)(_p13##x,_n2##y,z,c)), \
+ (I[448] = (T)(img)(_p13##x,_n3##y,z,c)), \
+ (I[476] = (T)(img)(_p13##x,_n4##y,z,c)), \
+ (I[504] = (T)(img)(_p13##x,_n5##y,z,c)), \
+ (I[532] = (T)(img)(_p13##x,_n6##y,z,c)), \
+ (I[560] = (T)(img)(_p13##x,_n7##y,z,c)), \
+ (I[588] = (T)(img)(_p13##x,_n8##y,z,c)), \
+ (I[616] = (T)(img)(_p13##x,_n9##y,z,c)), \
+ (I[644] = (T)(img)(_p13##x,_n10##y,z,c)), \
+ (I[672] = (T)(img)(_p13##x,_n11##y,z,c)), \
+ (I[700] = (T)(img)(_p13##x,_n12##y,z,c)), \
+ (I[728] = (T)(img)(_p13##x,_n13##y,z,c)), \
+ (I[756] = (T)(img)(_p13##x,_n14##y,z,c)), \
+ (I[1] = (T)(img)(_p12##x,_p13##y,z,c)), \
+ (I[29] = (T)(img)(_p12##x,_p12##y,z,c)), \
+ (I[57] = (T)(img)(_p12##x,_p11##y,z,c)), \
+ (I[85] = (T)(img)(_p12##x,_p10##y,z,c)), \
+ (I[113] = (T)(img)(_p12##x,_p9##y,z,c)), \
+ (I[141] = (T)(img)(_p12##x,_p8##y,z,c)), \
+ (I[169] = (T)(img)(_p12##x,_p7##y,z,c)), \
+ (I[197] = (T)(img)(_p12##x,_p6##y,z,c)), \
+ (I[225] = (T)(img)(_p12##x,_p5##y,z,c)), \
+ (I[253] = (T)(img)(_p12##x,_p4##y,z,c)), \
+ (I[281] = (T)(img)(_p12##x,_p3##y,z,c)), \
+ (I[309] = (T)(img)(_p12##x,_p2##y,z,c)), \
+ (I[337] = (T)(img)(_p12##x,_p1##y,z,c)), \
+ (I[365] = (T)(img)(_p12##x,y,z,c)), \
+ (I[393] = (T)(img)(_p12##x,_n1##y,z,c)), \
+ (I[421] = (T)(img)(_p12##x,_n2##y,z,c)), \
+ (I[449] = (T)(img)(_p12##x,_n3##y,z,c)), \
+ (I[477] = (T)(img)(_p12##x,_n4##y,z,c)), \
+ (I[505] = (T)(img)(_p12##x,_n5##y,z,c)), \
+ (I[533] = (T)(img)(_p12##x,_n6##y,z,c)), \
+ (I[561] = (T)(img)(_p12##x,_n7##y,z,c)), \
+ (I[589] = (T)(img)(_p12##x,_n8##y,z,c)), \
+ (I[617] = (T)(img)(_p12##x,_n9##y,z,c)), \
+ (I[645] = (T)(img)(_p12##x,_n10##y,z,c)), \
+ (I[673] = (T)(img)(_p12##x,_n11##y,z,c)), \
+ (I[701] = (T)(img)(_p12##x,_n12##y,z,c)), \
+ (I[729] = (T)(img)(_p12##x,_n13##y,z,c)), \
+ (I[757] = (T)(img)(_p12##x,_n14##y,z,c)), \
+ (I[2] = (T)(img)(_p11##x,_p13##y,z,c)), \
+ (I[30] = (T)(img)(_p11##x,_p12##y,z,c)), \
+ (I[58] = (T)(img)(_p11##x,_p11##y,z,c)), \
+ (I[86] = (T)(img)(_p11##x,_p10##y,z,c)), \
+ (I[114] = (T)(img)(_p11##x,_p9##y,z,c)), \
+ (I[142] = (T)(img)(_p11##x,_p8##y,z,c)), \
+ (I[170] = (T)(img)(_p11##x,_p7##y,z,c)), \
+ (I[198] = (T)(img)(_p11##x,_p6##y,z,c)), \
+ (I[226] = (T)(img)(_p11##x,_p5##y,z,c)), \
+ (I[254] = (T)(img)(_p11##x,_p4##y,z,c)), \
+ (I[282] = (T)(img)(_p11##x,_p3##y,z,c)), \
+ (I[310] = (T)(img)(_p11##x,_p2##y,z,c)), \
+ (I[338] = (T)(img)(_p11##x,_p1##y,z,c)), \
+ (I[366] = (T)(img)(_p11##x,y,z,c)), \
+ (I[394] = (T)(img)(_p11##x,_n1##y,z,c)), \
+ (I[422] = (T)(img)(_p11##x,_n2##y,z,c)), \
+ (I[450] = (T)(img)(_p11##x,_n3##y,z,c)), \
+ (I[478] = (T)(img)(_p11##x,_n4##y,z,c)), \
+ (I[506] = (T)(img)(_p11##x,_n5##y,z,c)), \
+ (I[534] = (T)(img)(_p11##x,_n6##y,z,c)), \
+ (I[562] = (T)(img)(_p11##x,_n7##y,z,c)), \
+ (I[590] = (T)(img)(_p11##x,_n8##y,z,c)), \
+ (I[618] = (T)(img)(_p11##x,_n9##y,z,c)), \
+ (I[646] = (T)(img)(_p11##x,_n10##y,z,c)), \
+ (I[674] = (T)(img)(_p11##x,_n11##y,z,c)), \
+ (I[702] = (T)(img)(_p11##x,_n12##y,z,c)), \
+ (I[730] = (T)(img)(_p11##x,_n13##y,z,c)), \
+ (I[758] = (T)(img)(_p11##x,_n14##y,z,c)), \
+ (I[3] = (T)(img)(_p10##x,_p13##y,z,c)), \
+ (I[31] = (T)(img)(_p10##x,_p12##y,z,c)), \
+ (I[59] = (T)(img)(_p10##x,_p11##y,z,c)), \
+ (I[87] = (T)(img)(_p10##x,_p10##y,z,c)), \
+ (I[115] = (T)(img)(_p10##x,_p9##y,z,c)), \
+ (I[143] = (T)(img)(_p10##x,_p8##y,z,c)), \
+ (I[171] = (T)(img)(_p10##x,_p7##y,z,c)), \
+ (I[199] = (T)(img)(_p10##x,_p6##y,z,c)), \
+ (I[227] = (T)(img)(_p10##x,_p5##y,z,c)), \
+ (I[255] = (T)(img)(_p10##x,_p4##y,z,c)), \
+ (I[283] = (T)(img)(_p10##x,_p3##y,z,c)), \
+ (I[311] = (T)(img)(_p10##x,_p2##y,z,c)), \
+ (I[339] = (T)(img)(_p10##x,_p1##y,z,c)), \
+ (I[367] = (T)(img)(_p10##x,y,z,c)), \
+ (I[395] = (T)(img)(_p10##x,_n1##y,z,c)), \
+ (I[423] = (T)(img)(_p10##x,_n2##y,z,c)), \
+ (I[451] = (T)(img)(_p10##x,_n3##y,z,c)), \
+ (I[479] = (T)(img)(_p10##x,_n4##y,z,c)), \
+ (I[507] = (T)(img)(_p10##x,_n5##y,z,c)), \
+ (I[535] = (T)(img)(_p10##x,_n6##y,z,c)), \
+ (I[563] = (T)(img)(_p10##x,_n7##y,z,c)), \
+ (I[591] = (T)(img)(_p10##x,_n8##y,z,c)), \
+ (I[619] = (T)(img)(_p10##x,_n9##y,z,c)), \
+ (I[647] = (T)(img)(_p10##x,_n10##y,z,c)), \
+ (I[675] = (T)(img)(_p10##x,_n11##y,z,c)), \
+ (I[703] = (T)(img)(_p10##x,_n12##y,z,c)), \
+ (I[731] = (T)(img)(_p10##x,_n13##y,z,c)), \
+ (I[759] = (T)(img)(_p10##x,_n14##y,z,c)), \
+ (I[4] = (T)(img)(_p9##x,_p13##y,z,c)), \
+ (I[32] = (T)(img)(_p9##x,_p12##y,z,c)), \
+ (I[60] = (T)(img)(_p9##x,_p11##y,z,c)), \
+ (I[88] = (T)(img)(_p9##x,_p10##y,z,c)), \
+ (I[116] = (T)(img)(_p9##x,_p9##y,z,c)), \
+ (I[144] = (T)(img)(_p9##x,_p8##y,z,c)), \
+ (I[172] = (T)(img)(_p9##x,_p7##y,z,c)), \
+ (I[200] = (T)(img)(_p9##x,_p6##y,z,c)), \
+ (I[228] = (T)(img)(_p9##x,_p5##y,z,c)), \
+ (I[256] = (T)(img)(_p9##x,_p4##y,z,c)), \
+ (I[284] = (T)(img)(_p9##x,_p3##y,z,c)), \
+ (I[312] = (T)(img)(_p9##x,_p2##y,z,c)), \
+ (I[340] = (T)(img)(_p9##x,_p1##y,z,c)), \
+ (I[368] = (T)(img)(_p9##x,y,z,c)), \
+ (I[396] = (T)(img)(_p9##x,_n1##y,z,c)), \
+ (I[424] = (T)(img)(_p9##x,_n2##y,z,c)), \
+ (I[452] = (T)(img)(_p9##x,_n3##y,z,c)), \
+ (I[480] = (T)(img)(_p9##x,_n4##y,z,c)), \
+ (I[508] = (T)(img)(_p9##x,_n5##y,z,c)), \
+ (I[536] = (T)(img)(_p9##x,_n6##y,z,c)), \
+ (I[564] = (T)(img)(_p9##x,_n7##y,z,c)), \
+ (I[592] = (T)(img)(_p9##x,_n8##y,z,c)), \
+ (I[620] = (T)(img)(_p9##x,_n9##y,z,c)), \
+ (I[648] = (T)(img)(_p9##x,_n10##y,z,c)), \
+ (I[676] = (T)(img)(_p9##x,_n11##y,z,c)), \
+ (I[704] = (T)(img)(_p9##x,_n12##y,z,c)), \
+ (I[732] = (T)(img)(_p9##x,_n13##y,z,c)), \
+ (I[760] = (T)(img)(_p9##x,_n14##y,z,c)), \
+ (I[5] = (T)(img)(_p8##x,_p13##y,z,c)), \
+ (I[33] = (T)(img)(_p8##x,_p12##y,z,c)), \
+ (I[61] = (T)(img)(_p8##x,_p11##y,z,c)), \
+ (I[89] = (T)(img)(_p8##x,_p10##y,z,c)), \
+ (I[117] = (T)(img)(_p8##x,_p9##y,z,c)), \
+ (I[145] = (T)(img)(_p8##x,_p8##y,z,c)), \
+ (I[173] = (T)(img)(_p8##x,_p7##y,z,c)), \
+ (I[201] = (T)(img)(_p8##x,_p6##y,z,c)), \
+ (I[229] = (T)(img)(_p8##x,_p5##y,z,c)), \
+ (I[257] = (T)(img)(_p8##x,_p4##y,z,c)), \
+ (I[285] = (T)(img)(_p8##x,_p3##y,z,c)), \
+ (I[313] = (T)(img)(_p8##x,_p2##y,z,c)), \
+ (I[341] = (T)(img)(_p8##x,_p1##y,z,c)), \
+ (I[369] = (T)(img)(_p8##x,y,z,c)), \
+ (I[397] = (T)(img)(_p8##x,_n1##y,z,c)), \
+ (I[425] = (T)(img)(_p8##x,_n2##y,z,c)), \
+ (I[453] = (T)(img)(_p8##x,_n3##y,z,c)), \
+ (I[481] = (T)(img)(_p8##x,_n4##y,z,c)), \
+ (I[509] = (T)(img)(_p8##x,_n5##y,z,c)), \
+ (I[537] = (T)(img)(_p8##x,_n6##y,z,c)), \
+ (I[565] = (T)(img)(_p8##x,_n7##y,z,c)), \
+ (I[593] = (T)(img)(_p8##x,_n8##y,z,c)), \
+ (I[621] = (T)(img)(_p8##x,_n9##y,z,c)), \
+ (I[649] = (T)(img)(_p8##x,_n10##y,z,c)), \
+ (I[677] = (T)(img)(_p8##x,_n11##y,z,c)), \
+ (I[705] = (T)(img)(_p8##x,_n12##y,z,c)), \
+ (I[733] = (T)(img)(_p8##x,_n13##y,z,c)), \
+ (I[761] = (T)(img)(_p8##x,_n14##y,z,c)), \
+ (I[6] = (T)(img)(_p7##x,_p13##y,z,c)), \
+ (I[34] = (T)(img)(_p7##x,_p12##y,z,c)), \
+ (I[62] = (T)(img)(_p7##x,_p11##y,z,c)), \
+ (I[90] = (T)(img)(_p7##x,_p10##y,z,c)), \
+ (I[118] = (T)(img)(_p7##x,_p9##y,z,c)), \
+ (I[146] = (T)(img)(_p7##x,_p8##y,z,c)), \
+ (I[174] = (T)(img)(_p7##x,_p7##y,z,c)), \
+ (I[202] = (T)(img)(_p7##x,_p6##y,z,c)), \
+ (I[230] = (T)(img)(_p7##x,_p5##y,z,c)), \
+ (I[258] = (T)(img)(_p7##x,_p4##y,z,c)), \
+ (I[286] = (T)(img)(_p7##x,_p3##y,z,c)), \
+ (I[314] = (T)(img)(_p7##x,_p2##y,z,c)), \
+ (I[342] = (T)(img)(_p7##x,_p1##y,z,c)), \
+ (I[370] = (T)(img)(_p7##x,y,z,c)), \
+ (I[398] = (T)(img)(_p7##x,_n1##y,z,c)), \
+ (I[426] = (T)(img)(_p7##x,_n2##y,z,c)), \
+ (I[454] = (T)(img)(_p7##x,_n3##y,z,c)), \
+ (I[482] = (T)(img)(_p7##x,_n4##y,z,c)), \
+ (I[510] = (T)(img)(_p7##x,_n5##y,z,c)), \
+ (I[538] = (T)(img)(_p7##x,_n6##y,z,c)), \
+ (I[566] = (T)(img)(_p7##x,_n7##y,z,c)), \
+ (I[594] = (T)(img)(_p7##x,_n8##y,z,c)), \
+ (I[622] = (T)(img)(_p7##x,_n9##y,z,c)), \
+ (I[650] = (T)(img)(_p7##x,_n10##y,z,c)), \
+ (I[678] = (T)(img)(_p7##x,_n11##y,z,c)), \
+ (I[706] = (T)(img)(_p7##x,_n12##y,z,c)), \
+ (I[734] = (T)(img)(_p7##x,_n13##y,z,c)), \
+ (I[762] = (T)(img)(_p7##x,_n14##y,z,c)), \
+ (I[7] = (T)(img)(_p6##x,_p13##y,z,c)), \
+ (I[35] = (T)(img)(_p6##x,_p12##y,z,c)), \
+ (I[63] = (T)(img)(_p6##x,_p11##y,z,c)), \
+ (I[91] = (T)(img)(_p6##x,_p10##y,z,c)), \
+ (I[119] = (T)(img)(_p6##x,_p9##y,z,c)), \
+ (I[147] = (T)(img)(_p6##x,_p8##y,z,c)), \
+ (I[175] = (T)(img)(_p6##x,_p7##y,z,c)), \
+ (I[203] = (T)(img)(_p6##x,_p6##y,z,c)), \
+ (I[231] = (T)(img)(_p6##x,_p5##y,z,c)), \
+ (I[259] = (T)(img)(_p6##x,_p4##y,z,c)), \
+ (I[287] = (T)(img)(_p6##x,_p3##y,z,c)), \
+ (I[315] = (T)(img)(_p6##x,_p2##y,z,c)), \
+ (I[343] = (T)(img)(_p6##x,_p1##y,z,c)), \
+ (I[371] = (T)(img)(_p6##x,y,z,c)), \
+ (I[399] = (T)(img)(_p6##x,_n1##y,z,c)), \
+ (I[427] = (T)(img)(_p6##x,_n2##y,z,c)), \
+ (I[455] = (T)(img)(_p6##x,_n3##y,z,c)), \
+ (I[483] = (T)(img)(_p6##x,_n4##y,z,c)), \
+ (I[511] = (T)(img)(_p6##x,_n5##y,z,c)), \
+ (I[539] = (T)(img)(_p6##x,_n6##y,z,c)), \
+ (I[567] = (T)(img)(_p6##x,_n7##y,z,c)), \
+ (I[595] = (T)(img)(_p6##x,_n8##y,z,c)), \
+ (I[623] = (T)(img)(_p6##x,_n9##y,z,c)), \
+ (I[651] = (T)(img)(_p6##x,_n10##y,z,c)), \
+ (I[679] = (T)(img)(_p6##x,_n11##y,z,c)), \
+ (I[707] = (T)(img)(_p6##x,_n12##y,z,c)), \
+ (I[735] = (T)(img)(_p6##x,_n13##y,z,c)), \
+ (I[763] = (T)(img)(_p6##x,_n14##y,z,c)), \
+ (I[8] = (T)(img)(_p5##x,_p13##y,z,c)), \
+ (I[36] = (T)(img)(_p5##x,_p12##y,z,c)), \
+ (I[64] = (T)(img)(_p5##x,_p11##y,z,c)), \
+ (I[92] = (T)(img)(_p5##x,_p10##y,z,c)), \
+ (I[120] = (T)(img)(_p5##x,_p9##y,z,c)), \
+ (I[148] = (T)(img)(_p5##x,_p8##y,z,c)), \
+ (I[176] = (T)(img)(_p5##x,_p7##y,z,c)), \
+ (I[204] = (T)(img)(_p5##x,_p6##y,z,c)), \
+ (I[232] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[260] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[288] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[316] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[344] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[372] = (T)(img)(_p5##x,y,z,c)), \
+ (I[400] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[428] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[456] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[484] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[512] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[540] = (T)(img)(_p5##x,_n6##y,z,c)), \
+ (I[568] = (T)(img)(_p5##x,_n7##y,z,c)), \
+ (I[596] = (T)(img)(_p5##x,_n8##y,z,c)), \
+ (I[624] = (T)(img)(_p5##x,_n9##y,z,c)), \
+ (I[652] = (T)(img)(_p5##x,_n10##y,z,c)), \
+ (I[680] = (T)(img)(_p5##x,_n11##y,z,c)), \
+ (I[708] = (T)(img)(_p5##x,_n12##y,z,c)), \
+ (I[736] = (T)(img)(_p5##x,_n13##y,z,c)), \
+ (I[764] = (T)(img)(_p5##x,_n14##y,z,c)), \
+ (I[9] = (T)(img)(_p4##x,_p13##y,z,c)), \
+ (I[37] = (T)(img)(_p4##x,_p12##y,z,c)), \
+ (I[65] = (T)(img)(_p4##x,_p11##y,z,c)), \
+ (I[93] = (T)(img)(_p4##x,_p10##y,z,c)), \
+ (I[121] = (T)(img)(_p4##x,_p9##y,z,c)), \
+ (I[149] = (T)(img)(_p4##x,_p8##y,z,c)), \
+ (I[177] = (T)(img)(_p4##x,_p7##y,z,c)), \
+ (I[205] = (T)(img)(_p4##x,_p6##y,z,c)), \
+ (I[233] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[261] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[289] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[317] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[345] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[373] = (T)(img)(_p4##x,y,z,c)), \
+ (I[401] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[429] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[457] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[485] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[513] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[541] = (T)(img)(_p4##x,_n6##y,z,c)), \
+ (I[569] = (T)(img)(_p4##x,_n7##y,z,c)), \
+ (I[597] = (T)(img)(_p4##x,_n8##y,z,c)), \
+ (I[625] = (T)(img)(_p4##x,_n9##y,z,c)), \
+ (I[653] = (T)(img)(_p4##x,_n10##y,z,c)), \
+ (I[681] = (T)(img)(_p4##x,_n11##y,z,c)), \
+ (I[709] = (T)(img)(_p4##x,_n12##y,z,c)), \
+ (I[737] = (T)(img)(_p4##x,_n13##y,z,c)), \
+ (I[765] = (T)(img)(_p4##x,_n14##y,z,c)), \
+ (I[10] = (T)(img)(_p3##x,_p13##y,z,c)), \
+ (I[38] = (T)(img)(_p3##x,_p12##y,z,c)), \
+ (I[66] = (T)(img)(_p3##x,_p11##y,z,c)), \
+ (I[94] = (T)(img)(_p3##x,_p10##y,z,c)), \
+ (I[122] = (T)(img)(_p3##x,_p9##y,z,c)), \
+ (I[150] = (T)(img)(_p3##x,_p8##y,z,c)), \
+ (I[178] = (T)(img)(_p3##x,_p7##y,z,c)), \
+ (I[206] = (T)(img)(_p3##x,_p6##y,z,c)), \
+ (I[234] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[262] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[290] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[318] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[346] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[374] = (T)(img)(_p3##x,y,z,c)), \
+ (I[402] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[430] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[458] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[486] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[514] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[542] = (T)(img)(_p3##x,_n6##y,z,c)), \
+ (I[570] = (T)(img)(_p3##x,_n7##y,z,c)), \
+ (I[598] = (T)(img)(_p3##x,_n8##y,z,c)), \
+ (I[626] = (T)(img)(_p3##x,_n9##y,z,c)), \
+ (I[654] = (T)(img)(_p3##x,_n10##y,z,c)), \
+ (I[682] = (T)(img)(_p3##x,_n11##y,z,c)), \
+ (I[710] = (T)(img)(_p3##x,_n12##y,z,c)), \
+ (I[738] = (T)(img)(_p3##x,_n13##y,z,c)), \
+ (I[766] = (T)(img)(_p3##x,_n14##y,z,c)), \
+ (I[11] = (T)(img)(_p2##x,_p13##y,z,c)), \
+ (I[39] = (T)(img)(_p2##x,_p12##y,z,c)), \
+ (I[67] = (T)(img)(_p2##x,_p11##y,z,c)), \
+ (I[95] = (T)(img)(_p2##x,_p10##y,z,c)), \
+ (I[123] = (T)(img)(_p2##x,_p9##y,z,c)), \
+ (I[151] = (T)(img)(_p2##x,_p8##y,z,c)), \
+ (I[179] = (T)(img)(_p2##x,_p7##y,z,c)), \
+ (I[207] = (T)(img)(_p2##x,_p6##y,z,c)), \
+ (I[235] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[263] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[291] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[319] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[347] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[375] = (T)(img)(_p2##x,y,z,c)), \
+ (I[403] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[431] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[459] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[487] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[515] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[543] = (T)(img)(_p2##x,_n6##y,z,c)), \
+ (I[571] = (T)(img)(_p2##x,_n7##y,z,c)), \
+ (I[599] = (T)(img)(_p2##x,_n8##y,z,c)), \
+ (I[627] = (T)(img)(_p2##x,_n9##y,z,c)), \
+ (I[655] = (T)(img)(_p2##x,_n10##y,z,c)), \
+ (I[683] = (T)(img)(_p2##x,_n11##y,z,c)), \
+ (I[711] = (T)(img)(_p2##x,_n12##y,z,c)), \
+ (I[739] = (T)(img)(_p2##x,_n13##y,z,c)), \
+ (I[767] = (T)(img)(_p2##x,_n14##y,z,c)), \
+ (I[12] = (T)(img)(_p1##x,_p13##y,z,c)), \
+ (I[40] = (T)(img)(_p1##x,_p12##y,z,c)), \
+ (I[68] = (T)(img)(_p1##x,_p11##y,z,c)), \
+ (I[96] = (T)(img)(_p1##x,_p10##y,z,c)), \
+ (I[124] = (T)(img)(_p1##x,_p9##y,z,c)), \
+ (I[152] = (T)(img)(_p1##x,_p8##y,z,c)), \
+ (I[180] = (T)(img)(_p1##x,_p7##y,z,c)), \
+ (I[208] = (T)(img)(_p1##x,_p6##y,z,c)), \
+ (I[236] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[264] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[292] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[320] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[348] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[376] = (T)(img)(_p1##x,y,z,c)), \
+ (I[404] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[432] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[460] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[488] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[516] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[544] = (T)(img)(_p1##x,_n6##y,z,c)), \
+ (I[572] = (T)(img)(_p1##x,_n7##y,z,c)), \
+ (I[600] = (T)(img)(_p1##x,_n8##y,z,c)), \
+ (I[628] = (T)(img)(_p1##x,_n9##y,z,c)), \
+ (I[656] = (T)(img)(_p1##x,_n10##y,z,c)), \
+ (I[684] = (T)(img)(_p1##x,_n11##y,z,c)), \
+ (I[712] = (T)(img)(_p1##x,_n12##y,z,c)), \
+ (I[740] = (T)(img)(_p1##x,_n13##y,z,c)), \
+ (I[768] = (T)(img)(_p1##x,_n14##y,z,c)), \
+ (I[13] = (T)(img)(x,_p13##y,z,c)), \
+ (I[41] = (T)(img)(x,_p12##y,z,c)), \
+ (I[69] = (T)(img)(x,_p11##y,z,c)), \
+ (I[97] = (T)(img)(x,_p10##y,z,c)), \
+ (I[125] = (T)(img)(x,_p9##y,z,c)), \
+ (I[153] = (T)(img)(x,_p8##y,z,c)), \
+ (I[181] = (T)(img)(x,_p7##y,z,c)), \
+ (I[209] = (T)(img)(x,_p6##y,z,c)), \
+ (I[237] = (T)(img)(x,_p5##y,z,c)), \
+ (I[265] = (T)(img)(x,_p4##y,z,c)), \
+ (I[293] = (T)(img)(x,_p3##y,z,c)), \
+ (I[321] = (T)(img)(x,_p2##y,z,c)), \
+ (I[349] = (T)(img)(x,_p1##y,z,c)), \
+ (I[377] = (T)(img)(x,y,z,c)), \
+ (I[405] = (T)(img)(x,_n1##y,z,c)), \
+ (I[433] = (T)(img)(x,_n2##y,z,c)), \
+ (I[461] = (T)(img)(x,_n3##y,z,c)), \
+ (I[489] = (T)(img)(x,_n4##y,z,c)), \
+ (I[517] = (T)(img)(x,_n5##y,z,c)), \
+ (I[545] = (T)(img)(x,_n6##y,z,c)), \
+ (I[573] = (T)(img)(x,_n7##y,z,c)), \
+ (I[601] = (T)(img)(x,_n8##y,z,c)), \
+ (I[629] = (T)(img)(x,_n9##y,z,c)), \
+ (I[657] = (T)(img)(x,_n10##y,z,c)), \
+ (I[685] = (T)(img)(x,_n11##y,z,c)), \
+ (I[713] = (T)(img)(x,_n12##y,z,c)), \
+ (I[741] = (T)(img)(x,_n13##y,z,c)), \
+ (I[769] = (T)(img)(x,_n14##y,z,c)), \
+ (I[14] = (T)(img)(_n1##x,_p13##y,z,c)), \
+ (I[42] = (T)(img)(_n1##x,_p12##y,z,c)), \
+ (I[70] = (T)(img)(_n1##x,_p11##y,z,c)), \
+ (I[98] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[126] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[154] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[182] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[210] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[238] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[266] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[294] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[322] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[350] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[378] = (T)(img)(_n1##x,y,z,c)), \
+ (I[406] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[434] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[462] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[490] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[518] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[546] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[574] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[602] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[630] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[658] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[686] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[714] = (T)(img)(_n1##x,_n12##y,z,c)), \
+ (I[742] = (T)(img)(_n1##x,_n13##y,z,c)), \
+ (I[770] = (T)(img)(_n1##x,_n14##y,z,c)), \
+ (I[15] = (T)(img)(_n2##x,_p13##y,z,c)), \
+ (I[43] = (T)(img)(_n2##x,_p12##y,z,c)), \
+ (I[71] = (T)(img)(_n2##x,_p11##y,z,c)), \
+ (I[99] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[127] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[155] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[183] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[211] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[239] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[267] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[295] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[323] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[351] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[379] = (T)(img)(_n2##x,y,z,c)), \
+ (I[407] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[435] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[463] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[491] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[519] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[547] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[575] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[603] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[631] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[659] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[687] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[715] = (T)(img)(_n2##x,_n12##y,z,c)), \
+ (I[743] = (T)(img)(_n2##x,_n13##y,z,c)), \
+ (I[771] = (T)(img)(_n2##x,_n14##y,z,c)), \
+ (I[16] = (T)(img)(_n3##x,_p13##y,z,c)), \
+ (I[44] = (T)(img)(_n3##x,_p12##y,z,c)), \
+ (I[72] = (T)(img)(_n3##x,_p11##y,z,c)), \
+ (I[100] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[128] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[156] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[184] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[212] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[240] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[268] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[296] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[324] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[352] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[380] = (T)(img)(_n3##x,y,z,c)), \
+ (I[408] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[436] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[464] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[492] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[520] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[548] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[576] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[604] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[632] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[660] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[688] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[716] = (T)(img)(_n3##x,_n12##y,z,c)), \
+ (I[744] = (T)(img)(_n3##x,_n13##y,z,c)), \
+ (I[772] = (T)(img)(_n3##x,_n14##y,z,c)), \
+ (I[17] = (T)(img)(_n4##x,_p13##y,z,c)), \
+ (I[45] = (T)(img)(_n4##x,_p12##y,z,c)), \
+ (I[73] = (T)(img)(_n4##x,_p11##y,z,c)), \
+ (I[101] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[129] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[157] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[185] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[213] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[241] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[269] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[297] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[325] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[353] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[381] = (T)(img)(_n4##x,y,z,c)), \
+ (I[409] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[437] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[465] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[493] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[521] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[549] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[577] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[605] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[633] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[661] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[689] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[717] = (T)(img)(_n4##x,_n12##y,z,c)), \
+ (I[745] = (T)(img)(_n4##x,_n13##y,z,c)), \
+ (I[773] = (T)(img)(_n4##x,_n14##y,z,c)), \
+ (I[18] = (T)(img)(_n5##x,_p13##y,z,c)), \
+ (I[46] = (T)(img)(_n5##x,_p12##y,z,c)), \
+ (I[74] = (T)(img)(_n5##x,_p11##y,z,c)), \
+ (I[102] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[130] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[158] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[186] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[214] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[242] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[270] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[298] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[326] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[354] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[382] = (T)(img)(_n5##x,y,z,c)), \
+ (I[410] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[438] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[466] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[494] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[522] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[550] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[578] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[606] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[634] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[662] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[690] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[718] = (T)(img)(_n5##x,_n12##y,z,c)), \
+ (I[746] = (T)(img)(_n5##x,_n13##y,z,c)), \
+ (I[774] = (T)(img)(_n5##x,_n14##y,z,c)), \
+ (I[19] = (T)(img)(_n6##x,_p13##y,z,c)), \
+ (I[47] = (T)(img)(_n6##x,_p12##y,z,c)), \
+ (I[75] = (T)(img)(_n6##x,_p11##y,z,c)), \
+ (I[103] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[131] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[159] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[187] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[215] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[243] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[271] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[299] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[327] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[355] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[383] = (T)(img)(_n6##x,y,z,c)), \
+ (I[411] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[439] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[467] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[495] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[523] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[551] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[579] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[607] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[635] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[663] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[691] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[719] = (T)(img)(_n6##x,_n12##y,z,c)), \
+ (I[747] = (T)(img)(_n6##x,_n13##y,z,c)), \
+ (I[775] = (T)(img)(_n6##x,_n14##y,z,c)), \
+ (I[20] = (T)(img)(_n7##x,_p13##y,z,c)), \
+ (I[48] = (T)(img)(_n7##x,_p12##y,z,c)), \
+ (I[76] = (T)(img)(_n7##x,_p11##y,z,c)), \
+ (I[104] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[132] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[160] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[188] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[216] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[244] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[272] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[300] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[328] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[356] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[384] = (T)(img)(_n7##x,y,z,c)), \
+ (I[412] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[440] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[468] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[496] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[524] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[552] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[580] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[608] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[636] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[664] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[692] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[720] = (T)(img)(_n7##x,_n12##y,z,c)), \
+ (I[748] = (T)(img)(_n7##x,_n13##y,z,c)), \
+ (I[776] = (T)(img)(_n7##x,_n14##y,z,c)), \
+ (I[21] = (T)(img)(_n8##x,_p13##y,z,c)), \
+ (I[49] = (T)(img)(_n8##x,_p12##y,z,c)), \
+ (I[77] = (T)(img)(_n8##x,_p11##y,z,c)), \
+ (I[105] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[133] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[161] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[189] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[217] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[245] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[273] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[301] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[329] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[357] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[385] = (T)(img)(_n8##x,y,z,c)), \
+ (I[413] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[441] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[469] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[497] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[525] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[553] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[581] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[609] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[637] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[665] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[693] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[721] = (T)(img)(_n8##x,_n12##y,z,c)), \
+ (I[749] = (T)(img)(_n8##x,_n13##y,z,c)), \
+ (I[777] = (T)(img)(_n8##x,_n14##y,z,c)), \
+ (I[22] = (T)(img)(_n9##x,_p13##y,z,c)), \
+ (I[50] = (T)(img)(_n9##x,_p12##y,z,c)), \
+ (I[78] = (T)(img)(_n9##x,_p11##y,z,c)), \
+ (I[106] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[134] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[162] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[190] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[218] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[246] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[274] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[302] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[330] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[358] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[386] = (T)(img)(_n9##x,y,z,c)), \
+ (I[414] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[442] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[470] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[498] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[526] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[554] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[582] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[610] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[638] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[666] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[694] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[722] = (T)(img)(_n9##x,_n12##y,z,c)), \
+ (I[750] = (T)(img)(_n9##x,_n13##y,z,c)), \
+ (I[778] = (T)(img)(_n9##x,_n14##y,z,c)), \
+ (I[23] = (T)(img)(_n10##x,_p13##y,z,c)), \
+ (I[51] = (T)(img)(_n10##x,_p12##y,z,c)), \
+ (I[79] = (T)(img)(_n10##x,_p11##y,z,c)), \
+ (I[107] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[135] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[163] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[191] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[219] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[247] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[275] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[303] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[331] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[359] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[387] = (T)(img)(_n10##x,y,z,c)), \
+ (I[415] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[443] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[471] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[499] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[527] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[555] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[583] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[611] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[639] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[667] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[695] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ (I[723] = (T)(img)(_n10##x,_n12##y,z,c)), \
+ (I[751] = (T)(img)(_n10##x,_n13##y,z,c)), \
+ (I[779] = (T)(img)(_n10##x,_n14##y,z,c)), \
+ (I[24] = (T)(img)(_n11##x,_p13##y,z,c)), \
+ (I[52] = (T)(img)(_n11##x,_p12##y,z,c)), \
+ (I[80] = (T)(img)(_n11##x,_p11##y,z,c)), \
+ (I[108] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[136] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[164] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[192] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[220] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[248] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[276] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[304] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[332] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[360] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[388] = (T)(img)(_n11##x,y,z,c)), \
+ (I[416] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[444] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[472] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[500] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[528] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[556] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[584] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[612] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[640] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[668] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[696] = (T)(img)(_n11##x,_n11##y,z,c)), \
+ (I[724] = (T)(img)(_n11##x,_n12##y,z,c)), \
+ (I[752] = (T)(img)(_n11##x,_n13##y,z,c)), \
+ (I[780] = (T)(img)(_n11##x,_n14##y,z,c)), \
+ (I[25] = (T)(img)(_n12##x,_p13##y,z,c)), \
+ (I[53] = (T)(img)(_n12##x,_p12##y,z,c)), \
+ (I[81] = (T)(img)(_n12##x,_p11##y,z,c)), \
+ (I[109] = (T)(img)(_n12##x,_p10##y,z,c)), \
+ (I[137] = (T)(img)(_n12##x,_p9##y,z,c)), \
+ (I[165] = (T)(img)(_n12##x,_p8##y,z,c)), \
+ (I[193] = (T)(img)(_n12##x,_p7##y,z,c)), \
+ (I[221] = (T)(img)(_n12##x,_p6##y,z,c)), \
+ (I[249] = (T)(img)(_n12##x,_p5##y,z,c)), \
+ (I[277] = (T)(img)(_n12##x,_p4##y,z,c)), \
+ (I[305] = (T)(img)(_n12##x,_p3##y,z,c)), \
+ (I[333] = (T)(img)(_n12##x,_p2##y,z,c)), \
+ (I[361] = (T)(img)(_n12##x,_p1##y,z,c)), \
+ (I[389] = (T)(img)(_n12##x,y,z,c)), \
+ (I[417] = (T)(img)(_n12##x,_n1##y,z,c)), \
+ (I[445] = (T)(img)(_n12##x,_n2##y,z,c)), \
+ (I[473] = (T)(img)(_n12##x,_n3##y,z,c)), \
+ (I[501] = (T)(img)(_n12##x,_n4##y,z,c)), \
+ (I[529] = (T)(img)(_n12##x,_n5##y,z,c)), \
+ (I[557] = (T)(img)(_n12##x,_n6##y,z,c)), \
+ (I[585] = (T)(img)(_n12##x,_n7##y,z,c)), \
+ (I[613] = (T)(img)(_n12##x,_n8##y,z,c)), \
+ (I[641] = (T)(img)(_n12##x,_n9##y,z,c)), \
+ (I[669] = (T)(img)(_n12##x,_n10##y,z,c)), \
+ (I[697] = (T)(img)(_n12##x,_n11##y,z,c)), \
+ (I[725] = (T)(img)(_n12##x,_n12##y,z,c)), \
+ (I[753] = (T)(img)(_n12##x,_n13##y,z,c)), \
+ (I[781] = (T)(img)(_n12##x,_n14##y,z,c)), \
+ (I[26] = (T)(img)(_n13##x,_p13##y,z,c)), \
+ (I[54] = (T)(img)(_n13##x,_p12##y,z,c)), \
+ (I[82] = (T)(img)(_n13##x,_p11##y,z,c)), \
+ (I[110] = (T)(img)(_n13##x,_p10##y,z,c)), \
+ (I[138] = (T)(img)(_n13##x,_p9##y,z,c)), \
+ (I[166] = (T)(img)(_n13##x,_p8##y,z,c)), \
+ (I[194] = (T)(img)(_n13##x,_p7##y,z,c)), \
+ (I[222] = (T)(img)(_n13##x,_p6##y,z,c)), \
+ (I[250] = (T)(img)(_n13##x,_p5##y,z,c)), \
+ (I[278] = (T)(img)(_n13##x,_p4##y,z,c)), \
+ (I[306] = (T)(img)(_n13##x,_p3##y,z,c)), \
+ (I[334] = (T)(img)(_n13##x,_p2##y,z,c)), \
+ (I[362] = (T)(img)(_n13##x,_p1##y,z,c)), \
+ (I[390] = (T)(img)(_n13##x,y,z,c)), \
+ (I[418] = (T)(img)(_n13##x,_n1##y,z,c)), \
+ (I[446] = (T)(img)(_n13##x,_n2##y,z,c)), \
+ (I[474] = (T)(img)(_n13##x,_n3##y,z,c)), \
+ (I[502] = (T)(img)(_n13##x,_n4##y,z,c)), \
+ (I[530] = (T)(img)(_n13##x,_n5##y,z,c)), \
+ (I[558] = (T)(img)(_n13##x,_n6##y,z,c)), \
+ (I[586] = (T)(img)(_n13##x,_n7##y,z,c)), \
+ (I[614] = (T)(img)(_n13##x,_n8##y,z,c)), \
+ (I[642] = (T)(img)(_n13##x,_n9##y,z,c)), \
+ (I[670] = (T)(img)(_n13##x,_n10##y,z,c)), \
+ (I[698] = (T)(img)(_n13##x,_n11##y,z,c)), \
+ (I[726] = (T)(img)(_n13##x,_n12##y,z,c)), \
+ (I[754] = (T)(img)(_n13##x,_n13##y,z,c)), \
+ (I[782] = (T)(img)(_n13##x,_n14##y,z,c)), \
+ x + 14>=(img).width()?(img).width() - 1:x + 14); \
+ x<=(int)(x1) && ((_n14##x<(img).width() && ( \
+ (I[27] = (T)(img)(_n14##x,_p13##y,z,c)), \
+ (I[55] = (T)(img)(_n14##x,_p12##y,z,c)), \
+ (I[83] = (T)(img)(_n14##x,_p11##y,z,c)), \
+ (I[111] = (T)(img)(_n14##x,_p10##y,z,c)), \
+ (I[139] = (T)(img)(_n14##x,_p9##y,z,c)), \
+ (I[167] = (T)(img)(_n14##x,_p8##y,z,c)), \
+ (I[195] = (T)(img)(_n14##x,_p7##y,z,c)), \
+ (I[223] = (T)(img)(_n14##x,_p6##y,z,c)), \
+ (I[251] = (T)(img)(_n14##x,_p5##y,z,c)), \
+ (I[279] = (T)(img)(_n14##x,_p4##y,z,c)), \
+ (I[307] = (T)(img)(_n14##x,_p3##y,z,c)), \
+ (I[335] = (T)(img)(_n14##x,_p2##y,z,c)), \
+ (I[363] = (T)(img)(_n14##x,_p1##y,z,c)), \
+ (I[391] = (T)(img)(_n14##x,y,z,c)), \
+ (I[419] = (T)(img)(_n14##x,_n1##y,z,c)), \
+ (I[447] = (T)(img)(_n14##x,_n2##y,z,c)), \
+ (I[475] = (T)(img)(_n14##x,_n3##y,z,c)), \
+ (I[503] = (T)(img)(_n14##x,_n4##y,z,c)), \
+ (I[531] = (T)(img)(_n14##x,_n5##y,z,c)), \
+ (I[559] = (T)(img)(_n14##x,_n6##y,z,c)), \
+ (I[587] = (T)(img)(_n14##x,_n7##y,z,c)), \
+ (I[615] = (T)(img)(_n14##x,_n8##y,z,c)), \
+ (I[643] = (T)(img)(_n14##x,_n9##y,z,c)), \
+ (I[671] = (T)(img)(_n14##x,_n10##y,z,c)), \
+ (I[699] = (T)(img)(_n14##x,_n11##y,z,c)), \
+ (I[727] = (T)(img)(_n14##x,_n12##y,z,c)), \
+ (I[755] = (T)(img)(_n14##x,_n13##y,z,c)), \
+ (I[783] = (T)(img)(_n14##x,_n14##y,z,c)),1)) || \
+ _n13##x==--_n14##x || _n12##x==--_n13##x || _n11##x==--_n12##x || _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n14##x = _n13##x = _n12##x = _n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], \
+ I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], \
+ I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], \
+ I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], \
+ I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], \
+ I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], \
+ I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], \
+ I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], \
+ I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], \
+ I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], \
+ I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], \
+ I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], \
+ I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], I[359] = I[360], I[360] = I[361], I[361] = I[362], I[362] = I[363], \
+ I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], I[376] = I[377], I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], \
+ I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], I[399] = I[400], I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], I[415] = I[416], I[416] = I[417], I[417] = I[418], I[418] = I[419], \
+ I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], I[431] = I[432], I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], I[439] = I[440], I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], \
+ I[448] = I[449], I[449] = I[450], I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], I[455] = I[456], I[456] = I[457], I[457] = I[458], I[458] = I[459], I[459] = I[460], I[460] = I[461], I[461] = I[462], I[462] = I[463], I[463] = I[464], I[464] = I[465], I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], I[474] = I[475], \
+ I[476] = I[477], I[477] = I[478], I[478] = I[479], I[479] = I[480], I[480] = I[481], I[481] = I[482], I[482] = I[483], I[483] = I[484], I[484] = I[485], I[485] = I[486], I[486] = I[487], I[487] = I[488], I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], I[492] = I[493], I[493] = I[494], I[494] = I[495], I[495] = I[496], I[496] = I[497], I[497] = I[498], I[498] = I[499], I[499] = I[500], I[500] = I[501], I[501] = I[502], I[502] = I[503], \
+ I[504] = I[505], I[505] = I[506], I[506] = I[507], I[507] = I[508], I[508] = I[509], I[509] = I[510], I[510] = I[511], I[511] = I[512], I[512] = I[513], I[513] = I[514], I[514] = I[515], I[515] = I[516], I[516] = I[517], I[517] = I[518], I[518] = I[519], I[519] = I[520], I[520] = I[521], I[521] = I[522], I[522] = I[523], I[523] = I[524], I[524] = I[525], I[525] = I[526], I[526] = I[527], I[527] = I[528], I[528] = I[529], I[529] = I[530], I[530] = I[531], \
+ I[532] = I[533], I[533] = I[534], I[534] = I[535], I[535] = I[536], I[536] = I[537], I[537] = I[538], I[538] = I[539], I[539] = I[540], I[540] = I[541], I[541] = I[542], I[542] = I[543], I[543] = I[544], I[544] = I[545], I[545] = I[546], I[546] = I[547], I[547] = I[548], I[548] = I[549], I[549] = I[550], I[550] = I[551], I[551] = I[552], I[552] = I[553], I[553] = I[554], I[554] = I[555], I[555] = I[556], I[556] = I[557], I[557] = I[558], I[558] = I[559], \
+ I[560] = I[561], I[561] = I[562], I[562] = I[563], I[563] = I[564], I[564] = I[565], I[565] = I[566], I[566] = I[567], I[567] = I[568], I[568] = I[569], I[569] = I[570], I[570] = I[571], I[571] = I[572], I[572] = I[573], I[573] = I[574], I[574] = I[575], I[575] = I[576], I[576] = I[577], I[577] = I[578], I[578] = I[579], I[579] = I[580], I[580] = I[581], I[581] = I[582], I[582] = I[583], I[583] = I[584], I[584] = I[585], I[585] = I[586], I[586] = I[587], \
+ I[588] = I[589], I[589] = I[590], I[590] = I[591], I[591] = I[592], I[592] = I[593], I[593] = I[594], I[594] = I[595], I[595] = I[596], I[596] = I[597], I[597] = I[598], I[598] = I[599], I[599] = I[600], I[600] = I[601], I[601] = I[602], I[602] = I[603], I[603] = I[604], I[604] = I[605], I[605] = I[606], I[606] = I[607], I[607] = I[608], I[608] = I[609], I[609] = I[610], I[610] = I[611], I[611] = I[612], I[612] = I[613], I[613] = I[614], I[614] = I[615], \
+ I[616] = I[617], I[617] = I[618], I[618] = I[619], I[619] = I[620], I[620] = I[621], I[621] = I[622], I[622] = I[623], I[623] = I[624], I[624] = I[625], I[625] = I[626], I[626] = I[627], I[627] = I[628], I[628] = I[629], I[629] = I[630], I[630] = I[631], I[631] = I[632], I[632] = I[633], I[633] = I[634], I[634] = I[635], I[635] = I[636], I[636] = I[637], I[637] = I[638], I[638] = I[639], I[639] = I[640], I[640] = I[641], I[641] = I[642], I[642] = I[643], \
+ I[644] = I[645], I[645] = I[646], I[646] = I[647], I[647] = I[648], I[648] = I[649], I[649] = I[650], I[650] = I[651], I[651] = I[652], I[652] = I[653], I[653] = I[654], I[654] = I[655], I[655] = I[656], I[656] = I[657], I[657] = I[658], I[658] = I[659], I[659] = I[660], I[660] = I[661], I[661] = I[662], I[662] = I[663], I[663] = I[664], I[664] = I[665], I[665] = I[666], I[666] = I[667], I[667] = I[668], I[668] = I[669], I[669] = I[670], I[670] = I[671], \
+ I[672] = I[673], I[673] = I[674], I[674] = I[675], I[675] = I[676], I[676] = I[677], I[677] = I[678], I[678] = I[679], I[679] = I[680], I[680] = I[681], I[681] = I[682], I[682] = I[683], I[683] = I[684], I[684] = I[685], I[685] = I[686], I[686] = I[687], I[687] = I[688], I[688] = I[689], I[689] = I[690], I[690] = I[691], I[691] = I[692], I[692] = I[693], I[693] = I[694], I[694] = I[695], I[695] = I[696], I[696] = I[697], I[697] = I[698], I[698] = I[699], \
+ I[700] = I[701], I[701] = I[702], I[702] = I[703], I[703] = I[704], I[704] = I[705], I[705] = I[706], I[706] = I[707], I[707] = I[708], I[708] = I[709], I[709] = I[710], I[710] = I[711], I[711] = I[712], I[712] = I[713], I[713] = I[714], I[714] = I[715], I[715] = I[716], I[716] = I[717], I[717] = I[718], I[718] = I[719], I[719] = I[720], I[720] = I[721], I[721] = I[722], I[722] = I[723], I[723] = I[724], I[724] = I[725], I[725] = I[726], I[726] = I[727], \
+ I[728] = I[729], I[729] = I[730], I[730] = I[731], I[731] = I[732], I[732] = I[733], I[733] = I[734], I[734] = I[735], I[735] = I[736], I[736] = I[737], I[737] = I[738], I[738] = I[739], I[739] = I[740], I[740] = I[741], I[741] = I[742], I[742] = I[743], I[743] = I[744], I[744] = I[745], I[745] = I[746], I[746] = I[747], I[747] = I[748], I[748] = I[749], I[749] = I[750], I[750] = I[751], I[751] = I[752], I[752] = I[753], I[753] = I[754], I[754] = I[755], \
+ I[756] = I[757], I[757] = I[758], I[758] = I[759], I[759] = I[760], I[760] = I[761], I[761] = I[762], I[762] = I[763], I[763] = I[764], I[764] = I[765], I[765] = I[766], I[766] = I[767], I[767] = I[768], I[768] = I[769], I[769] = I[770], I[770] = I[771], I[771] = I[772], I[772] = I[773], I[773] = I[774], I[774] = I[775], I[775] = I[776], I[776] = I[777], I[777] = I[778], I[778] = I[779], I[779] = I[780], I[780] = I[781], I[781] = I[782], I[782] = I[783], \
+ _p13##x = _p12##x, _p12##x = _p11##x, _p11##x = _p10##x, _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x, ++_n12##x, ++_n13##x, ++_n14##x)
+
+#define cimg_get28x28(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p13##x,_p13##y,z,c), I[1] = (T)(img)(_p12##x,_p13##y,z,c), I[2] = (T)(img)(_p11##x,_p13##y,z,c), I[3] = (T)(img)(_p10##x,_p13##y,z,c), I[4] = (T)(img)(_p9##x,_p13##y,z,c), I[5] = (T)(img)(_p8##x,_p13##y,z,c), I[6] = (T)(img)(_p7##x,_p13##y,z,c), I[7] = (T)(img)(_p6##x,_p13##y,z,c), I[8] = (T)(img)(_p5##x,_p13##y,z,c), I[9] = (T)(img)(_p4##x,_p13##y,z,c), I[10] = (T)(img)(_p3##x,_p13##y,z,c), I[11] = (T)(img)(_p2##x,_p13##y,z,c), I[12] = (T)(img)(_p1##x,_p13##y,z,c), I[1 [...]
+ I[28] = (T)(img)(_p13##x,_p12##y,z,c), I[29] = (T)(img)(_p12##x,_p12##y,z,c), I[30] = (T)(img)(_p11##x,_p12##y,z,c), I[31] = (T)(img)(_p10##x,_p12##y,z,c), I[32] = (T)(img)(_p9##x,_p12##y,z,c), I[33] = (T)(img)(_p8##x,_p12##y,z,c), I[34] = (T)(img)(_p7##x,_p12##y,z,c), I[35] = (T)(img)(_p6##x,_p12##y,z,c), I[36] = (T)(img)(_p5##x,_p12##y,z,c), I[37] = (T)(img)(_p4##x,_p12##y,z,c), I[38] = (T)(img)(_p3##x,_p12##y,z,c), I[39] = (T)(img)(_p2##x,_p12##y,z,c), I[40] = (T)(img)(_p1##x,_p12##y [...]
+ I[56] = (T)(img)(_p13##x,_p11##y,z,c), I[57] = (T)(img)(_p12##x,_p11##y,z,c), I[58] = (T)(img)(_p11##x,_p11##y,z,c), I[59] = (T)(img)(_p10##x,_p11##y,z,c), I[60] = (T)(img)(_p9##x,_p11##y,z,c), I[61] = (T)(img)(_p8##x,_p11##y,z,c), I[62] = (T)(img)(_p7##x,_p11##y,z,c), I[63] = (T)(img)(_p6##x,_p11##y,z,c), I[64] = (T)(img)(_p5##x,_p11##y,z,c), I[65] = (T)(img)(_p4##x,_p11##y,z,c), I[66] = (T)(img)(_p3##x,_p11##y,z,c), I[67] = (T)(img)(_p2##x,_p11##y,z,c), I[68] = (T)(img)(_p1##x,_p11##y [...]
+ I[84] = (T)(img)(_p13##x,_p10##y,z,c), I[85] = (T)(img)(_p12##x,_p10##y,z,c), I[86] = (T)(img)(_p11##x,_p10##y,z,c), I[87] = (T)(img)(_p10##x,_p10##y,z,c), I[88] = (T)(img)(_p9##x,_p10##y,z,c), I[89] = (T)(img)(_p8##x,_p10##y,z,c), I[90] = (T)(img)(_p7##x,_p10##y,z,c), I[91] = (T)(img)(_p6##x,_p10##y,z,c), I[92] = (T)(img)(_p5##x,_p10##y,z,c), I[93] = (T)(img)(_p4##x,_p10##y,z,c), I[94] = (T)(img)(_p3##x,_p10##y,z,c), I[95] = (T)(img)(_p2##x,_p10##y,z,c), I[96] = (T)(img)(_p1##x,_p10##y [...]
+ I[112] = (T)(img)(_p13##x,_p9##y,z,c), I[113] = (T)(img)(_p12##x,_p9##y,z,c), I[114] = (T)(img)(_p11##x,_p9##y,z,c), I[115] = (T)(img)(_p10##x,_p9##y,z,c), I[116] = (T)(img)(_p9##x,_p9##y,z,c), I[117] = (T)(img)(_p8##x,_p9##y,z,c), I[118] = (T)(img)(_p7##x,_p9##y,z,c), I[119] = (T)(img)(_p6##x,_p9##y,z,c), I[120] = (T)(img)(_p5##x,_p9##y,z,c), I[121] = (T)(img)(_p4##x,_p9##y,z,c), I[122] = (T)(img)(_p3##x,_p9##y,z,c), I[123] = (T)(img)(_p2##x,_p9##y,z,c), I[124] = (T)(img)(_p1##x,_p9##y [...]
+ I[140] = (T)(img)(_p13##x,_p8##y,z,c), I[141] = (T)(img)(_p12##x,_p8##y,z,c), I[142] = (T)(img)(_p11##x,_p8##y,z,c), I[143] = (T)(img)(_p10##x,_p8##y,z,c), I[144] = (T)(img)(_p9##x,_p8##y,z,c), I[145] = (T)(img)(_p8##x,_p8##y,z,c), I[146] = (T)(img)(_p7##x,_p8##y,z,c), I[147] = (T)(img)(_p6##x,_p8##y,z,c), I[148] = (T)(img)(_p5##x,_p8##y,z,c), I[149] = (T)(img)(_p4##x,_p8##y,z,c), I[150] = (T)(img)(_p3##x,_p8##y,z,c), I[151] = (T)(img)(_p2##x,_p8##y,z,c), I[152] = (T)(img)(_p1##x,_p8##y [...]
+ I[168] = (T)(img)(_p13##x,_p7##y,z,c), I[169] = (T)(img)(_p12##x,_p7##y,z,c), I[170] = (T)(img)(_p11##x,_p7##y,z,c), I[171] = (T)(img)(_p10##x,_p7##y,z,c), I[172] = (T)(img)(_p9##x,_p7##y,z,c), I[173] = (T)(img)(_p8##x,_p7##y,z,c), I[174] = (T)(img)(_p7##x,_p7##y,z,c), I[175] = (T)(img)(_p6##x,_p7##y,z,c), I[176] = (T)(img)(_p5##x,_p7##y,z,c), I[177] = (T)(img)(_p4##x,_p7##y,z,c), I[178] = (T)(img)(_p3##x,_p7##y,z,c), I[179] = (T)(img)(_p2##x,_p7##y,z,c), I[180] = (T)(img)(_p1##x,_p7##y [...]
+ I[196] = (T)(img)(_p13##x,_p6##y,z,c), I[197] = (T)(img)(_p12##x,_p6##y,z,c), I[198] = (T)(img)(_p11##x,_p6##y,z,c), I[199] = (T)(img)(_p10##x,_p6##y,z,c), I[200] = (T)(img)(_p9##x,_p6##y,z,c), I[201] = (T)(img)(_p8##x,_p6##y,z,c), I[202] = (T)(img)(_p7##x,_p6##y,z,c), I[203] = (T)(img)(_p6##x,_p6##y,z,c), I[204] = (T)(img)(_p5##x,_p6##y,z,c), I[205] = (T)(img)(_p4##x,_p6##y,z,c), I[206] = (T)(img)(_p3##x,_p6##y,z,c), I[207] = (T)(img)(_p2##x,_p6##y,z,c), I[208] = (T)(img)(_p1##x,_p6##y [...]
+ I[224] = (T)(img)(_p13##x,_p5##y,z,c), I[225] = (T)(img)(_p12##x,_p5##y,z,c), I[226] = (T)(img)(_p11##x,_p5##y,z,c), I[227] = (T)(img)(_p10##x,_p5##y,z,c), I[228] = (T)(img)(_p9##x,_p5##y,z,c), I[229] = (T)(img)(_p8##x,_p5##y,z,c), I[230] = (T)(img)(_p7##x,_p5##y,z,c), I[231] = (T)(img)(_p6##x,_p5##y,z,c), I[232] = (T)(img)(_p5##x,_p5##y,z,c), I[233] = (T)(img)(_p4##x,_p5##y,z,c), I[234] = (T)(img)(_p3##x,_p5##y,z,c), I[235] = (T)(img)(_p2##x,_p5##y,z,c), I[236] = (T)(img)(_p1##x,_p5##y [...]
+ I[252] = (T)(img)(_p13##x,_p4##y,z,c), I[253] = (T)(img)(_p12##x,_p4##y,z,c), I[254] = (T)(img)(_p11##x,_p4##y,z,c), I[255] = (T)(img)(_p10##x,_p4##y,z,c), I[256] = (T)(img)(_p9##x,_p4##y,z,c), I[257] = (T)(img)(_p8##x,_p4##y,z,c), I[258] = (T)(img)(_p7##x,_p4##y,z,c), I[259] = (T)(img)(_p6##x,_p4##y,z,c), I[260] = (T)(img)(_p5##x,_p4##y,z,c), I[261] = (T)(img)(_p4##x,_p4##y,z,c), I[262] = (T)(img)(_p3##x,_p4##y,z,c), I[263] = (T)(img)(_p2##x,_p4##y,z,c), I[264] = (T)(img)(_p1##x,_p4##y [...]
+ I[280] = (T)(img)(_p13##x,_p3##y,z,c), I[281] = (T)(img)(_p12##x,_p3##y,z,c), I[282] = (T)(img)(_p11##x,_p3##y,z,c), I[283] = (T)(img)(_p10##x,_p3##y,z,c), I[284] = (T)(img)(_p9##x,_p3##y,z,c), I[285] = (T)(img)(_p8##x,_p3##y,z,c), I[286] = (T)(img)(_p7##x,_p3##y,z,c), I[287] = (T)(img)(_p6##x,_p3##y,z,c), I[288] = (T)(img)(_p5##x,_p3##y,z,c), I[289] = (T)(img)(_p4##x,_p3##y,z,c), I[290] = (T)(img)(_p3##x,_p3##y,z,c), I[291] = (T)(img)(_p2##x,_p3##y,z,c), I[292] = (T)(img)(_p1##x,_p3##y [...]
+ I[308] = (T)(img)(_p13##x,_p2##y,z,c), I[309] = (T)(img)(_p12##x,_p2##y,z,c), I[310] = (T)(img)(_p11##x,_p2##y,z,c), I[311] = (T)(img)(_p10##x,_p2##y,z,c), I[312] = (T)(img)(_p9##x,_p2##y,z,c), I[313] = (T)(img)(_p8##x,_p2##y,z,c), I[314] = (T)(img)(_p7##x,_p2##y,z,c), I[315] = (T)(img)(_p6##x,_p2##y,z,c), I[316] = (T)(img)(_p5##x,_p2##y,z,c), I[317] = (T)(img)(_p4##x,_p2##y,z,c), I[318] = (T)(img)(_p3##x,_p2##y,z,c), I[319] = (T)(img)(_p2##x,_p2##y,z,c), I[320] = (T)(img)(_p1##x,_p2##y [...]
+ I[336] = (T)(img)(_p13##x,_p1##y,z,c), I[337] = (T)(img)(_p12##x,_p1##y,z,c), I[338] = (T)(img)(_p11##x,_p1##y,z,c), I[339] = (T)(img)(_p10##x,_p1##y,z,c), I[340] = (T)(img)(_p9##x,_p1##y,z,c), I[341] = (T)(img)(_p8##x,_p1##y,z,c), I[342] = (T)(img)(_p7##x,_p1##y,z,c), I[343] = (T)(img)(_p6##x,_p1##y,z,c), I[344] = (T)(img)(_p5##x,_p1##y,z,c), I[345] = (T)(img)(_p4##x,_p1##y,z,c), I[346] = (T)(img)(_p3##x,_p1##y,z,c), I[347] = (T)(img)(_p2##x,_p1##y,z,c), I[348] = (T)(img)(_p1##x,_p1##y [...]
+ I[364] = (T)(img)(_p13##x,y,z,c), I[365] = (T)(img)(_p12##x,y,z,c), I[366] = (T)(img)(_p11##x,y,z,c), I[367] = (T)(img)(_p10##x,y,z,c), I[368] = (T)(img)(_p9##x,y,z,c), I[369] = (T)(img)(_p8##x,y,z,c), I[370] = (T)(img)(_p7##x,y,z,c), I[371] = (T)(img)(_p6##x,y,z,c), I[372] = (T)(img)(_p5##x,y,z,c), I[373] = (T)(img)(_p4##x,y,z,c), I[374] = (T)(img)(_p3##x,y,z,c), I[375] = (T)(img)(_p2##x,y,z,c), I[376] = (T)(img)(_p1##x,y,z,c), I[377] = (T)(img)(x,y,z,c), I[378] = (T)(img)(_n1##x,y,z,c [...]
+ I[392] = (T)(img)(_p13##x,_n1##y,z,c), I[393] = (T)(img)(_p12##x,_n1##y,z,c), I[394] = (T)(img)(_p11##x,_n1##y,z,c), I[395] = (T)(img)(_p10##x,_n1##y,z,c), I[396] = (T)(img)(_p9##x,_n1##y,z,c), I[397] = (T)(img)(_p8##x,_n1##y,z,c), I[398] = (T)(img)(_p7##x,_n1##y,z,c), I[399] = (T)(img)(_p6##x,_n1##y,z,c), I[400] = (T)(img)(_p5##x,_n1##y,z,c), I[401] = (T)(img)(_p4##x,_n1##y,z,c), I[402] = (T)(img)(_p3##x,_n1##y,z,c), I[403] = (T)(img)(_p2##x,_n1##y,z,c), I[404] = (T)(img)(_p1##x,_n1##y [...]
+ I[420] = (T)(img)(_p13##x,_n2##y,z,c), I[421] = (T)(img)(_p12##x,_n2##y,z,c), I[422] = (T)(img)(_p11##x,_n2##y,z,c), I[423] = (T)(img)(_p10##x,_n2##y,z,c), I[424] = (T)(img)(_p9##x,_n2##y,z,c), I[425] = (T)(img)(_p8##x,_n2##y,z,c), I[426] = (T)(img)(_p7##x,_n2##y,z,c), I[427] = (T)(img)(_p6##x,_n2##y,z,c), I[428] = (T)(img)(_p5##x,_n2##y,z,c), I[429] = (T)(img)(_p4##x,_n2##y,z,c), I[430] = (T)(img)(_p3##x,_n2##y,z,c), I[431] = (T)(img)(_p2##x,_n2##y,z,c), I[432] = (T)(img)(_p1##x,_n2##y [...]
+ I[448] = (T)(img)(_p13##x,_n3##y,z,c), I[449] = (T)(img)(_p12##x,_n3##y,z,c), I[450] = (T)(img)(_p11##x,_n3##y,z,c), I[451] = (T)(img)(_p10##x,_n3##y,z,c), I[452] = (T)(img)(_p9##x,_n3##y,z,c), I[453] = (T)(img)(_p8##x,_n3##y,z,c), I[454] = (T)(img)(_p7##x,_n3##y,z,c), I[455] = (T)(img)(_p6##x,_n3##y,z,c), I[456] = (T)(img)(_p5##x,_n3##y,z,c), I[457] = (T)(img)(_p4##x,_n3##y,z,c), I[458] = (T)(img)(_p3##x,_n3##y,z,c), I[459] = (T)(img)(_p2##x,_n3##y,z,c), I[460] = (T)(img)(_p1##x,_n3##y [...]
+ I[476] = (T)(img)(_p13##x,_n4##y,z,c), I[477] = (T)(img)(_p12##x,_n4##y,z,c), I[478] = (T)(img)(_p11##x,_n4##y,z,c), I[479] = (T)(img)(_p10##x,_n4##y,z,c), I[480] = (T)(img)(_p9##x,_n4##y,z,c), I[481] = (T)(img)(_p8##x,_n4##y,z,c), I[482] = (T)(img)(_p7##x,_n4##y,z,c), I[483] = (T)(img)(_p6##x,_n4##y,z,c), I[484] = (T)(img)(_p5##x,_n4##y,z,c), I[485] = (T)(img)(_p4##x,_n4##y,z,c), I[486] = (T)(img)(_p3##x,_n4##y,z,c), I[487] = (T)(img)(_p2##x,_n4##y,z,c), I[488] = (T)(img)(_p1##x,_n4##y [...]
+ I[504] = (T)(img)(_p13##x,_n5##y,z,c), I[505] = (T)(img)(_p12##x,_n5##y,z,c), I[506] = (T)(img)(_p11##x,_n5##y,z,c), I[507] = (T)(img)(_p10##x,_n5##y,z,c), I[508] = (T)(img)(_p9##x,_n5##y,z,c), I[509] = (T)(img)(_p8##x,_n5##y,z,c), I[510] = (T)(img)(_p7##x,_n5##y,z,c), I[511] = (T)(img)(_p6##x,_n5##y,z,c), I[512] = (T)(img)(_p5##x,_n5##y,z,c), I[513] = (T)(img)(_p4##x,_n5##y,z,c), I[514] = (T)(img)(_p3##x,_n5##y,z,c), I[515] = (T)(img)(_p2##x,_n5##y,z,c), I[516] = (T)(img)(_p1##x,_n5##y [...]
+ I[532] = (T)(img)(_p13##x,_n6##y,z,c), I[533] = (T)(img)(_p12##x,_n6##y,z,c), I[534] = (T)(img)(_p11##x,_n6##y,z,c), I[535] = (T)(img)(_p10##x,_n6##y,z,c), I[536] = (T)(img)(_p9##x,_n6##y,z,c), I[537] = (T)(img)(_p8##x,_n6##y,z,c), I[538] = (T)(img)(_p7##x,_n6##y,z,c), I[539] = (T)(img)(_p6##x,_n6##y,z,c), I[540] = (T)(img)(_p5##x,_n6##y,z,c), I[541] = (T)(img)(_p4##x,_n6##y,z,c), I[542] = (T)(img)(_p3##x,_n6##y,z,c), I[543] = (T)(img)(_p2##x,_n6##y,z,c), I[544] = (T)(img)(_p1##x,_n6##y [...]
+ I[560] = (T)(img)(_p13##x,_n7##y,z,c), I[561] = (T)(img)(_p12##x,_n7##y,z,c), I[562] = (T)(img)(_p11##x,_n7##y,z,c), I[563] = (T)(img)(_p10##x,_n7##y,z,c), I[564] = (T)(img)(_p9##x,_n7##y,z,c), I[565] = (T)(img)(_p8##x,_n7##y,z,c), I[566] = (T)(img)(_p7##x,_n7##y,z,c), I[567] = (T)(img)(_p6##x,_n7##y,z,c), I[568] = (T)(img)(_p5##x,_n7##y,z,c), I[569] = (T)(img)(_p4##x,_n7##y,z,c), I[570] = (T)(img)(_p3##x,_n7##y,z,c), I[571] = (T)(img)(_p2##x,_n7##y,z,c), I[572] = (T)(img)(_p1##x,_n7##y [...]
+ I[588] = (T)(img)(_p13##x,_n8##y,z,c), I[589] = (T)(img)(_p12##x,_n8##y,z,c), I[590] = (T)(img)(_p11##x,_n8##y,z,c), I[591] = (T)(img)(_p10##x,_n8##y,z,c), I[592] = (T)(img)(_p9##x,_n8##y,z,c), I[593] = (T)(img)(_p8##x,_n8##y,z,c), I[594] = (T)(img)(_p7##x,_n8##y,z,c), I[595] = (T)(img)(_p6##x,_n8##y,z,c), I[596] = (T)(img)(_p5##x,_n8##y,z,c), I[597] = (T)(img)(_p4##x,_n8##y,z,c), I[598] = (T)(img)(_p3##x,_n8##y,z,c), I[599] = (T)(img)(_p2##x,_n8##y,z,c), I[600] = (T)(img)(_p1##x,_n8##y [...]
+ I[616] = (T)(img)(_p13##x,_n9##y,z,c), I[617] = (T)(img)(_p12##x,_n9##y,z,c), I[618] = (T)(img)(_p11##x,_n9##y,z,c), I[619] = (T)(img)(_p10##x,_n9##y,z,c), I[620] = (T)(img)(_p9##x,_n9##y,z,c), I[621] = (T)(img)(_p8##x,_n9##y,z,c), I[622] = (T)(img)(_p7##x,_n9##y,z,c), I[623] = (T)(img)(_p6##x,_n9##y,z,c), I[624] = (T)(img)(_p5##x,_n9##y,z,c), I[625] = (T)(img)(_p4##x,_n9##y,z,c), I[626] = (T)(img)(_p3##x,_n9##y,z,c), I[627] = (T)(img)(_p2##x,_n9##y,z,c), I[628] = (T)(img)(_p1##x,_n9##y [...]
+ I[644] = (T)(img)(_p13##x,_n10##y,z,c), I[645] = (T)(img)(_p12##x,_n10##y,z,c), I[646] = (T)(img)(_p11##x,_n10##y,z,c), I[647] = (T)(img)(_p10##x,_n10##y,z,c), I[648] = (T)(img)(_p9##x,_n10##y,z,c), I[649] = (T)(img)(_p8##x,_n10##y,z,c), I[650] = (T)(img)(_p7##x,_n10##y,z,c), I[651] = (T)(img)(_p6##x,_n10##y,z,c), I[652] = (T)(img)(_p5##x,_n10##y,z,c), I[653] = (T)(img)(_p4##x,_n10##y,z,c), I[654] = (T)(img)(_p3##x,_n10##y,z,c), I[655] = (T)(img)(_p2##x,_n10##y,z,c), I[656] = (T)(img)(_ [...]
+ I[672] = (T)(img)(_p13##x,_n11##y,z,c), I[673] = (T)(img)(_p12##x,_n11##y,z,c), I[674] = (T)(img)(_p11##x,_n11##y,z,c), I[675] = (T)(img)(_p10##x,_n11##y,z,c), I[676] = (T)(img)(_p9##x,_n11##y,z,c), I[677] = (T)(img)(_p8##x,_n11##y,z,c), I[678] = (T)(img)(_p7##x,_n11##y,z,c), I[679] = (T)(img)(_p6##x,_n11##y,z,c), I[680] = (T)(img)(_p5##x,_n11##y,z,c), I[681] = (T)(img)(_p4##x,_n11##y,z,c), I[682] = (T)(img)(_p3##x,_n11##y,z,c), I[683] = (T)(img)(_p2##x,_n11##y,z,c), I[684] = (T)(img)(_ [...]
+ I[700] = (T)(img)(_p13##x,_n12##y,z,c), I[701] = (T)(img)(_p12##x,_n12##y,z,c), I[702] = (T)(img)(_p11##x,_n12##y,z,c), I[703] = (T)(img)(_p10##x,_n12##y,z,c), I[704] = (T)(img)(_p9##x,_n12##y,z,c), I[705] = (T)(img)(_p8##x,_n12##y,z,c), I[706] = (T)(img)(_p7##x,_n12##y,z,c), I[707] = (T)(img)(_p6##x,_n12##y,z,c), I[708] = (T)(img)(_p5##x,_n12##y,z,c), I[709] = (T)(img)(_p4##x,_n12##y,z,c), I[710] = (T)(img)(_p3##x,_n12##y,z,c), I[711] = (T)(img)(_p2##x,_n12##y,z,c), I[712] = (T)(img)(_ [...]
+ I[728] = (T)(img)(_p13##x,_n13##y,z,c), I[729] = (T)(img)(_p12##x,_n13##y,z,c), I[730] = (T)(img)(_p11##x,_n13##y,z,c), I[731] = (T)(img)(_p10##x,_n13##y,z,c), I[732] = (T)(img)(_p9##x,_n13##y,z,c), I[733] = (T)(img)(_p8##x,_n13##y,z,c), I[734] = (T)(img)(_p7##x,_n13##y,z,c), I[735] = (T)(img)(_p6##x,_n13##y,z,c), I[736] = (T)(img)(_p5##x,_n13##y,z,c), I[737] = (T)(img)(_p4##x,_n13##y,z,c), I[738] = (T)(img)(_p3##x,_n13##y,z,c), I[739] = (T)(img)(_p2##x,_n13##y,z,c), I[740] = (T)(img)(_ [...]
+ I[756] = (T)(img)(_p13##x,_n14##y,z,c), I[757] = (T)(img)(_p12##x,_n14##y,z,c), I[758] = (T)(img)(_p11##x,_n14##y,z,c), I[759] = (T)(img)(_p10##x,_n14##y,z,c), I[760] = (T)(img)(_p9##x,_n14##y,z,c), I[761] = (T)(img)(_p8##x,_n14##y,z,c), I[762] = (T)(img)(_p7##x,_n14##y,z,c), I[763] = (T)(img)(_p6##x,_n14##y,z,c), I[764] = (T)(img)(_p5##x,_n14##y,z,c), I[765] = (T)(img)(_p4##x,_n14##y,z,c), I[766] = (T)(img)(_p3##x,_n14##y,z,c), I[767] = (T)(img)(_p2##x,_n14##y,z,c), I[768] = (T)(img)(_ [...]
+
+// Define 29x29 loop macros
+//-------------------------
+#define cimg_for29(bound,i) for (int i = 0, \
+ _p14##i = 0, _p13##i = 0, _p12##i = 0, _p11##i = 0, _p10##i = 0, _p9##i = 0, _p8##i = 0, _p7##i = 0, _p6##i = 0, _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5, \
+ _n6##i = 6>=(int)(bound)?(int)(bound) - 1:6, \
+ _n7##i = 7>=(int)(bound)?(int)(bound) - 1:7, \
+ _n8##i = 8>=(int)(bound)?(int)(bound) - 1:8, \
+ _n9##i = 9>=(int)(bound)?(int)(bound) - 1:9, \
+ _n10##i = 10>=(int)(bound)?(int)(bound) - 1:10, \
+ _n11##i = 11>=(int)(bound)?(int)(bound) - 1:11, \
+ _n12##i = 12>=(int)(bound)?(int)(bound) - 1:12, \
+ _n13##i = 13>=(int)(bound)?(int)(bound) - 1:13, \
+ _n14##i = 14>=(int)(bound)?(int)(bound) - 1:14; \
+ _n14##i<(int)(bound) || _n13##i==--_n14##i || _n12##i==--_n13##i || _n11##i==--_n12##i || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n14##i = _n13##i = _n12##i = _n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p14##i = _p13##i, _p13##i = _p12##i, _p12##i = _p11##i, _p11##i = _p10##i, _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i, ++_n12##i, ++_n13##i, ++_n14##i)
+
+#define cimg_for29X(img,x) cimg_for29((img)._width,x)
+#define cimg_for29Y(img,y) cimg_for29((img)._height,y)
+#define cimg_for29Z(img,z) cimg_for29((img)._depth,z)
+#define cimg_for29C(img,c) cimg_for29((img)._spectrum,c)
+#define cimg_for29XY(img,x,y) cimg_for29Y(img,y) cimg_for29X(img,x)
+#define cimg_for29XZ(img,x,z) cimg_for29Z(img,z) cimg_for29X(img,x)
+#define cimg_for29XC(img,x,c) cimg_for29C(img,c) cimg_for29X(img,x)
+#define cimg_for29YZ(img,y,z) cimg_for29Z(img,z) cimg_for29Y(img,y)
+#define cimg_for29YC(img,y,c) cimg_for29C(img,c) cimg_for29Y(img,y)
+#define cimg_for29ZC(img,z,c) cimg_for29C(img,c) cimg_for29Z(img,z)
+#define cimg_for29XYZ(img,x,y,z) cimg_for29Z(img,z) cimg_for29XY(img,x,y)
+#define cimg_for29XZC(img,x,z,c) cimg_for29C(img,c) cimg_for29XZ(img,x,z)
+#define cimg_for29YZC(img,y,z,c) cimg_for29C(img,c) cimg_for29YZ(img,y,z)
+#define cimg_for29XYZC(img,x,y,z,c) cimg_for29C(img,c) cimg_for29XYZ(img,x,y,z)
+
+#define cimg_for_in29(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p14##i = i - 14<0?0:i - 14, \
+ _p13##i = i - 13<0?0:i - 13, \
+ _p12##i = i - 12<0?0:i - 12, \
+ _p11##i = i - 11<0?0:i - 11, \
+ _p10##i = i - 10<0?0:i - 10, \
+ _p9##i = i - 9<0?0:i - 9, \
+ _p8##i = i - 8<0?0:i - 8, \
+ _p7##i = i - 7<0?0:i - 7, \
+ _p6##i = i - 6<0?0:i - 6, \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5, \
+ _n6##i = i + 6>=(int)(bound)?(int)(bound) - 1:i + 6, \
+ _n7##i = i + 7>=(int)(bound)?(int)(bound) - 1:i + 7, \
+ _n8##i = i + 8>=(int)(bound)?(int)(bound) - 1:i + 8, \
+ _n9##i = i + 9>=(int)(bound)?(int)(bound) - 1:i + 9, \
+ _n10##i = i + 10>=(int)(bound)?(int)(bound) - 1:i + 10, \
+ _n11##i = i + 11>=(int)(bound)?(int)(bound) - 1:i + 11, \
+ _n12##i = i + 12>=(int)(bound)?(int)(bound) - 1:i + 12, \
+ _n13##i = i + 13>=(int)(bound)?(int)(bound) - 1:i + 13, \
+ _n14##i = i + 14>=(int)(bound)?(int)(bound) - 1:i + 14; \
+ i<=(int)(i1) && (_n14##i<(int)(bound) || _n13##i==--_n14##i || _n12##i==--_n13##i || _n11##i==--_n12##i || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n14##i = _n13##i = _n12##i = _n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p14##i = _p13##i, _p13##i = _p12##i, _p12##i = _p11##i, _p11##i = _p10##i, _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i, ++_n12##i, ++_n13##i, ++_n14##i)
+
+#define cimg_for_in29X(img,x0,x1,x) cimg_for_in29((img)._width,x0,x1,x)
+#define cimg_for_in29Y(img,y0,y1,y) cimg_for_in29((img)._height,y0,y1,y)
+#define cimg_for_in29Z(img,z0,z1,z) cimg_for_in29((img)._depth,z0,z1,z)
+#define cimg_for_in29C(img,c0,c1,c) cimg_for_in29((img)._spectrum,c0,c1,c)
+#define cimg_for_in29XY(img,x0,y0,x1,y1,x,y) cimg_for_in29Y(img,y0,y1,y) cimg_for_in29X(img,x0,x1,x)
+#define cimg_for_in29XZ(img,x0,z0,x1,z1,x,z) cimg_for_in29Z(img,z0,z1,z) cimg_for_in29X(img,x0,x1,x)
+#define cimg_for_in29XC(img,x0,c0,x1,c1,x,c) cimg_for_in29C(img,c0,c1,c) cimg_for_in29X(img,x0,x1,x)
+#define cimg_for_in29YZ(img,y0,z0,y1,z1,y,z) cimg_for_in29Z(img,z0,z1,z) cimg_for_in29Y(img,y0,y1,y)
+#define cimg_for_in29YC(img,y0,c0,y1,c1,y,c) cimg_for_in29C(img,c0,c1,c) cimg_for_in29Y(img,y0,y1,y)
+#define cimg_for_in29ZC(img,z0,c0,z1,c1,z,c) cimg_for_in29C(img,c0,c1,c) cimg_for_in29Z(img,z0,z1,z)
+#define cimg_for_in29XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in29Z(img,z0,z1,z) cimg_for_in29XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in29XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in29C(img,c0,c1,c) cimg_for_in29XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in29YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in29C(img,c0,c1,c) cimg_for_in29YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in29XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in29C(img,c0,c1,c) cimg_for_in29XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for29x29(img,x,y,z,c,I,T) \
+ cimg_for29((img)._height,y) for (int x = 0, \
+ _p14##x = 0, _p13##x = 0, _p12##x = 0, _p11##x = 0, _p10##x = 0, _p9##x = 0, _p8##x = 0, _p7##x = 0, _p6##x = 0, _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = 5>=((img)._width)?(img).width() - 1:5, \
+ _n6##x = 6>=((img)._width)?(img).width() - 1:6, \
+ _n7##x = 7>=((img)._width)?(img).width() - 1:7, \
+ _n8##x = 8>=((img)._width)?(img).width() - 1:8, \
+ _n9##x = 9>=((img)._width)?(img).width() - 1:9, \
+ _n10##x = 10>=((img)._width)?(img).width() - 1:10, \
+ _n11##x = 11>=((img)._width)?(img).width() - 1:11, \
+ _n12##x = 12>=((img)._width)?(img).width() - 1:12, \
+ _n13##x = 13>=((img)._width)?(img).width() - 1:13, \
+ _n14##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = I[6] = I[7] = I[8] = I[9] = I[10] = I[11] = I[12] = I[13] = I[14] = (T)(img)(0,_p14##y,z,c)), \
+ (I[29] = I[30] = I[31] = I[32] = I[33] = I[34] = I[35] = I[36] = I[37] = I[38] = I[39] = I[40] = I[41] = I[42] = I[43] = (T)(img)(0,_p13##y,z,c)), \
+ (I[58] = I[59] = I[60] = I[61] = I[62] = I[63] = I[64] = I[65] = I[66] = I[67] = I[68] = I[69] = I[70] = I[71] = I[72] = (T)(img)(0,_p12##y,z,c)), \
+ (I[87] = I[88] = I[89] = I[90] = I[91] = I[92] = I[93] = I[94] = I[95] = I[96] = I[97] = I[98] = I[99] = I[100] = I[101] = (T)(img)(0,_p11##y,z,c)), \
+ (I[116] = I[117] = I[118] = I[119] = I[120] = I[121] = I[122] = I[123] = I[124] = I[125] = I[126] = I[127] = I[128] = I[129] = I[130] = (T)(img)(0,_p10##y,z,c)), \
+ (I[145] = I[146] = I[147] = I[148] = I[149] = I[150] = I[151] = I[152] = I[153] = I[154] = I[155] = I[156] = I[157] = I[158] = I[159] = (T)(img)(0,_p9##y,z,c)), \
+ (I[174] = I[175] = I[176] = I[177] = I[178] = I[179] = I[180] = I[181] = I[182] = I[183] = I[184] = I[185] = I[186] = I[187] = I[188] = (T)(img)(0,_p8##y,z,c)), \
+ (I[203] = I[204] = I[205] = I[206] = I[207] = I[208] = I[209] = I[210] = I[211] = I[212] = I[213] = I[214] = I[215] = I[216] = I[217] = (T)(img)(0,_p7##y,z,c)), \
+ (I[232] = I[233] = I[234] = I[235] = I[236] = I[237] = I[238] = I[239] = I[240] = I[241] = I[242] = I[243] = I[244] = I[245] = I[246] = (T)(img)(0,_p6##y,z,c)), \
+ (I[261] = I[262] = I[263] = I[264] = I[265] = I[266] = I[267] = I[268] = I[269] = I[270] = I[271] = I[272] = I[273] = I[274] = I[275] = (T)(img)(0,_p5##y,z,c)), \
+ (I[290] = I[291] = I[292] = I[293] = I[294] = I[295] = I[296] = I[297] = I[298] = I[299] = I[300] = I[301] = I[302] = I[303] = I[304] = (T)(img)(0,_p4##y,z,c)), \
+ (I[319] = I[320] = I[321] = I[322] = I[323] = I[324] = I[325] = I[326] = I[327] = I[328] = I[329] = I[330] = I[331] = I[332] = I[333] = (T)(img)(0,_p3##y,z,c)), \
+ (I[348] = I[349] = I[350] = I[351] = I[352] = I[353] = I[354] = I[355] = I[356] = I[357] = I[358] = I[359] = I[360] = I[361] = I[362] = (T)(img)(0,_p2##y,z,c)), \
+ (I[377] = I[378] = I[379] = I[380] = I[381] = I[382] = I[383] = I[384] = I[385] = I[386] = I[387] = I[388] = I[389] = I[390] = I[391] = (T)(img)(0,_p1##y,z,c)), \
+ (I[406] = I[407] = I[408] = I[409] = I[410] = I[411] = I[412] = I[413] = I[414] = I[415] = I[416] = I[417] = I[418] = I[419] = I[420] = (T)(img)(0,y,z,c)), \
+ (I[435] = I[436] = I[437] = I[438] = I[439] = I[440] = I[441] = I[442] = I[443] = I[444] = I[445] = I[446] = I[447] = I[448] = I[449] = (T)(img)(0,_n1##y,z,c)), \
+ (I[464] = I[465] = I[466] = I[467] = I[468] = I[469] = I[470] = I[471] = I[472] = I[473] = I[474] = I[475] = I[476] = I[477] = I[478] = (T)(img)(0,_n2##y,z,c)), \
+ (I[493] = I[494] = I[495] = I[496] = I[497] = I[498] = I[499] = I[500] = I[501] = I[502] = I[503] = I[504] = I[505] = I[506] = I[507] = (T)(img)(0,_n3##y,z,c)), \
+ (I[522] = I[523] = I[524] = I[525] = I[526] = I[527] = I[528] = I[529] = I[530] = I[531] = I[532] = I[533] = I[534] = I[535] = I[536] = (T)(img)(0,_n4##y,z,c)), \
+ (I[551] = I[552] = I[553] = I[554] = I[555] = I[556] = I[557] = I[558] = I[559] = I[560] = I[561] = I[562] = I[563] = I[564] = I[565] = (T)(img)(0,_n5##y,z,c)), \
+ (I[580] = I[581] = I[582] = I[583] = I[584] = I[585] = I[586] = I[587] = I[588] = I[589] = I[590] = I[591] = I[592] = I[593] = I[594] = (T)(img)(0,_n6##y,z,c)), \
+ (I[609] = I[610] = I[611] = I[612] = I[613] = I[614] = I[615] = I[616] = I[617] = I[618] = I[619] = I[620] = I[621] = I[622] = I[623] = (T)(img)(0,_n7##y,z,c)), \
+ (I[638] = I[639] = I[640] = I[641] = I[642] = I[643] = I[644] = I[645] = I[646] = I[647] = I[648] = I[649] = I[650] = I[651] = I[652] = (T)(img)(0,_n8##y,z,c)), \
+ (I[667] = I[668] = I[669] = I[670] = I[671] = I[672] = I[673] = I[674] = I[675] = I[676] = I[677] = I[678] = I[679] = I[680] = I[681] = (T)(img)(0,_n9##y,z,c)), \
+ (I[696] = I[697] = I[698] = I[699] = I[700] = I[701] = I[702] = I[703] = I[704] = I[705] = I[706] = I[707] = I[708] = I[709] = I[710] = (T)(img)(0,_n10##y,z,c)), \
+ (I[725] = I[726] = I[727] = I[728] = I[729] = I[730] = I[731] = I[732] = I[733] = I[734] = I[735] = I[736] = I[737] = I[738] = I[739] = (T)(img)(0,_n11##y,z,c)), \
+ (I[754] = I[755] = I[756] = I[757] = I[758] = I[759] = I[760] = I[761] = I[762] = I[763] = I[764] = I[765] = I[766] = I[767] = I[768] = (T)(img)(0,_n12##y,z,c)), \
+ (I[783] = I[784] = I[785] = I[786] = I[787] = I[788] = I[789] = I[790] = I[791] = I[792] = I[793] = I[794] = I[795] = I[796] = I[797] = (T)(img)(0,_n13##y,z,c)), \
+ (I[812] = I[813] = I[814] = I[815] = I[816] = I[817] = I[818] = I[819] = I[820] = I[821] = I[822] = I[823] = I[824] = I[825] = I[826] = (T)(img)(0,_n14##y,z,c)), \
+ (I[15] = (T)(img)(_n1##x,_p14##y,z,c)), \
+ (I[44] = (T)(img)(_n1##x,_p13##y,z,c)), \
+ (I[73] = (T)(img)(_n1##x,_p12##y,z,c)), \
+ (I[102] = (T)(img)(_n1##x,_p11##y,z,c)), \
+ (I[131] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[160] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[189] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[218] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[247] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[276] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[305] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[334] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[363] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[392] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[421] = (T)(img)(_n1##x,y,z,c)), \
+ (I[450] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[479] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[508] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[537] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[566] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[595] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[624] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[653] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[682] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[711] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[740] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[769] = (T)(img)(_n1##x,_n12##y,z,c)), \
+ (I[798] = (T)(img)(_n1##x,_n13##y,z,c)), \
+ (I[827] = (T)(img)(_n1##x,_n14##y,z,c)), \
+ (I[16] = (T)(img)(_n2##x,_p14##y,z,c)), \
+ (I[45] = (T)(img)(_n2##x,_p13##y,z,c)), \
+ (I[74] = (T)(img)(_n2##x,_p12##y,z,c)), \
+ (I[103] = (T)(img)(_n2##x,_p11##y,z,c)), \
+ (I[132] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[161] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[190] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[219] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[248] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[277] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[306] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[335] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[364] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[393] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[422] = (T)(img)(_n2##x,y,z,c)), \
+ (I[451] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[480] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[509] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[538] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[567] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[596] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[625] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[654] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[683] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[712] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[741] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[770] = (T)(img)(_n2##x,_n12##y,z,c)), \
+ (I[799] = (T)(img)(_n2##x,_n13##y,z,c)), \
+ (I[828] = (T)(img)(_n2##x,_n14##y,z,c)), \
+ (I[17] = (T)(img)(_n3##x,_p14##y,z,c)), \
+ (I[46] = (T)(img)(_n3##x,_p13##y,z,c)), \
+ (I[75] = (T)(img)(_n3##x,_p12##y,z,c)), \
+ (I[104] = (T)(img)(_n3##x,_p11##y,z,c)), \
+ (I[133] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[162] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[191] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[220] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[249] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[278] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[307] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[336] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[365] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[394] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[423] = (T)(img)(_n3##x,y,z,c)), \
+ (I[452] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[481] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[510] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[539] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[568] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[597] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[626] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[655] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[684] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[713] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[742] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[771] = (T)(img)(_n3##x,_n12##y,z,c)), \
+ (I[800] = (T)(img)(_n3##x,_n13##y,z,c)), \
+ (I[829] = (T)(img)(_n3##x,_n14##y,z,c)), \
+ (I[18] = (T)(img)(_n4##x,_p14##y,z,c)), \
+ (I[47] = (T)(img)(_n4##x,_p13##y,z,c)), \
+ (I[76] = (T)(img)(_n4##x,_p12##y,z,c)), \
+ (I[105] = (T)(img)(_n4##x,_p11##y,z,c)), \
+ (I[134] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[163] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[192] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[221] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[250] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[279] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[308] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[337] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[366] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[395] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[424] = (T)(img)(_n4##x,y,z,c)), \
+ (I[453] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[482] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[511] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[540] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[569] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[598] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[627] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[656] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[685] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[714] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[743] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[772] = (T)(img)(_n4##x,_n12##y,z,c)), \
+ (I[801] = (T)(img)(_n4##x,_n13##y,z,c)), \
+ (I[830] = (T)(img)(_n4##x,_n14##y,z,c)), \
+ (I[19] = (T)(img)(_n5##x,_p14##y,z,c)), \
+ (I[48] = (T)(img)(_n5##x,_p13##y,z,c)), \
+ (I[77] = (T)(img)(_n5##x,_p12##y,z,c)), \
+ (I[106] = (T)(img)(_n5##x,_p11##y,z,c)), \
+ (I[135] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[164] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[193] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[222] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[251] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[280] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[309] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[338] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[367] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[396] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[425] = (T)(img)(_n5##x,y,z,c)), \
+ (I[454] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[483] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[512] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[541] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[570] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[599] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[628] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[657] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[686] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[715] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[744] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[773] = (T)(img)(_n5##x,_n12##y,z,c)), \
+ (I[802] = (T)(img)(_n5##x,_n13##y,z,c)), \
+ (I[831] = (T)(img)(_n5##x,_n14##y,z,c)), \
+ (I[20] = (T)(img)(_n6##x,_p14##y,z,c)), \
+ (I[49] = (T)(img)(_n6##x,_p13##y,z,c)), \
+ (I[78] = (T)(img)(_n6##x,_p12##y,z,c)), \
+ (I[107] = (T)(img)(_n6##x,_p11##y,z,c)), \
+ (I[136] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[165] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[194] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[223] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[252] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[281] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[310] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[339] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[368] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[397] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[426] = (T)(img)(_n6##x,y,z,c)), \
+ (I[455] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[484] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[513] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[542] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[571] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[600] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[629] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[658] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[687] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[716] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[745] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[774] = (T)(img)(_n6##x,_n12##y,z,c)), \
+ (I[803] = (T)(img)(_n6##x,_n13##y,z,c)), \
+ (I[832] = (T)(img)(_n6##x,_n14##y,z,c)), \
+ (I[21] = (T)(img)(_n7##x,_p14##y,z,c)), \
+ (I[50] = (T)(img)(_n7##x,_p13##y,z,c)), \
+ (I[79] = (T)(img)(_n7##x,_p12##y,z,c)), \
+ (I[108] = (T)(img)(_n7##x,_p11##y,z,c)), \
+ (I[137] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[166] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[195] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[224] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[253] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[282] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[311] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[340] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[369] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[398] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[427] = (T)(img)(_n7##x,y,z,c)), \
+ (I[456] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[485] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[514] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[543] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[572] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[601] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[630] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[659] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[688] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[717] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[746] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[775] = (T)(img)(_n7##x,_n12##y,z,c)), \
+ (I[804] = (T)(img)(_n7##x,_n13##y,z,c)), \
+ (I[833] = (T)(img)(_n7##x,_n14##y,z,c)), \
+ (I[22] = (T)(img)(_n8##x,_p14##y,z,c)), \
+ (I[51] = (T)(img)(_n8##x,_p13##y,z,c)), \
+ (I[80] = (T)(img)(_n8##x,_p12##y,z,c)), \
+ (I[109] = (T)(img)(_n8##x,_p11##y,z,c)), \
+ (I[138] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[167] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[196] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[225] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[254] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[283] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[312] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[341] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[370] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[399] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[428] = (T)(img)(_n8##x,y,z,c)), \
+ (I[457] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[486] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[515] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[544] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[573] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[602] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[631] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[660] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[689] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[718] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[747] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[776] = (T)(img)(_n8##x,_n12##y,z,c)), \
+ (I[805] = (T)(img)(_n8##x,_n13##y,z,c)), \
+ (I[834] = (T)(img)(_n8##x,_n14##y,z,c)), \
+ (I[23] = (T)(img)(_n9##x,_p14##y,z,c)), \
+ (I[52] = (T)(img)(_n9##x,_p13##y,z,c)), \
+ (I[81] = (T)(img)(_n9##x,_p12##y,z,c)), \
+ (I[110] = (T)(img)(_n9##x,_p11##y,z,c)), \
+ (I[139] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[168] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[197] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[226] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[255] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[284] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[313] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[342] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[371] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[400] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[429] = (T)(img)(_n9##x,y,z,c)), \
+ (I[458] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[487] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[516] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[545] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[574] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[603] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[632] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[661] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[690] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[719] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[748] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[777] = (T)(img)(_n9##x,_n12##y,z,c)), \
+ (I[806] = (T)(img)(_n9##x,_n13##y,z,c)), \
+ (I[835] = (T)(img)(_n9##x,_n14##y,z,c)), \
+ (I[24] = (T)(img)(_n10##x,_p14##y,z,c)), \
+ (I[53] = (T)(img)(_n10##x,_p13##y,z,c)), \
+ (I[82] = (T)(img)(_n10##x,_p12##y,z,c)), \
+ (I[111] = (T)(img)(_n10##x,_p11##y,z,c)), \
+ (I[140] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[169] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[198] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[227] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[256] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[285] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[314] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[343] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[372] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[401] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[430] = (T)(img)(_n10##x,y,z,c)), \
+ (I[459] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[488] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[517] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[546] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[575] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[604] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[633] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[662] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[691] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[720] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[749] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ (I[778] = (T)(img)(_n10##x,_n12##y,z,c)), \
+ (I[807] = (T)(img)(_n10##x,_n13##y,z,c)), \
+ (I[836] = (T)(img)(_n10##x,_n14##y,z,c)), \
+ (I[25] = (T)(img)(_n11##x,_p14##y,z,c)), \
+ (I[54] = (T)(img)(_n11##x,_p13##y,z,c)), \
+ (I[83] = (T)(img)(_n11##x,_p12##y,z,c)), \
+ (I[112] = (T)(img)(_n11##x,_p11##y,z,c)), \
+ (I[141] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[170] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[199] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[228] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[257] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[286] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[315] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[344] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[373] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[402] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[431] = (T)(img)(_n11##x,y,z,c)), \
+ (I[460] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[489] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[518] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[547] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[576] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[605] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[634] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[663] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[692] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[721] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[750] = (T)(img)(_n11##x,_n11##y,z,c)), \
+ (I[779] = (T)(img)(_n11##x,_n12##y,z,c)), \
+ (I[808] = (T)(img)(_n11##x,_n13##y,z,c)), \
+ (I[837] = (T)(img)(_n11##x,_n14##y,z,c)), \
+ (I[26] = (T)(img)(_n12##x,_p14##y,z,c)), \
+ (I[55] = (T)(img)(_n12##x,_p13##y,z,c)), \
+ (I[84] = (T)(img)(_n12##x,_p12##y,z,c)), \
+ (I[113] = (T)(img)(_n12##x,_p11##y,z,c)), \
+ (I[142] = (T)(img)(_n12##x,_p10##y,z,c)), \
+ (I[171] = (T)(img)(_n12##x,_p9##y,z,c)), \
+ (I[200] = (T)(img)(_n12##x,_p8##y,z,c)), \
+ (I[229] = (T)(img)(_n12##x,_p7##y,z,c)), \
+ (I[258] = (T)(img)(_n12##x,_p6##y,z,c)), \
+ (I[287] = (T)(img)(_n12##x,_p5##y,z,c)), \
+ (I[316] = (T)(img)(_n12##x,_p4##y,z,c)), \
+ (I[345] = (T)(img)(_n12##x,_p3##y,z,c)), \
+ (I[374] = (T)(img)(_n12##x,_p2##y,z,c)), \
+ (I[403] = (T)(img)(_n12##x,_p1##y,z,c)), \
+ (I[432] = (T)(img)(_n12##x,y,z,c)), \
+ (I[461] = (T)(img)(_n12##x,_n1##y,z,c)), \
+ (I[490] = (T)(img)(_n12##x,_n2##y,z,c)), \
+ (I[519] = (T)(img)(_n12##x,_n3##y,z,c)), \
+ (I[548] = (T)(img)(_n12##x,_n4##y,z,c)), \
+ (I[577] = (T)(img)(_n12##x,_n5##y,z,c)), \
+ (I[606] = (T)(img)(_n12##x,_n6##y,z,c)), \
+ (I[635] = (T)(img)(_n12##x,_n7##y,z,c)), \
+ (I[664] = (T)(img)(_n12##x,_n8##y,z,c)), \
+ (I[693] = (T)(img)(_n12##x,_n9##y,z,c)), \
+ (I[722] = (T)(img)(_n12##x,_n10##y,z,c)), \
+ (I[751] = (T)(img)(_n12##x,_n11##y,z,c)), \
+ (I[780] = (T)(img)(_n12##x,_n12##y,z,c)), \
+ (I[809] = (T)(img)(_n12##x,_n13##y,z,c)), \
+ (I[838] = (T)(img)(_n12##x,_n14##y,z,c)), \
+ (I[27] = (T)(img)(_n13##x,_p14##y,z,c)), \
+ (I[56] = (T)(img)(_n13##x,_p13##y,z,c)), \
+ (I[85] = (T)(img)(_n13##x,_p12##y,z,c)), \
+ (I[114] = (T)(img)(_n13##x,_p11##y,z,c)), \
+ (I[143] = (T)(img)(_n13##x,_p10##y,z,c)), \
+ (I[172] = (T)(img)(_n13##x,_p9##y,z,c)), \
+ (I[201] = (T)(img)(_n13##x,_p8##y,z,c)), \
+ (I[230] = (T)(img)(_n13##x,_p7##y,z,c)), \
+ (I[259] = (T)(img)(_n13##x,_p6##y,z,c)), \
+ (I[288] = (T)(img)(_n13##x,_p5##y,z,c)), \
+ (I[317] = (T)(img)(_n13##x,_p4##y,z,c)), \
+ (I[346] = (T)(img)(_n13##x,_p3##y,z,c)), \
+ (I[375] = (T)(img)(_n13##x,_p2##y,z,c)), \
+ (I[404] = (T)(img)(_n13##x,_p1##y,z,c)), \
+ (I[433] = (T)(img)(_n13##x,y,z,c)), \
+ (I[462] = (T)(img)(_n13##x,_n1##y,z,c)), \
+ (I[491] = (T)(img)(_n13##x,_n2##y,z,c)), \
+ (I[520] = (T)(img)(_n13##x,_n3##y,z,c)), \
+ (I[549] = (T)(img)(_n13##x,_n4##y,z,c)), \
+ (I[578] = (T)(img)(_n13##x,_n5##y,z,c)), \
+ (I[607] = (T)(img)(_n13##x,_n6##y,z,c)), \
+ (I[636] = (T)(img)(_n13##x,_n7##y,z,c)), \
+ (I[665] = (T)(img)(_n13##x,_n8##y,z,c)), \
+ (I[694] = (T)(img)(_n13##x,_n9##y,z,c)), \
+ (I[723] = (T)(img)(_n13##x,_n10##y,z,c)), \
+ (I[752] = (T)(img)(_n13##x,_n11##y,z,c)), \
+ (I[781] = (T)(img)(_n13##x,_n12##y,z,c)), \
+ (I[810] = (T)(img)(_n13##x,_n13##y,z,c)), \
+ (I[839] = (T)(img)(_n13##x,_n14##y,z,c)), \
+ 14>=((img)._width)?(img).width() - 1:14); \
+ (_n14##x<(img).width() && ( \
+ (I[28] = (T)(img)(_n14##x,_p14##y,z,c)), \
+ (I[57] = (T)(img)(_n14##x,_p13##y,z,c)), \
+ (I[86] = (T)(img)(_n14##x,_p12##y,z,c)), \
+ (I[115] = (T)(img)(_n14##x,_p11##y,z,c)), \
+ (I[144] = (T)(img)(_n14##x,_p10##y,z,c)), \
+ (I[173] = (T)(img)(_n14##x,_p9##y,z,c)), \
+ (I[202] = (T)(img)(_n14##x,_p8##y,z,c)), \
+ (I[231] = (T)(img)(_n14##x,_p7##y,z,c)), \
+ (I[260] = (T)(img)(_n14##x,_p6##y,z,c)), \
+ (I[289] = (T)(img)(_n14##x,_p5##y,z,c)), \
+ (I[318] = (T)(img)(_n14##x,_p4##y,z,c)), \
+ (I[347] = (T)(img)(_n14##x,_p3##y,z,c)), \
+ (I[376] = (T)(img)(_n14##x,_p2##y,z,c)), \
+ (I[405] = (T)(img)(_n14##x,_p1##y,z,c)), \
+ (I[434] = (T)(img)(_n14##x,y,z,c)), \
+ (I[463] = (T)(img)(_n14##x,_n1##y,z,c)), \
+ (I[492] = (T)(img)(_n14##x,_n2##y,z,c)), \
+ (I[521] = (T)(img)(_n14##x,_n3##y,z,c)), \
+ (I[550] = (T)(img)(_n14##x,_n4##y,z,c)), \
+ (I[579] = (T)(img)(_n14##x,_n5##y,z,c)), \
+ (I[608] = (T)(img)(_n14##x,_n6##y,z,c)), \
+ (I[637] = (T)(img)(_n14##x,_n7##y,z,c)), \
+ (I[666] = (T)(img)(_n14##x,_n8##y,z,c)), \
+ (I[695] = (T)(img)(_n14##x,_n9##y,z,c)), \
+ (I[724] = (T)(img)(_n14##x,_n10##y,z,c)), \
+ (I[753] = (T)(img)(_n14##x,_n11##y,z,c)), \
+ (I[782] = (T)(img)(_n14##x,_n12##y,z,c)), \
+ (I[811] = (T)(img)(_n14##x,_n13##y,z,c)), \
+ (I[840] = (T)(img)(_n14##x,_n14##y,z,c)),1)) || \
+ _n13##x==--_n14##x || _n12##x==--_n13##x || _n11##x==--_n12##x || _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n14##x = _n13##x = _n12##x = _n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], \
+ I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], \
+ I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], \
+ I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], \
+ I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], \
+ I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], \
+ I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], \
+ I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], \
+ I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], \
+ I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], I[287] = I[288], I[288] = I[289], \
+ I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], \
+ I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], \
+ I[348] = I[349], I[349] = I[350], I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], I[359] = I[360], I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], \
+ I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], I[399] = I[400], I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], \
+ I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], I[415] = I[416], I[416] = I[417], I[417] = I[418], I[418] = I[419], I[419] = I[420], I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], I[431] = I[432], I[432] = I[433], I[433] = I[434], \
+ I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], I[439] = I[440], I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], I[447] = I[448], I[448] = I[449], I[449] = I[450], I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], I[455] = I[456], I[456] = I[457], I[457] = I[458], I[458] = I[459], I[459] = I[460], I[460] = I[461], I[461] = I[462], I[462] = I[463], \
+ I[464] = I[465], I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], I[474] = I[475], I[475] = I[476], I[476] = I[477], I[477] = I[478], I[478] = I[479], I[479] = I[480], I[480] = I[481], I[481] = I[482], I[482] = I[483], I[483] = I[484], I[484] = I[485], I[485] = I[486], I[486] = I[487], I[487] = I[488], I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], \
+ I[493] = I[494], I[494] = I[495], I[495] = I[496], I[496] = I[497], I[497] = I[498], I[498] = I[499], I[499] = I[500], I[500] = I[501], I[501] = I[502], I[502] = I[503], I[503] = I[504], I[504] = I[505], I[505] = I[506], I[506] = I[507], I[507] = I[508], I[508] = I[509], I[509] = I[510], I[510] = I[511], I[511] = I[512], I[512] = I[513], I[513] = I[514], I[514] = I[515], I[515] = I[516], I[516] = I[517], I[517] = I[518], I[518] = I[519], I[519] = I[520], I[520] = I[521], \
+ I[522] = I[523], I[523] = I[524], I[524] = I[525], I[525] = I[526], I[526] = I[527], I[527] = I[528], I[528] = I[529], I[529] = I[530], I[530] = I[531], I[531] = I[532], I[532] = I[533], I[533] = I[534], I[534] = I[535], I[535] = I[536], I[536] = I[537], I[537] = I[538], I[538] = I[539], I[539] = I[540], I[540] = I[541], I[541] = I[542], I[542] = I[543], I[543] = I[544], I[544] = I[545], I[545] = I[546], I[546] = I[547], I[547] = I[548], I[548] = I[549], I[549] = I[550], \
+ I[551] = I[552], I[552] = I[553], I[553] = I[554], I[554] = I[555], I[555] = I[556], I[556] = I[557], I[557] = I[558], I[558] = I[559], I[559] = I[560], I[560] = I[561], I[561] = I[562], I[562] = I[563], I[563] = I[564], I[564] = I[565], I[565] = I[566], I[566] = I[567], I[567] = I[568], I[568] = I[569], I[569] = I[570], I[570] = I[571], I[571] = I[572], I[572] = I[573], I[573] = I[574], I[574] = I[575], I[575] = I[576], I[576] = I[577], I[577] = I[578], I[578] = I[579], \
+ I[580] = I[581], I[581] = I[582], I[582] = I[583], I[583] = I[584], I[584] = I[585], I[585] = I[586], I[586] = I[587], I[587] = I[588], I[588] = I[589], I[589] = I[590], I[590] = I[591], I[591] = I[592], I[592] = I[593], I[593] = I[594], I[594] = I[595], I[595] = I[596], I[596] = I[597], I[597] = I[598], I[598] = I[599], I[599] = I[600], I[600] = I[601], I[601] = I[602], I[602] = I[603], I[603] = I[604], I[604] = I[605], I[605] = I[606], I[606] = I[607], I[607] = I[608], \
+ I[609] = I[610], I[610] = I[611], I[611] = I[612], I[612] = I[613], I[613] = I[614], I[614] = I[615], I[615] = I[616], I[616] = I[617], I[617] = I[618], I[618] = I[619], I[619] = I[620], I[620] = I[621], I[621] = I[622], I[622] = I[623], I[623] = I[624], I[624] = I[625], I[625] = I[626], I[626] = I[627], I[627] = I[628], I[628] = I[629], I[629] = I[630], I[630] = I[631], I[631] = I[632], I[632] = I[633], I[633] = I[634], I[634] = I[635], I[635] = I[636], I[636] = I[637], \
+ I[638] = I[639], I[639] = I[640], I[640] = I[641], I[641] = I[642], I[642] = I[643], I[643] = I[644], I[644] = I[645], I[645] = I[646], I[646] = I[647], I[647] = I[648], I[648] = I[649], I[649] = I[650], I[650] = I[651], I[651] = I[652], I[652] = I[653], I[653] = I[654], I[654] = I[655], I[655] = I[656], I[656] = I[657], I[657] = I[658], I[658] = I[659], I[659] = I[660], I[660] = I[661], I[661] = I[662], I[662] = I[663], I[663] = I[664], I[664] = I[665], I[665] = I[666], \
+ I[667] = I[668], I[668] = I[669], I[669] = I[670], I[670] = I[671], I[671] = I[672], I[672] = I[673], I[673] = I[674], I[674] = I[675], I[675] = I[676], I[676] = I[677], I[677] = I[678], I[678] = I[679], I[679] = I[680], I[680] = I[681], I[681] = I[682], I[682] = I[683], I[683] = I[684], I[684] = I[685], I[685] = I[686], I[686] = I[687], I[687] = I[688], I[688] = I[689], I[689] = I[690], I[690] = I[691], I[691] = I[692], I[692] = I[693], I[693] = I[694], I[694] = I[695], \
+ I[696] = I[697], I[697] = I[698], I[698] = I[699], I[699] = I[700], I[700] = I[701], I[701] = I[702], I[702] = I[703], I[703] = I[704], I[704] = I[705], I[705] = I[706], I[706] = I[707], I[707] = I[708], I[708] = I[709], I[709] = I[710], I[710] = I[711], I[711] = I[712], I[712] = I[713], I[713] = I[714], I[714] = I[715], I[715] = I[716], I[716] = I[717], I[717] = I[718], I[718] = I[719], I[719] = I[720], I[720] = I[721], I[721] = I[722], I[722] = I[723], I[723] = I[724], \
+ I[725] = I[726], I[726] = I[727], I[727] = I[728], I[728] = I[729], I[729] = I[730], I[730] = I[731], I[731] = I[732], I[732] = I[733], I[733] = I[734], I[734] = I[735], I[735] = I[736], I[736] = I[737], I[737] = I[738], I[738] = I[739], I[739] = I[740], I[740] = I[741], I[741] = I[742], I[742] = I[743], I[743] = I[744], I[744] = I[745], I[745] = I[746], I[746] = I[747], I[747] = I[748], I[748] = I[749], I[749] = I[750], I[750] = I[751], I[751] = I[752], I[752] = I[753], \
+ I[754] = I[755], I[755] = I[756], I[756] = I[757], I[757] = I[758], I[758] = I[759], I[759] = I[760], I[760] = I[761], I[761] = I[762], I[762] = I[763], I[763] = I[764], I[764] = I[765], I[765] = I[766], I[766] = I[767], I[767] = I[768], I[768] = I[769], I[769] = I[770], I[770] = I[771], I[771] = I[772], I[772] = I[773], I[773] = I[774], I[774] = I[775], I[775] = I[776], I[776] = I[777], I[777] = I[778], I[778] = I[779], I[779] = I[780], I[780] = I[781], I[781] = I[782], \
+ I[783] = I[784], I[784] = I[785], I[785] = I[786], I[786] = I[787], I[787] = I[788], I[788] = I[789], I[789] = I[790], I[790] = I[791], I[791] = I[792], I[792] = I[793], I[793] = I[794], I[794] = I[795], I[795] = I[796], I[796] = I[797], I[797] = I[798], I[798] = I[799], I[799] = I[800], I[800] = I[801], I[801] = I[802], I[802] = I[803], I[803] = I[804], I[804] = I[805], I[805] = I[806], I[806] = I[807], I[807] = I[808], I[808] = I[809], I[809] = I[810], I[810] = I[811], \
+ I[812] = I[813], I[813] = I[814], I[814] = I[815], I[815] = I[816], I[816] = I[817], I[817] = I[818], I[818] = I[819], I[819] = I[820], I[820] = I[821], I[821] = I[822], I[822] = I[823], I[823] = I[824], I[824] = I[825], I[825] = I[826], I[826] = I[827], I[827] = I[828], I[828] = I[829], I[829] = I[830], I[830] = I[831], I[831] = I[832], I[832] = I[833], I[833] = I[834], I[834] = I[835], I[835] = I[836], I[836] = I[837], I[837] = I[838], I[838] = I[839], I[839] = I[840], \
+ _p14##x = _p13##x, _p13##x = _p12##x, _p12##x = _p11##x, _p11##x = _p10##x, _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x, ++_n12##x, ++_n13##x, ++_n14##x)
+
+#define cimg_for_in29x29(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in29((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p14##x = x - 14<0?0:x - 14, \
+ _p13##x = x - 13<0?0:x - 13, \
+ _p12##x = x - 12<0?0:x - 12, \
+ _p11##x = x - 11<0?0:x - 11, \
+ _p10##x = x - 10<0?0:x - 10, \
+ _p9##x = x - 9<0?0:x - 9, \
+ _p8##x = x - 8<0?0:x - 8, \
+ _p7##x = x - 7<0?0:x - 7, \
+ _p6##x = x - 6<0?0:x - 6, \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = x + 5>=(img).width()?(img).width() - 1:x + 5, \
+ _n6##x = x + 6>=(img).width()?(img).width() - 1:x + 6, \
+ _n7##x = x + 7>=(img).width()?(img).width() - 1:x + 7, \
+ _n8##x = x + 8>=(img).width()?(img).width() - 1:x + 8, \
+ _n9##x = x + 9>=(img).width()?(img).width() - 1:x + 9, \
+ _n10##x = x + 10>=(img).width()?(img).width() - 1:x + 10, \
+ _n11##x = x + 11>=(img).width()?(img).width() - 1:x + 11, \
+ _n12##x = x + 12>=(img).width()?(img).width() - 1:x + 12, \
+ _n13##x = x + 13>=(img).width()?(img).width() - 1:x + 13, \
+ _n14##x = (int)( \
+ (I[0] = (T)(img)(_p14##x,_p14##y,z,c)), \
+ (I[29] = (T)(img)(_p14##x,_p13##y,z,c)), \
+ (I[58] = (T)(img)(_p14##x,_p12##y,z,c)), \
+ (I[87] = (T)(img)(_p14##x,_p11##y,z,c)), \
+ (I[116] = (T)(img)(_p14##x,_p10##y,z,c)), \
+ (I[145] = (T)(img)(_p14##x,_p9##y,z,c)), \
+ (I[174] = (T)(img)(_p14##x,_p8##y,z,c)), \
+ (I[203] = (T)(img)(_p14##x,_p7##y,z,c)), \
+ (I[232] = (T)(img)(_p14##x,_p6##y,z,c)), \
+ (I[261] = (T)(img)(_p14##x,_p5##y,z,c)), \
+ (I[290] = (T)(img)(_p14##x,_p4##y,z,c)), \
+ (I[319] = (T)(img)(_p14##x,_p3##y,z,c)), \
+ (I[348] = (T)(img)(_p14##x,_p2##y,z,c)), \
+ (I[377] = (T)(img)(_p14##x,_p1##y,z,c)), \
+ (I[406] = (T)(img)(_p14##x,y,z,c)), \
+ (I[435] = (T)(img)(_p14##x,_n1##y,z,c)), \
+ (I[464] = (T)(img)(_p14##x,_n2##y,z,c)), \
+ (I[493] = (T)(img)(_p14##x,_n3##y,z,c)), \
+ (I[522] = (T)(img)(_p14##x,_n4##y,z,c)), \
+ (I[551] = (T)(img)(_p14##x,_n5##y,z,c)), \
+ (I[580] = (T)(img)(_p14##x,_n6##y,z,c)), \
+ (I[609] = (T)(img)(_p14##x,_n7##y,z,c)), \
+ (I[638] = (T)(img)(_p14##x,_n8##y,z,c)), \
+ (I[667] = (T)(img)(_p14##x,_n9##y,z,c)), \
+ (I[696] = (T)(img)(_p14##x,_n10##y,z,c)), \
+ (I[725] = (T)(img)(_p14##x,_n11##y,z,c)), \
+ (I[754] = (T)(img)(_p14##x,_n12##y,z,c)), \
+ (I[783] = (T)(img)(_p14##x,_n13##y,z,c)), \
+ (I[812] = (T)(img)(_p14##x,_n14##y,z,c)), \
+ (I[1] = (T)(img)(_p13##x,_p14##y,z,c)), \
+ (I[30] = (T)(img)(_p13##x,_p13##y,z,c)), \
+ (I[59] = (T)(img)(_p13##x,_p12##y,z,c)), \
+ (I[88] = (T)(img)(_p13##x,_p11##y,z,c)), \
+ (I[117] = (T)(img)(_p13##x,_p10##y,z,c)), \
+ (I[146] = (T)(img)(_p13##x,_p9##y,z,c)), \
+ (I[175] = (T)(img)(_p13##x,_p8##y,z,c)), \
+ (I[204] = (T)(img)(_p13##x,_p7##y,z,c)), \
+ (I[233] = (T)(img)(_p13##x,_p6##y,z,c)), \
+ (I[262] = (T)(img)(_p13##x,_p5##y,z,c)), \
+ (I[291] = (T)(img)(_p13##x,_p4##y,z,c)), \
+ (I[320] = (T)(img)(_p13##x,_p3##y,z,c)), \
+ (I[349] = (T)(img)(_p13##x,_p2##y,z,c)), \
+ (I[378] = (T)(img)(_p13##x,_p1##y,z,c)), \
+ (I[407] = (T)(img)(_p13##x,y,z,c)), \
+ (I[436] = (T)(img)(_p13##x,_n1##y,z,c)), \
+ (I[465] = (T)(img)(_p13##x,_n2##y,z,c)), \
+ (I[494] = (T)(img)(_p13##x,_n3##y,z,c)), \
+ (I[523] = (T)(img)(_p13##x,_n4##y,z,c)), \
+ (I[552] = (T)(img)(_p13##x,_n5##y,z,c)), \
+ (I[581] = (T)(img)(_p13##x,_n6##y,z,c)), \
+ (I[610] = (T)(img)(_p13##x,_n7##y,z,c)), \
+ (I[639] = (T)(img)(_p13##x,_n8##y,z,c)), \
+ (I[668] = (T)(img)(_p13##x,_n9##y,z,c)), \
+ (I[697] = (T)(img)(_p13##x,_n10##y,z,c)), \
+ (I[726] = (T)(img)(_p13##x,_n11##y,z,c)), \
+ (I[755] = (T)(img)(_p13##x,_n12##y,z,c)), \
+ (I[784] = (T)(img)(_p13##x,_n13##y,z,c)), \
+ (I[813] = (T)(img)(_p13##x,_n14##y,z,c)), \
+ (I[2] = (T)(img)(_p12##x,_p14##y,z,c)), \
+ (I[31] = (T)(img)(_p12##x,_p13##y,z,c)), \
+ (I[60] = (T)(img)(_p12##x,_p12##y,z,c)), \
+ (I[89] = (T)(img)(_p12##x,_p11##y,z,c)), \
+ (I[118] = (T)(img)(_p12##x,_p10##y,z,c)), \
+ (I[147] = (T)(img)(_p12##x,_p9##y,z,c)), \
+ (I[176] = (T)(img)(_p12##x,_p8##y,z,c)), \
+ (I[205] = (T)(img)(_p12##x,_p7##y,z,c)), \
+ (I[234] = (T)(img)(_p12##x,_p6##y,z,c)), \
+ (I[263] = (T)(img)(_p12##x,_p5##y,z,c)), \
+ (I[292] = (T)(img)(_p12##x,_p4##y,z,c)), \
+ (I[321] = (T)(img)(_p12##x,_p3##y,z,c)), \
+ (I[350] = (T)(img)(_p12##x,_p2##y,z,c)), \
+ (I[379] = (T)(img)(_p12##x,_p1##y,z,c)), \
+ (I[408] = (T)(img)(_p12##x,y,z,c)), \
+ (I[437] = (T)(img)(_p12##x,_n1##y,z,c)), \
+ (I[466] = (T)(img)(_p12##x,_n2##y,z,c)), \
+ (I[495] = (T)(img)(_p12##x,_n3##y,z,c)), \
+ (I[524] = (T)(img)(_p12##x,_n4##y,z,c)), \
+ (I[553] = (T)(img)(_p12##x,_n5##y,z,c)), \
+ (I[582] = (T)(img)(_p12##x,_n6##y,z,c)), \
+ (I[611] = (T)(img)(_p12##x,_n7##y,z,c)), \
+ (I[640] = (T)(img)(_p12##x,_n8##y,z,c)), \
+ (I[669] = (T)(img)(_p12##x,_n9##y,z,c)), \
+ (I[698] = (T)(img)(_p12##x,_n10##y,z,c)), \
+ (I[727] = (T)(img)(_p12##x,_n11##y,z,c)), \
+ (I[756] = (T)(img)(_p12##x,_n12##y,z,c)), \
+ (I[785] = (T)(img)(_p12##x,_n13##y,z,c)), \
+ (I[814] = (T)(img)(_p12##x,_n14##y,z,c)), \
+ (I[3] = (T)(img)(_p11##x,_p14##y,z,c)), \
+ (I[32] = (T)(img)(_p11##x,_p13##y,z,c)), \
+ (I[61] = (T)(img)(_p11##x,_p12##y,z,c)), \
+ (I[90] = (T)(img)(_p11##x,_p11##y,z,c)), \
+ (I[119] = (T)(img)(_p11##x,_p10##y,z,c)), \
+ (I[148] = (T)(img)(_p11##x,_p9##y,z,c)), \
+ (I[177] = (T)(img)(_p11##x,_p8##y,z,c)), \
+ (I[206] = (T)(img)(_p11##x,_p7##y,z,c)), \
+ (I[235] = (T)(img)(_p11##x,_p6##y,z,c)), \
+ (I[264] = (T)(img)(_p11##x,_p5##y,z,c)), \
+ (I[293] = (T)(img)(_p11##x,_p4##y,z,c)), \
+ (I[322] = (T)(img)(_p11##x,_p3##y,z,c)), \
+ (I[351] = (T)(img)(_p11##x,_p2##y,z,c)), \
+ (I[380] = (T)(img)(_p11##x,_p1##y,z,c)), \
+ (I[409] = (T)(img)(_p11##x,y,z,c)), \
+ (I[438] = (T)(img)(_p11##x,_n1##y,z,c)), \
+ (I[467] = (T)(img)(_p11##x,_n2##y,z,c)), \
+ (I[496] = (T)(img)(_p11##x,_n3##y,z,c)), \
+ (I[525] = (T)(img)(_p11##x,_n4##y,z,c)), \
+ (I[554] = (T)(img)(_p11##x,_n5##y,z,c)), \
+ (I[583] = (T)(img)(_p11##x,_n6##y,z,c)), \
+ (I[612] = (T)(img)(_p11##x,_n7##y,z,c)), \
+ (I[641] = (T)(img)(_p11##x,_n8##y,z,c)), \
+ (I[670] = (T)(img)(_p11##x,_n9##y,z,c)), \
+ (I[699] = (T)(img)(_p11##x,_n10##y,z,c)), \
+ (I[728] = (T)(img)(_p11##x,_n11##y,z,c)), \
+ (I[757] = (T)(img)(_p11##x,_n12##y,z,c)), \
+ (I[786] = (T)(img)(_p11##x,_n13##y,z,c)), \
+ (I[815] = (T)(img)(_p11##x,_n14##y,z,c)), \
+ (I[4] = (T)(img)(_p10##x,_p14##y,z,c)), \
+ (I[33] = (T)(img)(_p10##x,_p13##y,z,c)), \
+ (I[62] = (T)(img)(_p10##x,_p12##y,z,c)), \
+ (I[91] = (T)(img)(_p10##x,_p11##y,z,c)), \
+ (I[120] = (T)(img)(_p10##x,_p10##y,z,c)), \
+ (I[149] = (T)(img)(_p10##x,_p9##y,z,c)), \
+ (I[178] = (T)(img)(_p10##x,_p8##y,z,c)), \
+ (I[207] = (T)(img)(_p10##x,_p7##y,z,c)), \
+ (I[236] = (T)(img)(_p10##x,_p6##y,z,c)), \
+ (I[265] = (T)(img)(_p10##x,_p5##y,z,c)), \
+ (I[294] = (T)(img)(_p10##x,_p4##y,z,c)), \
+ (I[323] = (T)(img)(_p10##x,_p3##y,z,c)), \
+ (I[352] = (T)(img)(_p10##x,_p2##y,z,c)), \
+ (I[381] = (T)(img)(_p10##x,_p1##y,z,c)), \
+ (I[410] = (T)(img)(_p10##x,y,z,c)), \
+ (I[439] = (T)(img)(_p10##x,_n1##y,z,c)), \
+ (I[468] = (T)(img)(_p10##x,_n2##y,z,c)), \
+ (I[497] = (T)(img)(_p10##x,_n3##y,z,c)), \
+ (I[526] = (T)(img)(_p10##x,_n4##y,z,c)), \
+ (I[555] = (T)(img)(_p10##x,_n5##y,z,c)), \
+ (I[584] = (T)(img)(_p10##x,_n6##y,z,c)), \
+ (I[613] = (T)(img)(_p10##x,_n7##y,z,c)), \
+ (I[642] = (T)(img)(_p10##x,_n8##y,z,c)), \
+ (I[671] = (T)(img)(_p10##x,_n9##y,z,c)), \
+ (I[700] = (T)(img)(_p10##x,_n10##y,z,c)), \
+ (I[729] = (T)(img)(_p10##x,_n11##y,z,c)), \
+ (I[758] = (T)(img)(_p10##x,_n12##y,z,c)), \
+ (I[787] = (T)(img)(_p10##x,_n13##y,z,c)), \
+ (I[816] = (T)(img)(_p10##x,_n14##y,z,c)), \
+ (I[5] = (T)(img)(_p9##x,_p14##y,z,c)), \
+ (I[34] = (T)(img)(_p9##x,_p13##y,z,c)), \
+ (I[63] = (T)(img)(_p9##x,_p12##y,z,c)), \
+ (I[92] = (T)(img)(_p9##x,_p11##y,z,c)), \
+ (I[121] = (T)(img)(_p9##x,_p10##y,z,c)), \
+ (I[150] = (T)(img)(_p9##x,_p9##y,z,c)), \
+ (I[179] = (T)(img)(_p9##x,_p8##y,z,c)), \
+ (I[208] = (T)(img)(_p9##x,_p7##y,z,c)), \
+ (I[237] = (T)(img)(_p9##x,_p6##y,z,c)), \
+ (I[266] = (T)(img)(_p9##x,_p5##y,z,c)), \
+ (I[295] = (T)(img)(_p9##x,_p4##y,z,c)), \
+ (I[324] = (T)(img)(_p9##x,_p3##y,z,c)), \
+ (I[353] = (T)(img)(_p9##x,_p2##y,z,c)), \
+ (I[382] = (T)(img)(_p9##x,_p1##y,z,c)), \
+ (I[411] = (T)(img)(_p9##x,y,z,c)), \
+ (I[440] = (T)(img)(_p9##x,_n1##y,z,c)), \
+ (I[469] = (T)(img)(_p9##x,_n2##y,z,c)), \
+ (I[498] = (T)(img)(_p9##x,_n3##y,z,c)), \
+ (I[527] = (T)(img)(_p9##x,_n4##y,z,c)), \
+ (I[556] = (T)(img)(_p9##x,_n5##y,z,c)), \
+ (I[585] = (T)(img)(_p9##x,_n6##y,z,c)), \
+ (I[614] = (T)(img)(_p9##x,_n7##y,z,c)), \
+ (I[643] = (T)(img)(_p9##x,_n8##y,z,c)), \
+ (I[672] = (T)(img)(_p9##x,_n9##y,z,c)), \
+ (I[701] = (T)(img)(_p9##x,_n10##y,z,c)), \
+ (I[730] = (T)(img)(_p9##x,_n11##y,z,c)), \
+ (I[759] = (T)(img)(_p9##x,_n12##y,z,c)), \
+ (I[788] = (T)(img)(_p9##x,_n13##y,z,c)), \
+ (I[817] = (T)(img)(_p9##x,_n14##y,z,c)), \
+ (I[6] = (T)(img)(_p8##x,_p14##y,z,c)), \
+ (I[35] = (T)(img)(_p8##x,_p13##y,z,c)), \
+ (I[64] = (T)(img)(_p8##x,_p12##y,z,c)), \
+ (I[93] = (T)(img)(_p8##x,_p11##y,z,c)), \
+ (I[122] = (T)(img)(_p8##x,_p10##y,z,c)), \
+ (I[151] = (T)(img)(_p8##x,_p9##y,z,c)), \
+ (I[180] = (T)(img)(_p8##x,_p8##y,z,c)), \
+ (I[209] = (T)(img)(_p8##x,_p7##y,z,c)), \
+ (I[238] = (T)(img)(_p8##x,_p6##y,z,c)), \
+ (I[267] = (T)(img)(_p8##x,_p5##y,z,c)), \
+ (I[296] = (T)(img)(_p8##x,_p4##y,z,c)), \
+ (I[325] = (T)(img)(_p8##x,_p3##y,z,c)), \
+ (I[354] = (T)(img)(_p8##x,_p2##y,z,c)), \
+ (I[383] = (T)(img)(_p8##x,_p1##y,z,c)), \
+ (I[412] = (T)(img)(_p8##x,y,z,c)), \
+ (I[441] = (T)(img)(_p8##x,_n1##y,z,c)), \
+ (I[470] = (T)(img)(_p8##x,_n2##y,z,c)), \
+ (I[499] = (T)(img)(_p8##x,_n3##y,z,c)), \
+ (I[528] = (T)(img)(_p8##x,_n4##y,z,c)), \
+ (I[557] = (T)(img)(_p8##x,_n5##y,z,c)), \
+ (I[586] = (T)(img)(_p8##x,_n6##y,z,c)), \
+ (I[615] = (T)(img)(_p8##x,_n7##y,z,c)), \
+ (I[644] = (T)(img)(_p8##x,_n8##y,z,c)), \
+ (I[673] = (T)(img)(_p8##x,_n9##y,z,c)), \
+ (I[702] = (T)(img)(_p8##x,_n10##y,z,c)), \
+ (I[731] = (T)(img)(_p8##x,_n11##y,z,c)), \
+ (I[760] = (T)(img)(_p8##x,_n12##y,z,c)), \
+ (I[789] = (T)(img)(_p8##x,_n13##y,z,c)), \
+ (I[818] = (T)(img)(_p8##x,_n14##y,z,c)), \
+ (I[7] = (T)(img)(_p7##x,_p14##y,z,c)), \
+ (I[36] = (T)(img)(_p7##x,_p13##y,z,c)), \
+ (I[65] = (T)(img)(_p7##x,_p12##y,z,c)), \
+ (I[94] = (T)(img)(_p7##x,_p11##y,z,c)), \
+ (I[123] = (T)(img)(_p7##x,_p10##y,z,c)), \
+ (I[152] = (T)(img)(_p7##x,_p9##y,z,c)), \
+ (I[181] = (T)(img)(_p7##x,_p8##y,z,c)), \
+ (I[210] = (T)(img)(_p7##x,_p7##y,z,c)), \
+ (I[239] = (T)(img)(_p7##x,_p6##y,z,c)), \
+ (I[268] = (T)(img)(_p7##x,_p5##y,z,c)), \
+ (I[297] = (T)(img)(_p7##x,_p4##y,z,c)), \
+ (I[326] = (T)(img)(_p7##x,_p3##y,z,c)), \
+ (I[355] = (T)(img)(_p7##x,_p2##y,z,c)), \
+ (I[384] = (T)(img)(_p7##x,_p1##y,z,c)), \
+ (I[413] = (T)(img)(_p7##x,y,z,c)), \
+ (I[442] = (T)(img)(_p7##x,_n1##y,z,c)), \
+ (I[471] = (T)(img)(_p7##x,_n2##y,z,c)), \
+ (I[500] = (T)(img)(_p7##x,_n3##y,z,c)), \
+ (I[529] = (T)(img)(_p7##x,_n4##y,z,c)), \
+ (I[558] = (T)(img)(_p7##x,_n5##y,z,c)), \
+ (I[587] = (T)(img)(_p7##x,_n6##y,z,c)), \
+ (I[616] = (T)(img)(_p7##x,_n7##y,z,c)), \
+ (I[645] = (T)(img)(_p7##x,_n8##y,z,c)), \
+ (I[674] = (T)(img)(_p7##x,_n9##y,z,c)), \
+ (I[703] = (T)(img)(_p7##x,_n10##y,z,c)), \
+ (I[732] = (T)(img)(_p7##x,_n11##y,z,c)), \
+ (I[761] = (T)(img)(_p7##x,_n12##y,z,c)), \
+ (I[790] = (T)(img)(_p7##x,_n13##y,z,c)), \
+ (I[819] = (T)(img)(_p7##x,_n14##y,z,c)), \
+ (I[8] = (T)(img)(_p6##x,_p14##y,z,c)), \
+ (I[37] = (T)(img)(_p6##x,_p13##y,z,c)), \
+ (I[66] = (T)(img)(_p6##x,_p12##y,z,c)), \
+ (I[95] = (T)(img)(_p6##x,_p11##y,z,c)), \
+ (I[124] = (T)(img)(_p6##x,_p10##y,z,c)), \
+ (I[153] = (T)(img)(_p6##x,_p9##y,z,c)), \
+ (I[182] = (T)(img)(_p6##x,_p8##y,z,c)), \
+ (I[211] = (T)(img)(_p6##x,_p7##y,z,c)), \
+ (I[240] = (T)(img)(_p6##x,_p6##y,z,c)), \
+ (I[269] = (T)(img)(_p6##x,_p5##y,z,c)), \
+ (I[298] = (T)(img)(_p6##x,_p4##y,z,c)), \
+ (I[327] = (T)(img)(_p6##x,_p3##y,z,c)), \
+ (I[356] = (T)(img)(_p6##x,_p2##y,z,c)), \
+ (I[385] = (T)(img)(_p6##x,_p1##y,z,c)), \
+ (I[414] = (T)(img)(_p6##x,y,z,c)), \
+ (I[443] = (T)(img)(_p6##x,_n1##y,z,c)), \
+ (I[472] = (T)(img)(_p6##x,_n2##y,z,c)), \
+ (I[501] = (T)(img)(_p6##x,_n3##y,z,c)), \
+ (I[530] = (T)(img)(_p6##x,_n4##y,z,c)), \
+ (I[559] = (T)(img)(_p6##x,_n5##y,z,c)), \
+ (I[588] = (T)(img)(_p6##x,_n6##y,z,c)), \
+ (I[617] = (T)(img)(_p6##x,_n7##y,z,c)), \
+ (I[646] = (T)(img)(_p6##x,_n8##y,z,c)), \
+ (I[675] = (T)(img)(_p6##x,_n9##y,z,c)), \
+ (I[704] = (T)(img)(_p6##x,_n10##y,z,c)), \
+ (I[733] = (T)(img)(_p6##x,_n11##y,z,c)), \
+ (I[762] = (T)(img)(_p6##x,_n12##y,z,c)), \
+ (I[791] = (T)(img)(_p6##x,_n13##y,z,c)), \
+ (I[820] = (T)(img)(_p6##x,_n14##y,z,c)), \
+ (I[9] = (T)(img)(_p5##x,_p14##y,z,c)), \
+ (I[38] = (T)(img)(_p5##x,_p13##y,z,c)), \
+ (I[67] = (T)(img)(_p5##x,_p12##y,z,c)), \
+ (I[96] = (T)(img)(_p5##x,_p11##y,z,c)), \
+ (I[125] = (T)(img)(_p5##x,_p10##y,z,c)), \
+ (I[154] = (T)(img)(_p5##x,_p9##y,z,c)), \
+ (I[183] = (T)(img)(_p5##x,_p8##y,z,c)), \
+ (I[212] = (T)(img)(_p5##x,_p7##y,z,c)), \
+ (I[241] = (T)(img)(_p5##x,_p6##y,z,c)), \
+ (I[270] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[299] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[328] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[357] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[386] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[415] = (T)(img)(_p5##x,y,z,c)), \
+ (I[444] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[473] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[502] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[531] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[560] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[589] = (T)(img)(_p5##x,_n6##y,z,c)), \
+ (I[618] = (T)(img)(_p5##x,_n7##y,z,c)), \
+ (I[647] = (T)(img)(_p5##x,_n8##y,z,c)), \
+ (I[676] = (T)(img)(_p5##x,_n9##y,z,c)), \
+ (I[705] = (T)(img)(_p5##x,_n10##y,z,c)), \
+ (I[734] = (T)(img)(_p5##x,_n11##y,z,c)), \
+ (I[763] = (T)(img)(_p5##x,_n12##y,z,c)), \
+ (I[792] = (T)(img)(_p5##x,_n13##y,z,c)), \
+ (I[821] = (T)(img)(_p5##x,_n14##y,z,c)), \
+ (I[10] = (T)(img)(_p4##x,_p14##y,z,c)), \
+ (I[39] = (T)(img)(_p4##x,_p13##y,z,c)), \
+ (I[68] = (T)(img)(_p4##x,_p12##y,z,c)), \
+ (I[97] = (T)(img)(_p4##x,_p11##y,z,c)), \
+ (I[126] = (T)(img)(_p4##x,_p10##y,z,c)), \
+ (I[155] = (T)(img)(_p4##x,_p9##y,z,c)), \
+ (I[184] = (T)(img)(_p4##x,_p8##y,z,c)), \
+ (I[213] = (T)(img)(_p4##x,_p7##y,z,c)), \
+ (I[242] = (T)(img)(_p4##x,_p6##y,z,c)), \
+ (I[271] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[300] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[329] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[358] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[387] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[416] = (T)(img)(_p4##x,y,z,c)), \
+ (I[445] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[474] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[503] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[532] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[561] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[590] = (T)(img)(_p4##x,_n6##y,z,c)), \
+ (I[619] = (T)(img)(_p4##x,_n7##y,z,c)), \
+ (I[648] = (T)(img)(_p4##x,_n8##y,z,c)), \
+ (I[677] = (T)(img)(_p4##x,_n9##y,z,c)), \
+ (I[706] = (T)(img)(_p4##x,_n10##y,z,c)), \
+ (I[735] = (T)(img)(_p4##x,_n11##y,z,c)), \
+ (I[764] = (T)(img)(_p4##x,_n12##y,z,c)), \
+ (I[793] = (T)(img)(_p4##x,_n13##y,z,c)), \
+ (I[822] = (T)(img)(_p4##x,_n14##y,z,c)), \
+ (I[11] = (T)(img)(_p3##x,_p14##y,z,c)), \
+ (I[40] = (T)(img)(_p3##x,_p13##y,z,c)), \
+ (I[69] = (T)(img)(_p3##x,_p12##y,z,c)), \
+ (I[98] = (T)(img)(_p3##x,_p11##y,z,c)), \
+ (I[127] = (T)(img)(_p3##x,_p10##y,z,c)), \
+ (I[156] = (T)(img)(_p3##x,_p9##y,z,c)), \
+ (I[185] = (T)(img)(_p3##x,_p8##y,z,c)), \
+ (I[214] = (T)(img)(_p3##x,_p7##y,z,c)), \
+ (I[243] = (T)(img)(_p3##x,_p6##y,z,c)), \
+ (I[272] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[301] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[330] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[359] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[388] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[417] = (T)(img)(_p3##x,y,z,c)), \
+ (I[446] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[475] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[504] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[533] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[562] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[591] = (T)(img)(_p3##x,_n6##y,z,c)), \
+ (I[620] = (T)(img)(_p3##x,_n7##y,z,c)), \
+ (I[649] = (T)(img)(_p3##x,_n8##y,z,c)), \
+ (I[678] = (T)(img)(_p3##x,_n9##y,z,c)), \
+ (I[707] = (T)(img)(_p3##x,_n10##y,z,c)), \
+ (I[736] = (T)(img)(_p3##x,_n11##y,z,c)), \
+ (I[765] = (T)(img)(_p3##x,_n12##y,z,c)), \
+ (I[794] = (T)(img)(_p3##x,_n13##y,z,c)), \
+ (I[823] = (T)(img)(_p3##x,_n14##y,z,c)), \
+ (I[12] = (T)(img)(_p2##x,_p14##y,z,c)), \
+ (I[41] = (T)(img)(_p2##x,_p13##y,z,c)), \
+ (I[70] = (T)(img)(_p2##x,_p12##y,z,c)), \
+ (I[99] = (T)(img)(_p2##x,_p11##y,z,c)), \
+ (I[128] = (T)(img)(_p2##x,_p10##y,z,c)), \
+ (I[157] = (T)(img)(_p2##x,_p9##y,z,c)), \
+ (I[186] = (T)(img)(_p2##x,_p8##y,z,c)), \
+ (I[215] = (T)(img)(_p2##x,_p7##y,z,c)), \
+ (I[244] = (T)(img)(_p2##x,_p6##y,z,c)), \
+ (I[273] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[302] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[331] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[360] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[389] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[418] = (T)(img)(_p2##x,y,z,c)), \
+ (I[447] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[476] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[505] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[534] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[563] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[592] = (T)(img)(_p2##x,_n6##y,z,c)), \
+ (I[621] = (T)(img)(_p2##x,_n7##y,z,c)), \
+ (I[650] = (T)(img)(_p2##x,_n8##y,z,c)), \
+ (I[679] = (T)(img)(_p2##x,_n9##y,z,c)), \
+ (I[708] = (T)(img)(_p2##x,_n10##y,z,c)), \
+ (I[737] = (T)(img)(_p2##x,_n11##y,z,c)), \
+ (I[766] = (T)(img)(_p2##x,_n12##y,z,c)), \
+ (I[795] = (T)(img)(_p2##x,_n13##y,z,c)), \
+ (I[824] = (T)(img)(_p2##x,_n14##y,z,c)), \
+ (I[13] = (T)(img)(_p1##x,_p14##y,z,c)), \
+ (I[42] = (T)(img)(_p1##x,_p13##y,z,c)), \
+ (I[71] = (T)(img)(_p1##x,_p12##y,z,c)), \
+ (I[100] = (T)(img)(_p1##x,_p11##y,z,c)), \
+ (I[129] = (T)(img)(_p1##x,_p10##y,z,c)), \
+ (I[158] = (T)(img)(_p1##x,_p9##y,z,c)), \
+ (I[187] = (T)(img)(_p1##x,_p8##y,z,c)), \
+ (I[216] = (T)(img)(_p1##x,_p7##y,z,c)), \
+ (I[245] = (T)(img)(_p1##x,_p6##y,z,c)), \
+ (I[274] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[303] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[332] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[361] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[390] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[419] = (T)(img)(_p1##x,y,z,c)), \
+ (I[448] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[477] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[506] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[535] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[564] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[593] = (T)(img)(_p1##x,_n6##y,z,c)), \
+ (I[622] = (T)(img)(_p1##x,_n7##y,z,c)), \
+ (I[651] = (T)(img)(_p1##x,_n8##y,z,c)), \
+ (I[680] = (T)(img)(_p1##x,_n9##y,z,c)), \
+ (I[709] = (T)(img)(_p1##x,_n10##y,z,c)), \
+ (I[738] = (T)(img)(_p1##x,_n11##y,z,c)), \
+ (I[767] = (T)(img)(_p1##x,_n12##y,z,c)), \
+ (I[796] = (T)(img)(_p1##x,_n13##y,z,c)), \
+ (I[825] = (T)(img)(_p1##x,_n14##y,z,c)), \
+ (I[14] = (T)(img)(x,_p14##y,z,c)), \
+ (I[43] = (T)(img)(x,_p13##y,z,c)), \
+ (I[72] = (T)(img)(x,_p12##y,z,c)), \
+ (I[101] = (T)(img)(x,_p11##y,z,c)), \
+ (I[130] = (T)(img)(x,_p10##y,z,c)), \
+ (I[159] = (T)(img)(x,_p9##y,z,c)), \
+ (I[188] = (T)(img)(x,_p8##y,z,c)), \
+ (I[217] = (T)(img)(x,_p7##y,z,c)), \
+ (I[246] = (T)(img)(x,_p6##y,z,c)), \
+ (I[275] = (T)(img)(x,_p5##y,z,c)), \
+ (I[304] = (T)(img)(x,_p4##y,z,c)), \
+ (I[333] = (T)(img)(x,_p3##y,z,c)), \
+ (I[362] = (T)(img)(x,_p2##y,z,c)), \
+ (I[391] = (T)(img)(x,_p1##y,z,c)), \
+ (I[420] = (T)(img)(x,y,z,c)), \
+ (I[449] = (T)(img)(x,_n1##y,z,c)), \
+ (I[478] = (T)(img)(x,_n2##y,z,c)), \
+ (I[507] = (T)(img)(x,_n3##y,z,c)), \
+ (I[536] = (T)(img)(x,_n4##y,z,c)), \
+ (I[565] = (T)(img)(x,_n5##y,z,c)), \
+ (I[594] = (T)(img)(x,_n6##y,z,c)), \
+ (I[623] = (T)(img)(x,_n7##y,z,c)), \
+ (I[652] = (T)(img)(x,_n8##y,z,c)), \
+ (I[681] = (T)(img)(x,_n9##y,z,c)), \
+ (I[710] = (T)(img)(x,_n10##y,z,c)), \
+ (I[739] = (T)(img)(x,_n11##y,z,c)), \
+ (I[768] = (T)(img)(x,_n12##y,z,c)), \
+ (I[797] = (T)(img)(x,_n13##y,z,c)), \
+ (I[826] = (T)(img)(x,_n14##y,z,c)), \
+ (I[15] = (T)(img)(_n1##x,_p14##y,z,c)), \
+ (I[44] = (T)(img)(_n1##x,_p13##y,z,c)), \
+ (I[73] = (T)(img)(_n1##x,_p12##y,z,c)), \
+ (I[102] = (T)(img)(_n1##x,_p11##y,z,c)), \
+ (I[131] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[160] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[189] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[218] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[247] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[276] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[305] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[334] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[363] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[392] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[421] = (T)(img)(_n1##x,y,z,c)), \
+ (I[450] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[479] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[508] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[537] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[566] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[595] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[624] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[653] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[682] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[711] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[740] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[769] = (T)(img)(_n1##x,_n12##y,z,c)), \
+ (I[798] = (T)(img)(_n1##x,_n13##y,z,c)), \
+ (I[827] = (T)(img)(_n1##x,_n14##y,z,c)), \
+ (I[16] = (T)(img)(_n2##x,_p14##y,z,c)), \
+ (I[45] = (T)(img)(_n2##x,_p13##y,z,c)), \
+ (I[74] = (T)(img)(_n2##x,_p12##y,z,c)), \
+ (I[103] = (T)(img)(_n2##x,_p11##y,z,c)), \
+ (I[132] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[161] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[190] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[219] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[248] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[277] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[306] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[335] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[364] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[393] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[422] = (T)(img)(_n2##x,y,z,c)), \
+ (I[451] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[480] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[509] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[538] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[567] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[596] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[625] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[654] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[683] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[712] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[741] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[770] = (T)(img)(_n2##x,_n12##y,z,c)), \
+ (I[799] = (T)(img)(_n2##x,_n13##y,z,c)), \
+ (I[828] = (T)(img)(_n2##x,_n14##y,z,c)), \
+ (I[17] = (T)(img)(_n3##x,_p14##y,z,c)), \
+ (I[46] = (T)(img)(_n3##x,_p13##y,z,c)), \
+ (I[75] = (T)(img)(_n3##x,_p12##y,z,c)), \
+ (I[104] = (T)(img)(_n3##x,_p11##y,z,c)), \
+ (I[133] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[162] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[191] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[220] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[249] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[278] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[307] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[336] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[365] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[394] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[423] = (T)(img)(_n3##x,y,z,c)), \
+ (I[452] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[481] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[510] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[539] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[568] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[597] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[626] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[655] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[684] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[713] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[742] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[771] = (T)(img)(_n3##x,_n12##y,z,c)), \
+ (I[800] = (T)(img)(_n3##x,_n13##y,z,c)), \
+ (I[829] = (T)(img)(_n3##x,_n14##y,z,c)), \
+ (I[18] = (T)(img)(_n4##x,_p14##y,z,c)), \
+ (I[47] = (T)(img)(_n4##x,_p13##y,z,c)), \
+ (I[76] = (T)(img)(_n4##x,_p12##y,z,c)), \
+ (I[105] = (T)(img)(_n4##x,_p11##y,z,c)), \
+ (I[134] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[163] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[192] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[221] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[250] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[279] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[308] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[337] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[366] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[395] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[424] = (T)(img)(_n4##x,y,z,c)), \
+ (I[453] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[482] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[511] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[540] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[569] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[598] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[627] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[656] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[685] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[714] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[743] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[772] = (T)(img)(_n4##x,_n12##y,z,c)), \
+ (I[801] = (T)(img)(_n4##x,_n13##y,z,c)), \
+ (I[830] = (T)(img)(_n4##x,_n14##y,z,c)), \
+ (I[19] = (T)(img)(_n5##x,_p14##y,z,c)), \
+ (I[48] = (T)(img)(_n5##x,_p13##y,z,c)), \
+ (I[77] = (T)(img)(_n5##x,_p12##y,z,c)), \
+ (I[106] = (T)(img)(_n5##x,_p11##y,z,c)), \
+ (I[135] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[164] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[193] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[222] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[251] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[280] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[309] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[338] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[367] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[396] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[425] = (T)(img)(_n5##x,y,z,c)), \
+ (I[454] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[483] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[512] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[541] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[570] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[599] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[628] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[657] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[686] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[715] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[744] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[773] = (T)(img)(_n5##x,_n12##y,z,c)), \
+ (I[802] = (T)(img)(_n5##x,_n13##y,z,c)), \
+ (I[831] = (T)(img)(_n5##x,_n14##y,z,c)), \
+ (I[20] = (T)(img)(_n6##x,_p14##y,z,c)), \
+ (I[49] = (T)(img)(_n6##x,_p13##y,z,c)), \
+ (I[78] = (T)(img)(_n6##x,_p12##y,z,c)), \
+ (I[107] = (T)(img)(_n6##x,_p11##y,z,c)), \
+ (I[136] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[165] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[194] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[223] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[252] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[281] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[310] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[339] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[368] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[397] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[426] = (T)(img)(_n6##x,y,z,c)), \
+ (I[455] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[484] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[513] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[542] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[571] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[600] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[629] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[658] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[687] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[716] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[745] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[774] = (T)(img)(_n6##x,_n12##y,z,c)), \
+ (I[803] = (T)(img)(_n6##x,_n13##y,z,c)), \
+ (I[832] = (T)(img)(_n6##x,_n14##y,z,c)), \
+ (I[21] = (T)(img)(_n7##x,_p14##y,z,c)), \
+ (I[50] = (T)(img)(_n7##x,_p13##y,z,c)), \
+ (I[79] = (T)(img)(_n7##x,_p12##y,z,c)), \
+ (I[108] = (T)(img)(_n7##x,_p11##y,z,c)), \
+ (I[137] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[166] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[195] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[224] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[253] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[282] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[311] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[340] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[369] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[398] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[427] = (T)(img)(_n7##x,y,z,c)), \
+ (I[456] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[485] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[514] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[543] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[572] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[601] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[630] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[659] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[688] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[717] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[746] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[775] = (T)(img)(_n7##x,_n12##y,z,c)), \
+ (I[804] = (T)(img)(_n7##x,_n13##y,z,c)), \
+ (I[833] = (T)(img)(_n7##x,_n14##y,z,c)), \
+ (I[22] = (T)(img)(_n8##x,_p14##y,z,c)), \
+ (I[51] = (T)(img)(_n8##x,_p13##y,z,c)), \
+ (I[80] = (T)(img)(_n8##x,_p12##y,z,c)), \
+ (I[109] = (T)(img)(_n8##x,_p11##y,z,c)), \
+ (I[138] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[167] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[196] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[225] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[254] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[283] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[312] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[341] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[370] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[399] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[428] = (T)(img)(_n8##x,y,z,c)), \
+ (I[457] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[486] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[515] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[544] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[573] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[602] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[631] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[660] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[689] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[718] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[747] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[776] = (T)(img)(_n8##x,_n12##y,z,c)), \
+ (I[805] = (T)(img)(_n8##x,_n13##y,z,c)), \
+ (I[834] = (T)(img)(_n8##x,_n14##y,z,c)), \
+ (I[23] = (T)(img)(_n9##x,_p14##y,z,c)), \
+ (I[52] = (T)(img)(_n9##x,_p13##y,z,c)), \
+ (I[81] = (T)(img)(_n9##x,_p12##y,z,c)), \
+ (I[110] = (T)(img)(_n9##x,_p11##y,z,c)), \
+ (I[139] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[168] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[197] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[226] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[255] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[284] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[313] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[342] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[371] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[400] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[429] = (T)(img)(_n9##x,y,z,c)), \
+ (I[458] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[487] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[516] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[545] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[574] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[603] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[632] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[661] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[690] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[719] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[748] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[777] = (T)(img)(_n9##x,_n12##y,z,c)), \
+ (I[806] = (T)(img)(_n9##x,_n13##y,z,c)), \
+ (I[835] = (T)(img)(_n9##x,_n14##y,z,c)), \
+ (I[24] = (T)(img)(_n10##x,_p14##y,z,c)), \
+ (I[53] = (T)(img)(_n10##x,_p13##y,z,c)), \
+ (I[82] = (T)(img)(_n10##x,_p12##y,z,c)), \
+ (I[111] = (T)(img)(_n10##x,_p11##y,z,c)), \
+ (I[140] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[169] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[198] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[227] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[256] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[285] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[314] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[343] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[372] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[401] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[430] = (T)(img)(_n10##x,y,z,c)), \
+ (I[459] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[488] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[517] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[546] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[575] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[604] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[633] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[662] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[691] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[720] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[749] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ (I[778] = (T)(img)(_n10##x,_n12##y,z,c)), \
+ (I[807] = (T)(img)(_n10##x,_n13##y,z,c)), \
+ (I[836] = (T)(img)(_n10##x,_n14##y,z,c)), \
+ (I[25] = (T)(img)(_n11##x,_p14##y,z,c)), \
+ (I[54] = (T)(img)(_n11##x,_p13##y,z,c)), \
+ (I[83] = (T)(img)(_n11##x,_p12##y,z,c)), \
+ (I[112] = (T)(img)(_n11##x,_p11##y,z,c)), \
+ (I[141] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[170] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[199] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[228] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[257] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[286] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[315] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[344] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[373] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[402] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[431] = (T)(img)(_n11##x,y,z,c)), \
+ (I[460] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[489] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[518] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[547] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[576] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[605] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[634] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[663] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[692] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[721] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[750] = (T)(img)(_n11##x,_n11##y,z,c)), \
+ (I[779] = (T)(img)(_n11##x,_n12##y,z,c)), \
+ (I[808] = (T)(img)(_n11##x,_n13##y,z,c)), \
+ (I[837] = (T)(img)(_n11##x,_n14##y,z,c)), \
+ (I[26] = (T)(img)(_n12##x,_p14##y,z,c)), \
+ (I[55] = (T)(img)(_n12##x,_p13##y,z,c)), \
+ (I[84] = (T)(img)(_n12##x,_p12##y,z,c)), \
+ (I[113] = (T)(img)(_n12##x,_p11##y,z,c)), \
+ (I[142] = (T)(img)(_n12##x,_p10##y,z,c)), \
+ (I[171] = (T)(img)(_n12##x,_p9##y,z,c)), \
+ (I[200] = (T)(img)(_n12##x,_p8##y,z,c)), \
+ (I[229] = (T)(img)(_n12##x,_p7##y,z,c)), \
+ (I[258] = (T)(img)(_n12##x,_p6##y,z,c)), \
+ (I[287] = (T)(img)(_n12##x,_p5##y,z,c)), \
+ (I[316] = (T)(img)(_n12##x,_p4##y,z,c)), \
+ (I[345] = (T)(img)(_n12##x,_p3##y,z,c)), \
+ (I[374] = (T)(img)(_n12##x,_p2##y,z,c)), \
+ (I[403] = (T)(img)(_n12##x,_p1##y,z,c)), \
+ (I[432] = (T)(img)(_n12##x,y,z,c)), \
+ (I[461] = (T)(img)(_n12##x,_n1##y,z,c)), \
+ (I[490] = (T)(img)(_n12##x,_n2##y,z,c)), \
+ (I[519] = (T)(img)(_n12##x,_n3##y,z,c)), \
+ (I[548] = (T)(img)(_n12##x,_n4##y,z,c)), \
+ (I[577] = (T)(img)(_n12##x,_n5##y,z,c)), \
+ (I[606] = (T)(img)(_n12##x,_n6##y,z,c)), \
+ (I[635] = (T)(img)(_n12##x,_n7##y,z,c)), \
+ (I[664] = (T)(img)(_n12##x,_n8##y,z,c)), \
+ (I[693] = (T)(img)(_n12##x,_n9##y,z,c)), \
+ (I[722] = (T)(img)(_n12##x,_n10##y,z,c)), \
+ (I[751] = (T)(img)(_n12##x,_n11##y,z,c)), \
+ (I[780] = (T)(img)(_n12##x,_n12##y,z,c)), \
+ (I[809] = (T)(img)(_n12##x,_n13##y,z,c)), \
+ (I[838] = (T)(img)(_n12##x,_n14##y,z,c)), \
+ (I[27] = (T)(img)(_n13##x,_p14##y,z,c)), \
+ (I[56] = (T)(img)(_n13##x,_p13##y,z,c)), \
+ (I[85] = (T)(img)(_n13##x,_p12##y,z,c)), \
+ (I[114] = (T)(img)(_n13##x,_p11##y,z,c)), \
+ (I[143] = (T)(img)(_n13##x,_p10##y,z,c)), \
+ (I[172] = (T)(img)(_n13##x,_p9##y,z,c)), \
+ (I[201] = (T)(img)(_n13##x,_p8##y,z,c)), \
+ (I[230] = (T)(img)(_n13##x,_p7##y,z,c)), \
+ (I[259] = (T)(img)(_n13##x,_p6##y,z,c)), \
+ (I[288] = (T)(img)(_n13##x,_p5##y,z,c)), \
+ (I[317] = (T)(img)(_n13##x,_p4##y,z,c)), \
+ (I[346] = (T)(img)(_n13##x,_p3##y,z,c)), \
+ (I[375] = (T)(img)(_n13##x,_p2##y,z,c)), \
+ (I[404] = (T)(img)(_n13##x,_p1##y,z,c)), \
+ (I[433] = (T)(img)(_n13##x,y,z,c)), \
+ (I[462] = (T)(img)(_n13##x,_n1##y,z,c)), \
+ (I[491] = (T)(img)(_n13##x,_n2##y,z,c)), \
+ (I[520] = (T)(img)(_n13##x,_n3##y,z,c)), \
+ (I[549] = (T)(img)(_n13##x,_n4##y,z,c)), \
+ (I[578] = (T)(img)(_n13##x,_n5##y,z,c)), \
+ (I[607] = (T)(img)(_n13##x,_n6##y,z,c)), \
+ (I[636] = (T)(img)(_n13##x,_n7##y,z,c)), \
+ (I[665] = (T)(img)(_n13##x,_n8##y,z,c)), \
+ (I[694] = (T)(img)(_n13##x,_n9##y,z,c)), \
+ (I[723] = (T)(img)(_n13##x,_n10##y,z,c)), \
+ (I[752] = (T)(img)(_n13##x,_n11##y,z,c)), \
+ (I[781] = (T)(img)(_n13##x,_n12##y,z,c)), \
+ (I[810] = (T)(img)(_n13##x,_n13##y,z,c)), \
+ (I[839] = (T)(img)(_n13##x,_n14##y,z,c)), \
+ x + 14>=(img).width()?(img).width() - 1:x + 14); \
+ x<=(int)(x1) && ((_n14##x<(img).width() && ( \
+ (I[28] = (T)(img)(_n14##x,_p14##y,z,c)), \
+ (I[57] = (T)(img)(_n14##x,_p13##y,z,c)), \
+ (I[86] = (T)(img)(_n14##x,_p12##y,z,c)), \
+ (I[115] = (T)(img)(_n14##x,_p11##y,z,c)), \
+ (I[144] = (T)(img)(_n14##x,_p10##y,z,c)), \
+ (I[173] = (T)(img)(_n14##x,_p9##y,z,c)), \
+ (I[202] = (T)(img)(_n14##x,_p8##y,z,c)), \
+ (I[231] = (T)(img)(_n14##x,_p7##y,z,c)), \
+ (I[260] = (T)(img)(_n14##x,_p6##y,z,c)), \
+ (I[289] = (T)(img)(_n14##x,_p5##y,z,c)), \
+ (I[318] = (T)(img)(_n14##x,_p4##y,z,c)), \
+ (I[347] = (T)(img)(_n14##x,_p3##y,z,c)), \
+ (I[376] = (T)(img)(_n14##x,_p2##y,z,c)), \
+ (I[405] = (T)(img)(_n14##x,_p1##y,z,c)), \
+ (I[434] = (T)(img)(_n14##x,y,z,c)), \
+ (I[463] = (T)(img)(_n14##x,_n1##y,z,c)), \
+ (I[492] = (T)(img)(_n14##x,_n2##y,z,c)), \
+ (I[521] = (T)(img)(_n14##x,_n3##y,z,c)), \
+ (I[550] = (T)(img)(_n14##x,_n4##y,z,c)), \
+ (I[579] = (T)(img)(_n14##x,_n5##y,z,c)), \
+ (I[608] = (T)(img)(_n14##x,_n6##y,z,c)), \
+ (I[637] = (T)(img)(_n14##x,_n7##y,z,c)), \
+ (I[666] = (T)(img)(_n14##x,_n8##y,z,c)), \
+ (I[695] = (T)(img)(_n14##x,_n9##y,z,c)), \
+ (I[724] = (T)(img)(_n14##x,_n10##y,z,c)), \
+ (I[753] = (T)(img)(_n14##x,_n11##y,z,c)), \
+ (I[782] = (T)(img)(_n14##x,_n12##y,z,c)), \
+ (I[811] = (T)(img)(_n14##x,_n13##y,z,c)), \
+ (I[840] = (T)(img)(_n14##x,_n14##y,z,c)),1)) || \
+ _n13##x==--_n14##x || _n12##x==--_n13##x || _n11##x==--_n12##x || _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n14##x = _n13##x = _n12##x = _n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], \
+ I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], \
+ I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], \
+ I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], \
+ I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], \
+ I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], \
+ I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], \
+ I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], \
+ I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], \
+ I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], I[287] = I[288], I[288] = I[289], \
+ I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], \
+ I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], \
+ I[348] = I[349], I[349] = I[350], I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], I[359] = I[360], I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], \
+ I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], I[399] = I[400], I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], \
+ I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], I[415] = I[416], I[416] = I[417], I[417] = I[418], I[418] = I[419], I[419] = I[420], I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], I[431] = I[432], I[432] = I[433], I[433] = I[434], \
+ I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], I[439] = I[440], I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], I[447] = I[448], I[448] = I[449], I[449] = I[450], I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], I[455] = I[456], I[456] = I[457], I[457] = I[458], I[458] = I[459], I[459] = I[460], I[460] = I[461], I[461] = I[462], I[462] = I[463], \
+ I[464] = I[465], I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], I[474] = I[475], I[475] = I[476], I[476] = I[477], I[477] = I[478], I[478] = I[479], I[479] = I[480], I[480] = I[481], I[481] = I[482], I[482] = I[483], I[483] = I[484], I[484] = I[485], I[485] = I[486], I[486] = I[487], I[487] = I[488], I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], \
+ I[493] = I[494], I[494] = I[495], I[495] = I[496], I[496] = I[497], I[497] = I[498], I[498] = I[499], I[499] = I[500], I[500] = I[501], I[501] = I[502], I[502] = I[503], I[503] = I[504], I[504] = I[505], I[505] = I[506], I[506] = I[507], I[507] = I[508], I[508] = I[509], I[509] = I[510], I[510] = I[511], I[511] = I[512], I[512] = I[513], I[513] = I[514], I[514] = I[515], I[515] = I[516], I[516] = I[517], I[517] = I[518], I[518] = I[519], I[519] = I[520], I[520] = I[521], \
+ I[522] = I[523], I[523] = I[524], I[524] = I[525], I[525] = I[526], I[526] = I[527], I[527] = I[528], I[528] = I[529], I[529] = I[530], I[530] = I[531], I[531] = I[532], I[532] = I[533], I[533] = I[534], I[534] = I[535], I[535] = I[536], I[536] = I[537], I[537] = I[538], I[538] = I[539], I[539] = I[540], I[540] = I[541], I[541] = I[542], I[542] = I[543], I[543] = I[544], I[544] = I[545], I[545] = I[546], I[546] = I[547], I[547] = I[548], I[548] = I[549], I[549] = I[550], \
+ I[551] = I[552], I[552] = I[553], I[553] = I[554], I[554] = I[555], I[555] = I[556], I[556] = I[557], I[557] = I[558], I[558] = I[559], I[559] = I[560], I[560] = I[561], I[561] = I[562], I[562] = I[563], I[563] = I[564], I[564] = I[565], I[565] = I[566], I[566] = I[567], I[567] = I[568], I[568] = I[569], I[569] = I[570], I[570] = I[571], I[571] = I[572], I[572] = I[573], I[573] = I[574], I[574] = I[575], I[575] = I[576], I[576] = I[577], I[577] = I[578], I[578] = I[579], \
+ I[580] = I[581], I[581] = I[582], I[582] = I[583], I[583] = I[584], I[584] = I[585], I[585] = I[586], I[586] = I[587], I[587] = I[588], I[588] = I[589], I[589] = I[590], I[590] = I[591], I[591] = I[592], I[592] = I[593], I[593] = I[594], I[594] = I[595], I[595] = I[596], I[596] = I[597], I[597] = I[598], I[598] = I[599], I[599] = I[600], I[600] = I[601], I[601] = I[602], I[602] = I[603], I[603] = I[604], I[604] = I[605], I[605] = I[606], I[606] = I[607], I[607] = I[608], \
+ I[609] = I[610], I[610] = I[611], I[611] = I[612], I[612] = I[613], I[613] = I[614], I[614] = I[615], I[615] = I[616], I[616] = I[617], I[617] = I[618], I[618] = I[619], I[619] = I[620], I[620] = I[621], I[621] = I[622], I[622] = I[623], I[623] = I[624], I[624] = I[625], I[625] = I[626], I[626] = I[627], I[627] = I[628], I[628] = I[629], I[629] = I[630], I[630] = I[631], I[631] = I[632], I[632] = I[633], I[633] = I[634], I[634] = I[635], I[635] = I[636], I[636] = I[637], \
+ I[638] = I[639], I[639] = I[640], I[640] = I[641], I[641] = I[642], I[642] = I[643], I[643] = I[644], I[644] = I[645], I[645] = I[646], I[646] = I[647], I[647] = I[648], I[648] = I[649], I[649] = I[650], I[650] = I[651], I[651] = I[652], I[652] = I[653], I[653] = I[654], I[654] = I[655], I[655] = I[656], I[656] = I[657], I[657] = I[658], I[658] = I[659], I[659] = I[660], I[660] = I[661], I[661] = I[662], I[662] = I[663], I[663] = I[664], I[664] = I[665], I[665] = I[666], \
+ I[667] = I[668], I[668] = I[669], I[669] = I[670], I[670] = I[671], I[671] = I[672], I[672] = I[673], I[673] = I[674], I[674] = I[675], I[675] = I[676], I[676] = I[677], I[677] = I[678], I[678] = I[679], I[679] = I[680], I[680] = I[681], I[681] = I[682], I[682] = I[683], I[683] = I[684], I[684] = I[685], I[685] = I[686], I[686] = I[687], I[687] = I[688], I[688] = I[689], I[689] = I[690], I[690] = I[691], I[691] = I[692], I[692] = I[693], I[693] = I[694], I[694] = I[695], \
+ I[696] = I[697], I[697] = I[698], I[698] = I[699], I[699] = I[700], I[700] = I[701], I[701] = I[702], I[702] = I[703], I[703] = I[704], I[704] = I[705], I[705] = I[706], I[706] = I[707], I[707] = I[708], I[708] = I[709], I[709] = I[710], I[710] = I[711], I[711] = I[712], I[712] = I[713], I[713] = I[714], I[714] = I[715], I[715] = I[716], I[716] = I[717], I[717] = I[718], I[718] = I[719], I[719] = I[720], I[720] = I[721], I[721] = I[722], I[722] = I[723], I[723] = I[724], \
+ I[725] = I[726], I[726] = I[727], I[727] = I[728], I[728] = I[729], I[729] = I[730], I[730] = I[731], I[731] = I[732], I[732] = I[733], I[733] = I[734], I[734] = I[735], I[735] = I[736], I[736] = I[737], I[737] = I[738], I[738] = I[739], I[739] = I[740], I[740] = I[741], I[741] = I[742], I[742] = I[743], I[743] = I[744], I[744] = I[745], I[745] = I[746], I[746] = I[747], I[747] = I[748], I[748] = I[749], I[749] = I[750], I[750] = I[751], I[751] = I[752], I[752] = I[753], \
+ I[754] = I[755], I[755] = I[756], I[756] = I[757], I[757] = I[758], I[758] = I[759], I[759] = I[760], I[760] = I[761], I[761] = I[762], I[762] = I[763], I[763] = I[764], I[764] = I[765], I[765] = I[766], I[766] = I[767], I[767] = I[768], I[768] = I[769], I[769] = I[770], I[770] = I[771], I[771] = I[772], I[772] = I[773], I[773] = I[774], I[774] = I[775], I[775] = I[776], I[776] = I[777], I[777] = I[778], I[778] = I[779], I[779] = I[780], I[780] = I[781], I[781] = I[782], \
+ I[783] = I[784], I[784] = I[785], I[785] = I[786], I[786] = I[787], I[787] = I[788], I[788] = I[789], I[789] = I[790], I[790] = I[791], I[791] = I[792], I[792] = I[793], I[793] = I[794], I[794] = I[795], I[795] = I[796], I[796] = I[797], I[797] = I[798], I[798] = I[799], I[799] = I[800], I[800] = I[801], I[801] = I[802], I[802] = I[803], I[803] = I[804], I[804] = I[805], I[805] = I[806], I[806] = I[807], I[807] = I[808], I[808] = I[809], I[809] = I[810], I[810] = I[811], \
+ I[812] = I[813], I[813] = I[814], I[814] = I[815], I[815] = I[816], I[816] = I[817], I[817] = I[818], I[818] = I[819], I[819] = I[820], I[820] = I[821], I[821] = I[822], I[822] = I[823], I[823] = I[824], I[824] = I[825], I[825] = I[826], I[826] = I[827], I[827] = I[828], I[828] = I[829], I[829] = I[830], I[830] = I[831], I[831] = I[832], I[832] = I[833], I[833] = I[834], I[834] = I[835], I[835] = I[836], I[836] = I[837], I[837] = I[838], I[838] = I[839], I[839] = I[840], \
+ _p14##x = _p13##x, _p13##x = _p12##x, _p12##x = _p11##x, _p11##x = _p10##x, _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x, ++_n12##x, ++_n13##x, ++_n14##x)
+
+#define cimg_get29x29(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p14##x,_p14##y,z,c), I[1] = (T)(img)(_p13##x,_p14##y,z,c), I[2] = (T)(img)(_p12##x,_p14##y,z,c), I[3] = (T)(img)(_p11##x,_p14##y,z,c), I[4] = (T)(img)(_p10##x,_p14##y,z,c), I[5] = (T)(img)(_p9##x,_p14##y,z,c), I[6] = (T)(img)(_p8##x,_p14##y,z,c), I[7] = (T)(img)(_p7##x,_p14##y,z,c), I[8] = (T)(img)(_p6##x,_p14##y,z,c), I[9] = (T)(img)(_p5##x,_p14##y,z,c), I[10] = (T)(img)(_p4##x,_p14##y,z,c), I[11] = (T)(img)(_p3##x,_p14##y,z,c), I[12] = (T)(img)(_p2##x,_p14##y,z,c), I[ [...]
+ I[29] = (T)(img)(_p14##x,_p13##y,z,c), I[30] = (T)(img)(_p13##x,_p13##y,z,c), I[31] = (T)(img)(_p12##x,_p13##y,z,c), I[32] = (T)(img)(_p11##x,_p13##y,z,c), I[33] = (T)(img)(_p10##x,_p13##y,z,c), I[34] = (T)(img)(_p9##x,_p13##y,z,c), I[35] = (T)(img)(_p8##x,_p13##y,z,c), I[36] = (T)(img)(_p7##x,_p13##y,z,c), I[37] = (T)(img)(_p6##x,_p13##y,z,c), I[38] = (T)(img)(_p5##x,_p13##y,z,c), I[39] = (T)(img)(_p4##x,_p13##y,z,c), I[40] = (T)(img)(_p3##x,_p13##y,z,c), I[41] = (T)(img)(_p2##x,_p13## [...]
+ I[58] = (T)(img)(_p14##x,_p12##y,z,c), I[59] = (T)(img)(_p13##x,_p12##y,z,c), I[60] = (T)(img)(_p12##x,_p12##y,z,c), I[61] = (T)(img)(_p11##x,_p12##y,z,c), I[62] = (T)(img)(_p10##x,_p12##y,z,c), I[63] = (T)(img)(_p9##x,_p12##y,z,c), I[64] = (T)(img)(_p8##x,_p12##y,z,c), I[65] = (T)(img)(_p7##x,_p12##y,z,c), I[66] = (T)(img)(_p6##x,_p12##y,z,c), I[67] = (T)(img)(_p5##x,_p12##y,z,c), I[68] = (T)(img)(_p4##x,_p12##y,z,c), I[69] = (T)(img)(_p3##x,_p12##y,z,c), I[70] = (T)(img)(_p2##x,_p12## [...]
+ I[87] = (T)(img)(_p14##x,_p11##y,z,c), I[88] = (T)(img)(_p13##x,_p11##y,z,c), I[89] = (T)(img)(_p12##x,_p11##y,z,c), I[90] = (T)(img)(_p11##x,_p11##y,z,c), I[91] = (T)(img)(_p10##x,_p11##y,z,c), I[92] = (T)(img)(_p9##x,_p11##y,z,c), I[93] = (T)(img)(_p8##x,_p11##y,z,c), I[94] = (T)(img)(_p7##x,_p11##y,z,c), I[95] = (T)(img)(_p6##x,_p11##y,z,c), I[96] = (T)(img)(_p5##x,_p11##y,z,c), I[97] = (T)(img)(_p4##x,_p11##y,z,c), I[98] = (T)(img)(_p3##x,_p11##y,z,c), I[99] = (T)(img)(_p2##x,_p11## [...]
+ I[116] = (T)(img)(_p14##x,_p10##y,z,c), I[117] = (T)(img)(_p13##x,_p10##y,z,c), I[118] = (T)(img)(_p12##x,_p10##y,z,c), I[119] = (T)(img)(_p11##x,_p10##y,z,c), I[120] = (T)(img)(_p10##x,_p10##y,z,c), I[121] = (T)(img)(_p9##x,_p10##y,z,c), I[122] = (T)(img)(_p8##x,_p10##y,z,c), I[123] = (T)(img)(_p7##x,_p10##y,z,c), I[124] = (T)(img)(_p6##x,_p10##y,z,c), I[125] = (T)(img)(_p5##x,_p10##y,z,c), I[126] = (T)(img)(_p4##x,_p10##y,z,c), I[127] = (T)(img)(_p3##x,_p10##y,z,c), I[128] = (T)(img)( [...]
+ I[145] = (T)(img)(_p14##x,_p9##y,z,c), I[146] = (T)(img)(_p13##x,_p9##y,z,c), I[147] = (T)(img)(_p12##x,_p9##y,z,c), I[148] = (T)(img)(_p11##x,_p9##y,z,c), I[149] = (T)(img)(_p10##x,_p9##y,z,c), I[150] = (T)(img)(_p9##x,_p9##y,z,c), I[151] = (T)(img)(_p8##x,_p9##y,z,c), I[152] = (T)(img)(_p7##x,_p9##y,z,c), I[153] = (T)(img)(_p6##x,_p9##y,z,c), I[154] = (T)(img)(_p5##x,_p9##y,z,c), I[155] = (T)(img)(_p4##x,_p9##y,z,c), I[156] = (T)(img)(_p3##x,_p9##y,z,c), I[157] = (T)(img)(_p2##x,_p9## [...]
+ I[174] = (T)(img)(_p14##x,_p8##y,z,c), I[175] = (T)(img)(_p13##x,_p8##y,z,c), I[176] = (T)(img)(_p12##x,_p8##y,z,c), I[177] = (T)(img)(_p11##x,_p8##y,z,c), I[178] = (T)(img)(_p10##x,_p8##y,z,c), I[179] = (T)(img)(_p9##x,_p8##y,z,c), I[180] = (T)(img)(_p8##x,_p8##y,z,c), I[181] = (T)(img)(_p7##x,_p8##y,z,c), I[182] = (T)(img)(_p6##x,_p8##y,z,c), I[183] = (T)(img)(_p5##x,_p8##y,z,c), I[184] = (T)(img)(_p4##x,_p8##y,z,c), I[185] = (T)(img)(_p3##x,_p8##y,z,c), I[186] = (T)(img)(_p2##x,_p8## [...]
+ I[203] = (T)(img)(_p14##x,_p7##y,z,c), I[204] = (T)(img)(_p13##x,_p7##y,z,c), I[205] = (T)(img)(_p12##x,_p7##y,z,c), I[206] = (T)(img)(_p11##x,_p7##y,z,c), I[207] = (T)(img)(_p10##x,_p7##y,z,c), I[208] = (T)(img)(_p9##x,_p7##y,z,c), I[209] = (T)(img)(_p8##x,_p7##y,z,c), I[210] = (T)(img)(_p7##x,_p7##y,z,c), I[211] = (T)(img)(_p6##x,_p7##y,z,c), I[212] = (T)(img)(_p5##x,_p7##y,z,c), I[213] = (T)(img)(_p4##x,_p7##y,z,c), I[214] = (T)(img)(_p3##x,_p7##y,z,c), I[215] = (T)(img)(_p2##x,_p7## [...]
+ I[232] = (T)(img)(_p14##x,_p6##y,z,c), I[233] = (T)(img)(_p13##x,_p6##y,z,c), I[234] = (T)(img)(_p12##x,_p6##y,z,c), I[235] = (T)(img)(_p11##x,_p6##y,z,c), I[236] = (T)(img)(_p10##x,_p6##y,z,c), I[237] = (T)(img)(_p9##x,_p6##y,z,c), I[238] = (T)(img)(_p8##x,_p6##y,z,c), I[239] = (T)(img)(_p7##x,_p6##y,z,c), I[240] = (T)(img)(_p6##x,_p6##y,z,c), I[241] = (T)(img)(_p5##x,_p6##y,z,c), I[242] = (T)(img)(_p4##x,_p6##y,z,c), I[243] = (T)(img)(_p3##x,_p6##y,z,c), I[244] = (T)(img)(_p2##x,_p6## [...]
+ I[261] = (T)(img)(_p14##x,_p5##y,z,c), I[262] = (T)(img)(_p13##x,_p5##y,z,c), I[263] = (T)(img)(_p12##x,_p5##y,z,c), I[264] = (T)(img)(_p11##x,_p5##y,z,c), I[265] = (T)(img)(_p10##x,_p5##y,z,c), I[266] = (T)(img)(_p9##x,_p5##y,z,c), I[267] = (T)(img)(_p8##x,_p5##y,z,c), I[268] = (T)(img)(_p7##x,_p5##y,z,c), I[269] = (T)(img)(_p6##x,_p5##y,z,c), I[270] = (T)(img)(_p5##x,_p5##y,z,c), I[271] = (T)(img)(_p4##x,_p5##y,z,c), I[272] = (T)(img)(_p3##x,_p5##y,z,c), I[273] = (T)(img)(_p2##x,_p5## [...]
+ I[290] = (T)(img)(_p14##x,_p4##y,z,c), I[291] = (T)(img)(_p13##x,_p4##y,z,c), I[292] = (T)(img)(_p12##x,_p4##y,z,c), I[293] = (T)(img)(_p11##x,_p4##y,z,c), I[294] = (T)(img)(_p10##x,_p4##y,z,c), I[295] = (T)(img)(_p9##x,_p4##y,z,c), I[296] = (T)(img)(_p8##x,_p4##y,z,c), I[297] = (T)(img)(_p7##x,_p4##y,z,c), I[298] = (T)(img)(_p6##x,_p4##y,z,c), I[299] = (T)(img)(_p5##x,_p4##y,z,c), I[300] = (T)(img)(_p4##x,_p4##y,z,c), I[301] = (T)(img)(_p3##x,_p4##y,z,c), I[302] = (T)(img)(_p2##x,_p4## [...]
+ I[319] = (T)(img)(_p14##x,_p3##y,z,c), I[320] = (T)(img)(_p13##x,_p3##y,z,c), I[321] = (T)(img)(_p12##x,_p3##y,z,c), I[322] = (T)(img)(_p11##x,_p3##y,z,c), I[323] = (T)(img)(_p10##x,_p3##y,z,c), I[324] = (T)(img)(_p9##x,_p3##y,z,c), I[325] = (T)(img)(_p8##x,_p3##y,z,c), I[326] = (T)(img)(_p7##x,_p3##y,z,c), I[327] = (T)(img)(_p6##x,_p3##y,z,c), I[328] = (T)(img)(_p5##x,_p3##y,z,c), I[329] = (T)(img)(_p4##x,_p3##y,z,c), I[330] = (T)(img)(_p3##x,_p3##y,z,c), I[331] = (T)(img)(_p2##x,_p3## [...]
+ I[348] = (T)(img)(_p14##x,_p2##y,z,c), I[349] = (T)(img)(_p13##x,_p2##y,z,c), I[350] = (T)(img)(_p12##x,_p2##y,z,c), I[351] = (T)(img)(_p11##x,_p2##y,z,c), I[352] = (T)(img)(_p10##x,_p2##y,z,c), I[353] = (T)(img)(_p9##x,_p2##y,z,c), I[354] = (T)(img)(_p8##x,_p2##y,z,c), I[355] = (T)(img)(_p7##x,_p2##y,z,c), I[356] = (T)(img)(_p6##x,_p2##y,z,c), I[357] = (T)(img)(_p5##x,_p2##y,z,c), I[358] = (T)(img)(_p4##x,_p2##y,z,c), I[359] = (T)(img)(_p3##x,_p2##y,z,c), I[360] = (T)(img)(_p2##x,_p2## [...]
+ I[377] = (T)(img)(_p14##x,_p1##y,z,c), I[378] = (T)(img)(_p13##x,_p1##y,z,c), I[379] = (T)(img)(_p12##x,_p1##y,z,c), I[380] = (T)(img)(_p11##x,_p1##y,z,c), I[381] = (T)(img)(_p10##x,_p1##y,z,c), I[382] = (T)(img)(_p9##x,_p1##y,z,c), I[383] = (T)(img)(_p8##x,_p1##y,z,c), I[384] = (T)(img)(_p7##x,_p1##y,z,c), I[385] = (T)(img)(_p6##x,_p1##y,z,c), I[386] = (T)(img)(_p5##x,_p1##y,z,c), I[387] = (T)(img)(_p4##x,_p1##y,z,c), I[388] = (T)(img)(_p3##x,_p1##y,z,c), I[389] = (T)(img)(_p2##x,_p1## [...]
+ I[406] = (T)(img)(_p14##x,y,z,c), I[407] = (T)(img)(_p13##x,y,z,c), I[408] = (T)(img)(_p12##x,y,z,c), I[409] = (T)(img)(_p11##x,y,z,c), I[410] = (T)(img)(_p10##x,y,z,c), I[411] = (T)(img)(_p9##x,y,z,c), I[412] = (T)(img)(_p8##x,y,z,c), I[413] = (T)(img)(_p7##x,y,z,c), I[414] = (T)(img)(_p6##x,y,z,c), I[415] = (T)(img)(_p5##x,y,z,c), I[416] = (T)(img)(_p4##x,y,z,c), I[417] = (T)(img)(_p3##x,y,z,c), I[418] = (T)(img)(_p2##x,y,z,c), I[419] = (T)(img)(_p1##x,y,z,c), I[420] = (T)(img)(x,y,z, [...]
+ I[435] = (T)(img)(_p14##x,_n1##y,z,c), I[436] = (T)(img)(_p13##x,_n1##y,z,c), I[437] = (T)(img)(_p12##x,_n1##y,z,c), I[438] = (T)(img)(_p11##x,_n1##y,z,c), I[439] = (T)(img)(_p10##x,_n1##y,z,c), I[440] = (T)(img)(_p9##x,_n1##y,z,c), I[441] = (T)(img)(_p8##x,_n1##y,z,c), I[442] = (T)(img)(_p7##x,_n1##y,z,c), I[443] = (T)(img)(_p6##x,_n1##y,z,c), I[444] = (T)(img)(_p5##x,_n1##y,z,c), I[445] = (T)(img)(_p4##x,_n1##y,z,c), I[446] = (T)(img)(_p3##x,_n1##y,z,c), I[447] = (T)(img)(_p2##x,_n1## [...]
+ I[464] = (T)(img)(_p14##x,_n2##y,z,c), I[465] = (T)(img)(_p13##x,_n2##y,z,c), I[466] = (T)(img)(_p12##x,_n2##y,z,c), I[467] = (T)(img)(_p11##x,_n2##y,z,c), I[468] = (T)(img)(_p10##x,_n2##y,z,c), I[469] = (T)(img)(_p9##x,_n2##y,z,c), I[470] = (T)(img)(_p8##x,_n2##y,z,c), I[471] = (T)(img)(_p7##x,_n2##y,z,c), I[472] = (T)(img)(_p6##x,_n2##y,z,c), I[473] = (T)(img)(_p5##x,_n2##y,z,c), I[474] = (T)(img)(_p4##x,_n2##y,z,c), I[475] = (T)(img)(_p3##x,_n2##y,z,c), I[476] = (T)(img)(_p2##x,_n2## [...]
+ I[493] = (T)(img)(_p14##x,_n3##y,z,c), I[494] = (T)(img)(_p13##x,_n3##y,z,c), I[495] = (T)(img)(_p12##x,_n3##y,z,c), I[496] = (T)(img)(_p11##x,_n3##y,z,c), I[497] = (T)(img)(_p10##x,_n3##y,z,c), I[498] = (T)(img)(_p9##x,_n3##y,z,c), I[499] = (T)(img)(_p8##x,_n3##y,z,c), I[500] = (T)(img)(_p7##x,_n3##y,z,c), I[501] = (T)(img)(_p6##x,_n3##y,z,c), I[502] = (T)(img)(_p5##x,_n3##y,z,c), I[503] = (T)(img)(_p4##x,_n3##y,z,c), I[504] = (T)(img)(_p3##x,_n3##y,z,c), I[505] = (T)(img)(_p2##x,_n3## [...]
+ I[522] = (T)(img)(_p14##x,_n4##y,z,c), I[523] = (T)(img)(_p13##x,_n4##y,z,c), I[524] = (T)(img)(_p12##x,_n4##y,z,c), I[525] = (T)(img)(_p11##x,_n4##y,z,c), I[526] = (T)(img)(_p10##x,_n4##y,z,c), I[527] = (T)(img)(_p9##x,_n4##y,z,c), I[528] = (T)(img)(_p8##x,_n4##y,z,c), I[529] = (T)(img)(_p7##x,_n4##y,z,c), I[530] = (T)(img)(_p6##x,_n4##y,z,c), I[531] = (T)(img)(_p5##x,_n4##y,z,c), I[532] = (T)(img)(_p4##x,_n4##y,z,c), I[533] = (T)(img)(_p3##x,_n4##y,z,c), I[534] = (T)(img)(_p2##x,_n4## [...]
+ I[551] = (T)(img)(_p14##x,_n5##y,z,c), I[552] = (T)(img)(_p13##x,_n5##y,z,c), I[553] = (T)(img)(_p12##x,_n5##y,z,c), I[554] = (T)(img)(_p11##x,_n5##y,z,c), I[555] = (T)(img)(_p10##x,_n5##y,z,c), I[556] = (T)(img)(_p9##x,_n5##y,z,c), I[557] = (T)(img)(_p8##x,_n5##y,z,c), I[558] = (T)(img)(_p7##x,_n5##y,z,c), I[559] = (T)(img)(_p6##x,_n5##y,z,c), I[560] = (T)(img)(_p5##x,_n5##y,z,c), I[561] = (T)(img)(_p4##x,_n5##y,z,c), I[562] = (T)(img)(_p3##x,_n5##y,z,c), I[563] = (T)(img)(_p2##x,_n5## [...]
+ I[580] = (T)(img)(_p14##x,_n6##y,z,c), I[581] = (T)(img)(_p13##x,_n6##y,z,c), I[582] = (T)(img)(_p12##x,_n6##y,z,c), I[583] = (T)(img)(_p11##x,_n6##y,z,c), I[584] = (T)(img)(_p10##x,_n6##y,z,c), I[585] = (T)(img)(_p9##x,_n6##y,z,c), I[586] = (T)(img)(_p8##x,_n6##y,z,c), I[587] = (T)(img)(_p7##x,_n6##y,z,c), I[588] = (T)(img)(_p6##x,_n6##y,z,c), I[589] = (T)(img)(_p5##x,_n6##y,z,c), I[590] = (T)(img)(_p4##x,_n6##y,z,c), I[591] = (T)(img)(_p3##x,_n6##y,z,c), I[592] = (T)(img)(_p2##x,_n6## [...]
+ I[609] = (T)(img)(_p14##x,_n7##y,z,c), I[610] = (T)(img)(_p13##x,_n7##y,z,c), I[611] = (T)(img)(_p12##x,_n7##y,z,c), I[612] = (T)(img)(_p11##x,_n7##y,z,c), I[613] = (T)(img)(_p10##x,_n7##y,z,c), I[614] = (T)(img)(_p9##x,_n7##y,z,c), I[615] = (T)(img)(_p8##x,_n7##y,z,c), I[616] = (T)(img)(_p7##x,_n7##y,z,c), I[617] = (T)(img)(_p6##x,_n7##y,z,c), I[618] = (T)(img)(_p5##x,_n7##y,z,c), I[619] = (T)(img)(_p4##x,_n7##y,z,c), I[620] = (T)(img)(_p3##x,_n7##y,z,c), I[621] = (T)(img)(_p2##x,_n7## [...]
+ I[638] = (T)(img)(_p14##x,_n8##y,z,c), I[639] = (T)(img)(_p13##x,_n8##y,z,c), I[640] = (T)(img)(_p12##x,_n8##y,z,c), I[641] = (T)(img)(_p11##x,_n8##y,z,c), I[642] = (T)(img)(_p10##x,_n8##y,z,c), I[643] = (T)(img)(_p9##x,_n8##y,z,c), I[644] = (T)(img)(_p8##x,_n8##y,z,c), I[645] = (T)(img)(_p7##x,_n8##y,z,c), I[646] = (T)(img)(_p6##x,_n8##y,z,c), I[647] = (T)(img)(_p5##x,_n8##y,z,c), I[648] = (T)(img)(_p4##x,_n8##y,z,c), I[649] = (T)(img)(_p3##x,_n8##y,z,c), I[650] = (T)(img)(_p2##x,_n8## [...]
+ I[667] = (T)(img)(_p14##x,_n9##y,z,c), I[668] = (T)(img)(_p13##x,_n9##y,z,c), I[669] = (T)(img)(_p12##x,_n9##y,z,c), I[670] = (T)(img)(_p11##x,_n9##y,z,c), I[671] = (T)(img)(_p10##x,_n9##y,z,c), I[672] = (T)(img)(_p9##x,_n9##y,z,c), I[673] = (T)(img)(_p8##x,_n9##y,z,c), I[674] = (T)(img)(_p7##x,_n9##y,z,c), I[675] = (T)(img)(_p6##x,_n9##y,z,c), I[676] = (T)(img)(_p5##x,_n9##y,z,c), I[677] = (T)(img)(_p4##x,_n9##y,z,c), I[678] = (T)(img)(_p3##x,_n9##y,z,c), I[679] = (T)(img)(_p2##x,_n9## [...]
+ I[696] = (T)(img)(_p14##x,_n10##y,z,c), I[697] = (T)(img)(_p13##x,_n10##y,z,c), I[698] = (T)(img)(_p12##x,_n10##y,z,c), I[699] = (T)(img)(_p11##x,_n10##y,z,c), I[700] = (T)(img)(_p10##x,_n10##y,z,c), I[701] = (T)(img)(_p9##x,_n10##y,z,c), I[702] = (T)(img)(_p8##x,_n10##y,z,c), I[703] = (T)(img)(_p7##x,_n10##y,z,c), I[704] = (T)(img)(_p6##x,_n10##y,z,c), I[705] = (T)(img)(_p5##x,_n10##y,z,c), I[706] = (T)(img)(_p4##x,_n10##y,z,c), I[707] = (T)(img)(_p3##x,_n10##y,z,c), I[708] = (T)(img)( [...]
+ I[725] = (T)(img)(_p14##x,_n11##y,z,c), I[726] = (T)(img)(_p13##x,_n11##y,z,c), I[727] = (T)(img)(_p12##x,_n11##y,z,c), I[728] = (T)(img)(_p11##x,_n11##y,z,c), I[729] = (T)(img)(_p10##x,_n11##y,z,c), I[730] = (T)(img)(_p9##x,_n11##y,z,c), I[731] = (T)(img)(_p8##x,_n11##y,z,c), I[732] = (T)(img)(_p7##x,_n11##y,z,c), I[733] = (T)(img)(_p6##x,_n11##y,z,c), I[734] = (T)(img)(_p5##x,_n11##y,z,c), I[735] = (T)(img)(_p4##x,_n11##y,z,c), I[736] = (T)(img)(_p3##x,_n11##y,z,c), I[737] = (T)(img)( [...]
+ I[754] = (T)(img)(_p14##x,_n12##y,z,c), I[755] = (T)(img)(_p13##x,_n12##y,z,c), I[756] = (T)(img)(_p12##x,_n12##y,z,c), I[757] = (T)(img)(_p11##x,_n12##y,z,c), I[758] = (T)(img)(_p10##x,_n12##y,z,c), I[759] = (T)(img)(_p9##x,_n12##y,z,c), I[760] = (T)(img)(_p8##x,_n12##y,z,c), I[761] = (T)(img)(_p7##x,_n12##y,z,c), I[762] = (T)(img)(_p6##x,_n12##y,z,c), I[763] = (T)(img)(_p5##x,_n12##y,z,c), I[764] = (T)(img)(_p4##x,_n12##y,z,c), I[765] = (T)(img)(_p3##x,_n12##y,z,c), I[766] = (T)(img)( [...]
+ I[783] = (T)(img)(_p14##x,_n13##y,z,c), I[784] = (T)(img)(_p13##x,_n13##y,z,c), I[785] = (T)(img)(_p12##x,_n13##y,z,c), I[786] = (T)(img)(_p11##x,_n13##y,z,c), I[787] = (T)(img)(_p10##x,_n13##y,z,c), I[788] = (T)(img)(_p9##x,_n13##y,z,c), I[789] = (T)(img)(_p8##x,_n13##y,z,c), I[790] = (T)(img)(_p7##x,_n13##y,z,c), I[791] = (T)(img)(_p6##x,_n13##y,z,c), I[792] = (T)(img)(_p5##x,_n13##y,z,c), I[793] = (T)(img)(_p4##x,_n13##y,z,c), I[794] = (T)(img)(_p3##x,_n13##y,z,c), I[795] = (T)(img)( [...]
+ I[812] = (T)(img)(_p14##x,_n14##y,z,c), I[813] = (T)(img)(_p13##x,_n14##y,z,c), I[814] = (T)(img)(_p12##x,_n14##y,z,c), I[815] = (T)(img)(_p11##x,_n14##y,z,c), I[816] = (T)(img)(_p10##x,_n14##y,z,c), I[817] = (T)(img)(_p9##x,_n14##y,z,c), I[818] = (T)(img)(_p8##x,_n14##y,z,c), I[819] = (T)(img)(_p7##x,_n14##y,z,c), I[820] = (T)(img)(_p6##x,_n14##y,z,c), I[821] = (T)(img)(_p5##x,_n14##y,z,c), I[822] = (T)(img)(_p4##x,_n14##y,z,c), I[823] = (T)(img)(_p3##x,_n14##y,z,c), I[824] = (T)(img)( [...]
+
+// Define 30x30 loop macros
+//-------------------------
+#define cimg_for30(bound,i) for (int i = 0, \
+ _p14##i = 0, _p13##i = 0, _p12##i = 0, _p11##i = 0, _p10##i = 0, _p9##i = 0, _p8##i = 0, _p7##i = 0, _p6##i = 0, _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5, \
+ _n6##i = 6>=(int)(bound)?(int)(bound) - 1:6, \
+ _n7##i = 7>=(int)(bound)?(int)(bound) - 1:7, \
+ _n8##i = 8>=(int)(bound)?(int)(bound) - 1:8, \
+ _n9##i = 9>=(int)(bound)?(int)(bound) - 1:9, \
+ _n10##i = 10>=(int)(bound)?(int)(bound) - 1:10, \
+ _n11##i = 11>=(int)(bound)?(int)(bound) - 1:11, \
+ _n12##i = 12>=(int)(bound)?(int)(bound) - 1:12, \
+ _n13##i = 13>=(int)(bound)?(int)(bound) - 1:13, \
+ _n14##i = 14>=(int)(bound)?(int)(bound) - 1:14, \
+ _n15##i = 15>=(int)(bound)?(int)(bound) - 1:15; \
+ _n15##i<(int)(bound) || _n14##i==--_n15##i || _n13##i==--_n14##i || _n12##i==--_n13##i || _n11##i==--_n12##i || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n15##i = _n14##i = _n13##i = _n12##i = _n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p14##i = _p13##i, _p13##i = _p12##i, _p12##i = _p11##i, _p11##i = _p10##i, _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i, ++_n12##i, ++_n13##i, ++_n14##i, ++_n15##i)
+
+#define cimg_for30X(img,x) cimg_for30((img)._width,x)
+#define cimg_for30Y(img,y) cimg_for30((img)._height,y)
+#define cimg_for30Z(img,z) cimg_for30((img)._depth,z)
+#define cimg_for30C(img,c) cimg_for30((img)._spectrum,c)
+#define cimg_for30XY(img,x,y) cimg_for30Y(img,y) cimg_for30X(img,x)
+#define cimg_for30XZ(img,x,z) cimg_for30Z(img,z) cimg_for30X(img,x)
+#define cimg_for30XC(img,x,c) cimg_for30C(img,c) cimg_for30X(img,x)
+#define cimg_for30YZ(img,y,z) cimg_for30Z(img,z) cimg_for30Y(img,y)
+#define cimg_for30YC(img,y,c) cimg_for30C(img,c) cimg_for30Y(img,y)
+#define cimg_for30ZC(img,z,c) cimg_for30C(img,c) cimg_for30Z(img,z)
+#define cimg_for30XYZ(img,x,y,z) cimg_for30Z(img,z) cimg_for30XY(img,x,y)
+#define cimg_for30XZC(img,x,z,c) cimg_for30C(img,c) cimg_for30XZ(img,x,z)
+#define cimg_for30YZC(img,y,z,c) cimg_for30C(img,c) cimg_for30YZ(img,y,z)
+#define cimg_for30XYZC(img,x,y,z,c) cimg_for30C(img,c) cimg_for30XYZ(img,x,y,z)
+
+#define cimg_for_in30(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p14##i = i - 14<0?0:i - 14, \
+ _p13##i = i - 13<0?0:i - 13, \
+ _p12##i = i - 12<0?0:i - 12, \
+ _p11##i = i - 11<0?0:i - 11, \
+ _p10##i = i - 10<0?0:i - 10, \
+ _p9##i = i - 9<0?0:i - 9, \
+ _p8##i = i - 8<0?0:i - 8, \
+ _p7##i = i - 7<0?0:i - 7, \
+ _p6##i = i - 6<0?0:i - 6, \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5, \
+ _n6##i = i + 6>=(int)(bound)?(int)(bound) - 1:i + 6, \
+ _n7##i = i + 7>=(int)(bound)?(int)(bound) - 1:i + 7, \
+ _n8##i = i + 8>=(int)(bound)?(int)(bound) - 1:i + 8, \
+ _n9##i = i + 9>=(int)(bound)?(int)(bound) - 1:i + 9, \
+ _n10##i = i + 10>=(int)(bound)?(int)(bound) - 1:i + 10, \
+ _n11##i = i + 11>=(int)(bound)?(int)(bound) - 1:i + 11, \
+ _n12##i = i + 12>=(int)(bound)?(int)(bound) - 1:i + 12, \
+ _n13##i = i + 13>=(int)(bound)?(int)(bound) - 1:i + 13, \
+ _n14##i = i + 14>=(int)(bound)?(int)(bound) - 1:i + 14, \
+ _n15##i = i + 15>=(int)(bound)?(int)(bound) - 1:i + 15; \
+ i<=(int)(i1) && (_n15##i<(int)(bound) || _n14##i==--_n15##i || _n13##i==--_n14##i || _n12##i==--_n13##i || _n11##i==--_n12##i || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n15##i = _n14##i = _n13##i = _n12##i = _n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p14##i = _p13##i, _p13##i = _p12##i, _p12##i = _p11##i, _p11##i = _p10##i, _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i, ++_n12##i, ++_n13##i, ++_n14##i, ++_n15##i)
+
+#define cimg_for_in30X(img,x0,x1,x) cimg_for_in30((img)._width,x0,x1,x)
+#define cimg_for_in30Y(img,y0,y1,y) cimg_for_in30((img)._height,y0,y1,y)
+#define cimg_for_in30Z(img,z0,z1,z) cimg_for_in30((img)._depth,z0,z1,z)
+#define cimg_for_in30C(img,c0,c1,c) cimg_for_in30((img)._spectrum,c0,c1,c)
+#define cimg_for_in30XY(img,x0,y0,x1,y1,x,y) cimg_for_in30Y(img,y0,y1,y) cimg_for_in30X(img,x0,x1,x)
+#define cimg_for_in30XZ(img,x0,z0,x1,z1,x,z) cimg_for_in30Z(img,z0,z1,z) cimg_for_in30X(img,x0,x1,x)
+#define cimg_for_in30XC(img,x0,c0,x1,c1,x,c) cimg_for_in30C(img,c0,c1,c) cimg_for_in30X(img,x0,x1,x)
+#define cimg_for_in30YZ(img,y0,z0,y1,z1,y,z) cimg_for_in30Z(img,z0,z1,z) cimg_for_in30Y(img,y0,y1,y)
+#define cimg_for_in30YC(img,y0,c0,y1,c1,y,c) cimg_for_in30C(img,c0,c1,c) cimg_for_in30Y(img,y0,y1,y)
+#define cimg_for_in30ZC(img,z0,c0,z1,c1,z,c) cimg_for_in30C(img,c0,c1,c) cimg_for_in30Z(img,z0,z1,z)
+#define cimg_for_in30XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in30Z(img,z0,z1,z) cimg_for_in30XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in30XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in30C(img,c0,c1,c) cimg_for_in30XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in30YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in30C(img,c0,c1,c) cimg_for_in30YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in30XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in30C(img,c0,c1,c) cimg_for_in30XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for30x30(img,x,y,z,c,I,T) \
+ cimg_for30((img)._height,y) for (int x = 0, \
+ _p14##x = 0, _p13##x = 0, _p12##x = 0, _p11##x = 0, _p10##x = 0, _p9##x = 0, _p8##x = 0, _p7##x = 0, _p6##x = 0, _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = 5>=((img)._width)?(img).width() - 1:5, \
+ _n6##x = 6>=((img)._width)?(img).width() - 1:6, \
+ _n7##x = 7>=((img)._width)?(img).width() - 1:7, \
+ _n8##x = 8>=((img)._width)?(img).width() - 1:8, \
+ _n9##x = 9>=((img)._width)?(img).width() - 1:9, \
+ _n10##x = 10>=((img)._width)?(img).width() - 1:10, \
+ _n11##x = 11>=((img)._width)?(img).width() - 1:11, \
+ _n12##x = 12>=((img)._width)?(img).width() - 1:12, \
+ _n13##x = 13>=((img)._width)?(img).width() - 1:13, \
+ _n14##x = 14>=((img)._width)?(img).width() - 1:14, \
+ _n15##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = I[6] = I[7] = I[8] = I[9] = I[10] = I[11] = I[12] = I[13] = I[14] = (T)(img)(0,_p14##y,z,c)), \
+ (I[30] = I[31] = I[32] = I[33] = I[34] = I[35] = I[36] = I[37] = I[38] = I[39] = I[40] = I[41] = I[42] = I[43] = I[44] = (T)(img)(0,_p13##y,z,c)), \
+ (I[60] = I[61] = I[62] = I[63] = I[64] = I[65] = I[66] = I[67] = I[68] = I[69] = I[70] = I[71] = I[72] = I[73] = I[74] = (T)(img)(0,_p12##y,z,c)), \
+ (I[90] = I[91] = I[92] = I[93] = I[94] = I[95] = I[96] = I[97] = I[98] = I[99] = I[100] = I[101] = I[102] = I[103] = I[104] = (T)(img)(0,_p11##y,z,c)), \
+ (I[120] = I[121] = I[122] = I[123] = I[124] = I[125] = I[126] = I[127] = I[128] = I[129] = I[130] = I[131] = I[132] = I[133] = I[134] = (T)(img)(0,_p10##y,z,c)), \
+ (I[150] = I[151] = I[152] = I[153] = I[154] = I[155] = I[156] = I[157] = I[158] = I[159] = I[160] = I[161] = I[162] = I[163] = I[164] = (T)(img)(0,_p9##y,z,c)), \
+ (I[180] = I[181] = I[182] = I[183] = I[184] = I[185] = I[186] = I[187] = I[188] = I[189] = I[190] = I[191] = I[192] = I[193] = I[194] = (T)(img)(0,_p8##y,z,c)), \
+ (I[210] = I[211] = I[212] = I[213] = I[214] = I[215] = I[216] = I[217] = I[218] = I[219] = I[220] = I[221] = I[222] = I[223] = I[224] = (T)(img)(0,_p7##y,z,c)), \
+ (I[240] = I[241] = I[242] = I[243] = I[244] = I[245] = I[246] = I[247] = I[248] = I[249] = I[250] = I[251] = I[252] = I[253] = I[254] = (T)(img)(0,_p6##y,z,c)), \
+ (I[270] = I[271] = I[272] = I[273] = I[274] = I[275] = I[276] = I[277] = I[278] = I[279] = I[280] = I[281] = I[282] = I[283] = I[284] = (T)(img)(0,_p5##y,z,c)), \
+ (I[300] = I[301] = I[302] = I[303] = I[304] = I[305] = I[306] = I[307] = I[308] = I[309] = I[310] = I[311] = I[312] = I[313] = I[314] = (T)(img)(0,_p4##y,z,c)), \
+ (I[330] = I[331] = I[332] = I[333] = I[334] = I[335] = I[336] = I[337] = I[338] = I[339] = I[340] = I[341] = I[342] = I[343] = I[344] = (T)(img)(0,_p3##y,z,c)), \
+ (I[360] = I[361] = I[362] = I[363] = I[364] = I[365] = I[366] = I[367] = I[368] = I[369] = I[370] = I[371] = I[372] = I[373] = I[374] = (T)(img)(0,_p2##y,z,c)), \
+ (I[390] = I[391] = I[392] = I[393] = I[394] = I[395] = I[396] = I[397] = I[398] = I[399] = I[400] = I[401] = I[402] = I[403] = I[404] = (T)(img)(0,_p1##y,z,c)), \
+ (I[420] = I[421] = I[422] = I[423] = I[424] = I[425] = I[426] = I[427] = I[428] = I[429] = I[430] = I[431] = I[432] = I[433] = I[434] = (T)(img)(0,y,z,c)), \
+ (I[450] = I[451] = I[452] = I[453] = I[454] = I[455] = I[456] = I[457] = I[458] = I[459] = I[460] = I[461] = I[462] = I[463] = I[464] = (T)(img)(0,_n1##y,z,c)), \
+ (I[480] = I[481] = I[482] = I[483] = I[484] = I[485] = I[486] = I[487] = I[488] = I[489] = I[490] = I[491] = I[492] = I[493] = I[494] = (T)(img)(0,_n2##y,z,c)), \
+ (I[510] = I[511] = I[512] = I[513] = I[514] = I[515] = I[516] = I[517] = I[518] = I[519] = I[520] = I[521] = I[522] = I[523] = I[524] = (T)(img)(0,_n3##y,z,c)), \
+ (I[540] = I[541] = I[542] = I[543] = I[544] = I[545] = I[546] = I[547] = I[548] = I[549] = I[550] = I[551] = I[552] = I[553] = I[554] = (T)(img)(0,_n4##y,z,c)), \
+ (I[570] = I[571] = I[572] = I[573] = I[574] = I[575] = I[576] = I[577] = I[578] = I[579] = I[580] = I[581] = I[582] = I[583] = I[584] = (T)(img)(0,_n5##y,z,c)), \
+ (I[600] = I[601] = I[602] = I[603] = I[604] = I[605] = I[606] = I[607] = I[608] = I[609] = I[610] = I[611] = I[612] = I[613] = I[614] = (T)(img)(0,_n6##y,z,c)), \
+ (I[630] = I[631] = I[632] = I[633] = I[634] = I[635] = I[636] = I[637] = I[638] = I[639] = I[640] = I[641] = I[642] = I[643] = I[644] = (T)(img)(0,_n7##y,z,c)), \
+ (I[660] = I[661] = I[662] = I[663] = I[664] = I[665] = I[666] = I[667] = I[668] = I[669] = I[670] = I[671] = I[672] = I[673] = I[674] = (T)(img)(0,_n8##y,z,c)), \
+ (I[690] = I[691] = I[692] = I[693] = I[694] = I[695] = I[696] = I[697] = I[698] = I[699] = I[700] = I[701] = I[702] = I[703] = I[704] = (T)(img)(0,_n9##y,z,c)), \
+ (I[720] = I[721] = I[722] = I[723] = I[724] = I[725] = I[726] = I[727] = I[728] = I[729] = I[730] = I[731] = I[732] = I[733] = I[734] = (T)(img)(0,_n10##y,z,c)), \
+ (I[750] = I[751] = I[752] = I[753] = I[754] = I[755] = I[756] = I[757] = I[758] = I[759] = I[760] = I[761] = I[762] = I[763] = I[764] = (T)(img)(0,_n11##y,z,c)), \
+ (I[780] = I[781] = I[782] = I[783] = I[784] = I[785] = I[786] = I[787] = I[788] = I[789] = I[790] = I[791] = I[792] = I[793] = I[794] = (T)(img)(0,_n12##y,z,c)), \
+ (I[810] = I[811] = I[812] = I[813] = I[814] = I[815] = I[816] = I[817] = I[818] = I[819] = I[820] = I[821] = I[822] = I[823] = I[824] = (T)(img)(0,_n13##y,z,c)), \
+ (I[840] = I[841] = I[842] = I[843] = I[844] = I[845] = I[846] = I[847] = I[848] = I[849] = I[850] = I[851] = I[852] = I[853] = I[854] = (T)(img)(0,_n14##y,z,c)), \
+ (I[870] = I[871] = I[872] = I[873] = I[874] = I[875] = I[876] = I[877] = I[878] = I[879] = I[880] = I[881] = I[882] = I[883] = I[884] = (T)(img)(0,_n15##y,z,c)), \
+ (I[15] = (T)(img)(_n1##x,_p14##y,z,c)), \
+ (I[45] = (T)(img)(_n1##x,_p13##y,z,c)), \
+ (I[75] = (T)(img)(_n1##x,_p12##y,z,c)), \
+ (I[105] = (T)(img)(_n1##x,_p11##y,z,c)), \
+ (I[135] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[165] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[195] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[225] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[255] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[285] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[315] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[345] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[375] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[405] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[435] = (T)(img)(_n1##x,y,z,c)), \
+ (I[465] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[495] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[525] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[555] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[585] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[615] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[645] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[675] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[705] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[735] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[765] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[795] = (T)(img)(_n1##x,_n12##y,z,c)), \
+ (I[825] = (T)(img)(_n1##x,_n13##y,z,c)), \
+ (I[855] = (T)(img)(_n1##x,_n14##y,z,c)), \
+ (I[885] = (T)(img)(_n1##x,_n15##y,z,c)), \
+ (I[16] = (T)(img)(_n2##x,_p14##y,z,c)), \
+ (I[46] = (T)(img)(_n2##x,_p13##y,z,c)), \
+ (I[76] = (T)(img)(_n2##x,_p12##y,z,c)), \
+ (I[106] = (T)(img)(_n2##x,_p11##y,z,c)), \
+ (I[136] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[166] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[196] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[226] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[256] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[286] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[316] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[346] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[376] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[406] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[436] = (T)(img)(_n2##x,y,z,c)), \
+ (I[466] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[496] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[526] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[556] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[586] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[616] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[646] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[676] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[706] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[736] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[766] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[796] = (T)(img)(_n2##x,_n12##y,z,c)), \
+ (I[826] = (T)(img)(_n2##x,_n13##y,z,c)), \
+ (I[856] = (T)(img)(_n2##x,_n14##y,z,c)), \
+ (I[886] = (T)(img)(_n2##x,_n15##y,z,c)), \
+ (I[17] = (T)(img)(_n3##x,_p14##y,z,c)), \
+ (I[47] = (T)(img)(_n3##x,_p13##y,z,c)), \
+ (I[77] = (T)(img)(_n3##x,_p12##y,z,c)), \
+ (I[107] = (T)(img)(_n3##x,_p11##y,z,c)), \
+ (I[137] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[167] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[197] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[227] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[257] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[287] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[317] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[347] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[377] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[407] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[437] = (T)(img)(_n3##x,y,z,c)), \
+ (I[467] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[497] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[527] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[557] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[587] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[617] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[647] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[677] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[707] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[737] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[767] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[797] = (T)(img)(_n3##x,_n12##y,z,c)), \
+ (I[827] = (T)(img)(_n3##x,_n13##y,z,c)), \
+ (I[857] = (T)(img)(_n3##x,_n14##y,z,c)), \
+ (I[887] = (T)(img)(_n3##x,_n15##y,z,c)), \
+ (I[18] = (T)(img)(_n4##x,_p14##y,z,c)), \
+ (I[48] = (T)(img)(_n4##x,_p13##y,z,c)), \
+ (I[78] = (T)(img)(_n4##x,_p12##y,z,c)), \
+ (I[108] = (T)(img)(_n4##x,_p11##y,z,c)), \
+ (I[138] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[168] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[198] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[228] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[258] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[288] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[318] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[348] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[378] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[408] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[438] = (T)(img)(_n4##x,y,z,c)), \
+ (I[468] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[498] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[528] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[558] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[588] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[618] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[648] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[678] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[708] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[738] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[768] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[798] = (T)(img)(_n4##x,_n12##y,z,c)), \
+ (I[828] = (T)(img)(_n4##x,_n13##y,z,c)), \
+ (I[858] = (T)(img)(_n4##x,_n14##y,z,c)), \
+ (I[888] = (T)(img)(_n4##x,_n15##y,z,c)), \
+ (I[19] = (T)(img)(_n5##x,_p14##y,z,c)), \
+ (I[49] = (T)(img)(_n5##x,_p13##y,z,c)), \
+ (I[79] = (T)(img)(_n5##x,_p12##y,z,c)), \
+ (I[109] = (T)(img)(_n5##x,_p11##y,z,c)), \
+ (I[139] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[169] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[199] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[229] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[259] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[289] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[319] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[349] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[379] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[409] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[439] = (T)(img)(_n5##x,y,z,c)), \
+ (I[469] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[499] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[529] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[559] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[589] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[619] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[649] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[679] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[709] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[739] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[769] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[799] = (T)(img)(_n5##x,_n12##y,z,c)), \
+ (I[829] = (T)(img)(_n5##x,_n13##y,z,c)), \
+ (I[859] = (T)(img)(_n5##x,_n14##y,z,c)), \
+ (I[889] = (T)(img)(_n5##x,_n15##y,z,c)), \
+ (I[20] = (T)(img)(_n6##x,_p14##y,z,c)), \
+ (I[50] = (T)(img)(_n6##x,_p13##y,z,c)), \
+ (I[80] = (T)(img)(_n6##x,_p12##y,z,c)), \
+ (I[110] = (T)(img)(_n6##x,_p11##y,z,c)), \
+ (I[140] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[170] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[200] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[230] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[260] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[290] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[320] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[350] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[380] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[410] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[440] = (T)(img)(_n6##x,y,z,c)), \
+ (I[470] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[500] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[530] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[560] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[590] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[620] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[650] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[680] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[710] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[740] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[770] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[800] = (T)(img)(_n6##x,_n12##y,z,c)), \
+ (I[830] = (T)(img)(_n6##x,_n13##y,z,c)), \
+ (I[860] = (T)(img)(_n6##x,_n14##y,z,c)), \
+ (I[890] = (T)(img)(_n6##x,_n15##y,z,c)), \
+ (I[21] = (T)(img)(_n7##x,_p14##y,z,c)), \
+ (I[51] = (T)(img)(_n7##x,_p13##y,z,c)), \
+ (I[81] = (T)(img)(_n7##x,_p12##y,z,c)), \
+ (I[111] = (T)(img)(_n7##x,_p11##y,z,c)), \
+ (I[141] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[171] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[201] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[231] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[261] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[291] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[321] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[351] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[381] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[411] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[441] = (T)(img)(_n7##x,y,z,c)), \
+ (I[471] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[501] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[531] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[561] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[591] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[621] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[651] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[681] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[711] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[741] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[771] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[801] = (T)(img)(_n7##x,_n12##y,z,c)), \
+ (I[831] = (T)(img)(_n7##x,_n13##y,z,c)), \
+ (I[861] = (T)(img)(_n7##x,_n14##y,z,c)), \
+ (I[891] = (T)(img)(_n7##x,_n15##y,z,c)), \
+ (I[22] = (T)(img)(_n8##x,_p14##y,z,c)), \
+ (I[52] = (T)(img)(_n8##x,_p13##y,z,c)), \
+ (I[82] = (T)(img)(_n8##x,_p12##y,z,c)), \
+ (I[112] = (T)(img)(_n8##x,_p11##y,z,c)), \
+ (I[142] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[172] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[202] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[232] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[262] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[292] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[322] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[352] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[382] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[412] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[442] = (T)(img)(_n8##x,y,z,c)), \
+ (I[472] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[502] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[532] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[562] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[592] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[622] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[652] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[682] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[712] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[742] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[772] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[802] = (T)(img)(_n8##x,_n12##y,z,c)), \
+ (I[832] = (T)(img)(_n8##x,_n13##y,z,c)), \
+ (I[862] = (T)(img)(_n8##x,_n14##y,z,c)), \
+ (I[892] = (T)(img)(_n8##x,_n15##y,z,c)), \
+ (I[23] = (T)(img)(_n9##x,_p14##y,z,c)), \
+ (I[53] = (T)(img)(_n9##x,_p13##y,z,c)), \
+ (I[83] = (T)(img)(_n9##x,_p12##y,z,c)), \
+ (I[113] = (T)(img)(_n9##x,_p11##y,z,c)), \
+ (I[143] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[173] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[203] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[233] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[263] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[293] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[323] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[353] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[383] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[413] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[443] = (T)(img)(_n9##x,y,z,c)), \
+ (I[473] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[503] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[533] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[563] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[593] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[623] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[653] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[683] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[713] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[743] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[773] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[803] = (T)(img)(_n9##x,_n12##y,z,c)), \
+ (I[833] = (T)(img)(_n9##x,_n13##y,z,c)), \
+ (I[863] = (T)(img)(_n9##x,_n14##y,z,c)), \
+ (I[893] = (T)(img)(_n9##x,_n15##y,z,c)), \
+ (I[24] = (T)(img)(_n10##x,_p14##y,z,c)), \
+ (I[54] = (T)(img)(_n10##x,_p13##y,z,c)), \
+ (I[84] = (T)(img)(_n10##x,_p12##y,z,c)), \
+ (I[114] = (T)(img)(_n10##x,_p11##y,z,c)), \
+ (I[144] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[174] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[204] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[234] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[264] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[294] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[324] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[354] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[384] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[414] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[444] = (T)(img)(_n10##x,y,z,c)), \
+ (I[474] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[504] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[534] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[564] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[594] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[624] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[654] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[684] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[714] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[744] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[774] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ (I[804] = (T)(img)(_n10##x,_n12##y,z,c)), \
+ (I[834] = (T)(img)(_n10##x,_n13##y,z,c)), \
+ (I[864] = (T)(img)(_n10##x,_n14##y,z,c)), \
+ (I[894] = (T)(img)(_n10##x,_n15##y,z,c)), \
+ (I[25] = (T)(img)(_n11##x,_p14##y,z,c)), \
+ (I[55] = (T)(img)(_n11##x,_p13##y,z,c)), \
+ (I[85] = (T)(img)(_n11##x,_p12##y,z,c)), \
+ (I[115] = (T)(img)(_n11##x,_p11##y,z,c)), \
+ (I[145] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[175] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[205] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[235] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[265] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[295] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[325] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[355] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[385] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[415] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[445] = (T)(img)(_n11##x,y,z,c)), \
+ (I[475] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[505] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[535] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[565] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[595] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[625] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[655] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[685] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[715] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[745] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[775] = (T)(img)(_n11##x,_n11##y,z,c)), \
+ (I[805] = (T)(img)(_n11##x,_n12##y,z,c)), \
+ (I[835] = (T)(img)(_n11##x,_n13##y,z,c)), \
+ (I[865] = (T)(img)(_n11##x,_n14##y,z,c)), \
+ (I[895] = (T)(img)(_n11##x,_n15##y,z,c)), \
+ (I[26] = (T)(img)(_n12##x,_p14##y,z,c)), \
+ (I[56] = (T)(img)(_n12##x,_p13##y,z,c)), \
+ (I[86] = (T)(img)(_n12##x,_p12##y,z,c)), \
+ (I[116] = (T)(img)(_n12##x,_p11##y,z,c)), \
+ (I[146] = (T)(img)(_n12##x,_p10##y,z,c)), \
+ (I[176] = (T)(img)(_n12##x,_p9##y,z,c)), \
+ (I[206] = (T)(img)(_n12##x,_p8##y,z,c)), \
+ (I[236] = (T)(img)(_n12##x,_p7##y,z,c)), \
+ (I[266] = (T)(img)(_n12##x,_p6##y,z,c)), \
+ (I[296] = (T)(img)(_n12##x,_p5##y,z,c)), \
+ (I[326] = (T)(img)(_n12##x,_p4##y,z,c)), \
+ (I[356] = (T)(img)(_n12##x,_p3##y,z,c)), \
+ (I[386] = (T)(img)(_n12##x,_p2##y,z,c)), \
+ (I[416] = (T)(img)(_n12##x,_p1##y,z,c)), \
+ (I[446] = (T)(img)(_n12##x,y,z,c)), \
+ (I[476] = (T)(img)(_n12##x,_n1##y,z,c)), \
+ (I[506] = (T)(img)(_n12##x,_n2##y,z,c)), \
+ (I[536] = (T)(img)(_n12##x,_n3##y,z,c)), \
+ (I[566] = (T)(img)(_n12##x,_n4##y,z,c)), \
+ (I[596] = (T)(img)(_n12##x,_n5##y,z,c)), \
+ (I[626] = (T)(img)(_n12##x,_n6##y,z,c)), \
+ (I[656] = (T)(img)(_n12##x,_n7##y,z,c)), \
+ (I[686] = (T)(img)(_n12##x,_n8##y,z,c)), \
+ (I[716] = (T)(img)(_n12##x,_n9##y,z,c)), \
+ (I[746] = (T)(img)(_n12##x,_n10##y,z,c)), \
+ (I[776] = (T)(img)(_n12##x,_n11##y,z,c)), \
+ (I[806] = (T)(img)(_n12##x,_n12##y,z,c)), \
+ (I[836] = (T)(img)(_n12##x,_n13##y,z,c)), \
+ (I[866] = (T)(img)(_n12##x,_n14##y,z,c)), \
+ (I[896] = (T)(img)(_n12##x,_n15##y,z,c)), \
+ (I[27] = (T)(img)(_n13##x,_p14##y,z,c)), \
+ (I[57] = (T)(img)(_n13##x,_p13##y,z,c)), \
+ (I[87] = (T)(img)(_n13##x,_p12##y,z,c)), \
+ (I[117] = (T)(img)(_n13##x,_p11##y,z,c)), \
+ (I[147] = (T)(img)(_n13##x,_p10##y,z,c)), \
+ (I[177] = (T)(img)(_n13##x,_p9##y,z,c)), \
+ (I[207] = (T)(img)(_n13##x,_p8##y,z,c)), \
+ (I[237] = (T)(img)(_n13##x,_p7##y,z,c)), \
+ (I[267] = (T)(img)(_n13##x,_p6##y,z,c)), \
+ (I[297] = (T)(img)(_n13##x,_p5##y,z,c)), \
+ (I[327] = (T)(img)(_n13##x,_p4##y,z,c)), \
+ (I[357] = (T)(img)(_n13##x,_p3##y,z,c)), \
+ (I[387] = (T)(img)(_n13##x,_p2##y,z,c)), \
+ (I[417] = (T)(img)(_n13##x,_p1##y,z,c)), \
+ (I[447] = (T)(img)(_n13##x,y,z,c)), \
+ (I[477] = (T)(img)(_n13##x,_n1##y,z,c)), \
+ (I[507] = (T)(img)(_n13##x,_n2##y,z,c)), \
+ (I[537] = (T)(img)(_n13##x,_n3##y,z,c)), \
+ (I[567] = (T)(img)(_n13##x,_n4##y,z,c)), \
+ (I[597] = (T)(img)(_n13##x,_n5##y,z,c)), \
+ (I[627] = (T)(img)(_n13##x,_n6##y,z,c)), \
+ (I[657] = (T)(img)(_n13##x,_n7##y,z,c)), \
+ (I[687] = (T)(img)(_n13##x,_n8##y,z,c)), \
+ (I[717] = (T)(img)(_n13##x,_n9##y,z,c)), \
+ (I[747] = (T)(img)(_n13##x,_n10##y,z,c)), \
+ (I[777] = (T)(img)(_n13##x,_n11##y,z,c)), \
+ (I[807] = (T)(img)(_n13##x,_n12##y,z,c)), \
+ (I[837] = (T)(img)(_n13##x,_n13##y,z,c)), \
+ (I[867] = (T)(img)(_n13##x,_n14##y,z,c)), \
+ (I[897] = (T)(img)(_n13##x,_n15##y,z,c)), \
+ (I[28] = (T)(img)(_n14##x,_p14##y,z,c)), \
+ (I[58] = (T)(img)(_n14##x,_p13##y,z,c)), \
+ (I[88] = (T)(img)(_n14##x,_p12##y,z,c)), \
+ (I[118] = (T)(img)(_n14##x,_p11##y,z,c)), \
+ (I[148] = (T)(img)(_n14##x,_p10##y,z,c)), \
+ (I[178] = (T)(img)(_n14##x,_p9##y,z,c)), \
+ (I[208] = (T)(img)(_n14##x,_p8##y,z,c)), \
+ (I[238] = (T)(img)(_n14##x,_p7##y,z,c)), \
+ (I[268] = (T)(img)(_n14##x,_p6##y,z,c)), \
+ (I[298] = (T)(img)(_n14##x,_p5##y,z,c)), \
+ (I[328] = (T)(img)(_n14##x,_p4##y,z,c)), \
+ (I[358] = (T)(img)(_n14##x,_p3##y,z,c)), \
+ (I[388] = (T)(img)(_n14##x,_p2##y,z,c)), \
+ (I[418] = (T)(img)(_n14##x,_p1##y,z,c)), \
+ (I[448] = (T)(img)(_n14##x,y,z,c)), \
+ (I[478] = (T)(img)(_n14##x,_n1##y,z,c)), \
+ (I[508] = (T)(img)(_n14##x,_n2##y,z,c)), \
+ (I[538] = (T)(img)(_n14##x,_n3##y,z,c)), \
+ (I[568] = (T)(img)(_n14##x,_n4##y,z,c)), \
+ (I[598] = (T)(img)(_n14##x,_n5##y,z,c)), \
+ (I[628] = (T)(img)(_n14##x,_n6##y,z,c)), \
+ (I[658] = (T)(img)(_n14##x,_n7##y,z,c)), \
+ (I[688] = (T)(img)(_n14##x,_n8##y,z,c)), \
+ (I[718] = (T)(img)(_n14##x,_n9##y,z,c)), \
+ (I[748] = (T)(img)(_n14##x,_n10##y,z,c)), \
+ (I[778] = (T)(img)(_n14##x,_n11##y,z,c)), \
+ (I[808] = (T)(img)(_n14##x,_n12##y,z,c)), \
+ (I[838] = (T)(img)(_n14##x,_n13##y,z,c)), \
+ (I[868] = (T)(img)(_n14##x,_n14##y,z,c)), \
+ (I[898] = (T)(img)(_n14##x,_n15##y,z,c)), \
+ 15>=((img)._width)?(img).width() - 1:15); \
+ (_n15##x<(img).width() && ( \
+ (I[29] = (T)(img)(_n15##x,_p14##y,z,c)), \
+ (I[59] = (T)(img)(_n15##x,_p13##y,z,c)), \
+ (I[89] = (T)(img)(_n15##x,_p12##y,z,c)), \
+ (I[119] = (T)(img)(_n15##x,_p11##y,z,c)), \
+ (I[149] = (T)(img)(_n15##x,_p10##y,z,c)), \
+ (I[179] = (T)(img)(_n15##x,_p9##y,z,c)), \
+ (I[209] = (T)(img)(_n15##x,_p8##y,z,c)), \
+ (I[239] = (T)(img)(_n15##x,_p7##y,z,c)), \
+ (I[269] = (T)(img)(_n15##x,_p6##y,z,c)), \
+ (I[299] = (T)(img)(_n15##x,_p5##y,z,c)), \
+ (I[329] = (T)(img)(_n15##x,_p4##y,z,c)), \
+ (I[359] = (T)(img)(_n15##x,_p3##y,z,c)), \
+ (I[389] = (T)(img)(_n15##x,_p2##y,z,c)), \
+ (I[419] = (T)(img)(_n15##x,_p1##y,z,c)), \
+ (I[449] = (T)(img)(_n15##x,y,z,c)), \
+ (I[479] = (T)(img)(_n15##x,_n1##y,z,c)), \
+ (I[509] = (T)(img)(_n15##x,_n2##y,z,c)), \
+ (I[539] = (T)(img)(_n15##x,_n3##y,z,c)), \
+ (I[569] = (T)(img)(_n15##x,_n4##y,z,c)), \
+ (I[599] = (T)(img)(_n15##x,_n5##y,z,c)), \
+ (I[629] = (T)(img)(_n15##x,_n6##y,z,c)), \
+ (I[659] = (T)(img)(_n15##x,_n7##y,z,c)), \
+ (I[689] = (T)(img)(_n15##x,_n8##y,z,c)), \
+ (I[719] = (T)(img)(_n15##x,_n9##y,z,c)), \
+ (I[749] = (T)(img)(_n15##x,_n10##y,z,c)), \
+ (I[779] = (T)(img)(_n15##x,_n11##y,z,c)), \
+ (I[809] = (T)(img)(_n15##x,_n12##y,z,c)), \
+ (I[839] = (T)(img)(_n15##x,_n13##y,z,c)), \
+ (I[869] = (T)(img)(_n15##x,_n14##y,z,c)), \
+ (I[899] = (T)(img)(_n15##x,_n15##y,z,c)),1)) || \
+ _n14##x==--_n15##x || _n13##x==--_n14##x || _n12##x==--_n13##x || _n11##x==--_n12##x || _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n15##x = _n14##x = _n13##x = _n12##x = _n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], \
+ I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], \
+ I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], \
+ I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], \
+ I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], \
+ I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], \
+ I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], \
+ I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], \
+ I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], \
+ I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], \
+ I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], \
+ I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], \
+ I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], I[376] = I[377], I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], \
+ I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], I[399] = I[400], I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], I[415] = I[416], I[416] = I[417], I[417] = I[418], I[418] = I[419], \
+ I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], I[431] = I[432], I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], I[439] = I[440], I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], I[447] = I[448], I[448] = I[449], \
+ I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], I[455] = I[456], I[456] = I[457], I[457] = I[458], I[458] = I[459], I[459] = I[460], I[460] = I[461], I[461] = I[462], I[462] = I[463], I[463] = I[464], I[464] = I[465], I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], I[474] = I[475], I[475] = I[476], I[476] = I[477], I[477] = I[478], I[478] = I[479], \
+ I[480] = I[481], I[481] = I[482], I[482] = I[483], I[483] = I[484], I[484] = I[485], I[485] = I[486], I[486] = I[487], I[487] = I[488], I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], I[492] = I[493], I[493] = I[494], I[494] = I[495], I[495] = I[496], I[496] = I[497], I[497] = I[498], I[498] = I[499], I[499] = I[500], I[500] = I[501], I[501] = I[502], I[502] = I[503], I[503] = I[504], I[504] = I[505], I[505] = I[506], I[506] = I[507], I[507] = I[508], I[508] = I[509], \
+ I[510] = I[511], I[511] = I[512], I[512] = I[513], I[513] = I[514], I[514] = I[515], I[515] = I[516], I[516] = I[517], I[517] = I[518], I[518] = I[519], I[519] = I[520], I[520] = I[521], I[521] = I[522], I[522] = I[523], I[523] = I[524], I[524] = I[525], I[525] = I[526], I[526] = I[527], I[527] = I[528], I[528] = I[529], I[529] = I[530], I[530] = I[531], I[531] = I[532], I[532] = I[533], I[533] = I[534], I[534] = I[535], I[535] = I[536], I[536] = I[537], I[537] = I[538], I[538] = I[539], \
+ I[540] = I[541], I[541] = I[542], I[542] = I[543], I[543] = I[544], I[544] = I[545], I[545] = I[546], I[546] = I[547], I[547] = I[548], I[548] = I[549], I[549] = I[550], I[550] = I[551], I[551] = I[552], I[552] = I[553], I[553] = I[554], I[554] = I[555], I[555] = I[556], I[556] = I[557], I[557] = I[558], I[558] = I[559], I[559] = I[560], I[560] = I[561], I[561] = I[562], I[562] = I[563], I[563] = I[564], I[564] = I[565], I[565] = I[566], I[566] = I[567], I[567] = I[568], I[568] = I[569], \
+ I[570] = I[571], I[571] = I[572], I[572] = I[573], I[573] = I[574], I[574] = I[575], I[575] = I[576], I[576] = I[577], I[577] = I[578], I[578] = I[579], I[579] = I[580], I[580] = I[581], I[581] = I[582], I[582] = I[583], I[583] = I[584], I[584] = I[585], I[585] = I[586], I[586] = I[587], I[587] = I[588], I[588] = I[589], I[589] = I[590], I[590] = I[591], I[591] = I[592], I[592] = I[593], I[593] = I[594], I[594] = I[595], I[595] = I[596], I[596] = I[597], I[597] = I[598], I[598] = I[599], \
+ I[600] = I[601], I[601] = I[602], I[602] = I[603], I[603] = I[604], I[604] = I[605], I[605] = I[606], I[606] = I[607], I[607] = I[608], I[608] = I[609], I[609] = I[610], I[610] = I[611], I[611] = I[612], I[612] = I[613], I[613] = I[614], I[614] = I[615], I[615] = I[616], I[616] = I[617], I[617] = I[618], I[618] = I[619], I[619] = I[620], I[620] = I[621], I[621] = I[622], I[622] = I[623], I[623] = I[624], I[624] = I[625], I[625] = I[626], I[626] = I[627], I[627] = I[628], I[628] = I[629], \
+ I[630] = I[631], I[631] = I[632], I[632] = I[633], I[633] = I[634], I[634] = I[635], I[635] = I[636], I[636] = I[637], I[637] = I[638], I[638] = I[639], I[639] = I[640], I[640] = I[641], I[641] = I[642], I[642] = I[643], I[643] = I[644], I[644] = I[645], I[645] = I[646], I[646] = I[647], I[647] = I[648], I[648] = I[649], I[649] = I[650], I[650] = I[651], I[651] = I[652], I[652] = I[653], I[653] = I[654], I[654] = I[655], I[655] = I[656], I[656] = I[657], I[657] = I[658], I[658] = I[659], \
+ I[660] = I[661], I[661] = I[662], I[662] = I[663], I[663] = I[664], I[664] = I[665], I[665] = I[666], I[666] = I[667], I[667] = I[668], I[668] = I[669], I[669] = I[670], I[670] = I[671], I[671] = I[672], I[672] = I[673], I[673] = I[674], I[674] = I[675], I[675] = I[676], I[676] = I[677], I[677] = I[678], I[678] = I[679], I[679] = I[680], I[680] = I[681], I[681] = I[682], I[682] = I[683], I[683] = I[684], I[684] = I[685], I[685] = I[686], I[686] = I[687], I[687] = I[688], I[688] = I[689], \
+ I[690] = I[691], I[691] = I[692], I[692] = I[693], I[693] = I[694], I[694] = I[695], I[695] = I[696], I[696] = I[697], I[697] = I[698], I[698] = I[699], I[699] = I[700], I[700] = I[701], I[701] = I[702], I[702] = I[703], I[703] = I[704], I[704] = I[705], I[705] = I[706], I[706] = I[707], I[707] = I[708], I[708] = I[709], I[709] = I[710], I[710] = I[711], I[711] = I[712], I[712] = I[713], I[713] = I[714], I[714] = I[715], I[715] = I[716], I[716] = I[717], I[717] = I[718], I[718] = I[719], \
+ I[720] = I[721], I[721] = I[722], I[722] = I[723], I[723] = I[724], I[724] = I[725], I[725] = I[726], I[726] = I[727], I[727] = I[728], I[728] = I[729], I[729] = I[730], I[730] = I[731], I[731] = I[732], I[732] = I[733], I[733] = I[734], I[734] = I[735], I[735] = I[736], I[736] = I[737], I[737] = I[738], I[738] = I[739], I[739] = I[740], I[740] = I[741], I[741] = I[742], I[742] = I[743], I[743] = I[744], I[744] = I[745], I[745] = I[746], I[746] = I[747], I[747] = I[748], I[748] = I[749], \
+ I[750] = I[751], I[751] = I[752], I[752] = I[753], I[753] = I[754], I[754] = I[755], I[755] = I[756], I[756] = I[757], I[757] = I[758], I[758] = I[759], I[759] = I[760], I[760] = I[761], I[761] = I[762], I[762] = I[763], I[763] = I[764], I[764] = I[765], I[765] = I[766], I[766] = I[767], I[767] = I[768], I[768] = I[769], I[769] = I[770], I[770] = I[771], I[771] = I[772], I[772] = I[773], I[773] = I[774], I[774] = I[775], I[775] = I[776], I[776] = I[777], I[777] = I[778], I[778] = I[779], \
+ I[780] = I[781], I[781] = I[782], I[782] = I[783], I[783] = I[784], I[784] = I[785], I[785] = I[786], I[786] = I[787], I[787] = I[788], I[788] = I[789], I[789] = I[790], I[790] = I[791], I[791] = I[792], I[792] = I[793], I[793] = I[794], I[794] = I[795], I[795] = I[796], I[796] = I[797], I[797] = I[798], I[798] = I[799], I[799] = I[800], I[800] = I[801], I[801] = I[802], I[802] = I[803], I[803] = I[804], I[804] = I[805], I[805] = I[806], I[806] = I[807], I[807] = I[808], I[808] = I[809], \
+ I[810] = I[811], I[811] = I[812], I[812] = I[813], I[813] = I[814], I[814] = I[815], I[815] = I[816], I[816] = I[817], I[817] = I[818], I[818] = I[819], I[819] = I[820], I[820] = I[821], I[821] = I[822], I[822] = I[823], I[823] = I[824], I[824] = I[825], I[825] = I[826], I[826] = I[827], I[827] = I[828], I[828] = I[829], I[829] = I[830], I[830] = I[831], I[831] = I[832], I[832] = I[833], I[833] = I[834], I[834] = I[835], I[835] = I[836], I[836] = I[837], I[837] = I[838], I[838] = I[839], \
+ I[840] = I[841], I[841] = I[842], I[842] = I[843], I[843] = I[844], I[844] = I[845], I[845] = I[846], I[846] = I[847], I[847] = I[848], I[848] = I[849], I[849] = I[850], I[850] = I[851], I[851] = I[852], I[852] = I[853], I[853] = I[854], I[854] = I[855], I[855] = I[856], I[856] = I[857], I[857] = I[858], I[858] = I[859], I[859] = I[860], I[860] = I[861], I[861] = I[862], I[862] = I[863], I[863] = I[864], I[864] = I[865], I[865] = I[866], I[866] = I[867], I[867] = I[868], I[868] = I[869], \
+ I[870] = I[871], I[871] = I[872], I[872] = I[873], I[873] = I[874], I[874] = I[875], I[875] = I[876], I[876] = I[877], I[877] = I[878], I[878] = I[879], I[879] = I[880], I[880] = I[881], I[881] = I[882], I[882] = I[883], I[883] = I[884], I[884] = I[885], I[885] = I[886], I[886] = I[887], I[887] = I[888], I[888] = I[889], I[889] = I[890], I[890] = I[891], I[891] = I[892], I[892] = I[893], I[893] = I[894], I[894] = I[895], I[895] = I[896], I[896] = I[897], I[897] = I[898], I[898] = I[899], \
+ _p14##x = _p13##x, _p13##x = _p12##x, _p12##x = _p11##x, _p11##x = _p10##x, _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x, ++_n12##x, ++_n13##x, ++_n14##x, ++_n15##x)
+
+#define cimg_for_in30x30(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in30((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p14##x = x - 14<0?0:x - 14, \
+ _p13##x = x - 13<0?0:x - 13, \
+ _p12##x = x - 12<0?0:x - 12, \
+ _p11##x = x - 11<0?0:x - 11, \
+ _p10##x = x - 10<0?0:x - 10, \
+ _p9##x = x - 9<0?0:x - 9, \
+ _p8##x = x - 8<0?0:x - 8, \
+ _p7##x = x - 7<0?0:x - 7, \
+ _p6##x = x - 6<0?0:x - 6, \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = x + 5>=(img).width()?(img).width() - 1:x + 5, \
+ _n6##x = x + 6>=(img).width()?(img).width() - 1:x + 6, \
+ _n7##x = x + 7>=(img).width()?(img).width() - 1:x + 7, \
+ _n8##x = x + 8>=(img).width()?(img).width() - 1:x + 8, \
+ _n9##x = x + 9>=(img).width()?(img).width() - 1:x + 9, \
+ _n10##x = x + 10>=(img).width()?(img).width() - 1:x + 10, \
+ _n11##x = x + 11>=(img).width()?(img).width() - 1:x + 11, \
+ _n12##x = x + 12>=(img).width()?(img).width() - 1:x + 12, \
+ _n13##x = x + 13>=(img).width()?(img).width() - 1:x + 13, \
+ _n14##x = x + 14>=(img).width()?(img).width() - 1:x + 14, \
+ _n15##x = (int)( \
+ (I[0] = (T)(img)(_p14##x,_p14##y,z,c)), \
+ (I[30] = (T)(img)(_p14##x,_p13##y,z,c)), \
+ (I[60] = (T)(img)(_p14##x,_p12##y,z,c)), \
+ (I[90] = (T)(img)(_p14##x,_p11##y,z,c)), \
+ (I[120] = (T)(img)(_p14##x,_p10##y,z,c)), \
+ (I[150] = (T)(img)(_p14##x,_p9##y,z,c)), \
+ (I[180] = (T)(img)(_p14##x,_p8##y,z,c)), \
+ (I[210] = (T)(img)(_p14##x,_p7##y,z,c)), \
+ (I[240] = (T)(img)(_p14##x,_p6##y,z,c)), \
+ (I[270] = (T)(img)(_p14##x,_p5##y,z,c)), \
+ (I[300] = (T)(img)(_p14##x,_p4##y,z,c)), \
+ (I[330] = (T)(img)(_p14##x,_p3##y,z,c)), \
+ (I[360] = (T)(img)(_p14##x,_p2##y,z,c)), \
+ (I[390] = (T)(img)(_p14##x,_p1##y,z,c)), \
+ (I[420] = (T)(img)(_p14##x,y,z,c)), \
+ (I[450] = (T)(img)(_p14##x,_n1##y,z,c)), \
+ (I[480] = (T)(img)(_p14##x,_n2##y,z,c)), \
+ (I[510] = (T)(img)(_p14##x,_n3##y,z,c)), \
+ (I[540] = (T)(img)(_p14##x,_n4##y,z,c)), \
+ (I[570] = (T)(img)(_p14##x,_n5##y,z,c)), \
+ (I[600] = (T)(img)(_p14##x,_n6##y,z,c)), \
+ (I[630] = (T)(img)(_p14##x,_n7##y,z,c)), \
+ (I[660] = (T)(img)(_p14##x,_n8##y,z,c)), \
+ (I[690] = (T)(img)(_p14##x,_n9##y,z,c)), \
+ (I[720] = (T)(img)(_p14##x,_n10##y,z,c)), \
+ (I[750] = (T)(img)(_p14##x,_n11##y,z,c)), \
+ (I[780] = (T)(img)(_p14##x,_n12##y,z,c)), \
+ (I[810] = (T)(img)(_p14##x,_n13##y,z,c)), \
+ (I[840] = (T)(img)(_p14##x,_n14##y,z,c)), \
+ (I[870] = (T)(img)(_p14##x,_n15##y,z,c)), \
+ (I[1] = (T)(img)(_p13##x,_p14##y,z,c)), \
+ (I[31] = (T)(img)(_p13##x,_p13##y,z,c)), \
+ (I[61] = (T)(img)(_p13##x,_p12##y,z,c)), \
+ (I[91] = (T)(img)(_p13##x,_p11##y,z,c)), \
+ (I[121] = (T)(img)(_p13##x,_p10##y,z,c)), \
+ (I[151] = (T)(img)(_p13##x,_p9##y,z,c)), \
+ (I[181] = (T)(img)(_p13##x,_p8##y,z,c)), \
+ (I[211] = (T)(img)(_p13##x,_p7##y,z,c)), \
+ (I[241] = (T)(img)(_p13##x,_p6##y,z,c)), \
+ (I[271] = (T)(img)(_p13##x,_p5##y,z,c)), \
+ (I[301] = (T)(img)(_p13##x,_p4##y,z,c)), \
+ (I[331] = (T)(img)(_p13##x,_p3##y,z,c)), \
+ (I[361] = (T)(img)(_p13##x,_p2##y,z,c)), \
+ (I[391] = (T)(img)(_p13##x,_p1##y,z,c)), \
+ (I[421] = (T)(img)(_p13##x,y,z,c)), \
+ (I[451] = (T)(img)(_p13##x,_n1##y,z,c)), \
+ (I[481] = (T)(img)(_p13##x,_n2##y,z,c)), \
+ (I[511] = (T)(img)(_p13##x,_n3##y,z,c)), \
+ (I[541] = (T)(img)(_p13##x,_n4##y,z,c)), \
+ (I[571] = (T)(img)(_p13##x,_n5##y,z,c)), \
+ (I[601] = (T)(img)(_p13##x,_n6##y,z,c)), \
+ (I[631] = (T)(img)(_p13##x,_n7##y,z,c)), \
+ (I[661] = (T)(img)(_p13##x,_n8##y,z,c)), \
+ (I[691] = (T)(img)(_p13##x,_n9##y,z,c)), \
+ (I[721] = (T)(img)(_p13##x,_n10##y,z,c)), \
+ (I[751] = (T)(img)(_p13##x,_n11##y,z,c)), \
+ (I[781] = (T)(img)(_p13##x,_n12##y,z,c)), \
+ (I[811] = (T)(img)(_p13##x,_n13##y,z,c)), \
+ (I[841] = (T)(img)(_p13##x,_n14##y,z,c)), \
+ (I[871] = (T)(img)(_p13##x,_n15##y,z,c)), \
+ (I[2] = (T)(img)(_p12##x,_p14##y,z,c)), \
+ (I[32] = (T)(img)(_p12##x,_p13##y,z,c)), \
+ (I[62] = (T)(img)(_p12##x,_p12##y,z,c)), \
+ (I[92] = (T)(img)(_p12##x,_p11##y,z,c)), \
+ (I[122] = (T)(img)(_p12##x,_p10##y,z,c)), \
+ (I[152] = (T)(img)(_p12##x,_p9##y,z,c)), \
+ (I[182] = (T)(img)(_p12##x,_p8##y,z,c)), \
+ (I[212] = (T)(img)(_p12##x,_p7##y,z,c)), \
+ (I[242] = (T)(img)(_p12##x,_p6##y,z,c)), \
+ (I[272] = (T)(img)(_p12##x,_p5##y,z,c)), \
+ (I[302] = (T)(img)(_p12##x,_p4##y,z,c)), \
+ (I[332] = (T)(img)(_p12##x,_p3##y,z,c)), \
+ (I[362] = (T)(img)(_p12##x,_p2##y,z,c)), \
+ (I[392] = (T)(img)(_p12##x,_p1##y,z,c)), \
+ (I[422] = (T)(img)(_p12##x,y,z,c)), \
+ (I[452] = (T)(img)(_p12##x,_n1##y,z,c)), \
+ (I[482] = (T)(img)(_p12##x,_n2##y,z,c)), \
+ (I[512] = (T)(img)(_p12##x,_n3##y,z,c)), \
+ (I[542] = (T)(img)(_p12##x,_n4##y,z,c)), \
+ (I[572] = (T)(img)(_p12##x,_n5##y,z,c)), \
+ (I[602] = (T)(img)(_p12##x,_n6##y,z,c)), \
+ (I[632] = (T)(img)(_p12##x,_n7##y,z,c)), \
+ (I[662] = (T)(img)(_p12##x,_n8##y,z,c)), \
+ (I[692] = (T)(img)(_p12##x,_n9##y,z,c)), \
+ (I[722] = (T)(img)(_p12##x,_n10##y,z,c)), \
+ (I[752] = (T)(img)(_p12##x,_n11##y,z,c)), \
+ (I[782] = (T)(img)(_p12##x,_n12##y,z,c)), \
+ (I[812] = (T)(img)(_p12##x,_n13##y,z,c)), \
+ (I[842] = (T)(img)(_p12##x,_n14##y,z,c)), \
+ (I[872] = (T)(img)(_p12##x,_n15##y,z,c)), \
+ (I[3] = (T)(img)(_p11##x,_p14##y,z,c)), \
+ (I[33] = (T)(img)(_p11##x,_p13##y,z,c)), \
+ (I[63] = (T)(img)(_p11##x,_p12##y,z,c)), \
+ (I[93] = (T)(img)(_p11##x,_p11##y,z,c)), \
+ (I[123] = (T)(img)(_p11##x,_p10##y,z,c)), \
+ (I[153] = (T)(img)(_p11##x,_p9##y,z,c)), \
+ (I[183] = (T)(img)(_p11##x,_p8##y,z,c)), \
+ (I[213] = (T)(img)(_p11##x,_p7##y,z,c)), \
+ (I[243] = (T)(img)(_p11##x,_p6##y,z,c)), \
+ (I[273] = (T)(img)(_p11##x,_p5##y,z,c)), \
+ (I[303] = (T)(img)(_p11##x,_p4##y,z,c)), \
+ (I[333] = (T)(img)(_p11##x,_p3##y,z,c)), \
+ (I[363] = (T)(img)(_p11##x,_p2##y,z,c)), \
+ (I[393] = (T)(img)(_p11##x,_p1##y,z,c)), \
+ (I[423] = (T)(img)(_p11##x,y,z,c)), \
+ (I[453] = (T)(img)(_p11##x,_n1##y,z,c)), \
+ (I[483] = (T)(img)(_p11##x,_n2##y,z,c)), \
+ (I[513] = (T)(img)(_p11##x,_n3##y,z,c)), \
+ (I[543] = (T)(img)(_p11##x,_n4##y,z,c)), \
+ (I[573] = (T)(img)(_p11##x,_n5##y,z,c)), \
+ (I[603] = (T)(img)(_p11##x,_n6##y,z,c)), \
+ (I[633] = (T)(img)(_p11##x,_n7##y,z,c)), \
+ (I[663] = (T)(img)(_p11##x,_n8##y,z,c)), \
+ (I[693] = (T)(img)(_p11##x,_n9##y,z,c)), \
+ (I[723] = (T)(img)(_p11##x,_n10##y,z,c)), \
+ (I[753] = (T)(img)(_p11##x,_n11##y,z,c)), \
+ (I[783] = (T)(img)(_p11##x,_n12##y,z,c)), \
+ (I[813] = (T)(img)(_p11##x,_n13##y,z,c)), \
+ (I[843] = (T)(img)(_p11##x,_n14##y,z,c)), \
+ (I[873] = (T)(img)(_p11##x,_n15##y,z,c)), \
+ (I[4] = (T)(img)(_p10##x,_p14##y,z,c)), \
+ (I[34] = (T)(img)(_p10##x,_p13##y,z,c)), \
+ (I[64] = (T)(img)(_p10##x,_p12##y,z,c)), \
+ (I[94] = (T)(img)(_p10##x,_p11##y,z,c)), \
+ (I[124] = (T)(img)(_p10##x,_p10##y,z,c)), \
+ (I[154] = (T)(img)(_p10##x,_p9##y,z,c)), \
+ (I[184] = (T)(img)(_p10##x,_p8##y,z,c)), \
+ (I[214] = (T)(img)(_p10##x,_p7##y,z,c)), \
+ (I[244] = (T)(img)(_p10##x,_p6##y,z,c)), \
+ (I[274] = (T)(img)(_p10##x,_p5##y,z,c)), \
+ (I[304] = (T)(img)(_p10##x,_p4##y,z,c)), \
+ (I[334] = (T)(img)(_p10##x,_p3##y,z,c)), \
+ (I[364] = (T)(img)(_p10##x,_p2##y,z,c)), \
+ (I[394] = (T)(img)(_p10##x,_p1##y,z,c)), \
+ (I[424] = (T)(img)(_p10##x,y,z,c)), \
+ (I[454] = (T)(img)(_p10##x,_n1##y,z,c)), \
+ (I[484] = (T)(img)(_p10##x,_n2##y,z,c)), \
+ (I[514] = (T)(img)(_p10##x,_n3##y,z,c)), \
+ (I[544] = (T)(img)(_p10##x,_n4##y,z,c)), \
+ (I[574] = (T)(img)(_p10##x,_n5##y,z,c)), \
+ (I[604] = (T)(img)(_p10##x,_n6##y,z,c)), \
+ (I[634] = (T)(img)(_p10##x,_n7##y,z,c)), \
+ (I[664] = (T)(img)(_p10##x,_n8##y,z,c)), \
+ (I[694] = (T)(img)(_p10##x,_n9##y,z,c)), \
+ (I[724] = (T)(img)(_p10##x,_n10##y,z,c)), \
+ (I[754] = (T)(img)(_p10##x,_n11##y,z,c)), \
+ (I[784] = (T)(img)(_p10##x,_n12##y,z,c)), \
+ (I[814] = (T)(img)(_p10##x,_n13##y,z,c)), \
+ (I[844] = (T)(img)(_p10##x,_n14##y,z,c)), \
+ (I[874] = (T)(img)(_p10##x,_n15##y,z,c)), \
+ (I[5] = (T)(img)(_p9##x,_p14##y,z,c)), \
+ (I[35] = (T)(img)(_p9##x,_p13##y,z,c)), \
+ (I[65] = (T)(img)(_p9##x,_p12##y,z,c)), \
+ (I[95] = (T)(img)(_p9##x,_p11##y,z,c)), \
+ (I[125] = (T)(img)(_p9##x,_p10##y,z,c)), \
+ (I[155] = (T)(img)(_p9##x,_p9##y,z,c)), \
+ (I[185] = (T)(img)(_p9##x,_p8##y,z,c)), \
+ (I[215] = (T)(img)(_p9##x,_p7##y,z,c)), \
+ (I[245] = (T)(img)(_p9##x,_p6##y,z,c)), \
+ (I[275] = (T)(img)(_p9##x,_p5##y,z,c)), \
+ (I[305] = (T)(img)(_p9##x,_p4##y,z,c)), \
+ (I[335] = (T)(img)(_p9##x,_p3##y,z,c)), \
+ (I[365] = (T)(img)(_p9##x,_p2##y,z,c)), \
+ (I[395] = (T)(img)(_p9##x,_p1##y,z,c)), \
+ (I[425] = (T)(img)(_p9##x,y,z,c)), \
+ (I[455] = (T)(img)(_p9##x,_n1##y,z,c)), \
+ (I[485] = (T)(img)(_p9##x,_n2##y,z,c)), \
+ (I[515] = (T)(img)(_p9##x,_n3##y,z,c)), \
+ (I[545] = (T)(img)(_p9##x,_n4##y,z,c)), \
+ (I[575] = (T)(img)(_p9##x,_n5##y,z,c)), \
+ (I[605] = (T)(img)(_p9##x,_n6##y,z,c)), \
+ (I[635] = (T)(img)(_p9##x,_n7##y,z,c)), \
+ (I[665] = (T)(img)(_p9##x,_n8##y,z,c)), \
+ (I[695] = (T)(img)(_p9##x,_n9##y,z,c)), \
+ (I[725] = (T)(img)(_p9##x,_n10##y,z,c)), \
+ (I[755] = (T)(img)(_p9##x,_n11##y,z,c)), \
+ (I[785] = (T)(img)(_p9##x,_n12##y,z,c)), \
+ (I[815] = (T)(img)(_p9##x,_n13##y,z,c)), \
+ (I[845] = (T)(img)(_p9##x,_n14##y,z,c)), \
+ (I[875] = (T)(img)(_p9##x,_n15##y,z,c)), \
+ (I[6] = (T)(img)(_p8##x,_p14##y,z,c)), \
+ (I[36] = (T)(img)(_p8##x,_p13##y,z,c)), \
+ (I[66] = (T)(img)(_p8##x,_p12##y,z,c)), \
+ (I[96] = (T)(img)(_p8##x,_p11##y,z,c)), \
+ (I[126] = (T)(img)(_p8##x,_p10##y,z,c)), \
+ (I[156] = (T)(img)(_p8##x,_p9##y,z,c)), \
+ (I[186] = (T)(img)(_p8##x,_p8##y,z,c)), \
+ (I[216] = (T)(img)(_p8##x,_p7##y,z,c)), \
+ (I[246] = (T)(img)(_p8##x,_p6##y,z,c)), \
+ (I[276] = (T)(img)(_p8##x,_p5##y,z,c)), \
+ (I[306] = (T)(img)(_p8##x,_p4##y,z,c)), \
+ (I[336] = (T)(img)(_p8##x,_p3##y,z,c)), \
+ (I[366] = (T)(img)(_p8##x,_p2##y,z,c)), \
+ (I[396] = (T)(img)(_p8##x,_p1##y,z,c)), \
+ (I[426] = (T)(img)(_p8##x,y,z,c)), \
+ (I[456] = (T)(img)(_p8##x,_n1##y,z,c)), \
+ (I[486] = (T)(img)(_p8##x,_n2##y,z,c)), \
+ (I[516] = (T)(img)(_p8##x,_n3##y,z,c)), \
+ (I[546] = (T)(img)(_p8##x,_n4##y,z,c)), \
+ (I[576] = (T)(img)(_p8##x,_n5##y,z,c)), \
+ (I[606] = (T)(img)(_p8##x,_n6##y,z,c)), \
+ (I[636] = (T)(img)(_p8##x,_n7##y,z,c)), \
+ (I[666] = (T)(img)(_p8##x,_n8##y,z,c)), \
+ (I[696] = (T)(img)(_p8##x,_n9##y,z,c)), \
+ (I[726] = (T)(img)(_p8##x,_n10##y,z,c)), \
+ (I[756] = (T)(img)(_p8##x,_n11##y,z,c)), \
+ (I[786] = (T)(img)(_p8##x,_n12##y,z,c)), \
+ (I[816] = (T)(img)(_p8##x,_n13##y,z,c)), \
+ (I[846] = (T)(img)(_p8##x,_n14##y,z,c)), \
+ (I[876] = (T)(img)(_p8##x,_n15##y,z,c)), \
+ (I[7] = (T)(img)(_p7##x,_p14##y,z,c)), \
+ (I[37] = (T)(img)(_p7##x,_p13##y,z,c)), \
+ (I[67] = (T)(img)(_p7##x,_p12##y,z,c)), \
+ (I[97] = (T)(img)(_p7##x,_p11##y,z,c)), \
+ (I[127] = (T)(img)(_p7##x,_p10##y,z,c)), \
+ (I[157] = (T)(img)(_p7##x,_p9##y,z,c)), \
+ (I[187] = (T)(img)(_p7##x,_p8##y,z,c)), \
+ (I[217] = (T)(img)(_p7##x,_p7##y,z,c)), \
+ (I[247] = (T)(img)(_p7##x,_p6##y,z,c)), \
+ (I[277] = (T)(img)(_p7##x,_p5##y,z,c)), \
+ (I[307] = (T)(img)(_p7##x,_p4##y,z,c)), \
+ (I[337] = (T)(img)(_p7##x,_p3##y,z,c)), \
+ (I[367] = (T)(img)(_p7##x,_p2##y,z,c)), \
+ (I[397] = (T)(img)(_p7##x,_p1##y,z,c)), \
+ (I[427] = (T)(img)(_p7##x,y,z,c)), \
+ (I[457] = (T)(img)(_p7##x,_n1##y,z,c)), \
+ (I[487] = (T)(img)(_p7##x,_n2##y,z,c)), \
+ (I[517] = (T)(img)(_p7##x,_n3##y,z,c)), \
+ (I[547] = (T)(img)(_p7##x,_n4##y,z,c)), \
+ (I[577] = (T)(img)(_p7##x,_n5##y,z,c)), \
+ (I[607] = (T)(img)(_p7##x,_n6##y,z,c)), \
+ (I[637] = (T)(img)(_p7##x,_n7##y,z,c)), \
+ (I[667] = (T)(img)(_p7##x,_n8##y,z,c)), \
+ (I[697] = (T)(img)(_p7##x,_n9##y,z,c)), \
+ (I[727] = (T)(img)(_p7##x,_n10##y,z,c)), \
+ (I[757] = (T)(img)(_p7##x,_n11##y,z,c)), \
+ (I[787] = (T)(img)(_p7##x,_n12##y,z,c)), \
+ (I[817] = (T)(img)(_p7##x,_n13##y,z,c)), \
+ (I[847] = (T)(img)(_p7##x,_n14##y,z,c)), \
+ (I[877] = (T)(img)(_p7##x,_n15##y,z,c)), \
+ (I[8] = (T)(img)(_p6##x,_p14##y,z,c)), \
+ (I[38] = (T)(img)(_p6##x,_p13##y,z,c)), \
+ (I[68] = (T)(img)(_p6##x,_p12##y,z,c)), \
+ (I[98] = (T)(img)(_p6##x,_p11##y,z,c)), \
+ (I[128] = (T)(img)(_p6##x,_p10##y,z,c)), \
+ (I[158] = (T)(img)(_p6##x,_p9##y,z,c)), \
+ (I[188] = (T)(img)(_p6##x,_p8##y,z,c)), \
+ (I[218] = (T)(img)(_p6##x,_p7##y,z,c)), \
+ (I[248] = (T)(img)(_p6##x,_p6##y,z,c)), \
+ (I[278] = (T)(img)(_p6##x,_p5##y,z,c)), \
+ (I[308] = (T)(img)(_p6##x,_p4##y,z,c)), \
+ (I[338] = (T)(img)(_p6##x,_p3##y,z,c)), \
+ (I[368] = (T)(img)(_p6##x,_p2##y,z,c)), \
+ (I[398] = (T)(img)(_p6##x,_p1##y,z,c)), \
+ (I[428] = (T)(img)(_p6##x,y,z,c)), \
+ (I[458] = (T)(img)(_p6##x,_n1##y,z,c)), \
+ (I[488] = (T)(img)(_p6##x,_n2##y,z,c)), \
+ (I[518] = (T)(img)(_p6##x,_n3##y,z,c)), \
+ (I[548] = (T)(img)(_p6##x,_n4##y,z,c)), \
+ (I[578] = (T)(img)(_p6##x,_n5##y,z,c)), \
+ (I[608] = (T)(img)(_p6##x,_n6##y,z,c)), \
+ (I[638] = (T)(img)(_p6##x,_n7##y,z,c)), \
+ (I[668] = (T)(img)(_p6##x,_n8##y,z,c)), \
+ (I[698] = (T)(img)(_p6##x,_n9##y,z,c)), \
+ (I[728] = (T)(img)(_p6##x,_n10##y,z,c)), \
+ (I[758] = (T)(img)(_p6##x,_n11##y,z,c)), \
+ (I[788] = (T)(img)(_p6##x,_n12##y,z,c)), \
+ (I[818] = (T)(img)(_p6##x,_n13##y,z,c)), \
+ (I[848] = (T)(img)(_p6##x,_n14##y,z,c)), \
+ (I[878] = (T)(img)(_p6##x,_n15##y,z,c)), \
+ (I[9] = (T)(img)(_p5##x,_p14##y,z,c)), \
+ (I[39] = (T)(img)(_p5##x,_p13##y,z,c)), \
+ (I[69] = (T)(img)(_p5##x,_p12##y,z,c)), \
+ (I[99] = (T)(img)(_p5##x,_p11##y,z,c)), \
+ (I[129] = (T)(img)(_p5##x,_p10##y,z,c)), \
+ (I[159] = (T)(img)(_p5##x,_p9##y,z,c)), \
+ (I[189] = (T)(img)(_p5##x,_p8##y,z,c)), \
+ (I[219] = (T)(img)(_p5##x,_p7##y,z,c)), \
+ (I[249] = (T)(img)(_p5##x,_p6##y,z,c)), \
+ (I[279] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[309] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[339] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[369] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[399] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[429] = (T)(img)(_p5##x,y,z,c)), \
+ (I[459] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[489] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[519] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[549] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[579] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[609] = (T)(img)(_p5##x,_n6##y,z,c)), \
+ (I[639] = (T)(img)(_p5##x,_n7##y,z,c)), \
+ (I[669] = (T)(img)(_p5##x,_n8##y,z,c)), \
+ (I[699] = (T)(img)(_p5##x,_n9##y,z,c)), \
+ (I[729] = (T)(img)(_p5##x,_n10##y,z,c)), \
+ (I[759] = (T)(img)(_p5##x,_n11##y,z,c)), \
+ (I[789] = (T)(img)(_p5##x,_n12##y,z,c)), \
+ (I[819] = (T)(img)(_p5##x,_n13##y,z,c)), \
+ (I[849] = (T)(img)(_p5##x,_n14##y,z,c)), \
+ (I[879] = (T)(img)(_p5##x,_n15##y,z,c)), \
+ (I[10] = (T)(img)(_p4##x,_p14##y,z,c)), \
+ (I[40] = (T)(img)(_p4##x,_p13##y,z,c)), \
+ (I[70] = (T)(img)(_p4##x,_p12##y,z,c)), \
+ (I[100] = (T)(img)(_p4##x,_p11##y,z,c)), \
+ (I[130] = (T)(img)(_p4##x,_p10##y,z,c)), \
+ (I[160] = (T)(img)(_p4##x,_p9##y,z,c)), \
+ (I[190] = (T)(img)(_p4##x,_p8##y,z,c)), \
+ (I[220] = (T)(img)(_p4##x,_p7##y,z,c)), \
+ (I[250] = (T)(img)(_p4##x,_p6##y,z,c)), \
+ (I[280] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[310] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[340] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[370] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[400] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[430] = (T)(img)(_p4##x,y,z,c)), \
+ (I[460] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[490] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[520] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[550] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[580] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[610] = (T)(img)(_p4##x,_n6##y,z,c)), \
+ (I[640] = (T)(img)(_p4##x,_n7##y,z,c)), \
+ (I[670] = (T)(img)(_p4##x,_n8##y,z,c)), \
+ (I[700] = (T)(img)(_p4##x,_n9##y,z,c)), \
+ (I[730] = (T)(img)(_p4##x,_n10##y,z,c)), \
+ (I[760] = (T)(img)(_p4##x,_n11##y,z,c)), \
+ (I[790] = (T)(img)(_p4##x,_n12##y,z,c)), \
+ (I[820] = (T)(img)(_p4##x,_n13##y,z,c)), \
+ (I[850] = (T)(img)(_p4##x,_n14##y,z,c)), \
+ (I[880] = (T)(img)(_p4##x,_n15##y,z,c)), \
+ (I[11] = (T)(img)(_p3##x,_p14##y,z,c)), \
+ (I[41] = (T)(img)(_p3##x,_p13##y,z,c)), \
+ (I[71] = (T)(img)(_p3##x,_p12##y,z,c)), \
+ (I[101] = (T)(img)(_p3##x,_p11##y,z,c)), \
+ (I[131] = (T)(img)(_p3##x,_p10##y,z,c)), \
+ (I[161] = (T)(img)(_p3##x,_p9##y,z,c)), \
+ (I[191] = (T)(img)(_p3##x,_p8##y,z,c)), \
+ (I[221] = (T)(img)(_p3##x,_p7##y,z,c)), \
+ (I[251] = (T)(img)(_p3##x,_p6##y,z,c)), \
+ (I[281] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[311] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[341] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[371] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[401] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[431] = (T)(img)(_p3##x,y,z,c)), \
+ (I[461] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[491] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[521] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[551] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[581] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[611] = (T)(img)(_p3##x,_n6##y,z,c)), \
+ (I[641] = (T)(img)(_p3##x,_n7##y,z,c)), \
+ (I[671] = (T)(img)(_p3##x,_n8##y,z,c)), \
+ (I[701] = (T)(img)(_p3##x,_n9##y,z,c)), \
+ (I[731] = (T)(img)(_p3##x,_n10##y,z,c)), \
+ (I[761] = (T)(img)(_p3##x,_n11##y,z,c)), \
+ (I[791] = (T)(img)(_p3##x,_n12##y,z,c)), \
+ (I[821] = (T)(img)(_p3##x,_n13##y,z,c)), \
+ (I[851] = (T)(img)(_p3##x,_n14##y,z,c)), \
+ (I[881] = (T)(img)(_p3##x,_n15##y,z,c)), \
+ (I[12] = (T)(img)(_p2##x,_p14##y,z,c)), \
+ (I[42] = (T)(img)(_p2##x,_p13##y,z,c)), \
+ (I[72] = (T)(img)(_p2##x,_p12##y,z,c)), \
+ (I[102] = (T)(img)(_p2##x,_p11##y,z,c)), \
+ (I[132] = (T)(img)(_p2##x,_p10##y,z,c)), \
+ (I[162] = (T)(img)(_p2##x,_p9##y,z,c)), \
+ (I[192] = (T)(img)(_p2##x,_p8##y,z,c)), \
+ (I[222] = (T)(img)(_p2##x,_p7##y,z,c)), \
+ (I[252] = (T)(img)(_p2##x,_p6##y,z,c)), \
+ (I[282] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[312] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[342] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[372] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[402] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[432] = (T)(img)(_p2##x,y,z,c)), \
+ (I[462] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[492] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[522] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[552] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[582] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[612] = (T)(img)(_p2##x,_n6##y,z,c)), \
+ (I[642] = (T)(img)(_p2##x,_n7##y,z,c)), \
+ (I[672] = (T)(img)(_p2##x,_n8##y,z,c)), \
+ (I[702] = (T)(img)(_p2##x,_n9##y,z,c)), \
+ (I[732] = (T)(img)(_p2##x,_n10##y,z,c)), \
+ (I[762] = (T)(img)(_p2##x,_n11##y,z,c)), \
+ (I[792] = (T)(img)(_p2##x,_n12##y,z,c)), \
+ (I[822] = (T)(img)(_p2##x,_n13##y,z,c)), \
+ (I[852] = (T)(img)(_p2##x,_n14##y,z,c)), \
+ (I[882] = (T)(img)(_p2##x,_n15##y,z,c)), \
+ (I[13] = (T)(img)(_p1##x,_p14##y,z,c)), \
+ (I[43] = (T)(img)(_p1##x,_p13##y,z,c)), \
+ (I[73] = (T)(img)(_p1##x,_p12##y,z,c)), \
+ (I[103] = (T)(img)(_p1##x,_p11##y,z,c)), \
+ (I[133] = (T)(img)(_p1##x,_p10##y,z,c)), \
+ (I[163] = (T)(img)(_p1##x,_p9##y,z,c)), \
+ (I[193] = (T)(img)(_p1##x,_p8##y,z,c)), \
+ (I[223] = (T)(img)(_p1##x,_p7##y,z,c)), \
+ (I[253] = (T)(img)(_p1##x,_p6##y,z,c)), \
+ (I[283] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[313] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[343] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[373] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[403] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[433] = (T)(img)(_p1##x,y,z,c)), \
+ (I[463] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[493] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[523] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[553] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[583] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[613] = (T)(img)(_p1##x,_n6##y,z,c)), \
+ (I[643] = (T)(img)(_p1##x,_n7##y,z,c)), \
+ (I[673] = (T)(img)(_p1##x,_n8##y,z,c)), \
+ (I[703] = (T)(img)(_p1##x,_n9##y,z,c)), \
+ (I[733] = (T)(img)(_p1##x,_n10##y,z,c)), \
+ (I[763] = (T)(img)(_p1##x,_n11##y,z,c)), \
+ (I[793] = (T)(img)(_p1##x,_n12##y,z,c)), \
+ (I[823] = (T)(img)(_p1##x,_n13##y,z,c)), \
+ (I[853] = (T)(img)(_p1##x,_n14##y,z,c)), \
+ (I[883] = (T)(img)(_p1##x,_n15##y,z,c)), \
+ (I[14] = (T)(img)(x,_p14##y,z,c)), \
+ (I[44] = (T)(img)(x,_p13##y,z,c)), \
+ (I[74] = (T)(img)(x,_p12##y,z,c)), \
+ (I[104] = (T)(img)(x,_p11##y,z,c)), \
+ (I[134] = (T)(img)(x,_p10##y,z,c)), \
+ (I[164] = (T)(img)(x,_p9##y,z,c)), \
+ (I[194] = (T)(img)(x,_p8##y,z,c)), \
+ (I[224] = (T)(img)(x,_p7##y,z,c)), \
+ (I[254] = (T)(img)(x,_p6##y,z,c)), \
+ (I[284] = (T)(img)(x,_p5##y,z,c)), \
+ (I[314] = (T)(img)(x,_p4##y,z,c)), \
+ (I[344] = (T)(img)(x,_p3##y,z,c)), \
+ (I[374] = (T)(img)(x,_p2##y,z,c)), \
+ (I[404] = (T)(img)(x,_p1##y,z,c)), \
+ (I[434] = (T)(img)(x,y,z,c)), \
+ (I[464] = (T)(img)(x,_n1##y,z,c)), \
+ (I[494] = (T)(img)(x,_n2##y,z,c)), \
+ (I[524] = (T)(img)(x,_n3##y,z,c)), \
+ (I[554] = (T)(img)(x,_n4##y,z,c)), \
+ (I[584] = (T)(img)(x,_n5##y,z,c)), \
+ (I[614] = (T)(img)(x,_n6##y,z,c)), \
+ (I[644] = (T)(img)(x,_n7##y,z,c)), \
+ (I[674] = (T)(img)(x,_n8##y,z,c)), \
+ (I[704] = (T)(img)(x,_n9##y,z,c)), \
+ (I[734] = (T)(img)(x,_n10##y,z,c)), \
+ (I[764] = (T)(img)(x,_n11##y,z,c)), \
+ (I[794] = (T)(img)(x,_n12##y,z,c)), \
+ (I[824] = (T)(img)(x,_n13##y,z,c)), \
+ (I[854] = (T)(img)(x,_n14##y,z,c)), \
+ (I[884] = (T)(img)(x,_n15##y,z,c)), \
+ (I[15] = (T)(img)(_n1##x,_p14##y,z,c)), \
+ (I[45] = (T)(img)(_n1##x,_p13##y,z,c)), \
+ (I[75] = (T)(img)(_n1##x,_p12##y,z,c)), \
+ (I[105] = (T)(img)(_n1##x,_p11##y,z,c)), \
+ (I[135] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[165] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[195] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[225] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[255] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[285] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[315] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[345] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[375] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[405] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[435] = (T)(img)(_n1##x,y,z,c)), \
+ (I[465] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[495] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[525] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[555] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[585] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[615] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[645] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[675] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[705] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[735] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[765] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[795] = (T)(img)(_n1##x,_n12##y,z,c)), \
+ (I[825] = (T)(img)(_n1##x,_n13##y,z,c)), \
+ (I[855] = (T)(img)(_n1##x,_n14##y,z,c)), \
+ (I[885] = (T)(img)(_n1##x,_n15##y,z,c)), \
+ (I[16] = (T)(img)(_n2##x,_p14##y,z,c)), \
+ (I[46] = (T)(img)(_n2##x,_p13##y,z,c)), \
+ (I[76] = (T)(img)(_n2##x,_p12##y,z,c)), \
+ (I[106] = (T)(img)(_n2##x,_p11##y,z,c)), \
+ (I[136] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[166] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[196] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[226] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[256] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[286] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[316] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[346] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[376] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[406] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[436] = (T)(img)(_n2##x,y,z,c)), \
+ (I[466] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[496] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[526] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[556] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[586] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[616] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[646] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[676] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[706] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[736] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[766] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[796] = (T)(img)(_n2##x,_n12##y,z,c)), \
+ (I[826] = (T)(img)(_n2##x,_n13##y,z,c)), \
+ (I[856] = (T)(img)(_n2##x,_n14##y,z,c)), \
+ (I[886] = (T)(img)(_n2##x,_n15##y,z,c)), \
+ (I[17] = (T)(img)(_n3##x,_p14##y,z,c)), \
+ (I[47] = (T)(img)(_n3##x,_p13##y,z,c)), \
+ (I[77] = (T)(img)(_n3##x,_p12##y,z,c)), \
+ (I[107] = (T)(img)(_n3##x,_p11##y,z,c)), \
+ (I[137] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[167] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[197] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[227] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[257] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[287] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[317] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[347] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[377] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[407] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[437] = (T)(img)(_n3##x,y,z,c)), \
+ (I[467] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[497] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[527] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[557] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[587] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[617] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[647] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[677] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[707] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[737] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[767] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[797] = (T)(img)(_n3##x,_n12##y,z,c)), \
+ (I[827] = (T)(img)(_n3##x,_n13##y,z,c)), \
+ (I[857] = (T)(img)(_n3##x,_n14##y,z,c)), \
+ (I[887] = (T)(img)(_n3##x,_n15##y,z,c)), \
+ (I[18] = (T)(img)(_n4##x,_p14##y,z,c)), \
+ (I[48] = (T)(img)(_n4##x,_p13##y,z,c)), \
+ (I[78] = (T)(img)(_n4##x,_p12##y,z,c)), \
+ (I[108] = (T)(img)(_n4##x,_p11##y,z,c)), \
+ (I[138] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[168] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[198] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[228] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[258] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[288] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[318] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[348] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[378] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[408] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[438] = (T)(img)(_n4##x,y,z,c)), \
+ (I[468] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[498] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[528] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[558] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[588] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[618] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[648] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[678] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[708] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[738] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[768] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[798] = (T)(img)(_n4##x,_n12##y,z,c)), \
+ (I[828] = (T)(img)(_n4##x,_n13##y,z,c)), \
+ (I[858] = (T)(img)(_n4##x,_n14##y,z,c)), \
+ (I[888] = (T)(img)(_n4##x,_n15##y,z,c)), \
+ (I[19] = (T)(img)(_n5##x,_p14##y,z,c)), \
+ (I[49] = (T)(img)(_n5##x,_p13##y,z,c)), \
+ (I[79] = (T)(img)(_n5##x,_p12##y,z,c)), \
+ (I[109] = (T)(img)(_n5##x,_p11##y,z,c)), \
+ (I[139] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[169] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[199] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[229] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[259] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[289] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[319] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[349] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[379] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[409] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[439] = (T)(img)(_n5##x,y,z,c)), \
+ (I[469] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[499] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[529] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[559] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[589] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[619] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[649] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[679] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[709] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[739] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[769] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[799] = (T)(img)(_n5##x,_n12##y,z,c)), \
+ (I[829] = (T)(img)(_n5##x,_n13##y,z,c)), \
+ (I[859] = (T)(img)(_n5##x,_n14##y,z,c)), \
+ (I[889] = (T)(img)(_n5##x,_n15##y,z,c)), \
+ (I[20] = (T)(img)(_n6##x,_p14##y,z,c)), \
+ (I[50] = (T)(img)(_n6##x,_p13##y,z,c)), \
+ (I[80] = (T)(img)(_n6##x,_p12##y,z,c)), \
+ (I[110] = (T)(img)(_n6##x,_p11##y,z,c)), \
+ (I[140] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[170] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[200] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[230] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[260] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[290] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[320] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[350] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[380] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[410] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[440] = (T)(img)(_n6##x,y,z,c)), \
+ (I[470] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[500] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[530] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[560] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[590] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[620] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[650] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[680] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[710] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[740] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[770] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[800] = (T)(img)(_n6##x,_n12##y,z,c)), \
+ (I[830] = (T)(img)(_n6##x,_n13##y,z,c)), \
+ (I[860] = (T)(img)(_n6##x,_n14##y,z,c)), \
+ (I[890] = (T)(img)(_n6##x,_n15##y,z,c)), \
+ (I[21] = (T)(img)(_n7##x,_p14##y,z,c)), \
+ (I[51] = (T)(img)(_n7##x,_p13##y,z,c)), \
+ (I[81] = (T)(img)(_n7##x,_p12##y,z,c)), \
+ (I[111] = (T)(img)(_n7##x,_p11##y,z,c)), \
+ (I[141] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[171] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[201] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[231] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[261] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[291] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[321] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[351] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[381] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[411] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[441] = (T)(img)(_n7##x,y,z,c)), \
+ (I[471] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[501] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[531] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[561] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[591] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[621] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[651] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[681] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[711] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[741] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[771] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[801] = (T)(img)(_n7##x,_n12##y,z,c)), \
+ (I[831] = (T)(img)(_n7##x,_n13##y,z,c)), \
+ (I[861] = (T)(img)(_n7##x,_n14##y,z,c)), \
+ (I[891] = (T)(img)(_n7##x,_n15##y,z,c)), \
+ (I[22] = (T)(img)(_n8##x,_p14##y,z,c)), \
+ (I[52] = (T)(img)(_n8##x,_p13##y,z,c)), \
+ (I[82] = (T)(img)(_n8##x,_p12##y,z,c)), \
+ (I[112] = (T)(img)(_n8##x,_p11##y,z,c)), \
+ (I[142] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[172] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[202] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[232] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[262] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[292] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[322] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[352] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[382] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[412] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[442] = (T)(img)(_n8##x,y,z,c)), \
+ (I[472] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[502] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[532] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[562] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[592] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[622] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[652] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[682] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[712] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[742] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[772] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[802] = (T)(img)(_n8##x,_n12##y,z,c)), \
+ (I[832] = (T)(img)(_n8##x,_n13##y,z,c)), \
+ (I[862] = (T)(img)(_n8##x,_n14##y,z,c)), \
+ (I[892] = (T)(img)(_n8##x,_n15##y,z,c)), \
+ (I[23] = (T)(img)(_n9##x,_p14##y,z,c)), \
+ (I[53] = (T)(img)(_n9##x,_p13##y,z,c)), \
+ (I[83] = (T)(img)(_n9##x,_p12##y,z,c)), \
+ (I[113] = (T)(img)(_n9##x,_p11##y,z,c)), \
+ (I[143] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[173] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[203] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[233] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[263] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[293] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[323] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[353] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[383] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[413] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[443] = (T)(img)(_n9##x,y,z,c)), \
+ (I[473] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[503] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[533] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[563] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[593] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[623] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[653] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[683] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[713] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[743] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[773] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[803] = (T)(img)(_n9##x,_n12##y,z,c)), \
+ (I[833] = (T)(img)(_n9##x,_n13##y,z,c)), \
+ (I[863] = (T)(img)(_n9##x,_n14##y,z,c)), \
+ (I[893] = (T)(img)(_n9##x,_n15##y,z,c)), \
+ (I[24] = (T)(img)(_n10##x,_p14##y,z,c)), \
+ (I[54] = (T)(img)(_n10##x,_p13##y,z,c)), \
+ (I[84] = (T)(img)(_n10##x,_p12##y,z,c)), \
+ (I[114] = (T)(img)(_n10##x,_p11##y,z,c)), \
+ (I[144] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[174] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[204] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[234] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[264] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[294] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[324] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[354] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[384] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[414] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[444] = (T)(img)(_n10##x,y,z,c)), \
+ (I[474] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[504] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[534] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[564] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[594] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[624] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[654] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[684] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[714] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[744] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[774] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ (I[804] = (T)(img)(_n10##x,_n12##y,z,c)), \
+ (I[834] = (T)(img)(_n10##x,_n13##y,z,c)), \
+ (I[864] = (T)(img)(_n10##x,_n14##y,z,c)), \
+ (I[894] = (T)(img)(_n10##x,_n15##y,z,c)), \
+ (I[25] = (T)(img)(_n11##x,_p14##y,z,c)), \
+ (I[55] = (T)(img)(_n11##x,_p13##y,z,c)), \
+ (I[85] = (T)(img)(_n11##x,_p12##y,z,c)), \
+ (I[115] = (T)(img)(_n11##x,_p11##y,z,c)), \
+ (I[145] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[175] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[205] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[235] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[265] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[295] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[325] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[355] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[385] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[415] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[445] = (T)(img)(_n11##x,y,z,c)), \
+ (I[475] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[505] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[535] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[565] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[595] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[625] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[655] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[685] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[715] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[745] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[775] = (T)(img)(_n11##x,_n11##y,z,c)), \
+ (I[805] = (T)(img)(_n11##x,_n12##y,z,c)), \
+ (I[835] = (T)(img)(_n11##x,_n13##y,z,c)), \
+ (I[865] = (T)(img)(_n11##x,_n14##y,z,c)), \
+ (I[895] = (T)(img)(_n11##x,_n15##y,z,c)), \
+ (I[26] = (T)(img)(_n12##x,_p14##y,z,c)), \
+ (I[56] = (T)(img)(_n12##x,_p13##y,z,c)), \
+ (I[86] = (T)(img)(_n12##x,_p12##y,z,c)), \
+ (I[116] = (T)(img)(_n12##x,_p11##y,z,c)), \
+ (I[146] = (T)(img)(_n12##x,_p10##y,z,c)), \
+ (I[176] = (T)(img)(_n12##x,_p9##y,z,c)), \
+ (I[206] = (T)(img)(_n12##x,_p8##y,z,c)), \
+ (I[236] = (T)(img)(_n12##x,_p7##y,z,c)), \
+ (I[266] = (T)(img)(_n12##x,_p6##y,z,c)), \
+ (I[296] = (T)(img)(_n12##x,_p5##y,z,c)), \
+ (I[326] = (T)(img)(_n12##x,_p4##y,z,c)), \
+ (I[356] = (T)(img)(_n12##x,_p3##y,z,c)), \
+ (I[386] = (T)(img)(_n12##x,_p2##y,z,c)), \
+ (I[416] = (T)(img)(_n12##x,_p1##y,z,c)), \
+ (I[446] = (T)(img)(_n12##x,y,z,c)), \
+ (I[476] = (T)(img)(_n12##x,_n1##y,z,c)), \
+ (I[506] = (T)(img)(_n12##x,_n2##y,z,c)), \
+ (I[536] = (T)(img)(_n12##x,_n3##y,z,c)), \
+ (I[566] = (T)(img)(_n12##x,_n4##y,z,c)), \
+ (I[596] = (T)(img)(_n12##x,_n5##y,z,c)), \
+ (I[626] = (T)(img)(_n12##x,_n6##y,z,c)), \
+ (I[656] = (T)(img)(_n12##x,_n7##y,z,c)), \
+ (I[686] = (T)(img)(_n12##x,_n8##y,z,c)), \
+ (I[716] = (T)(img)(_n12##x,_n9##y,z,c)), \
+ (I[746] = (T)(img)(_n12##x,_n10##y,z,c)), \
+ (I[776] = (T)(img)(_n12##x,_n11##y,z,c)), \
+ (I[806] = (T)(img)(_n12##x,_n12##y,z,c)), \
+ (I[836] = (T)(img)(_n12##x,_n13##y,z,c)), \
+ (I[866] = (T)(img)(_n12##x,_n14##y,z,c)), \
+ (I[896] = (T)(img)(_n12##x,_n15##y,z,c)), \
+ (I[27] = (T)(img)(_n13##x,_p14##y,z,c)), \
+ (I[57] = (T)(img)(_n13##x,_p13##y,z,c)), \
+ (I[87] = (T)(img)(_n13##x,_p12##y,z,c)), \
+ (I[117] = (T)(img)(_n13##x,_p11##y,z,c)), \
+ (I[147] = (T)(img)(_n13##x,_p10##y,z,c)), \
+ (I[177] = (T)(img)(_n13##x,_p9##y,z,c)), \
+ (I[207] = (T)(img)(_n13##x,_p8##y,z,c)), \
+ (I[237] = (T)(img)(_n13##x,_p7##y,z,c)), \
+ (I[267] = (T)(img)(_n13##x,_p6##y,z,c)), \
+ (I[297] = (T)(img)(_n13##x,_p5##y,z,c)), \
+ (I[327] = (T)(img)(_n13##x,_p4##y,z,c)), \
+ (I[357] = (T)(img)(_n13##x,_p3##y,z,c)), \
+ (I[387] = (T)(img)(_n13##x,_p2##y,z,c)), \
+ (I[417] = (T)(img)(_n13##x,_p1##y,z,c)), \
+ (I[447] = (T)(img)(_n13##x,y,z,c)), \
+ (I[477] = (T)(img)(_n13##x,_n1##y,z,c)), \
+ (I[507] = (T)(img)(_n13##x,_n2##y,z,c)), \
+ (I[537] = (T)(img)(_n13##x,_n3##y,z,c)), \
+ (I[567] = (T)(img)(_n13##x,_n4##y,z,c)), \
+ (I[597] = (T)(img)(_n13##x,_n5##y,z,c)), \
+ (I[627] = (T)(img)(_n13##x,_n6##y,z,c)), \
+ (I[657] = (T)(img)(_n13##x,_n7##y,z,c)), \
+ (I[687] = (T)(img)(_n13##x,_n8##y,z,c)), \
+ (I[717] = (T)(img)(_n13##x,_n9##y,z,c)), \
+ (I[747] = (T)(img)(_n13##x,_n10##y,z,c)), \
+ (I[777] = (T)(img)(_n13##x,_n11##y,z,c)), \
+ (I[807] = (T)(img)(_n13##x,_n12##y,z,c)), \
+ (I[837] = (T)(img)(_n13##x,_n13##y,z,c)), \
+ (I[867] = (T)(img)(_n13##x,_n14##y,z,c)), \
+ (I[897] = (T)(img)(_n13##x,_n15##y,z,c)), \
+ (I[28] = (T)(img)(_n14##x,_p14##y,z,c)), \
+ (I[58] = (T)(img)(_n14##x,_p13##y,z,c)), \
+ (I[88] = (T)(img)(_n14##x,_p12##y,z,c)), \
+ (I[118] = (T)(img)(_n14##x,_p11##y,z,c)), \
+ (I[148] = (T)(img)(_n14##x,_p10##y,z,c)), \
+ (I[178] = (T)(img)(_n14##x,_p9##y,z,c)), \
+ (I[208] = (T)(img)(_n14##x,_p8##y,z,c)), \
+ (I[238] = (T)(img)(_n14##x,_p7##y,z,c)), \
+ (I[268] = (T)(img)(_n14##x,_p6##y,z,c)), \
+ (I[298] = (T)(img)(_n14##x,_p5##y,z,c)), \
+ (I[328] = (T)(img)(_n14##x,_p4##y,z,c)), \
+ (I[358] = (T)(img)(_n14##x,_p3##y,z,c)), \
+ (I[388] = (T)(img)(_n14##x,_p2##y,z,c)), \
+ (I[418] = (T)(img)(_n14##x,_p1##y,z,c)), \
+ (I[448] = (T)(img)(_n14##x,y,z,c)), \
+ (I[478] = (T)(img)(_n14##x,_n1##y,z,c)), \
+ (I[508] = (T)(img)(_n14##x,_n2##y,z,c)), \
+ (I[538] = (T)(img)(_n14##x,_n3##y,z,c)), \
+ (I[568] = (T)(img)(_n14##x,_n4##y,z,c)), \
+ (I[598] = (T)(img)(_n14##x,_n5##y,z,c)), \
+ (I[628] = (T)(img)(_n14##x,_n6##y,z,c)), \
+ (I[658] = (T)(img)(_n14##x,_n7##y,z,c)), \
+ (I[688] = (T)(img)(_n14##x,_n8##y,z,c)), \
+ (I[718] = (T)(img)(_n14##x,_n9##y,z,c)), \
+ (I[748] = (T)(img)(_n14##x,_n10##y,z,c)), \
+ (I[778] = (T)(img)(_n14##x,_n11##y,z,c)), \
+ (I[808] = (T)(img)(_n14##x,_n12##y,z,c)), \
+ (I[838] = (T)(img)(_n14##x,_n13##y,z,c)), \
+ (I[868] = (T)(img)(_n14##x,_n14##y,z,c)), \
+ (I[898] = (T)(img)(_n14##x,_n15##y,z,c)), \
+ x + 15>=(img).width()?(img).width() - 1:x + 15); \
+ x<=(int)(x1) && ((_n15##x<(img).width() && ( \
+ (I[29] = (T)(img)(_n15##x,_p14##y,z,c)), \
+ (I[59] = (T)(img)(_n15##x,_p13##y,z,c)), \
+ (I[89] = (T)(img)(_n15##x,_p12##y,z,c)), \
+ (I[119] = (T)(img)(_n15##x,_p11##y,z,c)), \
+ (I[149] = (T)(img)(_n15##x,_p10##y,z,c)), \
+ (I[179] = (T)(img)(_n15##x,_p9##y,z,c)), \
+ (I[209] = (T)(img)(_n15##x,_p8##y,z,c)), \
+ (I[239] = (T)(img)(_n15##x,_p7##y,z,c)), \
+ (I[269] = (T)(img)(_n15##x,_p6##y,z,c)), \
+ (I[299] = (T)(img)(_n15##x,_p5##y,z,c)), \
+ (I[329] = (T)(img)(_n15##x,_p4##y,z,c)), \
+ (I[359] = (T)(img)(_n15##x,_p3##y,z,c)), \
+ (I[389] = (T)(img)(_n15##x,_p2##y,z,c)), \
+ (I[419] = (T)(img)(_n15##x,_p1##y,z,c)), \
+ (I[449] = (T)(img)(_n15##x,y,z,c)), \
+ (I[479] = (T)(img)(_n15##x,_n1##y,z,c)), \
+ (I[509] = (T)(img)(_n15##x,_n2##y,z,c)), \
+ (I[539] = (T)(img)(_n15##x,_n3##y,z,c)), \
+ (I[569] = (T)(img)(_n15##x,_n4##y,z,c)), \
+ (I[599] = (T)(img)(_n15##x,_n5##y,z,c)), \
+ (I[629] = (T)(img)(_n15##x,_n6##y,z,c)), \
+ (I[659] = (T)(img)(_n15##x,_n7##y,z,c)), \
+ (I[689] = (T)(img)(_n15##x,_n8##y,z,c)), \
+ (I[719] = (T)(img)(_n15##x,_n9##y,z,c)), \
+ (I[749] = (T)(img)(_n15##x,_n10##y,z,c)), \
+ (I[779] = (T)(img)(_n15##x,_n11##y,z,c)), \
+ (I[809] = (T)(img)(_n15##x,_n12##y,z,c)), \
+ (I[839] = (T)(img)(_n15##x,_n13##y,z,c)), \
+ (I[869] = (T)(img)(_n15##x,_n14##y,z,c)), \
+ (I[899] = (T)(img)(_n15##x,_n15##y,z,c)),1)) || \
+ _n14##x==--_n15##x || _n13##x==--_n14##x || _n12##x==--_n13##x || _n11##x==--_n12##x || _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n15##x = _n14##x = _n13##x = _n12##x = _n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], \
+ I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], \
+ I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], \
+ I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], \
+ I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], \
+ I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], \
+ I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], \
+ I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], \
+ I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], \
+ I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], \
+ I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], \
+ I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], \
+ I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], I[376] = I[377], I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], \
+ I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], I[399] = I[400], I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], I[415] = I[416], I[416] = I[417], I[417] = I[418], I[418] = I[419], \
+ I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], I[431] = I[432], I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], I[439] = I[440], I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], I[447] = I[448], I[448] = I[449], \
+ I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], I[455] = I[456], I[456] = I[457], I[457] = I[458], I[458] = I[459], I[459] = I[460], I[460] = I[461], I[461] = I[462], I[462] = I[463], I[463] = I[464], I[464] = I[465], I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], I[474] = I[475], I[475] = I[476], I[476] = I[477], I[477] = I[478], I[478] = I[479], \
+ I[480] = I[481], I[481] = I[482], I[482] = I[483], I[483] = I[484], I[484] = I[485], I[485] = I[486], I[486] = I[487], I[487] = I[488], I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], I[492] = I[493], I[493] = I[494], I[494] = I[495], I[495] = I[496], I[496] = I[497], I[497] = I[498], I[498] = I[499], I[499] = I[500], I[500] = I[501], I[501] = I[502], I[502] = I[503], I[503] = I[504], I[504] = I[505], I[505] = I[506], I[506] = I[507], I[507] = I[508], I[508] = I[509], \
+ I[510] = I[511], I[511] = I[512], I[512] = I[513], I[513] = I[514], I[514] = I[515], I[515] = I[516], I[516] = I[517], I[517] = I[518], I[518] = I[519], I[519] = I[520], I[520] = I[521], I[521] = I[522], I[522] = I[523], I[523] = I[524], I[524] = I[525], I[525] = I[526], I[526] = I[527], I[527] = I[528], I[528] = I[529], I[529] = I[530], I[530] = I[531], I[531] = I[532], I[532] = I[533], I[533] = I[534], I[534] = I[535], I[535] = I[536], I[536] = I[537], I[537] = I[538], I[538] = I[539], \
+ I[540] = I[541], I[541] = I[542], I[542] = I[543], I[543] = I[544], I[544] = I[545], I[545] = I[546], I[546] = I[547], I[547] = I[548], I[548] = I[549], I[549] = I[550], I[550] = I[551], I[551] = I[552], I[552] = I[553], I[553] = I[554], I[554] = I[555], I[555] = I[556], I[556] = I[557], I[557] = I[558], I[558] = I[559], I[559] = I[560], I[560] = I[561], I[561] = I[562], I[562] = I[563], I[563] = I[564], I[564] = I[565], I[565] = I[566], I[566] = I[567], I[567] = I[568], I[568] = I[569], \
+ I[570] = I[571], I[571] = I[572], I[572] = I[573], I[573] = I[574], I[574] = I[575], I[575] = I[576], I[576] = I[577], I[577] = I[578], I[578] = I[579], I[579] = I[580], I[580] = I[581], I[581] = I[582], I[582] = I[583], I[583] = I[584], I[584] = I[585], I[585] = I[586], I[586] = I[587], I[587] = I[588], I[588] = I[589], I[589] = I[590], I[590] = I[591], I[591] = I[592], I[592] = I[593], I[593] = I[594], I[594] = I[595], I[595] = I[596], I[596] = I[597], I[597] = I[598], I[598] = I[599], \
+ I[600] = I[601], I[601] = I[602], I[602] = I[603], I[603] = I[604], I[604] = I[605], I[605] = I[606], I[606] = I[607], I[607] = I[608], I[608] = I[609], I[609] = I[610], I[610] = I[611], I[611] = I[612], I[612] = I[613], I[613] = I[614], I[614] = I[615], I[615] = I[616], I[616] = I[617], I[617] = I[618], I[618] = I[619], I[619] = I[620], I[620] = I[621], I[621] = I[622], I[622] = I[623], I[623] = I[624], I[624] = I[625], I[625] = I[626], I[626] = I[627], I[627] = I[628], I[628] = I[629], \
+ I[630] = I[631], I[631] = I[632], I[632] = I[633], I[633] = I[634], I[634] = I[635], I[635] = I[636], I[636] = I[637], I[637] = I[638], I[638] = I[639], I[639] = I[640], I[640] = I[641], I[641] = I[642], I[642] = I[643], I[643] = I[644], I[644] = I[645], I[645] = I[646], I[646] = I[647], I[647] = I[648], I[648] = I[649], I[649] = I[650], I[650] = I[651], I[651] = I[652], I[652] = I[653], I[653] = I[654], I[654] = I[655], I[655] = I[656], I[656] = I[657], I[657] = I[658], I[658] = I[659], \
+ I[660] = I[661], I[661] = I[662], I[662] = I[663], I[663] = I[664], I[664] = I[665], I[665] = I[666], I[666] = I[667], I[667] = I[668], I[668] = I[669], I[669] = I[670], I[670] = I[671], I[671] = I[672], I[672] = I[673], I[673] = I[674], I[674] = I[675], I[675] = I[676], I[676] = I[677], I[677] = I[678], I[678] = I[679], I[679] = I[680], I[680] = I[681], I[681] = I[682], I[682] = I[683], I[683] = I[684], I[684] = I[685], I[685] = I[686], I[686] = I[687], I[687] = I[688], I[688] = I[689], \
+ I[690] = I[691], I[691] = I[692], I[692] = I[693], I[693] = I[694], I[694] = I[695], I[695] = I[696], I[696] = I[697], I[697] = I[698], I[698] = I[699], I[699] = I[700], I[700] = I[701], I[701] = I[702], I[702] = I[703], I[703] = I[704], I[704] = I[705], I[705] = I[706], I[706] = I[707], I[707] = I[708], I[708] = I[709], I[709] = I[710], I[710] = I[711], I[711] = I[712], I[712] = I[713], I[713] = I[714], I[714] = I[715], I[715] = I[716], I[716] = I[717], I[717] = I[718], I[718] = I[719], \
+ I[720] = I[721], I[721] = I[722], I[722] = I[723], I[723] = I[724], I[724] = I[725], I[725] = I[726], I[726] = I[727], I[727] = I[728], I[728] = I[729], I[729] = I[730], I[730] = I[731], I[731] = I[732], I[732] = I[733], I[733] = I[734], I[734] = I[735], I[735] = I[736], I[736] = I[737], I[737] = I[738], I[738] = I[739], I[739] = I[740], I[740] = I[741], I[741] = I[742], I[742] = I[743], I[743] = I[744], I[744] = I[745], I[745] = I[746], I[746] = I[747], I[747] = I[748], I[748] = I[749], \
+ I[750] = I[751], I[751] = I[752], I[752] = I[753], I[753] = I[754], I[754] = I[755], I[755] = I[756], I[756] = I[757], I[757] = I[758], I[758] = I[759], I[759] = I[760], I[760] = I[761], I[761] = I[762], I[762] = I[763], I[763] = I[764], I[764] = I[765], I[765] = I[766], I[766] = I[767], I[767] = I[768], I[768] = I[769], I[769] = I[770], I[770] = I[771], I[771] = I[772], I[772] = I[773], I[773] = I[774], I[774] = I[775], I[775] = I[776], I[776] = I[777], I[777] = I[778], I[778] = I[779], \
+ I[780] = I[781], I[781] = I[782], I[782] = I[783], I[783] = I[784], I[784] = I[785], I[785] = I[786], I[786] = I[787], I[787] = I[788], I[788] = I[789], I[789] = I[790], I[790] = I[791], I[791] = I[792], I[792] = I[793], I[793] = I[794], I[794] = I[795], I[795] = I[796], I[796] = I[797], I[797] = I[798], I[798] = I[799], I[799] = I[800], I[800] = I[801], I[801] = I[802], I[802] = I[803], I[803] = I[804], I[804] = I[805], I[805] = I[806], I[806] = I[807], I[807] = I[808], I[808] = I[809], \
+ I[810] = I[811], I[811] = I[812], I[812] = I[813], I[813] = I[814], I[814] = I[815], I[815] = I[816], I[816] = I[817], I[817] = I[818], I[818] = I[819], I[819] = I[820], I[820] = I[821], I[821] = I[822], I[822] = I[823], I[823] = I[824], I[824] = I[825], I[825] = I[826], I[826] = I[827], I[827] = I[828], I[828] = I[829], I[829] = I[830], I[830] = I[831], I[831] = I[832], I[832] = I[833], I[833] = I[834], I[834] = I[835], I[835] = I[836], I[836] = I[837], I[837] = I[838], I[838] = I[839], \
+ I[840] = I[841], I[841] = I[842], I[842] = I[843], I[843] = I[844], I[844] = I[845], I[845] = I[846], I[846] = I[847], I[847] = I[848], I[848] = I[849], I[849] = I[850], I[850] = I[851], I[851] = I[852], I[852] = I[853], I[853] = I[854], I[854] = I[855], I[855] = I[856], I[856] = I[857], I[857] = I[858], I[858] = I[859], I[859] = I[860], I[860] = I[861], I[861] = I[862], I[862] = I[863], I[863] = I[864], I[864] = I[865], I[865] = I[866], I[866] = I[867], I[867] = I[868], I[868] = I[869], \
+ I[870] = I[871], I[871] = I[872], I[872] = I[873], I[873] = I[874], I[874] = I[875], I[875] = I[876], I[876] = I[877], I[877] = I[878], I[878] = I[879], I[879] = I[880], I[880] = I[881], I[881] = I[882], I[882] = I[883], I[883] = I[884], I[884] = I[885], I[885] = I[886], I[886] = I[887], I[887] = I[888], I[888] = I[889], I[889] = I[890], I[890] = I[891], I[891] = I[892], I[892] = I[893], I[893] = I[894], I[894] = I[895], I[895] = I[896], I[896] = I[897], I[897] = I[898], I[898] = I[899], \
+ _p14##x = _p13##x, _p13##x = _p12##x, _p12##x = _p11##x, _p11##x = _p10##x, _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x, ++_n12##x, ++_n13##x, ++_n14##x, ++_n15##x)
+
+#define cimg_get30x30(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p14##x,_p14##y,z,c), I[1] = (T)(img)(_p13##x,_p14##y,z,c), I[2] = (T)(img)(_p12##x,_p14##y,z,c), I[3] = (T)(img)(_p11##x,_p14##y,z,c), I[4] = (T)(img)(_p10##x,_p14##y,z,c), I[5] = (T)(img)(_p9##x,_p14##y,z,c), I[6] = (T)(img)(_p8##x,_p14##y,z,c), I[7] = (T)(img)(_p7##x,_p14##y,z,c), I[8] = (T)(img)(_p6##x,_p14##y,z,c), I[9] = (T)(img)(_p5##x,_p14##y,z,c), I[10] = (T)(img)(_p4##x,_p14##y,z,c), I[11] = (T)(img)(_p3##x,_p14##y,z,c), I[12] = (T)(img)(_p2##x,_p14##y,z,c), I[ [...]
+ I[30] = (T)(img)(_p14##x,_p13##y,z,c), I[31] = (T)(img)(_p13##x,_p13##y,z,c), I[32] = (T)(img)(_p12##x,_p13##y,z,c), I[33] = (T)(img)(_p11##x,_p13##y,z,c), I[34] = (T)(img)(_p10##x,_p13##y,z,c), I[35] = (T)(img)(_p9##x,_p13##y,z,c), I[36] = (T)(img)(_p8##x,_p13##y,z,c), I[37] = (T)(img)(_p7##x,_p13##y,z,c), I[38] = (T)(img)(_p6##x,_p13##y,z,c), I[39] = (T)(img)(_p5##x,_p13##y,z,c), I[40] = (T)(img)(_p4##x,_p13##y,z,c), I[41] = (T)(img)(_p3##x,_p13##y,z,c), I[42] = (T)(img)(_p2##x,_p13## [...]
+ I[60] = (T)(img)(_p14##x,_p12##y,z,c), I[61] = (T)(img)(_p13##x,_p12##y,z,c), I[62] = (T)(img)(_p12##x,_p12##y,z,c), I[63] = (T)(img)(_p11##x,_p12##y,z,c), I[64] = (T)(img)(_p10##x,_p12##y,z,c), I[65] = (T)(img)(_p9##x,_p12##y,z,c), I[66] = (T)(img)(_p8##x,_p12##y,z,c), I[67] = (T)(img)(_p7##x,_p12##y,z,c), I[68] = (T)(img)(_p6##x,_p12##y,z,c), I[69] = (T)(img)(_p5##x,_p12##y,z,c), I[70] = (T)(img)(_p4##x,_p12##y,z,c), I[71] = (T)(img)(_p3##x,_p12##y,z,c), I[72] = (T)(img)(_p2##x,_p12## [...]
+ I[90] = (T)(img)(_p14##x,_p11##y,z,c), I[91] = (T)(img)(_p13##x,_p11##y,z,c), I[92] = (T)(img)(_p12##x,_p11##y,z,c), I[93] = (T)(img)(_p11##x,_p11##y,z,c), I[94] = (T)(img)(_p10##x,_p11##y,z,c), I[95] = (T)(img)(_p9##x,_p11##y,z,c), I[96] = (T)(img)(_p8##x,_p11##y,z,c), I[97] = (T)(img)(_p7##x,_p11##y,z,c), I[98] = (T)(img)(_p6##x,_p11##y,z,c), I[99] = (T)(img)(_p5##x,_p11##y,z,c), I[100] = (T)(img)(_p4##x,_p11##y,z,c), I[101] = (T)(img)(_p3##x,_p11##y,z,c), I[102] = (T)(img)(_p2##x,_p1 [...]
+ I[120] = (T)(img)(_p14##x,_p10##y,z,c), I[121] = (T)(img)(_p13##x,_p10##y,z,c), I[122] = (T)(img)(_p12##x,_p10##y,z,c), I[123] = (T)(img)(_p11##x,_p10##y,z,c), I[124] = (T)(img)(_p10##x,_p10##y,z,c), I[125] = (T)(img)(_p9##x,_p10##y,z,c), I[126] = (T)(img)(_p8##x,_p10##y,z,c), I[127] = (T)(img)(_p7##x,_p10##y,z,c), I[128] = (T)(img)(_p6##x,_p10##y,z,c), I[129] = (T)(img)(_p5##x,_p10##y,z,c), I[130] = (T)(img)(_p4##x,_p10##y,z,c), I[131] = (T)(img)(_p3##x,_p10##y,z,c), I[132] = (T)(img)( [...]
+ I[150] = (T)(img)(_p14##x,_p9##y,z,c), I[151] = (T)(img)(_p13##x,_p9##y,z,c), I[152] = (T)(img)(_p12##x,_p9##y,z,c), I[153] = (T)(img)(_p11##x,_p9##y,z,c), I[154] = (T)(img)(_p10##x,_p9##y,z,c), I[155] = (T)(img)(_p9##x,_p9##y,z,c), I[156] = (T)(img)(_p8##x,_p9##y,z,c), I[157] = (T)(img)(_p7##x,_p9##y,z,c), I[158] = (T)(img)(_p6##x,_p9##y,z,c), I[159] = (T)(img)(_p5##x,_p9##y,z,c), I[160] = (T)(img)(_p4##x,_p9##y,z,c), I[161] = (T)(img)(_p3##x,_p9##y,z,c), I[162] = (T)(img)(_p2##x,_p9## [...]
+ I[180] = (T)(img)(_p14##x,_p8##y,z,c), I[181] = (T)(img)(_p13##x,_p8##y,z,c), I[182] = (T)(img)(_p12##x,_p8##y,z,c), I[183] = (T)(img)(_p11##x,_p8##y,z,c), I[184] = (T)(img)(_p10##x,_p8##y,z,c), I[185] = (T)(img)(_p9##x,_p8##y,z,c), I[186] = (T)(img)(_p8##x,_p8##y,z,c), I[187] = (T)(img)(_p7##x,_p8##y,z,c), I[188] = (T)(img)(_p6##x,_p8##y,z,c), I[189] = (T)(img)(_p5##x,_p8##y,z,c), I[190] = (T)(img)(_p4##x,_p8##y,z,c), I[191] = (T)(img)(_p3##x,_p8##y,z,c), I[192] = (T)(img)(_p2##x,_p8## [...]
+ I[210] = (T)(img)(_p14##x,_p7##y,z,c), I[211] = (T)(img)(_p13##x,_p7##y,z,c), I[212] = (T)(img)(_p12##x,_p7##y,z,c), I[213] = (T)(img)(_p11##x,_p7##y,z,c), I[214] = (T)(img)(_p10##x,_p7##y,z,c), I[215] = (T)(img)(_p9##x,_p7##y,z,c), I[216] = (T)(img)(_p8##x,_p7##y,z,c), I[217] = (T)(img)(_p7##x,_p7##y,z,c), I[218] = (T)(img)(_p6##x,_p7##y,z,c), I[219] = (T)(img)(_p5##x,_p7##y,z,c), I[220] = (T)(img)(_p4##x,_p7##y,z,c), I[221] = (T)(img)(_p3##x,_p7##y,z,c), I[222] = (T)(img)(_p2##x,_p7## [...]
+ I[240] = (T)(img)(_p14##x,_p6##y,z,c), I[241] = (T)(img)(_p13##x,_p6##y,z,c), I[242] = (T)(img)(_p12##x,_p6##y,z,c), I[243] = (T)(img)(_p11##x,_p6##y,z,c), I[244] = (T)(img)(_p10##x,_p6##y,z,c), I[245] = (T)(img)(_p9##x,_p6##y,z,c), I[246] = (T)(img)(_p8##x,_p6##y,z,c), I[247] = (T)(img)(_p7##x,_p6##y,z,c), I[248] = (T)(img)(_p6##x,_p6##y,z,c), I[249] = (T)(img)(_p5##x,_p6##y,z,c), I[250] = (T)(img)(_p4##x,_p6##y,z,c), I[251] = (T)(img)(_p3##x,_p6##y,z,c), I[252] = (T)(img)(_p2##x,_p6## [...]
+ I[270] = (T)(img)(_p14##x,_p5##y,z,c), I[271] = (T)(img)(_p13##x,_p5##y,z,c), I[272] = (T)(img)(_p12##x,_p5##y,z,c), I[273] = (T)(img)(_p11##x,_p5##y,z,c), I[274] = (T)(img)(_p10##x,_p5##y,z,c), I[275] = (T)(img)(_p9##x,_p5##y,z,c), I[276] = (T)(img)(_p8##x,_p5##y,z,c), I[277] = (T)(img)(_p7##x,_p5##y,z,c), I[278] = (T)(img)(_p6##x,_p5##y,z,c), I[279] = (T)(img)(_p5##x,_p5##y,z,c), I[280] = (T)(img)(_p4##x,_p5##y,z,c), I[281] = (T)(img)(_p3##x,_p5##y,z,c), I[282] = (T)(img)(_p2##x,_p5## [...]
+ I[300] = (T)(img)(_p14##x,_p4##y,z,c), I[301] = (T)(img)(_p13##x,_p4##y,z,c), I[302] = (T)(img)(_p12##x,_p4##y,z,c), I[303] = (T)(img)(_p11##x,_p4##y,z,c), I[304] = (T)(img)(_p10##x,_p4##y,z,c), I[305] = (T)(img)(_p9##x,_p4##y,z,c), I[306] = (T)(img)(_p8##x,_p4##y,z,c), I[307] = (T)(img)(_p7##x,_p4##y,z,c), I[308] = (T)(img)(_p6##x,_p4##y,z,c), I[309] = (T)(img)(_p5##x,_p4##y,z,c), I[310] = (T)(img)(_p4##x,_p4##y,z,c), I[311] = (T)(img)(_p3##x,_p4##y,z,c), I[312] = (T)(img)(_p2##x,_p4## [...]
+ I[330] = (T)(img)(_p14##x,_p3##y,z,c), I[331] = (T)(img)(_p13##x,_p3##y,z,c), I[332] = (T)(img)(_p12##x,_p3##y,z,c), I[333] = (T)(img)(_p11##x,_p3##y,z,c), I[334] = (T)(img)(_p10##x,_p3##y,z,c), I[335] = (T)(img)(_p9##x,_p3##y,z,c), I[336] = (T)(img)(_p8##x,_p3##y,z,c), I[337] = (T)(img)(_p7##x,_p3##y,z,c), I[338] = (T)(img)(_p6##x,_p3##y,z,c), I[339] = (T)(img)(_p5##x,_p3##y,z,c), I[340] = (T)(img)(_p4##x,_p3##y,z,c), I[341] = (T)(img)(_p3##x,_p3##y,z,c), I[342] = (T)(img)(_p2##x,_p3## [...]
+ I[360] = (T)(img)(_p14##x,_p2##y,z,c), I[361] = (T)(img)(_p13##x,_p2##y,z,c), I[362] = (T)(img)(_p12##x,_p2##y,z,c), I[363] = (T)(img)(_p11##x,_p2##y,z,c), I[364] = (T)(img)(_p10##x,_p2##y,z,c), I[365] = (T)(img)(_p9##x,_p2##y,z,c), I[366] = (T)(img)(_p8##x,_p2##y,z,c), I[367] = (T)(img)(_p7##x,_p2##y,z,c), I[368] = (T)(img)(_p6##x,_p2##y,z,c), I[369] = (T)(img)(_p5##x,_p2##y,z,c), I[370] = (T)(img)(_p4##x,_p2##y,z,c), I[371] = (T)(img)(_p3##x,_p2##y,z,c), I[372] = (T)(img)(_p2##x,_p2## [...]
+ I[390] = (T)(img)(_p14##x,_p1##y,z,c), I[391] = (T)(img)(_p13##x,_p1##y,z,c), I[392] = (T)(img)(_p12##x,_p1##y,z,c), I[393] = (T)(img)(_p11##x,_p1##y,z,c), I[394] = (T)(img)(_p10##x,_p1##y,z,c), I[395] = (T)(img)(_p9##x,_p1##y,z,c), I[396] = (T)(img)(_p8##x,_p1##y,z,c), I[397] = (T)(img)(_p7##x,_p1##y,z,c), I[398] = (T)(img)(_p6##x,_p1##y,z,c), I[399] = (T)(img)(_p5##x,_p1##y,z,c), I[400] = (T)(img)(_p4##x,_p1##y,z,c), I[401] = (T)(img)(_p3##x,_p1##y,z,c), I[402] = (T)(img)(_p2##x,_p1## [...]
+ I[420] = (T)(img)(_p14##x,y,z,c), I[421] = (T)(img)(_p13##x,y,z,c), I[422] = (T)(img)(_p12##x,y,z,c), I[423] = (T)(img)(_p11##x,y,z,c), I[424] = (T)(img)(_p10##x,y,z,c), I[425] = (T)(img)(_p9##x,y,z,c), I[426] = (T)(img)(_p8##x,y,z,c), I[427] = (T)(img)(_p7##x,y,z,c), I[428] = (T)(img)(_p6##x,y,z,c), I[429] = (T)(img)(_p5##x,y,z,c), I[430] = (T)(img)(_p4##x,y,z,c), I[431] = (T)(img)(_p3##x,y,z,c), I[432] = (T)(img)(_p2##x,y,z,c), I[433] = (T)(img)(_p1##x,y,z,c), I[434] = (T)(img)(x,y,z, [...]
+ I[450] = (T)(img)(_p14##x,_n1##y,z,c), I[451] = (T)(img)(_p13##x,_n1##y,z,c), I[452] = (T)(img)(_p12##x,_n1##y,z,c), I[453] = (T)(img)(_p11##x,_n1##y,z,c), I[454] = (T)(img)(_p10##x,_n1##y,z,c), I[455] = (T)(img)(_p9##x,_n1##y,z,c), I[456] = (T)(img)(_p8##x,_n1##y,z,c), I[457] = (T)(img)(_p7##x,_n1##y,z,c), I[458] = (T)(img)(_p6##x,_n1##y,z,c), I[459] = (T)(img)(_p5##x,_n1##y,z,c), I[460] = (T)(img)(_p4##x,_n1##y,z,c), I[461] = (T)(img)(_p3##x,_n1##y,z,c), I[462] = (T)(img)(_p2##x,_n1## [...]
+ I[480] = (T)(img)(_p14##x,_n2##y,z,c), I[481] = (T)(img)(_p13##x,_n2##y,z,c), I[482] = (T)(img)(_p12##x,_n2##y,z,c), I[483] = (T)(img)(_p11##x,_n2##y,z,c), I[484] = (T)(img)(_p10##x,_n2##y,z,c), I[485] = (T)(img)(_p9##x,_n2##y,z,c), I[486] = (T)(img)(_p8##x,_n2##y,z,c), I[487] = (T)(img)(_p7##x,_n2##y,z,c), I[488] = (T)(img)(_p6##x,_n2##y,z,c), I[489] = (T)(img)(_p5##x,_n2##y,z,c), I[490] = (T)(img)(_p4##x,_n2##y,z,c), I[491] = (T)(img)(_p3##x,_n2##y,z,c), I[492] = (T)(img)(_p2##x,_n2## [...]
+ I[510] = (T)(img)(_p14##x,_n3##y,z,c), I[511] = (T)(img)(_p13##x,_n3##y,z,c), I[512] = (T)(img)(_p12##x,_n3##y,z,c), I[513] = (T)(img)(_p11##x,_n3##y,z,c), I[514] = (T)(img)(_p10##x,_n3##y,z,c), I[515] = (T)(img)(_p9##x,_n3##y,z,c), I[516] = (T)(img)(_p8##x,_n3##y,z,c), I[517] = (T)(img)(_p7##x,_n3##y,z,c), I[518] = (T)(img)(_p6##x,_n3##y,z,c), I[519] = (T)(img)(_p5##x,_n3##y,z,c), I[520] = (T)(img)(_p4##x,_n3##y,z,c), I[521] = (T)(img)(_p3##x,_n3##y,z,c), I[522] = (T)(img)(_p2##x,_n3## [...]
+ I[540] = (T)(img)(_p14##x,_n4##y,z,c), I[541] = (T)(img)(_p13##x,_n4##y,z,c), I[542] = (T)(img)(_p12##x,_n4##y,z,c), I[543] = (T)(img)(_p11##x,_n4##y,z,c), I[544] = (T)(img)(_p10##x,_n4##y,z,c), I[545] = (T)(img)(_p9##x,_n4##y,z,c), I[546] = (T)(img)(_p8##x,_n4##y,z,c), I[547] = (T)(img)(_p7##x,_n4##y,z,c), I[548] = (T)(img)(_p6##x,_n4##y,z,c), I[549] = (T)(img)(_p5##x,_n4##y,z,c), I[550] = (T)(img)(_p4##x,_n4##y,z,c), I[551] = (T)(img)(_p3##x,_n4##y,z,c), I[552] = (T)(img)(_p2##x,_n4## [...]
+ I[570] = (T)(img)(_p14##x,_n5##y,z,c), I[571] = (T)(img)(_p13##x,_n5##y,z,c), I[572] = (T)(img)(_p12##x,_n5##y,z,c), I[573] = (T)(img)(_p11##x,_n5##y,z,c), I[574] = (T)(img)(_p10##x,_n5##y,z,c), I[575] = (T)(img)(_p9##x,_n5##y,z,c), I[576] = (T)(img)(_p8##x,_n5##y,z,c), I[577] = (T)(img)(_p7##x,_n5##y,z,c), I[578] = (T)(img)(_p6##x,_n5##y,z,c), I[579] = (T)(img)(_p5##x,_n5##y,z,c), I[580] = (T)(img)(_p4##x,_n5##y,z,c), I[581] = (T)(img)(_p3##x,_n5##y,z,c), I[582] = (T)(img)(_p2##x,_n5## [...]
+ I[600] = (T)(img)(_p14##x,_n6##y,z,c), I[601] = (T)(img)(_p13##x,_n6##y,z,c), I[602] = (T)(img)(_p12##x,_n6##y,z,c), I[603] = (T)(img)(_p11##x,_n6##y,z,c), I[604] = (T)(img)(_p10##x,_n6##y,z,c), I[605] = (T)(img)(_p9##x,_n6##y,z,c), I[606] = (T)(img)(_p8##x,_n6##y,z,c), I[607] = (T)(img)(_p7##x,_n6##y,z,c), I[608] = (T)(img)(_p6##x,_n6##y,z,c), I[609] = (T)(img)(_p5##x,_n6##y,z,c), I[610] = (T)(img)(_p4##x,_n6##y,z,c), I[611] = (T)(img)(_p3##x,_n6##y,z,c), I[612] = (T)(img)(_p2##x,_n6## [...]
+ I[630] = (T)(img)(_p14##x,_n7##y,z,c), I[631] = (T)(img)(_p13##x,_n7##y,z,c), I[632] = (T)(img)(_p12##x,_n7##y,z,c), I[633] = (T)(img)(_p11##x,_n7##y,z,c), I[634] = (T)(img)(_p10##x,_n7##y,z,c), I[635] = (T)(img)(_p9##x,_n7##y,z,c), I[636] = (T)(img)(_p8##x,_n7##y,z,c), I[637] = (T)(img)(_p7##x,_n7##y,z,c), I[638] = (T)(img)(_p6##x,_n7##y,z,c), I[639] = (T)(img)(_p5##x,_n7##y,z,c), I[640] = (T)(img)(_p4##x,_n7##y,z,c), I[641] = (T)(img)(_p3##x,_n7##y,z,c), I[642] = (T)(img)(_p2##x,_n7## [...]
+ I[660] = (T)(img)(_p14##x,_n8##y,z,c), I[661] = (T)(img)(_p13##x,_n8##y,z,c), I[662] = (T)(img)(_p12##x,_n8##y,z,c), I[663] = (T)(img)(_p11##x,_n8##y,z,c), I[664] = (T)(img)(_p10##x,_n8##y,z,c), I[665] = (T)(img)(_p9##x,_n8##y,z,c), I[666] = (T)(img)(_p8##x,_n8##y,z,c), I[667] = (T)(img)(_p7##x,_n8##y,z,c), I[668] = (T)(img)(_p6##x,_n8##y,z,c), I[669] = (T)(img)(_p5##x,_n8##y,z,c), I[670] = (T)(img)(_p4##x,_n8##y,z,c), I[671] = (T)(img)(_p3##x,_n8##y,z,c), I[672] = (T)(img)(_p2##x,_n8## [...]
+ I[690] = (T)(img)(_p14##x,_n9##y,z,c), I[691] = (T)(img)(_p13##x,_n9##y,z,c), I[692] = (T)(img)(_p12##x,_n9##y,z,c), I[693] = (T)(img)(_p11##x,_n9##y,z,c), I[694] = (T)(img)(_p10##x,_n9##y,z,c), I[695] = (T)(img)(_p9##x,_n9##y,z,c), I[696] = (T)(img)(_p8##x,_n9##y,z,c), I[697] = (T)(img)(_p7##x,_n9##y,z,c), I[698] = (T)(img)(_p6##x,_n9##y,z,c), I[699] = (T)(img)(_p5##x,_n9##y,z,c), I[700] = (T)(img)(_p4##x,_n9##y,z,c), I[701] = (T)(img)(_p3##x,_n9##y,z,c), I[702] = (T)(img)(_p2##x,_n9## [...]
+ I[720] = (T)(img)(_p14##x,_n10##y,z,c), I[721] = (T)(img)(_p13##x,_n10##y,z,c), I[722] = (T)(img)(_p12##x,_n10##y,z,c), I[723] = (T)(img)(_p11##x,_n10##y,z,c), I[724] = (T)(img)(_p10##x,_n10##y,z,c), I[725] = (T)(img)(_p9##x,_n10##y,z,c), I[726] = (T)(img)(_p8##x,_n10##y,z,c), I[727] = (T)(img)(_p7##x,_n10##y,z,c), I[728] = (T)(img)(_p6##x,_n10##y,z,c), I[729] = (T)(img)(_p5##x,_n10##y,z,c), I[730] = (T)(img)(_p4##x,_n10##y,z,c), I[731] = (T)(img)(_p3##x,_n10##y,z,c), I[732] = (T)(img)( [...]
+ I[750] = (T)(img)(_p14##x,_n11##y,z,c), I[751] = (T)(img)(_p13##x,_n11##y,z,c), I[752] = (T)(img)(_p12##x,_n11##y,z,c), I[753] = (T)(img)(_p11##x,_n11##y,z,c), I[754] = (T)(img)(_p10##x,_n11##y,z,c), I[755] = (T)(img)(_p9##x,_n11##y,z,c), I[756] = (T)(img)(_p8##x,_n11##y,z,c), I[757] = (T)(img)(_p7##x,_n11##y,z,c), I[758] = (T)(img)(_p6##x,_n11##y,z,c), I[759] = (T)(img)(_p5##x,_n11##y,z,c), I[760] = (T)(img)(_p4##x,_n11##y,z,c), I[761] = (T)(img)(_p3##x,_n11##y,z,c), I[762] = (T)(img)( [...]
+ I[780] = (T)(img)(_p14##x,_n12##y,z,c), I[781] = (T)(img)(_p13##x,_n12##y,z,c), I[782] = (T)(img)(_p12##x,_n12##y,z,c), I[783] = (T)(img)(_p11##x,_n12##y,z,c), I[784] = (T)(img)(_p10##x,_n12##y,z,c), I[785] = (T)(img)(_p9##x,_n12##y,z,c), I[786] = (T)(img)(_p8##x,_n12##y,z,c), I[787] = (T)(img)(_p7##x,_n12##y,z,c), I[788] = (T)(img)(_p6##x,_n12##y,z,c), I[789] = (T)(img)(_p5##x,_n12##y,z,c), I[790] = (T)(img)(_p4##x,_n12##y,z,c), I[791] = (T)(img)(_p3##x,_n12##y,z,c), I[792] = (T)(img)( [...]
+ I[810] = (T)(img)(_p14##x,_n13##y,z,c), I[811] = (T)(img)(_p13##x,_n13##y,z,c), I[812] = (T)(img)(_p12##x,_n13##y,z,c), I[813] = (T)(img)(_p11##x,_n13##y,z,c), I[814] = (T)(img)(_p10##x,_n13##y,z,c), I[815] = (T)(img)(_p9##x,_n13##y,z,c), I[816] = (T)(img)(_p8##x,_n13##y,z,c), I[817] = (T)(img)(_p7##x,_n13##y,z,c), I[818] = (T)(img)(_p6##x,_n13##y,z,c), I[819] = (T)(img)(_p5##x,_n13##y,z,c), I[820] = (T)(img)(_p4##x,_n13##y,z,c), I[821] = (T)(img)(_p3##x,_n13##y,z,c), I[822] = (T)(img)( [...]
+ I[840] = (T)(img)(_p14##x,_n14##y,z,c), I[841] = (T)(img)(_p13##x,_n14##y,z,c), I[842] = (T)(img)(_p12##x,_n14##y,z,c), I[843] = (T)(img)(_p11##x,_n14##y,z,c), I[844] = (T)(img)(_p10##x,_n14##y,z,c), I[845] = (T)(img)(_p9##x,_n14##y,z,c), I[846] = (T)(img)(_p8##x,_n14##y,z,c), I[847] = (T)(img)(_p7##x,_n14##y,z,c), I[848] = (T)(img)(_p6##x,_n14##y,z,c), I[849] = (T)(img)(_p5##x,_n14##y,z,c), I[850] = (T)(img)(_p4##x,_n14##y,z,c), I[851] = (T)(img)(_p3##x,_n14##y,z,c), I[852] = (T)(img)( [...]
+ I[870] = (T)(img)(_p14##x,_n15##y,z,c), I[871] = (T)(img)(_p13##x,_n15##y,z,c), I[872] = (T)(img)(_p12##x,_n15##y,z,c), I[873] = (T)(img)(_p11##x,_n15##y,z,c), I[874] = (T)(img)(_p10##x,_n15##y,z,c), I[875] = (T)(img)(_p9##x,_n15##y,z,c), I[876] = (T)(img)(_p8##x,_n15##y,z,c), I[877] = (T)(img)(_p7##x,_n15##y,z,c), I[878] = (T)(img)(_p6##x,_n15##y,z,c), I[879] = (T)(img)(_p5##x,_n15##y,z,c), I[880] = (T)(img)(_p4##x,_n15##y,z,c), I[881] = (T)(img)(_p3##x,_n15##y,z,c), I[882] = (T)(img)( [...]
+
+// Define 31x31 loop macros
+//-------------------------
+#define cimg_for31(bound,i) for (int i = 0, \
+ _p15##i = 0, _p14##i = 0, _p13##i = 0, _p12##i = 0, _p11##i = 0, _p10##i = 0, _p9##i = 0, _p8##i = 0, _p7##i = 0, _p6##i = 0, _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5, \
+ _n6##i = 6>=(int)(bound)?(int)(bound) - 1:6, \
+ _n7##i = 7>=(int)(bound)?(int)(bound) - 1:7, \
+ _n8##i = 8>=(int)(bound)?(int)(bound) - 1:8, \
+ _n9##i = 9>=(int)(bound)?(int)(bound) - 1:9, \
+ _n10##i = 10>=(int)(bound)?(int)(bound) - 1:10, \
+ _n11##i = 11>=(int)(bound)?(int)(bound) - 1:11, \
+ _n12##i = 12>=(int)(bound)?(int)(bound) - 1:12, \
+ _n13##i = 13>=(int)(bound)?(int)(bound) - 1:13, \
+ _n14##i = 14>=(int)(bound)?(int)(bound) - 1:14, \
+ _n15##i = 15>=(int)(bound)?(int)(bound) - 1:15; \
+ _n15##i<(int)(bound) || _n14##i==--_n15##i || _n13##i==--_n14##i || _n12##i==--_n13##i || _n11##i==--_n12##i || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n15##i = _n14##i = _n13##i = _n12##i = _n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p15##i = _p14##i, _p14##i = _p13##i, _p13##i = _p12##i, _p12##i = _p11##i, _p11##i = _p10##i, _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i, ++_n12##i, ++_n13##i, ++_n14##i, ++_n15##i)
+
+#define cimg_for31X(img,x) cimg_for31((img)._width,x)
+#define cimg_for31Y(img,y) cimg_for31((img)._height,y)
+#define cimg_for31Z(img,z) cimg_for31((img)._depth,z)
+#define cimg_for31C(img,c) cimg_for31((img)._spectrum,c)
+#define cimg_for31XY(img,x,y) cimg_for31Y(img,y) cimg_for31X(img,x)
+#define cimg_for31XZ(img,x,z) cimg_for31Z(img,z) cimg_for31X(img,x)
+#define cimg_for31XC(img,x,c) cimg_for31C(img,c) cimg_for31X(img,x)
+#define cimg_for31YZ(img,y,z) cimg_for31Z(img,z) cimg_for31Y(img,y)
+#define cimg_for31YC(img,y,c) cimg_for31C(img,c) cimg_for31Y(img,y)
+#define cimg_for31ZC(img,z,c) cimg_for31C(img,c) cimg_for31Z(img,z)
+#define cimg_for31XYZ(img,x,y,z) cimg_for31Z(img,z) cimg_for31XY(img,x,y)
+#define cimg_for31XZC(img,x,z,c) cimg_for31C(img,c) cimg_for31XZ(img,x,z)
+#define cimg_for31YZC(img,y,z,c) cimg_for31C(img,c) cimg_for31YZ(img,y,z)
+#define cimg_for31XYZC(img,x,y,z,c) cimg_for31C(img,c) cimg_for31XYZ(img,x,y,z)
+
+#define cimg_for_in31(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p15##i = i - 15<0?0:i - 15, \
+ _p14##i = i - 14<0?0:i - 14, \
+ _p13##i = i - 13<0?0:i - 13, \
+ _p12##i = i - 12<0?0:i - 12, \
+ _p11##i = i - 11<0?0:i - 11, \
+ _p10##i = i - 10<0?0:i - 10, \
+ _p9##i = i - 9<0?0:i - 9, \
+ _p8##i = i - 8<0?0:i - 8, \
+ _p7##i = i - 7<0?0:i - 7, \
+ _p6##i = i - 6<0?0:i - 6, \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5, \
+ _n6##i = i + 6>=(int)(bound)?(int)(bound) - 1:i + 6, \
+ _n7##i = i + 7>=(int)(bound)?(int)(bound) - 1:i + 7, \
+ _n8##i = i + 8>=(int)(bound)?(int)(bound) - 1:i + 8, \
+ _n9##i = i + 9>=(int)(bound)?(int)(bound) - 1:i + 9, \
+ _n10##i = i + 10>=(int)(bound)?(int)(bound) - 1:i + 10, \
+ _n11##i = i + 11>=(int)(bound)?(int)(bound) - 1:i + 11, \
+ _n12##i = i + 12>=(int)(bound)?(int)(bound) - 1:i + 12, \
+ _n13##i = i + 13>=(int)(bound)?(int)(bound) - 1:i + 13, \
+ _n14##i = i + 14>=(int)(bound)?(int)(bound) - 1:i + 14, \
+ _n15##i = i + 15>=(int)(bound)?(int)(bound) - 1:i + 15; \
+ i<=(int)(i1) && (_n15##i<(int)(bound) || _n14##i==--_n15##i || _n13##i==--_n14##i || _n12##i==--_n13##i || _n11##i==--_n12##i || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n15##i = _n14##i = _n13##i = _n12##i = _n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p15##i = _p14##i, _p14##i = _p13##i, _p13##i = _p12##i, _p12##i = _p11##i, _p11##i = _p10##i, _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i, ++_n12##i, ++_n13##i, ++_n14##i, ++_n15##i)
+
+#define cimg_for_in31X(img,x0,x1,x) cimg_for_in31((img)._width,x0,x1,x)
+#define cimg_for_in31Y(img,y0,y1,y) cimg_for_in31((img)._height,y0,y1,y)
+#define cimg_for_in31Z(img,z0,z1,z) cimg_for_in31((img)._depth,z0,z1,z)
+#define cimg_for_in31C(img,c0,c1,c) cimg_for_in31((img)._spectrum,c0,c1,c)
+#define cimg_for_in31XY(img,x0,y0,x1,y1,x,y) cimg_for_in31Y(img,y0,y1,y) cimg_for_in31X(img,x0,x1,x)
+#define cimg_for_in31XZ(img,x0,z0,x1,z1,x,z) cimg_for_in31Z(img,z0,z1,z) cimg_for_in31X(img,x0,x1,x)
+#define cimg_for_in31XC(img,x0,c0,x1,c1,x,c) cimg_for_in31C(img,c0,c1,c) cimg_for_in31X(img,x0,x1,x)
+#define cimg_for_in31YZ(img,y0,z0,y1,z1,y,z) cimg_for_in31Z(img,z0,z1,z) cimg_for_in31Y(img,y0,y1,y)
+#define cimg_for_in31YC(img,y0,c0,y1,c1,y,c) cimg_for_in31C(img,c0,c1,c) cimg_for_in31Y(img,y0,y1,y)
+#define cimg_for_in31ZC(img,z0,c0,z1,c1,z,c) cimg_for_in31C(img,c0,c1,c) cimg_for_in31Z(img,z0,z1,z)
+#define cimg_for_in31XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in31Z(img,z0,z1,z) cimg_for_in31XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in31XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in31C(img,c0,c1,c) cimg_for_in31XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in31YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in31C(img,c0,c1,c) cimg_for_in31YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in31XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in31C(img,c0,c1,c) cimg_for_in31XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for31x31(img,x,y,z,c,I,T) \
+ cimg_for31((img)._height,y) for (int x = 0, \
+ _p15##x = 0, _p14##x = 0, _p13##x = 0, _p12##x = 0, _p11##x = 0, _p10##x = 0, _p9##x = 0, _p8##x = 0, _p7##x = 0, _p6##x = 0, _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = 5>=((img)._width)?(img).width() - 1:5, \
+ _n6##x = 6>=((img)._width)?(img).width() - 1:6, \
+ _n7##x = 7>=((img)._width)?(img).width() - 1:7, \
+ _n8##x = 8>=((img)._width)?(img).width() - 1:8, \
+ _n9##x = 9>=((img)._width)?(img).width() - 1:9, \
+ _n10##x = 10>=((img)._width)?(img).width() - 1:10, \
+ _n11##x = 11>=((img)._width)?(img).width() - 1:11, \
+ _n12##x = 12>=((img)._width)?(img).width() - 1:12, \
+ _n13##x = 13>=((img)._width)?(img).width() - 1:13, \
+ _n14##x = 14>=((img)._width)?(img).width() - 1:14, \
+ _n15##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = I[6] = I[7] = I[8] = I[9] = I[10] = I[11] = I[12] = I[13] = I[14] = I[15] = (T)(img)(0,_p15##y,z,c)), \
+ (I[31] = I[32] = I[33] = I[34] = I[35] = I[36] = I[37] = I[38] = I[39] = I[40] = I[41] = I[42] = I[43] = I[44] = I[45] = I[46] = (T)(img)(0,_p14##y,z,c)), \
+ (I[62] = I[63] = I[64] = I[65] = I[66] = I[67] = I[68] = I[69] = I[70] = I[71] = I[72] = I[73] = I[74] = I[75] = I[76] = I[77] = (T)(img)(0,_p13##y,z,c)), \
+ (I[93] = I[94] = I[95] = I[96] = I[97] = I[98] = I[99] = I[100] = I[101] = I[102] = I[103] = I[104] = I[105] = I[106] = I[107] = I[108] = (T)(img)(0,_p12##y,z,c)), \
+ (I[124] = I[125] = I[126] = I[127] = I[128] = I[129] = I[130] = I[131] = I[132] = I[133] = I[134] = I[135] = I[136] = I[137] = I[138] = I[139] = (T)(img)(0,_p11##y,z,c)), \
+ (I[155] = I[156] = I[157] = I[158] = I[159] = I[160] = I[161] = I[162] = I[163] = I[164] = I[165] = I[166] = I[167] = I[168] = I[169] = I[170] = (T)(img)(0,_p10##y,z,c)), \
+ (I[186] = I[187] = I[188] = I[189] = I[190] = I[191] = I[192] = I[193] = I[194] = I[195] = I[196] = I[197] = I[198] = I[199] = I[200] = I[201] = (T)(img)(0,_p9##y,z,c)), \
+ (I[217] = I[218] = I[219] = I[220] = I[221] = I[222] = I[223] = I[224] = I[225] = I[226] = I[227] = I[228] = I[229] = I[230] = I[231] = I[232] = (T)(img)(0,_p8##y,z,c)), \
+ (I[248] = I[249] = I[250] = I[251] = I[252] = I[253] = I[254] = I[255] = I[256] = I[257] = I[258] = I[259] = I[260] = I[261] = I[262] = I[263] = (T)(img)(0,_p7##y,z,c)), \
+ (I[279] = I[280] = I[281] = I[282] = I[283] = I[284] = I[285] = I[286] = I[287] = I[288] = I[289] = I[290] = I[291] = I[292] = I[293] = I[294] = (T)(img)(0,_p6##y,z,c)), \
+ (I[310] = I[311] = I[312] = I[313] = I[314] = I[315] = I[316] = I[317] = I[318] = I[319] = I[320] = I[321] = I[322] = I[323] = I[324] = I[325] = (T)(img)(0,_p5##y,z,c)), \
+ (I[341] = I[342] = I[343] = I[344] = I[345] = I[346] = I[347] = I[348] = I[349] = I[350] = I[351] = I[352] = I[353] = I[354] = I[355] = I[356] = (T)(img)(0,_p4##y,z,c)), \
+ (I[372] = I[373] = I[374] = I[375] = I[376] = I[377] = I[378] = I[379] = I[380] = I[381] = I[382] = I[383] = I[384] = I[385] = I[386] = I[387] = (T)(img)(0,_p3##y,z,c)), \
+ (I[403] = I[404] = I[405] = I[406] = I[407] = I[408] = I[409] = I[410] = I[411] = I[412] = I[413] = I[414] = I[415] = I[416] = I[417] = I[418] = (T)(img)(0,_p2##y,z,c)), \
+ (I[434] = I[435] = I[436] = I[437] = I[438] = I[439] = I[440] = I[441] = I[442] = I[443] = I[444] = I[445] = I[446] = I[447] = I[448] = I[449] = (T)(img)(0,_p1##y,z,c)), \
+ (I[465] = I[466] = I[467] = I[468] = I[469] = I[470] = I[471] = I[472] = I[473] = I[474] = I[475] = I[476] = I[477] = I[478] = I[479] = I[480] = (T)(img)(0,y,z,c)), \
+ (I[496] = I[497] = I[498] = I[499] = I[500] = I[501] = I[502] = I[503] = I[504] = I[505] = I[506] = I[507] = I[508] = I[509] = I[510] = I[511] = (T)(img)(0,_n1##y,z,c)), \
+ (I[527] = I[528] = I[529] = I[530] = I[531] = I[532] = I[533] = I[534] = I[535] = I[536] = I[537] = I[538] = I[539] = I[540] = I[541] = I[542] = (T)(img)(0,_n2##y,z,c)), \
+ (I[558] = I[559] = I[560] = I[561] = I[562] = I[563] = I[564] = I[565] = I[566] = I[567] = I[568] = I[569] = I[570] = I[571] = I[572] = I[573] = (T)(img)(0,_n3##y,z,c)), \
+ (I[589] = I[590] = I[591] = I[592] = I[593] = I[594] = I[595] = I[596] = I[597] = I[598] = I[599] = I[600] = I[601] = I[602] = I[603] = I[604] = (T)(img)(0,_n4##y,z,c)), \
+ (I[620] = I[621] = I[622] = I[623] = I[624] = I[625] = I[626] = I[627] = I[628] = I[629] = I[630] = I[631] = I[632] = I[633] = I[634] = I[635] = (T)(img)(0,_n5##y,z,c)), \
+ (I[651] = I[652] = I[653] = I[654] = I[655] = I[656] = I[657] = I[658] = I[659] = I[660] = I[661] = I[662] = I[663] = I[664] = I[665] = I[666] = (T)(img)(0,_n6##y,z,c)), \
+ (I[682] = I[683] = I[684] = I[685] = I[686] = I[687] = I[688] = I[689] = I[690] = I[691] = I[692] = I[693] = I[694] = I[695] = I[696] = I[697] = (T)(img)(0,_n7##y,z,c)), \
+ (I[713] = I[714] = I[715] = I[716] = I[717] = I[718] = I[719] = I[720] = I[721] = I[722] = I[723] = I[724] = I[725] = I[726] = I[727] = I[728] = (T)(img)(0,_n8##y,z,c)), \
+ (I[744] = I[745] = I[746] = I[747] = I[748] = I[749] = I[750] = I[751] = I[752] = I[753] = I[754] = I[755] = I[756] = I[757] = I[758] = I[759] = (T)(img)(0,_n9##y,z,c)), \
+ (I[775] = I[776] = I[777] = I[778] = I[779] = I[780] = I[781] = I[782] = I[783] = I[784] = I[785] = I[786] = I[787] = I[788] = I[789] = I[790] = (T)(img)(0,_n10##y,z,c)), \
+ (I[806] = I[807] = I[808] = I[809] = I[810] = I[811] = I[812] = I[813] = I[814] = I[815] = I[816] = I[817] = I[818] = I[819] = I[820] = I[821] = (T)(img)(0,_n11##y,z,c)), \
+ (I[837] = I[838] = I[839] = I[840] = I[841] = I[842] = I[843] = I[844] = I[845] = I[846] = I[847] = I[848] = I[849] = I[850] = I[851] = I[852] = (T)(img)(0,_n12##y,z,c)), \
+ (I[868] = I[869] = I[870] = I[871] = I[872] = I[873] = I[874] = I[875] = I[876] = I[877] = I[878] = I[879] = I[880] = I[881] = I[882] = I[883] = (T)(img)(0,_n13##y,z,c)), \
+ (I[899] = I[900] = I[901] = I[902] = I[903] = I[904] = I[905] = I[906] = I[907] = I[908] = I[909] = I[910] = I[911] = I[912] = I[913] = I[914] = (T)(img)(0,_n14##y,z,c)), \
+ (I[930] = I[931] = I[932] = I[933] = I[934] = I[935] = I[936] = I[937] = I[938] = I[939] = I[940] = I[941] = I[942] = I[943] = I[944] = I[945] = (T)(img)(0,_n15##y,z,c)), \
+ (I[16] = (T)(img)(_n1##x,_p15##y,z,c)), \
+ (I[47] = (T)(img)(_n1##x,_p14##y,z,c)), \
+ (I[78] = (T)(img)(_n1##x,_p13##y,z,c)), \
+ (I[109] = (T)(img)(_n1##x,_p12##y,z,c)), \
+ (I[140] = (T)(img)(_n1##x,_p11##y,z,c)), \
+ (I[171] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[202] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[233] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[264] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[295] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[326] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[357] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[388] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[419] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[450] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[481] = (T)(img)(_n1##x,y,z,c)), \
+ (I[512] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[543] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[574] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[605] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[636] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[667] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[698] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[729] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[760] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[791] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[822] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[853] = (T)(img)(_n1##x,_n12##y,z,c)), \
+ (I[884] = (T)(img)(_n1##x,_n13##y,z,c)), \
+ (I[915] = (T)(img)(_n1##x,_n14##y,z,c)), \
+ (I[946] = (T)(img)(_n1##x,_n15##y,z,c)), \
+ (I[17] = (T)(img)(_n2##x,_p15##y,z,c)), \
+ (I[48] = (T)(img)(_n2##x,_p14##y,z,c)), \
+ (I[79] = (T)(img)(_n2##x,_p13##y,z,c)), \
+ (I[110] = (T)(img)(_n2##x,_p12##y,z,c)), \
+ (I[141] = (T)(img)(_n2##x,_p11##y,z,c)), \
+ (I[172] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[203] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[234] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[265] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[296] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[327] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[358] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[389] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[420] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[451] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[482] = (T)(img)(_n2##x,y,z,c)), \
+ (I[513] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[544] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[575] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[606] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[637] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[668] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[699] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[730] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[761] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[792] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[823] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[854] = (T)(img)(_n2##x,_n12##y,z,c)), \
+ (I[885] = (T)(img)(_n2##x,_n13##y,z,c)), \
+ (I[916] = (T)(img)(_n2##x,_n14##y,z,c)), \
+ (I[947] = (T)(img)(_n2##x,_n15##y,z,c)), \
+ (I[18] = (T)(img)(_n3##x,_p15##y,z,c)), \
+ (I[49] = (T)(img)(_n3##x,_p14##y,z,c)), \
+ (I[80] = (T)(img)(_n3##x,_p13##y,z,c)), \
+ (I[111] = (T)(img)(_n3##x,_p12##y,z,c)), \
+ (I[142] = (T)(img)(_n3##x,_p11##y,z,c)), \
+ (I[173] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[204] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[235] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[266] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[297] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[328] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[359] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[390] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[421] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[452] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[483] = (T)(img)(_n3##x,y,z,c)), \
+ (I[514] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[545] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[576] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[607] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[638] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[669] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[700] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[731] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[762] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[793] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[824] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[855] = (T)(img)(_n3##x,_n12##y,z,c)), \
+ (I[886] = (T)(img)(_n3##x,_n13##y,z,c)), \
+ (I[917] = (T)(img)(_n3##x,_n14##y,z,c)), \
+ (I[948] = (T)(img)(_n3##x,_n15##y,z,c)), \
+ (I[19] = (T)(img)(_n4##x,_p15##y,z,c)), \
+ (I[50] = (T)(img)(_n4##x,_p14##y,z,c)), \
+ (I[81] = (T)(img)(_n4##x,_p13##y,z,c)), \
+ (I[112] = (T)(img)(_n4##x,_p12##y,z,c)), \
+ (I[143] = (T)(img)(_n4##x,_p11##y,z,c)), \
+ (I[174] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[205] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[236] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[267] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[298] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[329] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[360] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[391] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[422] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[453] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[484] = (T)(img)(_n4##x,y,z,c)), \
+ (I[515] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[546] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[577] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[608] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[639] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[670] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[701] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[732] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[763] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[794] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[825] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[856] = (T)(img)(_n4##x,_n12##y,z,c)), \
+ (I[887] = (T)(img)(_n4##x,_n13##y,z,c)), \
+ (I[918] = (T)(img)(_n4##x,_n14##y,z,c)), \
+ (I[949] = (T)(img)(_n4##x,_n15##y,z,c)), \
+ (I[20] = (T)(img)(_n5##x,_p15##y,z,c)), \
+ (I[51] = (T)(img)(_n5##x,_p14##y,z,c)), \
+ (I[82] = (T)(img)(_n5##x,_p13##y,z,c)), \
+ (I[113] = (T)(img)(_n5##x,_p12##y,z,c)), \
+ (I[144] = (T)(img)(_n5##x,_p11##y,z,c)), \
+ (I[175] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[206] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[237] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[268] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[299] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[330] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[361] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[392] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[423] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[454] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[485] = (T)(img)(_n5##x,y,z,c)), \
+ (I[516] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[547] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[578] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[609] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[640] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[671] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[702] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[733] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[764] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[795] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[826] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[857] = (T)(img)(_n5##x,_n12##y,z,c)), \
+ (I[888] = (T)(img)(_n5##x,_n13##y,z,c)), \
+ (I[919] = (T)(img)(_n5##x,_n14##y,z,c)), \
+ (I[950] = (T)(img)(_n5##x,_n15##y,z,c)), \
+ (I[21] = (T)(img)(_n6##x,_p15##y,z,c)), \
+ (I[52] = (T)(img)(_n6##x,_p14##y,z,c)), \
+ (I[83] = (T)(img)(_n6##x,_p13##y,z,c)), \
+ (I[114] = (T)(img)(_n6##x,_p12##y,z,c)), \
+ (I[145] = (T)(img)(_n6##x,_p11##y,z,c)), \
+ (I[176] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[207] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[238] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[269] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[300] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[331] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[362] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[393] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[424] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[455] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[486] = (T)(img)(_n6##x,y,z,c)), \
+ (I[517] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[548] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[579] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[610] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[641] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[672] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[703] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[734] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[765] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[796] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[827] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[858] = (T)(img)(_n6##x,_n12##y,z,c)), \
+ (I[889] = (T)(img)(_n6##x,_n13##y,z,c)), \
+ (I[920] = (T)(img)(_n6##x,_n14##y,z,c)), \
+ (I[951] = (T)(img)(_n6##x,_n15##y,z,c)), \
+ (I[22] = (T)(img)(_n7##x,_p15##y,z,c)), \
+ (I[53] = (T)(img)(_n7##x,_p14##y,z,c)), \
+ (I[84] = (T)(img)(_n7##x,_p13##y,z,c)), \
+ (I[115] = (T)(img)(_n7##x,_p12##y,z,c)), \
+ (I[146] = (T)(img)(_n7##x,_p11##y,z,c)), \
+ (I[177] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[208] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[239] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[270] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[301] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[332] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[363] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[394] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[425] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[456] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[487] = (T)(img)(_n7##x,y,z,c)), \
+ (I[518] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[549] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[580] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[611] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[642] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[673] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[704] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[735] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[766] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[797] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[828] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[859] = (T)(img)(_n7##x,_n12##y,z,c)), \
+ (I[890] = (T)(img)(_n7##x,_n13##y,z,c)), \
+ (I[921] = (T)(img)(_n7##x,_n14##y,z,c)), \
+ (I[952] = (T)(img)(_n7##x,_n15##y,z,c)), \
+ (I[23] = (T)(img)(_n8##x,_p15##y,z,c)), \
+ (I[54] = (T)(img)(_n8##x,_p14##y,z,c)), \
+ (I[85] = (T)(img)(_n8##x,_p13##y,z,c)), \
+ (I[116] = (T)(img)(_n8##x,_p12##y,z,c)), \
+ (I[147] = (T)(img)(_n8##x,_p11##y,z,c)), \
+ (I[178] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[209] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[240] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[271] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[302] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[333] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[364] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[395] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[426] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[457] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[488] = (T)(img)(_n8##x,y,z,c)), \
+ (I[519] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[550] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[581] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[612] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[643] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[674] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[705] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[736] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[767] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[798] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[829] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[860] = (T)(img)(_n8##x,_n12##y,z,c)), \
+ (I[891] = (T)(img)(_n8##x,_n13##y,z,c)), \
+ (I[922] = (T)(img)(_n8##x,_n14##y,z,c)), \
+ (I[953] = (T)(img)(_n8##x,_n15##y,z,c)), \
+ (I[24] = (T)(img)(_n9##x,_p15##y,z,c)), \
+ (I[55] = (T)(img)(_n9##x,_p14##y,z,c)), \
+ (I[86] = (T)(img)(_n9##x,_p13##y,z,c)), \
+ (I[117] = (T)(img)(_n9##x,_p12##y,z,c)), \
+ (I[148] = (T)(img)(_n9##x,_p11##y,z,c)), \
+ (I[179] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[210] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[241] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[272] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[303] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[334] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[365] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[396] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[427] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[458] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[489] = (T)(img)(_n9##x,y,z,c)), \
+ (I[520] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[551] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[582] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[613] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[644] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[675] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[706] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[737] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[768] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[799] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[830] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[861] = (T)(img)(_n9##x,_n12##y,z,c)), \
+ (I[892] = (T)(img)(_n9##x,_n13##y,z,c)), \
+ (I[923] = (T)(img)(_n9##x,_n14##y,z,c)), \
+ (I[954] = (T)(img)(_n9##x,_n15##y,z,c)), \
+ (I[25] = (T)(img)(_n10##x,_p15##y,z,c)), \
+ (I[56] = (T)(img)(_n10##x,_p14##y,z,c)), \
+ (I[87] = (T)(img)(_n10##x,_p13##y,z,c)), \
+ (I[118] = (T)(img)(_n10##x,_p12##y,z,c)), \
+ (I[149] = (T)(img)(_n10##x,_p11##y,z,c)), \
+ (I[180] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[211] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[242] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[273] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[304] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[335] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[366] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[397] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[428] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[459] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[490] = (T)(img)(_n10##x,y,z,c)), \
+ (I[521] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[552] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[583] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[614] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[645] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[676] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[707] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[738] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[769] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[800] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[831] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ (I[862] = (T)(img)(_n10##x,_n12##y,z,c)), \
+ (I[893] = (T)(img)(_n10##x,_n13##y,z,c)), \
+ (I[924] = (T)(img)(_n10##x,_n14##y,z,c)), \
+ (I[955] = (T)(img)(_n10##x,_n15##y,z,c)), \
+ (I[26] = (T)(img)(_n11##x,_p15##y,z,c)), \
+ (I[57] = (T)(img)(_n11##x,_p14##y,z,c)), \
+ (I[88] = (T)(img)(_n11##x,_p13##y,z,c)), \
+ (I[119] = (T)(img)(_n11##x,_p12##y,z,c)), \
+ (I[150] = (T)(img)(_n11##x,_p11##y,z,c)), \
+ (I[181] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[212] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[243] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[274] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[305] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[336] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[367] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[398] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[429] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[460] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[491] = (T)(img)(_n11##x,y,z,c)), \
+ (I[522] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[553] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[584] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[615] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[646] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[677] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[708] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[739] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[770] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[801] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[832] = (T)(img)(_n11##x,_n11##y,z,c)), \
+ (I[863] = (T)(img)(_n11##x,_n12##y,z,c)), \
+ (I[894] = (T)(img)(_n11##x,_n13##y,z,c)), \
+ (I[925] = (T)(img)(_n11##x,_n14##y,z,c)), \
+ (I[956] = (T)(img)(_n11##x,_n15##y,z,c)), \
+ (I[27] = (T)(img)(_n12##x,_p15##y,z,c)), \
+ (I[58] = (T)(img)(_n12##x,_p14##y,z,c)), \
+ (I[89] = (T)(img)(_n12##x,_p13##y,z,c)), \
+ (I[120] = (T)(img)(_n12##x,_p12##y,z,c)), \
+ (I[151] = (T)(img)(_n12##x,_p11##y,z,c)), \
+ (I[182] = (T)(img)(_n12##x,_p10##y,z,c)), \
+ (I[213] = (T)(img)(_n12##x,_p9##y,z,c)), \
+ (I[244] = (T)(img)(_n12##x,_p8##y,z,c)), \
+ (I[275] = (T)(img)(_n12##x,_p7##y,z,c)), \
+ (I[306] = (T)(img)(_n12##x,_p6##y,z,c)), \
+ (I[337] = (T)(img)(_n12##x,_p5##y,z,c)), \
+ (I[368] = (T)(img)(_n12##x,_p4##y,z,c)), \
+ (I[399] = (T)(img)(_n12##x,_p3##y,z,c)), \
+ (I[430] = (T)(img)(_n12##x,_p2##y,z,c)), \
+ (I[461] = (T)(img)(_n12##x,_p1##y,z,c)), \
+ (I[492] = (T)(img)(_n12##x,y,z,c)), \
+ (I[523] = (T)(img)(_n12##x,_n1##y,z,c)), \
+ (I[554] = (T)(img)(_n12##x,_n2##y,z,c)), \
+ (I[585] = (T)(img)(_n12##x,_n3##y,z,c)), \
+ (I[616] = (T)(img)(_n12##x,_n4##y,z,c)), \
+ (I[647] = (T)(img)(_n12##x,_n5##y,z,c)), \
+ (I[678] = (T)(img)(_n12##x,_n6##y,z,c)), \
+ (I[709] = (T)(img)(_n12##x,_n7##y,z,c)), \
+ (I[740] = (T)(img)(_n12##x,_n8##y,z,c)), \
+ (I[771] = (T)(img)(_n12##x,_n9##y,z,c)), \
+ (I[802] = (T)(img)(_n12##x,_n10##y,z,c)), \
+ (I[833] = (T)(img)(_n12##x,_n11##y,z,c)), \
+ (I[864] = (T)(img)(_n12##x,_n12##y,z,c)), \
+ (I[895] = (T)(img)(_n12##x,_n13##y,z,c)), \
+ (I[926] = (T)(img)(_n12##x,_n14##y,z,c)), \
+ (I[957] = (T)(img)(_n12##x,_n15##y,z,c)), \
+ (I[28] = (T)(img)(_n13##x,_p15##y,z,c)), \
+ (I[59] = (T)(img)(_n13##x,_p14##y,z,c)), \
+ (I[90] = (T)(img)(_n13##x,_p13##y,z,c)), \
+ (I[121] = (T)(img)(_n13##x,_p12##y,z,c)), \
+ (I[152] = (T)(img)(_n13##x,_p11##y,z,c)), \
+ (I[183] = (T)(img)(_n13##x,_p10##y,z,c)), \
+ (I[214] = (T)(img)(_n13##x,_p9##y,z,c)), \
+ (I[245] = (T)(img)(_n13##x,_p8##y,z,c)), \
+ (I[276] = (T)(img)(_n13##x,_p7##y,z,c)), \
+ (I[307] = (T)(img)(_n13##x,_p6##y,z,c)), \
+ (I[338] = (T)(img)(_n13##x,_p5##y,z,c)), \
+ (I[369] = (T)(img)(_n13##x,_p4##y,z,c)), \
+ (I[400] = (T)(img)(_n13##x,_p3##y,z,c)), \
+ (I[431] = (T)(img)(_n13##x,_p2##y,z,c)), \
+ (I[462] = (T)(img)(_n13##x,_p1##y,z,c)), \
+ (I[493] = (T)(img)(_n13##x,y,z,c)), \
+ (I[524] = (T)(img)(_n13##x,_n1##y,z,c)), \
+ (I[555] = (T)(img)(_n13##x,_n2##y,z,c)), \
+ (I[586] = (T)(img)(_n13##x,_n3##y,z,c)), \
+ (I[617] = (T)(img)(_n13##x,_n4##y,z,c)), \
+ (I[648] = (T)(img)(_n13##x,_n5##y,z,c)), \
+ (I[679] = (T)(img)(_n13##x,_n6##y,z,c)), \
+ (I[710] = (T)(img)(_n13##x,_n7##y,z,c)), \
+ (I[741] = (T)(img)(_n13##x,_n8##y,z,c)), \
+ (I[772] = (T)(img)(_n13##x,_n9##y,z,c)), \
+ (I[803] = (T)(img)(_n13##x,_n10##y,z,c)), \
+ (I[834] = (T)(img)(_n13##x,_n11##y,z,c)), \
+ (I[865] = (T)(img)(_n13##x,_n12##y,z,c)), \
+ (I[896] = (T)(img)(_n13##x,_n13##y,z,c)), \
+ (I[927] = (T)(img)(_n13##x,_n14##y,z,c)), \
+ (I[958] = (T)(img)(_n13##x,_n15##y,z,c)), \
+ (I[29] = (T)(img)(_n14##x,_p15##y,z,c)), \
+ (I[60] = (T)(img)(_n14##x,_p14##y,z,c)), \
+ (I[91] = (T)(img)(_n14##x,_p13##y,z,c)), \
+ (I[122] = (T)(img)(_n14##x,_p12##y,z,c)), \
+ (I[153] = (T)(img)(_n14##x,_p11##y,z,c)), \
+ (I[184] = (T)(img)(_n14##x,_p10##y,z,c)), \
+ (I[215] = (T)(img)(_n14##x,_p9##y,z,c)), \
+ (I[246] = (T)(img)(_n14##x,_p8##y,z,c)), \
+ (I[277] = (T)(img)(_n14##x,_p7##y,z,c)), \
+ (I[308] = (T)(img)(_n14##x,_p6##y,z,c)), \
+ (I[339] = (T)(img)(_n14##x,_p5##y,z,c)), \
+ (I[370] = (T)(img)(_n14##x,_p4##y,z,c)), \
+ (I[401] = (T)(img)(_n14##x,_p3##y,z,c)), \
+ (I[432] = (T)(img)(_n14##x,_p2##y,z,c)), \
+ (I[463] = (T)(img)(_n14##x,_p1##y,z,c)), \
+ (I[494] = (T)(img)(_n14##x,y,z,c)), \
+ (I[525] = (T)(img)(_n14##x,_n1##y,z,c)), \
+ (I[556] = (T)(img)(_n14##x,_n2##y,z,c)), \
+ (I[587] = (T)(img)(_n14##x,_n3##y,z,c)), \
+ (I[618] = (T)(img)(_n14##x,_n4##y,z,c)), \
+ (I[649] = (T)(img)(_n14##x,_n5##y,z,c)), \
+ (I[680] = (T)(img)(_n14##x,_n6##y,z,c)), \
+ (I[711] = (T)(img)(_n14##x,_n7##y,z,c)), \
+ (I[742] = (T)(img)(_n14##x,_n8##y,z,c)), \
+ (I[773] = (T)(img)(_n14##x,_n9##y,z,c)), \
+ (I[804] = (T)(img)(_n14##x,_n10##y,z,c)), \
+ (I[835] = (T)(img)(_n14##x,_n11##y,z,c)), \
+ (I[866] = (T)(img)(_n14##x,_n12##y,z,c)), \
+ (I[897] = (T)(img)(_n14##x,_n13##y,z,c)), \
+ (I[928] = (T)(img)(_n14##x,_n14##y,z,c)), \
+ (I[959] = (T)(img)(_n14##x,_n15##y,z,c)), \
+ 15>=((img)._width)?(img).width() - 1:15); \
+ (_n15##x<(img).width() && ( \
+ (I[30] = (T)(img)(_n15##x,_p15##y,z,c)), \
+ (I[61] = (T)(img)(_n15##x,_p14##y,z,c)), \
+ (I[92] = (T)(img)(_n15##x,_p13##y,z,c)), \
+ (I[123] = (T)(img)(_n15##x,_p12##y,z,c)), \
+ (I[154] = (T)(img)(_n15##x,_p11##y,z,c)), \
+ (I[185] = (T)(img)(_n15##x,_p10##y,z,c)), \
+ (I[216] = (T)(img)(_n15##x,_p9##y,z,c)), \
+ (I[247] = (T)(img)(_n15##x,_p8##y,z,c)), \
+ (I[278] = (T)(img)(_n15##x,_p7##y,z,c)), \
+ (I[309] = (T)(img)(_n15##x,_p6##y,z,c)), \
+ (I[340] = (T)(img)(_n15##x,_p5##y,z,c)), \
+ (I[371] = (T)(img)(_n15##x,_p4##y,z,c)), \
+ (I[402] = (T)(img)(_n15##x,_p3##y,z,c)), \
+ (I[433] = (T)(img)(_n15##x,_p2##y,z,c)), \
+ (I[464] = (T)(img)(_n15##x,_p1##y,z,c)), \
+ (I[495] = (T)(img)(_n15##x,y,z,c)), \
+ (I[526] = (T)(img)(_n15##x,_n1##y,z,c)), \
+ (I[557] = (T)(img)(_n15##x,_n2##y,z,c)), \
+ (I[588] = (T)(img)(_n15##x,_n3##y,z,c)), \
+ (I[619] = (T)(img)(_n15##x,_n4##y,z,c)), \
+ (I[650] = (T)(img)(_n15##x,_n5##y,z,c)), \
+ (I[681] = (T)(img)(_n15##x,_n6##y,z,c)), \
+ (I[712] = (T)(img)(_n15##x,_n7##y,z,c)), \
+ (I[743] = (T)(img)(_n15##x,_n8##y,z,c)), \
+ (I[774] = (T)(img)(_n15##x,_n9##y,z,c)), \
+ (I[805] = (T)(img)(_n15##x,_n10##y,z,c)), \
+ (I[836] = (T)(img)(_n15##x,_n11##y,z,c)), \
+ (I[867] = (T)(img)(_n15##x,_n12##y,z,c)), \
+ (I[898] = (T)(img)(_n15##x,_n13##y,z,c)), \
+ (I[929] = (T)(img)(_n15##x,_n14##y,z,c)), \
+ (I[960] = (T)(img)(_n15##x,_n15##y,z,c)),1)) || \
+ _n14##x==--_n15##x || _n13##x==--_n14##x || _n12##x==--_n13##x || _n11##x==--_n12##x || _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n15##x = _n14##x = _n13##x = _n12##x = _n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], \
+ I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], \
+ I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], \
+ I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], \
+ I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153] [...]
+ I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184] [...]
+ I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215] [...]
+ I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246] [...]
+ I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277] [...]
+ I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308] [...]
+ I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], I[337] = I[338], I[338] = I[339] [...]
+ I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], I[359] = I[360], I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370] [...]
+ I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], I[376] = I[377], I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], I[399] = I[400], I[400] = I[401] [...]
+ I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], I[415] = I[416], I[416] = I[417], I[417] = I[418], I[418] = I[419], I[419] = I[420], I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], I[431] = I[432] [...]
+ I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], I[439] = I[440], I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], I[447] = I[448], I[448] = I[449], I[449] = I[450], I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], I[455] = I[456], I[456] = I[457], I[457] = I[458], I[458] = I[459], I[459] = I[460], I[460] = I[461], I[461] = I[462], I[462] = I[463] [...]
+ I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], I[474] = I[475], I[475] = I[476], I[476] = I[477], I[477] = I[478], I[478] = I[479], I[479] = I[480], I[480] = I[481], I[481] = I[482], I[482] = I[483], I[483] = I[484], I[484] = I[485], I[485] = I[486], I[486] = I[487], I[487] = I[488], I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], I[492] = I[493], I[493] = I[494] [...]
+ I[496] = I[497], I[497] = I[498], I[498] = I[499], I[499] = I[500], I[500] = I[501], I[501] = I[502], I[502] = I[503], I[503] = I[504], I[504] = I[505], I[505] = I[506], I[506] = I[507], I[507] = I[508], I[508] = I[509], I[509] = I[510], I[510] = I[511], I[511] = I[512], I[512] = I[513], I[513] = I[514], I[514] = I[515], I[515] = I[516], I[516] = I[517], I[517] = I[518], I[518] = I[519], I[519] = I[520], I[520] = I[521], I[521] = I[522], I[522] = I[523], I[523] = I[524], I[524] = I[525] [...]
+ I[527] = I[528], I[528] = I[529], I[529] = I[530], I[530] = I[531], I[531] = I[532], I[532] = I[533], I[533] = I[534], I[534] = I[535], I[535] = I[536], I[536] = I[537], I[537] = I[538], I[538] = I[539], I[539] = I[540], I[540] = I[541], I[541] = I[542], I[542] = I[543], I[543] = I[544], I[544] = I[545], I[545] = I[546], I[546] = I[547], I[547] = I[548], I[548] = I[549], I[549] = I[550], I[550] = I[551], I[551] = I[552], I[552] = I[553], I[553] = I[554], I[554] = I[555], I[555] = I[556] [...]
+ I[558] = I[559], I[559] = I[560], I[560] = I[561], I[561] = I[562], I[562] = I[563], I[563] = I[564], I[564] = I[565], I[565] = I[566], I[566] = I[567], I[567] = I[568], I[568] = I[569], I[569] = I[570], I[570] = I[571], I[571] = I[572], I[572] = I[573], I[573] = I[574], I[574] = I[575], I[575] = I[576], I[576] = I[577], I[577] = I[578], I[578] = I[579], I[579] = I[580], I[580] = I[581], I[581] = I[582], I[582] = I[583], I[583] = I[584], I[584] = I[585], I[585] = I[586], I[586] = I[587] [...]
+ I[589] = I[590], I[590] = I[591], I[591] = I[592], I[592] = I[593], I[593] = I[594], I[594] = I[595], I[595] = I[596], I[596] = I[597], I[597] = I[598], I[598] = I[599], I[599] = I[600], I[600] = I[601], I[601] = I[602], I[602] = I[603], I[603] = I[604], I[604] = I[605], I[605] = I[606], I[606] = I[607], I[607] = I[608], I[608] = I[609], I[609] = I[610], I[610] = I[611], I[611] = I[612], I[612] = I[613], I[613] = I[614], I[614] = I[615], I[615] = I[616], I[616] = I[617], I[617] = I[618] [...]
+ I[620] = I[621], I[621] = I[622], I[622] = I[623], I[623] = I[624], I[624] = I[625], I[625] = I[626], I[626] = I[627], I[627] = I[628], I[628] = I[629], I[629] = I[630], I[630] = I[631], I[631] = I[632], I[632] = I[633], I[633] = I[634], I[634] = I[635], I[635] = I[636], I[636] = I[637], I[637] = I[638], I[638] = I[639], I[639] = I[640], I[640] = I[641], I[641] = I[642], I[642] = I[643], I[643] = I[644], I[644] = I[645], I[645] = I[646], I[646] = I[647], I[647] = I[648], I[648] = I[649] [...]
+ I[651] = I[652], I[652] = I[653], I[653] = I[654], I[654] = I[655], I[655] = I[656], I[656] = I[657], I[657] = I[658], I[658] = I[659], I[659] = I[660], I[660] = I[661], I[661] = I[662], I[662] = I[663], I[663] = I[664], I[664] = I[665], I[665] = I[666], I[666] = I[667], I[667] = I[668], I[668] = I[669], I[669] = I[670], I[670] = I[671], I[671] = I[672], I[672] = I[673], I[673] = I[674], I[674] = I[675], I[675] = I[676], I[676] = I[677], I[677] = I[678], I[678] = I[679], I[679] = I[680] [...]
+ I[682] = I[683], I[683] = I[684], I[684] = I[685], I[685] = I[686], I[686] = I[687], I[687] = I[688], I[688] = I[689], I[689] = I[690], I[690] = I[691], I[691] = I[692], I[692] = I[693], I[693] = I[694], I[694] = I[695], I[695] = I[696], I[696] = I[697], I[697] = I[698], I[698] = I[699], I[699] = I[700], I[700] = I[701], I[701] = I[702], I[702] = I[703], I[703] = I[704], I[704] = I[705], I[705] = I[706], I[706] = I[707], I[707] = I[708], I[708] = I[709], I[709] = I[710], I[710] = I[711] [...]
+ I[713] = I[714], I[714] = I[715], I[715] = I[716], I[716] = I[717], I[717] = I[718], I[718] = I[719], I[719] = I[720], I[720] = I[721], I[721] = I[722], I[722] = I[723], I[723] = I[724], I[724] = I[725], I[725] = I[726], I[726] = I[727], I[727] = I[728], I[728] = I[729], I[729] = I[730], I[730] = I[731], I[731] = I[732], I[732] = I[733], I[733] = I[734], I[734] = I[735], I[735] = I[736], I[736] = I[737], I[737] = I[738], I[738] = I[739], I[739] = I[740], I[740] = I[741], I[741] = I[742] [...]
+ I[744] = I[745], I[745] = I[746], I[746] = I[747], I[747] = I[748], I[748] = I[749], I[749] = I[750], I[750] = I[751], I[751] = I[752], I[752] = I[753], I[753] = I[754], I[754] = I[755], I[755] = I[756], I[756] = I[757], I[757] = I[758], I[758] = I[759], I[759] = I[760], I[760] = I[761], I[761] = I[762], I[762] = I[763], I[763] = I[764], I[764] = I[765], I[765] = I[766], I[766] = I[767], I[767] = I[768], I[768] = I[769], I[769] = I[770], I[770] = I[771], I[771] = I[772], I[772] = I[773] [...]
+ I[775] = I[776], I[776] = I[777], I[777] = I[778], I[778] = I[779], I[779] = I[780], I[780] = I[781], I[781] = I[782], I[782] = I[783], I[783] = I[784], I[784] = I[785], I[785] = I[786], I[786] = I[787], I[787] = I[788], I[788] = I[789], I[789] = I[790], I[790] = I[791], I[791] = I[792], I[792] = I[793], I[793] = I[794], I[794] = I[795], I[795] = I[796], I[796] = I[797], I[797] = I[798], I[798] = I[799], I[799] = I[800], I[800] = I[801], I[801] = I[802], I[802] = I[803], I[803] = I[804] [...]
+ I[806] = I[807], I[807] = I[808], I[808] = I[809], I[809] = I[810], I[810] = I[811], I[811] = I[812], I[812] = I[813], I[813] = I[814], I[814] = I[815], I[815] = I[816], I[816] = I[817], I[817] = I[818], I[818] = I[819], I[819] = I[820], I[820] = I[821], I[821] = I[822], I[822] = I[823], I[823] = I[824], I[824] = I[825], I[825] = I[826], I[826] = I[827], I[827] = I[828], I[828] = I[829], I[829] = I[830], I[830] = I[831], I[831] = I[832], I[832] = I[833], I[833] = I[834], I[834] = I[835] [...]
+ I[837] = I[838], I[838] = I[839], I[839] = I[840], I[840] = I[841], I[841] = I[842], I[842] = I[843], I[843] = I[844], I[844] = I[845], I[845] = I[846], I[846] = I[847], I[847] = I[848], I[848] = I[849], I[849] = I[850], I[850] = I[851], I[851] = I[852], I[852] = I[853], I[853] = I[854], I[854] = I[855], I[855] = I[856], I[856] = I[857], I[857] = I[858], I[858] = I[859], I[859] = I[860], I[860] = I[861], I[861] = I[862], I[862] = I[863], I[863] = I[864], I[864] = I[865], I[865] = I[866] [...]
+ I[868] = I[869], I[869] = I[870], I[870] = I[871], I[871] = I[872], I[872] = I[873], I[873] = I[874], I[874] = I[875], I[875] = I[876], I[876] = I[877], I[877] = I[878], I[878] = I[879], I[879] = I[880], I[880] = I[881], I[881] = I[882], I[882] = I[883], I[883] = I[884], I[884] = I[885], I[885] = I[886], I[886] = I[887], I[887] = I[888], I[888] = I[889], I[889] = I[890], I[890] = I[891], I[891] = I[892], I[892] = I[893], I[893] = I[894], I[894] = I[895], I[895] = I[896], I[896] = I[897] [...]
+ I[899] = I[900], I[900] = I[901], I[901] = I[902], I[902] = I[903], I[903] = I[904], I[904] = I[905], I[905] = I[906], I[906] = I[907], I[907] = I[908], I[908] = I[909], I[909] = I[910], I[910] = I[911], I[911] = I[912], I[912] = I[913], I[913] = I[914], I[914] = I[915], I[915] = I[916], I[916] = I[917], I[917] = I[918], I[918] = I[919], I[919] = I[920], I[920] = I[921], I[921] = I[922], I[922] = I[923], I[923] = I[924], I[924] = I[925], I[925] = I[926], I[926] = I[927], I[927] = I[928] [...]
+ I[930] = I[931], I[931] = I[932], I[932] = I[933], I[933] = I[934], I[934] = I[935], I[935] = I[936], I[936] = I[937], I[937] = I[938], I[938] = I[939], I[939] = I[940], I[940] = I[941], I[941] = I[942], I[942] = I[943], I[943] = I[944], I[944] = I[945], I[945] = I[946], I[946] = I[947], I[947] = I[948], I[948] = I[949], I[949] = I[950], I[950] = I[951], I[951] = I[952], I[952] = I[953], I[953] = I[954], I[954] = I[955], I[955] = I[956], I[956] = I[957], I[957] = I[958], I[958] = I[959] [...]
+ _p15##x = _p14##x, _p14##x = _p13##x, _p13##x = _p12##x, _p12##x = _p11##x, _p11##x = _p10##x, _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x, ++_n12##x, ++_n13##x, ++_n14##x, ++_n15##x)
+
+#define cimg_for_in31x31(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in31((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p15##x = x - 15<0?0:x - 15, \
+ _p14##x = x - 14<0?0:x - 14, \
+ _p13##x = x - 13<0?0:x - 13, \
+ _p12##x = x - 12<0?0:x - 12, \
+ _p11##x = x - 11<0?0:x - 11, \
+ _p10##x = x - 10<0?0:x - 10, \
+ _p9##x = x - 9<0?0:x - 9, \
+ _p8##x = x - 8<0?0:x - 8, \
+ _p7##x = x - 7<0?0:x - 7, \
+ _p6##x = x - 6<0?0:x - 6, \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = x + 5>=(img).width()?(img).width() - 1:x + 5, \
+ _n6##x = x + 6>=(img).width()?(img).width() - 1:x + 6, \
+ _n7##x = x + 7>=(img).width()?(img).width() - 1:x + 7, \
+ _n8##x = x + 8>=(img).width()?(img).width() - 1:x + 8, \
+ _n9##x = x + 9>=(img).width()?(img).width() - 1:x + 9, \
+ _n10##x = x + 10>=(img).width()?(img).width() - 1:x + 10, \
+ _n11##x = x + 11>=(img).width()?(img).width() - 1:x + 11, \
+ _n12##x = x + 12>=(img).width()?(img).width() - 1:x + 12, \
+ _n13##x = x + 13>=(img).width()?(img).width() - 1:x + 13, \
+ _n14##x = x + 14>=(img).width()?(img).width() - 1:x + 14, \
+ _n15##x = (int)( \
+ (I[0] = (T)(img)(_p15##x,_p15##y,z,c)), \
+ (I[31] = (T)(img)(_p15##x,_p14##y,z,c)), \
+ (I[62] = (T)(img)(_p15##x,_p13##y,z,c)), \
+ (I[93] = (T)(img)(_p15##x,_p12##y,z,c)), \
+ (I[124] = (T)(img)(_p15##x,_p11##y,z,c)), \
+ (I[155] = (T)(img)(_p15##x,_p10##y,z,c)), \
+ (I[186] = (T)(img)(_p15##x,_p9##y,z,c)), \
+ (I[217] = (T)(img)(_p15##x,_p8##y,z,c)), \
+ (I[248] = (T)(img)(_p15##x,_p7##y,z,c)), \
+ (I[279] = (T)(img)(_p15##x,_p6##y,z,c)), \
+ (I[310] = (T)(img)(_p15##x,_p5##y,z,c)), \
+ (I[341] = (T)(img)(_p15##x,_p4##y,z,c)), \
+ (I[372] = (T)(img)(_p15##x,_p3##y,z,c)), \
+ (I[403] = (T)(img)(_p15##x,_p2##y,z,c)), \
+ (I[434] = (T)(img)(_p15##x,_p1##y,z,c)), \
+ (I[465] = (T)(img)(_p15##x,y,z,c)), \
+ (I[496] = (T)(img)(_p15##x,_n1##y,z,c)), \
+ (I[527] = (T)(img)(_p15##x,_n2##y,z,c)), \
+ (I[558] = (T)(img)(_p15##x,_n3##y,z,c)), \
+ (I[589] = (T)(img)(_p15##x,_n4##y,z,c)), \
+ (I[620] = (T)(img)(_p15##x,_n5##y,z,c)), \
+ (I[651] = (T)(img)(_p15##x,_n6##y,z,c)), \
+ (I[682] = (T)(img)(_p15##x,_n7##y,z,c)), \
+ (I[713] = (T)(img)(_p15##x,_n8##y,z,c)), \
+ (I[744] = (T)(img)(_p15##x,_n9##y,z,c)), \
+ (I[775] = (T)(img)(_p15##x,_n10##y,z,c)), \
+ (I[806] = (T)(img)(_p15##x,_n11##y,z,c)), \
+ (I[837] = (T)(img)(_p15##x,_n12##y,z,c)), \
+ (I[868] = (T)(img)(_p15##x,_n13##y,z,c)), \
+ (I[899] = (T)(img)(_p15##x,_n14##y,z,c)), \
+ (I[930] = (T)(img)(_p15##x,_n15##y,z,c)), \
+ (I[1] = (T)(img)(_p14##x,_p15##y,z,c)), \
+ (I[32] = (T)(img)(_p14##x,_p14##y,z,c)), \
+ (I[63] = (T)(img)(_p14##x,_p13##y,z,c)), \
+ (I[94] = (T)(img)(_p14##x,_p12##y,z,c)), \
+ (I[125] = (T)(img)(_p14##x,_p11##y,z,c)), \
+ (I[156] = (T)(img)(_p14##x,_p10##y,z,c)), \
+ (I[187] = (T)(img)(_p14##x,_p9##y,z,c)), \
+ (I[218] = (T)(img)(_p14##x,_p8##y,z,c)), \
+ (I[249] = (T)(img)(_p14##x,_p7##y,z,c)), \
+ (I[280] = (T)(img)(_p14##x,_p6##y,z,c)), \
+ (I[311] = (T)(img)(_p14##x,_p5##y,z,c)), \
+ (I[342] = (T)(img)(_p14##x,_p4##y,z,c)), \
+ (I[373] = (T)(img)(_p14##x,_p3##y,z,c)), \
+ (I[404] = (T)(img)(_p14##x,_p2##y,z,c)), \
+ (I[435] = (T)(img)(_p14##x,_p1##y,z,c)), \
+ (I[466] = (T)(img)(_p14##x,y,z,c)), \
+ (I[497] = (T)(img)(_p14##x,_n1##y,z,c)), \
+ (I[528] = (T)(img)(_p14##x,_n2##y,z,c)), \
+ (I[559] = (T)(img)(_p14##x,_n3##y,z,c)), \
+ (I[590] = (T)(img)(_p14##x,_n4##y,z,c)), \
+ (I[621] = (T)(img)(_p14##x,_n5##y,z,c)), \
+ (I[652] = (T)(img)(_p14##x,_n6##y,z,c)), \
+ (I[683] = (T)(img)(_p14##x,_n7##y,z,c)), \
+ (I[714] = (T)(img)(_p14##x,_n8##y,z,c)), \
+ (I[745] = (T)(img)(_p14##x,_n9##y,z,c)), \
+ (I[776] = (T)(img)(_p14##x,_n10##y,z,c)), \
+ (I[807] = (T)(img)(_p14##x,_n11##y,z,c)), \
+ (I[838] = (T)(img)(_p14##x,_n12##y,z,c)), \
+ (I[869] = (T)(img)(_p14##x,_n13##y,z,c)), \
+ (I[900] = (T)(img)(_p14##x,_n14##y,z,c)), \
+ (I[931] = (T)(img)(_p14##x,_n15##y,z,c)), \
+ (I[2] = (T)(img)(_p13##x,_p15##y,z,c)), \
+ (I[33] = (T)(img)(_p13##x,_p14##y,z,c)), \
+ (I[64] = (T)(img)(_p13##x,_p13##y,z,c)), \
+ (I[95] = (T)(img)(_p13##x,_p12##y,z,c)), \
+ (I[126] = (T)(img)(_p13##x,_p11##y,z,c)), \
+ (I[157] = (T)(img)(_p13##x,_p10##y,z,c)), \
+ (I[188] = (T)(img)(_p13##x,_p9##y,z,c)), \
+ (I[219] = (T)(img)(_p13##x,_p8##y,z,c)), \
+ (I[250] = (T)(img)(_p13##x,_p7##y,z,c)), \
+ (I[281] = (T)(img)(_p13##x,_p6##y,z,c)), \
+ (I[312] = (T)(img)(_p13##x,_p5##y,z,c)), \
+ (I[343] = (T)(img)(_p13##x,_p4##y,z,c)), \
+ (I[374] = (T)(img)(_p13##x,_p3##y,z,c)), \
+ (I[405] = (T)(img)(_p13##x,_p2##y,z,c)), \
+ (I[436] = (T)(img)(_p13##x,_p1##y,z,c)), \
+ (I[467] = (T)(img)(_p13##x,y,z,c)), \
+ (I[498] = (T)(img)(_p13##x,_n1##y,z,c)), \
+ (I[529] = (T)(img)(_p13##x,_n2##y,z,c)), \
+ (I[560] = (T)(img)(_p13##x,_n3##y,z,c)), \
+ (I[591] = (T)(img)(_p13##x,_n4##y,z,c)), \
+ (I[622] = (T)(img)(_p13##x,_n5##y,z,c)), \
+ (I[653] = (T)(img)(_p13##x,_n6##y,z,c)), \
+ (I[684] = (T)(img)(_p13##x,_n7##y,z,c)), \
+ (I[715] = (T)(img)(_p13##x,_n8##y,z,c)), \
+ (I[746] = (T)(img)(_p13##x,_n9##y,z,c)), \
+ (I[777] = (T)(img)(_p13##x,_n10##y,z,c)), \
+ (I[808] = (T)(img)(_p13##x,_n11##y,z,c)), \
+ (I[839] = (T)(img)(_p13##x,_n12##y,z,c)), \
+ (I[870] = (T)(img)(_p13##x,_n13##y,z,c)), \
+ (I[901] = (T)(img)(_p13##x,_n14##y,z,c)), \
+ (I[932] = (T)(img)(_p13##x,_n15##y,z,c)), \
+ (I[3] = (T)(img)(_p12##x,_p15##y,z,c)), \
+ (I[34] = (T)(img)(_p12##x,_p14##y,z,c)), \
+ (I[65] = (T)(img)(_p12##x,_p13##y,z,c)), \
+ (I[96] = (T)(img)(_p12##x,_p12##y,z,c)), \
+ (I[127] = (T)(img)(_p12##x,_p11##y,z,c)), \
+ (I[158] = (T)(img)(_p12##x,_p10##y,z,c)), \
+ (I[189] = (T)(img)(_p12##x,_p9##y,z,c)), \
+ (I[220] = (T)(img)(_p12##x,_p8##y,z,c)), \
+ (I[251] = (T)(img)(_p12##x,_p7##y,z,c)), \
+ (I[282] = (T)(img)(_p12##x,_p6##y,z,c)), \
+ (I[313] = (T)(img)(_p12##x,_p5##y,z,c)), \
+ (I[344] = (T)(img)(_p12##x,_p4##y,z,c)), \
+ (I[375] = (T)(img)(_p12##x,_p3##y,z,c)), \
+ (I[406] = (T)(img)(_p12##x,_p2##y,z,c)), \
+ (I[437] = (T)(img)(_p12##x,_p1##y,z,c)), \
+ (I[468] = (T)(img)(_p12##x,y,z,c)), \
+ (I[499] = (T)(img)(_p12##x,_n1##y,z,c)), \
+ (I[530] = (T)(img)(_p12##x,_n2##y,z,c)), \
+ (I[561] = (T)(img)(_p12##x,_n3##y,z,c)), \
+ (I[592] = (T)(img)(_p12##x,_n4##y,z,c)), \
+ (I[623] = (T)(img)(_p12##x,_n5##y,z,c)), \
+ (I[654] = (T)(img)(_p12##x,_n6##y,z,c)), \
+ (I[685] = (T)(img)(_p12##x,_n7##y,z,c)), \
+ (I[716] = (T)(img)(_p12##x,_n8##y,z,c)), \
+ (I[747] = (T)(img)(_p12##x,_n9##y,z,c)), \
+ (I[778] = (T)(img)(_p12##x,_n10##y,z,c)), \
+ (I[809] = (T)(img)(_p12##x,_n11##y,z,c)), \
+ (I[840] = (T)(img)(_p12##x,_n12##y,z,c)), \
+ (I[871] = (T)(img)(_p12##x,_n13##y,z,c)), \
+ (I[902] = (T)(img)(_p12##x,_n14##y,z,c)), \
+ (I[933] = (T)(img)(_p12##x,_n15##y,z,c)), \
+ (I[4] = (T)(img)(_p11##x,_p15##y,z,c)), \
+ (I[35] = (T)(img)(_p11##x,_p14##y,z,c)), \
+ (I[66] = (T)(img)(_p11##x,_p13##y,z,c)), \
+ (I[97] = (T)(img)(_p11##x,_p12##y,z,c)), \
+ (I[128] = (T)(img)(_p11##x,_p11##y,z,c)), \
+ (I[159] = (T)(img)(_p11##x,_p10##y,z,c)), \
+ (I[190] = (T)(img)(_p11##x,_p9##y,z,c)), \
+ (I[221] = (T)(img)(_p11##x,_p8##y,z,c)), \
+ (I[252] = (T)(img)(_p11##x,_p7##y,z,c)), \
+ (I[283] = (T)(img)(_p11##x,_p6##y,z,c)), \
+ (I[314] = (T)(img)(_p11##x,_p5##y,z,c)), \
+ (I[345] = (T)(img)(_p11##x,_p4##y,z,c)), \
+ (I[376] = (T)(img)(_p11##x,_p3##y,z,c)), \
+ (I[407] = (T)(img)(_p11##x,_p2##y,z,c)), \
+ (I[438] = (T)(img)(_p11##x,_p1##y,z,c)), \
+ (I[469] = (T)(img)(_p11##x,y,z,c)), \
+ (I[500] = (T)(img)(_p11##x,_n1##y,z,c)), \
+ (I[531] = (T)(img)(_p11##x,_n2##y,z,c)), \
+ (I[562] = (T)(img)(_p11##x,_n3##y,z,c)), \
+ (I[593] = (T)(img)(_p11##x,_n4##y,z,c)), \
+ (I[624] = (T)(img)(_p11##x,_n5##y,z,c)), \
+ (I[655] = (T)(img)(_p11##x,_n6##y,z,c)), \
+ (I[686] = (T)(img)(_p11##x,_n7##y,z,c)), \
+ (I[717] = (T)(img)(_p11##x,_n8##y,z,c)), \
+ (I[748] = (T)(img)(_p11##x,_n9##y,z,c)), \
+ (I[779] = (T)(img)(_p11##x,_n10##y,z,c)), \
+ (I[810] = (T)(img)(_p11##x,_n11##y,z,c)), \
+ (I[841] = (T)(img)(_p11##x,_n12##y,z,c)), \
+ (I[872] = (T)(img)(_p11##x,_n13##y,z,c)), \
+ (I[903] = (T)(img)(_p11##x,_n14##y,z,c)), \
+ (I[934] = (T)(img)(_p11##x,_n15##y,z,c)), \
+ (I[5] = (T)(img)(_p10##x,_p15##y,z,c)), \
+ (I[36] = (T)(img)(_p10##x,_p14##y,z,c)), \
+ (I[67] = (T)(img)(_p10##x,_p13##y,z,c)), \
+ (I[98] = (T)(img)(_p10##x,_p12##y,z,c)), \
+ (I[129] = (T)(img)(_p10##x,_p11##y,z,c)), \
+ (I[160] = (T)(img)(_p10##x,_p10##y,z,c)), \
+ (I[191] = (T)(img)(_p10##x,_p9##y,z,c)), \
+ (I[222] = (T)(img)(_p10##x,_p8##y,z,c)), \
+ (I[253] = (T)(img)(_p10##x,_p7##y,z,c)), \
+ (I[284] = (T)(img)(_p10##x,_p6##y,z,c)), \
+ (I[315] = (T)(img)(_p10##x,_p5##y,z,c)), \
+ (I[346] = (T)(img)(_p10##x,_p4##y,z,c)), \
+ (I[377] = (T)(img)(_p10##x,_p3##y,z,c)), \
+ (I[408] = (T)(img)(_p10##x,_p2##y,z,c)), \
+ (I[439] = (T)(img)(_p10##x,_p1##y,z,c)), \
+ (I[470] = (T)(img)(_p10##x,y,z,c)), \
+ (I[501] = (T)(img)(_p10##x,_n1##y,z,c)), \
+ (I[532] = (T)(img)(_p10##x,_n2##y,z,c)), \
+ (I[563] = (T)(img)(_p10##x,_n3##y,z,c)), \
+ (I[594] = (T)(img)(_p10##x,_n4##y,z,c)), \
+ (I[625] = (T)(img)(_p10##x,_n5##y,z,c)), \
+ (I[656] = (T)(img)(_p10##x,_n6##y,z,c)), \
+ (I[687] = (T)(img)(_p10##x,_n7##y,z,c)), \
+ (I[718] = (T)(img)(_p10##x,_n8##y,z,c)), \
+ (I[749] = (T)(img)(_p10##x,_n9##y,z,c)), \
+ (I[780] = (T)(img)(_p10##x,_n10##y,z,c)), \
+ (I[811] = (T)(img)(_p10##x,_n11##y,z,c)), \
+ (I[842] = (T)(img)(_p10##x,_n12##y,z,c)), \
+ (I[873] = (T)(img)(_p10##x,_n13##y,z,c)), \
+ (I[904] = (T)(img)(_p10##x,_n14##y,z,c)), \
+ (I[935] = (T)(img)(_p10##x,_n15##y,z,c)), \
+ (I[6] = (T)(img)(_p9##x,_p15##y,z,c)), \
+ (I[37] = (T)(img)(_p9##x,_p14##y,z,c)), \
+ (I[68] = (T)(img)(_p9##x,_p13##y,z,c)), \
+ (I[99] = (T)(img)(_p9##x,_p12##y,z,c)), \
+ (I[130] = (T)(img)(_p9##x,_p11##y,z,c)), \
+ (I[161] = (T)(img)(_p9##x,_p10##y,z,c)), \
+ (I[192] = (T)(img)(_p9##x,_p9##y,z,c)), \
+ (I[223] = (T)(img)(_p9##x,_p8##y,z,c)), \
+ (I[254] = (T)(img)(_p9##x,_p7##y,z,c)), \
+ (I[285] = (T)(img)(_p9##x,_p6##y,z,c)), \
+ (I[316] = (T)(img)(_p9##x,_p5##y,z,c)), \
+ (I[347] = (T)(img)(_p9##x,_p4##y,z,c)), \
+ (I[378] = (T)(img)(_p9##x,_p3##y,z,c)), \
+ (I[409] = (T)(img)(_p9##x,_p2##y,z,c)), \
+ (I[440] = (T)(img)(_p9##x,_p1##y,z,c)), \
+ (I[471] = (T)(img)(_p9##x,y,z,c)), \
+ (I[502] = (T)(img)(_p9##x,_n1##y,z,c)), \
+ (I[533] = (T)(img)(_p9##x,_n2##y,z,c)), \
+ (I[564] = (T)(img)(_p9##x,_n3##y,z,c)), \
+ (I[595] = (T)(img)(_p9##x,_n4##y,z,c)), \
+ (I[626] = (T)(img)(_p9##x,_n5##y,z,c)), \
+ (I[657] = (T)(img)(_p9##x,_n6##y,z,c)), \
+ (I[688] = (T)(img)(_p9##x,_n7##y,z,c)), \
+ (I[719] = (T)(img)(_p9##x,_n8##y,z,c)), \
+ (I[750] = (T)(img)(_p9##x,_n9##y,z,c)), \
+ (I[781] = (T)(img)(_p9##x,_n10##y,z,c)), \
+ (I[812] = (T)(img)(_p9##x,_n11##y,z,c)), \
+ (I[843] = (T)(img)(_p9##x,_n12##y,z,c)), \
+ (I[874] = (T)(img)(_p9##x,_n13##y,z,c)), \
+ (I[905] = (T)(img)(_p9##x,_n14##y,z,c)), \
+ (I[936] = (T)(img)(_p9##x,_n15##y,z,c)), \
+ (I[7] = (T)(img)(_p8##x,_p15##y,z,c)), \
+ (I[38] = (T)(img)(_p8##x,_p14##y,z,c)), \
+ (I[69] = (T)(img)(_p8##x,_p13##y,z,c)), \
+ (I[100] = (T)(img)(_p8##x,_p12##y,z,c)), \
+ (I[131] = (T)(img)(_p8##x,_p11##y,z,c)), \
+ (I[162] = (T)(img)(_p8##x,_p10##y,z,c)), \
+ (I[193] = (T)(img)(_p8##x,_p9##y,z,c)), \
+ (I[224] = (T)(img)(_p8##x,_p8##y,z,c)), \
+ (I[255] = (T)(img)(_p8##x,_p7##y,z,c)), \
+ (I[286] = (T)(img)(_p8##x,_p6##y,z,c)), \
+ (I[317] = (T)(img)(_p8##x,_p5##y,z,c)), \
+ (I[348] = (T)(img)(_p8##x,_p4##y,z,c)), \
+ (I[379] = (T)(img)(_p8##x,_p3##y,z,c)), \
+ (I[410] = (T)(img)(_p8##x,_p2##y,z,c)), \
+ (I[441] = (T)(img)(_p8##x,_p1##y,z,c)), \
+ (I[472] = (T)(img)(_p8##x,y,z,c)), \
+ (I[503] = (T)(img)(_p8##x,_n1##y,z,c)), \
+ (I[534] = (T)(img)(_p8##x,_n2##y,z,c)), \
+ (I[565] = (T)(img)(_p8##x,_n3##y,z,c)), \
+ (I[596] = (T)(img)(_p8##x,_n4##y,z,c)), \
+ (I[627] = (T)(img)(_p8##x,_n5##y,z,c)), \
+ (I[658] = (T)(img)(_p8##x,_n6##y,z,c)), \
+ (I[689] = (T)(img)(_p8##x,_n7##y,z,c)), \
+ (I[720] = (T)(img)(_p8##x,_n8##y,z,c)), \
+ (I[751] = (T)(img)(_p8##x,_n9##y,z,c)), \
+ (I[782] = (T)(img)(_p8##x,_n10##y,z,c)), \
+ (I[813] = (T)(img)(_p8##x,_n11##y,z,c)), \
+ (I[844] = (T)(img)(_p8##x,_n12##y,z,c)), \
+ (I[875] = (T)(img)(_p8##x,_n13##y,z,c)), \
+ (I[906] = (T)(img)(_p8##x,_n14##y,z,c)), \
+ (I[937] = (T)(img)(_p8##x,_n15##y,z,c)), \
+ (I[8] = (T)(img)(_p7##x,_p15##y,z,c)), \
+ (I[39] = (T)(img)(_p7##x,_p14##y,z,c)), \
+ (I[70] = (T)(img)(_p7##x,_p13##y,z,c)), \
+ (I[101] = (T)(img)(_p7##x,_p12##y,z,c)), \
+ (I[132] = (T)(img)(_p7##x,_p11##y,z,c)), \
+ (I[163] = (T)(img)(_p7##x,_p10##y,z,c)), \
+ (I[194] = (T)(img)(_p7##x,_p9##y,z,c)), \
+ (I[225] = (T)(img)(_p7##x,_p8##y,z,c)), \
+ (I[256] = (T)(img)(_p7##x,_p7##y,z,c)), \
+ (I[287] = (T)(img)(_p7##x,_p6##y,z,c)), \
+ (I[318] = (T)(img)(_p7##x,_p5##y,z,c)), \
+ (I[349] = (T)(img)(_p7##x,_p4##y,z,c)), \
+ (I[380] = (T)(img)(_p7##x,_p3##y,z,c)), \
+ (I[411] = (T)(img)(_p7##x,_p2##y,z,c)), \
+ (I[442] = (T)(img)(_p7##x,_p1##y,z,c)), \
+ (I[473] = (T)(img)(_p7##x,y,z,c)), \
+ (I[504] = (T)(img)(_p7##x,_n1##y,z,c)), \
+ (I[535] = (T)(img)(_p7##x,_n2##y,z,c)), \
+ (I[566] = (T)(img)(_p7##x,_n3##y,z,c)), \
+ (I[597] = (T)(img)(_p7##x,_n4##y,z,c)), \
+ (I[628] = (T)(img)(_p7##x,_n5##y,z,c)), \
+ (I[659] = (T)(img)(_p7##x,_n6##y,z,c)), \
+ (I[690] = (T)(img)(_p7##x,_n7##y,z,c)), \
+ (I[721] = (T)(img)(_p7##x,_n8##y,z,c)), \
+ (I[752] = (T)(img)(_p7##x,_n9##y,z,c)), \
+ (I[783] = (T)(img)(_p7##x,_n10##y,z,c)), \
+ (I[814] = (T)(img)(_p7##x,_n11##y,z,c)), \
+ (I[845] = (T)(img)(_p7##x,_n12##y,z,c)), \
+ (I[876] = (T)(img)(_p7##x,_n13##y,z,c)), \
+ (I[907] = (T)(img)(_p7##x,_n14##y,z,c)), \
+ (I[938] = (T)(img)(_p7##x,_n15##y,z,c)), \
+ (I[9] = (T)(img)(_p6##x,_p15##y,z,c)), \
+ (I[40] = (T)(img)(_p6##x,_p14##y,z,c)), \
+ (I[71] = (T)(img)(_p6##x,_p13##y,z,c)), \
+ (I[102] = (T)(img)(_p6##x,_p12##y,z,c)), \
+ (I[133] = (T)(img)(_p6##x,_p11##y,z,c)), \
+ (I[164] = (T)(img)(_p6##x,_p10##y,z,c)), \
+ (I[195] = (T)(img)(_p6##x,_p9##y,z,c)), \
+ (I[226] = (T)(img)(_p6##x,_p8##y,z,c)), \
+ (I[257] = (T)(img)(_p6##x,_p7##y,z,c)), \
+ (I[288] = (T)(img)(_p6##x,_p6##y,z,c)), \
+ (I[319] = (T)(img)(_p6##x,_p5##y,z,c)), \
+ (I[350] = (T)(img)(_p6##x,_p4##y,z,c)), \
+ (I[381] = (T)(img)(_p6##x,_p3##y,z,c)), \
+ (I[412] = (T)(img)(_p6##x,_p2##y,z,c)), \
+ (I[443] = (T)(img)(_p6##x,_p1##y,z,c)), \
+ (I[474] = (T)(img)(_p6##x,y,z,c)), \
+ (I[505] = (T)(img)(_p6##x,_n1##y,z,c)), \
+ (I[536] = (T)(img)(_p6##x,_n2##y,z,c)), \
+ (I[567] = (T)(img)(_p6##x,_n3##y,z,c)), \
+ (I[598] = (T)(img)(_p6##x,_n4##y,z,c)), \
+ (I[629] = (T)(img)(_p6##x,_n5##y,z,c)), \
+ (I[660] = (T)(img)(_p6##x,_n6##y,z,c)), \
+ (I[691] = (T)(img)(_p6##x,_n7##y,z,c)), \
+ (I[722] = (T)(img)(_p6##x,_n8##y,z,c)), \
+ (I[753] = (T)(img)(_p6##x,_n9##y,z,c)), \
+ (I[784] = (T)(img)(_p6##x,_n10##y,z,c)), \
+ (I[815] = (T)(img)(_p6##x,_n11##y,z,c)), \
+ (I[846] = (T)(img)(_p6##x,_n12##y,z,c)), \
+ (I[877] = (T)(img)(_p6##x,_n13##y,z,c)), \
+ (I[908] = (T)(img)(_p6##x,_n14##y,z,c)), \
+ (I[939] = (T)(img)(_p6##x,_n15##y,z,c)), \
+ (I[10] = (T)(img)(_p5##x,_p15##y,z,c)), \
+ (I[41] = (T)(img)(_p5##x,_p14##y,z,c)), \
+ (I[72] = (T)(img)(_p5##x,_p13##y,z,c)), \
+ (I[103] = (T)(img)(_p5##x,_p12##y,z,c)), \
+ (I[134] = (T)(img)(_p5##x,_p11##y,z,c)), \
+ (I[165] = (T)(img)(_p5##x,_p10##y,z,c)), \
+ (I[196] = (T)(img)(_p5##x,_p9##y,z,c)), \
+ (I[227] = (T)(img)(_p5##x,_p8##y,z,c)), \
+ (I[258] = (T)(img)(_p5##x,_p7##y,z,c)), \
+ (I[289] = (T)(img)(_p5##x,_p6##y,z,c)), \
+ (I[320] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[351] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[382] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[413] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[444] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[475] = (T)(img)(_p5##x,y,z,c)), \
+ (I[506] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[537] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[568] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[599] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[630] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[661] = (T)(img)(_p5##x,_n6##y,z,c)), \
+ (I[692] = (T)(img)(_p5##x,_n7##y,z,c)), \
+ (I[723] = (T)(img)(_p5##x,_n8##y,z,c)), \
+ (I[754] = (T)(img)(_p5##x,_n9##y,z,c)), \
+ (I[785] = (T)(img)(_p5##x,_n10##y,z,c)), \
+ (I[816] = (T)(img)(_p5##x,_n11##y,z,c)), \
+ (I[847] = (T)(img)(_p5##x,_n12##y,z,c)), \
+ (I[878] = (T)(img)(_p5##x,_n13##y,z,c)), \
+ (I[909] = (T)(img)(_p5##x,_n14##y,z,c)), \
+ (I[940] = (T)(img)(_p5##x,_n15##y,z,c)), \
+ (I[11] = (T)(img)(_p4##x,_p15##y,z,c)), \
+ (I[42] = (T)(img)(_p4##x,_p14##y,z,c)), \
+ (I[73] = (T)(img)(_p4##x,_p13##y,z,c)), \
+ (I[104] = (T)(img)(_p4##x,_p12##y,z,c)), \
+ (I[135] = (T)(img)(_p4##x,_p11##y,z,c)), \
+ (I[166] = (T)(img)(_p4##x,_p10##y,z,c)), \
+ (I[197] = (T)(img)(_p4##x,_p9##y,z,c)), \
+ (I[228] = (T)(img)(_p4##x,_p8##y,z,c)), \
+ (I[259] = (T)(img)(_p4##x,_p7##y,z,c)), \
+ (I[290] = (T)(img)(_p4##x,_p6##y,z,c)), \
+ (I[321] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[352] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[383] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[414] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[445] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[476] = (T)(img)(_p4##x,y,z,c)), \
+ (I[507] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[538] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[569] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[600] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[631] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[662] = (T)(img)(_p4##x,_n6##y,z,c)), \
+ (I[693] = (T)(img)(_p4##x,_n7##y,z,c)), \
+ (I[724] = (T)(img)(_p4##x,_n8##y,z,c)), \
+ (I[755] = (T)(img)(_p4##x,_n9##y,z,c)), \
+ (I[786] = (T)(img)(_p4##x,_n10##y,z,c)), \
+ (I[817] = (T)(img)(_p4##x,_n11##y,z,c)), \
+ (I[848] = (T)(img)(_p4##x,_n12##y,z,c)), \
+ (I[879] = (T)(img)(_p4##x,_n13##y,z,c)), \
+ (I[910] = (T)(img)(_p4##x,_n14##y,z,c)), \
+ (I[941] = (T)(img)(_p4##x,_n15##y,z,c)), \
+ (I[12] = (T)(img)(_p3##x,_p15##y,z,c)), \
+ (I[43] = (T)(img)(_p3##x,_p14##y,z,c)), \
+ (I[74] = (T)(img)(_p3##x,_p13##y,z,c)), \
+ (I[105] = (T)(img)(_p3##x,_p12##y,z,c)), \
+ (I[136] = (T)(img)(_p3##x,_p11##y,z,c)), \
+ (I[167] = (T)(img)(_p3##x,_p10##y,z,c)), \
+ (I[198] = (T)(img)(_p3##x,_p9##y,z,c)), \
+ (I[229] = (T)(img)(_p3##x,_p8##y,z,c)), \
+ (I[260] = (T)(img)(_p3##x,_p7##y,z,c)), \
+ (I[291] = (T)(img)(_p3##x,_p6##y,z,c)), \
+ (I[322] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[353] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[384] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[415] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[446] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[477] = (T)(img)(_p3##x,y,z,c)), \
+ (I[508] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[539] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[570] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[601] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[632] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[663] = (T)(img)(_p3##x,_n6##y,z,c)), \
+ (I[694] = (T)(img)(_p3##x,_n7##y,z,c)), \
+ (I[725] = (T)(img)(_p3##x,_n8##y,z,c)), \
+ (I[756] = (T)(img)(_p3##x,_n9##y,z,c)), \
+ (I[787] = (T)(img)(_p3##x,_n10##y,z,c)), \
+ (I[818] = (T)(img)(_p3##x,_n11##y,z,c)), \
+ (I[849] = (T)(img)(_p3##x,_n12##y,z,c)), \
+ (I[880] = (T)(img)(_p3##x,_n13##y,z,c)), \
+ (I[911] = (T)(img)(_p3##x,_n14##y,z,c)), \
+ (I[942] = (T)(img)(_p3##x,_n15##y,z,c)), \
+ (I[13] = (T)(img)(_p2##x,_p15##y,z,c)), \
+ (I[44] = (T)(img)(_p2##x,_p14##y,z,c)), \
+ (I[75] = (T)(img)(_p2##x,_p13##y,z,c)), \
+ (I[106] = (T)(img)(_p2##x,_p12##y,z,c)), \
+ (I[137] = (T)(img)(_p2##x,_p11##y,z,c)), \
+ (I[168] = (T)(img)(_p2##x,_p10##y,z,c)), \
+ (I[199] = (T)(img)(_p2##x,_p9##y,z,c)), \
+ (I[230] = (T)(img)(_p2##x,_p8##y,z,c)), \
+ (I[261] = (T)(img)(_p2##x,_p7##y,z,c)), \
+ (I[292] = (T)(img)(_p2##x,_p6##y,z,c)), \
+ (I[323] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[354] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[385] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[416] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[447] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[478] = (T)(img)(_p2##x,y,z,c)), \
+ (I[509] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[540] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[571] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[602] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[633] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[664] = (T)(img)(_p2##x,_n6##y,z,c)), \
+ (I[695] = (T)(img)(_p2##x,_n7##y,z,c)), \
+ (I[726] = (T)(img)(_p2##x,_n8##y,z,c)), \
+ (I[757] = (T)(img)(_p2##x,_n9##y,z,c)), \
+ (I[788] = (T)(img)(_p2##x,_n10##y,z,c)), \
+ (I[819] = (T)(img)(_p2##x,_n11##y,z,c)), \
+ (I[850] = (T)(img)(_p2##x,_n12##y,z,c)), \
+ (I[881] = (T)(img)(_p2##x,_n13##y,z,c)), \
+ (I[912] = (T)(img)(_p2##x,_n14##y,z,c)), \
+ (I[943] = (T)(img)(_p2##x,_n15##y,z,c)), \
+ (I[14] = (T)(img)(_p1##x,_p15##y,z,c)), \
+ (I[45] = (T)(img)(_p1##x,_p14##y,z,c)), \
+ (I[76] = (T)(img)(_p1##x,_p13##y,z,c)), \
+ (I[107] = (T)(img)(_p1##x,_p12##y,z,c)), \
+ (I[138] = (T)(img)(_p1##x,_p11##y,z,c)), \
+ (I[169] = (T)(img)(_p1##x,_p10##y,z,c)), \
+ (I[200] = (T)(img)(_p1##x,_p9##y,z,c)), \
+ (I[231] = (T)(img)(_p1##x,_p8##y,z,c)), \
+ (I[262] = (T)(img)(_p1##x,_p7##y,z,c)), \
+ (I[293] = (T)(img)(_p1##x,_p6##y,z,c)), \
+ (I[324] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[355] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[386] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[417] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[448] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[479] = (T)(img)(_p1##x,y,z,c)), \
+ (I[510] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[541] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[572] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[603] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[634] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[665] = (T)(img)(_p1##x,_n6##y,z,c)), \
+ (I[696] = (T)(img)(_p1##x,_n7##y,z,c)), \
+ (I[727] = (T)(img)(_p1##x,_n8##y,z,c)), \
+ (I[758] = (T)(img)(_p1##x,_n9##y,z,c)), \
+ (I[789] = (T)(img)(_p1##x,_n10##y,z,c)), \
+ (I[820] = (T)(img)(_p1##x,_n11##y,z,c)), \
+ (I[851] = (T)(img)(_p1##x,_n12##y,z,c)), \
+ (I[882] = (T)(img)(_p1##x,_n13##y,z,c)), \
+ (I[913] = (T)(img)(_p1##x,_n14##y,z,c)), \
+ (I[944] = (T)(img)(_p1##x,_n15##y,z,c)), \
+ (I[15] = (T)(img)(x,_p15##y,z,c)), \
+ (I[46] = (T)(img)(x,_p14##y,z,c)), \
+ (I[77] = (T)(img)(x,_p13##y,z,c)), \
+ (I[108] = (T)(img)(x,_p12##y,z,c)), \
+ (I[139] = (T)(img)(x,_p11##y,z,c)), \
+ (I[170] = (T)(img)(x,_p10##y,z,c)), \
+ (I[201] = (T)(img)(x,_p9##y,z,c)), \
+ (I[232] = (T)(img)(x,_p8##y,z,c)), \
+ (I[263] = (T)(img)(x,_p7##y,z,c)), \
+ (I[294] = (T)(img)(x,_p6##y,z,c)), \
+ (I[325] = (T)(img)(x,_p5##y,z,c)), \
+ (I[356] = (T)(img)(x,_p4##y,z,c)), \
+ (I[387] = (T)(img)(x,_p3##y,z,c)), \
+ (I[418] = (T)(img)(x,_p2##y,z,c)), \
+ (I[449] = (T)(img)(x,_p1##y,z,c)), \
+ (I[480] = (T)(img)(x,y,z,c)), \
+ (I[511] = (T)(img)(x,_n1##y,z,c)), \
+ (I[542] = (T)(img)(x,_n2##y,z,c)), \
+ (I[573] = (T)(img)(x,_n3##y,z,c)), \
+ (I[604] = (T)(img)(x,_n4##y,z,c)), \
+ (I[635] = (T)(img)(x,_n5##y,z,c)), \
+ (I[666] = (T)(img)(x,_n6##y,z,c)), \
+ (I[697] = (T)(img)(x,_n7##y,z,c)), \
+ (I[728] = (T)(img)(x,_n8##y,z,c)), \
+ (I[759] = (T)(img)(x,_n9##y,z,c)), \
+ (I[790] = (T)(img)(x,_n10##y,z,c)), \
+ (I[821] = (T)(img)(x,_n11##y,z,c)), \
+ (I[852] = (T)(img)(x,_n12##y,z,c)), \
+ (I[883] = (T)(img)(x,_n13##y,z,c)), \
+ (I[914] = (T)(img)(x,_n14##y,z,c)), \
+ (I[945] = (T)(img)(x,_n15##y,z,c)), \
+ (I[16] = (T)(img)(_n1##x,_p15##y,z,c)), \
+ (I[47] = (T)(img)(_n1##x,_p14##y,z,c)), \
+ (I[78] = (T)(img)(_n1##x,_p13##y,z,c)), \
+ (I[109] = (T)(img)(_n1##x,_p12##y,z,c)), \
+ (I[140] = (T)(img)(_n1##x,_p11##y,z,c)), \
+ (I[171] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[202] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[233] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[264] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[295] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[326] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[357] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[388] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[419] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[450] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[481] = (T)(img)(_n1##x,y,z,c)), \
+ (I[512] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[543] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[574] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[605] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[636] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[667] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[698] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[729] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[760] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[791] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[822] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[853] = (T)(img)(_n1##x,_n12##y,z,c)), \
+ (I[884] = (T)(img)(_n1##x,_n13##y,z,c)), \
+ (I[915] = (T)(img)(_n1##x,_n14##y,z,c)), \
+ (I[946] = (T)(img)(_n1##x,_n15##y,z,c)), \
+ (I[17] = (T)(img)(_n2##x,_p15##y,z,c)), \
+ (I[48] = (T)(img)(_n2##x,_p14##y,z,c)), \
+ (I[79] = (T)(img)(_n2##x,_p13##y,z,c)), \
+ (I[110] = (T)(img)(_n2##x,_p12##y,z,c)), \
+ (I[141] = (T)(img)(_n2##x,_p11##y,z,c)), \
+ (I[172] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[203] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[234] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[265] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[296] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[327] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[358] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[389] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[420] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[451] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[482] = (T)(img)(_n2##x,y,z,c)), \
+ (I[513] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[544] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[575] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[606] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[637] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[668] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[699] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[730] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[761] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[792] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[823] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[854] = (T)(img)(_n2##x,_n12##y,z,c)), \
+ (I[885] = (T)(img)(_n2##x,_n13##y,z,c)), \
+ (I[916] = (T)(img)(_n2##x,_n14##y,z,c)), \
+ (I[947] = (T)(img)(_n2##x,_n15##y,z,c)), \
+ (I[18] = (T)(img)(_n3##x,_p15##y,z,c)), \
+ (I[49] = (T)(img)(_n3##x,_p14##y,z,c)), \
+ (I[80] = (T)(img)(_n3##x,_p13##y,z,c)), \
+ (I[111] = (T)(img)(_n3##x,_p12##y,z,c)), \
+ (I[142] = (T)(img)(_n3##x,_p11##y,z,c)), \
+ (I[173] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[204] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[235] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[266] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[297] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[328] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[359] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[390] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[421] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[452] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[483] = (T)(img)(_n3##x,y,z,c)), \
+ (I[514] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[545] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[576] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[607] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[638] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[669] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[700] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[731] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[762] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[793] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[824] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[855] = (T)(img)(_n3##x,_n12##y,z,c)), \
+ (I[886] = (T)(img)(_n3##x,_n13##y,z,c)), \
+ (I[917] = (T)(img)(_n3##x,_n14##y,z,c)), \
+ (I[948] = (T)(img)(_n3##x,_n15##y,z,c)), \
+ (I[19] = (T)(img)(_n4##x,_p15##y,z,c)), \
+ (I[50] = (T)(img)(_n4##x,_p14##y,z,c)), \
+ (I[81] = (T)(img)(_n4##x,_p13##y,z,c)), \
+ (I[112] = (T)(img)(_n4##x,_p12##y,z,c)), \
+ (I[143] = (T)(img)(_n4##x,_p11##y,z,c)), \
+ (I[174] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[205] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[236] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[267] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[298] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[329] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[360] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[391] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[422] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[453] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[484] = (T)(img)(_n4##x,y,z,c)), \
+ (I[515] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[546] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[577] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[608] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[639] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[670] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[701] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[732] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[763] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[794] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[825] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[856] = (T)(img)(_n4##x,_n12##y,z,c)), \
+ (I[887] = (T)(img)(_n4##x,_n13##y,z,c)), \
+ (I[918] = (T)(img)(_n4##x,_n14##y,z,c)), \
+ (I[949] = (T)(img)(_n4##x,_n15##y,z,c)), \
+ (I[20] = (T)(img)(_n5##x,_p15##y,z,c)), \
+ (I[51] = (T)(img)(_n5##x,_p14##y,z,c)), \
+ (I[82] = (T)(img)(_n5##x,_p13##y,z,c)), \
+ (I[113] = (T)(img)(_n5##x,_p12##y,z,c)), \
+ (I[144] = (T)(img)(_n5##x,_p11##y,z,c)), \
+ (I[175] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[206] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[237] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[268] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[299] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[330] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[361] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[392] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[423] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[454] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[485] = (T)(img)(_n5##x,y,z,c)), \
+ (I[516] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[547] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[578] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[609] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[640] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[671] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[702] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[733] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[764] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[795] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[826] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[857] = (T)(img)(_n5##x,_n12##y,z,c)), \
+ (I[888] = (T)(img)(_n5##x,_n13##y,z,c)), \
+ (I[919] = (T)(img)(_n5##x,_n14##y,z,c)), \
+ (I[950] = (T)(img)(_n5##x,_n15##y,z,c)), \
+ (I[21] = (T)(img)(_n6##x,_p15##y,z,c)), \
+ (I[52] = (T)(img)(_n6##x,_p14##y,z,c)), \
+ (I[83] = (T)(img)(_n6##x,_p13##y,z,c)), \
+ (I[114] = (T)(img)(_n6##x,_p12##y,z,c)), \
+ (I[145] = (T)(img)(_n6##x,_p11##y,z,c)), \
+ (I[176] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[207] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[238] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[269] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[300] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[331] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[362] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[393] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[424] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[455] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[486] = (T)(img)(_n6##x,y,z,c)), \
+ (I[517] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[548] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[579] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[610] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[641] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[672] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[703] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[734] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[765] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[796] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[827] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[858] = (T)(img)(_n6##x,_n12##y,z,c)), \
+ (I[889] = (T)(img)(_n6##x,_n13##y,z,c)), \
+ (I[920] = (T)(img)(_n6##x,_n14##y,z,c)), \
+ (I[951] = (T)(img)(_n6##x,_n15##y,z,c)), \
+ (I[22] = (T)(img)(_n7##x,_p15##y,z,c)), \
+ (I[53] = (T)(img)(_n7##x,_p14##y,z,c)), \
+ (I[84] = (T)(img)(_n7##x,_p13##y,z,c)), \
+ (I[115] = (T)(img)(_n7##x,_p12##y,z,c)), \
+ (I[146] = (T)(img)(_n7##x,_p11##y,z,c)), \
+ (I[177] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[208] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[239] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[270] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[301] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[332] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[363] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[394] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[425] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[456] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[487] = (T)(img)(_n7##x,y,z,c)), \
+ (I[518] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[549] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[580] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[611] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[642] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[673] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[704] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[735] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[766] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[797] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[828] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[859] = (T)(img)(_n7##x,_n12##y,z,c)), \
+ (I[890] = (T)(img)(_n7##x,_n13##y,z,c)), \
+ (I[921] = (T)(img)(_n7##x,_n14##y,z,c)), \
+ (I[952] = (T)(img)(_n7##x,_n15##y,z,c)), \
+ (I[23] = (T)(img)(_n8##x,_p15##y,z,c)), \
+ (I[54] = (T)(img)(_n8##x,_p14##y,z,c)), \
+ (I[85] = (T)(img)(_n8##x,_p13##y,z,c)), \
+ (I[116] = (T)(img)(_n8##x,_p12##y,z,c)), \
+ (I[147] = (T)(img)(_n8##x,_p11##y,z,c)), \
+ (I[178] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[209] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[240] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[271] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[302] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[333] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[364] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[395] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[426] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[457] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[488] = (T)(img)(_n8##x,y,z,c)), \
+ (I[519] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[550] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[581] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[612] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[643] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[674] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[705] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[736] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[767] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[798] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[829] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[860] = (T)(img)(_n8##x,_n12##y,z,c)), \
+ (I[891] = (T)(img)(_n8##x,_n13##y,z,c)), \
+ (I[922] = (T)(img)(_n8##x,_n14##y,z,c)), \
+ (I[953] = (T)(img)(_n8##x,_n15##y,z,c)), \
+ (I[24] = (T)(img)(_n9##x,_p15##y,z,c)), \
+ (I[55] = (T)(img)(_n9##x,_p14##y,z,c)), \
+ (I[86] = (T)(img)(_n9##x,_p13##y,z,c)), \
+ (I[117] = (T)(img)(_n9##x,_p12##y,z,c)), \
+ (I[148] = (T)(img)(_n9##x,_p11##y,z,c)), \
+ (I[179] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[210] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[241] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[272] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[303] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[334] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[365] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[396] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[427] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[458] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[489] = (T)(img)(_n9##x,y,z,c)), \
+ (I[520] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[551] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[582] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[613] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[644] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[675] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[706] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[737] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[768] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[799] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[830] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[861] = (T)(img)(_n9##x,_n12##y,z,c)), \
+ (I[892] = (T)(img)(_n9##x,_n13##y,z,c)), \
+ (I[923] = (T)(img)(_n9##x,_n14##y,z,c)), \
+ (I[954] = (T)(img)(_n9##x,_n15##y,z,c)), \
+ (I[25] = (T)(img)(_n10##x,_p15##y,z,c)), \
+ (I[56] = (T)(img)(_n10##x,_p14##y,z,c)), \
+ (I[87] = (T)(img)(_n10##x,_p13##y,z,c)), \
+ (I[118] = (T)(img)(_n10##x,_p12##y,z,c)), \
+ (I[149] = (T)(img)(_n10##x,_p11##y,z,c)), \
+ (I[180] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[211] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[242] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[273] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[304] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[335] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[366] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[397] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[428] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[459] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[490] = (T)(img)(_n10##x,y,z,c)), \
+ (I[521] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[552] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[583] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[614] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[645] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[676] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[707] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[738] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[769] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[800] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[831] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ (I[862] = (T)(img)(_n10##x,_n12##y,z,c)), \
+ (I[893] = (T)(img)(_n10##x,_n13##y,z,c)), \
+ (I[924] = (T)(img)(_n10##x,_n14##y,z,c)), \
+ (I[955] = (T)(img)(_n10##x,_n15##y,z,c)), \
+ (I[26] = (T)(img)(_n11##x,_p15##y,z,c)), \
+ (I[57] = (T)(img)(_n11##x,_p14##y,z,c)), \
+ (I[88] = (T)(img)(_n11##x,_p13##y,z,c)), \
+ (I[119] = (T)(img)(_n11##x,_p12##y,z,c)), \
+ (I[150] = (T)(img)(_n11##x,_p11##y,z,c)), \
+ (I[181] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[212] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[243] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[274] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[305] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[336] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[367] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[398] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[429] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[460] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[491] = (T)(img)(_n11##x,y,z,c)), \
+ (I[522] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[553] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[584] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[615] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[646] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[677] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[708] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[739] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[770] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[801] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[832] = (T)(img)(_n11##x,_n11##y,z,c)), \
+ (I[863] = (T)(img)(_n11##x,_n12##y,z,c)), \
+ (I[894] = (T)(img)(_n11##x,_n13##y,z,c)), \
+ (I[925] = (T)(img)(_n11##x,_n14##y,z,c)), \
+ (I[956] = (T)(img)(_n11##x,_n15##y,z,c)), \
+ (I[27] = (T)(img)(_n12##x,_p15##y,z,c)), \
+ (I[58] = (T)(img)(_n12##x,_p14##y,z,c)), \
+ (I[89] = (T)(img)(_n12##x,_p13##y,z,c)), \
+ (I[120] = (T)(img)(_n12##x,_p12##y,z,c)), \
+ (I[151] = (T)(img)(_n12##x,_p11##y,z,c)), \
+ (I[182] = (T)(img)(_n12##x,_p10##y,z,c)), \
+ (I[213] = (T)(img)(_n12##x,_p9##y,z,c)), \
+ (I[244] = (T)(img)(_n12##x,_p8##y,z,c)), \
+ (I[275] = (T)(img)(_n12##x,_p7##y,z,c)), \
+ (I[306] = (T)(img)(_n12##x,_p6##y,z,c)), \
+ (I[337] = (T)(img)(_n12##x,_p5##y,z,c)), \
+ (I[368] = (T)(img)(_n12##x,_p4##y,z,c)), \
+ (I[399] = (T)(img)(_n12##x,_p3##y,z,c)), \
+ (I[430] = (T)(img)(_n12##x,_p2##y,z,c)), \
+ (I[461] = (T)(img)(_n12##x,_p1##y,z,c)), \
+ (I[492] = (T)(img)(_n12##x,y,z,c)), \
+ (I[523] = (T)(img)(_n12##x,_n1##y,z,c)), \
+ (I[554] = (T)(img)(_n12##x,_n2##y,z,c)), \
+ (I[585] = (T)(img)(_n12##x,_n3##y,z,c)), \
+ (I[616] = (T)(img)(_n12##x,_n4##y,z,c)), \
+ (I[647] = (T)(img)(_n12##x,_n5##y,z,c)), \
+ (I[678] = (T)(img)(_n12##x,_n6##y,z,c)), \
+ (I[709] = (T)(img)(_n12##x,_n7##y,z,c)), \
+ (I[740] = (T)(img)(_n12##x,_n8##y,z,c)), \
+ (I[771] = (T)(img)(_n12##x,_n9##y,z,c)), \
+ (I[802] = (T)(img)(_n12##x,_n10##y,z,c)), \
+ (I[833] = (T)(img)(_n12##x,_n11##y,z,c)), \
+ (I[864] = (T)(img)(_n12##x,_n12##y,z,c)), \
+ (I[895] = (T)(img)(_n12##x,_n13##y,z,c)), \
+ (I[926] = (T)(img)(_n12##x,_n14##y,z,c)), \
+ (I[957] = (T)(img)(_n12##x,_n15##y,z,c)), \
+ (I[28] = (T)(img)(_n13##x,_p15##y,z,c)), \
+ (I[59] = (T)(img)(_n13##x,_p14##y,z,c)), \
+ (I[90] = (T)(img)(_n13##x,_p13##y,z,c)), \
+ (I[121] = (T)(img)(_n13##x,_p12##y,z,c)), \
+ (I[152] = (T)(img)(_n13##x,_p11##y,z,c)), \
+ (I[183] = (T)(img)(_n13##x,_p10##y,z,c)), \
+ (I[214] = (T)(img)(_n13##x,_p9##y,z,c)), \
+ (I[245] = (T)(img)(_n13##x,_p8##y,z,c)), \
+ (I[276] = (T)(img)(_n13##x,_p7##y,z,c)), \
+ (I[307] = (T)(img)(_n13##x,_p6##y,z,c)), \
+ (I[338] = (T)(img)(_n13##x,_p5##y,z,c)), \
+ (I[369] = (T)(img)(_n13##x,_p4##y,z,c)), \
+ (I[400] = (T)(img)(_n13##x,_p3##y,z,c)), \
+ (I[431] = (T)(img)(_n13##x,_p2##y,z,c)), \
+ (I[462] = (T)(img)(_n13##x,_p1##y,z,c)), \
+ (I[493] = (T)(img)(_n13##x,y,z,c)), \
+ (I[524] = (T)(img)(_n13##x,_n1##y,z,c)), \
+ (I[555] = (T)(img)(_n13##x,_n2##y,z,c)), \
+ (I[586] = (T)(img)(_n13##x,_n3##y,z,c)), \
+ (I[617] = (T)(img)(_n13##x,_n4##y,z,c)), \
+ (I[648] = (T)(img)(_n13##x,_n5##y,z,c)), \
+ (I[679] = (T)(img)(_n13##x,_n6##y,z,c)), \
+ (I[710] = (T)(img)(_n13##x,_n7##y,z,c)), \
+ (I[741] = (T)(img)(_n13##x,_n8##y,z,c)), \
+ (I[772] = (T)(img)(_n13##x,_n9##y,z,c)), \
+ (I[803] = (T)(img)(_n13##x,_n10##y,z,c)), \
+ (I[834] = (T)(img)(_n13##x,_n11##y,z,c)), \
+ (I[865] = (T)(img)(_n13##x,_n12##y,z,c)), \
+ (I[896] = (T)(img)(_n13##x,_n13##y,z,c)), \
+ (I[927] = (T)(img)(_n13##x,_n14##y,z,c)), \
+ (I[958] = (T)(img)(_n13##x,_n15##y,z,c)), \
+ (I[29] = (T)(img)(_n14##x,_p15##y,z,c)), \
+ (I[60] = (T)(img)(_n14##x,_p14##y,z,c)), \
+ (I[91] = (T)(img)(_n14##x,_p13##y,z,c)), \
+ (I[122] = (T)(img)(_n14##x,_p12##y,z,c)), \
+ (I[153] = (T)(img)(_n14##x,_p11##y,z,c)), \
+ (I[184] = (T)(img)(_n14##x,_p10##y,z,c)), \
+ (I[215] = (T)(img)(_n14##x,_p9##y,z,c)), \
+ (I[246] = (T)(img)(_n14##x,_p8##y,z,c)), \
+ (I[277] = (T)(img)(_n14##x,_p7##y,z,c)), \
+ (I[308] = (T)(img)(_n14##x,_p6##y,z,c)), \
+ (I[339] = (T)(img)(_n14##x,_p5##y,z,c)), \
+ (I[370] = (T)(img)(_n14##x,_p4##y,z,c)), \
+ (I[401] = (T)(img)(_n14##x,_p3##y,z,c)), \
+ (I[432] = (T)(img)(_n14##x,_p2##y,z,c)), \
+ (I[463] = (T)(img)(_n14##x,_p1##y,z,c)), \
+ (I[494] = (T)(img)(_n14##x,y,z,c)), \
+ (I[525] = (T)(img)(_n14##x,_n1##y,z,c)), \
+ (I[556] = (T)(img)(_n14##x,_n2##y,z,c)), \
+ (I[587] = (T)(img)(_n14##x,_n3##y,z,c)), \
+ (I[618] = (T)(img)(_n14##x,_n4##y,z,c)), \
+ (I[649] = (T)(img)(_n14##x,_n5##y,z,c)), \
+ (I[680] = (T)(img)(_n14##x,_n6##y,z,c)), \
+ (I[711] = (T)(img)(_n14##x,_n7##y,z,c)), \
+ (I[742] = (T)(img)(_n14##x,_n8##y,z,c)), \
+ (I[773] = (T)(img)(_n14##x,_n9##y,z,c)), \
+ (I[804] = (T)(img)(_n14##x,_n10##y,z,c)), \
+ (I[835] = (T)(img)(_n14##x,_n11##y,z,c)), \
+ (I[866] = (T)(img)(_n14##x,_n12##y,z,c)), \
+ (I[897] = (T)(img)(_n14##x,_n13##y,z,c)), \
+ (I[928] = (T)(img)(_n14##x,_n14##y,z,c)), \
+ (I[959] = (T)(img)(_n14##x,_n15##y,z,c)), \
+ x + 15>=(img).width()?(img).width() - 1:x + 15); \
+ x<=(int)(x1) && ((_n15##x<(img).width() && ( \
+ (I[30] = (T)(img)(_n15##x,_p15##y,z,c)), \
+ (I[61] = (T)(img)(_n15##x,_p14##y,z,c)), \
+ (I[92] = (T)(img)(_n15##x,_p13##y,z,c)), \
+ (I[123] = (T)(img)(_n15##x,_p12##y,z,c)), \
+ (I[154] = (T)(img)(_n15##x,_p11##y,z,c)), \
+ (I[185] = (T)(img)(_n15##x,_p10##y,z,c)), \
+ (I[216] = (T)(img)(_n15##x,_p9##y,z,c)), \
+ (I[247] = (T)(img)(_n15##x,_p8##y,z,c)), \
+ (I[278] = (T)(img)(_n15##x,_p7##y,z,c)), \
+ (I[309] = (T)(img)(_n15##x,_p6##y,z,c)), \
+ (I[340] = (T)(img)(_n15##x,_p5##y,z,c)), \
+ (I[371] = (T)(img)(_n15##x,_p4##y,z,c)), \
+ (I[402] = (T)(img)(_n15##x,_p3##y,z,c)), \
+ (I[433] = (T)(img)(_n15##x,_p2##y,z,c)), \
+ (I[464] = (T)(img)(_n15##x,_p1##y,z,c)), \
+ (I[495] = (T)(img)(_n15##x,y,z,c)), \
+ (I[526] = (T)(img)(_n15##x,_n1##y,z,c)), \
+ (I[557] = (T)(img)(_n15##x,_n2##y,z,c)), \
+ (I[588] = (T)(img)(_n15##x,_n3##y,z,c)), \
+ (I[619] = (T)(img)(_n15##x,_n4##y,z,c)), \
+ (I[650] = (T)(img)(_n15##x,_n5##y,z,c)), \
+ (I[681] = (T)(img)(_n15##x,_n6##y,z,c)), \
+ (I[712] = (T)(img)(_n15##x,_n7##y,z,c)), \
+ (I[743] = (T)(img)(_n15##x,_n8##y,z,c)), \
+ (I[774] = (T)(img)(_n15##x,_n9##y,z,c)), \
+ (I[805] = (T)(img)(_n15##x,_n10##y,z,c)), \
+ (I[836] = (T)(img)(_n15##x,_n11##y,z,c)), \
+ (I[867] = (T)(img)(_n15##x,_n12##y,z,c)), \
+ (I[898] = (T)(img)(_n15##x,_n13##y,z,c)), \
+ (I[929] = (T)(img)(_n15##x,_n14##y,z,c)), \
+ (I[960] = (T)(img)(_n15##x,_n15##y,z,c)),1)) || \
+ _n14##x==--_n15##x || _n13##x==--_n14##x || _n12##x==--_n13##x || _n11##x==--_n12##x || _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n15##x = _n14##x = _n13##x = _n12##x = _n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], \
+ I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], \
+ I[62] = I[63], I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], \
+ I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], \
+ I[124] = I[125], I[125] = I[126], I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153] [...]
+ I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184] [...]
+ I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215] [...]
+ I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], I[223] = I[224], I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246] [...]
+ I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277] [...]
+ I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308] [...]
+ I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], I[337] = I[338], I[338] = I[339] [...]
+ I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], I[351] = I[352], I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], I[359] = I[360], I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370] [...]
+ I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], I[376] = I[377], I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], I[383] = I[384], I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], I[399] = I[400], I[400] = I[401] [...]
+ I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], I[415] = I[416], I[416] = I[417], I[417] = I[418], I[418] = I[419], I[419] = I[420], I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], I[431] = I[432] [...]
+ I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], I[439] = I[440], I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], I[447] = I[448], I[448] = I[449], I[449] = I[450], I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], I[455] = I[456], I[456] = I[457], I[457] = I[458], I[458] = I[459], I[459] = I[460], I[460] = I[461], I[461] = I[462], I[462] = I[463] [...]
+ I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], I[474] = I[475], I[475] = I[476], I[476] = I[477], I[477] = I[478], I[478] = I[479], I[479] = I[480], I[480] = I[481], I[481] = I[482], I[482] = I[483], I[483] = I[484], I[484] = I[485], I[485] = I[486], I[486] = I[487], I[487] = I[488], I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], I[492] = I[493], I[493] = I[494] [...]
+ I[496] = I[497], I[497] = I[498], I[498] = I[499], I[499] = I[500], I[500] = I[501], I[501] = I[502], I[502] = I[503], I[503] = I[504], I[504] = I[505], I[505] = I[506], I[506] = I[507], I[507] = I[508], I[508] = I[509], I[509] = I[510], I[510] = I[511], I[511] = I[512], I[512] = I[513], I[513] = I[514], I[514] = I[515], I[515] = I[516], I[516] = I[517], I[517] = I[518], I[518] = I[519], I[519] = I[520], I[520] = I[521], I[521] = I[522], I[522] = I[523], I[523] = I[524], I[524] = I[525] [...]
+ I[527] = I[528], I[528] = I[529], I[529] = I[530], I[530] = I[531], I[531] = I[532], I[532] = I[533], I[533] = I[534], I[534] = I[535], I[535] = I[536], I[536] = I[537], I[537] = I[538], I[538] = I[539], I[539] = I[540], I[540] = I[541], I[541] = I[542], I[542] = I[543], I[543] = I[544], I[544] = I[545], I[545] = I[546], I[546] = I[547], I[547] = I[548], I[548] = I[549], I[549] = I[550], I[550] = I[551], I[551] = I[552], I[552] = I[553], I[553] = I[554], I[554] = I[555], I[555] = I[556] [...]
+ I[558] = I[559], I[559] = I[560], I[560] = I[561], I[561] = I[562], I[562] = I[563], I[563] = I[564], I[564] = I[565], I[565] = I[566], I[566] = I[567], I[567] = I[568], I[568] = I[569], I[569] = I[570], I[570] = I[571], I[571] = I[572], I[572] = I[573], I[573] = I[574], I[574] = I[575], I[575] = I[576], I[576] = I[577], I[577] = I[578], I[578] = I[579], I[579] = I[580], I[580] = I[581], I[581] = I[582], I[582] = I[583], I[583] = I[584], I[584] = I[585], I[585] = I[586], I[586] = I[587] [...]
+ I[589] = I[590], I[590] = I[591], I[591] = I[592], I[592] = I[593], I[593] = I[594], I[594] = I[595], I[595] = I[596], I[596] = I[597], I[597] = I[598], I[598] = I[599], I[599] = I[600], I[600] = I[601], I[601] = I[602], I[602] = I[603], I[603] = I[604], I[604] = I[605], I[605] = I[606], I[606] = I[607], I[607] = I[608], I[608] = I[609], I[609] = I[610], I[610] = I[611], I[611] = I[612], I[612] = I[613], I[613] = I[614], I[614] = I[615], I[615] = I[616], I[616] = I[617], I[617] = I[618] [...]
+ I[620] = I[621], I[621] = I[622], I[622] = I[623], I[623] = I[624], I[624] = I[625], I[625] = I[626], I[626] = I[627], I[627] = I[628], I[628] = I[629], I[629] = I[630], I[630] = I[631], I[631] = I[632], I[632] = I[633], I[633] = I[634], I[634] = I[635], I[635] = I[636], I[636] = I[637], I[637] = I[638], I[638] = I[639], I[639] = I[640], I[640] = I[641], I[641] = I[642], I[642] = I[643], I[643] = I[644], I[644] = I[645], I[645] = I[646], I[646] = I[647], I[647] = I[648], I[648] = I[649] [...]
+ I[651] = I[652], I[652] = I[653], I[653] = I[654], I[654] = I[655], I[655] = I[656], I[656] = I[657], I[657] = I[658], I[658] = I[659], I[659] = I[660], I[660] = I[661], I[661] = I[662], I[662] = I[663], I[663] = I[664], I[664] = I[665], I[665] = I[666], I[666] = I[667], I[667] = I[668], I[668] = I[669], I[669] = I[670], I[670] = I[671], I[671] = I[672], I[672] = I[673], I[673] = I[674], I[674] = I[675], I[675] = I[676], I[676] = I[677], I[677] = I[678], I[678] = I[679], I[679] = I[680] [...]
+ I[682] = I[683], I[683] = I[684], I[684] = I[685], I[685] = I[686], I[686] = I[687], I[687] = I[688], I[688] = I[689], I[689] = I[690], I[690] = I[691], I[691] = I[692], I[692] = I[693], I[693] = I[694], I[694] = I[695], I[695] = I[696], I[696] = I[697], I[697] = I[698], I[698] = I[699], I[699] = I[700], I[700] = I[701], I[701] = I[702], I[702] = I[703], I[703] = I[704], I[704] = I[705], I[705] = I[706], I[706] = I[707], I[707] = I[708], I[708] = I[709], I[709] = I[710], I[710] = I[711] [...]
+ I[713] = I[714], I[714] = I[715], I[715] = I[716], I[716] = I[717], I[717] = I[718], I[718] = I[719], I[719] = I[720], I[720] = I[721], I[721] = I[722], I[722] = I[723], I[723] = I[724], I[724] = I[725], I[725] = I[726], I[726] = I[727], I[727] = I[728], I[728] = I[729], I[729] = I[730], I[730] = I[731], I[731] = I[732], I[732] = I[733], I[733] = I[734], I[734] = I[735], I[735] = I[736], I[736] = I[737], I[737] = I[738], I[738] = I[739], I[739] = I[740], I[740] = I[741], I[741] = I[742] [...]
+ I[744] = I[745], I[745] = I[746], I[746] = I[747], I[747] = I[748], I[748] = I[749], I[749] = I[750], I[750] = I[751], I[751] = I[752], I[752] = I[753], I[753] = I[754], I[754] = I[755], I[755] = I[756], I[756] = I[757], I[757] = I[758], I[758] = I[759], I[759] = I[760], I[760] = I[761], I[761] = I[762], I[762] = I[763], I[763] = I[764], I[764] = I[765], I[765] = I[766], I[766] = I[767], I[767] = I[768], I[768] = I[769], I[769] = I[770], I[770] = I[771], I[771] = I[772], I[772] = I[773] [...]
+ I[775] = I[776], I[776] = I[777], I[777] = I[778], I[778] = I[779], I[779] = I[780], I[780] = I[781], I[781] = I[782], I[782] = I[783], I[783] = I[784], I[784] = I[785], I[785] = I[786], I[786] = I[787], I[787] = I[788], I[788] = I[789], I[789] = I[790], I[790] = I[791], I[791] = I[792], I[792] = I[793], I[793] = I[794], I[794] = I[795], I[795] = I[796], I[796] = I[797], I[797] = I[798], I[798] = I[799], I[799] = I[800], I[800] = I[801], I[801] = I[802], I[802] = I[803], I[803] = I[804] [...]
+ I[806] = I[807], I[807] = I[808], I[808] = I[809], I[809] = I[810], I[810] = I[811], I[811] = I[812], I[812] = I[813], I[813] = I[814], I[814] = I[815], I[815] = I[816], I[816] = I[817], I[817] = I[818], I[818] = I[819], I[819] = I[820], I[820] = I[821], I[821] = I[822], I[822] = I[823], I[823] = I[824], I[824] = I[825], I[825] = I[826], I[826] = I[827], I[827] = I[828], I[828] = I[829], I[829] = I[830], I[830] = I[831], I[831] = I[832], I[832] = I[833], I[833] = I[834], I[834] = I[835] [...]
+ I[837] = I[838], I[838] = I[839], I[839] = I[840], I[840] = I[841], I[841] = I[842], I[842] = I[843], I[843] = I[844], I[844] = I[845], I[845] = I[846], I[846] = I[847], I[847] = I[848], I[848] = I[849], I[849] = I[850], I[850] = I[851], I[851] = I[852], I[852] = I[853], I[853] = I[854], I[854] = I[855], I[855] = I[856], I[856] = I[857], I[857] = I[858], I[858] = I[859], I[859] = I[860], I[860] = I[861], I[861] = I[862], I[862] = I[863], I[863] = I[864], I[864] = I[865], I[865] = I[866] [...]
+ I[868] = I[869], I[869] = I[870], I[870] = I[871], I[871] = I[872], I[872] = I[873], I[873] = I[874], I[874] = I[875], I[875] = I[876], I[876] = I[877], I[877] = I[878], I[878] = I[879], I[879] = I[880], I[880] = I[881], I[881] = I[882], I[882] = I[883], I[883] = I[884], I[884] = I[885], I[885] = I[886], I[886] = I[887], I[887] = I[888], I[888] = I[889], I[889] = I[890], I[890] = I[891], I[891] = I[892], I[892] = I[893], I[893] = I[894], I[894] = I[895], I[895] = I[896], I[896] = I[897] [...]
+ I[899] = I[900], I[900] = I[901], I[901] = I[902], I[902] = I[903], I[903] = I[904], I[904] = I[905], I[905] = I[906], I[906] = I[907], I[907] = I[908], I[908] = I[909], I[909] = I[910], I[910] = I[911], I[911] = I[912], I[912] = I[913], I[913] = I[914], I[914] = I[915], I[915] = I[916], I[916] = I[917], I[917] = I[918], I[918] = I[919], I[919] = I[920], I[920] = I[921], I[921] = I[922], I[922] = I[923], I[923] = I[924], I[924] = I[925], I[925] = I[926], I[926] = I[927], I[927] = I[928] [...]
+ I[930] = I[931], I[931] = I[932], I[932] = I[933], I[933] = I[934], I[934] = I[935], I[935] = I[936], I[936] = I[937], I[937] = I[938], I[938] = I[939], I[939] = I[940], I[940] = I[941], I[941] = I[942], I[942] = I[943], I[943] = I[944], I[944] = I[945], I[945] = I[946], I[946] = I[947], I[947] = I[948], I[948] = I[949], I[949] = I[950], I[950] = I[951], I[951] = I[952], I[952] = I[953], I[953] = I[954], I[954] = I[955], I[955] = I[956], I[956] = I[957], I[957] = I[958], I[958] = I[959] [...]
+ _p15##x = _p14##x, _p14##x = _p13##x, _p13##x = _p12##x, _p12##x = _p11##x, _p11##x = _p10##x, _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x, ++_n12##x, ++_n13##x, ++_n14##x, ++_n15##x)
+
+#define cimg_get31x31(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p15##x,_p15##y,z,c), I[1] = (T)(img)(_p14##x,_p15##y,z,c), I[2] = (T)(img)(_p13##x,_p15##y,z,c), I[3] = (T)(img)(_p12##x,_p15##y,z,c), I[4] = (T)(img)(_p11##x,_p15##y,z,c), I[5] = (T)(img)(_p10##x,_p15##y,z,c), I[6] = (T)(img)(_p9##x,_p15##y,z,c), I[7] = (T)(img)(_p8##x,_p15##y,z,c), I[8] = (T)(img)(_p7##x,_p15##y,z,c), I[9] = (T)(img)(_p6##x,_p15##y,z,c), I[10] = (T)(img)(_p5##x,_p15##y,z,c), I[11] = (T)(img)(_p4##x,_p15##y,z,c), I[12] = (T)(img)(_p3##x,_p15##y,z,c), I [...]
+ I[31] = (T)(img)(_p15##x,_p14##y,z,c), I[32] = (T)(img)(_p14##x,_p14##y,z,c), I[33] = (T)(img)(_p13##x,_p14##y,z,c), I[34] = (T)(img)(_p12##x,_p14##y,z,c), I[35] = (T)(img)(_p11##x,_p14##y,z,c), I[36] = (T)(img)(_p10##x,_p14##y,z,c), I[37] = (T)(img)(_p9##x,_p14##y,z,c), I[38] = (T)(img)(_p8##x,_p14##y,z,c), I[39] = (T)(img)(_p7##x,_p14##y,z,c), I[40] = (T)(img)(_p6##x,_p14##y,z,c), I[41] = (T)(img)(_p5##x,_p14##y,z,c), I[42] = (T)(img)(_p4##x,_p14##y,z,c), I[43] = (T)(img)(_p3##x,_p14# [...]
+ I[62] = (T)(img)(_p15##x,_p13##y,z,c), I[63] = (T)(img)(_p14##x,_p13##y,z,c), I[64] = (T)(img)(_p13##x,_p13##y,z,c), I[65] = (T)(img)(_p12##x,_p13##y,z,c), I[66] = (T)(img)(_p11##x,_p13##y,z,c), I[67] = (T)(img)(_p10##x,_p13##y,z,c), I[68] = (T)(img)(_p9##x,_p13##y,z,c), I[69] = (T)(img)(_p8##x,_p13##y,z,c), I[70] = (T)(img)(_p7##x,_p13##y,z,c), I[71] = (T)(img)(_p6##x,_p13##y,z,c), I[72] = (T)(img)(_p5##x,_p13##y,z,c), I[73] = (T)(img)(_p4##x,_p13##y,z,c), I[74] = (T)(img)(_p3##x,_p13# [...]
+ I[93] = (T)(img)(_p15##x,_p12##y,z,c), I[94] = (T)(img)(_p14##x,_p12##y,z,c), I[95] = (T)(img)(_p13##x,_p12##y,z,c), I[96] = (T)(img)(_p12##x,_p12##y,z,c), I[97] = (T)(img)(_p11##x,_p12##y,z,c), I[98] = (T)(img)(_p10##x,_p12##y,z,c), I[99] = (T)(img)(_p9##x,_p12##y,z,c), I[100] = (T)(img)(_p8##x,_p12##y,z,c), I[101] = (T)(img)(_p7##x,_p12##y,z,c), I[102] = (T)(img)(_p6##x,_p12##y,z,c), I[103] = (T)(img)(_p5##x,_p12##y,z,c), I[104] = (T)(img)(_p4##x,_p12##y,z,c), I[105] = (T)(img)(_p3##x [...]
+ I[124] = (T)(img)(_p15##x,_p11##y,z,c), I[125] = (T)(img)(_p14##x,_p11##y,z,c), I[126] = (T)(img)(_p13##x,_p11##y,z,c), I[127] = (T)(img)(_p12##x,_p11##y,z,c), I[128] = (T)(img)(_p11##x,_p11##y,z,c), I[129] = (T)(img)(_p10##x,_p11##y,z,c), I[130] = (T)(img)(_p9##x,_p11##y,z,c), I[131] = (T)(img)(_p8##x,_p11##y,z,c), I[132] = (T)(img)(_p7##x,_p11##y,z,c), I[133] = (T)(img)(_p6##x,_p11##y,z,c), I[134] = (T)(img)(_p5##x,_p11##y,z,c), I[135] = (T)(img)(_p4##x,_p11##y,z,c), I[136] = (T)(img) [...]
+ I[155] = (T)(img)(_p15##x,_p10##y,z,c), I[156] = (T)(img)(_p14##x,_p10##y,z,c), I[157] = (T)(img)(_p13##x,_p10##y,z,c), I[158] = (T)(img)(_p12##x,_p10##y,z,c), I[159] = (T)(img)(_p11##x,_p10##y,z,c), I[160] = (T)(img)(_p10##x,_p10##y,z,c), I[161] = (T)(img)(_p9##x,_p10##y,z,c), I[162] = (T)(img)(_p8##x,_p10##y,z,c), I[163] = (T)(img)(_p7##x,_p10##y,z,c), I[164] = (T)(img)(_p6##x,_p10##y,z,c), I[165] = (T)(img)(_p5##x,_p10##y,z,c), I[166] = (T)(img)(_p4##x,_p10##y,z,c), I[167] = (T)(img) [...]
+ I[186] = (T)(img)(_p15##x,_p9##y,z,c), I[187] = (T)(img)(_p14##x,_p9##y,z,c), I[188] = (T)(img)(_p13##x,_p9##y,z,c), I[189] = (T)(img)(_p12##x,_p9##y,z,c), I[190] = (T)(img)(_p11##x,_p9##y,z,c), I[191] = (T)(img)(_p10##x,_p9##y,z,c), I[192] = (T)(img)(_p9##x,_p9##y,z,c), I[193] = (T)(img)(_p8##x,_p9##y,z,c), I[194] = (T)(img)(_p7##x,_p9##y,z,c), I[195] = (T)(img)(_p6##x,_p9##y,z,c), I[196] = (T)(img)(_p5##x,_p9##y,z,c), I[197] = (T)(img)(_p4##x,_p9##y,z,c), I[198] = (T)(img)(_p3##x,_p9# [...]
+ I[217] = (T)(img)(_p15##x,_p8##y,z,c), I[218] = (T)(img)(_p14##x,_p8##y,z,c), I[219] = (T)(img)(_p13##x,_p8##y,z,c), I[220] = (T)(img)(_p12##x,_p8##y,z,c), I[221] = (T)(img)(_p11##x,_p8##y,z,c), I[222] = (T)(img)(_p10##x,_p8##y,z,c), I[223] = (T)(img)(_p9##x,_p8##y,z,c), I[224] = (T)(img)(_p8##x,_p8##y,z,c), I[225] = (T)(img)(_p7##x,_p8##y,z,c), I[226] = (T)(img)(_p6##x,_p8##y,z,c), I[227] = (T)(img)(_p5##x,_p8##y,z,c), I[228] = (T)(img)(_p4##x,_p8##y,z,c), I[229] = (T)(img)(_p3##x,_p8# [...]
+ I[248] = (T)(img)(_p15##x,_p7##y,z,c), I[249] = (T)(img)(_p14##x,_p7##y,z,c), I[250] = (T)(img)(_p13##x,_p7##y,z,c), I[251] = (T)(img)(_p12##x,_p7##y,z,c), I[252] = (T)(img)(_p11##x,_p7##y,z,c), I[253] = (T)(img)(_p10##x,_p7##y,z,c), I[254] = (T)(img)(_p9##x,_p7##y,z,c), I[255] = (T)(img)(_p8##x,_p7##y,z,c), I[256] = (T)(img)(_p7##x,_p7##y,z,c), I[257] = (T)(img)(_p6##x,_p7##y,z,c), I[258] = (T)(img)(_p5##x,_p7##y,z,c), I[259] = (T)(img)(_p4##x,_p7##y,z,c), I[260] = (T)(img)(_p3##x,_p7# [...]
+ I[279] = (T)(img)(_p15##x,_p6##y,z,c), I[280] = (T)(img)(_p14##x,_p6##y,z,c), I[281] = (T)(img)(_p13##x,_p6##y,z,c), I[282] = (T)(img)(_p12##x,_p6##y,z,c), I[283] = (T)(img)(_p11##x,_p6##y,z,c), I[284] = (T)(img)(_p10##x,_p6##y,z,c), I[285] = (T)(img)(_p9##x,_p6##y,z,c), I[286] = (T)(img)(_p8##x,_p6##y,z,c), I[287] = (T)(img)(_p7##x,_p6##y,z,c), I[288] = (T)(img)(_p6##x,_p6##y,z,c), I[289] = (T)(img)(_p5##x,_p6##y,z,c), I[290] = (T)(img)(_p4##x,_p6##y,z,c), I[291] = (T)(img)(_p3##x,_p6# [...]
+ I[310] = (T)(img)(_p15##x,_p5##y,z,c), I[311] = (T)(img)(_p14##x,_p5##y,z,c), I[312] = (T)(img)(_p13##x,_p5##y,z,c), I[313] = (T)(img)(_p12##x,_p5##y,z,c), I[314] = (T)(img)(_p11##x,_p5##y,z,c), I[315] = (T)(img)(_p10##x,_p5##y,z,c), I[316] = (T)(img)(_p9##x,_p5##y,z,c), I[317] = (T)(img)(_p8##x,_p5##y,z,c), I[318] = (T)(img)(_p7##x,_p5##y,z,c), I[319] = (T)(img)(_p6##x,_p5##y,z,c), I[320] = (T)(img)(_p5##x,_p5##y,z,c), I[321] = (T)(img)(_p4##x,_p5##y,z,c), I[322] = (T)(img)(_p3##x,_p5# [...]
+ I[341] = (T)(img)(_p15##x,_p4##y,z,c), I[342] = (T)(img)(_p14##x,_p4##y,z,c), I[343] = (T)(img)(_p13##x,_p4##y,z,c), I[344] = (T)(img)(_p12##x,_p4##y,z,c), I[345] = (T)(img)(_p11##x,_p4##y,z,c), I[346] = (T)(img)(_p10##x,_p4##y,z,c), I[347] = (T)(img)(_p9##x,_p4##y,z,c), I[348] = (T)(img)(_p8##x,_p4##y,z,c), I[349] = (T)(img)(_p7##x,_p4##y,z,c), I[350] = (T)(img)(_p6##x,_p4##y,z,c), I[351] = (T)(img)(_p5##x,_p4##y,z,c), I[352] = (T)(img)(_p4##x,_p4##y,z,c), I[353] = (T)(img)(_p3##x,_p4# [...]
+ I[372] = (T)(img)(_p15##x,_p3##y,z,c), I[373] = (T)(img)(_p14##x,_p3##y,z,c), I[374] = (T)(img)(_p13##x,_p3##y,z,c), I[375] = (T)(img)(_p12##x,_p3##y,z,c), I[376] = (T)(img)(_p11##x,_p3##y,z,c), I[377] = (T)(img)(_p10##x,_p3##y,z,c), I[378] = (T)(img)(_p9##x,_p3##y,z,c), I[379] = (T)(img)(_p8##x,_p3##y,z,c), I[380] = (T)(img)(_p7##x,_p3##y,z,c), I[381] = (T)(img)(_p6##x,_p3##y,z,c), I[382] = (T)(img)(_p5##x,_p3##y,z,c), I[383] = (T)(img)(_p4##x,_p3##y,z,c), I[384] = (T)(img)(_p3##x,_p3# [...]
+ I[403] = (T)(img)(_p15##x,_p2##y,z,c), I[404] = (T)(img)(_p14##x,_p2##y,z,c), I[405] = (T)(img)(_p13##x,_p2##y,z,c), I[406] = (T)(img)(_p12##x,_p2##y,z,c), I[407] = (T)(img)(_p11##x,_p2##y,z,c), I[408] = (T)(img)(_p10##x,_p2##y,z,c), I[409] = (T)(img)(_p9##x,_p2##y,z,c), I[410] = (T)(img)(_p8##x,_p2##y,z,c), I[411] = (T)(img)(_p7##x,_p2##y,z,c), I[412] = (T)(img)(_p6##x,_p2##y,z,c), I[413] = (T)(img)(_p5##x,_p2##y,z,c), I[414] = (T)(img)(_p4##x,_p2##y,z,c), I[415] = (T)(img)(_p3##x,_p2# [...]
+ I[434] = (T)(img)(_p15##x,_p1##y,z,c), I[435] = (T)(img)(_p14##x,_p1##y,z,c), I[436] = (T)(img)(_p13##x,_p1##y,z,c), I[437] = (T)(img)(_p12##x,_p1##y,z,c), I[438] = (T)(img)(_p11##x,_p1##y,z,c), I[439] = (T)(img)(_p10##x,_p1##y,z,c), I[440] = (T)(img)(_p9##x,_p1##y,z,c), I[441] = (T)(img)(_p8##x,_p1##y,z,c), I[442] = (T)(img)(_p7##x,_p1##y,z,c), I[443] = (T)(img)(_p6##x,_p1##y,z,c), I[444] = (T)(img)(_p5##x,_p1##y,z,c), I[445] = (T)(img)(_p4##x,_p1##y,z,c), I[446] = (T)(img)(_p3##x,_p1# [...]
+ I[465] = (T)(img)(_p15##x,y,z,c), I[466] = (T)(img)(_p14##x,y,z,c), I[467] = (T)(img)(_p13##x,y,z,c), I[468] = (T)(img)(_p12##x,y,z,c), I[469] = (T)(img)(_p11##x,y,z,c), I[470] = (T)(img)(_p10##x,y,z,c), I[471] = (T)(img)(_p9##x,y,z,c), I[472] = (T)(img)(_p8##x,y,z,c), I[473] = (T)(img)(_p7##x,y,z,c), I[474] = (T)(img)(_p6##x,y,z,c), I[475] = (T)(img)(_p5##x,y,z,c), I[476] = (T)(img)(_p4##x,y,z,c), I[477] = (T)(img)(_p3##x,y,z,c), I[478] = (T)(img)(_p2##x,y,z,c), I[479] = (T)(img)(_p1## [...]
+ I[496] = (T)(img)(_p15##x,_n1##y,z,c), I[497] = (T)(img)(_p14##x,_n1##y,z,c), I[498] = (T)(img)(_p13##x,_n1##y,z,c), I[499] = (T)(img)(_p12##x,_n1##y,z,c), I[500] = (T)(img)(_p11##x,_n1##y,z,c), I[501] = (T)(img)(_p10##x,_n1##y,z,c), I[502] = (T)(img)(_p9##x,_n1##y,z,c), I[503] = (T)(img)(_p8##x,_n1##y,z,c), I[504] = (T)(img)(_p7##x,_n1##y,z,c), I[505] = (T)(img)(_p6##x,_n1##y,z,c), I[506] = (T)(img)(_p5##x,_n1##y,z,c), I[507] = (T)(img)(_p4##x,_n1##y,z,c), I[508] = (T)(img)(_p3##x,_n1# [...]
+ I[527] = (T)(img)(_p15##x,_n2##y,z,c), I[528] = (T)(img)(_p14##x,_n2##y,z,c), I[529] = (T)(img)(_p13##x,_n2##y,z,c), I[530] = (T)(img)(_p12##x,_n2##y,z,c), I[531] = (T)(img)(_p11##x,_n2##y,z,c), I[532] = (T)(img)(_p10##x,_n2##y,z,c), I[533] = (T)(img)(_p9##x,_n2##y,z,c), I[534] = (T)(img)(_p8##x,_n2##y,z,c), I[535] = (T)(img)(_p7##x,_n2##y,z,c), I[536] = (T)(img)(_p6##x,_n2##y,z,c), I[537] = (T)(img)(_p5##x,_n2##y,z,c), I[538] = (T)(img)(_p4##x,_n2##y,z,c), I[539] = (T)(img)(_p3##x,_n2# [...]
+ I[558] = (T)(img)(_p15##x,_n3##y,z,c), I[559] = (T)(img)(_p14##x,_n3##y,z,c), I[560] = (T)(img)(_p13##x,_n3##y,z,c), I[561] = (T)(img)(_p12##x,_n3##y,z,c), I[562] = (T)(img)(_p11##x,_n3##y,z,c), I[563] = (T)(img)(_p10##x,_n3##y,z,c), I[564] = (T)(img)(_p9##x,_n3##y,z,c), I[565] = (T)(img)(_p8##x,_n3##y,z,c), I[566] = (T)(img)(_p7##x,_n3##y,z,c), I[567] = (T)(img)(_p6##x,_n3##y,z,c), I[568] = (T)(img)(_p5##x,_n3##y,z,c), I[569] = (T)(img)(_p4##x,_n3##y,z,c), I[570] = (T)(img)(_p3##x,_n3# [...]
+ I[589] = (T)(img)(_p15##x,_n4##y,z,c), I[590] = (T)(img)(_p14##x,_n4##y,z,c), I[591] = (T)(img)(_p13##x,_n4##y,z,c), I[592] = (T)(img)(_p12##x,_n4##y,z,c), I[593] = (T)(img)(_p11##x,_n4##y,z,c), I[594] = (T)(img)(_p10##x,_n4##y,z,c), I[595] = (T)(img)(_p9##x,_n4##y,z,c), I[596] = (T)(img)(_p8##x,_n4##y,z,c), I[597] = (T)(img)(_p7##x,_n4##y,z,c), I[598] = (T)(img)(_p6##x,_n4##y,z,c), I[599] = (T)(img)(_p5##x,_n4##y,z,c), I[600] = (T)(img)(_p4##x,_n4##y,z,c), I[601] = (T)(img)(_p3##x,_n4# [...]
+ I[620] = (T)(img)(_p15##x,_n5##y,z,c), I[621] = (T)(img)(_p14##x,_n5##y,z,c), I[622] = (T)(img)(_p13##x,_n5##y,z,c), I[623] = (T)(img)(_p12##x,_n5##y,z,c), I[624] = (T)(img)(_p11##x,_n5##y,z,c), I[625] = (T)(img)(_p10##x,_n5##y,z,c), I[626] = (T)(img)(_p9##x,_n5##y,z,c), I[627] = (T)(img)(_p8##x,_n5##y,z,c), I[628] = (T)(img)(_p7##x,_n5##y,z,c), I[629] = (T)(img)(_p6##x,_n5##y,z,c), I[630] = (T)(img)(_p5##x,_n5##y,z,c), I[631] = (T)(img)(_p4##x,_n5##y,z,c), I[632] = (T)(img)(_p3##x,_n5# [...]
+ I[651] = (T)(img)(_p15##x,_n6##y,z,c), I[652] = (T)(img)(_p14##x,_n6##y,z,c), I[653] = (T)(img)(_p13##x,_n6##y,z,c), I[654] = (T)(img)(_p12##x,_n6##y,z,c), I[655] = (T)(img)(_p11##x,_n6##y,z,c), I[656] = (T)(img)(_p10##x,_n6##y,z,c), I[657] = (T)(img)(_p9##x,_n6##y,z,c), I[658] = (T)(img)(_p8##x,_n6##y,z,c), I[659] = (T)(img)(_p7##x,_n6##y,z,c), I[660] = (T)(img)(_p6##x,_n6##y,z,c), I[661] = (T)(img)(_p5##x,_n6##y,z,c), I[662] = (T)(img)(_p4##x,_n6##y,z,c), I[663] = (T)(img)(_p3##x,_n6# [...]
+ I[682] = (T)(img)(_p15##x,_n7##y,z,c), I[683] = (T)(img)(_p14##x,_n7##y,z,c), I[684] = (T)(img)(_p13##x,_n7##y,z,c), I[685] = (T)(img)(_p12##x,_n7##y,z,c), I[686] = (T)(img)(_p11##x,_n7##y,z,c), I[687] = (T)(img)(_p10##x,_n7##y,z,c), I[688] = (T)(img)(_p9##x,_n7##y,z,c), I[689] = (T)(img)(_p8##x,_n7##y,z,c), I[690] = (T)(img)(_p7##x,_n7##y,z,c), I[691] = (T)(img)(_p6##x,_n7##y,z,c), I[692] = (T)(img)(_p5##x,_n7##y,z,c), I[693] = (T)(img)(_p4##x,_n7##y,z,c), I[694] = (T)(img)(_p3##x,_n7# [...]
+ I[713] = (T)(img)(_p15##x,_n8##y,z,c), I[714] = (T)(img)(_p14##x,_n8##y,z,c), I[715] = (T)(img)(_p13##x,_n8##y,z,c), I[716] = (T)(img)(_p12##x,_n8##y,z,c), I[717] = (T)(img)(_p11##x,_n8##y,z,c), I[718] = (T)(img)(_p10##x,_n8##y,z,c), I[719] = (T)(img)(_p9##x,_n8##y,z,c), I[720] = (T)(img)(_p8##x,_n8##y,z,c), I[721] = (T)(img)(_p7##x,_n8##y,z,c), I[722] = (T)(img)(_p6##x,_n8##y,z,c), I[723] = (T)(img)(_p5##x,_n8##y,z,c), I[724] = (T)(img)(_p4##x,_n8##y,z,c), I[725] = (T)(img)(_p3##x,_n8# [...]
+ I[744] = (T)(img)(_p15##x,_n9##y,z,c), I[745] = (T)(img)(_p14##x,_n9##y,z,c), I[746] = (T)(img)(_p13##x,_n9##y,z,c), I[747] = (T)(img)(_p12##x,_n9##y,z,c), I[748] = (T)(img)(_p11##x,_n9##y,z,c), I[749] = (T)(img)(_p10##x,_n9##y,z,c), I[750] = (T)(img)(_p9##x,_n9##y,z,c), I[751] = (T)(img)(_p8##x,_n9##y,z,c), I[752] = (T)(img)(_p7##x,_n9##y,z,c), I[753] = (T)(img)(_p6##x,_n9##y,z,c), I[754] = (T)(img)(_p5##x,_n9##y,z,c), I[755] = (T)(img)(_p4##x,_n9##y,z,c), I[756] = (T)(img)(_p3##x,_n9# [...]
+ I[775] = (T)(img)(_p15##x,_n10##y,z,c), I[776] = (T)(img)(_p14##x,_n10##y,z,c), I[777] = (T)(img)(_p13##x,_n10##y,z,c), I[778] = (T)(img)(_p12##x,_n10##y,z,c), I[779] = (T)(img)(_p11##x,_n10##y,z,c), I[780] = (T)(img)(_p10##x,_n10##y,z,c), I[781] = (T)(img)(_p9##x,_n10##y,z,c), I[782] = (T)(img)(_p8##x,_n10##y,z,c), I[783] = (T)(img)(_p7##x,_n10##y,z,c), I[784] = (T)(img)(_p6##x,_n10##y,z,c), I[785] = (T)(img)(_p5##x,_n10##y,z,c), I[786] = (T)(img)(_p4##x,_n10##y,z,c), I[787] = (T)(img) [...]
+ I[806] = (T)(img)(_p15##x,_n11##y,z,c), I[807] = (T)(img)(_p14##x,_n11##y,z,c), I[808] = (T)(img)(_p13##x,_n11##y,z,c), I[809] = (T)(img)(_p12##x,_n11##y,z,c), I[810] = (T)(img)(_p11##x,_n11##y,z,c), I[811] = (T)(img)(_p10##x,_n11##y,z,c), I[812] = (T)(img)(_p9##x,_n11##y,z,c), I[813] = (T)(img)(_p8##x,_n11##y,z,c), I[814] = (T)(img)(_p7##x,_n11##y,z,c), I[815] = (T)(img)(_p6##x,_n11##y,z,c), I[816] = (T)(img)(_p5##x,_n11##y,z,c), I[817] = (T)(img)(_p4##x,_n11##y,z,c), I[818] = (T)(img) [...]
+ I[837] = (T)(img)(_p15##x,_n12##y,z,c), I[838] = (T)(img)(_p14##x,_n12##y,z,c), I[839] = (T)(img)(_p13##x,_n12##y,z,c), I[840] = (T)(img)(_p12##x,_n12##y,z,c), I[841] = (T)(img)(_p11##x,_n12##y,z,c), I[842] = (T)(img)(_p10##x,_n12##y,z,c), I[843] = (T)(img)(_p9##x,_n12##y,z,c), I[844] = (T)(img)(_p8##x,_n12##y,z,c), I[845] = (T)(img)(_p7##x,_n12##y,z,c), I[846] = (T)(img)(_p6##x,_n12##y,z,c), I[847] = (T)(img)(_p5##x,_n12##y,z,c), I[848] = (T)(img)(_p4##x,_n12##y,z,c), I[849] = (T)(img) [...]
+ I[868] = (T)(img)(_p15##x,_n13##y,z,c), I[869] = (T)(img)(_p14##x,_n13##y,z,c), I[870] = (T)(img)(_p13##x,_n13##y,z,c), I[871] = (T)(img)(_p12##x,_n13##y,z,c), I[872] = (T)(img)(_p11##x,_n13##y,z,c), I[873] = (T)(img)(_p10##x,_n13##y,z,c), I[874] = (T)(img)(_p9##x,_n13##y,z,c), I[875] = (T)(img)(_p8##x,_n13##y,z,c), I[876] = (T)(img)(_p7##x,_n13##y,z,c), I[877] = (T)(img)(_p6##x,_n13##y,z,c), I[878] = (T)(img)(_p5##x,_n13##y,z,c), I[879] = (T)(img)(_p4##x,_n13##y,z,c), I[880] = (T)(img) [...]
+ I[899] = (T)(img)(_p15##x,_n14##y,z,c), I[900] = (T)(img)(_p14##x,_n14##y,z,c), I[901] = (T)(img)(_p13##x,_n14##y,z,c), I[902] = (T)(img)(_p12##x,_n14##y,z,c), I[903] = (T)(img)(_p11##x,_n14##y,z,c), I[904] = (T)(img)(_p10##x,_n14##y,z,c), I[905] = (T)(img)(_p9##x,_n14##y,z,c), I[906] = (T)(img)(_p8##x,_n14##y,z,c), I[907] = (T)(img)(_p7##x,_n14##y,z,c), I[908] = (T)(img)(_p6##x,_n14##y,z,c), I[909] = (T)(img)(_p5##x,_n14##y,z,c), I[910] = (T)(img)(_p4##x,_n14##y,z,c), I[911] = (T)(img) [...]
+ I[930] = (T)(img)(_p15##x,_n15##y,z,c), I[931] = (T)(img)(_p14##x,_n15##y,z,c), I[932] = (T)(img)(_p13##x,_n15##y,z,c), I[933] = (T)(img)(_p12##x,_n15##y,z,c), I[934] = (T)(img)(_p11##x,_n15##y,z,c), I[935] = (T)(img)(_p10##x,_n15##y,z,c), I[936] = (T)(img)(_p9##x,_n15##y,z,c), I[937] = (T)(img)(_p8##x,_n15##y,z,c), I[938] = (T)(img)(_p7##x,_n15##y,z,c), I[939] = (T)(img)(_p6##x,_n15##y,z,c), I[940] = (T)(img)(_p5##x,_n15##y,z,c), I[941] = (T)(img)(_p4##x,_n15##y,z,c), I[942] = (T)(img) [...]
+
+// Define 32x32 loop macros
+//-------------------------
+#define cimg_for32(bound,i) for (int i = 0, \
+ _p15##i = 0, _p14##i = 0, _p13##i = 0, _p12##i = 0, _p11##i = 0, _p10##i = 0, _p9##i = 0, _p8##i = 0, _p7##i = 0, _p6##i = 0, _p5##i = 0, _p4##i = 0, _p3##i = 0, _p2##i = 0, _p1##i = 0, \
+ _n1##i = 1>=(int)(bound)?(int)(bound) - 1:1, \
+ _n2##i = 2>=(int)(bound)?(int)(bound) - 1:2, \
+ _n3##i = 3>=(int)(bound)?(int)(bound) - 1:3, \
+ _n4##i = 4>=(int)(bound)?(int)(bound) - 1:4, \
+ _n5##i = 5>=(int)(bound)?(int)(bound) - 1:5, \
+ _n6##i = 6>=(int)(bound)?(int)(bound) - 1:6, \
+ _n7##i = 7>=(int)(bound)?(int)(bound) - 1:7, \
+ _n8##i = 8>=(int)(bound)?(int)(bound) - 1:8, \
+ _n9##i = 9>=(int)(bound)?(int)(bound) - 1:9, \
+ _n10##i = 10>=(int)(bound)?(int)(bound) - 1:10, \
+ _n11##i = 11>=(int)(bound)?(int)(bound) - 1:11, \
+ _n12##i = 12>=(int)(bound)?(int)(bound) - 1:12, \
+ _n13##i = 13>=(int)(bound)?(int)(bound) - 1:13, \
+ _n14##i = 14>=(int)(bound)?(int)(bound) - 1:14, \
+ _n15##i = 15>=(int)(bound)?(int)(bound) - 1:15, \
+ _n16##i = 16>=(int)(bound)?(int)(bound) - 1:16; \
+ _n16##i<(int)(bound) || _n15##i==--_n16##i || _n14##i==--_n15##i || _n13##i==--_n14##i || _n12##i==--_n13##i || _n11##i==--_n12##i || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n16##i = _n15##i = _n14##i = _n13##i = _n12##i = _n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i); \
+ _p15##i = _p14##i, _p14##i = _p13##i, _p13##i = _p12##i, _p12##i = _p11##i, _p11##i = _p10##i, _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i, ++_n12##i, ++_n13##i, ++_n14##i, ++_n15##i, ++_n16##i)
+
+#define cimg_for32X(img,x) cimg_for32((img)._width,x)
+#define cimg_for32Y(img,y) cimg_for32((img)._height,y)
+#define cimg_for32Z(img,z) cimg_for32((img)._depth,z)
+#define cimg_for32C(img,c) cimg_for32((img)._spectrum,c)
+#define cimg_for32XY(img,x,y) cimg_for32Y(img,y) cimg_for32X(img,x)
+#define cimg_for32XZ(img,x,z) cimg_for32Z(img,z) cimg_for32X(img,x)
+#define cimg_for32XC(img,x,c) cimg_for32C(img,c) cimg_for32X(img,x)
+#define cimg_for32YZ(img,y,z) cimg_for32Z(img,z) cimg_for32Y(img,y)
+#define cimg_for32YC(img,y,c) cimg_for32C(img,c) cimg_for32Y(img,y)
+#define cimg_for32ZC(img,z,c) cimg_for32C(img,c) cimg_for32Z(img,z)
+#define cimg_for32XYZ(img,x,y,z) cimg_for32Z(img,z) cimg_for32XY(img,x,y)
+#define cimg_for32XZC(img,x,z,c) cimg_for32C(img,c) cimg_for32XZ(img,x,z)
+#define cimg_for32YZC(img,y,z,c) cimg_for32C(img,c) cimg_for32YZ(img,y,z)
+#define cimg_for32XYZC(img,x,y,z,c) cimg_for32C(img,c) cimg_for32XYZ(img,x,y,z)
+
+#define cimg_for_in32(bound,i0,i1,i) for (int i = (int)(i0)<0?0:(int)(i0), \
+ _p15##i = i - 15<0?0:i - 15, \
+ _p14##i = i - 14<0?0:i - 14, \
+ _p13##i = i - 13<0?0:i - 13, \
+ _p12##i = i - 12<0?0:i - 12, \
+ _p11##i = i - 11<0?0:i - 11, \
+ _p10##i = i - 10<0?0:i - 10, \
+ _p9##i = i - 9<0?0:i - 9, \
+ _p8##i = i - 8<0?0:i - 8, \
+ _p7##i = i - 7<0?0:i - 7, \
+ _p6##i = i - 6<0?0:i - 6, \
+ _p5##i = i - 5<0?0:i - 5, \
+ _p4##i = i - 4<0?0:i - 4, \
+ _p3##i = i - 3<0?0:i - 3, \
+ _p2##i = i - 2<0?0:i - 2, \
+ _p1##i = i - 1<0?0:i - 1, \
+ _n1##i = i + 1>=(int)(bound)?(int)(bound) - 1:i + 1, \
+ _n2##i = i + 2>=(int)(bound)?(int)(bound) - 1:i + 2, \
+ _n3##i = i + 3>=(int)(bound)?(int)(bound) - 1:i + 3, \
+ _n4##i = i + 4>=(int)(bound)?(int)(bound) - 1:i + 4, \
+ _n5##i = i + 5>=(int)(bound)?(int)(bound) - 1:i + 5, \
+ _n6##i = i + 6>=(int)(bound)?(int)(bound) - 1:i + 6, \
+ _n7##i = i + 7>=(int)(bound)?(int)(bound) - 1:i + 7, \
+ _n8##i = i + 8>=(int)(bound)?(int)(bound) - 1:i + 8, \
+ _n9##i = i + 9>=(int)(bound)?(int)(bound) - 1:i + 9, \
+ _n10##i = i + 10>=(int)(bound)?(int)(bound) - 1:i + 10, \
+ _n11##i = i + 11>=(int)(bound)?(int)(bound) - 1:i + 11, \
+ _n12##i = i + 12>=(int)(bound)?(int)(bound) - 1:i + 12, \
+ _n13##i = i + 13>=(int)(bound)?(int)(bound) - 1:i + 13, \
+ _n14##i = i + 14>=(int)(bound)?(int)(bound) - 1:i + 14, \
+ _n15##i = i + 15>=(int)(bound)?(int)(bound) - 1:i + 15, \
+ _n16##i = i + 16>=(int)(bound)?(int)(bound) - 1:i + 16; \
+ i<=(int)(i1) && (_n16##i<(int)(bound) || _n15##i==--_n16##i || _n14##i==--_n15##i || _n13##i==--_n14##i || _n12##i==--_n13##i || _n11##i==--_n12##i || _n10##i==--_n11##i || _n9##i==--_n10##i || _n8##i==--_n9##i || _n7##i==--_n8##i || _n6##i==--_n7##i || _n5##i==--_n6##i || _n4##i==--_n5##i || _n3##i==--_n4##i || _n2##i==--_n3##i || _n1##i==--_n2##i || \
+ i==(_n16##i = _n15##i = _n14##i = _n13##i = _n12##i = _n11##i = _n10##i = _n9##i = _n8##i = _n7##i = _n6##i = _n5##i = _n4##i = _n3##i = _n2##i = --_n1##i)); \
+ _p15##i = _p14##i, _p14##i = _p13##i, _p13##i = _p12##i, _p12##i = _p11##i, _p11##i = _p10##i, _p10##i = _p9##i, _p9##i = _p8##i, _p8##i = _p7##i, _p7##i = _p6##i, _p6##i = _p5##i, _p5##i = _p4##i, _p4##i = _p3##i, _p3##i = _p2##i, _p2##i = _p1##i, _p1##i = i++, \
+ ++_n1##i, ++_n2##i, ++_n3##i, ++_n4##i, ++_n5##i, ++_n6##i, ++_n7##i, ++_n8##i, ++_n9##i, ++_n10##i, ++_n11##i, ++_n12##i, ++_n13##i, ++_n14##i, ++_n15##i, ++_n16##i)
+
+#define cimg_for_in32X(img,x0,x1,x) cimg_for_in32((img)._width,x0,x1,x)
+#define cimg_for_in32Y(img,y0,y1,y) cimg_for_in32((img)._height,y0,y1,y)
+#define cimg_for_in32Z(img,z0,z1,z) cimg_for_in32((img)._depth,z0,z1,z)
+#define cimg_for_in32C(img,c0,c1,c) cimg_for_in32((img)._spectrum,c0,c1,c)
+#define cimg_for_in32XY(img,x0,y0,x1,y1,x,y) cimg_for_in32Y(img,y0,y1,y) cimg_for_in32X(img,x0,x1,x)
+#define cimg_for_in32XZ(img,x0,z0,x1,z1,x,z) cimg_for_in32Z(img,z0,z1,z) cimg_for_in32X(img,x0,x1,x)
+#define cimg_for_in32XC(img,x0,c0,x1,c1,x,c) cimg_for_in32C(img,c0,c1,c) cimg_for_in32X(img,x0,x1,x)
+#define cimg_for_in32YZ(img,y0,z0,y1,z1,y,z) cimg_for_in32Z(img,z0,z1,z) cimg_for_in32Y(img,y0,y1,y)
+#define cimg_for_in32YC(img,y0,c0,y1,c1,y,c) cimg_for_in32C(img,c0,c1,c) cimg_for_in32Y(img,y0,y1,y)
+#define cimg_for_in32ZC(img,z0,c0,z1,c1,z,c) cimg_for_in32C(img,c0,c1,c) cimg_for_in32Z(img,z0,z1,z)
+#define cimg_for_in32XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z) cimg_for_in32Z(img,z0,z1,z) cimg_for_in32XY(img,x0,y0,x1,y1,x,y)
+#define cimg_for_in32XZC(img,x0,z0,c0,x1,y1,c1,x,z,c) cimg_for_in32C(img,c0,c1,c) cimg_for_in32XZ(img,x0,y0,x1,y1,x,z)
+#define cimg_for_in32YZC(img,y0,z0,c0,y1,z1,c1,y,z,c) cimg_for_in32C(img,c0,c1,c) cimg_for_in32YZ(img,y0,z0,y1,z1,y,z)
+#define cimg_for_in32XYZC(img,x0,y0,z0,c0,x1,y1,z1,c1,x,y,z,c) cimg_for_in32C(img,c0,c1,c) cimg_for_in32XYZ(img,x0,y0,z0,x1,y1,z1,x,y,z)
+
+#define cimg_for32x32(img,x,y,z,c,I,T) \
+ cimg_for32((img)._height,y) for (int x = 0, \
+ _p15##x = 0, _p14##x = 0, _p13##x = 0, _p12##x = 0, _p11##x = 0, _p10##x = 0, _p9##x = 0, _p8##x = 0, _p7##x = 0, _p6##x = 0, _p5##x = 0, _p4##x = 0, _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = 4>=((img)._width)?(img).width() - 1:4, \
+ _n5##x = 5>=((img)._width)?(img).width() - 1:5, \
+ _n6##x = 6>=((img)._width)?(img).width() - 1:6, \
+ _n7##x = 7>=((img)._width)?(img).width() - 1:7, \
+ _n8##x = 8>=((img)._width)?(img).width() - 1:8, \
+ _n9##x = 9>=((img)._width)?(img).width() - 1:9, \
+ _n10##x = 10>=((img)._width)?(img).width() - 1:10, \
+ _n11##x = 11>=((img)._width)?(img).width() - 1:11, \
+ _n12##x = 12>=((img)._width)?(img).width() - 1:12, \
+ _n13##x = 13>=((img)._width)?(img).width() - 1:13, \
+ _n14##x = 14>=((img)._width)?(img).width() - 1:14, \
+ _n15##x = 15>=((img)._width)?(img).width() - 1:15, \
+ _n16##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = I[4] = I[5] = I[6] = I[7] = I[8] = I[9] = I[10] = I[11] = I[12] = I[13] = I[14] = I[15] = (T)(img)(0,_p15##y,z,c)), \
+ (I[32] = I[33] = I[34] = I[35] = I[36] = I[37] = I[38] = I[39] = I[40] = I[41] = I[42] = I[43] = I[44] = I[45] = I[46] = I[47] = (T)(img)(0,_p14##y,z,c)), \
+ (I[64] = I[65] = I[66] = I[67] = I[68] = I[69] = I[70] = I[71] = I[72] = I[73] = I[74] = I[75] = I[76] = I[77] = I[78] = I[79] = (T)(img)(0,_p13##y,z,c)), \
+ (I[96] = I[97] = I[98] = I[99] = I[100] = I[101] = I[102] = I[103] = I[104] = I[105] = I[106] = I[107] = I[108] = I[109] = I[110] = I[111] = (T)(img)(0,_p12##y,z,c)), \
+ (I[128] = I[129] = I[130] = I[131] = I[132] = I[133] = I[134] = I[135] = I[136] = I[137] = I[138] = I[139] = I[140] = I[141] = I[142] = I[143] = (T)(img)(0,_p11##y,z,c)), \
+ (I[160] = I[161] = I[162] = I[163] = I[164] = I[165] = I[166] = I[167] = I[168] = I[169] = I[170] = I[171] = I[172] = I[173] = I[174] = I[175] = (T)(img)(0,_p10##y,z,c)), \
+ (I[192] = I[193] = I[194] = I[195] = I[196] = I[197] = I[198] = I[199] = I[200] = I[201] = I[202] = I[203] = I[204] = I[205] = I[206] = I[207] = (T)(img)(0,_p9##y,z,c)), \
+ (I[224] = I[225] = I[226] = I[227] = I[228] = I[229] = I[230] = I[231] = I[232] = I[233] = I[234] = I[235] = I[236] = I[237] = I[238] = I[239] = (T)(img)(0,_p8##y,z,c)), \
+ (I[256] = I[257] = I[258] = I[259] = I[260] = I[261] = I[262] = I[263] = I[264] = I[265] = I[266] = I[267] = I[268] = I[269] = I[270] = I[271] = (T)(img)(0,_p7##y,z,c)), \
+ (I[288] = I[289] = I[290] = I[291] = I[292] = I[293] = I[294] = I[295] = I[296] = I[297] = I[298] = I[299] = I[300] = I[301] = I[302] = I[303] = (T)(img)(0,_p6##y,z,c)), \
+ (I[320] = I[321] = I[322] = I[323] = I[324] = I[325] = I[326] = I[327] = I[328] = I[329] = I[330] = I[331] = I[332] = I[333] = I[334] = I[335] = (T)(img)(0,_p5##y,z,c)), \
+ (I[352] = I[353] = I[354] = I[355] = I[356] = I[357] = I[358] = I[359] = I[360] = I[361] = I[362] = I[363] = I[364] = I[365] = I[366] = I[367] = (T)(img)(0,_p4##y,z,c)), \
+ (I[384] = I[385] = I[386] = I[387] = I[388] = I[389] = I[390] = I[391] = I[392] = I[393] = I[394] = I[395] = I[396] = I[397] = I[398] = I[399] = (T)(img)(0,_p3##y,z,c)), \
+ (I[416] = I[417] = I[418] = I[419] = I[420] = I[421] = I[422] = I[423] = I[424] = I[425] = I[426] = I[427] = I[428] = I[429] = I[430] = I[431] = (T)(img)(0,_p2##y,z,c)), \
+ (I[448] = I[449] = I[450] = I[451] = I[452] = I[453] = I[454] = I[455] = I[456] = I[457] = I[458] = I[459] = I[460] = I[461] = I[462] = I[463] = (T)(img)(0,_p1##y,z,c)), \
+ (I[480] = I[481] = I[482] = I[483] = I[484] = I[485] = I[486] = I[487] = I[488] = I[489] = I[490] = I[491] = I[492] = I[493] = I[494] = I[495] = (T)(img)(0,y,z,c)), \
+ (I[512] = I[513] = I[514] = I[515] = I[516] = I[517] = I[518] = I[519] = I[520] = I[521] = I[522] = I[523] = I[524] = I[525] = I[526] = I[527] = (T)(img)(0,_n1##y,z,c)), \
+ (I[544] = I[545] = I[546] = I[547] = I[548] = I[549] = I[550] = I[551] = I[552] = I[553] = I[554] = I[555] = I[556] = I[557] = I[558] = I[559] = (T)(img)(0,_n2##y,z,c)), \
+ (I[576] = I[577] = I[578] = I[579] = I[580] = I[581] = I[582] = I[583] = I[584] = I[585] = I[586] = I[587] = I[588] = I[589] = I[590] = I[591] = (T)(img)(0,_n3##y,z,c)), \
+ (I[608] = I[609] = I[610] = I[611] = I[612] = I[613] = I[614] = I[615] = I[616] = I[617] = I[618] = I[619] = I[620] = I[621] = I[622] = I[623] = (T)(img)(0,_n4##y,z,c)), \
+ (I[640] = I[641] = I[642] = I[643] = I[644] = I[645] = I[646] = I[647] = I[648] = I[649] = I[650] = I[651] = I[652] = I[653] = I[654] = I[655] = (T)(img)(0,_n5##y,z,c)), \
+ (I[672] = I[673] = I[674] = I[675] = I[676] = I[677] = I[678] = I[679] = I[680] = I[681] = I[682] = I[683] = I[684] = I[685] = I[686] = I[687] = (T)(img)(0,_n6##y,z,c)), \
+ (I[704] = I[705] = I[706] = I[707] = I[708] = I[709] = I[710] = I[711] = I[712] = I[713] = I[714] = I[715] = I[716] = I[717] = I[718] = I[719] = (T)(img)(0,_n7##y,z,c)), \
+ (I[736] = I[737] = I[738] = I[739] = I[740] = I[741] = I[742] = I[743] = I[744] = I[745] = I[746] = I[747] = I[748] = I[749] = I[750] = I[751] = (T)(img)(0,_n8##y,z,c)), \
+ (I[768] = I[769] = I[770] = I[771] = I[772] = I[773] = I[774] = I[775] = I[776] = I[777] = I[778] = I[779] = I[780] = I[781] = I[782] = I[783] = (T)(img)(0,_n9##y,z,c)), \
+ (I[800] = I[801] = I[802] = I[803] = I[804] = I[805] = I[806] = I[807] = I[808] = I[809] = I[810] = I[811] = I[812] = I[813] = I[814] = I[815] = (T)(img)(0,_n10##y,z,c)), \
+ (I[832] = I[833] = I[834] = I[835] = I[836] = I[837] = I[838] = I[839] = I[840] = I[841] = I[842] = I[843] = I[844] = I[845] = I[846] = I[847] = (T)(img)(0,_n11##y,z,c)), \
+ (I[864] = I[865] = I[866] = I[867] = I[868] = I[869] = I[870] = I[871] = I[872] = I[873] = I[874] = I[875] = I[876] = I[877] = I[878] = I[879] = (T)(img)(0,_n12##y,z,c)), \
+ (I[896] = I[897] = I[898] = I[899] = I[900] = I[901] = I[902] = I[903] = I[904] = I[905] = I[906] = I[907] = I[908] = I[909] = I[910] = I[911] = (T)(img)(0,_n13##y,z,c)), \
+ (I[928] = I[929] = I[930] = I[931] = I[932] = I[933] = I[934] = I[935] = I[936] = I[937] = I[938] = I[939] = I[940] = I[941] = I[942] = I[943] = (T)(img)(0,_n14##y,z,c)), \
+ (I[960] = I[961] = I[962] = I[963] = I[964] = I[965] = I[966] = I[967] = I[968] = I[969] = I[970] = I[971] = I[972] = I[973] = I[974] = I[975] = (T)(img)(0,_n15##y,z,c)), \
+ (I[992] = I[993] = I[994] = I[995] = I[996] = I[997] = I[998] = I[999] = I[1000] = I[1001] = I[1002] = I[1003] = I[1004] = I[1005] = I[1006] = I[1007] = (T)(img)(0,_n16##y,z,c)), \
+ (I[16] = (T)(img)(_n1##x,_p15##y,z,c)), \
+ (I[48] = (T)(img)(_n1##x,_p14##y,z,c)), \
+ (I[80] = (T)(img)(_n1##x,_p13##y,z,c)), \
+ (I[112] = (T)(img)(_n1##x,_p12##y,z,c)), \
+ (I[144] = (T)(img)(_n1##x,_p11##y,z,c)), \
+ (I[176] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[208] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[240] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[272] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[304] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[336] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[368] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[400] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[432] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[464] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[496] = (T)(img)(_n1##x,y,z,c)), \
+ (I[528] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[560] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[592] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[624] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[656] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[688] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[720] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[752] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[784] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[816] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[848] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[880] = (T)(img)(_n1##x,_n12##y,z,c)), \
+ (I[912] = (T)(img)(_n1##x,_n13##y,z,c)), \
+ (I[944] = (T)(img)(_n1##x,_n14##y,z,c)), \
+ (I[976] = (T)(img)(_n1##x,_n15##y,z,c)), \
+ (I[1008] = (T)(img)(_n1##x,_n16##y,z,c)), \
+ (I[17] = (T)(img)(_n2##x,_p15##y,z,c)), \
+ (I[49] = (T)(img)(_n2##x,_p14##y,z,c)), \
+ (I[81] = (T)(img)(_n2##x,_p13##y,z,c)), \
+ (I[113] = (T)(img)(_n2##x,_p12##y,z,c)), \
+ (I[145] = (T)(img)(_n2##x,_p11##y,z,c)), \
+ (I[177] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[209] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[241] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[273] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[305] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[337] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[369] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[401] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[433] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[465] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[497] = (T)(img)(_n2##x,y,z,c)), \
+ (I[529] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[561] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[593] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[625] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[657] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[689] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[721] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[753] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[785] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[817] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[849] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[881] = (T)(img)(_n2##x,_n12##y,z,c)), \
+ (I[913] = (T)(img)(_n2##x,_n13##y,z,c)), \
+ (I[945] = (T)(img)(_n2##x,_n14##y,z,c)), \
+ (I[977] = (T)(img)(_n2##x,_n15##y,z,c)), \
+ (I[1009] = (T)(img)(_n2##x,_n16##y,z,c)), \
+ (I[18] = (T)(img)(_n3##x,_p15##y,z,c)), \
+ (I[50] = (T)(img)(_n3##x,_p14##y,z,c)), \
+ (I[82] = (T)(img)(_n3##x,_p13##y,z,c)), \
+ (I[114] = (T)(img)(_n3##x,_p12##y,z,c)), \
+ (I[146] = (T)(img)(_n3##x,_p11##y,z,c)), \
+ (I[178] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[210] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[242] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[274] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[306] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[338] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[370] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[402] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[434] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[466] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[498] = (T)(img)(_n3##x,y,z,c)), \
+ (I[530] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[562] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[594] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[626] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[658] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[690] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[722] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[754] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[786] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[818] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[850] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[882] = (T)(img)(_n3##x,_n12##y,z,c)), \
+ (I[914] = (T)(img)(_n3##x,_n13##y,z,c)), \
+ (I[946] = (T)(img)(_n3##x,_n14##y,z,c)), \
+ (I[978] = (T)(img)(_n3##x,_n15##y,z,c)), \
+ (I[1010] = (T)(img)(_n3##x,_n16##y,z,c)), \
+ (I[19] = (T)(img)(_n4##x,_p15##y,z,c)), \
+ (I[51] = (T)(img)(_n4##x,_p14##y,z,c)), \
+ (I[83] = (T)(img)(_n4##x,_p13##y,z,c)), \
+ (I[115] = (T)(img)(_n4##x,_p12##y,z,c)), \
+ (I[147] = (T)(img)(_n4##x,_p11##y,z,c)), \
+ (I[179] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[211] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[243] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[275] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[307] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[339] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[371] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[403] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[435] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[467] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[499] = (T)(img)(_n4##x,y,z,c)), \
+ (I[531] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[563] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[595] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[627] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[659] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[691] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[723] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[755] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[787] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[819] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[851] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[883] = (T)(img)(_n4##x,_n12##y,z,c)), \
+ (I[915] = (T)(img)(_n4##x,_n13##y,z,c)), \
+ (I[947] = (T)(img)(_n4##x,_n14##y,z,c)), \
+ (I[979] = (T)(img)(_n4##x,_n15##y,z,c)), \
+ (I[1011] = (T)(img)(_n4##x,_n16##y,z,c)), \
+ (I[20] = (T)(img)(_n5##x,_p15##y,z,c)), \
+ (I[52] = (T)(img)(_n5##x,_p14##y,z,c)), \
+ (I[84] = (T)(img)(_n5##x,_p13##y,z,c)), \
+ (I[116] = (T)(img)(_n5##x,_p12##y,z,c)), \
+ (I[148] = (T)(img)(_n5##x,_p11##y,z,c)), \
+ (I[180] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[212] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[244] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[276] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[308] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[340] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[372] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[404] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[436] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[468] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[500] = (T)(img)(_n5##x,y,z,c)), \
+ (I[532] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[564] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[596] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[628] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[660] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[692] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[724] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[756] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[788] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[820] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[852] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[884] = (T)(img)(_n5##x,_n12##y,z,c)), \
+ (I[916] = (T)(img)(_n5##x,_n13##y,z,c)), \
+ (I[948] = (T)(img)(_n5##x,_n14##y,z,c)), \
+ (I[980] = (T)(img)(_n5##x,_n15##y,z,c)), \
+ (I[1012] = (T)(img)(_n5##x,_n16##y,z,c)), \
+ (I[21] = (T)(img)(_n6##x,_p15##y,z,c)), \
+ (I[53] = (T)(img)(_n6##x,_p14##y,z,c)), \
+ (I[85] = (T)(img)(_n6##x,_p13##y,z,c)), \
+ (I[117] = (T)(img)(_n6##x,_p12##y,z,c)), \
+ (I[149] = (T)(img)(_n6##x,_p11##y,z,c)), \
+ (I[181] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[213] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[245] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[277] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[309] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[341] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[373] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[405] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[437] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[469] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[501] = (T)(img)(_n6##x,y,z,c)), \
+ (I[533] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[565] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[597] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[629] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[661] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[693] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[725] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[757] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[789] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[821] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[853] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[885] = (T)(img)(_n6##x,_n12##y,z,c)), \
+ (I[917] = (T)(img)(_n6##x,_n13##y,z,c)), \
+ (I[949] = (T)(img)(_n6##x,_n14##y,z,c)), \
+ (I[981] = (T)(img)(_n6##x,_n15##y,z,c)), \
+ (I[1013] = (T)(img)(_n6##x,_n16##y,z,c)), \
+ (I[22] = (T)(img)(_n7##x,_p15##y,z,c)), \
+ (I[54] = (T)(img)(_n7##x,_p14##y,z,c)), \
+ (I[86] = (T)(img)(_n7##x,_p13##y,z,c)), \
+ (I[118] = (T)(img)(_n7##x,_p12##y,z,c)), \
+ (I[150] = (T)(img)(_n7##x,_p11##y,z,c)), \
+ (I[182] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[214] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[246] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[278] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[310] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[342] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[374] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[406] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[438] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[470] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[502] = (T)(img)(_n7##x,y,z,c)), \
+ (I[534] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[566] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[598] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[630] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[662] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[694] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[726] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[758] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[790] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[822] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[854] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[886] = (T)(img)(_n7##x,_n12##y,z,c)), \
+ (I[918] = (T)(img)(_n7##x,_n13##y,z,c)), \
+ (I[950] = (T)(img)(_n7##x,_n14##y,z,c)), \
+ (I[982] = (T)(img)(_n7##x,_n15##y,z,c)), \
+ (I[1014] = (T)(img)(_n7##x,_n16##y,z,c)), \
+ (I[23] = (T)(img)(_n8##x,_p15##y,z,c)), \
+ (I[55] = (T)(img)(_n8##x,_p14##y,z,c)), \
+ (I[87] = (T)(img)(_n8##x,_p13##y,z,c)), \
+ (I[119] = (T)(img)(_n8##x,_p12##y,z,c)), \
+ (I[151] = (T)(img)(_n8##x,_p11##y,z,c)), \
+ (I[183] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[215] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[247] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[279] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[311] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[343] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[375] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[407] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[439] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[471] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[503] = (T)(img)(_n8##x,y,z,c)), \
+ (I[535] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[567] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[599] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[631] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[663] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[695] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[727] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[759] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[791] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[823] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[855] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[887] = (T)(img)(_n8##x,_n12##y,z,c)), \
+ (I[919] = (T)(img)(_n8##x,_n13##y,z,c)), \
+ (I[951] = (T)(img)(_n8##x,_n14##y,z,c)), \
+ (I[983] = (T)(img)(_n8##x,_n15##y,z,c)), \
+ (I[1015] = (T)(img)(_n8##x,_n16##y,z,c)), \
+ (I[24] = (T)(img)(_n9##x,_p15##y,z,c)), \
+ (I[56] = (T)(img)(_n9##x,_p14##y,z,c)), \
+ (I[88] = (T)(img)(_n9##x,_p13##y,z,c)), \
+ (I[120] = (T)(img)(_n9##x,_p12##y,z,c)), \
+ (I[152] = (T)(img)(_n9##x,_p11##y,z,c)), \
+ (I[184] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[216] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[248] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[280] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[312] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[344] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[376] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[408] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[440] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[472] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[504] = (T)(img)(_n9##x,y,z,c)), \
+ (I[536] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[568] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[600] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[632] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[664] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[696] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[728] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[760] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[792] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[824] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[856] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[888] = (T)(img)(_n9##x,_n12##y,z,c)), \
+ (I[920] = (T)(img)(_n9##x,_n13##y,z,c)), \
+ (I[952] = (T)(img)(_n9##x,_n14##y,z,c)), \
+ (I[984] = (T)(img)(_n9##x,_n15##y,z,c)), \
+ (I[1016] = (T)(img)(_n9##x,_n16##y,z,c)), \
+ (I[25] = (T)(img)(_n10##x,_p15##y,z,c)), \
+ (I[57] = (T)(img)(_n10##x,_p14##y,z,c)), \
+ (I[89] = (T)(img)(_n10##x,_p13##y,z,c)), \
+ (I[121] = (T)(img)(_n10##x,_p12##y,z,c)), \
+ (I[153] = (T)(img)(_n10##x,_p11##y,z,c)), \
+ (I[185] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[217] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[249] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[281] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[313] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[345] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[377] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[409] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[441] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[473] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[505] = (T)(img)(_n10##x,y,z,c)), \
+ (I[537] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[569] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[601] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[633] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[665] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[697] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[729] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[761] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[793] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[825] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[857] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ (I[889] = (T)(img)(_n10##x,_n12##y,z,c)), \
+ (I[921] = (T)(img)(_n10##x,_n13##y,z,c)), \
+ (I[953] = (T)(img)(_n10##x,_n14##y,z,c)), \
+ (I[985] = (T)(img)(_n10##x,_n15##y,z,c)), \
+ (I[1017] = (T)(img)(_n10##x,_n16##y,z,c)), \
+ (I[26] = (T)(img)(_n11##x,_p15##y,z,c)), \
+ (I[58] = (T)(img)(_n11##x,_p14##y,z,c)), \
+ (I[90] = (T)(img)(_n11##x,_p13##y,z,c)), \
+ (I[122] = (T)(img)(_n11##x,_p12##y,z,c)), \
+ (I[154] = (T)(img)(_n11##x,_p11##y,z,c)), \
+ (I[186] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[218] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[250] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[282] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[314] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[346] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[378] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[410] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[442] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[474] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[506] = (T)(img)(_n11##x,y,z,c)), \
+ (I[538] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[570] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[602] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[634] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[666] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[698] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[730] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[762] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[794] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[826] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[858] = (T)(img)(_n11##x,_n11##y,z,c)), \
+ (I[890] = (T)(img)(_n11##x,_n12##y,z,c)), \
+ (I[922] = (T)(img)(_n11##x,_n13##y,z,c)), \
+ (I[954] = (T)(img)(_n11##x,_n14##y,z,c)), \
+ (I[986] = (T)(img)(_n11##x,_n15##y,z,c)), \
+ (I[1018] = (T)(img)(_n11##x,_n16##y,z,c)), \
+ (I[27] = (T)(img)(_n12##x,_p15##y,z,c)), \
+ (I[59] = (T)(img)(_n12##x,_p14##y,z,c)), \
+ (I[91] = (T)(img)(_n12##x,_p13##y,z,c)), \
+ (I[123] = (T)(img)(_n12##x,_p12##y,z,c)), \
+ (I[155] = (T)(img)(_n12##x,_p11##y,z,c)), \
+ (I[187] = (T)(img)(_n12##x,_p10##y,z,c)), \
+ (I[219] = (T)(img)(_n12##x,_p9##y,z,c)), \
+ (I[251] = (T)(img)(_n12##x,_p8##y,z,c)), \
+ (I[283] = (T)(img)(_n12##x,_p7##y,z,c)), \
+ (I[315] = (T)(img)(_n12##x,_p6##y,z,c)), \
+ (I[347] = (T)(img)(_n12##x,_p5##y,z,c)), \
+ (I[379] = (T)(img)(_n12##x,_p4##y,z,c)), \
+ (I[411] = (T)(img)(_n12##x,_p3##y,z,c)), \
+ (I[443] = (T)(img)(_n12##x,_p2##y,z,c)), \
+ (I[475] = (T)(img)(_n12##x,_p1##y,z,c)), \
+ (I[507] = (T)(img)(_n12##x,y,z,c)), \
+ (I[539] = (T)(img)(_n12##x,_n1##y,z,c)), \
+ (I[571] = (T)(img)(_n12##x,_n2##y,z,c)), \
+ (I[603] = (T)(img)(_n12##x,_n3##y,z,c)), \
+ (I[635] = (T)(img)(_n12##x,_n4##y,z,c)), \
+ (I[667] = (T)(img)(_n12##x,_n5##y,z,c)), \
+ (I[699] = (T)(img)(_n12##x,_n6##y,z,c)), \
+ (I[731] = (T)(img)(_n12##x,_n7##y,z,c)), \
+ (I[763] = (T)(img)(_n12##x,_n8##y,z,c)), \
+ (I[795] = (T)(img)(_n12##x,_n9##y,z,c)), \
+ (I[827] = (T)(img)(_n12##x,_n10##y,z,c)), \
+ (I[859] = (T)(img)(_n12##x,_n11##y,z,c)), \
+ (I[891] = (T)(img)(_n12##x,_n12##y,z,c)), \
+ (I[923] = (T)(img)(_n12##x,_n13##y,z,c)), \
+ (I[955] = (T)(img)(_n12##x,_n14##y,z,c)), \
+ (I[987] = (T)(img)(_n12##x,_n15##y,z,c)), \
+ (I[1019] = (T)(img)(_n12##x,_n16##y,z,c)), \
+ (I[28] = (T)(img)(_n13##x,_p15##y,z,c)), \
+ (I[60] = (T)(img)(_n13##x,_p14##y,z,c)), \
+ (I[92] = (T)(img)(_n13##x,_p13##y,z,c)), \
+ (I[124] = (T)(img)(_n13##x,_p12##y,z,c)), \
+ (I[156] = (T)(img)(_n13##x,_p11##y,z,c)), \
+ (I[188] = (T)(img)(_n13##x,_p10##y,z,c)), \
+ (I[220] = (T)(img)(_n13##x,_p9##y,z,c)), \
+ (I[252] = (T)(img)(_n13##x,_p8##y,z,c)), \
+ (I[284] = (T)(img)(_n13##x,_p7##y,z,c)), \
+ (I[316] = (T)(img)(_n13##x,_p6##y,z,c)), \
+ (I[348] = (T)(img)(_n13##x,_p5##y,z,c)), \
+ (I[380] = (T)(img)(_n13##x,_p4##y,z,c)), \
+ (I[412] = (T)(img)(_n13##x,_p3##y,z,c)), \
+ (I[444] = (T)(img)(_n13##x,_p2##y,z,c)), \
+ (I[476] = (T)(img)(_n13##x,_p1##y,z,c)), \
+ (I[508] = (T)(img)(_n13##x,y,z,c)), \
+ (I[540] = (T)(img)(_n13##x,_n1##y,z,c)), \
+ (I[572] = (T)(img)(_n13##x,_n2##y,z,c)), \
+ (I[604] = (T)(img)(_n13##x,_n3##y,z,c)), \
+ (I[636] = (T)(img)(_n13##x,_n4##y,z,c)), \
+ (I[668] = (T)(img)(_n13##x,_n5##y,z,c)), \
+ (I[700] = (T)(img)(_n13##x,_n6##y,z,c)), \
+ (I[732] = (T)(img)(_n13##x,_n7##y,z,c)), \
+ (I[764] = (T)(img)(_n13##x,_n8##y,z,c)), \
+ (I[796] = (T)(img)(_n13##x,_n9##y,z,c)), \
+ (I[828] = (T)(img)(_n13##x,_n10##y,z,c)), \
+ (I[860] = (T)(img)(_n13##x,_n11##y,z,c)), \
+ (I[892] = (T)(img)(_n13##x,_n12##y,z,c)), \
+ (I[924] = (T)(img)(_n13##x,_n13##y,z,c)), \
+ (I[956] = (T)(img)(_n13##x,_n14##y,z,c)), \
+ (I[988] = (T)(img)(_n13##x,_n15##y,z,c)), \
+ (I[1020] = (T)(img)(_n13##x,_n16##y,z,c)), \
+ (I[29] = (T)(img)(_n14##x,_p15##y,z,c)), \
+ (I[61] = (T)(img)(_n14##x,_p14##y,z,c)), \
+ (I[93] = (T)(img)(_n14##x,_p13##y,z,c)), \
+ (I[125] = (T)(img)(_n14##x,_p12##y,z,c)), \
+ (I[157] = (T)(img)(_n14##x,_p11##y,z,c)), \
+ (I[189] = (T)(img)(_n14##x,_p10##y,z,c)), \
+ (I[221] = (T)(img)(_n14##x,_p9##y,z,c)), \
+ (I[253] = (T)(img)(_n14##x,_p8##y,z,c)), \
+ (I[285] = (T)(img)(_n14##x,_p7##y,z,c)), \
+ (I[317] = (T)(img)(_n14##x,_p6##y,z,c)), \
+ (I[349] = (T)(img)(_n14##x,_p5##y,z,c)), \
+ (I[381] = (T)(img)(_n14##x,_p4##y,z,c)), \
+ (I[413] = (T)(img)(_n14##x,_p3##y,z,c)), \
+ (I[445] = (T)(img)(_n14##x,_p2##y,z,c)), \
+ (I[477] = (T)(img)(_n14##x,_p1##y,z,c)), \
+ (I[509] = (T)(img)(_n14##x,y,z,c)), \
+ (I[541] = (T)(img)(_n14##x,_n1##y,z,c)), \
+ (I[573] = (T)(img)(_n14##x,_n2##y,z,c)), \
+ (I[605] = (T)(img)(_n14##x,_n3##y,z,c)), \
+ (I[637] = (T)(img)(_n14##x,_n4##y,z,c)), \
+ (I[669] = (T)(img)(_n14##x,_n5##y,z,c)), \
+ (I[701] = (T)(img)(_n14##x,_n6##y,z,c)), \
+ (I[733] = (T)(img)(_n14##x,_n7##y,z,c)), \
+ (I[765] = (T)(img)(_n14##x,_n8##y,z,c)), \
+ (I[797] = (T)(img)(_n14##x,_n9##y,z,c)), \
+ (I[829] = (T)(img)(_n14##x,_n10##y,z,c)), \
+ (I[861] = (T)(img)(_n14##x,_n11##y,z,c)), \
+ (I[893] = (T)(img)(_n14##x,_n12##y,z,c)), \
+ (I[925] = (T)(img)(_n14##x,_n13##y,z,c)), \
+ (I[957] = (T)(img)(_n14##x,_n14##y,z,c)), \
+ (I[989] = (T)(img)(_n14##x,_n15##y,z,c)), \
+ (I[1021] = (T)(img)(_n14##x,_n16##y,z,c)), \
+ (I[30] = (T)(img)(_n15##x,_p15##y,z,c)), \
+ (I[62] = (T)(img)(_n15##x,_p14##y,z,c)), \
+ (I[94] = (T)(img)(_n15##x,_p13##y,z,c)), \
+ (I[126] = (T)(img)(_n15##x,_p12##y,z,c)), \
+ (I[158] = (T)(img)(_n15##x,_p11##y,z,c)), \
+ (I[190] = (T)(img)(_n15##x,_p10##y,z,c)), \
+ (I[222] = (T)(img)(_n15##x,_p9##y,z,c)), \
+ (I[254] = (T)(img)(_n15##x,_p8##y,z,c)), \
+ (I[286] = (T)(img)(_n15##x,_p7##y,z,c)), \
+ (I[318] = (T)(img)(_n15##x,_p6##y,z,c)), \
+ (I[350] = (T)(img)(_n15##x,_p5##y,z,c)), \
+ (I[382] = (T)(img)(_n15##x,_p4##y,z,c)), \
+ (I[414] = (T)(img)(_n15##x,_p3##y,z,c)), \
+ (I[446] = (T)(img)(_n15##x,_p2##y,z,c)), \
+ (I[478] = (T)(img)(_n15##x,_p1##y,z,c)), \
+ (I[510] = (T)(img)(_n15##x,y,z,c)), \
+ (I[542] = (T)(img)(_n15##x,_n1##y,z,c)), \
+ (I[574] = (T)(img)(_n15##x,_n2##y,z,c)), \
+ (I[606] = (T)(img)(_n15##x,_n3##y,z,c)), \
+ (I[638] = (T)(img)(_n15##x,_n4##y,z,c)), \
+ (I[670] = (T)(img)(_n15##x,_n5##y,z,c)), \
+ (I[702] = (T)(img)(_n15##x,_n6##y,z,c)), \
+ (I[734] = (T)(img)(_n15##x,_n7##y,z,c)), \
+ (I[766] = (T)(img)(_n15##x,_n8##y,z,c)), \
+ (I[798] = (T)(img)(_n15##x,_n9##y,z,c)), \
+ (I[830] = (T)(img)(_n15##x,_n10##y,z,c)), \
+ (I[862] = (T)(img)(_n15##x,_n11##y,z,c)), \
+ (I[894] = (T)(img)(_n15##x,_n12##y,z,c)), \
+ (I[926] = (T)(img)(_n15##x,_n13##y,z,c)), \
+ (I[958] = (T)(img)(_n15##x,_n14##y,z,c)), \
+ (I[990] = (T)(img)(_n15##x,_n15##y,z,c)), \
+ (I[1022] = (T)(img)(_n15##x,_n16##y,z,c)), \
+ 16>=((img)._width)?(img).width() - 1:16); \
+ (_n16##x<(img).width() && ( \
+ (I[31] = (T)(img)(_n16##x,_p15##y,z,c)), \
+ (I[63] = (T)(img)(_n16##x,_p14##y,z,c)), \
+ (I[95] = (T)(img)(_n16##x,_p13##y,z,c)), \
+ (I[127] = (T)(img)(_n16##x,_p12##y,z,c)), \
+ (I[159] = (T)(img)(_n16##x,_p11##y,z,c)), \
+ (I[191] = (T)(img)(_n16##x,_p10##y,z,c)), \
+ (I[223] = (T)(img)(_n16##x,_p9##y,z,c)), \
+ (I[255] = (T)(img)(_n16##x,_p8##y,z,c)), \
+ (I[287] = (T)(img)(_n16##x,_p7##y,z,c)), \
+ (I[319] = (T)(img)(_n16##x,_p6##y,z,c)), \
+ (I[351] = (T)(img)(_n16##x,_p5##y,z,c)), \
+ (I[383] = (T)(img)(_n16##x,_p4##y,z,c)), \
+ (I[415] = (T)(img)(_n16##x,_p3##y,z,c)), \
+ (I[447] = (T)(img)(_n16##x,_p2##y,z,c)), \
+ (I[479] = (T)(img)(_n16##x,_p1##y,z,c)), \
+ (I[511] = (T)(img)(_n16##x,y,z,c)), \
+ (I[543] = (T)(img)(_n16##x,_n1##y,z,c)), \
+ (I[575] = (T)(img)(_n16##x,_n2##y,z,c)), \
+ (I[607] = (T)(img)(_n16##x,_n3##y,z,c)), \
+ (I[639] = (T)(img)(_n16##x,_n4##y,z,c)), \
+ (I[671] = (T)(img)(_n16##x,_n5##y,z,c)), \
+ (I[703] = (T)(img)(_n16##x,_n6##y,z,c)), \
+ (I[735] = (T)(img)(_n16##x,_n7##y,z,c)), \
+ (I[767] = (T)(img)(_n16##x,_n8##y,z,c)), \
+ (I[799] = (T)(img)(_n16##x,_n9##y,z,c)), \
+ (I[831] = (T)(img)(_n16##x,_n10##y,z,c)), \
+ (I[863] = (T)(img)(_n16##x,_n11##y,z,c)), \
+ (I[895] = (T)(img)(_n16##x,_n12##y,z,c)), \
+ (I[927] = (T)(img)(_n16##x,_n13##y,z,c)), \
+ (I[959] = (T)(img)(_n16##x,_n14##y,z,c)), \
+ (I[991] = (T)(img)(_n16##x,_n15##y,z,c)), \
+ (I[1023] = (T)(img)(_n16##x,_n16##y,z,c)),1)) || \
+ _n15##x==--_n16##x || _n14##x==--_n15##x || _n13##x==--_n14##x || _n12##x==--_n13##x || _n11##x==--_n12##x || _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n16##x = _n15##x = _n14##x = _n13##x = _n12##x = _n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], \
+ I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], \
+ I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], \
+ I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125 [...]
+ I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157] [...]
+ I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189] [...]
+ I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221] [...]
+ I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253] [...]
+ I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285] [...]
+ I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317] [...]
+ I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349] [...]
+ I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], I[359] = I[360], I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], I[376] = I[377], I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381] [...]
+ I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], I[399] = I[400], I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413] [...]
+ I[416] = I[417], I[417] = I[418], I[418] = I[419], I[419] = I[420], I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], I[431] = I[432], I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], I[439] = I[440], I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445] [...]
+ I[448] = I[449], I[449] = I[450], I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], I[455] = I[456], I[456] = I[457], I[457] = I[458], I[458] = I[459], I[459] = I[460], I[460] = I[461], I[461] = I[462], I[462] = I[463], I[463] = I[464], I[464] = I[465], I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], I[474] = I[475], I[475] = I[476], I[476] = I[477] [...]
+ I[480] = I[481], I[481] = I[482], I[482] = I[483], I[483] = I[484], I[484] = I[485], I[485] = I[486], I[486] = I[487], I[487] = I[488], I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], I[492] = I[493], I[493] = I[494], I[494] = I[495], I[495] = I[496], I[496] = I[497], I[497] = I[498], I[498] = I[499], I[499] = I[500], I[500] = I[501], I[501] = I[502], I[502] = I[503], I[503] = I[504], I[504] = I[505], I[505] = I[506], I[506] = I[507], I[507] = I[508], I[508] = I[509] [...]
+ I[512] = I[513], I[513] = I[514], I[514] = I[515], I[515] = I[516], I[516] = I[517], I[517] = I[518], I[518] = I[519], I[519] = I[520], I[520] = I[521], I[521] = I[522], I[522] = I[523], I[523] = I[524], I[524] = I[525], I[525] = I[526], I[526] = I[527], I[527] = I[528], I[528] = I[529], I[529] = I[530], I[530] = I[531], I[531] = I[532], I[532] = I[533], I[533] = I[534], I[534] = I[535], I[535] = I[536], I[536] = I[537], I[537] = I[538], I[538] = I[539], I[539] = I[540], I[540] = I[541] [...]
+ I[544] = I[545], I[545] = I[546], I[546] = I[547], I[547] = I[548], I[548] = I[549], I[549] = I[550], I[550] = I[551], I[551] = I[552], I[552] = I[553], I[553] = I[554], I[554] = I[555], I[555] = I[556], I[556] = I[557], I[557] = I[558], I[558] = I[559], I[559] = I[560], I[560] = I[561], I[561] = I[562], I[562] = I[563], I[563] = I[564], I[564] = I[565], I[565] = I[566], I[566] = I[567], I[567] = I[568], I[568] = I[569], I[569] = I[570], I[570] = I[571], I[571] = I[572], I[572] = I[573] [...]
+ I[576] = I[577], I[577] = I[578], I[578] = I[579], I[579] = I[580], I[580] = I[581], I[581] = I[582], I[582] = I[583], I[583] = I[584], I[584] = I[585], I[585] = I[586], I[586] = I[587], I[587] = I[588], I[588] = I[589], I[589] = I[590], I[590] = I[591], I[591] = I[592], I[592] = I[593], I[593] = I[594], I[594] = I[595], I[595] = I[596], I[596] = I[597], I[597] = I[598], I[598] = I[599], I[599] = I[600], I[600] = I[601], I[601] = I[602], I[602] = I[603], I[603] = I[604], I[604] = I[605] [...]
+ I[608] = I[609], I[609] = I[610], I[610] = I[611], I[611] = I[612], I[612] = I[613], I[613] = I[614], I[614] = I[615], I[615] = I[616], I[616] = I[617], I[617] = I[618], I[618] = I[619], I[619] = I[620], I[620] = I[621], I[621] = I[622], I[622] = I[623], I[623] = I[624], I[624] = I[625], I[625] = I[626], I[626] = I[627], I[627] = I[628], I[628] = I[629], I[629] = I[630], I[630] = I[631], I[631] = I[632], I[632] = I[633], I[633] = I[634], I[634] = I[635], I[635] = I[636], I[636] = I[637] [...]
+ I[640] = I[641], I[641] = I[642], I[642] = I[643], I[643] = I[644], I[644] = I[645], I[645] = I[646], I[646] = I[647], I[647] = I[648], I[648] = I[649], I[649] = I[650], I[650] = I[651], I[651] = I[652], I[652] = I[653], I[653] = I[654], I[654] = I[655], I[655] = I[656], I[656] = I[657], I[657] = I[658], I[658] = I[659], I[659] = I[660], I[660] = I[661], I[661] = I[662], I[662] = I[663], I[663] = I[664], I[664] = I[665], I[665] = I[666], I[666] = I[667], I[667] = I[668], I[668] = I[669] [...]
+ I[672] = I[673], I[673] = I[674], I[674] = I[675], I[675] = I[676], I[676] = I[677], I[677] = I[678], I[678] = I[679], I[679] = I[680], I[680] = I[681], I[681] = I[682], I[682] = I[683], I[683] = I[684], I[684] = I[685], I[685] = I[686], I[686] = I[687], I[687] = I[688], I[688] = I[689], I[689] = I[690], I[690] = I[691], I[691] = I[692], I[692] = I[693], I[693] = I[694], I[694] = I[695], I[695] = I[696], I[696] = I[697], I[697] = I[698], I[698] = I[699], I[699] = I[700], I[700] = I[701] [...]
+ I[704] = I[705], I[705] = I[706], I[706] = I[707], I[707] = I[708], I[708] = I[709], I[709] = I[710], I[710] = I[711], I[711] = I[712], I[712] = I[713], I[713] = I[714], I[714] = I[715], I[715] = I[716], I[716] = I[717], I[717] = I[718], I[718] = I[719], I[719] = I[720], I[720] = I[721], I[721] = I[722], I[722] = I[723], I[723] = I[724], I[724] = I[725], I[725] = I[726], I[726] = I[727], I[727] = I[728], I[728] = I[729], I[729] = I[730], I[730] = I[731], I[731] = I[732], I[732] = I[733] [...]
+ I[736] = I[737], I[737] = I[738], I[738] = I[739], I[739] = I[740], I[740] = I[741], I[741] = I[742], I[742] = I[743], I[743] = I[744], I[744] = I[745], I[745] = I[746], I[746] = I[747], I[747] = I[748], I[748] = I[749], I[749] = I[750], I[750] = I[751], I[751] = I[752], I[752] = I[753], I[753] = I[754], I[754] = I[755], I[755] = I[756], I[756] = I[757], I[757] = I[758], I[758] = I[759], I[759] = I[760], I[760] = I[761], I[761] = I[762], I[762] = I[763], I[763] = I[764], I[764] = I[765] [...]
+ I[768] = I[769], I[769] = I[770], I[770] = I[771], I[771] = I[772], I[772] = I[773], I[773] = I[774], I[774] = I[775], I[775] = I[776], I[776] = I[777], I[777] = I[778], I[778] = I[779], I[779] = I[780], I[780] = I[781], I[781] = I[782], I[782] = I[783], I[783] = I[784], I[784] = I[785], I[785] = I[786], I[786] = I[787], I[787] = I[788], I[788] = I[789], I[789] = I[790], I[790] = I[791], I[791] = I[792], I[792] = I[793], I[793] = I[794], I[794] = I[795], I[795] = I[796], I[796] = I[797] [...]
+ I[800] = I[801], I[801] = I[802], I[802] = I[803], I[803] = I[804], I[804] = I[805], I[805] = I[806], I[806] = I[807], I[807] = I[808], I[808] = I[809], I[809] = I[810], I[810] = I[811], I[811] = I[812], I[812] = I[813], I[813] = I[814], I[814] = I[815], I[815] = I[816], I[816] = I[817], I[817] = I[818], I[818] = I[819], I[819] = I[820], I[820] = I[821], I[821] = I[822], I[822] = I[823], I[823] = I[824], I[824] = I[825], I[825] = I[826], I[826] = I[827], I[827] = I[828], I[828] = I[829] [...]
+ I[832] = I[833], I[833] = I[834], I[834] = I[835], I[835] = I[836], I[836] = I[837], I[837] = I[838], I[838] = I[839], I[839] = I[840], I[840] = I[841], I[841] = I[842], I[842] = I[843], I[843] = I[844], I[844] = I[845], I[845] = I[846], I[846] = I[847], I[847] = I[848], I[848] = I[849], I[849] = I[850], I[850] = I[851], I[851] = I[852], I[852] = I[853], I[853] = I[854], I[854] = I[855], I[855] = I[856], I[856] = I[857], I[857] = I[858], I[858] = I[859], I[859] = I[860], I[860] = I[861] [...]
+ I[864] = I[865], I[865] = I[866], I[866] = I[867], I[867] = I[868], I[868] = I[869], I[869] = I[870], I[870] = I[871], I[871] = I[872], I[872] = I[873], I[873] = I[874], I[874] = I[875], I[875] = I[876], I[876] = I[877], I[877] = I[878], I[878] = I[879], I[879] = I[880], I[880] = I[881], I[881] = I[882], I[882] = I[883], I[883] = I[884], I[884] = I[885], I[885] = I[886], I[886] = I[887], I[887] = I[888], I[888] = I[889], I[889] = I[890], I[890] = I[891], I[891] = I[892], I[892] = I[893] [...]
+ I[896] = I[897], I[897] = I[898], I[898] = I[899], I[899] = I[900], I[900] = I[901], I[901] = I[902], I[902] = I[903], I[903] = I[904], I[904] = I[905], I[905] = I[906], I[906] = I[907], I[907] = I[908], I[908] = I[909], I[909] = I[910], I[910] = I[911], I[911] = I[912], I[912] = I[913], I[913] = I[914], I[914] = I[915], I[915] = I[916], I[916] = I[917], I[917] = I[918], I[918] = I[919], I[919] = I[920], I[920] = I[921], I[921] = I[922], I[922] = I[923], I[923] = I[924], I[924] = I[925] [...]
+ I[928] = I[929], I[929] = I[930], I[930] = I[931], I[931] = I[932], I[932] = I[933], I[933] = I[934], I[934] = I[935], I[935] = I[936], I[936] = I[937], I[937] = I[938], I[938] = I[939], I[939] = I[940], I[940] = I[941], I[941] = I[942], I[942] = I[943], I[943] = I[944], I[944] = I[945], I[945] = I[946], I[946] = I[947], I[947] = I[948], I[948] = I[949], I[949] = I[950], I[950] = I[951], I[951] = I[952], I[952] = I[953], I[953] = I[954], I[954] = I[955], I[955] = I[956], I[956] = I[957] [...]
+ I[960] = I[961], I[961] = I[962], I[962] = I[963], I[963] = I[964], I[964] = I[965], I[965] = I[966], I[966] = I[967], I[967] = I[968], I[968] = I[969], I[969] = I[970], I[970] = I[971], I[971] = I[972], I[972] = I[973], I[973] = I[974], I[974] = I[975], I[975] = I[976], I[976] = I[977], I[977] = I[978], I[978] = I[979], I[979] = I[980], I[980] = I[981], I[981] = I[982], I[982] = I[983], I[983] = I[984], I[984] = I[985], I[985] = I[986], I[986] = I[987], I[987] = I[988], I[988] = I[989] [...]
+ I[992] = I[993], I[993] = I[994], I[994] = I[995], I[995] = I[996], I[996] = I[997], I[997] = I[998], I[998] = I[999], I[999] = I[1000], I[1000] = I[1001], I[1001] = I[1002], I[1002] = I[1003], I[1003] = I[1004], I[1004] = I[1005], I[1005] = I[1006], I[1006] = I[1007], I[1007] = I[1008], I[1008] = I[1009], I[1009] = I[1010], I[1010] = I[1011], I[1011] = I[1012], I[1012] = I[1013], I[1013] = I[1014], I[1014] = I[1015], I[1015] = I[1016], I[1016] = I[1017], I[1017] = I[1018], I[1018] = I[ [...]
+ _p15##x = _p14##x, _p14##x = _p13##x, _p13##x = _p12##x, _p12##x = _p11##x, _p11##x = _p10##x, _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x, ++_n12##x, ++_n13##x, ++_n14##x, ++_n15##x, ++_n16##x)
+
+#define cimg_for_in32x32(img,x0,y0,x1,y1,x,y,z,c,I,T) \
+ cimg_for_in32((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p15##x = x - 15<0?0:x - 15, \
+ _p14##x = x - 14<0?0:x - 14, \
+ _p13##x = x - 13<0?0:x - 13, \
+ _p12##x = x - 12<0?0:x - 12, \
+ _p11##x = x - 11<0?0:x - 11, \
+ _p10##x = x - 10<0?0:x - 10, \
+ _p9##x = x - 9<0?0:x - 9, \
+ _p8##x = x - 8<0?0:x - 8, \
+ _p7##x = x - 7<0?0:x - 7, \
+ _p6##x = x - 6<0?0:x - 6, \
+ _p5##x = x - 5<0?0:x - 5, \
+ _p4##x = x - 4<0?0:x - 4, \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = x + 4>=(img).width()?(img).width() - 1:x + 4, \
+ _n5##x = x + 5>=(img).width()?(img).width() - 1:x + 5, \
+ _n6##x = x + 6>=(img).width()?(img).width() - 1:x + 6, \
+ _n7##x = x + 7>=(img).width()?(img).width() - 1:x + 7, \
+ _n8##x = x + 8>=(img).width()?(img).width() - 1:x + 8, \
+ _n9##x = x + 9>=(img).width()?(img).width() - 1:x + 9, \
+ _n10##x = x + 10>=(img).width()?(img).width() - 1:x + 10, \
+ _n11##x = x + 11>=(img).width()?(img).width() - 1:x + 11, \
+ _n12##x = x + 12>=(img).width()?(img).width() - 1:x + 12, \
+ _n13##x = x + 13>=(img).width()?(img).width() - 1:x + 13, \
+ _n14##x = x + 14>=(img).width()?(img).width() - 1:x + 14, \
+ _n15##x = x + 15>=(img).width()?(img).width() - 1:x + 15, \
+ _n16##x = (int)( \
+ (I[0] = (T)(img)(_p15##x,_p15##y,z,c)), \
+ (I[32] = (T)(img)(_p15##x,_p14##y,z,c)), \
+ (I[64] = (T)(img)(_p15##x,_p13##y,z,c)), \
+ (I[96] = (T)(img)(_p15##x,_p12##y,z,c)), \
+ (I[128] = (T)(img)(_p15##x,_p11##y,z,c)), \
+ (I[160] = (T)(img)(_p15##x,_p10##y,z,c)), \
+ (I[192] = (T)(img)(_p15##x,_p9##y,z,c)), \
+ (I[224] = (T)(img)(_p15##x,_p8##y,z,c)), \
+ (I[256] = (T)(img)(_p15##x,_p7##y,z,c)), \
+ (I[288] = (T)(img)(_p15##x,_p6##y,z,c)), \
+ (I[320] = (T)(img)(_p15##x,_p5##y,z,c)), \
+ (I[352] = (T)(img)(_p15##x,_p4##y,z,c)), \
+ (I[384] = (T)(img)(_p15##x,_p3##y,z,c)), \
+ (I[416] = (T)(img)(_p15##x,_p2##y,z,c)), \
+ (I[448] = (T)(img)(_p15##x,_p1##y,z,c)), \
+ (I[480] = (T)(img)(_p15##x,y,z,c)), \
+ (I[512] = (T)(img)(_p15##x,_n1##y,z,c)), \
+ (I[544] = (T)(img)(_p15##x,_n2##y,z,c)), \
+ (I[576] = (T)(img)(_p15##x,_n3##y,z,c)), \
+ (I[608] = (T)(img)(_p15##x,_n4##y,z,c)), \
+ (I[640] = (T)(img)(_p15##x,_n5##y,z,c)), \
+ (I[672] = (T)(img)(_p15##x,_n6##y,z,c)), \
+ (I[704] = (T)(img)(_p15##x,_n7##y,z,c)), \
+ (I[736] = (T)(img)(_p15##x,_n8##y,z,c)), \
+ (I[768] = (T)(img)(_p15##x,_n9##y,z,c)), \
+ (I[800] = (T)(img)(_p15##x,_n10##y,z,c)), \
+ (I[832] = (T)(img)(_p15##x,_n11##y,z,c)), \
+ (I[864] = (T)(img)(_p15##x,_n12##y,z,c)), \
+ (I[896] = (T)(img)(_p15##x,_n13##y,z,c)), \
+ (I[928] = (T)(img)(_p15##x,_n14##y,z,c)), \
+ (I[960] = (T)(img)(_p15##x,_n15##y,z,c)), \
+ (I[992] = (T)(img)(_p15##x,_n16##y,z,c)), \
+ (I[1] = (T)(img)(_p14##x,_p15##y,z,c)), \
+ (I[33] = (T)(img)(_p14##x,_p14##y,z,c)), \
+ (I[65] = (T)(img)(_p14##x,_p13##y,z,c)), \
+ (I[97] = (T)(img)(_p14##x,_p12##y,z,c)), \
+ (I[129] = (T)(img)(_p14##x,_p11##y,z,c)), \
+ (I[161] = (T)(img)(_p14##x,_p10##y,z,c)), \
+ (I[193] = (T)(img)(_p14##x,_p9##y,z,c)), \
+ (I[225] = (T)(img)(_p14##x,_p8##y,z,c)), \
+ (I[257] = (T)(img)(_p14##x,_p7##y,z,c)), \
+ (I[289] = (T)(img)(_p14##x,_p6##y,z,c)), \
+ (I[321] = (T)(img)(_p14##x,_p5##y,z,c)), \
+ (I[353] = (T)(img)(_p14##x,_p4##y,z,c)), \
+ (I[385] = (T)(img)(_p14##x,_p3##y,z,c)), \
+ (I[417] = (T)(img)(_p14##x,_p2##y,z,c)), \
+ (I[449] = (T)(img)(_p14##x,_p1##y,z,c)), \
+ (I[481] = (T)(img)(_p14##x,y,z,c)), \
+ (I[513] = (T)(img)(_p14##x,_n1##y,z,c)), \
+ (I[545] = (T)(img)(_p14##x,_n2##y,z,c)), \
+ (I[577] = (T)(img)(_p14##x,_n3##y,z,c)), \
+ (I[609] = (T)(img)(_p14##x,_n4##y,z,c)), \
+ (I[641] = (T)(img)(_p14##x,_n5##y,z,c)), \
+ (I[673] = (T)(img)(_p14##x,_n6##y,z,c)), \
+ (I[705] = (T)(img)(_p14##x,_n7##y,z,c)), \
+ (I[737] = (T)(img)(_p14##x,_n8##y,z,c)), \
+ (I[769] = (T)(img)(_p14##x,_n9##y,z,c)), \
+ (I[801] = (T)(img)(_p14##x,_n10##y,z,c)), \
+ (I[833] = (T)(img)(_p14##x,_n11##y,z,c)), \
+ (I[865] = (T)(img)(_p14##x,_n12##y,z,c)), \
+ (I[897] = (T)(img)(_p14##x,_n13##y,z,c)), \
+ (I[929] = (T)(img)(_p14##x,_n14##y,z,c)), \
+ (I[961] = (T)(img)(_p14##x,_n15##y,z,c)), \
+ (I[993] = (T)(img)(_p14##x,_n16##y,z,c)), \
+ (I[2] = (T)(img)(_p13##x,_p15##y,z,c)), \
+ (I[34] = (T)(img)(_p13##x,_p14##y,z,c)), \
+ (I[66] = (T)(img)(_p13##x,_p13##y,z,c)), \
+ (I[98] = (T)(img)(_p13##x,_p12##y,z,c)), \
+ (I[130] = (T)(img)(_p13##x,_p11##y,z,c)), \
+ (I[162] = (T)(img)(_p13##x,_p10##y,z,c)), \
+ (I[194] = (T)(img)(_p13##x,_p9##y,z,c)), \
+ (I[226] = (T)(img)(_p13##x,_p8##y,z,c)), \
+ (I[258] = (T)(img)(_p13##x,_p7##y,z,c)), \
+ (I[290] = (T)(img)(_p13##x,_p6##y,z,c)), \
+ (I[322] = (T)(img)(_p13##x,_p5##y,z,c)), \
+ (I[354] = (T)(img)(_p13##x,_p4##y,z,c)), \
+ (I[386] = (T)(img)(_p13##x,_p3##y,z,c)), \
+ (I[418] = (T)(img)(_p13##x,_p2##y,z,c)), \
+ (I[450] = (T)(img)(_p13##x,_p1##y,z,c)), \
+ (I[482] = (T)(img)(_p13##x,y,z,c)), \
+ (I[514] = (T)(img)(_p13##x,_n1##y,z,c)), \
+ (I[546] = (T)(img)(_p13##x,_n2##y,z,c)), \
+ (I[578] = (T)(img)(_p13##x,_n3##y,z,c)), \
+ (I[610] = (T)(img)(_p13##x,_n4##y,z,c)), \
+ (I[642] = (T)(img)(_p13##x,_n5##y,z,c)), \
+ (I[674] = (T)(img)(_p13##x,_n6##y,z,c)), \
+ (I[706] = (T)(img)(_p13##x,_n7##y,z,c)), \
+ (I[738] = (T)(img)(_p13##x,_n8##y,z,c)), \
+ (I[770] = (T)(img)(_p13##x,_n9##y,z,c)), \
+ (I[802] = (T)(img)(_p13##x,_n10##y,z,c)), \
+ (I[834] = (T)(img)(_p13##x,_n11##y,z,c)), \
+ (I[866] = (T)(img)(_p13##x,_n12##y,z,c)), \
+ (I[898] = (T)(img)(_p13##x,_n13##y,z,c)), \
+ (I[930] = (T)(img)(_p13##x,_n14##y,z,c)), \
+ (I[962] = (T)(img)(_p13##x,_n15##y,z,c)), \
+ (I[994] = (T)(img)(_p13##x,_n16##y,z,c)), \
+ (I[3] = (T)(img)(_p12##x,_p15##y,z,c)), \
+ (I[35] = (T)(img)(_p12##x,_p14##y,z,c)), \
+ (I[67] = (T)(img)(_p12##x,_p13##y,z,c)), \
+ (I[99] = (T)(img)(_p12##x,_p12##y,z,c)), \
+ (I[131] = (T)(img)(_p12##x,_p11##y,z,c)), \
+ (I[163] = (T)(img)(_p12##x,_p10##y,z,c)), \
+ (I[195] = (T)(img)(_p12##x,_p9##y,z,c)), \
+ (I[227] = (T)(img)(_p12##x,_p8##y,z,c)), \
+ (I[259] = (T)(img)(_p12##x,_p7##y,z,c)), \
+ (I[291] = (T)(img)(_p12##x,_p6##y,z,c)), \
+ (I[323] = (T)(img)(_p12##x,_p5##y,z,c)), \
+ (I[355] = (T)(img)(_p12##x,_p4##y,z,c)), \
+ (I[387] = (T)(img)(_p12##x,_p3##y,z,c)), \
+ (I[419] = (T)(img)(_p12##x,_p2##y,z,c)), \
+ (I[451] = (T)(img)(_p12##x,_p1##y,z,c)), \
+ (I[483] = (T)(img)(_p12##x,y,z,c)), \
+ (I[515] = (T)(img)(_p12##x,_n1##y,z,c)), \
+ (I[547] = (T)(img)(_p12##x,_n2##y,z,c)), \
+ (I[579] = (T)(img)(_p12##x,_n3##y,z,c)), \
+ (I[611] = (T)(img)(_p12##x,_n4##y,z,c)), \
+ (I[643] = (T)(img)(_p12##x,_n5##y,z,c)), \
+ (I[675] = (T)(img)(_p12##x,_n6##y,z,c)), \
+ (I[707] = (T)(img)(_p12##x,_n7##y,z,c)), \
+ (I[739] = (T)(img)(_p12##x,_n8##y,z,c)), \
+ (I[771] = (T)(img)(_p12##x,_n9##y,z,c)), \
+ (I[803] = (T)(img)(_p12##x,_n10##y,z,c)), \
+ (I[835] = (T)(img)(_p12##x,_n11##y,z,c)), \
+ (I[867] = (T)(img)(_p12##x,_n12##y,z,c)), \
+ (I[899] = (T)(img)(_p12##x,_n13##y,z,c)), \
+ (I[931] = (T)(img)(_p12##x,_n14##y,z,c)), \
+ (I[963] = (T)(img)(_p12##x,_n15##y,z,c)), \
+ (I[995] = (T)(img)(_p12##x,_n16##y,z,c)), \
+ (I[4] = (T)(img)(_p11##x,_p15##y,z,c)), \
+ (I[36] = (T)(img)(_p11##x,_p14##y,z,c)), \
+ (I[68] = (T)(img)(_p11##x,_p13##y,z,c)), \
+ (I[100] = (T)(img)(_p11##x,_p12##y,z,c)), \
+ (I[132] = (T)(img)(_p11##x,_p11##y,z,c)), \
+ (I[164] = (T)(img)(_p11##x,_p10##y,z,c)), \
+ (I[196] = (T)(img)(_p11##x,_p9##y,z,c)), \
+ (I[228] = (T)(img)(_p11##x,_p8##y,z,c)), \
+ (I[260] = (T)(img)(_p11##x,_p7##y,z,c)), \
+ (I[292] = (T)(img)(_p11##x,_p6##y,z,c)), \
+ (I[324] = (T)(img)(_p11##x,_p5##y,z,c)), \
+ (I[356] = (T)(img)(_p11##x,_p4##y,z,c)), \
+ (I[388] = (T)(img)(_p11##x,_p3##y,z,c)), \
+ (I[420] = (T)(img)(_p11##x,_p2##y,z,c)), \
+ (I[452] = (T)(img)(_p11##x,_p1##y,z,c)), \
+ (I[484] = (T)(img)(_p11##x,y,z,c)), \
+ (I[516] = (T)(img)(_p11##x,_n1##y,z,c)), \
+ (I[548] = (T)(img)(_p11##x,_n2##y,z,c)), \
+ (I[580] = (T)(img)(_p11##x,_n3##y,z,c)), \
+ (I[612] = (T)(img)(_p11##x,_n4##y,z,c)), \
+ (I[644] = (T)(img)(_p11##x,_n5##y,z,c)), \
+ (I[676] = (T)(img)(_p11##x,_n6##y,z,c)), \
+ (I[708] = (T)(img)(_p11##x,_n7##y,z,c)), \
+ (I[740] = (T)(img)(_p11##x,_n8##y,z,c)), \
+ (I[772] = (T)(img)(_p11##x,_n9##y,z,c)), \
+ (I[804] = (T)(img)(_p11##x,_n10##y,z,c)), \
+ (I[836] = (T)(img)(_p11##x,_n11##y,z,c)), \
+ (I[868] = (T)(img)(_p11##x,_n12##y,z,c)), \
+ (I[900] = (T)(img)(_p11##x,_n13##y,z,c)), \
+ (I[932] = (T)(img)(_p11##x,_n14##y,z,c)), \
+ (I[964] = (T)(img)(_p11##x,_n15##y,z,c)), \
+ (I[996] = (T)(img)(_p11##x,_n16##y,z,c)), \
+ (I[5] = (T)(img)(_p10##x,_p15##y,z,c)), \
+ (I[37] = (T)(img)(_p10##x,_p14##y,z,c)), \
+ (I[69] = (T)(img)(_p10##x,_p13##y,z,c)), \
+ (I[101] = (T)(img)(_p10##x,_p12##y,z,c)), \
+ (I[133] = (T)(img)(_p10##x,_p11##y,z,c)), \
+ (I[165] = (T)(img)(_p10##x,_p10##y,z,c)), \
+ (I[197] = (T)(img)(_p10##x,_p9##y,z,c)), \
+ (I[229] = (T)(img)(_p10##x,_p8##y,z,c)), \
+ (I[261] = (T)(img)(_p10##x,_p7##y,z,c)), \
+ (I[293] = (T)(img)(_p10##x,_p6##y,z,c)), \
+ (I[325] = (T)(img)(_p10##x,_p5##y,z,c)), \
+ (I[357] = (T)(img)(_p10##x,_p4##y,z,c)), \
+ (I[389] = (T)(img)(_p10##x,_p3##y,z,c)), \
+ (I[421] = (T)(img)(_p10##x,_p2##y,z,c)), \
+ (I[453] = (T)(img)(_p10##x,_p1##y,z,c)), \
+ (I[485] = (T)(img)(_p10##x,y,z,c)), \
+ (I[517] = (T)(img)(_p10##x,_n1##y,z,c)), \
+ (I[549] = (T)(img)(_p10##x,_n2##y,z,c)), \
+ (I[581] = (T)(img)(_p10##x,_n3##y,z,c)), \
+ (I[613] = (T)(img)(_p10##x,_n4##y,z,c)), \
+ (I[645] = (T)(img)(_p10##x,_n5##y,z,c)), \
+ (I[677] = (T)(img)(_p10##x,_n6##y,z,c)), \
+ (I[709] = (T)(img)(_p10##x,_n7##y,z,c)), \
+ (I[741] = (T)(img)(_p10##x,_n8##y,z,c)), \
+ (I[773] = (T)(img)(_p10##x,_n9##y,z,c)), \
+ (I[805] = (T)(img)(_p10##x,_n10##y,z,c)), \
+ (I[837] = (T)(img)(_p10##x,_n11##y,z,c)), \
+ (I[869] = (T)(img)(_p10##x,_n12##y,z,c)), \
+ (I[901] = (T)(img)(_p10##x,_n13##y,z,c)), \
+ (I[933] = (T)(img)(_p10##x,_n14##y,z,c)), \
+ (I[965] = (T)(img)(_p10##x,_n15##y,z,c)), \
+ (I[997] = (T)(img)(_p10##x,_n16##y,z,c)), \
+ (I[6] = (T)(img)(_p9##x,_p15##y,z,c)), \
+ (I[38] = (T)(img)(_p9##x,_p14##y,z,c)), \
+ (I[70] = (T)(img)(_p9##x,_p13##y,z,c)), \
+ (I[102] = (T)(img)(_p9##x,_p12##y,z,c)), \
+ (I[134] = (T)(img)(_p9##x,_p11##y,z,c)), \
+ (I[166] = (T)(img)(_p9##x,_p10##y,z,c)), \
+ (I[198] = (T)(img)(_p9##x,_p9##y,z,c)), \
+ (I[230] = (T)(img)(_p9##x,_p8##y,z,c)), \
+ (I[262] = (T)(img)(_p9##x,_p7##y,z,c)), \
+ (I[294] = (T)(img)(_p9##x,_p6##y,z,c)), \
+ (I[326] = (T)(img)(_p9##x,_p5##y,z,c)), \
+ (I[358] = (T)(img)(_p9##x,_p4##y,z,c)), \
+ (I[390] = (T)(img)(_p9##x,_p3##y,z,c)), \
+ (I[422] = (T)(img)(_p9##x,_p2##y,z,c)), \
+ (I[454] = (T)(img)(_p9##x,_p1##y,z,c)), \
+ (I[486] = (T)(img)(_p9##x,y,z,c)), \
+ (I[518] = (T)(img)(_p9##x,_n1##y,z,c)), \
+ (I[550] = (T)(img)(_p9##x,_n2##y,z,c)), \
+ (I[582] = (T)(img)(_p9##x,_n3##y,z,c)), \
+ (I[614] = (T)(img)(_p9##x,_n4##y,z,c)), \
+ (I[646] = (T)(img)(_p9##x,_n5##y,z,c)), \
+ (I[678] = (T)(img)(_p9##x,_n6##y,z,c)), \
+ (I[710] = (T)(img)(_p9##x,_n7##y,z,c)), \
+ (I[742] = (T)(img)(_p9##x,_n8##y,z,c)), \
+ (I[774] = (T)(img)(_p9##x,_n9##y,z,c)), \
+ (I[806] = (T)(img)(_p9##x,_n10##y,z,c)), \
+ (I[838] = (T)(img)(_p9##x,_n11##y,z,c)), \
+ (I[870] = (T)(img)(_p9##x,_n12##y,z,c)), \
+ (I[902] = (T)(img)(_p9##x,_n13##y,z,c)), \
+ (I[934] = (T)(img)(_p9##x,_n14##y,z,c)), \
+ (I[966] = (T)(img)(_p9##x,_n15##y,z,c)), \
+ (I[998] = (T)(img)(_p9##x,_n16##y,z,c)), \
+ (I[7] = (T)(img)(_p8##x,_p15##y,z,c)), \
+ (I[39] = (T)(img)(_p8##x,_p14##y,z,c)), \
+ (I[71] = (T)(img)(_p8##x,_p13##y,z,c)), \
+ (I[103] = (T)(img)(_p8##x,_p12##y,z,c)), \
+ (I[135] = (T)(img)(_p8##x,_p11##y,z,c)), \
+ (I[167] = (T)(img)(_p8##x,_p10##y,z,c)), \
+ (I[199] = (T)(img)(_p8##x,_p9##y,z,c)), \
+ (I[231] = (T)(img)(_p8##x,_p8##y,z,c)), \
+ (I[263] = (T)(img)(_p8##x,_p7##y,z,c)), \
+ (I[295] = (T)(img)(_p8##x,_p6##y,z,c)), \
+ (I[327] = (T)(img)(_p8##x,_p5##y,z,c)), \
+ (I[359] = (T)(img)(_p8##x,_p4##y,z,c)), \
+ (I[391] = (T)(img)(_p8##x,_p3##y,z,c)), \
+ (I[423] = (T)(img)(_p8##x,_p2##y,z,c)), \
+ (I[455] = (T)(img)(_p8##x,_p1##y,z,c)), \
+ (I[487] = (T)(img)(_p8##x,y,z,c)), \
+ (I[519] = (T)(img)(_p8##x,_n1##y,z,c)), \
+ (I[551] = (T)(img)(_p8##x,_n2##y,z,c)), \
+ (I[583] = (T)(img)(_p8##x,_n3##y,z,c)), \
+ (I[615] = (T)(img)(_p8##x,_n4##y,z,c)), \
+ (I[647] = (T)(img)(_p8##x,_n5##y,z,c)), \
+ (I[679] = (T)(img)(_p8##x,_n6##y,z,c)), \
+ (I[711] = (T)(img)(_p8##x,_n7##y,z,c)), \
+ (I[743] = (T)(img)(_p8##x,_n8##y,z,c)), \
+ (I[775] = (T)(img)(_p8##x,_n9##y,z,c)), \
+ (I[807] = (T)(img)(_p8##x,_n10##y,z,c)), \
+ (I[839] = (T)(img)(_p8##x,_n11##y,z,c)), \
+ (I[871] = (T)(img)(_p8##x,_n12##y,z,c)), \
+ (I[903] = (T)(img)(_p8##x,_n13##y,z,c)), \
+ (I[935] = (T)(img)(_p8##x,_n14##y,z,c)), \
+ (I[967] = (T)(img)(_p8##x,_n15##y,z,c)), \
+ (I[999] = (T)(img)(_p8##x,_n16##y,z,c)), \
+ (I[8] = (T)(img)(_p7##x,_p15##y,z,c)), \
+ (I[40] = (T)(img)(_p7##x,_p14##y,z,c)), \
+ (I[72] = (T)(img)(_p7##x,_p13##y,z,c)), \
+ (I[104] = (T)(img)(_p7##x,_p12##y,z,c)), \
+ (I[136] = (T)(img)(_p7##x,_p11##y,z,c)), \
+ (I[168] = (T)(img)(_p7##x,_p10##y,z,c)), \
+ (I[200] = (T)(img)(_p7##x,_p9##y,z,c)), \
+ (I[232] = (T)(img)(_p7##x,_p8##y,z,c)), \
+ (I[264] = (T)(img)(_p7##x,_p7##y,z,c)), \
+ (I[296] = (T)(img)(_p7##x,_p6##y,z,c)), \
+ (I[328] = (T)(img)(_p7##x,_p5##y,z,c)), \
+ (I[360] = (T)(img)(_p7##x,_p4##y,z,c)), \
+ (I[392] = (T)(img)(_p7##x,_p3##y,z,c)), \
+ (I[424] = (T)(img)(_p7##x,_p2##y,z,c)), \
+ (I[456] = (T)(img)(_p7##x,_p1##y,z,c)), \
+ (I[488] = (T)(img)(_p7##x,y,z,c)), \
+ (I[520] = (T)(img)(_p7##x,_n1##y,z,c)), \
+ (I[552] = (T)(img)(_p7##x,_n2##y,z,c)), \
+ (I[584] = (T)(img)(_p7##x,_n3##y,z,c)), \
+ (I[616] = (T)(img)(_p7##x,_n4##y,z,c)), \
+ (I[648] = (T)(img)(_p7##x,_n5##y,z,c)), \
+ (I[680] = (T)(img)(_p7##x,_n6##y,z,c)), \
+ (I[712] = (T)(img)(_p7##x,_n7##y,z,c)), \
+ (I[744] = (T)(img)(_p7##x,_n8##y,z,c)), \
+ (I[776] = (T)(img)(_p7##x,_n9##y,z,c)), \
+ (I[808] = (T)(img)(_p7##x,_n10##y,z,c)), \
+ (I[840] = (T)(img)(_p7##x,_n11##y,z,c)), \
+ (I[872] = (T)(img)(_p7##x,_n12##y,z,c)), \
+ (I[904] = (T)(img)(_p7##x,_n13##y,z,c)), \
+ (I[936] = (T)(img)(_p7##x,_n14##y,z,c)), \
+ (I[968] = (T)(img)(_p7##x,_n15##y,z,c)), \
+ (I[1000] = (T)(img)(_p7##x,_n16##y,z,c)), \
+ (I[9] = (T)(img)(_p6##x,_p15##y,z,c)), \
+ (I[41] = (T)(img)(_p6##x,_p14##y,z,c)), \
+ (I[73] = (T)(img)(_p6##x,_p13##y,z,c)), \
+ (I[105] = (T)(img)(_p6##x,_p12##y,z,c)), \
+ (I[137] = (T)(img)(_p6##x,_p11##y,z,c)), \
+ (I[169] = (T)(img)(_p6##x,_p10##y,z,c)), \
+ (I[201] = (T)(img)(_p6##x,_p9##y,z,c)), \
+ (I[233] = (T)(img)(_p6##x,_p8##y,z,c)), \
+ (I[265] = (T)(img)(_p6##x,_p7##y,z,c)), \
+ (I[297] = (T)(img)(_p6##x,_p6##y,z,c)), \
+ (I[329] = (T)(img)(_p6##x,_p5##y,z,c)), \
+ (I[361] = (T)(img)(_p6##x,_p4##y,z,c)), \
+ (I[393] = (T)(img)(_p6##x,_p3##y,z,c)), \
+ (I[425] = (T)(img)(_p6##x,_p2##y,z,c)), \
+ (I[457] = (T)(img)(_p6##x,_p1##y,z,c)), \
+ (I[489] = (T)(img)(_p6##x,y,z,c)), \
+ (I[521] = (T)(img)(_p6##x,_n1##y,z,c)), \
+ (I[553] = (T)(img)(_p6##x,_n2##y,z,c)), \
+ (I[585] = (T)(img)(_p6##x,_n3##y,z,c)), \
+ (I[617] = (T)(img)(_p6##x,_n4##y,z,c)), \
+ (I[649] = (T)(img)(_p6##x,_n5##y,z,c)), \
+ (I[681] = (T)(img)(_p6##x,_n6##y,z,c)), \
+ (I[713] = (T)(img)(_p6##x,_n7##y,z,c)), \
+ (I[745] = (T)(img)(_p6##x,_n8##y,z,c)), \
+ (I[777] = (T)(img)(_p6##x,_n9##y,z,c)), \
+ (I[809] = (T)(img)(_p6##x,_n10##y,z,c)), \
+ (I[841] = (T)(img)(_p6##x,_n11##y,z,c)), \
+ (I[873] = (T)(img)(_p6##x,_n12##y,z,c)), \
+ (I[905] = (T)(img)(_p6##x,_n13##y,z,c)), \
+ (I[937] = (T)(img)(_p6##x,_n14##y,z,c)), \
+ (I[969] = (T)(img)(_p6##x,_n15##y,z,c)), \
+ (I[1001] = (T)(img)(_p6##x,_n16##y,z,c)), \
+ (I[10] = (T)(img)(_p5##x,_p15##y,z,c)), \
+ (I[42] = (T)(img)(_p5##x,_p14##y,z,c)), \
+ (I[74] = (T)(img)(_p5##x,_p13##y,z,c)), \
+ (I[106] = (T)(img)(_p5##x,_p12##y,z,c)), \
+ (I[138] = (T)(img)(_p5##x,_p11##y,z,c)), \
+ (I[170] = (T)(img)(_p5##x,_p10##y,z,c)), \
+ (I[202] = (T)(img)(_p5##x,_p9##y,z,c)), \
+ (I[234] = (T)(img)(_p5##x,_p8##y,z,c)), \
+ (I[266] = (T)(img)(_p5##x,_p7##y,z,c)), \
+ (I[298] = (T)(img)(_p5##x,_p6##y,z,c)), \
+ (I[330] = (T)(img)(_p5##x,_p5##y,z,c)), \
+ (I[362] = (T)(img)(_p5##x,_p4##y,z,c)), \
+ (I[394] = (T)(img)(_p5##x,_p3##y,z,c)), \
+ (I[426] = (T)(img)(_p5##x,_p2##y,z,c)), \
+ (I[458] = (T)(img)(_p5##x,_p1##y,z,c)), \
+ (I[490] = (T)(img)(_p5##x,y,z,c)), \
+ (I[522] = (T)(img)(_p5##x,_n1##y,z,c)), \
+ (I[554] = (T)(img)(_p5##x,_n2##y,z,c)), \
+ (I[586] = (T)(img)(_p5##x,_n3##y,z,c)), \
+ (I[618] = (T)(img)(_p5##x,_n4##y,z,c)), \
+ (I[650] = (T)(img)(_p5##x,_n5##y,z,c)), \
+ (I[682] = (T)(img)(_p5##x,_n6##y,z,c)), \
+ (I[714] = (T)(img)(_p5##x,_n7##y,z,c)), \
+ (I[746] = (T)(img)(_p5##x,_n8##y,z,c)), \
+ (I[778] = (T)(img)(_p5##x,_n9##y,z,c)), \
+ (I[810] = (T)(img)(_p5##x,_n10##y,z,c)), \
+ (I[842] = (T)(img)(_p5##x,_n11##y,z,c)), \
+ (I[874] = (T)(img)(_p5##x,_n12##y,z,c)), \
+ (I[906] = (T)(img)(_p5##x,_n13##y,z,c)), \
+ (I[938] = (T)(img)(_p5##x,_n14##y,z,c)), \
+ (I[970] = (T)(img)(_p5##x,_n15##y,z,c)), \
+ (I[1002] = (T)(img)(_p5##x,_n16##y,z,c)), \
+ (I[11] = (T)(img)(_p4##x,_p15##y,z,c)), \
+ (I[43] = (T)(img)(_p4##x,_p14##y,z,c)), \
+ (I[75] = (T)(img)(_p4##x,_p13##y,z,c)), \
+ (I[107] = (T)(img)(_p4##x,_p12##y,z,c)), \
+ (I[139] = (T)(img)(_p4##x,_p11##y,z,c)), \
+ (I[171] = (T)(img)(_p4##x,_p10##y,z,c)), \
+ (I[203] = (T)(img)(_p4##x,_p9##y,z,c)), \
+ (I[235] = (T)(img)(_p4##x,_p8##y,z,c)), \
+ (I[267] = (T)(img)(_p4##x,_p7##y,z,c)), \
+ (I[299] = (T)(img)(_p4##x,_p6##y,z,c)), \
+ (I[331] = (T)(img)(_p4##x,_p5##y,z,c)), \
+ (I[363] = (T)(img)(_p4##x,_p4##y,z,c)), \
+ (I[395] = (T)(img)(_p4##x,_p3##y,z,c)), \
+ (I[427] = (T)(img)(_p4##x,_p2##y,z,c)), \
+ (I[459] = (T)(img)(_p4##x,_p1##y,z,c)), \
+ (I[491] = (T)(img)(_p4##x,y,z,c)), \
+ (I[523] = (T)(img)(_p4##x,_n1##y,z,c)), \
+ (I[555] = (T)(img)(_p4##x,_n2##y,z,c)), \
+ (I[587] = (T)(img)(_p4##x,_n3##y,z,c)), \
+ (I[619] = (T)(img)(_p4##x,_n4##y,z,c)), \
+ (I[651] = (T)(img)(_p4##x,_n5##y,z,c)), \
+ (I[683] = (T)(img)(_p4##x,_n6##y,z,c)), \
+ (I[715] = (T)(img)(_p4##x,_n7##y,z,c)), \
+ (I[747] = (T)(img)(_p4##x,_n8##y,z,c)), \
+ (I[779] = (T)(img)(_p4##x,_n9##y,z,c)), \
+ (I[811] = (T)(img)(_p4##x,_n10##y,z,c)), \
+ (I[843] = (T)(img)(_p4##x,_n11##y,z,c)), \
+ (I[875] = (T)(img)(_p4##x,_n12##y,z,c)), \
+ (I[907] = (T)(img)(_p4##x,_n13##y,z,c)), \
+ (I[939] = (T)(img)(_p4##x,_n14##y,z,c)), \
+ (I[971] = (T)(img)(_p4##x,_n15##y,z,c)), \
+ (I[1003] = (T)(img)(_p4##x,_n16##y,z,c)), \
+ (I[12] = (T)(img)(_p3##x,_p15##y,z,c)), \
+ (I[44] = (T)(img)(_p3##x,_p14##y,z,c)), \
+ (I[76] = (T)(img)(_p3##x,_p13##y,z,c)), \
+ (I[108] = (T)(img)(_p3##x,_p12##y,z,c)), \
+ (I[140] = (T)(img)(_p3##x,_p11##y,z,c)), \
+ (I[172] = (T)(img)(_p3##x,_p10##y,z,c)), \
+ (I[204] = (T)(img)(_p3##x,_p9##y,z,c)), \
+ (I[236] = (T)(img)(_p3##x,_p8##y,z,c)), \
+ (I[268] = (T)(img)(_p3##x,_p7##y,z,c)), \
+ (I[300] = (T)(img)(_p3##x,_p6##y,z,c)), \
+ (I[332] = (T)(img)(_p3##x,_p5##y,z,c)), \
+ (I[364] = (T)(img)(_p3##x,_p4##y,z,c)), \
+ (I[396] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[428] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[460] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[492] = (T)(img)(_p3##x,y,z,c)), \
+ (I[524] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[556] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[588] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[620] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[652] = (T)(img)(_p3##x,_n5##y,z,c)), \
+ (I[684] = (T)(img)(_p3##x,_n6##y,z,c)), \
+ (I[716] = (T)(img)(_p3##x,_n7##y,z,c)), \
+ (I[748] = (T)(img)(_p3##x,_n8##y,z,c)), \
+ (I[780] = (T)(img)(_p3##x,_n9##y,z,c)), \
+ (I[812] = (T)(img)(_p3##x,_n10##y,z,c)), \
+ (I[844] = (T)(img)(_p3##x,_n11##y,z,c)), \
+ (I[876] = (T)(img)(_p3##x,_n12##y,z,c)), \
+ (I[908] = (T)(img)(_p3##x,_n13##y,z,c)), \
+ (I[940] = (T)(img)(_p3##x,_n14##y,z,c)), \
+ (I[972] = (T)(img)(_p3##x,_n15##y,z,c)), \
+ (I[1004] = (T)(img)(_p3##x,_n16##y,z,c)), \
+ (I[13] = (T)(img)(_p2##x,_p15##y,z,c)), \
+ (I[45] = (T)(img)(_p2##x,_p14##y,z,c)), \
+ (I[77] = (T)(img)(_p2##x,_p13##y,z,c)), \
+ (I[109] = (T)(img)(_p2##x,_p12##y,z,c)), \
+ (I[141] = (T)(img)(_p2##x,_p11##y,z,c)), \
+ (I[173] = (T)(img)(_p2##x,_p10##y,z,c)), \
+ (I[205] = (T)(img)(_p2##x,_p9##y,z,c)), \
+ (I[237] = (T)(img)(_p2##x,_p8##y,z,c)), \
+ (I[269] = (T)(img)(_p2##x,_p7##y,z,c)), \
+ (I[301] = (T)(img)(_p2##x,_p6##y,z,c)), \
+ (I[333] = (T)(img)(_p2##x,_p5##y,z,c)), \
+ (I[365] = (T)(img)(_p2##x,_p4##y,z,c)), \
+ (I[397] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[429] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[461] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[493] = (T)(img)(_p2##x,y,z,c)), \
+ (I[525] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[557] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[589] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[621] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[653] = (T)(img)(_p2##x,_n5##y,z,c)), \
+ (I[685] = (T)(img)(_p2##x,_n6##y,z,c)), \
+ (I[717] = (T)(img)(_p2##x,_n7##y,z,c)), \
+ (I[749] = (T)(img)(_p2##x,_n8##y,z,c)), \
+ (I[781] = (T)(img)(_p2##x,_n9##y,z,c)), \
+ (I[813] = (T)(img)(_p2##x,_n10##y,z,c)), \
+ (I[845] = (T)(img)(_p2##x,_n11##y,z,c)), \
+ (I[877] = (T)(img)(_p2##x,_n12##y,z,c)), \
+ (I[909] = (T)(img)(_p2##x,_n13##y,z,c)), \
+ (I[941] = (T)(img)(_p2##x,_n14##y,z,c)), \
+ (I[973] = (T)(img)(_p2##x,_n15##y,z,c)), \
+ (I[1005] = (T)(img)(_p2##x,_n16##y,z,c)), \
+ (I[14] = (T)(img)(_p1##x,_p15##y,z,c)), \
+ (I[46] = (T)(img)(_p1##x,_p14##y,z,c)), \
+ (I[78] = (T)(img)(_p1##x,_p13##y,z,c)), \
+ (I[110] = (T)(img)(_p1##x,_p12##y,z,c)), \
+ (I[142] = (T)(img)(_p1##x,_p11##y,z,c)), \
+ (I[174] = (T)(img)(_p1##x,_p10##y,z,c)), \
+ (I[206] = (T)(img)(_p1##x,_p9##y,z,c)), \
+ (I[238] = (T)(img)(_p1##x,_p8##y,z,c)), \
+ (I[270] = (T)(img)(_p1##x,_p7##y,z,c)), \
+ (I[302] = (T)(img)(_p1##x,_p6##y,z,c)), \
+ (I[334] = (T)(img)(_p1##x,_p5##y,z,c)), \
+ (I[366] = (T)(img)(_p1##x,_p4##y,z,c)), \
+ (I[398] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[430] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[462] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[494] = (T)(img)(_p1##x,y,z,c)), \
+ (I[526] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[558] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[590] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[622] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[654] = (T)(img)(_p1##x,_n5##y,z,c)), \
+ (I[686] = (T)(img)(_p1##x,_n6##y,z,c)), \
+ (I[718] = (T)(img)(_p1##x,_n7##y,z,c)), \
+ (I[750] = (T)(img)(_p1##x,_n8##y,z,c)), \
+ (I[782] = (T)(img)(_p1##x,_n9##y,z,c)), \
+ (I[814] = (T)(img)(_p1##x,_n10##y,z,c)), \
+ (I[846] = (T)(img)(_p1##x,_n11##y,z,c)), \
+ (I[878] = (T)(img)(_p1##x,_n12##y,z,c)), \
+ (I[910] = (T)(img)(_p1##x,_n13##y,z,c)), \
+ (I[942] = (T)(img)(_p1##x,_n14##y,z,c)), \
+ (I[974] = (T)(img)(_p1##x,_n15##y,z,c)), \
+ (I[1006] = (T)(img)(_p1##x,_n16##y,z,c)), \
+ (I[15] = (T)(img)(x,_p15##y,z,c)), \
+ (I[47] = (T)(img)(x,_p14##y,z,c)), \
+ (I[79] = (T)(img)(x,_p13##y,z,c)), \
+ (I[111] = (T)(img)(x,_p12##y,z,c)), \
+ (I[143] = (T)(img)(x,_p11##y,z,c)), \
+ (I[175] = (T)(img)(x,_p10##y,z,c)), \
+ (I[207] = (T)(img)(x,_p9##y,z,c)), \
+ (I[239] = (T)(img)(x,_p8##y,z,c)), \
+ (I[271] = (T)(img)(x,_p7##y,z,c)), \
+ (I[303] = (T)(img)(x,_p6##y,z,c)), \
+ (I[335] = (T)(img)(x,_p5##y,z,c)), \
+ (I[367] = (T)(img)(x,_p4##y,z,c)), \
+ (I[399] = (T)(img)(x,_p3##y,z,c)), \
+ (I[431] = (T)(img)(x,_p2##y,z,c)), \
+ (I[463] = (T)(img)(x,_p1##y,z,c)), \
+ (I[495] = (T)(img)(x,y,z,c)), \
+ (I[527] = (T)(img)(x,_n1##y,z,c)), \
+ (I[559] = (T)(img)(x,_n2##y,z,c)), \
+ (I[591] = (T)(img)(x,_n3##y,z,c)), \
+ (I[623] = (T)(img)(x,_n4##y,z,c)), \
+ (I[655] = (T)(img)(x,_n5##y,z,c)), \
+ (I[687] = (T)(img)(x,_n6##y,z,c)), \
+ (I[719] = (T)(img)(x,_n7##y,z,c)), \
+ (I[751] = (T)(img)(x,_n8##y,z,c)), \
+ (I[783] = (T)(img)(x,_n9##y,z,c)), \
+ (I[815] = (T)(img)(x,_n10##y,z,c)), \
+ (I[847] = (T)(img)(x,_n11##y,z,c)), \
+ (I[879] = (T)(img)(x,_n12##y,z,c)), \
+ (I[911] = (T)(img)(x,_n13##y,z,c)), \
+ (I[943] = (T)(img)(x,_n14##y,z,c)), \
+ (I[975] = (T)(img)(x,_n15##y,z,c)), \
+ (I[1007] = (T)(img)(x,_n16##y,z,c)), \
+ (I[16] = (T)(img)(_n1##x,_p15##y,z,c)), \
+ (I[48] = (T)(img)(_n1##x,_p14##y,z,c)), \
+ (I[80] = (T)(img)(_n1##x,_p13##y,z,c)), \
+ (I[112] = (T)(img)(_n1##x,_p12##y,z,c)), \
+ (I[144] = (T)(img)(_n1##x,_p11##y,z,c)), \
+ (I[176] = (T)(img)(_n1##x,_p10##y,z,c)), \
+ (I[208] = (T)(img)(_n1##x,_p9##y,z,c)), \
+ (I[240] = (T)(img)(_n1##x,_p8##y,z,c)), \
+ (I[272] = (T)(img)(_n1##x,_p7##y,z,c)), \
+ (I[304] = (T)(img)(_n1##x,_p6##y,z,c)), \
+ (I[336] = (T)(img)(_n1##x,_p5##y,z,c)), \
+ (I[368] = (T)(img)(_n1##x,_p4##y,z,c)), \
+ (I[400] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[432] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[464] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[496] = (T)(img)(_n1##x,y,z,c)), \
+ (I[528] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[560] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[592] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[624] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[656] = (T)(img)(_n1##x,_n5##y,z,c)), \
+ (I[688] = (T)(img)(_n1##x,_n6##y,z,c)), \
+ (I[720] = (T)(img)(_n1##x,_n7##y,z,c)), \
+ (I[752] = (T)(img)(_n1##x,_n8##y,z,c)), \
+ (I[784] = (T)(img)(_n1##x,_n9##y,z,c)), \
+ (I[816] = (T)(img)(_n1##x,_n10##y,z,c)), \
+ (I[848] = (T)(img)(_n1##x,_n11##y,z,c)), \
+ (I[880] = (T)(img)(_n1##x,_n12##y,z,c)), \
+ (I[912] = (T)(img)(_n1##x,_n13##y,z,c)), \
+ (I[944] = (T)(img)(_n1##x,_n14##y,z,c)), \
+ (I[976] = (T)(img)(_n1##x,_n15##y,z,c)), \
+ (I[1008] = (T)(img)(_n1##x,_n16##y,z,c)), \
+ (I[17] = (T)(img)(_n2##x,_p15##y,z,c)), \
+ (I[49] = (T)(img)(_n2##x,_p14##y,z,c)), \
+ (I[81] = (T)(img)(_n2##x,_p13##y,z,c)), \
+ (I[113] = (T)(img)(_n2##x,_p12##y,z,c)), \
+ (I[145] = (T)(img)(_n2##x,_p11##y,z,c)), \
+ (I[177] = (T)(img)(_n2##x,_p10##y,z,c)), \
+ (I[209] = (T)(img)(_n2##x,_p9##y,z,c)), \
+ (I[241] = (T)(img)(_n2##x,_p8##y,z,c)), \
+ (I[273] = (T)(img)(_n2##x,_p7##y,z,c)), \
+ (I[305] = (T)(img)(_n2##x,_p6##y,z,c)), \
+ (I[337] = (T)(img)(_n2##x,_p5##y,z,c)), \
+ (I[369] = (T)(img)(_n2##x,_p4##y,z,c)), \
+ (I[401] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[433] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[465] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[497] = (T)(img)(_n2##x,y,z,c)), \
+ (I[529] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[561] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[593] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[625] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[657] = (T)(img)(_n2##x,_n5##y,z,c)), \
+ (I[689] = (T)(img)(_n2##x,_n6##y,z,c)), \
+ (I[721] = (T)(img)(_n2##x,_n7##y,z,c)), \
+ (I[753] = (T)(img)(_n2##x,_n8##y,z,c)), \
+ (I[785] = (T)(img)(_n2##x,_n9##y,z,c)), \
+ (I[817] = (T)(img)(_n2##x,_n10##y,z,c)), \
+ (I[849] = (T)(img)(_n2##x,_n11##y,z,c)), \
+ (I[881] = (T)(img)(_n2##x,_n12##y,z,c)), \
+ (I[913] = (T)(img)(_n2##x,_n13##y,z,c)), \
+ (I[945] = (T)(img)(_n2##x,_n14##y,z,c)), \
+ (I[977] = (T)(img)(_n2##x,_n15##y,z,c)), \
+ (I[1009] = (T)(img)(_n2##x,_n16##y,z,c)), \
+ (I[18] = (T)(img)(_n3##x,_p15##y,z,c)), \
+ (I[50] = (T)(img)(_n3##x,_p14##y,z,c)), \
+ (I[82] = (T)(img)(_n3##x,_p13##y,z,c)), \
+ (I[114] = (T)(img)(_n3##x,_p12##y,z,c)), \
+ (I[146] = (T)(img)(_n3##x,_p11##y,z,c)), \
+ (I[178] = (T)(img)(_n3##x,_p10##y,z,c)), \
+ (I[210] = (T)(img)(_n3##x,_p9##y,z,c)), \
+ (I[242] = (T)(img)(_n3##x,_p8##y,z,c)), \
+ (I[274] = (T)(img)(_n3##x,_p7##y,z,c)), \
+ (I[306] = (T)(img)(_n3##x,_p6##y,z,c)), \
+ (I[338] = (T)(img)(_n3##x,_p5##y,z,c)), \
+ (I[370] = (T)(img)(_n3##x,_p4##y,z,c)), \
+ (I[402] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[434] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[466] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[498] = (T)(img)(_n3##x,y,z,c)), \
+ (I[530] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[562] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[594] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[626] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[658] = (T)(img)(_n3##x,_n5##y,z,c)), \
+ (I[690] = (T)(img)(_n3##x,_n6##y,z,c)), \
+ (I[722] = (T)(img)(_n3##x,_n7##y,z,c)), \
+ (I[754] = (T)(img)(_n3##x,_n8##y,z,c)), \
+ (I[786] = (T)(img)(_n3##x,_n9##y,z,c)), \
+ (I[818] = (T)(img)(_n3##x,_n10##y,z,c)), \
+ (I[850] = (T)(img)(_n3##x,_n11##y,z,c)), \
+ (I[882] = (T)(img)(_n3##x,_n12##y,z,c)), \
+ (I[914] = (T)(img)(_n3##x,_n13##y,z,c)), \
+ (I[946] = (T)(img)(_n3##x,_n14##y,z,c)), \
+ (I[978] = (T)(img)(_n3##x,_n15##y,z,c)), \
+ (I[1010] = (T)(img)(_n3##x,_n16##y,z,c)), \
+ (I[19] = (T)(img)(_n4##x,_p15##y,z,c)), \
+ (I[51] = (T)(img)(_n4##x,_p14##y,z,c)), \
+ (I[83] = (T)(img)(_n4##x,_p13##y,z,c)), \
+ (I[115] = (T)(img)(_n4##x,_p12##y,z,c)), \
+ (I[147] = (T)(img)(_n4##x,_p11##y,z,c)), \
+ (I[179] = (T)(img)(_n4##x,_p10##y,z,c)), \
+ (I[211] = (T)(img)(_n4##x,_p9##y,z,c)), \
+ (I[243] = (T)(img)(_n4##x,_p8##y,z,c)), \
+ (I[275] = (T)(img)(_n4##x,_p7##y,z,c)), \
+ (I[307] = (T)(img)(_n4##x,_p6##y,z,c)), \
+ (I[339] = (T)(img)(_n4##x,_p5##y,z,c)), \
+ (I[371] = (T)(img)(_n4##x,_p4##y,z,c)), \
+ (I[403] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[435] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[467] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[499] = (T)(img)(_n4##x,y,z,c)), \
+ (I[531] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[563] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[595] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[627] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[659] = (T)(img)(_n4##x,_n5##y,z,c)), \
+ (I[691] = (T)(img)(_n4##x,_n6##y,z,c)), \
+ (I[723] = (T)(img)(_n4##x,_n7##y,z,c)), \
+ (I[755] = (T)(img)(_n4##x,_n8##y,z,c)), \
+ (I[787] = (T)(img)(_n4##x,_n9##y,z,c)), \
+ (I[819] = (T)(img)(_n4##x,_n10##y,z,c)), \
+ (I[851] = (T)(img)(_n4##x,_n11##y,z,c)), \
+ (I[883] = (T)(img)(_n4##x,_n12##y,z,c)), \
+ (I[915] = (T)(img)(_n4##x,_n13##y,z,c)), \
+ (I[947] = (T)(img)(_n4##x,_n14##y,z,c)), \
+ (I[979] = (T)(img)(_n4##x,_n15##y,z,c)), \
+ (I[1011] = (T)(img)(_n4##x,_n16##y,z,c)), \
+ (I[20] = (T)(img)(_n5##x,_p15##y,z,c)), \
+ (I[52] = (T)(img)(_n5##x,_p14##y,z,c)), \
+ (I[84] = (T)(img)(_n5##x,_p13##y,z,c)), \
+ (I[116] = (T)(img)(_n5##x,_p12##y,z,c)), \
+ (I[148] = (T)(img)(_n5##x,_p11##y,z,c)), \
+ (I[180] = (T)(img)(_n5##x,_p10##y,z,c)), \
+ (I[212] = (T)(img)(_n5##x,_p9##y,z,c)), \
+ (I[244] = (T)(img)(_n5##x,_p8##y,z,c)), \
+ (I[276] = (T)(img)(_n5##x,_p7##y,z,c)), \
+ (I[308] = (T)(img)(_n5##x,_p6##y,z,c)), \
+ (I[340] = (T)(img)(_n5##x,_p5##y,z,c)), \
+ (I[372] = (T)(img)(_n5##x,_p4##y,z,c)), \
+ (I[404] = (T)(img)(_n5##x,_p3##y,z,c)), \
+ (I[436] = (T)(img)(_n5##x,_p2##y,z,c)), \
+ (I[468] = (T)(img)(_n5##x,_p1##y,z,c)), \
+ (I[500] = (T)(img)(_n5##x,y,z,c)), \
+ (I[532] = (T)(img)(_n5##x,_n1##y,z,c)), \
+ (I[564] = (T)(img)(_n5##x,_n2##y,z,c)), \
+ (I[596] = (T)(img)(_n5##x,_n3##y,z,c)), \
+ (I[628] = (T)(img)(_n5##x,_n4##y,z,c)), \
+ (I[660] = (T)(img)(_n5##x,_n5##y,z,c)), \
+ (I[692] = (T)(img)(_n5##x,_n6##y,z,c)), \
+ (I[724] = (T)(img)(_n5##x,_n7##y,z,c)), \
+ (I[756] = (T)(img)(_n5##x,_n8##y,z,c)), \
+ (I[788] = (T)(img)(_n5##x,_n9##y,z,c)), \
+ (I[820] = (T)(img)(_n5##x,_n10##y,z,c)), \
+ (I[852] = (T)(img)(_n5##x,_n11##y,z,c)), \
+ (I[884] = (T)(img)(_n5##x,_n12##y,z,c)), \
+ (I[916] = (T)(img)(_n5##x,_n13##y,z,c)), \
+ (I[948] = (T)(img)(_n5##x,_n14##y,z,c)), \
+ (I[980] = (T)(img)(_n5##x,_n15##y,z,c)), \
+ (I[1012] = (T)(img)(_n5##x,_n16##y,z,c)), \
+ (I[21] = (T)(img)(_n6##x,_p15##y,z,c)), \
+ (I[53] = (T)(img)(_n6##x,_p14##y,z,c)), \
+ (I[85] = (T)(img)(_n6##x,_p13##y,z,c)), \
+ (I[117] = (T)(img)(_n6##x,_p12##y,z,c)), \
+ (I[149] = (T)(img)(_n6##x,_p11##y,z,c)), \
+ (I[181] = (T)(img)(_n6##x,_p10##y,z,c)), \
+ (I[213] = (T)(img)(_n6##x,_p9##y,z,c)), \
+ (I[245] = (T)(img)(_n6##x,_p8##y,z,c)), \
+ (I[277] = (T)(img)(_n6##x,_p7##y,z,c)), \
+ (I[309] = (T)(img)(_n6##x,_p6##y,z,c)), \
+ (I[341] = (T)(img)(_n6##x,_p5##y,z,c)), \
+ (I[373] = (T)(img)(_n6##x,_p4##y,z,c)), \
+ (I[405] = (T)(img)(_n6##x,_p3##y,z,c)), \
+ (I[437] = (T)(img)(_n6##x,_p2##y,z,c)), \
+ (I[469] = (T)(img)(_n6##x,_p1##y,z,c)), \
+ (I[501] = (T)(img)(_n6##x,y,z,c)), \
+ (I[533] = (T)(img)(_n6##x,_n1##y,z,c)), \
+ (I[565] = (T)(img)(_n6##x,_n2##y,z,c)), \
+ (I[597] = (T)(img)(_n6##x,_n3##y,z,c)), \
+ (I[629] = (T)(img)(_n6##x,_n4##y,z,c)), \
+ (I[661] = (T)(img)(_n6##x,_n5##y,z,c)), \
+ (I[693] = (T)(img)(_n6##x,_n6##y,z,c)), \
+ (I[725] = (T)(img)(_n6##x,_n7##y,z,c)), \
+ (I[757] = (T)(img)(_n6##x,_n8##y,z,c)), \
+ (I[789] = (T)(img)(_n6##x,_n9##y,z,c)), \
+ (I[821] = (T)(img)(_n6##x,_n10##y,z,c)), \
+ (I[853] = (T)(img)(_n6##x,_n11##y,z,c)), \
+ (I[885] = (T)(img)(_n6##x,_n12##y,z,c)), \
+ (I[917] = (T)(img)(_n6##x,_n13##y,z,c)), \
+ (I[949] = (T)(img)(_n6##x,_n14##y,z,c)), \
+ (I[981] = (T)(img)(_n6##x,_n15##y,z,c)), \
+ (I[1013] = (T)(img)(_n6##x,_n16##y,z,c)), \
+ (I[22] = (T)(img)(_n7##x,_p15##y,z,c)), \
+ (I[54] = (T)(img)(_n7##x,_p14##y,z,c)), \
+ (I[86] = (T)(img)(_n7##x,_p13##y,z,c)), \
+ (I[118] = (T)(img)(_n7##x,_p12##y,z,c)), \
+ (I[150] = (T)(img)(_n7##x,_p11##y,z,c)), \
+ (I[182] = (T)(img)(_n7##x,_p10##y,z,c)), \
+ (I[214] = (T)(img)(_n7##x,_p9##y,z,c)), \
+ (I[246] = (T)(img)(_n7##x,_p8##y,z,c)), \
+ (I[278] = (T)(img)(_n7##x,_p7##y,z,c)), \
+ (I[310] = (T)(img)(_n7##x,_p6##y,z,c)), \
+ (I[342] = (T)(img)(_n7##x,_p5##y,z,c)), \
+ (I[374] = (T)(img)(_n7##x,_p4##y,z,c)), \
+ (I[406] = (T)(img)(_n7##x,_p3##y,z,c)), \
+ (I[438] = (T)(img)(_n7##x,_p2##y,z,c)), \
+ (I[470] = (T)(img)(_n7##x,_p1##y,z,c)), \
+ (I[502] = (T)(img)(_n7##x,y,z,c)), \
+ (I[534] = (T)(img)(_n7##x,_n1##y,z,c)), \
+ (I[566] = (T)(img)(_n7##x,_n2##y,z,c)), \
+ (I[598] = (T)(img)(_n7##x,_n3##y,z,c)), \
+ (I[630] = (T)(img)(_n7##x,_n4##y,z,c)), \
+ (I[662] = (T)(img)(_n7##x,_n5##y,z,c)), \
+ (I[694] = (T)(img)(_n7##x,_n6##y,z,c)), \
+ (I[726] = (T)(img)(_n7##x,_n7##y,z,c)), \
+ (I[758] = (T)(img)(_n7##x,_n8##y,z,c)), \
+ (I[790] = (T)(img)(_n7##x,_n9##y,z,c)), \
+ (I[822] = (T)(img)(_n7##x,_n10##y,z,c)), \
+ (I[854] = (T)(img)(_n7##x,_n11##y,z,c)), \
+ (I[886] = (T)(img)(_n7##x,_n12##y,z,c)), \
+ (I[918] = (T)(img)(_n7##x,_n13##y,z,c)), \
+ (I[950] = (T)(img)(_n7##x,_n14##y,z,c)), \
+ (I[982] = (T)(img)(_n7##x,_n15##y,z,c)), \
+ (I[1014] = (T)(img)(_n7##x,_n16##y,z,c)), \
+ (I[23] = (T)(img)(_n8##x,_p15##y,z,c)), \
+ (I[55] = (T)(img)(_n8##x,_p14##y,z,c)), \
+ (I[87] = (T)(img)(_n8##x,_p13##y,z,c)), \
+ (I[119] = (T)(img)(_n8##x,_p12##y,z,c)), \
+ (I[151] = (T)(img)(_n8##x,_p11##y,z,c)), \
+ (I[183] = (T)(img)(_n8##x,_p10##y,z,c)), \
+ (I[215] = (T)(img)(_n8##x,_p9##y,z,c)), \
+ (I[247] = (T)(img)(_n8##x,_p8##y,z,c)), \
+ (I[279] = (T)(img)(_n8##x,_p7##y,z,c)), \
+ (I[311] = (T)(img)(_n8##x,_p6##y,z,c)), \
+ (I[343] = (T)(img)(_n8##x,_p5##y,z,c)), \
+ (I[375] = (T)(img)(_n8##x,_p4##y,z,c)), \
+ (I[407] = (T)(img)(_n8##x,_p3##y,z,c)), \
+ (I[439] = (T)(img)(_n8##x,_p2##y,z,c)), \
+ (I[471] = (T)(img)(_n8##x,_p1##y,z,c)), \
+ (I[503] = (T)(img)(_n8##x,y,z,c)), \
+ (I[535] = (T)(img)(_n8##x,_n1##y,z,c)), \
+ (I[567] = (T)(img)(_n8##x,_n2##y,z,c)), \
+ (I[599] = (T)(img)(_n8##x,_n3##y,z,c)), \
+ (I[631] = (T)(img)(_n8##x,_n4##y,z,c)), \
+ (I[663] = (T)(img)(_n8##x,_n5##y,z,c)), \
+ (I[695] = (T)(img)(_n8##x,_n6##y,z,c)), \
+ (I[727] = (T)(img)(_n8##x,_n7##y,z,c)), \
+ (I[759] = (T)(img)(_n8##x,_n8##y,z,c)), \
+ (I[791] = (T)(img)(_n8##x,_n9##y,z,c)), \
+ (I[823] = (T)(img)(_n8##x,_n10##y,z,c)), \
+ (I[855] = (T)(img)(_n8##x,_n11##y,z,c)), \
+ (I[887] = (T)(img)(_n8##x,_n12##y,z,c)), \
+ (I[919] = (T)(img)(_n8##x,_n13##y,z,c)), \
+ (I[951] = (T)(img)(_n8##x,_n14##y,z,c)), \
+ (I[983] = (T)(img)(_n8##x,_n15##y,z,c)), \
+ (I[1015] = (T)(img)(_n8##x,_n16##y,z,c)), \
+ (I[24] = (T)(img)(_n9##x,_p15##y,z,c)), \
+ (I[56] = (T)(img)(_n9##x,_p14##y,z,c)), \
+ (I[88] = (T)(img)(_n9##x,_p13##y,z,c)), \
+ (I[120] = (T)(img)(_n9##x,_p12##y,z,c)), \
+ (I[152] = (T)(img)(_n9##x,_p11##y,z,c)), \
+ (I[184] = (T)(img)(_n9##x,_p10##y,z,c)), \
+ (I[216] = (T)(img)(_n9##x,_p9##y,z,c)), \
+ (I[248] = (T)(img)(_n9##x,_p8##y,z,c)), \
+ (I[280] = (T)(img)(_n9##x,_p7##y,z,c)), \
+ (I[312] = (T)(img)(_n9##x,_p6##y,z,c)), \
+ (I[344] = (T)(img)(_n9##x,_p5##y,z,c)), \
+ (I[376] = (T)(img)(_n9##x,_p4##y,z,c)), \
+ (I[408] = (T)(img)(_n9##x,_p3##y,z,c)), \
+ (I[440] = (T)(img)(_n9##x,_p2##y,z,c)), \
+ (I[472] = (T)(img)(_n9##x,_p1##y,z,c)), \
+ (I[504] = (T)(img)(_n9##x,y,z,c)), \
+ (I[536] = (T)(img)(_n9##x,_n1##y,z,c)), \
+ (I[568] = (T)(img)(_n9##x,_n2##y,z,c)), \
+ (I[600] = (T)(img)(_n9##x,_n3##y,z,c)), \
+ (I[632] = (T)(img)(_n9##x,_n4##y,z,c)), \
+ (I[664] = (T)(img)(_n9##x,_n5##y,z,c)), \
+ (I[696] = (T)(img)(_n9##x,_n6##y,z,c)), \
+ (I[728] = (T)(img)(_n9##x,_n7##y,z,c)), \
+ (I[760] = (T)(img)(_n9##x,_n8##y,z,c)), \
+ (I[792] = (T)(img)(_n9##x,_n9##y,z,c)), \
+ (I[824] = (T)(img)(_n9##x,_n10##y,z,c)), \
+ (I[856] = (T)(img)(_n9##x,_n11##y,z,c)), \
+ (I[888] = (T)(img)(_n9##x,_n12##y,z,c)), \
+ (I[920] = (T)(img)(_n9##x,_n13##y,z,c)), \
+ (I[952] = (T)(img)(_n9##x,_n14##y,z,c)), \
+ (I[984] = (T)(img)(_n9##x,_n15##y,z,c)), \
+ (I[1016] = (T)(img)(_n9##x,_n16##y,z,c)), \
+ (I[25] = (T)(img)(_n10##x,_p15##y,z,c)), \
+ (I[57] = (T)(img)(_n10##x,_p14##y,z,c)), \
+ (I[89] = (T)(img)(_n10##x,_p13##y,z,c)), \
+ (I[121] = (T)(img)(_n10##x,_p12##y,z,c)), \
+ (I[153] = (T)(img)(_n10##x,_p11##y,z,c)), \
+ (I[185] = (T)(img)(_n10##x,_p10##y,z,c)), \
+ (I[217] = (T)(img)(_n10##x,_p9##y,z,c)), \
+ (I[249] = (T)(img)(_n10##x,_p8##y,z,c)), \
+ (I[281] = (T)(img)(_n10##x,_p7##y,z,c)), \
+ (I[313] = (T)(img)(_n10##x,_p6##y,z,c)), \
+ (I[345] = (T)(img)(_n10##x,_p5##y,z,c)), \
+ (I[377] = (T)(img)(_n10##x,_p4##y,z,c)), \
+ (I[409] = (T)(img)(_n10##x,_p3##y,z,c)), \
+ (I[441] = (T)(img)(_n10##x,_p2##y,z,c)), \
+ (I[473] = (T)(img)(_n10##x,_p1##y,z,c)), \
+ (I[505] = (T)(img)(_n10##x,y,z,c)), \
+ (I[537] = (T)(img)(_n10##x,_n1##y,z,c)), \
+ (I[569] = (T)(img)(_n10##x,_n2##y,z,c)), \
+ (I[601] = (T)(img)(_n10##x,_n3##y,z,c)), \
+ (I[633] = (T)(img)(_n10##x,_n4##y,z,c)), \
+ (I[665] = (T)(img)(_n10##x,_n5##y,z,c)), \
+ (I[697] = (T)(img)(_n10##x,_n6##y,z,c)), \
+ (I[729] = (T)(img)(_n10##x,_n7##y,z,c)), \
+ (I[761] = (T)(img)(_n10##x,_n8##y,z,c)), \
+ (I[793] = (T)(img)(_n10##x,_n9##y,z,c)), \
+ (I[825] = (T)(img)(_n10##x,_n10##y,z,c)), \
+ (I[857] = (T)(img)(_n10##x,_n11##y,z,c)), \
+ (I[889] = (T)(img)(_n10##x,_n12##y,z,c)), \
+ (I[921] = (T)(img)(_n10##x,_n13##y,z,c)), \
+ (I[953] = (T)(img)(_n10##x,_n14##y,z,c)), \
+ (I[985] = (T)(img)(_n10##x,_n15##y,z,c)), \
+ (I[1017] = (T)(img)(_n10##x,_n16##y,z,c)), \
+ (I[26] = (T)(img)(_n11##x,_p15##y,z,c)), \
+ (I[58] = (T)(img)(_n11##x,_p14##y,z,c)), \
+ (I[90] = (T)(img)(_n11##x,_p13##y,z,c)), \
+ (I[122] = (T)(img)(_n11##x,_p12##y,z,c)), \
+ (I[154] = (T)(img)(_n11##x,_p11##y,z,c)), \
+ (I[186] = (T)(img)(_n11##x,_p10##y,z,c)), \
+ (I[218] = (T)(img)(_n11##x,_p9##y,z,c)), \
+ (I[250] = (T)(img)(_n11##x,_p8##y,z,c)), \
+ (I[282] = (T)(img)(_n11##x,_p7##y,z,c)), \
+ (I[314] = (T)(img)(_n11##x,_p6##y,z,c)), \
+ (I[346] = (T)(img)(_n11##x,_p5##y,z,c)), \
+ (I[378] = (T)(img)(_n11##x,_p4##y,z,c)), \
+ (I[410] = (T)(img)(_n11##x,_p3##y,z,c)), \
+ (I[442] = (T)(img)(_n11##x,_p2##y,z,c)), \
+ (I[474] = (T)(img)(_n11##x,_p1##y,z,c)), \
+ (I[506] = (T)(img)(_n11##x,y,z,c)), \
+ (I[538] = (T)(img)(_n11##x,_n1##y,z,c)), \
+ (I[570] = (T)(img)(_n11##x,_n2##y,z,c)), \
+ (I[602] = (T)(img)(_n11##x,_n3##y,z,c)), \
+ (I[634] = (T)(img)(_n11##x,_n4##y,z,c)), \
+ (I[666] = (T)(img)(_n11##x,_n5##y,z,c)), \
+ (I[698] = (T)(img)(_n11##x,_n6##y,z,c)), \
+ (I[730] = (T)(img)(_n11##x,_n7##y,z,c)), \
+ (I[762] = (T)(img)(_n11##x,_n8##y,z,c)), \
+ (I[794] = (T)(img)(_n11##x,_n9##y,z,c)), \
+ (I[826] = (T)(img)(_n11##x,_n10##y,z,c)), \
+ (I[858] = (T)(img)(_n11##x,_n11##y,z,c)), \
+ (I[890] = (T)(img)(_n11##x,_n12##y,z,c)), \
+ (I[922] = (T)(img)(_n11##x,_n13##y,z,c)), \
+ (I[954] = (T)(img)(_n11##x,_n14##y,z,c)), \
+ (I[986] = (T)(img)(_n11##x,_n15##y,z,c)), \
+ (I[1018] = (T)(img)(_n11##x,_n16##y,z,c)), \
+ (I[27] = (T)(img)(_n12##x,_p15##y,z,c)), \
+ (I[59] = (T)(img)(_n12##x,_p14##y,z,c)), \
+ (I[91] = (T)(img)(_n12##x,_p13##y,z,c)), \
+ (I[123] = (T)(img)(_n12##x,_p12##y,z,c)), \
+ (I[155] = (T)(img)(_n12##x,_p11##y,z,c)), \
+ (I[187] = (T)(img)(_n12##x,_p10##y,z,c)), \
+ (I[219] = (T)(img)(_n12##x,_p9##y,z,c)), \
+ (I[251] = (T)(img)(_n12##x,_p8##y,z,c)), \
+ (I[283] = (T)(img)(_n12##x,_p7##y,z,c)), \
+ (I[315] = (T)(img)(_n12##x,_p6##y,z,c)), \
+ (I[347] = (T)(img)(_n12##x,_p5##y,z,c)), \
+ (I[379] = (T)(img)(_n12##x,_p4##y,z,c)), \
+ (I[411] = (T)(img)(_n12##x,_p3##y,z,c)), \
+ (I[443] = (T)(img)(_n12##x,_p2##y,z,c)), \
+ (I[475] = (T)(img)(_n12##x,_p1##y,z,c)), \
+ (I[507] = (T)(img)(_n12##x,y,z,c)), \
+ (I[539] = (T)(img)(_n12##x,_n1##y,z,c)), \
+ (I[571] = (T)(img)(_n12##x,_n2##y,z,c)), \
+ (I[603] = (T)(img)(_n12##x,_n3##y,z,c)), \
+ (I[635] = (T)(img)(_n12##x,_n4##y,z,c)), \
+ (I[667] = (T)(img)(_n12##x,_n5##y,z,c)), \
+ (I[699] = (T)(img)(_n12##x,_n6##y,z,c)), \
+ (I[731] = (T)(img)(_n12##x,_n7##y,z,c)), \
+ (I[763] = (T)(img)(_n12##x,_n8##y,z,c)), \
+ (I[795] = (T)(img)(_n12##x,_n9##y,z,c)), \
+ (I[827] = (T)(img)(_n12##x,_n10##y,z,c)), \
+ (I[859] = (T)(img)(_n12##x,_n11##y,z,c)), \
+ (I[891] = (T)(img)(_n12##x,_n12##y,z,c)), \
+ (I[923] = (T)(img)(_n12##x,_n13##y,z,c)), \
+ (I[955] = (T)(img)(_n12##x,_n14##y,z,c)), \
+ (I[987] = (T)(img)(_n12##x,_n15##y,z,c)), \
+ (I[1019] = (T)(img)(_n12##x,_n16##y,z,c)), \
+ (I[28] = (T)(img)(_n13##x,_p15##y,z,c)), \
+ (I[60] = (T)(img)(_n13##x,_p14##y,z,c)), \
+ (I[92] = (T)(img)(_n13##x,_p13##y,z,c)), \
+ (I[124] = (T)(img)(_n13##x,_p12##y,z,c)), \
+ (I[156] = (T)(img)(_n13##x,_p11##y,z,c)), \
+ (I[188] = (T)(img)(_n13##x,_p10##y,z,c)), \
+ (I[220] = (T)(img)(_n13##x,_p9##y,z,c)), \
+ (I[252] = (T)(img)(_n13##x,_p8##y,z,c)), \
+ (I[284] = (T)(img)(_n13##x,_p7##y,z,c)), \
+ (I[316] = (T)(img)(_n13##x,_p6##y,z,c)), \
+ (I[348] = (T)(img)(_n13##x,_p5##y,z,c)), \
+ (I[380] = (T)(img)(_n13##x,_p4##y,z,c)), \
+ (I[412] = (T)(img)(_n13##x,_p3##y,z,c)), \
+ (I[444] = (T)(img)(_n13##x,_p2##y,z,c)), \
+ (I[476] = (T)(img)(_n13##x,_p1##y,z,c)), \
+ (I[508] = (T)(img)(_n13##x,y,z,c)), \
+ (I[540] = (T)(img)(_n13##x,_n1##y,z,c)), \
+ (I[572] = (T)(img)(_n13##x,_n2##y,z,c)), \
+ (I[604] = (T)(img)(_n13##x,_n3##y,z,c)), \
+ (I[636] = (T)(img)(_n13##x,_n4##y,z,c)), \
+ (I[668] = (T)(img)(_n13##x,_n5##y,z,c)), \
+ (I[700] = (T)(img)(_n13##x,_n6##y,z,c)), \
+ (I[732] = (T)(img)(_n13##x,_n7##y,z,c)), \
+ (I[764] = (T)(img)(_n13##x,_n8##y,z,c)), \
+ (I[796] = (T)(img)(_n13##x,_n9##y,z,c)), \
+ (I[828] = (T)(img)(_n13##x,_n10##y,z,c)), \
+ (I[860] = (T)(img)(_n13##x,_n11##y,z,c)), \
+ (I[892] = (T)(img)(_n13##x,_n12##y,z,c)), \
+ (I[924] = (T)(img)(_n13##x,_n13##y,z,c)), \
+ (I[956] = (T)(img)(_n13##x,_n14##y,z,c)), \
+ (I[988] = (T)(img)(_n13##x,_n15##y,z,c)), \
+ (I[1020] = (T)(img)(_n13##x,_n16##y,z,c)), \
+ (I[29] = (T)(img)(_n14##x,_p15##y,z,c)), \
+ (I[61] = (T)(img)(_n14##x,_p14##y,z,c)), \
+ (I[93] = (T)(img)(_n14##x,_p13##y,z,c)), \
+ (I[125] = (T)(img)(_n14##x,_p12##y,z,c)), \
+ (I[157] = (T)(img)(_n14##x,_p11##y,z,c)), \
+ (I[189] = (T)(img)(_n14##x,_p10##y,z,c)), \
+ (I[221] = (T)(img)(_n14##x,_p9##y,z,c)), \
+ (I[253] = (T)(img)(_n14##x,_p8##y,z,c)), \
+ (I[285] = (T)(img)(_n14##x,_p7##y,z,c)), \
+ (I[317] = (T)(img)(_n14##x,_p6##y,z,c)), \
+ (I[349] = (T)(img)(_n14##x,_p5##y,z,c)), \
+ (I[381] = (T)(img)(_n14##x,_p4##y,z,c)), \
+ (I[413] = (T)(img)(_n14##x,_p3##y,z,c)), \
+ (I[445] = (T)(img)(_n14##x,_p2##y,z,c)), \
+ (I[477] = (T)(img)(_n14##x,_p1##y,z,c)), \
+ (I[509] = (T)(img)(_n14##x,y,z,c)), \
+ (I[541] = (T)(img)(_n14##x,_n1##y,z,c)), \
+ (I[573] = (T)(img)(_n14##x,_n2##y,z,c)), \
+ (I[605] = (T)(img)(_n14##x,_n3##y,z,c)), \
+ (I[637] = (T)(img)(_n14##x,_n4##y,z,c)), \
+ (I[669] = (T)(img)(_n14##x,_n5##y,z,c)), \
+ (I[701] = (T)(img)(_n14##x,_n6##y,z,c)), \
+ (I[733] = (T)(img)(_n14##x,_n7##y,z,c)), \
+ (I[765] = (T)(img)(_n14##x,_n8##y,z,c)), \
+ (I[797] = (T)(img)(_n14##x,_n9##y,z,c)), \
+ (I[829] = (T)(img)(_n14##x,_n10##y,z,c)), \
+ (I[861] = (T)(img)(_n14##x,_n11##y,z,c)), \
+ (I[893] = (T)(img)(_n14##x,_n12##y,z,c)), \
+ (I[925] = (T)(img)(_n14##x,_n13##y,z,c)), \
+ (I[957] = (T)(img)(_n14##x,_n14##y,z,c)), \
+ (I[989] = (T)(img)(_n14##x,_n15##y,z,c)), \
+ (I[1021] = (T)(img)(_n14##x,_n16##y,z,c)), \
+ (I[30] = (T)(img)(_n15##x,_p15##y,z,c)), \
+ (I[62] = (T)(img)(_n15##x,_p14##y,z,c)), \
+ (I[94] = (T)(img)(_n15##x,_p13##y,z,c)), \
+ (I[126] = (T)(img)(_n15##x,_p12##y,z,c)), \
+ (I[158] = (T)(img)(_n15##x,_p11##y,z,c)), \
+ (I[190] = (T)(img)(_n15##x,_p10##y,z,c)), \
+ (I[222] = (T)(img)(_n15##x,_p9##y,z,c)), \
+ (I[254] = (T)(img)(_n15##x,_p8##y,z,c)), \
+ (I[286] = (T)(img)(_n15##x,_p7##y,z,c)), \
+ (I[318] = (T)(img)(_n15##x,_p6##y,z,c)), \
+ (I[350] = (T)(img)(_n15##x,_p5##y,z,c)), \
+ (I[382] = (T)(img)(_n15##x,_p4##y,z,c)), \
+ (I[414] = (T)(img)(_n15##x,_p3##y,z,c)), \
+ (I[446] = (T)(img)(_n15##x,_p2##y,z,c)), \
+ (I[478] = (T)(img)(_n15##x,_p1##y,z,c)), \
+ (I[510] = (T)(img)(_n15##x,y,z,c)), \
+ (I[542] = (T)(img)(_n15##x,_n1##y,z,c)), \
+ (I[574] = (T)(img)(_n15##x,_n2##y,z,c)), \
+ (I[606] = (T)(img)(_n15##x,_n3##y,z,c)), \
+ (I[638] = (T)(img)(_n15##x,_n4##y,z,c)), \
+ (I[670] = (T)(img)(_n15##x,_n5##y,z,c)), \
+ (I[702] = (T)(img)(_n15##x,_n6##y,z,c)), \
+ (I[734] = (T)(img)(_n15##x,_n7##y,z,c)), \
+ (I[766] = (T)(img)(_n15##x,_n8##y,z,c)), \
+ (I[798] = (T)(img)(_n15##x,_n9##y,z,c)), \
+ (I[830] = (T)(img)(_n15##x,_n10##y,z,c)), \
+ (I[862] = (T)(img)(_n15##x,_n11##y,z,c)), \
+ (I[894] = (T)(img)(_n15##x,_n12##y,z,c)), \
+ (I[926] = (T)(img)(_n15##x,_n13##y,z,c)), \
+ (I[958] = (T)(img)(_n15##x,_n14##y,z,c)), \
+ (I[990] = (T)(img)(_n15##x,_n15##y,z,c)), \
+ (I[1022] = (T)(img)(_n15##x,_n16##y,z,c)), \
+ x + 16>=(img).width()?(img).width() - 1:x + 16); \
+ x<=(int)(x1) && ((_n16##x<(img).width() && ( \
+ (I[31] = (T)(img)(_n16##x,_p15##y,z,c)), \
+ (I[63] = (T)(img)(_n16##x,_p14##y,z,c)), \
+ (I[95] = (T)(img)(_n16##x,_p13##y,z,c)), \
+ (I[127] = (T)(img)(_n16##x,_p12##y,z,c)), \
+ (I[159] = (T)(img)(_n16##x,_p11##y,z,c)), \
+ (I[191] = (T)(img)(_n16##x,_p10##y,z,c)), \
+ (I[223] = (T)(img)(_n16##x,_p9##y,z,c)), \
+ (I[255] = (T)(img)(_n16##x,_p8##y,z,c)), \
+ (I[287] = (T)(img)(_n16##x,_p7##y,z,c)), \
+ (I[319] = (T)(img)(_n16##x,_p6##y,z,c)), \
+ (I[351] = (T)(img)(_n16##x,_p5##y,z,c)), \
+ (I[383] = (T)(img)(_n16##x,_p4##y,z,c)), \
+ (I[415] = (T)(img)(_n16##x,_p3##y,z,c)), \
+ (I[447] = (T)(img)(_n16##x,_p2##y,z,c)), \
+ (I[479] = (T)(img)(_n16##x,_p1##y,z,c)), \
+ (I[511] = (T)(img)(_n16##x,y,z,c)), \
+ (I[543] = (T)(img)(_n16##x,_n1##y,z,c)), \
+ (I[575] = (T)(img)(_n16##x,_n2##y,z,c)), \
+ (I[607] = (T)(img)(_n16##x,_n3##y,z,c)), \
+ (I[639] = (T)(img)(_n16##x,_n4##y,z,c)), \
+ (I[671] = (T)(img)(_n16##x,_n5##y,z,c)), \
+ (I[703] = (T)(img)(_n16##x,_n6##y,z,c)), \
+ (I[735] = (T)(img)(_n16##x,_n7##y,z,c)), \
+ (I[767] = (T)(img)(_n16##x,_n8##y,z,c)), \
+ (I[799] = (T)(img)(_n16##x,_n9##y,z,c)), \
+ (I[831] = (T)(img)(_n16##x,_n10##y,z,c)), \
+ (I[863] = (T)(img)(_n16##x,_n11##y,z,c)), \
+ (I[895] = (T)(img)(_n16##x,_n12##y,z,c)), \
+ (I[927] = (T)(img)(_n16##x,_n13##y,z,c)), \
+ (I[959] = (T)(img)(_n16##x,_n14##y,z,c)), \
+ (I[991] = (T)(img)(_n16##x,_n15##y,z,c)), \
+ (I[1023] = (T)(img)(_n16##x,_n16##y,z,c)),1)) || \
+ _n15##x==--_n16##x || _n14##x==--_n15##x || _n13##x==--_n14##x || _n12##x==--_n13##x || _n11##x==--_n12##x || _n10##x==--_n11##x || _n9##x==--_n10##x || _n8##x==--_n9##x || _n7##x==--_n8##x || _n6##x==--_n7##x || _n5##x==--_n6##x || _n4##x==--_n5##x || _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n16##x = _n15##x = _n14##x = _n13##x = _n12##x = _n11##x = _n10##x = _n9##x = _n8##x = _n7##x = _n6##x = _n5##x = _n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], \
+ I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], \
+ I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], \
+ I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125 [...]
+ I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157] [...]
+ I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], I[167] = I[168], I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189] [...]
+ I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221] [...]
+ I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253] [...]
+ I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], I[279] = I[280], I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285] [...]
+ I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317] [...]
+ I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], I[335] = I[336], I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], I[343] = I[344], I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349] [...]
+ I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], I[359] = I[360], I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], I[367] = I[368], I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], I[375] = I[376], I[376] = I[377], I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381] [...]
+ I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], I[391] = I[392], I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], I[399] = I[400], I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], I[407] = I[408], I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413] [...]
+ I[416] = I[417], I[417] = I[418], I[418] = I[419], I[419] = I[420], I[420] = I[421], I[421] = I[422], I[422] = I[423], I[423] = I[424], I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], I[431] = I[432], I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], I[439] = I[440], I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445] [...]
+ I[448] = I[449], I[449] = I[450], I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], I[455] = I[456], I[456] = I[457], I[457] = I[458], I[458] = I[459], I[459] = I[460], I[460] = I[461], I[461] = I[462], I[462] = I[463], I[463] = I[464], I[464] = I[465], I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], I[471] = I[472], I[472] = I[473], I[473] = I[474], I[474] = I[475], I[475] = I[476], I[476] = I[477] [...]
+ I[480] = I[481], I[481] = I[482], I[482] = I[483], I[483] = I[484], I[484] = I[485], I[485] = I[486], I[486] = I[487], I[487] = I[488], I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], I[492] = I[493], I[493] = I[494], I[494] = I[495], I[495] = I[496], I[496] = I[497], I[497] = I[498], I[498] = I[499], I[499] = I[500], I[500] = I[501], I[501] = I[502], I[502] = I[503], I[503] = I[504], I[504] = I[505], I[505] = I[506], I[506] = I[507], I[507] = I[508], I[508] = I[509] [...]
+ I[512] = I[513], I[513] = I[514], I[514] = I[515], I[515] = I[516], I[516] = I[517], I[517] = I[518], I[518] = I[519], I[519] = I[520], I[520] = I[521], I[521] = I[522], I[522] = I[523], I[523] = I[524], I[524] = I[525], I[525] = I[526], I[526] = I[527], I[527] = I[528], I[528] = I[529], I[529] = I[530], I[530] = I[531], I[531] = I[532], I[532] = I[533], I[533] = I[534], I[534] = I[535], I[535] = I[536], I[536] = I[537], I[537] = I[538], I[538] = I[539], I[539] = I[540], I[540] = I[541] [...]
+ I[544] = I[545], I[545] = I[546], I[546] = I[547], I[547] = I[548], I[548] = I[549], I[549] = I[550], I[550] = I[551], I[551] = I[552], I[552] = I[553], I[553] = I[554], I[554] = I[555], I[555] = I[556], I[556] = I[557], I[557] = I[558], I[558] = I[559], I[559] = I[560], I[560] = I[561], I[561] = I[562], I[562] = I[563], I[563] = I[564], I[564] = I[565], I[565] = I[566], I[566] = I[567], I[567] = I[568], I[568] = I[569], I[569] = I[570], I[570] = I[571], I[571] = I[572], I[572] = I[573] [...]
+ I[576] = I[577], I[577] = I[578], I[578] = I[579], I[579] = I[580], I[580] = I[581], I[581] = I[582], I[582] = I[583], I[583] = I[584], I[584] = I[585], I[585] = I[586], I[586] = I[587], I[587] = I[588], I[588] = I[589], I[589] = I[590], I[590] = I[591], I[591] = I[592], I[592] = I[593], I[593] = I[594], I[594] = I[595], I[595] = I[596], I[596] = I[597], I[597] = I[598], I[598] = I[599], I[599] = I[600], I[600] = I[601], I[601] = I[602], I[602] = I[603], I[603] = I[604], I[604] = I[605] [...]
+ I[608] = I[609], I[609] = I[610], I[610] = I[611], I[611] = I[612], I[612] = I[613], I[613] = I[614], I[614] = I[615], I[615] = I[616], I[616] = I[617], I[617] = I[618], I[618] = I[619], I[619] = I[620], I[620] = I[621], I[621] = I[622], I[622] = I[623], I[623] = I[624], I[624] = I[625], I[625] = I[626], I[626] = I[627], I[627] = I[628], I[628] = I[629], I[629] = I[630], I[630] = I[631], I[631] = I[632], I[632] = I[633], I[633] = I[634], I[634] = I[635], I[635] = I[636], I[636] = I[637] [...]
+ I[640] = I[641], I[641] = I[642], I[642] = I[643], I[643] = I[644], I[644] = I[645], I[645] = I[646], I[646] = I[647], I[647] = I[648], I[648] = I[649], I[649] = I[650], I[650] = I[651], I[651] = I[652], I[652] = I[653], I[653] = I[654], I[654] = I[655], I[655] = I[656], I[656] = I[657], I[657] = I[658], I[658] = I[659], I[659] = I[660], I[660] = I[661], I[661] = I[662], I[662] = I[663], I[663] = I[664], I[664] = I[665], I[665] = I[666], I[666] = I[667], I[667] = I[668], I[668] = I[669] [...]
+ I[672] = I[673], I[673] = I[674], I[674] = I[675], I[675] = I[676], I[676] = I[677], I[677] = I[678], I[678] = I[679], I[679] = I[680], I[680] = I[681], I[681] = I[682], I[682] = I[683], I[683] = I[684], I[684] = I[685], I[685] = I[686], I[686] = I[687], I[687] = I[688], I[688] = I[689], I[689] = I[690], I[690] = I[691], I[691] = I[692], I[692] = I[693], I[693] = I[694], I[694] = I[695], I[695] = I[696], I[696] = I[697], I[697] = I[698], I[698] = I[699], I[699] = I[700], I[700] = I[701] [...]
+ I[704] = I[705], I[705] = I[706], I[706] = I[707], I[707] = I[708], I[708] = I[709], I[709] = I[710], I[710] = I[711], I[711] = I[712], I[712] = I[713], I[713] = I[714], I[714] = I[715], I[715] = I[716], I[716] = I[717], I[717] = I[718], I[718] = I[719], I[719] = I[720], I[720] = I[721], I[721] = I[722], I[722] = I[723], I[723] = I[724], I[724] = I[725], I[725] = I[726], I[726] = I[727], I[727] = I[728], I[728] = I[729], I[729] = I[730], I[730] = I[731], I[731] = I[732], I[732] = I[733] [...]
+ I[736] = I[737], I[737] = I[738], I[738] = I[739], I[739] = I[740], I[740] = I[741], I[741] = I[742], I[742] = I[743], I[743] = I[744], I[744] = I[745], I[745] = I[746], I[746] = I[747], I[747] = I[748], I[748] = I[749], I[749] = I[750], I[750] = I[751], I[751] = I[752], I[752] = I[753], I[753] = I[754], I[754] = I[755], I[755] = I[756], I[756] = I[757], I[757] = I[758], I[758] = I[759], I[759] = I[760], I[760] = I[761], I[761] = I[762], I[762] = I[763], I[763] = I[764], I[764] = I[765] [...]
+ I[768] = I[769], I[769] = I[770], I[770] = I[771], I[771] = I[772], I[772] = I[773], I[773] = I[774], I[774] = I[775], I[775] = I[776], I[776] = I[777], I[777] = I[778], I[778] = I[779], I[779] = I[780], I[780] = I[781], I[781] = I[782], I[782] = I[783], I[783] = I[784], I[784] = I[785], I[785] = I[786], I[786] = I[787], I[787] = I[788], I[788] = I[789], I[789] = I[790], I[790] = I[791], I[791] = I[792], I[792] = I[793], I[793] = I[794], I[794] = I[795], I[795] = I[796], I[796] = I[797] [...]
+ I[800] = I[801], I[801] = I[802], I[802] = I[803], I[803] = I[804], I[804] = I[805], I[805] = I[806], I[806] = I[807], I[807] = I[808], I[808] = I[809], I[809] = I[810], I[810] = I[811], I[811] = I[812], I[812] = I[813], I[813] = I[814], I[814] = I[815], I[815] = I[816], I[816] = I[817], I[817] = I[818], I[818] = I[819], I[819] = I[820], I[820] = I[821], I[821] = I[822], I[822] = I[823], I[823] = I[824], I[824] = I[825], I[825] = I[826], I[826] = I[827], I[827] = I[828], I[828] = I[829] [...]
+ I[832] = I[833], I[833] = I[834], I[834] = I[835], I[835] = I[836], I[836] = I[837], I[837] = I[838], I[838] = I[839], I[839] = I[840], I[840] = I[841], I[841] = I[842], I[842] = I[843], I[843] = I[844], I[844] = I[845], I[845] = I[846], I[846] = I[847], I[847] = I[848], I[848] = I[849], I[849] = I[850], I[850] = I[851], I[851] = I[852], I[852] = I[853], I[853] = I[854], I[854] = I[855], I[855] = I[856], I[856] = I[857], I[857] = I[858], I[858] = I[859], I[859] = I[860], I[860] = I[861] [...]
+ I[864] = I[865], I[865] = I[866], I[866] = I[867], I[867] = I[868], I[868] = I[869], I[869] = I[870], I[870] = I[871], I[871] = I[872], I[872] = I[873], I[873] = I[874], I[874] = I[875], I[875] = I[876], I[876] = I[877], I[877] = I[878], I[878] = I[879], I[879] = I[880], I[880] = I[881], I[881] = I[882], I[882] = I[883], I[883] = I[884], I[884] = I[885], I[885] = I[886], I[886] = I[887], I[887] = I[888], I[888] = I[889], I[889] = I[890], I[890] = I[891], I[891] = I[892], I[892] = I[893] [...]
+ I[896] = I[897], I[897] = I[898], I[898] = I[899], I[899] = I[900], I[900] = I[901], I[901] = I[902], I[902] = I[903], I[903] = I[904], I[904] = I[905], I[905] = I[906], I[906] = I[907], I[907] = I[908], I[908] = I[909], I[909] = I[910], I[910] = I[911], I[911] = I[912], I[912] = I[913], I[913] = I[914], I[914] = I[915], I[915] = I[916], I[916] = I[917], I[917] = I[918], I[918] = I[919], I[919] = I[920], I[920] = I[921], I[921] = I[922], I[922] = I[923], I[923] = I[924], I[924] = I[925] [...]
+ I[928] = I[929], I[929] = I[930], I[930] = I[931], I[931] = I[932], I[932] = I[933], I[933] = I[934], I[934] = I[935], I[935] = I[936], I[936] = I[937], I[937] = I[938], I[938] = I[939], I[939] = I[940], I[940] = I[941], I[941] = I[942], I[942] = I[943], I[943] = I[944], I[944] = I[945], I[945] = I[946], I[946] = I[947], I[947] = I[948], I[948] = I[949], I[949] = I[950], I[950] = I[951], I[951] = I[952], I[952] = I[953], I[953] = I[954], I[954] = I[955], I[955] = I[956], I[956] = I[957] [...]
+ I[960] = I[961], I[961] = I[962], I[962] = I[963], I[963] = I[964], I[964] = I[965], I[965] = I[966], I[966] = I[967], I[967] = I[968], I[968] = I[969], I[969] = I[970], I[970] = I[971], I[971] = I[972], I[972] = I[973], I[973] = I[974], I[974] = I[975], I[975] = I[976], I[976] = I[977], I[977] = I[978], I[978] = I[979], I[979] = I[980], I[980] = I[981], I[981] = I[982], I[982] = I[983], I[983] = I[984], I[984] = I[985], I[985] = I[986], I[986] = I[987], I[987] = I[988], I[988] = I[989] [...]
+ I[992] = I[993], I[993] = I[994], I[994] = I[995], I[995] = I[996], I[996] = I[997], I[997] = I[998], I[998] = I[999], I[999] = I[1000], I[1000] = I[1001], I[1001] = I[1002], I[1002] = I[1003], I[1003] = I[1004], I[1004] = I[1005], I[1005] = I[1006], I[1006] = I[1007], I[1007] = I[1008], I[1008] = I[1009], I[1009] = I[1010], I[1010] = I[1011], I[1011] = I[1012], I[1012] = I[1013], I[1013] = I[1014], I[1014] = I[1015], I[1015] = I[1016], I[1016] = I[1017], I[1017] = I[1018], I[1018] = I[ [...]
+ _p15##x = _p14##x, _p14##x = _p13##x, _p13##x = _p12##x, _p12##x = _p11##x, _p11##x = _p10##x, _p10##x = _p9##x, _p9##x = _p8##x, _p8##x = _p7##x, _p7##x = _p6##x, _p6##x = _p5##x, _p5##x = _p4##x, _p4##x = _p3##x, _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x, ++_n5##x, ++_n6##x, ++_n7##x, ++_n8##x, ++_n9##x, ++_n10##x, ++_n11##x, ++_n12##x, ++_n13##x, ++_n14##x, ++_n15##x, ++_n16##x)
+
+#define cimg_get32x32(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p15##x,_p15##y,z,c), I[1] = (T)(img)(_p14##x,_p15##y,z,c), I[2] = (T)(img)(_p13##x,_p15##y,z,c), I[3] = (T)(img)(_p12##x,_p15##y,z,c), I[4] = (T)(img)(_p11##x,_p15##y,z,c), I[5] = (T)(img)(_p10##x,_p15##y,z,c), I[6] = (T)(img)(_p9##x,_p15##y,z,c), I[7] = (T)(img)(_p8##x,_p15##y,z,c), I[8] = (T)(img)(_p7##x,_p15##y,z,c), I[9] = (T)(img)(_p6##x,_p15##y,z,c), I[10] = (T)(img)(_p5##x,_p15##y,z,c), I[11] = (T)(img)(_p4##x,_p15##y,z,c), I[12] = (T)(img)(_p3##x,_p15##y,z,c), I [...]
+ I[32] = (T)(img)(_p15##x,_p14##y,z,c), I[33] = (T)(img)(_p14##x,_p14##y,z,c), I[34] = (T)(img)(_p13##x,_p14##y,z,c), I[35] = (T)(img)(_p12##x,_p14##y,z,c), I[36] = (T)(img)(_p11##x,_p14##y,z,c), I[37] = (T)(img)(_p10##x,_p14##y,z,c), I[38] = (T)(img)(_p9##x,_p14##y,z,c), I[39] = (T)(img)(_p8##x,_p14##y,z,c), I[40] = (T)(img)(_p7##x,_p14##y,z,c), I[41] = (T)(img)(_p6##x,_p14##y,z,c), I[42] = (T)(img)(_p5##x,_p14##y,z,c), I[43] = (T)(img)(_p4##x,_p14##y,z,c), I[44] = (T)(img)(_p3##x,_p14# [...]
+ I[64] = (T)(img)(_p15##x,_p13##y,z,c), I[65] = (T)(img)(_p14##x,_p13##y,z,c), I[66] = (T)(img)(_p13##x,_p13##y,z,c), I[67] = (T)(img)(_p12##x,_p13##y,z,c), I[68] = (T)(img)(_p11##x,_p13##y,z,c), I[69] = (T)(img)(_p10##x,_p13##y,z,c), I[70] = (T)(img)(_p9##x,_p13##y,z,c), I[71] = (T)(img)(_p8##x,_p13##y,z,c), I[72] = (T)(img)(_p7##x,_p13##y,z,c), I[73] = (T)(img)(_p6##x,_p13##y,z,c), I[74] = (T)(img)(_p5##x,_p13##y,z,c), I[75] = (T)(img)(_p4##x,_p13##y,z,c), I[76] = (T)(img)(_p3##x,_p13# [...]
+ I[96] = (T)(img)(_p15##x,_p12##y,z,c), I[97] = (T)(img)(_p14##x,_p12##y,z,c), I[98] = (T)(img)(_p13##x,_p12##y,z,c), I[99] = (T)(img)(_p12##x,_p12##y,z,c), I[100] = (T)(img)(_p11##x,_p12##y,z,c), I[101] = (T)(img)(_p10##x,_p12##y,z,c), I[102] = (T)(img)(_p9##x,_p12##y,z,c), I[103] = (T)(img)(_p8##x,_p12##y,z,c), I[104] = (T)(img)(_p7##x,_p12##y,z,c), I[105] = (T)(img)(_p6##x,_p12##y,z,c), I[106] = (T)(img)(_p5##x,_p12##y,z,c), I[107] = (T)(img)(_p4##x,_p12##y,z,c), I[108] = (T)(img)(_p3 [...]
+ I[128] = (T)(img)(_p15##x,_p11##y,z,c), I[129] = (T)(img)(_p14##x,_p11##y,z,c), I[130] = (T)(img)(_p13##x,_p11##y,z,c), I[131] = (T)(img)(_p12##x,_p11##y,z,c), I[132] = (T)(img)(_p11##x,_p11##y,z,c), I[133] = (T)(img)(_p10##x,_p11##y,z,c), I[134] = (T)(img)(_p9##x,_p11##y,z,c), I[135] = (T)(img)(_p8##x,_p11##y,z,c), I[136] = (T)(img)(_p7##x,_p11##y,z,c), I[137] = (T)(img)(_p6##x,_p11##y,z,c), I[138] = (T)(img)(_p5##x,_p11##y,z,c), I[139] = (T)(img)(_p4##x,_p11##y,z,c), I[140] = (T)(img) [...]
+ I[160] = (T)(img)(_p15##x,_p10##y,z,c), I[161] = (T)(img)(_p14##x,_p10##y,z,c), I[162] = (T)(img)(_p13##x,_p10##y,z,c), I[163] = (T)(img)(_p12##x,_p10##y,z,c), I[164] = (T)(img)(_p11##x,_p10##y,z,c), I[165] = (T)(img)(_p10##x,_p10##y,z,c), I[166] = (T)(img)(_p9##x,_p10##y,z,c), I[167] = (T)(img)(_p8##x,_p10##y,z,c), I[168] = (T)(img)(_p7##x,_p10##y,z,c), I[169] = (T)(img)(_p6##x,_p10##y,z,c), I[170] = (T)(img)(_p5##x,_p10##y,z,c), I[171] = (T)(img)(_p4##x,_p10##y,z,c), I[172] = (T)(img) [...]
+ I[192] = (T)(img)(_p15##x,_p9##y,z,c), I[193] = (T)(img)(_p14##x,_p9##y,z,c), I[194] = (T)(img)(_p13##x,_p9##y,z,c), I[195] = (T)(img)(_p12##x,_p9##y,z,c), I[196] = (T)(img)(_p11##x,_p9##y,z,c), I[197] = (T)(img)(_p10##x,_p9##y,z,c), I[198] = (T)(img)(_p9##x,_p9##y,z,c), I[199] = (T)(img)(_p8##x,_p9##y,z,c), I[200] = (T)(img)(_p7##x,_p9##y,z,c), I[201] = (T)(img)(_p6##x,_p9##y,z,c), I[202] = (T)(img)(_p5##x,_p9##y,z,c), I[203] = (T)(img)(_p4##x,_p9##y,z,c), I[204] = (T)(img)(_p3##x,_p9# [...]
+ I[224] = (T)(img)(_p15##x,_p8##y,z,c), I[225] = (T)(img)(_p14##x,_p8##y,z,c), I[226] = (T)(img)(_p13##x,_p8##y,z,c), I[227] = (T)(img)(_p12##x,_p8##y,z,c), I[228] = (T)(img)(_p11##x,_p8##y,z,c), I[229] = (T)(img)(_p10##x,_p8##y,z,c), I[230] = (T)(img)(_p9##x,_p8##y,z,c), I[231] = (T)(img)(_p8##x,_p8##y,z,c), I[232] = (T)(img)(_p7##x,_p8##y,z,c), I[233] = (T)(img)(_p6##x,_p8##y,z,c), I[234] = (T)(img)(_p5##x,_p8##y,z,c), I[235] = (T)(img)(_p4##x,_p8##y,z,c), I[236] = (T)(img)(_p3##x,_p8# [...]
+ I[256] = (T)(img)(_p15##x,_p7##y,z,c), I[257] = (T)(img)(_p14##x,_p7##y,z,c), I[258] = (T)(img)(_p13##x,_p7##y,z,c), I[259] = (T)(img)(_p12##x,_p7##y,z,c), I[260] = (T)(img)(_p11##x,_p7##y,z,c), I[261] = (T)(img)(_p10##x,_p7##y,z,c), I[262] = (T)(img)(_p9##x,_p7##y,z,c), I[263] = (T)(img)(_p8##x,_p7##y,z,c), I[264] = (T)(img)(_p7##x,_p7##y,z,c), I[265] = (T)(img)(_p6##x,_p7##y,z,c), I[266] = (T)(img)(_p5##x,_p7##y,z,c), I[267] = (T)(img)(_p4##x,_p7##y,z,c), I[268] = (T)(img)(_p3##x,_p7# [...]
+ I[288] = (T)(img)(_p15##x,_p6##y,z,c), I[289] = (T)(img)(_p14##x,_p6##y,z,c), I[290] = (T)(img)(_p13##x,_p6##y,z,c), I[291] = (T)(img)(_p12##x,_p6##y,z,c), I[292] = (T)(img)(_p11##x,_p6##y,z,c), I[293] = (T)(img)(_p10##x,_p6##y,z,c), I[294] = (T)(img)(_p9##x,_p6##y,z,c), I[295] = (T)(img)(_p8##x,_p6##y,z,c), I[296] = (T)(img)(_p7##x,_p6##y,z,c), I[297] = (T)(img)(_p6##x,_p6##y,z,c), I[298] = (T)(img)(_p5##x,_p6##y,z,c), I[299] = (T)(img)(_p4##x,_p6##y,z,c), I[300] = (T)(img)(_p3##x,_p6# [...]
+ I[320] = (T)(img)(_p15##x,_p5##y,z,c), I[321] = (T)(img)(_p14##x,_p5##y,z,c), I[322] = (T)(img)(_p13##x,_p5##y,z,c), I[323] = (T)(img)(_p12##x,_p5##y,z,c), I[324] = (T)(img)(_p11##x,_p5##y,z,c), I[325] = (T)(img)(_p10##x,_p5##y,z,c), I[326] = (T)(img)(_p9##x,_p5##y,z,c), I[327] = (T)(img)(_p8##x,_p5##y,z,c), I[328] = (T)(img)(_p7##x,_p5##y,z,c), I[329] = (T)(img)(_p6##x,_p5##y,z,c), I[330] = (T)(img)(_p5##x,_p5##y,z,c), I[331] = (T)(img)(_p4##x,_p5##y,z,c), I[332] = (T)(img)(_p3##x,_p5# [...]
+ I[352] = (T)(img)(_p15##x,_p4##y,z,c), I[353] = (T)(img)(_p14##x,_p4##y,z,c), I[354] = (T)(img)(_p13##x,_p4##y,z,c), I[355] = (T)(img)(_p12##x,_p4##y,z,c), I[356] = (T)(img)(_p11##x,_p4##y,z,c), I[357] = (T)(img)(_p10##x,_p4##y,z,c), I[358] = (T)(img)(_p9##x,_p4##y,z,c), I[359] = (T)(img)(_p8##x,_p4##y,z,c), I[360] = (T)(img)(_p7##x,_p4##y,z,c), I[361] = (T)(img)(_p6##x,_p4##y,z,c), I[362] = (T)(img)(_p5##x,_p4##y,z,c), I[363] = (T)(img)(_p4##x,_p4##y,z,c), I[364] = (T)(img)(_p3##x,_p4# [...]
+ I[384] = (T)(img)(_p15##x,_p3##y,z,c), I[385] = (T)(img)(_p14##x,_p3##y,z,c), I[386] = (T)(img)(_p13##x,_p3##y,z,c), I[387] = (T)(img)(_p12##x,_p3##y,z,c), I[388] = (T)(img)(_p11##x,_p3##y,z,c), I[389] = (T)(img)(_p10##x,_p3##y,z,c), I[390] = (T)(img)(_p9##x,_p3##y,z,c), I[391] = (T)(img)(_p8##x,_p3##y,z,c), I[392] = (T)(img)(_p7##x,_p3##y,z,c), I[393] = (T)(img)(_p6##x,_p3##y,z,c), I[394] = (T)(img)(_p5##x,_p3##y,z,c), I[395] = (T)(img)(_p4##x,_p3##y,z,c), I[396] = (T)(img)(_p3##x,_p3# [...]
+ I[416] = (T)(img)(_p15##x,_p2##y,z,c), I[417] = (T)(img)(_p14##x,_p2##y,z,c), I[418] = (T)(img)(_p13##x,_p2##y,z,c), I[419] = (T)(img)(_p12##x,_p2##y,z,c), I[420] = (T)(img)(_p11##x,_p2##y,z,c), I[421] = (T)(img)(_p10##x,_p2##y,z,c), I[422] = (T)(img)(_p9##x,_p2##y,z,c), I[423] = (T)(img)(_p8##x,_p2##y,z,c), I[424] = (T)(img)(_p7##x,_p2##y,z,c), I[425] = (T)(img)(_p6##x,_p2##y,z,c), I[426] = (T)(img)(_p5##x,_p2##y,z,c), I[427] = (T)(img)(_p4##x,_p2##y,z,c), I[428] = (T)(img)(_p3##x,_p2# [...]
+ I[448] = (T)(img)(_p15##x,_p1##y,z,c), I[449] = (T)(img)(_p14##x,_p1##y,z,c), I[450] = (T)(img)(_p13##x,_p1##y,z,c), I[451] = (T)(img)(_p12##x,_p1##y,z,c), I[452] = (T)(img)(_p11##x,_p1##y,z,c), I[453] = (T)(img)(_p10##x,_p1##y,z,c), I[454] = (T)(img)(_p9##x,_p1##y,z,c), I[455] = (T)(img)(_p8##x,_p1##y,z,c), I[456] = (T)(img)(_p7##x,_p1##y,z,c), I[457] = (T)(img)(_p6##x,_p1##y,z,c), I[458] = (T)(img)(_p5##x,_p1##y,z,c), I[459] = (T)(img)(_p4##x,_p1##y,z,c), I[460] = (T)(img)(_p3##x,_p1# [...]
+ I[480] = (T)(img)(_p15##x,y,z,c), I[481] = (T)(img)(_p14##x,y,z,c), I[482] = (T)(img)(_p13##x,y,z,c), I[483] = (T)(img)(_p12##x,y,z,c), I[484] = (T)(img)(_p11##x,y,z,c), I[485] = (T)(img)(_p10##x,y,z,c), I[486] = (T)(img)(_p9##x,y,z,c), I[487] = (T)(img)(_p8##x,y,z,c), I[488] = (T)(img)(_p7##x,y,z,c), I[489] = (T)(img)(_p6##x,y,z,c), I[490] = (T)(img)(_p5##x,y,z,c), I[491] = (T)(img)(_p4##x,y,z,c), I[492] = (T)(img)(_p3##x,y,z,c), I[493] = (T)(img)(_p2##x,y,z,c), I[494] = (T)(img)(_p1## [...]
+ I[512] = (T)(img)(_p15##x,_n1##y,z,c), I[513] = (T)(img)(_p14##x,_n1##y,z,c), I[514] = (T)(img)(_p13##x,_n1##y,z,c), I[515] = (T)(img)(_p12##x,_n1##y,z,c), I[516] = (T)(img)(_p11##x,_n1##y,z,c), I[517] = (T)(img)(_p10##x,_n1##y,z,c), I[518] = (T)(img)(_p9##x,_n1##y,z,c), I[519] = (T)(img)(_p8##x,_n1##y,z,c), I[520] = (T)(img)(_p7##x,_n1##y,z,c), I[521] = (T)(img)(_p6##x,_n1##y,z,c), I[522] = (T)(img)(_p5##x,_n1##y,z,c), I[523] = (T)(img)(_p4##x,_n1##y,z,c), I[524] = (T)(img)(_p3##x,_n1# [...]
+ I[544] = (T)(img)(_p15##x,_n2##y,z,c), I[545] = (T)(img)(_p14##x,_n2##y,z,c), I[546] = (T)(img)(_p13##x,_n2##y,z,c), I[547] = (T)(img)(_p12##x,_n2##y,z,c), I[548] = (T)(img)(_p11##x,_n2##y,z,c), I[549] = (T)(img)(_p10##x,_n2##y,z,c), I[550] = (T)(img)(_p9##x,_n2##y,z,c), I[551] = (T)(img)(_p8##x,_n2##y,z,c), I[552] = (T)(img)(_p7##x,_n2##y,z,c), I[553] = (T)(img)(_p6##x,_n2##y,z,c), I[554] = (T)(img)(_p5##x,_n2##y,z,c), I[555] = (T)(img)(_p4##x,_n2##y,z,c), I[556] = (T)(img)(_p3##x,_n2# [...]
+ I[576] = (T)(img)(_p15##x,_n3##y,z,c), I[577] = (T)(img)(_p14##x,_n3##y,z,c), I[578] = (T)(img)(_p13##x,_n3##y,z,c), I[579] = (T)(img)(_p12##x,_n3##y,z,c), I[580] = (T)(img)(_p11##x,_n3##y,z,c), I[581] = (T)(img)(_p10##x,_n3##y,z,c), I[582] = (T)(img)(_p9##x,_n3##y,z,c), I[583] = (T)(img)(_p8##x,_n3##y,z,c), I[584] = (T)(img)(_p7##x,_n3##y,z,c), I[585] = (T)(img)(_p6##x,_n3##y,z,c), I[586] = (T)(img)(_p5##x,_n3##y,z,c), I[587] = (T)(img)(_p4##x,_n3##y,z,c), I[588] = (T)(img)(_p3##x,_n3# [...]
+ I[608] = (T)(img)(_p15##x,_n4##y,z,c), I[609] = (T)(img)(_p14##x,_n4##y,z,c), I[610] = (T)(img)(_p13##x,_n4##y,z,c), I[611] = (T)(img)(_p12##x,_n4##y,z,c), I[612] = (T)(img)(_p11##x,_n4##y,z,c), I[613] = (T)(img)(_p10##x,_n4##y,z,c), I[614] = (T)(img)(_p9##x,_n4##y,z,c), I[615] = (T)(img)(_p8##x,_n4##y,z,c), I[616] = (T)(img)(_p7##x,_n4##y,z,c), I[617] = (T)(img)(_p6##x,_n4##y,z,c), I[618] = (T)(img)(_p5##x,_n4##y,z,c), I[619] = (T)(img)(_p4##x,_n4##y,z,c), I[620] = (T)(img)(_p3##x,_n4# [...]
+ I[640] = (T)(img)(_p15##x,_n5##y,z,c), I[641] = (T)(img)(_p14##x,_n5##y,z,c), I[642] = (T)(img)(_p13##x,_n5##y,z,c), I[643] = (T)(img)(_p12##x,_n5##y,z,c), I[644] = (T)(img)(_p11##x,_n5##y,z,c), I[645] = (T)(img)(_p10##x,_n5##y,z,c), I[646] = (T)(img)(_p9##x,_n5##y,z,c), I[647] = (T)(img)(_p8##x,_n5##y,z,c), I[648] = (T)(img)(_p7##x,_n5##y,z,c), I[649] = (T)(img)(_p6##x,_n5##y,z,c), I[650] = (T)(img)(_p5##x,_n5##y,z,c), I[651] = (T)(img)(_p4##x,_n5##y,z,c), I[652] = (T)(img)(_p3##x,_n5# [...]
+ I[672] = (T)(img)(_p15##x,_n6##y,z,c), I[673] = (T)(img)(_p14##x,_n6##y,z,c), I[674] = (T)(img)(_p13##x,_n6##y,z,c), I[675] = (T)(img)(_p12##x,_n6##y,z,c), I[676] = (T)(img)(_p11##x,_n6##y,z,c), I[677] = (T)(img)(_p10##x,_n6##y,z,c), I[678] = (T)(img)(_p9##x,_n6##y,z,c), I[679] = (T)(img)(_p8##x,_n6##y,z,c), I[680] = (T)(img)(_p7##x,_n6##y,z,c), I[681] = (T)(img)(_p6##x,_n6##y,z,c), I[682] = (T)(img)(_p5##x,_n6##y,z,c), I[683] = (T)(img)(_p4##x,_n6##y,z,c), I[684] = (T)(img)(_p3##x,_n6# [...]
+ I[704] = (T)(img)(_p15##x,_n7##y,z,c), I[705] = (T)(img)(_p14##x,_n7##y,z,c), I[706] = (T)(img)(_p13##x,_n7##y,z,c), I[707] = (T)(img)(_p12##x,_n7##y,z,c), I[708] = (T)(img)(_p11##x,_n7##y,z,c), I[709] = (T)(img)(_p10##x,_n7##y,z,c), I[710] = (T)(img)(_p9##x,_n7##y,z,c), I[711] = (T)(img)(_p8##x,_n7##y,z,c), I[712] = (T)(img)(_p7##x,_n7##y,z,c), I[713] = (T)(img)(_p6##x,_n7##y,z,c), I[714] = (T)(img)(_p5##x,_n7##y,z,c), I[715] = (T)(img)(_p4##x,_n7##y,z,c), I[716] = (T)(img)(_p3##x,_n7# [...]
+ I[736] = (T)(img)(_p15##x,_n8##y,z,c), I[737] = (T)(img)(_p14##x,_n8##y,z,c), I[738] = (T)(img)(_p13##x,_n8##y,z,c), I[739] = (T)(img)(_p12##x,_n8##y,z,c), I[740] = (T)(img)(_p11##x,_n8##y,z,c), I[741] = (T)(img)(_p10##x,_n8##y,z,c), I[742] = (T)(img)(_p9##x,_n8##y,z,c), I[743] = (T)(img)(_p8##x,_n8##y,z,c), I[744] = (T)(img)(_p7##x,_n8##y,z,c), I[745] = (T)(img)(_p6##x,_n8##y,z,c), I[746] = (T)(img)(_p5##x,_n8##y,z,c), I[747] = (T)(img)(_p4##x,_n8##y,z,c), I[748] = (T)(img)(_p3##x,_n8# [...]
+ I[768] = (T)(img)(_p15##x,_n9##y,z,c), I[769] = (T)(img)(_p14##x,_n9##y,z,c), I[770] = (T)(img)(_p13##x,_n9##y,z,c), I[771] = (T)(img)(_p12##x,_n9##y,z,c), I[772] = (T)(img)(_p11##x,_n9##y,z,c), I[773] = (T)(img)(_p10##x,_n9##y,z,c), I[774] = (T)(img)(_p9##x,_n9##y,z,c), I[775] = (T)(img)(_p8##x,_n9##y,z,c), I[776] = (T)(img)(_p7##x,_n9##y,z,c), I[777] = (T)(img)(_p6##x,_n9##y,z,c), I[778] = (T)(img)(_p5##x,_n9##y,z,c), I[779] = (T)(img)(_p4##x,_n9##y,z,c), I[780] = (T)(img)(_p3##x,_n9# [...]
+ I[800] = (T)(img)(_p15##x,_n10##y,z,c), I[801] = (T)(img)(_p14##x,_n10##y,z,c), I[802] = (T)(img)(_p13##x,_n10##y,z,c), I[803] = (T)(img)(_p12##x,_n10##y,z,c), I[804] = (T)(img)(_p11##x,_n10##y,z,c), I[805] = (T)(img)(_p10##x,_n10##y,z,c), I[806] = (T)(img)(_p9##x,_n10##y,z,c), I[807] = (T)(img)(_p8##x,_n10##y,z,c), I[808] = (T)(img)(_p7##x,_n10##y,z,c), I[809] = (T)(img)(_p6##x,_n10##y,z,c), I[810] = (T)(img)(_p5##x,_n10##y,z,c), I[811] = (T)(img)(_p4##x,_n10##y,z,c), I[812] = (T)(img) [...]
+ I[832] = (T)(img)(_p15##x,_n11##y,z,c), I[833] = (T)(img)(_p14##x,_n11##y,z,c), I[834] = (T)(img)(_p13##x,_n11##y,z,c), I[835] = (T)(img)(_p12##x,_n11##y,z,c), I[836] = (T)(img)(_p11##x,_n11##y,z,c), I[837] = (T)(img)(_p10##x,_n11##y,z,c), I[838] = (T)(img)(_p9##x,_n11##y,z,c), I[839] = (T)(img)(_p8##x,_n11##y,z,c), I[840] = (T)(img)(_p7##x,_n11##y,z,c), I[841] = (T)(img)(_p6##x,_n11##y,z,c), I[842] = (T)(img)(_p5##x,_n11##y,z,c), I[843] = (T)(img)(_p4##x,_n11##y,z,c), I[844] = (T)(img) [...]
+ I[864] = (T)(img)(_p15##x,_n12##y,z,c), I[865] = (T)(img)(_p14##x,_n12##y,z,c), I[866] = (T)(img)(_p13##x,_n12##y,z,c), I[867] = (T)(img)(_p12##x,_n12##y,z,c), I[868] = (T)(img)(_p11##x,_n12##y,z,c), I[869] = (T)(img)(_p10##x,_n12##y,z,c), I[870] = (T)(img)(_p9##x,_n12##y,z,c), I[871] = (T)(img)(_p8##x,_n12##y,z,c), I[872] = (T)(img)(_p7##x,_n12##y,z,c), I[873] = (T)(img)(_p6##x,_n12##y,z,c), I[874] = (T)(img)(_p5##x,_n12##y,z,c), I[875] = (T)(img)(_p4##x,_n12##y,z,c), I[876] = (T)(img) [...]
+ I[896] = (T)(img)(_p15##x,_n13##y,z,c), I[897] = (T)(img)(_p14##x,_n13##y,z,c), I[898] = (T)(img)(_p13##x,_n13##y,z,c), I[899] = (T)(img)(_p12##x,_n13##y,z,c), I[900] = (T)(img)(_p11##x,_n13##y,z,c), I[901] = (T)(img)(_p10##x,_n13##y,z,c), I[902] = (T)(img)(_p9##x,_n13##y,z,c), I[903] = (T)(img)(_p8##x,_n13##y,z,c), I[904] = (T)(img)(_p7##x,_n13##y,z,c), I[905] = (T)(img)(_p6##x,_n13##y,z,c), I[906] = (T)(img)(_p5##x,_n13##y,z,c), I[907] = (T)(img)(_p4##x,_n13##y,z,c), I[908] = (T)(img) [...]
+ I[928] = (T)(img)(_p15##x,_n14##y,z,c), I[929] = (T)(img)(_p14##x,_n14##y,z,c), I[930] = (T)(img)(_p13##x,_n14##y,z,c), I[931] = (T)(img)(_p12##x,_n14##y,z,c), I[932] = (T)(img)(_p11##x,_n14##y,z,c), I[933] = (T)(img)(_p10##x,_n14##y,z,c), I[934] = (T)(img)(_p9##x,_n14##y,z,c), I[935] = (T)(img)(_p8##x,_n14##y,z,c), I[936] = (T)(img)(_p7##x,_n14##y,z,c), I[937] = (T)(img)(_p6##x,_n14##y,z,c), I[938] = (T)(img)(_p5##x,_n14##y,z,c), I[939] = (T)(img)(_p4##x,_n14##y,z,c), I[940] = (T)(img) [...]
+ I[960] = (T)(img)(_p15##x,_n15##y,z,c), I[961] = (T)(img)(_p14##x,_n15##y,z,c), I[962] = (T)(img)(_p13##x,_n15##y,z,c), I[963] = (T)(img)(_p12##x,_n15##y,z,c), I[964] = (T)(img)(_p11##x,_n15##y,z,c), I[965] = (T)(img)(_p10##x,_n15##y,z,c), I[966] = (T)(img)(_p9##x,_n15##y,z,c), I[967] = (T)(img)(_p8##x,_n15##y,z,c), I[968] = (T)(img)(_p7##x,_n15##y,z,c), I[969] = (T)(img)(_p6##x,_n15##y,z,c), I[970] = (T)(img)(_p5##x,_n15##y,z,c), I[971] = (T)(img)(_p4##x,_n15##y,z,c), I[972] = (T)(img) [...]
+ I[992] = (T)(img)(_p15##x,_n16##y,z,c), I[993] = (T)(img)(_p14##x,_n16##y,z,c), I[994] = (T)(img)(_p13##x,_n16##y,z,c), I[995] = (T)(img)(_p12##x,_n16##y,z,c), I[996] = (T)(img)(_p11##x,_n16##y,z,c), I[997] = (T)(img)(_p10##x,_n16##y,z,c), I[998] = (T)(img)(_p9##x,_n16##y,z,c), I[999] = (T)(img)(_p8##x,_n16##y,z,c), I[1000] = (T)(img)(_p7##x,_n16##y,z,c), I[1001] = (T)(img)(_p6##x,_n16##y,z,c), I[1002] = (T)(img)(_p5##x,_n16##y,z,c), I[1003] = (T)(img)(_p4##x,_n16##y,z,c), I[1004] = (T) [...]
+
+// Define 4x4x4 loop macros
+//----------------------------
+#define cimg_for4x4x4(img,x,y,z,c,I,T) \
+ cimg_for4((img)._depth,z) cimg_for4((img)._height,y) for (int x = 0, \
+ _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = (int)( \
+ (I[0] = I[1] = (T)(img)(0,_p1##y,_p1##z,c)), \
+ (I[4] = I[5] = (T)(img)(0,y,_p1##z,c)), \
+ (I[8] = I[9] = (T)(img)(0,_n1##y,_p1##z,c)), \
+ (I[12] = I[13] = (T)(img)(0,_n2##y,_p1##z,c)), \
+ (I[16] = I[17] = (T)(img)(0,_p1##y,z,c)), \
+ (I[20] = I[21] = (T)(img)(0,y,z,c)), \
+ (I[24] = I[25] = (T)(img)(0,_n1##y,z,c)), \
+ (I[28] = I[29] = (T)(img)(0,_n2##y,z,c)), \
+ (I[32] = I[33] = (T)(img)(0,_p1##y,_n1##z,c)), \
+ (I[36] = I[37] = (T)(img)(0,y,_n1##z,c)), \
+ (I[40] = I[41] = (T)(img)(0,_n1##y,_n1##z,c)), \
+ (I[44] = I[45] = (T)(img)(0,_n2##y,_n1##z,c)), \
+ (I[48] = I[49] = (T)(img)(0,_p1##y,_n2##z,c)), \
+ (I[52] = I[53] = (T)(img)(0,y,_n2##z,c)), \
+ (I[56] = I[57] = (T)(img)(0,_n1##y,_n2##z,c)), \
+ (I[60] = I[61] = (T)(img)(0,_n2##y,_n2##z,c)), \
+ (I[2] = (T)(img)(_n1##x,_p1##y,_p1##z,c)), \
+ (I[6] = (T)(img)(_n1##x,y,_p1##z,c)), \
+ (I[10] = (T)(img)(_n1##x,_n1##y,_p1##z,c)), \
+ (I[14] = (T)(img)(_n1##x,_n2##y,_p1##z,c)), \
+ (I[18] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[22] = (T)(img)(_n1##x,y,z,c)), \
+ (I[26] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[30] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[34] = (T)(img)(_n1##x,_p1##y,_n1##z,c)), \
+ (I[38] = (T)(img)(_n1##x,y,_n1##z,c)), \
+ (I[42] = (T)(img)(_n1##x,_n1##y,_n1##z,c)), \
+ (I[46] = (T)(img)(_n1##x,_n2##y,_n1##z,c)), \
+ (I[50] = (T)(img)(_n1##x,_p1##y,_n2##z,c)), \
+ (I[54] = (T)(img)(_n1##x,y,_n2##z,c)), \
+ (I[58] = (T)(img)(_n1##x,_n1##y,_n2##z,c)), \
+ (I[62] = (T)(img)(_n1##x,_n2##y,_n2##z,c)), \
+ 2>=((img)._width)?(img).width() - 1:2); \
+ (_n2##x<(img).width() && ( \
+ (I[3] = (T)(img)(_n2##x,_p1##y,_p1##z,c)), \
+ (I[7] = (T)(img)(_n2##x,y,_p1##z,c)), \
+ (I[11] = (T)(img)(_n2##x,_n1##y,_p1##z,c)), \
+ (I[15] = (T)(img)(_n2##x,_n2##y,_p1##z,c)), \
+ (I[19] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[23] = (T)(img)(_n2##x,y,z,c)), \
+ (I[27] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[31] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[35] = (T)(img)(_n2##x,_p1##y,_n1##z,c)), \
+ (I[39] = (T)(img)(_n2##x,y,_n1##z,c)), \
+ (I[43] = (T)(img)(_n2##x,_n1##y,_n1##z,c)), \
+ (I[47] = (T)(img)(_n2##x,_n2##y,_n1##z,c)), \
+ (I[51] = (T)(img)(_n2##x,_p1##y,_n2##z,c)), \
+ (I[55] = (T)(img)(_n2##x,y,_n2##z,c)), \
+ (I[59] = (T)(img)(_n2##x,_n1##y,_n2##z,c)), \
+ (I[63] = (T)(img)(_n2##x,_n2##y,_n2##z,c)),1)) || \
+ _n1##x==--_n2##x || x==(_n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], \
+ I[4] = I[5], I[5] = I[6], I[6] = I[7], \
+ I[8] = I[9], I[9] = I[10], I[10] = I[11], \
+ I[12] = I[13], I[13] = I[14], I[14] = I[15], \
+ I[16] = I[17], I[17] = I[18], I[18] = I[19], \
+ I[20] = I[21], I[21] = I[22], I[22] = I[23], \
+ I[24] = I[25], I[25] = I[26], I[26] = I[27], \
+ I[28] = I[29], I[29] = I[30], I[30] = I[31], \
+ I[32] = I[33], I[33] = I[34], I[34] = I[35], \
+ I[36] = I[37], I[37] = I[38], I[38] = I[39], \
+ I[40] = I[41], I[41] = I[42], I[42] = I[43], \
+ I[44] = I[45], I[45] = I[46], I[46] = I[47], \
+ I[48] = I[49], I[49] = I[50], I[50] = I[51], \
+ I[52] = I[53], I[53] = I[54], I[54] = I[55], \
+ I[56] = I[57], I[57] = I[58], I[58] = I[59], \
+ I[60] = I[61], I[61] = I[62], I[62] = I[63], \
+ _p1##x = x++, ++_n1##x, ++_n2##x)
+
+#define cimg_for_in4x4x4(img,x0,y0,z0,x1,y1,z1,x,y,z,c,I,T) \
+ cimg_for_in4((img)._depth,z0,z1,z) cimg_for_in4((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = (int)( \
+ (I[0] = (T)(img)(_p1##x,_p1##y,_p1##z,c)), \
+ (I[4] = (T)(img)(_p1##x,y,_p1##z,c)), \
+ (I[8] = (T)(img)(_p1##x,_n1##y,_p1##z,c)), \
+ (I[12] = (T)(img)(_p1##x,_n2##y,_p1##z,c)), \
+ (I[16] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[20] = (T)(img)(_p1##x,y,z,c)), \
+ (I[24] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[28] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[32] = (T)(img)(_p1##x,_p1##y,_n1##z,c)), \
+ (I[36] = (T)(img)(_p1##x,y,_n1##z,c)), \
+ (I[40] = (T)(img)(_p1##x,_n1##y,_n1##z,c)), \
+ (I[44] = (T)(img)(_p1##x,_n2##y,_n1##z,c)), \
+ (I[48] = (T)(img)(_p1##x,_p1##y,_n2##z,c)), \
+ (I[52] = (T)(img)(_p1##x,y,_n2##z,c)), \
+ (I[56] = (T)(img)(_p1##x,_n1##y,_n2##z,c)), \
+ (I[60] = (T)(img)(_p1##x,_n2##y,_n2##z,c)), \
+ (I[1] = (T)(img)(x,_p1##y,_p1##z,c)), \
+ (I[5] = (T)(img)(x,y,_p1##z,c)), \
+ (I[9] = (T)(img)(x,_n1##y,_p1##z,c)), \
+ (I[13] = (T)(img)(x,_n2##y,_p1##z,c)), \
+ (I[17] = (T)(img)(x,_p1##y,z,c)), \
+ (I[21] = (T)(img)(x,y,z,c)), \
+ (I[25] = (T)(img)(x,_n1##y,z,c)), \
+ (I[29] = (T)(img)(x,_n2##y,z,c)), \
+ (I[33] = (T)(img)(x,_p1##y,_n1##z,c)), \
+ (I[37] = (T)(img)(x,y,_n1##z,c)), \
+ (I[41] = (T)(img)(x,_n1##y,_n1##z,c)), \
+ (I[45] = (T)(img)(x,_n2##y,_n1##z,c)), \
+ (I[49] = (T)(img)(x,_p1##y,_n2##z,c)), \
+ (I[53] = (T)(img)(x,y,_n2##z,c)), \
+ (I[57] = (T)(img)(x,_n1##y,_n2##z,c)), \
+ (I[61] = (T)(img)(x,_n2##y,_n2##z,c)), \
+ (I[2] = (T)(img)(_n1##x,_p1##y,_p1##z,c)), \
+ (I[6] = (T)(img)(_n1##x,y,_p1##z,c)), \
+ (I[10] = (T)(img)(_n1##x,_n1##y,_p1##z,c)), \
+ (I[14] = (T)(img)(_n1##x,_n2##y,_p1##z,c)), \
+ (I[18] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[22] = (T)(img)(_n1##x,y,z,c)), \
+ (I[26] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[30] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[34] = (T)(img)(_n1##x,_p1##y,_n1##z,c)), \
+ (I[38] = (T)(img)(_n1##x,y,_n1##z,c)), \
+ (I[42] = (T)(img)(_n1##x,_n1##y,_n1##z,c)), \
+ (I[46] = (T)(img)(_n1##x,_n2##y,_n1##z,c)), \
+ (I[50] = (T)(img)(_n1##x,_p1##y,_n2##z,c)), \
+ (I[54] = (T)(img)(_n1##x,y,_n2##z,c)), \
+ (I[58] = (T)(img)(_n1##x,_n1##y,_n2##z,c)), \
+ (I[62] = (T)(img)(_n1##x,_n2##y,_n2##z,c)), \
+ x + 2>=(img).width()?(img).width() - 1:x + 2); \
+ x<=(int)(x1) && ((_n2##x<(img).width() && ( \
+ (I[3] = (T)(img)(_n2##x,_p1##y,_p1##z,c)), \
+ (I[7] = (T)(img)(_n2##x,y,_p1##z,c)), \
+ (I[11] = (T)(img)(_n2##x,_n1##y,_p1##z,c)), \
+ (I[15] = (T)(img)(_n2##x,_n2##y,_p1##z,c)), \
+ (I[19] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[23] = (T)(img)(_n2##x,y,z,c)), \
+ (I[27] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[31] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[35] = (T)(img)(_n2##x,_p1##y,_n1##z,c)), \
+ (I[39] = (T)(img)(_n2##x,y,_n1##z,c)), \
+ (I[43] = (T)(img)(_n2##x,_n1##y,_n1##z,c)), \
+ (I[47] = (T)(img)(_n2##x,_n2##y,_n1##z,c)), \
+ (I[51] = (T)(img)(_n2##x,_p1##y,_n2##z,c)), \
+ (I[55] = (T)(img)(_n2##x,y,_n2##z,c)), \
+ (I[59] = (T)(img)(_n2##x,_n1##y,_n2##z,c)), \
+ (I[63] = (T)(img)(_n2##x,_n2##y,_n2##z,c)),1)) || \
+ _n1##x==--_n2##x || x==(_n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], \
+ I[4] = I[5], I[5] = I[6], I[6] = I[7], \
+ I[8] = I[9], I[9] = I[10], I[10] = I[11], \
+ I[12] = I[13], I[13] = I[14], I[14] = I[15], \
+ I[16] = I[17], I[17] = I[18], I[18] = I[19], \
+ I[20] = I[21], I[21] = I[22], I[22] = I[23], \
+ I[24] = I[25], I[25] = I[26], I[26] = I[27], \
+ I[28] = I[29], I[29] = I[30], I[30] = I[31], \
+ I[32] = I[33], I[33] = I[34], I[34] = I[35], \
+ I[36] = I[37], I[37] = I[38], I[38] = I[39], \
+ I[40] = I[41], I[41] = I[42], I[42] = I[43], \
+ I[44] = I[45], I[45] = I[46], I[46] = I[47], \
+ I[48] = I[49], I[49] = I[50], I[50] = I[51], \
+ I[52] = I[53], I[53] = I[54], I[54] = I[55], \
+ I[56] = I[57], I[57] = I[58], I[58] = I[59], \
+ I[60] = I[61], I[61] = I[62], I[62] = I[63], \
+ _p1##x = x++, ++_n1##x, ++_n2##x)
+
+#define cimg_get4x4x4(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p1##x,_p1##y,_p1##z,c), I[1] = (T)(img)(x,_p1##y,_p1##z,c), I[2] = (T)(img)(_n1##x,_p1##y,_p1##z,c), I[3] = (T)(img)(_n2##x,_p1##y,_p1##z,c), \
+ I[4] = (T)(img)(_p1##x,y,_p1##z,c), I[5] = (T)(img)(x,y,_p1##z,c), I[6] = (T)(img)(_n1##x,y,_p1##z,c), I[7] = (T)(img)(_n2##x,y,_p1##z,c), \
+ I[8] = (T)(img)(_p1##x,_n1##y,_p1##z,c), I[9] = (T)(img)(x,_n1##y,_p1##z,c), I[10] = (T)(img)(_n1##x,_n1##y,_p1##z,c), I[11] = (T)(img)(_n2##x,_n1##y,_p1##z,c), \
+ I[12] = (T)(img)(_p1##x,_n2##y,_p1##z,c), I[13] = (T)(img)(x,_n2##y,_p1##z,c), I[14] = (T)(img)(_n1##x,_n2##y,_p1##z,c), I[15] = (T)(img)(_n2##x,_n2##y,_p1##z,c), \
+ I[16] = (T)(img)(_p1##x,_p1##y,z,c), I[17] = (T)(img)(x,_p1##y,z,c), I[18] = (T)(img)(_n1##x,_p1##y,z,c), I[19] = (T)(img)(_n2##x,_p1##y,z,c), \
+ I[20] = (T)(img)(_p1##x,y,z,c), I[21] = (T)(img)(x,y,z,c), I[22] = (T)(img)(_n1##x,y,z,c), I[23] = (T)(img)(_n2##x,y,z,c), \
+ I[24] = (T)(img)(_p1##x,_n1##y,z,c), I[25] = (T)(img)(x,_n1##y,z,c), I[26] = (T)(img)(_n1##x,_n1##y,z,c), I[27] = (T)(img)(_n2##x,_n1##y,z,c), \
+ I[28] = (T)(img)(_p1##x,_n2##y,z,c), I[29] = (T)(img)(x,_n2##y,z,c), I[30] = (T)(img)(_n1##x,_n2##y,z,c), I[31] = (T)(img)(_n2##x,_n2##y,z,c), \
+ I[32] = (T)(img)(_p1##x,_p1##y,_n1##z,c), I[33] = (T)(img)(x,_p1##y,_n1##z,c), I[34] = (T)(img)(_n1##x,_p1##y,_n1##z,c), I[35] = (T)(img)(_n2##x,_p1##y,_n1##z,c), \
+ I[36] = (T)(img)(_p1##x,y,_n1##z,c), I[37] = (T)(img)(x,y,_n1##z,c), I[38] = (T)(img)(_n1##x,y,_n1##z,c), I[39] = (T)(img)(_n2##x,y,_n1##z,c), \
+ I[40] = (T)(img)(_p1##x,_n1##y,_n1##z,c), I[41] = (T)(img)(x,_n1##y,_n1##z,c), I[42] = (T)(img)(_n1##x,_n1##y,_n1##z,c), I[43] = (T)(img)(_n2##x,_n1##y,_n1##z,c), \
+ I[44] = (T)(img)(_p1##x,_n2##y,_n1##z,c), I[45] = (T)(img)(x,_n2##y,_n1##z,c), I[46] = (T)(img)(_n1##x,_n2##y,_n1##z,c), I[47] = (T)(img)(_n2##x,_n2##y,_n1##z,c), \
+ I[48] = (T)(img)(_p1##x,_p1##y,_n2##z,c), I[49] = (T)(img)(x,_p1##y,_n2##z,c), I[50] = (T)(img)(_n1##x,_p1##y,_n2##z,c), I[51] = (T)(img)(_n2##x,_p1##y,_n2##z,c), \
+ I[52] = (T)(img)(_p1##x,y,_n2##z,c), I[53] = (T)(img)(x,y,_n2##z,c), I[54] = (T)(img)(_n1##x,y,_n2##z,c), I[55] = (T)(img)(_n2##x,y,_n2##z,c), \
+ I[56] = (T)(img)(_p1##x,_n1##y,_n2##z,c), I[57] = (T)(img)(x,_n1##y,_n2##z,c), I[58] = (T)(img)(_n1##x,_n1##y,_n2##z,c), I[59] = (T)(img)(_n2##x,_n1##y,_n2##z,c), \
+ I[60] = (T)(img)(_p1##x,_n2##y,_n2##z,c), I[61] = (T)(img)(x,_n2##y,_n2##z,c), I[62] = (T)(img)(_n1##x,_n2##y,_n2##z,c), I[63] = (T)(img)(_n2##x,_n2##y,_n2##z,c);
+
+// Define 5x5x5 loop macros
+//----------------------------
+#define cimg_for5x5x5(img,x,y,z,c,I,T) \
+ cimg_for5((img)._depth,z) cimg_for5((img)._height,y) for (int x = 0, \
+ _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = (int)( \
+ (I[0] = I[1] = I[2] = (T)(img)(0,_p2##y,_p2##z,c)), \
+ (I[5] = I[6] = I[7] = (T)(img)(0,_p1##y,_p2##z,c)), \
+ (I[10] = I[11] = I[12] = (T)(img)(0,y,_p2##z,c)), \
+ (I[15] = I[16] = I[17] = (T)(img)(0,_n1##y,_p2##z,c)), \
+ (I[20] = I[21] = I[22] = (T)(img)(0,_n2##y,_p2##z,c)), \
+ (I[25] = I[26] = I[27] = (T)(img)(0,_p2##y,_p1##z,c)), \
+ (I[30] = I[31] = I[32] = (T)(img)(0,_p1##y,_p1##z,c)), \
+ (I[35] = I[36] = I[37] = (T)(img)(0,y,_p1##z,c)), \
+ (I[40] = I[41] = I[42] = (T)(img)(0,_n1##y,_p1##z,c)), \
+ (I[45] = I[46] = I[47] = (T)(img)(0,_n2##y,_p1##z,c)), \
+ (I[50] = I[51] = I[52] = (T)(img)(0,_p2##y,z,c)), \
+ (I[55] = I[56] = I[57] = (T)(img)(0,_p1##y,z,c)), \
+ (I[60] = I[61] = I[62] = (T)(img)(0,y,z,c)), \
+ (I[65] = I[66] = I[67] = (T)(img)(0,_n1##y,z,c)), \
+ (I[70] = I[71] = I[72] = (T)(img)(0,_n2##y,z,c)), \
+ (I[75] = I[76] = I[77] = (T)(img)(0,_p2##y,_n1##z,c)), \
+ (I[80] = I[81] = I[82] = (T)(img)(0,_p1##y,_n1##z,c)), \
+ (I[85] = I[86] = I[87] = (T)(img)(0,y,_n1##z,c)), \
+ (I[90] = I[91] = I[92] = (T)(img)(0,_n1##y,_n1##z,c)), \
+ (I[95] = I[96] = I[97] = (T)(img)(0,_n2##y,_n1##z,c)), \
+ (I[100] = I[101] = I[102] = (T)(img)(0,_p2##y,_n2##z,c)), \
+ (I[105] = I[106] = I[107] = (T)(img)(0,_p1##y,_n2##z,c)), \
+ (I[110] = I[111] = I[112] = (T)(img)(0,y,_n2##z,c)), \
+ (I[115] = I[116] = I[117] = (T)(img)(0,_n1##y,_n2##z,c)), \
+ (I[120] = I[121] = I[122] = (T)(img)(0,_n2##y,_n2##z,c)), \
+ (I[3] = (T)(img)(_n1##x,_p2##y,_p2##z,c)), \
+ (I[8] = (T)(img)(_n1##x,_p1##y,_p2##z,c)), \
+ (I[13] = (T)(img)(_n1##x,y,_p2##z,c)), \
+ (I[18] = (T)(img)(_n1##x,_n1##y,_p2##z,c)), \
+ (I[23] = (T)(img)(_n1##x,_n2##y,_p2##z,c)), \
+ (I[28] = (T)(img)(_n1##x,_p2##y,_p1##z,c)), \
+ (I[33] = (T)(img)(_n1##x,_p1##y,_p1##z,c)), \
+ (I[38] = (T)(img)(_n1##x,y,_p1##z,c)), \
+ (I[43] = (T)(img)(_n1##x,_n1##y,_p1##z,c)), \
+ (I[48] = (T)(img)(_n1##x,_n2##y,_p1##z,c)), \
+ (I[53] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[58] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[63] = (T)(img)(_n1##x,y,z,c)), \
+ (I[68] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[73] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[78] = (T)(img)(_n1##x,_p2##y,_n1##z,c)), \
+ (I[83] = (T)(img)(_n1##x,_p1##y,_n1##z,c)), \
+ (I[88] = (T)(img)(_n1##x,y,_n1##z,c)), \
+ (I[93] = (T)(img)(_n1##x,_n1##y,_n1##z,c)), \
+ (I[98] = (T)(img)(_n1##x,_n2##y,_n1##z,c)), \
+ (I[103] = (T)(img)(_n1##x,_p2##y,_n2##z,c)), \
+ (I[108] = (T)(img)(_n1##x,_p1##y,_n2##z,c)), \
+ (I[113] = (T)(img)(_n1##x,y,_n2##z,c)), \
+ (I[118] = (T)(img)(_n1##x,_n1##y,_n2##z,c)), \
+ (I[123] = (T)(img)(_n1##x,_n2##y,_n2##z,c)), \
+ 2>=((img)._width)?(img).width() - 1:2); \
+ (_n2##x<(img).width() && ( \
+ (I[4] = (T)(img)(_n2##x,_p2##y,_p2##z,c)), \
+ (I[9] = (T)(img)(_n2##x,_p1##y,_p2##z,c)), \
+ (I[14] = (T)(img)(_n2##x,y,_p2##z,c)), \
+ (I[19] = (T)(img)(_n2##x,_n1##y,_p2##z,c)), \
+ (I[24] = (T)(img)(_n2##x,_n2##y,_p2##z,c)), \
+ (I[29] = (T)(img)(_n2##x,_p2##y,_p1##z,c)), \
+ (I[34] = (T)(img)(_n2##x,_p1##y,_p1##z,c)), \
+ (I[39] = (T)(img)(_n2##x,y,_p1##z,c)), \
+ (I[44] = (T)(img)(_n2##x,_n1##y,_p1##z,c)), \
+ (I[49] = (T)(img)(_n2##x,_n2##y,_p1##z,c)), \
+ (I[54] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[59] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[64] = (T)(img)(_n2##x,y,z,c)), \
+ (I[69] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[74] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[79] = (T)(img)(_n2##x,_p2##y,_n1##z,c)), \
+ (I[84] = (T)(img)(_n2##x,_p1##y,_n1##z,c)), \
+ (I[89] = (T)(img)(_n2##x,y,_n1##z,c)), \
+ (I[94] = (T)(img)(_n2##x,_n1##y,_n1##z,c)), \
+ (I[99] = (T)(img)(_n2##x,_n2##y,_n1##z,c)), \
+ (I[104] = (T)(img)(_n2##x,_p2##y,_n2##z,c)), \
+ (I[109] = (T)(img)(_n2##x,_p1##y,_n2##z,c)), \
+ (I[114] = (T)(img)(_n2##x,y,_n2##z,c)), \
+ (I[119] = (T)(img)(_n2##x,_n1##y,_n2##z,c)), \
+ (I[124] = (T)(img)(_n2##x,_n2##y,_n2##z,c)),1)) || \
+ _n1##x==--_n2##x || x==(_n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], \
+ I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], \
+ I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], \
+ I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], \
+ I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], \
+ I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], \
+ I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], \
+ I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], \
+ I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], \
+ I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], \
+ I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], \
+ I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], \
+ I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], \
+ I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], \
+ I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], \
+ I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], \
+ I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], \
+ I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], \
+ I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], \
+ I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], \
+ I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], \
+ I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], \
+ I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], \
+ I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], \
+ I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], \
+ _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x)
+
+#define cimg_for_in5x5x5(img,x0,y0,z0,x1,y1,z1,x,y,z,c,I,T) \
+ cimg_for_in5((img)._depth,z0,z1,z) cimg_for_in5((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = (int)( \
+ (I[0] = (T)(img)(_p2##x,_p2##y,_p2##z,c)), \
+ (I[5] = (T)(img)(_p2##x,_p1##y,_p2##z,c)), \
+ (I[10] = (T)(img)(_p2##x,y,_p2##z,c)), \
+ (I[15] = (T)(img)(_p2##x,_n1##y,_p2##z,c)), \
+ (I[20] = (T)(img)(_p2##x,_n2##y,_p2##z,c)), \
+ (I[25] = (T)(img)(_p2##x,_p2##y,_p1##z,c)), \
+ (I[30] = (T)(img)(_p2##x,_p1##y,_p1##z,c)), \
+ (I[35] = (T)(img)(_p2##x,y,_p1##z,c)), \
+ (I[40] = (T)(img)(_p2##x,_n1##y,_p1##z,c)), \
+ (I[45] = (T)(img)(_p2##x,_n2##y,_p1##z,c)), \
+ (I[50] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[55] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[60] = (T)(img)(_p2##x,y,z,c)), \
+ (I[65] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[70] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[75] = (T)(img)(_p2##x,_p2##y,_n1##z,c)), \
+ (I[80] = (T)(img)(_p2##x,_p1##y,_n1##z,c)), \
+ (I[85] = (T)(img)(_p2##x,y,_n1##z,c)), \
+ (I[90] = (T)(img)(_p2##x,_n1##y,_n1##z,c)), \
+ (I[95] = (T)(img)(_p2##x,_n2##y,_n1##z,c)), \
+ (I[100] = (T)(img)(_p2##x,_p2##y,_n2##z,c)), \
+ (I[105] = (T)(img)(_p2##x,_p1##y,_n2##z,c)), \
+ (I[110] = (T)(img)(_p2##x,y,_n2##z,c)), \
+ (I[115] = (T)(img)(_p2##x,_n1##y,_n2##z,c)), \
+ (I[120] = (T)(img)(_p2##x,_n2##y,_n2##z,c)), \
+ (I[1] = (T)(img)(_p1##x,_p2##y,_p2##z,c)), \
+ (I[6] = (T)(img)(_p1##x,_p1##y,_p2##z,c)), \
+ (I[11] = (T)(img)(_p1##x,y,_p2##z,c)), \
+ (I[16] = (T)(img)(_p1##x,_n1##y,_p2##z,c)), \
+ (I[21] = (T)(img)(_p1##x,_n2##y,_p2##z,c)), \
+ (I[26] = (T)(img)(_p1##x,_p2##y,_p1##z,c)), \
+ (I[31] = (T)(img)(_p1##x,_p1##y,_p1##z,c)), \
+ (I[36] = (T)(img)(_p1##x,y,_p1##z,c)), \
+ (I[41] = (T)(img)(_p1##x,_n1##y,_p1##z,c)), \
+ (I[46] = (T)(img)(_p1##x,_n2##y,_p1##z,c)), \
+ (I[51] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[56] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[61] = (T)(img)(_p1##x,y,z,c)), \
+ (I[66] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[71] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[76] = (T)(img)(_p1##x,_p2##y,_n1##z,c)), \
+ (I[81] = (T)(img)(_p1##x,_p1##y,_n1##z,c)), \
+ (I[86] = (T)(img)(_p1##x,y,_n1##z,c)), \
+ (I[91] = (T)(img)(_p1##x,_n1##y,_n1##z,c)), \
+ (I[96] = (T)(img)(_p1##x,_n2##y,_n1##z,c)), \
+ (I[101] = (T)(img)(_p1##x,_p2##y,_n2##z,c)), \
+ (I[106] = (T)(img)(_p1##x,_p1##y,_n2##z,c)), \
+ (I[111] = (T)(img)(_p1##x,y,_n2##z,c)), \
+ (I[116] = (T)(img)(_p1##x,_n1##y,_n2##z,c)), \
+ (I[121] = (T)(img)(_p1##x,_n2##y,_n2##z,c)), \
+ (I[2] = (T)(img)(x,_p2##y,_p2##z,c)), \
+ (I[7] = (T)(img)(x,_p1##y,_p2##z,c)), \
+ (I[12] = (T)(img)(x,y,_p2##z,c)), \
+ (I[17] = (T)(img)(x,_n1##y,_p2##z,c)), \
+ (I[22] = (T)(img)(x,_n2##y,_p2##z,c)), \
+ (I[27] = (T)(img)(x,_p2##y,_p1##z,c)), \
+ (I[32] = (T)(img)(x,_p1##y,_p1##z,c)), \
+ (I[37] = (T)(img)(x,y,_p1##z,c)), \
+ (I[42] = (T)(img)(x,_n1##y,_p1##z,c)), \
+ (I[47] = (T)(img)(x,_n2##y,_p1##z,c)), \
+ (I[52] = (T)(img)(x,_p2##y,z,c)), \
+ (I[57] = (T)(img)(x,_p1##y,z,c)), \
+ (I[62] = (T)(img)(x,y,z,c)), \
+ (I[67] = (T)(img)(x,_n1##y,z,c)), \
+ (I[72] = (T)(img)(x,_n2##y,z,c)), \
+ (I[77] = (T)(img)(x,_p2##y,_n1##z,c)), \
+ (I[82] = (T)(img)(x,_p1##y,_n1##z,c)), \
+ (I[87] = (T)(img)(x,y,_n1##z,c)), \
+ (I[92] = (T)(img)(x,_n1##y,_n1##z,c)), \
+ (I[97] = (T)(img)(x,_n2##y,_n1##z,c)), \
+ (I[102] = (T)(img)(x,_p2##y,_n2##z,c)), \
+ (I[107] = (T)(img)(x,_p1##y,_n2##z,c)), \
+ (I[112] = (T)(img)(x,y,_n2##z,c)), \
+ (I[117] = (T)(img)(x,_n1##y,_n2##z,c)), \
+ (I[122] = (T)(img)(x,_n2##y,_n2##z,c)), \
+ (I[3] = (T)(img)(_n1##x,_p2##y,_p2##z,c)), \
+ (I[8] = (T)(img)(_n1##x,_p1##y,_p2##z,c)), \
+ (I[13] = (T)(img)(_n1##x,y,_p2##z,c)), \
+ (I[18] = (T)(img)(_n1##x,_n1##y,_p2##z,c)), \
+ (I[23] = (T)(img)(_n1##x,_n2##y,_p2##z,c)), \
+ (I[28] = (T)(img)(_n1##x,_p2##y,_p1##z,c)), \
+ (I[33] = (T)(img)(_n1##x,_p1##y,_p1##z,c)), \
+ (I[38] = (T)(img)(_n1##x,y,_p1##z,c)), \
+ (I[43] = (T)(img)(_n1##x,_n1##y,_p1##z,c)), \
+ (I[48] = (T)(img)(_n1##x,_n2##y,_p1##z,c)), \
+ (I[53] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[58] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[63] = (T)(img)(_n1##x,y,z,c)), \
+ (I[68] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[73] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[78] = (T)(img)(_n1##x,_p2##y,_n1##z,c)), \
+ (I[83] = (T)(img)(_n1##x,_p1##y,_n1##z,c)), \
+ (I[88] = (T)(img)(_n1##x,y,_n1##z,c)), \
+ (I[93] = (T)(img)(_n1##x,_n1##y,_n1##z,c)), \
+ (I[98] = (T)(img)(_n1##x,_n2##y,_n1##z,c)), \
+ (I[103] = (T)(img)(_n1##x,_p2##y,_n2##z,c)), \
+ (I[108] = (T)(img)(_n1##x,_p1##y,_n2##z,c)), \
+ (I[113] = (T)(img)(_n1##x,y,_n2##z,c)), \
+ (I[118] = (T)(img)(_n1##x,_n1##y,_n2##z,c)), \
+ (I[123] = (T)(img)(_n1##x,_n2##y,_n2##z,c)), \
+ x + 2>=(img).width()?(img).width() - 1:x + 2); \
+ x<=(int)(x1) && ((_n2##x<(img).width() && ( \
+ (I[4] = (T)(img)(_n2##x,_p2##y,_p2##z,c)), \
+ (I[9] = (T)(img)(_n2##x,_p1##y,_p2##z,c)), \
+ (I[14] = (T)(img)(_n2##x,y,_p2##z,c)), \
+ (I[19] = (T)(img)(_n2##x,_n1##y,_p2##z,c)), \
+ (I[24] = (T)(img)(_n2##x,_n2##y,_p2##z,c)), \
+ (I[29] = (T)(img)(_n2##x,_p2##y,_p1##z,c)), \
+ (I[34] = (T)(img)(_n2##x,_p1##y,_p1##z,c)), \
+ (I[39] = (T)(img)(_n2##x,y,_p1##z,c)), \
+ (I[44] = (T)(img)(_n2##x,_n1##y,_p1##z,c)), \
+ (I[49] = (T)(img)(_n2##x,_n2##y,_p1##z,c)), \
+ (I[54] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[59] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[64] = (T)(img)(_n2##x,y,z,c)), \
+ (I[69] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[74] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[79] = (T)(img)(_n2##x,_p2##y,_n1##z,c)), \
+ (I[84] = (T)(img)(_n2##x,_p1##y,_n1##z,c)), \
+ (I[89] = (T)(img)(_n2##x,y,_n1##z,c)), \
+ (I[94] = (T)(img)(_n2##x,_n1##y,_n1##z,c)), \
+ (I[99] = (T)(img)(_n2##x,_n2##y,_n1##z,c)), \
+ (I[104] = (T)(img)(_n2##x,_p2##y,_n2##z,c)), \
+ (I[109] = (T)(img)(_n2##x,_p1##y,_n2##z,c)), \
+ (I[114] = (T)(img)(_n2##x,y,_n2##z,c)), \
+ (I[119] = (T)(img)(_n2##x,_n1##y,_n2##z,c)), \
+ (I[124] = (T)(img)(_n2##x,_n2##y,_n2##z,c)),1)) || \
+ _n1##x==--_n2##x || x==(_n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], \
+ I[5] = I[6], I[6] = I[7], I[7] = I[8], I[8] = I[9], \
+ I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], \
+ I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], \
+ I[20] = I[21], I[21] = I[22], I[22] = I[23], I[23] = I[24], \
+ I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], \
+ I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], \
+ I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], \
+ I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], \
+ I[45] = I[46], I[46] = I[47], I[47] = I[48], I[48] = I[49], \
+ I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], \
+ I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], \
+ I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], \
+ I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], \
+ I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], \
+ I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], \
+ I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], \
+ I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], \
+ I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], \
+ I[95] = I[96], I[96] = I[97], I[97] = I[98], I[98] = I[99], \
+ I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], \
+ I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], \
+ I[110] = I[111], I[111] = I[112], I[112] = I[113], I[113] = I[114], \
+ I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], \
+ I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], \
+ _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x)
+
+#define cimg_get5x5x5(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p2##x,_p2##y,_p2##z,c), I[1] = (T)(img)(_p1##x,_p2##y,_p2##z,c), I[2] = (T)(img)(x,_p2##y,_p2##z,c), I[3] = (T)(img)(_n1##x,_p2##y,_p2##z,c), I[4] = (T)(img)(_n2##x,_p2##y,_p2##z,c), \
+ I[5] = (T)(img)(_p2##x,_p1##y,_p2##z,c), I[6] = (T)(img)(_p1##x,_p1##y,_p2##z,c), I[7] = (T)(img)(x,_p1##y,_p2##z,c), I[8] = (T)(img)(_n1##x,_p1##y,_p2##z,c), I[9] = (T)(img)(_n2##x,_p1##y,_p2##z,c), \
+ I[10] = (T)(img)(_p2##x,y,_p2##z,c), I[11] = (T)(img)(_p1##x,y,_p2##z,c), I[12] = (T)(img)(x,y,_p2##z,c), I[13] = (T)(img)(_n1##x,y,_p2##z,c), I[14] = (T)(img)(_n2##x,y,_p2##z,c), \
+ I[15] = (T)(img)(_p2##x,_n1##y,_p2##z,c), I[16] = (T)(img)(_p1##x,_n1##y,_p2##z,c), I[17] = (T)(img)(x,_n1##y,_p2##z,c), I[18] = (T)(img)(_n1##x,_n1##y,_p2##z,c), I[19] = (T)(img)(_n2##x,_n1##y,_p2##z,c), \
+ I[20] = (T)(img)(_p2##x,_n2##y,_p2##z,c), I[21] = (T)(img)(_p1##x,_n2##y,_p2##z,c), I[22] = (T)(img)(x,_n2##y,_p2##z,c), I[23] = (T)(img)(_n1##x,_n2##y,_p2##z,c), I[24] = (T)(img)(_n2##x,_n2##y,_p2##z,c), \
+ I[25] = (T)(img)(_p2##x,_p2##y,_p1##z,c), I[26] = (T)(img)(_p1##x,_p2##y,_p1##z,c), I[27] = (T)(img)(x,_p2##y,_p1##z,c), I[28] = (T)(img)(_n1##x,_p2##y,_p1##z,c), I[29] = (T)(img)(_n2##x,_p2##y,_p1##z,c), \
+ I[30] = (T)(img)(_p2##x,_p1##y,_p1##z,c), I[31] = (T)(img)(_p1##x,_p1##y,_p1##z,c), I[32] = (T)(img)(x,_p1##y,_p1##z,c), I[33] = (T)(img)(_n1##x,_p1##y,_p1##z,c), I[34] = (T)(img)(_n2##x,_p1##y,_p1##z,c), \
+ I[35] = (T)(img)(_p2##x,y,_p1##z,c), I[36] = (T)(img)(_p1##x,y,_p1##z,c), I[37] = (T)(img)(x,y,_p1##z,c), I[38] = (T)(img)(_n1##x,y,_p1##z,c), I[39] = (T)(img)(_n2##x,y,_p1##z,c), \
+ I[40] = (T)(img)(_p2##x,_n1##y,_p1##z,c), I[41] = (T)(img)(_p1##x,_n1##y,_p1##z,c), I[42] = (T)(img)(x,_n1##y,_p1##z,c), I[43] = (T)(img)(_n1##x,_n1##y,_p1##z,c), I[44] = (T)(img)(_n2##x,_n1##y,_p1##z,c), \
+ I[45] = (T)(img)(_p2##x,_n2##y,_p1##z,c), I[46] = (T)(img)(_p1##x,_n2##y,_p1##z,c), I[47] = (T)(img)(x,_n2##y,_p1##z,c), I[48] = (T)(img)(_n1##x,_n2##y,_p1##z,c), I[49] = (T)(img)(_n2##x,_n2##y,_p1##z,c), \
+ I[50] = (T)(img)(_p2##x,_p2##y,z,c), I[51] = (T)(img)(_p1##x,_p2##y,z,c), I[52] = (T)(img)(x,_p2##y,z,c), I[53] = (T)(img)(_n1##x,_p2##y,z,c), I[54] = (T)(img)(_n2##x,_p2##y,z,c), \
+ I[55] = (T)(img)(_p2##x,_p1##y,z,c), I[56] = (T)(img)(_p1##x,_p1##y,z,c), I[57] = (T)(img)(x,_p1##y,z,c), I[58] = (T)(img)(_n1##x,_p1##y,z,c), I[59] = (T)(img)(_n2##x,_p1##y,z,c), \
+ I[60] = (T)(img)(_p2##x,y,z,c), I[61] = (T)(img)(_p1##x,y,z,c), I[62] = (T)(img)(x,y,z,c), I[63] = (T)(img)(_n1##x,y,z,c), I[64] = (T)(img)(_n2##x,y,z,c), \
+ I[65] = (T)(img)(_p2##x,_n1##y,z,c), I[66] = (T)(img)(_p1##x,_n1##y,z,c), I[67] = (T)(img)(x,_n1##y,z,c), I[68] = (T)(img)(_n1##x,_n1##y,z,c), I[69] = (T)(img)(_n2##x,_n1##y,z,c), \
+ I[70] = (T)(img)(_p2##x,_n2##y,z,c), I[71] = (T)(img)(_p1##x,_n2##y,z,c), I[72] = (T)(img)(x,_n2##y,z,c), I[73] = (T)(img)(_n1##x,_n2##y,z,c), I[74] = (T)(img)(_n2##x,_n2##y,z,c), \
+ I[75] = (T)(img)(_p2##x,_p2##y,_n1##z,c), I[76] = (T)(img)(_p1##x,_p2##y,_n1##z,c), I[77] = (T)(img)(x,_p2##y,_n1##z,c), I[78] = (T)(img)(_n1##x,_p2##y,_n1##z,c), I[79] = (T)(img)(_n2##x,_p2##y,_n1##z,c), \
+ I[80] = (T)(img)(_p2##x,_p1##y,_n1##z,c), I[81] = (T)(img)(_p1##x,_p1##y,_n1##z,c), I[82] = (T)(img)(x,_p1##y,_n1##z,c), I[83] = (T)(img)(_n1##x,_p1##y,_n1##z,c), I[84] = (T)(img)(_n2##x,_p1##y,_n1##z,c), \
+ I[85] = (T)(img)(_p2##x,y,_n1##z,c), I[86] = (T)(img)(_p1##x,y,_n1##z,c), I[87] = (T)(img)(x,y,_n1##z,c), I[88] = (T)(img)(_n1##x,y,_n1##z,c), I[89] = (T)(img)(_n2##x,y,_n1##z,c), \
+ I[90] = (T)(img)(_p2##x,_n1##y,_n1##z,c), I[91] = (T)(img)(_p1##x,_n1##y,_n1##z,c), I[92] = (T)(img)(x,_n1##y,_n1##z,c), I[93] = (T)(img)(_n1##x,_n1##y,_n1##z,c), I[94] = (T)(img)(_n2##x,_n1##y,_n1##z,c), \
+ I[95] = (T)(img)(_p2##x,_n2##y,_n1##z,c), I[96] = (T)(img)(_p1##x,_n2##y,_n1##z,c), I[97] = (T)(img)(x,_n2##y,_n1##z,c), I[98] = (T)(img)(_n1##x,_n2##y,_n1##z,c), I[99] = (T)(img)(_n2##x,_n2##y,_n1##z,c), \
+ I[100] = (T)(img)(_p2##x,_p2##y,_n2##z,c), I[101] = (T)(img)(_p1##x,_p2##y,_n2##z,c), I[102] = (T)(img)(x,_p2##y,_n2##z,c), I[103] = (T)(img)(_n1##x,_p2##y,_n2##z,c), I[104] = (T)(img)(_n2##x,_p2##y,_n2##z,c), \
+ I[105] = (T)(img)(_p2##x,_p1##y,_n2##z,c), I[106] = (T)(img)(_p1##x,_p1##y,_n2##z,c), I[107] = (T)(img)(x,_p1##y,_n2##z,c), I[108] = (T)(img)(_n1##x,_p1##y,_n2##z,c), I[109] = (T)(img)(_n2##x,_p1##y,_n2##z,c), \
+ I[110] = (T)(img)(_p2##x,y,_n2##z,c), I[111] = (T)(img)(_p1##x,y,_n2##z,c), I[112] = (T)(img)(x,y,_n2##z,c), I[113] = (T)(img)(_n1##x,y,_n2##z,c), I[114] = (T)(img)(_n2##x,y,_n2##z,c), \
+ I[115] = (T)(img)(_p2##x,_n1##y,_n2##z,c), I[116] = (T)(img)(_p1##x,_n1##y,_n2##z,c), I[117] = (T)(img)(x,_n1##y,_n2##z,c), I[118] = (T)(img)(_n1##x,_n1##y,_n2##z,c), I[119] = (T)(img)(_n2##x,_n1##y,_n2##z,c), \
+ I[120] = (T)(img)(_p2##x,_n2##y,_n2##z,c), I[121] = (T)(img)(_p1##x,_n2##y,_n2##z,c), I[122] = (T)(img)(x,_n2##y,_n2##z,c), I[123] = (T)(img)(_n1##x,_n2##y,_n2##z,c), I[124] = (T)(img)(_n2##x,_n2##y,_n2##z,c);
+
+// Define 6x6x6 loop macros
+//----------------------------
+#define cimg_for6x6x6(img,x,y,z,c,I,T) \
+ cimg_for6((img)._depth,z) cimg_for6((img)._height,y) for (int x = 0, \
+ _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = (int)( \
+ (I[0] = I[1] = I[2] = (T)(img)(0,_p2##y,_p2##z,c)), \
+ (I[6] = I[7] = I[8] = (T)(img)(0,_p1##y,_p2##z,c)), \
+ (I[12] = I[13] = I[14] = (T)(img)(0,y,_p2##z,c)), \
+ (I[18] = I[19] = I[20] = (T)(img)(0,_n1##y,_p2##z,c)), \
+ (I[24] = I[25] = I[26] = (T)(img)(0,_n2##y,_p2##z,c)), \
+ (I[30] = I[31] = I[32] = (T)(img)(0,_n3##y,_p2##z,c)), \
+ (I[36] = I[37] = I[38] = (T)(img)(0,_p2##y,_p1##z,c)), \
+ (I[42] = I[43] = I[44] = (T)(img)(0,_p1##y,_p1##z,c)), \
+ (I[48] = I[49] = I[50] = (T)(img)(0,y,_p1##z,c)), \
+ (I[54] = I[55] = I[56] = (T)(img)(0,_n1##y,_p1##z,c)), \
+ (I[60] = I[61] = I[62] = (T)(img)(0,_n2##y,_p1##z,c)), \
+ (I[66] = I[67] = I[68] = (T)(img)(0,_n3##y,_p1##z,c)), \
+ (I[72] = I[73] = I[74] = (T)(img)(0,_p2##y,z,c)), \
+ (I[78] = I[79] = I[80] = (T)(img)(0,_p1##y,z,c)), \
+ (I[84] = I[85] = I[86] = (T)(img)(0,y,z,c)), \
+ (I[90] = I[91] = I[92] = (T)(img)(0,_n1##y,z,c)), \
+ (I[96] = I[97] = I[98] = (T)(img)(0,_n2##y,z,c)), \
+ (I[102] = I[103] = I[104] = (T)(img)(0,_n3##y,z,c)), \
+ (I[108] = I[109] = I[110] = (T)(img)(0,_p2##y,_n1##z,c)), \
+ (I[114] = I[115] = I[116] = (T)(img)(0,_p1##y,_n1##z,c)), \
+ (I[120] = I[121] = I[122] = (T)(img)(0,y,_n1##z,c)), \
+ (I[126] = I[127] = I[128] = (T)(img)(0,_n1##y,_n1##z,c)), \
+ (I[132] = I[133] = I[134] = (T)(img)(0,_n2##y,_n1##z,c)), \
+ (I[138] = I[139] = I[140] = (T)(img)(0,_n3##y,_n1##z,c)), \
+ (I[144] = I[145] = I[146] = (T)(img)(0,_p2##y,_n2##z,c)), \
+ (I[150] = I[151] = I[152] = (T)(img)(0,_p1##y,_n2##z,c)), \
+ (I[156] = I[157] = I[158] = (T)(img)(0,y,_n2##z,c)), \
+ (I[162] = I[163] = I[164] = (T)(img)(0,_n1##y,_n2##z,c)), \
+ (I[168] = I[169] = I[170] = (T)(img)(0,_n2##y,_n2##z,c)), \
+ (I[174] = I[175] = I[176] = (T)(img)(0,_n3##y,_n2##z,c)), \
+ (I[180] = I[181] = I[182] = (T)(img)(0,_p2##y,_n3##z,c)), \
+ (I[186] = I[187] = I[188] = (T)(img)(0,_p1##y,_n3##z,c)), \
+ (I[192] = I[193] = I[194] = (T)(img)(0,y,_n3##z,c)), \
+ (I[198] = I[199] = I[200] = (T)(img)(0,_n1##y,_n3##z,c)), \
+ (I[204] = I[205] = I[206] = (T)(img)(0,_n2##y,_n3##z,c)), \
+ (I[210] = I[211] = I[212] = (T)(img)(0,_n3##y,_n3##z,c)), \
+ (I[3] = (T)(img)(_n1##x,_p2##y,_p2##z,c)), \
+ (I[9] = (T)(img)(_n1##x,_p1##y,_p2##z,c)), \
+ (I[15] = (T)(img)(_n1##x,y,_p2##z,c)), \
+ (I[21] = (T)(img)(_n1##x,_n1##y,_p2##z,c)), \
+ (I[27] = (T)(img)(_n1##x,_n2##y,_p2##z,c)), \
+ (I[33] = (T)(img)(_n1##x,_n3##y,_p2##z,c)), \
+ (I[39] = (T)(img)(_n1##x,_p2##y,_p1##z,c)), \
+ (I[45] = (T)(img)(_n1##x,_p1##y,_p1##z,c)), \
+ (I[51] = (T)(img)(_n1##x,y,_p1##z,c)), \
+ (I[57] = (T)(img)(_n1##x,_n1##y,_p1##z,c)), \
+ (I[63] = (T)(img)(_n1##x,_n2##y,_p1##z,c)), \
+ (I[69] = (T)(img)(_n1##x,_n3##y,_p1##z,c)), \
+ (I[75] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[81] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[87] = (T)(img)(_n1##x,y,z,c)), \
+ (I[93] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[99] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[105] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[111] = (T)(img)(_n1##x,_p2##y,_n1##z,c)), \
+ (I[117] = (T)(img)(_n1##x,_p1##y,_n1##z,c)), \
+ (I[123] = (T)(img)(_n1##x,y,_n1##z,c)), \
+ (I[129] = (T)(img)(_n1##x,_n1##y,_n1##z,c)), \
+ (I[135] = (T)(img)(_n1##x,_n2##y,_n1##z,c)), \
+ (I[141] = (T)(img)(_n1##x,_n3##y,_n1##z,c)), \
+ (I[147] = (T)(img)(_n1##x,_p2##y,_n2##z,c)), \
+ (I[153] = (T)(img)(_n1##x,_p1##y,_n2##z,c)), \
+ (I[159] = (T)(img)(_n1##x,y,_n2##z,c)), \
+ (I[165] = (T)(img)(_n1##x,_n1##y,_n2##z,c)), \
+ (I[171] = (T)(img)(_n1##x,_n2##y,_n2##z,c)), \
+ (I[177] = (T)(img)(_n1##x,_n3##y,_n2##z,c)), \
+ (I[183] = (T)(img)(_n1##x,_p2##y,_n3##z,c)), \
+ (I[189] = (T)(img)(_n1##x,_p1##y,_n3##z,c)), \
+ (I[195] = (T)(img)(_n1##x,y,_n3##z,c)), \
+ (I[201] = (T)(img)(_n1##x,_n1##y,_n3##z,c)), \
+ (I[207] = (T)(img)(_n1##x,_n2##y,_n3##z,c)), \
+ (I[213] = (T)(img)(_n1##x,_n3##y,_n3##z,c)), \
+ (I[4] = (T)(img)(_n2##x,_p2##y,_p2##z,c)), \
+ (I[10] = (T)(img)(_n2##x,_p1##y,_p2##z,c)), \
+ (I[16] = (T)(img)(_n2##x,y,_p2##z,c)), \
+ (I[22] = (T)(img)(_n2##x,_n1##y,_p2##z,c)), \
+ (I[28] = (T)(img)(_n2##x,_n2##y,_p2##z,c)), \
+ (I[34] = (T)(img)(_n2##x,_n3##y,_p2##z,c)), \
+ (I[40] = (T)(img)(_n2##x,_p2##y,_p1##z,c)), \
+ (I[46] = (T)(img)(_n2##x,_p1##y,_p1##z,c)), \
+ (I[52] = (T)(img)(_n2##x,y,_p1##z,c)), \
+ (I[58] = (T)(img)(_n2##x,_n1##y,_p1##z,c)), \
+ (I[64] = (T)(img)(_n2##x,_n2##y,_p1##z,c)), \
+ (I[70] = (T)(img)(_n2##x,_n3##y,_p1##z,c)), \
+ (I[76] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[82] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[88] = (T)(img)(_n2##x,y,z,c)), \
+ (I[94] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[100] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[106] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[112] = (T)(img)(_n2##x,_p2##y,_n1##z,c)), \
+ (I[118] = (T)(img)(_n2##x,_p1##y,_n1##z,c)), \
+ (I[124] = (T)(img)(_n2##x,y,_n1##z,c)), \
+ (I[130] = (T)(img)(_n2##x,_n1##y,_n1##z,c)), \
+ (I[136] = (T)(img)(_n2##x,_n2##y,_n1##z,c)), \
+ (I[142] = (T)(img)(_n2##x,_n3##y,_n1##z,c)), \
+ (I[148] = (T)(img)(_n2##x,_p2##y,_n2##z,c)), \
+ (I[154] = (T)(img)(_n2##x,_p1##y,_n2##z,c)), \
+ (I[160] = (T)(img)(_n2##x,y,_n2##z,c)), \
+ (I[166] = (T)(img)(_n2##x,_n1##y,_n2##z,c)), \
+ (I[172] = (T)(img)(_n2##x,_n2##y,_n2##z,c)), \
+ (I[178] = (T)(img)(_n2##x,_n3##y,_n2##z,c)), \
+ (I[184] = (T)(img)(_n2##x,_p2##y,_n3##z,c)), \
+ (I[190] = (T)(img)(_n2##x,_p1##y,_n3##z,c)), \
+ (I[196] = (T)(img)(_n2##x,y,_n3##z,c)), \
+ (I[202] = (T)(img)(_n2##x,_n1##y,_n3##z,c)), \
+ (I[208] = (T)(img)(_n2##x,_n2##y,_n3##z,c)), \
+ (I[214] = (T)(img)(_n2##x,_n3##y,_n3##z,c)), \
+ 3>=((img)._width)?(img).width() - 1:3); \
+ (_n3##x<(img).width() && ( \
+ (I[5] = (T)(img)(_n3##x,_p2##y,_p2##z,c)), \
+ (I[11] = (T)(img)(_n3##x,_p1##y,_p2##z,c)), \
+ (I[17] = (T)(img)(_n3##x,y,_p2##z,c)), \
+ (I[23] = (T)(img)(_n3##x,_n1##y,_p2##z,c)), \
+ (I[29] = (T)(img)(_n3##x,_n2##y,_p2##z,c)), \
+ (I[35] = (T)(img)(_n3##x,_n3##y,_p2##z,c)), \
+ (I[41] = (T)(img)(_n3##x,_p2##y,_p1##z,c)), \
+ (I[47] = (T)(img)(_n3##x,_p1##y,_p1##z,c)), \
+ (I[53] = (T)(img)(_n3##x,y,_p1##z,c)), \
+ (I[59] = (T)(img)(_n3##x,_n1##y,_p1##z,c)), \
+ (I[65] = (T)(img)(_n3##x,_n2##y,_p1##z,c)), \
+ (I[71] = (T)(img)(_n3##x,_n3##y,_p1##z,c)), \
+ (I[77] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[83] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[89] = (T)(img)(_n3##x,y,z,c)), \
+ (I[95] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[101] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[107] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[113] = (T)(img)(_n3##x,_p2##y,_n1##z,c)), \
+ (I[119] = (T)(img)(_n3##x,_p1##y,_n1##z,c)), \
+ (I[125] = (T)(img)(_n3##x,y,_n1##z,c)), \
+ (I[131] = (T)(img)(_n3##x,_n1##y,_n1##z,c)), \
+ (I[137] = (T)(img)(_n3##x,_n2##y,_n1##z,c)), \
+ (I[143] = (T)(img)(_n3##x,_n3##y,_n1##z,c)), \
+ (I[149] = (T)(img)(_n3##x,_p2##y,_n2##z,c)), \
+ (I[155] = (T)(img)(_n3##x,_p1##y,_n2##z,c)), \
+ (I[161] = (T)(img)(_n3##x,y,_n2##z,c)), \
+ (I[167] = (T)(img)(_n3##x,_n1##y,_n2##z,c)), \
+ (I[173] = (T)(img)(_n3##x,_n2##y,_n2##z,c)), \
+ (I[179] = (T)(img)(_n3##x,_n3##y,_n2##z,c)), \
+ (I[185] = (T)(img)(_n3##x,_p2##y,_n3##z,c)), \
+ (I[191] = (T)(img)(_n3##x,_p1##y,_n3##z,c)), \
+ (I[197] = (T)(img)(_n3##x,y,_n3##z,c)), \
+ (I[203] = (T)(img)(_n3##x,_n1##y,_n3##z,c)), \
+ (I[209] = (T)(img)(_n3##x,_n2##y,_n3##z,c)), \
+ (I[215] = (T)(img)(_n3##x,_n3##y,_n3##z,c)),1)) || \
+ _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], \
+ I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], \
+ I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], \
+ I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], \
+ I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], \
+ I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], \
+ I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], \
+ I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], \
+ I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], \
+ I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], \
+ I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], \
+ I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], \
+ I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], \
+ I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], \
+ I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], \
+ I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], \
+ I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], \
+ I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], \
+ I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], \
+ I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], \
+ I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], \
+ I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], \
+ I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], \
+ I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], \
+ I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], \
+ I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], \
+ I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], \
+ I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], \
+ I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], \
+ I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], \
+ I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], \
+ I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], \
+ I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], \
+ I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], \
+ I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], \
+ I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], \
+ _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x)
+
+#define cimg_for_in6x6x6(img,x0,y0,z0,x1,y1,z1,x,y,z,c,I,T) \
+ cimg_for_in6((img)._depth,z0,z1,z) cimg_for_in6((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = (int)( \
+ (I[0] = (T)(img)(_p2##x,_p2##y,_p2##z,c)), \
+ (I[6] = (T)(img)(_p2##x,_p1##y,_p2##z,c)), \
+ (I[12] = (T)(img)(_p2##x,y,_p2##z,c)), \
+ (I[18] = (T)(img)(_p2##x,_n1##y,_p2##z,c)), \
+ (I[24] = (T)(img)(_p2##x,_n2##y,_p2##z,c)), \
+ (I[30] = (T)(img)(_p2##x,_n3##y,_p2##z,c)), \
+ (I[36] = (T)(img)(_p2##x,_p2##y,_p1##z,c)), \
+ (I[42] = (T)(img)(_p2##x,_p1##y,_p1##z,c)), \
+ (I[48] = (T)(img)(_p2##x,y,_p1##z,c)), \
+ (I[54] = (T)(img)(_p2##x,_n1##y,_p1##z,c)), \
+ (I[60] = (T)(img)(_p2##x,_n2##y,_p1##z,c)), \
+ (I[66] = (T)(img)(_p2##x,_n3##y,_p1##z,c)), \
+ (I[72] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[78] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[84] = (T)(img)(_p2##x,y,z,c)), \
+ (I[90] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[96] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[102] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[108] = (T)(img)(_p2##x,_p2##y,_n1##z,c)), \
+ (I[114] = (T)(img)(_p2##x,_p1##y,_n1##z,c)), \
+ (I[120] = (T)(img)(_p2##x,y,_n1##z,c)), \
+ (I[126] = (T)(img)(_p2##x,_n1##y,_n1##z,c)), \
+ (I[132] = (T)(img)(_p2##x,_n2##y,_n1##z,c)), \
+ (I[138] = (T)(img)(_p2##x,_n3##y,_n1##z,c)), \
+ (I[144] = (T)(img)(_p2##x,_p2##y,_n2##z,c)), \
+ (I[150] = (T)(img)(_p2##x,_p1##y,_n2##z,c)), \
+ (I[156] = (T)(img)(_p2##x,y,_n2##z,c)), \
+ (I[162] = (T)(img)(_p2##x,_n1##y,_n2##z,c)), \
+ (I[168] = (T)(img)(_p2##x,_n2##y,_n2##z,c)), \
+ (I[174] = (T)(img)(_p2##x,_n3##y,_n2##z,c)), \
+ (I[180] = (T)(img)(_p2##x,_p2##y,_n3##z,c)), \
+ (I[186] = (T)(img)(_p2##x,_p1##y,_n3##z,c)), \
+ (I[192] = (T)(img)(_p2##x,y,_n3##z,c)), \
+ (I[198] = (T)(img)(_p2##x,_n1##y,_n3##z,c)), \
+ (I[204] = (T)(img)(_p2##x,_n2##y,_n3##z,c)), \
+ (I[210] = (T)(img)(_p2##x,_n3##y,_n3##z,c)), \
+ (I[1] = (T)(img)(_p1##x,_p2##y,_p2##z,c)), \
+ (I[7] = (T)(img)(_p1##x,_p1##y,_p2##z,c)), \
+ (I[13] = (T)(img)(_p1##x,y,_p2##z,c)), \
+ (I[19] = (T)(img)(_p1##x,_n1##y,_p2##z,c)), \
+ (I[25] = (T)(img)(_p1##x,_n2##y,_p2##z,c)), \
+ (I[31] = (T)(img)(_p1##x,_n3##y,_p2##z,c)), \
+ (I[37] = (T)(img)(_p1##x,_p2##y,_p1##z,c)), \
+ (I[43] = (T)(img)(_p1##x,_p1##y,_p1##z,c)), \
+ (I[49] = (T)(img)(_p1##x,y,_p1##z,c)), \
+ (I[55] = (T)(img)(_p1##x,_n1##y,_p1##z,c)), \
+ (I[61] = (T)(img)(_p1##x,_n2##y,_p1##z,c)), \
+ (I[67] = (T)(img)(_p1##x,_n3##y,_p1##z,c)), \
+ (I[73] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[79] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[85] = (T)(img)(_p1##x,y,z,c)), \
+ (I[91] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[97] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[103] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[109] = (T)(img)(_p1##x,_p2##y,_n1##z,c)), \
+ (I[115] = (T)(img)(_p1##x,_p1##y,_n1##z,c)), \
+ (I[121] = (T)(img)(_p1##x,y,_n1##z,c)), \
+ (I[127] = (T)(img)(_p1##x,_n1##y,_n1##z,c)), \
+ (I[133] = (T)(img)(_p1##x,_n2##y,_n1##z,c)), \
+ (I[139] = (T)(img)(_p1##x,_n3##y,_n1##z,c)), \
+ (I[145] = (T)(img)(_p1##x,_p2##y,_n2##z,c)), \
+ (I[151] = (T)(img)(_p1##x,_p1##y,_n2##z,c)), \
+ (I[157] = (T)(img)(_p1##x,y,_n2##z,c)), \
+ (I[163] = (T)(img)(_p1##x,_n1##y,_n2##z,c)), \
+ (I[169] = (T)(img)(_p1##x,_n2##y,_n2##z,c)), \
+ (I[175] = (T)(img)(_p1##x,_n3##y,_n2##z,c)), \
+ (I[181] = (T)(img)(_p1##x,_p2##y,_n3##z,c)), \
+ (I[187] = (T)(img)(_p1##x,_p1##y,_n3##z,c)), \
+ (I[193] = (T)(img)(_p1##x,y,_n3##z,c)), \
+ (I[199] = (T)(img)(_p1##x,_n1##y,_n3##z,c)), \
+ (I[205] = (T)(img)(_p1##x,_n2##y,_n3##z,c)), \
+ (I[211] = (T)(img)(_p1##x,_n3##y,_n3##z,c)), \
+ (I[2] = (T)(img)(x,_p2##y,_p2##z,c)), \
+ (I[8] = (T)(img)(x,_p1##y,_p2##z,c)), \
+ (I[14] = (T)(img)(x,y,_p2##z,c)), \
+ (I[20] = (T)(img)(x,_n1##y,_p2##z,c)), \
+ (I[26] = (T)(img)(x,_n2##y,_p2##z,c)), \
+ (I[32] = (T)(img)(x,_n3##y,_p2##z,c)), \
+ (I[38] = (T)(img)(x,_p2##y,_p1##z,c)), \
+ (I[44] = (T)(img)(x,_p1##y,_p1##z,c)), \
+ (I[50] = (T)(img)(x,y,_p1##z,c)), \
+ (I[56] = (T)(img)(x,_n1##y,_p1##z,c)), \
+ (I[62] = (T)(img)(x,_n2##y,_p1##z,c)), \
+ (I[68] = (T)(img)(x,_n3##y,_p1##z,c)), \
+ (I[74] = (T)(img)(x,_p2##y,z,c)), \
+ (I[80] = (T)(img)(x,_p1##y,z,c)), \
+ (I[86] = (T)(img)(x,y,z,c)), \
+ (I[92] = (T)(img)(x,_n1##y,z,c)), \
+ (I[98] = (T)(img)(x,_n2##y,z,c)), \
+ (I[104] = (T)(img)(x,_n3##y,z,c)), \
+ (I[110] = (T)(img)(x,_p2##y,_n1##z,c)), \
+ (I[116] = (T)(img)(x,_p1##y,_n1##z,c)), \
+ (I[122] = (T)(img)(x,y,_n1##z,c)), \
+ (I[128] = (T)(img)(x,_n1##y,_n1##z,c)), \
+ (I[134] = (T)(img)(x,_n2##y,_n1##z,c)), \
+ (I[140] = (T)(img)(x,_n3##y,_n1##z,c)), \
+ (I[146] = (T)(img)(x,_p2##y,_n2##z,c)), \
+ (I[152] = (T)(img)(x,_p1##y,_n2##z,c)), \
+ (I[158] = (T)(img)(x,y,_n2##z,c)), \
+ (I[164] = (T)(img)(x,_n1##y,_n2##z,c)), \
+ (I[170] = (T)(img)(x,_n2##y,_n2##z,c)), \
+ (I[176] = (T)(img)(x,_n3##y,_n2##z,c)), \
+ (I[182] = (T)(img)(x,_p2##y,_n3##z,c)), \
+ (I[188] = (T)(img)(x,_p1##y,_n3##z,c)), \
+ (I[194] = (T)(img)(x,y,_n3##z,c)), \
+ (I[200] = (T)(img)(x,_n1##y,_n3##z,c)), \
+ (I[206] = (T)(img)(x,_n2##y,_n3##z,c)), \
+ (I[212] = (T)(img)(x,_n3##y,_n3##z,c)), \
+ (I[3] = (T)(img)(_n1##x,_p2##y,_p2##z,c)), \
+ (I[9] = (T)(img)(_n1##x,_p1##y,_p2##z,c)), \
+ (I[15] = (T)(img)(_n1##x,y,_p2##z,c)), \
+ (I[21] = (T)(img)(_n1##x,_n1##y,_p2##z,c)), \
+ (I[27] = (T)(img)(_n1##x,_n2##y,_p2##z,c)), \
+ (I[33] = (T)(img)(_n1##x,_n3##y,_p2##z,c)), \
+ (I[39] = (T)(img)(_n1##x,_p2##y,_p1##z,c)), \
+ (I[45] = (T)(img)(_n1##x,_p1##y,_p1##z,c)), \
+ (I[51] = (T)(img)(_n1##x,y,_p1##z,c)), \
+ (I[57] = (T)(img)(_n1##x,_n1##y,_p1##z,c)), \
+ (I[63] = (T)(img)(_n1##x,_n2##y,_p1##z,c)), \
+ (I[69] = (T)(img)(_n1##x,_n3##y,_p1##z,c)), \
+ (I[75] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[81] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[87] = (T)(img)(_n1##x,y,z,c)), \
+ (I[93] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[99] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[105] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[111] = (T)(img)(_n1##x,_p2##y,_n1##z,c)), \
+ (I[117] = (T)(img)(_n1##x,_p1##y,_n1##z,c)), \
+ (I[123] = (T)(img)(_n1##x,y,_n1##z,c)), \
+ (I[129] = (T)(img)(_n1##x,_n1##y,_n1##z,c)), \
+ (I[135] = (T)(img)(_n1##x,_n2##y,_n1##z,c)), \
+ (I[141] = (T)(img)(_n1##x,_n3##y,_n1##z,c)), \
+ (I[147] = (T)(img)(_n1##x,_p2##y,_n2##z,c)), \
+ (I[153] = (T)(img)(_n1##x,_p1##y,_n2##z,c)), \
+ (I[159] = (T)(img)(_n1##x,y,_n2##z,c)), \
+ (I[165] = (T)(img)(_n1##x,_n1##y,_n2##z,c)), \
+ (I[171] = (T)(img)(_n1##x,_n2##y,_n2##z,c)), \
+ (I[177] = (T)(img)(_n1##x,_n3##y,_n2##z,c)), \
+ (I[183] = (T)(img)(_n1##x,_p2##y,_n3##z,c)), \
+ (I[189] = (T)(img)(_n1##x,_p1##y,_n3##z,c)), \
+ (I[195] = (T)(img)(_n1##x,y,_n3##z,c)), \
+ (I[201] = (T)(img)(_n1##x,_n1##y,_n3##z,c)), \
+ (I[207] = (T)(img)(_n1##x,_n2##y,_n3##z,c)), \
+ (I[213] = (T)(img)(_n1##x,_n3##y,_n3##z,c)), \
+ (I[4] = (T)(img)(_n2##x,_p2##y,_p2##z,c)), \
+ (I[10] = (T)(img)(_n2##x,_p1##y,_p2##z,c)), \
+ (I[16] = (T)(img)(_n2##x,y,_p2##z,c)), \
+ (I[22] = (T)(img)(_n2##x,_n1##y,_p2##z,c)), \
+ (I[28] = (T)(img)(_n2##x,_n2##y,_p2##z,c)), \
+ (I[34] = (T)(img)(_n2##x,_n3##y,_p2##z,c)), \
+ (I[40] = (T)(img)(_n2##x,_p2##y,_p1##z,c)), \
+ (I[46] = (T)(img)(_n2##x,_p1##y,_p1##z,c)), \
+ (I[52] = (T)(img)(_n2##x,y,_p1##z,c)), \
+ (I[58] = (T)(img)(_n2##x,_n1##y,_p1##z,c)), \
+ (I[64] = (T)(img)(_n2##x,_n2##y,_p1##z,c)), \
+ (I[70] = (T)(img)(_n2##x,_n3##y,_p1##z,c)), \
+ (I[76] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[82] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[88] = (T)(img)(_n2##x,y,z,c)), \
+ (I[94] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[100] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[106] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[112] = (T)(img)(_n2##x,_p2##y,_n1##z,c)), \
+ (I[118] = (T)(img)(_n2##x,_p1##y,_n1##z,c)), \
+ (I[124] = (T)(img)(_n2##x,y,_n1##z,c)), \
+ (I[130] = (T)(img)(_n2##x,_n1##y,_n1##z,c)), \
+ (I[136] = (T)(img)(_n2##x,_n2##y,_n1##z,c)), \
+ (I[142] = (T)(img)(_n2##x,_n3##y,_n1##z,c)), \
+ (I[148] = (T)(img)(_n2##x,_p2##y,_n2##z,c)), \
+ (I[154] = (T)(img)(_n2##x,_p1##y,_n2##z,c)), \
+ (I[160] = (T)(img)(_n2##x,y,_n2##z,c)), \
+ (I[166] = (T)(img)(_n2##x,_n1##y,_n2##z,c)), \
+ (I[172] = (T)(img)(_n2##x,_n2##y,_n2##z,c)), \
+ (I[178] = (T)(img)(_n2##x,_n3##y,_n2##z,c)), \
+ (I[184] = (T)(img)(_n2##x,_p2##y,_n3##z,c)), \
+ (I[190] = (T)(img)(_n2##x,_p1##y,_n3##z,c)), \
+ (I[196] = (T)(img)(_n2##x,y,_n3##z,c)), \
+ (I[202] = (T)(img)(_n2##x,_n1##y,_n3##z,c)), \
+ (I[208] = (T)(img)(_n2##x,_n2##y,_n3##z,c)), \
+ (I[214] = (T)(img)(_n2##x,_n3##y,_n3##z,c)), \
+ x + 3>=(img).width()?(img).width() - 1:x + 3); \
+ x<=(int)(x1) && ((_n3##x<(img).width() && ( \
+ (I[5] = (T)(img)(_n3##x,_p2##y,_p2##z,c)), \
+ (I[11] = (T)(img)(_n3##x,_p1##y,_p2##z,c)), \
+ (I[17] = (T)(img)(_n3##x,y,_p2##z,c)), \
+ (I[23] = (T)(img)(_n3##x,_n1##y,_p2##z,c)), \
+ (I[29] = (T)(img)(_n3##x,_n2##y,_p2##z,c)), \
+ (I[35] = (T)(img)(_n3##x,_n3##y,_p2##z,c)), \
+ (I[41] = (T)(img)(_n3##x,_p2##y,_p1##z,c)), \
+ (I[47] = (T)(img)(_n3##x,_p1##y,_p1##z,c)), \
+ (I[53] = (T)(img)(_n3##x,y,_p1##z,c)), \
+ (I[59] = (T)(img)(_n3##x,_n1##y,_p1##z,c)), \
+ (I[65] = (T)(img)(_n3##x,_n2##y,_p1##z,c)), \
+ (I[71] = (T)(img)(_n3##x,_n3##y,_p1##z,c)), \
+ (I[77] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[83] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[89] = (T)(img)(_n3##x,y,z,c)), \
+ (I[95] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[101] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[107] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[113] = (T)(img)(_n3##x,_p2##y,_n1##z,c)), \
+ (I[119] = (T)(img)(_n3##x,_p1##y,_n1##z,c)), \
+ (I[125] = (T)(img)(_n3##x,y,_n1##z,c)), \
+ (I[131] = (T)(img)(_n3##x,_n1##y,_n1##z,c)), \
+ (I[137] = (T)(img)(_n3##x,_n2##y,_n1##z,c)), \
+ (I[143] = (T)(img)(_n3##x,_n3##y,_n1##z,c)), \
+ (I[149] = (T)(img)(_n3##x,_p2##y,_n2##z,c)), \
+ (I[155] = (T)(img)(_n3##x,_p1##y,_n2##z,c)), \
+ (I[161] = (T)(img)(_n3##x,y,_n2##z,c)), \
+ (I[167] = (T)(img)(_n3##x,_n1##y,_n2##z,c)), \
+ (I[173] = (T)(img)(_n3##x,_n2##y,_n2##z,c)), \
+ (I[179] = (T)(img)(_n3##x,_n3##y,_n2##z,c)), \
+ (I[185] = (T)(img)(_n3##x,_p2##y,_n3##z,c)), \
+ (I[191] = (T)(img)(_n3##x,_p1##y,_n3##z,c)), \
+ (I[197] = (T)(img)(_n3##x,y,_n3##z,c)), \
+ (I[203] = (T)(img)(_n3##x,_n1##y,_n3##z,c)), \
+ (I[209] = (T)(img)(_n3##x,_n2##y,_n3##z,c)), \
+ (I[215] = (T)(img)(_n3##x,_n3##y,_n3##z,c)),1)) || \
+ _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], \
+ I[6] = I[7], I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], \
+ I[12] = I[13], I[13] = I[14], I[14] = I[15], I[15] = I[16], I[16] = I[17], \
+ I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], \
+ I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], \
+ I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], I[34] = I[35], \
+ I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], \
+ I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], \
+ I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], \
+ I[54] = I[55], I[55] = I[56], I[56] = I[57], I[57] = I[58], I[58] = I[59], \
+ I[60] = I[61], I[61] = I[62], I[62] = I[63], I[63] = I[64], I[64] = I[65], \
+ I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], \
+ I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], \
+ I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], \
+ I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], \
+ I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], \
+ I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], \
+ I[102] = I[103], I[103] = I[104], I[104] = I[105], I[105] = I[106], I[106] = I[107], \
+ I[108] = I[109], I[109] = I[110], I[110] = I[111], I[111] = I[112], I[112] = I[113], \
+ I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], \
+ I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], \
+ I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], \
+ I[132] = I[133], I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], \
+ I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], \
+ I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], \
+ I[150] = I[151], I[151] = I[152], I[152] = I[153], I[153] = I[154], I[154] = I[155], \
+ I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], I[160] = I[161], \
+ I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], \
+ I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], \
+ I[174] = I[175], I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], \
+ I[180] = I[181], I[181] = I[182], I[182] = I[183], I[183] = I[184], I[184] = I[185], \
+ I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], \
+ I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], \
+ I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], I[202] = I[203], \
+ I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], \
+ I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], \
+ _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x)
+
+#define cimg_get6x6x6(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p2##x,_p2##y,_p2##z,c), I[1] = (T)(img)(_p1##x,_p2##y,_p2##z,c), I[2] = (T)(img)(x,_p2##y,_p2##z,c), I[3] = (T)(img)(_n1##x,_p2##y,_p2##z,c), I[4] = (T)(img)(_n2##x,_p2##y,_p2##z,c), I[5] = (T)(img)(_n3##x,_p2##y,_p2##z,c), \
+ I[6] = (T)(img)(_p2##x,_p1##y,_p2##z,c), I[7] = (T)(img)(_p1##x,_p1##y,_p2##z,c), I[8] = (T)(img)(x,_p1##y,_p2##z,c), I[9] = (T)(img)(_n1##x,_p1##y,_p2##z,c), I[10] = (T)(img)(_n2##x,_p1##y,_p2##z,c), I[11] = (T)(img)(_n3##x,_p1##y,_p2##z,c), \
+ I[12] = (T)(img)(_p2##x,y,_p2##z,c), I[13] = (T)(img)(_p1##x,y,_p2##z,c), I[14] = (T)(img)(x,y,_p2##z,c), I[15] = (T)(img)(_n1##x,y,_p2##z,c), I[16] = (T)(img)(_n2##x,y,_p2##z,c), I[17] = (T)(img)(_n3##x,y,_p2##z,c), \
+ I[18] = (T)(img)(_p2##x,_n1##y,_p2##z,c), I[19] = (T)(img)(_p1##x,_n1##y,_p2##z,c), I[20] = (T)(img)(x,_n1##y,_p2##z,c), I[21] = (T)(img)(_n1##x,_n1##y,_p2##z,c), I[22] = (T)(img)(_n2##x,_n1##y,_p2##z,c), I[23] = (T)(img)(_n3##x,_n1##y,_p2##z,c), \
+ I[24] = (T)(img)(_p2##x,_n2##y,_p2##z,c), I[25] = (T)(img)(_p1##x,_n2##y,_p2##z,c), I[26] = (T)(img)(x,_n2##y,_p2##z,c), I[27] = (T)(img)(_n1##x,_n2##y,_p2##z,c), I[28] = (T)(img)(_n2##x,_n2##y,_p2##z,c), I[29] = (T)(img)(_n3##x,_n2##y,_p2##z,c), \
+ I[30] = (T)(img)(_p2##x,_n3##y,_p2##z,c), I[31] = (T)(img)(_p1##x,_n3##y,_p2##z,c), I[32] = (T)(img)(x,_n3##y,_p2##z,c), I[33] = (T)(img)(_n1##x,_n3##y,_p2##z,c), I[34] = (T)(img)(_n2##x,_n3##y,_p2##z,c), I[35] = (T)(img)(_n3##x,_n3##y,_p2##z,c), \
+ I[36] = (T)(img)(_p2##x,_p2##y,_p1##z,c), I[37] = (T)(img)(_p1##x,_p2##y,_p1##z,c), I[38] = (T)(img)(x,_p2##y,_p1##z,c), I[39] = (T)(img)(_n1##x,_p2##y,_p1##z,c), I[40] = (T)(img)(_n2##x,_p2##y,_p1##z,c), I[41] = (T)(img)(_n3##x,_p2##y,_p1##z,c), \
+ I[42] = (T)(img)(_p2##x,_p1##y,_p1##z,c), I[43] = (T)(img)(_p1##x,_p1##y,_p1##z,c), I[44] = (T)(img)(x,_p1##y,_p1##z,c), I[45] = (T)(img)(_n1##x,_p1##y,_p1##z,c), I[46] = (T)(img)(_n2##x,_p1##y,_p1##z,c), I[47] = (T)(img)(_n3##x,_p1##y,_p1##z,c), \
+ I[48] = (T)(img)(_p2##x,y,_p1##z,c), I[49] = (T)(img)(_p1##x,y,_p1##z,c), I[50] = (T)(img)(x,y,_p1##z,c), I[51] = (T)(img)(_n1##x,y,_p1##z,c), I[52] = (T)(img)(_n2##x,y,_p1##z,c), I[53] = (T)(img)(_n3##x,y,_p1##z,c), \
+ I[54] = (T)(img)(_p2##x,_n1##y,_p1##z,c), I[55] = (T)(img)(_p1##x,_n1##y,_p1##z,c), I[56] = (T)(img)(x,_n1##y,_p1##z,c), I[57] = (T)(img)(_n1##x,_n1##y,_p1##z,c), I[58] = (T)(img)(_n2##x,_n1##y,_p1##z,c), I[59] = (T)(img)(_n3##x,_n1##y,_p1##z,c), \
+ I[60] = (T)(img)(_p2##x,_n2##y,_p1##z,c), I[61] = (T)(img)(_p1##x,_n2##y,_p1##z,c), I[62] = (T)(img)(x,_n2##y,_p1##z,c), I[63] = (T)(img)(_n1##x,_n2##y,_p1##z,c), I[64] = (T)(img)(_n2##x,_n2##y,_p1##z,c), I[65] = (T)(img)(_n3##x,_n2##y,_p1##z,c), \
+ I[66] = (T)(img)(_p2##x,_n3##y,_p1##z,c), I[67] = (T)(img)(_p1##x,_n3##y,_p1##z,c), I[68] = (T)(img)(x,_n3##y,_p1##z,c), I[69] = (T)(img)(_n1##x,_n3##y,_p1##z,c), I[70] = (T)(img)(_n2##x,_n3##y,_p1##z,c), I[71] = (T)(img)(_n3##x,_n3##y,_p1##z,c), \
+ I[72] = (T)(img)(_p2##x,_p2##y,z,c), I[73] = (T)(img)(_p1##x,_p2##y,z,c), I[74] = (T)(img)(x,_p2##y,z,c), I[75] = (T)(img)(_n1##x,_p2##y,z,c), I[76] = (T)(img)(_n2##x,_p2##y,z,c), I[77] = (T)(img)(_n3##x,_p2##y,z,c), \
+ I[78] = (T)(img)(_p2##x,_p1##y,z,c), I[79] = (T)(img)(_p1##x,_p1##y,z,c), I[80] = (T)(img)(x,_p1##y,z,c), I[81] = (T)(img)(_n1##x,_p1##y,z,c), I[82] = (T)(img)(_n2##x,_p1##y,z,c), I[83] = (T)(img)(_n3##x,_p1##y,z,c), \
+ I[84] = (T)(img)(_p2##x,y,z,c), I[85] = (T)(img)(_p1##x,y,z,c), I[86] = (T)(img)(x,y,z,c), I[87] = (T)(img)(_n1##x,y,z,c), I[88] = (T)(img)(_n2##x,y,z,c), I[89] = (T)(img)(_n3##x,y,z,c), \
+ I[90] = (T)(img)(_p2##x,_n1##y,z,c), I[91] = (T)(img)(_p1##x,_n1##y,z,c), I[92] = (T)(img)(x,_n1##y,z,c), I[93] = (T)(img)(_n1##x,_n1##y,z,c), I[94] = (T)(img)(_n2##x,_n1##y,z,c), I[95] = (T)(img)(_n3##x,_n1##y,z,c), \
+ I[96] = (T)(img)(_p2##x,_n2##y,z,c), I[97] = (T)(img)(_p1##x,_n2##y,z,c), I[98] = (T)(img)(x,_n2##y,z,c), I[99] = (T)(img)(_n1##x,_n2##y,z,c), I[100] = (T)(img)(_n2##x,_n2##y,z,c), I[101] = (T)(img)(_n3##x,_n2##y,z,c), \
+ I[102] = (T)(img)(_p2##x,_n3##y,z,c), I[103] = (T)(img)(_p1##x,_n3##y,z,c), I[104] = (T)(img)(x,_n3##y,z,c), I[105] = (T)(img)(_n1##x,_n3##y,z,c), I[106] = (T)(img)(_n2##x,_n3##y,z,c), I[107] = (T)(img)(_n3##x,_n3##y,z,c), \
+ I[108] = (T)(img)(_p2##x,_p2##y,_n1##z,c), I[109] = (T)(img)(_p1##x,_p2##y,_n1##z,c), I[110] = (T)(img)(x,_p2##y,_n1##z,c), I[111] = (T)(img)(_n1##x,_p2##y,_n1##z,c), I[112] = (T)(img)(_n2##x,_p2##y,_n1##z,c), I[113] = (T)(img)(_n3##x,_p2##y,_n1##z,c), \
+ I[114] = (T)(img)(_p2##x,_p1##y,_n1##z,c), I[115] = (T)(img)(_p1##x,_p1##y,_n1##z,c), I[116] = (T)(img)(x,_p1##y,_n1##z,c), I[117] = (T)(img)(_n1##x,_p1##y,_n1##z,c), I[118] = (T)(img)(_n2##x,_p1##y,_n1##z,c), I[119] = (T)(img)(_n3##x,_p1##y,_n1##z,c), \
+ I[120] = (T)(img)(_p2##x,y,_n1##z,c), I[121] = (T)(img)(_p1##x,y,_n1##z,c), I[122] = (T)(img)(x,y,_n1##z,c), I[123] = (T)(img)(_n1##x,y,_n1##z,c), I[124] = (T)(img)(_n2##x,y,_n1##z,c), I[125] = (T)(img)(_n3##x,y,_n1##z,c), \
+ I[126] = (T)(img)(_p2##x,_n1##y,_n1##z,c), I[127] = (T)(img)(_p1##x,_n1##y,_n1##z,c), I[128] = (T)(img)(x,_n1##y,_n1##z,c), I[129] = (T)(img)(_n1##x,_n1##y,_n1##z,c), I[130] = (T)(img)(_n2##x,_n1##y,_n1##z,c), I[131] = (T)(img)(_n3##x,_n1##y,_n1##z,c), \
+ I[132] = (T)(img)(_p2##x,_n2##y,_n1##z,c), I[133] = (T)(img)(_p1##x,_n2##y,_n1##z,c), I[134] = (T)(img)(x,_n2##y,_n1##z,c), I[135] = (T)(img)(_n1##x,_n2##y,_n1##z,c), I[136] = (T)(img)(_n2##x,_n2##y,_n1##z,c), I[137] = (T)(img)(_n3##x,_n2##y,_n1##z,c), \
+ I[138] = (T)(img)(_p2##x,_n3##y,_n1##z,c), I[139] = (T)(img)(_p1##x,_n3##y,_n1##z,c), I[140] = (T)(img)(x,_n3##y,_n1##z,c), I[141] = (T)(img)(_n1##x,_n3##y,_n1##z,c), I[142] = (T)(img)(_n2##x,_n3##y,_n1##z,c), I[143] = (T)(img)(_n3##x,_n3##y,_n1##z,c), \
+ I[144] = (T)(img)(_p2##x,_p2##y,_n2##z,c), I[145] = (T)(img)(_p1##x,_p2##y,_n2##z,c), I[146] = (T)(img)(x,_p2##y,_n2##z,c), I[147] = (T)(img)(_n1##x,_p2##y,_n2##z,c), I[148] = (T)(img)(_n2##x,_p2##y,_n2##z,c), I[149] = (T)(img)(_n3##x,_p2##y,_n2##z,c), \
+ I[150] = (T)(img)(_p2##x,_p1##y,_n2##z,c), I[151] = (T)(img)(_p1##x,_p1##y,_n2##z,c), I[152] = (T)(img)(x,_p1##y,_n2##z,c), I[153] = (T)(img)(_n1##x,_p1##y,_n2##z,c), I[154] = (T)(img)(_n2##x,_p1##y,_n2##z,c), I[155] = (T)(img)(_n3##x,_p1##y,_n2##z,c), \
+ I[156] = (T)(img)(_p2##x,y,_n2##z,c), I[157] = (T)(img)(_p1##x,y,_n2##z,c), I[158] = (T)(img)(x,y,_n2##z,c), I[159] = (T)(img)(_n1##x,y,_n2##z,c), I[160] = (T)(img)(_n2##x,y,_n2##z,c), I[161] = (T)(img)(_n3##x,y,_n2##z,c), \
+ I[162] = (T)(img)(_p2##x,_n1##y,_n2##z,c), I[163] = (T)(img)(_p1##x,_n1##y,_n2##z,c), I[164] = (T)(img)(x,_n1##y,_n2##z,c), I[165] = (T)(img)(_n1##x,_n1##y,_n2##z,c), I[166] = (T)(img)(_n2##x,_n1##y,_n2##z,c), I[167] = (T)(img)(_n3##x,_n1##y,_n2##z,c), \
+ I[168] = (T)(img)(_p2##x,_n2##y,_n2##z,c), I[169] = (T)(img)(_p1##x,_n2##y,_n2##z,c), I[170] = (T)(img)(x,_n2##y,_n2##z,c), I[171] = (T)(img)(_n1##x,_n2##y,_n2##z,c), I[172] = (T)(img)(_n2##x,_n2##y,_n2##z,c), I[173] = (T)(img)(_n3##x,_n2##y,_n2##z,c), \
+ I[174] = (T)(img)(_p2##x,_n3##y,_n2##z,c), I[175] = (T)(img)(_p1##x,_n3##y,_n2##z,c), I[176] = (T)(img)(x,_n3##y,_n2##z,c), I[177] = (T)(img)(_n1##x,_n3##y,_n2##z,c), I[178] = (T)(img)(_n2##x,_n3##y,_n2##z,c), I[179] = (T)(img)(_n3##x,_n3##y,_n2##z,c), \
+ I[180] = (T)(img)(_p2##x,_p2##y,_n3##z,c), I[181] = (T)(img)(_p1##x,_p2##y,_n3##z,c), I[182] = (T)(img)(x,_p2##y,_n3##z,c), I[183] = (T)(img)(_n1##x,_p2##y,_n3##z,c), I[184] = (T)(img)(_n2##x,_p2##y,_n3##z,c), I[185] = (T)(img)(_n3##x,_p2##y,_n3##z,c), \
+ I[186] = (T)(img)(_p2##x,_p1##y,_n3##z,c), I[187] = (T)(img)(_p1##x,_p1##y,_n3##z,c), I[188] = (T)(img)(x,_p1##y,_n3##z,c), I[189] = (T)(img)(_n1##x,_p1##y,_n3##z,c), I[190] = (T)(img)(_n2##x,_p1##y,_n3##z,c), I[191] = (T)(img)(_n3##x,_p1##y,_n3##z,c), \
+ I[192] = (T)(img)(_p2##x,y,_n3##z,c), I[193] = (T)(img)(_p1##x,y,_n3##z,c), I[194] = (T)(img)(x,y,_n3##z,c), I[195] = (T)(img)(_n1##x,y,_n3##z,c), I[196] = (T)(img)(_n2##x,y,_n3##z,c), I[197] = (T)(img)(_n3##x,y,_n3##z,c), \
+ I[198] = (T)(img)(_p2##x,_n1##y,_n3##z,c), I[199] = (T)(img)(_p1##x,_n1##y,_n3##z,c), I[200] = (T)(img)(x,_n1##y,_n3##z,c), I[201] = (T)(img)(_n1##x,_n1##y,_n3##z,c), I[202] = (T)(img)(_n2##x,_n1##y,_n3##z,c), I[203] = (T)(img)(_n3##x,_n1##y,_n3##z,c), \
+ I[204] = (T)(img)(_p2##x,_n2##y,_n3##z,c), I[205] = (T)(img)(_p1##x,_n2##y,_n3##z,c), I[206] = (T)(img)(x,_n2##y,_n3##z,c), I[207] = (T)(img)(_n1##x,_n2##y,_n3##z,c), I[208] = (T)(img)(_n2##x,_n2##y,_n3##z,c), I[209] = (T)(img)(_n3##x,_n2##y,_n3##z,c), \
+ I[210] = (T)(img)(_p2##x,_n3##y,_n3##z,c), I[211] = (T)(img)(_p1##x,_n3##y,_n3##z,c), I[212] = (T)(img)(x,_n3##y,_n3##z,c), I[213] = (T)(img)(_n1##x,_n3##y,_n3##z,c), I[214] = (T)(img)(_n2##x,_n3##y,_n3##z,c), I[215] = (T)(img)(_n3##x,_n3##y,_n3##z,c);
+
+// Define 7x7x7 loop macros
+//----------------------------
+#define cimg_for7x7x7(img,x,y,z,c,I,T) \
+ cimg_for7((img)._depth,z) cimg_for7((img)._height,y) for (int x = 0, \
+ _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = (T)(img)(0,_p3##y,_p3##z,c)), \
+ (I[7] = I[8] = I[9] = I[10] = (T)(img)(0,_p2##y,_p3##z,c)), \
+ (I[14] = I[15] = I[16] = I[17] = (T)(img)(0,_p1##y,_p3##z,c)), \
+ (I[21] = I[22] = I[23] = I[24] = (T)(img)(0,y,_p3##z,c)), \
+ (I[28] = I[29] = I[30] = I[31] = (T)(img)(0,_n1##y,_p3##z,c)), \
+ (I[35] = I[36] = I[37] = I[38] = (T)(img)(0,_n2##y,_p3##z,c)), \
+ (I[42] = I[43] = I[44] = I[45] = (T)(img)(0,_n3##y,_p3##z,c)), \
+ (I[49] = I[50] = I[51] = I[52] = (T)(img)(0,_p3##y,_p2##z,c)), \
+ (I[56] = I[57] = I[58] = I[59] = (T)(img)(0,_p2##y,_p2##z,c)), \
+ (I[63] = I[64] = I[65] = I[66] = (T)(img)(0,_p1##y,_p2##z,c)), \
+ (I[70] = I[71] = I[72] = I[73] = (T)(img)(0,y,_p2##z,c)), \
+ (I[77] = I[78] = I[79] = I[80] = (T)(img)(0,_n1##y,_p2##z,c)), \
+ (I[84] = I[85] = I[86] = I[87] = (T)(img)(0,_n2##y,_p2##z,c)), \
+ (I[91] = I[92] = I[93] = I[94] = (T)(img)(0,_n3##y,_p2##z,c)), \
+ (I[98] = I[99] = I[100] = I[101] = (T)(img)(0,_p3##y,_p1##z,c)), \
+ (I[105] = I[106] = I[107] = I[108] = (T)(img)(0,_p2##y,_p1##z,c)), \
+ (I[112] = I[113] = I[114] = I[115] = (T)(img)(0,_p1##y,_p1##z,c)), \
+ (I[119] = I[120] = I[121] = I[122] = (T)(img)(0,y,_p1##z,c)), \
+ (I[126] = I[127] = I[128] = I[129] = (T)(img)(0,_n1##y,_p1##z,c)), \
+ (I[133] = I[134] = I[135] = I[136] = (T)(img)(0,_n2##y,_p1##z,c)), \
+ (I[140] = I[141] = I[142] = I[143] = (T)(img)(0,_n3##y,_p1##z,c)), \
+ (I[147] = I[148] = I[149] = I[150] = (T)(img)(0,_p3##y,z,c)), \
+ (I[154] = I[155] = I[156] = I[157] = (T)(img)(0,_p2##y,z,c)), \
+ (I[161] = I[162] = I[163] = I[164] = (T)(img)(0,_p1##y,z,c)), \
+ (I[168] = I[169] = I[170] = I[171] = (T)(img)(0,y,z,c)), \
+ (I[175] = I[176] = I[177] = I[178] = (T)(img)(0,_n1##y,z,c)), \
+ (I[182] = I[183] = I[184] = I[185] = (T)(img)(0,_n2##y,z,c)), \
+ (I[189] = I[190] = I[191] = I[192] = (T)(img)(0,_n3##y,z,c)), \
+ (I[196] = I[197] = I[198] = I[199] = (T)(img)(0,_p3##y,_n1##z,c)), \
+ (I[203] = I[204] = I[205] = I[206] = (T)(img)(0,_p2##y,_n1##z,c)), \
+ (I[210] = I[211] = I[212] = I[213] = (T)(img)(0,_p1##y,_n1##z,c)), \
+ (I[217] = I[218] = I[219] = I[220] = (T)(img)(0,y,_n1##z,c)), \
+ (I[224] = I[225] = I[226] = I[227] = (T)(img)(0,_n1##y,_n1##z,c)), \
+ (I[231] = I[232] = I[233] = I[234] = (T)(img)(0,_n2##y,_n1##z,c)), \
+ (I[238] = I[239] = I[240] = I[241] = (T)(img)(0,_n3##y,_n1##z,c)), \
+ (I[245] = I[246] = I[247] = I[248] = (T)(img)(0,_p3##y,_n2##z,c)), \
+ (I[252] = I[253] = I[254] = I[255] = (T)(img)(0,_p2##y,_n2##z,c)), \
+ (I[259] = I[260] = I[261] = I[262] = (T)(img)(0,_p1##y,_n2##z,c)), \
+ (I[266] = I[267] = I[268] = I[269] = (T)(img)(0,y,_n2##z,c)), \
+ (I[273] = I[274] = I[275] = I[276] = (T)(img)(0,_n1##y,_n2##z,c)), \
+ (I[280] = I[281] = I[282] = I[283] = (T)(img)(0,_n2##y,_n2##z,c)), \
+ (I[287] = I[288] = I[289] = I[290] = (T)(img)(0,_n3##y,_n2##z,c)), \
+ (I[294] = I[295] = I[296] = I[297] = (T)(img)(0,_p3##y,_n3##z,c)), \
+ (I[301] = I[302] = I[303] = I[304] = (T)(img)(0,_p2##y,_n3##z,c)), \
+ (I[308] = I[309] = I[310] = I[311] = (T)(img)(0,_p1##y,_n3##z,c)), \
+ (I[315] = I[316] = I[317] = I[318] = (T)(img)(0,y,_n3##z,c)), \
+ (I[322] = I[323] = I[324] = I[325] = (T)(img)(0,_n1##y,_n3##z,c)), \
+ (I[329] = I[330] = I[331] = I[332] = (T)(img)(0,_n2##y,_n3##z,c)), \
+ (I[336] = I[337] = I[338] = I[339] = (T)(img)(0,_n3##y,_n3##z,c)), \
+ (I[4] = (T)(img)(_n1##x,_p3##y,_p3##z,c)), \
+ (I[11] = (T)(img)(_n1##x,_p2##y,_p3##z,c)), \
+ (I[18] = (T)(img)(_n1##x,_p1##y,_p3##z,c)), \
+ (I[25] = (T)(img)(_n1##x,y,_p3##z,c)), \
+ (I[32] = (T)(img)(_n1##x,_n1##y,_p3##z,c)), \
+ (I[39] = (T)(img)(_n1##x,_n2##y,_p3##z,c)), \
+ (I[46] = (T)(img)(_n1##x,_n3##y,_p3##z,c)), \
+ (I[53] = (T)(img)(_n1##x,_p3##y,_p2##z,c)), \
+ (I[60] = (T)(img)(_n1##x,_p2##y,_p2##z,c)), \
+ (I[67] = (T)(img)(_n1##x,_p1##y,_p2##z,c)), \
+ (I[74] = (T)(img)(_n1##x,y,_p2##z,c)), \
+ (I[81] = (T)(img)(_n1##x,_n1##y,_p2##z,c)), \
+ (I[88] = (T)(img)(_n1##x,_n2##y,_p2##z,c)), \
+ (I[95] = (T)(img)(_n1##x,_n3##y,_p2##z,c)), \
+ (I[102] = (T)(img)(_n1##x,_p3##y,_p1##z,c)), \
+ (I[109] = (T)(img)(_n1##x,_p2##y,_p1##z,c)), \
+ (I[116] = (T)(img)(_n1##x,_p1##y,_p1##z,c)), \
+ (I[123] = (T)(img)(_n1##x,y,_p1##z,c)), \
+ (I[130] = (T)(img)(_n1##x,_n1##y,_p1##z,c)), \
+ (I[137] = (T)(img)(_n1##x,_n2##y,_p1##z,c)), \
+ (I[144] = (T)(img)(_n1##x,_n3##y,_p1##z,c)), \
+ (I[151] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[158] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[165] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[172] = (T)(img)(_n1##x,y,z,c)), \
+ (I[179] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[186] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[193] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[200] = (T)(img)(_n1##x,_p3##y,_n1##z,c)), \
+ (I[207] = (T)(img)(_n1##x,_p2##y,_n1##z,c)), \
+ (I[214] = (T)(img)(_n1##x,_p1##y,_n1##z,c)), \
+ (I[221] = (T)(img)(_n1##x,y,_n1##z,c)), \
+ (I[228] = (T)(img)(_n1##x,_n1##y,_n1##z,c)), \
+ (I[235] = (T)(img)(_n1##x,_n2##y,_n1##z,c)), \
+ (I[242] = (T)(img)(_n1##x,_n3##y,_n1##z,c)), \
+ (I[249] = (T)(img)(_n1##x,_p3##y,_n2##z,c)), \
+ (I[256] = (T)(img)(_n1##x,_p2##y,_n2##z,c)), \
+ (I[263] = (T)(img)(_n1##x,_p1##y,_n2##z,c)), \
+ (I[270] = (T)(img)(_n1##x,y,_n2##z,c)), \
+ (I[277] = (T)(img)(_n1##x,_n1##y,_n2##z,c)), \
+ (I[284] = (T)(img)(_n1##x,_n2##y,_n2##z,c)), \
+ (I[291] = (T)(img)(_n1##x,_n3##y,_n2##z,c)), \
+ (I[298] = (T)(img)(_n1##x,_p3##y,_n3##z,c)), \
+ (I[305] = (T)(img)(_n1##x,_p2##y,_n3##z,c)), \
+ (I[312] = (T)(img)(_n1##x,_p1##y,_n3##z,c)), \
+ (I[319] = (T)(img)(_n1##x,y,_n3##z,c)), \
+ (I[326] = (T)(img)(_n1##x,_n1##y,_n3##z,c)), \
+ (I[333] = (T)(img)(_n1##x,_n2##y,_n3##z,c)), \
+ (I[340] = (T)(img)(_n1##x,_n3##y,_n3##z,c)), \
+ (I[5] = (T)(img)(_n2##x,_p3##y,_p3##z,c)), \
+ (I[12] = (T)(img)(_n2##x,_p2##y,_p3##z,c)), \
+ (I[19] = (T)(img)(_n2##x,_p1##y,_p3##z,c)), \
+ (I[26] = (T)(img)(_n2##x,y,_p3##z,c)), \
+ (I[33] = (T)(img)(_n2##x,_n1##y,_p3##z,c)), \
+ (I[40] = (T)(img)(_n2##x,_n2##y,_p3##z,c)), \
+ (I[47] = (T)(img)(_n2##x,_n3##y,_p3##z,c)), \
+ (I[54] = (T)(img)(_n2##x,_p3##y,_p2##z,c)), \
+ (I[61] = (T)(img)(_n2##x,_p2##y,_p2##z,c)), \
+ (I[68] = (T)(img)(_n2##x,_p1##y,_p2##z,c)), \
+ (I[75] = (T)(img)(_n2##x,y,_p2##z,c)), \
+ (I[82] = (T)(img)(_n2##x,_n1##y,_p2##z,c)), \
+ (I[89] = (T)(img)(_n2##x,_n2##y,_p2##z,c)), \
+ (I[96] = (T)(img)(_n2##x,_n3##y,_p2##z,c)), \
+ (I[103] = (T)(img)(_n2##x,_p3##y,_p1##z,c)), \
+ (I[110] = (T)(img)(_n2##x,_p2##y,_p1##z,c)), \
+ (I[117] = (T)(img)(_n2##x,_p1##y,_p1##z,c)), \
+ (I[124] = (T)(img)(_n2##x,y,_p1##z,c)), \
+ (I[131] = (T)(img)(_n2##x,_n1##y,_p1##z,c)), \
+ (I[138] = (T)(img)(_n2##x,_n2##y,_p1##z,c)), \
+ (I[145] = (T)(img)(_n2##x,_n3##y,_p1##z,c)), \
+ (I[152] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[159] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[166] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[173] = (T)(img)(_n2##x,y,z,c)), \
+ (I[180] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[187] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[194] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[201] = (T)(img)(_n2##x,_p3##y,_n1##z,c)), \
+ (I[208] = (T)(img)(_n2##x,_p2##y,_n1##z,c)), \
+ (I[215] = (T)(img)(_n2##x,_p1##y,_n1##z,c)), \
+ (I[222] = (T)(img)(_n2##x,y,_n1##z,c)), \
+ (I[229] = (T)(img)(_n2##x,_n1##y,_n1##z,c)), \
+ (I[236] = (T)(img)(_n2##x,_n2##y,_n1##z,c)), \
+ (I[243] = (T)(img)(_n2##x,_n3##y,_n1##z,c)), \
+ (I[250] = (T)(img)(_n2##x,_p3##y,_n2##z,c)), \
+ (I[257] = (T)(img)(_n2##x,_p2##y,_n2##z,c)), \
+ (I[264] = (T)(img)(_n2##x,_p1##y,_n2##z,c)), \
+ (I[271] = (T)(img)(_n2##x,y,_n2##z,c)), \
+ (I[278] = (T)(img)(_n2##x,_n1##y,_n2##z,c)), \
+ (I[285] = (T)(img)(_n2##x,_n2##y,_n2##z,c)), \
+ (I[292] = (T)(img)(_n2##x,_n3##y,_n2##z,c)), \
+ (I[299] = (T)(img)(_n2##x,_p3##y,_n3##z,c)), \
+ (I[306] = (T)(img)(_n2##x,_p2##y,_n3##z,c)), \
+ (I[313] = (T)(img)(_n2##x,_p1##y,_n3##z,c)), \
+ (I[320] = (T)(img)(_n2##x,y,_n3##z,c)), \
+ (I[327] = (T)(img)(_n2##x,_n1##y,_n3##z,c)), \
+ (I[334] = (T)(img)(_n2##x,_n2##y,_n3##z,c)), \
+ (I[341] = (T)(img)(_n2##x,_n3##y,_n3##z,c)), \
+ 3>=((img)._width)?(img).width() - 1:3); \
+ (_n3##x<(img).width() && ( \
+ (I[6] = (T)(img)(_n3##x,_p3##y,_p3##z,c)), \
+ (I[13] = (T)(img)(_n3##x,_p2##y,_p3##z,c)), \
+ (I[20] = (T)(img)(_n3##x,_p1##y,_p3##z,c)), \
+ (I[27] = (T)(img)(_n3##x,y,_p3##z,c)), \
+ (I[34] = (T)(img)(_n3##x,_n1##y,_p3##z,c)), \
+ (I[41] = (T)(img)(_n3##x,_n2##y,_p3##z,c)), \
+ (I[48] = (T)(img)(_n3##x,_n3##y,_p3##z,c)), \
+ (I[55] = (T)(img)(_n3##x,_p3##y,_p2##z,c)), \
+ (I[62] = (T)(img)(_n3##x,_p2##y,_p2##z,c)), \
+ (I[69] = (T)(img)(_n3##x,_p1##y,_p2##z,c)), \
+ (I[76] = (T)(img)(_n3##x,y,_p2##z,c)), \
+ (I[83] = (T)(img)(_n3##x,_n1##y,_p2##z,c)), \
+ (I[90] = (T)(img)(_n3##x,_n2##y,_p2##z,c)), \
+ (I[97] = (T)(img)(_n3##x,_n3##y,_p2##z,c)), \
+ (I[104] = (T)(img)(_n3##x,_p3##y,_p1##z,c)), \
+ (I[111] = (T)(img)(_n3##x,_p2##y,_p1##z,c)), \
+ (I[118] = (T)(img)(_n3##x,_p1##y,_p1##z,c)), \
+ (I[125] = (T)(img)(_n3##x,y,_p1##z,c)), \
+ (I[132] = (T)(img)(_n3##x,_n1##y,_p1##z,c)), \
+ (I[139] = (T)(img)(_n3##x,_n2##y,_p1##z,c)), \
+ (I[146] = (T)(img)(_n3##x,_n3##y,_p1##z,c)), \
+ (I[153] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[160] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[167] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[174] = (T)(img)(_n3##x,y,z,c)), \
+ (I[181] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[188] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[195] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[202] = (T)(img)(_n3##x,_p3##y,_n1##z,c)), \
+ (I[209] = (T)(img)(_n3##x,_p2##y,_n1##z,c)), \
+ (I[216] = (T)(img)(_n3##x,_p1##y,_n1##z,c)), \
+ (I[223] = (T)(img)(_n3##x,y,_n1##z,c)), \
+ (I[230] = (T)(img)(_n3##x,_n1##y,_n1##z,c)), \
+ (I[237] = (T)(img)(_n3##x,_n2##y,_n1##z,c)), \
+ (I[244] = (T)(img)(_n3##x,_n3##y,_n1##z,c)), \
+ (I[251] = (T)(img)(_n3##x,_p3##y,_n2##z,c)), \
+ (I[258] = (T)(img)(_n3##x,_p2##y,_n2##z,c)), \
+ (I[265] = (T)(img)(_n3##x,_p1##y,_n2##z,c)), \
+ (I[272] = (T)(img)(_n3##x,y,_n2##z,c)), \
+ (I[279] = (T)(img)(_n3##x,_n1##y,_n2##z,c)), \
+ (I[286] = (T)(img)(_n3##x,_n2##y,_n2##z,c)), \
+ (I[293] = (T)(img)(_n3##x,_n3##y,_n2##z,c)), \
+ (I[300] = (T)(img)(_n3##x,_p3##y,_n3##z,c)), \
+ (I[307] = (T)(img)(_n3##x,_p2##y,_n3##z,c)), \
+ (I[314] = (T)(img)(_n3##x,_p1##y,_n3##z,c)), \
+ (I[321] = (T)(img)(_n3##x,y,_n3##z,c)), \
+ (I[328] = (T)(img)(_n3##x,_n1##y,_n3##z,c)), \
+ (I[335] = (T)(img)(_n3##x,_n2##y,_n3##z,c)), \
+ (I[342] = (T)(img)(_n3##x,_n3##y,_n3##z,c)),1)) || \
+ _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], \
+ I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], \
+ I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], \
+ I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], \
+ I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], \
+ I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], \
+ I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], \
+ I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], \
+ I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], \
+ I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], \
+ I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], \
+ I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], \
+ I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], \
+ I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], \
+ I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], \
+ I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], \
+ I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], \
+ I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], \
+ I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], \
+ I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], \
+ I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], \
+ I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], \
+ I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], \
+ I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], \
+ I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], \
+ I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], \
+ I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], \
+ I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], \
+ I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], \
+ I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], \
+ I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], \
+ I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], \
+ I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], \
+ I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], \
+ I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], \
+ I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], \
+ I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], \
+ I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], \
+ I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], \
+ I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], \
+ I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], \
+ I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], \
+ I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], \
+ I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], \
+ I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], \
+ I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], \
+ I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], \
+ I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], \
+ I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], \
+ _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x)
+
+#define cimg_for_in7x7x7(img,x0,y0,z0,x1,y1,z1,x,y,z,c,I,T) \
+ cimg_for_in7((img)._depth,z0,z1,z) cimg_for_in7((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = (int)( \
+ (I[0] = (T)(img)(_p3##x,_p3##y,_p3##z,c)), \
+ (I[7] = (T)(img)(_p3##x,_p2##y,_p3##z,c)), \
+ (I[14] = (T)(img)(_p3##x,_p1##y,_p3##z,c)), \
+ (I[21] = (T)(img)(_p3##x,y,_p3##z,c)), \
+ (I[28] = (T)(img)(_p3##x,_n1##y,_p3##z,c)), \
+ (I[35] = (T)(img)(_p3##x,_n2##y,_p3##z,c)), \
+ (I[42] = (T)(img)(_p3##x,_n3##y,_p3##z,c)), \
+ (I[49] = (T)(img)(_p3##x,_p3##y,_p2##z,c)), \
+ (I[56] = (T)(img)(_p3##x,_p2##y,_p2##z,c)), \
+ (I[63] = (T)(img)(_p3##x,_p1##y,_p2##z,c)), \
+ (I[70] = (T)(img)(_p3##x,y,_p2##z,c)), \
+ (I[77] = (T)(img)(_p3##x,_n1##y,_p2##z,c)), \
+ (I[84] = (T)(img)(_p3##x,_n2##y,_p2##z,c)), \
+ (I[91] = (T)(img)(_p3##x,_n3##y,_p2##z,c)), \
+ (I[98] = (T)(img)(_p3##x,_p3##y,_p1##z,c)), \
+ (I[105] = (T)(img)(_p3##x,_p2##y,_p1##z,c)), \
+ (I[112] = (T)(img)(_p3##x,_p1##y,_p1##z,c)), \
+ (I[119] = (T)(img)(_p3##x,y,_p1##z,c)), \
+ (I[126] = (T)(img)(_p3##x,_n1##y,_p1##z,c)), \
+ (I[133] = (T)(img)(_p3##x,_n2##y,_p1##z,c)), \
+ (I[140] = (T)(img)(_p3##x,_n3##y,_p1##z,c)), \
+ (I[147] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[154] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[161] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[168] = (T)(img)(_p3##x,y,z,c)), \
+ (I[175] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[182] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[189] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[196] = (T)(img)(_p3##x,_p3##y,_n1##z,c)), \
+ (I[203] = (T)(img)(_p3##x,_p2##y,_n1##z,c)), \
+ (I[210] = (T)(img)(_p3##x,_p1##y,_n1##z,c)), \
+ (I[217] = (T)(img)(_p3##x,y,_n1##z,c)), \
+ (I[224] = (T)(img)(_p3##x,_n1##y,_n1##z,c)), \
+ (I[231] = (T)(img)(_p3##x,_n2##y,_n1##z,c)), \
+ (I[238] = (T)(img)(_p3##x,_n3##y,_n1##z,c)), \
+ (I[245] = (T)(img)(_p3##x,_p3##y,_n2##z,c)), \
+ (I[252] = (T)(img)(_p3##x,_p2##y,_n2##z,c)), \
+ (I[259] = (T)(img)(_p3##x,_p1##y,_n2##z,c)), \
+ (I[266] = (T)(img)(_p3##x,y,_n2##z,c)), \
+ (I[273] = (T)(img)(_p3##x,_n1##y,_n2##z,c)), \
+ (I[280] = (T)(img)(_p3##x,_n2##y,_n2##z,c)), \
+ (I[287] = (T)(img)(_p3##x,_n3##y,_n2##z,c)), \
+ (I[294] = (T)(img)(_p3##x,_p3##y,_n3##z,c)), \
+ (I[301] = (T)(img)(_p3##x,_p2##y,_n3##z,c)), \
+ (I[308] = (T)(img)(_p3##x,_p1##y,_n3##z,c)), \
+ (I[315] = (T)(img)(_p3##x,y,_n3##z,c)), \
+ (I[322] = (T)(img)(_p3##x,_n1##y,_n3##z,c)), \
+ (I[329] = (T)(img)(_p3##x,_n2##y,_n3##z,c)), \
+ (I[336] = (T)(img)(_p3##x,_n3##y,_n3##z,c)), \
+ (I[1] = (T)(img)(_p2##x,_p3##y,_p3##z,c)), \
+ (I[8] = (T)(img)(_p2##x,_p2##y,_p3##z,c)), \
+ (I[15] = (T)(img)(_p2##x,_p1##y,_p3##z,c)), \
+ (I[22] = (T)(img)(_p2##x,y,_p3##z,c)), \
+ (I[29] = (T)(img)(_p2##x,_n1##y,_p3##z,c)), \
+ (I[36] = (T)(img)(_p2##x,_n2##y,_p3##z,c)), \
+ (I[43] = (T)(img)(_p2##x,_n3##y,_p3##z,c)), \
+ (I[50] = (T)(img)(_p2##x,_p3##y,_p2##z,c)), \
+ (I[57] = (T)(img)(_p2##x,_p2##y,_p2##z,c)), \
+ (I[64] = (T)(img)(_p2##x,_p1##y,_p2##z,c)), \
+ (I[71] = (T)(img)(_p2##x,y,_p2##z,c)), \
+ (I[78] = (T)(img)(_p2##x,_n1##y,_p2##z,c)), \
+ (I[85] = (T)(img)(_p2##x,_n2##y,_p2##z,c)), \
+ (I[92] = (T)(img)(_p2##x,_n3##y,_p2##z,c)), \
+ (I[99] = (T)(img)(_p2##x,_p3##y,_p1##z,c)), \
+ (I[106] = (T)(img)(_p2##x,_p2##y,_p1##z,c)), \
+ (I[113] = (T)(img)(_p2##x,_p1##y,_p1##z,c)), \
+ (I[120] = (T)(img)(_p2##x,y,_p1##z,c)), \
+ (I[127] = (T)(img)(_p2##x,_n1##y,_p1##z,c)), \
+ (I[134] = (T)(img)(_p2##x,_n2##y,_p1##z,c)), \
+ (I[141] = (T)(img)(_p2##x,_n3##y,_p1##z,c)), \
+ (I[148] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[155] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[162] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[169] = (T)(img)(_p2##x,y,z,c)), \
+ (I[176] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[183] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[190] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[197] = (T)(img)(_p2##x,_p3##y,_n1##z,c)), \
+ (I[204] = (T)(img)(_p2##x,_p2##y,_n1##z,c)), \
+ (I[211] = (T)(img)(_p2##x,_p1##y,_n1##z,c)), \
+ (I[218] = (T)(img)(_p2##x,y,_n1##z,c)), \
+ (I[225] = (T)(img)(_p2##x,_n1##y,_n1##z,c)), \
+ (I[232] = (T)(img)(_p2##x,_n2##y,_n1##z,c)), \
+ (I[239] = (T)(img)(_p2##x,_n3##y,_n1##z,c)), \
+ (I[246] = (T)(img)(_p2##x,_p3##y,_n2##z,c)), \
+ (I[253] = (T)(img)(_p2##x,_p2##y,_n2##z,c)), \
+ (I[260] = (T)(img)(_p2##x,_p1##y,_n2##z,c)), \
+ (I[267] = (T)(img)(_p2##x,y,_n2##z,c)), \
+ (I[274] = (T)(img)(_p2##x,_n1##y,_n2##z,c)), \
+ (I[281] = (T)(img)(_p2##x,_n2##y,_n2##z,c)), \
+ (I[288] = (T)(img)(_p2##x,_n3##y,_n2##z,c)), \
+ (I[295] = (T)(img)(_p2##x,_p3##y,_n3##z,c)), \
+ (I[302] = (T)(img)(_p2##x,_p2##y,_n3##z,c)), \
+ (I[309] = (T)(img)(_p2##x,_p1##y,_n3##z,c)), \
+ (I[316] = (T)(img)(_p2##x,y,_n3##z,c)), \
+ (I[323] = (T)(img)(_p2##x,_n1##y,_n3##z,c)), \
+ (I[330] = (T)(img)(_p2##x,_n2##y,_n3##z,c)), \
+ (I[337] = (T)(img)(_p2##x,_n3##y,_n3##z,c)), \
+ (I[2] = (T)(img)(_p1##x,_p3##y,_p3##z,c)), \
+ (I[9] = (T)(img)(_p1##x,_p2##y,_p3##z,c)), \
+ (I[16] = (T)(img)(_p1##x,_p1##y,_p3##z,c)), \
+ (I[23] = (T)(img)(_p1##x,y,_p3##z,c)), \
+ (I[30] = (T)(img)(_p1##x,_n1##y,_p3##z,c)), \
+ (I[37] = (T)(img)(_p1##x,_n2##y,_p3##z,c)), \
+ (I[44] = (T)(img)(_p1##x,_n3##y,_p3##z,c)), \
+ (I[51] = (T)(img)(_p1##x,_p3##y,_p2##z,c)), \
+ (I[58] = (T)(img)(_p1##x,_p2##y,_p2##z,c)), \
+ (I[65] = (T)(img)(_p1##x,_p1##y,_p2##z,c)), \
+ (I[72] = (T)(img)(_p1##x,y,_p2##z,c)), \
+ (I[79] = (T)(img)(_p1##x,_n1##y,_p2##z,c)), \
+ (I[86] = (T)(img)(_p1##x,_n2##y,_p2##z,c)), \
+ (I[93] = (T)(img)(_p1##x,_n3##y,_p2##z,c)), \
+ (I[100] = (T)(img)(_p1##x,_p3##y,_p1##z,c)), \
+ (I[107] = (T)(img)(_p1##x,_p2##y,_p1##z,c)), \
+ (I[114] = (T)(img)(_p1##x,_p1##y,_p1##z,c)), \
+ (I[121] = (T)(img)(_p1##x,y,_p1##z,c)), \
+ (I[128] = (T)(img)(_p1##x,_n1##y,_p1##z,c)), \
+ (I[135] = (T)(img)(_p1##x,_n2##y,_p1##z,c)), \
+ (I[142] = (T)(img)(_p1##x,_n3##y,_p1##z,c)), \
+ (I[149] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[156] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[163] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[170] = (T)(img)(_p1##x,y,z,c)), \
+ (I[177] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[184] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[191] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[198] = (T)(img)(_p1##x,_p3##y,_n1##z,c)), \
+ (I[205] = (T)(img)(_p1##x,_p2##y,_n1##z,c)), \
+ (I[212] = (T)(img)(_p1##x,_p1##y,_n1##z,c)), \
+ (I[219] = (T)(img)(_p1##x,y,_n1##z,c)), \
+ (I[226] = (T)(img)(_p1##x,_n1##y,_n1##z,c)), \
+ (I[233] = (T)(img)(_p1##x,_n2##y,_n1##z,c)), \
+ (I[240] = (T)(img)(_p1##x,_n3##y,_n1##z,c)), \
+ (I[247] = (T)(img)(_p1##x,_p3##y,_n2##z,c)), \
+ (I[254] = (T)(img)(_p1##x,_p2##y,_n2##z,c)), \
+ (I[261] = (T)(img)(_p1##x,_p1##y,_n2##z,c)), \
+ (I[268] = (T)(img)(_p1##x,y,_n2##z,c)), \
+ (I[275] = (T)(img)(_p1##x,_n1##y,_n2##z,c)), \
+ (I[282] = (T)(img)(_p1##x,_n2##y,_n2##z,c)), \
+ (I[289] = (T)(img)(_p1##x,_n3##y,_n2##z,c)), \
+ (I[296] = (T)(img)(_p1##x,_p3##y,_n3##z,c)), \
+ (I[303] = (T)(img)(_p1##x,_p2##y,_n3##z,c)), \
+ (I[310] = (T)(img)(_p1##x,_p1##y,_n3##z,c)), \
+ (I[317] = (T)(img)(_p1##x,y,_n3##z,c)), \
+ (I[324] = (T)(img)(_p1##x,_n1##y,_n3##z,c)), \
+ (I[331] = (T)(img)(_p1##x,_n2##y,_n3##z,c)), \
+ (I[338] = (T)(img)(_p1##x,_n3##y,_n3##z,c)), \
+ (I[3] = (T)(img)(x,_p3##y,_p3##z,c)), \
+ (I[10] = (T)(img)(x,_p2##y,_p3##z,c)), \
+ (I[17] = (T)(img)(x,_p1##y,_p3##z,c)), \
+ (I[24] = (T)(img)(x,y,_p3##z,c)), \
+ (I[31] = (T)(img)(x,_n1##y,_p3##z,c)), \
+ (I[38] = (T)(img)(x,_n2##y,_p3##z,c)), \
+ (I[45] = (T)(img)(x,_n3##y,_p3##z,c)), \
+ (I[52] = (T)(img)(x,_p3##y,_p2##z,c)), \
+ (I[59] = (T)(img)(x,_p2##y,_p2##z,c)), \
+ (I[66] = (T)(img)(x,_p1##y,_p2##z,c)), \
+ (I[73] = (T)(img)(x,y,_p2##z,c)), \
+ (I[80] = (T)(img)(x,_n1##y,_p2##z,c)), \
+ (I[87] = (T)(img)(x,_n2##y,_p2##z,c)), \
+ (I[94] = (T)(img)(x,_n3##y,_p2##z,c)), \
+ (I[101] = (T)(img)(x,_p3##y,_p1##z,c)), \
+ (I[108] = (T)(img)(x,_p2##y,_p1##z,c)), \
+ (I[115] = (T)(img)(x,_p1##y,_p1##z,c)), \
+ (I[122] = (T)(img)(x,y,_p1##z,c)), \
+ (I[129] = (T)(img)(x,_n1##y,_p1##z,c)), \
+ (I[136] = (T)(img)(x,_n2##y,_p1##z,c)), \
+ (I[143] = (T)(img)(x,_n3##y,_p1##z,c)), \
+ (I[150] = (T)(img)(x,_p3##y,z,c)), \
+ (I[157] = (T)(img)(x,_p2##y,z,c)), \
+ (I[164] = (T)(img)(x,_p1##y,z,c)), \
+ (I[171] = (T)(img)(x,y,z,c)), \
+ (I[178] = (T)(img)(x,_n1##y,z,c)), \
+ (I[185] = (T)(img)(x,_n2##y,z,c)), \
+ (I[192] = (T)(img)(x,_n3##y,z,c)), \
+ (I[199] = (T)(img)(x,_p3##y,_n1##z,c)), \
+ (I[206] = (T)(img)(x,_p2##y,_n1##z,c)), \
+ (I[213] = (T)(img)(x,_p1##y,_n1##z,c)), \
+ (I[220] = (T)(img)(x,y,_n1##z,c)), \
+ (I[227] = (T)(img)(x,_n1##y,_n1##z,c)), \
+ (I[234] = (T)(img)(x,_n2##y,_n1##z,c)), \
+ (I[241] = (T)(img)(x,_n3##y,_n1##z,c)), \
+ (I[248] = (T)(img)(x,_p3##y,_n2##z,c)), \
+ (I[255] = (T)(img)(x,_p2##y,_n2##z,c)), \
+ (I[262] = (T)(img)(x,_p1##y,_n2##z,c)), \
+ (I[269] = (T)(img)(x,y,_n2##z,c)), \
+ (I[276] = (T)(img)(x,_n1##y,_n2##z,c)), \
+ (I[283] = (T)(img)(x,_n2##y,_n2##z,c)), \
+ (I[290] = (T)(img)(x,_n3##y,_n2##z,c)), \
+ (I[297] = (T)(img)(x,_p3##y,_n3##z,c)), \
+ (I[304] = (T)(img)(x,_p2##y,_n3##z,c)), \
+ (I[311] = (T)(img)(x,_p1##y,_n3##z,c)), \
+ (I[318] = (T)(img)(x,y,_n3##z,c)), \
+ (I[325] = (T)(img)(x,_n1##y,_n3##z,c)), \
+ (I[332] = (T)(img)(x,_n2##y,_n3##z,c)), \
+ (I[339] = (T)(img)(x,_n3##y,_n3##z,c)), \
+ (I[4] = (T)(img)(_n1##x,_p3##y,_p3##z,c)), \
+ (I[11] = (T)(img)(_n1##x,_p2##y,_p3##z,c)), \
+ (I[18] = (T)(img)(_n1##x,_p1##y,_p3##z,c)), \
+ (I[25] = (T)(img)(_n1##x,y,_p3##z,c)), \
+ (I[32] = (T)(img)(_n1##x,_n1##y,_p3##z,c)), \
+ (I[39] = (T)(img)(_n1##x,_n2##y,_p3##z,c)), \
+ (I[46] = (T)(img)(_n1##x,_n3##y,_p3##z,c)), \
+ (I[53] = (T)(img)(_n1##x,_p3##y,_p2##z,c)), \
+ (I[60] = (T)(img)(_n1##x,_p2##y,_p2##z,c)), \
+ (I[67] = (T)(img)(_n1##x,_p1##y,_p2##z,c)), \
+ (I[74] = (T)(img)(_n1##x,y,_p2##z,c)), \
+ (I[81] = (T)(img)(_n1##x,_n1##y,_p2##z,c)), \
+ (I[88] = (T)(img)(_n1##x,_n2##y,_p2##z,c)), \
+ (I[95] = (T)(img)(_n1##x,_n3##y,_p2##z,c)), \
+ (I[102] = (T)(img)(_n1##x,_p3##y,_p1##z,c)), \
+ (I[109] = (T)(img)(_n1##x,_p2##y,_p1##z,c)), \
+ (I[116] = (T)(img)(_n1##x,_p1##y,_p1##z,c)), \
+ (I[123] = (T)(img)(_n1##x,y,_p1##z,c)), \
+ (I[130] = (T)(img)(_n1##x,_n1##y,_p1##z,c)), \
+ (I[137] = (T)(img)(_n1##x,_n2##y,_p1##z,c)), \
+ (I[144] = (T)(img)(_n1##x,_n3##y,_p1##z,c)), \
+ (I[151] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[158] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[165] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[172] = (T)(img)(_n1##x,y,z,c)), \
+ (I[179] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[186] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[193] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[200] = (T)(img)(_n1##x,_p3##y,_n1##z,c)), \
+ (I[207] = (T)(img)(_n1##x,_p2##y,_n1##z,c)), \
+ (I[214] = (T)(img)(_n1##x,_p1##y,_n1##z,c)), \
+ (I[221] = (T)(img)(_n1##x,y,_n1##z,c)), \
+ (I[228] = (T)(img)(_n1##x,_n1##y,_n1##z,c)), \
+ (I[235] = (T)(img)(_n1##x,_n2##y,_n1##z,c)), \
+ (I[242] = (T)(img)(_n1##x,_n3##y,_n1##z,c)), \
+ (I[249] = (T)(img)(_n1##x,_p3##y,_n2##z,c)), \
+ (I[256] = (T)(img)(_n1##x,_p2##y,_n2##z,c)), \
+ (I[263] = (T)(img)(_n1##x,_p1##y,_n2##z,c)), \
+ (I[270] = (T)(img)(_n1##x,y,_n2##z,c)), \
+ (I[277] = (T)(img)(_n1##x,_n1##y,_n2##z,c)), \
+ (I[284] = (T)(img)(_n1##x,_n2##y,_n2##z,c)), \
+ (I[291] = (T)(img)(_n1##x,_n3##y,_n2##z,c)), \
+ (I[298] = (T)(img)(_n1##x,_p3##y,_n3##z,c)), \
+ (I[305] = (T)(img)(_n1##x,_p2##y,_n3##z,c)), \
+ (I[312] = (T)(img)(_n1##x,_p1##y,_n3##z,c)), \
+ (I[319] = (T)(img)(_n1##x,y,_n3##z,c)), \
+ (I[326] = (T)(img)(_n1##x,_n1##y,_n3##z,c)), \
+ (I[333] = (T)(img)(_n1##x,_n2##y,_n3##z,c)), \
+ (I[340] = (T)(img)(_n1##x,_n3##y,_n3##z,c)), \
+ (I[5] = (T)(img)(_n2##x,_p3##y,_p3##z,c)), \
+ (I[12] = (T)(img)(_n2##x,_p2##y,_p3##z,c)), \
+ (I[19] = (T)(img)(_n2##x,_p1##y,_p3##z,c)), \
+ (I[26] = (T)(img)(_n2##x,y,_p3##z,c)), \
+ (I[33] = (T)(img)(_n2##x,_n1##y,_p3##z,c)), \
+ (I[40] = (T)(img)(_n2##x,_n2##y,_p3##z,c)), \
+ (I[47] = (T)(img)(_n2##x,_n3##y,_p3##z,c)), \
+ (I[54] = (T)(img)(_n2##x,_p3##y,_p2##z,c)), \
+ (I[61] = (T)(img)(_n2##x,_p2##y,_p2##z,c)), \
+ (I[68] = (T)(img)(_n2##x,_p1##y,_p2##z,c)), \
+ (I[75] = (T)(img)(_n2##x,y,_p2##z,c)), \
+ (I[82] = (T)(img)(_n2##x,_n1##y,_p2##z,c)), \
+ (I[89] = (T)(img)(_n2##x,_n2##y,_p2##z,c)), \
+ (I[96] = (T)(img)(_n2##x,_n3##y,_p2##z,c)), \
+ (I[103] = (T)(img)(_n2##x,_p3##y,_p1##z,c)), \
+ (I[110] = (T)(img)(_n2##x,_p2##y,_p1##z,c)), \
+ (I[117] = (T)(img)(_n2##x,_p1##y,_p1##z,c)), \
+ (I[124] = (T)(img)(_n2##x,y,_p1##z,c)), \
+ (I[131] = (T)(img)(_n2##x,_n1##y,_p1##z,c)), \
+ (I[138] = (T)(img)(_n2##x,_n2##y,_p1##z,c)), \
+ (I[145] = (T)(img)(_n2##x,_n3##y,_p1##z,c)), \
+ (I[152] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[159] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[166] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[173] = (T)(img)(_n2##x,y,z,c)), \
+ (I[180] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[187] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[194] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[201] = (T)(img)(_n2##x,_p3##y,_n1##z,c)), \
+ (I[208] = (T)(img)(_n2##x,_p2##y,_n1##z,c)), \
+ (I[215] = (T)(img)(_n2##x,_p1##y,_n1##z,c)), \
+ (I[222] = (T)(img)(_n2##x,y,_n1##z,c)), \
+ (I[229] = (T)(img)(_n2##x,_n1##y,_n1##z,c)), \
+ (I[236] = (T)(img)(_n2##x,_n2##y,_n1##z,c)), \
+ (I[243] = (T)(img)(_n2##x,_n3##y,_n1##z,c)), \
+ (I[250] = (T)(img)(_n2##x,_p3##y,_n2##z,c)), \
+ (I[257] = (T)(img)(_n2##x,_p2##y,_n2##z,c)), \
+ (I[264] = (T)(img)(_n2##x,_p1##y,_n2##z,c)), \
+ (I[271] = (T)(img)(_n2##x,y,_n2##z,c)), \
+ (I[278] = (T)(img)(_n2##x,_n1##y,_n2##z,c)), \
+ (I[285] = (T)(img)(_n2##x,_n2##y,_n2##z,c)), \
+ (I[292] = (T)(img)(_n2##x,_n3##y,_n2##z,c)), \
+ (I[299] = (T)(img)(_n2##x,_p3##y,_n3##z,c)), \
+ (I[306] = (T)(img)(_n2##x,_p2##y,_n3##z,c)), \
+ (I[313] = (T)(img)(_n2##x,_p1##y,_n3##z,c)), \
+ (I[320] = (T)(img)(_n2##x,y,_n3##z,c)), \
+ (I[327] = (T)(img)(_n2##x,_n1##y,_n3##z,c)), \
+ (I[334] = (T)(img)(_n2##x,_n2##y,_n3##z,c)), \
+ (I[341] = (T)(img)(_n2##x,_n3##y,_n3##z,c)), \
+ x + 3>=(img).width()?(img).width() - 1:x + 3); \
+ x<=(int)(x1) && ((_n3##x<(img).width() && ( \
+ (I[6] = (T)(img)(_n3##x,_p3##y,_p3##z,c)), \
+ (I[13] = (T)(img)(_n3##x,_p2##y,_p3##z,c)), \
+ (I[20] = (T)(img)(_n3##x,_p1##y,_p3##z,c)), \
+ (I[27] = (T)(img)(_n3##x,y,_p3##z,c)), \
+ (I[34] = (T)(img)(_n3##x,_n1##y,_p3##z,c)), \
+ (I[41] = (T)(img)(_n3##x,_n2##y,_p3##z,c)), \
+ (I[48] = (T)(img)(_n3##x,_n3##y,_p3##z,c)), \
+ (I[55] = (T)(img)(_n3##x,_p3##y,_p2##z,c)), \
+ (I[62] = (T)(img)(_n3##x,_p2##y,_p2##z,c)), \
+ (I[69] = (T)(img)(_n3##x,_p1##y,_p2##z,c)), \
+ (I[76] = (T)(img)(_n3##x,y,_p2##z,c)), \
+ (I[83] = (T)(img)(_n3##x,_n1##y,_p2##z,c)), \
+ (I[90] = (T)(img)(_n3##x,_n2##y,_p2##z,c)), \
+ (I[97] = (T)(img)(_n3##x,_n3##y,_p2##z,c)), \
+ (I[104] = (T)(img)(_n3##x,_p3##y,_p1##z,c)), \
+ (I[111] = (T)(img)(_n3##x,_p2##y,_p1##z,c)), \
+ (I[118] = (T)(img)(_n3##x,_p1##y,_p1##z,c)), \
+ (I[125] = (T)(img)(_n3##x,y,_p1##z,c)), \
+ (I[132] = (T)(img)(_n3##x,_n1##y,_p1##z,c)), \
+ (I[139] = (T)(img)(_n3##x,_n2##y,_p1##z,c)), \
+ (I[146] = (T)(img)(_n3##x,_n3##y,_p1##z,c)), \
+ (I[153] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[160] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[167] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[174] = (T)(img)(_n3##x,y,z,c)), \
+ (I[181] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[188] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[195] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[202] = (T)(img)(_n3##x,_p3##y,_n1##z,c)), \
+ (I[209] = (T)(img)(_n3##x,_p2##y,_n1##z,c)), \
+ (I[216] = (T)(img)(_n3##x,_p1##y,_n1##z,c)), \
+ (I[223] = (T)(img)(_n3##x,y,_n1##z,c)), \
+ (I[230] = (T)(img)(_n3##x,_n1##y,_n1##z,c)), \
+ (I[237] = (T)(img)(_n3##x,_n2##y,_n1##z,c)), \
+ (I[244] = (T)(img)(_n3##x,_n3##y,_n1##z,c)), \
+ (I[251] = (T)(img)(_n3##x,_p3##y,_n2##z,c)), \
+ (I[258] = (T)(img)(_n3##x,_p2##y,_n2##z,c)), \
+ (I[265] = (T)(img)(_n3##x,_p1##y,_n2##z,c)), \
+ (I[272] = (T)(img)(_n3##x,y,_n2##z,c)), \
+ (I[279] = (T)(img)(_n3##x,_n1##y,_n2##z,c)), \
+ (I[286] = (T)(img)(_n3##x,_n2##y,_n2##z,c)), \
+ (I[293] = (T)(img)(_n3##x,_n3##y,_n2##z,c)), \
+ (I[300] = (T)(img)(_n3##x,_p3##y,_n3##z,c)), \
+ (I[307] = (T)(img)(_n3##x,_p2##y,_n3##z,c)), \
+ (I[314] = (T)(img)(_n3##x,_p1##y,_n3##z,c)), \
+ (I[321] = (T)(img)(_n3##x,y,_n3##z,c)), \
+ (I[328] = (T)(img)(_n3##x,_n1##y,_n3##z,c)), \
+ (I[335] = (T)(img)(_n3##x,_n2##y,_n3##z,c)), \
+ (I[342] = (T)(img)(_n3##x,_n3##y,_n3##z,c)),1)) || \
+ _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], \
+ I[7] = I[8], I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], \
+ I[14] = I[15], I[15] = I[16], I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], \
+ I[21] = I[22], I[22] = I[23], I[23] = I[24], I[24] = I[25], I[25] = I[26], I[26] = I[27], \
+ I[28] = I[29], I[29] = I[30], I[30] = I[31], I[31] = I[32], I[32] = I[33], I[33] = I[34], \
+ I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], I[39] = I[40], I[40] = I[41], \
+ I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], I[47] = I[48], \
+ I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], \
+ I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], \
+ I[63] = I[64], I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], \
+ I[70] = I[71], I[71] = I[72], I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], \
+ I[77] = I[78], I[78] = I[79], I[79] = I[80], I[80] = I[81], I[81] = I[82], I[82] = I[83], \
+ I[84] = I[85], I[85] = I[86], I[86] = I[87], I[87] = I[88], I[88] = I[89], I[89] = I[90], \
+ I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], I[95] = I[96], I[96] = I[97], \
+ I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], I[103] = I[104], \
+ I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], \
+ I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], \
+ I[119] = I[120], I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], \
+ I[126] = I[127], I[127] = I[128], I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], \
+ I[133] = I[134], I[134] = I[135], I[135] = I[136], I[136] = I[137], I[137] = I[138], I[138] = I[139], \
+ I[140] = I[141], I[141] = I[142], I[142] = I[143], I[143] = I[144], I[144] = I[145], I[145] = I[146], \
+ I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], I[151] = I[152], I[152] = I[153], \
+ I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], I[159] = I[160], \
+ I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], \
+ I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], \
+ I[175] = I[176], I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], \
+ I[182] = I[183], I[183] = I[184], I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], \
+ I[189] = I[190], I[190] = I[191], I[191] = I[192], I[192] = I[193], I[193] = I[194], I[194] = I[195], \
+ I[196] = I[197], I[197] = I[198], I[198] = I[199], I[199] = I[200], I[200] = I[201], I[201] = I[202], \
+ I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], I[207] = I[208], I[208] = I[209], \
+ I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], I[215] = I[216], \
+ I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], \
+ I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], \
+ I[231] = I[232], I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], \
+ I[238] = I[239], I[239] = I[240], I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], \
+ I[245] = I[246], I[246] = I[247], I[247] = I[248], I[248] = I[249], I[249] = I[250], I[250] = I[251], \
+ I[252] = I[253], I[253] = I[254], I[254] = I[255], I[255] = I[256], I[256] = I[257], I[257] = I[258], \
+ I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], I[263] = I[264], I[264] = I[265], \
+ I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], I[271] = I[272], \
+ I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], \
+ I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], \
+ I[287] = I[288], I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], \
+ I[294] = I[295], I[295] = I[296], I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], \
+ I[301] = I[302], I[302] = I[303], I[303] = I[304], I[304] = I[305], I[305] = I[306], I[306] = I[307], \
+ I[308] = I[309], I[309] = I[310], I[310] = I[311], I[311] = I[312], I[312] = I[313], I[313] = I[314], \
+ I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], I[319] = I[320], I[320] = I[321], \
+ I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], I[327] = I[328], \
+ I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], \
+ I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], \
+ _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x)
+
+#define cimg_get7x7x7(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p3##x,_p3##y,_p3##z,c), I[1] = (T)(img)(_p2##x,_p3##y,_p3##z,c), I[2] = (T)(img)(_p1##x,_p3##y,_p3##z,c), I[3] = (T)(img)(x,_p3##y,_p3##z,c), I[4] = (T)(img)(_n1##x,_p3##y,_p3##z,c), I[5] = (T)(img)(_n2##x,_p3##y,_p3##z,c), I[6] = (T)(img)(_n3##x,_p3##y,_p3##z,c), \
+ I[7] = (T)(img)(_p3##x,_p2##y,_p3##z,c), I[8] = (T)(img)(_p2##x,_p2##y,_p3##z,c), I[9] = (T)(img)(_p1##x,_p2##y,_p3##z,c), I[10] = (T)(img)(x,_p2##y,_p3##z,c), I[11] = (T)(img)(_n1##x,_p2##y,_p3##z,c), I[12] = (T)(img)(_n2##x,_p2##y,_p3##z,c), I[13] = (T)(img)(_n3##x,_p2##y,_p3##z,c), \
+ I[14] = (T)(img)(_p3##x,_p1##y,_p3##z,c), I[15] = (T)(img)(_p2##x,_p1##y,_p3##z,c), I[16] = (T)(img)(_p1##x,_p1##y,_p3##z,c), I[17] = (T)(img)(x,_p1##y,_p3##z,c), I[18] = (T)(img)(_n1##x,_p1##y,_p3##z,c), I[19] = (T)(img)(_n2##x,_p1##y,_p3##z,c), I[20] = (T)(img)(_n3##x,_p1##y,_p3##z,c), \
+ I[21] = (T)(img)(_p3##x,y,_p3##z,c), I[22] = (T)(img)(_p2##x,y,_p3##z,c), I[23] = (T)(img)(_p1##x,y,_p3##z,c), I[24] = (T)(img)(x,y,_p3##z,c), I[25] = (T)(img)(_n1##x,y,_p3##z,c), I[26] = (T)(img)(_n2##x,y,_p3##z,c), I[27] = (T)(img)(_n3##x,y,_p3##z,c), \
+ I[28] = (T)(img)(_p3##x,_n1##y,_p3##z,c), I[29] = (T)(img)(_p2##x,_n1##y,_p3##z,c), I[30] = (T)(img)(_p1##x,_n1##y,_p3##z,c), I[31] = (T)(img)(x,_n1##y,_p3##z,c), I[32] = (T)(img)(_n1##x,_n1##y,_p3##z,c), I[33] = (T)(img)(_n2##x,_n1##y,_p3##z,c), I[34] = (T)(img)(_n3##x,_n1##y,_p3##z,c), \
+ I[35] = (T)(img)(_p3##x,_n2##y,_p3##z,c), I[36] = (T)(img)(_p2##x,_n2##y,_p3##z,c), I[37] = (T)(img)(_p1##x,_n2##y,_p3##z,c), I[38] = (T)(img)(x,_n2##y,_p3##z,c), I[39] = (T)(img)(_n1##x,_n2##y,_p3##z,c), I[40] = (T)(img)(_n2##x,_n2##y,_p3##z,c), I[41] = (T)(img)(_n3##x,_n2##y,_p3##z,c), \
+ I[42] = (T)(img)(_p3##x,_n3##y,_p3##z,c), I[43] = (T)(img)(_p2##x,_n3##y,_p3##z,c), I[44] = (T)(img)(_p1##x,_n3##y,_p3##z,c), I[45] = (T)(img)(x,_n3##y,_p3##z,c), I[46] = (T)(img)(_n1##x,_n3##y,_p3##z,c), I[47] = (T)(img)(_n2##x,_n3##y,_p3##z,c), I[48] = (T)(img)(_n3##x,_n3##y,_p3##z,c), \
+ I[49] = (T)(img)(_p3##x,_p3##y,_p2##z,c), I[50] = (T)(img)(_p2##x,_p3##y,_p2##z,c), I[51] = (T)(img)(_p1##x,_p3##y,_p2##z,c), I[52] = (T)(img)(x,_p3##y,_p2##z,c), I[53] = (T)(img)(_n1##x,_p3##y,_p2##z,c), I[54] = (T)(img)(_n2##x,_p3##y,_p2##z,c), I[55] = (T)(img)(_n3##x,_p3##y,_p2##z,c), \
+ I[56] = (T)(img)(_p3##x,_p2##y,_p2##z,c), I[57] = (T)(img)(_p2##x,_p2##y,_p2##z,c), I[58] = (T)(img)(_p1##x,_p2##y,_p2##z,c), I[59] = (T)(img)(x,_p2##y,_p2##z,c), I[60] = (T)(img)(_n1##x,_p2##y,_p2##z,c), I[61] = (T)(img)(_n2##x,_p2##y,_p2##z,c), I[62] = (T)(img)(_n3##x,_p2##y,_p2##z,c), \
+ I[63] = (T)(img)(_p3##x,_p1##y,_p2##z,c), I[64] = (T)(img)(_p2##x,_p1##y,_p2##z,c), I[65] = (T)(img)(_p1##x,_p1##y,_p2##z,c), I[66] = (T)(img)(x,_p1##y,_p2##z,c), I[67] = (T)(img)(_n1##x,_p1##y,_p2##z,c), I[68] = (T)(img)(_n2##x,_p1##y,_p2##z,c), I[69] = (T)(img)(_n3##x,_p1##y,_p2##z,c), \
+ I[70] = (T)(img)(_p3##x,y,_p2##z,c), I[71] = (T)(img)(_p2##x,y,_p2##z,c), I[72] = (T)(img)(_p1##x,y,_p2##z,c), I[73] = (T)(img)(x,y,_p2##z,c), I[74] = (T)(img)(_n1##x,y,_p2##z,c), I[75] = (T)(img)(_n2##x,y,_p2##z,c), I[76] = (T)(img)(_n3##x,y,_p2##z,c), \
+ I[77] = (T)(img)(_p3##x,_n1##y,_p2##z,c), I[78] = (T)(img)(_p2##x,_n1##y,_p2##z,c), I[79] = (T)(img)(_p1##x,_n1##y,_p2##z,c), I[80] = (T)(img)(x,_n1##y,_p2##z,c), I[81] = (T)(img)(_n1##x,_n1##y,_p2##z,c), I[82] = (T)(img)(_n2##x,_n1##y,_p2##z,c), I[83] = (T)(img)(_n3##x,_n1##y,_p2##z,c), \
+ I[84] = (T)(img)(_p3##x,_n2##y,_p2##z,c), I[85] = (T)(img)(_p2##x,_n2##y,_p2##z,c), I[86] = (T)(img)(_p1##x,_n2##y,_p2##z,c), I[87] = (T)(img)(x,_n2##y,_p2##z,c), I[88] = (T)(img)(_n1##x,_n2##y,_p2##z,c), I[89] = (T)(img)(_n2##x,_n2##y,_p2##z,c), I[90] = (T)(img)(_n3##x,_n2##y,_p2##z,c), \
+ I[91] = (T)(img)(_p3##x,_n3##y,_p2##z,c), I[92] = (T)(img)(_p2##x,_n3##y,_p2##z,c), I[93] = (T)(img)(_p1##x,_n3##y,_p2##z,c), I[94] = (T)(img)(x,_n3##y,_p2##z,c), I[95] = (T)(img)(_n1##x,_n3##y,_p2##z,c), I[96] = (T)(img)(_n2##x,_n3##y,_p2##z,c), I[97] = (T)(img)(_n3##x,_n3##y,_p2##z,c), \
+ I[98] = (T)(img)(_p3##x,_p3##y,_p1##z,c), I[99] = (T)(img)(_p2##x,_p3##y,_p1##z,c), I[100] = (T)(img)(_p1##x,_p3##y,_p1##z,c), I[101] = (T)(img)(x,_p3##y,_p1##z,c), I[102] = (T)(img)(_n1##x,_p3##y,_p1##z,c), I[103] = (T)(img)(_n2##x,_p3##y,_p1##z,c), I[104] = (T)(img)(_n3##x,_p3##y,_p1##z,c), \
+ I[105] = (T)(img)(_p3##x,_p2##y,_p1##z,c), I[106] = (T)(img)(_p2##x,_p2##y,_p1##z,c), I[107] = (T)(img)(_p1##x,_p2##y,_p1##z,c), I[108] = (T)(img)(x,_p2##y,_p1##z,c), I[109] = (T)(img)(_n1##x,_p2##y,_p1##z,c), I[110] = (T)(img)(_n2##x,_p2##y,_p1##z,c), I[111] = (T)(img)(_n3##x,_p2##y,_p1##z,c), \
+ I[112] = (T)(img)(_p3##x,_p1##y,_p1##z,c), I[113] = (T)(img)(_p2##x,_p1##y,_p1##z,c), I[114] = (T)(img)(_p1##x,_p1##y,_p1##z,c), I[115] = (T)(img)(x,_p1##y,_p1##z,c), I[116] = (T)(img)(_n1##x,_p1##y,_p1##z,c), I[117] = (T)(img)(_n2##x,_p1##y,_p1##z,c), I[118] = (T)(img)(_n3##x,_p1##y,_p1##z,c), \
+ I[119] = (T)(img)(_p3##x,y,_p1##z,c), I[120] = (T)(img)(_p2##x,y,_p1##z,c), I[121] = (T)(img)(_p1##x,y,_p1##z,c), I[122] = (T)(img)(x,y,_p1##z,c), I[123] = (T)(img)(_n1##x,y,_p1##z,c), I[124] = (T)(img)(_n2##x,y,_p1##z,c), I[125] = (T)(img)(_n3##x,y,_p1##z,c), \
+ I[126] = (T)(img)(_p3##x,_n1##y,_p1##z,c), I[127] = (T)(img)(_p2##x,_n1##y,_p1##z,c), I[128] = (T)(img)(_p1##x,_n1##y,_p1##z,c), I[129] = (T)(img)(x,_n1##y,_p1##z,c), I[130] = (T)(img)(_n1##x,_n1##y,_p1##z,c), I[131] = (T)(img)(_n2##x,_n1##y,_p1##z,c), I[132] = (T)(img)(_n3##x,_n1##y,_p1##z,c), \
+ I[133] = (T)(img)(_p3##x,_n2##y,_p1##z,c), I[134] = (T)(img)(_p2##x,_n2##y,_p1##z,c), I[135] = (T)(img)(_p1##x,_n2##y,_p1##z,c), I[136] = (T)(img)(x,_n2##y,_p1##z,c), I[137] = (T)(img)(_n1##x,_n2##y,_p1##z,c), I[138] = (T)(img)(_n2##x,_n2##y,_p1##z,c), I[139] = (T)(img)(_n3##x,_n2##y,_p1##z,c), \
+ I[140] = (T)(img)(_p3##x,_n3##y,_p1##z,c), I[141] = (T)(img)(_p2##x,_n3##y,_p1##z,c), I[142] = (T)(img)(_p1##x,_n3##y,_p1##z,c), I[143] = (T)(img)(x,_n3##y,_p1##z,c), I[144] = (T)(img)(_n1##x,_n3##y,_p1##z,c), I[145] = (T)(img)(_n2##x,_n3##y,_p1##z,c), I[146] = (T)(img)(_n3##x,_n3##y,_p1##z,c), \
+ I[147] = (T)(img)(_p3##x,_p3##y,z,c), I[148] = (T)(img)(_p2##x,_p3##y,z,c), I[149] = (T)(img)(_p1##x,_p3##y,z,c), I[150] = (T)(img)(x,_p3##y,z,c), I[151] = (T)(img)(_n1##x,_p3##y,z,c), I[152] = (T)(img)(_n2##x,_p3##y,z,c), I[153] = (T)(img)(_n3##x,_p3##y,z,c), \
+ I[154] = (T)(img)(_p3##x,_p2##y,z,c), I[155] = (T)(img)(_p2##x,_p2##y,z,c), I[156] = (T)(img)(_p1##x,_p2##y,z,c), I[157] = (T)(img)(x,_p2##y,z,c), I[158] = (T)(img)(_n1##x,_p2##y,z,c), I[159] = (T)(img)(_n2##x,_p2##y,z,c), I[160] = (T)(img)(_n3##x,_p2##y,z,c), \
+ I[161] = (T)(img)(_p3##x,_p1##y,z,c), I[162] = (T)(img)(_p2##x,_p1##y,z,c), I[163] = (T)(img)(_p1##x,_p1##y,z,c), I[164] = (T)(img)(x,_p1##y,z,c), I[165] = (T)(img)(_n1##x,_p1##y,z,c), I[166] = (T)(img)(_n2##x,_p1##y,z,c), I[167] = (T)(img)(_n3##x,_p1##y,z,c), \
+ I[168] = (T)(img)(_p3##x,y,z,c), I[169] = (T)(img)(_p2##x,y,z,c), I[170] = (T)(img)(_p1##x,y,z,c), I[171] = (T)(img)(x,y,z,c), I[172] = (T)(img)(_n1##x,y,z,c), I[173] = (T)(img)(_n2##x,y,z,c), I[174] = (T)(img)(_n3##x,y,z,c), \
+ I[175] = (T)(img)(_p3##x,_n1##y,z,c), I[176] = (T)(img)(_p2##x,_n1##y,z,c), I[177] = (T)(img)(_p1##x,_n1##y,z,c), I[178] = (T)(img)(x,_n1##y,z,c), I[179] = (T)(img)(_n1##x,_n1##y,z,c), I[180] = (T)(img)(_n2##x,_n1##y,z,c), I[181] = (T)(img)(_n3##x,_n1##y,z,c), \
+ I[182] = (T)(img)(_p3##x,_n2##y,z,c), I[183] = (T)(img)(_p2##x,_n2##y,z,c), I[184] = (T)(img)(_p1##x,_n2##y,z,c), I[185] = (T)(img)(x,_n2##y,z,c), I[186] = (T)(img)(_n1##x,_n2##y,z,c), I[187] = (T)(img)(_n2##x,_n2##y,z,c), I[188] = (T)(img)(_n3##x,_n2##y,z,c), \
+ I[189] = (T)(img)(_p3##x,_n3##y,z,c), I[190] = (T)(img)(_p2##x,_n3##y,z,c), I[191] = (T)(img)(_p1##x,_n3##y,z,c), I[192] = (T)(img)(x,_n3##y,z,c), I[193] = (T)(img)(_n1##x,_n3##y,z,c), I[194] = (T)(img)(_n2##x,_n3##y,z,c), I[195] = (T)(img)(_n3##x,_n3##y,z,c), \
+ I[196] = (T)(img)(_p3##x,_p3##y,_n1##z,c), I[197] = (T)(img)(_p2##x,_p3##y,_n1##z,c), I[198] = (T)(img)(_p1##x,_p3##y,_n1##z,c), I[199] = (T)(img)(x,_p3##y,_n1##z,c), I[200] = (T)(img)(_n1##x,_p3##y,_n1##z,c), I[201] = (T)(img)(_n2##x,_p3##y,_n1##z,c), I[202] = (T)(img)(_n3##x,_p3##y,_n1##z,c), \
+ I[203] = (T)(img)(_p3##x,_p2##y,_n1##z,c), I[204] = (T)(img)(_p2##x,_p2##y,_n1##z,c), I[205] = (T)(img)(_p1##x,_p2##y,_n1##z,c), I[206] = (T)(img)(x,_p2##y,_n1##z,c), I[207] = (T)(img)(_n1##x,_p2##y,_n1##z,c), I[208] = (T)(img)(_n2##x,_p2##y,_n1##z,c), I[209] = (T)(img)(_n3##x,_p2##y,_n1##z,c), \
+ I[210] = (T)(img)(_p3##x,_p1##y,_n1##z,c), I[211] = (T)(img)(_p2##x,_p1##y,_n1##z,c), I[212] = (T)(img)(_p1##x,_p1##y,_n1##z,c), I[213] = (T)(img)(x,_p1##y,_n1##z,c), I[214] = (T)(img)(_n1##x,_p1##y,_n1##z,c), I[215] = (T)(img)(_n2##x,_p1##y,_n1##z,c), I[216] = (T)(img)(_n3##x,_p1##y,_n1##z,c), \
+ I[217] = (T)(img)(_p3##x,y,_n1##z,c), I[218] = (T)(img)(_p2##x,y,_n1##z,c), I[219] = (T)(img)(_p1##x,y,_n1##z,c), I[220] = (T)(img)(x,y,_n1##z,c), I[221] = (T)(img)(_n1##x,y,_n1##z,c), I[222] = (T)(img)(_n2##x,y,_n1##z,c), I[223] = (T)(img)(_n3##x,y,_n1##z,c), \
+ I[224] = (T)(img)(_p3##x,_n1##y,_n1##z,c), I[225] = (T)(img)(_p2##x,_n1##y,_n1##z,c), I[226] = (T)(img)(_p1##x,_n1##y,_n1##z,c), I[227] = (T)(img)(x,_n1##y,_n1##z,c), I[228] = (T)(img)(_n1##x,_n1##y,_n1##z,c), I[229] = (T)(img)(_n2##x,_n1##y,_n1##z,c), I[230] = (T)(img)(_n3##x,_n1##y,_n1##z,c), \
+ I[231] = (T)(img)(_p3##x,_n2##y,_n1##z,c), I[232] = (T)(img)(_p2##x,_n2##y,_n1##z,c), I[233] = (T)(img)(_p1##x,_n2##y,_n1##z,c), I[234] = (T)(img)(x,_n2##y,_n1##z,c), I[235] = (T)(img)(_n1##x,_n2##y,_n1##z,c), I[236] = (T)(img)(_n2##x,_n2##y,_n1##z,c), I[237] = (T)(img)(_n3##x,_n2##y,_n1##z,c), \
+ I[238] = (T)(img)(_p3##x,_n3##y,_n1##z,c), I[239] = (T)(img)(_p2##x,_n3##y,_n1##z,c), I[240] = (T)(img)(_p1##x,_n3##y,_n1##z,c), I[241] = (T)(img)(x,_n3##y,_n1##z,c), I[242] = (T)(img)(_n1##x,_n3##y,_n1##z,c), I[243] = (T)(img)(_n2##x,_n3##y,_n1##z,c), I[244] = (T)(img)(_n3##x,_n3##y,_n1##z,c), \
+ I[245] = (T)(img)(_p3##x,_p3##y,_n2##z,c), I[246] = (T)(img)(_p2##x,_p3##y,_n2##z,c), I[247] = (T)(img)(_p1##x,_p3##y,_n2##z,c), I[248] = (T)(img)(x,_p3##y,_n2##z,c), I[249] = (T)(img)(_n1##x,_p3##y,_n2##z,c), I[250] = (T)(img)(_n2##x,_p3##y,_n2##z,c), I[251] = (T)(img)(_n3##x,_p3##y,_n2##z,c), \
+ I[252] = (T)(img)(_p3##x,_p2##y,_n2##z,c), I[253] = (T)(img)(_p2##x,_p2##y,_n2##z,c), I[254] = (T)(img)(_p1##x,_p2##y,_n2##z,c), I[255] = (T)(img)(x,_p2##y,_n2##z,c), I[256] = (T)(img)(_n1##x,_p2##y,_n2##z,c), I[257] = (T)(img)(_n2##x,_p2##y,_n2##z,c), I[258] = (T)(img)(_n3##x,_p2##y,_n2##z,c), \
+ I[259] = (T)(img)(_p3##x,_p1##y,_n2##z,c), I[260] = (T)(img)(_p2##x,_p1##y,_n2##z,c), I[261] = (T)(img)(_p1##x,_p1##y,_n2##z,c), I[262] = (T)(img)(x,_p1##y,_n2##z,c), I[263] = (T)(img)(_n1##x,_p1##y,_n2##z,c), I[264] = (T)(img)(_n2##x,_p1##y,_n2##z,c), I[265] = (T)(img)(_n3##x,_p1##y,_n2##z,c), \
+ I[266] = (T)(img)(_p3##x,y,_n2##z,c), I[267] = (T)(img)(_p2##x,y,_n2##z,c), I[268] = (T)(img)(_p1##x,y,_n2##z,c), I[269] = (T)(img)(x,y,_n2##z,c), I[270] = (T)(img)(_n1##x,y,_n2##z,c), I[271] = (T)(img)(_n2##x,y,_n2##z,c), I[272] = (T)(img)(_n3##x,y,_n2##z,c), \
+ I[273] = (T)(img)(_p3##x,_n1##y,_n2##z,c), I[274] = (T)(img)(_p2##x,_n1##y,_n2##z,c), I[275] = (T)(img)(_p1##x,_n1##y,_n2##z,c), I[276] = (T)(img)(x,_n1##y,_n2##z,c), I[277] = (T)(img)(_n1##x,_n1##y,_n2##z,c), I[278] = (T)(img)(_n2##x,_n1##y,_n2##z,c), I[279] = (T)(img)(_n3##x,_n1##y,_n2##z,c), \
+ I[280] = (T)(img)(_p3##x,_n2##y,_n2##z,c), I[281] = (T)(img)(_p2##x,_n2##y,_n2##z,c), I[282] = (T)(img)(_p1##x,_n2##y,_n2##z,c), I[283] = (T)(img)(x,_n2##y,_n2##z,c), I[284] = (T)(img)(_n1##x,_n2##y,_n2##z,c), I[285] = (T)(img)(_n2##x,_n2##y,_n2##z,c), I[286] = (T)(img)(_n3##x,_n2##y,_n2##z,c), \
+ I[287] = (T)(img)(_p3##x,_n3##y,_n2##z,c), I[288] = (T)(img)(_p2##x,_n3##y,_n2##z,c), I[289] = (T)(img)(_p1##x,_n3##y,_n2##z,c), I[290] = (T)(img)(x,_n3##y,_n2##z,c), I[291] = (T)(img)(_n1##x,_n3##y,_n2##z,c), I[292] = (T)(img)(_n2##x,_n3##y,_n2##z,c), I[293] = (T)(img)(_n3##x,_n3##y,_n2##z,c), \
+ I[294] = (T)(img)(_p3##x,_p3##y,_n3##z,c), I[295] = (T)(img)(_p2##x,_p3##y,_n3##z,c), I[296] = (T)(img)(_p1##x,_p3##y,_n3##z,c), I[297] = (T)(img)(x,_p3##y,_n3##z,c), I[298] = (T)(img)(_n1##x,_p3##y,_n3##z,c), I[299] = (T)(img)(_n2##x,_p3##y,_n3##z,c), I[300] = (T)(img)(_n3##x,_p3##y,_n3##z,c), \
+ I[301] = (T)(img)(_p3##x,_p2##y,_n3##z,c), I[302] = (T)(img)(_p2##x,_p2##y,_n3##z,c), I[303] = (T)(img)(_p1##x,_p2##y,_n3##z,c), I[304] = (T)(img)(x,_p2##y,_n3##z,c), I[305] = (T)(img)(_n1##x,_p2##y,_n3##z,c), I[306] = (T)(img)(_n2##x,_p2##y,_n3##z,c), I[307] = (T)(img)(_n3##x,_p2##y,_n3##z,c), \
+ I[308] = (T)(img)(_p3##x,_p1##y,_n3##z,c), I[309] = (T)(img)(_p2##x,_p1##y,_n3##z,c), I[310] = (T)(img)(_p1##x,_p1##y,_n3##z,c), I[311] = (T)(img)(x,_p1##y,_n3##z,c), I[312] = (T)(img)(_n1##x,_p1##y,_n3##z,c), I[313] = (T)(img)(_n2##x,_p1##y,_n3##z,c), I[314] = (T)(img)(_n3##x,_p1##y,_n3##z,c), \
+ I[315] = (T)(img)(_p3##x,y,_n3##z,c), I[316] = (T)(img)(_p2##x,y,_n3##z,c), I[317] = (T)(img)(_p1##x,y,_n3##z,c), I[318] = (T)(img)(x,y,_n3##z,c), I[319] = (T)(img)(_n1##x,y,_n3##z,c), I[320] = (T)(img)(_n2##x,y,_n3##z,c), I[321] = (T)(img)(_n3##x,y,_n3##z,c), \
+ I[322] = (T)(img)(_p3##x,_n1##y,_n3##z,c), I[323] = (T)(img)(_p2##x,_n1##y,_n3##z,c), I[324] = (T)(img)(_p1##x,_n1##y,_n3##z,c), I[325] = (T)(img)(x,_n1##y,_n3##z,c), I[326] = (T)(img)(_n1##x,_n1##y,_n3##z,c), I[327] = (T)(img)(_n2##x,_n1##y,_n3##z,c), I[328] = (T)(img)(_n3##x,_n1##y,_n3##z,c), \
+ I[329] = (T)(img)(_p3##x,_n2##y,_n3##z,c), I[330] = (T)(img)(_p2##x,_n2##y,_n3##z,c), I[331] = (T)(img)(_p1##x,_n2##y,_n3##z,c), I[332] = (T)(img)(x,_n2##y,_n3##z,c), I[333] = (T)(img)(_n1##x,_n2##y,_n3##z,c), I[334] = (T)(img)(_n2##x,_n2##y,_n3##z,c), I[335] = (T)(img)(_n3##x,_n2##y,_n3##z,c), \
+ I[336] = (T)(img)(_p3##x,_n3##y,_n3##z,c), I[337] = (T)(img)(_p2##x,_n3##y,_n3##z,c), I[338] = (T)(img)(_p1##x,_n3##y,_n3##z,c), I[339] = (T)(img)(x,_n3##y,_n3##z,c), I[340] = (T)(img)(_n1##x,_n3##y,_n3##z,c), I[341] = (T)(img)(_n2##x,_n3##y,_n3##z,c), I[342] = (T)(img)(_n3##x,_n3##y,_n3##z,c);
+
+// Define 8x8x8 loop macros
+//----------------------------
+#define cimg_for8x8x8(img,x,y,z,c,I,T) \
+ cimg_for8((img)._depth,z) cimg_for8((img)._height,y) for (int x = 0, \
+ _p3##x = 0, _p2##x = 0, _p1##x = 0, \
+ _n1##x = 1>=((img)._width)?(img).width() - 1:1, \
+ _n2##x = 2>=((img)._width)?(img).width() - 1:2, \
+ _n3##x = 3>=((img)._width)?(img).width() - 1:3, \
+ _n4##x = (int)( \
+ (I[0] = I[1] = I[2] = I[3] = (T)(img)(0,_p3##y,_p3##z,c)), \
+ (I[8] = I[9] = I[10] = I[11] = (T)(img)(0,_p2##y,_p3##z,c)), \
+ (I[16] = I[17] = I[18] = I[19] = (T)(img)(0,_p1##y,_p3##z,c)), \
+ (I[24] = I[25] = I[26] = I[27] = (T)(img)(0,y,_p3##z,c)), \
+ (I[32] = I[33] = I[34] = I[35] = (T)(img)(0,_n1##y,_p3##z,c)), \
+ (I[40] = I[41] = I[42] = I[43] = (T)(img)(0,_n2##y,_p3##z,c)), \
+ (I[48] = I[49] = I[50] = I[51] = (T)(img)(0,_n3##y,_p3##z,c)), \
+ (I[56] = I[57] = I[58] = I[59] = (T)(img)(0,_n4##y,_p3##z,c)), \
+ (I[64] = I[65] = I[66] = I[67] = (T)(img)(0,_p3##y,_p2##z,c)), \
+ (I[72] = I[73] = I[74] = I[75] = (T)(img)(0,_p2##y,_p2##z,c)), \
+ (I[80] = I[81] = I[82] = I[83] = (T)(img)(0,_p1##y,_p2##z,c)), \
+ (I[88] = I[89] = I[90] = I[91] = (T)(img)(0,y,_p2##z,c)), \
+ (I[96] = I[97] = I[98] = I[99] = (T)(img)(0,_n1##y,_p2##z,c)), \
+ (I[104] = I[105] = I[106] = I[107] = (T)(img)(0,_n2##y,_p2##z,c)), \
+ (I[112] = I[113] = I[114] = I[115] = (T)(img)(0,_n3##y,_p2##z,c)), \
+ (I[120] = I[121] = I[122] = I[123] = (T)(img)(0,_n4##y,_p2##z,c)), \
+ (I[128] = I[129] = I[130] = I[131] = (T)(img)(0,_p3##y,_p1##z,c)), \
+ (I[136] = I[137] = I[138] = I[139] = (T)(img)(0,_p2##y,_p1##z,c)), \
+ (I[144] = I[145] = I[146] = I[147] = (T)(img)(0,_p1##y,_p1##z,c)), \
+ (I[152] = I[153] = I[154] = I[155] = (T)(img)(0,y,_p1##z,c)), \
+ (I[160] = I[161] = I[162] = I[163] = (T)(img)(0,_n1##y,_p1##z,c)), \
+ (I[168] = I[169] = I[170] = I[171] = (T)(img)(0,_n2##y,_p1##z,c)), \
+ (I[176] = I[177] = I[178] = I[179] = (T)(img)(0,_n3##y,_p1##z,c)), \
+ (I[184] = I[185] = I[186] = I[187] = (T)(img)(0,_n4##y,_p1##z,c)), \
+ (I[192] = I[193] = I[194] = I[195] = (T)(img)(0,_p3##y,z,c)), \
+ (I[200] = I[201] = I[202] = I[203] = (T)(img)(0,_p2##y,z,c)), \
+ (I[208] = I[209] = I[210] = I[211] = (T)(img)(0,_p1##y,z,c)), \
+ (I[216] = I[217] = I[218] = I[219] = (T)(img)(0,y,z,c)), \
+ (I[224] = I[225] = I[226] = I[227] = (T)(img)(0,_n1##y,z,c)), \
+ (I[232] = I[233] = I[234] = I[235] = (T)(img)(0,_n2##y,z,c)), \
+ (I[240] = I[241] = I[242] = I[243] = (T)(img)(0,_n3##y,z,c)), \
+ (I[248] = I[249] = I[250] = I[251] = (T)(img)(0,_n4##y,z,c)), \
+ (I[256] = I[257] = I[258] = I[259] = (T)(img)(0,_p3##y,_n1##z,c)), \
+ (I[264] = I[265] = I[266] = I[267] = (T)(img)(0,_p2##y,_n1##z,c)), \
+ (I[272] = I[273] = I[274] = I[275] = (T)(img)(0,_p1##y,_n1##z,c)), \
+ (I[280] = I[281] = I[282] = I[283] = (T)(img)(0,y,_n1##z,c)), \
+ (I[288] = I[289] = I[290] = I[291] = (T)(img)(0,_n1##y,_n1##z,c)), \
+ (I[296] = I[297] = I[298] = I[299] = (T)(img)(0,_n2##y,_n1##z,c)), \
+ (I[304] = I[305] = I[306] = I[307] = (T)(img)(0,_n3##y,_n1##z,c)), \
+ (I[312] = I[313] = I[314] = I[315] = (T)(img)(0,_n4##y,_n1##z,c)), \
+ (I[320] = I[321] = I[322] = I[323] = (T)(img)(0,_p3##y,_n2##z,c)), \
+ (I[328] = I[329] = I[330] = I[331] = (T)(img)(0,_p2##y,_n2##z,c)), \
+ (I[336] = I[337] = I[338] = I[339] = (T)(img)(0,_p1##y,_n2##z,c)), \
+ (I[344] = I[345] = I[346] = I[347] = (T)(img)(0,y,_n2##z,c)), \
+ (I[352] = I[353] = I[354] = I[355] = (T)(img)(0,_n1##y,_n2##z,c)), \
+ (I[360] = I[361] = I[362] = I[363] = (T)(img)(0,_n2##y,_n2##z,c)), \
+ (I[368] = I[369] = I[370] = I[371] = (T)(img)(0,_n3##y,_n2##z,c)), \
+ (I[376] = I[377] = I[378] = I[379] = (T)(img)(0,_n4##y,_n2##z,c)), \
+ (I[384] = I[385] = I[386] = I[387] = (T)(img)(0,_p3##y,_n3##z,c)), \
+ (I[392] = I[393] = I[394] = I[395] = (T)(img)(0,_p2##y,_n3##z,c)), \
+ (I[400] = I[401] = I[402] = I[403] = (T)(img)(0,_p1##y,_n3##z,c)), \
+ (I[408] = I[409] = I[410] = I[411] = (T)(img)(0,y,_n3##z,c)), \
+ (I[416] = I[417] = I[418] = I[419] = (T)(img)(0,_n1##y,_n3##z,c)), \
+ (I[424] = I[425] = I[426] = I[427] = (T)(img)(0,_n2##y,_n3##z,c)), \
+ (I[432] = I[433] = I[434] = I[435] = (T)(img)(0,_n3##y,_n3##z,c)), \
+ (I[440] = I[441] = I[442] = I[443] = (T)(img)(0,_n4##y,_n3##z,c)), \
+ (I[448] = I[449] = I[450] = I[451] = (T)(img)(0,_p3##y,_n4##z,c)), \
+ (I[456] = I[457] = I[458] = I[459] = (T)(img)(0,_p2##y,_n4##z,c)), \
+ (I[464] = I[465] = I[466] = I[467] = (T)(img)(0,_p1##y,_n4##z,c)), \
+ (I[472] = I[473] = I[474] = I[475] = (T)(img)(0,y,_n4##z,c)), \
+ (I[480] = I[481] = I[482] = I[483] = (T)(img)(0,_n1##y,_n4##z,c)), \
+ (I[488] = I[489] = I[490] = I[491] = (T)(img)(0,_n2##y,_n4##z,c)), \
+ (I[496] = I[497] = I[498] = I[499] = (T)(img)(0,_n3##y,_n4##z,c)), \
+ (I[504] = I[505] = I[506] = I[507] = (T)(img)(0,_n4##y,_n4##z,c)), \
+ (I[4] = (T)(img)(_n1##x,_p3##y,_p3##z,c)), \
+ (I[12] = (T)(img)(_n1##x,_p2##y,_p3##z,c)), \
+ (I[20] = (T)(img)(_n1##x,_p1##y,_p3##z,c)), \
+ (I[28] = (T)(img)(_n1##x,y,_p3##z,c)), \
+ (I[36] = (T)(img)(_n1##x,_n1##y,_p3##z,c)), \
+ (I[44] = (T)(img)(_n1##x,_n2##y,_p3##z,c)), \
+ (I[52] = (T)(img)(_n1##x,_n3##y,_p3##z,c)), \
+ (I[60] = (T)(img)(_n1##x,_n4##y,_p3##z,c)), \
+ (I[68] = (T)(img)(_n1##x,_p3##y,_p2##z,c)), \
+ (I[76] = (T)(img)(_n1##x,_p2##y,_p2##z,c)), \
+ (I[84] = (T)(img)(_n1##x,_p1##y,_p2##z,c)), \
+ (I[92] = (T)(img)(_n1##x,y,_p2##z,c)), \
+ (I[100] = (T)(img)(_n1##x,_n1##y,_p2##z,c)), \
+ (I[108] = (T)(img)(_n1##x,_n2##y,_p2##z,c)), \
+ (I[116] = (T)(img)(_n1##x,_n3##y,_p2##z,c)), \
+ (I[124] = (T)(img)(_n1##x,_n4##y,_p2##z,c)), \
+ (I[132] = (T)(img)(_n1##x,_p3##y,_p1##z,c)), \
+ (I[140] = (T)(img)(_n1##x,_p2##y,_p1##z,c)), \
+ (I[148] = (T)(img)(_n1##x,_p1##y,_p1##z,c)), \
+ (I[156] = (T)(img)(_n1##x,y,_p1##z,c)), \
+ (I[164] = (T)(img)(_n1##x,_n1##y,_p1##z,c)), \
+ (I[172] = (T)(img)(_n1##x,_n2##y,_p1##z,c)), \
+ (I[180] = (T)(img)(_n1##x,_n3##y,_p1##z,c)), \
+ (I[188] = (T)(img)(_n1##x,_n4##y,_p1##z,c)), \
+ (I[196] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[204] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[212] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[220] = (T)(img)(_n1##x,y,z,c)), \
+ (I[228] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[236] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[244] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[252] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[260] = (T)(img)(_n1##x,_p3##y,_n1##z,c)), \
+ (I[268] = (T)(img)(_n1##x,_p2##y,_n1##z,c)), \
+ (I[276] = (T)(img)(_n1##x,_p1##y,_n1##z,c)), \
+ (I[284] = (T)(img)(_n1##x,y,_n1##z,c)), \
+ (I[292] = (T)(img)(_n1##x,_n1##y,_n1##z,c)), \
+ (I[300] = (T)(img)(_n1##x,_n2##y,_n1##z,c)), \
+ (I[308] = (T)(img)(_n1##x,_n3##y,_n1##z,c)), \
+ (I[316] = (T)(img)(_n1##x,_n4##y,_n1##z,c)), \
+ (I[324] = (T)(img)(_n1##x,_p3##y,_n2##z,c)), \
+ (I[332] = (T)(img)(_n1##x,_p2##y,_n2##z,c)), \
+ (I[340] = (T)(img)(_n1##x,_p1##y,_n2##z,c)), \
+ (I[348] = (T)(img)(_n1##x,y,_n2##z,c)), \
+ (I[356] = (T)(img)(_n1##x,_n1##y,_n2##z,c)), \
+ (I[364] = (T)(img)(_n1##x,_n2##y,_n2##z,c)), \
+ (I[372] = (T)(img)(_n1##x,_n3##y,_n2##z,c)), \
+ (I[380] = (T)(img)(_n1##x,_n4##y,_n2##z,c)), \
+ (I[388] = (T)(img)(_n1##x,_p3##y,_n3##z,c)), \
+ (I[396] = (T)(img)(_n1##x,_p2##y,_n3##z,c)), \
+ (I[404] = (T)(img)(_n1##x,_p1##y,_n3##z,c)), \
+ (I[412] = (T)(img)(_n1##x,y,_n3##z,c)), \
+ (I[420] = (T)(img)(_n1##x,_n1##y,_n3##z,c)), \
+ (I[428] = (T)(img)(_n1##x,_n2##y,_n3##z,c)), \
+ (I[436] = (T)(img)(_n1##x,_n3##y,_n3##z,c)), \
+ (I[444] = (T)(img)(_n1##x,_n4##y,_n3##z,c)), \
+ (I[452] = (T)(img)(_n1##x,_p3##y,_n4##z,c)), \
+ (I[460] = (T)(img)(_n1##x,_p2##y,_n4##z,c)), \
+ (I[468] = (T)(img)(_n1##x,_p1##y,_n4##z,c)), \
+ (I[476] = (T)(img)(_n1##x,y,_n4##z,c)), \
+ (I[484] = (T)(img)(_n1##x,_n1##y,_n4##z,c)), \
+ (I[492] = (T)(img)(_n1##x,_n2##y,_n4##z,c)), \
+ (I[500] = (T)(img)(_n1##x,_n3##y,_n4##z,c)), \
+ (I[508] = (T)(img)(_n1##x,_n4##y,_n4##z,c)), \
+ (I[5] = (T)(img)(_n2##x,_p3##y,_p3##z,c)), \
+ (I[13] = (T)(img)(_n2##x,_p2##y,_p3##z,c)), \
+ (I[21] = (T)(img)(_n2##x,_p1##y,_p3##z,c)), \
+ (I[29] = (T)(img)(_n2##x,y,_p3##z,c)), \
+ (I[37] = (T)(img)(_n2##x,_n1##y,_p3##z,c)), \
+ (I[45] = (T)(img)(_n2##x,_n2##y,_p3##z,c)), \
+ (I[53] = (T)(img)(_n2##x,_n3##y,_p3##z,c)), \
+ (I[61] = (T)(img)(_n2##x,_n4##y,_p3##z,c)), \
+ (I[69] = (T)(img)(_n2##x,_p3##y,_p2##z,c)), \
+ (I[77] = (T)(img)(_n2##x,_p2##y,_p2##z,c)), \
+ (I[85] = (T)(img)(_n2##x,_p1##y,_p2##z,c)), \
+ (I[93] = (T)(img)(_n2##x,y,_p2##z,c)), \
+ (I[101] = (T)(img)(_n2##x,_n1##y,_p2##z,c)), \
+ (I[109] = (T)(img)(_n2##x,_n2##y,_p2##z,c)), \
+ (I[117] = (T)(img)(_n2##x,_n3##y,_p2##z,c)), \
+ (I[125] = (T)(img)(_n2##x,_n4##y,_p2##z,c)), \
+ (I[133] = (T)(img)(_n2##x,_p3##y,_p1##z,c)), \
+ (I[141] = (T)(img)(_n2##x,_p2##y,_p1##z,c)), \
+ (I[149] = (T)(img)(_n2##x,_p1##y,_p1##z,c)), \
+ (I[157] = (T)(img)(_n2##x,y,_p1##z,c)), \
+ (I[165] = (T)(img)(_n2##x,_n1##y,_p1##z,c)), \
+ (I[173] = (T)(img)(_n2##x,_n2##y,_p1##z,c)), \
+ (I[181] = (T)(img)(_n2##x,_n3##y,_p1##z,c)), \
+ (I[189] = (T)(img)(_n2##x,_n4##y,_p1##z,c)), \
+ (I[197] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[205] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[213] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[221] = (T)(img)(_n2##x,y,z,c)), \
+ (I[229] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[237] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[245] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[253] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[261] = (T)(img)(_n2##x,_p3##y,_n1##z,c)), \
+ (I[269] = (T)(img)(_n2##x,_p2##y,_n1##z,c)), \
+ (I[277] = (T)(img)(_n2##x,_p1##y,_n1##z,c)), \
+ (I[285] = (T)(img)(_n2##x,y,_n1##z,c)), \
+ (I[293] = (T)(img)(_n2##x,_n1##y,_n1##z,c)), \
+ (I[301] = (T)(img)(_n2##x,_n2##y,_n1##z,c)), \
+ (I[309] = (T)(img)(_n2##x,_n3##y,_n1##z,c)), \
+ (I[317] = (T)(img)(_n2##x,_n4##y,_n1##z,c)), \
+ (I[325] = (T)(img)(_n2##x,_p3##y,_n2##z,c)), \
+ (I[333] = (T)(img)(_n2##x,_p2##y,_n2##z,c)), \
+ (I[341] = (T)(img)(_n2##x,_p1##y,_n2##z,c)), \
+ (I[349] = (T)(img)(_n2##x,y,_n2##z,c)), \
+ (I[357] = (T)(img)(_n2##x,_n1##y,_n2##z,c)), \
+ (I[365] = (T)(img)(_n2##x,_n2##y,_n2##z,c)), \
+ (I[373] = (T)(img)(_n2##x,_n3##y,_n2##z,c)), \
+ (I[381] = (T)(img)(_n2##x,_n4##y,_n2##z,c)), \
+ (I[389] = (T)(img)(_n2##x,_p3##y,_n3##z,c)), \
+ (I[397] = (T)(img)(_n2##x,_p2##y,_n3##z,c)), \
+ (I[405] = (T)(img)(_n2##x,_p1##y,_n3##z,c)), \
+ (I[413] = (T)(img)(_n2##x,y,_n3##z,c)), \
+ (I[421] = (T)(img)(_n2##x,_n1##y,_n3##z,c)), \
+ (I[429] = (T)(img)(_n2##x,_n2##y,_n3##z,c)), \
+ (I[437] = (T)(img)(_n2##x,_n3##y,_n3##z,c)), \
+ (I[445] = (T)(img)(_n2##x,_n4##y,_n3##z,c)), \
+ (I[453] = (T)(img)(_n2##x,_p3##y,_n4##z,c)), \
+ (I[461] = (T)(img)(_n2##x,_p2##y,_n4##z,c)), \
+ (I[469] = (T)(img)(_n2##x,_p1##y,_n4##z,c)), \
+ (I[477] = (T)(img)(_n2##x,y,_n4##z,c)), \
+ (I[485] = (T)(img)(_n2##x,_n1##y,_n4##z,c)), \
+ (I[493] = (T)(img)(_n2##x,_n2##y,_n4##z,c)), \
+ (I[501] = (T)(img)(_n2##x,_n3##y,_n4##z,c)), \
+ (I[509] = (T)(img)(_n2##x,_n4##y,_n4##z,c)), \
+ (I[6] = (T)(img)(_n3##x,_p3##y,_p3##z,c)), \
+ (I[14] = (T)(img)(_n3##x,_p2##y,_p3##z,c)), \
+ (I[22] = (T)(img)(_n3##x,_p1##y,_p3##z,c)), \
+ (I[30] = (T)(img)(_n3##x,y,_p3##z,c)), \
+ (I[38] = (T)(img)(_n3##x,_n1##y,_p3##z,c)), \
+ (I[46] = (T)(img)(_n3##x,_n2##y,_p3##z,c)), \
+ (I[54] = (T)(img)(_n3##x,_n3##y,_p3##z,c)), \
+ (I[62] = (T)(img)(_n3##x,_n4##y,_p3##z,c)), \
+ (I[70] = (T)(img)(_n3##x,_p3##y,_p2##z,c)), \
+ (I[78] = (T)(img)(_n3##x,_p2##y,_p2##z,c)), \
+ (I[86] = (T)(img)(_n3##x,_p1##y,_p2##z,c)), \
+ (I[94] = (T)(img)(_n3##x,y,_p2##z,c)), \
+ (I[102] = (T)(img)(_n3##x,_n1##y,_p2##z,c)), \
+ (I[110] = (T)(img)(_n3##x,_n2##y,_p2##z,c)), \
+ (I[118] = (T)(img)(_n3##x,_n3##y,_p2##z,c)), \
+ (I[126] = (T)(img)(_n3##x,_n4##y,_p2##z,c)), \
+ (I[134] = (T)(img)(_n3##x,_p3##y,_p1##z,c)), \
+ (I[142] = (T)(img)(_n3##x,_p2##y,_p1##z,c)), \
+ (I[150] = (T)(img)(_n3##x,_p1##y,_p1##z,c)), \
+ (I[158] = (T)(img)(_n3##x,y,_p1##z,c)), \
+ (I[166] = (T)(img)(_n3##x,_n1##y,_p1##z,c)), \
+ (I[174] = (T)(img)(_n3##x,_n2##y,_p1##z,c)), \
+ (I[182] = (T)(img)(_n3##x,_n3##y,_p1##z,c)), \
+ (I[190] = (T)(img)(_n3##x,_n4##y,_p1##z,c)), \
+ (I[198] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[206] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[214] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[222] = (T)(img)(_n3##x,y,z,c)), \
+ (I[230] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[238] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[246] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[254] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[262] = (T)(img)(_n3##x,_p3##y,_n1##z,c)), \
+ (I[270] = (T)(img)(_n3##x,_p2##y,_n1##z,c)), \
+ (I[278] = (T)(img)(_n3##x,_p1##y,_n1##z,c)), \
+ (I[286] = (T)(img)(_n3##x,y,_n1##z,c)), \
+ (I[294] = (T)(img)(_n3##x,_n1##y,_n1##z,c)), \
+ (I[302] = (T)(img)(_n3##x,_n2##y,_n1##z,c)), \
+ (I[310] = (T)(img)(_n3##x,_n3##y,_n1##z,c)), \
+ (I[318] = (T)(img)(_n3##x,_n4##y,_n1##z,c)), \
+ (I[326] = (T)(img)(_n3##x,_p3##y,_n2##z,c)), \
+ (I[334] = (T)(img)(_n3##x,_p2##y,_n2##z,c)), \
+ (I[342] = (T)(img)(_n3##x,_p1##y,_n2##z,c)), \
+ (I[350] = (T)(img)(_n3##x,y,_n2##z,c)), \
+ (I[358] = (T)(img)(_n3##x,_n1##y,_n2##z,c)), \
+ (I[366] = (T)(img)(_n3##x,_n2##y,_n2##z,c)), \
+ (I[374] = (T)(img)(_n3##x,_n3##y,_n2##z,c)), \
+ (I[382] = (T)(img)(_n3##x,_n4##y,_n2##z,c)), \
+ (I[390] = (T)(img)(_n3##x,_p3##y,_n3##z,c)), \
+ (I[398] = (T)(img)(_n3##x,_p2##y,_n3##z,c)), \
+ (I[406] = (T)(img)(_n3##x,_p1##y,_n3##z,c)), \
+ (I[414] = (T)(img)(_n3##x,y,_n3##z,c)), \
+ (I[422] = (T)(img)(_n3##x,_n1##y,_n3##z,c)), \
+ (I[430] = (T)(img)(_n3##x,_n2##y,_n3##z,c)), \
+ (I[438] = (T)(img)(_n3##x,_n3##y,_n3##z,c)), \
+ (I[446] = (T)(img)(_n3##x,_n4##y,_n3##z,c)), \
+ (I[454] = (T)(img)(_n3##x,_p3##y,_n4##z,c)), \
+ (I[462] = (T)(img)(_n3##x,_p2##y,_n4##z,c)), \
+ (I[470] = (T)(img)(_n3##x,_p1##y,_n4##z,c)), \
+ (I[478] = (T)(img)(_n3##x,y,_n4##z,c)), \
+ (I[486] = (T)(img)(_n3##x,_n1##y,_n4##z,c)), \
+ (I[494] = (T)(img)(_n3##x,_n2##y,_n4##z,c)), \
+ (I[502] = (T)(img)(_n3##x,_n3##y,_n4##z,c)), \
+ (I[510] = (T)(img)(_n3##x,_n4##y,_n4##z,c)), \
+ 4>=((img)._width)?(img).width() - 1:4); \
+ (_n4##x<(img).width() && ( \
+ (I[7] = (T)(img)(_n4##x,_p3##y,_p3##z,c)), \
+ (I[15] = (T)(img)(_n4##x,_p2##y,_p3##z,c)), \
+ (I[23] = (T)(img)(_n4##x,_p1##y,_p3##z,c)), \
+ (I[31] = (T)(img)(_n4##x,y,_p3##z,c)), \
+ (I[39] = (T)(img)(_n4##x,_n1##y,_p3##z,c)), \
+ (I[47] = (T)(img)(_n4##x,_n2##y,_p3##z,c)), \
+ (I[55] = (T)(img)(_n4##x,_n3##y,_p3##z,c)), \
+ (I[63] = (T)(img)(_n4##x,_n4##y,_p3##z,c)), \
+ (I[71] = (T)(img)(_n4##x,_p3##y,_p2##z,c)), \
+ (I[79] = (T)(img)(_n4##x,_p2##y,_p2##z,c)), \
+ (I[87] = (T)(img)(_n4##x,_p1##y,_p2##z,c)), \
+ (I[95] = (T)(img)(_n4##x,y,_p2##z,c)), \
+ (I[103] = (T)(img)(_n4##x,_n1##y,_p2##z,c)), \
+ (I[111] = (T)(img)(_n4##x,_n2##y,_p2##z,c)), \
+ (I[119] = (T)(img)(_n4##x,_n3##y,_p2##z,c)), \
+ (I[127] = (T)(img)(_n4##x,_n4##y,_p2##z,c)), \
+ (I[135] = (T)(img)(_n4##x,_p3##y,_p1##z,c)), \
+ (I[143] = (T)(img)(_n4##x,_p2##y,_p1##z,c)), \
+ (I[151] = (T)(img)(_n4##x,_p1##y,_p1##z,c)), \
+ (I[159] = (T)(img)(_n4##x,y,_p1##z,c)), \
+ (I[167] = (T)(img)(_n4##x,_n1##y,_p1##z,c)), \
+ (I[175] = (T)(img)(_n4##x,_n2##y,_p1##z,c)), \
+ (I[183] = (T)(img)(_n4##x,_n3##y,_p1##z,c)), \
+ (I[191] = (T)(img)(_n4##x,_n4##y,_p1##z,c)), \
+ (I[199] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[207] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[215] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[223] = (T)(img)(_n4##x,y,z,c)), \
+ (I[231] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[239] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[247] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[255] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[263] = (T)(img)(_n4##x,_p3##y,_n1##z,c)), \
+ (I[271] = (T)(img)(_n4##x,_p2##y,_n1##z,c)), \
+ (I[279] = (T)(img)(_n4##x,_p1##y,_n1##z,c)), \
+ (I[287] = (T)(img)(_n4##x,y,_n1##z,c)), \
+ (I[295] = (T)(img)(_n4##x,_n1##y,_n1##z,c)), \
+ (I[303] = (T)(img)(_n4##x,_n2##y,_n1##z,c)), \
+ (I[311] = (T)(img)(_n4##x,_n3##y,_n1##z,c)), \
+ (I[319] = (T)(img)(_n4##x,_n4##y,_n1##z,c)), \
+ (I[327] = (T)(img)(_n4##x,_p3##y,_n2##z,c)), \
+ (I[335] = (T)(img)(_n4##x,_p2##y,_n2##z,c)), \
+ (I[343] = (T)(img)(_n4##x,_p1##y,_n2##z,c)), \
+ (I[351] = (T)(img)(_n4##x,y,_n2##z,c)), \
+ (I[359] = (T)(img)(_n4##x,_n1##y,_n2##z,c)), \
+ (I[367] = (T)(img)(_n4##x,_n2##y,_n2##z,c)), \
+ (I[375] = (T)(img)(_n4##x,_n3##y,_n2##z,c)), \
+ (I[383] = (T)(img)(_n4##x,_n4##y,_n2##z,c)), \
+ (I[391] = (T)(img)(_n4##x,_p3##y,_n3##z,c)), \
+ (I[399] = (T)(img)(_n4##x,_p2##y,_n3##z,c)), \
+ (I[407] = (T)(img)(_n4##x,_p1##y,_n3##z,c)), \
+ (I[415] = (T)(img)(_n4##x,y,_n3##z,c)), \
+ (I[423] = (T)(img)(_n4##x,_n1##y,_n3##z,c)), \
+ (I[431] = (T)(img)(_n4##x,_n2##y,_n3##z,c)), \
+ (I[439] = (T)(img)(_n4##x,_n3##y,_n3##z,c)), \
+ (I[447] = (T)(img)(_n4##x,_n4##y,_n3##z,c)), \
+ (I[455] = (T)(img)(_n4##x,_p3##y,_n4##z,c)), \
+ (I[463] = (T)(img)(_n4##x,_p2##y,_n4##z,c)), \
+ (I[471] = (T)(img)(_n4##x,_p1##y,_n4##z,c)), \
+ (I[479] = (T)(img)(_n4##x,y,_n4##z,c)), \
+ (I[487] = (T)(img)(_n4##x,_n1##y,_n4##z,c)), \
+ (I[495] = (T)(img)(_n4##x,_n2##y,_n4##z,c)), \
+ (I[503] = (T)(img)(_n4##x,_n3##y,_n4##z,c)), \
+ (I[511] = (T)(img)(_n4##x,_n4##y,_n4##z,c)),1)) || \
+ _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n4##x = _n3##x = _n2##x = --_n1##x); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], \
+ I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], \
+ I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], \
+ I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], \
+ I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], \
+ I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], \
+ I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], \
+ I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], \
+ I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], \
+ I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], \
+ I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], \
+ I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], \
+ I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], \
+ I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], \
+ I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], \
+ I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], \
+ I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], \
+ I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], \
+ I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], \
+ I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], \
+ I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], \
+ I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], \
+ I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], \
+ I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], \
+ I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], \
+ I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], \
+ I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], \
+ I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], \
+ I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], \
+ I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], \
+ I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], \
+ I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], \
+ I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], \
+ I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], \
+ I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], \
+ I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], \
+ I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], \
+ I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], \
+ I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], \
+ I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], \
+ I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], \
+ I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], \
+ I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], \
+ I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], \
+ I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], \
+ I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], \
+ I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], \
+ I[376] = I[377], I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], \
+ I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], \
+ I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], \
+ I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], \
+ I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], \
+ I[416] = I[417], I[417] = I[418], I[418] = I[419], I[419] = I[420], I[420] = I[421], I[421] = I[422], I[422] = I[423], \
+ I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], \
+ I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], \
+ I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], \
+ I[448] = I[449], I[449] = I[450], I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], \
+ I[456] = I[457], I[457] = I[458], I[458] = I[459], I[459] = I[460], I[460] = I[461], I[461] = I[462], I[462] = I[463], \
+ I[464] = I[465], I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], \
+ I[472] = I[473], I[473] = I[474], I[474] = I[475], I[475] = I[476], I[476] = I[477], I[477] = I[478], I[478] = I[479], \
+ I[480] = I[481], I[481] = I[482], I[482] = I[483], I[483] = I[484], I[484] = I[485], I[485] = I[486], I[486] = I[487], \
+ I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], I[492] = I[493], I[493] = I[494], I[494] = I[495], \
+ I[496] = I[497], I[497] = I[498], I[498] = I[499], I[499] = I[500], I[500] = I[501], I[501] = I[502], I[502] = I[503], \
+ I[504] = I[505], I[505] = I[506], I[506] = I[507], I[507] = I[508], I[508] = I[509], I[509] = I[510], I[510] = I[511], \
+ _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x)
+
+#define cimg_for_in8x8x8(img,x0,y0,z0,x1,y1,z1,x,y,z,c,I,T) \
+ cimg_for_in8((img)._depth,z0,z1,z) cimg_for_in8((img)._height,y0,y1,y) for (int x = (int)(x0)<0?0:(int)(x0), \
+ _p3##x = x - 3<0?0:x - 3, \
+ _p2##x = x - 2<0?0:x - 2, \
+ _p1##x = x - 1<0?0:x - 1, \
+ _n1##x = x + 1>=(img).width()?(img).width() - 1:x + 1, \
+ _n2##x = x + 2>=(img).width()?(img).width() - 1:x + 2, \
+ _n3##x = x + 3>=(img).width()?(img).width() - 1:x + 3, \
+ _n4##x = (int)( \
+ (I[0] = (T)(img)(_p3##x,_p3##y,_p3##z,c)), \
+ (I[8] = (T)(img)(_p3##x,_p2##y,_p3##z,c)), \
+ (I[16] = (T)(img)(_p3##x,_p1##y,_p3##z,c)), \
+ (I[24] = (T)(img)(_p3##x,y,_p3##z,c)), \
+ (I[32] = (T)(img)(_p3##x,_n1##y,_p3##z,c)), \
+ (I[40] = (T)(img)(_p3##x,_n2##y,_p3##z,c)), \
+ (I[48] = (T)(img)(_p3##x,_n3##y,_p3##z,c)), \
+ (I[56] = (T)(img)(_p3##x,_n4##y,_p3##z,c)), \
+ (I[64] = (T)(img)(_p3##x,_p3##y,_p2##z,c)), \
+ (I[72] = (T)(img)(_p3##x,_p2##y,_p2##z,c)), \
+ (I[80] = (T)(img)(_p3##x,_p1##y,_p2##z,c)), \
+ (I[88] = (T)(img)(_p3##x,y,_p2##z,c)), \
+ (I[96] = (T)(img)(_p3##x,_n1##y,_p2##z,c)), \
+ (I[104] = (T)(img)(_p3##x,_n2##y,_p2##z,c)), \
+ (I[112] = (T)(img)(_p3##x,_n3##y,_p2##z,c)), \
+ (I[120] = (T)(img)(_p3##x,_n4##y,_p2##z,c)), \
+ (I[128] = (T)(img)(_p3##x,_p3##y,_p1##z,c)), \
+ (I[136] = (T)(img)(_p3##x,_p2##y,_p1##z,c)), \
+ (I[144] = (T)(img)(_p3##x,_p1##y,_p1##z,c)), \
+ (I[152] = (T)(img)(_p3##x,y,_p1##z,c)), \
+ (I[160] = (T)(img)(_p3##x,_n1##y,_p1##z,c)), \
+ (I[168] = (T)(img)(_p3##x,_n2##y,_p1##z,c)), \
+ (I[176] = (T)(img)(_p3##x,_n3##y,_p1##z,c)), \
+ (I[184] = (T)(img)(_p3##x,_n4##y,_p1##z,c)), \
+ (I[192] = (T)(img)(_p3##x,_p3##y,z,c)), \
+ (I[200] = (T)(img)(_p3##x,_p2##y,z,c)), \
+ (I[208] = (T)(img)(_p3##x,_p1##y,z,c)), \
+ (I[216] = (T)(img)(_p3##x,y,z,c)), \
+ (I[224] = (T)(img)(_p3##x,_n1##y,z,c)), \
+ (I[232] = (T)(img)(_p3##x,_n2##y,z,c)), \
+ (I[240] = (T)(img)(_p3##x,_n3##y,z,c)), \
+ (I[248] = (T)(img)(_p3##x,_n4##y,z,c)), \
+ (I[256] = (T)(img)(_p3##x,_p3##y,_n1##z,c)), \
+ (I[264] = (T)(img)(_p3##x,_p2##y,_n1##z,c)), \
+ (I[272] = (T)(img)(_p3##x,_p1##y,_n1##z,c)), \
+ (I[280] = (T)(img)(_p3##x,y,_n1##z,c)), \
+ (I[288] = (T)(img)(_p3##x,_n1##y,_n1##z,c)), \
+ (I[296] = (T)(img)(_p3##x,_n2##y,_n1##z,c)), \
+ (I[304] = (T)(img)(_p3##x,_n3##y,_n1##z,c)), \
+ (I[312] = (T)(img)(_p3##x,_n4##y,_n1##z,c)), \
+ (I[320] = (T)(img)(_p3##x,_p3##y,_n2##z,c)), \
+ (I[328] = (T)(img)(_p3##x,_p2##y,_n2##z,c)), \
+ (I[336] = (T)(img)(_p3##x,_p1##y,_n2##z,c)), \
+ (I[344] = (T)(img)(_p3##x,y,_n2##z,c)), \
+ (I[352] = (T)(img)(_p3##x,_n1##y,_n2##z,c)), \
+ (I[360] = (T)(img)(_p3##x,_n2##y,_n2##z,c)), \
+ (I[368] = (T)(img)(_p3##x,_n3##y,_n2##z,c)), \
+ (I[376] = (T)(img)(_p3##x,_n4##y,_n2##z,c)), \
+ (I[384] = (T)(img)(_p3##x,_p3##y,_n3##z,c)), \
+ (I[392] = (T)(img)(_p3##x,_p2##y,_n3##z,c)), \
+ (I[400] = (T)(img)(_p3##x,_p1##y,_n3##z,c)), \
+ (I[408] = (T)(img)(_p3##x,y,_n3##z,c)), \
+ (I[416] = (T)(img)(_p3##x,_n1##y,_n3##z,c)), \
+ (I[424] = (T)(img)(_p3##x,_n2##y,_n3##z,c)), \
+ (I[432] = (T)(img)(_p3##x,_n3##y,_n3##z,c)), \
+ (I[440] = (T)(img)(_p3##x,_n4##y,_n3##z,c)), \
+ (I[448] = (T)(img)(_p3##x,_p3##y,_n4##z,c)), \
+ (I[456] = (T)(img)(_p3##x,_p2##y,_n4##z,c)), \
+ (I[464] = (T)(img)(_p3##x,_p1##y,_n4##z,c)), \
+ (I[472] = (T)(img)(_p3##x,y,_n4##z,c)), \
+ (I[480] = (T)(img)(_p3##x,_n1##y,_n4##z,c)), \
+ (I[488] = (T)(img)(_p3##x,_n2##y,_n4##z,c)), \
+ (I[496] = (T)(img)(_p3##x,_n3##y,_n4##z,c)), \
+ (I[504] = (T)(img)(_p3##x,_n4##y,_n4##z,c)), \
+ (I[1] = (T)(img)(_p2##x,_p3##y,_p3##z,c)), \
+ (I[9] = (T)(img)(_p2##x,_p2##y,_p3##z,c)), \
+ (I[17] = (T)(img)(_p2##x,_p1##y,_p3##z,c)), \
+ (I[25] = (T)(img)(_p2##x,y,_p3##z,c)), \
+ (I[33] = (T)(img)(_p2##x,_n1##y,_p3##z,c)), \
+ (I[41] = (T)(img)(_p2##x,_n2##y,_p3##z,c)), \
+ (I[49] = (T)(img)(_p2##x,_n3##y,_p3##z,c)), \
+ (I[57] = (T)(img)(_p2##x,_n4##y,_p3##z,c)), \
+ (I[65] = (T)(img)(_p2##x,_p3##y,_p2##z,c)), \
+ (I[73] = (T)(img)(_p2##x,_p2##y,_p2##z,c)), \
+ (I[81] = (T)(img)(_p2##x,_p1##y,_p2##z,c)), \
+ (I[89] = (T)(img)(_p2##x,y,_p2##z,c)), \
+ (I[97] = (T)(img)(_p2##x,_n1##y,_p2##z,c)), \
+ (I[105] = (T)(img)(_p2##x,_n2##y,_p2##z,c)), \
+ (I[113] = (T)(img)(_p2##x,_n3##y,_p2##z,c)), \
+ (I[121] = (T)(img)(_p2##x,_n4##y,_p2##z,c)), \
+ (I[129] = (T)(img)(_p2##x,_p3##y,_p1##z,c)), \
+ (I[137] = (T)(img)(_p2##x,_p2##y,_p1##z,c)), \
+ (I[145] = (T)(img)(_p2##x,_p1##y,_p1##z,c)), \
+ (I[153] = (T)(img)(_p2##x,y,_p1##z,c)), \
+ (I[161] = (T)(img)(_p2##x,_n1##y,_p1##z,c)), \
+ (I[169] = (T)(img)(_p2##x,_n2##y,_p1##z,c)), \
+ (I[177] = (T)(img)(_p2##x,_n3##y,_p1##z,c)), \
+ (I[185] = (T)(img)(_p2##x,_n4##y,_p1##z,c)), \
+ (I[193] = (T)(img)(_p2##x,_p3##y,z,c)), \
+ (I[201] = (T)(img)(_p2##x,_p2##y,z,c)), \
+ (I[209] = (T)(img)(_p2##x,_p1##y,z,c)), \
+ (I[217] = (T)(img)(_p2##x,y,z,c)), \
+ (I[225] = (T)(img)(_p2##x,_n1##y,z,c)), \
+ (I[233] = (T)(img)(_p2##x,_n2##y,z,c)), \
+ (I[241] = (T)(img)(_p2##x,_n3##y,z,c)), \
+ (I[249] = (T)(img)(_p2##x,_n4##y,z,c)), \
+ (I[257] = (T)(img)(_p2##x,_p3##y,_n1##z,c)), \
+ (I[265] = (T)(img)(_p2##x,_p2##y,_n1##z,c)), \
+ (I[273] = (T)(img)(_p2##x,_p1##y,_n1##z,c)), \
+ (I[281] = (T)(img)(_p2##x,y,_n1##z,c)), \
+ (I[289] = (T)(img)(_p2##x,_n1##y,_n1##z,c)), \
+ (I[297] = (T)(img)(_p2##x,_n2##y,_n1##z,c)), \
+ (I[305] = (T)(img)(_p2##x,_n3##y,_n1##z,c)), \
+ (I[313] = (T)(img)(_p2##x,_n4##y,_n1##z,c)), \
+ (I[321] = (T)(img)(_p2##x,_p3##y,_n2##z,c)), \
+ (I[329] = (T)(img)(_p2##x,_p2##y,_n2##z,c)), \
+ (I[337] = (T)(img)(_p2##x,_p1##y,_n2##z,c)), \
+ (I[345] = (T)(img)(_p2##x,y,_n2##z,c)), \
+ (I[353] = (T)(img)(_p2##x,_n1##y,_n2##z,c)), \
+ (I[361] = (T)(img)(_p2##x,_n2##y,_n2##z,c)), \
+ (I[369] = (T)(img)(_p2##x,_n3##y,_n2##z,c)), \
+ (I[377] = (T)(img)(_p2##x,_n4##y,_n2##z,c)), \
+ (I[385] = (T)(img)(_p2##x,_p3##y,_n3##z,c)), \
+ (I[393] = (T)(img)(_p2##x,_p2##y,_n3##z,c)), \
+ (I[401] = (T)(img)(_p2##x,_p1##y,_n3##z,c)), \
+ (I[409] = (T)(img)(_p2##x,y,_n3##z,c)), \
+ (I[417] = (T)(img)(_p2##x,_n1##y,_n3##z,c)), \
+ (I[425] = (T)(img)(_p2##x,_n2##y,_n3##z,c)), \
+ (I[433] = (T)(img)(_p2##x,_n3##y,_n3##z,c)), \
+ (I[441] = (T)(img)(_p2##x,_n4##y,_n3##z,c)), \
+ (I[449] = (T)(img)(_p2##x,_p3##y,_n4##z,c)), \
+ (I[457] = (T)(img)(_p2##x,_p2##y,_n4##z,c)), \
+ (I[465] = (T)(img)(_p2##x,_p1##y,_n4##z,c)), \
+ (I[473] = (T)(img)(_p2##x,y,_n4##z,c)), \
+ (I[481] = (T)(img)(_p2##x,_n1##y,_n4##z,c)), \
+ (I[489] = (T)(img)(_p2##x,_n2##y,_n4##z,c)), \
+ (I[497] = (T)(img)(_p2##x,_n3##y,_n4##z,c)), \
+ (I[505] = (T)(img)(_p2##x,_n4##y,_n4##z,c)), \
+ (I[2] = (T)(img)(_p1##x,_p3##y,_p3##z,c)), \
+ (I[10] = (T)(img)(_p1##x,_p2##y,_p3##z,c)), \
+ (I[18] = (T)(img)(_p1##x,_p1##y,_p3##z,c)), \
+ (I[26] = (T)(img)(_p1##x,y,_p3##z,c)), \
+ (I[34] = (T)(img)(_p1##x,_n1##y,_p3##z,c)), \
+ (I[42] = (T)(img)(_p1##x,_n2##y,_p3##z,c)), \
+ (I[50] = (T)(img)(_p1##x,_n3##y,_p3##z,c)), \
+ (I[58] = (T)(img)(_p1##x,_n4##y,_p3##z,c)), \
+ (I[66] = (T)(img)(_p1##x,_p3##y,_p2##z,c)), \
+ (I[74] = (T)(img)(_p1##x,_p2##y,_p2##z,c)), \
+ (I[82] = (T)(img)(_p1##x,_p1##y,_p2##z,c)), \
+ (I[90] = (T)(img)(_p1##x,y,_p2##z,c)), \
+ (I[98] = (T)(img)(_p1##x,_n1##y,_p2##z,c)), \
+ (I[106] = (T)(img)(_p1##x,_n2##y,_p2##z,c)), \
+ (I[114] = (T)(img)(_p1##x,_n3##y,_p2##z,c)), \
+ (I[122] = (T)(img)(_p1##x,_n4##y,_p2##z,c)), \
+ (I[130] = (T)(img)(_p1##x,_p3##y,_p1##z,c)), \
+ (I[138] = (T)(img)(_p1##x,_p2##y,_p1##z,c)), \
+ (I[146] = (T)(img)(_p1##x,_p1##y,_p1##z,c)), \
+ (I[154] = (T)(img)(_p1##x,y,_p1##z,c)), \
+ (I[162] = (T)(img)(_p1##x,_n1##y,_p1##z,c)), \
+ (I[170] = (T)(img)(_p1##x,_n2##y,_p1##z,c)), \
+ (I[178] = (T)(img)(_p1##x,_n3##y,_p1##z,c)), \
+ (I[186] = (T)(img)(_p1##x,_n4##y,_p1##z,c)), \
+ (I[194] = (T)(img)(_p1##x,_p3##y,z,c)), \
+ (I[202] = (T)(img)(_p1##x,_p2##y,z,c)), \
+ (I[210] = (T)(img)(_p1##x,_p1##y,z,c)), \
+ (I[218] = (T)(img)(_p1##x,y,z,c)), \
+ (I[226] = (T)(img)(_p1##x,_n1##y,z,c)), \
+ (I[234] = (T)(img)(_p1##x,_n2##y,z,c)), \
+ (I[242] = (T)(img)(_p1##x,_n3##y,z,c)), \
+ (I[250] = (T)(img)(_p1##x,_n4##y,z,c)), \
+ (I[258] = (T)(img)(_p1##x,_p3##y,_n1##z,c)), \
+ (I[266] = (T)(img)(_p1##x,_p2##y,_n1##z,c)), \
+ (I[274] = (T)(img)(_p1##x,_p1##y,_n1##z,c)), \
+ (I[282] = (T)(img)(_p1##x,y,_n1##z,c)), \
+ (I[290] = (T)(img)(_p1##x,_n1##y,_n1##z,c)), \
+ (I[298] = (T)(img)(_p1##x,_n2##y,_n1##z,c)), \
+ (I[306] = (T)(img)(_p1##x,_n3##y,_n1##z,c)), \
+ (I[314] = (T)(img)(_p1##x,_n4##y,_n1##z,c)), \
+ (I[322] = (T)(img)(_p1##x,_p3##y,_n2##z,c)), \
+ (I[330] = (T)(img)(_p1##x,_p2##y,_n2##z,c)), \
+ (I[338] = (T)(img)(_p1##x,_p1##y,_n2##z,c)), \
+ (I[346] = (T)(img)(_p1##x,y,_n2##z,c)), \
+ (I[354] = (T)(img)(_p1##x,_n1##y,_n2##z,c)), \
+ (I[362] = (T)(img)(_p1##x,_n2##y,_n2##z,c)), \
+ (I[370] = (T)(img)(_p1##x,_n3##y,_n2##z,c)), \
+ (I[378] = (T)(img)(_p1##x,_n4##y,_n2##z,c)), \
+ (I[386] = (T)(img)(_p1##x,_p3##y,_n3##z,c)), \
+ (I[394] = (T)(img)(_p1##x,_p2##y,_n3##z,c)), \
+ (I[402] = (T)(img)(_p1##x,_p1##y,_n3##z,c)), \
+ (I[410] = (T)(img)(_p1##x,y,_n3##z,c)), \
+ (I[418] = (T)(img)(_p1##x,_n1##y,_n3##z,c)), \
+ (I[426] = (T)(img)(_p1##x,_n2##y,_n3##z,c)), \
+ (I[434] = (T)(img)(_p1##x,_n3##y,_n3##z,c)), \
+ (I[442] = (T)(img)(_p1##x,_n4##y,_n3##z,c)), \
+ (I[450] = (T)(img)(_p1##x,_p3##y,_n4##z,c)), \
+ (I[458] = (T)(img)(_p1##x,_p2##y,_n4##z,c)), \
+ (I[466] = (T)(img)(_p1##x,_p1##y,_n4##z,c)), \
+ (I[474] = (T)(img)(_p1##x,y,_n4##z,c)), \
+ (I[482] = (T)(img)(_p1##x,_n1##y,_n4##z,c)), \
+ (I[490] = (T)(img)(_p1##x,_n2##y,_n4##z,c)), \
+ (I[498] = (T)(img)(_p1##x,_n3##y,_n4##z,c)), \
+ (I[506] = (T)(img)(_p1##x,_n4##y,_n4##z,c)), \
+ (I[3] = (T)(img)(x,_p3##y,_p3##z,c)), \
+ (I[11] = (T)(img)(x,_p2##y,_p3##z,c)), \
+ (I[19] = (T)(img)(x,_p1##y,_p3##z,c)), \
+ (I[27] = (T)(img)(x,y,_p3##z,c)), \
+ (I[35] = (T)(img)(x,_n1##y,_p3##z,c)), \
+ (I[43] = (T)(img)(x,_n2##y,_p3##z,c)), \
+ (I[51] = (T)(img)(x,_n3##y,_p3##z,c)), \
+ (I[59] = (T)(img)(x,_n4##y,_p3##z,c)), \
+ (I[67] = (T)(img)(x,_p3##y,_p2##z,c)), \
+ (I[75] = (T)(img)(x,_p2##y,_p2##z,c)), \
+ (I[83] = (T)(img)(x,_p1##y,_p2##z,c)), \
+ (I[91] = (T)(img)(x,y,_p2##z,c)), \
+ (I[99] = (T)(img)(x,_n1##y,_p2##z,c)), \
+ (I[107] = (T)(img)(x,_n2##y,_p2##z,c)), \
+ (I[115] = (T)(img)(x,_n3##y,_p2##z,c)), \
+ (I[123] = (T)(img)(x,_n4##y,_p2##z,c)), \
+ (I[131] = (T)(img)(x,_p3##y,_p1##z,c)), \
+ (I[139] = (T)(img)(x,_p2##y,_p1##z,c)), \
+ (I[147] = (T)(img)(x,_p1##y,_p1##z,c)), \
+ (I[155] = (T)(img)(x,y,_p1##z,c)), \
+ (I[163] = (T)(img)(x,_n1##y,_p1##z,c)), \
+ (I[171] = (T)(img)(x,_n2##y,_p1##z,c)), \
+ (I[179] = (T)(img)(x,_n3##y,_p1##z,c)), \
+ (I[187] = (T)(img)(x,_n4##y,_p1##z,c)), \
+ (I[195] = (T)(img)(x,_p3##y,z,c)), \
+ (I[203] = (T)(img)(x,_p2##y,z,c)), \
+ (I[211] = (T)(img)(x,_p1##y,z,c)), \
+ (I[219] = (T)(img)(x,y,z,c)), \
+ (I[227] = (T)(img)(x,_n1##y,z,c)), \
+ (I[235] = (T)(img)(x,_n2##y,z,c)), \
+ (I[243] = (T)(img)(x,_n3##y,z,c)), \
+ (I[251] = (T)(img)(x,_n4##y,z,c)), \
+ (I[259] = (T)(img)(x,_p3##y,_n1##z,c)), \
+ (I[267] = (T)(img)(x,_p2##y,_n1##z,c)), \
+ (I[275] = (T)(img)(x,_p1##y,_n1##z,c)), \
+ (I[283] = (T)(img)(x,y,_n1##z,c)), \
+ (I[291] = (T)(img)(x,_n1##y,_n1##z,c)), \
+ (I[299] = (T)(img)(x,_n2##y,_n1##z,c)), \
+ (I[307] = (T)(img)(x,_n3##y,_n1##z,c)), \
+ (I[315] = (T)(img)(x,_n4##y,_n1##z,c)), \
+ (I[323] = (T)(img)(x,_p3##y,_n2##z,c)), \
+ (I[331] = (T)(img)(x,_p2##y,_n2##z,c)), \
+ (I[339] = (T)(img)(x,_p1##y,_n2##z,c)), \
+ (I[347] = (T)(img)(x,y,_n2##z,c)), \
+ (I[355] = (T)(img)(x,_n1##y,_n2##z,c)), \
+ (I[363] = (T)(img)(x,_n2##y,_n2##z,c)), \
+ (I[371] = (T)(img)(x,_n3##y,_n2##z,c)), \
+ (I[379] = (T)(img)(x,_n4##y,_n2##z,c)), \
+ (I[387] = (T)(img)(x,_p3##y,_n3##z,c)), \
+ (I[395] = (T)(img)(x,_p2##y,_n3##z,c)), \
+ (I[403] = (T)(img)(x,_p1##y,_n3##z,c)), \
+ (I[411] = (T)(img)(x,y,_n3##z,c)), \
+ (I[419] = (T)(img)(x,_n1##y,_n3##z,c)), \
+ (I[427] = (T)(img)(x,_n2##y,_n3##z,c)), \
+ (I[435] = (T)(img)(x,_n3##y,_n3##z,c)), \
+ (I[443] = (T)(img)(x,_n4##y,_n3##z,c)), \
+ (I[451] = (T)(img)(x,_p3##y,_n4##z,c)), \
+ (I[459] = (T)(img)(x,_p2##y,_n4##z,c)), \
+ (I[467] = (T)(img)(x,_p1##y,_n4##z,c)), \
+ (I[475] = (T)(img)(x,y,_n4##z,c)), \
+ (I[483] = (T)(img)(x,_n1##y,_n4##z,c)), \
+ (I[491] = (T)(img)(x,_n2##y,_n4##z,c)), \
+ (I[499] = (T)(img)(x,_n3##y,_n4##z,c)), \
+ (I[507] = (T)(img)(x,_n4##y,_n4##z,c)), \
+ (I[4] = (T)(img)(_n1##x,_p3##y,_p3##z,c)), \
+ (I[12] = (T)(img)(_n1##x,_p2##y,_p3##z,c)), \
+ (I[20] = (T)(img)(_n1##x,_p1##y,_p3##z,c)), \
+ (I[28] = (T)(img)(_n1##x,y,_p3##z,c)), \
+ (I[36] = (T)(img)(_n1##x,_n1##y,_p3##z,c)), \
+ (I[44] = (T)(img)(_n1##x,_n2##y,_p3##z,c)), \
+ (I[52] = (T)(img)(_n1##x,_n3##y,_p3##z,c)), \
+ (I[60] = (T)(img)(_n1##x,_n4##y,_p3##z,c)), \
+ (I[68] = (T)(img)(_n1##x,_p3##y,_p2##z,c)), \
+ (I[76] = (T)(img)(_n1##x,_p2##y,_p2##z,c)), \
+ (I[84] = (T)(img)(_n1##x,_p1##y,_p2##z,c)), \
+ (I[92] = (T)(img)(_n1##x,y,_p2##z,c)), \
+ (I[100] = (T)(img)(_n1##x,_n1##y,_p2##z,c)), \
+ (I[108] = (T)(img)(_n1##x,_n2##y,_p2##z,c)), \
+ (I[116] = (T)(img)(_n1##x,_n3##y,_p2##z,c)), \
+ (I[124] = (T)(img)(_n1##x,_n4##y,_p2##z,c)), \
+ (I[132] = (T)(img)(_n1##x,_p3##y,_p1##z,c)), \
+ (I[140] = (T)(img)(_n1##x,_p2##y,_p1##z,c)), \
+ (I[148] = (T)(img)(_n1##x,_p1##y,_p1##z,c)), \
+ (I[156] = (T)(img)(_n1##x,y,_p1##z,c)), \
+ (I[164] = (T)(img)(_n1##x,_n1##y,_p1##z,c)), \
+ (I[172] = (T)(img)(_n1##x,_n2##y,_p1##z,c)), \
+ (I[180] = (T)(img)(_n1##x,_n3##y,_p1##z,c)), \
+ (I[188] = (T)(img)(_n1##x,_n4##y,_p1##z,c)), \
+ (I[196] = (T)(img)(_n1##x,_p3##y,z,c)), \
+ (I[204] = (T)(img)(_n1##x,_p2##y,z,c)), \
+ (I[212] = (T)(img)(_n1##x,_p1##y,z,c)), \
+ (I[220] = (T)(img)(_n1##x,y,z,c)), \
+ (I[228] = (T)(img)(_n1##x,_n1##y,z,c)), \
+ (I[236] = (T)(img)(_n1##x,_n2##y,z,c)), \
+ (I[244] = (T)(img)(_n1##x,_n3##y,z,c)), \
+ (I[252] = (T)(img)(_n1##x,_n4##y,z,c)), \
+ (I[260] = (T)(img)(_n1##x,_p3##y,_n1##z,c)), \
+ (I[268] = (T)(img)(_n1##x,_p2##y,_n1##z,c)), \
+ (I[276] = (T)(img)(_n1##x,_p1##y,_n1##z,c)), \
+ (I[284] = (T)(img)(_n1##x,y,_n1##z,c)), \
+ (I[292] = (T)(img)(_n1##x,_n1##y,_n1##z,c)), \
+ (I[300] = (T)(img)(_n1##x,_n2##y,_n1##z,c)), \
+ (I[308] = (T)(img)(_n1##x,_n3##y,_n1##z,c)), \
+ (I[316] = (T)(img)(_n1##x,_n4##y,_n1##z,c)), \
+ (I[324] = (T)(img)(_n1##x,_p3##y,_n2##z,c)), \
+ (I[332] = (T)(img)(_n1##x,_p2##y,_n2##z,c)), \
+ (I[340] = (T)(img)(_n1##x,_p1##y,_n2##z,c)), \
+ (I[348] = (T)(img)(_n1##x,y,_n2##z,c)), \
+ (I[356] = (T)(img)(_n1##x,_n1##y,_n2##z,c)), \
+ (I[364] = (T)(img)(_n1##x,_n2##y,_n2##z,c)), \
+ (I[372] = (T)(img)(_n1##x,_n3##y,_n2##z,c)), \
+ (I[380] = (T)(img)(_n1##x,_n4##y,_n2##z,c)), \
+ (I[388] = (T)(img)(_n1##x,_p3##y,_n3##z,c)), \
+ (I[396] = (T)(img)(_n1##x,_p2##y,_n3##z,c)), \
+ (I[404] = (T)(img)(_n1##x,_p1##y,_n3##z,c)), \
+ (I[412] = (T)(img)(_n1##x,y,_n3##z,c)), \
+ (I[420] = (T)(img)(_n1##x,_n1##y,_n3##z,c)), \
+ (I[428] = (T)(img)(_n1##x,_n2##y,_n3##z,c)), \
+ (I[436] = (T)(img)(_n1##x,_n3##y,_n3##z,c)), \
+ (I[444] = (T)(img)(_n1##x,_n4##y,_n3##z,c)), \
+ (I[452] = (T)(img)(_n1##x,_p3##y,_n4##z,c)), \
+ (I[460] = (T)(img)(_n1##x,_p2##y,_n4##z,c)), \
+ (I[468] = (T)(img)(_n1##x,_p1##y,_n4##z,c)), \
+ (I[476] = (T)(img)(_n1##x,y,_n4##z,c)), \
+ (I[484] = (T)(img)(_n1##x,_n1##y,_n4##z,c)), \
+ (I[492] = (T)(img)(_n1##x,_n2##y,_n4##z,c)), \
+ (I[500] = (T)(img)(_n1##x,_n3##y,_n4##z,c)), \
+ (I[508] = (T)(img)(_n1##x,_n4##y,_n4##z,c)), \
+ (I[5] = (T)(img)(_n2##x,_p3##y,_p3##z,c)), \
+ (I[13] = (T)(img)(_n2##x,_p2##y,_p3##z,c)), \
+ (I[21] = (T)(img)(_n2##x,_p1##y,_p3##z,c)), \
+ (I[29] = (T)(img)(_n2##x,y,_p3##z,c)), \
+ (I[37] = (T)(img)(_n2##x,_n1##y,_p3##z,c)), \
+ (I[45] = (T)(img)(_n2##x,_n2##y,_p3##z,c)), \
+ (I[53] = (T)(img)(_n2##x,_n3##y,_p3##z,c)), \
+ (I[61] = (T)(img)(_n2##x,_n4##y,_p3##z,c)), \
+ (I[69] = (T)(img)(_n2##x,_p3##y,_p2##z,c)), \
+ (I[77] = (T)(img)(_n2##x,_p2##y,_p2##z,c)), \
+ (I[85] = (T)(img)(_n2##x,_p1##y,_p2##z,c)), \
+ (I[93] = (T)(img)(_n2##x,y,_p2##z,c)), \
+ (I[101] = (T)(img)(_n2##x,_n1##y,_p2##z,c)), \
+ (I[109] = (T)(img)(_n2##x,_n2##y,_p2##z,c)), \
+ (I[117] = (T)(img)(_n2##x,_n3##y,_p2##z,c)), \
+ (I[125] = (T)(img)(_n2##x,_n4##y,_p2##z,c)), \
+ (I[133] = (T)(img)(_n2##x,_p3##y,_p1##z,c)), \
+ (I[141] = (T)(img)(_n2##x,_p2##y,_p1##z,c)), \
+ (I[149] = (T)(img)(_n2##x,_p1##y,_p1##z,c)), \
+ (I[157] = (T)(img)(_n2##x,y,_p1##z,c)), \
+ (I[165] = (T)(img)(_n2##x,_n1##y,_p1##z,c)), \
+ (I[173] = (T)(img)(_n2##x,_n2##y,_p1##z,c)), \
+ (I[181] = (T)(img)(_n2##x,_n3##y,_p1##z,c)), \
+ (I[189] = (T)(img)(_n2##x,_n4##y,_p1##z,c)), \
+ (I[197] = (T)(img)(_n2##x,_p3##y,z,c)), \
+ (I[205] = (T)(img)(_n2##x,_p2##y,z,c)), \
+ (I[213] = (T)(img)(_n2##x,_p1##y,z,c)), \
+ (I[221] = (T)(img)(_n2##x,y,z,c)), \
+ (I[229] = (T)(img)(_n2##x,_n1##y,z,c)), \
+ (I[237] = (T)(img)(_n2##x,_n2##y,z,c)), \
+ (I[245] = (T)(img)(_n2##x,_n3##y,z,c)), \
+ (I[253] = (T)(img)(_n2##x,_n4##y,z,c)), \
+ (I[261] = (T)(img)(_n2##x,_p3##y,_n1##z,c)), \
+ (I[269] = (T)(img)(_n2##x,_p2##y,_n1##z,c)), \
+ (I[277] = (T)(img)(_n2##x,_p1##y,_n1##z,c)), \
+ (I[285] = (T)(img)(_n2##x,y,_n1##z,c)), \
+ (I[293] = (T)(img)(_n2##x,_n1##y,_n1##z,c)), \
+ (I[301] = (T)(img)(_n2##x,_n2##y,_n1##z,c)), \
+ (I[309] = (T)(img)(_n2##x,_n3##y,_n1##z,c)), \
+ (I[317] = (T)(img)(_n2##x,_n4##y,_n1##z,c)), \
+ (I[325] = (T)(img)(_n2##x,_p3##y,_n2##z,c)), \
+ (I[333] = (T)(img)(_n2##x,_p2##y,_n2##z,c)), \
+ (I[341] = (T)(img)(_n2##x,_p1##y,_n2##z,c)), \
+ (I[349] = (T)(img)(_n2##x,y,_n2##z,c)), \
+ (I[357] = (T)(img)(_n2##x,_n1##y,_n2##z,c)), \
+ (I[365] = (T)(img)(_n2##x,_n2##y,_n2##z,c)), \
+ (I[373] = (T)(img)(_n2##x,_n3##y,_n2##z,c)), \
+ (I[381] = (T)(img)(_n2##x,_n4##y,_n2##z,c)), \
+ (I[389] = (T)(img)(_n2##x,_p3##y,_n3##z,c)), \
+ (I[397] = (T)(img)(_n2##x,_p2##y,_n3##z,c)), \
+ (I[405] = (T)(img)(_n2##x,_p1##y,_n3##z,c)), \
+ (I[413] = (T)(img)(_n2##x,y,_n3##z,c)), \
+ (I[421] = (T)(img)(_n2##x,_n1##y,_n3##z,c)), \
+ (I[429] = (T)(img)(_n2##x,_n2##y,_n3##z,c)), \
+ (I[437] = (T)(img)(_n2##x,_n3##y,_n3##z,c)), \
+ (I[445] = (T)(img)(_n2##x,_n4##y,_n3##z,c)), \
+ (I[453] = (T)(img)(_n2##x,_p3##y,_n4##z,c)), \
+ (I[461] = (T)(img)(_n2##x,_p2##y,_n4##z,c)), \
+ (I[469] = (T)(img)(_n2##x,_p1##y,_n4##z,c)), \
+ (I[477] = (T)(img)(_n2##x,y,_n4##z,c)), \
+ (I[485] = (T)(img)(_n2##x,_n1##y,_n4##z,c)), \
+ (I[493] = (T)(img)(_n2##x,_n2##y,_n4##z,c)), \
+ (I[501] = (T)(img)(_n2##x,_n3##y,_n4##z,c)), \
+ (I[509] = (T)(img)(_n2##x,_n4##y,_n4##z,c)), \
+ (I[6] = (T)(img)(_n3##x,_p3##y,_p3##z,c)), \
+ (I[14] = (T)(img)(_n3##x,_p2##y,_p3##z,c)), \
+ (I[22] = (T)(img)(_n3##x,_p1##y,_p3##z,c)), \
+ (I[30] = (T)(img)(_n3##x,y,_p3##z,c)), \
+ (I[38] = (T)(img)(_n3##x,_n1##y,_p3##z,c)), \
+ (I[46] = (T)(img)(_n3##x,_n2##y,_p3##z,c)), \
+ (I[54] = (T)(img)(_n3##x,_n3##y,_p3##z,c)), \
+ (I[62] = (T)(img)(_n3##x,_n4##y,_p3##z,c)), \
+ (I[70] = (T)(img)(_n3##x,_p3##y,_p2##z,c)), \
+ (I[78] = (T)(img)(_n3##x,_p2##y,_p2##z,c)), \
+ (I[86] = (T)(img)(_n3##x,_p1##y,_p2##z,c)), \
+ (I[94] = (T)(img)(_n3##x,y,_p2##z,c)), \
+ (I[102] = (T)(img)(_n3##x,_n1##y,_p2##z,c)), \
+ (I[110] = (T)(img)(_n3##x,_n2##y,_p2##z,c)), \
+ (I[118] = (T)(img)(_n3##x,_n3##y,_p2##z,c)), \
+ (I[126] = (T)(img)(_n3##x,_n4##y,_p2##z,c)), \
+ (I[134] = (T)(img)(_n3##x,_p3##y,_p1##z,c)), \
+ (I[142] = (T)(img)(_n3##x,_p2##y,_p1##z,c)), \
+ (I[150] = (T)(img)(_n3##x,_p1##y,_p1##z,c)), \
+ (I[158] = (T)(img)(_n3##x,y,_p1##z,c)), \
+ (I[166] = (T)(img)(_n3##x,_n1##y,_p1##z,c)), \
+ (I[174] = (T)(img)(_n3##x,_n2##y,_p1##z,c)), \
+ (I[182] = (T)(img)(_n3##x,_n3##y,_p1##z,c)), \
+ (I[190] = (T)(img)(_n3##x,_n4##y,_p1##z,c)), \
+ (I[198] = (T)(img)(_n3##x,_p3##y,z,c)), \
+ (I[206] = (T)(img)(_n3##x,_p2##y,z,c)), \
+ (I[214] = (T)(img)(_n3##x,_p1##y,z,c)), \
+ (I[222] = (T)(img)(_n3##x,y,z,c)), \
+ (I[230] = (T)(img)(_n3##x,_n1##y,z,c)), \
+ (I[238] = (T)(img)(_n3##x,_n2##y,z,c)), \
+ (I[246] = (T)(img)(_n3##x,_n3##y,z,c)), \
+ (I[254] = (T)(img)(_n3##x,_n4##y,z,c)), \
+ (I[262] = (T)(img)(_n3##x,_p3##y,_n1##z,c)), \
+ (I[270] = (T)(img)(_n3##x,_p2##y,_n1##z,c)), \
+ (I[278] = (T)(img)(_n3##x,_p1##y,_n1##z,c)), \
+ (I[286] = (T)(img)(_n3##x,y,_n1##z,c)), \
+ (I[294] = (T)(img)(_n3##x,_n1##y,_n1##z,c)), \
+ (I[302] = (T)(img)(_n3##x,_n2##y,_n1##z,c)), \
+ (I[310] = (T)(img)(_n3##x,_n3##y,_n1##z,c)), \
+ (I[318] = (T)(img)(_n3##x,_n4##y,_n1##z,c)), \
+ (I[326] = (T)(img)(_n3##x,_p3##y,_n2##z,c)), \
+ (I[334] = (T)(img)(_n3##x,_p2##y,_n2##z,c)), \
+ (I[342] = (T)(img)(_n3##x,_p1##y,_n2##z,c)), \
+ (I[350] = (T)(img)(_n3##x,y,_n2##z,c)), \
+ (I[358] = (T)(img)(_n3##x,_n1##y,_n2##z,c)), \
+ (I[366] = (T)(img)(_n3##x,_n2##y,_n2##z,c)), \
+ (I[374] = (T)(img)(_n3##x,_n3##y,_n2##z,c)), \
+ (I[382] = (T)(img)(_n3##x,_n4##y,_n2##z,c)), \
+ (I[390] = (T)(img)(_n3##x,_p3##y,_n3##z,c)), \
+ (I[398] = (T)(img)(_n3##x,_p2##y,_n3##z,c)), \
+ (I[406] = (T)(img)(_n3##x,_p1##y,_n3##z,c)), \
+ (I[414] = (T)(img)(_n3##x,y,_n3##z,c)), \
+ (I[422] = (T)(img)(_n3##x,_n1##y,_n3##z,c)), \
+ (I[430] = (T)(img)(_n3##x,_n2##y,_n3##z,c)), \
+ (I[438] = (T)(img)(_n3##x,_n3##y,_n3##z,c)), \
+ (I[446] = (T)(img)(_n3##x,_n4##y,_n3##z,c)), \
+ (I[454] = (T)(img)(_n3##x,_p3##y,_n4##z,c)), \
+ (I[462] = (T)(img)(_n3##x,_p2##y,_n4##z,c)), \
+ (I[470] = (T)(img)(_n3##x,_p1##y,_n4##z,c)), \
+ (I[478] = (T)(img)(_n3##x,y,_n4##z,c)), \
+ (I[486] = (T)(img)(_n3##x,_n1##y,_n4##z,c)), \
+ (I[494] = (T)(img)(_n3##x,_n2##y,_n4##z,c)), \
+ (I[502] = (T)(img)(_n3##x,_n3##y,_n4##z,c)), \
+ (I[510] = (T)(img)(_n3##x,_n4##y,_n4##z,c)), \
+ x + 4>=(img).width()?(img).width() - 1:x + 4); \
+ x<=(int)(x1) && ((_n4##x<(img).width() && ( \
+ (I[7] = (T)(img)(_n4##x,_p3##y,_p3##z,c)), \
+ (I[15] = (T)(img)(_n4##x,_p2##y,_p3##z,c)), \
+ (I[23] = (T)(img)(_n4##x,_p1##y,_p3##z,c)), \
+ (I[31] = (T)(img)(_n4##x,y,_p3##z,c)), \
+ (I[39] = (T)(img)(_n4##x,_n1##y,_p3##z,c)), \
+ (I[47] = (T)(img)(_n4##x,_n2##y,_p3##z,c)), \
+ (I[55] = (T)(img)(_n4##x,_n3##y,_p3##z,c)), \
+ (I[63] = (T)(img)(_n4##x,_n4##y,_p3##z,c)), \
+ (I[71] = (T)(img)(_n4##x,_p3##y,_p2##z,c)), \
+ (I[79] = (T)(img)(_n4##x,_p2##y,_p2##z,c)), \
+ (I[87] = (T)(img)(_n4##x,_p1##y,_p2##z,c)), \
+ (I[95] = (T)(img)(_n4##x,y,_p2##z,c)), \
+ (I[103] = (T)(img)(_n4##x,_n1##y,_p2##z,c)), \
+ (I[111] = (T)(img)(_n4##x,_n2##y,_p2##z,c)), \
+ (I[119] = (T)(img)(_n4##x,_n3##y,_p2##z,c)), \
+ (I[127] = (T)(img)(_n4##x,_n4##y,_p2##z,c)), \
+ (I[135] = (T)(img)(_n4##x,_p3##y,_p1##z,c)), \
+ (I[143] = (T)(img)(_n4##x,_p2##y,_p1##z,c)), \
+ (I[151] = (T)(img)(_n4##x,_p1##y,_p1##z,c)), \
+ (I[159] = (T)(img)(_n4##x,y,_p1##z,c)), \
+ (I[167] = (T)(img)(_n4##x,_n1##y,_p1##z,c)), \
+ (I[175] = (T)(img)(_n4##x,_n2##y,_p1##z,c)), \
+ (I[183] = (T)(img)(_n4##x,_n3##y,_p1##z,c)), \
+ (I[191] = (T)(img)(_n4##x,_n4##y,_p1##z,c)), \
+ (I[199] = (T)(img)(_n4##x,_p3##y,z,c)), \
+ (I[207] = (T)(img)(_n4##x,_p2##y,z,c)), \
+ (I[215] = (T)(img)(_n4##x,_p1##y,z,c)), \
+ (I[223] = (T)(img)(_n4##x,y,z,c)), \
+ (I[231] = (T)(img)(_n4##x,_n1##y,z,c)), \
+ (I[239] = (T)(img)(_n4##x,_n2##y,z,c)), \
+ (I[247] = (T)(img)(_n4##x,_n3##y,z,c)), \
+ (I[255] = (T)(img)(_n4##x,_n4##y,z,c)), \
+ (I[263] = (T)(img)(_n4##x,_p3##y,_n1##z,c)), \
+ (I[271] = (T)(img)(_n4##x,_p2##y,_n1##z,c)), \
+ (I[279] = (T)(img)(_n4##x,_p1##y,_n1##z,c)), \
+ (I[287] = (T)(img)(_n4##x,y,_n1##z,c)), \
+ (I[295] = (T)(img)(_n4##x,_n1##y,_n1##z,c)), \
+ (I[303] = (T)(img)(_n4##x,_n2##y,_n1##z,c)), \
+ (I[311] = (T)(img)(_n4##x,_n3##y,_n1##z,c)), \
+ (I[319] = (T)(img)(_n4##x,_n4##y,_n1##z,c)), \
+ (I[327] = (T)(img)(_n4##x,_p3##y,_n2##z,c)), \
+ (I[335] = (T)(img)(_n4##x,_p2##y,_n2##z,c)), \
+ (I[343] = (T)(img)(_n4##x,_p1##y,_n2##z,c)), \
+ (I[351] = (T)(img)(_n4##x,y,_n2##z,c)), \
+ (I[359] = (T)(img)(_n4##x,_n1##y,_n2##z,c)), \
+ (I[367] = (T)(img)(_n4##x,_n2##y,_n2##z,c)), \
+ (I[375] = (T)(img)(_n4##x,_n3##y,_n2##z,c)), \
+ (I[383] = (T)(img)(_n4##x,_n4##y,_n2##z,c)), \
+ (I[391] = (T)(img)(_n4##x,_p3##y,_n3##z,c)), \
+ (I[399] = (T)(img)(_n4##x,_p2##y,_n3##z,c)), \
+ (I[407] = (T)(img)(_n4##x,_p1##y,_n3##z,c)), \
+ (I[415] = (T)(img)(_n4##x,y,_n3##z,c)), \
+ (I[423] = (T)(img)(_n4##x,_n1##y,_n3##z,c)), \
+ (I[431] = (T)(img)(_n4##x,_n2##y,_n3##z,c)), \
+ (I[439] = (T)(img)(_n4##x,_n3##y,_n3##z,c)), \
+ (I[447] = (T)(img)(_n4##x,_n4##y,_n3##z,c)), \
+ (I[455] = (T)(img)(_n4##x,_p3##y,_n4##z,c)), \
+ (I[463] = (T)(img)(_n4##x,_p2##y,_n4##z,c)), \
+ (I[471] = (T)(img)(_n4##x,_p1##y,_n4##z,c)), \
+ (I[479] = (T)(img)(_n4##x,y,_n4##z,c)), \
+ (I[487] = (T)(img)(_n4##x,_n1##y,_n4##z,c)), \
+ (I[495] = (T)(img)(_n4##x,_n2##y,_n4##z,c)), \
+ (I[503] = (T)(img)(_n4##x,_n3##y,_n4##z,c)), \
+ (I[511] = (T)(img)(_n4##x,_n4##y,_n4##z,c)),1)) || \
+ _n3##x==--_n4##x || _n2##x==--_n3##x || _n1##x==--_n2##x || x==(_n4##x = _n3##x = _n2##x = --_n1##x)); \
+ I[0] = I[1], I[1] = I[2], I[2] = I[3], I[3] = I[4], I[4] = I[5], I[5] = I[6], I[6] = I[7], \
+ I[8] = I[9], I[9] = I[10], I[10] = I[11], I[11] = I[12], I[12] = I[13], I[13] = I[14], I[14] = I[15], \
+ I[16] = I[17], I[17] = I[18], I[18] = I[19], I[19] = I[20], I[20] = I[21], I[21] = I[22], I[22] = I[23], \
+ I[24] = I[25], I[25] = I[26], I[26] = I[27], I[27] = I[28], I[28] = I[29], I[29] = I[30], I[30] = I[31], \
+ I[32] = I[33], I[33] = I[34], I[34] = I[35], I[35] = I[36], I[36] = I[37], I[37] = I[38], I[38] = I[39], \
+ I[40] = I[41], I[41] = I[42], I[42] = I[43], I[43] = I[44], I[44] = I[45], I[45] = I[46], I[46] = I[47], \
+ I[48] = I[49], I[49] = I[50], I[50] = I[51], I[51] = I[52], I[52] = I[53], I[53] = I[54], I[54] = I[55], \
+ I[56] = I[57], I[57] = I[58], I[58] = I[59], I[59] = I[60], I[60] = I[61], I[61] = I[62], I[62] = I[63], \
+ I[64] = I[65], I[65] = I[66], I[66] = I[67], I[67] = I[68], I[68] = I[69], I[69] = I[70], I[70] = I[71], \
+ I[72] = I[73], I[73] = I[74], I[74] = I[75], I[75] = I[76], I[76] = I[77], I[77] = I[78], I[78] = I[79], \
+ I[80] = I[81], I[81] = I[82], I[82] = I[83], I[83] = I[84], I[84] = I[85], I[85] = I[86], I[86] = I[87], \
+ I[88] = I[89], I[89] = I[90], I[90] = I[91], I[91] = I[92], I[92] = I[93], I[93] = I[94], I[94] = I[95], \
+ I[96] = I[97], I[97] = I[98], I[98] = I[99], I[99] = I[100], I[100] = I[101], I[101] = I[102], I[102] = I[103], \
+ I[104] = I[105], I[105] = I[106], I[106] = I[107], I[107] = I[108], I[108] = I[109], I[109] = I[110], I[110] = I[111], \
+ I[112] = I[113], I[113] = I[114], I[114] = I[115], I[115] = I[116], I[116] = I[117], I[117] = I[118], I[118] = I[119], \
+ I[120] = I[121], I[121] = I[122], I[122] = I[123], I[123] = I[124], I[124] = I[125], I[125] = I[126], I[126] = I[127], \
+ I[128] = I[129], I[129] = I[130], I[130] = I[131], I[131] = I[132], I[132] = I[133], I[133] = I[134], I[134] = I[135], \
+ I[136] = I[137], I[137] = I[138], I[138] = I[139], I[139] = I[140], I[140] = I[141], I[141] = I[142], I[142] = I[143], \
+ I[144] = I[145], I[145] = I[146], I[146] = I[147], I[147] = I[148], I[148] = I[149], I[149] = I[150], I[150] = I[151], \
+ I[152] = I[153], I[153] = I[154], I[154] = I[155], I[155] = I[156], I[156] = I[157], I[157] = I[158], I[158] = I[159], \
+ I[160] = I[161], I[161] = I[162], I[162] = I[163], I[163] = I[164], I[164] = I[165], I[165] = I[166], I[166] = I[167], \
+ I[168] = I[169], I[169] = I[170], I[170] = I[171], I[171] = I[172], I[172] = I[173], I[173] = I[174], I[174] = I[175], \
+ I[176] = I[177], I[177] = I[178], I[178] = I[179], I[179] = I[180], I[180] = I[181], I[181] = I[182], I[182] = I[183], \
+ I[184] = I[185], I[185] = I[186], I[186] = I[187], I[187] = I[188], I[188] = I[189], I[189] = I[190], I[190] = I[191], \
+ I[192] = I[193], I[193] = I[194], I[194] = I[195], I[195] = I[196], I[196] = I[197], I[197] = I[198], I[198] = I[199], \
+ I[200] = I[201], I[201] = I[202], I[202] = I[203], I[203] = I[204], I[204] = I[205], I[205] = I[206], I[206] = I[207], \
+ I[208] = I[209], I[209] = I[210], I[210] = I[211], I[211] = I[212], I[212] = I[213], I[213] = I[214], I[214] = I[215], \
+ I[216] = I[217], I[217] = I[218], I[218] = I[219], I[219] = I[220], I[220] = I[221], I[221] = I[222], I[222] = I[223], \
+ I[224] = I[225], I[225] = I[226], I[226] = I[227], I[227] = I[228], I[228] = I[229], I[229] = I[230], I[230] = I[231], \
+ I[232] = I[233], I[233] = I[234], I[234] = I[235], I[235] = I[236], I[236] = I[237], I[237] = I[238], I[238] = I[239], \
+ I[240] = I[241], I[241] = I[242], I[242] = I[243], I[243] = I[244], I[244] = I[245], I[245] = I[246], I[246] = I[247], \
+ I[248] = I[249], I[249] = I[250], I[250] = I[251], I[251] = I[252], I[252] = I[253], I[253] = I[254], I[254] = I[255], \
+ I[256] = I[257], I[257] = I[258], I[258] = I[259], I[259] = I[260], I[260] = I[261], I[261] = I[262], I[262] = I[263], \
+ I[264] = I[265], I[265] = I[266], I[266] = I[267], I[267] = I[268], I[268] = I[269], I[269] = I[270], I[270] = I[271], \
+ I[272] = I[273], I[273] = I[274], I[274] = I[275], I[275] = I[276], I[276] = I[277], I[277] = I[278], I[278] = I[279], \
+ I[280] = I[281], I[281] = I[282], I[282] = I[283], I[283] = I[284], I[284] = I[285], I[285] = I[286], I[286] = I[287], \
+ I[288] = I[289], I[289] = I[290], I[290] = I[291], I[291] = I[292], I[292] = I[293], I[293] = I[294], I[294] = I[295], \
+ I[296] = I[297], I[297] = I[298], I[298] = I[299], I[299] = I[300], I[300] = I[301], I[301] = I[302], I[302] = I[303], \
+ I[304] = I[305], I[305] = I[306], I[306] = I[307], I[307] = I[308], I[308] = I[309], I[309] = I[310], I[310] = I[311], \
+ I[312] = I[313], I[313] = I[314], I[314] = I[315], I[315] = I[316], I[316] = I[317], I[317] = I[318], I[318] = I[319], \
+ I[320] = I[321], I[321] = I[322], I[322] = I[323], I[323] = I[324], I[324] = I[325], I[325] = I[326], I[326] = I[327], \
+ I[328] = I[329], I[329] = I[330], I[330] = I[331], I[331] = I[332], I[332] = I[333], I[333] = I[334], I[334] = I[335], \
+ I[336] = I[337], I[337] = I[338], I[338] = I[339], I[339] = I[340], I[340] = I[341], I[341] = I[342], I[342] = I[343], \
+ I[344] = I[345], I[345] = I[346], I[346] = I[347], I[347] = I[348], I[348] = I[349], I[349] = I[350], I[350] = I[351], \
+ I[352] = I[353], I[353] = I[354], I[354] = I[355], I[355] = I[356], I[356] = I[357], I[357] = I[358], I[358] = I[359], \
+ I[360] = I[361], I[361] = I[362], I[362] = I[363], I[363] = I[364], I[364] = I[365], I[365] = I[366], I[366] = I[367], \
+ I[368] = I[369], I[369] = I[370], I[370] = I[371], I[371] = I[372], I[372] = I[373], I[373] = I[374], I[374] = I[375], \
+ I[376] = I[377], I[377] = I[378], I[378] = I[379], I[379] = I[380], I[380] = I[381], I[381] = I[382], I[382] = I[383], \
+ I[384] = I[385], I[385] = I[386], I[386] = I[387], I[387] = I[388], I[388] = I[389], I[389] = I[390], I[390] = I[391], \
+ I[392] = I[393], I[393] = I[394], I[394] = I[395], I[395] = I[396], I[396] = I[397], I[397] = I[398], I[398] = I[399], \
+ I[400] = I[401], I[401] = I[402], I[402] = I[403], I[403] = I[404], I[404] = I[405], I[405] = I[406], I[406] = I[407], \
+ I[408] = I[409], I[409] = I[410], I[410] = I[411], I[411] = I[412], I[412] = I[413], I[413] = I[414], I[414] = I[415], \
+ I[416] = I[417], I[417] = I[418], I[418] = I[419], I[419] = I[420], I[420] = I[421], I[421] = I[422], I[422] = I[423], \
+ I[424] = I[425], I[425] = I[426], I[426] = I[427], I[427] = I[428], I[428] = I[429], I[429] = I[430], I[430] = I[431], \
+ I[432] = I[433], I[433] = I[434], I[434] = I[435], I[435] = I[436], I[436] = I[437], I[437] = I[438], I[438] = I[439], \
+ I[440] = I[441], I[441] = I[442], I[442] = I[443], I[443] = I[444], I[444] = I[445], I[445] = I[446], I[446] = I[447], \
+ I[448] = I[449], I[449] = I[450], I[450] = I[451], I[451] = I[452], I[452] = I[453], I[453] = I[454], I[454] = I[455], \
+ I[456] = I[457], I[457] = I[458], I[458] = I[459], I[459] = I[460], I[460] = I[461], I[461] = I[462], I[462] = I[463], \
+ I[464] = I[465], I[465] = I[466], I[466] = I[467], I[467] = I[468], I[468] = I[469], I[469] = I[470], I[470] = I[471], \
+ I[472] = I[473], I[473] = I[474], I[474] = I[475], I[475] = I[476], I[476] = I[477], I[477] = I[478], I[478] = I[479], \
+ I[480] = I[481], I[481] = I[482], I[482] = I[483], I[483] = I[484], I[484] = I[485], I[485] = I[486], I[486] = I[487], \
+ I[488] = I[489], I[489] = I[490], I[490] = I[491], I[491] = I[492], I[492] = I[493], I[493] = I[494], I[494] = I[495], \
+ I[496] = I[497], I[497] = I[498], I[498] = I[499], I[499] = I[500], I[500] = I[501], I[501] = I[502], I[502] = I[503], \
+ I[504] = I[505], I[505] = I[506], I[506] = I[507], I[507] = I[508], I[508] = I[509], I[509] = I[510], I[510] = I[511], \
+ _p3##x = _p2##x, _p2##x = _p1##x, _p1##x = x++, ++_n1##x, ++_n2##x, ++_n3##x, ++_n4##x)
+
+#define cimg_get8x8x8(img,x,y,z,c,I,T) \
+ I[0] = (T)(img)(_p3##x,_p3##y,_p3##z,c), I[1] = (T)(img)(_p2##x,_p3##y,_p3##z,c), I[2] = (T)(img)(_p1##x,_p3##y,_p3##z,c), I[3] = (T)(img)(x,_p3##y,_p3##z,c), I[4] = (T)(img)(_n1##x,_p3##y,_p3##z,c), I[5] = (T)(img)(_n2##x,_p3##y,_p3##z,c), I[6] = (T)(img)(_n3##x,_p3##y,_p3##z,c), I[7] = (T)(img)(_n4##x,_p3##y,_p3##z,c), \
+ I[8] = (T)(img)(_p3##x,_p2##y,_p3##z,c), I[9] = (T)(img)(_p2##x,_p2##y,_p3##z,c), I[10] = (T)(img)(_p1##x,_p2##y,_p3##z,c), I[11] = (T)(img)(x,_p2##y,_p3##z,c), I[12] = (T)(img)(_n1##x,_p2##y,_p3##z,c), I[13] = (T)(img)(_n2##x,_p2##y,_p3##z,c), I[14] = (T)(img)(_n3##x,_p2##y,_p3##z,c), I[15] = (T)(img)(_n4##x,_p2##y,_p3##z,c), \
+ I[16] = (T)(img)(_p3##x,_p1##y,_p3##z,c), I[17] = (T)(img)(_p2##x,_p1##y,_p3##z,c), I[18] = (T)(img)(_p1##x,_p1##y,_p3##z,c), I[19] = (T)(img)(x,_p1##y,_p3##z,c), I[20] = (T)(img)(_n1##x,_p1##y,_p3##z,c), I[21] = (T)(img)(_n2##x,_p1##y,_p3##z,c), I[22] = (T)(img)(_n3##x,_p1##y,_p3##z,c), I[23] = (T)(img)(_n4##x,_p1##y,_p3##z,c), \
+ I[24] = (T)(img)(_p3##x,y,_p3##z,c), I[25] = (T)(img)(_p2##x,y,_p3##z,c), I[26] = (T)(img)(_p1##x,y,_p3##z,c), I[27] = (T)(img)(x,y,_p3##z,c), I[28] = (T)(img)(_n1##x,y,_p3##z,c), I[29] = (T)(img)(_n2##x,y,_p3##z,c), I[30] = (T)(img)(_n3##x,y,_p3##z,c), I[31] = (T)(img)(_n4##x,y,_p3##z,c), \
+ I[32] = (T)(img)(_p3##x,_n1##y,_p3##z,c), I[33] = (T)(img)(_p2##x,_n1##y,_p3##z,c), I[34] = (T)(img)(_p1##x,_n1##y,_p3##z,c), I[35] = (T)(img)(x,_n1##y,_p3##z,c), I[36] = (T)(img)(_n1##x,_n1##y,_p3##z,c), I[37] = (T)(img)(_n2##x,_n1##y,_p3##z,c), I[38] = (T)(img)(_n3##x,_n1##y,_p3##z,c), I[39] = (T)(img)(_n4##x,_n1##y,_p3##z,c), \
+ I[40] = (T)(img)(_p3##x,_n2##y,_p3##z,c), I[41] = (T)(img)(_p2##x,_n2##y,_p3##z,c), I[42] = (T)(img)(_p1##x,_n2##y,_p3##z,c), I[43] = (T)(img)(x,_n2##y,_p3##z,c), I[44] = (T)(img)(_n1##x,_n2##y,_p3##z,c), I[45] = (T)(img)(_n2##x,_n2##y,_p3##z,c), I[46] = (T)(img)(_n3##x,_n2##y,_p3##z,c), I[47] = (T)(img)(_n4##x,_n2##y,_p3##z,c), \
+ I[48] = (T)(img)(_p3##x,_n3##y,_p3##z,c), I[49] = (T)(img)(_p2##x,_n3##y,_p3##z,c), I[50] = (T)(img)(_p1##x,_n3##y,_p3##z,c), I[51] = (T)(img)(x,_n3##y,_p3##z,c), I[52] = (T)(img)(_n1##x,_n3##y,_p3##z,c), I[53] = (T)(img)(_n2##x,_n3##y,_p3##z,c), I[54] = (T)(img)(_n3##x,_n3##y,_p3##z,c), I[55] = (T)(img)(_n4##x,_n3##y,_p3##z,c), \
+ I[56] = (T)(img)(_p3##x,_n4##y,_p3##z,c), I[57] = (T)(img)(_p2##x,_n4##y,_p3##z,c), I[58] = (T)(img)(_p1##x,_n4##y,_p3##z,c), I[59] = (T)(img)(x,_n4##y,_p3##z,c), I[60] = (T)(img)(_n1##x,_n4##y,_p3##z,c), I[61] = (T)(img)(_n2##x,_n4##y,_p3##z,c), I[62] = (T)(img)(_n3##x,_n4##y,_p3##z,c), I[63] = (T)(img)(_n4##x,_n4##y,_p3##z,c), \
+ I[64] = (T)(img)(_p3##x,_p3##y,_p2##z,c), I[65] = (T)(img)(_p2##x,_p3##y,_p2##z,c), I[66] = (T)(img)(_p1##x,_p3##y,_p2##z,c), I[67] = (T)(img)(x,_p3##y,_p2##z,c), I[68] = (T)(img)(_n1##x,_p3##y,_p2##z,c), I[69] = (T)(img)(_n2##x,_p3##y,_p2##z,c), I[70] = (T)(img)(_n3##x,_p3##y,_p2##z,c), I[71] = (T)(img)(_n4##x,_p3##y,_p2##z,c), \
+ I[72] = (T)(img)(_p3##x,_p2##y,_p2##z,c), I[73] = (T)(img)(_p2##x,_p2##y,_p2##z,c), I[74] = (T)(img)(_p1##x,_p2##y,_p2##z,c), I[75] = (T)(img)(x,_p2##y,_p2##z,c), I[76] = (T)(img)(_n1##x,_p2##y,_p2##z,c), I[77] = (T)(img)(_n2##x,_p2##y,_p2##z,c), I[78] = (T)(img)(_n3##x,_p2##y,_p2##z,c), I[79] = (T)(img)(_n4##x,_p2##y,_p2##z,c), \
+ I[80] = (T)(img)(_p3##x,_p1##y,_p2##z,c), I[81] = (T)(img)(_p2##x,_p1##y,_p2##z,c), I[82] = (T)(img)(_p1##x,_p1##y,_p2##z,c), I[83] = (T)(img)(x,_p1##y,_p2##z,c), I[84] = (T)(img)(_n1##x,_p1##y,_p2##z,c), I[85] = (T)(img)(_n2##x,_p1##y,_p2##z,c), I[86] = (T)(img)(_n3##x,_p1##y,_p2##z,c), I[87] = (T)(img)(_n4##x,_p1##y,_p2##z,c), \
+ I[88] = (T)(img)(_p3##x,y,_p2##z,c), I[89] = (T)(img)(_p2##x,y,_p2##z,c), I[90] = (T)(img)(_p1##x,y,_p2##z,c), I[91] = (T)(img)(x,y,_p2##z,c), I[92] = (T)(img)(_n1##x,y,_p2##z,c), I[93] = (T)(img)(_n2##x,y,_p2##z,c), I[94] = (T)(img)(_n3##x,y,_p2##z,c), I[95] = (T)(img)(_n4##x,y,_p2##z,c), \
+ I[96] = (T)(img)(_p3##x,_n1##y,_p2##z,c), I[97] = (T)(img)(_p2##x,_n1##y,_p2##z,c), I[98] = (T)(img)(_p1##x,_n1##y,_p2##z,c), I[99] = (T)(img)(x,_n1##y,_p2##z,c), I[100] = (T)(img)(_n1##x,_n1##y,_p2##z,c), I[101] = (T)(img)(_n2##x,_n1##y,_p2##z,c), I[102] = (T)(img)(_n3##x,_n1##y,_p2##z,c), I[103] = (T)(img)(_n4##x,_n1##y,_p2##z,c), \
+ I[104] = (T)(img)(_p3##x,_n2##y,_p2##z,c), I[105] = (T)(img)(_p2##x,_n2##y,_p2##z,c), I[106] = (T)(img)(_p1##x,_n2##y,_p2##z,c), I[107] = (T)(img)(x,_n2##y,_p2##z,c), I[108] = (T)(img)(_n1##x,_n2##y,_p2##z,c), I[109] = (T)(img)(_n2##x,_n2##y,_p2##z,c), I[110] = (T)(img)(_n3##x,_n2##y,_p2##z,c), I[111] = (T)(img)(_n4##x,_n2##y,_p2##z,c), \
+ I[112] = (T)(img)(_p3##x,_n3##y,_p2##z,c), I[113] = (T)(img)(_p2##x,_n3##y,_p2##z,c), I[114] = (T)(img)(_p1##x,_n3##y,_p2##z,c), I[115] = (T)(img)(x,_n3##y,_p2##z,c), I[116] = (T)(img)(_n1##x,_n3##y,_p2##z,c), I[117] = (T)(img)(_n2##x,_n3##y,_p2##z,c), I[118] = (T)(img)(_n3##x,_n3##y,_p2##z,c), I[119] = (T)(img)(_n4##x,_n3##y,_p2##z,c), \
+ I[120] = (T)(img)(_p3##x,_n4##y,_p2##z,c), I[121] = (T)(img)(_p2##x,_n4##y,_p2##z,c), I[122] = (T)(img)(_p1##x,_n4##y,_p2##z,c), I[123] = (T)(img)(x,_n4##y,_p2##z,c), I[124] = (T)(img)(_n1##x,_n4##y,_p2##z,c), I[125] = (T)(img)(_n2##x,_n4##y,_p2##z,c), I[126] = (T)(img)(_n3##x,_n4##y,_p2##z,c), I[127] = (T)(img)(_n4##x,_n4##y,_p2##z,c), \
+ I[128] = (T)(img)(_p3##x,_p3##y,_p1##z,c), I[129] = (T)(img)(_p2##x,_p3##y,_p1##z,c), I[130] = (T)(img)(_p1##x,_p3##y,_p1##z,c), I[131] = (T)(img)(x,_p3##y,_p1##z,c), I[132] = (T)(img)(_n1##x,_p3##y,_p1##z,c), I[133] = (T)(img)(_n2##x,_p3##y,_p1##z,c), I[134] = (T)(img)(_n3##x,_p3##y,_p1##z,c), I[135] = (T)(img)(_n4##x,_p3##y,_p1##z,c), \
+ I[136] = (T)(img)(_p3##x,_p2##y,_p1##z,c), I[137] = (T)(img)(_p2##x,_p2##y,_p1##z,c), I[138] = (T)(img)(_p1##x,_p2##y,_p1##z,c), I[139] = (T)(img)(x,_p2##y,_p1##z,c), I[140] = (T)(img)(_n1##x,_p2##y,_p1##z,c), I[141] = (T)(img)(_n2##x,_p2##y,_p1##z,c), I[142] = (T)(img)(_n3##x,_p2##y,_p1##z,c), I[143] = (T)(img)(_n4##x,_p2##y,_p1##z,c), \
+ I[144] = (T)(img)(_p3##x,_p1##y,_p1##z,c), I[145] = (T)(img)(_p2##x,_p1##y,_p1##z,c), I[146] = (T)(img)(_p1##x,_p1##y,_p1##z,c), I[147] = (T)(img)(x,_p1##y,_p1##z,c), I[148] = (T)(img)(_n1##x,_p1##y,_p1##z,c), I[149] = (T)(img)(_n2##x,_p1##y,_p1##z,c), I[150] = (T)(img)(_n3##x,_p1##y,_p1##z,c), I[151] = (T)(img)(_n4##x,_p1##y,_p1##z,c), \
+ I[152] = (T)(img)(_p3##x,y,_p1##z,c), I[153] = (T)(img)(_p2##x,y,_p1##z,c), I[154] = (T)(img)(_p1##x,y,_p1##z,c), I[155] = (T)(img)(x,y,_p1##z,c), I[156] = (T)(img)(_n1##x,y,_p1##z,c), I[157] = (T)(img)(_n2##x,y,_p1##z,c), I[158] = (T)(img)(_n3##x,y,_p1##z,c), I[159] = (T)(img)(_n4##x,y,_p1##z,c), \
+ I[160] = (T)(img)(_p3##x,_n1##y,_p1##z,c), I[161] = (T)(img)(_p2##x,_n1##y,_p1##z,c), I[162] = (T)(img)(_p1##x,_n1##y,_p1##z,c), I[163] = (T)(img)(x,_n1##y,_p1##z,c), I[164] = (T)(img)(_n1##x,_n1##y,_p1##z,c), I[165] = (T)(img)(_n2##x,_n1##y,_p1##z,c), I[166] = (T)(img)(_n3##x,_n1##y,_p1##z,c), I[167] = (T)(img)(_n4##x,_n1##y,_p1##z,c), \
+ I[168] = (T)(img)(_p3##x,_n2##y,_p1##z,c), I[169] = (T)(img)(_p2##x,_n2##y,_p1##z,c), I[170] = (T)(img)(_p1##x,_n2##y,_p1##z,c), I[171] = (T)(img)(x,_n2##y,_p1##z,c), I[172] = (T)(img)(_n1##x,_n2##y,_p1##z,c), I[173] = (T)(img)(_n2##x,_n2##y,_p1##z,c), I[174] = (T)(img)(_n3##x,_n2##y,_p1##z,c), I[175] = (T)(img)(_n4##x,_n2##y,_p1##z,c), \
+ I[176] = (T)(img)(_p3##x,_n3##y,_p1##z,c), I[177] = (T)(img)(_p2##x,_n3##y,_p1##z,c), I[178] = (T)(img)(_p1##x,_n3##y,_p1##z,c), I[179] = (T)(img)(x,_n3##y,_p1##z,c), I[180] = (T)(img)(_n1##x,_n3##y,_p1##z,c), I[181] = (T)(img)(_n2##x,_n3##y,_p1##z,c), I[182] = (T)(img)(_n3##x,_n3##y,_p1##z,c), I[183] = (T)(img)(_n4##x,_n3##y,_p1##z,c), \
+ I[184] = (T)(img)(_p3##x,_n4##y,_p1##z,c), I[185] = (T)(img)(_p2##x,_n4##y,_p1##z,c), I[186] = (T)(img)(_p1##x,_n4##y,_p1##z,c), I[187] = (T)(img)(x,_n4##y,_p1##z,c), I[188] = (T)(img)(_n1##x,_n4##y,_p1##z,c), I[189] = (T)(img)(_n2##x,_n4##y,_p1##z,c), I[190] = (T)(img)(_n3##x,_n4##y,_p1##z,c), I[191] = (T)(img)(_n4##x,_n4##y,_p1##z,c), \
+ I[192] = (T)(img)(_p3##x,_p3##y,z,c), I[193] = (T)(img)(_p2##x,_p3##y,z,c), I[194] = (T)(img)(_p1##x,_p3##y,z,c), I[195] = (T)(img)(x,_p3##y,z,c), I[196] = (T)(img)(_n1##x,_p3##y,z,c), I[197] = (T)(img)(_n2##x,_p3##y,z,c), I[198] = (T)(img)(_n3##x,_p3##y,z,c), I[199] = (T)(img)(_n4##x,_p3##y,z,c), \
+ I[200] = (T)(img)(_p3##x,_p2##y,z,c), I[201] = (T)(img)(_p2##x,_p2##y,z,c), I[202] = (T)(img)(_p1##x,_p2##y,z,c), I[203] = (T)(img)(x,_p2##y,z,c), I[204] = (T)(img)(_n1##x,_p2##y,z,c), I[205] = (T)(img)(_n2##x,_p2##y,z,c), I[206] = (T)(img)(_n3##x,_p2##y,z,c), I[207] = (T)(img)(_n4##x,_p2##y,z,c), \
+ I[208] = (T)(img)(_p3##x,_p1##y,z,c), I[209] = (T)(img)(_p2##x,_p1##y,z,c), I[210] = (T)(img)(_p1##x,_p1##y,z,c), I[211] = (T)(img)(x,_p1##y,z,c), I[212] = (T)(img)(_n1##x,_p1##y,z,c), I[213] = (T)(img)(_n2##x,_p1##y,z,c), I[214] = (T)(img)(_n3##x,_p1##y,z,c), I[215] = (T)(img)(_n4##x,_p1##y,z,c), \
+ I[216] = (T)(img)(_p3##x,y,z,c), I[217] = (T)(img)(_p2##x,y,z,c), I[218] = (T)(img)(_p1##x,y,z,c), I[219] = (T)(img)(x,y,z,c), I[220] = (T)(img)(_n1##x,y,z,c), I[221] = (T)(img)(_n2##x,y,z,c), I[222] = (T)(img)(_n3##x,y,z,c), I[223] = (T)(img)(_n4##x,y,z,c), \
+ I[224] = (T)(img)(_p3##x,_n1##y,z,c), I[225] = (T)(img)(_p2##x,_n1##y,z,c), I[226] = (T)(img)(_p1##x,_n1##y,z,c), I[227] = (T)(img)(x,_n1##y,z,c), I[228] = (T)(img)(_n1##x,_n1##y,z,c), I[229] = (T)(img)(_n2##x,_n1##y,z,c), I[230] = (T)(img)(_n3##x,_n1##y,z,c), I[231] = (T)(img)(_n4##x,_n1##y,z,c), \
+ I[232] = (T)(img)(_p3##x,_n2##y,z,c), I[233] = (T)(img)(_p2##x,_n2##y,z,c), I[234] = (T)(img)(_p1##x,_n2##y,z,c), I[235] = (T)(img)(x,_n2##y,z,c), I[236] = (T)(img)(_n1##x,_n2##y,z,c), I[237] = (T)(img)(_n2##x,_n2##y,z,c), I[238] = (T)(img)(_n3##x,_n2##y,z,c), I[239] = (T)(img)(_n4##x,_n2##y,z,c), \
+ I[240] = (T)(img)(_p3##x,_n3##y,z,c), I[241] = (T)(img)(_p2##x,_n3##y,z,c), I[242] = (T)(img)(_p1##x,_n3##y,z,c), I[243] = (T)(img)(x,_n3##y,z,c), I[244] = (T)(img)(_n1##x,_n3##y,z,c), I[245] = (T)(img)(_n2##x,_n3##y,z,c), I[246] = (T)(img)(_n3##x,_n3##y,z,c), I[247] = (T)(img)(_n4##x,_n3##y,z,c), \
+ I[248] = (T)(img)(_p3##x,_n4##y,z,c), I[249] = (T)(img)(_p2##x,_n4##y,z,c), I[250] = (T)(img)(_p1##x,_n4##y,z,c), I[251] = (T)(img)(x,_n4##y,z,c), I[252] = (T)(img)(_n1##x,_n4##y,z,c), I[253] = (T)(img)(_n2##x,_n4##y,z,c), I[254] = (T)(img)(_n3##x,_n4##y,z,c), I[255] = (T)(img)(_n4##x,_n4##y,z,c), \
+ I[256] = (T)(img)(_p3##x,_p3##y,_n1##z,c), I[257] = (T)(img)(_p2##x,_p3##y,_n1##z,c), I[258] = (T)(img)(_p1##x,_p3##y,_n1##z,c), I[259] = (T)(img)(x,_p3##y,_n1##z,c), I[260] = (T)(img)(_n1##x,_p3##y,_n1##z,c), I[261] = (T)(img)(_n2##x,_p3##y,_n1##z,c), I[262] = (T)(img)(_n3##x,_p3##y,_n1##z,c), I[263] = (T)(img)(_n4##x,_p3##y,_n1##z,c), \
+ I[264] = (T)(img)(_p3##x,_p2##y,_n1##z,c), I[265] = (T)(img)(_p2##x,_p2##y,_n1##z,c), I[266] = (T)(img)(_p1##x,_p2##y,_n1##z,c), I[267] = (T)(img)(x,_p2##y,_n1##z,c), I[268] = (T)(img)(_n1##x,_p2##y,_n1##z,c), I[269] = (T)(img)(_n2##x,_p2##y,_n1##z,c), I[270] = (T)(img)(_n3##x,_p2##y,_n1##z,c), I[271] = (T)(img)(_n4##x,_p2##y,_n1##z,c), \
+ I[272] = (T)(img)(_p3##x,_p1##y,_n1##z,c), I[273] = (T)(img)(_p2##x,_p1##y,_n1##z,c), I[274] = (T)(img)(_p1##x,_p1##y,_n1##z,c), I[275] = (T)(img)(x,_p1##y,_n1##z,c), I[276] = (T)(img)(_n1##x,_p1##y,_n1##z,c), I[277] = (T)(img)(_n2##x,_p1##y,_n1##z,c), I[278] = (T)(img)(_n3##x,_p1##y,_n1##z,c), I[279] = (T)(img)(_n4##x,_p1##y,_n1##z,c), \
+ I[280] = (T)(img)(_p3##x,y,_n1##z,c), I[281] = (T)(img)(_p2##x,y,_n1##z,c), I[282] = (T)(img)(_p1##x,y,_n1##z,c), I[283] = (T)(img)(x,y,_n1##z,c), I[284] = (T)(img)(_n1##x,y,_n1##z,c), I[285] = (T)(img)(_n2##x,y,_n1##z,c), I[286] = (T)(img)(_n3##x,y,_n1##z,c), I[287] = (T)(img)(_n4##x,y,_n1##z,c), \
+ I[288] = (T)(img)(_p3##x,_n1##y,_n1##z,c), I[289] = (T)(img)(_p2##x,_n1##y,_n1##z,c), I[290] = (T)(img)(_p1##x,_n1##y,_n1##z,c), I[291] = (T)(img)(x,_n1##y,_n1##z,c), I[292] = (T)(img)(_n1##x,_n1##y,_n1##z,c), I[293] = (T)(img)(_n2##x,_n1##y,_n1##z,c), I[294] = (T)(img)(_n3##x,_n1##y,_n1##z,c), I[295] = (T)(img)(_n4##x,_n1##y,_n1##z,c), \
+ I[296] = (T)(img)(_p3##x,_n2##y,_n1##z,c), I[297] = (T)(img)(_p2##x,_n2##y,_n1##z,c), I[298] = (T)(img)(_p1##x,_n2##y,_n1##z,c), I[299] = (T)(img)(x,_n2##y,_n1##z,c), I[300] = (T)(img)(_n1##x,_n2##y,_n1##z,c), I[301] = (T)(img)(_n2##x,_n2##y,_n1##z,c), I[302] = (T)(img)(_n3##x,_n2##y,_n1##z,c), I[303] = (T)(img)(_n4##x,_n2##y,_n1##z,c), \
+ I[304] = (T)(img)(_p3##x,_n3##y,_n1##z,c), I[305] = (T)(img)(_p2##x,_n3##y,_n1##z,c), I[306] = (T)(img)(_p1##x,_n3##y,_n1##z,c), I[307] = (T)(img)(x,_n3##y,_n1##z,c), I[308] = (T)(img)(_n1##x,_n3##y,_n1##z,c), I[309] = (T)(img)(_n2##x,_n3##y,_n1##z,c), I[310] = (T)(img)(_n3##x,_n3##y,_n1##z,c), I[311] = (T)(img)(_n4##x,_n3##y,_n1##z,c), \
+ I[312] = (T)(img)(_p3##x,_n4##y,_n1##z,c), I[313] = (T)(img)(_p2##x,_n4##y,_n1##z,c), I[314] = (T)(img)(_p1##x,_n4##y,_n1##z,c), I[315] = (T)(img)(x,_n4##y,_n1##z,c), I[316] = (T)(img)(_n1##x,_n4##y,_n1##z,c), I[317] = (T)(img)(_n2##x,_n4##y,_n1##z,c), I[318] = (T)(img)(_n3##x,_n4##y,_n1##z,c), I[319] = (T)(img)(_n4##x,_n4##y,_n1##z,c), \
+ I[320] = (T)(img)(_p3##x,_p3##y,_n2##z,c), I[321] = (T)(img)(_p2##x,_p3##y,_n2##z,c), I[322] = (T)(img)(_p1##x,_p3##y,_n2##z,c), I[323] = (T)(img)(x,_p3##y,_n2##z,c), I[324] = (T)(img)(_n1##x,_p3##y,_n2##z,c), I[325] = (T)(img)(_n2##x,_p3##y,_n2##z,c), I[326] = (T)(img)(_n3##x,_p3##y,_n2##z,c), I[327] = (T)(img)(_n4##x,_p3##y,_n2##z,c), \
+ I[328] = (T)(img)(_p3##x,_p2##y,_n2##z,c), I[329] = (T)(img)(_p2##x,_p2##y,_n2##z,c), I[330] = (T)(img)(_p1##x,_p2##y,_n2##z,c), I[331] = (T)(img)(x,_p2##y,_n2##z,c), I[332] = (T)(img)(_n1##x,_p2##y,_n2##z,c), I[333] = (T)(img)(_n2##x,_p2##y,_n2##z,c), I[334] = (T)(img)(_n3##x,_p2##y,_n2##z,c), I[335] = (T)(img)(_n4##x,_p2##y,_n2##z,c), \
+ I[336] = (T)(img)(_p3##x,_p1##y,_n2##z,c), I[337] = (T)(img)(_p2##x,_p1##y,_n2##z,c), I[338] = (T)(img)(_p1##x,_p1##y,_n2##z,c), I[339] = (T)(img)(x,_p1##y,_n2##z,c), I[340] = (T)(img)(_n1##x,_p1##y,_n2##z,c), I[341] = (T)(img)(_n2##x,_p1##y,_n2##z,c), I[342] = (T)(img)(_n3##x,_p1##y,_n2##z,c), I[343] = (T)(img)(_n4##x,_p1##y,_n2##z,c), \
+ I[344] = (T)(img)(_p3##x,y,_n2##z,c), I[345] = (T)(img)(_p2##x,y,_n2##z,c), I[346] = (T)(img)(_p1##x,y,_n2##z,c), I[347] = (T)(img)(x,y,_n2##z,c), I[348] = (T)(img)(_n1##x,y,_n2##z,c), I[349] = (T)(img)(_n2##x,y,_n2##z,c), I[350] = (T)(img)(_n3##x,y,_n2##z,c), I[351] = (T)(img)(_n4##x,y,_n2##z,c), \
+ I[352] = (T)(img)(_p3##x,_n1##y,_n2##z,c), I[353] = (T)(img)(_p2##x,_n1##y,_n2##z,c), I[354] = (T)(img)(_p1##x,_n1##y,_n2##z,c), I[355] = (T)(img)(x,_n1##y,_n2##z,c), I[356] = (T)(img)(_n1##x,_n1##y,_n2##z,c), I[357] = (T)(img)(_n2##x,_n1##y,_n2##z,c), I[358] = (T)(img)(_n3##x,_n1##y,_n2##z,c), I[359] = (T)(img)(_n4##x,_n1##y,_n2##z,c), \
+ I[360] = (T)(img)(_p3##x,_n2##y,_n2##z,c), I[361] = (T)(img)(_p2##x,_n2##y,_n2##z,c), I[362] = (T)(img)(_p1##x,_n2##y,_n2##z,c), I[363] = (T)(img)(x,_n2##y,_n2##z,c), I[364] = (T)(img)(_n1##x,_n2##y,_n2##z,c), I[365] = (T)(img)(_n2##x,_n2##y,_n2##z,c), I[366] = (T)(img)(_n3##x,_n2##y,_n2##z,c), I[367] = (T)(img)(_n4##x,_n2##y,_n2##z,c), \
+ I[368] = (T)(img)(_p3##x,_n3##y,_n2##z,c), I[369] = (T)(img)(_p2##x,_n3##y,_n2##z,c), I[370] = (T)(img)(_p1##x,_n3##y,_n2##z,c), I[371] = (T)(img)(x,_n3##y,_n2##z,c), I[372] = (T)(img)(_n1##x,_n3##y,_n2##z,c), I[373] = (T)(img)(_n2##x,_n3##y,_n2##z,c), I[374] = (T)(img)(_n3##x,_n3##y,_n2##z,c), I[375] = (T)(img)(_n4##x,_n3##y,_n2##z,c), \
+ I[376] = (T)(img)(_p3##x,_n4##y,_n2##z,c), I[377] = (T)(img)(_p2##x,_n4##y,_n2##z,c), I[378] = (T)(img)(_p1##x,_n4##y,_n2##z,c), I[379] = (T)(img)(x,_n4##y,_n2##z,c), I[380] = (T)(img)(_n1##x,_n4##y,_n2##z,c), I[381] = (T)(img)(_n2##x,_n4##y,_n2##z,c), I[382] = (T)(img)(_n3##x,_n4##y,_n2##z,c), I[383] = (T)(img)(_n4##x,_n4##y,_n2##z,c), \
+ I[384] = (T)(img)(_p3##x,_p3##y,_n3##z,c), I[385] = (T)(img)(_p2##x,_p3##y,_n3##z,c), I[386] = (T)(img)(_p1##x,_p3##y,_n3##z,c), I[387] = (T)(img)(x,_p3##y,_n3##z,c), I[388] = (T)(img)(_n1##x,_p3##y,_n3##z,c), I[389] = (T)(img)(_n2##x,_p3##y,_n3##z,c), I[390] = (T)(img)(_n3##x,_p3##y,_n3##z,c), I[391] = (T)(img)(_n4##x,_p3##y,_n3##z,c), \
+ I[392] = (T)(img)(_p3##x,_p2##y,_n3##z,c), I[393] = (T)(img)(_p2##x,_p2##y,_n3##z,c), I[394] = (T)(img)(_p1##x,_p2##y,_n3##z,c), I[395] = (T)(img)(x,_p2##y,_n3##z,c), I[396] = (T)(img)(_n1##x,_p2##y,_n3##z,c), I[397] = (T)(img)(_n2##x,_p2##y,_n3##z,c), I[398] = (T)(img)(_n3##x,_p2##y,_n3##z,c), I[399] = (T)(img)(_n4##x,_p2##y,_n3##z,c), \
+ I[400] = (T)(img)(_p3##x,_p1##y,_n3##z,c), I[401] = (T)(img)(_p2##x,_p1##y,_n3##z,c), I[402] = (T)(img)(_p1##x,_p1##y,_n3##z,c), I[403] = (T)(img)(x,_p1##y,_n3##z,c), I[404] = (T)(img)(_n1##x,_p1##y,_n3##z,c), I[405] = (T)(img)(_n2##x,_p1##y,_n3##z,c), I[406] = (T)(img)(_n3##x,_p1##y,_n3##z,c), I[407] = (T)(img)(_n4##x,_p1##y,_n3##z,c), \
+ I[408] = (T)(img)(_p3##x,y,_n3##z,c), I[409] = (T)(img)(_p2##x,y,_n3##z,c), I[410] = (T)(img)(_p1##x,y,_n3##z,c), I[411] = (T)(img)(x,y,_n3##z,c), I[412] = (T)(img)(_n1##x,y,_n3##z,c), I[413] = (T)(img)(_n2##x,y,_n3##z,c), I[414] = (T)(img)(_n3##x,y,_n3##z,c), I[415] = (T)(img)(_n4##x,y,_n3##z,c), \
+ I[416] = (T)(img)(_p3##x,_n1##y,_n3##z,c), I[417] = (T)(img)(_p2##x,_n1##y,_n3##z,c), I[418] = (T)(img)(_p1##x,_n1##y,_n3##z,c), I[419] = (T)(img)(x,_n1##y,_n3##z,c), I[420] = (T)(img)(_n1##x,_n1##y,_n3##z,c), I[421] = (T)(img)(_n2##x,_n1##y,_n3##z,c), I[422] = (T)(img)(_n3##x,_n1##y,_n3##z,c), I[423] = (T)(img)(_n4##x,_n1##y,_n3##z,c), \
+ I[424] = (T)(img)(_p3##x,_n2##y,_n3##z,c), I[425] = (T)(img)(_p2##x,_n2##y,_n3##z,c), I[426] = (T)(img)(_p1##x,_n2##y,_n3##z,c), I[427] = (T)(img)(x,_n2##y,_n3##z,c), I[428] = (T)(img)(_n1##x,_n2##y,_n3##z,c), I[429] = (T)(img)(_n2##x,_n2##y,_n3##z,c), I[430] = (T)(img)(_n3##x,_n2##y,_n3##z,c), I[431] = (T)(img)(_n4##x,_n2##y,_n3##z,c), \
+ I[432] = (T)(img)(_p3##x,_n3##y,_n3##z,c), I[433] = (T)(img)(_p2##x,_n3##y,_n3##z,c), I[434] = (T)(img)(_p1##x,_n3##y,_n3##z,c), I[435] = (T)(img)(x,_n3##y,_n3##z,c), I[436] = (T)(img)(_n1##x,_n3##y,_n3##z,c), I[437] = (T)(img)(_n2##x,_n3##y,_n3##z,c), I[438] = (T)(img)(_n3##x,_n3##y,_n3##z,c), I[439] = (T)(img)(_n4##x,_n3##y,_n3##z,c), \
+ I[440] = (T)(img)(_p3##x,_n4##y,_n3##z,c), I[441] = (T)(img)(_p2##x,_n4##y,_n3##z,c), I[442] = (T)(img)(_p1##x,_n4##y,_n3##z,c), I[443] = (T)(img)(x,_n4##y,_n3##z,c), I[444] = (T)(img)(_n1##x,_n4##y,_n3##z,c), I[445] = (T)(img)(_n2##x,_n4##y,_n3##z,c), I[446] = (T)(img)(_n3##x,_n4##y,_n3##z,c), I[447] = (T)(img)(_n4##x,_n4##y,_n3##z,c), \
+ I[448] = (T)(img)(_p3##x,_p3##y,_n4##z,c), I[449] = (T)(img)(_p2##x,_p3##y,_n4##z,c), I[450] = (T)(img)(_p1##x,_p3##y,_n4##z,c), I[451] = (T)(img)(x,_p3##y,_n4##z,c), I[452] = (T)(img)(_n1##x,_p3##y,_n4##z,c), I[453] = (T)(img)(_n2##x,_p3##y,_n4##z,c), I[454] = (T)(img)(_n3##x,_p3##y,_n4##z,c), I[455] = (T)(img)(_n4##x,_p3##y,_n4##z,c), \
+ I[456] = (T)(img)(_p3##x,_p2##y,_n4##z,c), I[457] = (T)(img)(_p2##x,_p2##y,_n4##z,c), I[458] = (T)(img)(_p1##x,_p2##y,_n4##z,c), I[459] = (T)(img)(x,_p2##y,_n4##z,c), I[460] = (T)(img)(_n1##x,_p2##y,_n4##z,c), I[461] = (T)(img)(_n2##x,_p2##y,_n4##z,c), I[462] = (T)(img)(_n3##x,_p2##y,_n4##z,c), I[463] = (T)(img)(_n4##x,_p2##y,_n4##z,c), \
+ I[464] = (T)(img)(_p3##x,_p1##y,_n4##z,c), I[465] = (T)(img)(_p2##x,_p1##y,_n4##z,c), I[466] = (T)(img)(_p1##x,_p1##y,_n4##z,c), I[467] = (T)(img)(x,_p1##y,_n4##z,c), I[468] = (T)(img)(_n1##x,_p1##y,_n4##z,c), I[469] = (T)(img)(_n2##x,_p1##y,_n4##z,c), I[470] = (T)(img)(_n3##x,_p1##y,_n4##z,c), I[471] = (T)(img)(_n4##x,_p1##y,_n4##z,c), \
+ I[472] = (T)(img)(_p3##x,y,_n4##z,c), I[473] = (T)(img)(_p2##x,y,_n4##z,c), I[474] = (T)(img)(_p1##x,y,_n4##z,c), I[475] = (T)(img)(x,y,_n4##z,c), I[476] = (T)(img)(_n1##x,y,_n4##z,c), I[477] = (T)(img)(_n2##x,y,_n4##z,c), I[478] = (T)(img)(_n3##x,y,_n4##z,c), I[479] = (T)(img)(_n4##x,y,_n4##z,c), \
+ I[480] = (T)(img)(_p3##x,_n1##y,_n4##z,c), I[481] = (T)(img)(_p2##x,_n1##y,_n4##z,c), I[482] = (T)(img)(_p1##x,_n1##y,_n4##z,c), I[483] = (T)(img)(x,_n1##y,_n4##z,c), I[484] = (T)(img)(_n1##x,_n1##y,_n4##z,c), I[485] = (T)(img)(_n2##x,_n1##y,_n4##z,c), I[486] = (T)(img)(_n3##x,_n1##y,_n4##z,c), I[487] = (T)(img)(_n4##x,_n1##y,_n4##z,c), \
+ I[488] = (T)(img)(_p3##x,_n2##y,_n4##z,c), I[489] = (T)(img)(_p2##x,_n2##y,_n4##z,c), I[490] = (T)(img)(_p1##x,_n2##y,_n4##z,c), I[491] = (T)(img)(x,_n2##y,_n4##z,c), I[492] = (T)(img)(_n1##x,_n2##y,_n4##z,c), I[493] = (T)(img)(_n2##x,_n2##y,_n4##z,c), I[494] = (T)(img)(_n3##x,_n2##y,_n4##z,c), I[495] = (T)(img)(_n4##x,_n2##y,_n4##z,c), \
+ I[496] = (T)(img)(_p3##x,_n3##y,_n4##z,c), I[497] = (T)(img)(_p2##x,_n3##y,_n4##z,c), I[498] = (T)(img)(_p1##x,_n3##y,_n4##z,c), I[499] = (T)(img)(x,_n3##y,_n4##z,c), I[500] = (T)(img)(_n1##x,_n3##y,_n4##z,c), I[501] = (T)(img)(_n2##x,_n3##y,_n4##z,c), I[502] = (T)(img)(_n3##x,_n3##y,_n4##z,c), I[503] = (T)(img)(_n4##x,_n3##y,_n4##z,c), \
+ I[504] = (T)(img)(_p3##x,_n4##y,_n4##z,c), I[505] = (T)(img)(_p2##x,_n4##y,_n4##z,c), I[506] = (T)(img)(_p1##x,_n4##y,_n4##z,c), I[507] = (T)(img)(x,_n4##y,_n4##z,c), I[508] = (T)(img)(_n1##x,_n4##y,_n4##z,c), I[509] = (T)(img)(_n2##x,_n4##y,_n4##z,c), I[510] = (T)(img)(_n3##x,_n4##y,_n4##z,c), I[511] = (T)(img)(_n4##x,_n4##y,_n4##z,c);
+
+// End of the plug-in
+#endif /* cimg_plugin_loop_macros */
diff --git a/plugins/matlab.h b/plugins/matlab.h
new file mode 100644
index 0000000..c4cbb34
--- /dev/null
+++ b/plugins/matlab.h
@@ -0,0 +1,287 @@
+/*************************************************************************
+ * matlab.h
+ * ---------
+ *
+ * matlab.h is a "plugin" for the CImg library that allows to convert
+ * CImg<T> images from/to MATLAB arrays, so that CImg can be used to write
+ * MATLAB mex files.  It also swaps the "x" and "y" coordinates when going
+ * from / to MATLAB array, i.e. the usual image-processing annoying MATLAB
+ * behaviour of considering images as matrices.
+ *
+ * Added to the CImg<T> class are:
+ *
+ *  - a constructor : CImg(const mxArray *matlabArray, bool vdata = false)
+ *    the vdata  serves  to  decide  whether a 3D matlab array should give
+ *    rise to a 3D CImg object or a "2D vectorial" one.
+ *
+ *  - a assignment operator : CImg & operator=(const mxArray *matlabArray)
+ *    (I use myself extremely seldom and might remove it in the future).
+ *
+ *  - a routine converting a CImg image to a matlab array:
+ *    mxArray *toMatlab(mxClassID classID = mxDOUBLE_CLASS,
+ *                      bool squeeze = false) const
+ *    the squeeze argument serves the opposite purpose than the vdata from
+ *    the constructor.
+ *
+ * For a  bit  more documentation, the manual is this header, see the more
+ * detailed comments in the source code (i.e. RTFM)
+ *
+ *
+ * Its usage should be straightforward:
+ *
+ * - file matlab.h must be in a directory that the compiler can locate.
+ * - prior to include CImg.h, mex.h  must  be  included first, else it will
+ *   result in a compiler error.
+ * - after the inclusion of mex.h, one must define the macro cimg_plugin as
+ *   "matlab.h"  or  <matlab.h> or  <CImg/plugins/matlab.h>  or
+ *   a variation that  matches your  local installation of CImg package and
+ *   plugins probably via the appropriate specification of the include path
+ *   "-Ipath/to/cimg/and/plugins" at mex cmdline.
+ *
+ * You would probably have this kind of declaration:
+ *
+ * // The begining of my fantastic mex file code...
+ * #include <mex.h>
+ * ...
+ * #define cimg_plugin  <matlab.h>
+ * #include <CImg.h>
+ * ...
+ * // and now I can implement my new killer MATLAB function!
+ * ....
+ *
+ *
+ * Copyright (c) 2004-2008 Francois Lauze
+ * Licence: the Gnu Lesser General Public License
+ * http://www.gnu.org/licenses/lgpl.html
+ *
+ * MATLAB is copyright of The MathWorks, Inc, http://www.mathworks.com
+ *
+ * Any comments, improvements and potential bug corrections are welcome, so
+ * write to  me at francois at diku.dk, or use CImg forums, I promise I'll try
+ * to read them once in a while. BTW who modified the cpMatlabData with the
+ * cimg::type<t>::is_float() test (good idea!)
+ *
+ ***************************************************************************/
+
+#ifndef cimg_plugin_matlab
+#define cimg_plugin_matlab
+
+#define CIMGMATLAB_VER 0102
+#ifndef mex_h
+#error the file mex.h must be included prior to inclusion of matlab.h
+#endif
+#ifndef cimg_version
+#error matlab.h requires that CImg.h is included!
+#endif
+
+/**********************************************************
+ * introduction of mwSize and mwIndex types in relatively *
+ * recent versions of matlab, 7.3.0 from what I gathered. *
+ * here is hopefully a needed fix for older versions      *
+ **********************************************************/
+#if !defined(MX_API_VER) ||  MX_API_VER < 0x7030000
+typedef int mwSize;
+#endif
+
+/*********************************************************
+ * begin of included methods                             *
+ * They are just added as member functions / constructor *
+ * for the CImg<T> class.                                *
+ *********************************************************/
+
+private:
+
+/**********************************************************************
+ * internally used to transfer MATLAB array values to CImg<> objects,
+ * check wether the array type is a "numerical" one (including logical)
+ */
+static int isNumericalClassID(mxClassID id) {
+  // all these constants are defined in matrix.h included by mex.h
+  switch (id) {
+  case mxLOGICAL_CLASS:
+  case mxDOUBLE_CLASS:
+  case mxSINGLE_CLASS:
+  case mxINT8_CLASS:
+  case mxUINT8_CLASS:
+  case mxINT16_CLASS:
+  case mxUINT16_CLASS:
+  case mxINT32_CLASS:
+  case mxUINT32_CLASS:
+  case mxINT64_CLASS:
+  case mxUINT64_CLASS: return 1;
+  default: return 0;
+  }
+}
+
+/***************************************************
+ * driving routine that will copy the content of
+ * a MATLAB array to this->_data
+ * The type names used are defined in matlab c/c++
+ * header file tmwtypes.h
+ */
+void makeImageFromMatlabData(const mxArray *matlabArray, mxClassID classID) {
+  if (classID==mxLOGICAL_CLASS) {
+    // logical type works a bit differently than the numerical types
+    mxLogical *mdata = mxGetLogicals(matlabArray);
+    cpMatlabData((const mxLogical *)mdata);
+  } else {
+    void *mdata = (void*)mxGetPr(matlabArray);
+    switch (classID) {
+    case mxDOUBLE_CLASS : cpMatlabData((const real64_T*)mdata); break;
+    case mxSINGLE_CLASS : cpMatlabData((const real32_T*)mdata); break;
+    case mxINT8_CLASS : cpMatlabData((const int8_T*)mdata); break;
+    case mxUINT8_CLASS : cpMatlabData((const uint8_T*)mdata); break;
+    case mxINT16_CLASS : cpMatlabData((const int16_T*)mdata); break;
+    case mxUINT16_CLASS : cpMatlabData((const uint16_T*)mdata); break;
+    case mxINT32_CLASS : cpMatlabData((const int32_T*)mdata); break;
+    case mxUINT32_CLASS : cpMatlabData((const uint32_T*)mdata); break;
+    case mxINT64_CLASS : cpMatlabData((const int64_T*)mdata); break;
+    case mxUINT64_CLASS : cpMatlabData((const uint64_T*)mdata); break;
+    }
+  }
+}
+
+/***********************************************************
+ * the actual memory copy and base type conversion is then
+ * performed by this routine that handles the annoying x-y
+ * problem of MATLAB when dealing with images: we switch
+ * line and column storage: the MATLAB A(x,y) becomes the
+ * CImg img(y,x)
+ */
+template <typename t> void cpMatlabData(const t* mdata) {
+  if (cimg::type<t>::is_float()) {
+    cimg_forXYZC(*this,x,y,z,v) (*this)(x,y,z,v) = (T)(mdata[((v*_depth + z)*_width + x)*_height + y]);
+  } else {
+    cimg_forXYZC(*this,x,y,z,v) (*this)(x,y,z,v) = (T)(int)(mdata[((v*_depth + z)*_width + x)*_height + y]);
+  }
+}
+
+public:
+
+/******************************************************************
+ * Consruct a CImg<T> object from a MATLAB mxArray.
+ * The MATLAB array must be AT MOST 4-dimensional. The boolean
+ * argument vdata is employed in the case the the input mxArray
+ * has dimension 3, say M x N x K. In that case, if vdata is true,
+ * the last dimension is assumed to be "vectorial" and the
+ * resulting CImg<T> object has dimension N x M x 1 x K. Otherwise,
+ * the resulting object has dimension N x M x K x 1.
+ * When MATLAB array has dimension 2 or 4, vdata has no effects.
+ * No shared memory mechanisms are used, it would be the easiest
+ * to crash Matlab (from my own experience...)
+ */
+CImg(const mxArray *matlabArray, const bool vdata = false)
+  : _is_shared(false) {
+  mwSize nbdims = mxGetNumberOfDimensions(matlabArray);
+  mxClassID classID = mxGetClassID(matlabArray);
+  if (nbdims>4 || !isNumericalClassID(classID)) {
+    _data = 0; _width = _height = _depth = _spectrum = 0;
+#if cimg_debug>1
+    cimg::warn("MATLAB array is more than 4D or/and not numerical, returning an empty image.");
+#endif
+  } else {
+    const mwSize *dims = mxGetDimensions(matlabArray);
+    _depth = _spectrum = 1;
+    _width = (unsigned)dims[1];
+    _height = (unsigned)dims[0];
+    if (nbdims==4) { _depth = (unsigned)dims[2]; _spectrum = (unsigned)dims[3]; }
+    else if (nbdims==3) {
+      if (vdata) _spectrum = (unsigned)dims[2]; else _depth = (unsigned)dims[2];
+    }
+    _data = new T[size()];
+    makeImageFromMatlabData(matlabArray,classID);
+  }
+}
+
+/*******************************************************************
+ * operator=(). Copy  mxMarray data mArray into the current image
+ * Works as the previous constructor, but without the vdata stuff.
+ * don't know if it is of any use...
+ */
+CImg & operator=(const mxArray *matlabArray) {
+  int
+    nbdims = (int)mxGetNumberOfDimensions(matlabArray),
+    classID = mxGetClassID(matlabArray);
+  if (nbdims>4 || !isNumericalClassID(classID)) {
+    delete [] _data; _data = 0;
+    _width = _height = _depth = _spectrum = 0;
+#if cimg_debug>1
+    cimg::warn("MATLAB array is more than 4D or/and not numerical, returning an empty image.");
+#endif
+  } else {
+    const mwSize *dims = mxGetDimensions(matlabArray);
+    _depth = _spectrum = 1;
+    _width =  (unsigned)dims[1];
+    _height = (unsigned)dims[0];
+    if (nbdims>2) _depth = (unsigned)dims[2];
+    else if (nbdims>3) _spectrum = (unsigned)dims[3];
+    delete [] _data;
+    _data = new T[size()];
+    makeImageFromMatlabData(matlabArray,classID);
+  }
+}
+
+private:
+
+/*****************************************************************
+ * private routines used for transfering a CImg<T> to a mxArray
+ * here also, we have to exchange the x and y dims so we get the
+ * expected MATLAB array.
+ */
+template <typename c> void populate_maltlab_array(c *const mdata) const {
+  cimg_forXYZC(*this,x,y,z,v) mdata[((v*_depth + z)*_width + x)*_height + y] = (c)(*this)(x,y,z,v);
+}
+
+/*************************************************
+ * the specialized version for "logical" entries
+ */
+void populate_maltlab_array(mxLogical *const mdata) const {
+  cimg_forXYZC(*this,x,y,z,v) mdata[((v*_depth + z)*_width + x)*_height + y] = (mxLogical)((*this)(x,y,z,v)!=0);
+}
+
+public:
+
+/******************************************
+ * export a CImg image to a MATLAB array.
+ **/
+mxArray *toMatlab(mxClassID classID=mxDOUBLE_CLASS, const bool squeeze=false) const {
+  if (!isNumericalClassID(classID)) {
+#if cimg_debug>1
+    cimg::warn("Invalid MATLAB Class Id Specified.");
+#endif
+    return 0;
+  }
+  mwSize dims[4];
+  dims[0] = (mwSize)_height;
+  dims[1] = (mwSize)_width;
+  dims[2] = (mwSize)_depth;
+  dims[3] = (mwSize)_spectrum;
+
+  if (squeeze && _depth == 1) {
+    dims[2] = (mwSize)_spectrum;
+    dims[3] = (mwSize)1;
+  }
+  mxArray *matlabArray = mxCreateNumericArray((mwSize)4,dims,classID,mxREAL);
+  if (classID==mxLOGICAL_CLASS) {
+    mxLogical *mdata = mxGetLogicals(matlabArray);
+    populate_maltlab_array(mdata);
+  } else {
+    void *mdata = mxGetPr(matlabArray);
+    switch (classID) {
+    case mxDOUBLE_CLASS : populate_maltlab_array((real64_T*)mdata); break;
+    case mxSINGLE_CLASS : populate_maltlab_array((real32_T*)mdata); break;
+    case mxINT8_CLASS : populate_maltlab_array((int8_T*)mdata); break;
+    case mxUINT8_CLASS : populate_maltlab_array((uint8_T*)mdata); break;
+    case mxINT16_CLASS : populate_maltlab_array((int16_T*)mdata); break;
+    case mxUINT16_CLASS : populate_maltlab_array((uint16_T*)mdata); break;
+    case mxINT32_CLASS : populate_maltlab_array((int32_T*)mdata); break;
+    case mxUINT32_CLASS : populate_maltlab_array((uint32_T*)mdata); break;
+    case mxINT64_CLASS : populate_maltlab_array((int64_T*)mdata); break;
+    case mxUINT64_CLASS : populate_maltlab_array((uint64_T*)mdata); break;
+    }
+  }
+  return matlabArray;
+}
+
+// end of matlab.h
+#endif /* cimg_plugin_matlab */
diff --git a/plugins/nlmeans.h b/plugins/nlmeans.h
new file mode 100644
index 0000000..ea51fa4
--- /dev/null
+++ b/plugins/nlmeans.h
@@ -0,0 +1,242 @@
+/*
+ #
+ #  File        : nlmeans.h
+ #                ( C++ header file - CImg plug-in )
+ #
+ #  Description : CImg plugin that implements the non-local mean filter.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  [1] Buades, A.; Coll, B.; Morel, J.-M.: A non-local algorithm for image denoising
+ #      IEEE Computer Society Conference on Computer Vision and Pattern Recognition, 2005. CVPR 2005.
+ #      Volume 2,  20-25 June 2005 Page(s):60 - 65 vol. 2
+ #
+ #  [2] Buades, A. Coll, B. and Morel, J.: A review of image denoising algorithms, with a new one.
+ #      Multiscale Modeling and Simulation: A SIAM Interdisciplinary Journal 4 (2004) 490-530
+ #
+ #  [3] Gasser, T. Sroka,L. Jennen Steinmetz,C. Residual variance and residual pattern nonlinear regression.
+ #      Biometrika 73 (1986) 625-659
+ #
+ #  Copyright   : Jerome Boulanger
+ #                ( http://www.irisa.fr/vista/Equipe/People/Jerome.Boulanger.html )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#ifndef cimg_plugin_nlmeans
+#define cimg_plugin_nlmeans
+
+//! NL-Means denoising algorithm.
+/**
+   This is the in-place version of get_nlmean().
+**/
+CImg<T>& nlmeans(int patch_size=1, double lambda=-1, double alpha=3, double sigma=-1, int sampling=1){
+  if (!is_empty()){
+    if (sigma<0) sigma = std::sqrt(variance_noise()); // noise variance estimation
+    const double np = (2*patch_size + 1)*(2*patch_size + 1)*spectrum()/(double)sampling;
+    if (lambda<0) {// Bandwidth estimation
+      if (np<100)
+        lambda = ((((((1.1785e-12*np - 5.1827e-10)*np + 9.5946e-08)*np -
+                     9.7798e-06)*np + 6.0756e-04)*np - 0.0248)*np + 1.9203)*np + 7.9599;
+      else
+        lambda = (-7.2611e-04*np + 1.3213)*np + 15.2726;
+    }
+#if cimg_debug>=1
+    std::fprintf(stderr,"Size of the patch                              : %dx%d \n",
+                 2*patch_size + 1,2*patch_size + 1);
+    std::fprintf(stderr,"Size of window where similar patch are looked for : %dx%d \n",
+                 (int)(alpha*(2*patch_size + 1)),(int)(alpha*(2*patch_size + 1)));
+    std::fprintf(stderr,"Bandwidth of the kernel                                : %fx%f^2 \n",
+                 lambda,sigma);
+    std::fprintf(stderr,"Noise standard deviation estimated to          : %f \n",
+                 sigma);
+#endif
+
+    CImg<T> dest(width(),height(),depth(),spectrum(),0);
+    double *uhat = new double[spectrum()];
+    const double h2 = -.5/(lambda*sigma*sigma); // [Kervrann] notations
+    if (depth()!=1){ // 3D case
+      const CImg<> P = (*this).get_blur(1); // inspired from Mahmoudi&Sapiro SPletter dec 05
+      const int n_simu = 64;
+      CImg<> tmp(n_simu,n_simu,n_simu);
+      const double sig = std::sqrt(tmp.fill(0.f).noise(sigma).blur(1).pow(2.).sum()/(n_simu*n_simu*n_simu));
+      const int
+        patch_size_z = 0,
+        pxi = (int)(alpha*patch_size),
+        pyi = (int)(alpha*patch_size),
+        pzi = 2; //Define the size of the neighborhood in z
+      for (int zi = 0; zi<depth(); ++zi) {
+#if cimg_debug>=1
+        std::fprintf(stderr,"\rProcessing : %3d %%",(int)((float)zi/(float)depth()*100.));fflush(stdout);
+#endif
+        for (int yi = 0; yi<height(); ++yi)
+          for (int xi = 0; xi<width(); ++xi) {
+            cimg_forC(*this,v) uhat[v] = 0;
+            float sw = 0, wmax = -1;
+            for (int zj = cimg::max(0,zi - pzi); zj<cimg::min(depth(),zi + pzi + 1); ++zj)
+              for (int yj = cimg::max(0,yi - pyi); yj<cimg::min(height(),yi + pyi + 1); ++yj)
+                for (int xj = cimg::max(0,xi - pxi); xj<cimg::min(width(),xi + pxi + 1); ++xj)
+                  if (cimg::abs(P(xi,yi,zi) - P(xj,yj,zj))/sig<3) {
+                    double d = 0;
+                    int n = 0;
+                    if (xi!=xj && yi!=yj && zi!=zj){
+                      for (int kz = -patch_size_z; kz<patch_size_z + 1; kz+=sampling) {
+                        int
+                          zj_ = zj + kz,
+                          zi_ = zi + kz;
+                        if (zj_>=0 && zj_<depth() && zi_>=0 && zi_<depth())
+                          for (int ky = -patch_size; ky<=patch_size; ky+=sampling) {
+                            int
+                              yj_ = yj + ky,
+                              yi_ = yi + ky;
+                            if (yj_>=0 && yj_<height() && yi_>=0 && yi_<height())
+                              for (int kx = -patch_size; kx<=patch_size; kx+=sampling) {
+                                int
+                                  xj_ = xj + kx,
+                                  xi_ = xi + kx;
+                                if (xj_>=0 && xj_<width() && xi_>=0 && xi_<width())
+                                  cimg_forC(*this,v) {
+                                    double d1 = (*this)(xj_,yj_,zj_,v) - (*this)(xi_,yi_,zi_,v);
+                                    d+=d1*d1;
+                                    ++n;
+                                  }
+                              }
+                          }
+                      }
+                      float w = (float)std::exp(d*h2);
+                      wmax = w>wmax?w:wmax;
+                      cimg_forC(*this,v) uhat[v]+=w*(*this)(xj,yj,zj,v);
+                      sw+=w;
+                    }
+                  }
+            // add the central pixel
+            cimg_forC(*this,v) uhat[v]+=wmax*(*this)(xi,yi,zi,v);
+            sw+=wmax;
+            if (sw) cimg_forC(*this,v) dest(xi,yi,zi,v) = (T)(uhat[v]/=sw);
+            else cimg_forC(*this,v) dest(xi,yi,zi,v) = (*this)(xi,yi,zi,v);
+          }
+      }
+    }
+    else { // 2D case
+      const CImg<> P = (*this).get_blur(1); // inspired from Mahmoudi&Sapiro SPletter dec 05
+      const int n_simu = 512;
+      CImg<> tmp(n_simu,n_simu);
+      const double sig = std::sqrt(tmp.fill(0.f).noise(sigma).blur(1).pow(2.).sum()/(n_simu*n_simu));
+      const int
+        pxi = (int)(alpha*patch_size),
+        pyi = (int)(alpha*patch_size); //Define the size of the neighborhood
+      for (int yi = 0; yi<height(); ++yi) {
+#if cimg_debug>=1
+        std::fprintf(stderr,"\rProcessing : %3d %%",(int)((float)yi/(float)height()*100.));fflush(stdout);
+#endif
+        for (int xi = 0; xi<width(); ++xi) {
+          cimg_forC(*this,v) uhat[v] = 0;
+          float sw = 0, wmax = -1;
+          for (int yj = cimg::max(0,yi - pyi); yj<cimg::min(height(),yi + pyi + 1); ++yj)
+            for (int xj = cimg::max(0,xi - pxi); xj<cimg::min(width(),xi + pxi + 1); ++xj)
+              if (cimg::abs(P(xi,yi) - P(xj,yj))/sig<3.) {
+                double d = 0;
+                int n = 0;
+                if (!(xi==xj && yi==yj)) //{
+                  for (int ky = -patch_size; ky<patch_size + 1; ky+=sampling) {
+                    int
+                      yj_ = yj + ky,
+                      yi_ = yi + ky;
+                    if (yj_>=0 && yj_<height() && yi_>=0 && yi_<height())
+                      for (int kx = -patch_size; kx<patch_size + 1; kx+=sampling) {
+                        int
+                          xj_ = xj + kx,
+                          xi_ = xi + kx;
+                        if (xj_>=0 && xj_<width() && xi_>=0 && xi_<width())
+                          cimg_forC(*this,v) {
+                            double d1 = (*this)(xj_,yj_,v) - (*this)(xi_,yi_,v);
+                            d+=d1*d1;
+                            n++;
+                          }
+                      }
+                    //}
+                float w = (float)std::exp(d*h2);
+                cimg_forC(*this,v) uhat[v]+=w*(*this)(xj,yj,v);
+                wmax = w>wmax?w:wmax; // Store the maximum of the weights
+                sw+=w; // Compute the sum of the weights
+                }
+              }
+          // add the central pixel with the maximum weight
+          cimg_forC(*this,v) uhat[v]+=wmax*(*this)(xi,yi,v);
+          sw+=wmax;
+
+          // Compute the estimate for the current pixel
+          if (sw) cimg_forC(*this,v) dest(xi,yi,v) = (T)(uhat[v]/=sw);
+          else cimg_forC(*this,v) dest(xi,yi,v) = (*this)(xi,yi,v);
+        }
+      } // main loop
+    } // 2d
+    delete [] uhat;
+    dest.move_to(*this);
+#if cimg_debug>=1
+    std::fprintf(stderr,"\n"); // make a new line
+#endif
+  } // is empty
+  return *this;
+}
+
+//! Get the result of the NL-Means denoising algorithm.
+/**
+   \param patch_size = radius of the patch (1=3x3 by default)
+   \param lambda = bandwidth ( -1 by default : automatic selection)
+   \param alpha  = size of the region where similar patch are searched (3 x patch_size = 9x9 by default)
+   \param sigma = noise standard deviation (-1 = estimation)
+   \param sampling = sampling of the patch (1 = uses all point, 2 = uses one point on 4, etc)
+   If the image has three dimensions then the patch is only in  2D and the neighborhood extent in time is only 5.
+   If the image has several channel (color images), the distance between the two patch is computed using
+   all the channels.
+   The greater the patch is the best is the result.
+   Lambda parameter is function of the size of the patch size. The automatic Lambda parameter is taken
+   in the Chi2 table at a significiance level of 0.01. This diffear from the original paper [1].
+   The weighted average becomes then:
+   \f$$ \hat{f}(x,y) = \sum_{x',y'} \frac{1}{Z} exp(\frac{P(x,y)-P(x',y')}{2 \lambda \sigma^2}) f(x',y') $$\f
+   where \f$ P(x,y) $\f denotes the patch in (x,y) location.
+
+   An a priori is also used to increase the speed of the algorithm in the spirit of Sapiro et al. SPletter dec 05
+
+   This very basic version of the Non-Local Means algorithm provides an output image which contains
+   some residual noise with a relatively small variance (\f$\sigma<5$\f).
+
+   [1] A non-local algorithm for image denoising
+   Buades, A.; Coll, B.; Morel, J.-M.;
+   Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE Computer Society Conference on
+   Volume 2,  20-25 June 2005 Page(s):60 - 65 vol. 2
+**/
+CImg<T> get_nlmeans( int patch_size=1,  double lambda=-1, double alpha=3 ,double sigma=-1, int sampling=1) const  {
+  return CImg<T>(*this).nlmeans(patch_size,lambda,alpha,sigma,sampling);
+}
+
+#endif /* cimg_plugin_nlmeans */
diff --git a/plugins/patchmatch.h b/plugins/patchmatch.h
new file mode 100644
index 0000000..1ef229a
--- /dev/null
+++ b/plugins/patchmatch.h
@@ -0,0 +1,227 @@
+/*
+ #
+ #  File        : PatchMatch_plugin.h
+ #                ( C++ header file - CImg plug-in )
+ #
+ #  Description : Plugin implementing the Patch Match algorithm to use
+ #                with the CImg library.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : Olivier D'Hondt
+ #                (https://sites.google.com/site/dhondtolivier/)
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#ifndef cimg_plugin_patchmatch
+#define cimg_plugin_patchmatch
+
+// Visualize optical flow maps with HSV color coding.
+CImg<float> get_vizFlow(const float cutVal = 0) const {
+  CImg<float> res(width(),height(),1,3);
+
+  // Normalizing offset magnitude
+  CImg<float> mag = get_norm();
+  if (cutVal) mag.cut(0,cutVal);
+  mag/=mag.max();
+
+  // Filling HSV values
+  cimg_forXY(*this,x,y) {
+    const float
+      xx = (float)(-(*this)(x,y,0)),
+      yy = (float)(-(*this)(x,y,1)),
+      H = (float)cimg::max(180*((std::atan2(yy,xx)/cimg::PI) + 1.0),0.0),
+      S = mag(x,y),
+      V = 1.0f;
+    res(x,y,0) = H;
+    res(x,y,1) = S;
+    res(x,y,2) = V;
+  }
+
+  return res.HSVtoRGB();
+}
+
+// Distance between two patches
+static T distPatch(const CImg<T> &img0, const CImg<T> &img1,
+                   const int x0, const int y0,
+                   const int x1, const int y1,
+                   const int pSize) {
+  T d2 = 0;
+  cimg_forC(img0,c) for (int y = 0; y < pSize; ++y) for (int x = 0; x < pSize; ++x) {
+      const T d = (img0(x0 + x, y0 + y, c) - img1(x1 + x, y1 + y, c));
+      d2 += d*d;
+    }
+  return d2;
+}
+
+// Patch match algorithm
+template<typename Tt>
+CImg<T>& patchMatch(const CImg<Tt> &img0, const CImg<Tt> &img1,
+                    int patchSize, const int nIter = 2,
+                    CImgDisplay *const disp=0) {
+  if (img0.spectrum() != img1.spectrum())
+    throw CImgInstanceException("Images must have the same number of channels.");
+
+  if (!patchSize % 2){
+    ++patchSize;
+    cimg::warn("Input patch size is even, adding 1.");
+  }
+  const int
+    w0 = img0.width(),
+    h0 = img0.height(),
+    w1 = img1.width(),
+    h1 = img1.height(),
+    nChannels = img0.spectrum();
+
+  CImg<Tt> imgrec, visu0, visu1; // used only for display purpose
+  if (disp) {
+    imgrec.assign(img0.width(),img0.height(),1,img0.spectrum(),0);
+    visu0 = img0.get_resize(-100,-100,1,3);
+    visu1 = img1.get_resize(-100,-100,1,3);
+  }
+
+  const int P = patchSize, H = P/2;
+
+  // Zero padding borders
+  CImg<Tt> img0big(w0 + 2*H, h0 + 2*H, 1, nChannels, 0);
+  CImg<Tt> img1big(w1 + 2*H, h1 + 2*H, 1, nChannels, 0);
+
+  // Try to penalize border patches
+  img0big.rand(0,255);
+  img1big.rand(0,255);
+
+  img0big.draw_image(H, H, 0, 0, img0);
+  img1big.draw_image(H, H, 0, 0, img1);
+
+  CImg<T> off(w0, h0, 1, 2, 0);
+  CImg<Tt> minDist(w0, h0, 1, 1, 0);
+
+  // Initialize with random offsets
+  cimg_forXY(off, x0, y0){
+    int x1 = (int)((w1 - 1) * cimg::rand());
+    int y1 = (int)((h1 - 1) * cimg::rand());
+    off(x0, y0, 0) = x1 - x0;
+    off(x0, y0, 1) = y1 - y0;
+    minDist(x0, y0) = distPatch(img0big, img1big, x0, y0, x1, y1, P);
+  }
+
+  int xStart, yStart, xFinish, yFinish, inc;
+  for (int n = 0; n < nIter; ++n) {
+    std::fprintf(stderr,"Iteration %d\n",n + 1);
+
+    // at odd iterations, reverse scan order
+    if (!(n%2)) { xStart = yStart = inc = 1; xFinish = w0; yFinish = h0; }
+    else { xStart = w0 - 2; yStart = h0 - 2; xFinish = yFinish = inc = -1; }
+
+    for (int y = yStart; y != yFinish; y=y+inc)
+      for (int x = xStart; x != xFinish; x=x+inc) {
+        // Propagation
+        Tt d2 = (Tt)0;
+        int x1 = x + off(x - inc,y,0), y1 = y + off(x - inc,y,1);
+        if(x1 >= 0 && x1 < w1 && y1 >= 0 && y1 < h1){ // propagate only if inside img1 bounds
+          d2 = distPatch(img0big, img1big, x, y, x1, y1, P);
+          if (d2<minDist(x, y)) {
+            minDist(x, y) = d2;
+            off(x, y, 0) = off(x - inc, y, 0);
+            off(x, y, 1) = off(x - inc, y, 1);
+          }
+        }
+        x1 = x + off(x, y - inc, 0);
+        y1 = y + off(x, y - inc, 1);
+        if (x1 >= 0 && x1 < w1 && y1 >= 0 && y1 < h1) { // propagate only if inside img1 bounds
+          d2 = distPatch(img0big, img1big, x, y, x1, y1, P);
+          if (d2<minDist(x, y)) {
+            minDist(x, y) = d2;
+            off(x, y, 0) = off(x, y - inc, 0);
+            off(x, y, 1) = off(x, y - inc, 1);
+          }
+        }
+
+        // Randomized search
+        int wSizX = w1 - 1, wSizY = h1 - 1;
+        const T offXCurr = off(x, y, 0), offYCurr = off(x, y, 1);
+        do{
+          const int
+            wMinX = cimg::max(0, x + offXCurr - wSizX/2),
+            wMaxX = cimg::min(w1 - 1, x + offXCurr + wSizX/2);
+          x1 = (int)((wMaxX - wMinX) * cimg::rand() + wMinX);
+
+          const int
+            wMinY = cimg::max(0, y + offYCurr - wSizY/2),
+            wMaxY = cimg::min(h1 - 1, y + offYCurr + wSizY/2);
+          y1 = (int)((wMaxY - wMinY) * cimg::rand() + wMinY);
+          d2 = distPatch(img0big, img1big, x, y, x1, y1, P);
+
+          if (d2 < minDist(x, y)) {
+            minDist(x, y) = d2;
+            off(x, y, 0) = x1 - x;
+            off(x, y, 1) = y1 - y;
+          }
+          wSizX /= 2;
+          wSizY /= 2;
+        } while (wSizX >= 1 && wSizY >= 1);
+        // If a pointer to a CImgDisplay is passed as the last argument
+        // the output of the algorithm is displayed as an animation
+        // !! It slows down the algorithm a lot !!
+        if (disp) {
+          if (x%(w0 - 1)==0)
+            disp->display((visu0,
+                           imgrec.reconstruct(img1, off).get_normalize(0,255).resize(-100,-100,1,3),
+                           off.get_vizFlow(100),
+                           visu1)).set_title("Iteration %d",n + 1);
+          if (disp->is_resized()) disp->resize();
+        }
+      }
+  }
+  return off.move_to(*this);
+}
+
+// Reconstruct an image from an offset map and a query image
+template<typename Tt>
+CImg<T> & reconstruct(const CImg<T> &qimg, const CImg<Tt> &off) {
+  if(spectrum() != qimg.spectrum())
+    throw CImgInstanceException("Images must have the same number of channels.");
+  if(width() != off.width() || height() != off.height())
+    throw CImgInstanceException("Offset map must have the same dimensions as input image.");
+  cimg_forXY(off,x,y) {
+    int qx = x + off(x, y, 0);
+    int qy = y + off(x, y, 1);
+    cimg_forC(qimg,c) (*this)(x,y,c) = qimg(qx,qy, c);
+  }
+  return (*this);
+}
+
+template<typename Tt>
+CImg<T> get_reconstruct(const CImg<T> &qimg, const CImg<Tt> &off) const {
+  return CImg<T>(*this, false).reconstruct(qimg, off);
+}
+
+#endif /* cimg_plugin_patchmatch */
diff --git a/plugins/skeleton.h b/plugins/skeleton.h
new file mode 100644
index 0000000..396639b
--- /dev/null
+++ b/plugins/skeleton.h
@@ -0,0 +1,587 @@
+/*
+ #
+ #  File        : skeleton.h
+ #                ( C++ header file - CImg plug-in )
+ #
+ #  Description : CImg plugin that implements the computation of the Hamilton-Jacobi skeletons
+ #                using Siddiqi algorithm with the correction proposed by Torsello,
+ #                as described in :
+ #
+ #  [SBTZ02] K. Siddiqi, S. Bouix, A. Tannenbaum and S.W. Zucker. Hamilton-Jacobi Skeletons
+ #           International Journal of Computer Vision, 48(3):215-231, 2002
+ #
+ #  [TH03]   A. Torsello and E. R. Hancock. Curvature Correction of the Hamilton-Jacobi Skeleton
+ #           IEEE Computer Vision and Pattern Recognition, 2003
+ #
+ #  [BST05] S. Bouix, K. Siddiqi and A. Tannenbaum. Flux driven automatic centerline
+ #          extraction. Medical Image Analysis, 9:209-221, 2005
+ #
+ #  IMPORTANT WARNING : You must include STL's <queue> before plugin inclusion to make it working !
+ #
+ #  Copyright   : Francois-Xavier Dupe
+ #                ( http://www.greyc.ensicaen.fr/~fdupe/ )
+ #
+ #  This software is governed by the CeCILL license under French law and
+ #  abiding by the rules of distribution of free software. You can use,
+ #  modify and/or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty and the software's author, the holder of the
+ #  economic rights, and the successive licensors have only limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading, using, modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean that it is complicated to manipulate, and that also
+ #  therefore means that it is reserved for developers and experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and, more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+#ifndef cimg_plugin_skeleton
+#define cimg_plugin_skeleton
+
+/**
+ * Compute the flux of the gradient
+ * @param grad   the gradient of the distance function
+ * @param sY     the sampling size in Y
+ * @param sZ     the sampling size in Z
+ * @return the flux
+ */
+CImg<floatT> get_flux(const CImgList<floatT> & grad,
+                      const float sY=1.0f, const float sZ=1.0f) const {
+
+  int stop = 0;  // Stop flag
+  float f = 0;   // The current flux
+  int count = 0; // Counter
+  CImg<floatT> flux(width(),height(),depth(),1,0);
+
+  cimg_forXYZ((*this),x,y,z) {
+    if (!(*this)(x,y,z)) continue; // If the point is the background
+
+    // Look at the neigthboorhound and compute the flux
+    stop = 0;
+    f = 0;
+    count = 0;
+
+    for (int k = -1; k<=1; ++k)
+      for (int l = -1; l<= 1; ++l)
+        for (int m = -1; m<= 1; ++m) {
+          if (stop==1) continue;
+
+          // Protection
+          if ((x + k<0) || (x + k>=width()) || (y + l<0) || (y + l>=height()) ||
+              (z + m<0) || (z + m>=depth()) || (k==0 && l==0 && m==0)) continue;
+          ++count;
+
+          // Test if the point is in the interior
+          if ((*this)(x + k,y + l,z + m)==0) { stop = 1; continue; }
+
+          // Compute the flux
+          f+=(grad(0,x + k,y + l,z + m)*k + grad(1,x + k,y + l,z + m)*l/sY + grad(2,x + k,y + l,z + m)*m/sZ)/
+            std::sqrt((float)(k*k + l*l + m*m));
+        }
+
+    // Update
+    if (stop==1 || count==0) flux(x,y,z) = 0;
+    else flux(x,y,z) = f/count;
+  }
+
+  return flux;
+}
+
+/**
+ * Definition of a point with his flux value
+ */
+struct _PointFlux {
+  int pos [3];
+  float flux;
+  float dist;
+};
+
+/**
+ * Class for the priority queue
+ */
+class _compare_point {
+  /**
+   * Create medial curves
+   */
+  bool curve;
+
+ public:
+  _compare_point(const bool curve=false) { this->curve = curve; }
+
+  bool operator()(const _PointFlux & p1, const _PointFlux & p2) const {
+    if (curve) {
+      if (p1.dist>p2.dist) return true;
+      else if (p1.dist==p2.dist && p1.flux<p2.flux) return true;
+    } else {
+      if (p1.flux<p2.flux) return true;
+      else if (p1.flux==p2.flux && p1.dist>p2.dist) return true;
+    }
+    return false;
+  }
+};
+
+/**
+ * Compute the log-density using the algorithm from Torsello
+ * @param dist  the distance map
+ * @param grad  the gradient of the distance map, e.g. the flux
+ * @param flux  the divergence map
+ * @param delta the threshold for the division
+ * @return the logdensity \rho
+ */
+CImg<floatT> get_logdensity(const CImg<floatT> & dist,
+                            const CImgList<floatT> & grad,
+                            const CImg<floatT> & flux, float delta = 0.1) const {
+  std::priority_queue< _PointFlux, std::vector<_PointFlux>, _compare_point > pqueue(true);
+  CImg<floatT> logdensity(width(),height(),depth(),1,0);
+
+  // 1 - Put all the pixel inside the priority queue
+  cimg_forXYZ(dist,x,y,z) if (dist(x,y,z)!=0) {
+    _PointFlux p;
+    p.pos[0] = x;
+    p.pos[1] = y;
+    p.pos[2] = z;
+    p.flux = 0;
+    p.dist = dist(x,y,z);
+    pqueue.push(p);
+  }
+
+  // 2 - Compute the logdensity
+  while (!pqueue.empty()) {
+    _PointFlux p = pqueue.top();
+    pqueue.pop();
+
+    const float
+      Fx = grad(0,p.pos[0],p.pos[1],p.pos[2]),
+      Fy = grad(1,p.pos[0],p.pos[1],p.pos[2]),
+      Fz = grad(2,p.pos[0],p.pos[1],p.pos[2]);
+
+    logdensity(p.pos[0],p.pos[1],p.pos[2]) = logdensity.linear_atXYZ(p.pos[0] - Fx,p.pos[1] - Fy,p.pos[2] - Fz)
+      - 0.5f * (flux(p.pos[0],p.pos[1],p.pos[2]) + flux.linear_atXYZ(p.pos[0] - Fx,p.pos[1] - Fy,p.pos[2] - Fz));
+
+    const float tmp = 1.0f - (1.0f - std::fabs(Fx)) * (1.0f - std::fabs(Fy)) * (1.0f - std::fabs(Fz));
+    if (tmp>delta) logdensity(p.pos[0],p.pos[1],p.pos[2])/=tmp;
+    else if (delta<1) logdensity(p.pos[0],p.pos[1],p.pos[2]) = 0;
+  }
+
+  return logdensity;
+}
+
+/**
+ * Computed the corrected divergence map using Torsello formula and idea
+ * @param logdensity the log density map
+ * @param grad       the gradient of the distance map
+ * @param flux       the flux using siddiqi formula
+ * @param delta      the discrete step
+ * @return the corrected divergence map
+ */
+CImg<floatT> get_corrected_flux(const CImg<floatT> & logdensity,
+                                const CImgList<floatT> & grad,
+                                const CImg<floatT> & flux,
+                                float delta = 1.0) const {
+
+  CImg<floatT> corr_map(width(),height(),depth(),1,0);
+  cimg_forXYZ(corr_map,x,y,z) {
+    const float
+      Fx = grad(0,x,y,z),
+      Fy = grad(1,x,y,z),
+      Fz = grad(2,x,y,z);
+    corr_map(x,y,z) =
+      (logdensity(x,y,z) -
+       logdensity.linear_atXYZ(x - Fx,y - Fy,z - Fz)) * expf(logdensity(x,y,z) - 0.5f * delta) +
+      0.5f * ( flux.linear_atXYZ(x - Fx,y - Fy,z - Fz)*expf(logdensity.linear_atXYZ(x - Fx,y - Fy,z - Fz)) +
+               flux(x,y,z)*expf(logdensity(x,y,z)));
+  }
+
+  return corr_map;
+}
+
+/**
+ * Test if a point is simple using Euler number for 2D case
+ * or using Malandain criterion for 3D case
+ * @param img the image
+ * @param x the x coordinate
+ * @param y the y coordinate
+ * @param z the z coordinate
+ * @return true if simple
+ */
+bool _isSimple (const CImg<T> & img, int x, int y, int z ) const {
+  if (img.depth()==1) { // 2D case
+    int V = 0, E = 0;  // Number of vertices and edges
+
+    for (int k = -1; k<=1; ++k)
+      for (int l = -1; l<=1; ++l) {
+        // Protection
+        if (x+k<0 || x+k>=img.width() || y+l<0 || y+l>=img.height()) continue;
+
+        // Count the number of vertices
+        if (img(x + k,y + l)!=0 && !(k==0 && l==0)) {
+          ++V;
+
+          // Count the number of edges
+          for (int k1 = -1; k1<=1; ++k1)
+            for (int l1 = -1; l1<=1; ++l1) {
+              // Protection
+              if (x + k + k1<0 || x + k + k1>=img.width() || y + l + l1<0 || y + l + l1>=img.height()) continue;
+
+              if (!(k1==0 && l1==0) && img(x + k + k1,y + l + l1)!=0 && k + k1>-2 && l + l1>-2 &&
+                  k + k1<2 && l + l1<2 && !(k + k1==0 && l + l1==0))
+                ++E;
+            }
+        }
+      }
+
+    // Remove the corner if exists
+    if (x - 1>=0 && y - 1>=0 && img(x - 1,y - 1)!=0 && img(x,y - 1)!=0 && img(x - 1,y)!=0) E-=2;
+    if (x - 1>=0 && y + 1<img.height() && img(x - 1,y + 1)!=0 && img(x,y + 1)!=0 && img(x - 1,y)!=0) E-=2;
+    if (x + 1<img.width() && y - 1>=0 && img(x + 1,y - 1)!=0 && img(x,y - 1)!=0 && img(x + 1,y)!=0) E-=2;
+    if (x + 1<img.width() && y + 1<img.height() && img(x + 1,y + 1)!=0 && img(x,y + 1)!=0 && img(x + 1,y)!=0) E-=2;
+
+    // Final return true if it is a tree (eg euler number equal to 1)
+    if ((V - E/2)==1) return true;
+
+  } else  { // 3D case
+    CImg<intT> visit(3,3,3,1,0); // Visitor table
+    int C_asterix = 0, C_bar = 0, count = 0;
+    visit(1,1,1) = -1;
+
+    // Compute C^*
+
+    // Seeking for a component
+    for (int k = -1; k<=1; ++k)
+      for (int l = -1; l<=1; ++l)
+        for (int m = -1; m<=1; ++m) {
+          int label = 0;
+
+          // Protection
+          if (x + k<0 || x + k>=img.width() ||
+              y + l<0 || y + l>=img.height() ||
+              z + m<0 || z + m>=img.depth() ||
+              (k==0 && l==0 && m==0)) continue;
+
+          if (visit(1 + k,1 + l,1 + m)==0 && img(x + k,y + l,z + m)!=0) {
+            // Look after the neightbor
+            for (int k1 = -1; k1<=1; ++k1)
+              for (int l1 = -1; l1<=1; ++l1)
+                for (int m1 = -1; m1<=1; ++m1) {
+                  // Protection
+                  if (x + k + k1<0 || x + k + k1>=img.width() ||
+                      y + l + l1<0 || y + l + l1>=img.height() ||
+                      z + m + m1<0 || z + m + m1>=img.depth() ||
+                      k + k1>1 || k + k1<-1 ||
+                      l + l1>1 || l + l1<-1 ||
+                      m + m1>1 || m + m1<-1 ) continue;
+
+                  // Search for a already knew component
+                  if (visit(1 + k + k1,1 + l + l1,1 + m + m1)>0 &&
+                      img(x + k + k1,y + l + l1,z + m + m1)!=0) {
+                    if (label==0) label = visit(1 + k + k1,1 + l + l1,1 + m + m1);
+                    else if (label!=visit(1 + k + k1,1 + l + l1,1 + m + m1)) {
+                      // Meld component
+                      --C_asterix;
+
+                      int C = visit(1 + k + k1,1 + l + l1,1 + m + m1);
+                      cimg_forXYZ(visit,a,b,c) if (visit(a,b,c)==C) visit(a,b,c) = label;
+                    }
+                  }
+                }
+
+            // Label the point
+            if (label==0) {
+              // Find a new component
+              ++C_asterix;
+              ++count;
+              visit(1 + k ,1 + l,1 + m) = count;
+            } else visit(1 + k,1 + l,1 + m) = label;
+          }
+        }
+
+    if (C_asterix!=1) return false;
+
+    // Compute \bar{C}
+
+    // Reinit visit
+    visit.fill(0);
+    visit(1,1,1) = -1;
+
+    // Seeking for a component
+
+    // Look at X-axis
+    for (int k = -1; k<=1; ++k)	{
+      if (x + k<0 || x + k>=img.width()) continue;
+
+      if (img(x + k,y,z)==0 && visit(1 + k,1,1)==0) {
+        ++C_bar;
+        ++count;
+        visit(1 + k,1,1) = count;
+
+        // Follow component
+        for (int l = -1; l<=1; ++l) {
+          if (y + l<img.height() && y + l>=0 && img(x + k,y + l,z)==0 && visit(1 + k,1 + l,1)==0)
+            visit(1 + k,1 + l,1) = count;
+          if (z + l<img.depth() && z + l>=0 && img(x + k,y,z + l)==0 && visit(1 + k,1,1 + l)==0)
+            visit(1 + k,1,1 + l) = count;
+        }
+      }
+    }
+
+    // Look at Y-axis
+    for (int k = -1; k<=1; ++k)	{
+      if (y + k<0 || y + k>=img.height()) continue;
+
+      if (img(x,y + k,z)==0 && visit(1,1 + k,1)==0) {
+        int label = 0;
+        ++C_bar;
+        ++count;
+        visit(1,1 + k,1) = count;
+        label = count;
+
+        // Follow component
+        for (int l = -1; l<=1; ++l) {
+          if (l==0) continue;
+
+          if (x + l<img.width() && x + l>=0 && img(x + l,y + k,z)==0) {
+            if (visit(1 + l,1 + k,1)!=0) {
+              if (label!=visit(1 + l,1 + k,1)) {
+                // Meld component
+                --C_bar;
+
+                int C = visit(1 + l,1 + k,1);
+                cimg_forXYZ(visit,a,b,c)
+                  if (visit(a,b,c)==C) visit(a,b,c) = label;
+              }
+            } else visit(1 + l,1 + k,1) = label;
+          }
+
+          if (z + l<img.depth() && z + l>=0 && img(x,y + k,z + l)==0) {
+            if (visit(1,1 + k,1 + l)!=0) {
+              if (label!=visit(1,1 + k,1 + l)) {
+                // Meld component
+                --C_bar;
+
+                int C = visit(1,1 + k,1 + l);
+                cimg_forXYZ(visit,a,b,c)
+                  if (visit(a,b,c)==C) visit(a,b,c) = label;
+              }
+            } else visit(1,1 + k,1 + l) = label;
+          }
+        }
+      }
+    }
+
+    // Look at Z-axis
+    for (int k = -1; k<=1; ++k)	{
+      if (z + k<0 || z + k>=img.depth()) continue;
+
+      if (img(x,y,z + k)==0 && visit(1,1,1 + k)==0) {
+        int label = 0;
+        ++C_bar;
+        ++count;
+        visit(1,1,1 + k) = count;
+        label = count;
+
+        // Follow component
+        for (int l = -1; l<=1; ++l) {
+          if (l==0) continue;
+
+          if (x + l<img.width() && x + l>=0 && img(x + l,y,z + k)==0) {
+            if (visit(1 + l,1,1 + k)!=0) {
+              if (label!=visit(1 + l,1,1 + k)) {
+                // Meld component
+                --C_bar;
+
+                int C = visit(1 + l,1,1 + k);
+                cimg_forXYZ(visit,a,b,c)
+                  if (visit(a,b,c)==C) visit(a,b,c) = label;
+              }
+            } else visit(1 + l,1,1 + k) = label;
+          }
+
+          if (y + l<img.height() && y + l>=0 && img(x,y + l,z + k)==0) {
+            if (visit(1,1 + l,1 + k)!=0) {
+              if (label!=visit(1,1 + l,1 + k)) {
+                // Meld component
+                --C_bar;
+
+                int C = visit(1,1 + l,1 + k);
+                cimg_forXYZ(visit,a,b,c)
+                  if (visit(a,b,c)==C) visit(a,b,c) = label;
+              }
+            } else visit(1,1 + l,1 + k) = label;
+          }
+        }
+      }
+    }
+    if (C_bar==1) return true;
+  }
+
+  return false;
+}
+
+/**
+ * Test if a point is a end point
+ * @param img the image
+ * @param label the table of labels
+ * @param curve set it to true for having medial curve
+ * @param x the x coordinate
+ * @param y the y coordinate
+ * @param z the z coordinate
+ * @return true if simple
+ */
+bool _isEndPoint(const CImg<T> & img, const CImg<T> & label,
+                 const bool curve, const int x, const int y, const int z) const {
+  if (label(x,y,z)==1) return true;
+
+  if ((!curve) && (img.depth()!=1)) { // 3D case with medial surface
+    // Use Pudney specification with the 9 plans
+    const int plan9 [9][8][3] =
+      { { {-1,0,-1}, {0,0,-1}, {1,0,-1}, {-1,0,0}, {1,0,0}, {-1,0,1}, {0,0,1}, {1,0,1} }, // Plan 1
+        { {-1,1,0}, {0,1,0}, {1,1,0}, {-1,0,0}, {1,0,0}, {-1,-1,0}, {0,-1,0}, {1,-1,0} }, // Plan 2
+        { {0,-1,-1}, {0,0,-1}, {0,1,-1}, {0,-1,0}, {0,1,0}, {0,-1,1}, {0,0,1}, {0,1,1} }, // Plan 3
+        { {1,1,1}, {0,1,0}, {-1,1,-1}, {1,0,1}, {-1,0,-1}, {-1,-1,-1}, {0,-1,0}, {1,-1,1} }, // Plan 4
+        { {-1,1,1}, {0,1,0}, {1,1,-1}, {-1,0,1}, {1,0,-1}, {-1,-1,1}, {0,-1,0}, {1,-1,-1} }, // Plan 5
+        { {-1,1,1}, {0,1,1}, {1,1,1}, {-1,0,0}, {1,0,0}, {-1,-1,-1}, {0,-1,-1}, {1,-1,-1} }, // Plan 6
+        { {-1,1,-1}, {0,1,-1}, {1,1,-1}, {-1,0,0}, {1,0,0}, {-1,-1,1}, {0,-1,1}, {1,-1,1} }, // Plan 7
+        { {-1,1,-1}, {-1,1,0}, {-1,1,1}, {0,0,-1}, {0,0,1}, {1,-1,-1}, {1,-1,0}, {1,-1,1} }, // Plan 8
+        { {1,1,-1}, {1,1,0}, {1,1,1}, {0,0,-1}, {0,0,1}, {-1,-1,-1}, {-1,-1,0}, {-1,-1,1} }  // Plan 9
+      };
+
+    // Count the number of neighbors on each plan
+    for (int k = 0; k<9; ++k) {
+      int count = 0;
+
+      for (int l = 0; l<8; ++l) {
+        if (x + plan9[k][l][0]<0 || x + plan9[k][l][0]>=img.width() ||
+            y + plan9[k][l][1]<0 || y + plan9[k][l][1]>=img.height() ||
+            z + plan9[k][l][2]<0 || z + plan9[k][l][2]>=img.depth()) continue;
+
+        if (img(x + plan9[k][l][0],y + plan9[k][l][1],z + plan9[k][l][2])!=0) ++count;
+      }
+
+      if (count<2) return true;
+    }
+  } else { // 2D or 3D case with medial curve
+    int isb = 0;
+
+    for (int k = -1; k<=1; ++k)
+      for (int l = -1; l<=1; ++l)
+        for (int m = -1; m<=1; ++m) {
+          // Protection
+          if (x + k<0 || x + k>=img.width() ||
+              y + l<0 || y + l>=img.height() ||
+              z + m<0 || z + m>=img.depth()) continue;
+
+          if (img(x + k,y + l,z + m)!=0) ++isb;
+        }
+
+    if (isb==2) return true; // The pixel with one neighbor
+  }
+
+  // Else it's not...
+  return false;
+}
+
+/**
+ * Compute the skeleton of the shape using Hamilton-Jacobi scheme
+ * @param flux the flux of the distance gradient
+ * @param dist the euclidean distance of the object
+ * @param curve create or not medial curve
+ * @param thres the threshold on the flux
+ * @return the skeleton
+ */
+CImg<T> get_skeleton (const CImg<floatT> & flux,
+                      const CImg<floatT> & dist, const bool curve, const float thres) const {
+  CImg<T>
+    skeleton(*this),                      // The skeleton
+    label(width(),height(),depth(),1,0),  // Save label
+    count(width(),height(),depth(),1,0);  // A counter for the queue
+  std::priority_queue< _PointFlux, std::vector<_PointFlux>, _compare_point > pqueue(curve);
+  int isb = 0;
+
+  // 1 - Init get the bound points
+  cimg_forXYZ(*this,x,y,z) {
+    if (skeleton(x,y,z)==0) continue;
+
+    // Test bound condition
+    isb = 0;
+    for (int k = -1; k<=1; ++k)
+      for (int l = -1; l<=1; ++l)
+        for (int m = -1; m<=1; ++m) {
+          // Protection
+          if (x + k<0 || x + k>=width() ||
+              y + l<0 || y + l>=height() ||
+              z + m<0 || z + m>=depth()) continue;
+          if (skeleton(x + k,y + l,z + m)==0) isb = 1;
+        }
+
+    if (isb==1 && _isSimple(skeleton,x,y,z)) {
+      _PointFlux p;
+      p.pos[0] = x;
+      p.pos[1] = y;
+      p.pos[2] = z;
+      p.flux = flux(x,y,z);
+      p.dist = dist(x,y,z);
+      pqueue.push(p);
+      count(x,y,z) = 1;
+    }
+  }
+
+  // 2 - Compute the skeleton
+  while (!pqueue.empty()) {
+    _PointFlux p = pqueue.top();     // Get the point with the max flux
+    pqueue.pop();                    // Remove the point from the queue
+    count(p.pos[0],p.pos[1],p.pos[2]) = 0; // Reinit counter
+
+      // Test if the point is simple
+    if (_isSimple(skeleton,p.pos[0],p.pos[1],p.pos[2]))	{
+      if ((! _isEndPoint(skeleton,label,curve,p.pos[0],p.pos[1],p.pos[2])) || p.flux>thres) {
+        skeleton(p.pos[0],p.pos[1],p.pos[2]) = 0; // Remove the point
+
+        for (int k = -1; k<=1; ++k)
+          for (int l = -1; l<=1; ++l)
+            for (int m = -1; m<=1; ++m) {
+              // Protection
+              if (p.pos[0] + k<0 || p.pos[0] + k>= width() ||
+                  p.pos[1] + l<0 || p.pos[1] + l>= height() ||
+                  p.pos[2] + m<0 || p.pos[2] + m>= depth()) continue;
+              if (skeleton(p.pos[0] + k,p.pos[1] + l,p.pos[2] + m)!=0 &&
+                  count(p.pos[0] + k,p.pos[1] + l,p.pos[2] + m)<1 &&
+                  _isSimple(skeleton,p.pos[0] + k,p.pos[1] + l,p.pos[2] + m)) {
+                _PointFlux p1;
+                p1.pos[0] = p.pos[0] + k;
+                p1.pos[1] = p.pos[1] + l;
+                p1.pos[2] = p.pos[2] + m;
+                p1.flux = flux(p.pos[0] + k,p.pos[1] + l,p.pos[2] + m);
+                p1.dist = dist(p.pos[0] + k,p.pos[1] + l,p.pos[2] + m);
+                pqueue.push(p1);
+                count(p.pos[0] + k,p.pos[1] + l,p.pos[2] + m) = 1;
+              }
+            }
+      } else label(p.pos[0],p.pos[1],p.pos[2]) = 1; // Mark the point as skeletal
+    }
+  }
+
+  return skeleton;
+}
+
+/**
+ * In place version of get_skeleton
+ */
+CImg<T> skeleton(const CImg<floatT> & flux,
+                 const CImg<floatT> & dist, bool curve ,float thres) {
+  return get_skeleton(flux,dist,curve,thres).move_to(*this);
+}
+
+#endif /* cimg_plugin_skeleton */
diff --git a/plugins/tiff_stream.h b/plugins/tiff_stream.h
new file mode 100644
index 0000000..b4d934b
--- /dev/null
+++ b/plugins/tiff_stream.h
@@ -0,0 +1,192 @@
+/*
+#
+#  File        : tiff_stream.h
+#                ( C++ header file - CImg plug-in )
+#
+#  Description : This CImg plug-in provide functions to load and save tiff images
+#                from std::istream/ to std::ostream
+#                This file is a part of the CImg Library project.
+#                ( http://cimg.eu )
+#
+#  Copyright   : Wolf Blecher
+#                ( Wolf.Blecher(at)sirona.com )
+#
+#  License     : CeCILL v2.0
+#                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+#
+#  This software is governed by the CeCILL  license under French law and
+#  abiding by the rules of distribution of free software.  You can  use,
+#  modify and/ or redistribute the software under the terms of the CeCILL
+#  license as circulated by CEA, CNRS and INRIA at the following URL
+#  "http://www.cecill.info".
+#
+#  As a counterpart to the access to the source code and  rights to copy,
+#  modify and redistribute granted by the license, users are provided only
+#  with a limited warranty  and the software's author,  the holder of the
+#  economic rights,  and the successive licensors  have only  limited
+#  liability.
+#
+#  In this respect, the user's attention is drawn to the risks associated
+#  with loading,  using,  modifying and/or developing or reproducing the
+#  software by the user in light of its specific status of free software,
+#  that may mean  that it is complicated to manipulate,  and  that  also
+#  therefore means  that it is reserved for developers  and  experienced
+#  professionals having in-depth computer knowledge. Users are therefore
+#  encouraged to load and test the software's suitability as regards their
+#  requirements in conditions enabling the security of their systems and/or
+#  data to be ensured and,  more generally, to use and operate it in the
+#  same conditions as regards security.
+#
+#  The fact that you are presently reading this means that you have had
+#  knowledge of the CeCILL license and that you accept its terms.
+#
+*/
+
+/*-----------------------------------------------------------------------------------
+
+IMPORTANT NOTE :
+
+You *need* to include the following lines in your own code to use this plugin:
+
+#include "tiffio.h"
+#include "tiffio.hxx"
+
+You *need* to link your code with the libtiff and libtiffxx libraries as well.
+
+------------------------------------------------------------------------------------*/
+
+#ifndef cimg_use_tiff
+#error cimg_use_tiff not defined
+#endif
+
+#ifndef cimg_plugin_tiff_stream
+#define cimg_plugin_tiff_stream
+
+#include <ios>
+
+/////////////////////////////////////////////////////////////////
+//
+//    Define main CImg plugin functions.
+//    (you should use these functions only in your own code)
+//
+/////////////////////////////////////////////////////////////////
+
+//! Save image as a TIFF file.
+/**
+   \param tiffOutStream std::ostream, where to write the image to
+   \param compression_type Type of data compression.
+     Can be <tt>{ 1=None | 2=CCITTRLE | 3=CCITTFAX3 | 4=CCITTFAX4 | 5=LZW | 6=JPEG }</tt>.
+   \note
+   - libtiff support is enabled by defining the precompilation
+   directive \c cimg_use_tiff.
+   - When libtiff is enabled, 2D and 3D (multipage) several
+   channel per pixel are supported for
+   <tt>char,uchar,short,ushort,float</tt> and \c double pixel types.
+**/
+const CImg<T>& save_tiff(std::ostream *tiffOutStream, const unsigned int compression_type=0) const {
+  if (!tiffOutStream->good())
+    {
+      throw CImgArgumentException(_cimg_instance
+                                  "save_tiff(): tiffstream is not good!",
+                                  cimg_instance);
+    }
+
+  if (is_empty())
+    {
+      throw CImgArgumentException(_cimg_instance
+                                  "Not allowed to write empty images to stream",
+                                  cimg_instance
+                                  );
+    }
+
+  TIFF *tif = TIFFStreamOpen("MemTiff", tiffOutStream);
+  if (tif)
+    {
+      cimg_forZ(*this,z) get_slice(z)._save_tiff(tif,z,compression_type,0,0);
+      tiffOutStream->flush();
+      TIFFClose(tif);
+    }
+  else
+    {
+      throw CImgIOException(_cimg_instance
+                            "save_tiff(): Failed to stream for writing.",
+                            cimg_instance);
+    }
+
+  return *this;
+}
+
+//! Load images from a TIFF file.
+/**
+   \param tiffInStream std::istream to read data from.
+   \param first_frame Index of first image frame to read.
+   \param last_frame Index of last image frame to read.
+   \param step_frame Step applied between each frame.
+**/
+CImg<T>& load_tiff(std::istream* tiffInStream,
+                   const unsigned int first_frame=0, const unsigned int last_frame=~0U,
+                   const unsigned int step_frame=1)
+{
+  const unsigned int
+    nfirst_frame = first_frame<last_frame?first_frame:last_frame,
+    nstep_frame = step_frame?step_frame:1;
+  unsigned int nlast_frame = first_frame<last_frame?last_frame:first_frame;
+
+  TIFF *tif = TIFFStreamOpen("MemTiff", tiffInStream);
+  if (tif)
+    {
+      unsigned int nb_images = 0;
+      do {
+        ++nb_images;
+      } while (TIFFReadDirectory(tif));
+
+      if (nfirst_frame>=nb_images || (nlast_frame!=~0U && nlast_frame>=nb_images))
+        {
+          cimg::warn("load_tiff(): Invalid specified frame range is [%u,%u] (step %u) "
+                     "since stream contains %u image(s).",
+                     nfirst_frame,nlast_frame,nstep_frame,nb_images);
+        }
+
+      if (nfirst_frame>=nb_images)
+        {
+          return assign();
+        }
+
+      if (nlast_frame>=nb_images)
+        {
+          nlast_frame = nb_images - 1;
+        }
+      TIFFSetDirectory(tif,0);
+      CImg<T> frame;
+      for (unsigned int l = nfirst_frame; l<=nlast_frame; l+=nstep_frame) {
+        frame._load_tiff(tif,l,0,0);
+        if (l==nfirst_frame)
+          assign(frame._width,frame._height,1 + (nlast_frame - nfirst_frame)/nstep_frame,frame._spectrum);
+        if (frame._width>_width || frame._height>_height || frame._spectrum>_spectrum)
+          resize(cimg::max(frame._width,_width),cimg::max(frame._height,_height),
+                 -100,cimg::max(frame._spectrum,_spectrum),0);
+        draw_image(0,0,(l - nfirst_frame)/nstep_frame,frame);
+      }
+      TIFFClose(tif);
+    }
+  else
+    {
+      throw CImgIOException(_cimg_instance
+                            "load_tiff(): Failed to read data from stream",
+                            cimg_instance);
+    }
+
+  return *this;
+}
+
+//! Load a multi-page TIFF file \newinstance.
+static CImg<T> get_load_tiff(std::istream* tiffInStream,
+                             const unsigned int first_frame=0, const unsigned int last_frame=~0U,
+                             const unsigned int step_frame=1)
+{
+  return CImg<T>().load_tiff(tiffInStream,first_frame,last_frame,step_frame);
+}
+
+// End of the plug-in
+//-------------------
+#endif /* cimg_plugin_tiff_stream */
diff --git a/plugins/tinymatwriter.h b/plugins/tinymatwriter.h
new file mode 100644
index 0000000..12d2085
--- /dev/null
+++ b/plugins/tinymatwriter.h
@@ -0,0 +1,109 @@
+/*
+#
+#  File        : tinymatwriter.h
+#                ( C++ header file - CImg plug-in )
+#
+#  Description : This CImg plug-in provide functions to write image as 
+#                Matlab MAT files
+#                ( http://cimg.eu )
+#
+#  Copyright   : Jan W. Krieger
+#                ( j.krieger(at)dkfz.de   jan(at)jkrieger.de )
+#
+#  License     : CeCILL v2.0
+#                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+#
+#  This software is governed by the CeCILL  license under French law and
+#  abiding by the rules of distribution of free software.  You can  use,
+#  modify and/ or redistribute the software under the terms of the CeCILL
+#  license as circulated by CEA, CNRS and INRIA at the following URL
+#  "http://www.cecill.info".
+#
+#  As a counterpart to the access to the source code and  rights to copy,
+#  modify and redistribute granted by the license, users are provided only
+#  with a limited warranty  and the software's author,  the holder of the
+#  economic rights,  and the successive licensors  have only  limited
+#  liability.
+#
+#  In this respect, the user's attention is drawn to the risks associated
+#  with loading,  using,  modifying and/or developing or reproducing the
+#  software by the user in light of its specific status of free software,
+#  that may mean  that it is complicated to manipulate,  and  that  also
+#  therefore means  that it is reserved for developers  and  experienced
+#  professionals having in-depth computer knowledge. Users are therefore
+#  encouraged to load and test the software's suitability as regards their
+#  requirements in conditions enabling the security of their systems and/or
+#  data to be ensured and,  more generally, to use and operate it in the
+#  same conditions as regards security.
+#
+#  The fact that you are presently reading this means that you have had
+#  knowledge of the CeCILL license and that you accept its terms.
+#
+*/
+
+/*-----------------------------------------------------------------------------------
+
+IMPORTANT NOTE :
+
+You *need* to compile tinymatwriter.cpp and link the result to your project and
+include "tinymatwriter.h" berfore inclusing CIMg or this plugin!
+
+This library is available from:
+    https://github.com/jkriege2/TinyMAT
+------------------------------------------------------------------------------------*/
+
+
+
+#ifndef cimg_plugin_tinymatwriter
+#define cimg_plugin_tinymatwriter
+
+#include<cstdint>
+
+/////////////////////////////////////////////////////////////////
+//
+//    Define main CImg plugin functions.
+//    (you should use these functions only in your own code)
+//
+/////////////////////////////////////////////////////////////////
+
+//! Save image as a MAT file.
+/**
+   \param filename filename of the output file
+   \note TinyMATWriter supports signed/unsigned int with 8/16/32/64 bits, double, float and bool as pixel types!
+**/
+const CImg& save_tinymat(const char *filename) const {
+
+  TinyMATWriterFile* mat=TinyMATWriter_open(filename);
+  if (mat) {
+      int32_t size_x=width();
+      int32_t size_y=height();
+      int32_t size_z=depth();
+      int32_t size_c=spectrum();
+      
+      int32_t sizes[4]={size_x, size_y, size_z, size_c};
+      uint32_t dims=4;
+      if (size_c==1) {
+          dims=3;
+          if (size_z==1) {
+              dims=2;
+			  if (size_y==1) {
+                  dims=1;
+			  }
+          }
+      }
+	  
+	  TinyMATWriter_writeMatrixND_rowmajor(mat, "CImg_image", data(), sizes, dims);
+      TinyMATWriter_close(mat);
+  } else {
+      throw CImgIOException(_cimg_instance
+                            "save_tinymat(): Failed to open file.",
+                            cimg_instance);
+  }
+
+  return *this;
+}
+
+
+// End of the plug-in
+//-------------------
+#endif /* cimg_plugin_tinymatwriter */
diff --git a/plugins/vrml.h b/plugins/vrml.h
new file mode 100644
index 0000000..f5c6b93
--- /dev/null
+++ b/plugins/vrml.h
@@ -0,0 +1,894 @@
+/*
+ #
+ #  File        : vrml.h
+ #                ( C++ header file - CImg plug-in )
+ #
+ #  Description : CImg plugin that provide functions to load/save VRML files.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : Greg Rami
+ #                ( greg.rami36 (at) gmail.com )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+/*-----------------------------------------------------------------------------------
+
+ IMPORTANT NOTE :
+
+ You *need* to include the following lines in your own code to use this plugin :
+
+ #include <vector>
+ #include <string>
+ #include <sstream>
+ #include <algorithm>
+
+------------------------------------------------------------------------------------*/
+
+#ifndef cimg_plugin_vrml
+#define cimg_plugin_vrml
+
+//! Load a 3d object from a .VRML file.
+template<typename tf, typename tc>
+CImg<T>& load_vrml(const char *const filename, CImgList<tf>& primitives, CImgList<tc>& colors) {
+  return _load_vrml(0,filename,primitives,colors);
+}
+
+//! Load a 3d object from a .VRML file.
+template<typename tf, typename tc>
+static CImg<T> get_load_vrml(const char *const filename, CImgList<tf>& primitives, CImgList<tc>& colors) {
+  return CImg<T>().load_vrml(filename,primitives,colors);
+}
+
+//! Load a 3d object from a .VRML file.
+template<typename tf, typename tc>
+CImg<T>& load_vrml(std::FILE *const file, CImgList<tf>& primitives, CImgList<tc>& colors) {
+  return _load_vrml(file,0,primitives,colors);
+}
+
+//! Load a 3d object from a .VRML file.
+template<typename tf, typename tc>
+static CImg<T> get_load_vrml(std::FILE *const file, CImgList<tf>& primitives, CImgList<tc>& colors) {
+  return CImg<T>().load_vrml(file,primitives,colors);
+}
+
+//! Load a 3d object from a .VRML file (internal).
+template<typename tf, typename tc>
+CImg<T>& _load_vrml(std::FILE *const file, const char *const filename,CImgList<tf>& primitives, CImgList<tc>& colors) {
+  if (!file && !filename)
+    throw CImgArgumentException(_cimg_instance
+                                "load_vrml() : Specified filename is (null).",
+                                cimg_instance);
+  std::FILE *const nfile = file?file:cimg::fopen(filename,"r");
+
+  char line[1024] = { 0 };
+  int err;
+
+  // Skip comments, and read the first node.
+  do { err = std::fscanf(nfile,"%65535[^\n] ",line); } while (!err || (err==1 && *line=='#'));
+
+  // Check for a first valid vrml valid node.
+  if (cimg::strncasecmp(line,"Shape",5) &&
+      cimg::strncasecmp(line,"Transform",9) &&
+      cimg::strncasecmp(line,"NavigationInfo",14) &&
+      cimg::strncasecmp(line,"Billboard",9)) {
+    if (!file) cimg::fclose(nfile);
+    throw CImgIOException(_cimg_instance
+                          "load_vrml() : VRML nodes not found in file '%s'.",
+                          cimg_instance,filename?filename:"(FILE*)");
+  }
+
+  // Look for the Shape node (as we do not manage the treatment for the other nodes yet).
+  if (cimg::strncasecmp(line,"Shape",5)) {
+    while (cimg::strncasecmp(line,"Shape",5) && !std::feof(nfile)) err = std::fscanf(nfile,"%1023[^\n] ",line);
+    if (std::feof(nfile)) {
+      if (!file) cimg::fclose(nfile);
+      throw CImgIOException(_cimg_instance
+                            "load_vrml() : Shape node not found in file '%s'.",
+                            cimg_instance,filename?filename:"(FILE*)");
+    }
+  }
+
+  // Look for either geometry or appearance node.
+  while (cimg::strncasecmp(line,"geometry",8) && cimg::strncasecmp(line,"appearance",10) && !std::feof(nfile))
+    err = std::fscanf(nfile,"%1023[^\n] ",line);
+  if (std::feof(nfile)) { // If none of these nodes are defined.
+    if (!file) cimg::fclose(nfile);
+    throw CImgIOException(_cimg_instance
+                          "load_vrml() : Geometry and appearance nodes not found in file '%s'.",
+                          cimg_instance,filename?filename:"(FILE*)");
+  }
+
+  std::vector<T> listePoints; // Intermediate list containing the points of the whole object.
+  primitives.assign();
+  colors.assign();
+  // Count the number of points of the whole object and the number of primitives.
+  int nbPointsTotal = 0, nbPrimitives = 0;
+  float r = 0.78f, g = 0.78f, b = 0.78f; // RGB level of the object, the object is gray by default.
+  // Boolean used to know if a color is defined for an object,
+  // if this object has multiple colors or if the object has a texture
+  bool colorDefined = true, multipleColors = false, textureTest = false;
+  char textureFile[1024] = { 0 }; // Variable containing the name of the image used as a texture
+
+  while (!std::feof(nfile)) {
+    char type[1024] = { 0 }, textureFileTemp[1024] = { 0 };
+    colorDefined = true;
+    if (!cimg::strncasecmp(line,"geometry",8)) {       // We are at the geometry node
+      std::sscanf(line,"geometry %s",type);            // We are looking for the type of geometry to draw
+      const CImg<float> coords = CImg<float>::empty(); // CImg used for the texturization of an object
+      CImgList<tc> colorsTextured;                     // CImgList used for the texturization of the color of an object
+      CImgList<tf> primitivesTemp;  // Intermediate CImgList used to update the primitives of the whole object
+
+      if (!cimg::strncasecmp(type,"Box",3)) { // If the object to draw is a box
+        while (cimg::strncasecmp(line,"size",4) && !std::feof(nfile)) // We are looking for the size of the box
+          err = std::fscanf(nfile,"%1023[^\n] ",line);
+
+        if (std::feof(nfile)) { // If no size is specified
+          if (!file) cimg::fclose(nfile);
+          throw CImgIOException(_cimg_instance
+                                "load_vrml() : size of box not defined in file '%s'.",
+                                cimg_instance, filename?filename:"(FILE*)");
+        }
+
+        float X = 0, Y = 0, Z = 0; // The width, height and depth of the box
+        if ((err = std::sscanf(line,"size %f %f %f[^\n] ",&X,&Y,&Z))!=3 &&
+            (err = std::sscanf(line,"size %f,%f,%f[^\n] ",&X,&Y,&Z))!=3) {
+          if (!file) cimg::fclose(nfile);
+          throw CImgIOException(_cimg_instance
+                                "load_vrml() : Failed to read box size in file '%s'.",
+                                cimg_instance,filename?filename:"(FILE*)");
+        }
+        // We generate the primitives and the points of the box
+        const CImg<T> pointsTemp = CImg<T>::box3d(primitivesTemp,(T)X,(T)Y,(T)Z);
+
+        nbPrimitives = primitivesTemp.size(); // We save the number of primitives of the object
+
+        if (textureTest) { // If the object has a texture
+          // We put the image used as a texture into a CImg object
+          const CImg<float> texture(textureFile);
+          // We initialize the colorsTextured list
+          colorsTextured.insert(primitivesTemp.size(),CImg<unsigned char>::vector(0,50,250));
+          // We texturize the object
+          pointsTemp.texturize_object3d(primitivesTemp,colorsTextured,texture,coords);
+          nbPrimitives = 0;
+        }
+
+        if(nbPointsTotal) { // If there are already some objects in the scene
+          for (int j=0;j<(int)primitivesTemp.size();j++) {
+            for(int i=0;i<4;i++)
+              // We shift the indices in the primitives to designate the right points
+              primitivesTemp(j).at(i) += (tf)nbPointsTotal;
+          }
+        }
+        primitives.push_back(primitivesTemp); // We add the primitives of the box to the general primitives variable
+        for(int i=0;i<(int)pointsTemp.size()/3;++i) { // We add the points into the temporary list in the right order
+          listePoints.push_back((T)pointsTemp.at(i));
+          listePoints.push_back((T)pointsTemp.at(i + 8));
+          listePoints.push_back((T)pointsTemp.at(i + 16));
+        }
+        nbPointsTotal += pointsTemp.size()/3; // We increase the number of points of the whole object
+      }
+      else if(!cimg::strncasecmp(type,"Sphere",6)) { // If the object to draw is a sphere
+        while(cimg::strncasecmp(line,"radius",6) && !std::feof(nfile))
+          err = std::fscanf(nfile,"%1023[^\n] ",line);
+
+        if(std::feof(nfile)) {
+          if (!file)
+            cimg::fclose(nfile);
+          throw CImgIOException(_cimg_instance
+                                "load_vrml() : radius of sphere not defined in file '%s'.",
+                                cimg_instance, filename?filename:"(FILE*)");
+        }
+
+        float R = 0;
+        if ((err = std::sscanf(line,"radius %f[^\n] ",&R))!=1) { // We get the radius of the sphere
+          if (!file)
+            cimg::fclose(nfile);
+          throw CImgIOException(_cimg_instance
+                                "load_vrml() : Failed to read sphere radius in file '%s'.",
+                                cimg_instance,filename?filename:"(FILE*)");
+        }
+        // Compute the necessary points and primitives for a sphere of radius R
+        const CImg<T> pointsTemp = CImg<T>::sphere3d(primitivesTemp,(T)R);
+        // We get the number of primitives to used on the attribution of a color, in case no specific color is defined
+        nbPrimitives = primitivesTemp.size();
+
+        if(textureTest) { // If the object has a texture
+          // We put the image used as a texture into a CImg object
+          const CImg<float> texture(textureFile);
+          // We initialize the colorsTextured list
+          colorsTextured.insert(primitivesTemp.size(),CImg<unsigned char>::vector(0,50,250));
+          pointsTemp.texturize_object3d(primitivesTemp,colorsTextured,texture,coords); // We texturize the object
+          nbPrimitives = 0; // We set to 0 because there is no color to use
+        }
+
+        if(nbPointsTotal) { // If there are already some objects in the scene
+          for (int j=0;j<(int)primitivesTemp.size();j++) {
+            for(int i=0;i<3;i++)
+              primitivesTemp(j).at(i) += (tf)nbPointsTotal;
+          }
+        }
+
+        primitives.push_back(primitivesTemp);
+        for(int i=0;i<(int)pointsTemp.size()/3;++i) {
+          listePoints.push_back((T)pointsTemp.at(i));
+          listePoints.push_back((T)pointsTemp.at(i + pointsTemp.size()/3));
+          listePoints.push_back((T)pointsTemp.at(i + 2*pointsTemp.size()/3));
+        }
+        nbPointsTotal += pointsTemp.size()/3;
+      }
+      else if(!cimg::strncasecmp(type,"Cone",4)) { // If the object to draw is a cone
+        while(cimg::strncasecmp(line,"bottomRadius",12) && !std::feof(nfile) && cimg::strncasecmp(line,"height",6))
+          err = std::fscanf(nfile,"%1023[^\n] ",line);
+        float R = 0, H = 0;
+        if(std::feof(nfile)) {
+          if (!file)
+            cimg::fclose(nfile);
+          throw CImgIOException(_cimg_instance
+                                "load_vrml() : bottom radius and height of cone not defined in file '%s'.",
+                                cimg_instance, filename?filename:"(FILE*)");
+        }
+        else if(!cimg::strncasecmp(line,"bottomRadius",12)) { // We find the bottom radius of the cone first
+          if ((err = std::sscanf(line,"bottomRadius %f[^\n] ",&R))!=1) { // We get the radius into the variable R
+            if (!file)
+              cimg::fclose(nfile);
+            throw CImgIOException(_cimg_instance
+                                  "load_vrml() : Failed to read cone bottomRadius in file '%s'.",
+                                  cimg_instance,filename?filename:"(FILE*)");
+          }
+          while(!std::feof(nfile) && cimg::strncasecmp(line,"height",6)) // We look for the height of the cone
+            err = std::fscanf(nfile,"%1023[^\n] ",line);
+
+          if(std::feof(nfile)) {
+            if (!file)
+              cimg::fclose(nfile);
+            throw CImgIOException(_cimg_instance
+                                  "load_vrml() : height of cone not defined in file '%s'.",
+                                  cimg_instance, filename?filename:"(FILE*)");
+          }
+
+          if ((err = std::sscanf(line,"height %f[^\n] ",&H))!=1) { // We get the height into the variable H
+            if (!file)
+              cimg::fclose(nfile);
+            throw CImgIOException(_cimg_instance
+                                  "load_vrml() : Failed to read cone height in file '%s'.",
+                                  cimg_instance,filename?filename:"(FILE*)");
+          }
+        }
+        else { // We find the height of the cone first
+          if ((err = std::sscanf(line,"height %f[^\n] ",&H))!=1) {
+            if (!file)
+              cimg::fclose(nfile);
+            throw CImgIOException(_cimg_instance
+                                  "load_vrml() : Failed to read cone height in file '%s'.",
+                                  cimg_instance,filename?filename:"(FILE*)");
+          }
+          while(!std::feof(nfile) && cimg::strncasecmp(line,"bottomRadius",12))
+            err = std::fscanf(nfile,"%1023[^\n] ",line);
+
+          if(std::feof(nfile)) {
+            if (!file)
+              cimg::fclose(nfile);
+            throw CImgIOException(_cimg_instance
+                                  "load_vrml() : bottom radius of cone not defined in file '%s'.",
+                                  cimg_instance, filename?filename:"(FILE*)");
+          }
+
+          if ((err = std::sscanf(line,"bottomRadius %f[^\n] ",&R))!=1) {
+            if (!file)
+              cimg::fclose(nfile);
+            throw CImgIOException(_cimg_instance
+                                  "load_vrml() : Failed to read cone bottom radius in file '%s'.",
+                                  cimg_instance,filename?filename:"(FILE*)");
+          }
+        }
+        // Compute the necessary points and primitives for a cone of radius R and height H
+        const CImg<T> pointsTemp = CImg<T>::cone3d(primitivesTemp,(T)R,(T)H);
+
+        nbPrimitives = primitivesTemp.size();
+
+        if(textureTest) { // If the object has a texture
+          // We put the image used as a texture into a CImg object
+          const CImg<float> texture(textureFile);
+          // We initialize the colorsTextured list
+          colorsTextured.insert(primitivesTemp.size(),CImg<unsigned char>::vector(0,50,250));
+          pointsTemp.texturize_object3d(primitivesTemp,colorsTextured,texture,coords); // We texturize the object
+          nbPrimitives = 0;
+        }
+
+        if(nbPointsTotal) {
+          for (int j=0;j<(int)primitivesTemp.size();j++) {
+            for(int i=0;i<3;i++)
+              primitivesTemp(j).at(i) += (tf)nbPointsTotal;
+          }
+        }
+
+        primitives.push_back(primitivesTemp);
+        for(int i=0;i<(int)pointsTemp.size()/3;++i) {
+          listePoints.push_back((T)pointsTemp.at(i));
+          listePoints.push_back((T)pointsTemp.at(i + pointsTemp.size()/3));
+          listePoints.push_back((T)pointsTemp.at(i + 2*pointsTemp.size()/3));
+        }
+        nbPointsTotal += pointsTemp.size()/3;
+      }
+      else if(!cimg::strncasecmp(type,"Cylinder",8)) { // If the object to draw is a cylinder
+        while(cimg::strncasecmp(line,"radius",6) && !std::feof(nfile) && cimg::strncasecmp(line,"height",6))
+          err = std::fscanf(nfile,"%1023[^\n] ",line);
+        float R = 0, H = 0;
+        if(std::feof(nfile)) {
+          if (!file)
+            cimg::fclose(nfile);
+          throw CImgIOException(_cimg_instance
+                                "load_vrml() : radius or height of cylinder not defined in file '%s'.",
+                                cimg_instance, filename?filename:"(FILE*)");
+        }
+        else if(!cimg::strncasecmp(line,"radius",6)) { // If we find the radius first
+          if ((err = std::sscanf(line,"radius %f[^\n] ",&R))!=1) {
+            if (!file)
+              cimg::fclose(nfile);
+            throw CImgIOException(_cimg_instance
+                                  "load_vrml() : Failed to read cylinder radius in file '%s'.",
+                                  cimg_instance,filename?filename:"(FILE*)");
+          }
+          while(!std::feof(nfile) && cimg::strncasecmp(line,"height",6)) // We now look for the height of the cylinder
+            err = std::fscanf(nfile,"%1023[^\n] ",line);
+
+          if(std::feof(nfile)) {
+            if (!file)
+              cimg::fclose(nfile);
+            throw CImgIOException(_cimg_instance
+                                  "load_vrml() : height of cylinder not defined in file '%s'.",
+                                  cimg_instance, filename?filename:"(FILE*)");
+          }
+
+          if ((err = std::sscanf(line,"height %f[^\n] ",&H))!=1) {
+            if (!file)
+              cimg::fclose(nfile);
+            throw CImgIOException(_cimg_instance
+                                  "load_vrml() : Failed to read cylinder height in file '%s'.",
+                                  cimg_instance,filename?filename:"(FILE*)");
+          }
+        }
+        else { // If we find the height first
+          if ((err = std::sscanf(line,"height %f[^\n] ",&H))!=1) {
+            if (!file)
+              cimg::fclose(nfile);
+            throw CImgIOException(_cimg_instance
+                                  "load_vrml() : Failed to read cylinder height in file '%s'.",
+                                  cimg_instance,filename?filename:"(FILE*)");
+          }
+          while(!std::feof(nfile) && cimg::strncasecmp(line,"radius",6))// We now look for the radius of the cylinder
+            err = std::fscanf(nfile,"%1023[^\n] ",line);
+
+          if(std::feof(nfile)) {
+            if (!file)
+              cimg::fclose(nfile);
+            throw CImgIOException(_cimg_instance
+                                  "load_vrml() : radius of cylinder not defined in file '%s'.",
+                                  cimg_instance, filename?filename:"(FILE*)");
+          }
+
+          if ((err = std::sscanf(line,"radius %f[^\n] ",&R))!=1) {
+            if (!file)
+              cimg::fclose(nfile);
+            throw CImgIOException(_cimg_instance
+                                  "load_vrml() : Failed to read cylinder radius in file '%s'.",
+                                  cimg_instance,filename?filename:"(FILE*)");
+          }
+        }
+        // Compute the necessary points and primitives for a cylinder of radius R and height H
+        const CImg<T> pointsTemp = CImg<T>::cylinder3d(primitivesTemp,(T)R,(T)H);
+
+        if(textureTest) { // If the object has a texture
+          // We put the image used as a texture into a CImg object
+          const CImg<float> texture(textureFile);
+          // We initialize the colorsTextured list
+          colorsTextured.insert(primitivesTemp.size(),CImg<unsigned char>::vector(0,50,250));
+          pointsTemp.texturize_object3d(primitivesTemp,colorsTextured,texture,coords); // We texturize the object
+          nbPrimitives = 0;
+        }
+
+        nbPrimitives = primitivesTemp.size();
+
+        if(nbPointsTotal) {
+          for (int j=0;j<(int)primitivesTemp.size();j++) {
+            for(int i=0;i<3;i++)
+              primitivesTemp(j).at(i) += (tf)nbPointsTotal;
+          }
+        }
+
+        primitives.push_back(primitivesTemp);
+        for(int i=0;i<(int)pointsTemp.size()/3;++i) {
+          listePoints.push_back((T)pointsTemp.at(i));
+          listePoints.push_back((T)pointsTemp.at(i + pointsTemp.size()/3));
+          listePoints.push_back((T)pointsTemp.at(i + 2*pointsTemp.size()/3));
+        }
+        nbPointsTotal += pointsTemp.size()/3;
+      }
+      else if(!cimg::strncasecmp(type,"PointSet",8)) { // If the object to draw is a set of points
+        while(cimg::strncasecmp(line,"point [",7) && !std::feof(nfile))
+          err = std::fscanf(nfile,"%1023[^\n] ",line);
+
+        if(std::feof(nfile)) {
+          if (!file)
+            cimg::fclose(nfile);
+          throw CImgIOException(_cimg_instance
+                                "load_vrml() : points of pointSet node not defined in file '%s'.",
+                                cimg_instance, filename?filename:"(FILE*)");
+        }
+
+        err = std::fscanf(nfile,"%1023[^\n] ",line);
+        int nbPoints = 0;
+
+        while(cimg::strncasecmp(line,"]",1) && !std::feof(nfile)) {
+          // while we did not get all the points and while we are not at the end of the file
+          float X = 0, Y = 0, Z = 0;
+          if ((err = std::sscanf(line,"%f %f %f,[^\n] ",&X,&Y,&Z))==3 ||
+              (err = std::sscanf(line,"%f,%f,%f,[^\n] ",&X,&Y,&Z))==3) {
+            // We get the coordinates of all the points and store them into a list of points
+            listePoints.push_back((T)X);
+            listePoints.push_back((T)Y);
+            listePoints.push_back((T)Z);
+            ++nbPoints;
+          }
+          err = std::fscanf(nfile,"%1023[^\n] ",line);
+        }
+        if(std::feof(nfile)) {
+          if (!file)
+            cimg::fclose(nfile);
+          throw CImgIOException(_cimg_instance
+                                "load_vrml() : bad structure of pointSet node in file '%s'.",
+                                cimg_instance, filename?filename:"(FILE*)");
+        }
+        primitivesTemp.assign();
+
+        for(int i=0;i<nbPoints;++i) { // The primitive is only composed of the indice of the point itself
+          CImg<tf> temp(1,1,1,1,(tf)i);
+          primitivesTemp.push_back(temp);
+        }
+
+        if(nbPointsTotal) {
+          for (int j=0;j<(int)primitivesTemp.size();j++) {
+            for(int i=0;i<(int)primitivesTemp(j).size();i++)
+              primitivesTemp(j).at(i) += (tf)nbPointsTotal;
+          }
+        }
+        nbPrimitives = primitivesTemp.size();
+
+        primitives.push_back(primitivesTemp);
+
+        nbPointsTotal += nbPoints;
+      }
+      else if(!cimg::strncasecmp(type,"IndexedLineSet",14) ||
+              !cimg::strncasecmp(type,"IndexedFaceSet",14)) {
+        // If the object to draw is a set of lines or a set of faces
+        while(cimg::strncasecmp(line,"point [",7) && !std::feof(nfile))
+          err = std::fscanf(nfile,"%1023[^\n] ",line);
+        if(std::feof(nfile)) {
+          if (!file)
+            cimg::fclose(nfile);
+          throw CImgIOException(_cimg_instance
+                                "load_vrml() : points of IndexedSet node not defined in file '%s'.",
+                                cimg_instance, filename?filename:"(FILE*)");
+        }
+
+        err = std::fscanf(nfile,"%1023[^\n] ",line);
+        int nbPoints = 0;
+        while(cimg::strncasecmp(line,"]",1) && !std::feof(nfile)) {
+          // As long as there are points defined we add them to the list
+          float X=0,Y=0,Z=0;
+          if ((err = std::sscanf(line,"%f %f %f,[^\n] ",&X,&Y,&Z))==3 ||
+              (err = std::sscanf(line,"%f,%f,%f,[^\n] ",&X,&Y,&Z))==3) {
+            // We get the coordinates of the points into a list of points
+            listePoints.push_back((T)X);
+            listePoints.push_back((T)Y);
+            listePoints.push_back((T)Z);
+            ++nbPoints;
+          }
+          err = std::fscanf(nfile,"%1023[^\n] ",line);
+        }
+        if(std::feof(nfile)) {
+          if (!file)
+            cimg::fclose(nfile);
+          throw CImgIOException(_cimg_instance
+                                "load_vrml() : bad structure of point vector node in file '%s'.",
+                                cimg_instance, filename?filename:"(FILE*)");
+        }
+
+        primitivesTemp.assign();
+
+        while(cimg::strncasecmp(line,"coordIndex [",12) && !std::feof(nfile))
+          // We are looking for the index of the points
+          err = std::fscanf(nfile,"%1023[^\n] ",line);
+        if(std::feof(nfile)) {
+          if (!file)
+            cimg::fclose(nfile);
+          throw CImgIOException(_cimg_instance
+                                "load_vrml() : coordIndex not furnished for IndexedSet node in file '%s'.",
+                                cimg_instance, filename?filename:"(FILE*)");
+        }
+
+        err = std::fscanf(nfile,"%1023[^\n] ",line);
+
+        while(cimg::strncasecmp(line,"]",1) && !std::feof(nfile)) { // As long as there are indices
+          if(*line!='#') {
+            std::vector<tf> primitiveComponents;
+            char * pch;
+            pch = std::strtok (line,",");
+
+            while (pch != NULL && std::atof(pch)!=-1) { // We extract the list of indices and store them into a vector
+              if(!(int)count(primitiveComponents.begin(),primitiveComponents.end(),(tf)std::atof(pch)))
+                primitiveComponents.push_back((tf)std::atof(pch));
+              pch = std::strtok (NULL, ",");
+            }
+            CImg<tf> temp(1,primitiveComponents.size(),1,1);
+
+            for(int i=0;i<(int)primitiveComponents.size();++i)
+              temp(0,i) = primitiveComponents.at(i);
+            primitivesTemp.push_back(temp);
+          }
+          err = std::fscanf(nfile,"%1023[^\n] ",line);
+        }
+
+        if(std::feof(nfile)) {
+          if (!file)
+            cimg::fclose(nfile);
+          throw CImgIOException(_cimg_instance
+                                "load_vrml() : bad structure of coordIndex in file '%s'.",
+                                cimg_instance, filename?filename:"(FILE*)");
+        }
+
+        if(nbPointsTotal) {
+          for (int j=0;j<(int)primitivesTemp.size();j++) {
+            for(int i=0;i<(int)primitivesTemp(j).size();i++)
+              primitivesTemp(j).at(i) += (tf)nbPointsTotal;
+          }
+        }
+
+        nbPrimitives = primitivesTemp.size();
+        primitives.push_back(primitivesTemp);
+        nbPointsTotal += nbPoints;
+
+        while(cimg::strncasecmp(line,"color [",7) && cimg::strncasecmp(line,"}",1) && !std::feof(nfile))
+          err = std::fscanf(nfile,"%1023[^\n] ",line);
+        if(std::feof(nfile)) {
+          if (!file)
+            cimg::fclose(nfile);
+          throw CImgIOException(_cimg_instance
+                                "load_vrml() : bad structure of coordIndex in file '%s'.",
+                                cimg_instance, filename?filename:"(FILE*)");
+        }
+        else if(!cimg::strncasecmp(line,"color [",7)) { // If there are different colors defined for each faces
+          multipleColors = true;
+          std::vector<CImg<tc> > listColors;
+          err = std::fscanf(nfile,"%1023[^\n] ",line);
+          while(cimg::strncasecmp(line,"]",1) && !std::feof(nfile)) {
+            // We add the list of all colors defined into the vector listColors
+            if(*line!='#') {
+              if ((err = std::sscanf(line,"%f %f %f[^\n] ",&r,&g,&b))!=3) {
+                if (!file)
+                  cimg::fclose(nfile);
+                throw CImgIOException(_cimg_instance
+                                      "load_vrml() : wrong number of color furnished in file '%s'.",
+                                      cimg_instance,filename?filename:"(FILE*)");
+              }
+              CImg<tc> img(3,1,1,1,(tc)(r*255),(tc)(g*255),(tc)(b*255));
+              listColors.push_back(img);
+            }
+            err = std::fscanf(nfile,"%1023[^\n] ",line);
+          }
+          if(std::feof(nfile)) {
+            if (!file)
+              cimg::fclose(nfile);
+            throw CImgIOException(_cimg_instance
+                                  "load_vrml() : bad structure of color in file '%s'.",
+                                  cimg_instance, filename?filename:"(FILE*)");
+          }
+          else {
+            while(cimg::strncasecmp(line,"colorIndex [",12) && !std::feof(nfile))
+              err = std::fscanf(nfile,"%1023[^\n] ",line);
+            if(std::feof(nfile)) {
+              if (!file)
+                cimg::fclose(nfile);
+              throw CImgIOException(_cimg_instance
+                                    "load_vrml() : colorIndex not furnished for Color node in file '%s'.",
+                                    cimg_instance, filename?filename:"(FILE*)");
+            }
+            err = std::fscanf(nfile,"%1023[^\n] ",line);
+            while(cimg::strncasecmp(line,"]",1) && !std::feof(nfile)) {
+              // We add the colors at the right index into the vector colors
+              if(*line!='#') {
+                char * pch;
+                pch = std::strtok (line," ");
+                while (pch != NULL) {
+                  int indice = std::atoi(pch);
+                  colors.insert(CImg<tc>::vector((tc)(listColors[indice])[0],
+                                                 (tc)(listColors[indice])[1],
+                                                 (tc)(listColors[indice])[2]));
+                  pch = std::strtok (NULL, " ");
+                }
+              }
+              err = std::fscanf(nfile,"%1023[^\n] ",line);
+            }
+          }
+        }
+      }
+      else // If none of the known type of shape is defined
+        cimg::warn(_cimg_instance
+                   "load_vrml() : Failed to read type of geometry to draw from file '%s'.",
+                   cimg_instance,filename?filename:"(FILE*)");
+
+      if(textureTest) { // If the object considered is texturized
+        colors.push_back(colorsTextured);
+        *textureFile = 0;
+      }
+      while(cimg::strncasecmp(line,"appearance",10) &&
+            cimg::strncasecmp(line,"Shape",5) && !std::feof(nfile))
+        // We look for the node appearance or for another shape
+        err = std::fscanf(nfile,"%1023[^\n] ",line);
+    }
+    if(!cimg::strncasecmp(line,"appearance",10)) { // We are at the appearance node
+      while(cimg::strncasecmp(line,"texture ImageTexture",20) &&
+            cimg::strncasecmp(line,"diffuseColor",12) && !std::feof(nfile))
+        // We are looking for a valid appearance node
+        err = std::fscanf(nfile,"%1023[^\n] ",line);
+      if(!cimg::strncasecmp(line,"diffuseColor",12)) { // If the object as a unique diffuse color
+        if ((err = std::sscanf(line,"diffuseColor %f,%f,%f[^\n] ",&r,&g,&b))!=3 &&
+            (err = std::sscanf(line,"diffuseColor %f %f %f[^\n] ",&r,&g,&b))!=3) {
+          if (!file)
+            cimg::fclose(nfile);
+          throw CImgIOException(_cimg_instance
+                                "load_vrml() : wrong number of color furnished in file '%s'.",
+                                cimg_instance,filename?filename:"(FILE*)");
+        }
+      }
+      else if(!cimg::strncasecmp(line,"texture ImageTexture",20)) { // If there is a texture defined in the VRML file
+        textureTest = true;
+        colorDefined = false;
+        while(cimg::strncasecmp(line,"url",3) && !std::feof(nfile))
+          err = std::fscanf(nfile,"%1023[^\n] ",line);
+        if(std::feof(nfile)) {
+          if (!file)
+            cimg::fclose(nfile);
+          throw CImgIOException(_cimg_instance
+                                "load_vrml() : texture not defined in file '%s'.",
+                                cimg_instance, filename?filename:"(FILE*)");
+        }
+        // We temporary put the name of the texture image into textureFileTemp
+        std::sscanf(line,"url [%s][^\n] ",textureFileTemp);
+        char * pch;
+        pch = std::strtok (textureFileTemp,"\"");
+        strcpy(textureFile,pch); // We put the url of the texture image into textureFile
+      }
+    }
+    else if(!cimg::strncasecmp(line,"Shape",5)) // We have another shape node
+      textureTest = false; // We reinitialize the texture boolean
+
+    if(nbPrimitives && colorDefined && !multipleColors && !textureTest) {
+      // If there is only one color defined we add it to the colors CImgList or if no color
+      // is defined for an object, we add the default color
+      CImgList<tc> colorsTemp;
+      colorsTemp.insert(nbPrimitives,CImg<tc>::vector((tc)(r*255),(tc)(g*255),(tc)(b*255)));
+      colors.push_back(colorsTemp);
+      nbPrimitives = 0;
+      r = 0.7f;
+      g = 0.7f;
+      b = 0.7f;
+    }
+    err = std::fscanf(nfile,"%1023[^\n] ",line);
+  }
+
+  assign(listePoints.size()/3,3);
+  cimg_forX(*this,l) { // We add the points coordinates to the calling object
+    (*this)(l,0) = (T)(listePoints.at(l*3));
+    (*this)(l,1) = (T)(listePoints.at(l*3 + 1));
+    (*this)(l,2) = (T)(listePoints.at(l*3 + 2));
+  }
+
+  if (!file)
+    cimg::fclose(nfile);
+
+  return *this;
+}
+
+//! Save VRML files.
+template<typename tf, typename tc>
+const CImg<T>& save_vrml(const char *const filename,const CImgList<tf>& primitives,
+                         const CImgList<tc>& colors, const char *const texturefile = 0) const {
+  return _save_vrml(0,filename,primitives,colors,texturefile);
+}
+
+//! Save VRML files.
+template<typename tf, typename tc>
+const CImg<T>& save_vrml(std::FILE *const file,const CImgList<tf>& primitives,
+                         const CImgList<tc>& colors, const char *const texturefile = 0) const {
+  return _save_vrml(file,0,primitives,colors,texturefile);
+}
+
+// Save VRML files (internal).
+template<typename tf, typename tc>
+const CImg<T>& _save_vrml(std::FILE *const file, const char *const filename, const CImgList<tf>& primitives,
+                          const CImgList<tc>& colors, const char *const texturefile) const {
+
+  // Check that the user furnished a file to save the object and that the object is not empty.
+  if (!file && !filename)
+    throw CImgArgumentException(_cimg_instance
+                                "save_vrml() : Specified filename is (null).",
+                                cimg_instance);
+  if (is_empty())
+    throw CImgInstanceException(_cimg_instance
+                                "save_vrml() : Empty instance, for file '%s'.",
+                                cimg_instance,filename?filename:"(FILE*)");
+
+  // Check that the object we want to save is a 3D object.
+  CImgList<T> opacities;
+  char error_message[1024] = {0};
+  if (!is_object3d(primitives,colors,opacities,true,error_message))
+    throw CImgInstanceException(_cimg_instance
+                                "save_vrml() : Invalid specified 3d object, for file '%s' (%s).",
+                                cimg_instance,filename?filename:"(FILE*)",error_message);
+  const CImg<tc> default_color(1,3,1,1,200);
+
+  // We open the file in which we will save the 3D object.
+  std::FILE * nfile;
+  if(file) nfile = file;
+  else nfile = cimg::fopen(filename,"w");
+
+  // We use the version 2.0 of VRML to represent the object in UTF8
+  std::fprintf(nfile,"#VRML V2.0 utf8\n");
+
+  // We copy the coordinates of all the points
+  std::fprintf(nfile,"Shape {\n\tgeometry IndexedFaceSet {\n\t\tcoord Coordinate {\n\t\t\tpoint [\n");
+  cimg_forX(*this,i)
+    std::fprintf(nfile,"\t\t\t\t%f %f %f,\n",(float)((*this)(i,0)),(float)((*this)(i,1)),(float)((*this)(i,2)));
+  std::fprintf(nfile,"\t\t\t]\n\t\t}\n\t\tcoordIndex [\n");
+  bool sameColor = true;
+
+  float r = colors[0][0]/255.0f;
+  float g = colors[0][1]/255.0f;
+  float b = colors[0][2]/255.0f;
+
+  std::vector<std::string> listColor;
+  std::string listColorPerFace("");
+  for(int i=0;i<(int)colors.size();++i) {// Test if the object is composed of only one color
+    float valR = (colors[i][0])/255.0f;
+    float valG = (colors[i][1])/255.0f;
+    float valB = (colors[i][2])/255.0f;
+
+    if (r!=valR || g!=valG || b!=valB) { // If the object has different colors
+      sameColor = false;
+      i = colors.size();
+    }
+  }
+
+  cimglist_for(primitives,l) { // For each primitive
+    const CImg<tc>& color = l<colors.width()?colors[l]:default_color;
+    const unsigned int psiz = primitives[l].size(), csiz = color.size();
+    float r = color[0]/255.0f;
+    float g, b;
+    if (csiz > 1) g = color[1]/255.0f;
+    else g = r/255.0f;
+    if (csiz > 2) b = color[2]/255.0f;
+    else b = g/255.0f;
+
+    switch (psiz) {
+    case 1 :
+      std::fprintf(nfile,"\t\t\t%u,-1\n",(unsigned int)primitives(l,0));
+      break;
+    case 2 :
+      std::fprintf(nfile,"\t\t\t%u,%u,-1\n",(unsigned int)primitives(l,0),(unsigned int)primitives(l,1));
+      break;
+    case 3 :
+      std::fprintf(nfile,"\t\t\t%u,%u,%u,-1\n",(unsigned int)primitives(l,0),(unsigned int)primitives(l,2),
+                   (unsigned int)primitives(l,1));
+      break;
+    case 4 :
+      std::fprintf(nfile,"\t\t\t%u,%u,%u,%u,-1\n",(unsigned int)primitives(l,0),(unsigned int)primitives(l,3),
+                   (unsigned int)primitives(l,2),(unsigned int)primitives(l,1));
+      break;
+    case 6 : {
+      const unsigned int xt = (unsigned int)primitives(l,2), yt = (unsigned int)primitives(l,3);
+      r = color.atXY(xt,yt,0)/255.0f;
+      g = (csiz>1?color.atXY(xt,yt,1):r)/255.0f;
+      b = (csiz>2?color.atXY(xt,yt,2):g)/255.0f;
+      std::fprintf(nfile,"\t\t\t%u,%u,-1\n",(unsigned int)primitives(l,0),(unsigned int)primitives(l,1));
+    } break;
+    case 9 : {
+      const unsigned int xt = (unsigned int)primitives(l,3), yt = (unsigned int)primitives(l,4);
+      r = color.atXY(xt,yt,0)/255.0f;
+      g = (csiz>1?color.atXY(xt,yt,1):r)/255.0f;
+      b = (csiz>2?color.atXY(xt,yt,2):g)/255.0f;
+      std::fprintf(nfile,"\t\t\t%u,%u,%u,-1\n",(unsigned int)primitives(l,0),(unsigned int)primitives(l,2),
+                   (unsigned int)primitives(l,1));
+    } break;
+    case 12 : {
+      const unsigned int xt = (unsigned int)primitives(l,4), yt = (unsigned int)primitives(l,5);
+      r = color.atXY(xt,yt,0)/255.0f;
+      g = (csiz>1?color.atXY(xt,yt,1):r)/255.0f;
+      b = (csiz>2?color.atXY(xt,yt,2):g)/255.0f;
+      std::fprintf(nfile,"\t\t\t%u,%u,%u,%u,-1\n",(unsigned int)primitives(l,0),(unsigned int)primitives(l,3),
+                   (unsigned int)primitives(l,2),(unsigned int)primitives(l,1));
+    } break;
+    }
+    if (!sameColor) { // If there are different colors we store on every loop the RGB values into the vector listColor
+      std::ostringstream oss;
+      oss << r << " " << g << " " << b << "\n";
+      if (listColor.size() == 0) {
+        listColor.push_back(oss.str());
+        listColorPerFace += "0"; // We store the indice of the color
+      }
+      else {
+        std::vector<std::string>::iterator it;
+        it = find (listColor.begin(), listColor.end(), oss.str());
+        std::ostringstream oss2;
+        if(it==listColor.end()) {
+          oss2 << " " << listColor.size();
+          listColorPerFace += oss2.str();
+          listColor.push_back(oss.str());
+        }
+        else {
+          int n = 0;
+          for (std::vector<std::string>::iterator iter = listColor.begin(); iter != it; iter++) ++n;
+          oss2 << " " << n;
+          listColorPerFace += oss2.str();
+        }
+      }
+    }
+  }
+  std::fprintf(nfile,"\t\t]\n");
+
+  if (texturefile) // If we have a texture instead of a color
+    std::fprintf(nfile,"\n\t}\n\tappearance DEF theTexture Appearance "
+                 "{\n\t\ttexture ImageTexture {\n\t\t\turl [\"%s\"]\n\t\t}\n\t}\n}",
+                 texturefile);
+  else {
+    if(!sameColor) { // If there are different colors we add all of them
+      std::fprintf(nfile,"\tcolorPerVertex FALSE\n\tcolor Color {\n\t\tcolor [\n");
+      while(!listColor.empty()) {
+        std::fprintf(nfile,"\t\t\t%s",(listColor.back()).c_str());
+        listColor.pop_back();
+      }
+      std::fprintf(nfile,"\t\t]\n\t}\n\tcolorIndex [\n\t\t");
+      std::fprintf(nfile,"%s",listColorPerFace.c_str());
+      std::fprintf(nfile,"\n\t]\n\t}\n}");
+    }
+    else { // If there is only one color we add it with the Material node
+      std::fprintf(nfile,"\t}\n\tappearance Appearance "
+                   "{\n\t\tmaterial Material {\n\t\t\tdiffuseColor %f,%f,%f\n\t\t}\n\t}\n}",
+                   colors[0][0]/255.0f,colors[0][1]/255.0f,colors[0][2]/255.0f);
+    }
+  }
+  if (!file) cimg::fclose(nfile);
+  return *this;
+}
+
+#endif /* cimg_plugin_vrml */
diff --git a/plugins/vtk.h b/plugins/vtk.h
new file mode 100644
index 0000000..032b73f
--- /dev/null
+++ b/plugins/vtk.h
@@ -0,0 +1,103 @@
+/*
+ #
+ #  File        : vtk.h
+ #                ( C++ header file - CImg plug-in )
+ #
+ #  Description : CImg plugin that implements a way to save 3d scene as TK legacy file format.
+ #                This file is a part of the CImg Library project.
+ #                ( http://cimg.eu )
+ #
+ #  Copyright   : Haz-Edine Assemlal
+ #                ( http://www.cim.mcgill.ca/~assemlal/ )
+ #
+ #  License     : CeCILL v2.0
+ #                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+ #
+ #  This software is governed by the CeCILL  license under French law and
+ #  abiding by the rules of distribution of free software.  You can  use,
+ #  modify and/ or redistribute the software under the terms of the CeCILL
+ #  license as circulated by CEA, CNRS and INRIA at the following URL
+ #  "http://www.cecill.info".
+ #
+ #  As a counterpart to the access to the source code and  rights to copy,
+ #  modify and redistribute granted by the license, users are provided only
+ #  with a limited warranty  and the software's author,  the holder of the
+ #  economic rights,  and the successive licensors  have only  limited
+ #  liability.
+ #
+ #  In this respect, the user's attention is drawn to the risks associated
+ #  with loading,  using,  modifying and/or developing or reproducing the
+ #  software by the user in light of its specific status of free software,
+ #  that may mean  that it is complicated to manipulate,  and  that  also
+ #  therefore means  that it is reserved for developers  and  experienced
+ #  professionals having in-depth computer knowledge. Users are therefore
+ #  encouraged to load and test the software's suitability as regards their
+ #  requirements in conditions enabling the security of their systems and/or
+ #  data to be ensured and,  more generally, to use and operate it in the
+ #  same conditions as regards security.
+ #
+ #  The fact that you are presently reading this means that you have had
+ #  knowledge of the CeCILL license and that you accept its terms.
+ #
+*/
+
+#ifndef cimg_plugin_vtk
+#define cimg_plugin_vtk
+
+// Save 3D scene in legacy VTK format
+/* *this: CImgList of points
+ * faces: CImgList of faces
+ * colors: CImgList of colors,
+ * opacities: CImgList of opacities
+ */
+template<typename tf, typename tc, typename to>
+  CImgList<T>& save_vtk(const char* const filename,
+                        const CImgList<tf>& faces,
+                        const CImgList<tc>& colors,
+                        const CImgList<to<& opacities) {
+  // Open file
+  std::FILE *const nfile = cimg::fopen(filename,"w");
+
+  // Header
+  std::fprintf(nfile,"# vtk DataFile Version 3.0\n");
+  std::fprintf(nfile,"%s\n",filename);
+  std::fprintf(nfile,"ASCII\n");
+  std::fprintf(nfile,"DATASET UNSTRUCTURED_GRID\n");
+
+  // Points
+  std::fprintf(nfile,"POINTS %u float\n",points.size());
+  cimglist_for(points,p)
+    std::fprintf(nfile,"%f %f %f\n",points[p](0),points[p](1),points[p](2));
+  std::fprintf(nfile,"\n");
+
+  // Faces (valid only for triangles - type 5)
+  if (faces) {
+    std::fprintf(nfile,"CELLS %u %u\n",faces.size(),faces.size()*4);
+    cimglist_for(faces,f)
+      std::fprintf(nfile,"%d %u %u %u\n",3,faces[f](0),faces[f](1),faces[f](2));
+    std::fprintf(nfile,"CELL_TYPES %u\n",faces.size());
+    cimglist_for(faces,f)
+      std::fprintf(nfile,"%d\n",5);
+    std::fprintf(nfile,"\n");
+  }
+
+  // Colors and Opacities
+  std::fprintf(nfile,"CELL_DATA %d\n",colors.size());
+  std::fprintf(nfile,"COLOR_SCALARS colors 4\n");
+
+  const tc tcmax = cimg::type<tc>::max();
+  cimglist_for(colors,t)
+    std::fprintf(nfile,"%f %f %f %f\n",
+                 (float)colors[t](0)/tcmax,
+                 (float)colors[t](1)/tcmax,
+                 (float)colors[t](2)/tcmax,
+                 opacities[t](0));
+  std::fprintf(nfile,"\n");
+
+  // Close file
+  cimg::fclose(nfile);
+
+  return *this;
+}
+
+#endif /* cimg_plugin_vtk */
diff --git a/resources/CImg.pc b/resources/CImg.pc
new file mode 100644
index 0000000..5c55cbd
--- /dev/null
+++ b/resources/CImg.pc
@@ -0,0 +1,8 @@
+prefix=/usr
+exec_prefix=/usr
+includedir=/usr/include/CImg
+
+Name: CImg
+Description: C++ Template Image Processing Toolkit
+Version: 1.5.0
+Cflags: -I${includedir}
diff --git a/resources/cimg_buildpackage b/resources/cimg_buildpackage
new file mode 100755
index 0000000..fe0c0b4
--- /dev/null
+++ b/resources/cimg_buildpackage
@@ -0,0 +1,159 @@
+#!/bin/bash
+#
+#  File        : cimg_buildpackage
+#                ( Bash script )
+#
+#  Description : Build .zip package file of the CImg Library, from the current CImg/
+#                directory. Must be run from ../CImg
+#                This file is a part of the CImg Library project.
+#                ( http://gmic.eu/CImg )
+#
+#  Usage       : ./cimg_buildpackage [final]
+#
+#  Copyright   : David Tschumperle
+#                ( http://tschumperle.users.greyc.fr/ )
+#
+#  License     : CeCILL v2.0
+#                ( http://www.cecill.info/licences/Licence_CeCILL_V2-en.html )
+#
+#  This software is governed by the CeCILL  license under French law and
+#  abiding by the rules of distribution of free software.  You can  use,
+#  modify and/ or redistribute the software under the terms of the CeCILL
+#  license as circulated by CEA, CNRS and INRIA at the following URL
+#  "http://www.cecill.info".
+#
+#  As a counterpart to the access to the source code and  rights to copy,
+#  modify and redistribute granted by the license, users are provided only
+#  with a limited warranty  and the software's author,  the holder of the
+#  economic rights,  and the successive licensors  have only  limited
+#  liability.
+#
+#  In this respect, the user's attention is drawn to the risks associated
+#  with loading,  using,  modifying and/or developing or reproducing the
+#  software by the user in light of its specific status of free software,
+#  that may mean  that it is complicated to manipulate,  and  that  also
+#  therefore means  that it is reserved for developers  and  experienced
+#  professionals having in-depth computer knowledge. Users are therefore
+#  encouraged to load and test the software's suitability as regards their
+#  requirements in conditions enabling the security of their systems and/or
+#  data to be ensured and,  more generally, to use and operate it in the
+#  same conditions as regards security.
+#
+#  The fact that you are presently reading this means that you have had
+#  knowledge of the CeCILL license and that you accept its terms.
+#
+
+# Define release number.
+RELEASE0=`grep "#define cimg_version" CImg/CImg.h | tail -c 4`
+RELEASE1=`echo $RELEASE0 | head -c 1`
+RELEASE2=`echo $RELEASE0 | head -c 2 | tail -c 1`
+RELEASE3=`echo $RELEASE0 | head -c 3 | tail -c 1`
+RELEASE=$RELEASE1.$RELEASE2.$RELEASE3
+
+# Read command line options.
+if [ "$1" == "final" ]; then SUFFIX=""; SSUFFIX=""; else SUFFIX=_pre`date +%m%d%y`; SSUFFIX=_pre; fi
+
+# Define the different paths and filenames used in this script.
+BASE_DIR=`pwd`
+SRC_DIR=${BASE_DIR}/CImg
+DEST_DIR=/tmp/CImg-${RELEASE}${SUFFIX}
+ZIP_FILE=CImg_${RELEASE}${SSUFFIX}.zip
+LOG_FILE=${BASE_DIR}/LOG_`basename $ZIP_FILE .zip`.txt
+rm -rf $LOG_FILE
+
+echo
+echo " - Release number : $RELEASE$SUFFIX"
+echo " - Base directory : $BASE_DIR/"
+echo " - Source directory : $SRC_DIR/"
+echo " - Build directory : $DEST_DIR/"
+echo " - ZIP package filename : $ZIP_FILE"
+echo " - LOG file : $LOG_FILE"
+
+# Create clean archive structure.
+echo " - Create package structure."
+rm -rf $DEST_DIR
+mkdir $DEST_DIR
+cd $SRC_DIR
+cp -f CImg.h Licence_CeCILL-C_V1-en.txt Licence_CeCILL_V2-en.txt $DEST_DIR
+sed s\/_cimg_version\/$RELEASE$SUFFIX\/ README.txt > $DEST_DIR/README.txt
+
+mkdir $DEST_DIR/examples
+cd $SRC_DIR/examples
+cp -f *.cpp *.m CMakeLists.txt $DEST_DIR/examples/
+sed s\/_cimg_version\/$RELEASE$SUFFIX\/ Makefile > $DEST_DIR/examples/Makefile
+mkdir $DEST_DIR/examples/img
+cd $SRC_DIR/examples/img
+cp -f *.pgm *.ppm *.bmp *.h $DEST_DIR/examples/img/
+
+mkdir $DEST_DIR/plugins
+cd $SRC_DIR/plugins
+cp -f *.h $DEST_DIR/plugins/
+
+mkdir $DEST_DIR/resources
+cd $SRC_DIR/resources
+cp -rf *.bat $DEST_DIR/resources/
+
+cd $DEST_DIR
+for i in CImg.h examples/*.cpp; do
+  sed -e 's/ *$//' $i >/tmp/cimg_buildpackage$$ && mv /tmp/cimg_buildpackage$$ $i
+done
+for i in `find . -name "\#*"`; do rm -rf $i; done
+for i in `find . -name "*~"`; do rm -rf $i; done
+for i in `find . -name "core*"`; do rm -rf $i; done
+for i in `find . -name "CVS"`; do rm -rf $i; done
+for i in `find . -name ".git"`; do rm -rf $i; done
+for i in `find . -name "*.plg"`; do rm -rf $i; done
+for i in `find . -name "*.ncb"`; do rm -rf $i; done
+for i in `find . -name "*.layout"`; do rm -rf $i; done
+for i in `find . -name "*.win"`; do rm -rf $i; done
+for i in `find . -name "Debug"`; do rm -rf $i; done
+for i in `find . -name "Release"`; do rm -rf $i; done
+for i in `find . -name "*.h"`; do col -x <$i >tmp; mv tmp $i; done
+for i in `find . -name "*.cpp"`; do col -x <$i >tmp; mv tmp $i; done
+for i in `find . ! -type d`; do chmod a-x $i; done
+for i in `find . -name "*.sh"`; do chmod a+x $i; done
+for i in `find . -name "rules"`; do chmod a+x $i; done
+
+# Generate Documentation with doxygen
+echo " - Generate reference documentation using Doxygen."
+cd $SRC_DIR/html
+echo -e "\n** Log generated by 'doxygen' **\n\n">>$LOG_FILE
+doxygen CImg.doxygen>>$LOG_FILE 2>&1
+
+echo " - Build reference documentation in PDF format."
+cd $SRC_DIR/html/latex
+echo -e "\n** Log generated by 'latex' **\n\n">>$LOG_FILE
+make>>$LOG_FILE 2>&1
+cp -f refman.pdf ../CImg_reference.pdf
+rm -rf ../latex
+
+# Commit changes on GIT repository
+echo " - Commit on GIT repository."
+cd $SRC_DIR
+git commit -m "Auto-commit for release "${RELEASE}${SUFFIX} >>$LOG_FILE 2>&1
+git push
+
+# Create ZIP archive
+echo " - Build ZIP archive file '$ZIP_FILE'."
+cd $DEST_DIR/..
+rm -f $ZIP_FILE
+echo -e "\n** Log generated by 'zip' **\n\n">>$LOG_FILE
+zip -r -9 $ZIP_FILE `basename $DEST_DIR`>>$LOG_FILE 2>&1
+
+# Clean temporary files and directories
+echo " - Clean temporary files and directories."
+cd $DEST_DIR/..
+mv $ZIP_FILE $BASE_DIR
+
+# Copy files to CImg server.
+cd $BASE_DIR
+if [ "$1" == "final" ]; then
+    lftp ftp://$GMIC_LOGIN:$GMIC_PASSWD@ftp.gmic.eu -e "put -O /www/CImg/files/ ${ZIP_FILE}; quit";
+fi
+lftp ftp://$GMIC_LOGIN:$GMIC_PASSWD@ftp.gmic.eu -e "put -O /www/CImg/files/ ${ZIP_FILE} -o CImg_latest.zip; quit"
+
+cd $SRC_DIR/html/
+lftp ftp://$GMIC_LOGIN:$GMIC_PASSWD@ftp.gmic.eu -e "mirror -RL . /www/CImg/ ; quit"
+
+# End of build script
+echo -e " - All done, you should look at the LOG file '$LOG_FILE'.\n"
diff --git a/resources/compile_win_icl.bat b/resources/compile_win_icl.bat
new file mode 100644
index 0000000..37f5083
--- /dev/null
+++ b/resources/compile_win_icl.bat
@@ -0,0 +1,15 @@
+REM ----------------------------------------------------------------
+REM
+REM Script to compile CImg examples, using Intel ICL C++ Compiler.
+REM
+REM Copy this script into 'CImg/examples/' and run it to compile
+REM all examples.
+REM
+REM ----------------------------------------------------------------
+
+CD ..\examples\
+SET CPPFILE=CImg_demo captcha curve_editor2d dtmri_view3d edge_explorer2d fade_images gaussian_fit1d generate_loop_macros hough_transform2d image2ascii image_registration2d image_surface3d jawbreaker mcf_levelsets2d mcf_levelsets3d odykill pde_heatflow2d pde_TschumperleDeriche2d plotter1d radon_transform2d scene3d spherical_function3d tetris tron tutorial wavelet_atrous use_chlpca use_draw_gradient use_nlmeans use_patchmatch use_RGBclass use_skeleton
+
+FOR %%F IN (%CPPFILE%) DO (
+  icl /I.. /GX /Ox %%F.cpp gdi32.lib user32.lib
+)
diff --git a/resources/compile_win_visualcpp.bat b/resources/compile_win_visualcpp.bat
new file mode 100644
index 0000000..722c754
--- /dev/null
+++ b/resources/compile_win_visualcpp.bat
@@ -0,0 +1,15 @@
+REM ----------------------------------------------------------------
+REM
+REM Script to compile CImg examples, using Microsoft Visual C++.
+REM
+REM Copy this script into 'CImg/examples/' and run it to compile
+REM all examples.
+REM
+REM ----------------------------------------------------------------
+
+CD ..\examples\
+SET CPPFILE=CImg_demo captcha curve_editor2d dtmri_view3d edge_explorer2d fade_images gaussian_fit1d generate_loop_macros hough_transform2d image2ascii image_registration2d image_surface3d jawbreaker mcf_levelsets2d mcf_levelsets3d odykill pde_heatflow2d pde_TschumperleDeriche2d plotter1d radon_transform2d scene3d spherical_function3d tetris tron tutorial wavelet_atrous use_chlpca use_draw_gradient use_nlmeans use_patchmatch use_RGBclass use_skeleton
+FOR %%F IN (%CPPFILE%) DO (
+  cl /W4 /Ox /Ob2 /Oi /Ot /c /EHsc /I"%SDKPATH%\Include" /I"..\\" %%F.cpp
+  link /LIBPATH:"%SDKPATH%\Lib" %%F.obj user32.lib gdi32.lib shell32.lib
+)
diff --git a/resources/debian/changelog b/resources/debian/changelog
new file mode 100644
index 0000000..f52bb47
--- /dev/null
+++ b/resources/debian/changelog
@@ -0,0 +1,5 @@
+cimg (_cimg_version) unstable; urgency=low
+
+  * Initial release
+
+ -- David Tschumperl� <David.Tschumperle at greyc.ensicaen.fr>  Fri, 07 Jul 2010 12:04:00 +0200
diff --git a/resources/debian/cimg-dev.dirs b/resources/debian/cimg-dev.dirs
new file mode 100644
index 0000000..38bfa8e
--- /dev/null
+++ b/resources/debian/cimg-dev.dirs
@@ -0,0 +1,3 @@
+usr/include/CImg
+usr/include
+usr/share/CImg
diff --git a/resources/debian/cimg-dev.install b/resources/debian/cimg-dev.install
new file mode 100644
index 0000000..aceb7ba
--- /dev/null
+++ b/resources/debian/cimg-dev.install
@@ -0,0 +1,3 @@
+CImg.h resources html examples plugins CHANGES.txt README.txt usr/share/CImg
+CImg.h plugins usr/include/CImg
+README.txt usr/share/doc/cimg-dev
diff --git a/resources/debian/cimg-dev.links b/resources/debian/cimg-dev.links
new file mode 100644
index 0000000..1c675ab
--- /dev/null
+++ b/resources/debian/cimg-dev.links
@@ -0,0 +1,3 @@
+usr/include/CImg/CImg.h usr/include/CImg.h
+usr/share/CImg/html usr/share/doc/cimg-dev/html
+
diff --git a/resources/debian/compat b/resources/debian/compat
new file mode 100644
index 0000000..7ed6ff8
--- /dev/null
+++ b/resources/debian/compat
@@ -0,0 +1 @@
+5
diff --git a/resources/debian/control b/resources/debian/control
new file mode 100644
index 0000000..f4d3a8b
--- /dev/null
+++ b/resources/debian/control
@@ -0,0 +1,22 @@
+Source: cimg
+Section: math
+Priority: optional
+Maintainer: Sam Hocevar (Debian packages) <sam+deb at zoy.org>
+Uploaders: Christophe Prud'homme <prudhomm at debian.org>, Fran�ois-Xavier Dup� <Francois-Xavier.Dupe at greyc.ensicaen.fr>
+Build-Depends-Indep: libx11-dev
+Build-Depends: debhelper (>= 5.0)
+Standards-Version: 3.8.4
+
+Package: cimg-dev
+Depends: make | build-essential, libx11-dev, libxrandr-dev, imagemagick | graphicsmagick
+Suggests: xmedcon, lapack3-dev, libmagick++9-dev, fftw3-dev
+Architecture: all
+Description: C++ Template Image Processing Library
+ The CImg Library is an open-source C++ toolkit for image processing.
+ It consists in a single header file 'CImg.h' providing a minimal set of C++
+ classes and methods that can be used in your own sources, to load/save,
+ process and display images. Very portable (Unix/X11,Windows, MacOS X, FreeBSD, .. ),
+ efficient, easy to use, it's a pleasant library for developping image processing
+ algorithms in C++.
+ .
+ http://cimg.eu
diff --git a/resources/debian/copyright b/resources/debian/copyright
new file mode 100644
index 0000000..cf54e15
--- /dev/null
+++ b/resources/debian/copyright
@@ -0,0 +1,1035 @@
+This package was debianized by Fran�ois-Xavier Dup� <fdupe at greyc.ensicaen.fr> on
+Tue, 18 Apr 2007.
+
+It was downloaded from http://cimg.eu/
+
+Upstream Author: David Tschumperl� <http://www.greyc.ensicaen.fr/~dtschump/>
+
+Copyright (c) David Tschumperl�
+
+The CImg Library is distributed under two distinct licenses : the library core itself is governed by
+the CeCILL-C License (LGPL-like), while all other files of the package are distributed under the CeCILL
+License (GPL-compatible). Both are open source licenses, the CeCILL-C being less restrictive than the
+CeCILL one.
+The CImg Library source code has been registered to the APP (French Agency for the Protection of Programs)
+by the INRIA, under registration number IDDN.FR.001.040004.000.S.P.2004.000.21000.
+
+For more information GPL and LGPL can be found in the repertory
+can be found in the file `/usr/share/common-licenses' on Debian systems.
+
+CeCill License:
+
+               CeCILL FREE SOFTWARE LICENSE AGREEMENT
+
+
+    Notice
+
+This Agreement is a Free Software license agreement that is the result
+of discussions between its authors in order to ensure compliance with
+the two main principles guiding its drafting:
+
+    * firstly, compliance with the principles governing the distribution
+      of Free Software: access to source code, broad rights granted to
+      users,
+    * secondly, the election of a governing law, French law, with which
+      it is conformant, both as regards the law of torts and
+      intellectual property law, and the protection that it offers to
+      both authors and holders of the economic rights over software.
+
+The authors of the CeCILL (for Ce[a] C[nrs] I[nria] L[logiciel] L[ibre])
+license are:
+
+Commissariat � l'Energie Atomique - CEA, a public scientific, technical
+and industrial research establishment, having its principal place of
+business at 25 rue Leblanc, immeuble Le Ponant D, 75015 Paris, France.
+
+Centre National de la Recherche Scientifique - CNRS, a public scientific
+and technological research establishment, having its principal place of
+business at 3 rue Michel-Ange, 75794 Paris cedex 16, France.
+
+Institut National de Recherche en Informatique et en Automatique -
+INRIA, a public scientific and technological establishment, having its
+principal place of business at Domaine de Voluceau, Rocquencourt, BP
+105, 78153 Le Chesnay cedex, France.
+
+
+    Preamble
+
+The purpose of this Free Software license agreement is to grant users
+the right to modify and redistribute the software governed by this
+license within the framework of an open source distribution model.
+
+The exercising of these rights is conditional upon certain obligations
+for users so as to preserve this status for all subsequent redistributions.
+
+In consideration of access to the source code and the rights to copy,
+modify and redistribute granted by the license, users are provided only
+with a limited warranty and the software's author, the holder of the
+economic rights, and the successive licensors only have limited liability.
+
+In this respect, the risks associated with loading, using, modifying
+and/or developing or reproducing the software by the user are brought to
+the user's attention, given its Free Software status, which may make it
+complicated to use, with the result that its use is reserved for
+developers and experienced professionals having in-depth computer
+knowledge. Users are therefore encouraged to load and test the suitability
+of the software as regards their requirements in conditions enabling
+the security of their systems and/or data to be ensured and, more
+generally, to use and operate it in the same conditions of security.
+This Agreement may be freely reproduced and published, provided it is not
+altered, and that no provisions are either added or removed herefrom.
+
+This Agreement may apply to any or all software for which the holder of
+the economic rights decides to submit the use thereof to its provisions.
+
+
+    Article 1 - DEFINITIONS
+
+For the purpose of this Agreement, when the following expressions
+commence with a capital letter, they shall have the following meaning:
+
+Agreement: means this license agreement, and its possible subsequent
+versions and annexes.
+
+Software: means the software in its Object Code and/or Source Code form
+and, where applicable, its documentation, "as is" when the Licensee
+accepts the Agreement.
+
+Initial Software: means the Software in its Source Code and possibly its
+Object Code form and, where applicable, its documentation, "as is" when
+it is first distributed under the terms and conditions of the Agreement.
+
+Modified Software: means the Software modified by at least one
+Contribution.
+
+Source Code: means all the Software's instructions and program lines to
+which access is required so as to modify the Software.
+
+Object Code: means the binary files originating from the compilation of
+the Source Code.
+
+Holder: means the holder(s) of the economic rights over the Initial
+Software.
+
+Licensee: means the Software user(s) having accepted the Agreement.
+
+Contributor: means a Licensee having made at least one Contribution.
+
+Licensor: means the Holder, or any other individual or legal entity, who
+distributes the Software under the Agreement.
+
+Contribution: means any or all modifications, corrections, translations,
+adaptations and/or new functions integrated into the Software by any or
+all Contributors, as well as any or all Internal Modules.
+
+Module: means a set of sources files including their documentation that
+enables supplementary functions or services in addition to those offered
+by the Software.
+
+External Module: means any or all Modules, not derived from the
+Software, so that this Module and the Software run in separate address
+spaces, with one calling the other when they are run.
+
+Internal Module: means any or all Module, connected to the Software so
+that they both execute in the same address space.
+
+GNU GPL: means the GNU General Public License version 2 or any
+subsequent version, as published by the Free Software Foundation Inc.
+
+Parties: mean both the Licensee and the Licensor.
+
+These expressions may be used both in singular and plural form.
+
+
+    Article 2 - PURPOSE
+
+The purpose of the Agreement is the grant by the Licensor to the
+Licensee of a non-exclusive, transferable and worldwide license for the
+Software as set forth in Article 5 hereinafter for the whole term of the
+protection granted by the rights over said Software.
+
+
+    Article 3 - ACCEPTANCE
+
+3.1 The Licensee shall be deemed as having accepted the terms and
+conditions of this Agreement upon the occurrence of the first of the
+following events:
+
+    * (i) loading the Software by any or all means, notably, by
+      downloading from a remote server, or by loading from a physical
+      medium;
+    * (ii) the first time the Licensee exercises any of the rights
+      granted hereunder.
+
+3.2 One copy of the Agreement, containing a notice relating to the
+characteristics of the Software, to the limited warranty, and to the
+fact that its use is restricted to experienced users has been provided
+to the Licensee prior to its acceptance as set forth in Article 3.1
+hereinabove, and the Licensee hereby acknowledges that it has read and
+understood it.
+
+
+    Article 4 - EFFECTIVE DATE AND TERM
+
+
+      4.1 EFFECTIVE DATE
+
+The Agreement shall become effective on the date when it is accepted by
+the Licensee as set forth in Article 3.1.
+
+
+      4.2 TERM
+
+The Agreement shall remain in force for the entire legal term of
+protection of the economic rights over the Software.
+
+
+    Article 5 - SCOPE OF RIGHTS GRANTED
+
+The Licensor hereby grants to the Licensee, who accepts, the following
+rights over the Software for any or all use, and for the term of the
+Agreement, on the basis of the terms and conditions set forth hereinafter.
+
+Besides, if the Licensor owns or comes to own one or more patents
+protecting all or part of the functions of the Software or of its
+components, the Licensor undertakes not to enforce the rights granted by
+these patents against successive Licensees using, exploiting or
+modifying the Software. If these patents are transferred, the Licensor
+undertakes to have the transferees subscribe to the obligations set
+forth in this paragraph.
+
+
+      5.1 RIGHT OF USE
+
+The Licensee is authorized to use the Software, without any limitation
+as to its fields of application, with it being hereinafter specified
+that this comprises:
+
+   1. permanent or temporary reproduction of all or part of the Software
+      by any or all means and in any or all form.
+
+   2. loading, displaying, running, or storing the Software on any or
+      all medium.
+
+   3. entitlement to observe, study or test its operation so as to
+      determine the ideas and principles behind any or all constituent
+      elements of said Software. This shall apply when the Licensee
+      carries out any or all loading, displaying, running, transmission
+      or storage operation as regards the Software, that it is entitled
+      to carry out hereunder.
+
+
+      5.2 ENTITLEMENT TO MAKE CONTRIBUTIONS
+
+The right to make Contributions includes the right to translate, adapt,
+arrange, or make any or all modifications to the Software, and the right
+to reproduce the resulting software.
+
+The Licensee is authorized to make any or all Contributions to the
+Software provided that it includes an explicit notice that it is the
+author of said Contribution and indicates the date of the creation thereof.
+
+
+      5.3 RIGHT OF DISTRIBUTION
+
+In particular, the right of distribution includes the right to publish,
+transmit and communicate the Software to the general public on any or
+all medium, and by any or all means, and the right to market, either in
+consideration of a fee, or free of charge, one or more copies of the
+Software by any means.
+
+The Licensee is further authorized to distribute copies of the modified
+or unmodified Software to third parties according to the terms and
+conditions set forth hereinafter.
+
+
+        5.3.1 DISTRIBUTION OF SOFTWARE WITHOUT MODIFICATION
+
+The Licensee is authorized to distribute true copies of the Software in
+Source Code or Object Code form, provided that said distribution
+complies with all the provisions of the Agreement and is accompanied by:
+
+   1. a copy of the Agreement,
+
+   2. a notice relating to the limitation of both the Licensor's
+      warranty and liability as set forth in Articles 8 and 9,
+
+and that, in the event that only the Object Code of the Software is
+redistributed, the Licensee allows future Licensees unhindered access to
+the full Source Code of the Software by indicating how to access it, it
+being understood that the additional cost of acquiring the Source Code
+shall not exceed the cost of transferring the data.
+
+
+        5.3.2 DISTRIBUTION OF MODIFIED SOFTWARE
+
+When the Licensee makes a Contribution to the Software, the terms and
+conditions for the distribution of the resulting Modified Software
+become subject to all the provisions of this Agreement.
+
+The Licensee is authorized to distribute the Modified Software, in
+source code or object code form, provided that said distribution
+complies with all the provisions of the Agreement and is accompanied by:
+
+   1. a copy of the Agreement,
+
+   2. a notice relating to the limitation of both the Licensor's
+      warranty and liability as set forth in Articles 8 and 9,
+
+and that, in the event that only the Object Code of the Modified
+Software is redistributed, the Licensee allows future Licensees
+unhindered access to the full source code of the Modified Software by
+indicating how to access it, it being understood that the additional
+cost of acquiring the source code shall not exceed the cost of
+transferring the data.
+
+
+        5.3.3 DISTRIBUTION OF EXTERNAL MODULES
+
+When the Licensee has developed an External Module, the terms and
+conditions of this Agreement do not apply to said External Module, that
+may be distributed under a separate license agreement.
+
+
+        5.3.4 COMPATIBILITY WITH THE GNU GPL
+
+The Licensee can include a code that is subject to the provisions of one
+of the versions of the GNU GPL in the Modified or unmodified Software,
+and distribute that entire code under the terms of the same version of
+the GNU GPL.
+
+The Licensee can include the Modified or unmodified Software in a code
+that is subject to the provisions of one of the versions of the GNU GPL,
+and distribute that entire code under the terms of the same version of
+the GNU GPL.
+
+
+    Article 6 - INTELLECTUAL PROPERTY
+
+
+      6.1 OVER THE INITIAL SOFTWARE
+
+The Holder owns the economic rights over the Initial Software. Any or
+all use of the Initial Software is subject to compliance with the terms
+and conditions under which the Holder has elected to distribute its work
+and no one shall be entitled to modify the terms and conditions for the
+distribution of said Initial Software.
+
+The Holder undertakes that the Initial Software will remain ruled at
+least by the current license, for the duration set forth in Article 4.2.
+
+
+      6.2 OVER THE CONTRIBUTIONS
+
+A Licensee who develops a Contribution is the owner of the intellectual
+property rights over this Contribution as defined by applicable law.
+
+
+      6.3 OVER THE EXTERNAL MODULES
+
+A Licensee who develops an External Module is the owner of the
+intellectual property rights over this External Module as defined by
+applicable law and is free to choose the type of agreement that shall
+govern its distribution.
+
+
+      6.4 JOINT PROVISIONS
+
+The Licensee expressly undertakes:
+
+   1. not to remove, or modify, in any manner, the intellectual property
+      notices attached to the Software;
+
+   2. to reproduce said notices, in an identical manner, in the copies
+      of the Software modified or not.
+
+The Licensee undertakes not to directly or indirectly infringe the
+intellectual property rights of the Holder and/or Contributors on the
+Software and to take, where applicable, vis-�-vis its staff, any and all
+measures required to ensure respect of said intellectual property rights
+of the Holder and/or Contributors.
+
+
+    Article 7 - RELATED SERVICES
+
+7.1 Under no circumstances shall the Agreement oblige the Licensor to
+provide technical assistance or maintenance services for the Software.
+
+However, the Licensor is entitled to offer this type of services. The
+terms and conditions of such technical assistance, and/or such
+maintenance, shall be set forth in a separate instrument. Only the
+Licensor offering said maintenance and/or technical assistance services
+shall incur liability therefor.
+
+7.2 Similarly, any Licensor is entitled to offer to its licensees, under
+its sole responsibility, a warranty, that shall only be binding upon
+itself, for the redistribution of the Software and/or the Modified
+Software, under terms and conditions that it is free to decide. Said
+warranty, and the financial terms and conditions of its application,
+shall be subject of a separate instrument executed between the Licensor
+and the Licensee.
+
+
+    Article 8 - LIABILITY
+
+8.1 Subject to the provisions of Article 8.2, the Licensee shall be
+entitled to claim compensation for any direct loss it may have suffered
+from the Software as a result of a fault on the part of the relevant
+Licensor, subject to providing evidence thereof.
+
+8.2 The Licensor's liability is limited to the commitments made under
+this Agreement and shall not be incurred as a result of in particular:
+(i) loss due the Licensee's total or partial failure to fulfill its
+obligations, (ii) direct or consequential loss that is suffered by the
+Licensee due to the use or performance of the Software, and (iii) more
+generally, any consequential loss. In particular the Parties expressly
+agree that any or all pecuniary or business loss (i.e. loss of data,
+loss of profits, operating loss, loss of customers or orders,
+opportunity cost, any disturbance to business activities) or any or all
+legal proceedings instituted against the Licensee by a third party,
+shall constitute consequential loss and shall not provide entitlement to
+any or all compensation from the Licensor.
+
+
+    Article 9 - WARRANTY
+
+9.1 The Licensee acknowledges that the scientific and technical
+state-of-the-art when the Software was distributed did not enable all
+possible uses to be tested and verified, nor for the presence of
+possible defects to be detected. In this respect, the Licensee's
+attention has been drawn to the risks associated with loading, using,
+modifying and/or developing and reproducing the Software which are
+reserved for experienced users.
+
+The Licensee shall be responsible for verifying, by any or all means,
+the suitability of the product for its requirements, its good working order,
+and for ensuring that it shall not cause damage to either persons or
+properties.
+
+9.2 The Licensor hereby represents, in good faith, that it is entitled
+to grant all the rights over the Software (including in particular the
+rights set forth in Article 5).
+
+9.3 The Licensee acknowledges that the Software is supplied "as is" by
+the Licensor without any other express or tacit warranty, other than
+that provided for in Article 9.2 and, in particular, without any warranty
+as to its commercial value, its secured, safe, innovative or relevant
+nature.
+
+Specifically, the Licensor does not warrant that the Software is free
+from any error, that it will operate without interruption, that it will
+be compatible with the Licensee's own equipment and software
+configuration, nor that it will meet the Licensee's requirements.
+
+9.4 The Licensor does not either expressly or tacitly warrant that the
+Software does not infringe any third party intellectual property right
+relating to a patent, software or any other property right. Therefore,
+the Licensor disclaims any and all liability towards the Licensee
+arising out of any or all proceedings for infringement that may be
+instituted in respect of the use, modification and redistribution of the
+Software. Nevertheless, should such proceedings be instituted against
+the Licensee, the Licensor shall provide it with technical and legal
+assistance for its defense. Such technical and legal assistance shall be
+decided on a case-by-case basis between the relevant Licensor and the
+Licensee pursuant to a memorandum of understanding. The Licensor
+disclaims any and all liability as regards the Licensee's use of the
+name of the Software. No warranty is given as regards the existence of
+prior rights over the name of the Software or as regards the existence
+of a trademark.
+
+
+    Article 10 - TERMINATION
+
+10.1 In the event of a breach by the Licensee of its obligations
+hereunder, the Licensor may automatically terminate this Agreement
+thirty (30) days after notice has been sent to the Licensee and has
+remained ineffective.
+
+10.2 A Licensee whose Agreement is terminated shall no longer be
+authorized to use, modify or distribute the Software. However, any
+licenses that it may have granted prior to termination of the Agreement
+shall remain valid subject to their having been granted in compliance
+with the terms and conditions hereof.
+
+
+    Article 11 - MISCELLANEOUS
+
+
+      11.1 EXCUSABLE EVENTS
+
+Neither Party shall be liable for any or all delay, or failure to
+perform the Agreement, that may be attributable to an event of force
+majeure, an act of God or an outside cause, such as defective
+functioning or interruptions of the electricity or telecommunications
+networks, network paralysis following a virus attack, intervention by
+government authorities, natural disasters, water damage, earthquakes,
+fire, explosions, strikes and labor unrest, war, etc.
+
+11.2 Any failure by either Party, on one or more occasions, to invoke
+one or more of the provisions hereof, shall under no circumstances be
+interpreted as being a waiver by the interested Party of its right to
+invoke said provision(s) subsequently.
+
+11.3 The Agreement cancels and replaces any or all previous agreements,
+whether written or oral, between the Parties and having the same
+purpose, and constitutes the entirety of the agreement between said
+Parties concerning said purpose. No supplement or modification to the
+terms and conditions hereof shall be effective as between the Parties
+unless it is made in writing and signed by their duly authorized
+representatives.
+
+11.4 In the event that one or more of the provisions hereof were to
+conflict with a current or future applicable act or legislative text,
+said act or legislative text shall prevail, and the Parties shall make
+the necessary amendments so as to comply with said act or legislative
+text. All other provisions shall remain effective. Similarly, invalidity
+of a provision of the Agreement, for any reason whatsoever, shall not
+cause the Agreement as a whole to be invalid.
+
+
+      11.5 LANGUAGE
+
+The Agreement is drafted in both French and English and both versions
+are deemed authentic.
+
+
+    Article 12 - NEW VERSIONS OF THE AGREEMENT
+
+12.1 Any person is authorized to duplicate and distribute copies of this
+Agreement.
+
+12.2 So as to ensure coherence, the wording of this Agreement is
+protected and may only be modified by the authors of the License, who
+reserve the right to periodically publish updates or new versions of the
+Agreement, each with a separate number. These subsequent versions may
+address new issues encountered by Free Software.
+
+12.3 Any Software distributed under a given version of the Agreement may
+only be subsequently distributed under the same version of the Agreement
+or a subsequent version, subject to the provisions of Article 5.3.4.
+
+
+    Article 13 - GOVERNING LAW AND JURISDICTION
+
+13.1 The Agreement is governed by French law. The Parties agree to
+endeavor to seek an amicable solution to any disagreements or disputes
+that may arise during the performance of the Agreement.
+
+13.2 Failing an amicable solution within two (2) months as from their
+occurrence, and unless emergency proceedings are necessary, the
+disagreements or disputes shall be referred to the Paris Courts having
+jurisdiction, by the more diligent Party.
+
+
+Version 2.0 dated 2006-07-12.
+
+CeCill-C license:
+
+
+             CeCILL-C FREE SOFTWARE LICENSE AGREEMENT
+
+
+    Notice
+
+This Agreement is a Free Software license agreement that is the result
+of discussions between its authors in order to ensure compliance with
+the two main principles guiding its drafting:
+
+    * firstly, compliance with the principles governing the distribution
+      of Free Software: access to source code, broad rights granted to
+      users,
+    * secondly, the election of a governing law, French law, with which
+      it is conformant, both as regards the law of torts and
+      intellectual property law, and the protection that it offers to
+      both authors and holders of the economic rights over software.
+
+The authors of the CeCILL-C (for Ce[a] C[nrs] I[nria] L[logiciel] L[ibre])
+license are:
+
+Commissariat � l'Energie Atomique - CEA, a public scientific, technical
+and industrial research establishment, having its principal place of
+business at 25 rue Leblanc, immeuble Le Ponant D, 75015 Paris, France.
+
+Centre National de la Recherche Scientifique - CNRS, a public scientific
+and technological establishment, having its principal place of business
+at 3 rue Michel-Ange, 75794 Paris cedex 16, France.
+
+Institut National de Recherche en Informatique et en Automatique -
+INRIA, a public scientific and technological establishment, having its
+principal place of business at Domaine de Voluceau, Rocquencourt, BP
+105, 78153 Le Chesnay cedex, France.
+
+
+    Preamble
+
+The purpose of this Free Software license agreement is to grant users the
+right to modify and re-use the software governed by this license.
+
+The exercising of this right is conditional on the obligation to make
+available to the community the modifications made to the source code of the
+software so as to contribute to its evolution.
+
+In consideration of access to the source code and the rights to copy,
+modify and redistribute granted by the license, users are provided only
+with a limited warranty and the software's author, the holder of the
+economic rights, and the successive licensors only have limited liability.
+
+In this respect, the risks associated with loading, using, modifying
+and/or developing or reproducing the software by the user are brought to
+the user's attention, given its Free Software status, which may make it
+complicated to use, with the result that its use is reserved for
+developers and experienced professionals having in-depth computer
+knowledge. Users are therefore encouraged to load and test the suitability
+of the software as regards their requirements in conditions enabling the
+security of their systems and/or data to be ensured and, more generally, to
+use and operate it in the same conditions of security. This Agreement may be
+freely reproduced and published, provided it is not altered, and that no
+provisions are either added or removed herefrom.
+
+This Agreement may apply to any or all software for which the holder of
+the economic rights decides to submit the use thereof to its provisions.
+
+
+    Article 1 - DEFINITIONS
+
+For the purpose of this Agreement, when the following expressions
+commence with a capital letter, they shall have the following meaning:
+
+Agreement: means this license agreement, and its possible subsequent
+versions and annexes.
+
+Software: means the software in its Object Code and/or Source Code form
+and, where applicable, its documentation, "as is" when the Licensee
+accepts the Agreement.
+
+Initial Software: means the Software in its Source Code and possibly its
+Object Code form and, where applicable, its documentation, "as is" when
+it is first distributed under the terms and conditions of the Agreement.
+
+Modified Software: means the Software modified by at least one Integrated
+Contribution.
+
+Source Code: means all the Software's instructions and program lines to
+which access is required so as to modify the Software.
+
+Object Code: means the binary files originating from the compilation of
+the Source Code.
+
+Holder: means the holder(s) of the economic rights over the Initial
+Software.
+
+Licensee: means the Software user(s) having accepted the Agreement.
+
+Contributor: means a Licensee having made at least one Integrated
+Contribution.
+
+Licensor: means the Holder, or any other individual or legal entity, who
+distributes the Software under the Agreement.
+
+Integrated Contribution: means any or all modifications, corrections,
+translations, adaptations and/or new functions integrated into the Source
+Code by any or all Contributors.
+
+Related Module: means a set of sources files including their documentation
+that, without modification to the Source Code, enables supplementary
+functions or services in addition to those offered by the Software.
+
+Derivative Software: means any combination of the Software, modified or not,
+and of a Related Module.
+
+Parties: mean both the Licensee and the Licensor.
+
+These expressions may be used both in singular and plural form.
+
+
+    Article 2 - PURPOSE
+
+The purpose of the Agreement is the grant by the Licensor to the
+Licensee of a non-exclusive, transferable and worldwide license for the
+Software as set forth in Article 5 hereinafter for the whole term of the
+protection granted by the rights over said Software.
+
+
+    Article 3 - ACCEPTANCE
+
+3.1 The Licensee shall be deemed as having accepted the terms and
+conditions of this Agreement upon the occurrence of the first of the
+following events:
+
+    * (i) loading the Software by any or all means, notably, by
+      downloading from a remote server, or by loading from a physical
+      medium;
+    * (ii) the first time the Licensee exercises any of the rights
+      granted hereunder.
+
+3.2 One copy of the Agreement, containing a notice relating to the
+characteristics of the Software, to the limited warranty, and to the
+fact that its use is restricted to experienced users has been provided
+to the Licensee prior to its acceptance as set forth in Article 3.1
+hereinabove, and the Licensee hereby acknowledges that it has read and
+understood it.
+
+
+    Article 4 - EFFECTIVE DATE AND TERM
+
+
+      4.1 EFFECTIVE DATE
+
+The Agreement shall become effective on the date when it is accepted by
+the Licensee as set forth in Article 3.1.
+
+
+      4.2 TERM
+
+The Agreement shall remain in force for the entire legal term of
+protection of the economic rights over the Software.
+
+
+    Article 5 - SCOPE OF RIGHTS GRANTED
+
+The Licensor hereby grants to the Licensee, who accepts, the following
+rights over the Software for any or all use, and for the term of the
+Agreement, on the basis of the terms and conditions set forth hereinafter.
+
+Besides, if the Licensor owns or comes to own one or more patents
+protecting all or part of the functions of the Software or of its
+components, the Licensor undertakes not to enforce the rights granted by
+these patents against successive Licensees using, exploiting or
+modifying the Software. If these patents are transferred, the Licensor
+undertakes to have the transferees subscribe to the obligations set
+forth in this paragraph.
+
+
+      5.1 RIGHT OF USE
+
+The Licensee is authorized to use the Software, without any limitation
+as to its fields of application, with it being hereinafter specified
+that this comprises:
+
+   1. permanent or temporary reproduction of all or part of the Software
+      by any or all means and in any or all form.
+   2. loading, displaying, running, or storing the Software on any or
+      all medium.
+   3. entitlement to observe, study or test its operation so as to
+      determine the ideas and principles behind any or all constituent
+      elements of said Software. This shall apply when the Licensee
+      carries out any or all loading, displaying, running, transmission
+      or storage operation as regards the Software, that it is entitled
+      to carry out hereunder.
+
+
+      5.2 RIGHT OF MODIFICATION
+
+The right of modification includes the right to translate, adapt, arrange,
+or make any or all modifications to the Software, and the right to
+reproduce the resulting Software. It includes, in particular, the right
+to create a Derivative Software.
+
+The Licensee is authorized to make any or all modification to the
+Software provided that it includes an explicit notice that it is the
+author of said modification and indicates the date of the creation thereof.
+
+
+      5.3 RIGHT OF DISTRIBUTION
+
+In particular, the right of distribution includes the right to publish,
+transmit and communicate the Software to the general public on any or
+all medium, and by any or all means, and the right to market, either in
+consideration of a fee, or free of charge, one or more copies of the
+Software by any means.
+
+The Licensee is further authorized to distribute copies of the modified
+or unmodified Software to third parties according to the terms and
+conditions set forth hereinafter.
+
+
+        5.3.1 DISTRIBUTION OF SOFTWARE WITHOUT MODIFICATION
+
+The Licensee is authorized to distribute true copies of the Software in
+Source Code or Object Code form, provided that said distribution
+complies with all the provisions of the Agreement and is accompanied by:
+
+   1. a copy of the Agreement,
+
+   2. a notice relating to the limitation of both the Licensor's
+      warranty and liability as set forth in Articles 8 and 9,
+
+and that, in the event that only the Object Code of the Software is
+redistributed, the Licensee allows effective access to the full Source Code
+of the Software at a minimum during the entire period of its distribution
+of the Software, it being understood that the additional cost of acquiring
+the Source Code shall not exceed the cost of transferring the data.
+
+
+        5.3.2 DISTRIBUTION OF MODIFIED SOFTWARE
+
+When the Licensee makes an Integrated Contribution to the Software, the terms
+and conditions for the distribution of the resulting Modified Software become
+subject to all the provisions of this Agreement.
+
+The Licensee is authorized to distribute the Modified Software, in source
+code or object code form, provided that said distribution complies with all
+the provisions of the Agreement and is accompanied by:
+
+   1. a copy of the Agreement,
+   2. a notice relating to the limitation of both the Licensor's warranty and
+      liability as set forth in Articles 8 and 9,
+
+and that, in the event that only the object code of the Modified Software is
+redistributed, the Licensee allows effective access to the full source code
+of the Modified Software at a minimum during the entire period of its
+distribution of the Modified Software, it being understood that the
+additional cost of acquiring the source code shall not exceed the cost of
+transferring the data.
+
+        5.3.3 DISTRIBUTION OF DERIVATIVE SOFTWARE
+
+When the Licensee creates Derivative Software, this Derivative Software may
+be distributed under a license agreement other than this Agreement, subject
+to compliance with the requirement to include a notice concerning the rights
+over the Software as defined in Article 6.4. In the event the creation of the
+Derivative Software required modification of the Source Code, the Licensee
+undertakes that:
+
+   1. the resulting Modified Software will be governed by this Agreement,
+   2. the Integrated Contributions in the resulting Modified Software will be
+      clearly identified and documented,
+   3. the Licensee will allow effective access to the source code of the
+      Modified Software, at a minimum during the entire period of
+      distribution of the Derivative Software, such that such modifications
+      may be carried over in a subsequent version of the Software; it being
+      understood that the additional cost of purchasing the source code of
+      the Modified Software shall not exceed the cost of transferring the
+      data.
+
+
+        5.3.4 COMPATIBILITY WITH THE CeCILL LICENSE
+
+When a Modified Software contains an Integrated Contribution subject to the
+CeCill license agreement, or when a Derivative Software contains a Related
+Module subject to the CeCill license agreement, the provisions set forth in
+the third item of Article 6.4 are optional.
+
+
+    Article 6 - INTELLECTUAL PROPERTY
+
+
+      6.1 OVER THE INITIAL SOFTWARE
+
+The Holder owns the economic rights over the Initial Software. Any or
+all use of the Initial Software is subject to compliance with the terms
+and conditions under which the Holder has elected to distribute its work
+and no one shall be entitled to modify the terms and conditions for the
+distribution of said Initial Software.
+
+The Holder undertakes that the Initial Software will remain ruled at
+least by the current license, for the duration set forth in Article 4.2.
+
+
+      6.2 OVER THE INTEGRATED CONTRIBUTIONS
+
+A Licensee who develops an Integrated Contribution is the owner of the
+intellectual property rights over this Contribution as defined by
+applicable law.
+
+
+      6.3 OVER THE RELATED MODULES
+
+A Licensee who develops an Related Module is the owner of the
+intellectual property rights over this Related Module as defined by
+applicable law and is free to choose the type of agreement that shall
+govern its distribution under the conditions defined in Article 5.3.3.
+
+
+      6.4 NOTICE OF RIGHTS
+
+The Licensee expressly undertakes:
+
+   1. not to remove, or modify, in any manner, the intellectual property
+      notices attached to the Software;
+   2. to reproduce said notices, in an identical manner, in the copies
+      of the Software modified or not;
+   3. to ensure that use of the Software, its intellectual property
+      notices and the fact that it is governed by the Agreement is
+      indicated in a text that is easily accessible, specifically from
+      the interface of any Derivative Software.
+
+The Licensee undertakes not to directly or indirectly infringe the
+intellectual property rights of the Holder and/or Contributors on the
+Software and to take, where applicable, vis-�-vis its staff, any and all
+measures required to ensure respect of said intellectual property rights
+of the Holder and/or Contributors.
+
+
+    Article 7 - RELATED SERVICES
+
+7.1 Under no circumstances shall the Agreement oblige the Licensor to
+provide technical assistance or maintenance services for the Software.
+
+However, the Licensor is entitled to offer this type of services. The
+terms and conditions of such technical assistance, and/or such
+maintenance, shall be set forth in a separate instrument. Only the
+Licensor offering said maintenance and/or technical assistance services
+shall incur liability therefor.
+
+7.2 Similarly, any Licensor is entitled to offer to its licensees, under
+its sole responsibility, a warranty, that shall only be binding upon
+itself, for the redistribution of the Software and/or the Modified
+Software, under terms and conditions that it is free to decide. Said
+warranty, and the financial terms and conditions of its application,
+shall be subject of a separate instrument executed between the Licensor
+and the Licensee.
+
+
+    Article 8 - LIABILITY
+
+8.1 Subject to the provisions of Article 8.2, the Licensee shall be
+entitled to claim compensation for any direct loss it may have suffered
+from the Software as a result of a fault on the part of the relevant
+Licensor, subject to providing evidence thereof.
+
+8.2 The Licensor's liability is limited to the commitments made under
+this Agreement and shall not be incurred as a result of in particular:
+(i) loss due the Licensee's total or partial failure to fulfill its
+obligations, (ii) direct or consequential loss that is suffered by the
+Licensee due to the use or performance of the Software, and (iii) more
+generally, any consequential loss. In particular the Parties expressly
+agree that any or all pecuniary or business loss (i.e. loss of data,
+loss of profits, operating loss, loss of customers or orders,
+opportunity cost, any disturbance to business activities) or any or all
+legal proceedings instituted against the Licensee by a third party,
+shall constitute consequential loss and shall not provide entitlement to
+any or all compensation from the Licensor.
+
+
+    Article 9 - WARRANTY
+
+9.1 The Licensee acknowledges that the scientific and technical
+state-of-the-art when the Software was distributed did not enable all
+possible uses to be tested and verified, nor for the presence of
+possible defects to be detected. In this respect, the Licensee's
+attention has been drawn to the risks associated with loading, using,
+modifying and/or developing and reproducing the Software which are
+reserved for experienced users.
+
+The Licensee shall be responsible for verifying, by any or all means,
+the suitability of the product for its requirements, its good working order,
+and for ensuring that it shall not cause damage to either persons or
+properties.
+
+9.2 The Licensor hereby represents, in good faith, that it is entitled
+to grant all the rights over the Software (including in particular the
+rights set forth in Article 5).
+
+9.3 The Licensee acknowledges that the Software is supplied "as is" by
+the Licensor without any other express or tacit warranty, other than
+that provided for in Article 9.2 and, in particular, without any warranty
+as to its commercial value, its secured, safe, innovative or relevant
+nature.
+
+Specifically, the Licensor does not warrant that the Software is free
+from any error, that it will operate without interruption, that it will
+be compatible with the Licensee's own equipment and software
+configuration, nor that it will meet the Licensee's requirements.
+
+9.4 The Licensor does not either expressly or tacitly warrant that the
+Software does not infringe any third party intellectual property right
+relating to a patent, software or any other property right. Therefore,
+the Licensor disclaims any and all liability towards the Licensee
+arising out of any or all proceedings for infringement that may be
+instituted in respect of the use, modification and redistribution of the
+Software. Nevertheless, should such proceedings be instituted against
+the Licensee, the Licensor shall provide it with technical and legal
+assistance for its defense. Such technical and legal assistance shall be
+decided on a case-by-case basis between the relevant Licensor and the
+Licensee pursuant to a memorandum of understanding. The Licensor
+disclaims any and all liability as regards the Licensee's use of the
+name of the Software. No warranty is given as regards the existence of
+prior rights over the name of the Software or as regards the existence
+of a trademark.
+
+
+    Article 10 - TERMINATION
+
+10.1 In the event of a breach by the Licensee of its obligations
+hereunder, the Licensor may automatically terminate this Agreement
+thirty (30) days after notice has been sent to the Licensee and has
+remained ineffective.
+
+10.2 A Licensee whose Agreement is terminated shall no longer be
+authorized to use, modify or distribute the Software. However, any
+licenses that it may have granted prior to termination of the Agreement
+shall remain valid subject to their having been granted in compliance
+with the terms and conditions hereof.
+
+
+    Article 11 - MISCELLANEOUS
+
+
+      11.1 EXCUSABLE EVENTS
+
+Neither Party shall be liable for any or all delay, or failure to
+perform the Agreement, that may be attributable to an event of force
+majeure, an act of God or an outside cause, such as defective
+functioning or interruptions of the electricity or telecommunications
+networks, network paralysis following a virus attack, intervention by
+government authorities, natural disasters, water damage, earthquakes,
+fire, explosions, strikes and labor unrest, war, etc.
+
+11.2 Any failure by either Party, on one or more occasions, to invoke
+one or more of the provisions hereof, shall under no circumstances be
+interpreted as being a waiver by the interested Party of its right to
+invoke said provision(s) subsequently.
+
+11.3 The Agreement cancels and replaces any or all previous agreements,
+whether written or oral, between the Parties and having the same
+purpose, and constitutes the entirety of the agreement between said
+Parties concerning said purpose. No supplement or modification to the
+terms and conditions hereof shall be effective as between the Parties
+unless it is made in writing and signed by their duly authorized
+representatives.
+
+11.4 In the event that one or more of the provisions hereof were to
+conflict with a current or future applicable act or legislative text,
+said act or legislative text shall prevail, and the Parties shall make
+the necessary amendments so as to comply with said act or legislative
+text. All other provisions shall remain effective. Similarly, invalidity
+of a provision of the Agreement, for any reason whatsoever, shall not
+cause the Agreement as a whole to be invalid.
+
+
+      11.5 LANGUAGE
+
+The Agreement is drafted in both French and English and both versions
+are deemed authentic.
+
+
+    Article 12 - NEW VERSIONS OF THE AGREEMENT
+
+12.1 Any person is authorized to duplicate and distribute copies of this
+Agreement.
+
+12.2 So as to ensure coherence, the wording of this Agreement is
+protected and may only be modified by the authors of the License, who
+reserve the right to periodically publish updates or new versions of the
+Agreement, each with a separate number. These subsequent versions may
+address new issues encountered by Free Software.
+
+12.3 Any Software distributed under a given version of the Agreement
+may only be subsequently distributed under the same version of the
+Agreement or a subsequent version.
+
+
+    Article 13 - GOVERNING LAW AND JURISDICTION
+
+13.1 The Agreement is governed by French law. The Parties agree to
+endeavor to seek an amicable solution to any disagreements or disputes
+that may arise during the performance of the Agreement.
+
+13.2 Failing an amicable solution within two (2) months as from their
+occurrence, and unless emergency proceedings are necessary, the
+disagreements or disputes shall be referred to the Paris Courts having
+jurisdiction, by the more diligent Party.
+
+
+Version 1.0 dated 2006-07-12.
diff --git a/resources/debian/docs b/resources/debian/docs
new file mode 100644
index 0000000..6d10dce
--- /dev/null
+++ b/resources/debian/docs
@@ -0,0 +1 @@
+changelog
diff --git a/resources/debian/rules b/resources/debian/rules
new file mode 100755
index 0000000..dc2d6dc
--- /dev/null
+++ b/resources/debian/rules
@@ -0,0 +1,80 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+# Sample debian/rules that uses debhelper.
+# GNU copyright 1997 to 1999 by Joey Hess.
+#
+# Modified to make a template file for a multi-binary package with separated
+# build-arch and build-indep targets  by Bill Allombert 2001
+#
+# Modified in order to update the package by François-Xavier Dupé 2007
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+# This has to be exported to make some magic below work.
+export DH_OPTIONS
+
+CFLAGS = -Wall -g
+
+ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
+	CFLAGS += -O0
+else
+	CFLAGS += -O3
+endif
+ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
+	INSTALL_PROGRAM += -s
+endif
+
+build: build-indep-stamp
+build-indep-stamp:
+	#cd examples && $(MAKE) "LDFLAGS=-lm -lpthread"
+	#cd examples && $(MAKE) clean
+	#$(MAKE) doc
+	touch build-indep-stamp
+
+clean:
+	dh_testdir
+	dh_testroot
+	rm -f build-arch-stamp build-indep-stamp
+	dh_clean 
+
+install:
+	dh_testdir
+	dh_testroot
+	dh_clean -k 
+	dh_installdirs 
+	dh_install
+
+binary-indep: build install
+	dh_testdir
+	dh_testroot
+	dh_installchangelogs 
+	dh_installdocs
+	dh_compress
+#	dh_installmenu
+#	dh_installdebconf	
+#	dh_installlogrotate	
+#	dh_installemacsen
+#	dh_installpam
+#	dh_installmime
+#	dh_installinit
+#	dh_installcron
+#	dh_installinfo
+#	dh_installman
+	dh_link
+	dh_strip
+	dh_fixperms
+#	dh_perl
+#	dh_python
+	dh_makeshlibs
+	dh_installdeb
+	dh_shlibdeps
+	dh_gencontrol
+	dh_md5sums
+	dh_builddeb
+
+# Build architecture dependant packages using the common target.
+binary-arch: build install
+
+binary: binary-indep binary-arch
+.PHONY: build clean binary-indep binary-arch binary install install-indep install-arch
diff --git a/resources/project_win_visualcpp/project_win_visualcpp.sln b/resources/project_win_visualcpp/project_win_visualcpp.sln
new file mode 100644
index 0000000..da834dc
--- /dev/null
+++ b/resources/project_win_visualcpp/project_win_visualcpp.sln
@@ -0,0 +1,20 @@
+
+Microsoft Visual Studio Solution File, Format Version 10.00
+# Visual C++ Express 2008
+Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "project_win_visualcpp", "project_win_visualcpp.vcproj", "{9A50ACD6-B1AB-4AAF-A85C-D5E388EF024B}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Win32 = Debug|Win32
+		Release|Win32 = Release|Win32
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{9A50ACD6-B1AB-4AAF-A85C-D5E388EF024B}.Debug|Win32.ActiveCfg = Debug|Win32
+		{9A50ACD6-B1AB-4AAF-A85C-D5E388EF024B}.Debug|Win32.Build.0 = Debug|Win32
+		{9A50ACD6-B1AB-4AAF-A85C-D5E388EF024B}.Release|Win32.ActiveCfg = Release|Win32
+		{9A50ACD6-B1AB-4AAF-A85C-D5E388EF024B}.Release|Win32.Build.0 = Release|Win32
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+EndGlobal
diff --git a/resources/project_win_visualcpp/project_win_visualcpp.suo b/resources/project_win_visualcpp/project_win_visualcpp.suo
new file mode 100644
index 0000000..29e3faf
Binary files /dev/null and b/resources/project_win_visualcpp/project_win_visualcpp.suo differ
diff --git a/resources/project_win_visualcpp/project_win_visualcpp.vcproj b/resources/project_win_visualcpp/project_win_visualcpp.vcproj
new file mode 100644
index 0000000..0c41a96
--- /dev/null
+++ b/resources/project_win_visualcpp/project_win_visualcpp.vcproj
@@ -0,0 +1,200 @@
+<?xml version="1.0" encoding="Windows-1252"?>
+<VisualStudioProject
+	ProjectType="Visual C++"
+	Version="9,00"
+	Name="project_win_visualcpp"
+	ProjectGUID="{9A50ACD6-B1AB-4AAF-A85C-D5E388EF024B}"
+	RootNamespace="project_win_visualcpp"
+	Keyword="Win32Proj"
+	TargetFrameworkVersion="196613"
+	>
+	<Platforms>
+		<Platform
+			Name="Win32"
+		/>
+	</Platforms>
+	<ToolFiles>
+	</ToolFiles>
+	<Configurations>
+		<Configuration
+			Name="Debug|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="1"
+			CharacterSet="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				AdditionalOptions="&#x0D;&#x0A;"
+				Optimization="0"
+				AdditionalIncludeDirectories="..\..\"
+				PreprocessorDefinitions="WIN32;_DEBUG;_CONSOLE"
+				MinimalRebuild="true"
+				BasicRuntimeChecks="3"
+				RuntimeLibrary="3"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="4"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="2"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+		<Configuration
+			Name="Release|Win32"
+			OutputDirectory="$(SolutionDir)$(ConfigurationName)"
+			IntermediateDirectory="$(ConfigurationName)"
+			ConfigurationType="1"
+			CharacterSet="1"
+			WholeProgramOptimization="1"
+			>
+			<Tool
+				Name="VCPreBuildEventTool"
+			/>
+			<Tool
+				Name="VCCustomBuildTool"
+			/>
+			<Tool
+				Name="VCXMLDataGeneratorTool"
+			/>
+			<Tool
+				Name="VCWebServiceProxyGeneratorTool"
+			/>
+			<Tool
+				Name="VCMIDLTool"
+			/>
+			<Tool
+				Name="VCCLCompilerTool"
+				Optimization="3"
+				EnableIntrinsicFunctions="true"
+				AdditionalIncludeDirectories="..\..\"
+				PreprocessorDefinitions="WIN32;NDEBUG;_CONSOLE"
+				RuntimeLibrary="2"
+				EnableFunctionLevelLinking="true"
+				UsePrecompiledHeader="0"
+				WarningLevel="3"
+				DebugInformationFormat="3"
+			/>
+			<Tool
+				Name="VCManagedResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCResourceCompilerTool"
+			/>
+			<Tool
+				Name="VCPreLinkEventTool"
+			/>
+			<Tool
+				Name="VCLinkerTool"
+				LinkIncremental="1"
+				GenerateDebugInformation="true"
+				SubSystem="1"
+				OptimizeReferences="2"
+				EnableCOMDATFolding="2"
+				TargetMachine="1"
+			/>
+			<Tool
+				Name="VCALinkTool"
+			/>
+			<Tool
+				Name="VCManifestTool"
+			/>
+			<Tool
+				Name="VCXDCMakeTool"
+			/>
+			<Tool
+				Name="VCBscMakeTool"
+			/>
+			<Tool
+				Name="VCFxCopTool"
+			/>
+			<Tool
+				Name="VCAppVerifierTool"
+			/>
+			<Tool
+				Name="VCPostBuildEventTool"
+			/>
+		</Configuration>
+	</Configurations>
+	<References>
+	</References>
+	<Files>
+		<Filter
+			Name="Fichiers sources"
+			Filter="cpp;c;cc;cxx;def;odl;idl;hpj;bat;asm;asmx"
+			UniqueIdentifier="{4FC737F1-C7A5-4376-A066-2A32D752A2FF}"
+			>
+			<File
+				RelativePath="..\..\examples\CImg_demo.cpp"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Fichiers d'en-t�te"
+			Filter="h;hpp;hxx;hm;inl;inc;xsd"
+			UniqueIdentifier="{93995380-89BD-4b04-88EB-625FBE52EBFB}"
+			>
+			<File
+				RelativePath="..\..\CImg.h"
+				>
+			</File>
+		</Filter>
+		<Filter
+			Name="Fichiers de ressources"
+			Filter="rc;ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe;resx;tiff;tif;png;wav"
+			UniqueIdentifier="{67DA6AB6-F800-4c08-8B7A-83BB121AAD01}"
+			>
+		</Filter>
+	</Files>
+	<Globals>
+	</Globals>
+</VisualStudioProject>

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/debian-science/packages/cimg.git



More information about the debian-science-commits mailing list